Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1VGgMw-0004Ws-HV for pgsql-hackers@arkaria.postgresql.org; Tue, 03 Sep 2013 02:29:27 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.80) (envelope-from ) id 1VGgMv-0006lG-RL for pgsql-hackers@arkaria.postgresql.org; Tue, 03 Sep 2013 02:29:25 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1VGgMr-0006l2-DB for pgsql-hackers@postgresql.org; Tue, 03 Sep 2013 02:29:22 +0000 Received: from cluster-k.mailcontrol.com ([116.50.57.190]) by magus.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1VGgMg-0005AJ-SJ for pgsql-hackers@postgresql.org; Tue, 03 Sep 2013 02:29:18 +0000 Received: from mail1.fujitsu.com.au (mail1.fujitsu.com.au [216.14.192.229]) by rly05k.srv.mailcontrol.com (MailControl) with ESMTP id r832SwNw014496 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL) for ; Tue, 3 Sep 2013 03:29:01 +0100 Received: from localhost (localhost.localdomain [127.0.0.1]) by mail1.fujitsu.com.au (Postfix) with ESMTP id 7AF4429D65C for ; Tue, 3 Sep 2013 12:28:58 +1000 (EST) X-Virus-Scanned: amavisd-new at mail1.fujitsu.com.au Received: from mail1.fujitsu.com.au ([127.0.0.1]) by localhost (mail1.fujitsu.com.au [127.0.0.1]) (amavisd-new, port 10024) with LMTP id Z7Zfzk2aKazO for ; Tue, 3 Sep 2013 12:28:58 +1000 (EST) Received: from SYD0633.au.fujitsu.com (unknown [137.172.78.131]) by mail1.fujitsu.com.au (Postfix) with ESMTP id 04FEA29D610 for ; Tue, 3 Sep 2013 12:28:58 +1000 (EST) Received: from mailfilter1.au.fjanz.com (137.172.19.78) by SYD0632.au.fujitsu.com (137.172.78.131) with Microsoft SMTP Server id 8.3.83.0; Tue, 3 Sep 2013 12:28:57 +1000 Received: from RadwareLoad Balancer (137.172.78.70) [137.172.78.70] by mailfilter1.au.fjanz.com - Websense Email Security (7.0.0); Tue, 03 Sep 2013 12:28:56 +1000 Received: from FALEX03.au.fjanz.com ([137.172.72.103]) by SYD0630.au.fjanz.com with Microsoft SMTPSVC(6.0.3790.4675); Tue, 3 Sep 2013 12:28:46 +1000 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-Class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----_=_NextPart_001_01CEA84D.50D1ED6B" Subject: UTF8 national character data type support WIP patch and list of open issues. Date: Tue, 3 Sep 2013 12:28:45 +1000 Message-ID: X-MS-Has-Attach: yes X-MS-TNEF-Correlator: Thread-Topic: UTF8 national character data type support WIP patch and list of open issues. Thread-Index: Ac6oRy5gvCHnalfyQ5GZx+I3CsKYPQ== From: "Boguk, Maksym" To: X-OriginalArrivalTime: 03 Sep 2013 02:28:46.0570 (UTC) FILETIME=[51073CA0:01CEA84D] X-SEF-Processed: 7_0_0_00239__2013_09_03_12_28_57 X-Scanned-By: MailControl 17434.0 (www.mailcontrol.com) on 10.75.0.115 X-Pg-Spam-Score: -2.6 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-hackers Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org ------_=_NextPart_001_01CEA84D.50D1ED6B Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi, As part of my job I started developing in-core support for the UTF8 National Character types (national character/national character variable). I attached current WIP patch (against HEAD) to community review. Target usage: ability to store UTF8 national characters in some selected fields inside a single-byte encoded database. For sample if I have a ru-RU.koi8r encoded database with mostly Russian text inside, it would be nice to be able store an Japanese text in one field without converting the whole database to UTF8 (convert such database to UTF8 easily could almost double the database size even if only one field in whole database will use any symbols outside of ru-RU.koi8r encoding). What has been done: 1)Addition of new string data types NATIONAL CHARACTER and NATIONAL CHARACTER VARIABLE.=20 These types differ from the char/varchar data types in one important respect: NATIONAL string types are always have UTF8 encoding even (independent from used database encoding). Of course that lead to encoding conversion overhead when comparing NATIONAL string types with common string types (that is expected and unavoidable). 2)Some ECPG support for these types 3)Some documentation patch (not finished) What need to be done: 1)Full set of string functions and operators for NATIONAL types (we could not use generic text functions because they assume that the stings will have database encoding). Now only basic set implemented. 2)Need implement some way to define default collation for a NATIONAL types. 3)Need implement some way to input UTF8 characters into NATIONAL types via SQL (there are serious open problem... it will be defined later in the text). Most serious open problem that the patch in current state doesn't allow input/output UTF8 symbols which could not be represented in used database encoding into NATIONAL fields. It happen because encoding conversion from the client_encoding to the database encoding happens before syntax analyze/parse stage and throw an error for symbols which could not be represented. I don't see any good solution to this problem except made whole codebase use an UTF8 encoding for the all internal operations with huge performance hit. May be someone have good idea how to deal with this issue. That is really WIP patch (with lots things on todo list/required polish). Kindly please tell me what you think about this idea/patch in general. PS: It is my first patch to PostgreSQL so there are a lot of space to improvement/style for sure. Kind Regards, Maksym ------_=_NextPart_001_01CEA84D.50D1ED6B Content-Type: application/octet-stream; name="pgHEAD_UTF8NCHAR.patch" Content-Transfer-Encoding: base64 Content-Description: pgHEAD_UTF8NCHAR.patch Content-Disposition: attachment; filename="pgHEAD_UTF8NCHAR.patch" ZGlmZiAtVSA1IC1OIC1yIC13IC4uL29yaWcuSEVBRC9kb2Mvc3JjL3NnbWwv ZGF0YXR5cGUuc2dtbCAuL2RvYy9zcmMvc2dtbC9kYXRhdHlwZS5zZ21sCi0t LSAuLi9vcmlnLkhFQUQvZG9jL3NyYy9zZ21sL2RhdGF0eXBlLnNnbWwJMjAx My0wOC0xOSAyMDoyMjowNi4wMDAwMDAwMDAgLTA0MDAKKysrIC4vZG9jL3Ny Yy9zZ21sL2RhdGF0eXBlLnNnbWwJMjAxMy0wOC0xOSAyMDo1NDowMC4wMDAw MDAwMDAgLTA0MDAKQEAgLTE1OSwxMCArMTU5LDIyIEBACiAgICAgICAgPGVu dHJ5PjwvZW50cnk+CiAgICAgICAgPGVudHJ5PmN1cnJlbmN5IGFtb3VudDwv ZW50cnk+CiAgICAgICA8L3Jvdz4KIAogICAgICAgPHJvdz4KKyAgICAgICA8 ZW50cnk+PHR5cGU+bmF0aW9uYWwgY2hhcmFjdGVyIHZhcnlpbmcgWyAoPHJl cGxhY2VhYmxlPm48L3JlcGxhY2VhYmxlPikgXTwvdHlwZT48L2VudHJ5Pgor ICAgICAgIDxlbnRyeT48dHlwZT5udmFyY2hhciBbICg8cmVwbGFjZWFibGU+ bjwvcmVwbGFjZWFibGU+KSBdPC90eXBlPjwvZW50cnk+CisgICAgICAgPGVu dHJ5PnZhcmlhYmxlLWxlbmd0aCBuYXRpb25hbCBjaGFyYWN0ZXIgc3RyaW5n PC9lbnRyeT4KKyAgICAgIDwvcm93PgorCisgICAgICA8cm93PgorICAgICAg IDxlbnRyeT48dHlwZT5uYXRpb25hbCBjaGFyYWN0ZXIgWyAoPHJlcGxhY2Vh YmxlPm48L3JlcGxhY2VhYmxlPikgXTwvdHlwZT48L2VudHJ5PgorICAgICAg IDxlbnRyeT48dHlwZT5uY2hhciBbICg8cmVwbGFjZWFibGU+bjwvcmVwbGFj ZWFibGU+KSBdPC90eXBlPjwvZW50cnk+CisgICAgICAgPGVudHJ5PmZpeGVk LWxlbmd0aCBuYXRpb25hbCBjaGFyYWN0ZXIgc3RyaW5nPC9lbnRyeT4KKyAg ICAgIDwvcm93PgorCisgICAgICA8cm93PgogICAgICAgIDxlbnRyeT48dHlw ZT5udW1lcmljIFsgKDxyZXBsYWNlYWJsZT5wPC9yZXBsYWNlYWJsZT4sCiAg ICAgICAgICA8cmVwbGFjZWFibGU+czwvcmVwbGFjZWFibGU+KSBdPC90eXBl PjwvZW50cnk+CiAgICAgICAgPGVudHJ5Pjx0eXBlPmRlY2ltYWwgWyAoPHJl cGxhY2VhYmxlPnA8L3JlcGxhY2VhYmxlPiwKICAgICAgICAgIDxyZXBsYWNl YWJsZT5zPC9yZXBsYWNlYWJsZT4pIF08L3R5cGU+PC9lbnRyeT4KICAgICAg ICA8ZW50cnk+ZXhhY3QgbnVtZXJpYyBvZiBzZWxlY3RhYmxlIHByZWNpc2lv bjwvZW50cnk+CkBAIC00NjYxLDYgKzQ2NzMsMTk1IEBACiAgICAgPHR5cGU+ aW50ZXJuYWw8Lz4gYXJndW1lbnQuCiAgICA8L3BhcmE+CiAKICAgPC9zZWN0 MT4KIAorICA8c2VjdDEgaWQ9ImRhdGF0eXBlLW5hdGlvbmFsLWNoYXJhY3Rl ciI+CisgICA8dGl0bGU+TmF0aW9uYWwgQ2hhcmFjdGVyIFR5cGVzPC90aXRs ZT4KKworICAgPGluZGV4dGVybSB6b25lPSJkYXRhdHlwZS1uYXRpb25hbC1j aGFyYWN0ZXIiPgorICAgIDxwcmltYXJ5Pm5hdGlvbmFsIGNoYXJhY3RlciBz dHJpbmc8L3ByaW1hcnk+CisgICAgPHNlY29uZGFyeT5kYXRhIHR5cGVzPC9z ZWNvbmRhcnk+CisgICA8L2luZGV4dGVybT4KKworICAgPGluZGV4dGVybT4K KyAgICA8cHJpbWFyeT5zdHJpbmc8L3ByaW1hcnk+CisgICAgPHNlZT5uYXRp b25hbCBjaGFyYWN0ZXIgc3RyaW5nPC9zZWU+CisgICA8L2luZGV4dGVybT4K KworICAgPGluZGV4dGVybSB6b25lPSJkYXRhdHlwZS1uYXRpb25hbC1jaGFy YWN0ZXIiPgorICAgIDxwcmltYXJ5Pm5hdGlvbmFsIGNoYXJhY3RlcjwvcHJp bWFyeT4KKyAgIDwvaW5kZXh0ZXJtPgorCisgICA8aW5kZXh0ZXJtIHpvbmU9 ImRhdGF0eXBlLW5hdGlvbmFsLWNoYXJhY3RlciI+CisgICAgPHByaW1hcnk+ bmF0aW9uYWwgY2hhcmFjdGVyIHZhcnlpbmc8L3ByaW1hcnk+CisgICA8L2lu ZGV4dGVybT4KKworICAgPGluZGV4dGVybSB6b25lPSJkYXRhdHlwZS1uYXRp b25hbC1jaGFyYWN0ZXIiPgorICAgIDxwcmltYXJ5Pm5jaGFyPC9wcmltYXJ5 PgorICAgPC9pbmRleHRlcm0+CisKKyAgIDxpbmRleHRlcm0gem9uZT0iZGF0 YXR5cGUtbmF0aW9uYWwtY2hhcmFjdGVyIj4KKyAgICA8cHJpbWFyeT5udmFy Y2hhcjwvcHJpbWFyeT4KKyAgIDwvaW5kZXh0ZXJtPgorCisgICAgPHRhYmxl IGlkPSJkYXRhdHlwZS1uYXRpb25hbC1jaGFyYWN0ZXItdGFibGUiPgorICAg ICA8dGl0bGU+TmF0aW9uYWwgQ2hhcmFjdGVyIFR5cGVzPC90aXRsZT4KKyAg ICAgPHRncm91cCBjb2xzPSIyIj4KKyAgICAgIDx0aGVhZD4KKyAgICAgICA8 cm93PgorICAgICAgICA8ZW50cnk+TmFtZTwvZW50cnk+CisgICAgICAgIDxl bnRyeT5EZXNjcmlwdGlvbjwvZW50cnk+CisgICAgICAgPC9yb3c+CisgICAg ICA8L3RoZWFkPgorICAgICAgPHRib2R5PgorICAgICAgIDxyb3c+CisgICAg ICAgIDxlbnRyeT48dHlwZT5uYXRpb25hbCBjaGFyYWN0ZXIgdmFyeWluZyg8 cmVwbGFjZWFibGU+bjwvPik8L3R5cGU+LCA8dHlwZT5udmFyY2hhcig8cmVw bGFjZWFibGU+bjwvPik8L3R5cGU+PC9lbnRyeT4KKyAgICAgICAgPGVudHJ5 PnZhcmlhYmxlLWxlbmd0aCB3aXRoIGxpbWl0PC9lbnRyeT4KKyAgICAgICA8 L3Jvdz4KKyAgICAgICA8cm93PgorICAgICAgICA8ZW50cnk+PHR5cGU+bmF0 aW9uYWwgY2hhcmFjdGVyKDxyZXBsYWNlYWJsZT5uPC8+KTwvdHlwZT4sIDx0 eXBlPm5jaGFyKDxyZXBsYWNlYWJsZT5uPC8+KTwvdHlwZT48L2VudHJ5Pgor ICAgICAgICA8ZW50cnk+Zml4ZWQtbGVuZ3RoLCBibGFuayBwYWRkZWQ8L2Vu dHJ5PgorICAgICAgIDwvcm93PgorICAgICA8L3Rib2R5PgorICAgICA8L3Rn cm91cD4KKyAgICA8L3RhYmxlPgorCisgICA8cGFyYT4KKyAgICA8eHJlZiBs aW5rZW5kPSJkYXRhdHlwZS1uYXRpb25hbC1jaGFyYWN0ZXItdGFibGUiPiBz aG93cyB0aGUKKyAgICBnZW5lcmFsLXB1cnBvc2UgbmF0aW9uYWwgY2hhcmFj dGVyIHR5cGVzIGF2YWlsYWJsZSBpbgorICAgIDxwcm9kdWN0bmFtZT5Qb3N0 Z3JlU1FMPC9wcm9kdWN0bmFtZT4uCisgICA8L3BhcmE+CisKKyAgIDxwYXJh PgorICAgIDxhY3JvbnltPlNRTDwvYWNyb255bT4gZGVmaW5lcyB0d28gcHJp bWFyeSBuYXRpb25hbCBjaGFyYWN0ZXIgdHlwZXM6CisgICAgPHR5cGU+bmF0 aW9uYWwgY2hhcmFjdGVyIHZhcnlpbmcoPHJlcGxhY2VhYmxlPm48Lz4pPC90 eXBlPiBhbmQKKyAgICA8dHlwZT5uYXRpb25hbCBjaGFyYWN0ZXIoPHJlcGxh Y2VhYmxlPm48Lz4pPC90eXBlPiwgd2hlcmUgPHJlcGxhY2VhYmxlPm48Lz4K KyAgICBpcyBhIHBvc2l0aXZlIGludGVnZXIuICBCb3RoIG9mIHRoZXNlIHR5 cGVzIGNhbiBzdG9yZSBzdHJpbmdzIHVwIHRvCisgICAgPHJlcGxhY2VhYmxl Pm48Lz4gbmF0aW9uYWwgY2hhcmFjdGVycyAobm90IGJ5dGVzKSBpbiBsZW5n dGguICBBbiBhdHRlbXB0IHRvIHN0b3JlIGEKKyAgICBsb25nZXIgc3RyaW5n IGludG8gYSBjb2x1bW4gb2YgdGhlc2UgdHlwZXMgd2lsbCByZXN1bHQgaW4g YW4KKyAgICBlcnJvciwgdW5sZXNzIHRoZSBleGNlc3MgY2hhcmFjdGVycyBh cmUgYWxsIHNwYWNlcywgaW4gd2hpY2ggY2FzZQorICAgIHRoZSBzdHJpbmcg d2lsbCBiZSB0cnVuY2F0ZWQgdG8gdGhlIG1heGltdW0gbGVuZ3RoLiAKKyAg ICBJZiB0aGUgc3RyaW5nIHRvIGJlIHN0b3JlZCBpcyBzaG9ydGVyIHRoYW4g dGhlIGRlY2xhcmVkCisgICAgbGVuZ3RoLCB2YWx1ZXMgb2YgdHlwZSA8dHlw ZT5uYXRpb25hbCBjaGFyYWN0ZXI8L3R5cGU+IHdpbGwgYmUgc3BhY2UtcGFk ZGVkOworICAgIHZhbHVlcyBvZiB0eXBlIDx0eXBlPm5hdGlvbmFsIGNoYXJh Y3RlciB2YXJ5aW5nPC90eXBlPiB3aWxsIHNpbXBseSBzdG9yZSB0aGUKKyAg ICBzaG9ydGVyCisgICAgc3RyaW5nLgorICAgPC9wYXJhPgorCisgICA8cGFy YT4KKyAgICBJZiBvbmUgZXhwbGljaXRseSBjYXN0cyBhIHZhbHVlIHRvIDx0 eXBlPm5hdGlvbmFsIGNoYXJhY3RlcgorICAgIHZhcnlpbmcoPHJlcGxhY2Vh YmxlPm48Lz4pPC90eXBlPiBvcgorICAgIDx0eXBlPm5hdGlvbmFsIGNoYXJh Y3Rlcig8cmVwbGFjZWFibGU+bjwvPik8L3R5cGU+LCB0aGVuIGFuIG92ZXIt bGVuZ3RoCisgICAgdmFsdWUgd2lsbCBiZSB0cnVuY2F0ZWQgdG8gPHJlcGxh Y2VhYmxlPm48Lz4gY2hhcmFjdGVycyB3aXRob3V0CisgICAgcmFpc2luZyBh biBlcnJvci4gKFRoaXMgdG9vIGlzIHJlcXVpcmVkIGJ5IHRoZQorICAgIDxh Y3JvbnltPlNRTDwvYWNyb255bT4gc3RhbmRhcmQuKQorICAgPC9wYXJhPgor CisgICA8cGFyYT4KKyAgICBUaGUgbm90YXRpb25zIDx0eXBlPm52YXJjaGFy KDxyZXBsYWNlYWJsZT5uPC8+KTwvdHlwZT4gYW5kCisgICAgPHR5cGU+bmNo YXIoPHJlcGxhY2VhYmxlPm48Lz4pPC90eXBlPiBhcmUgYWxpYXNlcyBmb3Ig PHR5cGU+bmF0aW9uYWwgY2hhcmFjdGVyCisgICAgdmFyeWluZyg8cmVwbGFj ZWFibGU+bjwvPik8L3R5cGU+IGFuZAorICAgIDx0eXBlPm5hdGlvbmFsIGNo YXJhY3Rlcig8cmVwbGFjZWFibGU+bjwvPik8L3R5cGU+LCByZXNwZWN0aXZl bHkuCisgICAgPHR5cGU+bmF0aW9uYWwgY2hhcmFjdGVyPC90eXBlPiB3aXRo b3V0IGxlbmd0aCBzcGVjaWZpZXIgaXMgZXF1aXZhbGVudCB0bworICAgIDx0 eXBlPm5hdGlvbmFsIGNoYXJhY3RlcigxKTwvdHlwZT4uIElmIDx0eXBlPm5h dGlvbmFsIGNoYXJhY3RlciB2YXJ5aW5nPC90eXBlPiBpcyB1c2VkCisgICAg d2l0aG91dCBsZW5ndGggc3BlY2lmaWVyLCB0aGUgdHlwZSBhY2NlcHRzIHN0 cmluZ3Mgb2YgYW55IHNpemUuIFRoZQorICAgIGxhdHRlciBpcyBhIDxwcm9k dWN0bmFtZT5Qb3N0Z3JlU1FMPC8+IGV4dGVuc2lvbi4KKyAgIDwvcGFyYT4K KworICAgPHBhcmE+CisgICAgVmFsdWVzIG9mIHR5cGUgPHR5cGU+bmF0aW9u YWwgY2hhcmFjdGVyPC90eXBlPiBhcmUgcGh5c2ljYWxseSBwYWRkZWQKKyAg ICB3aXRoIHNwYWNlcyB0byB0aGUgc3BlY2lmaWVkIHdpZHRoIDxyZXBsYWNl YWJsZT5uPC8+LCBhbmQgYXJlCisgICAgc3RvcmVkIGFuZCBkaXNwbGF5ZWQg dGhhdCB3YXkuICBIb3dldmVyLCB0aGUgcGFkZGluZyBzcGFjZXMgYXJlCisg ICAgdHJlYXRlZCBhcyBzZW1hbnRpY2FsbHkgaW5zaWduaWZpY2FudC4gIFRy YWlsaW5nIHNwYWNlcyBhcmUKKyAgICBkaXNyZWdhcmRlZCB3aGVuIGNvbXBh cmluZyB0d28gdmFsdWVzIG9mIHR5cGUgPHR5cGU+bmF0aW9uYWwgY2hhcmFj dGVyPC90eXBlPiwKKyAgICBhbmQgdGhleSB3aWxsIGJlIHJlbW92ZWQgd2hl biBjb252ZXJ0aW5nIGEgPHR5cGU+bmF0aW9uYWwgY2hhcmFjdGVyPC90eXBl PiB2YWx1ZQorICAgIHRvIG9uZSBvZiB0aGUgb3RoZXIgc3RyaW5nIHR5cGVz LiAgTm90ZSB0aGF0IHRyYWlsaW5nIHNwYWNlcworICAgIDxlbXBoYXNpcz5h cmU8Lz4gc2VtYW50aWNhbGx5IHNpZ25pZmljYW50IGluCisgICAgPHR5cGU+ bmF0aW9uYWwgY2hhcmFjdGVyIHZhcnlpbmc8L3R5cGU+IHZhbHVlcywgYW5k CisgICAgd2hlbiB1c2luZyBwYXR0ZXJuIG1hdGNoaW5nLCBlLmcuIDxsaXRl cmFsPkxJS0U8Lz4sCisgICAgcmVndWxhciBleHByZXNzaW9ucy4KKyAgIDwv cGFyYT4KKworICAgPHBhcmE+CisgICAgVGhlIHN0b3JhZ2UgcmVxdWlyZW1l bnQgZm9yIGEgc2hvcnQgc3RyaW5nICh1cCB0byAxMjYgYnl0ZXMpIGlzIDEg Ynl0ZQorICAgIHBsdXMgdGhlIGFjdHVhbCBzdHJpbmcsIHdoaWNoIGluY2x1 ZGVzIHRoZSBzcGFjZSBwYWRkaW5nIGluIHRoZSBjYXNlIG9mCisgICAgPHR5 cGU+bmF0aW9uYWwgY2hhcmFjdGVyPC90eXBlPi4gIExvbmdlciBzdHJpbmdz IGhhdmUgNCBieXRlcyBvZiBvdmVyaGVhZCBpbnN0ZWFkCisgICAgb2YgMS4g IExvbmcgc3RyaW5ncyBhcmUgY29tcHJlc3NlZCBieSB0aGUgc3lzdGVtIGF1 dG9tYXRpY2FsbHksIHNvCisgICAgdGhlIHBoeXNpY2FsIHJlcXVpcmVtZW50 IG9uIGRpc2sgbWlnaHQgYmUgbGVzcy4gVmVyeSBsb25nIHZhbHVlcyBhcmUg YWxzbworICAgIHN0b3JlZCBpbiBiYWNrZ3JvdW5kIHRhYmxlcyBzbyB0aGF0 IHRoZXkgZG8gbm90IGludGVyZmVyZSB3aXRoIHJhcGlkCisgICAgYWNjZXNz IHRvIHNob3J0ZXIgY29sdW1uIHZhbHVlcy4gSW4gYW55IGNhc2UsIHRoZSBs b25nZXN0CisgICAgcG9zc2libGUgY2hhcmFjdGVyIHN0cmluZyB0aGF0IGNh biBiZSBzdG9yZWQgaXMgYWJvdXQgMSBHQi4gKFRoZQorICAgIG1heGltdW0g dmFsdWUgdGhhdCB3aWxsIGJlIGFsbG93ZWQgZm9yIDxyZXBsYWNlYWJsZT5u PC8+IGluIHRoZSBkYXRhCisgICAgdHlwZSBkZWNsYXJhdGlvbiBpcyBsZXNz IHRoYW4gdGhhdC4gSXQgd291bGRuJ3QgYmUgdXNlZnVsIHRvCisgICAgY2hh bmdlIHRoaXMgYmVjYXVzZSB3aXRoIG11bHRpYnl0ZSBjaGFyYWN0ZXIgZW5j b2RpbmdzIHRoZSBudW1iZXIgb2YKKyAgICBjaGFyYWN0ZXJzIGFuZCBieXRl cyBjYW4gYmUgcXVpdGUgZGlmZmVyZW50LiBJZiB5b3UgZGVzaXJlIHRvCisg ICAgc3RvcmUgbG9uZyBzdHJpbmdzIHdpdGggbm8gc3BlY2lmaWMgdXBwZXIg bGltaXQsIHVzZQorICAgIDx0eXBlPnRleHQ8L3R5cGU+IG9yIDx0eXBlPm5h dGlvbmFsIGNoYXJhY3RlciB2YXJ5aW5nPC90eXBlPiB3aXRob3V0IGEgbGVu Z3RoCisgICAgc3BlY2lmaWVyLCByYXRoZXIgdGhhbiBtYWtpbmcgdXAgYW4g YXJiaXRyYXJ5IGxlbmd0aCBsaW1pdC4pCisgICA8L3BhcmE+CisKKyAgIDx0 aXA+CisgICAgPHBhcmE+CisgICAgIFRoZXJlIGlzIG5vIHBlcmZvcm1hbmNl IGRpZmZlcmVuY2UgYW1vbmcgdGhlc2UgdHdvIHR5cGVzLAorICAgICBhcGFy dCBmcm9tIGluY3JlYXNlZCBzdG9yYWdlIHNwYWNlIHdoZW4gdXNpbmcgdGhl IGJsYW5rLXBhZGRlZAorICAgICB0eXBlLCBhbmQgYSBmZXcgZXh0cmEgQ1BV IGN5Y2xlcyB0byBjaGVjayB0aGUgbGVuZ3RoIHdoZW4gc3RvcmluZyBpbnRv CisgICAgIGEgbGVuZ3RoLWNvbnN0cmFpbmVkIGNvbHVtbi4gIFdoaWxlCisg ICAgIDx0eXBlPm5hdGlvbmFsIGNoYXJhY3Rlcig8cmVwbGFjZWFibGU+bjwv Pik8L3R5cGU+IGhhcyBwZXJmb3JtYW5jZQorICAgICBhZHZhbnRhZ2VzIGlu IHNvbWUgb3RoZXIgZGF0YWJhc2Ugc3lzdGVtcywgdGhlcmUgaXMgbm8gc3Vj aCBhZHZhbnRhZ2UgaW4KKyAgICAgPHByb2R1Y3RuYW1lPlBvc3RncmVTUUw8 L3Byb2R1Y3RuYW1lPjsgaW4gZmFjdAorICAgICA8dHlwZT5uYXRpb25hbCBj aGFyYWN0ZXIoPHJlcGxhY2VhYmxlPm48Lz4pPC90eXBlPiBpcyB1c3VhbGx5 IHRoZSBzbG93ZXN0IG9mCisgICAgIHRoZSB0aHJlZSBiZWNhdXNlIG9mIGl0 cyBhZGRpdGlvbmFsIHN0b3JhZ2UgY29zdHMuICBJbiBtb3N0IHNpdHVhdGlv bnMKKyAgICAgPHR5cGU+dGV4dDwvdHlwZT4gb3IgPHR5cGU+bmF0aW9uYWwg Y2hhcmFjdGVyIHZhcnlpbmc8L3R5cGU+IHNob3VsZCBiZSB1c2VkCisgICAg IGluc3RlYWQuCisgICAgPC9wYXJhPgorICAgPC90aXA+CisKKyAgIDxwYXJh PgorICAgIFJlZmVyIHRvIDx4cmVmIGxpbmtlbmQ9InNxbC1zeW50YXgtc3Ry aW5ncyI+IGZvciBpbmZvcm1hdGlvbiBhYm91dAorICAgIHRoZSBzeW50YXgg b2Ygc3RyaW5nIGxpdGVyYWxzLCBhbmQgdG8gPHhyZWYgbGlua2VuZD0iZnVu Y3Rpb25zIj4KKyAgICBmb3IgaW5mb3JtYXRpb24gYWJvdXQgYXZhaWxhYmxl IG9wZXJhdG9ycyBhbmQgZnVuY3Rpb25zLiBUaGUKKyAgICBkYXRhYmFzZSBj aGFyYWN0ZXIgc2V0IGRldGVybWluZXMgdGhlIGNoYXJhY3RlciBzZXQgdXNl ZCB0byBzdG9yZQorICAgIHRleHR1YWwgdmFsdWVzLiBUaGUgPHR5cGU+bmF0 aW9uYWwgY2hhcmFjdGVyIHZhcnlpbmc8L3R5cGU+IG9yIDx0eXBlPm5hdGlv bmFsIGNoYXJhY3RlcjwvdHlwZT4gdHlwZXMgYXJlIHN1cHBvcnRlZCBvbmx5 IHdoZW4gdGhlIGRhdGFiYXNlIGVuY29kaW5nIGlzIFVURi04OyBmb3IgbW9y ZSBpbmZvcm1hdGlvbiBvbiBjaGFyYWN0ZXIgc2V0IHN1cHBvcnQsCisgICAg cmVmZXIgdG8gPHhyZWYgbGlua2VuZD0ibXVsdGlieXRlIj4uCisgICA8L3Bh cmE+CisKKyAgIDxleGFtcGxlPgorICAgIDx0aXRsZT5Vc2luZyB0aGUgTmF0 aW9uYWwgQ2hhcmFjdGVyIFR5cGVzPC90aXRsZT4KKworPHByb2dyYW1saXN0 aW5nPgorQ1JFQVRFIFRBQkxFIHRlc3QxIChhIG5hdGlvbmFsIGNoYXJhY3Rl cig0KSk7CitJTlNFUlQgSU5UTyB0ZXN0MSBWQUxVRVMgKE4nb2snKTsKK1NF TEVDVCBhLCBjaGFyX2xlbmd0aChhKSBGUk9NIHRlc3QxOyAtLSA8Y28gaWQ9 ImNvLmRhdGF0eXBlLW5jaGFyIj4KKzxjb21wdXRlcm91dHB1dD4KKyAgYSAg IHwgY2hhcl9sZW5ndGgKKy0tLS0tLSstLS0tLS0tLS0tLS0tCisgb2sgICB8 ICAgICAgICAgICAyCis8L2NvbXB1dGVyb3V0cHV0PgorCitDUkVBVEUgVEFC TEUgdGVzdDIgKGIgbnZhcmNoYXIoNSkpOworSU5TRVJUIElOVE8gdGVzdDIg VkFMVUVTIChOJ29rJyk7CitJTlNFUlQgSU5UTyB0ZXN0MiBWQUxVRVMgKE4n Z29vZCAgICAgICcpOworSU5TRVJUIElOVE8gdGVzdDIgVkFMVUVTIChOJ3Rv byBsb25nJyk7Cis8Y29tcHV0ZXJvdXRwdXQ+RVJST1I6ICB2YWx1ZSB0b28g bG9uZyBmb3IgdHlwZSBuYXRpb25hbCBjaGFyYWN0ZXIgdmFyeWluZyg1KTwv Y29tcHV0ZXJvdXRwdXQ+CitJTlNFUlQgSU5UTyB0ZXN0MiBWQUxVRVMgKCd0 b28gbG9uZyc6Om52YXJjaGFyKDUpKTsgLS0gZXhwbGljaXQgdHJ1bmNhdGlv bgorU0VMRUNUIGIsIGNoYXJfbGVuZ3RoKGIpIEZST00gdGVzdDI7Cis8Y29t cHV0ZXJvdXRwdXQ+CisgICBiICAgfCBjaGFyX2xlbmd0aAorLS0tLS0tLSst LS0tLS0tLS0tLS0tCisgb2sgICAgfCAgICAgICAgICAgMgorIGdvb2QgIHwg ICAgICAgICAgIDUKKyB0b28gbCB8ICAgICAgICAgICA1Cis8L2NvbXB1dGVy b3V0cHV0PgorPC9wcm9ncmFtbGlzdGluZz4KKyAgICA8Y2FsbG91dGxpc3Q+ CisgICAgIDxjYWxsb3V0IGFyZWFyZWZzPSJjby5kYXRhdHlwZS1uY2hhciI+ CisgICAgICA8cGFyYT4KKyAgICAgICBUaGUgPGZ1bmN0aW9uPmNoYXJfbGVu Z3RoPC9mdW5jdGlvbj4gZnVuY3Rpb24gaXMgZGlzY3Vzc2VkIGluCisgICAg ICAgPHhyZWYgbGlua2VuZD0iZnVuY3Rpb25zLXN0cmluZyI+LgorICAgICAg PC9wYXJhPgorICAgICA8L2NhbGxvdXQ+CisgICAgPC9jYWxsb3V0bGlzdD4K KyAgIDwvZXhhbXBsZT4KKworICA8L3NlY3QxPgogIDwvY2hhcHRlcj4KZGlm ZiAtVSA1IC1OIC1yIC13IC4uL29yaWcuSEVBRC9kb2Mvc3JjL3NnbWwvZWNw Zy5zZ21sIC4vZG9jL3NyYy9zZ21sL2VjcGcuc2dtbAotLS0gLi4vb3JpZy5I RUFEL2RvYy9zcmMvc2dtbC9lY3BnLnNnbWwJMjAxMy0wOC0xOSAyMDoyMjow Ni4wMDAwMDAwMDAgLTA0MDAKKysrIC4vZG9jL3NyYy9zZ21sL2VjcGcuc2dt bAkyMDEzLTA4LTE5IDIwOjU0OjAwLjAwMDAwMDAwMCAtMDQwMApAQCAtODg4 LDEwICs4ODgsMjAgQEAKIAogICAgICAgPHJvdz4KICAgICAgICA8ZW50cnk+ PHR5cGU+Ym9vbGVhbjwvdHlwZT48L2VudHJ5PgogICAgICAgIDxlbnRyeT48 dHlwZT5ib29sPC90eXBlPjxmb290bm90ZT48cGFyYT5kZWNsYXJlZCBpbiA8 ZmlsZW5hbWU+ZWNwZ2xpYi5oPC9maWxlbmFtZT4gaWYgbm90IG5hdGl2ZTwv cGFyYT48L2Zvb3Rub3RlPjwvZW50cnk+CiAgICAgICA8L3Jvdz4KKyAgICAg IAorICAgICAgPHJvdz4KKyAgICAgICA8ZW50cnk+PHR5cGU+bmF0aW9uYWwg Y2hhcmFjdGVyKDxyZXBsYWNlYWJsZT5uPC8+KTwvdHlwZT4sIDx0eXBlPm52 YXJjaGFyKDxyZXBsYWNlYWJsZT5uPC8+KTwvdHlwZT48L2VudHJ5PgorICAg ICAgIDxlbnRyeT48dHlwZT5OQ0hBUls8cmVwbGFjZWFibGU+bjwvPisxXTwv dHlwZT4sIDx0eXBlPk5WQVJDSEFSWzxyZXBsYWNlYWJsZT5uPC8+KzFdPC90 eXBlPjwvZW50cnk+CisgICAgICA8L3Jvdz4KKyAgICAgIAorICAgICAgPHJv dz4KKyAgICAgICA8ZW50cnk+PHR5cGU+bmF0aW9uYWwgY2hhcmFjdGVyKDxy ZXBsYWNlYWJsZT5uPC8+KTwvdHlwZT4sIDx0eXBlPm52YXJjaGFyKDxyZXBs YWNlYWJsZT5uPC8+KTwvdHlwZT4sIDx0eXBlPmNoYXJhY3Rlcig8cmVwbGFj ZWFibGU+bjwvPik8L3R5cGU+LCA8dHlwZT52YXJjaGFyKDxyZXBsYWNlYWJs ZT5uPC8+KTwvdHlwZT4sIDx0eXBlPnRleHQ8L3R5cGU+PC9lbnRyeT4KKyAg ICAgICA8ZW50cnk+PHR5cGU+VVZBUkNIQVJbPHJlcGxhY2VhYmxlPjIqbjwv Pl08L3R5cGU+PC9lbnRyeT4KKyAgICAgIDwvcm93PgogICAgICA8L3Rib2R5 PgogICAgIDwvdGdyb3VwPgogICAgPC90YWJsZT4KIAogICAgPHNlY3QzIGlk PSJlY3BnLWNoYXIiPgpAQCAtOTY2LDEwICs5NzYsMTk3IEBACiAgICAgIGFs c28gaG9sZCB2YWx1ZXMgb2Ygb3RoZXIgU1FMIHR5cGVzLCB3aGljaCB3aWxs IGJlIHN0b3JlZCBpbgogICAgICB0aGVpciBzdHJpbmcgZm9ybXMuCiAgICAg PC9wYXJhPgogICAgPC9zZWN0Mz4KIAorICAgPHNlY3QzIGlkPSJlY3BnLW5j aGFyIj4KKyAgICA8dGl0bGU+SGFuZGxpbmcgTmF0aW9uYWwgQ2hhcmFjdGVy IFN0cmluZ3M8L3RpdGxlPgorCisgICAgPHBhcmE+CisgICAgIFRvIGhhbmRs ZSBTUUwgbmF0aW9uYWwgY2hhcmFjdGVyIHN0cmluZyBkYXRhIHR5cGVzLCBz dWNoCisgICAgIGFzIDx0eXBlPm52YXJjaGFyPC90eXBlPiBhbmQgPHR5cGU+ bmNoYXI8L3R5cGU+LCB0aGVyZSBhcmUgdHdvCisgICAgIHBvc3NpYmxlIHdh eXMgdG8gZGVjbGFyZSB0aGUgaG9zdCB2YXJpYWJsZXMuCisgICAgPC9wYXJh PgorCisgICAgPHBhcmE+CisgICAgIE9uZSB3YXkgaXMgdXNpbmcgPHR5cGU+ TkNIQVJbXTwvdHlwZT4sIGFuIGFycmF5CisgICAgIG9mIDx0eXBlPk5DSEFS PC90eXBlPiwgaW50ZXJuYWxseSB3aGljaCBpcyBtYXBwZWQgdG8gYW4gYXJy YXkgb2YgPHR5cGU+Y2hhcjwvdHlwZT4gd2hpY2ggaXMgdGhlIG1vc3QgY29t bW9uIHdheSB0byBoYW5kbGUKKyAgICAgY2hhcmFjdGVyIGRhdGEgaW4gQy4K Kzxwcm9ncmFtbGlzdGluZz4KK0VYRUMgU1FMIEJFR0lOIERFQ0xBUkUgU0VD VElPTjsKKyAgICBOQ0hBUiBzdHJbNTBdOworRVhFQyBTUUwgRU5EIERFQ0xB UkUgU0VDVElPTjsKKzwvcHJvZ3JhbWxpc3Rpbmc+CisgICAgIE5vdGUgdGhh dCB5b3UgaGF2ZSB0byB0YWtlIGNhcmUgb2YgdGhlIGxlbmd0aCB5b3Vyc2Vs Zi4gIElmIHlvdQorICAgICB1c2UgdGhpcyBob3N0IHZhcmlhYmxlIGFzIHRo ZSB0YXJnZXQgdmFyaWFibGUgb2YgYSBxdWVyeSB3aGljaAorICAgICByZXR1 cm5zIGEgc3RyaW5nIHdpdGggbW9yZSB0aGFuIDQ5IGNoYXJhY3RlcnMsIGEg YnVmZmVyIG92ZXJmbG93CisgICAgIG9jY3Vycy4KKyAgICA8L3BhcmE+CisK KyAgICA8cGFyYT4KKyAgICAgVGhlIG90aGVyIHdheSBpcyB1c2luZyB0aGUg PHR5cGU+TlZBUkNIQVI8L3R5cGU+IHR5cGUsIHdoaWNoIGlzIGEKKyAgICAg c3BlY2lhbCB0eXBlIHByb3ZpZGVkIGJ5IEVDUEcuICBUaGUgZGVmaW5pdGlv biBvbiBhbiBhcnJheSBvZgorICAgICB0eXBlIDx0eXBlPk5WQVJDSEFSPC90 eXBlPiBpcyBjb252ZXJ0ZWQgaW50byBhCisgICAgIG5hbWVkIDx0eXBlPnN0 cnVjdDwvPiBmb3IgZXZlcnkgdmFyaWFibGUuIEEgZGVjbGFyYXRpb24gbGlr ZToKKzxwcm9ncmFtbGlzdGluZz4KK05WQVJDSEFSIHZhclsxODBdOworPC9w cm9ncmFtbGlzdGluZz4KKyAgICAgaXMgY29udmVydGVkIGludG86Cis8cHJv Z3JhbWxpc3Rpbmc+CitzdHJ1Y3QgdmFyY2hhcl92YXIgeyBpbnQgbGVuOyBj aGFyIGFyclsxODBdOyB9IHZhcjsKKzwvcHJvZ3JhbWxpc3Rpbmc+CisgICAg IFRoZSBtZW1iZXIgPHN0cnVjdGZpZWxkPmFycjwvc3RydWN0ZmllbGQ+IGhv c3RzIHRoZSBzdHJpbmcKKyAgICAgaW5jbHVkaW5nIGEgdGVybWluYXRpbmcg emVybyBieXRlLiAgVGh1cywgdG8gc3RvcmUgYSBzdHJpbmcgaW4KKyAgICAg YSA8dHlwZT5OVkFSQ0hBUjwvdHlwZT4gaG9zdCB2YXJpYWJsZSwgdGhlIGhv c3QgdmFyaWFibGUgaGFzIHRvIGJlCisgICAgIGRlY2xhcmVkIHdpdGggdGhl IGxlbmd0aCBpbmNsdWRpbmcgdGhlIHplcm8gYnl0ZSB0ZXJtaW5hdG9yLiAg VGhlCisgICAgIG1lbWJlciA8c3RydWN0ZmllbGQ+bGVuPC9zdHJ1Y3RmaWVs ZD4gaG9sZHMgdGhlIGxlbmd0aCBvZiB0aGUKKyAgICAgc3RyaW5nIHN0b3Jl ZCBpbiB0aGUgPHN0cnVjdGZpZWxkPmFycjwvc3RydWN0ZmllbGQ+IHdpdGhv dXQgdGhlCisgICAgIHRlcm1pbmF0aW5nIHplcm8gYnl0ZS4gIFdoZW4gYSBo b3N0IHZhcmlhYmxlIGlzIHVzZWQgYXMgaW5wdXQgZm9yCisgICAgIGEgcXVl cnksIGlmIDxsaXRlcmFsPnN0cmxlbihhcnIpPC9saXRlcmFsPgorICAgICBh bmQgPHN0cnVjdGZpZWxkPmxlbjwvc3RydWN0ZmllbGQ+IGFyZSBkaWZmZXJl bnQsIHRoZSBzaG9ydGVyIG9uZQorICAgICBpcyB1c2VkLgorICAgIDwvcGFy YT4KKworICAgIDxwYXJhPgorICAgICBUd28gb3IgbW9yZSA8dHlwZT5OVkFS Q0hBUjwvdHlwZT4gaG9zdCB2YXJpYWJsZXMgY2Fubm90IGJlIGRlZmluZWQK KyAgICAgaW4gc2luZ2xlIGxpbmUgc3RhdGVtZW50LiAgVGhlIGZvbGxvd2lu ZyBjb2RlIHdpbGwgY29uZnVzZQorICAgICB0aGUgPGNvbW1hbmQ+ZWNwZzwv Y29tbWFuZD4gcHJlcHJvY2Vzc29yOgorPHByb2dyYW1saXN0aW5nPgorTlZB UkNIQVIgdjFbMTI4XSwgdjJbMTI4XTsgICAvKiBXUk9ORyAqLworPC9wcm9n cmFtbGlzdGluZz4KKyAgICAgVHdvIHZhcmlhYmxlcyBzaG91bGQgYmUgZGVm aW5lZCBpbiBzZXBhcmF0ZSBzdGF0ZW1lbnRzIGxpa2UgdGhpczoKKzxwcm9n cmFtbGlzdGluZz4KK05WQVJDSEFSIHYxWzEyOF07CitOVkFSQ0hBUiB2Mlsx MjhdOworPC9wcm9ncmFtbGlzdGluZz4KKyAgICA8L3BhcmE+CisKKyAgICA8 cGFyYT4KKyAgICAgPHR5cGU+TlZBUkNIQVI8L3R5cGU+IGFuZCA8dHlwZT5O Q0hBUjwvdHlwZT4gY2FuIGJlIHdyaXR0ZW4gaW4gdXBwZXIgb3IgbG93ZXIg Y2FzZSwgYnV0CisgICAgIG5vdCBpbiBtaXhlZCBjYXNlLgorICAgIDwvcGFy YT4KKworICAgIDxwYXJhPgorICAgICA8dHlwZT5OQ0hBUjwvdHlwZT4gYW5k IDx0eXBlPk5WQVJDSEFSPC90eXBlPiBob3N0IHZhcmlhYmxlcyBjYW4KKyAg ICAgYWxzbyBob2xkIHZhbHVlcyBvZiBvdGhlciBTUUwgdHlwZXMsIHdoaWNo IHdpbGwgYmUgc3RvcmVkIGluCisgICAgIHRoZWlyIHN0cmluZyBmb3Jtcy4g TlZBUkNIQVIgdHlwZSBpcyBwcmV0dHkgc2ltaWxhciB0byBWQVJDSEFSIHR5 cGUgCisgICAgIGFuZCBhZGRlZCBtYWlubHkgZm9yIFNRTCBzdGFuZGFyZCBj b21wYXRpYmlsaXR5LgorICAgIDwvcGFyYT4KKyAgIDwvc2VjdDM+CisKKyAg IDxzZWN0MyBpZD0iZWNwZy11dmFyY2hhciI+CisgICAgPHRpdGxlPkhhbmRs aW5nIFN0cmluZ3Mgd2l0aCBVVkFSQ0hBUiB0eXBlPC90aXRsZT4KKworICAg IDxwYXJhPgorICAgICBFQ1BHIGNvbnRhaW5zIGEgc3BlY2lhbCB0eXBlIDx0 eXBlPlVWQVJDSEFSPC90eXBlPiBmb3IgZGVmaW5pbmcgaG9zdCB2YXJpYWJs ZXMgdG8gc3RvcmUgCisgICAgIGNoYXJhY3RlciBzdHJpbmcgYW5kIG5hdGlv bmFsIGNoYXJhY3RlciBzdHJpbmcgdmFsdWVzIGZyb20gcmVzcGVjdGl2ZSBT UUwgdHlwZXMuIAorCisgICAgIFRoaXMgdHlwZSBpcyBwcmVwcm9jZXNzZWQg aW50byBhIHN0cnVjdHVyZSB3aXRoIGxlbmd0aCBhbmQgYnVmZmVyIGZpZWxk cy4KKworICAgICA8cHJvZ3JhbWxpc3Rpbmc+CisgICAgICBzdHJ1Y3QgdXZh cmNoYXJfdmFyIHsgaW50IGxlbjsgY2hhciBhcnJbMTgwXTsgfSB1dmM7Cisg ICAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisKKyAgICBUaGUgZGF0YSBzdG9yZWQg YnkgPHR5cGU+VVZBUkNIQVI8L3R5cGU+IHR5cGUgc3RydWN0dXJlIGlzIGFs d2F5cyBpbiBVVEYtMTYgZW5jb2RpbmcuIFRoZXJlIGlzIGFuIGltcGxpY2l0 IGNvbnZlcnNpb24gZnJvbSBVVEYtOCB0byBVVEYtMTYgd2hlbiBVVkFSQ0hB UiB0eXBlIGlzIGNyZWF0ZWQuCisgICAgPC9wYXJhPgorICAgIAorICAgIDxw YXJhPgorICAgICBUaGUgc2FtcGxlIHVzYWdlIG9mIFVWQVJDSEFSIHRvIGhh bmRsZSBzdHJpbmcgZGF0YQorICAgICAKKyAgICAgPHByb2dyYW1saXN0aW5n PgorICAgICAgI2luY2x1ZGUgJmx0O3N0ZGlvLmg+CisgCisgICAgICBFWEVD IFNRTCBJTkNMVURFIHNxbGNhOworICAgICAgRVhFQyBTUUwgV0hFTkVWRVIg U1FMRVJST1IgICBTUUxQUklOVDsKKyAgICAgIAorICAgICAgaW50IG1haW4o IGludCBhcmdjLCBjaGFyICogYXJndltdICkKKyAgICAgIHsKKyAgICAgICAg ICBFWEVDIFNRTCBCRUdJTiBERUNMQVJFIFNFQ1RJT047CisgICAgICAgICAg VVZBUkNIQVIgdXZbMTAwXTsKKyAgICAgICAgICBFWEVDIFNRTCBFTkQgREVD TEFSRSBTRUNUSU9OOworICAgICAgCisgICAgICAgICAgRVhFQyBTUUwgQ09O TkVDVCBUTyBwb3N0Z3JlczsKKyAgICAgICAgICBFWEVDIFNRTCBDUkVBVEUg VEFCTEUgdGVzdCAoYSBudmFyY2hhcik7CisgICAgICAgICAgRVhFQyBTUUwg SU5TRVJUIElOVE8gdGVzdCAoYSkgdmFsdWVzICgnb2snKSwKKyAgICAgIC4u LgorICAgICAgICAgIEVYRUMgU1FMIFNFTEVDVCBhIElOVE8gOnV2IEZST00g dGVzdDsKKyAgICAgICAgICBwcmludGYoInZhbHVlPSVzIGxlbmd0aD0lZFxu IiwgdXYuYXJyLCB1di5sZW4pOworICAgICAgLi4uCisgICAgICAuLi4KKyAg ICAgIH0KKyAgICAgPC9wcm9ncmFtbGlzdGluZz4KKworICAgICBUaGUgbWVt YmVyIDxzdHJ1Y3RmaWVsZD5hcnI8L3N0cnVjdGZpZWxkPiBob3N0cyB0aGUg c3RyaW5nCisgICAgIHdpdGhvdXQgYSB0ZXJtaW5hdGluZyB6ZXJvIGJ5dGUu ICBBcyB0aGUgZGVmYXVsdCBlbmNvZGluZyBmb3IgCisgICAgIDx0eXBlPlVW QVJDSEFSPC90eXBlPiBpcyBVVEYtMTYsIHRvIHN0b3JlIGEgc3RyaW5nIGlu IGEgCisgICAgIDx0eXBlPlVWQVJDSEFSPC90eXBlPiBob3N0IHZhcmlhYmxl LCB0aGUgaG9zdCB2YXJpYWJsZSBoYXMgdG8gYmUKKyAgICAgZGVjbGFyZWQg d2l0aCB0aGUgbWluaW11bSBsZW5ndGggb2YgMipuLiBUaGUgbWVtYmVyIDxz dHJ1Y3RmaWVsZD5sZW48L3N0cnVjdGZpZWxkPiAKKyAgICAgaG9sZHMgdGhl IGxlbmd0aCBvZiB0aGUgc3RyaW5nIHN0b3JlZCBpbiB0aGUgPHN0cnVjdGZp ZWxkPmFycjwvc3RydWN0ZmllbGQ+LgorICAgICBXaGVuIGEgaG9zdCB2YXJp YWJsZSBpcyB1c2VkIGFzIGlucHV0IGZvciBhIHF1ZXJ5LCAKKyAgICAgaWYg PGxpdGVyYWw+c3RybGVuKGFycik8L2xpdGVyYWw+IGFuZCA8c3RydWN0Zmll bGQ+bGVuPC9zdHJ1Y3RmaWVsZD4gCisgICAgIGFyZSBkaWZmZXJlbnQsIHRo ZSBzaG9ydGVyIG9uZSBpcyB1c2VkLgorCisgICAgPC9wYXJhPgorCisgICA8 L3NlY3QzPgorCisgICA8c2VjdDMgaWQ9ImVjcGctZGF0YXR5cGUtY29tcGFy aXNvbiI+CisgICAgPHRpdGxlPkNvbXBhcmlzb24gYmV0d2VlbiBWQVJDSEFS LCBOVkFSQ0hBUiBhbmQgVVZBUkNIQVIgVHlwZXM8L3RpdGxlPgorICAgIDxw YXJhPgorICAgIFRoZSBob3N0IGRhdGEgdHlwZXMgdXNlZCBmb3IgaGFuZGxp bmcgc3RyaW5nIHZhbHVlcywgZGlmZmVyIGluIGZldyBhc3BlY3RzIGxpa2Ug bWVtb3J5IHVzYWdlLCBlbmNvZGluZywgcGVyZm9ybWFuY2UgZXRjLgorICAg IDx4cmVmIGxpbmtlbmQ9ImVjcGctZGF0YXR5cGUtY29tYXByaXNvbi10YWJs ZSI+IHNob3dzIHRoZSBjb21wYXJpc29uIG9mIAorICAgIGhvc3QgZGF0YSB0 eXBlcy4KKyAKKyAgICA8L3BhcmE+CisgICAgPHRhYmxlIGlkPSJlY3BnLWRh dGF0eXBlLWNvbWFwcmlzb24tdGFibGUiPgorICAgICA8dGl0bGU+Q29tcGFy aXNvbiBiZXR3ZWVuIFZBUkNIQVIsIE5WQVJDSEFSIGFuZCBVVkFSQ0hBUiBU eXBlczwvdGl0bGU+CisKKyAgICAgPHRncm91cCBjb2xzPSI0Ij4KKyAgICAg IDx0aGVhZD4KKyAgICAgICA8cm93PgorICAgICAgICA8ZW50cnk+PC9lbnRy eT4KKyAgICAgICAgPGVudHJ5PlZBUkNIQVI8L2VudHJ5PgorICAgICAgICA8 ZW50cnk+TlZBUkNIQVI8L2VudHJ5PgorICAgICAgICA8ZW50cnk+VVZBUkNI QVI8L2VudHJ5PgorICAgICAgIDwvcm93PgorICAgICAgPC90aGVhZD4KKwor ICAgICAgPHRib2R5PgorICAgICAgIDxyb3c+CisgICAgICAgIDxlbnRyeT48 dHlwZT5NYXhpbXVtIFNpemUgZm9yICduJyBjaGFyYWN0ZXJzPC90eXBlPjwv ZW50cnk+CisgICAgICAgIDxlbnRyeT48dHlwZT40Km4gKyAxPC90eXBlPjwv ZW50cnk+CisgICAgICAgIDxlbnRyeT48dHlwZT40Km4gKyAxPC90eXBlPjwv ZW50cnk+CisgICAgICAgIDxlbnRyeT48dHlwZT40Km48L3R5cGU+PC9lbnRy eT4KKyAgICAgICA8L3Jvdz4KKyAgICAgICA8cm93PgorICAgICAgICA8ZW50 cnk+PHR5cGU+TWluaW11bSBTaXplIGZvciAnbicgY2hhcmFjdGVyczwvdHlw ZT48L2VudHJ5PgorICAgICAgICA8ZW50cnk+PHR5cGU+biArIDE8L3R5cGU+ PC9lbnRyeT4KKyAgICAgICAgPGVudHJ5Pjx0eXBlPm4gKyAxPC90eXBlPjwv ZW50cnk+CisgICAgICAgIDxlbnRyeT48dHlwZT4yKm48L3R5cGU+PC9lbnRy eT4KKyAgICAgICA8L3Jvdz4KKyAgICAgICA8cm93PgorICAgICAgICA8ZW50 cnk+PHR5cGU+RW5jb2RpbmcgVXNlZDwvdHlwZT48L2VudHJ5PgorICAgICAg ICA8ZW50cnk+PHR5cGU+Y2xpZW50IGVuY29kaW5nPC90eXBlPjwvZW50cnk+ CisgICAgICAgIDxlbnRyeT48dHlwZT5jbGllbnQgZW5jb2Rpbmc8L3R5cGU+ PC9lbnRyeT4KKyAgICAgICAgPGVudHJ5Pjx0eXBlPlVURi0xNjwvdHlwZT48 L2VudHJ5PgorICAgICAgIDwvcm93PgorICAgICAgIDxyb3c+CisgICAgICAg IDxlbnRyeT48dHlwZT5aZXJvIFRlcm1pbmF0ZWQ8L3R5cGU+PC9lbnRyeT4K KyAgICAgICAgPGVudHJ5Pjx0eXBlPlllczwvdHlwZT48L2VudHJ5PgorICAg ICAgICA8ZW50cnk+PHR5cGU+WWVzPC90eXBlPjwvZW50cnk+CisgICAgICAg IDxlbnRyeT48dHlwZT5ObzwvdHlwZT48L2VudHJ5PgorICAgICAgIDwvcm93 PgorCisgICAgICA8L3Rib2R5PgorICAgICA8L3Rncm91cD4KKyAgICA8L3Rh YmxlPgorCisJPHBhcmE+CisgICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlIGRh dGEgY29udmVyc2lvbiBmcm9tIFVURi04IGVuY29kaW5nIHRvIFVURi0xNiBl bmNvZGluZyB3aWxsIGluY3VyIGEgbmVnbGlnaWJsZSBwZXJmb3JtYW5jZSBv dmVyaGVhZCBpbiBjYXNlIG9mIFVWQVJDSEFSIFR5cGUuCisgICAgPC9wYXJh PgorICAgPC9zZWN0Mz4KKwogICAgPHNlY3QzIGlkPSJlY3BnLXNwZWNpYWwt dHlwZXMiPgogICAgIDx0aXRsZT5BY2Nlc3NpbmcgU3BlY2lhbCBEYXRhIFR5 cGVzPC90aXRsZT4KIAogICAgIDxwYXJhPgogICAgICBFQ1BHIGNvbnRhaW5z IHNvbWUgc3BlY2lhbCB0eXBlcyB0aGF0IGhlbHAgeW91IHRvIGludGVyYWN0 IGVhc2lseQpkaWZmIC1VIDUgLU4gLXIgLXcgLi4vb3JpZy5IRUFEL2RvYy9z cmMvc2dtbC9zeW50YXguc2dtbCAuL2RvYy9zcmMvc2dtbC9zeW50YXguc2dt bAotLS0gLi4vb3JpZy5IRUFEL2RvYy9zcmMvc2dtbC9zeW50YXguc2dtbAky MDEzLTA4LTE5IDIwOjIyOjA2LjAwMDAwMDAwMCAtMDQwMAorKysgLi9kb2Mv c3JjL3NnbWwvc3ludGF4LnNnbWwJMjAxMy0wOC0xOSAyMDo1NDowMC4wMDAw MDAwMDAgLTA0MDAKQEAgLTU1MSwxMCArNTUxLDM3IEBACiAgICAgIFRvIGlu Y2x1ZGUgdGhlIGVzY2FwZSBjaGFyYWN0ZXIgaW4gdGhlIHN0cmluZyBsaXRl cmFsbHksIHdyaXRlIGl0CiAgICAgIHR3aWNlLgogICAgIDwvcGFyYT4KICAg IDwvc2VjdDM+CiAKKyAgIDxzZWN0MyBpZD0ic3FsLXN5bnRheC1zdHJpbmdz LU4iPgorICAgIDx0aXRsZT5TdHJpbmcgQ29uc3RhbnRzIHdpdGggcHJlZml4 IE48L3RpdGxlPgorCisgICAgPGluZGV4dGVybSAgem9uZT0ic3FsLXN5bnRh eC1zdHJpbmdzLU4iPgorICAgICA8cHJpbWFyeT5QcmVmaXggTjwvcHJpbWFy eT4KKyAgICAgPHNlY29uZGFyeT5pbiBzdHJpbmcgY29uc3RhbnRzPC9zZWNv bmRhcnk+CisgICAgPC9pbmRleHRlcm0+CisKKyAgICA8cGFyYT4KKyAgICBU aGUgc3RhbmRhcmQgc3ludGF4IGZvciBzcGVjaWZ5aW5nIG5hdGlvbmFsIGNo YXJhY3RlciB0eXBlIHN0cmluZyBjb25zdGFudHMgCisgICAgaXMgdG8gYWRk IGEgcHJlZml4ICdOJyB0byB0aGUgc3RyaW5nIGNvbnN0YW50LiBUaGlzIHN0 cmluZyBjb25zdGFudCBzeW50YXgKKyAgICBpcyBzdXBwb3J0ZWQgb25seSB3 aGVuIHRoZSBkYXRhYmFzZSBlbmNvZGluZyBpcyBVVEYtOC4KKyAgICAKKyAg ICBUaGUgZm9sbG93aW5nIHRyaXZpYWwgZXhhbXBsZSBzaG93cyBob3cgdG8g cGFzcyBhIG5hdGlvbmFsIGNoYXJhY3RlciB0eXBlIAorICAgIHN0cmluZyBj b25zdGFudCB3aXRoIHByZWZpeCAnTicKKyAgICAKKyAgICAgICAgPHByb2dy YW1saXN0aW5nPgorCQkJSU5TRVJUIElOVE8gdGVzdCBWQUxVRVMgKE4nb2sn KTsKKwkJPC9wcm9ncmFtbGlzdGluZz4KKyAgICAKKyAgICA8L3BhcmE+Cisg ICAgPHBhcmE+CisgICAgUGxlYXNlIG5vdGUgdGhhdCB0aGlzIHN5bnRheCBp cyBvcHRpb25hbCBhbmQgbmF0aW9uYWwgY2hhcmFjdGVyIHR5cGUgc3RyaW5n IGNvbnN0YW50cyBjYW4gYWxzbyBiZSBzcGVjaWZpZWQgYm91bmRlZCBieSBz aW5nbGUgcXVvdGVzICg8bGl0ZXJhbD4nPC9saXRlcmFsPiksIGZvciBleGFt cGxlCisgICAgIDxsaXRlcmFsPidvayc8L2xpdGVyYWw+LgorICAgIDwvcGFy YT4KKyAgIDwvc2VjdDM+CisKICAgIDxzZWN0MyBpZD0ic3FsLXN5bnRheC1k b2xsYXItcXVvdGluZyI+CiAgICAgPHRpdGxlPkRvbGxhci1xdW90ZWQgU3Ry aW5nIENvbnN0YW50czwvdGl0bGU+CiAKICAgICAgPGluZGV4dGVybT4KICAg ICAgIDxwcmltYXJ5PmRvbGxhciBxdW90aW5nPC9wcmltYXJ5PgpkaWZmIC1V IDUgLU4gLXIgLXcgLi4vb3JpZy5IRUFEL3NyYy9iYWNrZW5kL2NhdGFsb2cv aW5mb3JtYXRpb25fc2NoZW1hLnNxbCAuL3NyYy9iYWNrZW5kL2NhdGFsb2cv aW5mb3JtYXRpb25fc2NoZW1hLnNxbAotLS0gLi4vb3JpZy5IRUFEL3NyYy9i YWNrZW5kL2NhdGFsb2cvaW5mb3JtYXRpb25fc2NoZW1hLnNxbAkyMDEzLTA4 LTE5IDIwOjIyOjA3LjAwMDAwMDAwMCAtMDQwMAorKysgLi9zcmMvYmFja2Vu ZC9jYXRhbG9nL2luZm9ybWF0aW9uX3NjaGVtYS5zcWwJMjAxMy0wOC0xOSAy MDo1NDowMC4wMDAwMDAwMDAgLTA0MDAKQEAgLTc3LDExICs3NywxMSBAQAog ICAgIFJFVFVSTlMgTlVMTCBPTiBOVUxMIElOUFVUCiAgICAgQVMKICQkU0VM RUNUCiAgIENBU0UgV0hFTiAkMiA9IC0xIC8qIGRlZmF1bHQgdHlwbW9kICov CiAgICAgICAgVEhFTiBudWxsCi0gICAgICAgV0hFTiAkMSBJTiAoMTA0Miwg MTA0MykgLyogY2hhciwgdmFyY2hhciAqLworICAgICAgIFdIRU4gJDEgSU4g KDEwNDIsIDEwNDMsIDUwMDEsIDYwMDEpIC8qIGNoYXIsIHZhcmNoYXIsIG5j aGFyLCBudmFyY2hhciAqLwogICAgICAgIFRIRU4gJDIgLSA0CiAgICAgICAg V0hFTiAkMSBJTiAoMTU2MCwgMTU2MikgLyogYml0LCB2YXJiaXQgKi8KICAg ICAgICBUSEVOICQyCiAgICAgICAgRUxTRSBudWxsCiAgIEVORCQkOwpAQCAt OTAsMTEgKzkwLDExIEBACiAgICAgTEFOR1VBR0Ugc3FsCiAgICAgSU1NVVRB QkxFCiAgICAgUkVUVVJOUyBOVUxMIE9OIE5VTEwgSU5QVVQKICAgICBBUwog JCRTRUxFQ1QKLSAgQ0FTRSBXSEVOICQxIElOICgyNSwgMTA0MiwgMTA0Mykg LyogdGV4dCwgY2hhciwgdmFyY2hhciAqLworICBDQVNFIFdIRU4gJDEgSU4g KDI1LCAxMDQyLCAxMDQzLCA1MDAxLCA2MDAxKSAvKiB0ZXh0LCBjaGFyLCB2 YXJjaGFyLCBuY2hhciwgbnZhcmNoYXIgKi8KICAgICAgICBUSEVOIENBU0Ug V0hFTiAkMiA9IC0xIC8qIGRlZmF1bHQgdHlwbW9kICovCiAgICAgICAgICAg ICAgICAgIFRIRU4gQ0FTVCgyXjMwIEFTIGludGVnZXIpCiAgICAgICAgICAg ICAgICAgIEVMU0UgaW5mb3JtYXRpb25fc2NoZW1hLl9wZ19jaGFyX21heF9s ZW5ndGgoJDEsICQyKSAqCiAgICAgICAgICAgICAgICAgICAgICAgcGdfY2F0 YWxvZy5wZ19lbmNvZGluZ19tYXhfbGVuZ3RoKChTRUxFQ1QgZW5jb2Rpbmcg RlJPTSBwZ19jYXRhbG9nLnBnX2RhdGFiYXNlIFdIRVJFIGRhdG5hbWUgPSBw Z19jYXRhbG9nLmN1cnJlbnRfZGF0YWJhc2UoKSkpCiAgICAgICAgICAgICBF TkQKZGlmZiAtVSA1IC1OIC1yIC13IC4uL29yaWcuSEVBRC9zcmMvYmFja2Vu ZC9wYXJzZXIvZ3JhbS55IC4vc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQot LS0gLi4vb3JpZy5IRUFEL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkJMjAx My0wOC0xOSAyMDoyMjowOC4wMDAwMDAwMDAgLTA0MDAKKysrIC4vc3JjL2Jh Y2tlbmQvcGFyc2VyL2dyYW0ueQkyMDEzLTA4LTE5IDIxOjQyOjIzLjAwMDAw MDAwMCAtMDQwMApAQCAtNDM5LDEzICs0MzksMTUgQEAKIAogJXR5cGUgPHR5 cG5hbT4JVHlwZW5hbWUgU2ltcGxlVHlwZW5hbWUgQ29uc3RUeXBlbmFtZQog CQkJCUdlbmVyaWNUeXBlIE51bWVyaWMgb3B0X2Zsb2F0CiAJCQkJQ2hhcmFj dGVyIENvbnN0Q2hhcmFjdGVyCiAJCQkJQ2hhcmFjdGVyV2l0aExlbmd0aCBD aGFyYWN0ZXJXaXRob3V0TGVuZ3RoCisJCQkJTkNoYXJhY3RlcldpdGhMZW5n dGggTkNoYXJhY3RlcldpdGhvdXRMZW5ndGgKIAkJCQlDb25zdERhdGV0aW1l IENvbnN0SW50ZXJ2YWwKIAkJCQlCaXQgQ29uc3RCaXQgQml0V2l0aExlbmd0 aCBCaXRXaXRob3V0TGVuZ3RoCiAldHlwZSA8c3RyPgkJY2hhcmFjdGVyCisl dHlwZSA8c3RyPiAgICAgICAgICAgICBuY2hhcmFjdGVyCiAldHlwZSA8c3Ry PgkJZXh0cmFjdF9hcmcKICV0eXBlIDxzdHI+CQlvcHRfY2hhcnNldAogJXR5 cGUgPGJvb2xlYW4+IG9wdF92YXJ5aW5nIG9wdF90aW1lem9uZSBvcHRfbm9f aW5oZXJpdAogCiAldHlwZSA8aXZhbD4JSWNvbnN0IFNpZ25lZEljb25zdApA QCAtNTYyLDEwICs1NjQsMTEgQEAKIAlNQVBQSU5HIE1BVENIIE1BVEVSSUFM SVpFRCBNQVhWQUxVRSBNSU5VVEVfUCBNSU5WQUxVRSBNT0RFIE1PTlRIX1Ag TU9WRQogCiAJTkFNRV9QIE5BTUVTIE5BVElPTkFMIE5BVFVSQUwgTkNIQVIg TkVYVCBOTyBOT05FCiAJTk9UIE5PVEhJTkcgTk9USUZZIE5PVE5VTEwgTk9X QUlUIE5VTExfUCBOVUxMSUYKIAlOVUxMU19QIE5VTUVSSUMKKwlOVkFSQ0hB UgogCiAJT0JKRUNUX1AgT0YgT0ZGIE9GRlNFVCBPSURTIE9OIE9OTFkgT1BF UkFUT1IgT1BUSU9OIE9QVElPTlMgT1IKIAlPUkRFUiBPUkRJTkFMSVRZIE9V VF9QIE9VVEVSX1AgT1ZFUiBPVkVSTEFQUyBPVkVSTEFZIE9XTkVEIE9XTkVS CiAKIAlQQVJTRVIgUEFSVElBTCBQQVJUSVRJT04gUEFTU0lORyBQQVNTV09S RCBQTEFDSU5HIFBMQU5TIFBPU0lUSU9OCkBAIC0xMDI3NywxMyArMTAyODAs MjIgQEAKIAkJCQl9CiAJCQl8IENoYXJhY3RlcldpdGhvdXRMZW5ndGgKIAkJ CQl7CiAJCQkJCSQkID0gJDE7CiAJCQkJfQorCQkJfCBOQ2hhcmFjdGVyV2l0 aExlbmd0aAorCQkJCXsKKwkJCQkJJCQgPSAkMTsKKwkJCQl9CisJCQl8IE5D aGFyYWN0ZXJXaXRob3V0TGVuZ3RoCisJCQkJeworCQkJCQkkJCA9ICQxOwor CQkJCX0KIAkJOwogCi1Db25zdENoYXJhY3RlcjogIENoYXJhY3RlcldpdGhM ZW5ndGgKK0NvbnN0Q2hhcmFjdGVyOgorCQkJQ2hhcmFjdGVyV2l0aExlbmd0 aAogCQkJCXsKIAkJCQkJJCQgPSAkMTsKIAkJCQl9CiAJCQl8IENoYXJhY3Rl cldpdGhvdXRMZW5ndGgKIAkJCQl7CkBAIC0xMDI5NCwxMyArMTAzMDYsNzkg QEAKIAkJCQkJICogd2FzIG5vdCBzcGVjaWZpZWQuCiAJCQkJCSAqLwogCQkJ CQkkJCA9ICQxOwogCQkJCQkkJC0+dHlwbW9kcyA9IE5JTDsKIAkJCQl9CisJ CQl8IE5DaGFyYWN0ZXJXaXRoTGVuZ3RoCisJCQkJeworCQkJCQkkJCA9ICQx OworCQkJCX0KKwkJCXwgTkNoYXJhY3RlcldpdGhvdXRMZW5ndGgKKwkJCQl7 CisJCQkJCS8qIExlbmd0aCB3YXMgbm90IHNwZWNpZmllZCBzbyBhbGxvdyB0 byBiZSB1bnJlc3RyaWN0ZWQuCisJCQkJCSogVGhpcyBoYW5kbGVzIHByb2Js ZW1zIHdpdGggZml4ZWQtbGVuZ3RoIChicGNoYXIpIHN0cmluZ3MKKwkJCQkJ KiB3aGljaCBpbiBjb2x1bW4gZGVmaW5pdGlvbnMgbXVzdCBkZWZhdWx0IHRv IGEgbGVuZ3RoCisJCQkJCSogb2Ygb25lLCBidXQgc2hvdWxkIG5vdCBiZSBj b25zdHJhaW5lZCBpZiB0aGUgbGVuZ3RoCisJCQkJCSogd2FzIG5vdCBzcGVj aWZpZWQuCisJCQkJCSovCisJCQkJCSQkID0gJDE7CisJCQkJCSQkLT50eXBt b2RzID0gTklMOworCQkJCX0KIAkJOwogCi1DaGFyYWN0ZXJXaXRoTGVuZ3Ro OiAgY2hhcmFjdGVyICcoJyBJY29uc3QgJyknIG9wdF9jaGFyc2V0CitOQ2hh cmFjdGVyV2l0aExlbmd0aDoKKwkJCU5BVElPTkFMIG5jaGFyYWN0ZXIgJygn IEljb25zdCAnKScgb3B0X2NoYXJzZXQKKwkJCQl7CisJCQkJCWlmICgoJDYg IT0gTlVMTCkgJiYgKHN0cmNtcCgkNiwgInNxbF90ZXh0IikgIT0gMCkpCisJ CQkJeworCQkJCQkJY2hhciAqdHlwZTsKKworCQkJCQkJdHlwZSA9IHBhbGxv YyhzdHJsZW4oJDIpICsgMSArIHN0cmxlbigkMikgKyAxKTsKKwkJCQkJCXN0 cmNweSh0eXBlLCAkMik7CisJCQkJCQlzdHJjYXQodHlwZSwgIl8iKTsKKwkJ CQkJCXN0cmNhdCh0eXBlLCAkNik7CisJCQkJCQkkMSA9IHR5cGU7CisJCQkJ CX0KKwkJCQkJJCQgPSBTeXN0ZW1UeXBlTmFtZSgkMik7CisJCQkJCSQkLT50 eXBtb2RzID0gbGlzdF9tYWtlMShtYWtlSW50Q29uc3QoJDQsIEA0KSk7CisJ CQkJCSQkLT5sb2NhdGlvbiA9IEAxOworCQkJCX0KKwkJOworCitOQ2hhcmFj dGVyV2l0aG91dExlbmd0aDoKKwkJCU5BVElPTkFMIG5jaGFyYWN0ZXIgb3B0 X2NoYXJzZXQKKwkJCQl7CisJCQkJCWlmICgoJDMgIT0gTlVMTCkgJiYgKHN0 cmNtcCgkMywgInNxbF90ZXh0IikgIT0gMCkpCisJCQkJCXsKKwkJCQkJCWNo YXIgKnR5cGU7CisKKwkJCQkJCXR5cGUgPSBwYWxsb2Moc3RybGVuKCQyKSAr IDEgKyBzdHJsZW4oJDMpICsgMSk7CisJCQkJCQlzdHJjcHkodHlwZSwgJDIp OworCQkJCQkJc3RyY2F0KHR5cGUsICJfIik7CisJCQkJCQlzdHJjYXQodHlw ZSwgJDMpOworCQkJCQkJJDIgPSB0eXBlOworCQkJCQl9CisJCQkJCSQkID0g U3lzdGVtVHlwZU5hbWUoJDIpOworCQkJCQkvKiBuY2hhciBkZWZhdWx0cyB0 byBjaGFyKDEpLCB2YXJjaGFyIHRvIG5vIGxpbWl0ICovCisJCQkJCWlmIChz dHJjbXAoJDIsICJuYnBjaGFyIikgPT0gMCkKKwkJCQkJCSQkLT50eXBtb2Rz ID0gbGlzdF9tYWtlMShtYWtlSW50Q29uc3QoMSwgLTEpKTsKKworCQkJCQkk JC0+bG9jYXRpb24gPSBAMTsKKwkJCQl9CisJCTsKKworbmNoYXJhY3RlcjoK KwkJCUNIQVJBQ1RFUiBvcHRfdmFyeWluZworCQkJCXsgJCQgPSAkMiA/ICJu dmFyY2hhciI6ICJuYnBjaGFyIjsgfQorCQkJfCBDSEFSX1Agb3B0X3Zhcnlp bmcKKwkJCQl7ICQkID0gJDIgPyAibnZhcmNoYXIiOiAibmJwY2hhciI7IH0K KwkJCXwgVkFSQ0hBUgorCQkJCXsgJCQgPSAibnZhcmNoYXIiOyB9CisJCTsK KworQ2hhcmFjdGVyV2l0aExlbmd0aDoKKwkJCSAgY2hhcmFjdGVyICcoJyBJ Y29uc3QgJyknIG9wdF9jaGFyc2V0CiAJCQkJewogCQkJCQlpZiAoKCQ1ICE9 IE5VTEwpICYmIChzdHJjbXAoJDUsICJzcWxfdGV4dCIpICE9IDApKQogCQkJ CQl7CiAJCQkJCQljaGFyICp0eXBlOwogCkBAIC0xMDMxNSwxMSArMTAzOTMs MTIgQEAKIAkJCQkJJCQtPnR5cG1vZHMgPSBsaXN0X21ha2UxKG1ha2VJbnRD b25zdCgkMywgQDMpKTsKIAkJCQkJJCQtPmxvY2F0aW9uID0gQDE7CiAJCQkJ fQogCQk7CiAKLUNoYXJhY3RlcldpdGhvdXRMZW5ndGg6CSBjaGFyYWN0ZXIg b3B0X2NoYXJzZXQKK0NoYXJhY3RlcldpdGhvdXRMZW5ndGg6CisJCQkgY2hh cmFjdGVyIG9wdF9jaGFyc2V0CiAJCQkJewogCQkJCQlpZiAoKCQyICE9IE5V TEwpICYmIChzdHJjbXAoJDIsICJzcWxfdGV4dCIpICE9IDApKQogCQkJCQl7 CiAJCQkJCQljaGFyICp0eXBlOwogCkBAIC0xMDMzMCwzMCArMTA0MDksMjkg QEAKIAkJCQkJCSQxID0gdHlwZTsKIAkJCQkJfQogCiAJCQkJCSQkID0gU3lz dGVtVHlwZU5hbWUoJDEpOwogCi0JCQkJCS8qIGNoYXIgZGVmYXVsdHMgdG8g Y2hhcigxKSwgdmFyY2hhciB0byBubyBsaW1pdCAqLwotCQkJCQlpZiAoc3Ry Y21wKCQxLCAiYnBjaGFyIikgPT0gMCkKKwkJCQkJLyogW25dY2hhciBkZWZh dWx0cyB0byBbbmF0aW9uYWwgXWNoYXIoMSksIHZhcmNoYXIgdG8gbm8gbGlt aXQgKi8KKwkJCQkJaWYgKChzdHJjbXAoJDEsICJicGNoYXIiKSA9PSAwKSB8 fCAoc3RyY21wKCQxLCAibmJwY2hhciIpID09IDApKQogCQkJCQkJJCQtPnR5 cG1vZHMgPSBsaXN0X21ha2UxKG1ha2VJbnRDb25zdCgxLCAtMSkpOwogCiAJ CQkJCSQkLT5sb2NhdGlvbiA9IEAxOwogCQkJCX0KIAkJOwogCi1jaGFyYWN0 ZXI6CUNIQVJBQ1RFUiBvcHRfdmFyeWluZworY2hhcmFjdGVyOgorCQkJQ0hB UkFDVEVSIG9wdF92YXJ5aW5nCiAJCQkJCQkJCQkJeyAkJCA9ICQyID8gInZh cmNoYXIiOiAiYnBjaGFyIjsgfQogCQkJfCBDSEFSX1Agb3B0X3ZhcnlpbmcK IAkJCQkJCQkJCQl7ICQkID0gJDIgPyAidmFyY2hhciI6ICJicGNoYXIiOyB9 CiAJCQl8IFZBUkNIQVIKIAkJCQkJCQkJCQl7ICQkID0gInZhcmNoYXIiOyB9 Ci0JCQl8IE5BVElPTkFMIENIQVJBQ1RFUiBvcHRfdmFyeWluZwotCQkJCQkJ CQkJCXsgJCQgPSAkMyA/ICJ2YXJjaGFyIjogImJwY2hhciI7IH0KLQkJCXwg TkFUSU9OQUwgQ0hBUl9QIG9wdF92YXJ5aW5nCi0JCQkJCQkJCQkJeyAkJCA9 ICQzID8gInZhcmNoYXIiOiAiYnBjaGFyIjsgfQogCQkJfCBOQ0hBUiBvcHRf dmFyeWluZwotCQkJCQkJCQkJCXsgJCQgPSAkMiA/ICJ2YXJjaGFyIjogImJw Y2hhciI7IH0KKwkJCQl7ICQkID0gJDIgPyAibnZhcmNoYXIiOiAibmJwY2hh ciI7IH0KKwkJCXwgTlZBUkNIQVIKKwkJCQl7ICQkID0gIm52YXJjaGFyIjsg fQogCQk7CiAKIG9wdF92YXJ5aW5nOgogCQkJVkFSWUlORwkJCQkJCQkJCXsg JCQgPSBUUlVFOyB9CiAJCQl8IC8qRU1QVFkqLwkJCQkJCQkJeyAkJCA9IEZB TFNFOyB9CkBAIC0xMjczOSwxMCArMTI4MTcsMTEgQEAKIAkJCXwgTkFUSU9O QUwKIAkJCXwgTkNIQVIKIAkJCXwgTk9ORQogCQkJfCBOVUxMSUYKIAkJCXwg TlVNRVJJQworCQkJfCBOVkFSQ0hBUgogCQkJfCBPVVRfUAogCQkJfCBPVkVS TEFZCiAJCQl8IFBPU0lUSU9OCiAJCQl8IFBSRUNJU0lPTgogCQkJfCBSRUFM CmRpZmYgLVUgNSAtTiAtciAtdyAuLi9vcmlnLkhFQUQvc3JjL2JhY2tlbmQv cGFyc2VyL3NjYW4ubCAuL3NyYy9iYWNrZW5kL3BhcnNlci9zY2FuLmwKLS0t IC4uL29yaWcuSEVBRC9zcmMvYmFja2VuZC9wYXJzZXIvc2Nhbi5sCTIwMTMt MDgtMTkgMjA6MjI6MDguMDAwMDAwMDAwIC0wNDAwCisrKyAuL3NyYy9iYWNr ZW5kL3BhcnNlci9zY2FuLmwJMjAxMy0wOC0xOSAyMjoyNzowMi4wMDAwMDAw MDAgLTA0MDAKQEAgLTQ4MCwxMSArNDgwLDExIEBACiAJCQkJCWNvbnN0IFNj YW5LZXl3b3JkICprZXl3b3JkOwogCiAJCQkJCVNFVF9ZWUxMT0MoKTsKIAkJ CQkJeXlsZXNzKDEpOwkJCQkvKiBlYXQgb25seSAnbicgdGhpcyB0aW1lICov CiAKLQkJCQkJa2V5d29yZCA9IFNjYW5LZXl3b3JkTG9va3VwKCJuY2hhciIs CisJCQkJCWtleXdvcmQgPSBTY2FuS2V5d29yZExvb2t1cCgibnZhcmNoYXIi LAogCQkJCQkJCQkJCQkJeXlleHRyYS0+a2V5d29yZHMsCiAJCQkJCQkJCQkJ CQl5eWV4dHJhLT5udW1fa2V5d29yZHMpOwogCQkJCQlpZiAoa2V5d29yZCAh PSBOVUxMKQogCQkJCQl7CiAJCQkJCQl5eWx2YWwtPmtleXdvcmQgPSBrZXl3 b3JkLT5uYW1lOwpkaWZmIC1VIDUgLU4gLXIgLXcgLi4vb3JpZy5IRUFEL3Ny Yy9iYWNrZW5kL3V0aWxzL2FkdC9mb3JtYXRfdHlwZS5jIC4vc3JjL2JhY2tl bmQvdXRpbHMvYWR0L2Zvcm1hdF90eXBlLmMKLS0tIC4uL29yaWcuSEVBRC9z cmMvYmFja2VuZC91dGlscy9hZHQvZm9ybWF0X3R5cGUuYwkyMDEzLTA4LTE5 IDIwOjIyOjA5LjAwMDAwMDAwMCAtMDQwMAorKysgLi9zcmMvYmFja2VuZC91 dGlscy9hZHQvZm9ybWF0X3R5cGUuYwkyMDEzLTA4LTE5IDIwOjU0OjAwLjAw MDAwMDAwMCAtMDQwMApAQCAtMjE2LDEwICsyMTYsMjUgQEAKIAkJCX0KIAkJ CWVsc2UKIAkJCQlidWYgPSBwc3RyZHVwKCJjaGFyYWN0ZXIiKTsKIAkJCWJy ZWFrOwogCisJCWNhc2UgTkJQQ0hBUk9JRDoKKwkJCWlmICh3aXRoX3R5cGVt b2QpCisJCQkJYnVmID0gcHJpbnRUeXBtb2QoIm5hdGlvbmFsIGNoYXJhY3Rl ciIsIHR5cGVtb2QsIHR5cGVmb3JtLT50eXBtb2RvdXQpOworCQkJZWxzZSBp ZiAodHlwZW1vZF9naXZlbikKKwkJCXsKKwkJCQkvKgorCQkJCSAqIGJwY2hh ciB3aXRoIHR5cG1vZCAtMSBpcyBub3QgdGhlIHNhbWUgYXMgQ0hBUkFDVEVS LCB3aGljaAorCQkJCSAqIG1lYW5zIENIQVJBQ1RFUigxKSBwZXIgU1FMIHNw ZWMuICBSZXBvcnQgaXQgYXMgYnBjaGFyIHNvCisJCQkJICogdGhhdCBwYXJz ZXIgd2lsbCBub3QgYXNzaWduIGEgYm9ndXMgdHlwbW9kLgorCQkJCSAqLwor CQkJfQorCQkJZWxzZQorCQkJCWJ1ZiA9IHBzdHJkdXAoIm5hdGlvbmFsIGNo YXJhY3RlciIpOworCQkJYnJlYWs7CisKIAkJY2FzZSBGTE9BVDRPSUQ6CiAJ CQlidWYgPSBwc3RyZHVwKCJyZWFsIik7CiAJCQlicmVhazsKIAogCQljYXNl IEZMT0FUOE9JRDoKQEAgLTI5MSwxMCArMzA2LDE3IEBACiAJCQlpZiAod2l0 aF90eXBlbW9kKQogCQkJCWJ1ZiA9IHByaW50VHlwbW9kKCJjaGFyYWN0ZXIg dmFyeWluZyIsIHR5cGVtb2QsIHR5cGVmb3JtLT50eXBtb2RvdXQpOwogCQkJ ZWxzZQogCQkJCWJ1ZiA9IHBzdHJkdXAoImNoYXJhY3RlciB2YXJ5aW5nIik7 CiAJCQlicmVhazsKKworCQljYXNlIE5WQVJDSEFST0lEOgorCQkJaWYgKHdp dGhfdHlwZW1vZCkKKwkJCQlidWYgPSBwcmludFR5cG1vZCgibmF0aW9uYWwg Y2hhcmFjdGVyIHZhcnlpbmciLCB0eXBlbW9kLCB0eXBlZm9ybS0+dHlwbW9k b3V0KTsKKwkJCWVsc2UKKwkJCQlidWYgPSBwc3RyZHVwKCJuYXRpb25hbCBj aGFyYWN0ZXIgdmFyeWluZyIpOworCQkJYnJlYWs7CiAJfQogCiAJaWYgKGJ1 ZiA9PSBOVUxMKQogCXsKIAkJLyoKQEAgLTM4MSwxMSArNDAzLDEzIEBACiAJ CXJldHVybiAtMTsKIAogCXN3aXRjaCAodHlwZV9vaWQpCiAJewogCQljYXNl IEJQQ0hBUk9JRDoKKwkJY2FzZSBOQlBDSEFST0lEOgogCQljYXNlIFZBUkNI QVJPSUQ6CisJCWNhc2UgTlZBUkNIQVJPSUQ6CiAJCQkvKiB0eXBlbW9kIGlu Y2x1ZGVzIHZhcmxlbmEgaGVhZGVyICovCiAKIAkJCS8qIHR5cGVtb2QgaXMg aW4gY2hhcmFjdGVycyBub3QgYnl0ZXMgKi8KIAkJCXJldHVybiAodHlwZW1v ZCAtIFZBUkhEUlNaKSAqCiAJCQkJcGdfZW5jb2RpbmdfbWF4X2xlbmd0aChH ZXREYXRhYmFzZUVuY29kaW5nKCkpCmRpZmYgLVUgNSAtTiAtciAtdyAuLi9v cmlnLkhFQUQvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L01ha2VmaWxlIC4vc3Jj L2JhY2tlbmQvdXRpbHMvYWR0L01ha2VmaWxlCi0tLSAuLi9vcmlnLkhFQUQv c3JjL2JhY2tlbmQvdXRpbHMvYWR0L01ha2VmaWxlCTIwMTMtMDgtMTkgMjA6 MjI6MDkuMDAwMDAwMDAwIC0wNDAwCisrKyAuL3NyYy9iYWNrZW5kL3V0aWxz L2FkdC9NYWtlZmlsZQkyMDEzLTA4LTIwIDA0OjUzOjQ1LjAwMDAwMDAwMCAt MDQwMApAQCAtMTgsMTEgKzE4LDExIEBACiBPQkpTID0gYWNsLm8gYXJyYXlm dW5jcy5vIGFycmF5X3NlbGZ1bmNzLm8gYXJyYXlfdHlwYW5hbHl6ZS5vIFwK IAlhcnJheV91c2VyZnVuY3MubyBhcnJheXV0aWxzLm8gYm9vbC5vIFwKIAlj YXNoLm8gY2hhci5vIGRhdGUubyBkYXRldGltZS5vIGRhdHVtLm8gZG9tYWlu cy5vIFwKIAllbnVtLm8gZmxvYXQubyBmb3JtYXRfdHlwZS5vIFwKIAlnZW9f b3BzLm8gZ2VvX3NlbGZ1bmNzLm8gaW50Lm8gaW50OC5vIGpzb24ubyBqc29u ZnVuY3MubyBsaWtlLm8gXAotCWxvY2tmdW5jcy5vIG1pc2MubyBuYWJzdGlt ZS5vIG5hbWUubyBudW1lcmljLm8gbnVtdXRpbHMubyBcCisJbG9ja2Z1bmNz Lm8gbWlzYy5vIG5hYnN0aW1lLm8gbmFtZS5vIG51bWVyaWMubyBudW11dGls cy5vIG52YXJjaGFyLm8gXAogCW9pZC5vIG9yYWNsZV9jb21wYXQubyBwc2V1 ZG90eXBlcy5vIHJhbmdldHlwZXMubyByYW5nZXR5cGVzX2dpc3QubyBcCiAJ cm93dHlwZXMubyByZWdleHAubyByZWdwcm9jLm8gcnVsZXV0aWxzLm8gc2Vs ZnVuY3MubyBcCiAJdGlkLm8gdGltZXN0YW1wLm8gdmFyYml0Lm8gdmFyY2hh ci5vIHZhcmxlbmEubyB2ZXJzaW9uLm8geGlkLm8gXAogCW5ldHdvcmsubyBt YWMubyBpbmV0X2NpZHJfbnRvcC5vIGluZXRfbmV0X3B0b24ubyBcCiAJcmlf dHJpZ2dlcnMubyBwZ19semNvbXByZXNzLm8gcGdfbG9jYWxlLm8gZm9ybWF0 dGluZy5vIFwKZGlmZiAtVSA1IC1OIC1yIC13IC4uL29yaWcuSEVBRC9zcmMv YmFja2VuZC91dGlscy9hZHQvbnZhcmNoYXIuYyAuL3NyYy9iYWNrZW5kL3V0 aWxzL2FkdC9udmFyY2hhci5jCi0tLSAuLi9vcmlnLkhFQUQvc3JjL2JhY2tl bmQvdXRpbHMvYWR0L252YXJjaGFyLmMJMTk2OS0xMi0zMSAxOTowMDowMC4w MDAwMDAwMDAgLTA1MDAKKysrIC4vc3JjL2JhY2tlbmQvdXRpbHMvYWR0L252 YXJjaGFyLmMJMjAxMy0wOC0yMCAwNDo1NDowNi4wMDAwMDAwMDAgLTA0MDAK QEAgLTAsMCArMSw0MjEgQEAKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorICoKKyAqIG52YXJjaGFyLmMKKyAqCSAgRnVuY3Rpb25zIGZvciB0 aGUgYnVpbHQtaW4gdHlwZXMgbmNoYXIobikgYW5kIG52YXJjaGFyKG4pLgor ICoKKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMTk5Ni0yMDEyLCBQb3N0 Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cAorICogUG9ydGlvbnMg Q29weXJpZ2h0IChjKSAxOTk0LCBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5 IG9mIENhbGlmb3JuaWEKKyAqCisgKgorICogSURFTlRJRklDQVRJT04KKyAq CSAgc3JjL2JhY2tlbmQvdXRpbHMvYWR0L252YXJjaGFyLmMKKyAqCisgKi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworI2luY2x1ZGUgInBv c3RncmVzLmgiCisKKworI2luY2x1ZGUgImFjY2Vzcy9oYXNoLmgiCisjaW5j bHVkZSAiYWNjZXNzL3R1cHRvYXN0ZXIuaCIKKyNpbmNsdWRlICJsaWJwcS9w cWZvcm1hdC5oIgorI2luY2x1ZGUgIm5vZGVzL25vZGVGdW5jcy5oIgorI2lu Y2x1ZGUgInV0aWxzL2FycmF5LmgiCisjaW5jbHVkZSAidXRpbHMvYnVpbHRp bnMuaCIKKyNpbmNsdWRlICJtYi9wZ193Y2hhci5oIgorI2luY2x1ZGUgInV0 aWxzL2Zvcm1hdHRpbmcuaCIKKyNpbmNsdWRlICJjYXRhbG9nL25hbWVzcGFj ZS5oIgorI2luY2x1ZGUgImNhdGFsb2cvcGdfY29sbGF0aW9uLmgiCisKKy8q CisgKgkJPT09PT09PT09PT09PT09PT09PT0KKyAqCQlGT1JXQVJEIERFQ0xB UkFUSU9OUworICoJCT09PT09PT09PT09PT09PT09PT09CisgKi8KK3N0YXRp YyBpbnQzMiBudGV4dGNtcCh0ZXh0ICpsZWZ0LCB0ZXh0ICpyaWdodCwgT2lk IGNvbGxpZCk7CisKKy8vIGJlaW5nIHJlYWxseSBkdW1iIGZvciBudGV4dCBj b2xsYXRpb24gaW5pdGlhbGx5IAorc3RhdGljIGNvbnN0IGNoYXIgKm50ZXh0 X2NvbGxhdGlvbiA9ICJDLlVURi04IjsKKworLyoKKyAqICAgICAgPT09PT09 PT09PT09PT09PT09PQorICogICAgICBUWVBFIENBU1QgRlVOQ1RJT05TCisg KiAgICAgID09PT09PT09PT09PT09PT09PT0KKyAqLworCisvKgorICogY29u dmVydCB0ZXh0IHRvIG50ZXh0ICh0aGUgZGF0YWJhc2UgZW5jb2RpbmcgdG8g VVRGOCkKKyAqLworRGF0dW0KK3RleHQybnZhcmNoYXIoUEdfRlVOQ1RJT05f QVJHUykKK3sKKyAgICB0ZXh0ICAgICAgICppbl92YWwgPSBQR19HRVRBUkdf VEVYVF9QUCgwKTsKKyAgICBjaGFyICAgICAgICppbl9zdHJpbmc7CisgICAg dGV4dCAgICAgICAqb3V0X3ZhbDsKKworICAgIGluX3N0cmluZyA9IHRleHRf dG9fY3N0cmluZyhpbl92YWwpOworICAgIG91dF92YWwgPSBjc3RyaW5nX3Rv X3RleHQocGdfc2VydmVyX3RvX2FueShpbl9zdHJpbmcsIHN0cmxlbihpbl9z dHJpbmcpLCBQR19VVEY4KSk7CisKKyAgICBQR19SRVRVUk5fVEVYVF9QKG91 dF92YWwpOworfQorCisvKgorICogY29udmVydCBudGV4dCB0byB0ZXh0IChV VEY4IHRvIHRoZSBkYXRhYmFzZSBlbmNvZGluZykKKyAqLworRGF0dW0KK252 YXJjaGFyMnRleHQoUEdfRlVOQ1RJT05fQVJHUykKK3sKKyAgICB0ZXh0ICAg ICAgICppbl92YWwgPSBQR19HRVRBUkdfVEVYVF9QUCgwKTsKKyAgICBjaGFy ICAgICAgICppbl9zdHJpbmc7CisgICAgdGV4dCAgICAgICAqb3V0X3ZhbDsK KworICAgIGluX3N0cmluZyA9IHRleHRfdG9fY3N0cmluZyhpbl92YWwpOwor ICAgIG91dF92YWwgPSBjc3RyaW5nX3RvX3RleHQocGdfYW55X3RvX3NlcnZl cihpbl9zdHJpbmcsIHN0cmxlbihpbl9zdHJpbmcpLCBQR19VVEY4KSk7CisK KyAgICBQR19SRVRVUk5fVEVYVF9QKG91dF92YWwpOworfQorCisvKgorICog Y29udmVydCBydHJpbW1lZCB0ZXh0IHRvIG50ZXh0ICh0aGUgZGF0YWJhc2Ug ZW5jb2RpbmcgdG8gVVRGOCkKKyAqIHVzZWQgZm9yIGNvbnZlcnNpb24gZnJv bSBjaGFyIHR5cGUgdG8gbnZhcmNoYXIgdHlwZQorICovCitEYXR1bQorcnRy aW10ZXh0Mm52YXJjaGFyKFBHX0ZVTkNUSU9OX0FSR1MpCit7CisgICAgdGV4 dCAgICAgICAqaW5fdmFsID0gUEdfR0VUQVJHX1RFWFRfUFAoMCk7CisgICAg Y2hhciAgICAgICAqaW5fc3RyaW5nOworICAgIHRleHQgICAgICAgKm91dF92 YWw7CisgICAgdGV4dCAgICAgICAqdHJpbW1lZF92YWw7CisKKwl0cmltbWVk X3ZhbCA9IGRvdHJpbShWQVJEQVRBX0FOWShpbl92YWwpLCBWQVJTSVpFX0FO WV9FWEhEUihpbl92YWwpLAorCQkJCSIgIiwgMSwKKwkJCQlmYWxzZSwgdHJ1 ZSk7CisgICAgaW5fc3RyaW5nID0gdGV4dF90b19jc3RyaW5nKHRyaW1tZWRf dmFsKTsKKyAgICBvdXRfdmFsID0gY3N0cmluZ190b190ZXh0KHBnX3NlcnZl cl90b19hbnkoaW5fc3RyaW5nLCBzdHJsZW4oaW5fc3RyaW5nKSwgUEdfVVRG OCkpOworCisgICAgUEdfUkVUVVJOX1RFWFRfUChvdXRfdmFsKTsKK30KKwor LyoKKyAqIGNvbnZlcnQgbnRleHQgdG8gcnRyaW1tZWQgdGV4dCAoVVRGOCB0 byB0aGUgZGF0YWJhc2UgZW5jb2RpbmcpCisgKiB1c2VkIGZvciBjb252ZXJz aW9uIGZyb20gbmNoYXIgdHlwZXMgdG8gdmFyY2hhci90ZXh0IHR5cGVzCisg Ki8KK0RhdHVtCitudmFyY2hhcjJydHJpbXRleHQoUEdfRlVOQ1RJT05fQVJH UykKK3sKKyAgICB0ZXh0ICAgICAgICppbl92YWwgPSBQR19HRVRBUkdfVEVY VF9QUCgwKTsKKyAgICBjaGFyICAgICAgICppbl9zdHJpbmc7CisgICAgdGV4 dCAgICAgICAqb3V0X3ZhbDsKKwl0ZXh0ICAgICAgICp0cmltbWVkX3ZhbDsK KworICAgIGluX3N0cmluZyA9IHRleHRfdG9fY3N0cmluZyhpbl92YWwpOwor ICAgIG91dF92YWwgPSBjc3RyaW5nX3RvX3RleHQocGdfYW55X3RvX3NlcnZl cihpbl9zdHJpbmcsIHN0cmxlbihpbl9zdHJpbmcpLCBQR19VVEY4KSk7Cisg ICAgdHJpbW1lZF92YWwgPSBkb3RyaW0oVkFSREFUQV9BTlkob3V0X3ZhbCks IFZBUlNJWkVfQU5ZX0VYSERSKG91dF92YWwpLAorICAgICAgICAgICAgICAg ICIgIiwgMSwKKyAgICAgICAgICAgICAgICBmYWxzZSwgdHJ1ZSk7CisgICAg UEdfUkVUVVJOX1RFWFRfUCh0cmltbWVkX3ZhbCk7Cit9CisKKworCisvKgor ICoJCT09PT09PT09PT09PT09PT09CisgKgkJVVRJTElUWSBGVU5DVElPTlMK KyAqCQk9PT09PT09PT09PT09PT09PQorICovCisKKy8qCisgKiAgICAgIG50 ZXh0aW4gICAgICAgICAgLSBjb252ZXJ0cyAiLi4uIiAoYXNzdW1lIHRoYXQg Ii4uLiIgdXNpbmcgZGIgZW5jb2Rpbmcgd2UgbmVlZCBkZWNvZGUgaXQgdG8g VVRGOCkgdG8gaW50ZXJuYWwgcmVwcmVzZW50YXRpb24KKyAqLworCitEYXR1 bQorbnRleHRpbihQR19GVU5DVElPTl9BUkdTKQoreworICAgIGNoYXIgICAg ICAgKmluX3ZhbCA9IFBHX0dFVEFSR19DU1RSSU5HKDApOworCisgICAgUEdf UkVUVVJOX1RFWFRfUChjc3RyaW5nX3RvX3RleHQocGdfc2VydmVyX3RvX2Fu eShpbl92YWwsIHN0cmxlbihpbl92YWwpLCBQR19VVEY4KSkpOworfQorCisv KgorICogICAgICBudGV4dG91dCAgICAgICAgIC0gY29udmVydHMgaW50ZXJu YWwgcmVwcmVzZW50YXRpb24gdG8gIi4uLiIgKGFzc3VtZSB0aGF0ICIuLi4i IHVzaW5nIGRiIGVuY29kaW5nIHdlIG5lZWQgZGVjb2RlIGl0IGZyb20gVVRG OCkKKyAqLworCitEYXR1bQorbnRleHRvdXQoUEdfRlVOQ1RJT05fQVJHUykK K3sKKyAgICB0ZXh0ICAgICAgICppbl92YWwgPSBQR19HRVRBUkdfVEVYVF9Q UCgwKTsKKyAgICBjaGFyICAgICAgICppbl9zdHJpbmc7CisKKyAgICBpbl9z dHJpbmcgPSB0ZXh0X3RvX2NzdHJpbmcoaW5fdmFsKTsKKyAgICBQR19SRVRV Uk5fQ1NUUklORyhwZ19hbnlfdG9fc2VydmVyKGluX3N0cmluZywgc3RybGVu KGluX3N0cmluZyksIFBHX1VURjgpKTsKK30KKworCisvKgorICogQ29udmVy dCBhIEMgc3RyaW5nIHRvIFZBUkNIQVIgaW50ZXJuYWwgcmVwcmVzZW50YXRp b24uICBhdHR0eXBtb2QKKyAqIGlzIHRoZSBkZWNsYXJlZCBsZW5ndGggb2Yg dGhlIHR5cGUgcGx1cyBWQVJIRFJTWi4KKyAqLworRGF0dW0KK252YXJjaGFy aW4oUEdfRlVOQ1RJT05fQVJHUykKK3sKKyAgICBjaGFyICAgICAgICpzID0g UEdfR0VUQVJHX0NTVFJJTkcoMCk7CisjaWZkZWYgTk9UX1VTRUQKKyAgICBP aWQgICAgICAgICB0eXBlbGVtID0gUEdfR0VUQVJHX09JRCgxKTsKKyNlbmRp ZgorICAgIGludDMyICAgICAgIGF0dHR5cG1vZCA9IFBHX0dFVEFSR19JTlQz MigyKTsKKyAgICBWYXJDaGFyICAgICpyZXN1bHQ7CisKKy8vICAgIHJlc3Vs dCA9IHZhcmNoYXJfaW5wdXQocywgc3RybGVuKHMpLCBhdHR0eXBtb2QpOwor Ly8gICAgUEdfUkVUVVJOX1ZBUkNIQVJfUChyZXN1bHQpOworCVBHX1JFVFVS Tl9WQVJDSEFSX1AoY3N0cmluZ190b190ZXh0KHBnX3NlcnZlcl90b19hbnko cywgc3RybGVuKHMpLCBQR19VVEY4KSkpOworfQorCisKKy8qCisgKiBDb252 ZXJ0IGEgVkFSQ0hBUiB2YWx1ZSB0byBhIEMgc3RyaW5nLgorICoKKyAqIFVz ZXMgdGhlIHRleHQgdG8gQyBzdHJpbmcgY29udmVyc2lvbiBmdW5jdGlvbiwg d2hpY2ggaXMgb25seSBhcHByb3ByaWF0ZQorICogaWYgVmFyQ2hhciBhbmQg dGV4dCBhcmUgZXF1aXZhbGVudCB0eXBlcy4KKyAqLworRGF0dW0KK252YXJj aGFyb3V0KFBHX0ZVTkNUSU9OX0FSR1MpCit7CisgICAgRGF0dW0gICAgICAg dHh0ID0gUEdfR0VUQVJHX0RBVFVNKDApOworICAgIGNoYXIgICAgICAgICpp bl9zdHJpbmc7CisKKyAgICBpbl9zdHJpbmcgPSB0ZXh0X3RvX2NzdHJpbmco dHh0KTsKKyAgICBQR19SRVRVUk5fQ1NUUklORyhwZ19hbnlfdG9fc2VydmVy KGluX3N0cmluZywgc3RybGVuKHR4dCksIFBHX1VURjgpKTsKK30KKworCitE YXR1bQorbnRleHRsb3dlcihQR19GVU5DVElPTl9BUkdTKQoreworICAgIHRl eHQgICAgICAgKmluX3N0cmluZyA9IFBHX0dFVEFSR19URVhUX1BQKDApOwor ICAgIGNoYXIgICAgICAgKm91dF9zdHJpbmc7CisgICAgdGV4dCAgICAgICAq cmVzdWx0OworCisgICAgb3V0X3N0cmluZyA9IHN0cl90b2xvd2VyKFZBUkRB VEFfQU5ZKGluX3N0cmluZyksCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFZBUlNJWkVfQU5ZX0VYSERSKGluX3N0cmluZyksCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIENvbGxhdGlvbkdldENvbGxpZChudGV4dF9j b2xsYXRpb24pKTsKKyAgICByZXN1bHQgPSBjc3RyaW5nX3RvX3RleHQob3V0 X3N0cmluZyk7CisgICAgcGZyZWUob3V0X3N0cmluZyk7CisKKyAgICBQR19S RVRVUk5fVEVYVF9QKHJlc3VsdCk7Cit9CisKK0RhdHVtCitudGV4dHVwcGVy KFBHX0ZVTkNUSU9OX0FSR1MpCit7CisgICAgdGV4dCAgICAgICAqaW5fc3Ry aW5nID0gUEdfR0VUQVJHX1RFWFRfUFAoMCk7CisgICAgY2hhciAgICAgICAq b3V0X3N0cmluZzsKKyAgICB0ZXh0ICAgICAgICpyZXN1bHQ7CisKKyAgICBv dXRfc3RyaW5nID0gc3RyX3RvdXBwZXIoVkFSREFUQV9BTlkoaW5fc3RyaW5n KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVkFSU0laRV9BTllf RVhIRFIoaW5fc3RyaW5nKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgQ29sbGF0aW9uR2V0Q29sbGlkKG50ZXh0X2NvbGxhdGlvbikpOworICAg IHJlc3VsdCA9IGNzdHJpbmdfdG9fdGV4dChvdXRfc3RyaW5nKTsKKyAgICBw ZnJlZShvdXRfc3RyaW5nKTsKKworICAgIFBHX1JFVFVSTl9URVhUX1AocmVz dWx0KTsKK30KKworCisvKgorICogYWN0dWFsIG9jdGV0IGxlbmd0aCBvZiBh biB1dGY4IHRleHQgCisgKi8KK0RhdHVtCitudGV4dG9jdGV0bGVuKFBHX0ZV TkNUSU9OX0FSR1MpCit7CisvLyAgICAgICAgRGF0dW0gICAgICAgICAgIGFy ZyA9IFBHX0dFVEFSR19EQVRVTSgwKTsKKy8vICAgICAgICAvKiBXZSBuZWVk IG5vdCBkZXRvYXN0IHRoZSBpbnB1dCBhdCBhbGwgKi8KKy8vICAgICAgICBQ R19SRVRVUk5fSU5UMzIodG9hc3RfcmF3X2RhdHVtX3NpemUoYXJnKSAtIFZB UkhEUlNaKTsKKwl0ZXh0ICAgICAgICppbl92YWwgPSBQR19HRVRBUkdfVEVY VF9QUCgwKTsKKwljaGFyICAgICAgICppbl9zdHJpbmc7CisJaW50CQkgICBs ZW47CisKKwlpbl9zdHJpbmcgPSB0ZXh0X3RvX2NzdHJpbmcoaW5fdmFsKTsK KwlsZW4gPSBzdHJsZW4oaW5fc3RyaW5nKTsKKworCVBHX1JFVFVSTl9JTlQz MihsZW4pOworfQorCisvKgorICogbnRleHRjbXAoKQorICogSW50ZXJuYWwg Y29tcGFyaXNvbiBmdW5jdGlvbiBmb3IgbnRleHQgc3RyaW5ncy4KKyAqIFJl dHVybnMgaW50MzIgbmVnYXRpdmUsIHplcm8sIG9yIHBvc2l0aXZlLgorICov CitzdGF0aWMgaW50MzIKK250ZXh0Y21wKHRleHQgKmxlZnQsIHRleHQgKnJp Z2h0LCBPaWQgY29sbGlkKQoreworCXJldHVybiB2YXJzdHJfY21wKFZBUkRB VEFfQU5ZKGxlZnQpLCBWQVJTSVpFX0FOWV9FWEhEUihsZWZ0KSwKKwkJCQkJ CVZBUkRBVEFfQU5ZKHJpZ2h0KSwgVkFSU0laRV9BTllfRVhIRFIocmlnaHQp LAorCQkJCQkJY29sbGlkKTsKK30KKworLyoKKyAqCQk9PT09PT09PT09PT09 PT09PT0KKyAqCQlJTkRFWElORyBGVU5DVElPTlMKKyAqCQk9PT09PT09PT09 PT09PT09PT0KKyAqLworRGF0dW0KK250ZXh0X2NtcChQR19GVU5DVElPTl9B UkdTKQoreworCXRleHQJICAgKmxlZnQgPSBQR19HRVRBUkdfVEVYVF9QUCgw KTsKKwl0ZXh0CSAgICpyaWdodCA9IFBHX0dFVEFSR19URVhUX1BQKDEpOwor CWludDMyCQlyZXN1bHQ7CisKKwlyZXN1bHQgPSBudGV4dGNtcChsZWZ0LCBy aWdodCwgQ29sbGF0aW9uR2V0Q29sbGlkKG50ZXh0X2NvbGxhdGlvbikpOwor CisJUEdfRlJFRV9JRl9DT1BZKGxlZnQsIDApOworCVBHX0ZSRUVfSUZfQ09Q WShyaWdodCwgMSk7CisKKwlQR19SRVRVUk5fSU5UMzIocmVzdWx0KTsKK30K KworUEdfRlVOQ1RJT05fSU5GT19WMShudGV4dF9oYXNoKTsKKworRGF0dW0K K250ZXh0X2hhc2goUEdfRlVOQ1RJT05fQVJHUykKK3sKKwl0ZXh0CSAgICAq dHh0ID0gUEdfR0VUQVJHX1RFWFRfUFAoMCk7CisJRGF0dW0JCXJlc3VsdDsK KworCXJlc3VsdCA9IGhhc2hfYW55KCh1bnNpZ25lZCBjaGFyICopIFZBUkRB VEFfQU5ZKHR4dCksIFZBUlNJWkVfQU5ZX0VYSERSKHR4dCkpOworCisJLyog QXZvaWQgbGVha2luZyBtZW1vcnkgZm9yIHRvYXN0ZWQgaW5wdXRzICovCisJ UEdfRlJFRV9JRl9DT1BZKHR4dCwgMCk7CisKKwlQR19SRVRVUk5fREFUVU0o cmVzdWx0KTsKK30KKworLyoKKyAqCQk9PT09PT09PT09PT09PT09PT0KKyAq CQlPUEVSQVRPUiBGVU5DVElPTlMKKyAqCQk9PT09PT09PT09PT09PT09PT0K KyAqLworRGF0dW0KK250ZXh0X2VxKFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJ dGV4dAkgICAqbGVmdCA9IFBHX0dFVEFSR19URVhUX1BQKDApOworCXRleHQJ ICAgKnJpZ2h0ID0gUEdfR0VUQVJHX1RFWFRfUFAoMSk7CisJYm9vbAkJcmVz dWx0OworCisJLyoKKwkgKiBTaW5jZSB3ZSBvbmx5IGNhcmUgYWJvdXQgZXF1 YWxpdHkgb3Igbm90LWVxdWFsaXR5LCB3ZSBjYW4gYXZvaWQgYWxsIHRoZQor CSAqIGV4cGVuc2Ugb2Ygc3RyY29sbCgpIGhlcmUsIGFuZCBqdXN0IGRvIGJp dHdpc2UgY29tcGFyaXNvbi4KKwkgKi8KKwlyZXN1bHQgPSAoc3RyY21wKHRl eHRfdG9fY3N0cmluZyhsZWZ0KSwgdGV4dF90b19jc3RyaW5nKHJpZ2h0KSkg PT0gMCk7CisKKwlQR19GUkVFX0lGX0NPUFkobGVmdCwgMCk7CisJUEdfRlJF RV9JRl9DT1BZKHJpZ2h0LCAxKTsKKworCVBHX1JFVFVSTl9CT09MKHJlc3Vs dCk7Cit9CisKK0RhdHVtCitudGV4dF9uZShQR19GVU5DVElPTl9BUkdTKQor eworCXRleHQJICAgKmxlZnQgPSBQR19HRVRBUkdfVEVYVF9QUCgwKTsKKwl0 ZXh0CSAgICpyaWdodCA9IFBHX0dFVEFSR19URVhUX1BQKDEpOworCWJvb2wJ CXJlc3VsdDsKKworCS8qCisJICogU2luY2Ugd2Ugb25seSBjYXJlIGFib3V0 IGVxdWFsaXR5IG9yIG5vdC1lcXVhbGl0eSwgd2UgY2FuIGF2b2lkIGFsbCB0 aGUKKwkgKiBleHBlbnNlIG9mIHN0cmNvbGwoKSBoZXJlLCBhbmQganVzdCBk byBiaXR3aXNlIGNvbXBhcmlzb24uCisJICovCisJcmVzdWx0ID0gKHN0cmNt cCh0ZXh0X3RvX2NzdHJpbmcobGVmdCksIHRleHRfdG9fY3N0cmluZyhyaWdo dCkpICE9IDApOworCisJUEdfRlJFRV9JRl9DT1BZKGxlZnQsIDApOworCVBH X0ZSRUVfSUZfQ09QWShyaWdodCwgMSk7CisKKwlQR19SRVRVUk5fQk9PTChy ZXN1bHQpOworfQorCitEYXR1bQorbnRleHRfbHQoUEdfRlVOQ1RJT05fQVJH UykKK3sKKwl0ZXh0CSAgICpsZWZ0ID0gUEdfR0VUQVJHX1RFWFRfUFAoMCk7 CisJdGV4dAkgICAqcmlnaHQgPSBQR19HRVRBUkdfVEVYVF9QUCgxKTsKKwli b29sCQlyZXN1bHQ7CisKKwlyZXN1bHQgPSBudGV4dGNtcChsZWZ0LCByaWdo dCwgQ29sbGF0aW9uR2V0Q29sbGlkKG50ZXh0X2NvbGxhdGlvbikpIDwgMDsK KworCVBHX0ZSRUVfSUZfQ09QWShsZWZ0LCAwKTsKKwlQR19GUkVFX0lGX0NP UFkocmlnaHQsIDEpOworCisJUEdfUkVUVVJOX0JPT0wocmVzdWx0KTsKK30K KworRGF0dW0KK250ZXh0X2xlKFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJdGV4 dAkgICAqbGVmdCA9IFBHX0dFVEFSR19URVhUX1BQKDApOworCXRleHQJICAg KnJpZ2h0ID0gUEdfR0VUQVJHX1RFWFRfUFAoMSk7CisJYm9vbAkJcmVzdWx0 OworCisJcmVzdWx0ID0gbnRleHRjbXAobGVmdCwgcmlnaHQsIENvbGxhdGlv bkdldENvbGxpZChudGV4dF9jb2xsYXRpb24pKSA8PSAwOworCisJUEdfRlJF RV9JRl9DT1BZKGxlZnQsIDApOworCVBHX0ZSRUVfSUZfQ09QWShyaWdodCwg MSk7CisKKwlQR19SRVRVUk5fQk9PTChyZXN1bHQpOworfQorCitEYXR1bQor bnRleHRfZ3QoUEdfRlVOQ1RJT05fQVJHUykKK3sKKwl0ZXh0CSAgICpsZWZ0 ID0gUEdfR0VUQVJHX1RFWFRfUFAoMCk7CisJdGV4dAkgICAqcmlnaHQgPSBQ R19HRVRBUkdfVEVYVF9QUCgxKTsKKwlib29sCQlyZXN1bHQ7CisKKwlyZXN1 bHQgPSBudGV4dGNtcChsZWZ0LCByaWdodCwgQ29sbGF0aW9uR2V0Q29sbGlk KG50ZXh0X2NvbGxhdGlvbikpID4gMDsKKworCVBHX0ZSRUVfSUZfQ09QWShs ZWZ0LCAwKTsKKwlQR19GUkVFX0lGX0NPUFkocmlnaHQsIDEpOworCisJUEdf UkVUVVJOX0JPT0wocmVzdWx0KTsKK30KKworRGF0dW0KK250ZXh0X2dlKFBH X0ZVTkNUSU9OX0FSR1MpCit7CisJdGV4dAkgICAqbGVmdCA9IFBHX0dFVEFS R19URVhUX1BQKDApOworCXRleHQJICAgKnJpZ2h0ID0gUEdfR0VUQVJHX1RF WFRfUFAoMSk7CisJYm9vbAkJcmVzdWx0OworCisJcmVzdWx0ID0gbnRleHRj bXAobGVmdCwgcmlnaHQsIENvbGxhdGlvbkdldENvbGxpZChudGV4dF9jb2xs YXRpb24pKSA+PSAwOworCisJUEdfRlJFRV9JRl9DT1BZKGxlZnQsIDApOwor CVBHX0ZSRUVfSUZfQ09QWShyaWdodCwgMSk7CisKKwlQR19SRVRVUk5fQk9P TChyZXN1bHQpOworfQorCisvKgorICoJCT09PT09PT09PT09PT09PT09PT0K KyAqCQlBR0dSRUdBVEUgRlVOQ1RJT05TCisgKgkJPT09PT09PT09PT09PT09 PT09PQorICovCitEYXR1bQorbnRleHRfc21hbGxlcihQR19GVU5DVElPTl9B UkdTKQoreworCXRleHQJICAgKmxlZnQgPSBQR19HRVRBUkdfVEVYVF9QUCgw KTsKKwl0ZXh0CSAgICpyaWdodCA9IFBHX0dFVEFSR19URVhUX1BQKDEpOwor CXRleHQJICAgKnJlc3VsdDsKKworCXJlc3VsdCA9IG50ZXh0Y21wKGxlZnQs IHJpZ2h0LCBDb2xsYXRpb25HZXRDb2xsaWQobnRleHRfY29sbGF0aW9uKSkg PCAwID8gbGVmdCA6IHJpZ2h0OworCVBHX1JFVFVSTl9URVhUX1AocmVzdWx0 KTsKK30KKworRGF0dW0KK250ZXh0X2xhcmdlcihQR19GVU5DVElPTl9BUkdT KQoreworCXRleHQJICAgKmxlZnQgPSBQR19HRVRBUkdfVEVYVF9QUCgwKTsK Kwl0ZXh0CSAgICpyaWdodCA9IFBHX0dFVEFSR19URVhUX1BQKDEpOworCXRl eHQJICAgKnJlc3VsdDsKKworCXJlc3VsdCA9IG50ZXh0Y21wKGxlZnQsIHJp Z2h0LCBDb2xsYXRpb25HZXRDb2xsaWQobnRleHRfY29sbGF0aW9uKSkgPiAw ID8gbGVmdCA6IHJpZ2h0OworCVBHX1JFVFVSTl9URVhUX1AocmVzdWx0KTsK K30KKworCmRpZmYgLVUgNSAtTiAtciAtdyAuLi9vcmlnLkhFQUQvc3JjL2Jh Y2tlbmQvdXRpbHMvYWR0L29yYWNsZV9jb21wYXQuYyAuL3NyYy9iYWNrZW5k L3V0aWxzL2FkdC9vcmFjbGVfY29tcGF0LmMKLS0tIC4uL29yaWcuSEVBRC9z cmMvYmFja2VuZC91dGlscy9hZHQvb3JhY2xlX2NvbXBhdC5jCTIwMTMtMDgt MTkgMjA6MjI6MDkuMDAwMDAwMDAwIC0wNDAwCisrKyAuL3NyYy9iYWNrZW5k L3V0aWxzL2FkdC9vcmFjbGVfY29tcGF0LmMJMjAxMy0wOC0xOSAyMDo1NDow MC4wMDAwMDAwMDAgLTA0MDAKQEAgLTE4LDE1ICsxOCwxMCBAQAogI2luY2x1 ZGUgInV0aWxzL2J1aWx0aW5zLmgiCiAjaW5jbHVkZSAidXRpbHMvZm9ybWF0 dGluZy5oIgogI2luY2x1ZGUgIm1iL3BnX3djaGFyLmgiCiAKIAotc3RhdGlj IHRleHQgKmRvdHJpbShjb25zdCBjaGFyICpzdHJpbmcsIGludCBzdHJpbmds ZW4sCi0JICAgY29uc3QgY2hhciAqc2V0LCBpbnQgc2V0bGVuLAotCSAgIGJv b2wgZG9sdHJpbSwgYm9vbCBkb3J0cmltKTsKLQotCiAvKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioKICAqCiAgKiBsb3dlcgogICoKICAqIFN5bnRheDoKQEAg LTM2NSwxMSArMzYwLDExIEBACiB9CiAKIC8qCiAgKiBDb21tb24gaW1wbGVt ZW50YXRpb24gZm9yIGJ0cmltLCBsdHJpbSwgcnRyaW0KICAqLwotc3RhdGlj IHRleHQgKgordGV4dCAqCiBkb3RyaW0oY29uc3QgY2hhciAqc3RyaW5nLCBp bnQgc3RyaW5nbGVuLAogCSAgIGNvbnN0IGNoYXIgKnNldCwgaW50IHNldGxl biwKIAkgICBib29sIGRvbHRyaW0sIGJvb2wgZG9ydHJpbSkKIHsKIAlpbnQJ CQlpOwpkaWZmIC1VIDUgLU4gLXIgLXcgLi4vb3JpZy5IRUFEL3NyYy9iYWNr ZW5kL3V0aWxzL2FkdC9zZWxmdW5jcy5jIC4vc3JjL2JhY2tlbmQvdXRpbHMv YWR0L3NlbGZ1bmNzLmMKLS0tIC4uL29yaWcuSEVBRC9zcmMvYmFja2VuZC91 dGlscy9hZHQvc2VsZnVuY3MuYwkyMDEzLTA4LTE5IDIwOjIyOjA5LjAwMDAw MDAwMCAtMDQwMAorKysgLi9zcmMvYmFja2VuZC91dGlscy9hZHQvc2VsZnVu Y3MuYwkyMDEzLTA4LTE5IDIwOjU0OjAwLjAwMDAwMDAwMCAtMDQwMApAQCAt MzYyNCwxMSArMzYyNCwxMyBAQAogCQkJLyoKIAkJCSAqIEJ1aWx0LWluIHN0 cmluZyB0eXBlcwogCQkJICovCiAJCWNhc2UgQ0hBUk9JRDoKIAkJY2FzZSBC UENIQVJPSUQ6CisJCWNhc2UgTkJQQ0hBUk9JRDoKIAkJY2FzZSBWQVJDSEFS T0lEOgorCQljYXNlIE5WQVJDSEFST0lEOgogCQljYXNlIFRFWFRPSUQ6CiAJ CWNhc2UgTkFNRU9JRDoKIAkJCXsKIAkJCQljaGFyCSAgICp2YWxzdHIgPSBj b252ZXJ0X3N0cmluZ19kYXR1bSh2YWx1ZSwgdmFsdWV0eXBpZCk7CiAJCQkJ Y2hhcgkgICAqbG9zdHIgPSBjb252ZXJ0X3N0cmluZ19kYXR1bShsb2JvdW5k LCBib3VuZHN0eXBpZCk7CkBAIC0zODg2LDExICszODg4LDEzIEBACiAJCQl2 YWwgPSAoY2hhciAqKSBwYWxsb2MoMik7CiAJCQl2YWxbMF0gPSBEYXR1bUdl dENoYXIodmFsdWUpOwogCQkJdmFsWzFdID0gJ1wwJzsKIAkJCWJyZWFrOwog CQljYXNlIEJQQ0hBUk9JRDoKKwkJY2FzZSBOQlBDSEFST0lEOgogCQljYXNl IFZBUkNIQVJPSUQ6CisJCWNhc2UgTlZBUkNIQVJPSUQ6CiAJCWNhc2UgVEVY VE9JRDoKIAkJCXZhbCA9IFRleHREYXR1bUdldENTdHJpbmcodmFsdWUpOwog CQkJYnJlYWs7CiAJCWNhc2UgTkFNRU9JRDoKIAkJCXsKQEAgLTU4NzMsMTEg KzU4NzcsMTMgQEAKIAkgKi8KIAlzd2l0Y2ggKGRhdGF0eXBlKQogCXsKIAkJ Y2FzZSBURVhUT0lEOgogCQljYXNlIFZBUkNIQVJPSUQ6CisJCWNhc2UgTlZB UkNIQVJPSUQ6CiAJCWNhc2UgQlBDSEFST0lEOgorCQljYXNlIE5CUENIQVJP SUQ6CiAJCQljb2xsYXRpb24gPSBERUZBVUxUX0NPTExBVElPTl9PSUQ7CiAJ CQljb25zdGxlbiA9IC0xOwogCQkJYnJlYWs7CiAKIAkJY2FzZSBOQU1FT0lE OgpkaWZmIC1VIDUgLU4gLXIgLXcgLi4vb3JpZy5IRUFEL3NyYy9pbmNsdWRl L2NhdGFsb2cvcGdfYW1vcC5oIC4vc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19h bW9wLmgKLS0tIC4uL29yaWcuSEVBRC9zcmMvaW5jbHVkZS9jYXRhbG9nL3Bn X2Ftb3AuaAkyMDEzLTA4LTE5IDIwOjIyOjEyLjAwMDAwMDAwMCAtMDQwMAor KysgLi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2Ftb3AuaAkyMDEzLTA4LTE5 IDIwOjU0OjAwLjAwMDAwMDAwMCAtMDQwMApAQCAtMjUxLDEwICsyNTEsMTcg QEAKIERBVEEoaW5zZXJ0ICgJNDI2ICAgMTA0MiAxMDQyIDIgcyAxMDU5CTQw MyAwICkpOwogREFUQShpbnNlcnQgKAk0MjYgICAxMDQyIDEwNDIgMyBzIDEw NTQJNDAzIDAgKSk7CiBEQVRBKGluc2VydCAoCTQyNiAgIDEwNDIgMTA0MiA0 IHMgMTA2MQk0MDMgMCApKTsKIERBVEEoaW5zZXJ0ICgJNDI2ICAgMTA0MiAx MDQyIDUgcyAxMDYwCTQwMyAwICkpOwogCitEQVRBKGluc2VydCAoICAgNDI2 ICAgNTAwMSA1MDAxIDEgcyA1MDU4ICAgICAgICA0MDMgMCApKTsKK0RBVEEo aW5zZXJ0ICggICA0MjYgICA1MDAxIDUwMDEgMiBzIDUwNTkgICAgICAgIDQw MyAwICkpOworREFUQShpbnNlcnQgKCAgIDQyNiAgIDUwMDEgNTAwMSAzIHMg NTA1NCAgICAgICAgNDAzIDAgKSk7CitEQVRBKGluc2VydCAoICAgNDI2ICAg NTAwMSA1MDAxIDQgcyA1MDYxICAgICAgICA0MDMgMCApKTsKK0RBVEEoaW5z ZXJ0ICggICA0MjYgICA1MDAxIDUwMDEgNSBzIDUwNjAgICAgICAgIDQwMyAw ICkpOworCisKIC8qCiAgKglidHJlZSBieXRlYV9vcHMKICAqLwogCiBEQVRB KGluc2VydCAoCTQyOCAgIDE3IDE3IDEgcyAxOTU3CTQwMyAwICkpOwpAQCAt NTA2LDEwICs1MTMsMTQgQEAKICAqCWhhc2ggaW5kZXggX29wcwogICovCiAK IC8qIGJwY2hhcl9vcHMgKi8KIERBVEEoaW5zZXJ0ICgJNDI3ICAgMTA0MiAx MDQyIDEgcyAxMDU0CTQwNSAwICkpOworCisvKiBuYnBjaGFyX29wcyAqLwor REFUQShpbnNlcnQgKCAgIDQyNyAgIDUwMDEgNTAwMSAxIHMgNTA1NCAgICAg ICAgNDA1IDAgKSk7CisKIC8qIGNoYXJfb3BzICovCiBEQVRBKGluc2VydCAo CTQzMSAgIDE4IDE4IDEgcyA5Mgk0MDUgMCApKTsKIC8qIGRhdGVfb3BzICov CiBEQVRBKGluc2VydCAoCTQzNSAgIDEwODIgMTA4MiAxIHMgMTA5Mwk0MDUg MCApKTsKIC8qIGZsb2F0X29wcyAqLwpkaWZmIC1VIDUgLU4gLXIgLXcgLi4v b3JpZy5IRUFEL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfYW1wcm9jLmggLi9z cmMvaW5jbHVkZS9jYXRhbG9nL3BnX2FtcHJvYy5oCi0tLSAuLi9vcmlnLkhF QUQvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19hbXByb2MuaAkyMDEzLTA4LTE5 IDIwOjIyOjEyLjAwMDAwMDAwMCAtMDQwMAorKysgLi9zcmMvaW5jbHVkZS9j YXRhbG9nL3BnX2FtcHJvYy5oCTIwMTMtMDgtMTkgMjA6NTQ6MDAuMDAwMDAw MDAwIC0wNDAwCkBAIC03OCwxMCArNzgsMTEgQEAKIERBVEEoaW5zZXJ0ICgJ Mzk3ICAgMjI3NyAyMjc3IDEgMzgyICkpOwogREFUQShpbnNlcnQgKAk0MjEg ICA3MDIgNzAyIDEgMzU3ICkpOwogREFUQShpbnNlcnQgKAk0MjMgICAxNTYw IDE1NjAgMSAxNTk2ICkpOwogREFUQShpbnNlcnQgKAk0MjQgICAxNiAxNiAx IDE2OTMgKSk7CiBEQVRBKGluc2VydCAoCTQyNiAgIDEwNDIgMTA0MiAxIDEw NzggKSk7CitEQVRBKGluc2VydCAoICAgNDI2ICAgNTAwMSA1MDAxIDEgMTA3 OCApKTsKIERBVEEoaW5zZXJ0ICgJNDI4ICAgMTcgMTcgMSAxOTU0ICkpOwog REFUQShpbnNlcnQgKAk0MjkgICAxOCAxOCAxIDM1OCApKTsKIERBVEEoaW5z ZXJ0ICgJNDM0ICAgMTA4MiAxMDgyIDEgMTA5MiApKTsKIERBVEEoaW5zZXJ0 ICgJNDM0ICAgMTA4MiAxMDgyIDIgMzEzNiApKTsKIERBVEEoaW5zZXJ0ICgJ NDM0ICAgMTA4MiAxMTE0IDEgMjM0NCApKTsKQEAgLTEyNiwyMCArMTI3LDIy IEBACiBEQVRBKGluc2VydCAoCTE5OTYgICAxMDgzIDEwODMgMSAxMTA3ICkp OwogREFUQShpbnNlcnQgKAkyMDAwICAgMTI2NiAxMjY2IDEgMTM1OCApKTsK IERBVEEoaW5zZXJ0ICgJMjAwMiAgIDE1NjIgMTU2MiAxIDE2NzIgKSk7CiBE QVRBKGluc2VydCAoCTIwOTUgICAyNSAyNSAxIDIxNjYgKSk7CiBEQVRBKGlu c2VydCAoCTIwOTcgICAxMDQyIDEwNDIgMSAyMTgwICkpOworREFUQShpbnNl cnQgKCAgIDIwOTcgICA1MDAxIDUwMDEgMSAyMTgwICkpOwogREFUQShpbnNl cnQgKAkyMDk5ICAgNzkwIDc5MCAxICAzNzcgKSk7CiBEQVRBKGluc2VydCAo CTIyMzMgICA3MDMgNzAzIDEgIDM4MCApKTsKIERBVEEoaW5zZXJ0ICgJMjIz NCAgIDcwNCA3MDQgMSAgMzgxICkpOwogREFUQShpbnNlcnQgKAkyNzg5ICAg MjcgMjcgMSAyNzk0ICkpOwogREFUQShpbnNlcnQgKAkyOTY4ICAgMjk1MCAy OTUwIDEgMjk2MCApKTsKIERBVEEoaW5zZXJ0ICgJMzUyMiAgIDM1MDAgMzUw MCAxIDM1MTQgKSk7CiAKIAogLyogaGFzaCAqLwogREFUQShpbnNlcnQgKAk0 MjcgICAxMDQyIDEwNDIgMSAxMDgwICkpOworREFUQShpbnNlcnQgKCAgIDQy NyAgIDUwMDEgNTAwMSAxIDEwODAgKSk7CiBEQVRBKGluc2VydCAoCTQzMSAg IDE4IDE4IDEgNDU0ICkpOwogREFUQShpbnNlcnQgKAk0MzUgICAxMDgyIDEw ODIgMSA0NTAgKSk7CiBEQVRBKGluc2VydCAoCTYyNyAgIDIyNzcgMjI3NyAx IDYyNiApKTsKIERBVEEoaW5zZXJ0ICgJMTk3MSAgIDcwMCA3MDAgMSA0NTEg KSk7CiBEQVRBKGluc2VydCAoCTE5NzEgICA3MDEgNzAxIDEgNDUyICkpOwpA QCAtMTY1LDEwICsxNjgsMTEgQEAKIERBVEEoaW5zZXJ0ICgJMjIyNiAgIDI5 IDI5IDEgNDUwICkpOwogREFUQShpbnNlcnQgKAkyMjI3ICAgNzAyIDcwMiAx IDQ1MCApKTsKIERBVEEoaW5zZXJ0ICgJMjIyOCAgIDcwMyA3MDMgMSA0NTAg KSk7CiBEQVRBKGluc2VydCAoCTIyMjkgICAyNSAyNSAxIDQwMCApKTsKIERB VEEoaW5zZXJ0ICgJMjIzMSAgIDEwNDIgMTA0MiAxIDEwODAgKSk7CitEQVRB KGluc2VydCAoICAgMjIzMSAgIDUwMDEgNTAwMSAxIDEwODAgKSk7CiBEQVRB KGluc2VydCAoCTIyMzUgICAxMDMzIDEwMzMgMSAzMjkgKSk7CiBEQVRBKGlu c2VydCAoCTI5NjkgICAyOTUwIDI5NTAgMSAyOTYzICkpOwogREFUQShpbnNl cnQgKAkzNTIzICAgMzUwMCAzNTAwIDEgMzUxNSApKTsKIAogCmRpZmYgLVUg NSAtTiAtciAtdyAuLi9vcmlnLkhFQUQvc3JjL2luY2x1ZGUvY2F0YWxvZy9w Z19jYXN0LmggLi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2Nhc3QuaAotLS0g Li4vb3JpZy5IRUFEL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfY2FzdC5oCTIw MTMtMDgtMTkgMjA6MjI6MTIuMDAwMDAwMDAwIC0wNDAwCisrKyAuL3NyYy9p bmNsdWRlL2NhdGFsb2cvcGdfY2FzdC5oCTIwMTMtMDgtMTkgMjA6NTQ6MDAu MDAwMDAwMDAwIC0wNDAwCkBAIC0yMTIsMTYgKzIxMiw3NyBAQAogREFUQShp bnNlcnQgKCAxMDQzIDIyMDUgMTA3OSBpIGYgKSk7CiAKIC8qCiAgKiBTdHJp bmcgY2F0ZWdvcnkKICAqLwotREFUQShpbnNlcnQgKAkyNSAxMDQyICAgIDAg aSBiICkpOwotREFUQShpbnNlcnQgKAkyNSAxMDQzICAgIDAgaSBiICkpOwor LyoKKyAqIDUwMSAgVVRGOCBjb252ZXJzaW9uIHRvIGRhdGFiYXNlIGVuY29k aW5nCisgKiA1MDIgIGRhdGFiYXNlIGVuY29kaW5nIHRvIFVURjgKKyAqIDQw MSAgcnRyaW0KKyAqIDUwMyAgY29udmVyc2lvbiBmcm9tIFVURjggKyBydHJp bSAKKyAqIDUwNCAgcnRyaW0gKyBjb252ZXJzaW9uIHRvIFVURjgKKyAqIG5h dGlvbmFsIC0+IGNvbW1vbiBpcyBhbHdheXMgJ2EnID0gYXNzaWdtZW50IGF1 dG9jYXN0cyAoYW5kIHRoZXkgY291bGQgZmFpbCBpZiBlbmNvZGluZyBlcnJv ciBoYXBwZW4pCisgKiBjb21tb24gLT4gbmFjdGlvbmFsIGlzIGFsd2F5cyAn aScgPSBpbXBsaWNpdCAoYmVjYXVzZSB0aGV5IHNob3VsZCB3b3JrIGFsd2F5 cykKKyAqIHRlbXBvcmFyeSBhc3N1bWUgcnRyaW0gbm90IGRlcGVuZCBvbiBh Y3R1YWwgZW5jb2RpbmcgKHdoaWNoIGlzIGRlZmluaXRlbHkgd3JvbmcgYXNz dW1wdGlvbikKKyovCisKKy8qCisgKiBjaGFyIC0+IHRleHQKKyAqIGNoYXIg LT4gdmFyY2hhcgorICogY2hhciAtPiBuY2hhcgorICogY2hhciAtPiBudmFy Y2hhcgorKi8KIERBVEEoaW5zZXJ0ICggMTA0MgkgMjUgIDQwMSBpIGYgKSk7 CiBEQVRBKGluc2VydCAoIDEwNDIgMTA0MyAgNDAxIGkgZiApKTsKK0RBVEEo aW5zZXJ0ICggMTA0MiA1MDAxICA1MDIgaSBmICkpOworREFUQShpbnNlcnQg KCAxMDQyIDYwMDEgIDUwNCBpIGYgKSk7CisKKy8qCisgKiB2YXJjaGFyIC0+ IHRleHQKKyAqIHZhcmNoYXIgLT4gY2hhcgorICogdmFyY2hhciAtPiBudmFy Y2hhcgorICogdmFyY2hhciAtPiBuY2hhcgorKi8KIERBVEEoaW5zZXJ0ICgg MTA0MwkgMjUgICAgMCBpIGIgKSk7CiBEQVRBKGluc2VydCAoIDEwNDMgMTA0 MiAgICAwIGkgYiApKTsKK0RBVEEoaW5zZXJ0ICggMTA0MyA2MDAxIDUwMiBp IGYgKSk7CitEQVRBKGluc2VydCAoIDEwNDMgNTAwMSA1MDIgaSBmICkpOwor CisvKgorICogdGV4dCAtPiB2YXJjaGFyCisgKiB0ZXh0IC0+IGNoYXIKKyAq IHRleHQgLT4gbmNoYXIKKyAqIHRleHQgLT4gbnZhcmNoYXIKKyovCitEQVRB KGluc2VydCAoICAgMjUgMTA0MyAgIDAgaSBiICkpOworREFUQShpbnNlcnQg KCAgIDI1IDEwNDIgICAwIGkgYiApKTsKK0RBVEEoaW5zZXJ0ICggICAyNSA1 MDAxIDUwMiBpIGYgKSk7CitEQVRBKGluc2VydCAoICAgMjUgNjAwMSA1MDIg aSBmICkpOworCisvKgorICogbnZhcmNoYXIgLT4gdGV4dAorICogbnZhcmNo YXIgLT4gdmFyY2hhcgorICogbnZhcmNoYXIgLT4gY2hhcgorICogbnZhcmNo YXIgLT4gbmNoYXIKKyovCitEQVRBKGluc2VydCAoIDYwMDEgICAyNSAgNTAx IGEgZiApKTsKK0RBVEEoaW5zZXJ0ICggNjAwMSAxMDQzICA1MDEgYSBmICkp OworREFUQShpbnNlcnQgKCA2MDAxIDEwNDIgIDUwMSBhIGYgKSk7CitEQVRB KGluc2VydCAoIDYwMDEgNTAwMSAgMCAgIGkgZiApKTsKKworLyoKKyAqIG5j aGFyIC0+IHRleHQKKyAqIG5jaGFyIC0+IHZhcmNoYXIKKyAqIG5jaGFyIC0+ IGNoYXIKKyAqIG5jaGFyIC0+IG52YXJjaGFyCisqLworREFUQShpbnNlcnQg KCA1MDAxICAgMjUgIDUwMyBhIGYgKSk7CitEQVRBKGluc2VydCAoIDUwMDEg MTA0MiAgNTAzIGEgZiApKTsKK0RBVEEoaW5zZXJ0ICggNTAwMSAxMDQzICA1 MDEgYSBmICkpOworREFUQShpbnNlcnQgKCA1MDAxIDYwMDEgIDQwMSBpIGYg KSk7CisKKwogREFUQShpbnNlcnQgKAkxOAkgMjUgIDk0NiBpIGYgKSk7CiBE QVRBKGluc2VydCAoCTE4IDEwNDIgIDg2MCBhIGYgKSk7CiBEQVRBKGluc2Vy dCAoCTE4IDEwNDMgIDk0NiBhIGYgKSk7CiBEQVRBKGluc2VydCAoCTE5CSAy NSAgNDA2IGkgZiApKTsKIERBVEEoaW5zZXJ0ICgJMTkgMTA0MiAgNDA4IGEg ZiApKTsKQEAgLTM0NywxMSArNDA4LDEzIEBACiAKIC8qCiAgKiBMZW5ndGgt Y29lcmNpb24gZnVuY3Rpb25zCiAgKi8KIERBVEEoaW5zZXJ0ICggMTA0MiAx MDQyICA2NjggaSBmICkpOworREFUQShpbnNlcnQgKCA1MDAxIDUwMDEgNTY2 OCBpIGYgKSk7CiBEQVRBKGluc2VydCAoIDEwNDMgMTA0MyAgNjY5IGkgZiAp KTsKK0RBVEEoaW5zZXJ0ICggNjAwMSA2MDAxIDU2NjkgaSBmICkpOwogREFU QShpbnNlcnQgKCAxMDgzIDEwODMgMTk2OCBpIGYgKSk7CiBEQVRBKGluc2Vy dCAoIDExMTQgMTExNCAxOTYxIGkgZiApKTsKIERBVEEoaW5zZXJ0ICggMTE4 NCAxMTg0IDE5NjcgaSBmICkpOwogREFUQShpbnNlcnQgKCAxMTg2IDExODYg MTIwMCBpIGYgKSk7CiBEQVRBKGluc2VydCAoIDEyNjYgMTI2NiAxOTY5IGkg ZiApKTsKZGlmZiAtVSA1IC1OIC1yIC13IC4uL29yaWcuSEVBRC9zcmMvaW5j bHVkZS9jYXRhbG9nL3BnX29wY2xhc3MuaCAuL3NyYy9pbmNsdWRlL2NhdGFs b2cvcGdfb3BjbGFzcy5oCi0tLSAuLi9vcmlnLkhFQUQvc3JjL2luY2x1ZGUv Y2F0YWxvZy9wZ19vcGNsYXNzLmgJMjAxMy0wOC0xOSAyMDoyMjoxMi4wMDAw MDAwMDAgLTA0MDAKKysrIC4vc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19vcGNs YXNzLmgJMjAxMy0wOC0xOSAyMDo1NDowMC4wMDAwMDAwMDAgLTA0MDAKQEAg LTk1LDEwICs5NSwxMiBAQAogREFUQShpbnNlcnQgKAk0MDUJCWFycmF5X29w cwkJCVBHTlNQIFBHVUlEICA2MjcgMjI3NyB0IDAgKSk7CiBEQVRBKGluc2Vy dCAoCTQwMwkJYml0X29wcwkJCQlQR05TUCBQR1VJRCAgNDIzIDE1NjAgdCAw ICkpOwogREFUQShpbnNlcnQgKAk0MDMJCWJvb2xfb3BzCQkJUEdOU1AgUEdV SUQgIDQyNCAgIDE2IHQgMCApKTsKIERBVEEoaW5zZXJ0ICgJNDAzCQlicGNo YXJfb3BzCQkJUEdOU1AgUEdVSUQgIDQyNiAxMDQyIHQgMCApKTsKIERBVEEo aW5zZXJ0ICgJNDA1CQlicGNoYXJfb3BzCQkJUEdOU1AgUEdVSUQgIDQyNyAx MDQyIHQgMCApKTsKK0RBVEEoaW5zZXJ0ICgJNDAzCQkJCW5icGNoYXJfb3Bz CQkJCQkJUEdOU1AgUEdVSUQgIDQyNiA1MDAxIHQgMCApKTsKK0RBVEEoaW5z ZXJ0ICgJNDA1CQkJCW5icGNoYXJfb3BzCQkJCQkJUEdOU1AgUEdVSUQgIDQy NyA1MDAxIHQgMCApKTsKIERBVEEoaW5zZXJ0ICgJNDAzCQlieXRlYV9vcHMJ CQlQR05TUCBQR1VJRCAgNDI4ICAgMTcgdCAwICkpOwogREFUQShpbnNlcnQg KAk0MDMJCWNoYXJfb3BzCQkJUEdOU1AgUEdVSUQgIDQyOSAgIDE4IHQgMCAp KTsKIERBVEEoaW5zZXJ0ICgJNDA1CQljaGFyX29wcwkJCVBHTlNQIFBHVUlE ICA0MzEgICAxOCB0IDAgKSk7CiBEQVRBKGluc2VydCAoCTQwMwkJY2lkcl9v cHMJCQlQR05TUCBQR1VJRCAxOTc0ICA4NjkgZiAwICkpOwogREFUQShpbnNl cnQgKAk0MDUJCWNpZHJfb3BzCQkJUEdOU1AgUEdVSUQgMTk3NSAgODY5IGYg MCApKTsKQEAgLTE1NCwxMCArMTU2LDEyIEBACiBEQVRBKGluc2VydCAoCTQw MwkJdGltZXR6X29wcwkJCVBHTlNQIFBHVUlEIDIwMDAgMTI2NiB0IDAgKSk7 CiBEQVRBKGluc2VydCAoCTQwNQkJdGltZXR6X29wcwkJCVBHTlNQIFBHVUlE IDIwMDEgMTI2NiB0IDAgKSk7CiBEQVRBKGluc2VydCAoCTQwMwkJdmFyYml0 X29wcwkJCVBHTlNQIFBHVUlEIDIwMDIgMTU2MiB0IDAgKSk7CiBEQVRBKGlu c2VydCAoCTQwMwkJdmFyY2hhcl9vcHMJCQlQR05TUCBQR1VJRCAxOTk0ICAg MjUgZiAwICkpOwogREFUQShpbnNlcnQgKAk0MDUJCXZhcmNoYXJfb3BzCQkJ UEdOU1AgUEdVSUQgMTk5NSAgIDI1IGYgMCApKTsKK0RBVEEoaW5zZXJ0ICgJ NDAzCQkJCW52YXJjaGFyX29wcwkJCQkJUEdOU1AgUEdVSUQgMTk5NCAgIDI1 IGYgMCApKTsKK0RBVEEoaW5zZXJ0ICgJNDA1CQkJCW52YXJjaGFyX29wcwkJ CQkJUEdOU1AgUEdVSUQgMTk5NSAgIDI1IGYgMCApKTsKIERBVEEoaW5zZXJ0 IE9JRCA9IDMxMjggKCA0MDMJdGltZXN0YW1wX29wcwlQR05TUCBQR1VJRCAg NDM0IDExMTQgdCAwICkpOwogI2RlZmluZSBUSU1FU1RBTVBfQlRSRUVfT1BT X09JRCAzMTI4CiBEQVRBKGluc2VydCAoCTQwNQkJdGltZXN0YW1wX29wcwkJ UEdOU1AgUEdVSUQgMjA0MCAxMTE0IHQgMCApKTsKIERBVEEoaW5zZXJ0ICgJ NDAzCQl0ZXh0X3BhdHRlcm5fb3BzCVBHTlNQIFBHVUlEIDIwOTUgICAyNSBm IDAgKSk7CiBEQVRBKGluc2VydCAoCTQwMwkJdmFyY2hhcl9wYXR0ZXJuX29w cyBQR05TUCBQR1VJRCAyMDk1ICAgMjUgZiAwICkpOwpAQCAtMTg1LDEwICsx ODksMTEgQEAKIERBVEEoaW5zZXJ0ICgJMjc0MglfdGV4dF9vcHMJCQlQR05T UCBQR1VJRCAyNzQ1ICAxMDA5IHQgMjUgKSk7CiBEQVRBKGluc2VydCAoCTI3 NDIJX2Fic3RpbWVfb3BzCQlQR05TUCBQR1VJRCAyNzQ1ICAxMDIzIHQgNzAy ICkpOwogREFUQShpbnNlcnQgKAkyNzQyCV9iaXRfb3BzCQkJUEdOU1AgUEdV SUQgMjc0NSAgMTU2MSB0IDE1NjAgKSk7CiBEQVRBKGluc2VydCAoCTI3NDIJ X2Jvb2xfb3BzCQkJUEdOU1AgUEdVSUQgMjc0NSAgMTAwMCB0IDE2ICkpOwog REFUQShpbnNlcnQgKAkyNzQyCV9icGNoYXJfb3BzCQkJUEdOU1AgUEdVSUQg Mjc0NSAgMTAxNCB0IDEwNDIgKSk7CitEQVRBKGluc2VydCAoCTI3NDIJX25i cGNoYXJfb3BzCQkJCQlQR05TUCBQR1VJRCAyNzQ1ICA1MDE0IHQgNTAwMSAp KTsKIERBVEEoaW5zZXJ0ICgJMjc0MglfYnl0ZWFfb3BzCQkJUEdOU1AgUEdV SUQgMjc0NSAgMTAwMSB0IDE3ICkpOwogREFUQShpbnNlcnQgKAkyNzQyCV9j aGFyX29wcwkJCVBHTlNQIFBHVUlEIDI3NDUgIDEwMDIgdCAxOCApKTsKIERB VEEoaW5zZXJ0ICgJMjc0MglfY2lkcl9vcHMJCQlQR05TUCBQR1VJRCAyNzQ1 ICA2NTEgdCA2NTAgKSk7CiBEQVRBKGluc2VydCAoCTI3NDIJX2RhdGVfb3Bz CQkJUEdOU1AgUEdVSUQgMjc0NSAgMTE4MiB0IDEwODIgKSk7CiBEQVRBKGlu c2VydCAoCTI3NDIJX2Zsb2F0NF9vcHMJCQlQR05TUCBQR1VJRCAyNzQ1ICAx MDIxIHQgNzAwICkpOwpAQCAtMjA1LDEwICsyMTAsMTEgQEAKIERBVEEoaW5z ZXJ0ICgJMjc0MglfdGltZV9vcHMJCQlQR05TUCBQR1VJRCAyNzQ1ICAxMTgz IHQgMTA4MyApKTsKIERBVEEoaW5zZXJ0ICgJMjc0MglfdGltZXN0YW1wdHpf b3BzCVBHTlNQIFBHVUlEIDI3NDUgIDExODUgdCAxMTg0ICkpOwogREFUQShp bnNlcnQgKAkyNzQyCV90aW1ldHpfb3BzCQkJUEdOU1AgUEdVSUQgMjc0NSAg MTI3MCB0IDEyNjYgKSk7CiBEQVRBKGluc2VydCAoCTI3NDIJX3ZhcmJpdF9v cHMJCQlQR05TUCBQR1VJRCAyNzQ1ICAxNTYzIHQgMTU2MiApKTsKIERBVEEo aW5zZXJ0ICgJMjc0MglfdmFyY2hhcl9vcHMJCVBHTlNQIFBHVUlEIDI3NDUg IDEwMTUgdCAxMDQzICkpOworREFUQShpbnNlcnQgKAkyNzQyCV9udmFyY2hh cl9vcHMJCQlQR05TUCBQR1VJRCAyNzQ1ICA1MDE1IHQgNjAwMSApKTsKIERB VEEoaW5zZXJ0ICgJMjc0MglfdGltZXN0YW1wX29wcwkJUEdOU1AgUEdVSUQg Mjc0NSAgMTExNSB0IDExMTQgKSk7CiBEQVRBKGluc2VydCAoCTI3NDIJX21v bmV5X29wcwkJCVBHTlNQIFBHVUlEIDI3NDUgIDc5MSB0IDc5MCApKTsKIERB VEEoaW5zZXJ0ICgJMjc0MglfcmVsdGltZV9vcHMJCVBHTlNQIFBHVUlEIDI3 NDUgIDEwMjQgdCA3MDMgKSk7CiBEQVRBKGluc2VydCAoCTI3NDIJX3RpbnRl cnZhbF9vcHMJCVBHTlNQIFBHVUlEIDI3NDUgIDEwMjUgdCA3MDQgKSk7CiBE QVRBKGluc2VydCAoCTQwMwkJdXVpZF9vcHMJCQlQR05TUCBQR1VJRCAyOTY4 ICAyOTUwIHQgMCApKTsKZGlmZiAtVSA1IC1OIC1yIC13IC4uL29yaWcuSEVB RC9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX29wZXJhdG9yLmggLi9zcmMvaW5j bHVkZS9jYXRhbG9nL3BnX29wZXJhdG9yLmgKLS0tIC4uL29yaWcuSEVBRC9z cmMvaW5jbHVkZS9jYXRhbG9nL3BnX29wZXJhdG9yLmgJMjAxMy0wOC0xOSAy MDoyMjoxMi4wMDAwMDAwMDAgLTA0MDAKKysrIC4vc3JjL2luY2x1ZGUvY2F0 YWxvZy9wZ19vcGVyYXRvci5oCTIwMTMtMDgtMTkgMjA6NTQ6MDAuMDAwMDAw MDAwIC0wNDAwCkBAIC03NDEsMjYgKzc0MSw1MCBAQAogREFUQShpbnNlcnQg T0lEID0gIDk3MSAoICAiQEAiCSAgIFBHTlNQIFBHVUlEIGwgZiBmCTAgIDYw NAk2MDAgICAgMCAgMCBwb2x5X2NlbnRlciAtIC0gKSk7CiBERVNDUigiY2Vu dGVyIG9mIik7CiAKIERBVEEoaW5zZXJ0IE9JRCA9IDEwNTQgKCAiPSIJICAg UEdOU1AgUEdVSUQgYiB0IHQgMTA0MiAxMDQyCSAxNiAxMDU0IDEwNTcgYnBj aGFyZXEgZXFzZWwgZXFqb2luc2VsICkpOwogREVTQ1IoImVxdWFsIik7CitE QVRBKGluc2VydCBPSUQgPSA1MDU0ICggIj0iICAgICAgIFBHTlNQIFBHVUlE IGIgdCB0IDUwMDEgNTAwMSAgIDE2IDUwNTQgNTA1NyBuYnBjaGFyZXEgZXFz ZWwgZXFqb2luc2VsICkpOworREVTQ1IoImVxdWFsIik7CiAKIERBVEEoaW5z ZXJ0IE9JRCA9IDEwNTUgKCAifiIJICAgUEdOU1AgUEdVSUQgYiBmIGYgMTA0 MiAyNQkgMTYgICAgMCAxMDU2IGJwY2hhcnJlZ2V4ZXEgcmVnZXhlcXNlbCBy ZWdleGVxam9pbnNlbCApKTsKIERFU0NSKCJtYXRjaGVzIHJlZ3VsYXIgZXhw cmVzc2lvbiwgY2FzZS1zZW5zaXRpdmUiKTsKK0RBVEEoaW5zZXJ0IE9JRCA9 IDUwNTUgKCAifiIgICAgICAgUEdOU1AgUEdVSUQgYiBmIGYgNTAwMSAyNSAg ICAgMTYgICAgMCA1MDU2IG5icGNoYXJyZWdleGVxIHJlZ2V4ZXFzZWwgcmVn ZXhlcWpvaW5zZWwgKSk7CitERVNDUigibWF0Y2hlcyByZWd1bGFyIGV4cHJl c3Npb24sIGNhc2Utc2Vuc2l0aXZlIik7CisKICNkZWZpbmUgT0lEX0JQQ0hB Ul9SRUdFWEVRX09QCQkxMDU1CiBEQVRBKGluc2VydCBPSUQgPSAxMDU2ICgg IiF+IgkgICBQR05TUCBQR1VJRCBiIGYgZiAxMDQyIDI1CSAxNiAgICAwIDEw NTUgYnBjaGFycmVnZXhuZSByZWdleG5lc2VsIHJlZ2V4bmVqb2luc2VsICkp OwogREVTQ1IoImRvZXMgbm90IG1hdGNoIHJlZ3VsYXIgZXhwcmVzc2lvbiwg Y2FzZS1zZW5zaXRpdmUiKTsKK0RBVEEoaW5zZXJ0IE9JRCA9IDUwNTYgKCAi IX4iICAgICAgUEdOU1AgUEdVSUQgYiBmIGYgNTAwMSAyNSAgICAgMTYgICAg MCA1MDU1IG5icGNoYXJyZWdleG5lIHJlZ2V4bmVzZWwgcmVnZXhuZWpvaW5z ZWwgKSk7CitERVNDUigiZG9lcyBub3QgbWF0Y2ggcmVndWxhciBleHByZXNz aW9uLCBjYXNlLXNlbnNpdGl2ZSIpOworCiBEQVRBKGluc2VydCBPSUQgPSAx MDU3ICggIjw+IgkgICBQR05TUCBQR1VJRCBiIGYgZiAxMDQyIDEwNDIJIDE2 IDEwNTcgMTA1NCBicGNoYXJuZSBuZXFzZWwgbmVxam9pbnNlbCApKTsKIERF U0NSKCJub3QgZXF1YWwiKTsKK0RBVEEoaW5zZXJ0IE9JRCA9IDUwNTcgKCAi PD4iICAgICAgUEdOU1AgUEdVSUQgYiBmIGYgNTAwMSA1MDAxICAgMTYgNTA1 NyA1MDU0IG5icGNoYXJuZSBuZXFzZWwgbmVxam9pbnNlbCApKTsKK0RFU0NS KCJub3QgZXF1YWwiKTsKKwogREFUQShpbnNlcnQgT0lEID0gMTA1OCAoICI8 IgkgICBQR05TUCBQR1VJRCBiIGYgZiAxMDQyIDEwNDIJIDE2IDEwNjAgMTA2 MSBicGNoYXJsdCBzY2FsYXJsdHNlbCBzY2FsYXJsdGpvaW5zZWwgKSk7CiBE RVNDUigibGVzcyB0aGFuIik7CitEQVRBKGluc2VydCBPSUQgPSA1MDU4ICgg IjwiICAgICAgIFBHTlNQIFBHVUlEIGIgZiBmIDUwMDEgNTAwMSAgIDE2IDUw NjAgNTA2MSBuYnBjaGFybHQgc2NhbGFybHRzZWwgc2NhbGFybHRqb2luc2Vs ICkpOworREVTQ1IoImxlc3MgdGhhbiIpOworCiBEQVRBKGluc2VydCBPSUQg PSAxMDU5ICggIjw9IgkgICBQR05TUCBQR1VJRCBiIGYgZiAxMDQyIDEwNDIJ IDE2IDEwNjEgMTA2MCBicGNoYXJsZSBzY2FsYXJsdHNlbCBzY2FsYXJsdGpv aW5zZWwgKSk7CiBERVNDUigibGVzcyB0aGFuIG9yIGVxdWFsIik7CitEQVRB KGluc2VydCBPSUQgPSA1MDU5ICggIjw9IiAgICAgIFBHTlNQIFBHVUlEIGIg ZiBmIDUwMDEgNTAwMSAgIDE2IDUwNjEgNTA2MCBuYnBjaGFybGUgc2NhbGFy bHRzZWwgc2NhbGFybHRqb2luc2VsICkpOworREVTQ1IoImxlc3MgdGhhbiBv ciBlcXVhbCIpOworCiBEQVRBKGluc2VydCBPSUQgPSAxMDYwICggIj4iCSAg IFBHTlNQIFBHVUlEIGIgZiBmIDEwNDIgMTA0MgkgMTYgMTA1OCAxMDU5IGJw Y2hhcmd0IHNjYWxhcmd0c2VsIHNjYWxhcmd0am9pbnNlbCApKTsKIERFU0NS KCJncmVhdGVyIHRoYW4iKTsKK0RBVEEoaW5zZXJ0IE9JRCA9IDUwNjAgKCAi PiIgICAgICAgUEdOU1AgUEdVSUQgYiBmIGYgNTAwMSA1MDAxICAgMTYgNTA1 OCA1MDU5IG5icGNoYXJndCBzY2FsYXJndHNlbCBzY2FsYXJndGpvaW5zZWwg KSk7CitERVNDUigiZ3JlYXRlciB0aGFuIik7CisKKwogREFUQShpbnNlcnQg T0lEID0gMTA2MSAoICI+PSIJICAgUEdOU1AgUEdVSUQgYiBmIGYgMTA0MiAx MDQyCSAxNiAxMDU5IDEwNTggYnBjaGFyZ2Ugc2NhbGFyZ3RzZWwgc2NhbGFy Z3Rqb2luc2VsICkpOwogREVTQ1IoImdyZWF0ZXIgdGhhbiBvciBlcXVhbCIp OworREFUQShpbnNlcnQgT0lEID0gNTA2MSAoICI+PSIgICAgICBQR05TUCBQ R1VJRCBiIGYgZiA1MDAxIDUwMDEgICAxNiA1MDU5IDUwNTggbmJwY2hhcmdl IHNjYWxhcmd0c2VsIHNjYWxhcmd0am9pbnNlbCApKTsKK0RFU0NSKCJncmVh dGVyIHRoYW4gb3IgZXF1YWwiKTsKKwogCiAvKiBnZW5lcmljIGFycmF5IGNv bXBhcmlzb24gb3BlcmF0b3JzICovCiBEQVRBKGluc2VydCBPSUQgPSAxMDcw ICggICI9IgkgICBQR05TUCBQR1VJRCBiIHQgdCAyMjc3IDIyNzcgMTYgMTA3 MCAxMDcxIGFycmF5X2VxIGVxc2VsIGVxam9pbnNlbCApKTsKIERFU0NSKCJl cXVhbCIpOwogI2RlZmluZSBBUlJBWV9FUV9PUCAxMDcwCkBAIC04ODUsMTMg KzkwOSwxOCBAQAogI2RlZmluZSBPSURfVEVYVF9MSUtFX09QCQkxMjA5CiBE QVRBKGluc2VydCBPSUQgPSAxMjEwICggICIhfn4iICAgUEdOU1AgUEdVSUQg YiBmIGYgIDI1IDI1CTE2IDAgMTIwOSB0ZXh0bmxpa2Ugbmxpa2VzZWwgbmxp a2Vqb2luc2VsICkpOwogREVTQ1IoImRvZXMgbm90IG1hdGNoIExJS0UgZXhw cmVzc2lvbiIpOwogREFUQShpbnNlcnQgT0lEID0gMTIxMSAoICAifn4iCSAg UEdOU1AgUEdVSUQgYiBmIGYgIDEwNDIgMjUJMTYgMCAxMjEyIGJwY2hhcmxp a2UgbGlrZXNlbCBsaWtlam9pbnNlbCApKTsKIERFU0NSKCJtYXRjaGVzIExJ S0UgZXhwcmVzc2lvbiIpOworREFUQShpbnNlcnQgT0lEID0gNTIxMSAoICAi fn4iICAgIFBHTlNQIFBHVUlEIGIgZiBmICA1MDAxIDI1ICAgIDE2IDAgNTIx MiBuYnBjaGFybGlrZSBsaWtlc2VsIGxpa2Vqb2luc2VsICkpOworREVTQ1Io Im1hdGNoZXMgTElLRSBleHByZXNzaW9uIik7CisKICNkZWZpbmUgT0lEX0JQ Q0hBUl9MSUtFX09QCQkxMjExCiBEQVRBKGluc2VydCBPSUQgPSAxMjEyICgg ICIhfn4iICAgUEdOU1AgUEdVSUQgYiBmIGYgIDEwNDIgMjUJMTYgMCAxMjEx IGJwY2hhcm5saWtlIG5saWtlc2VsIG5saWtlam9pbnNlbCApKTsKIERFU0NS KCJkb2VzIG5vdCBtYXRjaCBMSUtFIGV4cHJlc3Npb24iKTsKK0RBVEEoaW5z ZXJ0IE9JRCA9IDUyMTIgKCAgIiF+fiIgICBQR05TUCBQR1VJRCBiIGYgZiAg NTAwMSAyNSAgICAxNiAwIDUyMTEgbmJwY2hhcm5saWtlIG5saWtlc2VsIG5s aWtlam9pbnNlbCApKTsKK0RFU0NSKCJkb2VzIG5vdCBtYXRjaCBMSUtFIGV4 cHJlc3Npb24iKTsKIAogLyogY2FzZS1pbnNlbnNpdGl2ZSByZWdleCBoYWNr cyAqLwogREFUQShpbnNlcnQgT0lEID0gMTIyNiAoICAifioiCQkgUEdOU1Ag UEdVSUQgYiBmIGYJMTkJMjUJMTYgMCAxMjI3IG5hbWVpY3JlZ2V4ZXEgaWNy ZWdleGVxc2VsIGljcmVnZXhlcWpvaW5zZWwgKSk7CiBERVNDUigibWF0Y2hl cyByZWd1bGFyIGV4cHJlc3Npb24sIGNhc2UtaW5zZW5zaXRpdmUiKTsKICNk ZWZpbmUgT0lEX05BTUVfSUNSRUdFWEVRX09QCQkxMjI2CkBAIC05MDIsMTMg KzkzMSwxOCBAQAogI2RlZmluZSBPSURfVEVYVF9JQ1JFR0VYRVFfT1AJCTEy MjgKIERBVEEoaW5zZXJ0IE9JRCA9IDEyMjkgKCAgIiF+KiIJCSBQR05TUCBQ R1VJRCBiIGYgZgkyNQkyNQkxNiAwIDEyMjggdGV4dGljcmVnZXhuZSBpY3Jl Z2V4bmVzZWwgaWNyZWdleG5lam9pbnNlbCApKTsKIERFU0NSKCJkb2VzIG5v dCBtYXRjaCByZWd1bGFyIGV4cHJlc3Npb24sIGNhc2UtaW5zZW5zaXRpdmUi KTsKIERBVEEoaW5zZXJ0IE9JRCA9IDEyMzQgKCAgIn4qIgkJUEdOU1AgUEdV SUQgYiBmIGYgIDEwNDIgIDI1ICAxNiAwIDEyMzUgYnBjaGFyaWNyZWdleGVx IGljcmVnZXhlcXNlbCBpY3JlZ2V4ZXFqb2luc2VsICkpOwogREVTQ1IoIm1h dGNoZXMgcmVndWxhciBleHByZXNzaW9uLCBjYXNlLWluc2Vuc2l0aXZlIik7 CitEQVRBKGluc2VydCBPSUQgPSA1MjM0ICggICJ+KiIgICAgICAgICAgUEdO U1AgUEdVSUQgYiBmIGYgIDUwMDEgIDI1ICAxNiAwIDUyMzUgbmJwY2hhcmlj cmVnZXhlcSBpY3JlZ2V4ZXFzZWwgaWNyZWdleGVxam9pbnNlbCApKTsKK0RF U0NSKCJtYXRjaGVzIHJlZ3VsYXIgZXhwcmVzc2lvbiwgY2FzZS1pbnNlbnNp dGl2ZSIpOworCiAjZGVmaW5lIE9JRF9CUENIQVJfSUNSRUdFWEVRX09QCQkx MjM0CiBEQVRBKGluc2VydCBPSUQgPSAxMjM1ICggIiF+KiIJCVBHTlNQIFBH VUlEIGIgZiBmICAxMDQyICAyNSAgMTYgMCAxMjM0IGJwY2hhcmljcmVnZXhu ZSBpY3JlZ2V4bmVzZWwgaWNyZWdleG5lam9pbnNlbCApKTsKIERFU0NSKCJk b2VzIG5vdCBtYXRjaCByZWd1bGFyIGV4cHJlc3Npb24sIGNhc2UtaW5zZW5z aXRpdmUiKTsKK0RBVEEoaW5zZXJ0IE9JRCA9IDUyMzUgKCAiIX4qIiAgICAg ICAgICBQR05TUCBQR1VJRCBiIGYgZiAgNTAwMSAgMjUgIDE2IDAgNTIzNCBu YnBjaGFyaWNyZWdleG5lIGljcmVnZXhuZXNlbCBpY3JlZ2V4bmVqb2luc2Vs ICkpOworREVTQ1IoImRvZXMgbm90IG1hdGNoIHJlZ3VsYXIgZXhwcmVzc2lv biwgY2FzZS1pbnNlbnNpdGl2ZSIpOwogCiAvKiB0aW1lc3RhbXB0eiBvcGVy YXRvcnMgKi8KIERBVEEoaW5zZXJ0IE9JRCA9IDEzMjAgKCAgIj0iCSAgIFBH TlNQIFBHVUlEIGIgdCB0IDExODQgMTE4NAkgMTYgMTMyMCAxMzIxIHRpbWVz dGFtcHR6X2VxIGVxc2VsIGVxam9pbnNlbCApKTsKIERFU0NSKCJlcXVhbCIp OwogREFUQShpbnNlcnQgT0lEID0gMTMyMSAoICAiPD4iCSAgIFBHTlNQIFBH VUlEIGIgZiBmIDExODQgMTE4NAkgMTYgMTMyMSAxMzIwIHRpbWVzdGFtcHR6 X25lIG5lcXNlbCBuZXFqb2luc2VsICkpOwpAQCAtMTE3NiwxMyArMTIxMCwx OCBAQAogI2RlZmluZSBPSURfVEVYVF9JQ0xJS0VfT1AJCTE2MjcKIERBVEEo aW5zZXJ0IE9JRCA9IDE2MjggKCAgIiF+fioiICBQR05TUCBQR1VJRCBiIGYg ZiAgMjUgMjUJMTYgMCAxNjI3IHRleHRpY25saWtlIGljbmxpa2VzZWwgaWNu bGlrZWpvaW5zZWwgKSk7CiBERVNDUigiZG9lcyBub3QgbWF0Y2ggTElLRSBl eHByZXNzaW9uLCBjYXNlLWluc2Vuc2l0aXZlIik7CiBEQVRBKGluc2VydCBP SUQgPSAxNjI5ICggICJ+fioiICAgUEdOU1AgUEdVSUQgYiBmIGYgIDEwNDIg MjUJMTYgMCAxNjMwIGJwY2hhcmljbGlrZSBpY2xpa2VzZWwgaWNsaWtlam9p bnNlbCApKTsKIERFU0NSKCJtYXRjaGVzIExJS0UgZXhwcmVzc2lvbiwgY2Fz ZS1pbnNlbnNpdGl2ZSIpOworREFUQShpbnNlcnQgT0lEID0gNTYyOSAoICAi fn4qIiAgIFBHTlNQIFBHVUlEIGIgZiBmICA1MDAxIDI1ICAgIDE2IDAgNTYz MCBuYnBjaGFyaWNsaWtlIGljbGlrZXNlbCBpY2xpa2Vqb2luc2VsICkpOwor REVTQ1IoIm1hdGNoZXMgTElLRSBleHByZXNzaW9uLCBjYXNlLWluc2Vuc2l0 aXZlIik7CiAjZGVmaW5lIE9JRF9CUENIQVJfSUNMSUtFX09QCTE2MjkKIERB VEEoaW5zZXJ0IE9JRCA9IDE2MzAgKCAgIiF+fioiICBQR05TUCBQR1VJRCBi IGYgZiAgMTA0MiAyNQkxNiAwIDE2MjkgYnBjaGFyaWNubGlrZSBpY25saWtl c2VsIGljbmxpa2Vqb2luc2VsICkpOwogREVTQ1IoImRvZXMgbm90IG1hdGNo IExJS0UgZXhwcmVzc2lvbiwgY2FzZS1pbnNlbnNpdGl2ZSIpOworREFUQShp bnNlcnQgT0lEID0gNTYzMCAoICAiIX5+KiIgIFBHTlNQIFBHVUlEIGIgZiBm ICA1MDAxIDI1ICAgIDE2IDAgNTYyOSBuYnBjaGFyaWNubGlrZSBpY25saWtl c2VsIGljbmxpa2Vqb2luc2VsICkpOworREVTQ1IoImRvZXMgbm90IG1hdGNo IExJS0UgZXhwcmVzc2lvbiwgY2FzZS1pbnNlbnNpdGl2ZSIpOworCiAKIC8q IE5VTUVSSUMgdHlwZSAtIE9JRCdzIDE3MDAtMTc5OSAqLwogREFUQShpbnNl cnQgT0lEID0gMTc1MSAoICAiLSIJICAgUEdOU1AgUEdVSUQgbCBmIGYJMCAx NzAwIDE3MDAgICAgMAkwIG51bWVyaWNfdW1pbnVzIC0gLSApKTsKIERFU0NS KCJuZWdhdGUiKTsKIERBVEEoaW5zZXJ0IE9JRCA9IDE3NTIgKCAgIj0iCSAg IFBHTlNQIFBHVUlEIGIgdCB0IDE3MDAgMTcwMAkgMTYgMTc1MiAxNzUzIG51 bWVyaWNfZXEgZXFzZWwgZXFqb2luc2VsICkpOwpAQCAtMTM5NSwxNiArMTQz NCwyNyBAQAogREFUQShpbnNlcnQgT0lEID0gMjMxOCAoICJ+Pn4iCVBHTlNQ IFBHVUlEIGIgZiBmIDI1IDI1IDE2IDIzMTQgMjMxNSB0ZXh0X3BhdHRlcm5f Z3Qgc2NhbGFyZ3RzZWwgc2NhbGFyZ3Rqb2luc2VsICkpOwogREVTQ1IoImdy ZWF0ZXIgdGhhbiIpOwogCiBEQVRBKGluc2VydCBPSUQgPSAyMzI2ICggIn48 fiIJUEdOU1AgUEdVSUQgYiBmIGYgMTA0MiAxMDQyIDE2IDIzMzAgMjMyOSBi cGNoYXJfcGF0dGVybl9sdCBzY2FsYXJsdHNlbCBzY2FsYXJsdGpvaW5zZWwg KSk7CiBERVNDUigibGVzcyB0aGFuIik7CitEQVRBKGluc2VydCBPSUQgPSA1 MzI2ICggIn48fiIgIFBHTlNQIFBHVUlEIGIgZiBmIDUwMDEgNTAwMSAxNiA1 MzMwIDUzMjkgbmJwY2hhcl9wYXR0ZXJuX2x0IHNjYWxhcmx0c2VsIHNjYWxh cmx0am9pbnNlbCApKTsKK0RFU0NSKCJsZXNzIHRoYW4iKTsKKwogREFUQShp bnNlcnQgT0lEID0gMjMyNyAoICJ+PD1+IiBQR05TUCBQR1VJRCBiIGYgZiAx MDQyIDEwNDIgMTYgMjMyOSAyMzMwIGJwY2hhcl9wYXR0ZXJuX2xlIHNjYWxh cmx0c2VsIHNjYWxhcmx0am9pbnNlbCApKTsKIERFU0NSKCJsZXNzIHRoYW4g b3IgZXF1YWwiKTsKK0RBVEEoaW5zZXJ0IE9JRCA9IDUzMjcgKCAifjw9fiIg UEdOU1AgUEdVSUQgYiBmIGYgNTAwMSA1MDAxIDE2IDUzMjkgNTMzMCBuYnBj aGFyX3BhdHRlcm5fbGUgc2NhbGFybHRzZWwgc2NhbGFybHRqb2luc2VsICkp OworREVTQ1IoImxlc3MgdGhhbiBvciBlcXVhbCIpOworCiBEQVRBKGluc2Vy dCBPSUQgPSAyMzI5ICggIn4+PX4iIFBHTlNQIFBHVUlEIGIgZiBmIDEwNDIg MTA0MiAxNiAyMzI3IDIzMjYgYnBjaGFyX3BhdHRlcm5fZ2Ugc2NhbGFyZ3Rz ZWwgc2NhbGFyZ3Rqb2luc2VsICkpOwogREVTQ1IoImdyZWF0ZXIgdGhhbiBv ciBlcXVhbCIpOworREFUQShpbnNlcnQgT0lEID0gNTMyOSAoICJ+Pj1+IiBQ R05TUCBQR1VJRCBiIGYgZiA1MDAxIDUwMDEgMTYgNTMyNyA1MzI2IG5icGNo YXJfcGF0dGVybl9nZSBzY2FsYXJndHNlbCBzY2FsYXJndGpvaW5zZWwgKSk7 CitERVNDUigiZ3JlYXRlciB0aGFuIG9yIGVxdWFsIik7CisKIERBVEEoaW5z ZXJ0IE9JRCA9IDIzMzAgKCAifj5+IglQR05TUCBQR1VJRCBiIGYgZiAxMDQy IDEwNDIgMTYgMjMyNiAyMzI3IGJwY2hhcl9wYXR0ZXJuX2d0IHNjYWxhcmd0 c2VsIHNjYWxhcmd0am9pbnNlbCApKTsKIERFU0NSKCJncmVhdGVyIHRoYW4i KTsKK0RBVEEoaW5zZXJ0IE9JRCA9IDUzMzAgKCAifj5+IiAgUEdOU1AgUEdV SUQgYiBmIGYgNTAwMSA1MDAxIDE2IDUzMjYgNTMyNyBuYnBjaGFyX3BhdHRl cm5fZ3Qgc2NhbGFyZ3RzZWwgc2NhbGFyZ3Rqb2luc2VsICkpOworREVTQ1Io ImdyZWF0ZXIgdGhhbiIpOwogCiAvKiBjcm9zc3R5cGUgb3BlcmF0aW9ucyBm b3IgZGF0ZSB2cy4gdGltZXN0YW1wIGFuZCB0aW1lc3RhbXB0eiAqLwogCiBE QVRBKGluc2VydCBPSUQgPSAyMzQ1ICggIjwiCSAgIFBHTlNQIFBHVUlEIGIg ZiBmCTEwODIJMTExNCAgIDE2IDIzNzUgMjM0OCBkYXRlX2x0X3RpbWVzdGFt cCBzY2FsYXJsdHNlbCBzY2FsYXJsdGpvaW5zZWwgKSk7CiBERVNDUigibGVz cyB0aGFuIik7CmRpZmYgLVUgNSAtTiAtciAtdyAuLi9vcmlnLkhFQUQvc3Jj L2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmggLi9zcmMvaW5jbHVkZS9jYXRh bG9nL3BnX3Byb2MuaAotLS0gLi4vb3JpZy5IRUFEL3NyYy9pbmNsdWRlL2Nh dGFsb2cvcGdfcHJvYy5oCTIwMTMtMDgtMTkgMjA6MjI6MTIuMDAwMDAwMDAw IC0wNDAwCisrKyAuL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5oCTIw MTMtMDgtMTkgMjA6NTQ6MDAuMDAwMDAwMDAwIC0wNDAwCkBAIC03NDMsMTAg Kzc0MywxOSBAQAogREVTQ1IoImNvbnZlcnQgaW50OCB0byBmbG9hdDgiKTsK IERBVEEoaW5zZXJ0IE9JRCA9IDQ4MyAoICBpbnQ4CQkJICAgUEdOU1AgUEdV SUQgMTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBpIDEgMCAyMCAiNzAxIiBfbnVs bF8gX251bGxfIF9udWxsXyBfbnVsbF8JZHRvaTggX251bGxfIF9udWxsXyBf bnVsbF8gKSk7CiBERVNDUigiY29udmVydCBmbG9hdDggdG8gaW50OCIpOwog CiAvKiBPSURTIDUwMCAtIDU5OSAqLworLyogbmF0aW9uYWwgY2hhcmFjdGVy cyBzdXBwb3J0IGZ1bmN0aW9ucyAqLworREFUQShpbnNlcnQgT0lEID0gIDUw MSAoICB0ZXh0ICAgICAgICAgICAgIFBHTlNQIFBHVUlEIDEyIDEgMCAwIDAg ZiBmIGYgZiB0IGYgaSAxIDAgMjUgIjYwMDEiIF9udWxsXyBfbnVsbF8gX251 bGxfIF9udWxsXyAgIG52YXJjaGFyMnRleHQgX251bGxfIF9udWxsXyBfbnVs bF8gKSk7CitERVNDUigiY29udmVydCBudmFyY2hhciB0byB0ZXh0Iik7CitE QVRBKGluc2VydCBPSUQgPSAgNTAyICggIG52YXJjaGFyICAgICAgICAgUEdO U1AgUEdVSUQgMTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBpIDEgMCA2MDAxICIy NSIgX251bGxfIF9udWxsXyBfbnVsbF8gX251bGxfICAgdGV4dDJudmFyY2hh ciBfbnVsbF8gX251bGxfIF9udWxsXyApKTsKK0RFU0NSKCJjb252ZXJ0IHRl eHQgdG8gbnZhcmNoYXIiKTsKK0RBVEEoaW5zZXJ0IE9JRCA9ICA1MDMgKCAg dGV4dCAgICAgICAgICAgICBQR05TUCBQR1VJRCAxMiAxIDAgMCAwIGYgZiBm IGYgdCBmIGkgMSAwIDI1ICI1MDAxIiBfbnVsbF8gX251bGxfIF9udWxsXyBf bnVsbF8gICBudmFyY2hhcjJydHJpbXRleHQgX251bGxfIF9udWxsXyBfbnVs bF8gKSk7CitERVNDUigiY29udmVydCBuYnB2YXJjaGFyIHRvIHJ0cmltbWVk IHRleHQiKTsKK0RBVEEoaW5zZXJ0IE9JRCA9ICA1MDQgKCAgbnZhcmNoYXIg ICAgICAgICBQR05TUCBQR1VJRCAxMiAxIDAgMCAwIGYgZiBmIGYgdCBmIGkg MSAwIDYwMDEgIjEwNDIiIF9udWxsXyBfbnVsbF8gX251bGxfIF9udWxsXyAg IHJ0cmltdGV4dDJudmFyY2hhciBfbnVsbF8gX251bGxfIF9udWxsXyApKTsK K0RFU0NSKCJjb252ZXJ0IHRyaW1tZWQgdGV4dCAoYnBjaGFyKSB0byBudmFy Y2hhciIpOwogCiAvKiBPSURTIDYwMCAtIDY5OSAqLwogCiBEQVRBKGluc2Vy dCBPSUQgPSA2MjYgKCAgaGFzaF9hcnJheQkJICAgUEdOU1AgUEdVSUQgMTIg MSAwIDAgMCBmIGYgZiBmIHQgZiBpIDEgMCAyMyAiMjI3NyIgX251bGxfIF9u dWxsXyBfbnVsbF8gX251bGxfIGhhc2hfYXJyYXkgX251bGxfIF9udWxsXyBf bnVsbF8gKSk7CiBERVNDUigiaGFzaCIpOwpAQCAtNzY3LDE0ICs3NzYsMjMg QEAKIERBVEEoaW5zZXJ0IE9JRCA9IDY1OCAoICBuYW1lZ2UJCQkgICBQR05T UCBQR1VJRCAxMiAxIDAgMCAwIGYgZiBmIHQgdCBmIGkgMiAwIDE2ICIxOSAx OSIgX251bGxfIF9udWxsXyBfbnVsbF8gX251bGxfIG5hbWVnZSBfbnVsbF8g X251bGxfIF9udWxsXyApKTsKIERBVEEoaW5zZXJ0IE9JRCA9IDY1OSAoICBu YW1lbmUJCQkgICBQR05TUCBQR1VJRCAxMiAxIDAgMCAwIGYgZiBmIHQgdCBm IGkgMiAwIDE2ICIxOSAxOSIgX251bGxfIF9udWxsXyBfbnVsbF8gX251bGxf IG5hbWVuZSBfbnVsbF8gX251bGxfIF9udWxsXyApKTsKIAogREFUQShpbnNl cnQgT0lEID0gNjY4ICggIGJwY2hhcgkJCSAgIFBHTlNQIFBHVUlEIDEyIDEg MCAwIDAgZiBmIGYgZiB0IGYgaSAzIDAgMTA0MiAiMTA0MiAyMyAxNiIgX251 bGxfIF9udWxsXyBfbnVsbF8gX251bGxfIGJwY2hhciBfbnVsbF8gX251bGxf IF9udWxsXyApKTsKIERFU0NSKCJhZGp1c3QgY2hhcigpIHRvIHR5cG1vZCBs ZW5ndGgiKTsKK0RBVEEoaW5zZXJ0IE9JRCA9IDU2NjggKCAgbmJwY2hhciAg ICAgICAgICAgICAgICAgICAgUEdOU1AgUEdVSUQgMTIgMSAwIDAgMCBmIGYg ZiBmIHQgZiBpIDMgMCA1MDAxICI1MDAxIDIzIDE2IiBfbnVsbF8gX251bGxf IF9udWxsXyBfbnVsbF8gYnBjaGFyIF9udWxsXyBfbnVsbF8gX251bGxfICkp OworREVTQ1IoImFkanVzdCBjaGFyKCkgdG8gdHlwbW9kIGxlbmd0aCIpOwor CiBEQVRBKGluc2VydCBPSUQgPSAzMDk3ICggdmFyY2hhcl90cmFuc2Zvcm0g UEdOU1AgUEdVSUQgMTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBpIDEgMCAyMjgx ICIyMjgxIiBfbnVsbF8gX251bGxfIF9udWxsXyBfbnVsbF8gdmFyY2hhcl90 cmFuc2Zvcm0gX251bGxfIF9udWxsXyBfbnVsbF8gKSk7CiBERVNDUigidHJh bnNmb3JtIGEgdmFyY2hhciBsZW5ndGggY29lcmNpb24iKTsKK0RBVEEoaW5z ZXJ0IE9JRCA9IDUwOTcgKCBudmFyY2hhcl90cmFuc2Zvcm0gUEdOU1AgUEdV SUQgMTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBpIDEgMCAyMjgxICIyMjgxIiBf bnVsbF8gX251bGxfIF9udWxsXyBfbnVsbF8gdmFyY2hhcl90cmFuc2Zvcm0g X251bGxfIF9udWxsXyBfbnVsbF8gKSk7CitERVNDUigidHJhbnNmb3JtIGEg bnZhcmNoYXIgbGVuZ3RoIGNvZXJjaW9uIik7CisKIERBVEEoaW5zZXJ0IE9J RCA9IDY2OSAoICB2YXJjaGFyCQkgICBQR05TUCBQR1VJRCAxMiAxIDAgMCB2 YXJjaGFyX3RyYW5zZm9ybSBmIGYgZiBmIHQgZiBpIDMgMCAxMDQzICIxMDQz IDIzIDE2IiBfbnVsbF8gX251bGxfIF9udWxsXyBfbnVsbF8gdmFyY2hhciBf bnVsbF8gX251bGxfIF9udWxsXyApKTsKIERFU0NSKCJhZGp1c3QgdmFyY2hh cigpIHRvIHR5cG1vZCBsZW5ndGgiKTsKK0RBVEEoaW5zZXJ0IE9JRCA9IDU2 NjkgKCAgbnZhcmNoYXIgICAgICAgICAgICAgICAgICAgUEdOU1AgUEdVSUQg MTIgMSAwIDAgbnZhcmNoYXJfdHJhbnNmb3JtIGYgZiBmIGYgdCBmIGkgMyAw IDYwMDEgIjYwMDEgMjMgMTYiIF9udWxsXyBfbnVsbF8gX251bGxfIF9udWxs XyB2YXJjaGFyIF9udWxsXyBfbnVsbF8gX251bGxfICkpOworREVTQ1IoImFk anVzdCBudmFyY2hhcigpIHRvIHR5cG1vZCBsZW5ndGgiKTsKKwogCiBEQVRB KGluc2VydCBPSUQgPSA2NzYgKCAgbWt0aW50ZXJ2YWwJICAgUEdOU1AgUEdV SUQgMTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBpIDIgMCA3MDQgIjcwMiA3MDIi IF9udWxsXyBfbnVsbF8gX251bGxfIF9udWxsXyBta3RpbnRlcnZhbCBfbnVs bF8gX251bGxfIF9udWxsXyApKTsKIAogREFUQShpbnNlcnQgT0lEID0gNjE5 ICggIG9pZHZlY3Rvcm5lCSAgIFBHTlNQIFBHVUlEIDEyIDEgMCAwIDAgZiBm IGYgZiB0IGYgaSAyIDAgMTYgIjMwIDMwIiBfbnVsbF8gX251bGxfIF9udWxs XyBfbnVsbF8gb2lkdmVjdG9ybmUgX251bGxfIF9udWxsXyBfbnVsbF8gKSk7 CiBEQVRBKGluc2VydCBPSUQgPSA2NzcgKCAgb2lkdmVjdG9ybHQJICAgUEdO U1AgUEdVSUQgMTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBpIDIgMCAxNiAiMzAg MzAiIF9udWxsXyBfbnVsbF8gX251bGxfIF9udWxsXyBvaWR2ZWN0b3JsdCBf bnVsbF8gX251bGxfIF9udWxsXyApKTsKQEAgLTExMTgsMzggKzExMzYsNzkg QEAKIERFU0NSKCJtYWtlIEFDTCBpdGVtIik7CiBEQVRBKGluc2VydCBPSUQg PSAzOTQzICggIGFjbGRlZmF1bHQJUEdOU1AgUEdVSUQgMTIgMSAwIDAgMCBm IGYgZiBmIHQgZiBpIDIgMCAxMDM0ICIxOCAyNiIgX251bGxfIF9udWxsXyBf bnVsbF8gX251bGxfICBhY2xkZWZhdWx0X3NxbCBfbnVsbF8gX251bGxfIF9u dWxsXyApKTsKIERFU0NSKCJUT0RPIik7CiBEQVRBKGluc2VydCBPSUQgPSAx Njg5ICggIGFjbGV4cGxvZGUJUEdOU1AgUEdVSUQgMTIgMSAxMCAwIDAgZiBm IGYgZiB0IHQgcyAxIDAgMjI0OSAiMTAzNCIgInsxMDM0LDI2LDI2LDI1LDE2 fSIgIntpLG8sbyxvLG99IiAie2FjbCxncmFudG9yLGdyYW50ZWUscHJpdmls ZWdlX3R5cGUsaXNfZ3JhbnRhYmxlfSIgX251bGxfIGFjbGV4cGxvZGUgX251 bGxfIF9udWxsXyBfbnVsbF8gKSk7CiBERVNDUigiY29udmVydCBBQ0wgaXRl bSBhcnJheSB0byB0YWJsZSwgZm9yIHVzZSBieSBpbmZvcm1hdGlvbiBzY2hl bWEiKTsKLURBVEEoaW5zZXJ0IE9JRCA9IDEwNDQgKCAgYnBjaGFyaW4JCSAg IFBHTlNQIFBHVUlEIDEyIDEgMCAwIDAgZiBmIGYgZiB0IGYgaSAzIDAgMTA0 MiAiMjI3NSAyNiAyMyIgX251bGxfIF9udWxsXyBfbnVsbF8gX251bGxfIGJw Y2hhcmluIF9udWxsXyBfbnVsbF8gX251bGxfICkpOworCitEQVRBKGluc2Vy dCBPSUQgPSAxMDQzICggIGJwY2hhcmluCQkgICBQR05TUCBQR1VJRCAxMiAx IDAgMCAwIGYgZiBmIGYgdCBmIGkgMyAwIDEwNDIgIjIyNzUgMjYgMjMiIF9u dWxsXyBfbnVsbF8gX251bGxfIF9udWxsXyBicGNoYXJpbiBfbnVsbF8gX251 bGxfIF9udWxsXyApKTsKIERFU0NSKCJJL08iKTsKIERBVEEoaW5zZXJ0IE9J RCA9IDEwNDUgKCAgYnBjaGFyb3V0CQkgICBQR05TUCBQR1VJRCAxMiAxIDAg MCAwIGYgZiBmIGYgdCBmIGkgMSAwIDIyNzUgIjEwNDIiIF9udWxsXyBfbnVs bF8gX251bGxfIF9udWxsXyBicGNoYXJvdXQgX251bGxfIF9udWxsXyBfbnVs bF8gKSk7CiBERVNDUigiSS9PIik7CisKK0RBVEEoaW5zZXJ0IE9JRCA9IDUx MDEgKCAgbmJwY2hhcmluICAgICAgICAgICAgICAgICBQR05TUCBQR1VJRCAx MiAxIDAgMCAwIGYgZiBmIGYgdCBmIGkgMyAwIDUwMDEgIjIyNzUgMjYgMjMi IF9udWxsXyBfbnVsbF8gX251bGxfIF9udWxsXyBicGNoYXJpbiBfbnVsbF8g X251bGxfIF9udWxsXyApKTsKK0RFU0NSKCJJL08iKTsKK0RBVEEoaW5zZXJ0 IE9JRCA9IDUwNDUgKCAgbmJwY2hhcm91dCAgICAgICAgICAgICAgICBQR05T UCBQR1VJRCAxMiAxIDAgMCAwIGYgZiBmIGYgdCBmIGkgMSAwIDIyNzUgIjUw MDEiIF9udWxsXyBfbnVsbF8gX251bGxfIF9udWxsXyBicGNoYXJvdXQgX251 bGxfIF9udWxsXyBfbnVsbF8gKSk7CitERVNDUigiSS9PIik7CisKIERBVEEo aW5zZXJ0IE9JRCA9IDI5MTMgKCAgYnBjaGFydHlwbW9kaW4gICBQR05TUCBQ R1VJRCAxMiAxIDAgMCAwIGYgZiBmIGYgdCBmIGkgMSAwIDIzICIxMjYzIiBf bnVsbF8gX251bGxfIF9udWxsXyBfbnVsbF8JYnBjaGFydHlwbW9kaW4gX251 bGxfIF9udWxsXyBfbnVsbF8gKSk7CiBERVNDUigiSS9PIHR5cG1vZCIpOwog REFUQShpbnNlcnQgT0lEID0gMjkxNCAoICBicGNoYXJ0eXBtb2RvdXQgIFBH TlNQIFBHVUlEIDEyIDEgMCAwIDAgZiBmIGYgZiB0IGYgaSAxIDAgMjI3NSAi MjMiIF9udWxsXyBfbnVsbF8gX251bGxfIF9udWxsXwlicGNoYXJ0eXBtb2Rv dXQgX251bGxfIF9udWxsXyBfbnVsbF8gKSk7CiBERVNDUigiSS9PIHR5cG1v ZCIpOworCitEQVRBKGluc2VydCBPSUQgPSA1OTEzICggIG5icGNoYXJ0eXBt b2RpbiAgIFBHTlNQIFBHVUlEIDEyIDEgMCAwIDAgZiBmIGYgZiB0IGYgaSAx IDAgMjMgIjEyNjMiIF9udWxsXyBfbnVsbF8gX251bGxfIF9udWxsXyAgICAg ICBicGNoYXJ0eXBtb2RpbiBfbnVsbF8gX251bGxfIF9udWxsXyApKTsKK0RF U0NSKCJJL08gdHlwbW9kIik7CitEQVRBKGluc2VydCBPSUQgPSA1OTE0ICgg IG5icGNoYXJ0eXBtb2RvdXQgIFBHTlNQIFBHVUlEIDEyIDEgMCAwIDAgZiBm IGYgZiB0IGYgaSAxIDAgMjI3NSAiMjMiIF9udWxsXyBfbnVsbF8gX251bGxf IF9udWxsXyAgICAgICBicGNoYXJ0eXBtb2RvdXQgX251bGxfIF9udWxsXyBf bnVsbF8gKSk7CitERVNDUigiSS9PIHR5cG1vZCIpOworCiBEQVRBKGluc2Vy dCBPSUQgPSAxMDQ2ICggIHZhcmNoYXJpbgkJICAgUEdOU1AgUEdVSUQgMTIg MSAwIDAgMCBmIGYgZiBmIHQgZiBpIDMgMCAxMDQzICIyMjc1IDI2IDIzIiBf bnVsbF8gX251bGxfIF9udWxsXyBfbnVsbF8gdmFyY2hhcmluIF9udWxsXyBf bnVsbF8gX251bGxfICkpOwogREVTQ1IoIkkvTyIpOwogREFUQShpbnNlcnQg T0lEID0gMTA0NyAoICB2YXJjaGFyb3V0CSAgIFBHTlNQIFBHVUlEIDEyIDEg MCAwIDAgZiBmIGYgZiB0IGYgaSAxIDAgMjI3NSAiMTA0MyIgX251bGxfIF9u dWxsXyBfbnVsbF8gX251bGxfIHZhcmNoYXJvdXQgX251bGxfIF9udWxsXyBf bnVsbF8gKSk7CiBERVNDUigiSS9PIik7CisKK0RBVEEoaW5zZXJ0IE9JRCA9 IDUwNDYgKCAgbnZhcmNoYXJpbiAgICAgICBQR05TUCBQR1VJRCAxMiAxIDAg MCAwIGYgZiBmIGYgdCBmIGkgMyAwIDYwMDEgIjIyNzUgMjYgMjMiIF9udWxs XyBfbnVsbF8gX251bGxfIF9udWxsXyBudmFyY2hhcmluIF9udWxsXyBfbnVs bF8gX251bGxfICkpOworREVTQ1IoIkkvTyIpOworREFUQShpbnNlcnQgT0lE ID0gNTA0NyAoICBudmFyY2hhcm91dCAgICAgIFBHTlNQIFBHVUlEIDEyIDEg MCAwIDAgZiBmIGYgZiB0IGYgaSAxIDAgMjI3NSAiNjAwMSIgX251bGxfIF9u dWxsXyBfbnVsbF8gX251bGxfIG52YXJjaGFyb3V0IF9udWxsXyBfbnVsbF8g X251bGxfICkpOworREVTQ1IoIkkvTyIpOworCiBEQVRBKGluc2VydCBPSUQg PSAyOTE1ICggIHZhcmNoYXJ0eXBtb2RpbiAgUEdOU1AgUEdVSUQgMTIgMSAw IDAgMCBmIGYgZiBmIHQgZiBpIDEgMCAyMyAiMTI2MyIgX251bGxfIF9udWxs XyBfbnVsbF8gX251bGxfCXZhcmNoYXJ0eXBtb2RpbiBfbnVsbF8gX251bGxf IF9udWxsXyApKTsKIERFU0NSKCJJL08gdHlwbW9kIik7CiBEQVRBKGluc2Vy dCBPSUQgPSAyOTE2ICggIHZhcmNoYXJ0eXBtb2RvdXQgUEdOU1AgUEdVSUQg MTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBpIDEgMCAyMjc1ICIyMyIgX251bGxf IF9udWxsXyBfbnVsbF8gX251bGxfCXZhcmNoYXJ0eXBtb2RvdXQgX251bGxf IF9udWxsXyBfbnVsbF8gKSk7CiBERVNDUigiSS9PIHR5cG1vZCIpOworCitE QVRBKGluc2VydCBPSUQgPSA1OTE1ICggIG52YXJjaGFydHlwbW9kaW4gIFBH TlNQIFBHVUlEIDEyIDEgMCAwIDAgZiBmIGYgZiB0IGYgaSAxIDAgMjMgIjEy NjMiIF9udWxsXyBfbnVsbF8gX251bGxfIF9udWxsXyAgICAgICB2YXJjaGFy dHlwbW9kaW4gX251bGxfIF9udWxsXyBfbnVsbF8gKSk7CitERVNDUigiSS9P IHR5cG1vZCIpOworREFUQShpbnNlcnQgT0lEID0gNTkxNiAoICBudmFyY2hh cnR5cG1vZG91dCBQR05TUCBQR1VJRCAxMiAxIDAgMCAwIGYgZiBmIGYgdCBm IGkgMSAwIDIyNzUgIjIzIiBfbnVsbF8gX251bGxfIF9udWxsXyBfbnVsbF8g ICAgICAgdmFyY2hhcnR5cG1vZG91dCBfbnVsbF8gX251bGxfIF9udWxsXyAp KTsKK0RFU0NSKCJJL08gdHlwbW9kIik7CisKIERBVEEoaW5zZXJ0IE9JRCA9 IDEwNDggKCAgYnBjaGFyZXEJCSAgIFBHTlNQIFBHVUlEIDEyIDEgMCAwIDAg ZiBmIGYgdCB0IGYgaSAyIDAgMTYgIjEwNDIgMTA0MiIgX251bGxfIF9udWxs XyBfbnVsbF8gX251bGxfIGJwY2hhcmVxIF9udWxsXyBfbnVsbF8gX251bGxf ICkpOwogREFUQShpbnNlcnQgT0lEID0gMTA0OSAoICBicGNoYXJsdAkJICAg UEdOU1AgUEdVSUQgMTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBpIDIgMCAxNiAi MTA0MiAxMDQyIiBfbnVsbF8gX251bGxfIF9udWxsXyBfbnVsbF8gYnBjaGFy bHQgX251bGxfIF9udWxsXyBfbnVsbF8gKSk7CiBEQVRBKGluc2VydCBPSUQg PSAxMDUwICggIGJwY2hhcmxlCQkgICBQR05TUCBQR1VJRCAxMiAxIDAgMCAw IGYgZiBmIGYgdCBmIGkgMiAwIDE2ICIxMDQyIDEwNDIiIF9udWxsXyBfbnVs bF8gX251bGxfIF9udWxsXyBicGNoYXJsZSBfbnVsbF8gX251bGxfIF9udWxs XyApKTsKIERBVEEoaW5zZXJ0IE9JRCA9IDEwNTEgKCAgYnBjaGFyZ3QJCSAg IFBHTlNQIFBHVUlEIDEyIDEgMCAwIDAgZiBmIGYgZiB0IGYgaSAyIDAgMTYg IjEwNDIgMTA0MiIgX251bGxfIF9udWxsXyBfbnVsbF8gX251bGxfIGJwY2hh cmd0IF9udWxsXyBfbnVsbF8gX251bGxfICkpOwogREFUQShpbnNlcnQgT0lE ID0gMTA1MiAoICBicGNoYXJnZQkJICAgUEdOU1AgUEdVSUQgMTIgMSAwIDAg MCBmIGYgZiBmIHQgZiBpIDIgMCAxNiAiMTA0MiAxMDQyIiBfbnVsbF8gX251 bGxfIF9udWxsXyBfbnVsbF8gYnBjaGFyZ2UgX251bGxfIF9udWxsXyBfbnVs bF8gKSk7CiBEQVRBKGluc2VydCBPSUQgPSAxMDUzICggIGJwY2hhcm5lCQkg ICBQR05TUCBQR1VJRCAxMiAxIDAgMCAwIGYgZiBmIHQgdCBmIGkgMiAwIDE2 ICIxMDQyIDEwNDIiIF9udWxsXyBfbnVsbF8gX251bGxfIF9udWxsXyBicGNo YXJuZSBfbnVsbF8gX251bGxfIF9udWxsXyApKTsKKworREFUQShpbnNlcnQg T0lEID0gNTA0OCAoICBuYnBjaGFyZXEgICAgICAgICAgICAgICAgIFBHTlNQ IFBHVUlEIDEyIDEgMCAwIDAgZiBmIGYgdCB0IGYgaSAyIDAgMTYgIjUwMDEg NTAwMSIgX251bGxfIF9udWxsXyBfbnVsbF8gX251bGxfIGJwY2hhcmVxIF9u dWxsXyBfbnVsbF8gX251bGxfICkpOworREFUQShpbnNlcnQgT0lEID0gNTA0 OSAoICBuYnBjaGFybHQgICAgICAgICAgICAgICAgIFBHTlNQIFBHVUlEIDEy IDEgMCAwIDAgZiBmIGYgZiB0IGYgaSAyIDAgMTYgIjUwMDEgNTAwMSIgX251 bGxfIF9udWxsXyBfbnVsbF8gX251bGxfIGJwY2hhcmx0IF9udWxsXyBfbnVs bF8gX251bGxfICkpOworREFUQShpbnNlcnQgT0lEID0gNTA1MCAoICBuYnBj aGFybGUgICAgICAgICAgICAgICAgIFBHTlNQIFBHVUlEIDEyIDEgMCAwIDAg ZiBmIGYgZiB0IGYgaSAyIDAgMTYgIjUwMDEgNTAwMSIgX251bGxfIF9udWxs XyBfbnVsbF8gX251bGxfIGJwY2hhcmxlIF9udWxsXyBfbnVsbF8gX251bGxf ICkpOworREFUQShpbnNlcnQgT0lEID0gNTA1MSAoICBuYnBjaGFyZ3QgICAg ICAgICAgICAgICAgIFBHTlNQIFBHVUlEIDEyIDEgMCAwIDAgZiBmIGYgZiB0 IGYgaSAyIDAgMTYgIjUwMDEgNTAwMSIgX251bGxfIF9udWxsXyBfbnVsbF8g X251bGxfIGJwY2hhcmd0IF9udWxsXyBfbnVsbF8gX251bGxfICkpOworREFU QShpbnNlcnQgT0lEID0gNTA1MiAoICBuYnBjaGFyZ2UgICAgICAgICAgICAg ICAgIFBHTlNQIFBHVUlEIDEyIDEgMCAwIDAgZiBmIGYgZiB0IGYgaSAyIDAg MTYgIjUwMDEgNTAwMSIgX251bGxfIF9udWxsXyBfbnVsbF8gX251bGxfIGJw Y2hhcmdlIF9udWxsXyBfbnVsbF8gX251bGxfICkpOworREFUQShpbnNlcnQg T0lEID0gNTA1MyAoICBuYnBjaGFybmUgICAgICAgICAgICAgICAgIFBHTlNQ IFBHVUlEIDEyIDEgMCAwIDAgZiBmIGYgdCB0IGYgaSAyIDAgMTYgIjUwMDEg NTAwMSIgX251bGxfIF9udWxsXyBfbnVsbF8gX251bGxfIGJwY2hhcm5lIF9u dWxsXyBfbnVsbF8gX251bGxfICkpOworCiBEQVRBKGluc2VydCBPSUQgPSAx MDYzICggIGJwY2hhcl9sYXJnZXIgICAgUEdOU1AgUEdVSUQgMTIgMSAwIDAg MCBmIGYgZiBmIHQgZiBpIDIgMCAxMDQyICIxMDQyIDEwNDIiIF9udWxsXyBf bnVsbF8gX251bGxfIF9udWxsXyBicGNoYXJfbGFyZ2VyIF9udWxsXyBfbnVs bF8gX251bGxfICkpOwogREVTQ1IoImxhcmdlciBvZiB0d28iKTsKIERBVEEo aW5zZXJ0IE9JRCA9IDEwNjQgKCAgYnBjaGFyX3NtYWxsZXIgICBQR05TUCBQ R1VJRCAxMiAxIDAgMCAwIGYgZiBmIGYgdCBmIGkgMiAwIDEwNDIgIjEwNDIg MTA0MiIgX251bGxfIF9udWxsXyBfbnVsbF8gX251bGxfIGJwY2hhcl9zbWFs bGVyIF9udWxsXyBfbnVsbF8gX251bGxfICkpOwogREVTQ1IoInNtYWxsZXIg b2YgdHdvIik7CiBEQVRBKGluc2VydCBPSUQgPSAxMDc4ICggIGJwY2hhcmNt cAkJICAgUEdOU1AgUEdVSUQgMTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBpIDIg MCAyMyAiMTA0MiAxMDQyIiBfbnVsbF8gX251bGxfIF9udWxsXyBfbnVsbF8g YnBjaGFyY21wIF9udWxsXyBfbnVsbF8gX251bGxfICkpOwogREVTQ1IoImxl c3MtZXF1YWwtZ3JlYXRlciIpOworCitEQVRBKGluc2VydCBPSUQgPSA1MDYz ICggIG5icGNoYXJfbGFyZ2VyICAgIFBHTlNQIFBHVUlEIDEyIDEgMCAwIDAg ZiBmIGYgZiB0IGYgaSAyIDAgNTAwMSAiNTAwMSA1MDAxIiBfbnVsbF8gX251 bGxfIF9udWxsXyBfbnVsbF8gYnBjaGFyX2xhcmdlciBfbnVsbF8gX251bGxf IF9udWxsXyApKTsKK0RFU0NSKCJsYXJnZXIgb2YgdHdvIik7CitEQVRBKGlu c2VydCBPSUQgPSA1MDY0ICggIG5icGNoYXJfc21hbGxlciAgIFBHTlNQIFBH VUlEIDEyIDEgMCAwIDAgZiBmIGYgZiB0IGYgaSAyIDAgNTAwMSAiNTAwMSA1 MDAxIiBfbnVsbF8gX251bGxfIF9udWxsXyBfbnVsbF8gYnBjaGFyX3NtYWxs ZXIgX251bGxfIF9udWxsXyBfbnVsbF8gKSk7CitERVNDUigic21hbGxlciBv ZiB0d28iKTsKK0RBVEEoaW5zZXJ0IE9JRCA9IDUwNzggKCAgbmJwY2hhcmNt cCAgICAgICAgICAgICAgICBQR05TUCBQR1VJRCAxMiAxIDAgMCAwIGYgZiBm IGYgdCBmIGkgMiAwIDIzICI1MDAxIDUwMDEiIF9udWxsXyBfbnVsbF8gX251 bGxfIF9udWxsXyBicGNoYXJjbXAgX251bGxfIF9udWxsXyBfbnVsbF8gKSk7 CitERVNDUigibGVzcy1lcXVhbC1ncmVhdGVyIik7CisKIERBVEEoaW5zZXJ0 IE9JRCA9IDEwODAgKCAgaGFzaGJwY2hhcgkgICBQR05TUCBQR1VJRCAxMiAx IDAgMCAwIGYgZiBmIGYgdCBmIGkgMSAwIDIzICIxMDQyIiBfbnVsbF8gX251 bGxfIF9udWxsXyBfbnVsbF8JaGFzaGJwY2hhciBfbnVsbF8gX251bGxfIF9u dWxsXyApKTsKIERFU0NSKCJoYXNoIik7CiBEQVRBKGluc2VydCBPSUQgPSAx MDgxICggIGZvcm1hdF90eXBlCSAgIFBHTlNQIFBHVUlEIDEyIDEgMCAwIDAg ZiBmIGYgZiBmIGYgcyAyIDAgMjUgIjI2IDIzIiBfbnVsbF8gX251bGxfIF9u dWxsXyBfbnVsbF8gZm9ybWF0X3R5cGUgX251bGxfIF9udWxsXyBfbnVsbF8g KSk7CiBERVNDUigiZm9ybWF0IGEgdHlwZSBvaWQgYW5kIGF0dHR5cG1vZCB0 byBjYW5vbmljYWwgU1FMIik7CiBEQVRBKGluc2VydCBPSUQgPSAxMDg0ICgg IGRhdGVfaW4JCSAgIFBHTlNQIFBHVUlEIDEyIDEgMCAwIDAgZiBmIGYgZiB0 IGYgcyAxIDAgMTA4MiAiMjI3NSIgX251bGxfIF9udWxsXyBfbnVsbF8gX251 bGxfIGRhdGVfaW4gX251bGxfIF9udWxsXyBfbnVsbF8gKSk7CkBAIC0xNDky LDEwICsxNTUxLDE0IEBACiBERVNDUigiY2hhcmFjdGVyIGxlbmd0aCIpOwog REFUQShpbnNlcnQgT0lEID0gMTM3NCAoICBvY3RldF9sZW5ndGgJCQkgUEdO U1AgUEdVSUQgMTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBpIDEgMCAyMyAiMjUi IF9udWxsXyBfbnVsbF8gX251bGxfIF9udWxsXwl0ZXh0b2N0ZXRsZW4gX251 bGxfIF9udWxsXyBfbnVsbF8gKSk7CiBERVNDUigib2N0ZXQgbGVuZ3RoIik7 CiBEQVRBKGluc2VydCBPSUQgPSAxMzc1ICggIG9jdGV0X2xlbmd0aAkJCSBQ R05TUCBQR1VJRCAxMiAxIDAgMCAwIGYgZiBmIGYgdCBmIGkgMSAwIDIzICIx MDQyIiBfbnVsbF8gX251bGxfIF9udWxsXyBfbnVsbF8gYnBjaGFyb2N0ZXRs ZW4gX251bGxfIF9udWxsXyBfbnVsbF8gKSk7CiBERVNDUigib2N0ZXQgbGVu Z3RoIik7CitEQVRBKGluc2VydCBPSUQgPSA1Mzc0ICggIG9jdGV0X2xlbmd0 aCAgICAgICAgICAgICAgICAgICBQR05TUCBQR1VJRCAxMiAxIDAgMCAwIGYg ZiBmIGYgdCBmIGkgMSAwIDIzICI1MDAxIiBfbnVsbF8gX251bGxfIF9udWxs XyBfbnVsbF8gYnBjaGFyb2N0ZXRsZW4gX251bGxfIF9udWxsXyBfbnVsbF8g KSk7CitERVNDUigib2N0ZXQgbGVuZ3RoIik7CitEQVRBKGluc2VydCBPSUQg PSA1Mzc1ICggIG9jdGV0X2xlbmd0aCAgICAgICAgICAgICAgICAgICBQR05T UCBQR1VJRCAxMiAxIDAgMCAwIGYgZiBmIGYgdCBmIGkgMSAwIDIzICI2MDAx IiBfbnVsbF8gX251bGxfIF9udWxsXyBfbnVsbF8gdGV4dG9jdGV0bGVuIF9u dWxsXyBfbnVsbF8gX251bGxfICkpOworREVTQ1IoIm9jdGV0IGxlbmd0aCIp OwogCiBEQVRBKGluc2VydCBPSUQgPSAxMzc3ICggIHRpbWVfbGFyZ2VyCSAg IFBHTlNQIFBHVUlEIDEyIDEgMCAwIDAgZiBmIGYgZiB0IGYgaSAyIDAgMTA4 MyAiMTA4MyAxMDgzIiBfbnVsbF8gX251bGxfIF9udWxsXyBfbnVsbF8gdGlt ZV9sYXJnZXIgX251bGxfIF9udWxsXyBfbnVsbF8gKSk7CiBERVNDUigibGFy Z2VyIG9mIHR3byIpOwogREFUQShpbnNlcnQgT0lEID0gMTM3OCAoICB0aW1l X3NtYWxsZXIJICAgUEdOU1AgUEdVSUQgMTIgMSAwIDAgMCBmIGYgZiBmIHQg ZiBpIDIgMCAxMDgzICIxMDgzIDEwODMiIF9udWxsXyBfbnVsbF8gX251bGxf IF9udWxsXyB0aW1lX3NtYWxsZXIgX251bGxfIF9udWxsXyBfbnVsbF8gKSk7 CiBERVNDUigic21hbGxlciBvZiB0d28iKTsKQEAgLTE1NDcsMTAgKzE2MTAs MTUgQEAKIERBVEEoaW5zZXJ0IE9JRCA9IDE0MDAgKCAgbmFtZQkJICAgUEdO U1AgUEdVSUQgMTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBpIDEgMCAxOSAiMTA0 MyIgX251bGxfIF9udWxsXyBfbnVsbF8gX251bGxfCXRleHRfbmFtZSBfbnVs bF8gX251bGxfIF9udWxsXyApKTsKIERFU0NSKCJjb252ZXJ0IHZhcmNoYXIg dG8gbmFtZSIpOwogREFUQShpbnNlcnQgT0lEID0gMTQwMSAoICB2YXJjaGFy CSAgIFBHTlNQIFBHVUlEIDEyIDEgMCAwIDAgZiBmIGYgZiB0IGYgaSAxIDAg MTA0MyAiMTkiIF9udWxsXyBfbnVsbF8gX251bGxfIF9udWxsXwluYW1lX3Rl eHQgX251bGxfIF9udWxsXyBfbnVsbF8gKSk7CiBERVNDUigiY29udmVydCBu YW1lIHRvIHZhcmNoYXIiKTsKIAorREFUQShpbnNlcnQgT0lEID0gNTQwMCAo ICBuYW1lICAgICAgICAgICAgIFBHTlNQIFBHVUlEIDEyIDEgMCAwIDAgZiBm IGYgZiB0IGYgaSAxIDAgMTkgIjYwMDEiIF9udWxsXyBfbnVsbF8gX251bGxf IF9udWxsXyAgICAgICB0ZXh0X25hbWUgX251bGxfIF9udWxsXyBfbnVsbF8g KSk7CitERVNDUigiY29udmVydCBudmFyY2hhciB0byBuYW1lIik7CitEQVRB KGluc2VydCBPSUQgPSA1NDAxICggIG52YXJjaGFyICAgICAgICAgUEdOU1Ag UEdVSUQgMTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBpIDEgMCA2MDAxICIxOSIg X251bGxfIF9udWxsXyBfbnVsbF8gX251bGxfICAgICAgIG5hbWVfdGV4dCBf bnVsbF8gX251bGxfIF9udWxsXyApKTsKK0RFU0NSKCJjb252ZXJ0IG5hbWUg dG8gbnZhcmNoYXIiKTsKKwogREFUQShpbnNlcnQgT0lEID0gMTQwMiAoICBj dXJyZW50X3NjaGVtYQlQR05TUCBQR1VJRCAxMiAxIDAgMCAwIGYgZiBmIGYg dCBmIHMgMCAwIDE5ICIiIF9udWxsXyBfbnVsbF8gX251bGxfIF9udWxsXyBj dXJyZW50X3NjaGVtYSBfbnVsbF8gX251bGxfIF9udWxsXyApKTsKIERFU0NS KCJjdXJyZW50IHNjaGVtYSBuYW1lIik7CiBEQVRBKGluc2VydCBPSUQgPSAx NDAzICggIGN1cnJlbnRfc2NoZW1hcwlQR05TUCBQR1VJRCAxMiAxIDAgMCAw IGYgZiBmIGYgdCBmIHMgMSAwIDEwMDMgIjE2IiBfbnVsbF8gX251bGxfIF9u dWxsXyBfbnVsbF8JY3VycmVudF9zY2hlbWFzIF9udWxsXyBfbnVsbF8gX251 bGxfICkpOwogREVTQ1IoImN1cnJlbnQgc2NoZW1hIHNlYXJjaCBsaXN0Iik7 CiAKQEAgLTE4MjEsMTAgKzE4ODksMTMgQEAKIAogREFUQShpbnNlcnQgT0lE ID0gMTYyNCAoICBtdWxfZF9pbnRlcnZhbAlQR05TUCBQR1VJRCAxMiAxIDAg MCAwIGYgZiBmIGYgdCBmIGkgMiAwIDExODYgIjcwMSAxMTg2IiBfbnVsbF8g X251bGxfIF9udWxsXyBfbnVsbF8gbXVsX2RfaW50ZXJ2YWwgX251bGxfIF9u dWxsXyBfbnVsbF8gKSk7CiAKIERBVEEoaW5zZXJ0IE9JRCA9IDE2MzEgKCAg YnBjaGFybGlrZQkgICBQR05TUCBQR1VJRCAxMiAxIDAgMCAwIGYgZiBmIGYg dCBmIGkgMiAwIDE2ICIxMDQyIDI1IiBfbnVsbF8gX251bGxfIF9udWxsXyBf bnVsbF8gdGV4dGxpa2UgX251bGxfIF9udWxsXyBfbnVsbF8gKSk7CiBEQVRB KGluc2VydCBPSUQgPSAxNjMyICggIGJwY2hhcm5saWtlCSAgIFBHTlNQIFBH VUlEIDEyIDEgMCAwIDAgZiBmIGYgZiB0IGYgaSAyIDAgMTYgIjEwNDIgMjUi IF9udWxsXyBfbnVsbF8gX251bGxfIF9udWxsXyB0ZXh0bmxpa2UgX251bGxf IF9udWxsXyBfbnVsbF8gKSk7CitEQVRBKGluc2VydCBPSUQgPSA1NjMxICgg IG5icGNoYXJsaWtlICAgICAgIFBHTlNQIFBHVUlEIDEyIDEgMCAwIDAgZiBm IGYgZiB0IGYgaSAyIDAgMTYgIjUwMDEgMjUiIF9udWxsXyBfbnVsbF8gX251 bGxfIF9udWxsXyB0ZXh0bGlrZSBfbnVsbF8gX251bGxfIF9udWxsXyApKTsK K0RBVEEoaW5zZXJ0IE9JRCA9IDU2MzIgKCAgbmJwY2hhcm5saWtlICAgICAg UEdOU1AgUEdVSUQgMTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBpIDIgMCAxNiAi NTAwMSAyNSIgX251bGxfIF9udWxsXyBfbnVsbF8gX251bGxfIHRleHRubGlr ZSBfbnVsbF8gX251bGxfIF9udWxsXyApKTsKKwogCiBEQVRBKGluc2VydCBP SUQgPSAxNjMzICggIHRleHRpY2xpa2UJCVBHTlNQIFBHVUlEIDEyIDEgMCAw IDAgZiBmIGYgZiB0IGYgaSAyIDAgMTYgIjI1IDI1IiBfbnVsbF8gX251bGxf IF9udWxsXyBfbnVsbF8gdGV4dGljbGlrZSBfbnVsbF8gX251bGxfIF9udWxs XyApKTsKIERBVEEoaW5zZXJ0IE9JRCA9IDE2MzQgKCAgdGV4dGljbmxpa2UJ CVBHTlNQIFBHVUlEIDEyIDEgMCAwIDAgZiBmIGYgZiB0IGYgaSAyIDAgMTYg IjI1IDI1IiBfbnVsbF8gX251bGxfIF9udWxsXyBfbnVsbF8gdGV4dGljbmxp a2UgX251bGxfIF9udWxsXyBfbnVsbF8gKSk7CiBEQVRBKGluc2VydCBPSUQg PSAxNjM1ICggIG5hbWVpY2xpa2UJCVBHTlNQIFBHVUlEIDEyIDEgMCAwIDAg ZiBmIGYgZiB0IGYgaSAyIDAgMTYgIjE5IDI1IiBfbnVsbF8gX251bGxfIF9u dWxsXyBfbnVsbF8gbmFtZWljbGlrZSBfbnVsbF8gX251bGxfIF9udWxsXyAp KTsKIERBVEEoaW5zZXJ0IE9JRCA9IDE2MzYgKCAgbmFtZWljbmxpa2UJCVBH TlNQIFBHVUlEIDEyIDEgMCAwIDAgZiBmIGYgZiB0IGYgaSAyIDAgMTYgIjE5 IDI1IiBfbnVsbF8gX251bGxfIF9udWxsXyBfbnVsbF8gbmFtZWljbmxpa2Ug X251bGxfIF9udWxsXyBfbnVsbF8gKSk7CkBAIC0xODM2LDEwICsxOTA3LDE4 IEBACiBEQVRBKGluc2VydCBPSUQgPSAxNjU4ICggIGJwY2hhcnJlZ2V4ZXEg ICAgUEdOU1AgUEdVSUQgMTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBpIDIgMCAx NiAiMTA0MiAyNSIgX251bGxfIF9udWxsXyBfbnVsbF8gX251bGxfIHRleHRy ZWdleGVxIF9udWxsXyBfbnVsbF8gX251bGxfICkpOwogREFUQShpbnNlcnQg T0lEID0gMTY1OSAoICBicGNoYXJyZWdleG5lICAgIFBHTlNQIFBHVUlEIDEy IDEgMCAwIDAgZiBmIGYgZiB0IGYgaSAyIDAgMTYgIjEwNDIgMjUiIF9udWxs XyBfbnVsbF8gX251bGxfIF9udWxsXyB0ZXh0cmVnZXhuZSBfbnVsbF8gX251 bGxfIF9udWxsXyApKTsKIERBVEEoaW5zZXJ0IE9JRCA9IDE2NjAgKCAgYnBj aGFyaWNsaWtlCQlQR05TUCBQR1VJRCAxMiAxIDAgMCAwIGYgZiBmIGYgdCBm IGkgMiAwIDE2ICIxMDQyIDI1IiBfbnVsbF8gX251bGxfIF9udWxsXyBfbnVs bF8gdGV4dGljbGlrZSBfbnVsbF8gX251bGxfIF9udWxsXyApKTsKIERBVEEo aW5zZXJ0IE9JRCA9IDE2NjEgKCAgYnBjaGFyaWNubGlrZQkJUEdOU1AgUEdV SUQgMTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBpIDIgMCAxNiAiMTA0MiAyNSIg X251bGxfIF9udWxsXyBfbnVsbF8gX251bGxfIHRleHRpY25saWtlIF9udWxs XyBfbnVsbF8gX251bGxfICkpOwogCitEQVRBKGluc2VydCBPSUQgPSA1NjU2 ICggIG5icGNoYXJpY3JlZ2V4ZXEgICAgICAgIFBHTlNQIFBHVUlEIDEyIDEg MCAwIDAgZiBmIGYgZiB0IGYgaSAyIDAgMTYgIjUwMDEgMjUiIF9udWxsXyBf bnVsbF8gX251bGxfIF9udWxsXyB0ZXh0aWNyZWdleGVxIF9udWxsXyBfbnVs bF8gX251bGxfICkpOworREFUQShpbnNlcnQgT0lEID0gNTY1NyAoICBuYnBj aGFyaWNyZWdleG5lICAgICAgICBQR05TUCBQR1VJRCAxMiAxIDAgMCAwIGYg ZiBmIGYgdCBmIGkgMiAwIDE2ICI1MDAxIDI1IiBfbnVsbF8gX251bGxfIF9u dWxsXyBfbnVsbF8gdGV4dGljcmVnZXhuZSBfbnVsbF8gX251bGxfIF9udWxs XyApKTsKK0RBVEEoaW5zZXJ0IE9JRCA9IDU2NTggKCAgbmJwY2hhcnJlZ2V4 ZXEgICAgUEdOU1AgUEdVSUQgMTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBpIDIg MCAxNiAiNTAwMSAyNSIgX251bGxfIF9udWxsXyBfbnVsbF8gX251bGxfIHRl eHRyZWdleGVxIF9udWxsXyBfbnVsbF8gX251bGxfICkpOworREFUQShpbnNl cnQgT0lEID0gNTY1OSAoICBuYnBjaGFycmVnZXhuZSAgICBQR05TUCBQR1VJ RCAxMiAxIDAgMCAwIGYgZiBmIGYgdCBmIGkgMiAwIDE2ICI1MDAxIDI1IiBf bnVsbF8gX251bGxfIF9udWxsXyBfbnVsbF8gdGV4dHJlZ2V4bmUgX251bGxf IF9udWxsXyBfbnVsbF8gKSk7CitEQVRBKGluc2VydCBPSUQgPSA1NjYwICgg IG5icGNoYXJpY2xpa2UgICAgICAgICAgUEdOU1AgUEdVSUQgMTIgMSAwIDAg MCBmIGYgZiBmIHQgZiBpIDIgMCAxNiAiNTAwMSAyNSIgX251bGxfIF9udWxs XyBfbnVsbF8gX251bGxfIHRleHRpY2xpa2UgX251bGxfIF9udWxsXyBfbnVs bF8gKSk7CitEQVRBKGluc2VydCBPSUQgPSA1NjYxICggIG5icGNoYXJpY25s aWtlICAgICAgICAgUEdOU1AgUEdVSUQgMTIgMSAwIDAgMCBmIGYgZiBmIHQg ZiBpIDIgMCAxNiAiNTAwMSAyNSIgX251bGxfIF9udWxsXyBfbnVsbF8gX251 bGxfIHRleHRpY25saWtlIF9udWxsXyBfbnVsbF8gX251bGxfICkpOworCisK IC8qIE9yYWNsZSBDb21wYXRpYmlsaXR5IFJlbGF0ZWQgRnVuY3Rpb25zIC0g QnkgRWRtdW5kIE1lcmdsIDxFLk1lcmdsQGJhd3VlLmRlPiAqLwogREFUQShp bnNlcnQgT0lEID0gIDg2OCAoICBzdHJwb3MJICAgUEdOU1AgUEdVSUQgMTIg MSAwIDAgMCBmIGYgZiBmIHQgZiBpIDIgMCAyMyAiMjUgMjUiIF9udWxsXyBf bnVsbF8gX251bGxfIF9udWxsXyB0ZXh0cG9zIF9udWxsXyBfbnVsbF8gX251 bGxfICkpOwogREVTQ1IoInBvc2l0aW9uIG9mIHN1YnN0cmluZyIpOwogREFU QShpbnNlcnQgT0lEID0gIDg3MCAoICBsb3dlcgkJICAgUEdOU1AgUEdVSUQg MTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBpIDEgMCAyNSAiMjUiIF9udWxsXyBf bnVsbF8gX251bGxfIF9udWxsXyBsb3dlciBfbnVsbF8gX251bGxfIF9udWxs XyApKTsKIERFU0NSKCJsb3dlcmNhc2UiKTsKQEAgLTMyNTYsMTAgKzMzMzUs MTggQEAKIERBVEEoaW5zZXJ0IE9JRCA9IDIxNzcgKCBicGNoYXJfcGF0dGVy bl9nZQkgIFBHTlNQIFBHVUlEIDEyIDEgMCAwIDAgZiBmIGYgZiB0IGYgaSAy IDAgMTYgIjEwNDIgMTA0MiIgX251bGxfIF9udWxsXyBfbnVsbF8gX251bGxf IGJwY2hhcl9wYXR0ZXJuX2dlIF9udWxsXyBfbnVsbF8gX251bGxfICkpOwog REFUQShpbnNlcnQgT0lEID0gMjE3OCAoIGJwY2hhcl9wYXR0ZXJuX2d0CSAg UEdOU1AgUEdVSUQgMTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBpIDIgMCAxNiAi MTA0MiAxMDQyIiBfbnVsbF8gX251bGxfIF9udWxsXyBfbnVsbF8gYnBjaGFy X3BhdHRlcm5fZ3QgX251bGxfIF9udWxsXyBfbnVsbF8gKSk7CiBEQVRBKGlu c2VydCBPSUQgPSAyMTgwICggYnRicGNoYXJfcGF0dGVybl9jbXAgUEdOU1Ag UEdVSUQgMTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBpIDIgMCAyMyAiMTA0MiAx MDQyIiBfbnVsbF8gX251bGxfIF9udWxsXyBfbnVsbF8gYnRicGNoYXJfcGF0 dGVybl9jbXAgX251bGxfIF9udWxsXyBfbnVsbF8gKSk7CiBERVNDUigibGVz cy1lcXVhbC1ncmVhdGVyIik7CiAKK0RBVEEoaW5zZXJ0IE9JRCA9IDUxNzQg KCBuYnBjaGFyX3BhdHRlcm5fbHQgICAgICAgIFBHTlNQIFBHVUlEIDEyIDEg MCAwIDAgZiBmIGYgZiB0IGYgaSAyIDAgMTYgIjUwMDEgNTAwMSIgX251bGxf IF9udWxsXyBfbnVsbF8gX251bGxfIGJwY2hhcl9wYXR0ZXJuX2x0IF9udWxs XyBfbnVsbF8gX251bGxfICkpOworREFUQShpbnNlcnQgT0lEID0gNTE3NSAo IG5icGNoYXJfcGF0dGVybl9sZSAgICAgICAgUEdOU1AgUEdVSUQgMTIgMSAw IDAgMCBmIGYgZiBmIHQgZiBpIDIgMCAxNiAiNTAwMSA1MDAxIiBfbnVsbF8g X251bGxfIF9udWxsXyBfbnVsbF8gYnBjaGFyX3BhdHRlcm5fbGUgX251bGxf IF9udWxsXyBfbnVsbF8gKSk7CitEQVRBKGluc2VydCBPSUQgPSA1MTc3ICgg bmJwY2hhcl9wYXR0ZXJuX2dlICAgICAgICBQR05TUCBQR1VJRCAxMiAxIDAg MCAwIGYgZiBmIGYgdCBmIGkgMiAwIDE2ICI1MDAxIDUwMDEiIF9udWxsXyBf bnVsbF8gX251bGxfIF9udWxsXyBicGNoYXJfcGF0dGVybl9nZSBfbnVsbF8g X251bGxfIF9udWxsXyApKTsKK0RBVEEoaW5zZXJ0IE9JRCA9IDUxNzggKCBu YnBjaGFyX3BhdHRlcm5fZ3QgICAgICAgIFBHTlNQIFBHVUlEIDEyIDEgMCAw IDAgZiBmIGYgZiB0IGYgaSAyIDAgMTYgIjUwMDEgNTAwMSIgX251bGxfIF9u dWxsXyBfbnVsbF8gX251bGxfIGJwY2hhcl9wYXR0ZXJuX2d0IF9udWxsXyBf bnVsbF8gX251bGxfICkpOworREFUQShpbnNlcnQgT0lEID0gNTE4MCAoIG5i dGJwY2hhcl9wYXR0ZXJuX2NtcCBQR05TUCBQR1VJRCAxMiAxIDAgMCAwIGYg ZiBmIGYgdCBmIGkgMiAwIDIzICI1MDAxIDUwMDEiIF9udWxsXyBfbnVsbF8g X251bGxfIF9udWxsXyBidGJwY2hhcl9wYXR0ZXJuX2NtcCBfbnVsbF8gX251 bGxfIF9udWxsXyApKTsKK0RFU0NSKCJsZXNzLWVxdWFsLWdyZWF0ZXIiKTsK KworCiBEQVRBKGluc2VydCBPSUQgPSAyMTg4ICggYnRpbnQ0OGNtcAkJCVBH TlNQIFBHVUlEIDEyIDEgMCAwIDAgZiBmIGYgZiB0IGYgaSAyIDAgMjMgIjIz IDIwIiBfbnVsbF8gX251bGxfIF9udWxsXyBfbnVsbF8gYnRpbnQ0OGNtcCBf bnVsbF8gX251bGxfIF9udWxsXyApKTsKIERFU0NSKCJsZXNzLWVxdWFsLWdy ZWF0ZXIiKTsKIERBVEEoaW5zZXJ0IE9JRCA9IDIxODkgKCBidGludDg0Y21w CQkJUEdOU1AgUEdVSUQgMTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBpIDIgMCAy MyAiMjAgMjMiIF9udWxsXyBfbnVsbF8gX251bGxfIF9udWxsXyBidGludDg0 Y21wIF9udWxsXyBfbnVsbF8gX251bGxfICkpOwogREVTQ1IoImxlc3MtZXF1 YWwtZ3JlYXRlciIpOwogREFUQShpbnNlcnQgT0lEID0gMjE5MCAoIGJ0aW50 MjRjbXAJCQlQR05TUCBQR1VJRCAxMiAxIDAgMCAwIGYgZiBmIGYgdCBmIGkg MiAwIDIzICIyMSAyMyIgX251bGxfIF9udWxsXyBfbnVsbF8gX251bGxfIGJ0 aW50MjRjbXAgX251bGxfIF9udWxsXyBfbnVsbF8gKSk7CkBAIC0zNjQzLDE0 ICszNzMwLDIyIEBACiBERVNDUigiSS9PIik7CiBEQVRBKGluc2VydCBPSUQg PSAyNDMwICggIGJwY2hhcnJlY3YJCSAgIFBHTlNQIFBHVUlEIDEyIDEgMCAw IDAgZiBmIGYgZiB0IGYgcyAzIDAgMTA0MiAiMjI4MSAyNiAyMyIgX251bGxf IF9udWxsXyBfbnVsbF8gX251bGxfICBicGNoYXJyZWN2IF9udWxsXyBfbnVs bF8gX251bGxfICkpOwogREVTQ1IoIkkvTyIpOwogREFUQShpbnNlcnQgT0lE ID0gMjQzMSAoICBicGNoYXJzZW5kCQkgICBQR05TUCBQR1VJRCAxMiAxIDAg MCAwIGYgZiBmIGYgdCBmIHMgMSAwIDE3ICIxMDQyIiBfbnVsbF8gX251bGxf IF9udWxsXyBfbnVsbF8JYnBjaGFyc2VuZCBfbnVsbF8gX251bGxfIF9udWxs XyApKTsKIERFU0NSKCJJL08iKTsKK0RBVEEoaW5zZXJ0IE9JRCA9IDU0MzAg KCAgbmJwY2hhcnJlY3YgICAgICAgICAgICAgIFBHTlNQIFBHVUlEIDEyIDEg MCAwIDAgZiBmIGYgZiB0IGYgcyAzIDAgNTAwMSAiMjI4MSAyNiAyMyIgX251 bGxfIF9udWxsXyBfbnVsbF8gX251bGxfICBicGNoYXJyZWN2IF9udWxsXyBf bnVsbF8gX251bGxfICkpOworREVTQ1IoIkkvTyIpOworREFUQShpbnNlcnQg T0lEID0gNTQzMSAoICBuYnBjaGFyc2VuZCAgICAgICAgICAgICAgUEdOU1Ag UEdVSUQgMTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBzIDEgMCAxNyAiNTAwMSIg X251bGxfIF9udWxsXyBfbnVsbF8gX251bGxfICAgICAgIGJwY2hhcnNlbmQg X251bGxfIF9udWxsXyBfbnVsbF8gKSk7CitERVNDUigiSS9PIik7CiBEQVRB KGluc2VydCBPSUQgPSAyNDMyICggIHZhcmNoYXJyZWN2CQkgICBQR05TUCBQ R1VJRCAxMiAxIDAgMCAwIGYgZiBmIGYgdCBmIHMgMyAwIDEwNDMgIjIyODEg MjYgMjMiIF9udWxsXyBfbnVsbF8gX251bGxfIF9udWxsXyAgdmFyY2hhcnJl Y3YgX251bGxfIF9udWxsXyBfbnVsbF8gKSk7CiBERVNDUigiSS9PIik7CiBE QVRBKGluc2VydCBPSUQgPSAyNDMzICggIHZhcmNoYXJzZW5kCQkgICBQR05T UCBQR1VJRCAxMiAxIDAgMCAwIGYgZiBmIGYgdCBmIHMgMSAwIDE3ICIxMDQz IiBfbnVsbF8gX251bGxfIF9udWxsXyBfbnVsbF8JdmFyY2hhcnNlbmQgX251 bGxfIF9udWxsXyBfbnVsbF8gKSk7CiBERVNDUigiSS9PIik7CitEQVRBKGlu c2VydCBPSUQgPSA1NDMyICggIG52YXJjaGFycmVjdiAgICAgICAgICAgICBQ R05TUCBQR1VJRCAxMiAxIDAgMCAwIGYgZiBmIGYgdCBmIHMgMyAwIDYwMDEg IjIyODEgMjYgMjMiIF9udWxsXyBfbnVsbF8gX251bGxfIF9udWxsXyAgdmFy Y2hhcnJlY3YgX251bGxfIF9udWxsXyBfbnVsbF8gKSk7CitERVNDUigiSS9P Iik7CitEQVRBKGluc2VydCBPSUQgPSA1NDMzICggIG52YXJjaGFyc2VuZCAg ICAgICAgICAgICBQR05TUCBQR1VJRCAxMiAxIDAgMCAwIGYgZiBmIGYgdCBm IHMgMSAwIDE3ICI2MDAxIiBfbnVsbF8gX251bGxfIF9udWxsXyBfbnVsbF8g ICAgICAgdmFyY2hhcnNlbmQgX251bGxfIF9udWxsXyBfbnVsbF8gKSk7CitE RVNDUigiSS9PIik7CiBEQVRBKGluc2VydCBPSUQgPSAyNDM0ICggIGNoYXJy ZWN2CQkJICAgUEdOU1AgUEdVSUQgMTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBp IDEgMCAxOCAiMjI4MSIgX251bGxfIF9udWxsXyBfbnVsbF8gX251bGxfCWNo YXJyZWN2IF9udWxsXyBfbnVsbF8gX251bGxfICkpOwogREVTQ1IoIkkvTyIp OwogREFUQShpbnNlcnQgT0lEID0gMjQzNSAoICBjaGFyc2VuZAkJCSAgIFBH TlNQIFBHVUlEIDEyIDEgMCAwIDAgZiBmIGYgZiB0IGYgaSAxIDAgMTcgIjE4 IiBfbnVsbF8gX251bGxfIF9udWxsXyBfbnVsbF8gY2hhcnNlbmQgX251bGxf IF9udWxsXyBfbnVsbF8gKSk7CiBERVNDUigiSS9PIik7CiBEQVRBKGluc2Vy dCBPSUQgPSAyNDM2ICggIGJvb2xyZWN2CQkJICAgUEdOU1AgUEdVSUQgMTIg MSAwIDAgMCBmIGYgZiBmIHQgZiBpIDEgMCAxNiAiMjI4MSIgX251bGxfIF9u dWxsXyBfbnVsbF8gX251bGxfCWJvb2xyZWN2IF9udWxsXyBfbnVsbF8gX251 bGxfICkpOwpkaWZmIC1VIDUgLU4gLXIgLXcgLi4vb3JpZy5IRUFEL3NyYy9p bmNsdWRlL2NhdGFsb2cvcGdfdHlwZS5oIC4vc3JjL2luY2x1ZGUvY2F0YWxv Zy9wZ190eXBlLmgKLS0tIC4uL29yaWcuSEVBRC9zcmMvaW5jbHVkZS9jYXRh bG9nL3BnX3R5cGUuaAkyMDEzLTA4LTE5IDIwOjIyOjEyLjAwMDAwMDAwMCAt MDQwMAorKysgLi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3R5cGUuaAkyMDEz LTA4LTE5IDIwOjU0OjAwLjAwMDAwMDAwMCAtMDQwMApAQCAtNDU3LDExICs0 NTcsMTMgQEAKIERBVEEoaW5zZXJ0IE9JRCA9IDEwMTAgKCAgX3RpZAkJIFBH TlNQIFBHVUlEIC0xIGYgYiBBIGYgdCBcMDU0IDAJMjcgMCBhcnJheV9pbiBh cnJheV9vdXQgYXJyYXlfcmVjdiBhcnJheV9zZW5kIC0gLSBhcnJheV90eXBh bmFseXplIGkgeCBmIDAgLTEgMCAwIF9udWxsXyBfbnVsbF8gX251bGxfICkp OwogREFUQShpbnNlcnQgT0lEID0gMTAxMSAoICBfeGlkCQkgUEdOU1AgUEdV SUQgLTEgZiBiIEEgZiB0IFwwNTQgMAkyOCAwIGFycmF5X2luIGFycmF5X291 dCBhcnJheV9yZWN2IGFycmF5X3NlbmQgLSAtIGFycmF5X3R5cGFuYWx5emUg aSB4IGYgMCAtMSAwIDAgX251bGxfIF9udWxsXyBfbnVsbF8gKSk7CiBEQVRB KGluc2VydCBPSUQgPSAxMDEyICggIF9jaWQJCSBQR05TUCBQR1VJRCAtMSBm IGIgQSBmIHQgXDA1NCAwCTI5IDAgYXJyYXlfaW4gYXJyYXlfb3V0IGFycmF5 X3JlY3YgYXJyYXlfc2VuZCAtIC0gYXJyYXlfdHlwYW5hbHl6ZSBpIHggZiAw IC0xIDAgMCBfbnVsbF8gX251bGxfIF9udWxsXyApKTsKIERBVEEoaW5zZXJ0 IE9JRCA9IDEwMTMgKCAgX29pZHZlY3RvciBQR05TUCBQR1VJRCAtMSBmIGIg QSBmIHQgXDA1NCAwCTMwIDAgYXJyYXlfaW4gYXJyYXlfb3V0IGFycmF5X3Jl Y3YgYXJyYXlfc2VuZCAtIC0gYXJyYXlfdHlwYW5hbHl6ZSBpIHggZiAwIC0x IDAgMCBfbnVsbF8gX251bGxfIF9udWxsXyApKTsKIERBVEEoaW5zZXJ0IE9J RCA9IDEwMTQgKCAgX2JwY2hhcgkgUEdOU1AgUEdVSUQgLTEgZiBiIEEgZiB0 IFwwNTQgMCAxMDQyIDAgYXJyYXlfaW4gYXJyYXlfb3V0IGFycmF5X3JlY3Yg YXJyYXlfc2VuZCBicGNoYXJ0eXBtb2RpbiBicGNoYXJ0eXBtb2RvdXQgYXJy YXlfdHlwYW5hbHl6ZSBpIHggZiAwIC0xIDAgMTAwIF9udWxsXyBfbnVsbF8g X251bGxfICkpOworREFUQShpbnNlcnQgT0lEID0gNTAxNCAoICBfbmJwY2hh ciAgICAgICBQR05TUCBQR1VJRCAtMSBmIGIgQSBmIHQgXDA1NCAwIDUwMDEg MCBhcnJheV9pbiBhcnJheV9vdXQgYXJyYXlfcmVjdiBhcnJheV9zZW5kIG5i cGNoYXJ0eXBtb2RpbiBuYnBjaGFydHlwbW9kb3V0IGFycmF5X3R5cGFuYWx5 emUgaSB4IGYgMCAtMSAwIDEwMCBfbnVsbF8gX251bGxfIF9udWxsXyApKTsK IERBVEEoaW5zZXJ0IE9JRCA9IDEwMTUgKCAgX3ZhcmNoYXIJIFBHTlNQIFBH VUlEIC0xIGYgYiBBIGYgdCBcMDU0IDAgMTA0MyAwIGFycmF5X2luIGFycmF5 X291dCBhcnJheV9yZWN2IGFycmF5X3NlbmQgdmFyY2hhcnR5cG1vZGluIHZh cmNoYXJ0eXBtb2RvdXQgYXJyYXlfdHlwYW5hbHl6ZSBpIHggZiAwIC0xIDAg MTAwIF9udWxsXyBfbnVsbF8gX251bGxfICkpOworREFUQShpbnNlcnQgT0lE ID0gNTAxNSAoICBfbnZhcmNoYXIgICAgICAgUEdOU1AgUEdVSUQgLTEgZiBi IEEgZiB0IFwwNTQgMCA2MDAxIDAgYXJyYXlfaW4gYXJyYXlfb3V0IGFycmF5 X3JlY3YgYXJyYXlfc2VuZCBudmFyY2hhcnR5cG1vZGluIG52YXJjaGFydHlw bW9kb3V0IGFycmF5X3R5cGFuYWx5emUgaSB4IGYgMCAtMSAwIDEwMCBfbnVs bF8gX251bGxfIF9udWxsXyApKTsKIERBVEEoaW5zZXJ0IE9JRCA9IDEwMTYg KCAgX2ludDgJCSBQR05TUCBQR1VJRCAtMSBmIGIgQSBmIHQgXDA1NCAwCTIw IDAgYXJyYXlfaW4gYXJyYXlfb3V0IGFycmF5X3JlY3YgYXJyYXlfc2VuZCAt IC0gYXJyYXlfdHlwYW5hbHl6ZSBkIHggZiAwIC0xIDAgMCBfbnVsbF8gX251 bGxfIF9udWxsXyApKTsKIERBVEEoaW5zZXJ0IE9JRCA9IDEwMTcgKCAgX3Bv aW50CSBQR05TUCBQR1VJRCAtMSBmIGIgQSBmIHQgXDA1NCAwIDYwMCAwIGFy cmF5X2luIGFycmF5X291dCBhcnJheV9yZWN2IGFycmF5X3NlbmQgLSAtIGFy cmF5X3R5cGFuYWx5emUgZCB4IGYgMCAtMSAwIDAgX251bGxfIF9udWxsXyBf bnVsbF8gKSk7CiBEQVRBKGluc2VydCBPSUQgPSAxMDE4ICggIF9sc2VnCQkg UEdOU1AgUEdVSUQgLTEgZiBiIEEgZiB0IFwwNTQgMCA2MDEgMCBhcnJheV9p biBhcnJheV9vdXQgYXJyYXlfcmVjdiBhcnJheV9zZW5kIC0gLSBhcnJheV90 eXBhbmFseXplIGQgeCBmIDAgLTEgMCAwIF9udWxsXyBfbnVsbF8gX251bGxf ICkpOwogREFUQShpbnNlcnQgT0lEID0gMTAxOSAoICBfcGF0aAkJIFBHTlNQ IFBHVUlEIC0xIGYgYiBBIGYgdCBcMDU0IDAgNjAyIDAgYXJyYXlfaW4gYXJy YXlfb3V0IGFycmF5X3JlY3YgYXJyYXlfc2VuZCAtIC0gYXJyYXlfdHlwYW5h bHl6ZSBkIHggZiAwIC0xIDAgMCBfbnVsbF8gX251bGxfIF9udWxsXyApKTsK IERBVEEoaW5zZXJ0IE9JRCA9IDEwMjAgKCAgX2JveAkJIFBHTlNQIFBHVUlE IC0xIGYgYiBBIGYgdCBcMDczIDAgNjAzIDAgYXJyYXlfaW4gYXJyYXlfb3V0 IGFycmF5X3JlY3YgYXJyYXlfc2VuZCAtIC0gYXJyYXlfdHlwYW5hbHl6ZSBk IHggZiAwIC0xIDAgMCBfbnVsbF8gX251bGxfIF9udWxsXyApKTsKQEAgLTQ4 MywxNCArNDg1LDIzIEBACiAjZGVmaW5lIENTVFJJTkdBUlJBWU9JRAkJMTI2 MwogCiBEQVRBKGluc2VydCBPSUQgPSAxMDQyICggYnBjaGFyCQkgUEdOU1Ag UEdVSUQgLTEgZiBiIFMgZiB0IFwwNTQgMAkwIDEwMTQgYnBjaGFyaW4gYnBj aGFyb3V0IGJwY2hhcnJlY3YgYnBjaGFyc2VuZCBicGNoYXJ0eXBtb2RpbiBi cGNoYXJ0eXBtb2RvdXQgLSBpIHggZiAwIC0xIDAgMTAwIF9udWxsXyBfbnVs bF8gX251bGxfICkpOwogREVTQ1IoImNoYXIobGVuZ3RoKSwgYmxhbmstcGFk ZGVkIHN0cmluZywgZml4ZWQgc3RvcmFnZSBsZW5ndGgiKTsKICNkZWZpbmUg QlBDSEFST0lECQkxMDQyCisKK0RBVEEoaW5zZXJ0IE9JRCA9IDUwMDEgKCBu YnBjaGFyICAgICAgICAgUEdOU1AgUEdVSUQgLTEgZiBiIFMgZiB0IFwwNTQg MCAgICAgICAgMCA1MDE0IG5icGNoYXJpbiBuYnBjaGFyb3V0IG5icGNoYXJy ZWN2IG5icGNoYXJzZW5kIG5icGNoYXJ0eXBtb2RpbiBuYnBjaGFydHlwbW9k b3V0IC0gaSB4IGYgMCAtMSAwIDEwMCBfbnVsbF8gX251bGxfIF9udWxsXyAp KTsKK0RFU0NSKCJuY2hhcihsZW5ndGgpLCBibGFuay1wYWRkZWQgbmF0aW9u YWwgc3RyaW5nLCBmaXhlZCBzdG9yYWdlIGxlbmd0aCIpOworI2RlZmluZSBO QlBDSEFST0lEICAgICAgICAgICAgICA1MDAxCisKIERBVEEoaW5zZXJ0IE9J RCA9IDEwNDMgKCB2YXJjaGFyCSBQR05TUCBQR1VJRCAtMSBmIGIgUyBmIHQg XDA1NCAwCTAgMTAxNSB2YXJjaGFyaW4gdmFyY2hhcm91dCB2YXJjaGFycmVj diB2YXJjaGFyc2VuZCB2YXJjaGFydHlwbW9kaW4gdmFyY2hhcnR5cG1vZG91 dCAtIGkgeCBmIDAgLTEgMCAxMDAgX251bGxfIF9udWxsXyBfbnVsbF8gKSk7 CiBERVNDUigidmFyY2hhcihsZW5ndGgpLCBub24tYmxhbmstcGFkZGVkIHN0 cmluZywgdmFyaWFibGUgc3RvcmFnZSBsZW5ndGgiKTsKICNkZWZpbmUgVkFS Q0hBUk9JRAkJMTA0MwogCitEQVRBKGluc2VydCBPSUQgPSA2MDAxICggbnZh cmNoYXIgICAgICAgICBQR05TUCBQR1VJRCAtMSBmIGIgUyBmIHQgXDA1NCAw ICAgICAgICAwIDUwMTUgbnZhcmNoYXJpbiBudmFyY2hhcm91dCBudmFyY2hh cnJlY3YgbnZhcmNoYXJzZW5kIG52YXJjaGFydHlwbW9kaW4gbnZhcmNoYXJ0 eXBtb2RvdXQgLSBpIHggZiAwIC0xIDAgMTAwIF9udWxsXyBfbnVsbF8gX251 bGxfICkpOworREVTQ1IoIm52YXJjaGFyKGxlbmd0aCksIG5vbi1ibGFuay1w YWRkZWQgbmF0aW9uYWwgc3RyaW5nLCB2YXJpYWJsZSBzdG9yYWdlIGxlbmd0 aCIpOworI2RlZmluZSBOVkFSQ0hBUk9JRAkJNjAwMQorCiBEQVRBKGluc2Vy dCBPSUQgPSAxMDgyICggZGF0ZQkJIFBHTlNQIFBHVUlECTQgdCBiIEQgZiB0 IFwwNTQgMAkwIDExODIgZGF0ZV9pbiBkYXRlX291dCBkYXRlX3JlY3YgZGF0 ZV9zZW5kIC0gLSAtIGkgcCBmIDAgLTEgMCAwIF9udWxsXyBfbnVsbF8gX251 bGxfICkpOwogREVTQ1IoImRhdGUiKTsKICNkZWZpbmUgREFURU9JRAkJCTEw ODIKIERBVEEoaW5zZXJ0IE9JRCA9IDEwODMgKCB0aW1lCQkgUEdOU1AgUEdV SUQJOCBGTE9BVDhQQVNTQllWQUwgYiBEIGYgdCBcMDU0IDAJMCAxMTgzIHRp bWVfaW4gdGltZV9vdXQgdGltZV9yZWN2IHRpbWVfc2VuZCB0aW1ldHlwbW9k aW4gdGltZXR5cG1vZG91dCAtIGQgcCBmIDAgLTEgMCAwIF9udWxsXyBfbnVs bF8gX251bGxfICkpOwogREVTQ1IoInRpbWUgb2YgZGF5Iik7CmRpZmYgLVUg NSAtTiAtciAtdyAuLi9vcmlnLkhFQUQvc3JjL2luY2x1ZGUvcGFyc2VyL2t3 bGlzdC5oIC4vc3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlzdC5oCi0tLSAuLi9v cmlnLkhFQUQvc3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlzdC5oCTIwMTMtMDgt MTkgMjA6MjI6MTIuMDAwMDAwMDAwIC0wNDAwCisrKyAuL3NyYy9pbmNsdWRl L3BhcnNlci9rd2xpc3QuaAkyMDEzLTA4LTE5IDIwOjU0OjAwLjAwMDAwMDAw MCAtMDQwMApAQCAtMjU1LDEwICsyNTUsMTEgQEAKIFBHX0tFWVdPUkQoIm5v d2FpdCIsIE5PV0FJVCwgVU5SRVNFUlZFRF9LRVlXT1JEKQogUEdfS0VZV09S RCgibnVsbCIsIE5VTExfUCwgUkVTRVJWRURfS0VZV09SRCkKIFBHX0tFWVdP UkQoIm51bGxpZiIsIE5VTExJRiwgQ09MX05BTUVfS0VZV09SRCkKIFBHX0tF WVdPUkQoIm51bGxzIiwgTlVMTFNfUCwgVU5SRVNFUlZFRF9LRVlXT1JEKQog UEdfS0VZV09SRCgibnVtZXJpYyIsIE5VTUVSSUMsIENPTF9OQU1FX0tFWVdP UkQpCitQR19LRVlXT1JEKCJudmFyY2hhciIsIE5WQVJDSEFSLCBDT0xfTkFN RV9LRVlXT1JEKQogUEdfS0VZV09SRCgib2JqZWN0IiwgT0JKRUNUX1AsIFVO UkVTRVJWRURfS0VZV09SRCkKIFBHX0tFWVdPUkQoIm9mIiwgT0YsIFVOUkVT RVJWRURfS0VZV09SRCkKIFBHX0tFWVdPUkQoIm9mZiIsIE9GRiwgVU5SRVNF UlZFRF9LRVlXT1JEKQogUEdfS0VZV09SRCgib2Zmc2V0IiwgT0ZGU0VULCBS RVNFUlZFRF9LRVlXT1JEKQogUEdfS0VZV09SRCgib2lkcyIsIE9JRFMsIFVO UkVTRVJWRURfS0VZV09SRCkKZGlmZiAtVSA1IC1OIC1yIC13IC4uL29yaWcu SEVBRC9zcmMvaW5jbHVkZS91dGlscy9idWlsdGlucy5oIC4vc3JjL2luY2x1 ZGUvdXRpbHMvYnVpbHRpbnMuaAotLS0gLi4vb3JpZy5IRUFEL3NyYy9pbmNs dWRlL3V0aWxzL2J1aWx0aW5zLmgJMjAxMy0wOC0xOSAyMDoyMjoxMy4wMDAw MDAwMDAgLTA0MDAKKysrIC4vc3JjL2luY2x1ZGUvdXRpbHMvYnVpbHRpbnMu aAkyMDEzLTA4LTE5IDIwOjU0OjAwLjAwMDAwMDAwMCAtMDQwMApAQCAtMzI0 LDEwICszMjQsMzMgQEAKIGV4dGVybiBEYXR1bSBidGZsb2F0NHNvcnRzdXBw b3J0KFBHX0ZVTkNUSU9OX0FSR1MpOwogZXh0ZXJuIERhdHVtIGJ0ZmxvYXQ4 c29ydHN1cHBvcnQoUEdfRlVOQ1RJT05fQVJHUyk7CiBleHRlcm4gRGF0dW0g YnRvaWRzb3J0c3VwcG9ydChQR19GVU5DVElPTl9BUkdTKTsKIGV4dGVybiBE YXR1bSBidG5hbWVzb3J0c3VwcG9ydChQR19GVU5DVElPTl9BUkdTKTsKIAor LyogbnZhcmNoYXIuYyAqLworZXh0ZXJuIERhdHVtIG50ZXh0aW4oUEdfRlVO Q1RJT05fQVJHUyk7CitleHRlcm4gRGF0dW0gbnRleHRvdXQoUEdfRlVOQ1RJ T05fQVJHUyk7CitleHRlcm4gRGF0dW0gbnZhcmNoYXJpbihQR19GVU5DVElP Tl9BUkdTKTsKK2V4dGVybiBEYXR1bSBudmFyY2hhcm91dChQR19GVU5DVElP Tl9BUkdTKTsKK2V4dGVybiBEYXR1bSBudGV4dGxvd2VyKFBHX0ZVTkNUSU9O X0FSR1MpOworZXh0ZXJuIERhdHVtIG50ZXh0dXBwZXIoUEdfRlVOQ1RJT05f QVJHUyk7CitleHRlcm4gRGF0dW0gbnRleHRvY3RldGxlbihQR19GVU5DVElP Tl9BUkdTKTsKK2V4dGVybiBEYXR1bSBudmFyY2hhcjJ0ZXh0KFBHX0ZVTkNU SU9OX0FSR1MpOworZXh0ZXJuIERhdHVtIHRleHQybnZhcmNoYXIoUEdfRlVO Q1RJT05fQVJHUyk7CitleHRlcm4gRGF0dW0gbnZhcmNoYXIycnRyaW10ZXh0 KFBHX0ZVTkNUSU9OX0FSR1MpOworZXh0ZXJuIERhdHVtIHJ0cmltdGV4dDJu dmFyY2hhcihQR19GVU5DVElPTl9BUkdTKTsKK2V4dGVybiBEYXR1bSBudGV4 dF9jbXAoUEdfRlVOQ1RJT05fQVJHUyk7CitleHRlcm4gRGF0dW0gbnRleHRf aGFzaChQR19GVU5DVElPTl9BUkdTKTsKK2V4dGVybiBEYXR1bSBudGV4dF9l cShQR19GVU5DVElPTl9BUkdTKTsKK2V4dGVybiBEYXR1bSBudGV4dF9uZShQ R19GVU5DVElPTl9BUkdTKTsKK2V4dGVybiBEYXR1bSBudGV4dF9ndChQR19G VU5DVElPTl9BUkdTKTsKK2V4dGVybiBEYXR1bSBudGV4dF9nZShQR19GVU5D VElPTl9BUkdTKTsKK2V4dGVybiBEYXR1bSBudGV4dF9sdChQR19GVU5DVElP Tl9BUkdTKTsKK2V4dGVybiBEYXR1bSBudGV4dF9sZShQR19GVU5DVElPTl9B UkdTKTsKK2V4dGVybiBEYXR1bSBudGV4dF9zbWFsbGVyKFBHX0ZVTkNUSU9O X0FSR1MpOworZXh0ZXJuIERhdHVtIG50ZXh0X2xhcmdlcihQR19GVU5DVElP Tl9BUkdTKTsKKwogLyogZmxvYXQuYyAqLwogZXh0ZXJuIFBHRExMSU1QT1JU IGludCBleHRyYV9mbG9hdF9kaWdpdHM7CiAKIGV4dGVybiBkb3VibGUgZ2V0 X2Zsb2F0OF9pbmZpbml0eSh2b2lkKTsKIGV4dGVybiBmbG9hdCBnZXRfZmxv YXQ0X2luZmluaXR5KHZvaWQpOwpAQCAtODMxLDEwICs4NTQsMTMgQEAKIGV4 dGVybiBEYXR1bSBieXRlYW5saWtlKFBHX0ZVTkNUSU9OX0FSR1MpOwogZXh0 ZXJuIERhdHVtIGxpa2VfZXNjYXBlKFBHX0ZVTkNUSU9OX0FSR1MpOwogZXh0 ZXJuIERhdHVtIGxpa2VfZXNjYXBlX2J5dGVhKFBHX0ZVTkNUSU9OX0FSR1Mp OwogCiAvKiBvcmFjbGVfY29tcGF0LmMgKi8KK2V4dGVybiB0ZXh0ICpkb3Ry aW0oY29uc3QgY2hhciAqc3RyaW5nLCBpbnQgc3RyaW5nbGVuLAorICAgICAg IGNvbnN0IGNoYXIgKnNldCwgaW50IHNldGxlbiwKKyAgICAgICBib29sIGRv bHRyaW0sIGJvb2wgZG9ydHJpbSk7CiBleHRlcm4gRGF0dW0gbG93ZXIoUEdf RlVOQ1RJT05fQVJHUyk7CiBleHRlcm4gRGF0dW0gdXBwZXIoUEdfRlVOQ1RJ T05fQVJHUyk7CiBleHRlcm4gRGF0dW0gaW5pdGNhcChQR19GVU5DVElPTl9B UkdTKTsKIGV4dGVybiBEYXR1bSBscGFkKFBHX0ZVTkNUSU9OX0FSR1MpOwog ZXh0ZXJuIERhdHVtIHJwYWQoUEdfRlVOQ1RJT05fQVJHUyk7CmRpZmYgLVUg NSAtTiAtciAtdyAuLi9vcmlnLkhFQUQvc3JjL2ludGVyZmFjZXMvZWNwZy9l Y3BnbGliL2RhdGEuYyAuL3NyYy9pbnRlcmZhY2VzL2VjcGcvZWNwZ2xpYi9k YXRhLmMKLS0tIC4uL29yaWcuSEVBRC9zcmMvaW50ZXJmYWNlcy9lY3BnL2Vj cGdsaWIvZGF0YS5jCTIwMTMtMDgtMTkgMjA6MjI6MTMuMDAwMDAwMDAwIC0w NDAwCisrKyAuL3NyYy9pbnRlcmZhY2VzL2VjcGcvZWNwZ2xpYi9kYXRhLmMJ MjAxMy0wOC0yMCAwNTowMjoxMi4wMDAwMDAwMDAgLTA0MDAKQEAgLTIyNSwx MiArMjI1LDE0IEBACiAJCX0KIAogCQlzd2l0Y2ggKHR5cGUpCiAJCXsKIAkJ CWNhc2UgRUNQR3RfY2hhcjoKKwkJCWNhc2UgRUNQR3RfbmNoYXI6CiAJCQlj YXNlIEVDUEd0X3Vuc2lnbmVkX2NoYXI6CiAJCQljYXNlIEVDUEd0X3ZhcmNo YXI6CisJCQljYXNlIEVDUEd0X252YXJjaGFyOgogCQkJY2FzZSBFQ1BHdF9z dHJpbmc6CiAJCQkJYnJlYWs7CiAKIAkJCWRlZmF1bHQ6CiAJCQkJcHZhbCsr OwpAQCAtNDQ4LDEwICs0NTAsMTEgQEAKIAkJCQkJCQkgICBFQ1BHX1NRTFNU QVRFX0RBVEFUWVBFX01JU01BVENILCBwdmFsKTsKIAkJCQkJcmV0dXJuIChm YWxzZSk7CiAJCQkJCWJyZWFrOwogCiAJCQkJY2FzZSBFQ1BHdF9jaGFyOgor CQkJCWNhc2UgRUNQR3RfbmNoYXI6CiAJCQkJY2FzZSBFQ1BHdF91bnNpZ25l ZF9jaGFyOgogCQkJCWNhc2UgRUNQR3Rfc3RyaW5nOgogCQkJCQl7CiAJCQkJ CQljaGFyCSAgICpzdHIgPSAoY2hhciAqKSAodmFyICsgb2Zmc2V0ICogYWN0 X3R1cGxlKTsKIApAQCAtNTA2LDEwICs1MDksMTEgQEAKIAkJCQkJCXB2YWwg Kz0gc2l6ZTsKIAkJCQkJfQogCQkJCQlicmVhazsKIAogCQkJCWNhc2UgRUNQ R3RfdmFyY2hhcjoKKwkJCQljYXNlIEVDUEd0X252YXJjaGFyOgogCQkJCQl7 CiAJCQkJCQlzdHJ1Y3QgRUNQR2dlbmVyaWNfdmFyY2hhciAqdmFyaWFibGUg PQogCQkJCQkJKHN0cnVjdCBFQ1BHZ2VuZXJpY192YXJjaGFyICopICh2YXIg KyBvZmZzZXQgKiBhY3RfdHVwbGUpOwogCiAJCQkJCQl2YXJpYWJsZS0+bGVu ID0gc2l6ZTsKQEAgLTU0NSwxNyArNTQ5LDIwIEBACiAJCQkJCQkJCQlkZWZh dWx0OgogCQkJCQkJCQkJCWJyZWFrOwogCQkJCQkJCQl9CiAJCQkJCQkJCXNx bGNhLT5zcWx3YXJuWzBdID0gc3FsY2EtPnNxbHdhcm5bMV0gPSAnVyc7CiAK KwkJCQkJCQkJLyoKKwkJCQkJCQkJICogaXQgd2lsbCBiZSBub3QgdG9vIGdv b2QgcmVzdWx0IGlmIGl0CisJCQkJCQkJCSAqIHRydW5jYXRlIGluIG1pZGRs ZSBvZiB1dGYgYnl0ZS1zZXF1ZW5jZQorCQkJCQkJCQkgKi8KIAkJCQkJCQkJ dmFyaWFibGUtPmxlbiA9IHZhcmNoYXJzaXplOwogCQkJCQkJCX0KIAkJCQkJ CX0KIAkJCQkJCXB2YWwgKz0gc2l6ZTsKIAkJCQkJfQogCQkJCQlicmVhazsK LQogCQkJCWNhc2UgRUNQR3RfZGVjaW1hbDoKIAkJCQljYXNlIEVDUEd0X251 bWVyaWM6CiAJCQkJCWlmIChpc2FycmF5ICYmICpwdmFsID09ICciJykKIAkJ CQkJCW5yZXMgPSBQR1RZUEVTbnVtZXJpY19mcm9tX2FzYyhwdmFsICsgMSwg JnNjYW5fbGVuZ3RoKTsKIAkJCQkJZWxzZQpkaWZmIC1VIDUgLU4gLXIgLXcg Li4vb3JpZy5IRUFEL3NyYy9pbnRlcmZhY2VzL2VjcGcvZWNwZ2xpYi9kZXNj cmlwdG9yLmMgLi9zcmMvaW50ZXJmYWNlcy9lY3BnL2VjcGdsaWIvZGVzY3Jp cHRvci5jCi0tLSAuLi9vcmlnLkhFQUQvc3JjL2ludGVyZmFjZXMvZWNwZy9l Y3BnbGliL2Rlc2NyaXB0b3IuYwkyMDEzLTA4LTE5IDIwOjIyOjEzLjAwMDAw MDAwMCAtMDQwMAorKysgLi9zcmMvaW50ZXJmYWNlcy9lY3BnL2VjcGdsaWIv ZGVzY3JpcHRvci5jCTIwMTMtMDgtMjAgMDU6MDA6MzguMDAwMDAwMDAwIC0w NDAwCkBAIC0xOTgsMTUgKzE5OCwxNyBAQAogZ2V0X2NoYXJfaXRlbShpbnQg bGluZW5vLCB2b2lkICp2YXIsIGVudW0gRUNQR3R0eXBlIHZhcnR5cGUsIGNo YXIgKnZhbHVlLCBpbnQgdmFyY2hhcnNpemUpCiB7CiAJc3dpdGNoICh2YXJ0 eXBlKQogCXsKIAkJY2FzZSBFQ1BHdF9jaGFyOgorCQljYXNlIEVDUEd0X25j aGFyOgogCQljYXNlIEVDUEd0X3Vuc2lnbmVkX2NoYXI6CiAJCWNhc2UgRUNQ R3Rfc3RyaW5nOgogCQkJc3RybmNweSgoY2hhciAqKSB2YXIsIHZhbHVlLCB2 YXJjaGFyc2l6ZSk7CiAJCQlicmVhazsKIAkJY2FzZSBFQ1BHdF92YXJjaGFy OgorCQljYXNlIEVDUEd0X252YXJjaGFyOgogCQkJewogCQkJCXN0cnVjdCBF Q1BHZ2VuZXJpY192YXJjaGFyICp2YXJpYWJsZSA9CiAJCQkJKHN0cnVjdCBF Q1BHZ2VuZXJpY192YXJjaGFyICopIHZhcjsKIAogCQkJCWlmICh2YXJjaGFy c2l6ZSA9PSAwKQpkaWZmIC1VIDUgLU4gLXIgLXcgLi4vb3JpZy5IRUFEL3Ny Yy9pbnRlcmZhY2VzL2VjcGcvZWNwZ2xpYi9lcnJvci5jIC4vc3JjL2ludGVy ZmFjZXMvZWNwZy9lY3BnbGliL2Vycm9yLmMKLS0tIC4uL29yaWcuSEVBRC9z cmMvaW50ZXJmYWNlcy9lY3BnL2VjcGdsaWIvZXJyb3IuYwkyMDEzLTA4LTE5 IDIwOjIyOjEzLjAwMDAwMDAwMCAtMDQwMAorKysgLi9zcmMvaW50ZXJmYWNl cy9lY3BnL2VjcGdsaWIvZXJyb3IuYwkyMDEzLTA4LTE5IDIwOjU0OjAwLjAw MDAwMDAwMCAtMDQwMApAQCAtMzcsMTAgKzM3LDIwIEBACiAJCQkgKiBleHBh bmRlZC4KIAkJCSAqLwogCQkJCQkgZWNwZ19nZXR0ZXh0KCJvdXQgb2YgbWVt b3J5IG9uIGxpbmUgJWQiKSwgbGluZSk7CiAJCQlicmVhazsKIAorCQljYXNl IEVDUEdfRU5DT0RJTkdfRVJST1I6CisgICAgICAgICAgICBzbnByaW50Zihz cWxjYS0+c3FsZXJybS5zcWxlcnJtYywgc2l6ZW9mKHNxbGNhLT5zcWxlcnJt LnNxbGVycm1jKSwKKworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAq IHRyYW5zbGF0b3I6IHRoaXMgc3RyaW5nIHdpbGwgYmUgdHJ1bmNhdGVkIGF0 IDE0OSBjaGFyYWN0ZXJzCisgICAgICAgICAgICAgKiBleHBhbmRlZC4KKyAg ICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICAgZWNwZ19nZXR0 ZXh0KCJlbmNvZGluZyBjb252ZXJzaW9uIGVycm9yIG9uIGxpbmUgJWQiKSwg bGluZSk7CisgICAgICAgICAgICBicmVhazsKKwogCQljYXNlIEVDUEdfVU5T VVBQT1JURUQ6CiAJCQlzbnByaW50ZihzcWxjYS0+c3FsZXJybS5zcWxlcnJt Yywgc2l6ZW9mKHNxbGNhLT5zcWxlcnJtLnNxbGVycm1jKSwKIAogCQkJLyoK IAkJCSAqIHRyYW5zbGF0b3I6IHRoaXMgc3RyaW5nIHdpbGwgYmUgdHJ1bmNh dGVkIGF0IDE0OSBjaGFyYWN0ZXJzCmRpZmYgLVUgNSAtTiAtciAtdyAuLi9v cmlnLkhFQUQvc3JjL2ludGVyZmFjZXMvZWNwZy9lY3BnbGliL2V4ZWN1dGUu YyAuL3NyYy9pbnRlcmZhY2VzL2VjcGcvZWNwZ2xpYi9leGVjdXRlLmMKLS0t IC4uL29yaWcuSEVBRC9zcmMvaW50ZXJmYWNlcy9lY3BnL2VjcGdsaWIvZXhl Y3V0ZS5jCTIwMTMtMDgtMTkgMjA6MjI6MTMuMDAwMDAwMDAwIC0wNDAwCisr KyAuL3NyYy9pbnRlcmZhY2VzL2VjcGcvZWNwZ2xpYi9leGVjdXRlLmMJMjAx My0wOC0yMCAwNTowNTo1Ni4wMDAwMDAwMDAgLTA0MDAKQEAgLTI0NCwxMiAr MjQ0LDE2IEBACiAJCQlyZXR1cm4gKEVDUEdfQVJSQVlfRVJST1IpOwogCQlp ZiAoIWVjcGdfdHlwZV9pbmZvY2FjaGVfcHVzaCgmKHN0bXQtPmNvbm5lY3Rp b24tPmNhY2hlX2hlYWQpLCBDSURST0lELCBFQ1BHX0FSUkFZX05PTkUsIHN0 bXQtPmxpbmVubykpCiAJCQlyZXR1cm4gKEVDUEdfQVJSQVlfRVJST1IpOwog CQlpZiAoIWVjcGdfdHlwZV9pbmZvY2FjaGVfcHVzaCgmKHN0bXQtPmNvbm5l Y3Rpb24tPmNhY2hlX2hlYWQpLCBCUENIQVJPSUQsIEVDUEdfQVJSQVlfTk9O RSwgc3RtdC0+bGluZW5vKSkKIAkJCXJldHVybiAoRUNQR19BUlJBWV9FUlJP Uik7CisJCWlmICghZWNwZ190eXBlX2luZm9jYWNoZV9wdXNoKCYoc3RtdC0+ Y29ubmVjdGlvbi0+Y2FjaGVfaGVhZCksIE5CUENIQVJPSUQsIEVDUEdfQVJS QVlfTk9ORSwgc3RtdC0+bGluZW5vKSkKKwkJCXJldHVybiAoRUNQR19BUlJB WV9FUlJPUik7CiAJCWlmICghZWNwZ190eXBlX2luZm9jYWNoZV9wdXNoKCYo c3RtdC0+Y29ubmVjdGlvbi0+Y2FjaGVfaGVhZCksIFZBUkNIQVJPSUQsIEVD UEdfQVJSQVlfTk9ORSwgc3RtdC0+bGluZW5vKSkKIAkJCXJldHVybiAoRUNQ R19BUlJBWV9FUlJPUik7CisJCWlmICghZWNwZ190eXBlX2luZm9jYWNoZV9w dXNoKCYoc3RtdC0+Y29ubmVjdGlvbi0+Y2FjaGVfaGVhZCksIE5WQVJDSEFS T0lELCBFQ1BHX0FSUkFZX05PTkUsIHN0bXQtPmxpbmVubykpCisJCQlyZXR1 cm4gKEVDUEdfQVJSQVlfRVJST1IpOwogCQlpZiAoIWVjcGdfdHlwZV9pbmZv Y2FjaGVfcHVzaCgmKHN0bXQtPmNvbm5lY3Rpb24tPmNhY2hlX2hlYWQpLCBE QVRFT0lELCBFQ1BHX0FSUkFZX05PTkUsIHN0bXQtPmxpbmVubykpCiAJCQly ZXR1cm4gKEVDUEdfQVJSQVlfRVJST1IpOwogCQlpZiAoIWVjcGdfdHlwZV9p bmZvY2FjaGVfcHVzaCgmKHN0bXQtPmNvbm5lY3Rpb24tPmNhY2hlX2hlYWQp LCBUSU1FT0lELCBFQ1BHX0FSUkFZX05PTkUsIHN0bXQtPmxpbmVubykpCiAJ CQlyZXR1cm4gKEVDUEdfQVJSQVlfRVJST1IpOwogCQlpZiAoIWVjcGdfdHlw ZV9pbmZvY2FjaGVfcHVzaCgmKHN0bXQtPmNvbm5lY3Rpb24tPmNhY2hlX2hl YWQpLCBUSU1FU1RBTVBPSUQsIEVDUEdfQVJSQVlfTk9ORSwgc3RtdC0+bGlu ZW5vKSkKQEAgLTM2MCwxMCArMzY0LDExIEBACiAJCWlmICghUFFmZm9ybWF0 KHJlc3VsdHMsIGFjdF9maWVsZCkpCiAJCXsKIAkJCXN3aXRjaCAodmFyLT50 eXBlKQogCQkJewogCQkJCWNhc2UgRUNQR3RfY2hhcjoKKwkJCQljYXNlIEVD UEd0X25jaGFyOgogCQkJCWNhc2UgRUNQR3RfdW5zaWduZWRfY2hhcjoKIAkJ CQljYXNlIEVDUEd0X3N0cmluZzoKIAkJCQkJaWYgKCF2YXItPnZhcmNoYXJz aXplICYmICF2YXItPmFycnNpemUpCiAJCQkJCXsKIAkJCQkJCS8qIHNwZWNp YWwgbW9kZSBmb3IgaGFuZGxpbmcgY2hhcioqZm9vPTAgKi8KQEAgLTM4NSwx MCArMzkwLDExIEBACiAJCQkJCQl9CiAJCQkJCQl2YXItPm9mZnNldCAqPSB2 YXItPnZhcmNoYXJzaXplOwogCQkJCQkJbGVuID0gdmFyLT5vZmZzZXQgKiBu dHVwbGVzOwogCQkJCQl9CiAJCQkJCWJyZWFrOworCQkJCWNhc2UgRUNQR3Rf bnZhcmNoYXI6CiAJCQkJY2FzZSBFQ1BHdF92YXJjaGFyOgogCQkJCQlsZW4g PSBudHVwbGVzICogKHZhci0+dmFyY2hhcnNpemUgKyBzaXplb2YoaW50KSk7 CiAJCQkJCWJyZWFrOwogCQkJCWRlZmF1bHQ6CiAJCQkJCWxlbiA9IHZhci0+ b2Zmc2V0ICogbnR1cGxlczsKQEAgLTQyMSwxMSArNDI3LDExIEBACiAJCWVj cGdfYWRkX21lbSh2YXItPmluZF92YWx1ZSwgc3RtdC0+bGluZW5vKTsKIAl9 CiAKIAkvKiBmaWxsIHRoZSB2YXJpYWJsZSB3aXRoIHRoZSB0dXBsZShzKSAq LwogCWlmICghdmFyLT52YXJjaGFyc2l6ZSAmJiAhdmFyLT5hcnJzaXplICYm Ci0JCSh2YXItPnR5cGUgPT0gRUNQR3RfY2hhciB8fCB2YXItPnR5cGUgPT0g RUNQR3RfdW5zaWduZWRfY2hhciB8fCB2YXItPnR5cGUgPT0gRUNQR3Rfc3Ry aW5nKSkKKwkJKHZhci0+dHlwZSA9PSBFQ1BHdF9jaGFyIHx8IHZhci0+dHlw ZSA9PSBFQ1BHdF91bnNpZ25lZF9jaGFyIHx8IHZhci0+dHlwZSA9PSBFQ1BH dF9zdHJpbmcgfHwgdmFyLT50eXBlID09IEVDUEd0X25jaGFyKSkKIAl7CiAJ CS8qIHNwZWNpYWwgbW9kZSBmb3IgaGFuZGxpbmcgY2hhcioqZm9vPTAgKi8K IAogCQkvKiBmaWxsaW5nIHRoZSBhcnJheSBvZiAoY2hhciopcyAqLwogCQlj aGFyCSAgKipjdXJyZW50X3N0cmluZyA9IChjaGFyICoqKSB2YXItPnZhbHVl OwpAQCAtNzkxLDEwICs3OTcsMTEgQEAKIAogCQkJCSp0b2JlaW5zZXJ0ZWRf cCA9IG1hbGxvY2VkdmFsOwogCQkJCWJyZWFrOwogCiAJCQljYXNlIEVDUEd0 X2NoYXI6CisJCQljYXNlIEVDUEd0X25jaGFyOgogCQkJY2FzZSBFQ1BHdF91 bnNpZ25lZF9jaGFyOgogCQkJY2FzZSBFQ1BHdF9zdHJpbmc6CiAJCQkJewog CQkJCQkvKiBzZXQgc2xlbiB0byBzdHJpbmcgbGVuZ3RoIGlmIHR5cGUgaXMg Y2hhciAqICovCiAJCQkJCWludAkJCXNsZW4gPSAodmFyLT52YXJjaGFyc2l6 ZSA9PSAwKSA/IHN0cmxlbigoY2hhciAqKSB2YXItPnZhbHVlKSA6ICh1bnNp Z25lZCBpbnQpIHZhci0+dmFyY2hhcnNpemU7CkBAIC04MjUsMTAgKzgzMiwx MSBAQAogCiAJCQkJCSp0b2JlaW5zZXJ0ZWRfcCA9IG1hbGxvY2VkdmFsOwog CQkJCX0KIAkJCQlicmVhazsKIAkJCWNhc2UgRUNQR3RfdmFyY2hhcjoKKwkJ CWNhc2UgRUNQR3RfbnZhcmNoYXI6CiAJCQkJewogCQkJCQlzdHJ1Y3QgRUNQ R2dlbmVyaWNfdmFyY2hhciAqdmFyaWFibGUgPQogCQkJCQkoc3RydWN0IEVD UEdnZW5lcmljX3ZhcmNoYXIgKikgKHZhci0+dmFsdWUpOwogCiAJCQkJCWlm ICghKG5ld2NvcHkgPSAoY2hhciAqKSBlY3BnX2FsbG9jKHZhcmlhYmxlLT5s ZW4gKyAxLCBsaW5lbm8pKSkKQEAgLTg0MiwxMSArODUwLDEwIEBACiAJCQkJ CQlyZXR1cm4gZmFsc2U7CiAKIAkJCQkJKnRvYmVpbnNlcnRlZF9wID0gbWFs bG9jZWR2YWw7CiAJCQkJfQogCQkJCWJyZWFrOwotCiAJCQljYXNlIEVDUEd0 X2RlY2ltYWw6CiAJCQljYXNlIEVDUEd0X251bWVyaWM6CiAJCQkJewogCQkJ CQljaGFyCSAgICpzdHIgPSBOVUxMOwogCQkJCQlpbnQJCQlzbGVuOwpAQCAt MTIyOSwxMCArMTIzNiwxMiBAQAogCQkJCQkJZGVzY19pbmxpc3QudmFsdWUg PSBzcWxkYS0+c3FsdmFyW2ldLnNxbGRhdGE7CiAJCQkJCQlkZXNjX2lubGlz dC5wb2ludGVyID0gJihzcWxkYS0+c3FsdmFyW2ldLnNxbGRhdGEpOwogCQkJ CQkJc3dpdGNoIChkZXNjX2lubGlzdC50eXBlKQogCQkJCQkJewogCQkJCQkJ CWNhc2UgRUNQR3RfY2hhcjoKKwkJCQkJCQljYXNlIEVDUEd0X25jaGFyOgor CQkJCQkJCWNhc2UgRUNQR3RfbnZhcmNoYXI6CiAJCQkJCQkJY2FzZSBFQ1BH dF92YXJjaGFyOgogCQkJCQkJCQlkZXNjX2lubGlzdC52YXJjaGFyc2l6ZSA9 IHN0cmxlbihzcWxkYS0+c3FsdmFyW2ldLnNxbGRhdGEpOwogCQkJCQkJCQli cmVhazsKIAkJCQkJCQlkZWZhdWx0OgogCQkJCQkJCQlkZXNjX2lubGlzdC52 YXJjaGFyc2l6ZSA9IDA7CkBAIC0xMjg0LDEwICsxMjkzLDEyIEBACiAJCQkJ CQlkZXNjX2lubGlzdC52YWx1ZSA9IHNxbGRhLT5zcWx2YXJbaV0uc3FsZGF0 YTsKIAkJCQkJCWRlc2NfaW5saXN0LnBvaW50ZXIgPSAmKHNxbGRhLT5zcWx2 YXJbaV0uc3FsZGF0YSk7CiAJCQkJCQlzd2l0Y2ggKGRlc2NfaW5saXN0LnR5 cGUpCiAJCQkJCQl7CiAJCQkJCQkJY2FzZSBFQ1BHdF9jaGFyOgorCQkJCQkJ CWNhc2UgRUNQR3RfbmNoYXI6CisJCQkJCQkJY2FzZSBFQ1BHdF9udmFyY2hh cjoKIAkJCQkJCQljYXNlIEVDUEd0X3ZhcmNoYXI6CiAJCQkJCQkJCWRlc2Nf aW5saXN0LnZhcmNoYXJzaXplID0gc3RybGVuKHNxbGRhLT5zcWx2YXJbaV0u c3FsZGF0YSk7CiAJCQkJCQkJCWJyZWFrOwogCQkJCQkJCWRlZmF1bHQ6CiAJ CQkJCQkJCWRlc2NfaW5saXN0LnZhcmNoYXJzaXplID0gMDsKZGlmZiAtVSA1 IC1OIC1yIC13IC4uL29yaWcuSEVBRC9zcmMvaW50ZXJmYWNlcy9lY3BnL2Vj cGdsaWIvZXh0ZXJuLmggLi9zcmMvaW50ZXJmYWNlcy9lY3BnL2VjcGdsaWIv ZXh0ZXJuLmgKLS0tIC4uL29yaWcuSEVBRC9zcmMvaW50ZXJmYWNlcy9lY3Bn L2VjcGdsaWIvZXh0ZXJuLmgJMjAxMy0wOC0xOSAyMDoyMjoxMy4wMDAwMDAw MDAgLTA0MDAKKysrIC4vc3JjL2ludGVyZmFjZXMvZWNwZy9lY3BnbGliL2V4 dGVybi5oCTIwMTMtMDgtMTkgMjA6NTQ6MDAuMDAwMDAwMDAwIC0wNDAwCkBA IC0yMDIsNyArMjAyLDggQEAKICNkZWZpbmUgRUNQR19TUUxTVEFURV9EVVBM SUNBVEVfQ1VSU09SCQkiNDJQMDMiCiAKIC8qIGltcGxlbWVudGF0aW9uLWRl ZmluZWQgaW50ZXJuYWwgZXJyb3JzIG9mIGVjcGcgKi8KICNkZWZpbmUgRUNQ R19TUUxTVEFURV9FQ1BHX0lOVEVSTkFMX0VSUk9SCSJZRTAwMCIKICNkZWZp bmUgRUNQR19TUUxTVEFURV9FQ1BHX09VVF9PRl9NRU1PUlkJIllFMDAxIgor I2RlZmluZSBFQ1BHX1NRTFNUQVRFX0VDUEdfRU5DT0RJTkdfRVJST1IgICAi WUUwMDIiCiAKICNlbmRpZiAgIC8qIF9FQ1BHX0xJQl9FWFRFUk5fSCAqLwpk aWZmIC1VIDUgLU4gLXIgLXcgLi4vb3JpZy5IRUFEL3NyYy9pbnRlcmZhY2Vz L2VjcGcvZWNwZ2xpYi9taXNjLmMgLi9zcmMvaW50ZXJmYWNlcy9lY3BnL2Vj cGdsaWIvbWlzYy5jCi0tLSAuLi9vcmlnLkhFQUQvc3JjL2ludGVyZmFjZXMv ZWNwZy9lY3BnbGliL21pc2MuYwkyMDEzLTA4LTE5IDIwOjIyOjEzLjAwMDAw MDAwMCAtMDQwMAorKysgLi9zcmMvaW50ZXJmYWNlcy9lY3BnL2VjcGdsaWIv bWlzYy5jCTIwMTMtMDgtMjAgMDU6MDQ6MjguMDAwMDAwMDAwIC0wNDAwCkBA IC0zMDMsMTAgKzMwMywxMSBAQAogRUNQR3NldF9ub2luZF9udWxsKGVudW0g RUNQR3R0eXBlIHR5cGUsIHZvaWQgKnB0cikKIHsKIAlzd2l0Y2ggKHR5cGUp CiAJewogCQljYXNlIEVDUEd0X2NoYXI6CisJCWNhc2UgRUNQR3RfbmNoYXI6 CiAJCWNhc2UgRUNQR3RfdW5zaWduZWRfY2hhcjoKIAkJY2FzZSBFQ1BHdF9z dHJpbmc6CiAJCQkqKChjaGFyICopIHB0cikgPSAnXDAnOwogCQkJYnJlYWs7 CiAJCWNhc2UgRUNQR3Rfc2hvcnQ6CkBAIC0zMzIsMTAgKzMzMywxMSBAQAog CQkJbWVtc2V0KChjaGFyICopIHB0ciwgMHhmZiwgc2l6ZW9mKGZsb2F0KSk7 CiAJCQlicmVhazsKIAkJY2FzZSBFQ1BHdF9kb3VibGU6CiAJCQltZW1zZXQo KGNoYXIgKikgcHRyLCAweGZmLCBzaXplb2YoZG91YmxlKSk7CiAJCQlicmVh azsKKwkJY2FzZSBFQ1BHdF9udmFyY2hhcjoKIAkJY2FzZSBFQ1BHdF92YXJj aGFyOgogCQkJKigoKHN0cnVjdCBFQ1BHZ2VuZXJpY192YXJjaGFyICopIHB0 ciktPmFycikgPSAweDAwOwogCQkJKChzdHJ1Y3QgRUNQR2dlbmVyaWNfdmFy Y2hhciAqKSBwdHIpLT5sZW4gPSAwOwogCQkJYnJlYWs7CiAJCWNhc2UgRUNQ R3RfZGVjaW1hbDoKQEAgLTQwNSwxMCArNDA3LDExIEBACiAJCQlyZXR1cm4g KF9jaGVjayhwdHIsIHNpemVvZihmbG9hdCkpKTsKIAkJCWJyZWFrOwogCQlj YXNlIEVDUEd0X2RvdWJsZToKIAkJCXJldHVybiAoX2NoZWNrKHB0ciwgc2l6 ZW9mKGRvdWJsZSkpKTsKIAkJCWJyZWFrOworCQljYXNlIEVDUEd0X252YXJj aGFyOgogCQljYXNlIEVDUEd0X3ZhcmNoYXI6CiAJCQlpZiAoKigoKHN0cnVj dCBFQ1BHZ2VuZXJpY192YXJjaGFyICopIHB0ciktPmFycikgPT0gMHgwMCkK IAkJCQlyZXR1cm4gdHJ1ZTsKIAkJCWJyZWFrOwogCQljYXNlIEVDUEd0X2Rl Y2ltYWw6CkBAIC01NDYsNSArNTQ5LDYgQEAKIAlzdHJ1Y3QgdmFyX2xpc3Qg KnB0cjsKIAogCWZvciAocHRyID0gaXZsaXN0OyBwdHIgIT0gTlVMTCAmJiBw dHItPm51bWJlciAhPSBudW1iZXI7IHB0ciA9IHB0ci0+bmV4dCk7CiAJcmV0 dXJuIChwdHIpID8gcHRyLT5wb2ludGVyIDogTlVMTDsKIH0KKwpkaWZmIC1V IDUgLU4gLXIgLXcgLi4vb3JpZy5IRUFEL3NyYy9pbnRlcmZhY2VzL2VjcGcv ZWNwZ2xpYi9wZ190eXBlLmggLi9zcmMvaW50ZXJmYWNlcy9lY3BnL2VjcGds aWIvcGdfdHlwZS5oCi0tLSAuLi9vcmlnLkhFQUQvc3JjL2ludGVyZmFjZXMv ZWNwZy9lY3BnbGliL3BnX3R5cGUuaAkyMDEzLTA4LTE5IDIwOjIyOjEzLjAw MDAwMDAwMCAtMDQwMAorKysgLi9zcmMvaW50ZXJmYWNlcy9lY3BnL2VjcGds aWIvcGdfdHlwZS5oCTIwMTMtMDgtMTkgMjA6NTQ6MDAuMDAwMDAwMDAwIC0w NDAwCkBAIC00NiwxMCArNDYsMTIgQEAKICNkZWZpbmUgQ0FTSE9JRCA3OTAK ICNkZWZpbmUgSU5FVE9JRCA4NjkKICNkZWZpbmUgQ0lEUk9JRCA2NTAKICNk ZWZpbmUgQlBDSEFST0lECQkxMDQyCiAjZGVmaW5lIFZBUkNIQVJPSUQJCTEw NDMKKyNkZWZpbmUgTkJQQ0hBUk9JRCAgICAgICAgICAgICAgNTAwMQorI2Rl ZmluZSBOVkFSQ0hBUk9JRCAgICAgICAgICAgICA2MDAxCiAjZGVmaW5lIERB VEVPSUQJCQkxMDgyCiAjZGVmaW5lIFRJTUVPSUQJCQkxMDgzCiAjZGVmaW5l IFRJTUVTVEFNUE9JRAkxMTE0CiAjZGVmaW5lIFRJTUVTVEFNUFRaT0lECTEx ODQKICNkZWZpbmUgSU5URVJWQUxPSUQJCTExODYKZGlmZiAtVSA1IC1OIC1y IC13IC4uL29yaWcuSEVBRC9zcmMvaW50ZXJmYWNlcy9lY3BnL2VjcGdsaWIv c3FsZGEuYyAuL3NyYy9pbnRlcmZhY2VzL2VjcGcvZWNwZ2xpYi9zcWxkYS5j Ci0tLSAuLi9vcmlnLkhFQUQvc3JjL2ludGVyZmFjZXMvZWNwZy9lY3BnbGli L3NxbGRhLmMJMjAxMy0wOC0xOSAyMDoyMjoxMy4wMDAwMDAwMDAgLTA0MDAK KysrIC4vc3JjL2ludGVyZmFjZXMvZWNwZy9lY3BnbGliL3NxbGRhLmMJMjAx My0wOC0xOSAyMDo1NDowMC4wMDAwMDAwMDAgLTA0MDAKQEAgLTEzMiwxMCAr MTMyLDExIEBACiAJCQkJYnJlYWs7CiAJCQljYXNlIEVDUEd0X2ludGVydmFs OgogCQkJCWVjcGdfc3FsZGFfYWxpZ25fYWRkX3NpemUob2Zmc2V0LCBzaXpl b2YoaW50NjQpLCBzaXplb2YoaW50ZXJ2YWwpLCAmb2Zmc2V0LCAmbmV4dF9v ZmZzZXQpOwogCQkJCWJyZWFrOwogCQkJY2FzZSBFQ1BHdF9jaGFyOgorCQkJ Y2FzZSBFQ1BHdF9uY2hhcjoKIAkJCWNhc2UgRUNQR3RfdW5zaWduZWRfY2hh cjoKIAkJCWNhc2UgRUNQR3Rfc3RyaW5nOgogCQkJZGVmYXVsdDoKIAkJCQl7 CiAJCQkJCWxvbmcJCWRhdGFsZW4gPSBzdHJsZW4oUFFnZXR2YWx1ZShyZXMs IHJvdywgaSkpICsgMTsKQEAgLTM3MSwxMCArMzcyLDExIEBACiAJCQkJZWNw Z19zcWxkYV9hbGlnbl9hZGRfc2l6ZShvZmZzZXQsIHNpemVvZihpbnQ2NCks IHNpemVvZihpbnRlcnZhbCksICZvZmZzZXQsICZuZXh0X29mZnNldCk7CiAJ CQkJc3FsZGEtPnNxbHZhcltpXS5zcWxkYXRhID0gKGNoYXIgKikgc3FsZGEg KyBvZmZzZXQ7CiAJCQkJc3FsZGEtPnNxbHZhcltpXS5zcWxsZW4gPSBzaXpl b2YoaW50ZXJ2YWwpOwogCQkJCWJyZWFrOwogCQkJY2FzZSBFQ1BHdF9jaGFy OgorCQkJY2FzZSBFQ1BHdF9uY2hhcjoKIAkJCWNhc2UgRUNQR3RfdW5zaWdu ZWRfY2hhcjoKIAkJCWNhc2UgRUNQR3Rfc3RyaW5nOgogCQkJZGVmYXVsdDoK IAkJCQlkYXRhbGVuID0gc3RybGVuKFBRZ2V0dmFsdWUocmVzLCByb3csIGkp KSArIDE7CiAJCQkJZWNwZ19zcWxkYV9hbGlnbl9hZGRfc2l6ZShvZmZzZXQs IHNpemVvZihpbnQpLCBkYXRhbGVuLCAmb2Zmc2V0LCAmbmV4dF9vZmZzZXQp OwpAQCAtNTYwLDEwICs1NjIsMTEgQEAKIAkJCQllY3BnX3NxbGRhX2FsaWdu X2FkZF9zaXplKG9mZnNldCwgc2l6ZW9mKGludDY0KSwgc2l6ZW9mKGludGVy dmFsKSwgJm9mZnNldCwgJm5leHRfb2Zmc2V0KTsKIAkJCQlzcWxkYS0+c3Fs dmFyW2ldLnNxbGRhdGEgPSAoY2hhciAqKSBzcWxkYSArIG9mZnNldDsKIAkJ CQlzcWxkYS0+c3FsdmFyW2ldLnNxbGxlbiA9IHNpemVvZihpbnRlcnZhbCk7 CiAJCQkJYnJlYWs7CiAJCQljYXNlIEVDUEd0X2NoYXI6CisJCQljYXNlIEVD UEd0X25jaGFyOgogCQkJY2FzZSBFQ1BHdF91bnNpZ25lZF9jaGFyOgogCQkJ Y2FzZSBFQ1BHdF9zdHJpbmc6CiAJCQlkZWZhdWx0OgogCQkJCWRhdGFsZW4g PSBzdHJsZW4oUFFnZXR2YWx1ZShyZXMsIHJvdywgaSkpICsgMTsKIAkJCQll Y3BnX3NxbGRhX2FsaWduX2FkZF9zaXplKG9mZnNldCwgc2l6ZW9mKGludCks IGRhdGFsZW4sICZvZmZzZXQsICZuZXh0X29mZnNldCk7CmRpZmYgLVUgNSAt TiAtciAtdyAuLi9vcmlnLkhFQUQvc3JjL2ludGVyZmFjZXMvZWNwZy9lY3Bn bGliL3R5cGVuYW1lLmMgLi9zcmMvaW50ZXJmYWNlcy9lY3BnL2VjcGdsaWIv dHlwZW5hbWUuYwotLS0gLi4vb3JpZy5IRUFEL3NyYy9pbnRlcmZhY2VzL2Vj cGcvZWNwZ2xpYi90eXBlbmFtZS5jCTIwMTMtMDgtMTkgMjA6MjI6MTMuMDAw MDAwMDAwIC0wNDAwCisrKyAuL3NyYy9pbnRlcmZhY2VzL2VjcGcvZWNwZ2xp Yi90eXBlbmFtZS5jCTIwMTMtMDgtMjAgMDU6MDI6MzIuMDAwMDAwMDAwIC0w NDAwCkBAIC0yMCwxMCArMjAsMTIgQEAKIAlzd2l0Y2ggKHR5cCkKIAl7CiAJ CWNhc2UgRUNQR3RfY2hhcjoKIAkJY2FzZSBFQ1BHdF9zdHJpbmc6CiAJCQly ZXR1cm4gImNoYXIiOworCQljYXNlIEVDUEd0X25jaGFyOgorCQkJcmV0dXJu ICJuYXRpb25hbCBjaGFyIjsKIAkJY2FzZSBFQ1BHdF91bnNpZ25lZF9jaGFy OgogCQkJcmV0dXJuICJ1bnNpZ25lZCBjaGFyIjsKIAkJY2FzZSBFQ1BHdF9z aG9ydDoKIAkJCXJldHVybiAic2hvcnQiOwogCQljYXNlIEVDUEd0X3Vuc2ln bmVkX3Nob3J0OgpAQCAtNDYsMTAgKzQ4LDEyIEBACiAJCQlyZXR1cm4gImRv dWJsZSI7CiAJCWNhc2UgRUNQR3RfYm9vbDoKIAkJCXJldHVybiAiYm9vbCI7 CiAJCWNhc2UgRUNQR3RfdmFyY2hhcjoKIAkJCXJldHVybiAidmFyY2hhciI7 CisJCWNhc2UgRUNQR3RfbnZhcmNoYXI6CisJCQlyZXR1cm4gIm52YXJjaGFy IjsKIAkJY2FzZSBFQ1BHdF9jaGFyX3ZhcmlhYmxlOgogCQkJcmV0dXJuICJj aGFyIjsKIAkJY2FzZSBFQ1BHdF9kZWNpbWFsOgogCQkJcmV0dXJuICJkZWNp bWFsIjsKIAkJY2FzZSBFQ1BHdF9udW1lcmljOgpAQCAtODUsMTIgKzg5LDE2 IEBACiAJCQlyZXR1cm4gU1FMM19SRUFMOwkvKiBmbG9hdDQgKi8KIAkJY2Fz ZSBGTE9BVDhPSUQ6CiAJCQlyZXR1cm4gU1FMM19ET1VCTEVfUFJFQ0lTSU9O OwkJLyogZmxvYXQ4ICovCiAJCWNhc2UgQlBDSEFST0lEOgogCQkJcmV0dXJu IFNRTDNfQ0hBUkFDVEVSOwkJLyogYnBjaGFyICovCisJCWNhc2UgTkJQQ0hB Uk9JRDoKKwkJCXJldHVybiBTUUwzX0NIQVJBQ1RFUjsJCS8qIGJwY2hhciAq LwogCQljYXNlIFZBUkNIQVJPSUQ6CiAJCQlyZXR1cm4gU1FMM19DSEFSQUNU RVJfVkFSWUlORzsJCS8qIHZhcmNoYXIgKi8KKwkJY2FzZSBOVkFSQ0hBUk9J RDoKKwkJCXJldHVybiBTUUwzX0NIQVJBQ1RFUl9WQVJZSU5HOwkJLyogbnZh cmNoYXIgKi8KIAkJY2FzZSBEQVRFT0lEOgogCQkJcmV0dXJuIFNRTDNfREFU RV9USU1FX1RJTUVTVEFNUDsJLyogZGF0ZSAqLwogCQljYXNlIFRJTUVPSUQ6 CiAJCQlyZXR1cm4gU1FMM19EQVRFX1RJTUVfVElNRVNUQU1QOwkvKiB0aW1l ICovCiAJCWNhc2UgVElNRVNUQU1QT0lEOgpAQCAtMTA3LDExICsxMTUsMTMg QEAKIHsKIAlzd2l0Y2ggKHR5cGUpCiAJewogCQljYXNlIENIQVJPSUQ6CiAJ CWNhc2UgVkFSQ0hBUk9JRDoKKwkJY2FzZSBOVkFSQ0hBUk9JRDoKIAkJY2Fz ZSBCUENIQVJPSUQ6CisJCWNhc2UgTkJQQ0hBUk9JRDoKIAkJY2FzZSBURVhU T0lEOgogCQkJcmV0dXJuIEVDUEd0X2NoYXI7CiAJCWNhc2UgSU5UMk9JRDoK IAkJCXJldHVybiBFQ1BHdF9zaG9ydDsKIAkJY2FzZSBJTlQ0T0lEOgpkaWZm IC1VIDUgLU4gLXIgLXcgLi4vb3JpZy5IRUFEL3NyYy9pbnRlcmZhY2VzL2Vj cGcvaW5jbHVkZS9lY3BnZXJybm8uaCAuL3NyYy9pbnRlcmZhY2VzL2VjcGcv aW5jbHVkZS9lY3BnZXJybm8uaAotLS0gLi4vb3JpZy5IRUFEL3NyYy9pbnRl cmZhY2VzL2VjcGcvaW5jbHVkZS9lY3BnZXJybm8uaAkyMDEzLTA4LTE5IDIw OjIyOjEzLjAwMDAwMDAwMCAtMDQwMAorKysgLi9zcmMvaW50ZXJmYWNlcy9l Y3BnL2luY2x1ZGUvZWNwZ2Vycm5vLmgJMjAxMy0wOC0xOSAyMDo1NDowMC4w MDAwMDAwMDAgLTA0MDAKQEAgLTQzLDEwICs0MywxMyBAQAogI2RlZmluZSBF Q1BHX0lOVkFMSURfREVTQ1JJUFRPUl9JTkRFWAktMjQxCiAjZGVmaW5lIEVD UEdfVU5LTk9XTl9ERVNDUklQVE9SX0lURU0JLTI0MgogI2RlZmluZSBFQ1BH X1ZBUl9OT1RfTlVNRVJJQwkJLTI0MwogI2RlZmluZSBFQ1BHX1ZBUl9OT1Rf Q0hBUgkJLTI0NAogCisvKmVuY29kaW5nIGNvbnZlcnNpb24gZXJyb3JzICov CisjZGVmaW5lIEVDUEdfRU5DT0RJTkdfRVJST1IgICAgIC0yNTAKKwogLyog ZmluYWxseSB0aGUgYmFja2VuZCBlcnJvciBtZXNzYWdlcywgdGhleSBzdGFy dCBhdCA0MDAgKi8KICNkZWZpbmUgRUNQR19QR1NRTAkJCS00MDAKICNkZWZp bmUgRUNQR19UUkFOUwkJCS00MDEKICNkZWZpbmUgRUNQR19DT05ORUNUCQkJ LTQwMgogI2RlZmluZSBFQ1BHX0RVUExJQ0FURV9LRVkJCS00MDMKZGlmZiAt VSA1IC1OIC1yIC13IC4uL29yaWcuSEVBRC9zcmMvaW50ZXJmYWNlcy9lY3Bn L2luY2x1ZGUvZWNwZ3R5cGUuaCAuL3NyYy9pbnRlcmZhY2VzL2VjcGcvaW5j bHVkZS9lY3BndHlwZS5oCi0tLSAuLi9vcmlnLkhFQUQvc3JjL2ludGVyZmFj ZXMvZWNwZy9pbmNsdWRlL2VjcGd0eXBlLmgJMjAxMy0wOC0xOSAyMDoyMjox My4wMDAwMDAwMDAgLTA0MDAKKysrIC4vc3JjL2ludGVyZmFjZXMvZWNwZy9p bmNsdWRlL2VjcGd0eXBlLmgJMjAxMy0wOC0yMCAwNTowMjowMS4wMDAwMDAw MDAgLTA0MDAKQEAgLTQ0LDEwICs0NCwxMiBAQAogCUVDUEd0X2ludCwgRUNQ R3RfdW5zaWduZWRfaW50LCBFQ1BHdF9sb25nLCBFQ1BHdF91bnNpZ25lZF9s b25nLAogCUVDUEd0X2xvbmdfbG9uZywgRUNQR3RfdW5zaWduZWRfbG9uZ19s b25nLAogCUVDUEd0X2Jvb2wsCiAJRUNQR3RfZmxvYXQsIEVDUEd0X2RvdWJs ZSwKIAlFQ1BHdF92YXJjaGFyLCBFQ1BHdF92YXJjaGFyMiwKKwlFQ1BHdF9u dmFyY2hhciwJCQkJLyogdGhlIHNhbWUgYXMgRUNQR3RfdmFyY2hhciBhY3R1 YWxseSAqLworCUVDUEd0X25jaGFyLCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAvKiBjb252ZXJ0ZWQgdG8gY2hhciAqYXJyW05dICovCiAJRUNQR3Rf bnVtZXJpYywJCQkJLyogdGhpcyBpcyBhIGRlY2ltYWwgdGhhdCBzdG9yZXMg aXRzIGRpZ2l0cyBpbgogCQkJCQkJCQkgKiBhIG1hbGxvY2VkIGFycmF5ICov CiAJRUNQR3RfZGVjaW1hbCwJCQkJLyogdGhpcyBpcyBhIGRlY2ltYWwgdGhh dCBzdG9yZXMgaXRzIGRpZ2l0cyBpbgogCQkJCQkJCQkgKiBhIGZpeGVkIGFy cmF5ICovCiAJRUNQR3RfZGF0ZSwKQEAgLTEwMiw1ICsxMDQsNiBAQAogI2lm ZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKIAogI2VuZGlmICAgLyogX0VD UEdUWVBFX0ggKi8KKwpkaWZmIC1VIDUgLU4gLXIgLXcgLi4vb3JpZy5IRUFE L3NyYy9pbnRlcmZhY2VzL2VjcGcvaW5jbHVkZS9zcWx0eXBlcy5oIC4vc3Jj L2ludGVyZmFjZXMvZWNwZy9pbmNsdWRlL3NxbHR5cGVzLmgKLS0tIC4uL29y aWcuSEVBRC9zcmMvaW50ZXJmYWNlcy9lY3BnL2luY2x1ZGUvc3FsdHlwZXMu aAkyMDEzLTA4LTE5IDIwOjIyOjEzLjAwMDAwMDAwMCAtMDQwMAorKysgLi9z cmMvaW50ZXJmYWNlcy9lY3BnL2luY2x1ZGUvc3FsdHlwZXMuaAkyMDEzLTA4 LTE5IDIwOjU0OjAwLjAwMDAwMDAwMCAtMDQwMApAQCAtNDQsMTAgKzQ0LDEx IEBACiAjZGVmaW5lCVNRTFRFWFQJCUVDUEd0X2NoYXIKICNkZWZpbmUJU1FM VkNIQVIJRUNQR3RfY2hhcgogI2RlZmluZSBTUUxJTlRFUlZBTCAgICAgRUNQ R3RfaW50ZXJ2YWwKICNkZWZpbmUJU1FMTkNIQVIJRUNQR3RfY2hhcgogI2Rl ZmluZQlTUUxOVkNIQVIJRUNQR3RfY2hhcgorI2RlZmluZSBTUUxOVkFSQ0hB UiAgICAgRUNQR3RfY2hhcgogI2lmZGVmIEhBVkVfTE9OR19MT05HX0lOVF82 NAogI2RlZmluZQlTUUxJTlQ4CQlFQ1BHdF9sb25nX2xvbmcKICNkZWZpbmUJ U1FMU0VSSUFMOAlFQ1BHdF9sb25nX2xvbmcKICNlbHNlCiAjZGVmaW5lCVNR TElOVDgJCUVDUEd0X2xvbmcKZGlmZiAtVSA1IC1OIC1yIC13IC4uL29yaWcu SEVBRC9zcmMvaW50ZXJmYWNlcy9lY3BnL3ByZXByb2MvY19rZXl3b3Jkcy5j IC4vc3JjL2ludGVyZmFjZXMvZWNwZy9wcmVwcm9jL2Nfa2V5d29yZHMuYwot LS0gLi4vb3JpZy5IRUFEL3NyYy9pbnRlcmZhY2VzL2VjcGcvcHJlcHJvYy9j X2tleXdvcmRzLmMJMjAxMy0wOC0xOSAyMDoyMjoxMy4wMDAwMDAwMDAgLTA0 MDAKKysrIC4vc3JjL2ludGVyZmFjZXMvZWNwZy9wcmVwcm9jL2Nfa2V5d29y ZHMuYwkyMDEzLTA4LTIwIDA1OjA5OjA4LjAwMDAwMDAwMCAtMDQwMApAQCAt MjUsMTAgKzI1LDEyIEBACiAKIAkvKgogCSAqIGNhdGVnb3J5IGlzIG5vdCBu ZWVkZWQgaW4gZWNwZywgaXQgaXMgb25seSBoZXJlIHNvIHdlIGNhbiBzaGFy ZSB0aGUKIAkgKiBkYXRhIHN0cnVjdHVyZSB3aXRoIHRoZSBiYWNrZW5kCiAJ ICovCisJeyJOQ0hBUiIsIE5DSEFSLCAwfSwKKwl7Ik5WQVJDSEFSIiwgTlZB UkNIQVIsIDB9LAogCXsiVkFSQ0hBUiIsIFZBUkNIQVIsIDB9LAogCXsiYXV0 byIsIFNfQVVUTywgMH0sCiAJeyJib29sIiwgU1FMX0JPT0wsIDB9LAogCXsi Y2hhciIsIENIQVJfUCwgMH0sCiAJeyJjb25zdCIsIFNfQ09OU1QsIDB9LApA QCAtMzgsMTAgKzQwLDEyIEBACiAJeyJob3VyIiwgSE9VUl9QLCAwfSwKIAl7 ImludCIsIElOVF9QLCAwfSwKIAl7ImxvbmciLCBTUUxfTE9ORywgMH0sCiAJ eyJtaW51dGUiLCBNSU5VVEVfUCwgMH0sCiAJeyJtb250aCIsIE1PTlRIX1As IDB9LAorCXsibmNoYXIiLCBOQ0hBUiwgMH0sCisJeyJudmFyY2hhciIsIE5W QVJDSEFSLCAwfSwKIAl7InJlZ2lzdGVyIiwgU19SRUdJU1RFUiwgMH0sCiAJ eyJzZWNvbmQiLCBTRUNPTkRfUCwgMH0sCiAJeyJzaG9ydCIsIFNRTF9TSE9S VCwgMH0sCiAJeyJzaWduZWQiLCBTUUxfU0lHTkVELCAwfSwKIAl7InN0YXRp YyIsIFNfU1RBVElDLCAwfSwKZGlmZiAtVSA1IC1OIC1yIC13IC4uL29yaWcu SEVBRC9zcmMvaW50ZXJmYWNlcy9lY3BnL3ByZXByb2MvZWNwZy5oZWFkZXIg Li9zcmMvaW50ZXJmYWNlcy9lY3BnL3ByZXByb2MvZWNwZy5oZWFkZXIKLS0t IC4uL29yaWcuSEVBRC9zcmMvaW50ZXJmYWNlcy9lY3BnL3ByZXByb2MvZWNw Zy5oZWFkZXIJMjAxMy0wOC0xOSAyMDoyMjoxMy4wMDAwMDAwMDAgLTA0MDAK KysrIC4vc3JjL2ludGVyZmFjZXMvZWNwZy9wcmVwcm9jL2VjcGcuaGVhZGVy CTIwMTMtMDgtMjAgMDU6MDg6MjQuMDAwMDAwMDAwIC0wNDAwCkBAIC0yNjcs MTEgKzI2NywxMyBAQAogCQkJewogCQkJCW5ld3ZhciA9IHB0ci0+dmFyaWFi bGU7CiAJCQkJc2tpcF9zZXRfdmFyID0gdHJ1ZTsKIAkJCX0KIAkJCWVsc2Ug aWYgKChwdHItPnZhcmlhYmxlLT50eXBlLT50eXBlICE9IEVDUEd0X3ZhcmNo YXIKKwkJCQkJICAmJiBwdHItPnZhcmlhYmxlLT50eXBlLT50eXBlICE9IEVD UEd0X252YXJjaGFyCiAJCQkJCSAgJiYgcHRyLT52YXJpYWJsZS0+dHlwZS0+ dHlwZSAhPSBFQ1BHdF9jaGFyCisJCQkJCSAgJiYgcHRyLT52YXJpYWJsZS0+ dHlwZS0+dHlwZSAhPSBFQ1BHdF9uY2hhcgogCQkJCQkgICYmIHB0ci0+dmFy aWFibGUtPnR5cGUtPnR5cGUgIT0gRUNQR3RfdW5zaWduZWRfY2hhcgogCQkJ CQkgICYmIHB0ci0+dmFyaWFibGUtPnR5cGUtPnR5cGUgIT0gRUNQR3Rfc3Ry aW5nKQogCQkJCQkgJiYgYXRvaShwdHItPnZhcmlhYmxlLT50eXBlLT5zaXpl KSA+IDEpCiAJCQl7CiAJCQkJbmV3dmFyID0gbmV3X3ZhcmlhYmxlKGNhdF9z dHIoNCwgbW1fc3RyZHVwKCIoIiksCkBAIC0yODMsMTEgKzI4NSwxMyBAQAog CQkJCQkJCQkJCQkJCQkJCQkJCSAgIHB0ci0+dmFyaWFibGUtPnR5cGUtPnUu ZWxlbWVudC0+Y291bnRlciksCiAJCQkJCQkJCQkJCQkJCSAgcHRyLT52YXJp YWJsZS0+dHlwZS0+c2l6ZSksCiAJCQkJCQkJCQkgIDApOwogCQkJfQogCQkJ ZWxzZSBpZiAoKHB0ci0+dmFyaWFibGUtPnR5cGUtPnR5cGUgPT0gRUNQR3Rf dmFyY2hhcgorCQkJCQkgIHx8IHB0ci0+dmFyaWFibGUtPnR5cGUtPnR5cGUg PT0gRUNQR3RfbnZhcmNoYXIKIAkJCQkJICB8fCBwdHItPnZhcmlhYmxlLT50 eXBlLT50eXBlID09IEVDUEd0X2NoYXIKKwkJCQkJICB8fCBwdHItPnZhcmlh YmxlLT50eXBlLT50eXBlID09IEVDUEd0X25jaGFyCiAJCQkJCSAgfHwgcHRy LT52YXJpYWJsZS0+dHlwZS0+dHlwZSA9PSBFQ1BHdF91bnNpZ25lZF9jaGFy CiAJCQkJCSAgfHwgcHRyLT52YXJpYWJsZS0+dHlwZS0+dHlwZSA9PSBFQ1BH dF9zdHJpbmcpCiAJCQkJCSAmJiBhdG9pKHB0ci0+dmFyaWFibGUtPnR5cGUt PnNpemUpID4gMSkKIAkJCXsKIAkJCQluZXd2YXIgPSBuZXdfdmFyaWFibGUo Y2F0X3N0cig0LCBtbV9zdHJkdXAoIigiKSwKQEAgLTI5NiwxMSArMzAwLDEx IEBACiAJCQkJCQkJCQkJCSAgbW1fc3RyZHVwKHZhcl90ZXh0KSksCiAJCQkJ CQkJCQkgIEVDUEdtYWtlX3NpbXBsZV90eXBlKHB0ci0+dmFyaWFibGUtPnR5 cGUtPnR5cGUsCiAJCQkJCQkJCQkJCQkJCSAgIHB0ci0+dmFyaWFibGUtPnR5 cGUtPnNpemUsCiAJCQkJCQkJCQkJCQkJCSAgIHB0ci0+dmFyaWFibGUtPnR5 cGUtPmNvdW50ZXIpLAogCQkJCQkJCQkJICAwKTsKLQkJCQlpZiAocHRyLT52 YXJpYWJsZS0+dHlwZS0+dHlwZSA9PSBFQ1BHdF92YXJjaGFyKQorCQkJCWlm IChwdHItPnZhcmlhYmxlLT50eXBlLT50eXBlID09IEVDUEd0X3ZhcmNoYXIg fHwgcHRyLT52YXJpYWJsZS0+dHlwZS0+dHlwZSA9PSBFQ1BHdF9udmFyY2hh cikKIAkJCQkJdmFyX3B0ciA9IHRydWU7CiAJCQl9CiAJCQllbHNlIGlmIChw dHItPnZhcmlhYmxlLT50eXBlLT50eXBlID09IEVDUEd0X3N0cnVjdAogCQkJ CQkgfHwgcHRyLT52YXJpYWJsZS0+dHlwZS0+dHlwZSA9PSBFQ1BHdF91bmlv bikKIAkJCXsKQEAgLTU0MywxMCArNTQ3LDExIEBACiAJCXRoaXMtPnR5cGUt PnR5cGVfc2l6ZW9mID0gRUNQR3N0cnVjdF9zaXplb2Y7CiAJCXRoaXMtPnN0 cnVjdF9tZW1iZXJfbGlzdCA9ICh0eXBlX2VudW0gPT0gRUNQR3Rfc3RydWN0 IHx8IHR5cGVfZW51bSA9PSBFQ1BHdF91bmlvbikgPwogCQlFQ1BHc3RydWN0 X21lbWJlcl9kdXAoc3RydWN0X21lbWJlcl9saXN0W3N0cnVjdF9sZXZlbF0p IDogTlVMTDsKIAogCQlpZiAodHlwZV9lbnVtICE9IEVDUEd0X3ZhcmNoYXIg JiYKKwkJCXR5cGVfZW51bSAhPSBFQ1BHdF9udmFyY2hhciAmJgogCQkJdHlw ZV9lbnVtICE9IEVDUEd0X2NoYXIgJiYKIAkJCXR5cGVfZW51bSAhPSBFQ1BH dF91bnNpZ25lZF9jaGFyICYmCiAJCQl0eXBlX2VudW0gIT0gRUNQR3Rfc3Ry aW5nICYmCiAJCQlhdG9pKHRoaXMtPnR5cGUtPnR5cGVfaW5kZXgpID49IDAp CiAJCQltbWVycm9yKFBBUlNFX0VSUk9SLCBFVF9FUlJPUiwgIm11bHRpZGlt ZW5zaW9uYWwgYXJyYXlzIGZvciBzaW1wbGUgZGF0YSB0eXBlcyBhcmUgbm90 IHN1cHBvcnRlZCIpOwpkaWZmIC1VIDUgLU4gLXIgLXcgLi4vb3JpZy5IRUFE L3NyYy9pbnRlcmZhY2VzL2VjcGcvcHJlcHJvYy9lY3BnLnRva2VucyAuL3Ny Yy9pbnRlcmZhY2VzL2VjcGcvcHJlcHJvYy9lY3BnLnRva2VucwotLS0gLi4v b3JpZy5IRUFEL3NyYy9pbnRlcmZhY2VzL2VjcGcvcHJlcHJvYy9lY3BnLnRv a2VucwkyMDEzLTA4LTE5IDIwOjIyOjEzLjAwMDAwMDAwMCAtMDQwMAorKysg Li9zcmMvaW50ZXJmYWNlcy9lY3BnL3ByZXByb2MvZWNwZy50b2tlbnMJMjAx My0wOC0yMCAwNTowNzo1Mi4wMDAwMDAwMDAgLTA0MDAKQEAgLTE0LDE0ICsx NCwxNiBAQAogICAgICAgICAgICAgICAgIFNRTF9SRVRVUk5FRF9MRU5HVEgg U1FMX1JFVFVSTkVEX09DVEVUX0xFTkdUSCBTUUxfU0NBTEUKICAgICAgICAg ICAgICAgICBTUUxfU0VDVElPTiBTUUxfU0hPUlQgU1FMX1NJR05FRCBTUUxf U1FMIFNRTF9TUUxFUlJPUgogICAgICAgICAgICAgICAgIFNRTF9TUUxQUklO VCBTUUxfU1FMV0FSTklORyBTUUxfU1RBUlQgU1FMX1NUT1AKICAgICAgICAg ICAgICAgICBTUUxfU1RSVUNUIFNRTF9VTlNJR05FRCBTUUxfVkFSIFNRTF9X SEVORVZFUgogCisKIC8qIEMgdG9rZW5zICovCiAldG9rZW4gIFNfQUREIFNf QU5EIFNfQU5ZVEhJTkcgU19BVVRPIFNfQ09OU1QgU19ERUMgU19ESVYKICAg ICAgICAgICAgICAgICBTX0RPVFBPSU5UIFNfRVFVQUwgU19FWFRFUk4gU19J TkMgU19MU0hJRlQgU19NRU1QT0lOVAogICAgICAgICAgICAgICAgIFNfTUVN QkVSIFNfTU9EIFNfTVVMIFNfTkVRVUFMIFNfT1IgU19SRUdJU1RFUiBTX1JT SElGVAogICAgICAgICAgICAgICAgIFNfU1RBVElDIFNfU1VCIFNfVk9MQVRJ TEUKICAgICAgICAgICAgICAgICBTX1RZUEVERUYKIAogJXRva2VuIENTVFJJ TkcgQ1ZBUklBQkxFIENQUF9MSU5FIElQCiAldG9rZW4gRE9MQ09OU1QgRUNP TlNUIE5DT05TVCBVQ09OU1QgVUlERU5UCisKZGlmZiAtVSA1IC1OIC1yIC13 IC4uL29yaWcuSEVBRC9zcmMvaW50ZXJmYWNlcy9lY3BnL3ByZXByb2MvZWNw Zy50cmFpbGVyIC4vc3JjL2ludGVyZmFjZXMvZWNwZy9wcmVwcm9jL2VjcGcu dHJhaWxlcgotLS0gLi4vb3JpZy5IRUFEL3NyYy9pbnRlcmZhY2VzL2VjcGcv cHJlcHJvYy9lY3BnLnRyYWlsZXIJMjAxMy0wOC0xOSAyMDoyMjoxMy4wMDAw MDAwMDAgLTA0MDAKKysrIC4vc3JjL2ludGVyZmFjZXMvZWNwZy9wcmVwcm9j L2VjcGcudHJhaWxlcgkyMDEzLTA4LTIwIDA1OjA3OjMyLjAwMDAwMDAwMCAt MDQwMApAQCAtMTg0LDExICsxODQsMTEgQEAKIAkJCS8qIGlmIGFycmF5IHNl ZSB3aGF0J3MgaW5zaWRlICovCiAJCQlpZiAodHlwZSA9PSBFQ1BHdF9hcnJh eSkKIAkJCQl0eXBlID0gYXJnc2luc2VydC0+dmFyaWFibGUtPnR5cGUtPnUu ZWxlbWVudC0+dHlwZTsKIAogCQkJLyogaGFuZGxlIHZhcmNoYXJzICovCi0J CQlpZiAodHlwZSA9PSBFQ1BHdF92YXJjaGFyKQorCQkJaWYgKHR5cGUgPT0g RUNQR3RfdmFyY2hhciB8fCB0eXBlID09IEVDUEd0X252YXJjaGFyKQogCQkJ CSQkID0gbWFrZTJfc3RyKG1tX3N0cmR1cChhcmdzaW5zZXJ0LT52YXJpYWJs ZS0+bmFtZSksIG1tX3N0cmR1cCgiLmFyciIpKTsKIAkJCWVsc2UKIAkJCQkk JCA9IG1tX3N0cmR1cChhcmdzaW5zZXJ0LT52YXJpYWJsZS0+bmFtZSk7CiAJ CX0KIAkJOwpAQCAtMjA5LDE1ICsyMDksMTcgQEAKIAkJCQkJdHlwZSA9IHAt PnR5cGUtPnUuZWxlbWVudC0+dHlwZTsKIAogCQkJCXN3aXRjaCAodHlwZSkK IAkJCQl7CiAJCQkJCWNhc2UgRUNQR3RfY2hhcjoKKwkJCQkJY2FzZSBFQ1BH dF9uY2hhcjoKIAkJCQkJY2FzZSBFQ1BHdF91bnNpZ25lZF9jaGFyOgogCQkJ CQljYXNlIEVDUEd0X3N0cmluZzoKIAkJCQkJCSQkID0gJDE7CiAJCQkJCQli cmVhazsKIAkJCQkJY2FzZSBFQ1BHdF92YXJjaGFyOgorCQkJCQljYXNlIEVD UEd0X252YXJjaGFyOgogCQkJCQkJJCQgPSBtYWtlMl9zdHIoJDEsIG1tX3N0 cmR1cCgiLmFyciIpKTsKIAkJCQkJCWJyZWFrOwogCQkJCQlkZWZhdWx0Ogog CQkJCQkJbW1lcnJvcihQQVJTRV9FUlJPUiwgRVRfRVJST1IsICJpbnZhbGlk IGRhdGEgdHlwZSIpOwogCQkJCQkJJCQgPSAkMTsKQEAgLTU0OCwxMCArNTUw LDI2IEBACiAJCQkJJCQudHlwZV9zdHIgPSBFTVBUWTsgLyptbV9zdHJkdXAo InZhcmNoYXIiKTsqLwogCQkJCSQkLnR5cGVfZGltZW5zaW9uID0gbW1fc3Ry ZHVwKCItMSIpOwogCQkJCSQkLnR5cGVfaW5kZXggPSBtbV9zdHJkdXAoIi0x Iik7CiAJCQkJJCQudHlwZV9zaXplb2YgPSBOVUxMOwogCQkJfQorCQkJZWxz ZSBpZiAoc3RyY21wKCQxLCAibnZhcmNoYXIiKSA9PSAwKQorICAgICAgICAg ICAgeworICAgICAgICAgICAgICAgICQkLnR5cGVfZW51bSA9IEVDUEd0X252 YXJjaGFyOworICAgICAgICAgICAgICAgICQkLnR5cGVfc3RyID0gRU1QVFk7 IC8qbW1fc3RyZHVwKCJudmFyY2hhciIpOyovCisgICAgICAgICAgICAgICAg JCQudHlwZV9kaW1lbnNpb24gPSBtbV9zdHJkdXAoIi0xIik7CisgICAgICAg ICAgICAgICAgJCQudHlwZV9pbmRleCA9IG1tX3N0cmR1cCgiLTEiKTsKKyAg ICAgICAgICAgICAgICAkJC50eXBlX3NpemVvZiA9IE5VTEw7CisgICAgICAg ICAgICB9CisgICAgICAgICAgICBlbHNlIGlmIChzdHJjbXAoJDEsICJuY2hh ciIpID09IDApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgJCQu dHlwZV9lbnVtID0gRUNQR3RfbmNoYXI7CisgICAgICAgICAgICAgICAgJCQu dHlwZV9zdHIgPSBFTVBUWTsgLyptbV9zdHJkdXAoIm5jaGFyIik7Ki8KKyAg ICAgICAgICAgICAgICAkJC50eXBlX2RpbWVuc2lvbiA9IG1tX3N0cmR1cCgi LTEiKTsKKyAgICAgICAgICAgICAgICAkJC50eXBlX2luZGV4ID0gbW1fc3Ry ZHVwKCItMSIpOworICAgICAgICAgICAgICAgICQkLnR5cGVfc2l6ZW9mID0g TlVMTDsKKyAgICAgICAgICAgIH0KIAkJCWVsc2UgaWYgKHN0cmNtcCgkMSwg ImZsb2F0IikgPT0gMCkKIAkJCXsKIAkJCQkkJC50eXBlX2VudW0gPSBFQ1BH dF9mbG9hdDsKIAkJCQkkJC50eXBlX3N0ciA9IG1tX3N0cmR1cCgiZmxvYXQi KTsKIAkJCQkkJC50eXBlX2RpbWVuc2lvbiA9IG1tX3N0cmR1cCgiLTEiKTsK QEAgLTYyNSwxMSArNjQzLDExIEBACiAJCQllbHNlCiAJCQl7CiAJCQkJLyog dGhpcyBpcyBmb3IgdHlwZWRlZidlZCB0eXBlcyAqLwogCQkJCXN0cnVjdCB0 eXBlZGVmcyAqdGhpcyA9IGdldF90eXBlZGVmKCQxKTsKIAotCQkJCSQkLnR5 cGVfc3RyID0gKHRoaXMtPnR5cGUtPnR5cGVfZW51bSA9PSBFQ1BHdF92YXJj aGFyKSA/IEVNUFRZIDogbW1fc3RyZHVwKHRoaXMtPm5hbWUpOworCQkJCSQk LnR5cGVfc3RyID0gKHRoaXMtPnR5cGUtPnR5cGVfZW51bSA9PSBFQ1BHdF92 YXJjaGFyIHx8IHRoaXMtPnR5cGUtPnR5cGVfZW51bSA9PSBFQ1BHdF9udmFy Y2hhcikgPyBFTVBUWSA6IG1tX3N0cmR1cCh0aGlzLT5uYW1lKTsKIAkJCQkk JC50eXBlX2VudW0gPSB0aGlzLT50eXBlLT50eXBlX2VudW07CiAJCQkJJCQu dHlwZV9kaW1lbnNpb24gPSB0aGlzLT50eXBlLT50eXBlX2RpbWVuc2lvbjsK IAkJCQkkJC50eXBlX2luZGV4ID0gdGhpcy0+dHlwZS0+dHlwZV9pbmRleDsK IAkJCQlpZiAodGhpcy0+dHlwZS0+dHlwZV9zaXplb2YgJiYgc3RybGVuKHRo aXMtPnR5cGUtPnR5cGVfc2l6ZW9mKSAhPSAwKQogCQkJCQkkJC50eXBlX3Np emVvZiA9IHRoaXMtPnR5cGUtPnR5cGVfc2l6ZW9mOwpAQCAtODYwLDEwICs4 NzgsMTEgQEAKIAkJCQkJCXR5cGUgPSBFQ1BHbWFrZV9hcnJheV90eXBlKEVD UEdtYWtlX3N0cnVjdF90eXBlKHN0cnVjdF9tZW1iZXJfbGlzdFtzdHJ1Y3Rf bGV2ZWxdLCBhY3R1YWxfdHlwZVtzdHJ1Y3RfbGV2ZWxdLnR5cGVfZW51bSwg YWN0dWFsX3R5cGVbc3RydWN0X2xldmVsXS50eXBlX3N0ciwgYWN0dWFsX3R5 cGVbc3RydWN0X2xldmVsXS50eXBlX3NpemVvZiksIGRpbWVuc2lvbik7CiAK IAkJCQkJJCQgPSBjYXRfc3RyKDUsICQxLCBtbV9zdHJkdXAoJDIpLCAkMy5z dHIsICQ0LCAkNSk7CiAJCQkJCWJyZWFrOwogCisJCQkJY2FzZSBFQ1BHdF9u dmFyY2hhcjoKIAkJCQljYXNlIEVDUEd0X3ZhcmNoYXI6CiAJCQkJCWlmIChh dG9pKGRpbWVuc2lvbikgPCAwKQogCQkJCQkJdHlwZSA9IEVDUEdtYWtlX3Np bXBsZV90eXBlKGFjdHVhbF90eXBlW3N0cnVjdF9sZXZlbF0udHlwZV9lbnVt LCBsZW5ndGgsIHZhcmNoYXJfY291bnRlcik7CiAJCQkJCWVsc2UKIAkJCQkJ CXR5cGUgPSBFQ1BHbWFrZV9hcnJheV90eXBlKEVDUEdtYWtlX3NpbXBsZV90 eXBlKGFjdHVhbF90eXBlW3N0cnVjdF9sZXZlbF0udHlwZV9lbnVtLCBsZW5n dGgsIHZhcmNoYXJfY291bnRlciksIGRpbWVuc2lvbik7CkBAIC04ODQsMTAg KzkwMywyOSBAQAogCQkJCQllbHNlCiAJCQkJCQkkJCA9IGNhdF9zdHIoOCwg bWFrZTJfc3RyKG1tX3N0cmR1cCgiIHN0cnVjdCB2YXJjaGFyXyIpLCB2Y24p LCBtbV9zdHJkdXAoIiB7IGludCBsZW47IGNoYXIgYXJyWyIpLCBtbV9zdHJk dXAobGVuZ3RoKSwgbW1fc3RyZHVwKCJdOyB9ICIpLCBtbV9zdHJkdXAoJDIp LCBkaW1fc3RyLCAkNCwgJDUpOwogCQkJCQl2YXJjaGFyX2NvdW50ZXIrKzsK IAkJCQkJYnJlYWs7CiAKKwkJCQljYXNlIEVDUEd0X25jaGFyOgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhdG9pKGRp bWVuc2lvbikgPT0gLTEpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgaW50IGkgPSBzdHJsZW4oJDUpOworCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp ZiAoYXRvaShsZW5ndGgpID09IC0xICYmIGkgPiAwKSAvKiBjaGFyIDx2YXI+ W10gPSAic3RyaW5nIiAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBpZiB3ZSBo YXZlIGFuIGluaXRpYWxpemVyIGJ1dCBubyBzdHJpbmcgc2l6ZSBzZXQsIGxl dCdzIHVzZSB0aGUgaW5pdGlhbGl6ZXIncyBsZW5ndGggKi8KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZnJlZShsZW5ndGgpOworICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGggPSBtbV9hbGxv YyhpK3NpemVvZigic2l6ZW9mKCkiKSk7CisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwcmludGYo bGVuZ3RoLCAic2l6ZW9mKCVzKSIsICQ1KzIpOworICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSA9 IEVDUEdtYWtlX3NpbXBsZV90eXBlKGFjdHVhbF90eXBlW3N0cnVjdF9sZXZl bF0udHlwZV9lbnVtLCBsZW5ndGgsIDApOworICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlID0gRUNQR21ha2Vf YXJyYXlfdHlwZShFQ1BHbWFrZV9zaW1wbGVfdHlwZShhY3R1YWxfdHlwZVtz dHJ1Y3RfbGV2ZWxdLnR5cGVfZW51bSwgbGVuZ3RoLCAwKSwgZGltZW5zaW9u KTsKKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICQkID0gY2F0X3N0cig2LCBtbV9zdHJkdXAoImNoYXIiKSwgJDEsIG1tX3N0 cmR1cCgkMiksICQzLnN0ciwgJDQsICQ1KTsKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKIAkJCQljYXNlIEVDUEd0 X2NoYXI6CiAJCQkJY2FzZSBFQ1BHdF91bnNpZ25lZF9jaGFyOgogCQkJCWNh c2UgRUNQR3Rfc3RyaW5nOgogCQkJCQlpZiAoYXRvaShkaW1lbnNpb24pID09 IC0xKQogCQkJCQl7CkBAIC0xMzQ2LDE4ICsxMzg0LDIwIEBACiAJCQkJCQkJ dHlwZSA9IEVDUEdtYWtlX3N0cnVjdF90eXBlKHN0cnVjdF9tZW1iZXJfbGlz dFtzdHJ1Y3RfbGV2ZWxdLCAkNS50eXBlX2VudW0sICQ1LnR5cGVfc3RyLCAk NS50eXBlX3NpemVvZik7CiAJCQkJCQllbHNlCiAJCQkJCQkJdHlwZSA9IEVD UEdtYWtlX2FycmF5X3R5cGUoRUNQR21ha2Vfc3RydWN0X3R5cGUoc3RydWN0 X21lbWJlcl9saXN0W3N0cnVjdF9sZXZlbF0sICQ1LnR5cGVfZW51bSwgJDUu dHlwZV9zdHIsICQ1LnR5cGVfc2l6ZW9mKSwgZGltZW5zaW9uKTsKIAkJCQkJ CWJyZWFrOwogCisJCQkJCWNhc2UgRUNQR3RfbnZhcmNoYXI6CiAJCQkJCWNh c2UgRUNQR3RfdmFyY2hhcjoKIAkJCQkJCWlmIChhdG9pKGRpbWVuc2lvbikg PT0gLTEpCiAJCQkJCQkJdHlwZSA9IEVDUEdtYWtlX3NpbXBsZV90eXBlKCQ1 LnR5cGVfZW51bSwgbGVuZ3RoLCAwKTsKIAkJCQkJCWVsc2UKIAkJCQkJCQl0 eXBlID0gRUNQR21ha2VfYXJyYXlfdHlwZShFQ1BHbWFrZV9zaW1wbGVfdHlw ZSgkNS50eXBlX2VudW0sIGxlbmd0aCwgMCksIGRpbWVuc2lvbik7CiAJCQkJ CQlicmVhazsKIAogCQkJCQljYXNlIEVDUEd0X2NoYXI6CisJCQkJCWNhc2Ug RUNQR3RfbmNoYXI6CiAJCQkJCWNhc2UgRUNQR3RfdW5zaWduZWRfY2hhcjoK IAkJCQkJY2FzZSBFQ1BHdF9zdHJpbmc6CiAJCQkJCQlpZiAoYXRvaShkaW1l bnNpb24pID09IC0xKQogCQkJCQkJCXR5cGUgPSBFQ1BHbWFrZV9zaW1wbGVf dHlwZSgkNS50eXBlX2VudW0sIGxlbmd0aCwgMCk7CiAJCQkJCQllbHNlCkBA IC0xODQyLDEwICsxODgyLDEyIEBACiAJCXwgQ0hBUl9QCQkJeyAkJCA9IG1t X3N0cmR1cCgiY2hhciIpOyB9CiAJCXwgRkxPQVRfUAkJCXsgJCQgPSBtbV9z dHJkdXAoImZsb2F0Iik7IH0KIAkJfCBUTwkJCQl7ICQkID0gbW1fc3RyZHVw KCJ0byIpOyB9CiAJCXwgVU5JT04JCQkJeyAkJCA9IG1tX3N0cmR1cCgidW5p b24iKTsgfQogCQl8IFZBUkNIQVIJCQl7ICQkID0gbW1fc3RyZHVwKCJ2YXJj aGFyIik7IH0KKwkJfCBOVkFSQ0hBUgkJCXsgJCQgPSBtbV9zdHJkdXAoIm52 YXJjaGFyIik7IH0KKwkJfCBOQ0hBUgkJCQl7ICQkID0gbW1fc3RyZHVwKCJu Y2hhciIpOyB9CiAJCXwgJ1snCQkJCXsgJCQgPSBtbV9zdHJkdXAoIlsiKTsg fQogCQl8ICddJwkJCQl7ICQkID0gbW1fc3RyZHVwKCJdIik7IH0KIAkJfCAn PScJCQkJeyAkJCA9IG1tX3N0cmR1cCgiPSIpOyB9CiAJCXwgJzonCQkJCXsg JCQgPSBtbV9zdHJkdXAoIjoiKTsgfQogCQk7CmRpZmYgLVUgNSAtTiAtciAt dyAuLi9vcmlnLkhFQUQvc3JjL2ludGVyZmFjZXMvZWNwZy9wcmVwcm9jL3R5 cGUuYyAuL3NyYy9pbnRlcmZhY2VzL2VjcGcvcHJlcHJvYy90eXBlLmMKLS0t IC4uL29yaWcuSEVBRC9zcmMvaW50ZXJmYWNlcy9lY3BnL3ByZXByb2MvdHlw ZS5jCTIwMTMtMDgtMTkgMjA6MjI6MTMuMDAwMDAwMDAwIC0wNDAwCisrKyAu L3NyYy9pbnRlcmZhY2VzL2VjcGcvcHJlcHJvYy90eXBlLmMJMjAxMy0wOC0y MCAwNTowODo1MS4wMDAwMDAwMDAgLTA0MDAKQEAgLTEzNSwxMCArMTM1LDEz IEBACiAJc3dpdGNoICh0eXBlKQogCXsKIAkJY2FzZSBFQ1BHdF9jaGFyOgog CQkJcmV0dXJuICgiRUNQR3RfY2hhciIpOwogCQkJYnJlYWs7CisJCWNhc2Ug RUNQR3RfbmNoYXI6CisJCQlyZXR1cm4gKCJFQ1BHdF9uY2hhciIpOworCQkJ YnJlYWs7CiAJCWNhc2UgRUNQR3RfdW5zaWduZWRfY2hhcjoKIAkJCXJldHVy biAoIkVDUEd0X3Vuc2lnbmVkX2NoYXIiKTsKIAkJCWJyZWFrOwogCQljYXNl IEVDUEd0X3Nob3J0OgogCQkJcmV0dXJuICgiRUNQR3Rfc2hvcnQiKTsKQEAg LTE3MywxMCArMTc2LDE0IEBACiAJCWNhc2UgRUNQR3RfYm9vbDoKIAkJCXJl dHVybiAoIkVDUEd0X2Jvb2wiKTsKIAkJCWJyZWFrOwogCQljYXNlIEVDUEd0 X3ZhcmNoYXI6CiAJCQlyZXR1cm4gKCJFQ1BHdF92YXJjaGFyIik7CisJCQli cmVhazsKKwkJY2FzZSBFQ1BHdF9udmFyY2hhcjoKKwkJCXJldHVybiAoIkVD UEd0X252YXJjaGFyIik7CisJCQlicmVhazsKIAkJY2FzZSBFQ1BHdF9OT19J TkRJQ0FUT1I6CQkvKiBubyBpbmRpY2F0b3IgKi8KIAkJCXJldHVybiAoIkVD UEd0X05PX0lORElDQVRPUiIpOwogCQkJYnJlYWs7CiAJCWNhc2UgRUNQR3Rf Y2hhcl92YXJpYWJsZToJCS8qIHN0cmluZyB0aGF0IHNob3VsZCBub3QgYmUg cXVvdGVkICovCiAJCQlyZXR1cm4gKCJFQ1BHdF9jaGFyX3ZhcmlhYmxlIik7 CkBAIC0zODEsMTIgKzM4OCwxMiBAQAogCQkJCS8qCiAJCQkJICogd2UgaGF2 ZSB0byB1c2UgdGhlICYgb3BlcmF0b3IgZXhjZXB0IGZvciBhcnJheXMgYW5k CiAJCQkJICogcG9pbnRlcnMKIAkJCQkgKi8KIAorCQkJY2FzZSBFQ1BHdF9u dmFyY2hhcjoKIAkJCWNhc2UgRUNQR3RfdmFyY2hhcjoKLQogCQkJCS8qCiAJ CQkJICogd2UgaGF2ZSB0byB1c2UgdGhlIHBvaW50ZXIgZXhjZXB0IGZvciBh cnJheXMgd2l0aCBnaXZlbgogCQkJCSAqIGJvdW5kcwogCQkJCSAqLwogCQkJ CWlmICgoKGF0b2koYXJyc2l6ZSkgPiAwKSB8fApAQCAtNDA0LDEwICs0MTEs MTEgQEAKIAkJCQkJc3ByaW50ZihvZmZzZXQsICJzaXplb2Yoc3RydWN0IHZh cmNoYXJfJWQpIiwgY291bnRlcik7CiAJCQkJZWxzZQogCQkJCQlzcHJpbnRm KG9mZnNldCwgInNpemVvZihzdHJ1Y3QgdmFyY2hhcikiKTsKIAkJCQlicmVh azsKIAkJCWNhc2UgRUNQR3RfY2hhcjoKKwkJCWNhc2UgRUNQR3RfbmNoYXI6 CiAJCQljYXNlIEVDUEd0X3Vuc2lnbmVkX2NoYXI6CiAJCQljYXNlIEVDUEd0 X2NoYXJfdmFyaWFibGU6CiAJCQljYXNlIEVDUEd0X3N0cmluZzoKIAogCQkJ CS8qCmRpZmYgLVUgNSAtTiAtciAtdyAuLi9vcmlnLkhFQUQvc3JjL2ludGVy ZmFjZXMvZWNwZy9wcmVwcm9jL3ZhcmlhYmxlLmMgLi9zcmMvaW50ZXJmYWNl cy9lY3BnL3ByZXByb2MvdmFyaWFibGUuYwotLS0gLi4vb3JpZy5IRUFEL3Ny Yy9pbnRlcmZhY2VzL2VjcGcvcHJlcHJvYy92YXJpYWJsZS5jCTIwMTMtMDgt MTkgMjA6MjI6MTMuMDAwMDAwMDAwIC0wNDAwCisrKyAuL3NyYy9pbnRlcmZh Y2VzL2VjcGcvcHJlcHJvYy92YXJpYWJsZS5jCTIwMTMtMDgtMjAgMDU6MDQ6 MDguMDAwMDAwMDAwIC0wNDAwCkBAIC01MjcsMTEgKzUyNywxMSBAQAogCWlm IChwb2ludGVyX2xlbiA+IDIpCiAJCW1tZXJyb3IoUEFSU0VfRVJST1IsIEVU X0ZBVEFMLCBuZ2V0dGV4dCgibXVsdGlsZXZlbCBwb2ludGVycyAobW9yZSB0 aGFuIDIgbGV2ZWxzKSBhcmUgbm90IHN1cHBvcnRlZDsgZm91bmQgJWQgbGV2 ZWwiLAogCQkJCQkJCQkJCQkJIm11bHRpbGV2ZWwgcG9pbnRlcnMgKG1vcmUg dGhhbiAyIGxldmVscykgYXJlIG5vdCBzdXBwb3J0ZWQ7IGZvdW5kICVkIGxl dmVscyIsIHBvaW50ZXJfbGVuKSwKIAkJCQlwb2ludGVyX2xlbik7CiAKLQlp ZiAocG9pbnRlcl9sZW4gPiAxICYmIHR5cGVfZW51bSAhPSBFQ1BHdF9jaGFy ICYmIHR5cGVfZW51bSAhPSBFQ1BHdF91bnNpZ25lZF9jaGFyICYmIHR5cGVf ZW51bSAhPSBFQ1BHdF9zdHJpbmcpCisJaWYgKHBvaW50ZXJfbGVuID4gMSAm JiB0eXBlX2VudW0gIT0gRUNQR3RfY2hhciAmJiB0eXBlX2VudW0gIT0gRUNQ R3RfbmNoYXIgJiYgdHlwZV9lbnVtICE9IEVDUEd0X3Vuc2lnbmVkX2NoYXIg JiYgdHlwZV9lbnVtICE9IEVDUEd0X3N0cmluZykKIAkJbW1lcnJvcihQQVJT RV9FUlJPUiwgRVRfRkFUQUwsICJwb2ludGVyIHRvIHBvaW50ZXIgaXMgbm90 IHN1cHBvcnRlZCBmb3IgdGhpcyBkYXRhIHR5cGUiKTsKIAogCWlmIChwb2lu dGVyX2xlbiA+IDEgJiYgKGF0b2koKmxlbmd0aCkgPj0gMCB8fCBhdG9pKCpk aW1lbnNpb24pID49IDApKQogCQltbWVycm9yKFBBUlNFX0VSUk9SLCBFVF9G QVRBTCwgIm11bHRpZGltZW5zaW9uYWwgYXJyYXlzIGFyZSBub3Qgc3VwcG9y dGVkIik7CiAKQEAgLTU1MiwxMCArNTUyLDExIEBACiAJCQlpZiAoYXRvaSgq bGVuZ3RoKSA+PSAwKQogCQkJCW1tZXJyb3IoUEFSU0VfRVJST1IsIEVUX0ZB VEFMLCAibXVsdGlkaW1lbnNpb25hbCBhcnJheXMgZm9yIHN0cnVjdHVyZXMg YXJlIG5vdCBzdXBwb3J0ZWQiKTsKIAogCQkJYnJlYWs7CiAJCWNhc2UgRUNQ R3RfdmFyY2hhcjoKKwkJY2FzZSBFQ1BHdF9udmFyY2hhcjoKIAkJCS8qIHBv aW50ZXIgaGFzIHRvIGdldCBkaW1lbnNpb24gMCAqLwogCQkJaWYgKHBvaW50 ZXJfbGVuKQogCQkJCSpkaW1lbnNpb24gPSBtbV9zdHJkdXAoIjAiKTsKIAog CQkJLyogb25lIGluZGV4IGlzIHRoZSBzdHJpbmcgbGVuZ3RoICovCkBAIC01 NjUsMTAgKzU2NiwxMSBAQAogCQkJCSpkaW1lbnNpb24gPSBtbV9zdHJkdXAo Ii0xIik7CiAJCQl9CiAKIAkJCWJyZWFrOwogCQljYXNlIEVDUEd0X2NoYXI6 CisgICAgICAgICAgICAgICAgY2FzZSBFQ1BHdF9uY2hhcjoKIAkJY2FzZSBF Q1BHdF91bnNpZ25lZF9jaGFyOgogCQljYXNlIEVDUEd0X3N0cmluZzoKIAkJ CS8qIGNoYXIgKiogKi8KIAkJCWlmIChwb2ludGVyX2xlbiA9PSAyKQogCQkJ ewpkaWZmIC1VIDUgLU4gLXIgLXcgLi4vb3JpZy5IRUFEL3NyYy9pbnRlcmZh Y2VzL2VjcGcvdGVzdC9leHBlY3RlZC9jb21wYXRfaW5mb3JtaXgtc3FsZGEu YyAuL3NyYy9pbnRlcmZhY2VzL2VjcGcvdGVzdC9leHBlY3RlZC9jb21wYXRf aW5mb3JtaXgtc3FsZGEuYwotLS0gLi4vb3JpZy5IRUFEL3NyYy9pbnRlcmZh Y2VzL2VjcGcvdGVzdC9leHBlY3RlZC9jb21wYXRfaW5mb3JtaXgtc3FsZGEu YwkyMDEzLTA4LTE5IDIwOjIyOjEzLjAwMDAwMDAwMCAtMDQwMAorKysgLi9z cmMvaW50ZXJmYWNlcy9lY3BnL3Rlc3QvZXhwZWN0ZWQvY29tcGF0X2luZm9y bWl4LXNxbGRhLmMJMjAxMy0wOC0xOSAyMDo1NDowMC4wMDAwMDAwMDAgLTA0 MDAKQEAgLTk1LDEwICs5NSwxMSBAQAogI2RlZmluZQlTUUxURVhUCQlFQ1BH dF9jaGFyCiAjZGVmaW5lCVNRTFZDSEFSCUVDUEd0X2NoYXIKICNkZWZpbmUg U1FMSU5URVJWQUwgICAgIEVDUEd0X2ludGVydmFsCiAjZGVmaW5lCVNRTE5D SEFSCUVDUEd0X2NoYXIKICNkZWZpbmUJU1FMTlZDSEFSCUVDUEd0X2NoYXIK KyNkZWZpbmUgU1FMTlZBUkNIQVIgICAgIEVDUEd0X2NoYXIKICNpZmRlZiBI QVZFX0xPTkdfTE9OR19JTlRfNjQKICNkZWZpbmUJU1FMSU5UOAkJRUNQR3Rf bG9uZ19sb25nCiAjZGVmaW5lCVNRTFNFUklBTDgJRUNQR3RfbG9uZ19sb25n CiAjZWxzZQogI2RlZmluZQlTUUxJTlQ4CQlFQ1BHdF9sb25nCmRpZmYgLVUg NSAtTiAtciAtdyAuLi9vcmlnLkhFQUQvc3JjL2ludGVyZmFjZXMvZWNwZy90 ZXN0L2V4cGVjdGVkL3ByZXByb2MtdHlwZS5jIC4vc3JjL2ludGVyZmFjZXMv ZWNwZy90ZXN0L2V4cGVjdGVkL3ByZXByb2MtdHlwZS5jCi0tLSAuLi9vcmln LkhFQUQvc3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L2V4cGVjdGVkL3ByZXBy b2MtdHlwZS5jCTIwMTMtMDgtMTkgMjA6MjI6MTMuMDAwMDAwMDAwIC0wNDAw CisrKyAuL3NyYy9pbnRlcmZhY2VzL2VjcGcvdGVzdC9leHBlY3RlZC9wcmVw cm9jLXR5cGUuYwkyMDEzLTA4LTE5IDIwOjU0OjAwLjAwMDAwMDAwMCAtMDQw MApAQCAtODEsMTAgKzgxLDIxIEBACiAgIAogICAJIAogCSAKICAgIAogICAK KyAgCisgICAgICAgICAKKyAgICAgICAgIAorICAgCisgICAKKyAgCisgICAg ICAgICAKKyAgICAgICAgIAorICAgCisKKyAgCiAjbGluZSAyOSAidHlwZS5w Z2MiCiAgc3RydWN0IFRCZW1wbCBlbXBsIDsKICAKICNsaW5lIDMwICJ0eXBl LnBnYyIKICBzdHJpbmcgc3RyIDsKQEAgLTk4LDQ4ICsxMDksNzIgQEAKICBp bnQgbGVuIDsKICAKICNsaW5lIDM1ICJ0eXBlLnBnYyIKICBjaGFyIHRleHQg WyAxMCBdIDsKICB9IHZjIDsKKyAKKyNsaW5lIDQxICJ0eXBlLnBnYyIKKyBz dHJ1Y3QgbnZhcmNoYXIgeyAKKyNsaW5lIDM5ICJ0eXBlLnBnYyIKKyBpbnQg bGVuIDsKKyAKKyNsaW5lIDQwICJ0eXBlLnBnYyIKKyBjaGFyIHRleHQgWyAx MCBdIDsKKyB9IG52YyA7CisgCisjbGluZSA0NiAidHlwZS5wZ2MiCisgc3Ry dWN0IHV2YXJjaGFyIHsgCisjbGluZSA0NCAidHlwZS5wZ2MiCisgaW50IGxl biA7CisgCisjbGluZSA0NSAidHlwZS5wZ2MiCisgY2hhciB0ZXh0IFsgMjAg XSA7CisgfSB1dmMgOwogLyogZXhlYyBzcWwgZW5kIGRlY2xhcmUgc2VjdGlv biAqLwotI2xpbmUgMzcgInR5cGUucGdjIgorI2xpbmUgNDggInR5cGUucGdj IgogCiAKICAgLyogZXhlYyBzcWwgdmFyIHZjIGlzIFsgMTAgXSAqLwotI2xp bmUgMzkgInR5cGUucGdjIgorI2xpbmUgNTAgInR5cGUucGdjIgorCisgIC8q IGV4ZWMgc3FsIHZhciBudmMgaXMgWyAxMCBdICovCisjbGluZSA1MSAidHlw ZS5wZ2MiCisKKyAgLyogZXhlYyBzcWwgdmFyIHV2YyBpcyBbIDIwIF0gKi8K KyNsaW5lIDUyICJ0eXBlLnBnYyIKIAogICBFQ1BHZGVidWcgKDEsIHN0ZGVy cik7CiAKICAgZW1wbC5pZG51bSA9IDE7CiAgIHsgRUNQR2Nvbm5lY3QoX19M SU5FX18sIDAsICJyZWdyZXNzMSIgLCBOVUxMLCBOVUxMICwgTlVMTCwgMCk7 IH0KLSNsaW5lIDQzICJ0eXBlLnBnYyIKKyNsaW5lIDU2ICJ0eXBlLnBnYyIK IAogICBpZiAoc3FsY2Euc3FsY29kZSkKICAgICB7CiAgICAgICBwcmludGYg KCJjb25uZWN0IGVycm9yID0gJWxkXG4iLCBzcWxjYS5zcWxjb2RlKTsKICAg ICAgIGV4aXQgKHNxbGNhLnNxbGNvZGUpOwogICAgIH0KIAotICB7IEVDUEdk byhfX0xJTkVfXywgMCwgMSwgTlVMTCwgMCwgRUNQR3N0X25vcm1hbCwgImNy ZWF0ZSB0YWJsZSBlbXBsICggaWRudW0gaW50ZWdlciAsIG5hbWUgY2hhciAo IDIwICkgLCBhY2NzIHNtYWxsaW50ICwgc3RyaW5nMSBjaGFyICggMTAgKSAs IHN0cmluZzIgY2hhciAoIDEwICkgLCBzdHJpbmczIGNoYXIgKCAxMCApICki LCBFQ1BHdF9FT0lULCBFQ1BHdF9FT1JUKTt9Ci0jbGluZSA1MSAidHlwZS5w Z2MiCisgIHsgRUNQR2RvKF9fTElORV9fLCAwLCAxLCBOVUxMLCAwLCBFQ1BH c3Rfbm9ybWFsLCAiY3JlYXRlIHRhYmxlIGVtcGwgKCBpZG51bSBpbnRlZ2Vy ICwgbmFtZSBjaGFyICggMjAgKSAsIGFjY3Mgc21hbGxpbnQgLCBzdHJpbmcx IGNoYXIgKCAxMCApICwgc3RyaW5nMiBjaGFyICggMTAgKSAsIHN0cmluZzMg Y2hhciAoIDEwICkgLCBzdHJpbmc0IGNoYXIgKCAxMCApICwgc3RyaW5nNSBj aGFyICggMTAgKSApIiwgRUNQR3RfRU9JVCwgRUNQR3RfRU9SVCk7fQorI2xp bmUgNjQgInR5cGUucGdjIgogCiAgIGlmIChzcWxjYS5zcWxjb2RlKQogICAg IHsKICAgICAgIHByaW50ZiAoImNyZWF0ZSBlcnJvciA9ICVsZFxuIiwgc3Fs Y2Euc3FsY29kZSk7CiAgICAgICBleGl0IChzcWxjYS5zcWxjb2RlKTsKICAg ICB9CiAKLSAgeyBFQ1BHZG8oX19MSU5FX18sIDAsIDEsIE5VTEwsIDAsIEVD UEdzdF9ub3JtYWwsICJpbnNlcnQgaW50byBlbXBsIHZhbHVlcyAoIDEgLCAn dXNlciBuYW1lJyAsIDMyMCAsICdmaXJzdCBzdHInICwgJ3NlY29uZCBzdHIn ICwgJ3RoaXJkIHN0cicgKSIsIEVDUEd0X0VPSVQsIEVDUEd0X0VPUlQpO30K LSNsaW5lIDU4ICJ0eXBlLnBnYyIKKyAgeyBFQ1BHZG8oX19MSU5FX18sIDAs IDEsIE5VTEwsIDAsIEVDUEdzdF9ub3JtYWwsICJpbnNlcnQgaW50byBlbXBs IHZhbHVlcyAoIDEgLCAndXNlciBuYW1lJyAsIDMyMCAsICdmaXJzdCBzdHIn ICwgJ3NlY29uZCBzdHInICwgJ3RoaXJkIHN0cicgLCAnZm91cnRoIHN0cicg LCAnZmlmdGggc3RyJyApIiwgRUNQR3RfRU9JVCwgRUNQR3RfRU9SVCk7fQor I2xpbmUgNzEgInR5cGUucGdjIgogCiAgIGlmIChzcWxjYS5zcWxjb2RlKQog ICAgIHsKICAgICAgIHByaW50ZiAoImluc2VydCBlcnJvciA9ICVsZFxuIiwg c3FsY2Euc3FsY29kZSk7CiAgICAgICBleGl0IChzcWxjYS5zcWxjb2RlKTsK ICAgICB9CiAKLSAgeyBFQ1BHZG8oX19MSU5FX18sIDAsIDEsIE5VTEwsIDAs IEVDUEdzdF9ub3JtYWwsICJzZWxlY3QgaWRudW0gLCBuYW1lICwgYWNjcyAs IHN0cmluZzEgLCBzdHJpbmcyICwgc3RyaW5nMyBmcm9tIGVtcGwgd2hlcmUg aWRudW0gPSAkMSAiLCAKKyAgeyBFQ1BHZG8oX19MSU5FX18sIDAsIDEsIE5V TEwsIDAsIEVDUEdzdF9ub3JtYWwsICJzZWxlY3QgaWRudW0gLCBuYW1lICwg YWNjcyAsIHN0cmluZzEgLCBzdHJpbmcyICwgc3RyaW5nMyAsIHN0cmluZzQg LCBzdHJpbmc1IGZyb20gZW1wbCB3aGVyZSBpZG51bSA9ICQxICIsIAogCUVD UEd0X2xvbmcsJihlbXBsLmlkbnVtKSwobG9uZykxLChsb25nKTEsc2l6ZW9m KGxvbmcpLCAKIAlFQ1BHdF9OT19JTkRJQ0FUT1IsIE5VTEwgLCAwTCwgMEws IDBMLCBFQ1BHdF9FT0lULCAKIAlFQ1BHdF9sb25nLCYoZW1wbC5pZG51bSks KGxvbmcpMSwobG9uZykxLHNpemVvZihsb25nKSwgCiAJRUNQR3RfTk9fSU5E SUNBVE9SLCBOVUxMICwgMEwsIDBMLCAwTCwgCiAJRUNQR3RfY2hhciwmKGVt cGwubmFtZSksKGxvbmcpMjEsKGxvbmcpMSwoMjEpKnNpemVvZihjaGFyKSwg CkBAIC0xNDksMjIgKzE4NCwyNyBAQAogCUVDUEd0X2NoYXIsKHN0ciksKGxv bmcpMTEsKGxvbmcpMSwoMTEpKnNpemVvZihjaGFyKSwgCiAJRUNQR3RfTk9f SU5ESUNBVE9SLCBOVUxMICwgMEwsIDBMLCAwTCwgCiAJRUNQR3RfY2hhciwm KHB0ciksKGxvbmcpMCwobG9uZykxLCgxKSpzaXplb2YoY2hhciksIAogCUVD UEd0X05PX0lORElDQVRPUiwgTlVMTCAsIDBMLCAwTCwgMEwsIAogCUVDUEd0 X3ZhcmNoYXIsJih2YyksKGxvbmcpMTAsKGxvbmcpMSxzaXplb2Yoc3RydWN0 IHZhcmNoYXIpLCAKKwlFQ1BHdF9OT19JTkRJQ0FUT1IsIE5VTEwgLCAwTCwg MEwsIDBMLCAKKwlFQ1BHdF9udmFyY2hhciwmKG52YyksKGxvbmcpMTAsKGxv bmcpMSxzaXplb2Yoc3RydWN0IHZhcmNoYXIpLCAKKwlFQ1BHdF9OT19JTkRJ Q0FUT1IsIE5VTEwgLCAwTCwgMEwsIDBMLCAKKwlFQ1BHdF91dmFyY2hhciwm KHV2YyksKGxvbmcpMjAsKGxvbmcpMSxzaXplb2Yoc3RydWN0IHZhcmNoYXIp LCAKIAlFQ1BHdF9OT19JTkRJQ0FUT1IsIE5VTEwgLCAwTCwgMEwsIDBMLCBF Q1BHdF9FT1JUKTt9Ci0jbGluZSA2OCAidHlwZS5wZ2MiCisjbGluZSA4MSAi dHlwZS5wZ2MiCiAKICAgaWYgKHNxbGNhLnNxbGNvZGUpCiAgICAgewogICAg ICAgcHJpbnRmICgic2VsZWN0IGVycm9yID0gJWxkXG4iLCBzcWxjYS5zcWxj b2RlKTsKICAgICAgIGV4aXQgKHNxbGNhLnNxbGNvZGUpOwogICAgIH0KLSAg cHJpbnRmICgiaWQ9JWxkIG5hbWU9JyVzJyBhY2NzPSVkIHN0cj0nJXMnIHB0 cj0nJXMnIHZjPSclMTAuMTBzJ1xuIiwgZW1wbC5pZG51bSwgZW1wbC5uYW1l LCBlbXBsLmFjY3MsIHN0ciwgcHRyLCB2Yy50ZXh0KTsKKyAgcHJpbnRmICgi aWQ9JWxkIG5hbWU9JyVzJyBhY2NzPSVkIHN0cj0nJXMnIHB0cj0nJXMnIHZj PSclMTAuMTBzJyB2Yy5sZW49JyVkJyBudmM9JyUxMC4xMHMnIG52Yy5sZW49 JyVkJyB1dmM9JyUyMC4yMHMnIHV2Yy5sZW49JyVkJ1xuIiwgZW1wbC5pZG51 bSwgZW1wbC5uYW1lLCBlbXBsLmFjY3MsIHN0ciwgcHRyLCB2Yy50ZXh0LCB2 Yy5sZW4sIG52Yy50ZXh0LCBudmMubGVuLCB1dmMudGV4dCwgdXZjLmxlbik7 CiAKICAgeyBFQ1BHZGlzY29ubmVjdChfX0xJTkVfXywgIkNVUlJFTlQiKTt9 Ci0jbGluZSA3NiAidHlwZS5wZ2MiCisjbGluZSA4OSAidHlwZS5wZ2MiCiAK IAogICBmcmVlKHB0cik7CiAgIGV4aXQgKDApOwogfQorCmRpZmYgLVUgNSAt TiAtciAtdyAuLi9vcmlnLkhFQUQvc3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0 L2V4cGVjdGVkL3ByZXByb2MtdHlwZS5zdGRlcnIgLi9zcmMvaW50ZXJmYWNl cy9lY3BnL3Rlc3QvZXhwZWN0ZWQvcHJlcHJvYy10eXBlLnN0ZGVycgotLS0g Li4vb3JpZy5IRUFEL3NyYy9pbnRlcmZhY2VzL2VjcGcvdGVzdC9leHBlY3Rl ZC9wcmVwcm9jLXR5cGUuc3RkZXJyCTIwMTMtMDgtMTkgMjA6MjI6MTMuMDAw MDAwMDAwIC0wNDAwCisrKyAuL3NyYy9pbnRlcmZhY2VzL2VjcGcvdGVzdC9l eHBlY3RlZC9wcmVwcm9jLXR5cGUuc3RkZXJyCTIwMTMtMDgtMTkgMjA6NTQ6 MDAuMDAwMDAwMDAwIC0wNDAwCkBAIC0xLDQwICsxLDQ0IEBACiBbTk9fUElE XTogRUNQR2RlYnVnOiBzZXQgdG8gMQogW05PX1BJRF06IHNxbGNhOiBjb2Rl OiAwLCBzdGF0ZTogMDAwMDAKIFtOT19QSURdOiBFQ1BHY29ubmVjdDogb3Bl bmluZyBkYXRhYmFzZSByZWdyZXNzMSBvbiA8REVGQVVMVD4gcG9ydCA8REVG QVVMVD4gIAogW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAw MDAKLVtOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSA1MDogcXVlcnk6 IGNyZWF0ZSB0YWJsZSBlbXBsICggaWRudW0gaW50ZWdlciAsIG5hbWUgY2hh ciAoIDIwICkgLCBhY2NzIHNtYWxsaW50ICwgc3RyaW5nMSBjaGFyICggMTAg KSAsIHN0cmluZzIgY2hhciAoIDEwICkgLCBzdHJpbmczIGNoYXIgKCAxMCAp ICk7IHdpdGggMCBwYXJhbWV0ZXIocykgb24gY29ubmVjdGlvbiByZWdyZXNz MQorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDYzOiBxdWVyeTog Y3JlYXRlIHRhYmxlIGVtcGwgKCBpZG51bSBpbnRlZ2VyICwgbmFtZSBjaGFy ICggMjAgKSAsIGFjY3Mgc21hbGxpbnQgLCBzdHJpbmcxIGNoYXIgKCAxMCAp ICwgc3RyaW5nMiBjaGFyICggMTAgKSAsIHN0cmluZzMgY2hhciAoIDEwICkg LCBzdHJpbmc0IGNoYXIgKCAxMCApICwgc3RyaW5nNSBjaGFyICggMTAgKSAp OyB3aXRoIDAgcGFyYW1ldGVyKHMpIG9uIGNvbm5lY3Rpb24gcmVncmVzczEK IFtOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCi1bTk9f UElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgNTA6IHVzaW5nIFBRZXhlYwor W05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDYzOiB1c2luZyBQUWV4 ZWMKIFtOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCi1b Tk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgNTA6IE9LOiBDUkVBVEUg VEFCTEUKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSA2MzogT0s6 IENSRUFURSBUQUJMRQogW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0 ZTogMDAwMDAKLVtOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSA1ODog cXVlcnk6IGluc2VydCBpbnRvIGVtcGwgdmFsdWVzICggMSAsICd1c2VyIG5h bWUnICwgMzIwICwgJ2ZpcnN0IHN0cicgLCAnc2Vjb25kIHN0cicgLCAndGhp cmQgc3RyJyApOyB3aXRoIDAgcGFyYW1ldGVyKHMpIG9uIGNvbm5lY3Rpb24g cmVncmVzczEKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSA3MTog cXVlcnk6IGluc2VydCBpbnRvIGVtcGwgdmFsdWVzICggMSAsICd1c2VyIG5h bWUnICwgMzIwICwgJ2ZpcnN0IHN0cicgLCAnc2Vjb25kIHN0cicgLCAndGhp cmQgc3RyJyAsICdmb3VydGggc3RyJyAsICdmaWZ0aCBzdHInICk7IHdpdGgg MCBwYXJhbWV0ZXIocykgb24gY29ubmVjdGlvbiByZWdyZXNzMQogW05PX1BJ RF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKLVtOT19QSURdOiBl Y3BnX2V4ZWN1dGUgb24gbGluZSA1ODogdXNpbmcgUFFleGVjCitbTk9fUElE XTogZWNwZ19leGVjdXRlIG9uIGxpbmUgNzE6IHVzaW5nIFBRZXhlYwogW05P X1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKLVtOT19QSURd OiBlY3BnX2V4ZWN1dGUgb24gbGluZSA1ODogT0s6IElOU0VSVCAwIDEKK1tO T19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSA3MTogT0s6IElOU0VSVCAw IDEKIFtOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCi1b Tk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgNjU6IHF1ZXJ5OiBzZWxl Y3QgaWRudW0gLCBuYW1lICwgYWNjcyAsIHN0cmluZzEgLCBzdHJpbmcyICwg c3RyaW5nMyBmcm9tIGVtcGwgd2hlcmUgaWRudW0gPSAkMSA7IHdpdGggMSBw YXJhbWV0ZXIocykgb24gY29ubmVjdGlvbiByZWdyZXNzMQorW05PX1BJRF06 IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDc4OiBxdWVyeTogc2VsZWN0IGlkbnVt ICwgbmFtZSAsIGFjY3MgLCBzdHJpbmcxICwgc3RyaW5nMiAsIHN0cmluZzMg LCBzdHJpbmc0ICwgc3RyaW5nNSBmcm9tIGVtcGwgd2hlcmUgaWRudW0gPSAk MSA7IHdpdGggMSBwYXJhbWV0ZXIocykgb24gY29ubmVjdGlvbiByZWdyZXNz MQogW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKLVtO T19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSA2NTogdXNpbmcgUFFleGVj UGFyYW1zCitbTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgNzg6IHVz aW5nIFBRZXhlY1BhcmFtcwogW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBz dGF0ZTogMDAwMDAKLVtOT19QSURdOiBmcmVlX3BhcmFtcyBvbiBsaW5lIDY1 OiBwYXJhbWV0ZXIgMSA9IDEKK1tOT19QSURdOiBmcmVlX3BhcmFtcyBvbiBs aW5lIDc4OiBwYXJhbWV0ZXIgMSA9IDEKIFtOT19QSURdOiBzcWxjYTogY29k ZTogMCwgc3RhdGU6IDAwMDAwCi1bTk9fUElEXTogZWNwZ19leGVjdXRlIG9u IGxpbmUgNjU6IGNvcnJlY3RseSBnb3QgMSB0dXBsZXMgd2l0aCA2IGZpZWxk cworW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDc4OiBjb3JyZWN0 bHkgZ290IDEgdHVwbGVzIHdpdGggOCBmaWVsZHMKIFtOT19QSURdOiBzcWxj YTogY29kZTogMCwgc3RhdGU6IDAwMDAwCi1bTk9fUElEXTogZWNwZ19nZXRf ZGF0YSBvbiBsaW5lIDY1OiBSRVNVTFQ6IDEgb2Zmc2V0OiAtMTsgYXJyYXk6 IG5vCitbTk9fUElEXTogZWNwZ19nZXRfZGF0YSBvbiBsaW5lIDc4OiBSRVNV TFQ6IDEgb2Zmc2V0OiAtMTsgYXJyYXk6IG5vCiBbTk9fUElEXTogc3FsY2E6 IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAotW05PX1BJRF06IGVjcGdfZ2V0X2Rh dGEgb24gbGluZSA2NTogUkVTVUxUOiB1c2VyIG5hbWUgICAgICAgICAgICBv ZmZzZXQ6IC0xOyBhcnJheTogbm8KK1tOT19QSURdOiBlY3BnX2dldF9kYXRh IG9uIGxpbmUgNzg6IFJFU1VMVDogdXNlciBuYW1lICAgICAgICAgICAgb2Zm c2V0OiAtMTsgYXJyYXk6IG5vCiBbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAs IHN0YXRlOiAwMDAwMAotW05PX1BJRF06IGVjcGdfZ2V0X2RhdGEgb24gbGlu ZSA2NTogUkVTVUxUOiAzMjAgb2Zmc2V0OiAtMTsgYXJyYXk6IG5vCitbTk9f UElEXTogZWNwZ19nZXRfZGF0YSBvbiBsaW5lIDc4OiBSRVNVTFQ6IDMyMCBv ZmZzZXQ6IC0xOyBhcnJheTogbm8KIFtOT19QSURdOiBzcWxjYTogY29kZTog MCwgc3RhdGU6IDAwMDAwCi1bTk9fUElEXTogZWNwZ19nZXRfZGF0YSBvbiBs aW5lIDY1OiBSRVNVTFQ6IGZpcnN0IHN0ciAgb2Zmc2V0OiAtMTsgYXJyYXk6 IG5vCitbTk9fUElEXTogZWNwZ19nZXRfZGF0YSBvbiBsaW5lIDc4OiBSRVNV TFQ6IGZpcnN0IHN0ciAgb2Zmc2V0OiAtMTsgYXJyYXk6IG5vCiBbTk9fUElE XTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAotW05PX1BJRF06IGVj cGdfc3RvcmVfcmVzdWx0IG9uIGxpbmUgNjU6IGFsbG9jYXRpbmcgbWVtb3J5 IGZvciAxIHR1cGxlcworW05PX1BJRF06IGVjcGdfc3RvcmVfcmVzdWx0IG9u IGxpbmUgNzg6IGFsbG9jYXRpbmcgbWVtb3J5IGZvciAxIHR1cGxlcwogW05P X1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKLVtOT19QSURd OiBlY3BnX2dldF9kYXRhIG9uIGxpbmUgNjU6IFJFU1VMVDogc2Vjb25kIHN0 ciBvZmZzZXQ6IC0xOyBhcnJheTogbm8KK1tOT19QSURdOiBlY3BnX2dldF9k YXRhIG9uIGxpbmUgNzg6IFJFU1VMVDogc2Vjb25kIHN0ciBvZmZzZXQ6IC0x OyBhcnJheTogbm8KIFtOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6 IDAwMDAwCi1bTk9fUElEXTogZWNwZ19nZXRfZGF0YSBvbiBsaW5lIDY1OiBS RVNVTFQ6IHRoaXJkIHN0ciAgb2Zmc2V0OiAtMTsgYXJyYXk6IG5vCitbTk9f UElEXTogZWNwZ19nZXRfZGF0YSBvbiBsaW5lIDc4OiBSRVNVTFQ6IHRoaXJk IHN0ciAgb2Zmc2V0OiAtMTsgYXJyYXk6IG5vCitbTk9fUElEXTogc3FsY2E6 IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZ2V0X2Rh dGEgb24gbGluZSA3ODogUkVTVUxUOiBmb3VydGggc3RyIG9mZnNldDogLTE7 IGFycmF5OiBubworW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTog MDAwMDAKK1tOT19QSURdOiBlY3BnX2dldF9kYXRhIG9uIGxpbmUgNzg6IFJF U1VMVDogZmlmdGggc3RyICBvZmZzZXQ6IC0xOyBhcnJheTogbm8KIFtOT19Q SURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCiBbTk9fUElEXTog ZWNwZ19maW5pc2g6IGNvbm5lY3Rpb24gcmVncmVzczEgY2xvc2VkCiBbTk9f UElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMApkaWZmIC1VIDUg LU4gLXIgLXcgLi4vb3JpZy5IRUFEL3NyYy9pbnRlcmZhY2VzL2VjcGcvdGVz dC9leHBlY3RlZC9wcmVwcm9jLXR5cGUuc3Rkb3V0IC4vc3JjL2ludGVyZmFj ZXMvZWNwZy90ZXN0L2V4cGVjdGVkL3ByZXByb2MtdHlwZS5zdGRvdXQKLS0t IC4uL29yaWcuSEVBRC9zcmMvaW50ZXJmYWNlcy9lY3BnL3Rlc3QvZXhwZWN0 ZWQvcHJlcHJvYy10eXBlLnN0ZG91dAkyMDEzLTA4LTE5IDIwOjIyOjEzLjAw MDAwMDAwMCAtMDQwMAorKysgLi9zcmMvaW50ZXJmYWNlcy9lY3BnL3Rlc3Qv ZXhwZWN0ZWQvcHJlcHJvYy10eXBlLnN0ZG91dAkyMDEzLTA4LTE5IDIwOjU0 OjAwLjAwMDAwMDAwMCAtMDQwMApAQCAtMSArMSBAQAotaWQ9MSBuYW1lPSd1 c2VyIG5hbWUgICAgICAgICAgICcgYWNjcz0zMjAgc3RyPSdmaXJzdCBzdHIg JyBwdHI9J3NlY29uZCBzdHInIHZjPSd0aGlyZCBzdHIgJworaWQ9MSBuYW1l PSd1c2VyIG5hbWUgICAgICAgICAgICcgYWNjcz0zMjAgc3RyPSdmaXJzdCBz dHIgJyBwdHI9J3NlY29uZCBzdHInIHZjPSd0aGlyZCBzdHIgJyB2Yy5sZW49 JzEwJyBudmM9J2ZvdXJ0aCBzdHInIG52Yy5sZW49JzEwJyB1dmM9JyAgICAg ICAgICAgICAgICAgICBmJyB1dmMubGVuPScyMCcKZGlmZiAtVSA1IC1OIC1y IC13IC4uL29yaWcuSEVBRC9zcmMvaW50ZXJmYWNlcy9lY3BnL3Rlc3QvZXhw ZWN0ZWQvc3FsLWZldGNoLmMgLi9zcmMvaW50ZXJmYWNlcy9lY3BnL3Rlc3Qv ZXhwZWN0ZWQvc3FsLWZldGNoLmMKLS0tIC4uL29yaWcuSEVBRC9zcmMvaW50 ZXJmYWNlcy9lY3BnL3Rlc3QvZXhwZWN0ZWQvc3FsLWZldGNoLmMJMjAxMy0w OC0xOSAyMDoyMjoxMy4wMDAwMDAwMDAgLTA0MDAKKysrIC4vc3JjL2ludGVy ZmFjZXMvZWNwZy90ZXN0L2V4cGVjdGVkL3NxbC1mZXRjaC5jCTIwMTMtMDgt MTkgMjA6NTQ6MDAuMDAwMDAwMDAwIC0wNDAwCkBAIC0yNSwyMTAgKzI1LDI1 MCBAQAogaW50IG1haW4oKSB7CiAgIC8qIGV4ZWMgc3FsIGJlZ2luIGRlY2xh cmUgc2VjdGlvbiAqLwogICAgICAKICAgICAgIAogICAKKyAgICAgIAorICAg ICAKKyAgICAgCisgIAogI2xpbmUgOSAiZmV0Y2gucGdjIgogIGNoYXIgc3Ry IFsgMjUgXSA7CiAgCiAjbGluZSAxMCAiZmV0Y2gucGdjIgogIGludCBpICwg Y291bnQgPSAxIDsKLS8qIGV4ZWMgc3FsIGVuZCBkZWNsYXJlIHNlY3Rpb24g Ki8KKyAKICNsaW5lIDExICJmZXRjaC5wZ2MiCisgY2hhciBuc3RyIFsgMjUg XSA7CisgCisjbGluZSAxMiAiZmV0Y2gucGdjIgorICBzdHJ1Y3QgdmFyY2hh cl8xICB7IGludCBsZW47IGNoYXIgYXJyWyAyNSBdOyB9ICBfdmFyY2hhciA7 CisgCisjbGluZSAxMyAiZmV0Y2gucGdjIgorICBzdHJ1Y3QgdmFyY2hhcl8y ICB7IGludCBsZW47IGNoYXIgYXJyWyAyNSBdOyB9ICBfbnZhcmNoYXIgOwor IAorI2xpbmUgMTQgImZldGNoLnBnYyIKKyAgc3RydWN0IHZhcmNoYXJfMyAg eyBpbnQgbGVuOyBjaGFyIGFyclsgMjUgXTsgfSAgX3V2YXJjaGFyIDsKKy8q IGV4ZWMgc3FsIGVuZCBkZWNsYXJlIHNlY3Rpb24gKi8KKyNsaW5lIDE1ICJm ZXRjaC5wZ2MiCiAKIAogICBFQ1BHZGVidWcoMSwgc3RkZXJyKTsKICAgeyBF Q1BHY29ubmVjdChfX0xJTkVfXywgMCwgInJlZ3Jlc3MxIiAsIE5VTEwsIE5V TEwgLCBOVUxMLCAwKTsgfQotI2xpbmUgMTQgImZldGNoLnBnYyIKKyNsaW5l IDE4ICJmZXRjaC5wZ2MiCiAKIAogICAvKiBleGVjIHNxbCB3aGVuZXZlciBz cWxfd2FybmluZyAgc3FscHJpbnQgOyAqLwotI2xpbmUgMTYgImZldGNoLnBn YyIKKyNsaW5lIDIwICJmZXRjaC5wZ2MiCiAKICAgLyogZXhlYyBzcWwgd2hl bmV2ZXIgc3FsZXJyb3IgIHNxbHByaW50IDsgKi8KLSNsaW5lIDE3ICJmZXRj aC5wZ2MiCisjbGluZSAyMSAiZmV0Y2gucGdjIgogCiAKLSAgeyBFQ1BHZG8o X19MSU5FX18sIDAsIDEsIE5VTEwsIDAsIEVDUEdzdF9ub3JtYWwsICJjcmVh dGUgdGFibGUgTXlfVGFibGUgKCBJdGVtMSBpbnQgLCBJdGVtMiB0ZXh0ICki LCBFQ1BHdF9FT0lULCBFQ1BHdF9FT1JUKTsKLSNsaW5lIDE5ICJmZXRjaC5w Z2MiCisgIHsgRUNQR2RvKF9fTElORV9fLCAwLCAxLCBOVUxMLCAwLCBFQ1BH c3Rfbm9ybWFsLCAiY3JlYXRlIHRhYmxlIE15X1RhYmxlICggSXRlbTEgaW50 ICwgSXRlbTIgdGV4dCAsIEl0ZW0zIHRleHQgLCBJdGVtNCB2YXJjaGFyICwg SXRlbTUgdmFyY2hhciAsIEl0ZW02IHZhcmNoYXIgKSIsIEVDUEd0X0VPSVQs IEVDUEd0X0VPUlQpOworI2xpbmUgMjMgImZldGNoLnBnYyIKIAogaWYgKHNx bGNhLnNxbHdhcm5bMF0gPT0gJ1cnKSBzcWxwcmludCgpOwotI2xpbmUgMTkg ImZldGNoLnBnYyIKKyNsaW5lIDIzICJmZXRjaC5wZ2MiCiAKIGlmIChzcWxj YS5zcWxjb2RlIDwgMCkgc3FscHJpbnQoKTt9Ci0jbGluZSAxOSAiZmV0Y2gu cGdjIgorI2xpbmUgMjMgImZldGNoLnBnYyIKIAogCi0gIHsgRUNQR2RvKF9f TElORV9fLCAwLCAxLCBOVUxMLCAwLCBFQ1BHc3Rfbm9ybWFsLCAiaW5zZXJ0 IGludG8gTXlfVGFibGUgdmFsdWVzICggMSAsICd0ZXh0MScgKSIsIEVDUEd0 X0VPSVQsIEVDUEd0X0VPUlQpOwotI2xpbmUgMjEgImZldGNoLnBnYyIKKyAg eyBFQ1BHZG8oX19MSU5FX18sIDAsIDEsIE5VTEwsIDAsIEVDUEdzdF9ub3Jt YWwsICJpbnNlcnQgaW50byBNeV9UYWJsZSB2YWx1ZXMgKCAxICwgJ3RleHQx JyAsICd0ZXh0MScgLCAndGV4dDEnICwgJ3RleHQxJyAsICd0ZXh0MScgKSIs IEVDUEd0X0VPSVQsIEVDUEd0X0VPUlQpOworI2xpbmUgMjUgImZldGNoLnBn YyIKIAogaWYgKHNxbGNhLnNxbHdhcm5bMF0gPT0gJ1cnKSBzcWxwcmludCgp OwotI2xpbmUgMjEgImZldGNoLnBnYyIKKyNsaW5lIDI1ICJmZXRjaC5wZ2Mi CiAKIGlmIChzcWxjYS5zcWxjb2RlIDwgMCkgc3FscHJpbnQoKTt9Ci0jbGlu ZSAyMSAiZmV0Y2gucGdjIgorI2xpbmUgMjUgImZldGNoLnBnYyIKIAotICB7 IEVDUEdkbyhfX0xJTkVfXywgMCwgMSwgTlVMTCwgMCwgRUNQR3N0X25vcm1h bCwgImluc2VydCBpbnRvIE15X1RhYmxlIHZhbHVlcyAoIDIgLCAndGV4dDIn ICkiLCBFQ1BHdF9FT0lULCBFQ1BHdF9FT1JUKTsKLSNsaW5lIDIyICJmZXRj aC5wZ2MiCisgIHsgRUNQR2RvKF9fTElORV9fLCAwLCAxLCBOVUxMLCAwLCBF Q1BHc3Rfbm9ybWFsLCAiaW5zZXJ0IGludG8gTXlfVGFibGUgdmFsdWVzICgg MiAsICd0ZXh0MicgLCAndGV4dDInICwgJ3RleHQyJyAsICd0ZXh0MicgLCAn dGV4dDInICkiLCBFQ1BHdF9FT0lULCBFQ1BHdF9FT1JUKTsKKyNsaW5lIDI2 ICJmZXRjaC5wZ2MiCiAKIGlmIChzcWxjYS5zcWx3YXJuWzBdID09ICdXJykg c3FscHJpbnQoKTsKLSNsaW5lIDIyICJmZXRjaC5wZ2MiCisjbGluZSAyNiAi ZmV0Y2gucGdjIgogCiBpZiAoc3FsY2Euc3FsY29kZSA8IDApIHNxbHByaW50 KCk7fQotI2xpbmUgMjIgImZldGNoLnBnYyIKKyNsaW5lIDI2ICJmZXRjaC5w Z2MiCiAKLSAgeyBFQ1BHZG8oX19MSU5FX18sIDAsIDEsIE5VTEwsIDAsIEVD UEdzdF9ub3JtYWwsICJpbnNlcnQgaW50byBNeV9UYWJsZSB2YWx1ZXMgKCAz ICwgJ3RleHQzJyApIiwgRUNQR3RfRU9JVCwgRUNQR3RfRU9SVCk7Ci0jbGlu ZSAyMyAiZmV0Y2gucGdjIgorICB7IEVDUEdkbyhfX0xJTkVfXywgMCwgMSwg TlVMTCwgMCwgRUNQR3N0X25vcm1hbCwgImluc2VydCBpbnRvIE15X1RhYmxl IHZhbHVlcyAoIDMgLCAndGV4dDMnICwgJ3RleHQzJyAsICd0ZXh0MycgLCAn dGV4dDMnICwgJ3RleHQzJyApIiwgRUNQR3RfRU9JVCwgRUNQR3RfRU9SVCk7 CisjbGluZSAyNyAiZmV0Y2gucGdjIgogCiBpZiAoc3FsY2Euc3Fsd2Fyblsw XSA9PSAnVycpIHNxbHByaW50KCk7Ci0jbGluZSAyMyAiZmV0Y2gucGdjIgor I2xpbmUgMjcgImZldGNoLnBnYyIKIAogaWYgKHNxbGNhLnNxbGNvZGUgPCAw KSBzcWxwcmludCgpO30KLSNsaW5lIDIzICJmZXRjaC5wZ2MiCisjbGluZSAy NyAiZmV0Y2gucGdjIgogCi0gIHsgRUNQR2RvKF9fTElORV9fLCAwLCAxLCBO VUxMLCAwLCBFQ1BHc3Rfbm9ybWFsLCAiaW5zZXJ0IGludG8gTXlfVGFibGUg dmFsdWVzICggNCAsICd0ZXh0NCcgKSIsIEVDUEd0X0VPSVQsIEVDUEd0X0VP UlQpOwotI2xpbmUgMjQgImZldGNoLnBnYyIKKyAgeyBFQ1BHZG8oX19MSU5F X18sIDAsIDEsIE5VTEwsIDAsIEVDUEdzdF9ub3JtYWwsICJpbnNlcnQgaW50 byBNeV9UYWJsZSB2YWx1ZXMgKCA0ICwgJ3RleHQ0JyAsICd0ZXh0NCcgLCAn dGV4dDQnICwgJ3RleHQ0JyAsICd0ZXh0NCcgKSIsIEVDUEd0X0VPSVQsIEVD UEd0X0VPUlQpOworI2xpbmUgMjggImZldGNoLnBnYyIKIAogaWYgKHNxbGNh LnNxbHdhcm5bMF0gPT0gJ1cnKSBzcWxwcmludCgpOwotI2xpbmUgMjQgImZl dGNoLnBnYyIKKyNsaW5lIDI4ICJmZXRjaC5wZ2MiCiAKIGlmIChzcWxjYS5z cWxjb2RlIDwgMCkgc3FscHJpbnQoKTt9Ci0jbGluZSAyNCAiZmV0Y2gucGdj IgorI2xpbmUgMjggImZldGNoLnBnYyIKIAogCiAgIC8qIGRlY2xhcmUgQyBj dXJzb3IgZm9yIHNlbGVjdCAqIGZyb20gTXlfVGFibGUgKi8KLSNsaW5lIDI2 ICJmZXRjaC5wZ2MiCisjbGluZSAzMCAiZmV0Y2gucGdjIgogCiAKICAgeyBF Q1BHZG8oX19MSU5FX18sIDAsIDEsIE5VTEwsIDAsIEVDUEdzdF9ub3JtYWws ICJkZWNsYXJlIEMgY3Vyc29yIGZvciBzZWxlY3QgKiBmcm9tIE15X1RhYmxl IiwgRUNQR3RfRU9JVCwgRUNQR3RfRU9SVCk7Ci0jbGluZSAyOCAiZmV0Y2gu cGdjIgorI2xpbmUgMzIgImZldGNoLnBnYyIKIAogaWYgKHNxbGNhLnNxbHdh cm5bMF0gPT0gJ1cnKSBzcWxwcmludCgpOwotI2xpbmUgMjggImZldGNoLnBn YyIKKyNsaW5lIDMyICJmZXRjaC5wZ2MiCiAKIGlmIChzcWxjYS5zcWxjb2Rl IDwgMCkgc3FscHJpbnQoKTt9Ci0jbGluZSAyOCAiZmV0Y2gucGdjIgorI2xp bmUgMzIgImZldGNoLnBnYyIKIAogCiAgIC8qIGV4ZWMgc3FsIHdoZW5ldmVy IG5vdCBmb3VuZCAgYnJlYWsgOyAqLwotI2xpbmUgMzAgImZldGNoLnBnYyIK KyNsaW5lIDM0ICJmZXRjaC5wZ2MiCiAKICAgd2hpbGUgKDEpIHsKICAgCXsg RUNQR2RvKF9fTElORV9fLCAwLCAxLCBOVUxMLCAwLCBFQ1BHc3Rfbm9ybWFs LCAiZmV0Y2ggMSBpbiBDIiwgRUNQR3RfRU9JVCwgCiAJRUNQR3RfaW50LCYo aSksKGxvbmcpMSwobG9uZykxLHNpemVvZihpbnQpLCAKIAlFQ1BHdF9OT19J TkRJQ0FUT1IsIE5VTEwgLCAwTCwgMEwsIDBMLCAKIAlFQ1BHdF9jaGFyLChz dHIpLChsb25nKTI1LChsb25nKTEsKDI1KSpzaXplb2YoY2hhciksIAorCUVD UEd0X05PX0lORElDQVRPUiwgTlVMTCAsIDBMLCAwTCwgMEwsIAorCUVDUEd0 X25jaGFyLChuc3RyKSwobG9uZykyNSwobG9uZykxLCgyNSkqc2l6ZW9mKGNo YXIpLCAKKwlFQ1BHdF9OT19JTkRJQ0FUT1IsIE5VTEwgLCAwTCwgMEwsIDBM LCAKKwlFQ1BHdF92YXJjaGFyLCYoX3ZhcmNoYXIpLChsb25nKTI1LChsb25n KTEsc2l6ZW9mKHN0cnVjdCB2YXJjaGFyXzEpLCAKKwlFQ1BHdF9OT19JTkRJ Q0FUT1IsIE5VTEwgLCAwTCwgMEwsIDBMLCAKKwlFQ1BHdF9udmFyY2hhciwm KF9udmFyY2hhciksKGxvbmcpMjUsKGxvbmcpMSxzaXplb2Yoc3RydWN0IHZh cmNoYXJfMiksIAorCUVDUEd0X05PX0lORElDQVRPUiwgTlVMTCAsIDBMLCAw TCwgMEwsIAorCUVDUEd0X3V2YXJjaGFyLCYoX3V2YXJjaGFyKSwobG9uZyky NSwobG9uZykxLHNpemVvZihzdHJ1Y3QgdmFyY2hhcl8zKSwgCiAJRUNQR3Rf Tk9fSU5ESUNBVE9SLCBOVUxMICwgMEwsIDBMLCAwTCwgRUNQR3RfRU9SVCk7 Ci0jbGluZSAzMiAiZmV0Y2gucGdjIgorI2xpbmUgMzYgImZldGNoLnBnYyIK IAogaWYgKHNxbGNhLnNxbGNvZGUgPT0gRUNQR19OT1RfRk9VTkQpIGJyZWFr OwotI2xpbmUgMzIgImZldGNoLnBnYyIKKyNsaW5lIDM2ICJmZXRjaC5wZ2Mi CiAKIGlmIChzcWxjYS5zcWx3YXJuWzBdID09ICdXJykgc3FscHJpbnQoKTsK LSNsaW5lIDMyICJmZXRjaC5wZ2MiCisjbGluZSAzNiAiZmV0Y2gucGdjIgog CiBpZiAoc3FsY2Euc3FsY29kZSA8IDApIHNxbHByaW50KCk7fQotI2xpbmUg MzIgImZldGNoLnBnYyIKKyNsaW5lIDM2ICJmZXRjaC5wZ2MiCiAKLQlwcmlu dGYoIiVkOiAlc1xuIiwgaSwgc3RyKTsKKwlwcmludGYoIiVkOiAlcywgJXMs ICVzLCAlc1xuIiwgaSwgc3RyLCBuc3RyLCBfdmFyY2hhci5hcnIsIF9udmFy Y2hhci5hcnIpOwogICB9CiAKICAgLyogZXhlYyBzcWwgd2hlbmV2ZXIgbm90 IGZvdW5kICBjb250aW51ZSA7ICovCi0jbGluZSAzNiAiZmV0Y2gucGdjIgor I2xpbmUgNDAgImZldGNoLnBnYyIKIAogICB7IEVDUEdkbyhfX0xJTkVfXywg MCwgMSwgTlVMTCwgMCwgRUNQR3N0X25vcm1hbCwgIm1vdmUgYmFja3dhcmQg MiBpbiBDIiwgRUNQR3RfRU9JVCwgRUNQR3RfRU9SVCk7Ci0jbGluZSAzNyAi ZmV0Y2gucGdjIgorI2xpbmUgNDEgImZldGNoLnBnYyIKIAogaWYgKHNxbGNh LnNxbHdhcm5bMF0gPT0gJ1cnKSBzcWxwcmludCgpOwotI2xpbmUgMzcgImZl dGNoLnBnYyIKKyNsaW5lIDQxICJmZXRjaC5wZ2MiCiAKIGlmIChzcWxjYS5z cWxjb2RlIDwgMCkgc3FscHJpbnQoKTt9Ci0jbGluZSAzNyAiZmV0Y2gucGdj IgorI2xpbmUgNDEgImZldGNoLnBnYyIKIAogCiAgIHsgRUNQR2RvKF9fTElO RV9fLCAwLCAxLCBOVUxMLCAwLCBFQ1BHc3Rfbm9ybWFsLCAiZmV0Y2ggJDAg aW4gQyIsIAogCUVDUEd0X2ludCwmKGNvdW50KSwobG9uZykxLChsb25nKTEs c2l6ZW9mKGludCksIAogCUVDUEd0X05PX0lORElDQVRPUiwgTlVMTCAsIDBM LCAwTCwgMEwsIEVDUEd0X0VPSVQsIAogCUVDUEd0X2ludCwmKGkpLChsb25n KTEsKGxvbmcpMSxzaXplb2YoaW50KSwgCiAJRUNQR3RfTk9fSU5ESUNBVE9S LCBOVUxMICwgMEwsIDBMLCAwTCwgCiAJRUNQR3RfY2hhciwoc3RyKSwobG9u ZykyNSwobG9uZykxLCgyNSkqc2l6ZW9mKGNoYXIpLCAKKwlFQ1BHdF9OT19J TkRJQ0FUT1IsIE5VTEwgLCAwTCwgMEwsIDBMLCAKKwlFQ1BHdF9uY2hhciwo bnN0ciksKGxvbmcpMjUsKGxvbmcpMSwoMjUpKnNpemVvZihjaGFyKSwgCisJ RUNQR3RfTk9fSU5ESUNBVE9SLCBOVUxMICwgMEwsIDBMLCAwTCwgCisJRUNQ R3RfdmFyY2hhciwmKF92YXJjaGFyKSwobG9uZykyNSwobG9uZykxLHNpemVv ZihzdHJ1Y3QgdmFyY2hhcl8xKSwgCisJRUNQR3RfTk9fSU5ESUNBVE9SLCBO VUxMICwgMEwsIDBMLCAwTCwgCisJRUNQR3RfbnZhcmNoYXIsJihfbnZhcmNo YXIpLChsb25nKTI1LChsb25nKTEsc2l6ZW9mKHN0cnVjdCB2YXJjaGFyXzIp LCAKKwlFQ1BHdF9OT19JTkRJQ0FUT1IsIE5VTEwgLCAwTCwgMEwsIDBMLCAK KwlFQ1BHdF91dmFyY2hhciwmKF91dmFyY2hhciksKGxvbmcpMjUsKGxvbmcp MSxzaXplb2Yoc3RydWN0IHZhcmNoYXJfMyksIAogCUVDUEd0X05PX0lORElD QVRPUiwgTlVMTCAsIDBMLCAwTCwgMEwsIEVDUEd0X0VPUlQpOwotI2xpbmUg MzkgImZldGNoLnBnYyIKKyNsaW5lIDQzICJmZXRjaC5wZ2MiCiAKIGlmIChz cWxjYS5zcWx3YXJuWzBdID09ICdXJykgc3FscHJpbnQoKTsKLSNsaW5lIDM5 ICJmZXRjaC5wZ2MiCisjbGluZSA0MyAiZmV0Y2gucGdjIgogCiBpZiAoc3Fs Y2Euc3FsY29kZSA8IDApIHNxbHByaW50KCk7fQotI2xpbmUgMzkgImZldGNo LnBnYyIKKyNsaW5lIDQzICJmZXRjaC5wZ2MiCiAKLSAgcHJpbnRmKCIlZDog JXNcbiIsIGksIHN0cik7CisgIHByaW50ZigiJWQ6ICVzLCAlcywgJXMsICVz XG4iLCBpLCBzdHIsIG5zdHIsIF92YXJjaGFyLmFyciwgX252YXJjaGFyLmFy cik7CiAKICAgLyogZGVjbGFyZSBEIGN1cnNvciBmb3Igc2VsZWN0ICogZnJv bSBNeV9UYWJsZSB3aGVyZSBJdGVtMSA9ICQxICovCi0jbGluZSA0MiAiZmV0 Y2gucGdjIgorI2xpbmUgNDYgImZldGNoLnBnYyIKIAogCiAgIHsgRUNQR2Rv KF9fTElORV9fLCAwLCAxLCBOVUxMLCAwLCBFQ1BHc3Rfbm9ybWFsLCAiZGVj bGFyZSBEIGN1cnNvciBmb3Igc2VsZWN0ICogZnJvbSBNeV9UYWJsZSB3aGVy ZSBJdGVtMSA9ICQxIiwgCiAJRUNQR3RfY29uc3QsIjEiLChsb25nKTEsKGxv bmcpMSxzdHJsZW4oIjEiKSwgCiAJRUNQR3RfTk9fSU5ESUNBVE9SLCBOVUxM ICwgMEwsIDBMLCAwTCwgRUNQR3RfRU9JVCwgRUNQR3RfRU9SVCk7Ci0jbGlu ZSA0NCAiZmV0Y2gucGdjIgorI2xpbmUgNDggImZldGNoLnBnYyIKIAogaWYg KHNxbGNhLnNxbHdhcm5bMF0gPT0gJ1cnKSBzcWxwcmludCgpOwotI2xpbmUg NDQgImZldGNoLnBnYyIKKyNsaW5lIDQ4ICJmZXRjaC5wZ2MiCiAKIGlmIChz cWxjYS5zcWxjb2RlIDwgMCkgc3FscHJpbnQoKTt9Ci0jbGluZSA0NCAiZmV0 Y2gucGdjIgorI2xpbmUgNDggImZldGNoLnBnYyIKIAogCiAgIC8qIGV4ZWMg c3FsIHdoZW5ldmVyIG5vdCBmb3VuZCAgYnJlYWsgOyAqLwotI2xpbmUgNDYg ImZldGNoLnBnYyIKKyNsaW5lIDUwICJmZXRjaC5wZ2MiCiAKICAgd2hpbGUg KDEpIHsKICAgCXsgRUNQR2RvKF9fTElORV9fLCAwLCAxLCBOVUxMLCAwLCBF Q1BHc3Rfbm9ybWFsLCAiZmV0Y2ggMSBpbiBEIiwgRUNQR3RfRU9JVCwgCiAJ RUNQR3RfaW50LCYoaSksKGxvbmcpMSwobG9uZykxLHNpemVvZihpbnQpLCAK IAlFQ1BHdF9OT19JTkRJQ0FUT1IsIE5VTEwgLCAwTCwgMEwsIDBMLCAKIAlF Q1BHdF9jaGFyLChzdHIpLChsb25nKTI1LChsb25nKTEsKDI1KSpzaXplb2Yo Y2hhciksIAorCUVDUEd0X05PX0lORElDQVRPUiwgTlVMTCAsIDBMLCAwTCwg MEwsIAorCUVDUEd0X25jaGFyLChuc3RyKSwobG9uZykyNSwobG9uZykxLCgy NSkqc2l6ZW9mKGNoYXIpLCAKKwlFQ1BHdF9OT19JTkRJQ0FUT1IsIE5VTEwg LCAwTCwgMEwsIDBMLCAKKwlFQ1BHdF92YXJjaGFyLCYoX3ZhcmNoYXIpLChs b25nKTI1LChsb25nKTEsc2l6ZW9mKHN0cnVjdCB2YXJjaGFyXzEpLCAKKwlF Q1BHdF9OT19JTkRJQ0FUT1IsIE5VTEwgLCAwTCwgMEwsIDBMLCAKKwlFQ1BH dF9udmFyY2hhciwmKF9udmFyY2hhciksKGxvbmcpMjUsKGxvbmcpMSxzaXpl b2Yoc3RydWN0IHZhcmNoYXJfMiksIAorCUVDUEd0X05PX0lORElDQVRPUiwg TlVMTCAsIDBMLCAwTCwgMEwsIAorCUVDUEd0X3V2YXJjaGFyLCYoX3V2YXJj aGFyKSwobG9uZykyNSwobG9uZykxLHNpemVvZihzdHJ1Y3QgdmFyY2hhcl8z KSwgCiAJRUNQR3RfTk9fSU5ESUNBVE9SLCBOVUxMICwgMEwsIDBMLCAwTCwg RUNQR3RfRU9SVCk7Ci0jbGluZSA0OCAiZmV0Y2gucGdjIgorI2xpbmUgNTIg ImZldGNoLnBnYyIKIAogaWYgKHNxbGNhLnNxbGNvZGUgPT0gRUNQR19OT1Rf Rk9VTkQpIGJyZWFrOwotI2xpbmUgNDggImZldGNoLnBnYyIKKyNsaW5lIDUy ICJmZXRjaC5wZ2MiCiAKIGlmIChzcWxjYS5zcWx3YXJuWzBdID09ICdXJykg c3FscHJpbnQoKTsKLSNsaW5lIDQ4ICJmZXRjaC5wZ2MiCisjbGluZSA1MiAi ZmV0Y2gucGdjIgogCiBpZiAoc3FsY2Euc3FsY29kZSA8IDApIHNxbHByaW50 KCk7fQotI2xpbmUgNDggImZldGNoLnBnYyIKKyNsaW5lIDUyICJmZXRjaC5w Z2MiCiAKLQlwcmludGYoIiVkOiAlc1xuIiwgaSwgc3RyKTsKKwlwcmludGYo IiVkOiAlcywgJXMsICVzLCAlc1xuIiwgaSwgc3RyLCBuc3RyLCBfdmFyY2hh ci5hcnIsIF9udmFyY2hhci5hcnIpOwogICB9CiAgIHsgRUNQR2RvKF9fTElO RV9fLCAwLCAxLCBOVUxMLCAwLCBFQ1BHc3Rfbm9ybWFsLCAiY2xvc2UgRCIs IEVDUEd0X0VPSVQsIEVDUEd0X0VPUlQpOwotI2xpbmUgNTEgImZldGNoLnBn YyIKKyNsaW5lIDU1ICJmZXRjaC5wZ2MiCiAKIGlmIChzcWxjYS5zcWx3YXJu WzBdID09ICdXJykgc3FscHJpbnQoKTsKLSNsaW5lIDUxICJmZXRjaC5wZ2Mi CisjbGluZSA1NSAiZmV0Y2gucGdjIgogCiBpZiAoc3FsY2Euc3FsY29kZSA8 IDApIHNxbHByaW50KCk7fQotI2xpbmUgNTEgImZldGNoLnBnYyIKKyNsaW5l IDU1ICJmZXRjaC5wZ2MiCiAKIAogICB7IEVDUEdkbyhfX0xJTkVfXywgMCwg MSwgTlVMTCwgMCwgRUNQR3N0X25vcm1hbCwgImRyb3AgdGFibGUgTXlfVGFi bGUiLCBFQ1BHdF9FT0lULCBFQ1BHdF9FT1JUKTsKLSNsaW5lIDUzICJmZXRj aC5wZ2MiCisjbGluZSA1NyAiZmV0Y2gucGdjIgogCiBpZiAoc3FsY2Euc3Fs d2FyblswXSA9PSAnVycpIHNxbHByaW50KCk7Ci0jbGluZSA1MyAiZmV0Y2gu cGdjIgorI2xpbmUgNTcgImZldGNoLnBnYyIKIAogaWYgKHNxbGNhLnNxbGNv ZGUgPCAwKSBzcWxwcmludCgpO30KLSNsaW5lIDUzICJmZXRjaC5wZ2MiCisj bGluZSA1NyAiZmV0Y2gucGdjIgogCiAKICAgeyBFQ1BHZGlzY29ubmVjdChf X0xJTkVfXywgIkFMTCIpOwotI2xpbmUgNTUgImZldGNoLnBnYyIKKyNsaW5l IDU5ICJmZXRjaC5wZ2MiCiAKIGlmIChzcWxjYS5zcWx3YXJuWzBdID09ICdX Jykgc3FscHJpbnQoKTsKLSNsaW5lIDU1ICJmZXRjaC5wZ2MiCisjbGluZSA1 OSAiZmV0Y2gucGdjIgogCiBpZiAoc3FsY2Euc3FsY29kZSA8IDApIHNxbHBy aW50KCk7fQotI2xpbmUgNTUgImZldGNoLnBnYyIKKyNsaW5lIDU5ICJmZXRj aC5wZ2MiCiAKIAogICByZXR1cm4gMDsKIH0KZGlmZiAtVSA1IC1OIC1yIC13 IC4uL29yaWcuSEVBRC9zcmMvaW50ZXJmYWNlcy9lY3BnL3Rlc3QvZXhwZWN0 ZWQvc3FsLWZldGNoLnN0ZGVyciAuL3NyYy9pbnRlcmZhY2VzL2VjcGcvdGVz dC9leHBlY3RlZC9zcWwtZmV0Y2guc3RkZXJyCi0tLSAuLi9vcmlnLkhFQUQv c3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L2V4cGVjdGVkL3NxbC1mZXRjaC5z dGRlcnIJMjAxMy0wOC0xOSAyMDoyMjoxMy4wMDAwMDAwMDAgLTA0MDAKKysr IC4vc3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L2V4cGVjdGVkL3NxbC1mZXRj aC5zdGRlcnIJMjAxMy0wOC0xOSAyMDo1NDowMC4wMDAwMDAwMDAgLTA0MDAK QEAgLTEsMTQ3ICsxLDE5NSBAQAogW05PX1BJRF06IEVDUEdkZWJ1Zzogc2V0 IHRvIDEKIFtOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAw CiBbTk9fUElEXTogRUNQR2Nvbm5lY3Q6IG9wZW5pbmcgZGF0YWJhc2UgcmVn cmVzczEgb24gPERFRkFVTFQ+IHBvcnQgPERFRkFVTFQ+ICAKIFtOT19QSURd OiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCi1bTk9fUElEXTogZWNw Z19leGVjdXRlIG9uIGxpbmUgMTk6IHF1ZXJ5OiBjcmVhdGUgdGFibGUgTXlf VGFibGUgKCBJdGVtMSBpbnQgLCBJdGVtMiB0ZXh0ICk7IHdpdGggMCBwYXJh bWV0ZXIocykgb24gY29ubmVjdGlvbiByZWdyZXNzMQorW05PX1BJRF06IGVj cGdfZXhlY3V0ZSBvbiBsaW5lIDIzOiBxdWVyeTogY3JlYXRlIHRhYmxlIE15 X1RhYmxlICggSXRlbTEgaW50ICwgSXRlbTIgdGV4dCAsIEl0ZW0zIHRleHQg LCBJdGVtNCB2YXJjaGFyICwgSXRlbTUgdmFyY2hhciAsIEl0ZW02IHZhcmNo YXIgKTsgd2l0aCAwIHBhcmFtZXRlcihzKSBvbiBjb25uZWN0aW9uIHJlZ3Jl c3MxCiBbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAot W05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDE5OiB1c2luZyBQUWV4 ZWMKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSAyMzogdXNpbmcg UFFleGVjCiBbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAw MAotW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDE5OiBPSzogQ1JF QVRFIFRBQkxFCitbTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgMjM6 IE9LOiBDUkVBVEUgVEFCTEUKIFtOT19QSURdOiBzcWxjYTogY29kZTogMCwg c3RhdGU6IDAwMDAwCi1bTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUg MjE6IHF1ZXJ5OiBpbnNlcnQgaW50byBNeV9UYWJsZSB2YWx1ZXMgKCAxICwg J3RleHQxJyApOyB3aXRoIDAgcGFyYW1ldGVyKHMpIG9uIGNvbm5lY3Rpb24g cmVncmVzczEKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSAyNTog cXVlcnk6IGluc2VydCBpbnRvIE15X1RhYmxlIHZhbHVlcyAoIDEgLCAndGV4 dDEnICwgJ3RleHQxJyAsICd0ZXh0MScgLCAndGV4dDEnICwgJ3RleHQxJyAp OyB3aXRoIDAgcGFyYW1ldGVyKHMpIG9uIGNvbm5lY3Rpb24gcmVncmVzczEK IFtOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCi1bTk9f UElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgMjE6IHVzaW5nIFBRZXhlYwor W05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDI1OiB1c2luZyBQUWV4 ZWMKIFtOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCi1b Tk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgMjE6IE9LOiBJTlNFUlQg MCAxCitbTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgMjU6IE9LOiBJ TlNFUlQgMCAxCiBbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAw MDAwMAotW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDIyOiBxdWVy eTogaW5zZXJ0IGludG8gTXlfVGFibGUgdmFsdWVzICggMiAsICd0ZXh0Micg KTsgd2l0aCAwIHBhcmFtZXRlcihzKSBvbiBjb25uZWN0aW9uIHJlZ3Jlc3Mx CitbTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgMjY6IHF1ZXJ5OiBp bnNlcnQgaW50byBNeV9UYWJsZSB2YWx1ZXMgKCAyICwgJ3RleHQyJyAsICd0 ZXh0MicgLCAndGV4dDInICwgJ3RleHQyJyAsICd0ZXh0MicgKTsgd2l0aCAw IHBhcmFtZXRlcihzKSBvbiBjb25uZWN0aW9uIHJlZ3Jlc3MxCiBbTk9fUElE XTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAotW05PX1BJRF06IGVj cGdfZXhlY3V0ZSBvbiBsaW5lIDIyOiB1c2luZyBQUWV4ZWMKK1tOT19QSURd OiBlY3BnX2V4ZWN1dGUgb24gbGluZSAyNjogdXNpbmcgUFFleGVjCiBbTk9f UElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAotW05PX1BJRF06 IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDIyOiBPSzogSU5TRVJUIDAgMQorW05P X1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDI2OiBPSzogSU5TRVJUIDAg MQogW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKLVtO T19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSAyMzogcXVlcnk6IGluc2Vy dCBpbnRvIE15X1RhYmxlIHZhbHVlcyAoIDMgLCAndGV4dDMnICk7IHdpdGgg MCBwYXJhbWV0ZXIocykgb24gY29ubmVjdGlvbiByZWdyZXNzMQorW05PX1BJ RF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDI3OiBxdWVyeTogaW5zZXJ0IGlu dG8gTXlfVGFibGUgdmFsdWVzICggMyAsICd0ZXh0MycgLCAndGV4dDMnICwg J3RleHQzJyAsICd0ZXh0MycgLCAndGV4dDMnICk7IHdpdGggMCBwYXJhbWV0 ZXIocykgb24gY29ubmVjdGlvbiByZWdyZXNzMQogW05PX1BJRF06IHNxbGNh OiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKLVtOT19QSURdOiBlY3BnX2V4ZWN1 dGUgb24gbGluZSAyMzogdXNpbmcgUFFleGVjCitbTk9fUElEXTogZWNwZ19l eGVjdXRlIG9uIGxpbmUgMjc6IHVzaW5nIFBRZXhlYwogW05PX1BJRF06IHNx bGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKLVtOT19QSURdOiBlY3BnX2V4 ZWN1dGUgb24gbGluZSAyMzogT0s6IElOU0VSVCAwIDEKK1tOT19QSURdOiBl Y3BnX2V4ZWN1dGUgb24gbGluZSAyNzogT0s6IElOU0VSVCAwIDEKIFtOT19Q SURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCi1bTk9fUElEXTog ZWNwZ19leGVjdXRlIG9uIGxpbmUgMjQ6IHF1ZXJ5OiBpbnNlcnQgaW50byBN eV9UYWJsZSB2YWx1ZXMgKCA0ICwgJ3RleHQ0JyApOyB3aXRoIDAgcGFyYW1l dGVyKHMpIG9uIGNvbm5lY3Rpb24gcmVncmVzczEKK1tOT19QSURdOiBlY3Bn X2V4ZWN1dGUgb24gbGluZSAyODogcXVlcnk6IGluc2VydCBpbnRvIE15X1Rh YmxlIHZhbHVlcyAoIDQgLCAndGV4dDQnICwgJ3RleHQ0JyAsICd0ZXh0NCcg LCAndGV4dDQnICwgJ3RleHQ0JyApOyB3aXRoIDAgcGFyYW1ldGVyKHMpIG9u IGNvbm5lY3Rpb24gcmVncmVzczEKIFtOT19QSURdOiBzcWxjYTogY29kZTog MCwgc3RhdGU6IDAwMDAwCi1bTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxp bmUgMjQ6IHVzaW5nIFBRZXhlYworW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBv biBsaW5lIDI4OiB1c2luZyBQUWV4ZWMKIFtOT19QSURdOiBzcWxjYTogY29k ZTogMCwgc3RhdGU6IDAwMDAwCi1bTk9fUElEXTogZWNwZ19leGVjdXRlIG9u IGxpbmUgMjQ6IE9LOiBJTlNFUlQgMCAxCitbTk9fUElEXTogZWNwZ19leGVj dXRlIG9uIGxpbmUgMjg6IE9LOiBJTlNFUlQgMCAxCiBbTk9fUElEXTogc3Fs Y2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAotW05PX1BJRF06IGVjcGdfZXhl Y3V0ZSBvbiBsaW5lIDI4OiBxdWVyeTogZGVjbGFyZSBDIGN1cnNvciBmb3Ig c2VsZWN0ICogZnJvbSBNeV9UYWJsZTsgd2l0aCAwIHBhcmFtZXRlcihzKSBv biBjb25uZWN0aW9uIHJlZ3Jlc3MxCitbTk9fUElEXTogZWNwZ19leGVjdXRl IG9uIGxpbmUgMzI6IHF1ZXJ5OiBkZWNsYXJlIEMgY3Vyc29yIGZvciBzZWxl Y3QgKiBmcm9tIE15X1RhYmxlOyB3aXRoIDAgcGFyYW1ldGVyKHMpIG9uIGNv bm5lY3Rpb24gcmVncmVzczEKIFtOT19QSURdOiBzcWxjYTogY29kZTogMCwg c3RhdGU6IDAwMDAwCi1bTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUg Mjg6IHVzaW5nIFBRZXhlYworW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBs aW5lIDMyOiB1c2luZyBQUWV4ZWMKIFtOT19QSURdOiBzcWxjYTogY29kZTog MCwgc3RhdGU6IDAwMDAwCi1bTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxp bmUgMjg6IE9LOiBERUNMQVJFIENVUlNPUgorW05PX1BJRF06IGVjcGdfZXhl Y3V0ZSBvbiBsaW5lIDMyOiBPSzogREVDTEFSRSBDVVJTT1IKIFtOT19QSURd OiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCi1bTk9fUElEXTogZWNw Z19leGVjdXRlIG9uIGxpbmUgMzI6IHF1ZXJ5OiBmZXRjaCAxIGluIEM7IHdp dGggMCBwYXJhbWV0ZXIocykgb24gY29ubmVjdGlvbiByZWdyZXNzMQorW05P X1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDM2OiBxdWVyeTogZmV0Y2gg MSBpbiBDOyB3aXRoIDAgcGFyYW1ldGVyKHMpIG9uIGNvbm5lY3Rpb24gcmVn cmVzczEKIFtOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAw Ci1bTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgMzI6IHVzaW5nIFBR ZXhlYworW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDM2OiB1c2lu ZyBQUWV4ZWMKIFtOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAw MDAwCi1bTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgMzI6IGNvcnJl Y3RseSBnb3QgMSB0dXBsZXMgd2l0aCAyIGZpZWxkcworW05PX1BJRF06IGVj cGdfZXhlY3V0ZSBvbiBsaW5lIDM2OiBjb3JyZWN0bHkgZ290IDEgdHVwbGVz IHdpdGggNiBmaWVsZHMKIFtOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3Rh dGU6IDAwMDAwCi1bTk9fUElEXTogZWNwZ19nZXRfZGF0YSBvbiBsaW5lIDMy OiBSRVNVTFQ6IDEgb2Zmc2V0OiAtMTsgYXJyYXk6IG5vCitbTk9fUElEXTog ZWNwZ19nZXRfZGF0YSBvbiBsaW5lIDM2OiBSRVNVTFQ6IDEgb2Zmc2V0OiAt MTsgYXJyYXk6IG5vCiBbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRl OiAwMDAwMAotW05PX1BJRF06IGVjcGdfZ2V0X2RhdGEgb24gbGluZSAzMjog UkVTVUxUOiB0ZXh0MSBvZmZzZXQ6IC0xOyBhcnJheTogbm8KK1tOT19QSURd OiBlY3BnX2dldF9kYXRhIG9uIGxpbmUgMzY6IFJFU1VMVDogdGV4dDEgb2Zm c2V0OiAtMTsgYXJyYXk6IG5vCiBbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAs IHN0YXRlOiAwMDAwMAotW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5l IDMyOiBxdWVyeTogZmV0Y2ggMSBpbiBDOyB3aXRoIDAgcGFyYW1ldGVyKHMp IG9uIGNvbm5lY3Rpb24gcmVncmVzczEKK1tOT19QSURdOiBlY3BnX2dldF9k YXRhIG9uIGxpbmUgMzY6IFJFU1VMVDogdGV4dDEgb2Zmc2V0OiAtMTsgYXJy YXk6IG5vCiBbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAw MAotW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDMyOiB1c2luZyBQ UWV4ZWMKK1tOT19QSURdOiBlY3BnX2dldF9kYXRhIG9uIGxpbmUgMzY6IFJF U1VMVDogdGV4dDEgb2Zmc2V0OiAtMTsgYXJyYXk6IG5vCiBbTk9fUElEXTog c3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAotW05PX1BJRF06IGVjcGdf ZXhlY3V0ZSBvbiBsaW5lIDMyOiBjb3JyZWN0bHkgZ290IDEgdHVwbGVzIHdp dGggMiBmaWVsZHMKK1tOT19QSURdOiBlY3BnX2dldF9kYXRhIG9uIGxpbmUg MzY6IFJFU1VMVDogdGV4dDEgb2Zmc2V0OiAtMTsgYXJyYXk6IG5vCiBbTk9f UElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAotW05PX1BJRF06 IGVjcGdfZ2V0X2RhdGEgb24gbGluZSAzMjogUkVTVUxUOiAyIG9mZnNldDog LTE7IGFycmF5OiBubworW05PX1BJRF06IGVjcGdfZ2V0X2RhdGEgb24gbGlu ZSAzNjogUkVTVUxUOiB0ZXh0MSBvZmZzZXQ6IC0xOyBhcnJheTogbm8KIFtO T19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCi1bTk9fUElE XTogZWNwZ19nZXRfZGF0YSBvbiBsaW5lIDMyOiBSRVNVTFQ6IHRleHQyIG9m ZnNldDogLTE7IGFycmF5OiBubworW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBv biBsaW5lIDM2OiBxdWVyeTogZmV0Y2ggMSBpbiBDOyB3aXRoIDAgcGFyYW1l dGVyKHMpIG9uIGNvbm5lY3Rpb24gcmVncmVzczEKIFtOT19QSURdOiBzcWxj YTogY29kZTogMCwgc3RhdGU6IDAwMDAwCi1bTk9fUElEXTogZWNwZ19leGVj dXRlIG9uIGxpbmUgMzI6IHF1ZXJ5OiBmZXRjaCAxIGluIEM7IHdpdGggMCBw YXJhbWV0ZXIocykgb24gY29ubmVjdGlvbiByZWdyZXNzMQorW05PX1BJRF06 IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDM2OiB1c2luZyBQUWV4ZWMKIFtOT19Q SURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCi1bTk9fUElEXTog ZWNwZ19leGVjdXRlIG9uIGxpbmUgMzI6IHVzaW5nIFBRZXhlYworW05PX1BJ RF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDM2OiBjb3JyZWN0bHkgZ290IDEg dHVwbGVzIHdpdGggNiBmaWVsZHMKIFtOT19QSURdOiBzcWxjYTogY29kZTog MCwgc3RhdGU6IDAwMDAwCi1bTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxp bmUgMzI6IGNvcnJlY3RseSBnb3QgMSB0dXBsZXMgd2l0aCAyIGZpZWxkcwor W05PX1BJRF06IGVjcGdfZ2V0X2RhdGEgb24gbGluZSAzNjogUkVTVUxUOiAy IG9mZnNldDogLTE7IGFycmF5OiBubwogW05PX1BJRF06IHNxbGNhOiBjb2Rl OiAwLCBzdGF0ZTogMDAwMDAKLVtOT19QSURdOiBlY3BnX2dldF9kYXRhIG9u IGxpbmUgMzI6IFJFU1VMVDogMyBvZmZzZXQ6IC0xOyBhcnJheTogbm8KK1tO T19QSURdOiBlY3BnX2dldF9kYXRhIG9uIGxpbmUgMzY6IFJFU1VMVDogdGV4 dDIgb2Zmc2V0OiAtMTsgYXJyYXk6IG5vCiBbTk9fUElEXTogc3FsY2E6IGNv ZGU6IDAsIHN0YXRlOiAwMDAwMAotW05PX1BJRF06IGVjcGdfZ2V0X2RhdGEg b24gbGluZSAzMjogUkVTVUxUOiB0ZXh0MyBvZmZzZXQ6IC0xOyBhcnJheTog bm8KK1tOT19QSURdOiBlY3BnX2dldF9kYXRhIG9uIGxpbmUgMzY6IFJFU1VM VDogdGV4dDIgb2Zmc2V0OiAtMTsgYXJyYXk6IG5vCiBbTk9fUElEXTogc3Fs Y2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAotW05PX1BJRF06IGVjcGdfZXhl Y3V0ZSBvbiBsaW5lIDMyOiBxdWVyeTogZmV0Y2ggMSBpbiBDOyB3aXRoIDAg cGFyYW1ldGVyKHMpIG9uIGNvbm5lY3Rpb24gcmVncmVzczEKK1tOT19QSURd OiBlY3BnX2dldF9kYXRhIG9uIGxpbmUgMzY6IFJFU1VMVDogdGV4dDIgb2Zm c2V0OiAtMTsgYXJyYXk6IG5vCiBbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAs IHN0YXRlOiAwMDAwMAotW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5l IDMyOiB1c2luZyBQUWV4ZWMKK1tOT19QSURdOiBlY3BnX2dldF9kYXRhIG9u IGxpbmUgMzY6IFJFU1VMVDogdGV4dDIgb2Zmc2V0OiAtMTsgYXJyYXk6IG5v CiBbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAotW05P X1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDMyOiBjb3JyZWN0bHkgZ290 IDEgdHVwbGVzIHdpdGggMiBmaWVsZHMKK1tOT19QSURdOiBlY3BnX2dldF9k YXRhIG9uIGxpbmUgMzY6IFJFU1VMVDogdGV4dDIgb2Zmc2V0OiAtMTsgYXJy YXk6IG5vCiBbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAw MAotW05PX1BJRF06IGVjcGdfZ2V0X2RhdGEgb24gbGluZSAzMjogUkVTVUxU OiA0IG9mZnNldDogLTE7IGFycmF5OiBubworW05PX1BJRF06IGVjcGdfZXhl Y3V0ZSBvbiBsaW5lIDM2OiBxdWVyeTogZmV0Y2ggMSBpbiBDOyB3aXRoIDAg cGFyYW1ldGVyKHMpIG9uIGNvbm5lY3Rpb24gcmVncmVzczEKIFtOT19QSURd OiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCi1bTk9fUElEXTogZWNw Z19nZXRfZGF0YSBvbiBsaW5lIDMyOiBSRVNVTFQ6IHRleHQ0IG9mZnNldDog LTE7IGFycmF5OiBubworW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5l IDM2OiB1c2luZyBQUWV4ZWMKIFtOT19QSURdOiBzcWxjYTogY29kZTogMCwg c3RhdGU6IDAwMDAwCi1bTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUg MzI6IHF1ZXJ5OiBmZXRjaCAxIGluIEM7IHdpdGggMCBwYXJhbWV0ZXIocykg b24gY29ubmVjdGlvbiByZWdyZXNzMQorW05PX1BJRF06IGVjcGdfZXhlY3V0 ZSBvbiBsaW5lIDM2OiBjb3JyZWN0bHkgZ290IDEgdHVwbGVzIHdpdGggNiBm aWVsZHMKIFtOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAw Ci1bTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgMzI6IHVzaW5nIFBR ZXhlYworW05PX1BJRF06IGVjcGdfZ2V0X2RhdGEgb24gbGluZSAzNjogUkVT VUxUOiAzIG9mZnNldDogLTE7IGFycmF5OiBubworW05PX1BJRF06IHNxbGNh OiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2dldF9k YXRhIG9uIGxpbmUgMzY6IFJFU1VMVDogdGV4dDMgb2Zmc2V0OiAtMTsgYXJy YXk6IG5vCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAw MAorW05PX1BJRF06IGVjcGdfZ2V0X2RhdGEgb24gbGluZSAzNjogUkVTVUxU OiB0ZXh0MyBvZmZzZXQ6IC0xOyBhcnJheTogbm8KK1tOT19QSURdOiBzcWxj YTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19nZXRf ZGF0YSBvbiBsaW5lIDM2OiBSRVNVTFQ6IHRleHQzIG9mZnNldDogLTE7IGFy cmF5OiBubworW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAw MDAKK1tOT19QSURdOiBlY3BnX2dldF9kYXRhIG9uIGxpbmUgMzY6IFJFU1VM VDogdGV4dDMgb2Zmc2V0OiAtMTsgYXJyYXk6IG5vCitbTk9fUElEXTogc3Fs Y2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZ2V0 X2RhdGEgb24gbGluZSAzNjogUkVTVUxUOiB0ZXh0MyBvZmZzZXQ6IC0xOyBh cnJheTogbm8KK1tOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAw MDAwCitbTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgMzY6IHF1ZXJ5 OiBmZXRjaCAxIGluIEM7IHdpdGggMCBwYXJhbWV0ZXIocykgb24gY29ubmVj dGlvbiByZWdyZXNzMQorW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0 ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSAzNjog dXNpbmcgUFFleGVjCiBbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRl OiAwMDAwMAotW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDMyOiBj b3JyZWN0bHkgZ290IDAgdHVwbGVzIHdpdGggMiBmaWVsZHMKK1tOT19QSURd OiBlY3BnX2V4ZWN1dGUgb24gbGluZSAzNjogY29ycmVjdGx5IGdvdCAxIHR1 cGxlcyB3aXRoIDYgZmllbGRzCiBbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAs IHN0YXRlOiAwMDAwMAotW05PX1BJRF06IHJhaXNpbmcgc3FsY29kZSAxMDAg b24gbGluZSAzMjogbm8gZGF0YSBmb3VuZCBvbiBsaW5lIDMyCitbTk9fUElE XTogZWNwZ19nZXRfZGF0YSBvbiBsaW5lIDM2OiBSRVNVTFQ6IDQgb2Zmc2V0 OiAtMTsgYXJyYXk6IG5vCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0 YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZ2V0X2RhdGEgb24gbGluZSAz NjogUkVTVUxUOiB0ZXh0NCBvZmZzZXQ6IC0xOyBhcnJheTogbm8KK1tOT19Q SURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTog ZWNwZ19nZXRfZGF0YSBvbiBsaW5lIDM2OiBSRVNVTFQ6IHRleHQ0IG9mZnNl dDogLTE7IGFycmF5OiBubworW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBz dGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2dldF9kYXRhIG9uIGxpbmUg MzY6IFJFU1VMVDogdGV4dDQgb2Zmc2V0OiAtMTsgYXJyYXk6IG5vCitbTk9f UElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06 IGVjcGdfZ2V0X2RhdGEgb24gbGluZSAzNjogUkVTVUxUOiB0ZXh0NCBvZmZz ZXQ6IC0xOyBhcnJheTogbm8KK1tOT19QSURdOiBzcWxjYTogY29kZTogMCwg c3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19nZXRfZGF0YSBvbiBsaW5l IDM2OiBSRVNVTFQ6IHRleHQ0IG9mZnNldDogLTE7IGFycmF5OiBubworW05P X1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURd OiBlY3BnX2V4ZWN1dGUgb24gbGluZSAzNjogcXVlcnk6IGZldGNoIDEgaW4g Qzsgd2l0aCAwIHBhcmFtZXRlcihzKSBvbiBjb25uZWN0aW9uIHJlZ3Jlc3Mx CitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05P X1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDM2OiB1c2luZyBQUWV4ZWMK K1tOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9f UElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgMzY6IGNvcnJlY3RseSBnb3Qg MCB0dXBsZXMgd2l0aCA2IGZpZWxkcworW05PX1BJRF06IHNxbGNhOiBjb2Rl OiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiByYWlzaW5nIHNxbGNvZGUg MTAwIG9uIGxpbmUgMzY6IG5vIGRhdGEgZm91bmQgb24gbGluZSAzNgogW05P X1BJRF06IHNxbGNhOiBjb2RlOiAxMDAsIHN0YXRlOiAwMjAwMAotW05PX1BJ RF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDM3OiBxdWVyeTogbW92ZSBiYWNr d2FyZCAyIGluIEM7IHdpdGggMCBwYXJhbWV0ZXIocykgb24gY29ubmVjdGlv biByZWdyZXNzMQorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDQx OiBxdWVyeTogbW92ZSBiYWNrd2FyZCAyIGluIEM7IHdpdGggMCBwYXJhbWV0 ZXIocykgb24gY29ubmVjdGlvbiByZWdyZXNzMQorW05PX1BJRF06IHNxbGNh OiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1 dGUgb24gbGluZSA0MTogdXNpbmcgUFFleGVjCitbTk9fUElEXTogc3FsY2E6 IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0 ZSBvbiBsaW5lIDQxOiBPSzogTU9WRSAyCitbTk9fUElEXTogc3FsY2E6IGNv ZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBv biBsaW5lIDQzOiBxdWVyeTogZmV0Y2ggMSBpbiBDOyB3aXRoIDAgcGFyYW1l dGVyKHMpIG9uIGNvbm5lY3Rpb24gcmVncmVzczEKK1tOT19QSURdOiBzcWxj YTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19leGVj dXRlIG9uIGxpbmUgNDM6IHVzaW5nIFBRZXhlYworW05PX1BJRF06IHNxbGNh OiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1 dGUgb24gbGluZSA0MzogY29ycmVjdGx5IGdvdCAxIHR1cGxlcyB3aXRoIDYg ZmllbGRzCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAw MAorW05PX1BJRF06IGVjcGdfZ2V0X2RhdGEgb24gbGluZSA0MzogUkVTVUxU OiA0IG9mZnNldDogLTE7IGFycmF5OiBubworW05PX1BJRF06IHNxbGNhOiBj b2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2dldF9kYXRh IG9uIGxpbmUgNDM6IFJFU1VMVDogdGV4dDQgb2Zmc2V0OiAtMTsgYXJyYXk6 IG5vCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAor W05PX1BJRF06IGVjcGdfZ2V0X2RhdGEgb24gbGluZSA0MzogUkVTVUxUOiB0 ZXh0NCBvZmZzZXQ6IC0xOyBhcnJheTogbm8KIFtOT19QSURdOiBzcWxjYTog Y29kZTogMCwgc3RhdGU6IDAwMDAwCi1bTk9fUElEXTogZWNwZ19leGVjdXRl IG9uIGxpbmUgMzc6IHVzaW5nIFBRZXhlYworW05PX1BJRF06IGVjcGdfZ2V0 X2RhdGEgb24gbGluZSA0MzogUkVTVUxUOiB0ZXh0NCBvZmZzZXQ6IC0xOyBh cnJheTogbm8KIFtOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAw MDAwCi1bTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgMzc6IE9LOiBN T1ZFIDIKK1tOT19QSURdOiBlY3BnX2dldF9kYXRhIG9uIGxpbmUgNDM6IFJF U1VMVDogdGV4dDQgb2Zmc2V0OiAtMTsgYXJyYXk6IG5vCiBbTk9fUElEXTog c3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAotW05PX1BJRF06IGVjcGdf ZXhlY3V0ZSBvbiBsaW5lIDM5OiBxdWVyeTogZmV0Y2ggMSBpbiBDOyB3aXRo IDAgcGFyYW1ldGVyKHMpIG9uIGNvbm5lY3Rpb24gcmVncmVzczEKK1tOT19Q SURdOiBlY3BnX2dldF9kYXRhIG9uIGxpbmUgNDM6IFJFU1VMVDogdGV4dDQg b2Zmc2V0OiAtMTsgYXJyYXk6IG5vCiBbTk9fUElEXTogc3FsY2E6IGNvZGU6 IDAsIHN0YXRlOiAwMDAwMAotW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBs aW5lIDM5OiB1c2luZyBQUWV4ZWMKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUg b24gbGluZSA0ODogcXVlcnk6IGRlY2xhcmUgRCBjdXJzb3IgZm9yIHNlbGVj dCAqIGZyb20gTXlfVGFibGUgd2hlcmUgSXRlbTEgPSAkMTsgd2l0aCAxIHBh cmFtZXRlcihzKSBvbiBjb25uZWN0aW9uIHJlZ3Jlc3MxCiBbTk9fUElEXTog c3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAotW05PX1BJRF06IGVjcGdf ZXhlY3V0ZSBvbiBsaW5lIDM5OiBjb3JyZWN0bHkgZ290IDEgdHVwbGVzIHdp dGggMiBmaWVsZHMKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSA0 ODogdXNpbmcgUFFleGVjUGFyYW1zCiBbTk9fUElEXTogc3FsY2E6IGNvZGU6 IDAsIHN0YXRlOiAwMDAwMAotW05PX1BJRF06IGVjcGdfZ2V0X2RhdGEgb24g bGluZSAzOTogUkVTVUxUOiA0IG9mZnNldDogLTE7IGFycmF5OiBubworW05P X1BJRF06IGZyZWVfcGFyYW1zIG9uIGxpbmUgNDg6IHBhcmFtZXRlciAxID0g MQogW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKLVtO T19QSURdOiBlY3BnX2dldF9kYXRhIG9uIGxpbmUgMzk6IFJFU1VMVDogdGV4 dDQgb2Zmc2V0OiAtMTsgYXJyYXk6IG5vCitbTk9fUElEXTogZWNwZ19leGVj dXRlIG9uIGxpbmUgNDg6IE9LOiBERUNMQVJFIENVUlNPUgogW05PX1BJRF06 IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKLVtOT19QSURdOiBlY3Bn X2V4ZWN1dGUgb24gbGluZSA0NDogcXVlcnk6IGRlY2xhcmUgRCBjdXJzb3Ig Zm9yIHNlbGVjdCAqIGZyb20gTXlfVGFibGUgd2hlcmUgSXRlbTEgPSAkMTsg d2l0aCAxIHBhcmFtZXRlcihzKSBvbiBjb25uZWN0aW9uIHJlZ3Jlc3MxCitb Tk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgNTI6IHF1ZXJ5OiBmZXRj aCAxIGluIEQ7IHdpdGggMCBwYXJhbWV0ZXIocykgb24gY29ubmVjdGlvbiBy ZWdyZXNzMQogW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAw MDAKLVtOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSA0NDogdXNpbmcg UFFleGVjUGFyYW1zCitbTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUg NTI6IHVzaW5nIFBRZXhlYwogW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBz dGF0ZTogMDAwMDAKLVtOT19QSURdOiBmcmVlX3BhcmFtcyBvbiBsaW5lIDQ0 OiBwYXJhbWV0ZXIgMSA9IDEKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24g bGluZSA1MjogY29ycmVjdGx5IGdvdCAxIHR1cGxlcyB3aXRoIDYgZmllbGRz CiBbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAotW05P X1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDQ0OiBPSzogREVDTEFSRSBD VVJTT1IKK1tOT19QSURdOiBlY3BnX2dldF9kYXRhIG9uIGxpbmUgNTI6IFJF U1VMVDogMSBvZmZzZXQ6IC0xOyBhcnJheTogbm8KIFtOT19QSURdOiBzcWxj YTogY29kZTogMCwgc3RhdGU6IDAwMDAwCi1bTk9fUElEXTogZWNwZ19leGVj dXRlIG9uIGxpbmUgNDg6IHF1ZXJ5OiBmZXRjaCAxIGluIEQ7IHdpdGggMCBw YXJhbWV0ZXIocykgb24gY29ubmVjdGlvbiByZWdyZXNzMQorW05PX1BJRF06 IGVjcGdfZ2V0X2RhdGEgb24gbGluZSA1MjogUkVTVUxUOiB0ZXh0MSBvZmZz ZXQ6IC0xOyBhcnJheTogbm8KIFtOT19QSURdOiBzcWxjYTogY29kZTogMCwg c3RhdGU6IDAwMDAwCi1bTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUg NDg6IHVzaW5nIFBRZXhlYworW05PX1BJRF06IGVjcGdfZ2V0X2RhdGEgb24g bGluZSA1MjogUkVTVUxUOiB0ZXh0MSBvZmZzZXQ6IC0xOyBhcnJheTogbm8K IFtOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCi1bTk9f UElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgNDg6IGNvcnJlY3RseSBnb3Qg MSB0dXBsZXMgd2l0aCAyIGZpZWxkcworW05PX1BJRF06IGVjcGdfZ2V0X2Rh dGEgb24gbGluZSA1MjogUkVTVUxUOiB0ZXh0MSBvZmZzZXQ6IC0xOyBhcnJh eTogbm8KIFtOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAw Ci1bTk9fUElEXTogZWNwZ19nZXRfZGF0YSBvbiBsaW5lIDQ4OiBSRVNVTFQ6 IDEgb2Zmc2V0OiAtMTsgYXJyYXk6IG5vCitbTk9fUElEXTogZWNwZ19nZXRf ZGF0YSBvbiBsaW5lIDUyOiBSRVNVTFQ6IHRleHQxIG9mZnNldDogLTE7IGFy cmF5OiBubwogW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAw MDAKLVtOT19QSURdOiBlY3BnX2dldF9kYXRhIG9uIGxpbmUgNDg6IFJFU1VM VDogdGV4dDEgb2Zmc2V0OiAtMTsgYXJyYXk6IG5vCitbTk9fUElEXTogZWNw Z19nZXRfZGF0YSBvbiBsaW5lIDUyOiBSRVNVTFQ6IHRleHQxIG9mZnNldDog LTE7IGFycmF5OiBubwogW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0 ZTogMDAwMDAKLVtOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSA0ODog cXVlcnk6IGZldGNoIDEgaW4gRDsgd2l0aCAwIHBhcmFtZXRlcihzKSBvbiBj b25uZWN0aW9uIHJlZ3Jlc3MxCitbTk9fUElEXTogZWNwZ19leGVjdXRlIG9u IGxpbmUgNTI6IHF1ZXJ5OiBmZXRjaCAxIGluIEQ7IHdpdGggMCBwYXJhbWV0 ZXIocykgb24gY29ubmVjdGlvbiByZWdyZXNzMQogW05PX1BJRF06IHNxbGNh OiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKLVtOT19QSURdOiBlY3BnX2V4ZWN1 dGUgb24gbGluZSA0ODogdXNpbmcgUFFleGVjCitbTk9fUElEXTogZWNwZ19l eGVjdXRlIG9uIGxpbmUgNTI6IHVzaW5nIFBRZXhlYwogW05PX1BJRF06IHNx bGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKLVtOT19QSURdOiBlY3BnX2V4 ZWN1dGUgb24gbGluZSA0ODogY29ycmVjdGx5IGdvdCAwIHR1cGxlcyB3aXRo IDIgZmllbGRzCitbTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgNTI6 IGNvcnJlY3RseSBnb3QgMCB0dXBsZXMgd2l0aCA2IGZpZWxkcwogW05PX1BJ RF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKLVtOT19QSURdOiBy YWlzaW5nIHNxbGNvZGUgMTAwIG9uIGxpbmUgNDg6IG5vIGRhdGEgZm91bmQg b24gbGluZSA0OAorW05PX1BJRF06IHJhaXNpbmcgc3FsY29kZSAxMDAgb24g bGluZSA1Mjogbm8gZGF0YSBmb3VuZCBvbiBsaW5lIDUyCiBbTk9fUElEXTog c3FsY2E6IGNvZGU6IDEwMCwgc3RhdGU6IDAyMDAwCi1bTk9fUElEXTogZWNw Z19leGVjdXRlIG9uIGxpbmUgNTE6IHF1ZXJ5OiBjbG9zZSBEOyB3aXRoIDAg cGFyYW1ldGVyKHMpIG9uIGNvbm5lY3Rpb24gcmVncmVzczEKK1tOT19QSURd OiBlY3BnX2V4ZWN1dGUgb24gbGluZSA1NTogcXVlcnk6IGNsb3NlIEQ7IHdp dGggMCBwYXJhbWV0ZXIocykgb24gY29ubmVjdGlvbiByZWdyZXNzMQogW05P X1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKLVtOT19QSURd OiBlY3BnX2V4ZWN1dGUgb24gbGluZSA1MTogdXNpbmcgUFFleGVjCitbTk9f UElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgNTU6IHVzaW5nIFBRZXhlYwog W05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKLVtOT19Q SURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSA1MTogT0s6IENMT1NFIENVUlNP UgorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDU1OiBPSzogQ0xP U0UgQ1VSU09SCiBbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAw MDAwMAotW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDUzOiBxdWVy eTogZHJvcCB0YWJsZSBNeV9UYWJsZTsgd2l0aCAwIHBhcmFtZXRlcihzKSBv biBjb25uZWN0aW9uIHJlZ3Jlc3MxCitbTk9fUElEXTogZWNwZ19leGVjdXRl IG9uIGxpbmUgNTc6IHF1ZXJ5OiBkcm9wIHRhYmxlIE15X1RhYmxlOyB3aXRo IDAgcGFyYW1ldGVyKHMpIG9uIGNvbm5lY3Rpb24gcmVncmVzczEKIFtOT19Q SURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCi1bTk9fUElEXTog ZWNwZ19leGVjdXRlIG9uIGxpbmUgNTM6IHVzaW5nIFBRZXhlYworW05PX1BJ RF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDU3OiB1c2luZyBQUWV4ZWMKIFtO T19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCi1bTk9fUElE XTogZWNwZ19jaGVja19QUXJlc3VsdCBvbiBsaW5lIDUzOiBiYWQgcmVzcG9u c2UgLSBFUlJPUjogIGNhbm5vdCBEUk9QIFRBQkxFICJteV90YWJsZSIgYmVj YXVzZSBpdCBpcyBiZWluZyB1c2VkIGJ5IGFjdGl2ZSBxdWVyaWVzIGluIHRo aXMgc2Vzc2lvbgorW05PX1BJRF06IGVjcGdfY2hlY2tfUFFyZXN1bHQgb24g bGluZSA1NzogYmFkIHJlc3BvbnNlIC0gRVJST1I6ICBjYW5ub3QgRFJPUCBU QUJMRSAibXlfdGFibGUiIGJlY2F1c2UgaXQgaXMgYmVpbmcgdXNlZCBieSBh Y3RpdmUgcXVlcmllcyBpbiB0aGlzIHNlc3Npb24KIFtOT19QSURdOiBzcWxj YTogY29kZTogMCwgc3RhdGU6IDAwMDAwCi1bTk9fUElEXTogcmFpc2luZyBz cWxzdGF0ZSA1NTAwNiAoc3FsY29kZSAtNDAwKTogY2Fubm90IERST1AgVEFC TEUgIm15X3RhYmxlIiBiZWNhdXNlIGl0IGlzIGJlaW5nIHVzZWQgYnkgYWN0 aXZlIHF1ZXJpZXMgaW4gdGhpcyBzZXNzaW9uIG9uIGxpbmUgNTMKK1tOT19Q SURdOiByYWlzaW5nIHNxbHN0YXRlIDU1MDA2IChzcWxjb2RlIC00MDApOiBj YW5ub3QgRFJPUCBUQUJMRSAibXlfdGFibGUiIGJlY2F1c2UgaXQgaXMgYmVp bmcgdXNlZCBieSBhY3RpdmUgcXVlcmllcyBpbiB0aGlzIHNlc3Npb24gb24g bGluZSA1NwogW05PX1BJRF06IHNxbGNhOiBjb2RlOiAtNDAwLCBzdGF0ZTog NTUwMDYKLVNRTCBlcnJvcjogY2Fubm90IERST1AgVEFCTEUgIm15X3RhYmxl IiBiZWNhdXNlIGl0IGlzIGJlaW5nIHVzZWQgYnkgYWN0aXZlIHF1ZXJpZXMg aW4gdGhpcyBzZXNzaW9uIG9uIGxpbmUgNTMKK1NRTCBlcnJvcjogY2Fubm90 IERST1AgVEFCTEUgIm15X3RhYmxlIiBiZWNhdXNlIGl0IGlzIGJlaW5nIHVz ZWQgYnkgYWN0aXZlIHF1ZXJpZXMgaW4gdGhpcyBzZXNzaW9uIG9uIGxpbmUg NTcKIFtOT19QSURdOiBlY3BnX2ZpbmlzaDogY29ubmVjdGlvbiByZWdyZXNz MSBjbG9zZWQKIFtOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAw MDAwCmRpZmYgLVUgNSAtTiAtciAtdyAuLi9vcmlnLkhFQUQvc3JjL2ludGVy ZmFjZXMvZWNwZy90ZXN0L2V4cGVjdGVkL3NxbC1mZXRjaC5zdGRvdXQgLi9z cmMvaW50ZXJmYWNlcy9lY3BnL3Rlc3QvZXhwZWN0ZWQvc3FsLWZldGNoLnN0 ZG91dAotLS0gLi4vb3JpZy5IRUFEL3NyYy9pbnRlcmZhY2VzL2VjcGcvdGVz dC9leHBlY3RlZC9zcWwtZmV0Y2guc3Rkb3V0CTIwMTMtMDgtMTkgMjA6MjI6 MTMuMDAwMDAwMDAwIC0wNDAwCisrKyAuL3NyYy9pbnRlcmZhY2VzL2VjcGcv dGVzdC9leHBlY3RlZC9zcWwtZmV0Y2guc3Rkb3V0CTIwMTMtMDgtMTkgMjA6 NTQ6MDAuMDAwMDAwMDAwIC0wNDAwCkBAIC0xLDYgKzEsNiBAQAotMTogdGV4 dDEKLTI6IHRleHQyCi0zOiB0ZXh0MwotNDogdGV4dDQKLTQ6IHRleHQ0Ci0x OiB0ZXh0MQorMTogdGV4dDEsIHRleHQxLCB0ZXh0MSwgdGV4dDEKKzI6IHRl eHQyLCB0ZXh0MiwgdGV4dDIsIHRleHQyCiszOiB0ZXh0MywgdGV4dDMsIHRl eHQzLCB0ZXh0MworNDogdGV4dDQsIHRleHQ0LCB0ZXh0NCwgdGV4dDQKKzQ6 IHRleHQ0LCB0ZXh0NCwgdGV4dDQsIHRleHQ0CisxOiB0ZXh0MSwgdGV4dDEs IHRleHQxLCB0ZXh0MQpkaWZmIC1VIDUgLU4gLXIgLXcgLi4vb3JpZy5IRUFE L3NyYy9pbnRlcmZhY2VzL2VjcGcvdGVzdC9wcmVwcm9jL3R5cGUucGdjIC4v c3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L3ByZXByb2MvdHlwZS5wZ2MKLS0t IC4uL29yaWcuSEVBRC9zcmMvaW50ZXJmYWNlcy9lY3BnL3Rlc3QvcHJlcHJv Yy90eXBlLnBnYwkyMDEzLTA4LTE5IDIwOjIyOjEzLjAwMDAwMDAwMCAtMDQw MAorKysgLi9zcmMvaW50ZXJmYWNlcy9lY3BnL3Rlc3QvcHJlcHJvYy90eXBl LnBnYwkyMDEzLTA4LTE5IDIwOjU0OjAwLjAwMDAwMDAwMCAtMDQwMApAQCAt MzIsMTMgKzMyLDI2IEBACiAgIHN0cnVjdCB2YXJjaGFyCiAgIHsKICAgCWlu dCBsZW47CiAJY2hhciB0ZXh0WzEwXTsKICAgfSB2YzsKKyAgc3RydWN0IG52 YXJjaGFyCisgIHsKKyAgICAgICAgaW50IGxlbjsKKyAgICAgICAgY2hhciB0 ZXh0WzEwXTsKKyAgfSBudmM7CisgIHN0cnVjdCB1dmFyY2hhcgorICB7Cisg ICAgICAgIGludCBsZW47CisgICAgICAgIGNoYXIgdGV4dFsyMF07CisgIH0g dXZjOworCiAgIEVYRUMgU1FMIEVORCBERUNMQVJFIFNFQ1RJT047CiAKICAg RVhFQyBTUUwgdmFyIHZjIGlzIHZhcmNoYXJbMTBdOworICBFWEVDIFNRTCB2 YXIgbnZjIGlzIG52YXJjaGFyWzEwXTsKKyAgRVhFQyBTUUwgdmFyIHV2YyBp cyB1dmFyY2hhclsyMF07CiAgIEVDUEdkZWJ1ZyAoMSwgc3RkZXJyKTsKIAog ICBlbXBsLmlkbnVtID0gMTsKICAgRVhFQyBTUUwgY29ubmVjdCB0byBSRUdS RVNTREIxOwogICBpZiAoc3FsY2Euc3FsY29kZSkKQEAgLTQ2LDM1ICs1OSwz NiBAQAogICAgICAgcHJpbnRmICgiY29ubmVjdCBlcnJvciA9ICVsZFxuIiwg c3FsY2Euc3FsY29kZSk7CiAgICAgICBleGl0IChzcWxjYS5zcWxjb2RlKTsK ICAgICB9CiAKICAgRVhFQyBTUUwgY3JlYXRlIHRhYmxlIGVtcGwKLSAgICAo aWRudW0gaW50ZWdlciwgbmFtZSBjaGFyKDIwKSwgYWNjcyBzbWFsbGludCwg c3RyaW5nMSBjaGFyKDEwKSwgc3RyaW5nMiBjaGFyKDEwKSwgc3RyaW5nMyBj aGFyKDEwKSk7CisgICAgKGlkbnVtIGludGVnZXIsIG5hbWUgY2hhcigyMCks IGFjY3Mgc21hbGxpbnQsIHN0cmluZzEgY2hhcigxMCksIHN0cmluZzIgY2hh cigxMCksIHN0cmluZzMgY2hhcigxMCksIHN0cmluZzQgY2hhcigxMCksIHN0 cmluZzUgY2hhcigxMCkpOwogICBpZiAoc3FsY2Euc3FsY29kZSkKICAgICB7 CiAgICAgICBwcmludGYgKCJjcmVhdGUgZXJyb3IgPSAlbGRcbiIsIHNxbGNh LnNxbGNvZGUpOwogICAgICAgZXhpdCAoc3FsY2Euc3FsY29kZSk7CiAgICAg fQogCi0gIEVYRUMgU1FMIGluc2VydCBpbnRvIGVtcGwgdmFsdWVzICgxLCAn dXNlciBuYW1lJywgMzIwLCAnZmlyc3Qgc3RyJywgJ3NlY29uZCBzdHInLCAn dGhpcmQgc3RyJyk7CisgIEVYRUMgU1FMIGluc2VydCBpbnRvIGVtcGwgdmFs dWVzICgxLCAndXNlciBuYW1lJywgMzIwLCAnZmlyc3Qgc3RyJywgJ3NlY29u ZCBzdHInLCAndGhpcmQgc3RyJywgJ2ZvdXJ0aCBzdHInLCAnZmlmdGggc3Ry Jyk7CiAgIGlmIChzcWxjYS5zcWxjb2RlKQogICAgIHsKICAgICAgIHByaW50 ZiAoImluc2VydCBlcnJvciA9ICVsZFxuIiwgc3FsY2Euc3FsY29kZSk7CiAg ICAgICBleGl0IChzcWxjYS5zcWxjb2RlKTsKICAgICB9CiAKLSAgRVhFQyBT UUwgc2VsZWN0IGlkbnVtLCBuYW1lLCBhY2NzLCBzdHJpbmcxLCBzdHJpbmcy LCBzdHJpbmczCi0JaW50byA6ZW1wbCwgOnN0ciwgOnB0ciwgOnZjCisgIEVY RUMgU1FMIHNlbGVjdCBpZG51bSwgbmFtZSwgYWNjcywgc3RyaW5nMSwgc3Ry aW5nMiwgc3RyaW5nMywgc3RyaW5nNCwgc3RyaW5nNSAKKwlpbnRvIDplbXBs LCA6c3RyLCA6cHRyLCA6dmMsIDpudmMsIDp1dmMKIAlmcm9tIGVtcGwKIAl3 aGVyZSBpZG51bSA9OmVtcGwuaWRudW07CiAgIGlmIChzcWxjYS5zcWxjb2Rl KQogICAgIHsKICAgICAgIHByaW50ZiAoInNlbGVjdCBlcnJvciA9ICVsZFxu Iiwgc3FsY2Euc3FsY29kZSk7CiAgICAgICBleGl0IChzcWxjYS5zcWxjb2Rl KTsKICAgICB9Ci0gIHByaW50ZiAoImlkPSVsZCBuYW1lPSclcycgYWNjcz0l ZCBzdHI9JyVzJyBwdHI9JyVzJyB2Yz0nJTEwLjEwcydcbiIsIGVtcGwuaWRu dW0sIGVtcGwubmFtZSwgZW1wbC5hY2NzLCBzdHIsIHB0ciwgdmMudGV4dCk7 CisgIHByaW50ZiAoImlkPSVsZCBuYW1lPSclcycgYWNjcz0lZCBzdHI9JyVz JyBwdHI9JyVzJyB2Yz0nJTEwLjEwcycgdmMubGVuPSclZCcgbnZjPSclMTAu MTBzJyBudmMubGVuPSclZCcgdXZjPSclMjAuMjBzJyB1dmMubGVuPSclZCdc biIsIGVtcGwuaWRudW0sIGVtcGwubmFtZSwgZW1wbC5hY2NzLCBzdHIsIHB0 ciwgdmMudGV4dCwgdmMubGVuLCBudmMudGV4dCwgbnZjLmxlbiwgdXZjLnRl eHQsIHV2Yy5sZW4pOwogCiAgIEVYRUMgU1FMIGRpc2Nvbm5lY3Q7CiAKICAg ZnJlZShwdHIpOwogICBleGl0ICgwKTsKIH0KKwpkaWZmIC1VIDUgLU4gLXIg LXcgLi4vb3JpZy5IRUFEL3NyYy9pbnRlcmZhY2VzL2VjcGcvdGVzdC9zcWwv ZmV0Y2gucGdjIC4vc3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L3NxbC9mZXRj aC5wZ2MKLS0tIC4uL29yaWcuSEVBRC9zcmMvaW50ZXJmYWNlcy9lY3BnL3Rl c3Qvc3FsL2ZldGNoLnBnYwkyMDEzLTA4LTE5IDIwOjIyOjEzLjAwMDAwMDAw MCAtMDQwMAorKysgLi9zcmMvaW50ZXJmYWNlcy9lY3BnL3Rlc3Qvc3FsL2Zl dGNoLnBnYwkyMDEzLTA4LTE5IDIwOjU0OjAwLjAwMDAwMDAwMCAtMDQwMApA QCAtNiw0OSArNiw1MyBAQAogCiBpbnQgbWFpbigpIHsKICAgRVhFQyBTUUwg QkVHSU4gREVDTEFSRSBTRUNUSU9OOwogICAgIGNoYXIgc3RyWzI1XTsKICAg ICBpbnQgaSwgY291bnQ9MTsKKyAgICBOQ0hBUiBuc3RyWzI1XTsKKyAgICBW QVJDSEFSICBfdmFyY2hhclsyNV07CisgICAgTlZBUkNIQVIgX252YXJjaGFy WzI1XTsKKyAgICBVVkFSQ0hBUiBfdXZhcmNoYXJbMjVdOwogICBFWEVDIFNR TCBFTkQgREVDTEFSRSBTRUNUSU9OOwogCiAgIEVDUEdkZWJ1ZygxLCBzdGRl cnIpOwogICBFWEVDIFNRTCBDT05ORUNUIFRPIFJFR1JFU1NEQjE7CiAKICAg RVhFQyBTUUwgV0hFTkVWRVIgU1FMV0FSTklORyBTUUxQUklOVDsKICAgRVhF QyBTUUwgV0hFTkVWRVIgU1FMRVJST1IgU1FMUFJJTlQ7CiAKLSAgRVhFQyBT UUwgQ1JFQVRFIFRBQkxFIE15X1RhYmxlICggSXRlbTEgaW50LCBJdGVtMiB0 ZXh0ICk7CisgIEVYRUMgU1FMIENSRUFURSBUQUJMRSBNeV9UYWJsZSAoIEl0 ZW0xIGludCwgSXRlbTIgdGV4dCwgSXRlbTMgdGV4dCwgSXRlbTQgdmFyY2hh ciwgSXRlbTUgdmFyY2hhciwgSXRlbTYgdmFyY2hhciApOwogCi0gIEVYRUMg U1FMIElOU0VSVCBJTlRPIE15X1RhYmxlIFZBTFVFUyAoIDEsICd0ZXh0MScp OwotICBFWEVDIFNRTCBJTlNFUlQgSU5UTyBNeV9UYWJsZSBWQUxVRVMgKCAy LCAndGV4dDInKTsKLSAgRVhFQyBTUUwgSU5TRVJUIElOVE8gTXlfVGFibGUg VkFMVUVTICggMywgJ3RleHQzJyk7Ci0gIEVYRUMgU1FMIElOU0VSVCBJTlRP IE15X1RhYmxlIFZBTFVFUyAoIDQsICd0ZXh0NCcpOworICBFWEVDIFNRTCBJ TlNFUlQgSU5UTyBNeV9UYWJsZSBWQUxVRVMgKCAxLCAndGV4dDEnLCAndGV4 dDEnLCAndGV4dDEnLCAndGV4dDEnLCAndGV4dDEnKTsKKyAgRVhFQyBTUUwg SU5TRVJUIElOVE8gTXlfVGFibGUgVkFMVUVTICggMiwgJ3RleHQyJywgJ3Rl eHQyJywgJ3RleHQyJywgJ3RleHQyJywgJ3RleHQyJyk7CisgIEVYRUMgU1FM IElOU0VSVCBJTlRPIE15X1RhYmxlIFZBTFVFUyAoIDMsICd0ZXh0MycsICd0 ZXh0MycsICd0ZXh0MycsICd0ZXh0MycsICd0ZXh0MycpOworICBFWEVDIFNR TCBJTlNFUlQgSU5UTyBNeV9UYWJsZSBWQUxVRVMgKCA0LCAndGV4dDQnLCAn dGV4dDQnLCAndGV4dDQnLCAndGV4dDQnLCAndGV4dDQnKTsKIAogICBFWEVD IFNRTCBERUNMQVJFIEMgQ1VSU09SIEZPUiBTRUxFQ1QgKiBGUk9NIE15X1Rh YmxlOwogCiAgIEVYRUMgU1FMIE9QRU4gQzsKIAogICBFWEVDIFNRTCBXSEVO RVZFUiBOT1QgRk9VTkQgRE8gQlJFQUs7CiAgIHdoaWxlICgxKSB7Ci0gIAlF WEVDIFNRTCBGRVRDSCAxIElOIEMgSU5UTyA6aSwgOnN0cjsKLQlwcmludGYo IiVkOiAlc1xuIiwgaSwgc3RyKTsKKyAgCUVYRUMgU1FMIEZFVENIIDEgSU4g QyBJTlRPIDppLCA6c3RyLCA6bnN0ciwgOl92YXJjaGFyLCA6X252YXJjaGFy LCA6X3V2YXJjaGFyOworCXByaW50ZigiJWQ6ICVzLCAlcywgJXMsICVzXG4i LCBpLCBzdHIsIG5zdHIsIF92YXJjaGFyLmFyciwgX252YXJjaGFyLmFycik7 CiAgIH0KIAogICBFWEVDIFNRTCBXSEVORVZFUiBOT1QgRk9VTkQgQ09OVElO VUU7CiAgIEVYRUMgU1FMIE1PVkUgQkFDS1dBUkQgMiBJTiBDOwogCi0gIEVY RUMgU1FMIEZFVENIIDpjb3VudCBJTiBDIElOVE8gOmksIDpzdHI7Ci0gIHBy aW50ZigiJWQ6ICVzXG4iLCBpLCBzdHIpOworICBFWEVDIFNRTCBGRVRDSCA6 Y291bnQgSU4gQyBJTlRPIDppLCA6c3RyLCA6bnN0ciwgOl92YXJjaGFyLCA6 X252YXJjaGFyLCA6X3V2YXJjaGFyOworICBwcmludGYoIiVkOiAlcywgJXMs ICVzLCAlc1xuIiwgaSwgc3RyLCBuc3RyLCBfdmFyY2hhci5hcnIsIF9udmFy Y2hhci5hcnIpOwogCiAgIEVYRUMgU1FMIERFQ0xBUkUgRCBDVVJTT1IgRk9S IFNFTEVDVCAqIEZST00gTXlfVGFibGUgV0hFUkUgSXRlbTEgPSAkMTsKIAog ICBFWEVDIFNRTCBPUEVOIEQgdXNpbmcgMTsKIAogICBFWEVDIFNRTCBXSEVO RVZFUiBOT1QgRk9VTkQgRE8gQlJFQUs7CiAgIHdoaWxlICgxKSB7Ci0gIAlF WEVDIFNRTCBGRVRDSCAxIElOIEQgSU5UTyA6aSwgOnN0cjsKLQlwcmludGYo IiVkOiAlc1xuIiwgaSwgc3RyKTsKKyAgCUVYRUMgU1FMIEZFVENIIDEgSU4g RCBJTlRPIDppLCA6c3RyLCA6bnN0ciwgOl92YXJjaGFyLCA6X252YXJjaGFy LCA6X3V2YXJjaGFyOworCXByaW50ZigiJWQ6ICVzLCAlcywgJXMsICVzXG4i LCBpLCBzdHIsIG5zdHIsIF92YXJjaGFyLmFyciwgX252YXJjaGFyLmFycik7 CiAgIH0KICAgRVhFQyBTUUwgQ0xPU0UgRDsKIAogICBFWEVDIFNRTCBEUk9Q IFRBQkxFIE15X1RhYmxlOwogCmRpZmYgLVUgNSAtTiAtciAtdyAuLi9vcmln LkhFQUQvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfZnVuY3Rp b25fMy5vdXQgLi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NyZWF0ZV9m dW5jdGlvbl8zLm91dAotLS0gLi4vb3JpZy5IRUFEL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvY3JlYXRlX2Z1bmN0aW9uXzMub3V0CTIwMTMtMDgtMTkg MjA6MjI6MTQuMDAwMDAwMDAwIC0wNDAwCisrKyAuL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvY3JlYXRlX2Z1bmN0aW9uXzMub3V0CTIwMTMtMDgtMTkg MjA6NTQ6MDAuMDAwMDAwMDAwIC0wNDAwCkBAIC0zMDYsMTAgKzMwNiwxMiBA QAogIG5hbWVnZSAgICAgICAgIHwgYm9vbGVhbiAgICB8IFswOjFdPXtuYW1l LG5hbWV9CiAgbmFtZWd0ICAgICAgICAgfCBib29sZWFuICAgIHwgWzA6MV09 e25hbWUsbmFtZX0KICBuYW1lbGUgICAgICAgICB8IGJvb2xlYW4gICAgfCBb MDoxXT17bmFtZSxuYW1lfQogIG5hbWVsdCAgICAgICAgIHwgYm9vbGVhbiAg ICB8IFswOjFdPXtuYW1lLG5hbWV9CiAgbmFtZW5lICAgICAgICAgfCBib29s ZWFuICAgIHwgWzA6MV09e25hbWUsbmFtZX0KKyBuYnBjaGFyZXEgICAgICB8 IGJvb2xlYW4gICAgfCBbMDoxXT17Im5hdGlvbmFsIGNoYXJhY3RlciIsIm5h dGlvbmFsIGNoYXJhY3RlciJ9CisgbmJwY2hhcm5lICAgICAgfCBib29sZWFu ICAgIHwgWzA6MV09eyJuYXRpb25hbCBjaGFyYWN0ZXIiLCJuYXRpb25hbCBj aGFyYWN0ZXIifQogIG5ldHdvcmtfZXEgICAgIHwgYm9vbGVhbiAgICB8IFsw OjFdPXtpbmV0LGluZXR9CiAgbmV0d29ya19nZSAgICAgfCBib29sZWFuICAg IHwgWzA6MV09e2luZXQsaW5ldH0KICBuZXR3b3JrX2d0ICAgICB8IGJvb2xl YW4gICAgfCBbMDoxXT17aW5ldCxpbmV0fQogIG5ldHdvcmtfbGUgICAgIHwg Ym9vbGVhbiAgICB8IFswOjFdPXtpbmV0LGluZXR9CiAgbmV0d29ya19sdCAg ICAgfCBib29sZWFuICAgIHwgWzA6MV09e2luZXQsaW5ldH0KQEAgLTM4MSwx MSArMzgzLDExIEBACiAgdmFyYml0Z3QgICAgICAgfCBib29sZWFuICAgIHwg WzA6MV09eyJiaXQgdmFyeWluZyIsImJpdCB2YXJ5aW5nIn0KICB2YXJiaXRs ZSAgICAgICB8IGJvb2xlYW4gICAgfCBbMDoxXT17ImJpdCB2YXJ5aW5nIiwi Yml0IHZhcnlpbmcifQogIHZhcmJpdGx0ICAgICAgIHwgYm9vbGVhbiAgICB8 IFswOjFdPXsiYml0IHZhcnlpbmciLCJiaXQgdmFyeWluZyJ9CiAgdmFyYml0 bmUgICAgICAgfCBib29sZWFuICAgIHwgWzA6MV09eyJiaXQgdmFyeWluZyIs ImJpdCB2YXJ5aW5nIn0KICB4aWRlcSAgICAgICAgICB8IGJvb2xlYW4gICAg fCBbMDoxXT17eGlkLHhpZH0KLSgyMjggcm93cykKKygyMzAgcm93cykKIAog LS0KIC0tIENBTExFRCBPTiBOVUxMIElOUFVUIHwgUkVUVVJOUyBOVUxMIE9O IE5VTEwgSU5QVVQgfCBTVFJJQ1QKIC0tCiBDUkVBVEUgRlVOQ1RJT04gZnVu Y3RleHRfRl8xKGludCkgUkVUVVJOUyBib29sIExBTkdVQUdFICdzcWwnCmRp ZmYgLVUgNSAtTiAtciAtdyAuLi9vcmlnLkhFQUQvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9uY2hhci5vdXQgLi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL25jaGFyLm91dAotLS0gLi4vb3JpZy5IRUFEL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvbmNoYXIub3V0CTE5NjktMTItMzEgMTk6MDA6MDAuMDAw MDAwMDAwIC0wNTAwCisrKyAuL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv bmNoYXIub3V0CTIwMTMtMDgtMTkgMjM6MzE6NDUuMDAwMDAwMDAwIC0wNDAw CkBAIC0wLDAgKzEsMTIyIEBACistLQorLS0gTkNIQVIKKy0tCistLSBmaXhl ZC1sZW5ndGggYnkgdmFsdWUKKy0tIGludGVybmFsbHkgcGFzc2VkIGJ5IHZh bHVlIGlmIDw9IDQgYnl0ZXMgaW4gc3RvcmFnZQorU0VMRUNUIG5jaGFyICdj JyA9IG5jaGFyICdjJyBBUyB0cnVlOworIHRydWUgCistLS0tLS0KKyB0Ciso MSByb3cpCisKKy0tCistLSBCdWlsZCBhIHRhYmxlIGZvciB0ZXN0aW5nCist LQorQ1JFQVRFIFRBQkxFIE5DSEFSX1RCTChmMSBuY2hhcik7CitJTlNFUlQg SU5UTyBOQ0hBUl9UQkwgKGYxKSBWQUxVRVMgKCdhJyk7CitJTlNFUlQgSU5U TyBOQ0hBUl9UQkwgKGYxKSBWQUxVRVMgKCdBJyk7CistLSBhbnkgb2YgdGhl IGZvbGxvd2luZyB0aHJlZSBpbnB1dCBmb3JtYXRzIGFyZSBhY2NlcHRhYmxl CitJTlNFUlQgSU5UTyBOQ0hBUl9UQkwgKGYxKSBWQUxVRVMgKCcxJyk7CitJ TlNFUlQgSU5UTyBOQ0hBUl9UQkwgKGYxKSBWQUxVRVMgKDIpOworSU5TRVJU IElOVE8gTkNIQVJfVEJMIChmMSkgVkFMVUVTICgnMycpOworLS0gemVyby1s ZW5ndGggbmNoYXIKK0lOU0VSVCBJTlRPIE5DSEFSX1RCTCAoZjEpIFZBTFVF UyAoJycpOworLS0gdHJ5IG5jaGFyJ3Mgb2YgZ3JlYXRlciB0aGFuIDEgbGVu Z3RoCitJTlNFUlQgSU5UTyBOQ0hBUl9UQkwgKGYxKSBWQUxVRVMgKCdjZCcp OworRVJST1I6ICB2YWx1ZSB0b28gbG9uZyBmb3IgdHlwZSBjaGFyYWN0ZXIo MSkKK0lOU0VSVCBJTlRPIE5DSEFSX1RCTCAoZjEpIFZBTFVFUyAoJ2MgICAg ICcpOworU0VMRUNUICcnIEFTIHNldmVuLCAqIEZST00gTkNIQVJfVEJMOwor IHNldmVuIHwgZjEgCistLS0tLS0tKy0tLS0KKyAgICAgICB8IGEKKyAgICAg ICB8IEEKKyAgICAgICB8IDEKKyAgICAgICB8IDIKKyAgICAgICB8IDMKKyAg ICAgICB8ICAKKyAgICAgICB8IGMKKyg3IHJvd3MpCisKK1NFTEVDVCAnJyBB UyBzaXgsIGMuKgorICAgRlJPTSBOQ0hBUl9UQkwgYworICAgV0hFUkUgYy5m MSA8PiAnYSc7Cisgc2l4IHwgZjEgCistLS0tLSstLS0tCisgICAgIHwgQQor ICAgICB8IDEKKyAgICAgfCAyCisgICAgIHwgMworICAgICB8ICAKKyAgICAg fCBjCisoNiByb3dzKQorCitTRUxFQ1QgJycgQVMgb25lLCBjLioKKyAgIEZS T00gTkNIQVJfVEJMIGMKKyAgIFdIRVJFIGMuZjEgPSAnYSc7Cisgb25lIHwg ZjEgCistLS0tLSstLS0tCisgICAgIHwgYQorKDEgcm93KQorCitTRUxFQ1Qg JycgQVMgZml2ZSwgYy4qCisgICBGUk9NIE5DSEFSX1RCTCBjCisgICBXSEVS RSBjLmYxIDwgJ2EnOworIGZpdmUgfCBmMSAKKy0tLS0tLSstLS0tCisgICAg ICB8IEEKKyAgICAgIHwgMQorICAgICAgfCAyCisgICAgICB8IDMKKyAgICAg IHwgIAorKDUgcm93cykKKworU0VMRUNUICcnIEFTIHNpeCwgYy4qCisgICBG Uk9NIE5DSEFSX1RCTCBjCisgICBXSEVSRSBjLmYxIDw9ICdhJzsKKyBzaXgg fCBmMSAKKy0tLS0tKy0tLS0KKyAgICAgfCBhCisgICAgIHwgQQorICAgICB8 IDEKKyAgICAgfCAyCisgICAgIHwgMworICAgICB8ICAKKyg2IHJvd3MpCisK K1NFTEVDVCAnJyBBUyBvbmUsIGMuKgorICAgRlJPTSBOQ0hBUl9UQkwgYwor ICAgV0hFUkUgYy5mMSA+ICdhJzsKKyBvbmUgfCBmMSAKKy0tLS0tKy0tLS0K KyAgICAgfCBjCisoMSByb3cpCisKK1NFTEVDVCAnJyBBUyB0d28sIGMuKgor ICAgRlJPTSBOQ0hBUl9UQkwgYworICAgV0hFUkUgYy5mMSA+PSAnYSc7Cisg dHdvIHwgZjEgCistLS0tLSstLS0tCisgICAgIHwgYQorICAgICB8IGMKKygy IHJvd3MpCisKK0RST1AgVEFCTEUgTkNIQVJfVEJMOworLS0KKy0tIE5vdyB0 ZXN0IGxvbmdlciBhcnJheXMgb2YgbmNoYXIKKy0tCitDUkVBVEUgVEFCTEUg TkNIQVJfVEJMKGYxIG5jaGFyKDQpKTsKK0lOU0VSVCBJTlRPIE5DSEFSX1RC TCAoZjEpIFZBTFVFUyAoJ2EnKTsKK0lOU0VSVCBJTlRPIE5DSEFSX1RCTCAo ZjEpIFZBTFVFUyAoJ2FiJyk7CitJTlNFUlQgSU5UTyBOQ0hBUl9UQkwgKGYx KSBWQUxVRVMgKCdhYmNkJyk7CitJTlNFUlQgSU5UTyBOQ0hBUl9UQkwgKGYx KSBWQUxVRVMgKCdhYmNkZScpOworRVJST1I6ICB2YWx1ZSB0b28gbG9uZyBm b3IgdHlwZSBjaGFyYWN0ZXIoNCkKK0lOU0VSVCBJTlRPIE5DSEFSX1RCTCAo ZjEpIFZBTFVFUyAoJ2FiY2QgICAgJyk7CitTRUxFQ1QgJycgQVMgZm91ciwg KiBGUk9NIE5DSEFSX1RCTDsKKyBmb3VyIHwgIGYxICAKKy0tLS0tLSstLS0t LS0KKyAgICAgIHwgYSAgIAorICAgICAgfCBhYiAgCisgICAgICB8IGFiY2QK KyAgICAgIHwgYWJjZAorKDQgcm93cykKKwpkaWZmIC1VIDUgLU4gLXIgLXcg Li4vb3JpZy5IRUFEL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvbnZhcmNo YXJfMS5vdXQgLi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL252YXJjaGFy XzEub3V0Ci0tLSAuLi9vcmlnLkhFQUQvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9udmFyY2hhcl8xLm91dAkxOTY5LTEyLTMxIDE5OjAwOjAwLjAwMDAw MDAwMCAtMDUwMAorKysgLi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL252 YXJjaGFyXzEub3V0CTIwMTMtMDgtMTkgMjM6MzE6NTAuMDAwMDAwMDAwIC0w NDAwCkBAIC0wLDAgKzEsMTExIEBACistLQorLS0gTlZBUkNIQVIKKy0tCitD UkVBVEUgVEFCTEUgTlZBUkNIQVJfVEJMKGYxIG52YXJjaGFyKDEpKTsKK0lO U0VSVCBJTlRPIE5WQVJDSEFSX1RCTCAoZjEpIFZBTFVFUyAoJ2EnKTsKK0lO U0VSVCBJTlRPIE5WQVJDSEFSX1RCTCAoZjEpIFZBTFVFUyAoJ0EnKTsKKy0t IGFueSBvZiB0aGUgZm9sbG93aW5nIHRocmVlIGlucHV0IGZvcm1hdHMgYXJl IGFjY2VwdGFibGUKK0lOU0VSVCBJTlRPIE5WQVJDSEFSX1RCTCAoZjEpIFZB TFVFUyAoJzEnKTsKK0lOU0VSVCBJTlRPIE5WQVJDSEFSX1RCTCAoZjEpIFZB TFVFUyAoMik7CitJTlNFUlQgSU5UTyBOVkFSQ0hBUl9UQkwgKGYxKSBWQUxV RVMgKCczJyk7CistLSB6ZXJvLWxlbmd0aCBuY2hhcgorSU5TRVJUIElOVE8g TlZBUkNIQVJfVEJMIChmMSkgVkFMVUVTICgnJyk7CistLSB0cnkgbnZhcmNo YXIncyBvZiBncmVhdGVyIHRoYW4gMSBsZW5ndGgKK0lOU0VSVCBJTlRPIE5W QVJDSEFSX1RCTCAoZjEpIFZBTFVFUyAoJ2NkJyk7CitFUlJPUjogIHZhbHVl IHRvbyBsb25nIGZvciB0eXBlIGNoYXJhY3RlciB2YXJ5aW5nKDEpCitJTlNF UlQgSU5UTyBOVkFSQ0hBUl9UQkwgKGYxKSBWQUxVRVMgKCdjICAgICAnKTsK K1NFTEVDVCAnJyBBUyBzZXZlbiwgKiBGUk9NIE5WQVJDSEFSX1RCTDsKKyBz ZXZlbiB8IGYxIAorLS0tLS0tLSstLS0tCisgICAgICAgfCBhCisgICAgICAg fCBBCisgICAgICAgfCAxCisgICAgICAgfCAyCisgICAgICAgfCAzCisgICAg ICAgfCAKKyAgICAgICB8IGMKKyg3IHJvd3MpCisKK1NFTEVDVCAnJyBBUyBz aXgsIGMuKgorICAgRlJPTSBOVkFSQ0hBUl9UQkwgYworICAgV0hFUkUgYy5m MSA8PiAnYSc7Cisgc2l4IHwgZjEgCistLS0tLSstLS0tCisgICAgIHwgQQor ICAgICB8IDEKKyAgICAgfCAyCisgICAgIHwgMworICAgICB8IAorICAgICB8 IGMKKyg2IHJvd3MpCisKK1NFTEVDVCAnJyBBUyBvbmUsIGMuKgorICAgRlJP TSBOVkFSQ0hBUl9UQkwgYworICAgV0hFUkUgYy5mMSA9ICdhJzsKKyBvbmUg fCBmMSAKKy0tLS0tKy0tLS0KKyAgICAgfCBhCisoMSByb3cpCisKK1NFTEVD VCAnJyBBUyBmaXZlLCBjLioKKyAgIEZST00gTlZBUkNIQVJfVEJMIGMKKyAg IFdIRVJFIGMuZjEgPCAnYSc7CisgZml2ZSB8IGYxIAorLS0tLS0tKy0tLS0K KyAgICAgIHwgMQorICAgICAgfCAyCisgICAgICB8IDMKKyAgICAgIHwgCiso NCByb3dzKQorCitTRUxFQ1QgJycgQVMgc2l4LCBjLioKKyAgIEZST00gTlZB UkNIQVJfVEJMIGMKKyAgIFdIRVJFIGMuZjEgPD0gJ2EnOworIHNpeCB8IGYx IAorLS0tLS0rLS0tLQorICAgICB8IGEKKyAgICAgfCAxCisgICAgIHwgMgor ICAgICB8IDMKKyAgICAgfCAKKyg1IHJvd3MpCisKK1NFTEVDVCAnJyBBUyBv bmUsIGMuKgorICAgRlJPTSBOVkFSQ0hBUl9UQkwgYworICAgV0hFUkUgYy5m MSA+ICdhJzsKKyBvbmUgfCBmMSAKKy0tLS0tKy0tLS0KKyAgICAgfCBBCisg ICAgIHwgYworKDIgcm93cykKKworU0VMRUNUICcnIEFTIHR3bywgYy4qCisg ICBGUk9NIE5WQVJDSEFSX1RCTCBjCisgICBXSEVSRSBjLmYxID49ICdhJzsK KyB0d28gfCBmMSAKKy0tLS0tKy0tLS0KKyAgICAgfCBhCisgICAgIHwgQQor ICAgICB8IGMKKygzIHJvd3MpCisKK0RST1AgVEFCTEUgTlZBUkNIQVJfVEJM OworLS0KKy0tIE5vdyB0ZXN0IGxvbmdlciBhcnJheXMgb2YgbmNoYXIKKy0t CitDUkVBVEUgVEFCTEUgTlZBUkNIQVJfVEJMKGYxIG52YXJjaGFyKDQpKTsK K0lOU0VSVCBJTlRPIE5WQVJDSEFSX1RCTCAoZjEpIFZBTFVFUyAoJ2EnKTsK K0lOU0VSVCBJTlRPIE5WQVJDSEFSX1RCTCAoZjEpIFZBTFVFUyAoJ2FiJyk7 CitJTlNFUlQgSU5UTyBOVkFSQ0hBUl9UQkwgKGYxKSBWQUxVRVMgKCdhYmNk Jyk7CitJTlNFUlQgSU5UTyBOVkFSQ0hBUl9UQkwgKGYxKSBWQUxVRVMgKCdh YmNkZScpOworRVJST1I6ICB2YWx1ZSB0b28gbG9uZyBmb3IgdHlwZSBjaGFy YWN0ZXIgdmFyeWluZyg0KQorSU5TRVJUIElOVE8gTlZBUkNIQVJfVEJMIChm MSkgVkFMVUVTICgnYWJjZCAgICAnKTsKK1NFTEVDVCAnJyBBUyBmb3VyLCAq IEZST00gTlZBUkNIQVJfVEJMOworIGZvdXIgfCAgZjEgIAorLS0tLS0tKy0t LS0tLQorICAgICAgfCBhCisgICAgICB8IGFiCisgICAgICB8IGFiY2QKKyAg ICAgIHwgYWJjZAorKDQgcm93cykKKwpkaWZmIC1VIDUgLU4gLXIgLXcgLi4v b3JpZy5IRUFEL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvbnZhcmNoYXJf Mi5vdXQgLi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL252YXJjaGFyXzIu b3V0Ci0tLSAuLi9vcmlnLkhFQUQvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9udmFyY2hhcl8yLm91dAkxOTY5LTEyLTMxIDE5OjAwOjAwLjAwMDAwMDAw MCAtMDUwMAorKysgLi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL252YXJj aGFyXzIub3V0CTIwMTMtMDgtMTkgMjM6MzE6NTAuMDAwMDAwMDAwIC0wNDAw CkBAIC0wLDAgKzEsMTExIEBACistLQorLS0gTlZBUkNIQVIKKy0tCitDUkVB VEUgVEFCTEUgTlZBUkNIQVJfVEJMKGYxIG52YXJjaGFyKDEpKTsKK0lOU0VS VCBJTlRPIE5WQVJDSEFSX1RCTCAoZjEpIFZBTFVFUyAoJ2EnKTsKK0lOU0VS VCBJTlRPIE5WQVJDSEFSX1RCTCAoZjEpIFZBTFVFUyAoJ0EnKTsKKy0tIGFu eSBvZiB0aGUgZm9sbG93aW5nIHRocmVlIGlucHV0IGZvcm1hdHMgYXJlIGFj Y2VwdGFibGUKK0lOU0VSVCBJTlRPIE5WQVJDSEFSX1RCTCAoZjEpIFZBTFVF UyAoJzEnKTsKK0lOU0VSVCBJTlRPIE5WQVJDSEFSX1RCTCAoZjEpIFZBTFVF UyAoMik7CitJTlNFUlQgSU5UTyBOVkFSQ0hBUl9UQkwgKGYxKSBWQUxVRVMg KCczJyk7CistLSB6ZXJvLWxlbmd0aCBuY2hhcgorSU5TRVJUIElOVE8gTlZB UkNIQVJfVEJMIChmMSkgVkFMVUVTICgnJyk7CistLSB0cnkgbnZhcmNoYXIn cyBvZiBncmVhdGVyIHRoYW4gMSBsZW5ndGgKK0lOU0VSVCBJTlRPIE5WQVJD SEFSX1RCTCAoZjEpIFZBTFVFUyAoJ2NkJyk7CitFUlJPUjogIHZhbHVlIHRv byBsb25nIGZvciB0eXBlIGNoYXJhY3RlciB2YXJ5aW5nKDEpCitJTlNFUlQg SU5UTyBOVkFSQ0hBUl9UQkwgKGYxKSBWQUxVRVMgKCdjICAgICAnKTsKK1NF TEVDVCAnJyBBUyBzZXZlbiwgKiBGUk9NIE5WQVJDSEFSX1RCTDsKKyBzZXZl biB8IGYxIAorLS0tLS0tLSstLS0tCisgICAgICAgfCBhCisgICAgICAgfCBB CisgICAgICAgfCAxCisgICAgICAgfCAyCisgICAgICAgfCAzCisgICAgICAg fCAKKyAgICAgICB8IGMKKyg3IHJvd3MpCisKK1NFTEVDVCAnJyBBUyBzaXgs IGMuKgorICAgRlJPTSBOVkFSQ0hBUl9UQkwgYworICAgV0hFUkUgYy5mMSA8 PiAnYSc7Cisgc2l4IHwgZjEgCistLS0tLSstLS0tCisgICAgIHwgQQorICAg ICB8IDEKKyAgICAgfCAyCisgICAgIHwgMworICAgICB8IAorICAgICB8IGMK Kyg2IHJvd3MpCisKK1NFTEVDVCAnJyBBUyBvbmUsIGMuKgorICAgRlJPTSBO VkFSQ0hBUl9UQkwgYworICAgV0hFUkUgYy5mMSA9ICdhJzsKKyBvbmUgfCBm MSAKKy0tLS0tKy0tLS0KKyAgICAgfCBhCisoMSByb3cpCisKK1NFTEVDVCAn JyBBUyBmaXZlLCBjLioKKyAgIEZST00gTlZBUkNIQVJfVEJMIGMKKyAgIFdI RVJFIGMuZjEgPCAnYSc7CisgZml2ZSB8IGYxIAorLS0tLS0tKy0tLS0KKyAg ICAgIHwgCisoMSByb3cpCisKK1NFTEVDVCAnJyBBUyBzaXgsIGMuKgorICAg RlJPTSBOVkFSQ0hBUl9UQkwgYworICAgV0hFUkUgYy5mMSA8PSAnYSc7Cisg c2l4IHwgZjEgCistLS0tLSstLS0tCisgICAgIHwgYQorICAgICB8IAorKDIg cm93cykKKworU0VMRUNUICcnIEFTIG9uZSwgYy4qCisgICBGUk9NIE5WQVJD SEFSX1RCTCBjCisgICBXSEVSRSBjLmYxID4gJ2EnOworIG9uZSB8IGYxIAor LS0tLS0rLS0tLQorICAgICB8IEEKKyAgICAgfCAxCisgICAgIHwgMgorICAg ICB8IDMKKyAgICAgfCBjCisoNSByb3dzKQorCitTRUxFQ1QgJycgQVMgdHdv LCBjLioKKyAgIEZST00gTlZBUkNIQVJfVEJMIGMKKyAgIFdIRVJFIGMuZjEg Pj0gJ2EnOworIHR3byB8IGYxIAorLS0tLS0rLS0tLQorICAgICB8IGEKKyAg ICAgfCBBCisgICAgIHwgMQorICAgICB8IDIKKyAgICAgfCAzCisgICAgIHwg YworKDYgcm93cykKKworRFJPUCBUQUJMRSBOVkFSQ0hBUl9UQkw7CistLQor LS0gTm93IHRlc3QgbG9uZ2VyIGFycmF5cyBvZiBuY2hhcgorLS0KK0NSRUFU RSBUQUJMRSBOVkFSQ0hBUl9UQkwoZjEgbnZhcmNoYXIoNCkpOworSU5TRVJU IElOVE8gTlZBUkNIQVJfVEJMIChmMSkgVkFMVUVTICgnYScpOworSU5TRVJU IElOVE8gTlZBUkNIQVJfVEJMIChmMSkgVkFMVUVTICgnYWInKTsKK0lOU0VS VCBJTlRPIE5WQVJDSEFSX1RCTCAoZjEpIFZBTFVFUyAoJ2FiY2QnKTsKK0lO U0VSVCBJTlRPIE5WQVJDSEFSX1RCTCAoZjEpIFZBTFVFUyAoJ2FiY2RlJyk7 CitFUlJPUjogIHZhbHVlIHRvbyBsb25nIGZvciB0eXBlIGNoYXJhY3RlciB2 YXJ5aW5nKDQpCitJTlNFUlQgSU5UTyBOVkFSQ0hBUl9UQkwgKGYxKSBWQUxV RVMgKCdhYmNkICAgICcpOworU0VMRUNUICcnIEFTIGZvdXIsICogRlJPTSBO VkFSQ0hBUl9UQkw7CisgZm91ciB8ICBmMSAgCistLS0tLS0rLS0tLS0tCisg ICAgICB8IGEKKyAgICAgIHwgYWIKKyAgICAgIHwgYWJjZAorICAgICAgfCBh YmNkCisoNCByb3dzKQorCmRpZmYgLVUgNSAtTiAtciAtdyAuLi9vcmlnLkhF QUQvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9udmFyY2hhcl9hbHRlci5v dXQgLi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL252YXJjaGFyX2FsdGVy Lm91dAotLS0gLi4vb3JpZy5IRUFEL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvbnZhcmNoYXJfYWx0ZXIub3V0CTE5NjktMTItMzEgMTk6MDA6MDAuMDAw MDAwMDAwIC0wNTAwCisrKyAuL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv bnZhcmNoYXJfYWx0ZXIub3V0CTIwMTMtMDgtMTkgMjM6MzE6NTAuMDAwMDAw MDAwIC0wNDAwCkBAIC0wLDAgKzEsMTM4IEBACistLWNyZWF0ZSB0YWJsZQor Y3JlYXRlIHRhYmxlIG5jaGFyX3Rlc3QgKGYxIG5jaGFyKDEwKSBkZWZhdWx0 IE4nYScsIGYyIG52YXJjaGFyKDEwKSBkZWZhdWx0IE4nYicpOworLS12YWx1 ZXMKK3ZhbHVlcyAoTidhYmPlkITlm73oqp4nKTsKKyAgY29sdW1uMSAgCist LS0tLS0tLS0tLQorIGFiY+WQhOWbveiqngorKDEgcm93KQorCistLWFuYWx5 emUKK2FuYWx5emUgbmNoYXJfdGVzdChmMSk7CithbmFseXplIG5jaGFyX3Rl c3QoZjIpOworLS12YWN1dW0gYW5hbHl6ZQordmFjdXVtIGFuYWx5emUgbmNo YXJfdGVzdChmMSk7Cit2YWN1dW0gYW5hbHl6ZSBuY2hhcl90ZXN0KGYyKTsK Ky0tYnJva2VuCistLXNldCBhcHBsaWNhdGlvbl9uYW1lIHRvIE4nYWJj5ZCE 5Zu96KqeJzsKKy0tc2VsZWN0CitzZWxlY3QgZjEsZjIsTidhYmPlkITlm73o qp4nIGZyb20gbmNoYXJfdGVzdDsKKyBmMSB8IGYyIHwgbnZhcmNoYXIgCist LS0tKy0tLS0rLS0tLS0tLS0tLQorKDAgcm93cykKKworLS1zZWxlY3QgaW50 bworc2VsZWN0IGYxLGYyLE4nYWJj5ZCE5Zu96KqeJyBpbnRvIG5jaGFyX3Rl c3QxIGZyb20gbmNoYXJfdGVzdDsKKy0tcmV2b2tlIHBlciBjb2x1bW4gbm90 IHN1cHBvcnRlZAorLS1ncmFudCBwZXIgY29sdW1uIG5vdCBzdXBwb3J0ZWQK Ky0taW5zZXJ0IGludG8vcmV0dXJuaW5nCitpbnNlcnQgaW50byBuY2hhcl90 ZXN0MSBzZWxlY3QgZjEsZjIsTidhYmPlkITlm73oqp4nIGZyb20gbmNoYXJf dGVzdCByZXR1cm5pbmcgZjEsZjIsbnZhcmNoYXIsTidhYmPlkITlm73oqp4n OworIGYxIHwgZjIgfCBudmFyY2hhciB8IG52YXJjaGFyIAorLS0tLSstLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tLQorKDAgcm93cykKKworLS1leHBsYWlu CitleHBsYWluIHNlbGVjdCBmMSxmMixOJ2FiY+WQhOWbveiqnicgZnJvbSBu Y2hhcl90ZXN0OworICAgICAgICAgICAgICAgICAgICAgICAgICBRVUVSWSBQ TEFOICAgICAgICAgICAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgU2VxIFNjYW4gb24gbmNoYXJfdGVzdCAgKGNvc3Q9MC4wMC4uMTcu NzAgcm93cz03NzAgd2lkdGg9NzYpCisoMSByb3cpCisKKy0tZG8KK2RvICQk YmVnaW4gcGVyZm9ybSBmMSxmMixOJ2FiY+WQhOWbveiqnicgZnJvbSBuY2hh cl90ZXN0OyBlbmQgJCQ7CistLWRlbGV0ZQorZGVsZXRlIGZyb20gbmNoYXJf dGVzdCB3aGVyZSBmMT1OJ2FiY+WQhOWbveiqnicgYW5kIGYyPU4nYWJj5ZCE 5Zu96KqeJzsKKy0tY3JlYXRlIHZpZXcKK2NyZWF0ZSB2aWV3IHYgYXMgc2Vs ZWN0IGYxLGYyLE4nYWJj5ZCE5Zu96KqeJyBmcm9tIG5jaGFyX3Rlc3Q7Cist LWNyZWF0ZSBpbmRleAorY3JlYXRlIGluZGV4IGkyIG9uIG5jaGFyX3Rlc3Qo ZjIpOworY3JlYXRlIGluZGV4IGkzIG9uIG5jaGFyX3Rlc3QoKGYxfHwnYWJj 5ZCE5Zu96KqeJykpOworY3JlYXRlIGluZGV4IGkxIG9uIG5jaGFyX3Rlc3Qo ZjEpOworLS1jb21tZW50Citjb21tZW50IG9uIENPTFVNTiBuY2hhcl90ZXN0 LmYxIGlzICdmMSc7Citjb21tZW50IG9uIENPTFVNTiBuY2hhcl90ZXN0LmYy IGlzICdmMic7Citjb21tZW50IG9uIHR5cGUgbnZhcmNoYXIgaXMgJ252YXJj aGFyJzsKKy0tYW5hbHl6ZQorYW5hbHl6ZSBuY2hhcl90ZXN0KGYxKTsKKy0t Y29weQorY29weSBuY2hhcl90ZXN0KGYxLCBmMikgdG8gc3Rkb3V0OworLS1h bHRlciB2aWV3CithbHRlciB2aWV3IHYgYWx0ZXIgY29sdW1uIGYxIHNldCBk ZWZhdWx0IE4nYWJj5ZCE5Zu96KqeJzsKK2FsdGVyIHZpZXcgdiBhbHRlciBj b2x1bW4gZjIgc2V0IGRlZmF1bHQgTidhYmPlkITlm73oqp4nOworLS1hbHRl ciB0YWJsZQorYWx0ZXIgdGFibGUgbmNoYXJfdGVzdDEgcmVuYW1lIGYxIHRv IGYzOworYWx0ZXIgdGFibGUgbmNoYXJfdGVzdDEgcmVuYW1lIGYyIHRvIGY0 OworYWx0ZXIgdGFibGUgbmNoYXJfdGVzdDEgYWx0ZXIgZjMgdHlwZSBuY2hh cigxMCk7CithbHRlciB0YWJsZSBuY2hhcl90ZXN0MSBhbHRlciBmNCB0eXBl IG52YXJjaGFyOworYWx0ZXIgdGFibGUgbmNoYXJfdGVzdDEgYWx0ZXIgZjMg c2V0IGRlZmF1bHQgTidhYmPlkITlm73oqp4nOworYWx0ZXIgdGFibGUgbmNo YXJfdGVzdDEgYWx0ZXIgZjQgc2V0IGRlZmF1bHQgTidhYmPlkITlm73oqp4n OworLS1kZWNsYXJlIGN1cnNvcgorYmVnaW47ZGVjbGFyZSBxcXEgY3Vyc29y IGZvciBzZWxlY3QgZjEsZjIsTidhYmPlkITlm73oqp4nIGZyb20gbmNoYXJf dGVzdDtjb21taXQ7CistLWNyZWF0ZSB0cmlnZ2VyCitjcmVhdGUgdHJpZ2dl ciB0ciBiZWZvcmUgdXBkYXRlIG9uIG5jaGFyX3Rlc3QgZm9yIGVhY2ggcm93 IHdoZW4gKE9MRC5mMT1OJ2FiY+WQhOWbveiqnicpIEVYRUNVVEUgUFJPQ0VE VVJFIHN1cHByZXNzX3JlZHVuZGFudF91cGRhdGVzX3RyaWdnZXIoKTsKKy0t Zm9yZWlnbiBrZXkKK2FsdGVyIHRhYmxlIG5jaGFyX3Rlc3QxIGFkZCBDT05T VFJBSU5UIG5jaGFyX3Rlc3QxX3BrIHByaW1hcnkga2V5KGYzKTsKK05PVElD RTogIEFMVEVSIFRBQkxFIC8gQUREIFBSSU1BUlkgS0VZIHdpbGwgY3JlYXRl IGltcGxpY2l0IGluZGV4ICJuY2hhcl90ZXN0MV9wayIgZm9yIHRhYmxlICJu Y2hhcl90ZXN0MSIKK2FsdGVyIHRhYmxlIG5jaGFyX3Rlc3QgYWRkIENPTlNU UkFJTlQgcXFxcSBGT1JFSUdOIEtFWSAoZjEpIHJlZmVyZW5jZXMgbmNoYXJf dGVzdDEoZjMpOworLS11cGRhdGUKK3VwZGF0ZSBuY2hhcl90ZXN0IHNldCBm MT1OJ2FiY+WQhOWbveiqnicsIGYyPSdhYmPlkITlm73oqp4nOworc2VsZWN0 ICogZnJvbSBuY2hhcl90ZXN0MTsKKyBmMyB8IGY0IHwgbnZhcmNoYXIgCist LS0tKy0tLS0rLS0tLS0tLS0tLQorKDAgcm93cykKKworY3JlYXRlIGRvbWFp biB0ZXN0X25jaGFyX2RvbWFpbiBhcyBuY2hhcigxMCkgZGVmYXVsdCAoTidh JykgQ0hFQ0sgKHZhbHVlIDw+IE4nYicpOworY3JlYXRlIGRvbWFpbiB0ZXN0 X252YXJjaGFyX2RvbWFpbiBhcyBudmFyY2hhcigxMCkgZGVmYXVsdCAoTidh JykgQ0hFQ0sgKHZhbHVlIDw+IE4nYicpOworYWx0ZXIgZG9tYWluIHRlc3Rf bmNoYXJfZG9tYWluIHNldCBkZWZhdWx0IChOJ2InKTsKK2FsdGVyIGRvbWFp biB0ZXN0X252YXJjaGFyX2RvbWFpbiBzZXQgZGVmYXVsdCAoTidiJyk7CitE Uk9QIERPTUFJTiB0ZXN0X25jaGFyX2RvbWFpbjsKK0RST1AgRE9NQUlOIHRl c3RfbnZhcmNoYXJfZG9tYWluOworQ1JFQVRFIEFHR1JFR0FURSB0ZXN0X252 YXJjaGFyX2FnZyAobnZhcmNoYXIpICggc2Z1bmMgPSBhcnJheV9hcHBlbmQs IHN0eXBlID0gbnZhcmNoYXJbXSwgaW5pdGNvbmQgPSAne30nKTsKK0NSRUFU RSBBR0dSRUdBVEUgdGVzdF9uY2hhcl9hZ2cgKG5jaGFyKDEwKSkgKCBzZnVu YyA9IGFycmF5X2FwcGVuZCwgc3R5cGUgPSBuY2hhcigxMClbXSwgaW5pdGNv bmQgPSAne30nKTsKK2FsdGVyIGFnZ3JlZ2F0ZSB0ZXN0X252YXJjaGFyX2Fn ZyhudmFyY2hhcikgcmVuYW1lIHRvIHRlc3RfbnZhcmNoYXJfYWdncmVnYXRl OworYWx0ZXIgYWdncmVnYXRlIHRlc3RfbmNoYXJfYWdnIChuY2hhcigxMCkp IHJlbmFtZSB0byB0ZXN0X25jaGFyX2FnZ3JlZ2F0ZTsKK2Ryb3AgYWdncmVn YXRlIHRlc3RfbnZhcmNoYXJfYWdncmVnYXRlKG52YXJjaGFyKTsKK2Ryb3Ag YWdncmVnYXRlIHRlc3RfbmNoYXJfYWdncmVnYXRlKG5jaGFyKDEwKSk7CitD UkVBVEUgVFlQRSB0ZXN0X25jaGFyX3R5cGUgQVMgKGYxIG5jaGFyKDEwKSk7 CitDUkVBVEUgVFlQRSB0ZXN0X252YXJjaGFyX3R5cGUgQVMgKGYxIG52YXJj aGFyKTsKK2Ryb3AgdHlwZSB0ZXN0X25jaGFyX3R5cGU7Citkcm9wIHR5cGUg dGVzdF9udmFyY2hhcl90eXBlOworZHJvcCB2aWV3IHY7Citkcm9wIHRhYmxl IG5jaGFyX3Rlc3Q7Citkcm9wIHRhYmxlIG5jaGFyX3Rlc3QxOworY3JlYXRl IHRhYmxlIG5jaGFyX3Rlc3QgKGYxIG5jaGFyKDEwKSwgZjIgbnZhcmNoYXIo MTApKTsKK3NlbGVjdCBmMSwgZjIsIE4nYScgIGZyb20gbmNoYXJfdGVzdCB3 aGVyZSBmMT1OJ2EnIGFuZCBmMj1OJ2InOworIGYxIHwgZjIgfCBudmFyY2hh ciAKKy0tLS0rLS0tLSstLS0tLS0tLS0tCisoMCByb3dzKQorCitpbnNlcnQg aW50byBuY2hhcl90ZXN0IHZhbHVlcyAoTidhJywgTidiJykgcmV0dXJuaW5n IChmMSwgZjIsIE4nYycpOworICAgICAgICByb3cgICAgICAgICAKKy0tLS0t LS0tLS0tLS0tLS0tLS0tCisgKCJhICAgICAgICAgIixiLGMpCisoMSByb3cp CisKK3NlbGVjdCBmMSwgZjIsIE4nYScgaW50byBuY2hhcl90ZXN0MSBmcm9t IG5jaGFyX3Rlc3Q7CitzZWxlY3QgKiBmcm9tIG5jaGFyX3Rlc3QxOworICAg ICBmMSAgICAgfCBmMiB8IG52YXJjaGFyIAorLS0tLS0tLS0tLS0tKy0tLS0r LS0tLS0tLS0tLQorIGEgICAgICAgICAgfCBiICB8IGEKKygxIHJvdykKKwor cHJlcGFyZSBxcXEobmNoYXIoMTApLCBudmFyY2hhcigxMCkpIEFTIHNlbGVj dCBmMSwgZjIsIE4nYScgIGZyb20gbmNoYXJfdGVzdCB3aGVyZSBmMT1OJ2En IGFuZCBmMj1OJ2InOworZXhlY3V0ZSBxcXEoTidhJywgTidiJyk7CisgICAg IGYxICAgICB8IGYyIHwgbnZhcmNoYXIgCistLS0tLS0tLS0tLS0rLS0tLSst LS0tLS0tLS0tCisgYSAgICAgICAgICB8IGIgIHwgYQorKDEgcm93KQorCitl eHBsYWluIHNlbGVjdCBmMSwgZjIsIE4nYScgIGZyb20gbmNoYXJfdGVzdCB3 aGVyZSBmMT1OJ2EnIGFuZCBmMj1OJ2InOworICAgICAgICAgICAgICAgICAg ICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAgICAgICAgICAgICAgICAK Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisgU2VxIFNjYW4gb24gbmNoYXJfdGVzdCAg KGNvc3Q9MC4wMC4uMjEuNTUgcm93cz0xIHdpZHRoPTc2KQorICAgRmlsdGVy OiAoKGYxID0gJ2EnOjpuYnBjaGFyKSBBTkQgKChmMik6OnRleHQgPSAnYic6 OnRleHQpKQorKDIgcm93cykKKworZGVsZXRlIGZyb20gbmNoYXJfdGVzdDEg d2hlcmUgZjE9TidhJyBhbmQgZjI9TidiJzsKK2Ryb3AgdGFibGUgbmNoYXJf dGVzdDsKK2Ryb3AgdGFibGUgbmNoYXJfdGVzdDE7CmRpZmYgLVUgNSAtTiAt ciAtdyAuLi9vcmlnLkhFQUQvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9u dmFyY2hhcl9mdW5jLm91dCAuL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv bnZhcmNoYXJfZnVuYy5vdXQKLS0tIC4uL29yaWcuSEVBRC9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL252YXJjaGFyX2Z1bmMub3V0CTE5NjktMTItMzEg MTk6MDA6MDAuMDAwMDAwMDAwIC0wNTAwCisrKyAuL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvbnZhcmNoYXJfZnVuYy5vdXQJMjAxMy0wOC0xOSAyMzoz MTo1MC4wMDAwMDAwMDAgLTA0MDAKQEAgLTAsMCArMSwyNTggQEAKK1NFTEVD VCBOJ+WQhOWbvScgfHwgTifmloflrZcnOworID9jb2x1bW4/IAorLS0tLS0t LS0tLQorIOWQhOWbveaWh+WtlworKDEgcm93KQorCitTRUxFQ1QgTiflkITl m70nIHx8IDQyOworID9jb2x1bW4/IAorLS0tLS0tLS0tLQorIOWQhOWbvTQy CisoMSByb3cpCisKK1NFTEVDVCBiaXRfbGVuZ3RoKE4n5ZCE5Zu9Jyk7Cisg Yml0X2xlbmd0aCAKKy0tLS0tLS0tLS0tLQorICAgICAgICAgNDgKKygxIHJv dykKKworU0VMRUNUIGNoYXJfbGVuZ3RoKE4n5ZCE5Zu9Jyk7CisgY2hhcl9s ZW5ndGggCistLS0tLS0tLS0tLS0tCisgICAgICAgICAgIDIKKygxIHJvdykK KworU0VMRUNUIGxvd2VyKE4n5ZCE5Zu9VE9NJyk7CisgIGxvd2VyICAKKy0t LS0tLS0tLQorIOWQhOWbvXRvbQorKDEgcm93KQorCitTRUxFQ1Qgb2N0ZXRf bGVuZ3RoKE4n5ZCE5Zu9Jyk7Cisgb2N0ZXRfbGVuZ3RoIAorLS0tLS0tLS0t LS0tLS0KKyAgICAgICAgICAgIDYKKygxIHJvdykKKworU0VMRUNUIG92ZXJs YXkoTiflkITvvLjvvLgnIHBsYWNpbmcgTifmloflrZcnIGZyb20gMiBmb3Ig Myk7Cisgb3ZlcmxheSAKKy0tLS0tLS0tLQorIOWQhOaWh+WtlworKDEgcm93 KQorCitTRUxFQ1QgcG9zaXRpb24oTifmlocnIGluIE4n5ZCE5Zu95paH5a2X Jyk7CisgcG9zaXRpb24gCistLS0tLS0tLS0tCisgICAgICAgIDMKKygxIHJv dykKKworU0VMRUNUIHN1YnN0cmluZyhOJ+WQhOWbveaWh+WtlycgZnJvbSAz IGZvciAzKTsKKyBzdWJzdHJpbmcgCistLS0tLS0tLS0tLQorIOaWh+Wtlwor KDEgcm93KQorCitTRUxFQ1Qgc3Vic3RyaW5nKE4n5ZCE5Zu95paH5a2X5YiX JyBmcm9tIE4nLi4uJCcpOworIHN1YnN0cmluZyAKKy0tLS0tLS0tLS0tCisg 5paH5a2X5YiXCisoMSByb3cpCisKK1NFTEVDVCBzdWJzdHJpbmcoTiflkITl m73mloflrZfliJflm70nIGZyb20gJyUjIuaWh1/liJcjIl8nIGZvciAnIycp OworIHN1YnN0cmluZyAKKy0tLS0tLS0tLS0tCisg5paH5a2X5YiXCisoMSBy b3cpCisKK1NFTEVDVCB0cmltKGJvdGggTifvvLgnIGZyb20gTifvvLjlkITl m73mloflrZfvvLjvvLgnKTsKKyAgYnRyaW0gICAKKy0tLS0tLS0tLS0KKyDl kITlm73mloflrZcKKygxIHJvdykKKworU0VMRUNUIHVwcGVyKE4n5ZCE5Zu9 dG9tJyk7CisgIHVwcGVyICAKKy0tLS0tLS0tLQorIOWQhOWbvVRPTQorKDEg cm93KQorCitTRUxFQ1QgYXNjaWkoTifmlbAnKTsKKyBhc2NpaSAKKy0tLS0t LS0KKyAyNTk2OAorKDEgcm93KQorCitTRUxFQ1QgYnRyaW0oTifvvLjvvLnl kITlm73vvLgnLCBOJ++8uO+8uScpOworIGJ0cmltIAorLS0tLS0tLQorIOWQ hOWbvQorKDEgcm93KQorCitTRUxFQ1QgY2hyKDI1OTY4KTsKKyBjaHIgCist LS0tLQorIOaVsAorKDEgcm93KQorCitTRUxFQ1QgY29uY2F0KE4n5ZCEJywg Tiflm70nLCBOVUxMLCBOJ+iqnicpOworIGNvbmNhdCAKKy0tLS0tLS0tCisg 5ZCE5Zu96KqeCisoMSByb3cpCisKK1NFTEVDVCBjb25jYXRfd3MoTifvvL8n LCBOJ+WQhOWbvScsIE5VTEwsIE4n5paH5a2XJyk7CisgY29uY2F0X3dzICAK Ky0tLS0tLS0tLS0tLQorIOWQhOWbve+8v+aWh+WtlworKDEgcm93KQorCist LSBjb252ZXJ0X3RvKE4n5ZCE5Zu9JywgJ1NKSVMnKSA9ICdceDhhNjU4ZDkx JworLS0gY29udmVydF90byhOJ+WQhOWbvScsICdVVEY4JykgPSAnXHhlNTkw ODRlNTliYmQnCitTRUxFQ1QgY29udmVydCgnXHg4YTY1OGQ5MSc6OmJ5dGVh LCAnU0pJUycsICdVVEY4Jyk7CisgICAgY29udmVydCAgICAgCistLS0tLS0t LS0tLS0tLS0tCisgXHhlNTkwODRlNTliYmQKKygxIHJvdykKKworLS0gTifl kITlm70nOjpieXRlYSA9ICdceGU1OTA4NGU1OWJiZCcKK1NFTEVDVCBjb252 ZXJ0X2Zyb20oJ1x4ZTU5MDg0ZTU5YmJkJzo6Ynl0ZWEsICdVVEY4Jyk7Cisg Y29udmVydF9mcm9tIAorLS0tLS0tLS0tLS0tLS0KKyDlkITlm70KKygxIHJv dykKKworLS0gJ1x4ZTU5MDg0ZTU5YmJkJzo6Ynl0ZWEgPSBOJ+WQhOWbvScK K1NFTEVDVCBjb252ZXJ0X3RvKE4n5ZCE5Zu9JywgJ1VURjgnKTsKKyAgIGNv bnZlcnRfdG8gICAKKy0tLS0tLS0tLS0tLS0tLS0KKyBceGU1OTA4NGU1OWJi ZAorKDEgcm93KQorCitTRUxFQ1QgZm9ybWF0KCflkITlm70gJXMsICUxJHMn LCBOJ+aWh+WtlycpOworICAgICBmb3JtYXQgICAgICAKKy0tLS0tLS0tLS0t LS0tLS0tCisg5ZCE5Zu9IOaWh+Wtlywg5paH5a2XCisoMSByb3cpCisKK1NF TEVDVCBpbml0Y2FwKE4naGkg5ZCE5Zu9Jyk7CisgaW5pdGNhcCAKKy0tLS0t LS0tLQorIEhpIOWQhOWbvQorKDEgcm93KQorCitTRUxFQ1QgbGVmdChOJ+WQ hOWbveaWh+WtlycsIDIpOworIGxlZnQgCistLS0tLS0KKyDlkITlm70KKygx IHJvdykKKworU0VMRUNUIGxlbmd0aChOJ+WQhOWbveaWh+WtlycpOworIGxl bmd0aCAKKy0tLS0tLS0tCisgICAgICA0CisoMSByb3cpCisKKy0tIE4n5ZCE 5Zu95paH5a2XJzo6Ynl0ZWEgPSAnXHhlNTkwODRlNTliYmRlNjk2ODdlNWFk OTcnCitTRUxFQ1QgbGVuZ3RoKCdceGU1OTA4NGU1OWJiZGU2OTY4N2U1YWQ5 Nyc6OmJ5dGVhICwgJ1VURjgnKTsKKyBsZW5ndGggCistLS0tLS0tLQorICAg ICAgNAorKDEgcm93KQorCitTRUxFQ1QgbHBhZChOJ+aWh+WtlycsIDMsIE4n 5ZCE5Zu9Jyk7CisgIGxwYWQgIAorLS0tLS0tLS0KKyDlkITmloflrZcKKygx IHJvdykKKworU0VMRUNUIGx0cmltKE4n4pevw5flkITlm70nLCBOJ+KXr8OX Jyk7CisgbHRyaW0gCistLS0tLS0tCisg5ZCE5Zu9CisoMSByb3cpCisKK1NF TEVDVCByZWdleHBfbWF0Y2hlcyhOJ+WQhOWbveaWh+Wtl+ODh+ODvOOCvycs IE4nKOaWh+Wtlyko44OH44O844K/KScpOworIHJlZ2V4cF9tYXRjaGVzIAor LS0tLS0tLS0tLS0tLS0tLQorIHvmloflrZcs44OH44O844K/fQorKDEgcm93 KQorCitTRUxFQ1QgcmVnZXhwX3JlcGxhY2UoTiflkITlm7145paH5a2XJywg Jy5bYS16XeaWhy4nLCBOJ+iqnicpOworIHJlZ2V4cF9yZXBsYWNlIAorLS0t LS0tLS0tLS0tLS0tLQorIOWQhOiqngorKDEgcm93KQorCitTRUxFQ1QgcmVn ZXhwX3NwbGl0X3RvX2FycmF5KE4n5ZCE5Zu9IOaWh+Wtl+WIlycsIEUnXFxz KycpOworIHJlZ2V4cF9zcGxpdF90b19hcnJheSAKKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisge+WQhOWbvSzmloflrZfliJd9CisoMSByb3cpCisKK1NF TEVDVCByZWdleHBfc3BsaXRfdG9fdGFibGUoTiflkITlm70g5paH5a2X5YiX JywgRSdcXHMrJyk7CisgcmVnZXhwX3NwbGl0X3RvX3RhYmxlIAorLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKyDlkITlm70KKyDmloflrZfliJcKKygyIHJv d3MpCisKK1NFTEVDVCByZXBlYXQoTifmloflrZcnLCA0KTsKKyAgICAgIHJl cGVhdCAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tCisg5paH5a2X5paH5a2X 5paH5a2X5paH5a2XCisoMSByb3cpCisKK1NFTEVDVCByZXBsYWNlKE4n5ZCE 5Zu95paH5a2X5Zu9JywgTiflm70nLCBOJ+iqnicpOworICByZXBsYWNlICAg CistLS0tLS0tLS0tLS0KKyDlkIToqp7mloflrZfoqp4KKygxIHJvdykKKwor U0VMRUNUIHJldmVyc2UoTiflkITlm73oqp4nKTsKKyByZXZlcnNlIAorLS0t LS0tLS0tCisg6Kqe5Zu95ZCECisoMSByb3cpCisKK1NFTEVDVCByaWdodChO J+WQhOWbveiqnicsIDIpOworIHJpZ2h0IAorLS0tLS0tLQorIOWbveiqngor KDEgcm93KQorCitTRUxFQ1QgcnBhZChOJ+WQhOWbvScsIDMsIE4n6KqeJyk7 CisgIHJwYWQgIAorLS0tLS0tLS0KKyDlkITlm73oqp4KKygxIHJvdykKKwor U0VMRUNUIHJ0cmltKE4n4pev5ZCE5Zu94pev4pevJywgTifil68nKTsKKyBy dHJpbSAKKy0tLS0tLS0KKyDil6/lkITlm70KKygxIHJvdykKKworU0VMRUNU IHNwbGl0X3BhcnQoTiflkITlm73il6/oqp7il6/mloflrZcnLCBOJ+KXrycs IDMpOworIHNwbGl0X3BhcnQgCistLS0tLS0tLS0tLS0KKyDmloflrZcKKygx IHJvdykKKworU0VMRUNUIHN0cnBvcyhOJ+WQhOWbveiqnicsIE4n6KqeJyk7 Cisgc3RycG9zIAorLS0tLS0tLS0KKyAgICAgIDMKKygxIHJvdykKKworU0VM RUNUIHN1YnN0cihOJ+WQhOWbveiqnicsIDMsIDMpOworIHN1YnN0ciAKKy0t LS0tLS0tCisg6KqeCisoMSByb3cpCisKK1NFTEVDVCB0cmFuc2xhdGUoTifl kITlm73mloflrZcnLCBOJ+WQhOWtlycsIE4n4pevw5cnKTsKKyB0cmFuc2xh dGUgCistLS0tLS0tLS0tLQorIOKXr+WbveaWh8OXCisoMSByb3cpCisKZGlm ZiAtVSA1IC1OIC1yIC13IC4uL29yaWcuSEVBRC9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL252YXJjaGFyX21pc2Mub3V0IC4vc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9udmFyY2hhcl9taXNjLm91dAotLS0gLi4vb3JpZy5IRUFE L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvbnZhcmNoYXJfbWlzYy5vdXQJ MTk2OS0xMi0zMSAxOTowMDowMC4wMDAwMDAwMDAgLTA1MDAKKysrIC4vc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9udmFyY2hhcl9taXNjLm91dAkyMDEz LTA4LTE5IDIzOjMxOjUwLjAwMDAwMDAwMCAtMDQwMApAQCAtMCwwICsxLDEy NiBAQAorc2VsZWN0IE4nYSAnPU4nYSc7CisgP2NvbHVtbj8gCistLS0tLS0t LS0tCisgZgorKDEgcm93KQorCitzZWxlY3QgTidhICc9J2EnOworID9jb2x1 bW4/IAorLS0tLS0tLS0tLQorIGYKKygxIHJvdykKKworc2VsZWN0IE4nYSc9 J2EnOworID9jb2x1bW4/IAorLS0tLS0tLS0tLQorIHQKKygxIHJvdykKKwor c2VsZWN0IE4nYSAnPSdhJzo6Y2hhcigxKTsKKyA/Y29sdW1uPyAKKy0tLS0t LS0tLS0KKyB0CisoMSByb3cpCisKK3NlbGVjdCBOJ2EgJz0nYSc6Om5jaGFy KDEpOworID9jb2x1bW4/IAorLS0tLS0tLS0tLQorIHQKKygxIHJvdykKKwor c2VsZWN0IE4nYSAnPSdhJzo6dmFyY2hhcigxKTsKKyA/Y29sdW1uPyAKKy0t LS0tLS0tLS0KKyBmCisoMSByb3cpCisKK3NlbGVjdCBOJ2EgJz0nYSc6Om52 YXJjaGFyKDEpOworID9jb2x1bW4/IAorLS0tLS0tLS0tLQorIGYKKygxIHJv dykKKworc2VsZWN0IE4nYSc9J2EnOjpudmFyY2hhcigxKTsKKyA/Y29sdW1u PyAKKy0tLS0tLS0tLS0KKyB0CisoMSByb3cpCisKK3NlbGVjdCBOJ2EnPSdh Jzo6dmFyY2hhcigxKTsKKyA/Y29sdW1uPyAKKy0tLS0tLS0tLS0KKyB0Ciso MSByb3cpCisKK3NlbGVjdCBOJ2EnPSdhJzo6Y2hhcigxKTsKKyA/Y29sdW1u PyAKKy0tLS0tLS0tLS0KKyB0CisoMSByb3cpCisKK3NlbGVjdCBOJ2EnPSdh Jzo6bmNoYXIoMSk7CisgP2NvbHVtbj8gCistLS0tLS0tLS0tCisgdAorKDEg cm93KQorCitzZWxlY3QgJ2EnOjpuY2hhcigxMCk9J2EnOjpjaGFyKDEpOwor ID9jb2x1bW4/IAorLS0tLS0tLS0tLQorIHQKKygxIHJvdykKKworc2VsZWN0 ICdhJzo6bmNoYXIoMTApPSdhJzo6bmNoYXIoMSk7CisgP2NvbHVtbj8gCist LS0tLS0tLS0tCisgdAorKDEgcm93KQorCitzZWxlY3QgJ2EnOjpuY2hhcigx MCk9J2EnOjp2YXJjaGFyKDEpOworID9jb2x1bW4/IAorLS0tLS0tLS0tLQor IHQKKygxIHJvdykKKworc2VsZWN0ICdhJzo6bmNoYXIoMTApPSdhJzo6bnZh cmNoYXIoMSk7CisgP2NvbHVtbj8gCistLS0tLS0tLS0tCisgdAorKDEgcm93 KQorCitzZWxlY3QgJ2EnOjpudmFyY2hhcigxMCk9J2EnOjp2YXJjaGFyKDEp OworID9jb2x1bW4/IAorLS0tLS0tLS0tLQorIHQKKygxIHJvdykKKworc2Vs ZWN0ICdhJzo6bnZhcmNoYXIoMTApPSdhJzo6dmFyY2hhcigxMCk7CisgP2Nv bHVtbj8gCistLS0tLS0tLS0tCisgdAorKDEgcm93KQorCitzZWxlY3QgJ2En OjpudmFyY2hhcigxMCk9J2EgJzo6dmFyY2hhcigxMCk7CisgP2NvbHVtbj8g CistLS0tLS0tLS0tCisgZgorKDEgcm93KQorCitzZWxlY3QgJ2EnOjpudmFy Y2hhcigxMCk9J2EgJzo6Y2hhcigxMCk7CisgP2NvbHVtbj8gCistLS0tLS0t LS0tCisgdAorKDEgcm93KQorCitzZWxlY3QgJ2EgJzo6bmNoYXIoMTApPSdh ICAnOjpuY2hhcig1KTsKKyA/Y29sdW1uPyAKKy0tLS0tLS0tLS0KKyB0Ciso MSByb3cpCisKK3NlbGVjdCAnYSAnOjpuY2hhcigxMCk9J2EgICc6OmNoYXIo NSk7CisgP2NvbHVtbj8gCistLS0tLS0tLS0tCisgdAorKDEgcm93KQorCmRp ZmYgLVUgNSAtTiAtciAtdyAuLi9vcmlnLkhFQUQvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9udmFyY2hhci5vdXQgLi9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL252YXJjaGFyLm91dAotLS0gLi4vb3JpZy5IRUFEL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvbnZhcmNoYXIub3V0CTE5NjktMTItMzEgMTk6 MDA6MDAuMDAwMDAwMDAwIC0wNTAwCisrKyAuL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvbnZhcmNoYXIub3V0CTIwMTMtMDgtMTkgMjM6MzE6NTAuMDAw MDAwMDAwIC0wNDAwCkBAIC0wLDAgKzEsMTExIEBACistLQorLS0gTlZBUkNI QVIKKy0tCitDUkVBVEUgVEFCTEUgTlZBUkNIQVJfVEJMKGYxIG52YXJjaGFy KDEpKTsKK0lOU0VSVCBJTlRPIE5WQVJDSEFSX1RCTCAoZjEpIFZBTFVFUyAo J2EnKTsKK0lOU0VSVCBJTlRPIE5WQVJDSEFSX1RCTCAoZjEpIFZBTFVFUyAo J0EnKTsKKy0tIGFueSBvZiB0aGUgZm9sbG93aW5nIHRocmVlIGlucHV0IGZv cm1hdHMgYXJlIGFjY2VwdGFibGUKK0lOU0VSVCBJTlRPIE5WQVJDSEFSX1RC TCAoZjEpIFZBTFVFUyAoJzEnKTsKK0lOU0VSVCBJTlRPIE5WQVJDSEFSX1RC TCAoZjEpIFZBTFVFUyAoMik7CitJTlNFUlQgSU5UTyBOVkFSQ0hBUl9UQkwg KGYxKSBWQUxVRVMgKCczJyk7CistLSB6ZXJvLWxlbmd0aCBjaGFyCitJTlNF UlQgSU5UTyBOVkFSQ0hBUl9UQkwgKGYxKSBWQUxVRVMgKCcnKTsKKy0tIHRy eSBudmFyY2hhcidzIG9mIGdyZWF0ZXIgdGhhbiAxIGxlbmd0aAorSU5TRVJU IElOVE8gTlZBUkNIQVJfVEJMIChmMSkgVkFMVUVTICgnY2QnKTsKK0VSUk9S OiAgdmFsdWUgdG9vIGxvbmcgZm9yIHR5cGUgY2hhcmFjdGVyIHZhcnlpbmco MSkKK0lOU0VSVCBJTlRPIE5WQVJDSEFSX1RCTCAoZjEpIFZBTFVFUyAoJ2Mg ICAgICcpOworU0VMRUNUICcnIEFTIHNldmVuLCAqIEZST00gTlZBUkNIQVJf VEJMOworIHNldmVuIHwgZjEgCistLS0tLS0tKy0tLS0KKyAgICAgICB8IGEK KyAgICAgICB8IEEKKyAgICAgICB8IDEKKyAgICAgICB8IDIKKyAgICAgICB8 IDMKKyAgICAgICB8IAorICAgICAgIHwgYworKDcgcm93cykKKworU0VMRUNU ICcnIEFTIHNpeCwgYy4qCisgICBGUk9NIE5WQVJDSEFSX1RCTCBjCisgICBX SEVSRSBjLmYxIDw+ICdhJzsKKyBzaXggfCBmMSAKKy0tLS0tKy0tLS0KKyAg ICAgfCBBCisgICAgIHwgMQorICAgICB8IDIKKyAgICAgfCAzCisgICAgIHwg CisgICAgIHwgYworKDYgcm93cykKKworU0VMRUNUICcnIEFTIG9uZSwgYy4q CisgICBGUk9NIE5WQVJDSEFSX1RCTCBjCisgICBXSEVSRSBjLmYxID0gJ2En OworIG9uZSB8IGYxIAorLS0tLS0rLS0tLQorICAgICB8IGEKKygxIHJvdykK KworU0VMRUNUICcnIEFTIGZpdmUsIGMuKgorICAgRlJPTSBOVkFSQ0hBUl9U QkwgYworICAgV0hFUkUgYy5mMSA8ICdhJzsKKyBmaXZlIHwgZjEgCistLS0t LS0rLS0tLQorICAgICAgfCBBCisgICAgICB8IDEKKyAgICAgIHwgMgorICAg ICAgfCAzCisgICAgICB8IAorKDUgcm93cykKKworU0VMRUNUICcnIEFTIHNp eCwgYy4qCisgICBGUk9NIE5WQVJDSEFSX1RCTCBjCisgICBXSEVSRSBjLmYx IDw9ICdhJzsKKyBzaXggfCBmMSAKKy0tLS0tKy0tLS0KKyAgICAgfCBhCisg ICAgIHwgQQorICAgICB8IDEKKyAgICAgfCAyCisgICAgIHwgMworICAgICB8 IAorKDYgcm93cykKKworU0VMRUNUICcnIEFTIG9uZSwgYy4qCisgICBGUk9N IE5WQVJDSEFSX1RCTCBjCisgICBXSEVSRSBjLmYxID4gJ2EnOworIG9uZSB8 IGYxIAorLS0tLS0rLS0tLQorICAgICB8IGMKKygxIHJvdykKKworU0VMRUNU ICcnIEFTIHR3bywgYy4qCisgICBGUk9NIE5WQVJDSEFSX1RCTCBjCisgICBX SEVSRSBjLmYxID49ICdhJzsKKyB0d28gfCBmMSAKKy0tLS0tKy0tLS0KKyAg ICAgfCBhCisgICAgIHwgYworKDIgcm93cykKKworRFJPUCBUQUJMRSBOVkFS Q0hBUl9UQkw7CistLQorLS0gTm93IHRlc3QgbG9uZ2VyIGFycmF5cyBvZiBj aGFyCistLQorQ1JFQVRFIFRBQkxFIE5WQVJDSEFSX1RCTChmMSBudmFyY2hh cig0KSk7CitJTlNFUlQgSU5UTyBOVkFSQ0hBUl9UQkwgKGYxKSBWQUxVRVMg KCdhJyk7CitJTlNFUlQgSU5UTyBOVkFSQ0hBUl9UQkwgKGYxKSBWQUxVRVMg KCdhYicpOworSU5TRVJUIElOVE8gTlZBUkNIQVJfVEJMIChmMSkgVkFMVUVT ICgnYWJjZCcpOworSU5TRVJUIElOVE8gTlZBUkNIQVJfVEJMIChmMSkgVkFM VUVTICgnYWJjZGUnKTsKK0VSUk9SOiAgdmFsdWUgdG9vIGxvbmcgZm9yIHR5 cGUgY2hhcmFjdGVyIHZhcnlpbmcoNCkKK0lOU0VSVCBJTlRPIE5WQVJDSEFS X1RCTCAoZjEpIFZBTFVFUyAoJ2FiY2QgICAgJyk7CitTRUxFQ1QgJycgQVMg Zm91ciwgKiBGUk9NIE5WQVJDSEFSX1RCTDsKKyBmb3VyIHwgIGYxICAKKy0t LS0tLSstLS0tLS0KKyAgICAgIHwgYQorICAgICAgfCBhYgorICAgICAgfCBh YmNkCisgICAgICB8IGFiY2QKKyg0IHJvd3MpCisKZGlmZiAtVSA1IC1OIC1y IC13IC4uL29yaWcuSEVBRC9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL29w cl9zYW5pdHkub3V0IC4vc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9vcHJf c2FuaXR5Lm91dAotLS0gLi4vb3JpZy5IRUFEL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvb3ByX3Nhbml0eS5vdXQJMjAxMy0wOC0xOSAyMDoyMjoxNC4w MDAwMDAwMDAgLTA0MDAKKysrIC4vc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9vcHJfc2FuaXR5Lm91dAkyMDEzLTA4LTE5IDIwOjU0OjAwLjAwMDAwMDAw MCAtMDQwMApAQCAtMTUyLDEyICsxNTIsMTUgQEAKICAgICAocDEucHJvcmV0 dHlwZSA8IHAyLnByb3JldHR5cGUpCiBPUkRFUiBCWSAxLCAyOwogIHByb3Jl dHR5cGUgfCBwcm9yZXR0eXBlIAogLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LQogICAgICAgICAgMjUgfCAgICAgICAxMDQzCisgICAgICAgICAyNSB8ICAg ICAgIDYwMDEKKyAgICAgICAxMDQyIHwgICAgICAgNTAwMQorICAgICAgIDEw NDMgfCAgICAgICA2MDAxCiAgICAgICAgMTExNCB8ICAgICAgIDExODQKLSgy IHJvd3MpCisoNSByb3dzKQogCiBTRUxFQ1QgRElTVElOQ1QgcDEucHJvYXJn dHlwZXNbMF0sIHAyLnByb2FyZ3R5cGVzWzBdCiBGUk9NIHBnX3Byb2MgQVMg cDEsIHBnX3Byb2MgQVMgcDIKIFdIRVJFIHAxLm9pZCAhPSBwMi5vaWQgQU5E CiAgICAgcDEucHJvc3JjID0gcDIucHJvc3JjIEFORApAQCAtMTY5LDE0ICsx NzIsMTggQEAKIE9SREVSIEJZIDEsIDI7CiAgcHJvYXJndHlwZXMgfCBwcm9h cmd0eXBlcyAKIC0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQogICAgICAg ICAgIDI1IHwgICAgICAgIDEwNDIKICAgICAgICAgICAyNSB8ICAgICAgICAx MDQzCisgICAgICAgICAgMjUgfCAgICAgICAgNTAwMQorICAgICAgICAgIDI1 IHwgICAgICAgIDYwMDEKKyAgICAgICAgMTA0MiB8ICAgICAgICA1MDAxCisg ICAgICAgIDEwNDMgfCAgICAgICAgNjAwMQogICAgICAgICAxMTE0IHwgICAg ICAgIDExODQKICAgICAgICAgMTU2MCB8ICAgICAgICAxNTYyCiAgICAgICAg IDIyNzcgfCAgICAgICAgMjI4MwotKDUgcm93cykKKyg5IHJvd3MpCiAKIFNF TEVDVCBESVNUSU5DVCBwMS5wcm9hcmd0eXBlc1sxXSwgcDIucHJvYXJndHlw ZXNbMV0KIEZST00gcGdfcHJvYyBBUyBwMSwgcGdfcHJvYyBBUyBwMgogV0hF UkUgcDEub2lkICE9IHAyLm9pZCBBTkQKICAgICBwMS5wcm9zcmMgPSBwMi5w cm9zcmMgQU5ECkBAIC0xODcsMTQgKzE5NCwxNSBAQAogICAgIChwMS5wcm9h cmd0eXBlc1sxXSA8IHAyLnByb2FyZ3R5cGVzWzFdKQogT1JERVIgQlkgMSwg MjsKICBwcm9hcmd0eXBlcyB8IHByb2FyZ3R5cGVzIAogLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tCiAgICAgICAgICAgMjMgfCAgICAgICAgICAyOAor ICAgICAgICAxMDQyIHwgICAgICAgIDUwMDEKICAgICAgICAgMTExNCB8ICAg ICAgICAxMTg0CiAgICAgICAgIDE1NjAgfCAgICAgICAgMTU2MgogICAgICAg ICAyMjc3IHwgICAgICAgIDIyODMKLSg0IHJvd3MpCisoNSByb3dzKQogCiBT RUxFQ1QgRElTVElOQ1QgcDEucHJvYXJndHlwZXNbMl0sIHAyLnByb2FyZ3R5 cGVzWzJdCiBGUk9NIHBnX3Byb2MgQVMgcDEsIHBnX3Byb2MgQVMgcDIKIFdI RVJFIHAxLm9pZCAhPSBwMi5vaWQgQU5ECiAgICAgcDEucHJvc3JjID0gcDIu cHJvc3JjIEFORApAQCAtNDMzLDE5ICs0NDEsMjMgQEAKICAgICBOT1QgRVhJ U1RTIChTRUxFQ1QgMSBGUk9NIHBnX2Nhc3QgawogICAgICAgICAgICAgICAg IFdIRVJFIGsuY2FzdG1ldGhvZCA9ICdiJyBBTkQKICAgICAgICAgICAgICAg ICAgICAgay5jYXN0c291cmNlID0gYy5jYXN0dGFyZ2V0IEFORAogICAgICAg ICAgICAgICAgICAgICBrLmNhc3R0YXJnZXQgPSBjLmNhc3Rzb3VyY2UpOwog ICAgIGNhc3Rzb3VyY2UgICAgIHwgICAgY2FzdHRhcmdldCAgICAgfCBjYXN0 ZnVuYyB8IGNhc3Rjb250ZXh0IAotLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQotIHRl eHQgICAgICAgICAgICAgIHwgY2hhcmFjdGVyICAgICAgICAgfCAgICAgICAg MCB8IGkKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgbmF0aW9u YWwgY2hhcmFjdGVyIHZhcnlpbmcgfCBjaGFyYWN0ZXIgICAgICAgICAgfCAg ICAgICAgMCB8IGkKKyBuYXRpb25hbCBjaGFyYWN0ZXIgdmFyeWluZyB8IG5h dGlvbmFsIGNoYXJhY3RlciB8ICAgICAgICAwIHwgaQogIGNoYXJhY3RlciB2 YXJ5aW5nIHwgY2hhcmFjdGVyICAgICAgICAgfCAgICAgICAgMCB8IGkKKyBj aGFyYWN0ZXIgdmFyeWluZyAgICAgICAgICB8IG5hdGlvbmFsIGNoYXJhY3Rl ciB8ICAgICAgICAwIHwgaQorIHRleHQgICAgICAgICAgICAgICAgICAgICAg IHwgY2hhcmFjdGVyICAgICAgICAgIHwgICAgICAgIDAgfCBpCisgdGV4dCAg ICAgICAgICAgICAgICAgICAgICAgfCBuYXRpb25hbCBjaGFyYWN0ZXIgfCAg ICAgICAgMCB8IGkKICBwZ19ub2RlX3RyZWUgICAgICB8IHRleHQgICAgICAg ICAgICAgIHwgICAgICAgIDAgfCBpCiAgY2lkciAgICAgICAgICAgICAgfCBp bmV0ICAgICAgICAgICAgICB8ICAgICAgICAwIHwgaQogIHhtbCAgICAgICAg ICAgICAgIHwgdGV4dCAgICAgICAgICAgICAgfCAgICAgICAgMCB8IGEKICB4 bWwgICAgICAgICAgICAgICB8IGNoYXJhY3RlciB2YXJ5aW5nIHwgICAgICAg IDAgfCBhCiAgeG1sICAgICAgICAgICAgICAgfCBjaGFyYWN0ZXIgICAgICAg ICB8ICAgICAgICAwIHwgYQotKDcgcm93cykKKygxMSByb3dzKQogCiAtLSAq KioqKioqKioqKioqKioqIHBnX29wZXJhdG9yICoqKioqKioqKioqKioqKioK IC0tIExvb2sgZm9yIGlsbGVnYWwgdmFsdWVzIGluIHBnX29wZXJhdG9yIGZp ZWxkcy4KIFNFTEVDVCBwMS5vaWQsIHAxLm9wcm5hbWUKIEZST00gcGdfb3Bl cmF0b3IgYXMgcDEKQEAgLTEyMTEsMTEgKzEyMjMsMTMgQEAKICAgICAgICAg ICAgICAgICAgcDMuYW1vcGxlZnR0eXBlID0gcDEuYW1vcGxlZnR0eXBlIEFO RAogICAgICAgICAgICAgICAgICBwMy5hbW9wcmlnaHR0eXBlID0gcDIuYW1v cGxlZnR0eXBlIEFORAogICAgICAgICAgICAgICAgICBwMy5hbW9wc3RyYXRl Z3kgPSAxKTsKICBhbW9wbGVmdHR5cGUgfCBhbW9wbGVmdHR5cGUgCiAtLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLQotKDAgcm93cykKKyAgICAgICAg IDEwNDIgfCAgICAgICAgIDUwMDEKKyAgICAgICAgIDUwMDEgfCAgICAgICAg IDEwNDIKKygyIHJvd3MpCiAKIC0tICoqKioqKioqKioqKioqKiogcGdfYW1w cm9jICoqKioqKioqKioqKioqKioKIC0tIExvb2sgZm9yIGlsbGVnYWwgdmFs dWVzIGluIHBnX2FtcHJvYyBmaWVsZHMKIFNFTEVDVCBwMS5hbXByb2NmYW1p bHksIHAxLmFtcHJvY251bQogRlJPTSBwZ19hbXByb2MgYXMgcDEKQEAgLTEy NzMsMTIgKzEyODcsMTQgQEAKIFdIRVJFIGFtLmFtbmFtZSA9ICdidHJlZScg T1IgYW0uYW1uYW1lID0gJ2dpc3QnIE9SIGFtLmFtbmFtZSA9ICdnaW4nCiBH Uk9VUCBCWSBhbW5hbWUsIGFtc3VwcG9ydCwgb3BjbmFtZSwgYW1wcm9jZmFt aWx5CiBIQVZJTkcgKGNvdW50KCopICE9IGFtc3VwcG9ydCBBTkQgY291bnQo KikgIT0gYW1zdXBwb3J0IC0gMSkKICAgICBPUiBhbXByb2NmYW1pbHkgSVMg TlVMTDsKICBhbW5hbWUgfCBvcGNuYW1lIHwgY291bnQgCi0tLS0tLS0tLSst LS0tLS0tLS0rLS0tLS0tLQotKDAgcm93cykKKy0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLSstLS0tLS0tCisgZ2luICAgIHwgX25icGNoYXJfb3BzICB8ICAg ICAxCisgZ2luICAgIHwgX252YXJjaGFyX29wcyB8ICAgICAxCisoMiByb3dz KQogCiAtLSBVbmZvcnR1bmF0ZWx5LCB3ZSBjYW4ndCBjaGVjayB0aGUgYW1w cm9jIGxpbmsgdmVyeSB3ZWxsIGJlY2F1c2UgdGhlCiAtLSBzaWduYXR1cmUg b2YgdGhlIGZ1bmN0aW9uIG1heSBiZSBkaWZmZXJlbnQgZm9yIGRpZmZlcmVu dCBzdXBwb3J0IHJvdXRpbmVzCiAtLSBvciBkaWZmZXJlbnQgYmFzZSBkYXRh IHR5cGVzLgogLS0gV2UgY2FuIGNoZWNrIHRoYXQgYWxsIHRoZSByZWZlcmVu Y2VkIGluc3RhbmNlcyBvZiB0aGUgc2FtZSBzdXBwb3J0CkBAIC0xMzE2LDEy ICsxMzMyLDE0IEBACiAgICAgICAgICAgV0hFTiBhbXByb2NudW0gPSAyCiAg ICAgICAgICAgVEhFTiBwcm9yZXR0eXBlICE9ICd2b2lkJzo6cmVndHlwZSBP UiBwcm9yZXRzZXQgT1IgcHJvbmFyZ3MgIT0gMQogICAgICAgICAgICAgICAg T1IgcHJvYXJndHlwZXNbMF0gIT0gJ2ludGVybmFsJzo6cmVndHlwZQogICAg ICAgICAgIEVMU0UgdHJ1ZSBFTkQpOwogIGFtcHJvY2ZhbWlseSB8IGFtcHJv Y251bSB8IG9pZCB8IHByb25hbWUgfCBvcGZuYW1lIAotLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0rLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLQotKDAg cm93cykKKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAg ICAgICAgNDI2IHwgICAgICAgICAxIHwgMTA3OCB8IGJwY2hhcmNtcCAgICAg ICAgICAgIHwgYnBjaGFyX29wcworICAgICAgICAgMjA5NyB8ICAgICAgICAg MSB8IDIxODAgfCBidGJwY2hhcl9wYXR0ZXJuX2NtcCB8IGJwY2hhcl9wYXR0 ZXJuX29wcworKDIgcm93cykKIAogLS0gRm9yIGhhc2ggd2UgY2FuIGFsc28g ZG8gYSBsaXR0bGUgYmV0dGVyOiB0aGUgc3VwcG9ydCByb3V0aW5lcyBtdXN0 IGJlCiAtLSBvZiB0aGUgZm9ybSBoYXNoKGxlZnR0eXBlKSByZXR1cm5zIGlu dDQuICBUaGVyZSBhcmUgc2V2ZXJhbCBjYXNlcyB3aGVyZQogLS0gd2UgY2hl YXQgYW5kIHVzZSBhIGhhc2ggZnVuY3Rpb24gdGhhdCBpcyBwaHlzaWNhbGx5 IGNvbXBhdGlibGUgd2l0aCB0aGUKIC0tIGRhdGF0eXBlIGV2ZW4gdGhvdWdo IHRoZXJlJ3Mgbm8gY2FzdCwgc28gdGhpcyBjaGVjayBkb2VzIGZpbmQgYSBz bWFsbApkaWZmIC1VIDUgLU4gLXIgLXcgLi4vb3JpZy5IRUFEL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvc2FuaXR5X2NoZWNrLm91dCAuL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvc2FuaXR5X2NoZWNrLm91dAotLS0gLi4vb3Jp Zy5IRUFEL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2FuaXR5X2NoZWNr Lm91dAkyMDEzLTA4LTE5IDIwOjIyOjE1LjAwMDAwMDAwMCAtMDQwMAorKysg Li9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nhbml0eV9jaGVjay5vdXQJ MjAxMy0wOC0xOSAyMDo1NDowMC4wMDAwMDAwMDAgLTA0MDAKQEAgLTY2LDEw ICs2NiwxMSBAQAogIGtkX3BvaW50X3RibCAgICAgICAgICAgIHwgdAogIGxv Z190YWJsZSAgICAgICAgICAgICAgIHwgZgogIGxzZWdfdGJsICAgICAgICAg ICAgICAgIHwgZgogIG1haW5fdGFibGUgICAgICAgICAgICAgIHwgZgogIG1v bmV5X2RhdGEgICAgICAgICAgICAgIHwgZgorIG5jaGFyX3RibCAgICAgICAg ICAgICAgIHwgZgogIG51bV9kYXRhICAgICAgICAgICAgICAgIHwgZgogIG51 bV9leHBfYWRkICAgICAgICAgICAgIHwgdAogIG51bV9leHBfZGl2ICAgICAg ICAgICAgIHwgdAogIG51bV9leHBfbG4gICAgICAgICAgICAgIHwgdAogIG51 bV9leHBfbG9nMTAgICAgICAgICAgIHwgdApAQCAtNzcsMTAgKzc4LDExIEBA CiAgbnVtX2V4cF9wb3dlcl8xMF9sbiAgICAgfCB0CiAgbnVtX2V4cF9zcXJ0 ICAgICAgICAgICAgfCB0CiAgbnVtX2V4cF9zdWIgICAgICAgICAgICAgfCB0 CiAgbnVtX2lucHV0X3Rlc3QgICAgICAgICAgfCBmCiAgbnVtX3Jlc3VsdCAg ICAgICAgICAgICAgfCBmCisgbnZhcmNoYXJfdGJsICAgICAgICAgICAgfCBm CiAgb25layAgICAgICAgICAgICAgICAgICAgfCB0CiAgb25lazIgICAgICAg ICAgICAgICAgICAgfCB0CiAgcGF0aF90YmwgICAgICAgICAgICAgICAgfCBm CiAgcGVyc29uICAgICAgICAgICAgICAgICAgfCBmCiAgcGdfYWdncmVnYXRl ICAgICAgICAgICAgfCB0CmRpZmYgLVUgNSAtTiAtciAtdyAuLi9vcmlnLkhF QUQvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zdHJpbmdzLm91dCAuL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3RyaW5ncy5vdXQKLS0tIC4uL29y aWcuSEVBRC9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N0cmluZ3Mub3V0 CTIwMTMtMDgtMTkgMjA6MjI6MTUuMDAwMDAwMDAwIC0wNDAwCisrKyAuL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3RyaW5ncy5vdXQJMjAxMy0wOC0x OSAyMDo1NDowMC4wMDAwMDAwMDAgLTA0MDAKQEAgLTIwMSwxOSArMjAxLDM3 IEBACiAgYWIKICBhYmNkCiAgYWJjZAogKDQgcm93cykKIAorU0VMRUNUIENB U1QoZjEgQVMgdGV4dCkgQVMgInRleHQobmNoYXIpIiBGUk9NIE5DSEFSX1RC TDsKKyB0ZXh0KG5jaGFyKSAKKy0tLS0tLS0tLS0tLS0KKyBhCisgYWIKKyBh YmNkCisgYWJjZAorKDQgcm93cykKKwogU0VMRUNUIENBU1QoZjEgQVMgdGV4 dCkgQVMgInRleHQodmFyY2hhcikiIEZST00gVkFSQ0hBUl9UQkw7CiAgdGV4 dCh2YXJjaGFyKSAKIC0tLS0tLS0tLS0tLS0tLQogIGEKICBhYgogIGFiY2QK ICBhYmNkCiAoNCByb3dzKQogCitTRUxFQ1QgQ0FTVChmMSBBUyB0ZXh0KSBB UyAidGV4dChudmFyY2hhcikiIEZST00gTlZBUkNIQVJfVEJMOworIHRleHQo bnZhcmNoYXIpIAorLS0tLS0tLS0tLS0tLS0tLQorIGEKKyBhYgorIGFiY2QK KyBhYmNkCisoNCByb3dzKQorCiBTRUxFQ1QgQ0FTVChuYW1lICduYW1lZmll bGQnIEFTIHRleHQpIEFTICJ0ZXh0KG5hbWUpIjsKICB0ZXh0KG5hbWUpIAog LS0tLS0tLS0tLS0tCiAgbmFtZWZpZWxkCiAoMSByb3cpCkBAIC0yMjUsNTQg KzI0MywxMDYgQEAKICBkb2ghICAgICAgCiAgaGkgZGUgaG8gbgogKDIgcm93 cykKIAogLS0gbm90ZTogaW1wbGljaXQtY2FzdCBjYXNlIGlzIHRlc3RlZCBp biBjaGFyLnNxbAorU0VMRUNUIENBU1QoZjEgQVMgbmNoYXIoMTApKSBBUyAi bmNoYXIodGV4dCkiIEZST00gVEVYVF9UQkw7CisgbmNoYXIodGV4dCkgCist LS0tLS0tLS0tLS0tCisgZG9oISAgICAgIAorIGhpIGRlIGhvIG4KKygyIHJv d3MpCisKKy0tIG5vdGU6IGltcGxpY2l0LWNhc3QgY2FzZSBpcyB0ZXN0ZWQg aW4gbmNoYXIuc3FsCiBTRUxFQ1QgQ0FTVChmMSBBUyBjaGFyKDIwKSkgQVMg ImNoYXIodGV4dCkiIEZST00gVEVYVF9UQkw7CiAgICAgICBjaGFyKHRleHQp ICAgICAgCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgZG9oISAgICAgICAg ICAgICAgICAKICBoaSBkZSBobyBuZWlnaGJvciAgIAogKDIgcm93cykKIAor U0VMRUNUIENBU1QoZjEgQVMgbmNoYXIoMjApKSBBUyAibmNoYXIodGV4dCki IEZST00gVEVYVF9UQkw7CisgICAgIG5jaGFyKHRleHQpICAgICAgCistLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisgZG9oISAgICAgICAgICAgICAgICAKKyBo aSBkZSBobyBuZWlnaGJvciAgIAorKDIgcm93cykKKwogU0VMRUNUIENBU1Qo ZjEgQVMgY2hhcigxMCkpIEFTICJjaGFyKHZhcmNoYXIpIiBGUk9NIFZBUkNI QVJfVEJMOwogIGNoYXIodmFyY2hhcikgCiAtLS0tLS0tLS0tLS0tLS0KICBh ICAgICAgICAgCiAgYWIgICAgICAgIAogIGFiY2QgICAgICAKICBhYmNkICAg ICAgCiAoNCByb3dzKQogCitTRUxFQ1QgQ0FTVChmMSBBUyBuY2hhcigxMCkp IEFTICJuY2hhcihudmFyY2hhcikiIEZST00gTlZBUkNIQVJfVEJMOworIG5j aGFyKG52YXJjaGFyKSAKKy0tLS0tLS0tLS0tLS0tLS0tCisgYSAgICAgICAg IAorIGFiICAgICAgICAKKyBhYmNkICAgICAgCisgYWJjZCAgICAgIAorKDQg cm93cykKKwogU0VMRUNUIENBU1QobmFtZSAnbmFtZWZpZWxkJyBBUyBjaGFy KDEwKSkgQVMgImNoYXIobmFtZSkiOwogIGNoYXIobmFtZSkgCiAtLS0tLS0t LS0tLS0KICBuYW1lZmllbGQgCiAoMSByb3cpCiAKK1NFTEVDVCBDQVNUKG5h bWUgJ25hbWVmaWVsZCcgQVMgbmNoYXIoMTApKSBBUyAibmNoYXIobmFtZSki OworIG5jaGFyKG5hbWUpIAorLS0tLS0tLS0tLS0tLQorIG5hbWVmaWVsZCAK KygxIHJvdykKKwogU0VMRUNUIENBU1QoZjEgQVMgdmFyY2hhcikgQVMgInZh cmNoYXIodGV4dCkiIEZST00gVEVYVF9UQkw7CiAgICB2YXJjaGFyKHRleHQp ICAgCiAtLS0tLS0tLS0tLS0tLS0tLS0tCiAgZG9oIQogIGhpIGRlIGhvIG5l aWdoYm9yCiAoMiByb3dzKQogCitTRUxFQ1QgQ0FTVChmMSBBUyBudmFyY2hh cikgQVMgIm52YXJjaGFyKHRleHQpIiBGUk9NIFRFWFRfVEJMOworICBudmFy Y2hhcih0ZXh0KSAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLQorIGRvaCEKKyBo aSBkZSBobyBuZWlnaGJvcgorKDIgcm93cykKKwogU0VMRUNUIENBU1QoZjEg QVMgdmFyY2hhcikgQVMgInZhcmNoYXIoY2hhcikiIEZST00gQ0hBUl9UQkw7 CiAgdmFyY2hhcihjaGFyKSAKIC0tLS0tLS0tLS0tLS0tLQogIGEKICBhYgog IGFiY2QKICBhYmNkCiAoNCByb3dzKQogCitTRUxFQ1QgQ0FTVChmMSBBUyBu dmFyY2hhcikgQVMgIm52YXJjaGFyKG5jaGFyKSIgRlJPTSBOQ0hBUl9UQkw7 CisgbnZhcmNoYXIobmNoYXIpIAorLS0tLS0tLS0tLS0tLS0tLS0KKyBhCisg YWIKKyBhYmNkCisgYWJjZAorKDQgcm93cykKKwogU0VMRUNUIENBU1QobmFt ZSAnbmFtZWZpZWxkJyBBUyB2YXJjaGFyKSBBUyAidmFyY2hhcihuYW1lKSI7 CiAgdmFyY2hhcihuYW1lKSAKIC0tLS0tLS0tLS0tLS0tLQogIG5hbWVmaWVs ZAogKDEgcm93KQogCitTRUxFQ1QgQ0FTVChuYW1lICduYW1lZmllbGQnIEFT IG52YXJjaGFyKSBBUyAibnZhcmNoYXIobmFtZSkiOworIG52YXJjaGFyKG5h bWUpIAorLS0tLS0tLS0tLS0tLS0tLQorIG5hbWVmaWVsZAorKDEgcm93KQor CiAtLQogLS0gdGVzdCBTUUwgc3RyaW5nIGZ1bmN0aW9ucwogLS0gRSMjIyBh bmQgVCMjIyBhcmUgZmVhdHVyZSByZWZlcmVuY2UgbnVtYmVycyBmcm9tIFNR TDk5CiAtLQogLS0gRTAyMS0wOSB0cmltIGZ1bmN0aW9uCkBAIC0xMTAzLDIy ICsxMTczLDQwIEBACiAgQ29uY2F0IGNoYXIgdG8gdW5rbm93biB0eXBlIAog LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICBjaGFyYWN0ZXJzIGFu ZCB0ZXh0CiAoMSByb3cpCiAKK1NFTEVDVCBuY2hhcigyMCkgJ25jaGFyYWN0 ZXJzJyB8fCAnIGFuZCB0ZXh0JyBBUyAiQ29uY2F0IG5jaGFyIHRvIHVua25v d24gdHlwZSI7CisgQ29uY2F0IG5jaGFyIHRvIHVua25vd24gdHlwZSAKKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIG5jaGFyYWN0ZXJzIGFu ZCB0ZXh0CisoMSByb3cpCisKIFNFTEVDVCB0ZXh0ICd0ZXh0JyB8fCBjaGFy KDIwKSAnIGFuZCBjaGFyYWN0ZXJzJyBBUyAiQ29uY2F0IHRleHQgdG8gY2hh ciI7CiAgQ29uY2F0IHRleHQgdG8gY2hhciAKIC0tLS0tLS0tLS0tLS0tLS0t LS0tLQogIHRleHQgYW5kIGNoYXJhY3RlcnMKICgxIHJvdykKIAorU0VMRUNU IHRleHQgJ3RleHQnIHx8IG5jaGFyKDIwKSAnIGFuZCBuY2hhcmFjdGVycycg QVMgIkNvbmNhdCB0ZXh0IHRvIG5jaGFyIjsKKyBDb25jYXQgdGV4dCB0byBu Y2hhciAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyB0ZXh0IGFuZCBuY2hh cmFjdGVycworKDEgcm93KQorCiBTRUxFQ1QgdGV4dCAndGV4dCcgfHwgdmFy Y2hhciAnIGFuZCB2YXJjaGFyJyBBUyAiQ29uY2F0IHRleHQgdG8gdmFyY2hh ciI7CiAgQ29uY2F0IHRleHQgdG8gdmFyY2hhciAKIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQogIHRleHQgYW5kIHZhcmNoYXIKICgxIHJvdykKIAorU0VM RUNUIHRleHQgJ3RleHQnIHx8IG52YXJjaGFyICcgYW5kIG52YXJjaGFyJyBB UyAiQ29uY2F0IHRleHQgdG8gbnZhcmNoYXIiOworIENvbmNhdCB0ZXh0IHRv IG52YXJjaGFyIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHRleHQg YW5kIG52YXJjaGFyCisoMSByb3cpCisKIC0tCiAtLSB0ZXN0IHN1YnN0ciB3 aXRoIHRvYXN0ZWQgdGV4dCB2YWx1ZXMKIC0tCiBDUkVBVEUgVEFCTEUgdG9h c3R0ZXN0KGYxIHRleHQpOwogaW5zZXJ0IGludG8gdG9hc3R0ZXN0IHZhbHVl cyhyZXBlYXQoJzEyMzQ1Njc4OTAnLDEwMDAwKSk7CmRpZmYgLVUgNSAtTiAt ciAtdyAuLi9vcmlnLkhFQUQvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC91 bmlvbi5vdXQgLi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3VuaW9uLm91 dAotLS0gLi4vb3JpZy5IRUFEL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv dW5pb24ub3V0CTIwMTMtMDgtMTkgMjA6MjI6MTUuMDAwMDAwMDAwIC0wNDAw CisrKyAuL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdW5pb24ub3V0CTIw MTMtMDgtMTkgMjA6NTQ6MDAuMDAwMDAwMDAwIC0wNDAwCkBAIC0yNTUsMTAg KzI1NSw1MiBAQAogIGFiY2QKICBkb2ghCiAgaGkgZGUgaG8gbmVpZ2hib3IK ICg1IHJvd3MpCiAKKy0tTlZBUkNIQVIgc3BlY2lmaWMKK1NFTEVDVCBmMSBB UyB0aHJlZSBGUk9NIE5WQVJDSEFSX1RCTAorVU5JT04KK1NFTEVDVCBDQVNU KGYxIEFTIG52YXJjaGFyKSBGUk9NIE5DSEFSX1RCTAorT1JERVIgQlkgMTsK KyB0aHJlZSAKKy0tLS0tLS0KKyBhCisgYWIKKyBhYmNkCisoMyByb3dzKQor CitTRUxFQ1QgZjEgQVMgZWlnaHQgRlJPTSBOVkFSQ0hBUl9UQkwKK1VOSU9O IEFMTAorU0VMRUNUIGYxIEZST00gTkNIQVJfVEJMOworIGVpZ2h0IAorLS0t LS0tLQorIGEKKyBhYgorIGFiY2QKKyBhYmNkCisgYQorIGFiCisgYWJjZAor IGFiY2QKKyg4IHJvd3MpCisKK1NFTEVDVCBmMSBBUyBmaXZlIEZST00gVEVY VF9UQkwKK1VOSU9OCitTRUxFQ1QgZjEgRlJPTSBOVkFSQ0hBUl9UQkwKK1VO SU9OCitTRUxFQ1QgVFJJTShUUkFJTElORyBGUk9NIGYxKSBGUk9NIE5DSEFS X1RCTAorT1JERVIgQlkgMTsKKyAgICAgICBmaXZlICAgICAgICAKKy0tLS0t LS0tLS0tLS0tLS0tLS0KKyBhCisgYWIKKyBhYmNkCisgZG9oIQorIGhpIGRl IGhvIG5laWdoYm9yCisoNSByb3dzKQorCiAtLQogLS0gSU5URVJTRUNUIGFu ZCBFWENFUFQKIC0tCiBTRUxFQ1QgcTIgRlJPTSBpbnQ4X3RibCBJTlRFUlNF Q1QgU0VMRUNUIHExIEZST00gaW50OF90Ymw7CiAgICAgICAgIHEyICAgICAg ICAKZGlmZiAtVSA1IC1OIC1yIC13IC4uL29yaWcuSEVBRC9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3VwZGF0ZS5vdXQgLi9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL3VwZGF0ZS5vdXQKLS0tIC4uL29yaWcuSEVBRC9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL3VwZGF0ZS5vdXQJMjAxMy0wOC0xOSAyMDoy MjoxNS4wMDAwMDAwMDAgLTA0MDAKKysrIC4vc3JjL3Rlc3QvcmVncmVzcy9l eHBlY3RlZC91cGRhdGUub3V0CTIwMTMtMDgtMTkgMjA6NTQ6MDAuMDAwMDAw MDAwIC0wNDAwCkBAIC0yLDc1ICsyLDEwMSBAQAogLS0gVVBEQVRFIHN5bnRh eCB0ZXN0cwogLS0KIENSRUFURSBUQUJMRSB1cGRhdGVfdGVzdCAoCiAgICAg YSAgIElOVCBERUZBVUxUIDEwLAogICAgIGIgICBJTlQsCi0gICAgYyAgIFRF WFQKKyAgICBjICAgVEVYVCwKKyAgICBkICAgbmNoYXIoMTApLAorICAgIGUg ICBudmFyY2hhcgogKTsKLUlOU0VSVCBJTlRPIHVwZGF0ZV90ZXN0IFZBTFVF UyAoNSwgMTAsICdmb28nKTsKK0lOU0VSVCBJTlRPIHVwZGF0ZV90ZXN0IFZB TFVFUyAoNSwgMTAsICdmb28nLCAnYScsICdhJyk7CiBJTlNFUlQgSU5UTyB1 cGRhdGVfdGVzdChiLCBhKSBWQUxVRVMgKDE1LCAxMCk7CiBTRUxFQ1QgKiBG Uk9NIHVwZGF0ZV90ZXN0OwotIGEgIHwgYiAgfCAgYyAgCi0tLS0tKy0tLS0r LS0tLS0KLSAgNSB8IDEwIHwgZm9vCi0gMTAgfCAxNSB8IAorIGEgIHwgYiAg fCAgYyAgfCAgICAgZCAgICAgIHwgZSAKKy0tLS0rLS0tLSstLS0tLSstLS0t LS0tLS0tLS0rLS0tCisgIDUgfCAxMCB8IGZvbyB8IGEgICAgICAgICAgfCBh CisgMTAgfCAxNSB8ICAgICB8ICAgICAgICAgICAgfCAKKygyIHJvd3MpCisK K1VQREFURSB1cGRhdGVfdGVzdCBTRVQgZD0nYicsIGU9J2InOworU0VMRUNU ICogRlJPTSB1cGRhdGVfdGVzdDsKKyBhICB8IGIgIHwgIGMgIHwgICAgIGQg ICAgICB8IGUgCistLS0tKy0tLS0rLS0tLS0rLS0tLS0tLS0tLS0tKy0tLQor ICA1IHwgMTAgfCBmb28gfCBiICAgICAgICAgIHwgYgorIDEwIHwgMTUgfCAg ICAgfCBiICAgICAgICAgIHwgYgorKDIgcm93cykKKworVVBEQVRFIHVwZGF0 ZV90ZXN0IFNFVCBkPSdjJyB3aGVyZSBlPSdiJzsKK1NFTEVDVCAqIEZST00g dXBkYXRlX3Rlc3Q7CisgYSAgfCBiICB8ICBjICB8ICAgICBkICAgICAgfCBl IAorLS0tLSstLS0tKy0tLS0tKy0tLS0tLS0tLS0tLSstLS0KKyAgNSB8IDEw IHwgZm9vIHwgYyAgICAgICAgICB8IGIKKyAxMCB8IDE1IHwgICAgIHwgYyAg ICAgICAgICB8IGIKKygyIHJvd3MpCisKK1VQREFURSB1cGRhdGVfdGVzdCBT RVQgZD1OJ2UnIHdoZXJlIGU9TidiJzsKK1NFTEVDVCAqIEZST00gdXBkYXRl X3Rlc3Q7CisgYSAgfCBiICB8ICBjICB8ICAgICBkICAgICAgfCBlIAorLS0t LSstLS0tKy0tLS0tKy0tLS0tLS0tLS0tLSstLS0KKyAgNSB8IDEwIHwgZm9v IHwgZSAgICAgICAgICB8IGIKKyAxMCB8IDE1IHwgICAgIHwgZSAgICAgICAg ICB8IGIKICgyIHJvd3MpCiAKIFVQREFURSB1cGRhdGVfdGVzdCBTRVQgYSA9 IERFRkFVTFQsIGIgPSBERUZBVUxUOwogU0VMRUNUICogRlJPTSB1cGRhdGVf dGVzdDsKLSBhICB8IGIgfCAgYyAgCi0tLS0tKy0tLSstLS0tLQotIDEwIHwg ICB8IGZvbwotIDEwIHwgICB8IAorIGEgIHwgYiB8ICBjICB8ICAgICBkICAg ICAgfCBlIAorLS0tLSstLS0rLS0tLS0rLS0tLS0tLS0tLS0tKy0tLQorIDEw IHwgICB8IGZvbyB8IGUgICAgICAgICAgfCBiCisgMTAgfCAgIHwgICAgIHwg ZSAgICAgICAgICB8IGIKICgyIHJvd3MpCiAKIC0tIGFsaWFzZXMgZm9yIHRo ZSBVUERBVEUgdGFyZ2V0IHRhYmxlCiBVUERBVEUgdXBkYXRlX3Rlc3QgQVMg dCBTRVQgYiA9IDEwIFdIRVJFIHQuYSA9IDEwOwogU0VMRUNUICogRlJPTSB1 cGRhdGVfdGVzdDsKLSBhICB8IGIgIHwgIGMgIAotLS0tLSstLS0tKy0tLS0t Ci0gMTAgfCAxMCB8IGZvbwotIDEwIHwgMTAgfCAKKyBhICB8IGIgIHwgIGMg IHwgICAgIGQgICAgICB8IGUgCistLS0tKy0tLS0rLS0tLS0rLS0tLS0tLS0t LS0tKy0tLQorIDEwIHwgMTAgfCBmb28gfCBlICAgICAgICAgIHwgYgorIDEw IHwgMTAgfCAgICAgfCBlICAgICAgICAgIHwgYgogKDIgcm93cykKIAogVVBE QVRFIHVwZGF0ZV90ZXN0IHQgU0VUIGIgPSB0LmIgKyAxMCBXSEVSRSB0LmEg PSAxMDsKIFNFTEVDVCAqIEZST00gdXBkYXRlX3Rlc3Q7Ci0gYSAgfCBiICB8 ICBjICAKLS0tLS0rLS0tLSstLS0tLQotIDEwIHwgMjAgfCBmb28KLSAxMCB8 IDIwIHwgCisgYSAgfCBiICB8ICBjICB8ICAgICBkICAgICAgfCBlIAorLS0t LSstLS0tKy0tLS0tKy0tLS0tLS0tLS0tLSstLS0KKyAxMCB8IDIwIHwgZm9v IHwgZSAgICAgICAgICB8IGIKKyAxMCB8IDIwIHwgICAgIHwgZSAgICAgICAg ICB8IGIKICgyIHJvd3MpCiAKIC0tCiAtLSBUZXN0IFZBTFVFUyBpbiBGUk9N CiAtLQogVVBEQVRFIHVwZGF0ZV90ZXN0IFNFVCBhPXYuaSBGUk9NIChWQUxV RVMoMTAwLCAyMCkpIEFTIHYoaSwgaikKICAgV0hFUkUgdXBkYXRlX3Rlc3Qu YiA9IHYuajsKIFNFTEVDVCAqIEZST00gdXBkYXRlX3Rlc3Q7Ci0gIGEgIHwg YiAgfCAgYyAgCi0tLS0tLSstLS0tKy0tLS0tCi0gMTAwIHwgMjAgfCBmb28K LSAxMDAgfCAyMCB8IAorICBhICB8IGIgIHwgIGMgIHwgICAgIGQgICAgICB8 IGUgCistLS0tLSstLS0tKy0tLS0tKy0tLS0tLS0tLS0tLSstLS0KKyAxMDAg fCAyMCB8IGZvbyB8IGUgICAgICAgICAgfCBiCisgMTAwIHwgMjAgfCAgICAg fCBlICAgICAgICAgIHwgYgogKDIgcm93cykKIAogLS0KIC0tIFRlc3QgbXVs dGlwbGUtc2V0LWNsYXVzZSBzeW50YXgKIC0tCiBVUERBVEUgdXBkYXRlX3Rl c3QgU0VUIChjLGIsYSkgPSAoJ2J1Z2xlJywgYisxMSwgREVGQVVMVCkgV0hF UkUgYyA9ICdmb28nOwogU0VMRUNUICogRlJPTSB1cGRhdGVfdGVzdDsKLSAg YSAgfCBiICB8ICAgYyAgIAotLS0tLS0rLS0tLSstLS0tLS0tCi0gMTAwIHwg MjAgfCAKLSAgMTAgfCAzMSB8IGJ1Z2xlCisgIGEgIHwgYiAgfCAgIGMgICB8 ICAgICBkICAgICAgfCBlIAorLS0tLS0rLS0tLSstLS0tLS0tKy0tLS0tLS0t LS0tLSstLS0KKyAxMDAgfCAyMCB8ICAgICAgIHwgZSAgICAgICAgICB8IGIK KyAgMTAgfCAzMSB8IGJ1Z2xlIHwgZSAgICAgICAgICB8IGIKICgyIHJvd3Mp CiAKIFVQREFURSB1cGRhdGVfdGVzdCBTRVQgKGMsYikgPSAoJ2NhcicsIGEr YiksIGEgPSBhICsgMSBXSEVSRSBhID0gMTA7CiBTRUxFQ1QgKiBGUk9NIHVw ZGF0ZV90ZXN0OwotICBhICB8IGIgIHwgIGMgIAotLS0tLS0rLS0tLSstLS0t LQotIDEwMCB8IDIwIHwgCi0gIDExIHwgNDEgfCBjYXIKKyAgYSAgfCBiICB8 ICBjICB8ICAgICBkICAgICAgfCBlIAorLS0tLS0rLS0tLSstLS0tLSstLS0t LS0tLS0tLS0rLS0tCisgMTAwIHwgMjAgfCAgICAgfCBlICAgICAgICAgIHwg YgorICAxMSB8IDQxIHwgY2FyIHwgZSAgICAgICAgICB8IGIKICgyIHJvd3Mp CiAKIC0tIGZhaWwsIG11bHRpIGFzc2lnbm1lbnQgdG8gc2FtZSBjb2x1bW46 CiBVUERBVEUgdXBkYXRlX3Rlc3QgU0VUIChjLGIpID0gKCdjYXInLCBhK2Ip LCBiID0gYSArIDEgV0hFUkUgYSA9IDEwOwogRVJST1I6ICBtdWx0aXBsZSBh c3NpZ25tZW50cyB0byBzYW1lIGNvbHVtbiAiYiIKZGlmZiAtVSA1IC1OIC1y IC13IC4uL29yaWcuSEVBRC9zcmMvdGVzdC9yZWdyZXNzL291dHB1dC9taXNj LnNvdXJjZSAuL3NyYy90ZXN0L3JlZ3Jlc3Mvb3V0cHV0L21pc2Muc291cmNl Ci0tLSAuLi9vcmlnLkhFQUQvc3JjL3Rlc3QvcmVncmVzcy9vdXRwdXQvbWlz Yy5zb3VyY2UJMjAxMy0wOC0xOSAyMDoyMjoxNS4wMDAwMDAwMDAgLTA0MDAK KysrIC4vc3JjL3Rlc3QvcmVncmVzcy9vdXRwdXQvbWlzYy5zb3VyY2UJMjAx My0wOC0xOSAyMDo1NDowMC4wMDAwMDAwMDAgLTA0MDAKQEAgLTM5LDMyICsz OSwzMiBAQAogLS0gICBTRVQgYWdlID0gYWdlICsgMwogLS0gICBXSEVSRSBu YW1lID0gJ2xpbmRhJzsKIC0tCiAtLSBjb3B5CiAtLQotQ09QWSBvbmVrIFRP ICdAYWJzX2J1aWxkZGlyQC9yZXN1bHRzL29uZWsuZGF0YSc7CitDT1BZIG9u ZWsgVE8gJy9ob21lL21ib2d1ay9wb3N0Z3Jlcy9idWlsZF90ZXN0L3NyYy90 ZXN0L3JlZ3Jlc3MvcmVzdWx0cy9vbmVrLmRhdGEnOwogREVMRVRFIEZST00g b25lazsKLUNPUFkgb25layBGUk9NICdAYWJzX2J1aWxkZGlyQC9yZXN1bHRz L29uZWsuZGF0YSc7CitDT1BZIG9uZWsgRlJPTSAnL2hvbWUvbWJvZ3VrL3Bv c3RncmVzL2J1aWxkX3Rlc3Qvc3JjL3Rlc3QvcmVncmVzcy9yZXN1bHRzL29u ZWsuZGF0YSc7CiBTRUxFQ1QgdW5pcXVlMSBGUk9NIG9uZWsgV0hFUkUgdW5p cXVlMSA8IDIgT1JERVIgQlkgdW5pcXVlMTsKICB1bmlxdWUxIAogLS0tLS0t LS0tCiAgICAgICAgMAogICAgICAgIDEKICgyIHJvd3MpCiAKIERFTEVURSBG Uk9NIG9uZWsyOwotQ09QWSBvbmVrMiBGUk9NICdAYWJzX2J1aWxkZGlyQC9y ZXN1bHRzL29uZWsuZGF0YSc7CitDT1BZIG9uZWsyIEZST00gJy9ob21lL21i b2d1ay9wb3N0Z3Jlcy9idWlsZF90ZXN0L3NyYy90ZXN0L3JlZ3Jlc3MvcmVz dWx0cy9vbmVrLmRhdGEnOwogU0VMRUNUIHVuaXF1ZTEgRlJPTSBvbmVrMiBX SEVSRSB1bmlxdWUxIDwgMiBPUkRFUiBCWSB1bmlxdWUxOwogIHVuaXF1ZTEg CiAtLS0tLS0tLS0KICAgICAgICAwCiAgICAgICAgMQogKDIgcm93cykKIAot Q09QWSBCSU5BUlkgc3R1ZF9lbXAgVE8gJ0BhYnNfYnVpbGRkaXJAL3Jlc3Vs dHMvc3R1ZF9lbXAuZGF0YSc7CitDT1BZIEJJTkFSWSBzdHVkX2VtcCBUTyAn L2hvbWUvbWJvZ3VrL3Bvc3RncmVzL2J1aWxkX3Rlc3Qvc3JjL3Rlc3QvcmVn cmVzcy9yZXN1bHRzL3N0dWRfZW1wLmRhdGEnOwogREVMRVRFIEZST00gc3R1 ZF9lbXA7Ci1DT1BZIEJJTkFSWSBzdHVkX2VtcCBGUk9NICdAYWJzX2J1aWxk ZGlyQC9yZXN1bHRzL3N0dWRfZW1wLmRhdGEnOworQ09QWSBCSU5BUlkgc3R1 ZF9lbXAgRlJPTSAnL2hvbWUvbWJvZ3VrL3Bvc3RncmVzL2J1aWxkX3Rlc3Qv c3JjL3Rlc3QvcmVncmVzcy9yZXN1bHRzL3N0dWRfZW1wLmRhdGEnOwogU0VM RUNUICogRlJPTSBzdHVkX2VtcDsKICBuYW1lICB8IGFnZSB8ICBsb2NhdGlv biAgfCBzYWxhcnkgfCBtYW5hZ2VyIHwgZ3BhIHwgcGVyY2VudCAKIC0tLS0t LS0rLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLSstLS0t LSstLS0tLS0tLS0KICBqZWZmICB8ICAyMyB8ICg4LDcuNykgICAgfCAgICA2 MDAgfCBzaGFyb24gIHwgMy41IHwgICAgICAgIAogIGNpbSAgIHwgIDMwIHwg KDEwLjUsNC43KSB8ICAgIDQwMCB8ICAgICAgICAgfCAzLjQgfCAgICAgICAg CkBAIC02NDAsMTAgKzY0MCwxMSBAQAogIGtkX3BvaW50X3RibAogIGxvZ190 YWJsZQogIGxzZWdfdGJsCiAgbWFpbl90YWJsZQogIG1vbmV5X2RhdGEKKyBu Y2hhcl90YmwKICBudW1fZGF0YQogIG51bV9leHBfYWRkCiAgbnVtX2V4cF9k aXYKICBudW1fZXhwX2xuCiAgbnVtX2V4cF9sb2cxMApAQCAtNjUxLDEwICs2 NTIsMTEgQEAKICBudW1fZXhwX3Bvd2VyXzEwX2xuCiAgbnVtX2V4cF9zcXJ0 CiAgbnVtX2V4cF9zdWIKICBudW1faW5wdXRfdGVzdAogIG51bV9yZXN1bHQK KyBudmFyY2hhcl90YmwKICBvbmVrCiAgb25lazIKICBwYXRoX3RibAogIHBl cnNvbgogIHBvaW50X3RibApkaWZmIC1VIDUgLU4gLXIgLXcgLi4vb3JpZy5I RUFEL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUgLi9zcmMv dGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCi0tLSAuLi9vcmlnLkhF QUQvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZQkyMDEzLTA4 LTE5IDIwOjIyOjE1LjAwMDAwMDAwMCAtMDQwMAorKysgLi9zcmMvdGVzdC9y ZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCTIwMTMtMDgtMTkgMjA6NTQ6MDAu MDAwMDAwMDAwIC0wNDAwCkBAIC0xMSwxMSArMTEsMTEgQEAKIHRlc3Q6IHRh Ymxlc3BhY2UKIAogIyAtLS0tLS0tLS0tCiAjIFRoZSBmaXJzdCBncm91cCBv ZiBwYXJhbGxlbCB0ZXN0cwogIyAtLS0tLS0tLS0tCi10ZXN0OiBib29sZWFu IGNoYXIgbmFtZSB2YXJjaGFyIHRleHQgaW50MiBpbnQ0IGludDggb2lkIGZs b2F0NCBmbG9hdDggYml0IG51bWVyaWMgdHhpZCB1dWlkIGVudW0gbW9uZXkg cmFuZ2V0eXBlcwordGVzdDogYm9vbGVhbiBjaGFyIG5hbWUgdmFyY2hhciBu Y2hhciBudmFyY2hhciB0ZXh0IGludDIgaW50NCBpbnQ4IG9pZCBmbG9hdDQg ZmxvYXQ4IGJpdCBudW1lcmljIHR4aWQgdXVpZCBlbnVtIG1vbmV5IHJhbmdl dHlwZXMgbnZhcmNoYXJfZnVuYyBudmFyY2hhcl9hbHRlciBudmFyY2hhcl9t aXNjCiAKICMgRGVwZW5kcyBvbiB0aGluZ3Mgc2V0dXAgZHVyaW5nIGNoYXIs IHZhcmNoYXIgYW5kIHRleHQKIHRlc3Q6IHN0cmluZ3MKICMgRGVwZW5kcyBv biBpbnQyLCBpbnQ0LCBpbnQ4LCBmbG9hdDQsIGZsb2F0OAogdGVzdDogbnVt ZXJvbG9neQpkaWZmIC1VIDUgLU4gLXIgLXcgLi4vb3JpZy5IRUFEL3NyYy90 ZXN0L3JlZ3Jlc3Mvc2VyaWFsX3NjaGVkdWxlIC4vc3JjL3Rlc3QvcmVncmVz cy9zZXJpYWxfc2NoZWR1bGUKLS0tIC4uL29yaWcuSEVBRC9zcmMvdGVzdC9y ZWdyZXNzL3NlcmlhbF9zY2hlZHVsZQkyMDEzLTA4LTE5IDIwOjIyOjE1LjAw MDAwMDAwMCAtMDQwMAorKysgLi9zcmMvdGVzdC9yZWdyZXNzL3NlcmlhbF9z Y2hlZHVsZQkyMDEzLTA4LTE5IDIwOjU0OjAwLjAwMDAwMDAwMCAtMDQwMApA QCAtMywxMCArMywxNSBAQAogdGVzdDogdGFibGVzcGFjZQogdGVzdDogYm9v bGVhbgogdGVzdDogY2hhcgogdGVzdDogbmFtZQogdGVzdDogdmFyY2hhcgor dGVzdDogbnZhcmNoYXIKK3Rlc3Q6IG52YXJjaGFyX2FsdGVyCit0ZXN0OiBu dmFyY2hhcl9mdW5jCit0ZXN0OiBudmFyY2hhcl9taXNjCit0ZXN0OiBuY2hh cgogdGVzdDogdGV4dAogdGVzdDogaW50MgogdGVzdDogaW50NAogdGVzdDog aW50OAogdGVzdDogb2lkCmRpZmYgLVUgNSAtTiAtciAtdyAuLi9vcmlnLkhF QUQvc3JjL3Rlc3QvcmVncmVzcy9zcWwvbmNoYXIuc3FsIC4vc3JjL3Rlc3Qv cmVncmVzcy9zcWwvbmNoYXIuc3FsCi0tLSAuLi9vcmlnLkhFQUQvc3JjL3Rl c3QvcmVncmVzcy9zcWwvbmNoYXIuc3FsCTE5NjktMTItMzEgMTk6MDA6MDAu MDAwMDAwMDAwIC0wNTAwCisrKyAuL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL25j aGFyLnNxbAkyMDEzLTA4LTE5IDIzOjMxOjIxLjAwMDAwMDAwMCAtMDQwMApA QCAtMCwwICsxLDc1IEBACistLQorLS0gTkNIQVIKKy0tCisKKy0tIGZpeGVk LWxlbmd0aCBieSB2YWx1ZQorLS0gaW50ZXJuYWxseSBwYXNzZWQgYnkgdmFs dWUgaWYgPD0gNCBieXRlcyBpbiBzdG9yYWdlCisKK1NFTEVDVCBuY2hhciAn YycgPSBuY2hhciAnYycgQVMgdHJ1ZTsKKworLS0KKy0tIEJ1aWxkIGEgdGFi bGUgZm9yIHRlc3RpbmcKKy0tCisKK0NSRUFURSBUQUJMRSBOQ0hBUl9UQkwo ZjEgbmNoYXIpOworCitJTlNFUlQgSU5UTyBOQ0hBUl9UQkwgKGYxKSBWQUxV RVMgKCdhJyk7CisKK0lOU0VSVCBJTlRPIE5DSEFSX1RCTCAoZjEpIFZBTFVF UyAoJ0EnKTsKKworLS0gYW55IG9mIHRoZSBmb2xsb3dpbmcgdGhyZWUgaW5w dXQgZm9ybWF0cyBhcmUgYWNjZXB0YWJsZQorSU5TRVJUIElOVE8gTkNIQVJf VEJMIChmMSkgVkFMVUVTICgnMScpOworCitJTlNFUlQgSU5UTyBOQ0hBUl9U QkwgKGYxKSBWQUxVRVMgKDIpOworCitJTlNFUlQgSU5UTyBOQ0hBUl9UQkwg KGYxKSBWQUxVRVMgKCczJyk7CisKKy0tIHplcm8tbGVuZ3RoIG5jaGFyCitJ TlNFUlQgSU5UTyBOQ0hBUl9UQkwgKGYxKSBWQUxVRVMgKCcnKTsKKworLS0g dHJ5IG5jaGFyJ3Mgb2YgZ3JlYXRlciB0aGFuIDEgbGVuZ3RoCitJTlNFUlQg SU5UTyBOQ0hBUl9UQkwgKGYxKSBWQUxVRVMgKCdjZCcpOworSU5TRVJUIElO VE8gTkNIQVJfVEJMIChmMSkgVkFMVUVTICgnYyAgICAgJyk7CisKKworU0VM RUNUICcnIEFTIHNldmVuLCAqIEZST00gTkNIQVJfVEJMOworCitTRUxFQ1Qg JycgQVMgc2l4LCBjLioKKyAgIEZST00gTkNIQVJfVEJMIGMKKyAgIFdIRVJF IGMuZjEgPD4gJ2EnOworCitTRUxFQ1QgJycgQVMgb25lLCBjLioKKyAgIEZS T00gTkNIQVJfVEJMIGMKKyAgIFdIRVJFIGMuZjEgPSAnYSc7CisKK1NFTEVD VCAnJyBBUyBmaXZlLCBjLioKKyAgIEZST00gTkNIQVJfVEJMIGMKKyAgIFdI RVJFIGMuZjEgPCAnYSc7CisKK1NFTEVDVCAnJyBBUyBzaXgsIGMuKgorICAg RlJPTSBOQ0hBUl9UQkwgYworICAgV0hFUkUgYy5mMSA8PSAnYSc7CisKK1NF TEVDVCAnJyBBUyBvbmUsIGMuKgorICAgRlJPTSBOQ0hBUl9UQkwgYworICAg V0hFUkUgYy5mMSA+ICdhJzsKKworU0VMRUNUICcnIEFTIHR3bywgYy4qCisg ICBGUk9NIE5DSEFSX1RCTCBjCisgICBXSEVSRSBjLmYxID49ICdhJzsKKwor RFJPUCBUQUJMRSBOQ0hBUl9UQkw7CisKKy0tCistLSBOb3cgdGVzdCBsb25n ZXIgYXJyYXlzIG9mIG5jaGFyCistLQorCitDUkVBVEUgVEFCTEUgTkNIQVJf VEJMKGYxIG5jaGFyKDQpKTsKKworSU5TRVJUIElOVE8gTkNIQVJfVEJMIChm MSkgVkFMVUVTICgnYScpOworSU5TRVJUIElOVE8gTkNIQVJfVEJMIChmMSkg VkFMVUVTICgnYWInKTsKK0lOU0VSVCBJTlRPIE5DSEFSX1RCTCAoZjEpIFZB TFVFUyAoJ2FiY2QnKTsKK0lOU0VSVCBJTlRPIE5DSEFSX1RCTCAoZjEpIFZB TFVFUyAoJ2FiY2RlJyk7CitJTlNFUlQgSU5UTyBOQ0hBUl9UQkwgKGYxKSBW QUxVRVMgKCdhYmNkICAgICcpOworCitTRUxFQ1QgJycgQVMgZm91ciwgKiBG Uk9NIE5DSEFSX1RCTDsKZGlmZiAtVSA1IC1OIC1yIC13IC4uL29yaWcuSEVB RC9zcmMvdGVzdC9yZWdyZXNzL3NxbC9udmFyY2hhcl9hbHRlci5zcWwgLi9z cmMvdGVzdC9yZWdyZXNzL3NxbC9udmFyY2hhcl9hbHRlci5zcWwKLS0tIC4u L29yaWcuSEVBRC9zcmMvdGVzdC9yZWdyZXNzL3NxbC9udmFyY2hhcl9hbHRl ci5zcWwJMTk2OS0xMi0zMSAxOTowMDowMC4wMDAwMDAwMDAgLTA1MDAKKysr IC4vc3JjL3Rlc3QvcmVncmVzcy9zcWwvbnZhcmNoYXJfYWx0ZXIuc3FsCTIw MTMtMDgtMTkgMjM6MzE6MTUuMDAwMDAwMDAwIC0wNDAwCkBAIC0wLDAgKzEs MTI2IEBACistLWNyZWF0ZSB0YWJsZQorY3JlYXRlIHRhYmxlIG5jaGFyX3Rl c3QgKGYxIG5jaGFyKDEwKSBkZWZhdWx0IE4nYScsIGYyIG52YXJjaGFyKDEw KSBkZWZhdWx0IE4nYicpOworCistLXZhbHVlcwordmFsdWVzIChOJ2FiY+WQ hOWbveiqnicpOworCistLWFuYWx5emUKK2FuYWx5emUgbmNoYXJfdGVzdChm MSk7CithbmFseXplIG5jaGFyX3Rlc3QoZjIpOworCistLXZhY3V1bSBhbmFs eXplCit2YWN1dW0gYW5hbHl6ZSBuY2hhcl90ZXN0KGYxKTsKK3ZhY3V1bSBh bmFseXplIG5jaGFyX3Rlc3QoZjIpOworCistLWJyb2tlbgorLS1zZXQgYXBw bGljYXRpb25fbmFtZSB0byBOJ2FiY+WQhOWbveiqnic7CisKKy0tc2VsZWN0 CitzZWxlY3QgZjEsZjIsTidhYmPlkITlm73oqp4nIGZyb20gbmNoYXJfdGVz dDsKKworLS1zZWxlY3QgaW50bworc2VsZWN0IGYxLGYyLE4nYWJj5ZCE5Zu9 6KqeJyBpbnRvIG5jaGFyX3Rlc3QxIGZyb20gbmNoYXJfdGVzdDsKKworLS1y ZXZva2UgcGVyIGNvbHVtbiBub3Qgc3VwcG9ydGVkCisKKy0tZ3JhbnQgcGVy IGNvbHVtbiBub3Qgc3VwcG9ydGVkCisKKy0taW5zZXJ0IGludG8vcmV0dXJu aW5nCitpbnNlcnQgaW50byBuY2hhcl90ZXN0MSBzZWxlY3QgZjEsZjIsTidh YmPlkITlm73oqp4nIGZyb20gbmNoYXJfdGVzdCByZXR1cm5pbmcgZjEsZjIs bnZhcmNoYXIsTidhYmPlkITlm73oqp4nOworCistLWV4cGxhaW4KK2V4cGxh aW4gc2VsZWN0IGYxLGYyLE4nYWJj5ZCE5Zu96KqeJyBmcm9tIG5jaGFyX3Rl c3Q7CisKKy0tZG8KK2RvICQkYmVnaW4gcGVyZm9ybSBmMSxmMixOJ2FiY+WQ hOWbveiqnicgZnJvbSBuY2hhcl90ZXN0OyBlbmQgJCQ7CisKKy0tZGVsZXRl CitkZWxldGUgZnJvbSBuY2hhcl90ZXN0IHdoZXJlIGYxPU4nYWJj5ZCE5Zu9 6KqeJyBhbmQgZjI9TidhYmPlkITlm73oqp4nOworCistLWNyZWF0ZSB2aWV3 CitjcmVhdGUgdmlldyB2IGFzIHNlbGVjdCBmMSxmMixOJ2FiY+WQhOWbveiq nicgZnJvbSBuY2hhcl90ZXN0OworCistLWNyZWF0ZSBpbmRleAorY3JlYXRl IGluZGV4IGkyIG9uIG5jaGFyX3Rlc3QoZjIpOworY3JlYXRlIGluZGV4IGkz IG9uIG5jaGFyX3Rlc3QoKGYxfHwnYWJj5ZCE5Zu96KqeJykpOworY3JlYXRl IGluZGV4IGkxIG9uIG5jaGFyX3Rlc3QoZjEpOworCistLWNvbW1lbnQKK2Nv bW1lbnQgb24gQ09MVU1OIG5jaGFyX3Rlc3QuZjEgaXMgJ2YxJzsKK2NvbW1l bnQgb24gQ09MVU1OIG5jaGFyX3Rlc3QuZjIgaXMgJ2YyJzsKK2NvbW1lbnQg b24gdHlwZSBudmFyY2hhciBpcyAnbnZhcmNoYXInOworCisKKy0tYW5hbHl6 ZQorYW5hbHl6ZSBuY2hhcl90ZXN0KGYxKTsKKworLS1jb3B5Citjb3B5IG5j aGFyX3Rlc3QoZjEsIGYyKSB0byBzdGRvdXQ7CisKKy0tYWx0ZXIgdmlldwor YWx0ZXIgdmlldyB2IGFsdGVyIGNvbHVtbiBmMSBzZXQgZGVmYXVsdCBOJ2Fi Y+WQhOWbveiqnic7CithbHRlciB2aWV3IHYgYWx0ZXIgY29sdW1uIGYyIHNl dCBkZWZhdWx0IE4nYWJj5ZCE5Zu96KqeJzsKKworLS1hbHRlciB0YWJsZQor YWx0ZXIgdGFibGUgbmNoYXJfdGVzdDEgcmVuYW1lIGYxIHRvIGYzOworYWx0 ZXIgdGFibGUgbmNoYXJfdGVzdDEgcmVuYW1lIGYyIHRvIGY0OworYWx0ZXIg dGFibGUgbmNoYXJfdGVzdDEgYWx0ZXIgZjMgdHlwZSBuY2hhcigxMCk7Cith bHRlciB0YWJsZSBuY2hhcl90ZXN0MSBhbHRlciBmNCB0eXBlIG52YXJjaGFy OworYWx0ZXIgdGFibGUgbmNoYXJfdGVzdDEgYWx0ZXIgZjMgc2V0IGRlZmF1 bHQgTidhYmPlkITlm73oqp4nOworYWx0ZXIgdGFibGUgbmNoYXJfdGVzdDEg YWx0ZXIgZjQgc2V0IGRlZmF1bHQgTidhYmPlkITlm73oqp4nOworCistLWRl Y2xhcmUgY3Vyc29yCitiZWdpbjtkZWNsYXJlIHFxcSBjdXJzb3IgZm9yIHNl bGVjdCBmMSxmMixOJ2FiY+WQhOWbveiqnicgZnJvbSBuY2hhcl90ZXN0O2Nv bW1pdDsKKworLS1jcmVhdGUgdHJpZ2dlcgorY3JlYXRlIHRyaWdnZXIgdHIg YmVmb3JlIHVwZGF0ZSBvbiBuY2hhcl90ZXN0IGZvciBlYWNoIHJvdyB3aGVu IChPTEQuZjE9TidhYmPlkITlm73oqp4nKSBFWEVDVVRFIFBST0NFRFVSRSBz dXBwcmVzc19yZWR1bmRhbnRfdXBkYXRlc190cmlnZ2VyKCk7CisKKy0tZm9y ZWlnbiBrZXkKK2FsdGVyIHRhYmxlIG5jaGFyX3Rlc3QxIGFkZCBDT05TVFJB SU5UIG5jaGFyX3Rlc3QxX3BrIHByaW1hcnkga2V5KGYzKTsKK2FsdGVyIHRh YmxlIG5jaGFyX3Rlc3QgYWRkIENPTlNUUkFJTlQgcXFxcSBGT1JFSUdOIEtF WSAoZjEpIHJlZmVyZW5jZXMgbmNoYXJfdGVzdDEoZjMpOworCistLXVwZGF0 ZQordXBkYXRlIG5jaGFyX3Rlc3Qgc2V0IGYxPU4nYWJj5ZCE5Zu96KqeJywg ZjI9J2FiY+WQhOWbveiqnic7CisKK3NlbGVjdCAqIGZyb20gbmNoYXJfdGVz dDE7CisKK2NyZWF0ZSBkb21haW4gdGVzdF9uY2hhcl9kb21haW4gYXMgbmNo YXIoMTApIGRlZmF1bHQgKE4nYScpIENIRUNLICh2YWx1ZSA8PiBOJ2InKTsK K2NyZWF0ZSBkb21haW4gdGVzdF9udmFyY2hhcl9kb21haW4gYXMgbnZhcmNo YXIoMTApIGRlZmF1bHQgKE4nYScpIENIRUNLICh2YWx1ZSA8PiBOJ2InKTsK K2FsdGVyIGRvbWFpbiB0ZXN0X25jaGFyX2RvbWFpbiBzZXQgZGVmYXVsdCAo TidiJyk7CithbHRlciBkb21haW4gdGVzdF9udmFyY2hhcl9kb21haW4gc2V0 IGRlZmF1bHQgKE4nYicpOworRFJPUCBET01BSU4gdGVzdF9uY2hhcl9kb21h aW47CitEUk9QIERPTUFJTiB0ZXN0X252YXJjaGFyX2RvbWFpbjsKKworQ1JF QVRFIEFHR1JFR0FURSB0ZXN0X252YXJjaGFyX2FnZyAobnZhcmNoYXIpICgg c2Z1bmMgPSBhcnJheV9hcHBlbmQsIHN0eXBlID0gbnZhcmNoYXJbXSwgaW5p dGNvbmQgPSAne30nKTsKK0NSRUFURSBBR0dSRUdBVEUgdGVzdF9uY2hhcl9h Z2cgKG5jaGFyKDEwKSkgKCBzZnVuYyA9IGFycmF5X2FwcGVuZCwgc3R5cGUg PSBuY2hhcigxMClbXSwgaW5pdGNvbmQgPSAne30nKTsKK2FsdGVyIGFnZ3Jl Z2F0ZSB0ZXN0X252YXJjaGFyX2FnZyhudmFyY2hhcikgcmVuYW1lIHRvIHRl c3RfbnZhcmNoYXJfYWdncmVnYXRlOworYWx0ZXIgYWdncmVnYXRlIHRlc3Rf bmNoYXJfYWdnIChuY2hhcigxMCkpIHJlbmFtZSB0byB0ZXN0X25jaGFyX2Fn Z3JlZ2F0ZTsKK2Ryb3AgYWdncmVnYXRlIHRlc3RfbnZhcmNoYXJfYWdncmVn YXRlKG52YXJjaGFyKTsKK2Ryb3AgYWdncmVnYXRlIHRlc3RfbmNoYXJfYWdn cmVnYXRlKG5jaGFyKDEwKSk7CisKK0NSRUFURSBUWVBFIHRlc3RfbmNoYXJf dHlwZSBBUyAoZjEgbmNoYXIoMTApKTsKK0NSRUFURSBUWVBFIHRlc3RfbnZh cmNoYXJfdHlwZSBBUyAoZjEgbnZhcmNoYXIpOworZHJvcCB0eXBlIHRlc3Rf bmNoYXJfdHlwZTsKK2Ryb3AgdHlwZSB0ZXN0X252YXJjaGFyX3R5cGU7CisK KworZHJvcCB2aWV3IHY7Citkcm9wIHRhYmxlIG5jaGFyX3Rlc3Q7Citkcm9w IHRhYmxlIG5jaGFyX3Rlc3QxOworCitjcmVhdGUgdGFibGUgbmNoYXJfdGVz dCAoZjEgbmNoYXIoMTApLCBmMiBudmFyY2hhcigxMCkpOworc2VsZWN0IGYx LCBmMiwgTidhJyAgZnJvbSBuY2hhcl90ZXN0IHdoZXJlIGYxPU4nYScgYW5k IGYyPU4nYic7CitpbnNlcnQgaW50byBuY2hhcl90ZXN0IHZhbHVlcyAoTidh JywgTidiJykgcmV0dXJuaW5nIChmMSwgZjIsIE4nYycpOworc2VsZWN0IGYx LCBmMiwgTidhJyBpbnRvIG5jaGFyX3Rlc3QxIGZyb20gbmNoYXJfdGVzdDsK K3NlbGVjdCAqIGZyb20gbmNoYXJfdGVzdDE7CisKK3ByZXBhcmUgcXFxKG5j aGFyKDEwKSwgbnZhcmNoYXIoMTApKSBBUyBzZWxlY3QgZjEsIGYyLCBOJ2En ICBmcm9tIG5jaGFyX3Rlc3Qgd2hlcmUgZjE9TidhJyBhbmQgZjI9TidiJzsK K2V4ZWN1dGUgcXFxKE4nYScsIE4nYicpOworCitleHBsYWluIHNlbGVjdCBm MSwgZjIsIE4nYScgIGZyb20gbmNoYXJfdGVzdCB3aGVyZSBmMT1OJ2EnIGFu ZCBmMj1OJ2InOworCitkZWxldGUgZnJvbSBuY2hhcl90ZXN0MSB3aGVyZSBm MT1OJ2EnIGFuZCBmMj1OJ2InOworCitkcm9wIHRhYmxlIG5jaGFyX3Rlc3Q7 Citkcm9wIHRhYmxlIG5jaGFyX3Rlc3QxOworCmRpZmYgLVUgNSAtTiAtciAt dyAuLi9vcmlnLkhFQUQvc3JjL3Rlc3QvcmVncmVzcy9zcWwvbnZhcmNoYXJf ZnVuYy5zcWwgLi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9udmFyY2hhcl9mdW5j LnNxbAotLS0gLi4vb3JpZy5IRUFEL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL252 YXJjaGFyX2Z1bmMuc3FsCTE5NjktMTItMzEgMTk6MDA6MDAuMDAwMDAwMDAw IC0wNTAwCisrKyAuL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL252YXJjaGFyX2Z1 bmMuc3FsCTIwMTMtMDgtMTkgMjM6MzE6MTUuMDAwMDAwMDAwIC0wNDAwCkBA IC0wLDAgKzEsOTAgQEAKKworU0VMRUNUIE4n5ZCE5Zu9JyB8fCBOJ+aWh+Wt lyc7CisKK1NFTEVDVCBOJ+WQhOWbvScgfHwgNDI7CisKK1NFTEVDVCBiaXRf bGVuZ3RoKE4n5ZCE5Zu9Jyk7CisKK1NFTEVDVCBjaGFyX2xlbmd0aChOJ+WQ hOWbvScpOworCitTRUxFQ1QgbG93ZXIoTiflkITlm71UT00nKTsKKworU0VM RUNUIG9jdGV0X2xlbmd0aChOJ+WQhOWbvScpOworCitTRUxFQ1Qgb3Zlcmxh eShOJ+WQhO+8uO+8uCcgcGxhY2luZyBOJ+aWh+WtlycgZnJvbSAyIGZvciAz KTsKKworU0VMRUNUIHBvc2l0aW9uKE4n5paHJyBpbiBOJ+WQhOWbveaWh+Wt lycpOworCitTRUxFQ1Qgc3Vic3RyaW5nKE4n5ZCE5Zu95paH5a2XJyBmcm9t IDMgZm9yIDMpOworCitTRUxFQ1Qgc3Vic3RyaW5nKE4n5ZCE5Zu95paH5a2X 5YiXJyBmcm9tIE4nLi4uJCcpOworCitTRUxFQ1Qgc3Vic3RyaW5nKE4n5ZCE 5Zu95paH5a2X5YiX5Zu9JyBmcm9tICclIyLmlodf5YiXIyJfJyBmb3IgJyMn KTsKKworU0VMRUNUIHRyaW0oYm90aCBOJ++8uCcgZnJvbSBOJ++8uOWQhOWb veaWh+Wtl++8uO+8uCcpOworCitTRUxFQ1QgdXBwZXIoTiflkITlm710b20n KTsKKworU0VMRUNUIGFzY2lpKE4n5pWwJyk7CisKK1NFTEVDVCBidHJpbShO J++8uO+8ueWQhOWbve+8uCcsIE4n77y477y5Jyk7CisKK1NFTEVDVCBjaHIo MjU5NjgpOworCitTRUxFQ1QgY29uY2F0KE4n5ZCEJywgTiflm70nLCBOVUxM LCBOJ+iqnicpOworCitTRUxFQ1QgY29uY2F0X3dzKE4n77y/JywgTiflkITl m70nLCBOVUxMLCBOJ+aWh+WtlycpOworCistLSBjb252ZXJ0X3RvKE4n5ZCE 5Zu9JywgJ1NKSVMnKSA9ICdceDhhNjU4ZDkxJworLS0gY29udmVydF90byhO J+WQhOWbvScsICdVVEY4JykgPSAnXHhlNTkwODRlNTliYmQnCitTRUxFQ1Qg Y29udmVydCgnXHg4YTY1OGQ5MSc6OmJ5dGVhLCAnU0pJUycsICdVVEY4Jyk7 CisKKy0tIE4n5ZCE5Zu9Jzo6Ynl0ZWEgPSAnXHhlNTkwODRlNTliYmQnCitT RUxFQ1QgY29udmVydF9mcm9tKCdceGU1OTA4NGU1OWJiZCc6OmJ5dGVhLCAn VVRGOCcpOworCistLSAnXHhlNTkwODRlNTliYmQnOjpieXRlYSA9IE4n5ZCE 5Zu9JworU0VMRUNUIGNvbnZlcnRfdG8oTiflkITlm70nLCAnVVRGOCcpOwor CitTRUxFQ1QgZm9ybWF0KCflkITlm70gJXMsICUxJHMnLCBOJ+aWh+Wtlycp OworCitTRUxFQ1QgaW5pdGNhcChOJ2hpIOWQhOWbvScpOworCitTRUxFQ1Qg bGVmdChOJ+WQhOWbveaWh+WtlycsIDIpOworCitTRUxFQ1QgbGVuZ3RoKE4n 5ZCE5Zu95paH5a2XJyk7CisKKy0tIE4n5ZCE5Zu95paH5a2XJzo6Ynl0ZWEg PSAnXHhlNTkwODRlNTliYmRlNjk2ODdlNWFkOTcnCitTRUxFQ1QgbGVuZ3Ro KCdceGU1OTA4NGU1OWJiZGU2OTY4N2U1YWQ5Nyc6OmJ5dGVhICwgJ1VURjgn KTsKKworU0VMRUNUIGxwYWQoTifmloflrZcnLCAzLCBOJ+WQhOWbvScpOwor CitTRUxFQ1QgbHRyaW0oTifil6/Dl+WQhOWbvScsIE4n4pevw5cnKTsKKwor U0VMRUNUIHJlZ2V4cF9tYXRjaGVzKE4n5ZCE5Zu95paH5a2X44OH44O844K/ JywgTico5paH5a2XKSjjg4fjg7zjgr8pJyk7CisKK1NFTEVDVCByZWdleHBf cmVwbGFjZShOJ+WQhOWbvXjmloflrZcnLCAnLlthLXpd5paHLicsIE4n6Kqe Jyk7CisKK1NFTEVDVCByZWdleHBfc3BsaXRfdG9fYXJyYXkoTiflkITlm70g 5paH5a2X5YiXJywgRSdcXHMrJyk7CisKK1NFTEVDVCByZWdleHBfc3BsaXRf dG9fdGFibGUoTiflkITlm70g5paH5a2X5YiXJywgRSdcXHMrJyk7CisKK1NF TEVDVCByZXBlYXQoTifmloflrZcnLCA0KTsKKworU0VMRUNUIHJlcGxhY2Uo TiflkITlm73mloflrZflm70nLCBOJ+WbvScsIE4n6KqeJyk7CisKK1NFTEVD VCByZXZlcnNlKE4n5ZCE5Zu96KqeJyk7CisKK1NFTEVDVCByaWdodChOJ+WQ hOWbveiqnicsIDIpOworCitTRUxFQ1QgcnBhZChOJ+WQhOWbvScsIDMsIE4n 6KqeJyk7CisKK1NFTEVDVCBydHJpbShOJ+KXr+WQhOWbveKXr+KXrycsIE4n 4pevJyk7CisKK1NFTEVDVCBzcGxpdF9wYXJ0KE4n5ZCE5Zu94pev6Kqe4pev 5paH5a2XJywgTifil68nLCAzKTsKKworU0VMRUNUIHN0cnBvcyhOJ+WQhOWb veiqnicsIE4n6KqeJyk7CisKK1NFTEVDVCBzdWJzdHIoTiflkITlm73oqp4n LCAzLCAzKTsKKworU0VMRUNUIHRyYW5zbGF0ZShOJ+WQhOWbveaWh+Wtlycs IE4n5ZCE5a2XJywgTifil6/DlycpOworCmRpZmYgLVUgNSAtTiAtciAtdyAu Li9vcmlnLkhFQUQvc3JjL3Rlc3QvcmVncmVzcy9zcWwvbnZhcmNoYXJfbWlz Yy5zcWwgLi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9udmFyY2hhcl9taXNjLnNx bAotLS0gLi4vb3JpZy5IRUFEL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL252YXJj aGFyX21pc2Muc3FsCTE5NjktMTItMzEgMTk6MDA6MDAuMDAwMDAwMDAwIC0w NTAwCisrKyAuL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL252YXJjaGFyX21pc2Mu c3FsCTIwMTMtMDgtMTkgMjM6MzE6MTUuMDAwMDAwMDAwIC0wNDAwCkBAIC0w LDAgKzEsMjIgQEAKK3NlbGVjdCBOJ2EgJz1OJ2EnOworc2VsZWN0IE4nYSAn PSdhJzsKK3NlbGVjdCBOJ2EnPSdhJzsKK3NlbGVjdCBOJ2EgJz0nYSc6OmNo YXIoMSk7CitzZWxlY3QgTidhICc9J2EnOjpuY2hhcigxKTsKK3NlbGVjdCBO J2EgJz0nYSc6OnZhcmNoYXIoMSk7CitzZWxlY3QgTidhICc9J2EnOjpudmFy Y2hhcigxKTsKK3NlbGVjdCBOJ2EnPSdhJzo6bnZhcmNoYXIoMSk7CitzZWxl Y3QgTidhJz0nYSc6OnZhcmNoYXIoMSk7CitzZWxlY3QgTidhJz0nYSc6OmNo YXIoMSk7CitzZWxlY3QgTidhJz0nYSc6Om5jaGFyKDEpOworc2VsZWN0ICdh Jzo6bmNoYXIoMTApPSdhJzo6Y2hhcigxKTsKK3NlbGVjdCAnYSc6Om5jaGFy KDEwKT0nYSc6Om5jaGFyKDEpOworc2VsZWN0ICdhJzo6bmNoYXIoMTApPSdh Jzo6dmFyY2hhcigxKTsKK3NlbGVjdCAnYSc6Om5jaGFyKDEwKT0nYSc6Om52 YXJjaGFyKDEpOworc2VsZWN0ICdhJzo6bnZhcmNoYXIoMTApPSdhJzo6dmFy Y2hhcigxKTsKK3NlbGVjdCAnYSc6Om52YXJjaGFyKDEwKT0nYSc6OnZhcmNo YXIoMTApOworc2VsZWN0ICdhJzo6bnZhcmNoYXIoMTApPSdhICc6OnZhcmNo YXIoMTApOworc2VsZWN0ICdhJzo6bnZhcmNoYXIoMTApPSdhICc6OmNoYXIo MTApOworc2VsZWN0ICdhICc6Om5jaGFyKDEwKT0nYSAgJzo6bmNoYXIoNSk7 CitzZWxlY3QgJ2EgJzo6bmNoYXIoMTApPSdhICAnOjpjaGFyKDUpOworCmRp ZmYgLVUgNSAtTiAtciAtdyAuLi9vcmlnLkhFQUQvc3JjL3Rlc3QvcmVncmVz cy9zcWwvbnZhcmNoYXIuc3FsIC4vc3JjL3Rlc3QvcmVncmVzcy9zcWwvbnZh cmNoYXIuc3FsCi0tLSAuLi9vcmlnLkhFQUQvc3JjL3Rlc3QvcmVncmVzcy9z cWwvbnZhcmNoYXIuc3FsCTE5NjktMTItMzEgMTk6MDA6MDAuMDAwMDAwMDAw IC0wNTAwCisrKyAuL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL252YXJjaGFyLnNx bAkyMDEzLTA4LTE5IDIzOjMxOjE1LjAwMDAwMDAwMCAtMDQwMApAQCAtMCww ICsxLDY2IEBACistLQorLS0gTlZBUkNIQVIKKy0tCisKK0NSRUFURSBUQUJM RSBOVkFSQ0hBUl9UQkwoZjEgbnZhcmNoYXIoMSkpOworCitJTlNFUlQgSU5U TyBOVkFSQ0hBUl9UQkwgKGYxKSBWQUxVRVMgKCdhJyk7CisKK0lOU0VSVCBJ TlRPIE5WQVJDSEFSX1RCTCAoZjEpIFZBTFVFUyAoJ0EnKTsKKworLS0gYW55 IG9mIHRoZSBmb2xsb3dpbmcgdGhyZWUgaW5wdXQgZm9ybWF0cyBhcmUgYWNj ZXB0YWJsZQorSU5TRVJUIElOVE8gTlZBUkNIQVJfVEJMIChmMSkgVkFMVUVT ICgnMScpOworCitJTlNFUlQgSU5UTyBOVkFSQ0hBUl9UQkwgKGYxKSBWQUxV RVMgKDIpOworCitJTlNFUlQgSU5UTyBOVkFSQ0hBUl9UQkwgKGYxKSBWQUxV RVMgKCczJyk7CisKKy0tIHplcm8tbGVuZ3RoIG5jaGFyCitJTlNFUlQgSU5U TyBOVkFSQ0hBUl9UQkwgKGYxKSBWQUxVRVMgKCcnKTsKKworLS0gdHJ5IG52 YXJjaGFyJ3Mgb2YgZ3JlYXRlciB0aGFuIDEgbGVuZ3RoCitJTlNFUlQgSU5U TyBOVkFSQ0hBUl9UQkwgKGYxKSBWQUxVRVMgKCdjZCcpOworSU5TRVJUIElO VE8gTlZBUkNIQVJfVEJMIChmMSkgVkFMVUVTICgnYyAgICAgJyk7CisKKwor U0VMRUNUICcnIEFTIHNldmVuLCAqIEZST00gTlZBUkNIQVJfVEJMOworCitT RUxFQ1QgJycgQVMgc2l4LCBjLioKKyAgIEZST00gTlZBUkNIQVJfVEJMIGMK KyAgIFdIRVJFIGMuZjEgPD4gJ2EnOworCitTRUxFQ1QgJycgQVMgb25lLCBj LioKKyAgIEZST00gTlZBUkNIQVJfVEJMIGMKKyAgIFdIRVJFIGMuZjEgPSAn YSc7CisKK1NFTEVDVCAnJyBBUyBmaXZlLCBjLioKKyAgIEZST00gTlZBUkNI QVJfVEJMIGMKKyAgIFdIRVJFIGMuZjEgPCAnYSc7CisKK1NFTEVDVCAnJyBB UyBzaXgsIGMuKgorICAgRlJPTSBOVkFSQ0hBUl9UQkwgYworICAgV0hFUkUg Yy5mMSA8PSAnYSc7CisKK1NFTEVDVCAnJyBBUyBvbmUsIGMuKgorICAgRlJP TSBOVkFSQ0hBUl9UQkwgYworICAgV0hFUkUgYy5mMSA+ICdhJzsKKworU0VM RUNUICcnIEFTIHR3bywgYy4qCisgICBGUk9NIE5WQVJDSEFSX1RCTCBjCisg ICBXSEVSRSBjLmYxID49ICdhJzsKKworRFJPUCBUQUJMRSBOVkFSQ0hBUl9U Qkw7CisKKy0tCistLSBOb3cgdGVzdCBsb25nZXIgYXJyYXlzIG9mIG5jaGFy CistLQorCitDUkVBVEUgVEFCTEUgTlZBUkNIQVJfVEJMKGYxIG52YXJjaGFy KDQpKTsKKworSU5TRVJUIElOVE8gTlZBUkNIQVJfVEJMIChmMSkgVkFMVUVT ICgnYScpOworSU5TRVJUIElOVE8gTlZBUkNIQVJfVEJMIChmMSkgVkFMVUVT ICgnYWInKTsKK0lOU0VSVCBJTlRPIE5WQVJDSEFSX1RCTCAoZjEpIFZBTFVF UyAoJ2FiY2QnKTsKK0lOU0VSVCBJTlRPIE5WQVJDSEFSX1RCTCAoZjEpIFZB TFVFUyAoJ2FiY2RlJyk7CitJTlNFUlQgSU5UTyBOVkFSQ0hBUl9UQkwgKGYx KSBWQUxVRVMgKCdhYmNkICAgICcpOworCitTRUxFQ1QgJycgQVMgZm91ciwg KiBGUk9NIE5WQVJDSEFSX1RCTDsKZGlmZiAtVSA1IC1OIC1yIC13IC4uL29y aWcuSEVBRC9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zdHJpbmdzLnNxbCAuL3Ny Yy90ZXN0L3JlZ3Jlc3Mvc3FsL3N0cmluZ3Muc3FsCi0tLSAuLi9vcmlnLkhF QUQvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc3RyaW5ncy5zcWwJMjAxMy0wOC0x OSAyMDoyMjoxNS4wMDAwMDAwMDAgLTA0MDAKKysrIC4vc3JjL3Rlc3QvcmVn cmVzcy9zcWwvc3RyaW5ncy5zcWwJMjAxMy0wOC0xOSAyMDo1NDowMC4wMDAw MDAwMDAgLTA0MDAKQEAgLTY4LDMwICs2OCw0MSBAQAogLS0gdGVzdCBjb252 ZXJzaW9ucyBiZXR3ZWVuIHZhcmlvdXMgc3RyaW5nIHR5cGVzCiAtLSBFMDIx LTEwIGltcGxpY2l0IGNhc3RpbmcgYW1vbmcgdGhlIGNoYXJhY3RlciBkYXRh IHR5cGVzCiAtLQogCiBTRUxFQ1QgQ0FTVChmMSBBUyB0ZXh0KSBBUyAidGV4 dChjaGFyKSIgRlJPTSBDSEFSX1RCTDsKK1NFTEVDVCBDQVNUKGYxIEFTIHRl eHQpIEFTICJ0ZXh0KG5jaGFyKSIgRlJPTSBOQ0hBUl9UQkw7CiAKIFNFTEVD VCBDQVNUKGYxIEFTIHRleHQpIEFTICJ0ZXh0KHZhcmNoYXIpIiBGUk9NIFZB UkNIQVJfVEJMOworU0VMRUNUIENBU1QoZjEgQVMgdGV4dCkgQVMgInRleHQo bnZhcmNoYXIpIiBGUk9NIE5WQVJDSEFSX1RCTDsKIAogU0VMRUNUIENBU1Qo bmFtZSAnbmFtZWZpZWxkJyBBUyB0ZXh0KSBBUyAidGV4dChuYW1lKSI7CiAK IC0tIHNpbmNlIHRoaXMgaXMgYW4gZXhwbGljaXQgY2FzdCwgaXQgc2hvdWxk IHRydW5jYXRlIHcvbyBlcnJvcjoKIFNFTEVDVCBDQVNUKGYxIEFTIGNoYXIo MTApKSBBUyAiY2hhcih0ZXh0KSIgRlJPTSBURVhUX1RCTDsKIC0tIG5vdGU6 IGltcGxpY2l0LWNhc3QgY2FzZSBpcyB0ZXN0ZWQgaW4gY2hhci5zcWwKK1NF TEVDVCBDQVNUKGYxIEFTIG5jaGFyKDEwKSkgQVMgIm5jaGFyKHRleHQpIiBG Uk9NIFRFWFRfVEJMOworLS0gbm90ZTogaW1wbGljaXQtY2FzdCBjYXNlIGlz IHRlc3RlZCBpbiBuY2hhci5zcWwKIAogU0VMRUNUIENBU1QoZjEgQVMgY2hh cigyMCkpIEFTICJjaGFyKHRleHQpIiBGUk9NIFRFWFRfVEJMOworU0VMRUNU IENBU1QoZjEgQVMgbmNoYXIoMjApKSBBUyAibmNoYXIodGV4dCkiIEZST00g VEVYVF9UQkw7CiAKIFNFTEVDVCBDQVNUKGYxIEFTIGNoYXIoMTApKSBBUyAi Y2hhcih2YXJjaGFyKSIgRlJPTSBWQVJDSEFSX1RCTDsKK1NFTEVDVCBDQVNU KGYxIEFTIG5jaGFyKDEwKSkgQVMgIm5jaGFyKG52YXJjaGFyKSIgRlJPTSBO VkFSQ0hBUl9UQkw7CisKIAogU0VMRUNUIENBU1QobmFtZSAnbmFtZWZpZWxk JyBBUyBjaGFyKDEwKSkgQVMgImNoYXIobmFtZSkiOworU0VMRUNUIENBU1Qo bmFtZSAnbmFtZWZpZWxkJyBBUyBuY2hhcigxMCkpIEFTICJuY2hhcihuYW1l KSI7CiAKIFNFTEVDVCBDQVNUKGYxIEFTIHZhcmNoYXIpIEFTICJ2YXJjaGFy KHRleHQpIiBGUk9NIFRFWFRfVEJMOworU0VMRUNUIENBU1QoZjEgQVMgbnZh cmNoYXIpIEFTICJudmFyY2hhcih0ZXh0KSIgRlJPTSBURVhUX1RCTDsKIAog U0VMRUNUIENBU1QoZjEgQVMgdmFyY2hhcikgQVMgInZhcmNoYXIoY2hhciki IEZST00gQ0hBUl9UQkw7CitTRUxFQ1QgQ0FTVChmMSBBUyBudmFyY2hhcikg QVMgIm52YXJjaGFyKG5jaGFyKSIgRlJPTSBOQ0hBUl9UQkw7CiAKIFNFTEVD VCBDQVNUKG5hbWUgJ25hbWVmaWVsZCcgQVMgdmFyY2hhcikgQVMgInZhcmNo YXIobmFtZSkiOworU0VMRUNUIENBU1QobmFtZSAnbmFtZWZpZWxkJyBBUyBu dmFyY2hhcikgQVMgIm52YXJjaGFyKG5hbWUpIjsKIAogLS0KIC0tIHRlc3Qg U1FMIHN0cmluZyBmdW5jdGlvbnMKIC0tIEUjIyMgYW5kIFQjIyMgYXJlIGZl YXR1cmUgcmVmZXJlbmNlIG51bWJlcnMgZnJvbSBTUUw5OQogLS0KQEAgLTMy OCwxNCArMzM5LDE3IEBACiBTRUxFQ1QgJ3Vua25vd24nIHx8ICcgYW5kIHVu a25vd24nIEFTICJDb25jYXQgdW5rbm93biB0eXBlcyI7CiAKIFNFTEVDVCB0 ZXh0ICd0ZXh0JyB8fCAnIGFuZCB1bmtub3duJyBBUyAiQ29uY2F0IHRleHQg dG8gdW5rbm93biB0eXBlIjsKIAogU0VMRUNUIGNoYXIoMjApICdjaGFyYWN0 ZXJzJyB8fCAnIGFuZCB0ZXh0JyBBUyAiQ29uY2F0IGNoYXIgdG8gdW5rbm93 biB0eXBlIjsKK1NFTEVDVCBuY2hhcigyMCkgJ25jaGFyYWN0ZXJzJyB8fCAn IGFuZCB0ZXh0JyBBUyAiQ29uY2F0IG5jaGFyIHRvIHVua25vd24gdHlwZSI7 CiAKIFNFTEVDVCB0ZXh0ICd0ZXh0JyB8fCBjaGFyKDIwKSAnIGFuZCBjaGFy YWN0ZXJzJyBBUyAiQ29uY2F0IHRleHQgdG8gY2hhciI7CitTRUxFQ1QgdGV4 dCAndGV4dCcgfHwgbmNoYXIoMjApICcgYW5kIG5jaGFyYWN0ZXJzJyBBUyAi Q29uY2F0IHRleHQgdG8gbmNoYXIiOwogCiBTRUxFQ1QgdGV4dCAndGV4dCcg fHwgdmFyY2hhciAnIGFuZCB2YXJjaGFyJyBBUyAiQ29uY2F0IHRleHQgdG8g dmFyY2hhciI7CitTRUxFQ1QgdGV4dCAndGV4dCcgfHwgbnZhcmNoYXIgJyBh bmQgbnZhcmNoYXInIEFTICJDb25jYXQgdGV4dCB0byBudmFyY2hhciI7CiAK IC0tCiAtLSB0ZXN0IHN1YnN0ciB3aXRoIHRvYXN0ZWQgdGV4dCB2YWx1ZXMK IC0tCiBDUkVBVEUgVEFCTEUgdG9hc3R0ZXN0KGYxIHRleHQpOwpkaWZmIC1V IDUgLU4gLXIgLXcgLi4vb3JpZy5IRUFEL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L3VuaW9uLnNxbCAuL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3VuaW9uLnNxbAot LS0gLi4vb3JpZy5IRUFEL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3VuaW9uLnNx bAkyMDEzLTA4LTE5IDIwOjIyOjE1LjAwMDAwMDAwMCAtMDQwMAorKysgLi9z cmMvdGVzdC9yZWdyZXNzL3NxbC91bmlvbi5zcWwJMjAxMy0wOC0xOSAyMDo1 NDowMC4wMDAwMDAwMDAgLTA0MDAKQEAgLTg3LDEwICs4NywyNyBAQAogU0VM RUNUIGYxIEZST00gVkFSQ0hBUl9UQkwKIFVOSU9OCiBTRUxFQ1QgVFJJTShU UkFJTElORyBGUk9NIGYxKSBGUk9NIENIQVJfVEJMCiBPUkRFUiBCWSAxOwog CistLU5WQVJDSEFSIHNwZWNpZmljCitTRUxFQ1QgZjEgQVMgdGhyZWUgRlJP TSBOVkFSQ0hBUl9UQkwKK1VOSU9OCitTRUxFQ1QgQ0FTVChmMSBBUyBudmFy Y2hhcikgRlJPTSBOQ0hBUl9UQkwKK09SREVSIEJZIDE7CisKK1NFTEVDVCBm MSBBUyBlaWdodCBGUk9NIE5WQVJDSEFSX1RCTAorVU5JT04gQUxMCitTRUxF Q1QgZjEgRlJPTSBOQ0hBUl9UQkw7CisKK1NFTEVDVCBmMSBBUyBmaXZlIEZS T00gVEVYVF9UQkwKK1VOSU9OCitTRUxFQ1QgZjEgRlJPTSBOVkFSQ0hBUl9U QkwKK1VOSU9OCitTRUxFQ1QgVFJJTShUUkFJTElORyBGUk9NIGYxKSBGUk9N IE5DSEFSX1RCTAorT1JERVIgQlkgMTsKKwogLS0KIC0tIElOVEVSU0VDVCBh bmQgRVhDRVBUCiAtLQogCiBTRUxFQ1QgcTIgRlJPTSBpbnQ4X3RibCBJTlRF UlNFQ1QgU0VMRUNUIHExIEZST00gaW50OF90Ymw7CmRpZmYgLVUgNSAtTiAt ciAtdyAuLi9vcmlnLkhFQUQvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdXBkYXRl LnNxbCAuL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3VwZGF0ZS5zcWwKLS0tIC4u L29yaWcuSEVBRC9zcmMvdGVzdC9yZWdyZXNzL3NxbC91cGRhdGUuc3FsCTIw MTMtMDgtMTkgMjA6MjI6MTUuMDAwMDAwMDAwIC0wNDAwCisrKyAuL3NyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL3VwZGF0ZS5zcWwJMjAxMy0wOC0xOSAyMDo1NDow MC4wMDAwMDAwMDAgLTA0MDAKQEAgLTMsMTggKzMsMzIgQEAKIC0tCiAKIENS RUFURSBUQUJMRSB1cGRhdGVfdGVzdCAoCiAgICAgYSAgIElOVCBERUZBVUxU IDEwLAogICAgIGIgICBJTlQsCi0gICAgYyAgIFRFWFQKKyAgICBjICAgVEVY VCwKKyAgICBkICAgbmNoYXIoMTApLAorICAgIGUgICBudmFyY2hhcgogKTsK IAotSU5TRVJUIElOVE8gdXBkYXRlX3Rlc3QgVkFMVUVTICg1LCAxMCwgJ2Zv bycpOworSU5TRVJUIElOVE8gdXBkYXRlX3Rlc3QgVkFMVUVTICg1LCAxMCwg J2ZvbycsICdhJywgJ2EnKTsKIElOU0VSVCBJTlRPIHVwZGF0ZV90ZXN0KGIs IGEpIFZBTFVFUyAoMTUsIDEwKTsKIAogU0VMRUNUICogRlJPTSB1cGRhdGVf dGVzdDsKIAorVVBEQVRFIHVwZGF0ZV90ZXN0IFNFVCBkPSdiJywgZT0nYic7 CisKK1NFTEVDVCAqIEZST00gdXBkYXRlX3Rlc3Q7CisKK1VQREFURSB1cGRh dGVfdGVzdCBTRVQgZD0nYycgd2hlcmUgZT0nYic7CisKK1NFTEVDVCAqIEZS T00gdXBkYXRlX3Rlc3Q7CisKK1VQREFURSB1cGRhdGVfdGVzdCBTRVQgZD1O J2UnIHdoZXJlIGU9TidiJzsKKworU0VMRUNUICogRlJPTSB1cGRhdGVfdGVz dDsKKwogVVBEQVRFIHVwZGF0ZV90ZXN0IFNFVCBhID0gREVGQVVMVCwgYiA9 IERFRkFVTFQ7CiAKIFNFTEVDVCAqIEZST00gdXBkYXRlX3Rlc3Q7CiAKIC0t IGFsaWFzZXMgZm9yIHRoZSBVUERBVEUgdGFyZ2V0IHRhYmxlCg== ------_=_NextPart_001_01CEA84D.50D1ED6B Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers ------_=_NextPart_001_01CEA84D.50D1ED6B--