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: Sat, 26 Nov 2022 03:49:36 +0200 Message-ID: <9781acc2-e4c0-b53c-6422-ef2e0a96f400@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> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------vw1C1bo8xHDjcjJU6Bcg2FPH" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="23882"; 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: "Philip K." , Rudi Schlatte , Augusto Stoffel , Zhu Zihao , Theodor Thornhill , Daniel =?UTF-8?Q?Mart=C3=ADn?= , Eric Abrahamsen , =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= , Manuel Uberti , Juri Linkov , Rudolf =?UTF-8?Q?Adamkovi=C4=8D?= To: 41572@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Nov 26 02:50:24 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 1oykKk-0005tN-Rn for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 26 Nov 2022 02:50:22 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oykKT-0007Lb-SR; Fri, 25 Nov 2022 20:50:05 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oykKS-0007LT-En for bug-gnu-emacs@gnu.org; Fri, 25 Nov 2022 20:50:04 -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 1oykKR-0003dU-Jc for bug-gnu-emacs@gnu.org; Fri, 25 Nov 2022 20:50:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oykKQ-00040t-IE for bug-gnu-emacs@gnu.org; Fri, 25 Nov 2022 20:50:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 26 Nov 2022 01:50:02 +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.166942739215406 (code B ref 41572); Sat, 26 Nov 2022 01:50:02 +0000 Original-Received: (at 41572) by debbugs.gnu.org; 26 Nov 2022 01:49:52 +0000 Original-Received: from localhost ([127.0.0.1]:37493 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oykKF-00040P-U0 for submit@debbugs.gnu.org; Fri, 25 Nov 2022 20:49:52 -0500 Original-Received: from mail-wm1-f42.google.com ([209.85.128.42]:52916) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oykK9-000402-W3 for 41572@debbugs.gnu.org; Fri, 25 Nov 2022 20:49:49 -0500 Original-Received: by mail-wm1-f42.google.com with SMTP id o30so4634837wms.2 for <41572@debbugs.gnu.org>; Fri, 25 Nov 2022 17:49:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:references:cc:to:from:content-language:subject :user-agent:mime-version:date:message-id:sender:from:to:cc:subject :date:message-id:reply-to; bh=uNmMGgMfMSdb5PU7T46rk0C89XNASn6D9JlO/oRSlnI=; b=cdBf5TY1uTMnldKSuYlBDmks/wHgfBLZpI/Lgq4nQrhlGZLoieBhjQwLxV5eE5H0A3 zBfEUhSbPQABSqomC9BXt+LELpo/PRpsEd0VRzwIyysh7GEHQ5Gx0+oJ6XOAQgUwzo0D yui0Xv7IX4yAn9TPq/rYTH4ZWD4Htl/mOGumyQr1Yy2vYuRjbOuXPXh0IJaXbbuh2y0R Rx75LnjoW8E2YX+ojt7TkSxDlcPqZjF11SlJ4MCayQRPG+u/RXEvMYubMA5DAFXqqqiG j5xaxQ+uhM2wi/EJoGJIByhYokqYfzPMK0ohi0Lh38qe2yFlzFTmJi3MuMP3OMyC1G3V LRqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:references:cc:to:from:content-language:subject :user-agent:mime-version:date:message-id:sender:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=uNmMGgMfMSdb5PU7T46rk0C89XNASn6D9JlO/oRSlnI=; b=nfTVySlqGhl+2pfLTXLCHNCPKBXgDyKMMPCJyZ3b7vRE+79fag4/uVTcX2B5rhriqZ O2m2RoRFjTMmKwKzokWHTTJ1SRz9P80PIV6zMmhfUBgnsWeQ4goa78+nfhSEmQVX258b nmhAxtJvpLHMIobZ1bkA8p4sVPq3MWG39TTKgPRaJXfvqNuSiBszVHl4IOFJ1lniUU38 Caz06QvHoocc2gFhBr0EA+sAJI86eCmOQzMdbSj7WM78fPQ8/fF4ez/sEmazd0oeO0lW bF9SWxU6PIWa4QVSaW9DvqF1h5CFd6nAbj6orT3TSNQHNHRgwX6huQUKK5Cp6xF1IWc/ ZmMw== X-Gm-Message-State: ANoB5plnoXGLwmptN2WCIph+4KeOw9umhV6sriTIdVsYF/9PmQSnEmyb yLoid61MkJSPPet2vZVayXQtIW0SU3s= X-Google-Smtp-Source: AA0mqf7PUnaVVE6U9dtURRSXRA0+MYuWgHSFMOaT6m4nO6wYDrMvvA7t8uQMdyl5bqzsvtpY1Eh53A== X-Received: by 2002:a05:600c:4a99:b0:3cf:91e5:3d69 with SMTP id b25-20020a05600c4a9900b003cf91e53d69mr34245945wmp.160.1669427379811; Fri, 25 Nov 2022 17:49:39 -0800 (PST) Original-Received: from [192.168.0.6] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id p11-20020a05600c358b00b003cf71b1f66csm7510304wmq.0.2022.11.25.17.49.37 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 25 Nov 2022 17:49:38 -0800 (PST) Content-Language: en-US In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:249031 Archived-At: This is a multi-part message in MIME format. --------------vw1C1bo8xHDjcjJU6Bcg2FPH Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 26/9/21 03:22, Dmitry Gutov wrote: > Another issue is people working on monorepos (often backed by Git) > sometimes want to split them into separate projects. The latter > capability (excluding subproject's files) informed the choice of the > approach. Which is altering the vc project backend's behavior, rather > that offering this feature through another backend, like the one added > in the previous patch, for example. > > I don't know if all users of this feature will want them excluded, > though. The attached implementation does, and maybe another option could > be added to disable this. > > Or we could drop this part of the behavior, insisting that users who > want it could add the corresponding entries to project-vc-ignores. This > way they would be listing the subprojects twice, however. And the > project-vc-merge-submodules=nil behavior matches the other option > (submodule files are excluded from the parent). Here's a third approach, which now seems to me the most approachable. It solves the semantic problems by having the new "plain" projects also belong to the same type (which is still called project-vc, but means something more now). The backend's variables are adhered to, and 'git ls-files' is used for file listing in Git-backend subprojects still. The subprojects' files are not excluded from the parent project, but as long as the format of markers stays with wildcards, it at least remains feasible to do, though with some extra expense at runtime. We'll see if people really want this. It will probably also improve performance over Tramp compared to the current. Does this work for everybody? --------------vw1C1bo8xHDjcjJU6Bcg2FPH Content-Type: text/x-patch; charset=UTF-8; name="project-vc-extra-root-markers.diff" Content-Disposition: attachment; filename="project-vc-extra-root-markers.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3AvcHJvZ21vZGVzL3Byb2plY3QuZWwgYi9saXNwL3Byb2dtb2Rl cy9wcm9qZWN0LmVsCmluZGV4IDcxMDYxZTYxMzlkLi4xOTQyNGE3MzQzZCAxMDA2NDQKLS0t IGEvbGlzcC9wcm9nbW9kZXMvcHJvamVjdC5lbAorKysgYi9saXNwL3Byb2dtb2Rlcy9wcm9q ZWN0LmVsCkBAIC02Niw2ICs2Niw5IEBACiA7OyBmaWxlcywgYnV0IHN1cHBvcnRzIGFkZGl0 aW9ucyB0byB0aGUgbGlzdCB1c2luZyB0aGUgdXNlciBvcHRpb24KIDs7IGBwcm9qZWN0LXZj LWlnbm9yZXMnICh1c3VhbGx5IHRocm91Z2ggLmRpci1sb2NhbHMuZWwpLgogOzsKKzs7IEF0 IHRoaXMgcG9pbnQgdGhlIG5hbWUgbWlnaHQgYXMgd2VsbCBiZSBhbiBhYmJyZXZpYXRpb24g Zm9yICJWQyBhbmQKKzs7IEV0YyIsIHNlZSB0aGUgdmFyaWFibGUgYHByb2plY3QtdmMtZXh0 cmEtcm9vdC1tYXJrZXJzJy4KKzs7CiA7OyBVdGlsczoKIDs7CiA7OyBgcHJvamVjdC1jb21i aW5lLWRpcmVjdG9yaWVzJyBhbmQgYHByb2plY3Qtc3VidHJhY3QtZGlyZWN0b3JpZXMnLApA QCAtNDExLDYgKzQxNCwyNyBAQCBwcm9qZWN0LXZjLW5hbWUKICAgOnZlcnNpb24gIjI5LjEi CiAgIDpzYWZlICMnc3RyaW5ncCkKIAorOzsgTm90IHVzaW5nIHJlZ2V4cHMgYmVjYXVzZSB0 aGVzZSB3b3VsZG4ndCB3b3JrIGluIEdpdCBwYXRoc3BlY3MsIGluCis7OyBjYXNlIHdlIGRl Y2lkZSB3ZSBuZWVkIHRvIGJlIGFibGUgdG8gbGlzdCBzdWJwcm9qZWN0cy4KKyhkZWZjdXN0 b20gcHJvamVjdC12Yy1leHRyYS1yb290LW1hcmtlcnMgbmlsCisgICJMaXN0IG9mIGFkZGl0 aW9uYWwgXCJtYXJrZXJzXCIgdG8gc2lnbmFsIHByb2plY3Qgcm9vdHMuCisKK0EgbWFya2Vy IGlzIGVpdGhlciBhIGJhc2UgZmlsZSBuYW1lIG9yIGEgZ2xvYiBwYXR0ZXJuIGZvciBzdWNo LgorCitUaGVzZSB3aWxsIGJlIHVzZWQgaW4gYWRkaXRpb24gdG8gcmVndWxhciBkaXJlY3Rv cnkgbWFya2VycyBzdWNoCithcyAuZ2l0LCAuaGcsIGFuZCBzbyBvbiwgZGVwZW5kZW50IG9u IHRoZSB2YWx1ZSBvZgorYHZjLWhhbmRsZWQtYmFja2VuZHMnLiAgVGhleSBhcmUgbW9zdCB1 c2VmdWwgd2hlbiBhIFZDIHByb2plY3QKK2hhcyBzdWJkaXJlY3RvcmllcyBpbnNpZGUgaXQg dGhhdCBuZWVkIHRvIGJlIGNvbnNpZGVyZWQgYXMKK3NlcGFyYXRlIHByb2plY3RzLCBidXQg c3RpbGwgdXNlIHRoZSBwYXJlbnQncyBpZ25vcmUgcnVsZXMgYW5kCitnZW5lcmFsIGJlaGF2 aW9ycy4KKworSXQgY2FuIGFsc28gYmUgdXNlZCBmb3IgcHJvamVjdHMgb3V0c2lkZSBvZiBW QyByZXBvc2l0b3JpZXMuCitUaGVpciBiZWhhdmlvciB3aWxsIHN0aWxsIG9iZXkgdGhlIHJl bGV2YW50IHZhcmlhYmxlcywgc3VjaCBhcworYHByb2plY3QtdmMtaWdub3Jlcycgb3IgYHBy b2plY3QtdmMtbmFtZScuIgorICA6dHlwZSAnbGlzdAorICA6dmVyc2lvbiAiMjkuMSIKKyAg OnNhZmUgKGxhbWJkYSAodmFsKSAoYW5kIChsaXN0cCB2YWwpIChjbC1ldmVyeSAjJ3N0cmlu Z3AgdmFsKSkpKQorCiA7OyBGSVhNRTogVXNpbmcgdGhlIGN1cnJlbnQgYXBwcm9hY2gsIG1h am9yIG1vZGVzIGFyZSBzdXBwb3NlZCB0byBzZXQKIDs7IHRoaXMgdmFyaWFibGUgdG8gYSBi dWZmZXItbG9jYWwgdmFsdWUuICBTbyB3ZSBkb24ndCBoYXZlIGFjY2VzcyB0bwogOzsgdGhl ICJleHRlcm5hbCByb290cyIgb2YgbGFuZ3VhZ2UgQSBmcm9tIGJ1ZmZlcnMgb2YgbGFuZ3Vh Z2UgQiwgd2hpY2gKQEAgLTQ0NywyOCArNDcxLDUwIEBAIHByb2plY3QtdmMtZXh0ZXJuYWwt cm9vdHMtZnVuY3Rpb24KIGJhY2tlbmQgaW1wbGVtZW50YXRpb24gb2YgYHByb2plY3QtZXh0 ZXJuYWwtcm9vdHMnLiIpCiAKIChkZWZ1biBwcm9qZWN0LXRyeS12YyAoZGlyKQorICAoZGVm dmFyIHZjLXN2bi1hZG1pbi1kaXJlY3RvcnkpCisgIChyZXF1aXJlICd2Yy1zdm4pCisgIDs7 IEZJWE1FOiBMZWFybiB0byBpbnZhbGlkYXRlIHdoZW4gdGhlIHZhbHVlIG9mCisgIDs7IGBw cm9qZWN0LXZjLW1lcmdlLXN1Ym1vZHVsZXMnIG9yIGBwcm9qZWN0LXZjLWV4dHJhLXJvb3Qt bWFya2VycycKKyAgOzsgY2hhbmdlcy4KICAgKG9yICh2Yy1maWxlLWdldHByb3AgZGlyICdw cm9qZWN0LXZjKQotICAgICAgKGxldCogKChiYWNrZW5kIChpZ25vcmUtZXJyb3JzICh2Yy1y ZXNwb25zaWJsZS1iYWNrZW5kIGRpcikpKQorICAgICAgKGxldCogKChiYWNrZW5kLW1hcmtl cnMtYWxpc3QgYCgoR2l0IC4gIi5naXQiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoSGcgLiAiLmhnIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKEJ6ciAuICIuYnpyIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKFNWTiAuICx2Yy1zdm4tYWRtaW4tZGlyZWN0b3J5KQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoREFSQ1MgLiAiX2RhcmNzIikKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEZvc3NpbCAuICIuZnNsY2tvdXQiKSkp CisgICAgICAgICAgICAgKGJhY2tlbmQtbWFya2VycworICAgICAgICAgICAgICAoZGVsZXRl CisgICAgICAgICAgICAgICBuaWwKKyAgICAgICAgICAgICAgIChtYXBjYXIKKyAgICAgICAg ICAgICAgICAobGFtYmRhIChiKSAoYXNzb2MtZGVmYXVsdCBiIGJhY2tlbmQtbWFya2Vycy1h bGlzdCkpCisgICAgICAgICAgICAgICAgdmMtaGFuZGxlZC1iYWNrZW5kcykpKQorICAgICAg ICAgICAgIChtYXJrZXItcmUKKyAgICAgICAgICAgICAgKG1hcGNvbmNhdAorICAgICAgICAg ICAgICAgKGxhbWJkYSAobSkgKGZvcm1hdCAiXFwoJXNcXCkiICh3aWxkY2FyZC10by1yZWdl eHAgbSkpKQorICAgICAgICAgICAgICAgKGFwcGVuZCBiYWNrZW5kLW1hcmtlcnMgcHJvamVj dC12Yy1leHRyYS1yb290LW1hcmtlcnMpCisgICAgICAgICAgICAgICAiXFx8IikpCisgICAg ICAgICAgICAgKGxvY2F0ZS1kb21pbmF0aW5nLXN0b3AtZGlyLXJlZ2V4cAorICAgICAgICAg ICAgICAob3IgdmMtaWdub3JlLWRpci1yZWdleHAgbG9jYXRlLWRvbWluYXRpbmctc3RvcC1k aXItcmVnZXhwKSkKKyAgICAgICAgICAgICBsYXN0LW1hdGNoZXMKICAgICAgICAgICAgICAo cm9vdAotICAgICAgICAgICAgICAocGNhc2UgYmFja2VuZAotICAgICAgICAgICAgICAgICgn R2l0Ci0gICAgICAgICAgICAgICAgIDs7IERvbid0IHN0b3AgYXQgc3VibW9kdWxlIGJvdW5k YXJ5LgotICAgICAgICAgICAgICAgICAob3IgKHZjLWZpbGUtZ2V0cHJvcCBkaXIgJ3Byb2pl Y3QtZ2l0LXJvb3QpCi0gICAgICAgICAgICAgICAgICAgICAobGV0ICgocm9vdCAodmMtY2Fs bC1iYWNrZW5kIGJhY2tlbmQgJ3Jvb3QgZGlyKSkpCi0gICAgICAgICAgICAgICAgICAgICAg ICh2Yy1maWxlLXNldHByb3AKLSAgICAgICAgICAgICAgICAgICAgICAgIGRpciAncHJvamVj dC1naXQtcm9vdAotICAgICAgICAgICAgICAgICAgICAgICAgKGlmIChhbmQKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgOzsgRklYTUU6IEludmFsaWRhdGUgdGhlIGNhY2hlIHdo ZW4gdGhlIHZhbHVlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IG9mIHRoaXMg dmFyaWFibGUgY2hhbmdlcy4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVj dC12Yy1tZXJnZS1zdWJtb2R1bGVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChw cm9qZWN0LS1zdWJtb2R1bGUtcCByb290KSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAobGV0KiAoKHBhcmVudCAoZmlsZS1uYW1lLWRpcmVjdG9yeQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZGlyZWN0b3J5LWZpbGUtbmFtZSByb290 KSkpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZjLWNhbGwtYmFja2VuZCBi YWNrZW5kICdyb290IHBhcmVudCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHJvb3Qp KSkpKQotICAgICAgICAgICAgICAgICgnbmlsIG5pbCkKLSAgICAgICAgICAgICAgICAoXyAo aWdub3JlLWVycm9ycyAodmMtY2FsbC1iYWNrZW5kIGJhY2tlbmQgJ3Jvb3QgZGlyKSkpKSkK KyAgICAgICAgICAgICAgKGxvY2F0ZS1kb21pbmF0aW5nLWZpbGUKKyAgICAgICAgICAgICAg IGRpcgorICAgICAgICAgICAgICAgKGxhbWJkYSAoZCkKKyAgICAgICAgICAgICAgICAgKHNl dHEgbGFzdC1tYXRjaGVzIChkaXJlY3RvcnktZmlsZXMgZCBuaWwgbWFya2VyLXJlIHQgMTAw KSkpKSkKKyAgICAgICAgICAgICAoYmFja2VuZAorICAgICAgICAgICAgICAoY2wtZmluZC1p ZgorICAgICAgICAgICAgICAgKGxhbWJkYSAoYikKKyAgICAgICAgICAgICAgICAgKG1lbWJl ciAoYXNzb2MtZGVmYXVsdCBiIGJhY2tlbmQtbWFya2Vycy1hbGlzdCkKKyAgICAgICAgICAg ICAgICAgICAgICAgICBsYXN0LW1hdGNoZXMpKQorICAgICAgICAgICAgICAgdmMtaGFuZGxl ZC1iYWNrZW5kcykpCiAgICAgICAgICAgICAgcHJvamVjdCkKKyAgICAgICAgKHdoZW4gKGFu ZAorICAgICAgICAgICAgICAgKGVxIGJhY2tlbmQgJ0dpdCkKKyAgICAgICAgICAgICAgIHBy b2plY3QtdmMtbWVyZ2Utc3VibW9kdWxlcworICAgICAgICAgICAgICAgKHByb2plY3QtLXN1 Ym1vZHVsZS1wIHJvb3QpKQorICAgICAgICAgIChsZXQqICgocGFyZW50IChmaWxlLW5hbWUt ZGlyZWN0b3J5IChkaXJlY3RvcnktZmlsZS1uYW1lIHJvb3QpKSkpCisgICAgICAgICAgICAo c2V0cSByb290ICh2Yy1jYWxsLWJhY2tlbmQgJ0dpdCAncm9vdCBwYXJlbnQpKSkpCiAgICAg ICAgICh3aGVuIHJvb3QKICAgICAgICAgICAoc2V0cSBwcm9qZWN0IChsaXN0ICd2YyBiYWNr ZW5kIHJvb3QpKQogICAgICAgICAgIDs7IEZJWE1FOiBDYWNoZSBmb3IgYSBzaG9ydGVyIHRp bWUuCkBAIC02MjYsNyArNjcyLDggQEAgcHJvamVjdC1pZ25vcmVzCiAgIChsZXQqICgocm9v dCAobnRoIDIgcHJvamVjdCkpCiAgICAgICAgICBiYWNrZW5kKQogICAgIChhcHBlbmQKLSAg ICAgKHdoZW4gKGZpbGUtZXF1YWwtcCBkaXIgcm9vdCkKKyAgICAgKHdoZW4gKGFuZCBiYWNr ZW5kCisgICAgICAgICAgICAgICAgKGZpbGUtZXF1YWwtcCBkaXIgcm9vdCkpCiAgICAgICAg KHNldHEgYmFja2VuZCAoY2FkciBwcm9qZWN0KSkKICAgICAgICAoZGVscQogICAgICAgICBu aWwK --------------vw1C1bo8xHDjcjJU6Bcg2FPH--