From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id IJXlBUOVxGUn6gAA62LTzQ:P1 (envelope-from ) for ; Thu, 08 Feb 2024 09:48:03 +0100 Received: from aspmx1.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1.migadu.com with LMTPS id IJXlBUOVxGUn6gAA62LTzQ (envelope-from ) for ; Thu, 08 Feb 2024 09:48:03 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=ricklupton.name header.s=fm2 header.b="V QOoLr7"; dkim=pass header.d=messagingengine.com header.s=fm3 header.b=V9KIPwNG; dmarc=pass (policy=none) header.from=ricklupton.name; 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=1707382083; a=rsa-sha256; cv=none; b=N5Di8MAVWlNoe8V/ne6RgI7W56GeBZCJZH7Qlq0q7jx83adWHgiP0w65aemh3/DQEaMe8B 8QyqJzpU+Xr3fYXIFghrQjx9HYx+vT/cf6aZ5hGTGtzJUieLZudzgS969rG4zBwhrJrK1T UsiQr2axrDBcFsqnHEG6ujWJ0CqLsK3FlRKB5zCC+TRgmk3UszJ02I3qw2bVUSsEBZOMBu 1UHell7RvCDnSdFfBEpzHxXeCJIZz9MG0Lvpw2GZM5abQoWR0FPIKBtxvRbj5cM3F14R3z 3xT1uoTCa8j5bZKh6ycalMRMPOTcRGo8KxhmowufQX6UeLUWRJiVoh7L0/aqlA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=ricklupton.name header.s=fm2 header.b="V QOoLr7"; dkim=pass header.d=messagingengine.com header.s=fm3 header.b=V9KIPwNG; dmarc=pass (policy=none) header.from=ricklupton.name; 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=1707382083; 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=EYSd1hzjXc+H+fHzMNGzv1XP2wIjK5Gd8npZTpmCZ7s=; b=Uh0zEPRA7bTBumvpXWf+vfxQ4ZearjKIbaKUKoQobZI5zVfnfeRU/f0Fd2lvHtXRC8/yF5 pfMcQhB7DSQobBaoSnVIMw+3Z03XMUsupxFjeTAVdRYwCCoAQXR9pUJ5F5VtgEs9Zko/oo CGDQ5WLflKLbh/CQgG6U4yyfHWrW6/yllT5HJVlzXHes8tBem9+lugxYkB0CGo1PM5X8MO xaDonvM35YbAZDoz1WpnFIig61ZnqymbiGDqVwdZC0z5PYl0HrSL6t5UmNqf8AJTqEfwbq qhJ/zMrCShX7Jq/tJDbyVzDH/TUBeQIQEYbgy4pFXauS7QZJ8lPEsEODqC9jcw== 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 954EC6DED3 for ; Thu, 8 Feb 2024 09:48:02 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rY044-0004xP-D4; Thu, 08 Feb 2024 03:47:25 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rY03z-0004wo-PP for emacs-orgmode@gnu.org; Thu, 08 Feb 2024 03:47:21 -0500 Received: from wfhigh3-smtp.messagingengine.com ([64.147.123.154]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rY03u-0001xo-7I for emacs-orgmode@gnu.org; Thu, 08 Feb 2024 03:47:16 -0500 Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailfhigh.west.internal (Postfix) with ESMTP id 4C1481800062; Thu, 8 Feb 2024 03:47:12 -0500 (EST) Received: from imap50 ([10.202.2.100]) by compute2.internal (MEProxy); Thu, 08 Feb 2024 03:47:12 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ricklupton.name; h=cc:cc:content-type:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to; s=fm2; t=1707382031; x= 1707468431; bh=EYSd1hzjXc+H+fHzMNGzv1XP2wIjK5Gd8npZTpmCZ7s=; b=V QOoLr7ilH8Cc8UiTdRGoDGaxbzLanIG5xNNnRhkOlHRqINg7REOSqZRbjPNRTrn8 enjt0h8M7qgt8RFeTFvRg0Cv9IxWrv71Eqn8XO/Iyja1n7UFm6bjvppxH0T59duU ZgAEAOUKgR+ZnGJpygmRGLQJwMSsiaW0KoTmxHhIOZwbScFh4+udZZfJbECZtUH+ taDz1d9DSeYkA32III+zXREs40OlBXMzE8acRXGJ7F7HbzOEG1QKPdbN3LGdk5FV 4doTAWXEioEo7ptWLOXV9wlwiX5JzDrqzjmi4jEQyFXlTMj7RAK4QaEKvuYRsbhq YNb4sET9/Woi419sdpwGg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; t=1707382031; x=1707468431; bh=EYSd1hzjXc+H+fHzMNGzv1XP2wIj K5Gd8npZTpmCZ7s=; b=V9KIPwNGjw3lv6IhL/CRGPKkr6R74r7DNg9hEuka1iGT VPu4Rc58/7bfJOVgOaZIYLteDhPXBve4D1K8EKWAu9kNHR9DRmNRZJ2170ANU355 Vz72g91Mj9kkghJNv8ZwSOF9jHP3ZM/Bt2T0dcjXDgakgF0gSAJrypJ5VJHUHN4T lH1S8htDFJ44gdGGfaTXsvGySNSRIU4Fx0E1FzzBPWqrkkDHBAv+DE+7TzCcPvFC 2cs7yBCYC60DHC3vRkOnGMJyTbc1+NaK3T7q1tHT7YxUg0Vfw+I+BJ5ZSMhmIPcf LUHJraVwJpVUUALZlzuYETMpJ83aLXyRnWZesqImaA== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrtdefgdduvdegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefofgggkfgjfhffhffvvefutgesmh dtreerreertdenucfhrhhomhepfdftihgtkhcunfhuphhtohhnfdcuoehmrghilhesrhhi tghklhhuphhtohhnrdhnrghmvgeqnecuggftrfgrthhtvghrnheptddukeeuffevgfeuie ektdffueejvdfhvedtteegvdejteejfedtieehjefgueeunecuvehluhhsthgvrhfuihii vgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrihhlsehrihgtkhhluhhpthhonh drnhgrmhgv X-ME-Proxy: Feedback-ID: i0143436f:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 8F4EC1700093; Thu, 8 Feb 2024 03:47:11 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.11.0-alpha0-144-ge5821d614e-fm-20240125.002-ge5821d61 MIME-Version: 1.0 Message-Id: <2a4b236c-c377-4493-b5ed-632c5518d514@app.fastmail.com> In-Reply-To: <87cytdithi.fsf@localhost> References: <118435e8-0b20-46fd-af6a-88de8e19fac6@app.fastmail.com> <87edkwsafe.fsf@localhost> <87cywh2ad6.fsf@localhost> <87jzpmqiy0.fsf@localhost> <2cdfefbf-e9e3-4aeb-a410-1ff3a9d6168e@app.fastmail.com> <87zfybzkul.fsf@localhost> <3c5737c8-f489-4144-a27f-c0e0527c79c0@app.fastmail.com> <87bkaqcjpz.fsf@localhost> <87msu7r902.fsf@localhost> <1b50d1a4-8573-4dcc-9427-8970f67e632a@app.fastmail.com> <87r0i0mgzi.fsf@localhost> <70c0e6fb-3e9f-4b84-8d00-1b1e62ec19d0@app.fastmail.com> <87cytdithi.fsf@localhost> Date: Thu, 08 Feb 2024 08:46:51 +0000 From: "Rick Lupton" To: "Ihor Radchenko" Cc: "Y. E." Subject: Re: [PATCH v2] org-id: allow using parent's existing id in links to headlines Content-Type: multipart/mixed; boundary=13f999e0e77f4281a6053915a7134bfe Received-SPF: pass client-ip=64.147.123.154; envelope-from=mail@ricklupton.name; helo=wfhigh3-smtp.messagingengine.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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-Scanner: mx10.migadu.com X-Spam-Score: -7.76 X-Migadu-Queue-Id: 954EC6DED3 X-Migadu-Spam-Score: -7.76 X-TUID: CxfkvT3UW5B/ --13f999e0e77f4281a6053915a7134bfe Content-Type: text/plain On Sat, 3 Feb 2024, at 1:10 PM, Ihor Radchenko wrote: > I'd prefer to avoid using global variables here. > `org-entry-property-inherited-from' dates to pre-lexical binding times > and is a potential source of subtle bugs if several `org-entry-get' > calls happen unexpectedly to the code, changing > `org-entry-property-inherited-from' multiple times. > > Instead, I suggest changing the return value of > `org-link-precise-link-target' to a list that includes marker in > addition to search string and description. Makes sense -- I changed it to work that way and it is neater. I returned simply the buffer position rather than a marker, since it is always in the current buffer, and avoids needing to worry about cleaning up the marker when finished or if not of interest. > It looks like we cannot simply rely on narrowing to determine the > created heading level. I think you're right. I have extended `org-link-search' to accept an optional argument describing the org element where newly created headings should go as subheadings. My thought was that this was not significantly more complicated than just passing the numeric level for new headings, but actually more flexible (e.g. you could if you wanted (with additional future elisp) create missing headings as part of a "To be filed" subtree within the file, rather than always at the end). Does that look ok? [is it useful to keep attaching the unchanged first patch so they are available as a set?] Thanks Rick --13f999e0e77f4281a6053915a7134bfe Content-Disposition: attachment; filename*0="0001-lisp-org.el-org-insert-heading-allow-specifying-head.pat"; filename*1="ch" Content-Type: application/octet-stream; name="=?UTF-8?Q?0001-lisp-org.el-org-insert-heading-allow-specifying-head.patc?= =?UTF-8?Q?h?=" Content-Transfer-Encoding: BASE64 RnJvbSAxZjliNzc2NTQ4YmFjYTEzMDMyYTA3ODE1MGI3OWY0ZDZiODI3YzcxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSaWNrIEx1cHRvbiA8bWFpbEByaWNrbHVwdG9uLm5h bWU+CkRhdGU6IFdlZCwgMyBKYW4gMjAyNCAyMjozNzozOCArMDAwMApTdWJqZWN0OiBbUEFU Q0ggMS8yXSBsaXNwL29yZy5lbCAob3JnLWluc2VydC1oZWFkaW5nKTogYWxsb3cgc3BlY2lm eWluZwogaGVhZGluZyBsZXZlbAoKKiBsaXNwL29yZy5lbCAob3JnLWluc2VydC1oZWFkaW5n KTogQ2hhbmdlIG9wdGlvbmFsIGFyZ3VtZW50IFRPUCB0bwpMRVZFTCwgYWNjZXB0aW5nIGEg bnVtYmVyIHRvIGZvcmNlIGEgc3BlY2lmaWMgaGVhZGluZyBsZXZlbC4KKiB0ZXN0aW5nL2xp c3AvdGVzdC1vcmcuZWwgKHRlc3Qtb3JnL2luc2VydC1oZWFkaW5nKTogQWRkIHRlc3RzCiog ZXRjL09SRy1ORVdTOiBEb2N1bWVudCBjaGFuZ2VzCi0tLQogZXRjL09SRy1ORVdTICAgICAg ICAgICAgIHwgIDYgKysrKysrCiBsaXNwL29yZy5lbCAgICAgICAgICAgICAgfCAyMSArKysr KysrKysrKysrKy0tLS0tLS0KIHRlc3RpbmcvbGlzcC90ZXN0LW9yZy5lbCB8IDI2ICsrKysr KysrKysrKysrKysrKysrKysrKy0tCiAzIGZpbGVzIGNoYW5nZWQsIDQ0IGluc2VydGlvbnMo KyksIDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZXRjL09SRy1ORVdTIGIvZXRjL09S Ry1ORVdTCmluZGV4IDkyZDM2M2I4MC4uOWU2OGJjZGNiIDEwMDY0NAotLS0gYS9ldGMvT1JH LU5FV1MKKysrIGIvZXRjL09SRy1ORVdTCkBAIC0xMDMzLDYgKzEwMzMsMTIgQEAgYXMgdGhl IGZ1bmN0aW9uIGNhbiBhbHNvIGFjdCBvbiBvYmplY3RzLgogCiAqKiogfm9yZy1leHBvcnQt Z2V0LXBhcmVudC1lbGVtZW50fiBpcyByZW5hbWVkIHRvIH5vcmctZWxlbWVudC1wYXJlbnQt ZWxlbWVudH4gYW5kIG1vdmVkIHRvID1saXNwL29yZy1lbGVtZW50LmVsPQogCisqKiogfm9y Zy1pbnNlcnQtaGVhZGluZ34gb3B0aW9uYWwgYXJndW1lbnQgPVRPUD0gaXMgbm93ID1MRVZF TD0KKworQSBudW1lcmljIHZhbHVlIGZvcmNlcyBhIGhlYWRpbmcgYXQgdGhhdCBsZXZlbCB0 byBiZSBpbnNlcnRlZC4gIEZvcgorYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIG5vbi1udW1l cmljIG5vbi1uaWwgdmFsdWVzIGluc2VydCBsZXZlbCAxCitoZWFkaW5ncyBhcyBiZWZvcmUu CisKICoqIE1pc2NlbGxhbmVvdXMKICoqKiA9b3JnLWNyeXB0LmVsPSBub3cgYXBwbGllcyBp bml0aWFsIHZpc2liaWxpdHkgc2V0dGluZ3MgdG8gZGVjcnlwdGVkIGVudHJpZXMKIApkaWZm IC0tZ2l0IGEvbGlzcC9vcmcuZWwgYi9saXNwL29yZy5lbAppbmRleCBkYTMxNWZjY2IuLjU0 NzQ4ZjQ5NSAxMDA2NDQKLS0tIGEvbGlzcC9vcmcuZWwKKysrIGIvbGlzcC9vcmcuZWwKQEAg LTYzNjQsNyArNjM2NCw3IEBAIGhlYWRsaW5lIGluc3RlYWQgb2YgY3VycmVudCBvbmUuIgog ICAgIChgKGhlYWRpbmcgLiAsdmFsdWUpIHZhbHVlKQogICAgIChfIG5pbCkpKQogCi0oZGVm dW4gb3JnLWluc2VydC1oZWFkaW5nICgmb3B0aW9uYWwgYXJnIGludmlzaWJsZS1vayB0b3Ap CisoZGVmdW4gb3JnLWluc2VydC1oZWFkaW5nICgmb3B0aW9uYWwgYXJnIGludmlzaWJsZS1v ayBsZXZlbCkKICAgIkluc2VydCBhIG5ldyBoZWFkaW5nIG9yIGFuIGl0ZW0gd2l0aCB0aGUg c2FtZSBkZXB0aCBhdCBwb2ludC4KIAogSWYgcG9pbnQgaXMgYXQgdGhlIGJlZ2lubmluZyBv ZiBhIGhlYWRpbmcsIGluc2VydCBhIG5ldyBoZWFkaW5nCkBAIC02MzkzLDEyICs2MzkzLDE5 IEBAIFdoZW4gSU5WSVNJQkxFLU9LIGlzIHNldCwgc3RvcCBhdCBpbnZpc2libGUgaGVhZGxp bmVzIHdoZW4gZ29pbmcKIGJhY2suICBUaGlzIGlzIGltcG9ydGFudCBmb3Igbm9uLWludGVy YWN0aXZlIHVzZXMgb2YgdGhlCiBjb21tYW5kLgogCi1XaGVuIG9wdGlvbmFsIGFyZ3VtZW50 IFRPUCBpcyBub24tbmlsLCBpbnNlcnQgYSBsZXZlbCAxIGhlYWRpbmcsCi11bmNvbmRpdGlv bmFsbHkuIgorV2hlbiBvcHRpb25hbCBhcmd1bWVudCBMRVZFTCBpcyBhIG51bWJlciwgaW5z ZXJ0IGEgaGVhZGluZyBhdAordGhhdCBsZXZlbC4gIEZvciBiYWNrd2FyZHMgY29tcGF0aWJp bGl0eSwgd2hlbiBMRVZFTCBpcyBub24tbmlsCitidXQgbm90IGEgbnVtYmVyLCBpbnNlcnQg YSBsZXZlbC0xIGhlYWRpbmcuIgogICAoaW50ZXJhY3RpdmUgIlAiKQogICAobGV0KiAoKGJs YW5rPyAob3JnLS1ibGFuay1iZWZvcmUtaGVhZGluZy1wIChlcXVhbCBhcmcgJygxNikpKSkK LQkgKGxldmVsIChvcmctY3VycmVudC1sZXZlbCkpCi0JIChzdGFycyAobWFrZS1zdHJpbmcg KGlmIChhbmQgbGV2ZWwgKG5vdCB0b3ApKSBsZXZlbCAxKSA/KikpKQorICAgICAgICAgKGN1 cnJlbnQtbGV2ZWwgKG9yZy1jdXJyZW50LWxldmVsKSkKKyAgICAgICAgIChudW0tc3RhcnMg KG9yCisgICAgICAgICAgICAgICAgICAgICA7OyBCYWNrd2FyZHMgY29tcGF0OiBpZiBMRVZF TCBub24tbmlsLCBsZXZlbCBpcyAxCisgICAgICAgICAgICAgICAgICAgICAoYW5kIGxldmVs IChpZiAod2hvbGVudW1wIGxldmVsKSBsZXZlbCAxKSkKKyAgICAgICAgICAgICAgICAgICAg IGN1cnJlbnQtbGV2ZWwKKyAgICAgICAgICAgICAgICAgICAgIDs7IFRoaXMgYDEnIGlzIGZv ciB3aGVuIGJlZm9yZSBmaXJzdCBoZWFkbGluZQorICAgICAgICAgICAgICAgICAgICAgMSkp CisgICAgICAgICAoc3RhcnMgKG1ha2Utc3RyaW5nIG51bS1zdGFycyA/KikpKQogICAgIChj b25kCiAgICAgICgob3Igb3JnLWluc2VydC1oZWFkaW5nLXJlc3BlY3QtY29udGVudAogCSAg KG1lbWJlciBhcmcgJygoNCkgKDE2KSkpCkBAIC02NDA3LDcgKzY0MTQsNyBAQCB1bmNvbmRp dGlvbmFsbHkuIgogICAgICAgOzsgUG9zaXRpb24gcG9pbnQgYXQgdGhlIGxvY2F0aW9uIG9m IGluc2VydGlvbi4gIE1ha2Ugc3VyZSB3ZQogICAgICAgOzsgZW5kIHVwIG9uIGEgdmlzaWJs ZSBoZWFkbGluZSBpZiBJTlZJU0lCTEUtT0sgaXMgbmlsLgogICAgICAgKG9yZy13aXRoLWxp bWl0ZWQtbGV2ZWxzCi0gICAgICAgKGlmIChub3QgbGV2ZWwpIChvdXRsaW5lLW5leHQtaGVh ZGluZykgO2JlZm9yZSBmaXJzdCBoZWFkbGluZQorICAgICAgIChpZiAobm90IGN1cnJlbnQt bGV2ZWwpIChvdXRsaW5lLW5leHQtaGVhZGluZykgO2JlZm9yZSBmaXJzdCBoZWFkbGluZQog CSAob3JnLWJhY2stdG8taGVhZGluZyBpbnZpc2libGUtb2spCiAJICh3aGVuIChlcXVhbCBh cmcgJygxNikpIChvcmctdXAtaGVhZGluZy1zYWZlKSkKIAkgKG9yZy1lbmQtb2Ytc3VidHJl ZSBpbnZpc2libGUtb2sgJ3RvLWhlYWRpbmcpKSkKQEAgLTY0MjAsNyArNjQyNyw3IEBAIHVu Y29uZGl0aW9uYWxseS4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgIChvcmctYmVmb3Jl LWZpcnN0LWhlYWRpbmctcCkpKQogICAgICAgICAoaW5zZXJ0ICJcbiIpCiAgICAgICAgIChi YWNrd2FyZC1jaGFyKSkKLSAgICAgICh3aGVuIChhbmQgKG5vdCBsZXZlbCkgKG5vdCAoZW9i cCkpIChub3QgKGJvYnApKSkKKyAgICAgICh3aGVuIChhbmQgKG5vdCBjdXJyZW50LWxldmVs KSAobm90IChlb2JwKSkgKG5vdCAoYm9icCkpKQogICAgICAgICAod2hlbiAob3JnLWF0LWhl YWRpbmctcCkgKGluc2VydCAiXG4iKSkKICAgICAgICAgKGJhY2t3YXJkLWNoYXIpKQogICAg ICAgKHVubGVzcyAoYW5kIGJsYW5rPyAob3JnLXByZXZpb3VzLWxpbmUtZW1wdHktcCkpCmRp ZmYgLS1naXQgYS90ZXN0aW5nL2xpc3AvdGVzdC1vcmcuZWwgYi90ZXN0aW5nL2xpc3AvdGVz dC1vcmcuZWwKaW5kZXggODIyY2JjNjdhLi5mYzUwZGM3ODcgMTAwNjQ0Ci0tLSBhL3Rlc3Rp bmcvbGlzcC90ZXN0LW9yZy5lbAorKysgYi90ZXN0aW5nL2xpc3AvdGVzdC1vcmcuZWwKQEAg LTE5ODAsOCArMTk4MCwzMCBAQCBDTE9DSzogWzIwMjItMDktMTcgc2FtLiAxMTowMF0tLVsy MDIyLTA5LTE3IHNhbS4gMTE6NDZdID0+ICAwOjQ2IgogCSAgICAobGV0ICgob3JnLWluc2Vy dC1oZWFkaW5nLXJlc3BlY3QtY29udGVudCBuaWwpKQogCSAgICAgIChvcmctaW5zZXJ0LWhl YWRpbmcgJygxNikpKQogCSAgICAoYnVmZmVyLXN0cmluZykpKSkKLSAgOzsgV2hlbiBvcHRp b25hbCBUT1AtTEVWRUwgYXJndW1lbnQgaXMgbm9uLW5pbCwgYWx3YXlzIGluc2VydAotICA7 OyBhIGxldmVsIDEgaGVhZGluZy4KKyAgOzsgV2hlbiBvcHRpb25hbCBMRVZFTCBhcmd1bWVu dCBpcyBhIG51bWJlciwgaW5zZXJ0IGEgaGVhZGluZyBhdAorICA7OyB0aGF0IGxldmVsLgor ICAoc2hvdWxkCisgICAoZXF1YWwgIiogSDFcbioqIEgyXG4qICIKKwkgIChvcmctdGVzdC13 aXRoLXRlbXAtdGV4dCAiKiBIMVxuKiogSDI8cG9pbnQ+IgorCSAgICAob3JnLWluc2VydC1o ZWFkaW5nIG5pbCBuaWwgMSkKKwkgICAgKGJ1ZmZlci1zdHJpbmcpKSkpCisgIChzaG91bGQK KyAgIChlcXVhbCAiKiBIMVxuKiogSDJcbioqICIKKwkgIChvcmctdGVzdC13aXRoLXRlbXAt dGV4dCAiKiBIMVxuKiogSDI8cG9pbnQ+IgorCSAgICAob3JnLWluc2VydC1oZWFkaW5nIG5p bCBuaWwgMikKKwkgICAgKGJ1ZmZlci1zdHJpbmcpKSkpCisgIChzaG91bGQKKyAgIChlcXVh bCAiKiBIMVxuKiogSDJcbioqKiAiCisJICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQgIiog SDFcbioqIEgyPHBvaW50PiIKKwkgICAgKG9yZy1pbnNlcnQtaGVhZGluZyBuaWwgbmlsIDMp CisJICAgIChidWZmZXItc3RyaW5nKSkpKQorICAoc2hvdWxkCisgICAoZXF1YWwgIiogSDFc bi0gaXRlbVxuKiAiCisJICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQgIiogSDFcbi0gaXRl bTxwb2ludD4iCisJICAgIChvcmctaW5zZXJ0LWhlYWRpbmcgbmlsIG5pbCAxKQorCSAgICAo YnVmZmVyLXN0cmluZykpKSkKKyAgOzsgV2hlbiBvcHRpb25hbCBMRVZFTCBhcmd1bWVudCBp cyBub24tbmlsLCBhbHdheXMgaW5zZXJ0IGEgbGV2ZWwgMQorICA7OyBoZWFkaW5nLgogICAo c2hvdWxkCiAgICAoZXF1YWwgIiogSDFcbioqIEgyXG4qICIKIAkgIChvcmctdGVzdC13aXRo LXRlbXAtdGV4dCAiKiBIMVxuKiogSDI8cG9pbnQ+IgotLSAKMi4zNy4xIChBcHBsZSBHaXQt MTM3LjEpCgo= --13f999e0e77f4281a6053915a7134bfe Content-Disposition: attachment; filename*0="0002-org-id.el-Add-search-strings-inherit-parent-IDs.patch" Content-Type: application/octet-stream; name="=?UTF-8?Q?0002-org-id.el-Add-search-strings-inherit-parent-IDs.patch?=" Content-Transfer-Encoding: BASE64 RnJvbSBkNTc1OWRkOTViZWM4OGJlMzhkZGJkZTA3ZmE0NDM3YzA1Mjg0NjlhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSaWNrIEx1cHRvbiA8bWFpbEByaWNrbHVwdG9uLm5h bWU+CkRhdGU6IFN1biwgMTkgTm92IDIwMjMgMTQ6NTI6MDUgKzAwMDAKU3ViamVjdDogW1BB VENIIDIvMl0gb3JnLWlkLmVsOiBBZGQgc2VhcmNoIHN0cmluZ3MsIGluaGVyaXQgcGFyZW50 IElEcwoKKiBsaXNwL29sLmVsIChvcmctc3RvcmUtbGluayk6IFJlZmFjdG9yIG9yZy1pZCBs aW5rcyB0byB1c2Ugc3RhbmRhcmQKYG9yZy1zdG9yZS1saW5rLWZ1bmN0aW9ucycuCihvcmct bGluay1zZWFyY2gpOiBDcmVhdGUgbmV3IGhlYWRpbmdzIGF0IGFwcHJvcHJpYXRlIGxldmVs Lgoob3JnLWxpbmstcHJlY2lzZS1saW5rLXRhcmdldCk6IE5ldyBmdW5jdGlvbiBleHRyYWN0 aW5nIGxvZ2ljIHRvCmlkZW50aWZ5IGEgcHJlY2lzZSBsaW5rIHRhcmdldCwgZS5nLiBhIGhl YWRpbmcsIG5hbWVkIG9iamVjdCwgb3IgdGV4dApzZWFyY2guCihvcmctbGluay10cnktbGlu ay1zdG9yZS1mdW5jdGlvbnMpOiBFeHRyYWN0IGxvZ2ljIHRvIGNhbGwgZXh0ZXJuYWwKbGlu ayBzdG9yZSBmdW5jdGlvbnMuIFBhc3MgdGhlbSBhIG5ldyBgaW50ZXJhY3RpdmU/JyBhcmd1 bWVudC4KKiBsaXNwL29sLWJiZGIuZWwgKG9yZy1iYmRiLXN0b3JlLWxpbmspOgoqIGxpc3Av b2wtYmlidGV4LmVsIChvcmctYmlidGV4LXN0b3JlLWxpbmspOgoqIGxpc3Avb2wtZG9jdmll dy5lbCAob3JnLWRvY3ZpZXctc3RvcmUtbGluayk6CiogbGlzcC9vbC1lc2hlbGwuZWwgKG9y Zy1lc2hlbGwtc3RvcmUtbGluayk6CiogbGlzcC9vbC1ld3cuZWwgKG9yZy1ld3ctc3RvcmUt bGluayk6CiogbGlzcC9vbC1nbnVzLmVsIChvcmctZ251cy1zdG9yZS1saW5rKToKKiBsaXNw L29sLWluZm8uZWwgKG9yZy1pbmZvLXN0b3JlLWxpbmspOgoqIGxpc3Avb2wtaXJjLmVsIChv cmctaXJjLXN0b3JlLWxpbmspOgoqIGxpc3Avb2wtbWFuLmVsIChvcmctbWFuLXN0b3JlLWxp bmspOgoqIGxpc3Avb2wtbWhlLmVsIChvcmctbWhlLXN0b3JlLWxpbmspOgoqIGxpc3Avb2wt cm1haWwuZWwgKG9yZy1ybWFpbC1zdG9yZS1saW5rKTogQWNjZXB0IG9wdGlvbmFsIGFyZy4K KiBsaXNwL29yZy1pZC5lbCAob3JnLWlkLWxpbmstY29uc2lkZXItcGFyZW50LWlkKTogTmV3 IG9wdGlvbiB0byBhbGxvdwphIHBhcmVudCBoZWFkaW5nIHdpdGggYW4gaWQgdG8gYmUgY29u c2lkZXJlZCBhcyBhIGxpbmsgdGFyZ2V0Lgoob3JnLWlkLWxpbmstdXNlLWNvbnRleHQpOiBO ZXcgb3B0aW9uIHRvIGFkZCBjb250ZXh0IHRvIG9yZy1pZCBsaW5rcy4KKG9yZy1pZC1nZXQp OiBBZGQgb3B0aW9uYWwgYGluaGVyaXQnIGFyZ3VtZW50IHdoaWNoIGNvbnNpZGVycyBwYXJl bnRzJwpJRHMgaWYgdGhlIGN1cnJlbnQgZW50cnkgZG9lcyBub3QgaGF2ZSBvbmUuCihvcmct aWQtc3RvcmUtbGluayk6IENvbnNpZGVyIElEcyBvZiBwYXJlbnQgaGVhZGluZ3MgYXMgbGlu ayB0YXJnZXRzCndoZW4gY3VycmVudCBoZWFkaW5nIGhhcyBubyBJRCBhbmQgYG9yZy1pZC1s aW5rLWNvbnNpZGVyLXBhcmVudC1pZCcgaXMKc2V0LiBBZGQgYSBzZWFyY2ggc3RyaW5nIHRv IHRoZSBsaW5rIHdoZW4gZW5hYmxlZC4KKG9yZy1pZC1zdG9yZS1saW5rLW1heWJlKTogRnVu Y3Rpb24gc2V0IGFzIDpzdG9yZSBvcHRpb24gZm9yIGN1c3RvbSBpZApsaW5rIHByb3BlcnR5 LiBNb3ZlIGxvZ2ljIGZyb20gYG9yZy1zdG9yZS1saW5rJyBoZXJlIHRvIGRldGVybWluZSB3 aGVuCmFuIG9yZy1pZCBsaW5rIHNob3VsZCBiZSBzdG9yZWQgdXNpbmcgYG9yZy1pZC1zdG9y ZS1saW5rJy4KKG9yZy1pZC1vcGVuKTogUmVjb2duaXNlIHNlYXJjaCBzdHJpbmdzIGFmdGVy ICI6OiIgaW4gb3JnLWlkIGxpbmtzLgoqIGxpc3Avb3JnLWxpbnQuZWw6IGFkZCBjaGVja2Vy IGZvciAiOjoiIGluIElEIHByb3BlcnRpZXMuCiogdGVzdGluZy9saXNwL3Rlc3Qtb2wuZWw6 IEFkZCB0ZXN0cyBmb3IKYG9yZy1saW5rLXByZWNpc2UtbGluay10YXJnZXQnIGFuZCBgb3Jn LWlkLXN0b3JlLWxpbmsnIGZ1bmN0aW9ucywKdGVzdGluZyBuZXcgb3B0aW9ucy4KKiBkb2Mv b3JnLW1hbnVhbC5vcmc6IFVwZGF0ZSBkb2N1bWVudGF0aW9uIGFib3V0IGxpbmtzLgoqIGV0 Yy9PUkctTkVXUzogRG9jdW1lbnQgY2hhbmdlcyBhbmQgbmV3IG9wdGlvbnMuCgpUaGVzZSBm ZWF0dXJlIGFsbG93cyBmb3IgbW9yZSBwcmVjaXNlIGxpbmtzIHdoZW4gdXNpbmcgb3JnLWlk IHRvIGxpbmsgdG8Kb3JnIGhlYWRpbmdzLCB3aXRob3V0IHJlcXVpcmluZyBldmVyeSBzaW5n bGUgaGVhZGxpbmUgdG8gaGF2ZSBhbiBpZC4KCkxpbms6IGh0dHBzOi8vbGlzdC5vcmdtb2Rl Lm9yZy8xMTg0MzVlOC0wYjIwLTQ2ZmQtYWY2YS04OGRlOGUxOWZhYzZAYXBwLmZhc3RtYWls LmNvbS8KLS0tCiBkb2Mvb3JnLW1hbnVhbC5vcmcgICAgICB8IDEzMyArKysrKysrKysrLS0t LS0tLQogZXRjL09SRy1ORVdTICAgICAgICAgICAgfCAgNjQgKysrKysrKysKIGxpc3Avb2wt YmJkYi5lbCAgICAgICAgIHwgICAyICstCiBsaXNwL29sLWJpYnRleC5lbCAgICAgICB8ICAg MiArLQogbGlzcC9vbC1kb2N2aWV3LmVsICAgICAgfCAgIDIgKy0KIGxpc3Avb2wtZXNoZWxs LmVsICAgICAgIHwgICAyICstCiBsaXNwL29sLWV3dy5lbCAgICAgICAgICB8ICAgMiArLQog bGlzcC9vbC1nbnVzLmVsICAgICAgICAgfCAgIDIgKy0KIGxpc3Avb2wtaW5mby5lbCAgICAg ICAgIHwgICAyICstCiBsaXNwL29sLWlyYy5lbCAgICAgICAgICB8ICAgMiArLQogbGlzcC9v bC1tYW4uZWwgICAgICAgICAgfCAgIDIgKy0KIGxpc3Avb2wtbWhlLmVsICAgICAgICAgIHwg ICAyICstCiBsaXNwL29sLXJtYWlsLmVsICAgICAgICB8ICAgMiArLQogbGlzcC9vbC5lbCAg ICAgICAgICAgICAgfCAzMjQgKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t LS0tLQogbGlzcC9vcmctaWQuZWwgICAgICAgICAgfCAxNzggKysrKysrKysrKysrKysrKysr Ky0tLQogbGlzcC9vcmctbGludC5lbCAgICAgICAgfCAgMTYgKysKIHRlc3RpbmcvbGlzcC90 ZXN0LW9sLmVsIHwgMTIyICsrKysrKysrKysrKysrKwogMTcgZmlsZXMgY2hhbmdlZCwgNjU1 IGluc2VydGlvbnMoKyksIDIwNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvb3Jn LW1hbnVhbC5vcmcgYi9kb2Mvb3JnLW1hbnVhbC5vcmcKaW5kZXggMWEwMjVhMTM5Li40OWZj ZTkxMTMgMTAwNjQ0Ci0tLSBhL2RvYy9vcmctbWFudWFsLm9yZworKysgYi9kb2Mvb3JnLW1h bnVhbC5vcmcKQEAgLTMzMDAsMTAgKzMzMDAsNiBAQCBIZXJlIGlzIHRoZSBmdWxsIHNldCBv ZiBidWlsdC1pbiBsaW5rIHR5cGVzOgogCiAgIEZpbGUgbGlua3MuICBGaWxlIG5hbWUgbWF5 IGJlIHJlbW90ZSwgYWJzb2x1dGUsIG9yIHJlbGF0aXZlLgogCi0gIEFkZGl0aW9uYWxseSwg eW91IGNhbiBzcGVjaWZ5IGEgbGluZSBudW1iZXIsIG9yIGEgdGV4dCBzZWFyY2guCi0gIElu IE9yZyBmaWxlcywgeW91IG1heSBsaW5rIHRvIGEgaGVhZGxpbmUgbmFtZSwgYSBjdXN0b20g SUQsIG9yIGEKLSAgY29kZSByZWZlcmVuY2UgaW5zdGVhZC4KLQogICBBcyBhIHNwZWNpYWwg Y2FzZSwgImZpbGUiIHByZWZpeCBtYXkgYmUgb21pdHRlZCBpZiB0aGUgZmlsZSBuYW1lCiAg IGlzIGNvbXBsZXRlLCBlLmcuLCBpdCBzdGFydHMgd2l0aCA9Li89LCBvciA9Lz0uCiAKQEAg LTMzNjcsNDQgKzMzNjMsNTAgQEAgSGVyZSBpcyB0aGUgZnVsbCBzZXQgb2YgYnVpbHQtaW4g bGluayB0eXBlczoKIAogICBFeGVjdXRlIGEgc2hlbGwgY29tbWFuZCB1cG9uIGFjdGl2YXRp b24uCiAKKworRm9yID1maWxlOj0gYW5kID1pZDo9IGxpbmtzLCB5b3UgY2FuIGFkZGl0aW9u YWxseSBzcGVjaWZ5IGEgbGluZQorbnVtYmVyLCBvciBhIHRleHQgc2VhcmNoIHN0cmluZywg c2VwYXJhdGVkIGJ5ID06Oj0uICBJbiBPcmcgZmlsZXMsIHlvdQorbWF5IGxpbmsgdG8gYSBo ZWFkbGluZSBuYW1lLCBhIGN1c3RvbSBJRCwgb3IgYSBjb2RlIHJlZmVyZW5jZSBpbnN0ZWFk LgorCiBUaGUgZm9sbG93aW5nIHRhYmxlIGlsbHVzdHJhdGVzIHRoZSBsaW5rIHR5cGVzIGFi b3ZlLCBhbG9uZyB3aXRoIHRoZWlyCiBvcHRpb25zOgogCi18IExpbmsgVHlwZSAgfCBFeGFt cGxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 Ci18LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS18Ci18IGh0dHAgICAgICAgfCA9aHR0cDovL3N0YWZmLnNj aWVuY2UudXZhLm5sL2MuZG9taW5pay89ICAgICAgICAgICAgICAgICB8Ci18IGh0dHBzICAg ICAgfCA9aHR0cHM6Ly9vcmdtb2RlLm9yZy89ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8Ci18IGRvaSAgICAgICAgfCA9ZG9pOjEwLjEwMDAvMTgyPSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18IGZpbGUgICAgICAgfCA9ZmlsZTov aG9tZS9kb21pbmlrL2ltYWdlcy9qdXBpdGVyLmpwZz0gICAgICAgICAgICAgICAgICB8Ci18 ICAgICAgICAgICAgfCA9L2hvbWUvZG9taW5pay9pbWFnZXMvanVwaXRlci5qcGc9IChzYW1l IGFzIGFib3ZlKSAgICAgICB8Ci18ICAgICAgICAgICAgfCA9ZmlsZTpwYXBlcnMvbGFzdC5w ZGY9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAg fCA9Li9wYXBlcnMvbGFzdC5wZGY9IChzYW1lIGFzIGFib3ZlKSAgICAgICAgICAgICAgICAg ICAgICB8Ci18ICAgICAgICAgICAgfCA9ZmlsZTovc3NoOm1lQHNvbWUud2hlcmU6cGFwZXJz L2xhc3QucGRmPSAocmVtb3RlKSAgICAgICB8Ci18ICAgICAgICAgICAgfCA9L3NzaDptZUBz b21lLndoZXJlOnBhcGVycy9sYXN0LnBkZj0gKHNhbWUgYXMgYWJvdmUpICAgICB8Ci18ICAg ICAgICAgICAgfCA9ZmlsZTpzb21ldGV4dGZpbGU6Ok5OTj0gKGp1bXAgdG8gbGluZSBudW1i ZXIpICAgICAgICAgICB8Ci18ICAgICAgICAgICAgfCA9ZmlsZTpwcm9qZWN0cy5vcmc9ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgfCA9 ZmlsZTpwcm9qZWN0cy5vcmc6OnNvbWUgd29yZHM9ICh0ZXh0IHNlYXJjaClbZm46MTJdICAg ICB8Ci18ICAgICAgICAgICAgfCA9ZmlsZTpwcm9qZWN0cy5vcmc6Oip0YXNrIHRpdGxlPSAo aGVhZGxpbmUgc2VhcmNoKSAgICAgICB8Ci18ICAgICAgICAgICAgfCA9ZmlsZTpwcm9qZWN0 cy5vcmc6OiNjdXN0b20taWQ9IChoZWFkbGluZSBzZWFyY2gpICAgICAgICB8Ci18IGF0dGFj aG1lbnQgfCA9YXR0YWNobWVudDpwcm9qZWN0cy5vcmc9ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8Ci18ICAgICAgICAgICAgfCA9YXR0YWNobWVudDpwcm9qZWN0cy5vcmc6 OnNvbWUgd29yZHM9ICh0ZXh0IHNlYXJjaCkgICAgICB8Ci18IGRvY3ZpZXcgICAgfCA9ZG9j dmlldzpwYXBlcnMvbGFzdC5wZGY6Ok5OTj0gICAgICAgICAgICAgICAgICAgICAgICAgICB8 Ci18IGlkICAgICAgICAgfCA9aWQ6Qjc0MjNGNEQtMkU4QS00NzFCLTg4MTAtQzQwRjA3NDcx N0U5PSAgICAgICAgICAgICAgICB8Ci18IG5ld3MgICAgICAgfCA9bmV3czpjb21wLmVtYWNz PSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18IG1haWx0byAg ICAgfCA9bWFpbHRvOmFkZW50QGdhbGF4eS5uZXQ9ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8Ci18IG1oZSAgICAgICAgfCA9bWhlOmZvbGRlcj0gKGZvbGRlciBsaW5rKSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgfCA9bWhlOmZv bGRlciNpZD0gKG1lc3NhZ2UgbGluaykgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18 IHJtYWlsICAgICAgfCA9cm1haWw6Zm9sZGVyPSAoZm9sZGVyIGxpbmspICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgfCA9cm1haWw6Zm9sZGVyI2lkPSAo bWVzc2FnZSBsaW5rKSAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18IGdudXMgICAgICAg fCA9Z251czpncm91cD0gKGdyb3VwIGxpbmspICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8Ci18ICAgICAgICAgICAgfCA9Z251czpncm91cCNpZD0gKGFydGljbGUgbGluaykg ICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18IGJiZGIgICAgICAgfCA9YmJkYjpSLipT dGFsbG1hbj0gKHJlY29yZCB3aXRoIHJlZ2V4cCkgICAgICAgICAgICAgICAgICB8Ci18IGly YyAgICAgICAgfCA9aXJjOi9pcmMuY29tLyNlbWFjcy9ib2I9ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8Ci18IGhlbHAgICAgICAgfCA9aGVscDpvcmctc3RvcmUtbGluaz0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18IGluZm8gICAgICAgfCA9 aW5mbzpvcmcjRXh0ZXJuYWwgbGlua3M9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8Ci18IHNoZWxsICAgICAgfCA9c2hlbGw6bHMgKi5vcmc9ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8Ci18IGVsaXNwICAgICAgfCA9ZWxpc3A6KGZpbmQt ZmlsZSAiRWxpc3Aub3JnIik9IChFbGlzcCBmb3JtIHRvIGV2YWx1YXRlKSB8Ci18ICAgICAg ICAgICAgfCA9ZWxpc3A6b3JnLWFnZW5kYT0gKGludGVyYWN0aXZlIEVsaXNwIGNvbW1hbmQp ICAgICAgICAgICB8Cit8IExpbmsgVHlwZSAgfCBFeGFtcGxlICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorfC0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLXwKK3wgaHR0cCAgICAgICB8ID1odHRwOi8vc3RhZmYuc2Np ZW5jZS51dmEubmwvYy5kb21pbmlrLz0gICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8 IGh0dHBzICAgICAgfCA9aHR0cHM6Ly9vcmdtb2RlLm9yZy89ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorfCBkb2kgICAgICAgIHwgPWRvaToxMC4x MDAwLzE4Mj0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwKK3wgZmlsZSAgICAgICB8ID1maWxlOi9ob21lL2RvbWluaWsvaW1hZ2VzL2p1cGl0 ZXIuanBnPSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgfCA9 L2hvbWUvZG9taW5pay9pbWFnZXMvanVwaXRlci5qcGc9IChzYW1lIGFzIGFib3ZlKSAgICAg ICAgICAgICAgICAgfAorfCAgICAgICAgICAgIHwgPWZpbGU6cGFwZXJzL2xhc3QucGRmPSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAg ICAgICB8ID0uL3BhcGVycy9sYXN0LnBkZj0gKHNhbWUgYXMgYWJvdmUpICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgfCA9ZmlsZTovc3NoOm1lQHNv bWUud2hlcmU6cGFwZXJzL2xhc3QucGRmPSAocmVtb3RlKSAgICAgICAgICAgICAgICAgfAor fCAgICAgICAgICAgIHwgPS9zc2g6bWVAc29tZS53aGVyZTpwYXBlcnMvbGFzdC5wZGY9IChz YW1lIGFzIGFib3ZlKSAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICB8ID1maWxlOnNv bWV0ZXh0ZmlsZTo6Tk5OPSAoanVtcCB0byBsaW5lIG51bWJlcikgICAgICAgICAgICAgICAg ICAgICB8Cit8ICAgICAgICAgICAgfCA9ZmlsZTpwcm9qZWN0cy5vcmc9ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorfCAgICAgICAgICAgIHwg PWZpbGU6cHJvamVjdHMub3JnOjpzb21lIHdvcmRzPSAodGV4dCBzZWFyY2gpW2ZuOjEyXSAg ICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICB8ID1maWxlOnByb2plY3RzLm9yZzo6KnRh c2sgdGl0bGU9IChoZWFkbGluZSBzZWFyY2gpICAgICAgICAgICAgICAgICB8Cit8ICAgICAg ICAgICAgfCA9ZmlsZTpwcm9qZWN0cy5vcmc6OiNjdXN0b20taWQ9IChoZWFkbGluZSBzZWFy Y2gpICAgICAgICAgICAgICAgICAgfAorfCBhdHRhY2htZW50IHwgPWF0dGFjaG1lbnQ6cHJv amVjdHMub3JnPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwK K3wgICAgICAgICAgICB8ID1hdHRhY2htZW50OnByb2plY3RzLm9yZzo6c29tZSB3b3Jkcz0g KHRleHQgc2VhcmNoKSAgICAgICAgICAgICAgICB8Cit8IGRvY3ZpZXcgICAgfCA9ZG9jdmll dzpwYXBlcnMvbGFzdC5wZGY6Ok5OTj0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfAorfCBpZCAgICAgICAgIHwgPWlkOkI3NDIzRjRELTJFOEEtNDcxQi04ODEwLUM0 MEYwNzQ3MTdFOT0gICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICB8 ID1pZDpCNzQyM0Y0RC0yRThBLTQ3MUItODgxMC1DNDBGMDc0NzE3RTk6Oip0YXNrPSAoaGVh ZGxpbmUgc2VhcmNoKSB8Cit8IG5ld3MgICAgICAgfCA9bmV3czpjb21wLmVtYWNzPSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorfCBtYWls dG8gICAgIHwgPW1haWx0bzphZGVudEBnYWxheHkubmV0PSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwKK3wgbWhlICAgICAgICB8ID1taGU6Zm9sZGVyPSAo Zm9sZGVyIGxpbmspICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 Cit8ICAgICAgICAgICAgfCA9bWhlOmZvbGRlciNpZD0gKG1lc3NhZ2UgbGluaykgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorfCBybWFpbCAgICAgIHwgPXJtYWls OmZvbGRlcj0gKGZvbGRlciBsaW5rKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwKK3wgICAgICAgICAgICB8ID1ybWFpbDpmb2xkZXIjaWQ9IChtZXNzYWdlIGxp bmspICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8IGdudXMgICAgICAg fCA9Z251czpncm91cD0gKGdyb3VwIGxpbmspICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfAorfCAgICAgICAgICAgIHwgPWdudXM6Z3JvdXAjaWQ9IChhcnRp Y2xlIGxpbmspICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgYmJk YiAgICAgICB8ID1iYmRiOlIuKlN0YWxsbWFuPSAocmVjb3JkIHdpdGggcmVnZXhwKSAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8Cit8IGlyYyAgICAgICAgfCA9aXJjOi9pcmMuY29t LyNlbWFjcy9ib2I9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fAorfCBoZWxwICAgICAgIHwgPWhlbHA6b3JnLXN0b3JlLWxpbms9ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgaW5mbyAgICAgICB8ID1pbmZv Om9yZyNFeHRlcm5hbCBsaW5rcz0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8Cit8IHNoZWxsICAgICAgfCA9c2hlbGw6bHMgKi5vcmc9ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorfCBlbGlzcCAgICAg IHwgPWVsaXNwOihmaW5kLWZpbGUgIkVsaXNwLm9yZyIpPSAoRWxpc3AgZm9ybSB0byBldmFs dWF0ZSkgICAgICAgICAgIHwKK3wgICAgICAgICAgICB8ID1lbGlzcDpvcmctYWdlbmRhPSAo aW50ZXJhY3RpdmUgRWxpc3AgY29tbWFuZCkgICAgICAgICAgICAgICAgICAgICB8CiAKICMr Y2luZGV4OiBWTSBsaW5rcwogIytjaW5kZXg6IFdhbmRlcmx1c3QgbGlua3MKQEAgLTM0NjUs OCArMzQ2Nyw5IEBAIGN1cnJlbnQgYnVmZmVyOgogLSAvT3JnIG1vZGUgYnVmZmVycy8gOjoK IAogICBGb3IgT3JnIGZpbGVzLCBpZiB0aGVyZSBpcyBhID08PHRhcmdldD4+PSBhdCBwb2lu dCwgdGhlIGxpbmsgcG9pbnRzCi0gIHRvIHRoZSB0YXJnZXQuICBPdGhlcndpc2UgaXQgcG9p bnRzIHRvIHRoZSBjdXJyZW50IGhlYWRsaW5lLCB3aGljaAotICBpcyBhbHNvIHRoZSBkZXNj cmlwdGlvbi4KKyAgdG8gdGhlIHRhcmdldC4gIElmIHRoZXJlIGlzIGEgbmFtZWQgYmxvY2sg KHVzaW5nID0jK25hbWU6PSkgYXQKKyAgcG9pbnQsIHRoZSBsaW5rIHBvaW50cyB0byB0aGF0 IG5hbWUuICBPdGhlcndpc2UgaXQgcG9pbnRzIHRvIHRoZQorICBjdXJyZW50IGhlYWRsaW5l LCB3aGljaCBpcyBhbHNvIHRoZSBkZXNjcmlwdGlvbi4KIAogICAjK3ZpbmRleDogb3JnLWlk LWxpbmstdG8tb3JnLXVzZS1pZAogICAjK2NpbmRleDogQHNhbXB7Q1VTVE9NX0lEfSwgcHJv cGVydHkKQEAgLTM0ODQsNiArMzQ4NywzMCBAQCBjdXJyZW50IGJ1ZmZlcjoKICAgdGltZXN0 YW1wLCBkZXBlbmRpbmcgb24gfm9yZy1pZC1tZXRob2R+LiAgTGF0ZXIsIHdoZW4gaW5zZXJ0 aW5nIHRoZQogICBsaW5rLCB5b3UgbmVlZCB0byBkZWNpZGUgd2hpY2ggb25lIHRvIHVzZS4K IAorICAjK3ZpbmRleDogb3JnLWlkLWxpbmstY29uc2lkZXItcGFyZW50LWlkCisgICMrdmlu ZGV4OiBvcmctaWQtbGluay11c2UtY29udGV4dAorICBXaGVuIH5vcmctaWQtbGluay1jb25z aWRlci1wYXJlbnQtaWR+IGlzIH50fiAoYW5kCisgIH5vcmctbGluay1jb250ZXh0LWZvci1m aWxlc34gYW5kIH5vcmctaWQtbGluay11c2UtY29udGV4dH4gYXJlIGJvdGgKKyAgZW5hYmxl ZCksIHBhcmVudCA9SUQ9IHByb3BlcnRpZXMgYXJlIGNvbnNpZGVyZWQuICBUaGlzIGFsbG93 cworICBsaW5raW5nIHRvIHNwZWNpZmljIHRhcmdldHMsIG5hbWVkIGJsb2Nrcywgb3IgaGVh ZGxpbmVzICh3aGljaCBtYXkKKyAgbm90IGhhdmUgYSBnbG9iYWxseSB1bmlxdWUgPUlEPSB0 aGVtc2VsdmVzKSB3aXRoaW4gdGhlIGNvbnRleHQgb2YgYQorICBwYXJlbnQgaGVhZGxpbmUg b3IgZmlsZSB3aGljaCBkb2VzLgorCisgIEZvciBleGFtcGxlLCBnaXZlbiB0aGlzIG9yZyBm aWxlIHdpdGggdGhvc2UgdmFyaWFibGVzIHNldDoKKworICAjK2JlZ2luX3NyYyBvcmcKKyAg LCogUGFyZW50CisgIDpQUk9QRVJUSUVTOgorICA6SUQ6IGFiYworICA6RU5EOgorICAsKiog Q2hpbGQgMQorICAsKiogQ2hpbGQgMgorICAjK2VuZF9zcmMKKworICBTdG9yaW5nIGEgbGlu ayB3aXRoIHBvaW50IGF0ICJDaGlsZCAxIiB3aWxsIHByb2R1Y2UgYSBsaW5rCisgID08aWQ6 YWJjOjoqQ2hpbGQgMT49LCB3aGljaCBwcmVjaXNlbHkgbGlua3MgdG8gdGhlICJDaGlsZCAx IgorICBoZWFkbGluZSBldmVuIHRob3VnaCBpdCBkb2VzIG5vdCBoYXZlIGl0cyBvd24gSUQu CisKIC0gL0VtYWlsL05ld3MgY2xpZW50czogVk0sIFJtYWlsLCBXYW5kZXJsdXN0LCBNSC1F LCBHbnVzLyA6OgogCiAgICMrdmluZGV4OiBvcmctbGluay1lbWFpbC1kZXNjcmlwdGlvbi1m b3JtYXQKQEAgLTM3NjMsNyArMzc5MCw5IEBAIHRoZSBsaW5rIGNvbXBsZXRpb24gZnVuY3Rp b24gbGlrZSB0aGlzOgogOkFMVF9USVRMRTogU2VhcmNoIE9wdGlvbnMKIDpFTkQ6CiAjK2Np bmRleDogc2VhcmNoIG9wdGlvbiBpbiBmaWxlIGxpbmtzCisjK2NpbmRleDogc2VhcmNoIG9w dGlvbiBpbiBpZCBsaW5rcwogIytjaW5kZXg6IGZpbGUgbGlua3MsIHNlYXJjaGluZworIytj aW5kZXg6IGlkIGxpbmtzLCBzZWFyY2hpbmcKICMrY2luZGV4OiBhdHRhY2htZW50IGxpbmtz LCBzZWFyY2hpbmcKIAogRmlsZSBsaW5rcyBjYW4gY29udGFpbiBhZGRpdGlvbmFsIGluZm9y bWF0aW9uIHRvIG1ha2UgRW1hY3MganVtcCB0byBhCkBAIC0zNzc1LDggKzM4MDQsOCBAQCBl eGFtcGxlLCB3aGVuIHRoZSBjb21tYW5kIH5vcmctc3RvcmUtbGlua34gY3JlYXRlcyBhIGxp bmsgKHNlZQogbGluZSBhcyBhIHNlYXJjaCBzdHJpbmcgdGhhdCBjYW4gYmUgdXNlZCB0byBm aW5kIHRoaXMgbGluZSBiYWNrIGxhdGVyCiB3aGVuIGZvbGxvd2luZyB0aGUgbGluayB3aXRo IHt7e2tiZChDLWMgQy1vKX19fS4KIAotTm90ZSB0aGF0IGFsbCBzZWFyY2ggb3B0aW9ucyBh cHBseSBmb3IgQXR0YWNobWVudCBsaW5rcyBpbiB0aGUgc2FtZQotd2F5IHRoYXQgdGhleSBh cHBseSBmb3IgRmlsZSBsaW5rcy4KK05vdGUgdGhhdCBhbGwgc2VhcmNoIG9wdGlvbnMgYXBw bHkgZm9yIEF0dGFjaG1lbnQgYW5kIElEIGxpbmtzIGluIHRoZQorc2FtZSB3YXkgdGhhdCB0 aGV5IGFwcGx5IGZvciBGaWxlIGxpbmtzLgogCiBIZXJlIGlzIHRoZSBzeW50YXggb2YgdGhl IGRpZmZlcmVudCB3YXlzIHRvIGF0dGFjaCBhIHNlYXJjaCB0byBhIGZpbGUKIGxpbmssIHRv Z2V0aGVyIHdpdGggZXhwbGFuYXRpb25zIGZvciBlYWNoOgpAQCAtMjEzNjcsNyArMjEzOTYs NyBAQCBUaGUgZm9sbG93aW5nID1vbC1tYW4uZWw9IGZpbGUgaW1wbGVtZW50cyBpdAogUEFU SCBzaG91bGQgYmUgYSB0b3BpYyB0aGF0IGNhbiBiZSB0aHJvd24gYXQgdGhlIG1hbiBjb21t YW5kLiIKICAgKGZ1bmNhbGwgb3JnLW1hbi1jb21tYW5kIHBhdGgpKQogCi0oZGVmdW4gb3Jn LW1hbi1zdG9yZS1saW5rICgpCisoZGVmdW4gb3JnLW1hbi1zdG9yZS1saW5rICgmb3B0aW9u YWwgX2ludGVyYWN0aXZlPykKICAgIlN0b3JlIGEgbGluayB0byBhIG1hbiBwYWdlLiIKICAg KHdoZW4gKG1lbXEgbWFqb3ItbW9kZSAnKE1hbi1tb2RlIHdvbWFuLW1vZGUpKQogICAgIDs7 IFRoaXMgaXMgYSBtYW4gcGFnZSwgd2UgZG8gbWFrZSB0aGlzIGxpbmsuCkBAIC0yMTQyNywx MyArMjE0NTYsMTUgQEAgQSByZXZpZXcgb2YgPW9sLW1hbi5lbD06CiAKICAgIEZvciBleGFt cGxlLCB+b3JnLW1hbi1zdG9yZS1saW5rfiBpcyByZXNwb25zaWJsZSBmb3Igc3RvcmluZyBh IGxpbmsKICAgIHdoZW4gfm9yZy1zdG9yZS1saW5rfiAoc2VlIFtbKkhhbmRsaW5nIExpbmtz XV0pIGlzIGNhbGxlZCBmcm9tIGEgYnVmZmVyCi0gICBkaXNwbGF5aW5nIGEgbWFuIHBhZ2Uu ICBJdCBmaXJzdCBjaGVja3MgaWYgdGhlIG1ham9yIG1vZGUgaXMKLSAgIGFwcHJvcHJpYXRl LiAgSWYgY2hlY2sgZmFpbHMsIHRoZSBmdW5jdGlvbiByZXR1cm5zIH5uaWx+LCB3aGljaAot ICAgbWVhbnMgaXQgaXNuJ3QgcmVzcG9uc2libGUgZm9yIGNyZWF0aW5nIGEgbGluayB0byB0 aGUgY3VycmVudAotICAgYnVmZmVyLiAgT3RoZXJ3aXNlIHRoZSBmdW5jdGlvbiBtYWtlcyBh IGxpbmsgc3RyaW5nIGJ5IGNvbWJpbmluZwotICAgdGhlID1tYW46PSBwcmVmaXggd2l0aCB0 aGUgbWFuIHRvcGljLiAgSXQgYWxzbyBwcm92aWRlcyBhIGRlZmF1bHQKLSAgIGRlc2NyaXB0 aW9uLiAgVGhlIGZ1bmN0aW9uIH5vcmctaW5zZXJ0LWxpbmt+IGNhbiBpbnNlcnQgaXQgYmFj awotICAgaW50byBhbiBPcmcgYnVmZmVyIGxhdGVyIG9uLgorICAgZGlzcGxheWluZyBhIG1h biBwYWdlLiAgSXQgaXMgcGFzc2VkIGFuIGFyZ3VtZW50IH5pbnRlcmFjdGl2ZT9+CisgICB3 aGljaCB0aGlzIGZ1bmN0aW9uIGRvZXMgbm90IHVzZSwgYnV0IG90aGVyIHN0b3JlIGZ1bmN0 aW9ucyB1c2UgdG8KKyAgIGJlaGF2ZSBkaWZmZXJlbnRseSB3aGVuIGEgbGluayBpcyBzdG9y ZWQgaW50ZXJhY3RpdmVseSBieSB0aGUgdXNlci4KKyAgIEl0IGZpcnN0IGNoZWNrcyBpZiB0 aGUgbWFqb3IgbW9kZSBpcyBhcHByb3ByaWF0ZS4gIElmIGNoZWNrIGZhaWxzLAorICAgdGhl IGZ1bmN0aW9uIHJldHVybnMgfm5pbH4sIHdoaWNoIG1lYW5zIGl0IGlzbid0IHJlc3BvbnNp YmxlIGZvcgorICAgY3JlYXRpbmcgYSBsaW5rIHRvIHRoZSBjdXJyZW50IGJ1ZmZlci4gIE90 aGVyd2lzZSB0aGUgZnVuY3Rpb24KKyAgIG1ha2VzIGEgbGluayBzdHJpbmcgYnkgY29tYmlu aW5nIHRoZSA9bWFuOj0gcHJlZml4IHdpdGggdGhlIG1hbgorICAgdG9waWMuICBJdCBhbHNv IHByb3ZpZGVzIGEgZGVmYXVsdCBkZXNjcmlwdGlvbi4gIFRoZSBmdW5jdGlvbgorICAgfm9y Zy1pbnNlcnQtbGlua34gY2FuIGluc2VydCBpdCBiYWNrIGludG8gYW4gT3JnIGJ1ZmZlciBs YXRlciBvbi4KIAogKiogQWRkaW5nIEV4cG9ydCBCYWNrZW5kcwogOlBST1BFUlRJRVM6CmRp ZmYgLS1naXQgYS9ldGMvT1JHLU5FV1MgYi9ldGMvT1JHLU5FV1MKaW5kZXggOWU2OGJjZGNi Li44NGJiYzUyNDMgMTAwNjQ0Ci0tLSBhL2V0Yy9PUkctTkVXUworKysgYi9ldGMvT1JHLU5F V1MKQEAgLTM5MCw2ICszOTAsMTQgQEAgdGltZXN0YW1wIG9iamVjdC4gIFBvc3NpYmxlIHZh bHVlczogfnRpbWVyYW5nZX4sIH5kYXRlcmFuZ2V+LCB+bmlsfi4KIH5vcmctZWxlbWVudC10 aW1lc3RhbXAtaW50ZXJwcmV0ZXJ+IHRha2VzIGludG8gYWNjb3VudCB0aGlzIHByb3BlcnR5 CiBhbmQgcmV0dXJucyBhbiBhcHByb3ByaWF0ZSB0aW1lc3RhbXAgc3RyaW5nLgogCisqKioq ID1vcmctbGluaz0gc3RvcmUgZnVuY3Rpb25zIGFyZSBwYXNzZWQgYW4gfmludGVyYWN0aXZl P34gYXJndW1lbnQKKworVGhlIH46c3RvcmU6fiBmdW5jdGlvbnMgc2V0IGZvciBsaW5rIHR5 cGVzIHVzaW5nCit+b3JnLWxpbmstc2V0LXBhcmFtZXRlcnN+IGFyZSBub3cgcGFzc2VkIGFu IH5pbnRlcmFjdGl2ZT9+IGFyZ3VtZW50LAoraW5kaWNhdGluZyB3aGV0aGVyIH5vcmctc3Rv cmUtbGlua34gd2FzIGNhbGxlZCBpbnRlcmFjdGl2ZWx5LgorCitFeGlzdGluZyBzdG9yZSBm dW5jdGlvbnMgd2lsbCBjb250aW51ZSB0byB3b3JrLgorCiAqKiogfm9yZy1wcmlvcml0eT1z aG93fiBjb21tYW5kIG5vIGxvbmdlciBhZGp1c3RzIGZvciBzY2hlZHVsZWQvZGVhZGxpbmUK IAogSW4gYWdlbmRhIHZpZXdzLCB+b3JnLXByaW9yaXR5PXNob3d+IGNvbW1hbmQgcHJldmlv dXNseSBkaXNwbGF5ZWQgdGhlCkBAIC00NjgsNiArNDc2LDI3IEBAIFRoZSBjaGFuZ2UgaXMg YnJlYWtpbmcgd2hlbiB+b3JnLXVzZS1wcm9wZXJ0eS1pbmhlcml0YW5jZX4gaXMgc2V0IHRv IH50fi4KICoqKiB+b3JnLWJhYmVsLWxpbHlwb25kLWNvbXBpbGUtbGlseWZpbGV+IGlnbm9y ZXMgb3B0aW9uYWwgc2Vjb25kIGFyZ3VtZW50CiAKIFRoZSA9VEVTVD0gcGFyYW1ldGVyIGlz IGJldHRlciBzZXJ2ZWQgYnkgRW1hY3MgZGVidWdnaW5nIHRvb2xzLgorCisqKiogfm9yZy1p ZC1zdG9yZS1saW5rfiBub3cgYWRkcyBzZWFyY2ggc3RyaW5ncyBmb3IgcHJlY2lzZSBsaW5r IHRhcmdldHMKKworVGhpcyBuZXcgYmVoYXZpb3VyIGNhbiBiZSBkaXNhYmxlZCBnZW5lcmFs bHkgYnkgc2V0dGluZworfm9yZy1pZC1saW5rLXVzZS1jb250ZXh0fiB0byB+bmlsfiwgb3Ig dGhlIHNldHRpbmcgY2FuIGJlIHRvZ2dsZWQgZm9yCithIHNpbmdsZSBjYWxsIHRvIH5vcmct c3RvcmUtbGlua34gd2l0aCBhIHVuaXZlcnNhbCBhcmd1bWVudC4KKworV2hlbiB1c2luZyB0 aGlzIGZlYXR1cmUsIElEcyBzaG91bGQgbm90IGluY2x1ZGUgPTo6PSwgd2hpY2ggaXMgdXNl ZCBpbgorbGlua3MgdG8gaW5kaWNhdGUgdGhlIHN0YXJ0IG9mIHRoZSBzZWFyY2ggc3RyaW5n LiAgRm9yIGJhY2t3YXJkcworY29tcGFiaWxpdHksIGV4aXN0aW5nIElEcyBpbmNsdWRpbmcg PTo6PSB3aWxsIHN0aWxsIGJlIG1hdGNoZWQgKGJ1dAorY2Fubm90IGJlIHVzZWQgdG9nZXRo ZXIgd2l0aCBwcmVjaXNlIGxpbmsgdGFyZ2V0cykuICBBbiBvcmctbGludAorY2hlY2tlciBo YXMgYmVlbiBhZGRlZCB0byB3YXJuIGFib3V0IHRoaXMuCisKKyoqKiB+b3JnLXN0b3JlLWxp bmt+IGJlaGF2aW91ciBzdG9yaW5nIGFkZGl0aW9uYWwgPUNVU1RPTV9JRD0gbGlua3MgaGFz IGNoYW5nZWQKKworQXMgd2VsbCBhcyBhbiA9aWQ6PSBsaW5rLCB+b3JnLXN0b3JlLWxpbmt+ IHN0b3JlcyBhbiBhZGRpdGlvbmFsICJodW1hbgorcmVhZGFibGUiIGxpbmsgdXNpbmcgYSBu b2RlJ3MgPUNVU1RPTV9JRD0gcHJvcGVydHksIGlmIGF2YWlsYWJsZS4KK1RoaXMgYmVoYXZp b3VyIGhhcyBiZWVuIGV4cGFuZGVkIHRvIHN0b3JlIGFuIGFkZGl0aW9uYWwgPUNVU1RPTV9J RD0KK2xpbmsgd2hlbiBzdG9yaW5nIGFueSB0eXBlIG9mIGV4dGVybmFsIGxpbmsgdHlwZSBp biBhbiBPcmcgZmlsZSwgbm90CitqdXN0ID1pZDo9IGxpbmtzLgorCiAqKiBOZXcgYW5kIGNo YW5nZWQgb3B0aW9ucwogKioqIH5yZXBlYXRlZC1hZnRlci1kZWFkbGluZX4gdmFsdWUgb2Yg fm9yZy1hZ2VuZGEtc2tpcC1zY2hlZHVsZWQtcmVwZWF0cy1hZnRlci1kZWFkbGluZX4gaXMg bW92ZWQgdG8gYSBuZXcgY3VzdG9taXphdGlvbgogCkBAIC03NDMsNiArNzcyLDM1IEBAIFRo aXMgb3B0aW9uIHN0YXJ0cyB0aGUgYWdlbmRhIHRvIGF1dG9tYXRpY2FsbHkgaW5jbHVkZSBh cmNoaXZlcywKIHByb3BhZ2F0aW5nIHRoZSB2YWx1ZSBmb3IgdGhpcyB2YXJpYWJsZSB0byB+ b3JnLWFnZW5kYS1hcmNoaXZlcy1tb2Rlfi4KIEZvciBhY2NlcHRhYmxlIHZhbHVlcyBhbmQg dGhlaXIgbWVhbmluZywgc2VlIHRoZSB2YWx1ZSBvZiB0aGF0IHZhcmlhYmxlLgogCisqKiog TmV3IG9wdGlvbiB+b3JnLWlkLWxpbmstY29uc2lkZXItcGFyZW50LWlkfiB0byBhbGxvdyA9 aWQ6PSBsaW5rcyB0byBwYXJlbnQgaGVhZGxpbmVzCisKK0ZvciA9aWQ6PSBsaW5rcywgd2hl biB0aGlzIG9wdGlvbiBpcyBlbmFibGVkLCB+b3JnLXN0b3JlLWxpbmt+IHdpbGwKK2xvb2sg Zm9yIGlkcyBmcm9tIHBhcmVudC9hbmNlc3RvciBoZWFkbGluZXMsIGlmIHRoZSBjdXJyZW50 IGhlYWRsaW5lCitkb2VzIG5vdCBoYXZlIGFuIGlkLgorCitDb21iaW5lZCB3aXRoIHRoZSBu ZXcgYWJpbGl0eSBmb3IgPWlkOj0gbGlua3MgdG8gdXNlIHNlYXJjaCBzdHJpbmdzCitmb3Ig cHJlY2lzZSBsaW5rIHRhcmdldHMgKHdoZW4gPW9yZy1pZC1saW5rLXVzZS1jb250ZXh0PSBp cyA9dD0sIHdoaWNoCitpcyB0aGUgZGVmYXVsdCksIHRoaXMgYWxsb3dzIGxpbmtpbmcgdG8g c3BlY2lmaWMgaGVhZGxpbmVzIHdpdGhvdXQKK3JlcXVpcmluZyBldmVyeSBoZWFkbGluZSB0 byBoYXZlIGFuIGlkIHByb3BlcnR5LCBhcyBsb25nIGFzIHRoZQoraGVhZGxpbmUgaXMgdW5p cXVlIHdpdGhpbiBhIHN1YnRyZWUgdGhhdCBkb2VzIGhhdmUgYW4gaWQgcHJvcGVydHkuCisK K0ZvciBleGFtcGxlLCBnaXZlbiB0aGlzIG9yZyBmaWxlOgorCisjK2JlZ2luX3NyYyBvcmcK KywqIFBhcmVudAorOlBST1BFUlRJRVM6Cis6SUQ6IGFiYworOkVORDoKKywqKiBDaGlsZCAx CissKiogQ2hpbGQgMgorIytlbmRfc3JjCisKK1N0b3JpbmcgYSBsaW5rIHdpdGggcG9pbnQg YXQgIkNoaWxkIDEiIHdpbGwgcHJvZHVjZSBhIGxpbmsKKz08aWQ6YWJjOjoqQ2hpbGQgMT49 LCB3aGljaCBwcmVjaXNlbHkgbGlua3MgdG8gdGhlICJDaGlsZCAxIiBoZWFkbGluZQorZXZl biB0aG91Z2ggaXQgZG9lcyBub3QgaGF2ZSBpdHMgb3duIElELiAgQnkgZ2l2aW5nIGZpbGVz IHRvcC1sZXZlbCBpZAorcHJvcGVydGllcywgbGlua3MgdG8gaGVhZGxpbmVzIGluIHRoZSBm aWxlIGNhbiBhbHNvIGJlIG1hZGUgbW9yZQorcm9idXN0IGJ5IHVzaW5nIHRoZSBmaWxlIGlk IGluc3RlYWQgb2YgdGhlIGZpbGUgcGF0aC4KKwogKiogTmV3IGZlYXR1cmVzCiAqKiogPW9i LXBsYW50dW1sLmVsPTogU3VwcG9ydCB0aWt6IGZpbGUgZm9ybWF0IG91dHB1dAogCkBAIC0x MDM5LDYgKzEwOTcsMTIgQEAgQSBudW1lcmljIHZhbHVlIGZvcmNlcyBhIGhlYWRpbmcgYXQg dGhhdCBsZXZlbCB0byBiZSBpbnNlcnRlZC4gIEZvcgogYmFja3dhcmRzIGNvbXBhdGliaWxp dHksIG5vbi1udW1lcmljIG5vbi1uaWwgdmFsdWVzIGluc2VydCBsZXZlbCAxCiBoZWFkaW5n cyBhcyBiZWZvcmUuCiAKKyoqKiBOZXcgb3B0aW9uYWwgYXJndW1lbnQgZm9yIH5vcmctaWQt Z2V0fgorCitOZXcgb3B0aW9uYWwgYXJndW1lbnQgPUlOSEVSSVQ9IG1lYW5zIGluaGVyaXRl ZCBJRCBwcm9wZXJ0aWVzIGZyb20KK3BhcmVudCBlbnRyaWVzIGFyZSBjb25zaWRlcmVkIHdo ZW4gZ2V0dGluZyBhbiBlbnRyeSdzIElEIChzZWUKK35vcmctaWQtbGluay1jb25zaWRlci1w YXJlbnQtaWR+IG9wdGlvbikuCisKICoqIE1pc2NlbGxhbmVvdXMKICoqKiA9b3JnLWNyeXB0 LmVsPSBub3cgYXBwbGllcyBpbml0aWFsIHZpc2liaWxpdHkgc2V0dGluZ3MgdG8gZGVjcnlw dGVkIGVudHJpZXMKIApkaWZmIC0tZ2l0IGEvbGlzcC9vbC1iYmRiLmVsIGIvbGlzcC9vbC1i YmRiLmVsCmluZGV4IGJlMzkyNGZjOS4uNmVhMDYwZjcwIDEwMDY0NAotLS0gYS9saXNwL29s LWJiZGIuZWwKKysrIGIvbGlzcC9vbC1iYmRiLmVsCkBAIC0yMjYsNyArMjI2LDcgQEAgZGF0 ZSB5ZWFyKS4iCiAKIDs7OyBJbXBsZW1lbnRhdGlvbgogCi0oZGVmdW4gb3JnLWJiZGItc3Rv cmUtbGluayAoKQorKGRlZnVuIG9yZy1iYmRiLXN0b3JlLWxpbmsgKCZvcHRpb25hbCBfaW50 ZXJhY3RpdmU/KQogICAiU3RvcmUgYSBsaW5rIHRvIGEgQkJEQiBkYXRhYmFzZSBlbnRyeS4i CiAgICh3aGVuIChlcSBtYWpvci1tb2RlICdiYmRiLW1vZGUpCiAgICAgOzsgVGhpcyBpcyBC QkRCLCB3ZSBtYWtlIHRoaXMgbGluayEKZGlmZiAtLWdpdCBhL2xpc3Avb2wtYmlidGV4LmVs IGIvbGlzcC9vbC1iaWJ0ZXguZWwKaW5kZXggYzVhOTUwZTJkLi4zODQ2OGYzMmYgMTAwNjQ0 Ci0tLSBhL2xpc3Avb2wtYmlidGV4LmVsCisrKyBiL2xpc3Avb2wtYmlidGV4LmVsCkBAIC01 MDcsNyArNTA3LDcgQEAgQVJHLCB3aGVuIG5vbi1uaWwsIGlzIGEgdW5pdmVyc2FsIHByZWZp eCBhcmd1bWVudC4gIFNlZQogYG9yZy1vcGVuLWZpbGUnIGZvciBkZXRhaWxzLiIKICAgKG9y Zy1saW5rLW9wZW4tYXMtZmlsZSBwYXRoIGFyZykpCiAKLShkZWZ1biBvcmctYmlidGV4LXN0 b3JlLWxpbmsgKCkKKyhkZWZ1biBvcmctYmlidGV4LXN0b3JlLWxpbmsgKCZvcHRpb25hbCBf aW50ZXJhY3RpdmU/KQogICAiU3RvcmUgYSBsaW5rIHRvIGEgQmliVGVYIGVudHJ5LiIKICAg KHdoZW4gKGVxIG1ham9yLW1vZGUgJ2JpYnRleC1tb2RlKQogICAgIChsZXQqICgoc2VhcmNo IChvcmctY3JlYXRlLWZpbGUtc2VhcmNoLWluLWJpYnRleCkpCmRpZmYgLS1naXQgYS9saXNw L29sLWRvY3ZpZXcuZWwgYi9saXNwL29sLWRvY3ZpZXcuZWwKaW5kZXggYjMxZjFjZTVlLi4w OTA3ZGRlZTEgMTAwNjQ0Ci0tLSBhL2xpc3Avb2wtZG9jdmlldy5lbAorKysgYi9saXNwL29s LWRvY3ZpZXcuZWwKQEAgLTgzLDcgKzgzLDcgQEAKICAgICAgIChlcnJvciAiTm8gc3VjaCBm aWxlOiAlcyIgcGF0aCkpCiAgICAgKHdoZW4gcGFnZSAoZG9jLXZpZXctZ290by1wYWdlIHBh Z2UpKSkpCiAKLShkZWZ1biBvcmctZG9jdmlldy1zdG9yZS1saW5rICgpCisoZGVmdW4gb3Jn LWRvY3ZpZXctc3RvcmUtbGluayAoJm9wdGlvbmFsIF9pbnRlcmFjdGl2ZT8pCiAgICJTdG9y ZSBhIGxpbmsgdG8gYSBkb2N2aWV3IGJ1ZmZlci4iCiAgICh3aGVuIChlcSBtYWpvci1tb2Rl ICdkb2Mtdmlldy1tb2RlKQogICAgIDs7IFRoaXMgYnVmZmVyIGlzIGluIGRvYy12aWV3LW1v ZGUKZGlmZiAtLWdpdCBhL2xpc3Avb2wtZXNoZWxsLmVsIGIvbGlzcC9vbC1lc2hlbGwuZWwK aW5kZXggMmM3ZWM2YmVmLi41OTVkZDBlZTAgMTAwNjQ0Ci0tLSBhL2xpc3Avb2wtZXNoZWxs LmVsCisrKyBiL2xpc3Avb2wtZXNoZWxsLmVsCkBAIC02MCw3ICs2MCw3IEBAIGZvbGxvd2Vk IGJ5IGEgY29sb24uIgogICAgIChpbnNlcnQgY29tbWFuZCkKICAgICAoZXNoZWxsLXNlbmQt aW5wdXQpKSkKIAotKGRlZnVuIG9yZy1lc2hlbGwtc3RvcmUtbGluayAoKQorKGRlZnVuIG9y Zy1lc2hlbGwtc3RvcmUtbGluayAoJm9wdGlvbmFsIF9pbnRlcmFjdGl2ZT8pCiAgICJTdG9y ZSBlc2hlbGwgbGluay4KIFdoZW4gb3BlbmVkLCB0aGUgbGluayBzd2l0Y2hlcyBiYWNrIHRv IHRoZSBjdXJyZW50IGVzaGVsbCBidWZmZXIgYW5kCiB0aGUgY3VycmVudCB3b3JraW5nIGRp cmVjdG9yeS4iCmRpZmYgLS1naXQgYS9saXNwL29sLWV3dy5lbCBiL2xpc3Avb2wtZXd3LmVs CmluZGV4IDQwYjgyMGQyYi4uYzEzZGJmMzM5IDEwMDY0NAotLS0gYS9saXNwL29sLWV3dy5l bAorKysgYi9saXNwL29sLWV3dy5lbApAQCAtNjIsNyArNjIsNyBAQAogICAiT3BlbiBVUkwg d2l0aCBFd3cgaW4gdGhlIGN1cnJlbnQgYnVmZmVyLiIKICAgKGV3dyB1cmwpKQogCi0oZGVm dW4gb3JnLWV3dy1zdG9yZS1saW5rICgpCisoZGVmdW4gb3JnLWV3dy1zdG9yZS1saW5rICgm b3B0aW9uYWwgX2ludGVyYWN0aXZlPykKICAgIlN0b3JlIGEgbGluayB0byB0aGUgdXJsIG9m IGFuIEVXVyBidWZmZXIuIgogICAod2hlbiAoZXEgbWFqb3ItbW9kZSAnZXd3LW1vZGUpCiAg ICAgKG9yZy1saW5rLXN0b3JlLXByb3BzCmRpZmYgLS1naXQgYS9saXNwL29sLWdudXMuZWwg Yi9saXNwL29sLWdudXMuZWwKaW5kZXggZTEwNWZkYjJjLi5iOWVlODY4M2YgMTAwNjQ0Ci0t LSBhL2xpc3Avb2wtZ251cy5lbAorKysgYi9saXNwL29sLWdudXMuZWwKQEAgLTEyMyw3ICsx MjMsNyBAQCBJZiBgb3JnLXN0b3JlLWxpbmsnIHdhcyBjYWxsZWQgd2l0aCBhIHByZWZpeCBh cmcgdGhlIG1lYW5pbmcgb2YKIAkgICAgICAodXJsLWVuY29kZS11cmwgbWVzc2FnZS1pZCkp CiAgICAgKGNvbmNhdCAiZ251czoiIGdyb3VwICIjIiBtZXNzYWdlLWlkKSkpCiAKLShkZWZ1 biBvcmctZ251cy1zdG9yZS1saW5rICgpCisoZGVmdW4gb3JnLWdudXMtc3RvcmUtbGluayAo Jm9wdGlvbmFsIF9pbnRlcmFjdGl2ZT8pCiAgICJTdG9yZSBhIGxpbmsgdG8gYSBHbnVzIGZv bGRlciBvciBtZXNzYWdlLiIKICAgKHBjYXNlIG1ham9yLW1vZGUKICAgICAoYGdudXMtZ3Jv dXAtbW9kZQpkaWZmIC0tZ2l0IGEvbGlzcC9vbC1pbmZvLmVsIGIvbGlzcC9vbC1pbmZvLmVs CmluZGV4IDBlZGY5YTEzZi4uNjA2MmNhYjM0IDEwMDY0NAotLS0gYS9saXNwL29sLWluZm8u ZWwKKysrIGIvbGlzcC9vbC1pbmZvLmVsCkBAIC01MCw3ICs1MCw3IEBACiAgICAgICAgICAg ICAgICAgICAgICAgICAgOmluc2VydC1kZXNjcmlwdGlvbiAjJ29yZy1pbmZvLWRlc2NyaXB0 aW9uLWFzLWNvbW1hbmQpCiAKIDs7IEltcGxlbWVudGF0aW9uCi0oZGVmdW4gb3JnLWluZm8t c3RvcmUtbGluayAoKQorKGRlZnVuIG9yZy1pbmZvLXN0b3JlLWxpbmsgKCZvcHRpb25hbCBf aW50ZXJhY3RpdmU/KQogICAiU3RvcmUgYSBsaW5rIHRvIGFuIEluZm8gZmlsZSBhbmQgbm9k ZS4iCiAgICh3aGVuIChlcSBtYWpvci1tb2RlICdJbmZvLW1vZGUpCiAgICAgKGxldCAoKGxp bmsgKGNvbmNhdCAiaW5mbzoiCmRpZmYgLS1naXQgYS9saXNwL29sLWlyYy5lbCBiL2xpc3Av b2wtaXJjLmVsCmluZGV4IDc4YzQ4ODRiMC4uYjI2M2U1MmRiIDEwMDY0NAotLS0gYS9saXNw L29sLWlyYy5lbAorKysgYi9saXNwL29sLWlyYy5lbApAQCAtMTAzLDcgKzEwMyw3IEBAIGF0 dHJpYnV0ZXMgdGhhdCBhcmUgZm91bmQuIgogICAgIHBhcnRzKSkKIAogOzs7IyMjYXV0b2xv YWQKLShkZWZ1biBvcmctaXJjLXN0b3JlLWxpbmsgKCkKKyhkZWZ1biBvcmctaXJjLXN0b3Jl LWxpbmsgKCZvcHRpb25hbCBfaW50ZXJhY3RpdmU/KQogICAiRGlzcGF0Y2ggdG8gdGhlIGFw cHJvcHJpYXRlIGZ1bmN0aW9uIHRvIHN0b3JlIGEgbGluayB0byBhbiBJUkMgc2Vzc2lvbi4i CiAgIChjb25kCiAgICAoKGVxIG1ham9yLW1vZGUgJ2VyYy1tb2RlKQpkaWZmIC0tZ2l0IGEv bGlzcC9vbC1tYW4uZWwgYi9saXNwL29sLW1hbi5lbAppbmRleCBlM2YxMzgxNWUuLjQyYWFj ZWE4MSAxMDA2NDQKLS0tIGEvbGlzcC9vbC1tYW4uZWwKKysrIGIvbGlzcC9vbC1tYW4uZWwK QEAgLTgyLDcgKzgyLDcgQEAgbWF0Y2hlZCBzdHJpbmdzIGluIG1hbiBidWZmZXIuIgogICAg ICAgICAgICAgKHNldC13aW5kb3ctcG9pbnQgd2luZG93IHBvaW50KQogICAgICAgICAgICAg KHNldC13aW5kb3ctc3RhcnQgd2luZG93IHBvaW50KSkpKSkpKQogCi0oZGVmdW4gb3JnLW1h bi1zdG9yZS1saW5rICgpCisoZGVmdW4gb3JnLW1hbi1zdG9yZS1saW5rICgmb3B0aW9uYWwg X2ludGVyYWN0aXZlPykKICAgIlN0b3JlIGEgbGluayB0byBhIFJFQURNRSBmaWxlLiIKICAg KHdoZW4gKG1lbXEgbWFqb3ItbW9kZSAnKE1hbi1tb2RlIHdvbWFuLW1vZGUpKQogICAgIDs7 IFRoaXMgaXMgYSBtYW4gcGFnZSwgd2UgZG8gbWFrZSB0aGlzIGxpbmsKZGlmZiAtLWdpdCBh L2xpc3Avb2wtbWhlLmVsIGIvbGlzcC9vbC1taGUuZWwKaW5kZXggMTA2Y2ZlZGM5Li5hMzI0 ODEzMjQgMTAwNjQ0Ci0tLSBhL2xpc3Avb2wtbWhlLmVsCisrKyBiL2xpc3Avb2wtbWhlLmVs CkBAIC04MCw3ICs4MCw3IEBAIHN1cHBvcnRlZCBieSBNSC1FLiIKIChvcmctbGluay1zZXQt cGFyYW1ldGVycyAibWhlIiA6Zm9sbG93ICMnb3JnLW1oZS1vcGVuIDpzdG9yZSAjJ29yZy1t aGUtc3RvcmUtbGluaykKIAogOzsgSW1wbGVtZW50YXRpb24KLShkZWZ1biBvcmctbWhlLXN0 b3JlLWxpbmsgKCkKKyhkZWZ1biBvcmctbWhlLXN0b3JlLWxpbmsgKCZvcHRpb25hbCBfaW50 ZXJhY3RpdmU/KQogICAiU3RvcmUgYSBsaW5rIHRvIGFuIE1ILUUgZm9sZGVyIG9yIG1lc3Nh Z2UuIgogICAod2hlbiAob3IgKGVxIG1ham9yLW1vZGUgJ21oLWZvbGRlci1tb2RlKQogCSAg ICAoZXEgbWFqb3ItbW9kZSAnbWgtc2hvdy1tb2RlKSkKZGlmZiAtLWdpdCBhL2xpc3Avb2wt cm1haWwuZWwgYi9saXNwL29sLXJtYWlsLmVsCmluZGV4IGY2MDMxYWI1Mi4uZjFmNzUzYjZm IDEwMDY0NAotLS0gYS9saXNwL29sLXJtYWlsLmVsCisrKyBiL2xpc3Avb2wtcm1haWwuZWwK QEAgLTUxLDcgKzUxLDcgQEAKIAkJCSA6c3RvcmUgIydvcmctcm1haWwtc3RvcmUtbGluaykK IAogOzsgSW1wbGVtZW50YXRpb24KLShkZWZ1biBvcmctcm1haWwtc3RvcmUtbGluayAoKQor KGRlZnVuIG9yZy1ybWFpbC1zdG9yZS1saW5rICgmb3B0aW9uYWwgX2ludGVyYWN0aXZlPykK ICAgIlN0b3JlIGEgbGluayB0byBhbiBSbWFpbCBmb2xkZXIgb3IgbWVzc2FnZS4iCiAgICh3 aGVuIChvciAoZXEgbWFqb3ItbW9kZSAncm1haWwtbW9kZSkKIAkgICAgKGVxIG1ham9yLW1v ZGUgJ3JtYWlsLXN1bW1hcnktbW9kZSkpCmRpZmYgLS1naXQgYS9saXNwL29sLmVsIGIvbGlz cC9vbC5lbAppbmRleCBmOGQ5MTExMjcuLjc2MmQ3YTBkOCAxMDA2NDQKLS0tIGEvbGlzcC9v bC5lbAorKysgYi9saXNwL29sLmVsCkBAIC02Myw3ICs2Myw2IEBACiAoZGVjbGFyZS1mdW5j dGlvbiBvcmctZmluZC1wcm9wZXJ0eSAib3JnIiAocHJvcGVydHkgJm9wdGlvbmFsIHZhbHVl KSkKIChkZWNsYXJlLWZ1bmN0aW9uIG9yZy1nZXQtaGVhZGluZyAib3JnIiAoJm9wdGlvbmFs IG5vLXRhZ3Mgbm8tdG9kbyBuby1wcmlvcml0eSBuby1jb21tZW50KSkKIChkZWNsYXJlLWZ1 bmN0aW9uIG9yZy1pZC1maW5kLWlkLWZpbGUgIm9yZy1pZCIgKGlkKSkKLShkZWNsYXJlLWZ1 bmN0aW9uIG9yZy1pZC1zdG9yZS1saW5rICJvcmctaWQiICgpKQogKGRlY2xhcmUtZnVuY3Rp b24gb3JnLWluc2VydC1oZWFkaW5nICJvcmciICgmb3B0aW9uYWwgYXJnIGludmlzaWJsZS1v ayB0b3ApKQogKGRlY2xhcmUtZnVuY3Rpb24gb3JnLWxvYWQtbW9kdWxlcy1tYXliZSAib3Jn IiAoJm9wdGlvbmFsIGZvcmNlKSkKIChkZWNsYXJlLWZ1bmN0aW9uIG9yZy1tYXJrLXJpbmct cHVzaCAib3JnIiAoJm9wdGlvbmFsIHBvcyBidWZmZXIpKQpAQCAtODE4LDYgKzgxNyw3NCBA QCBzcGVjLiIKICAgKG9yZy13aXRoLXBvaW50LWF0IChjYXIgcmVnaW9uKQogICAgIChub3Qg KG9yZy1pbi1yZWdleHAgb3JnLWxpbmstYW55LXJlKSkpKQogCisoZGVmdW4gb3JnLWxpbmst LXRyeS1saW5rLXN0b3JlLWZ1bmN0aW9ucyAoaW50ZXJhY3RpdmU/KQorICAiVHJ5IHN0b3Jp bmcgZXh0ZXJuYWwgbGlua3MsIHByb21wdGluZyBpZiBtb3JlIHRoYW4gb25lIGlzIHBvc3Np YmxlLgorCitFYWNoIGZ1bmN0aW9uIHJldHVybmVkIGJ5IGBvcmctc3RvcmUtbGluay1mdW5j dGlvbnMnIGlzIGNhbGxlZCBpbgordHVybi4gIElmIG11bHRpcGxlIGZ1bmN0aW9ucyByZXR1 cm4gbm9uLW5pbCwgcHJvbXB0IGZvciB3aGljaAorbGluayBzaG91bGQgYmUgc3RvcmVkLgor CitBcmd1bWVudCBJTlRFUkFDVElWRT8gaW5kaWNhdGVzIHdoZXRoZXIgYG9yZy1zdG9yZS1s aW5rJyB3YXMKK2NhbGxlZCBpbnRlcmFjdGl2ZWx5IGFuZCBpcyBwYXNzZWQgdG8gdGhlIGxp bmsgc3RvcmUgZnVuY3Rpb25zLgorCitSZXR1cm4gdCB3aGVuIGEgbGluayBoYXMgYmVlbiBz dG9yZWQgaW4gYG9yZy1saW5rLXN0b3JlLXByb3BzJy4iCisgIChsZXQgKChyZXN1bHRzLWFs aXN0IG5pbCkpCisgICAgKGRvbGlzdCAoZiAob3JnLXN0b3JlLWxpbmstZnVuY3Rpb25zKSkK KyAgICAgICh3aGVuIChjb25kaXRpb24tY2FzZSBuaWwKKyAgICAgICAgICAgICAgICAoZnVu Y2FsbCBmIGludGVyYWN0aXZlPykKKyAgICAgICAgICAgICAgOzsgRklYTUU6IFRoZSBzdG9y ZSBmdW5jdGlvbiB1c2VkICg8IE9yZyA5LjcpIHRvIGFjY2VwdAorICAgICAgICAgICAgICA7 OyBubyBhcmd1bWVudHM7IHByb3ZpZGUgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBzdXBwb3J0 CisgICAgICAgICAgICAgIDs7IGZvciB0aGVtLgorICAgICAgICAgICAgICAod3JvbmctbnVt YmVyLW9mLWFyZ3VtZW50cworICAgICAgICAgICAgICAgKGZ1bmNhbGwgZikpKQorICAgICAg ICA7OyBGSVhNRTogcmV0dXJuIHZhbHVlIGlzIG5vdCBsaW5rJ3MgcGxpc3QsIHNvIHdlIHN0 b3JlIHRoZQorICAgICAgICA7OyBuZXcgdmFsdWUgYmVmb3JlIGl0IGlzIG1vZGlmaWVkLiAg SXQgd291bGQgYmUgY2xlYW5lciB0bworICAgICAgICA7OyBhc2sgc3RvcmUgbGluayBmdW5j dGlvbnMgdG8gcmV0dXJuIHRoZSBwbGlzdCBpbnN0ZWFkLgorICAgICAgICAocHVzaCAoY29u cyBmIChjb3B5LXNlcXVlbmNlIG9yZy1zdG9yZS1saW5rLXBsaXN0KSkKKyAgICAgICAgICAg ICAgcmVzdWx0cy1hbGlzdCkpKQorICAgIChwY2FzZSByZXN1bHRzLWFsaXN0CisgICAgICAo YG5pbCBuaWwpCisgICAgICAoYCgoLF8gLiAsXykpIHQpCTtzaW5nbGUgY2hvaWNlOiBub3Ro aW5nIHRvIGRvCisgICAgICAoYCgoLG5hbWUgLiAsXykgLiAsXykKKyAgICAgICA7OyBSZWlu c3RhdGUgbGluayBwbGlzdCBhc3NvY2lhdGVkIHRvIHRoZSBjaG9zZW4KKyAgICAgICA7OyBm dW5jdGlvbi4KKyAgICAgICAoYXBwbHkgIydvcmctbGluay1zdG9yZS1wcm9wcworICAgICAg ICAgICAgICAoY2RyIChhc3NvYy1zdHJpbmcKKyAgICAgICAgICAgICAgICAgICAgKGNvbXBs ZXRpbmctcmVhZAorICAgICAgICAgICAgICAgICAgICAgKGZvcm1hdCAiU3RvcmUgbGluayB3 aXRoIChkZWZhdWx0ICVzKTogIiBuYW1lKQorICAgICAgICAgICAgICAgICAgICAgKG1hcGNh ciAjJ2NhciByZXN1bHRzLWFsaXN0KQorICAgICAgICAgICAgICAgICAgICAgbmlsIHQgbmls IG5pbCAoc3ltYm9sLW5hbWUgbmFtZSkpCisgICAgICAgICAgICAgICAgICAgIHJlc3VsdHMt YWxpc3QpKSkKKyAgICAgICB0KSkpKQorCisoZGVmdW4gb3JnLWxpbmstLWFkZC10by1zdG9y ZWQtbGlua3MgKGxpbmsgZGVzYykKKyAgIkFkZCBMSU5LIHRvIGBvcmctc3RvcmVkLWxpbmtz JyB3aXRoIGRlc2NyaXB0aW9uIERFU0MuIgorICAoY29uZAorICAgKChub3QgKG1lbWJlciAo bGlzdCBsaW5rIGRlc2MpIG9yZy1zdG9yZWQtbGlua3MpKQorICAgIChwdXNoIChsaXN0IGxp bmsgZGVzYykgb3JnLXN0b3JlZC1saW5rcykKKyAgICAobWVzc2FnZSAiU3RvcmVkOiAlcyIg KG9yIGRlc2MgbGluaykpKQorICAgKChlcXVhbCAobGlzdCBsaW5rIGRlc2MpIChjYXIgb3Jn LXN0b3JlZC1saW5rcykpCisgICAgKG1lc3NhZ2UgIlRoaXMgbGluayBoYXMgYWxyZWFkeSBi ZWVuIHN0b3JlZCIpKQorICAgKHQKKyAgICAoc2V0cSBvcmctc3RvcmVkLWxpbmtzCisgICAg ICAgICAgKGRlbGV0ZSAobGlzdCBsaW5rIGRlc2MpIG9yZy1zdG9yZWQtbGlua3MpKQorICAg IChwdXNoIChsaXN0IGxpbmsgZGVzYykgb3JnLXN0b3JlZC1saW5rcykKKyAgICAobWVzc2Fn ZSAiTGluayBtb3ZlZCB0byBmcm9udDogJXMiIChvciBkZXNjIGxpbmspKSkpKQorCisoZGVm dW4gb3JnLWxpbmstLWZpbGUtbGluay10by1oZXJlICgpCisgICJSZXR1cm4gYXMgKExJTksg LiBERVNDKSBhIGZpbGUgbGluayB3aXRoIHNlYXJjaCBzdHJpbmcgdG8gaGVyZS4iCisgIChs ZXQgKChsaW5rIChjb25jYXQgImZpbGU6IgorICAgICAgICAgICAgICAgICAgICAgIChhYmJy ZXZpYXRlLWZpbGUtbmFtZQorICAgICAgICAgICAgICAgICAgICAgICAoYnVmZmVyLWZpbGUt bmFtZSAoYnVmZmVyLWJhc2UtYnVmZmVyKSkpKSkKKyAgICAgICAgZGVzYykKKyAgICAod2hl biBvcmctbGluay1jb250ZXh0LWZvci1maWxlcworICAgICAgKHBjYXNlIChvcmctbGluay1w cmVjaXNlLWxpbmstdGFyZ2V0KQorICAgICAgICAoYG5pbCBuaWwpCisgICAgICAgIChgKCxz ZWFyY2gtc3RyaW5nICxzZWFyY2gtZGVzYyAsX3Bvc2l0aW9uKQorICAgICAgICAgKHNldHEg bGluayAoZm9ybWF0ICIlczo6JXMiIGxpbmsgc2VhcmNoLXN0cmluZykpCisgICAgICAgICAo c2V0cSBkZXNjIHNlYXJjaC1kZXNjKSkpKQorICAgIChjb25zIGxpbmsgZGVzYykpKQorCiAM CiA7OzsgUHVibGljIEFQSQogCkBAIC0xMDQ0LDcgKzExMTEsOSBAQCBMSU5LIGlzIGVzY2Fw ZWQgd2l0aCBiYWNrc2xhc2hlcyBmb3IgaW5jbHVzaW9uIGluIGJ1ZmZlci4iCiAgICJMaXN0 IG9mIGZ1bmN0aW9ucyB0aGF0IGFyZSBjYWxsZWQgdG8gY3JlYXRlIGFuZCBzdG9yZSBhIGxp bmsuCiAKIFRoZSBmdW5jdGlvbnMgYXJlIGRlZmluZWQgaW4gdGhlIGA6c3RvcmUnIHByb3Bl cnR5IG9mCi1gb3JnLWxpbmstcGFyYW1ldGVycycuCitgb3JnLWxpbmstcGFyYW1ldGVycycu ICBFYWNoIGZ1bmN0aW9uIHNob3VsZCBhY2NlcHQgYW4gYXJndW1lbnQKK0lOVEVSQUNUSVZF PyB3aGljaCBpbmRpY2F0ZXMgd2hldGhlciB0aGUgdXNlciBoYXMgaW5pdGlhdGVkCitgb3Jn LXN0b3JlLWxpbmsnIGludGVyYWN0aXZlbHkuCiAKIEVhY2ggZnVuY3Rpb24gd2lsbCBiZSBj YWxsZWQgaW4gdHVybiB1bnRpbCBvbmUgcmV0dXJucyBhIG5vbi1uaWwKIHZhbHVlLiAgRWFj aCBmdW5jdGlvbiBzaG91bGQgY2hlY2sgaWYgaXQgaXMgcmVzcG9uc2libGUgZm9yCkBAIC0x MTYzLDcgKzEyMzIsNyBAQCBPcHRpb25hbCBhcmd1bWVudCBBUkcgaXMgcGFzc2VkIHRvIGBv cmctb3Blbi1maWxlJyB3aGVuIFMgaXMgYQogICAgIChgbmlsICh1c2VyLWVycm9yICJObyB2 YWxpZCBsaW5rIGluICVTIiBzKSkKICAgICAobGluayAob3JnLWxpbmstb3BlbiBsaW5rIGFy ZykpKSkKIAotKGRlZnVuIG9yZy1saW5rLXNlYXJjaCAocyAmb3B0aW9uYWwgYXZvaWQtcG9z IHN0ZWFsdGgpCisoZGVmdW4gb3JnLWxpbmstc2VhcmNoIChzICZvcHRpb25hbCBhdm9pZC1w b3Mgc3RlYWx0aCBuZXctaGVhZGluZy1jb250YWluZXIpCiAgICJTZWFyY2ggZm9yIGEgc2Vh cmNoIHN0cmluZyBTIGluIHRoZSBhY2Nlc3NpYmxlIHBhcnQgb2YgdGhlIGJ1ZmZlci4KIAog SWYgUyBzdGFydHMgd2l0aCBcIiNcIiwgaXQgdHJpZ2dlcnMgYSBjdXN0b20gSUQgc2VhcmNo LgpAQCAtMTE4Myw2ICsxMjUyLDEzIEBAIFdoZW4gb3B0aW9uYWwgYXJndW1lbnQgU1RFQUxU SCBpcyBub24tbmlsLCBkbyBub3QgbW9kaWZ5CiB2aXNpYmlsaXR5IGFyb3VuZCBwb2ludCwg dGh1cyBpZ25vcmluZyBgb3JnLXNob3ctY29udGV4dC1kZXRhaWwnCiB2YXJpYWJsZS4KIAor V2hlbiBvcHRpb25hbCBhcmd1bWVudCBORVctSEVBRElORy1DT05UQUlORVIgaXMgYW4gZWxl bWVudCwgYW55CituZXcgaGVhZGluZyB0aGF0IGlzIGNyZWF0ZWQgKHNlZQorYG9yZy1saW5r LXNlYXJjaC1tdXN0LW1hdGNoLWV4YWN0LWhlYWRsaW5lJykgd2lsbCBiZSBhZGRlZCBhcyBh CitzdWJoZWFkaW5nIG9mIE5FVy1IRUFESU5HLUNPTlRBSU5FUi4gIE90aGVyd2lzZSwgbmV3 IGhlYWRpbmdzIGFyZQorY3JlYXRlZCBhdCBsZXZlbCAxIGF0IHRoZSBlbmQgb2YgdGhlIGFj Y2Vzc2libGUgcGFydCBvZiB0aGUKK2J1ZmZlci4KKwogU2VhcmNoIGlzIGNhc2UtaW5zZW5z aXRpdmUgYW5kIGlnbm9yZXMgd2hpdGUgc3BhY2VzLiAgUmV0dXJuIHR5cGUKIG9mIG1hdGNo ZWQgcmVzdWx0LCB3aGljaCBpcyBlaXRoZXIgYGRlZGljYXRlZCcgb3IgYGZ1enp5Jy4gIFNl YXJjaAogcmVzcGVjdHMgYnVmZmVyIG5hcnJvd2luZy4iCkBAIC0xMjgxLDExICsxMzU3LDE3 IEBAIHJlc3BlY3RzIGJ1ZmZlciBuYXJyb3dpbmcuIgogICAgICAoKGFuZCAoZGVyaXZlZC1t b2RlLXAgJ29yZy1tb2RlKQogCSAgIChlcSBvcmctbGluay1zZWFyY2gtbXVzdC1tYXRjaC1l eGFjdC1oZWFkbGluZSAncXVlcnktdG8tY3JlYXRlKQogCSAgICh5ZXMtb3Itbm8tcCAiTm8g bWF0Y2ggLSBjcmVhdGUgdGhpcyBhcyBhIG5ldyBoZWFkaW5nPyAiKSkKLSAgICAgIChnb3Rv LWNoYXIgKHBvaW50LW1heCkpCi0gICAgICAodW5sZXNzIChib2xwKSAobmV3bGluZSkpCi0g ICAgICAob3JnLWluc2VydC1oZWFkaW5nIG5pbCB0IHQpCi0gICAgICAoaW5zZXJ0IHMgIlxu IikKLSAgICAgIChmb3J3YXJkLWxpbmUgLTEpKQorICAgICAgKGxldCogKChuZXctaGVhZGlu Zy1wb3NpdGlvbiAoaWYgbmV3LWhlYWRpbmctY29udGFpbmVyCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoLSAob3JnLWVsZW1lbnQtZW5kIG5ldy1oZWFkaW5n LWNvbnRhaW5lcikgMSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo cG9pbnQtbWF4KSkpCisgICAgICAgICAgICAgKG5ldy1oZWFkaW5nLWxldmVsIChpZiBuZXct aGVhZGluZy1jb250YWluZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICgrIDEgKG9yZy1lbGVtZW50LXByb3BlcnR5IDpsZXZlbCBuZXctaGVhZGluZy1jb250YWlu ZXIpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEpKSkKKyAgICAgICAg KGdvdG8tY2hhciBuZXctaGVhZGluZy1wb3NpdGlvbikKKyAgICAgICAgKHVubGVzcyAoYm9s cCkgKG5ld2xpbmUpKQorICAgICAgICAob3JnLWluc2VydC1oZWFkaW5nIG5pbCB0IG5ldy1o ZWFkaW5nLWxldmVsKQorICAgICAgICAoaW5zZXJ0IChpZiBzdGFycmVkIChzdWJzdHJpbmcg cyAxKSBzKSAiXG4iKQorICAgICAgICAoZm9yd2FyZC1saW5lIC0xKSkpCiAgICAgIDs7IE9u bHkgaGVhZGxpbmVzIGFyZSBsb29rZWQgYWZ0ZXIuICBObyBuZWVkIHRvIHByb2Nlc3MKICAg ICAgOzsgZnVydGhlcjogdGhyb3cgYW4gZXJyb3IuCiAgICAgICgoYW5kIChkZXJpdmVkLW1v ZGUtcCAnb3JnLW1vZGUpCkBAIC0xMzM1LDYgKzE0MTcsNzAgQEAgcHJpb3JpdHkgY29va2ll IG9yIHRhZy4iCiAJICAob3JnLWxpbmstLW5vcm1hbGl6ZS1zdHJpbmcKIAkgICAob3Igc3Ry aW5nIChvcmctZ2V0LWhlYWRpbmcgdCB0IHQgdCkpKSkpCiAKKyhkZWZ1biBvcmctbGluay1w cmVjaXNlLWxpbmstdGFyZ2V0ICgpCisgICJEZXRlcm1pbmUgc2VhcmNoIHN0cmluZyBhbmQg ZGVzY3JpcHRpb24gZm9yIHN0b3JpbmcgYSBsaW5rLgorCitJZiBhIHNlYXJjaCBzdHJpbmcg KHNlZSBgb3JnLWxpbmstc2VhcmNoJykgaXMgZm91bmQsIHJldHVybgorbGlzdCAoU0VBUkNI LVNUUklORyBERVNDIFBPU0lUSU9OKS4gIE90aGVyd2lzZSwgcmV0dXJuIG5pbC4KKworSWYg dGhlcmUgaXMgYW4gYWN0aXZlIHJlZ2lvbiwgdGhlIGNvbnRlbnRzIChvciBhIHBhcnQgb2Yg aXQsIHNlZQorYG9yZy1saW5rLWNvbnRleHQtZm9yLWZpbGVzJykgaXMgdXNlZCBhcyB0aGUg c2VhcmNoIHN0cmluZy4KKworSW4gT3JnIGJ1ZmZlcnMsIGlmIHBvaW50IGlzIGF0IGEgbmFt ZWQgZWxlbWVudCAoc3VjaCBhcyBhIHNvdXJjZQorYmxvY2spLCB0aGUgbmFtZSBpcyB1c2Vk IGZvciB0aGUgc2VhcmNoIHN0cmluZy4gIElmIGF0IGEgaGVhZGluZywKK2l0cyBDVVNUT01f SUQgaXMgdXNlZCB0byBmb3JtIGEgc2VhcmNoIHN0cmluZyBvZiB0aGUgZm9ybQorXCIjaWRc IiwgaWYgcHJlc2VudCwgb3RoZXJ3aXNlIHRoZSBjdXJyZW50IGhlYWRpbmcgdGV4dCBpcyB1 c2VkCitpbiB0aGUgZm9ybSBcIipIZWFkaW5nXCIuCisKK0lmIG5vbmUgb2YgdGhvc2UgZmlu ZHMgYSBzdWl0YWJsZSBzZWFyY2ggc3RyaW5nLCB0aGUgY3VycmVudCBsaW5lCitpcyB1c2Vk IGFzIHRoZSBzZWFyY2ggc3RyaW5nLgorCitUaGUgZGVzY3JpcHRpb24gREVTQyBpcyBuaWwg KG1lYW5pbmcgdGhlIHVzZXIgd2lsbCBiZSBwcm9tcHRlZAorZm9yIGEgZGVzY3JpcHRpb24g d2hlbiBpbnNlcnRpbmcgdGhlIGxpbmspIGZvciBzZWFyY2ggc3RyaW5ncworYmFzZWQgb24g YSByZWdpb24gb3IgdGhlIGN1cnJlbnQgbGluZS4gIEZvciBvdGhlciBjYXNlcywgREVTQyBp cworYSBjbGVhbmVkLXVwIHZlcnNpb24gb2YgdGhlIG5hbWUgb3IgaGVhZGluZyBhdCBwb2lu dC4KKworUE9TSVRJT04gaXMgdGhlIGJ1ZmZlciBwb3NpdGlvbiBhdCB3aGljaCB0aGUgc2Vh cmNoIHN0cmluZworbWF0Y2hlcy4iCisgIChsZXQqICgocmVnaW9uIChvcmctbGluay0tY29u dGV4dC1mcm9tLXJlZ2lvbikpCisgICAgICAgICAocmVzdWx0CisgICAgICAgICAgKGNvbmQK KyAgICAgICAgICAgKHJlZ2lvbgorICAgICAgICAgICAgKGxpc3QgKG9yZy1saW5rLS1ub3Jt YWxpemUtc3RyaW5nIHJlZ2lvbiB0KQorICAgICAgICAgICAgICAgICAgbmlsCisgICAgICAg ICAgICAgICAgICAocmVnaW9uLWJlZ2lubmluZykpKQorCisgICAgICAgICAgICgoZGVyaXZl ZC1tb2RlLXAgJ29yZy1tb2RlKQorICAgICAgICAgICAgKGxldCogKChlbGVtZW50IChvcmct ZWxlbWVudC1hdC1wb2ludCkpCisgICAgICAgICAgICAgICAgICAgKG5hbWUgKG9yZy1lbGVt ZW50LXByb3BlcnR5IDpuYW1lIGVsZW1lbnQpKQorICAgICAgICAgICAgICAgICAgIChoZWFk aW5nIChvcmctZWxlbWVudC1saW5lYWdlIGVsZW1lbnQgJyhoZWFkbGluZSBpbmxpbmV0YXNr KSB0KSkKKyAgICAgICAgICAgICAgICAgICAoY3VzdG9tLWlkIChvcmctZW50cnktZ2V0IGhl YWRpbmcgIkNVU1RPTV9JRCIpKSkKKyAgICAgICAgICAgICAgKGNvbmQKKyAgICAgICAgICAg ICAgIChuYW1lCisgICAgICAgICAgICAgICAgKGxpc3QgbmFtZQorICAgICAgICAgICAgICAg ICAgICAgIG5hbWUKKyAgICAgICAgICAgICAgICAgICAgICAob3JnLWVsZW1lbnQtYmVnaW4g ZWxlbWVudCkpKQorICAgICAgICAgICAgICAgKChvcmctYmVmb3JlLWZpcnN0LWhlYWRpbmct cCkKKyAgICAgICAgICAgICAgICAobGlzdCAob3JnLWxpbmstLW5vcm1hbGl6ZS1zdHJpbmcg KG9yZy1jdXJyZW50LWxpbmUtc3RyaW5nKSB0KQorICAgICAgICAgICAgICAgICAgICAgIG5p bAorICAgICAgICAgICAgICAgICAgICAgIChsaW5lLWJlZ2lubmluZy1wb3NpdGlvbikpKQor ICAgICAgICAgICAgICAgKGhlYWRpbmcKKyAgICAgICAgICAgICAgICAobGlzdCAoaWYgY3Vz dG9tLWlkIChjb25jYXQgIiMiIGN1c3RvbS1pZCkKKyAgICAgICAgICAgICAgICAgICAgICAg IChvcmctbGluay1oZWFkaW5nLXNlYXJjaC1zdHJpbmcpKQorICAgICAgICAgICAgICAgICAg ICAgIChvcmctbGluay0tbm9ybWFsaXplLXN0cmluZworICAgICAgICAgICAgICAgICAgICAg ICAob3JnLWdldC1oZWFkaW5nIHQgdCB0IHQpKQorICAgICAgICAgICAgICAgICAgICAgIChv cmctZWxlbWVudC1iZWdpbiBoZWFkaW5nKSkpKSkpCisKKyAgICAgICAgICAgOzsgTm90IGlu IGFuIG9yZy1tb2RlIGJ1ZmZlciwgbm8gcmVnaW9uCisgICAgICAgICAgICh0CisgICAgICAg ICAgICAobGlzdCAob3JnLWxpbmstLW5vcm1hbGl6ZS1zdHJpbmcgKG9yZy1jdXJyZW50LWxp bmUtc3RyaW5nKSB0KQorICAgICAgICAgICAgICAgICAgbmlsCisgICAgICAgICAgICAgICAg ICAobGluZS1iZWdpbm5pbmctcG9zaXRpb24pKSkpKSkKKworICAgIDs7IE9ubHkgdXNlIHNl YXJjaCBvcHRpb24gaWYgdGhlcmUgaXMgc29tZSB0ZXh0LgorICAgICh3aGVuIChvcmctc3Ry aW5nLW53LXAgKGNhciByZXN1bHQpKQorICAgICAgcmVzdWx0KSkpCisKIChkZWZ1biBvcmct bGluay1vcGVuLWFzLWZpbGUgKHBhdGggaW4tZW1hY3MpCiAgICJQcmV0ZW5kIFBBVEggaXMg YSBmaWxlIG5hbWUgYW5kIG9wZW4gaXQuCiAKQEAgLTE0MDcsNyArMTU1Myw3IEBAIFBBVEgg aXMgYSBzeW1ib2wgbmFtZSwgYXMgYSBzdHJpbmcuIgogICAgICgoYW5kIChwcmVkIGJvdW5k cCkgdmFyaWFibGUpIChkZXNjcmliZS12YXJpYWJsZSB2YXJpYWJsZSkpCiAgICAgKG5hbWUg KHVzZXItZXJyb3IgIlVua25vd24gZnVuY3Rpb24gb3IgdmFyaWFibGU6ICVzIiBuYW1lKSkp KQogCi0oZGVmdW4gb3JnLWxpbmstLXN0b3JlLWhlbHAgKCkKKyhkZWZ1biBvcmctbGluay0t c3RvcmUtaGVscCAoJm9wdGlvbmFsIF9pbnRlcmFjdGl2ZT8pCiAgICJTdG9yZSBcImhlbHBc IiB0eXBlIGxpbmsuIgogICAod2hlbiAoZXEgbWFqb3ItbW9kZSAnaGVscC1tb2RlKQogICAg IChsZXQgKChzeW1ib2wKQEAgLTE1NDIsNyArMTY4OCwxMiBAQCBwcmVmaXggQVJHIGZvcmNl cyBzdG9yaW5nIGEgbGluayBmb3IgZWFjaCBsaW5lIGluIHRoZQogYWN0aXZlIHJlZ2lvbi4K IAogQXNzdW1lIHRoZSBmdW5jdGlvbiBpcyBjYWxsZWQgaW50ZXJhY3RpdmVseSBpZiBJTlRF UkFDVElWRT8gaXMKLW5vbi1uaWwuIgorbm9uLW5pbC4KKworSW4gT3JnIGJ1ZmZlcnMsIGFu IGFkZGl0aW9uYWwgXCJodW1hbi1yZWFkYWJsZVwiIHNpbXBsZSBmaWxlIGxpbmsKK2lzIHN0 b3JlZCBhcyBhbiBhbHRlcm5hdGl2ZSB0byBwZXJzaXN0ZW50IG9yZy1pZCBvciBvdGhlciBs aW5rcywKK2lmIGF0IGEgaGVhZGluZyB3aXRoIGEgQ1VTVE9NX0lEIHByb3BlcnR5IG9yIGFu IGVsZW1lbnQgd2l0aCBhCitOQU1FLiIKICAgKGludGVyYWN0aXZlICJQXG5wIikKICAgKG9y Zy1sb2FkLW1vZHVsZXMtbWF5YmUpCiAgIChpZiAoYW5kIChlcXVhbCBhcmcgJyg2NCkpIChv cmctcmVnaW9uLWFjdGl2ZS1wKSkKQEAgLTE1NTcsMzYgKzE3MDgsMTkgQEAgbm9uLW5pbC4i CiAJICAgIChtb3ZlLWJlZ2lubmluZy1vZi1saW5lIDIpCiAJICAgIChzZXQtbWFyayAocG9p bnQpKSkpKQogICAgIChzZXRxIG9yZy1zdG9yZS1saW5rLXBsaXN0IG5pbCkKLSAgICAobGV0 IChsaW5rIGNwbHR4dCBkZXNjIHNlYXJjaCBjdXN0b20taWQgYWdlbmRhLWxpbmspIDs7IGRl c2NyaXB0aW9uCisgICAgOzsgTmVnYXRlIGBvcmctY29udGV4dC1pbi1maWxlLWxpbmtzJyB3 aGVuIGdpdmVuIGEgc2luZ2xlIHVuaXZlcnNhbCBhcmcuCisgICAgKGxldCAoKG9yZy1saW5r LWNvbnRleHQtZm9yLWZpbGVzIChvcmcteG9yIG9yZy1saW5rLWNvbnRleHQtZm9yLWZpbGVz CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcXVh bCBhcmcgJyg0KSkpKQorICAgICAgICAgIGxpbmsgY3BsdHh0IGRlc2Mgc2VhcmNoIGFnZW5k YS1saW5rKSA7OyBkZXNjcmlwdGlvbgogICAgICAgKGNvbmQKICAgICAgICA7OyBTdG9yZSBh IGxpbmsgdXNpbmcgYW4gZXh0ZXJuYWwgbGluayB0eXBlLCBpZiBhbnkgZnVuY3Rpb24gaXMK LSAgICAgICA7OyBhdmFpbGFibGUuIElmIG1vcmUgdGhhbiBvbmUgY2FuIGdlbmVyYXRlIGEg bGluayBmcm9tIGN1cnJlbnQKLSAgICAgICA7OyBsb2NhdGlvbiwgYXNrIHdoaWNoIG9uZSB0 byB1c2UuCisgICAgICAgOzsgYXZhaWxhYmxlLCB1bmxlc3MgZXh0ZXJuYWwgbGluayB0eXBl cyBhcmUgc2tpcHBlZCBmb3IgdGhpcworICAgICAgIDs7IGNhbGwgdXNpbmcgdHdvIHVuaXZl cnNhbCBhcmdzLiAgSWYgbW9yZSB0aGFuIG9uZSBmdW5jdGlvbgorICAgICAgIDs7IGNhbiBn ZW5lcmF0ZSBhIGxpbmsgZnJvbSBjdXJyZW50IGxvY2F0aW9uLCBhc2sgdGhlIHVzZXIKKyAg ICAgICA7OyB3aGljaCBvbmUgdG8gdXNlLgogICAgICAgICgoYW5kIChub3QgKGVxdWFsIGFy ZyAnKDE2KSkpCi0JICAgICAobGV0ICgocmVzdWx0cy1hbGlzdCBuaWwpKQotCSAgICAgICAo ZG9saXN0IChmIChvcmctc3RvcmUtbGluay1mdW5jdGlvbnMpKQotCQkgKHdoZW4gKGZ1bmNh bGwgZikKLQkJICAgOzsgWFhYOiByZXR1cm4gdmFsdWUgaXMgbm90IGxpbmsncyBwbGlzdCwg c28gd2UKLQkJICAgOzsgc3RvcmUgdGhlIG5ldyB2YWx1ZSBiZWZvcmUgaXQgaXMgbW9kaWZp ZWQuICBJdAotCQkgICA7OyB3b3VsZCBiZSBjbGVhbmVyIHRvIGFzayBzdG9yZSBsaW5rIGZ1 bmN0aW9ucyB0bwotCQkgICA7OyByZXR1cm4gdGhlIHBsaXN0IGluc3RlYWQuCi0JCSAgIChw dXNoIChjb25zIGYgKGNvcHktc2VxdWVuY2Ugb3JnLXN0b3JlLWxpbmstcGxpc3QpKQotCQkJ IHJlc3VsdHMtYWxpc3QpKSkKLQkgICAgICAgKHBjYXNlIHJlc3VsdHMtYWxpc3QKLQkJIChg bmlsIG5pbCkKLQkJIChgKCgsXyAuICxfKSkgdCkJO3NpbmdsZSBjaG9pY2U6IG5vdGhpbmcg dG8gZG8KLQkJIChgKCgsbmFtZSAuICxfKSAuICxfKQotCQkgIDs7IFJlaW5zdGF0ZSBsaW5r IHBsaXN0IGFzc29jaWF0ZWQgdG8gdGhlIGNob3NlbgotCQkgIDs7IGZ1bmN0aW9uLgotCQkg IChhcHBseSAjJ29yZy1saW5rLXN0b3JlLXByb3BzCi0JCQkgKGNkciAoYXNzb2Mtc3RyaW5n Ci0JCQkgICAgICAgKGNvbXBsZXRpbmctcmVhZAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoZm9ybWF0ICJTdG9yZSBsaW5rIHdpdGggKGRlZmF1bHQgJXMpOiAiIG5hbWUp Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtYXBjYXIgIydjYXIgcmVzdWx0 cy1hbGlzdCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmlsIHQgbmlsIG5p bCAoc3ltYm9sLW5hbWUgbmFtZSkpCi0JCQkgICAgICAgcmVzdWx0cy1hbGlzdCkpKQotCQkg IHQpKSkpCi0JKHNldHEgbGluayAocGxpc3QtZ2V0IG9yZy1zdG9yZS1saW5rLXBsaXN0IDps aW5rKSkKKyAgICAgICAgICAgICAob3JnLWxpbmstLXRyeS1saW5rLXN0b3JlLWZ1bmN0aW9u cyBpbnRlcmFjdGl2ZT8pKQorICAgICAgICAoc2V0cSBsaW5rIChwbGlzdC1nZXQgb3JnLXN0 b3JlLWxpbmstcGxpc3QgOmxpbmspKQogICAgICAgICA7OyBJZiBzdG9yZSBmdW5jdGlvbiBh Y3R1YWxseSBzZXQgYDpkZXNjcmlwdGlvbicgcHJvcGVydHksIHVzZQogICAgICAgICA7OyBp dCwgZXZlbiBpZiBpdCBpcyBuaWwuICBPdGhlcndpc2UsIGZhbGxiYWNrIHRvIG5pbCAoYXNr IHVzZXIpLgogCShzZXRxIGRlc2MgKHBsaXN0LWdldCBvcmctc3RvcmUtbGluay1wbGlzdCA6 ZGVzY3JpcHRpb24pKSkKQEAgLTE2MzcsNiArMTc3MSw3IEBAIG5vbi1uaWwuIgogCSAgICAo b3JnLXdpdGgtcG9pbnQtYXQgbQogCSAgICAgIChzZXRxIGFnZW5kYS1saW5rIChvcmctc3Rv cmUtbGluayBuaWwgaW50ZXJhY3RpdmU/KSkpKSkpCiAKKyAgICAgICA7OyBDYWxlbmRhciBt b2RlCiAgICAgICAgKChlcSBtYWpvci1tb2RlICdjYWxlbmRhci1tb2RlKQogCShsZXQgKChj ZCAoY2FsZW5kYXItY3Vyc29yLXRvLWRhdGUpKSkKIAkgIChzZXRxIGxpbmsKQEAgLTE2NDUs NiArMTc4MCw3IEBAIG5vbi1uaWwuIgogCQkgKG9yZy1lbmNvZGUtdGltZSAwIDAgMCAobnRo IDEgY2QpIChudGggMCBjZCkgKG50aCAyIGNkKSkpKQogCSAgKG9yZy1saW5rLXN0b3JlLXBy b3BzIDp0eXBlICJjYWxlbmRhciIgOmRhdGUgY2QpKSkKIAorICAgICAgIDs7IEltYWdlIG1v ZGUKICAgICAgICAoKGVxIG1ham9yLW1vZGUgJ2ltYWdlLW1vZGUpCiAJKHNldHEgY3BsdHh0 IChjb25jYXQgImZpbGU6IgogCQkJICAgICAoYWJicmV2aWF0ZS1maWxlLW5hbWUgYnVmZmVy LWZpbGUtbmFtZSkpCkBAIC0xNjYyLDE1ICsxNzk4LDIyIEBAIG5vbi1uaWwuIgogCSAgKHNl dHEgY3BsdHh0IChjb25jYXQgImZpbGU6IiBmaWxlKQogCQlsaW5rIGNwbHR4dCkpKQogCisg ICAgICAgOzsgVHJ5IGBvcmctY3JlYXRlLWZpbGUtc2VhcmNoLWZ1bmN0aW9uc2AuICBJZiBh bnkgYXJlCisgICAgICAgOzsgc3VjY2Vzc2Z1bCwgY3JlYXRlIGEgZmlsZSBsaW5rIHRvIHRo ZSBjdXJyZW50IGJ1ZmZlciB3aXRoCisgICAgICAgOzsgdGhlIHByb3ZpZGVkIHNlYXJjaCBz dHJpbmcuICAoc2V0cyBgbGlua2AgYW5kIGBjcGx0eHRgIHRvCisgICAgICAgOzsgdGhlIHNh bWUgdGhpbmc7IGl0IGxvb2tzIGxpa2UgdGhlIGludGVudGlvbiBvcmlnaW5hbGx5IHdhcwor ICAgICAgIDs7IHRoYXQgY3BsdHh0IHdhcyBhIGRlc2NyaXB0aW9uLCB3aGljaCBtaWdodCBo YXZlIGJlZW4gc2V0IGJ5CisgICAgICAgOzsgdGhlIHNlYXJjaC1mdW5jdGlvbiAocmVtb3Zl ZCBpbiBzd2l0Y2ggdG8gbGV4aWNhbCBiaW5kaW5nKSkuCiAgICAgICAgKChzZXRxIHNlYXJj aCAocnVuLWhvb2std2l0aC1hcmdzLXVudGlsLXN1Y2Nlc3MKIAkJICAgICAgJ29yZy1jcmVh dGUtZmlsZS1zZWFyY2gtZnVuY3Rpb25zKSkKIAkoc2V0cSBsaW5rIChjb25jYXQgImZpbGU6 IiAoYWJicmV2aWF0ZS1maWxlLW5hbWUgYnVmZmVyLWZpbGUtbmFtZSkKIAkJCSAgICI6OiIg c2VhcmNoKSkKIAkoc2V0cSBjcGx0eHQgKG9yIGxpbmspKSkgOzsgZGVzY3JpcHRpb24KIAor ICAgICAgIDs7IE1haW4gbG9naWMgZm9yIHN0b3JpbmcgYnVpbHQtaW4gbGluayB0eXBlcyBp biBvcmctbW9kZQorICAgICAgIDs7IGJ1ZmZlcnMKICAgICAgICAoKGFuZCAoYnVmZmVyLWZp bGUtbmFtZSAoYnVmZmVyLWJhc2UtYnVmZmVyKSkgKGRlcml2ZWQtbW9kZS1wICdvcmctbW9k ZSkpCiAJKG9yZy13aXRoLWxpbWl0ZWQtbGV2ZWxzCi0JIChzZXRxIGN1c3RvbS1pZCAob3Jn LWVudHJ5LWdldCBuaWwgIkNVU1RPTV9JRCIpKQogCSAoY29uZAogCSAgOzsgU3RvcmUgYSBs aW5rIHVzaW5nIHRoZSB0YXJnZXQgYXQgcG9pbnQKIAkgICgob3JnLWluLXJlZ2V4cCAiW148 XTw8XFwoW148Pl0rXFwpPj5bXj5dIiAxKQpAQCAtMTY4NCw3NCArMTgyNywyMSBAQCBub24t bmlsLiIKICAgICAgICAgICAgICAgICAgOzsgbGlua3MuICBNYXliZSB0aGUgY2FzZSBvZiBp ZGVudGljYWwgdGFyZ2V0IGFuZAogICAgICAgICAgICAgICAgICA7OyBkZXNjcmlwdGlvbiBz aG91bGQgYmUgaGFuZGxlZCBieSBgb3JnLWluc2VydC1saW5rJy4KICAgICAgICAgICAgICAg ICAgY3BsdHh0IG5pbAotICAgICAgICAgICAgICAgICBkZXNjIG5pbAotICAgICAgICAgICAg ICAgICA7OyBEbyBub3QgYXBwZW5kICNDVVNUT01fSUQgbGluayBiZWxvdy4KLSAgICAgICAg ICAgICAgICAgY3VzdG9tLWlkIG5pbCkpCi0JICAoKGFuZCAoZmVhdHVyZXAgJ29yZy1pZCkK LQkJKG9yIChlcSBvcmctaWQtbGluay10by1vcmctdXNlLWlkIHQpCi0JCSAgICAoYW5kIGlu dGVyYWN0aXZlPwotCQkJIChvciAoZXEgb3JnLWlkLWxpbmstdG8tb3JnLXVzZS1pZCAnY3Jl YXRlLWlmLWludGVyYWN0aXZlKQotCQkJICAgICAoYW5kIChlcSBvcmctaWQtbGluay10by1v cmctdXNlLWlkCi0JCQkJICAgICAgJ2NyZWF0ZS1pZi1pbnRlcmFjdGl2ZS1hbmQtbm8tY3Vz dG9tLWlkKQotCQkJCSAgKG5vdCBjdXN0b20taWQpKSkpCi0JCSAgICAoYW5kIG9yZy1pZC1s aW5rLXRvLW9yZy11c2UtaWQgKG9yZy1lbnRyeS1nZXQgbmlsICJJRCIpKSkpCi0JICAgOzsg U3RvcmUgYSBsaW5rIHVzaW5nIHRoZSBJRCBhdCBwb2ludAotCSAgIChzZXRxIGxpbmsgKGNv bmRpdGlvbi1jYXNlIG5pbAotCQkJICAocHJvZzEgKG9yZy1pZC1zdG9yZS1saW5rKQotCQkJ ICAgIChzZXRxIGRlc2MgKHBsaXN0LWdldCBvcmctc3RvcmUtbGluay1wbGlzdCA6ZGVzY3Jp cHRpb24pKSkKLQkJCShlcnJvcgotCQkJIDs7IFByb2JhYmx5IGJlZm9yZSBmaXJzdCBoZWFk bGluZSwgbGluayBvbmx5IHRvIGZpbGUKLQkJCSAoY29uY2F0ICJmaWxlOiIKLQkJCQkgKGFi YnJldmlhdGUtZmlsZS1uYW1lCi0JCQkJICAoYnVmZmVyLWZpbGUtbmFtZSAoYnVmZmVyLWJh c2UtYnVmZmVyKSkpKSkpKSkKLQkgICh0CisgICAgICAgICAgICAgICAgIGRlc2MgbmlsKSkK KyAgICAgICAgICAodAogCSAgIDs7IEp1c3QgbGluayB0byBjdXJyZW50IGhlYWRsaW5lLgot CSAgIChzZXRxIGNwbHR4dCAoY29uY2F0ICJmaWxlOiIKLQkJCQkoYWJicmV2aWF0ZS1maWxl LW5hbWUKLQkJCQkgKGJ1ZmZlci1maWxlLW5hbWUgKGJ1ZmZlci1iYXNlLWJ1ZmZlcikpKSkp Ci0JICAgOzsgQWRkIGEgY29udGV4dCBzZWFyY2ggc3RyaW5nLgotCSAgICh3aGVuIChvcmct eG9yIG9yZy1saW5rLWNvbnRleHQtZm9yLWZpbGVzIChlcXVhbCBhcmcgJyg0KSkpCi0JICAg ICAobGV0KiAoKGVsZW1lbnQgKG9yZy1lbGVtZW50LWF0LXBvaW50KSkKLQkJICAgIChuYW1l IChvcmctZWxlbWVudC1wcm9wZXJ0eSA6bmFtZSBlbGVtZW50KSkKLQkJICAgIChjb250ZXh0 Ci0JCSAgICAgKGNvbmQKLQkJICAgICAgKChsZXQgKChyZWdpb24gKG9yZy1saW5rLS1jb250 ZXh0LWZyb20tcmVnaW9uKSkpCi0JCQkgKGFuZCByZWdpb24gKG9yZy1saW5rLS1ub3JtYWxp emUtc3RyaW5nIHJlZ2lvbiB0KSkpKQotCQkgICAgICAobmFtZSkKLQkJICAgICAgKChvcmct YmVmb3JlLWZpcnN0LWhlYWRpbmctcCkKLQkJICAgICAgIChvcmctbGluay0tbm9ybWFsaXpl LXN0cmluZyAob3JnLWN1cnJlbnQtbGluZS1zdHJpbmcpIHQpKQotCQkgICAgICAodCAob3Jn LWxpbmstaGVhZGluZy1zZWFyY2gtc3RyaW5nKSkpKSkKLQkgICAgICAgKHdoZW4gKG9yZy1z dHJpbmctbnctcCBjb250ZXh0KQotCQkgKHNldHEgY3BsdHh0IChmb3JtYXQgIiVzOjolcyIg Y3BsdHh0IGNvbnRleHQpKQotCQkgKHNldHEgZGVzYwotCQkgICAgICAgKG9yIG5hbWUKLQkJ CSAgIDs7IEFsdGhvdWdoIGRlc2NyaXB0aW9uIGlzIG5vdCBhIHNlYXJjaAotCQkJICAgOzsg c3RyaW5nLCB1c2UgYG9yZy1saW5rLS1ub3JtYWxpemUtc3RyaW5nJwotCQkJICAgOzsgdG8g cHJldHRpZnkgaXQgKGNvbnRpZ3VvdXMgd2hpdGUgc3BhY2VzKQotCQkJICAgOzsgYW5kIHJl bW92ZSB2b2xhdGlsZSBjb250ZW50cyAoc3RhdGlzdGljcwotCQkJICAgOzsgY29va2llcyku Ci0JCQkgICAoYW5kIChub3QgKG9yZy1iZWZvcmUtZmlyc3QtaGVhZGluZy1wKSkKLQkJCQko b3JnLWxpbmstLW5vcm1hbGl6ZS1zdHJpbmcKLQkJCQkgKG9yZy1nZXQtaGVhZGluZyB0IHQg dCB0KSkpCi0JCQkgICAiTk9ORSIpKSkpKQotCSAgIChzZXRxIGxpbmsgY3BsdHh0KSkpKSkK KyAgICAgICAgICAgKGxldCAoKGhlcmUgKG9yZy1saW5rLS1maWxlLWxpbmstdG8taGVyZSkp KQorICAgICAgICAgICAgIChzZXRxIGNwbHR4dCAoY2FyIGhlcmUpKQorICAgICAgICAgICAg IChzZXRxIGRlc2MgKGNkciBoZXJlKSkpCisgICAgICAgICAgIChzZXRxIGxpbmsgY3BsdHh0 KSkpKSkKIAorICAgICAgIDs7IEJ1ZmZlciBsaW5rZWQgdG8gZmlsZSwgYnV0IG5vdCBhbiBv cmctbW9kZSBidWZmZXIuCiAgICAgICAgKChidWZmZXItZmlsZS1uYW1lIChidWZmZXItYmFz ZS1idWZmZXIpKQogCTs7IEp1c3QgbGluayB0byB0aGlzIGZpbGUgaGVyZS4KLQkoc2V0cSBj cGx0eHQgKGNvbmNhdCAiZmlsZToiCi0JCQkgICAgIChhYmJyZXZpYXRlLWZpbGUtbmFtZQot CQkJICAgICAgKGJ1ZmZlci1maWxlLW5hbWUgKGJ1ZmZlci1iYXNlLWJ1ZmZlcikpKSkpCi0J OzsgQWRkIGEgY29udGV4dCBzZWFyY2ggc3RyaW5nLgotCSh3aGVuIChvcmcteG9yIG9yZy1s aW5rLWNvbnRleHQtZm9yLWZpbGVzIChlcXVhbCBhcmcgJyg0KSkpCi0JICAobGV0ICgoY29u dGV4dCAob3JnLWxpbmstLW5vcm1hbGl6ZS1zdHJpbmcKLQkJCSAgKG9yIChvcmctbGluay0t Y29udGV4dC1mcm9tLXJlZ2lvbikKLQkJCSAgICAgIChvcmctY3VycmVudC1saW5lLXN0cmlu ZykpCi0JCQkgIHQpKSkKLQkgICAgOzsgT25seSB1c2Ugc2VhcmNoIG9wdGlvbiBpZiB0aGVy ZSBpcyBzb21lIHRleHQuCi0JICAgICh3aGVuIChvcmctc3RyaW5nLW53LXAgY29udGV4dCkK LQkgICAgICAoc2V0cSBjcGx0eHQgKGZvcm1hdCAiJXM6OiVzIiBjcGx0eHQgY29udGV4dCkp Ci0JICAgICAgKHNldHEgZGVzYyAiTk9ORSIpKSkpCi0JKHNldHEgbGluayBjcGx0eHQpKQor ICAgICAgICAobGV0ICgoaGVyZSAob3JnLWxpbmstLWZpbGUtbGluay10by1oZXJlKSkpCisg ICAgICAgICAgKHNldHEgY3BsdHh0IChjYXIgaGVyZSkpCisgICAgICAgICAgKHNldHEgZGVz YyAoY2RyIGhlcmUpKSkKKyAgICAgICAgKHNldHEgbGluayBjcGx0eHQpKQogCiAgICAgICAg KGludGVyYWN0aXZlPwogCSh1c2VyLWVycm9yICJObyBtZXRob2QgZm9yIHN0b3JpbmcgYSBs aW5rIGZyb20gdGhpcyBidWZmZXIiKSkKQEAgLTE3NjcsMjQgKzE4NTcsMTggQEAgbm9uLW5p bC4iCiAgICAgICA7OyBTdG9yZSBhbmQgcmV0dXJuIHRoZSBsaW5rCiAgICAgICAoaWYgKG5v dCAoYW5kIGludGVyYWN0aXZlPyBsaW5rKSkKIAkgIChvciBhZ2VuZGEtbGluayAoYW5kIGxp bmsgKG9yZy1saW5rLW1ha2Utc3RyaW5nIGxpbmsgZGVzYykpKQotICAgICAgICAoZG90aW1l cyAoXyAoaWYgY3VzdG9tLWlkIDIgMSkpIDsgU3RvcmUgMiBsaW5rcyB3aGVuIENVU1RPTS1J RCBpcyBub24tbmlsLgotICAgICAgICAgIChjb25kCi0gICAgICAgICAgICgobm90IChtZW1i ZXIgKGxpc3QgbGluayBkZXNjKSBvcmctc3RvcmVkLWxpbmtzKSkKLSAgICAgICAgICAgIChw dXNoIChsaXN0IGxpbmsgZGVzYykgb3JnLXN0b3JlZC1saW5rcykKLQkgICAgKG1lc3NhZ2Ug IlN0b3JlZDogJXMiIChvciBkZXNjIGxpbmspKSkKLSAgICAgICAgICAgKChlcXVhbCAobGlz dCBsaW5rIGRlc2MpIChjYXIgb3JnLXN0b3JlZC1saW5rcykpCi0gICAgICAgICAgICAobWVz c2FnZSAiVGhpcyBsaW5rIGhhcyBhbHJlYWR5IGJlZW4gc3RvcmVkIikpCi0gICAgICAgICAg ICh0Ci0gICAgICAgICAgICAoc2V0cSBvcmctc3RvcmVkLWxpbmtzCi0gICAgICAgICAgICAg ICAgICAoZGVsZXRlIChsaXN0IGxpbmsgZGVzYykgb3JnLXN0b3JlZC1saW5rcykpCi0gICAg ICAgICAgICAocHVzaCAobGlzdCBsaW5rIGRlc2MpIG9yZy1zdG9yZWQtbGlua3MpCi0gICAg ICAgICAgICAobWVzc2FnZSAiTGluayBtb3ZlZCB0byBmcm9udDogJXMiIChvciBkZXNjIGxp bmspKSkpCi0JICAod2hlbiBjdXN0b20taWQKLQkgICAgKHNldHEgbGluayAoY29uY2F0ICJm aWxlOiIKLQkJCSAgICAgICAoYWJicmV2aWF0ZS1maWxlLW5hbWUKLQkJCSAgICAgICAgKGJ1 ZmZlci1maWxlLW5hbWUgKGJ1ZmZlci1iYXNlLWJ1ZmZlcikpKQotCQkJICAgICAgICI6OiMi IGN1c3RvbS1pZCkpKSkKLQkoY2FyIG9yZy1zdG9yZWQtbGlua3MpKSkpKQorICAgICAgICAo b3JnLWxpbmstLWFkZC10by1zdG9yZWQtbGlua3MgbGluayBkZXNjKQorICAgICAgICA7OyBJ biBvcmcgYnVmZmVycywgc3RvcmUgYW4gYWRkaXRpb25hbCAiaHVtYW4tcmVhZGFibGUiIGxp bmsKKyAgICAgICAgOzsgdXNpbmcgY3VzdG9tIGlkLCBpZiBhdmFpbGFibGUuCisgICAgICAg ICh3aGVuIChhbmQgKGJ1ZmZlci1maWxlLW5hbWUgKGJ1ZmZlci1iYXNlLWJ1ZmZlcikpCisg ICAgICAgICAgICAgICAgICAgKGRlcml2ZWQtbW9kZS1wICdvcmctbW9kZSkKKyAgICAgICAg ICAgICAgICAgICAob3JnLWVudHJ5LWdldCBuaWwgIkNVU1RPTV9JRCIpKQorICAgICAgICAg IChsZXQgKChoZXJlIChvcmctbGluay0tZmlsZS1saW5rLXRvLWhlcmUpKSkKKyAgICAgICAg ICAgIChzZXRxIGxpbmsgKGNhciBoZXJlKSkKKyAgICAgICAgICAgIChzZXRxIGRlc2MgKGNk ciBoZXJlKSkpCisgICAgICAgICAgKHVubGVzcyAoZXF1YWwgKGxpc3QgbGluayBkZXNjKSAo Y2FyIG9yZy1zdG9yZWQtbGlua3MpKQorICAgICAgICAgICAgKG9yZy1saW5rLS1hZGQtdG8t c3RvcmVkLWxpbmtzIGxpbmsgZGVzYykpKQorICAgICAgICAoY2FyIG9yZy1zdG9yZWQtbGlu a3MpKSkpKQogCiA7OzsjIyNhdXRvbG9hZAogKGRlZnVuIG9yZy1pbnNlcnQtbGluayAoJm9w dGlvbmFsIGNvbXBsZXRlLWZpbGUgbGluay1sb2NhdGlvbiBkZXNjcmlwdGlvbikKZGlmZiAt LWdpdCBhL2xpc3Avb3JnLWlkLmVsIGIvbGlzcC9vcmctaWQuZWwKaW5kZXggODY0N2E1N2Nj Li41OGQ1MWRlY2EgMTAwNjQ0Ci0tLSBhL2xpc3Avb3JnLWlkLmVsCisrKyBiL2xpc3Avb3Jn LWlkLmVsCkBAIC0xMjksNiArMTI5LDQ2IEBAIG5pbCAgIE5ldmVyIHVzZSBhbiBJRCB0byBt YWtlIGEgbGluaywgaW5zdGVhZCBsaW5rIHVzaW5nIGEgdGV4dCBzZWFyY2ggZm9yCiAJICAo Y29uc3QgOnRhZyAiT25seSB1c2UgZXhpc3RpbmciIHVzZS1leGlzdGluZykKIAkgIChjb25z dCA6dGFnICJEbyBub3QgdXNlIElEIHRvIGNyZWF0ZSBsaW5rIiBuaWwpKSkKIAorKGRlZmN1 c3RvbSBvcmctaWQtbGluay1jb25zaWRlci1wYXJlbnQtaWQgbmlsCisgICJOb24tbmlsIG1l YW5zIHN0b3JpbmcgYSBsaW5rIHRvIGFuIE9yZyBlbnRyeSBjb25zaWRlcnMgaW5oZXJpdGVk IElEcy4KKworV2hlbiB0aGlzIG9wdGlvbiBpcyBub24tbmlsIGFuZCBgb3JnLWlkLWxpbmst dXNlLWNvbnRleHQnIGlzCitlbmFibGVkLCBJRCBwcm9wZXJ0aWVzIGluaGVyaXRlZCBmcm9t IHBhcmVudCBlbnRyaWVzIHdpbGwgYmUKK2NvbnNpZGVyZWQgd2hlbiBzdG9yaW5nIGFuIElE IGxpbmsuICBJZiBubyBJRCBpcyBmb3VuZCBpbiB0aGlzCit3YXksIGEgbmV3IG9uZSBtYXkg YmUgY3JlYXRlZCBhcyBub3JtYWwgKHNlZQorYG9yZy1pZC1saW5rLXRvLW9yZy11c2UtaWQn KS4KKworRm9yIGV4YW1wbGUsIGdpdmVuIHRoaXMgb3JnIGZpbGU6CisKKyogUGFyZW50Cis6 UFJPUEVSVElFUzoKKzpJRDogYWJjCis6RU5EOgorKiogQ2hpbGQgMQorKiogQ2hpbGQgMgor CitXaXRoIGBvcmctaWQtbGluay1jb25zaWRlci1wYXJlbnQtaWQnIGFuZAorYG9yZy1pZC1s aW5rLXVzZS1jb250ZXh0JyBib3RoIGVuYWJsZWQsIHN0b3JpbmcgYSBsaW5rIHdpdGggcG9p bnQKK2F0IFwiQ2hpbGQgMVwiIHdpbGwgcHJvZHVjZSBhIGxpbmsgXCI8aWQ6YWJjOjoqQ2hp bGQgMT5cIi4gIFRoaXMKK2FsbG93cyBsaW5raW5nIHRvIHVuaXF1ZWx5LW5hbWVkIHN1Yi1l bnRyaWVzIHdpdGhpbiBhIHBhcmVudAorZW50cnkgd2l0aCBhbiBJRCwgd2l0aG91dCByZXF1 aXJpbmcgZXZlcnkgc3ViLWVudHJ5IHRvIGhhdmUgaXRzCitvd24gSUQuIgorICA6Z3JvdXAg J29yZy1saW5rLXN0b3JlCisgIDpncm91cCAnb3JnLWlkCisgIDpwYWNrYWdlLXZlcnNpb24g JyhPcmcgLiAiOS43IikKKyAgOnR5cGUgJ2Jvb2xlYW4pCisKKyhkZWZjdXN0b20gb3JnLWlk LWxpbmstdXNlLWNvbnRleHQgdAorICAiTm9uLW5pbCBtZWFucyBlbmFibGVzIHNlYXJjaCBz dHJpbmcgY29udGV4dCBpbiBvcmctaWQgbGlua3MuCisKK1NlYXJjaCBzdHJpbmdzIGFyZSBh ZGRlZCBieSBgb3JnLWlkLXN0b3JlLWxpbmsnIHdoZW4gYm90aCB0aGUKK2dlbmVyYWwgb3B0 aW9uIGBvcmctbGluay1jb250ZXh0LWZvci1maWxlcycgYW5kIHRoZSBvcmctaWQgb3B0aW9u Citgb3JnLWlkLWxpbmstdXNlLWNvbnRleHQnIGFyZSBub24tbmlsLiIKKyAgOmdyb3VwICdv cmctbGluay1zdG9yZQorICA6Z3JvdXAgJ29yZy1pZAorICA6cGFja2FnZS12ZXJzaW9uICco T3JnIC4gIjkuNyIpCisgIDp0eXBlICdib29sZWFuKQorCiAoZGVmY3VzdG9tIG9yZy1pZC11 dWlkLXByb2dyYW0gInV1aWRnZW4iCiAgICJUaGUgdXVpZGdlbiBwcm9ncmFtLiIKICAgOmdy b3VwICdvcmctaWQKQEAgLTI4MCwxNSArMzIwLDIxIEBAIFRoaXMgaXMgdXNlZnVsIHdoZW4g d29ya2luZyB3aXRoIGNvbnRlbnRzIGluIGEgdGVtcG9yYXJ5IGJ1ZmZlcgogdGhhdCB3aWxs IGJlIGNvcGllZCBiYWNrIHRvIHRoZSBvcmlnaW5hbC4iKQogCiA7OzsjIyNhdXRvbG9hZAot KGRlZnVuIG9yZy1pZC1nZXQgKCZvcHRpb25hbCBlcG9tIGNyZWF0ZSBwcmVmaXgpCi0gICJH ZXQgdGhlIElEIHByb3BlcnR5IG9mIHRoZSBlbnRyeSBhdCBFUE9NLgotRVBPTSBpcyBhbiBl bGVtZW50LCBtYXJrZXIsIG9yIGJ1ZmZlciBwb3NpdGlvbi4KLUlmIEVQT00gaXMgbmlsLCBy ZWZlciB0byB0aGUgZW50cnkgYXQgcG9pbnQuCi1JZiB0aGUgZW50cnkgZG9lcyBub3QgaGF2 ZSBhbiBJRCwgdGhlIGZ1bmN0aW9uIHJldHVybnMgbmlsLgotSG93ZXZlciwgd2hlbiBDUkVB VEUgaXMgbm9uLW5pbCwgY3JlYXRlIGFuIElEIGlmIG5vbmUgaXMgcHJlc2VudCBhbHJlYWR5 LgotUFJFRklYIHdpbGwgYmUgcGFzc2VkIHRocm91Z2ggdG8gYG9yZy1pZC1uZXcnLgotSW4g YW55IGNhc2UsIHRoZSBJRCBvZiB0aGUgZW50cnkgaXMgcmV0dXJuZWQuIgotICAobGV0ICgo aWQgKG9yZy1lbnRyeS1nZXQgZXBvbSAiSUQiKSkpCisoZGVmdW4gb3JnLWlkLWdldCAoJm9w dGlvbmFsIGVwb20gY3JlYXRlIHByZWZpeCBpbmhlcml0KQorICAiR2V0IHRoZSBJRCBvZiB0 aGUgZW50cnkgYXQgRVBPTS4KKworRVBPTSBpcyBhbiBlbGVtZW50LCBtYXJrZXIsIG9yIGJ1 ZmZlciBwb3NpdGlvbi4gIElmIEVQT00gaXMgbmlsLAorcmVmZXIgdG8gdGhlIGVudHJ5IGF0 IHBvaW50LgorCitJZiBJTkhFUklUIGlzIG5vbi1uaWwsIElEIHByb3BlcnRpZXMgaW5oZXJp dGVkIGZyb20gcGFyZW50CitlbnRyaWVzIGFyZSBjb25zaWRlcmVkLiAgT3RoZXJ3aXNlLCBv bmx5IElEIHByb3BlcnRpZXMgb24gdGhlCitlbnRyeSBpdHNlbGYgYXJlIGNvbnNpZGVyZWQu CisKK1doZW4gQ1JFQVRFIGlzIG5pbCwgcmV0dXJuIHRoZSBJRCBvZiB0aGUgZW50cnkgaWYg Zm91bmQsCitvdGhlcndpc2UgbmlsLiAgV2hlbiBDUkVBVEUgaXMgbm9uLW5pbCwgY3JlYXRl IGFuIElEIGlmIG5vbmUgaGFzCitiZWVuIGZvdW5kLCBhbmQgcmV0dXJuIHRoZSBuZXcgSUQu ICBQUkVGSVggd2lsbCBiZSBwYXNzZWQgdGhyb3VnaAordG8gYG9yZy1pZC1uZXcnLiIKKyAg KGxldCAoKGlkIChvcmctZW50cnktZ2V0IGVwb20gIklEIiAoYW5kIGluaGVyaXQgdCkpKSkK ICAgICAoY29uZAogICAgICAoKGFuZCBpZCAoc3RyaW5ncCBpZCkgKHN0cmluZy1tYXRjaCAi XFxTLSIgaWQpKQogICAgICAgaWQpCkBAIC03MDAsMjEgKzc0Niw1NiBAQCBvcHRpb25hbCBh cmd1bWVudCBNQVJLRVJQLCByZXR1cm4gdGhlIHBvc2l0aW9uIGFzIGEgbmV3IG1hcmtlci4i CiAKIDs7IGlkIGxpbmsgdHlwZQogCi07OyBDYWxsaW5nIHRoZSBmb2xsb3dpbmcgZnVuY3Rp b24gaXMgaGFyZC1jb2RlZCBpbnRvIGBvcmctc3RvcmUtbGluaycsCi07OyBzbyB3ZSBkbyBo YXZlIHRvIGFkZCBpdCB0byBgb3JnLXN0b3JlLWxpbmstZnVuY3Rpb25zJy4KKyhkZWZ1biBv cmctaWQtLWdldC1pZC10by1zdG9yZS1saW5rICgmb3B0aW9uYWwgY3JlYXRlKQorICAiR2V0 IG9yIGNyZWF0ZSB0aGUgcmVsZXZhbnQgSUQgZm9yIHN0b3JpbmcgYSBsaW5rLgorCitPcHRp b25hbCBhcmd1bWVudCBDUkVBVEUgaXMgcGFzc2VkIHRvIGBvcmctaWQtZ2V0Jy4KKworSW5o ZXJpdGVkIElEcyBhcmUgb25seSBjb25zaWRlcmVkIHdoZW4KK2BvcmctaWQtbGluay1jb25z aWRlci1wYXJlbnQtaWQnLCBgb3JnLWlkLWxpbmstdXNlLWNvbnRleHQnIGFuZAorYG9yZy1s aW5rLWNvbnRleHQtZm9yLWZpbGVzJyBhcmUgYWxsIGVuYWJsZWQsIHNpbmNlIGluaGVyaXRl ZCBJRHMKK2FyZSBjb25mdXNpbmcgd2l0aG91dCB0aGUgYWRkaXRpb25hbCBzZWFyY2ggc3Ry aW5nIGNvbnRleHQuCisKK05vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIHJlc2V0cyB0aGUKK2Bv cmctZW50cnktcHJvcGVydHktaW5oZXJpdGVkLWZyb20nIG1hcmtlcjogaXQgd2lsbCBlaXRo ZXIgcG9pbnQKK3RvIG5pbCAoaWYgdGhlIGlkIHdhcyBub3QgaW5oZXJpdGVkKSBvciB0byB0 aGUgcG9pbnQgaXQgd2FzCitpbmhlcml0ZWQgZnJvbS4iCisgIChsZXQqICgoaW5oZXJpdC1p ZCAoYW5kIG9yZy1pZC1saW5rLWNvbnNpZGVyLXBhcmVudC1pZAorICAgICAgICAgICAgICAg ICAgICAgICAgICBvcmctaWQtbGluay11c2UtY29udGV4dAorICAgICAgICAgICAgICAgICAg ICAgICAgICBvcmctbGluay1jb250ZXh0LWZvci1maWxlcykpKQorICAgIChtb3ZlLW1hcmtl ciBvcmctZW50cnktcHJvcGVydHktaW5oZXJpdGVkLWZyb20gbmlsKQorICAgIChvcmctaWQt Z2V0IG5pbCBjcmVhdGUgbmlsIGluaGVyaXQtaWQpKSkKIAogOzs7IyMjYXV0b2xvYWQKIChk ZWZ1biBvcmctaWQtc3RvcmUtbGluayAoKQogICAiU3RvcmUgYSBsaW5rIHRvIHRoZSBjdXJy ZW50IGVudHJ5LCB1c2luZyBpdHMgSUQuCiAKLUlmIGJlZm9yZSBmaXJzdCBoZWFkaW5nIHN0 b3JlIGZpcnN0IHRpdGxlLWtleXdvcmQgYXMgZGVzY3JpcHRpb24KLW9yIGZpbGVuYW1lIGlm IG5vIHRpdGxlLiIKK1RoZSBsaW5rIGRlc2NyaXB0aW9uIGlzIGJhc2VkIG9uIHRoZSBoZWFk aW5nLCBvciBpZiBiZWZvcmUgdGhlCitmaXJzdCBoZWFkaW5nLCB0aGUgdGl0bGUga2V5d29y ZCBpZiBhdmFpbGFibGUsIG9yIGVsc2UgdGhlCitmaWxlbmFtZS4KKworV2hlbiBgb3JnLWxp bmstY29udGV4dC1mb3ItZmlsZXMnIGFuZCBgb3JnLWlkLWxpbmstdXNlLWNvbnRleHQnCith cmUgbm9uLW5pbCwgYWRkIGEgc2VhcmNoIHN0cmluZyB0byB0aGUgbGluay4gIFRoZSBsaW5r CitkZXNjcmlwdGlvbiBpcyB0aGVuIGJhc2VkIG9uIHRoZSBzZWFyY2ggc3RyaW5nIHRhcmdl dC4KKworV2hlbiBpbiBhZGRpdGlvbiBgb3JnLWlkLWxpbmstY29uc2lkZXItcGFyZW50LWlk JyBpcyBub24tbmlsLCB0aGUKK0lEIGNhbiBiZSBpbmhlcml0ZWQgZnJvbSBhIHBhcmVudCBl bnRyeSwgd2l0aCB0aGUgc2VhcmNoIHN0cmluZwordXNlZCB0byBzdGlsbCBsaW5rIHRvIHRo ZSBjdXJyZW50IGxvY2F0aW9uLiIKICAgKGludGVyYWN0aXZlKQotICAod2hlbiAoYW5kIChi dWZmZXItZmlsZS1uYW1lIChidWZmZXItYmFzZS1idWZmZXIpKSAoZGVyaXZlZC1tb2RlLXAg J29yZy1tb2RlKSkKLSAgICAobGV0KiAoKGxpbmsgKGNvbmNhdCAiaWQ6IiAob3JnLWlkLWdl dC1jcmVhdGUpKSkKKyAgKHdoZW4gKGFuZCAoYnVmZmVyLWZpbGUtbmFtZSAoYnVmZmVyLWJh c2UtYnVmZmVyKSkKKyAgICAgICAgICAgICAoZGVyaXZlZC1tb2RlLXAgJ29yZy1tb2RlKSkK KyAgICA7OyBHZXQgdGhlIHByZWNpc2UgdGFyZ2V0IGZpcnN0LCBpbiBjYXNlIGxvb2tpbmcg Zm9yIGFuIGlkIGNhdXNlcworICAgIDs7IGEgcHJvcGVydGllcyBkcmF3ZXIgdG8gYmUgYWRk ZWQgYXQgdGhlIGN1cnJlbnQgbG9jYXRpb24uCisgICAgKGxldCogKChwcmVjaXNlLXRhcmdl dCAoYW5kIG9yZy1saW5rLWNvbnRleHQtZm9yLWZpbGVzCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG9yZy1pZC1saW5rLXVzZS1jb250ZXh0CisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChvcmctbGluay1wcmVjaXNlLWxpbmstdGFyZ2V0KSkpCisgICAg ICAgICAgIChsaW5rIChjb25jYXQgImlkOiIgKG9yZy1pZC0tZ2V0LWlkLXRvLXN0b3JlLWxp bmsgJ2NyZWF0ZSkpKQorICAgICAgICAgICAoaWQtbG9jYXRpb24gKG9yIChhbmQgb3JnLWVu dHJ5LXByb3BlcnR5LWluaGVyaXRlZC1mcm9tCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAobWFya2VyLXBvc2l0aW9uIG9yZy1lbnRyeS1wcm9wZXJ0eS1pbmhlcml0ZWQt ZnJvbSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNhdmUtZXhjdXJzaW9uIChv cmctYmFjay10by1oZWFkaW5nLW9yLXBvaW50LW1pbiB0KSAocG9pbnQpKSkpCiAJICAgKGNh c2UtZm9sZC1zZWFyY2ggbmlsKQogCSAgIChkZXNjIChzYXZlLWV4Y3Vyc2lvbgotCQkgICAo b3JnLWJhY2stdG8taGVhZGluZy1vci1wb2ludC1taW4gdCkKKyAgICAgICAgICAgICAgICAg ICAoZ290by1jaGFyIGlkLWxvY2F0aW9uKQogICAgICAgICAgICAgICAgICAgIChjb25kICgo b3JnLWJlZm9yZS1maXJzdC1oZWFkaW5nLXApCiAgICAgICAgICAgICAgICAgICAgICAgICAg IChsZXQgKChrZXl3b3JkcyAob3JnLWNvbGxlY3Qta2V5d29yZHMgJygiVElUTEUiKSkpKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiBrZXl3b3JkcwpAQCAtNzI2LDE0ICs4 MDcsNTkgQEAgb3IgZmlsZW5hbWUgaWYgbm8gdGl0bGUuIgogCQkJICAgICAgKG1hdGNoLXN0 cmluZyA0KQogCQkJICAgIChtYXRjaC1zdHJpbmcgMCkpKQogICAgICAgICAgICAgICAgICAg ICAgICAgICh0IGxpbmspKSkpKQorICAgICAgOzsgUHJlY2lzZSB0YXJnZXRzIHNob3VsZCBi ZSBhZnRlciBpZC1sb2NhdGlvbiB0byBhdm9pZAorICAgICAgOzsgZHVwbGljYXRpbmcgdGhl IGN1cnJlbnQgaGVhZGxpbmUgYXMgYSBzZWFyY2ggc3RyaW5nCisgICAgICAod2hlbiAoYW5k IHByZWNpc2UtdGFyZ2V0CisgICAgICAgICAgICAgICAgICg+IChudGggMiBwcmVjaXNlLXRh cmdldCkgaWQtbG9jYXRpb24pKQorICAgICAgICAgKHNldHEgbGluayAoY29uY2F0IGxpbmsg Ijo6IiAobnRoIDAgcHJlY2lzZS10YXJnZXQpKSkKKyAgICAgICAgIChzZXRxIGRlc2MgKG50 aCAxIHByZWNpc2UtdGFyZ2V0KSkpCiAgICAgICAob3JnLWxpbmstc3RvcmUtcHJvcHMgOmxp bmsgbGluayA6ZGVzY3JpcHRpb24gZGVzYyA6dHlwZSAiaWQiKQogICAgICAgbGluaykpKQog Ci0oZGVmdW4gb3JnLWlkLW9wZW4gKGlkIF8pCi0gICJHbyB0byB0aGUgZW50cnkgd2l0aCBp ZCBJRC4iCi0gIChvcmctbWFyay1yaW5nLXB1c2gpCi0gIChsZXQgKChtIChvcmctaWQtZmlu ZCBpZCAnbWFya2VyKSkKLQljbWQpCis7OzsjIyNhdXRvbG9hZAorKGRlZnVuIG9yZy1pZC1z dG9yZS1saW5rLW1heWJlICgmb3B0aW9uYWwgaW50ZXJhY3RpdmU/KQorICAiU3RvcmUgYSBs aW5rIHRvIHRoZSBjdXJyZW50IGVudHJ5IHVzaW5nIGl0cyBJRCBpZiBlbmFibGVkLgorCitU aGUgdmFsdWUgb2YgYG9yZy1pZC1saW5rLXRvLW9yZy11c2UtaWQnIGRldGVybWluZXMgd2hl dGhlciBhbiBJRAorbGluayBzaG91bGQgYmUgc3RvcmVkLCB1c2luZyBgb3JnLWlkLXN0b3Jl LWxpbmsnLgorCitBc3N1bWUgdGhlIGZ1bmN0aW9uIGlzIGNhbGxlZCBpbnRlcmFjdGl2ZWx5 IGlmIElOVEVSQUNUSVZFPyBpcworbm9uLW5pbC4iCisgICh3aGVuIChhbmQgKGJ1ZmZlci1m aWxlLW5hbWUgKGJ1ZmZlci1iYXNlLWJ1ZmZlcikpCisgICAgICAgICAgICAgKGRlcml2ZWQt bW9kZS1wICdvcmctbW9kZSkKKyAgICAgICAgICAgICAob3IgKGVxIG9yZy1pZC1saW5rLXRv LW9yZy11c2UtaWQgdCkKKyAgICAgICAgICAgICAgICAgKGFuZCBpbnRlcmFjdGl2ZT8KKyAg ICAgICAgICAgICAgICAgICAgICAob3IgKGVxIG9yZy1pZC1saW5rLXRvLW9yZy11c2UtaWQg J2NyZWF0ZS1pZi1pbnRlcmFjdGl2ZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKGFu ZCAoZXEgb3JnLWlkLWxpbmstdG8tb3JnLXVzZS1pZAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAnY3JlYXRlLWlmLWludGVyYWN0aXZlLWFuZC1uby1jdXN0b20taWQp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5vdCAob3JnLWVudHJ5LWdldCBu aWwgIkNVU1RPTV9JRCIpKSkpKQorICAgICAgICAgICAgICAgICA7OyAndXNlLWV4aXN0aW5n CisgICAgICAgICAgICAgICAgIChhbmQgb3JnLWlkLWxpbmstdG8tb3JnLXVzZS1pZAorICAg ICAgICAgICAgICAgICAgICAgIChvcmctaWQtLWdldC1pZC10by1zdG9yZS1saW5rKSkpKQor ICAgIChvcmctaWQtc3RvcmUtbGluaykpKQorCisoZGVmdW4gb3JnLWlkLW9wZW4gKGxpbmsg XykKKyAgIkdvIHRvIHRoZSBlbnRyeSBpbmRpY2F0ZWQgYnkgaWQgbGluayBMSU5LLgorCitU aGUgbGluayBjYW4gaW5jbHVkZSBhIHNlYXJjaCBzdHJpbmcgYWZ0ZXIgXCI6OlwiLCB3aGlj aCBpcworcGFzc2VkIHRvIGBvcmctbGluay1zZWFyY2gnLgorCitGb3IgYmFja3dhcmRzIGNv bXBhdGliaWxpdHkgd2l0aCBJRHMgdGhhdCBjb250YWluIFwiOjpcIiwgaWYgbm8KK21hdGNo IGlzIGZvdW5kIGZvciB0aGUgSUQsIHRoZSBmdWxsIGxpbmsgc3RyaW5nIGluY2x1ZGluZyBc Ijo6XCIKK3dpbGwgYmUgdHJpZWQgYXMgYW4gSUQuIgorICAobGV0KiAoKG9wdGlvbiAoYW5k IChzdHJpbmctbWF0Y2ggIjo6XFwoLipcXClcXCciIGxpbmspCisJCSAgICAgIChtYXRjaC1z dHJpbmcgMSBsaW5rKSkpCisJIChpZCAoaWYgKG5vdCBvcHRpb24pIGxpbmsKKyAgICAgICAg ICAgICAgIChzdWJzdHJpbmcgbGluayAwIChtYXRjaC1iZWdpbm5pbmcgMCkpKSkKKyAgICAg ICAgIG0gY21kKQorICAgIChvcmctbWFyay1yaW5nLXB1c2gpCisgICAgKHNldHEgbSAob3Jn LWlkLWZpbmQgaWQgJ21hcmtlcikpCisgICAgKHdoZW4gKGFuZCAobm90IG0pIG9wdGlvbikK KyAgICAgIDs7IEJhY2t3YXJkcyBjb21wYXRpYmlsaXR5OiBpZiBpZCBpcyBub3QgZm91bmQs IHRyeSB0cmVhdGluZworICAgICAgOzsgd2hvbGUgbGluayBhcyBhbiBpZC4KKyAgICAgIChz ZXRxIG0gKG9yZy1pZC1maW5kIGxpbmsgJ21hcmtlcikpCisgICAgICAod2hlbiBtCisgICAg ICAgIChzZXRxIG9wdGlvbiBuaWwpKSkKICAgICAodW5sZXNzIG0KICAgICAgIChlcnJvciAi Q2Fubm90IGZpbmQgZW50cnkgd2l0aCBJRCBcIiVzXCIiIGlkKSkKICAgICA7OyBVc2UgYSBi dWZmZXItc3dpdGNoaW5nIGNvbW1hbmQgaW4gYW5hbG9neSB0byBmaW5kaW5nIGZpbGVzCkBA IC03NTAsOSArODc2LDE3IEBAIG9yIGZpbGVuYW1lIGlmIG5vIHRpdGxlLiIKIAkoZnVuY2Fs bCBjbWQgKG1hcmtlci1idWZmZXIgbSkpKQogICAgIChnb3RvLWNoYXIgbSkKICAgICAobW92 ZS1tYXJrZXIgbSBuaWwpCisgICAgKHdoZW4gb3B0aW9uCisgICAgICAoc2F2ZS1yZXN0cmlj dGlvbgorICAgICAgICAodW5sZXNzIChvcmctYmVmb3JlLWZpcnN0LWhlYWRpbmctcCkKKyAg ICAgICAgICAob3JnLW5hcnJvdy10by1zdWJ0cmVlKSkKKyAgICAgICAgKG9yZy1saW5rLXNl YXJjaCBvcHRpb24gbmlsIG5pbAorICAgICAgICAgICAgICAgICAgICAgICAgIChvcmctZWxl bWVudC1saW5lYWdlIChvcmctZWxlbWVudC1hdC1wb2ludCkgJ2hlYWRsaW5lIHQpKSkpCiAg ICAgKG9yZy1mb2xkLXNob3ctY29udGV4dCkpKQogCi0ob3JnLWxpbmstc2V0LXBhcmFtZXRl cnMgImlkIiA6Zm9sbG93ICMnb3JnLWlkLW9wZW4pCisob3JnLWxpbmstc2V0LXBhcmFtZXRl cnMgImlkIgorICA6Zm9sbG93ICMnb3JnLWlkLW9wZW4KKyAgOnN0b3JlICMnb3JnLWlkLXN0 b3JlLWxpbmstbWF5YmUpCiAKIChwcm92aWRlICdvcmctaWQpCiAKZGlmZiAtLWdpdCBhL2xp c3Avb3JnLWxpbnQuZWwgYi9saXNwL29yZy1saW50LmVsCmluZGV4IDRkMmE1NWQxNS4uYjIz YWZjY2EzIDEwMDY0NAotLS0gYS9saXNwL29yZy1saW50LmVsCisrKyBiL2xpc3Avb3JnLWxp bnQuZWwKQEAgLTY1LDYgKzY1LDcgQEAKIDs7IC0gc3BlY2lhbCBwcm9wZXJ0aWVzIGluIHBy b3BlcnRpZXMgZHJhd2VycywKIDs7IC0gb2Jzb2xldGUgc3ludGF4IGZvciBwcm9wZXJ0aWVz IGRyYXdlcnMsCiA7OyAtIGludmFsaWQgZHVyYXRpb24gaW4gRUZGT1JUIHByb3BlcnR5LAor OzsgLSBpbnZhbGlkIElEIHByb3BlcnR5IHdpdGggYSBkb3VibGUgY29sb24sCiA7OyAtIG1p c3NpbmcgZGVmaW5pdGlvbiBmb3IgZm9vdG5vdGUgcmVmZXJlbmNlcywKIDs7IC0gbWlzc2lu ZyByZWZlcmVuY2UgZm9yIGZvb3Rub3RlIGRlZmluaXRpb25zLAogOzsgLSBub24tZm9vdG5v dGUgZGVmaW5pdGlvbnMgaW4gZm9vdG5vdGUgc2VjdGlvbiwKQEAgLTY4Niw2ICs2ODcsMTYg QEAgVXNlIDpoZWFkZXItYXJnczogaW5zdGVhZCIKIAkgICAgICAgKGxpc3QgKG9yZy1lbGVt ZW50LWJlZ2luIHApCiAJCSAgICAgKGZvcm1hdCAiSW52YWxpZCBlZmZvcnQgZHVyYXRpb24g Zm9ybWF0OiAlUyIgdmFsdWUpKSkpKSkpKQogCisoZGVmdW4gb3JnLWxpbnQtaW52YWxpZC1p ZC1wcm9wZXJ0eSAoYXN0KQorICAob3JnLWVsZW1lbnQtbWFwIGFzdCAnbm9kZS1wcm9wZXJ0 eQorICAgIChsYW1iZGEgKHApCisgICAgICAod2hlbiAoZXF1YWwgIklEIiAob3JnLWVsZW1l bnQtcHJvcGVydHkgOmtleSBwKSkKKwkobGV0ICgodmFsdWUgKG9yZy1lbGVtZW50LXByb3Bl cnR5IDp2YWx1ZSBwKSkpCisJICAoYW5kIChvcmctc3RyaW5nLW53LXAgdmFsdWUpCisgICAg ICAgICAgICAgICAoc3RyaW5nLW1hdGNoLXAgIjo6IiB2YWx1ZSkKKwkgICAgICAgKGxpc3Qg KG9yZy1lbGVtZW50LWJlZ2luIHApCisJCSAgICAgKGZvcm1hdCAiSURzIHNob3VsZCBub3Qg aW5jbHVkZSBcIjo6XCI6ICVTIiB2YWx1ZSkpKSkpKSkpCisKIChkZWZ1biBvcmctbGludC1s aW5rLXRvLWxvY2FsLWZpbGUgKGFzdCkKICAgKG9yZy1lbGVtZW50LW1hcCBhc3QgJ2xpbmsK ICAgICAobGFtYmRhIChsKQpAQCAtMTY4NCw2ICsxNjk1LDExIEBAIEFTVCBpcyB0aGUgYnVm ZmVyIHBhcnNlIHRyZWUuIgogICAjJ29yZy1saW50LWludmFsaWQtZWZmb3J0LXByb3BlcnR5 CiAgIDpjYXRlZ29yaWVzICcocHJvcGVydGllcykpCiAKKyhvcmctbGludC1hZGQtY2hlY2tl ciAnaW52YWxpZC1pZC1wcm9wZXJ0eQorICAiUmVwb3J0IHNlYXJjaCBzdHJpbmcgZGVsaW1p dGVyIFwiOjpcIiBpbiBJRCBwcm9wZXJ0eSIKKyAgIydvcmctbGludC1pbnZhbGlkLWlkLXBy b3BlcnR5CisgIDpjYXRlZ29yaWVzICcocHJvcGVydGllcykpCisKIChvcmctbGludC1hZGQt Y2hlY2tlciAndW5kZWZpbmVkLWZvb3Rub3RlLXJlZmVyZW5jZQogICAiUmVwb3J0IG1pc3Np bmcgZGVmaW5pdGlvbiBmb3IgZm9vdG5vdGUgcmVmZXJlbmNlcyIKICAgIydvcmctbGludC11 bmRlZmluZWQtZm9vdG5vdGUtcmVmZXJlbmNlCmRpZmYgLS1naXQgYS90ZXN0aW5nL2xpc3Av dGVzdC1vbC5lbCBiL3Rlc3RpbmcvbGlzcC90ZXN0LW9sLmVsCmluZGV4IGUwY2VjMDg1NC4u MzE1MGI0ZTJmIDEwMDY0NAotLS0gYS90ZXN0aW5nL2xpc3AvdGVzdC1vbC5lbAorKysgYi90 ZXN0aW5nL2xpc3AvdGVzdC1vbC5lbApAQCAtMzgxLDYgKzM4MSwxMjggQEAgU2VlIGh0dHBz Oi8vZ2l0aHViLmNvbS95YW50YXI5Mi9vcmcvaXNzdWVzLzQuIgogCSAoZXF1YWwgKGZvcm1h dCAiW1tmaWxlOiVzOjoqZm9vIGJhcl1bZm9vIGJhcl1dIiBmaWxlIGZpbGUpCiAJCShvcmct c3RvcmUtbGluayBuaWwpKSkpKSkpCiAKKyhlcnQtZGVmdGVzdCB0ZXN0LW9yZy1saW5rL3By ZWNpc2UtbGluay10YXJnZXQgKCkKKyAgIlRlc3QgYG9yZy1saW5rLXByZWNpc2UtbGluay10 YXJnZXRgIHNwZWNpZmljYXRpb25zLiIKKyAgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0ICIq IEgxPHBvaW50PlxuKiBIMlxuIgorICAgIChzaG91bGQKKyAgICAgKGVxdWFsICcoIipIMSIg IkgxIiAxKQorICAgICAgICAgICAgKG9yZy1saW5rLXByZWNpc2UtbGluay10YXJnZXQpKSkp CisgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dCAiKiBIMVxuIytuYW1lOiBmb288cG9pbnQ+ XG4jK2JlZ2luX2V4YW1wbGVcbmhpXG4jK2VuZF9leGFtcGxlXG4iCisgICAgKHNob3VsZAor ICAgICAoZXF1YWwgJygiZm9vIiAiZm9vIiA2KQorICAgICAgICAgICAgKG9yZy1saW5rLXBy ZWNpc2UtbGluay10YXJnZXQpKSkpCisgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dCAiXG5U ZXh0PHBvaW50PlxuKiBIMVxuIgorICAgIChzaG91bGQKKyAgICAgKGVxdWFsICcoIlRleHQi IG5pbCAyKQorICAgICAgICAgICAgKG9yZy1saW5rLXByZWNpc2UtbGluay10YXJnZXQpKSkp CisgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dCAiXG48cG9pbnQ+XG4qIEgxXG4iCisgICAg KHNob3VsZAorICAgICAoZXF1YWwgbmlsIChvcmctbGluay1wcmVjaXNlLWxpbmstdGFyZ2V0 KSkpKSkKKworKGRlZm1hY3JvIHRlc3Qtb2wtc3RvcmVkLWxpbmstd2l0aC10ZXh0ICh0ZXh0 ICZyZXN0IGJvZHkpCisgICJSZXR1cm4gOmxpbmsgYW5kIDpkZXNjcmlwdGlvbiBmcm9tIGxp bmsgc3RvcmVkIGluIGJvZHkuIgorICAoZGVjbGFyZSAoaW5kZW50IDEpKQorICBgKGxldCAo b3JnLXN0b3JlLWxpbmstcGxpc3QpCisgICAgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dC1p bi1maWxlICx0ZXh0CisgICAgICAgLEBib2R5CisgICAgICAgKGxpc3QgKHBsaXN0LWdldCBv cmctc3RvcmUtbGluay1wbGlzdCA6bGluaykKKyAgICAgICAgICAgICAocGxpc3QtZ2V0IG9y Zy1zdG9yZS1saW5rLXBsaXN0IDpkZXNjcmlwdGlvbikpKSkpCisKKyhlcnQtZGVmdGVzdCB0 ZXN0LW9yZy1saW5rL2lkLXN0b3JlLWxpbmsgKCkKKyAgIlRlc3QgYG9yZy1pZC1zdG9yZS1s aW5rJyBzcGVjaWZpY2F0aW9ucy4iCisgIChsZXQgKChvcmctaWQtbGluay10by1vcmctdXNl LWlkIG5pbCkpCisgICAgKHNob3VsZAorICAgICAoZXF1YWwgJyhuaWwgbmlsKQorICAgICAg ICAgICAgKHRlc3Qtb2wtc3RvcmVkLWxpbmstd2l0aC10ZXh0ICIqIEgxXG46UFJPUEVSVElF UzpcbjpJRDogYWJjXG46RU5EOlxuIgorICAgICAgICAgICAgICAob3JnLWlkLXN0b3JlLWxp bmstbWF5YmUgdCkpKSkpCisgIDs7IE9uIGEgaGVhZGxpbmUsIGxpbmsgdG8gdGhhdCBoZWFk bGluZSdzIElELiAgVXNlIGhlYWRpbmcgYXMgdGhlCisgIDs7IGRlc2NyaXB0aW9uIG9mIHRo ZSBsaW5rLgorICAobGV0ICgob3JnLWlkLWxpbmstdG8tb3JnLXVzZS1pZCB0KSkKKyAgICAo c2hvdWxkCisgICAgIChlcXVhbCAnKCJpZDphYmMiICJIMSIpCisgICAgICAgICAgICAodGVz dC1vbC1zdG9yZWQtbGluay13aXRoLXRleHQgIiogSDFcbjpQUk9QRVJUSUVTOlxuOklEOiBh YmNcbjpFTkQ6XG4iCisgICAgICAgICAgICAgIChvcmctaWQtc3RvcmUtbGluay1tYXliZSB0 KSkpKSkKKyAgOzsgUmVtb3ZlIFRPRE8ga2V5d29yZHMgZXRjIGZyb20gZGVzY3JpcHRpb24g b2YgdGhlIGxpbmsuCisgIChsZXQgKChvcmctaWQtbGluay10by1vcmctdXNlLWlkIHQpKQor ICAgIChzaG91bGQKKyAgICAgKGVxdWFsICcoImlkOmFiYyIgIkgxIikKKyAgICAgICAgICAg ICh0ZXN0LW9sLXN0b3JlZC1saW5rLXdpdGgtdGV4dCAiKiBUT0RPIFsjQV0gSDEgOnRhZzpc bjpQUk9QRVJUSUVTOlxuOklEOiBhYmNcbjpFTkQ6XG4iCisgICAgICAgICAgICAgIChvcmct aWQtc3RvcmUtbGluay1tYXliZSB0KSkpKSkKKyAgOzsgY3JlYXRlLWlmLWludGVyYWN0aXZl CisgIChsZXQgKChvcmctaWQtbGluay10by1vcmctdXNlLWlkICdjcmVhdGUtaWYtaW50ZXJh Y3RpdmUpKQorICAgIChzaG91bGQKKyAgICAgKGVxdWFsICcoImlkOmFiYyIgIkgxIikKKyAg ICAgICAgICAgIChjbC1sZXRmICgoKHN5bWJvbC1mdW5jdGlvbiAnb3JnLWlkLW5ldykKKyAg ICAgICAgICAgICAgICAgICAgICAgKGxhbWJkYSAoJnJlc3QgX3Jlc3QpICJhYmMiKSkpCisg ICAgICAgICAgICAgICh0ZXN0LW9sLXN0b3JlZC1saW5rLXdpdGgtdGV4dCAiKiBIMVxuIgor ICAgICAgICAgICAgICAgIChvcmctaWQtc3RvcmUtbGluay1tYXliZSB0KSkpKSkKKyAgICAo c2hvdWxkCisgICAgIChlcXVhbCAnKG5pbCBuaWwpCisgICAgICAgICAgICAodGVzdC1vbC1z dG9yZWQtbGluay13aXRoLXRleHQgIiogSDFcbiIKKyAgICAgICAgICAgICAgKG9yZy1pZC1z dG9yZS1saW5rLW1heWJlIG5pbCkpKSkpCisgIDs7IGNyZWF0ZS1pZi1pbnRlcmFjdGl2ZS1h bmQtbm8tY3VzdG9tLWlkCisgIChsZXQgKChvcmctaWQtbGluay10by1vcmctdXNlLWlkICdj cmVhdGUtaWYtaW50ZXJhY3RpdmUtYW5kLW5vLWN1c3RvbS1pZCkpCisgICAgKHNob3VsZAor ICAgICAoZXF1YWwgJygiaWQ6YWJjIiAiSDEiKQorICAgICAgICAgICAgKGNsLWxldGYgKCgo c3ltYm9sLWZ1bmN0aW9uICdvcmctaWQtbmV3KQorICAgICAgICAgICAgICAgICAgICAgICAo bGFtYmRhICgmcmVzdCBfcmVzdCkgImFiYyIpKSkKKyAgICAgICAgICAgICAgKHRlc3Qtb2wt c3RvcmVkLWxpbmstd2l0aC10ZXh0ICIqIEgxXG4iCisgICAgICAgICAgICAgICAgKG9yZy1p ZC1zdG9yZS1saW5rLW1heWJlIHQpKSkpKQorICAgIChzaG91bGQKKyAgICAgKGVxdWFsICco bmlsIG5pbCkKKyAgICAgICAgICAgICh0ZXN0LW9sLXN0b3JlZC1saW5rLXdpdGgtdGV4dCAi KiBIMVxuOlBST1BFUlRJRVM6XG46Q1VTVE9NX0lEOiB4eXpcbjpFTkQ6XG4iCisgICAgICAg ICAgICAgIChvcmctaWQtc3RvcmUtbGluay1tYXliZSB0KSkpKQorICAgIChzaG91bGQKKyAg ICAgKGVxdWFsICcobmlsIG5pbCkKKyAgICAgICAgICAgICh0ZXN0LW9sLXN0b3JlZC1saW5r LXdpdGgtdGV4dCAiKiBIMVxuIgorICAgICAgICAgICAgICAob3JnLWlkLXN0b3JlLWxpbmst bWF5YmUgbmlsKSkpKSkKKyAgOzsgdXNlLWNvbnRleHQgc2hvdWxkIGhhdmUgbm8gZWZmZWN0 IHdoZW4gb24gdGhlIGhlYWRsaW5lIHdpdGggYW4gaWQKKyAgKGxldCAoKG9yZy1pZC1saW5r LXRvLW9yZy11c2UtaWQgdCkKKyAgICAgICAgKG9yZy1pZC1saW5rLXVzZS1jb250ZXh0IHQp KQorICAgIChzaG91bGQKKyAgICAgKGVxdWFsICcoImlkOmFiYyIgIkgyIikKKyAgICAgICAg ICAgICh0ZXN0LW9sLXN0b3JlZC1saW5rLXdpdGgtdGV4dCAiKiBIMVxuKiogSDI8cG9pbnQ+ XG46UFJPUEVSVElFUzpcbjpJRDogYWJjXG46RU5EOlxuIgorICAgICAgICAgICAgICA7OyBz aW11bGF0ZSBwcmV2aW91c2x5IGdldHRpbmcgYW4gaW5oZXJpdGVkIHZhbHVlCisgICAgICAg ICAgICAgIChtb3ZlLW1hcmtlciBvcmctZW50cnktcHJvcGVydHktaW5oZXJpdGVkLWZyb20g MSkKKyAgICAgICAgICAgICAgKG9yZy1pZC1zdG9yZS1saW5rLW1heWJlIHQpKSkpKSkKKwor KGVydC1kZWZ0ZXN0IHRlc3Qtb3JnLWxpbmsvaWQtc3RvcmUtbGluay11c2luZy1wYXJlbnQg KCkKKyAgIlRlc3QgYG9yZy1pZC1zdG9yZS1saW5rJyBzcGVjaWZpY2F0aW9ucyB3aXRoIGBv cmctaWQtbGluay1jb25zaWRlci1wYXJlbnQtaWRgIHNldC4iCisgIDs7IHdoZW4gdXNpbmcg Y29udGV4dCB0byBzdGlsbCBmaW5kIHNwZWNpZmljIGhlYWRpbmcKKyAgKGxldCAoKG9yZy1p ZC1saW5rLXRvLW9yZy11c2UtaWQgdCkKKyAgICAgICAgKG9yZy1pZC1saW5rLWNvbnNpZGVy LXBhcmVudC1pZCB0KQorICAgICAgICAob3JnLWlkLWxpbmstdXNlLWNvbnRleHQgdCkpCisg ICAgKHNob3VsZAorICAgICAoZXF1YWwgJygiaWQ6YWJjOjoqSDIiICJIMiIpCisgICAgICAg ICAgICAodGVzdC1vbC1zdG9yZWQtbGluay13aXRoLXRleHQgIiogSDFcbjpQUk9QRVJUSUVT OlxuOklEOiBhYmNcbjpFTkQ6XG4qKiBIMlxuPHBvaW50PiIKKyAgICAgICAgICAgICAgKG9y Zy1pZC1zdG9yZS1saW5rKSkpKQorICAgIChzaG91bGQKKyAgICAgKGVxdWFsICcoImlkOmFi Yzo6bmFtZSIgIm5hbWUiKQorICAgICAgICAgICAgKHRlc3Qtb2wtc3RvcmVkLWxpbmstd2l0 aC10ZXh0ICIqIEgxXG46UFJPUEVSVElFUzpcbjpJRDogYWJjXG46RU5EOlxuXG4jK25hbWU6 IG5hbWVcbjxwb2ludD4jK2JlZ2luX2V4YW1wbGVcbmhpXG4jK2VuZF9leGFtcGxlXG4iCisg ICAgICAgICAgICAgIChvcmctaWQtc3RvcmUtbGluaykpKSkKKyAgICAoc2hvdWxkCisgICAg IChlcXVhbCAnKCJpZDphYmMiICJIMSIpCisgICAgICAgICAgICAodGVzdC1vbC1zdG9yZWQt bGluay13aXRoLXRleHQgIiogSDE8cG9pbnQ+XG46UFJPUEVSVElFUzpcbjpJRDogYWJjXG46 RU5EOlxuKiogSDJcbiIKKyAgICAgICAgICAgICAgKG9yZy1pZC1zdG9yZS1saW5rKSkpKQor ICAgIDs7IHNob3VsZCBub3QgdXNlIG5ld2x5IGFkZGVkIGlkcyBhcyBzZWFyY2ggc3RyaW5n LCBlLmcuIGluIGFuIGVtcHR5IGZpbGUKKyAgICAoc2hvdWxkCisgICAgIChsZXQgKG5hbWUg cmVzdWx0KQorICAgICAgIChzZXRxIHJlc3VsdAorICAgICAgICAgICAgIChjbC1sZXRmICgo KHN5bWJvbC1mdW5jdGlvbiAnb3JnLWlkLW5ldykKKyAgICAgICAgICAgICAgICAgICAgICAg IChsYW1iZGEgKCZyZXN0IF9yZXN0KSAiYWJjIikpKQorICAgICAgICAgICAgICAgKHRlc3Qt b2wtc3RvcmVkLWxpbmstd2l0aC10ZXh0ICI8cG9pbnQ+IgorICAgICAgICAgICAgICAgICAo c2V0cSBuYW1lIChidWZmZXItbmFtZSkpCisgICAgICAgICAgICAgICAgIChvcmctaWQtc3Rv cmUtbGluaykpKSkKKyAgICAgICAoZXF1YWwgYCgiaWQ6YWJjIiAsbmFtZSkgcmVzdWx0KSkp KQorICA7OyBzaG91bGQgbm90IGZpbmQgdGFyZ2V0cyBpbiB0aGUgbmV4dCBzZWN0aW9uCisg IChsZXQgKChvcmctaWQtbGluay10by1vcmctdXNlLWlkICd1c2UtZXhpc3RpbmcpCisgICAg ICAgIChvcmctaWQtbGluay1jb25zaWRlci1wYXJlbnQtaWQgdCkKKyAgICAgICAgKG9yZy1p ZC1saW5rLXVzZS1jb250ZXh0IHQpKQorICAgIChzaG91bGQKKyAgICAgKGVxdWFsICcobmls IG5pbCkKKyAgICAgICAgICAgICh0ZXN0LW9sLXN0b3JlZC1saW5rLXdpdGgtdGV4dCAiKiBI MVxuOlBST1BFUlRJRVM6XG46SUQ6IGFiY1xuOkVORDpcbiogSDJcbioqIDxwb2ludD5UYXJn ZXRcbiIKKyAgICAgICAgICAgICAgKG9yZy1pZC1zdG9yZS1saW5rLW1heWJlIHQpKSkpKSkK KwogDAogOzs7IFJhZGlvIFRhcmdldHMKIAotLSAKMi4zNy4xIChBcHBsZSBHaXQtMTM3LjEp Cgo= --13f999e0e77f4281a6053915a7134bfe--