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#69188: 30.0.50; project-files + project-find-file is slow in large repositories Date: Wed, 17 Apr 2024 02:48:44 +0300 Message-ID: <4e8e8f14-26be-4a50-b47b-a0373ce19b9a@gutov.dev> References: <1b566e9e-eca5-4746-8e31-4155d35ce7a8@gutov.dev> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------Ee3iJUYrcK7W1C7AZeYwJ6pY" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="39321"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla Thunderbird To: Spencer Baugh , 69188@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Apr 17 01:50:26 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 1rwsZF-0009zH-5m for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 17 Apr 2024 01:50:26 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rwsYn-0002ZE-4L; Tue, 16 Apr 2024 19:49:57 -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 1rwsYi-0002YH-2T for bug-gnu-emacs@gnu.org; Tue, 16 Apr 2024 19:49:52 -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 1rwsYh-0006Aj-QL for bug-gnu-emacs@gnu.org; Tue, 16 Apr 2024 19:49:51 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rwsYu-0002bk-AI for bug-gnu-emacs@gnu.org; Tue, 16 Apr 2024 19:50:04 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 16 Apr 2024 23:50:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 69188 X-GNU-PR-Package: emacs Original-Received: via spool by 69188-submit@debbugs.gnu.org id=B69188.17133113529504 (code B ref 69188); Tue, 16 Apr 2024 23:50:04 +0000 Original-Received: (at 69188) by debbugs.gnu.org; 16 Apr 2024 23:49:12 +0000 Original-Received: from localhost ([127.0.0.1]:45393 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rwsY3-0002Sx-2T for submit@debbugs.gnu.org; Tue, 16 Apr 2024 19:49:12 -0400 Original-Received: from wfout1-smtp.messagingengine.com ([64.147.123.144]:48631) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rwsXz-0002R5-Tw for 69188@debbugs.gnu.org; Tue, 16 Apr 2024 19:49:09 -0400 Original-Received: from compute6.internal (compute6.nyi.internal [10.202.2.47]) by mailfout.west.internal (Postfix) with ESMTP id 0135F1C00157; Tue, 16 Apr 2024 19:48:47 -0400 (EDT) Original-Received: from mailfrontend1 ([10.202.2.162]) by compute6.internal (MEProxy); Tue, 16 Apr 2024 19:48:48 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm1; t=1713311327; x=1713397727; bh=tgY+jysIeU iHY2U8E5FKK/5vnuIyVpSVeRsavO751VY=; b=AnGwfgGSAcrPYUCezZixpo/w+4 to0GD854wdECk3j4F7hnrxwOckU4wbsDyId5+teMmHS2/eA2Gj8w5uGh9/Js9W7p BhlrtoS7wJztKX05bYA8pv/ESDU/Oz1VhETyTWj/Vvq23ysDfagQWZ5dXq6Rt9ys EB4r5M0//YzEmfcyzIajBfV0b4OUWSZpjC0FUpaYLU+RfGSY9qROV0oJ7CSESbzT 0hYR9R29DSz4s3r2meQf8fDNqS/AwPMzAKhKbYysuXfSiAahhEpEr3NbynogvxYp SN3P7bpYRmETGlm9PZER9jkF6USjXk2YLcXp4gHTpwLmS+2oEOcZJoi1V3yw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; t=1713311327; x=1713397727; bh=tgY+jysIeUiHY2U8E5FKK/5vnuIy VpSVeRsavO751VY=; b=JIJVqp9ROYDMDoDqc0Zvm1ZSkZex9ceTQiSd0WlogpTI JFH9h+6Lh2ispP6bbO10vFWn0jSyh6u9OBQ01+qBV/D4TwgimmEGPx0394Nz1ewc 7txs9SFox3sPRJ4qAxD3tNsLURsAPfb0wm+F0+06FYEbEuci7WkTkD8uTQYKug+i NTwAjCKAajMRxFukUdcmJg5uYRDn2mrrTYeoiu52XM4Um9ac8eD6PNmbrZmc57Mp jeqgVSThZzx3mplBfnMzl8JJPLiN72J8Nsd2cKiVLFnPvl3ktEpxGyaBAOiWZskw gCFBaDRqFISsLEZU8od45i7BkAHsEKtb/ujTT5vXPQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrudejjedgvdefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurheptgfkffggfgfuhffvfhgjsehmtderredtvdejnecuhfhrohhmpeffmhhithhr hicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrthhtvg hrnheptdehfeekledugfettdefudeuueettddvvddvgfdvueeigeegudevleefvdevudeg necuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepughmih htrhihsehguhhtohhvrdguvghv X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Original-Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 16 Apr 2024 19:48:46 -0400 (EDT) Content-Language: en-US In-Reply-To: <1b566e9e-eca5-4746-8e31-4155d35ce7a8@gutov.dev> 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:283463 Archived-At: This is a multi-part message in MIME format. --------------Ee3iJUYrcK7W1C7AZeYwJ6pY Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 13/04/2024 05:34, Dmitry Gutov wrote: > Both options are relatively clunky, and the second one might also fail > to work when DIRS is non-nil (or would have to fall back to absolute > names anyway), so I'm leaning toward the first one. It might also allow > certain code to be written supporting both relative and absolute names > (e.g. a process call both binds default-directory to root and keeps the > file names as-is -- the relative ones would be interpreted as such, the > rest just as they are interpreted now). Here's how that change can look. The patch should demonstrate both the performance improvements for project-find-file and project-find-regexp, and some awkwardness in the implementation, chiefly due to backward compatibility. Guess more tests will be required, at the very least. --------------Ee3iJUYrcK7W1C7AZeYwJ6pY Content-Type: text/x-patch; charset=UTF-8; name="project-files-relative-names.diff" Content-Disposition: attachment; filename="project-files-relative-names.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3AvcHJvZ21vZGVzL3Byb2plY3QuZWwgYi9saXNwL3Byb2dtb2Rl cy9wcm9qZWN0LmVsCmluZGV4IDAwMGEwNTgwNGE4Li41NjdhMjVlMDkwNiAxMDA2NDQKLS0t IGEvbGlzcC9wcm9nbW9kZXMvcHJvamVjdC5lbAorKysgYi9saXNwL3Byb2dtb2Rlcy9wcm9q ZWN0LmVsCkBAIC0zMjMsNiArMzIzLDEyIEBAIHByb2plY3QtLWZpbGUtY29tcGxldGlvbi10 YWJsZQogKGNsLWRlZm1ldGhvZCBwcm9qZWN0LXJvb3QgKChwcm9qZWN0IChoZWFkIHRyYW5z aWVudCkpKQogICAoY2RyIHByb2plY3QpKQogCisoZGVmdmFyIHByb2plY3QtZmlsZXMtcmVs YXRpdmUtbmFtZXMgbmlsCisgICJXaGVuIG5vbi1uaWwsIGBwcm9qZWN0LWZpbGVzJyBpcyBh bGxvd2VkIHRvIHJldHVybiByZWxhdGl2ZSBuYW1lcy4KK1RoZSBuYW1lcyB3aWxsIGJlIHJl bGF0aXZlIHRvIHRoZSBwcm9qZWN0IHJvb3QuICBBbmQgdGhpcyBjYW4gb25seQoraGFwcGVu IHdoZW4gYWxsIHJldHVybmVkIGZpbGVzIGFyZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuIE1l YW5pbmcsIHRoZQorRElSUyBhcmd1bWVudCBoYXMgdG8gYmUgbmlsIG9yIGhhdmUgb25seSBv bmUgZWxlbWVudC4iKQorCiAoY2wtZGVmZ2VuZXJpYyBwcm9qZWN0LWZpbGVzIChwcm9qZWN0 ICZvcHRpb25hbCBkaXJzKQogICAiUmV0dXJuIGEgbGlzdCBvZiBmaWxlcyBpbiBkaXJlY3Rv cmllcyBESVJTIGluIFBST0pFQ1QuCiBESVJTIGlzIGEgbGlzdCBvZiBhYnNvbHV0ZSBkaXJl Y3RvcmllczsgaXQgc2hvdWxkIGJlIHNvbWUKQEAgLTM4MCw4ICszODYsMTAgQEAgcHJvamVj dC0tZmlsZXMtaW4tZGlyZWN0b3J5CiAgICAgICAgICAgICAgICAgcmVzKQogICAgICAgICAg IChzZXRxIHB0IChwb2ludCkpKSkpCiAgICAgKHByb2plY3QtLXJlbW90ZS1maWxlLW5hbWVz Ci0gICAgIChtYXBjYXIgKGxhbWJkYSAocykgKGNvbmNhdCBkZm4gcykpCi0gICAgICAgICAg ICAgKHNvcnQgcmVzICMnc3RyaW5nPCkpKSkpCisgICAgIChpZiBwcm9qZWN0LWZpbGVzLXJl bGF0aXZlLW5hbWVzCisgICAgICAgICAoc29ydCByZXMgIydzdHJpbmc8KQorICAgICAgICht YXBjYXIgKGxhbWJkYSAocykgKGNvbmNhdCBkZm4gcykpCisgICAgICAgICAgICAgICAoc29y dCByZXMgIydzdHJpbmc8KSkpKSkpCiAKIChkZWZ1biBwcm9qZWN0LS1yZW1vdGUtZmlsZS1u YW1lcyAobG9jYWwtZmlsZXMpCiAgICJSZXR1cm4gTE9DQUwtRklMRVMgYXMgaWYgdGhleSB3 ZXJlIG9uIHRoZSBzeXN0ZW0gb2YgYGRlZmF1bHQtZGlyZWN0b3J5Jy4KQEAgLTY4OSw3ICs2 OTcsOSBAQCBwcm9qZWN0LS12Yy1saXN0LWZpbGVzCiAgICAgICAgICAgICAgICAgICAgKG1h cGNhcgogICAgICAgICAgICAgICAgICAgICAobGFtYmRhIChmaWxlKQogICAgICAgICAgICAg ICAgICAgICAgICh1bmxlc3MgKG1lbWJlciBmaWxlIHN1Ym1vZHVsZXMpCi0gICAgICAgICAg ICAgICAgICAgICAgICAoY29uY2F0IGRlZmF1bHQtZGlyZWN0b3J5IGZpbGUpKSkKKyAgICAg ICAgICAgICAgICAgICAgICAgIChpZiBwcm9qZWN0LWZpbGVzLXJlbGF0aXZlLW5hbWVzCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZQorICAgICAgICAgICAgICAgICAgICAg ICAgICAoY29uY2F0IGRlZmF1bHQtZGlyZWN0b3J5IGZpbGUpKSkpCiAgICAgICAgICAgICAg ICAgICAgIChzcGxpdC1zdHJpbmcKICAgICAgICAgICAgICAgICAgICAgIChhcHBseSAjJ3Zj LWdpdC0tcnVuLWNvbW1hbmQtc3RyaW5nIG5pbCAibHMtZmlsZXMiIGFyZ3MpCiAgICAgICAg ICAgICAgICAgICAgICAiXDAiIHQpKSkpCkBAIC03MTYsNyArNzI2LDggQEAgcHJvamVjdC0t dmMtbGlzdC1maWxlcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXIpKQog ICAgICAgICAgICAgKGFyZ3MgKGxpc3QgKGNvbmNhdCAiLW1jYXJkIiAoYW5kIGluY2x1ZGUt dW50cmFja2VkICJ1IikpCiAgICAgICAgICAgICAgICAgICAgICAgICAiLS1uby1zdGF0dXMi Ci0gICAgICAgICAgICAgICAgICAgICAgICAiLTAiKSkpCisgICAgICAgICAgICAgICAgICAg ICAgICAiLTAiKSkKKyAgICAgICAgICAgIGZpbGVzKQogICAgICAgICh3aGVuIGV4dHJhLWln bm9yZXMKICAgICAgICAgIChzZXRxIGFyZ3MgKG5jb25jIGFyZ3MKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChtYXBjYW4KQEAgLTcyNSw5ICs3MzYsMTIgQEAgcHJvamVjdC0tdmMt bGlzdC1maWxlcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhLWlnbm9yZXMp KSkpCiAgICAgICAgKHdpdGgtdGVtcC1idWZmZXIKICAgICAgICAgIChhcHBseSAjJ3ZjLWhn LWNvbW1hbmQgdCAwICIuIiAic3RhdHVzIiBhcmdzKQotICAgICAgICAgKG1hcGNhcgotICAg ICAgICAgIChsYW1iZGEgKHMpIChjb25jYXQgZGVmYXVsdC1kaXJlY3RvcnkgcykpCi0gICAg ICAgICAgKHNwbGl0LXN0cmluZyAoYnVmZmVyLXN0cmluZykgIlwwIiB0KSkpKSkpKQorICAg ICAgICAgKHNldHEgZmlsZXMgKHNwbGl0LXN0cmluZyAoYnVmZmVyLXN0cmluZykgIlwwIiB0 KSkKKyAgICAgICAgICh1bmxlc3MgcHJvamVjdC1maWxlcy1yZWxhdGl2ZS1uYW1lcworICAg ICAgICAgICAoc2V0cSBmaWxlcyAobWFwY2FyCisgICAgICAgICAgICAgICAgICAgICAgICAo bGFtYmRhIChzKSAoY29uY2F0IGRlZmF1bHQtZGlyZWN0b3J5IHMpKQorICAgICAgICAgICAg ICAgICAgICAgICAgZmlsZXMpKSkKKyAgICAgICAgIGZpbGVzKSkpKSkKIAogKGRlZnVuIHBy b2plY3QtLXZjLW1lcmdlLXN1Ym1vZHVsZXMtcCAoZGlyKQogICAocHJvamVjdC0tdmFsdWUt aW4tZGlyCkBAIC05NzAsNiArOTg0LDcgQEAgcHJvamVjdC1maW5kLXJlZ2V4cAogICAobGV0 KiAoKGNhbGxlci1kaXIgZGVmYXVsdC1kaXJlY3RvcnkpCiAgICAgICAgICAocHIgKHByb2pl Y3QtY3VycmVudCB0KSkKICAgICAgICAgIChkZWZhdWx0LWRpcmVjdG9yeSAocHJvamVjdC1y b290IHByKSkKKyAgICAgICAgIChwcm9qZWN0LWZpbGVzLXJlbGF0aXZlLW5hbWVzIHQpCiAg ICAgICAgICAoZmlsZXMKICAgICAgICAgICAoaWYgKG5vdCBjdXJyZW50LXByZWZpeC1hcmcp CiAgICAgICAgICAgICAgIChwcm9qZWN0LWZpbGVzIHByKQpAQCAtMTAwMCw2ICsxMDE1LDgg QEAgcHJvamVjdC1vci1leHRlcm5hbC1maW5kLXJlZ2V4cAogICAocmVxdWlyZSAneHJlZikK ICAgKGxldCogKChwciAocHJvamVjdC1jdXJyZW50IHQpKQogICAgICAgICAgKGRlZmF1bHQt ZGlyZWN0b3J5IChwcm9qZWN0LXJvb3QgcHIpKQorICAgICAgICAgOzsgVE9ETzogTWFrZSB1 c2Ugb2YgYHByb2plY3QtZmlsZXMtcmVsYXRpdmUtbmFtZXMnIGJ5CisgICAgICAgICA7OyBz ZWFyY2hpbmcgZWFjaCByb290IHNlcGFyYXRlbHkgKG1heWJlIGluIHBhcmFsbGVsLCB0b28p LgogICAgICAgICAgKGZpbGVzCiAgICAgICAgICAgKHByb2plY3QtZmlsZXMgcHIgKGNvbnMK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHByb2plY3Qtcm9vdCBwcikKQEAgLTEw NTQsNyArMTA3MSw4IEBAIHByb2plY3QtZmluZC1maWxlCiAgIChpbnRlcmFjdGl2ZSAiUCIp CiAgIChsZXQqICgocHIgKHByb2plY3QtY3VycmVudCB0KSkKICAgICAgICAgIChyb290IChw cm9qZWN0LXJvb3QgcHIpKQotICAgICAgICAgKGRpcnMgKGxpc3Qgcm9vdCkpKQorICAgICAg ICAgKGRpcnMgKGxpc3Qgcm9vdCkpCisgICAgICAgICAocHJvamVjdC1maWxlcy1yZWxhdGl2 ZS1uYW1lcyB0KSkKICAgICAocHJvamVjdC1maW5kLWZpbGUtaW4KICAgICAgKG9yICh0aGlu Zy1hdC1wb2ludCAnZmlsZW5hbWUpCiAgICAgICAgICAoYW5kIGJ1ZmZlci1maWxlLW5hbWUg KHByb2plY3QtLWZpbmQtZGVmYXVsdC1mcm9tIGJ1ZmZlci1maWxlLW5hbWUgcHIpKSkKQEAg LTExMzAsNyArMTE0OCwxMiBAQCBwcm9qZWN0LS1yZWFkLWZpbGUtY3BkLXJlbGF0aXZlCiAg ICAgICAgICAgICAoaWYgKD4gKGxlbmd0aCBjb21tb24tcHJlZml4KSAwKQogICAgICAgICAg ICAgICAgIChmaWxlLW5hbWUtZGlyZWN0b3J5IGNvbW1vbi1wcmVmaXgpKSkpCiAgICAgICAg ICAoY3BkLWxlbmd0aCAobGVuZ3RoIGNvbW1vbi1wYXJlbnQtZGlyZWN0b3J5KSkKLSAgICAg ICAgIChwcm9tcHQgKGlmICh6ZXJvcCBjcGQtbGVuZ3RoKQorICAgICAgICAgKGNvbW1vbi1w YXJlbnQtZGlyZWN0b3J5IChpZiAoZmlsZS1uYW1lLWFic29sdXRlLXAgKGNhciBhbGwtZmls ZXMpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tb24tcGFy ZW50LWRpcmVjdG9yeQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNv bmNhdCBkZWZhdWx0LWRpcmVjdG9yeSBjb21tb24tcGFyZW50LWRpcmVjdG9yeSkpKQorICAg ICAgICAgKHByb21wdCAoaWYgKGFuZCAoemVyb3AgY3BkLWxlbmd0aCkKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgYWxsLWZpbGVzCisgICAgICAgICAgICAgICAgICAgICAgICAgIChm aWxlLW5hbWUtYWJzb2x1dGUtcCAoY2FyIGFsbC1maWxlcykpKQogICAgICAgICAgICAgICAg ICAgICAgcHJvbXB0CiAgICAgICAgICAgICAgICAgICAgKGNvbmNhdCBwcm9tcHQgKGZvcm1h dCAiIGluICVzIiBjb21tb24tcGFyZW50LWRpcmVjdG9yeSkpKSkKICAgICAgICAgIChpbmNs dWRlZC1jcGQgKHdoZW4gKG1lbWJlciBjb21tb24tcGFyZW50LWRpcmVjdG9yeSBhbGwtZmls ZXMpCkBAIC0xMTY4LDYgKzExOTEsNyBAQCBwcm9qZWN0LS1yZWFkLWZpbGUtYWJzb2x1dGUK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsbC1maWxlcyAmb3B0aW9u YWwgcHJlZGljYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaXN0 IG1iLWRlZmF1bHQpCiAgIChwcm9qZWN0LS1jb21wbGV0aW5nLXJlYWQtc3RyaWN0IHByb21w dAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBGSVhNRTogTWFwIHJl bGF0aXZlIG5hbWVzIHRvIGFic29sdXRlPwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAocHJvamVjdC0tZmlsZS1jb21wbGV0aW9uLXRhYmxlIGFsbC1maWxlcykKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlZGljYXRlCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGhpc3QgbWItZGVmYXVsdCkpCkBAIC0xMjE1LDYg KzEyMzksNyBAQCBwcm9qZWN0LWZpbmQtZmlsZS1pbgogICAgICAgICAgICAgICAgZGlycykK ICAgICAgICAgICAgIChwcm9qZWN0LWZpbGVzIHByb2plY3QgZGlycykpKQogICAgICAgICAg KGNvbXBsZXRpb24taWdub3JlLWNhc2UgcmVhZC1maWxlLW5hbWUtY29tcGxldGlvbi1pZ25v cmUtY2FzZSkKKyAgICAgICAgIChkZWZhdWx0LWRpcmVjdG9yeSAocHJvamVjdC1yb290IHBy b2plY3QpKQogICAgICAgICAgKGZpbGUgKHByb2plY3QtLXJlYWQtZmlsZS1uYW1lCiAgICAg ICAgICAgICAgICAgcHJvamVjdCAiRmluZCBmaWxlIgogICAgICAgICAgICAgICAgIGFsbC1m aWxlcyBuaWwgJ2ZpbGUtbmFtZS1oaXN0b3J5CmRpZmYgLS1naXQgYS9saXNwL3Byb2dtb2Rl cy94cmVmLmVsIGIvbGlzcC9wcm9nbW9kZXMveHJlZi5lbAppbmRleCA3NTVjM2RiMDRmZC4u MjlmYzZjZDU2MGYgMTAwNjQ0Ci0tLSBhL2xpc3AvcHJvZ21vZGVzL3hyZWYuZWwKKysrIGIv bGlzcC9wcm9nbW9kZXMveHJlZi5lbApAQCAtMTkyMiw3ICsxOTIyLDggQEAgeHJlZi1tYXRj aGVzLWluLWZpbGVzCiAgICAgICAgKGhpdHMgbmlsKQogICAgICAgIDs7IFN1cHBvcnQgZm9y IHJlbW90ZSBmaWxlcy4gIFRoZSBhc3N1bXB0aW9uIGlzIHRoYXQsIGlmIHRoZQogICAgICAg IDs7IGZpcnN0IGZpbGUgaXMgcmVtb3RlLCB0aGV5IGFsbCBhcmUsIGFuZCBvbiB0aGUgc2Ft ZSBob3N0LgotICAgICAgIChkaXIgKGZpbGUtbmFtZS1kaXJlY3RvcnkgKGNhciBmaWxlcykp KQorICAgICAgIChkaXIgKG9yIChmaWxlLW5hbWUtZGlyZWN0b3J5IChjYXIgZmlsZXMpKQor ICAgICAgICAgICAgICAgIGRlZmF1bHQtZGlyZWN0b3J5KSkKICAgICAgICAocmVtb3RlLWlk IChmaWxlLXJlbW90ZS1wIGRpcikpCiAgICAgICAgOzsgVGhlICdhdXRvJyBkZWZhdWx0IHdv dWxkIGJlIGZpbmUgdG9vLCBidXQgcmlwZ3JlcCBjYW4ndCBoYW5kbGUKICAgICAgICA7OyB0 aGUgb3B0aW9ucyB3ZSBwYXNzIGluIHRoYXQgY2FzZS4K --------------Ee3iJUYrcK7W1C7AZeYwJ6pY--