From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:306:2d92::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id eIxWCaCxz2QHbgEASxT56A (envelope-from ) for ; Sun, 06 Aug 2023 16:43:44 +0200 Received: from aspmx1.migadu.com ([2001:41d0:306:2d92::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id 2FsjCKCxz2QCzAAAG6o9tA (envelope-from ) for ; Sun, 06 Aug 2023 16:43:44 +0200 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 DA76041A66 for ; Sun, 6 Aug 2023 16:43:42 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=vodafonemail.de header.s=vfde-mb-mr2-21dec header.b=TraghMlu; 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=vodafonemail.de ARC-Seal: i=1; s=key1; d=yhetil.org; t=1691333023; a=rsa-sha256; cv=none; b=Ou2n0NjpEERL2o6g/B09clEMuny8G6qnxNqApA3aZu0TGsYDNI3knapF46zY9PShP+lSiz ET2WxbfP5ARhMPduJvenSF+LMwBv2TEVvr4HUXBRjsYfBN8LHDUlXRchrZO5w9WMw4EUMZ 896bon7PXG3Pvt9QqY1EwE2knr/K5MmupVAS+izLGjZyS8e20W0RcXdxAv0DEN5LMd1sjR 7M3bOJTwaT6w9e7X+XzFjXprUO3UGLEjeEyauAnuHCEmhXLV2SZhpUn39EqqZCw3T90ovv fwxS/TGVKsMIYBCjtpKJf41MoodTMl+aJiDlrMAY9T4Zr5kxgiSpUFE5Qym5nQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1691333023; 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=37leUI+cLCpsgACWiHh8trrSGD6pld0rnFTLXpEJg5Q=; b=U5xKZ+r31j34E1UToeB2R1QsoF73O4U8X6KuOk5mv/p9udBOX/T0mSuKhwKqvv0Bga1SSM gM9rtf/VhkkohlX5DzhBPY7i/Wnb27Sem8zftilAgIZrirHrDwvMQHsQmStvuBUh0hDkea VJ19kTbOc/jSiP1H044ihvBHBWAPP6mH1gHW6yWBs+3Z3JACCa3EN3nugxLePuf/ID7+tK Areo8n7TCUJaSs2dXQyn3d/fqFDyS1JS+stFyr2MZ/6rRaL4JQi5rPgLvBst1JXf2HlGBy r/uFtBGKJJBTLoNRJNUf3S7wx5tOr70NmdJBLggmlLecNBhlfne7GOX3J6ppyQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=vodafonemail.de header.s=vfde-mb-mr2-21dec header.b=TraghMlu; 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=vodafonemail.de Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qSexr-00006v-Ok; Sun, 06 Aug 2023 10:42: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 1qSexp-0008Rh-NT for emacs-orgmode@gnu.org; Sun, 06 Aug 2023 10:42:37 -0400 Received: from mr3.vodafonemail.de ([145.253.228.163]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qSexl-00037P-D9 for emacs-orgmode@gnu.org; Sun, 06 Aug 2023 10:42:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vodafonemail.de; s=vfde-mb-mr2-21dec; t=1691332950; bh=37leUI+cLCpsgACWiHh8trrSGD6pld0rnFTLXpEJg5Q=; h=Content-Type:Message-ID:Date:User-Agent:Subject:Content-Language: From:To:References:In-Reply-To:From; b=TraghMlu8Cn6qN/ndsJJ17S2zu7YWqe9DZtKMJZN3edc4Ab5GL95jBpYnktTtnoeY LVsZRdN/UGpslKRh6UL32mNGXeceHzd2UExMb8m3eqT73LcnyGcTMDauquyBXyhq3N oxyqqCCigadguxHWYo6m7SIm1ER0GchXjBPEX5QM= Received: from smtp.vodafone.de (unknown [10.0.0.2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by mr3.vodafonemail.de (Postfix) with ESMTPS id 4RJhxf32LLz1yk5; Sun, 6 Aug 2023 14:42:30 +0000 (UTC) Received: from [192.168.178.41] (port-92-194-196-106.dynamic.as20676.net [92.194.196.106]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp.vodafone.de (Postfix) with ESMTPSA id 4RJhxV4w3mzHnf1; Sun, 6 Aug 2023 14:42:19 +0000 (UTC) Content-Type: multipart/mixed; boundary="------------GU41wuhFxqDF1MExuVIUbwDP" Message-ID: <7b51e35d-3442-4908-0346-7521c3192dad@vodafonemail.de> Date: Sun, 6 Aug 2023 16:42:19 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.1 Subject: Re: org-agenda queries for absent properties Content-Language: de-DE-frami, en-US From: Jens Schmidt To: Ihor Radchenko Cc: Org-mode References: <9132e58f-d89e-f7df-bbe4-43d53a2367d2@vodafonemail.de> <87o7jsinoo.fsf@localhost> <3ac83971-2805-cfde-28a3-891814b95c25@vodafonemail.de> <87wmyendr7.fsf@localhost> <8c28a287-1a00-4bd2-7180-57e769425e85@vodafonemail.de> <87r0ogip0d.fsf@localhost> In-Reply-To: X-purgate-type: clean X-purgate: clean X-purgate-size: 22274 X-purgate-ID: 155817::1691332946-AD7FF487-438A4B64/0/0 Received-SPF: pass client-ip=145.253.228.163; envelope-from=jschmidt4gnu@vodafonemail.de; helo=mr3.vodafonemail.de X-Spam_score_int: -68 X-Spam_score: -6.9 X-Spam_bar: ------ X-Spam_report: (-6.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, NICE_REPLY_A=-4.139, RCVD_IN_DNSWL_LOW=-0.7, 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-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -6.62 X-Migadu-Scanner: mx2.migadu.com X-Migadu-Queue-Id: DA76041A66 X-Spam-Score: -6.62 X-TUID: 0ZzxXUapQW2h This is a multi-part message in MIME format. --------------GU41wuhFxqDF1MExuVIUbwDP Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2023-08-06 11:19, Jens Schmidt wrote: > I > will also add tests for matching property names having minuses and then > we can see how it goes. Went well. With a property name regexp "\\(?5:[[:alnum:]_-]+\\)" and the following Org file -------------------------------------------------- * H1 :BAR: :PROPERTIES: :TEST-FOO: 1 :END: * H2 :FOO: :PROPERTIES: :TEST-FOO: 2 :END: * H3 :BAR: :PROPERTIES: :-FOO: 1 :END: * H4 :FOO: :PROPERTIES: :-FOO: 2 :END: * H5 -------------------------------------------------- the search expressions "TEST-FOO!=*0-FOO" and "-FOO+TEST-FOO!=*0" work as expected, finding only the first heading. The expression "-FOO!=*0-FOO" does *not* work, though, since the leading minus in the property name is gobbled by the greedy inclusion/exclusion subexp "\\(?1:[-+:]\\)?". However, the remedy is simple: Add an explicit plus sign: "+-FOO!=*0-FOO". Documented that in the Org manual, added tests, looks good. Please check. --------------GU41wuhFxqDF1MExuVIUbwDP Content-Type: text/x-patch; charset=UTF-8; name="0001-org-make-tags-matcher-Add-starred-property-operators.patch" Content-Disposition: attachment; filename*0="0001-org-make-tags-matcher-Add-starred-property-operators.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBjYjMyNjhjOGIxYzY5MzcxNTg5YTlhYTQ0YTk2ZDMzZTI5YWVkYmIxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKZW5zIFNjaG1pZHQgPGpzY2htaWR0NGdudUB2b2Rh Zm9uZW1haWwuZGU+CkRhdGU6IFN1biwgNiBBdWcgMjAyMyAxNjozODowNCArMDIwMApTdWJq ZWN0OiBbUEFUQ0hdIG9yZy1tYWtlLXRhZ3MtbWF0Y2hlcjogQWRkIHN0YXJyZWQgcHJvcGVy dHkgb3BlcmF0b3JzLCBmaXgKIHF1b3RpbmcKCiogbGlzcC9vcmcuZWwgKG9yZy1tYWtlLXRh Z3MtbWF0Y2hlcik6IEFkZCBzdGFycmVkIHByb3BlcnR5IG9wZXJhdG9ycy4KUmVjb2duaXpl IGFkZGl0aW9uYWwgb3BlcmF0b3JzICI9PSIsICIhPSIsICIvPSIuICBDbGVhbiB1cCBhbmQK ZG9jdW1lbnQgbWF0Y2ggdGVybSBwYXJzaW5nLiAgUmVtb3ZlIG5lZWRsZXNzIGFuZCBidWdn eSB1bnF1b3Rpbmcgb2YKbWludXMgY2hhcmFjdGVycyBpbiBwcm9wZXJ0eSBhbmQgdGFnIG5h bWVzLgoob3JnLW9wLXRvLWZ1bmN0aW9uKTogUmVjb2duaXplIGFkZGl0aW9uYWwgaW5lcXVh bGl0eSBvcGVyYXRvciAiLz0iLgoKKiBkb2Mvb3JnLW1hbnVhbC5vcmcgKE1hdGNoaW5nIHRh Z3MgYW5kIHByb3BlcnRpZXMpOiBBZGQgZG9jdW1lbnRhdGlvbgpvbiBzdGFycmVkIGFuZCBh ZGRpdGlvbmFsIG9wZXJhdG9ycy4gIERvY3VtZW50IGFsbG93ZWQgY2hhcmFjdGVycyBpbgpw cm9wZXJ0eSBuYW1lcyBhbmQgaGFuZGxpbmcgb2YgbWludXMgY2hhcmFjdGVycyBpbiBwcm9w ZXJ0eSBuYW1lcy4KCiogdGVzdGluZy9saXNwL3Rlc3Qtb3JnLmVsICh0ZXN0LW9yZy9tYXAt ZW50cmllcyk6IEFkZCB0ZXN0cyBmb3IKc3RhcnJlZCBhbmQgYWRkaXRpb25hbCBvcGVyYXRv cnMuICBBZGQgdGVzdHMgZm9yIHByb3BlcnR5IG5hbWVzCmNvbnRhaW5pbmcgbWludXMgY2hh cmFjdGVycy4KCiogZXRjL09SRy1ORVdTOiAofm9yZy10YWdzLXZpZXd+IHN1cHBvcnRzIG1v cmUgcHJvcGVydHkgb3BlcmF0b3JzKToKQWRkIGFubm91bmNlbWVudCBvbiBzdGFycmVkIGFu ZCBhZGRpdGlvbmFsIG9wZXJhdG9ycy4KCkxpbms6IGh0dHBzOi8vb3JnbW9kZS5vcmcvbGlz dC85MTMyZTU4Zi1kODllLWY3ZGYtYmJlNC00M2Q1M2EyMzY3ZDJAdm9kYWZvbmVtYWlsLmRl Ci0tLQogZG9jL29yZy1tYW51YWwub3JnICAgICAgIHwgIDM1ICsrKysrKysrKysrLQogZXRj L09SRy1ORVdTICAgICAgICAgICAgIHwgIDEwICsrKy0KIGxpc3Avb3JnLmVsICAgICAgICAg ICAgICB8IDEyMCArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KIHRl c3RpbmcvbGlzcC90ZXN0LW9yZy5lbCB8ICA2NCArKysrKysrKysrKysrKysrKysrKy0KIDQg ZmlsZXMgY2hhbmdlZCwgMTkyIGluc2VydGlvbnMoKyksIDM3IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RvYy9vcmctbWFudWFsLm9yZyBiL2RvYy9vcmctbWFudWFsLm9yZwppbmRl eCBlNTllZmM0MTcuLjQyNTJkN2FjMyAxMDA2NDQKLS0tIGEvZG9jL29yZy1tYW51YWwub3Jn CisrKyBiL2RvYy9vcmctbWFudWFsLm9yZwpAQCAtOTI0NiwxNiArOTI0NiwxOCBAQCBXaGVu IG1hdGNoaW5nIHByb3BlcnRpZXMsIGEgbnVtYmVyIG9mIGRpZmZlcmVudCBvcGVyYXRvcnMg Y2FuIGJlIHVzZWQKIHRvIHRlc3QgdGhlIHZhbHVlIG9mIGEgcHJvcGVydHkuICBIZXJlIGlz IGEgY29tcGxleCBleGFtcGxlOgogCiAjK2JlZ2luX2V4YW1wbGUKLSt3b3JrLWJvc3MrUFJJ T1JJVFk9IkEiK0NvZmZlZT0idW5saW1pdGVkIitFZmZvcnQ8MgorK3dvcmstYm9zcytQUklP UklUWT0iQSIrQ29mZmVlPSJ1bmxpbWl0ZWQiK0VmZm9ydDwqMgogICAgICAgICAgK1dpdGg9 e1NhcmFoXHxEZW5ueX0rU0NIRURVTEVEPj0iPDIwMDgtMTAtMTE+IgogIytlbmRfZXhhbXBs ZQogCisjK2NpbmRleDogb3BlcmF0b3IsIGZvciBwcm9wZXJ0eSBzZWFyY2gKICMrdGV4aW5m bzogQG5vaW5kZW50CiBUaGUgdHlwZSBvZiBjb21wYXJpc29uIGRlcGVuZHMgb24gaG93IHRo ZSBjb21wYXJpc29uIHZhbHVlIGlzIHdyaXR0ZW46CiAKIC0gSWYgdGhlIGNvbXBhcmlzb24g dmFsdWUgaXMgYSBwbGFpbiBudW1iZXIsIGEgbnVtZXJpY2FsIGNvbXBhcmlzb24gaXMKICAg ZG9uZSwgYW5kIHRoZSBhbGxvd2VkIG9wZXJhdG9ycyBhcmUgPTw9LCA9PT0sID0+PSwgPTw9 PSwgPT49PSwgYW5kCi0gID08Pj0uCisgID08Pj0uICBBcyBzeW5vbnltIGZvciB0aGUgZXF1 YWxpdHkgb3BlcmF0b3IgdGhlcmUgaXMgYWxzbyA9PT09LCBhcworICBzeW5vbnltcyBmb3Ig dGhlIGluZXF1YWxpdHkgb3BlcmF0b3IgdGhlcmUgYXJlID0hPT0gYW5kID0vPT0uCiAKIC0g SWYgdGhlIGNvbXBhcmlzb24gdmFsdWUgaXMgZW5jbG9zZWQgaW4gZG91YmxlLXF1b3Rlcywg YSBzdHJpbmcKICAgY29tcGFyaXNvbiBpcyBkb25lLCBhbmQgdGhlIHNhbWUgb3BlcmF0b3Jz IGFyZSBhbGxvd2VkLgpAQCAtOTI3Myw2ICs5Mjc1LDEzIEBAIFRoZSB0eXBlIG9mIGNvbXBh cmlzb24gZGVwZW5kcyBvbiBob3cgdGhlIGNvbXBhcmlzb24gdmFsdWUgaXMgd3JpdHRlbjoK ICAgaXMgcGVyZm9ybWVkLCB3aXRoID09PSBtZWFuaW5nIHRoYXQgdGhlIHJlZ2V4cCBtYXRj aGVzIHRoZSBwcm9wZXJ0eQogICB2YWx1ZSwgYW5kID08Pj0gbWVhbmluZyB0aGF0IGl0IGRv ZXMgbm90IG1hdGNoLgogCistIEFsbCBvcGVyYXRvcnMgbWF5IGJlIG9wdGlvbmFsbHkgZm9s bG93ZWQgYnkgYW4gYXN0ZXJpc2sgPSo9LCBsaWtlIGluCisgID08Kj0sID0hPSo9LCBldGMu ICBTdWNoIC9zdGFycmVkIG9wZXJhdG9ycy8gd29yayBsaWtlIHRoZWlyIHJlZ3VsYXIsCisg IHVuc3RhcnJlZCBjb3VudGVycGFydHMgZXhjZXB0IHRoYXQgdGhleSBtYXRjaCBvbmx5IGhl YWRsaW5lcyB3aGVyZQorICB0aGUgdGVzdGVkIHByb3BlcnR5IGlzIGFjdHVhbGx5IHByZXNl bnQuICBUaGlzIGlzIG1vc3QgdXNlZnVsIGZvcgorICBzZWFyY2ggdGVybXMgdGhhdCBsb2dp Y2FsbHkgZXhjbHVkZSByZXN1bHRzLCBsaWtlIHRoZSBpbmVxdWFsaXR5CisgIG9wZXJhdG9y LgorCiBTbyB0aGUgc2VhcmNoIHN0cmluZyBpbiB0aGUgZXhhbXBsZSBmaW5kcyBlbnRyaWVz IHRhZ2dlZCA9d29yaz0gYnV0CiBub3QgPWJvc3M9LCB3aGljaCBhbHNvIGhhdmUgYSBwcmlv cml0eSB2YWx1ZSA9QT0sIGEgPUNvZmZlZT0gcHJvcGVydHkKIHdpdGggdGhlIHZhbHVlID11 bmxpbWl0ZWQ9LCBhbiA9RUZGT1JUPSBwcm9wZXJ0eSB0aGF0IGlzIG51bWVyaWNhbGx5CkBA IC05MjgwLDYgKzkyODksMjggQEAgc21hbGxlciB0aGFuIDIsIGEgPVdpdGg9IHByb3BlcnR5 IHRoYXQgaXMgbWF0Y2hlZCBieSB0aGUgcmVndWxhcgogZXhwcmVzc2lvbiA9U2FyYWhcfERl bm55PSwgYW5kIHRoYXQgYXJlIHNjaGVkdWxlZCBvbiBvciBhZnRlciBPY3RvYmVyCiAxMSwg MjAwOC4KIAorTm90ZSB0aGF0IHRoZSB0ZXN0IG9uIHRoZSA9RUZGT1JUPSBwcm9wZXJ0eSB1 c2VzIG9wZXJhdG9yID08Kj0sIHNvCit0aGF0IHRoZSBzZWFyY2ggcmVzdWx0IHdpbGwgaW5j bHVkZSBvbmx5IGVudHJpZXMgdGhhdCBhY3R1YWxseSBoYXZlIGFuCis9RUZGT1JUPSBwcm9w ZXJ0eSBkZWZpbmVkIGFuZCB3aXRoIG51bWVyaWNhbCB2YWx1ZSBzbWFsbGVyIHRoYW4gMi4K K1dpdGggdGhlIHJlZ3VsYXIgPTw9IG9wZXJhdG9yLCB0aGUgc2VhcmNoIHdvdWxkIGhhbmRs ZSBlbnRyaWVzIHdpdGhvdXQKK2FuID1FRkZPUlQ9IHByb3BlcnR5IGFzIGhhdmluZyBhIHpl cm8gZWZmb3J0IGFuZCB3b3VsZCBpbmNsdWRlIHRoZW0gaW4KK3RoZSByZXN1bHQgYXMgd2Vs bC4KKworQ3VycmVudGx5LCB5b3UgY2FuIHVzZSBvbmx5IHByb3BlcnR5IG5hbWVzIGluY2x1 ZGluZyBhbHBoYW51bWVyaWMKK2NoYXJhY3RlcnMsIHVuZGVyc2NvcmVzLCBhbmQgbWludXMg Y2hhcmFjdGVycyBpbiBzZWFyY2ggc3RyaW5ncy4gIEluCithZGRpdGlvbiwgaWYgeW91IHdh bnQgdG8gc2VhcmNoIGZvciBhIHByb3BlcnR5IHdob3NlIG5hbWUgc3RhcnRzIHdpdGgKK2Eg bWludXMgY2hhcmFjdGVyLCB5b3UgaGF2ZSB0byAicXVvdGUiIHRoYXQgbGVhZGluZyBtaW51 cyBjaGFyYWN0ZXIKK3dpdGggYW4gZXhwbGljaXQgcG9zaXRpdmUgc2VsZWN0aW9uIHBsdXMg Y2hhcmFjdGVyLCBsaWtlIHRoaXM6CisKKyMrYmVnaW5fZXhhbXBsZQorKy1sb25nLWFuZC10 d2lzdGVkLXByb3BlcnR5LW5hbWUtPSJmb28iCisjK2VuZF9leGFtcGxlCisKKyMrdGV4aW5m bzogQG5vaW5kZW50CitXaXRob3V0IHRoYXQgZXh0cmEgcGx1cyBjaGFyYWN0ZXIsIHRoZSBt aW51cyBjaGFyYWN0ZXIgd291bGQgYmUgdGFrZW4KK3RvIGluZGljYXRlIGEgbmVnYXRpdmUg c2VsZWN0aW9uIG9uIHNlYXJjaCB0ZXJtCis9bG9uZy1hbmQtdHdpc3RlZC1wcm9wZXJ0eS1u YW1lLeKAiz0iZm9vIj0uCisKIFlvdSBjYW4gY29uZmlndXJlIE9yZyBtb2RlIHRvIHVzZSBw cm9wZXJ0eSBpbmhlcml0YW5jZSBkdXJpbmcKIGEgc2VhcmNoLCBidXQgYmV3YXJlIHRoYXQg dGhpcyBjYW4gc2xvdyBkb3duIHNlYXJjaGVzIGNvbnNpZGVyYWJseS4KIFNlZSBbWypQcm9w ZXJ0eSBJbmhlcml0YW5jZV1dLCBmb3IgZGV0YWlscy4KZGlmZiAtLWdpdCBhL2V0Yy9PUkct TkVXUyBiL2V0Yy9PUkctTkVXUwppbmRleCA0ZjE2ZWRhMjQuLjEwYzUxZTM1NCAxMDA2NDQK LS0tIGEvZXRjL09SRy1ORVdTCisrKyBiL2V0Yy9PUkctTkVXUwpAQCAtMTI1LDcgKzEyNSw3 IEBAIE5ldyBmdW5jdGlvbnMgdG8gcmV0cmlldmUgYW5kIHNldCAodmlhIH5zZXRmfikgY29t bW9ubHkgdXNlZCBlbGVtZW50IHByb3BlcnRpZXM6CiAtID06Y29udGVudHMtcG9zdC1hZmZp bGlhdGVkPSA6OiB+b3JnLWVsZW1lbnQtcG9zdC1hZmZpbGlhdGVkfgogLSA9OmNvbnRlbnRz LXBvc3QtYmxhbms9IDo6IH5vcmctZWxlbWVudC1wb3N0LWJsYW5rfgogLSA9OnBhcmVudD0g Ojogfm9yZy1lbGVtZW50LXBhcmVudH4KLSAKKwogKioqKiogTmV3IG1hY3JvIH5vcmctZWxl bWVudC13aXRoLWVuYWJsZWQtY2FjaGV+CiAKIFRoZSBtYWNybyBhcnJhbmdlcyB0aGUgZWxl bWVudCBjYWNoZSB0byBiZSBhY3RpdmUgZHVyaW5nID1CT0RZPSBleGVjdXRpb24uCkBAIC01 NTgsNiArNTU4LDE0IEBAIHNwZWNpYWwgcmVwZWF0ZXJzIH4rK34gYW5kIH4uK34gYXJlIHNr aXBwZWQuCiBBIGNhcHR1cmUgdGVtcGxhdGUgY2FuIHRhcmdldCB+KGhlcmUpfiB3aGljaCBp cyB0aGUgZXF1aXZhbGVudCBvZgogaW52b2tpbmcgYSBjYXB0dXJlIHRlbXBsYXRlIHdpdGgg YSB6ZXJvIHByZWZpeC4KIAorKioqIH5vcmctdGFncy12aWV3fiBzdXBwb3J0cyBtb3JlIHBy b3BlcnR5IG9wZXJhdG9ycworCitJdCBzdXBwb3J0cyBpbmVxdWFsaXR5IG9wZXJhdG9ycyB+ IT1+IGFuZCB+Lz1+IGluIGFkZGl0aW9uIHRvIHRoZSBsZXNzCitjb21tb24gKEJBU0lDPyAg UGFzY2FsPyAgU1FMPykgfjw+fi4gIEFuZCBpdCBzdXBwb3J0cyBzdGFycmVkIHZlcnNpb25z CitvZiBhbGwgcmVsYXRpb25hbCBvcGVyYXRvcnMgKH48Kn4sIH49Kn4sIH4hPSp+LCBldGMu KSB0aGF0IHdvcmsgbGlrZQordGhlIHJlZ3VsYXIsIHVuc3RhcnJlZCBvcGVyYXRvcnMgYnV0 IG1hdGNoIGEgaGVhZGxpbmUgb25seSBpZiB0aGUKK3Rlc3RlZCBwcm9wZXJ0eSBpcyBhY3R1 YWxseSBwcmVzZW50LgorCiAqKiBOZXcgZnVuY3Rpb25zIGFuZCBjaGFuZ2VzIGluIGZ1bmN0 aW9uIGFyZ3VtZW50cwogKioqID1UWVBFUz0gYXJndW1lbnQgaW4gfm9yZy1lbGVtZW50LWxp bmVhZ2V+IGNhbiBub3cgYmUgYSBzeW1ib2wKIApkaWZmIC0tZ2l0IGEvbGlzcC9vcmcuZWwg Yi9saXNwL29yZy5lbAppbmRleCBlZDc1ZjNlZGIuLjllZTNmOThiYSAxMDA2NDQKLS0tIGEv bGlzcC9vcmcuZWwKKysrIGIvbGlzcC9vcmcuZWwKQEAgLTExMzA0LDE1ICsxMTMwNCw1MCBA QCBTZWUgYWxzbyBgb3JnLXNjYW4tdGFncycuIgogCSAgICAgIk1hdGNoOiAiCiAJICAgICAn b3JnLXRhZ3MtY29tcGxldGlvbi1mdW5jdGlvbiBuaWwgbmlsIG5pbCAnb3JnLXRhZ3MtaGlz dG9yeSkpKSkKIAotICAobGV0ICgobWF0Y2gwIG1hdGNoKQotCShyZSAoY29uY2F0Ci0JICAg ICAiXiY/XFwoWy0rOl1cXCk/XFwoe1tefV0rfVxcfExFVkVMXFwoWzw9Pl1cXHsxLDJcXH1c XCkiCi0JICAgICAiXFwoWzAtOV0rXFwpXFx8XFwoXFwoPzpbWzphbG51bTpdX10rXFwoPzpc XFxcLVxcKSpcXCkrXFwpIgotCSAgICAgIlxcKFs8Pj1dXFx7MSwyXFx9XFwpIgotCSAgICAg IlxcKHtbXn1dK31cXHxcIlteXCJdKlwiXFx8LT9bLjAtOV0rXFwoPzpbZUVdWy0rXT9bMC05 XStcXCk/XFwpIgotCSAgICAgIlxcfCIgb3JnLXRhZy1yZSAiXFwpIikpCi0JKHN0YXJ0IDAp Ci0JdGFnc21hdGNoIHRvZG9tYXRjaCB0YWdzbWF0Y2hlciB0b2RvbWF0Y2hlcikKKyAgKGxl dCogKChtYXRjaDAgbWF0Y2gpCisgICAgICAgICAob3ByZSAiWzw9Pl09P1xcfFshL109XFx8 PD4iKQorICAgICAgICAgKHJlIChjb25jYXQKKyAgICAgICAgICAgICAgIl4iCisgICAgICAg ICAgICAgIDs7IGltcGxpY2l0IEFORCBvcGVyYXRvciAoT1IgaXMgZG9uZSBieSBnbG9iYWwg c3BsaXR0aW5nKQorICAgICAgICAgICAgICAiJj8iCisgICAgICAgICAgICAgIDs7IGV4Y2x1 c2lvbiBhbmQgaW5jbHVzaW9uICh0aGUgbGF0dGVyIGJlaW5nIGltcGxpY2l0KQorICAgICAg ICAgICAgICAiXFwoPzE6Wy0rOl1cXCk/IgorICAgICAgICAgICAgICA7OyBxdWVyeSB0ZXJt CisgICAgICAgICAgICAgICJcXCg/MjoiCisgICAgICAgICAgICAgICAgICA7OyB0YWcgcmVn ZXhwIG1hdGNoCisgICAgICAgICAgICAgICAgICAie1tefV0rfVxcfCIKKyAgICAgICAgICAg ICAgICAgIDs7IExFVkVMIHByb3BlcnR5IG1hdGNoLiAgRm9yIHNha2Ugb2YgY29uc2lzdGVu Y3ksCisgICAgICAgICAgICAgICAgICA7OyByZWNvZ25pemUgc3RhcnJlZCBvcGVyYXRvcnMg aGVyZSBhcyB3ZWxsLiAgV2UgZG8KKyAgICAgICAgICAgICAgICAgIDs7IG5vdCBuZWVkIHRv IHByb2Nlc3MgdGhlbSBiZWxvdywgaG93ZXZlciwgc2luY2UKKyAgICAgICAgICAgICAgICAg IDs7IHRoZSBMRVZFTCBwcm9wZXJ0eSBpcyBhbHdheXMgcHJlc2VudC4KKyAgICAgICAgICAg ICAgICAgICJMRVZFTFxcKD8zOiIgb3ByZSAiXFwpXFwqP1xcKD80OlswLTldK1xcKVxcfCIK KyAgICAgICAgICAgICAgICAgIDs7IHJlZ3VsYXIgcHJvcGVydHkgbWF0Y2gKKyAgICAgICAg ICAgICAgICAgICJcXCg/OiIKKyAgICAgICAgICAgICAgICAgICAgICA7OyBwcm9wZXJ0eSBu YW1lIFsxXQorICAgICAgICAgICAgICAgICAgICAgICJcXCg/NTpbWzphbG51bTpdXy1dK1xc KSIKKyAgICAgICAgICAgICAgICAgICAgICA7OyBvcGVyYXRvciwgb3B0aW9uYWxseSBzdGFy cmVkCisgICAgICAgICAgICAgICAgICAgICAgIlxcKD82OiIgb3ByZSAiXFwpXFwoPzc6XFwq XFwpPyIKKyAgICAgICAgICAgICAgICAgICAgICA7OyBvcGVyYW5kIChyZWdleHAsIGRvdWJs ZS1xdW90ZWQgc3RyaW5nLAorICAgICAgICAgICAgICAgICAgICAgIDs7IG51bWJlcikKKyAg ICAgICAgICAgICAgICAgICAgICAiXFwoPzg6IgorICAgICAgICAgICAgICAgICAgICAgICAg ICAie1tefV0rfVxcfCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIlwiW15cIl0qXCJc XHwiCisgICAgICAgICAgICAgICAgICAgICAgICAgICItP1suMC05XStcXCg/OltlRV1bLStd P1swLTldK1xcKT8iCisgICAgICAgICAgICAgICAgICAgICAgIlxcKSIKKyAgICAgICAgICAg ICAgICAgICJcXClcXHwiCisgICAgICAgICAgICAgICAgICA7OyBleGFjdCB0YWcgbWF0Y2gK KyAgICAgICAgICAgICAgICAgIG9yZy10YWctcmUKKyAgICAgICAgICAgICAgIlxcKSIpKQor ICAgICAgICAgKHN0YXJ0IDApCisgICAgICAgICB0YWdzbWF0Y2ggdG9kb21hdGNoIHRhZ3Nt YXRjaGVyIHRvZG9tYXRjaGVyKQorCisgICAgOzsgWzFdIFRoZSBtaW51cyBjaGFyYWN0ZXJz IGluIHByb3BlcnR5IG5hbWVzIGRvICpub3QqIGNvbmZsaWN0CisgICAgOzsgd2l0aCB0aGUg ZXhjbHVzaW9uIG9wZXJhdG9yIGFib3ZlLCBzaW5jZSB0aGUgbWFuZGF0b3J5CisgICAgOzsg Zm9sbG93aW5nIG9wZXJhdG9yIGRpc3Rpbmd1aXNoZXMgdGhlc2UgYm90aCBjYXNlcy4KKyAg ICA7OyBBY2NvcmRpbmdseSwgbWludXMgY2hhcmFjdGVycyBkbyBub3QgbmVlZCBhbnkgc3Bl Y2lhbCBxdW90aW5nLAorICAgIDs7IGV2ZW4gaWYgaHR0cHM6Ly9vcmdtb2RlLm9yZy9saXN0 Lzg3anp2NjdrM3AuZnNmQGxvY2FsaG9zdCBhbmQKKyAgICA7OyBjb21taXQgMTliMGUwM2Yz MmM2MDMyYTYwMTUwZmM2Y2IwN2M2Zjc2NmNiM2Y2YyBzdWdnZXN0CisgICAgOzsgb3RoZXJ3 aXNlLgogCiAgICAgOzsgRXhwYW5kIGdyb3VwIHRhZ3MuCiAgICAgKHNldHEgbWF0Y2ggKG9y Zy10YWdzLWV4cGFuZCBtYXRjaCkpCkBAIC0xMTM1MiwxNSArMTEzODcsMTYgQEAgU2VlIGFs c28gYG9yZy1zY2FuLXRhZ3MnLiIKIAkgICAgKGxldCogKChyZXN0IChzdWJzdHJpbmcgdGVy bSAobWF0Y2gtZW5kIDApKSkKIAkJICAgKG1pbnVzIChhbmQgKG1hdGNoLWVuZCAxKQogCQkJ ICAgICAgIChlcXVhbCAobWF0Y2gtc3RyaW5nIDEgdGVybSkgIi0iKSkpCi0JCSAgICh0YWcg KHNhdmUtbWF0Y2gtZGF0YQotCQkJICAocmVwbGFjZS1yZWdleHAtaW4tc3RyaW5nCi0JCQkg ICAiXFxcXC0iICItIiAobWF0Y2gtc3RyaW5nIDIgdGVybSkpKSkKKwkJICAgOzsgQmluZCB0 aGUgd2hvbGUgcXVlcnkgdGVybSB0byBgdGFnJyBhbmQgdXNlIHRoYXQKKwkJICAgOzsgdmFy aWFibGUgZm9yIGEgdGFnIHJlZ2V4cCBtYXRjaCBpbiBbMl0gb3IgYXMgYW4KKwkJICAgOzsg ZXhhY3QgdGFnIG1hdGNoIGluIFszXS4KKwkJICAgKHRhZyAobWF0Y2gtc3RyaW5nIDIgdGVy bSkpCiAJCSAgIChyZWdleHAgKGVxIChzdHJpbmctdG8tY2hhciB0YWcpID97KSkKIAkJICAg KGxldmVscCAobWF0Y2gtZW5kIDQpKQogCQkgICAocHJvcHAgKG1hdGNoLWVuZCA1KSkKIAkJ ICAgKG1tCiAJCSAgICAoY29uZAotCQkgICAgIChyZWdleHAKKwkJICAgICAocmVnZXhwCQkJ OyBbMl0KICAgICAgICAgICAgICAgICAgICAgICBgKHdpdGgtc3ludGF4LXRhYmxlIG9yZy1t b2RlLXRhZ3Mtc3ludGF4LXRhYmxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgKG9yZy1t YXRjaC1hbnktcCAsKHN1YnN0cmluZyB0YWcgMSAtMSkgdGFncy1saXN0KSkpCiAJCSAgICAg KGxldmVscApAQCAtMTEzNjgsMjggKzExNDA0LDQ2IEBAIFNlZSBhbHNvIGBvcmctc2Nhbi10 YWdzJy4iCiAJCQlsZXZlbAogCQkJLChzdHJpbmctdG8tbnVtYmVyIChtYXRjaC1zdHJpbmcg NCB0ZXJtKSkpKQogCQkgICAgIChwcm9wcAotCQkgICAgICAobGV0KiAoKGd2IChwY2FzZSAo dXBjYXNlIChtYXRjaC1zdHJpbmcgNSB0ZXJtKSkKKwkJICAgICAgKGxldCogKDs7IENvbnZl cnQgcHJvcGVydHkgbmFtZSB0byBhbiBFbGlzcAorCQkJICAgICA7OyBhY2Nlc3NvciBmb3Ig dGhhdCBwcm9wZXJ0eSAoYWthLiBhcworCQkJICAgICA7OyBnZXR0ZXIgdmFsdWU/KS4KKwkJ CSAgICAgKGd2IChwY2FzZSAodXBjYXNlIChtYXRjaC1zdHJpbmcgNSB0ZXJtKSkKIAkJCQkg ICAoIkNBVEVHT1JZIgogCQkJCSAgICAnKG9yZy1nZXQtY2F0ZWdvcnkgKHBvaW50KSkpCiAJ CQkJICAgKCJUT0RPIiAndG9kbykKIAkJCQkgICAocCBgKG9yZy1jYWNoZWQtZW50cnktZ2V0 IG5pbCAscCkpKSkKLQkJCSAgICAgKHB2IChtYXRjaC1zdHJpbmcgNyB0ZXJtKSkKKwkJCSAg ICAgOzsgRGV0ZXJtaW5lIG9wZXJhbmQgKGFrYS4gcHJvcGVydHkKKwkJCSAgICAgOzsgdmFs dWUpLgorCQkJICAgICAocHYgKG1hdGNoLXN0cmluZyA4IHRlcm0pKQorCQkJICAgICA7OyBE ZXRlcm1pbmUgdHlwZSBvZiBvcGVyYW5kLiAgTm90ZSB0aGF0CisJCQkgICAgIDs7IHRoZXNl IGFyZSBub3QgZXhjbHVzaXZlOiBBbnkgVElNRVAgaXMKKwkJCSAgICAgOzsgYWxzbyBTVFJQ LgogCQkJICAgICAocmVnZXhwIChlcSAoc3RyaW5nLXRvLWNoYXIgcHYpID97KSkKIAkJCSAg ICAgKHN0cnAgKGVxIChzdHJpbmctdG8tY2hhciBwdikgP1wiKSkKIAkJCSAgICAgKHRpbWVw IChzdHJpbmctbWF0Y2gtcCAiXlwiW1s8XVxcKD86WzAtOV0rXFx8bm93XFx8dG9kYXlcXHx0 b21vcnJvd1xcfFsrLV1bMC05XStbZG13eV1cXCkuKltdPl1cIiQiIHB2KSkKKwkJCSAgICAg OzsgTWFzc2FnZSBvcGVyYW5kLiAgVElNRVAgbXVzdCBjb21lCisJCQkgICAgIDs7IGJlZm9y ZSBTVFJQLgorCQkJICAgICAocHYgKGNvbmQgKHJlZ2V4cCAoc3Vic3RyaW5nIHB2IDEgLTEp KQorCQkJCSAgICAgICAodGltZXAgIChvcmctbWF0Y2hlci10aW1lCisJCQkJCQkoc3Vic3Ry aW5nIHB2IDEgLTEpKSkKKwkJCQkgICAgICAgKHN0cnAgICAoc3Vic3RyaW5nIHB2IDEgLTEp KQorCQkJCSAgICAgICAodCAgICAgIHB2KSkpCisJCQkgICAgIDs7IENvbnZlcnQgb3BlcmF0 b3IgdG8gRWxpc3AuCiAJCQkgICAgIChwbyAob3JnLW9wLXRvLWZ1bmN0aW9uIChtYXRjaC1z dHJpbmcgNiB0ZXJtKQotCQkJCQkJICAgICAoaWYgdGltZXAgJ3RpbWUgc3RycCkpKSkKLQkJ CShzZXRxIHB2IChpZiAob3IgcmVnZXhwIHN0cnApIChzdWJzdHJpbmcgcHYgMSAtMSkgcHYp KQotCQkJKHdoZW4gdGltZXAgKHNldHEgcHYgKG9yZy1tYXRjaGVyLXRpbWUgcHYpKSkKLQkJ CShjb25kICgoYW5kIHJlZ2V4cCAoZXEgcG8gJy89KSkKLQkJCSAgICAgICBgKG5vdCAoc3Ry aW5nLW1hdGNoICxwdiAob3IgLGd2ICIiKSkpKQotCQkJICAgICAgKHJlZ2V4cCBgKHN0cmlu Zy1tYXRjaCAscHYgKG9yICxndiAiIikpKQotCQkJICAgICAgKHN0cnAgYCgscG8gKG9yICxn diAiIikgLHB2KSkKLQkJCSAgICAgICh0Ci0JCQkgICAgICAgYCgscG8KLQkJCQkgKHN0cmlu Zy10by1udW1iZXIgKG9yICxndiAiIikpCi0JCQkJICwoc3RyaW5nLXRvLW51bWJlciBwdikp KSkpKQotCQkgICAgICh0IGAobWVtYmVyICx0YWcgdGFncy1saXN0KSkpKSkKKwkJCQkJCSAg ICAgKGlmIHRpbWVwICd0aW1lIHN0cnApKSkKKwkJCSAgICAgOzsgQ29udmVydCB3aG9sZSBw cm9wZXJ0eSB0ZXJtIHRvIEVsaXNwLgorCQkJICAgICAocHQgKGNvbmQgKChhbmQgcmVnZXhw IChlcSBwbyAnLz0pKQorCQkJCQlgKG5vdCAoc3RyaW5nLW1hdGNoICxwdiAob3IgLGd2ICIi KSkpKQorCQkJCSAgICAgICAocmVnZXhwIGAoc3RyaW5nLW1hdGNoICxwdiAob3IgLGd2ICIi KSkpCisJCQkJICAgICAgIChzdHJwIGAoLHBvIChvciAsZ3YgIiIpICxwdikpCisJCQkJICAg ICAgICh0CisJCQkJCWAoLHBvCisJCQkJCSAgKHN0cmluZy10by1udW1iZXIgKG9yICxndiAi IikpCisJCQkJCSAgLChzdHJpbmctdG8tbnVtYmVyIHB2KSkpKSkKKwkJCSAgICAgOzsgUmVz cGVjdCB0aGUgc3RhciBhZnRlciB0aGUgb3BlcmFuZC4KKwkJCSAgICAgKHB0IChpZiAobWF0 Y2gtZW5kIDcpIGAoYW5kICxndiAscHQpIHB0KSkpCisJCQlwdCkpCisJCSAgICAgKHQgYCht ZW1iZXIgLHRhZyB0YWdzLWxpc3QpKSkpKSA7IFszXQogCSAgICAgIChwdXNoIChpZiBtaW51 cyBgKG5vdCAsbW0pIG1tKSB0YWdzbWF0Y2hlcikKIAkgICAgICAoc2V0cSB0ZXJtIHJlc3Qp KSkKIAkgIChwdXNoIGAoYW5kICxAdGFnc21hdGNoZXIpIG9ybGlzdCkKQEAgLTExNTIwLDEy ICsxMTU3NCwxMiBAQCB0aGUgbGlzdCBvZiB0YWdzIGluIHRoaXMgZ3JvdXAuIgogICAiVHVy biBhbiBvcGVyYXRvciBpbnRvIHRoZSBhcHByb3ByaWF0ZSBmdW5jdGlvbi4iCiAgIChzZXRx IG9wCiAJKGNvbmQKLQkgKChlcXVhbCAgb3AgICAiPCIgICAgICAgKSAnKDwgICAgIG9yZy1z dHJpbmc8ICBvcmctdGltZTwpKQotCSAoKGVxdWFsICBvcCAgICI+IiAgICAgICApICcoPiAg ICAgb3JnLXN0cmluZz4gIG9yZy10aW1lPikpCi0JICgobWVtYmVyIG9wICcoIjw9IiAiPTwi KSkgJyg8PSAgICBvcmctc3RyaW5nPD0gb3JnLXRpbWU8PSkpCi0JICgobWVtYmVyIG9wICco Ij49IiAiPT4iKSkgJyg+PSAgICBvcmctc3RyaW5nPj0gb3JnLXRpbWU+PSkpCi0JICgobWVt YmVyIG9wICcoIj0iICAiPT0iKSkgJyg9ICAgICBzdHJpbmc9ICAgICAgb3JnLXRpbWU9KSkK LQkgKChtZW1iZXIgb3AgJygiPD4iICIhPSIpKSAnKC89ICAgIG9yZy1zdHJpbmc8PiBvcmct dGltZTw+KSkpKQorCSAoKGVxdWFsICBvcCAgICI8IiAgICAgICAgICAgICkgJyg8ICAgICBv cmctc3RyaW5nPCAgb3JnLXRpbWU8KSkKKwkgKChlcXVhbCAgb3AgICAiPiIgICAgICAgICAg ICApICcoPiAgICAgb3JnLXN0cmluZz4gIG9yZy10aW1lPikpCisJICgobWVtYmVyIG9wICco Ijw9IiAiPTwiICAgICApKSAnKDw9ICAgIG9yZy1zdHJpbmc8PSBvcmctdGltZTw9KSkKKwkg KChtZW1iZXIgb3AgJygiPj0iICI9PiIgICAgICkpICcoPj0gICAgb3JnLXN0cmluZz49IG9y Zy10aW1lPj0pKQorCSAoKG1lbWJlciBvcCAnKCI9IiAgIj09IiAgICAgKSkgJyg9ICAgICBz dHJpbmc9ICAgICAgb3JnLXRpbWU9KSkKKwkgKChtZW1iZXIgb3AgJygiPD4iICIhPSIgIi89 IikpICcoLz0gICAgb3JnLXN0cmluZzw+IG9yZy10aW1lPD4pKSkpCiAgIChudGggKGlmIChl cSBzdHJpbmdwICd0aW1lKSAyIChpZiBzdHJpbmdwIDEgMCkpIG9wKSkKIAogKGRlZnZhciBv cmctYWRkLWNvbG9uLWFmdGVyLXRhZy1jb21wbGV0aW9uIG5pbCkgIDs7IGR5bmFtaWNhbGx5 IHNjb3BlZCBwYXJhbQpkaWZmIC0tZ2l0IGEvdGVzdGluZy9saXNwL3Rlc3Qtb3JnLmVsIGIv dGVzdGluZy9saXNwL3Rlc3Qtb3JnLmVsCmluZGV4IDg5MGVhNmE4Yy4uN2M4NWRhOWQ1IDEw MDY0NAotLS0gYS90ZXN0aW5nL2xpc3AvdGVzdC1vcmcuZWwKKysrIGIvdGVzdGluZy9saXNw L3Rlc3Qtb3JnLmVsCkBAIC0yODMzLDYgKzI4MzMsMTEgQEAgdGVzdCA8cG9pbnQ+CiAgICAg IChlcXVhbCAnKDExKQogCSAgICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQgIiogTGV2ZWwg MVxuKiogTGV2ZWwgMiIKIAkgICAgICAobGV0IChvcmctb2RkLWxldmVscy1vbmx5KSAob3Jn LW1hcC1lbnRyaWVzICMncG9pbnQgIkxFVkVMPjEiKSkpKSkKKyAgICA7OyBMZXZlbCBtYXRj aCB3aXRoIChpZ25vcmVkKSBzdGFycmVkIG9wZXJhdG9yLgorICAgIChzaG91bGQKKyAgICAg KGVxdWFsICcoMTEpCisJICAgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dCAiKiBMZXZlbCAx XG4qKiBMZXZlbCAyIgorCSAgICAgIChsZXQgKG9yZy1vZGQtbGV2ZWxzLW9ubHkpIChvcmct bWFwLWVudHJpZXMgIydwb2ludCAiTEVWRUw+KjEiKSkpKSkKICAgICA7OyBUYWcgbWF0Y2gu CiAgICAgKHNob3VsZAogICAgICAoZXF1YWwgJygxMSkKQEAgLTI4NDUsMTIgKzI4NTAsMTcg QEAgdGVzdCA8cG9pbnQ+CiAgICAgKHNob3VsZAogICAgICAoZXF1YWwgJygxMSAyMykKIAkg ICAgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0ICIqIEgxIDpubzpcbiogSDIgOnllczE6XG4q IEgzIDp5ZXMyOiIKLQkgICAgICAob3JnLW1hcC1lbnRyaWVzICMncG9pbnQgInt5ZXM/fSIp KSkpCisJICAgICAgKG9yZy1tYXAtZW50cmllcyAjJ3BvaW50ICJ7eWVzLj99IikpKSkKICAg ICA7OyBQcmlvcml0eSBtYXRjaC4KICAgICAoc2hvdWxkCiAgICAgIChlcXVhbCAnKDEpCiAJ ICAgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dCAiKiBbI0FdIEgxXG4qIFsjQl0gSDIiCiAJ ICAgICAgKG9yZy1tYXAtZW50cmllcyAjJ3BvaW50ICJQUklPUklUWT1cIkFcIiIpKSkpCisg ICAgOzsgTmVnYXRpdmUgcHJpb3JpdHkgbWF0Y2guCisgICAgKHNob3VsZAorICAgICAoZXF1 YWwgJygxMSkKKwkgICAgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0ICIqIFsjQV0gSDFcbiog WyNCXSBIMiIKKwkgICAgICAob3JnLW1hcC1lbnRyaWVzICMncG9pbnQgIlBSSU9SSVRZLz1c IkFcIiIpKSkpCiAgICAgOzsgRGF0ZSBtYXRjaC4KICAgICAoc2hvdWxkCiAgICAgIChlcXVh bCAnKDM2KQpAQCAtMjg4MSw2ICsyODkxLDU4IEBAIFNDSEVEVUxFRDogPDIwMTQtMDMtMDQg dHVlLj4iCiA6VEVTVDogMgogOkVORDoiCiAJICAgICAgKG9yZy1tYXAtZW50cmllcyAjJ3Bv aW50ICJURVNUPTEiKSkpKQorICAgIDs7IFJlZ3VsYXIgbmVnYXRpdmUgcHJvcGVydHkgbWF0 Y2guCisgICAgKHNob3VsZAorICAgICAoZXF1YWwgJygzNSA2OCkKKwkgICAgKG9yZy10ZXN0 LXdpdGgtdGVtcC10ZXh0ICIKKyogSDEKKzpQUk9QRVJUSUVTOgorOlRFU1Q6IDEKKzpFTkQ6 CisqIEgyCis6UFJPUEVSVElFUzoKKzpURVNUOiAyCis6RU5EOgorKiBIMyIKKwkgICAgICAo b3JnLW1hcC1lbnRyaWVzICMncG9pbnQgIlRFU1QhPTEiKSkpKQorICAgIDs7IFN0YXJyZWQg bmVnYXRpdmUgcHJvcGVydHkgbWF0Y2guCisgICAgKHNob3VsZAorICAgICAoZXF1YWwgJygz NSkKKwkgICAgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0ICIKKyogSDEKKzpQUk9QRVJUSUVT OgorOlRFU1Q6IDEKKzpFTkQ6CisqIEgyCis6UFJPUEVSVElFUzoKKzpURVNUOiAyCis6RU5E OgorKiBIMyIKKwkgICAgICAob3JnLW1hcC1lbnRyaWVzICMncG9pbnQgIlRFU1QhPSoxIikp KSkKKyAgICA7OyBQcm9wZXJ0eSBtYXRjaGVzIG9uIG5hbWVzIGluY2x1ZGluZyBtaW51cyBj aGFyYWN0ZXJzLgorICAgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dAorICAgICAiCisqIEgx IDpCQVI6Cis6UFJPUEVSVElFUzoKKzpURVNULUZPTzogMQorOkVORDoKKyogSDIgOkZPTzoK KzpQUk9QRVJUSUVTOgorOlRFU1QtRk9POiAyCis6RU5EOgorKiBIMyA6QkFSOgorOlBST1BF UlRJRVM6Cis6LUZPTzogMQorOkVORDoKKyogSDQgOkZPTzoKKzpQUk9QRVJUSUVTOgorOi1G T086IDIKKzpFTkQ6CisqIEg1IgorICAgICAoc2hvdWxkIChlcXVhbCAnKDIpIChvcmctbWFw LWVudHJpZXMgIydwb2ludCAiVEVTVC1GT08hPSowLUZPTyIpKSkKKyAgICAgKHNob3VsZCAo ZXF1YWwgJygyKSAob3JnLW1hcC1lbnRyaWVzICMncG9pbnQgIi1GT08rVEVTVC1GT08hPSow IikpKQorICAgICAoc2hvdWxkIChlcXVhbCAnKDg4KSAob3JnLW1hcC1lbnRyaWVzICMncG9p bnQgIistRk9PIT0qMC1GT08iKSkpCisgICAgIChzaG91bGQgKGVxdWFsICcoODgpIChvcmct bWFwLWVudHJpZXMgIydwb2ludCAiLUZPTystRk9PIT0qMCIpKSkpCiAgICAgOzsgTXVsdGlw bGUgY3JpdGVyaWEuCiAgICAgKHNob3VsZAogICAgICAoZXF1YWwgJygyMykKLS0gCjIuMzAu MgoK --------------GU41wuhFxqDF1MExuVIUbwDP--