From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id 8ItCMqTahGFiAQEAgWs5BA (envelope-from ) for ; Fri, 05 Nov 2021 08:17:56 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id eMLsLaTahGFfRQAA1q6Kng (envelope-from ) for ; Fri, 05 Nov 2021 07:17:56 +0000 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 13A2530615 for ; Fri, 5 Nov 2021 08:17:56 +0100 (CET) Received: from localhost ([::1]:46870 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mitU1-0000si-Ke for larch@yhetil.org; Fri, 05 Nov 2021 03:17:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:49112) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mitTV-0000sY-AE for emacs-orgmode@gnu.org; Fri, 05 Nov 2021 03:17:21 -0400 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]:39662) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mitTG-0004BJ-10 for emacs-orgmode@gnu.org; Fri, 05 Nov 2021 03:17:21 -0400 Received: by mail-wr1-x42e.google.com with SMTP id d27so12263210wrb.6 for ; Fri, 05 Nov 2021 00:17:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vicarious-living-com.20210112.gappssmtp.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=mAz5GRaRjDvbzzEAxmcWZIC8rgVBd2yOXsdMWCn1G2I=; b=d2PuquNEs0UJOFc8xC9C0VdPXWOZN1/O2SWDkStzQK0mUbTjj6PKBX2N7XHZpy8kLi vv8ycZNLXr3sZ+N8VYqcuD1m7v/l/2Q/glGGoBnYZt3v0bGU2s/TGxkQLMjQ5JQMsSdn 94iIkkCu39lXhEJx0hGOWHB0YtvkYSdln/iAj0iOA+8JPUuKr4sCX9AqZnFLp5sfDfRb M+hjNvb6SRVoaajGO/63U5nB1uFkASx8ikmwAG6hejQgKUk+j1gEG5Fx6WCom68qE2WA E+oyGKCcNn2U7VtD92KhMsOI0WDxp8nDTPrx3MaQ+75g/e3ddJm22eQ/BkUGfxFE6pVK TI8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=mAz5GRaRjDvbzzEAxmcWZIC8rgVBd2yOXsdMWCn1G2I=; b=GhhWKFzSUxG9hMjek/PjSv2y3p2FL33HRIj5/TbJNSzQdCafSMvYwgfkspVMEvmgmz 9ynEVBAZF7xPE9gpZo9t1lzjSm22G0lX4scUFUxXu0ILe9qe1E3iCJ5K/B1fhjqdk2Fo MM+uPeApwfw+eLfMK4o9oeSfMRVQIJcVXcaW3Bprn9/9h+aBp7LAMeNW7IATNvR9qQ7Z cdGMM8nFADVSxSVvxBBPbjXbu9BEJztcln5p7M22S3OY9WRHk/7yew0g+OweE9e3d6le /AmZLLCnNMjKjsFKnNbIhFBwpg160seQ9QDNuQqnAtHc73DP3lKKJjR6PmKeuYKOT7XV Ml4g== X-Gm-Message-State: AOAM531azy7mo03fxpWHY+wTu8y/NYu38LnQ7uh+XRQbtZKJWJ27nwqb tKzwGTgogfTuQGYWJOaXoN6TDX9+RV4pocVWpW6V0g== X-Google-Smtp-Source: ABdhPJz/odLKji3xpBB2t2QtUSye1WFdIfDInoQvmHrWOHtMCEwi4VVDQjqwf61cTBAE+wr6ZxESFQLcxAV2OKxoCpU= X-Received: by 2002:a5d:548f:: with SMTP id h15mr69284018wrv.99.1636096623277; Fri, 05 Nov 2021 00:17:03 -0700 (PDT) MIME-Version: 1.0 References: <981938.1630590273@apollo2.minshall.org> <87czpqjqvw.fsf@localhost> In-Reply-To: From: Ryan Scott Date: Fri, 5 Nov 2021 00:16:52 -0700 Message-ID: Subject: Re: [PATCH] Re: New source block results option for attaching file to node To: numbchild@gmail.com Content-Type: multipart/mixed; boundary="0000000000000c9c7d05d0056eaf" Received-SPF: none client-ip=2a00:1450:4864:20::42e; envelope-from=ryan@vicarious-living.com; helo=mail-wr1-x42e.google.com X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=no 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: , Cc: Greg Minshall , emacs-orgmode@gnu.org, Ihor Radchenko , Timothy Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1636096676; 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=fVPGlUiesKj0B+uvuJ5jN92cB0hstMJ0wIkEgkMkeGM=; b=D2cjSv/zfa+kpZ73NKzctURTNUNQRDfBsSZaSYzxNZVPbz37cIXmAfMnYmHeWRIY1XX86q 1gq7cc6x5uvuJpLv4NKF5G97jeI7W1pcuJvnQTBBm5FQkQBUJzQgmnGF8vXWmT1L5bUJWS b1LsUTJM0HMIrtlvyIwWgpsgPdNOmqiKQ93jvBFL1yHU4JZkUiZoJs7slds8d5yb53Ymll OupExPKdbA5QCcg7BBie3kTSDTo3HnNAQOBUEtWQK5k3jOD1iCpWXm2pGYpepo0dGTrzbQ 97B+E3jtsdSVteLkp6c7o9X0hS3FVaStcOzd4RFfqIOnQobh83gY3EJikRqrYA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1636096676; a=rsa-sha256; cv=none; b=bRa8CMQz50Ywy7bN9gcVfBIFmBggu2VbG8BajSrhsMzGxZRlbgeCmfsw8HmU/vqH6IQ2rg r32MQDBNrgINsF1tna460/82+wj2lGBHpJiysxOgjmhTRubVZiCahCzMeY5sTfFrBzp4hN dIhG9r3cQpC4v51Vz3VkZA6+yi5JH/ybEDAx6RFaPU7C2MTPWpipx8eGjKS2cedH4xRnCn K4jEmbxLBKNJQ+mx5MdbuCXUmi3hpkNTZ1guWOTmYmnCV4qcNMrz6DQJ53BdxC8IigkALU ewHf88yPUSYiX9XMGuK4C+nTEDI70sX42NHqkPIyDdMgaCOBKvc/Bqpjh+ijWw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=vicarious-living-com.20210112.gappssmtp.com header.s=20210112 header.b=d2PuquNE; spf=pass (aspmx1.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Migadu-Spam-Score: -1.42 Authentication-Results: aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=vicarious-living-com.20210112.gappssmtp.com header.s=20210112 header.b=d2PuquNE; dmarc=none; spf=pass (aspmx1.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Migadu-Queue-Id: 13A2530615 X-Spam-Score: -1.42 X-Migadu-Scanner: scn0.migadu.com X-TUID: fdT6okPWJQHl --0000000000000c9c7d05d0056eaf Content-Type: multipart/alternative; boundary="0000000000000c9c7b05d0056ead" --0000000000000c9c7b05d0056ead Content-Type: text/plain; charset="UTF-8" Here's my latest patch. Uses special :dir value 'attach to use attachment directory as working dir. Now prompts to create IDs for nodes that are missing. Solved a handful of issues with my previous versions of this and I've been using it regularly for a bit now. I've added documentation and completed the copyright assignment to the FSF. On Mon, Oct 4, 2021 at 6:05 PM Ryan Scott wrote: > I've been working through a few different approaches. What's shaping up is > something more general, having a special value for directory parameters > (i.e. 'attach) and auto-detection of link paths that are in the attachment > directory. > The latest iterations don't move any files around, so can't actually > enforce the output directory. That makes it safer overall as with my > initial patch if you were to return a path to something you *didn't* want > moved to your attachment directory you might get very surprising results. > > I'll post a new patch with a different approach in a little bit. > > On Mon, Oct 4, 2021 at 5:06 PM Christopher M. Miles > wrote: > >> Ihor Radchenko writes: >> >> Greg Minshall writes: >>> >>> i can imagine wanting to have input files and output files in separate >>>> directories. (for ease in "make clean", if for no other conceptual reason.) >>>> (but, probably i don't understand.) >>>> >>> I agree with this thought. We should separate two directories. >> >> Makes sense. Currently, there is :dir header arg to set working directory >>> (aka input files directory). Maybe we can introduce something like >>> :results-dir header arg to set the output directory? It's value can be a >>> directory path or symbol 'attach. >>> >>> `:results file :results-dir 'attach` will be equivalent of `:results >>> file attach` in the patch proposed by Ryan Scott. >>> >>> WDYT? >>> >> I agree with this idea. Use :results-dir 'attach is better. >> >> Will the patch be updated? >> >> Best, Ihor >>> >> >> <#secure method=pgpmime mode=sign> >> -- >> [ stardiviner ] >> I try to make every word tell the meaning that I want to express. >> >> Blog: https://stardiviner.github.io/ >> IRC(freenode): stardiviner, Matrix: stardiviner >> GPG: F09F650D7D674819892591401B5DF1C95AE89AC3 >> > --0000000000000c9c7b05d0056ead Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Here's my latest patch.
Uses special :d= ir value 'attach to use attachment directory as working dir. Now prompt= s to create IDs for nodes that are missing.
Solved a handful of i= ssues with my previous versions of this and I've been using it regularl= y for a bit now.

I've added documentation and = completed the copyright assignment to the FSF.

On Mon, Oct 4, 2021= at 6:05 PM Ryan Scott <rya= n@vicarious-living.com> wrote:
I've been working through a= few different approaches. What's shaping up is something more general,= having a special value for directory parameters (i.e. 'attach) and aut= o-detection of link paths that are in the attachment directory.
T= he latest iterations don't move any files around, so can't actually= enforce the output directory. That makes it safer overall as with my initi= al patch if you were to return a path to something you didn't wa= nt moved to your attachment directory you might get very surprising results= .

I'll post a new patch with a different appro= ach in a little bit.

On Mon, Oct 4, 2021 at 5:06 PM Christopher M. Mil= es <numbchild@g= mail.com> wrote:

Ihor Radchenko <= yantar92@gmail.com> writes:

Greg Minshall <minshall@umich.edu> writes:

i can imagine wanting to have input files and output files in separate directories. (for ease in "make clean",= if for no other conceptual reason.) (but, probably i don't understand.)

I agree with this thought. We should separate two directories.

Makes sense. Currently, there is :dir header arg to set working directory (aka input files directory). Maybe we can introduce something like :results-dir header arg to set the output directory? It's value ca= n be a directory path or symbol 'attach.

`:results file :results-dir 'attach` will be equivalent of `:results file attach` in the patch proposed by Ryan Scott.

WDYT?

I agree with this idea. Use :results-dir 'attach is better= .

Will the patch be updated?

Best, Ihor


<#secure method=3Dpgpmime mode=3Dsign>
--
[ stardiviner ]
=C2=A0 =C2=A0 =C2=A0 =C2=A0I try to make every word tell the meaning that I= want to express.

=C2=A0 =C2=A0 =C2=A0 =C2=A0Blog: https://stardiviner.github.io/ =C2=A0 =C2=A0 =C2=A0 =C2=A0IRC(freenode): stardiviner, Matrix: stardiviner<= br> =C2=A0 =C2=A0 =C2=A0 =C2=A0GPG: F09F650D7D674819892591401B5DF1C95AE89AC3
--0000000000000c9c7b05d0056ead-- --0000000000000c9c7d05d0056eaf Content-Type: application/octet-stream; name="org-src-block-results-attach-dir.patch" Content-Disposition: attachment; filename="org-src-block-results-attach-dir.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kvm1n7ug0 RnJvbSA1ZjA4MDZmMWI0OTAwNmU1OTc3YzgxMDBmYTNlMzM2YTRlMGUxMzQ3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUnlhbiBDLiBTY290dCIgPHJ5YW5ANXBtY2FzdWFsLmNvbT4K RGF0ZTogTW9uLCA0IE9jdCAyMDIxIDE5OjA2OjI2IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gb2It Y29yZS5lbC9iYWJlbDogU3BlY2lhbCBoYW5kbGluZyBmb3IgYXR0YWNobWVudCBsaW5rcyBpbgog c3JjIGJsb2NrCgoqIG9iLWNvcmUuZWwgKG9yZy1iYWJlbC1tZXJnZS1wYXJhbXMpOiBTcGVjaWZ5 aW5nIHRoZSBzeW1ib2wgJ2F0dGFjaGAKb3Igc3RyaW5nICInYXR0YWNoIiBhcyB0aGUgdmFsdWUg b2YgdGhlIGA6ZGlyJyBoZWFkZXIgbm93IGZ1bmN0aW9ucyBhcwoiOmRpciAob3JnLWF0dGFjaC1k aXIgbmlsIHQpIDpta2RpcnAgdCIKKG9yZy1iYWJlbC1yZXN1bHQtdG8tZmlsZSk6IE9wdGlvbmFs IGBUWVBFJyBhcmd1bWVudCBhY2NlcHRzIHN5bWJvbAonYXR0YWNobWVudGAgdG8gZml4dXAgdXAg cGF0aHMgdW5kZXIgYChvcmctYXR0YWNoLWRpciknIGFuZCB1c2UgdGhlCmxpbmsgdHlwZSAiYXR0 YWNobWVudDoiIHdoZW4gdGhhdCBpcyBkZXRlY3RlZC4KKG9yZy1iYWJlbC1pbnNlcnQtcmVzdWx0 KTogUGFzcyBzeW1ib2wgYGF0dGFjaG1lbnQnIGFzIGBUWVBFJyB0bwpgb3JnLWJhYmVsLXJlc3Vs dC10by1maWxlJwoqIG9yZy1hdHRhY2guZWwgKG9yZy1hdHRhY2gtZGlyKTogQWRkZWQgYXV0b2xv YWQgaGVhZGVyIHRvIHNpbXBsaWZ5CmRlcGVuZGVuY2llcyBuZWNlc3NhcnkgdG8gc3VwcG9ydCB0 aGlzIGZlYXR1cmUgKGNhbGxlZCBpbgpgb3JnLWJhYmVsLW1lcmdlLXBhcmFtcycpLgotLS0KIGRv Yy9vcmctbWFudWFsLm9yZyB8ICA2ICsrKysKIGV0Yy9PUkctTkVXUyAgICAgICB8ICA3ICsrKysr CiBsaXNwL29iLWNvcmUuZWwgICAgfCA3NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tCiBsaXNwL29yZy1hdHRhY2guZWwgfCAgMSArCiA0IGZpbGVzIGNoYW5n ZWQsIDY5IGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9v cmctbWFudWFsLm9yZyBiL2RvYy9vcmctbWFudWFsLm9yZwppbmRleCBkMzRkMzM1NjEuLjZhYjM0 MGE1YSAxMDA2NDQKLS0tIGEvZG9jL29yZy1tYW51YWwub3JnCisrKyBiL2RvYy9vcmctbWFudWFs Lm9yZwpAQCAtMTcyMzIsNiArMTcyMzIsMTIgQEAgZGlyZWN0b3J5IHdpdGgge3t7a2JkKE0teCBj ZCBSRVQgRElSRUNUT1JZKX19fSwgYW5kIHRoZW4gbm90IHNldHRpbmcKID1kaXI9LiAgVW5kZXIg dGhlIHN1cmZhY2UsID1kaXI9IHNpbXBseSBzZXRzIHRoZSB2YWx1ZSBvZiB0aGUgRW1hY3MKIHZh cmlhYmxlIH5kZWZhdWx0LWRpcmVjdG9yeX4uICBTZXR0aW5nID1ta2RpcnA9IGhlYWRlciBhcmd1 bWVudCB0bwogYSBub24tfm5pbH4gdmFsdWUgY3JlYXRlcyB0aGUgZGlyZWN0b3J5LCBpZiBuZWNl c3NhcnkuCitTZXR0aW5nID1kaXI9IHRvIHRoZSBzeW1ib2wgfmF0dGFjaH4gb3IgdGhlIHN0cmlu ZyB+IidhdHRhY2gifiB3aWxsCitzZXQgPWRpcj0gdG8gdGhlIGRpcmVjdG9yeSByZXR1cm5lZCBi eSB+KG9yZy1hdHRhY2gtZGlyKX4sIHNldCA9Om1rZGlyCit5ZXM9LCBhbmQgaW5zZXJ0IGFueSBm aWxlIHBhdGhzLCBhcyB3aGVuIHVzaW5nID06cmVzdWx0cyBmaWxlPSwgd2hpY2gKK2FyZSB1bmRl ciB0aGUgbm9kZSdzIGF0dGFjaG1lbnQgZGlyZWN0b3J5IHVzaW5nID1hdHRhY2htZW50Oj0gbGlu a3MKK2luc3RlYWQgb2YgdGhlIHVzdWFsID1maWxlOj0gbGlua3MuIEFueSByZXR1cm5lZCBwYXRo IG91dHNpZGUgb2YgdGhlCithdHRhY2htZW50IGRpcmVjdG9yeSB3aWxsIHVzZSA9ZmlsZTo9IGxp bmtzIGFzIHBlciB1c3VhbC4KIAogRm9yIGV4YW1wbGUsIHRvIHNhdmUgdGhlIHBsb3QgZmlsZSBp biB0aGUgPVdvcmsvPSBmb2xkZXIgb2YgdGhlIGhvbWUKIGRpcmVjdG9yeS0tLW5vdGljZSB0aWxk ZSBpcyBleHBhbmRlZDoKZGlmZiAtLWdpdCBhL2V0Yy9PUkctTkVXUyBiL2V0Yy9PUkctTkVXUwpp bmRleCA4M2E2N2RhOTYuLmQwZDU0Y2JiNSAxMDA2NDQKLS0tIGEvZXRjL09SRy1ORVdTCisrKyBi L2V0Yy9PUkctTkVXUwpAQCAtMzU0LDYgKzM1NCwxMyBAQCBhcmd1bWVudCBpcyBwcmVzZW50LiAg WW91IGNhbiBhbHNvIHNldCA9OmFzeW5jIG5vPSB0byBmb3JjZSBpdCBvZmYKIAogQXN5bmMgZXZh bHVhdGlvbiBpcyBkaXNhYmxlZCBkdXJpbmcgZXhwb3J0LgogCisqKiogTmV3IHNwZWNpYWwgdmFs dWUgfidhdHRhY2h+IGZvciBzcmMgYmxvY2sgPTpkaXI9IG9wdGlvbgorCitQYXNzaW5nIHRoZSBz eW1ib2wgfmF0dGFjaH4gb3Igc3RyaW5nID0nYXR0YWNoPSB0byB0aGUgPTpkaXI9IG9wdGlvbgor b2YgYSBzcmMgYmxvY2sgaXMgbm93IGVxdWl2YWxlbnQgdG8gPTpkaXIgKG9yZy1hdHRhY2gtZGly KSA6bWtkaXIgeWVzPSBhbmQgYW55CitmaWxlIHJlc3VsdHMgd2l0aCBhIHBhdGggZGVzY2VuZGVk IGZyb20gdGhlIGF0dGFjaG1lbnQgZGlyZWN0b3J5IHdpbGwgdXNlCis9YXR0YWNobWVudDo9IHN0 eWxlIGxpbmtzIGluc3RlYWQgb2YgdGhlIHN0YW5kYXJkID1maWxlOj0gbGluayB0eXBlLgorCiAq KiBNaXNjZWxsYW5lb3VzCiAqKiogPW9yZy1iaWJ0ZXg9IGluY2x1ZGVzID1kb2k9IGFuZCA9dXJs PSBlbnRyaWVzIHdoZW4gZXhwb3J0aW5nIHRvIEJpQlRlWAogPWRvaT0gYW5kID11cmw9IGVudHJp ZXMgaGF2ZSBiZWVuIG1hZGUgb3B0aW9uYWwgZm9yIHNvbWUgcHVibGljYXRpb24KZGlmZiAtLWdp dCBhL2xpc3Avb2ItY29yZS5lbCBiL2xpc3Avb2ItY29yZS5lbAppbmRleCAzODRjMDZjOWEuLjA1 NTIyY2EyNCAxMDA2NDQKLS0tIGEvbGlzcC9vYi1jb3JlLmVsCisrKyBiL2xpc3Avb2ItY29yZS5l bApAQCAtMjI0MSwxMSArMjI0MSwxNCBAQCBJTkZPIG1heSBwcm92aWRlIHRoZSB2YWx1ZXMgb2Yg dGhlc2UgaGVhZGVyIGFyZ3VtZW50cyAoaW4gdGhlCiAgIChjb25kICgoc3RyaW5ncCByZXN1bHQp CiAJIChzZXRxIHJlc3VsdCAob3JnLW5vLXByb3BlcnRpZXMgcmVzdWx0KSkKIAkgKHdoZW4gKG1l bWJlciAiZmlsZSIgcmVzdWx0LXBhcmFtcykKLQkgICAoc2V0cSByZXN1bHQgKG9yZy1iYWJlbC1y ZXN1bHQtdG8tZmlsZQotCQkJIHJlc3VsdAotCQkJIChvcmctYmFiZWwtLWZpbGUtZGVzYyAobnRo IDIgaW5mbykgcmVzdWx0KSkpKSkKKwkgICAoc2V0cSByZXN1bHQKKyAgICAgICAgICAgICAgICAg KG9yZy1iYWJlbC1yZXN1bHQtdG8tZmlsZQorCQkgIHJlc3VsdAorCQkgIChvcmctYmFiZWwtLWZp bGUtZGVzYyAobnRoIDIgaW5mbykgcmVzdWx0KQorICAgICAgICAgICAgICAgICAgJ2F0dGFjaG1l bnQpKSkpCiAJKChsaXN0cCByZXN1bHQpKQogCSh0IChzZXRxIHJlc3VsdCAoZm9ybWF0ICIlUyIg cmVzdWx0KSkpKQorCiAgIChpZiAoYW5kIHJlc3VsdC1wYXJhbXMgKG1lbWJlciAic2lsZW50IiBy ZXN1bHQtcGFyYW1zKSkKICAgICAgIChwcm9nbiAobWVzc2FnZSAocmVwbGFjZS1yZWdleHAtaW4t c3RyaW5nICIlIiAiJSUiIChmb3JtYXQgIiVTIiByZXN1bHQpKSkKIAkgICAgIHJlc3VsdCkKQEAg LTI1NDgsMjcgKzI1NTEsNDcgQEAgaW4gdGhlIGJ1ZmZlci4iCiAJCSAobGluZS1iZWdpbm5pbmct cG9zaXRpb24gMikpCiAJICAgICAocG9pbnQpKSkpKSkKIAotKGRlZnVuIG9yZy1iYWJlbC1yZXN1 bHQtdG8tZmlsZSAocmVzdWx0ICZvcHRpb25hbCBkZXNjcmlwdGlvbikKKyhkZWZ1biBvcmctYmFi ZWwtcmVzdWx0LXRvLWZpbGUgKHJlc3VsdCAmb3B0aW9uYWwgZGVzY3JpcHRpb24gdHlwZSkKICAg IkNvbnZlcnQgUkVTVUxUIGludG8gYW4gT3JnIGxpbmsgd2l0aCBvcHRpb25hbCBERVNDUklQVElP Ti4KIElmIHRoZSBgZGVmYXVsdC1kaXJlY3RvcnknIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBjb250 YWluaW5nCi1maWxlJ3MgZGlyZWN0b3J5IHRoZW4gZXhwYW5kIHJlbGF0aXZlIGxpbmtzLiIKK2Zp bGUncyBkaXJlY3RvcnkgdGhlbiBleHBhbmQgcmVsYXRpdmUgbGlua3MuCisKK0lmIHRoZSBvcHRp b25hbCBUWVBFIGlzIHBhc3NlZCBhcyAnYXR0YWNobWVudGAgYW5kIHRoZSBwYXRoIGlzIGEKK2Rl c2NlbmRhbnQgb2YgdGhlIERFRkFVTFQtRElSRUNUT1JZLCB0aGUgZ2VuZXJhdGVkIGxpbmsgd2ls bCBiZQorc3BlY2lmaWVkIGFzIGFuIGFuIFwiYXR0YWNobWVudDpcIiBzdHlsZSBsaW5rIgogICAo d2hlbiAoc3RyaW5ncCByZXN1bHQpCi0gICAgKGxldCAoKHNhbWUtZGlyZWN0b3J5PwotCSAgIChh bmQgKGJ1ZmZlci1maWxlLW5hbWUgKGJ1ZmZlci1iYXNlLWJ1ZmZlcikpCi0JCShub3QgKHN0cmlu Zz0gKGV4cGFuZC1maWxlLW5hbWUgZGVmYXVsdC1kaXJlY3RvcnkpCi0JCQkgICAgKGV4cGFuZC1m aWxlLW5hbWUKLQkJCSAgICAgKGZpbGUtbmFtZS1kaXJlY3RvcnkKLQkJCSAgICAgIChidWZmZXIt ZmlsZS1uYW1lIChidWZmZXItYmFzZS1idWZmZXIpKSkpKSkpKSkKLSAgICAgIChmb3JtYXQgIltb ZmlsZTolc10lc10iCi0JICAgICAgKGlmIChhbmQgZGVmYXVsdC1kaXJlY3RvcnkKLQkJICAgICAg IChidWZmZXItZmlsZS1uYW1lIChidWZmZXItYmFzZS1idWZmZXIpKSBzYW1lLWRpcmVjdG9yeT8p Ci0JCSAgKGlmIChlcSBvcmctbGluay1maWxlLXBhdGgtdHlwZSAnYWRhcHRpdmUpCi0JCSAgICAg IChmaWxlLXJlbGF0aXZlLW5hbWUKLQkJICAgICAgIChleHBhbmQtZmlsZS1uYW1lIHJlc3VsdCBk ZWZhdWx0LWRpcmVjdG9yeSkKLQkJICAgICAgIChmaWxlLW5hbWUtZGlyZWN0b3J5Ci0JCQkoYnVm ZmVyLWZpbGUtbmFtZSAoYnVmZmVyLWJhc2UtYnVmZmVyKSkpKQotCQkgICAgKGV4cGFuZC1maWxl LW5hbWUgcmVzdWx0IGRlZmF1bHQtZGlyZWN0b3J5KSkKLQkJcmVzdWx0KQorICAgIChsZXQqICgo cmVzdWx0LWZpbGUtbmFtZSAoZXhwYW5kLWZpbGUtbmFtZSByZXN1bHQpKQorICAgICAgICAgICAo YmFzZS1maWxlLW5hbWUgKGJ1ZmZlci1maWxlLW5hbWUgKGJ1ZmZlci1iYXNlLWJ1ZmZlcikpKQor ICAgICAgICAgICAoYmFzZS1kaXJlY3RvcnkgKGZpbGUtbmFtZS1kaXJlY3RvcnkgYmFzZS1maWxl LW5hbWUpKQorICAgICAgICAgICAoc2FtZS1kaXJlY3Rvcnk/CisJICAgIChhbmQgYmFzZS1maWxl LW5hbWUKKwkgICAgICAgICAobm90IChzdHJpbmc9IChleHBhbmQtZmlsZS1uYW1lIGRlZmF1bHQt ZGlyZWN0b3J5KQorCQkJICAgICAgIChleHBhbmQtZmlsZS1uYW1lCisJCQkgICAgICAgIGJhc2Ut ZGlyZWN0b3J5KSkpKSkKKyAgICAgICAgICAgKHJlcXVlc3QtYXR0YWNobWVudCAoZXEgdHlwZSAn YXR0YWNobWVudCkpCisgICAgICAgICAgIChhdHRhY2gtZGlyICh3aGVuIHJlcXVlc3QtYXR0YWNo bWVudAorICAgICAgICAgICAgICAgICAgICAgICAgIChsZXQgKChkZWZhdWx0LWRpcmVjdG9yeSBi YXNlLWRpcmVjdG9yeSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAob3JnLWF0dGFjaC1k aXIgbmlsIHQpKSkpCisgICAgICAgICAgIChhdHRhY2gtZGlyLWxlbiAod2hlbiByZXF1ZXN0LWF0 dGFjaG1lbnQgKGxlbmd0aCBhdHRhY2gtZGlyKSkpCisgICAgICAgICAgIChpbi1hdHRhY2gtZGly ICh3aGVuIChhbmQgcmVxdWVzdC1hdHRhY2htZW50ICg+IChsZW5ndGggcmVzdWx0LWZpbGUtbmFt ZSkgYXR0YWNoLWRpci1sZW4pKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmc9 CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdWJzdHJpbmcgcmVzdWx0LWZpbGUtbmFt ZSAwIGF0dGFjaC1kaXItbGVuKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRhY2gt ZGlyKSkpKQorICAgICAgKGZvcm1hdCAiW1slczolc10lc10iCisgICAgICAgICAgICAgIChwY2Fz ZSB0eXBlCisgICAgICAgICAgICAgICAgKChhbmQgJ2F0dGFjaG1lbnQgKGd1YXJkIGluLWF0dGFj aC1kaXIpKSAiYXR0YWNobWVudCIpCisgICAgICAgICAgICAgICAgKF8gImZpbGUiKSkKKyAgICAg ICAgICAgICAgKGlmIChhbmQgcmVxdWVzdC1hdHRhY2htZW50IGluLWF0dGFjaC1kaXIpCisgICAg ICAgICAgICAgICAgICAoZmlsZS1yZWxhdGl2ZS1uYW1lIHJlc3VsdC1maWxlLW5hbWUpCisJICAg ICAgICAoaWYgKGFuZCBkZWZhdWx0LWRpcmVjdG9yeQorCQkgICAgICAgICBiYXNlLWZpbGUtbmFt ZSBzYW1lLWRpcmVjdG9yeT8pCisJCSAgICAoaWYgKGVxIG9yZy1saW5rLWZpbGUtcGF0aC10eXBl ICdhZGFwdGl2ZSkKKwkJICAgICAgICAoZmlsZS1yZWxhdGl2ZS1uYW1lCisJCSAgICAgICAgIHJl c3VsdC1maWxlLW5hbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAoZmlsZS1uYW1lLWRpcmVj dG9yeQorCQkJICBiYXNlLWZpbGUtbmFtZSkpCisJCSAgICAgIHJlc3VsdC1maWxlLW5hbWUpCisJ CSAgcmVzdWx0KSkKIAkgICAgICAoaWYgZGVzY3JpcHRpb24gKGNvbmNhdCAiWyIgZGVzY3JpcHRp b24gIl0iKSAiIikpKSkpCiAKIChkZWZ1biBvcmctYmFiZWwtZXhhbXBsaWZ5LXJlZ2lvbiAoYmVn IGVuZCAmb3B0aW9uYWwgcmVzdWx0cy1zd2l0Y2hlcyBpbmxpbmUpCkBAIC0yNjk4LDYgKzI3MjEs MTcgQEAgcGFyYW1ldGVycyB3aGVuIG1lcmdpbmcgbGlzdHMuIgogCQkJCSAgZXhwb3J0cy1leGNs dXNpdmUtZ3JvdXBzCiAJCQkJICBleHBvcnRzCiAJCQkJICAoc3BsaXQtc3RyaW5nIChvciB2YWx1 ZSAiIikpKSkpCisgICAgICAgICAgKChvciAnKDpkaXIgLiBhdHRhY2gpICcoOmRpciAuICInYXR0 YWNoIikpCisgICAgICAgICAgICh1bmxlc3MgKG9yZy1pZC1nZXQpCisgICAgICAgICAgICAgKGlm ICh5LW9yLW4tcCAoZm9ybWF0ICJDcmVhdGUgSUQgZm9yIGVudHJ5IFwiJXNcIj8iCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvcmctZ2V0LWhlYWRpbmcgdCB0IHQgdCkpKQor ICAgICAgICAgICAgICAgICAob3JnLWlkLWdldC1jcmVhdGUpCisgICAgICAgICAgICAgICAoZXJy b3IgIkNhbid0IGF0dGFjaCB0byBlbnRyeSBcIiVzXCIuIEVudHJ5IGhhcyBubyBJRCIKKyAgICAg ICAgICAgICAgICAgICAgICAob3JnLWdldC1oZWFkaW5nIHQgdCB0IHQpKSkpCisgICAgICAgICAg IChzZXRxIHBhcmFtcyAoYXBwZW5kCisgICAgICAgICAgICAgICAgICAgICAgICAgYCgoOmRpciAu ICwob3JnLWF0dGFjaC1kaXIgbmlsIHQpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgKDpt a2RpcnAgLiAieWVzIikpCisgICAgICAgICAgICAgICAgICAgICAgICAgKGFzc3EtZGVsZXRlLWFs bCA6ZGlyIChhc3NxLWRlbGV0ZS1hbGwgOm1rZGlyIHBhcmFtcykpKSkpCiAJICA7OyBSZWd1bGFy IGtleXdvcmRzOiBhbnkgdmFsdWUgb3ZlcndyaXRlcyB0aGUgcHJldmlvdXMgb25lLgogCSAgKF8g KHNldHEgcGFyYW1zIChjb25zIHBhaXIgKGFzc3EtZGVsZXRlLWFsbCAoY2FyIHBhaXIpIHBhcmFt cykpKSkpKSkKICAgICA7OyBIYW5kbGUgYDp2YXInIGFuZCBjbGVhciBvdXQgY29sbmFtZXMgYW5k IHJvd25hbWVzIGZvciByZXBsYWNlZApkaWZmIC0tZ2l0IGEvbGlzcC9vcmctYXR0YWNoLmVsIGIv bGlzcC9vcmctYXR0YWNoLmVsCmluZGV4IGYxODQ1MzEwMy4uYjA2Yjg1MzYwIDEwMDY0NAotLS0g YS9saXNwL29yZy1hdHRhY2guZWwKKysrIGIvbGlzcC9vcmctYXR0YWNoLmVsCkBAIC0zMjMsNiAr MzIzLDcgQEAgU2hvd3MgYSBsaXN0IG9mIGNvbW1hbmRzIGFuZCBwcm9tcHRzIGZvciBhbm90aGVy IGtleSB0byBleGVjdXRlIGEgY29tbWFuZC4iCiAJICAgIChjYWxsLWludGVyYWN0aXZlbHkgY29t bWFuZCkKIAkgIChlcnJvciAiTm8gc3VjaCBhdHRhY2htZW50IGNvbW1hbmQ6ICVjIiBjKSkpKSkp CiAKKzs7OyMjI2F1dG9sb2FkCiAoZGVmdW4gb3JnLWF0dGFjaC1kaXIgKCZvcHRpb25hbCBjcmVh dGUtaWYtbm90LWV4aXN0cy1wIG5vLWZzLWNoZWNrKQogICAiUmV0dXJuIHRoZSBkaXJlY3Rvcnkg YXNzb2NpYXRlZCB3aXRoIHRoZSBjdXJyZW50IG91dGxpbmUgbm9kZS4KIEZpcnN0IGNoZWNrIGZv ciBESVIgcHJvcGVydHksIHRoZW4gSUQgcHJvcGVydHkuCi0tIAoyLjMzLjAud2luZG93cy4yCgo= --0000000000000c9c7d05d0056eaf--