From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 17737 invoked from network); 3 Jan 2024 19:02:29 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 3 Jan 2024 19:02:29 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1704308549; b=djR6BUS7LhmqzKi7+GPS+wGQ0R1ncBV9Upnq2IwlbHIGwz7iGKn72Y6/8UdFXhlb9Gzgc2B/wX gxPAW6lIg5yJ4zcHWQd8CzR7oPxXc5KMCVJ2CC/uCswXr/dTyWpk492vL1O3/1h3BzMDhUBUAq ohWkGwBmvruZMpysJEM7wUuaDYl1D8I02pLAvZ16nq29wozA1QgDSVeWod4G6UaZJF28TzKMB4 q/6AKusF2Z3dlCJPD7gUA1wvLiGcqDl5l3kCo1/jg8HJYX/VCBKHs870IjhVWx338XgeeDxBAR gwgT8GxS4BvoNkypvHJWrMVCLknIPW0gZP7+hPR05b1Yow==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-ej1-f50.google.com) smtp.remote-ip=209.85.218.50; dkim=pass header.d=brasslantern-com.20230601.gappssmtp.com header.s=20230601 header.a=rsa-sha256; dmarc=none header.from=brasslantern.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1704308549; bh=k4pWZb2qNfBFzB2apGxj1tVvXZzMHy4mZpPBoiMoYrU=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Type:Cc:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:DKIM-Signature:DKIM-Signature; b=LIfSdiAugKysGi8b1IE+dtSn+Y5ioIGbifGJFgoimUXLTlSpXXEkfdfq4Ezh1+rdLbZvWaAPIk 627Cy0KHiHgdUv0qLB6rVFCghCGAkM+rCgf7cJbuNHAsZKvnHy56F9YXDK+iZh+X7fRnGVZZEm dg/Eiee8iZmyxRnkxGjOg2Ls3FxWefOaaBA56bjx9jicCHRfAW1Tn237WDkAnSdcSW724/zqyF FwmUHIYyZwbMYJ7eXFDnMNTG+Ubm9J4oSPW3tVeyYr97hFVnhOo5U6o+ZRoKsAZjXNTw87axUK SrLhRN5fMGKaEXesDNzajNVsvwRQHQETLt/0nO/B9NNtBA==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20210803; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:Content-Type:Cc:To:Subject:Message-ID :Date:From:In-Reply-To:References:MIME-Version:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=5AoF8vJx3wPYDVvUbtDLRYQ06Kb/f5I5LHMaGN95eLg=; b=BKzzniIFmYo0BzSe2kGhFozrYp dt65zv/1Z5Bn0byGXnyx/4Geys3vrss183kuU7xS/idAJqlYsYNL2oFzzfoK3cBxtDLLOxUBhjX0c AhnWoLhozOTLgchF624CLZ8dMSwC7+Ltu4iB/RFfVosoTAKh/ctT+P0BREtNgF32g80dhd9o/Qg64 63VuIvvkTc369AjIVd9jf9RZBsV9NlCdT14cmgwqFc4Lyav8PrUMQkpEIo+9wLm2xSL+A6H2DlxgX USD2b1PXK/Z27Jx56mv0zb4GERnSD3aHclMHpS3z9asGhaE+eRjXUM8TYlu4hwLloCllybvvDdl5z 6JeERn3w==; Received: by zero.zsh.org with local id 1rL6VX-0005iL-7O; Wed, 03 Jan 2024 19:02:27 +0000 Authentication-Results: zsh.org; iprev=pass (mail-ej1-f50.google.com) smtp.remote-ip=209.85.218.50; dkim=pass header.d=brasslantern-com.20230601.gappssmtp.com header.s=20230601 header.a=rsa-sha256; dmarc=none header.from=brasslantern.com; arc=none Received: from mail-ej1-f50.google.com ([209.85.218.50]:47258) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1rL6Un-00053H-3b; Wed, 03 Jan 2024 19:01:42 +0000 Received: by mail-ej1-f50.google.com with SMTP id a640c23a62f3a-a26ed1e05c7so876610566b.2 for ; Wed, 03 Jan 2024 11:01:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brasslantern-com.20230601.gappssmtp.com; s=20230601; t=1704308500; x=1704913300; darn=zsh.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=5AoF8vJx3wPYDVvUbtDLRYQ06Kb/f5I5LHMaGN95eLg=; b=J3RqzmkYwAGYbj8oDcFwwuV96Y+ufbHf0SppL5FPYD83cYBqxce8OMgO7gD4/rQbLm jAc78gJiCB+ZfQHsEiUTDNPrS3t2DKjUxm3uOvQAqUDhVAHqL1pfthrqXhR/2CJneFMW A8ZlynIvaL58YV7nnkz/pqOQQj/C++c8nZ5OtIOKHn9RqauZ4I6NA7//p89gboGJ8Foa 9MKnuBnCiIvvbtWOaghismn8OdnHJcsdd9txg2na3xhJ+bkkWQhLeHIXw8zvMYK0OwlO fOoNEZe8K87EDjaBPtJyyGk0C8Fw5PULE3BHKrgPqFZemzk8W/EQyv5ilVCW/Y/rZ+de 55zg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704308500; x=1704913300; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=5AoF8vJx3wPYDVvUbtDLRYQ06Kb/f5I5LHMaGN95eLg=; b=owilBGD9u+MBJJRG4UrfTu2Ez+35s8eSd8RMb5fy/3gTy+Ng94O4jjYR8Sk2RG9MO8 pB7rk5a1+Vou5VO1AgTBkkbPd7UUiG722FAbShXnpe3CqlU/ZxUjj54LYvmEV6Rgqy03 XEJMbum04WhrNjXF8zaZ6FiXQYtGU5U34yCvqPtLnrNc5gZ46KUNdd+t3aKdCQRAT/Iw H6rDVV4ZRK+RCSwK4EhcIf2Sixtw1LC+7szTOSwCJEDq70RQIgwl8Sg4WO+0oKLcE0mk oNHfZFYYivQUBD5LeHqQ6GCjtFv44DyNItzwG2mp/fONP5umPHPPDjRGg1DFISeGwbe8 madQ== X-Gm-Message-State: AOJu0YyfqWkNy38d4KdziBZGJGfjwdrvbk3f3SHcMeqPqRufdUWrYjRV rztAAw3MfQl6xLmL3BKlUH5wrc3OrHDjpwdb+GPwsjWgF9x+ X-Google-Smtp-Source: AGHT+IH6wfR48mHxteLM39HgMLQCTT7pfWvhh5FHyYMP+sdTrChVfrpAzexDoj9hbX2/YoDBx34wBQeflQE7L68ucWk= X-Received: by 2002:a17:906:f342:b0:a1c:bb48:2668 with SMTP id hg2-20020a170906f34200b00a1cbb482668mr6238240ejb.51.1704308500567; Wed, 03 Jan 2024 11:01:40 -0800 (PST) MIME-Version: 1.0 References: <69024621-9e60-474f-9c32-4edaecc3ff68@eastlink.ca> <1760392789.1738022.1704196204791@mail.virginmedia.com> <4350097c-ee24-42c5-8b12-c0cccb2f6542@eastlink.ca> <217949270.1731447.1704217700192@mail.virginmedia.com> <1087633342.1773174.1704275725232@mail.virginmedia.com> In-Reply-To: From: Bart Schaefer Date: Wed, 3 Jan 2024 11:01:28 -0800 Message-ID: Subject: Re: zmv exits from function To: Ray Andrews Cc: zsh-users@zsh.org Content-Type: multipart/mixed; boundary="000000000000c3bfec060e0f3e6c" X-Seq: 29410 Archived-At: X-Loop: zsh-users@zsh.org Errors-To: zsh-users-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-users-request@zsh.org X-no-archive: yes List-Id: List-Help: , List-Subscribe: , List-Unsubscribe: , List-Post: List-Owner: List-Archive: --000000000000c3bfec060e0f3e6c Content-Type: text/plain; charset="UTF-8" Updated patch including doc edit will be sent to zsh-workers. Here's a copy of the edited file. --000000000000c3bfec060e0f3e6c Content-Type: application/octet-stream; name=zmv Content-Disposition: attachment; filename=zmv Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lqy59jgm0 IyBmdW5jdGlvbiB6bXYgewojIHptdiwgemNwLCB6bG46CiMKIyBUaGlzIGlzIGEgbXVsdGlwbGUg bW92ZSBiYXNlZCBvbiB6c2ggcGF0dGVybiBtYXRjaGluZy4gIFRvIGdldCB0aGUgZnVsbAojIHBv d2VyIG9mIGl0LCB5b3UgbmVlZCBhIHBvc3RncmFkdWF0ZSBkZWdyZWUgaW4genNoLiAgSG93ZXZl ciwgc2ltcGxlCiMgdGFza3Mgd29yayBPSywgc28gaWYgdGhhdCdzIGFsbCB5b3UgbmVlZCwgaGVy ZSBhcmUgc29tZSBiYXNpYyBleGFtcGxlczoKIyAgIHptdiAnKCopLnR4dCcgJyQxLmxpcycKIyBS ZW5hbWUgZm9vLnR4dCB0byBmb28ubGlzLCBldGMuICBUaGUgcGFyZW50aGVzaXMgaXMgdGhlIHRo aW5nIHRoYXQKIyBnZXRzIHJlcGxhY2VkIGJ5IHRoZSAkMSAobm90IHRoZSBgKicsIGFzIGhhcHBl bnMgaW4gbW12LCBhbmQgbm90ZSB0aGUKIyBgJCcsIG5vdCBgPScsIHNvIHRoYXQgeW91IG5lZWQg dG8gcXVvdGUgYm90aCB3b3JkcykuCiMgICB6bXYgJygqKi8pKCopLnR4dCAnJDEkMi5saXMnCiMg VGhlIHNhbWUsIGJ1dCBzY2FubmluZyB0aHJvdWdoIHN1YmRpcmVjdG9yaWVzLiAgVGhlICQxIGJl Y29tZXMgdGhlIGZ1bGwKIyBwYXRoLiAgTm90ZSB0aGF0IHlvdSBuZWVkIHRvIHdyaXRlIGl0IGxp a2UgdGhpczsgeW91IGNhbid0IGdldCBhd2F5IHdpdGgKIyAnKCoqLyopLnR4dCcuCiMgICB6bXYg LXcgJyoqLyoudHh0JyAnJDEkMi5saXMnCiMgICBub2dsb2Igem12IC1XICoqLyoudHh0ICoqLyou bGlzCiMgVGhlc2UgYXJlIHRoZSBsYXp5IHZlcnNpb24gb2YgdGhlIG9uZSBhYm92ZTsgd2l0aCAt dywgenNoIGluc2VydHMgdGhlCiMgcGFyZW50aGVzZXMgZm9yIHlvdSBpbiB0aGUgc2VhcmNoIHBh dHRlcm4sIGFuZCB3aXRoIC1XIGl0IGFsc28gaW5zZXJ0cwojIHRoZSBudW1iZXJlZCB2YXJpYWJs ZXMgZm9yIHlvdSBpbiB0aGUgcmVwbGFjZW1lbnQgcGF0dGVybi4gIFRoZSBjYXRjaAojIGluIHRo ZSBmaXJzdCB2ZXJzaW9uIGlzIHRoYXQgeW91IGRvbid0IG5lZWQgdGhlIC8gaW4gdGhlIHJlcGxh Y2VtZW50CiMgcGF0dGVybi4gIChJdCdzIG5vdCByZWFsbHkgYSBjYXRjaCwgc2luY2UgJDEgY2Fu IGJlIGVtcHR5LikgIE5vdGUgdGhhdAojIC1XIGFjdHVhbGx5IGluc2VydHMgJHsxfSwgJHsyfSwg ZXRjLiwgc28gaXQgd29ya3MgZXZlbiBpZiB5b3UgcHV0IGEKIyBudW1iZXIgYWZ0ZXIgYSB3aWxk Y2FyZCAoc3VjaCBhcyB6bXYgLVcgJyoxLnR4dCcgJyoyLnR4dCcpLgojICAgem12IC1DICcqKi8o KikudHh0JyB+L3NhdmUvJyQxJy5saXMKIyBDb3B5LCBpbnN0ZWFkIG9mIG1vdmUsIGFsbCAudHh0 IGZpbGVzIGluIHN1YmRpcmVjdG9yaWVzIHRvIC5saXMgZmlsZXMKIyBpbiB0aGUgc2luZ2xlIGRp cmVjdG9yeSBgfi9zYXZlJy4gIE5vdGUgdGhhdCB0aGUgfiB3YXMgbm90IHF1b3RlZC4KIyBZb3Ug Y2FuIHRlc3QgdGhpbmdzIHNhZmVseSBieSB1c2luZyB0aGUgYC1uJyAobm8sIG5vdCBub3cpIG9w dGlvbi4KIyBDbGFzaGVzLCB3aGVyZSBtdWx0aXBsZSBmaWxlcyBhcmUgcmVuYW1lZCBvciBjb3Bp ZWQgdG8gdGhlIHNhbWUgb25lLCBhcmUKIyBwaWNrZWQgdXAuCiMKIyBIZXJlJ3MgYSBtb3JlIGRl dGFpbGVkIGRlc2NyaXB0aW9uLgojCiMgVXNlIHpzaCBwYXR0ZXJuIG1hdGNoaW5nIHRvIG1vdmUs IGNvcHkgb3IgbGluayBmaWxlcywgZGVwZW5kaW5nIG9uCiMgdGhlIGxhc3QgdHdvIGNoYXJhY3Rl cnMgb2YgdGhlIGZ1bmN0aW9uIG5hbWUuICBUaGUgZ2VuZXJhbCBzeW50YXggaXMKIyAgIHptdiAn PGlucGF0PicgJzxvdXRzdHJpbmc+JwojIDxpbnBhdD4gaXMgYSBnbG9iYmluZyBwYXR0ZXJuLCBz byBpdCBzaG91bGQgYmUgcXVvdGVkIHRvIHByZXZlbnQgaXQgZnJvbQojIGltbWVkaWF0ZSBleHBh bnNpb24sIHdoaWxlIDxvdXRzdHJpbmc+IGlzIGEgc3RyaW5nIHRoYXQgd2lsbCBiZQojIHJlLWV2 YWx1YXRlZCBhbmQgaGVuY2UgbWF5IGNvbnRhaW4gcGFyYW1ldGVyIHN1YnN0aXR1dGlvbnMsIHdo aWNoIHNob3VsZAojIGFsc28gYmUgcXVvdGVkLiAgRWFjaCBzZXQgb2YgcGFyZW50aGVzZXMgaW4g PGlucGF0PiAoYXBhcnQgZnJvbSB0aG9zZQojIGFyb3VuZCBnbG9iIHF1YWxpZmllcnMsIGlmIHlv dSB1c2UgdGhlIC1RIG9wdGlvbiwgYW5kIGdsb2JiaW5nIGZsYWdzKSBtYXkKIyBiZSByZWZlcnJl ZCB0byBieSBhIHBvc2l0aW9uYWwgcGFyYW1ldGVyIGluIDxvdXRzdHJpbmc+LCBpLmUuIHRoZSBm aXJzdAojICguLi4pIG1hdGNoZWQgaXMgZ2l2ZW4gYnkgJDEsIGFuZCBzbyBvbi4gIEZvciBleGFt cGxlLAojICAgem12ICcoW2Etel0pKCopLnR4dCcgJyR7KEMpMX0kMi50eHQnCiMgcmVuYW1lcyBh bGdlcm5vbi50eHQgdG8gQWxnZXJub24udHh0LCBib3Jpcy50eHQgdG8gQm9yaXMudHh0IGFuZCBz byBvbi4KIyBUaGUgb3JpZ2luYWwgZmlsZSBtYXRjaGVkIGNhbiBiZSByZWZlcnJlZCB0byBhcyAk ZiBpbiB0aGUgc2Vjb25kCiMgYXJndW1lbnQ7IGFjY2lkZW50YWwgb3IgZGVsaWJlcmF0ZSB1c2Ug b2Ygb3RoZXIgcGFyYW1ldGVycyBpcyBhdCBvd25lcidzCiMgcmlzayBhbmQgaXMgbm90IGNvdmVy ZWQgYnkgdGhlIChub24tZXhpc3RlbnQpIGd1YXJhbnRlZS4KIwojIEFzIHVzdWFsIGluIHpzaCwg LydzIGRvbid0IHdvcmsgaW5zaWRlIHBhcmVudGhlc2VzLiAgVGhlcmUgaXMgYSBzcGVjaWFsCiMg Y2FzZSBmb3IgKCoqLykgYW5kICgqKiovKTogIHRoZXNlIGhhdmUgdGhlIGV4cGVjdGVkIGVmZmVj dCB0aGF0IHRoZQojIGVudGlyZSByZWxldmFudCBwYXRoIHdpbGwgYmUgc3Vic3RpdHV0ZWQgYnkg dGhlIGFwcHJvcHJpYXRlIHBvc2l0aW9uYWwKIyBwYXJhbWV0ZXIuCiMKIyBUaGVyZSBpcyBhIHNo b3J0Y3V0IGF2b2lkaW5nIHRoZSB1c2Ugb2YgcGFyZW50aGVzaXMgd2l0aCB0aGUgb3B0aW9uIC13 CiMgKHdpdGggd2lsZGNhcmRzKSwgd2hpY2ggcGlja3Mgb3V0IGFueSBleHByZXNzaW9ucyBgKics IGA/JywgYDxyYW5nZT4nCiMgKDwtPiwgPDEtMTA+LCBldGMuKSwgYFsuLi5dJywgcG9zc2libHkg Zm9sbG93ZWQgYnkgYCMncywgYCoqLycsIGAqKiovJywgYW5kCiMgYXV0b21hdGljYWxseSBwYXJl bnRoZXNpc2VzIHRoZW0uIChZb3Ugc2hvdWxkIHF1b3RlIGFueSBbJ3Mgb3IgXSdzIHdoaWNoCiMg YXBwZWFyIGluc2lkZSBbLi4uXSBhbmQgd2hpY2ggZG8gbm90IGNvbWUgZnJvbSByYW5nZXMgb2Yg dGhlIGZvcm0KIyBgWzphbHBoYTpdJy4pICBTbyBmb3IgZXhhbXBsZSwgaW4KIyAgICB6bXYgLXcg J1tbOnVwcGVyOl1dKicgJyR7KEwpMX0kMicKIyB0aGUgJDEgcmVmZXJzIHRvIHRoZSBleHByZXNz aW9uIGBbWzp1cHBlcjpdXScgYW5kIHRoZSAkMiByZWZlcnMgdG8KIyBgKicuIFRodXMgdGhpcyBm aW5kcyBhbnkgZmlsZSB3aXRoIGFuIHVwcGVyIGNhc2UgZmlyc3QgY2hhcmFjdGVyIGFuZAojIHJl bmFtZXMgaXQgdG8gb25lIHdpdGggYSBsb3dlcmNhc2UgZmlyc3QgY2hhcmFjdGVyLiAgTm90ZSB0 aGF0IGFueQojIGV4aXN0aW5nIHBhcmVudGhlc2VzIGFyZSBhY3RpdmUsIHRvbywgc28geW91IG11 c3QgY291bnQgYWNjb3JkaW5nbHkuCiMgRnVydGhlcm1vcmUsIGFuIGV4cHJlc3Npb24gbGlrZSAn KD8pJyB3aWxsIGJlIHJld3JpdHRlbiBhcyAnKCg/KSknIC0tLSBpbgojIG90aGVyIHdvcmRzLCBw YXJlbnRoZXNpc2luZyBvZiB3aWxkY2FyZHMgaXMgaW5kZXBlbmRlbnQgb2YgYW55IGV4aXN0aW5n CiMgcGFyZW50aGVzZXMuCiMKIyBBbnkgZmlsZSB3aG9zZSBuYW1lIGlzIG5vdCBjaGFuZ2VkIGJ5 IHRoZSBzdWJzdGl0dXRpb24gaXMgc2ltcGx5IGlnbm9yZWQuCiMgQW55IGVycm9yIC0tLSBhIHN1 YnN0aXR1dGlvbiByZXN1bHRlZCBpbiBhbiBlbXB0eSBzdHJpbmcsIHR3bwojIHN1YnN0aXR1dGlv bnMgZ2F2ZSB0aGUgc2FtZSByZXN1bHQsIHRoZSBkZXN0aW5hdGlvbiB3YXMgYW4gZXhpc3RpbmcK IyByZWd1bGFyIGZpbGUgYW5kIC1mIHdhcyBub3QgZ2l2ZW4gLS0tIGNhdXNlcyB0aGUgZW50aXJl IGZ1bmN0aW9uIHRvIGFib3J0CiMgd2l0aG91dCBkb2luZyBhbnl0aGluZy4KIwojIE9wdGlvbnM6 CiMgIC1mICBmb3JjZSBvdmVyd3JpdGluZyBvZiBkZXN0aW5hdGlvbiBmaWxlcy4gIE5vdCBjdXJy ZW50bHkgcGFzc2VkCiMgICAgICBkb3duIHRvIHRoZSBtdi9jcC9sbiBjb21tYW5kIGR1ZSB0byB2 YWdhcmllcyBvZiBpbXBsZW1lbnRhdGlvbnMKIyAgICAgIChidXQgeW91IGNhbiB1c2UgLW8tZiB0 byBkbyB0aGF0KS4KIyAgLWkgIGludGVyYWN0aXZlOiBzaG93IGVhY2ggbGluZSB0byBiZSBleGVj dXRlZCBhbmQgYXNrIHRoZSB1c2VyIHdoZXRoZXIKIyAgICAgIHRvIGV4ZWN1dGUgaXQuICBZIG9y IHkgd2lsbCBleGVjdXRlIGl0LCBhbnl0aGluZyBlbHNlIHdpbGwgc2tpcCBpdC4KIyAgICAgIE5v dGUgdGhhdCB5b3UganVzdCBuZWVkIHRvIHR5cGUgb25lIGNoYXJhY3Rlci4KIyAgLW4gIG5vIGV4 ZWN1dGlvbjogcHJpbnQgd2hhdCB3b3VsZCBoYXBwZW4sIGJ1dCBkb24ndCBkbyBpdC4KIyAgLXEg IFR1cm4gYmFyZSBnbG9iIHF1YWxpZmllcnMgb2ZmOiAgbm93IGFzc3VtZWQgYnkgZGVmYXVsdCwg c28gdGhpcwojICAgICAgaGFzIG5vIGVmZmVjdC4KIyAgLVEgIEZvcmNlIGJhcmUgZ2xvYiBxdWFs aWZpZXJzIG9uLiAgRG9uJ3QgdHVybiB0aGlzIG9uIHVubGVzcyB5b3UgYXJlCiMgICAgICBhY3R1 YWxseSB1c2luZyBnbG9iIHF1YWxpZmllcnMgaW4gYSBwYXR0ZXJuIChzZWUgYmVsb3cpLgojICAt cyAgc3ltYm9saWMsIHBhc3NlZCBkb3duIHRvIGxuOyBvbmx5IHdvcmtzIHdpdGggemxuIG9yIHo/ PyAtTC4KIyAgLXYgIHZlcmJvc2U6IHByaW50IGxpbmUgYXMgaXQncyBiZWluZyBleGVjdXRlZC4K IyAgLW8gPG9wdHN0cmluZz4KIyAgICAgIDxvcHRzdHJpbmc+IHdpbGwgYmUgc3BsaXQgaW50byB3 b3JkcyBhbmQgcGFzc2VkIGRvd24gdmVyYmF0aW0KIyAgICAgIHRvIHRoZSBjcCwgbG4gb3IgbXYg Y2FsbGVkIHRvIHBlcmZvcm0gdGhlIHdvcmsuICBJdCB3aWxsIHByb2JhYmx5CiMgICAgICBiZWdp biB3aXRoIGEgYC0nLgojICAtcCA8cHJvZ3JhbT4KIyAgICAgIENhbGwgPHByb2dyYW0+IGluc3Rl YWQgb2YgY3AsIGxuIG9yIG12LiAgV2hhdGV2ZXIgaXQgZG9lcywgaXQgc2hvdWxkCiMgICAgICBh dCBsZWFzdCB1bmRlcnN0YW5kIHRoZSBmb3JtICc8cHJvZ3JhbT4gLS0gPG9sZG5hbWU+IDxuZXdu YW1lPicsCiMgICAgICB3aGVyZSA8b2xkbmFtZT4gYW5kIDxuZXduYW1lPiBhcmUgZmlsZW5hbWVz IGdlbmVyYXRlZC4gPHByb2dyYW0+CiMgICAgICB3aWxsIGJlIHNwbGl0IGludG8gd29yZHMuCiMg IC1QIDxwcm9ncmFtPgojICAgICAgQXMgLXAsIGJ1dCB0aGUgcHJvZ3JhbSBkb2Vzbid0IHVuZGVy c3RhbmQgdGhlICItLSIgY29udmVudGlvbi4KIyAgICAgIEluIHRoaXMgY2FzZSB0aGUgZmlsZSBu YW1lcyBtdXN0IGFscmVhZHkgYmUgc2FuZS4KIyAgLXcgIFBpY2sgb3V0IHdpbGRjYXJkIHBhcnRz IG9mIHRoZSBwYXR0ZXJuLCBhcyBkZXNjcmliZWQgYWJvdmUsIGFuZAojICAgICAgaW1wbGljaXRs eSBhZGQgcGFyZW50aGVzZXMgZm9yIHJlZmVycmluZyB0byB0aGVtLgojICAtVyAgSnVzdCBsaWtl IC13LCB3aXRoIHRoZSBhZGRpdGlvbiBvZiB0dXJuaW5nIHdpbGRjYXJkcyBpbiB0aGUKIyAgICAg IHJlcGxhY2VtZW50IHBhdHRlcm4gaW50byBzZXF1ZW50aWFsICR7MX0gLi4gJHtOfSByZWZlcmVu Y2VzLgojICAtQwojICAtTAojICAtTSAgRm9yY2UgY3AsIGxuIG9yIG12LCByZXNwZWN0aXZlbHks IHJlZ2FyZGxlc3Mgb2YgdGhlIG5hbWUgb2YgdGhlCiMgICAgICBmdW5jdGlvbi4KIwojIEJ1Z3M6 CiMgICBQYXJlbnRoZXNpc2VkIGV4cHJlc3Npb25zIGNhbiBiZSBjb25mdXNlZCB3aXRoIGdsb2Ig cXVhbGlmaWVycywgZm9yCiMgICBleGFtcGxlIGEgdHJhaWxpbmcgJygqKScgd291bGQgYmUgdHJl YXRlZCBhcyBhIGdsb2IgcXVhbGlmaWVyIGluCiMgICBvcmRpbmFyeSBnbG9iYmluZy4gIFRoaXMg aGFzIHByb3ZlZCBzbyBhbm5veWluZyB0aGF0IGdsb2IgcXVhbGlmaWVycwojICAgYXJlIG5vdyB0 dXJuZWQgb2ZmIGJ5IGRlZmF1bHQuICBUbyBmb3JjZSB0aGUgdXNlIG9mIGdsb2IgcXVhbGlmaWVy cywKIyAgIGdpdmUgdGhlIGZsYWcgLVEuCiMKIyAgIFRoZSBwYXR0ZXJuIGlzIGFsd2F5cyB0cmVh dGVkIGFzIGFuIGV4dGVuZGVkZ2xvYiBwYXR0ZXJuLiAgVGhpcwojICAgY2FuIGFsc28gYmUgaW50 ZXJwcmV0ZWQgYXMgYSBmZWF0dXJlLgojCiMgVW5idWdzOgojICAgWW91IGRvbid0IG5lZWQgYnJh Y2VzIGFyb3VuZCB0aGUgMSBpbiBleHByZXNzaW9ucyBsaWtlICckMXQnIGFzCiMgICBub24tcG9z aXRpb25hbCBwYXJhbWV0ZXJzIG1heSBub3Qgc3RhcnQgd2l0aCBhIG51bWJlciwgYWx0aG91Z2gK IyAgIHBhcmFub2lhY3MgbGlrZSB0aGUgYXV0aG9yIHdpbGwgcHJvYmFibHkgcHV0IHRoZW0gdGhl cmUgYW55d2F5LgoKZW11bGF0ZSAtUkwgenNoCnNldG9wdCBleHRlbmRlZGdsb2IKCmxvY2FsIGYg ZyBhcmdzIG1hdGNoIG1iZWdpbiBtZW5kIGZpbGVzIGFjdGlvbiBteW5hbWUgdG1wZiBvcHQgZXhl Ywpsb2NhbCBvcHRfZiBvcHRfaSBvcHRfbiBvcHRfcSBvcHRfUSBvcHRfcyBvcHRfTSBvcHRfQyBv cHRfTCAKbG9jYWwgb3B0X28gb3B0X3Agb3B0X1Agb3B0X3Ygb3B0X3cgb3B0X1cgTUFUQ0ggTUJF R0lOIE1FTkQKbG9jYWwgcGF0IHJlcGwgZXJyc3RyIGZwYXQgaGFzZ2xvYnF1YWwgb3BhdAp0eXBl c2V0IC1BIGZyb20gdG8KaW50ZWdlciBzdGF0Cgpsb2NhbCBkYXNoZXM9LS0KCm15bmFtZT0keygl KTotJU59Cgp3aGlsZSBnZXRvcHRzICI6bzpwOlA6TUNMZmlucVFzdndXIiBvcHQ7IGRvCiAgaWYg W1sgJG9wdCA9ICI/IiBdXTsgdGhlbgogICAgcHJpbnQgLXIgLS0gIiRteW5hbWU6IHVucmVjb2du aXplZCBvcHRpb246IC0kT1BUQVJHIiA+JjIKICAgIHJldHVybiAxCiAgZmkKICBldmFsICJvcHRf JG9wdD1cJHtPUFRBUkc6LS1cJG9wdH0iCmRvbmUKKCggT1BUSU5EID4gMSApKSAmJiBzaGlmdCAk KCggT1BUSU5EIC0gMSApKQoKW1sgLXogJG9wdF9RIF1dICYmIHNldG9wdCBub2JhcmVnbG9icXVh bApbWyAtbiAkb3B0X00gXV0gJiYgYWN0aW9uPW12CltbIC1uICRvcHRfQyBdXSAmJiBhY3Rpb249 Y3AKW1sgLW4gJG9wdF9MIF1dICYmIGFjdGlvbj1sbgpbWyAtbiAkb3B0X3AgXV0gJiYgYWN0aW9u PSRvcHRfcApbWyAtbiAkb3B0X1AgXV0gJiYgYWN0aW9uPSRvcHRfUCBkYXNoZXM9CgppZiBbWyAt eiAkYWN0aW9uIF1dOyB0aGVuCiAgYWN0aW9uPSRteW5hbWVbLTIsLTFdCgogIGlmIFtbICRhY3Rp b24gIT0gKGNwfG12fGxuKSBdXTsgdGhlbgogICAgcHJpbnQgLXIgIiRteW5hbWU6IGFjdGlvbiAk YWN0aW9uIG5vdCByZWNvZ25pc2VkOiBtdXN0IGJlIGNwLCBtdiBvciBsbi4iID4mMgogICAgcmV0 dXJuIDEKICBmaQpmaQoKaWYgKCggJCMgIT0gMiApKTsgdGhlbgogIHByaW50IC1QICJVc2FnZToK ICAlTiBbT1BUSU9OU10gb2xkcGF0dGVybiBuZXdwYXR0ZXJuCndoZXJlIG9sZHBhdHRlcm4gY29u dGFpbnMgcGFyZW50aGVzaXMgc3Vycm91bmRpbmcgcGF0dGVybnMgd2hpY2ggd2lsbApiZSByZXBs YWNlZCBpbiB0dXJuIGJ5IFwkMSwgXCQyLCAuLi4gaW4gbmV3cGF0dGVybi4gIEZvciBleGFtcGxl LAogICVOICcoKikubGlzJyAnXCQxLnR4dCcKcmVuYW1lcyAnZm9vLmxpcycgdG8gJ2Zvby50eHQn LCAnbXkub2xkLnN0dWZmLmxpcycgdG8gJ215Lm9sZC5zdHVmZi50eHQnLAphbmQgc28gb24uICBT b21ldGhpbmcgc2ltcGxlciAoZm9yIGJhc2ljIGNvbW1hbmRzKSBpcyB0aGUgLVcgb3B0aW9uOgog ICVOIC1XICcqLmxpcycgJyoudHh0JwpUaGlzIGRvZXMgdGhlIHNhbWUgdGhpbmcgYXMgdGhlIGZp cnN0IGNvbW1hbmQsIGJ1dCB3aXRoIGF1dG9tYXRpYyBjb252ZXJzaW9uCm9mIHRoZSB3aWxkY2Fy ZHMgaW50byB0aGUgYXBwcm9wcmlhdGUgc3ludGF4LiAgSWYgeW91IGNvbWJpbmUgdGhpcyB3aXRo Cm5vZ2xvYiwgeW91IGRvbid0IGV2ZW4gbmVlZCB0byBxdW90ZSB0aGUgYXJndW1lbnRzLiAgRm9y IGV4YW1wbGUsCiAgYWxpYXMgbW12PSdub2dsb2Igem12IC1XJwogIG1tdiAqLmMub3JpZyBvcmln LyouYyIgPiYyCiAgcmV0dXJuIDEKZmkKCnBhdD0kMQpyZXBsPSQyCnNoaWZ0IDIKCmlmIFtbIC1u ICRvcHRfcyAmJiAkYWN0aW9uICE9IGxuIF1dOyB0aGVuCiAgcHJpbnQgLXIgLS0gIiRteW5hbWU6 IGludmFsaWQgb3B0aW9uOiAtcyIgPiYyCiAgcmV0dXJuIDEKZmkKCmlmIFtbIC1uICRvcHRfdyB8 fCAtbiAkb3B0X1cgXV07IHRoZW4KICAjIFBhcmVudGhlc2lzZSBhbGwgd2lsZGNhcmRzLgogIGxv Y2FsIHRtcCBmaW5kCiAgaW50ZWdlciBjbnQ9MAogICMgV2VsbCwgdGhpcyBzZWVtcyB0byB3b3Jr LgogICMgVGhlIHRyaWNreSBiaXQgaXMgZ2V0dGluZyBhbGwgZm9ybXMgb2YgWy4uLl0gY29ycmVj dCwgYnV0IGFzIGxvbmcKICAjIGFzIHdlIHJlcXVpcmUgaW5hY3RpdmUgYml0cyB0byBiZSBiYWNr c2xhc2hlZCBpdHMgbm90IHNvIGJhZC4KICBmaW5kPScoI20pKChcKlwqIyMvfFsqP118PFswLTld Iy1bMC05XSM+fFxbKF58KShcXXwpKFxbOlthLXpdIyM6XF18XFw/fFteXF1dKSMjXF0pXCMjfD9c IyMjKScKICB0bXA9IiR7cGF0Ly8ke35maW5kfS8kWysrY250XX0iCiAgaWYgW1sgJGNudCA9IDAg XV07IHRoZW4KICAgIHByaW50IC1yIC0tICIkbXluYW1lOiB3YXJuaW5nOiBubyB3aWxkY2FyZHMg d2VyZSBmb3VuZCBpbiBzZWFyY2ggcGF0dGVybiIgPiYyCiAgZWxzZQogICAgcGF0PSIke3BhdC8v JHt+ZmluZH0vKCRNQVRDSCl9IgogIGZpCiAgaWYgW1sgLW4gJG9wdF9XIF1dOyB0aGVuCiAgICAj IFR1cm4gd2lsZGNhcmRzIGludG8gJHsxfSAuLiAke059IHJlZmVyZW5jZXMuCiAgICBsb2NhbCBv cGVuPSckeycgY2xvc2U9J30nCiAgICBpbnRlZ2VyIE49MAogICAgcmVwbD0iJHtyZXBsLy8ke35m aW5kfS8kb3BlbiRbKytOXSRjbG9zZX0iCiAgICBpZiBbWyAkTiAhPSAkY250IF1dOyB0aGVuCiAg ICAgIHByaW50IC1QICIlTjogZXJyb3I6IG51bWJlciBvZiB3aWxkY2FyZHMgaW4gZWFjaCBwYXR0 ZXJuIG11c3QgbWF0Y2giID4mMgogICAgICByZXR1cm4gMQogICAgZmkKICAgIGlmIFtbICROID0g MCBdXTsgdGhlbgogICAgICBwcmludCAtUCAiJU46IHdhcm5pbmc6IG5vIHdpbGRjYXJkcyB3ZXJl IGZvdW5kIGluIHJlcGxhY2VtZW50IHBhdHRlcm4iID4mMgogICAgZmkKICBmaQpmaQoKaWYgW1sg LW4gJG9wdF9RICYmICRwYXQgPSAoI2IpKCopXChbXlwpXHxcfl0jI1wpIF1dOyB0aGVuCiAgaGFz Z2xvYnF1YWw9cQogICMgc3RyaXAgb2ZmIHF1YWxpZmllcnMgZm9yIHVzZSBhcyBvcmRpbmFyeSBw YXR0ZXJuCiAgb3BhdD0kbWF0Y2hbMV0KZmkKCmlmIFtbICRwYXQgPSAoI2IpKCopXCgoXCpcKiMj LylcKSgqKSBdXTsgdGhlbgogIGZwYXQ9IiRtYXRjaFsxXSRtYXRjaFsyXSRtYXRjaFszXSIKICAj IE5vdyBtYWtlIHN1cmUgd2UgZG8gZGVwdGgtZmlyc3Qgc2VhcmNoaW5nLgogICMgVGhpcyBpcyBz byB0aGF0IHRoZSBuYW1lcyBvZiBhbnkgZmlsZXMgYXJlIGFsdGVyZWQgYmVmb3JlIHRoZQogICMg bmFtZXMgb2YgdGhlIGRpcmVjdG9yaWVzIHRoZXkgYXJlIGluLgogIGlmIFtbIC1uICRvcHRfUSAm JiAtbiAkaGFzZ2xvYnF1YWwgXV07IHRoZW4KICAgIGZwYXRbLTFdPSJvZG9uKSIKICBlbHNlCiAg ICBzZXRvcHQgYmFyZWdsb2JxdWFsCiAgICBmcGF0PSIke2ZwYXR9KG9kb24pIgogIGZpCmVsc2UK ICBmcGF0PSRwYXQKZmkKCltbIC1uICRoYXNnbG9icXVhbCBdXSAmJiBwYXQ9JG9wYXQKCmVycnM9 KCkKCigpIHsKICAjICgjcU4pIGJyZWFrcyBiYXJlZ2xvYnF1YWwgLVEgb3B0aW9uLCBzbzoKICBz ZXRvcHQgbG9jYWxvcHRpb25zIG51bGxnbG9iCiAgZmlsZXM9KCR7fmZwYXR9KQp9CigoICR7I2Zp bGVzfSApKSB8fCBlcnJzPSggIm5vIGZpbGVzIG1hdGNoZWQgXGAkZnBhdCciICkKCmZvciBmIGlu ICRmaWxlczsgZG8KICBpZiBbWyAkcGF0ID0gKCNiKSgqKVwoXCpcKiMjL1wpKCopIF1dOyB0aGVu CiAgICAjIFRoaXMgbG9va3MgbGlrZSBhIHJlY3Vyc2l2ZSBnbG9iLiAgVGhpcyBpc24ndCBnb29k IGVub3VnaCwKICAgICMgYmVjYXVzZSB3ZSBzaG91bGQgcmVhbGx5IGVuZm9yY2UgdGhhdCAkbWF0 Y2hbMV0gYW5kICRtYXRjaFsyXQogICAgIyBkb24ndCBtYXRjaCBzbGFzaGVzIHVubGVzcyB0aGV5 IHdlcmUgZXhwbGljaXRseSBnaXZlbi4gIEJ1dAogICAgIyBpdCdzIGEgc3RhcnQuICBJdCdzIGZp bmUgZm9yIHRoZSBjbGFzc2ljIGNhc2Ugd2hlcmUgKCoqLykgaXMKICAgICMgYXQgdGhlIHN0YXJ0 IG9mIHRoZSBwYXR0ZXJuLgogICAgcGF0PSIkbWF0Y2hbMV0oKi98KSRtYXRjaFsyXSIKICBmaQog IFtbIC1lICRmICYmICRmID0gKCNiKSR7fnBhdH0gXV0gfHwgY29udGludWUKICBzZXQgLS0gIiRt YXRjaFtAXSIKICB7IHsKICAgIGc9JHsoWGUpcmVwbH0KICB9IDI+IC9kZXYvbnVsbCB9IGFsd2F5 cyB7CiAgICBpZiAoKCBUUllfQkxPQ0tfRVJST1IgKSk7IHRoZW4KICAgICAgcHJpbnQgLXIgLS0g IiRteW5hbWU6IHN5bnRheCBlcnJvciBpbiByZXBsYWNlbWVudCIgPiYyCiAgICAgIHJldHVybiAx CiAgICBmaQogIH0KICBpZiBbWyAteiAkZyBdXTsgdGhlbgogICAgZXJycys9KCJcYCRmJyBleHBh bmRlZCB0byBhbiBlbXB0eSBzdHJpbmciKQogIGVsaWYgW1sgJGYgPSAkZyBdXTsgdGhlbgogICAg IyBkb24ndCBjYXVzZSBlcnJvcjogbW9yZSB1c2VmdWwganVzdCB0byBza2lwCiAgICAjICAgZXJy cz0oJGVycnMgIiRmIG5vdCBhbHRlcmVkIGJ5IHN1YnN0aXR1dGlvbiIpCiAgICBbWyAtbiAkb3B0 X3YgXV0gJiYgcHJpbnQgLXIgLS0gIiRmIG5vdCBhbHRlcmVkLCBpZ25vcmVkIgogICAgY29udGlu dWUKICBlbGlmIFtbIC1uICRmcm9tWyRnXSAmJiAhIC1kICRnIF1dOyB0aGVuCiAgICBlcnJzKz0o IiRmIGFuZCAkZnJvbVskZ10gYm90aCBtYXAgdG8gJGciKQogIGVsaWYgW1sgLWYgJGcgJiYgLXog JG9wdF9mICYmICEgKCRmIC1lZiAkZyAmJiAkYWN0aW9uID0gbXYpIF1dOyB0aGVuCiAgICBlcnJz Kz0oImZpbGUgZXhpc3RzOiAkZyIpCiAgZmkKICBmcm9tWyRnXT0kZgogIHRvWyRmXT0kZwpkb25l CgppZiAoKCAkI2VycnMgKSk7IHRoZW4KICBwcmludCAtciAtLSAiJG15bmFtZTogZXJyb3Iocykg aW4gc3Vic3RpdHV0aW9uOiIgPiYyCiAgcHJpbnQgLWxyIC0tICRlcnJzID4mMgogIHJldHVybiAx CmZpCgpmb3IgZiBpbiAkZmlsZXM7IGRvCiAgW1sgLXogJHRvWyRmXSBdXSAmJiBjb250aW51ZQog IGV4ZWM9KCR7PWFjdGlvbn0gJHs9b3B0X299ICRvcHRfcyAkZGFzaGVzICRmICR0b1skZl0pCiAg W1sgLW4gJG9wdF9pJG9wdF9uJG9wdF92IF1dICYmIHByaW50IC1yIC0tICR7KHEtKWV4ZWN9CiAg aWYgW1sgLW4gJG9wdF9pIF1dOyB0aGVuCiAgICByZWFkIC1xICdvcHQ/RXhlY3V0ZT8gJyB8fCBj b250aW51ZQogIGZpCiAgaWYgW1sgLXogJG9wdF9uIF1dOyB0aGVuCiAgICAkZXhlYyB8fCBzdGF0 PTEKICBmaQpkb25lCgpyZXR1cm4gJHN0YXQKIyB9Cg== --000000000000c3bfec060e0f3e6c--