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#50179: [PATCH] Add support for "bright" ANSI colors to ansi-color and term-mode Date: Mon, 23 Aug 2021 21:02:46 -0700 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="00000000000073295805ca463576" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="25885"; mail-complaints-to="usenet@ciao.gmane.io" To: 50179@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Aug 24 06:04:25 2021 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 1mINfi-0006Pn-Cr for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 24 Aug 2021 06:04:22 +0200 Original-Received: from localhost ([::1]:36750 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mINfg-0006BI-TR for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 24 Aug 2021 00:04:20 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:58456) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mINfP-0006B9-3k for bug-gnu-emacs@gnu.org; Tue, 24 Aug 2021 00:04:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:59582) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mINfO-0006h5-Rt for bug-gnu-emacs@gnu.org; Tue, 24 Aug 2021 00:04:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mINfO-0002Ls-Hr for bug-gnu-emacs@gnu.org; Tue, 24 Aug 2021 00:04: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: Tue, 24 Aug 2021 04:04:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 50179 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.16297777858969 (code B ref -1); Tue, 24 Aug 2021 04:04:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 24 Aug 2021 04:03:05 +0000 Original-Received: from localhost ([127.0.0.1]:42895 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mINeS-0002Kb-Od for submit@debbugs.gnu.org; Tue, 24 Aug 2021 00:03:05 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:40158) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mINeO-0002K9-9l for submit@debbugs.gnu.org; Tue, 24 Aug 2021 00:03:03 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:58292) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mINeO-00069a-2x for bug-gnu-emacs@gnu.org; Tue, 24 Aug 2021 00:03:00 -0400 Original-Received: from mail-ua1-x92a.google.com ([2607:f8b0:4864:20::92a]:41554) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mINeM-0005r7-2P for bug-gnu-emacs@gnu.org; Tue, 24 Aug 2021 00:02:59 -0400 Original-Received: by mail-ua1-x92a.google.com with SMTP id 75so9779410uav.8 for ; Mon, 23 Aug 2021 21:02:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=C3NxAfVxUYt1kpKR3/poy0TMpHxibuFy+gJyrWOTKPo=; b=kKXxg86VaiUH+OdA15Sr6XwIKnbO5GdAbGX21KlQKKlyFUhEguT5c7xQql/vdamKlE tSVOurIgUtlK9PqdhlbsFUnmAt092HiBrEPEDScB8gVNIxbu0NCxEfqFtDN5646oB76i 4vXKlAO9qBgeq4RvUi5gYuJiGfyU2QxyG0TaTDl+lzDKGuMwU8UEOuOQICHbGJZWRupl 5id1a+75J68sixaFBzC+PR9d4NM6tEnTTe//HTC2T5djiUrAGLu9NOQ5Bt6ZDkDmg0Vs ainB/V858V7TeGJ26QHAnfR9YpMSzubTTW0V9ueUpDXuhpp7xoxojH7zEajAQiD4Essd hD2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=C3NxAfVxUYt1kpKR3/poy0TMpHxibuFy+gJyrWOTKPo=; b=Nk4yZ7L3j71NfsBeiMKIkrs1/u6cbP2RHUMlujONABVSkI1q17tghIKp2r4xLHPqrr lJxMQtcGTN3mR9sXIHjSk5RXWXuIjqdJ57Dy9QTWZNxb0FrlD6/xWIY9Ltd/12zOa7DT R48IWj5t/XOl+k6GU0lbvDZx4C5RtteXYuMngPkpUbVIaGtZnsoO4XTX6UanxW7FNvLA IP4dInqPcKCIuEpSuBiEP2pPqJ9Zi8CcIJ6fXg/S6HoFghM96kZ90gsmfSFwJh6WisdK nNpmVwGp2QYWTHt8obRfmsClLJ+9cQpmWimts6rl8xWdQcOAQ1Y4erIyzzHetzeOTpN7 R/gw== X-Gm-Message-State: AOAM5322Y0gkUCAm1dT1E5Chpc0PTqn319Tarr6yTJe9UbSz/AdZFvtw hkLrCT6mZR28jX1+acg+uUY9Ub6/ajBmXu/sCIjUC7ex1nU= X-Google-Smtp-Source: ABdhPJwywyqCXYrNNqz/+ltEHGsZ0d0mn3uA0fKrx1qOYNLaqkb6l/XftMI50ohjfnsN8aZjYcO+8E9tgf2cl9sk3g4= X-Received: by 2002:a67:e343:: with SMTP id s3mr26648996vsm.33.1629777776802; Mon, 23 Aug 2021 21:02:56 -0700 (PDT) Received-SPF: pass client-ip=2607:f8b0:4864:20::92a; envelope-from=jporterbugs@gmail.com; helo=mail-ua1-x92a.google.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) BAYES_40=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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:212527 Archived-At: --00000000000073295805ca463576 Content-Type: text/plain; charset="UTF-8" Note: My copyright assignment paperwork is out of date, but I've already sent a message to assign@ to get it updated. Thus, these patches won't be able to merge right away. However, I wanted to start the review process now so that there's plenty of time for back-and-forth before Emacs 28.1 is released. With the administrative issues out of the way... these patches provide support for "bright" ANSI colors (SGR 90-97 and 100-107 for foreground and background, respectively)[1]. Most of the complexity here is due to the new defcustoms `*-bold-is-bright'. Enabling this results in ANSI "bold" text (SGR 1) to be rendered in the bright color palette (as well as being bold). This is a pretty common option in terminal emulators; all the ones I looked at[2] support it, and it's often the default behavior. For me, the main benefit of this option is so I can easily match the color palettes between Emacs and my terminal emulator. I've split this into two patches, one for 'ansi-color' and one for 'term-mode'. Despite the similarity in functionality, the implementations are pretty different. It might be nice if they could be unified somehow, but that may be more trouble than it's worth... - Jim [1] https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_(Select_Graphic_Rendition)_parameters [2] gnome-terminal, alacritty, and PuTTY --00000000000073295805ca463576 Content-Type: application/octet-stream; name="0001-Add-support-for-bright-ANSI-colors-in-ansi-color.patch" Content-Disposition: attachment; filename="0001-Add-support-for-bright-ANSI-colors-in-ansi-color.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kspjjv560 RnJvbSA3YmRhZjI0NGVjMWFiYTljYWJhZWI4YmUzY2JmZjdjNWI3OThmNGU4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5jb20+CkRh dGU6IE1vbiwgMjMgQXVnIDIwMjEgMTc6NTE6MDUgLTA3MDAKU3ViamVjdDogW1BBVENIIDEvMl0g QWRkIHN1cHBvcnQgZm9yICJicmlnaHQiIEFOU0kgY29sb3JzIGluIGFuc2ktY29sb3IKCiogbGlz cC9hbnNpLWNvbG9yLmVsIChhbnNpLWJyaWdodC1jb2xvci1uYW1lcy12ZWN0b3IpOiBOZXcgZGVm Y3VzdG9tLgooYW5zaS1jb2xvci1ib2xkLWlzLWJyaWdodCk6IE5ldyBkZWZjdXN0b20uCihhbnNp LWNvbG9yLS1maW5kLWZhY2UpOiBTb3J0IEFOU0kgY29kZXMgYW5kIGNoZWNrCidhbnNpLWNvbG9y LWJvbGQtaXMtYnJpZ2h0Jy4KKGFuc2ktY29sb3ItYXBwbHktc2VxdWVuY2UpOiBTdXBwb3J0IGJy aWdodCBBTlNJIGNvbG9ycy4KKGFuc2ktY29sb3ItLWZpbGwtY29sb3ItbWFwKTogTmV3IGZ1bmN0 aW9uLgooYW5zaS1jb2xvci1tYWtlLWNvbG9yLW1hcCk6IEFkZCBicmlnaHQgQU5TSSBjb2xvcnMu CihhbnNpLWNvbG9yLWdldC1mYWNlLTEpOiBBZGQgQlJJR0hUIHBhcmFtZXRlci4KKiB0ZXN0L2xp c3AvYW5zaS1jb2xvci10ZXN0cy5lbAooYW5zaS1jb2xvci1hcHBseS1vbi1yZWdpb24tYm9sZC1p cy1icmlnaHQtdGVzdCk6IE5ldyBmdW5jdGlvbi4KLS0tCiBldGMvTkVXUyAgICAgICAgICAgICAg ICAgICAgICB8ICAgNyArKwogbGlzcC9hbnNpLWNvbG9yLmVsICAgICAgICAgICAgfCAxMTYgKysr KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLQogdGVzdC9saXNwL2Fuc2ktY29sb3ItdGVz dHMuZWwgfCAgNTEgKysrKysrKysrKysrKy0tCiAzIGZpbGVzIGNoYW5nZWQsIDE0MCBpbnNlcnRp b25zKCspLCAzNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdT CmluZGV4IGIyMjFmMTM2MjQuLmI4ZTc3YmVlNjggMTAwNjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBi L2V0Yy9ORVdTCkBAIC0zNzUsNiArMzc1LDEzIEBAIGVtdWxhdG9ycyBieSB1c2luZyB0aGUgbmV3 IGlucHV0LW1ldGEtbW9kZSB3aXRoIHRoZSBzcGVjaWFsIHZhbHVlCiBUaGlzIHBhcmFtZXRlciwg c2ltaWxhciB0byAnZHJhZy13aXRoLWhlYWRlci1saW5lJywgYWxsb3dzIG1vdmluZyBmcmFtZXMK IGJ5IGRyYWdnaW5nIHRoZSB0YWIgbGluZXMgb2YgdGhlaXIgdG9wbW9zdCB3aW5kb3dzIHdpdGgg dGhlIG1vdXNlLgogCistLS0KKyoqICdhbnNpLWNvbG9yJyBub3cgc3VwcG9ydHMgImJyaWdodCIg Y29sb3IgY29kZXMuCisiQnJpZ2h0IiBBTlNJIGNvbG9yIGNvZGVzIGFyZSBub3cgZGlzcGxheWVk IHdoZW4gYXBwbHlpbmcgQU5TSSBjb2xvcgorZmlsdGVycyB1c2luZyB0aGUgY29sb3IgdmFsdWVz IGRlZmluZWQgaW4gJ2Fuc2ktYnJpZ2h0LWNvbG9yLW5hbWVzLXZlY3RvcicuCitJbiBhZGRpdGlv biwgYm9sZCB0ZXh0IHdpdGggcmVndWxhciBBTlNJIGNvbG9ycyBjYW4gYmUgZGlzcGxheWVkIGFz CisiYnJpZ2h0IiBpZiAnYW5zaS1jb2xvci1ib2xkLWlzLWJyaWdodCcgaXMgbm9uLW5pbC4KKwog DAogKiBFZGl0aW5nIENoYW5nZXMgaW4gRW1hY3MgMjguMQogCmRpZmYgLS1naXQgYS9saXNwL2Fu c2ktY29sb3IuZWwgYi9saXNwL2Fuc2ktY29sb3IuZWwKaW5kZXggNzlkYzgyMWVhMS4uMjM3NDkz MDRhMCAxMDA2NDQKLS0tIGEvbGlzcC9hbnNpLWNvbG9yLmVsCisrKyBiL2xpc3AvYW5zaS1jb2xv ci5lbApAQCAtMTUwLDYgKzE1MCw0OCBAQCBhbnNpLWNvbG9yLW5hbWVzLXZlY3RvcgogICA6dmVy c2lvbiAiMjQuNCIgOyBkZWZhdWx0IGNvbG9ycyBjb3BpZWQgZnJvbSBgeHRlcm0tc3RhbmRhcmQt Y29sb3JzJwogICA6Z3JvdXAgJ2Fuc2ktY29sb3JzKQogCisoZGVmY3VzdG9tIGFuc2ktYnJpZ2h0 LWNvbG9yLW5hbWVzLXZlY3RvcgorICBbImdyYXkzMCIgInJlZDIiICJncmVlbjIiICJ5ZWxsb3cy IiAiYmx1ZTEiICJtYWdlbnRhMiIgImN5YW4yIiAid2hpdGUiXQorICAiQ29sb3JzIHVzZWQgZm9y IFNHUiBjb250cm9sIHNlcXVlbmNlcyBkZXRlcm1pbmluZyBhIFwiYnJpZ2h0XCIgY29sb3IuCitU aGlzIHZlY3RvciBob2xkcyB0aGUgY29sb3JzIHVzZWQgZm9yIFNHUiBjb250cm9sIHNlcXVlbmNl cyBwYXJhbWV0ZXJzCis5MCB0byA5NyAoYnJpZ2h0IGZvcmVncm91bmQgY29sb3JzKSBhbmQgMTAw IHRvIDEwNyAoYnJpZ2h0YmFja2dyb3VuZAorY29sb3JzKS4KKworUGFyYW1ldGVyICAgQ29sb3IK KyAgOTAgIDEwMCAgIGJyaWdodCBibGFjaworICA5MSAgMTAxICAgYnJpZ2h0IHJlZAorICA5MiAg MTAyICAgYnJpZ2h0IGdyZWVuCisgIDkzICAxMDMgICBicmlnaHQgeWVsbG93CisgIDk0ICAxMDQg ICBicmlnaHQgYmx1ZQorICA5NSAgMTA1ICAgYnJpZ2h0IG1hZ2VudGEKKyAgOTYgIDEwNiAgIGJy aWdodCBjeWFuCisgIDk3ICAxMDcgICBicmlnaHQgd2hpdGUKKworVGhpcyB2ZWN0b3IgaXMgdXNl ZCBieSBgYW5zaS1jb2xvci1tYWtlLWNvbG9yLW1hcCcgdG8gY3JlYXRlIGEgY29sb3IKK21hcC4g IFRoaXMgY29sb3IgbWFwIGlzIHN0b3JlZCBpbiB0aGUgdmFyaWFibGUgYGFuc2ktY29sb3ItbWFw Jy4KKworRWFjaCBlbGVtZW50IG1heSBhbHNvIGJlIGEgY29ucyBjZWxsIHdoZXJlIHRoZSBjYXIg YW5kIGNkciBzcGVjaWZ5IHRoZQorZm9yZWdyb3VuZCBhbmQgYmFja2dyb3VuZCBjb2xvcnMsIHJl c3BlY3RpdmVseS4iCisgIDp0eXBlICcodmVjdG9yIChjaG9pY2UgY29sb3IgKGNvbnMgY29sb3Ig Y29sb3IpKQorICAgICAgICAgICAgICAgICAoY2hvaWNlIGNvbG9yIChjb25zIGNvbG9yIGNvbG9y KSkKKyAgICAgICAgICAgICAgICAgKGNob2ljZSBjb2xvciAoY29ucyBjb2xvciBjb2xvcikpCisg ICAgICAgICAgICAgICAgIChjaG9pY2UgY29sb3IgKGNvbnMgY29sb3IgY29sb3IpKQorICAgICAg ICAgICAgICAgICAoY2hvaWNlIGNvbG9yIChjb25zIGNvbG9yIGNvbG9yKSkKKyAgICAgICAgICAg ICAgICAgKGNob2ljZSBjb2xvciAoY29ucyBjb2xvciBjb2xvcikpCisgICAgICAgICAgICAgICAg IChjaG9pY2UgY29sb3IgKGNvbnMgY29sb3IgY29sb3IpKQorICAgICAgICAgICAgICAgICAoY2hv aWNlIGNvbG9yIChjb25zIGNvbG9yIGNvbG9yKSkpCisgIDpzZXQgJ2Fuc2ktY29sb3ItbWFwLXVw ZGF0ZQorICA6aW5pdGlhbGl6ZSAnY3VzdG9tLWluaXRpYWxpemUtZGVmYXVsdAorICA6dmVyc2lv biAiMjguMSIKKyAgOmdyb3VwICdhbnNpLWNvbG9ycykKKworKGRlZmN1c3RvbSBhbnNpLWNvbG9y LWJvbGQtaXMtYnJpZ2h0IG5pbAorICAiSWYgc2V0IHRvIG5vbi1uaWwsIGNvbWJpbmluZyBBTlNJ IGJvbGQgYW5kIGEgY29sb3IgcHJvZHVjZXMgdGhlIGJyaWdodAordmVyc2lvbiBvZiB0aGF0IGNv bG9yLiIKKyAgOnR5cGUgJ2Jvb2xlYW4KKyAgOnZlcnNpb24gIjI4LjEiCisgIDpncm91cCAnYW5z aS1jb2xvcnMpCisKIChkZWZjb25zdCBhbnNpLWNvbG9yLWNvbnRyb2wtc2VxLXJlZ2V4cAogICA7 OyBTZWUgRUNNQSA0OCwgc2VjdGlvbiA1LjQgIkNvbnRyb2wgU2VxdWVuY2VzIi4KICAgIlxlXFxb W1x4MzAtXHgzRl0qW1x4MjAtXHgyRl0qW1x4NDAtXHg3RV0iCkBAIC0zMDQsOSArMzQ2LDE0IEBA IGFuc2ktY29sb3ItZmlsdGVyLWFwcGx5CiAKIChkZWZ1biBhbnNpLWNvbG9yLS1maW5kLWZhY2Ug KGNvZGVzKQogICAiUmV0dXJuIHRoZSBmYWNlIGNvcnJlc3BvbmRpbmcgdG8gQ09ERVMuIgotICAo bGV0IChmYWNlcykKKyAgOzsgU29ydCB0aGUgY29kZXMgaW4gYXNjZW5kaW5nIG9yZGVyIHRvIGNh biBndWFyYW50ZWUgdGhhdCAiYm9sZCIgY29tZXMKKyAgOzsgYmVmb3JlIGFueSBvZiB0aGUgY29s b3JzLiAgVGhpcyBlbnN1cmVzIHRoYXQgYGFuc2ktY29sb3ItYm9sZC1pcy1icmlnaHQnCisgIDs7 IGlzIGFwcGxpZWQgY29ycmVjdGx5LgorICAobGV0IChmYWNlcyBicmlnaHQgKGNvZGVzIChzb3J0 IChjb3B5LXNlcXVlbmNlIGNvZGVzKSAjJzwpKSkKICAgICAod2hpbGUgY29kZXMKLSAgICAgIChs ZXQgKChmYWNlIChhbnNpLWNvbG9yLWdldC1mYWNlLTEgKHBvcCBjb2RlcykpKSkKKyAgICAgIChs ZXQgKChmYWNlIChhbnNpLWNvbG9yLWdldC1mYWNlLTEgKHBvcCBjb2RlcykgYnJpZ2h0KSkpCisg ICAgICAgICh3aGVuIChhbmQgYW5zaS1jb2xvci1ib2xkLWlzLWJyaWdodCAoZXEgZmFjZSAnYm9s ZCkpCisgICAgICAgICAgKHNldHEgYnJpZ2h0IHQpKQogCTs7IEluIHRoZSAoZGVmYXVsdCB1bmRl cmxpbmUpIGZhY2UsIHNheSwgdGhlIHZhbHVlIG9mIHRoZQogCTs7ICJ1bmRlcmxpbmUiIGF0dHJp YnV0ZSBvZiB0aGUgYGRlZmF1bHQnIGZhY2Ugd2lucy4KIAkodW5sZXNzIChlcSBmYWNlICdkZWZh dWx0KQpAQCAtNTcwLDExICs2MTcsMTEgQEAgYW5zaS1jb2xvci1hcHBseS1zZXF1ZW5jZQogCiBG b3IgZWFjaCBuZXcgY29kZSwgdGhlIGZvbGxvd2luZyBoYXBwZW5zOiBpZiBpdCBpcyAxLTcsIGFk ZCBpdCB0bwogdGhlIGxpc3Qgb2YgY29kZXM7IGlmIGl0IGlzIDIxLTI1IG9yIDI3LCBkZWxldGUg YXBwcm9wcmlhdGUKLXBhcmFtZXRlcnMgZnJvbSB0aGUgbGlzdCBvZiBjb2RlczsgaWYgaXQgaXMg MzAtMzcgcmVzcC4gMzksIHRoZQotZm9yZWdyb3VuZCBjb2xvciBjb2RlIGlzIHJlcGxhY2VkIG9y IGFkZGVkIHJlc3AuIGRlbGV0ZWQ7IGlmIGl0Ci1pcyA0MC00NyByZXNwLiA0OSwgdGhlIGJhY2tn cm91bmQgY29sb3IgY29kZSBpcyByZXBsYWNlZCBvciBhZGRlZAotcmVzcC4gZGVsZXRlZDsgYW55 IG90aGVyIGNvZGUgaXMgZGlzY2FyZGVkIHRvZ2V0aGVyIHdpdGggdGhlIG9sZAotY29kZXMuCUZp bmFsbHksIHRoZSBzbyBjaGFuZ2VkIGxpc3Qgb2YgY29kZXMgaXMgcmV0dXJuZWQuIgorcGFyYW1l dGVycyBmcm9tIHRoZSBsaXN0IG9mIGNvZGVzOyBpZiBpdCBpcyAzMC0zNyAob3IgOTAtOTcpIHJl c3AuIDM5LAordGhlIGZvcmVncm91bmQgY29sb3IgY29kZSBpcyByZXBsYWNlZCBvciBhZGRlZCBy ZXNwLiBkZWxldGVkOyBpZiBpdAoraXMgNDAtNDcgKG9yIDEwMC0xMDcpIHJlc3AuIDQ5LCB0aGUg YmFja2dyb3VuZCBjb2xvciBjb2RlIGlzIHJlcGxhY2VkCitvciBhZGRlZCByZXNwLiBkZWxldGVk OyBhbnkgb3RoZXIgY29kZSBpcyBkaXNjYXJkZWQgdG9nZXRoZXIgd2l0aCB0aGUKK29sZCBjb2Rl cy4gIEZpbmFsbHksIHRoZSBzbyBjaGFuZ2VkIGxpc3Qgb2YgY29kZXMgaXMgcmV0dXJuZWQuIgog ICAobGV0ICgobmV3LWNvZGVzIChhbnNpLWNvbG9yLXBhcnNlLXNlcXVlbmNlIGVzY2FwZS1zZXF1 ZW5jZSkpKQogICAgICh3aGlsZSBuZXctY29kZXMKICAgICAgIChsZXQqICgobmV3IChwb3AgbmV3 LWNvZGVzKSkKQEAgLTU5MSw3ICs2MzgsNyBAQCBhbnNpLWNvbG9yLWFwcGx5LXNlcXVlbmNlCiAJ CQkJCSgyMiAocmVtcSAxIGNvZGVzKSkKIAkJCQkJKDI1IChyZW1xIDYgY29kZXMpKQogCQkJCQko XyBjb2RlcykpKSkpCi0JCSgob3IgMyA0KSAobGV0ICgociAobW9kIG5ldyAxMCkpKQorCQkoKG9y IDMgNCA5IDEwKSAobGV0ICgociAobW9kIG5ldyAxMCkpKQogCQkJICAgICh1bmxlc3MgKD0gciA4 KQogCQkJICAgICAgKGxldCAoYmVnKQogCQkJCSh3aGlsZSAoYW5kIGNvZGVzICgvPSBxICgvIChj YXIgY29kZXMpIDEwKSkpCkBAIC02MDMsNiArNjUwLDE5IEBAIGFuc2ktY29sb3ItYXBwbHktc2Vx dWVuY2UKIAkJKF8gbmlsKSkpKSkKICAgICBjb2RlcykpCiAKKyhkZWZ1biBhbnNpLWNvbG9yLS1m aWxsLWNvbG9yLW1hcCAobWFwIG1hcC1pbmRleCBwcm9wZXJ0eSB2ZWN0b3IgZ2V0LWNvbG9yKQor ICAiRmlsbCBhIHJhbmdlIG9mIGNvbG9yIHZhbHVlcyBmcm9tIFZFQ1RPUiBhbmQgc3RvcmUgaW4g TUFQLgorCitTdGFydCBmaWxsaW5nIE1BUCBmcm9tIE1BUC1JTkRFWCwgYW5kIG1ha2UgZmFjZXMg Zm9yIFBST1BFUlRZIChgZm9yZWdyb3VuZCcKK29yIGBiYWNrZ3JvdW5kJykuIEdFVC1DT0xPUiBp cyBhIGZ1bmN0aW9uIHRha2luZyBhbiBlbGVtZW50IG9mIFZFQ1RPUiBhbmQKK3JldHVybmluZyB0 aGUgY29sb3IgdmFsdWUgdG8gdXNlLiIKKyAgKG1hcGMKKyAgIChsYW1iZGEgKGUpCisgICAgIChh c2V0IG1hcCBtYXAtaW5kZXgKKyAgICAgICAgICAgKGFuc2ktY29sb3ItbWFrZS1mYWNlIHByb3Bl cnR5IChmdW5jYWxsIGdldC1jb2xvciBlKSkpCisgICAgIChzZXRxIG1hcC1pbmRleCAoMSsgbWFw LWluZGV4KSkgKQorICAgdmVjdG9yKSkKKwogKGRlZnVuIGFuc2ktY29sb3ItbWFrZS1jb2xvci1t YXAgKCkKICAgIkNyZWF0ZXMgYSB2ZWN0b3Igb2YgZmFjZSBkZWZpbml0aW9ucyBhbmQgcmV0dXJu cyBpdC4KIApAQCAtNjExLDcgKzY3MSw3IEBAIGFuc2ktY29sb3ItbWFrZS1jb2xvci1tYXAKIAog VGhlIGZhY2UgZGVmaW5pdGlvbnMgYXJlIGJhc2VkIHVwb24gdGhlIHZhcmlhYmxlcwogYGFuc2kt Y29sb3ItZmFjZXMtdmVjdG9yJyBhbmQgYGFuc2ktY29sb3ItbmFtZXMtdmVjdG9yJy4iCi0gIChs ZXQgKChtYXAgKG1ha2UtdmVjdG9yIDUwIG5pbCkpCisgIChsZXQgKChtYXAgKG1ha2UtdmVjdG9y IDExMCBuaWwpKQogICAgICAgICAoaW5kZXggMCkpCiAgICAgOzsgbWlzY2VsbGFuZW91cyBhdHRy aWJ1dGVzCiAgICAgKG1hcGMKQEAgLTYyMCwyMyArNjgwLDIxIEBAIGFuc2ktY29sb3ItbWFrZS1j b2xvci1tYXAKICAgICAgICAoc2V0cSBpbmRleCAoMSsgaW5kZXgpKSApCiAgICAgIGFuc2ktY29s b3ItZmFjZXMtdmVjdG9yKQogICAgIDs7IGZvcmVncm91bmQgYXR0cmlidXRlcwotICAgIChzZXRx IGluZGV4IDMwKQotICAgIChtYXBjCi0gICAgIChsYW1iZGEgKGUpCi0gICAgICAgKGFzZXQgbWFw IGluZGV4Ci0gICAgICAgICAgICAgKGFuc2ktY29sb3ItbWFrZS1mYWNlICdmb3JlZ3JvdW5kCi0g ICAgICAgICAgICAgICAgICAgICAgICAgKGlmIChjb25zcCBlKSAoY2FyIGUpIGUpKSkKLSAgICAg ICAoc2V0cSBpbmRleCAoMSsgaW5kZXgpKSApCi0gICAgIGFuc2ktY29sb3ItbmFtZXMtdmVjdG9y KQorICAgIChhbnNpLWNvbG9yLS1maWxsLWNvbG9yLW1hcAorICAgICBtYXAgMzAgJ2ZvcmVncm91 bmQgYW5zaS1jb2xvci1uYW1lcy12ZWN0b3IKKyAgICAgKGxhbWJkYSAoZSkgKGlmIChjb25zcCBl KSAoY2FyIGUpIGUpKSkKICAgICA7OyBiYWNrZ3JvdW5kIGF0dHJpYnV0ZXMKLSAgICAoc2V0cSBp bmRleCA0MCkKLSAgICAobWFwYwotICAgICAobGFtYmRhIChlKQotICAgICAgIChhc2V0IG1hcCBp bmRleAotICAgICAgICAgICAgIChhbnNpLWNvbG9yLW1ha2UtZmFjZSAnYmFja2dyb3VuZAotICAg ICAgICAgICAgICAgICAgICAgICAgIChpZiAoY29uc3AgZSkgKGNkciBlKSBlKSkpCi0gICAgICAg KHNldHEgaW5kZXggKDErIGluZGV4KSkgKQotICAgICBhbnNpLWNvbG9yLW5hbWVzLXZlY3RvcikK KyAgICAoYW5zaS1jb2xvci0tZmlsbC1jb2xvci1tYXAKKyAgICAgbWFwIDQwICdiYWNrZ3JvdW5k IGFuc2ktY29sb3ItbmFtZXMtdmVjdG9yCisgICAgIChsYW1iZGEgKGUpIChpZiAoY29uc3AgZSkg KGNkciBlKSBlKSkpCisgICAgOzsgYnJpZ2h0IGZvcmVncm91bmQgYXR0cmlidXRlcworICAgIChh bnNpLWNvbG9yLS1maWxsLWNvbG9yLW1hcAorICAgICBtYXAgOTAgJ2ZvcmVncm91bmQgYW5zaS1i cmlnaHQtY29sb3ItbmFtZXMtdmVjdG9yCisgICAgIChsYW1iZGEgKGUpIChpZiAoY29uc3AgZSkg KGNhciBlKSBlKSkpCisgICAgOzsgYnJpZ2h0IGJhY2tncm91bmQgYXR0cmlidXRlcworICAgIChh bnNpLWNvbG9yLS1maWxsLWNvbG9yLW1hcAorICAgICBtYXAgMTAwICdiYWNrZ3JvdW5kIGFuc2kt YnJpZ2h0LWNvbG9yLW5hbWVzLXZlY3RvcgorICAgICAobGFtYmRhIChlKSAoaWYgKGNvbnNwIGUp IChjZHIgZSkgZSkpKQogICAgIG1hcCkpCiAKIChkZWZ2YXIgYW5zaS1jb2xvci1tYXAgKGFuc2kt Y29sb3ItbWFrZS1jb2xvci1tYXApCkBAIC02NjAsOSArNzE4LDEzIEBAIGFuc2ktY29sb3ItbWFw LXVwZGF0ZQogICAoc2V0LWRlZmF1bHQgc3ltYm9sIHZhbHVlKQogICAoc2V0cSBhbnNpLWNvbG9y LW1hcCAoYW5zaS1jb2xvci1tYWtlLWNvbG9yLW1hcCkpKQogCi0oZGVmdW4gYW5zaS1jb2xvci1n ZXQtZmFjZS0xIChhbnNpLWNvZGUpCisoZGVmdW4gYW5zaS1jb2xvci1nZXQtZmFjZS0xIChhbnNp LWNvZGUgJm9wdGlvbmFsIGJyaWdodCkKICAgIkdldCBmYWNlIGRlZmluaXRpb24gZnJvbSBgYW5z aS1jb2xvci1tYXAnLgotQU5TSS1DT0RFIGlzIHVzZWQgYXMgYW4gaW5kZXggaW50byB0aGUgdmVj dG9yLiIKK0FOU0ktQ09ERSBpcyB1c2VkIGFzIGFuIGluZGV4IGludG8gdGhlIHZlY3Rvci4gIEJS SUdIVCwgaWYgbm9uLW5pbCwKK3JlcXVlc3RzIFwiYnJpZ2h0XCIgQU5TSSBjb2xvcnMsIGV2ZW4g aWYgQU5TSS1DT0RFIGlzIGEgbm9ybWFsLWludGVuc2l0eQorY29sb3IuIgorICAod2hlbiAoYW5k IGJyaWdodCAoPD0gMzAgYW5zaS1jb2RlIDQ5KSkKKyAgICAoc2V0cSBhbnNpLWNvZGUgKCsgYW5z aS1jb2RlIDYwKSkpCiAgIChjb25kaXRpb24tY2FzZSBuaWwKICAgICAgIChhcmVmIGFuc2ktY29s b3ItbWFwIGFuc2ktY29kZSkKICAgICAoYXJncy1vdXQtb2YtcmFuZ2UgbmlsKSkpCmRpZmYgLS1n aXQgYS90ZXN0L2xpc3AvYW5zaS1jb2xvci10ZXN0cy5lbCBiL3Rlc3QvbGlzcC9hbnNpLWNvbG9y LXRlc3RzLmVsCmluZGV4IDEwN2RjOGU0MDAuLmM5NDU2MWJkYTEgMTAwNjQ0Ci0tLSBhL3Rlc3Qv bGlzcC9hbnNpLWNvbG9yLXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlzcC9hbnNpLWNvbG9yLXRlc3Rz LmVsCkBAIC0yNSwxNyArMjUsNTQgQEAKIDs7OyBDb2RlOgogCiAocmVxdWlyZSAnYW5zaS1jb2xv cikKKyhldmFsLXdoZW4tY29tcGlsZSAocmVxdWlyZSAnY2wtbGliKSkKIAotKGRlZnZhciB0ZXN0 LXN0cmluZ3MgJygoIlxlWzMzbUhlbGxvIFdvcmxkXGVbMG0iIC4gIkhlbGxvIFdvcmxkIikKLSAg ICAgICAgICAgICAgICAgICAgICAgKCJcZVsxbVxlWzNtXGVbNW1ib2xkIGl0YWxpY3MgYmxpbmtc ZVswbSIgLiAiYm9sZCBpdGFsaWNzIGJsaW5rIikpKQorKGRlZnZhciB5ZWxsb3cgKGFyZWYgYW5z aS1jb2xvci1uYW1lcy12ZWN0b3IgMykpCisoZGVmdmFyIGJyaWdodC15ZWxsb3cgKGFyZWYgYW5z aS1icmlnaHQtY29sb3ItbmFtZXMtdmVjdG9yIDMpKQorCisoZGVmdmFyIHRlc3Qtc3RyaW5ncwor ICBgKCgiXGVbMzNtSGVsbG8gV29ybGRcZVswbSIgIkhlbGxvIFdvcmxkIgorICAgICAoZm9yZWdy b3VuZC1jb2xvciAuICx5ZWxsb3cpKQorICAgICgiXGVbNDNtSGVsbG8gV29ybGRcZVswbSIgIkhl bGxvIFdvcmxkIgorICAgICAoYmFja2dyb3VuZC1jb2xvciAuICx5ZWxsb3cpKQorICAgICgiXGVb OTNtSGVsbG8gV29ybGRcZVswbSIgIkhlbGxvIFdvcmxkIgorICAgICAoZm9yZWdyb3VuZC1jb2xv ciAuICxicmlnaHQteWVsbG93KSkKKyAgICAoIlxlWzEwM21IZWxsbyBXb3JsZFxlWzBtIiAiSGVs bG8gV29ybGQiCisgICAgIChiYWNrZ3JvdW5kLWNvbG9yIC4gLGJyaWdodC15ZWxsb3cpKQorICAg ICgiXGVbMTszM21IZWxsbyBXb3JsZFxlWzBtIiAiSGVsbG8gV29ybGQiCisgICAgIChib2xkIChm b3JlZ3JvdW5kLWNvbG9yIC4gLHllbGxvdykpCisgICAgIChib2xkIChmb3JlZ3JvdW5kLWNvbG9y IC4gLGJyaWdodC15ZWxsb3cpKSkKKyAgICAoIlxlWzMzOzFtSGVsbG8gV29ybGRcZVswbSIgIkhl bGxvIFdvcmxkIgorICAgICAoYm9sZCAoZm9yZWdyb3VuZC1jb2xvciAuICx5ZWxsb3cpKQorICAg ICAoYm9sZCAoZm9yZWdyb3VuZC1jb2xvciAuICxicmlnaHQteWVsbG93KSkpCisgICAgKCJcZVsx bVxlWzMzbUhlbGxvIFdvcmxkXGVbMG0iICJIZWxsbyBXb3JsZCIKKyAgICAgKGJvbGQgKGZvcmVn cm91bmQtY29sb3IgLiAseWVsbG93KSkKKyAgICAgKGJvbGQgKGZvcmVncm91bmQtY29sb3IgLiAs YnJpZ2h0LXllbGxvdykpKQorICAgICgiXGVbMzNtXGVbMW1IZWxsbyBXb3JsZFxlWzBtIiAiSGVs bG8gV29ybGQiCisgICAgIChib2xkIChmb3JlZ3JvdW5kLWNvbG9yIC4gLHllbGxvdykpCisgICAg IChib2xkIChmb3JlZ3JvdW5kLWNvbG9yIC4gLGJyaWdodC15ZWxsb3cpKSkKKyAgICAoIlxlWzFt XGVbM21cZVs1bWJvbGQgaXRhbGljcyBibGlua1xlWzBtIiAiYm9sZCBpdGFsaWNzIGJsaW5rIgor ICAgICAoYm9sZCBpdGFsaWMgc3VjY2VzcykpKSkKIAogKGVydC1kZWZ0ZXN0IGFuc2ktY29sb3It YXBwbHktb24tcmVnaW9uLXRlc3QgKCkKLSAgICAoZG9saXN0IChwYWlyIHRlc3Qtc3RyaW5ncykK LSAgICAgICh3aXRoLXRlbXAtYnVmZmVyCi0gICAgICAgIChpbnNlcnQgKGNhciBwYWlyKSkKKyAg KHBjYXNlLWRvbGlzdCAoYCgsaW5wdXQgLHRleHQgLGZhY2UpIHRlc3Qtc3RyaW5ncykKKyAgICAo d2l0aC10ZW1wLWJ1ZmZlcgorICAgICAgKGluc2VydCBpbnB1dCkKKyAgICAgIChhbnNpLWNvbG9y LWFwcGx5LW9uLXJlZ2lvbiAocG9pbnQtbWluKSAocG9pbnQtbWF4KSkKKyAgICAgIChzaG91bGQg KGVxdWFsIChidWZmZXItc3RyaW5nKSB0ZXh0KSkKKyAgICAgIChzaG91bGQgKGVxdWFsIChnZXQt Y2hhci1wcm9wZXJ0eSAocG9pbnQtbWluKSAnZmFjZSkgZmFjZSkpCisgICAgICAoc2hvdWxkIChu b3QgKGVxdWFsIChvdmVybGF5cy1hdCAocG9pbnQtbWluKSkgbmlsKSkpKSkpCisKKyhlcnQtZGVm dGVzdCBhbnNpLWNvbG9yLWFwcGx5LW9uLXJlZ2lvbi1ib2xkLWlzLWJyaWdodC10ZXN0ICgpCisg IChwY2FzZS1kb2xpc3QgKGAoLGlucHV0ICx0ZXh0ICxmYWNlICxicmlnaHQtZmFjZSkgdGVzdC1z dHJpbmdzKQorICAgICh3aXRoLXRlbXAtYnVmZmVyCisgICAgICAobGV0ICgoYW5zaS1jb2xvci1i b2xkLWlzLWJyaWdodCB0KSkKKyAgICAgICAgKGluc2VydCBpbnB1dCkKICAgICAgICAgKGFuc2kt Y29sb3ItYXBwbHktb24tcmVnaW9uIChwb2ludC1taW4pIChwb2ludC1tYXgpKQotICAgICAgICAo c2hvdWxkIChlcXVhbCAoYnVmZmVyLXN0cmluZykgKGNkciBwYWlyKSkpCi0gICAgICAgIChzaG91 bGQgKG5vdCAoZXF1YWwgKG92ZXJsYXlzLWF0IChwb2ludC1taW4pKSBuaWwpKSkpKSkKKyAgICAg ICAgKHNob3VsZCAoZXF1YWwgKGJ1ZmZlci1zdHJpbmcpIHRleHQpKQorICAgICAgICAoc2hvdWxk IChlcXVhbCAoZ2V0LWNoYXItcHJvcGVydHkgKHBvaW50LW1pbikgJ2ZhY2UpCisgICAgICAgICAg ICAgICAgICAgICAgIChvciBicmlnaHQtZmFjZSBmYWNlKSkpCisgICAgICAgIChzaG91bGQgKG5v dCAoZXF1YWwgKG92ZXJsYXlzLWF0IChwb2ludC1taW4pKSBuaWwpKSkpKSkpCiAKIChlcnQtZGVm dGVzdCBhbnNpLWNvbG9yLWFwcGx5LW9uLXJlZ2lvbi1wcmVzZXJ2aW5nLXRlc3QgKCkKICAgICAo ZG9saXN0IChwYWlyIHRlc3Qtc3RyaW5ncykKLS0gCjIuMjUuMQoK --00000000000073295805ca463576 Content-Type: application/octet-stream; name="0002-Add-support-for-bright-ANSI-colors-in-term-mode.patch" Content-Disposition: attachment; filename="0002-Add-support-for-bright-ANSI-colors-in-term-mode.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kspjjv5b1 RnJvbSA2ODA5OGM4ZjVmZjI3ZjMwZjgzNTk1MzIxNGZiMTc3Y2RhMGE3YTVlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5jb20+CkRh dGU6IE1vbiwgMjMgQXVnIDIwMjEgMjA6MTI6MTAgLTA3MDAKU3ViamVjdDogW1BBVENIIDIvMl0g QWRkIHN1cHBvcnQgZm9yICJicmlnaHQiIEFOU0kgY29sb3JzIGluIHRlcm0tbW9kZQoKKiBsaXN0 L3Rlcm0uZWwgKGFuc2ktdGVybS1jb2xvci12ZWN0b3IpOiBBZGQgbmV3IGZhY2VzLgoodGVybS1j b2xvci13aGl0ZSk6IFR3ZWFrIGNvbG9ycy4KKHRlcm0tY29sb3ItYnJpZ2h0LSopOiBOZXcgZmFj ZXMuCih0ZXJtLWNvbG9yLWJvbGQtaXMtYnJpZ2h0KTogTmV3IGRlZmN1c3RvbS4KKHRlcm0tLW1h eWJlLWJyaWdodGVuLWNvbG9yKTogTmV3IGZ1bmN0aW9uLgoodGVybS1oYW5kbGUtY29sb3JzLWFy cmF5KTogSGFuZGxlIGJyaWdodCBjb2xvcnMuCiogdGVzdC9saXNwL3Rlcm0tdGVzdHMuZWwgKHRl cm0tY29sb3JzLCB0ZXJtLWNvbG9ycy1ib2xkLWlzLWJyaWdodCk6Ck5ldyBmdW5jdGlvbnMuCi0t LQogZXRjL05FV1MgICAgICAgICAgICAgICAgfCAgIDcgKysKIGxpc3AvdGVybS5lbCAgICAgICAg ICAgIHwgMTQwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KIHRlc3Qv bGlzcC90ZXJtLXRlc3RzLmVsIHwgIDU5ICsrKysrKysrKysrKysrKystCiAzIGZpbGVzIGNoYW5n ZWQsIDE3NCBpbnNlcnRpb25zKCspLCAzMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9ldGMv TkVXUyBiL2V0Yy9ORVdTCmluZGV4IGI4ZTc3YmVlNjguLmRkYzczZDAxYWYgMTAwNjQ0Ci0tLSBh L2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBAIC0yMzY3LDYgKzIzNjcsMTMgQEAgYmFzZWQgb24g dGhlIGN1cnJlbnQgd2luZG93IHNpemUuICBJbiBwcmV2aW91cyB2ZXJzaW9ucyBvZiBFbWFjcywg dGhpcwogd2FzIGFsd2F5cyBkb25lIChhbmQgdGhhdCBjb3VsZCBsZWFkIHRvIG9kZCBkaXNwbGF5 cyB3aGVuIHJlc2l6aW5nIHRoZQogd2luZG93IGFmdGVyIHN0YXJ0aW5nKS4gIFRoaXMgdmFyaWFi bGUgZGVmYXVsdHMgdG8gbmlsLgogCistLS0KKyoqKiAndGVybS1tb2RlJyBub3cgc3VwcG9ydHMg ImJyaWdodCIgY29sb3IgY29kZXMuCisiQnJpZ2h0IiBBTlNJIGNvbG9yIGNvZGVzIGFyZSBub3cg ZGlzcGxheWVkIHVzaW5nIHRoZSBjb2xvciB2YWx1ZXMKK2RlZmluZWQgaW4gJ3Rlcm0tY29sb3It YnJpZ2h0LSonLiAgSW4gYWRkaXRpb24sIGJvbGQgdGV4dCB3aXRoIHJlZ3VsYXIKK0FOU0kgY29s b3JzIGNhbiBiZSBkaXNwbGF5ZWQgYXMgImJyaWdodCIgaWYgJ3Rlcm0tY29sb3ItYm9sZC1pcy1i cmlnaHQnCitpcyBub24tbmlsLgorCiAqKiBXaWRnZXQKIAogKysrCmRpZmYgLS1naXQgYS9saXNw L3Rlcm0uZWwgYi9saXNwL3Rlcm0uZWwKaW5kZXggYjM4NzBhODE0ZC4uMzk4YjYxYjYzMCAxMDA2 NDQKLS0tIGEvbGlzcC90ZXJtLmVsCisrKyBiL2xpc3AvdGVybS5lbApAQCAtNzI3LDcgKzcyNywx NSBAQCBhbnNpLXRlcm0tY29sb3ItdmVjdG9yCiAgICB0ZXJtLWNvbG9yLWJsdWUKICAgIHRlcm0t Y29sb3ItbWFnZW50YQogICAgdGVybS1jb2xvci1jeWFuCi0gICB0ZXJtLWNvbG9yLXdoaXRlXSkK KyAgIHRlcm0tY29sb3Itd2hpdGUKKyAgIHRlcm0tY29sb3ItYnJpZ2h0LWJsYWNrCisgICB0ZXJt LWNvbG9yLWJyaWdodC1yZWQKKyAgIHRlcm0tY29sb3ItYnJpZ2h0LWdyZWVuCisgICB0ZXJtLWNv bG9yLWJyaWdodC15ZWxsb3cKKyAgIHRlcm0tY29sb3ItYnJpZ2h0LWJsdWUKKyAgIHRlcm0tY29s b3ItYnJpZ2h0LW1hZ2VudGEKKyAgIHRlcm0tY29sb3ItYnJpZ2h0LWN5YW4KKyAgIHRlcm0tY29s b3ItYnJpZ2h0LXdoaXRlXSkKIAogKGRlZmN1c3RvbSB0ZXJtLWRlZmF1bHQtZmctY29sb3Igbmls CiAgICJJZiBub24tbmlsLCBkZWZhdWx0IGNvbG9yIGZvciBmb3JlZ3JvdW5kIGluIFRlcm0gbW9k ZS4iCkBAIC03OTcsMTAgKzgwNSw1NyBAQCB0ZXJtLWNvbG9yLWN5YW4KICAgOmdyb3VwICd0ZXJt KQogCiAoZGVmZmFjZSB0ZXJtLWNvbG9yLXdoaXRlCi0gICcoKHQgOmZvcmVncm91bmQgIndoaXRl IiA6YmFja2dyb3VuZCAid2hpdGUiKSkKKyAgJygodCA6Zm9yZWdyb3VuZCAiZ3JleTkwIiA6YmFj a2dyb3VuZCAiZ3JheTkwIikpCiAgICJGYWNlIHVzZWQgdG8gcmVuZGVyIHdoaXRlIGNvbG9yIGNv ZGUuIgogICA6Z3JvdXAgJ3Rlcm0pCiAKKyhkZWZmYWNlIHRlcm0tY29sb3ItYnJpZ2h0LWJsYWNr CisgICcoKHQgOmZvcmVncm91bmQgImdyYXkzMCIgOmJhY2tncm91bmQgImdyYXkzMCIpKQorICAi RmFjZSB1c2VkIHRvIHJlbmRlciBicmlnaHQgYmxhY2sgY29sb3IgY29kZS4iCisgIDpncm91cCAn dGVybSkKKworKGRlZmZhY2UgdGVybS1jb2xvci1icmlnaHQtcmVkCisgICcoKHQgOmZvcmVncm91 bmQgInJlZDIiIDpiYWNrZ3JvdW5kICJyZWQyIikpCisgICJGYWNlIHVzZWQgdG8gcmVuZGVyIGJy aWdodCByZWQgY29sb3IgY29kZS4iCisgIDpncm91cCAndGVybSkKKworKGRlZmZhY2UgdGVybS1j b2xvci1icmlnaHQtZ3JlZW4KKyAgJygodCA6Zm9yZWdyb3VuZCAiZ3JlZW4yIiA6YmFja2dyb3Vu ZCAiZ3JlZW4yIikpCisgICJGYWNlIHVzZWQgdG8gcmVuZGVyIGJyaWdodCBncmVlbiBjb2xvciBj b2RlLiIKKyAgOmdyb3VwICd0ZXJtKQorCisoZGVmZmFjZSB0ZXJtLWNvbG9yLWJyaWdodC15ZWxs b3cKKyAgJygodCA6Zm9yZWdyb3VuZCAieWVsbG93MiIgOmJhY2tncm91bmQgInllbGxvdzIiKSkK KyAgIkZhY2UgdXNlZCB0byByZW5kZXIgYnJpZ2h0IHllbGxvdyBjb2xvciBjb2RlLiIKKyAgOmdy b3VwICd0ZXJtKQorCisoZGVmZmFjZSB0ZXJtLWNvbG9yLWJyaWdodC1ibHVlCisgICcoKHQgOmZv cmVncm91bmQgImJsdWUxIiA6YmFja2dyb3VuZCAiYmx1ZTEiKSkKKyAgIkZhY2UgdXNlZCB0byBy ZW5kZXIgYnJpZ2h0IGJsdWUgY29sb3IgY29kZS4iCisgIDpncm91cCAndGVybSkKKworKGRlZmZh Y2UgdGVybS1jb2xvci1icmlnaHQtbWFnZW50YQorICAnKCh0IDpmb3JlZ3JvdW5kICJtYWdlbnRh MiIgOmJhY2tncm91bmQgIm1hZ2VudGEyIikpCisgICJGYWNlIHVzZWQgdG8gcmVuZGVyIGJyaWdo dCBtYWdlbnRhIGNvbG9yIGNvZGUuIgorICA6Z3JvdXAgJ3Rlcm0pCisKKyhkZWZmYWNlIHRlcm0t Y29sb3ItYnJpZ2h0LWN5YW4KKyAgJygodCA6Zm9yZWdyb3VuZCAiY3lhbjIiIDpiYWNrZ3JvdW5k ICJjeWFuMiIpKQorICAiRmFjZSB1c2VkIHRvIHJlbmRlciBicmlnaHQgY3lhbiBjb2xvciBjb2Rl LiIKKyAgOmdyb3VwICd0ZXJtKQorCisoZGVmZmFjZSB0ZXJtLWNvbG9yLWJyaWdodC13aGl0ZQor ICAnKCh0IDpmb3JlZ3JvdW5kICJ3aGl0ZSIgOmJhY2tncm91bmQgIndoaXRlIikpCisgICJGYWNl IHVzZWQgdG8gcmVuZGVyIGJyaWdodCB3aGl0ZSBjb2xvciBjb2RlLiIKKyAgOmdyb3VwICd0ZXJt KQorCisoZGVmY3VzdG9tIHRlcm0tY29sb3ItYm9sZC1pcy1icmlnaHQgbmlsCisgICJJZiBzZXQg dG8gbm9uLW5pbCwgY29tYmluaW5nIEFOU0kgYm9sZCBhbmQgYSBjb2xvciBwcm9kdWNlcyB0aGUg YnJpZ2h0Cit2ZXJzaW9uIG9mIHRoYXQgY29sb3IuIgorICA6Z3JvdXAgJ3Rlcm0KKyAgOnR5cGUg J2Jvb2xlYW4KKyAgOnZlcnNpb24gIjI4LjEiKQorCiAoZGVmY3VzdG9tIHRlcm0tYnVmZmVyLW1h eGltdW0tc2l6ZSA4MTkyCiAgICJUaGUgbWF4aW11bSBzaXplIGluIGxpbmVzIGZvciB0ZXJtIGJ1 ZmZlcnMuCiBUZXJtIGJ1ZmZlcnMgYXJlIHRydW5jYXRlZCBmcm9tIHRoZSB0b3AgdG8gYmUgbm8g Z3JlYXRlciB0aGFuIHRoaXMgbnVtYmVyLgpAQCAtMzIyNSw2ICszMjgwLDE1IEBAIHRlcm0tcmVz ZXQtdGVybWluYWwKICAgOzsgRklYTUU6IE5vIGlkZWEgd2h5IHRoaXMgaXMgaGVyZSwgaXQgbG9v a3Mgd3JvbmcuICAtLVN0ZWYKICAgKHNldHEgdGVybS1hbnNpLWZhY2UtYWxyZWFkeS1kb25lIG5p bCkpCiAKKyhkZWZ1biB0ZXJtLS1tYXliZS1icmlnaHRlbi1jb2xvciAoY29sb3IgYm9sZCkKKyAg IlBvc3NpYmx5IGNvbnZlcnQgQ09MT1IgdG8gaXRzIGJyaWdodCB2YXJpYW50LgorQ09MT1IgaXMg YW4gaW5kZXggaW50byBgYW5zaS10ZXJtLWNvbG9yLXZlY3RvcicuICBJZiBCT0xEIGFuZAorYHRl cm0tY29sb3ItYm9sZC1pcy1icmlnaHQnIGFyZSBub24tbmlsIGFuZCBDT0xPUiBpcyBhIHJlZ3Vs YXIgY29sb3IsCityZXR1cm4gdGhlIGJyaWdodCB2ZXJzaW9uIG9mIENPTE9SOyBvdGhlcndpc2Us IHJldHVybiBDT0xPUi4iCisgIChpZiAoYW5kIHRlcm0tY29sb3ItYm9sZC1pcy1icmlnaHQgYm9s ZCAoPD0gMSBjb2xvciA4KSkKKyAgICAgICgrIGNvbG9yIDgpCisgICAgY29sb3IpKQorCiA7OyBO ZXcgZnVuY3Rpb24gdG8gZGVhbCB3aXRoIGFuc2kgY29sb3JpemVkIG91dHB1dCwgYXMgeW91IGNh biBzZWUgeW91IGNhbgogOzsgaGF2ZSBhbnkgYm9sZC91bmRlcmxpbmUvZmcvYmcvcmV2ZXJzZSBj b21iaW5hdGlvbi4gLW1tCiAKQEAgLTMyNjQsNiArMzMyOCwxMCBAQCB0ZXJtLWhhbmRsZS1jb2xv cnMtYXJyYXkKICAgICgoYW5kICg+PSBwYXJhbWV0ZXIgMzApICg8PSBwYXJhbWV0ZXIgMzcpKQog ICAgIChzZXRxIHRlcm0tYW5zaS1jdXJyZW50LWNvbG9yICgtIHBhcmFtZXRlciAyOSkpKQogCisg ICA7OyBCcmlnaHQgZm9yZWdyb3VuZAorICAgKChhbmQgKD49IHBhcmFtZXRlciA5MCkgKDw9IHBh cmFtZXRlciA5NykpCisgICAgKHNldHEgdGVybS1hbnNpLWN1cnJlbnQtY29sb3IgKC0gcGFyYW1l dGVyIDgxKSkpCisKICAgIDs7IFJlc2V0IGZvcmVncm91bmQKICAgICgoZXEgcGFyYW1ldGVyIDM5 KQogICAgIChzZXRxIHRlcm0tYW5zaS1jdXJyZW50LWNvbG9yIDApKQpAQCAtMzI3Miw2ICszMzQw LDEwIEBAIHRlcm0taGFuZGxlLWNvbG9ycy1hcnJheQogICAgKChhbmQgKD49IHBhcmFtZXRlciA0 MCkgKDw9IHBhcmFtZXRlciA0NykpCiAgICAgKHNldHEgdGVybS1hbnNpLWN1cnJlbnQtYmctY29s b3IgKC0gcGFyYW1ldGVyIDM5KSkpCiAKKyAgIDs7IEJyaWdodCBmb3JlZ3JvdW5kCisgICAoKGFu ZCAoPj0gcGFyYW1ldGVyIDEwMCkgKDw9IHBhcmFtZXRlciAxMDcpKQorICAgIChzZXRxIHRlcm0t YW5zaS1jdXJyZW50LWJnLWNvbG9yICgtIHBhcmFtZXRlciA5MSkpKQorCiAgICA7OyBSZXNldCBi YWNrZ3JvdW5kCiAgICAoKGVxIHBhcmFtZXRlciA0OSkKICAgICAoc2V0cSB0ZXJtLWFuc2ktY3Vy cmVudC1iZy1jb2xvciAwKSkKQEAgLTMyOTAsMzcgKzMzNjIsNDMgQEAgdGVybS1oYW5kbGUtY29s b3JzLWFycmF5CiAgIDs7ICAgICAgICAgIHRlcm0tYW5zaS1jdXJyZW50LWJnLWNvbG9yKQogCiAg ICh1bmxlc3MgdGVybS1hbnNpLWZhY2UtYWxyZWFkeS1kb25lCi0gICAgKGlmIHRlcm0tYW5zaS1j dXJyZW50LWludmlzaWJsZQotICAgICAgICAobGV0ICgoY29sb3IKLSAgICAgICAgICAgICAgIChp ZiB0ZXJtLWFuc2ktY3VycmVudC1yZXZlcnNlCi0gICAgICAgICAgICAgICAgICAgKGZhY2UtZm9y ZWdyb3VuZAotICAgICAgICAgICAgICAgICAgICAoZWx0IGFuc2ktdGVybS1jb2xvci12ZWN0b3Ig dGVybS1hbnNpLWN1cnJlbnQtY29sb3IpCi0gICAgICAgICAgICAgICAgICAgIG5pbCAnZGVmYXVs dCkKLSAgICAgICAgICAgICAgICAgKGZhY2UtYmFja2dyb3VuZAotICAgICAgICAgICAgICAgICAg KGVsdCBhbnNpLXRlcm0tY29sb3ItdmVjdG9yIHRlcm0tYW5zaS1jdXJyZW50LWJnLWNvbG9yKQot ICAgICAgICAgICAgICAgICAgbmlsICdkZWZhdWx0KSkpKQotICAgICAgICAgIChzZXRxIHRlcm0t Y3VycmVudC1mYWNlCi0gICAgICAgICAgICAgICAgKGxpc3QgOmJhY2tncm91bmQgY29sb3IKLSAg ICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCBjb2xvcikpCi0gICAgICAgICAgKSA7OyBO byBuZWVkIHRvIGJvdGhlciB3aXRoIGFueXRoaW5nIGVsc2UgaWYgaXQncyBpbnZpc2libGUuCi0g ICAgICAoc2V0cSB0ZXJtLWN1cnJlbnQtZmFjZQotICAgICAgICAgICAgKGxpc3QgOmZvcmVncm91 bmQKLSAgICAgICAgICAgICAgICAgIChmYWNlLWZvcmVncm91bmQKLSAgICAgICAgICAgICAgICAg ICAoZWx0IGFuc2ktdGVybS1jb2xvci12ZWN0b3IgdGVybS1hbnNpLWN1cnJlbnQtY29sb3IpCi0g ICAgICAgICAgICAgICAgICAgbmlsICdkZWZhdWx0KQotICAgICAgICAgICAgICAgICAgOmJhY2tn cm91bmQKLSAgICAgICAgICAgICAgICAgIChmYWNlLWJhY2tncm91bmQKLSAgICAgICAgICAgICAg ICAgICAoZWx0IGFuc2ktdGVybS1jb2xvci12ZWN0b3IgdGVybS1hbnNpLWN1cnJlbnQtYmctY29s b3IpCi0gICAgICAgICAgICAgICAgICAgbmlsICdkZWZhdWx0KQotICAgICAgICAgICAgICAgICAg OmludmVyc2UtdmlkZW8gdGVybS1hbnNpLWN1cnJlbnQtcmV2ZXJzZSkpCi0KLSAgICAgICh3aGVu IHRlcm0tYW5zaS1jdXJyZW50LWJvbGQKKyAgICAobGV0ICgoY3VycmVudC1jb2xvciAodGVybS0t bWF5YmUtYnJpZ2h0ZW4tY29sb3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdGVybS1hbnNp LWN1cnJlbnQtY29sb3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdGVybS1hbnNpLWN1cnJl bnQtYm9sZCkpCisgICAgICAgICAgKGN1cnJlbnQtYmctY29sb3IgKHRlcm0tLW1heWJlLWJyaWdo dGVuLWNvbG9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlcm0tYW5zaS1jdXJyZW50 LWJnLWNvbG9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlcm0tYW5zaS1jdXJyZW50 LWJvbGQpKSkKKyAgICAgIChpZiB0ZXJtLWFuc2ktY3VycmVudC1pbnZpc2libGUKKyAgICAgICAg ICAobGV0ICgoY29sb3IKKyAgICAgICAgICAgICAgICAgKGlmIHRlcm0tYW5zaS1jdXJyZW50LXJl dmVyc2UKKyAgICAgICAgICAgICAgICAgICAgIChmYWNlLWZvcmVncm91bmQKKyAgICAgICAgICAg ICAgICAgICAgICAoZWx0IGFuc2ktdGVybS1jb2xvci12ZWN0b3IgY3VycmVudC1jb2xvcikKKyAg ICAgICAgICAgICAgICAgICAgICBuaWwgJ2RlZmF1bHQpCisgICAgICAgICAgICAgICAgICAgKGZh Y2UtYmFja2dyb3VuZAorICAgICAgICAgICAgICAgICAgICAoZWx0IGFuc2ktdGVybS1jb2xvci12 ZWN0b3IgY3VycmVudC1iZy1jb2xvcikKKyAgICAgICAgICAgICAgICAgICAgbmlsICdkZWZhdWx0 KSkpKQorICAgICAgICAgICAgKHNldHEgdGVybS1jdXJyZW50LWZhY2UKKyAgICAgICAgICAgICAg ICAgIChsaXN0IDpiYWNrZ3JvdW5kIGNvbG9yCisgICAgICAgICAgICAgICAgICAgICAgICA6Zm9y ZWdyb3VuZCBjb2xvcikpCisgICAgICAgICAgICApIDs7IE5vIG5lZWQgdG8gYm90aGVyIHdpdGgg YW55dGhpbmcgZWxzZSBpZiBpdCdzIGludmlzaWJsZS4KICAgICAgICAgKHNldHEgdGVybS1jdXJy ZW50LWZhY2UKLSAgICAgICAgICAgICAgYCgsdGVybS1jdXJyZW50LWZhY2UgOmluaGVyaXQgdGVy bS1ib2xkKSkpCisgICAgICAgICAgICAgIChsaXN0IDpmb3JlZ3JvdW5kCisgICAgICAgICAgICAg ICAgICAgIChmYWNlLWZvcmVncm91bmQKKyAgICAgICAgICAgICAgICAgICAgIChlbHQgYW5zaS10 ZXJtLWNvbG9yLXZlY3RvciBjdXJyZW50LWNvbG9yKQorICAgICAgICAgICAgICAgICAgICAgbmls ICdkZWZhdWx0KQorICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZAorICAgICAgICAgICAg ICAgICAgICAoZmFjZS1iYWNrZ3JvdW5kCisgICAgICAgICAgICAgICAgICAgICAoZWx0IGFuc2kt dGVybS1jb2xvci12ZWN0b3IgY3VycmVudC1iZy1jb2xvcikKKyAgICAgICAgICAgICAgICAgICAg IG5pbCAnZGVmYXVsdCkKKyAgICAgICAgICAgICAgICAgICAgOmludmVyc2UtdmlkZW8gdGVybS1h bnNpLWN1cnJlbnQtcmV2ZXJzZSkpCisKKyAgICAgICAgKHdoZW4gdGVybS1hbnNpLWN1cnJlbnQt Ym9sZAorICAgICAgICAgIChzZXRxIHRlcm0tY3VycmVudC1mYWNlCisgICAgICAgICAgICAgICAg YCgsdGVybS1jdXJyZW50LWZhY2UgOmluaGVyaXQgdGVybS1ib2xkKSkpCiAKLSAgICAgICh3aGVu IHRlcm0tYW5zaS1jdXJyZW50LXVuZGVybGluZQotICAgICAgICAoc2V0cSB0ZXJtLWN1cnJlbnQt ZmFjZQotICAgICAgICAgICAgICBgKCx0ZXJtLWN1cnJlbnQtZmFjZSA6aW5oZXJpdCB0ZXJtLXVu ZGVybGluZSkpKSkpCisgICAgICAgICh3aGVuIHRlcm0tYW5zaS1jdXJyZW50LXVuZGVybGluZQor ICAgICAgICAgIChzZXRxIHRlcm0tY3VycmVudC1mYWNlCisgICAgICAgICAgICAgICAgYCgsdGVy bS1jdXJyZW50LWZhY2UgOmluaGVyaXQgdGVybS11bmRlcmxpbmUpKSkpKSkKIAogICA7OwkobWVz c2FnZSAiRGVidWcgJVMiIHRlcm0tY3VycmVudC1mYWNlKQogICA7OyBGSVhNRTogc2hvdWxkbid0 IHdlIHNldCB0ZXJtLWFuc2ktZmFjZS1hbHJlYWR5LWRvbmUgdG8gdCBoZXJlPyAgLS1TdGVmCmRp ZmYgLS1naXQgYS90ZXN0L2xpc3AvdGVybS10ZXN0cy5lbCBiL3Rlc3QvbGlzcC90ZXJtLXRlc3Rz LmVsCmluZGV4IDUwYWMzNzBiNWIuLmE2MWQwOTM5ZWEgMTAwNjQ0Ci0tLSBhL3Rlc3QvbGlzcC90 ZXJtLXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlzcC90ZXJtLXRlc3RzLmVsCkBAIC0yOCw2ICsyOCw0 NSBAQAogKGRlZnZhciB0ZXJtLWhlaWdodCkgICAgICAgICAgICAgICAgICAgIDsgTnVtYmVyIG9m IGxpbmVzIGluIHdpbmRvdy4KIChkZWZ2YXIgdGVybS13aWR0aCkgICAgICAgICAgICAgICAgICAg ICA7IE51bWJlciBvZiBjb2x1bW5zIGluIHdpbmRvdy4KIAorKGRlZnZhciB5ZWxsb3ctZmctcHJv cHMKKyAgJyg6Zm9yZWdyb3VuZCAieWVsbG93MyIgOmJhY2tncm91bmQgInVuc3BlY2lmaWVkLWJn IiA6aW52ZXJzZS12aWRlbyBuaWwpKQorKGRlZnZhciB5ZWxsb3ctYmctcHJvcHMKKyAgJyg6Zm9y ZWdyb3VuZCAidW5zcGVjaWZpZWQtZmciIDpiYWNrZ3JvdW5kICJ5ZWxsb3czIiA6aW52ZXJzZS12 aWRlbyBuaWwpKQorKGRlZnZhciBicmlnaHQteWVsbG93LWZnLXByb3BzCisgICcoOmZvcmVncm91 bmQgInllbGxvdzIiIDpiYWNrZ3JvdW5kICJ1bnNwZWNpZmllZC1iZyIgOmludmVyc2UtdmlkZW8g bmlsKSkKKyhkZWZ2YXIgYnJpZ2h0LXllbGxvdy1iZy1wcm9wcworICAnKDpmb3JlZ3JvdW5kICJ1 bnNwZWNpZmllZC1mZyIgOmJhY2tncm91bmQgInllbGxvdzIiIDppbnZlcnNlLXZpZGVvIG5pbCkp CisKKyhkZWZ2YXIgYW5zaS10ZXN0LXN0cmluZ3MKKyAgYCgoIlxlWzMzbUhlbGxvIFdvcmxkXGVb MG0iCisgICAgICwocHJvcGVydGl6ZSAiSGVsbG8gV29ybGQiICdmb250LWxvY2stZmFjZSB5ZWxs b3ctZmctcHJvcHMpKQorICAgICgiXGVbNDNtSGVsbG8gV29ybGRcZVswbSIKKyAgICAgLChwcm9w ZXJ0aXplICJIZWxsbyBXb3JsZCIgJ2ZvbnQtbG9jay1mYWNlIHllbGxvdy1iZy1wcm9wcykpCisg ICAgKCJcZVs5M21IZWxsbyBXb3JsZFxlWzBtIgorICAgICAsKHByb3BlcnRpemUgIkhlbGxvIFdv cmxkIiAnZm9udC1sb2NrLWZhY2UgYnJpZ2h0LXllbGxvdy1mZy1wcm9wcykpCisgICAgKCJcZVsx MDNtSGVsbG8gV29ybGRcZVswbSIKKyAgICAgLChwcm9wZXJ0aXplICJIZWxsbyBXb3JsZCIgJ2Zv bnQtbG9jay1mYWNlIGJyaWdodC15ZWxsb3ctYmctcHJvcHMpKQorICAgICgiXGVbMTszM21IZWxs byBXb3JsZFxlWzBtIgorICAgICAsKHByb3BlcnRpemUgIkhlbGxvIFdvcmxkIiAnZm9udC1sb2Nr LWZhY2UKKyAgICAgICAgICAgICAgICAgIGAoLHllbGxvdy1mZy1wcm9wcyA6aW5oZXJpdCB0ZXJt LWJvbGQpKQorICAgICAsKHByb3BlcnRpemUgIkhlbGxvIFdvcmxkIiAnZm9udC1sb2NrLWZhY2UK KyAgICAgICAgICAgICAgICAgIGAoLGJyaWdodC15ZWxsb3ctZmctcHJvcHMgOmluaGVyaXQgdGVy bS1ib2xkKSkpCisgICAgKCJcZVszMzsxbUhlbGxvIFdvcmxkXGVbMG0iCisgICAgICwocHJvcGVy dGl6ZSAiSGVsbG8gV29ybGQiICdmb250LWxvY2stZmFjZQorICAgICAgICAgICAgICAgICAgYCgs eWVsbG93LWZnLXByb3BzIDppbmhlcml0IHRlcm0tYm9sZCkpCisgICAgICwocHJvcGVydGl6ZSAi SGVsbG8gV29ybGQiICdmb250LWxvY2stZmFjZQorICAgICAgICAgICAgICAgICAgYCgsYnJpZ2h0 LXllbGxvdy1mZy1wcm9wcyA6aW5oZXJpdCB0ZXJtLWJvbGQpKSkKKyAgICAoIlxlWzFtXGVbMzNt SGVsbG8gV29ybGRcZVswbSIKKyAgICAgLChwcm9wZXJ0aXplICJIZWxsbyBXb3JsZCIgJ2ZvbnQt bG9jay1mYWNlCisgICAgICAgICAgICAgICAgICBgKCx5ZWxsb3ctZmctcHJvcHMgOmluaGVyaXQg dGVybS1ib2xkKSkKKyAgICAgLChwcm9wZXJ0aXplICJIZWxsbyBXb3JsZCIgJ2ZvbnQtbG9jay1m YWNlCisgICAgICAgICAgICAgICAgICBgKCxicmlnaHQteWVsbG93LWZnLXByb3BzIDppbmhlcml0 IHRlcm0tYm9sZCkpKQorICAgICgiXGVbMzNtXGVbMW1IZWxsbyBXb3JsZFxlWzBtIgorICAgICAs KHByb3BlcnRpemUgIkhlbGxvIFdvcmxkIiAnZm9udC1sb2NrLWZhY2UKKyAgICAgICAgICAgICAg ICAgIGAoLHllbGxvdy1mZy1wcm9wcyA6aW5oZXJpdCB0ZXJtLWJvbGQpKQorICAgICAsKHByb3Bl cnRpemUgIkhlbGxvIFdvcmxkIiAnZm9udC1sb2NrLWZhY2UKKyAgICAgICAgICAgICAgICAgIGAo LGJyaWdodC15ZWxsb3ctZmctcHJvcHMgOmluaGVyaXQgdGVybS1ib2xkKSkpKSkKKwogKGRlZnVu IHRlcm0tdGVzdC1zY3JlZW4tZnJvbS1pbnB1dCAod2lkdGggaGVpZ2h0IGlucHV0ICZvcHRpb25h bCByZXR1cm4tdmFyKQogICAod2l0aC10ZW1wLWJ1ZmZlcgogICAgICh0ZXJtLW1vZGUpCkBAIC00 OCw3ICs4Nyw3IEBAIHRlcm0tdGVzdC1zY3JlZW4tZnJvbS1pbnB1dAogICAgICAgICAgICAgICAg IChtYXBjIChsYW1iZGEgKGlucHV0KSAodGVybS1lbXVsYXRlLXRlcm1pbmFsIHByb2MgaW5wdXQp KSBpbnB1dCkKICAgICAgICAgICAgICAgKHRlcm0tZW11bGF0ZS10ZXJtaW5hbCBwcm9jIGlucHV0 KSkKICAgICAgIChpZiByZXR1cm4tdmFyIChidWZmZXItbG9jYWwtdmFsdWUgcmV0dXJuLXZhciAo Y3VycmVudC1idWZmZXIpKQotICAgICAgICAoYnVmZmVyLXN1YnN0cmluZy1uby1wcm9wZXJ0aWVz IChwb2ludC1taW4pIChwb2ludC1tYXgpKSkpKSkKKyAgICAgICAgKGJ1ZmZlci1zdWJzdHJpbmcg KHBvaW50LW1pbikgKHBvaW50LW1heCkpKSkpKQogCiAoZXJ0LWRlZnRlc3QgdGVybS1zaW1wbGUt bGluZXMgKCkKICAgKHNraXAtdW5sZXNzIChub3QgKG1lbXEgc3lzdGVtLXR5cGUgJyh3aW5kb3dz LW50IG1zLWRvcykpKSkKQEAgLTc3LDYgKzExNiwyNCBAQCB0ZXJtLWxpbmUtd3JhcAogICAgICAg ICAgICAodGVybS10ZXN0LXNjcmVlbi1mcm9tLWlucHV0IDQwIDEyIChsZXQgKChzdHIgKG1ha2Ut c3RyaW5nIDMwID9hKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAobGlzdCBzdHIgc3RyKSkpKSkpCiAKKyhlcnQtZGVmdGVzdCB0ZXJtLWNvbG9ycyAo KQorICAoc2tpcC11bmxlc3MgKG5vdCAobWVtcSBzeXN0ZW0tdHlwZSAnKHdpbmRvd3MtbnQgbXMt ZG9zKSkpKQorICAocGNhc2UtZG9saXN0IChgKCxzdHIgLGV4cGVjdGVkKSBhbnNpLXRlc3Qtc3Ry aW5ncykKKyAgICAobGV0ICgocmVzdWx0ICh0ZXJtLXRlc3Qtc2NyZWVuLWZyb20taW5wdXQgNDAg MTIgc3RyKSkpCisgICAgICAoc2hvdWxkIChlcXVhbCByZXN1bHQgZXhwZWN0ZWQpKQorICAgICAg KHNob3VsZCAoZXF1YWwgKHRleHQtcHJvcGVydGllcy1hdCAwIHJlc3VsdCkKKyAgICAgICAgICAg ICAgICAgICAgICh0ZXh0LXByb3BlcnRpZXMtYXQgMCBleHBlY3RlZCkpKSkpKQorCisoZXJ0LWRl ZnRlc3QgdGVybS1jb2xvcnMtYm9sZC1pcy1icmlnaHQgKCkKKyAgKHNraXAtdW5sZXNzIChub3Qg KG1lbXEgc3lzdGVtLXR5cGUgJyh3aW5kb3dzLW50IG1zLWRvcykpKSkKKyAgKGxldCAoKHRlcm0t Y29sb3ItYm9sZC1pcy1icmlnaHQgdCkpCisgICAgKHBjYXNlLWRvbGlzdCAoYCgsc3RyICxleHBl Y3RlZCAsYnJpZ2h0LWV4cGVjdGVkKSBhbnNpLXRlc3Qtc3RyaW5ncykKKyAgICAgIChsZXQgKChl eHBlY3RlZCAob3IgYnJpZ2h0LWV4cGVjdGVkIGV4cGVjdGVkKSkKKyAgICAgICAgICAgIChyZXN1 bHQgKHRlcm0tdGVzdC1zY3JlZW4tZnJvbS1pbnB1dCA0MCAxMiBzdHIpKSkKKyAgICAgICAgKHNo b3VsZCAoZXF1YWwgcmVzdWx0IGV4cGVjdGVkKSkKKyAgICAgICAgKHNob3VsZCAoZXF1YWwgKHRl eHQtcHJvcGVydGllcy1hdCAwIHJlc3VsdCkKKyAgICAgICAgICAgICAgICAgICAgICAgKHRleHQt cHJvcGVydGllcy1hdCAwIGV4cGVjdGVkKSkpKSkpKQorCiAoZXJ0LWRlZnRlc3QgdGVybS1jdXJz b3ItbW92ZW1lbnQgKCkKICAgKHNraXAtdW5sZXNzIChub3QgKG1lbXEgc3lzdGVtLXR5cGUgJyh3 aW5kb3dzLW50IG1zLWRvcykpKSkKICAgOzsgQWJzb2x1dGUgcG9zaXRpb25pbmcuCi0tIAoyLjI1 LjEKCg== --00000000000073295805ca463576--