From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: kobarity Newsgroups: gmane.emacs.bugs Subject: bug#56635: 29.0.50; [PATCH] hide-show in python-mode supports ONLY function and class blocks Date: Tue, 16 Aug 2022 00:00:48 +0900 Message-ID: References: <87v8ruysep.fsf@secretsauce.net> <87zgh01cqm.fsf@gnus.org> <87sfmr5zi9.fsf@secretsauce.net> <87wnbt3vnq.fsf@secretsauce.net> <878rnyg40d.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="00000000000077088405e648e645" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="11671"; mail-complaints-to="usenet@ciao.gmane.io" To: Augusto Stoffel , Dima Kogan , Lars Ingebrigtsen , 56635@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Aug 15 17:02:31 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 1oNbbr-0002uc-Es for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 15 Aug 2022 17:02:31 +0200 Original-Received: from localhost ([::1]:36288 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oNbbq-00061I-5y for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 15 Aug 2022 11:02:30 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:45360) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oNbbO-00060U-VW for bug-gnu-emacs@gnu.org; Mon, 15 Aug 2022 11:02:06 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:54070) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oNbbO-00025L-4b for bug-gnu-emacs@gnu.org; Mon, 15 Aug 2022 11:02:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oNbbN-0006Lz-Ua for bug-gnu-emacs@gnu.org; Mon, 15 Aug 2022 11:02:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: kobarity Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 15 Aug 2022 15:02:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56635 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 56635-submit@debbugs.gnu.org id=B56635.166057567424365 (code B ref 56635); Mon, 15 Aug 2022 15:02:01 +0000 Original-Received: (at 56635) by debbugs.gnu.org; 15 Aug 2022 15:01:14 +0000 Original-Received: from localhost ([127.0.0.1]:43819 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oNbab-0006Kv-Up for submit@debbugs.gnu.org; Mon, 15 Aug 2022 11:01:14 -0400 Original-Received: from mail-ed1-f41.google.com ([209.85.208.41]:46652) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oNbaW-0006Kd-5v for 56635@debbugs.gnu.org; Mon, 15 Aug 2022 11:01:12 -0400 Original-Received: by mail-ed1-f41.google.com with SMTP id s11so9879271edd.13 for <56635@debbugs.gnu.org>; Mon, 15 Aug 2022 08:01:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc; bh=gLIuer1dOh+QdgVA2/2Et13CBIOPzCXF3gYfU3YaNiM=; b=Ks/w+lfeowO/rwrE70C7lJoWHyKTKjWxV07e6Rgn1v1yOuYh+JNgPNeCpMeX0Z5oqC RBa7WUtUcy6/WKMbTBNgV1j5+DHQM4dl9eG2WcvqAykKPaqfMvgCSzvIIwTWh/ecamJY yR0FgF6NyfWV7/04K4fVIRx0MFrzl1CDZG+qsjK9OQwom/utb1X7hF/Bi2zW+EBzcCLE c1WlSm8DVRNiPwNY3bZYD7JKtNjpoGzK4qV8b4M2k4YRt7J5jbqgxrRX51xF7ptRGb3D gvqabOZE8feeKrsEtp1hcvBHkJOaFXLXJV6T22bpNJbVisNRTtaZyE086o7mUq/tbwqG HgYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc; bh=gLIuer1dOh+QdgVA2/2Et13CBIOPzCXF3gYfU3YaNiM=; b=VHz2USYp7jqJbkLfxjHowq2WqxJpaTHQ2H1Whth1VCe0gJ03TOmGYDccFGV5Vp8b9M eg4F15x/L9N3IgkRDHwn6gTRFdkX7IpsFiCqsx5qulJopon7yBHf46aUXhcv1L1ptt65 8o69SOss8t3qBIZs5/q6yvsLyoabvzH8XIG7TUO94PlQng7DwJvyXdIBzh4H2/6wuBeJ IMW5mzH8ViAnTqNWWBthB2MZp4EuBQgf6CBmphHBNGyyca1ciw47ictPtBQD4yAKJFLi cSdwWREE5TtZxqxUVebynV34di3hvs+NE+YHWnyTvs2VjEbvtuuOB5+WW5fIdDMooBsP n2Zg== X-Gm-Message-State: ACgBeo06Cms8aGYch3cOAwe8FMwN+67IElhcr6NvsZ/lFHdC5YXldHZ8 yG78HzDtoGrkTpvx//eFcwxpyAvmXGWHc5ORsgk= X-Google-Smtp-Source: AA6agR4QaDqOVg2l++FvJeFlcPXXH370hEOA+GDZeonuBX9hPeIt/LIOivRUZwUvR0VIPmk2KEju70i4okgg05FXhn0= X-Received: by 2002:a05:6402:331d:b0:43d:9e2e:6966 with SMTP id e29-20020a056402331d00b0043d9e2e6966mr15247787eda.214.1660575662069; Mon, 15 Aug 2022 08:01:02 -0700 (PDT) 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" Xref: news.gmane.io gmane.emacs.bugs:239807 Archived-At: --00000000000077088405e648e645 Content-Type: text/plain; charset="UTF-8" I wrote: > Is there any comments on extending `hs-special-modes-alist'? Attached > are revised patches. I would like to know if it is worth extending > `hs-special-modes-alist'. I fixed some issues in the Python patch. Please note that the fix for #57223 (merged recently) is also needed for all ERTs to pass. Best Regards, --00000000000077088405e648e645 Content-Type: application/octet-stream; name="fix-56635-python.patch" Content-Disposition: attachment; filename="fix-56635-python.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l6uvoyff0 Y29tbWl0IDE3N2EzYTlmOWE1YjM5YzFjNWRmNmRjNjQxZDUyN2Q4ODAzYmMyOWUKQXV0aG9yOiBr b2Jhcml0eSA8a29iYXJpdHlAZ21haWwuY29tPgpEYXRlOiAgIE1vbiBBdWcgMTUgMjM6NDk6MzQg MjAyMiArMDkwMAoKICAgIEFkZCBQeXRob24gYmxvY2tzIHN1cHBvcnQgZm9yIGhpZGVzaG93CiAg ICAKICAgICogbGlzcC9wcm9nbW9kZXMvcHl0aG9uLmVsIChweXRob24tbmF2LWJlZ2lubmluZy1v Zi1ibG9jay1yZWdleHApOgogICAgTmV3IHZhcmlhYmxlLgogICAgKHB5dGhvbi1oaWRlc2hvdy1m b3J3YXJkLXNleHAtZnVuY3Rpb24pOiBDaGFuZ2UgdG8gY2FsbAogICAgYHB5dGhvbi1uYXYtZW5k LW9mLWJsb2NrJy4KICAgIChweXRob24taGlkZXNob3ctZmluZC1uZXh0LWJsb2NrKTogTmV3IGZ1 bmN0aW9uIHRvIGJlIHVzZWQgYXMKICAgIEZJTkQtTkVYVC1CTE9DSy1GVU5DIGluIGBocy1zcGVj aWFsLW1vZGVzLWFsaXN0Jy4KICAgIChweXRob24taW5mby1sb29raW5nLWF0LWJlZ2lubmluZy1v Zi1ibG9jayk6IE5ldyBmdW5jdGlvbiB0byBiZQogICAgdXNlZCBhcyBMT09LSU5HLUFULUJMT0NL LVNUQVJULVAtRlVOQyBpbiBgaHMtc3BlY2lhbC1tb2Rlcy1hbGlzdCcuCiAgICAocHl0aG9uLW1v ZGUpOiBDaGFuZ2Ugc2V0dGluZ3Mgb2YgYGhzLXNwZWNpYWwtbW9kZXMtYWxpc3QnLgogICAgCiAg ICAqIHRlc3QvbGlzcC9wcm9nbW9kZXMvcHl0aG9uLXRlc3RzLmVsCiAgICAocHl0aG9uLWhpZGVz aG93LWhpZGUtbGV2ZWxzLTEpOiBGaXggdG8ga2VlcCBlbXB0eSBsaW5lcy4KICAgIChweXRob24t aW5mby1sb29raW5nLWF0LWJlZ2lubmluZy1vZi1ibG9jay0xKQogICAgKHB5dGhvbi1oaWRlc2hv dy1oaWRlLWxldmVscy0zLCBweXRob24taGlkZXNob3ctaGlkZS1sZXZlbHMtNCkKICAgIChweXRo b24taGlkZXNob3ctaGlkZS1hbGwtMSwgcHl0aG9uLWhpZGVzaG93LWhpZGUtYWxsLTIpCiAgICAo cHl0aG9uLWhpZGVzaG93LWhpZGUtYWxsLTMsIHB5dGhvbi1oaWRlc2hvdy1oaWRlLWJsb2NrLTEp OiBOZXcKICAgIHRlc3RzLgoKZGlmZiAtLWdpdCBhL2xpc3AvcHJvZ21vZGVzL3B5dGhvbi5lbCBi L2xpc3AvcHJvZ21vZGVzL3B5dGhvbi5lbAppbmRleCA0NGRmMzE4NmIyLi4yOTU2MzZjMzJlIDEw MDY0NAotLS0gYS9saXNwL3Byb2dtb2Rlcy9weXRob24uZWwKKysrIGIvbGlzcC9wcm9nbW9kZXMv cHl0aG9uLmVsCkBAIC0xNTA0LDYgKzE1MDQsMTAgQEAgcHl0aG9uLW5hdi1iZWdpbm5pbmctb2Yt ZGVmdW4tcmVnZXhwCiBUaGUgbmFtZSBvZiB0aGUgZGVmdW4gc2hvdWxkIGJlIGdyb3VwZWQgc28g aXQgY2FuIGJlIHJldHJpZXZlZAogdmlhIGBtYXRjaC1zdHJpbmcnLiIpCiAKKyhkZWZ2YXIgcHl0 aG9uLW5hdi1iZWdpbm5pbmctb2YtYmxvY2stcmVnZXhwCisgIChweXRob24tcnggbGluZS1zdGFy dCAoKiBzcGFjZSkgYmxvY2stc3RhcnQpCisgICJSZWdleHAgbWF0Y2hpbmcgYmxvY2sgc3RhcnQu IikKKwogKGRlZnVuIHB5dGhvbi1uYXYtLWJlZ2lubmluZy1vZi1kZWZ1biAoJm9wdGlvbmFsIGFy ZykKICAgIkludGVybmFsIGltcGxlbWVudGF0aW9uIG9mIGBweXRob24tbmF2LWJlZ2lubmluZy1v Zi1kZWZ1bicuCiBXaXRoIHBvc2l0aXZlIEFSRyBzZWFyY2ggYmFja3dhcmRzLCBlbHNlIHNlYXJj aCBmb3J3YXJkcy4iCkBAIC00ODg3LDkgKzQ4OTEsMzcgQEAgcHl0aG9uLWRlc2NyaWJlLWF0LXBv aW50CiAoZGVmdW4gcHl0aG9uLWhpZGVzaG93LWZvcndhcmQtc2V4cC1mdW5jdGlvbiAoX2FyZykK ICAgIlB5dGhvbiBzcGVjaWZpYyBgZm9yd2FyZC1zZXhwJyBmdW5jdGlvbiBmb3IgYGhzLW1pbm9y LW1vZGUnLgogQXJndW1lbnQgQVJHIGlzIGlnbm9yZWQuIgotICAocHl0aG9uLW5hdi1lbmQtb2Yt ZGVmdW4pCi0gICh1bmxlc3MgKHB5dGhvbi1pbmZvLWN1cnJlbnQtbGluZS1lbXB0eS1wKQotICAg IChiYWNrd2FyZC1jaGFyKSkpCisgIChweXRob24tbmF2LWVuZC1vZi1ibG9jaykpCisKKyhkZWZ1 biBweXRob24taGlkZXNob3ctZmluZC1uZXh0LWJsb2NrIChyZWdleHAgbWF4cCBjb21tZW50cykK KyAgIlB5dGhvbiBzcGVjaWZpYyBgaHMtZmluZC1uZXh0LWJsb2NrJyBmdW5jdGlvbiBmb3IgYGhz LW1pbm9yLW1vZGUnLgorQ2FsbCBgcHl0aG9uLW5hdi1mb3J3YXJkLWJsb2NrJyB0byBmaW5kIG5l eHQgYmxvY2sgYW5kIGNoZWNrIGlmCitibG9jay1zdGFydCBlbmRzIHdpdGhpbiBNQVhQLiAgSWYg Q09NTUVOVFMgaXMgbm90IG5pbCwgY29tbWVudHMKK2FyZSBhbHNvIHNlYXJjaGVkLiAgUkVHRVhQ IGlzIHBhc3NlZCB0byBgbG9va2luZy1hdCcgdG8gc2V0CitgbWF0Y2gtZGF0YScuIgorICAobGV0 KiAoKG5leHQtYmxvY2sgKHNhdmUtZXhjdXJzaW9uCisgICAgICAgICAgICAgICAgICAgICAgIChv ciAoYW5kCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHB5dGhvbi1pbmZvLWxvb2tpbmct YXQtYmVnaW5uaW5nLW9mLWJsb2NrKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZS1z ZWFyY2gtZm9yd2FyZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHl0aG9uLXJ4IGJs b2NrLXN0YXJ0KSBtYXhwIHQpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFuZCAocHl0 aG9uLW5hdi1mb3J3YXJkLWJsb2NrKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo PCAocG9pbnQpIG1heHApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZS1zZWFy Y2gtZm9yd2FyZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHB5dGhvbi1yeCBi bG9jay1zdGFydCkgbWF4cCB0KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKyBtYXhw KSkpKQorICAgICAgICAgKG5leHQtY29tbWVudAorICAgICAgICAgIChvciAod2hlbiBjb21tZW50 cworICAgICAgICAgICAgICAgIChzYXZlLWV4Y3Vyc2lvbgorICAgICAgICAgICAgICAgICAgKGNs LWxvb3Agd2hpbGUgKHJlLXNlYXJjaC1mb3J3YXJkICIjIiBtYXhwIHQpCisgICAgICAgICAgICAg ICAgICAgICAgICAgICBpZiAocHl0aG9uLXN5bnRheC1jb250ZXh0ICdjb21tZW50KQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChwb2ludCkpKSkKKyAgICAgICAgICAgICAgKDEr IG1heHApKSkKKyAgICAgICAgIChuZXh0LWJsb2NrLW9yLWNvbW1lbnQgKG1pbiBuZXh0LWJsb2Nr IG5leHQtY29tbWVudCkpKQorICAgICh3aGVuICg8PSBuZXh0LWJsb2NrLW9yLWNvbW1lbnQgbWF4 cCkKKyAgICAgIChnb3RvLWNoYXIgbmV4dC1ibG9jay1vci1jb21tZW50KQorICAgICAgKHNhdmUt ZXhjdXJzaW9uCisgICAgICAgIChiZWdpbm5pbmctb2YtbGluZSkKKyAgICAgICAgKGxvb2tpbmct YXQgcmVnZXhwKSkpKSkKIAogDAogOzs7IEltZW51CkBAIC01Mzg2LDYgKzU0MTgsMTkgQEAgcHl0 aG9uLWluZm8tbG9va2luZy1hdC1iZWdpbm5pbmctb2YtZGVmdW4KICAgICAgICAgIChiZWdpbm5p bmctb2YtbGluZSAxKQogICAgICAgICAgKGxvb2tpbmctYXQgcHl0aG9uLW5hdi1iZWdpbm5pbmct b2YtZGVmdW4tcmVnZXhwKSkpKQogCisoZGVmdW4gcHl0aG9uLWluZm8tbG9va2luZy1hdC1iZWdp bm5pbmctb2YtYmxvY2sgKCkKKyAgIkNoZWNrIGlmIHBvaW50IGlzIGF0IHRoZSBiZWdpbm5pbmcg b2YgYmxvY2suIgorICAobGV0KiAoKGxpbmUtYmVnLXBvcyAobGluZS1iZWdpbm5pbmctcG9zaXRp b24pKQorICAgICAgICAgKGxpbmUtY29udGVudC1zdGFydCAoKyBsaW5lLWJlZy1wb3MgKGN1cnJl bnQtaW5kZW50YXRpb24pKSkKKyAgICAgICAgIChibG9jay1iZWctcG9zIChzYXZlLWV4Y3Vyc2lv bgorICAgICAgICAgICAgICAgICAgICAgICAgICAocHl0aG9uLW5hdi1iZWdpbm5pbmctb2YtYmxv Y2spKSkpCisgICAgKGFuZCBibG9jay1iZWctcG9zCisgICAgICAgICAoPSBibG9jay1iZWctcG9z IGxpbmUtY29udGVudC1zdGFydCkKKyAgICAgICAgICg8PSAocG9pbnQpIGxpbmUtY29udGVudC1z dGFydCkKKyAgICAgICAgIChzYXZlLWV4Y3Vyc2lvbgorICAgICAgICAgICAoYmVnaW5uaW5nLW9m LWxpbmUpCisgICAgICAgICAgIChsb29raW5nLWF0IHB5dGhvbi1uYXYtYmVnaW5uaW5nLW9mLWJs b2NrLXJlZ2V4cCkpKSkpCisKIChkZWZ1biBweXRob24taW5mby1jdXJyZW50LWxpbmUtY29tbWVu dC1wICgpCiAgICJSZXR1cm4gbm9uLW5pbCBpZiBjdXJyZW50IGxpbmUgaXMgYSBjb21tZW50IGxp bmUuIgogICAoY2hhci1lcXVhbApAQCAtNTgzNSwxNCArNTg4MCwxNyBAQCBweXRob24tbW9kZQog CiAgIChhZGQtdG8tbGlzdAogICAgJ2hzLXNwZWNpYWwtbW9kZXMtYWxpc3QKLSAgICcocHl0aG9u LW1vZGUKLSAgICAgIlxccy0qXFxfPFxcKD86ZGVmXFx8Y2xhc3NcXClcXF8+IgorICAgYChweXRo b24tbW9kZQorICAgICAscHl0aG9uLW5hdi1iZWdpbm5pbmctb2YtYmxvY2stcmVnZXhwCiAgICAg IDs7IFVzZSB0aGUgZW1wdHkgc3RyaW5nIGFzIGVuZCByZWdleHAgc28gaXQgZG9lc24ndCBkZWZh dWx0IHRvCiAgICAgIDs7ICJcXHMpIi4gIFRoaXMgd2F5IHBhcmVucyBhdCBlbmQgb2YgZGVmdW4g YXJlIHByb3Blcmx5IGhpZGRlbi4KICAgICAgIiIKICAgICAgIiMiCiAgICAgIHB5dGhvbi1oaWRl c2hvdy1mb3J3YXJkLXNleHAtZnVuY3Rpb24KLSAgICAgbmlsKSkKKyAgICAgbmlsCisgICAgIHB5 dGhvbi1uYXYtYmVnaW5uaW5nLW9mLWJsb2NrCisgICAgIHB5dGhvbi1oaWRlc2hvdy1maW5kLW5l eHQtYmxvY2sKKyAgICAgcHl0aG9uLWluZm8tbG9va2luZy1hdC1iZWdpbm5pbmctb2YtYmxvY2sp KQogCiAgIChzZXRxLWxvY2FsIG91dGxpbmUtcmVnZXhwIChweXRob24tcnggKCogc3BhY2UpIGJs b2NrLXN0YXJ0KSkKICAgKHNldHEtbG9jYWwgb3V0bGluZS1oZWFkaW5nLWVuZC1yZWdleHAgIjpb XlxuXSpcbiIpCmRpZmYgLS1naXQgYS90ZXN0L2xpc3AvcHJvZ21vZGVzL3B5dGhvbi10ZXN0cy5l bCBiL3Rlc3QvbGlzcC9wcm9nbW9kZXMvcHl0aG9uLXRlc3RzLmVsCmluZGV4IDllOGZhN2Y1NTIu LjYwOGNlNTQ4ZTcgMTAwNjQ0Ci0tLSBhL3Rlc3QvbGlzcC9wcm9nbW9kZXMvcHl0aG9uLXRlc3Rz LmVsCisrKyBiL3Rlc3QvbGlzcC9wcm9nbW9kZXMvcHl0aG9uLXRlc3RzLmVsCkBAIC01NTk4LDYg KzU1OTgsMzkgQEAgcHl0aG9uLWluZm8tbG9va2luZy1hdC1iZWdpbm5pbmctb2YtZGVmdW4tMgog ICAgKHNob3VsZCAobm90IChweXRob24taW5mby1sb29raW5nLWF0LWJlZ2lubmluZy1vZi1kZWZ1 bikpKQogICAgKHNob3VsZCAobm90IChweXRob24taW5mby1sb29raW5nLWF0LWJlZ2lubmluZy1v Zi1kZWZ1biBuaWwgdCkpKSkpCiAKKyhlcnQtZGVmdGVzdCBweXRob24taW5mby1sb29raW5nLWF0 LWJlZ2lubmluZy1vZi1ibG9jay0xICgpCisgIChweXRob24tdGVzdHMtd2l0aC10ZW1wLWJ1ZmZl cgorICAgIgorZGVmIGYoKToKKyAgICBpZiBUcnVlOgorICAgICAgICBwYXNzCisgICAgbCA9IFt4 ICogMgorICAgICAgICAgZm9yIHggaW4gcmFuZ2UoNSkKKyAgICAgICAgIGlmIHggPCAzXQorIyBp ZiBGYWxzZToKK1wiXCJcIgoraWYgMDoKK1wiXCJcIgorIgorICAgKHB5dGhvbi10ZXN0cy1sb29r LWF0ICJkZWYgZigpOiIpCisgICAoc2hvdWxkIChweXRob24taW5mby1sb29raW5nLWF0LWJlZ2lu bmluZy1vZi1ibG9jaykpCisgICAoZm9yd2FyZC1jaGFyKQorICAgKHNob3VsZCAobm90IChweXRo b24taW5mby1sb29raW5nLWF0LWJlZ2lubmluZy1vZi1ibG9jaykpKQorICAgKHB5dGhvbi10ZXN0 cy1sb29rLWF0ICJpZiBUcnVlOiIpCisgICAoc2hvdWxkIChweXRob24taW5mby1sb29raW5nLWF0 LWJlZ2lubmluZy1vZi1ibG9jaykpCisgICAoZm9yd2FyZC1jaGFyKQorICAgKHNob3VsZCAobm90 IChweXRob24taW5mby1sb29raW5nLWF0LWJlZ2lubmluZy1vZi1ibG9jaykpKQorICAgKGJlZ2lu bmluZy1vZi1saW5lKQorICAgKHNob3VsZCAocHl0aG9uLWluZm8tbG9va2luZy1hdC1iZWdpbm5p bmctb2YtYmxvY2spKQorICAgKHB5dGhvbi10ZXN0cy1sb29rLWF0ICJmb3IgeCIpCisgICAoc2hv dWxkIChub3QgKHB5dGhvbi1pbmZvLWxvb2tpbmctYXQtYmVnaW5uaW5nLW9mLWJsb2NrKSkpCisg ICAocHl0aG9uLXRlc3RzLWxvb2stYXQgImlmIHggPCAzIikKKyAgIChzaG91bGQgKG5vdCAocHl0 aG9uLWluZm8tbG9va2luZy1hdC1iZWdpbm5pbmctb2YtYmxvY2spKSkKKyAgIChweXRob24tdGVz dHMtbG9vay1hdCAiaWYgRmFsc2U6IikKKyAgIChzaG91bGQgKG5vdCAocHl0aG9uLWluZm8tbG9v a2luZy1hdC1iZWdpbm5pbmctb2YtYmxvY2spKSkKKyAgIChweXRob24tdGVzdHMtbG9vay1hdCAi aWYgMDoiKQorICAgKHNob3VsZCAobm90IChweXRob24taW5mby1sb29raW5nLWF0LWJlZ2lubmlu Zy1vZi1ibG9jaykpKSkpCisKIChlcnQtZGVmdGVzdCBweXRob24taW5mby1jdXJyZW50LWxpbmUt Y29tbWVudC1wLTEgKCkKICAgKHB5dGhvbi10ZXN0cy13aXRoLXRlbXAtYnVmZmVyCiAgICAiCkBA IC02MDUxLDggKzYwODQsMTEgQEAgcHl0aG9uLWhpZGVzaG93LWhpZGUtbGV2ZWxzLTEKIGNsYXNz IFNvbWVDbGFzczoKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBhcmcsIGt3YXJnPTEpOgorCiAg ICAgZGVmIGZpbHRlcihzZWxmLCBudW1zKToKLSAgICBkZWYgX19zdHJfXyhzZWxmKToiKSkpKQor CisgICAgZGVmIF9fc3RyX18oc2VsZik6CisiKSkpKQogICAgICAgKG9yIGVuYWJsZWQgKGhzLW1p bm9yLW1vZGUgLTEpKSkpKQogCiAoZXJ0LWRlZnRlc3QgcHl0aG9uLWhpZGVzaG93LWhpZGUtbGV2 ZWxzLTIgKCkKQEAgLTYwOTgsNiArNjEzNCwxNjUgQEAgcHl0aG9uLWhpZGVzaG93LWhpZGUtbGV2 ZWxzLTIKICIpKSkpCiAgICAgICAob3IgZW5hYmxlZCAoaHMtbWlub3ItbW9kZSAtMSkpKSkpCiAK KyhlcnQtZGVmdGVzdCBweXRob24taGlkZXNob3ctaGlkZS1sZXZlbHMtMyAoKQorICAiU2hvdWxk IGhpZGUgYWxsIGJsb2Nrcy4iCisgIChweXRob24tdGVzdHMtd2l0aC10ZW1wLWJ1ZmZlcgorICAg IgorZGVmIGYoKToKKyAgICBpZiAwOgorICAgICAgICBsID0gW2kgZm9yIGkgaW4gcmFuZ2UoNSkK KyAgICAgICAgICAgICBpZiBpIDwgM10KKyAgICAgICAgYWJjID0gby5tYXRjaCgxLCAyLCAzKQor CitkZWYgZygpOgorICAgIHBhc3MKKyIKKyAgIChocy1taW5vci1tb2RlIDEpCisgICAoaHMtaGlk ZS1sZXZlbCAxKQorICAgKHNob3VsZAorICAgIChzdHJpbmc9CisgICAgIChweXRob24tdGVzdHMt dmlzaWJsZS1zdHJpbmcpCisgICAgICIKK2RlZiBmKCk6CisKK2RlZiBnKCk6CisiKSkpKQorCiso ZXJ0LWRlZnRlc3QgcHl0aG9uLWhpZGVzaG93LWhpZGUtbGV2ZWxzLTQgKCkKKyAgIlNob3VsZCBo aWRlIDJuZCBsZXZlbCBibG9jay4iCisgIChweXRob24tdGVzdHMtd2l0aC10ZW1wLWJ1ZmZlcgor ICAgIgorZGVmIGYoKToKKyAgICBpZiAwOgorICAgICAgICBsID0gW2kgZm9yIGkgaW4gcmFuZ2Uo NSkKKyAgICAgICAgICAgICBpZiBpIDwgM10KKyAgICAgICAgYWJjID0gby5tYXRjaCgxLCAyLCAz KQorCitkZWYgZygpOgorICAgIHBhc3MKKyIKKyAgIChocy1taW5vci1tb2RlIDEpCisgICAoaHMt aGlkZS1sZXZlbCAyKQorICAgKHNob3VsZAorICAgIChzdHJpbmc9CisgICAgIChweXRob24tdGVz dHMtdmlzaWJsZS1zdHJpbmcpCisgICAgICIKK2RlZiBmKCk6CisgICAgaWYgMDoKKworZGVmIGco KToKKyAgICBwYXNzCisiKSkpKQorCisoZXJ0LWRlZnRlc3QgcHl0aG9uLWhpZGVzaG93LWhpZGUt YWxsLTEgKCkKKyAgIlNob3VsZCBoaWRlIGFsbCBibG9ja3MuIgorICAocHl0aG9uLXRlc3RzLXdp dGgtdGVtcC1idWZmZXIKKyAgICJpZiAwOgorCisgICAgYWFhCisgICAgbCA9IFtpIGZvciBpIGlu IHJhbmdlKDUpCisgICAgICAgICBpZiBpIDwgM10KKyAgICBjY2MKKyAgICBhYmMgPSBvLm1hdGNo KDEsIDIsIDMpCisgICAgZGRkCisKK2RlZiBmKCk6CisgICAgcGFzcworIgorICAgKGhzLW1pbm9y LW1vZGUgMSkKKyAgIChocy1oaWRlLWFsbCkKKyAgIChzaG91bGQKKyAgICAoc3RyaW5nPQorICAg ICAocHl0aG9uLXRlc3RzLXZpc2libGUtc3RyaW5nKQorICAgICAiaWYgMDoKKworZGVmIGYoKToK KyIpKSkpCisKKyhlcnQtZGVmdGVzdCBweXRob24taGlkZXNob3ctaGlkZS1hbGwtMiAoKQorICAi U2hvdWxkIGhpZGUgY29tbWVudHMuIgorICAocHl0aG9uLXRlc3RzLXdpdGgtdGVtcC1idWZmZXIK KyAgICIKKyMgTXVsdGkgbGluZQorIyBjb21tZW50CisKK1wiXCJcIgorIyBNdWx0aSBsaW5lCisj IHN0cmluZworXCJcIlwiCisiCisgICAoaHMtbWlub3ItbW9kZSAxKQorICAgKGhzLWhpZGUtYWxs KQorICAgKHNob3VsZAorICAgIChzdHJpbmc9CisgICAgIChweXRob24tdGVzdHMtdmlzaWJsZS1z dHJpbmcpCisgICAgICIKKyMgTXVsdGkgbGluZQorCitcIlwiXCIKKyMgTXVsdGkgbGluZQorIyBz dHJpbmcKK1wiXCJcIgorIikpKSkKKworKGVydC1kZWZ0ZXN0IHB5dGhvbi1oaWRlc2hvdy1oaWRl LWFsbC0zICgpCisgICJTaG91bGQgbm90IGhpZGUgY29tbWVudHMgd2hlbiBgaHMtaGlkZS1jb21t ZW50cy13aGVuLWhpZGluZy1hbGwnIGlzIG5pbC4iCisgIChweXRob24tdGVzdHMtd2l0aC10ZW1w LWJ1ZmZlcgorICAgIgorIyBNdWx0aSBsaW5lCisjIGNvbW1lbnQKKworXCJcIlwiCisjIE11bHRp IGxpbmUKKyMgc3RyaW5nCitcIlwiXCIKKyIKKyAgIChocy1taW5vci1tb2RlIDEpCisgICAobGV0 ICgoaHMtaGlkZS1jb21tZW50cy13aGVuLWhpZGluZy1hbGwgbmlsKSkKKyAgICAgKGhzLWhpZGUt YWxsKSkKKyAgIChzaG91bGQKKyAgICAoc3RyaW5nPQorICAgICAocHl0aG9uLXRlc3RzLXZpc2li bGUtc3RyaW5nKQorICAgICAiCisjIE11bHRpIGxpbmUKKyMgY29tbWVudAorCitcIlwiXCIKKyMg TXVsdGkgbGluZQorIyBzdHJpbmcKK1wiXCJcIgorIikpKSkKKworKGVydC1kZWZ0ZXN0IHB5dGhv bi1oaWRlc2hvdy1oaWRlLWJsb2NrLTEgKCkKKyAgIlNob3VsZCBoaWRlIGN1cnJlbnQgYmxvY2su IgorICAocHl0aG9uLXRlc3RzLXdpdGgtdGVtcC1idWZmZXIKKyAgICIKK2lmIDA6CisKKyAgICBh YWEKKyAgICBsID0gW2kgZm9yIGkgaW4gcmFuZ2UoNSkKKyAgICAgICAgIGlmIGkgPCAzXQorICAg IGNjYworICAgIGFiYyA9IG8ubWF0Y2goMSwgMiwgMykKKyAgICBkZGQKKworZGVmIGYoKToKKyAg ICBwYXNzCisiCisgICAoaHMtbWlub3ItbW9kZSAxKQorICAgKHB5dGhvbi10ZXN0cy1sb29rLWF0 ICJkZGQiKQorICAgKGZvcndhcmQtbGluZSkKKyAgIChocy1oaWRlLWJsb2NrKQorICAgKHNob3Vs ZAorICAgIChzdHJpbmc9CisgICAgIChweXRob24tdGVzdHMtdmlzaWJsZS1zdHJpbmcpCisgICAg ICIKK2lmIDA6CisKK2RlZiBmKCk6CisgICAgcGFzcworIikpKSkKKwogCiAoZXJ0LWRlZnRlc3Qg cHl0aG9uLXRlc3RzLS1weXRob24tbmF2LWVuZC1vZi1zdGF0ZW1lbnQtLWluZmxvb3AgKCkKICAg IkNoZWNrcyB0aGF0IGBweXRob24tbmF2LWVuZC1vZi1zdGF0ZW1lbnQnIGRvZXNuJ3QgaW5mbG9v cCBpbiBhCg== --00000000000077088405e648e645--