From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.bugs Subject: bug#41572: 28.0.50; [PATCH] Support plain project marked with file .emacs-project Date: Sun, 27 Nov 2022 03:08:04 +0200 Message-ID: <29c1c5f3-b189-ff30-c5bc-92a4d35e0683@yandex.ru> References: <5f584d83-ef45-9912-bfbc-d2f00b24b9fd@yandex.ru> <87pnahjgdr.fsf@linkov.net> <87ftb92u8q.fsf@thornhill.no> <0ab90cf2-eab2-6fea-6698-4164d7753cd7@yandex.ru> <87d06ck2b0.fsf@thornhill.no> <2fbe5d5d-03a1-212b-9dd7-4723e168ad06@yandex.ru> <5EpzudgjedeKADsX4_Tq-2WtNm3XKXmZjnEI7Y1lmw-Pcn_KrzKPD1o31Ele0JOIrZ1ITDdeQrOsJTHfGVPJlzyLhmqjxP3rmVVzou8KEBo=@thornhill.no> <2a70c748-e250-2f96-5d74-712b6d71e8be@yandex.ru> <871riitzch.fsf@gnus.org> <9781acc2-e4c0-b53c-6422-ef2e0a96f400@yandex.ru> <83sfi6tavq.fsf@gnu.org> <83mt8dssdn.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------lmSlsjVzAZCnaqu0tS0FAyys" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="8625"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Cc: philipk@posteo.net, rudi@constantly.at, eric@ericabrahamsen.net, cjpeople2013@gmail.com, theo@thornhill.no, mardani29@yahoo.es, joaotavora@gmail.com, manuel.uberti@inventati.org, juri@linkov.net, salutis@me.com, arstoffel@gmail.com, 41572@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Nov 27 02:09:26 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 1oz6Af-0001zv-M8 for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 27 Nov 2022 02:09:25 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oz6AT-0000Jw-6R; Sat, 26 Nov 2022 20:09:13 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oz6AL-0000JY-DH for bug-gnu-emacs@gnu.org; Sat, 26 Nov 2022 20:09:07 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oz6AK-0002XO-RU for bug-gnu-emacs@gnu.org; Sat, 26 Nov 2022 20:09:05 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oz6AH-00018R-Pq for bug-gnu-emacs@gnu.org; Sat, 26 Nov 2022 20:09:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 27 Nov 2022 01:09:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41572 X-GNU-PR-Package: emacs Original-Received: via spool by 41572-submit@debbugs.gnu.org id=B41572.16695113004355 (code B ref 41572); Sun, 27 Nov 2022 01:09:01 +0000 Original-Received: (at 41572) by debbugs.gnu.org; 27 Nov 2022 01:08:20 +0000 Original-Received: from localhost ([127.0.0.1]:41742 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oz69a-00018B-Uk for submit@debbugs.gnu.org; Sat, 26 Nov 2022 20:08:20 -0500 Original-Received: from mail-wm1-f53.google.com ([209.85.128.53]:52812) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oz69W-000184-3e for 41572@debbugs.gnu.org; Sat, 26 Nov 2022 20:08:17 -0500 Original-Received: by mail-wm1-f53.google.com with SMTP id o30so6080691wms.2 for <41572@debbugs.gnu.org>; Sat, 26 Nov 2022 17:08:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:sender:from:to:cc:subject :date:message-id:reply-to; bh=TIFd0F8XsEncmchsa0klNr6RKtOlR777Vu2PzmU5Dgg=; b=avT3WKvZUH5YTi6Q7RTzVoHiKC/5CqFfUBQkgQ6Qr/C1xr3UP/SBdXI+4HczeiN62k VbLzVDzhLCuUkaZo9cOqNq0tsH/gDj5s8b9a3JoQON6JVE3wP/jh1CSYgXw8qkrAhRYc R5RWg9ol9Nek6xKvuzKt54HN37VAbJbMeXW38uGKV80397SCmTNIimmE+Xehoi6rXk0L lFGeDgCwnor9+jsK2kXmVU773cawE8GqXQj+hP1+nyyDFl8Bi9l4T4OEV9veitjs/zFV UBhLg/+Ve7wCGLxPivMKXH3MCZumBURenwsHjV8bXiLiO2mFyqVx4oNcjzJsX5vFHjgu wZQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:sender:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=TIFd0F8XsEncmchsa0klNr6RKtOlR777Vu2PzmU5Dgg=; b=xxqTIt6fjDccwDL24aQiGnsa3cWfC9Enty6it9GP7RyGSqUZZdT4IOJYjduptiyynh eh4VhDRS0Van/CsWQMTvZcEPRhqbBPFUrsq5pLlPbp2FZjgUR0dhC0PRFs5Zr4bnQarR CTuo9oS30TFAC86pTwa6oq6rGXZc194OsCYol5jT9ilhI2PnMMSLktB6m7avIzDnZqiH 7Xoq6M/WG38LSz3eKDARTEcDj+Lq8VKi7prJS1BIt9galLUwjoKr5HlOW8kn4uiV7i5H ZOR7/3enoQ1t3G+S5Ziy4FQitA3avLLauiaZ3x5w43NhqDzssjFVC2HUBBf7xh5xGQEy rsZg== X-Gm-Message-State: ANoB5pm1CK2LcUwLW3zWHV/2SzWsjDQJXUO4tIvPCmZ1gFhXe/bY9Ik7 jLelG6X//jYFe81xdIQRA+U= X-Google-Smtp-Source: AA0mqf5yB9y6leAPbJt6x1NDtCfTUKu5WkXnhejFVoygJmYaVJZ6m4w0FbHSxuPjN5D/qXC9RUBPhA== X-Received: by 2002:a05:600c:2212:b0:3cf:8aa0:cbec with SMTP id z18-20020a05600c221200b003cf8aa0cbecmr22232595wml.161.1669511287830; Sat, 26 Nov 2022 17:08:07 -0800 (PST) Original-Received: from [192.168.0.6] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id p11-20020a05600c468b00b003cfd10a33afsm15036718wmo.11.2022.11.26.17.08.05 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 26 Nov 2022 17:08:06 -0800 (PST) Content-Language: en-US In-Reply-To: <83mt8dssdn.fsf@gnu.org> 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:249157 Archived-At: This is a multi-part message in MIME format. --------------lmSlsjVzAZCnaqu0tS0FAyys Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 26/11/22 16:27, Eli Zaretskii wrote: >> Date: Sat, 26 Nov 2022 15:22:36 +0200 >> Cc: philipk@posteo.net, rudi@constantly.at, eric@ericabrahamsen.net, >> cjpeople2013@gmail.com, theo@thornhill.no, mardani29@yahoo.es, >> salutis@me.com, joaotavora@gmail.com, manuel.uberti@inventati.org, >> juri@linkov.net, arstoffel@gmail.com, 41572@debbugs.gnu.org >> From: Dmitry Gutov >> >> On 26/11/22 09:47, Eli Zaretskii wrote: >> >>>> +(defcustom project-vc-extra-root-markers nil >>>> + "List of additional \"markers\" to signal project roots. >>>> + >>>> +A marker is either a base file name or a glob pattern for such. >>>> + >>>> +These will be used in addition to regular directory markers such >>>> +as .git, .hg, and so on, dependent on the value of >>>> +`vc-handled-backends'. >>> >>> "These will be used" how? This crucial information is sorely missing from >>> this description. Likewise, how "markers" that are not files are used and >>> are useful? >> >> Not files, meaning, markers which are globs with wildcards? >> >>>> They are most useful when a VC project >>>> +has subdirectories inside it that need to be considered as >>>> +separate projects, but still use the parent's ignore rules and >>>> +general behaviors. >>> >>> How are "markers" useful in this scenario? >> >> As mentioned in e.g. >> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=54228#11, monorepos often >> contain subdirectories which one might want to handle separately. >> >> Those subdirectories often come in standard structures, e.g. a frontend >> subdirectory might contain a file called "package.json", a backend >> subdirectory might contain "Gemfile" or "build.gradle", or perhaps >> "autogen.sh", and so on. >> >> Adding those to the markers list will tag those subdirectories as >> projects on their own. People can also use the file names special to >> their particular organization instead of those above. >> >>>> +It can also be used for projects outside of VC repositories. >>>> +Their behavior will still obey the relevant variables, such as >>>> +`project-vc-ignores' or `project-vc-name'." >>> >>> And in this one? >> >> This covers the use cases described in the first messages of this and >> the merged bug report: >> >> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=41572#5 >> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=54228#5 >> >> People would add ".project" or ".emacs-project" to >> project-vc-extra-root-markers and see things work. >> >> Might have to restart Emacs, though, if they already called project >> commands in the given directory, because the current project info is cached. >> >>> IOW, please describe the main ideas of this approach instead of relying on >>> use immediately gleaning that from a patch with incomplete documentation. >> >> If you have further questions, please ask. > > Thanks, but I meant for at least some of the above to be in the doc strings > and/or explained here in plain English. Readers aren't supposed to search > bug reports for relevant information. (And for me personally, this means I > won't be able to look up the relevant information before at least another > week or two, which is a pity.) The links were meant to illustrate that most people Cc'd probably understand the context already (modulo some forgetting because time has passed). And either way I'm probably too close to the problem to understand easily what is clear to the average user and what is not. That's why questions are always useful. I've added the examples to the docstring and rephrased it a little. Does it read better now? --------------lmSlsjVzAZCnaqu0tS0FAyys Content-Type: text/x-patch; charset=UTF-8; name="project-vc-extra-root-markers-v2.diff" Content-Disposition: attachment; filename="project-vc-extra-root-markers-v2.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3AvcHJvZ21vZGVzL3Byb2plY3QuZWwgYi9saXNwL3Byb2dtb2Rl cy9wcm9qZWN0LmVsCmluZGV4IDViODY0ODAzMWZiLi5iNGQ1YjRiMGM5ZSAxMDA2NDQKLS0t IGEvbGlzcC9wcm9nbW9kZXMvcHJvamVjdC5lbAorKysgYi9saXNwL3Byb2dtb2Rlcy9wcm9q ZWN0LmVsCkBAIC02Niw2ICs2Niw5IEBACiA7OyBmaWxlcywgYnV0IHN1cHBvcnRzIGFkZGl0 aW9ucyB0byB0aGUgbGlzdCB1c2luZyB0aGUgdXNlciBvcHRpb24KIDs7IGBwcm9qZWN0LXZj LWlnbm9yZXMnICh1c3VhbGx5IHRocm91Z2ggLmRpci1sb2NhbHMuZWwpLgogOzsKKzs7IEF0 IHRoaXMgcG9pbnQgdGhlIG5hbWUgbWlnaHQgYXMgd2VsbCBiZSBhbiBhYmJyZXZpYXRpb24g Zm9yICJWQyBhbmQKKzs7IEV0YyIsIHNlZSB0aGUgdmFyaWFibGUgYHByb2plY3QtdmMtZXh0 cmEtcm9vdC1tYXJrZXJzJy4KKzs7CiA7OyBVdGlsczoKIDs7CiA7OyBgcHJvamVjdC1jb21i aW5lLWRpcmVjdG9yaWVzJyBhbmQgYHByb2plY3Qtc3VidHJhY3QtZGlyZWN0b3JpZXMnLApA QCAtNDExLDYgKzQxNCwyOSBAQCBwcm9qZWN0LXZjLW5hbWUKICAgOnZlcnNpb24gIjI5LjEi CiAgIDpzYWZlICMnc3RyaW5ncCkKIAorOzsgTm90IHVzaW5nIHJlZ2V4cHMgYmVjYXVzZSB0 aGVzZSB3b3VsZG4ndCB3b3JrIGluIEdpdCBwYXRoc3BlY3MsIGluCis7OyBjYXNlIHdlIGRl Y2lkZSB3ZSBuZWVkIHRvIGJlIGFibGUgdG8gbGlzdCBzdWJwcm9qZWN0cy4KKyhkZWZjdXN0 b20gcHJvamVjdC12Yy1leHRyYS1yb290LW1hcmtlcnMgbmlsCisgICJMaXN0IG9mIGFkZGl0 aW9uYWwgbWFya2VycyB0byBzaWduYWwgcHJvamVjdCByb290cy4KKworQSBtYXJrZXIgaXMg ZWl0aGVyIGEgYmFzZSBmaWxlIG5hbWUgb3IgYSBnbG9iIHBhdHRlcm4gZm9yIHN1Y2guCisK K0V4YW1wbGUgdmFsdWVzOiBcIi5kaXItbG9jYWxzLmVsXCIsIFwicGFja2FnZS5qc29uXCIs IFwicG9tLnhtbFwiLAorXCJyZXF1aXJlbWVudHMudHh0XCIsIFwiR2VtZmlsZVwiLCBcIiou Z2Vtc3BlY1wiLCBcImF1dG9nZW4uc2hcIi4KKworVGhlc2Ugd2lsbCBiZSB1c2VkIGluIGFk ZGl0aW9uIHRvIHJlZ3VsYXIgZGlyZWN0b3J5IG1hcmtlcnMgc3VjaAorYXMgLmdpdCwgLmhn LCBhbmQgc28gb24sIGRlcGVuZGVudCBvbiB0aGUgdmFsdWUgb2YKK2B2Yy1oYW5kbGVkLWJh Y2tlbmRzJy4gIFRoZXkgYXJlIG1vc3QgdXNlZnVsIHdoZW4gYSBWQyBwcm9qZWN0CitoYXMg c3ViZGlyZWN0b3JpZXMgaW5zaWRlIGl0IHRoYXQgbmVlZCB0byBiZSBjb25zaWRlcmVkIGFz CitzZXBhcmF0ZSBwcm9qZWN0cy4gIEl0IGNhbiBhbHNvIGJlIHVzZWQgZm9yIHByb2plY3Rz IG91dHNpZGUgb2YKK1ZDIHJlcG9zaXRvcmllcy4KKworRWl0aGVyIHdheSwgdGhlaXIgYmVo YXZpb3Igd2lsbCBzdGlsbCBvYmV5IHRoZSByZWxldmFudAordmFyaWFibGVzLCBzdWNoIGFz IGBwcm9qZWN0LXZjLWlnbm9yZXMnIG9yIGBwcm9qZWN0LXZjLW5hbWUnLiIKKyAgOnR5cGUg J2xpc3QKKyAgOnZlcnNpb24gIjI5LjEiCisgIDpzYWZlIChsYW1iZGEgKHZhbCkgKGFuZCAo bGlzdHAgdmFsKSAoY2wtZXZlcnkgIydzdHJpbmdwIHZhbCkpKSkKKwogOzsgRklYTUU6IFVz aW5nIHRoZSBjdXJyZW50IGFwcHJvYWNoLCBtYWpvciBtb2RlcyBhcmUgc3VwcG9zZWQgdG8g c2V0CiA7OyB0aGlzIHZhcmlhYmxlIHRvIGEgYnVmZmVyLWxvY2FsIHZhbHVlLiAgU28gd2Ug ZG9uJ3QgaGF2ZSBhY2Nlc3MgdG8KIDs7IHRoZSAiZXh0ZXJuYWwgcm9vdHMiIG9mIGxhbmd1 YWdlIEEgZnJvbSBidWZmZXJzIG9mIGxhbmd1YWdlIEIsIHdoaWNoCkBAIC00NDcsMjggKzQ3 Myw1MCBAQCBwcm9qZWN0LXZjLWV4dGVybmFsLXJvb3RzLWZ1bmN0aW9uCiBiYWNrZW5kIGlt cGxlbWVudGF0aW9uIG9mIGBwcm9qZWN0LWV4dGVybmFsLXJvb3RzJy4iKQogCiAoZGVmdW4g cHJvamVjdC10cnktdmMgKGRpcikKKyAgKGRlZnZhciB2Yy1zdm4tYWRtaW4tZGlyZWN0b3J5 KQorICAocmVxdWlyZSAndmMtc3ZuKQorICA7OyBGSVhNRTogTGVhcm4gdG8gaW52YWxpZGF0 ZSB3aGVuIHRoZSB2YWx1ZSBvZgorICA7OyBgcHJvamVjdC12Yy1tZXJnZS1zdWJtb2R1bGVz JyBvciBgcHJvamVjdC12Yy1leHRyYS1yb290LW1hcmtlcnMnCisgIDs7IGNoYW5nZXMuCiAg IChvciAodmMtZmlsZS1nZXRwcm9wIGRpciAncHJvamVjdC12YykKLSAgICAgIChsZXQqICgo YmFja2VuZCAoaWdub3JlLWVycm9ycyAodmMtcmVzcG9uc2libGUtYmFja2VuZCBkaXIpKSkK KyAgICAgIChsZXQqICgoYmFja2VuZC1tYXJrZXJzLWFsaXN0IGAoKEdpdCAuICIuZ2l0IikK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEhnIC4gIi5oZyIpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChCenIgLiAiLmJ6ciIpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChTVk4gLiAsdmMtc3ZuLWFk bWluLWRpcmVjdG9yeSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KERBUkNTIC4gIl9kYXJjcyIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChGb3NzaWwgLiAiLmZzbGNrb3V0IikpKQorICAgICAgICAgICAgIChiYWNrZW5kLW1h cmtlcnMKKyAgICAgICAgICAgICAgKGRlbGV0ZQorICAgICAgICAgICAgICAgbmlsCisgICAg ICAgICAgICAgICAobWFwY2FyCisgICAgICAgICAgICAgICAgKGxhbWJkYSAoYikgKGFzc29j LWRlZmF1bHQgYiBiYWNrZW5kLW1hcmtlcnMtYWxpc3QpKQorICAgICAgICAgICAgICAgIHZj LWhhbmRsZWQtYmFja2VuZHMpKSkKKyAgICAgICAgICAgICAobWFya2VyLXJlCisgICAgICAg ICAgICAgIChtYXBjb25jYXQKKyAgICAgICAgICAgICAgIChsYW1iZGEgKG0pIChmb3JtYXQg IlxcKCVzXFwpIiAod2lsZGNhcmQtdG8tcmVnZXhwIG0pKSkKKyAgICAgICAgICAgICAgIChh cHBlbmQgYmFja2VuZC1tYXJrZXJzIHByb2plY3QtdmMtZXh0cmEtcm9vdC1tYXJrZXJzKQor ICAgICAgICAgICAgICAgIlxcfCIpKQorICAgICAgICAgICAgIChsb2NhdGUtZG9taW5hdGlu Zy1zdG9wLWRpci1yZWdleHAKKyAgICAgICAgICAgICAgKG9yIHZjLWlnbm9yZS1kaXItcmVn ZXhwIGxvY2F0ZS1kb21pbmF0aW5nLXN0b3AtZGlyLXJlZ2V4cCkpCisgICAgICAgICAgICAg bGFzdC1tYXRjaGVzCiAgICAgICAgICAgICAgKHJvb3QKLSAgICAgICAgICAgICAgKHBjYXNl IGJhY2tlbmQKLSAgICAgICAgICAgICAgICAoJ0dpdAotICAgICAgICAgICAgICAgICA7OyBE b24ndCBzdG9wIGF0IHN1Ym1vZHVsZSBib3VuZGFyeS4KLSAgICAgICAgICAgICAgICAgKG9y ICh2Yy1maWxlLWdldHByb3AgZGlyICdwcm9qZWN0LWdpdC1yb290KQotICAgICAgICAgICAg ICAgICAgICAgKGxldCAoKHJvb3QgKHZjLWNhbGwtYmFja2VuZCBiYWNrZW5kICdyb290IGRp cikpKQotICAgICAgICAgICAgICAgICAgICAgICAodmMtZmlsZS1zZXRwcm9wCi0gICAgICAg ICAgICAgICAgICAgICAgICBkaXIgJ3Byb2plY3QtZ2l0LXJvb3QKLSAgICAgICAgICAgICAg ICAgICAgICAgIChpZiAoYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IEZJ WE1FOiBJbnZhbGlkYXRlIHRoZSBjYWNoZSB3aGVuIHRoZSB2YWx1ZQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA7OyBvZiB0aGlzIHZhcmlhYmxlIGNoYW5nZXMuCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QtdmMtbWVyZ2Utc3VibW9kdWxlcwotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAocHJvamVjdC0tc3VibW9kdWxlLXAgcm9vdCkp Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxldCogKChwYXJlbnQgKGZpbGUtbmFt ZS1kaXJlY3RvcnkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGRpcmVjdG9yeS1maWxlLW5hbWUgcm9vdCkpKSkKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICh2Yy1jYWxsLWJhY2tlbmQgYmFja2VuZCAncm9vdCBwYXJlbnQpKQotICAg ICAgICAgICAgICAgICAgICAgICAgICByb290KSkpKSkKLSAgICAgICAgICAgICAgICAoJ25p bCBuaWwpCi0gICAgICAgICAgICAgICAgKF8gKGlnbm9yZS1lcnJvcnMgKHZjLWNhbGwtYmFj a2VuZCBiYWNrZW5kICdyb290IGRpcikpKSkpCisgICAgICAgICAgICAgIChsb2NhdGUtZG9t aW5hdGluZy1maWxlCisgICAgICAgICAgICAgICBkaXIKKyAgICAgICAgICAgICAgIChsYW1i ZGEgKGQpCisgICAgICAgICAgICAgICAgIChzZXRxIGxhc3QtbWF0Y2hlcyAoZGlyZWN0b3J5 LWZpbGVzIGQgbmlsIG1hcmtlci1yZSB0IDEwMCkpKSkpCisgICAgICAgICAgICAgKGJhY2tl bmQKKyAgICAgICAgICAgICAgKGNsLWZpbmQtaWYKKyAgICAgICAgICAgICAgIChsYW1iZGEg KGIpCisgICAgICAgICAgICAgICAgIChtZW1iZXIgKGFzc29jLWRlZmF1bHQgYiBiYWNrZW5k LW1hcmtlcnMtYWxpc3QpCisgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdC1tYXRjaGVz KSkKKyAgICAgICAgICAgICAgIHZjLWhhbmRsZWQtYmFja2VuZHMpKQogICAgICAgICAgICAg IHByb2plY3QpCisgICAgICAgICh3aGVuIChhbmQKKyAgICAgICAgICAgICAgIChlcSBiYWNr ZW5kICdHaXQpCisgICAgICAgICAgICAgICBwcm9qZWN0LXZjLW1lcmdlLXN1Ym1vZHVsZXMK KyAgICAgICAgICAgICAgIChwcm9qZWN0LS1zdWJtb2R1bGUtcCByb290KSkKKyAgICAgICAg ICAobGV0KiAoKHBhcmVudCAoZmlsZS1uYW1lLWRpcmVjdG9yeSAoZGlyZWN0b3J5LWZpbGUt bmFtZSByb290KSkpKQorICAgICAgICAgICAgKHNldHEgcm9vdCAodmMtY2FsbC1iYWNrZW5k ICdHaXQgJ3Jvb3QgcGFyZW50KSkpKQogICAgICAgICAod2hlbiByb290CiAgICAgICAgICAg KHNldHEgcHJvamVjdCAobGlzdCAndmMgYmFja2VuZCByb290KSkKICAgICAgICAgICA7OyBG SVhNRTogQ2FjaGUgZm9yIGEgc2hvcnRlciB0aW1lLgpAQCAtNjI2LDcgKzY3NCw4IEBAIHBy b2plY3QtaWdub3JlcwogICAobGV0KiAoKHJvb3QgKG50aCAyIHByb2plY3QpKQogICAgICAg ICAgYmFja2VuZCkKICAgICAoYXBwZW5kCi0gICAgICh3aGVuIChmaWxlLWVxdWFsLXAgZGly IHJvb3QpCisgICAgICh3aGVuIChhbmQgYmFja2VuZAorICAgICAgICAgICAgICAgIChmaWxl LWVxdWFsLXAgZGlyIHJvb3QpKQogICAgICAgIChzZXRxIGJhY2tlbmQgKGNhZHIgcHJvamVj dCkpCiAgICAgICAgKGRlbHEKICAgICAgICAgbmlsCg== --------------lmSlsjVzAZCnaqu0tS0FAyys--