From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jim Porter Newsgroups: gmane.emacs.bugs Subject: bug#59545: 29.0.50; Eshell fails to redirect output of sourced eshell file Date: Mon, 26 Dec 2022 11:50:47 -0800 Message-ID: References: <9f56f995-c03d-a10e-ac18-b873af8589dc@gmail.com> <87o7rx5bfk.fsf@gmx.de> <83h6xoa77r.fsf@gnu.org> <0dfbb64b-1828-903e-9630-12c29f21efc1@gmail.com> <13f7119d-9960-1936-9014-2147e9bd1db9@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------Q5qTm0qP17pHNiKFLD37bFii" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="31316"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 59545@debbugs.gnu.org, milan.zimmermann@gmail.com, michael.albinus@gmx.de To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Dec 26 20:51:18 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1p9tVG-0007ub-3R for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 26 Dec 2022 20:51:18 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p9tV2-00032J-VA; Mon, 26 Dec 2022 14:51:05 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p9tV0-00031p-Ju for bug-gnu-emacs@gnu.org; Mon, 26 Dec 2022 14:51:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1p9tV0-0005Vs-5L for bug-gnu-emacs@gnu.org; Mon, 26 Dec 2022 14:51:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1p9tUz-000071-NN for bug-gnu-emacs@gnu.org; Mon, 26 Dec 2022 14:51:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 26 Dec 2022 19:51:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 59545 X-GNU-PR-Package: emacs Original-Received: via spool by 59545-submit@debbugs.gnu.org id=B59545.1672084257418 (code B ref 59545); Mon, 26 Dec 2022 19:51:01 +0000 Original-Received: (at 59545) by debbugs.gnu.org; 26 Dec 2022 19:50:57 +0000 Original-Received: from localhost ([127.0.0.1]:54139 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p9tUt-00006b-Rq for submit@debbugs.gnu.org; Mon, 26 Dec 2022 14:50:57 -0500 Original-Received: from mail-pj1-f49.google.com ([209.85.216.49]:50903) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p9tUq-00006M-L3 for 59545@debbugs.gnu.org; Mon, 26 Dec 2022 14:50:54 -0500 Original-Received: by mail-pj1-f49.google.com with SMTP id fy4so11428814pjb.0 for <59545@debbugs.gnu.org>; Mon, 26 Dec 2022 11:50:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:references:cc:to:from:content-language:subject :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=YpXQjAC+i/55KCS786+r+k3PdktIQMiODLcwEuIgk0I=; b=ZL9xwZbY7QzGEPuHkpA3eQyleLCWPDPqj9NKWJmbilSWDIOMhspHCuNQusBZmWDq4Q NmJXWPprvWL1ESG1BJdDBzsjy9dIyiigQm24Prcx7pJqknzCPl4C7nwHJIkQxwizAJPm ND/e6edNM5RdCbcb1CRH6P8GPbFMX2i+8dyt0ui7TicIzOtEfqjJOTOYIRWvQ0jyYO1G 5GQ0CmY2+CvGV1Ail2zNnEKfRDyO55jGTGAB+tM2yfp883yfhN9rfzgNtEHnsbOlsIod /3fko7XKBtn+1jjaaYboERcGy1lyZBC0iuBVP98rx4KCvT0FLWI5fDgHb1/hOrQ4YdLj avPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:references:cc:to:from:content-language:subject :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=YpXQjAC+i/55KCS786+r+k3PdktIQMiODLcwEuIgk0I=; b=5DHi9Urmq6PgDv2Nw3EPkcuEQzfvILqCVw00ly5UFAyOCFlP3qTkvz/rsWV3B+mIz/ 5HP0r9il9G53QabykmKzaHO7CG5AwAUp9Go+40YU/3mJSCFHY/ueFDVD5YciC3Y86F3E DGz92rC5pL4c1bWl4efPZr+FJ0iwzuox3msCMsMr3V9/VNzSNzZpKsXLFp6eEwm/Cpvc Pq9FUbDsZDi+7/MYX7DxiVA/kBw8wcWQO6lVeXxsxllGIlBeeqgxhc0rUnDdIu7vSyT1 UBr5ht+P6UjuNX/Sunk+Tcnn3nj+yb7tyXqLEUDjXR85rT1++sVxq2ylguQoM7Y0O4V/ VUpA== X-Gm-Message-State: AFqh2koKWZYzZmSdPqg+/OIgtLs1nl1NUW0NoizGKVCDR/loXOjXmWB1 HC0uu4PKg1kAlMiyTMxDMmU= X-Google-Smtp-Source: AMrXdXsnb/LhjaMMmKQ18i6TxuUt/s373GR32muNIQyCFJSes4QmewAQ9jHDJDXzV/qEOMR47e8ZRw== X-Received: by 2002:a17:90a:ce07:b0:21a:db1:d87e with SMTP id f7-20020a17090ace0700b0021a0db1d87emr36331418pju.8.1672084246805; Mon, 26 Dec 2022 11:50:46 -0800 (PST) Original-Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com. [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id a7-20020a17090a70c700b00219feae9486sm9182271pjm.7.2022.12.26.11.50.45 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 26 Dec 2022 11:50:46 -0800 (PST) Content-Language: en-US In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:251915 Archived-At: This is a multi-part message in MIME format. --------------Q5qTm0qP17pHNiKFLD37bFii Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 12/25/2022 1:49 PM, Jim Porter wrote: > I think this should resolve all the issues now, so unless anyone has > objections, I'll merge this to the master branch in a few days. Attached is the same patch as before, but I added a few new tests to ensure that I/O handles are properly closed after using control flow forms like 'while' or 'if' in Eshell. --------------Q5qTm0qP17pHNiKFLD37bFii Content-Type: text/plain; charset=UTF-8; name="0001-Fix-reference-counting-of-Eshell-I-O-handles.patch" Content-Disposition: attachment; filename="0001-Fix-reference-counting-of-Eshell-I-O-handles.patch" Content-Transfer-Encoding: base64 RnJvbSA4OTc5YThkMWJkZDliYWIzZGFjYzhjZmJjM2RjMTc4ZTExYjBlZGUyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFNhdCwgMjQgRGVjIDIwMjIgMTQ6MzE6NTAgLTA4MDAKU3ViamVjdDogW1BB VENIXSBGaXggcmVmZXJlbmNlLWNvdW50aW5nIG9mIEVzaGVsbCBJL08gaGFuZGxlcwoKVGhp cyBlbnN1cmVzIHRoYXQgb3V0cHV0IHRhcmdldHMgaW4gRXNoZWxsIGFyZSBvbmx5IGNsb3Nl ZCB3aGVuIEVzaGVsbAppcyBhY3R1YWxseSBkb25lIHdpdGggdGhlbS4gIEluIHBhcnRpY3Vs YXIsIHRoaXMgbWVhbnMgdGhhdAoieyBlY2hvIGZvbzsgZWNobyBiYXIgfSB8IHJldiIgcHJp bnRzICJyYWJvb2YiIGFzIGV4cGVjdGVkCihidWcjNTk1NDUpLgoKKiBsaXNwL2VzaGVsbC9l c2gtaW8uZWwgKGVzaGVsbC1jcmVhdGUtaGFuZGxlcyk6IFN0cnVjdHVyZSB0aGUgaGFuZGxl cwpkaWZmZXJlbnRseSBzbyB0aGUgdGFyZ2V0cyBhbmQgdGhlaXIgcmVmLWNvdW50IGNhbiBi ZSBzaGFyZWQuCihlc2hlbGwtZHVwbGljYXRlLWhhbmRsZXMpOiBSZWltcGxlbWVudCB0aGlz IHRvIHNoYXJlIHRhcmdldHMgYmV0d2Vlbgp0aGUgb3JpZ2luYWwgYW5kIG5ldyBoYW5kbGUg c2V0cy4gIEFkZCBTVEVBTC1QIGFyZ3VtZW50LgooZXNoZWxsLXByb3RlY3QtaGFuZGxlcywg ZXNoZWxsLWNvcHktb3V0cHV0LWhhbmRsZSkKKGVzaGVsbC1pbnRlcmFjdGl2ZS1vdXRwdXQt cCwgZXNoZWxsLW91dHB1dC1vYmplY3QpOiBBY2NvdW50IGZvcgpjaGFuZ2VzIHRvIHRoZSBo YW5kbGUgc3RydWN0dXJlLgooZXNoZWxsLWNsb3NlLWhhbmRsZSk6IE5ldyBmdW5jdGlvbi4u LgooZXNoZWxsLWNsb3NlLWhhbmRsZXMsIGVzaGVsbC1zZXQtb3V0cHV0LWhhbmRsZSk6IC4u LiB1c2UgaXQuCihlc2hlbGwtZ2V0LXRhcmdldHMpOiBSZW1vdmUuICBUaGlzIG9ubHkgZXhp c3RlZCB0byBtYWtlIHRoZSBwcmV2aW91cwppbXBsZW1lbnRhdGlvbiBvZiAnZXNoZWxsLWR1 cGxpY2F0ZS1oYW5kbGVzJyB3b3JrLgoKKiBsaXNwL2VzaGVsbC9lc2gtY21kLmVsIChlc2hl bGwtd2l0aC1jb3BpZWQtaGFuZGxlcyk6IE5ldyBhcmd1bWVudApTVEVBTC1QLgooZXNoZWxs LWRvLXBpcGVsaW5lcyk6IFVzZSBTVEVBTC1QIGZvciB0aGUgbGFzdCBpdGVtIGluIHRoZSBw aXBlbGluZS4KKGVzaGVsbC1wYXJzZS1jb21tYW5kKTogRG9uJ3QgY29weSBoYW5kbGVzIGZv ciB0aGUgbGFzdCBjb21tYW5kIGluIHRoZQpsaXN0OyBleHBsYWluIHdoeSB3ZSBjYW4ndCB1 c2UgU1RFQUwtUCBoZXJlLgooZXNoZWxsLWV2YWwtY29tbWFuZCk6IFdoZW4gcXVldWluZyBp bnB1dCwgc2V0ICdlc2hlbGwtY29tbWFuZC1ib2R5JwphbmQgJ2VzaGVsbC10ZXN0LWJvZHkn IGZvciB0aGUgJ2lmJyBjb25kaXRpb25hbCAoc2VlCidlc2hlbGwtZG8tZXZhbCcpLgoKKiB0 ZXN0L2xpc3AvZXNoZWxsL2VzaC1pby10ZXN0cy5lbCAoZXNoLWlvLXRlc3QvcmVkaXJlY3Qt cGlwZSk6IFNwbGl0CmludG8uLi4KKGVzaC1pby10ZXN0L3BpcGVsaW5lL2RlZmF1bHQsIGVz aC1pby10ZXN0L3BpcGVsaW5lL2FsbCk6IC4uLiB0aGVzZS4KKGVzaC1pby10ZXN0L3BpcGVs aW5lL3N1YmNvbW1hbmRzKTogTmV3IHRlc3QuCgoqIHRlc3QvbGlzcC9lc2hlbGwvZXNoLWNt ZC10ZXN0cy5lbCAoZXNoLWNtZC10ZXN0L2Zvci1sb29wLXBpcGUpCihlc2gtY21kLXRlc3Qv d2hpbGUtbG9vcC1waXBlLCBlc2gtY21kLXRlc3QvaWYtc3RhdGVtZW50LXBpcGUpCmVzaC1j bWQtdGVzdC9pZi1lbHNlLXN0YXRlbWVudC1waXBlKTogTmV3IHRlc3RzLgooZXNoLWNtZC10 ZXN0L3doaWxlLWxvb3ApOiBVc2UgJ3BvcCcgdG8gc2ltcGxpZnkgdGhlIHRlc3QgYSBiaXQu CgoqIHRlc3QvbGlzcC9lc2hlbGwvZXNoZWxsLXRlc3QtaGVscGVycy5lbAooZXNoZWxsLXRl c3QtLW1heC1zdWJwcm9jZXNzLXRpbWUpOiBSZW5hbWUgdG8uLi4KKGVzaGVsbC10ZXN0LS1t YXgtd2FpdC10aW1lKTogLi4uIHRoaXMuCihlc2hlbGwtd2FpdC1mb3IpOiBOZXcgZnVuY3Rp b24uLi4KKGVzaGVsbC13YWl0LWZvci1zdWJwcm9jZXNzKTogLi4uIHVzZSBpdC4KCiogdGVz dC9saXNwL2VzaGVsbC9lc2hlbGwtdGVzdHMuZWwgKGVzaGVsbC10ZXN0L3F1ZXVlLWlucHV0 KTogRml4IHRoaXMKdGVzdC4gIFByZXZpb3VzbHksIGl0IGRpZG4ndCBjb3JyZWN0bHkgdmVy aWZ5IHRoYXQgdGhlIG9yaWdpbmFsCmNvbW1hbmQgY29tcGxldGVkLgoKKiB0ZXN0L2xpc3Av ZXNoZWxsL2VtLXRyYW1wLXRlc3RzLmVsCihlbS10cmFtcC10ZXN0L3Nob3VsZC1yZXBsYWNl LWNvbW1hbmQpOiBOZXcgbWFjcm8uLi4KKGVtLXRyYW1wLXRlc3Qvc3UtZGVmYXVsdCwgZW0t dHJhbXAtdGVzdC9zdS11c2VyKQooZW0tdHJhbXAtdGVzdC9zdS1sb2dpbiwgZW0tdHJhbXAt dGVzdC9zdWRvLXNoZWxsKQooZW0tdHJhbXAtdGVzdC9zdWRvLXVzZXItc2hlbGwsIGVtLXRy YW1wLXRlc3QvZG9hcy1zaGVsbCkKKGVtLXRyYW1wLXRlc3QvZG9hcy11c2VyLXNoZWxsKTog Li4uIHVzZSBpdC4KLS0tCiBsaXNwL2VzaGVsbC9lc2gtY21kLmVsICAgICAgICAgICAgICAg ICAgIHwgIDI1ICsrKy0tCiBsaXNwL2VzaGVsbC9lc2gtaW8uZWwgICAgICAgICAgICAgICAg ICAgIHwgMTIzICsrKysrKysrKysrKysrLS0tLS0tLS0tCiB0ZXN0L2xpc3AvZXNoZWxsL2Vt LXRyYW1wLXRlc3RzLmVsICAgICAgIHwgIDk5ICsrKysrKysrLS0tLS0tLS0tLQogdGVzdC9s aXNwL2VzaGVsbC9lc2gtY21kLXRlc3RzLmVsICAgICAgICB8ICA0NCArKysrKysrLQogdGVz dC9saXNwL2VzaGVsbC9lc2gtaW8tdGVzdHMuZWwgICAgICAgICB8ICAyMyArKysrLQogdGVz dC9saXNwL2VzaGVsbC9lc2hlbGwtdGVzdHMtaGVscGVycy5lbCB8ICAyOSArKysrLS0KIHRl c3QvbGlzcC9lc2hlbGwvZXNoZWxsLXRlc3RzLmVsICAgICAgICAgfCAgMTkgKystLQogNyBm aWxlcyBjaGFuZ2VkLCAyMjIgaW5zZXJ0aW9ucygrKSwgMTQwIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2xpc3AvZXNoZWxsL2VzaC1jbWQuZWwgYi9saXNwL2VzaGVsbC9lc2gtY21k LmVsCmluZGV4IDc5OTU3YWViNDE2Li42YmE0ZWU0MWU3MCAxMDA2NDQKLS0tIGEvbGlzcC9l c2hlbGwvZXNoLWNtZC5lbAorKysgYi9saXNwL2VzaGVsbC9lc2gtY21kLmVsCkBAIC00MTks MTEgKzQxOSwxMCBAQCBlc2hlbGwtcGFyc2UtY29tbWFuZAogICAgIChsZXQgKChjbWQgY29t bWFuZHMpKQogICAgICAgKHdoaWxlIGNtZAogICAgICAgICA7OyBDb3B5IEkvTyBoYW5kbGVz IHNvIGVhY2ggZnVsbCBzdGF0ZW1lbnQgY2FuIG1hbmlwdWxhdGUgdGhlbQotICAgICAgICA7 OyBpZiB0aGV5IGxpa2UuICBBcyBhIHNtYWxsIG9wdGltaXphdGlvbiwgc2tpcCB0aGlzIGZv ciB0aGUKLSAgICAgICAgOzsgbGFzdCB0b3AtbGV2ZWwgb25lOyB3ZSB3b24ndCB1c2UgdGhl c2UgaGFuZGxlcyBhZ2FpbgotICAgICAgICA7OyBhbnl3YXkuCi0gICAgICAgICh3aGVuIChv ciAobm90IHRvcGxldmVsKSAoY2RyIGNtZCkpCi0JICAoc2V0Y2FyIGNtZCBgKGVzaGVsbC13 aXRoLWNvcGllZC1oYW5kbGVzICwoY2FyIGNtZCkpKSkKKyAgICAgICAgOzsgaWYgdGhleSBs aWtlLiAgU2tpcCB0aGlzIGZvciB0aGUgbGFzdCBjb21tYW5kIGluIHRoZSBsaXN0CisgICAg ICAgIDs7IHRob3VnaDsgd2Ugd29uJ3QgdXNlIHRoZXNlIGhhbmRsZXMgYWdhaW4gYW55d2F5 LgorICAgICAgICAoc2V0Y2FyIGNtZCBgKGVzaGVsbC13aXRoLWNvcGllZC1oYW5kbGVzCisg ICAgICAgICAgICAgICAgICAgICAgLChjYXIgY21kKSAsKG5vdCAoY2RyIGNtZCkpKSkKIAko c2V0cSBjbWQgKGNkciBjbWQpKSkpCiAgICAgKGlmIHRvcGxldmVsCiAJYChlc2hlbGwtY29t bWFuZHMgKHByb2duCkBAIC03OTIsMTAgKzc5MSwxMiBAQCBlc2hlbGwtdHJhcC1lcnJvcnMK IChkZWZ2YXIgZXNoZWxsLW91dHB1dC1oYW5kbGUpICAgICAgICAgICA7RGVmaW5lZCBpbiBl c2gtaW8uZWwuCiAoZGVmdmFyIGVzaGVsbC1lcnJvci1oYW5kbGUpICAgICAgICAgICAgO0Rl ZmluZWQgaW4gZXNoLWlvLmVsLgogCi0oZGVmbWFjcm8gZXNoZWxsLXdpdGgtY29waWVkLWhh bmRsZXMgKG9iamVjdCkKLSAgIkR1cGxpY2F0ZSBjdXJyZW50IEkvTyBoYW5kbGVzLCBzbyBP QkpFQ1Qgd29ya3Mgd2l0aCBpdHMgb3duIGNvcHkuIgorKGRlZm1hY3JvIGVzaGVsbC13aXRo LWNvcGllZC1oYW5kbGVzIChvYmplY3QgJm9wdGlvbmFsIHN0ZWFsLXApCisgICJEdXBsaWNh dGUgY3VycmVudCBJL08gaGFuZGxlcywgc28gT0JKRUNUIHdvcmtzIHdpdGggaXRzIG93biBj b3B5LgorSWYgU1RFQUwtUCBpcyBub24tbmlsLCB0aGVzZSBuZXcgaGFuZGxlcyB3aWxsIGJl IHN0b2xlbiBmcm9tIHRoZQorY3VycmVudCBvbmVzIChzZWUgYGVzaGVsbC1kdXBsaWNhdGUt aGFuZGxlcycpLiIKICAgYChsZXQgKChlc2hlbGwtY3VycmVudC1oYW5kbGVzCi0gICAgICAg ICAgKGVzaGVsbC1kdXBsaWNhdGUtaGFuZGxlcyBlc2hlbGwtY3VycmVudC1oYW5kbGVzKSkp CisgICAgICAgICAgKGVzaGVsbC1kdXBsaWNhdGUtaGFuZGxlcyBlc2hlbGwtY3VycmVudC1o YW5kbGVzICxzdGVhbC1wKSkpCiAgICAgICxvYmplY3QpKQogCiAoZGVmaW5lLW9ic29sZXRl LWZ1bmN0aW9uLWFsaWFzICdlc2hlbGwtY29weS1oYW5kbGVzCkBAIC04MzYsNyArODM3LDkg QEAgZXNoZWxsLWRvLXBpcGVsaW5lcwogICAgICAgICAgIChsZXQgKChwcm9jICwoY2FyIHBp cGVsaW5lKSkpCiAgICAgICAgICAgICAoc2V0IGhlYWRwcm9jIChvciBwcm9jIChzeW1ib2wt dmFsdWUgaGVhZHByb2MpKSkKICAgICAgICAgICAgIChzZXQgdGFpbHByb2MgKG9yIChzeW1i b2wtdmFsdWUgdGFpbHByb2MpIHByb2MpKQotICAgICAgICAgICAgcHJvYykpKSkpKQorICAg ICAgICAgICAgcHJvYykpKQorICAgICAgOzsgU3RlYWwgaGFuZGxlcyBpZiB0aGlzIGlzIHRo ZSBsYXN0IGl0ZW0gaW4gdGhlIHBpcGVsaW5lLgorICAgICAgLChudWxsIChjZHIgcGlwZWxp bmUpKSkpKQogCiAoZGVmbWFjcm8gZXNoZWxsLWRvLXBpcGVsaW5lcy1zeW5jaHJvbm91c2x5 IChwaXBlbGluZSkKICAgIkV4ZWN1dGUgdGhlIGNvbW1hbmRzIGluIFBJUEVMSU5FIGluIHNl cXVlbmNlIHN5bmNocm9ub3VzbHkuCkBAIC0xMDI0LDcgKzEwMjcsOSBAQCBlc2hlbGwtZXZh bC1jb21tYW5kCiAgICAgICA7OyBXZSBjYW4ganVzdCBzdGljayB0aGUgbmV3IGNvbW1hbmQg YXQgdGhlIGVuZCBvZiB0aGUgY3VycmVudAogICAgICAgOzsgb25lLCBhbmQgZXZlcnl0aGlu ZyB3aWxsIGhhcHBlbiBhcyBpdCBzaG91bGQuCiAgICAgICAoc2V0Y2RyIChsYXN0IChjZHIg ZXNoZWxsLWN1cnJlbnQtY29tbWFuZCkpCi0gICAgICAgICAgICAgIChsaXN0IGAobGV0ICgo aGVyZSAoYW5kIChlb2JwKSAocG9pbnQpKSkpCisgICAgICAgICAgICAgIChsaXN0IGAobGV0 ICgoaGVyZSAoYW5kIChlb2JwKSAocG9pbnQpKSkKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgIChlc2hlbGwtY29tbWFuZC1ib2R5ICcobmlsKSkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIChlc2hlbGwtdGVzdC1ib2R5ICcobmlsKSkpCiAgICAgICAgICAgICAgICAgICAg ICAgICwoYW5kIGlucHV0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAoaW5zZXJ0 LWFuZC1pbmhlcml0ICwoY29uY2F0IGlucHV0ICJcbiIpKSkKICAgICAgICAgICAgICAgICAg ICAgICAgKGlmIGhlcmUKZGlmZiAtLWdpdCBhL2xpc3AvZXNoZWxsL2VzaC1pby5lbCBiL2xp c3AvZXNoZWxsL2VzaC1pby5lbAppbmRleCBmMmJjODczNzRjMS4uOTA4MjZhMzEyYjMgMTAw NjQ0Ci0tLSBhL2xpc3AvZXNoZWxsL2VzaC1pby5lbAorKysgYi9saXNwL2VzaGVsbC9lc2gt aW8uZWwKQEAgLTMwMiwzNSArMzAyLDUxIEBAIGVzaGVsbC1jcmVhdGUtaGFuZGxlcwogCiBU aGUgcmVzdWx0IGlzIGEgdmVjdG9yIG9mIGZpbGUgaGFuZGxlcy4gIEVhY2ggaGFuZGxlIGlz IG9mIHRoZSBmb3JtOgogCi0gIChUQVJHRVRTIERFRkFVTFQgUkVGLUNPVU5UKQorICAoKFRB UkdFVFMgLiBSRUYtQ09VTlQpIERFRkFVTFQpCiAKLVRBUkdFVFMgaXMgYSBsaXN0IG9mIGRl c3RpbmF0aW9ucyBmb3Igb3V0cHV0LiAgREVGQVVMVCBpcyBub24tbmlsCi1pZiBoYW5kbGUg aGFzIGl0cyBpbml0aWFsIGRlZmF1bHQgdmFsdWUgKGFsd2F5cyB0IGFmdGVyIGNhbGxpbmcK LXRoaXMgZnVuY3Rpb24pLiAgUkVGLUNPVU5UIGlzIHRoZSBudW1iZXIgb2YgcmVmZXJlbmNl cyB0byB0aGlzCi1oYW5kbGUgKGluaXRpYWxseSAxKTsgc2VlIGBlc2hlbGwtcHJvdGVjdC1o YW5kbGVzJyBhbmQKLWBlc2hlbGwtY2xvc2UtaGFuZGxlcycuIgorVEFSR0VUUyBpcyBhIGxp c3Qgb2YgZGVzdGluYXRpb25zIGZvciBvdXRwdXQuICBSRUYtQ09VTlQgaXMgdGhlCitudW1i ZXIgb2YgcmVmZXJlbmNlcyB0byB0aGlzIGhhbmRsZSAoaW5pdGlhbGx5IDEpOyBzZWUKK2Bl c2hlbGwtcHJvdGVjdC1oYW5kbGVzJyBhbmQgYGVzaGVsbC1jbG9zZS1oYW5kbGVzJy4gIERF RkFVTFQgaXMKK25vbi1uaWwgaWYgaGFuZGxlIGhhcyBpdHMgaW5pdGlhbCBkZWZhdWx0IHZh bHVlIChhbHdheXMgdCBhZnRlcgorY2FsbGluZyB0aGlzIGZ1bmN0aW9uKS4iCiAgIChsZXQq ICgoaGFuZGxlcyAobWFrZS12ZWN0b3IgZXNoZWxsLW51bWJlci1vZi1oYW5kbGVzIG5pbCkp Ci0gICAgICAgICAob3V0cHV0LXRhcmdldCAoZXNoZWxsLWdldC10YXJnZXRzIHN0ZG91dCBv dXRwdXQtbW9kZSkpCi0gICAgICAgICAoZXJyb3ItdGFyZ2V0IChpZiBzdGRlcnIKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgIChlc2hlbGwtZ2V0LXRhcmdldHMgc3RkZXJyIGVycm9y LW1vZGUpCi0gICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0LXRhcmdldCkpKQotICAg IChhc2V0IGhhbmRsZXMgZXNoZWxsLW91dHB1dC1oYW5kbGUgKGxpc3Qgb3V0cHV0LXRhcmdl dCB0IDEpKQotICAgIChhc2V0IGhhbmRsZXMgZXNoZWxsLWVycm9yLWhhbmRsZSAobGlzdCBl cnJvci10YXJnZXQgdCAxKSkKKyAgICAgICAgIChvdXRwdXQtdGFyZ2V0CisgICAgICAgICAg KGxldCAoKHRhcmdldCAoZXNoZWxsLWdldC10YXJnZXQgc3Rkb3V0IG91dHB1dC1tb2RlKSkp CisgICAgICAgICAgICAoY29ucyAod2hlbiB0YXJnZXQgKGxpc3QgdGFyZ2V0KSkgMSkpKQor ICAgICAgICAgKGVycm9yLXRhcmdldAorICAgICAgICAgIChpZiBzdGRlcnIKKyAgICAgICAg ICAgICAgKGxldCAoKHRhcmdldCAoZXNoZWxsLWdldC10YXJnZXQgc3RkZXJyIGVycm9yLW1v ZGUpKSkKKyAgICAgICAgICAgICAgICAoY29ucyAod2hlbiB0YXJnZXQgKGxpc3QgdGFyZ2V0 KSkgMSkpCisgICAgICAgICAgICAoY2wtaW5jZiAoY2RyIG91dHB1dC10YXJnZXQpKQorICAg ICAgICAgICAgb3V0cHV0LXRhcmdldCkpKQorICAgIChhc2V0IGhhbmRsZXMgZXNoZWxsLW91 dHB1dC1oYW5kbGUgKGxpc3Qgb3V0cHV0LXRhcmdldCB0KSkKKyAgICAoYXNldCBoYW5kbGVz IGVzaGVsbC1lcnJvci1oYW5kbGUgKGxpc3QgZXJyb3ItdGFyZ2V0IHQpKQogICAgIGhhbmRs ZXMpKQogCi0oZGVmdW4gZXNoZWxsLWR1cGxpY2F0ZS1oYW5kbGVzIChoYW5kbGVzKQorKGRl ZnVuIGVzaGVsbC1kdXBsaWNhdGUtaGFuZGxlcyAoaGFuZGxlcyAmb3B0aW9uYWwgc3RlYWwt cCkKICAgIkNyZWF0ZSBhIGR1cGxpY2F0ZSBvZiB0aGUgZmlsZSBoYW5kbGVzIGluIEhBTkRM RVMuCi1UaGlzIHdpbGwgY29weSB0aGUgdGFyZ2V0cyBvZiBlYWNoIGhhbmRsZSBpbiBIQU5E TEVTLCBzZXR0aW5nIHRoZQotREVGQVVMVCBmaWVsZCB0byB0IChzZWUgYGVzaGVsbC1jcmVh dGUtaGFuZGxlcycpLiIKLSAgKGVzaGVsbC1jcmVhdGUtaGFuZGxlcwotICAgKGNhciAoYXJl ZiBoYW5kbGVzIGVzaGVsbC1vdXRwdXQtaGFuZGxlKSkgbmlsCi0gICAoY2FyIChhcmVmIGhh bmRsZXMgZXNoZWxsLWVycm9yLWhhbmRsZSkpIG5pbCkpCitUaGlzIHVzZXMgdGhlIHRhcmdl dHMgb2YgZWFjaCBoYW5kbGUgaW4gSEFORExFUywgaW5jcmVtZW50aW5nIGl0cworcmVmZXJl bmNlIGNvdW50IGJ5IG9uZSAodW5sZXNzIFNURUFMLVAgaXMgbm9uLW5pbCkuICBUaGVzZQor dGFyZ2V0cyBhcmUgc2hhcmVkIGJldHdlZW4gdGhlIG9yaWdpbmFsIHNldCBvZiBoYW5kbGVz IGFuZCB0aGUKK25ldyBvbmUsIHNvIHRoZSB0YXJnZXRzIGFyZSBvbmx5IGNsb3NlZCB3aGVu IHRoZSByZWZlcmVuY2UgY291bnQKK2Ryb3BzIHRvIDAgKHNlZSBgZXNoZWxsLWNsb3NlLWhh bmRsZXMnKS4KKworVGhpcyBmdW5jdGlvbiBhbHNvIHNldHMgdGhlIERFRkFVTFQgZmllbGQg Zm9yIGVhY2ggaGFuZGxlIHRvCit0IChzZWUgYGVzaGVsbC1jcmVhdGUtaGFuZGxlcycpLiAg VW5saWtlIHRoZSB0YXJnZXRzLCB0aGlzIHZhbHVlCitpcyBub3Qgc2hhcmVkIHdpdGggdGhl IG9yaWdpbmFsIGhhbmRsZXMuIgorICAobGV0ICgoZHVwLWhhbmRsZXMgKG1ha2UtdmVjdG9y IGVzaGVsbC1udW1iZXItb2YtaGFuZGxlcyBuaWwpKSkKKyAgICAoZG90aW1lcyAoaWR4IGVz aGVsbC1udW1iZXItb2YtaGFuZGxlcykKKyAgICAgICh3aGVuLWxldCAoKGhhbmRsZSAoYXJl ZiBoYW5kbGVzIGlkeCkpKQorICAgICAgICAodW5sZXNzIHN0ZWFsLXAKKyAgICAgICAgICAo Y2wtaW5jZiAoY2RhciBoYW5kbGUpKSkKKyAgICAgICAgKGFzZXQgZHVwLWhhbmRsZXMgaWR4 IChsaXN0IChjYXIgaGFuZGxlKSB0KSkpKQorICAgIGR1cC1oYW5kbGVzKSkKIAogKGRlZnVu IGVzaGVsbC1wcm90ZWN0LWhhbmRsZXMgKGhhbmRsZXMpCiAgICJQcm90ZWN0IHRoZSBoYW5k bGVzIGluIEhBTkRMRVMgZnJvbSBhIGJlaW5nIGNsb3NlZC4iCiAgIChkb3RpbWVzIChpZHgg ZXNoZWxsLW51bWJlci1vZi1oYW5kbGVzKQogICAgICh3aGVuLWxldCAoKGhhbmRsZSAoYXJl ZiBoYW5kbGVzIGlkeCkpKQotICAgICAgKHNldGNhciAobnRoY2RyIDIgaGFuZGxlKSAoMSsg KG50aCAyIGhhbmRsZSkpKSkpCisgICAgICAoY2wtaW5jZiAoY2RhciBoYW5kbGUpKSkpCiAg IGhhbmRsZXMpCiAKIChkZWZ1biBlc2hlbGwtY2xvc2UtaGFuZGxlcyAoJm9wdGlvbmFsIGV4 aXQtY29kZSByZXN1bHQgaGFuZGxlcykKQEAgLTM0OCwyOSArMzY0LDQ1IEBAIGVzaGVsbC1j bG9zZS1oYW5kbGVzCiAgICh3aGVuIHJlc3VsdAogICAgIChjbC1hc3NlcnQgKGVxIChjYXIg cmVzdWx0KSAncXVvdGUpKQogICAgIChzZXRxIGVzaGVsbC1sYXN0LWNvbW1hbmQtcmVzdWx0 IChjYWRyIHJlc3VsdCkpKQotICAobGV0ICgoaGFuZGxlcyAob3IgaGFuZGxlcyBlc2hlbGwt Y3VycmVudC1oYW5kbGVzKSkpCisgIChsZXQgKChoYW5kbGVzIChvciBoYW5kbGVzIGVzaGVs bC1jdXJyZW50LWhhbmRsZXMpKQorICAgICAgICAoc3VjY2VlZGVkICg9IGVzaGVsbC1sYXN0 LWNvbW1hbmQtc3RhdHVzIDApKSkKICAgICAoZG90aW1lcyAoaWR4IGVzaGVsbC1udW1iZXIt b2YtaGFuZGxlcykKLSAgICAgICh3aGVuLWxldCAoKGhhbmRsZSAoYXJlZiBoYW5kbGVzIGlk eCkpKQotICAgICAgICAoc2V0Y2FyIChudGhjZHIgMiBoYW5kbGUpICgxLSAobnRoIDIgaGFu ZGxlKSkpCi0gICAgICAgICh3aGVuICg9IChudGggMiBoYW5kbGUpIDApCi0gICAgICAgICAg KGRvbGlzdCAodGFyZ2V0IChlbnN1cmUtbGlzdCAoY2FyIChhcmVmIGhhbmRsZXMgaWR4KSkp KQotICAgICAgICAgICAgKGVzaGVsbC1jbG9zZS10YXJnZXQgdGFyZ2V0ICg9IGVzaGVsbC1s YXN0LWNvbW1hbmQtc3RhdHVzIDApKSkKLSAgICAgICAgICAoc2V0Y2FyIGhhbmRsZSBuaWwp KSkpKSkKKyAgICAgIChlc2hlbGwtY2xvc2UtaGFuZGxlIChhcmVmIGhhbmRsZXMgaWR4KSBz dWNjZWVkZWQpKSkpCisKKyhkZWZ1biBlc2hlbGwtY2xvc2UtaGFuZGxlIChoYW5kbGUgc3Rh dHVzKQorICAiQ2xvc2UgYSBzaW5nbGUgSEFORExFLCB0YWtpbmcgcmVmY291bnRzIGludG8g YWNjb3VudC4KK1RoaXMgd2lsbCBwYXNzIFNUQVRVUyB0byBlYWNoIHRhcmdldCBmb3IgdGhl IGhhbmRsZSwgd2hpY2ggc2hvdWxkCitiZSBhIG5vbi1uaWwgdmFsdWUgb24gc3VjY2Vzc2Z1 bCB0ZXJtaW5hdGlvbi4iCisgICh3aGVuIGhhbmRsZQorICAgIChjbC1hc3NlcnQgKD4gKGNk YXIgaGFuZGxlKSAwKQorICAgICAgICAgICAgICAgIkF0dGVtcHRlZCB0byBjbG9zZSBhIGhh bmRsZSB3aXRoIDAgcmVmZXJlbmNlcyIpCisgICAgKHdoZW4gKGFuZCAoPiAoY2RhciBoYW5k bGUpIDApCisgICAgICAgICAgICAgICAoPSAoY2wtZGVjZiAoY2RhciBoYW5kbGUpKSAwKSkK KyAgICAgIChkb2xpc3QgKHRhcmdldCAoY2FhciBoYW5kbGUpKQorICAgICAgICAoZXNoZWxs LWNsb3NlLXRhcmdldCB0YXJnZXQgc3RhdHVzKSkKKyAgICAgIChzZXRjYXIgKGNhciBoYW5k bGUpIG5pbCkpKSkKIAogKGRlZnVuIGVzaGVsbC1zZXQtb3V0cHV0LWhhbmRsZSAoaW5kZXgg bW9kZSAmb3B0aW9uYWwgdGFyZ2V0IGhhbmRsZXMpCiAgICJTZXQgaGFuZGxlIElOREVYIGZv ciB0aGUgY3VycmVudCBIQU5ETEVTIHRvIHBvaW50IHRvIFRBUkdFVCB1c2luZyBNT0RFLgot SWYgSEFORExFUyBpcyBuaWwsIHVzZSBgZXNoZWxsLWN1cnJlbnQtaGFuZGxlcycuIgorSWYg SEFORExFUyBpcyBuaWwsIHVzZSBgZXNoZWxsLWN1cnJlbnQtaGFuZGxlcycuCisKK0lmIHRo ZSBoYW5kbGUgaXMgY3VycmVudGx5IHNldCB0byBpdHMgZGVmYXVsdCB2YWx1ZSAoc2VlCitg ZXNoZWxsLWNyZWF0ZS1oYW5kbGVzJyksIHRoaXMgd2lsbCBvdmVyd3JpdGUgdGhlIHRhcmdl dHMgd2l0aAordGhlIG5ldyB0YXJnZXQuICBPdGhlcndpc2UsIGl0IHdpbGwgYXBwZW5kIHRo ZSBuZXcgdGFyZ2V0IHRvIHRoZQorY3VycmVudCBsaXN0IG9mIHRhcmdldHMuIgogICAod2hl biB0YXJnZXQKICAgICAobGV0KiAoKGhhbmRsZXMgKG9yIGhhbmRsZXMgZXNoZWxsLWN1cnJl bnQtaGFuZGxlcykpCiAgICAgICAgICAgIChoYW5kbGUgKG9yIChhcmVmIGhhbmRsZXMgaW5k ZXgpCi0gICAgICAgICAgICAgICAgICAgICAgIChhc2V0IGhhbmRsZXMgaW5kZXggKGxpc3Qg bmlsIG5pbCAxKSkpKQotICAgICAgICAgICAoZGVmYXVsdHAgKGNhZHIgaGFuZGxlKSkKLSAg ICAgICAgICAgKGN1cnJlbnQgKHVubGVzcyBkZWZhdWx0cCAoY2FyIGhhbmRsZSkpKSkKKyAg ICAgICAgICAgICAgICAgICAgICAgKGFzZXQgaGFuZGxlcyBpbmRleCAobGlzdCAoY29ucyBu aWwgMSkgbmlsKSkpKQorICAgICAgICAgICAoZGVmYXVsdHAgKGNhZHIgaGFuZGxlKSkpCisg ICAgICAod2hlbiBkZWZhdWx0cAorICAgICAgICAoY2wtZGVjZiAoY2RhciBoYW5kbGUpKQor ICAgICAgICAoc2V0Y2FyIGhhbmRsZSAoY29ucyBuaWwgMSkpKQogICAgICAgKGNhdGNoICdl c2hlbGwtbnVsbC1kZXZpY2UKLSAgICAgICAgKGxldCAoKHdoZXJlIChlc2hlbGwtZ2V0LXRh cmdldCB0YXJnZXQgbW9kZSkpKQorICAgICAgICAobGV0ICgoY3VycmVudCAoY2FhciBoYW5k bGUpKQorICAgICAgICAgICAgICAod2hlcmUgKGVzaGVsbC1nZXQtdGFyZ2V0IHRhcmdldCBt b2RlKSkpCiAgICAgICAgICAgKHVubGVzcyAobWVtYmVyIHdoZXJlIGN1cnJlbnQpCi0gICAg ICAgICAgICAoc2V0cSBjdXJyZW50IChhcHBlbmQgY3VycmVudCAobGlzdCB3aGVyZSkpKSkp KQotICAgICAgKHNldGNhciBoYW5kbGUgY3VycmVudCkKKyAgICAgICAgICAgIChzZXRjYXIg KGNhciBoYW5kbGUpIChhcHBlbmQgY3VycmVudCAobGlzdCB3aGVyZSkpKSkpKQogICAgICAg KHNldGNhciAoY2RyIGhhbmRsZSkgbmlsKSkpKQogCiAoZGVmdW4gZXNoZWxsLWNvcHktb3V0 cHV0LWhhbmRsZSAoaW5kZXggaW5kZXgtdG8tY29weSAmb3B0aW9uYWwgaGFuZGxlcykKQEAg LTM3OCwxMCArNDEwLDEwIEBAIGVzaGVsbC1jb3B5LW91dHB1dC1oYW5kbGUKIElmIEhBTkRM RVMgaXMgbmlsLCB1c2UgYGVzaGVsbC1jdXJyZW50LWhhbmRsZXMnLiIKICAgKGxldCogKCho YW5kbGVzIChvciBoYW5kbGVzIGVzaGVsbC1jdXJyZW50LWhhbmRsZXMpKQogICAgICAgICAg KGhhbmRsZS10by1jb3B5IChjYXIgKGFyZWYgaGFuZGxlcyBpbmRleC10by1jb3B5KSkpKQot ICAgIChzZXRjYXIgKGFyZWYgaGFuZGxlcyBpbmRleCkKLSAgICAgICAgICAgIChpZiAobGlz dHAgaGFuZGxlLXRvLWNvcHkpCi0gICAgICAgICAgICAgICAgKGNvcHktc2VxdWVuY2UgaGFu ZGxlLXRvLWNvcHkpCi0gICAgICAgICAgICAgIGhhbmRsZS10by1jb3B5KSkpKQorICAgICh3 aGVuIGhhbmRsZS10by1jb3B5CisgICAgICAoY2wtaW5jZiAoY2RyIGhhbmRsZS10by1jb3B5 KSkpCisgICAgKGVzaGVsbC1jbG9zZS1oYW5kbGUgKGFyZWYgaGFuZGxlcyBpbmRleCkgbmls KQorICAgIChzZXRjYXIgKGFyZWYgaGFuZGxlcyBpbmRleCkgaGFuZGxlLXRvLWNvcHkpKSkK IAogKGRlZnVuIGVzaGVsbC1zZXQtYWxsLW91dHB1dC1oYW5kbGVzIChtb2RlICZvcHRpb25h bCB0YXJnZXQgaGFuZGxlcykKICAgIlNldCBvdXRwdXQgYW5kIGVycm9yIEhBTkRMRVMgdG8g cG9pbnQgdG8gVEFSR0VUIHVzaW5nIE1PREUuCkBAIC01MDEsMTMgKzUzMyw2IEBAIGVzaGVs bC1nZXQtdGFyZ2V0CiAgICAgKGVycm9yICJJbnZhbGlkIHJlZGlyZWN0aW9uIHRhcmdldDog JXMiCiAJICAgKGVzaGVsbC1zdHJpbmdpZnkgdGFyZ2V0KSkpKSkKIAotKGRlZnVuIGVzaGVs bC1nZXQtdGFyZ2V0cyAodGFyZ2V0cyAmb3B0aW9uYWwgbW9kZSkKLSAgIkNvbnZlcnQgVEFS R0VUUyBpbnRvIHZhbGlkIG91dHB1dCB0YXJnZXRzLgotVEFSR0VUUyBjYW4gYmUgYSBzaW5n bGUgcmF3IHRhcmdldCBvciBhIGxpc3QgdGhlcmVvZi4gIE1PREUgaXMgZWl0aGVyCi1gb3Zl cndyaXRlJywgYGFwcGVuZCcgb3IgYGluc2VydCc7IGlmIGl0IGlzIG9taXR0ZWQgb3Igbmls LCBpdAotZGVmYXVsdHMgdG8gYGluc2VydCcuIgotICAobWFwY2FyIChsYW1iZGEgKGkpIChl c2hlbGwtZ2V0LXRhcmdldCBpIG1vZGUpKSAoZW5zdXJlLWxpc3QgdGFyZ2V0cykpKQotCiAo ZGVmdW4gZXNoZWxsLWludGVyYWN0aXZlLW91dHB1dC1wICgmb3B0aW9uYWwgaW5kZXggaGFu ZGxlcykKICAgIlJldHVybiBub24tbmlsIGlmIHRoZSBzcGVjaWZpZWQgaGFuZGxlIGlzIGJv dW5kIGZvciBpbnRlcmFjdGl2ZSBkaXNwbGF5LgogSEFORExFUyBpcyB0aGUgc2V0IG9mIGhh bmRsZXMgdG8gY2hlY2s7IGlmIG5pbCwgdXNlCkBAIC01MTksOSArNTQ0LDkgQEAgZXNoZWxs LWludGVyYWN0aXZlLW91dHB1dC1wCiAgIChsZXQgKChoYW5kbGVzIChvciBoYW5kbGVzIGVz aGVsbC1jdXJyZW50LWhhbmRsZXMpKQogICAgICAgICAoaW5kZXggKG9yIGluZGV4IGVzaGVs bC1vdXRwdXQtaGFuZGxlKSkpCiAgICAgKGlmIChlcSBpbmRleCAnYWxsKQotICAgICAgICAo YW5kIChlcXVhbCAoY2FyIChhcmVmIGhhbmRsZXMgZXNoZWxsLW91dHB1dC1oYW5kbGUpKSAn KHQpKQotICAgICAgICAgICAgIChlcXVhbCAoY2FyIChhcmVmIGhhbmRsZXMgZXNoZWxsLWVy cm9yLWhhbmRsZSkpICcodCkpKQotICAgICAgKGVxdWFsIChjYXIgKGFyZWYgaGFuZGxlcyBp bmRleCkpICcodCkpKSkpCisgICAgICAgIChhbmQgKGVxdWFsIChjYWFyIChhcmVmIGhhbmRs ZXMgZXNoZWxsLW91dHB1dC1oYW5kbGUpKSAnKHQpKQorICAgICAgICAgICAgIChlcXVhbCAo Y2FhciAoYXJlZiBoYW5kbGVzIGVzaGVsbC1lcnJvci1oYW5kbGUpKSAnKHQpKSkKKyAgICAg IChlcXVhbCAoY2FhciAoYXJlZiBoYW5kbGVzIGluZGV4KSkgJyh0KSkpKSkKIAogKGRlZnZh ciBlc2hlbGwtcHJpbnQtcXVldWUgbmlsKQogKGRlZnZhciBlc2hlbGwtcHJpbnQtcXVldWUt Y291bnQgLTEpCkBAIC02MjgsOCArNjUzLDggQEAgZXNoZWxsLW91dHB1dC1vYmplY3QKIElm IEhBTkRMRS1JTkRFWCBpcyBuaWwsIG91dHB1dCB0byBgZXNoZWxsLW91dHB1dC1oYW5kbGUn LgogSEFORExFUyBpcyB0aGUgc2V0IG9mIGZpbGUgaGFuZGxlcyB0byB1c2U7IGlmIG5pbCwg dXNlCiBgZXNoZWxsLWN1cnJlbnQtaGFuZGxlcycuIgotICAobGV0ICgodGFyZ2V0cyAoY2Fy IChhcmVmIChvciBoYW5kbGVzIGVzaGVsbC1jdXJyZW50LWhhbmRsZXMpCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgKG9yIGhhbmRsZS1pbmRleCBlc2hlbGwtb3V0cHV0LWhhbmRs ZSkpKSkpCisgIChsZXQgKCh0YXJnZXRzIChjYWFyIChhcmVmIChvciBoYW5kbGVzIGVzaGVs bC1jdXJyZW50LWhhbmRsZXMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvciBo YW5kbGUtaW5kZXggZXNoZWxsLW91dHB1dC1oYW5kbGUpKSkpKQogICAgIChkb2xpc3QgKHRh cmdldCB0YXJnZXRzKQogICAgICAgKGVzaGVsbC1vdXRwdXQtb2JqZWN0LXRvLXRhcmdldCBv YmplY3QgdGFyZ2V0KSkpKQogCmRpZmYgLS1naXQgYS90ZXN0L2xpc3AvZXNoZWxsL2VtLXRy YW1wLXRlc3RzLmVsIGIvdGVzdC9saXNwL2VzaGVsbC9lbS10cmFtcC10ZXN0cy5lbAppbmRl eCA5ODJhMWViYTI3OS4uOTM2Mzk3ZDg4NjkgMTAwNjQ0Ci0tLSBhL3Rlc3QvbGlzcC9lc2hl bGwvZW0tdHJhbXAtdGVzdHMuZWwKKysrIGIvdGVzdC9saXNwL2VzaGVsbC9lbS10cmFtcC10 ZXN0cy5lbApAQCAtMjMsNDAgKzIzLDQxIEBACiAocmVxdWlyZSAnZW0tdHJhbXApCiAocmVx dWlyZSAndHJhbXApCiAKKyhkZWZtYWNybyBlbS10cmFtcC10ZXN0L3Nob3VsZC1yZXBsYWNl LWNvbW1hbmQgKGZvcm0gcmVwbGFjZW1lbnQpCisgICJDaGVjayB0aGF0IGNhbGxpbmcgRk9S TSByZXN1bHRzIGluIGl0IGJlaW5nIHJlcGxhY2VkIHdpdGggUkVQTEFDRU1FTlQuIgorICAo ZGVjbGFyZSAoaW5kZW50IDEpKQorICBgKHNob3VsZCAoZXF1YWwKKyAgICAgICAgICAgIChj YXRjaCAnZXNoZWxsLXJlcGxhY2UtY29tbWFuZCAsZm9ybSkKKyAgICAgICAgICAgIChsaXN0 ICdlc2hlbGwtd2l0aC1jb3BpZWQtaGFuZGxlcworICAgICAgICAgICAgICAgICAgKGxpc3Qg J2VzaGVsbC10cmFwLWVycm9ycworICAgICAgICAgICAgICAgICAgICAgICAgLHJlcGxhY2Vt ZW50KQorICAgICAgICAgICAgICAgICAgdCkpKSkKKwogKGVydC1kZWZ0ZXN0IGVtLXRyYW1w LXRlc3Qvc3UtZGVmYXVsdCAoKQogICAiVGVzdCBFc2hlbGwgYHN1JyBjb21tYW5kIHdpdGgg bm8gYXJndW1lbnRzLiIKLSAgKHNob3VsZCAoZXF1YWwKLSAgICAgICAgICAgKGNhdGNoICdl c2hlbGwtcmVwbGFjZS1jb21tYW5kIChlc2hlbGwvc3UpKQotICAgICAgICAgICBgKGVzaGVs bC13aXRoLWNvcGllZC1oYW5kbGVzCi0gICAgICAgICAgICAgKGVzaGVsbC10cmFwLWVycm9y cwotICAgICAgICAgICAgICAoZXNoZWxsLW5hbWVkLWNvbW1hbmQKLSAgICAgICAgICAgICAg ICJjZCIKLSAgICAgICAgICAgICAgIChsaXN0ICwoZm9ybWF0ICIvc3U6cm9vdEAlczolcyIK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW1wLWRlZmF1bHQtaG9zdCBkZWZh dWx0LWRpcmVjdG9yeSkpKSkpKSkpCisgIChlbS10cmFtcC10ZXN0L3Nob3VsZC1yZXBsYWNl LWNvbW1hbmQgKGVzaGVsbC9zdSkKKyAgICBgKGVzaGVsbC1uYW1lZC1jb21tYW5kCisgICAg ICAiY2QiCisgICAgICAobGlzdCAsKGZvcm1hdCAiL3N1OnJvb3RAJXM6JXMiCisgICAgICAg ICAgICAgICAgICAgICB0cmFtcC1kZWZhdWx0LWhvc3QgZGVmYXVsdC1kaXJlY3RvcnkpKSkp KQogCiAoZXJ0LWRlZnRlc3QgZW0tdHJhbXAtdGVzdC9zdS11c2VyICgpCiAgICJUZXN0IEVz aGVsbCBgc3UnIGNvbW1hbmQgd2l0aCBVU0VSIGFyZ3VtZW50LiIKLSAgKHNob3VsZCAoZXF1 YWwKLSAgICAgICAgICAgKGNhdGNoICdlc2hlbGwtcmVwbGFjZS1jb21tYW5kIChlc2hlbGwv c3UgIlVTRVIiKSkKLSAgICAgICAgICAgYChlc2hlbGwtd2l0aC1jb3BpZWQtaGFuZGxlcwot ICAgICAgICAgICAgIChlc2hlbGwtdHJhcC1lcnJvcnMKLSAgICAgICAgICAgICAgKGVzaGVs bC1uYW1lZC1jb21tYW5kCi0gICAgICAgICAgICAgICAiY2QiCi0gICAgICAgICAgICAgICAo bGlzdCAsKGZvcm1hdCAiL3N1OlVTRVJAJXM6JXMiCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB0cmFtcC1kZWZhdWx0LWhvc3QgZGVmYXVsdC1kaXJlY3RvcnkpKSkpKSkpKQor ICAoZW0tdHJhbXAtdGVzdC9zaG91bGQtcmVwbGFjZS1jb21tYW5kIChlc2hlbGwvc3UgIlVT RVIiKQorICAgIGAoZXNoZWxsLW5hbWVkLWNvbW1hbmQKKyAgICAgICJjZCIKKyAgICAgIChs aXN0ICwoZm9ybWF0ICIvc3U6VVNFUkAlczolcyIKKyAgICAgICAgICAgICAgICAgICAgIHRy YW1wLWRlZmF1bHQtaG9zdCBkZWZhdWx0LWRpcmVjdG9yeSkpKSkpCiAKIChlcnQtZGVmdGVz dCBlbS10cmFtcC10ZXN0L3N1LWxvZ2luICgpCiAgICJUZXN0IEVzaGVsbCBgc3UnIGNvbW1h bmQgd2l0aCAtLy1sLy0tbG9naW4gb3B0aW9uLiIKICAgKGRvbGlzdCAoYXJncyAnKCgiLS1s b2dpbiIpCiAgICAgICAgICAgICAgICAgICAoIi1sIikKICAgICAgICAgICAgICAgICAgICgi LSIpKSkKLSAgICAoc2hvdWxkIChlcXVhbAotICAgICAgICAgICAgIChjYXRjaCAnZXNoZWxs LXJlcGxhY2UtY29tbWFuZCAoYXBwbHkgIydlc2hlbGwvc3UgYXJncykpCi0gICAgICAgICAg ICAgYChlc2hlbGwtd2l0aC1jb3BpZWQtaGFuZGxlcwotICAgICAgICAgICAgICAgKGVzaGVs bC10cmFwLWVycm9ycwotICAgICAgICAgICAgICAgIChlc2hlbGwtbmFtZWQtY29tbWFuZAot ICAgICAgICAgICAgICAgICAiY2QiCi0gICAgICAgICAgICAgICAgIChsaXN0ICwoZm9ybWF0 ICIvc3U6cm9vdEAlczp+LyIgdHJhbXAtZGVmYXVsdC1ob3N0KSkpKSkpKSkpCisgICAgKGVt LXRyYW1wLXRlc3Qvc2hvdWxkLXJlcGxhY2UtY29tbWFuZCAoYXBwbHkgIydlc2hlbGwvc3Ug YXJncykKKyAgICAgIGAoZXNoZWxsLW5hbWVkLWNvbW1hbmQKKyAgICAgICAgImNkIgorICAg ICAgICAobGlzdCAsKGZvcm1hdCAiL3N1OnJvb3RAJXM6fi8iIHRyYW1wLWRlZmF1bHQtaG9z dCkpKSkpKQogCiAoZGVmdW4gbW9jay1lc2hlbGwtbmFtZWQtY29tbWFuZCAoJnJlc3QgYXJn cykKICAgIkR1bW15IGZ1bmN0aW9uIHRvIHRlc3QgRXNoZWxsIGBzdWRvJyBjb21tYW5kIHJl d3JpdGluZy4iCkBAIC05MiwyNSArOTMsMTkgQEAgZW0tdHJhbXAtdGVzdC9zdWRvLXNoZWxs CiAgICJUZXN0IEVzaGVsbCBgc3VkbycgY29tbWFuZCB3aXRoIC1zLy0tc2hlbGwgb3B0aW9u LiIKICAgKGRvbGlzdCAoYXJncyAnKCgiLS1zaGVsbCIpCiAgICAgICAgICAgICAgICAgICAo Ii1zIikpKQotICAgIChzaG91bGQgKGVxdWFsCi0gICAgICAgICAgICAgKGNhdGNoICdlc2hl bGwtcmVwbGFjZS1jb21tYW5kIChhcHBseSAjJ2VzaGVsbC9zdWRvIGFyZ3MpKQotICAgICAg ICAgICAgIGAoZXNoZWxsLXdpdGgtY29waWVkLWhhbmRsZXMKLSAgICAgICAgICAgICAgIChl c2hlbGwtdHJhcC1lcnJvcnMKLSAgICAgICAgICAgICAgICAoZXNoZWxsLW5hbWVkLWNvbW1h bmQKLSAgICAgICAgICAgICAgICAgImNkIgotICAgICAgICAgICAgICAgICAobGlzdCAsKGZv cm1hdCAiL3N1ZG86cm9vdEAlczolcyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdHJhbXAtZGVmYXVsdC1ob3N0IGRlZmF1bHQtZGlyZWN0b3J5KSkpKSkpKSkpCisgICAg KGVtLXRyYW1wLXRlc3Qvc2hvdWxkLXJlcGxhY2UtY29tbWFuZCAoYXBwbHkgIydlc2hlbGwv c3VkbyBhcmdzKQorICAgICAgYChlc2hlbGwtbmFtZWQtY29tbWFuZAorICAgICAgICAiY2Qi CisgICAgICAgIChsaXN0ICwoZm9ybWF0ICIvc3Vkbzpyb290QCVzOiVzIgorICAgICAgICAg ICAgICAgICAgICAgICB0cmFtcC1kZWZhdWx0LWhvc3QgZGVmYXVsdC1kaXJlY3RvcnkpKSkp KSkKIAogKGVydC1kZWZ0ZXN0IGVtLXRyYW1wLXRlc3Qvc3Vkby11c2VyLXNoZWxsICgpCiAg ICJUZXN0IEVzaGVsbCBgc3VkbycgY29tbWFuZCB3aXRoIC1zIGFuZCAtdSBvcHRpb25zLiIK LSAgKHNob3VsZCAoZXF1YWwKLSAgICAgICAgICAgKGNhdGNoICdlc2hlbGwtcmVwbGFjZS1j b21tYW5kIChlc2hlbGwvc3VkbyAiLXUiICJVU0VSIiAiLXMiKSkKLSAgICAgICAgICAgYChl c2hlbGwtd2l0aC1jb3BpZWQtaGFuZGxlcwotICAgICAgICAgICAgIChlc2hlbGwtdHJhcC1l cnJvcnMKLSAgICAgICAgICAgICAgKGVzaGVsbC1uYW1lZC1jb21tYW5kCi0gICAgICAgICAg ICAgICAiY2QiCi0gICAgICAgICAgICAgICAobGlzdCAsKGZvcm1hdCAiL3N1ZG86VVNFUkAl czolcyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW1wLWRlZmF1bHQtaG9z dCBkZWZhdWx0LWRpcmVjdG9yeSkpKSkpKSkpCisgIChlbS10cmFtcC10ZXN0L3Nob3VsZC1y ZXBsYWNlLWNvbW1hbmQgKGVzaGVsbC9zdWRvICItdSIgIlVTRVIiICItcyIpCisgICAgYChl c2hlbGwtbmFtZWQtY29tbWFuZAorICAgICAgImNkIgorICAgICAgKGxpc3QgLChmb3JtYXQg Ii9zdWRvOlVTRVJAJXM6JXMiCisgICAgICAgICAgICAgICAgICAgICB0cmFtcC1kZWZhdWx0 LWhvc3QgZGVmYXVsdC1kaXJlY3RvcnkpKSkpKQogCiAoZXJ0LWRlZnRlc3QgZW0tdHJhbXAt dGVzdC9kb2FzLWJhc2ljICgpCiAgICJUZXN0IEVzaGVsbCBgZG9hcycgY29tbWFuZCB3aXRo IGRlZmF1bHQgdXNlci4iCkBAIC0xNDcsMjQgKzE0MiwxOCBAQCBlbS10cmFtcC10ZXN0L2Rv YXMtc2hlbGwKICAgIlRlc3QgRXNoZWxsIGBkb2FzJyBjb21tYW5kIHdpdGggLXMvLS1zaGVs bCBvcHRpb24uIgogICAoZG9saXN0IChhcmdzICcoKCItLXNoZWxsIikKICAgICAgICAgICAg ICAgICAgICgiLXMiKSkpCi0gICAgKHNob3VsZCAoZXF1YWwKLSAgICAgICAgICAgICAoY2F0 Y2ggJ2VzaGVsbC1yZXBsYWNlLWNvbW1hbmQgKGFwcGx5ICMnZXNoZWxsL2RvYXMgYXJncykp Ci0gICAgICAgICAgICAgYChlc2hlbGwtd2l0aC1jb3BpZWQtaGFuZGxlcwotICAgICAgICAg ICAgICAgKGVzaGVsbC10cmFwLWVycm9ycwotICAgICAgICAgICAgICAgIChlc2hlbGwtbmFt ZWQtY29tbWFuZAotICAgICAgICAgICAgICAgICAiY2QiCi0gICAgICAgICAgICAgICAgIChs aXN0ICwoZm9ybWF0ICIvZG9hczpyb290QCVzOiVzIgotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB0cmFtcC1kZWZhdWx0LWhvc3QgZGVmYXVsdC1kaXJlY3RvcnkpKSkpKSkp KSkKKyAgICAoZW0tdHJhbXAtdGVzdC9zaG91bGQtcmVwbGFjZS1jb21tYW5kIChhcHBseSAj J2VzaGVsbC9kb2FzIGFyZ3MpCisgICAgICBgKGVzaGVsbC1uYW1lZC1jb21tYW5kCisgICAg ICAgICJjZCIKKyAgICAgICAgKGxpc3QgLChmb3JtYXQgIi9kb2FzOnJvb3RAJXM6JXMiCisg ICAgICAgICAgICAgICAgICAgICAgIHRyYW1wLWRlZmF1bHQtaG9zdCBkZWZhdWx0LWRpcmVj dG9yeSkpKSkpKQogCiAoZXJ0LWRlZnRlc3QgZW0tdHJhbXAtdGVzdC9kb2FzLXVzZXItc2hl bGwgKCkKICAgIlRlc3QgRXNoZWxsIGBkb2FzJyBjb21tYW5kIHdpdGggLXMgYW5kIC11IG9w dGlvbnMuIgotICAoc2hvdWxkIChlcXVhbAotICAgICAgICAgICAoY2F0Y2ggJ2VzaGVsbC1y ZXBsYWNlLWNvbW1hbmQgKGVzaGVsbC9kb2FzICItdSIgIlVTRVIiICItcyIpKQotICAgICAg ICAgICBgKGVzaGVsbC13aXRoLWNvcGllZC1oYW5kbGVzCi0gICAgICAgICAgICAgKGVzaGVs bC10cmFwLWVycm9ycwotICAgICAgICAgICAgICAoZXNoZWxsLW5hbWVkLWNvbW1hbmQKLSAg ICAgICAgICAgICAgICJjZCIKLSAgICAgICAgICAgICAgIChsaXN0ICwoZm9ybWF0ICIvZG9h czpVU0VSQCVzOiVzIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbXAtZGVm YXVsdC1ob3N0IGRlZmF1bHQtZGlyZWN0b3J5KSkpKSkpKSkKKyAgKGVtLXRyYW1wLXRlc3Qv c2hvdWxkLXJlcGxhY2UtY29tbWFuZCAoZXNoZWxsL2RvYXMgIi11IiAiVVNFUiIgIi1zIikK KyAgICBgKGVzaGVsbC1uYW1lZC1jb21tYW5kCisgICAgICAiY2QiCisgICAgICAobGlzdCAs KGZvcm1hdCAiL2RvYXM6VVNFUkAlczolcyIKKyAgICAgICAgICAgICAgICAgICAgIHRyYW1w LWRlZmF1bHQtaG9zdCBkZWZhdWx0LWRpcmVjdG9yeSkpKSkpCiAKIDs7OyBlbS10cmFtcC10 ZXN0cy5lbCBlbmRzIGhlcmUKZGlmZiAtLWdpdCBhL3Rlc3QvbGlzcC9lc2hlbGwvZXNoLWNt ZC10ZXN0cy5lbCBiL3Rlc3QvbGlzcC9lc2hlbGwvZXNoLWNtZC10ZXN0cy5lbAppbmRleCA5 MmQ3ODVkN2ZkZi4uY2M0MGRkZTM1NTIgMTAwNjQ0Ci0tLSBhL3Rlc3QvbGlzcC9lc2hlbGwv ZXNoLWNtZC10ZXN0cy5lbAorKysgYi90ZXN0L2xpc3AvZXNoZWxsL2VzaC1jbWQtdGVzdHMu ZWwKQEAgLTE0OCwxNCArMTQ4LDIxIEBAIGVzaC1jbWQtdGVzdC9mb3ItbmFtZS1zaGFkb3ct bG9vcAogICAgICAgImVjaG8gJG5hbWU7IGZvciBuYW1lIGluIDMgeyBlY2hvICRuYW1lIH07 IGVjaG8gJG5hbWUiCiAgICAgICAiZW52LXZhbHVlXG4zXG5lbnYtdmFsdWVcbiIpKSkpCiAK KyhlcnQtZGVmdGVzdCBlc2gtY21kLXRlc3QvZm9yLWxvb3AtcGlwZSAoKQorICAiVGVzdCBp bnZvY2F0aW9uIG9mIGEgZm9yIGxvb3AgcGlwZWQgdG8gYW5vdGhlciBjb21tYW5kLiIKKyAg KHNraXAtdW5sZXNzIChleGVjdXRhYmxlLWZpbmQgInJldiIpKQorICAod2l0aC10ZW1wLWVz aGVsbAorICAgKGVzaGVsbC1tYXRjaC1jb21tYW5kLW91dHB1dCAiZm9yIGkgaW4gZm9vIGJh ciBiYXogeyBlY2hvICRpIH0gfCByZXYiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICJ6YWJyYWJvb2YiKSkpCisKIChlcnQtZGVmdGVzdCBlc2gtY21kLXRlc3Qvd2hpbGUt bG9vcCAoKQogICAiVGVzdCBpbnZvY2F0aW9uIG9mIGEgd2hpbGUgbG9vcC4iCiAgICh3aXRo LXRlbXAtZXNoZWxsCiAgICAobGV0ICgoZXNoZWxsLXRlc3QtdmFsdWUgJygwIDEgMikpKQog ICAgICAoZXNoZWxsLW1hdGNoLWNvbW1hbmQtb3V0cHV0CiAgICAgICAoY29uY2F0ICJ3aGls ZSAkZXNoZWxsLXRlc3QtdmFsdWUgIgotICAgICAgICAgICAgICAieyBzZXRxIGVzaGVsbC10 ZXN0LXZhbHVlIChjZHIgZXNoZWxsLXRlc3QtdmFsdWUpIH0iKQotICAgICAgIigxIDIpXG4o MilcbiIpKSkpCisgICAgICAgICAgICAgICJ7IChwb3AgZXNoZWxsLXRlc3QtdmFsdWUpIH0i KQorICAgICAgIjBcbjFcbjJcbiIpKSkpCiAKIChlcnQtZGVmdGVzdCBlc2gtY21kLXRlc3Qv d2hpbGUtbG9vcC1saXNwLWZvcm0gKCkKICAgIlRlc3QgaW52b2NhdGlvbiBvZiBhIHdoaWxl IGxvb3AgdXNpbmcgYSBMaXNwIGZvcm0uIgpAQCAtMTc2LDYgKzE4MywxNyBAQCBlc2gtY21k LXRlc3Qvd2hpbGUtbG9vcC1leHQtY21kCiAgICAgICAgICAgICAgICJ7IHNldHEgZXNoZWxs LXRlc3QtdmFsdWUgKDErIGVzaGVsbC10ZXN0LXZhbHVlKSB9IikKICAgICAgICIxXG4yXG4z XG4iKSkpKQogCisoZXJ0LWRlZnRlc3QgZXNoLWNtZC10ZXN0L3doaWxlLWxvb3AtcGlwZSAo KQorICAiVGVzdCBpbnZvY2F0aW9uIG9mIGEgd2hpbGUgbG9vcCBwaXBlZCB0byBhbm90aGVy IGNvbW1hbmQuIgorICAoc2tpcC11bmxlc3MgKGV4ZWN1dGFibGUtZmluZCAicmV2IikpCisg ICh3aXRoLXRlbXAtZXNoZWxsCisgICAobGV0ICgoZXNoZWxsLXRlc3QtdmFsdWUgJygiZm9v IiAiYmFyIiAiYmF6IikpKQorICAgICAoZXNoZWxsLW1hdGNoLWNvbW1hbmQtb3V0cHV0Cisg ICAgICAoY29uY2F0ICJ3aGlsZSAkZXNoZWxsLXRlc3QtdmFsdWUgIgorICAgICAgICAgICAg ICAieyAocG9wIGVzaGVsbC10ZXN0LXZhbHVlKSB9IgorICAgICAgICAgICAgICAiIHwgcmV2 IikKKyAgICAgICJ6YWJyYWJvb2YiKSkpKQorCiAoZXJ0LWRlZnRlc3QgZXNoLWNtZC10ZXN0 L3VudGlsLWxvb3AgKCkKICAgIlRlc3QgaW52b2NhdGlvbiBvZiBhbiB1bnRpbCBsb29wLiIK ICAgKHdpdGgtdGVtcC1lc2hlbGwKQEAgLTI1Myw2ICsyNzEsMjggQEAgZXNoLWNtZC10ZXN0 L2lmLWVsc2Utc3RhdGVtZW50LWV4dC1jbWQKICAgKGVzaGVsbC1jb21tYW5kLXJlc3VsdC1l cXVhbCAiaWYge1sgZm9vID0gYmFyIF19IHtlY2hvIHllc30ge2VjaG8gbm99IgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJubyIpKQogCisoZXJ0LWRlZnRlc3QgZXNoLWNt ZC10ZXN0L2lmLXN0YXRlbWVudC1waXBlICgpCisgICJUZXN0IGludm9jYXRpb24gb2YgYW4g aWYgc3RhdGVtZW50IHBpcGVkIHRvIGFub3RoZXIgY29tbWFuZC4iCisgIChza2lwLXVubGVz cyAoZXhlY3V0YWJsZS1maW5kICJyZXYiKSkKKyAgKGxldCAoKGVzaGVsbC10ZXN0LXZhbHVl IHQpKQorICAgIChlc2hlbGwtY29tbWFuZC1yZXN1bHQtZXF1YWwgImlmICRlc2hlbGwtdGVz dC12YWx1ZSB7ZWNobyB5ZXN9IHwgcmV2IgorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgInNleSIpKQorICAobGV0ICgoZXNoZWxsLXRlc3QtdmFsdWUgbmlsKSkKKyAgICAo ZXNoZWxsLWNvbW1hbmQtcmVzdWx0LWVxdWFsICJpZiAkZXNoZWxsLXRlc3QtdmFsdWUge2Vj aG8geWVzfSB8IHJldiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5pbCkp KQorCisoZXJ0LWRlZnRlc3QgZXNoLWNtZC10ZXN0L2lmLWVsc2Utc3RhdGVtZW50LXBpcGUg KCkKKyAgIlRlc3QgaW52b2NhdGlvbiBvZiBhbiBpZi9lbHNlIHN0YXRlbWVudCBwaXBlZCB0 byBhbm90aGVyIGNvbW1hbmQuIgorICAoc2tpcC11bmxlc3MgKGV4ZWN1dGFibGUtZmluZCAi cmV2IikpCisgIChsZXQgKChlc2hlbGwtdGVzdC12YWx1ZSB0KSkKKyAgICAoZXNoZWxsLWNv bW1hbmQtcmVzdWx0LWVxdWFsCisgICAgICJpZiAkZXNoZWxsLXRlc3QtdmFsdWUge2VjaG8g eWVzfSB7ZWNobyBub30gfCByZXYiCisgICAgICJzZXkiKSkKKyAgKGxldCAoKGVzaGVsbC10 ZXN0LXZhbHVlIG5pbCkpCisgICAgKGVzaGVsbC1jb21tYW5kLXJlc3VsdC1lcXVhbAorICAg ICAiaWYgJGVzaGVsbC10ZXN0LXZhbHVlIHtlY2hvIHllc30ge2VjaG8gbm99IHwgcmV2Igor ICAgICAib24iKSkpCisKIChlcnQtZGVmdGVzdCBlc2gtY21kLXRlc3QvdW5sZXNzLXN0YXRl bWVudCAoKQogICAiVGVzdCBpbnZvY2F0aW9uIG9mIGFuIHVubGVzcyBzdGF0ZW1lbnQuIgog ICAobGV0ICgoZXNoZWxsLXRlc3QtdmFsdWUgdCkpCmRpZmYgLS1naXQgYS90ZXN0L2xpc3Av ZXNoZWxsL2VzaC1pby10ZXN0cy5lbCBiL3Rlc3QvbGlzcC9lc2hlbGwvZXNoLWlvLXRlc3Rz LmVsCmluZGV4IDlhM2MxNGYzNjVmLi4wZjA5YWZhMTllNCAxMDA2NDQKLS0tIGEvdGVzdC9s aXNwL2VzaGVsbC9lc2gtaW8tdGVzdHMuZWwKKysrIGIvdGVzdC9saXNwL2VzaGVsbC9lc2gt aW8tdGVzdHMuZWwKQEAgLTMwMSwxNSArMzAxLDI4IEBAIGVzaC1pby10ZXN0L3JlZGlyZWN0 LWNvcHktZmlyc3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RkZXJy XG4iKSkKICAgICAoc2hvdWxkIChlcXVhbCAoYnVmZmVyLXN0cmluZykgInN0ZG91dFxuIikp KSkKIAotKGVydC1kZWZ0ZXN0IGVzaC1pby10ZXN0L3JlZGlyZWN0LXBpcGUgKCkKLSAgIkNo ZWNrIHRoYXQgXCJyZWRpcmVjdGluZ1wiIHRvIGEgcGlwZSB3b3Jrcy4iCi0gIDs7IGB8JyBz aG91bGQgb25seSByZWRpcmVjdCBzdGRvdXQuCisMCis7OyBQaXBlbGluZXMKKworKGVydC1k ZWZ0ZXN0IGVzaC1pby10ZXN0L3BpcGVsaW5lL2RlZmF1bHQgKCkKKyAgIkNoZWNrIHRoYXQg YHwnIG9ubHkgcGlwZXMgc3Rkb3V0LiIKKyAgKHNraXAtdW5sZXNzIChleGVjdXRhYmxlLWZp bmQgInJldiIpKQogICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LWVxdWFsICJ0ZXN0LW91dHB1 dCB8IHJldiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RkZXJyXG50dW9k dHNcbiIpCi0gIDs7IGB8Jicgc2hvdWxkIHJlZGlyZWN0IHN0ZG91dCBhbmQgc3RkZXJyLgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdGRlcnJcbnR1b2R0c1xuIikpCisK KworKGVydC1kZWZ0ZXN0IGVzaC1pby10ZXN0L3BpcGVsaW5lL2FsbCAoKQorICAiQ2hlY2sg dGhhdCBgfCYnIG9ubHkgcGlwZXMgc3Rkb3V0IGFuZCBzdGRlcnIuIgorICAoc2tpcC11bmxl c3MgKGV4ZWN1dGFibGUtZmluZCAicmV2IikpCiAgIChlc2hlbGwtY29tbWFuZC1yZXN1bHQt ZXF1YWwgInRlc3Qtb3V0cHV0IHwmIHJldiIKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAidHVvZHRzXG5ycmVkdHNcbiIpKQogCisoZXJ0LWRlZnRlc3QgZXNoLWlvLXRlc3Qv cGlwZWxpbmUvc3ViY29tbWFuZHMgKCkKKyAgIkNoZWsgdGhhdCBhbGwgY29tbWFuZHMgaW4g YSBzdWJjb21tYW5kIGFyZSBwcm9wZXJseSBwaXBlZC4iCisgIChza2lwLXVubGVzcyAoZXhl Y3V0YWJsZS1maW5kICJyZXYiKSkKKyAgKGVzaGVsbC1jb21tYW5kLXJlc3VsdC1lcXVhbCAi e2VjaG8gZm9vOyBlY2hvIGJhcn0gfCByZXYiCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgInJhYm9vZiIpKQorCiAMCiA7OyBWaXJ0dWFsIHRhcmdldHMKIApkaWZmIC0tZ2l0 IGEvdGVzdC9saXNwL2VzaGVsbC9lc2hlbGwtdGVzdHMtaGVscGVycy5lbCBiL3Rlc3QvbGlz cC9lc2hlbGwvZXNoZWxsLXRlc3RzLWhlbHBlcnMuZWwKaW5kZXggMWQ5Njc0MDcwYzAuLmE5 MzM4MDUwMzExIDEwMDY0NAotLS0gYS90ZXN0L2xpc3AvZXNoZWxsL2VzaGVsbC10ZXN0cy1o ZWxwZXJzLmVsCisrKyBiL3Rlc3QvbGlzcC9lc2hlbGwvZXNoZWxsLXRlc3RzLWhlbHBlcnMu ZWwKQEAgLTMzLDkgKzMzLDkgQEAKIChkZWZ2YXIgZXNoZWxsLWhpc3RvcnktZmlsZS1uYW1l IG5pbCkKIChkZWZ2YXIgZXNoZWxsLWxhc3QtZGlyLXJpbmctZmlsZS1uYW1lIG5pbCkKIAot KGRlZnZhciBlc2hlbGwtdGVzdC0tbWF4LXN1YnByb2Nlc3MtdGltZSA1Ci0gICJUaGUgbWF4 aW11bSBhbW91bnQgb2YgdGltZSB0byB3YWl0IGZvciBhIHN1YnByb2Nlc3MgdG8gZmluaXNo LCBpbiBzZWNvbmRzLgotU2VlIGBlc2hlbGwtd2FpdC1mb3Itc3VicHJvY2VzcycuIikKKyhk ZWZ2YXIgZXNoZWxsLXRlc3QtLW1heC13YWl0LXRpbWUgNQorICAiVGhlIG1heGltdW0gYW1v dW50IG9mIHRpbWUgdG8gd2FpdCBmb3IgYSBjb25kaXRpb24gdG8gcmVzb2x2ZSwgaW4gc2Vj b25kcy4KK1NlZSBgZXNoZWxsLXdhaXQtZm9yJy4iKQogCiAoZGVmdW4gZXNoZWxsLXRlc3Rz LXJlbW90ZS1hY2Nlc3NpYmxlLXAgKCkKICAgIlJldHVybiBpZiBhIHRlc3QgaW52b2x2aW5n IHJlbW90ZSBmaWxlcyBjYW4gcHJvY2VlZC4KQEAgLTczLDE5ICs3MywyOCBAQCBlc2hlbGwt d2l0aC10ZW1wLWJ1ZmZlcgogICAgICAobGV0ICgoLGJ1Zm5hbWUgKGJ1ZmZlci1uYW1lKSkp CiAgICAgICAgLEBib2R5KSkpCiAKKyhkZWZ1biBlc2hlbGwtd2FpdC1mb3IgKHByZWRpY2F0 ZSAmb3B0aW9uYWwgbWVzc2FnZSkKKyAgIldhaXQgdW50aWwgUFJFRElDQVRFIHJldHVybnMg bm9uLW5pbC4KK0lmIHRoaXMgdGFrZXMgbG9uZ2VyIHRoYW4gYGVzaGVsbC10ZXN0LS1tYXgt d2FpdC10aW1lJywgcmFpc2UgYW4KK2Vycm9yLiAgTUVTU0FHRSBpcyBhbiBvcHRpb25hbCBt ZXNzYWdlIHRvIHVzZSBpZiB0aGlzIHRpbWVzIG91dC4iCisgIChsZXQgKChzdGFydCAoY3Vy cmVudC10aW1lKSkKKyAgICAgICAgKG1lc3NhZ2UgKG9yIG1lc3NhZ2UgInRpbWVkIG91dCB3 YWl0aW5nIGZvciBjb25kaXRpb24iKSkpCisgICAgKHdoaWxlIChub3QgKGZ1bmNhbGwgcHJl ZGljYXRlKSkKKyAgICAgICh3aGVuICg+IChmbG9hdC10aW1lICh0aW1lLXNpbmNlIHN0YXJ0 KSkKKyAgICAgICAgICAgICAgIGVzaGVsbC10ZXN0LS1tYXgtd2FpdC10aW1lKQorICAgICAg ICAoZXJyb3IgbWVzc2FnZSkpCisgICAgICAoc2l0LWZvciAwLjEpKSkpCisKIChkZWZ1biBl c2hlbGwtd2FpdC1mb3Itc3VicHJvY2VzcyAoJm9wdGlvbmFsIGFsbCkKICAgIldhaXQgdW50 aWwgdGhlcmUgaXMgbm8gaW50ZXJhY3RpdmUgc3VicHJvY2VzcyBydW5uaW5nIGluIEVzaGVs bC4KIElmIEFMTCBpcyBub24tbmlsLCB3YWl0IHVudGlsIHRoZXJlIGFyZSBubyBFc2hlbGwg c3VicHJvY2Vzc2VzIGF0CiBhbGwgcnVubmluZy4KIAotSWYgdGhpcyB0YWtlcyBsb25nZXIg dGhhbiBgZXNoZWxsLXRlc3QtLW1heC1zdWJwcm9jZXNzLXRpbWUnLAorSWYgdGhpcyB0YWtl cyBsb25nZXIgdGhhbiBgZXNoZWxsLXRlc3QtLW1heC13YWl0LXRpbWUnLAogcmFpc2UgYW4g ZXJyb3IuIgotICAobGV0ICgoc3RhcnQgKGN1cnJlbnQtdGltZSkpKQotICAgICh3aGlsZSAo aWYgYWxsIGVzaGVsbC1wcm9jZXNzLWxpc3QgKGVzaGVsbC1pbnRlcmFjdGl2ZS1wcm9jZXNz LXApKQotICAgICAgKHdoZW4gKD4gKGZsb2F0LXRpbWUgKHRpbWUtc2luY2Ugc3RhcnQpKQot ICAgICAgICAgICAgICAgZXNoZWxsLXRlc3QtLW1heC1zdWJwcm9jZXNzLXRpbWUpCi0gICAg ICAgIChlcnJvciAidGltZWQgb3V0IHdhaXRpbmcgZm9yIHN1YnByb2Nlc3MoZXMpIikpCi0g ICAgICAoc2l0LWZvciAwLjEpKSkpCisgIChlc2hlbGwtd2FpdC1mb3IKKyAgIChsYW1iZGEg KCkKKyAgICAgKG5vdCAoaWYgYWxsIGVzaGVsbC1wcm9jZXNzLWxpc3QgKGVzaGVsbC1pbnRl cmFjdGl2ZS1wcm9jZXNzLXApKSkpKSkKIAogKGRlZnVuIGVzaGVsbC1pbnNlcnQtY29tbWFu ZCAoY29tbWFuZCAmb3B0aW9uYWwgZnVuYykKICAgIkluc2VydCBhIENPTU1BTkQgYXQgdGhl IGVuZCBvZiB0aGUgYnVmZmVyLgpkaWZmIC0tZ2l0IGEvdGVzdC9saXNwL2VzaGVsbC9lc2hl bGwtdGVzdHMuZWwgYi90ZXN0L2xpc3AvZXNoZWxsL2VzaGVsbC10ZXN0cy5lbAppbmRleCBj NjdhYzY3ZmQzNi4uZGQ4YmU4ZTY1ZjAgMTAwNjQ0Ci0tLSBhL3Rlc3QvbGlzcC9lc2hlbGwv ZXNoZWxsLXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlzcC9lc2hlbGwvZXNoZWxsLXRlc3RzLmVs CkBAIC0xMjgsMTYgKzEyOCwxNyBAQCBlc2hlbGwtdGVzdC9mb3J3YXJkLWFyZwogICAgICAg IChkZWxldGUtcmVnaW9uIChwb2ludCkgKHBvaW50LW1heCkpKSkpKQogCiAoZXJ0LWRlZnRl c3QgZXNoZWxsLXRlc3QvcXVldWUtaW5wdXQgKCkKLSAgIlRlc3QgcXVldWluZyBjb21tYW5k IGlucHV0IgorICAiVGVzdCBxdWV1aW5nIGNvbW1hbmQgaW5wdXQuCitUaGlzIHNob3VsZCBs ZXQgdGhlIGN1cnJlbnQgY29tbWFuZCBmaW5pc2gsIHRoZW4gYXV0b21hdGljYWxseQoraW5z ZXJ0IHRoZSBxdWV1ZWQgb25lIGF0IHRoZSBuZXh0IHByb21wdCwgYW5kIGZpbmFsbHkgcnVu IGl0LiIKICAgKHdpdGgtdGVtcC1lc2hlbGwKLSAgIChlc2hlbGwtaW5zZXJ0LWNvbW1hbmQg InNsZWVwIDIiKQotICAgKGVzaGVsbC1pbnNlcnQtY29tbWFuZCAiZWNobyBhbHBoYSIgJ2Vz aGVsbC1xdWV1ZS1pbnB1dCkKLSAgIChsZXQgKChjb3VudCAxMCkpCi0gICAgICh3aGlsZSAo YW5kIGVzaGVsbC1jdXJyZW50LWNvbW1hbmQKLSAgICAgICAgICAgICAgICAgKD4gY291bnQg MCkpCi0gICAgICAgKHNpdC1mb3IgMSkKLSAgICAgICAoc2V0cSBjb3VudCAoMS0gY291bnQp KSkpCi0gICAoc2hvdWxkIChlc2hlbGwtbWF0Y2gtb3V0cHV0ICJhbHBoYVxuIikpKSkKKyAg IChlc2hlbGwtaW5zZXJ0LWNvbW1hbmQgInNsZWVwIDE7IGVjaG8gc2xlcHQiKQorICAgKGVz aGVsbC1pbnNlcnQtY29tbWFuZCAiZWNobyBhbHBoYSIgIydlc2hlbGwtcXVldWUtaW5wdXQp CisgICAobGV0ICgoc3RhcnQgKG1hcmtlci1wb3NpdGlvbiAoZXNoZWxsLWJlZ2lubmluZy1v Zi1vdXRwdXQpKSkpCisgICAgIChlc2hlbGwtd2FpdC1mb3IgKGxhbWJkYSAoKSAobm90IGVz aGVsbC1jdXJyZW50LWNvbW1hbmQpKSkKKyAgICAgKHNob3VsZCAoc3RyaW5nLW1hdGNoICJe c2xlcHRcbi4qZWNobyBhbHBoYVxuYWxwaGFcbiQiCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAoYnVmZmVyLXN1YnN0cmluZy1uby1wcm9wZXJ0aWVzCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RhcnQgKGVzaGVsbC1lbmQtb2Ytb3V0cHV0KSkpKSkpKQogCiAoZXJ0 LWRlZnRlc3QgZXNoZWxsLXRlc3QvZmx1c2gtb3V0cHV0ICgpCiAgICJUZXN0IGZsdXNoaW5n IG9mIHByZXZpb3VzIG91dHB1dCIKLS0gCjIuMjUuMQoK --------------Q5qTm0qP17pHNiKFLD37bFii--