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#71355: 30.0.50; [PATCH] Improve performance of buffered output in Eshell Date: Fri, 7 Jun 2024 21:25:16 -0700 Message-ID: References: <22b0dc8f-11dc-5fd2-c75d-88c17580d28d@gmail.com> <848772e9-5ef0-8a8a-decd-c0b79366ec27@gmail.com> <86ikynk30i.fsf@gnu.org> <037ebce9-93af-f1ad-67d9-550fd1074294@gmail.com> <8634prjpt0.fsf@gnu.org> <9da5a395-48e8-fb20-145b-1d2581315fcf@gmail.com> <86y17ji860.fsf@gnu.org> <86v82ni5dd.fsf@gnu.org> <7f6b9173-e16f-c65d-8758-8ca7098876b7@gmail.com> <86r0daistt.fsf@gnu.org> <066f89aa-4026-b5fd-e529-12e70360bed6@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------Rhdfg6pTbwVkFn7swwpBYo7w" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="34605"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 71355@debbugs.gnu.org, stefankangas@gmail.com To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Jun 08 06:27:12 2024 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 1sFnfb-0008mg-NG for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 08 Jun 2024 06:27:11 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sFnfE-0003cM-Rv; Sat, 08 Jun 2024 00:26:48 -0400 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 1sFnfD-0003cD-G0 for bug-gnu-emacs@gnu.org; Sat, 08 Jun 2024 00:26:47 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sFnfD-0002Fz-7z for bug-gnu-emacs@gnu.org; Sat, 08 Jun 2024 00:26:47 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1sFnfS-0001IQ-D5 for bug-gnu-emacs@gnu.org; Sat, 08 Jun 2024 00:27:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 08 Jun 2024 04:27:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71355 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 71355-submit@debbugs.gnu.org id=B71355.17178208034927 (code B ref 71355); Sat, 08 Jun 2024 04:27:02 +0000 Original-Received: (at 71355) by debbugs.gnu.org; 8 Jun 2024 04:26:43 +0000 Original-Received: from localhost ([127.0.0.1]:37875 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sFnf7-0001HL-TP for submit@debbugs.gnu.org; Sat, 08 Jun 2024 00:26:43 -0400 Original-Received: from mail-pj1-f52.google.com ([209.85.216.52]:50497) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sFnf5-0001Gz-Ej for 71355@debbugs.gnu.org; Sat, 08 Jun 2024 00:26:41 -0400 Original-Received: by mail-pj1-f52.google.com with SMTP id 98e67ed59e1d1-2c1ab9e17f6so2448997a91.1 for <71355@debbugs.gnu.org>; Fri, 07 Jun 2024 21:26:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717820718; x=1718425518; darn=debbugs.gnu.org; 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=XX9kAnKye6k+A0L4xyUh7tXGaWqyncLb8zFMTRUiYbM=; b=kMryNQPe+mHmoj2NtQPqqprjliyYZAiFR3YssWJvG533ztJ/2wWLWzDWsXm7lGDgkq BtfxAgDwsRXbNsejhI9aSQj3hA+Ph213tuVg1NZhf8+jBnzXQSpdOJSzWUVsQ3ydzdig EcnYcXogsHaEB5l7KI150TET7d3bscXMhJVyng+mkM/dX2d/68WIakoMJERRz8mkIC0m /q1cyFMbF1lhyW5JsI58YsR97hPZoq2obEAyIGCSrROwgud98gN8k00+W5+NIoefdy0G PbHVGTfsKadE6i/kNSapc8XUGTHO8BF+9CozlvEyciitD7Dc3i7L+HzGgRm2IXqqBPkm 99pQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717820718; x=1718425518; 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=XX9kAnKye6k+A0L4xyUh7tXGaWqyncLb8zFMTRUiYbM=; b=beGN5ipIigsXbqlCkM5aFymPB0WxrXNHMd1uGiZrsN87LdRUqIe+dB7UezgCnaN8xE PT+o7VR8VcZrIbintn94wCudCwTieRgNcRKsWl+cMJlKAfyU0mFUSmBPslVod6eWFecc HTlKUb+OxcrVXqH9k5sn1WEZW8Dckw248WkVDfE44hoprcDlTWem0OWjuvnJ9Jswf7RT oQRIiDvBNHwNEtmJK0n95fFpi8LM5SP2dezgAHHK5PH02syms9M6Yhr/QYp0s1GR5jQC aOXN81SKiGD+gLMP7gi3cRTQDhUKku1m8yXlGOu9qeQVtzGFjO6evy6DzPDlY8F74lYp c0Pg== X-Gm-Message-State: AOJu0YzflmAj4oNTEIVj1G87y8QYtFUdsOtgconjK8Z8OWIL0zvsRlYH +wsYjummatofkHqqb7J/01Oc1gOo+8NB40gdb9Nk4dVhHon/ozbT X-Google-Smtp-Source: AGHT+IG8NFzbMGUH8u8CMvy+zQ7Zq6Go999aVfQD2fo/xAjFJrn0En0s5ooM/FhUQ/WJVR0IA3xIpg== X-Received: by 2002:a17:90a:dc13:b0:2c2:cfd1:768b with SMTP id 98e67ed59e1d1-2c2cfd1786cmr2261744a91.12.1717820717289; Fri, 07 Jun 2024 21:25:17 -0700 (PDT) Original-Received: from [192.168.1.2] (syn-023-240-098-037.res.spectrum.com. [23.240.98.37]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-2c29c21df85sm4492284a91.15.2024.06.07.21.25.16 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 07 Jun 2024 21:25:16 -0700 (PDT) Content-Language: en-US In-Reply-To: <066f89aa-4026-b5fd-e529-12e70360bed6@gmail.com> 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:286807 Archived-At: This is a multi-part message in MIME format. --------------Rhdfg6pTbwVkFn7swwpBYo7w Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Whoops, one of the intermediate changes I'd made while working on these patches broke a bunch of the regression tests, so here's the fixed version. I also renamed a few of the new variables to be clearer that they're for internal use only. Since it sounds like all the other concerns have been addressed, I'll probably merge this in the next day or so. (This is the last non-bugfix change I'd like to land for Eshell in Emacs 30.) --------------Rhdfg6pTbwVkFn7swwpBYo7w Content-Type: text/plain; charset=UTF-8; name="0001-Be-more-efficient-when-buffering-output-in-Eshell.patch" Content-Disposition: attachment; filename*0="0001-Be-more-efficient-when-buffering-output-in-Eshell.patch" Content-Transfer-Encoding: base64 RnJvbSA4ZGE0MDQ4NWJhYjMxMzE1NzdjYmFjZDZmNTYwYzhkODMxZTI0N2QzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IE1vbiwgMyBKdW4gMjAyNCAyMjowMTo0OCAtMDcwMApTdWJqZWN0OiBbUEFU Q0ggMS8yXSBCZSBtb3JlIGVmZmljaWVudCB3aGVuIGJ1ZmZlcmluZyBvdXRwdXQgaW4gRXNo ZWxsCgpUaGlzIG1ha2VzIHRoZSBidWlsdC1pbiAnZXNoZWxsL2NhdCcgNS0xMHggZmFzdGVy IG9uIGxhcmdlIGZpbGVzIGluIG15Cihzb21ld2hhdCBsaW1pdGVkKSB0ZXN0cy4gIEluIGFk ZGl0aW9uLCB0aGlzIGNoYW5nZSBwZXJpb2RpY2FsbHkKcmVkaXNwbGF5cyB3aGVuIHVzaW5n IHRoZSBFc2hlbGwgYnVmZmVyZWQgb3V0cHV0IHNvIHRoYXQgdXNlcnMgY2FuIHNlZQpzb21l IHByb2dyZXNzLgoKKiBsaXNwL2VzaGVsbC9lc2gtaW8uZWwgKGVzaGVsbC1wcmludC1xdWV1 ZS1zaXplLCBlc2hlbGwtcHJpbnQtcXVldWUsCmVzaGVsbC1wcmludC1xdWV1ZS1jb3VudCk6 IE1ha2Ugb2Jzb2xldGUgaW4gZmF2b3Igb2YuLi4KKGVzaGVsbC1idWZmZXJlZC1wcmludC1z aXplLCBlc2hlbGwtLWJ1ZmZlcmVkLXByaW50LXF1ZXVlKQooZXNoZWxsLS1idWZmZXJlZC1w cmludC1jdXJyZW50LXNpemUpOiAuLi4gdGhlc2UuCihlc2hlbGwtYnVmZmVyZWQtcHJpbnQt cmVkaXNwbGF5LXRocm90dGxlKTogTmV3IHVzZXIgb3B0aW9uLgooZXNoZWxsLS1idWZmZXJl ZC1wcmludC1uZXh0LXJlZGlzcGxheSk6IE5ldyB2YXJpYWJsZS4KKGVzaGVsbC1pbml0LXBy aW50LWJ1ZmZlcik6IE1ha2Ugb2Jzb2xldGUuCihlc2hlbGwtZmx1c2gpOiBBZGQgbmV3IFJF RElTUExBWS1OT1cgYXJndW1lbnQgaW4gZmF2b3Igb2YgQ0xFQVIgKHdoaWNoCm9ubHkgJ2Vz aGVsbC1pbml0LXByaW50LWJ1ZmZlcicgc2hvdWxkIGhhdmUgdXNlZCkuCihlc2hlbGwtYnVm ZmVyZWQtcHJpbnQpOiBDb21wYXJlIHF1ZXVlZCBvdXRwdXQgbGVuZ3RoIHRvCidlc2hlbGwt LWJ1ZmZlcmVkLXByaW50LWN1cnJlbnQtc2l6ZScuCihlc2hlbGwtd2l0aC1idWZmZXJlZC1w cmludCk6IE5ldyBtYWNyby4KCiogbGlzcC9lc2hlbGwvZXNoLXZhci5lbCAoZXNoZWxsL2Vu dik6CiogbGlzcC9lc2hlbGwvZW0tZGlycy5lbCAoZXNoZWxsL2NkKToKKiBsaXNwL2VzaGVs bC9lbS1oaXN0LmVsIChlc2hlbGwvaGlzdG9yeSk6CiogbGlzcC9lc2hlbGwvZW0tdW5peC5l bCAoZXNoZWxsL2NhdCk6CiogbGlzcC9lc2hlbGwvZW0tbHMuZWwgKGVzaGVsbC9scyk6IFVz ZSAnZXNoZWxsLXdpdGgtYnVmZmVyZWQtcHJpbnQnLgooZmx1c2gtZnVuYyk6IFJlbW92ZS4K KGVzaGVsbC1scy0taW5zZXJ0LWRpcmVjdG9yeSwgZXNoZWxsLWRvLWxzKTogUmVtb3ZlICdm bHVzaC1mdW5jJy4KCiogdGVzdC9saXNwL2VzaGVsbC9lbS11bml4LXRlc3RzLmVsIChlbS11 bml4LXRlc3QvY29tcGlsZS9pbnRlcmFjdGl2ZSkKKGVtLXVuaXgtdGVzdC9jb21waWxlL3Bp cGVsaW5lLCBlbS11bml4LXRlc3QvY29tcGlsZS9zdWJjb21tYW5kKTogRml4CmluZGVudGF0 aW9uLgooZW0tdW5peC10ZXN0L2NhdC9maWxlLW91dHB1dCk6IE5ldyB0ZXN0LgoKKiBldGMv TkVXUzogQW5ub3VuY2UgdGhlc2UgaW1wcm92ZW1lbnRzLgotLS0KIGV0Yy9ORVdTICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAgNyArKwogbGlzcC9lc2hlbGwvZW0tZGlycy5lbCAg ICAgICAgICAgIHwgIDEzICsrLS0KIGxpc3AvZXNoZWxsL2VtLWhpc3QuZWwgICAgICAgICAg ICB8ICAxMyArKy0tCiBsaXNwL2VzaGVsbC9lbS1scy5lbCAgICAgICAgICAgICAgfCAgMTQg KystLQogbGlzcC9lc2hlbGwvZW0tdW5peC5lbCAgICAgICAgICAgIHwgIDI1ICsrKystLS0K IGxpc3AvZXNoZWxsL2VzaC1pby5lbCAgICAgICAgICAgICB8IDEwNCArKysrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0KIGxpc3AvZXNoZWxsL2VzaC12YXIuZWwgICAgICAgICAgICB8 ICAgNyArLQogdGVzdC9saXNwL2VzaGVsbC9lbS11bml4LXRlc3RzLmVsIHwgIDM3ICsrKysr KystLS0tCiA4IGZpbGVzIGNoYW5nZWQsIDE0MyBpbnNlcnRpb25zKCspLCA3NyBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdTCmluZGV4IGQ2YThmYTcx MjJiLi4yMzQ5Y2MwY2FjYiAxMDA2NDQKLS0tIGEvZXRjL05FV1MKKysrIGIvZXRjL05FV1MK QEAgLTk2Myw2ICs5NjMsMTMgQEAgZmlsZXMgYW5kIGRlbnkgcmVhZCBwZXJtaXNzaW9uIGZv ciB1c2VycyB3aG8gYXJlIG5vdCBtZW1iZXJzIG9mIHRoZQogZmlsZSdzIGdyb3VwLiAgU2Vl IHRoZSBJbmZvIG5vZGUgIihjb3JldXRpbHMpIEZpbGUgcGVybWlzc2lvbnMiIGZvcgogbW9y ZSBpbmZvcm1hdGlvbiBvbiB0aGlzIG5vdGF0aW9uLgogCistLS0KKyoqKiBQZXJmb3JtYW5j ZSBpbXByb3ZlbWVudHMgZm9yIGludGVyYWN0aXZlIG91dHB1dCBpbiBFc2hlbGwuCitJbnRl cmFjdGl2ZSBvdXRwdXQgaW4gRXNoZWxsIHNob3VsZCBub3cgYmUgc2lnbmlmaWNhbnRseSBm YXN0ZXIsCitlc3BlY2lhbGx5IGZvciBidWlsdC1pbiBjb21tYW5kcyB0aGF0IGNhbiBwcmlu dCBsYXJnZSBhbW91bnRzIG9mIG91dHB1dAorKGUuZy4gImNhdCIpLiAgSW4gYWRkaXRpb24s IHRoZXNlIGNvbW1hbmRzIGNhbiBub3cgdXBkYXRlIHRoZSBkaXNwbGF5CitwZXJpb2RpY2Fs bHkgdG8gc2hvdyB0aGVpciBwcm9ncmVzcy4KKwogKysrCiAqKiogTmV3IHNwZWNpYWwgcmVm ZXJlbmNlIHR5cGUgJyM8bWFya2VyIFBPU0lUSU9OIEJVRkZFUj4nLgogVGhpcyBzcGVjaWFs IHJlZmVyZW5jZSB0eXBlIHJldHVybnMgYSBtYXJrZXIgYXQgJ1BPU0lUSU9OJyBpbgpkaWZm IC0tZ2l0IGEvbGlzcC9lc2hlbGwvZW0tZGlycy5lbCBiL2xpc3AvZXNoZWxsL2VtLWRpcnMu ZWwKaW5kZXggYTNkMWEzNDk1NDAuLmU3MGYyY2ZlMTk2IDEwMDY0NAotLS0gYS9saXNwL2Vz aGVsbC9lbS1kaXJzLmVsCisrKyBiL2xpc3AvZXNoZWxsL2VtLWRpcnMuZWwKQEAgLTQwMCwx MyArNDAwLDEyIEBAIGVzaGVsbC9jZAogCQkoaW5kZXggMCkpCiAJICAgIChpZiAoPSBsZW4g MCkKIAkJKGVycm9yICJEaXJlY3RvcnkgcmluZyBlbXB0eSIpKQotCSAgICAoZXNoZWxsLWlu aXQtcHJpbnQtYnVmZmVyKQotCSAgICAod2hpbGUgKDwgaW5kZXggbGVuKQotCSAgICAgIChl c2hlbGwtYnVmZmVyZWQtcHJpbnQKLQkgICAgICAgKGNvbmNhdCAobnVtYmVyLXRvLXN0cmlu ZyBpbmRleCkgIjogIgotCQkgICAgICAgKHJpbmctcmVmIGVzaGVsbC1sYXN0LWRpci1yaW5n IGluZGV4KSAiXG4iKSkKLQkgICAgICAoc2V0cSBpbmRleCAoMSsgaW5kZXgpKSkKLQkgICAg KGVzaGVsbC1mbHVzaCkKKyAgICAgICAgICAgIChlc2hlbGwtd2l0aC1idWZmZXJlZC1wcmlu dAorICAgICAgICAgICAgICAod2hpbGUgKDwgaW5kZXggbGVuKQorICAgICAgICAgICAgICAg IChlc2hlbGwtYnVmZmVyZWQtcHJpbnQKKyAgICAgICAgICAgICAgICAgKGNvbmNhdCAobnVt YmVyLXRvLXN0cmluZyBpbmRleCkgIjogIgorICAgICAgICAgICAgICAgICAgICAgICAgIChy aW5nLXJlZiBlc2hlbGwtbGFzdC1kaXItcmluZyBpbmRleCkgIlxuIikpCisgICAgICAgICAg ICAgICAgKHNldHEgaW5kZXggKDErIGluZGV4KSkpKQogCSAgICAoc2V0cSBoYW5kbGVkIHQp KSkpKQogICAgICAocGF0aAogICAgICAgKHNldHEgcGF0aCAoZXNoZWxsLWV4cGFuZC1tdWx0 aXBsZS1kb3RzIHBhdGgpKSkpCmRpZmYgLS1naXQgYS9saXNwL2VzaGVsbC9lbS1oaXN0LmVs IGIvbGlzcC9lc2hlbGwvZW0taGlzdC5lbAppbmRleCA4ODY1Y2M3NDVhMy4uOWZmZGRmYjYx MWYgMTAwNjQ0Ci0tLSBhL2xpc3AvZXNoZWxsL2VtLWhpc3QuZWwKKysrIGIvbGlzcC9lc2hl bGwvZW0taGlzdC5lbApAQCAtMzMzLDcgKzMzMyw2IEBAIGVzaGVsbC1zYXZlLXNvbWUtaGlz dG9yeQogCiAoZGVmdW4gZXNoZWxsL2hpc3RvcnkgKCZyZXN0IGFyZ3MpCiAgICJMaXN0IGlu IGhlbHAgYnVmZmVyIHRoZSBidWZmZXIncyBpbnB1dCBoaXN0b3J5LiIKLSAgKGVzaGVsbC1p bml0LXByaW50LWJ1ZmZlcikKICAgKGVzaGVsbC1ldmFsLXVzaW5nLW9wdGlvbnMKICAgICJo aXN0b3J5IiBhcmdzCiAgICAnKCg/ciAicmVhZCIgbmlsIHJlYWQtaGlzdG9yeQpAQCAtMzcw LDEyICszNjksMTIgQEAgZXNoZWxsL2hpc3RvcnkKICAgICAgICAobGV0KiAoKGluZGV4ICgx LSAob3IgbGVuZ3RoIChyaW5nLWxlbmd0aCBlc2hlbGwtaGlzdG9yeS1yaW5nKSkpKQogCSAg ICAgIChyZWYgKC0gKHJpbmctbGVuZ3RoIGVzaGVsbC1oaXN0b3J5LXJpbmcpIGluZGV4KSkp CiAJIDs7IFdlIGhhdmUgdG8gYnVpbGQgdXAgYSBsaXN0IG91cnNlbHZlcyBmcm9tIHRoZSBy aW5nIHZlY3Rvci4KLQkgKHdoaWxlICg+PSBpbmRleCAwKQotCSAgIChlc2hlbGwtYnVmZmVy ZWQtcHJpbnQKLQkgICAgKGZvcm1hdCAiJTVkICAlc1xuIiByZWYgKGVzaGVsbC1nZXQtaGlz dG9yeSBpbmRleCkpKQotCSAgIChzZXRxIGluZGV4ICgxLSBpbmRleCkKLQkJIHJlZiAoMSsg cmVmKSkpKSkpKQotICAgKGVzaGVsbC1mbHVzaCkKKyAgICAgICAgIChlc2hlbGwtd2l0aC1i dWZmZXJlZC1wcmludAorICAgICAgICAgICAod2hpbGUgKD49IGluZGV4IDApCisgICAgICAg ICAgICAgKGVzaGVsbC1idWZmZXJlZC1wcmludAorICAgICAgICAgICAgICAoZm9ybWF0ICIl NWQgICVzXG4iIHJlZiAoZXNoZWxsLWdldC1oaXN0b3J5IGluZGV4KSkpCisgICAgICAgICAg ICAgKHNldHEgaW5kZXggKDEtIGluZGV4KQorICAgICAgICAgICAgICAgICAgIHJlZiAoMSsg cmVmKSkpKSkpKSkKICAgIG5pbCkpCiAKIChkZWZ1biBlc2hlbGwtcHV0LWhpc3RvcnkgKGlu cHV0ICZvcHRpb25hbCByaW5nIGF0LWJlZ2lubmluZykKZGlmZiAtLWdpdCBhL2xpc3AvZXNo ZWxsL2VtLWxzLmVsIGIvbGlzcC9lc2hlbGwvZW0tbHMuZWwKaW5kZXggODJkNGIwMTM5M2Yu LjhiZjJlMjBkMzIwIDEwMDY0NAotLS0gYS9saXNwL2VzaGVsbC9lbS1scy5lbAorKysgYi9s aXNwL2VzaGVsbC9lbS1scy5lbApAQCAtMjI5LDcgKzIyOSw2IEBAIGJsb2NrLXNpemUKIChk ZWZ2YXIgZGVyZWZlcmVuY2UtbGlua3MpCiAoZGVmdmFyIGRpci1saXRlcmFsKQogKGRlZnZh ciBlcnJvci1mdW5jKQotKGRlZnZhciBmbHVzaC1mdW5jKQogKGRlZnZhciBodW1hbi1yZWFk YWJsZSkKIChkZWZ2YXIgaWdub3JlLXBhdHRlcm4pCiAoZGVmdmFyIGluc2VydC1mdW5jKQpA QCAtMjc4LDcgKzI3Nyw2IEBAIGVzaGVsbC1scy0taW5zZXJ0LWRpcmVjdG9yeQogICAgICAg ICAgIChyZXF1aXJlICdlbS1nbG9iKQogICAgICAgICAgIChsZXQqICgoaW5zZXJ0LWZ1bmMg J2luc2VydCkKICAgICAgICAgICAgICAgICAgKGVycm9yLWZ1bmMgJ2luc2VydCkKLSAgICAg ICAgICAgICAgICAgKGZsdXNoLWZ1bmMgJ2lnbm9yZSkKICAgICAgICAgICAgICAgICAgKGVz aGVsbC1lcnJvci1pZi1uby1nbG9iIHQpCiAgICAgICAgICAgICAgICAgICh0YXJnZXQgOyBF eHBhbmQgdGhlIHNoZWxsIHdpbGRjYXJkcyBpZiBhbnkuCiAgICAgICAgICAgICAgICAgICAo aWYgKGFuZCAoYXRvbSBmaWxlKQpAQCAtMzI0LDEwICszMjIsMTAgQEAgZXNoZWxsLWxzLS1k aXJlZAogCiAoZGVmc3Vic3QgZXNoZWxsL2xzICgmcmVzdCBhcmdzKQogICAiQW4gYWxpYXMg dmVyc2lvbiBvZiBgZXNoZWxsLWRvLWxzJy4iCi0gIChsZXQgKChpbnNlcnQtZnVuYyAnZXNo ZWxsLWJ1ZmZlcmVkLXByaW50KQotCShlcnJvci1mdW5jICdlc2hlbGwtZXJyb3IpCi0JKGZs dXNoLWZ1bmMgJ2VzaGVsbC1mbHVzaCkpCi0gICAgKGFwcGx5ICdlc2hlbGwtZG8tbHMgYXJn cykpKQorICAoZXNoZWxsLXdpdGgtYnVmZmVyZWQtcHJpbnQKKyAgICAobGV0ICgoaW5zZXJ0 LWZ1bmMgIydlc2hlbGwtYnVmZmVyZWQtcHJpbnQpCisgICAgICAgICAgKGVycm9yLWZ1bmMg Iydlc2hlbGwtZXJyb3IpKQorICAgICAgKGFwcGx5ICdlc2hlbGwtZG8tbHMgYXJncykpKSkK IAogKHB1dCAnZXNoZWxsL2xzICdlc2hlbGwtbm8tbnVtZXJpYy1jb252ZXJzaW9ucyB0KQog KHB1dCAnZXNoZWxsL2xzICdlc2hlbGwtZmlsZW5hbWUtYXJndW1lbnRzIHQpCkBAIC0zMzYs NyArMzM0LDYgQEAgZXNoZWxsL2xzCiAKIChkZWZ1biBlc2hlbGwtZG8tbHMgKCZyZXN0IGFy Z3MpCiAgICJJbXBsZW1lbnRhdGlvbiBvZiBcImxzXCIgaW4gTGlzcCwgcGFzc2luZyBBUkdT LiIKLSAgKGZ1bmNhbGwgZmx1c2gtZnVuYyAtMSkKICAgOzsgUHJvY2VzcyB0aGUgY29tbWFu ZCBhcmd1bWVudHMsIGFuZCBiZWdpbiBsaXN0aW5nIGZpbGVzLgogICAoZXNoZWxsLWV2YWwt dXNpbmctb3B0aW9ucwogICAgImxzIiAoaWYgZXNoZWxsLWxzLWluaXRpYWwtYXJncwpAQCAt NDIyLDggKzQxOSw3IEBAIGVzaGVsbC1kby1scwogCQkgICAgICAoZXNoZWxsLWZpbGUtYXR0 cmlidXRlcwogCQkgICAgICAgYXJnIChpZiBudW1lcmljLXVpZC1naWQgJ2ludGVnZXIgJ3N0 cmluZykpKSkKIAkgICAgICBhcmdzKQotICAgICAgdCAoZXhwYW5kLWZpbGUtbmFtZSBkZWZh dWx0LWRpcmVjdG9yeSkpKQotICAgKGZ1bmNhbGwgZmx1c2gtZnVuYykpKQorICAgICAgdCAo ZXhwYW5kLWZpbGUtbmFtZSBkZWZhdWx0LWRpcmVjdG9yeSkpKSkpCiAKIChkZWZzdWJzdCBl c2hlbGwtbHMtcHJpbnRhYmxlLXNpemUgKGZpbGVzaXplICZvcHRpb25hbCBieS1ibG9ja3Np emUpCiAgICJSZXR1cm4gYSBwcmludGFibGUgRklMRVNJWkUuIgpkaWZmIC0tZ2l0IGEvbGlz cC9lc2hlbGwvZW0tdW5peC5lbCBiL2xpc3AvZXNoZWxsL2VtLXVuaXguZWwKaW5kZXggNDEz N2MwNWZhNDEuLmU2YmQwMzgxYTE0IDEwMDY0NAotLS0gYS9saXNwL2VzaGVsbC9lbS11bml4 LmVsCisrKyBiL2xpc3AvZXNoZWxsL2VtLXVuaXguZWwKQEAgLTY1OSw3ICs2NTksNiBAQCBl c2hlbGwvY2F0CiAJICAoaWYgZXNoZWxsLWluLXBpcGVsaW5lLXAKIAkgICAgICAoZXJyb3Ig IkVzaGVsbCdzIGBjYXQnIGRvZXMgbm90IHdvcmsgaW4gcGlwZWxpbmVzIikKIAkgICAgKGVy cm9yICJFc2hlbGwncyBgY2F0JyBjYW5ub3QgZGlzcGxheSBvbmUgb2YgdGhlIGZpbGVzIGdp dmVuIikpKSkKLSAgICAoZXNoZWxsLWluaXQtcHJpbnQtYnVmZmVyKQogICAgIChlc2hlbGwt ZXZhbC11c2luZy1vcHRpb25zCiAgICAgICJjYXQiIGFyZ3MKICAgICAgJygoP2ggImhlbHAi IG5pbCBuaWwgInNob3cgdGhpcyB1c2FnZSBzY3JlZW4iKQpAQCAtNjcyLDE4ICs2NzEsMTgg QEAgZXNoZWxsL2NhdAogCSAgICh0aHJvdyAnZXNoZWxsLWV4dGVybmFsCiAJCSAgKGVzaGVs bC1leHRlcm5hbC1jb21tYW5kICJjYXQiIGFyZ3MpKSkpCiAgICAgIChsZXQgKChjdXJidWYg KGN1cnJlbnQtYnVmZmVyKSkpCi0gICAgICAgKGRvbGlzdCAoZmlsZSBhcmdzKQotCSAod2l0 aC10ZW1wLWJ1ZmZlcgotCSAgIChpbnNlcnQtZmlsZS1jb250ZW50cyBmaWxlKQotCSAgIChn b3RvLWNoYXIgKHBvaW50LW1pbikpCi0JICAgKHdoaWxlIChub3QgKGVvYnApKQotCSAgICAg KGxldCAoKHN0ciAoYnVmZmVyLXN1YnN0cmluZwotCQkJIChwb2ludCkgKG1pbiAoMSsgKGxp bmUtZW5kLXBvc2l0aW9uKSkKLQkJCQkgICAgICAocG9pbnQtbWF4KSkpKSkKLQkgICAgICAg KHdpdGgtY3VycmVudC1idWZmZXIgY3VyYnVmCi0JCSAoZXNoZWxsLWJ1ZmZlcmVkLXByaW50 IHN0cikpKQotCSAgICAgKGZvcndhcmQtbGluZSkpKSkpCi0gICAgIChlc2hlbGwtZmx1c2gp KSkpCisgICAgICAgKGVzaGVsbC13aXRoLWJ1ZmZlcmVkLXByaW50CisgICAgICAgICAoZG9s aXN0IChmaWxlIGFyZ3MpCisJICAgKHdpdGgtdGVtcC1idWZmZXIKKwkgICAgIChpbnNlcnQt ZmlsZS1jb250ZW50cyBmaWxlKQorCSAgICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKKyAg ICAgICAgICAgICAod2hpbGUgKG5vdCAoZW9icCkpCisgICAgICAgICAgICAgICAobGV0KiAo KHBvcyAobWluICgrIChwb2ludCkgZXNoZWxsLWJ1ZmZlcmVkLXByaW50LXNpemUpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwb2ludC1tYXgpKSkKKyAgICAgICAgICAg ICAgICAgICAgICAoc3RyIChidWZmZXItc3Vic3RyaW5nIChwb2ludCkgcG9zKSkpCisgICAg ICAgICAgICAgICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIGN1cmJ1ZgorICAgICAgICAgICAg ICAgICAgIChlc2hlbGwtYnVmZmVyZWQtcHJpbnQgc3RyKSkKKyAgICAgICAgICAgICAgICAg KGdvdG8tY2hhciBwb3MpKSkpKSkpKSkpCiAKIChwdXQgJ2VzaGVsbC9jYXQgJ2VzaGVsbC1u by1udW1lcmljLWNvbnZlcnNpb25zIHQpCiAocHV0ICdlc2hlbGwvY2F0ICdlc2hlbGwtZmls ZW5hbWUtYXJndW1lbnRzIHQpCmRpZmYgLS1naXQgYS9saXNwL2VzaGVsbC9lc2gtaW8uZWwg Yi9saXNwL2VzaGVsbC9lc2gtaW8uZWwKaW5kZXggMGZlMTc3ZDRjNjAuLjlkZTljYzQ1MDlh IDEwMDY0NAotLS0gYS9saXNwL2VzaGVsbC9lc2gtaW8uZWwKKysrIGIvbGlzcC9lc2hlbGwv ZXNoLWlvLmVsCkBAIC0xMTIsMTAgKzExMiwzMCBAQCBlc2hlbGwtZXJyb3ItaGFuZGxlCiAK IChkZWZjdXN0b20gZXNoZWxsLXByaW50LXF1ZXVlLXNpemUgNQogICAiVGhlIHNpemUgb2Yg dGhlIHByaW50IHF1ZXVlLCBmb3IgZG9pbmcgYnVmZmVyZWQgcHJpbnRpbmcuCi1UaGlzIGlz IGJhc2ljYWxseSBhIHNwZWVkIGVuaGFuY2VtZW50LCB0byBhdm9pZCBibG9ja2luZyB0aGUg TGlzcCBjb2RlCi1mcm9tIGV4ZWN1dGluZyB3aGlsZSBFbWFjcyBpcyByZWRpc3BsYXlpbmcu IgorVGhpcyB2YXJpYWJsZSBpcyBvYnNvbGV0ZS4gIFlvdSBzaG91bGQgdXNlIGBlc2hlbGwt YnVmZmVyZWQtcHJpbnQtc2l6ZScKK2luc3RlYWQuIgogICA6dHlwZSAnaW50ZWdlcgogICA6 Z3JvdXAgJ2VzaGVsbC1pbykKKyhtYWtlLW9ic29sZXRlLXZhcmlhYmxlICdlc2hlbGwtcHJp bnQtcXVldWUtc2l6ZQorICAgICAgICAgICAgICAgICAgICAgICAgJ2VzaGVsbC1idWZmZXJl ZC1wcmludC1zaXplICIzMC4xIikKKworKGRlZmN1c3RvbSBlc2hlbGwtYnVmZmVyZWQtcHJp bnQtc2l6ZSAyMDQ4CisgICJUaGUgc2l6ZSBvZiB0aGUgcHJpbnQgcXVldWUgaW4gY2hhcmFj dGVycywgZm9yIGRvaW5nIGJ1ZmZlcmVkIHByaW50aW5nLgorTGFyZ2VyIHZhbHVlcyBmb3Ig dGhpcyBvcHRpb24gd2lsbCBnZW5lcmFsbHkgcmVzdWx0IGluIGZhc3RlciBleGVjdXRpb24K K2J5IHJlZHVjaW5nIHRoZSBvdmVyaGVhZCBhc3NvY2lhdGVkIHdpdGggZWFjaCBwcmludCBv cGVyYXRpb24sIGJ1dCB3aWxsCitpbmNyZWFzZSB0aGUgdGltZSBpdCB0YWtlcyB0byBzZWUg YW55IHByb2dyZXNzIGluIHRoZSBvdXRwdXQ7IHNtYWxsZXIKK3ZhbHVlcyB3aWxsIGRvIHRo ZSByZXZlcnNlLiIKKyAgOnR5cGUgJ2ludGVnZXIKKyAgOmdyb3VwICdlc2hlbGwtaW8KKyAg OnZlcnNpb24gIjMwLjEiKQorCisoZGVmY3VzdG9tIGVzaGVsbC1idWZmZXJlZC1wcmludC1y ZWRpc3BsYXktdGhyb3R0bGUgMC4wMjUKKyAgIlRoZSBtaW5pbXVtIHRpbWUgaW4gc2Vjb25k cyBiZXR3ZWVuIHJlZGlzcGxheXMgd2hlbiB1c2luZyBidWZmZXJlZCBwcmludGluZy4KK0lm IG5pbCwgZG9uJ3QgcmVkaXNwbGF5IHdoaWxlIHByaW50aW5nLiIKKyAgOnR5cGUgJyhjaG9p Y2UgbnVtYmVyCisgICAgICAgICAgICAgICAgIChjb25zdCA6dGFnICJEb24ndCByZWRpc3Bs YXkiIG5pbCkpCisgIDpncm91cCAnZXNoZWxsLWlvCisgIDp2ZXJzaW9uICIzMC4xIikKIAog KGRlZmN1c3RvbSBlc2hlbGwtdmlydHVhbC10YXJnZXRzCiAgICcoOzsgVGhlIGxpdGVyYWwg c3RyaW5nICIvZGV2L251bGwiIGlzIGludGVudGlvbmFsIGhlcmUuICBJdCBqdXN0CkBAIC00 NjAsNDAgKzQ4MCw3NCBAQCBlc2hlbGwtaW50ZXJhY3RpdmUtb3V0cHV0LXAKICAgICAgICAg ICAgICAoZXF1YWwgKGNhYXIgKGFyZWYgaGFuZGxlcyBlc2hlbGwtZXJyb3ItaGFuZGxlKSkg Jyh0KSkpCiAgICAgICAoZXF1YWwgKGNhYXIgKGFyZWYgaGFuZGxlcyBpbmRleCkpICcodCkp KSkpCiAKKyhkZWZ2YXIgZXNoZWxsLS1idWZmZXJlZC1wcmludC1xdWV1ZSBuaWwpCisoZGVm dmFyIGVzaGVsbC0tYnVmZmVyZWQtcHJpbnQtY3VycmVudC1zaXplIG5pbCkKKyhkZWZ2YXIg ZXNoZWxsLS1idWZmZXJlZC1wcmludC1uZXh0LXJlZGlzcGxheSBuaWwpCisKIChkZWZ2YXIg ZXNoZWxsLXByaW50LXF1ZXVlIG5pbCkKKyhtYWtlLW9ic29sZXRlLXZhcmlhYmxlICdlc2hl bGwtcHJpbnQtcXVldWUKKyAgICAgICAgICAgICAgICAgICAgICAgICdlc2hlbGwtLWJ1ZmZl cmVkLXByaW50LXF1ZXVlICIzMC4xIikKIChkZWZ2YXIgZXNoZWxsLXByaW50LXF1ZXVlLWNv dW50IC0xKQorKG1ha2Utb2Jzb2xldGUtdmFyaWFibGUgJ2VzaGVsbC1wcmludC1xdWV1ZS1j b3VudAorICAgICAgICAgICAgICAgICAgICAgICAgJ2VzaGVsbC0tYnVmZmVyZWQtcHJpbnQt Y3VycmVudC1zaXplICIzMC4xIikKIAogKGRlZnN1YnN0IGVzaGVsbC1wcmludCAob2JqZWN0 KQogICAiT3V0cHV0IE9CSkVDVCB0byB0aGUgc3RhbmRhcmQgb3V0cHV0IGhhbmRsZS4iCiAg IChlc2hlbGwtb3V0cHV0LW9iamVjdCBvYmplY3QgZXNoZWxsLW91dHB1dC1oYW5kbGUpKQog Ci0oZGVmdW4gZXNoZWxsLWZsdXNoICgmb3B0aW9uYWwgcmVzZXQtcCkKLSAgIkZsdXNoIG91 dCBhbnkgbGluZXMgdGhhdCBoYXZlIGJlZW4gcXVldWVkIGZvciBwcmludGluZy4KLU11c3Qg YmUgY2FsbGVkIGJlZm9yZSBwcmludGluZyBiZWdpbnMgd2l0aCAtMSBhcyBpdHMgYXJndW1l bnQsIGFuZAotYWZ0ZXIgYWxsIHByaW50aW5nIGlzIG92ZXIgd2l0aCBubyBhcmd1bWVudC4i Ci0gIChpZ25vcmUKLSAgIChpZiByZXNldC1wCi0gICAgICAgKHNldHEgZXNoZWxsLXByaW50 LXF1ZXVlIG5pbAotCSAgICAgZXNoZWxsLXByaW50LXF1ZXVlLWNvdW50IHJlc2V0LXApCi0g ICAgIChpZiBlc2hlbGwtcHJpbnQtcXVldWUKLQkgKGVzaGVsbC1wcmludCBlc2hlbGwtcHJp bnQtcXVldWUpKQotICAgICAoZXNoZWxsLWZsdXNoIDApKSkpCi0KIChkZWZ1biBlc2hlbGwt aW5pdC1wcmludC1idWZmZXIgKCkKICAgIkluaXRpYWxpemUgdGhlIGJ1ZmZlcmVkIHByaW50 aW5nIHF1ZXVlLiIKLSAgKGVzaGVsbC1mbHVzaCAtMSkpCisgIChkZWNsYXJlIChvYnNvbGV0 ZSAjJ2VzaGVsbC13aXRoLWJ1ZmZlcmVkLXByaW50ICIzMC4xIikpCisgIChzZXRxIGVzaGVs bC0tYnVmZmVyZWQtcHJpbnQtcXVldWUgbmlsCisgICAgICAgIGVzaGVsbC0tYnVmZmVyZWQt cHJpbnQtY3VycmVudC1zaXplIDApKQorCisoZGVmdW4gZXNoZWxsLWZsdXNoICgmb3B0aW9u YWwgcmVkaXNwbGF5LW5vdykKKyAgIkZsdXNoIG91dCBhbnkgdGV4dCB0aGF0IGhhcyBiZWVu IHF1ZXVlZCBmb3IgcHJpbnRpbmcuCitXaGVuIHByaW50aW5nIGludGVyYWN0aXZlbHksIHRo aXMgd2lsbCBjYWxsIGByZWRpc3BsYXknIGV2ZXJ5CitgZXNoZWxsLWJ1ZmZlcmVkLXByaW50 LXJlZGlzcGxheS10aHJvdHRsZScgc2Vjb25kcyBzbyB0aGF0IHRoZSB1c2VyIGNhbgorc2Vl IHRoZSBwcm9ncmVzcy4gIElmIFJFRElTUExBWS1OT1cgaXMgbm9uLW5pbCwgY2FsbCBgcmVk aXNwbGF5JyBmb3IKK2ludGVyYWN0aXZlIG91dHB1dCBldmVuIGlmIHRoZSB0aHJvdHRsZSB3 b3VsZCBvdGhlcndpc2UgcHJldmVudCBpdC4iCisgIChpZ25vcmUKKyAgICh3aGVuIGVzaGVs bC0tYnVmZmVyZWQtcHJpbnQtcXVldWUKKyAgICAgKGVzaGVsbC1wcmludCAoYXBwbHkgIydj b25jYXQgZXNoZWxsLS1idWZmZXJlZC1wcmludC1xdWV1ZSkpCisgICAgIDs7IFdoZW4gcHJp bnRpbmcgaW50ZXJhY3RpdmVseSAoc2VlIGBlc2hlbGwtd2l0aC1idWZmZXJlZC1wcmludCcp LAorICAgICA7OyBwZXJpb2RpY2FsbHkgcmVkaXNwbGF5IHNvIHRoZSB1c2VyIGNhbiBzZWUg c29tZSBwcm9ncmVzcy4KKyAgICAgKHdoZW4gKGFuZCBlc2hlbGwtLWJ1ZmZlcmVkLXByaW50 LW5leHQtcmVkaXNwbGF5CisgICAgICAgICAgICAgICAgKG9yIHJlZGlzcGxheS1ub3cKKyAg ICAgICAgICAgICAgICAgICAgKHRpbWUtbGVzcy1wIGVzaGVsbC0tYnVmZmVyZWQtcHJpbnQt bmV4dC1yZWRpc3BsYXkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjdXJy ZW50LXRpbWUpKSkpCisgICAgICAgKHJlZGlzcGxheSkKKyAgICAgICAoc2V0cSBlc2hlbGwt LWJ1ZmZlcmVkLXByaW50LW5leHQtcmVkaXNwbGF5CisgICAgICAgICAgICAgKHRpbWUtYWRk IGVzaGVsbC0tYnVmZmVyZWQtcHJpbnQtbmV4dC1yZWRpc3BsYXkKKyAgICAgICAgICAgICAg ICAgICAgICAgZXNoZWxsLWJ1ZmZlcmVkLXByaW50LXJlZGlzcGxheS10aHJvdHRsZSkpKQor ICAgICAoc2V0cSBlc2hlbGwtLWJ1ZmZlcmVkLXByaW50LXF1ZXVlIG5pbAorICAgICAgICAg ICBlc2hlbGwtLWJ1ZmZlcmVkLXByaW50LWN1cnJlbnQtc2l6ZSAwKSkpKQogCiAoZGVmdW4g ZXNoZWxsLWJ1ZmZlcmVkLXByaW50ICgmcmVzdCBzdHJpbmdzKQotICAiQSBidWZmZXJlZCBw cmludCAtLSAqZm9yIHN0cmluZ3Mgb25seSouIgotICAoaWYgKDwgZXNoZWxsLXByaW50LXF1 ZXVlLWNvdW50IDApCi0gICAgICAocHJvZ24KLQkoZXNoZWxsLXByaW50IChhcHBseSAnY29u Y2F0IHN0cmluZ3MpKQotCShzZXRxIGVzaGVsbC1wcmludC1xdWV1ZS1jb3VudCAwKSkKLSAg ICAoaWYgKD0gZXNoZWxsLXByaW50LXF1ZXVlLWNvdW50IGVzaGVsbC1wcmludC1xdWV1ZS1z aXplKQotCShlc2hlbGwtZmx1c2gpKQotICAgIChzZXRxIGVzaGVsbC1wcmludC1xdWV1ZQot CSAgKGNvbmNhdCBlc2hlbGwtcHJpbnQtcXVldWUgKGFwcGx5ICdjb25jYXQgc3RyaW5ncykp Ci0JICBlc2hlbGwtcHJpbnQtcXVldWUtY291bnQgKDErIGVzaGVsbC1wcmludC1xdWV1ZS1j b3VudCkpKSkKKyAgIkEgYnVmZmVyZWQgcHJpbnQgLS0gKmZvciBzdHJpbmdzIG9ubHkqLgor V2hlbiB0aGUgYnVmZmVyIGV4Y2VlZHMgYGVzaGVsbC1idWZmZXJlZC1wcmludC1zaXplJyBp biBjaGFyYWN0ZXJzLCB0aGlzCit3aWxsIGZsdXNoIGl0IHVzaW5nIGBlc2hlbGwtZmx1c2gn ICh3aGljaCBzZWUpLiIKKyAgKHNldHEgZXNoZWxsLS1idWZmZXJlZC1wcmludC1xdWV1ZQor ICAgICAgICAobmNvbmMgZXNoZWxsLS1idWZmZXJlZC1wcmludC1xdWV1ZSBzdHJpbmdzKSkK KyAgKGNsLWluY2YgZXNoZWxsLS1idWZmZXJlZC1wcmludC1jdXJyZW50LXNpemUKKyAgICAg ICAgICAgKGFwcGx5ICMnKyAobWFwY2FyICMnbGVuZ3RoIHN0cmluZ3MpKSkKKyAgKHdoZW4g KD4gZXNoZWxsLS1idWZmZXJlZC1wcmludC1jdXJyZW50LXNpemUgZXNoZWxsLWJ1ZmZlcmVk LXByaW50LXNpemUpCisgICAgKGVzaGVsbC1mbHVzaCkpKQorCisoZGVmbWFjcm8gZXNoZWxs LXdpdGgtYnVmZmVyZWQtcHJpbnQgKCZyZXN0IGJvZHkpCisgICJJbml0aWFsaXplIGJ1ZmZl cmVkIHByaW50aW5nIGZvciBFc2hlbGwsIGFuZCB0aGVuIGV2YWx1YXRlIEJPRFkuCitXaXRo aW4gQk9EWSwgY2FsbCBgZXNoZWxsLWJ1ZmZlcmVkLXByaW50JyB0byBwZXJmb3JtIG91dHB1 dC4iCisgIChkZWNsYXJlIChpbmRlbnQgMCkpCisgIGAobGV0ICgoZXNoZWxsLS1idWZmZXJl ZC1wcmludC1xdWV1ZSBuaWwpCisgICAgICAgICAoZXNoZWxsLS1idWZmZXJlZC1wcmludC1j dXJyZW50LXNpemUgMCkKKyAgICAgICAgIChlc2hlbGwtLWJ1ZmZlcmVkLXByaW50LW5leHQt cmVkaXNwbGF5CisgICAgICAgICAgKHdoZW4gKGFuZCBlc2hlbGwtYnVmZmVyZWQtcHJpbnQt cmVkaXNwbGF5LXRocm90dGxlCisgICAgICAgICAgICAgICAgICAgICAoZXNoZWxsLWludGVy YWN0aXZlLW91dHB1dC1wKSkKKyAgICAgICAgICAgICh0aW1lLWFkZCAoY3VycmVudC10aW1l KQorICAgICAgICAgICAgICAgICAgICAgIGVzaGVsbC1idWZmZXJlZC1wcmludC1yZWRpc3Bs YXktdGhyb3R0bGUpKSkpCisgICAgICh1bndpbmQtcHJvdGVjdAorICAgICAgICAgLEBib2R5 CisgICAgICAgKGVzaGVsbC1mbHVzaCkpKSkKIAogKGRlZnN1YnN0IGVzaGVsbC1lcnJvciAo b2JqZWN0KQogICAiT3V0cHV0IE9CSkVDVCB0byB0aGUgc3RhbmRhcmQgZXJyb3IgaGFuZGxl LiIKZGlmZiAtLWdpdCBhL2xpc3AvZXNoZWxsL2VzaC12YXIuZWwgYi9saXNwL2VzaGVsbC9l c2gtdmFyLmVsCmluZGV4IDAyYjVjNzg1NjI1Li5mMDI3MGFjYTkyYyAxMDA2NDQKLS0tIGEv bGlzcC9lc2hlbGwvZXNoLXZhci5lbAorKysgYi9saXNwL2VzaGVsbC9lc2gtdmFyLmVsCkBA IC00MzcsMTAgKzQzNyw5IEBAIGVzaGVsbC9lbnYKICAgIChpZiBhcmdzCiAgICAgICAgKG9y IChlc2hlbGwtcGFyc2UtbG9jYWwtdmFyaWFibGVzIGFyZ3MpCiAgICAgICAgICAgIChlc2hl bGwtbmFtZWQtY29tbWFuZCAoY2FyIGFyZ3MpIChjZHIgYXJncykpKQotICAgICAoZXNoZWxs LWluaXQtcHJpbnQtYnVmZmVyKQotICAgICAoZG9saXN0IChzZXR0aW5nIChzb3J0IChlc2hl bGwtZW52aXJvbm1lbnQtdmFyaWFibGVzKSAnc3RyaW5nLWxlc3NwKSkKLSAgICAgICAoZXNo ZWxsLWJ1ZmZlcmVkLXByaW50IHNldHRpbmcgIlxuIikpCi0gICAgIChlc2hlbGwtZmx1c2gp KSkpCisgICAgIChlc2hlbGwtd2l0aC1idWZmZXJlZC1wcmludAorICAgICAgIChkb2xpc3Qg KHNldHRpbmcgKHNvcnQgKGVzaGVsbC1lbnZpcm9ubWVudC12YXJpYWJsZXMpICdzdHJpbmct bGVzc3ApKQorICAgICAgICAgKGVzaGVsbC1idWZmZXJlZC1wcmludCBzZXR0aW5nICJcbiIp KSkpKSkKIAogKGRlZnVuIGVzaGVsbC1pbnNlcnQtZW52dmFyIChlbnZ2YXItbmFtZSkKICAg Ikluc2VydCBFTlZWQVItTkFNRSBpbnRvIHRoZSBjdXJyZW50IGJ1ZmZlciBhdCBwb2ludC4i CmRpZmYgLS1naXQgYS90ZXN0L2xpc3AvZXNoZWxsL2VtLXVuaXgtdGVzdHMuZWwgYi90ZXN0 L2xpc3AvZXNoZWxsL2VtLXVuaXgtdGVzdHMuZWwKaW5kZXggYTkyYzdkM2Y4MGEuLjJlZTQy YzgxMzMzIDEwMDY0NAotLS0gYS90ZXN0L2xpc3AvZXNoZWxsL2VtLXVuaXgtdGVzdHMuZWwK KysrIGIvdGVzdC9saXNwL2VzaGVsbC9lbS11bml4LXRlc3RzLmVsCkBAIC0yNiwxMCArMjYs MTIgQEAKIChyZXF1aXJlICdlcnQpCiAocmVxdWlyZSAnZW0tdW5peCkKIAorKGV2YWwtYW5k LWNvbXBpbGUKKyAgKGRlZnZhciB0aGlzLWRpcmVjdG9yeSAoZmlsZS1uYW1lLWRpcmVjdG9y eQorICAgICAgICAgICAgICAgICAgICAgICAgICAob3IgbG9hZC1maWxlLW5hbWUgZGVmYXVs dC1kaXJlY3RvcnkpKSkpCisKIChyZXF1aXJlICdlc2hlbGwtdGVzdHMtaGVscGVycwotICAg ICAgICAgKGV4cGFuZC1maWxlLW5hbWUgImVzaGVsbC10ZXN0cy1oZWxwZXJzIgotICAgICAg ICAgICAgICAgICAgICAgICAgICAgKGZpbGUtbmFtZS1kaXJlY3RvcnkgKG9yIGxvYWQtZmls ZS1uYW1lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZGVmYXVsdC1kaXJlY3RvcnkpKSkpCisgICAgICAgICAoZXhwYW5kLWZpbGUtbmFt ZSAiZXNoZWxsLXRlc3RzLWhlbHBlcnMiIHRoaXMtZGlyZWN0b3J5KSkKIAogOzs7IFRlc3Rz OgogCkBAIC0zNywxMSArMzksMTEgQEAgZW0tdW5peC10ZXN0L2NvbXBpbGUvaW50ZXJhY3Rp dmUKICAgIkNoZWNrIHRoYXQgYGVzaGVsbC9jb21waWxlJyBvcGVucyBhIGNvbXBpbGF0aW9u IGJ1ZmZlciBpbnRlcmFjdGl2ZWx5LiIKICAgKHNraXAtdW5sZXNzIChleGVjdXRhYmxlLWZp bmQgImVjaG8iKSkKICAgKHdpdGgtdGVtcC1lc2hlbGwKLSAgIChlc2hlbGwtbWF0Y2gtY29t bWFuZC1vdXRwdXQgImNvbXBpbGUgZWNobyBoZWxsbyIKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIiM8YnVmZmVyIFxcKmNvbXBpbGF0aW9uXFwqPiIpCi0gICAod2l0aC1j dXJyZW50LWJ1ZmZlciAiKmNvbXBpbGF0aW9uKiIKLSAgICAgKGZvcndhcmQtbGluZSAzKQot ICAgICAoc2hvdWxkIChsb29raW5nLWF0ICJlY2hvIGhlbGxvIikpKSkpCisgICAgKGVzaGVs bC1tYXRjaC1jb21tYW5kLW91dHB1dCAiY29tcGlsZSBlY2hvIGhlbGxvIgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIiM8YnVmZmVyIFxcKmNvbXBpbGF0aW9uXFwqPiIp CisgICAgKHdpdGgtY3VycmVudC1idWZmZXIgIipjb21waWxhdGlvbioiCisgICAgICAoZm9y d2FyZC1saW5lIDMpCisgICAgICAoc2hvdWxkIChsb29raW5nLWF0ICJlY2hvIGhlbGxvIikp KSkpCiAKIChlcnQtZGVmdGVzdCBlbS11bml4LXRlc3QvY29tcGlsZS9ub25pbnRlcmFjdGl2 ZSAoKQogICAiQ2hlY2sgdGhhdCBgZXNoZWxsL2NvbXBpbGUnIHdyaXRlcyB0byBzdGRvdXQg bm9uaW50ZXJhY3RpdmVseS4iCkBAIC01NCwxNSArNTYsMjYgQEAgZW0tdW5peC10ZXN0L2Nv bXBpbGUvcGlwZWxpbmUKICAgKHNraXAtdW5sZXNzIChhbmQgKGV4ZWN1dGFibGUtZmluZCAi ZWNobyIpCiAgICAgICAgICAgICAgICAgICAgIChleGVjdXRhYmxlLWZpbmQgImNhdCIpKSkK ICAgKHdpdGgtdGVtcC1lc2hlbGwKLSAgIChlc2hlbGwtbWF0Y2gtY29tbWFuZC1vdXRwdXQg ImNvbXBpbGUgZWNobyBoZWxsbyB8ICpjYXQiCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJcXGBoZWxsb1xuIikpKQorICAgIChlc2hlbGwtbWF0Y2gtY29tbWFuZC1vdXRw dXQgImNvbXBpbGUgZWNobyBoZWxsbyB8ICpjYXQiCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiXFxgaGVsbG9cbiIpKSkKIAogKGVydC1kZWZ0ZXN0IGVtLXVuaXgtdGVz dC9jb21waWxlL3N1YmNvbW1hbmQgKCkKICAgIkNoZWNrIHRoYXQgYGVzaGVsbC9jb21waWxl JyB3cml0ZXMgdG8gc3Rkb3V0IGZyb20gYSBzdWJjb21tYW5kLiIKICAgKHNraXAtdW5sZXNz IChhbmQgKGV4ZWN1dGFibGUtZmluZCAiZWNobyIpCiAgICAgICAgICAgICAgICAgICAgIChl eGVjdXRhYmxlLWZpbmQgImNhdCIpKSkKICAgKHdpdGgtdGVtcC1lc2hlbGwKLSAgIChlc2hl bGwtbWF0Y2gtY29tbWFuZC1vdXRwdXQgImVjaG8gJHtjb21waWxlIGVjaG8gaGVsbG99Igot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXFxgaGVsbG9cbiIpKSkKKyAgICAo ZXNoZWxsLW1hdGNoLWNvbW1hbmQtb3V0cHV0ICJlY2hvICR7Y29tcGlsZSBlY2hvIGhlbGxv fSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJcXGBoZWxsb1xuIikpKQor CisoZXJ0LWRlZnRlc3QgZW0tdW5peC10ZXN0L2NhdC9maWxlLW91dHB1dCAoKQorICAiQ2hl Y2sgdGhhdCBgZXNoZWxsL2NhdCcgY2FuIHByaW50IGEgZmlsZSdzIGNvbnRlbnRzLiIKKyAg KHdpdGgtdGVtcC1lc2hlbGwKKyAgICAobGV0KiAoKHRoaXMtZmlsZSAoZXhwYW5kLWZpbGUt bmFtZSAiZW0tdW5peC10ZXN0cy5lbCIgdGhpcy1kaXJlY3RvcnkpKQorICAgICAgICAgICAo Y29udGVudHMgKHNhdmUtY3VycmVudC1idWZmZXIKKyAgICAgICAgICAgICAgICAgICAgICAg KGZpbmQtZmlsZSB0aGlzLWZpbGUpCisgICAgICAgICAgICAgICAgICAgICAgIChidWZmZXIt c3RyaW5nKSkpKQorICAgICAgKGVzaGVsbC1tYXRjaC1jb21tYW5kLW91dHB1dAorICAgICAg IChmb3JtYXQgImNhdCAnJXMnIiAoc3RyaW5nLXJlcGxhY2UgIiciICInJyIgdGhpcy1maWxl KSkKKyAgICAgICAoY29uY2F0IChyZWdleHAtcXVvdGUgY29udGVudHMpKSkpKSkKIAogOzsg ZW0tdW5peC10ZXN0cy5lbCBlbmRzIGhlcmUKLS0gCjIuMjUuMQoK --------------Rhdfg6pTbwVkFn7swwpBYo7w Content-Type: text/plain; charset=UTF-8; name="0002-Improve-implementations-of-some-Eshell-output-filter.patch" Content-Disposition: attachment; filename*0="0002-Improve-implementations-of-some-Eshell-output-filter.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBkNzk3Y2JlNTg2MjgxNjZjMGYxY2ExYmZjZTJjOTJhMmI1OWE3YjQ5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IE1vbiwgMyBKdW4gMjAyNCAyMjowNjo0OSAtMDcwMApTdWJqZWN0OiBbUEFU Q0ggMi8yXSBJbXByb3ZlIGltcGxlbWVudGF0aW9ucyBvZiBzb21lIEVzaGVsbCBvdXRwdXQg ZmlsdGVyCiBmdW5jdGlvbnMKCiogbGlzcC9lc2hlbGwvZXNoLW1vZGUuZWwgKGVzaGVsbC1w b3N0b3V0cHV0LXNjcm9sbC10by1ib3R0b20pOiBVc2UKJ2dldC1idWZmZXItd2luZG93LWxp c3QnIGZvciBzaW1wbGljaXR5LgooZXNoZWxsLWhhbmRsZS1jb250cm9sLWNvZGVzKTogVXNl ICdyZS1zZWFyY2gtZm9yd2FyZCc7IHRoaXMgd2F5IGlzIG11Y2gKZmFzdGVyLgoKKiB0ZXN0 L2xpc3AvZXNoZWxsL2VzaC1tb2RlLXRlc3RzLmVsOiBOZXcgZmlsZS4KLS0tCiBsaXNwL2Vz aGVsbC9lc2gtbW9kZS5lbCAgICAgICAgICAgIHwgNjggKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0tLS0tCiB0ZXN0L2xpc3AvZXNoZWxsL2VzaC1tb2RlLXRlc3RzLmVsIHwgNjIgKysr KysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDkyIGluc2VydGlv bnMoKyksIDM4IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3QvbGlzcC9l c2hlbGwvZXNoLW1vZGUtdGVzdHMuZWwKCmRpZmYgLS1naXQgYS9saXNwL2VzaGVsbC9lc2gt bW9kZS5lbCBiL2xpc3AvZXNoZWxsL2VzaC1tb2RlLmVsCmluZGV4IGU2ZjNjYjVmNmFkLi5l YzFhMDdiN2UyZiAxMDA2NDQKLS0tIGEvbGlzcC9lc2hlbGwvZXNoLW1vZGUuZWwKKysrIGIv bGlzcC9lc2hlbGwvZXNoLW1vZGUuZWwKQEAgLTc2NSwzMCArNzY1LDI1IEBAIGVzaGVsbC1w b3N0b3V0cHV0LXNjcm9sbC10by1ib3R0b20KIAkgKGN1cnJlbnQgKGN1cnJlbnQtYnVmZmVy KSkKIAkgKHNjcm9sbCBlc2hlbGwtc2Nyb2xsLXRvLWJvdHRvbS1vbi1vdXRwdXQpKQogICAg ICh1bndpbmQtcHJvdGVjdAotCSh3YWxrLXdpbmRvd3MKLSAgICAgICAgIChsYW1iZGEgKHdp bmRvdykKLSAgICAgICAgICAgKGlmIChlcSAod2luZG93LWJ1ZmZlciB3aW5kb3cpIGN1cnJl bnQpCi0gICAgICAgICAgICAgICAocHJvZ24KLSAgICAgICAgICAgICAgICAgKHNlbGVjdC13 aW5kb3cgd2luZG93KQotICAgICAgICAgICAgICAgICAoaWYgKGFuZCAoPCAocG9pbnQpIGVz aGVsbC1sYXN0LW91dHB1dC1lbmQpCi0gICAgICAgICAgICAgICAgICAgICAgICAgIChvciAo ZXEgc2Nyb2xsIHQpIChlcSBzY3JvbGwgJ2FsbCkKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDs7IE1heWJlIHVzZXIgd2FudHMgcG9pbnQgdG8ganVtcCB0byBlbmQuCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoYW5kIChlcSBzY3JvbGwgJ3RoaXMpCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcSBzZWxlY3RlZCB3aW5kb3cpKQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFuZCAoZXEgc2Nyb2xsICdvdGhlcnMp Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChub3QgKGVxIHNlbGVjdGVk IHdpbmRvdykpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgSWYgcG9pbnQg d2FzIGF0IHRoZSBlbmQsIGtlZXAgaXQgYXQgZW5kLgotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKD49IChwb2ludCkgZXNoZWxsLWxhc3Qtb3V0cHV0LXN0YXJ0KSkpCi0gICAg ICAgICAgICAgICAgICAgICAoZ290by1jaGFyIGVzaGVsbC1sYXN0LW91dHB1dC1lbmQpKQot ICAgICAgICAgICAgICAgICA7OyBPcHRpb25hbGx5IHNjcm9sbCBzbyB0aGF0IHRoZSB0ZXh0 Ci0gICAgICAgICAgICAgICAgIDs7IGVuZHMgYXQgdGhlIGJvdHRvbSBvZiB0aGUgd2luZG93 LgotICAgICAgICAgICAgICAgICAoaWYgKGFuZCBlc2hlbGwtc2Nyb2xsLXNob3ctbWF4aW11 bS1vdXRwdXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgKD49IChwb2ludCkgZXNoZWxs LWxhc3Qtb3V0cHV0LWVuZCkpCi0gICAgICAgICAgICAgICAgICAgICAoc2F2ZS1leGN1cnNp b24KLSAgICAgICAgICAgICAgICAgICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWF4KSkKLSAg ICAgICAgICAgICAgICAgICAgICAgKHJlY2VudGVyIC0xKSkpCi0gICAgICAgICAgICAgICAg IChzZWxlY3Qtd2luZG93IHNlbGVjdGVkKSkpKQotCSBuaWwgdCkKKyAgICAgICAgKGRvbGlz dCAod2luZG93IChnZXQtYnVmZmVyLXdpbmRvdy1saXN0IGN1cnJlbnQgbmlsIHQpKQorICAg ICAgICAgICh3aXRoLXNlbGVjdGVkLXdpbmRvdyB3aW5kb3cKKyAgICAgICAgICAgICh3aGVu IChhbmQgKDwgKHBvaW50KSBlc2hlbGwtbGFzdC1vdXRwdXQtZW5kKQorICAgICAgICAgICAg ICAgICAgICAgICAob3IgKGVxIHNjcm9sbCB0KSAoZXEgc2Nyb2xsICdhbGwpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICA7OyBNYXliZSB1c2VyIHdhbnRzIHBvaW50IHRvIGp1bXAg dG8gZW5kLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFuZCAoZXEgc2Nyb2xsICd0 aGlzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXEgc2VsZWN0ZWQgd2lu ZG93KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChhbmQgKGVxIHNjcm9sbCAnb3Ro ZXJzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobm90IChlcSBzZWxlY3Rl ZCB3aW5kb3cpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IElmIHBvaW50IHdh cyBhdCB0aGUgZW5kLCBrZWVwIGl0IGF0IGVuZC4KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICg+PSAocG9pbnQpIGVzaGVsbC1sYXN0LW91dHB1dC1zdGFydCkpKQorICAgICAgICAg ICAgICAoZ290by1jaGFyIGVzaGVsbC1sYXN0LW91dHB1dC1lbmQpKQorICAgICAgICAgICAg OzsgT3B0aW9uYWxseSBzY3JvbGwgc28gdGhhdCB0aGUgdGV4dCBlbmRzIGF0IHRoZSBib3R0 b20gb2YKKyAgICAgICAgICAgIDs7IHRoZSB3aW5kb3cuCisgICAgICAgICAgICAod2hlbiAo YW5kIGVzaGVsbC1zY3JvbGwtc2hvdy1tYXhpbXVtLW91dHB1dAorICAgICAgICAgICAgICAg ICAgICAgICAoPj0gKHBvaW50KSBlc2hlbGwtbGFzdC1vdXRwdXQtZW5kKSkKKyAgICAgICAg ICAgICAgKHNhdmUtZXhjdXJzaW9uCisgICAgICAgICAgICAgICAgKGdvdG8tY2hhciAocG9p bnQtbWF4KSkKKyAgICAgICAgICAgICAgICAocmVjZW50ZXIgLTEpKSkpKQogICAgICAgKHNl dC1idWZmZXIgY3VycmVudCkpKSkKIAogKGRlZnVuIGVzaGVsbC1iZWdpbm5pbmctb2YtaW5w dXQgKCkKQEAgLTk3NywyNyArOTcyLDI0IEBAIGVzaGVsbC1oYW5kbGUtY29udHJvbC1jb2Rl cwogICAgIChnb3RvLWNoYXIgZXNoZWxsLWxhc3Qtb3V0cHV0LWJsb2NrLWJlZ2luKQogICAg ICh1bmxlc3MgKGVvbHApCiAgICAgICAoYmVnaW5uaW5nLW9mLWxpbmUpKQotICAgICh3aGls ZSAoPCAocG9pbnQpIGVzaGVsbC1sYXN0LW91dHB1dC1lbmQpCi0gICAgICAobGV0ICgoY2hh ciAoY2hhci1hZnRlcikpKQorICAgICh3aGlsZSAocmUtc2VhcmNoLWZvcndhcmQgKHJ4IChh bnkgP1xyID9cYSA/XEMtaCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlc2hl bGwtbGFzdC1vdXRwdXQtZW5kIHQpCisgICAgICAobGV0ICgoY2hhciAoY2hhci1iZWZvcmUp KSkKICAgICAgICAgKGNvbmQKICAgICAgICAgICgoZXEgY2hhciA/XHIpCi0gICAgICAgICAg KGlmICg8ICgxKyAocG9pbnQpKSBlc2hlbGwtbGFzdC1vdXRwdXQtZW5kKQotICAgICAgICAg ICAgICAoaWYgKG1lbXEgKGNoYXItYWZ0ZXIgKDErIChwb2ludCkpKQotICAgICAgICAgICAg ICAgICAgICAgICAgJyg/XG4gP1xyKSkKLSAgICAgICAgICAgICAgICAgIChkZWxldGUtY2hh ciAxKQotICAgICAgICAgICAgICAgIChsZXQgKChlbmQgKDErIChwb2ludCkpKSkKKyAgICAg ICAgICAoaWYgKDwgKHBvaW50KSBlc2hlbGwtbGFzdC1vdXRwdXQtZW5kKQorICAgICAgICAg ICAgICAoaWYgKG1lbXEgKGNoYXItYWZ0ZXIgKHBvaW50KSkgJyg/XG4gP1xyKSkKKyAgICAg ICAgICAgICAgICAgIChkZWxldGUtY2hhciAtMSkKKyAgICAgICAgICAgICAgICAobGV0ICgo ZW5kIChwb2ludCkpKQogICAgICAgICAgICAgICAgICAgKGJlZ2lubmluZy1vZi1saW5lKQog ICAgICAgICAgICAgICAgICAgKGRlbGV0ZS1yZWdpb24gKHBvaW50KSBlbmQpKSkKLSAgICAg ICAgICAgIChhZGQtdGV4dC1wcm9wZXJ0aWVzIChwb2ludCkgKDErIChwb2ludCkpCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKGludmlzaWJsZSB0KSkKLSAgICAgICAg ICAgIChmb3J3YXJkLWNoYXIpKSkKKyAgICAgICAgICAgIChhZGQtdGV4dC1wcm9wZXJ0aWVz ICgxLSAocG9pbnQpKSAocG9pbnQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnKGludmlzaWJsZSB0KSkpKQogICAgICAgICAgKChlcSBjaGFyID9cYSkKLSAgICAgICAg ICAoZGVsZXRlLWNoYXIgMSkKKyAgICAgICAgICAoZGVsZXRlLWNoYXIgLTEpCiAgICAgICAg ICAgKGJlZXApKQogICAgICAgICAgKChlcSBjaGFyID9cQy1oKQotICAgICAgICAgIChkZWxl dGUtcmVnaW9uICgxLSAocG9pbnQpKSAoMSsgKHBvaW50KSkpKQotICAgICAgICAgKHQKLSAg ICAgICAgICAoZm9yd2FyZC1jaGFyKSkpKSkpKQorICAgICAgICAgIChkZWxldGUtcmVnaW9u ICgtIChwb2ludCkgMikgKHBvaW50KSkpKSkpKSkKIAogKGN1c3RvbS1hZGQtb3B0aW9uICdl c2hlbGwtb3V0cHV0LWZpbHRlci1mdW5jdGlvbnMKIAkJICAgJ2VzaGVsbC1oYW5kbGUtY29u dHJvbC1jb2RlcykKZGlmZiAtLWdpdCBhL3Rlc3QvbGlzcC9lc2hlbGwvZXNoLW1vZGUtdGVz dHMuZWwgYi90ZXN0L2xpc3AvZXNoZWxsL2VzaC1tb2RlLXRlc3RzLmVsCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4zMDZlMTFjZTQ0NQotLS0gL2Rldi9udWxs CisrKyBiL3Rlc3QvbGlzcC9lc2hlbGwvZXNoLW1vZGUtdGVzdHMuZWwKQEAgLTAsMCArMSw2 MiBAQAorOzs7IGVzaC1tb2RlLXRlc3RzLmVsIC0tLSBlc2gtbW9kZSB0ZXN0IHN1aXRlICAt Ki0gbGV4aWNhbC1iaW5kaW5nOnQgLSotCisKKzs7IENvcHlyaWdodCAoQykgMjAyMi0yMDI0 IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCis7OyBUaGlzIGZpbGUgaXMgcGFy dCBvZiBHTlUgRW1hY3MuCisKKzs7IEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cis7OyBpdCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQor OzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0 aGUgTGljZW5zZSwgb3IKKzs7IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u CisKKzs7IEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAorOzsgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKzs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKzs7IEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKzs7IFlvdSBzaG91bGQgaGF2 ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCis7 OyBhbG9uZyB3aXRoIEdOVSBFbWFjcy4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUu b3JnL2xpY2Vuc2VzLz4uCisKKzs7OyBDb21tZW50YXJ5OgorCis7OyBUZXN0cyBmb3IgRXNo ZWxsJ3MgY29tbWFuZCBpbnZvY2F0aW9uLgorCis7OzsgQ29kZToKKworKHJlcXVpcmUgJ2Vy dCkKKyhyZXF1aXJlICdlc2gtbW9kZSkKKyhyZXF1aXJlICdlc2hlbGwpCisKKyhyZXF1aXJl ICdlc2hlbGwtdGVzdHMtaGVscGVycworICAgICAgICAgKGV4cGFuZC1maWxlLW5hbWUgImVz aGVsbC10ZXN0cy1oZWxwZXJzIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbGUt bmFtZS1kaXJlY3RvcnkgKG9yIGxvYWQtZmlsZS1uYW1lCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdC1kaXJlY3RvcnkpKSkp CisKKzs7OyBUZXN0czoKKworKGVydC1kZWZ0ZXN0IGVzaC1tb2RlLXRlc3QvaGFuZGxlLWNv bnRyb2wtY29kZXMvY2FycmlhZ2UtcmV0dXJuICgpCisgICJUZXN0IHRoYXQgRXNoZWxsIGhh bmRsZXMgY2FycmlhZ2UgcmV0dXJucyBwcm9wZXJseS4iCisgICh3aXRoLXRlbXAtZXNoZWxs CisgICAgKGVzaGVsbC1tYXRjaC1jb21tYW5kLW91dHB1dCAiKGZvcm1hdCBcImhlbGxvXHJc bmdvb2RieWVcIikiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXFxgaGVs bG9cbmdvb2RieWVcbiIpCisgICAgKGVzaGVsbC1tYXRjaC1jb21tYW5kLW91dHB1dCAiKGZv cm1hdCBcImhlbGxvXHJnb29kYnllXCIpIgorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIlxcYGdvb2RieWVcbiIpCisgICAgKGVzaGVsbC1tYXRjaC1jb21tYW5kLW91dHB1 dCAiKGZvcm1hdCBcImhlbGxvXHJcIikiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiXFxgaGVsbG8iKSkpCisKKyhlcnQtZGVmdGVzdCBlc2gtbW9kZS10ZXN0L2hhbmRs ZS1jb250cm9sLWNvZGVzL2JlbGwgKCkKKyAgIlRlc3QgdGhhdCBFc2hlbGwgaGFuZGxlcyBi ZWxscyBwcm9wZXJseS4iCisgIChjbC1sZXRmKiAoKGJlZXAtY2FsbGVkIG5pbCkKKyAgICAg ICAgICAgICAoKHN5bWJvbC1mdW5jdGlvbiAnYmVlcCkgKGxhbWJkYSAoKSAoc2V0cSBiZWVw LWNhbGxlZCB0KSkpKQorICAgICh3aXRoLXRlbXAtZXNoZWxsCisgICAgICAoZXNoZWxsLW1h dGNoLWNvbW1hbmQtb3V0cHV0ICIoZm9ybWF0IFwiaGVsbG9cYXRoZXJlXCIpIgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXFxgaGVsbG90aGVyZVxuIikKKyAgICAg IChzaG91bGQgYmVlcC1jYWxsZWQpKSkpCisKKyhlcnQtZGVmdGVzdCBlc2gtbW9kZS10ZXN0 L2hhbmRsZS1jb250cm9sLWNvZGVzL2JhY2tzcGFjZSAoKQorICAiVGVzdCB0aGF0IEVzaGVs bCBoYW5kbGVzIGJhY2tzcGFjZXMgcHJvcGVybHkuIgorICAod2l0aC10ZW1wLWVzaGVsbAor ICAgIChlc2hlbGwtbWF0Y2gtY29tbWFuZC1vdXRwdXQgKGZvcm1hdCAiKGZvcm1hdCBcImhl bGxvJWMlY3BcIikiID9cQy1oID9cQy1oKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIlxcYGhlbHBcbiIpKSkKKworOzsgZXNoLW1vZGUtdGVzdHMuZWwgZW5kcyBoZXJl Ci0tIAoyLjI1LjEKCg== --------------Rhdfg6pTbwVkFn7swwpBYo7w--