From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Noam Postavsky Newsgroups: gmane.emacs.bugs Subject: bug#30168: 25.3.50; segfault when opening scratch buffer (GUI), other times Date: Sat, 20 Jan 2018 00:02:11 -0500 Message-ID: <87vafxnmwc.fsf@users.sourceforge.net> References: NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: blaine.gmane.org 1516424591 30547 195.159.176.226 (20 Jan 2018 05:03:11 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 20 Jan 2018 05:03:11 +0000 (UTC) Cc: Tina Russell To: 30168@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Jan 20 06:03:06 2018 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eclIx-0007Az-1T for geb-bug-gnu-emacs@m.gmane.org; Sat, 20 Jan 2018 06:02:59 +0100 Original-Received: from localhost ([::1]:41997 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eclKv-0001u5-8T for geb-bug-gnu-emacs@m.gmane.org; Sat, 20 Jan 2018 00:05:01 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:45051) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eclK7-0001l8-TL for bug-gnu-emacs@gnu.org; Sat, 20 Jan 2018 00:04:50 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eclJ2-0002ft-Me for bug-gnu-emacs@gnu.org; Sat, 20 Jan 2018 00:04:11 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:55806) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eclJ0-0002Zd-Po for bug-gnu-emacs@gnu.org; Sat, 20 Jan 2018 00:03:04 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1eclJ0-0005Xf-C4 for bug-gnu-emacs@gnu.org; Sat, 20 Jan 2018 00:03:02 -0500 X-Loop: help-debbugs@gnu.org In-Reply-To: Resent-From: Noam Postavsky Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 20 Jan 2018 05:03:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 30168 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: unreproducible moreinfo Original-Received: via spool by 30168-submit@debbugs.gnu.org id=B30168.151642454821259 (code B ref 30168); Sat, 20 Jan 2018 05:03:02 +0000 Original-Received: (at 30168) by debbugs.gnu.org; 20 Jan 2018 05:02:28 +0000 Original-Received: from localhost ([127.0.0.1]:35470 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eclIQ-0005Wl-0S for submit@debbugs.gnu.org; Sat, 20 Jan 2018 00:02:27 -0500 Original-Received: from mail-it0-f53.google.com ([209.85.214.53]:33022) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eclIL-0005WU-Oa for 30168@debbugs.gnu.org; Sat, 20 Jan 2018 00:02:23 -0500 Original-Received: by mail-it0-f53.google.com with SMTP id c102so6858194itd.0 for <30168@debbugs.gnu.org>; Fri, 19 Jan 2018 21:02:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:mime-version; bh=Jsk6Et25Go++oVdLgBChrTL5TBr/mbnSsZik8xFLVvQ=; b=MwhhWfzo1Y/g95Zpk8z/MmHHoKmH5LlHwYbEMXezQt7/tk7HGP3jdGtGdpuPv7cvI+ h+hKtJo1oYwvp/ra6A5c0NDnVFcLr/GAIVYOEADwxgZlC9dpJzdJUvvrKOUrQSg9LTvA oGhJRVk3G5NRpiacMOJnx7ZzK/91DPg9mMJm2JT9ZJHIJNccpERSGHS9nYLYqVMrNUTc 7smLoe8cB/EncNZOdsEiG/2A88iEAd0fyj6/KXPB9QAqp3uPtA7R8eaMXVUD7UKkahZd 6MRrNp69l72Lmuo/uT5t8I6iU+z2KX1PUbF4llTFVe/0ff7uz2IxpWpffmKpc178GOh7 1GnQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :mime-version; bh=Jsk6Et25Go++oVdLgBChrTL5TBr/mbnSsZik8xFLVvQ=; b=cvIttToyp9DV8tHdWgIVQbl6Hyhu31EEt2Y+b7lxfQL11yY0sq6Eg/wIwPOcA/2Ugf W6Mh92wa2nD+ntPwI+Orf4hvjCwoOgsnjZVSNY8Mefk/JpotmZgaKlph+hGOa8nVsmk7 CZccoJ4LqlqyU7VcC8gWtDjF5CdJObv4Ju8W8UMbxawVp8i6XUzMnfm9fhPNYkcDS/ws VnF+WdbiSDFAJr6VzNPPM+7Jgpv+vdkcP00isgN8GzrJpM0pRuD2oAv5FxBZTOMOXPHr ZFWgjxGRl8ZGOnu98QM4p0v8fV6rqPKHChyDxPXlgsWjwafmswYde2mXLEPSGnHg04G5 HHrQ== X-Gm-Message-State: AKwxyteS/F0SnlwW2UqzqU15VaZEOIJOM2qhADyScM6AOSRCuMi9iw8S 6bWnqlYf/hxGXxlXBYzR3mQ= X-Google-Smtp-Source: AH8x2270BKbtW8Jz5cmqJxbgnHC5r4WFqCAQ6b7x2LErmddqWmwi5YU6m0HMM1qGDbvdNwJd4w/YJw== X-Received: by 10.36.13.209 with SMTP id 200mr551717itx.25.1516424536165; Fri, 19 Jan 2018 21:02:16 -0800 (PST) Original-Received: from zebian ([45.2.119.34]) by smtp.googlemail.com with ESMTPSA id n95sm1351897ioo.12.2018.01.19.21.02.13 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 19 Jan 2018 21:02:14 -0800 (PST) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:142308 Archived-At: --=-=-= Content-Type: text/plain [forwarding to list] --=-=-= Content-Type: message/rfc822 Content-Disposition: inline In-Reply-To: References: From: Tina Russell Date: Fri, 19 Jan 2018 18:38:12 -0800 Message-ID: Subject: Re: bug#30168: 25.3.50; segfault when opening scratch buffer (GUI), other times To: Noam Postavsky X-Headers-End: 1ecj3G-000722-Re MIME-Version: 1.0 Content-Type: text/plain --f403045e7342d46bac05632c173c Content-Type: multipart/alternative; boundary="f403045e7342d46ba905632c173a" --f403045e7342d46ba905632c173a Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Thanks! I=E2=80=99m getting the problem again (sigh). I don=E2=80=99t even = know if it=E2=80=99s my init.el anymore, but I=E2=80=99m attaching it again just for completeness= =E2=80=99s sake. Also, I tried re-installing all packages just to be sure, but it still happens. I already had the org-beautify-theme disabled, I just removed that line so I would stop seeing a =E2=80=9Cfailed to load theme=E2=80=9D message. Thanks! On Fri, Jan 19, 2018 at 8:28 AM, Noam Postavsky < npostavs@users.sourceforge.net> wrote: > tag 30168 unreproducible moreinfo > quit > > On Fri, Jan 19, 2018 at 1:05 AM, Tina Russell > wrote: > > I did some more mucking in my config and it seems I no longer have this > > problem=E2=80=A6 I=E2=80=99m not even sure what it was. I=E2=80=99ve at= tached my init.el, from > right > > after I noticed the problem was gone, in case you=E2=80=99re interested= in > figuring > > out what the critical difference was. (Personally, I=E2=80=99m just gla= d not to > have > > this crash anymore!) > > Diff attached. Assuming ergoemacs-package is just a trivial wrapper > around use-package, having :disabled does the same as commenting it > out, so that part should have no effect. The only thing left likely to > have any effect would be this part: > > - '(custom-enabled-themes (quote (org-beautify-theme manoj-dark))) > + '(custom-enabled-themes (quote (manoj-dark))) > > Perhaps org-beautify-theme adds some problematic fonts? > --f403045e7342d46ba905632c173a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Thanks! I=E2=80=99m getting the problem again (sigh). I do= n=E2=80=99t even know if it=E2=80=99s my init.el anymore, but I=E2=80=99m a= ttaching it again just for completeness=E2=80=99s sake. Also, I tried re-in= stalling all packages just to be sure, but it still happens.

=
I already had the org-beautify-theme disabled, I just removed that lin= e so I would stop seeing a =E2=80=9Cfailed to load theme=E2=80=9D message.<= /div>

Thanks!

=
On Fri, Jan 19, 2018 at 8:28 AM, Noam Postavsky = <npostavs@users.sourceforge.net> wrote:
tag 30168 unreproducible moreinfo
quit

On Fri, Jan 19, 2018 at 1:05 AM, Tina Russell
<tinakellyrussell@gmail.co= m> wrote:
> I did some more mucking in my config and it seems I no longer have thi= s
> problem=E2=80=A6 I=E2=80=99m not even sure what it was. I=E2=80=99ve a= ttached my init.el, from right
> after I noticed the problem was gone, in case you=E2=80=99re intereste= d in figuring
> out what the critical difference was. (Personally, I=E2=80=99m just gl= ad not to have
> this crash anymore!)

Diff attached. Assuming ergoemacs-package is just a trivial wrapper
around use-package, having :disabled does the same as commenting it
out, so that part should have no effect. The only thing left likely to
have any effect would be this part:

- '(custom-enabled-themes (quote (org-beautify-theme manoj-dark)))
+ '(custom-enabled-themes (quote (manoj-dark)))

Perhaps org-beautify-theme adds some problematic fonts?

