Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1vDNAQ-007kke-9x for pgsql-hackers@arkaria.postgresql.org; Mon, 27 Oct 2025 13:21:46 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1vDNAP-007n04-0u for pgsql-hackers@arkaria.postgresql.org; Mon, 27 Oct 2025 13:21:44 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1vDNAO-007mzv-FY for pgsql-hackers@lists.postgresql.org; Mon, 27 Oct 2025 13:21:43 +0000 Received: from udcm-wwu1.uni-muenster.de ([128.176.118.7]) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vDNAL-004UrL-0H for pgsql-hackers@lists.postgresql.org; Mon, 27 Oct 2025 13:21:43 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=uni-muenster.de; i=@uni-muenster.de; q=dns/txt; s=uniout; t=1761571301; x=1793107301; h=message-id:date:mime-version:subject:from:to:cc: references:in-reply-to; bh=nwL4URBU4j7i5ypzRG1lS5UIh5KeaJi2ljA7m+ckImk=; b=V1IA/yScskjf4Xh9d2QvRmlM1EUSVs4uep8dhCWMw6vedXGiLGRQ1bij 44aj912YQY5YT3RZdvnSd5M6wHEvp/KSxzXvfXgqyw/Mn1TkuP1mcYmlo 5Pm4wN1UvhnRe4MbeVSYu//ivl3nSbd3CfHEFuhW4C5c5FU/SCoifd/K2 mSMxOvDj8fPi7jvYFJfFtgLPu1QIqsP5T+9G9YYFpDdlBcaQn6vw7qLdB v16+uCsr4tkkE2Mti5XwcTblTDxGmRrVmdUiEy41bkgTWIAxkEyhpecIQ S0umMwwLGGZiWCFYomXDQDw9zqJg5gOxkWDG/hcGl+ONb5OL9x8+Bs+7b g==; X-CSE-ConnectionGUID: kiFG21pgTb60vWbwi2u/OQ== X-CSE-MsgGUID: 9qlvLgTAS4OcGQgMPJaebA== X-IronPort-AV: E=Sophos;i="6.19,258,1754949600"; d="scan'208,223";a="384591157" Received: from secmail.uni-muenster.de ([128.176.118.4]) by UDCM-RELAY1.UNI-MUENSTER.DE with ESMTP; 27 Oct 2025 14:21:40 +0100 Received: from [192.168.178.27] (dynamic-077-176-179-014.77.176.pool.telefonica.de [77.176.179.14]) by SECMAIL.UNI-MUENSTER.DE (Postfix) with ESMTPSA id 7902A20ADF02; Mon, 27 Oct 2025 14:21:39 +0100 (CET) Content-Type: multipart/mixed; boundary="------------PRPp3YQHDd0J60YTpSjipXqb" Message-ID: <48a98e56-6192-42de-8b32-d13935646ef3@uni-muenster.de> Date: Mon, 27 Oct 2025 14:21:39 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PoC] XMLCast (SQL/XML X025) From: Jim Jones To: Robert Haas Cc: pgsql-hackers@lists.postgresql.org, Vik Fearing References: <7b99d466-985f-4d27-8c93-9b98c6945ebb@uni-muenster.de> <800e2b29-7cf9-42e0-9d95-12b3007d2f7a@uni-muenster.de> <998465cb-2fda-4497-8194-87da56748186@uni-muenster.de> <7283b4aa-350f-46ee-8fd9-32fd91d04a2d@uni-muenster.de> <389e2c5b-9d6d-4629-9c59-7f5bd526e791@uni-muenster.de> <576df37b-914b-4276-8bd8-3e8d682f32b2@uni-muenster.de> Content-Language: de-DE, en-GB In-Reply-To: <576df37b-914b-4276-8bd8-3e8d682f32b2@uni-muenster.de> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------PRPp3YQHDd0J60YTpSjipXqb Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit rebased Jim --------------PRPp3YQHDd0J60YTpSjipXqb Content-Type: text/x-patch; charset=UTF-8; name="v12-0001-Add-XMLCast-function-SQL-XML-X025.patch" Content-Disposition: attachment; filename="v12-0001-Add-XMLCast-function-SQL-XML-X025.patch" Content-Transfer-Encoding: base64 RnJvbSBmOWRmNzI4NTAwZGQyODFiNjY1MWIyMmZkNjJlZjY1ODZiNTg0NTNhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gSm9uZXMgPGppbS5qb25lc0B1bmktbXVlbnN0 ZXIuZGU+CkRhdGU6IE1vbiwgMjcgT2N0IDIwMjUgMTM6MTk6MTQgKzAxMDAKU3ViamVjdDog W1BBVENIIHYxMl0gQWRkIFhNTENhc3QgZnVuY3Rpb24gKFNRTC9YTUwgWDAyNSkKClRoaXMg cGF0Y2ggaW50cm9kdWNlcyBzdXBwb3J0IGZvciB0aGUgWE1MQ0FTVCBmdW5jdGlvbiwgYXMg c3BlY2lmaWVkCmluIFNRTC9YTUw6MjAyMyAoSVNPL0lFQyA5MDc1LTE0OjIwMjMpLCBTdWJj bGF1c2UgNi43ICI8WE1MIGNhc3QKc3BlY2lmaWNhdGlvbj4iLiBJdCBlbmFibGVzIHN0YW5k YXJkcy1jb21wbGlhbnQgY29udmVyc2lvbiBiZXR3ZWVuClNRTCBkYXRhIHR5cGVzIGFuZCBY TUwsIGZvbGxvd2luZyB0aGUgbGV4aWNhbCBydWxlcyBkZWZpbmVkIGJ5IHRoZQpXM0MgWE1M IFNjaGVtYSBQYXJ0IDIuCgpYTUxDYXN0IHByb3ZpZGVzIGFuIGFsdGVybmF0aXZlIHRvIENB U1Qgd2hlbiBjb252ZXJ0aW5nIFNRTCB2YWx1ZXMKaW50byBYTUwgY29udGVudCwgZW5zdXJp bmcgdGhlIG91dHB1dCB1c2VzIGNhbm9uaWNhbCBYTUwgU2NoZW1hCmxleGljYWwgcmVwcmVz ZW50YXRpb25zLiBGb3IgZXhhbXBsZSwgdGltZXN0YW1wIGFuZCBpbnRlcnZhbCB2YWx1ZXMK YXJlIHJlbmRlcmVkIGFzIGB4czpkYXRlVGltZWAgYW5kIGB4czpkdXJhdGlvbmAgKGUuZy4s CiIyMDI0LTAxLTAxVDEyOjAwOjAwWiIgb3IgIlAxWTJNIiksIGNvbmZvcm1pbmcgdG8gSVNP IDg2MDEgZm9ybWF0cy4KCkNvbnZlcnNlbHksIFhNTENhc3QgYWxzbyBhbGxvd3MgY29udmVy dGluZyBYTUwgY29udGVudCBiYWNrIGludG8gU1FMCnR5cGVzIChlLmcuLCBib29sZWFuLCBu dW1lcmljLCBkYXRlL3RpbWUpLCB2YWxpZGF0aW5nIHRoZSBpbnB1dCBzdHJpbmcKYWNjb3Jk aW5nIHRvIFhNTCBTY2hlbWEgbGV4aWNhbCBmb3Jtcy4KClN1cHBvcnRlZCBjYXN0cyBpbmNs dWRlOgogIC0gU1FMIC0+IFhNTDogYm9vbGVhbiwgbnVtZXJpYywgY2hhcmFjdGVyLCBkYXRl L3RpbWUsIGludGVydmFsCiAgLSBYTUwgLT4gU1FMOiB0aGUgaW52ZXJzZSBvZiB0aGUgYWJv dmUsIHdpdGggbGV4aWNhbCB2YWxpZGF0aW9uCgpUaGUgQlkgUkVGIGFuZCBCWSBWQUxVRSBj bGF1c2VzIGFyZSBhY2NlcHRlZCBmb3IgU1FML1hNTCBjb21wYXRpYmlsaXR5LApidXQgaWdu b3JlZC4KCkRvY3VtZW50YXRpb24gYW5kIHJlZ3Jlc3Npb24gdGVzdHMgYXJlIGluY2x1ZGVk LgotLS0KIGRvYy9zcmMvc2dtbC9kYXRhdHlwZS5zZ21sICAgICAgICAgICAgfCAgODcgKysr LQogc3JjL2JhY2tlbmQvY2F0YWxvZy9zcWxfZmVhdHVyZXMudHh0ICB8ICAgMiArLQogc3Jj L2JhY2tlbmQvZXhlY3V0b3IvZXhlY0V4cHJJbnRlcnAuYyB8IDEyMyArKysrKy0KIHNyYy9i YWNrZW5kL25vZGVzL25vZGVGdW5jcy5jICAgICAgICAgfCAgMTMgKwogc3JjL2JhY2tlbmQv cGFyc2VyL2dyYW0ueSAgICAgICAgICAgICB8ICAyMiArLQogc3JjL2JhY2tlbmQvcGFyc2Vy L3BhcnNlX2V4cHIuYyAgICAgICB8IDEwOCArKysrKwogc3JjL2JhY2tlbmQvcGFyc2VyL3Bh cnNlX3RhcmdldC5jICAgICB8ICAgNyArCiBzcmMvYmFja2VuZC91dGlscy9hZHQvcnVsZXV0 aWxzLmMgICAgIHwgIDEwICstCiBzcmMvYmFja2VuZC91dGlscy9hZHQveG1sLmMgICAgICAg ICAgIHwgIDYxICsrKwogc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oICAgICAgICB8 ICAgOCArCiBzcmMvaW5jbHVkZS9ub2Rlcy9wcmltbm9kZXMuaCAgICAgICAgIHwgICAzICsK IHNyYy9pbmNsdWRlL3BhcnNlci9rd2xpc3QuaCAgICAgICAgICAgfCAgIDEgKwogc3JjL2lu Y2x1ZGUvdXRpbHMveG1sLmggICAgICAgICAgICAgICB8ICAgMSArCiBzcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3htbC5vdXQgICAgIHwgNTY1ICsrKysrKysrKysrKysrKysrKysrKysr KysKIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQveG1sXzEub3V0ICAgfCA0MjkgKysrKysr KysrKysrKysrKysrKwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC94bWxfMi5vdXQgICB8 IDU2NyArKysrKysrKysrKysrKysrKysrKysrKysrKwogc3JjL3Rlc3QvcmVncmVzcy9zcWwv eG1sLnNxbCAgICAgICAgICB8IDI3OCArKysrKysrKysrKysrCiBzcmMvdG9vbHMvcGdpbmRl bnQvdHlwZWRlZnMubGlzdCAgICAgIHwgICAxICsKIDE4IGZpbGVzIGNoYW5nZWQsIDIyNzYg aW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9z Z21sL2RhdGF0eXBlLnNnbWwgYi9kb2Mvc3JjL3NnbWwvZGF0YXR5cGUuc2dtbAppbmRleCBi ODFkODllMjYwLi5iZmY4MDgyMTYwIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvZGF0YXR5 cGUuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvZGF0YXR5cGUuc2dtbApAQCAtNDQ5NCwxNCAr NDQ5NCw5MyBAQCBYTUxQQVJTRSAoIHsgRE9DVU1FTlQgfCBDT05URU5UIH0gPHJlcGxhY2Vh YmxlPnZhbHVlPC9yZXBsYWNlYWJsZT4pCiBYTUxQQVJTRSAoRE9DVU1FTlQgJzw/eG1sIHZl cnNpb249IjEuMCI/Pjxib29rPjx0aXRsZT5NYW51YWw8L3RpdGxlPjxjaGFwdGVyPi4uLjwv Y2hhcHRlcj48L2Jvb2s+JykKIFhNTFBBUlNFIChDT05URU5UICdhYmM8Zm9vPmJhcjwvZm9v PjxiYXI+Zm9vPC9iYXI+JykKIF1dPjwvcHJvZ3JhbWxpc3Rpbmc+Ci0gICAgV2hpbGUgdGhp cyBpcyB0aGUgb25seSB3YXkgdG8gY29udmVydCBjaGFyYWN0ZXIgc3RyaW5ncyBpbnRvIFhN TAotICAgIHZhbHVlcyBhY2NvcmRpbmcgdG8gdGhlIFNRTCBzdGFuZGFyZCwgdGhlIFBvc3Rn cmVTUUwtc3BlY2lmaWMKLSAgICBzeW50YXhlczoKKworICAgIEFub3RoZXIgb3B0aW9uIGZv ciBjb252ZXJ0aW5nIHZhbHVlcyB0byBvciBmcm9tIDx0eXBlPnhtbDwvdHlwZT4gaXMgdGhl IDxmdW5jdGlvbj54bWxjYXN0PC9mdW5jdGlvbj4gZnVuY3Rpb24sCisgICAgd2hpY2ggaXMg ZGVzaWduZWQgdG8gY2FzdCBTUUwgZGF0YSB0eXBlcyBpbnRvIDx0eXBlPnhtbDwvdHlwZT4s IGFuZCB2aWNlIHZlcnNhLCBpbiBhIHN0YW5kYXJkcy1jb21wbGlhbnQgd2F5LgorPHN5bm9w c2lzPgorWE1MQ0FTVCAoIDxyZXBsYWNlYWJsZT5leHByZXNzaW9uPC9yZXBsYWNlYWJsZT4g QVMgPHJlcGxhY2VhYmxlPnR5cGU8L3JlcGxhY2VhYmxlPiBbIEJZIFJFRiB8IEJZIFZBTFVF IF0gKQorPC9zeW5vcHNpcz4KKyAgICBTaW1pbGFyIHRvIHRoZSBTUUwgZnVuY3Rpb24gPGZ1 bmN0aW9uPkNBU1Q8L2Z1bmN0aW9uPiwgdGhpcyBmdW5jdGlvbiBjb252ZXJ0cyBhbiA8cmVw bGFjZWFibGU+ZXhwcmVzc2lvbjwvcmVwbGFjZWFibGU+CisgICAgaW50byB0aGUgc3BlY2lm aWVkIDxyZXBsYWNlYWJsZT50eXBlPC9yZXBsYWNlYWJsZT4uIEl0IGlzIHByaW1hcmlseSB1 c2VkIGZvciBjb252ZXJ0aW5nIGJldHdlZW4gU1FMIHZhbHVlcworICAgIGFuZCA8dHlwZT54 bWw8L3R5cGU+IHZhbHVlcyBpbiBhIHN0YW5kYXJkcy1jb21wbGlhbnQgd2F5LgorCisgICAg VW5saWtlIDxmdW5jdGlvbj5DQVNUPC9mdW5jdGlvbj4sIHdoaWNoIG1heSBjb2VyY2UgU1FM IHZhbHVlcyBpbnRvIHRleHQgb3IgWE1MIHdpdGhvdXQgZW5mb3JjaW5nIGEgc3BlY2lmaWMK KyAgICBsZXhpY2FsIHJlcHJlc2VudGF0aW9uLCA8ZnVuY3Rpb24+eG1sY2FzdDwvZnVuY3Rp b24+IGVuc3VyZXMgdGhhdCB0aGUgY29udmVyc2lvbiBwcm9kdWNlcyBvciBleHBlY3RzIGEK KyAgICBjYW5vbmljYWwgWE1MIFNjaGVtYSBsZXhpY2FsIGZvcm0gYXBwcm9wcmlhdGUgZm9y IHRoZSB0YXJnZXQgdHlwZS4gRm9yIGV4YW1wbGUsIGFuIDx0eXBlPmludGVydmFsPC90eXBl PgorICAgIHZhbHVlIGlzIHJlbmRlcmVkIGFzIDxsaXRlcmFsPlAxWTJNPC9saXRlcmFsPiAo PHR5cGU+eHM6ZHVyYXRpb248L3R5cGU+KSwgYW5kIGEgPHR5cGU+dGltZXN0YW1wPC90eXBl PiBhcworICAgIDxsaXRlcmFsPjIwMjMtMDUtMTlUMTQ6MzA6MDBaPC9saXRlcmFsPiAoeHM6 ZGF0ZVRpbWUpLiBTaW1pbGFybHksIHdoZW4gY29udmVydGluZyBmcm9tIFhNTCB0byBTUUwg dHlwZXMsCisgICAgPGZ1bmN0aW9uPnhtbGNhc3Q8L2Z1bmN0aW9uPiB2YWxpZGF0ZXMgdGhh dCB0aGUgaW5wdXQgc3RyaW5nIGNvbmZvcm1zIHRvIHRoZSBsZXhpY2FsIGZvcm1hdCByZXF1 aXJlZCBieSB0aGUKKyAgICBjb3JyZXNwb25kaW5nIFNRTCB0eXBlLgorCisgICAgVGhlIGZ1 bmN0aW9uIDxmdW5jdGlvbj54bWxjYXN0PC9mdW5jdGlvbj4gZm9sbG93cyB0aGVzZSBydWxl czoKKworICAgICA8aXRlbWl6ZWRsaXN0PgorICAgICAgPGxpc3RpdGVtPgorICAgICAgICA8 cGFyYT4KKyAgICAgICAgICBFaXRoZXIgPHJlcGxhY2VhYmxlPmV4cHJlc3Npb248L3JlcGxh Y2VhYmxlPiBvciA8cmVwbGFjZWFibGU+dHlwZTwvcmVwbGFjZWFibGU+IG11c3QgYmUgb2Yg dHlwZSA8dHlwZT54bWw8L3R5cGU+LgorICAgICAgICA8L3BhcmE+CisgICAgICA8L2xpc3Rp dGVtPgorICAgICAgPGxpc3RpdGVtPgorICAgICAgICA8cGFyYT4KKyAgICAgICAgICBJdCBz dXBwb3J0cyBjYXN0aW5nIGJldHdlZW4gPHR5cGU+eG1sPC90eXBlPiBhbmQgY2hhcmFjdGVy LCBudW1lcmljLCBkYXRlL3RpbWUsIGFuZCBib29sZWFuIGRhdGEgdHlwZXMuCisgICAgICAg IDwvcGFyYT4KKyAgICAgIDwvbGlzdGl0ZW0+CisgICAgICA8bGlzdGl0ZW0+CisgICAgICAg IDxwYXJhPgorICAgICAgICAgIFNpbWlsYXIgdG8gdGhlIGZ1bmN0aW9uIDxmdW5jdGlvbj54 bWx0ZXh0PC9mdW5jdGlvbj4sIDxyZXBsYWNlYWJsZT5leHByZXNzaW9uPC9yZXBsYWNlYWJs ZT4KKyAgICAgICAgICB2YWx1ZXMgY29udGFpbmluZyBYTUwgcHJlZGVmaW5lZCBlbnRpdGll cyB3aWxsIGJlIGVzY2FwZWQgKHNlZSBleGFtcGxlcyBiZWxvdykuCisgICAgICAgIDwvcGFy YT4KKyAgICAgIDwvbGlzdGl0ZW0+CisgICAgICA8bGlzdGl0ZW0+CisgICAgICAgIDxwYXJh PgorICAgICAgICAgIFZhbHVlcyBvZiB0eXBlIDx0eXBlPmRhdGU8L3R5cGU+LCA8dHlwZT50 aW1lIHdpdGggdGltZSB6b25lPC90eXBlPiwgPHR5cGU+dGltZXN0YW1wIHdpdGggdGltZSB6 b25lPC90eXBlPiwKKyAgICAgICAgICBhbmQgPHR5cGU+aW50ZXJ2YWw8L3R5cGU+IGFyZSBj b252ZXJ0ZWQgdG8gdGhlaXIgY29ycmVzcG9uZGluZyBYTUwgU2NoZW1hIHR5cGVzOiA8dHlw ZT54czpkYXRlPC90eXBlPiwKKyAgICAgICAgICA8dHlwZT54czp0aW1lPC90eXBlPiwgPHR5 cGU+eHM6ZGF0ZVRpbWU8L3R5cGU+LCBhbmQgPHR5cGU+eHM6ZHVyYXRpb248L3R5cGU+LCBy ZXNwZWN0aXZlbHkuCisgICAgICAgIDwvcGFyYT4KKyAgICAgIDwvbGlzdGl0ZW0+CisgICAg ICAgPGxpc3RpdGVtPgorICAgICAgICA8cGFyYT4KKyAgICAgICAgICBUaGUgPGxpdGVyYWw+ QlkgUkVGPC9saXRlcmFsPiBhbmQgPGxpdGVyYWw+QlkgVkFMVUU8L2xpdGVyYWw+IGNsYXVz ZXMKKyAgICAgICAgICBhcmUgYWNjZXB0ZWQgYnV0IGlnbm9yZWQsIGFzIGRpc2N1c3NlZCBp bgorICAgICAgICAgIDx4cmVmIGxpbmtlbmQ9ImZ1bmN0aW9ucy14bWwtbGltaXRzLXBvc3Rn cmVzcWwiLz4uCisgICAgICAgIDwvcGFyYT4KKyAgICAgIDwvbGlzdGl0ZW0+CisgICAgPC9p dGVtaXplZGxpc3Q+CisKKyAgICAgRXhhbXBsZXM6Cis8c2NyZWVuPjwhW0NEQVRBWworU0VM RUNUIHhtbGNhc3QoJzxmb28mYmFyPic6OnRleHQgQVMgeG1sKTsKKyAgICAgICB4bWxjYXN0 CistLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAmbHQ7Zm9vJmFtcDtiYXImZ3Q7CisKK1NFTEVD VCB4bWxjYXN0KCcmbHQ7Zm9vJmFtcDtiYXImZ3Q7Jzo6eG1sIEFTIHRleHQpOworICB4bWxj YXN0CistLS0tLS0tLS0tLQorIDxmb28mYmFyPgorCitTRUxFQ1QgeG1sY2FzdChDVVJSRU5U X1RJTUVTVEFNUCBBUyB4bWwpOworICAgICAgICAgICAgIHhtbGNhc3QKKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDIwMjQtMDYtMDJUMDA6Mjk6NDAuOTIzOTcrMDI6 MDAKKworU0VMRUNUIHhtbGNhc3QoJ1AxWTJNM1c0RFQ1SDZNN1MnOjp4bWwgQVMgaW50ZXJ2 YWwpOworICAgICAgICAgICAgeG1sY2FzdAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKyAxIHllYXIgMiBtb25zIDI1IGRheXMgMDU6MDY6MDcKKworU0VMRUNUIHhtbGNh c3QoJzEgeWVhciAyIG1vbnRocyAzIHdlZWtzIDQgZGF5cyA1IGhvdXJzIDYgbWludXRlcyA3 IHNlY29uZHMnOjppbnRlcnZhbCBBUyB4bWwpOworICAgICB4bWxjYXN0CistLS0tLS0tLS0t LS0tLS0tLQorIFAxWTJNMjVEVDVINk03UworXV0+PC9zY3JlZW4+CisKKyAgICBBbHRlcm5h dGl2ZWx5LCBpdCBpcyBhbHNvIHBvc3NpYmxlIHRvIGNvbnZlcnQgY2hhcmFjdGVyIHN0cmlu Z3MgaW50byBYTUwgdXNpbmcgUG9zdGdyZVNRTC1zcGVjaWZpYyBjYXN0IHN5bnRheGVzOgog PHByb2dyYW1saXN0aW5nPjwhW0NEQVRBWwogeG1sICc8Zm9vPmJhcjwvZm9vPicKICc8Zm9v PmJhcjwvZm9vPic6OnhtbAogXV0+PC9wcm9ncmFtbGlzdGluZz4KLSAgICBjYW4gYWxzbyBi ZSB1c2VkLgorCiAgICA8L3BhcmE+CiAKICAgIDxwYXJhPgpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvY2F0YWxvZy9zcWxfZmVhdHVyZXMudHh0IGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9z cWxfZmVhdHVyZXMudHh0CmluZGV4IDNhOGFkMjAxNjAuLjQxMmUxYTRlMzcgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3FsX2ZlYXR1cmVzLnR4dAorKysgYi9zcmMvYmFj a2VuZC9jYXRhbG9nL3NxbF9mZWF0dXJlcy50eHQKQEAgLTYyNCw3ICs2MjQsNyBAQCBYMDE0 CUF0dHJpYnV0ZXMgb2YgWE1MIHR5cGUJCQlZRVMKIFgwMTUJRmllbGRzIG9mIFhNTCB0eXBl CQkJTk8JCiBYMDE2CVBlcnNpc3RlbnQgWE1MIHZhbHVlcwkJCVlFUwkKIFgwMjAJWE1MQ29u Y2F0CQkJWUVTCQotWDAyNQlYTUxDYXN0CQkJTk8JCitYMDI1CVhNTENhc3QJCQlZRVMJCiBY MDMwCVhNTERvY3VtZW50CQkJTk8JCiBYMDMxCVhNTEVsZW1lbnQJCQlZRVMJCiBYMDMyCVhN TEZvcmVzdAkJCVlFUwkKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNF eHBySW50ZXJwLmMgYi9zcmMvYmFja2VuZC9leGVjdXRvci9leGVjRXhwckludGVycC5jCmlu ZGV4IDBlMWE3NDk3NmYuLjI0NmFiYWY1NDQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2V4 ZWN1dG9yL2V4ZWNFeHBySW50ZXJwLmMKKysrIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhl Y0V4cHJJbnRlcnAuYwpAQCAtNjksNiArNjksNyBAQAogI2luY2x1ZGUgInV0aWxzL2FycmF5 LmgiCiAjaW5jbHVkZSAidXRpbHMvYnVpbHRpbnMuaCIKICNpbmNsdWRlICJ1dGlscy9kYXRl LmgiCisjaW5jbHVkZSAidXRpbHMvZGF0ZXRpbWUuaCIKICNpbmNsdWRlICJ1dGlscy9kYXR1 bS5oIgogI2luY2x1ZGUgInV0aWxzL2V4cGFuZGVkcmVjb3JkLmgiCiAjaW5jbHVkZSAidXRp bHMvanNvbi5oIgpAQCAtNDY0MywxMSArNDY0NCwxMjcgQEAgRXhlY0V2YWxYbWxFeHByKEV4 cHJTdGF0ZSAqc3RhdGUsIEV4cHJFdmFsU3RlcCAqb3ApCiAJCQkJKm9wLT5yZXNudWxsID0g ZmFsc2U7CiAJCQl9CiAJCQlicmVhazsKKwkJCWNhc2UgSVNfWE1MQ0FTVDoKKwkJCXsKKwkJ CQlEYXR1bSAqYXJndmFsdWUgPSBvcC0+ZC54bWxleHByLmFyZ3ZhbHVlOworCQkJCWJvb2wg KmFyZ251bGwgPSBvcC0+ZC54bWxleHByLmFyZ251bGw7CisJCQkJY2hhciAqc3RyOwogCi0J CWRlZmF1bHQ6Ci0JCQllbG9nKEVSUk9SLCAidW5yZWNvZ25pemVkIFhNTCBvcGVyYXRpb24i KTsKKwkJCQlBc3NlcnQobGlzdF9sZW5ndGgoeGV4cHItPmFyZ3MpID09IDEpOworCisJCQkJ aWYgKGFyZ251bGxbMF0pCisJCQkJCXJldHVybjsKKworCQkJCXZhbHVlID0gYXJndmFsdWVb MF07CisKKwkJCQlzd2l0Y2ggKHhleHByLT50YXJnZXRUeXBlKQorCQkJCXsKKwkJCQljYXNl IFhNTE9JRDoKKwkJCQkJLyoKKwkJCQkJICogU1FMIGRhdGUvdGltZSB0eXBlcyBtdXN0IGJl IG1hcHBlZCB0byBYTUwgU2NoZW1hIHR5cGVzIHdoZW4gY2FzdGluZyB0byBYTUw6CisJCQkJ CSAqICAgLSBEQVRFICAgICAgICAgICAgICAgICAgICAgICAgLT4geHM6ZGF0ZQorCQkJCQkg KiAgIC0gVElNRSBbV0lUSC9XSVRIT1VUIFRaXSAgICAgIC0+IHhzOnRpbWUKKwkJCQkJICog ICAtIFRJTUVTVEFNUCBbV0lUSC9XSVRIT1VUIFRaXSAtPiB4czpkYXRlVGltZQorCQkJCQkg KgorCQkJCQkgKiBUaGVzZSBtYXBwaW5ncyBhcmUgZGVmaW5lZCBpbiBTUUwvWE1MOjIwMjMg KElTTy9JRUMgOTA3NS0xNDoyMDIzKSwKKwkJCQkJICogU3ViY2xhdXNlIDYuNyAiPFhNTCBj YXN0IHNwZWNpZmljYXRpb24+IiwgaXRlbSAxNS5lLmnigJN2LgorCQkJCQkgKgorCQkJCQkg KiBUaGUgY29ycmVzcG9uZGluZyBYTUwgU2NoZW1hIGxleGljYWwgZm9ybWF0cyAoZS5nLiwg IjIwMjMtMDUtMTkiLCAiMTQ6MzA6MDBaIiwKKwkJCQkJICogIjIwMjMtMDUtMTlUMTQ6MzA6 MDArMDE6MDAiKSBmb2xsb3cgSVNPIDg2MDEgYW5kIGFyZSBzcGVjaWZpZWQgaW4KKwkJCQkJ ICogVzNDIFhNTCBTY2hlbWEgUGFydCAyOiBQcmltaXRpdmUgRGF0YXR5cGVzIMKnMy4yLjcg KGRhdGVUaW1lKSBhbmQgwqczLjIuOSAoZGF0ZSkuCisJCQkJCSAqLworCQkJCQlpZiAoeGV4 cHItPnR5cGUgPT0gVElNRVNUQU1QT0lEIHx8IHhleHByLT50eXBlID09IFRJTUVTVEFNUFRa T0lEIHx8CisJCQkJCQl4ZXhwci0+dHlwZSA9PSBEQVRFT0lEIHx8IHhleHByLT50eXBlID09 IEJZVEVBT0lEIHx8IHhleHByLT50eXBlID09IEJPT0xPSUQpCisJCQkJCXsKKwkJCQkJCXRl eHQgKm1hcHBlZF92YWx1ZSA9IGNzdHJpbmdfdG9fdGV4dCgKKwkJCQkJCQltYXBfc3FsX3Zh bHVlX3RvX3htbF92YWx1ZSh2YWx1ZSwgeGV4cHItPnR5cGUsIGZhbHNlKSk7CisJCQkJCQkq b3AtPnJlc3ZhbHVlID0gUG9pbnRlckdldERhdHVtKG1hcHBlZF92YWx1ZSk7CisJCQkJCX0K KwkJCQkJLyoKKwkJCQkJICogU1FMIGludGVydmFsIHR5cGVzIG11c3QgYmUgbWFwcGVkIHRv IFhNTCBTY2hlbWEgdHlwZXMgd2hlbiBjYXN0aW5nIHRvIFhNTDoKKwkJCQkJICogICAtIFll YXItbW9udGggaW50ZXJ2YWxzIOKGkiB4czp5ZWFyTW9udGhEdXJhdGlvbgorCQkJCQkgKiAg IC0gRGF5LXRpbWUgaW50ZXJ2YWxzICAg4oaSIHhzOmRheVRpbWVEdXJhdGlvbgorCQkJCQkg KgorCQkJCQkgKiBUaGlzIGJlaGF2aW9yIGlzIHJlcXVpcmVkIGJ5IFNRTC9YTUw6MjAyMyAo SVNPL0lFQyA5MDc1LTE0OjIwMjMpLAorCQkJCQkgKiBTdWJjbGF1c2UgNi43ICI8WE1MIGNh c3Qgc3BlY2lmaWNhdGlvbj4iLCBHZW5lcmFsIFJ1bGVzLCBpdGVtIDMuZC5paS4x4oCTMi4K KwkJCQkJICoKKwkJCQkJICogVGhlc2UgWE1MIFNjaGVtYSB0eXBlcyByZXF1aXJlIElTTyA4 NjAxLWNvbXBhdGlibGUgbGV4aWNhbCByZXByZXNlbnRhdGlvbnMsCisJCQkJCSAqIHN1Y2gg YXM6ICJQMVkyTSIsICJQM0RUNEg1TSIsIG9yICJQMVkyTTNEVDRINU02UyIsIGFzIGRlZmlu ZWQgaW4KKwkJCQkJICogVzNDIFhNTCBTY2hlbWEgUGFydCAyOiBQcmltaXR2ZSBEYXRhdHlw ZXMsIMKnMy4yLjYgKGR1cmF0aW9uKQorCQkJCQkgKi8KKwkJCQkJZWxzZSBpZiAoeGV4cHIt PnR5cGUgPT0gSU5URVJWQUxPSUQpCisJCQkJCXsKKwkJCQkJCUludGVydmFsICppbiA9IERh dHVtR2V0SW50ZXJ2YWxQKHZhbHVlKTsKKworCQkJCQkJc3RydWN0IHBnX2l0bSB0dCwgKml0 bSA9ICZ0dDsKKwkJCQkJCWNoYXIgYnVmW01BWERBVEVMRU4gKyAxXTsKKworCQkJCQkJaWYg KElOVEVSVkFMX05PVF9GSU5JVEUoaW4pKQorCQkJCQkJeworCQkJCQkJCWlmIChJTlRFUlZB TF9JU19OT0JFR0lOKGluKSkKKwkJCQkJCQkJc3RyY3B5KGJ1ZiwgRUFSTFkpOworCQkJCQkJ CWVsc2UgaWYgKElOVEVSVkFMX0lTX05PRU5EKGluKSkKKwkJCQkJCQkJc3RyY3B5KGJ1Ziwg TEFURSk7CisJCQkJCQkJZWxzZQorCQkJCQkJCQllbG9nKEVSUk9SLCAiaW52YWxpZCBpbnRl cnZhbCBhcmd1bWVudCIpOworCQkJCQkJfQorCQkJCQkJZWxzZQorCQkJCQkJeworCQkJCQkJ CWludGVydmFsMml0bSgqaW4sIGl0bSk7CisJCQkJCQkJRW5jb2RlSW50ZXJ2YWwoaXRtLCBJ TlRTVFlMRV9JU09fODYwMSwgYnVmKTsKKwkJCQkJCX0KKworCQkJCQkJKm9wLT5yZXN2YWx1 ZSA9IFBvaW50ZXJHZXREYXR1bShjc3RyaW5nX3RvX3RleHQoYnVmKSk7CisJCQkJCX0KKwkJ CQkJLyogbm8gbmVlZCB0byBlc2NhcGUgdGhlIHJlc3VsdCwgYXMgdGhlIG9yaWdpbiBpcyBh bHNvIGFuIFhNTCAqLworCQkJCQllbHNlIGlmICh4ZXhwci0+dHlwZSA9PSBYTUxPSUQpCisJ CQkJCQkqb3AtPnJlc3ZhbHVlID0gUG9pbnRlckdldERhdHVtKERhdHVtR2V0WG1sUCh2YWx1 ZSkpOworCQkJCQkvKiB3ZSAgbWFrZSBzdXJlIHRoYXQgcG90ZW50aWFsIHByZWRpZmluZWQg ZW50aXR0aWVzIGFyZSBlc2NhcGVkICovCisJCQkJCWVsc2UKKwkJCQkJCSpvcC0+cmVzdmFs dWUgPSBQb2ludGVyR2V0RGF0dW0oCisJCQkJCQkJRGF0dW1HZXRYbWxQKChEaXJlY3RGdW5j dGlvbkNhbGwxKHhtbHRleHQsIHZhbHVlKSkpKTsKKwkJCQkJYnJlYWs7CisJCQkJY2FzZSBU RVhUT0lEOgorCQkJCWNhc2UgVkFSQ0hBUk9JRDoKKwkJCQljYXNlIE5BTUVPSUQ6CisJCQkJ Y2FzZSBCUENIQVJPSUQ6CisJCQkJCS8qCisJCQkJCSAqIHdoZW4gY2FzdGluZyBmcm9tIFhN TCB0byBhIGNoYXJhY3RlciBzdHJpbmcgd2UgbWFrZSBzdXJlIHRoYXQKKwkJCQkJICogYWxs IGVzY2FwZWQgeG1sIGNoYXJhY3RlcnMgYXJlIHVuZXNjYXBlZC4KKwkJCQkJICovCisJCQkJ CXN0ciA9IHRleHRfdG9fY3N0cmluZyhEYXR1bUdldFRleHRQUCh2YWx1ZSkpOworCQkJCQkq b3AtPnJlc3ZhbHVlID0gUG9pbnRlckdldERhdHVtKAorCQkJCQkJY3N0cmluZ190b190ZXh0 KHVuZXNjYXBlX3htbChzdHIpKSk7CisKKwkJCQkJcGZyZWUoc3RyKTsKKwkJCQkJYnJlYWs7 CisJCQkJY2FzZSBJTlQyT0lEOgorCQkJCWNhc2UgSU5UNE9JRDoKKwkJCQljYXNlIElOVDhP SUQ6CisJCQkJY2FzZSBOVU1FUklDT0lEOgorCQkJCWNhc2UgRkxPQVQ0T0lEOgorCQkJCWNh c2UgRkxPQVQ4T0lEOgorCQkJCWNhc2UgQk9PTE9JRDoKKwkJCQljYXNlIFRJTUVTVEFNUE9J RDoKKwkJCQljYXNlIFRJTUVTVEFNUFRaT0lEOgorCQkJCWNhc2UgVElNRU9JRDoKKwkJCQlj YXNlIFRJTUVUWk9JRDoKKwkJCQljYXNlIERBVEVPSUQ6CisJCQkJY2FzZSBCWVRFQU9JRDoK KwkJCQljYXNlIElOVEVSVkFMT0lEOgorCQkJCQkqb3AtPnJlc3ZhbHVlID0gUG9pbnRlckdl dERhdHVtKERhdHVtR2V0VGV4dFAodmFsdWUpKTsKKwkJCQkJYnJlYWs7CisJCQkJZGVmYXVs dDoKKwkJCQkJZWxvZyhFUlJPUiwgInVuc3VwcG9ydGVkIHRhcmdldCBkYXRhIHR5cGUgZm9y IFhNTENhc3QiKTsKKwkJCQl9CisKKwkJCQkqb3AtPnJlc251bGwgPSBmYWxzZTsKKwkJCX0K IAkJCWJyZWFrOwotCX0KKwkJCWRlZmF1bHQ6CisJCQkJZWxvZyhFUlJPUiwgInVucmVjb2du aXplZCBYTUwgb3BlcmF0aW9uIik7CisJCQkJYnJlYWs7CisJCQl9CiB9CiAKIC8qCmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9ub2Rlcy9ub2RlRnVuY3MuYyBiL3NyYy9iYWNrZW5kL25v ZGVzL25vZGVGdW5jcy5jCmluZGV4IGVkZTgzOGNkNDAuLjg5OTRiZGRhOGUgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL25vZGVzL25vZGVGdW5jcy5jCisrKyBiL3NyYy9iYWNrZW5kL25v ZGVzL25vZGVGdW5jcy5jCkBAIC0xNzMyLDYgKzE3MzIsOSBAQCBleHByTG9jYXRpb24oY29u c3QgTm9kZSAqZXhwcikKIAkJY2FzZSBUX0Z1bmN0aW9uUGFyYW1ldGVyOgogCQkJbG9jID0g KChjb25zdCBGdW5jdGlvblBhcmFtZXRlciAqKSBleHByKS0+bG9jYXRpb247CiAJCQlicmVh azsKKwkJY2FzZSBUX1htbENhc3Q6CisJCQlsb2MgPSAoKGNvbnN0IFhtbENhc3QgKikgZXhw ciktPmxvY2F0aW9uOworCQkJYnJlYWs7CiAJCWNhc2UgVF9YbWxTZXJpYWxpemU6CiAJCQkv KiBYTUxTRVJJQUxJWkUga2V5d29yZCBzaG91bGQgYWx3YXlzIGJlIHRoZSBmaXJzdCB0aGlu ZyAqLwogCQkJbG9jID0gKChjb25zdCBYbWxTZXJpYWxpemUgKikgZXhwciktPmxvY2F0aW9u OwpAQCAtNDQ2NCw2ICs0NDY3LDE2IEBAIHJhd19leHByZXNzaW9uX3RyZWVfd2Fsa2VyX2lt cGwoTm9kZSAqbm9kZSwKIAkJCQkJcmV0dXJuIHRydWU7CiAJCQl9CiAJCQlicmVhazsKKwkJ Y2FzZSBUX1htbENhc3Q6CisJCQl7CisJCQkJWG1sQ2FzdCAgICp4YyA9IChYbWxDYXN0ICop IG5vZGU7CisKKwkJCQlpZiAoV0FMSyh4Yy0+ZXhwcikpCisJCQkJCXJldHVybiB0cnVlOwor CQkJCWlmIChXQUxLKHhjLT50YXJnZXRUeXBlKSkKKwkJCQkJcmV0dXJuIHRydWU7CisJCQl9 CisJCQlicmVhazsKIAkJY2FzZSBUX0NvbGxhdGVDbGF1c2U6CiAJCQlyZXR1cm4gV0FMSygo KENvbGxhdGVDbGF1c2UgKikgbm9kZSktPmFyZyk7CiAJCWNhc2UgVF9Tb3J0Qnk6CmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55IGIvc3JjL2JhY2tlbmQvcGFyc2Vy L2dyYW0ueQppbmRleCBhNGIyOWM4MjJlLi44YTU5OWY5NjQxIDEwMDY0NAotLS0gYS9zcmMv YmFja2VuZC9wYXJzZXIvZ3JhbS55CisrKyBiL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkK QEAgLTc5NCw3ICs3OTQsNyBAQCBzdGF0aWMgTm9kZSAqbWFrZVJlY3Vyc2l2ZVZpZXdTZWxl Y3QoY2hhciAqcmVsbmFtZSwgTGlzdCAqYWxpYXNlcywgTm9kZSAqcXVlcnkpOwogCiAJV0hF TiBXSEVSRSBXSElURVNQQUNFX1AgV0lORE9XIFdJVEggV0lUSElOIFdJVEhPVVQgV09SSyBX UkFQUEVSIFdSSVRFCiAKLQlYTUxfUCBYTUxBVFRSSUJVVEVTIFhNTENPTkNBVCBYTUxFTEVN RU5UIFhNTEVYSVNUUyBYTUxGT1JFU1QgWE1MTkFNRVNQQUNFUworCVhNTF9QIFhNTEFUVFJJ QlVURVMgWE1MQ0FTVCBYTUxDT05DQVQgWE1MRUxFTUVOVCBYTUxFWElTVFMgWE1MRk9SRVNU IFhNTE5BTUVTUEFDRVMKIAlYTUxQQVJTRSBYTUxQSSBYTUxST09UIFhNTFNFUklBTElaRSBY TUxUQUJMRQogCiAJWUVBUl9QIFlFU19QCkBAIC0xNjE0NCw2ICsxNjE0NCwyNCBAQCBmdW5j X2V4cHJfY29tbW9uX3N1YmV4cHI6CiAJCQkJCXYtPmxvY2F0aW9uID0gQDE7CiAJCQkJCSQk ID0gKE5vZGUgKikgdjsKIAkJCQl9CisJCQl8IFhNTENBU1QgJygnIGFfZXhwciBBUyBUeXBl bmFtZSAnKScKKwkJCQl7CisJCQkJCVhtbENhc3QgKm4gPSBtYWtlTm9kZShYbWxDYXN0KTsK KworCQkJCQluLT5leHByID0gJDM7CisJCQkJCW4tPnRhcmdldFR5cGUgPSAkNTsKKwkJCQkJ bi0+bG9jYXRpb24gPSBAMTsKKwkJCQkJJCQgPSAoTm9kZSAqKSBuOworCQkJCX0KKwkJCXwg WE1MQ0FTVCAnKCcgYV9leHByIEFTIFR5cGVuYW1lIHhtbF9wYXNzaW5nX21lY2gnKScKKwkJ CQl7CisJCQkJCVhtbENhc3QgKm4gPSBtYWtlTm9kZShYbWxDYXN0KTsKKworCQkJCQluLT5l eHByID0gJDM7CisJCQkJCW4tPnRhcmdldFR5cGUgPSAkNTsKKwkJCQkJbi0+bG9jYXRpb24g PSBAMTsKKwkJCQkJJCQgPSAoTm9kZSAqKSBuOworCQkJCX0KIAkJCXwgWE1MQ09OQ0FUICco JyBleHByX2xpc3QgJyknCiAJCQkJewogCQkJCQkkJCA9IG1ha2VYbWxFeHByKElTX1hNTENP TkNBVCwgTlVMTCwgTklMLCAkMywgQDEpOwpAQCAtMTgxOTUsNiArMTgyMTMsNyBAQCBjb2xf bmFtZV9rZXl3b3JkOgogCQkJfCBWQUxVRVMKIAkJCXwgVkFSQ0hBUgogCQkJfCBYTUxBVFRS SUJVVEVTCisJCQl8IFhNTENBU1QKIAkJCXwgWE1MQ09OQ0FUCiAJCQl8IFhNTEVMRU1FTlQK IAkJCXwgWE1MRVhJU1RTCkBAIC0xODc4Myw2ICsxODgwMiw3IEBAIGJhcmVfbGFiZWxfa2V5 d29yZDoKIAkJCXwgV1JJVEUKIAkJCXwgWE1MX1AKIAkJCXwgWE1MQVRUUklCVVRFUworCQkJ fCBYTUxDQVNUCiAJCQl8IFhNTENPTkNBVAogCQkJfCBYTUxFTEVNRU5UCiAJCQl8IFhNTEVY SVNUUwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2V4cHIuYyBiL3Ny Yy9iYWNrZW5kL3BhcnNlci9wYXJzZV9leHByLmMKaW5kZXggMTIxMTlmMTQ3Zi4uMzRhMjky NWUwZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2V4cHIuYworKysg Yi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfZXhwci5jCkBAIC00MCw2ICs0MCwzNyBAQAog I2luY2x1ZGUgInV0aWxzL3RpbWVzdGFtcC5oIgogI2luY2x1ZGUgInV0aWxzL3htbC5oIgog CisvKgorICogRGV0ZXJtaW5lcyB3aGV0aGVyIGEgdHlwZSBjYXRlZ29yeSBpcyBhbGxvd2Vk IGluIFhNTENBU1QgY29udmVyc2lvbnMsCisgKiBlaXRoZXIgYXMgYSBzb3VyY2UgKFNRTCAt PiBYTUwpIG9yIHRhcmdldCAoWE1MIC0+IFNRTCkgdHlwZS4KKyAqCisgKiBCYXNlZCBvbiBT UUwvWE1MOjIwMjMgKElTTy9JRUMgOTA3NS0xNDoyMDIzKSwKKyAqIFN1YmNsYXVzZSA2Ljcg IjxYTUwgY2FzdCBzcGVjaWZpY2F0aW9uPiIsIEdlbmVyYWwgUnVsZXMsIGl0ZW0gMy5kLmlp OgorICoKKyAqIC0gSXRlbXMgMeKAkzIgZXhwbGljaXRseSBkZXNjcmliZSBpbnRlcnZhbCBt YXBwaW5nczoKKyAqICAgICAxKSBZZWFyLW1vbnRoIGludGVydmFscyAtPiB4czp5ZWFyTW9u dGhEdXJhdGlvbgorICogICAgIDIpIERheS10aW1lIGludGVydmFscyAgIC0+IHhzOmRheVRp bWVEdXJhdGlvbgorICoKKyAqIC0gSXRlbXMgM+KAkzQgZGVzY3JpYmUgdGhlIGdlbmVyYWwg Y2FzZToKKyAqICAgICAzKSBJZiB0aGUgdGFyZ2V0IFhNTCB0eXBlIGlzIGFuIFhNTCBTY2hl bWEgYnVpbHQtaW4gZGF0YSB0eXBlLAorICogICAgIG9yCisgKiAgICAgNCkgSWYgaXQgaXMg ZGVyaXZlZCBmcm9tIGEgYnVpbHQtaW4gYXRvbWljIHR5cGUsCisgKiAgICAgdGhlbiB0aGF0 IHR5cGUgKG9yIGl0cyBiYXNlIHR5cGUpIGdvdmVybnMgdGhlIGNvbnZlcnNpb24uCisgKgor ICogVGhlc2UgYnVpbHQtaW4gYW5kIGF0b21pYyB0eXBlcyBhcmUgZGVmaW5lZCBpbiAiVzND IFhNTCBTY2hlbWEgUGFydCAyOgorICogRGF0YXR5cGVzIiwgYW5kIGluY2x1ZGUgdHlwZXMg c3VjaCBhcyB4czpib29sZWFuLCB4czpkZWNpbWFsLCB4czpkYXRlLAorICogeHM6ZGF0ZVRp bWUsIGFuZCB4czpzdHJpbmcuIFdoaWxlIFNRTC9YTUwgZG9lcyBub3QgZW51bWVyYXRlIG1h cHBpbmdzCisgKiBmb3IgYWxsIHRoZXNlIHR5cGVzLCBpdCByZWxpZXMgb24gdGhlaXIgZXhp c3RlbmNlIGFuZCBzZW1hbnRpY3MgdG8KKyAqIHN1cHBvcnQgY29udmVyc2lvbnMuCisgKgor ICogQXMgc3VjaCwgUG9zdGdyZVNRTCBhbGxvd3MgY2FzdGluZyB0byBhbmQgZnJvbSB0eXBl cyBpbiB0aGUgZm9sbG93aW5nCisgKiBjYXRlZ29yaWVzOiBudW1lcmljLCBzdHJpbmcsIGRh dGV0aW1lLCBib29sZWFuLCBhbmQgdGltZXNwYW4uCisgKi8KKyNkZWZpbmUgdHlwZV9pc194 bWxjYXN0X3N1cHBvcnRlZCh4KSAoKHgpID09IFRZUENBVEVHT1JZX05VTUVSSUMgXAorCQkJ fHwgKHgpID09IFRZUENBVEVHT1JZX1NUUklORyB8fCAoeCkgPT0gVFlQQ0FURUdPUllfREFU RVRJTUUgXAorCQkJfHwgKHgpID09IFRZUENBVEVHT1JZX0JPT0xFQU4gfHwgKHgpID09IFRZ UENBVEVHT1JZX1VOS05PV04gXAorCQkJfHwgKHgpID09IFRZUENBVEVHT1JZX1RJTUVTUEFO KQorCiAvKiBHVUMgcGFyYW1ldGVycyAqLwogYm9vbAkJVHJhbnNmb3JtX251bGxfZXF1YWxz ID0gZmFsc2U7CiAKQEAgLTY3LDYgKzk4LDcgQEAgc3RhdGljIE5vZGUgKnRyYW5zZm9ybU1p bk1heEV4cHIoUGFyc2VTdGF0ZSAqcHN0YXRlLCBNaW5NYXhFeHByICptKTsKIHN0YXRpYyBO b2RlICp0cmFuc2Zvcm1TUUxWYWx1ZUZ1bmN0aW9uKFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAkJ CQkJCQkJCSAgIFNRTFZhbHVlRnVuY3Rpb24gKnN2Zik7CiBzdGF0aWMgTm9kZSAqdHJhbnNm b3JtWG1sRXhwcihQYXJzZVN0YXRlICpwc3RhdGUsIFhtbEV4cHIgKngpOworc3RhdGljIE5v ZGUgKnRyYW5zZm9ybVhtbENhc3QoUGFyc2VTdGF0ZSAqcHN0YXRlLCBYbWxDYXN0ICp4Yyk7 CiBzdGF0aWMgTm9kZSAqdHJhbnNmb3JtWG1sU2VyaWFsaXplKFBhcnNlU3RhdGUgKnBzdGF0 ZSwgWG1sU2VyaWFsaXplICp4cyk7CiBzdGF0aWMgTm9kZSAqdHJhbnNmb3JtQm9vbGVhblRl c3QoUGFyc2VTdGF0ZSAqcHN0YXRlLCBCb29sZWFuVGVzdCAqYik7CiBzdGF0aWMgTm9kZSAq dHJhbnNmb3JtQ3VycmVudE9mRXhwcihQYXJzZVN0YXRlICpwc3RhdGUsIEN1cnJlbnRPZkV4 cHIgKmNleHByKTsKQEAgLTI3NSw2ICszMDcsMTAgQEAgdHJhbnNmb3JtRXhwclJlY3Vyc2Uo UGFyc2VTdGF0ZSAqcHN0YXRlLCBOb2RlICpleHByKQogCQkJCQkJCQkJCQkgICAoU1FMVmFs dWVGdW5jdGlvbiAqKSBleHByKTsKIAkJCWJyZWFrOwogCisJCWNhc2UgVF9YbWxDYXN0Ogor CQkJcmVzdWx0ID0gdHJhbnNmb3JtWG1sQ2FzdChwc3RhdGUsIChYbWxDYXN0ICopIGV4cHIp OworCQkJYnJlYWs7CisKIAkJY2FzZSBUX1htbEV4cHI6CiAJCQlyZXN1bHQgPSB0cmFuc2Zv cm1YbWxFeHByKHBzdGF0ZSwgKFhtbEV4cHIgKikgZXhwcik7CiAJCQlicmVhazsKQEAgLTI0 NjcsNiArMjUwMywxMCBAQCB0cmFuc2Zvcm1YbWxFeHByKFBhcnNlU3RhdGUgKnBzdGF0ZSwg WG1sRXhwciAqeCkKIAkJCQkJbmV3ZSA9IGNvZXJjZV90b19zcGVjaWZpY190eXBlKHBzdGF0 ZSwgbmV3ZSwgSU5UNE9JRCwKIAkJCQkJCQkJCQkJCSAgICJYTUxST09UIik7CiAJCQkJYnJl YWs7CisJCQljYXNlIElTX1hNTENBU1Q6CisJCQkJLyogbm90IGhhbmRsZWQgaGVyZSAqLwor CQkJCUFzc2VydChmYWxzZSk7CisJCQkJYnJlYWs7CiAJCQljYXNlIElTX1hNTFNFUklBTEla RToKIAkJCQkvKiBub3QgaGFuZGxlZCBoZXJlICovCiAJCQkJQXNzZXJ0KGZhbHNlKTsKQEAg LTI0ODMsNiArMjUyMyw3NCBAQCB0cmFuc2Zvcm1YbWxFeHByKFBhcnNlU3RhdGUgKnBzdGF0 ZSwgWG1sRXhwciAqeCkKIAlyZXR1cm4gKE5vZGUgKikgbmV3eDsKIH0KIAorc3RhdGljIE5v ZGUgKgordHJhbnNmb3JtWG1sQ2FzdChQYXJzZVN0YXRlICpwc3RhdGUsIFhtbENhc3QgKnhj KQoreworCU5vZGUgKnJlc3VsdDsKKwlYbWxFeHByICp4ZXhwcjsKKwlpbnQzMiB0YXJnZXRU eXBtb2Q7CisJT2lkIHRhcmdldFR5cGU7CisJT2lkIGlucHV0VHlwZTsKKwljaGFyIGlucHV0 VHlwY2F0ZWdvcnk7CisJY2hhciB0YXJnZXRUeXBjYXRlZ29yeTsKKwlib29sIGlucHV0VHlw aXNwcmVmZXJyZWQ7CisJYm9vbCB0YXJnZXRUeXBpc3ByZWZlcnJlZDsKKworCWlucHV0VHlw ZSA9IGV4cHJUeXBlKHRyYW5zZm9ybUV4cHJSZWN1cnNlKHBzdGF0ZSwgeGMtPmV4cHIpKTsK KwlnZXRfdHlwZV9jYXRlZ29yeV9wcmVmZXJyZWQoaW5wdXRUeXBlLCAmaW5wdXRUeXBjYXRl Z29yeSwgJmlucHV0VHlwaXNwcmVmZXJyZWQpOworCisJdHlwZW5hbWVUeXBlSWRBbmRNb2Qo cHN0YXRlLCB4Yy0+dGFyZ2V0VHlwZSwgJnRhcmdldFR5cGUsICZ0YXJnZXRUeXBtb2QpOwor CWdldF90eXBlX2NhdGVnb3J5X3ByZWZlcnJlZCh0YXJnZXRUeXBlLCAmdGFyZ2V0VHlwY2F0 ZWdvcnksICZ0YXJnZXRUeXBpc3ByZWZlcnJlZCk7CisKKwkvKgorCSAqIEVuc3VyZSB0aGF0 IGVpdGhlciB0aGUgY2FzdCBvcGVyYW5kIG9yIHRoZSBkYXRhIHR5cGUgaXMgYW4gWE1MLAor CSAqIGFuZCBjaGVjayBpZiB0aGUgZGF0YSB0eXBlcyBhcmUgc3VwcG9ydGVkLgorCSAqLwor CWlmICgoaW5wdXRUeXBlICE9IFhNTE9JRCAmJiB0YXJnZXRUeXBlICE9IFhNTE9JRCkgfHwK KwkJKCF0eXBlX2lzX3htbGNhc3Rfc3VwcG9ydGVkKGlucHV0VHlwY2F0ZWdvcnkpICYmIGlu cHV0VHlwZSAhPSBYTUxPSUQgJiYgaW5wdXRUeXBlICE9IEJZVEVBT0lEKSB8fAorCQkoIXR5 cGVfaXNfeG1sY2FzdF9zdXBwb3J0ZWQodGFyZ2V0VHlwY2F0ZWdvcnkpICYmIHRhcmdldFR5 cGUgIT0gWE1MT0lEICYmIHRhcmdldFR5cGUgIT0gQllURUFPSUQpKQorCQllcmVwb3J0KEVS Uk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfQ0FOTk9UX0NPRVJDRSksCisJCQkJIGVycm1z ZygiY2Fubm90IGNhc3QgZnJvbSAnJXMnIHRvICclcyciLAorCQkJCQkJZm9ybWF0X3R5cGVf YmUoaW5wdXRUeXBlKSwgZm9ybWF0X3R5cGVfYmUodGFyZ2V0VHlwZSkpLAorCQkJCSBwYXJz ZXJfZXJycG9zaXRpb24ocHN0YXRlLCB4Yy0+bG9jYXRpb24pKSk7CisKKwkvKgorCSAqIEl0 IGlzIG5vdCBwb3NzaWJsZSB0byBjYXN0IHNvbWUgc3VwcG9ydGVkIGRhdGEgdHlwZXMgZGly ZWN0bHkgdG8gWE1MLAorCSAqIHNvIHdlIGZpcnN0IGhhbmRsZSB0aGVtIGFzIHRleHQgYW5k IGxhdGVyIG9uIHJldHVybiB0aGVtIGFzIFhNTC4KKwkgKi8KKwlpZiAoaW5wdXRUeXBjYXRl Z29yeSA9PSBUWVBDQVRFR09SWV9OVU1FUklDIHx8IGlucHV0VHlwZSA9PSBUSU1FT0lEIHx8 CisJCWlucHV0VHlwZSA9PSBUSU1FVFpPSUQgfHwgaW5wdXRUeXBlID09IFVOS05PV05PSUQg fHwgaW5wdXRUeXBlID09IE5BTUVPSUQpCisJCWlucHV0VHlwZSA9IFRFWFRPSUQ7CisKKwl4 ZXhwciA9IG1ha2VOb2RlKFhtbEV4cHIpOworCXhleHByLT5vcCA9IElTX1hNTENBU1Q7CisJ eGV4cHItPmxvY2F0aW9uID0geGMtPmxvY2F0aW9uOworCXhleHByLT50eXBlID0gaW5wdXRU eXBlOworCXhleHByLT50YXJnZXRUeXBlID0gdGFyZ2V0VHlwZTsKKwl4ZXhwci0+bmFtZSA9 ICJ4bWxjYXN0IjsKKwl4ZXhwci0+YXJncyA9IGxpc3RfbWFrZTEoY29lcmNlX3RvX3NwZWNp ZmljX3R5cGUocHN0YXRlLAorCQkJCQkJCQkJCQkJCSB0cmFuc2Zvcm1FeHByUmVjdXJzZShw c3RhdGUsIHhjLT5leHByKSwKKwkJCQkJCQkJCQkJCQkgaW5wdXRUeXBlLAorCQkJCQkJCQkJ CQkJCSAiWE1MQ0FTVCIpKTsKKworCXJlc3VsdCA9IGNvZXJjZV90b190YXJnZXRfdHlwZShw c3RhdGUsIChOb2RlICopIHhleHByLAorCQkJCQkJCQkgICB0YXJnZXRUeXBlID09IFRFWFRP SUQgPyBYTUxPSUQgOiBURVhUT0lELAorCQkJCQkJCQkgICB0YXJnZXRUeXBlLCB0YXJnZXRU eXBtb2QsCisJCQkJCQkJCSAgIENPRVJDSU9OX0VYUExJQ0lULAorCQkJCQkJCQkgICBDT0VS Q0VfRVhQTElDSVRfQ0FTVCwKKwkJCQkJCQkJICAgLTEpOworCisJaWYgKHJlc3VsdCA9PSBO VUxMKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfQ0FOTk9UX0NP RVJDRSksCisJCQkJIGVycm1zZygiY2Fubm90IGNhc3QgWE1MQ0FTVCByZXN1bHQgdG8gJXMi LAorCQkJCQkJZm9ybWF0X3R5cGVfYmUodGFyZ2V0VHlwZSkpLAorCQkJCSBwYXJzZXJfZXJy cG9zaXRpb24ocHN0YXRlLCB4ZXhwci0+bG9jYXRpb24pKSk7CisKKwlyZXR1cm4gcmVzdWx0 OworfQorCiBzdGF0aWMgTm9kZSAqCiB0cmFuc2Zvcm1YbWxTZXJpYWxpemUoUGFyc2VTdGF0 ZSAqcHN0YXRlLCBYbWxTZXJpYWxpemUgKnhzKQogewpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvcGFyc2VyL3BhcnNlX3RhcmdldC5jIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3Rh cmdldC5jCmluZGV4IDkwNWM5NzVkODMuLjRiMmZlZTY0Y2IgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL3BhcnNlci9wYXJzZV90YXJnZXQuYworKysgYi9zcmMvYmFja2VuZC9wYXJzZXIv cGFyc2VfdGFyZ2V0LmMKQEAgLTE5NTUsNiArMTk1NSw5IEBAIEZpZ3VyZUNvbG5hbWVJbnRl cm5hbChOb2RlICpub2RlLCBjaGFyICoqbmFtZSkKIAkJCS8qIG1ha2UgU1FML1hNTCBmdW5j dGlvbnMgYWN0IGxpa2UgYSByZWd1bGFyIGZ1bmN0aW9uICovCiAJCQlzd2l0Y2ggKCgoWG1s RXhwciAqKSBub2RlKS0+b3ApCiAJCQl7CisJCQkJY2FzZSBJU19YTUxDQVNUOgorCQkJCQkq bmFtZSA9ICJ4bWxjYXN0IjsKKwkJCQkJcmV0dXJuIDI7CiAJCQkJY2FzZSBJU19YTUxDT05D QVQ6CiAJCQkJCSpuYW1lID0gInhtbGNvbmNhdCI7CiAJCQkJCXJldHVybiAyOwpAQCAtMTk4 MSw2ICsxOTg0LDEwIEBAIEZpZ3VyZUNvbG5hbWVJbnRlcm5hbChOb2RlICpub2RlLCBjaGFy ICoqbmFtZSkKIAkJCQkJYnJlYWs7CiAJCQl9CiAJCQlicmVhazsKKwkJY2FzZSBUX1htbENh c3Q6CisJCQkvKiBtYWtlIFhNTENBU1QgYWN0IGxpa2UgYSByZWd1bGFyIGZ1bmN0aW9uICov CisJCQkqbmFtZSA9ICJ4bWxjYXN0IjsKKwkJCXJldHVybiAyOwogCQljYXNlIFRfWG1sU2Vy aWFsaXplOgogCQkJLyogbWFrZSBYTUxTRVJJQUxJWkUgYWN0IGxpa2UgYSByZWd1bGFyIGZ1 bmN0aW9uICovCiAJCQkqbmFtZSA9ICJ4bWxzZXJpYWxpemUiOwpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvdXRpbHMvYWR0L3J1bGV1dGlscy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0 L3J1bGV1dGlscy5jCmluZGV4IDc5ZWMxMzYyMzEuLmM3MDhiZTFlYmQgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9ydWxldXRpbHMuYworKysgYi9zcmMvYmFja2VuZC91 dGlscy9hZHQvcnVsZXV0aWxzLmMKQEAgLTEwMTE1LDYgKzEwMTE1LDkgQEAgZ2V0X3J1bGVf ZXhwcihOb2RlICpub2RlLCBkZXBhcnNlX2NvbnRleHQgKmNvbnRleHQsCiAJCQkJCWNhc2Ug SVNfWE1MU0VSSUFMSVpFOgogCQkJCQkJYXBwZW5kU3RyaW5nSW5mb1N0cmluZyhidWYsICJY TUxTRVJJQUxJWkUoIik7CiAJCQkJCQlicmVhazsKKwkJCQkJY2FzZSBJU19YTUxDQVNUOgor CQkJCQkJYXBwZW5kU3RyaW5nSW5mb1N0cmluZyhidWYsICJYTUxDQVNUKCIpOworCQkJCQkJ YnJlYWs7CiAJCQkJCWNhc2UgSVNfRE9DVU1FTlQ6CiAJCQkJCQlicmVhazsKIAkJCQl9CkBA IC0xMDEyNSw3ICsxMDEyOCw3IEBAIGdldF9ydWxlX2V4cHIoTm9kZSAqbm9kZSwgZGVwYXJz ZV9jb250ZXh0ICpjb250ZXh0LAogCQkJCQllbHNlCiAJCQkJCQlhcHBlbmRTdHJpbmdJbmZv U3RyaW5nKGJ1ZiwgIkNPTlRFTlQgIik7CiAJCQkJfQotCQkJCWlmICh4ZXhwci0+bmFtZSkK KwkJCQlpZiAoeGV4cHItPm5hbWUgJiYgeGV4cHItPm9wICE9IElTX1hNTENBU1QpCiAJCQkJ ewogCQkJCQlhcHBlbmRTdHJpbmdJbmZvKGJ1ZiwgIk5BTUUgJXMiLAogCQkJCQkJCQkJIHF1 b3RlX2lkZW50aWZpZXIobWFwX3htbF9uYW1lX3RvX3NxbF9pZGVudGlmaWVyKHhleHByLT5u YW1lKSkpOwpAQCAtMTAxNjEsNiArMTAxNjQsNyBAQCBnZXRfcnVsZV9leHByKE5vZGUgKm5v ZGUsIGRlcGFyc2VfY29udGV4dCAqY29udGV4dCwKIAkJCQkJCWFwcGVuZFN0cmluZ0luZm9T dHJpbmcoYnVmLCAiLCAiKTsKIAkJCQkJc3dpdGNoICh4ZXhwci0+b3ApCiAJCQkJCXsKKwkJ CQkJCWNhc2UgSVNfWE1MQ0FTVDoKIAkJCQkJCWNhc2UgSVNfWE1MQ09OQ0FUOgogCQkJCQkJ Y2FzZSBJU19YTUxFTEVNRU5UOgogCQkJCQkJY2FzZSBJU19YTUxGT1JFU1Q6CkBAIC0xMDIz OCw2ICsxMDI0MiwxMCBAQCBnZXRfcnVsZV9leHByKE5vZGUgKm5vZGUsIGRlcGFyc2VfY29u dGV4dCAqY29udGV4dCwKIAkJCQkJCWFwcGVuZFN0cmluZ0luZm9TdHJpbmcoYnVmLCAiIE5P IElOREVOVCIpOwogCQkJCX0KIAorCQkJCWlmICh4ZXhwci0+b3AgPT0gSVNfWE1MQ0FTVCkK KwkJCQkJYXBwZW5kU3RyaW5nSW5mbyhidWYsICIgQVMgJXMiLAorCQkJCQkJCQkJIGZvcm1h dF90eXBlX2JlKHhleHByLT50YXJnZXRUeXBlKSk7CisKIAkJCQlpZiAoeGV4cHItPm9wID09 IElTX0RPQ1VNRU5UKQogCQkJCQlhcHBlbmRTdHJpbmdJbmZvU3RyaW5nKGJ1ZiwgIiBJUyBE T0NVTUVOVCIpOwogCQkJCWVsc2UKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2Fk dC94bWwuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC94bWwuYwppbmRleCA2NmI0NDE4MzY5 Li45MThmODgzOTdkIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQveG1sLmMK KysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3htbC5jCkBAIC0yNzYyLDYgKzI3NjIsNjcg QEAgZXNjYXBlX3htbChjb25zdCBjaGFyICpzdHIpCiAJcmV0dXJuIGJ1Zi5kYXRhOwogfQog CisvKgorICogVW5lc2NhcGUgWE1MIGVzY2FwZWQgY2hhcmFjdGVycy4KKyAqCisgKiBJbiBv cmRlciB0byBrZWVwIGl0IGNvbnNpc3RlbnQgd2l0aCAiZXNjYXBlX3htbChjb25zdCBjaGFy KikiLAorICogdGhpcyBmdW5jdGlvbiBpbnRlbnRpb25hbGx5IGRvZXMgbm90IGRlcGVuZCBv biBsaWJ4bWwyLgorICovCitjaGFyICoKK3VuZXNjYXBlX3htbChjb25zdCBjaGFyICpzdHIp Cit7CisJU3RyaW5nSW5mb0RhdGEgYnVmOworCXNpemVfdCBwID0gMDsKKwlzaXplX3QgbGVu OworCisJaWYgKCFzdHIpCisJCXJldHVybiBOVUxMOworCisJbGVuID0gc3RybGVuKHN0cik7 CisKKwlpbml0U3RyaW5nSW5mbygmYnVmKTsKKworCXdoaWxlIChwIDwgbGVuKQorCXsKKwkJ aWYgKHAgKyA0IDw9IGxlbiAmJiBzdHJuY21wKHN0ciArIHAsICImbHQ7IiwgNCkgPT0gMCkK KwkJeworCQkJYXBwZW5kU3RyaW5nSW5mb0NoYXIoJmJ1ZiwgJzwnKTsKKwkJCXAgKz0gNDsK KwkJfQorCQllbHNlIGlmIChwICsgNCA8PSBsZW4gJiYgc3RybmNtcChzdHIgKyBwLCAiJmd0 OyIsIDQpID09IDApCisJCXsKKwkJCWFwcGVuZFN0cmluZ0luZm9DaGFyKCZidWYsICc+Jyk7 CisJCQlwICs9IDQ7CisJCX0KKwkJZWxzZSBpZiAocCArIDUgPD0gbGVuICYmIHN0cm5jbXAo c3RyICsgcCwgIiZhbXA7IiwgNSkgPT0gMCkKKwkJeworCQkJYXBwZW5kU3RyaW5nSW5mb0No YXIoJmJ1ZiwgJyYnKTsKKwkJCXAgKz0gNTsKKwkJfQorCQllbHNlIGlmIChwICsgNSA8PSBs ZW4gJiYgc3RybmNtcChzdHIgKyBwLCAiJiMxMzsiLCA1KSA9PSAwKQorCQl7CisJCQlhcHBl bmRTdHJpbmdJbmZvQ2hhcigmYnVmLCAnXHInKTsKKwkJCXAgKz0gNTsKKwkJfQorCQllbHNl IGlmIChwICsgNiA8PSBsZW4gJiYgc3RybmNtcChzdHIgKyBwLCAiJnF1b3Q7IiwgNikgPT0g MCkKKwkJeworCQkJYXBwZW5kU3RyaW5nSW5mb0NoYXIoJmJ1ZiwgJyInKTsKKwkJCXAgKz0g NjsKKwkJfQorCQllbHNlIGlmIChwICsgNiA8PSBsZW4gJiYgc3RybmNtcChzdHIgKyBwLCAi JiN4MEQ7IiwgNikgPT0gMCkKKwkJeworCQkJYXBwZW5kU3RyaW5nSW5mb0NoYXIoJmJ1Ziwg J1xyJyk7CisJCQlwICs9IDY7CisJCX0KKwkJZWxzZQorCQl7CisJCQlhcHBlbmRTdHJpbmdJ bmZvQ2hhcigmYnVmLCAqKHN0ciArIHApKTsKKwkJCXArKzsKKwkJfQorCX0KKworCXJldHVy biBidWYuZGF0YTsKK30KIAogc3RhdGljIGNoYXIgKgogX1NQSV9zdHJkdXAoY29uc3QgY2hh ciAqcykKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaCBiL3Ny Yy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaAppbmRleCBlY2JkZGQxMmUxLi40ZGEwOGNk MTUyIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgKKysrIGIv c3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oCkBAIC04NzcsNiArODc3LDE0IEBAIHR5 cGVkZWYgc3RydWN0IFhtbFNlcmlhbGl6ZQogCVBhcnNlTG9jCWxvY2F0aW9uOwkJLyogdG9r ZW4gbG9jYXRpb24sIG9yIC0xIGlmIHVua25vd24gKi8KIH0gWG1sU2VyaWFsaXplOwogCit0 eXBlZGVmIHN0cnVjdCBYbWxDYXN0Cit7CisJTm9kZVRhZwkJdHlwZTsKKwlOb2RlCSAgICpl eHByOworCVR5cGVOYW1lICAgKnRhcmdldFR5cGU7CisJUGFyc2VMb2MJbG9jYXRpb247CQkv KiB0b2tlbiBsb2NhdGlvbiwgb3IgLTEgaWYgdW5rbm93biAqLworfSBYbWxDYXN0OworCiAv KiBQYXJ0aXRpb25pbmcgcmVsYXRlZCBkZWZpbml0aW9ucyAqLwogCiAvKgpkaWZmIC0tZ2l0 IGEvc3JjL2luY2x1ZGUvbm9kZXMvcHJpbW5vZGVzLmggYi9zcmMvaW5jbHVkZS9ub2Rlcy9w cmltbm9kZXMuaAppbmRleCAxYjQ0MzZmMmZmLi43N2MxYmU4ZmYwIDEwMDY0NAotLS0gYS9z cmMvaW5jbHVkZS9ub2Rlcy9wcmltbm9kZXMuaAorKysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9w cmltbm9kZXMuaApAQCAtMTYwMiw2ICsxNjAyLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgU1FMVmFs dWVGdW5jdGlvbgogICovCiB0eXBlZGVmIGVudW0gWG1sRXhwck9wCiB7CisJSVNfWE1MQ0FT VCwJCQkJCS8qIFhNTENBU1Qob3AgQVMgZGF0YXR5cGUpICovCiAJSVNfWE1MQ09OQ0FULAkJ CQkvKiBYTUxDT05DQVQoYXJncykgKi8KIAlJU19YTUxFTEVNRU5ULAkJCQkvKiBYTUxFTEVN RU5UKG5hbWUsIHhtbF9hdHRyaWJ1dGVzLCBhcmdzKSAqLwogCUlTX1hNTEZPUkVTVCwJCQkJ LyogWE1MRk9SRVNUKHhtbF9hdHRyaWJ1dGVzKSAqLwpAQCAtMTYzOCw2ICsxNjM5LDggQEAg dHlwZWRlZiBzdHJ1Y3QgWG1sRXhwcgogCS8qIHRhcmdldCB0eXBlL3R5cG1vZCBmb3IgWE1M U0VSSUFMSVpFICovCiAJT2lkCQkJdHlwZSBwZ19ub2RlX2F0dHIocXVlcnlfanVtYmxlX2ln bm9yZSk7CiAJaW50MzIJCXR5cG1vZCBwZ19ub2RlX2F0dHIocXVlcnlfanVtYmxlX2lnbm9y ZSk7CisJLyogb3B0aW9uIGZvciBYTUxDQVNUICovCisJT2lkIAkJdGFyZ2V0VHlwZTsKIAkv KiB0b2tlbiBsb2NhdGlvbiwgb3IgLTEgaWYgdW5rbm93biAqLwogCVBhcnNlTG9jCWxvY2F0 aW9uOwogfSBYbWxFeHByOwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlz dC5oIGIvc3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlzdC5oCmluZGV4IDg0MTgyZWFhYWUuLjI1 MzA2ZWRkZjAgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3BhcnNlci9rd2xpc3QuaAorKysg Yi9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmgKQEAgLTUwOCw2ICs1MDgsNyBAQCBQR19L RVlXT1JEKCJ3cmFwcGVyIiwgV1JBUFBFUiwgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xB QkVMKQogUEdfS0VZV09SRCgid3JpdGUiLCBXUklURSwgVU5SRVNFUlZFRF9LRVlXT1JELCBC QVJFX0xBQkVMKQogUEdfS0VZV09SRCgieG1sIiwgWE1MX1AsIFVOUkVTRVJWRURfS0VZV09S RCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQoInhtbGF0dHJpYnV0ZXMiLCBYTUxBVFRSSUJV VEVTLCBDT0xfTkFNRV9LRVlXT1JELCBCQVJFX0xBQkVMKQorUEdfS0VZV09SRCgieG1sY2Fz dCIsIFhNTENBU1QsIENPTF9OQU1FX0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JE KCJ4bWxjb25jYXQiLCBYTUxDT05DQVQsIENPTF9OQU1FX0tFWVdPUkQsIEJBUkVfTEFCRUwp CiBQR19LRVlXT1JEKCJ4bWxlbGVtZW50IiwgWE1MRUxFTUVOVCwgQ09MX05BTUVfS0VZV09S RCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQoInhtbGV4aXN0cyIsIFhNTEVYSVNUUywgQ09M X05BTUVfS0VZV09SRCwgQkFSRV9MQUJFTCkKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0 aWxzL3htbC5oIGIvc3JjL2luY2x1ZGUvdXRpbHMveG1sLmgKaW5kZXggMGQ3YTgxNmI5Zi4u NjBiYjQ2NGJkMyAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvdXRpbHMveG1sLmgKKysrIGIv c3JjL2luY2x1ZGUvdXRpbHMveG1sLmgKQEAgLTgwLDYgKzgwLDcgQEAgZXh0ZXJuIGJvb2wg eG1sX2lzX2RvY3VtZW50KHhtbHR5cGUgKmFyZyk7CiBleHRlcm4gdGV4dCAqeG1sdG90ZXh0 X3dpdGhfb3B0aW9ucyh4bWx0eXBlICpkYXRhLCBYbWxPcHRpb25UeXBlIHhtbG9wdGlvbl9h cmcsCiAJCQkJCQkJCQlib29sIGluZGVudCk7CiBleHRlcm4gY2hhciAqZXNjYXBlX3htbChj b25zdCBjaGFyICpzdHIpOworZXh0ZXJuIGNoYXIgKnVuZXNjYXBlX3htbChjb25zdCBjaGFy ICpzdHIpOwogCiBleHRlcm4gY2hhciAqbWFwX3NxbF9pZGVudGlmaWVyX3RvX3htbF9uYW1l KGNvbnN0IGNoYXIgKmlkZW50LCBib29sIGZ1bGx5X2VzY2FwZWQsIGJvb2wgZXNjYXBlX3Bl cmlvZCk7CiBleHRlcm4gY2hhciAqbWFwX3htbF9uYW1lX3RvX3NxbF9pZGVudGlmaWVyKGNv bnN0IGNoYXIgKm5hbWUpOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC94bWwub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC94bWwub3V0CmluZGV4IDEw M2EyMmEzYjEuLmE0MjUxMDlmNzEgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQveG1sLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3htbC5vdXQK QEAgLTE4ODEsMyArMTg4MSw1NjggQEAgU0VMRUNUIHhtbHRleHQoJ3gnfHwgJzxQPjczPC9Q Pic6OnhtbCB8fCAuNDIgfHwgdHJ1ZSB8fCAnaic6OmNoYXIpOwogIHgmbHQ7UCZndDs3MyZs dDsvUCZndDswLjQydHJ1ZWoKICgxIHJvdykKIAorLS0gZm9yIHhtbGNhc3QoKSB0ZXN0cwor SU5TRVJUIElOVE8geG1sdGVzdAorIFZBTFVFUyAoNDIsCisnPD94bWwgdmVyc2lvbj0iMS4w IiBlbmNvZGluZz0idXRmLTgiPz4KKyA8eG1sY2FzdD4KKyAgPHBlcmlvZDE+UDFZMk0zRFQ0 SDVNNlM8L3BlcmlvZDE+CisgIDxwZXJpb2QyPjEgeWVhciAyIG1vbnMgMyBkYXlzIDQgaG91 cnMgNSBtaW51dGVzIDYgc2Vjb25kczwvcGVyaW9kMj4KKyAgPGRhdGUxPjIwMDItMDktMjQ8 L2RhdGUxPgorICA8ZGF0ZTI+MjAwMi0wOS0yNCswNjowMDwvZGF0ZTI+CisgIDx0aW1lPjA5 OjMwOjEwLjU8L3RpbWU+CisgIDx0aW1lX3R6MT4wOTozMDoxMFo8L3RpbWVfdHoxPgorICA8 dGltZV90ejI+MDk6MzA6MTAtMDY6MDA8L3RpbWVfdHoyPgorICA8dGltZV90ejM+MDk6MzA6 MTArMDY6MDA8L3RpbWVfdHozPgorICA8dGltZXN0YW1wMT4yMDAyLTA1LTMwVDA5OjAwOjAw PC90aW1lc3RhbXAxPgorICA8dGltZXN0YW1wMj4yMDAyLTA1LTMwVDA5OjMwOjEwLjU8L3Rp bWVzdGFtcDI+CisgIDx0aW1lc3RhbXBfdHoxPjIwMDItMDUtMzBUMDk6MzA6MTBaPC90aW1l c3RhbXBfdHoxPgorICA8dGltZXN0YW1wX3R6Mj4yMDAyLTA1LTMwVDA5OjMwOjEwLTA2OjAw PC90aW1lc3RhbXBfdHoyPgorICA8dGltZXN0YW1wX3R6Mz4yMDAyLTA1LTMwVDA5OjMwOjEw KzA2OjAwPC90aW1lc3RhbXBfdHozPgorICA8dGV4dDE+Zm9vIGJhcjwvdGV4dDE+CisgIDx0 ZXh0Mj4gICAgICAgZm9vIGJhciAgICAgPC90ZXh0Mj4KKyAgPHRleHQzPmZvbyAmYW1wOyAm bHQ7JnF1b3Q7YmFyJnF1b3Q7Jmd0OzwvdGV4dDM+CisgIDxkZWNpbWFsMT40Mi43MzEyMzQ1 Njc4OTEwPC9kZWNpbWFsMT4KKyAgPGRlY2ltYWwyPis0Mi43MzEyMzQ1Njc4OTEwPC9kZWNp bWFsMj4KKyAgPGRlY2ltYWwzPi00Mi43MzEyMzQ1Njc4OTEwPC9kZWNpbWFsMz4KKyAgPGlu dGVnZXIxPjQyPC9pbnRlZ2VyMT4KKyAgPGludGVnZXIyPis0MjwvaW50ZWdlcjI+CisgIDxp bnRlZ2VyMz4tNDI8L2ludGVnZXIzPgorICA8bG9uZzE+NDI3MzUzNTQyMDE2MjAyMTwvbG9u ZzE+CisgIDxsb25nMj4rNDI3MzUzNTQyMDE2MjAyMTwvbG9uZzI+CisgIDxsb25nMz4tNDI3 MzUzNTQyMDE2MjAyMTwvbG9uZzM+CisgIDxib29sMSBhdHQ9InRydWUiPjQyPC9ib29sMT4K KyAgPGJvb2wyIGF0dD0iZmFsc2UiPjczPC9ib29sMj4KKyAgPGVtcHR5PjwvZW1wdHk+Cisg PC94bWxjYXN0Pic6OnhtbAorKTsKKy0tIFRoaXMgcHJldmVudHMgdGhlIHhtbGNhc3QgcmVn cmVzc2lvbiB0ZXN0cyBmcm9tIGZhaWxpbmcgaWYgdGhlIHN5c3RlbSdzIHRpbWV6b25lIGhh cyBiZWVuIGNoYW5nZWQuCitTRVQgdGltZXpvbmUgVE8gJ0FtZXJpY2EvTG9zX0FuZ2VsZXMn OworLS0geG1sY2FzdCBleGNlcHRpb25zCitcc2V0IFZFUkJPU0lUWSB0ZXJzZQorU0VMRUNU IHhtbGNhc3QoKHhwYXRoKCcvL3RleHQxL3RleHQoKScsIGRhdGEpKVsxXSBBUyB0ZXh0W10p IEZST00geG1sdGVzdCBXSEVSRSBpZCA9IDQyOworRVJST1I6ICBjYW5ub3QgY2FzdCBmcm9t ICd4bWwnIHRvICd0ZXh0W10nIGF0IGNoYXJhY3RlciA4CitTRUxFQ1QgeG1sY2FzdCgoeHBh dGgoJy8vdGV4dDEvaW50ZWdlcjEoKScsIGRhdGEpKVsxXSBBUyBpbnRbXSkgRlJPTSB4bWx0 ZXN0IFdIRVJFIGlkID0gNDI7CitFUlJPUjogIGNhbm5vdCBjYXN0IGZyb20gJ3htbCcgdG8g J2ludGVnZXJbXScgYXQgY2hhcmFjdGVyIDgKK1NFTEVDVCB4bWxjYXN0KE5VTEwgQVMgdGV4 dCk7CitFUlJPUjogIGNhbm5vdCBjYXN0IGZyb20gJ3Vua25vd24nIHRvICd0ZXh0JyBhdCBj aGFyYWN0ZXIgOAorU0VMRUNUIHhtbGNhc3QoJ2Zvbyc6OnRleHQgQVMgdmFyY2hhcik7CitF UlJPUjogIGNhbm5vdCBjYXN0IGZyb20gJ3RleHQnIHRvICdjaGFyYWN0ZXIgdmFyeWluZycg YXQgY2hhcmFjdGVyIDgKK1NFTEVDVCB4bWxjYXN0KDQyIEFTIHRleHQpOworRVJST1I6ICBj YW5ub3QgY2FzdCBmcm9tICdpbnRlZ2VyJyB0byAndGV4dCcgYXQgY2hhcmFjdGVyIDgKK1NF TEVDVCB4bWxjYXN0KGFycmF5Wydmb28nLCdiYXInXSBBUyB4bWwpOworRVJST1I6ICBjYW5u b3QgY2FzdCBmcm9tICd0ZXh0W10nIHRvICd4bWwnIGF0IGNoYXJhY3RlciA4Citcc2V0IFZF UkJPU0lUWSBkZWZhdWx0CistLSB4bWxjYXN0IHRlc3RzIGZvciAiWE1MIHRvIG5vbi1YTUwi IGV4cHJlc3Npb25zCitTRUxFQ1QKKyAgeG1sY2FzdCgoeHBhdGgoJy8vZGF0ZTEvdGV4dCgp JywgZGF0YSkpWzFdIEFTIGRhdGUpLCBwZ190eXBlb2YoeG1sY2FzdCgoeHBhdGgoJy8vZGF0 ZTEvdGV4dCgpJywgZGF0YSkpWzFdIEFTIGRhdGUpKSwKKyAgeG1sY2FzdCgoeHBhdGgoJy8v ZGF0ZTIvdGV4dCgpJywgZGF0YSkpWzFdIEFTIGRhdGUpLCBwZ190eXBlb2YoeG1sY2FzdCgo eHBhdGgoJy8vZGF0ZTIvdGV4dCgpJywgZGF0YSkpWzFdIEFTIGRhdGUpKQorRlJPTSB4bWx0 ZXN0IFdIRVJFIGlkID0gNDI7CisgIHhtbGNhc3QgICB8IHBnX3R5cGVvZiB8ICB4bWxjYXN0 ICAgfCBwZ190eXBlb2YgCistLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tCisgMDktMjQtMjAwMiB8IGRhdGUgICAgICB8IDA5LTI0LTIwMDIgfCBk YXRlCisoMSByb3cpCisKK1NFTEVDVAorICB4bWxjYXN0KCh4cGF0aCgnLy9wZXJpb2QxL3Rl eHQoKScsIGRhdGEpKVsxXSBBUyBpbnRlcnZhbCksIHBnX3R5cGVvZih4bWxjYXN0KCh4cGF0 aCgnLy9wZXJpb2QxL3RleHQoKScsIGRhdGEpKVsxXSBBUyBpbnRlcnZhbCkpLAorICB4bWxj YXN0KCh4cGF0aCgnLy9wZXJpb2QyL3RleHQoKScsIGRhdGEpKVsxXSBBUyBpbnRlcnZhbCks IHBnX3R5cGVvZih4bWxjYXN0KCh4cGF0aCgnLy9wZXJpb2QyL3RleHQoKScsIGRhdGEpKVsx XSBBUyBpbnRlcnZhbCkpCitGUk9NIHhtbHRlc3QgV0hFUkUgaWQgPSA0MjsKKyAgICAgICAg ICAgICAgICAgICB4bWxjYXN0ICAgICAgICAgICAgICAgICAgICB8IHBnX3R5cGVvZiB8ICAg ICAgICAgICAgICAgICAgIHhtbGNhc3QgICAgICAgICAgICAgICAgICAgIHwgcGdfdHlwZW9m IAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tCisgQCAxIHllYXIgMiBtb25zIDMgZGF5cyA0IGhvdXJzIDUgbWlucyA2 IHNlY3MgfCBpbnRlcnZhbCAgfCBAIDEgeWVhciAyIG1vbnMgMyBkYXlzIDQgaG91cnMgNSBt aW5zIDYgc2VjcyB8IGludGVydmFsCisoMSByb3cpCisKK1NFTEVDVAorICB4bWxjYXN0KCh4 cGF0aCgnLy90aW1lL3RleHQoKScsIGRhdGEpKVsxXSBBUyB0aW1lKSwgcGdfdHlwZW9mKHht bGNhc3QoKHhwYXRoKCcvL3RpbWUvdGV4dCgpJywgZGF0YSkpWzFdIEFTIHRpbWUpKSwKKyAg eG1sY2FzdCgoeHBhdGgoJy8vdGltZV90ejEvdGV4dCgpJywgZGF0YSkpWzFdIEFTIHRpbWUg d2l0aCB0aW1lIHpvbmUpLCBwZ190eXBlb2YoeG1sY2FzdCgoeHBhdGgoJy8vdGltZV90ejEv dGV4dCgpJywgZGF0YSkpWzFdIEFTIHRpbWUgd2l0aCB0aW1lIHpvbmUpKSwKKyAgeG1sY2Fz dCgoeHBhdGgoJy8vdGltZV90ejIvdGV4dCgpJywgZGF0YSkpWzFdIEFTIHRpbWUgd2l0aCB0 aW1lIHpvbmUpLCBwZ190eXBlb2YoeG1sY2FzdCgoeHBhdGgoJy8vdGltZV90ejIvdGV4dCgp JywgZGF0YSkpWzFdIEFTIHRpbWUgd2l0aCB0aW1lIHpvbmUpKSwKKyAgeG1sY2FzdCgoeHBh dGgoJy8vdGltZV90ejMvdGV4dCgpJywgZGF0YSkpWzFdIEFTIHRpbWUgd2l0aCB0aW1lIHpv bmUpLCBwZ190eXBlb2YoeG1sY2FzdCgoeHBhdGgoJy8vdGltZV90ejMvdGV4dCgpJywgZGF0 YSkpWzFdIEFTIHRpbWUgd2l0aCB0aW1lIHpvbmUpKQorRlJPTSB4bWx0ZXN0IFdIRVJFIGlk ID0gNDI7CisgIHhtbGNhc3QgICB8ICAgICAgIHBnX3R5cGVvZiAgICAgICAgfCAgIHhtbGNh c3QgICB8ICAgICAgcGdfdHlwZW9mICAgICAgfCAgIHhtbGNhc3QgICB8ICAgICAgcGdfdHlw ZW9mICAgICAgfCAgIHhtbGNhc3QgICB8ICAgICAgcGdfdHlwZW9mICAgICAgCistLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMDk6MzA6MTAuNSB8IHRpbWUgd2l0 aG91dCB0aW1lIHpvbmUgfCAwOTozMDoxMCswMCB8IHRpbWUgd2l0aCB0aW1lIHpvbmUgfCAw OTozMDoxMC0wNiB8IHRpbWUgd2l0aCB0aW1lIHpvbmUgfCAwOTozMDoxMCswNiB8IHRpbWUg d2l0aCB0aW1lIHpvbmUKKygxIHJvdykKKworU0VMRUNUCisgIHhtbGNhc3QoKHhwYXRoKCcv L3RleHQxL3RleHQoKScsIGRhdGEpKVsxXSBBUyB0ZXh0KSwgcGdfdHlwZW9mKHhtbGNhc3Qo KHhwYXRoKCcvL3RleHQxL3RleHQoKScsIGRhdGEpKVsxXSBBUyB0ZXh0KSksCisgIHhtbGNh c3QoKHhwYXRoKCcvL3RleHQyL3RleHQoKScsIGRhdGEpKVsxXSBBUyB0ZXh0KSwgcGdfdHlw ZW9mKHhtbGNhc3QoKHhwYXRoKCcvL3RleHQyL3RleHQoKScsIGRhdGEpKVsxXSBBUyB0ZXh0 KSksCisgIHhtbGNhc3QoKHhwYXRoKCcvL3RleHQzL3RleHQoKScsIGRhdGEpKVsxXSBBUyB0 ZXh0KSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL3RleHQzL3RleHQoKScsIGRhdGEp KVsxXSBBUyB0ZXh0KSkKK0ZST00geG1sdGVzdCBXSEVSRSBpZCA9IDQyOworIHhtbGNhc3Qg fCBwZ190eXBlb2YgfCAgICAgICB4bWxjYXN0ICAgICAgIHwgcGdfdHlwZW9mIHwgICAgeG1s Y2FzdCAgICB8IHBnX3R5cGVvZiAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisg Zm9vIGJhciB8IHRleHQgICAgICB8ICAgICAgICBmb28gYmFyICAgICAgfCB0ZXh0ICAgICAg fCBmb28gJiA8ImJhciI+IHwgdGV4dAorKDEgcm93KQorCitTRUxFQ1QKKyAgeG1sY2FzdCgo eHBhdGgoJy8vdGV4dDEvdGV4dCgpJywgZGF0YSkpWzFdIEFTIHZhcmNoYXIpLCBwZ190eXBl b2YoeG1sY2FzdCgoeHBhdGgoJy8vdGV4dDEvdGV4dCgpJywgZGF0YSkpWzFdIEFTIHZhcmNo YXIpKSwKKyAgeG1sY2FzdCgoeHBhdGgoJy8vdGV4dDIvdGV4dCgpJywgZGF0YSkpWzFdIEFT IHZhcmNoYXIpLCBwZ190eXBlb2YoeG1sY2FzdCgoeHBhdGgoJy8vdGV4dDIvdGV4dCgpJywg ZGF0YSkpWzFdIEFTIHZhcmNoYXIpKSwKKyAgeG1sY2FzdCgoeHBhdGgoJy8vdGV4dDMvdGV4 dCgpJywgZGF0YSkpWzFdIEFTIHZhcmNoYXIpLCBwZ190eXBlb2YoeG1sY2FzdCgoeHBhdGgo Jy8vdGV4dDMvdGV4dCgpJywgZGF0YSkpWzFdIEFTIHZhcmNoYXIpKQorRlJPTSB4bWx0ZXN0 IFdIRVJFIGlkID0gNDI7CisgeG1sY2FzdCB8ICAgICBwZ190eXBlb2YgICAgIHwgICAgICAg eG1sY2FzdCAgICAgICB8ICAgICBwZ190eXBlb2YgICAgIHwgICAgeG1sY2FzdCAgICB8ICAg ICBwZ190eXBlb2YgICAgIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0KKyBmb28gYmFyIHwgY2hhcmFjdGVyIHZhcnlpbmcgfCAgICAg ICAgZm9vIGJhciAgICAgIHwgY2hhcmFjdGVyIHZhcnlpbmcgfCBmb28gJiA8ImJhciI+IHwg Y2hhcmFjdGVyIHZhcnlpbmcKKygxIHJvdykKKworU0VMRUNUCisgIHhtbGNhc3QoKHhwYXRo KCcvL3RleHQxL3RleHQoKScsIGRhdGEpKVsxXSBBUyBuYW1lKSwgcGdfdHlwZW9mKHhtbGNh c3QoKHhwYXRoKCcvL3RleHQxL3RleHQoKScsIGRhdGEpKVsxXSBBUyBuYW1lKSksCisgIHht bGNhc3QoKHhwYXRoKCcvL3RleHQyL3RleHQoKScsIGRhdGEpKVsxXSBBUyBuYW1lKSwgcGdf dHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL3RleHQyL3RleHQoKScsIGRhdGEpKVsxXSBBUyBu YW1lKSksCisgIHhtbGNhc3QoKHhwYXRoKCcvL3RleHQzL3RleHQoKScsIGRhdGEpKVsxXSBB UyBuYW1lKSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL3RleHQzL3RleHQoKScsIGRh dGEpKVsxXSBBUyBuYW1lKSkKK0ZST00geG1sdGVzdCBXSEVSRSBpZCA9IDQyOworIHhtbGNh c3QgfCBwZ190eXBlb2YgfCAgICAgICB4bWxjYXN0ICAgICAgIHwgcGdfdHlwZW9mIHwgICAg eG1sY2FzdCAgICB8IHBnX3R5cGVvZiAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t CisgZm9vIGJhciB8IG5hbWUgICAgICB8ICAgICAgICBmb28gYmFyICAgICAgfCBuYW1lICAg ICAgfCBmb28gJiA8ImJhciI+IHwgbmFtZQorKDEgcm93KQorCitTRUxFQ1QKKyAgeG1sY2Fz dCgoeHBhdGgoJy8vdGV4dDEvdGV4dCgpJywgZGF0YSkpWzFdIEFTIGJwY2hhciksIHBnX3R5 cGVvZih4bWxjYXN0KCh4cGF0aCgnLy90ZXh0MS90ZXh0KCknLCBkYXRhKSlbMV0gQVMgYnBj aGFyKSksCisgIHhtbGNhc3QoKHhwYXRoKCcvL3RleHQyL3RleHQoKScsIGRhdGEpKVsxXSBB UyBicGNoYXIpLCBwZ190eXBlb2YoeG1sY2FzdCgoeHBhdGgoJy8vdGV4dDIvdGV4dCgpJywg ZGF0YSkpWzFdIEFTIGJwY2hhcikpLAorICB4bWxjYXN0KCh4cGF0aCgnLy90ZXh0My90ZXh0 KCknLCBkYXRhKSlbMV0gQVMgYnBjaGFyKSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcv L3RleHQzL3RleHQoKScsIGRhdGEpKVsxXSBBUyBicGNoYXIpKQorRlJPTSB4bWx0ZXN0IFdI RVJFIGlkID0gNDI7CisgeG1sY2FzdCB8IHBnX3R5cGVvZiB8ICAgICAgIHhtbGNhc3QgICAg ICAgfCBwZ190eXBlb2YgfCAgICB4bWxjYXN0ICAgIHwgcGdfdHlwZW9mIAorLS0tLS0tLS0t Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBmb28gYmFyIHwgY2hhcmFjdGVyIHwgICAgICAgIGZv byBiYXIgICAgICB8IGNoYXJhY3RlciB8IGZvbyAmIDwiYmFyIj4gfCBjaGFyYWN0ZXIKKygx IHJvdykKKworU0VMRUNUCisgIHhtbGNhc3QoKHhwYXRoKCcvL2RlY2ltYWwxL3RleHQoKScs IGRhdGEpKVsxXSBBUyBudW1lcmljKSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL2Rl Y2ltYWwxL3RleHQoKScsIGRhdGEpKVsxXSBBUyBudW1lcmljKSksCisgIHhtbGNhc3QoKHhw YXRoKCcvL2RlY2ltYWwyL3RleHQoKScsIGRhdGEpKVsxXSBBUyBudW1lcmljKSwgcGdfdHlw ZW9mKHhtbGNhc3QoKHhwYXRoKCcvL2RlY2ltYWwyL3RleHQoKScsIGRhdGEpKVsxXSBBUyBu dW1lcmljKSksCisgIHhtbGNhc3QoKHhwYXRoKCcvL2RlY2ltYWwzL3RleHQoKScsIGRhdGEp KVsxXSBBUyBudW1lcmljKSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL2RlY2ltYWwz L3RleHQoKScsIGRhdGEpKVsxXSBBUyBudW1lcmljKSkKK0ZST00geG1sdGVzdCBXSEVSRSBp ZCA9IDQyOworICAgICB4bWxjYXN0ICAgICAgfCBwZ190eXBlb2YgfCAgICAgeG1sY2FzdCAg ICAgIHwgcGdfdHlwZW9mIHwgICAgICB4bWxjYXN0ICAgICAgfCBwZ190eXBlb2YgCistLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyA0Mi43MzEyMzQ1Njc4OTEw IHwgbnVtZXJpYyAgIHwgNDIuNzMxMjM0NTY3ODkxMCB8IG51bWVyaWMgICB8IC00Mi43MzEy MzQ1Njc4OTEwIHwgbnVtZXJpYworKDEgcm93KQorCitTRUxFQ1QKKyAgeG1sY2FzdCgoeHBh dGgoJy8vZGVjaW1hbDEvdGV4dCgpJywgZGF0YSkpWzFdIEFTIGRvdWJsZSBwcmVjaXNpb24p LCBwZ190eXBlb2YoeG1sY2FzdCgoeHBhdGgoJy8vZGVjaW1hbDEvdGV4dCgpJywgZGF0YSkp WzFdIEFTIGRvdWJsZSBwcmVjaXNpb24pKSwKKyAgeG1sY2FzdCgoeHBhdGgoJy8vZGVjaW1h bDIvdGV4dCgpJywgZGF0YSkpWzFdIEFTIGRvdWJsZSBwcmVjaXNpb24pLCBwZ190eXBlb2Yo eG1sY2FzdCgoeHBhdGgoJy8vZGVjaW1hbDIvdGV4dCgpJywgZGF0YSkpWzFdIEFTIGRvdWJs ZSBwcmVjaXNpb24pKSwKKyAgeG1sY2FzdCgoeHBhdGgoJy8vZGVjaW1hbDMvdGV4dCgpJywg ZGF0YSkpWzFdIEFTIGRvdWJsZSBwcmVjaXNpb24pLCBwZ190eXBlb2YoeG1sY2FzdCgoeHBh dGgoJy8vZGVjaW1hbDMvdGV4dCgpJywgZGF0YSkpWzFdIEFTIGRvdWJsZSBwcmVjaXNpb24p KQorRlJPTSB4bWx0ZXN0IFdIRVJFIGlkID0gNDI7CisgICAgIHhtbGNhc3QgICAgIHwgICAg cGdfdHlwZW9mICAgICB8ICAgICB4bWxjYXN0ICAgICB8ICAgIHBnX3R5cGVvZiAgICAgfCAg ICAgeG1sY2FzdCAgICAgIHwgICAgcGdfdHlwZW9mICAgICAKKy0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLQorIDQyLjczMTIzNDU2 Nzg5MSB8IGRvdWJsZSBwcmVjaXNpb24gfCA0Mi43MzEyMzQ1Njc4OTEgfCBkb3VibGUgcHJl Y2lzaW9uIHwgLTQyLjczMTIzNDU2Nzg5MSB8IGRvdWJsZSBwcmVjaXNpb24KKygxIHJvdykK KworU0VMRUNUCisgIHhtbGNhc3QoKHhwYXRoKCcvL2ludGVnZXIxL3RleHQoKScsIGRhdGEp KVsxXSBBUyBpbnQpLCBwZ190eXBlb2YoeG1sY2FzdCgoeHBhdGgoJy8vaW50ZWdlcjEvdGV4 dCgpJywgZGF0YSkpWzFdIEFTIGludCkpLAorICB4bWxjYXN0KCh4cGF0aCgnLy9pbnRlZ2Vy Mi90ZXh0KCknLCBkYXRhKSlbMV0gQVMgaW50KSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRo KCcvL2ludGVnZXIyL3RleHQoKScsIGRhdGEpKVsxXSBBUyBpbnQpKSwKKyAgeG1sY2FzdCgo eHBhdGgoJy8vaW50ZWdlcjMvdGV4dCgpJywgZGF0YSkpWzFdIEFTIGludCksIHBnX3R5cGVv Zih4bWxjYXN0KCh4cGF0aCgnLy9pbnRlZ2VyMy90ZXh0KCknLCBkYXRhKSlbMV0gQVMgaW50 KSkKK0ZST00geG1sdGVzdCBXSEVSRSBpZCA9IDQyOworIHhtbGNhc3QgfCBwZ190eXBlb2Yg fCB4bWxjYXN0IHwgcGdfdHlwZW9mIHwgeG1sY2FzdCB8IHBnX3R5cGVvZiAKKy0tLS0tLS0t LSstLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0t LS0tCisgICAgICA0MiB8IGludGVnZXIgICB8ICAgICAgNDIgfCBpbnRlZ2VyICAgfCAgICAg LTQyIHwgaW50ZWdlcgorKDEgcm93KQorCitTRUxFQ1QKKyAgeG1sY2FzdCgoeHBhdGgoJy8v bG9uZzEvdGV4dCgpJywgZGF0YSkpWzFdIEFTIGJpZ2ludCksIHBnX3R5cGVvZih4bWxjYXN0 KCh4cGF0aCgnLy9sb25nMS90ZXh0KCknLCBkYXRhKSlbMV0gQVMgYmlnaW50KSksCisgIHht bGNhc3QoKHhwYXRoKCcvL2xvbmcyL3RleHQoKScsIGRhdGEpKVsxXSBBUyBiaWdpbnQpLCBw Z190eXBlb2YoeG1sY2FzdCgoeHBhdGgoJy8vbG9uZzIvdGV4dCgpJywgZGF0YSkpWzFdIEFT IGJpZ2ludCkpLAorICB4bWxjYXN0KCh4cGF0aCgnLy9sb25nMy90ZXh0KCknLCBkYXRhKSlb MV0gQVMgYmlnaW50KSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL2xvbmczL3RleHQo KScsIGRhdGEpKVsxXSBBUyBiaWdpbnQpKQorRlJPTSB4bWx0ZXN0IFdIRVJFIGlkID0gNDI7 CisgICAgIHhtbGNhc3QgICAgICB8IHBnX3R5cGVvZiB8ICAgICB4bWxjYXN0ICAgICAgfCBw Z190eXBlb2YgfCAgICAgIHhtbGNhc3QgICAgICB8IHBnX3R5cGVvZiAKKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIDQyNzM1MzU0MjAxNjIwMjEgfCBiaWdp bnQgICAgfCA0MjczNTM1NDIwMTYyMDIxIHwgYmlnaW50ICAgIHwgLTQyNzM1MzU0MjAxNjIw MjEgfCBiaWdpbnQKKygxIHJvdykKKworU0VMRUNUCisgIHhtbGNhc3QoKHhwYXRoKCcvL2Jv b2wxL0BhdHQnLCBkYXRhKSlbMV0gQVMgYm9vbGVhbiksIHBnX3R5cGVvZih4bWxjYXN0KCh4 cGF0aCgnLy9ib29sMS9AYXR0JywgZGF0YSkpWzFdIEFTIGJvb2xlYW4pKSwKKyAgeG1sY2Fz dCgoeHBhdGgoJy8vYm9vbDIvQGF0dCcsIGRhdGEpKVsxXSBBUyBib29sZWFuKSwgcGdfdHlw ZW9mKHhtbGNhc3QoKHhwYXRoKCcvL2Jvb2wxL0BhdHQnLCBkYXRhKSlbMV0gQVMgYm9vbGVh bikpCitGUk9NIHhtbHRlc3QgV0hFUkUgaWQgPSA0MjsKKyB4bWxjYXN0IHwgcGdfdHlwZW9m IHwgeG1sY2FzdCB8IHBnX3R5cGVvZiAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0t LS0rLS0tLS0tLS0tLS0KKyB0ICAgICAgIHwgYm9vbGVhbiAgIHwgZiAgICAgICB8IGJvb2xl YW4KKygxIHJvdykKKworU0VMRUNUIHhtbGNhc3QoKHhwYXRoKCcvL2VtcHR5L3RleHQoKScs IGRhdGEpKVsxXSBBUyB0ZXh0KSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL2VtcHR5 L3RleHQoKScsIGRhdGEpKVsxXSBBUyB0ZXh0KSkKK0ZST00geG1sdGVzdCBXSEVSRSBpZCA9 IDQyOworIHhtbGNhc3QgfCBwZ190eXBlb2YgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyAg ICAgICAgIHwgdGV4dAorKDEgcm93KQorCistLSB4bWxjYXN0IHRlc3RzIGZvciAiWE1MIHRv IFhNTCIgZXhwcmVzc2lvbnMKK1NFTEVDVAorICB4bWxjYXN0KCh4cGF0aCgnLy90ZXh0MS90 ZXh0KCknLCBkYXRhKSlbMV0gQVMgeG1sKSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcv L3RleHQxL3RleHQoKScsIGRhdGEpKVsxXSBBUyB4bWwpKSwKKyAgeG1sY2FzdCgoeHBhdGgo Jy8vdGV4dDIvdGV4dCgpJywgZGF0YSkpWzFdIEFTIHhtbCksIHBnX3R5cGVvZih4bWxjYXN0 KCh4cGF0aCgnLy90ZXh0Mi90ZXh0KCknLCBkYXRhKSlbMV0gQVMgeG1sKSksCisgIHhtbGNh c3QoKHhwYXRoKCcvL3RleHQzL3RleHQoKScsIGRhdGEpKVsxXSBBUyB4bWwpLCBwZ190eXBl b2YoeG1sY2FzdCgoeHBhdGgoJy8vdGV4dDMvdGV4dCgpJywgZGF0YSkpWzFdIEFTIHhtbCkp CitGUk9NIHhtbHRlc3QgV0hFUkUgaWQgPSA0MjsKKyB4bWxjYXN0IHwgcGdfdHlwZW9mIHwg ICAgICAgeG1sY2FzdCAgICAgICB8IHBnX3R5cGVvZiB8ICAgICAgICAgeG1sY2FzdCAgICAg ICAgIHwgcGdfdHlwZW9mIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tCisgZm9vIGJhciB8IHhtbCAgICAgICB8ICAgICAgICBmb28gYmFyICAgICAgfCB4bWwg ICAgICAgfCBmb28gJmFtcDsgJmx0OyJiYXIiJmd0OyB8IHhtbAorKDEgcm93KQorCistLSB4 bWxjYXN0IHRlc3RzIGZvciAibm9uLVhNTCB0byBYTUwiIGV4cHJlc3Npb25zCitTRUxFQ1Qg aiwgcGdfdHlwZW9mKGopIEZST00geG1sY2FzdChOVUxMIEFTIHhtbCkgdChqKTsKKyBqIHwg cGdfdHlwZW9mIAorLS0tKy0tLS0tLS0tLS0tCisgICB8IHhtbAorKDEgcm93KQorCitTRUxF Q1QgaiwgcGdfdHlwZW9mKGopIEZST00geG1sY2FzdCgnZm9vJyBBUyB4bWwpIHQoaik7Cisg IGogIHwgcGdfdHlwZW9mIAorLS0tLS0rLS0tLS0tLS0tLS0KKyBmb28gfCB4bWwKKygxIHJv dykKKworU0VMRUNUIGosIHBnX3R5cGVvZihqKSBGUk9NIHhtbGNhc3QoJyc6OnRleHQgQVMg eG1sKSB0KGopOworIGogfCBwZ190eXBlb2YgCistLS0rLS0tLS0tLS0tLS0KKyAgIHwgeG1s CisoMSByb3cpCisKK1NFTEVDVCBqLCBwZ190eXBlb2YoaikgRlJPTSB4bWxjYXN0KE5VTEw6 OnRleHQgQVMgeG1sKSB0KGopOworIGogfCBwZ190eXBlb2YgCistLS0rLS0tLS0tLS0tLS0K KyAgIHwgeG1sCisoMSByb3cpCisKK1NFTEVDVCBqLCBwZ190eXBlb2YoaikgRlJPTSB4bWxj YXN0KCcnOjp4bWwgQVMgdGV4dCkgdChqKTsKKyBqIHwgcGdfdHlwZW9mIAorLS0tKy0tLS0t LS0tLS0tCisgICB8IHRleHQKKygxIHJvdykKKworU0VMRUNUIGosIHBnX3R5cGVvZihqKSBG Uk9NIHhtbGNhc3QoTlVMTDo6eG1sIEFTIHRleHQpIHQoaik7CisgaiB8IHBnX3R5cGVvZiAK Ky0tLSstLS0tLS0tLS0tLQorICAgfCB0ZXh0CisoMSByb3cpCisKK1NFTEVDVCBqLCBwZ190 eXBlb2YoaikgRlJPTSB4bWxjYXN0KCdmb28gJiA8ImJhciI+Jzo6dGV4dCBBUyB4bWwpIHQo aik7CisgICAgICAgICAgICAgICAgIGogICAgICAgICAgICAgICAgIHwgcGdfdHlwZW9mIAor LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBmb28g JmFtcDsgJmx0OyZxdW90O2JhciZxdW90OyZndDsgfCB4bWwKKygxIHJvdykKKworU0VMRUNU IGosIHBnX3R5cGVvZihqKSBGUk9NIHhtbGNhc3QoJ2ZvbyAmIDwiYmFyIj4nOjp2YXJjaGFy IEFTIHhtbCkgdChqKTsKKyAgICAgICAgICAgICAgICAgaiAgICAgICAgICAgICAgICAgfCBw Z190eXBlb2YgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLQorIGZvbyAmYW1wOyAmbHQ7JnF1b3Q7YmFyJnF1b3Q7Jmd0OyB8IHhtbAorKDEgcm93 KQorCitTRUxFQ1QgaiwgcGdfdHlwZW9mKGopIEZST00geG1sY2FzdCgnZm9vICYgPCJiYXIi Pic6Om5hbWUgQVMgeG1sKSB0KGopOworICAgICAgICAgICAgICAgICBqICAgICAgICAgICAg ICAgICB8IHBnX3R5cGVvZiAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tCisgZm9vICZhbXA7ICZsdDsmcXVvdDtiYXImcXVvdDsmZ3Q7IHwgeG1s CisoMSByb3cpCisKK1NFTEVDVCBqLCBwZ190eXBlb2YoaikgRlJPTSB4bWxjYXN0KHhtbHRl eHQoRSdmb28gJiA8ImJhciI+XHInKSBBUyB0ZXh0KSB0KGopOworICAgICAgICBqICAgICAg ICB8IHBnX3R5cGVvZiAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgZm9vICYg PCJiYXIiPlxyIHwgdGV4dAorKDEgcm93KQorCitTRUxFQ1QgaiwgcGdfdHlwZW9mKGopIEZS T00geG1sY2FzdCh4bWxjYXN0KEUnZm9vICYgPCJiYXIiPlxyJyBBUyB4bWwpIEFTIHRleHQp IHQoaik7CisgICAgICAgIGogICAgICAgIHwgcGdfdHlwZW9mIAorLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0KKyBmb28gJiA8ImJhciI+XHIgfCB0ZXh0CisoMSByb3cpCisKK1NF TEVDVCBqLCBwZ190eXBlb2YoaikgRlJPTSB4bWxjYXN0KHRvX2RhdGUoJzI5LzA1LzIwMjQn LCdkZC9tbS95eXl5JykgQVMgeG1sKSB0KGopOworICAgICBqICAgICAgfCBwZ190eXBlb2Yg CistLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyAyMDI0LTA1LTI5IHwgeG1sCisoMSByb3cp CisKK1NFTEVDVCBqLCBwZ190eXBlb2YoaikgRlJPTSB4bWxjYXN0KCcyMDI0LTA1LTI5IDEy OjA0OjEwLjcwMzU4NSswMic6OnRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBhdCB0aW1lIHpv bmUgJ0V1cm9wZS9CZXJsaW4nIEFTIHhtbCkgdChqKTsKKyAgICAgICAgICAgICBqICAgICAg ICAgICAgICB8IHBnX3R5cGVvZiAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0KKyAyMDI0LTA1LTI5VDEyOjA0OjEwLjcwMzU4NSB8IHhtbAorKDEgcm93KQor CitTRUxFQ1QgaiwgcGdfdHlwZW9mKGopIEZST00geG1sY2FzdCgnMjAyNC0wNS0yOSAxMjow NDoxMC43MDM1ODUrMDInOjp0aW1lc3RhbXAgd2l0aG91dCB0aW1lIHpvbmUgQVMgeG1sKSB0 KGopOworICAgICAgICAgICAgIGogICAgICAgICAgICAgIHwgcGdfdHlwZW9mIAorLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIDIwMjQtMDUtMjlUMTI6MDQ6 MTAuNzAzNTg1IHwgeG1sCisoMSByb3cpCisKK1NFTEVDVCBqLCBwZ190eXBlb2YoaikgRlJP TSB4bWxjYXN0KCcxIHllYXIgMiBtb250aHMgMyBkYXlzIDQgaG91cnMgNSBtaW51dGVzIDYg c2Vjb25kcyc6OmludGVydmFsIEFTIHhtbCkgdChqKTsKKyAgICAgICBqICAgICAgICB8IHBn X3R5cGVvZiAKKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBQMVkyTTNEVDRINU02 UyB8IHhtbAorKDEgcm93KQorCitTRUxFQ1QgaiwgcGdfdHlwZW9mKGopIEZST00geG1sY2Fz dCg0MjczNTM1NDIgQVMgeG1sKSB0KGopOworICAgICBqICAgICB8IHBnX3R5cGVvZiAKKy0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgNDI3MzUzNTQyIHwgeG1sCisoMSByb3cpCisKK1NF TEVDVCBqLCBwZ190eXBlb2YoaikgRlJPTSB4bWxjYXN0KDQyNzM1MzU0MjAxNjIwMjEgQVMg eG1sKSB0KGopOworICAgICAgICBqICAgICAgICAgfCBwZ190eXBlb2YgCistLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0KKyA0MjczNTM1NDIwMTYyMDIxIHwgeG1sCisoMSByb3cp CisKK1NFTEVDVCBqLCBwZ190eXBlb2YoaikgRlJPTSB4bWxjYXN0KDQyLjAwNzMxMjM0NTY3 ODkxMCBBUyB4bWwpIHQoaik7CisgICAgICAgICBqICAgICAgICAgIHwgcGdfdHlwZW9mIAor LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyA0Mi4wMDczMTIzNDU2Nzg5MTAg fCB4bWwKKygxIHJvdykKKworU0VMRUNUIGosIHBnX3R5cGVvZihqKSBGUk9NIHhtbGNhc3Qo NDIuMDA3MzEyMzQ1Njc4OTEwOjpkb3VibGUgcHJlY2lzaW9uIEFTIHhtbCkgdChqKTsKKyAg ICAgICAgIGogICAgICAgICB8IHBnX3R5cGVvZiAKKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0KKyA0Mi4wMDczMTIzNDU2Nzg5MSB8IHhtbAorKDEgcm93KQorCitTRUxFQ1Qg aiwgcGdfdHlwZW9mKGopIEZST00geG1sY2FzdCh0cnVlIEFTIHhtbCkgdChqKTsKKyAgaiAg IHwgcGdfdHlwZW9mIAorLS0tLS0tKy0tLS0tLS0tLS0tCisgdHJ1ZSB8IHhtbAorKDEgcm93 KQorCitTRUxFQ1QgaiwgcGdfdHlwZW9mKGopIEZST00geG1sY2FzdChmYWxzZSBBUyB4bWwp IHQoaik7CisgICBqICAgfCBwZ190eXBlb2YgCistLS0tLS0tKy0tLS0tLS0tLS0tCisgZmFs c2UgfCB4bWwKKygxIHJvdykKKworU0VMRUNUIGosIHBnX3R5cGVvZihqKSBGUk9NIHhtbGNh c3QoNDIgPSA3MyBBUyB4bWwpIHQoaik7CisgICBqICAgfCBwZ190eXBlb2YgCistLS0tLS0t Ky0tLS0tLS0tLS0tCisgZmFsc2UgfCB4bWwKKygxIHJvdykKKworU0VMRUNUIGosIHBnX3R5 cGVvZihqKSBGUk9NIHhtbGNhc3QoNDIgPD4gNzMgQVMgeG1sKSB0KGopOworICBqICAgfCBw Z190eXBlb2YgCistLS0tLS0rLS0tLS0tLS0tLS0KKyB0cnVlIHwgeG1sCisoMSByb3cpCisK K1NFTEVDVCBqLCBwZ190eXBlb2YoaikgRlJPTSB4bWxjYXN0KCcxMToxMToxMS41Jzo6dGlt ZSBBUyB4bWwpIHQoaik7CisgICAgIGogICAgICB8IHBnX3R5cGVvZiAKKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLQorIDExOjExOjExLjUgfCB4bWwKKygxIHJvdykKKworU0VMRUNUIGos IHBnX3R5cGVvZihqKSBGUk9NIHhtbGNhc3QoJzExOjExOjExLjUnOjp0aW1lIHdpdGggdGlt ZSB6b25lIGF0IHRpbWUgem9uZSAnRXVyb3BlL0JlcmxpbicgQVMgeG1sKSB0KGopOworICAg ICAgIGogICAgICAgfCBwZ190eXBlb2YgCistLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0K KyAxOToxMToxMS41KzAxIHwgeG1sCisoMSByb3cpCisKKy0tIENvbnZlcnQgYW4gWE1MIHN0 cmluZyB0byBieXRlYSBhbmQgYmFjayB0byB4bWwKK1NFTEVDVCB4bWxjYXN0KGNvbnZlcnRf ZnJvbSh4bWxjYXN0KCcmbHQ7JnF1b3Q7Zm9vJmFtcDtiYXImcXVvdDsmZ3Q7Jzo6eG1sIEFT IGJ5dGVhKSwnVVRGOCcpOjp4bWwgQVMgdGV4dCk7CisgICB4bWxjYXN0ICAgCistLS0tLS0t LS0tLS0tCisgPCJmb28mYmFyIj4KKygxIHJvdykKKworU0VUIHhtbGJpbmFyeSBUTyBoZXg7 CitTRUxFQ1QgeG1sY2FzdChFJ1xceERFQURCRUVGJzo6Ynl0ZWEgQVMgeG1sKTsKKyB4bWxj YXN0ICAKKy0tLS0tLS0tLS0KKyBERUFEQkVFRgorKDEgcm93KQorCitTRVQgeG1sYmluYXJ5 IFRPIGJhc2U2NDsKK1NFTEVDVCB4bWxjYXN0KEUnXFx4REVBREJFRUYnOjpieXRlYSBBUyB4 bWwpOworIHhtbGNhc3QgIAorLS0tLS0tLS0tLQorIDNxMis3dz09CisoMSByb3cpCisKKy0t IFRoZSBCWSBSRUYgYW5kIEJZIFZBTFVFIGNsYXVzZXMgYXJlIGFjY2VwdGVkIGJ1dCBpZ25v cmVkLgorLS0gVGhpcyBjaGVja3MgaWYgdGhlIHJlc3VsdHMgYXJlIGluZGVlZCB0aGUgc2Ft ZSBhcyB3aXRob3V0IHRoZSBjbGF1c2VzLgorU0VMRUNUCisgIHhtbGNhc3QoJ2ZvbycgQVMg eG1sKTo6dGV4dCA9IHhtbGNhc3QoJ2ZvbycgQVMgeG1sIEJZIFJFRik6OnRleHQsCisgIHht bGNhc3QoJ2ZvbycgQVMgeG1sKTo6dGV4dCA9IHhtbGNhc3QoJ2ZvbycgQVMgeG1sIEJZIFZB TFVFKTo6dGV4dCwKKyAgeG1sY2FzdCgnZm9vJzo6eG1sIEFTIHRleHQpID0geG1sY2FzdCgn Zm9vJzo6eG1sIEFTIHRleHQgQlkgUkVGKSwKKyAgeG1sY2FzdCgnZm9vJzo6eG1sIEFTIHRl eHQpID0geG1sY2FzdCgnZm9vJzo6eG1sIEFTIHRleHQgQlkgVkFMVUUpOworID9jb2x1bW4/ IHwgP2NvbHVtbj8gfCA/Y29sdW1uPyB8ID9jb2x1bW4/IAorLS0tLS0tLS0tLSstLS0tLS0t LS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLQorIHQgICAgICAgIHwgdCAgICAgICAgfCB0ICAg ICAgICB8IHQKKygxIHJvdykKKworU0VMRUNUCisgIHhtbGNhc3QoNDIgQVMgeG1sKTo6dGV4 dCA9IHhtbGNhc3QoNDIgQVMgeG1sIEJZIFJFRik6OnRleHQsCisgIHhtbGNhc3QoNDIgQVMg eG1sKTo6dGV4dCA9IHhtbGNhc3QoNDIgQVMgeG1sIEJZIFZBTFVFKTo6dGV4dCwKKyAgeG1s Y2FzdCgnNDInOjp4bWwgQVMgaW50KSA9IHhtbGNhc3QoJzQyJzo6eG1sIEFTIGludCBCWSBS RUYpLAorICB4bWxjYXN0KCc0Mic6OnhtbCBBUyBpbnQpID0geG1sY2FzdCgnNDInOjp4bWwg QVMgaW50IEJZIFZBTFVFKTsKKyA/Y29sdW1uPyB8ID9jb2x1bW4/IHwgP2NvbHVtbj8gfCA/ Y29sdW1uPyAKKy0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0K KyB0ICAgICAgICB8IHQgICAgICAgIHwgdCAgICAgICAgfCB0CisoMSByb3cpCisKK1NFTEVD VAorICB4bWxjYXN0KDQyLjczIEFTIHhtbCk6OnRleHQgPSB4bWxjYXN0KDQyLjczIEFTIHht bCBCWSBSRUYpOjp0ZXh0LAorICB4bWxjYXN0KDQyLjczIEFTIHhtbCk6OnRleHQgPSB4bWxj YXN0KDQyLjczIEFTIHhtbCBCWSBWQUxVRSk6OnRleHQsCisgIHhtbGNhc3QoJzQyLjczJzo6 eG1sIEFTIG51bWVyaWMpID0geG1sY2FzdCgnNDIuNzMnOjp4bWwgQVMgbnVtZXJpYyBCWSBS RUYpLAorICB4bWxjYXN0KCc0Mi43Myc6OnhtbCBBUyBudW1lcmljKSA9IHhtbGNhc3QoJzQy LjczJzo6eG1sIEFTIG51bWVyaWMgQlkgVkFMVUUpOworID9jb2x1bW4/IHwgP2NvbHVtbj8g fCA/Y29sdW1uPyB8ID9jb2x1bW4/IAorLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0t LS0rLS0tLS0tLS0tLQorIHQgICAgICAgIHwgdCAgICAgICAgfCB0ICAgICAgICB8IHQKKygx IHJvdykKKworU0VMRUNUCisgIHhtbGNhc3QoJzIwMjQtMDgtMTQnOjpkYXRlIEFTIHhtbCk6 OnRleHQgPSB4bWxjYXN0KCcyMDI0LTA4LTE0Jzo6ZGF0ZSBBUyB4bWwgQlkgUkVGKTo6dGV4 dCwKKyAgeG1sY2FzdCgnMjAyNC0wOC0xNCc6OmRhdGUgQVMgeG1sKTo6dGV4dCA9IHhtbGNh c3QoJzIwMjQtMDgtMTQnOjpkYXRlIEFTIHhtbCBCWSBWQUxVRSk6OnRleHQsCisgIHhtbGNh c3QoJzIwMjQtMDgtMTQnOjp4bWwgQVMgZGF0ZSkgPSB4bWxjYXN0KCcyMDI0LTA4LTE0Jzo6 eG1sIEFTIGRhdGUgQlkgUkVGKSwKKyAgeG1sY2FzdCgnMjAyNC0wOC0xNCc6OnhtbCBBUyBk YXRlKSA9IHhtbGNhc3QoJzIwMjQtMDgtMTQnOjp4bWwgQVMgZGF0ZSBCWSBWQUxVRSk7Cisg P2NvbHVtbj8gfCA/Y29sdW1uPyB8ID9jb2x1bW4/IHwgP2NvbHVtbj8gCistLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tCisgdCAgICAgICAgfCB0ICAgICAg ICB8IHQgICAgICAgIHwgdAorKDEgcm93KQorCitTRUxFQ1QKKyAgeG1sY2FzdCgnMTI6MzA6 NDUnOjp0aW1lIHdpdGhvdXQgdGltZSB6b25lIEFTIHhtbCk6OnRleHQgPSB4bWxjYXN0KCcx MjozMDo0NSc6OnRpbWUgd2l0aG91dCB0aW1lIHpvbmUgQVMgeG1sIEJZIFJFRik6OnRleHQs CisgIHhtbGNhc3QoJzEyOjMwOjQ1Jzo6dGltZSB3aXRob3V0IHRpbWUgem9uZSBBUyB4bWwp Ojp0ZXh0ID0geG1sY2FzdCgnMTI6MzA6NDUnOjp0aW1lIHdpdGhvdXQgdGltZSB6b25lIEFT IHhtbCBCWSBWQUxVRSk6OnRleHQsCisgIHhtbGNhc3QoJzEyOjMwOjQ1Jzo6eG1sIEFTIHRp bWUgd2l0aG91dCB0aW1lIHpvbmUpID0geG1sY2FzdCgnMTI6MzA6NDUnOjp4bWwgQVMgdGlt ZSB3aXRob3V0IHRpbWUgem9uZSBCWSBSRUYpLAorICB4bWxjYXN0KCcxMjozMDo0NSc6Onht bCBBUyB0aW1lIHdpdGhvdXQgdGltZSB6b25lKSA9IHhtbGNhc3QoJzEyOjMwOjQ1Jzo6eG1s IEFTIHRpbWUgd2l0aG91dCB0aW1lIHpvbmUgQlkgVkFMVUUpOworID9jb2x1bW4/IHwgP2Nv bHVtbj8gfCA/Y29sdW1uPyB8ID9jb2x1bW4/IAorLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0tLQorIHQgICAgICAgIHwgdCAgICAgICAgfCB0ICAgICAgICB8 IHQKKygxIHJvdykKKworU0VMRUNUCisgIHhtbGNhc3QoJzA5OjMwOjEwKzA2OjAwJzo6dGlt ZSB3aXRoIHRpbWUgem9uZSBBUyB4bWwpOjp0ZXh0ID0geG1sY2FzdCgnMDk6MzA6MTArMDY6 MDAnOjp0aW1lIHdpdGggdGltZSB6b25lIEFTIHhtbCBCWSBSRUYpOjp0ZXh0LAorICB4bWxj YXN0KCcwOTozMDoxMCswNjowMCc6OnRpbWUgd2l0aCB0aW1lIHpvbmUgQVMgeG1sKTo6dGV4 dCA9IHhtbGNhc3QoJzA5OjMwOjEwKzA2OjAwJzo6dGltZSB3aXRoIHRpbWUgem9uZSBBUyB4 bWwgQlkgVkFMVUUpOjp0ZXh0LAorICB4bWxjYXN0KCcwOTozMDoxMCswNjowMCc6OnhtbCBB UyB0aW1lIHdpdGggdGltZSB6b25lKSA9IHhtbGNhc3QoJzA5OjMwOjEwKzA2OjAwJzo6eG1s IEFTIHRpbWUgd2l0aCB0aW1lIHpvbmUgQlkgUkVGKSwKKyAgeG1sY2FzdCgnMDk6MzA6MTAr MDY6MDAnOjp4bWwgQVMgdGltZSB3aXRoIHRpbWUgem9uZSkgPSB4bWxjYXN0KCcwOTozMDox MCswNjowMCc6OnhtbCBBUyB0aW1lIHdpdGggdGltZSB6b25lIEJZIFZBTFVFKTsKKyA/Y29s dW1uPyB8ID9jb2x1bW4/IHwgP2NvbHVtbj8gfCA/Y29sdW1uPyAKKy0tLS0tLS0tLS0rLS0t LS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0KKyB0ICAgICAgICB8IHQgICAgICAgIHwg dCAgICAgICAgfCB0CisoMSByb3cpCisKK1NFTEVDVAorICB4bWxjYXN0KCcyMDAyLTA1LTMw IDA5OjMwOjEwKzA2OjAwJzo6dGltZXN0YW1wIHdpdGggdGltZSB6b25lIEFTIHhtbCk6OnRl eHQgPSB4bWxjYXN0KCcyMDAyLTA1LTMwIDA5OjMwOjEwKzA2OjAwJzo6dGltZXN0YW1wIHdp dGggdGltZSB6b25lIEFTIHhtbCBCWSBSRUYpOjp0ZXh0LAorICB4bWxjYXN0KCcyMDAyLTA1 LTMwIDA5OjMwOjEwKzA2OjAwJzo6dGltZXN0YW1wIHdpdGggdGltZSB6b25lIEFTIHhtbCk6 OnRleHQgPSB4bWxjYXN0KCcyMDAyLTA1LTMwIDA5OjMwOjEwKzA2OjAwJzo6dGltZXN0YW1w IHdpdGggdGltZSB6b25lIEFTIHhtbCBCWSBWQUxVRSk6OnRleHQsCisgIHhtbGNhc3QoJzIw MDItMDUtMzBUMDk6MzA6MTArMDY6MDAnOjp4bWwgQVMgdGltZXN0YW1wIHdpdGggdGltZSB6 b25lKSA9IHhtbGNhc3QoJzIwMDItMDUtMzBUMDk6MzA6MTArMDY6MDAnOjp4bWwgQVMgdGlt ZXN0YW1wIHdpdGggdGltZSB6b25lIEJZIFJFRiksCisgIHhtbGNhc3QoJzIwMDItMDUtMzBU MDk6MzA6MTArMDY6MDAnOjp4bWwgQVMgdGltZXN0YW1wIHdpdGggdGltZSB6b25lKSA9IHht bGNhc3QoJzIwMDItMDUtMzBUMDk6MzA6MTArMDY6MDAnOjp4bWwgQVMgdGltZXN0YW1wIHdp dGggdGltZSB6b25lIEJZIFZBTFVFKTsKKyA/Y29sdW1uPyB8ID9jb2x1bW4/IHwgP2NvbHVt bj8gfCA/Y29sdW1uPyAKKy0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0t LS0tLS0KKyB0ICAgICAgICB8IHQgICAgICAgIHwgdCAgICAgICAgfCB0CisoMSByb3cpCisK K1NFTEVDVAorICB4bWxjYXN0KCcxIHllYXIgMiBtb25zJzo6aW50ZXJ2YWwgQVMgeG1sKTo6 dGV4dCA9IHhtbGNhc3QoJzEgeWVhciAyIG1vbnMnOjppbnRlcnZhbCBBUyB4bWwgQlkgUkVG KTo6dGV4dCwKKyAgeG1sY2FzdCgnMSB5ZWFyIDIgbW9ucyc6OmludGVydmFsIEFTIHhtbCk6 OnRleHQgPSB4bWxjYXN0KCcxIHllYXIgMiBtb25zJzo6aW50ZXJ2YWwgQVMgeG1sIEJZIFZB TFVFKTo6dGV4dCwKKyAgeG1sY2FzdCgnMSB5ZWFyIDIgbW9ucyc6OnhtbCBBUyBpbnRlcnZh bCkgPSB4bWxjYXN0KCcxIHllYXIgMiBtb25zJzo6eG1sIEFTIGludGVydmFsIEJZIFJFRiks CisgIHhtbGNhc3QoJzEgeWVhciAyIG1vbnMnOjp4bWwgQVMgaW50ZXJ2YWwpID0geG1sY2Fz dCgnMSB5ZWFyIDIgbW9ucyc6OnhtbCBBUyBpbnRlcnZhbCBCWSBWQUxVRSk7CisgP2NvbHVt bj8gfCA/Y29sdW1uPyB8ID9jb2x1bW4/IHwgP2NvbHVtbj8gCistLS0tLS0tLS0tKy0tLS0t LS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tCisgdCAgICAgICAgfCB0ICAgICAgICB8IHQg ICAgICAgIHwgdAorKDEgcm93KQorCitDUkVBVEUgVklFVyB2aWV3X3htbGNhc3RfdG9feG1s IEFTCitTRUxFQ1QKKyAgeG1sY2FzdChOVUxMIEFTIHhtbCkgQVMgYzEsCisgIHhtbGNhc3Qo J2ZvbycgQVMgeG1sKSBBUyBjMiwKKyAgeG1sY2FzdCgnJzo6dGV4dCBBUyB4bWwpIEFTIGMz LAorICB4bWxjYXN0KE5VTEw6OnRleHQgQVMgeG1sKSBBUyBjNCwKKyAgeG1sY2FzdCgnJzo6 eG1sIEFTIHRleHQpIEFTIGM1LAorICB4bWxjYXN0KE5VTEw6OnhtbCBBUyB0ZXh0KSBjNiwK KyAgeG1sY2FzdCgnZm9vICYgPCJiYXIiPic6OnRleHQgQVMgeG1sKSBBUyBjNywKKyAgeG1s Y2FzdCgnZm9vICYgPCJiYXIiPic6OnZhcmNoYXIgQVMgeG1sKSBBUyBjOCwKKyAgeG1sY2Fz dCgnZm9vICYgPCJiYXIiPic6Om5hbWUgQVMgeG1sKSBBUyBjOSwKKyAgeG1sY2FzdCh4bWx0 ZXh0KEUnZm9vICYgPCJiYXIiPlxyJykgQVMgdGV4dCkgQVMgYzEwLAorICB4bWxjYXN0KHht bGNhc3QoRSdmb28gJiA8ImJhciI+XHInIEFTIHhtbCkgQVMgdGV4dCkgQVMgYzExLAorICB4 bWxjYXN0KHRvX2RhdGUoJzI5LzA1LzIwMjQnLCdkZC9tbS95eXl5JykgQVMgeG1sKSBBUyBj MTIsCisgIHhtbGNhc3QoJzIwMjQtMDUtMjkgMTI6MDQ6MTAuNzAzNTg1KzAyJzo6dGltZXN0 YW1wIHdpdGggdGltZSB6b25lIGF0IHRpbWUgem9uZSAnRXVyb3BlL0JlcmxpbicgQVMgeG1s KSBBUyBjMTMsCisgIHhtbGNhc3QoJzIwMjQtMDUtMjkgMTI6MDQ6MTAuNzAzNTg1KzAyJzo6 dGltZXN0YW1wIHdpdGhvdXQgdGltZSB6b25lIEFTIHhtbCkgQVMgYzE0LAorICB4bWxjYXN0 KCcxIHllYXIgMiBtb250aHMgMyBkYXlzIDQgaG91cnMgNSBtaW51dGVzIDYgc2Vjb25kcyc6 OmludGVydmFsIEFTIHhtbCkgQVMgYzE1LAorICB4bWxjYXN0KDQyNzM1MzU0MiBBUyB4bWwp IEFTIGMxNiwKKyAgeG1sY2FzdCg0MjczNTM1NDIwMTYyMDIxIEFTIHhtbCkgQVMgYzE3LAor ICB4bWxjYXN0KDQyLjAwNzMxMjM0NTY3ODkxMCBBUyB4bWwpIEFTIGMxOCwKKyAgeG1sY2Fz dCg0Mi4wMDczMTIzNDU2Nzg5MTA6OmRvdWJsZSBwcmVjaXNpb24gQVMgeG1sKSBBUyBjMTks CisgIHhtbGNhc3QodHJ1ZSBBUyB4bWwpIEFTIGMyMCwKKyAgeG1sY2FzdChmYWxzZSBBUyB4 bWwpIEFTIGMyMSwKKyAgeG1sY2FzdCg0MiA9IDczIEFTIHhtbCkgQVMgYzIyLAorICB4bWxj YXN0KDQyIDw+IDczIEFTIHhtbCkgQVMgYzIzLAorICB4bWxjYXN0KCcxMToxMToxMS41Jzo6 dGltZSBBUyB4bWwpIEFTIGMyNCwKKyAgeG1sY2FzdCgnMTE6MTE6MTEuNSc6OnRpbWUgd2l0 aCB0aW1lIHpvbmUgYXQgdGltZSB6b25lICdFdXJvcGUvQmVybGluJyBBUyB4bWwpIEFTIGMy NTsKK1xzdiB2aWV3X3htbGNhc3RfdG9feG1sCitDUkVBVEUgT1IgUkVQTEFDRSBWSUVXIHB1 YmxpYy52aWV3X3htbGNhc3RfdG9feG1sIEFTCisgU0VMRUNUIFhNTENBU1QoTlVMTDo6dGV4 dCBBUyB4bWwpOjp4bWwgQVMgYzEsCisgICAgWE1MQ0FTVCgnZm9vJzo6dGV4dCBBUyB4bWwp Ojp4bWwgQVMgYzIsCisgICAgWE1MQ0FTVCgnJzo6dGV4dCBBUyB4bWwpOjp4bWwgQVMgYzMs CisgICAgWE1MQ0FTVChOVUxMOjp0ZXh0IEFTIHhtbCk6OnhtbCBBUyBjNCwKKyAgICBYTUxD QVNUKCcnOjp4bWwgQVMgdGV4dCk6OnRleHQgQVMgYzUsCisgICAgWE1MQ0FTVChOVUxMOjp4 bWwgQVMgdGV4dCk6OnRleHQgQVMgYzYsCisgICAgWE1MQ0FTVCgnZm9vICYgPCJiYXIiPic6 OnRleHQgQVMgeG1sKTo6eG1sIEFTIGM3LAorICAgIFhNTENBU1QoJ2ZvbyAmIDwiYmFyIj4n OjpjaGFyYWN0ZXIgdmFyeWluZyBBUyB4bWwpOjp4bWwgQVMgYzgsCisgICAgWE1MQ0FTVCgn Zm9vICYgPCJiYXIiPic6Om5hbWU6OnRleHQgQVMgeG1sKTo6eG1sIEFTIGM5LAorICAgIFhN TENBU1QoeG1sdGV4dCgnZm9vICYgPCJiYXIiPg0nOjp0ZXh0KSBBUyB0ZXh0KTo6dGV4dCBB UyBjMTAsCisgICAgWE1MQ0FTVChYTUxDQVNUKCdmb28gJiA8ImJhciI+DSc6OnRleHQgQVMg eG1sKTo6eG1sIEFTIHRleHQpOjp0ZXh0IEFTIGMxMSwKKyAgICBYTUxDQVNUKHRvX2RhdGUo JzI5LzA1LzIwMjQnOjp0ZXh0LCAnZGQvbW0veXl5eSc6OnRleHQpIEFTIHhtbCk6OnhtbCBB UyBjMTIsCisgICAgWE1MQ0FTVCgoJ1dlZCBNYXkgMjkgMDM6MDQ6MTAuNzAzNTg1IDIwMjQg UERUJzo6dGltZXN0YW1wIHdpdGggdGltZSB6b25lIEFUIFRJTUUgWk9ORSAnRXVyb3BlL0Jl cmxpbic6OnRleHQpIEFTIHhtbCk6OnhtbCBBUyBjMTMsCisgICAgWE1MQ0FTVCgnV2VkIE1h eSAyOSAxMjowNDoxMC43MDM1ODUgMjAyNCc6OnRpbWVzdGFtcCB3aXRob3V0IHRpbWUgem9u ZSBBUyB4bWwpOjp4bWwgQVMgYzE0LAorICAgIFhNTENBU1QoJ0AgMSB5ZWFyIDIgbW9ucyAz IGRheXMgNCBob3VycyA1IG1pbnMgNiBzZWNzJzo6aW50ZXJ2YWwgQVMgeG1sKTo6eG1sIEFT IGMxNSwKKyAgICBYTUxDQVNUKDQyNzM1MzU0Mjo6dGV4dCBBUyB4bWwpOjp4bWwgQVMgYzE2 LAorICAgIFhNTENBU1QoJzQyNzM1MzU0MjAxNjIwMjEnOjpiaWdpbnQ6OnRleHQgQVMgeG1s KTo6eG1sIEFTIGMxNywKKyAgICBYTUxDQVNUKDQyLjAwNzMxMjM0NTY3ODkxMDo6dGV4dCBB UyB4bWwpOjp4bWwgQVMgYzE4LAorICAgIFhNTENBU1QoNDIuMDA3MzEyMzQ1Njc4OTEwOjpk b3VibGUgcHJlY2lzaW9uOjp0ZXh0IEFTIHhtbCk6OnhtbCBBUyBjMTksCisgICAgWE1MQ0FT VCh0cnVlIEFTIHhtbCk6OnhtbCBBUyBjMjAsCisgICAgWE1MQ0FTVChmYWxzZSBBUyB4bWwp Ojp4bWwgQVMgYzIxLAorICAgIFhNTENBU1QoNDIgPSA3MyBBUyB4bWwpOjp4bWwgQVMgYzIy LAorICAgIFhNTENBU1QoNDIgPD4gNzMgQVMgeG1sKTo6eG1sIEFTIGMyMywKKyAgICBYTUxD QVNUKCcxMToxMToxMS41Jzo6dGltZSB3aXRob3V0IHRpbWUgem9uZTo6dGV4dCBBUyB4bWwp Ojp4bWwgQVMgYzI0LAorICAgIFhNTENBU1QoKCcxMToxMToxMS41LTA3Jzo6dGltZSB3aXRo IHRpbWUgem9uZSBBVCBUSU1FIFpPTkUgJ0V1cm9wZS9CZXJsaW4nOjp0ZXh0KTo6dGV4dCBB UyB4bWwpOjp4bWwgQVMgYzI1CitTRUxFQ1QgKiBGUk9NIHZpZXdfeG1sY2FzdF90b194bWw7 CisgYzEgfCBjMiAgfCBjMyB8IGM0IHwgYzUgfCBjNiB8ICAgICAgICAgICAgICAgIGM3ICAg ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgIGM4ICAgICAgICAgICAgICAgICB8ICAg ICAgICAgICAgICAgIGM5ICAgICAgICAgICAgICAgICB8ICAgICAgIGMxMCAgICAgICB8ICAg ICAgIGMxMSAgICAgICB8ICAgIGMxMiAgICAgfCAgICAgICAgICAgIGMxMyAgICAgICAgICAg ICB8ICAgICAgICAgICAgYzE0ICAgICAgICAgICAgIHwgICAgICBjMTUgICAgICAgfCAgICBj MTYgICAgfCAgICAgICBjMTcgICAgICAgIHwgICAgICAgIGMxOCAgICAgICAgIHwgICAgICAg IGMxOSAgICAgICAgfCBjMjAgIHwgIGMyMSAgfCAgYzIyICB8IGMyMyAgfCAgICBjMjQgICAg IHwgICAgICBjMjUgICAgICAKKy0tLS0rLS0tLS0rLS0tLSstLS0tKy0tLS0rLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSst LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorICAgIHwgZm9vIHwgICAgfCAg ICB8ICAgIHwgICAgfCBmb28gJmFtcDsgJmx0OyZxdW90O2JhciZxdW90OyZndDsgfCBmb28g JmFtcDsgJmx0OyZxdW90O2JhciZxdW90OyZndDsgfCBmb28gJmFtcDsgJmx0OyZxdW90O2Jh ciZxdW90OyZndDsgfCBmb28gJiA8ImJhciI+XHIgfCBmb28gJiA8ImJhciI+XHIgfCAyMDI0 LTA1LTI5IHwgMjAyNC0wNS0yOVQxMjowNDoxMC43MDM1ODUgfCAyMDI0LTA1LTI5VDEyOjA0 OjEwLjcwMzU4NSB8IFAxWTJNM0RUNEg1TTZTIHwgNDI3MzUzNTQyIHwgNDI3MzUzNTQyMDE2 MjAyMSB8IDQyLjAwNzMxMjM0NTY3ODkxMCB8IDQyLjAwNzMxMjM0NTY3ODkxIHwgdHJ1ZSB8 IGZhbHNlIHwgZmFsc2UgfCB0cnVlIHwgMTE6MTE6MTEuNSB8IDE5OjExOjExLjUrMDEKKygx IHJvdykKKworQ1JFQVRFIFZJRVcgdmlld194bWxjYXN0X2Zyb21feG1sIEFTCitTRUxFQ1QK KyAgeG1sY2FzdCgnUDFZMk0zRFQ0SDVNNlMnOjp4bWwgQVMgaW50ZXJ2YWwpIEFTIGMxLAor ICB4bWxjYXN0KCcxIHllYXIgMiBtb25zIDMgZGF5cyA0IGhvdXJzIDUgbWludXRlcyA2IHNl Y29uZHMnOjp4bWwgQVMgaW50ZXJ2YWwpIEFTIGMyLAorICB4bWxjYXN0KCcyMDAyLTA5LTI0 Jzo6eG1sIEFTIGRhdGUpIEFTIGMzLAorICB4bWxjYXN0KCcyMDAyLTA5LTI0KzA2OjAwJzo6 eG1sIEFTIGRhdGUpIEFTIGM0LAorICB4bWxjYXN0KCcwOTozMDoxMFonOjp4bWwgQVMgdGlt ZSB3aXRoIHRpbWUgem9uZSkgYXQgdGltZSB6b25lICdFdXJvcGUvQmVybGluJyBBUyBjNSwK KyAgeG1sY2FzdCgnMDk6MzA6MTAtMDY6MDAnOjp4bWwgQVMgdGltZSB3aXRoIHRpbWUgem9u ZSkgYXQgdGltZSB6b25lICdFdXJvcGUvQmVybGluJyBBUyBjNiwKKyAgeG1sY2FzdCgnMDk6 MzA6MTArMDY6MDAnOjp4bWwgQVMgdGltZSB3aXRoIHRpbWUgem9uZSkgYXQgdGltZSB6b25l ICdFdXJvcGUvQmVybGluJyBBUyBjNywKKyAgeG1sY2FzdCgnMjAwMi0wNS0zMFQwOTozMDox MFonOjp4bWwgQVMgdGltZXN0YW1wIHdpdGggdGltZSB6b25lKSBhdCB0aW1lIHpvbmUgJ0V1 cm9wZS9CZXJsaW4nIEFTIGM4LAorICB4bWxjYXN0KCcyMDAyLTA1LTMwVDA5OjMwOjEwLTA2 OjAwJzo6eG1sIEFTIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSkgYXQgdGltZSB6b25lICdF dXJvcGUvQmVybGluJyBBUyBjOSwKKyAgeG1sY2FzdCgnMjAwMi0wNS0zMFQwOTozMDoxMCsw NjowMCc6OnhtbCBBUyB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUpIGF0IHRpbWUgem9uZSAn RXVyb3BlL0JlcmxpbicgQVMgYzEwLAorICB4bWxjYXN0KCdmb28gYmFyJzo6eG1sIEFTIHRl eHQpIEFTIGMxMSwKKyAgeG1sY2FzdCgnICAgICAgIGZvbyBiYXIgICAgICc6OnhtbCBBUyB2 YXJjaGFyKSBBUyBjMTIsCisgIHhtbGNhc3QoJ2ZvbyAmYW1wOyAmbHQ7JnF1b3Q7YmFyJnF1 b3Q7Jmd0Oyc6OnhtbCBBUyB0ZXh0KSBBUyBjMTMsCisgIHhtbGNhc3QoJzQyLjczMTIzNDU2 Nzg5MTAnOjp4bWwgQVMgbnVtZXJpYykgQVMgYzE0LAorICB4bWxjYXN0KCcrNDIuNzMxMjM0 NTY3ODkxMCc6OnhtbCBBUyBudW1lcmljKSBBUyBjMTUsCisgIHhtbGNhc3QoJy00Mi43MzEy MzQ1Njc4OTEwJzo6eG1sIEFTIG51bWVyaWMpIEFTIGMxNiwKKyAgeG1sY2FzdCgnNDInOjp4 bWwgQVMgaW50ZWdlcikgQVMgYzE3LAorICB4bWxjYXN0KCcrNDInOjp4bWwgQVMgaW50ZWdl cikgQVMgYzE4LAorICB4bWxjYXN0KCctNDInOjp4bWwgQVMgaW50ZWdlcikgQVMgYzE5LAor ICB4bWxjYXN0KCc0MjczNTM1NDIwMTYyMDIxJzo6eG1sIEFTIGJpZ2ludCkgQVMgYzIwLAor ICB4bWxjYXN0KCcrNDI3MzUzNTQyMDE2MjAyMSc6OnhtbCBBUyBiaWdpbnQpIEFTIGMyMSwK KyAgeG1sY2FzdCgnLTQyNzM1MzU0MjAxNjIwMjEnOjp4bWwgQVMgYmlnaW50KSBBUyBjMjIs CisgIHhtbGNhc3QoJ3RydWUnOjp4bWwgQVMgYm9vbGVhbikgQVMgYzIzLAorICB4bWxjYXN0 KCdmYWxzZSc6OnhtbCBBUyBib29sZWFuKSBBUyBjMjQsCisgIHhtbGNhc3QoJyc6OnhtbCBB UyBjaGFyYWN0ZXIgdmFyeWluZykgQVMgYzI1LAorICB4bWxjYXN0KE5VTEw6OnhtbCBBUyBj aGFyYWN0ZXIgdmFyeWluZykgQVMgYzI2OworXHN2IHZpZXdfeG1sY2FzdF9mcm9tX3htbAor Q1JFQVRFIE9SIFJFUExBQ0UgVklFVyBwdWJsaWMudmlld194bWxjYXN0X2Zyb21feG1sIEFT CisgU0VMRUNUIFhNTENBU1QoJ1AxWTJNM0RUNEg1TTZTJzo6eG1sIEFTIGludGVydmFsKTo6 aW50ZXJ2YWwgQVMgYzEsCisgICAgWE1MQ0FTVCgnMSB5ZWFyIDIgbW9ucyAzIGRheXMgNCBo b3VycyA1IG1pbnV0ZXMgNiBzZWNvbmRzJzo6eG1sIEFTIGludGVydmFsKTo6aW50ZXJ2YWwg QVMgYzIsCisgICAgWE1MQ0FTVCgnMjAwMi0wOS0yNCc6OnhtbCBBUyBkYXRlKTo6ZGF0ZSBB UyBjMywKKyAgICBYTUxDQVNUKCcyMDAyLTA5LTI0KzA2OjAwJzo6eG1sIEFTIGRhdGUpOjpk YXRlIEFTIGM0LAorICAgIChYTUxDQVNUKCcwOTozMDoxMFonOjp4bWwgQVMgdGltZSB3aXRo IHRpbWUgem9uZSk6OnRpbWUgd2l0aCB0aW1lIHpvbmUgQVQgVElNRSBaT05FICdFdXJvcGUv QmVybGluJzo6dGV4dCkgQVMgYzUsCisgICAgKFhNTENBU1QoJzA5OjMwOjEwLTA2OjAwJzo6 eG1sIEFTIHRpbWUgd2l0aCB0aW1lIHpvbmUpOjp0aW1lIHdpdGggdGltZSB6b25lIEFUIFRJ TUUgWk9ORSAnRXVyb3BlL0Jlcmxpbic6OnRleHQpIEFTIGM2LAorICAgIChYTUxDQVNUKCcw OTozMDoxMCswNjowMCc6OnhtbCBBUyB0aW1lIHdpdGggdGltZSB6b25lKTo6dGltZSB3aXRo IHRpbWUgem9uZSBBVCBUSU1FIFpPTkUgJ0V1cm9wZS9CZXJsaW4nOjp0ZXh0KSBBUyBjNywK KyAgICAoWE1MQ0FTVCgnMjAwMi0wNS0zMFQwOTozMDoxMFonOjp4bWwgQVMgdGltZXN0YW1w IHdpdGggdGltZSB6b25lKTo6dGltZXN0YW1wIHdpdGggdGltZSB6b25lIEFUIFRJTUUgWk9O RSAnRXVyb3BlL0Jlcmxpbic6OnRleHQpIEFTIGM4LAorICAgIChYTUxDQVNUKCcyMDAyLTA1 LTMwVDA5OjMwOjEwLTA2OjAwJzo6eG1sIEFTIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSk6 OnRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBBVCBUSU1FIFpPTkUgJ0V1cm9wZS9CZXJsaW4n Ojp0ZXh0KSBBUyBjOSwKKyAgICAoWE1MQ0FTVCgnMjAwMi0wNS0zMFQwOTozMDoxMCswNjow MCc6OnhtbCBBUyB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUpOjp0aW1lc3RhbXAgd2l0aCB0 aW1lIHpvbmUgQVQgVElNRSBaT05FICdFdXJvcGUvQmVybGluJzo6dGV4dCkgQVMgYzEwLAor ICAgIFhNTENBU1QoJ2ZvbyBiYXInOjp4bWwgQVMgdGV4dCk6OnRleHQgQVMgYzExLAorICAg IFhNTENBU1QoJyAgICAgICBmb28gYmFyICAgICAnOjp4bWwgQVMgY2hhcmFjdGVyIHZhcnlp bmcpOjpjaGFyYWN0ZXIgdmFyeWluZyBBUyBjMTIsCisgICAgWE1MQ0FTVCgnZm9vICZhbXA7 ICZsdDsmcXVvdDtiYXImcXVvdDsmZ3Q7Jzo6eG1sIEFTIHRleHQpOjp0ZXh0IEFTIGMxMywK KyAgICBYTUxDQVNUKCc0Mi43MzEyMzQ1Njc4OTEwJzo6eG1sIEFTIG51bWVyaWMpOjpudW1l cmljIEFTIGMxNCwKKyAgICBYTUxDQVNUKCcrNDIuNzMxMjM0NTY3ODkxMCc6OnhtbCBBUyBu dW1lcmljKTo6bnVtZXJpYyBBUyBjMTUsCisgICAgWE1MQ0FTVCgnLTQyLjczMTIzNDU2Nzg5 MTAnOjp4bWwgQVMgbnVtZXJpYyk6Om51bWVyaWMgQVMgYzE2LAorICAgIFhNTENBU1QoJzQy Jzo6eG1sIEFTIGludGVnZXIpOjppbnRlZ2VyIEFTIGMxNywKKyAgICBYTUxDQVNUKCcrNDIn Ojp4bWwgQVMgaW50ZWdlcik6OmludGVnZXIgQVMgYzE4LAorICAgIFhNTENBU1QoJy00Mic6 OnhtbCBBUyBpbnRlZ2VyKTo6aW50ZWdlciBBUyBjMTksCisgICAgWE1MQ0FTVCgnNDI3MzUz NTQyMDE2MjAyMSc6OnhtbCBBUyBiaWdpbnQpOjpiaWdpbnQgQVMgYzIwLAorICAgIFhNTENB U1QoJys0MjczNTM1NDIwMTYyMDIxJzo6eG1sIEFTIGJpZ2ludCk6OmJpZ2ludCBBUyBjMjEs CisgICAgWE1MQ0FTVCgnLTQyNzM1MzU0MjAxNjIwMjEnOjp4bWwgQVMgYmlnaW50KTo6Ymln aW50IEFTIGMyMiwKKyAgICBYTUxDQVNUKCd0cnVlJzo6eG1sIEFTIGJvb2xlYW4pOjpib29s ZWFuIEFTIGMyMywKKyAgICBYTUxDQVNUKCdmYWxzZSc6OnhtbCBBUyBib29sZWFuKTo6Ym9v bGVhbiBBUyBjMjQsCisgICAgWE1MQ0FTVCgnJzo6eG1sIEFTIGNoYXJhY3RlciB2YXJ5aW5n KTo6Y2hhcmFjdGVyIHZhcnlpbmcgQVMgYzI1LAorICAgIFhNTENBU1QoTlVMTDo6eG1sIEFT IGNoYXJhY3RlciB2YXJ5aW5nKTo6Y2hhcmFjdGVyIHZhcnlpbmcgQVMgYzI2CitTRUxFQ1Qg KiBGUk9NIHZpZXdfeG1sY2FzdF9mcm9tX3htbDsKKyAgICAgICAgICAgICAgICAgICAgICBj MSAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIGMyICAgICAg ICAgICAgICAgICAgICAgIHwgICAgIGMzICAgICB8ICAgICBjNCAgICAgfCAgICAgYzUgICAg ICB8ICAgICBjNiAgICAgIHwgICAgIGM3ICAgICAgfCAgICAgICAgICAgIGM4ICAgICAgICAg ICAgfCAgICAgICAgICAgIGM5ICAgICAgICAgICAgfCAgICAgICAgICAgYzEwICAgICAgICAg ICAgfCAgIGMxMSAgIHwgICAgICAgICBjMTIgICAgICAgICB8ICAgICAgYzEzICAgICAgfCAg ICAgICBjMTQgICAgICAgIHwgICAgICAgYzE1ICAgICAgICB8ICAgICAgICBjMTYgICAgICAg IHwgYzE3IHwgYzE4IHwgYzE5IHwgICAgICAgYzIwICAgICAgICB8ICAgICAgIGMyMSAgICAg ICAgfCAgICAgICAgYzIyICAgICAgICB8IGMyMyB8IGMyNCB8IGMyNSB8IGMyNiAKKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLSstLS0tLSstLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0rLS0tLS0r LS0tLS0rLS0tLS0KKyBAIDEgeWVhciAyIG1vbnMgMyBkYXlzIDQgaG91cnMgNSBtaW5zIDYg c2VjcyB8IEAgMSB5ZWFyIDIgbW9ucyAzIGRheXMgNCBob3VycyA1IG1pbnMgNiBzZWNzIHwg MDktMjQtMjAwMiB8IDA5LTI0LTIwMDIgfCAxMDozMDoxMCswMSB8IDE2OjMwOjEwKzAxIHwg MDQ6MzA6MTArMDEgfCBUaHUgTWF5IDMwIDExOjMwOjEwIDIwMDIgfCBUaHUgTWF5IDMwIDE3 OjMwOjEwIDIwMDIgfCBUaHUgTWF5IDMwIDA1OjMwOjEwIDIwMDIgfCBmb28gYmFyIHwgICAg ICAgIGZvbyBiYXIgICAgICB8IGZvbyAmIDwiYmFyIj4gfCA0Mi43MzEyMzQ1Njc4OTEwIHwg NDIuNzMxMjM0NTY3ODkxMCB8IC00Mi43MzEyMzQ1Njc4OTEwIHwgIDQyIHwgIDQyIHwgLTQy IHwgNDI3MzUzNTQyMDE2MjAyMSB8IDQyNzM1MzU0MjAxNjIwMjEgfCAtNDI3MzUzNTQyMDE2 MjAyMSB8IHQgICB8IGYgICB8ICAgICB8IAorKDEgcm93KQorCmRpZmYgLS1naXQgYS9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3htbF8xLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQveG1sXzEub3V0CmluZGV4IDczYzQxMTExOGEuLjQwZDY0MmQ1OWQgMTAwNjQ0Ci0t LSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQveG1sXzEub3V0CisrKyBiL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQveG1sXzEub3V0CkBAIC0xNDk2LDMgKzE0OTYsNDMyIEBAIEVS Uk9SOiAgdW5zdXBwb3J0ZWQgWE1MIGZlYXR1cmUKIExJTkUgMTogU0VMRUNUIHhtbHRleHQo J3gnfHwgJzxQPjczPC9QPic6OnhtbCB8fCAuNDIgfHwgdHJ1ZSB8fCAnaic6Li4uCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KIERFVEFJTDogIFRoaXMgZnVuY3Rpb25hbGl0 eSByZXF1aXJlcyB0aGUgc2VydmVyIHRvIGJlIGJ1aWx0IHdpdGggbGlieG1sIHN1cHBvcnQu CistLSBmb3IgeG1sY2FzdCgpIHRlc3RzCitJTlNFUlQgSU5UTyB4bWx0ZXN0CisgVkFMVUVT ICg0MiwKKyc8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorIDx4bWxj YXN0PgorICA8cGVyaW9kMT5QMVkyTTNEVDRINU02UzwvcGVyaW9kMT4KKyAgPHBlcmlvZDI+ MSB5ZWFyIDIgbW9ucyAzIGRheXMgNCBob3VycyA1IG1pbnV0ZXMgNiBzZWNvbmRzPC9wZXJp b2QyPgorICA8ZGF0ZTE+MjAwMi0wOS0yNDwvZGF0ZTE+CisgIDxkYXRlMj4yMDAyLTA5LTI0 KzA2OjAwPC9kYXRlMj4KKyAgPHRpbWU+MDk6MzA6MTAuNTwvdGltZT4KKyAgPHRpbWVfdHox PjA5OjMwOjEwWjwvdGltZV90ejE+CisgIDx0aW1lX3R6Mj4wOTozMDoxMC0wNjowMDwvdGlt ZV90ejI+CisgIDx0aW1lX3R6Mz4wOTozMDoxMCswNjowMDwvdGltZV90ejM+CisgIDx0aW1l c3RhbXAxPjIwMDItMDUtMzBUMDk6MDA6MDA8L3RpbWVzdGFtcDE+CisgIDx0aW1lc3RhbXAy PjIwMDItMDUtMzBUMDk6MzA6MTAuNTwvdGltZXN0YW1wMj4KKyAgPHRpbWVzdGFtcF90ejE+ MjAwMi0wNS0zMFQwOTozMDoxMFo8L3RpbWVzdGFtcF90ejE+CisgIDx0aW1lc3RhbXBfdHoy PjIwMDItMDUtMzBUMDk6MzA6MTAtMDY6MDA8L3RpbWVzdGFtcF90ejI+CisgIDx0aW1lc3Rh bXBfdHozPjIwMDItMDUtMzBUMDk6MzA6MTArMDY6MDA8L3RpbWVzdGFtcF90ejM+CisgIDx0 ZXh0MT5mb28gYmFyPC90ZXh0MT4KKyAgPHRleHQyPiAgICAgICBmb28gYmFyICAgICA8L3Rl eHQyPgorICA8dGV4dDM+Zm9vICZhbXA7ICZsdDsmcXVvdDtiYXImcXVvdDsmZ3Q7PC90ZXh0 Mz4KKyAgPGRlY2ltYWwxPjQyLjczMTIzNDU2Nzg5MTA8L2RlY2ltYWwxPgorICA8ZGVjaW1h bDI+KzQyLjczMTIzNDU2Nzg5MTA8L2RlY2ltYWwyPgorICA8ZGVjaW1hbDM+LTQyLjczMTIz NDU2Nzg5MTA8L2RlY2ltYWwzPgorICA8aW50ZWdlcjE+NDI8L2ludGVnZXIxPgorICA8aW50 ZWdlcjI+KzQyPC9pbnRlZ2VyMj4KKyAgPGludGVnZXIzPi00MjwvaW50ZWdlcjM+CisgIDxs b25nMT40MjczNTM1NDIwMTYyMDIxPC9sb25nMT4KKyAgPGxvbmcyPis0MjczNTM1NDIwMTYy MDIxPC9sb25nMj4KKyAgPGxvbmczPi00MjczNTM1NDIwMTYyMDIxPC9sb25nMz4KKyAgPGJv b2wxIGF0dD0idHJ1ZSI+NDI8L2Jvb2wxPgorICA8Ym9vbDIgYXR0PSJmYWxzZSI+NzM8L2Jv b2wyPgorICA8ZW1wdHk+PC9lbXB0eT4KKyA8L3htbGNhc3Q+Jzo6eG1sCispOworRVJST1I6 ICB1bnN1cHBvcnRlZCBYTUwgZmVhdHVyZQorTElORSAzOiAnPD94bWwgdmVyc2lvbj0iMS4w IiBlbmNvZGluZz0idXRmLTgiPz4KKyAgICAgICAgXgorREVUQUlMOiAgVGhpcyBmdW5jdGlv bmFsaXR5IHJlcXVpcmVzIHRoZSBzZXJ2ZXIgdG8gYmUgYnVpbHQgd2l0aCBsaWJ4bWwgc3Vw cG9ydC4KKy0tIFRoaXMgcHJldmVudHMgdGhlIHhtbGNhc3QgcmVncmVzc2lvbiB0ZXN0cyBm cm9tIGZhaWxpbmcgaWYgdGhlIHN5c3RlbSdzIHRpbWV6b25lIGhhcyBiZWVuIGNoYW5nZWQu CitTRVQgdGltZXpvbmUgVE8gJ0FtZXJpY2EvTG9zX0FuZ2VsZXMnOworLS0geG1sY2FzdCBl eGNlcHRpb25zCitcc2V0IFZFUkJPU0lUWSB0ZXJzZQorU0VMRUNUIHhtbGNhc3QoKHhwYXRo KCcvL3RleHQxL3RleHQoKScsIGRhdGEpKVsxXSBBUyB0ZXh0W10pIEZST00geG1sdGVzdCBX SEVSRSBpZCA9IDQyOworRVJST1I6ICBjYW5ub3QgY2FzdCBmcm9tICd4bWwnIHRvICd0ZXh0 W10nIGF0IGNoYXJhY3RlciA4CitTRUxFQ1QgeG1sY2FzdCgoeHBhdGgoJy8vdGV4dDEvaW50 ZWdlcjEoKScsIGRhdGEpKVsxXSBBUyBpbnRbXSkgRlJPTSB4bWx0ZXN0IFdIRVJFIGlkID0g NDI7CitFUlJPUjogIGNhbm5vdCBjYXN0IGZyb20gJ3htbCcgdG8gJ2ludGVnZXJbXScgYXQg Y2hhcmFjdGVyIDgKK1NFTEVDVCB4bWxjYXN0KE5VTEwgQVMgdGV4dCk7CitFUlJPUjogIGNh bm5vdCBjYXN0IGZyb20gJ3Vua25vd24nIHRvICd0ZXh0JyBhdCBjaGFyYWN0ZXIgOAorU0VM RUNUIHhtbGNhc3QoJ2Zvbyc6OnRleHQgQVMgdmFyY2hhcik7CitFUlJPUjogIGNhbm5vdCBj YXN0IGZyb20gJ3RleHQnIHRvICdjaGFyYWN0ZXIgdmFyeWluZycgYXQgY2hhcmFjdGVyIDgK K1NFTEVDVCB4bWxjYXN0KDQyIEFTIHRleHQpOworRVJST1I6ICBjYW5ub3QgY2FzdCBmcm9t ICdpbnRlZ2VyJyB0byAndGV4dCcgYXQgY2hhcmFjdGVyIDgKK1NFTEVDVCB4bWxjYXN0KGFy cmF5Wydmb28nLCdiYXInXSBBUyB4bWwpOworRVJST1I6ICBjYW5ub3QgY2FzdCBmcm9tICd0 ZXh0W10nIHRvICd4bWwnIGF0IGNoYXJhY3RlciA4Citcc2V0IFZFUkJPU0lUWSBkZWZhdWx0 CistLSB4bWxjYXN0IHRlc3RzIGZvciAiWE1MIHRvIG5vbi1YTUwiIGV4cHJlc3Npb25zCitT RUxFQ1QKKyAgeG1sY2FzdCgoeHBhdGgoJy8vZGF0ZTEvdGV4dCgpJywgZGF0YSkpWzFdIEFT IGRhdGUpLCBwZ190eXBlb2YoeG1sY2FzdCgoeHBhdGgoJy8vZGF0ZTEvdGV4dCgpJywgZGF0 YSkpWzFdIEFTIGRhdGUpKSwKKyAgeG1sY2FzdCgoeHBhdGgoJy8vZGF0ZTIvdGV4dCgpJywg ZGF0YSkpWzFdIEFTIGRhdGUpLCBwZ190eXBlb2YoeG1sY2FzdCgoeHBhdGgoJy8vZGF0ZTIv dGV4dCgpJywgZGF0YSkpWzFdIEFTIGRhdGUpKQorRlJPTSB4bWx0ZXN0IFdIRVJFIGlkID0g NDI7CisgeG1sY2FzdCB8IHBnX3R5cGVvZiB8IHhtbGNhc3QgfCBwZ190eXBlb2YgCistLS0t LS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisoMCByb3dzKQorCitT RUxFQ1QKKyAgeG1sY2FzdCgoeHBhdGgoJy8vcGVyaW9kMS90ZXh0KCknLCBkYXRhKSlbMV0g QVMgaW50ZXJ2YWwpLCBwZ190eXBlb2YoeG1sY2FzdCgoeHBhdGgoJy8vcGVyaW9kMS90ZXh0 KCknLCBkYXRhKSlbMV0gQVMgaW50ZXJ2YWwpKSwKKyAgeG1sY2FzdCgoeHBhdGgoJy8vcGVy aW9kMi90ZXh0KCknLCBkYXRhKSlbMV0gQVMgaW50ZXJ2YWwpLCBwZ190eXBlb2YoeG1sY2Fz dCgoeHBhdGgoJy8vcGVyaW9kMi90ZXh0KCknLCBkYXRhKSlbMV0gQVMgaW50ZXJ2YWwpKQor RlJPTSB4bWx0ZXN0IFdIRVJFIGlkID0gNDI7CisgeG1sY2FzdCB8IHBnX3R5cGVvZiB8IHht bGNhc3QgfCBwZ190eXBlb2YgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0t LS0tLS0tLS0tCisoMCByb3dzKQorCitTRUxFQ1QKKyAgeG1sY2FzdCgoeHBhdGgoJy8vdGlt ZS90ZXh0KCknLCBkYXRhKSlbMV0gQVMgdGltZSksIHBnX3R5cGVvZih4bWxjYXN0KCh4cGF0 aCgnLy90aW1lL3RleHQoKScsIGRhdGEpKVsxXSBBUyB0aW1lKSksCisgIHhtbGNhc3QoKHhw YXRoKCcvL3RpbWVfdHoxL3RleHQoKScsIGRhdGEpKVsxXSBBUyB0aW1lIHdpdGggdGltZSB6 b25lKSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL3RpbWVfdHoxL3RleHQoKScsIGRh dGEpKVsxXSBBUyB0aW1lIHdpdGggdGltZSB6b25lKSksCisgIHhtbGNhc3QoKHhwYXRoKCcv L3RpbWVfdHoyL3RleHQoKScsIGRhdGEpKVsxXSBBUyB0aW1lIHdpdGggdGltZSB6b25lKSwg cGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL3RpbWVfdHoyL3RleHQoKScsIGRhdGEpKVsx XSBBUyB0aW1lIHdpdGggdGltZSB6b25lKSksCisgIHhtbGNhc3QoKHhwYXRoKCcvL3RpbWVf dHozL3RleHQoKScsIGRhdGEpKVsxXSBBUyB0aW1lIHdpdGggdGltZSB6b25lKSwgcGdfdHlw ZW9mKHhtbGNhc3QoKHhwYXRoKCcvL3RpbWVfdHozL3RleHQoKScsIGRhdGEpKVsxXSBBUyB0 aW1lIHdpdGggdGltZSB6b25lKSkKK0ZST00geG1sdGVzdCBXSEVSRSBpZCA9IDQyOworIHht bGNhc3QgfCBwZ190eXBlb2YgfCB4bWxjYXN0IHwgcGdfdHlwZW9mIHwgeG1sY2FzdCB8IHBn X3R5cGVvZiB8IHhtbGNhc3QgfCBwZ190eXBlb2YgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tLS0KKygwIHJvd3MpCisKK1NFTEVDVAorICB4bWxjYXN0KCh4cGF0aCgnLy90 ZXh0MS90ZXh0KCknLCBkYXRhKSlbMV0gQVMgdGV4dCksIHBnX3R5cGVvZih4bWxjYXN0KCh4 cGF0aCgnLy90ZXh0MS90ZXh0KCknLCBkYXRhKSlbMV0gQVMgdGV4dCkpLAorICB4bWxjYXN0 KCh4cGF0aCgnLy90ZXh0Mi90ZXh0KCknLCBkYXRhKSlbMV0gQVMgdGV4dCksIHBnX3R5cGVv Zih4bWxjYXN0KCh4cGF0aCgnLy90ZXh0Mi90ZXh0KCknLCBkYXRhKSlbMV0gQVMgdGV4dCkp LAorICB4bWxjYXN0KCh4cGF0aCgnLy90ZXh0My90ZXh0KCknLCBkYXRhKSlbMV0gQVMgdGV4 dCksIHBnX3R5cGVvZih4bWxjYXN0KCh4cGF0aCgnLy90ZXh0My90ZXh0KCknLCBkYXRhKSlb MV0gQVMgdGV4dCkpCitGUk9NIHhtbHRlc3QgV0hFUkUgaWQgPSA0MjsKKyB4bWxjYXN0IHwg cGdfdHlwZW9mIHwgeG1sY2FzdCB8IHBnX3R5cGVvZiB8IHhtbGNhc3QgfCBwZ190eXBlb2Yg CistLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0t LSstLS0tLS0tLS0tLQorKDAgcm93cykKKworU0VMRUNUCisgIHhtbGNhc3QoKHhwYXRoKCcv L3RleHQxL3RleHQoKScsIGRhdGEpKVsxXSBBUyB2YXJjaGFyKSwgcGdfdHlwZW9mKHhtbGNh c3QoKHhwYXRoKCcvL3RleHQxL3RleHQoKScsIGRhdGEpKVsxXSBBUyB2YXJjaGFyKSksCisg IHhtbGNhc3QoKHhwYXRoKCcvL3RleHQyL3RleHQoKScsIGRhdGEpKVsxXSBBUyB2YXJjaGFy KSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL3RleHQyL3RleHQoKScsIGRhdGEpKVsx XSBBUyB2YXJjaGFyKSksCisgIHhtbGNhc3QoKHhwYXRoKCcvL3RleHQzL3RleHQoKScsIGRh dGEpKVsxXSBBUyB2YXJjaGFyKSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL3RleHQz L3RleHQoKScsIGRhdGEpKVsxXSBBUyB2YXJjaGFyKSkKK0ZST00geG1sdGVzdCBXSEVSRSBp ZCA9IDQyOworIHhtbGNhc3QgfCBwZ190eXBlb2YgfCB4bWxjYXN0IHwgcGdfdHlwZW9mIHwg eG1sY2FzdCB8IHBnX3R5cGVvZiAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisoMCByb3dzKQorCitTRUxFQ1QK KyAgeG1sY2FzdCgoeHBhdGgoJy8vdGV4dDEvdGV4dCgpJywgZGF0YSkpWzFdIEFTIG5hbWUp LCBwZ190eXBlb2YoeG1sY2FzdCgoeHBhdGgoJy8vdGV4dDEvdGV4dCgpJywgZGF0YSkpWzFd IEFTIG5hbWUpKSwKKyAgeG1sY2FzdCgoeHBhdGgoJy8vdGV4dDIvdGV4dCgpJywgZGF0YSkp WzFdIEFTIG5hbWUpLCBwZ190eXBlb2YoeG1sY2FzdCgoeHBhdGgoJy8vdGV4dDIvdGV4dCgp JywgZGF0YSkpWzFdIEFTIG5hbWUpKSwKKyAgeG1sY2FzdCgoeHBhdGgoJy8vdGV4dDMvdGV4 dCgpJywgZGF0YSkpWzFdIEFTIG5hbWUpLCBwZ190eXBlb2YoeG1sY2FzdCgoeHBhdGgoJy8v dGV4dDMvdGV4dCgpJywgZGF0YSkpWzFdIEFTIG5hbWUpKQorRlJPTSB4bWx0ZXN0IFdIRVJF IGlkID0gNDI7CisgeG1sY2FzdCB8IHBnX3R5cGVvZiB8IHhtbGNhc3QgfCBwZ190eXBlb2Yg fCB4bWxjYXN0IHwgcGdfdHlwZW9mIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0t LSstLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0KKygwIHJvd3MpCisKK1NFTEVD VAorICB4bWxjYXN0KCh4cGF0aCgnLy90ZXh0MS90ZXh0KCknLCBkYXRhKSlbMV0gQVMgYnBj aGFyKSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL3RleHQxL3RleHQoKScsIGRhdGEp KVsxXSBBUyBicGNoYXIpKSwKKyAgeG1sY2FzdCgoeHBhdGgoJy8vdGV4dDIvdGV4dCgpJywg ZGF0YSkpWzFdIEFTIGJwY2hhciksIHBnX3R5cGVvZih4bWxjYXN0KCh4cGF0aCgnLy90ZXh0 Mi90ZXh0KCknLCBkYXRhKSlbMV0gQVMgYnBjaGFyKSksCisgIHhtbGNhc3QoKHhwYXRoKCcv L3RleHQzL3RleHQoKScsIGRhdGEpKVsxXSBBUyBicGNoYXIpLCBwZ190eXBlb2YoeG1sY2Fz dCgoeHBhdGgoJy8vdGV4dDMvdGV4dCgpJywgZGF0YSkpWzFdIEFTIGJwY2hhcikpCitGUk9N IHhtbHRlc3QgV0hFUkUgaWQgPSA0MjsKKyB4bWxjYXN0IHwgcGdfdHlwZW9mIHwgeG1sY2Fz dCB8IHBnX3R5cGVvZiB8IHhtbGNhc3QgfCBwZ190eXBlb2YgCistLS0tLS0tLS0rLS0tLS0t LS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLQorKDAg cm93cykKKworU0VMRUNUCisgIHhtbGNhc3QoKHhwYXRoKCcvL2RlY2ltYWwxL3RleHQoKScs IGRhdGEpKVsxXSBBUyBudW1lcmljKSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL2Rl Y2ltYWwxL3RleHQoKScsIGRhdGEpKVsxXSBBUyBudW1lcmljKSksCisgIHhtbGNhc3QoKHhw YXRoKCcvL2RlY2ltYWwyL3RleHQoKScsIGRhdGEpKVsxXSBBUyBudW1lcmljKSwgcGdfdHlw ZW9mKHhtbGNhc3QoKHhwYXRoKCcvL2RlY2ltYWwyL3RleHQoKScsIGRhdGEpKVsxXSBBUyBu dW1lcmljKSksCisgIHhtbGNhc3QoKHhwYXRoKCcvL2RlY2ltYWwzL3RleHQoKScsIGRhdGEp KVsxXSBBUyBudW1lcmljKSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL2RlY2ltYWwz L3RleHQoKScsIGRhdGEpKVsxXSBBUyBudW1lcmljKSkKK0ZST00geG1sdGVzdCBXSEVSRSBp ZCA9IDQyOworIHhtbGNhc3QgfCBwZ190eXBlb2YgfCB4bWxjYXN0IHwgcGdfdHlwZW9mIHwg eG1sY2FzdCB8IHBnX3R5cGVvZiAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisoMCByb3dzKQorCitTRUxFQ1QK KyAgeG1sY2FzdCgoeHBhdGgoJy8vZGVjaW1hbDEvdGV4dCgpJywgZGF0YSkpWzFdIEFTIGRv dWJsZSBwcmVjaXNpb24pLCBwZ190eXBlb2YoeG1sY2FzdCgoeHBhdGgoJy8vZGVjaW1hbDEv dGV4dCgpJywgZGF0YSkpWzFdIEFTIGRvdWJsZSBwcmVjaXNpb24pKSwKKyAgeG1sY2FzdCgo eHBhdGgoJy8vZGVjaW1hbDIvdGV4dCgpJywgZGF0YSkpWzFdIEFTIGRvdWJsZSBwcmVjaXNp b24pLCBwZ190eXBlb2YoeG1sY2FzdCgoeHBhdGgoJy8vZGVjaW1hbDIvdGV4dCgpJywgZGF0 YSkpWzFdIEFTIGRvdWJsZSBwcmVjaXNpb24pKSwKKyAgeG1sY2FzdCgoeHBhdGgoJy8vZGVj aW1hbDMvdGV4dCgpJywgZGF0YSkpWzFdIEFTIGRvdWJsZSBwcmVjaXNpb24pLCBwZ190eXBl b2YoeG1sY2FzdCgoeHBhdGgoJy8vZGVjaW1hbDMvdGV4dCgpJywgZGF0YSkpWzFdIEFTIGRv dWJsZSBwcmVjaXNpb24pKQorRlJPTSB4bWx0ZXN0IFdIRVJFIGlkID0gNDI7CisgeG1sY2Fz dCB8IHBnX3R5cGVvZiB8IHhtbGNhc3QgfCBwZ190eXBlb2YgfCB4bWxjYXN0IHwgcGdfdHlw ZW9mIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tLS0KKygwIHJvd3MpCisKK1NFTEVDVAorICB4bWxjYXN0KCh4cGF0 aCgnLy9pbnRlZ2VyMS90ZXh0KCknLCBkYXRhKSlbMV0gQVMgaW50KSwgcGdfdHlwZW9mKHht bGNhc3QoKHhwYXRoKCcvL2ludGVnZXIxL3RleHQoKScsIGRhdGEpKVsxXSBBUyBpbnQpKSwK KyAgeG1sY2FzdCgoeHBhdGgoJy8vaW50ZWdlcjIvdGV4dCgpJywgZGF0YSkpWzFdIEFTIGlu dCksIHBnX3R5cGVvZih4bWxjYXN0KCh4cGF0aCgnLy9pbnRlZ2VyMi90ZXh0KCknLCBkYXRh KSlbMV0gQVMgaW50KSksCisgIHhtbGNhc3QoKHhwYXRoKCcvL2ludGVnZXIzL3RleHQoKScs IGRhdGEpKVsxXSBBUyBpbnQpLCBwZ190eXBlb2YoeG1sY2FzdCgoeHBhdGgoJy8vaW50ZWdl cjMvdGV4dCgpJywgZGF0YSkpWzFdIEFTIGludCkpCitGUk9NIHhtbHRlc3QgV0hFUkUgaWQg PSA0MjsKKyB4bWxjYXN0IHwgcGdfdHlwZW9mIHwgeG1sY2FzdCB8IHBnX3R5cGVvZiB8IHht bGNhc3QgfCBwZ190eXBlb2YgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0t LS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLQorKDAgcm93cykKKworU0VMRUNUCisg IHhtbGNhc3QoKHhwYXRoKCcvL2xvbmcxL3RleHQoKScsIGRhdGEpKVsxXSBBUyBiaWdpbnQp LCBwZ190eXBlb2YoeG1sY2FzdCgoeHBhdGgoJy8vbG9uZzEvdGV4dCgpJywgZGF0YSkpWzFd IEFTIGJpZ2ludCkpLAorICB4bWxjYXN0KCh4cGF0aCgnLy9sb25nMi90ZXh0KCknLCBkYXRh KSlbMV0gQVMgYmlnaW50KSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL2xvbmcyL3Rl eHQoKScsIGRhdGEpKVsxXSBBUyBiaWdpbnQpKSwKKyAgeG1sY2FzdCgoeHBhdGgoJy8vbG9u ZzMvdGV4dCgpJywgZGF0YSkpWzFdIEFTIGJpZ2ludCksIHBnX3R5cGVvZih4bWxjYXN0KCh4 cGF0aCgnLy9sb25nMy90ZXh0KCknLCBkYXRhKSlbMV0gQVMgYmlnaW50KSkKK0ZST00geG1s dGVzdCBXSEVSRSBpZCA9IDQyOworIHhtbGNhc3QgfCBwZ190eXBlb2YgfCB4bWxjYXN0IHwg cGdfdHlwZW9mIHwgeG1sY2FzdCB8IHBnX3R5cGVvZiAKKy0tLS0tLS0tLSstLS0tLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisoMCByb3dz KQorCitTRUxFQ1QKKyAgeG1sY2FzdCgoeHBhdGgoJy8vYm9vbDEvQGF0dCcsIGRhdGEpKVsx XSBBUyBib29sZWFuKSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL2Jvb2wxL0BhdHQn LCBkYXRhKSlbMV0gQVMgYm9vbGVhbikpLAorICB4bWxjYXN0KCh4cGF0aCgnLy9ib29sMi9A YXR0JywgZGF0YSkpWzFdIEFTIGJvb2xlYW4pLCBwZ190eXBlb2YoeG1sY2FzdCgoeHBhdGgo Jy8vYm9vbDEvQGF0dCcsIGRhdGEpKVsxXSBBUyBib29sZWFuKSkKK0ZST00geG1sdGVzdCBX SEVSRSBpZCA9IDQyOworIHhtbGNhc3QgfCBwZ190eXBlb2YgfCB4bWxjYXN0IHwgcGdfdHlw ZW9mIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLQorKDAg cm93cykKKworU0VMRUNUIHhtbGNhc3QoKHhwYXRoKCcvL2VtcHR5L3RleHQoKScsIGRhdGEp KVsxXSBBUyB0ZXh0KSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL2VtcHR5L3RleHQo KScsIGRhdGEpKVsxXSBBUyB0ZXh0KSkKK0ZST00geG1sdGVzdCBXSEVSRSBpZCA9IDQyOwor IHhtbGNhc3QgfCBwZ190eXBlb2YgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0KKygwIHJvd3Mp CisKKy0tIHhtbGNhc3QgdGVzdHMgZm9yICJYTUwgdG8gWE1MIiBleHByZXNzaW9ucworU0VM RUNUCisgIHhtbGNhc3QoKHhwYXRoKCcvL3RleHQxL3RleHQoKScsIGRhdGEpKVsxXSBBUyB4 bWwpLCBwZ190eXBlb2YoeG1sY2FzdCgoeHBhdGgoJy8vdGV4dDEvdGV4dCgpJywgZGF0YSkp WzFdIEFTIHhtbCkpLAorICB4bWxjYXN0KCh4cGF0aCgnLy90ZXh0Mi90ZXh0KCknLCBkYXRh KSlbMV0gQVMgeG1sKSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL3RleHQyL3RleHQo KScsIGRhdGEpKVsxXSBBUyB4bWwpKSwKKyAgeG1sY2FzdCgoeHBhdGgoJy8vdGV4dDMvdGV4 dCgpJywgZGF0YSkpWzFdIEFTIHhtbCksIHBnX3R5cGVvZih4bWxjYXN0KCh4cGF0aCgnLy90 ZXh0My90ZXh0KCknLCBkYXRhKSlbMV0gQVMgeG1sKSkKK0ZST00geG1sdGVzdCBXSEVSRSBp ZCA9IDQyOworIHhtbGNhc3QgfCBwZ190eXBlb2YgfCB4bWxjYXN0IHwgcGdfdHlwZW9mIHwg eG1sY2FzdCB8IHBnX3R5cGVvZiAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisoMCByb3dzKQorCistLSB4bWxj YXN0IHRlc3RzIGZvciAibm9uLVhNTCB0byBYTUwiIGV4cHJlc3Npb25zCitTRUxFQ1Qgaiwg cGdfdHlwZW9mKGopIEZST00geG1sY2FzdChOVUxMIEFTIHhtbCkgdChqKTsKKyBqIHwgcGdf dHlwZW9mIAorLS0tKy0tLS0tLS0tLS0tCisgICB8IHhtbAorKDEgcm93KQorCitTRUxFQ1Qg aiwgcGdfdHlwZW9mKGopIEZST00geG1sY2FzdCgnZm9vJyBBUyB4bWwpIHQoaik7CitFUlJP UjogIHVuc3VwcG9ydGVkIFhNTCBmZWF0dXJlCitERVRBSUw6ICBUaGlzIGZ1bmN0aW9uYWxp dHkgcmVxdWlyZXMgdGhlIHNlcnZlciB0byBiZSBidWlsdCB3aXRoIGxpYnhtbCBzdXBwb3J0 LgorU0VMRUNUIGosIHBnX3R5cGVvZihqKSBGUk9NIHhtbGNhc3QoJyc6OnRleHQgQVMgeG1s KSB0KGopOworRVJST1I6ICB1bnN1cHBvcnRlZCBYTUwgZmVhdHVyZQorREVUQUlMOiAgVGhp cyBmdW5jdGlvbmFsaXR5IHJlcXVpcmVzIHRoZSBzZXJ2ZXIgdG8gYmUgYnVpbHQgd2l0aCBs aWJ4bWwgc3VwcG9ydC4KK1NFTEVDVCBqLCBwZ190eXBlb2YoaikgRlJPTSB4bWxjYXN0KE5V TEw6OnRleHQgQVMgeG1sKSB0KGopOworIGogfCBwZ190eXBlb2YgCistLS0rLS0tLS0tLS0t LS0KKyAgIHwgeG1sCisoMSByb3cpCisKK1NFTEVDVCBqLCBwZ190eXBlb2YoaikgRlJPTSB4 bWxjYXN0KCcnOjp4bWwgQVMgdGV4dCkgdChqKTsKK0VSUk9SOiAgdW5zdXBwb3J0ZWQgWE1M IGZlYXR1cmUKK0xJTkUgMTogU0VMRUNUIGosIHBnX3R5cGVvZihqKSBGUk9NIHhtbGNhc3Qo Jyc6OnhtbCBBUyB0ZXh0KSB0KGopOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCitERVRBSUw6ICBUaGlzIGZ1bmN0aW9uYWxpdHkgcmVxdWlyZXMg dGhlIHNlcnZlciB0byBiZSBidWlsdCB3aXRoIGxpYnhtbCBzdXBwb3J0LgorU0VMRUNUIGos IHBnX3R5cGVvZihqKSBGUk9NIHhtbGNhc3QoTlVMTDo6eG1sIEFTIHRleHQpIHQoaik7Cisg aiB8IHBnX3R5cGVvZiAKKy0tLSstLS0tLS0tLS0tLQorICAgfCB0ZXh0CisoMSByb3cpCisK K1NFTEVDVCBqLCBwZ190eXBlb2YoaikgRlJPTSB4bWxjYXN0KCdmb28gJiA8ImJhciI+Jzo6 dGV4dCBBUyB4bWwpIHQoaik7CitFUlJPUjogIHVuc3VwcG9ydGVkIFhNTCBmZWF0dXJlCitE RVRBSUw6ICBUaGlzIGZ1bmN0aW9uYWxpdHkgcmVxdWlyZXMgdGhlIHNlcnZlciB0byBiZSBi dWlsdCB3aXRoIGxpYnhtbCBzdXBwb3J0LgorU0VMRUNUIGosIHBnX3R5cGVvZihqKSBGUk9N IHhtbGNhc3QoJ2ZvbyAmIDwiYmFyIj4nOjp2YXJjaGFyIEFTIHhtbCkgdChqKTsKK0VSUk9S OiAgdW5zdXBwb3J0ZWQgWE1MIGZlYXR1cmUKK0RFVEFJTDogIFRoaXMgZnVuY3Rpb25hbGl0 eSByZXF1aXJlcyB0aGUgc2VydmVyIHRvIGJlIGJ1aWx0IHdpdGggbGlieG1sIHN1cHBvcnQu CitTRUxFQ1QgaiwgcGdfdHlwZW9mKGopIEZST00geG1sY2FzdCgnZm9vICYgPCJiYXIiPic6 Om5hbWUgQVMgeG1sKSB0KGopOworRVJST1I6ICB1bnN1cHBvcnRlZCBYTUwgZmVhdHVyZQor REVUQUlMOiAgVGhpcyBmdW5jdGlvbmFsaXR5IHJlcXVpcmVzIHRoZSBzZXJ2ZXIgdG8gYmUg YnVpbHQgd2l0aCBsaWJ4bWwgc3VwcG9ydC4KK1NFTEVDVCBqLCBwZ190eXBlb2YoaikgRlJP TSB4bWxjYXN0KHhtbHRleHQoRSdmb28gJiA8ImJhciI+XHInKSBBUyB0ZXh0KSB0KGopOwor RVJST1I6ICB1bnN1cHBvcnRlZCBYTUwgZmVhdHVyZQorREVUQUlMOiAgVGhpcyBmdW5jdGlv bmFsaXR5IHJlcXVpcmVzIHRoZSBzZXJ2ZXIgdG8gYmUgYnVpbHQgd2l0aCBsaWJ4bWwgc3Vw cG9ydC4KK1NFTEVDVCBqLCBwZ190eXBlb2YoaikgRlJPTSB4bWxjYXN0KHhtbGNhc3QoRSdm b28gJiA8ImJhciI+XHInIEFTIHhtbCkgQVMgdGV4dCkgdChqKTsKK0VSUk9SOiAgdW5zdXBw b3J0ZWQgWE1MIGZlYXR1cmUKK0RFVEFJTDogIFRoaXMgZnVuY3Rpb25hbGl0eSByZXF1aXJl cyB0aGUgc2VydmVyIHRvIGJlIGJ1aWx0IHdpdGggbGlieG1sIHN1cHBvcnQuCitTRUxFQ1Qg aiwgcGdfdHlwZW9mKGopIEZST00geG1sY2FzdCh0b19kYXRlKCcyOS8wNS8yMDI0JywnZGQv bW0veXl5eScpIEFTIHhtbCkgdChqKTsKK0VSUk9SOiAgdW5zdXBwb3J0ZWQgWE1MIGZlYXR1 cmUKK0RFVEFJTDogIFRoaXMgZnVuY3Rpb25hbGl0eSByZXF1aXJlcyB0aGUgc2VydmVyIHRv IGJlIGJ1aWx0IHdpdGggbGlieG1sIHN1cHBvcnQuCitTRUxFQ1QgaiwgcGdfdHlwZW9mKGop IEZST00geG1sY2FzdCgnMjAyNC0wNS0yOSAxMjowNDoxMC43MDM1ODUrMDInOjp0aW1lc3Rh bXAgd2l0aCB0aW1lIHpvbmUgYXQgdGltZSB6b25lICdFdXJvcGUvQmVybGluJyBBUyB4bWwp IHQoaik7CitFUlJPUjogIHVuc3VwcG9ydGVkIFhNTCBmZWF0dXJlCitERVRBSUw6ICBUaGlz IGZ1bmN0aW9uYWxpdHkgcmVxdWlyZXMgdGhlIHNlcnZlciB0byBiZSBidWlsdCB3aXRoIGxp YnhtbCBzdXBwb3J0LgorU0VMRUNUIGosIHBnX3R5cGVvZihqKSBGUk9NIHhtbGNhc3QoJzIw MjQtMDUtMjkgMTI6MDQ6MTAuNzAzNTg1KzAyJzo6dGltZXN0YW1wIHdpdGhvdXQgdGltZSB6 b25lIEFTIHhtbCkgdChqKTsKK0VSUk9SOiAgdW5zdXBwb3J0ZWQgWE1MIGZlYXR1cmUKK0RF VEFJTDogIFRoaXMgZnVuY3Rpb25hbGl0eSByZXF1aXJlcyB0aGUgc2VydmVyIHRvIGJlIGJ1 aWx0IHdpdGggbGlieG1sIHN1cHBvcnQuCitTRUxFQ1QgaiwgcGdfdHlwZW9mKGopIEZST00g eG1sY2FzdCgnMSB5ZWFyIDIgbW9udGhzIDMgZGF5cyA0IGhvdXJzIDUgbWludXRlcyA2IHNl Y29uZHMnOjppbnRlcnZhbCBBUyB4bWwpIHQoaik7CitFUlJPUjogIHVuc3VwcG9ydGVkIFhN TCBmZWF0dXJlCitERVRBSUw6ICBUaGlzIGZ1bmN0aW9uYWxpdHkgcmVxdWlyZXMgdGhlIHNl cnZlciB0byBiZSBidWlsdCB3aXRoIGxpYnhtbCBzdXBwb3J0LgorU0VMRUNUIGosIHBnX3R5 cGVvZihqKSBGUk9NIHhtbGNhc3QoNDI3MzUzNTQyIEFTIHhtbCkgdChqKTsKK0VSUk9SOiAg dW5zdXBwb3J0ZWQgWE1MIGZlYXR1cmUKK0RFVEFJTDogIFRoaXMgZnVuY3Rpb25hbGl0eSBy ZXF1aXJlcyB0aGUgc2VydmVyIHRvIGJlIGJ1aWx0IHdpdGggbGlieG1sIHN1cHBvcnQuCitT RUxFQ1QgaiwgcGdfdHlwZW9mKGopIEZST00geG1sY2FzdCg0MjczNTM1NDIwMTYyMDIxIEFT IHhtbCkgdChqKTsKK0VSUk9SOiAgdW5zdXBwb3J0ZWQgWE1MIGZlYXR1cmUKK0RFVEFJTDog IFRoaXMgZnVuY3Rpb25hbGl0eSByZXF1aXJlcyB0aGUgc2VydmVyIHRvIGJlIGJ1aWx0IHdp dGggbGlieG1sIHN1cHBvcnQuCitTRUxFQ1QgaiwgcGdfdHlwZW9mKGopIEZST00geG1sY2Fz dCg0Mi4wMDczMTIzNDU2Nzg5MTAgQVMgeG1sKSB0KGopOworRVJST1I6ICB1bnN1cHBvcnRl ZCBYTUwgZmVhdHVyZQorREVUQUlMOiAgVGhpcyBmdW5jdGlvbmFsaXR5IHJlcXVpcmVzIHRo ZSBzZXJ2ZXIgdG8gYmUgYnVpbHQgd2l0aCBsaWJ4bWwgc3VwcG9ydC4KK1NFTEVDVCBqLCBw Z190eXBlb2YoaikgRlJPTSB4bWxjYXN0KDQyLjAwNzMxMjM0NTY3ODkxMDo6ZG91YmxlIHBy ZWNpc2lvbiBBUyB4bWwpIHQoaik7CitFUlJPUjogIHVuc3VwcG9ydGVkIFhNTCBmZWF0dXJl CitERVRBSUw6ICBUaGlzIGZ1bmN0aW9uYWxpdHkgcmVxdWlyZXMgdGhlIHNlcnZlciB0byBi ZSBidWlsdCB3aXRoIGxpYnhtbCBzdXBwb3J0LgorU0VMRUNUIGosIHBnX3R5cGVvZihqKSBG Uk9NIHhtbGNhc3QodHJ1ZSBBUyB4bWwpIHQoaik7CitFUlJPUjogIHVuc3VwcG9ydGVkIFhN TCBmZWF0dXJlCitERVRBSUw6ICBUaGlzIGZ1bmN0aW9uYWxpdHkgcmVxdWlyZXMgdGhlIHNl cnZlciB0byBiZSBidWlsdCB3aXRoIGxpYnhtbCBzdXBwb3J0LgorU0VMRUNUIGosIHBnX3R5 cGVvZihqKSBGUk9NIHhtbGNhc3QoZmFsc2UgQVMgeG1sKSB0KGopOworRVJST1I6ICB1bnN1 cHBvcnRlZCBYTUwgZmVhdHVyZQorREVUQUlMOiAgVGhpcyBmdW5jdGlvbmFsaXR5IHJlcXVp cmVzIHRoZSBzZXJ2ZXIgdG8gYmUgYnVpbHQgd2l0aCBsaWJ4bWwgc3VwcG9ydC4KK1NFTEVD VCBqLCBwZ190eXBlb2YoaikgRlJPTSB4bWxjYXN0KDQyID0gNzMgQVMgeG1sKSB0KGopOwor RVJST1I6ICB1bnN1cHBvcnRlZCBYTUwgZmVhdHVyZQorREVUQUlMOiAgVGhpcyBmdW5jdGlv bmFsaXR5IHJlcXVpcmVzIHRoZSBzZXJ2ZXIgdG8gYmUgYnVpbHQgd2l0aCBsaWJ4bWwgc3Vw cG9ydC4KK1NFTEVDVCBqLCBwZ190eXBlb2YoaikgRlJPTSB4bWxjYXN0KDQyIDw+IDczIEFT IHhtbCkgdChqKTsKK0VSUk9SOiAgdW5zdXBwb3J0ZWQgWE1MIGZlYXR1cmUKK0RFVEFJTDog IFRoaXMgZnVuY3Rpb25hbGl0eSByZXF1aXJlcyB0aGUgc2VydmVyIHRvIGJlIGJ1aWx0IHdp dGggbGlieG1sIHN1cHBvcnQuCitTRUxFQ1QgaiwgcGdfdHlwZW9mKGopIEZST00geG1sY2Fz dCgnMTE6MTE6MTEuNSc6OnRpbWUgQVMgeG1sKSB0KGopOworRVJST1I6ICB1bnN1cHBvcnRl ZCBYTUwgZmVhdHVyZQorREVUQUlMOiAgVGhpcyBmdW5jdGlvbmFsaXR5IHJlcXVpcmVzIHRo ZSBzZXJ2ZXIgdG8gYmUgYnVpbHQgd2l0aCBsaWJ4bWwgc3VwcG9ydC4KK1NFTEVDVCBqLCBw Z190eXBlb2YoaikgRlJPTSB4bWxjYXN0KCcxMToxMToxMS41Jzo6dGltZSB3aXRoIHRpbWUg em9uZSBhdCB0aW1lIHpvbmUgJ0V1cm9wZS9CZXJsaW4nIEFTIHhtbCkgdChqKTsKK0VSUk9S OiAgdW5zdXBwb3J0ZWQgWE1MIGZlYXR1cmUKK0RFVEFJTDogIFRoaXMgZnVuY3Rpb25hbGl0 eSByZXF1aXJlcyB0aGUgc2VydmVyIHRvIGJlIGJ1aWx0IHdpdGggbGlieG1sIHN1cHBvcnQu CistLSBDb252ZXJ0IGFuIFhNTCBzdHJpbmcgdG8gYnl0ZWEgYW5kIGJhY2sgdG8geG1sCitT RUxFQ1QgeG1sY2FzdChjb252ZXJ0X2Zyb20oeG1sY2FzdCgnJmx0OyZxdW90O2ZvbyZhbXA7 YmFyJnF1b3Q7Jmd0Oyc6OnhtbCBBUyBieXRlYSksJ1VURjgnKTo6eG1sIEFTIHRleHQpOwor RVJST1I6ICB1bnN1cHBvcnRlZCBYTUwgZmVhdHVyZQorTElORSAxOiBTRUxFQ1QgeG1sY2Fz dChjb252ZXJ0X2Zyb20oeG1sY2FzdCgnJmx0OyZxdW90O2ZvbyZhbXA7YmFyJnEuLi4KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorREVUQUlMOiAg VGhpcyBmdW5jdGlvbmFsaXR5IHJlcXVpcmVzIHRoZSBzZXJ2ZXIgdG8gYmUgYnVpbHQgd2l0 aCBsaWJ4bWwgc3VwcG9ydC4KK1NFVCB4bWxiaW5hcnkgVE8gaGV4OworU0VMRUNUIHhtbGNh c3QoRSdcXHhERUFEQkVFRic6OmJ5dGVhIEFTIHhtbCk7CitFUlJPUjogIHVuc3VwcG9ydGVk IFhNTCBmZWF0dXJlCitERVRBSUw6ICBUaGlzIGZ1bmN0aW9uYWxpdHkgcmVxdWlyZXMgdGhl IHNlcnZlciB0byBiZSBidWlsdCB3aXRoIGxpYnhtbCBzdXBwb3J0LgorU0VUIHhtbGJpbmFy eSBUTyBiYXNlNjQ7CitTRUxFQ1QgeG1sY2FzdChFJ1xceERFQURCRUVGJzo6Ynl0ZWEgQVMg eG1sKTsKK0VSUk9SOiAgdW5zdXBwb3J0ZWQgWE1MIGZlYXR1cmUKK0RFVEFJTDogIFRoaXMg ZnVuY3Rpb25hbGl0eSByZXF1aXJlcyB0aGUgc2VydmVyIHRvIGJlIGJ1aWx0IHdpdGggbGli eG1sIHN1cHBvcnQuCistLSBUaGUgQlkgUkVGIGFuZCBCWSBWQUxVRSBjbGF1c2VzIGFyZSBh Y2NlcHRlZCBidXQgaWdub3JlZC4KKy0tIFRoaXMgY2hlY2tzIGlmIHRoZSByZXN1bHRzIGFy ZSBpbmRlZWQgdGhlIHNhbWUgYXMgd2l0aG91dCB0aGUgY2xhdXNlcy4KK1NFTEVDVAorICB4 bWxjYXN0KCdmb28nIEFTIHhtbCk6OnRleHQgPSB4bWxjYXN0KCdmb28nIEFTIHhtbCBCWSBS RUYpOjp0ZXh0LAorICB4bWxjYXN0KCdmb28nIEFTIHhtbCk6OnRleHQgPSB4bWxjYXN0KCdm b28nIEFTIHhtbCBCWSBWQUxVRSk6OnRleHQsCisgIHhtbGNhc3QoJ2Zvbyc6OnhtbCBBUyB0 ZXh0KSA9IHhtbGNhc3QoJ2Zvbyc6OnhtbCBBUyB0ZXh0IEJZIFJFRiksCisgIHhtbGNhc3Qo J2Zvbyc6OnhtbCBBUyB0ZXh0KSA9IHhtbGNhc3QoJ2Zvbyc6OnhtbCBBUyB0ZXh0IEJZIFZB TFVFKTsKK0VSUk9SOiAgdW5zdXBwb3J0ZWQgWE1MIGZlYXR1cmUKK0xJTkUgNDogICB4bWxj YXN0KCdmb28nOjp4bWwgQVMgdGV4dCkgPSB4bWxjYXN0KCdmb28nOjp4bWwgQVMgdGV4dCBC Li4uCisgICAgICAgICAgICAgICAgICBeCitERVRBSUw6ICBUaGlzIGZ1bmN0aW9uYWxpdHkg cmVxdWlyZXMgdGhlIHNlcnZlciB0byBiZSBidWlsdCB3aXRoIGxpYnhtbCBzdXBwb3J0Lgor U0VMRUNUCisgIHhtbGNhc3QoNDIgQVMgeG1sKTo6dGV4dCA9IHhtbGNhc3QoNDIgQVMgeG1s IEJZIFJFRik6OnRleHQsCisgIHhtbGNhc3QoNDIgQVMgeG1sKTo6dGV4dCA9IHhtbGNhc3Qo NDIgQVMgeG1sIEJZIFZBTFVFKTo6dGV4dCwKKyAgeG1sY2FzdCgnNDInOjp4bWwgQVMgaW50 KSA9IHhtbGNhc3QoJzQyJzo6eG1sIEFTIGludCBCWSBSRUYpLAorICB4bWxjYXN0KCc0Mic6 OnhtbCBBUyBpbnQpID0geG1sY2FzdCgnNDInOjp4bWwgQVMgaW50IEJZIFZBTFVFKTsKK0VS Uk9SOiAgdW5zdXBwb3J0ZWQgWE1MIGZlYXR1cmUKK0xJTkUgNDogICB4bWxjYXN0KCc0Mic6 OnhtbCBBUyBpbnQpID0geG1sY2FzdCgnNDInOjp4bWwgQVMgaW50IEJZIFJFLi4uCisgICAg ICAgICAgICAgICAgICBeCitERVRBSUw6ICBUaGlzIGZ1bmN0aW9uYWxpdHkgcmVxdWlyZXMg dGhlIHNlcnZlciB0byBiZSBidWlsdCB3aXRoIGxpYnhtbCBzdXBwb3J0LgorU0VMRUNUCisg IHhtbGNhc3QoNDIuNzMgQVMgeG1sKTo6dGV4dCA9IHhtbGNhc3QoNDIuNzMgQVMgeG1sIEJZ IFJFRik6OnRleHQsCisgIHhtbGNhc3QoNDIuNzMgQVMgeG1sKTo6dGV4dCA9IHhtbGNhc3Qo NDIuNzMgQVMgeG1sIEJZIFZBTFVFKTo6dGV4dCwKKyAgeG1sY2FzdCgnNDIuNzMnOjp4bWwg QVMgbnVtZXJpYykgPSB4bWxjYXN0KCc0Mi43Myc6OnhtbCBBUyBudW1lcmljIEJZIFJFRiks CisgIHhtbGNhc3QoJzQyLjczJzo6eG1sIEFTIG51bWVyaWMpID0geG1sY2FzdCgnNDIuNzMn Ojp4bWwgQVMgbnVtZXJpYyBCWSBWQUxVRSk7CitFUlJPUjogIHVuc3VwcG9ydGVkIFhNTCBm ZWF0dXJlCitMSU5FIDQ6ICAgeG1sY2FzdCgnNDIuNzMnOjp4bWwgQVMgbnVtZXJpYykgPSB4 bWxjYXN0KCc0Mi43Myc6OnhtbCBBUy4uLgorICAgICAgICAgICAgICAgICAgXgorREVUQUlM OiAgVGhpcyBmdW5jdGlvbmFsaXR5IHJlcXVpcmVzIHRoZSBzZXJ2ZXIgdG8gYmUgYnVpbHQg d2l0aCBsaWJ4bWwgc3VwcG9ydC4KK1NFTEVDVAorICB4bWxjYXN0KCcyMDI0LTA4LTE0Jzo6 ZGF0ZSBBUyB4bWwpOjp0ZXh0ID0geG1sY2FzdCgnMjAyNC0wOC0xNCc6OmRhdGUgQVMgeG1s IEJZIFJFRik6OnRleHQsCisgIHhtbGNhc3QoJzIwMjQtMDgtMTQnOjpkYXRlIEFTIHhtbCk6 OnRleHQgPSB4bWxjYXN0KCcyMDI0LTA4LTE0Jzo6ZGF0ZSBBUyB4bWwgQlkgVkFMVUUpOjp0 ZXh0LAorICB4bWxjYXN0KCcyMDI0LTA4LTE0Jzo6eG1sIEFTIGRhdGUpID0geG1sY2FzdCgn MjAyNC0wOC0xNCc6OnhtbCBBUyBkYXRlIEJZIFJFRiksCisgIHhtbGNhc3QoJzIwMjQtMDgt MTQnOjp4bWwgQVMgZGF0ZSkgPSB4bWxjYXN0KCcyMDI0LTA4LTE0Jzo6eG1sIEFTIGRhdGUg QlkgVkFMVUUpOworRVJST1I6ICB1bnN1cHBvcnRlZCBYTUwgZmVhdHVyZQorTElORSA0OiAg IHhtbGNhc3QoJzIwMjQtMDgtMTQnOjp4bWwgQVMgZGF0ZSkgPSB4bWxjYXN0KCcyMDI0LTA4 LTE0JzouLi4KKyAgICAgICAgICAgICAgICAgIF4KK0RFVEFJTDogIFRoaXMgZnVuY3Rpb25h bGl0eSByZXF1aXJlcyB0aGUgc2VydmVyIHRvIGJlIGJ1aWx0IHdpdGggbGlieG1sIHN1cHBv cnQuCitTRUxFQ1QKKyAgeG1sY2FzdCgnMTI6MzA6NDUnOjp0aW1lIHdpdGhvdXQgdGltZSB6 b25lIEFTIHhtbCk6OnRleHQgPSB4bWxjYXN0KCcxMjozMDo0NSc6OnRpbWUgd2l0aG91dCB0 aW1lIHpvbmUgQVMgeG1sIEJZIFJFRik6OnRleHQsCisgIHhtbGNhc3QoJzEyOjMwOjQ1Jzo6 dGltZSB3aXRob3V0IHRpbWUgem9uZSBBUyB4bWwpOjp0ZXh0ID0geG1sY2FzdCgnMTI6MzA6 NDUnOjp0aW1lIHdpdGhvdXQgdGltZSB6b25lIEFTIHhtbCBCWSBWQUxVRSk6OnRleHQsCisg IHhtbGNhc3QoJzEyOjMwOjQ1Jzo6eG1sIEFTIHRpbWUgd2l0aG91dCB0aW1lIHpvbmUpID0g eG1sY2FzdCgnMTI6MzA6NDUnOjp4bWwgQVMgdGltZSB3aXRob3V0IHRpbWUgem9uZSBCWSBS RUYpLAorICB4bWxjYXN0KCcxMjozMDo0NSc6OnhtbCBBUyB0aW1lIHdpdGhvdXQgdGltZSB6 b25lKSA9IHhtbGNhc3QoJzEyOjMwOjQ1Jzo6eG1sIEFTIHRpbWUgd2l0aG91dCB0aW1lIHpv bmUgQlkgVkFMVUUpOworRVJST1I6ICB1bnN1cHBvcnRlZCBYTUwgZmVhdHVyZQorTElORSA0 OiAgIHhtbGNhc3QoJzEyOjMwOjQ1Jzo6eG1sIEFTIHRpbWUgd2l0aG91dCB0aW1lIHpvbmUp ID0geG1sY2EuLi4KKyAgICAgICAgICAgICAgICAgIF4KK0RFVEFJTDogIFRoaXMgZnVuY3Rp b25hbGl0eSByZXF1aXJlcyB0aGUgc2VydmVyIHRvIGJlIGJ1aWx0IHdpdGggbGlieG1sIHN1 cHBvcnQuCitTRUxFQ1QKKyAgeG1sY2FzdCgnMDk6MzA6MTArMDY6MDAnOjp0aW1lIHdpdGgg dGltZSB6b25lIEFTIHhtbCk6OnRleHQgPSB4bWxjYXN0KCcwOTozMDoxMCswNjowMCc6OnRp bWUgd2l0aCB0aW1lIHpvbmUgQVMgeG1sIEJZIFJFRik6OnRleHQsCisgIHhtbGNhc3QoJzA5 OjMwOjEwKzA2OjAwJzo6dGltZSB3aXRoIHRpbWUgem9uZSBBUyB4bWwpOjp0ZXh0ID0geG1s Y2FzdCgnMDk6MzA6MTArMDY6MDAnOjp0aW1lIHdpdGggdGltZSB6b25lIEFTIHhtbCBCWSBW QUxVRSk6OnRleHQsCisgIHhtbGNhc3QoJzA5OjMwOjEwKzA2OjAwJzo6eG1sIEFTIHRpbWUg d2l0aCB0aW1lIHpvbmUpID0geG1sY2FzdCgnMDk6MzA6MTArMDY6MDAnOjp4bWwgQVMgdGlt ZSB3aXRoIHRpbWUgem9uZSBCWSBSRUYpLAorICB4bWxjYXN0KCcwOTozMDoxMCswNjowMCc6 OnhtbCBBUyB0aW1lIHdpdGggdGltZSB6b25lKSA9IHhtbGNhc3QoJzA5OjMwOjEwKzA2OjAw Jzo6eG1sIEFTIHRpbWUgd2l0aCB0aW1lIHpvbmUgQlkgVkFMVUUpOworRVJST1I6ICB1bnN1 cHBvcnRlZCBYTUwgZmVhdHVyZQorTElORSA0OiAgIHhtbGNhc3QoJzA5OjMwOjEwKzA2OjAw Jzo6eG1sIEFTIHRpbWUgd2l0aCB0aW1lIHpvbmUpID0geG0uLi4KKyAgICAgICAgICAgICAg ICAgIF4KK0RFVEFJTDogIFRoaXMgZnVuY3Rpb25hbGl0eSByZXF1aXJlcyB0aGUgc2VydmVy IHRvIGJlIGJ1aWx0IHdpdGggbGlieG1sIHN1cHBvcnQuCitTRUxFQ1QKKyAgeG1sY2FzdCgn MjAwMi0wNS0zMCAwOTozMDoxMCswNjowMCc6OnRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBB UyB4bWwpOjp0ZXh0ID0geG1sY2FzdCgnMjAwMi0wNS0zMCAwOTozMDoxMCswNjowMCc6OnRp bWVzdGFtcCB3aXRoIHRpbWUgem9uZSBBUyB4bWwgQlkgUkVGKTo6dGV4dCwKKyAgeG1sY2Fz dCgnMjAwMi0wNS0zMCAwOTozMDoxMCswNjowMCc6OnRpbWVzdGFtcCB3aXRoIHRpbWUgem9u ZSBBUyB4bWwpOjp0ZXh0ID0geG1sY2FzdCgnMjAwMi0wNS0zMCAwOTozMDoxMCswNjowMCc6 OnRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBBUyB4bWwgQlkgVkFMVUUpOjp0ZXh0LAorICB4 bWxjYXN0KCcyMDAyLTA1LTMwVDA5OjMwOjEwKzA2OjAwJzo6eG1sIEFTIHRpbWVzdGFtcCB3 aXRoIHRpbWUgem9uZSkgPSB4bWxjYXN0KCcyMDAyLTA1LTMwVDA5OjMwOjEwKzA2OjAwJzo6 eG1sIEFTIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBCWSBSRUYpLAorICB4bWxjYXN0KCcy MDAyLTA1LTMwVDA5OjMwOjEwKzA2OjAwJzo6eG1sIEFTIHRpbWVzdGFtcCB3aXRoIHRpbWUg em9uZSkgPSB4bWxjYXN0KCcyMDAyLTA1LTMwVDA5OjMwOjEwKzA2OjAwJzo6eG1sIEFTIHRp bWVzdGFtcCB3aXRoIHRpbWUgem9uZSBCWSBWQUxVRSk7CitFUlJPUjogIHVuc3VwcG9ydGVk IFhNTCBmZWF0dXJlCitMSU5FIDQ6ICAgeG1sY2FzdCgnMjAwMi0wNS0zMFQwOTozMDoxMCsw NjowMCc6OnhtbCBBUyB0aW1lc3RhbXAgd2l0aC4uLgorICAgICAgICAgICAgICAgICAgXgor REVUQUlMOiAgVGhpcyBmdW5jdGlvbmFsaXR5IHJlcXVpcmVzIHRoZSBzZXJ2ZXIgdG8gYmUg YnVpbHQgd2l0aCBsaWJ4bWwgc3VwcG9ydC4KK1NFTEVDVAorICB4bWxjYXN0KCcxIHllYXIg MiBtb25zJzo6aW50ZXJ2YWwgQVMgeG1sKTo6dGV4dCA9IHhtbGNhc3QoJzEgeWVhciAyIG1v bnMnOjppbnRlcnZhbCBBUyB4bWwgQlkgUkVGKTo6dGV4dCwKKyAgeG1sY2FzdCgnMSB5ZWFy IDIgbW9ucyc6OmludGVydmFsIEFTIHhtbCk6OnRleHQgPSB4bWxjYXN0KCcxIHllYXIgMiBt b25zJzo6aW50ZXJ2YWwgQVMgeG1sIEJZIFZBTFVFKTo6dGV4dCwKKyAgeG1sY2FzdCgnMSB5 ZWFyIDIgbW9ucyc6OnhtbCBBUyBpbnRlcnZhbCkgPSB4bWxjYXN0KCcxIHllYXIgMiBtb25z Jzo6eG1sIEFTIGludGVydmFsIEJZIFJFRiksCisgIHhtbGNhc3QoJzEgeWVhciAyIG1vbnMn Ojp4bWwgQVMgaW50ZXJ2YWwpID0geG1sY2FzdCgnMSB5ZWFyIDIgbW9ucyc6OnhtbCBBUyBp bnRlcnZhbCBCWSBWQUxVRSk7CitFUlJPUjogIHVuc3VwcG9ydGVkIFhNTCBmZWF0dXJlCitM SU5FIDQ6ICAgeG1sY2FzdCgnMSB5ZWFyIDIgbW9ucyc6OnhtbCBBUyBpbnRlcnZhbCkgPSB4 bWxjYXN0KCcxIHllYS4uLgorICAgICAgICAgICAgICAgICAgXgorREVUQUlMOiAgVGhpcyBm dW5jdGlvbmFsaXR5IHJlcXVpcmVzIHRoZSBzZXJ2ZXIgdG8gYmUgYnVpbHQgd2l0aCBsaWJ4 bWwgc3VwcG9ydC4KK0NSRUFURSBWSUVXIHZpZXdfeG1sY2FzdF90b194bWwgQVMKK1NFTEVD VAorICB4bWxjYXN0KE5VTEwgQVMgeG1sKSBBUyBjMSwKKyAgeG1sY2FzdCgnZm9vJyBBUyB4 bWwpIEFTIGMyLAorICB4bWxjYXN0KCcnOjp0ZXh0IEFTIHhtbCkgQVMgYzMsCisgIHhtbGNh c3QoTlVMTDo6dGV4dCBBUyB4bWwpIEFTIGM0LAorICB4bWxjYXN0KCcnOjp4bWwgQVMgdGV4 dCkgQVMgYzUsCisgIHhtbGNhc3QoTlVMTDo6eG1sIEFTIHRleHQpIGM2LAorICB4bWxjYXN0 KCdmb28gJiA8ImJhciI+Jzo6dGV4dCBBUyB4bWwpIEFTIGM3LAorICB4bWxjYXN0KCdmb28g JiA8ImJhciI+Jzo6dmFyY2hhciBBUyB4bWwpIEFTIGM4LAorICB4bWxjYXN0KCdmb28gJiA8 ImJhciI+Jzo6bmFtZSBBUyB4bWwpIEFTIGM5LAorICB4bWxjYXN0KHhtbHRleHQoRSdmb28g JiA8ImJhciI+XHInKSBBUyB0ZXh0KSBBUyBjMTAsCisgIHhtbGNhc3QoeG1sY2FzdChFJ2Zv byAmIDwiYmFyIj5ccicgQVMgeG1sKSBBUyB0ZXh0KSBBUyBjMTEsCisgIHhtbGNhc3QodG9f ZGF0ZSgnMjkvMDUvMjAyNCcsJ2RkL21tL3l5eXknKSBBUyB4bWwpIEFTIGMxMiwKKyAgeG1s Y2FzdCgnMjAyNC0wNS0yOSAxMjowNDoxMC43MDM1ODUrMDInOjp0aW1lc3RhbXAgd2l0aCB0 aW1lIHpvbmUgYXQgdGltZSB6b25lICdFdXJvcGUvQmVybGluJyBBUyB4bWwpIEFTIGMxMywK KyAgeG1sY2FzdCgnMjAyNC0wNS0yOSAxMjowNDoxMC43MDM1ODUrMDInOjp0aW1lc3RhbXAg d2l0aG91dCB0aW1lIHpvbmUgQVMgeG1sKSBBUyBjMTQsCisgIHhtbGNhc3QoJzEgeWVhciAy IG1vbnRocyAzIGRheXMgNCBob3VycyA1IG1pbnV0ZXMgNiBzZWNvbmRzJzo6aW50ZXJ2YWwg QVMgeG1sKSBBUyBjMTUsCisgIHhtbGNhc3QoNDI3MzUzNTQyIEFTIHhtbCkgQVMgYzE2LAor ICB4bWxjYXN0KDQyNzM1MzU0MjAxNjIwMjEgQVMgeG1sKSBBUyBjMTcsCisgIHhtbGNhc3Qo NDIuMDA3MzEyMzQ1Njc4OTEwIEFTIHhtbCkgQVMgYzE4LAorICB4bWxjYXN0KDQyLjAwNzMx MjM0NTY3ODkxMDo6ZG91YmxlIHByZWNpc2lvbiBBUyB4bWwpIEFTIGMxOSwKKyAgeG1sY2Fz dCh0cnVlIEFTIHhtbCkgQVMgYzIwLAorICB4bWxjYXN0KGZhbHNlIEFTIHhtbCkgQVMgYzIx LAorICB4bWxjYXN0KDQyID0gNzMgQVMgeG1sKSBBUyBjMjIsCisgIHhtbGNhc3QoNDIgPD4g NzMgQVMgeG1sKSBBUyBjMjMsCisgIHhtbGNhc3QoJzExOjExOjExLjUnOjp0aW1lIEFTIHht bCkgQVMgYzI0LAorICB4bWxjYXN0KCcxMToxMToxMS41Jzo6dGltZSB3aXRoIHRpbWUgem9u ZSBhdCB0aW1lIHpvbmUgJ0V1cm9wZS9CZXJsaW4nIEFTIHhtbCkgQVMgYzI1OworRVJST1I6 ICB1bnN1cHBvcnRlZCBYTUwgZmVhdHVyZQorTElORSA3OiAgIHhtbGNhc3QoJyc6OnhtbCBB UyB0ZXh0KSBBUyBjNSwKKyAgICAgICAgICAgICAgICAgIF4KK0RFVEFJTDogIFRoaXMgZnVu Y3Rpb25hbGl0eSByZXF1aXJlcyB0aGUgc2VydmVyIHRvIGJlIGJ1aWx0IHdpdGggbGlieG1s IHN1cHBvcnQuCitcc3Ygdmlld194bWxjYXN0X3RvX3htbAorRVJST1I6ICByZWxhdGlvbiAi dmlld194bWxjYXN0X3RvX3htbCIgZG9lcyBub3QgZXhpc3QKK1NFTEVDVCAqIEZST00gdmll d194bWxjYXN0X3RvX3htbDsKK0VSUk9SOiAgcmVsYXRpb24gInZpZXdfeG1sY2FzdF90b194 bWwiIGRvZXMgbm90IGV4aXN0CitMSU5FIDE6IFNFTEVDVCAqIEZST00gdmlld194bWxjYXN0 X3RvX3htbDsKKyAgICAgICAgICAgICAgICAgICAgICBeCitDUkVBVEUgVklFVyB2aWV3X3ht bGNhc3RfZnJvbV94bWwgQVMKK1NFTEVDVAorICB4bWxjYXN0KCdQMVkyTTNEVDRINU02Uyc6 OnhtbCBBUyBpbnRlcnZhbCkgQVMgYzEsCisgIHhtbGNhc3QoJzEgeWVhciAyIG1vbnMgMyBk YXlzIDQgaG91cnMgNSBtaW51dGVzIDYgc2Vjb25kcyc6OnhtbCBBUyBpbnRlcnZhbCkgQVMg YzIsCisgIHhtbGNhc3QoJzIwMDItMDktMjQnOjp4bWwgQVMgZGF0ZSkgQVMgYzMsCisgIHht bGNhc3QoJzIwMDItMDktMjQrMDY6MDAnOjp4bWwgQVMgZGF0ZSkgQVMgYzQsCisgIHhtbGNh c3QoJzA5OjMwOjEwWic6OnhtbCBBUyB0aW1lIHdpdGggdGltZSB6b25lKSBhdCB0aW1lIHpv bmUgJ0V1cm9wZS9CZXJsaW4nIEFTIGM1LAorICB4bWxjYXN0KCcwOTozMDoxMC0wNjowMCc6 OnhtbCBBUyB0aW1lIHdpdGggdGltZSB6b25lKSBhdCB0aW1lIHpvbmUgJ0V1cm9wZS9CZXJs aW4nIEFTIGM2LAorICB4bWxjYXN0KCcwOTozMDoxMCswNjowMCc6OnhtbCBBUyB0aW1lIHdp dGggdGltZSB6b25lKSBhdCB0aW1lIHpvbmUgJ0V1cm9wZS9CZXJsaW4nIEFTIGM3LAorICB4 bWxjYXN0KCcyMDAyLTA1LTMwVDA5OjMwOjEwWic6OnhtbCBBUyB0aW1lc3RhbXAgd2l0aCB0 aW1lIHpvbmUpIGF0IHRpbWUgem9uZSAnRXVyb3BlL0JlcmxpbicgQVMgYzgsCisgIHhtbGNh c3QoJzIwMDItMDUtMzBUMDk6MzA6MTAtMDY6MDAnOjp4bWwgQVMgdGltZXN0YW1wIHdpdGgg dGltZSB6b25lKSBhdCB0aW1lIHpvbmUgJ0V1cm9wZS9CZXJsaW4nIEFTIGM5LAorICB4bWxj YXN0KCcyMDAyLTA1LTMwVDA5OjMwOjEwKzA2OjAwJzo6eG1sIEFTIHRpbWVzdGFtcCB3aXRo IHRpbWUgem9uZSkgYXQgdGltZSB6b25lICdFdXJvcGUvQmVybGluJyBBUyBjMTAsCisgIHht bGNhc3QoJ2ZvbyBiYXInOjp4bWwgQVMgdGV4dCkgQVMgYzExLAorICB4bWxjYXN0KCcgICAg ICAgZm9vIGJhciAgICAgJzo6eG1sIEFTIHZhcmNoYXIpIEFTIGMxMiwKKyAgeG1sY2FzdCgn Zm9vICZhbXA7ICZsdDsmcXVvdDtiYXImcXVvdDsmZ3Q7Jzo6eG1sIEFTIHRleHQpIEFTIGMx MywKKyAgeG1sY2FzdCgnNDIuNzMxMjM0NTY3ODkxMCc6OnhtbCBBUyBudW1lcmljKSBBUyBj MTQsCisgIHhtbGNhc3QoJys0Mi43MzEyMzQ1Njc4OTEwJzo6eG1sIEFTIG51bWVyaWMpIEFT IGMxNSwKKyAgeG1sY2FzdCgnLTQyLjczMTIzNDU2Nzg5MTAnOjp4bWwgQVMgbnVtZXJpYykg QVMgYzE2LAorICB4bWxjYXN0KCc0Mic6OnhtbCBBUyBpbnRlZ2VyKSBBUyBjMTcsCisgIHht bGNhc3QoJys0Mic6OnhtbCBBUyBpbnRlZ2VyKSBBUyBjMTgsCisgIHhtbGNhc3QoJy00Mic6 OnhtbCBBUyBpbnRlZ2VyKSBBUyBjMTksCisgIHhtbGNhc3QoJzQyNzM1MzU0MjAxNjIwMjEn Ojp4bWwgQVMgYmlnaW50KSBBUyBjMjAsCisgIHhtbGNhc3QoJys0MjczNTM1NDIwMTYyMDIx Jzo6eG1sIEFTIGJpZ2ludCkgQVMgYzIxLAorICB4bWxjYXN0KCctNDI3MzUzNTQyMDE2MjAy MSc6OnhtbCBBUyBiaWdpbnQpIEFTIGMyMiwKKyAgeG1sY2FzdCgndHJ1ZSc6OnhtbCBBUyBi b29sZWFuKSBBUyBjMjMsCisgIHhtbGNhc3QoJ2ZhbHNlJzo6eG1sIEFTIGJvb2xlYW4pIEFT IGMyNCwKKyAgeG1sY2FzdCgnJzo6eG1sIEFTIGNoYXJhY3RlciB2YXJ5aW5nKSBBUyBjMjUs CisgIHhtbGNhc3QoTlVMTDo6eG1sIEFTIGNoYXJhY3RlciB2YXJ5aW5nKSBBUyBjMjY7CitF UlJPUjogIHVuc3VwcG9ydGVkIFhNTCBmZWF0dXJlCitMSU5FIDM6ICAgeG1sY2FzdCgnUDFZ Mk0zRFQ0SDVNNlMnOjp4bWwgQVMgaW50ZXJ2YWwpIEFTIGMxLAorICAgICAgICAgICAgICAg ICAgXgorREVUQUlMOiAgVGhpcyBmdW5jdGlvbmFsaXR5IHJlcXVpcmVzIHRoZSBzZXJ2ZXIg dG8gYmUgYnVpbHQgd2l0aCBsaWJ4bWwgc3VwcG9ydC4KK1xzdiB2aWV3X3htbGNhc3RfZnJv bV94bWwKK0VSUk9SOiAgcmVsYXRpb24gInZpZXdfeG1sY2FzdF9mcm9tX3htbCIgZG9lcyBu b3QgZXhpc3QKK1NFTEVDVCAqIEZST00gdmlld194bWxjYXN0X2Zyb21feG1sOworRVJST1I6 ICByZWxhdGlvbiAidmlld194bWxjYXN0X2Zyb21feG1sIiBkb2VzIG5vdCBleGlzdAorTElO RSAxOiBTRUxFQ1QgKiBGUk9NIHZpZXdfeG1sY2FzdF9mcm9tX3htbDsKKyAgICAgICAgICAg ICAgICAgICAgICBeCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ht bF8yLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQveG1sXzIub3V0CmluZGV4IGE4 NWQ5NTM1OGQuLmFkYjBhYzBhYjIgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQveG1sXzIub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQveG1sXzIu b3V0CkBAIC0xODY3LDMgKzE4NjcsNTcwIEBAIFNFTEVDVCB4bWx0ZXh0KCd4J3x8ICc8UD43 MzwvUD4nOjp4bWwgfHwgLjQyIHx8IHRydWUgfHwgJ2onOjpjaGFyKTsKICB4Jmx0O1AmZ3Q7 NzMmbHQ7L1AmZ3Q7MC40MnRydWVqCiAoMSByb3cpCiAKKy0tIGZvciB4bWxjYXN0KCkgdGVz dHMKK0lOU0VSVCBJTlRPIHhtbHRlc3QKKyBWQUxVRVMgKDQyLAorJzw/eG1sIHZlcnNpb249 IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+CisgPHhtbGNhc3Q+CisgIDxwZXJpb2QxPlAxWTJN M0RUNEg1TTZTPC9wZXJpb2QxPgorICA8cGVyaW9kMj4xIHllYXIgMiBtb25zIDMgZGF5cyA0 IGhvdXJzIDUgbWludXRlcyA2IHNlY29uZHM8L3BlcmlvZDI+CisgIDxkYXRlMT4yMDAyLTA5 LTI0PC9kYXRlMT4KKyAgPGRhdGUyPjIwMDItMDktMjQrMDY6MDA8L2RhdGUyPgorICA8dGlt ZT4wOTozMDoxMC41PC90aW1lPgorICA8dGltZV90ejE+MDk6MzA6MTBaPC90aW1lX3R6MT4K KyAgPHRpbWVfdHoyPjA5OjMwOjEwLTA2OjAwPC90aW1lX3R6Mj4KKyAgPHRpbWVfdHozPjA5 OjMwOjEwKzA2OjAwPC90aW1lX3R6Mz4KKyAgPHRpbWVzdGFtcDE+MjAwMi0wNS0zMFQwOTow MDowMDwvdGltZXN0YW1wMT4KKyAgPHRpbWVzdGFtcDI+MjAwMi0wNS0zMFQwOTozMDoxMC41 PC90aW1lc3RhbXAyPgorICA8dGltZXN0YW1wX3R6MT4yMDAyLTA1LTMwVDA5OjMwOjEwWjwv dGltZXN0YW1wX3R6MT4KKyAgPHRpbWVzdGFtcF90ejI+MjAwMi0wNS0zMFQwOTozMDoxMC0w NjowMDwvdGltZXN0YW1wX3R6Mj4KKyAgPHRpbWVzdGFtcF90ejM+MjAwMi0wNS0zMFQwOToz MDoxMCswNjowMDwvdGltZXN0YW1wX3R6Mz4KKyAgPHRleHQxPmZvbyBiYXI8L3RleHQxPgor ICA8dGV4dDI+ICAgICAgIGZvbyBiYXIgICAgIDwvdGV4dDI+CisgIDx0ZXh0Mz5mb28gJmFt cDsgJmx0OyZxdW90O2JhciZxdW90OyZndDs8L3RleHQzPgorICA8ZGVjaW1hbDE+NDIuNzMx MjM0NTY3ODkxMDwvZGVjaW1hbDE+CisgIDxkZWNpbWFsMj4rNDIuNzMxMjM0NTY3ODkxMDwv ZGVjaW1hbDI+CisgIDxkZWNpbWFsMz4tNDIuNzMxMjM0NTY3ODkxMDwvZGVjaW1hbDM+Cisg IDxpbnRlZ2VyMT40MjwvaW50ZWdlcjE+CisgIDxpbnRlZ2VyMj4rNDI8L2ludGVnZXIyPgor ICA8aW50ZWdlcjM+LTQyPC9pbnRlZ2VyMz4KKyAgPGxvbmcxPjQyNzM1MzU0MjAxNjIwMjE8 L2xvbmcxPgorICA8bG9uZzI+KzQyNzM1MzU0MjAxNjIwMjE8L2xvbmcyPgorICA8bG9uZzM+ LTQyNzM1MzU0MjAxNjIwMjE8L2xvbmczPgorICA8Ym9vbDEgYXR0PSJ0cnVlIj40MjwvYm9v bDE+CisgIDxib29sMiBhdHQ9ImZhbHNlIj43MzwvYm9vbDI+CisgIDxlbXB0eT48L2VtcHR5 PgorIDwveG1sY2FzdD4nOjp4bWwKKyk7CistLSBUaGlzIHByZXZlbnRzIHRoZSB4bWxjYXN0 IHJlZ3Jlc3Npb24gdGVzdHMgZnJvbSBmYWlsaW5nIGlmIHRoZSBzeXN0ZW0ncyB0aW1lem9u ZSBoYXMgYmVlbiBjaGFuZ2VkLgorU0VUIHRpbWV6b25lIFRPICdBbWVyaWNhL0xvc19Bbmdl bGVzJzsKKy0tIHhtbGNhc3QgZXhjZXB0aW9ucworXHNldCBWRVJCT1NJVFkgdGVyc2UKK1NF TEVDVCB4bWxjYXN0KCh4cGF0aCgnLy90ZXh0MS90ZXh0KCknLCBkYXRhKSlbMV0gQVMgdGV4 dFtdKSBGUk9NIHhtbHRlc3QgV0hFUkUgaWQgPSA0MjsKK0VSUk9SOiAgY2Fubm90IGNhc3Qg ZnJvbSAneG1sJyB0byAndGV4dFtdJyBhdCBjaGFyYWN0ZXIgOAorU0VMRUNUIHhtbGNhc3Qo KHhwYXRoKCcvL3RleHQxL2ludGVnZXIxKCknLCBkYXRhKSlbMV0gQVMgaW50W10pIEZST00g eG1sdGVzdCBXSEVSRSBpZCA9IDQyOworRVJST1I6ICBjYW5ub3QgY2FzdCBmcm9tICd4bWwn IHRvICdpbnRlZ2VyW10nIGF0IGNoYXJhY3RlciA4CitTRUxFQ1QgeG1sY2FzdChOVUxMIEFT IHRleHQpOworRVJST1I6ICBjYW5ub3QgY2FzdCBmcm9tICd1bmtub3duJyB0byAndGV4dCcg YXQgY2hhcmFjdGVyIDgKK1NFTEVDVCB4bWxjYXN0KCdmb28nOjp0ZXh0IEFTIHZhcmNoYXIp OworRVJST1I6ICBjYW5ub3QgY2FzdCBmcm9tICd0ZXh0JyB0byAnY2hhcmFjdGVyIHZhcnlp bmcnIGF0IGNoYXJhY3RlciA4CitTRUxFQ1QgeG1sY2FzdCg0MiBBUyB0ZXh0KTsKK0VSUk9S OiAgY2Fubm90IGNhc3QgZnJvbSAnaW50ZWdlcicgdG8gJ3RleHQnIGF0IGNoYXJhY3RlciA4 CitTRUxFQ1QgeG1sY2FzdChhcnJheVsnZm9vJywnYmFyJ10gQVMgeG1sKTsKK0VSUk9SOiAg Y2Fubm90IGNhc3QgZnJvbSAndGV4dFtdJyB0byAneG1sJyBhdCBjaGFyYWN0ZXIgOAorXHNl dCBWRVJCT1NJVFkgZGVmYXVsdAorLS0geG1sY2FzdCB0ZXN0cyBmb3IgIlhNTCB0byBub24t WE1MIiBleHByZXNzaW9ucworU0VMRUNUCisgIHhtbGNhc3QoKHhwYXRoKCcvL2RhdGUxL3Rl eHQoKScsIGRhdGEpKVsxXSBBUyBkYXRlKSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcv L2RhdGUxL3RleHQoKScsIGRhdGEpKVsxXSBBUyBkYXRlKSksCisgIHhtbGNhc3QoKHhwYXRo KCcvL2RhdGUyL3RleHQoKScsIGRhdGEpKVsxXSBBUyBkYXRlKSwgcGdfdHlwZW9mKHhtbGNh c3QoKHhwYXRoKCcvL2RhdGUyL3RleHQoKScsIGRhdGEpKVsxXSBBUyBkYXRlKSkKK0ZST00g eG1sdGVzdCBXSEVSRSBpZCA9IDQyOworICB4bWxjYXN0ICAgfCBwZ190eXBlb2YgfCAgeG1s Y2FzdCAgIHwgcGdfdHlwZW9mIAorLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLQorIDA5LTI0LTIwMDIgfCBkYXRlICAgICAgfCAwOS0yNC0yMDAy IHwgZGF0ZQorKDEgcm93KQorCitTRUxFQ1QKKyAgeG1sY2FzdCgoeHBhdGgoJy8vcGVyaW9k MS90ZXh0KCknLCBkYXRhKSlbMV0gQVMgaW50ZXJ2YWwpLCBwZ190eXBlb2YoeG1sY2FzdCgo eHBhdGgoJy8vcGVyaW9kMS90ZXh0KCknLCBkYXRhKSlbMV0gQVMgaW50ZXJ2YWwpKSwKKyAg eG1sY2FzdCgoeHBhdGgoJy8vcGVyaW9kMi90ZXh0KCknLCBkYXRhKSlbMV0gQVMgaW50ZXJ2 YWwpLCBwZ190eXBlb2YoeG1sY2FzdCgoeHBhdGgoJy8vcGVyaW9kMi90ZXh0KCknLCBkYXRh KSlbMV0gQVMgaW50ZXJ2YWwpKQorRlJPTSB4bWx0ZXN0IFdIRVJFIGlkID0gNDI7CisgICAg ICAgICAgICAgICAgICAgeG1sY2FzdCAgICAgICAgICAgICAgICAgICAgfCBwZ190eXBlb2Yg fCAgICAgICAgICAgICAgICAgICB4bWxjYXN0ICAgICAgICAgICAgICAgICAgICB8IHBnX3R5 cGVvZiAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLQorIEAgMSB5ZWFyIDIgbW9ucyAzIGRheXMgNCBob3VycyA1IG1p bnMgNiBzZWNzIHwgaW50ZXJ2YWwgIHwgQCAxIHllYXIgMiBtb25zIDMgZGF5cyA0IGhvdXJz IDUgbWlucyA2IHNlY3MgfCBpbnRlcnZhbAorKDEgcm93KQorCitTRUxFQ1QKKyAgeG1sY2Fz dCgoeHBhdGgoJy8vdGltZS90ZXh0KCknLCBkYXRhKSlbMV0gQVMgdGltZSksIHBnX3R5cGVv Zih4bWxjYXN0KCh4cGF0aCgnLy90aW1lL3RleHQoKScsIGRhdGEpKVsxXSBBUyB0aW1lKSks CisgIHhtbGNhc3QoKHhwYXRoKCcvL3RpbWVfdHoxL3RleHQoKScsIGRhdGEpKVsxXSBBUyB0 aW1lIHdpdGggdGltZSB6b25lKSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL3RpbWVf dHoxL3RleHQoKScsIGRhdGEpKVsxXSBBUyB0aW1lIHdpdGggdGltZSB6b25lKSksCisgIHht bGNhc3QoKHhwYXRoKCcvL3RpbWVfdHoyL3RleHQoKScsIGRhdGEpKVsxXSBBUyB0aW1lIHdp dGggdGltZSB6b25lKSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL3RpbWVfdHoyL3Rl eHQoKScsIGRhdGEpKVsxXSBBUyB0aW1lIHdpdGggdGltZSB6b25lKSksCisgIHhtbGNhc3Qo KHhwYXRoKCcvL3RpbWVfdHozL3RleHQoKScsIGRhdGEpKVsxXSBBUyB0aW1lIHdpdGggdGlt ZSB6b25lKSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL3RpbWVfdHozL3RleHQoKScs IGRhdGEpKVsxXSBBUyB0aW1lIHdpdGggdGltZSB6b25lKSkKK0ZST00geG1sdGVzdCBXSEVS RSBpZCA9IDQyOworICB4bWxjYXN0ICAgfCAgICAgICBwZ190eXBlb2YgICAgICAgIHwgICB4 bWxjYXN0ICAgfCAgICAgIHBnX3R5cGVvZiAgICAgIHwgICB4bWxjYXN0ICAgfCAgICAgIHBn X3R5cGVvZiAgICAgIHwgICB4bWxjYXN0ICAgfCAgICAgIHBnX3R5cGVvZiAgICAgIAorLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDA5OjMwOjEwLjUgfCB0aW1l IHdpdGhvdXQgdGltZSB6b25lIHwgMDk6MzA6MTArMDAgfCB0aW1lIHdpdGggdGltZSB6b25l IHwgMDk6MzA6MTAtMDYgfCB0aW1lIHdpdGggdGltZSB6b25lIHwgMDk6MzA6MTArMDYgfCB0 aW1lIHdpdGggdGltZSB6b25lCisoMSByb3cpCisKK1NFTEVDVAorICB4bWxjYXN0KCh4cGF0 aCgnLy90ZXh0MS90ZXh0KCknLCBkYXRhKSlbMV0gQVMgdGV4dCksIHBnX3R5cGVvZih4bWxj YXN0KCh4cGF0aCgnLy90ZXh0MS90ZXh0KCknLCBkYXRhKSlbMV0gQVMgdGV4dCkpLAorICB4 bWxjYXN0KCh4cGF0aCgnLy90ZXh0Mi90ZXh0KCknLCBkYXRhKSlbMV0gQVMgdGV4dCksIHBn X3R5cGVvZih4bWxjYXN0KCh4cGF0aCgnLy90ZXh0Mi90ZXh0KCknLCBkYXRhKSlbMV0gQVMg dGV4dCkpLAorICB4bWxjYXN0KCh4cGF0aCgnLy90ZXh0My90ZXh0KCknLCBkYXRhKSlbMV0g QVMgdGV4dCksIHBnX3R5cGVvZih4bWxjYXN0KCh4cGF0aCgnLy90ZXh0My90ZXh0KCknLCBk YXRhKSlbMV0gQVMgdGV4dCkpCitGUk9NIHhtbHRlc3QgV0hFUkUgaWQgPSA0MjsKKyB4bWxj YXN0IHwgcGdfdHlwZW9mIHwgICAgICAgeG1sY2FzdCAgICAgICB8IHBnX3R5cGVvZiB8ICAg IHhtbGNhc3QgICAgfCBwZ190eXBlb2YgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LQorIGZvbyBiYXIgfCB0ZXh0ICAgICAgfCAgICAgICAgZm9vIGJhciAgICAgIHwgdGV4dCAg ICAgIHwgZm9vICYgPCJiYXIiPiB8IHRleHQKKygxIHJvdykKKworU0VMRUNUCisgIHhtbGNh c3QoKHhwYXRoKCcvL3RleHQxL3RleHQoKScsIGRhdGEpKVsxXSBBUyB2YXJjaGFyKSwgcGdf dHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL3RleHQxL3RleHQoKScsIGRhdGEpKVsxXSBBUyB2 YXJjaGFyKSksCisgIHhtbGNhc3QoKHhwYXRoKCcvL3RleHQyL3RleHQoKScsIGRhdGEpKVsx XSBBUyB2YXJjaGFyKSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL3RleHQyL3RleHQo KScsIGRhdGEpKVsxXSBBUyB2YXJjaGFyKSksCisgIHhtbGNhc3QoKHhwYXRoKCcvL3RleHQz L3RleHQoKScsIGRhdGEpKVsxXSBBUyB2YXJjaGFyKSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhw YXRoKCcvL3RleHQzL3RleHQoKScsIGRhdGEpKVsxXSBBUyB2YXJjaGFyKSkKK0ZST00geG1s dGVzdCBXSEVSRSBpZCA9IDQyOworIHhtbGNhc3QgfCAgICAgcGdfdHlwZW9mICAgICB8ICAg ICAgIHhtbGNhc3QgICAgICAgfCAgICAgcGdfdHlwZW9mICAgICB8ICAgIHhtbGNhc3QgICAg fCAgICAgcGdfdHlwZW9mICAgICAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tCisgZm9vIGJhciB8IGNoYXJhY3RlciB2YXJ5aW5nIHwg ICAgICAgIGZvbyBiYXIgICAgICB8IGNoYXJhY3RlciB2YXJ5aW5nIHwgZm9vICYgPCJiYXIi PiB8IGNoYXJhY3RlciB2YXJ5aW5nCisoMSByb3cpCisKK1NFTEVDVAorICB4bWxjYXN0KCh4 cGF0aCgnLy90ZXh0MS90ZXh0KCknLCBkYXRhKSlbMV0gQVMgbmFtZSksIHBnX3R5cGVvZih4 bWxjYXN0KCh4cGF0aCgnLy90ZXh0MS90ZXh0KCknLCBkYXRhKSlbMV0gQVMgbmFtZSkpLAor ICB4bWxjYXN0KCh4cGF0aCgnLy90ZXh0Mi90ZXh0KCknLCBkYXRhKSlbMV0gQVMgbmFtZSks IHBnX3R5cGVvZih4bWxjYXN0KCh4cGF0aCgnLy90ZXh0Mi90ZXh0KCknLCBkYXRhKSlbMV0g QVMgbmFtZSkpLAorICB4bWxjYXN0KCh4cGF0aCgnLy90ZXh0My90ZXh0KCknLCBkYXRhKSlb MV0gQVMgbmFtZSksIHBnX3R5cGVvZih4bWxjYXN0KCh4cGF0aCgnLy90ZXh0My90ZXh0KCkn LCBkYXRhKSlbMV0gQVMgbmFtZSkpCitGUk9NIHhtbHRlc3QgV0hFUkUgaWQgPSA0MjsKKyB4 bWxjYXN0IHwgcGdfdHlwZW9mIHwgICAgICAgeG1sY2FzdCAgICAgICB8IHBnX3R5cGVvZiB8 ICAgIHhtbGNhc3QgICAgfCBwZ190eXBlb2YgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLQorIGZvbyBiYXIgfCBuYW1lICAgICAgfCAgICAgICAgZm9vIGJhciAgICAgIHwgbmFt ZSAgICAgIHwgZm9vICYgPCJiYXIiPiB8IG5hbWUKKygxIHJvdykKKworU0VMRUNUCisgIHht bGNhc3QoKHhwYXRoKCcvL3RleHQxL3RleHQoKScsIGRhdGEpKVsxXSBBUyBicGNoYXIpLCBw Z190eXBlb2YoeG1sY2FzdCgoeHBhdGgoJy8vdGV4dDEvdGV4dCgpJywgZGF0YSkpWzFdIEFT IGJwY2hhcikpLAorICB4bWxjYXN0KCh4cGF0aCgnLy90ZXh0Mi90ZXh0KCknLCBkYXRhKSlb MV0gQVMgYnBjaGFyKSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL3RleHQyL3RleHQo KScsIGRhdGEpKVsxXSBBUyBicGNoYXIpKSwKKyAgeG1sY2FzdCgoeHBhdGgoJy8vdGV4dDMv dGV4dCgpJywgZGF0YSkpWzFdIEFTIGJwY2hhciksIHBnX3R5cGVvZih4bWxjYXN0KCh4cGF0 aCgnLy90ZXh0My90ZXh0KCknLCBkYXRhKSlbMV0gQVMgYnBjaGFyKSkKK0ZST00geG1sdGVz dCBXSEVSRSBpZCA9IDQyOworIHhtbGNhc3QgfCBwZ190eXBlb2YgfCAgICAgICB4bWxjYXN0 ICAgICAgIHwgcGdfdHlwZW9mIHwgICAgeG1sY2FzdCAgICB8IHBnX3R5cGVvZiAKKy0tLS0t LS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgZm9vIGJhciB8IGNoYXJhY3RlciB8ICAgICAg ICBmb28gYmFyICAgICAgfCBjaGFyYWN0ZXIgfCBmb28gJiA8ImJhciI+IHwgY2hhcmFjdGVy CisoMSByb3cpCisKK1NFTEVDVAorICB4bWxjYXN0KCh4cGF0aCgnLy9kZWNpbWFsMS90ZXh0 KCknLCBkYXRhKSlbMV0gQVMgbnVtZXJpYyksIHBnX3R5cGVvZih4bWxjYXN0KCh4cGF0aCgn Ly9kZWNpbWFsMS90ZXh0KCknLCBkYXRhKSlbMV0gQVMgbnVtZXJpYykpLAorICB4bWxjYXN0 KCh4cGF0aCgnLy9kZWNpbWFsMi90ZXh0KCknLCBkYXRhKSlbMV0gQVMgbnVtZXJpYyksIHBn X3R5cGVvZih4bWxjYXN0KCh4cGF0aCgnLy9kZWNpbWFsMi90ZXh0KCknLCBkYXRhKSlbMV0g QVMgbnVtZXJpYykpLAorICB4bWxjYXN0KCh4cGF0aCgnLy9kZWNpbWFsMy90ZXh0KCknLCBk YXRhKSlbMV0gQVMgbnVtZXJpYyksIHBnX3R5cGVvZih4bWxjYXN0KCh4cGF0aCgnLy9kZWNp bWFsMy90ZXh0KCknLCBkYXRhKSlbMV0gQVMgbnVtZXJpYykpCitGUk9NIHhtbHRlc3QgV0hF UkUgaWQgPSA0MjsKKyAgICAgeG1sY2FzdCAgICAgIHwgcGdfdHlwZW9mIHwgICAgIHhtbGNh c3QgICAgICB8IHBnX3R5cGVvZiB8ICAgICAgeG1sY2FzdCAgICAgIHwgcGdfdHlwZW9mIAor LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgNDIuNzMxMjM0NTY3 ODkxMCB8IG51bWVyaWMgICB8IDQyLjczMTIzNDU2Nzg5MTAgfCBudW1lcmljICAgfCAtNDIu NzMxMjM0NTY3ODkxMCB8IG51bWVyaWMKKygxIHJvdykKKworU0VMRUNUCisgIHhtbGNhc3Qo KHhwYXRoKCcvL2RlY2ltYWwxL3RleHQoKScsIGRhdGEpKVsxXSBBUyBkb3VibGUgcHJlY2lz aW9uKSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL2RlY2ltYWwxL3RleHQoKScsIGRh dGEpKVsxXSBBUyBkb3VibGUgcHJlY2lzaW9uKSksCisgIHhtbGNhc3QoKHhwYXRoKCcvL2Rl Y2ltYWwyL3RleHQoKScsIGRhdGEpKVsxXSBBUyBkb3VibGUgcHJlY2lzaW9uKSwgcGdfdHlw ZW9mKHhtbGNhc3QoKHhwYXRoKCcvL2RlY2ltYWwyL3RleHQoKScsIGRhdGEpKVsxXSBBUyBk b3VibGUgcHJlY2lzaW9uKSksCisgIHhtbGNhc3QoKHhwYXRoKCcvL2RlY2ltYWwzL3RleHQo KScsIGRhdGEpKVsxXSBBUyBkb3VibGUgcHJlY2lzaW9uKSwgcGdfdHlwZW9mKHhtbGNhc3Qo KHhwYXRoKCcvL2RlY2ltYWwzL3RleHQoKScsIGRhdGEpKVsxXSBBUyBkb3VibGUgcHJlY2lz aW9uKSkKK0ZST00geG1sdGVzdCBXSEVSRSBpZCA9IDQyOworICAgICB4bWxjYXN0ICAgICB8 ICAgIHBnX3R5cGVvZiAgICAgfCAgICAgeG1sY2FzdCAgICAgfCAgICBwZ190eXBlb2YgICAg IHwgICAgIHhtbGNhc3QgICAgICB8ICAgIHBnX3R5cGVvZiAgICAgCistLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0KKyA0Mi43MzEy MzQ1Njc4OTEgfCBkb3VibGUgcHJlY2lzaW9uIHwgNDIuNzMxMjM0NTY3ODkxIHwgZG91Ymxl IHByZWNpc2lvbiB8IC00Mi43MzEyMzQ1Njc4OTEgfCBkb3VibGUgcHJlY2lzaW9uCisoMSBy b3cpCisKK1NFTEVDVAorICB4bWxjYXN0KCh4cGF0aCgnLy9pbnRlZ2VyMS90ZXh0KCknLCBk YXRhKSlbMV0gQVMgaW50KSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL2ludGVnZXIx L3RleHQoKScsIGRhdGEpKVsxXSBBUyBpbnQpKSwKKyAgeG1sY2FzdCgoeHBhdGgoJy8vaW50 ZWdlcjIvdGV4dCgpJywgZGF0YSkpWzFdIEFTIGludCksIHBnX3R5cGVvZih4bWxjYXN0KCh4 cGF0aCgnLy9pbnRlZ2VyMi90ZXh0KCknLCBkYXRhKSlbMV0gQVMgaW50KSksCisgIHhtbGNh c3QoKHhwYXRoKCcvL2ludGVnZXIzL3RleHQoKScsIGRhdGEpKVsxXSBBUyBpbnQpLCBwZ190 eXBlb2YoeG1sY2FzdCgoeHBhdGgoJy8vaW50ZWdlcjMvdGV4dCgpJywgZGF0YSkpWzFdIEFT IGludCkpCitGUk9NIHhtbHRlc3QgV0hFUkUgaWQgPSA0MjsKKyB4bWxjYXN0IHwgcGdfdHlw ZW9mIHwgeG1sY2FzdCB8IHBnX3R5cGVvZiB8IHhtbGNhc3QgfCBwZ190eXBlb2YgCistLS0t LS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0t LS0tLS0tLQorICAgICAgNDIgfCBpbnRlZ2VyICAgfCAgICAgIDQyIHwgaW50ZWdlciAgIHwg ICAgIC00MiB8IGludGVnZXIKKygxIHJvdykKKworU0VMRUNUCisgIHhtbGNhc3QoKHhwYXRo KCcvL2xvbmcxL3RleHQoKScsIGRhdGEpKVsxXSBBUyBiaWdpbnQpLCBwZ190eXBlb2YoeG1s Y2FzdCgoeHBhdGgoJy8vbG9uZzEvdGV4dCgpJywgZGF0YSkpWzFdIEFTIGJpZ2ludCkpLAor ICB4bWxjYXN0KCh4cGF0aCgnLy9sb25nMi90ZXh0KCknLCBkYXRhKSlbMV0gQVMgYmlnaW50 KSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL2xvbmcyL3RleHQoKScsIGRhdGEpKVsx XSBBUyBiaWdpbnQpKSwKKyAgeG1sY2FzdCgoeHBhdGgoJy8vbG9uZzMvdGV4dCgpJywgZGF0 YSkpWzFdIEFTIGJpZ2ludCksIHBnX3R5cGVvZih4bWxjYXN0KCh4cGF0aCgnLy9sb25nMy90 ZXh0KCknLCBkYXRhKSlbMV0gQVMgYmlnaW50KSkKK0ZST00geG1sdGVzdCBXSEVSRSBpZCA9 IDQyOworICAgICB4bWxjYXN0ICAgICAgfCBwZ190eXBlb2YgfCAgICAgeG1sY2FzdCAgICAg IHwgcGdfdHlwZW9mIHwgICAgICB4bWxjYXN0ICAgICAgfCBwZ190eXBlb2YgCistLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyA0MjczNTM1NDIwMTYyMDIxIHwg YmlnaW50ICAgIHwgNDI3MzUzNTQyMDE2MjAyMSB8IGJpZ2ludCAgICB8IC00MjczNTM1NDIw MTYyMDIxIHwgYmlnaW50CisoMSByb3cpCisKK1NFTEVDVAorICB4bWxjYXN0KCh4cGF0aCgn Ly9ib29sMS9AYXR0JywgZGF0YSkpWzFdIEFTIGJvb2xlYW4pLCBwZ190eXBlb2YoeG1sY2Fz dCgoeHBhdGgoJy8vYm9vbDEvQGF0dCcsIGRhdGEpKVsxXSBBUyBib29sZWFuKSksCisgIHht bGNhc3QoKHhwYXRoKCcvL2Jvb2wyL0BhdHQnLCBkYXRhKSlbMV0gQVMgYm9vbGVhbiksIHBn X3R5cGVvZih4bWxjYXN0KCh4cGF0aCgnLy9ib29sMS9AYXR0JywgZGF0YSkpWzFdIEFTIGJv b2xlYW4pKQorRlJPTSB4bWx0ZXN0IFdIRVJFIGlkID0gNDI7CisgeG1sY2FzdCB8IHBnX3R5 cGVvZiB8IHhtbGNhc3QgfCBwZ190eXBlb2YgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0t LS0tLS0tKy0tLS0tLS0tLS0tCisgdCAgICAgICB8IGJvb2xlYW4gICB8IGYgICAgICAgfCBi b29sZWFuCisoMSByb3cpCisKK1NFTEVDVCB4bWxjYXN0KCh4cGF0aCgnLy9lbXB0eS90ZXh0 KCknLCBkYXRhKSlbMV0gQVMgdGV4dCksIHBnX3R5cGVvZih4bWxjYXN0KCh4cGF0aCgnLy9l bXB0eS90ZXh0KCknLCBkYXRhKSlbMV0gQVMgdGV4dCkpCitGUk9NIHhtbHRlc3QgV0hFUkUg aWQgPSA0MjsKKyB4bWxjYXN0IHwgcGdfdHlwZW9mIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0t CisgICAgICAgICB8IHRleHQKKygxIHJvdykKKworLS0geG1sY2FzdCB0ZXN0cyBmb3IgIlhN TCB0byBYTUwiIGV4cHJlc3Npb25zCitTRUxFQ1QKKyAgeG1sY2FzdCgoeHBhdGgoJy8vdGV4 dDEvdGV4dCgpJywgZGF0YSkpWzFdIEFTIHhtbCksIHBnX3R5cGVvZih4bWxjYXN0KCh4cGF0 aCgnLy90ZXh0MS90ZXh0KCknLCBkYXRhKSlbMV0gQVMgeG1sKSksCisgIHhtbGNhc3QoKHhw YXRoKCcvL3RleHQyL3RleHQoKScsIGRhdGEpKVsxXSBBUyB4bWwpLCBwZ190eXBlb2YoeG1s Y2FzdCgoeHBhdGgoJy8vdGV4dDIvdGV4dCgpJywgZGF0YSkpWzFdIEFTIHhtbCkpLAorICB4 bWxjYXN0KCh4cGF0aCgnLy90ZXh0My90ZXh0KCknLCBkYXRhKSlbMV0gQVMgeG1sKSwgcGdf dHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL3RleHQzL3RleHQoKScsIGRhdGEpKVsxXSBBUyB4 bWwpKQorRlJPTSB4bWx0ZXN0IFdIRVJFIGlkID0gNDI7CisgeG1sY2FzdCB8IHBnX3R5cGVv ZiB8ICAgICAgIHhtbGNhc3QgICAgICAgfCBwZ190eXBlb2YgfCAgICAgICAgIHhtbGNhc3Qg ICAgICAgICB8IHBnX3R5cGVvZiAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLQorIGZvbyBiYXIgfCB4bWwgICAgICAgfCAgICAgICAgZm9vIGJhciAgICAgIHwg eG1sICAgICAgIHwgZm9vICZhbXA7ICZsdDsiYmFyIiZndDsgfCB4bWwKKygxIHJvdykKKwor LS0geG1sY2FzdCB0ZXN0cyBmb3IgIm5vbi1YTUwgdG8gWE1MIiBleHByZXNzaW9ucworU0VM RUNUIGosIHBnX3R5cGVvZihqKSBGUk9NIHhtbGNhc3QoTlVMTCBBUyB4bWwpIHQoaik7Cisg aiB8IHBnX3R5cGVvZiAKKy0tLSstLS0tLS0tLS0tLQorICAgfCB4bWwKKygxIHJvdykKKwor U0VMRUNUIGosIHBnX3R5cGVvZihqKSBGUk9NIHhtbGNhc3QoJ2ZvbycgQVMgeG1sKSB0KGop OworICBqICB8IHBnX3R5cGVvZiAKKy0tLS0tKy0tLS0tLS0tLS0tCisgZm9vIHwgeG1sCiso MSByb3cpCisKK1NFTEVDVCBqLCBwZ190eXBlb2YoaikgRlJPTSB4bWxjYXN0KCcnOjp0ZXh0 IEFTIHhtbCkgdChqKTsKKyBqIHwgcGdfdHlwZW9mIAorLS0tKy0tLS0tLS0tLS0tCisgICB8 IHhtbAorKDEgcm93KQorCitTRUxFQ1QgaiwgcGdfdHlwZW9mKGopIEZST00geG1sY2FzdChO VUxMOjp0ZXh0IEFTIHhtbCkgdChqKTsKKyBqIHwgcGdfdHlwZW9mIAorLS0tKy0tLS0tLS0t LS0tCisgICB8IHhtbAorKDEgcm93KQorCitTRUxFQ1QgaiwgcGdfdHlwZW9mKGopIEZST00g eG1sY2FzdCgnJzo6eG1sIEFTIHRleHQpIHQoaik7CisgaiB8IHBnX3R5cGVvZiAKKy0tLSst LS0tLS0tLS0tLQorICAgfCB0ZXh0CisoMSByb3cpCisKK1NFTEVDVCBqLCBwZ190eXBlb2Yo aikgRlJPTSB4bWxjYXN0KE5VTEw6OnhtbCBBUyB0ZXh0KSB0KGopOworIGogfCBwZ190eXBl b2YgCistLS0rLS0tLS0tLS0tLS0KKyAgIHwgdGV4dAorKDEgcm93KQorCitTRUxFQ1Qgaiwg cGdfdHlwZW9mKGopIEZST00geG1sY2FzdCgnZm9vICYgPCJiYXIiPic6OnRleHQgQVMgeG1s KSB0KGopOworICAgICAgICAgICAgICAgICBqICAgICAgICAgICAgICAgICB8IHBnX3R5cGVv ZiAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisg Zm9vICZhbXA7ICZsdDsmcXVvdDtiYXImcXVvdDsmZ3Q7IHwgeG1sCisoMSByb3cpCisKK1NF TEVDVCBqLCBwZ190eXBlb2YoaikgRlJPTSB4bWxjYXN0KCdmb28gJiA8ImJhciI+Jzo6dmFy Y2hhciBBUyB4bWwpIHQoaik7CisgICAgICAgICAgICAgICAgIGogICAgICAgICAgICAgICAg IHwgcGdfdHlwZW9mIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0KKyBmb28gJmFtcDsgJmx0OyZxdW90O2JhciZxdW90OyZndDsgfCB4bWwKKygx IHJvdykKKworU0VMRUNUIGosIHBnX3R5cGVvZihqKSBGUk9NIHhtbGNhc3QoJ2ZvbyAmIDwi YmFyIj4nOjpuYW1lIEFTIHhtbCkgdChqKTsKKyAgICAgICAgICAgICAgICAgaiAgICAgICAg ICAgICAgICAgfCBwZ190eXBlb2YgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLQorIGZvbyAmYW1wOyAmbHQ7JnF1b3Q7YmFyJnF1b3Q7Jmd0OyB8 IHhtbAorKDEgcm93KQorCitTRUxFQ1QgaiwgcGdfdHlwZW9mKGopIEZST00geG1sY2FzdCh4 bWx0ZXh0KEUnZm9vICYgPCJiYXIiPlxyJykgQVMgdGV4dCkgdChqKTsKKyAgICAgICAgaiAg ICAgICAgfCBwZ190eXBlb2YgCistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIGZv byAmIDwiYmFyIj5cciB8IHRleHQKKygxIHJvdykKKworU0VMRUNUIGosIHBnX3R5cGVvZihq KSBGUk9NIHhtbGNhc3QoeG1sY2FzdChFJ2ZvbyAmIDwiYmFyIj5ccicgQVMgeG1sKSBBUyB0 ZXh0KSB0KGopOworICAgICAgICBqICAgICAgICB8IHBnX3R5cGVvZiAKKy0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tCisgZm9vICYgPCJiYXIiPlxyIHwgdGV4dAorKDEgcm93KQor CitTRUxFQ1QgaiwgcGdfdHlwZW9mKGopIEZST00geG1sY2FzdCh0b19kYXRlKCcyOS8wNS8y MDI0JywnZGQvbW0veXl5eScpIEFTIHhtbCkgdChqKTsKKyAgICAgaiAgICAgIHwgcGdfdHlw ZW9mIAorLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgMjAyNC0wNS0yOSB8IHhtbAorKDEg cm93KQorCitTRUxFQ1QgaiwgcGdfdHlwZW9mKGopIEZST00geG1sY2FzdCgnMjAyNC0wNS0y OSAxMjowNDoxMC43MDM1ODUrMDInOjp0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgYXQgdGlt ZSB6b25lICdFdXJvcGUvQmVybGluJyBBUyB4bWwpIHQoaik7CisgICAgICAgICAgICAgaiAg ICAgICAgICAgICAgfCBwZ190eXBlb2YgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tCisgMjAyNC0wNS0yOVQxMjowNDoxMC43MDM1ODUgfCB4bWwKKygxIHJv dykKKworU0VMRUNUIGosIHBnX3R5cGVvZihqKSBGUk9NIHhtbGNhc3QoJzIwMjQtMDUtMjkg MTI6MDQ6MTAuNzAzNTg1KzAyJzo6dGltZXN0YW1wIHdpdGhvdXQgdGltZSB6b25lIEFTIHht bCkgdChqKTsKKyAgICAgICAgICAgICBqICAgICAgICAgICAgICB8IHBnX3R5cGVvZiAKKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyAyMDI0LTA1LTI5VDEy OjA0OjEwLjcwMzU4NSB8IHhtbAorKDEgcm93KQorCitTRUxFQ1QgaiwgcGdfdHlwZW9mKGop IEZST00geG1sY2FzdCgnMSB5ZWFyIDIgbW9udGhzIDMgZGF5cyA0IGhvdXJzIDUgbWludXRl cyA2IHNlY29uZHMnOjppbnRlcnZhbCBBUyB4bWwpIHQoaik7CisgICAgICAgaiAgICAgICAg fCBwZ190eXBlb2YgCistLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgUDFZMk0zRFQ0 SDVNNlMgfCB4bWwKKygxIHJvdykKKworU0VMRUNUIGosIHBnX3R5cGVvZihqKSBGUk9NIHht bGNhc3QoNDI3MzUzNTQyIEFTIHhtbCkgdChqKTsKKyAgICAgaiAgICAgfCBwZ190eXBlb2Yg CistLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIDQyNzM1MzU0MiB8IHhtbAorKDEgcm93KQor CitTRUxFQ1QgaiwgcGdfdHlwZW9mKGopIEZST00geG1sY2FzdCg0MjczNTM1NDIwMTYyMDIx IEFTIHhtbCkgdChqKTsKKyAgICAgICAgaiAgICAgICAgIHwgcGdfdHlwZW9mIAorLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgNDI3MzUzNTQyMDE2MjAyMSB8IHhtbAorKDEg cm93KQorCitTRUxFQ1QgaiwgcGdfdHlwZW9mKGopIEZST00geG1sY2FzdCg0Mi4wMDczMTIz NDU2Nzg5MTAgQVMgeG1sKSB0KGopOworICAgICAgICAgaiAgICAgICAgICB8IHBnX3R5cGVv ZiAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgNDIuMDA3MzEyMzQ1Njc4 OTEwIHwgeG1sCisoMSByb3cpCisKK1NFTEVDVCBqLCBwZ190eXBlb2YoaikgRlJPTSB4bWxj YXN0KDQyLjAwNzMxMjM0NTY3ODkxMDo6ZG91YmxlIHByZWNpc2lvbiBBUyB4bWwpIHQoaik7 CisgICAgICAgICBqICAgICAgICAgfCBwZ190eXBlb2YgCistLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tCisgNDIuMDA3MzEyMzQ1Njc4OTEgfCB4bWwKKygxIHJvdykKKworU0VM RUNUIGosIHBnX3R5cGVvZihqKSBGUk9NIHhtbGNhc3QodHJ1ZSBBUyB4bWwpIHQoaik7Cisg IGogICB8IHBnX3R5cGVvZiAKKy0tLS0tLSstLS0tLS0tLS0tLQorIHRydWUgfCB4bWwKKygx IHJvdykKKworU0VMRUNUIGosIHBnX3R5cGVvZihqKSBGUk9NIHhtbGNhc3QoZmFsc2UgQVMg eG1sKSB0KGopOworICAgaiAgIHwgcGdfdHlwZW9mIAorLS0tLS0tLSstLS0tLS0tLS0tLQor IGZhbHNlIHwgeG1sCisoMSByb3cpCisKK1NFTEVDVCBqLCBwZ190eXBlb2YoaikgRlJPTSB4 bWxjYXN0KDQyID0gNzMgQVMgeG1sKSB0KGopOworICAgaiAgIHwgcGdfdHlwZW9mIAorLS0t LS0tLSstLS0tLS0tLS0tLQorIGZhbHNlIHwgeG1sCisoMSByb3cpCisKK1NFTEVDVCBqLCBw Z190eXBlb2YoaikgRlJPTSB4bWxjYXN0KDQyIDw+IDczIEFTIHhtbCkgdChqKTsKKyAgaiAg IHwgcGdfdHlwZW9mIAorLS0tLS0tKy0tLS0tLS0tLS0tCisgdHJ1ZSB8IHhtbAorKDEgcm93 KQorCitTRUxFQ1QgaiwgcGdfdHlwZW9mKGopIEZST00geG1sY2FzdCgnMTE6MTE6MTEuNSc6 OnRpbWUgQVMgeG1sKSB0KGopOworICAgICBqICAgICAgfCBwZ190eXBlb2YgCistLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0KKyAxMToxMToxMS41IHwgeG1sCisoMSByb3cpCisKK1NFTEVD VCBqLCBwZ190eXBlb2YoaikgRlJPTSB4bWxjYXN0KCcxMToxMToxMS41Jzo6dGltZSB3aXRo IHRpbWUgem9uZSBhdCB0aW1lIHpvbmUgJ0V1cm9wZS9CZXJsaW4nIEFTIHhtbCkgdChqKTsK KyAgICAgICBqICAgICAgIHwgcGdfdHlwZW9mIAorLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tCisgMTk6MTE6MTEuNSswMSB8IHhtbAorKDEgcm93KQorCistLSBDb252ZXJ0IGFuIFhN TCBzdHJpbmcgdG8gYnl0ZWEgYW5kIGJhY2sgdG8geG1sCitTRUxFQ1QgeG1sY2FzdChjb252 ZXJ0X2Zyb20oeG1sY2FzdCgnJmx0OyZxdW90O2ZvbyZhbXA7YmFyJnF1b3Q7Jmd0Oyc6Onht bCBBUyBieXRlYSksJ1VURjgnKTo6eG1sIEFTIHRleHQpOworICAgeG1sY2FzdCAgIAorLS0t LS0tLS0tLS0tLQorIDwiZm9vJmJhciI+CisoMSByb3cpCisKK1NFVCB4bWxiaW5hcnkgVE8g aGV4OworU0VMRUNUIHhtbGNhc3QoRSdcXHhERUFEQkVFRic6OmJ5dGVhIEFTIHhtbCk7Cisg eG1sY2FzdCAgCistLS0tLS0tLS0tCisgREVBREJFRUYKKygxIHJvdykKKworU0VUIHhtbGJp bmFyeSBUTyBiYXNlNjQ7CitTRUxFQ1QgeG1sY2FzdChFJ1xceERFQURCRUVGJzo6Ynl0ZWEg QVMgeG1sKTsKKyB4bWxjYXN0ICAKKy0tLS0tLS0tLS0KKyAzcTIrN3c9PQorKDEgcm93KQor CistLSBUaGUgQlkgUkVGIGFuZCBCWSBWQUxVRSBjbGF1c2VzIGFyZSBhY2NlcHRlZCBidXQg aWdub3JlZC4KKy0tIFRoaXMgY2hlY2tzIGlmIHRoZSByZXN1bHRzIGFyZSBpbmRlZWQgdGhl IHNhbWUgYXMgd2l0aG91dCB0aGUgY2xhdXNlcy4KK1NFTEVDVAorICB4bWxjYXN0KCdmb28n IEFTIHhtbCk6OnRleHQgPSB4bWxjYXN0KCdmb28nIEFTIHhtbCBCWSBSRUYpOjp0ZXh0LAor ICB4bWxjYXN0KCdmb28nIEFTIHhtbCk6OnRleHQgPSB4bWxjYXN0KCdmb28nIEFTIHhtbCBC WSBWQUxVRSk6OnRleHQsCisgIHhtbGNhc3QoJ2Zvbyc6OnhtbCBBUyB0ZXh0KSA9IHhtbGNh c3QoJ2Zvbyc6OnhtbCBBUyB0ZXh0IEJZIFJFRiksCisgIHhtbGNhc3QoJ2Zvbyc6OnhtbCBB UyB0ZXh0KSA9IHhtbGNhc3QoJ2Zvbyc6OnhtbCBBUyB0ZXh0IEJZIFZBTFVFKTsKKyA/Y29s dW1uPyB8ID9jb2x1bW4/IHwgP2NvbHVtbj8gfCA/Y29sdW1uPyAKKy0tLS0tLS0tLS0rLS0t LS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0KKyB0ICAgICAgICB8IHQgICAgICAgIHwg dCAgICAgICAgfCB0CisoMSByb3cpCisKK1NFTEVDVAorICB4bWxjYXN0KDQyIEFTIHhtbCk6 OnRleHQgPSB4bWxjYXN0KDQyIEFTIHhtbCBCWSBSRUYpOjp0ZXh0LAorICB4bWxjYXN0KDQy IEFTIHhtbCk6OnRleHQgPSB4bWxjYXN0KDQyIEFTIHhtbCBCWSBWQUxVRSk6OnRleHQsCisg IHhtbGNhc3QoJzQyJzo6eG1sIEFTIGludCkgPSB4bWxjYXN0KCc0Mic6OnhtbCBBUyBpbnQg QlkgUkVGKSwKKyAgeG1sY2FzdCgnNDInOjp4bWwgQVMgaW50KSA9IHhtbGNhc3QoJzQyJzo6 eG1sIEFTIGludCBCWSBWQUxVRSk7CisgP2NvbHVtbj8gfCA/Y29sdW1uPyB8ID9jb2x1bW4/ IHwgP2NvbHVtbj8gCistLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0t LS0tCisgdCAgICAgICAgfCB0ICAgICAgICB8IHQgICAgICAgIHwgdAorKDEgcm93KQorCitT RUxFQ1QKKyAgeG1sY2FzdCg0Mi43MyBBUyB4bWwpOjp0ZXh0ID0geG1sY2FzdCg0Mi43MyBB UyB4bWwgQlkgUkVGKTo6dGV4dCwKKyAgeG1sY2FzdCg0Mi43MyBBUyB4bWwpOjp0ZXh0ID0g eG1sY2FzdCg0Mi43MyBBUyB4bWwgQlkgVkFMVUUpOjp0ZXh0LAorICB4bWxjYXN0KCc0Mi43 Myc6OnhtbCBBUyBudW1lcmljKSA9IHhtbGNhc3QoJzQyLjczJzo6eG1sIEFTIG51bWVyaWMg QlkgUkVGKSwKKyAgeG1sY2FzdCgnNDIuNzMnOjp4bWwgQVMgbnVtZXJpYykgPSB4bWxjYXN0 KCc0Mi43Myc6OnhtbCBBUyBudW1lcmljIEJZIFZBTFVFKTsKKyA/Y29sdW1uPyB8ID9jb2x1 bW4/IHwgP2NvbHVtbj8gfCA/Y29sdW1uPyAKKy0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0t LS0tLS0tKy0tLS0tLS0tLS0KKyB0ICAgICAgICB8IHQgICAgICAgIHwgdCAgICAgICAgfCB0 CisoMSByb3cpCisKK1NFTEVDVAorICB4bWxjYXN0KCcyMDI0LTA4LTE0Jzo6ZGF0ZSBBUyB4 bWwpOjp0ZXh0ID0geG1sY2FzdCgnMjAyNC0wOC0xNCc6OmRhdGUgQVMgeG1sIEJZIFJFRik6 OnRleHQsCisgIHhtbGNhc3QoJzIwMjQtMDgtMTQnOjpkYXRlIEFTIHhtbCk6OnRleHQgPSB4 bWxjYXN0KCcyMDI0LTA4LTE0Jzo6ZGF0ZSBBUyB4bWwgQlkgVkFMVUUpOjp0ZXh0LAorICB4 bWxjYXN0KCcyMDI0LTA4LTE0Jzo6eG1sIEFTIGRhdGUpID0geG1sY2FzdCgnMjAyNC0wOC0x NCc6OnhtbCBBUyBkYXRlIEJZIFJFRiksCisgIHhtbGNhc3QoJzIwMjQtMDgtMTQnOjp4bWwg QVMgZGF0ZSkgPSB4bWxjYXN0KCcyMDI0LTA4LTE0Jzo6eG1sIEFTIGRhdGUgQlkgVkFMVUUp OworID9jb2x1bW4/IHwgP2NvbHVtbj8gfCA/Y29sdW1uPyB8ID9jb2x1bW4/IAorLS0tLS0t LS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLQorIHQgICAgICAgIHwgdCAg ICAgICAgfCB0ICAgICAgICB8IHQKKygxIHJvdykKKworU0VMRUNUCisgIHhtbGNhc3QoJzEy OjMwOjQ1Jzo6dGltZSB3aXRob3V0IHRpbWUgem9uZSBBUyB4bWwpOjp0ZXh0ID0geG1sY2Fz dCgnMTI6MzA6NDUnOjp0aW1lIHdpdGhvdXQgdGltZSB6b25lIEFTIHhtbCBCWSBSRUYpOjp0 ZXh0LAorICB4bWxjYXN0KCcxMjozMDo0NSc6OnRpbWUgd2l0aG91dCB0aW1lIHpvbmUgQVMg eG1sKTo6dGV4dCA9IHhtbGNhc3QoJzEyOjMwOjQ1Jzo6dGltZSB3aXRob3V0IHRpbWUgem9u ZSBBUyB4bWwgQlkgVkFMVUUpOjp0ZXh0LAorICB4bWxjYXN0KCcxMjozMDo0NSc6OnhtbCBB UyB0aW1lIHdpdGhvdXQgdGltZSB6b25lKSA9IHhtbGNhc3QoJzEyOjMwOjQ1Jzo6eG1sIEFT IHRpbWUgd2l0aG91dCB0aW1lIHpvbmUgQlkgUkVGKSwKKyAgeG1sY2FzdCgnMTI6MzA6NDUn Ojp4bWwgQVMgdGltZSB3aXRob3V0IHRpbWUgem9uZSkgPSB4bWxjYXN0KCcxMjozMDo0NSc6 OnhtbCBBUyB0aW1lIHdpdGhvdXQgdGltZSB6b25lIEJZIFZBTFVFKTsKKyA/Y29sdW1uPyB8 ID9jb2x1bW4/IHwgP2NvbHVtbj8gfCA/Y29sdW1uPyAKKy0tLS0tLS0tLS0rLS0tLS0tLS0t LSstLS0tLS0tLS0tKy0tLS0tLS0tLS0KKyB0ICAgICAgICB8IHQgICAgICAgIHwgdCAgICAg ICAgfCB0CisoMSByb3cpCisKK1NFTEVDVAorICB4bWxjYXN0KCcwOTozMDoxMCswNjowMCc6 OnRpbWUgd2l0aCB0aW1lIHpvbmUgQVMgeG1sKTo6dGV4dCA9IHhtbGNhc3QoJzA5OjMwOjEw KzA2OjAwJzo6dGltZSB3aXRoIHRpbWUgem9uZSBBUyB4bWwgQlkgUkVGKTo6dGV4dCwKKyAg eG1sY2FzdCgnMDk6MzA6MTArMDY6MDAnOjp0aW1lIHdpdGggdGltZSB6b25lIEFTIHhtbCk6 OnRleHQgPSB4bWxjYXN0KCcwOTozMDoxMCswNjowMCc6OnRpbWUgd2l0aCB0aW1lIHpvbmUg QVMgeG1sIEJZIFZBTFVFKTo6dGV4dCwKKyAgeG1sY2FzdCgnMDk6MzA6MTArMDY6MDAnOjp4 bWwgQVMgdGltZSB3aXRoIHRpbWUgem9uZSkgPSB4bWxjYXN0KCcwOTozMDoxMCswNjowMCc6 OnhtbCBBUyB0aW1lIHdpdGggdGltZSB6b25lIEJZIFJFRiksCisgIHhtbGNhc3QoJzA5OjMw OjEwKzA2OjAwJzo6eG1sIEFTIHRpbWUgd2l0aCB0aW1lIHpvbmUpID0geG1sY2FzdCgnMDk6 MzA6MTArMDY6MDAnOjp4bWwgQVMgdGltZSB3aXRoIHRpbWUgem9uZSBCWSBWQUxVRSk7Cisg P2NvbHVtbj8gfCA/Y29sdW1uPyB8ID9jb2x1bW4/IHwgP2NvbHVtbj8gCistLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tCisgdCAgICAgICAgfCB0ICAgICAg ICB8IHQgICAgICAgIHwgdAorKDEgcm93KQorCitTRUxFQ1QKKyAgeG1sY2FzdCgnMjAwMi0w NS0zMCAwOTozMDoxMCswNjowMCc6OnRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBBUyB4bWwp Ojp0ZXh0ID0geG1sY2FzdCgnMjAwMi0wNS0zMCAwOTozMDoxMCswNjowMCc6OnRpbWVzdGFt cCB3aXRoIHRpbWUgem9uZSBBUyB4bWwgQlkgUkVGKTo6dGV4dCwKKyAgeG1sY2FzdCgnMjAw Mi0wNS0zMCAwOTozMDoxMCswNjowMCc6OnRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBBUyB4 bWwpOjp0ZXh0ID0geG1sY2FzdCgnMjAwMi0wNS0zMCAwOTozMDoxMCswNjowMCc6OnRpbWVz dGFtcCB3aXRoIHRpbWUgem9uZSBBUyB4bWwgQlkgVkFMVUUpOjp0ZXh0LAorICB4bWxjYXN0 KCcyMDAyLTA1LTMwVDA5OjMwOjEwKzA2OjAwJzo6eG1sIEFTIHRpbWVzdGFtcCB3aXRoIHRp bWUgem9uZSkgPSB4bWxjYXN0KCcyMDAyLTA1LTMwVDA5OjMwOjEwKzA2OjAwJzo6eG1sIEFT IHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBCWSBSRUYpLAorICB4bWxjYXN0KCcyMDAyLTA1 LTMwVDA5OjMwOjEwKzA2OjAwJzo6eG1sIEFTIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSkg PSB4bWxjYXN0KCcyMDAyLTA1LTMwVDA5OjMwOjEwKzA2OjAwJzo6eG1sIEFTIHRpbWVzdGFt cCB3aXRoIHRpbWUgem9uZSBCWSBWQUxVRSk7CisgP2NvbHVtbj8gfCA/Y29sdW1uPyB8ID9j b2x1bW4/IHwgP2NvbHVtbj8gCistLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLSst LS0tLS0tLS0tCisgdCAgICAgICAgfCB0ICAgICAgICB8IHQgICAgICAgIHwgdAorKDEgcm93 KQorCitTRUxFQ1QKKyAgeG1sY2FzdCgnMSB5ZWFyIDIgbW9ucyc6OmludGVydmFsIEFTIHht bCk6OnRleHQgPSB4bWxjYXN0KCcxIHllYXIgMiBtb25zJzo6aW50ZXJ2YWwgQVMgeG1sIEJZ IFJFRik6OnRleHQsCisgIHhtbGNhc3QoJzEgeWVhciAyIG1vbnMnOjppbnRlcnZhbCBBUyB4 bWwpOjp0ZXh0ID0geG1sY2FzdCgnMSB5ZWFyIDIgbW9ucyc6OmludGVydmFsIEFTIHhtbCBC WSBWQUxVRSk6OnRleHQsCisgIHhtbGNhc3QoJzEgeWVhciAyIG1vbnMnOjp4bWwgQVMgaW50 ZXJ2YWwpID0geG1sY2FzdCgnMSB5ZWFyIDIgbW9ucyc6OnhtbCBBUyBpbnRlcnZhbCBCWSBS RUYpLAorICB4bWxjYXN0KCcxIHllYXIgMiBtb25zJzo6eG1sIEFTIGludGVydmFsKSA9IHht bGNhc3QoJzEgeWVhciAyIG1vbnMnOjp4bWwgQVMgaW50ZXJ2YWwgQlkgVkFMVUUpOworID9j b2x1bW4/IHwgP2NvbHVtbj8gfCA/Y29sdW1uPyB8ID9jb2x1bW4/IAorLS0tLS0tLS0tLSst LS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLQorIHQgICAgICAgIHwgdCAgICAgICAg fCB0ICAgICAgICB8IHQKKygxIHJvdykKKworQ1JFQVRFIFZJRVcgdmlld194bWxjYXN0X3Rv X3htbCBBUworU0VMRUNUCisgIHhtbGNhc3QoTlVMTCBBUyB4bWwpIEFTIGMxLAorICB4bWxj YXN0KCdmb28nIEFTIHhtbCkgQVMgYzIsCisgIHhtbGNhc3QoJyc6OnRleHQgQVMgeG1sKSBB UyBjMywKKyAgeG1sY2FzdChOVUxMOjp0ZXh0IEFTIHhtbCkgQVMgYzQsCisgIHhtbGNhc3Qo Jyc6OnhtbCBBUyB0ZXh0KSBBUyBjNSwKKyAgeG1sY2FzdChOVUxMOjp4bWwgQVMgdGV4dCkg YzYsCisgIHhtbGNhc3QoJ2ZvbyAmIDwiYmFyIj4nOjp0ZXh0IEFTIHhtbCkgQVMgYzcsCisg IHhtbGNhc3QoJ2ZvbyAmIDwiYmFyIj4nOjp2YXJjaGFyIEFTIHhtbCkgQVMgYzgsCisgIHht bGNhc3QoJ2ZvbyAmIDwiYmFyIj4nOjpuYW1lIEFTIHhtbCkgQVMgYzksCisgIHhtbGNhc3Qo eG1sdGV4dChFJ2ZvbyAmIDwiYmFyIj5ccicpIEFTIHRleHQpIEFTIGMxMCwKKyAgeG1sY2Fz dCh4bWxjYXN0KEUnZm9vICYgPCJiYXIiPlxyJyBBUyB4bWwpIEFTIHRleHQpIEFTIGMxMSwK KyAgeG1sY2FzdCh0b19kYXRlKCcyOS8wNS8yMDI0JywnZGQvbW0veXl5eScpIEFTIHhtbCkg QVMgYzEyLAorICB4bWxjYXN0KCcyMDI0LTA1LTI5IDEyOjA0OjEwLjcwMzU4NSswMic6OnRp bWVzdGFtcCB3aXRoIHRpbWUgem9uZSBhdCB0aW1lIHpvbmUgJ0V1cm9wZS9CZXJsaW4nIEFT IHhtbCkgQVMgYzEzLAorICB4bWxjYXN0KCcyMDI0LTA1LTI5IDEyOjA0OjEwLjcwMzU4NSsw Mic6OnRpbWVzdGFtcCB3aXRob3V0IHRpbWUgem9uZSBBUyB4bWwpIEFTIGMxNCwKKyAgeG1s Y2FzdCgnMSB5ZWFyIDIgbW9udGhzIDMgZGF5cyA0IGhvdXJzIDUgbWludXRlcyA2IHNlY29u ZHMnOjppbnRlcnZhbCBBUyB4bWwpIEFTIGMxNSwKKyAgeG1sY2FzdCg0MjczNTM1NDIgQVMg eG1sKSBBUyBjMTYsCisgIHhtbGNhc3QoNDI3MzUzNTQyMDE2MjAyMSBBUyB4bWwpIEFTIGMx NywKKyAgeG1sY2FzdCg0Mi4wMDczMTIzNDU2Nzg5MTAgQVMgeG1sKSBBUyBjMTgsCisgIHht bGNhc3QoNDIuMDA3MzEyMzQ1Njc4OTEwOjpkb3VibGUgcHJlY2lzaW9uIEFTIHhtbCkgQVMg YzE5LAorICB4bWxjYXN0KHRydWUgQVMgeG1sKSBBUyBjMjAsCisgIHhtbGNhc3QoZmFsc2Ug QVMgeG1sKSBBUyBjMjEsCisgIHhtbGNhc3QoNDIgPSA3MyBBUyB4bWwpIEFTIGMyMiwKKyAg eG1sY2FzdCg0MiA8PiA3MyBBUyB4bWwpIEFTIGMyMywKKyAgeG1sY2FzdCgnMTE6MTE6MTEu NSc6OnRpbWUgQVMgeG1sKSBBUyBjMjQsCisgIHhtbGNhc3QoJzExOjExOjExLjUnOjp0aW1l IHdpdGggdGltZSB6b25lIGF0IHRpbWUgem9uZSAnRXVyb3BlL0JlcmxpbicgQVMgeG1sKSBB UyBjMjU7Citcc3Ygdmlld194bWxjYXN0X3RvX3htbAorQ1JFQVRFIE9SIFJFUExBQ0UgVklF VyBwdWJsaWMudmlld194bWxjYXN0X3RvX3htbCBBUworIFNFTEVDVCBYTUxDQVNUKE5VTEw6 OnRleHQgQVMgeG1sKTo6eG1sIEFTIGMxLAorICAgIFhNTENBU1QoJ2Zvbyc6OnRleHQgQVMg eG1sKTo6eG1sIEFTIGMyLAorICAgIFhNTENBU1QoJyc6OnRleHQgQVMgeG1sKTo6eG1sIEFT IGMzLAorICAgIFhNTENBU1QoTlVMTDo6dGV4dCBBUyB4bWwpOjp4bWwgQVMgYzQsCisgICAg WE1MQ0FTVCgnJzo6eG1sIEFTIHRleHQpOjp0ZXh0IEFTIGM1LAorICAgIFhNTENBU1QoTlVM TDo6eG1sIEFTIHRleHQpOjp0ZXh0IEFTIGM2LAorICAgIFhNTENBU1QoJ2ZvbyAmIDwiYmFy Ij4nOjp0ZXh0IEFTIHhtbCk6OnhtbCBBUyBjNywKKyAgICBYTUxDQVNUKCdmb28gJiA8ImJh ciI+Jzo6Y2hhcmFjdGVyIHZhcnlpbmcgQVMgeG1sKTo6eG1sIEFTIGM4LAorICAgIFhNTENB U1QoJ2ZvbyAmIDwiYmFyIj4nOjpuYW1lOjp0ZXh0IEFTIHhtbCk6OnhtbCBBUyBjOSwKKyAg ICBYTUxDQVNUKHhtbHRleHQoJ2ZvbyAmIDwiYmFyIj4KKyc6OnRleHQpIEFTIHRleHQpOjp0 ZXh0IEFTIGMxMCwKKyAgICBYTUxDQVNUKFhNTENBU1QoJ2ZvbyAmIDwiYmFyIj4KKyc6OnRl eHQgQVMgeG1sKTo6eG1sIEFTIHRleHQpOjp0ZXh0IEFTIGMxMSwKKyAgICBYTUxDQVNUKHRv X2RhdGUoJzI5LzA1LzIwMjQnOjp0ZXh0LCAnZGQvbW0veXl5eSc6OnRleHQpIEFTIHhtbCk6 OnhtbCBBUyBjMTIsCisgICAgWE1MQ0FTVCgoJ1dlZCBNYXkgMjkgMDM6MDQ6MTAuNzAzNTg1 IDIwMjQgUERUJzo6dGltZXN0YW1wIHdpdGggdGltZSB6b25lIEFUIFRJTUUgWk9ORSAnRXVy b3BlL0Jlcmxpbic6OnRleHQpIEFTIHhtbCk6OnhtbCBBUyBjMTMsCisgICAgWE1MQ0FTVCgn V2VkIE1heSAyOSAxMjowNDoxMC43MDM1ODUgMjAyNCc6OnRpbWVzdGFtcCB3aXRob3V0IHRp bWUgem9uZSBBUyB4bWwpOjp4bWwgQVMgYzE0LAorICAgIFhNTENBU1QoJ0AgMSB5ZWFyIDIg bW9ucyAzIGRheXMgNCBob3VycyA1IG1pbnMgNiBzZWNzJzo6aW50ZXJ2YWwgQVMgeG1sKTo6 eG1sIEFTIGMxNSwKKyAgICBYTUxDQVNUKDQyNzM1MzU0Mjo6dGV4dCBBUyB4bWwpOjp4bWwg QVMgYzE2LAorICAgIFhNTENBU1QoJzQyNzM1MzU0MjAxNjIwMjEnOjpiaWdpbnQ6OnRleHQg QVMgeG1sKTo6eG1sIEFTIGMxNywKKyAgICBYTUxDQVNUKDQyLjAwNzMxMjM0NTY3ODkxMDo6 dGV4dCBBUyB4bWwpOjp4bWwgQVMgYzE4LAorICAgIFhNTENBU1QoNDIuMDA3MzEyMzQ1Njc4 OTEwOjpkb3VibGUgcHJlY2lzaW9uOjp0ZXh0IEFTIHhtbCk6OnhtbCBBUyBjMTksCisgICAg WE1MQ0FTVCh0cnVlIEFTIHhtbCk6OnhtbCBBUyBjMjAsCisgICAgWE1MQ0FTVChmYWxzZSBB UyB4bWwpOjp4bWwgQVMgYzIxLAorICAgIFhNTENBU1QoNDIgPSA3MyBBUyB4bWwpOjp4bWwg QVMgYzIyLAorICAgIFhNTENBU1QoNDIgPD4gNzMgQVMgeG1sKTo6eG1sIEFTIGMyMywKKyAg ICBYTUxDQVNUKCcxMToxMToxMS41Jzo6dGltZSB3aXRob3V0IHRpbWUgem9uZTo6dGV4dCBB UyB4bWwpOjp4bWwgQVMgYzI0LAorICAgIFhNTENBU1QoKCcxMToxMToxMS41LTA3Jzo6dGlt ZSB3aXRoIHRpbWUgem9uZSBBVCBUSU1FIFpPTkUgJ0V1cm9wZS9CZXJsaW4nOjp0ZXh0KTo6 dGV4dCBBUyB4bWwpOjp4bWwgQVMgYzI1CitTRUxFQ1QgKiBGUk9NIHZpZXdfeG1sY2FzdF90 b194bWw7CisgYzEgfCBjMiAgfCBjMyB8IGM0IHwgYzUgfCBjNiB8ICAgICAgICAgICAgICAg IGM3ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgIGM4ICAgICAgICAgICAgICAg ICB8ICAgICAgICAgICAgICAgIGM5ICAgICAgICAgICAgICAgICB8ICAgICAgIGMxMCAgICAg ICB8ICAgICAgIGMxMSAgICAgICB8ICAgIGMxMiAgICAgfCAgICAgICAgICAgIGMxMyAgICAg ICAgICAgICB8ICAgICAgICAgICAgYzE0ICAgICAgICAgICAgIHwgICAgICBjMTUgICAgICAg fCAgICBjMTYgICAgfCAgICAgICBjMTcgICAgICAgIHwgICAgICAgIGMxOCAgICAgICAgIHwg ICAgICAgIGMxOSAgICAgICAgfCBjMjAgIHwgIGMyMSAgfCAgYzIyICB8IGMyMyAgfCAgICBj MjQgICAgIHwgICAgICBjMjUgICAgICAKKy0tLS0rLS0tLS0rLS0tLSstLS0tKy0tLS0rLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tKy0tLS0tLS0rLS0t LS0tLSstLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorICAgIHwgZm9vIHwg ICAgfCAgICB8ICAgIHwgICAgfCBmb28gJmFtcDsgJmx0OyZxdW90O2JhciZxdW90OyZndDsg fCBmb28gJmFtcDsgJmx0OyZxdW90O2JhciZxdW90OyZndDsgfCBmb28gJmFtcDsgJmx0OyZx dW90O2JhciZxdW90OyZndDsgfCBmb28gJiA8ImJhciI+XHIgfCBmb28gJiA8ImJhciI+XHIg fCAyMDI0LTA1LTI5IHwgMjAyNC0wNS0yOVQxMjowNDoxMC43MDM1ODUgfCAyMDI0LTA1LTI5 VDEyOjA0OjEwLjcwMzU4NSB8IFAxWTJNM0RUNEg1TTZTIHwgNDI3MzUzNTQyIHwgNDI3MzUz NTQyMDE2MjAyMSB8IDQyLjAwNzMxMjM0NTY3ODkxMCB8IDQyLjAwNzMxMjM0NTY3ODkxIHwg dHJ1ZSB8IGZhbHNlIHwgZmFsc2UgfCB0cnVlIHwgMTE6MTE6MTEuNSB8IDE5OjExOjExLjUr MDEKKygxIHJvdykKKworQ1JFQVRFIFZJRVcgdmlld194bWxjYXN0X2Zyb21feG1sIEFTCitT RUxFQ1QKKyAgeG1sY2FzdCgnUDFZMk0zRFQ0SDVNNlMnOjp4bWwgQVMgaW50ZXJ2YWwpIEFT IGMxLAorICB4bWxjYXN0KCcxIHllYXIgMiBtb25zIDMgZGF5cyA0IGhvdXJzIDUgbWludXRl cyA2IHNlY29uZHMnOjp4bWwgQVMgaW50ZXJ2YWwpIEFTIGMyLAorICB4bWxjYXN0KCcyMDAy LTA5LTI0Jzo6eG1sIEFTIGRhdGUpIEFTIGMzLAorICB4bWxjYXN0KCcyMDAyLTA5LTI0KzA2 OjAwJzo6eG1sIEFTIGRhdGUpIEFTIGM0LAorICB4bWxjYXN0KCcwOTozMDoxMFonOjp4bWwg QVMgdGltZSB3aXRoIHRpbWUgem9uZSkgYXQgdGltZSB6b25lICdFdXJvcGUvQmVybGluJyBB UyBjNSwKKyAgeG1sY2FzdCgnMDk6MzA6MTAtMDY6MDAnOjp4bWwgQVMgdGltZSB3aXRoIHRp bWUgem9uZSkgYXQgdGltZSB6b25lICdFdXJvcGUvQmVybGluJyBBUyBjNiwKKyAgeG1sY2Fz dCgnMDk6MzA6MTArMDY6MDAnOjp4bWwgQVMgdGltZSB3aXRoIHRpbWUgem9uZSkgYXQgdGlt ZSB6b25lICdFdXJvcGUvQmVybGluJyBBUyBjNywKKyAgeG1sY2FzdCgnMjAwMi0wNS0zMFQw OTozMDoxMFonOjp4bWwgQVMgdGltZXN0YW1wIHdpdGggdGltZSB6b25lKSBhdCB0aW1lIHpv bmUgJ0V1cm9wZS9CZXJsaW4nIEFTIGM4LAorICB4bWxjYXN0KCcyMDAyLTA1LTMwVDA5OjMw OjEwLTA2OjAwJzo6eG1sIEFTIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSkgYXQgdGltZSB6 b25lICdFdXJvcGUvQmVybGluJyBBUyBjOSwKKyAgeG1sY2FzdCgnMjAwMi0wNS0zMFQwOToz MDoxMCswNjowMCc6OnhtbCBBUyB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUpIGF0IHRpbWUg em9uZSAnRXVyb3BlL0JlcmxpbicgQVMgYzEwLAorICB4bWxjYXN0KCdmb28gYmFyJzo6eG1s IEFTIHRleHQpIEFTIGMxMSwKKyAgeG1sY2FzdCgnICAgICAgIGZvbyBiYXIgICAgICc6Onht bCBBUyB2YXJjaGFyKSBBUyBjMTIsCisgIHhtbGNhc3QoJ2ZvbyAmYW1wOyAmbHQ7JnF1b3Q7 YmFyJnF1b3Q7Jmd0Oyc6OnhtbCBBUyB0ZXh0KSBBUyBjMTMsCisgIHhtbGNhc3QoJzQyLjcz MTIzNDU2Nzg5MTAnOjp4bWwgQVMgbnVtZXJpYykgQVMgYzE0LAorICB4bWxjYXN0KCcrNDIu NzMxMjM0NTY3ODkxMCc6OnhtbCBBUyBudW1lcmljKSBBUyBjMTUsCisgIHhtbGNhc3QoJy00 Mi43MzEyMzQ1Njc4OTEwJzo6eG1sIEFTIG51bWVyaWMpIEFTIGMxNiwKKyAgeG1sY2FzdCgn NDInOjp4bWwgQVMgaW50ZWdlcikgQVMgYzE3LAorICB4bWxjYXN0KCcrNDInOjp4bWwgQVMg aW50ZWdlcikgQVMgYzE4LAorICB4bWxjYXN0KCctNDInOjp4bWwgQVMgaW50ZWdlcikgQVMg YzE5LAorICB4bWxjYXN0KCc0MjczNTM1NDIwMTYyMDIxJzo6eG1sIEFTIGJpZ2ludCkgQVMg YzIwLAorICB4bWxjYXN0KCcrNDI3MzUzNTQyMDE2MjAyMSc6OnhtbCBBUyBiaWdpbnQpIEFT IGMyMSwKKyAgeG1sY2FzdCgnLTQyNzM1MzU0MjAxNjIwMjEnOjp4bWwgQVMgYmlnaW50KSBB UyBjMjIsCisgIHhtbGNhc3QoJ3RydWUnOjp4bWwgQVMgYm9vbGVhbikgQVMgYzIzLAorICB4 bWxjYXN0KCdmYWxzZSc6OnhtbCBBUyBib29sZWFuKSBBUyBjMjQsCisgIHhtbGNhc3QoJyc6 OnhtbCBBUyBjaGFyYWN0ZXIgdmFyeWluZykgQVMgYzI1LAorICB4bWxjYXN0KE5VTEw6Onht bCBBUyBjaGFyYWN0ZXIgdmFyeWluZykgQVMgYzI2OworXHN2IHZpZXdfeG1sY2FzdF9mcm9t X3htbAorQ1JFQVRFIE9SIFJFUExBQ0UgVklFVyBwdWJsaWMudmlld194bWxjYXN0X2Zyb21f eG1sIEFTCisgU0VMRUNUIFhNTENBU1QoJ1AxWTJNM0RUNEg1TTZTJzo6eG1sIEFTIGludGVy dmFsKTo6aW50ZXJ2YWwgQVMgYzEsCisgICAgWE1MQ0FTVCgnMSB5ZWFyIDIgbW9ucyAzIGRh eXMgNCBob3VycyA1IG1pbnV0ZXMgNiBzZWNvbmRzJzo6eG1sIEFTIGludGVydmFsKTo6aW50 ZXJ2YWwgQVMgYzIsCisgICAgWE1MQ0FTVCgnMjAwMi0wOS0yNCc6OnhtbCBBUyBkYXRlKTo6 ZGF0ZSBBUyBjMywKKyAgICBYTUxDQVNUKCcyMDAyLTA5LTI0KzA2OjAwJzo6eG1sIEFTIGRh dGUpOjpkYXRlIEFTIGM0LAorICAgIChYTUxDQVNUKCcwOTozMDoxMFonOjp4bWwgQVMgdGlt ZSB3aXRoIHRpbWUgem9uZSk6OnRpbWUgd2l0aCB0aW1lIHpvbmUgQVQgVElNRSBaT05FICdF dXJvcGUvQmVybGluJzo6dGV4dCkgQVMgYzUsCisgICAgKFhNTENBU1QoJzA5OjMwOjEwLTA2 OjAwJzo6eG1sIEFTIHRpbWUgd2l0aCB0aW1lIHpvbmUpOjp0aW1lIHdpdGggdGltZSB6b25l IEFUIFRJTUUgWk9ORSAnRXVyb3BlL0Jlcmxpbic6OnRleHQpIEFTIGM2LAorICAgIChYTUxD QVNUKCcwOTozMDoxMCswNjowMCc6OnhtbCBBUyB0aW1lIHdpdGggdGltZSB6b25lKTo6dGlt ZSB3aXRoIHRpbWUgem9uZSBBVCBUSU1FIFpPTkUgJ0V1cm9wZS9CZXJsaW4nOjp0ZXh0KSBB UyBjNywKKyAgICAoWE1MQ0FTVCgnMjAwMi0wNS0zMFQwOTozMDoxMFonOjp4bWwgQVMgdGlt ZXN0YW1wIHdpdGggdGltZSB6b25lKTo6dGltZXN0YW1wIHdpdGggdGltZSB6b25lIEFUIFRJ TUUgWk9ORSAnRXVyb3BlL0Jlcmxpbic6OnRleHQpIEFTIGM4LAorICAgIChYTUxDQVNUKCcy MDAyLTA1LTMwVDA5OjMwOjEwLTA2OjAwJzo6eG1sIEFTIHRpbWVzdGFtcCB3aXRoIHRpbWUg em9uZSk6OnRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBBVCBUSU1FIFpPTkUgJ0V1cm9wZS9C ZXJsaW4nOjp0ZXh0KSBBUyBjOSwKKyAgICAoWE1MQ0FTVCgnMjAwMi0wNS0zMFQwOTozMDox MCswNjowMCc6OnhtbCBBUyB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUpOjp0aW1lc3RhbXAg d2l0aCB0aW1lIHpvbmUgQVQgVElNRSBaT05FICdFdXJvcGUvQmVybGluJzo6dGV4dCkgQVMg YzEwLAorICAgIFhNTENBU1QoJ2ZvbyBiYXInOjp4bWwgQVMgdGV4dCk6OnRleHQgQVMgYzEx LAorICAgIFhNTENBU1QoJyAgICAgICBmb28gYmFyICAgICAnOjp4bWwgQVMgY2hhcmFjdGVy IHZhcnlpbmcpOjpjaGFyYWN0ZXIgdmFyeWluZyBBUyBjMTIsCisgICAgWE1MQ0FTVCgnZm9v ICZhbXA7ICZsdDsmcXVvdDtiYXImcXVvdDsmZ3Q7Jzo6eG1sIEFTIHRleHQpOjp0ZXh0IEFT IGMxMywKKyAgICBYTUxDQVNUKCc0Mi43MzEyMzQ1Njc4OTEwJzo6eG1sIEFTIG51bWVyaWMp OjpudW1lcmljIEFTIGMxNCwKKyAgICBYTUxDQVNUKCcrNDIuNzMxMjM0NTY3ODkxMCc6Onht bCBBUyBudW1lcmljKTo6bnVtZXJpYyBBUyBjMTUsCisgICAgWE1MQ0FTVCgnLTQyLjczMTIz NDU2Nzg5MTAnOjp4bWwgQVMgbnVtZXJpYyk6Om51bWVyaWMgQVMgYzE2LAorICAgIFhNTENB U1QoJzQyJzo6eG1sIEFTIGludGVnZXIpOjppbnRlZ2VyIEFTIGMxNywKKyAgICBYTUxDQVNU KCcrNDInOjp4bWwgQVMgaW50ZWdlcik6OmludGVnZXIgQVMgYzE4LAorICAgIFhNTENBU1Qo Jy00Mic6OnhtbCBBUyBpbnRlZ2VyKTo6aW50ZWdlciBBUyBjMTksCisgICAgWE1MQ0FTVCgn NDI3MzUzNTQyMDE2MjAyMSc6OnhtbCBBUyBiaWdpbnQpOjpiaWdpbnQgQVMgYzIwLAorICAg IFhNTENBU1QoJys0MjczNTM1NDIwMTYyMDIxJzo6eG1sIEFTIGJpZ2ludCk6OmJpZ2ludCBB UyBjMjEsCisgICAgWE1MQ0FTVCgnLTQyNzM1MzU0MjAxNjIwMjEnOjp4bWwgQVMgYmlnaW50 KTo6YmlnaW50IEFTIGMyMiwKKyAgICBYTUxDQVNUKCd0cnVlJzo6eG1sIEFTIGJvb2xlYW4p Ojpib29sZWFuIEFTIGMyMywKKyAgICBYTUxDQVNUKCdmYWxzZSc6OnhtbCBBUyBib29sZWFu KTo6Ym9vbGVhbiBBUyBjMjQsCisgICAgWE1MQ0FTVCgnJzo6eG1sIEFTIGNoYXJhY3RlciB2 YXJ5aW5nKTo6Y2hhcmFjdGVyIHZhcnlpbmcgQVMgYzI1LAorICAgIFhNTENBU1QoTlVMTDo6 eG1sIEFTIGNoYXJhY3RlciB2YXJ5aW5nKTo6Y2hhcmFjdGVyIHZhcnlpbmcgQVMgYzI2CitT RUxFQ1QgKiBGUk9NIHZpZXdfeG1sY2FzdF9mcm9tX3htbDsKKyAgICAgICAgICAgICAgICAg ICAgICBjMSAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIGMy ICAgICAgICAgICAgICAgICAgICAgIHwgICAgIGMzICAgICB8ICAgICBjNCAgICAgfCAgICAg YzUgICAgICB8ICAgICBjNiAgICAgIHwgICAgIGM3ICAgICAgfCAgICAgICAgICAgIGM4ICAg ICAgICAgICAgfCAgICAgICAgICAgIGM5ICAgICAgICAgICAgfCAgICAgICAgICAgYzEwICAg ICAgICAgICAgfCAgIGMxMSAgIHwgICAgICAgICBjMTIgICAgICAgICB8ICAgICAgYzEzICAg ICAgfCAgICAgICBjMTQgICAgICAgIHwgICAgICAgYzE1ICAgICAgICB8ICAgICAgICBjMTYg ICAgICAgIHwgYzE3IHwgYzE4IHwgYzE5IHwgICAgICAgYzIwICAgICAgICB8ICAgICAgIGMy MSAgICAgICAgfCAgICAgICAgYzIyICAgICAgICB8IGMyMyB8IGMyNCB8IGMyNSB8IGMyNiAK Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLSstLS0tLSstLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0r LS0tLS0rLS0tLS0rLS0tLS0KKyBAIDEgeWVhciAyIG1vbnMgMyBkYXlzIDQgaG91cnMgNSBt aW5zIDYgc2VjcyB8IEAgMSB5ZWFyIDIgbW9ucyAzIGRheXMgNCBob3VycyA1IG1pbnMgNiBz ZWNzIHwgMDktMjQtMjAwMiB8IDA5LTI0LTIwMDIgfCAxMDozMDoxMCswMSB8IDE2OjMwOjEw KzAxIHwgMDQ6MzA6MTArMDEgfCBUaHUgTWF5IDMwIDExOjMwOjEwIDIwMDIgfCBUaHUgTWF5 IDMwIDE3OjMwOjEwIDIwMDIgfCBUaHUgTWF5IDMwIDA1OjMwOjEwIDIwMDIgfCBmb28gYmFy IHwgICAgICAgIGZvbyBiYXIgICAgICB8IGZvbyAmIDwiYmFyIj4gfCA0Mi43MzEyMzQ1Njc4 OTEwIHwgNDIuNzMxMjM0NTY3ODkxMCB8IC00Mi43MzEyMzQ1Njc4OTEwIHwgIDQyIHwgIDQy IHwgLTQyIHwgNDI3MzUzNTQyMDE2MjAyMSB8IDQyNzM1MzU0MjAxNjIwMjEgfCAtNDI3MzUz NTQyMDE2MjAyMSB8IHQgICB8IGYgICB8ICAgICB8IAorKDEgcm93KQorCmRpZmYgLS1naXQg YS9zcmMvdGVzdC9yZWdyZXNzL3NxbC94bWwuc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwv eG1sLnNxbAppbmRleCAwZWE0ZjUwODgzLi4xZmFlNWI0YjAwIDEwMDY0NAotLS0gYS9zcmMv dGVzdC9yZWdyZXNzL3NxbC94bWwuc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ht bC5zcWwKQEAgLTY3OSwzICs2NzksMjgxIEBAIFNFTEVDVCB4bWx0ZXh0KCcgICcpOwogU0VM RUNUIHhtbHRleHQoJ2ZvbyBgJF8tKz89Kl4lIXwvXCgpW117fScpOwogU0VMRUNUIHhtbHRl eHQoJ2ZvbyAmIDwiYmFyIj4nKTsKIFNFTEVDVCB4bWx0ZXh0KCd4J3x8ICc8UD43MzwvUD4n Ojp4bWwgfHwgLjQyIHx8IHRydWUgfHwgJ2onOjpjaGFyKTsKKworLS0gZm9yIHhtbGNhc3Qo KSB0ZXN0cworSU5TRVJUIElOVE8geG1sdGVzdAorIFZBTFVFUyAoNDIsCisnPD94bWwgdmVy c2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKyA8eG1sY2FzdD4KKyAgPHBlcmlvZDE+ UDFZMk0zRFQ0SDVNNlM8L3BlcmlvZDE+CisgIDxwZXJpb2QyPjEgeWVhciAyIG1vbnMgMyBk YXlzIDQgaG91cnMgNSBtaW51dGVzIDYgc2Vjb25kczwvcGVyaW9kMj4KKyAgPGRhdGUxPjIw MDItMDktMjQ8L2RhdGUxPgorICA8ZGF0ZTI+MjAwMi0wOS0yNCswNjowMDwvZGF0ZTI+Cisg IDx0aW1lPjA5OjMwOjEwLjU8L3RpbWU+CisgIDx0aW1lX3R6MT4wOTozMDoxMFo8L3RpbWVf dHoxPgorICA8dGltZV90ejI+MDk6MzA6MTAtMDY6MDA8L3RpbWVfdHoyPgorICA8dGltZV90 ejM+MDk6MzA6MTArMDY6MDA8L3RpbWVfdHozPgorICA8dGltZXN0YW1wMT4yMDAyLTA1LTMw VDA5OjAwOjAwPC90aW1lc3RhbXAxPgorICA8dGltZXN0YW1wMj4yMDAyLTA1LTMwVDA5OjMw OjEwLjU8L3RpbWVzdGFtcDI+CisgIDx0aW1lc3RhbXBfdHoxPjIwMDItMDUtMzBUMDk6MzA6 MTBaPC90aW1lc3RhbXBfdHoxPgorICA8dGltZXN0YW1wX3R6Mj4yMDAyLTA1LTMwVDA5OjMw OjEwLTA2OjAwPC90aW1lc3RhbXBfdHoyPgorICA8dGltZXN0YW1wX3R6Mz4yMDAyLTA1LTMw VDA5OjMwOjEwKzA2OjAwPC90aW1lc3RhbXBfdHozPgorICA8dGV4dDE+Zm9vIGJhcjwvdGV4 dDE+CisgIDx0ZXh0Mj4gICAgICAgZm9vIGJhciAgICAgPC90ZXh0Mj4KKyAgPHRleHQzPmZv byAmYW1wOyAmbHQ7JnF1b3Q7YmFyJnF1b3Q7Jmd0OzwvdGV4dDM+CisgIDxkZWNpbWFsMT40 Mi43MzEyMzQ1Njc4OTEwPC9kZWNpbWFsMT4KKyAgPGRlY2ltYWwyPis0Mi43MzEyMzQ1Njc4 OTEwPC9kZWNpbWFsMj4KKyAgPGRlY2ltYWwzPi00Mi43MzEyMzQ1Njc4OTEwPC9kZWNpbWFs Mz4KKyAgPGludGVnZXIxPjQyPC9pbnRlZ2VyMT4KKyAgPGludGVnZXIyPis0MjwvaW50ZWdl cjI+CisgIDxpbnRlZ2VyMz4tNDI8L2ludGVnZXIzPgorICA8bG9uZzE+NDI3MzUzNTQyMDE2 MjAyMTwvbG9uZzE+CisgIDxsb25nMj4rNDI3MzUzNTQyMDE2MjAyMTwvbG9uZzI+CisgIDxs b25nMz4tNDI3MzUzNTQyMDE2MjAyMTwvbG9uZzM+CisgIDxib29sMSBhdHQ9InRydWUiPjQy PC9ib29sMT4KKyAgPGJvb2wyIGF0dD0iZmFsc2UiPjczPC9ib29sMj4KKyAgPGVtcHR5Pjwv ZW1wdHk+CisgPC94bWxjYXN0Pic6OnhtbAorKTsKKworLS0gVGhpcyBwcmV2ZW50cyB0aGUg eG1sY2FzdCByZWdyZXNzaW9uIHRlc3RzIGZyb20gZmFpbGluZyBpZiB0aGUgc3lzdGVtJ3Mg dGltZXpvbmUgaGFzIGJlZW4gY2hhbmdlZC4KK1NFVCB0aW1lem9uZSBUTyAnQW1lcmljYS9M b3NfQW5nZWxlcyc7CisKKy0tIHhtbGNhc3QgZXhjZXB0aW9ucworXHNldCBWRVJCT1NJVFkg dGVyc2UKK1NFTEVDVCB4bWxjYXN0KCh4cGF0aCgnLy90ZXh0MS90ZXh0KCknLCBkYXRhKSlb MV0gQVMgdGV4dFtdKSBGUk9NIHhtbHRlc3QgV0hFUkUgaWQgPSA0MjsKK1NFTEVDVCB4bWxj YXN0KCh4cGF0aCgnLy90ZXh0MS9pbnRlZ2VyMSgpJywgZGF0YSkpWzFdIEFTIGludFtdKSBG Uk9NIHhtbHRlc3QgV0hFUkUgaWQgPSA0MjsKK1NFTEVDVCB4bWxjYXN0KE5VTEwgQVMgdGV4 dCk7CitTRUxFQ1QgeG1sY2FzdCgnZm9vJzo6dGV4dCBBUyB2YXJjaGFyKTsKK1NFTEVDVCB4 bWxjYXN0KDQyIEFTIHRleHQpOworU0VMRUNUIHhtbGNhc3QoYXJyYXlbJ2ZvbycsJ2Jhcidd IEFTIHhtbCk7Citcc2V0IFZFUkJPU0lUWSBkZWZhdWx0CisKKy0tIHhtbGNhc3QgdGVzdHMg Zm9yICJYTUwgdG8gbm9uLVhNTCIgZXhwcmVzc2lvbnMKK1NFTEVDVAorICB4bWxjYXN0KCh4 cGF0aCgnLy9kYXRlMS90ZXh0KCknLCBkYXRhKSlbMV0gQVMgZGF0ZSksIHBnX3R5cGVvZih4 bWxjYXN0KCh4cGF0aCgnLy9kYXRlMS90ZXh0KCknLCBkYXRhKSlbMV0gQVMgZGF0ZSkpLAor ICB4bWxjYXN0KCh4cGF0aCgnLy9kYXRlMi90ZXh0KCknLCBkYXRhKSlbMV0gQVMgZGF0ZSks IHBnX3R5cGVvZih4bWxjYXN0KCh4cGF0aCgnLy9kYXRlMi90ZXh0KCknLCBkYXRhKSlbMV0g QVMgZGF0ZSkpCitGUk9NIHhtbHRlc3QgV0hFUkUgaWQgPSA0MjsKKworU0VMRUNUCisgIHht bGNhc3QoKHhwYXRoKCcvL3BlcmlvZDEvdGV4dCgpJywgZGF0YSkpWzFdIEFTIGludGVydmFs KSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL3BlcmlvZDEvdGV4dCgpJywgZGF0YSkp WzFdIEFTIGludGVydmFsKSksCisgIHhtbGNhc3QoKHhwYXRoKCcvL3BlcmlvZDIvdGV4dCgp JywgZGF0YSkpWzFdIEFTIGludGVydmFsKSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcv L3BlcmlvZDIvdGV4dCgpJywgZGF0YSkpWzFdIEFTIGludGVydmFsKSkKK0ZST00geG1sdGVz dCBXSEVSRSBpZCA9IDQyOworCitTRUxFQ1QKKyAgeG1sY2FzdCgoeHBhdGgoJy8vdGltZS90 ZXh0KCknLCBkYXRhKSlbMV0gQVMgdGltZSksIHBnX3R5cGVvZih4bWxjYXN0KCh4cGF0aCgn Ly90aW1lL3RleHQoKScsIGRhdGEpKVsxXSBBUyB0aW1lKSksCisgIHhtbGNhc3QoKHhwYXRo KCcvL3RpbWVfdHoxL3RleHQoKScsIGRhdGEpKVsxXSBBUyB0aW1lIHdpdGggdGltZSB6b25l KSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL3RpbWVfdHoxL3RleHQoKScsIGRhdGEp KVsxXSBBUyB0aW1lIHdpdGggdGltZSB6b25lKSksCisgIHhtbGNhc3QoKHhwYXRoKCcvL3Rp bWVfdHoyL3RleHQoKScsIGRhdGEpKVsxXSBBUyB0aW1lIHdpdGggdGltZSB6b25lKSwgcGdf dHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL3RpbWVfdHoyL3RleHQoKScsIGRhdGEpKVsxXSBB UyB0aW1lIHdpdGggdGltZSB6b25lKSksCisgIHhtbGNhc3QoKHhwYXRoKCcvL3RpbWVfdHoz L3RleHQoKScsIGRhdGEpKVsxXSBBUyB0aW1lIHdpdGggdGltZSB6b25lKSwgcGdfdHlwZW9m KHhtbGNhc3QoKHhwYXRoKCcvL3RpbWVfdHozL3RleHQoKScsIGRhdGEpKVsxXSBBUyB0aW1l IHdpdGggdGltZSB6b25lKSkKK0ZST00geG1sdGVzdCBXSEVSRSBpZCA9IDQyOworCitTRUxF Q1QKKyAgeG1sY2FzdCgoeHBhdGgoJy8vdGV4dDEvdGV4dCgpJywgZGF0YSkpWzFdIEFTIHRl eHQpLCBwZ190eXBlb2YoeG1sY2FzdCgoeHBhdGgoJy8vdGV4dDEvdGV4dCgpJywgZGF0YSkp WzFdIEFTIHRleHQpKSwKKyAgeG1sY2FzdCgoeHBhdGgoJy8vdGV4dDIvdGV4dCgpJywgZGF0 YSkpWzFdIEFTIHRleHQpLCBwZ190eXBlb2YoeG1sY2FzdCgoeHBhdGgoJy8vdGV4dDIvdGV4 dCgpJywgZGF0YSkpWzFdIEFTIHRleHQpKSwKKyAgeG1sY2FzdCgoeHBhdGgoJy8vdGV4dDMv dGV4dCgpJywgZGF0YSkpWzFdIEFTIHRleHQpLCBwZ190eXBlb2YoeG1sY2FzdCgoeHBhdGgo Jy8vdGV4dDMvdGV4dCgpJywgZGF0YSkpWzFdIEFTIHRleHQpKQorRlJPTSB4bWx0ZXN0IFdI RVJFIGlkID0gNDI7CisKK1NFTEVDVAorICB4bWxjYXN0KCh4cGF0aCgnLy90ZXh0MS90ZXh0 KCknLCBkYXRhKSlbMV0gQVMgdmFyY2hhciksIHBnX3R5cGVvZih4bWxjYXN0KCh4cGF0aCgn Ly90ZXh0MS90ZXh0KCknLCBkYXRhKSlbMV0gQVMgdmFyY2hhcikpLAorICB4bWxjYXN0KCh4 cGF0aCgnLy90ZXh0Mi90ZXh0KCknLCBkYXRhKSlbMV0gQVMgdmFyY2hhciksIHBnX3R5cGVv Zih4bWxjYXN0KCh4cGF0aCgnLy90ZXh0Mi90ZXh0KCknLCBkYXRhKSlbMV0gQVMgdmFyY2hh cikpLAorICB4bWxjYXN0KCh4cGF0aCgnLy90ZXh0My90ZXh0KCknLCBkYXRhKSlbMV0gQVMg dmFyY2hhciksIHBnX3R5cGVvZih4bWxjYXN0KCh4cGF0aCgnLy90ZXh0My90ZXh0KCknLCBk YXRhKSlbMV0gQVMgdmFyY2hhcikpCitGUk9NIHhtbHRlc3QgV0hFUkUgaWQgPSA0MjsKKwor U0VMRUNUCisgIHhtbGNhc3QoKHhwYXRoKCcvL3RleHQxL3RleHQoKScsIGRhdGEpKVsxXSBB UyBuYW1lKSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL3RleHQxL3RleHQoKScsIGRh dGEpKVsxXSBBUyBuYW1lKSksCisgIHhtbGNhc3QoKHhwYXRoKCcvL3RleHQyL3RleHQoKScs IGRhdGEpKVsxXSBBUyBuYW1lKSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL3RleHQy L3RleHQoKScsIGRhdGEpKVsxXSBBUyBuYW1lKSksCisgIHhtbGNhc3QoKHhwYXRoKCcvL3Rl eHQzL3RleHQoKScsIGRhdGEpKVsxXSBBUyBuYW1lKSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhw YXRoKCcvL3RleHQzL3RleHQoKScsIGRhdGEpKVsxXSBBUyBuYW1lKSkKK0ZST00geG1sdGVz dCBXSEVSRSBpZCA9IDQyOworCitTRUxFQ1QKKyAgeG1sY2FzdCgoeHBhdGgoJy8vdGV4dDEv dGV4dCgpJywgZGF0YSkpWzFdIEFTIGJwY2hhciksIHBnX3R5cGVvZih4bWxjYXN0KCh4cGF0 aCgnLy90ZXh0MS90ZXh0KCknLCBkYXRhKSlbMV0gQVMgYnBjaGFyKSksCisgIHhtbGNhc3Qo KHhwYXRoKCcvL3RleHQyL3RleHQoKScsIGRhdGEpKVsxXSBBUyBicGNoYXIpLCBwZ190eXBl b2YoeG1sY2FzdCgoeHBhdGgoJy8vdGV4dDIvdGV4dCgpJywgZGF0YSkpWzFdIEFTIGJwY2hh cikpLAorICB4bWxjYXN0KCh4cGF0aCgnLy90ZXh0My90ZXh0KCknLCBkYXRhKSlbMV0gQVMg YnBjaGFyKSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL3RleHQzL3RleHQoKScsIGRh dGEpKVsxXSBBUyBicGNoYXIpKQorRlJPTSB4bWx0ZXN0IFdIRVJFIGlkID0gNDI7CisKK1NF TEVDVAorICB4bWxjYXN0KCh4cGF0aCgnLy9kZWNpbWFsMS90ZXh0KCknLCBkYXRhKSlbMV0g QVMgbnVtZXJpYyksIHBnX3R5cGVvZih4bWxjYXN0KCh4cGF0aCgnLy9kZWNpbWFsMS90ZXh0 KCknLCBkYXRhKSlbMV0gQVMgbnVtZXJpYykpLAorICB4bWxjYXN0KCh4cGF0aCgnLy9kZWNp bWFsMi90ZXh0KCknLCBkYXRhKSlbMV0gQVMgbnVtZXJpYyksIHBnX3R5cGVvZih4bWxjYXN0 KCh4cGF0aCgnLy9kZWNpbWFsMi90ZXh0KCknLCBkYXRhKSlbMV0gQVMgbnVtZXJpYykpLAor ICB4bWxjYXN0KCh4cGF0aCgnLy9kZWNpbWFsMy90ZXh0KCknLCBkYXRhKSlbMV0gQVMgbnVt ZXJpYyksIHBnX3R5cGVvZih4bWxjYXN0KCh4cGF0aCgnLy9kZWNpbWFsMy90ZXh0KCknLCBk YXRhKSlbMV0gQVMgbnVtZXJpYykpCitGUk9NIHhtbHRlc3QgV0hFUkUgaWQgPSA0MjsKKwor U0VMRUNUCisgIHhtbGNhc3QoKHhwYXRoKCcvL2RlY2ltYWwxL3RleHQoKScsIGRhdGEpKVsx XSBBUyBkb3VibGUgcHJlY2lzaW9uKSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL2Rl Y2ltYWwxL3RleHQoKScsIGRhdGEpKVsxXSBBUyBkb3VibGUgcHJlY2lzaW9uKSksCisgIHht bGNhc3QoKHhwYXRoKCcvL2RlY2ltYWwyL3RleHQoKScsIGRhdGEpKVsxXSBBUyBkb3VibGUg cHJlY2lzaW9uKSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL2RlY2ltYWwyL3RleHQo KScsIGRhdGEpKVsxXSBBUyBkb3VibGUgcHJlY2lzaW9uKSksCisgIHhtbGNhc3QoKHhwYXRo KCcvL2RlY2ltYWwzL3RleHQoKScsIGRhdGEpKVsxXSBBUyBkb3VibGUgcHJlY2lzaW9uKSwg cGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL2RlY2ltYWwzL3RleHQoKScsIGRhdGEpKVsx XSBBUyBkb3VibGUgcHJlY2lzaW9uKSkKK0ZST00geG1sdGVzdCBXSEVSRSBpZCA9IDQyOwor CitTRUxFQ1QKKyAgeG1sY2FzdCgoeHBhdGgoJy8vaW50ZWdlcjEvdGV4dCgpJywgZGF0YSkp WzFdIEFTIGludCksIHBnX3R5cGVvZih4bWxjYXN0KCh4cGF0aCgnLy9pbnRlZ2VyMS90ZXh0 KCknLCBkYXRhKSlbMV0gQVMgaW50KSksCisgIHhtbGNhc3QoKHhwYXRoKCcvL2ludGVnZXIy L3RleHQoKScsIGRhdGEpKVsxXSBBUyBpbnQpLCBwZ190eXBlb2YoeG1sY2FzdCgoeHBhdGgo Jy8vaW50ZWdlcjIvdGV4dCgpJywgZGF0YSkpWzFdIEFTIGludCkpLAorICB4bWxjYXN0KCh4 cGF0aCgnLy9pbnRlZ2VyMy90ZXh0KCknLCBkYXRhKSlbMV0gQVMgaW50KSwgcGdfdHlwZW9m KHhtbGNhc3QoKHhwYXRoKCcvL2ludGVnZXIzL3RleHQoKScsIGRhdGEpKVsxXSBBUyBpbnQp KQorRlJPTSB4bWx0ZXN0IFdIRVJFIGlkID0gNDI7CisKK1NFTEVDVAorICB4bWxjYXN0KCh4 cGF0aCgnLy9sb25nMS90ZXh0KCknLCBkYXRhKSlbMV0gQVMgYmlnaW50KSwgcGdfdHlwZW9m KHhtbGNhc3QoKHhwYXRoKCcvL2xvbmcxL3RleHQoKScsIGRhdGEpKVsxXSBBUyBiaWdpbnQp KSwKKyAgeG1sY2FzdCgoeHBhdGgoJy8vbG9uZzIvdGV4dCgpJywgZGF0YSkpWzFdIEFTIGJp Z2ludCksIHBnX3R5cGVvZih4bWxjYXN0KCh4cGF0aCgnLy9sb25nMi90ZXh0KCknLCBkYXRh KSlbMV0gQVMgYmlnaW50KSksCisgIHhtbGNhc3QoKHhwYXRoKCcvL2xvbmczL3RleHQoKScs IGRhdGEpKVsxXSBBUyBiaWdpbnQpLCBwZ190eXBlb2YoeG1sY2FzdCgoeHBhdGgoJy8vbG9u ZzMvdGV4dCgpJywgZGF0YSkpWzFdIEFTIGJpZ2ludCkpCitGUk9NIHhtbHRlc3QgV0hFUkUg aWQgPSA0MjsKKworU0VMRUNUCisgIHhtbGNhc3QoKHhwYXRoKCcvL2Jvb2wxL0BhdHQnLCBk YXRhKSlbMV0gQVMgYm9vbGVhbiksIHBnX3R5cGVvZih4bWxjYXN0KCh4cGF0aCgnLy9ib29s MS9AYXR0JywgZGF0YSkpWzFdIEFTIGJvb2xlYW4pKSwKKyAgeG1sY2FzdCgoeHBhdGgoJy8v Ym9vbDIvQGF0dCcsIGRhdGEpKVsxXSBBUyBib29sZWFuKSwgcGdfdHlwZW9mKHhtbGNhc3Qo KHhwYXRoKCcvL2Jvb2wxL0BhdHQnLCBkYXRhKSlbMV0gQVMgYm9vbGVhbikpCitGUk9NIHht bHRlc3QgV0hFUkUgaWQgPSA0MjsKKworU0VMRUNUIHhtbGNhc3QoKHhwYXRoKCcvL2VtcHR5 L3RleHQoKScsIGRhdGEpKVsxXSBBUyB0ZXh0KSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRo KCcvL2VtcHR5L3RleHQoKScsIGRhdGEpKVsxXSBBUyB0ZXh0KSkKK0ZST00geG1sdGVzdCBX SEVSRSBpZCA9IDQyOworCistLSB4bWxjYXN0IHRlc3RzIGZvciAiWE1MIHRvIFhNTCIgZXhw cmVzc2lvbnMKK1NFTEVDVAorICB4bWxjYXN0KCh4cGF0aCgnLy90ZXh0MS90ZXh0KCknLCBk YXRhKSlbMV0gQVMgeG1sKSwgcGdfdHlwZW9mKHhtbGNhc3QoKHhwYXRoKCcvL3RleHQxL3Rl eHQoKScsIGRhdGEpKVsxXSBBUyB4bWwpKSwKKyAgeG1sY2FzdCgoeHBhdGgoJy8vdGV4dDIv dGV4dCgpJywgZGF0YSkpWzFdIEFTIHhtbCksIHBnX3R5cGVvZih4bWxjYXN0KCh4cGF0aCgn Ly90ZXh0Mi90ZXh0KCknLCBkYXRhKSlbMV0gQVMgeG1sKSksCisgIHhtbGNhc3QoKHhwYXRo KCcvL3RleHQzL3RleHQoKScsIGRhdGEpKVsxXSBBUyB4bWwpLCBwZ190eXBlb2YoeG1sY2Fz dCgoeHBhdGgoJy8vdGV4dDMvdGV4dCgpJywgZGF0YSkpWzFdIEFTIHhtbCkpCitGUk9NIHht bHRlc3QgV0hFUkUgaWQgPSA0MjsKKworLS0geG1sY2FzdCB0ZXN0cyBmb3IgIm5vbi1YTUwg dG8gWE1MIiBleHByZXNzaW9ucworU0VMRUNUIGosIHBnX3R5cGVvZihqKSBGUk9NIHhtbGNh c3QoTlVMTCBBUyB4bWwpIHQoaik7CitTRUxFQ1QgaiwgcGdfdHlwZW9mKGopIEZST00geG1s Y2FzdCgnZm9vJyBBUyB4bWwpIHQoaik7CitTRUxFQ1QgaiwgcGdfdHlwZW9mKGopIEZST00g eG1sY2FzdCgnJzo6dGV4dCBBUyB4bWwpIHQoaik7CitTRUxFQ1QgaiwgcGdfdHlwZW9mKGop IEZST00geG1sY2FzdChOVUxMOjp0ZXh0IEFTIHhtbCkgdChqKTsKK1NFTEVDVCBqLCBwZ190 eXBlb2YoaikgRlJPTSB4bWxjYXN0KCcnOjp4bWwgQVMgdGV4dCkgdChqKTsKK1NFTEVDVCBq LCBwZ190eXBlb2YoaikgRlJPTSB4bWxjYXN0KE5VTEw6OnhtbCBBUyB0ZXh0KSB0KGopOwor U0VMRUNUIGosIHBnX3R5cGVvZihqKSBGUk9NIHhtbGNhc3QoJ2ZvbyAmIDwiYmFyIj4nOjp0 ZXh0IEFTIHhtbCkgdChqKTsKK1NFTEVDVCBqLCBwZ190eXBlb2YoaikgRlJPTSB4bWxjYXN0 KCdmb28gJiA8ImJhciI+Jzo6dmFyY2hhciBBUyB4bWwpIHQoaik7CitTRUxFQ1QgaiwgcGdf dHlwZW9mKGopIEZST00geG1sY2FzdCgnZm9vICYgPCJiYXIiPic6Om5hbWUgQVMgeG1sKSB0 KGopOworU0VMRUNUIGosIHBnX3R5cGVvZihqKSBGUk9NIHhtbGNhc3QoeG1sdGV4dChFJ2Zv byAmIDwiYmFyIj5ccicpIEFTIHRleHQpIHQoaik7CitTRUxFQ1QgaiwgcGdfdHlwZW9mKGop IEZST00geG1sY2FzdCh4bWxjYXN0KEUnZm9vICYgPCJiYXIiPlxyJyBBUyB4bWwpIEFTIHRl eHQpIHQoaik7CitTRUxFQ1QgaiwgcGdfdHlwZW9mKGopIEZST00geG1sY2FzdCh0b19kYXRl KCcyOS8wNS8yMDI0JywnZGQvbW0veXl5eScpIEFTIHhtbCkgdChqKTsKK1NFTEVDVCBqLCBw Z190eXBlb2YoaikgRlJPTSB4bWxjYXN0KCcyMDI0LTA1LTI5IDEyOjA0OjEwLjcwMzU4NSsw Mic6OnRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBhdCB0aW1lIHpvbmUgJ0V1cm9wZS9CZXJs aW4nIEFTIHhtbCkgdChqKTsKK1NFTEVDVCBqLCBwZ190eXBlb2YoaikgRlJPTSB4bWxjYXN0 KCcyMDI0LTA1LTI5IDEyOjA0OjEwLjcwMzU4NSswMic6OnRpbWVzdGFtcCB3aXRob3V0IHRp bWUgem9uZSBBUyB4bWwpIHQoaik7CitTRUxFQ1QgaiwgcGdfdHlwZW9mKGopIEZST00geG1s Y2FzdCgnMSB5ZWFyIDIgbW9udGhzIDMgZGF5cyA0IGhvdXJzIDUgbWludXRlcyA2IHNlY29u ZHMnOjppbnRlcnZhbCBBUyB4bWwpIHQoaik7CitTRUxFQ1QgaiwgcGdfdHlwZW9mKGopIEZS T00geG1sY2FzdCg0MjczNTM1NDIgQVMgeG1sKSB0KGopOworU0VMRUNUIGosIHBnX3R5cGVv ZihqKSBGUk9NIHhtbGNhc3QoNDI3MzUzNTQyMDE2MjAyMSBBUyB4bWwpIHQoaik7CitTRUxF Q1QgaiwgcGdfdHlwZW9mKGopIEZST00geG1sY2FzdCg0Mi4wMDczMTIzNDU2Nzg5MTAgQVMg eG1sKSB0KGopOworU0VMRUNUIGosIHBnX3R5cGVvZihqKSBGUk9NIHhtbGNhc3QoNDIuMDA3 MzEyMzQ1Njc4OTEwOjpkb3VibGUgcHJlY2lzaW9uIEFTIHhtbCkgdChqKTsKK1NFTEVDVCBq LCBwZ190eXBlb2YoaikgRlJPTSB4bWxjYXN0KHRydWUgQVMgeG1sKSB0KGopOworU0VMRUNU IGosIHBnX3R5cGVvZihqKSBGUk9NIHhtbGNhc3QoZmFsc2UgQVMgeG1sKSB0KGopOworU0VM RUNUIGosIHBnX3R5cGVvZihqKSBGUk9NIHhtbGNhc3QoNDIgPSA3MyBBUyB4bWwpIHQoaik7 CitTRUxFQ1QgaiwgcGdfdHlwZW9mKGopIEZST00geG1sY2FzdCg0MiA8PiA3MyBBUyB4bWwp IHQoaik7CitTRUxFQ1QgaiwgcGdfdHlwZW9mKGopIEZST00geG1sY2FzdCgnMTE6MTE6MTEu NSc6OnRpbWUgQVMgeG1sKSB0KGopOworU0VMRUNUIGosIHBnX3R5cGVvZihqKSBGUk9NIHht bGNhc3QoJzExOjExOjExLjUnOjp0aW1lIHdpdGggdGltZSB6b25lIGF0IHRpbWUgem9uZSAn RXVyb3BlL0JlcmxpbicgQVMgeG1sKSB0KGopOworCistLSBDb252ZXJ0IGFuIFhNTCBzdHJp bmcgdG8gYnl0ZWEgYW5kIGJhY2sgdG8geG1sCitTRUxFQ1QgeG1sY2FzdChjb252ZXJ0X2Zy b20oeG1sY2FzdCgnJmx0OyZxdW90O2ZvbyZhbXA7YmFyJnF1b3Q7Jmd0Oyc6OnhtbCBBUyBi eXRlYSksJ1VURjgnKTo6eG1sIEFTIHRleHQpOworCitTRVQgeG1sYmluYXJ5IFRPIGhleDsK K1NFTEVDVCB4bWxjYXN0KEUnXFx4REVBREJFRUYnOjpieXRlYSBBUyB4bWwpOworU0VUIHht bGJpbmFyeSBUTyBiYXNlNjQ7CitTRUxFQ1QgeG1sY2FzdChFJ1xceERFQURCRUVGJzo6Ynl0 ZWEgQVMgeG1sKTsKKworLS0gVGhlIEJZIFJFRiBhbmQgQlkgVkFMVUUgY2xhdXNlcyBhcmUg YWNjZXB0ZWQgYnV0IGlnbm9yZWQuCistLSBUaGlzIGNoZWNrcyBpZiB0aGUgcmVzdWx0cyBh cmUgaW5kZWVkIHRoZSBzYW1lIGFzIHdpdGhvdXQgdGhlIGNsYXVzZXMuCitTRUxFQ1QKKyAg eG1sY2FzdCgnZm9vJyBBUyB4bWwpOjp0ZXh0ID0geG1sY2FzdCgnZm9vJyBBUyB4bWwgQlkg UkVGKTo6dGV4dCwKKyAgeG1sY2FzdCgnZm9vJyBBUyB4bWwpOjp0ZXh0ID0geG1sY2FzdCgn Zm9vJyBBUyB4bWwgQlkgVkFMVUUpOjp0ZXh0LAorICB4bWxjYXN0KCdmb28nOjp4bWwgQVMg dGV4dCkgPSB4bWxjYXN0KCdmb28nOjp4bWwgQVMgdGV4dCBCWSBSRUYpLAorICB4bWxjYXN0 KCdmb28nOjp4bWwgQVMgdGV4dCkgPSB4bWxjYXN0KCdmb28nOjp4bWwgQVMgdGV4dCBCWSBW QUxVRSk7CisKK1NFTEVDVAorICB4bWxjYXN0KDQyIEFTIHhtbCk6OnRleHQgPSB4bWxjYXN0 KDQyIEFTIHhtbCBCWSBSRUYpOjp0ZXh0LAorICB4bWxjYXN0KDQyIEFTIHhtbCk6OnRleHQg PSB4bWxjYXN0KDQyIEFTIHhtbCBCWSBWQUxVRSk6OnRleHQsCisgIHhtbGNhc3QoJzQyJzo6 eG1sIEFTIGludCkgPSB4bWxjYXN0KCc0Mic6OnhtbCBBUyBpbnQgQlkgUkVGKSwKKyAgeG1s Y2FzdCgnNDInOjp4bWwgQVMgaW50KSA9IHhtbGNhc3QoJzQyJzo6eG1sIEFTIGludCBCWSBW QUxVRSk7CisKK1NFTEVDVAorICB4bWxjYXN0KDQyLjczIEFTIHhtbCk6OnRleHQgPSB4bWxj YXN0KDQyLjczIEFTIHhtbCBCWSBSRUYpOjp0ZXh0LAorICB4bWxjYXN0KDQyLjczIEFTIHht bCk6OnRleHQgPSB4bWxjYXN0KDQyLjczIEFTIHhtbCBCWSBWQUxVRSk6OnRleHQsCisgIHht bGNhc3QoJzQyLjczJzo6eG1sIEFTIG51bWVyaWMpID0geG1sY2FzdCgnNDIuNzMnOjp4bWwg QVMgbnVtZXJpYyBCWSBSRUYpLAorICB4bWxjYXN0KCc0Mi43Myc6OnhtbCBBUyBudW1lcmlj KSA9IHhtbGNhc3QoJzQyLjczJzo6eG1sIEFTIG51bWVyaWMgQlkgVkFMVUUpOworCitTRUxF Q1QKKyAgeG1sY2FzdCgnMjAyNC0wOC0xNCc6OmRhdGUgQVMgeG1sKTo6dGV4dCA9IHhtbGNh c3QoJzIwMjQtMDgtMTQnOjpkYXRlIEFTIHhtbCBCWSBSRUYpOjp0ZXh0LAorICB4bWxjYXN0 KCcyMDI0LTA4LTE0Jzo6ZGF0ZSBBUyB4bWwpOjp0ZXh0ID0geG1sY2FzdCgnMjAyNC0wOC0x NCc6OmRhdGUgQVMgeG1sIEJZIFZBTFVFKTo6dGV4dCwKKyAgeG1sY2FzdCgnMjAyNC0wOC0x NCc6OnhtbCBBUyBkYXRlKSA9IHhtbGNhc3QoJzIwMjQtMDgtMTQnOjp4bWwgQVMgZGF0ZSBC WSBSRUYpLAorICB4bWxjYXN0KCcyMDI0LTA4LTE0Jzo6eG1sIEFTIGRhdGUpID0geG1sY2Fz dCgnMjAyNC0wOC0xNCc6OnhtbCBBUyBkYXRlIEJZIFZBTFVFKTsKKworU0VMRUNUCisgIHht bGNhc3QoJzEyOjMwOjQ1Jzo6dGltZSB3aXRob3V0IHRpbWUgem9uZSBBUyB4bWwpOjp0ZXh0 ID0geG1sY2FzdCgnMTI6MzA6NDUnOjp0aW1lIHdpdGhvdXQgdGltZSB6b25lIEFTIHhtbCBC WSBSRUYpOjp0ZXh0LAorICB4bWxjYXN0KCcxMjozMDo0NSc6OnRpbWUgd2l0aG91dCB0aW1l IHpvbmUgQVMgeG1sKTo6dGV4dCA9IHhtbGNhc3QoJzEyOjMwOjQ1Jzo6dGltZSB3aXRob3V0 IHRpbWUgem9uZSBBUyB4bWwgQlkgVkFMVUUpOjp0ZXh0LAorICB4bWxjYXN0KCcxMjozMDo0 NSc6OnhtbCBBUyB0aW1lIHdpdGhvdXQgdGltZSB6b25lKSA9IHhtbGNhc3QoJzEyOjMwOjQ1 Jzo6eG1sIEFTIHRpbWUgd2l0aG91dCB0aW1lIHpvbmUgQlkgUkVGKSwKKyAgeG1sY2FzdCgn MTI6MzA6NDUnOjp4bWwgQVMgdGltZSB3aXRob3V0IHRpbWUgem9uZSkgPSB4bWxjYXN0KCcx MjozMDo0NSc6OnhtbCBBUyB0aW1lIHdpdGhvdXQgdGltZSB6b25lIEJZIFZBTFVFKTsKKwor U0VMRUNUCisgIHhtbGNhc3QoJzA5OjMwOjEwKzA2OjAwJzo6dGltZSB3aXRoIHRpbWUgem9u ZSBBUyB4bWwpOjp0ZXh0ID0geG1sY2FzdCgnMDk6MzA6MTArMDY6MDAnOjp0aW1lIHdpdGgg dGltZSB6b25lIEFTIHhtbCBCWSBSRUYpOjp0ZXh0LAorICB4bWxjYXN0KCcwOTozMDoxMCsw NjowMCc6OnRpbWUgd2l0aCB0aW1lIHpvbmUgQVMgeG1sKTo6dGV4dCA9IHhtbGNhc3QoJzA5 OjMwOjEwKzA2OjAwJzo6dGltZSB3aXRoIHRpbWUgem9uZSBBUyB4bWwgQlkgVkFMVUUpOjp0 ZXh0LAorICB4bWxjYXN0KCcwOTozMDoxMCswNjowMCc6OnhtbCBBUyB0aW1lIHdpdGggdGlt ZSB6b25lKSA9IHhtbGNhc3QoJzA5OjMwOjEwKzA2OjAwJzo6eG1sIEFTIHRpbWUgd2l0aCB0 aW1lIHpvbmUgQlkgUkVGKSwKKyAgeG1sY2FzdCgnMDk6MzA6MTArMDY6MDAnOjp4bWwgQVMg dGltZSB3aXRoIHRpbWUgem9uZSkgPSB4bWxjYXN0KCcwOTozMDoxMCswNjowMCc6OnhtbCBB UyB0aW1lIHdpdGggdGltZSB6b25lIEJZIFZBTFVFKTsKKworU0VMRUNUCisgIHhtbGNhc3Qo JzIwMDItMDUtMzAgMDk6MzA6MTArMDY6MDAnOjp0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUg QVMgeG1sKTo6dGV4dCA9IHhtbGNhc3QoJzIwMDItMDUtMzAgMDk6MzA6MTArMDY6MDAnOjp0 aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgQVMgeG1sIEJZIFJFRik6OnRleHQsCisgIHhtbGNh c3QoJzIwMDItMDUtMzAgMDk6MzA6MTArMDY6MDAnOjp0aW1lc3RhbXAgd2l0aCB0aW1lIHpv bmUgQVMgeG1sKTo6dGV4dCA9IHhtbGNhc3QoJzIwMDItMDUtMzAgMDk6MzA6MTArMDY6MDAn Ojp0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgQVMgeG1sIEJZIFZBTFVFKTo6dGV4dCwKKyAg eG1sY2FzdCgnMjAwMi0wNS0zMFQwOTozMDoxMCswNjowMCc6OnhtbCBBUyB0aW1lc3RhbXAg d2l0aCB0aW1lIHpvbmUpID0geG1sY2FzdCgnMjAwMi0wNS0zMFQwOTozMDoxMCswNjowMCc6 OnhtbCBBUyB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgQlkgUkVGKSwKKyAgeG1sY2FzdCgn MjAwMi0wNS0zMFQwOTozMDoxMCswNjowMCc6OnhtbCBBUyB0aW1lc3RhbXAgd2l0aCB0aW1l IHpvbmUpID0geG1sY2FzdCgnMjAwMi0wNS0zMFQwOTozMDoxMCswNjowMCc6OnhtbCBBUyB0 aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgQlkgVkFMVUUpOworCitTRUxFQ1QKKyAgeG1sY2Fz dCgnMSB5ZWFyIDIgbW9ucyc6OmludGVydmFsIEFTIHhtbCk6OnRleHQgPSB4bWxjYXN0KCcx IHllYXIgMiBtb25zJzo6aW50ZXJ2YWwgQVMgeG1sIEJZIFJFRik6OnRleHQsCisgIHhtbGNh c3QoJzEgeWVhciAyIG1vbnMnOjppbnRlcnZhbCBBUyB4bWwpOjp0ZXh0ID0geG1sY2FzdCgn MSB5ZWFyIDIgbW9ucyc6OmludGVydmFsIEFTIHhtbCBCWSBWQUxVRSk6OnRleHQsCisgIHht bGNhc3QoJzEgeWVhciAyIG1vbnMnOjp4bWwgQVMgaW50ZXJ2YWwpID0geG1sY2FzdCgnMSB5 ZWFyIDIgbW9ucyc6OnhtbCBBUyBpbnRlcnZhbCBCWSBSRUYpLAorICB4bWxjYXN0KCcxIHll YXIgMiBtb25zJzo6eG1sIEFTIGludGVydmFsKSA9IHhtbGNhc3QoJzEgeWVhciAyIG1vbnMn Ojp4bWwgQVMgaW50ZXJ2YWwgQlkgVkFMVUUpOworCitDUkVBVEUgVklFVyB2aWV3X3htbGNh c3RfdG9feG1sIEFTCitTRUxFQ1QKKyAgeG1sY2FzdChOVUxMIEFTIHhtbCkgQVMgYzEsCisg IHhtbGNhc3QoJ2ZvbycgQVMgeG1sKSBBUyBjMiwKKyAgeG1sY2FzdCgnJzo6dGV4dCBBUyB4 bWwpIEFTIGMzLAorICB4bWxjYXN0KE5VTEw6OnRleHQgQVMgeG1sKSBBUyBjNCwKKyAgeG1s Y2FzdCgnJzo6eG1sIEFTIHRleHQpIEFTIGM1LAorICB4bWxjYXN0KE5VTEw6OnhtbCBBUyB0 ZXh0KSBjNiwKKyAgeG1sY2FzdCgnZm9vICYgPCJiYXIiPic6OnRleHQgQVMgeG1sKSBBUyBj NywKKyAgeG1sY2FzdCgnZm9vICYgPCJiYXIiPic6OnZhcmNoYXIgQVMgeG1sKSBBUyBjOCwK KyAgeG1sY2FzdCgnZm9vICYgPCJiYXIiPic6Om5hbWUgQVMgeG1sKSBBUyBjOSwKKyAgeG1s Y2FzdCh4bWx0ZXh0KEUnZm9vICYgPCJiYXIiPlxyJykgQVMgdGV4dCkgQVMgYzEwLAorICB4 bWxjYXN0KHhtbGNhc3QoRSdmb28gJiA8ImJhciI+XHInIEFTIHhtbCkgQVMgdGV4dCkgQVMg YzExLAorICB4bWxjYXN0KHRvX2RhdGUoJzI5LzA1LzIwMjQnLCdkZC9tbS95eXl5JykgQVMg eG1sKSBBUyBjMTIsCisgIHhtbGNhc3QoJzIwMjQtMDUtMjkgMTI6MDQ6MTAuNzAzNTg1KzAy Jzo6dGltZXN0YW1wIHdpdGggdGltZSB6b25lIGF0IHRpbWUgem9uZSAnRXVyb3BlL0Jlcmxp bicgQVMgeG1sKSBBUyBjMTMsCisgIHhtbGNhc3QoJzIwMjQtMDUtMjkgMTI6MDQ6MTAuNzAz NTg1KzAyJzo6dGltZXN0YW1wIHdpdGhvdXQgdGltZSB6b25lIEFTIHhtbCkgQVMgYzE0LAor ICB4bWxjYXN0KCcxIHllYXIgMiBtb250aHMgMyBkYXlzIDQgaG91cnMgNSBtaW51dGVzIDYg c2Vjb25kcyc6OmludGVydmFsIEFTIHhtbCkgQVMgYzE1LAorICB4bWxjYXN0KDQyNzM1MzU0 MiBBUyB4bWwpIEFTIGMxNiwKKyAgeG1sY2FzdCg0MjczNTM1NDIwMTYyMDIxIEFTIHhtbCkg QVMgYzE3LAorICB4bWxjYXN0KDQyLjAwNzMxMjM0NTY3ODkxMCBBUyB4bWwpIEFTIGMxOCwK KyAgeG1sY2FzdCg0Mi4wMDczMTIzNDU2Nzg5MTA6OmRvdWJsZSBwcmVjaXNpb24gQVMgeG1s KSBBUyBjMTksCisgIHhtbGNhc3QodHJ1ZSBBUyB4bWwpIEFTIGMyMCwKKyAgeG1sY2FzdChm YWxzZSBBUyB4bWwpIEFTIGMyMSwKKyAgeG1sY2FzdCg0MiA9IDczIEFTIHhtbCkgQVMgYzIy LAorICB4bWxjYXN0KDQyIDw+IDczIEFTIHhtbCkgQVMgYzIzLAorICB4bWxjYXN0KCcxMTox MToxMS41Jzo6dGltZSBBUyB4bWwpIEFTIGMyNCwKKyAgeG1sY2FzdCgnMTE6MTE6MTEuNSc6 OnRpbWUgd2l0aCB0aW1lIHpvbmUgYXQgdGltZSB6b25lICdFdXJvcGUvQmVybGluJyBBUyB4 bWwpIEFTIGMyNTsKKworXHN2IHZpZXdfeG1sY2FzdF90b194bWwKK1NFTEVDVCAqIEZST00g dmlld194bWxjYXN0X3RvX3htbDsKKworQ1JFQVRFIFZJRVcgdmlld194bWxjYXN0X2Zyb21f eG1sIEFTCitTRUxFQ1QKKyAgeG1sY2FzdCgnUDFZMk0zRFQ0SDVNNlMnOjp4bWwgQVMgaW50 ZXJ2YWwpIEFTIGMxLAorICB4bWxjYXN0KCcxIHllYXIgMiBtb25zIDMgZGF5cyA0IGhvdXJz IDUgbWludXRlcyA2IHNlY29uZHMnOjp4bWwgQVMgaW50ZXJ2YWwpIEFTIGMyLAorICB4bWxj YXN0KCcyMDAyLTA5LTI0Jzo6eG1sIEFTIGRhdGUpIEFTIGMzLAorICB4bWxjYXN0KCcyMDAy LTA5LTI0KzA2OjAwJzo6eG1sIEFTIGRhdGUpIEFTIGM0LAorICB4bWxjYXN0KCcwOTozMDox MFonOjp4bWwgQVMgdGltZSB3aXRoIHRpbWUgem9uZSkgYXQgdGltZSB6b25lICdFdXJvcGUv QmVybGluJyBBUyBjNSwKKyAgeG1sY2FzdCgnMDk6MzA6MTAtMDY6MDAnOjp4bWwgQVMgdGlt ZSB3aXRoIHRpbWUgem9uZSkgYXQgdGltZSB6b25lICdFdXJvcGUvQmVybGluJyBBUyBjNiwK KyAgeG1sY2FzdCgnMDk6MzA6MTArMDY6MDAnOjp4bWwgQVMgdGltZSB3aXRoIHRpbWUgem9u ZSkgYXQgdGltZSB6b25lICdFdXJvcGUvQmVybGluJyBBUyBjNywKKyAgeG1sY2FzdCgnMjAw Mi0wNS0zMFQwOTozMDoxMFonOjp4bWwgQVMgdGltZXN0YW1wIHdpdGggdGltZSB6b25lKSBh dCB0aW1lIHpvbmUgJ0V1cm9wZS9CZXJsaW4nIEFTIGM4LAorICB4bWxjYXN0KCcyMDAyLTA1 LTMwVDA5OjMwOjEwLTA2OjAwJzo6eG1sIEFTIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSkg YXQgdGltZSB6b25lICdFdXJvcGUvQmVybGluJyBBUyBjOSwKKyAgeG1sY2FzdCgnMjAwMi0w NS0zMFQwOTozMDoxMCswNjowMCc6OnhtbCBBUyB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUp IGF0IHRpbWUgem9uZSAnRXVyb3BlL0JlcmxpbicgQVMgYzEwLAorICB4bWxjYXN0KCdmb28g YmFyJzo6eG1sIEFTIHRleHQpIEFTIGMxMSwKKyAgeG1sY2FzdCgnICAgICAgIGZvbyBiYXIg ICAgICc6OnhtbCBBUyB2YXJjaGFyKSBBUyBjMTIsCisgIHhtbGNhc3QoJ2ZvbyAmYW1wOyAm bHQ7JnF1b3Q7YmFyJnF1b3Q7Jmd0Oyc6OnhtbCBBUyB0ZXh0KSBBUyBjMTMsCisgIHhtbGNh c3QoJzQyLjczMTIzNDU2Nzg5MTAnOjp4bWwgQVMgbnVtZXJpYykgQVMgYzE0LAorICB4bWxj YXN0KCcrNDIuNzMxMjM0NTY3ODkxMCc6OnhtbCBBUyBudW1lcmljKSBBUyBjMTUsCisgIHht bGNhc3QoJy00Mi43MzEyMzQ1Njc4OTEwJzo6eG1sIEFTIG51bWVyaWMpIEFTIGMxNiwKKyAg eG1sY2FzdCgnNDInOjp4bWwgQVMgaW50ZWdlcikgQVMgYzE3LAorICB4bWxjYXN0KCcrNDIn Ojp4bWwgQVMgaW50ZWdlcikgQVMgYzE4LAorICB4bWxjYXN0KCctNDInOjp4bWwgQVMgaW50 ZWdlcikgQVMgYzE5LAorICB4bWxjYXN0KCc0MjczNTM1NDIwMTYyMDIxJzo6eG1sIEFTIGJp Z2ludCkgQVMgYzIwLAorICB4bWxjYXN0KCcrNDI3MzUzNTQyMDE2MjAyMSc6OnhtbCBBUyBi aWdpbnQpIEFTIGMyMSwKKyAgeG1sY2FzdCgnLTQyNzM1MzU0MjAxNjIwMjEnOjp4bWwgQVMg YmlnaW50KSBBUyBjMjIsCisgIHhtbGNhc3QoJ3RydWUnOjp4bWwgQVMgYm9vbGVhbikgQVMg YzIzLAorICB4bWxjYXN0KCdmYWxzZSc6OnhtbCBBUyBib29sZWFuKSBBUyBjMjQsCisgIHht bGNhc3QoJyc6OnhtbCBBUyBjaGFyYWN0ZXIgdmFyeWluZykgQVMgYzI1LAorICB4bWxjYXN0 KE5VTEw6OnhtbCBBUyBjaGFyYWN0ZXIgdmFyeWluZykgQVMgYzI2OworCitcc3Ygdmlld194 bWxjYXN0X2Zyb21feG1sCitTRUxFQ1QgKiBGUk9NIHZpZXdfeG1sY2FzdF9mcm9tX3htbDsK XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvdG9vbHMvcGdp bmRlbnQvdHlwZWRlZnMubGlzdCBiL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0 CmluZGV4IDQzZmUzYmNkNTkuLjJlNDgxY2Q4ZDcgMTAwNjQ0Ci0tLSBhL3NyYy90b29scy9w Z2luZGVudC90eXBlZGVmcy5saXN0CisrKyBiL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVm cy5saXN0CkBAIC0zMzgzLDYgKzMzODMsNyBAQCBYaWRTdGF0dXMKIFhtbEV4cHIKIFhtbEV4 cHJPcAogWG1sT3B0aW9uVHlwZQorWG1sQ2FzdAogWG1sU2VyaWFsaXplCiBYbWxUYWJsZUJ1 aWxkZXJEYXRhCiBZWUxUWVBFCi0tIAoyLjQzLjAKCg== --------------PRPp3YQHDd0J60YTpSjipXqb--