From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms13.migadu.com with LMTPS id 8KksIAYfY2eyZgAAqHPOHw:P1 (envelope-from ) for ; Wed, 18 Dec 2024 19:14:14 +0000 Received: from aspmx1.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0.migadu.com with LMTPS id 8KksIAYfY2eyZgAAqHPOHw (envelope-from ) for ; Wed, 18 Dec 2024 20:14:14 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmx.at header.s=s31663417 header.b=LBEZnS+z; 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"; dmarc=pass (policy=quarantine) header.from=gmx.at ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1734549254; 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=Gs9x8bQKv1i7F21TOdoJofAyab7W+kDOWUW3J0A4w2c=; b=C05EvO8Zbb5R+n+pw2jgyUHhiyhupzGex4nlAvrQ8I2Nm3NhmXmz80X4qrzcHNKKFnNqCd Hpj9T8LL3wn78F9fCrMQURLn5br2F2LA92OYc7kqU9wCMFd6xHo8sLTjDwz+T6wkRhhrIS knhtNppihxxCJPxkxhYgMfBx3GKSk3+qToeQkfnqg0TILy5AWFuiWT01eHCh6i8GYjAFpm xExImMA6nJFm0ISJdCB39JmBg/KDIt/8WMvHfIRPSX7C/JDfaINpf9u5p5M+bP5awvSkz0 IY8ATbrUnVVEY5CywQ3FbunwCakUevsxXSEmNLVKe/cOwdWTtrhRH2Icll7+XA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmx.at header.s=s31663417 header.b=LBEZnS+z; 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"; dmarc=pass (policy=quarantine) header.from=gmx.at ARC-Seal: i=1; s=key1; d=yhetil.org; t=1734549254; a=rsa-sha256; cv=none; b=b8KPVmhvr/7kfMIvCm9DZMeZiYFllsyARy70u3nK4hhnsjT3TCix/8SR2N2KaK59Mk8BBS k/ZtOHPg6HKASJNfZ2AM3d+KlYwt1WxRT+/DlF9ee/PaknvkR0kvPTWkg4iNphMW4lDV6W vt8lIWtKtAVN8DuIae2b58nWipmVoV7IlTyqYa1hjDh7e6fI9y/EZEWLIySOHo+e6jKyaK 4cKQ8wVMpYjoUAof8zu+L3dNORbrfNO8eBlQqrG07i7UDEo2OVC0ryFq33SDd1d+Lo25ZX AQkXUSikBK9Sr4librdJZtB26dCP4jT9k9AQ2BDgOltPzHOxgJDxu9Y2ELmAhw== 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 2B5D155D6A for ; Wed, 18 Dec 2024 20:14:14 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tNzU6-0007x3-U7; Wed, 18 Dec 2024 14:13:27 -0500 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 1tNzU4-0007we-4O; Wed, 18 Dec 2024 14:13:24 -0500 Received: from mout.gmx.net ([212.227.17.20]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tNzU1-0007Tz-RL; Wed, 18 Dec 2024 14:13:23 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.at; s=s31663417; t=1734549195; x=1735153995; i=rudalics@gmx.at; bh=Gs9x8bQKv1i7F21TOdoJofAyab7W+kDOWUW3J0A4w2c=; h=X-UI-Sender-Class:Content-Type:Message-ID:Date:MIME-Version: Subject:To:Cc:References:From:In-Reply-To:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=LBEZnS+zNPur0gl/t/U40iiXhTYX/2diVSg4Qli/xm1Wn0UtrBDOMMh2PXRjwSXE AlsJSxfF/JoHOFmF9dMNdJvStCK5YJQzatXiz86mg+g+ydLKw8X0BGEngzRs3qsB9 q9wAhKx/1gqBd/XpMFKY1RpSMf5oE6Bjtd4iX2dJIndex7MtXXnlTVRvaoOBypfdZ Ga8v8ttji9SqOKe4kKcxUu0j/1QUXNHnEGVH7Ly1OhwpnFrgJt2ME41a+mx8G/lBS GknVM/FxVjsfpl7gA0YKxQR/U9pMsJoKgR0MGIWMXFsjWYMYwfIIeblpA/qR7Svc9 lpkX6Lyn5mGk6NzHEg== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.31.113] ([213.142.96.93]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MBm1U-1tIVqJ1dls-00BISF; Wed, 18 Dec 2024 20:13:15 +0100 Content-Type: multipart/mixed; boundary="------------SiKmiJGxq7byYyU0bx35UQ0u" Message-ID: <4a276720-259e-458a-a0ea-53cdd24e8ee6@gmx.at> Date: Wed, 18 Dec 2024 20:13:14 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: May we have a variant of display-buffer-reuse-window that considers indirect buffers? To: Ihor Radchenko Cc: Juri Linkov , =?UTF-8?Q?S=C3=A9bastien_Gendre?= , Org Mode List , emacs-devel@gnu.org References: <878qtycdmi.fsf@k-7.ch> <87msgx7yo5.fsf@localhost> <87ttb42i1b.fsf@mail.linkov.net> <87r067cxi6.fsf@localhost> <87y10e6uyf.fsf@localhost> <9d81cb95-8d46-4c51-8daa-d7c8fb44413a@gmx.at> <87o7187t44.fsf@localhost> Content-Language: en-US From: martin rudalics In-Reply-To: <87o7187t44.fsf@localhost> X-Provags-ID: V03:K1:IF4PdS8GvUBkSMbAVaB1W/kHvGkTDqhJG+WDTzJY3pTNDfNLATF 8SWGFVfFee1yME6tRI6Jq9DY5Eix7dyP6JU+9oPypoZaW2zA0wQ/IvoxxfR8Fw0etEemilk nYkbTJ8Zgg7LpN4KJPcZNa6jmqdOqKhTMUFy9xfQXWxT7jm6l5+PC+TgEc03OBNIVCpzWVz mMjAbnGmOhj8q1h5u8/2A== UI-OutboundReport: notjunk:1;M01:P0:UAbIfpNr0K8=;LPagl21jrN3hWSQ97xhEacdxsmb aoOIvy7EnlbQKxlisp54AikEN4+lPWZPCXBdBoXdm2ikJpYPWVIqdImkPPFGpkeWVlfp20V8e uNuWNVJPK/++FlvqIqA+u+ieJvyLJ4qj3pyIslzkXUloM5E0Sxdg9ntC/zGSjUXkwljJuRVqN TGXUnikiAF9tSx4eY/Fsyft5dUOA1G9oaA7WkngSUNMlPv6C1CObaB6mKIdXSiPzExk5VNfoc zXiEbvIYfT1F1mXocK/gWYIq1O7cBgkoVyVUDItylMAGDMr2VKtvp+8P7BJio3vNyRWdDSybz h/gHpP00tR6Wty3ycRDT3qWV7+qQoBqLjz9i3Ua52n1EjR8+m5vW0cO2HpaVpbdJbzlT0qv4Z RIeGfzwiWvnVpRMG3Mr6KEzB3uA1rFCQ/aUtZBnINEPARBPk9Nj9OeaE4Tjf1O7h+jvRlgfay SzfMHdFs2vw1Q+brWtIyLEh31reyv/iZPZYBKvzgmiPbwFS/9yM/KFBgj+3xAATYBKnDnwJzq QkEM+HCYSoPzD4yHIrzyWCQ6ic+LkmxdY0m0yjRiFnybniLq1MbozaP7JB2Y0Zj4F3BGY/NtA E7AK3leFA80m4tZGiAY+nwI8FItAVNsXWm7AQy7F0Ir2tMmNQ/eHCM7VLRyOEkt2CdJvrdm/a MrWBPez2pZ3jC/iISbCtMRREEcM8uWh3u/WlFZEvCiMtMEPMXjD+2qKbpJ6J+p1Q+LDeZwFfi DqiaSD9qIW0PUMEG0b58Tggy3xV2WErMVAP5e6ciA6/BH5Yp5sE8ZxWUmh+TjJi0K1NLWTRvy qT1HCZgAEMHOXbN+HGsjQOq0MEZf9DkchAe1EWGSLXY1XsIKVNfIiaoDjdgk8xRNdzBltMoor J0DXrtjNZj3M+G6EZb4gLVwrYv51Xw1RiZ3ynQlLb0lrVYnfl63eI3ZomUf8ond04mtLShreu 8uNd/xN8vdldS97ECPWCO/jqOdmRnTGUC0Fnzjs1bxLTYj4ExK62mGT1Xn6IYDmpViXG9/a8v 4Lz5Nb3FF4E+AaSH2zVcXKiYiaOOyinzX36cCer0cFDa/RKFPC8ZJ8B1JXRFolE2YLeG5A/K4 8fKyW4qIY/qh2nYXkY9IGbvmoexVj2 Received-SPF: pass client-ip=212.227.17.20; envelope-from=rudalics@gmx.at; helo=mout.gmx.net X-Spam_score_int: -38 X-Spam_score: -3.9 X-Spam_bar: --- X-Spam_report: (-3.9 / 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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-1.116, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 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-Country: US X-Migadu-Flow: FLOW_IN X-Migadu-Scanner: mx13.migadu.com X-Migadu-Spam-Score: -0.61 X-Spam-Score: -0.61 X-Migadu-Queue-Id: 2B5D155D6A X-TUID: m1auHbYCIgcp This is a multi-part message in MIME format. --------------SiKmiJGxq7byYyU0bx35UQ0u Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit attached. >> > 1. If there is a window displaying BUFFER, switch to that window >> > 2. If there is a window that is an indirect buffer of BUFFER or that >> > shares the same base buffer with BUFFER, switch to that window >> >> I included the facility that if there is a window whose buffer is the >> base buffer of BUFFER use that window. See the attached diff which I >> did not test very thoroughly. > > Thanks! > It seems to work, although somewhat different than I described. > > With your diff, in case (2), if BUFFER is what is passed to > `pop-to-buffer' and BUFFER2 is indirectly related buffer displayed in a > visible window, then BUFFER2 is replaced with BUFFER. I expected that > BUFFER2's window will be selected; nothing more. Hmmm... This is not really what 'display-buffer' is supposed to do. I have to disguise the fact that we wanted to display BUFFER. I attach a new patch. martin --------------SiKmiJGxq7byYyU0bx35UQ0u Content-Type: text/x-patch; charset=UTF-8; name="display-indirect-buffer.diff" Content-Disposition: attachment; filename="display-indirect-buffer.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3Avd2luZG93LmVsIGIvbGlzcC93aW5kb3cuZWwKaW5kZXggZTlk NTc2NTJlYzYuLmRkMDMwNTQ3MzUwIDEwMDY0NAotLS0gYS9saXNwL3dpbmRvdy5lbAorKysg Yi9saXNwL3dpbmRvdy5lbApAQCAtMjYxNSw3ICsyNjE1LDM2IEBAIGdldC1sYXJnZXN0LXdp bmRvdwogCSAgKHNldHEgYmVzdC13aW5kb3cgd2luZG93KSkpKQogICAgIGJlc3Qtd2luZG93 KSkKIAotKGRlZnVuIGdldC1idWZmZXItd2luZG93LWxpc3QgKCZvcHRpb25hbCBidWZmZXIt b3ItbmFtZSBtaW5pYnVmIGFsbC1mcmFtZXMpCisoZGVmdW4gd2luZG93LWluZGlyZWN0LWJ1 ZmZlci1wICgmb3B0aW9uYWwgd2luZG93IGJ1ZmZlci1vci1uYW1lKQorICAiUmV0dXJuIG5v bi1uaWwgaWYgc3BlY2lmaWVkIFdJTkRPVyBpcyBpbmRpcmVjdGx5IHJlbGF0ZWQgdG8gQlVG RkVSLU9SLU5BTUUuCitXSU5ET1cgbXVzdCBiZSBhIGxpdmUgd2luZG93IGFuZCBkZWZhdWx0 cyB0byB0aGUgc2VsZWN0ZWQgd2luZG93LgorQlVGRkVSLU9SLU5BTUUgbWF5IGJlIGEgYnVm ZmVyIG9yIHRoZSBuYW1lIG9mIGFuIGV4aXN0aW5nIGJ1ZmZlciBhbmQKK2RlZmF1bHRzIHRv IHRoZSBjdXJyZW50IGJ1ZmZlci4KKworV0lOT0RXIGlzIGluZGlyZWN0bHkgcmVsYXRlZCB0 byBCVUZGRVItT1ItTkFNRSBpZiBvbmUgb2YgdGhlIGZvbGxvd2luZworY29uZGl0aW9ucyBo b2xkOgorCistIEJVRkZFUi1PUi1OQU1FIHNwZWNpZmllcyBhbiBpbmRpcmVjdCBidWZmZXIg YW5kIFdJTkRPVydzIGJ1ZmZlciBpcyBpdHMKKyAgYmFzZSBidWZmZXIuCisKKy0gV0lORE9X J3MgYnVmZmVyIGlzIGFuIGluZGlyZWN0IGJ1ZmZlciB3aG9zZSBiYXNlIGJ1ZmZlciBpcyB0 aGUgYnVmZmVyCisgIHNwZWNpZmllZCBieSBCVUZGRVItT1ItTkFNRS4KKworLSBCb3RoLCBX SU5ET1cncyBidWZmZXIgYW5kIHRoZSBidWZmZXIgc3BlY2lmaWVkIGJ5IEJVRkZFUi1PUi1O QU1FLCBhcmUKKyAgaW5kaXJlY3QgYnVmZmVyJ3Mgc2hhcmluZyB0aGUgc2FtZSBiYXNlIGJ1 ZmZlci4KKworUmV0dXJuIG5pbCBpZiBub25lIG9mIHRoZSBhYm92ZSBob2xkcy4iCisgIChs ZXQqICgod2luZG93ICh3aW5kb3ctbm9ybWFsaXplLXdpbmRvdyB3aW5kb3cgdCkpCisJICh3 aW5kb3ctYnVmZmVyICh3aW5kb3ctYnVmZmVyIHdpbmRvdykpCisJICh3aW5kb3ctYmFzZS1i dWZmZXIgKGJ1ZmZlci1iYXNlLWJ1ZmZlciB3aW5kb3ctYnVmZmVyKSkKKwkgKGJ1ZmZlciAo d2luZG93LW5vcm1hbGl6ZS1idWZmZXIgYnVmZmVyLW9yLW5hbWUpKQorCSAoYnVmZmVyLWJh c2UtYnVmZmVyIChidWZmZXItYmFzZS1idWZmZXIgYnVmZmVyKSkpCisgICAgKG9yIChlcSBi dWZmZXItYmFzZS1idWZmZXIgd2luZG93LWJ1ZmZlcikKKwkoZXEgd2luZG93LWJhc2UtYnVm ZmVyIGJ1ZmZlcikKKwkoYW5kIGJ1ZmZlci1iYXNlLWJ1ZmZlcgorCSAgICAgKGVxIGJ1ZmZl ci1iYXNlLWJ1ZmZlciB3aW5kb3ctYmFzZS1idWZmZXIpKSkpKQorCisoZGVmdW4gZ2V0LWJ1 ZmZlci13aW5kb3ctbGlzdCAoJm9wdGlvbmFsIGJ1ZmZlci1vci1uYW1lIG1pbmlidWYgYWxs LWZyYW1lcyBpbmRpcmVjdCkKICAgIlJldHVybiBsaXN0IG9mIGFsbCB3aW5kb3dzIGRpc3Bs YXlpbmcgQlVGRkVSLU9SLU5BTUUsIG9yIG5pbCBpZiBub25lLgogQlVGRkVSLU9SLU5BTUUg bWF5IGJlIGEgYnVmZmVyIG9yIHRoZSBuYW1lIG9mIGFuIGV4aXN0aW5nIGJ1ZmZlcgogYW5k IGRlZmF1bHRzIHRvIHRoZSBjdXJyZW50IGJ1ZmZlci4gIElmIHRoZSBzZWxlY3RlZCB3aW5k b3cgZGlzcGxheXMKQEAgLTI2NDQsMTIgKzI2NzMsMjMgQEAgZ2V0LWJ1ZmZlci13aW5kb3ct bGlzdAogLSBBIGZyYW1lIG1lYW5zIGNvbnNpZGVyIGFsbCB3aW5kb3dzIG9uIHRoYXQgZnJh bWUgb25seS4KIAogQW55dGhpbmcgZWxzZSBtZWFucyBjb25zaWRlciBhbGwgd2luZG93cyBv biB0aGUgc2VsZWN0ZWQgZnJhbWUKLWFuZCBubyBvdGhlcnMuIgorYW5kIG5vIG90aGVycy4K KworSU5ESVJFQ1Qgbm9uLW5pbCBtZWFucyB0byBhcHBlbmQgdG8gdGhlIGxpc3Qgb2Ygd2lu ZG93cyBzaG93aW5nCitCVUZGRVItT1ItTkFNRSBhIGxpc3Qgb2YgYWxsIHdpbmRvd3MgdGhh dCBhcmUgaW5kaXJlY3RseSByZWxhdGVkIHRvCitCVUZGRVItT1ItTkFNRSwgdGhhdCBpcywg d2luZG93cyBmb3Igd2hpY2ggYHdpbmRvdy1pbmRpcmVjdC1idWZmZXItcCcKK3dpdGggdGhl IHdpbmRvdyBhbmQgdGhlIGJ1ZmZlciBzcGVjaWZpZWQgYnkgQlVGRkVSLU9SLU5BTUUgYXMg YXJndW1lbnRzCityZXR1cm5zIG5vbi1uaWwuIgogICAobGV0ICgoYnVmZmVyICh3aW5kb3ct bm9ybWFsaXplLWJ1ZmZlciBidWZmZXItb3ItbmFtZSkpCisJKHdpbmRvdy1saXN0ICh3aW5k b3ctbGlzdC0xIChzZWxlY3RlZC13aW5kb3cpIG1pbmlidWYgYWxsLWZyYW1lcykpCiAJd2lu ZG93cykKLSAgICAoZG9saXN0ICh3aW5kb3cgKHdpbmRvdy1saXN0LTEgKHNlbGVjdGVkLXdp bmRvdykgbWluaWJ1ZiBhbGwtZnJhbWVzKSkKKyAgICAoZG9saXN0ICh3aW5kb3cgd2luZG93 LWxpc3QpCiAgICAgICAod2hlbiAoZXEgKHdpbmRvdy1idWZmZXIgd2luZG93KSBidWZmZXIp CiAJKHNldHEgd2luZG93cyAoY29ucyB3aW5kb3cgd2luZG93cykpKSkKKyAgICAod2hlbiBp bmRpcmVjdAorICAgICAgKGRvbGlzdCAod2luZG93IHdpbmRvdy1saXN0KQorCSh3aGVuICh3 aW5kb3ctaW5kaXJlY3QtYnVmZmVyLXAgd2luZG93IGJ1ZmZlcikKKwkgIChzZXRxIHdpbmRv d3MgKGNvbnMgd2luZG93IHdpbmRvd3MpKSkpKQogICAgIChucmV2ZXJzZSB3aW5kb3dzKSkp CiAKIChkZWZ1biBtaW5pYnVmZmVyLXdpbmRvdy1hY3RpdmUtcCAod2luZG93KQpAQCAtODIz NSwzNSArODI3NSw1MyBAQCBkaXNwbGF5LWJ1ZmZlci1yZXVzZS13aW5kb3cKIGV2ZW50IHRo YXQgYSB3aW5kb3cgb24gYW5vdGhlciBmcmFtZSBpcyBjaG9zZW4sIGF2b2lkIHJhaXNpbmcK IHRoYXQgZnJhbWUuCiAKK0lmIEFMSVNUIGhhcyBhIG5vbi1uaWwgYHJldXNlLWluZGlyZWN0 JyBlbnRyeSBhbmQgbm8gd2luZG93IHNob3dpbmcKK0JVRkZFUiBoYXMgYmVlbiBmb3VuZCwg dHJ5IHRvIGZpbmQgYSB3aW5kb3cgdGhhdCBpcyBpbmRpcmVjdGx5IHJlbGF0ZWQKK3RvIEJV RkZFUiBhbmQgcmV0dXJuIHRoYXQgd2luZG93LiAgVGhpcyB3b3VsZCBiZSBhIHdpbmRvdyBm b3Igd2hpY2gKK2B3aW5kb3ctaW5kaXJlY3QtYnVmZmVyLXAnIHdpdGggdGhlIHdpbmRvdyBh bmQgQlVGRkVSIGFzIGFyZ3VtZW50cworcmV0dXJucyBub24tbmlsLgorCiBUaGlzIGlzIGFu IGFjdGlvbiBmdW5jdGlvbiBmb3IgYnVmZmVyIGRpc3BsYXksIHNlZSBJbmZvCiBub2RlIGAo ZWxpc3ApIEJ1ZmZlciBEaXNwbGF5IEFjdGlvbiBGdW5jdGlvbnMnLiAgSXQgc2hvdWxkIGJl CiBjYWxsZWQgb25seSBieSBgZGlzcGxheS1idWZmZXInIG9yIGEgZnVuY3Rpb24gZGlyZWN0 bHkgb3IKIGluZGlyZWN0bHkgY2FsbGVkIGJ5IHRoZSBsYXR0ZXIuIgotICAobGV0KiAoKGFs aXN0LWVudHJ5IChhc3NxICdyZXVzYWJsZS1mcmFtZXMgYWxpc3QpKQotCSAoZnJhbWVzIChj b25kIChhbGlzdC1lbnRyeSAoY2RyIGFsaXN0LWVudHJ5KSkKKyAgKGxldCogKChyZXVzYWJs ZS1mcmFtZXMgKGFzc3EgJ3JldXNhYmxlLWZyYW1lcyBhbGlzdCkpCisJIChyZXVzZS1pbmRp cmVjdCAoYXNzcSAncmV1c2UtaW5kaXJlY3QgYWxpc3QpKQorCSAoZnJhbWVzIChjb25kIChy ZXVzYWJsZS1mcmFtZXMgKGNkciByZXVzYWJsZS1mcmFtZXMpKQogCQkgICAgICAgKCh3aW5k b3ctLXBvcC11cC1mcmFtZXMgYWxpc3QpCiAJCQkwKQogCQkgICAgICAgKGRpc3BsYXktYnVm ZmVyLXJldXNlLWZyYW1lcyAwKQogCQkgICAgICAgKHQgKGxhc3Qtbm9ubWluaWJ1ZmZlci1m cmFtZSkpKSkKLQkgKHdpbmRvdyAoaWYgKGFuZCAoZXEgYnVmZmVyICh3aW5kb3ctYnVmZmVy KSkKLQkJCSAgKG5vdCAoY2RyIChhc3NxICdpbmhpYml0LXNhbWUtd2luZG93IGFsaXN0KSkp KQotCQkgICAgIChzZWxlY3RlZC13aW5kb3cpCi0gICAgICAgICAgICAgICAgICAgOzsgUHJl ZmVyYWJseSB1c2UgYSB3aW5kb3cgb24gdGhlIHNlbGVjdGVkIGZyYW1lLAotICAgICAgICAg ICAgICAgICAgIDs7IGlmIHN1Y2ggYSB3aW5kb3cgZXhpc3RzIChCdWcjMzY2ODApLgotICAg ICAgICAgICAgICAgICAgIChsZXQqICgod2luZG93cyAoZGVscSAoc2VsZWN0ZWQtd2luZG93 KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZ2V0LWJ1ZmZl ci13aW5kb3ctbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYnVmZmVyICdub21pbmkgZnJhbWVzKSkpCi0gICAgICAgICAgICAgICAgICAgICAgICAg IChmaXJzdCAoY2FyIHdpbmRvd3MpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAodGhp cy1mcmFtZSAoc2VsZWN0ZWQtZnJhbWUpKSkKLSAgICAgICAgICAgICAgICAgICAgIChjb25k Ci0gICAgICAgICAgICAgICAgICAgICAgKChlcSAod2luZG93LWZyYW1lIGZpcnN0KSB0aGlz LWZyYW1lKQotICAgICAgICAgICAgICAgICAgICAgICBmaXJzdCkKLSAgICAgICAgICAgICAg ICAgICAgICAoKGNhdGNoICdmb3VuZAotICAgICAgICAgICAgICAgICAgICAgICAgIChkb2xp c3QgKG5leHQgKGNkciB3aW5kb3dzKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICh3 aGVuIChlcSAod2luZG93LWZyYW1lIG5leHQpIHRoaXMtZnJhbWUpCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICh0aHJvdyAnZm91bmQgbmV4dCkpKSkpCi0gICAgICAgICAgICAg ICAgICAgICAgKHQgZmlyc3QpKSkpKSkKKwkgKGluaGliaXQtc2FtZSAoY2RyIChhc3NxICdp bmhpYml0LXNhbWUtd2luZG93IGFsaXN0KSkpCisJICh3aW5kb3cKKwkgIDs7IEF2b2lkIGNh bGxpbmcgJ2dldC1idWZmZXItd2luZG93LWxpc3QnIGlmIHRoZSBzZWxlY3RlZAorCSAgOzsg d2luZG93IGFscmVhZHkgc2hvd3MgQlVGRkVSIGFuZCBjYW4gYmUgdXNlZC4KKwkgIChpZiAo YW5kIChlcSBidWZmZXIgKHdpbmRvdy1idWZmZXIpKSAobm90IGluaGliaXQtc2FtZSkpCisJ ICAgICAgKHNlbGVjdGVkLXdpbmRvdykKKyAgICAgICAgICAgIDs7IFByZWZlcmFibHkgdXNl IGEgd2luZG93IG9uIHRoZSBzZWxlY3RlZCBmcmFtZSwKKyAgICAgICAgICAgIDs7IGlmIHN1 Y2ggYSB3aW5kb3cgZXhpc3RzIChCdWcjMzY2ODApLgorICAgICAgICAgICAgKGxldCogKCh3 aW5kb3dzLXJhdworCQkgICAgKGdldC1idWZmZXItd2luZG93LWxpc3QKKyAgICAgICAgICAg ICAgICAgICAgIGJ1ZmZlciAnbm9taW5pIGZyYW1lcyByZXVzZS1pbmRpcmVjdCkpCisJCSAg ICh3aW5kb3dzIChpZiBpbmhpYml0LXNhbWUKKwkJCQkoZGVscSAoc2VsZWN0ZWQtd2luZG93 KSB3aW5kb3dzLXJhdykKKwkJCSAgICAgIHdpbmRvd3MtcmF3KSkKKyAgICAgICAgICAgICAg ICAgICAoZmlyc3QgKGNhciB3aW5kb3dzKSkKKyAgICAgICAgICAgICAgICAgICAodGhpcy1m cmFtZSAoc2VsZWN0ZWQtZnJhbWUpKSkKKyAgICAgICAgICAgICAgKGNvbmQKKyAgICAgICAg ICAgICAgICgoZXEgKHdpbmRvdy1mcmFtZSBmaXJzdCkgdGhpcy1mcmFtZSkKKyAgICAgICAg ICAgICAgICBmaXJzdCkKKyAgICAgICAgICAgICAgICgoY2F0Y2ggJ2ZvdW5kCisgICAgICAg ICAgICAgICAgICAoZG9saXN0IChuZXh0IChjZHIgd2luZG93cykpCisgICAgICAgICAgICAg ICAgICAgICh3aGVuIChlcSAod2luZG93LWZyYW1lIG5leHQpIHRoaXMtZnJhbWUpCisgICAg ICAgICAgICAgICAgICAgICAgKHRocm93ICdmb3VuZCBuZXh0KSkpKSkKKyAgICAgICAgICAg ICAgICh0IGZpcnN0KSkpKSkpCiAgICAgKHdoZW4gKHdpbmRvdy1saXZlLXAgd2luZG93KQor ICAgICAgKHdoZW4gKGFuZCByZXVzZS1pbmRpcmVjdAorCQkgKG5vdCAoZXEgKHdpbmRvdy1i dWZmZXIgd2luZG93KSBidWZmZXIpKSkKKwk7OyBQcmV0ZW5kIHdlIHdlcmUgYXNraW5nIGZv ciBhIHdpbmRvdyBzaG93aW5nIHRoZSBidWZmZXIgb2YKKwk7OyB0aGF0IHdpbmRvdy4KKwko c2V0cSBidWZmZXIgKHdpbmRvdy1idWZmZXIgd2luZG93KSkpCiAgICAgICAocHJvZzEgKHdp bmRvdy0tZGlzcGxheS1idWZmZXIgYnVmZmVyIHdpbmRvdyAncmV1c2UgYWxpc3QpCiAJKHVu bGVzcyAoY2RyIChhc3NxICdpbmhpYml0LXN3aXRjaC1mcmFtZSBhbGlzdCkpCiAJICAod2lu ZG93LS1tYXliZS1yYWlzZS1mcmFtZSAod2luZG93LWZyYW1lIHdpbmRvdykpKSkpKSkK --------------SiKmiJGxq7byYyU0bx35UQ0u--