From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms13.migadu.com with LMTPS id kEdXHASwlGbdngAA62LTzQ:P1 (envelope-from ) for ; Mon, 15 Jul 2024 05:13:40 +0000 Received: from aspmx1.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1.migadu.com with LMTPS id kEdXHASwlGbdngAA62LTzQ (envelope-from ) for ; Mon, 15 Jul 2024 07:13:40 +0200 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=7d.nz header.s=20240212 header.b=IrLgzz2a; dmarc=pass (policy=reject) header.from=7d.nz; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1721020420; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=NgM3qcrUBTlgQ8McSZ+CB2XgAMxNoa3HORMH37kN98E=; b=krvOr2WKZ5YeM3mS+bd+up1FfeMKycIE4Z+WF7T8uYqENzcTeEhoVKOAWbpm4dNKER/CjT i52Mwt/ibFRW0SWaB+pfsoU1gqTpX9xjtyc6571F7riwwTHrhGRySXt5ruzq6+WRIg6Pm6 ObYOcWIZsglXtK/shGHQWES1Wk/ODZIoILvI1LM4qiYP4WVPDh4xEnfbUTe8l7/KZQTOF9 JPcArPwj0YOUT4Y7dwG9jhO+ZbuPNB+U4+TNq2DQiddirR81UgRQxMeScjzYFguln6dTRQ KCOx0Xa4THpjbvbP7ux5YOWXs0iR9Bj5nfTFp9fh4uv/GHbtTzJJYebNOYtQsQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1721020420; a=rsa-sha256; cv=none; b=qS/XW5CJ5/e3LQq08M0QbbUOZctqnfIephxQTXWbQcBCO9Ok6EvHytjmol6mF7aKPg7u+D p0YW0ALMZeWE5ShFBpwzIJkBbsLerSSzD468mgkaJ8FM4xJN23V7mH2WFUBxtIa4Y59Zih j0rY5L9YDzu0qVpuGHiR7KD/gXVAXKQb5vKI50ab/TDGppex2n4n3spvwA/WDU7+paKEpF ae5n6jV0MzC9gFDZPxqOrJSTfowVkBYpVnPdZ8WSFL3Zby2cstQpBSGaehPWQu+wQpVuxu 5hxYroHH9XaG6P3Od3ybLovQNSWhSv5G0BZRcWr8ITxXe8sBTIoczbXDhr3yvQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=7d.nz header.s=20240212 header.b=IrLgzz2a; dmarc=pass (policy=reject) header.from=7d.nz; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 34DBD684CA for ; Mon, 15 Jul 2024 07:13:40 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sTE0t-0002Hl-0x; Mon, 15 Jul 2024 01:12:39 -0400 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 1sTE0r-0002HX-P4 for emacs-orgmode@gnu.org; Mon, 15 Jul 2024 01:12:37 -0400 Received: from smtp-8fa8.mail.infomaniak.ch ([2001:1600:4:17::8fa8]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sTE0l-0005bH-Ok for emacs-orgmode@gnu.org; Mon, 15 Jul 2024 01:12:37 -0400 Received: from smtp-3-0000.mail.infomaniak.ch (smtp-3-0000.mail.infomaniak.ch [10.4.36.107]) by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4WMr1640frzQNb; Mon, 15 Jul 2024 07:12:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=7d.nz; s=20240212; t=1721020346; bh=NgM3qcrUBTlgQ8McSZ+CB2XgAMxNoa3HORMH37kN98E=; h=Date:From:Subject:To:Cc:References:In-Reply-To:From; b=IrLgzz2aOvZLHi6lVA6z34mu8zo3Y25KP3GGJTvGlFqDTul0srwjJC48KFfwozf5I O/wAM6xolSYD6IQ+TM67yQwN1w62cz5DSUCDMfEaKwUUPsJo5+/9uWkaxKyGWEgx7p MzBFf/Ju5SsbN4Jb+rVeJZ6xioQhfjdgx6Le0TWyafDwBeF4V6nZNHQ1sWe02XsPhq 26D31W/JG7SGHt59qZw9GRXVQWSK+zpfWvshWm1gHfc4Hx1A91aSEeHWNLAYlBfjTC 8JYraAzdiWmIEMwsAz96nSblSjVsaIG4cBCvGj9RNz4piSFfR6+9tOZATY18mfbEd8 TqygPPbtpZT6g== Received: from unknown by smtp-3-0000.mail.infomaniak.ch (Postfix) with ESMTPA id 4WMr1608K1zKWX; Mon, 15 Jul 2024 07:12:25 +0200 (CEST) Content-Type: multipart/mixed; boundary="------------RtA0AyPJuHaakrg7umY200b5" Message-ID: Date: Mon, 15 Jul 2024 07:12:31 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: Phil Subject: Re: [FR] org-babel-n-tangle To: Ihor Radchenko Cc: emacs-orgmode@gnu.org References: <6a7129e2-9d26-4292-b8d1-1a3e3db90f4b@7d.nz> <87ed7y4zwu.fsf@localhost> Content-Language: fr, en-US In-Reply-To: <87ed7y4zwu.fsf@localhost> X-Infomaniak-Routing: alpha Received-SPF: pass client-ip=2001:1600:4:17::8fa8; envelope-from=pe@7d.nz; helo=smtp-8fa8.mail.infomaniak.ch X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, T_SPF_TEMPERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Queue-Id: 34DBD684CA X-Migadu-Scanner: mx12.migadu.com X-Migadu-Spam-Score: -8.93 X-Spam-Score: -8.93 X-TUID: /jVBN8cWl9Kf This is a multi-part message in MIME format. --------------RtA0AyPJuHaakrg7umY200b5 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit * [2024-07-12 13:23] Ihor Radchenko:> Phil writes: >> To tangle to multiple destinations > > a logic extension of the existing tangle mechanism. > 1) Introduce :tangle-directory parameter that defines > relative directory to be used as tangle target; this > directory, if defined, will be used instead of the Org > file directory to expand the tangle target; > 2) Allow :tangle-directory and :tangle-file to be a list > of targets to write. > > Then, we can modify `org-babel-effective-tangled-filename' > to account for :tangle directory and modify > `org-babel-tangle' (as you did) to write to multiple > targets. All right. So I have it working for single blocks by modifying only `org-babel-tangle' with :tangle-directory accepting a single string or a list, e.g. :tangle-directory '("dir1" "/ssh:host1:/dir2" "/-::/etc") The option is ignored for file-wide tangle. What do you think of, instead of adding :tangle-directory, modifying :tangle to make it accept also a list? Since I may not get back to this in the next weeks, I'm saving the following note and a patch as a current status of the function for later. =:tangle-directory dir= is set - Tangle globally |--------+------------------+--------------| | tangle | expected result | current | |--------+------------------+--------------| | yes | ignore dir | | no | ignore dir | | file | block → dir/file?| block → file | |--------+------------------+--------------| - Tangle a single block |--------+------------------+---------------------------| | tangle | expected result | current | |--------+------------------+---------------------------| | yes | ? | dir/[org-folder/org-file] | | no | error? | dir (as file or folder) | | file | tangle to TD+dir | tangle to TD+dir | |--------+------------------+---------------------------| Cheers, Phil --------------RtA0AyPJuHaakrg7umY200b5 Content-Type: text/x-patch; charset=UTF-8; name="0001-add-header-arg-tangle-directory.patch" Content-Disposition: attachment; filename="0001-add-header-arg-tangle-directory.patch" Content-Transfer-Encoding: base64 RnJvbSAzNjA5MzhiNDNhOWM2YTczMTExNDg0MGM5YjZkYjdjNzlmNzg2MTE2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsIEVzdGl2YWwgPHBlQDdkLm56PgpEYXRlOiBT YXQsIDEzIEp1bCAyMDI0IDE0OjQ2OjA4ICswMjAwClN1YmplY3Q6IFtQQVRDSF0gYWRkIGhl YWRlci1hcmcgOnRhbmdsZS1kaXJlY3RvcnkgZGVjbGFyZXMgYSBkaXJlY3Rvcnkgb3IgYQog bGlzdCBvZiBkaXJlY3RvcmllcyBhcyBwYXJlbnQocykgdG8gdGhlIDp0YW5nbGUgYXJndW1l bnQKCi0tLQogbGlzcC9vYi10YW5nbGUuZWwgICAgICAgICAgICAgIHwgMTYgKysrKysrLS0K IHRlc3RpbmcvbGlzcC90ZXN0LW9iLXRhbmdsZS5lbCB8IDcyICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKy0KIDIgZmlsZXMgY2hhbmdlZCwgODQgaW5zZXJ0aW9ucygrKSwg NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saXNwL29iLXRhbmdsZS5lbCBiL2xpc3Av b2ItdGFuZ2xlLmVsCmluZGV4IGM4OTc2M2VmYS4uYzQ5NDU3MWRjIDEwMDY0NAotLS0gYS9s aXNwL29iLXRhbmdsZS5lbAorKysgYi9saXNwL29iLXRhbmdsZS5lbApAQCAtMjY5LDExICsy NjksMjAgQEAgbWF0Y2hpbmcgYSByZWd1bGFyIGV4cHJlc3Npb24uIgogCSAgICAgKHdoZW4g KGVxdWFsIGFyZyAnKDE2KSkKIAkgICAgICAgKG9yIChjZHIgKGFzc3EgOnRhbmdsZSAobnRo IDIgKG9yZy1iYWJlbC1nZXQtc3JjLWJsb2NrLWluZm8gJ25vLWV2YWwpKSkpCiAJCSAgICh1 c2VyLWVycm9yICJQb2ludCBpcyBub3QgaW4gYSBzb3VyY2UgY29kZSBibG9jayIpKSkpCisg ICAgICAgICAgICAoZGlycyAoY2RyIChhc3NxIDp0YW5nbGUtZGlyZWN0b3J5IChudGggMiAo b3JnLWJhYmVsLWdldC1zcmMtYmxvY2staW5mbykpKSkpCiAJICAgIHBhdGgtY29sbGVjdG9y Ci0gICAgICAgICAgICAoc291cmNlLWZpbGUgYnVmZmVyLWZpbGUtbmFtZSkpCi0JKG1hcGMg OzsgbWFwIG92ZXIgZmlsZS1uYW1lcworICAgICAgKHNvdXJjZS1maWxlIGJ1ZmZlci1maWxl LW5hbWUpKQorCisgICAgICAgIChzZXRxIGRpcnMgKGNsLWNhc2UgKHR5cGUtb2YgZGlycykK KyAgICAgICAgICAgICAgICAgICAgIChzdHJpbmcgKGxpc3QgZGlycykpCisgICAgICAgICAg ICAgICAgICAgICAoY29ucyBkaXJzKQorICAgICAgICAgICAgICAgICAgICAgKHN5bWJvbCAn KG5pbCkpKSkKKworCShkb2xpc3QgKGRpciBkaXJzKSA7IGl0ZXJhdGUgdGhlIG4tdGFuZ2xl IGdyb3VwCisgICAgICAgICAgKHByb2duCisJKG1hcGMgOyBtYXAgb3ZlciBkaXJlY3Rvcmll cwogCSAobGFtYmRhIChieS1mbikKLQkgICAobGV0ICgoZmlsZS1uYW1lIChjYXIgYnktZm4p KSkKKwkgICAobGV0ICgoZmlsZS1uYW1lIChjb25jYXQgZGlyIChjYXIgYnktZm4pKSkpCiAJ ICAgICAod2hlbiBmaWxlLW5hbWUKICAgICAgICAgICAgICAgIChsZXQgKChsc3BlY3MgKGNk ciBieS1mbikpCiAJCSAgICAgKGZuZCAoZmlsZS1uYW1lLWRpcmVjdG9yeSBmaWxlLW5hbWUp KQpAQCAtMzU0LDYgKzM2Myw3IEBAIG1hdGNoaW5nIGEgcmVndWxhciBleHByZXNzaW9uLiIK IAkgKGlmIChlcXVhbCBhcmcgJyg0KSkKIAkgICAgIChvcmctYmFiZWwtdGFuZ2xlLXNpbmds ZS1ibG9jayAxIHQpCiAJICAgKG9yZy1iYWJlbC10YW5nbGUtY29sbGVjdC1ibG9ja3MgbGFu Zy1yZSB0YW5nbGUtZmlsZSkpKQorICAgICAgICApKQogCShtZXNzYWdlICJUYW5nbGVkICVk IGNvZGUgYmxvY2slcyBmcm9tICVzIiBibG9jay1jb3VudGVyCiAJCSAoaWYgKD0gYmxvY2st Y291bnRlciAxKSAiIiAicyIpCiAJCSAoZmlsZS1uYW1lLW5vbmRpcmVjdG9yeQpkaWZmIC0t Z2l0IGEvdGVzdGluZy9saXNwL3Rlc3Qtb2ItdGFuZ2xlLmVsIGIvdGVzdGluZy9saXNwL3Rl c3Qtb2ItdGFuZ2xlLmVsCmluZGV4IGUxM2JjYTBjYi4uYTcyNWNkYjE0IDEwMDY0NAotLS0g YS90ZXN0aW5nL2xpc3AvdGVzdC1vYi10YW5nbGUuZWwKKysrIGIvdGVzdGluZy9saXNwL3Rl c3Qtb2ItdGFuZ2xlLmVsCkBAIC0yNyw2ICsyNyw3IEBACiAKIChyZXF1aXJlICdzdWJyLXgp CiAocmVxdWlyZSAnb2ItdGFuZ2xlKQorKHJlcXVpcmUgJ2ZpbmQtZmlsZSkKIChyZXF1aXJl ICdvcmcpCiAKIDs7IFRPRE8KQEAgLTY2MCw3ICs2NjEsMTMgQEAgYW5vdGhlciBibG9jawog CiAjK2JlZ2luX3NyYyBlbWFjcy1saXNwIDp0YW5nbGUgfi8uLi8uLi90bXAvYWJzb2x1dGUu ZWwKIFwiSDI6IDp0YW5nbGUgfi8uLi8uLi90bXAvYWJzb2x1dGUuZWxcIgotIytlbmRfc3Jj IgorIytlbmRfc3JjCisKKyMrYmVnaW5fc3JjIGVtYWNzLWxpc3AgOnRhbmdsZS1kaXJlY3Rv cnkgJyhcIi90bXAvYS9cIiBcInRtcC9iL1wiKSA6dGFuZ2xlIG11bHRpcGxlLmVsCitcIkgy OiA6dGFuZ2xlIC90bXAvbXVsdGlwbGUuZWxcIgorIytlbmRfc3JjCisKKyIKICAgICAgICAg ICAgICAgICAgICAgYCgoP2EgLiAsZWwtZmlsZS1hYnMpCiAgICAgICAgICAgICAgICAgICAg ICAgKD9yIC4gLGVsLWZpbGUtcmVsKSkpKQogICAgICAgOzsgV2UgY2hlY2sgdGhlIGNvbGxl Y3RlZCBibG9ja3MgdG8gdGFuZ2xlIGJ5IGNvdW50aW5nIGVxdWFsCkBAIC02OTksNiArNzA2 LDcgQEAgYW5vdGhlciBibG9jawogICAgICAgICAgIChzaG91bGQgKGVxdWFsCiAgICAgICAg ICAgICAgICAgICAgKGZ1bmNhbGwgbm9ybWFsaXplLWV4cGVjdGVkLXRhcmdldHMtYWxpc3QK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgKCgiL3RtcC9hYnNvbHV0ZS5lbCIgLiA0 KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCIvdG1wL211bHRpcGxlLmVsIiAu IDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInJlbGF0aXZlLmVsIiAuIDUp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBEZWZhdWx0IDp0YW5nbGUgaGVh ZGVyIG5vdyBhbHNvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBwb2ludHMg dG8gdGhlIGZpbGUgbmFtZSBkZXJpdmVkIGZyb20gdGhlIG5hbWUgb2YKQEAgLTcwNyw2ICs3 MTUsNjggQEAgYW5vdGhlciBibG9jawogICAgICAgICAgICAgICAgICAgIChmdW5jYWxsIGNv dW50LWJsb2Nrcy1pbi10YXJnZXQtZmlsZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAob3JnLWJhYmVsLXRhbmdsZS1jb2xsZWN0LWJsb2NrcykpKSkpKSkpKQogCisoZXJ0LWRl ZnRlc3Qgb2ItdGFuZ2xlL2RpcmVjdG9yeSAoKQorICAiVGVzdCBpZiBvYi10YW5nbGUvZGly ZWN0b3J5IHdvcmtzIGNvcnJlY3RseSBmb3Igb25lIGRpcmVjdG9yeS4iCisgIChzaG91bGQK KyAgIChlcXVhbCAnKCIxIikKKyAgICAgICAgICAobGV0KiAoCisgICAgICAgICAgICAgICAg IChkaXIgKG1ha2UtdGVtcC1maWxlICJvcmctdGFuZ2xlLWRpci10ZXN0LSIgdCkpCisgICAg ICAgICAgICAgICAgIChmaWxlbmFtZSAobWQ1KGZvcm1hdCAiJXMiIChjdXJyZW50LXRpbWUp KSkpCisgICAgICAgICAgICAgICAgIChmaWxlIChjb25jYXQgZGlyICIvIiBmaWxlbmFtZSkp CisgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICh1bndpbmQtcHJvdGVjdAorICAg ICAgICAgICAgICAgIChwcm9nbgorICAgICAgICAgICAgICAgICAgKG9yZy10ZXN0LXdpdGgt dGVtcC10ZXh0LWluLWZpbGUKKyAgICAgICAgICAgICAgICAgICAgICAoZm9ybWF0ICIKKyMr YmVnaW5fc3JjIGVsaXNwIDp0YW5nbGUtZGlyZWN0b3J5ICVzIDp0YW5nbGUgLyVzIDxwb2lu dD4KKzEKKyMrZW5kX3NyYworIiBkaXIgZmlsZW5hbWUpCisgICAgICAgICAgICAgICAgICAg IChsZXQgKChvcmctYmFiZWwtbm93ZWItZXJyb3ItYWxsLWxhbmdzIG5pbCkKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgKG9yZy1iYWJlbC1ub3dlYi1lcnJvci1sYW5ncyBuaWwpKQor ICAgICAgICAgICAgICAgICAgICAgIChvcmctYmFiZWwtdGFuZ2xlICcoNCkpKSkKKworICAg ICAgICAgICAgICAgICAgICAod2l0aC10ZW1wLWJ1ZmZlcgorICAgICAgICAgICAgICAgICAg ICAgIChpbnNlcnQtZmlsZS1jb250ZW50cyBmaWxlKQorICAgICAgICAgICAgICAgICAgICAg IChvcmctc3BsaXQtc3RyaW5nIChidWZmZXItc3RyaW5nKSkpKQorCisgICAgICAgICAgICAo ZGVsZXRlLWZpbGUgZmlsZSkpKQorICAgICAgICAgICkpKQorCisKKyhlcnQtZGVmdGVzdCBv Yi10YW5nbGUvbXVsdGlwbGUtZGlyZWN0b3JpZXMgKCkKKyAgIlRlc3QgaWYgb2ItdGFuZ2xl L2RpcmVjdG9yeSB3b3JrcyBjb3JyZWN0bHkgZm9yIG11bHRpcGxlIGRpcmVjdG9yeS4iCisg IChzaG91bGQKKyAgIChlcXVhbCAnKCIxIiAiMSIpCisgICAgICAgICAgKGxldCogKAorICAg ICAgICAgICAgICAgICAoZGlyMSAobWFrZS10ZW1wLWZpbGUgIm9yZy10YW5nbGUtZGlyLXRl c3QtIiB0KSkKKyAgICAgICAgICAgICAgICAgKGRpcjIgKG1ha2UtdGVtcC1maWxlICJvcmct dGFuZ2xlLWRpci10ZXN0LSIgdCkpCisgICAgICAgICAgICAgICAgIChmaWxlbmFtZSAobWQ1 KGZvcm1hdCAiJXMiIChjdXJyZW50LXRpbWUpKSkpCisgICAgICAgICAgICAgICAgIChmaWxl MSAoY29uY2F0IGRpcjEgIi8iIGZpbGVuYW1lKSkKKyAgICAgICAgICAgICAgICAgKGZpbGUy IChjb25jYXQgZGlyMiAiLyIgZmlsZW5hbWUpKQorICAgICAgICAgICAgICAgICApCisgICAg ICAgICAgICAodW53aW5kLXByb3RlY3QKKyAgICAgICAgICAgICAgICAocHJvZ24KKyAgICAg ICAgICAgICAgICAgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dC1pbi1maWxlCisgICAgICAg ICAgICAgICAgICAgICAgKGZvcm1hdCAiCisjK2JlZ2luX3NyYyBlbGlzcCA6dGFuZ2xlLWRp cmVjdG9yeSAnKFwiJXNcIiBcIiVzXCIpIDp0YW5nbGUgLyVzIDxwb2ludD4KKzEKKyMrZW5k X3NyYworIiBkaXIxIGRpcjIgZmlsZW5hbWUpCisgICAgICAgICAgICAgICAgICAgIChsZXQg KChvcmctYmFiZWwtbm93ZWItZXJyb3ItYWxsLWxhbmdzIG5pbCkKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgKG9yZy1iYWJlbC1ub3dlYi1lcnJvci1sYW5ncyBuaWwpKQorICAgICAg ICAgICAgICAgICAgICAgIChvcmctYmFiZWwtdGFuZ2xlICcoNCkpKSkKKworICAgICAgICAg ICAgICAgICAgICAod2l0aC10ZW1wLWJ1ZmZlcgorICAgICAgICAgICAgICAgICAgICAgIChp bnNlcnQtZmlsZS1jb250ZW50cyBmaWxlMSkKKyAgICAgICAgICAgICAgICAgICAgICAoaW5z ZXJ0LWZpbGUtY29udGVudHMgZmlsZTIpCisgICAgICAgICAgICAgICAgICAgICAgKG9yZy1z cGxpdC1zdHJpbmcgKGJ1ZmZlci1zdHJpbmcpKSkpCisgICAgICAgICAgICAgIChwcm9nbgor ICAgICAgICAgICAgICAgIChkZWxldGUtZmlsZSBmaWxlMSkKKyAgICAgICAgICAgICAgICAo ZGVsZXRlLWZpbGUgZmlsZTIpKSkpCisgICAgICAgICAgKSkpCisKKwogKHByb3ZpZGUgJ3Rl c3Qtb2ItdGFuZ2xlKQogCiA7OzsgdGVzdC1vYi10YW5nbGUuZWwgZW5kcyBoZXJlCi0tIAoy LjM5LjIKCg== --------------RtA0AyPJuHaakrg7umY200b5--