From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.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 +Bx4HW1S0WS1fQEASxT56A (envelope-from ) for ; Mon, 07 Aug 2023 22:22:05 +0200 Received: from aspmx1.migadu.com ([2001:41d0:306:2d92::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id uIZ2HW1S0WRvDgAA9RJhRA (envelope-from ) for ; Mon, 07 Aug 2023 22:22:05 +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 EAF1241596 for ; Mon, 7 Aug 2023 22:22:04 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=vodafonemail.de header.s=vfde-mb-mr2-21dec header.b=Do5tWpLh; 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=1691439725; a=rsa-sha256; cv=none; b=CaSktMPLnWpmUCr18Rdfq/mQ37RWvPzDE2TGVliTm4+/v6csriDOwTUgSTYfv16P5Hy/Nm cvAmkZl4cpdYYGoCwsQ/QIJPxvdmOO6iDvaImow8JX51kdCtfrGEpFZcc0huNJg4EmPNxz konarAkn094VAV4Hje1TajZ7VlZBH1dqvn8hZ9paisb/mVP1oYIU6y4l8QsLsQR0UY8nKR 9HRqy7umeGZ1+DLWq4oyRmNc0A+262oUsNnxM3TeogjO5+kBKKV+tTT8ax3TpGRhJnIuwi jbGb1129N+Pc0D7qDQMUUk0h7QGC3pl95SVCHlyub6Ji15VA2Js4fs/1wxNtFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1691439725; 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=XkoepuFr7WRoWppKJiK6wh2EHEpRU+B4fTzfh6WQ69M=; b=e8rsYTDwahPpqUtaaXKHz9UQfx8gaUinZWXhw2hlhgqpzSDOiUcpnSKD0QuB7fcDUPCWSI 47oxm0IzyhCV0vj+i1S2fKj8ukFMVMf9Lf1+BYLE18L42OpjRyHavU9XoCky6GjBeGKd3d LC8pBOpcPDtAfHx9WnSXok/BCDYBd3xhlKbksxW8WdoBgdt2kSIYY5yzFLLVB4PRZXv44I SJTuCgDuuoFRTArY2cKZTYyDv3WCsOC7KBAT4vtYuIlHZA8AmBcEKqxOs91IgoACbziLUg AehS/COKwwPchvJY26qxvHKBZyxmEkT+wuQV6wvE47bshM0VdaVc0pQEcoX1ww== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=vodafonemail.de header.s=vfde-mb-mr2-21dec header.b=Do5tWpLh; 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 1qT6iw-0004s1-IP; Mon, 07 Aug 2023 16:21:08 -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 1qT6iq-0004rY-9f for emacs-orgmode@gnu.org; Mon, 07 Aug 2023 16:21:01 -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 1qT6ik-00080U-39 for emacs-orgmode@gnu.org; Mon, 07 Aug 2023 16:20:59 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vodafonemail.de; s=vfde-mb-mr2-21dec; t=1691439640; bh=XkoepuFr7WRoWppKJiK6wh2EHEpRU+B4fTzfh6WQ69M=; h=Content-Type:Message-ID:Date:User-Agent:Subject:To:References: Content-Language:From:In-Reply-To:From; b=Do5tWpLhvbGpSU1gRWx4jR7NASLAkHnBQesi/fnn+H6q4QGXUdHvvU9zEZn7uBZ/a m7oZbhJdl8IDzexdaHBwGXFGkJn65fYSghII3rPPEv/AbD4R1V3jCIPu/H+BbPnKLl 6rPwgTsL1n3r+urN2H5qSkxHH2jj+LkE3a0Rjzhc= 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 4RKSPN4c2sz1ytr; Mon, 7 Aug 2023 20:20:40 +0000 (UTC) Received: from [192.168.178.41] (port-92-194-86-63.dynamic.as20676.net [92.194.86.63]) (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 4RKSPD71qCzMm5T; Mon, 7 Aug 2023 20:20:29 +0000 (UTC) Content-Type: multipart/mixed; boundary="------------arLYyv81HVGnI7unzdiCARGj" Message-ID: Date: Mon, 7 Aug 2023 22:20:25 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.14.0 Subject: Re: org-agenda queries for absent properties 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> <7b51e35d-3442-4908-0346-7521c3192dad@vodafonemail.de> <87a5v36pc8.fsf@localhost> Content-Language: de-DE-frami, en-US From: Jens Schmidt In-Reply-To: <87a5v36pc8.fsf@localhost> X-purgate-type: clean X-purgate: clean X-purgate-size: 22461 X-purgate-ID: 155817::1691439636-257FB4EC-B0421D79/0/0 Received-SPF: pass client-ip=145.253.228.163; envelope-from=jschmidt4gnu@vodafonemail.de; helo=mr3.vodafonemail.de X-Spam_score_int: -45 X-Spam_score: -4.6 X-Spam_bar: ---- X-Spam_report: (-4.6 / 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=-1.809, 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.63 X-Migadu-Scanner: mx2.migadu.com X-Migadu-Queue-Id: EAF1241596 X-Spam-Score: -6.63 X-TUID: B6gis1jvaefh This is a multi-part message in MIME format. --------------arLYyv81HVGnI7unzdiCARGj Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2023-08-07 13:53, Ihor Radchenko wrote: Thanks for reviewing. >> - If the comparison value is a plain number, a numerical comparison is >> done, and the allowed operators are =<=, ===, =>=, =<==, =>==, and >> - =<>=. >> + =<>=. As synonym for the equality operator there is also ====, as >> + synonyms for the inequality operator there are =!== and =/==. > > I'd mention which operator is "equality" and "inequality" to avoid > ambiguity: > > As a synonym for the equality operator ===, there is also ====; =!== and > =/== are synonyms of inequality operator =<>=. Done. >> - (let* ((gv (pcase (upcase (match-string 5 term)) >> + (let* (;; Convert property name to an Elisp >> + ;; accessor for that property (aka. as >> + ;; getter value?). > > Is there any specific reason why you put question mark in the comment > here? I was trying to decipher and document the acronyms used for the let-bindings in that `let*' sexp. I think I got them right but was unsure about the "gv". Removed the question mark, let's just assume that "gv" means "getter value" and be done with it. Updated patch attached. --------------arLYyv81HVGnI7unzdiCARGj 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 RnJvbSA2ZTk4MzU2ZGZhZjM0NjYyODgzOThmZjRlY2VlN2ZkMTQ3YzMyYTIwIE1vbiBTZXAg 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 eCBlNTllZmM0MTcuLmRjOWY1NTJlNSAxMDA2NDQKLS0tIGEvZG9jL29yZy1tYW51YWwub3Jn CisrKyBiL2RvYy9vcmctbWFudWFsLm9yZwpAQCAtOTI0NiwxNiArOTI0NiwxOCBAQCBXaGVu IG1hdGNoaW5nIHByb3BlcnRpZXMsIGEgbnVtYmVyIG9mIGRpZmZlcmVudCBvcGVyYXRvcnMg Y2FuIGJlIHVzZWQKIHRvIHRlc3QgdGhlIHZhbHVlIG9mIGEgcHJvcGVydHkuICBIZXJlIGlz IGEgY29tcGxleCBleGFtcGxlOgogCiAjK2JlZ2luX2V4YW1wbGUKLSt3b3JrLWJvc3MrUFJJ T1JJVFk9IkEiK0NvZmZlZT0idW5saW1pdGVkIitFZmZvcnQ8MgorK3dvcmstYm9zcytQUklP UklUWT0iQSIrQ29mZmVlPSJ1bmxpbWl0ZWQiK0VmZm9ydDwqMgogICAgICAgICAgK1dpdGg9 e1NhcmFoXHxEZW5ueX0rU0NIRURVTEVEPj0iPDIwMDgtMTAtMTE+IgogIytlbmRfZXhhbXBs ZQogCisjK2NpbmRleDogb3BlcmF0b3IsIGZvciBwcm9wZXJ0eSBzZWFyY2gKICMrdGV4aW5m bzogQG5vaW5kZW50CiBUaGUgdHlwZSBvZiBjb21wYXJpc29uIGRlcGVuZHMgb24gaG93IHRo ZSBjb21wYXJpc29uIHZhbHVlIGlzIHdyaXR0ZW46CiAKIC0gSWYgdGhlIGNvbXBhcmlzb24g dmFsdWUgaXMgYSBwbGFpbiBudW1iZXIsIGEgbnVtZXJpY2FsIGNvbXBhcmlzb24gaXMKICAg ZG9uZSwgYW5kIHRoZSBhbGxvd2VkIG9wZXJhdG9ycyBhcmUgPTw9LCA9PT0sID0+PSwgPTw9 PSwgPT49PSwgYW5kCi0gID08Pj0uCisgID08Pj0uICBBcyBhIHN5bm9ueW0gZm9yIHRoZSBl cXVhbGl0eSBvcGVyYXRvciA9PT0sIHRoZXJlIGlzIGFsc28KKyAgPT09PTsgPSE9PSBhbmQg PS89PSBhcmUgc3lub255bXMgb2YgdGhlIGluZXF1YWxpdHkgb3BlcmF0b3IgPTw+PS4KIAog LSBJZiB0aGUgY29tcGFyaXNvbiB2YWx1ZSBpcyBlbmNsb3NlZCBpbiBkb3VibGUtcXVvdGVz LCBhIHN0cmluZwogICBjb21wYXJpc29uIGlzIGRvbmUsIGFuZCB0aGUgc2FtZSBvcGVyYXRv cnMgYXJlIGFsbG93ZWQuCkBAIC05MjczLDYgKzkyNzUsMTMgQEAgVGhlIHR5cGUgb2YgY29t cGFyaXNvbiBkZXBlbmRzIG9uIGhvdyB0aGUgY29tcGFyaXNvbiB2YWx1ZSBpcyB3cml0dGVu OgogICBpcyBwZXJmb3JtZWQsIHdpdGggPT09IG1lYW5pbmcgdGhhdCB0aGUgcmVnZXhwIG1h dGNoZXMgdGhlIHByb3BlcnR5CiAgIHZhbHVlLCBhbmQgPTw+PSBtZWFuaW5nIHRoYXQgaXQg ZG9lcyBub3QgbWF0Y2guCiAKKy0gQWxsIG9wZXJhdG9ycyBtYXkgYmUgb3B0aW9uYWxseSBm b2xsb3dlZCBieSBhbiBhc3RlcmlzayA9Kj0sIGxpa2UgaW4KKyAgPTwqPSwgPSE9Kj0sIGV0 Yy4gIFN1Y2ggL3N0YXJyZWQgb3BlcmF0b3JzLyB3b3JrIGxpa2UgdGhlaXIgcmVndWxhciwK KyAgdW5zdGFycmVkIGNvdW50ZXJwYXJ0cyBleGNlcHQgdGhhdCB0aGV5IG1hdGNoIG9ubHkg aGVhZGxpbmVzIHdoZXJlCisgIHRoZSB0ZXN0ZWQgcHJvcGVydHkgaXMgYWN0dWFsbHkgcHJl c2VudC4gIFRoaXMgaXMgbW9zdCB1c2VmdWwgZm9yCisgIHNlYXJjaCB0ZXJtcyB0aGF0IGxv Z2ljYWxseSBleGNsdWRlIHJlc3VsdHMsIGxpa2UgdGhlIGluZXF1YWxpdHkKKyAgb3BlcmF0 b3IuCisKIFNvIHRoZSBzZWFyY2ggc3RyaW5nIGluIHRoZSBleGFtcGxlIGZpbmRzIGVudHJp ZXMgdGFnZ2VkID13b3JrPSBidXQKIG5vdCA9Ym9zcz0sIHdoaWNoIGFsc28gaGF2ZSBhIHBy aW9yaXR5IHZhbHVlID1BPSwgYSA9Q29mZmVlPSBwcm9wZXJ0eQogd2l0aCB0aGUgdmFsdWUg PXVubGltaXRlZD0sIGFuID1FRkZPUlQ9IHByb3BlcnR5IHRoYXQgaXMgbnVtZXJpY2FsbHkK QEAgLTkyODAsNiArOTI4OSwyOCBAQCBzbWFsbGVyIHRoYW4gMiwgYSA9V2l0aD0gcHJvcGVy dHkgdGhhdCBpcyBtYXRjaGVkIGJ5IHRoZSByZWd1bGFyCiBleHByZXNzaW9uID1TYXJhaFx8 RGVubnk9LCBhbmQgdGhhdCBhcmUgc2NoZWR1bGVkIG9uIG9yIGFmdGVyIE9jdG9iZXIKIDEx LCAyMDA4LgogCitOb3RlIHRoYXQgdGhlIHRlc3Qgb24gdGhlID1FRkZPUlQ9IHByb3BlcnR5 IHVzZXMgb3BlcmF0b3IgPTwqPSwgc28KK3RoYXQgdGhlIHNlYXJjaCByZXN1bHQgd2lsbCBp bmNsdWRlIG9ubHkgZW50cmllcyB0aGF0IGFjdHVhbGx5IGhhdmUgYW4KKz1FRkZPUlQ9IHBy b3BlcnR5IGRlZmluZWQgYW5kIHdpdGggbnVtZXJpY2FsIHZhbHVlIHNtYWxsZXIgdGhhbiAy LgorV2l0aCB0aGUgcmVndWxhciA9PD0gb3BlcmF0b3IsIHRoZSBzZWFyY2ggd291bGQgaGFu ZGxlIGVudHJpZXMgd2l0aG91dAorYW4gPUVGRk9SVD0gcHJvcGVydHkgYXMgaGF2aW5nIGEg emVybyBlZmZvcnQgYW5kIHdvdWxkIGluY2x1ZGUgdGhlbSBpbgordGhlIHJlc3VsdCBhcyB3 ZWxsLgorCitDdXJyZW50bHksIHlvdSBjYW4gdXNlIG9ubHkgcHJvcGVydHkgbmFtZXMgaW5j bHVkaW5nIGFscGhhbnVtZXJpYworY2hhcmFjdGVycywgdW5kZXJzY29yZXMsIGFuZCBtaW51 cyBjaGFyYWN0ZXJzIGluIHNlYXJjaCBzdHJpbmdzLiAgSW4KK2FkZGl0aW9uLCBpZiB5b3Ug d2FudCB0byBzZWFyY2ggZm9yIGEgcHJvcGVydHkgd2hvc2UgbmFtZSBzdGFydHMgd2l0aAor YSBtaW51cyBjaGFyYWN0ZXIsIHlvdSBoYXZlIHRvICJxdW90ZSIgdGhhdCBsZWFkaW5nIG1p bnVzIGNoYXJhY3Rlcgord2l0aCBhbiBleHBsaWNpdCBwb3NpdGl2ZSBzZWxlY3Rpb24gcGx1 cyBjaGFyYWN0ZXIsIGxpa2UgdGhpczoKKworIytiZWdpbl9leGFtcGxlCisrLWxvbmctYW5k LXR3aXN0ZWQtcHJvcGVydHktbmFtZS09ImZvbyIKKyMrZW5kX2V4YW1wbGUKKworIyt0ZXhp bmZvOiBAbm9pbmRlbnQKK1dpdGhvdXQgdGhhdCBleHRyYSBwbHVzIGNoYXJhY3RlciwgdGhl IG1pbnVzIGNoYXJhY3RlciB3b3VsZCBiZSB0YWtlbgordG8gaW5kaWNhdGUgYSBuZWdhdGl2 ZSBzZWxlY3Rpb24gb24gc2VhcmNoIHRlcm0KKz1sb25nLWFuZC10d2lzdGVkLXByb3BlcnR5 LW5hbWUt4oCLPSJmb28iPS4KKwogWW91IGNhbiBjb25maWd1cmUgT3JnIG1vZGUgdG8gdXNl IHByb3BlcnR5IGluaGVyaXRhbmNlIGR1cmluZwogYSBzZWFyY2gsIGJ1dCBiZXdhcmUgdGhh dCB0aGlzIGNhbiBzbG93IGRvd24gc2VhcmNoZXMgY29uc2lkZXJhYmx5LgogU2VlIFtbKlBy b3BlcnR5IEluaGVyaXRhbmNlXV0sIGZvciBkZXRhaWxzLgpkaWZmIC0tZ2l0IGEvZXRjL09S Ry1ORVdTIGIvZXRjL09SRy1ORVdTCmluZGV4IDRmMTZlZGEyNC4uMTBjNTFlMzU0IDEwMDY0 NAotLS0gYS9ldGMvT1JHLU5FV1MKKysrIGIvZXRjL09SRy1ORVdTCkBAIC0xMjUsNyArMTI1 LDcgQEAgTmV3IGZ1bmN0aW9ucyB0byByZXRyaWV2ZSBhbmQgc2V0ICh2aWEgfnNldGZ+KSBj b21tb25seSB1c2VkIGVsZW1lbnQgcHJvcGVydGllczoKIC0gPTpjb250ZW50cy1wb3N0LWFm ZmlsaWF0ZWQ9IDo6IH5vcmctZWxlbWVudC1wb3N0LWFmZmlsaWF0ZWR+CiAtID06Y29udGVu dHMtcG9zdC1ibGFuaz0gOjogfm9yZy1lbGVtZW50LXBvc3QtYmxhbmt+CiAtID06cGFyZW50 PSA6OiB+b3JnLWVsZW1lbnQtcGFyZW50fgotIAorCiAqKioqKiBOZXcgbWFjcm8gfm9yZy1l bGVtZW50LXdpdGgtZW5hYmxlZC1jYWNoZX4KIAogVGhlIG1hY3JvIGFycmFuZ2VzIHRoZSBl bGVtZW50IGNhY2hlIHRvIGJlIGFjdGl2ZSBkdXJpbmcgPUJPRFk9IGV4ZWN1dGlvbi4KQEAg LTU1OCw2ICs1NTgsMTQgQEAgc3BlY2lhbCByZXBlYXRlcnMgfisrfiBhbmQgfi4rfiBhcmUg c2tpcHBlZC4KIEEgY2FwdHVyZSB0ZW1wbGF0ZSBjYW4gdGFyZ2V0IH4oaGVyZSl+IHdoaWNo IGlzIHRoZSBlcXVpdmFsZW50IG9mCiBpbnZva2luZyBhIGNhcHR1cmUgdGVtcGxhdGUgd2l0 aCBhIHplcm8gcHJlZml4LgogCisqKiogfm9yZy10YWdzLXZpZXd+IHN1cHBvcnRzIG1vcmUg cHJvcGVydHkgb3BlcmF0b3JzCisKK0l0IHN1cHBvcnRzIGluZXF1YWxpdHkgb3BlcmF0b3Jz IH4hPX4gYW5kIH4vPX4gaW4gYWRkaXRpb24gdG8gdGhlIGxlc3MKK2NvbW1vbiAoQkFTSUM/ ICBQYXNjYWw/ICBTUUw/KSB+PD5+LiAgQW5kIGl0IHN1cHBvcnRzIHN0YXJyZWQgdmVyc2lv bnMKK29mIGFsbCByZWxhdGlvbmFsIG9wZXJhdG9ycyAofjwqfiwgfj0qfiwgfiE9Kn4sIGV0 Yy4pIHRoYXQgd29yayBsaWtlCit0aGUgcmVndWxhciwgdW5zdGFycmVkIG9wZXJhdG9ycyBi dXQgbWF0Y2ggYSBoZWFkbGluZSBvbmx5IGlmIHRoZQordGVzdGVkIHByb3BlcnR5IGlzIGFj dHVhbGx5IHByZXNlbnQuCisKICoqIE5ldyBmdW5jdGlvbnMgYW5kIGNoYW5nZXMgaW4gZnVu Y3Rpb24gYXJndW1lbnRzCiAqKiogPVRZUEVTPSBhcmd1bWVudCBpbiB+b3JnLWVsZW1lbnQt bGluZWFnZX4gY2FuIG5vdyBiZSBhIHN5bWJvbAogCmRpZmYgLS1naXQgYS9saXNwL29yZy5l bCBiL2xpc3Avb3JnLmVsCmluZGV4IGVkNzVmM2VkYi4uYzAzN2IzZWUwIDEwMDY0NAotLS0g YS9saXNwL29yZy5lbAorKysgYi9saXNwL29yZy5lbApAQCAtMTEzMDQsMTUgKzExMzA0LDUw IEBAIFNlZSBhbHNvIGBvcmctc2Nhbi10YWdzJy4iCiAJICAgICAiTWF0Y2g6ICIKIAkgICAg ICdvcmctdGFncy1jb21wbGV0aW9uLWZ1bmN0aW9uIG5pbCBuaWwgbmlsICdvcmctdGFncy1o aXN0b3J5KSkpKQogCi0gIChsZXQgKChtYXRjaDAgbWF0Y2gpCi0JKHJlIChjb25jYXQKLQkg ICAgICJeJj9cXChbLSs6XVxcKT9cXCh7W159XSt9XFx8TEVWRUxcXChbPD0+XVxcezEsMlxc fVxcKSIKLQkgICAgICJcXChbMC05XStcXClcXHxcXChcXCg/OltbOmFsbnVtOl1fXStcXCg/ OlxcXFwtXFwpKlxcKStcXCkiCi0JICAgICAiXFwoWzw+PV1cXHsxLDJcXH1cXCkiCi0JICAg ICAiXFwoe1tefV0rfVxcfFwiW15cIl0qXCJcXHwtP1suMC05XStcXCg/OltlRV1bLStdP1sw LTldK1xcKT9cXCkiCi0JICAgICAiXFx8IiBvcmctdGFnLXJlICJcXCkiKSkKLQkoc3RhcnQg MCkKLQl0YWdzbWF0Y2ggdG9kb21hdGNoIHRhZ3NtYXRjaGVyIHRvZG9tYXRjaGVyKQorICAo bGV0KiAoKG1hdGNoMCBtYXRjaCkKKyAgICAgICAgIChvcHJlICJbPD0+XT0/XFx8WyEvXT1c XHw8PiIpCisgICAgICAgICAocmUgKGNvbmNhdAorICAgICAgICAgICAgICAiXiIKKyAgICAg ICAgICAgICAgOzsgaW1wbGljaXQgQU5EIG9wZXJhdG9yIChPUiBpcyBkb25lIGJ5IGdsb2Jh bCBzcGxpdHRpbmcpCisgICAgICAgICAgICAgICImPyIKKyAgICAgICAgICAgICAgOzsgZXhj bHVzaW9uIGFuZCBpbmNsdXNpb24gKHRoZSBsYXR0ZXIgYmVpbmcgaW1wbGljaXQpCisgICAg ICAgICAgICAgICJcXCg/MTpbLSs6XVxcKT8iCisgICAgICAgICAgICAgIDs7IHF1ZXJ5IHRl cm0KKyAgICAgICAgICAgICAgIlxcKD8yOiIKKyAgICAgICAgICAgICAgICAgIDs7IHRhZyBy ZWdleHAgbWF0Y2gKKyAgICAgICAgICAgICAgICAgICJ7W159XSt9XFx8IgorICAgICAgICAg ICAgICAgICAgOzsgTEVWRUwgcHJvcGVydHkgbWF0Y2guICBGb3Igc2FrZSBvZiBjb25zaXN0 ZW5jeSwKKyAgICAgICAgICAgICAgICAgIDs7IHJlY29nbml6ZSBzdGFycmVkIG9wZXJhdG9y cyBoZXJlIGFzIHdlbGwuICBXZSBkbworICAgICAgICAgICAgICAgICAgOzsgbm90IG5lZWQg dG8gcHJvY2VzcyB0aGVtIGJlbG93LCBob3dldmVyLCBzaW5jZQorICAgICAgICAgICAgICAg ICAgOzsgdGhlIExFVkVMIHByb3BlcnR5IGlzIGFsd2F5cyBwcmVzZW50LgorICAgICAgICAg ICAgICAgICAgIkxFVkVMXFwoPzM6IiBvcHJlICJcXClcXCo/XFwoPzQ6WzAtOV0rXFwpXFx8 IgorICAgICAgICAgICAgICAgICAgOzsgcmVndWxhciBwcm9wZXJ0eSBtYXRjaAorICAgICAg ICAgICAgICAgICAgIlxcKD86IgorICAgICAgICAgICAgICAgICAgICAgIDs7IHByb3BlcnR5 IG5hbWUgWzFdCisgICAgICAgICAgICAgICAgICAgICAgIlxcKD81OltbOmFsbnVtOl1fLV0r XFwpIgorICAgICAgICAgICAgICAgICAgICAgIDs7IG9wZXJhdG9yLCBvcHRpb25hbGx5IHN0 YXJyZWQKKyAgICAgICAgICAgICAgICAgICAgICAiXFwoPzY6IiBvcHJlICJcXClcXCg/Nzpc XCpcXCk/IgorICAgICAgICAgICAgICAgICAgICAgIDs7IG9wZXJhbmQgKHJlZ2V4cCwgZG91 YmxlLXF1b3RlZCBzdHJpbmcsCisgICAgICAgICAgICAgICAgICAgICAgOzsgbnVtYmVyKQor ICAgICAgICAgICAgICAgICAgICAgICJcXCg/ODoiCisgICAgICAgICAgICAgICAgICAgICAg ICAgICJ7W159XSt9XFx8IgorICAgICAgICAgICAgICAgICAgICAgICAgICAiXCJbXlwiXSpc IlxcfCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIi0/Wy4wLTldK1xcKD86W2VFXVst K10/WzAtOV0rXFwpPyIKKyAgICAgICAgICAgICAgICAgICAgICAiXFwpIgorICAgICAgICAg ICAgICAgICAgIlxcKVxcfCIKKyAgICAgICAgICAgICAgICAgIDs7IGV4YWN0IHRhZyBtYXRj aAorICAgICAgICAgICAgICAgICAgb3JnLXRhZy1yZQorICAgICAgICAgICAgICAiXFwpIikp CisgICAgICAgICAoc3RhcnQgMCkKKyAgICAgICAgIHRhZ3NtYXRjaCB0b2RvbWF0Y2ggdGFn c21hdGNoZXIgdG9kb21hdGNoZXIpCisKKyAgICA7OyBbMV0gVGhlIG1pbnVzIGNoYXJhY3Rl cnMgaW4gcHJvcGVydHkgbmFtZXMgZG8gKm5vdCogY29uZmxpY3QKKyAgICA7OyB3aXRoIHRo ZSBleGNsdXNpb24gb3BlcmF0b3IgYWJvdmUsIHNpbmNlIHRoZSBtYW5kYXRvcnkKKyAgICA7 OyBmb2xsb3dpbmcgb3BlcmF0b3IgZGlzdGluZ3Vpc2hlcyB0aGVzZSBib3RoIGNhc2VzLgor ICAgIDs7IEFjY29yZGluZ2x5LCBtaW51cyBjaGFyYWN0ZXJzIGRvIG5vdCBuZWVkIGFueSBz cGVjaWFsIHF1b3RpbmcsCisgICAgOzsgZXZlbiBpZiBodHRwczovL29yZ21vZGUub3JnL2xp c3QvODdqenY2N2szcC5mc2ZAbG9jYWxob3N0IGFuZAorICAgIDs7IGNvbW1pdCAxOWIwZTAz ZjMyYzYwMzJhNjAxNTBmYzZjYjA3YzZmNzY2Y2IzZjZjIHN1Z2dlc3QKKyAgICA7OyBvdGhl cndpc2UuCiAKICAgICA7OyBFeHBhbmQgZ3JvdXAgdGFncy4KICAgICAoc2V0cSBtYXRjaCAo b3JnLXRhZ3MtZXhwYW5kIG1hdGNoKSkKQEAgLTExMzUyLDE1ICsxMTM4NywxNiBAQCBTZWUg YWxzbyBgb3JnLXNjYW4tdGFncycuIgogCSAgICAobGV0KiAoKHJlc3QgKHN1YnN0cmluZyB0 ZXJtIChtYXRjaC1lbmQgMCkpKQogCQkgICAobWludXMgKGFuZCAobWF0Y2gtZW5kIDEpCiAJ CQkgICAgICAgKGVxdWFsIChtYXRjaC1zdHJpbmcgMSB0ZXJtKSAiLSIpKSkKLQkJICAgKHRh ZyAoc2F2ZS1tYXRjaC1kYXRhCi0JCQkgIChyZXBsYWNlLXJlZ2V4cC1pbi1zdHJpbmcKLQkJ CSAgICJcXFxcLSIgIi0iIChtYXRjaC1zdHJpbmcgMiB0ZXJtKSkpKQorCQkgICA7OyBCaW5k IHRoZSB3aG9sZSBxdWVyeSB0ZXJtIHRvIGB0YWcnIGFuZCB1c2UgdGhhdAorCQkgICA7OyB2 YXJpYWJsZSBmb3IgYSB0YWcgcmVnZXhwIG1hdGNoIGluIFsyXSBvciBhcyBhbgorCQkgICA7 OyBleGFjdCB0YWcgbWF0Y2ggaW4gWzNdLgorCQkgICAodGFnIChtYXRjaC1zdHJpbmcgMiB0 ZXJtKSkKIAkJICAgKHJlZ2V4cCAoZXEgKHN0cmluZy10by1jaGFyIHRhZykgP3spKQogCQkg ICAobGV2ZWxwIChtYXRjaC1lbmQgNCkpCiAJCSAgIChwcm9wcCAobWF0Y2gtZW5kIDUpKQog CQkgICAobW0KIAkJICAgIChjb25kCi0JCSAgICAgKHJlZ2V4cAorCQkgICAgIChyZWdleHAJ CQk7IFsyXQogICAgICAgICAgICAgICAgICAgICAgIGAod2l0aC1zeW50YXgtdGFibGUgb3Jn LW1vZGUtdGFncy1zeW50YXgtdGFibGUKICAgICAgICAgICAgICAgICAgICAgICAgICAob3Jn LW1hdGNoLWFueS1wICwoc3Vic3RyaW5nIHRhZyAxIC0xKSB0YWdzLWxpc3QpKSkKIAkJICAg ICAobGV2ZWxwCkBAIC0xMTM2OCwyOCArMTE0MDQsNDYgQEAgU2VlIGFsc28gYG9yZy1zY2Fu LXRhZ3MnLiIKIAkJCWxldmVsCiAJCQksKHN0cmluZy10by1udW1iZXIgKG1hdGNoLXN0cmlu ZyA0IHRlcm0pKSkpCiAJCSAgICAgKHByb3BwCi0JCSAgICAgIChsZXQqICgoZ3YgKHBjYXNl ICh1cGNhc2UgKG1hdGNoLXN0cmluZyA1IHRlcm0pKQorCQkgICAgICAobGV0KiAoOzsgQ29u dmVydCBwcm9wZXJ0eSBuYW1lIHRvIGFuIEVsaXNwCisJCQkgICAgIDs7IGFjY2Vzc29yIGZv ciB0aGF0IHByb3BlcnR5IChha2EuIGFzCisJCQkgICAgIDs7IGdldHRlciB2YWx1ZSkuCisJ CQkgICAgIChndiAocGNhc2UgKHVwY2FzZSAobWF0Y2gtc3RyaW5nIDUgdGVybSkpCiAJCQkJ ICAgKCJDQVRFR09SWSIKIAkJCQkgICAgJyhvcmctZ2V0LWNhdGVnb3J5IChwb2ludCkpKQog CQkJCSAgICgiVE9ETyIgJ3RvZG8pCiAJCQkJICAgKHAgYChvcmctY2FjaGVkLWVudHJ5LWdl dCBuaWwgLHApKSkpCi0JCQkgICAgIChwdiAobWF0Y2gtc3RyaW5nIDcgdGVybSkpCisJCQkg ICAgIDs7IERldGVybWluZSBvcGVyYW5kIChha2EuIHByb3BlcnR5CisJCQkgICAgIDs7IHZh bHVlKS4KKwkJCSAgICAgKHB2IChtYXRjaC1zdHJpbmcgOCB0ZXJtKSkKKwkJCSAgICAgOzsg RGV0ZXJtaW5lIHR5cGUgb2Ygb3BlcmFuZC4gIE5vdGUgdGhhdAorCQkJICAgICA7OyB0aGVz ZSBhcmUgbm90IGV4Y2x1c2l2ZTogQW55IFRJTUVQIGlzCisJCQkgICAgIDs7IGFsc28gU1RS UC4KIAkJCSAgICAgKHJlZ2V4cCAoZXEgKHN0cmluZy10by1jaGFyIHB2KSA/eykpCiAJCQkg ICAgIChzdHJwIChlcSAoc3RyaW5nLXRvLWNoYXIgcHYpID9cIikpCiAJCQkgICAgICh0aW1l cCAoc3RyaW5nLW1hdGNoLXAgIl5cIltbPF1cXCg/OlswLTldK1xcfG5vd1xcfHRvZGF5XFx8 dG9tb3Jyb3dcXHxbKy1dWzAtOV0rW2Rtd3ldXFwpLipbXT5dXCIkIiBwdikpCisJCQkgICAg IDs7IE1hc3NhZ2Ugb3BlcmFuZC4gIFRJTUVQIG11c3QgY29tZQorCQkJICAgICA7OyBiZWZv cmUgU1RSUC4KKwkJCSAgICAgKHB2IChjb25kIChyZWdleHAgKHN1YnN0cmluZyBwdiAxIC0x KSkKKwkJCQkgICAgICAgKHRpbWVwICAob3JnLW1hdGNoZXItdGltZQorCQkJCQkJKHN1YnN0 cmluZyBwdiAxIC0xKSkpCisJCQkJICAgICAgIChzdHJwICAgKHN1YnN0cmluZyBwdiAxIC0x KSkKKwkJCQkgICAgICAgKHQgICAgICBwdikpKQorCQkJICAgICA7OyBDb252ZXJ0IG9wZXJh dG9yIHRvIEVsaXNwLgogCQkJICAgICAocG8gKG9yZy1vcC10by1mdW5jdGlvbiAobWF0Y2gt c3RyaW5nIDYgdGVybSkKLQkJCQkJCSAgICAgKGlmIHRpbWVwICd0aW1lIHN0cnApKSkpCi0J CQkoc2V0cSBwdiAoaWYgKG9yIHJlZ2V4cCBzdHJwKSAoc3Vic3RyaW5nIHB2IDEgLTEpIHB2 KSkKLQkJCSh3aGVuIHRpbWVwIChzZXRxIHB2IChvcmctbWF0Y2hlci10aW1lIHB2KSkpCi0J CQkoY29uZCAoKGFuZCByZWdleHAgKGVxIHBvICcvPSkpCi0JCQkgICAgICAgYChub3QgKHN0 cmluZy1tYXRjaCAscHYgKG9yICxndiAiIikpKSkKLQkJCSAgICAgIChyZWdleHAgYChzdHJp bmctbWF0Y2ggLHB2IChvciAsZ3YgIiIpKSkKLQkJCSAgICAgIChzdHJwIGAoLHBvIChvciAs Z3YgIiIpICxwdikpCi0JCQkgICAgICAodAotCQkJICAgICAgIGAoLHBvCi0JCQkJIChzdHJp bmctdG8tbnVtYmVyIChvciAsZ3YgIiIpKQotCQkJCSAsKHN0cmluZy10by1udW1iZXIgcHYp KSkpKSkKLQkJICAgICAodCBgKG1lbWJlciAsdGFnIHRhZ3MtbGlzdCkpKSkpCisJCQkJCQkg ICAgIChpZiB0aW1lcCAndGltZSBzdHJwKSkpCisJCQkgICAgIDs7IENvbnZlcnQgd2hvbGUg cHJvcGVydHkgdGVybSB0byBFbGlzcC4KKwkJCSAgICAgKHB0IChjb25kICgoYW5kIHJlZ2V4 cCAoZXEgcG8gJy89KSkKKwkJCQkJYChub3QgKHN0cmluZy1tYXRjaCAscHYgKG9yICxndiAi IikpKSkKKwkJCQkgICAgICAgKHJlZ2V4cCBgKHN0cmluZy1tYXRjaCAscHYgKG9yICxndiAi IikpKQorCQkJCSAgICAgICAoc3RycCBgKCxwbyAob3IgLGd2ICIiKSAscHYpKQorCQkJCSAg ICAgICAodAorCQkJCQlgKCxwbworCQkJCQkgIChzdHJpbmctdG8tbnVtYmVyIChvciAsZ3Yg IiIpKQorCQkJCQkgICwoc3RyaW5nLXRvLW51bWJlciBwdikpKSkpCisJCQkgICAgIDs7IFJl c3BlY3QgdGhlIHN0YXIgYWZ0ZXIgdGhlIG9wZXJhbmQuCisJCQkgICAgIChwdCAoaWYgKG1h dGNoLWVuZCA3KSBgKGFuZCAsZ3YgLHB0KSBwdCkpKQorCQkJcHQpKQorCQkgICAgICh0IGAo bWVtYmVyICx0YWcgdGFncy1saXN0KSkpKSkgOyBbM10KIAkgICAgICAocHVzaCAoaWYgbWlu dXMgYChub3QgLG1tKSBtbSkgdGFnc21hdGNoZXIpCiAJICAgICAgKHNldHEgdGVybSByZXN0 KSkpCiAJICAocHVzaCBgKGFuZCAsQHRhZ3NtYXRjaGVyKSBvcmxpc3QpCkBAIC0xMTUyMCwx MiArMTE1NzQsMTIgQEAgdGhlIGxpc3Qgb2YgdGFncyBpbiB0aGlzIGdyb3VwLiIKICAgIlR1 cm4gYW4gb3BlcmF0b3IgaW50byB0aGUgYXBwcm9wcmlhdGUgZnVuY3Rpb24uIgogICAoc2V0 cSBvcAogCShjb25kCi0JICgoZXF1YWwgIG9wICAgIjwiICAgICAgICkgJyg8ICAgICBvcmct c3RyaW5nPCAgb3JnLXRpbWU8KSkKLQkgKChlcXVhbCAgb3AgICAiPiIgICAgICAgKSAnKD4g ICAgIG9yZy1zdHJpbmc+ICBvcmctdGltZT4pKQotCSAoKG1lbWJlciBvcCAnKCI8PSIgIj08 IikpICcoPD0gICAgb3JnLXN0cmluZzw9IG9yZy10aW1lPD0pKQotCSAoKG1lbWJlciBvcCAn KCI+PSIgIj0+IikpICcoPj0gICAgb3JnLXN0cmluZz49IG9yZy10aW1lPj0pKQotCSAoKG1l bWJlciBvcCAnKCI9IiAgIj09IikpICcoPSAgICAgc3RyaW5nPSAgICAgIG9yZy10aW1lPSkp Ci0JICgobWVtYmVyIG9wICcoIjw+IiAiIT0iKSkgJygvPSAgICBvcmctc3RyaW5nPD4gb3Jn LXRpbWU8PikpKSkKKwkgKChlcXVhbCAgb3AgICAiPCIgICAgICAgICAgICApICcoPCAgICAg b3JnLXN0cmluZzwgIG9yZy10aW1lPCkpCisJICgoZXF1YWwgIG9wICAgIj4iICAgICAgICAg ICAgKSAnKD4gICAgIG9yZy1zdHJpbmc+ICBvcmctdGltZT4pKQorCSAoKG1lbWJlciBvcCAn KCI8PSIgIj08IiAgICAgKSkgJyg8PSAgICBvcmctc3RyaW5nPD0gb3JnLXRpbWU8PSkpCisJ ICgobWVtYmVyIG9wICcoIj49IiAiPT4iICAgICApKSAnKD49ICAgIG9yZy1zdHJpbmc+PSBv cmctdGltZT49KSkKKwkgKChtZW1iZXIgb3AgJygiPSIgICI9PSIgICAgICkpICcoPSAgICAg c3RyaW5nPSAgICAgIG9yZy10aW1lPSkpCisJICgobWVtYmVyIG9wICcoIjw+IiAiIT0iICIv PSIpKSAnKC89ICAgIG9yZy1zdHJpbmc8PiBvcmctdGltZTw+KSkpKQogICAobnRoIChpZiAo ZXEgc3RyaW5ncCAndGltZSkgMiAoaWYgc3RyaW5ncCAxIDApKSBvcCkpCiAKIChkZWZ2YXIg b3JnLWFkZC1jb2xvbi1hZnRlci10YWctY29tcGxldGlvbiBuaWwpICA7OyBkeW5hbWljYWxs eSBzY29wZWQgcGFyYW0KZGlmZiAtLWdpdCBhL3Rlc3RpbmcvbGlzcC90ZXN0LW9yZy5lbCBi L3Rlc3RpbmcvbGlzcC90ZXN0LW9yZy5lbAppbmRleCA4OTBlYTZhOGMuLjdjODVkYTlkNSAx MDA2NDQKLS0tIGEvdGVzdGluZy9saXNwL3Rlc3Qtb3JnLmVsCisrKyBiL3Rlc3RpbmcvbGlz cC90ZXN0LW9yZy5lbApAQCAtMjgzMyw2ICsyODMzLDExIEBAIHRlc3QgPHBvaW50PgogICAg ICAoZXF1YWwgJygxMSkKIAkgICAgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0ICIqIExldmVs IDFcbioqIExldmVsIDIiCiAJICAgICAgKGxldCAob3JnLW9kZC1sZXZlbHMtb25seSkgKG9y Zy1tYXAtZW50cmllcyAjJ3BvaW50ICJMRVZFTD4xIikpKSkpCisgICAgOzsgTGV2ZWwgbWF0 Y2ggd2l0aCAoaWdub3JlZCkgc3RhcnJlZCBvcGVyYXRvci4KKyAgICAoc2hvdWxkCisgICAg IChlcXVhbCAnKDExKQorCSAgICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQgIiogTGV2ZWwg MVxuKiogTGV2ZWwgMiIKKwkgICAgICAobGV0IChvcmctb2RkLWxldmVscy1vbmx5KSAob3Jn LW1hcC1lbnRyaWVzICMncG9pbnQgIkxFVkVMPioxIikpKSkpCiAgICAgOzsgVGFnIG1hdGNo LgogICAgIChzaG91bGQKICAgICAgKGVxdWFsICcoMTEpCkBAIC0yODQ1LDEyICsyODUwLDE3 IEBAIHRlc3QgPHBvaW50PgogICAgIChzaG91bGQKICAgICAgKGVxdWFsICcoMTEgMjMpCiAJ ICAgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dCAiKiBIMSA6bm86XG4qIEgyIDp5ZXMxOlxu KiBIMyA6eWVzMjoiCi0JICAgICAgKG9yZy1tYXAtZW50cmllcyAjJ3BvaW50ICJ7eWVzP30i KSkpKQorCSAgICAgIChvcmctbWFwLWVudHJpZXMgIydwb2ludCAie3llcy4/fSIpKSkpCiAg ICAgOzsgUHJpb3JpdHkgbWF0Y2guCiAgICAgKHNob3VsZAogICAgICAoZXF1YWwgJygxKQog CSAgICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQgIiogWyNBXSBIMVxuKiBbI0JdIEgyIgog CSAgICAgIChvcmctbWFwLWVudHJpZXMgIydwb2ludCAiUFJJT1JJVFk9XCJBXCIiKSkpKQor ICAgIDs7IE5lZ2F0aXZlIHByaW9yaXR5IG1hdGNoLgorICAgIChzaG91bGQKKyAgICAgKGVx dWFsICcoMTEpCisJICAgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dCAiKiBbI0FdIEgxXG4q IFsjQl0gSDIiCisJICAgICAgKG9yZy1tYXAtZW50cmllcyAjJ3BvaW50ICJQUklPUklUWS89 XCJBXCIiKSkpKQogICAgIDs7IERhdGUgbWF0Y2guCiAgICAgKHNob3VsZAogICAgICAoZXF1 YWwgJygzNikKQEAgLTI4ODEsNiArMjg5MSw1OCBAQCBTQ0hFRFVMRUQ6IDwyMDE0LTAzLTA0 IHR1ZS4+IgogOlRFU1Q6IDIKIDpFTkQ6IgogCSAgICAgIChvcmctbWFwLWVudHJpZXMgIydw b2ludCAiVEVTVD0xIikpKSkKKyAgICA7OyBSZWd1bGFyIG5lZ2F0aXZlIHByb3BlcnR5IG1h dGNoLgorICAgIChzaG91bGQKKyAgICAgKGVxdWFsICcoMzUgNjgpCisJICAgIChvcmctdGVz dC13aXRoLXRlbXAtdGV4dCAiCisqIEgxCis6UFJPUEVSVElFUzoKKzpURVNUOiAxCis6RU5E OgorKiBIMgorOlBST1BFUlRJRVM6Cis6VEVTVDogMgorOkVORDoKKyogSDMiCisJICAgICAg KG9yZy1tYXAtZW50cmllcyAjJ3BvaW50ICJURVNUIT0xIikpKSkKKyAgICA7OyBTdGFycmVk IG5lZ2F0aXZlIHByb3BlcnR5IG1hdGNoLgorICAgIChzaG91bGQKKyAgICAgKGVxdWFsICco MzUpCisJICAgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dCAiCisqIEgxCis6UFJPUEVSVElF UzoKKzpURVNUOiAxCis6RU5EOgorKiBIMgorOlBST1BFUlRJRVM6Cis6VEVTVDogMgorOkVO RDoKKyogSDMiCisJICAgICAgKG9yZy1tYXAtZW50cmllcyAjJ3BvaW50ICJURVNUIT0qMSIp KSkpCisgICAgOzsgUHJvcGVydHkgbWF0Y2hlcyBvbiBuYW1lcyBpbmNsdWRpbmcgbWludXMg Y2hhcmFjdGVycy4KKyAgICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQKKyAgICAgIgorKiBI MSA6QkFSOgorOlBST1BFUlRJRVM6Cis6VEVTVC1GT086IDEKKzpFTkQ6CisqIEgyIDpGT086 Cis6UFJPUEVSVElFUzoKKzpURVNULUZPTzogMgorOkVORDoKKyogSDMgOkJBUjoKKzpQUk9Q RVJUSUVTOgorOi1GT086IDEKKzpFTkQ6CisqIEg0IDpGT086Cis6UFJPUEVSVElFUzoKKzot Rk9POiAyCis6RU5EOgorKiBINSIKKyAgICAgKHNob3VsZCAoZXF1YWwgJygyKSAob3JnLW1h cC1lbnRyaWVzICMncG9pbnQgIlRFU1QtRk9PIT0qMC1GT08iKSkpCisgICAgIChzaG91bGQg KGVxdWFsICcoMikgKG9yZy1tYXAtZW50cmllcyAjJ3BvaW50ICItRk9PK1RFU1QtRk9PIT0q MCIpKSkKKyAgICAgKHNob3VsZCAoZXF1YWwgJyg4OCkgKG9yZy1tYXAtZW50cmllcyAjJ3Bv aW50ICIrLUZPTyE9KjAtRk9PIikpKQorICAgICAoc2hvdWxkIChlcXVhbCAnKDg4KSAob3Jn LW1hcC1lbnRyaWVzICMncG9pbnQgIi1GT08rLUZPTyE9KjAiKSkpKQogICAgIDs7IE11bHRp cGxlIGNyaXRlcmlhLgogICAgIChzaG91bGQKICAgICAgKGVxdWFsICcoMjMpCi0tIAoyLjMw LjIKCg== --------------arLYyv81HVGnI7unzdiCARGj--