From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms1.migadu.com with LMTPS id OHYWCacLTWZYLgEAe85BDQ:P1 (envelope-from ) for ; Tue, 21 May 2024 23:01:27 +0200 Received: from aspmx1.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2.migadu.com with LMTPS id OHYWCacLTWZYLgEAe85BDQ (envelope-from ) for ; Tue, 21 May 2024 23:01:27 +0200 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=bm1OfCBX; dmarc=pass (policy=none) header.from=gmail.com; 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" ARC-Seal: i=1; s=key1; d=yhetil.org; t=1716325287; a=rsa-sha256; cv=none; b=EWkkjpYr4l9XFORN5SjGlnTNmzlbzCmwAvpE0hsewiJpvVIT0T8YQcWg2pmxs4SV9JWk/p akg+cHUR8JQZ6VXYOsEKS69wTMVS+ePfYvEcupMTO8hWVwia3BId/2AoocRiGVbaPQk4PW Y3EHvO4Y+sXSFfOY5K+yh2RgsJF2ATEYO2bFQUgB/CloqNPRTL3D/tsxCDxq7MUJ9Sw64B VxxO1Qo6P4nLGqlZ7mZhtgjxJF3GjpDGdF1fUaDPVJlB0g4NPvtMnnK+XD/J4ATvfOlqCX hR/7Iyg1f51Et5qPbyCu/iEpMmna4OmWChJ7jG//X5OaCcRPsjACMa0OAaDENA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=bm1OfCBX; dmarc=pass (policy=none) header.from=gmail.com; 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" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1716325287; 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=5tHqJhkbq8nYXXMMj7NFBqQKH9LX7uF0kNh/VSXXZOE=; b=QcUCp3lhgp6dsqsCxaQ0Hnu/BXMW8w9rXMtMyK6TxNEjTyF0UGi/9bkxEi2Lta9VB5dbPs j1eMUKZ4pZ1556FsG2vMndzAHFwBl9z0/IalyLvpCtUNojpXCCC9qVX3ue6xzTS0czkhoz LIUfug2Oohnwy6NZLz/xxH5TRb4jnrd5T5I1RaWeujIDM1chcNrm2yRCj692+14K7CnjHq EZD910cQzXsr+xYzpfLy4vWbXst3AIzJArm1O3KX2GdUxD5vB9fmw6yZGMlxTjst1WDR2C yV79SM3BVH+6kRcFgEBlGvQah6wZ1tGWryKExRiDBZFPNsqayy5exdQ30MQ1+w== 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 78A2F202E0 for ; Tue, 21 May 2024 23:01:26 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s9Wau-00005p-DF; Tue, 21 May 2024 17:00:24 -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 1s9Was-00005Y-JG for emacs-orgmode@gnu.org; Tue, 21 May 2024 17:00:22 -0400 Received: from mail-qk1-x731.google.com ([2607:f8b0:4864:20::731]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1s9Wal-0007At-JW for emacs-orgmode@gnu.org; Tue, 21 May 2024 17:00:22 -0400 Received: by mail-qk1-x731.google.com with SMTP id af79cd13be357-792ba098eccso351336485a.2 for ; Tue, 21 May 2024 14:00:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1716325212; x=1716930012; darn=gnu.org; h=in-reply-to:cc:content-language:references:to:subject:from :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=5tHqJhkbq8nYXXMMj7NFBqQKH9LX7uF0kNh/VSXXZOE=; b=bm1OfCBX5oVx0J6EK0skiWbO05PsLwPj35OHpCoeLnc4Y0cd2rer/+3LsrJv2cokxD z6Dr3JoVGd+Q9nJ/DISq18vSRzgDuNrGwvHki8idQLsIppgUH0Prq4yUEteCXwxmJNKQ epgEKwzwGq+crWTrfNCc6Dj+sRanuu6ezjTfRAHrtfcVhnw4Of06KXWwQO6fhls5RNMV 4Y08LUmpILHxMd2PqqsnvWMznoxf2ZGj+iGoQTZ2L4e6BUPhE0YzcnEH7CZzHTAp1YZS 6mUpF51WIf9UvA2BzZH4KGUcl++E34upA+AR+cFVLfzQl0Hqwb09k+UwuOI0vKdwo8yR HhMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716325212; x=1716930012; h=in-reply-to:cc:content-language:references:to:subject:from :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=5tHqJhkbq8nYXXMMj7NFBqQKH9LX7uF0kNh/VSXXZOE=; b=TlMOMNj1dBAuGBfeIJ6K3tHNUsSab09+Lqd7bE4ML0HEqru6iJKpjT5Xr6L9Agp4+C PUYJ4T8S/yogFpWXpLnJcphijWhM4vOPxe/RbWKVQKtBaiYFWeoflsqLMZ7Wx6KMQ36K 6gWDke+c+CiPrrUo59WYSxxhglHGadIroguWFujMMf7vVNSqUv9AtbrXLHY3z1lzb7Su 1TK00OqccoYqg3b3n1SMsZMWAU4f8BsMj1xKow850yTwK0YHKBXMiwCkHAce8c7aPq4y EXfU4DvcYCLbhWOriCasOWc4veRSrR56g4hMcucxd/TX1+sCaLs1qOrySOJunZa0kVNw cKZQ== X-Gm-Message-State: AOJu0YwE0qerYd1Koo0Ged7RwBKJ6Cicmv/TPC5jf87JQA/LCxAKSC60 OCuuLh+0BeNvyQss/BWq8IYb1jN6caiCZcrc/A+6TnOrPH9OiMBFOAUs X-Google-Smtp-Source: AGHT+IEdeDOUBbRYnPFcENswxRTFuDbVZv2y9MtyHC23SIqmInXv92457H3SeeprQa92KUXV+bUMhQ== X-Received: by 2002:a05:620a:462b:b0:790:99d8:e6a with SMTP id af79cd13be357-794994a3572mr9439685a.58.1716325212041; Tue, 21 May 2024 14:00:12 -0700 (PDT) Received: from [192.168.18.8] ([107.159.148.161]) by smtp.gmail.com with ESMTPSA id af79cd13be357-792bf3106cfsm1319126885a.108.2024.05.21.14.00.11 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 21 May 2024 14:00:11 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------Bm9scLcHj7Jj2QRS0m5968qF" Message-ID: <57ebc2d3-e6c5-4bde-bdb6-2df106901db4@gmail.com> Date: Tue, 21 May 2024 17:00:10 -0400 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: Nafiz Islam Subject: Re: [PATCH] function and symbol for headline and olp for org-capture-templates To: Ihor Radchenko References: <87pltgrbyj.fsf@localhost> Content-Language: en-US Cc: emacs-orgmode@gnu.org In-Reply-To: <87pltgrbyj.fsf@localhost> Received-SPF: pass client-ip=2607:f8b0:4864:20::731; envelope-from=nafiz.islam1000@gmail.com; helo=mail-qk1-x731.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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-Queue-Id: 78A2F202E0 X-Migadu-Scanner: mx12.migadu.com X-Migadu-Spam-Score: -8.58 X-Spam-Score: -8.58 X-TUID: sr135+kFfUBx This is a multi-part message in MIME format. --------------Bm9scLcHj7Jj2QRS0m5968qF Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit > the idea was to pass the FILE and extra OLP arguments to the custom function provided by the user I have misunderstood what you suggested. But, I wanted to maintain consistency with how the `file+headline' handles function as a target where the lambda takes no parameter and is expected to return the appropriate type of value while already visiting the file. > You are still calling `org-capture-expand-function-or-symbol' without passing the rest of OLP there. Or was it the intention? It is intentional. The only other type I allow (besides a list of headings) is a single function, a single bound symbol and `nil'. > Also, is there any point calling `find-file-noselect' when the outline > path spec is _not_ a function? No. I'll fix that. I ended up removing `org-capture-expand-function-or-symbol'in favour of explicitly testing for function and bound-symbol to allow more fine-grained use of `find-file-noselect'. > Finally, you need to describe the calling convention and environment > when the function spec for OLP is called - that it is called with no (or > some?) arguments and that the current buffer is the FILE-visiting buffer. Sounds good. I've attached the updated the patch. --------------Bm9scLcHj7Jj2QRS0m5968qF Content-Type: text/x-patch; charset=UTF-8; name="0001-function-and-symbol-for-headline-and-olp-for-org-cap.patch" Content-Disposition: attachment; filename*0="0001-function-and-symbol-for-headline-and-olp-for-org-cap.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBiMjZiYmNiMTA0OWUwYWIwNzkyMzMwOGY1ODMyMjgwMjhjMTAwZjE1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBOYWZpeiBJc2xhbSA8bmFmaXouaXNsYW0xMDAxQGdt YWlsLmNvbT4KRGF0ZTogVHVlLCAyMSBNYXkgMjAyNCAxNjoyNDoyNiAtMDQwMApTdWJqZWN0 OiBbUEFUQ0hdIGZ1bmN0aW9uIGFuZCBzeW1ib2wgZm9yIGhlYWRsaW5lIGFuZCBvbHAgZm9y CiBvcmctY2FwdHVyZS10ZW1wbGF0ZXMKCiogZG9jL29yZy1tYW51YWwub3JnOiBhZGQgdGVt cGxhdGUgZm9ybWF0IGZvciB0aGUgZnVuY3Rpb24gYW5kIHN5bWJvbCB2YXJpYW50CiogZXRj L09SRy1ORVdTOiBhbm5vdW5jZSB0aGUgdXBkYXRlZCBvcHRpb25zCiogbGlzcC9vcmctY2Fw dHVyZS5lbCAob3JnLWNhcHR1cmUtdGVtcGxhdGVzKTogdXBkYXRlIGN1c3RvbWl6YXRpb24g dHlwZSBmb3IgaGVhZGxpbmUgYW5kIG9scCB0YXJnZXQsIGFuZCB1cGRhdGUgZG9jc3RyaW5n CiogbGlzcC9vcmctY2FwdHVyZS5lbCAob3JnLWNhcHR1cmUtZXhwYW5kLWhlYWRsaW5lKTog ZGVmaW5lIGBvcmctY2FwdHVyZS1leHBhbmQtaGVhZGxpbmUnCiogbGlzcC9vcmctY2FwdHVy ZS5lbCAob3JnLWNhcHR1cmUtZXhwYW5kLW9scCk6IGRlZmluZSBgb3JnLWNhcHR1cmUtZXhw YW5kLW9scCcKKiBsaXNwL29yZy1jYXB0dXJlLmVsIChvcmctY2FwdHVyZS1zZXQtdGFyZ2V0 LWxvY2F0aW9uKTogdXNlIGBvcmctY2FwdHVyZS1leHBhbmQtaGVhZGxpbmUnIHRvIGV4cGFu ZCBoZWFkbGluZSwgYW5kIHVzZSBgb3JnLWNhcHR1cmUtZXhwYW5kLW9scCcgdG8gZXhwYW5k IG91dGxpbmUgcGF0aAoqIHRlc3RpbmcvbGlzcC90ZXN0LW9yZy1jYXB0dXJlLmVsICh0ZXN0 LW9yZy1jYXB0dXJlL2VudHJ5KTogYWRkIHRlc3RzIGZvciBhdCBtb3N0IHRocmVlIGRpZmZl cmVudCBraW5kcyBvZiB0YXJnZXQgZm9yIGBmaWxlK2hlYWRsaW5lJywgYGZpbGUrb2xwJywg YW5kIGBmaWxlK29scCtkYXRldHJlZScKKiB0ZXN0aW5nL2xpc3AvdGVzdC1vcmctY2FwdHVy ZS5lbCAodGVzdC1vcmctY2FwdHVyZS90ZXN0LW9yZy1jYXB0dXJlL29yZy1jYXB0dXJlLWV4 cGFuZC1vbHApOiBhZGQgdGVzdHMgZm9yIGBvcmctY2FwdHVyZS1leHBhbmQtb2xwJwoqIHRl c3RpbmcvbGlzcC90ZXN0LW9yZy1jYXB0dXJlLmVsICh0ZXN0LW9yZy1jYXB0dXJlL29yZy1j YXB0dXJlLWV4cGFuZC1vbHAtbm90LWlubGluZWQtc3RyaW5ncyk6IGFkZCBmYWlsaW5nIHRl c3QgZm9yIGBvcmctY2FwdHVyZS1leHBhbmQtb2xwJwoKLS0tCiBkb2Mvb3JnLW1hbnVhbC5v cmcgICAgICAgICAgICAgICB8ICAxMiArKysKIGV0Yy9PUkctTkVXUyAgICAgICAgICAgICAg ICAgICAgIHwgICA2ICsrCiBsaXNwL29yZy1jYXB0dXJlLmVsICAgICAgICAgICAgICB8ICA2 NyArKysrKysrKysrKysrLS0tCiB0ZXN0aW5nL2xpc3AvdGVzdC1vcmctY2FwdHVyZS5lbCB8 IDEyOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQs IDIwMiBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mv b3JnLW1hbnVhbC5vcmcgYi9kb2Mvb3JnLW1hbnVhbC5vcmcKaW5kZXggOTIwMTE0ZjcwLi5l NjJhY2YwZDkgMTAwNjQ0Ci0tLSBhL2RvYy9vcmctbWFudWFsLm9yZworKysgYi9kb2Mvb3Jn LW1hbnVhbC5vcmcKQEAgLTgwMzAsMTAgKzgwMzAsMTggQEAgTm93IGxldHMgbG9vayBhdCB0 aGUgZWxlbWVudHMgb2YgYSB0ZW1wbGF0ZSBkZWZpbml0aW9uLiAgRWFjaCBlbnRyeSBpbgog CiAgIC0gPShmaWxlK2hlYWRsaW5lICJmaWxlbmFtZSIgIm5vZGUgaGVhZGxpbmUiKT0gOjoK IAorICAtID0oZmlsZStoZWFkbGluZSAiZmlsZW5hbWUiIGZ1bmN0aW9uLXJldHVybmluZy1o ZWFkbGluZSk9IDo6CisKKyAgLSA9KGZpbGUraGVhZGxpbmUgImZpbGVuYW1lIiBzeW1ib2wt Y29udGFpbmluZy1oZWFkbGluZSk9IDo6CisKICAgICBGYXN0IGNvbmZpZ3VyYXRpb24gaWYg dGhlIHRhcmdldCBoZWFkaW5nIGlzIHVuaXF1ZSBpbiB0aGUgZmlsZS4KIAogICAtID0oZmls ZStvbHAgImZpbGVuYW1lIiAiTGV2ZWwgMSBoZWFkaW5nIiAiTGV2ZWwgMiIgLi4uKT0gOjoK IAorICAtID0oZmlsZStvbHAgImZpbGVuYW1lIiBmdW5jdGlvbi1yZXR1cm5pbmctb3V0bGlu ZS1wYXRoKT0gOjoKKworICAtID0oZmlsZStvbHAgImZpbGVuYW1lIiBzeW1ib2wtY29udGFp bmluZy1vdXRsaW5lLXBhdGgpPSA6OgorCiAgICAgRm9yIG5vbi11bmlxdWUgaGVhZGluZ3Ms IHRoZSBmdWxsIHBhdGggaXMgc2FmZXIuCiAKICAgLSA9KGZpbGUrcmVnZXhwICJmaWxlbmFt ZSIgInJlZ2V4cCB0byBmaW5kIGxvY2F0aW9uIik9IDo6CkBAIC04MDQyLDYgKzgwNTAsMTAg QEAgTm93IGxldHMgbG9vayBhdCB0aGUgZWxlbWVudHMgb2YgYSB0ZW1wbGF0ZSBkZWZpbml0 aW9uLiAgRWFjaCBlbnRyeSBpbgogCiAgIC0gPShmaWxlK29scCtkYXRldHJlZSAiZmlsZW5h bWUiIFsgIkxldmVsIDEgaGVhZGluZyIgLi4uXSk9IDo6CiAKKyAgLSA9KGZpbGUrb2xwK2Rh dGV0cmVlICJmaWxlbmFtZSIgZnVuY3Rpb24tcmV0dXJuaW5nLW91dGxpbmUtcGF0aCk9IDo6 CisKKyAgLSA9KGZpbGUrb2xwK2RhdGV0cmVlICJmaWxlbmFtZSIgc3ltYm9sLWNvbnRhaW5p bmctb3V0bGluZS1wYXRoKT0gOjoKKwogICAgIFRoaXMgdGFyZ2V0W2ZuOjMwXSBjcmVhdGVz IGEgaGVhZGluZyBpbiBhIGRhdGUgdHJlZVtmbjozMV0gZm9yCiAgICAgdG9kYXkncyBkYXRl LiAgSWYgdGhlIG9wdGlvbmFsIG91dGxpbmUgcGF0aCBpcyBnaXZlbiwgdGhlIHRyZWUKICAg ICB3aWxsIGJlIGJ1aWx0IHVuZGVyIHRoZSBub2RlIGl0IGlzIHBvaW50aW5nIHRvLCBpbnN0 ZWFkIG9mIGF0IHRvcApkaWZmIC0tZ2l0IGEvZXRjL09SRy1ORVdTIGIvZXRjL09SRy1ORVdT CmluZGV4IDA3MWU4YTNmYi4uYTU4NjY0N2UwIDEwMDY0NAotLS0gYS9ldGMvT1JHLU5FV1MK KysrIGIvZXRjL09SRy1ORVdTCkBAIC03NDAsNiArNzQwLDEyIEBAIGFueSBtb3JlLiAgUnVu IH5vcmctY3RhZ3MtZW5hYmxlfiB0byBzZXR1cCBob29rcyBhbmQgYWR2aWNlczoKIAogVGhp cyBuZXcgaG9vayBydW5zIHdoZW4gYSBub3RlIGhhcyBiZWVuIHN0b3JlZC4KIAorKioqIE5l dyBjdXN0b21pemF0aW9uIG9wdGlvbnMgZm9yIH5vcmctY2FwdHVyZS10ZW1wbGF0ZXN+CisK K1RoZSB2YXJpYWJsZSB+b3JnLWNhcHR1cmUtdGVtcGxhdGVzfiBhY2NlcHRzIGEgdGFyZ2V0 IHNwZWNpZmljYXRpb24KK2ZvciBoZWFkbGluZSAofmZpbGUraGVhZGxpbmV+KSBhbmQgb2xw ICh+ZmlsZStvbGR+IGFuZAorfmZpbGUrb2xwK2RhdGV0cmVlfikgYXMgZnVuY3Rpb24gYW5k IHN5bWJvbC4KKwogKioqIE5ldyBvcHRpb24gY29udHJvbGxpbmcgaG93IE9yZyBtb2RlIHNv cnRzIHRoaW5ncyB+b3JnLXNvcnQtZnVuY3Rpb25+CiAKIFNvcnRpbmcgb2YgYWdlbmRhIGl0 ZW1zLCB0YWJsZXMsIG1lbnVzLCBoZWFkbGluZXMsIGV0YyBjYW4gbm93IGJlCmRpZmYgLS1n aXQgYS9saXNwL29yZy1jYXB0dXJlLmVsIGIvbGlzcC9vcmctY2FwdHVyZS5lbAppbmRleCA5 ZDhmODU1ZWYuLmQ0NjU3MzhjYSAxMDA2NDQKLS0tIGEvbGlzcC9vcmctY2FwdHVyZS5lbAor KysgYi9saXNwL29yZy1jYXB0dXJlLmVsCkBAIC0yMDEsMTUgKzIwMSwyMSBAQCB0YXJnZXQg ICAgICAgU3BlY2lmaWNhdGlvbiBvZiB3aGVyZSB0aGUgY2FwdHVyZWQgaXRlbSBzaG91bGQg YmUgcGxhY2VkLgogICAgICAgICAgICAgICAgICBGaWxlIGFzIGNoaWxkIG9mIHRoaXMgZW50 cnksIG9yIGluIHRoZSBib2R5IG9mIHRoZSBlbnRyeQogCiAgICAgICAgICAgICAgKGZpbGUr aGVhZGxpbmUgXCJwYXRoL3RvL2ZpbGVcIiBcIm5vZGUgaGVhZGxpbmVcIikKKyAgICAgICAg ICAgICAoZmlsZStoZWFkbGluZSBcInBhdGgvdG8vZmlsZVwiIGZ1bmN0aW9uLXJldHVybmlu Zy1oZWFkbGluZSkKKyAgICAgICAgICAgICAoZmlsZStoZWFkbGluZSBcInBhdGgvdG8vZmls ZVwiIHN5bWJvbC1jb250YWluaW5nLWhlYWRsaW5lKQogICAgICAgICAgICAgICAgICBGYXN0 IGNvbmZpZ3VyYXRpb24gaWYgdGhlIHRhcmdldCBoZWFkaW5nIGlzIHVuaXF1ZSBpbiB0aGUg ZmlsZQogCiAgICAgICAgICAgICAgKGZpbGUrb2xwIFwicGF0aC90by9maWxlXCIgXCJMZXZl bCAxIGhlYWRpbmdcIiBcIkxldmVsIDJcIiAuLi4pCisgICAgICAgICAgICAgKGZpbGUrb2xw IFwicGF0aC90by9maWxlXCIgZnVuY3Rpb24tcmV0dXJuaW5nLW91dGxpbmUtcGF0aCkKKyAg ICAgICAgICAgICAoZmlsZStvbHAgXCJwYXRoL3RvL2ZpbGVcIiBzeW1ib2wtY29udGFpbmlu Zy1vdXRsaW5lLXBhdGgpCiAgICAgICAgICAgICAgICAgIEZvciBub24tdW5pcXVlIGhlYWRp bmdzLCB0aGUgZnVsbCBvdXRsaW5lIHBhdGggaXMgc2FmZXIKIAogICAgICAgICAgICAgIChm aWxlK3JlZ2V4cCAgXCJwYXRoL3RvL2ZpbGVcIiBcInJlZ2V4cCB0byBmaW5kIGxvY2F0aW9u XCIpCiAgICAgICAgICAgICAgICAgIEZpbGUgdG8gdGhlIGVudHJ5IG1hdGNoaW5nIHJlZ2V4 cAogCiAgICAgICAgICAgICAgKGZpbGUrb2xwK2RhdGV0cmVlIFwicGF0aC90by9maWxlXCIg XCJMZXZlbCAxIGhlYWRpbmdcIiAuLi4pCisgICAgICAgICAgICAgKGZpbGUrb2xwK2RhdGV0 cmVlIFwicGF0aC90by9maWxlXCIgZnVuY3Rpb24tcmV0dXJuaW5nLW91dGxpbmUtcGF0aCkK KyAgICAgICAgICAgICAoZmlsZStvbHArZGF0ZXRyZWUgXCJwYXRoL3RvL2ZpbGVcIiBzeW1i b2wtY29udGFpbmluZy1vdXRsaW5lLXBhdGgpCiAgICAgICAgICAgICAgICAgIFdpbGwgY3Jl YXRlIGEgaGVhZGluZyBpbiBhIGRhdGUgdHJlZSBmb3IgdG9kYXkncyBkYXRlLgogICAgICAg ICAgICAgICAgICBJZiBubyBoZWFkaW5nIGlzIGdpdmVuLCB0aGUgdHJlZSB3aWxsIGJlIG9u IHRvcCBsZXZlbC4KICAgICAgICAgICAgICAgICAgVG8gcHJvbXB0IGZvciBkYXRlIGluc3Rl YWQgb2YgdXNpbmcgVE9EQVksIHVzZSB0aGUKQEAgLTQwOSw3ICs0MTUsMTMgQEAgeW91IGNh biBlc2NhcGUgYW1iaWd1b3VzIGNhc2VzIHdpdGggYSBiYWNrd2FyZCBzbGFzaCwgZS5nLiwg XFwlaS4iCiAJCQkJKGZpbGUgOnRhZyAiTGl0ZXJhbCIpCiAJCQkJKGZ1bmN0aW9uIDp0YWcg IkZ1bmN0aW9uIikKIAkJCQkodmFyaWFibGUgOnRhZyAiVmFyaWFibGUiKQotCQkJCShzZXhw IDp0YWcgIkZvcm0iKSkpKQorCQkJCShzZXhwIDp0YWcgIkZvcm0iKSkpCisgICAgICAgIChv bHAtdmFyaWFudHMgJyhjaG9pY2UgOnRhZyAiT3V0bGluZSBwYXRoIgorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChyZXBlYXQgOnRhZyAiT3V0bGluZSBwYXRoIiA6aW5saW5l IHQKKwkJCQkgICAgICAgKHN0cmluZyA6dGFnICJIZWFkbGluZSIpKQorCQkJICAgICAgIChm dW5jdGlvbiA6dGFnICJGdW5jdGlvbiIpCisJCQkgICAgICAgKHZhcmlhYmxlIDp0YWcgIlZh cmlhYmxlIikKKwkJCSAgICAgICAoc2V4cCA6dGFnICJGb3JtIikpKSkKICAgICBgKHJlcGVh dAogICAgICAgKGNob2ljZSA6dmFsdWUgKCIiICIiIGVudHJ5IChmaWxlICJ+L29yZy9ub3Rl cy5vcmciKSAiIikKIAkgICAgICAobGlzdCA6dGFnICJNdWx0aWtleSBkZXNjcmlwdGlvbiIK QEAgLTQzNCwxMiArNDQ2LDE1IEBAIHlvdSBjYW4gZXNjYXBlIGFtYmlndW91cyBjYXNlcyB3 aXRoIGEgYmFja3dhcmQgc2xhc2gsIGUuZy4sIFxcJWkuIgogCQkJICAgIChsaXN0IDp0YWcg IkZpbGUgJiBIZWFkbGluZSIKIAkJCQkgIChjb25zdCA6Zm9ybWF0ICIiIGZpbGUraGVhZGxp bmUpCiAJCQkJICAsZmlsZS12YXJpYW50cwotCQkJCSAgKHN0cmluZyA6dGFnICIgIEhlYWRs aW5lIikpCisJCQkJICAoY2hvaWNlIDp0YWcgIkhlYWRsaW5lIgorCQkJCSAgICAgICAgICAo c3RyaW5nICAgOnRhZyAiSGVhZGxpbmUiKQorCQkJCSAgICAgICAgICAoZnVuY3Rpb24gOnRh ZyAiRnVuY3Rpb24iKQorCQkJCSAgICAgICAgICAodmFyaWFibGUgOnRhZyAiVmFyaWFibGUi KQorCQkJCSAgICAgICAgICAoc2V4cCA6dGFnICJGb3JtIikpKQogCQkJICAgIChsaXN0IDp0 YWcgIkZpbGUgJiBPdXRsaW5lIHBhdGgiCiAJCQkJICAoY29uc3QgOmZvcm1hdCAiIiBmaWxl K29scCkKIAkJCQkgICxmaWxlLXZhcmlhbnRzCi0JCQkJICAocmVwZWF0IDp0YWcgIk91dGxp bmUgcGF0aCIgOmlubGluZSB0Ci0JCQkJCSAgKHN0cmluZyA6dGFnICJIZWFkbGluZSIpKSkK KwkJCQkgICxvbHAtdmFyaWFudHMpCiAJCQkgICAgKGxpc3QgOnRhZyAiRmlsZSAmIFJlZ2V4 cCIKIAkJCQkgIChjb25zdCA6Zm9ybWF0ICIiIGZpbGUrcmVnZXhwKQogCQkJCSAgLGZpbGUt dmFyaWFudHMKQEAgLTQ0Nyw4ICs0NjIsNyBAQCB5b3UgY2FuIGVzY2FwZSBhbWJpZ3VvdXMg Y2FzZXMgd2l0aCBhIGJhY2t3YXJkIHNsYXNoLCBlLmcuLCBcXCVpLiIKIAkJCSAgICAobGlz dCA6dGFnICJGaWxlIFsgJiBPdXRsaW5lIHBhdGggXSAmIERhdGUgdHJlZSIKIAkJCQkgIChj b25zdCA6Zm9ybWF0ICIiIGZpbGUrb2xwK2RhdGV0cmVlKQogCQkJCSAgLGZpbGUtdmFyaWFu dHMKLQkJCQkgIChvcHRpb24gKHJlcGVhdCA6dGFnICJPdXRsaW5lIHBhdGgiIDppbmxpbmUg dAotCQkJCQkJICAoc3RyaW5nIDp0YWcgIkhlYWRsaW5lIikpKSkKKwkJCQkgICxvbHAtdmFy aWFudHMpCiAJCQkgICAgKGxpc3QgOnRhZyAiRmlsZSAmIGZ1bmN0aW9uIgogCQkJCSAgKGNv bnN0IDpmb3JtYXQgIiIgZmlsZStmdW5jdGlvbikKIAkJCQkgICxmaWxlLXZhcmlhbnRzCkBA IC0xMDEyLDcgKzEwMjYsNyBAQCBTdG9yZSB0aGVtIGluIHRoZSBjYXB0dXJlIHByb3BlcnR5 IGxpc3QuIgogCSAgICAob3JnLWNhcHR1cmUtcHV0LXRhcmdldC1yZWdpb24tYW5kLXBvc2l0 aW9uKQogCSAgICAoZ290by1jaGFyIHBvc2l0aW9uKSkKIAkgICAoXyAoZXJyb3IgIkNhbm5v dCBmaW5kIHRhcmdldCBJRCBcIiVzXCIiIGlkKSkpKQotCShgKGZpbGUraGVhZGxpbmUgLHBh dGggLChhbmQgaGVhZGxpbmUgKHByZWQgc3RyaW5ncCkpKQorCShgKGZpbGUraGVhZGxpbmUg LHBhdGggLGhlYWRsaW5lKQogCSAoc2V0LWJ1ZmZlciAob3JnLWNhcHR1cmUtdGFyZ2V0LWJ1 ZmZlciBwYXRoKSkKIAkgOzsgT3JnIGV4cGVjdHMgdGhlIHRhcmdldCBmaWxlIHRvIGJlIGlu IE9yZyBtb2RlLCBvdGhlcndpc2UKIAkgOzsgaXQgdGhyb3dzIGFuIGVycm9yLiAgSG93ZXZl ciwgdGhlIGRlZmF1bHQgbm90ZXMgZmlsZXMKQEAgLTEwMjYsNiArMTA0MCw3IEBAIFN0b3Jl IHRoZW0gaW4gdGhlIGNhcHR1cmUgcHJvcGVydHkgbGlzdC4iCiAJIChvcmctY2FwdHVyZS1w dXQtdGFyZ2V0LXJlZ2lvbi1hbmQtcG9zaXRpb24pCiAJICh3aWRlbikKIAkgKGdvdG8tY2hh ciAocG9pbnQtbWluKSkKKyAgICAgICAgIChzZXRxIGhlYWRsaW5lIChvcmctY2FwdHVyZS1l eHBhbmQtaGVhZGxpbmUgaGVhZGxpbmUpKQogCSAoaWYgKHJlLXNlYXJjaC1mb3J3YXJkIChm b3JtYXQgb3JnLWNvbXBsZXgtaGVhZGluZy1yZWdleHAtZm9ybWF0CiAJCQkJCShyZWdleHAt cXVvdGUgaGVhZGxpbmUpKQogCQkJCW5pbCB0KQpAQCAtMTAzNSw4ICsxMDUwLDkgQEAgU3Rv cmUgdGhlbSBpbiB0aGUgY2FwdHVyZSBwcm9wZXJ0eSBsaXN0LiIKIAkgICAoaW5zZXJ0ICIq ICIgaGVhZGxpbmUgIlxuIikKIAkgICAoZm9yd2FyZC1saW5lIC0xKSkpCiAJKGAoZmlsZStv bHAgLHBhdGggLiAsKGFuZCBvdXRsaW5lLXBhdGggKGd1YXJkIG91dGxpbmUtcGF0aCkpKQot CSAobGV0ICgobSAob3JnLWZpbmQtb2xwIChjb25zIChvcmctY2FwdHVyZS1leHBhbmQtZmls ZSBwYXRoKQotCQkJCSAgICAgIG91dGxpbmUtcGF0aCkpKSkKKwkgKGxldCogKChleHBhbmRl ZC1maWxlLXBhdGggKG9yZy1jYXB0dXJlLWV4cGFuZC1maWxlIHBhdGgpKQorICAgICAgICAg ICAgICAgIChtIChvcmctZmluZC1vbHAgKGNvbnMgZXhwYW5kZWQtZmlsZS1wYXRoCisJCQkJ ICAgICAgIChhcHBseSAjJ29yZy1jYXB0dXJlLWV4cGFuZC1vbHAgZXhwYW5kZWQtZmlsZS1w YXRoIG91dGxpbmUtcGF0aCkpKSkpCiAJICAgKHNldC1idWZmZXIgKG1hcmtlci1idWZmZXIg bSkpCiAJICAgKG9yZy1jYXB0dXJlLXB1dC10YXJnZXQtcmVnaW9uLWFuZC1wb3NpdGlvbikK IAkgICAod2lkZW4pCkBAIC0xMDU3LDggKzEwNzMsOSBAQCBTdG9yZSB0aGVtIGluIHRoZSBj YXB0dXJlIHByb3BlcnR5IGxpc3QuIgogCQkgKGFuZCAoZGVyaXZlZC1tb2RlLXAgJ29yZy1t b2RlKSAob3JnLWF0LWhlYWRpbmctcCkpKSkpCiAJKGAoZmlsZStvbHArZGF0ZXRyZWUgLHBh dGggLiAsb3V0bGluZS1wYXRoKQogCSAobGV0ICgobSAoaWYgb3V0bGluZS1wYXRoCi0JCSAg ICAgIChvcmctZmluZC1vbHAgKGNvbnMgKG9yZy1jYXB0dXJlLWV4cGFuZC1maWxlIHBhdGgp Ci0JCQkJCSAgb3V0bGluZS1wYXRoKSkKKwkJICAgICAgKGxldCAoKGV4cGFuZGVkLWZpbGUt cGF0aCAob3JnLWNhcHR1cmUtZXhwYW5kLWZpbGUgcGF0aCkpKQorICAgICAgICAgICAgICAg ICAgICAgICAgKG9yZy1maW5kLW9scCAoY29ucyBleHBhbmRlZC1maWxlLXBhdGgKKwkJCQkJ ICAgIChhcHBseSAjJ29yZy1jYXB0dXJlLWV4cGFuZC1vbHAgZXhwYW5kZWQtZmlsZS1wYXRo IG91dGxpbmUtcGF0aCkpKSkKIAkJICAgIChzZXQtYnVmZmVyIChvcmctY2FwdHVyZS10YXJn ZXQtYnVmZmVyIHBhdGgpKQogCQkgICAgKHBvaW50LW1hcmtlcikpKSkKIAkgICAoc2V0LWJ1 ZmZlciAobWFya2VyLWJ1ZmZlciBtKSkKQEAgLTExNDMsNiArMTE2MCwzNCBAQCBTdG9yZSB0 aGVtIGluIHRoZSBjYXB0dXJlIHByb3BlcnR5IGxpc3QuIgogCQkJICAgICAgKG9yZy1kZWNy eXB0LWVudHJ5KQogCQkJICAgICAgKGFuZCAob3JnLWJhY2stdG8taGVhZGluZyB0KSAocG9p bnQpKSkpKSkpKQogCisoZGVmdW4gb3JnLWNhcHR1cmUtZXhwYW5kLWhlYWRsaW5lIChoZWFk bGluZSkKKyAgIkV4cGFuZCBmdW5jdGlvbnMsIHN5bWJvbHMgYW5kIGhlYWRsaW5lIG5hbWVz IGZvciBIRUFETElORS4KK1doZW4gSEVBRExJTkUgaXMgYSBmdW5jdGlvbiwgY2FsbCBpdC4g V2hlbiBpdCBpcyBhIHZhcmlhYmxlLAorcmV0dXJuIGl0cyB2YWx1ZS4gV2hlbiBpdCBpcyBh IHN0cmluZywgcmV0dXJuIGl0LiAgSW4gYW55IG90aGVyCitjYXNlLCByZXR1cm4gYG5pbCcu IgorICAobGV0KiAoKGZpbmFsLWhlYWRsaW5lIChjb25kICgoc3RyaW5ncCBoZWFkbGluZSkg aGVhZGxpbmUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChmdW5jdGlvbnAg aGVhZGxpbmUpIChmdW5jYWxsIGhlYWRsaW5lKSkKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoKGFuZCAoc3ltYm9scCBoZWFkbGluZSkgKGJvdW5kcCBoZWFkbGluZSkpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzeW1ib2wtdmFsdWUgaGVhZGxpbmUp KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0IG5pbCkpKSkKKyAgICBmaW5h bC1oZWFkbGluZSkpCisKKyhkZWZ1biBvcmctY2FwdHVyZS1leHBhbmQtb2xwIChmaWxlICZy ZXN0IG9scCkKKyAgIkV4cGFuZCBmdW5jdGlvbnMsIHN5bWJvbHMgYW5kIG91dGxpbmUgcGF0 aHMgZm9yIE9MUC4KK1doZW4gT0xQIGlzIGEgZnVuY3Rpb24sIGNhbGwgaXQgd2l0aCBubyBh cmd1bWVudHMgd2hpbGUKK3RoZSBjdXJyZW50IGJ1ZmZlciBpcyB0aGUgRklMRS12aXNpdGlu ZyBidWZmZXIuIFdoZW4gaXQKK2lzIGEgdmFyaWFibGUsIHJldHVybiBpdHMgdmFsdWUuIFdo ZW4gaXQgaXMgYSBsaXN0IG9mCitzdHJpbmcsIHJldHVybiBpdC4gSW4gYW55IG90aGVyIGNh c2UsIHNpZ25hbCBhbiBlcnJvci4iCisgIChsZXQqICgoZmlyc3QgKGNhciBvbHApKQorICAg ICAgICAgKGZpbmFsLW9scCAoY29uZCAoKG9yIChub3QgZmlyc3QpIChzdHJpbmdwIGZpcnN0 KSkgb2xwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAoKGFuZCAobm90IChjZHIgb2xw KSkgKGZ1bmN0aW9ucCBmaXJzdCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAod2l0 aC1jdXJyZW50LWJ1ZmZlciAoZmluZC1maWxlLW5vc2VsZWN0IGZpbGUpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChmdW5jYWxsIGZpcnN0KSkpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICgoYW5kIChub3QgKGNkciBvbHApKSAoc3ltYm9scCBmaXJzdCkgKGJvdW5k cCBmaXJzdCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3ltYm9sLXZhbHVlIGZp cnN0KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKHQgKGVycm9yICJJbnZhbGlkIG91 dGxpbmUgcGF0aDogJVMiIG9scCkpKSkpCisgICAgICBmaW5hbC1vbHApKQorCiAoZGVmdW4g b3JnLWNhcHR1cmUtZXhwYW5kLWZpbGUgKGZpbGUpCiAgICJFeHBhbmQgZnVuY3Rpb25zLCBz eW1ib2xzIGFuZCBmaWxlIG5hbWVzIGZvciBGSUxFLgogV2hlbiBGSUxFIGlzIGEgZnVuY3Rp b24sIGNhbGwgaXQuICBXaGVuIGl0IGlzIGEgZm9ybSwgZXZhbHVhdGUKZGlmZiAtLWdpdCBh L3Rlc3RpbmcvbGlzcC90ZXN0LW9yZy1jYXB0dXJlLmVsIGIvdGVzdGluZy9saXNwL3Rlc3Qt b3JnLWNhcHR1cmUuZWwKaW5kZXggMGVkNDRjNmFmLi42MDJhMzU2NGEgMTAwNjQ0Ci0tLSBh L3Rlc3RpbmcvbGlzcC90ZXN0LW9yZy1jYXB0dXJlLmVsCisrKyBiL3Rlc3RpbmcvbGlzcC90 ZXN0LW9yZy1jYXB0dXJlLmVsCkBAIC0yMjMsNiArMjIzLDEwMyBAQAogCShpbnNlcnQgIkNh cHR1cmUgdGV4dCIpCiAJKG9yZy1jYXB0dXJlLWZpbmFsaXplKSkKICAgICAgIChidWZmZXIt c3RyaW5nKSkpKQorICAoc2hvdWxkCisgICAoZXF1YWwKKyAgICAiKiBBXG4qKiBIMSBDYXB0 dXJlIHRleHRcbiogQlxuIgorICAgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dC1pbi1maWxl ICIqIEFcbiogQlxuIgorICAgICAgKGxldCogKChmaWxlIChidWZmZXItZmlsZS1uYW1lKSkK KwkgICAgIChvcmctY2FwdHVyZS10ZW1wbGF0ZXMKKwkgICAgICBgKCgidCIgIlRvZG8iIGVu dHJ5IChmaWxlK2hlYWRsaW5lICxmaWxlIChsYW1iZGEgKCkgIkEiKSkgIioqIEgxICU/Iikp KSkKKwkob3JnLWNhcHR1cmUgbmlsICJ0IikKKwkoaW5zZXJ0ICJDYXB0dXJlIHRleHQiKQor CShvcmctY2FwdHVyZS1maW5hbGl6ZSkpCisgICAgICAoYnVmZmVyLXN0cmluZykpKSkKKyAg KHNob3VsZAorICAgKGVxdWFsCisgICAgIiogQVxuKiogSDEgQ2FwdHVyZSB0ZXh0XG4qIEJc biIKKyAgICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQtaW4tZmlsZSAiKiBBXG4qIEJcbiIK KyAgICAgIChsZXQqICgoZmlsZSAoYnVmZmVyLWZpbGUtbmFtZSkpCisJICAgICAob3JnLWNh cHR1cmUtdGVtcGxhdGVzCisJICAgICAgYCgoInQiICJUb2RvIiBlbnRyeSAoZmlsZStoZWFk bGluZSAsZmlsZSB0ZXN0LW9yZy1jYXB0dXJlL2VudHJ5L2hlYWRsaW5lKSAiKiogSDEgJT8i KSkpKQorICAgICAgICAoc2V0cSB0ZXN0LW9yZy1jYXB0dXJlL2VudHJ5L2hlYWRsaW5lICJB IikKKwkob3JnLWNhcHR1cmUgbmlsICJ0IikKKwkoaW5zZXJ0ICJDYXB0dXJlIHRleHQiKQor CShvcmctY2FwdHVyZS1maW5hbGl6ZSkKKyAgICAgICAgKG1ha3VuYm91bmQgJ3Rlc3Qtb3Jn LWNhcHR1cmUvZW50cnkvaGVhZGxpbmUpKQorICAgICAgKGJ1ZmZlci1zdHJpbmcpKSkpCisg IChzaG91bGQKKyAgIChlcXVhbAorICAgICIqIEFcbioqIEJcbioqKiBIMSBDYXB0dXJlIHRl eHRcbioqIENcbiogQlxuKiogQlxuIgorICAgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dC1p bi1maWxlICIqIEFcbioqIEJcbioqIENcbiogQlxuKiogQiIKKyAgICAgIChsZXQqICgoZmls ZSAoYnVmZmVyLWZpbGUtbmFtZSkpCisJICAgICAob3JnLWNhcHR1cmUtdGVtcGxhdGVzCisJ ICAgICAgYCgoInQiICJUb2RvIiBlbnRyeSAoZmlsZStvbHAgLGZpbGUgIkEiICJCIikgIiog SDEgJT8iKSkpKQorCShvcmctY2FwdHVyZSBuaWwgInQiKQorCShpbnNlcnQgIkNhcHR1cmUg dGV4dCIpCisJKG9yZy1jYXB0dXJlLWZpbmFsaXplKSkKKyAgICAgIChidWZmZXItc3RyaW5n KSkpKQorICAoc2hvdWxkCisgICAoZXF1YWwKKyAgICAiKiBBXG4qKiBCXG4qKiogSDEgQ2Fw dHVyZSB0ZXh0XG4qKiBDXG4qIEJcbioqIEJcbiIKKyAgICAob3JnLXRlc3Qtd2l0aC10ZW1w LXRleHQtaW4tZmlsZSAiKiBBXG4qKiBCXG4qKiBDXG4qIEJcbioqIEIiCisgICAgICAobGV0 KiAoKGZpbGUgKGJ1ZmZlci1maWxlLW5hbWUpKQorCSAgICAgKG9yZy1jYXB0dXJlLXRlbXBs YXRlcworCSAgICAgIGAoKCJ0IiAiVG9kbyIgZW50cnkgKGZpbGUrb2xwICxmaWxlIChsYW1i ZGEgKCkgJygiQSIgIkIiKSkpICIqIEgxICU/IikpKSkKKwkob3JnLWNhcHR1cmUgbmlsICJ0 IikKKwkoaW5zZXJ0ICJDYXB0dXJlIHRleHQiKQorCShvcmctY2FwdHVyZS1maW5hbGl6ZSkp CisgICAgICAoYnVmZmVyLXN0cmluZykpKSkKKyAgKHNob3VsZAorICAgKGVxdWFsCisgICAg IiogQVxuKiogQlxuKioqIEgxIENhcHR1cmUgdGV4dFxuKiogQ1xuKiBCXG4qKiBCXG4iCisg ICAgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0LWluLWZpbGUgIiogQVxuKiogQlxuKiogQ1xu KiBCXG4qKiBCIgorICAgICAgKGxldCogKChmaWxlIChidWZmZXItZmlsZS1uYW1lKSkKKwkg ICAgIChvcmctY2FwdHVyZS10ZW1wbGF0ZXMKKwkgICAgICBgKCgidCIgIlRvZG8iIGVudHJ5 IChmaWxlK29scCAsZmlsZSB0ZXN0LW9yZy1jYXB0dXJlL2VudHJ5L2ZpbGUrb2xwKSAiKiBI MSAlPyIpKSkpCisgICAgICAgIChzZXRxIHRlc3Qtb3JnLWNhcHR1cmUvZW50cnkvZmlsZStv bHAgJygiQSIgIkIiKSkKKwkob3JnLWNhcHR1cmUgbmlsICJ0IikKKwkoaW5zZXJ0ICJDYXB0 dXJlIHRleHQiKQorCShvcmctY2FwdHVyZS1maW5hbGl6ZSkKKyAgICAgICAgKG1ha3VuYm91 bmQgJ3Rlc3Qtb3JnLWNhcHR1cmUvZW50cnkvZmlsZStvbHApKQorICAgICAgKGJ1ZmZlci1z dHJpbmcpKSkpCisgIChzaG91bGQKKyAgIChlcXVhbAorICAgICIqIEFcbioqIEJcbioqKiAx OTY5XG4qKioqIDE5NjktMTIgRGVjZW1iZXJcbioqKioqIDE5NjktMTItMzEgV2VkbmVzZGF5 XG4qKioqKiogSDEgQ2FwdHVyZSB0ZXh0XG4qKiBDXG4qIEJcbioqIEJcbiIKKyAgICAob3Jn LXRlc3Qtd2l0aC10ZW1wLXRleHQtaW4tZmlsZSAiKiBBXG4qKiBCXG4qKiBDXG4qIEJcbioq IEIiCisgICAgICAobGV0KiAoKGZpbGUgKGJ1ZmZlci1maWxlLW5hbWUpKQorCSAgICAgKG9y Zy1jYXB0dXJlLXRlbXBsYXRlcworCSAgICAgIGAoKCJ0IiAiVG9kbyIgZW50cnkgKGZpbGUr b2xwK2RhdGV0cmVlICxmaWxlICJBIiAiQiIpICIqIEgxICU/IikpKQorICAgICAgICAgICAg IChvcmctb3ZlcnJpZGluZy1kZWZhdWx0LXRpbWUgMCkpCisJKG9yZy1jYXB0dXJlIG5pbCAi dCIpCisJKGluc2VydCAiQ2FwdHVyZSB0ZXh0IikKKwkob3JnLWNhcHR1cmUtZmluYWxpemUp KQorICAgICAgKGJ1ZmZlci1zdHJpbmcpKSkpCisgIChzaG91bGQKKyAgIChlcXVhbAorICAg ICIqIEFcbioqIEJcbioqKiAxOTY5XG4qKioqIDE5NjktMTIgRGVjZW1iZXJcbioqKioqIDE5 NjktMTItMzEgV2VkbmVzZGF5XG4qKioqKiogSDEgQ2FwdHVyZSB0ZXh0XG4qKiBDXG4qIEJc bioqIEJcbiIKKyAgICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQtaW4tZmlsZSAiKiBBXG4q KiBCXG4qKiBDXG4qIEJcbioqIEIiCisgICAgICAobGV0KiAoKGZpbGUgKGJ1ZmZlci1maWxl LW5hbWUpKQorCSAgICAgKG9yZy1jYXB0dXJlLXRlbXBsYXRlcworCSAgICAgIGAoKCJ0IiAi VG9kbyIgZW50cnkgKGZpbGUrb2xwK2RhdGV0cmVlICxmaWxlIChsYW1iZGEgKCkgJygiQSIg IkIiKSkpICIqIEgxICU/IikpKQorICAgICAgICAgICAgIChvcmctb3ZlcnJpZGluZy1kZWZh dWx0LXRpbWUgMCkpCisJKG9yZy1jYXB0dXJlIG5pbCAidCIpCisJKGluc2VydCAiQ2FwdHVy ZSB0ZXh0IikKKwkob3JnLWNhcHR1cmUtZmluYWxpemUpKQorICAgICAgKGJ1ZmZlci1zdHJp bmcpKSkpCisgIChzaG91bGQKKyAgIChlcXVhbAorICAgICIqIEFcbioqIEJcbioqKiAxOTY5 XG4qKioqIDE5NjktMTIgRGVjZW1iZXJcbioqKioqIDE5NjktMTItMzEgV2VkbmVzZGF5XG4q KioqKiogSDEgQ2FwdHVyZSB0ZXh0XG4qKiBDXG4qIEJcbioqIEJcbiIKKyAgICAob3JnLXRl c3Qtd2l0aC10ZW1wLXRleHQtaW4tZmlsZSAiKiBBXG4qKiBCXG4qKiBDXG4qIEJcbioqIEIi CisgICAgICAobGV0KiAoKGZpbGUgKGJ1ZmZlci1maWxlLW5hbWUpKQorCSAgICAgKG9yZy1j YXB0dXJlLXRlbXBsYXRlcworCSAgICAgIGAoKCJ0IiAiVG9kbyIgZW50cnkgKGZpbGUrb2xw K2RhdGV0cmVlICxmaWxlIHRlc3Qtb3JnLWNhcHR1cmUvZW50cnkvZmlsZStvbHArZGF0ZXRy ZWUpICIqIEgxICU/IikpKQorICAgICAgICAgICAgIChvcmctb3ZlcnJpZGluZy1kZWZhdWx0 LXRpbWUgMCkpCisgICAgICAgIChzZXRxIHRlc3Qtb3JnLWNhcHR1cmUvZW50cnkvZmlsZStv bHArZGF0ZXRyZWUgJygiQSIgIkIiKSkKKwkob3JnLWNhcHR1cmUgbmlsICJ0IikKKwkoaW5z ZXJ0ICJDYXB0dXJlIHRleHQiKQorCShvcmctY2FwdHVyZS1maW5hbGl6ZSkKKyAgICAgICAg KG1ha3VuYm91bmQgJ3Rlc3Qtb3JnLWNhcHR1cmUvZW50cnkvZmlsZStvbHArZGF0ZXRyZWUp KQorICAgICAgKGJ1ZmZlci1zdHJpbmcpKSkpCiAgIDs7IENvcnJlY3RseSBzYXZlIHBvc2l0 aW9uIG9mIGluc2VydGVkIGVudHJ5LgogICAoc2hvdWxkCiAgICAoZXF1YWwKQEAgLTgwOSw1 ICs5MDYsMzYgQEAgYmVmb3JlXG5nbG9iYWwtYmVmb3JlXG5hZnRlclxuZ2xvYmFsLWFmdGVy IgogICAgICAgICAgICAgICAob3JnLWNhcHR1cmUgbmlsICJ0IikKICAgICAgICAgICAgICAg KGJ1ZmZlci1zdHJpbmcpKSkpKSkKIAorKGVydC1kZWZ0ZXN0IHRlc3Qtb3JnLWNhcHR1cmUv b3JnLWNhcHR1cmUtZXhwYW5kLW9scCAoKQorICAiVGVzdCBvcmctY2FwdHVyZS1leHBhbmQt b2xwLiIKKyAgOzsgb3JnLWNhcHR1cmUtZXhwYW5kLW9scCBhY2NlcHRzIGlubGluZWQgb3V0 bGluZSBwYXRoCisgIChzaG91bGQKKyAgIChlcXVhbAorICAgICcoIkEiICJCIiAiQyIpCisg ICAgKGxldCAoKGZpbGUgKG1ha2UtdGVtcC1maWxlICJvcmctdGVzdCIpKSkKKyAgICAgICh1 bndpbmQtcHJvdGVjdAorICAgICAgICAgIChvcmctY2FwdHVyZS1leHBhbmQtb2xwIGZpbGUg IkEiICJCIiAiQyIpCisgICAgICAgIChkZWxldGUtZmlsZSBmaWxlKSkpKSkKKyAgOzsgVGhl IGN1cnJlbnQgYnVmZmVyIGR1cmluZyB0aGUgZnVuY2FsbCBvZiB0aGUgbGFtYmRhIGlzIHRo ZSB0ZW1wb3JhcnkgdGVzdCBmaWxlCisgIChzaG91bGQKKyAgIChsZXQgKChmaWxlIChtYWtl LXRlbXAtZmlsZSAib3JnLXRlc3QiKSkpCisgICAgIChlcXVhbAorICAgICAgZmlsZQorICAg ICAgKHVud2luZC1wcm90ZWN0CisgICAgICAgICAgKG9yZy1jYXB0dXJlLWV4cGFuZC1vbHAg ZmlsZSAobGFtYmRhICgpIChidWZmZXItZmlsZS1uYW1lIChjdXJyZW50LWJ1ZmZlcikpKSkK KyAgICAgICAgKGRlbGV0ZS1maWxlIGZpbGUpKSkpKSkKKworKGVydC1kZWZ0ZXN0IHRlc3Qt b3JnLWNhcHR1cmUvb3JnLWNhcHR1cmUtZXhwYW5kLW9scC1ub3QtaW5saW5lZC1zdHJpbmdz ICgpCisgICJUZXN0IG9yZy1jYXB0dXJlLWV4cGFuZC1vbHAgd2hlbiBpbmNvcnJlY3Qgb2xw IGFyZ3VtZW50IGlzIHBhc3NlZC4iCisgIDpleHBlY3RlZC1yZXN1bHQgOmZhaWxlZAorICA7 OyBvcmctY2FwdHVyZS1leHBhbmQtb2xwIHJlamVjdHMgbm90IGlubGluZWQgb3V0bGluZSBw YXRoCisgIChzaG91bGQKKyAgIChlcXVhbAorICAgICcoIkEiICJCIiAiQyIpCisgICAgKGxl dCAoKGZpbGUgKG1ha2UtdGVtcC1maWxlICJvcmctdGVzdCIpKSkKKyAgICAgICh1bndpbmQt cHJvdGVjdAorICAgICAgICAgIChvcmctY2FwdHVyZS1leHBhbmQtb2xwIGZpbGUgJygiQSIg IkIiICJDIikpCisgICAgICAgIChkZWxldGUtZmlsZSBmaWxlKSkpKSkpCisKIChwcm92aWRl ICd0ZXN0LW9yZy1jYXB0dXJlKQogOzs7IHRlc3Qtb3JnLWNhcHR1cmUuZWwgZW5kcyBoZXJl Ci0tIAoyLjQyLjAKCg== --------------Bm9scLcHj7Jj2QRS0m5968qF--