--f403045e7342d46ba905632c173a-- --f403045e7342d46bac05632c173c Content-Type: text/x-emacs-lisp; charset="UTF-8"; name="init.el" Content-Disposition: attachment; filename="init.el" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jcmqrrtm1 Ozs7IGluaXQuZWwgLS0tIFRpbmHigJlzIHNldHRpbmdzCjs7OyBDb21tZW50YXJ5Ogo7OzsgQ29k ZToKKGN1c3RvbS1zZXQtdmFyaWFibGVzCiA7OyBjdXN0b20tc2V0LXZhcmlhYmxlcyB3YXMgYWRk ZWQgYnkgQ3VzdG9tLgogOzsgSWYgeW91IGVkaXQgaXQgYnkgaGFuZCwgeW91IGNvdWxkIG1lc3Mg aXQgdXAsIHNvIGJlIGNhcmVmdWwuCiA7OyBZb3VyIGluaXQgZmlsZSBzaG91bGQgY29udGFpbiBv bmx5IG9uZSBzdWNoIGluc3RhbmNlLgogOzsgSWYgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSwgdGhl eSB3b24ndCB3b3JrIHJpZ2h0LgogJyhjdXN0b20tZW5hYmxlZC10aGVtZXMgKHF1b3RlIChtYW5v ai1kYXJrKSkpCiAnKGN1c3RvbS1zYWZlLXRoZW1lcwogICAocXVvdGUKICAgICgiOGFlYmYyNTU1 NjM5OWI1ODA5MWU1MzNlNDU1ZGQ1MGE2YTljYmE5NThjYzRlYmIwYWFiMTc1ODYzYzI1YjlhNCIg ImRjZjcxNTQ4NjdiYTY3YjI1MGZlMmM1Y2RjMTVhN2QxNzBhY2Q5Y2JlNjcwN2NjMzZkOWRkMTQ2 MjI4MjIyNGQiICIwNWZkNDJiZWY0Mjk5MWM0NWVjYjE3ZWNhZDFmZjM4YzEwZThmYWFjNTFlZmVh NDRmMDc4MmJkYWViYWY0MjExIiBkZWZhdWx0KSkpCiAnKGRpcmVkLWFzeW5jLW1vZGUgMSkKICco ZXJnb2VtYWNzLWtleWJvYXJkLWxheW91dCAidXMiIG5pbCBuaWwgIkFzc3VtZXMgUVdFUlRZIGtl eWJvYXJkIGxheW91dCIpCiAnKGVyZ29lbWFjcy1tZXNzYWdlLWxldmVsIDpuZXcpCiAnKGVyZ29l bWFjcy1tb2RlIDEpCiAnKGVyZ29lbWFjcy10aGVtZSAic3RhbmRhcmQiIG5pbCBuaWwgIlVzZXMg U3RhbmRhcmQgRXJnb2VtYWNzIGtleWJvYXJkIHRoZW1lIikKICcoZXJnb2VtYWNzLXRoZW1lLW9w dGlvbnMgKHF1b3RlICgoYmFja3NwYWNlLWlzLWJhY2sgb2ZmKSkpKQogJyhlcmdvZW1hY3MtdXNl LXVuaWNvZGUtc3ltYm9scyB0KQogJyhmb250LXVzZS1zeXN0ZW0tZm9udCBuaWwpCiAnKGluZmVy aW9yLWxpc3AtcHJvZ3JhbSAic2JjbCIgdCkKICcob3JnLWFnZW5kYS1maWxlcyAocXVvdGUgKCJ+ L0FwaHJvZGl0ZS9FdWRhaW1vbmlhIikpKQogJyhvcmctZGVmYXVsdC1ub3Rlcy1maWxlICJ+L0Fw aHJvZGl0ZS9FdW5vbWlhL21uZW1vc3luZS5vcmciKQogJyhvcmctZGlyZWN0b3J5ICJ+L0FwaHJv ZGl0ZS9FdW5vbWlhIikKICcob3JnLWRpc3B1dGVkLWtleXMKICAgKHF1b3RlCiAgICAoKFsoc2hp ZnQgdXApXQogICAgICAuCiAgICAgIFsobWV0YSBwKV0pCiAgICAgKFsoc2hpZnQgZG93bildCiAg ICAgIC4KICAgICAgWyhtZXRhIG4pXSkKICAgICAoWyhzaGlmdCBsZWZ0KV0KICAgICAgLgogICAg ICBbKG1ldGEgLSldKQogICAgIChbKHNoaWZ0IHJpZ2h0KV0KICAgICAgLgogICAgICBbKG1ldGEg KyldKQogICAgIChbKGNvbnRyb2wgc2hpZnQgcmlnaHQpXQogICAgICAuCiAgICAgIFsobWV0YSBz aGlmdCArKV0pCiAgICAgKFsoY29udHJvbCBzaGlmdCBsZWZ0KV0KICAgICAgLgogICAgICBbKG1l dGEgc2hpZnQgLSldKQogICAgIChbKGNvbnRyb2wgYyldCiAgICAgIC4KICAgICAgWyhtZXRhIGMp XSkpKSkKICcob3JnLWhpZGUtZW1waGFzaXMtbWFya2VycyB0KQogJyhvcmctam91cm5hbC1kaXIg In4vQXBocm9kaXRlL1RpbmEvam91cm5hbCIpCiAnKG9yZy1sb2ctZG9uZSAocXVvdGUgdGltZSkp CiAnKG9yZy1tb2R1bGVzCiAgIChxdW90ZQogICAgKG9yZy1iYmRiIG9yZy1iaWJ0ZXggb3JnLWNy eXB0IG9yZy1kb2N2aWV3IG9yZy1nbnVzIG9yZy1pbmZvIG9yZy1pcmMgb3JnLW1oZSBvcmctbW91 c2Ugb3JnLXJtYWlsIG9yZy13M20gb3JnLWJvb2ttYXJrIG9yZy1jaGVja2xpc3Qgb3JnLWVzaGVs bCkpKQogJyhvcmctc3RhcnR1cC13aXRoLWlubGluZS1pbWFnZXMgdCkKICcocGFja2FnZS1hcmNo aXZlcwogICAocXVvdGUKICAgICgoIm1lbHBhIiAuICJodHRwOi8vbWVscGEub3JnL3BhY2thZ2Vz LyIpCiAgICAgKCJtZWxwYS1zdGFibGUiIC4gImh0dHA6Ly9zdGFibGUubWVscGEub3JnL3BhY2th Z2VzLyIpCiAgICAgKCJnbnUiIC4gImh0dHA6Ly9lbHBhLmdudS5vcmcvcGFja2FnZXMvIikKICAg ICAoIm9yZyIgLiAiaHR0cHM6Ly9vcmdtb2RlLm9yZy9lbHBhLyIpKSkpCiAnKHBhY2thZ2Utc2Vs ZWN0ZWQtcGFja2FnZXMKICAgKHF1b3RlCiAgICAoeWFzbmlwcGV0IGV4dGVuZC1kbmQgdm9sYXRp bGUtaGlnaGxpZ2h0cyB0YWJiYXItcnVsZXIgc29sYXJpemVkLXRoZW1lIHJhaW5ib3ctbW9kZSBt YWdpdCBsaW51bS1vZmYga2V5ZnJlcSBpbmZvKyBmbHgtaWRvIHNtZXggaWRvLXZlcnRpY2FsLW1v ZGUgaWRvLXViaXF1aXRvdXMgZ29sZGVuLXJhdGlvIGZseWNoZWNrIGZpbGwtY29sdW1uLWluZGlj YXRvciBldmlsLW51bWJlcnMgZXNzLXNtYXJ0LXVuZGVyc2NvcmUgZWxlY3RyaWMtb3BlcmF0b3Ig cG9seW1vZGUgZXNzIGRpcmVkKyBhdXRvLWhpZ2hsaWdodC1zeW1ib2wgYW56dSBlcmdvZW1hY3Mt c3RhdHVzIG9yZy1wbHVzLWNvbnRyaWIgb3JnLWVkbmEgZ25vcmIgYmJkYiB0dXJpbmctbWFjaGlu ZSBvcmctc3RpY2t5LWhlYWRlciBvcmctYm9va21hcmstaGVhZGluZyBvcmctYnVsbGV0cyBoeXBl cmJvbGUgaGFja2VyLXR5cGVyIGFsbC10aGUtaWNvbnMgYWxsLXRoZS1pY29ucy1nbnVzIGFsbC10 aGUtaWNvbnMtaXZ5IGRpcmVkLWljb24gcGMtYnVmc3cgaGVsbSBhdXRvLWNvbXBsZXRlIHN4IGRh c2hib2FyZCB1aW1hZ2UgeGFoLWVsaXNwLW1vZGUgcmFpbmJvdy1kZWxpbWl0ZXJzIGFzeW5jIG9y Zy1kb3dubG9hZCB5YW9kZG11c2UgcGFyYWRveCB1c2UtcGFja2FnZSB1bmJvdW5kIGVyZ29lbWFj cy1tb2RlIG9yZy1qb3VybmFsIHBhY2thZ2UtYnVpbGQgc2h1dC11cCBlcGwgZ2l0IGNvbW1hbmRl ciBmIGRhc2ggcyBjYXNrIHNrZWxldG9yIHNsaW1lIHNtYXJ0cGFyZW5zIG5vdiBhaHVuZ3J5LXRo ZW1lIHR3aXR0ZXJpbmctbW9kZSBoeS1tb2RlIGVtbXMpKSkKICcocGFyYWRveC1naXRodWItdG9r ZW4gdCkKICcoc2F2ZS1wbGFjZSB0IG5pbCAoc2F2ZXBsYWNlKSkKICcoc2VuZC1tYWlsLWZ1bmN0 aW9uIChxdW90ZSBtYWlsY2xpZW50LXNlbmQtaXQpKQogJyhzaG93LXBhcmVuLW1vZGUgdCkKICco c2xpbWUtY29udHJpYnMgKHF1b3RlIChzbGltZS1mYW5jeSkpIHQpCiAnKHRhYi1hbHdheXMtaW5k ZW50IChxdW90ZSBjb21wbGV0ZSkpCiAnKHR3aXR0ZXJpbmctaWNvbi1tb2RlIHQgdCkKICcodHdp dHRlcmluZy11c2UtaWNvbi1zdG9yYWdlIHQpKQooY3VzdG9tLXNldC1mYWNlcwogOzsgY3VzdG9t LXNldC1mYWNlcyB3YXMgYWRkZWQgYnkgQ3VzdG9tLgogOzsgSWYgeW91IGVkaXQgaXQgYnkgaGFu ZCwgeW91IGNvdWxkIG1lc3MgaXQgdXAsIHNvIGJlIGNhcmVmdWwuCiA7OyBZb3VyIGluaXQgZmls ZSBzaG91bGQgY29udGFpbiBvbmx5IG9uZSBzdWNoIGluc3RhbmNlLgogOzsgSWYgdGhlcmUgaXMg bW9yZSB0aGFuIG9uZSwgdGhleSB3b24ndCB3b3JrIHJpZ2h0LgogJyhkZWZhdWx0ICgodCAoOmZh bWlseSAiVWJ1bnR1IE1vbm8iIDpmb3VuZHJ5ICJEQU1BIiA6c2xhbnQgbm9ybWFsIDp3ZWlnaHQg bm9ybWFsIDpoZWlnaHQgMTQwIDp3aWR0aCBub3JtYWwpKSkpKQoKOzsgaHR0cHM6Ly9lbWFjcy5z dGFja2V4Y2hhbmdlLmNvbS9xdWVzdGlvbnMvNTQwMS9ob3ctdG8tZGVmYWxpYXMtbGFtYmRhCihk ZWZhbGlhcyAnzrsgJ2xhbWJkYSkKCjs7IE1FTFBBIGh0dHBzOi8vbWVscGEub3JnLyMvZ2V0dGlu Zy1zdGFydGVkCjsocmVxdWlyZSAncGFja2FnZSkgOzsgWW91IG1pZ2h0IGFscmVhZHkgaGF2ZSB0 aGlzIGxpbmUKOyhsZXQqICgobm8tc3NsIChhbmQgKG1lbXEgc3lzdGVtLXR5cGUgJyh3aW5kb3dz LW50IG1zLWRvcykpCjsgICAgICAgICAgICAgICAgICAgIChub3QgKGdudXRscy1hdmFpbGFibGUt cCkpKSkKOyAgICAgICAodXJsIChjb25jYXQgKGlmIG5vLXNzbCAiaHR0cCIgImh0dHBzIikgIjov L21lbHBhLm9yZy9wYWNrYWdlcy8iKSkpCjsgIChhZGQtdG8tbGlzdCAncGFja2FnZS1hcmNoaXZl cyAoY29ucyAibWVscGEiIHVybCkgdCkpCjsod2hlbiAoPCBlbWFjcy1tYWpvci12ZXJzaW9uIDI0 KQo7ICA7OyBGb3IgaW1wb3J0YW50IGNvbXBhdGliaWxpdHkgbGlicmFyaWVzIGxpa2UgY2wtbGli CjsgIChhZGQtdG8tbGlzdCAncGFja2FnZS1hcmNoaXZlcyAnKCJnbnUiIC4gImh0dHA6Ly9lbHBh LmdudS5vcmcvcGFja2FnZXMvIikpKQoKKHBhY2thZ2UtaW5pdGlhbGl6ZSkKKHNldHEgcGFja2Fn ZS1hcmNoaXZlLXByaW9yaXRpZXMKICAgICAgJygoIm1lbHBhLXN0YWJsZSIgLiAxMCkKCSgib3Jn IiAgICAgICAgICAuIDcpCiAgICAgICAgKCJnbnUiICAgICAgICAgIC4gNSkKICAgICAgICAoIm1l bHBhIiAgICAgICAgLiAwKSkpCihyZXF1aXJlICd1c2UtcGFja2FnZSkKCjs7OyBwYWNrYWdlIGlu aXRzCgoodXNlLXBhY2thZ2UgZXJnb2VtYWNzLW1vZGUKICA6Y3VzdG9tCiAgKGVyZ29lbWFjcy10 aGVtZSAic3RhbmRhcmQiICJVc2VzIFN0YW5kYXJkIEVyZ29lbWFjcyBrZXlib2FyZCB0aGVtZSIp CiAgKGVyZ29lbWFjcy1rZXlib2FyZC1sYXlvdXQgInVzIiAiQXNzdW1lcyBRV0VSVFkga2V5Ym9h cmQgbGF5b3V0IikKICAoZXJnb2VtYWNzLW1vZGUgMSkpCgo7OyBzd2l0Y2ggd2luZG93IHdpdGgg 4oCcYWx0K1PigJ0KKGVyZ29lbWFjcy1hdXRvbG9hZCBhY2Utd2luZG93CiAgICAiQWNlIFdpbmRv dyIKICA6YmluZCAoIk0tcyIgJ2FjZS13aW5kb3cpCiAgOmVuc3VyZSB0CiAgOzsgbGF5b3V0IGJh c2VkIGF3LWtleXMKICAoc2V0cSBhdy1rZXlzIChtYXBjYXIKICAgICAgICAgICAgICAgICAobGFt YmRhKGtleSkKICAgICAgICAgICAgICAgICAgIChlcmdvZW1hY3MtdHJhbnNsYXRlLS1ldmVudC1s YXlvdXQga2V5IGVyZ29lbWFjcy1rZXlib2FyZC1sYXlvdXQgInVzIikpCiAgICAgICAgICAgICAg ICAgKGxpc3QgP2YgP2ogP2QgP2sgP3IgP3UgP2UgP2kgP3MgP2wgP3cgP28pKSkpCgooZXJnb2Vt YWNzLWF1dG9sb2FkIGFkYXB0aXZlLXdyYXAKICAgIDplbnN1cmUgdAogICAgOmRlZmVyIDEKICAg IChhZGQtaG9vayAndmlzdWFsLWxpbmUtbW9kZS1ob29rICdhZGFwdGl2ZS13cmFwLXByZWZpeC1t b2RlKSkKCihlcmdvZW1hY3MtYXV0b2xvYWQgYWdncmVzc2l2ZS1pbmRlbnQKICAgIDplbnN1cmUg dAogICAgOmNvbW1hbmRzIChhZ2dyZXNzaXZlLWluZGVudC1tb2RlIGdsb2JhbC1hZ2dyZXNzaXZl LWluZGVudC1tb2RlKQogICAgKHB1c2ggJ2Vzbi1tb2RlIGV4Y2x1ZGVkLW1vZGVzKQogICAgKGds b2JhbC1hZ2dyZXNzaXZlLWluZGVudC1tb2RlIDEpKQoKKHVzZS1wYWNrYWdlIGFsbC10aGUtaWNv bnMKICA6Y29uZmlnCiAgKGFsbC10aGUtaWNvbnMtZ251cy1zZXR1cCkKICAoYWxsLXRoZS1pY29u cy1pdnktc2V0dXApKQoKKGVyZ29lbWFjcy1wYWNrYWdlIGFsbG93LXNldC1tYXJrLXJlcGVhdC1w b3AtbWFyawogICAgKHNldHEgc2V0LW1hcmstY29tbWFuZC1yZXBlYXQtcG9wIHQpKQoKKGVyZ29l bWFjcy1wYWNrYWdlIGFuenUKICAgIDplbnN1cmUgdAogICAgOmRlZmVyIDEKICAgIChnbG9iYWwt YW56dS1tb2RlIDEpCiAgICAoZ2xvYmFsLXNldC1rZXkgW3JlbWFwIHF1ZXJ5LXJlcGxhY2VdICdh bnp1LXF1ZXJ5LXJlcGxhY2UpKQoKKHVzZS1wYWNrYWdlIGFzeW5jCiAgOmN1c3RvbQogIChkaXJl ZC1hc3luYy1tb2RlIDEpKQoKKGVyZ29lbWFjcy1wYWNrYWdlIGF1dG8tY29tcHJlc3Npb24KICAg IDpkZWZlciAxCiAgICAoYXV0by1jb21wcmVzc2lvbi1tb2RlIHQpKQoKKGVyZ29lbWFjcy1wYWNr YWdlIGF1dG8taGlnaGxpZ2h0LXN5bWJvbAogICAgOmVuc3VyZSB0CiAgICA6ZGVmZXIgMwogICAg KGRvbGlzdCAoaG9vayAnKHByb2ctbW9kZS1ob29rIG1hcmtkb3duLW1vZGUtaG9vaykpCiAgICAg IChhZGQtaG9vayAnYXV0by1oaWdobGlnaHQtc3ltYm9sLW1vZGUgaG9vaykpCiAgICAoc2V0cSBh aHMtY2FzZS1mb2xkLXNlYXJjaCBuaWwKICAgICAgICAgIGFocy1kZWZhdWx0LXJhbmdlICdhaHMt cmFuZ2Utd2hvbGUtYnVmZmVyCiAgICAgICAgICBhaHMtaW5oaWJpdC1mYWNlLWxpc3QgbmlsKQog ICAgOzsgRklYTUU6IFRoaW5rIGFib3V0IGtleXMgZm9yIGBhaHMtZm9yd2FyZCcsIGBhaHMtYmFj a3dhcmQnIGBhaHMtYmFjay10by1zdGFydCcKICAgICkKCihlcmdvZW1hY3MtcGFja2FnZSBiYWNr dXAtaW4tdGVtcC1kaXIKICAgIChzZXRxIGJhY2t1cC1kaXJlY3RvcnktYWxpc3QKICAgICAgICAg IGAoKCIuKiIgLiAsdGVtcG9yYXJ5LWZpbGUtZGlyZWN0b3J5KSkpCgogIChzZXRxIGF1dG8tc2F2 ZS1maWxlLW5hbWUtdHJhbnNmb3JtcwogICAgICAgIGAoKCIuKiIgLHRlbXBvcmFyeS1maWxlLWRp cmVjdG9yeSB0KSkpKQoKKHVzZS1wYWNrYWdlIGRhc2hib2FyZAogIDpjb25maWcKICAoZGFzaGJv YXJkLXNldHVwLXN0YXJ0dXAtaG9vaykpCgooZXJnb2VtYWNzLWF1dG9sb2FkIGRlc2t0b3Atc2F2 ZQogICAgKGRlc2t0b3Atc2F2ZS1tb2RlIDEpCiAgKHNldHEgZGVza3RvcC1zYXZlIHQpCiAgKHdo ZW4gKG5vdCAoZmlsZS1leGlzdHMtcCBkZXNrdG9wLWRpcm5hbWUpKQogICAgKG1ha2UtZGlyZWN0 b3J5IGRlc2t0b3AtZGlybmFtZSB0KSkKICAKICAoZGVmdW4gZXJnb2VtYWNzLWVtYWNzLXByb2Nl c3MtcCAocGlkKQogICAgIklmIHBpZCBpcyB0aGUgcHJvY2VzcyBJRCBvZiBhbiBlbWFjcyBwcm9j ZXNzLCByZXR1cm4gdCwgZWxzZSBuaWwuCkFsc28gcmV0dXJucyBuaWwgaWYgcGlkIGlzIG5pbC4i CiAgICAod2hlbiBwaWQKICAgICAgKGxldCAoKGF0dHJpYnV0ZXMgKHByb2Nlc3MtYXR0cmlidXRl cyBwaWQpKSAoY21kKSkKICAgICAgICAoZG9saXN0IChhdHRyIGF0dHJpYnV0ZXMpCiAgICAgICAg ICAoaWYgKHN0cmluZz0gImNvbW0iIChjYXIgYXR0cikpCiAgICAgICAgICAgICAgKHNldHEgY21k IChjZHIgYXR0cikpKSkKICAgICAgICAoaWYgKGFuZCBjbWQgKHN0cmluZy1tYXRjaC1wICJbRWVd bWFjcyIpKSB0KSkpKQogIAogIChlcmdvZW1hY3MtYWR2aWNlIGRlc2t0b3Atb3duZXIgKCZvcHRp b25hbCBkaXJuYW1lKQogICAgIkRvbid0IGFsbG93IGRlYWQgZW1hY3MgcHJvY2VzcyB0byBjbGFp bSBmaWxlLiIKICAgIDp0eXBlIDphZnRlcgogICAgKHdoZW4gKG5vdCAoZXJnb2VtYWNzLWVtYWNz LXByb2Nlc3MtcCBhZC1yZXR1cm4tdmFsdWUpKQogICAgICAoc2V0cSBhZC1yZXR1cm4tdmFsdWUg bmlsKSkpKQoKKGVyZ29lbWFjcy1wYWNrYWdlIGRpcmVkKwogICAgOmVuc3VyZSB0CiAgICA6ZGVm ZXIgMSkKCih1c2UtcGFja2FnZSBkaXJlZC1pY29uCiAgOmhvb2sKICAoZGlyZWQtbW9kZS1ob29r IC4gZGlyZWQtaWNvbi1tb2RlKSkKCihlcmdvZW1hY3MtcGFja2FnZSBlbWFjcy1saXNwLW1vZGUK ICAgIDs7IFRoaXMgZG9lcyB0aGUgZm9sbG93aW5nOgogICAgOzsgLSBUdXJuIG9uIGVsLWRvYwog ICAgOzsgLSBUdXJuIG9uIGNvZGluZyBob29rCiAgICA7OyAtIFJlbW92ZXMgPS5lbGM9IGZpbGVz IG9uIHNhdmUuCiAgICA7OyAtIEFkZCA9Qy1jIHY9IHRvIGJlIGBldmFsLWJ1ZmZlcicKICAgIChk ZWZpbmUta2V5IGVtYWNzLWxpc3AtbW9kZS1tYXAgKGtiZCAiQy1jIHYiKSAjJ2V2YWwtYnVmZmVy KQogIChkZWZpbmUta2V5IGVtYWNzLWxpc3AtbW9kZS1tYXAgKGtiZCAiQy1jIEMtYyIpICMnZXZh bC1kZWZ1bikKCiAgKGRlZnVuIGVyZ29lbWFjcy1yZW1vdmUtZWxjLW9uLXNhdmUgKCkKICAgICJJ ZiB5b3UncmUgc2F2aW5nIGFuIGVsaXNwIGZpbGUsIGxpa2VseSB0aGUgLmVsYyBpcyBubyBsb25n ZXIgdmFsaWQuIgogICAgKG1ha2UtbG9jYWwtdmFyaWFibGUgJ2FmdGVyLXNhdmUtaG9vaykKICAg IChhZGQtaG9vayAnYWZ0ZXItc2F2ZS1ob29rCiAgICAgICAgICAgICAgKGxhbWJkYSAoKQogICAg ICAgICAgICAgICAgKGlmIChmaWxlLWV4aXN0cy1wIChjb25jYXQgYnVmZmVyLWZpbGUtbmFtZSAi YyIpKQogICAgICAgICAgICAgICAgICAgIChkZWxldGUtZmlsZSAoY29uY2F0IGJ1ZmZlci1maWxl LW5hbWUgImMiKSkpKSkpCiAgKGFkZC1ob29rICdlbWFjcy1saXNwLW1vZGUtaG9vayAjJ2VyZ29l bWFjcy1yZW1vdmUtZWxjLW9uLXNhdmUpCiAgKGFkZC1ob29rICdlbWFjcy1saXNwLW1vZGUtaG9v ayAjJ3R1cm4tb24tZWxkb2MtbW9kZSkpCgoodXNlLXBhY2thZ2UgZW1tcy1zZXR1cAogIDpjb25m aWcKICAoZW1tcy1hbGwpKQoKKGVyZ29lbWFjcy1wYWNrYWdlIGVyZ29lbWFjcy1vcHRpb25zCiAg ICAoc2V0cSBlcmdvZW1hY3MtYmVnaW5uaW5nLW9yLWVuZC1vZi1saW5lLWFuZC13aGF0ICdwYWdl CiAgICAgICAgICBlcmdvZW1hY3Mtc21hcnQtcGFzdGUgdCkpCgoodXNlLXBhY2thZ2UgZXJnb2Vt YWNzLXN0YXR1cwogIDpjb25maWcKICAoZXJnb2VtYWNzLXN0YXR1cy1tb2RlKSkKCjs7IChlcmdv ZW1hY3MtcGFja2FnZSBldmFsLXNleHAtZnUKOzsgICAgIDplbnN1cmUgdAo7OyAgICAgKHJlcXVp cmUgJ2V2YWwtc2V4cC1mdSkpCgooZXJnb2VtYWNzLXBhY2thZ2UgZXNzLXNpdGUKICAgIDptb2Rl ICgoIlxcLnNwXFwnIiAgICAgICAgICAuIFMtbW9kZSkgOzsgcmU6IERvbiBNYWNRdWVlbiA8bWFj cUBsbG5sLmdvdj4KICAgICAgICAgICAoIi9SLy4qXFwucVxcJyIgICAgICAuIFItbW9kZSkgOzsg Ui8qLnEgaXMgUiBjb2RlIChlLmcuLCBpbiBwYWNrYWdlKQogICAgICAgICAgICgiXFwuW3FzU11c XCciICAgICAgIC4gUy1tb2RlKSA7OyBzLFMgW3NlZSBlc3MtcmVzdG9yZS1hc20tZXh0bnMgYWJv dmUhXQogICAgICAgICAgICgiXFwuc3NjXFwnIiAgICAgICAgIC4gUy1tb2RlKSA7OyBTcGx1cyAo Pj0gNC54KSBzY3JpcHQgZmlsZXMuCiAgICAgICAgICAgKCJcXC5TU0NcXCciICAgICAgICAgLiBT LW1vZGUpIDs7IGRpdHRvIGZvciB3aW5kb3plCiAgICAgICAgICAgKCJcXC5bclJdXFwnIiAgICAg ICAgLiBSLW1vZGUpCiAgICAgICAgICAgKCJcXC5bclJdbndcXCciICAgICAgLiBSbnctbW9kZSkK ICAgICAgICAgICAoIlxcLltzU11ud1xcJyIgICAgICAuIFNudy1tb2RlKTsgY3VycmVudGx5IGlk ZW50aWNhbCB0byBSbnctbW9kZQogICAgICAgICAgICgiXFwuW3JSXXByb2ZpbGVcXCciIC4gUi1t b2RlKQogICAgICAgICAgICgiTkFNRVNQQUNFXFwnIiAgICAgIC4gUi1tb2RlKQogICAgICAgICAg ICgiQ0lUQVRJT05cXCciICAgICAgIC4gUi1tb2RlKQogICAgICAgICAgICgiXFwub21nXFwnIiAg ICAgICAgIC4gb21lZ2FoYXQtbW9kZSkKICAgICAgICAgICAoIlxcLmhhdFxcJyIgICAgICAgICAu IG9tZWdhaGF0LW1vZGUpCiAgICAgICAgICAgKCJcXC5sc3BcXCciICAgICAgICAgLiBYTFMtbW9k ZSkKICAgICAgICAgICAoIlxcLmRvXFwnIiAgICAgICAgICAuIFNUQS1tb2RlKQogICAgICAgICAg ICgiXFwuYWRvXFwnIiAgICAgICAgIC4gU1RBLW1vZGUpCiAgICAgICAgICAgKCJcXC5bU3NdW0Fh XVtTc11cXCciICAgICAgICAuIFNBUy1tb2RlKQogICAgICAgICAgIDs7IE1hbnkgLmxvZy8ubHN0 IGZpbGVzLCBub3QganVzdCBTQVMKICAgICAgICAgICA7OygiXFwubG9nXFwnIiAgICAgICAuIFNB Uy1sb2ctbW9kZSkKICAgICAgICAgICA7OygiXFwuW0xsXVtTc11bVHRdXFwnIiAgICAgIC4gU0FT LWxpc3RpbmctbW9kZSkKICAgICAgICAgICAoIlxcLltTc110XFwnIiAgICAgICAuIFMtdHJhbnNj cmlwdC1tb2RlKQogICAgICAgICAgICgiXFwuU291dCIgICAgICAgICAgIC4gUy10cmFuc2NyaXB0 LW1vZGUpCiAgICAgICAgICAgOzsoIlxcLltScl10XFwnIiAgICAgICAuIFItdHJhbnNjcmlwdC1t b2RlKQogICAgICAgICAgICgiXFwuW1JyXW91dCIgICAgICAgIC4gUi10cmFuc2NyaXB0LW1vZGUp CiAgICAgICAgICAgKCJcXC5SZFxcJyIgICAgICAgICAgLiBSZC1tb2RlKQogICAgICAgICAgICgi XFwuW0JiXVtVdV1bR2ddXFwnIiAgICAgICAgIC4gZXNzLWJ1Z3MtbW9kZSkKICAgICAgICAgICAo IlxcLltCYl1bT29dW0dnXVxcJyIgICAgICAgICAuIGVzcy1idWdzLW1vZGUpCiAgICAgICAgICAg KCJcXC5bQmJdW01tXVtEZF1cXCciICAgICAgICAgLiBlc3MtYnVncy1tb2RlKQogICAgICAgICAg ICgiXFwuW0pqXVtBYV1bR2ddXFwnIiAgICAgICAgIC4gZXNzLWphZ3MtbW9kZSkKICAgICAgICAg ICAoIlxcLltKal1bT29dW0dnXVxcJyIgICAgICAgICAuIGVzcy1qYWdzLW1vZGUpCiAgICAgICAg ICAgKCJcXC5bSmpdW01tXVtEZF1cXCciICAgICAgICAgLiBlc3MtamFncy1tb2RlKQoJICAgKCJc XC5bUnJdW21NXVtEZF1cXCciICAgICAgICAgLiBwb2x5LW1hcmtkb3duK3ItbW9kZSkpCiAgICA6 aW50ZXJwcmV0ZXIgKCgiUnNjcmlwdCIgLiByLW1vZGUpCiAgICAgICAgICAgICAgICAgICgiciIg LiByLW1vZGUpKQogICAgOmVuc3VyZSAoZXNzIHBvbHltb2RlIG1hcmtkb3duLW1vZGUgZWxlY3Ry aWMtb3BlcmF0b3IpCiAgICAoZGVmdW4gZXJnb2VtYWNzLXR1cm4tb24tZXNzLWVsZG9jICgpCiAg ICAgIChyZXF1aXJlICdlc3MtZWxkb2MpKQogICAgKGFkZC1ob29rICdlc3MtbW9kZS1ob29rICdl cmdvZW1hY3MtdHVybi1vbi1lc3MtZWxkb2MpCiAgICAoYWRkLWhvb2sgJ2Vzcy1tbW9kZS1ob29r ICdmbHlzcGVsbC1tb2RlKQogICAgKHdoZW4gKGZpbGUtZXhpc3RzLXAgIn5zcmMvUnN0YXJ0dXAv UnN0YXJ0dXAuUiIpCiAgICAgIChzZXRlbnYgIlJfUFJPRklMRV9VU0VSIiAoZXhwYW5kLWZpbGUt bmFtZSAifnNyYy9Sc3RhcnR1cC9Sc3RhcnR1cC5SIikpKQogICAgCiAgICA7OyBNYWtlIFRlWCBh bmQgUmVmVGV4IGF3YXJlIG9mIFNudyBhbmQgUm53IGZpbGVzCiAgICAoc2V0cSByZWZ0ZXgtZmls ZS1leHRlbnNpb25zCiAgICAgICAgICAnKCgiU253IiAiUm53IiAibnciICJ0ZXgiICIudGV4IiAi Lmx0eCIpICgiYmliIiAiLmJpYiIpKSkKICAgIChzZXRxIFRlWC1maWxlLWV4dGVuc2lvbnMKICAg ICAgICAgICcoIlNudyIgIlJudyIgIm53IiAidGV4IiAic3R5IiAiY2xzIiAibHR4IiAidGV4aSIg InRleGluZm8iKSkKCiAgICA7OyBMZXRzIHlvdSBkbyAnQy1jIEMtYyBTd2VhdmUnIGZyb20geW91 ciBSbncgZmlsZQogICAgKGRlZnVuIGVyZ29lbWFjcy1hZGQtU3dlYXZlICgpCiAgICAgIChhZGQt dG8tbGlzdCAnVGVYLWNvbW1hbmQtbGlzdAogICAgICAgICAgICAgICAgICAgJygiU3dlYXZlIiAi UiBDTUQgU3dlYXZlICVzIgogICAgICAgICAgICAgICAgICAgICBUZVgtcnVuLWNvbW1hbmQgbmls IChsYXRleC1tb2RlKSA6aGVscCAiUnVuIFN3ZWF2ZSIpIHQpCiAgICAgIChhZGQtdG8tbGlzdCAn VGVYLWNvbW1hbmQtbGlzdAogICAgICAgICAgICAgICAgICAgJygiTGF0ZXhTd2VhdmUiICIlbCAl KG1vZGUpICVzIgogICAgICAgICAgICAgICAgICAgICBUZVgtcnVuLVRlWCBuaWwgKGxhdGV4LW1v ZGUpIDpoZWxwICJSdW4gTGF0ZXggYWZ0ZXIgU3dlYXZlIikgdCkKICAgICAgKHNldHEgVGVYLWNv bW1hbmQtZGVmYXVsdCAiU3dlYXZlIikpCiAgICAoYWRkLWhvb2sgJ1Judy1tb2RlLWhvb2sgJ2Vt YWNzbWF0ZS1hZGQtU3dlYXZlKQoKICAgIChzZXRxIGVzcy1hc2stZm9yLWVzcy1kaXJlY3Rvcnkg bmlsCiAgICAgICAgICBlc3MtbG9jYWwtcHJvY2Vzcy1uYW1lICJSIgogICAgICAgICAgYW5zaS1j b2xvci1mb3ItY29taW50LW1vZGUgJ2ZpbHRlcgogICAgICAgICAgY29taW50LXNjcm9sbC10by1i b3R0b20tb24taW5wdXQgdAogICAgICAgICAgY29taW50LXNjcm9sbC10by1ib3R0b20tb24tb3V0 cHV0IHQKICAgICAgICAgIGNvbWludC1tb3ZlLXBvaW50LWZvci1vdXRwdXQgdCkKICAgIChzZXRl bnYgIlBBVEgiCgkgICAgKGxldCAoZnVsbCkJCQk7KGxldCAoZnVsbCkKICAgICAgICAgICAgICA7 OyAocHVzaCAoZ2V0ZW52ICJQQVRIIikgZnVsbCkKICAgICAgICAgICAgICAoZG9saXN0IChmICco OzsgIkM6L1JUT09MUy9nY2MtNC42LjMvYmluIgogICAgICAgICAgICAgICAgICAgICAgICAgICA7 OyAiQzovUlRPT0xTL2JpbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgImM6L1Byb2dyYX4x L1B1dHR5IgogICAgICAgICAgICAgICAgICAgICAgICAgICA7OyAiYzovUi9SLTMuMi4zL2JpbiIK CQkJICAgKSkKICAgICAgICAgICAgICAgICh3aGVuIChmaWxlLWV4aXN0cy1wIGYpCiAgICAgICAg ICAgICAgICAgIChwdXNoIGYgZnVsbCkpKQoJICAgICAgCiAgICAgICAgICAgICAgKGNvbmNhdAoJ ICAgICAgIChtYXBjb25jYXQgKGxhbWJkYSAoeCkgeCkgZnVsbCAiOyIpCgkgICAgICAgIjsiIChn ZXRlbnYgIlBBVEgiKSkpKQogICAgOzsgKHNldGVudiAiUl9MSUJTIgogICAgOzsgCSAgICAobGV0 IChmdWxsKQogICAgOzsgCSAgICAgIChkb2xpc3QgKGYgJygiYzovUi9SLTMuMi4zL2xpYnJhcnki ICJjOi9NUy9SLzMuMCIgImM6L1NWTi9SL1JsaWIiCiAgICA7OyAJCQkgICAiYzovU1ZOL1IvUE1Y U3RhbiIKICAgIDs7IAkJCSAgICJjOi9TVk4vV2VucGluZy9SbGliIikpCiAgICA7OyAJCSh3aGVu IChmaWxlLWV4aXN0cy1wIGYpCiAgICA7OyAJCSAgKHB1c2ggZiBmdWxsKSkpCiAgICA7OyAJICAg ICAgKG1hcGNvbmNhdCAobGFtYmRhICh4KSB4KSBmdWxsICI7IikpKQogICAgKHNldGVudiAiUl9M SUJTIiAiYzovUmxpYnMtUnhPREUiKQogICAgKHJlcXVpcmUgJ3BvbHktUikKICAgIChyZXF1aXJl ICdwb2x5LW1hcmtkb3duKQogICAgOzsgKHdoZW4gKGFuZCAoZ2V0ZW52ICJQcm9ncmFtRmlsZXMi KQogICAgOzsgCSAgICAgICAoZmlsZS1leGlzdHMtcCAoZm9ybWF0ICIlcy9MTFZNL2JpbiIgKGdl dGVudiAiUHJvZ3JhbUZpbGVzIikpKQogICAgOzsgCSAgICAgICAoZmlsZS1leGlzdHMtcCAiYzov bWluZ3czMi9iaW4iKSkKICAgIDs7ICAgKHNldGVudiAiUEFUSCIgKGZvcm1hdCAiJXMvTExWTS9i aW47YzovbWluZ3czMi9iaW47JXMiIChnZXRlbnYgIlByb2dyYW1GaWxlcyIpIChnZXRlbnYgIlBB VEgiKSkpKQogICAgOzsgVXNlIFIgY29yZSB0ZWFtJ3MgcmVjb21tZW5kYXRpb25zIGZvciBFU1Mu CiAgICA7OyBTZWUgaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy83NTAyNTQwL21h a2UtZW1hY3MtZXNzLWZvbGxvdy1yLXN0eWxlLWd1aWRlCiAgICAoYWRkLWhvb2sgJ2Vzcy1tb2Rl LWhvb2sKCSAgICAgIChsYW1iZGEoKQoJCShlc3Mtc2V0LXN0eWxlICdDKysgJ3F1aWV0KQoJCShh ZGQtaG9vayAnbG9jYWwtd3JpdGUtZmlsZS1ob29rcwogICAgICAgICAgICAgICAgICAgICAgICAg IChsYW1iZGEgKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlc3MtbnVrZS10cmFpbGlu Zy13aGl0ZXNwYWNlKSkpCgkJKGVsZWN0cmljLW9wZXJhdG9yLW1vZGUpKSkKICAgIChzZXRxIGVz cy1udWtlLXRyYWlsaW5nLXdoaXRlc3BhY2UtcCB0KSkKCihlcmdvZW1hY3MtcGFja2FnZSBlc3Mt c21hcnQtdW5kZXJzY29yZQogICAgOmVuc3VyZSB0KQoKKGVyZ29lbWFjcy1wYWNrYWdlIGV2aWwt bnVtYmVycwogICAgOmVuc3VyZSB0CiAgICA6ZGVmZXIgMQogICAgKGdsb2JhbC1zZXQta2V5IChr YmQgIkMtYyArIikgJ2V2aWwtbnVtYmVycy9pbmMtYXQtcHQpCiAgICAoZ2xvYmFsLXNldC1rZXkg KGtiZCAiQy1jIC0iKSAnZXZpbC1udW1iZXJzL2RlYy1hdC1wdCkpCgo7OyAoZXJnb2VtYWNzLXBh Y2thZ2UgZXh0ZW5kLWRuZAo7OyAgICAgOmVuc3VyZSB0Cjs7ICAgICAoZXh0ZW5kLWRuZC1hY3Rp dmF0ZSkpCgooZXJnb2VtYWNzLXBhY2thZ2UgZmlsbC1jb2x1bW4taW5kaWNhdG9yCiAgICA6ZW5z dXJlIHQKICAgIDpkZWZlciAxCiAgICA6Y29tbWFuZHMgZmNpLW1vZGUKICAgIChzZXRxIGZjaS1y dWxlLXdpZHRoIDMKICAgICAgICAgIHdoaXRlc3BhY2Utc3R5bGUgJyhmYWNlIHRyYWlsaW5nKSkK ICAgIChkb2xpc3QgKGhvb2sgJyhwcm9nLW1vZGUtaG9vaykpCiAgICAgIChhZGQtaG9vayAnZmNp LW1vZGUgaG9vaykpKQoKKGVyZ29lbWFjcy1wYWNrYWdlIGZseWNoZWNrCiAgICA6ZW5zdXJlIHQK ICAgIDpkZWZlciAyCiAgICAoZ2xvYmFsLWZseWNoZWNrLW1vZGUgMSkpCgooZXJnb2VtYWNzLWF1 dG9sb2FkIGdsb2JhbC1obC1saW5lLW1vZGUKICAgIChnbG9iYWwtaGwtbGluZS1tb2RlIDEpKQoK KGVyZ29lbWFjcy1wYWNrYWdlIGdvbGRlbi1yYXRpbwogICAgOmVuc3VyZSB0CiAgICA6ZGVmZXIg MQogICAgCiAgICAoZGVmdW4gZXJnb2VtYWNzLWdvbGRlbi1yYXRpby1leGNsdWRlLW1pbmltYXAt cCAoKQogICAgICAobWVtcSB0aGlzLWNvbW1hbmQgJyhtaW5pbWFwLXRvZ2dsZSkpKQogICAgKHNl dHEgZ29sZGVuLXJhdGlvLWluaGliaXQtZnVuY3Rpb25zICcoZXJnb2VtYWNzLWdvbGRlbi1yYXRp by1leGNsdWRlLW1pbmltYXAtcCkpCiAgICAoc2V0cSBnb2xkZW4tcmF0aW8tZXhjbHVkZS1tb2Rl cyAnKCJicy1tb2RlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2Fs Yy1tb2RlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZWRpZmYtbW9k ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpcmVkLW1vZGUiCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJndWQtbW9kZSIKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdkYi1sb2NhbHMtbW9kZSIKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdkYi1yZWdpc3RlcnMtbW9kZSIKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdkYi1icmVha3BvaW50cy1tb2RlIgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2RiLXRocmVhZHMtbW9kZSIK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdkYi1mcmFtZXMtbW9kZSIK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdkYi1pbmZlcmlvci1pby1t b2RlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ3VkLW1vZGUiCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZGItaW5mZXJpb3ItaW8tbW9k ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdkYi1kaXNhc3NlbWJs eS1tb2RlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2RiLW1lbW9y eS1tb2RlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdGNsaWVu dC1tb2RlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BlZWRiYXIt bW9kZSIKCQkJCSAgICAgICAibWluaW1hcC1tb2RlIikpCiAgICAoc2V0cSBnb2xkZW4tcmF0aW8t ZXh0cmEtY29tbWFuZHMKICAgICAgICAgIChhcHBlbmQgZ29sZGVuLXJhdGlvLWV4dHJhLWNvbW1h bmRzCiAgICAgICAgICAgICAgICAgICcoYWNlLXdpbmRvdwogICAgICAgICAgICAgICAgICAgIHN3 aXRjaC13aW5kb3cKICAgICAgICAgICAgICAgICAgICBkZWxldGUtb3RoZXItd2luZG93CiAgICAg ICAgICAgICAgICAgICAgYWNlLWRlbGV0ZS13aW5kb3cKICAgICAgICAgICAgICAgICAgICBhY2Ut c2VsZWN0LXdpbmRvdwogICAgICAgICAgICAgICAgICAgIGFjZS1zd2FwLXdpbmRvdwogICAgICAg ICAgICAgICAgICAgIGFjZS1tYXhpbWl6ZS13aW5kb3cKICAgICAgICAgICAgICAgICAgICBhdnkt cG9wLW1hcmsKICAgICAgICAgICAgICAgICAgICB3aW5kbW92ZS1sZWZ0CiAgICAgICAgICAgICAg ICAgICAgd2luZG1vdmUtcmlnaHQKICAgICAgICAgICAgICAgICAgICB3aW5kbW92ZS11cAogICAg ICAgICAgICAgICAgICAgIHdpbmRtb3ZlLWRvd24KICAgICAgICAgICAgICAgICAgICBzZWxlY3Qt d2luZG93LTAKICAgICAgICAgICAgICAgICAgICBzZWxlY3Qtd2luZG93LTEKICAgICAgICAgICAg ICAgICAgICBzZWxlY3Qtd2luZG93LTIKICAgICAgICAgICAgICAgICAgICBzZWxlY3Qtd2luZG93 LTMKICAgICAgICAgICAgICAgICAgICBzZWxlY3Qtd2luZG93LTQKICAgICAgICAgICAgICAgICAg ICBzZWxlY3Qtd2luZG93LTUKICAgICAgICAgICAgICAgICAgICBzZWxlY3Qtd2luZG93LTYKICAg ICAgICAgICAgICAgICAgICBzZWxlY3Qtd2luZG93LTcKICAgICAgICAgICAgICAgICAgICBzZWxl Y3Qtd2luZG93LTgKICAgICAgICAgICAgICAgICAgICBzZWxlY3Qtd2luZG93LTkKICAgICAgICAg ICAgICAgICAgICBidWYtbW92ZS1sZWZ0CiAgICAgICAgICAgICAgICAgICAgYnVmLW1vdmUtcmln aHQKICAgICAgICAgICAgICAgICAgICBidWYtbW92ZS11cAogICAgICAgICAgICAgICAgICAgIGJ1 Zi1tb3ZlLWRvd24KICAgICAgICAgICAgICAgICAgICBlc3MtZXZhbC1idWZmZXItYW5kLWdvCiAg ICAgICAgICAgICAgICAgICAgZXNzLWV2YWwtZnVuY3Rpb24tYW5kLWdvCiAgICAgICAgICAgICAg ICAgICAgZXNzLWV2YWwtbGluZS1hbmQtZ28pKSkKICAgIChhZGQtdG8tbGlzdCAnZ29sZGVuLXJh dGlvLWV4Y2x1ZGUtYnVmZmVyLXJlZ2V4cCAiXlxcKltoSF1lbG0uKiIpCiAgICAoYWRkLXRvLWxp c3QgJ2dvbGRlbi1yYXRpby1leGNsdWRlLWJ1ZmZlci1yZWdleHAgIl5cXCpNSU5JTUFQXFwqIikK ICAgIChhZGQtdG8tbGlzdCAnZ29sZGVuLXJhdGlvLWV4Y2x1ZGUtYnVmZmVyLW5hbWVzICIgKk5l b1RyZWUqIikKICAgIChhZGQtdG8tbGlzdCAnZ29sZGVuLXJhdGlvLWV4Y2x1ZGUtYnVmZmVyLW5h bWVzICIqTFYqIikKICAgIChhZGQtdG8tbGlzdCAnZ29sZGVuLXJhdGlvLWV4Y2x1ZGUtYnVmZmVy LW5hbWVzICIgKndoaWNoLWtleSoiKQogICAgKGdvbGRlbi1yYXRpby1tb2RlIHQpKQoKKGVyZ29l bWFjcy1hdXRvbG9hZCBndWlkZS1rZXkKICAgIDplbnN1cmUgdAogICAgOmRlZmVyIDIKICAgIChn dWlkZS1rZXktbW9kZSAxKQogICAgKHNldHEgZ3VpZGUta2V5L3JlY3Vyc2l2ZS1rZXktc2VxdWVu Y2UtZmxhZyB0CiAgICAgICAgICBndWlkZS1rZXkvcG9wdXAtd2luZG93LXBvc2l0aW9uICdib3R0 b20KICAgICAgICAgIGd1aWRlLWtleS9pZGxlLWRlbGF5IDAuMQogICAgICAgICAgZ3VpZGUta2V5 L3RleHQtc2NhbGUtYW1vdW50IDApKQoKKGVyZ29lbWFjcy1hdXRvbG9hZCBoZWxtCiAgICA6ZW5z dXJlIHQKICAgIChoZWxtLW1vZGUpCiAgICAoaGVsbS1hdXRvcmVzaXplLW1vZGUgdCkpCgoodXNl LXBhY2thZ2UgaGVsbS1jb25maWcpCgoodXNlLXBhY2thZ2UgaHlwZXJib2xlCiAgOmRpc2FibGVk KQoKKGVyZ29lbWFjcy1wYWNrYWdlIGktYmVhbS1kaXNwbGF5CiAgICAobW9kaWZ5LWFsbC1mcmFt ZXMtcGFyYW1ldGVycyAobGlzdCAoY29ucyAnY3Vyc29yLXR5cGUgJ2JhcikpKSkKCihlcmdvZW1h Y3MtcGFja2FnZSBpZG8KICAgIDplbnN1cmUgKGlkby1jb21wbGV0aW5nLXJlYWQrIGlkby12ZXJ0 aWNhbC1tb2RlIHNtZXgpIDtmbHgtaWRvCiAgICA7OyBSZW1vdmUgZXh0ZW5zaW9ucyBmcm9tIGlk byBjb21wbGV0aW9uCiAgICAoZG9saXN0IChleHQgJygiZWxjIiAiZXhlIiAiY29tIiAib3JnX2Fy Y2hpdmUiICJwbmciICJnaWYiICJjc3YiICJqcGciICJqcGVnIikpCiAgICAgIChwdXNoIGV4dCBj b21wbGV0aW9uLWlnbm9yZWQtZXh0ZW5zaW9ucykpCiAgICAoc2V0cSBpZG8tZW5hYmxlLXByZWZp eCB0CiAgICAgICAgICBpZG8tZW5hYmxlLWZsZXgtbWF0Y2hpbmcgdAogICAgICAgICAgaWRvLWNy ZWF0ZS1uZXctYnVmZmVyICdhbHdheXMKICAgICAgICAgIGlkby11c2UtZmlsZW5hbWUtYXQtcG9p bnQgbmlsCiAgICAgICAgICBpZG8tZW5hYmxlLXRyYW1wLWNvbXBsZXRpb24gdAogICAgICAgICAg aWRvLWV2ZXJ5d2hlcmUgdAogICAgICAgICAgb3JnLWNvbXBsZXRpb24tdXNlLWlkbyB0CiAgICAg ICAgICBpZG8tbWF4LXByb3NwZWN0cyAxMAogICAgICAgICAgaWRvLXVzZS12aXJ0dWFsLWJ1ZmZl cnMgdAogICAgICAgICAgaWRvLWRlZmF1bHQtZmlsZS1tZXRob2QgJ3NlbGVjdGVkLXdpbmRvdwog ICAgICAgICAgaWRvLWlnbm9yZS1leHRlbnNpb25zIHQKICAgICAgICAgIGlkby1maWxlLWV4dGVu c2lvbnMtb3JkZXIgJygiLm9yZyIgIi5SIiAiLmN0bCIgIi5wbHRjIiAiLm5zaSIgIi50eHQiICIu cHkiICIuZW1hY3MiICIueG1sIiAiLmVsIiAiLmluaSIgIi5jZmciICIuY25mIiAiLm5zaSIgIi5u c2giKQogICAgICAgICAgb3JnLWNvbXBsZXRpb24tdXNlLWlkbyB0CiAgICAgICAgICBtYWdpdC1j b21wbGV0aW5nLXJlYWQtZnVuY3Rpb24gJ21hZ2l0LWlkby1jb21wbGV0aW5nLXJlYWQKICAgICAg ICAgIGdudXMtY29tcGxldGluZy1yZWFkLWZ1bmN0aW9uICdnbnVzLWlkby1jb21wbGV0aW5nLXJl YWQKICAgICAgICAgIGlkby1lbmFibGUtZmxleC1tYXRjaGluZyB0CiAgICAgICAgICBpZG8tdXNl LWZhY2VzIG5pbAogICAgICAgICAgZmx4LWlkby10aHJlc2hvbGQgMTAwMDAKICAgICAgICAgIGdj LWNvbnMtdGhyZXNob2xkIDIwMDAwMDAwKQogICAgKGlkby1tb2RlIDEpCiAgICAoaWRvLWV2ZXJ5 d2hlcmUgMSkKICAgIChyZXF1aXJlICdpZG8tY29tcGxldGluZy1yZWFkKykKICAgIChpZG8tY29t cGxldGluZy1yZWFkKy1tb2RlIDEpCiAgICAoc21leC1pbml0aWFsaXplKQogICAgKGlkby12ZXJ0 aWNhbC1tb2RlIDEpCiAgICAoZmx4LWlkby1tb2RlIDEpKQoKKGVyZ29lbWFjcy1hdXRvbG9hZCBp bmRlbnQtZ3VpZGUKICAgIDplbnN1cmUgdAogICAgOmRlZmVyIDMKICAgIChpbmRlbnQtZ3VpZGUt Z2xvYmFsLW1vZGUgMSkpCgooZXJnb2VtYWNzLXBhY2thZ2UgaW5mbysKICAgIDplbnN1cmUgdAog ICAgOmRlZmVyIDEpCgooZXJnb2VtYWNzLXBhY2thZ2Uga2V5ZnJlcQogICAgOmVuc3VyZSB0CiAg ICAoc2V0cSBrZXlmcmVxLWZpbGUgKGV4cGFuZC1maWxlLW5hbWUgIi5lbWFjcy5rZXlmcmVxIiB1 c2VyLWVtYWNzLWRpcmVjdG9yeSkKICAgICAgICAgIGtleWZyZXEtZmlsZS1sb2NrIChleHBhbmQt ZmlsZS1uYW1lICIuZW1hY3Mua2V5ZnJlcS5sb2NrIiB1c2VyLWVtYWNzLWRpcmVjdG9yeSkpCiAg ICAocmVxdWlyZSAna2V5ZnJlcSkKICAgIChrZXlmcmVxLW1vZGUgMSkKICAgIChrZXlmcmVxLWF1 dG9zYXZlLW1vZGUgMSkpCgooZXJnb2VtYWNzLXBhY2thZ2UgbGludW0tb2ZmCiAgICA6ZW5zdXJl IHQKICAgIDpkZWZlciAwLjUKICAgIChnbG9iYWwtbGludW0tbW9kZSAxKSkKCjs7IChlcmdvZW1h Y3MtcGFja2FnZSBtYWdpdAo7OyAgICAgOmVuc3VyZSAobWFnaXQpCjs7ICAgICA6Y29tbWFuZHMg KG1hZ2l0LXN0YXR1cykKOzsgICAgIDs7IChhZGQtaG9vayAnbWFnaXQtbW9kZS1ob29rICMndHVy bi1vbi1tYWdpdC1naC1wdWxscykKOzsgICAgICkKCihlcmdvZW1hY3MtcGFja2FnZSBtb3VzZS13 aGVlbC1tb2RlCiAgICA6ZGVmZXIgMC41CiAgICAobW91c2Utd2hlZWwtbW9kZSB0KSkKCih1c2Ut cGFja2FnZSBub3YKICA6bW9kZQogICgiXFwuZXB1YlxcJyIgLiBub3YtbW9kZSkpCgooZXJnb2Vt YWNzLXBhY2thZ2Ugb3JnCjsgICAgKHdoZW4gKG5vdCAoZmlsZS1leGlzdHMtcCAifi9vcmciKSkK OyAgICAgIChtYWtlLWRpcmVjdG9yeSAifi9vcmciKSkKICAoc2V0cSBvcmctbG9nLWRvbmUgdAo7 ICAgICAgICBvcmctYWdlbmRhLWZpbGVzICcoIn4vb3JnL3JlZmlsZS5vcmciICJ+L29yZy90b2Rv Lm9yZyIpCiAgICAgICAgb3JnLXRvZG8ta2V5d29yZHMgJygoc2VxdWVuY2UgIlRPRE8odCkiICAi fCIgICJET05FKGQhKSIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VxdWVuY2UgIldB SVQod0ApIiAifCIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VxdWVuY2UgInwiICJT T01FREFZKHNAKSIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VxdWVuY2UgInwiICJD QU5DRUxFRChjQCkiKSkKCiAgICAgICAgb3JnLXRhZy1hbGlzdCAnKCgiQHdvcmsiIC4gP3cpICgi QGhvbWUiIC4gP2gpKQogICAgICAgIG9yZy11c2UtZmFzdC10b2RvLXNlbGVjdGlvbiB0CiAgICAg ICAgb3JnLWVuZm9yY2UtdG9kby1kZXBlbmRlbmNpZXMgdAogICAgICAgIG9yZy1hZ2VuZGEtb3Zl cnJpZGluZy1jb2x1bW5zLWZvcm1hdCAiJTM4SVRFTShEZXRhaWxzKSAlVEFHUyhDb250ZXh0KSAl N1RPRE8oVG8gRG8pICU1RWZmb3J0KFRpbWUpezp9ICU2Q0xPQ0tTVU1fVHtUb2RheX0iCjsgICAg ICAgIG9yZy1kZWZhdWx0LW5vdGVzLWZpbGUgIn4vb3JnL3JlZmlsZS5vcmciCiAgICAgICAgOzsg b3JnLWNhcHR1cmUtdGVtcGxhdGVzIGAoKCJ0IiAidG9kbyIgZW50cnkgKGZpbGUgIn4vb3JnL3Jl ZmlsZS5vcmciKQogICAgICAgIDs7ICAgICAgICAgICAgICAgICAgICAgICAgICAiKiBUT0RPICU/ XG4lVVxuJWFcbiAgJWkiIDpjbG9jay1pbiB0IDpjbG9jay1yZXN1bWUgdCkKICAgICAgICA7OyAg ICAgICAgICAgICAgICAgICAgICAgICAoImQiICJEYWlseSBSZXZpZXciIHBsYWluIChmaWxlK2Rh dGV0cmVlICJ+L29yZy9kYWlseS5vcmciKQogICAgICAgIDs7ICAgICAgICAgICAgICAgICAgICAg ICAgICAsKGZvcm1hdCAiJSVbJXMvZml2ZS1taW51dGUub3JnXSIKICAgICAgICA7OyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV4cGFuZC1maWxlLW5hbWUgImV0YyIgIn5FbWFj c01hdGUvIikpIDpjbG9jay1pbiB0IDpjbG9jay1yZXN1bWUgdCkKICAgICAgICA7OyAgICAgICAg ICAgICAgICAgICAgICAgICA7OyAoImsiICJXZWVrbHkgUmV2aWV3IiBwbGFpbiAoZmlsZStkYXRl dHJlZSAifi9vcmcvd2Vla2x5Lm9yZyIpCiAgICAgICAgOzsgICAgICAgICAgICAgICAgICAgICAg ICAgOzsgICwoZm9ybWF0ICIlJVslcy9ndGQtd2Vla2x5Lm9yZ10iCiAgICAgICAgOzsgICAgICAg ICAgICAgICAgICAgICAgICAgOzsgICAgICAgICAgIChleHBhbmQtZmlsZS1uYW1lICJldGMiCiAg ICAgICAgOzsgICAgICAgICAgICAgICAgICAgICAgICAgOzsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGVtYWNzbWF0ZS1kaXIpKQogICAgICAgIDs7ICAgICAgICAgICAgICAgICAgICAgICAg IDs7ICA6Y2xvY2staW4gdCA6Y2xvY2stcmVzdW1lIHQpCiAgICAgICAgOzsgICAgICAgICAgICAg ICAgICAgICAgICAgKCJuIiAibm90ZSIgZW50cnkgKGZpbGUgIn4vb3JnL3JlZmlsZS5vcmciKQog ICAgICAgIDs7ICAgICAgICAgICAgICAgICAgICAgICAgICAiKiAlPyA6Tk9URTpcbiVVXG4lYVxu ICAlaSIgOmNsb2NrLWluIHQgOmNsb2NrLXJlc3VtZSB0KQogICAgICAgIDs7ICAgICAgICAgICAg ICAgICAgICAgICAgICgiaiIgIkpvdXJuYWwiIGVudHJ5IChmaWxlK2RhdGV0cmVlICJ+L29yZy9k aWFyeS5vcmciKQogICAgICAgIDs7ICAgICAgICAgICAgICAgICAgICAgICAgICAiKiAlP1xuJVVc biAgJWkiIDpjbG9jay1pbiB0IDpjbG9jay1yZXN1bWUgdCkKICAgICAgICA7OyAgICAgICAgICAg ICAgICAgICAgICAgICAoInciICJvcmctcHJvdG9jb2wiIGVudHJ5IChmaWxlICJ+L29yZy9yZWZp bGUub3JnIikKICAgICAgICA7OyAgICAgICAgICAgICAgICAgICAgICAgICAgIiogVE9ETyBSZXZp ZXcgJWNcbiVVXG4gICVpIiA6aW1tZWRpYXRlLWZpbmlzaCB0KQogICAgICAgIDs7ICAgICAgICAg ICAgICAgICAgICAgICAgICgibyIgIm9yZy1vdXRsb29rIiBlbnRyeSAoZmlsZSAifi9vcmcvcmVm aWxlLm9yZyIpICIqIFRPRE8gRW1haWwgJWMgJT9cbiAgJWlcbiAlVSIKICAgICAgICA7OyAgICAg ICAgICAgICAgICAgICAgICAgICAgOmNsb2NrLWluIHQgOmNsb2NrLXJlc3VtZSB0KQogICAgICAg IDs7ICAgICAgICAgICAgICAgICAgICAgICAgICgiaCIgIkhhYml0IiBlbnRyeSAoZmlsZSAifi9v cmcvcmVmaWxlLm9yZyIpCiAgICAgICAgOzsgICAgICAgICAgICAgICAgICAgICAgICAgICIqIE5F WFQgJT9cbiVVXG4lYVxuU0NIRURVTEVEOiAldCAuKzFkLzNkXG46UFJPUEVSVElFUzpcbjpTVFlM RTogaGFiaXRcbjpSRVBFQVRfVE9fU1RBVEU6IE5FWFRcbjpFTkQ6XG4gICVpIikpCiAgICAgICAg OzsgU2hvdyBsb3Qgb2YgY2xvY2tpbmcgaGlzdG9yeSBzbyBpdCdzIGVhc3kgdG8gcGljayBpdGVt cyBvZmYgdGhlIEMtRjExIGxpc3QKICAgICAgICBvcmctY2xvY2staGlzdG9yeS1sZW5ndGggMjMK ICAgICAgICA7OyBSZXN1bWUgY2xvY2tpbmcgdGFzayBvbiBjbG9jay1pbiBpZiB0aGUgY2xvY2sg aXMgb3BlbgogICAgICAgIG9yZy1jbG9jay1pbi1yZXN1bWUgdAogICAgICAgIDs7IFNlcGFyYXRl IGRyYXdlcnMgZm9yIGNsb2NraW5nIGFuZCBsb2dzCiAgICAgICAgb3JnLWRyYXdlcnMgKHF1b3Rl ICgiUFJPUEVSVElFUyIgIkxPR0JPT0siKSkKICAgICAgICA7OyBTYXZlIGNsb2NrIGRhdGEgYW5k IHN0YXRlIGNoYW5nZXMgYW5kIG5vdGVzIGluIHRoZSBMT0dCT09LIGRyYXdlcgogICAgICAgIG9y Zy1jbG9jay1pbnRvLWRyYXdlciB0CiAgICAgICAgOzsgU29tZXRpbWVzIEkgY2hhbmdlIHRhc2tz IEknbSBjbG9ja2luZyBxdWlja2x5IC0gdGhpcyByZW1vdmVzIGNsb2NrZWQgdGFza3Mgd2l0aCAw OjAwIGR1cmF0aW9uCiAgICAgICAgb3JnLWNsb2NrLW91dC1yZW1vdmUtemVyby10aW1lLWNsb2Nr cyB0CiAgICAgICAgOzsgQ2xvY2sgb3V0IHdoZW4gbW92aW5nIHRhc2sgdG8gYSBkb25lIHN0YXRl CiAgICAgICAgb3JnLWNsb2NrLW91dC13aGVuLWRvbmUgdAogICAgICAgIDs7IFNhdmUgdGhlIHJ1 bm5pbmcgY2xvY2sgYW5kIGFsbCBjbG9jayBoaXN0b3J5IHdoZW4gZXhpdGluZyBFbWFjcywgbG9h ZCBpdCBvbiBzdGFydHVwCiAgICAgICAgb3JnLWNsb2NrLXBlcnNpc3QgdAogICAgICAgIDs7IERv IG5vdCBwcm9tcHQgdG8gcmVzdW1lIGFuIGFjdGl2ZSBjbG9jawogICAgICAgIG9yZy1jbG9jay1w ZXJzaXN0LXF1ZXJ5LXJlc3VtZSBuaWwKICAgICAgICA7OyBFbmFibGUgYXV0byBjbG9jayByZXNv bHV0aW9uIGZvciBmaW5kaW5nIG9wZW4gY2xvY2tzCiAgICAgICAgb3JnLWNsb2NrLWF1dG8tY2xv Y2stcmVzb2x1dGlvbiAocXVvdGUgd2hlbi1uby1jbG9jay1pcy1ydW5uaW5nKQogICAgICAgIDs7 IEluY2x1ZGUgY3VycmVudCBjbG9ja2luZyB0YXNrIGluIGNsb2NrIHJlcG9ydHMKICAgICAgICBv cmctY2xvY2stcmVwb3J0LWluY2x1ZGUtY2xvY2tpbmctdGFzayB0CiAgICAgICAgb3JnLXNyYy1m b250aWZ5LW5hdGl2ZWx5IHQKICAgICAgICBvcmctc3JjLXRhYi1hY3RzLW5hdGl2ZWx5IHQKICAg ICAgICBvcmctY3ljbGUtc2VwYXJhdG9yLWxpbmVzIDAKICAgICAgICBvcmctYmxhbmstYmVmb3Jl LW5ldy1lbnRyeSAocXVvdGUgKChoZWFkaW5nKSAocGxhaW4tbGlzdC1pdGVtKSkpCiAgICAgICAg b3JnLXNyYy13aW5kb3ctc2V0dXAgJ2N1cnJlbnQtd2luZG93KQogIDs7IChhZGQtaG9vayAnb3Jn LWFmdGVyLXJlZmlsZS1pbnNlcnQtaG9vayAjJ3NhdmUtYnVmZmVyKQogIDs7IChhZGQtaG9vayAn b3JnLWNhcHR1cmUtYWZ0ZXItZmluYWxpemUtaG9vayAjJ3NhdmUtYnVmZmVyKQogIDs7CiAgOzsg UmVzdW1lIGNsb2NraW5nIHRhc2sgd2hlbiBlbWFjcyBpcyByZXN0YXJ0ZWQKICAob3JnLWNsb2Nr LXBlcnNpc3RlbmNlLWluc2ludWF0ZSkKICAoZXJnb2VtYWNzLWFkdmljZSBvcmctcmVmaWxlICgm b3B0aW9uYWwgZ290byBkZWZhdWx0LWJ1ZmZlciByZmxvYyBtc2cpCiAgICAiU2F2ZSBidWZmZXIg YWZ0ZXIgcmVmaWxlLiIKICAgIDp0eXBlIDphZnRlcgogICAgKHNhdmUtYnVmZmVyKSkpCgooZXJn b2VtYWNzLXBhY2thZ2Ugb3JnLWJhYmVsCiAgICA7OyBTZXR1cCBvcmctYmFiZWwKICAgIChvcmct YmFiZWwtZG8tbG9hZC1sYW5ndWFnZXMKICAgICAnb3JnLWJhYmVsLWxvYWQtbGFuZ3VhZ2VzCiAg ICAgJygoZW1hY3MtbGlzcCAuIHQpCiAgICAgICAoc2ggLiB0KQogICAgICAgKFIgLiB0KQogICAg ICAgKHBsYW50dW1sIC4gdCkKICAgICAgIChwZXJsIC4gdCkKICAgICAgIChydWJ5IC4gdCkKICAg ICAgIChweXRob24gLiB0KQogICAgICAgKGpzIC4gdCkKICAgICAgIChoYXNrZWxsIC4gdCkKICAg ICAgIChjbG9qdXJlIC4gdCkKICAgICAgIChkaXRhYSAuIHQpKSkKICAoc2V0cSBvcmctY29uZmly bS1iYWJlbC1ldmFsdWF0ZSBuaWwpKQoKKHVzZS1wYWNrYWdlIG9yZy1ib29rbWFyay1oZWFkaW5n KQoKKHVzZS1wYWNrYWdlIG9yZy1idWxsZXRzCiAgOmhvb2sKICAob3JnLW1vZGUgLiAobGFtYmRh ICgpIChvcmctYnVsbGV0cy1tb2RlIDEpKSkpCgooZXJnb2VtYWNzLXBhY2thZ2Ugb3JnLWluZGVu dAogICAgKGFkZC1ob29rICdvcmctbW9kZS1ob29rICMnb3JnLWluZGVudC1tb2RlKSkKCih1c2Ut cGFja2FnZSBvcmctam91cm5hbAogIDpjdXN0b20KICAob3JnLWpvdXJuYWwtZGlyICJ+L0FwaHJv ZGl0ZS9UaW5hL2pvdXJuYWwiKSkKCihlcmdvZW1hY3MtcGFja2FnZSBvcmctb3V0bG9vawogICAg OmVuc3VyZSAoZXEgc3lzdGVtLXR5cGUgJ3dpbmRvd3MtbnQpKQoKKGVyZ29lbWFjcy1wYWNrYWdl IG9yZy1wcm90b2NvbCkKCih1c2UtcGFja2FnZSBvcmctc3RpY2t5LWhlYWRlcgogIDpkaXNhYmxl ZAogIDpjb25maWcKICAob3JnLXN0aWNreS1oZWFkZXItbW9kZSkKICA6aG9vawogIChvcmctbW9k ZSAuIG9yZy1zdGlja3ktaGVhZGVyKSkKCihlcmdvZW1hY3MtcGFja2FnZSBvdGhlci13aW5kb3ct aXMtYmVsb3cKICAgICJNYWtlIG90aGVyIHdpbmRvdyBiZWxvdyBjdXJyZW50IHdpbmRvdyIKICAg IChzZXRxIHNwbGl0LWhlaWdodC10aHJlc2hvbGQgMCkpCgooZXJnb2VtYWNzLXBhY2thZ2UgcGFn ZS1icmVhay1saW5lcwogICAgOmVuc3VyZSB0CiAgICA6ZGVmZXIgMwogICAgKGdsb2JhbC1wYWdl LWJyZWFrLWxpbmVzLW1vZGUgdCkpCgoodXNlLXBhY2thZ2UgcGFyYWRveAogIDpjb25maWcKICAo cGFyYWRveC1lbmFibGUpKQoKKHVzZS1wYWNrYWdlIHBjLWJ1ZnN3CiAgOmNvbmZpZwogIChwYy1i dWZzdy1kZWZhdWx0LWtleWJpbmRpbmdzKSkKCihlcmdvZW1hY3MtYXV0b2xvYWQgcG9wLXVwLWZy YW1lcwogICAgKHNldHEgcG9wLXVwLWZyYW1lcyAnZ3JhcGhpYy1vbmx5KSkKCihlcmdvZW1hY3Mt cGFja2FnZSByYWluYm93LWRlbGltaXRlcnMKICAgIDplbnN1cmUgdAogICAgOmRlZmVyIDIKICAg IChhZGQtaG9vayAncHJvZy1tb2RlLWhvb2sgIydyYWluYm93LWRlbGltaXRlcnMtbW9kZSkpCgoo ZXJnb2VtYWNzLXBhY2thZ2UgcmFpbmJvdy1tb2RlCiAgICA6ZW5zdXJlIHQKICAgIDpkZWZlciAz CiAgICAocmFpbmJvdy1tb2RlIHQpKQoKKGVyZ29lbWFjcy1wYWNrYWdlIHNhbmUtZGVmYXVsdHMK ICAgIChzZXRxLWRlZmF1bHQgaW5kZW50LXRhYnMtbW9kZSBuaWwKICAgICAgICAgICAgICAgICAg aW5kaWNhdGUtZW1wdHktbGluZXMgdAogICAgICAgICAgICAgICAgICBpbWVudS1hdXRvLXJlc2Nh biB0CiAgICAgICAgICAgICAgICAgIHRleHQtbW9kZS1ob29rICd0dXJuLW9uLWF1dG8tZmlsbAog ICAgICAgICAgICAgICAgICB0ZXh0LW1vZGUtaG9vayAndHVybi1vbi1mbHlzcGVsbCkKICAoc2V0 LXRlcm1pbmFsLWNvZGluZy1zeXN0ZW0gJ3V0Zi04KQogIChzZXQta2V5Ym9hcmQtY29kaW5nLXN5 c3RlbSAndXRmLTgpCiAgKHByZWZlci1jb2Rpbmctc3lzdGVtICd1dGYtOCkKICAocHV0ICduYXJy b3ctdG8tcmVnaW9uICdkaXNhYmxlZCBuaWwpCiAgKHB1dCAndXBjYXNlLXJlZ2lvbiAnZGlzYWJs ZWQgbmlsKQogIChwdXQgJ2Rvd25jYXNlLXJlZ2lvbiAnZGlzYWJsZWQgbmlsKQogIChwdXQgJ2Vy YXNlLWJ1ZmZlciAnZGlzYWJsZWQgbmlsKQogIChwdXQgJ3Njcm9sbC1sZWZ0ICdkaXNhYmxlZCBu aWwpCiAgKHB1dCAnZGlyZWQtZmluZC1hbHRlcm5hdGUtZmlsZSAnZGlzYWJsZWQgbmlsKQogIChz ZXRxIHZpc2libGUtYmVsbCB0CiAgICAgICAgZWNoby1rZXlzdHJva2VzIDAuMQogICAgICAgIGZv bnQtbG9jay1tYXhpbXVtLWRlY29yYXRpb24gdAogICAgICAgIGluaGliaXQtc3RhcnR1cC1tZXNz YWdlIHQKICAgICAgICBjb2xvci10aGVtZS1pcy1nbG9iYWwgdAogICAgICAgIGRlbGV0ZS1ieS1t b3ZpbmctdG8tdHJhc2ggdAogICAgICAgIHNoaWZ0LXNlbGVjdC1tb2RlIHQKICAgICAgICB0cnVu Y2F0ZS1wYXJ0aWFsLXdpZHRoLXdpbmRvd3MgbmlsCiAgICAgICAgdW5pcXVpZnktYnVmZmVyLW5h bWUtc3R5bGUgJ2ZvcndhcmQKICAgICAgICB3aGl0ZXNwYWNlLXN0eWxlICcodHJhaWxpbmcgbGlu ZXMgc3BhY2UtYmVmb3JlLXRhYiBpbmRlbnRhdGlvbiBzcGFjZS1hZnRlci10YWIpCiAgICAgICAg d2hpdGVzcGFjZS1saW5lLWNvbHVtbiAxMDAKICAgICAgICBlZGlmZi13aW5kb3ctc2V0dXAtZnVu Y3Rpb24gJ2VkaWZmLXNldHVwLXdpbmRvd3MtcGxhaW4KICAgICAgICB4dGVybS1tb3VzZS1tb2Rl IHQKICAgICAgICBzYXZlLXBsYWNlLWZpbGUgKGV4cGFuZC1maWxlLW5hbWUgInNhdmVwbGFjZS5l bCIgdXNlci1lbWFjcy1kaXJlY3RvcnkpCiAgICAgICAgc2F2ZS1wbGFjZSB0KQogICh0cmFuc2ll bnQtbWFyay1tb2RlIHQpCiAgKGRlZmFsaWFzICd5ZXMtb3Itbm8tcCAneS1vci1uLXApKQoKKGVy Z29lbWFjcy1wYWNrYWdlIHNhdmVoaXN0LW1vZGUKICAgIDpkZWZlciAxCiAgICAoc2F2ZWhpc3Qt bW9kZSAxKSkKCih1c2UtcGFja2FnZSBzbGltZQogIDpjdXN0b20KICAoaW5mZXJpb3ItbGlzcC1w cm9ncmFtICJzYmNsIikKICAoc2xpbWUtY29udHJpYnMgJyhzbGltZS1mYW5jeSkpKQoKOzsgKGVy Z29lbWFjcy1wYWNrYWdlIHNtYXJ0cGFyZW5zCjs7ICAgICA6ZW5zdXJlIHQKOzsgICAgIDpkZWZl ciB0Cjs7ICAgICAoZG9saXN0IChob29rICcocHJvZy1tb2RlLWhvb2spKQo7OyAgICAgICAoYWRk LWhvb2sgaG9vayAnc21hcnRwYXJlbnMtbW9kZSkpCgo7OyAgICAgOzsgZW5hYmxlIHNtYXJ0cGFy ZW5zLW1vZGUgaW4gYGV2YWwtZXhwcmVzc2lvbicKOzsgICAgIChkZWZ1biBlcmdvZW1hY3MtY29u ZGl0aW9uYWxseS1lbmFibGUtc21hcnRwYXJlbnMtbW9kZSAoKQo7OyAgICAgICAiRW5hYmxlIGBz bWFydHBhcmVucy1tb2RlJyBkdXJpbmcgYGV2YWwtZXhwcmVzc2lvbicuIgo7OyAgICAgICAoaWYg KGVxIHRoaXMtY29tbWFuZCAnZXZhbC1leHByZXNzaW9uKQo7OyAgICAgICAgICAgKHNtYXJ0cGFy ZW5zLW1vZGUpKSkKOzsgICAgIChhZGQtaG9vayAnbWluaWJ1ZmZlci1zZXR1cC1ob29rICdlcmdv ZW1hY3MtY29uZGl0aW9uYWxseS1lbmFibGUtc21hcnRwYXJlbnMtbW9kZSkKCjs7ICAgICAocmVx dWlyZSAnc21hcnRwYXJlbnMtY29uZmlnKQo7OyAgICAgKHNldHEgc3Atc2hvdy1wYWlyLWRlbGF5 IDAKOzsgICAgICAgICAgIHNwLXNob3ctcGFpci1mcm9tLWluc2lkZSB0IDsgZml4IHBhcmVuIGhp Z2hsaWdodGluZyBpbiBub3JtYWwgbW9kZQo7OyAgICAgICAgICAgc3AtY2FuY2VsLWF1dG9za2lw LW9uLWJhY2t3YXJkLW1vdmVtZW50IG5pbCkKOzsgICAgIChkZWZpbmUta2V5IGVtYWNzLWxpc3At bW9kZS1tYXAgKGtiZCAiKSIpICdzcC11cC1zZXhwKQoKOzsgICAgIChkZWZ1biBlbWFjc21hdGUt c21hcnRwYXJlbnMtZW1hY3MtbW9kZS1ob29rICgpCjs7ICAgICAgICJDaGFuZ2UgYHNwLW5hdmln YXRlLWNsb3NlLWlmLXVuYmFsYW5jZWQnIHRvIGJlIG5vbi1uaWwgaW4gZW1hY3MtYnVmZmVycyIK OzsgICAgICAgKHNldCAobWFrZS1sb2NhbC12YXJpYWJsZSAnc3AtbmF2aWdhdGUtY2xvc2UtaWYt dW5iYWxhbmNlZCkgdCkpCiAgICAKOzsgICAgIChhZGQtaG9vayAnZW1hY3MtbGlzcC1tb2RlLWhv b2sKOzsgICAgICAgICAgICAgICAnZW1hY3NtYXRlLXNtYXJ0cGFyZW5zLWVtYWNzLW1vZGUtaG9v aykKOzsgICAgIChzaG93LXNtYXJ0cGFyZW5zLWdsb2JhbC1tb2RlICsxKQogICAgCjs7ICAgICA7 OyBkb24ndCBjcmVhdGUgYSBwYWlyIHdpdGggc2luZ2xlIHF1b3RlIGluIG1pbmlidWZmZXIKOzsg ICAgIChzcC1sb2NhbC1wYWlyICdtaW5pYnVmZmVyLWluYWN0aXZlLW1vZGUgIiciIG5pbCA6YWN0 aW9ucyBuaWwpCjs7ICAgICAoc21hcnRwYXJlbnMtZ2xvYmFsLW1vZGUgMSkpCgooZXJnb2VtYWNz LXBhY2thZ2Ugc21hcnQtbW9kZS1saW5lCiAgICA6ZW5zdXJlIG5pbAogICAgOmRlZmVyIDIKICAg IDs7IChzZXRxIHNtbC9uby1jb25maXJtLWxvYWQtdGhlbWUgdCkKICAgIDs7IChzbWwvc2V0dXAp CiAgICA7OyAoZXJnb2VtYWNzLW1vZGUtbGluZS1mb3JtYXQpCiAgICA7OyAJICAgICAgOzsgCiAg ICA7OyAJICAgICAgOzsgbW9kZS1saW5lLW1pc2MtaW5mbwogICAgOzsgCSAgICAgIDs7IG1vZGUt bGluZS1lbmQtc3BhY2VzCiAgICA7OyAJICAgICAgKSkpCiAgICApCgooZXJnb2VtYWNzLXBhY2th Z2Ugc3RvcC1jdXJzb3ItaW4tbWluaWJ1ZmZlci1wcm9tcHQKICAgIChzZXRxIG1pbmlidWZmZXIt cHJvbXB0LXByb3BlcnRpZXMgKHF1b3RlIChyZWFkLW9ubHkgdCBwb2ludC1lbnRlcmVkIG1pbmli dWZmZXItYXZvaWQtcHJvbXB0IGZhY2UgbWluaWJ1ZmZlci1wcm9tcHQpKSkpCgooZXJnb2VtYWNz LXBhY2thZ2Ugc3Vid29yZC1tb2RlCiAgICA6ZGVmZXIgMQogICAgKGdsb2JhbC1zdWJ3b3JkLW1v ZGUgMSkpCgoodXNlLXBhY2thZ2Ugc3gpCjsgIDpjb25maWcKOyAgKGJpbmQta2V5cyA6cHJlZml4 ICJDLWMgcyIKOyAgICAgICAgICAgICA6cHJlZml4LW1hcCBteS1zeC1tYXAKOyAgICAgICAgICAg ICA6cHJlZml4LWRvY3N0cmluZyAiR2xvYmFsIGtleW1hcCBmb3IgU1guIgo7ICAgICAgICAgICAg ICgicSIgLiBzeC10YWItYWxsLXF1ZXN0aW9ucykKOyAgICAgICAgICAgICAoImkiIC4gc3gtaW5i b3gpCjsgICAgICAgICAgICAgKCJvIiAuIHN4LW9wZW4tbGluaykKOyAgICAgICAgICAgICAoInUi IC4gc3gtdGFiLXVuYW5zd2VyZWQtbXktdGFncykKOyAgICAgICAgICAgICAoImEiIC4gc3gtYXNr KQo7ICAgICAgICAgICAgICgicyIgLiBzeC1zZWFyY2gpKSkKCihlcmdvZW1hY3MtcGFja2FnZSB0 YWItc2V0dXAKICAgIChzZXRxLWRlZmF1bHQgaW5kZW50LXRhYnMtbW9kZSBuaWwpCiAgKHNldHEt ZGVmYXVsdCB0YWItd2lkdGggNCkKICAoc2V0cS1kZWZhdWx0IHRhYi1hbHdheXMtaW5kZW50ICdj b21wbGV0ZSkpCgooZXJnb2VtYWNzLXBhY2thZ2UgdGFiYmFyLXJ1bGVyCiAgICA6ZW5zdXJlIHQK ICAgIDpkZWZlciAxCiAgICAoc2V0cSB0YWJiYXItcnVsZXItZ2xvYmFsLXRhYmJhciB0IDsgSWYg eW91IHdhbnQgdGFiYmFyCiAgICAgICAgICA7O3RhYmJhci1ydWxlci1nbG9iYWwtcnVsZXIgdCA7 IGlmIHlvdSB3YW50IGEgZ2xvYmFsIHJ1bGVyCiAgICAgICAgICA7O3RhYmJhci1ydWxlci1wb3B1 cC1tZW51IG5pbCA7IElmIHlvdSB3YW50IGEgcG9wdXAgbWVudS4KICAgICAgICAgIDs7dGFiYmFy LXJ1bGVyLXBvcHVwLXRvb2xiYXIgbmlsIDsgSWYgeW91IHdhbnQgYSBwb3B1cCB0b29sYmFyCiAg ICAgICAgICA7O3RhYmJhci1ydWxlci1wb3B1cC1zY3JvbGxiYXIgbmlsCiAgICAgICAgICA7OyB0 YWJiYXItcnVsZXItc3R5bGUgJ2ZpcmVmb3gtY2lyY2xlCgkgICkgOyBQb3B1cCBzY3JvbGxiYXIK ICAgIChyZXF1aXJlICd0YWJiYXItcnVsZXIpKQoKKHVzZS1wYWNrYWdlIHR3aXR0ZXJpbmctbW9k ZQogIDpjdXN0b20KICAodHdpdHRlcmluZy1pY29uLW1vZGUgdCkKICAodHdpdHRlcmluZy11c2Ut aWNvbi1zdG9yYWdlIHQpKQoKKHVzZS1wYWNrYWdlIHVpbWFnZQogIDpob29rCiAgKGluZm8tbW9k ZS1ob29rIC4gdWltYWdlLW1vZGUpCiAgKGFkZC1ob29rIC4gdWltYWdlLW1vZGUpKQoKKGVyZ29l bWFjcy1hdXRvbG9hZCB2aXN1YWwtbGluZS1tb2RlCiAgICA6ZGVmZXIgMwogICAgKGdsb2JhbC12 aXN1YWwtbGluZS1tb2RlIDEpKQoKKGVyZ29lbWFjcy1hdXRvbG9hZCB2aXN1YWwtcmVnZXhwCiAg ICA6ZW5zdXJlIHQKICAgIDpjb21tYW5kcyB2ci9xdWVyeS1yZXBsYWNlCiAgICA6YmluZCAoKCJN LSUiIHZyL3F1ZXJ5LXJlcGxhY2UpCiAgICAgICAgICAgKCJNLTUiIHZyL3JlcGxhY2UpKSkKCihl cmdvZW1hY3MtcGFja2FnZSB2b2xhdGlsZS1oaWdobGlnaHRzCiAgICA6ZW5zdXJlIHQKICAgIDpk ZWZlciAzCiAgICAodm9sYXRpbGUtaGlnaGlsZ2h0LW1vZGUpKQoKKGVyZ29lbWFjcy1wYWNrYWdl IHdoaXRlc3BhY2UtbW9kZQogICAgKHNldHEgd2hpdGVzcGFjZS1zdHlsZSAocXVvdGUgKHNwYWNl cyB0YWJzIG5ld2xpbmUgc3BhY2UtbWFyayB0YWItbWFyayBuZXdsaW5lLW1hcmspKSA7OyBtYWtl IHdoaXRlc3BhY2UtbW9kZSB1c2UganVzdCBiYXNpYyBjb2xvcmluZwogICAgICAgICAgd2hpdGVz cGFjZS1kaXNwbGF5LW1hcHBpbmdzICcoKHNwYWNlLW1hcmsgMzIgWzE4M10gWzQ2XSkgOyAzMiBT UEFDRSwgMTgzIE1JRERMRSBET1Qg44CMwrfjgI0sIDQ2IEZVTEwgU1RPUCDjgIwu44CNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobmV3bGluZS1tYXJrIDEwIFsxODIg MTBdKSA7IDEwIExJTkUgRkVFRAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKHRhYi1tYXJrIDkgWzk2NTUgOV0gWzkyIDldKSA7IDkgVEFCLCA5NjU1IFdISVRFIFJJR0hU LVBPSU5USU5HIFRSSUFOR0xFIOOAjOKWt+OAjQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKSkpCgoodXNlLXBhY2thZ2UgeGFoLWVsaXNwLW1vZGUKICA6ZGlzYWJsZWQp CgoodXNlLXBhY2thZ2UgeWFvZGRtdXNlKQoKKGVyZ29lbWFjcy1wYWNrYWdlIHlhc25pcHBldAog ICAgOmVuc3VyZSB0CiAgICA6ZGVmZXIgMgogICAgKHlhcy1nbG9iYWwtbW9kZSAxKQogICAgOzsg KHdoZW4gKGZpbGUtZXhpc3RzLXAgIn5kYXRhL3NuaXBwZXRzIikKICAgIDs7ICAgKHlhcy1sb2Fk LWRpcmVjdG9yeSAifmRhdGEvc25pcHBldHMiKSkKIAogICAgOzsgKHdoZW4gKGVtYWNzbWF0ZS1w YWNrYWdlLWxvYWQtcGF0aCAndGV4dG1hdGUtdG8teWFzKQogICAgOzsgICAocmVxdWlyZSAndGV4 dG1hdGUtdG8teWFzKSkKICAgIDs7IDs7ICh5YXMtZ2xvYmFsLW1vZGUpCiAKCiAgICA7OyAoeWFz LWxvYWQtZGlyZWN0b3J5IChleHBhbmQtZmlsZS1uYW1lICJzbmlwcGV0cyIgZW1hY3NtYXRlLWRp cikpCgogICAgOzsgKGRlZnVuIHlhcy1vcmctdmVyeS1zYWZlLWV4cGFuZCAoKQogICAgOzsgICAo bGV0ICgoeWFzLWZhbGxiYWNrLWJlaGF2aW9yICdyZXR1cm4tbmlsKSkgKHlhcy1leHBhbmQpKSkK CiAgICA7OyAoZGVmdW4geWFzLW9yZy1zZXR1cCAoKQogICAgOzsgICA7OyB5YXNuaXBwZXQgKHVz aW5nIHRoZSBuZXcgb3JnLWN5Y2xlIGhvb2tzKQogICAgOzsgICAod2hlbiAoYm91bmRwICd5YXMt dHJpZ2dlci1rZXkpCiAgICA7OyAgICAgKHNldCAobWFrZS1sb2NhbC12YXJpYWJsZSAneWFzLXRy aWdnZXIta2V5KSBbdGFiXSkpCiAgICA7OyAgICh3aGVuIChib3VuZHAgJ29yZy10YWItZmlyc3Qt aG9vaykKICAgIDs7ICAgICAoYWRkLXRvLWxpc3QgJ29yZy10YWItZmlyc3QtaG9vayAneWFzLW9y Zy12ZXJ5LXNhZmUtZXhwYW5kKSkKICAgIDs7ICAgKHdoZW4gKGJvdW5kcCAneWFzLWtleW1hcCkK ICAgIDs7ICAgICAoZGVmaW5lLWtleSB5YXMta2V5bWFwIFt0YWJdICd5YXMtbmV4dC1maWVsZCkp KQoKICAgIDs7ICh3aGVuIChib3VuZHAgJ29yZy1tb2RlLWhvb2spCiAgICA7OyAgIChhZGQtaG9v ayAnb3JnLW1vZGUtaG9vayAjJ3lhcy1vcmctc2V0dXApKQogICAgKQoKOzsgY3VzdG9tIGZ1bmN0 aW9ucwoKKGRlZnVuIGRpc3BsYXktc3RhcnR1cC1zY3JlZW4taW50ZXJhY3RpdmUgKCkKICAiRGlz cGxheSB0aGUgKkdOVSBFbWFjcyogYnVmZmVyLgpBIGZhbmN5IGRpc3BsYXkgaXMgdXNlZCBvbiBn cmFwaGljIGRpc3BsYXlzLCBub3JtYWwgb3RoZXJ3aXNlLiIKICAoaW50ZXJhY3RpdmUpCiAgKGlm ICh1c2UtZmFuY3ktc3BsYXNoLXNjcmVlbnMtcCkKICAgICAgKGZhbmN5LXN0YXJ0dXAtc2NyZWVu KQogICAgKG5vcm1hbC1zcGxhc2gtc2NyZWVuIG5pbCkpKQoKOzsga2V5YmluZGluZ3MKCjsgT3Jp Z2luYWwgcHJlZml4IGtleXMgKGZvciByZWZlcmVuY2UpCjsgQy14ICAgIENvbnRyb2wtWC1wcmVm aXgKOyBDLWMgICAgbW9kZS1zcGVjaWZpYy1jb21tYW5kLXByZWZpeAo7IDxFU0M+ICBlc2MtcHJl Zml4CjsgQy1oICAgIGhlbHAtY29tbWFuZAo7IEMteCA0ICBjdGwteC00LXByZWZpeAo7IEMteCA1 ICBjdGwteC01LXByZWZpeAo7IEMteCA2ICAyQy1jb21tYW5kCjsgQy14IHYgIHZjLXByZWZpeC1t YXAKOyBNLW8gICAgZmFjZW1lbnUta2V5bWFwCgooZ2xvYmFsLXNldC1rZXkgKGtiZCAiTS14Iikg J0NvbnRyb2wtWC1wcmVmaXgpCihnbG9iYWwtc2V0LWtleSAoa2JkICJNLWMiKSAnbW9kZS1zcGVj aWZpYy1jb21tYW5kLXByZWZpeCkKCihnbG9iYWwtc2V0LWtleSBbZjJdICdDb250cm9sLVgtcHJl Zml4KSAgICAgICAgICAgICA7Qy14CihnbG9iYWwtc2V0LWtleSBbZjNdICdtb2RlLXNwZWNpZmlj LWNvbW1hbmQtcHJlZml4KSA7Qy1jCihnbG9iYWwtc2V0LWtleSBbZjRdICdleGVjdXRlLWV4dGVu ZGVkLWNvbW1hbmQpICAgICA7TS14CgooZ2xvYmFsLXNldC1rZXkgW2YxMV0gJ3RvZ2dsZS1mcmFt ZS1mdWxsc2NyZWVuKQooZ2xvYmFsLXNldC1rZXkgW0MtZjExXSAnZGV2aGVscC13b3JkLWF0LXBv aW50KQoKKGdsb2JhbC1zZXQta2V5IFtYRjg2U2VhcmNoXSAnZXhlY3V0ZS1leHRlbmRlZC1jb21t YW5kKQooZ2xvYmFsLXNldC1rZXkgW1hGODZGYXZvcml0ZXNdICdldmFsLWV4cHJlc3Npb24pCihn bG9iYWwtc2V0LWtleSBbWEY4NkhvbWVQYWdlXSAnZXZhbC1sYXN0LXNleHApCgooZ2xvYmFsLXNl dC1rZXkgW2YyXSAnQ29udHJvbC1YLXByZWZpeCkgICAgICAgICAgICAgO0MteAooZ2xvYmFsLXNl dC1rZXkgW2YzXSAnbW9kZS1zcGVjaWZpYy1jb21tYW5kLXByZWZpeCkgO0MtYwooZ2xvYmFsLXNl dC1rZXkgW2Y0XSAnZXhlY3V0ZS1leHRlbmRlZC1jb21tYW5kKSAgICAgO00teAoKKGdsb2JhbC1z ZXQta2V5IFtmNV0gJ2V2YWwtbGFzdC1zZXhwKSA7IHdhcyBlcmdvZW1hY3MtcmV2ZXJ0LWJ1ZmZl cgoKO1RPRE8gbWFrZSB3aW4tdGFiIGN5Y2xlIHdpbmRvd3MKCjsgb3JnLW1vZGUgZ2xvYmFsIGtl eXMgZm9yIEYzCihkZWZpbmUta2V5IG1vZGUtc3BlY2lmaWMtbWFwICJsIiAnb3JnLXN0b3JlLWxp bmspCihkZWZpbmUta2V5IG1vZGUtc3BlY2lmaWMtbWFwICJjIiAnb3JnLWNhcHR1cmUpCihkZWZp bmUta2V5IG1vZGUtc3BlY2lmaWMtbWFwICJhIiAnb3JnLWFnZW5kYSkKKGRlZmluZS1rZXkgbW9k ZS1zcGVjaWZpYy1tYXAgImIiICdvcmctaXN3aXRjaGIpCihkZWZpbmUta2V5IG1vZGUtc3BlY2lm aWMtbWFwICJMIiAnb3JnLWluc2VydC1saW5rLWdsb2JhbCkKKGRlZmluZS1rZXkgbW9kZS1zcGVj aWZpYy1tYXAgIm8iICdvcmctb3Blbi1hdC1wb2ludC1nbG9iYWwpCgooZGVmaW5lLWtleSBoZWxw LW1hcCAicyIgJ2Rlc2NyaWJlLXN5bWJvbCkKKGRlZmluZS1rZXkgaGVscC1tYXAgInkiICdkZXNj cmliZS1zeW50YXgpCgooZGVmaW5lLWtleSBrZXktdHJhbnNsYXRpb24tbWFwIFtTY3JvbGxfTG9j a10gIlsiKQooZGVmaW5lLWtleSBrZXktdHJhbnNsYXRpb24tbWFwIFtwYXVzZV0gIl0iKQoKKGds b2JhbC1zZXQta2V5IFtmNl0gJ215LUMtYykKCihkZWZ1biBteS1DLWMgKCZvcHRpb25hbCBhcmcp CiJNeSBDLWMiCihpbnRlcmFjdGl2ZSAiUCIpCiAgKHNldHEgcHJlZml4LWFyZyBjdXJyZW50LXBy ZWZpeC1hcmcpCihzZXRxIHVucmVhZC1jb21tYW5kLWV2ZW50cyAobGlzdGlmeS1rZXktc2VxdWVu Y2UgKHJlYWQta2JkLW1hY3JvICJDLWMiKSkpKQo= --f403045e7342d46bac05632c173c-- --=-=-=--