From mboxrd@z Thu Jan 1 00:00:00 1970 From: Emmanuel Charpentier Subject: Bug: :cache doesn't [9.1.14 (9.1.14-3-geb9955a-elpa @ /home/charpent/.emacs.d/elpa/org-20180924/)] Date: Sun, 30 Sep 2018 08:44:55 +0200 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-etB+OwW+1skFgW4sEYQH" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:56518) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g6VTb-0001xA-TJ for emacs-orgmode@gnu.org; Sun, 30 Sep 2018 02:45:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g6VTR-0006Ae-H3 for emacs-orgmode@gnu.org; Sun, 30 Sep 2018 02:45:11 -0400 Received: from smtp1-g21.free.fr ([2a01:e0c:1:1599::10]:55151) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g6VTQ-00069t-KP for emacs-orgmode@gnu.org; Sun, 30 Sep 2018 02:45:01 -0400 Received: from asus16-ec (unknown [82.228.67.28]) by smtp1-g21.free.fr (Postfix) with ESMTPS id 9870EB0053D for ; Sun, 30 Sep 2018 08:44:55 +0200 (CEST) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: emacs-orgmode@gnu.org --=-etB+OwW+1skFgW4sEYQH Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit The attached file is a dump of a Gnus buffer prepared by org-mode's "Report bug" functionj, which I can't sed, Gnus making (wildly) incorrect assumptions about my mail setup. An attempt to cutn'paste in my usual mailed failed, due to "unpastable" characters somewhere in the buffer. Sorry for the inconvenience... -- Emmanuel Charpentier --=-etB+OwW+1skFgW4sEYQH Content-Disposition: attachment; filename="BugReportCache" Content-Type: text/plain; name="BugReportCache"; charset="UTF-8" Content-Transfer-Encoding: base64 VG86IGVtYWNzLW9yZ21vZGVAZ251Lm9yZwpTdWJqZWN0OiBCdWc6IDpjYWNoZSBkb2Vzbid0IFs5 LjEuMTQgKDkuMS4xNC0zLWdlYjk5NTVhLWVscGEgQCAvaG9tZS9jaGFycGVudC8uZW1hY3MuZC9l bHBhL29yZy0yMDE4MDkyNC8pXQpGcm9tOiBFbW1hbnVlbCBDaGFycGVudGllciA8Y2hhcnBlbnRA YXN1czE2LWVjLmJhY2J1Yy5keW5kbnMub3JnPgotLXRleHQgZm9sbG93cyB0aGlzIGxpbmUtLQoK UmVtZW1iZXIgdG8gY292ZXIgdGhlIGJhc2ljcywgdGhhdCBpcywgd2hhdCB5b3UgZXhwZWN0ZWQg dG8gaGFwcGVuIGFuZAp3aGF0IGluIGZhY3QgZGlkIGhhcHBlbi4gIFlvdSBkb24ndCBrbm93IGhv dyB0byBtYWtlIGEgZ29vZCByZXBvcnQ/ICBTZWUKCiAgICAgaHR0cHM6Ly9vcmdtb2RlLm9yZy9t YW51YWwvRmVlZGJhY2suaHRtbCNGZWVkYmFjawoKWW91ciBidWcgcmVwb3J0IHdpbGwgYmUgcG9z dGVkIHRvIHRoZSBPcmcgbWFpbGluZyBsaXN0LgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk1vdGl2YXRpb24g OgoKSSBhbSBleHBsb3JpbmcgdGhlIHVzZSBvZiBvcmctbW9kZSBhcyBhIHByb2dyYW1taW5nIHRv b2wgZm9yIHN0YXRpc3RpY3MKYW1vbmcgb3RoZXJzLiBJbiB0aGlzIGRvbWFpbiwgbW9kZXJuIHVz ZSB0ZW5kcyB0byB1c2UgY29tcHV0YXRpb25hbGx5CmludGVuc2l2ZSB0YXNrcyBzdWNoIGFzIHJl c2FtcGxpbmcgbWV0aG9kcywgbnVtZXJpY2FsIG11bHRpZGltZW5zaW9uYWwKb3B0aW1pemF0aW9u LCBNQ01DLCBldGMuLi4gVGhlIGFiaWxpdHkgdG8gY2FjaGUgcmVzdWx0cyBpcyB2aXRhbAooZGVw ZW5kZW5jaWVzIGNhbiBiZSBtYW5hZ2VkIGJ5IHVzZSBvZiBkaWdlc3RzIG9mIChsYXJnZSkgcmVz dWx0cykuCgpVc2luZyBvcmctbW9kZSBmb3IgdGhpcyBraW5kIG9mIHRhc2tzIHdvdWxkIGFsbG93 IG1lIHRvIHVzZSBtb3JlIHRoYW4Kb25lIHRvb2wgZm9yIGEgZ2l2ZW4gcGFwZXIgKGUuIGcuIHVz aW5nIFIgZm9yIGFjdGlhbCBjb21wdXRhdGlvbiwgU2FnZQpmb3Igc3ltYm9saWMgd29yayBhbmQg cHl0aG9uIGZvciBmdXJ0aGVyIHNpbWlsYXRpb24pLgoKQnV0IEkgc3R1bWJsZSBvbiBhIHNsaWdo dCBkaWZmaWN1bHR5IDogSSBhbSB1bmFibGUgdG8gZ2V0IG9yZy1tb2RlIHRvCmNhY2hlIHJlc3Vs dHMuCgpNaW5pbWFsIChub24tKXdvcmtpbmcgZXhhbXBsZSA6CgoxKSBPcmcgc291cmNlIDoKCiMr YXV0aG9yOgojK29wdGlvbnM6IHRvYzpuaWwKCgojK25hbWU6IHRvdG8KIytCRUdJTl9TUkMgUiA6 Y2FjaGUgeWVzIDpldmFsIG5vLWV4cGFuZAogICMjIFNpbXVsYXRlIGEgKG5vdCB0b28pIGxvbmcg Y29tcHV0YXRpb24KICBTeXMuc2xlZXAoMykKICBTeXMudGltZSgpCiMrRU5EX1NSQwoKIytSRVNV TFRTWzZiN2VlYjIyY2IzZDc4ZDJhZjgyMjk4YjRhZWYwZWRhNTA0M2JjZWVdOiB0b3RvCjogMjAx OC0wOS0zMCAwODowMToyMwoKIytuYW1lOiB0aXRpCiMrY2FsbDogdG90bygpCgojK2NhbGw6IHRp dGkoKQoKRW4gbGlnbmUgOiBjYWxsX3RpdGkoKS4gRXQgY2FsbF90b3RvKCkKCjIpIFJlc3VsdHMg KGFzIGV4cG9ydGVkIHRvIGFuIEFTQ0lJIGJ1ZmZlciBieSBDLWMgQy1lIHQgQSkgOgoKLC0tLS0K fCBTeXMuc2xlZXAoMykKfCBTeXMudGltZSgpCmAtLS0tCgosLS0tLQp8IDIwMTgtMDktMzAgMDg6 MDM6MTQKYC0tLS0KCiwtLS0tCnwgMjAxOC0wOS0zMCAwODowMzoxNwpgLS0tLQoKRW4gbGlnbmUg OiBgMjAxOC0wOS0zMCAwODowMzoyMCcuIEV0IGAyMDE4LTA5LTMwIDA4OjAzOjI0JwoKCjMpIChV bmZ1bGZpbGxlZCkgZXhwZWN0YXRpb25zIDoKCkkgZXhwZWN0ZWQgdGhlIGZvdXIgdGltZXN0YW1w cyB0byBiZSBpZGVudGljYWwgKHVwIHRvIHRoZSByZXNvbHV0aW9uIG9mClIncyBTeXMudGltZSgp KSA7IHRoZSByZWFsIHRpbWVzdGFtcHMgYXJlcyBzZXBhcmF0ZWQgYnkgMyBzZWNvbmRzCmRlbHRh cywgdGh1cyBoaW50aW5nIGF0IGZvdXIgZXhlY3V0aW9ucyBvZiB0aGUgc3VwcG9zZWRseSBjYWNo ZWQKZnVuY3Rpb24uCgpOb3RlIDogSSBnb3QgdGhlIHNhbWUgcmVzdWx0cyAodXAgdG8gYmFzZSB0 aW1lKSB3aGVuIHJ1bm5pbmcgaW4gc2Vzc2lvbgptb2RlIChieSBwbGFjaW5nIDoKIytwcm9wZXJ0 eTogaGVhZGVyLWFyZ3M6UiA6c2Vzc2lvbgphdCB0aGUgc3RhcnQgb2YgdGhlIGJ1ZmZlcikuCgot LQpFbW1hbnVlbCBDaGFycGVudGllcgoKRW1hY3MgIDogR05VIEVtYWNzIDI1LjIuMiAoeDg2XzY0 LXBjLWxpbnV4LWdudSwgR1RLKyBWZXJzaW9uIDMuMjIuMzApCiBvZiAyMDE4LTA4LTI3LCBtb2Rp ZmllZCBieSBEZWJpYW4KUGFja2FnZTogT3JnIG1vZGUgdmVyc2lvbiA5LjEuMTQgKDkuMS4xNC0z LWdlYjk5NTVhLWVscGEgQCAvaG9tZS9jaGFycGVudC8uZW1hY3MuZC9lbHBhL29yZy0yMDE4MDky NC8pCgpjdXJyZW50IHN0YXRlOgo9PT09PT09PT09PT09PQooc2V0cQogb3JnLXNyYy1sYW5nLW1v ZGVzICcoKCJtYXRoZW1hdGljYSIgLiAibW1hIikgKCJzYWdlIiAuIHNhZ2Utc2hlbGw6c2FnZSkK CQkgICAgICAoIm9jYW1sIiAuIHR1YXJlZykgKCJlbGlzcCIgLiBlbWFjcy1saXNwKQoJCSAgICAg ICgiZGl0YWEiIC4gYXJ0aXN0KSAoImFzeW1wdG90ZSIgLiBhc3kpCgkJICAgICAgKCJkb3QiIC4g ZnVuZGFtZW50YWwpICgic3FsaXRlIiAuIHNxbCkKCQkgICAgICAoImNhbGMiIC4gZnVuZGFtZW50 YWwpICgiQyIgLiBjKSAoImNwcCIgLiBjKyspCgkJICAgICAgKCJDKysiIC4gYysrKSAoInNjcmVl biIgLiBzaGVsbC1zY3JpcHQpICgic2hlbGwiIC4gc2gpCgkJICAgICAgKCJiYXNoIiAuIHNoKSkK IG9yZy1yZWYtZ2V0LXBkZi1maWxlbmFtZS1mdW5jdGlvbiAnb3JnLXJlZi1nZXQtcGRmLWZpbGVu YW1lCiBvcmctdGFiLWZpcnN0LWhvb2sgJyhvcmctYmFiZWwtaGlkZS1yZXN1bHQtdG9nZ2xlLW1h eWJlCgkJICAgICAgb3JnLWJhYmVsLWhlYWRlci1hcmctZXhwYW5kKQogb3JnLXNwZWVkLWNvbW1h bmQtaG9vayAnKG9yZy1zcGVlZC1jb21tYW5kLWFjdGl2YXRlCgkJCSAgb3JnLWJhYmVsLXNwZWVk LWNvbW1hbmQtYWN0aXZhdGUpCiBvcmctcmVmLWNyZWF0ZS1ub3Rlcy1ob29rICcoKGxhbWJkYSBu aWwgKG9yZy1uYXJyb3ctdG8tc3VidHJlZSkKCQkJICAgICAgKGluc2VydAoJCQkgICAgICAgKGZv cm1hdCAiY2l0ZTolc1xuIgoJCQkJKG9yZy1lbnRyeS1nZXQgKHBvaW50KSAiQ3VzdG9tX0lEIikp CgkJCSAgICAgICApCgkJCSAgICAgICkKCQkJICAgICApCiBvcmctb2NjdXItaG9vayAnKG9yZy1m aXJzdC1oZWFkbGluZS1yZWNlbnRlcikKIG9yZy1tZXRhdXAtaG9vayAnKG9yZy1iYWJlbC1sb2Fk LWluLXNlc3Npb24tbWF5YmUpCiBvcmctaHRtbC1mb3JtYXQtZHJhd2VyLWZ1bmN0aW9uICNbNTE0 ICJcMjA3IiBbXSAzICJcblxuKGZuIE5BTUUgQ09OVEVOVFMpIl0KIG9yZy1sYXRleC1mb3JtYXQt aW5saW5ldGFzay1mdW5jdGlvbiAnb3JnLWxhdGV4LWZvcm1hdC1pbmxpbmV0YXNrLWRlZmF1bHQt ZnVuY3Rpb24KIG9yZy1jb25maXJtLXNoZWxsLWxpbmstZnVuY3Rpb24gJ3llcy1vci1uby1wCiBv cmctYXNjaWktZm9ybWF0LWlubGluZXRhc2stZnVuY3Rpb24gJ29yZy1hc2NpaS1mb3JtYXQtaW5s aW5ldGFzay1kZWZhdWx0CiBvcmctcmVmLW9wZW4tcGRmLWZ1bmN0aW9uICdvcmctcmVmLW9wZW4t cGRmLWF0LXBvaW50CiBvcmctcmVmLWNpdGUtb25jbGljay1mdW5jdGlvbiAnb3JnLXJlZi1jaXRl LWNsaWNrLWhlbG0KIG9yZy1yZWYtaW5zZXJ0LWxhYmVsLWZ1bmN0aW9uICdvcmctcmVmLWhlbG0t aW5zZXJ0LWxhYmVsLWxpbmsKIG9yZy1sYXRleC1mb3JtYXQtaGVhZGxpbmUtZnVuY3Rpb24gJ29y Zy1sYXRleC1mb3JtYXQtaGVhZGxpbmUtZGVmYXVsdC1mdW5jdGlvbgogb3JnLWFmdGVyLXRvZG8t c3RhdGUtY2hhbmdlLWhvb2sgJyhvcmctY2xvY2stb3V0LWlmLWN1cnJlbnQpCiBvcmctbGF0ZXgt Zm9ybWF0LWRyYXdlci1mdW5jdGlvbiAjWzUxNCAiXDIwNyIgW10gMyAiXG5cbihmbiBfIENPTlRF TlRTKSJdCiBvcmctb2R0LWZvcm1hdC1oZWFkbGluZS1mdW5jdGlvbiAnb3JnLW9kdC1mb3JtYXQt aGVhZGxpbmUtZGVmYXVsdC1mdW5jdGlvbgogb3JnLWZyb20taXMtdXNlci1yZWdleHAgIlxcPEVt bWFudWVsIENoYXJwZW50aWVyXFw+Igogb3JnLXNyYy1tb2RlLWhvb2sgJyhvcmctc3JjLWJhYmVs LWNvbmZpZ3VyZS1lZGl0LWJ1ZmZlcgoJCSAgICAgb3JnLXNyYy1tb2RlLWNvbmZpZ3VyZS1lZGl0 LWJ1ZmZlcikKIG9yZy1hZ2VuZGEtYmVmb3JlLXdyaXRlLWhvb2sgJyhvcmctYWdlbmRhLWFkZC1l bnRyeS10ZXh0KQogb3JnLWJhYmVsLXByZS10YW5nbGUtaG9vayAnKHNhdmUtYnVmZmVyKQogb3Jn LW1vZGUtaG9vayAnKG9yZy1yZWYtb3JnLW1lbnUKCQkgI1swICJcMzAwXDMwMVwzMDJcMzAzXDMw NCRcMjA3IgoJCSAgIFthZGQtaG9vayBjaGFuZ2UtbWFqb3ItbW9kZS1ob29rIG9yZy1zaG93LWJs b2NrLWFsbCBhcHBlbmQKCQkgICAgbG9jYWxdCgkJICAgNV0KCQkgI1swICJcMzAwXDMwMVwzMDJc MzAzXDMwNCRcMjA3IgoJCSAgIFthZGQtaG9vayBjaGFuZ2UtbWFqb3ItbW9kZS1ob29rIG9yZy1i YWJlbC1zaG93LXJlc3VsdC1hbGwKCQkgICAgYXBwZW5kIGxvY2FsXQoJCSAgIDVdCgkJIG9yZy1i YWJlbC1yZXN1bHQtaGlkZS1zcGVjIG9yZy1iYWJlbC1oaWRlLWFsbC1oYXNoZXMKCQkgb3JnLWVs ZG9jLWxvYWQpCiBvcmctcmVmLWluc2VydC1jaXRlLWZ1bmN0aW9uICdvcmctcmVmLWhlbG0taW5z ZXJ0LWNpdGUtbGluawogb3JnLWJpYnRleC1oZWFkbGluZS1mb3JtYXQtZnVuY3Rpb24gI1syNTcg IlwzMDABXDIzNkFcMjA3IiBbOnRpdGxlXSAzICJcblxuKGZuIEVOVFJZKSJdCiBvcmctYXJjaGl2 ZS1ob29rICcob3JnLWF0dGFjaC1hcmNoaXZlLWRlbGV0ZS1tYXliZSkKIG9yZy1hc2NpaS1mb3Jt YXQtZHJhd2VyLWZ1bmN0aW9uICNbNzcxICIBXDIwNyIgW10gNCAiXG5cbihmbiBOQU1FIENPTlRF TlRTIFdJRFRIKSJdCiBvcmctb2R0LWZvcm1hdC1pbmxpbmV0YXNrLWZ1bmN0aW9uICdvcmctb2R0 LWZvcm1hdC1pbmxpbmV0YXNrLWRlZmF1bHQtZnVuY3Rpb24KIG9yZy1yZWYtaW5zZXJ0LXJlZi1m dW5jdGlvbiAnb3JnLXJlZi1oZWxtLWluc2VydC1yZWYtbGluawogb3JnLWN5Y2xlLWhvb2sgJyhv cmctY3ljbGUtaGlkZS1hcmNoaXZlZC1zdWJ0cmVlcyBvcmctY3ljbGUtaGlkZS1kcmF3ZXJzCgkJ ICBvcmctY3ljbGUtc2hvdy1lbXB0eS1saW5lcwoJCSAgb3JnLW9wdGltaXplLXdpbmRvdy1hZnRl ci12aXNpYmlsaXR5LWNoYW5nZSkKIG9yZy1yZWYtYmlidGV4LWFzc29jLXBkZi13aXRoLWVudHJ5 LW1vdmUtZnVuY3Rpb24gJ3JlbmFtZS1maWxlCiBvcmctcmVmLWNsZWFuLWJpYnRleC1rZXktZnVu Y3Rpb24gJyhsYW1iZGEgKGtleSkKCQkJCSAgICAgKHJlcGxhY2UtcmVnZXhwLWluLXN0cmluZyAi OiIgIiIga2V5KSkKIG9yZy1yZWYtY2xlYW4tYmlidGV4LWVudHJ5LWhvb2sgJyhvcmctcmVmLWJp YnRleC1mb3JtYXQtdXJsLWlmLWRvaQoJCQkJICAgb3JjYi1rZXktY29tbWEgb3JnLXJlZi1yZXBs YWNlLW5vbmFzY2lpCgkJCQkgICBvcmNiLSYgb3JjYi0lIG9yZy1yZWYtdGl0bGUtY2FzZS1hcnRp Y2xlCgkJCQkgICBvcmNiLWNsZWFuLXllYXIgb3JjYi1rZXkgb3JjYi1jbGVhbi1kb2kKCQkJCSAg IG9yY2ItY2xlYW4tcGFnZXMgb3JjYi1jaGVjay1qb3VybmFsCgkJCQkgICBvcmctcmVmLXNvcnQt YmlidGV4LWVudHJ5KQogb3JnLWJhYmVsLXRhbmdsZS1sYW5nLWV4dHMgJygoIm1hdGhlbWF0aWNh IiAuICJtIikgKCJtYXhpbWEiIC4gIm1heCIpCgkJCSAgICAgICgianVsaWEiIC4gImpsIikgKCJz YWdlIiAuICJzYWdlIikKCQkJICAgICAgKCJweXRob24iIC4gInB5IikgKCJlbWFjcy1saXNwIiAu ICJlbCIpCgkJCSAgICAgICgiZWxpc3AiIC4gImVsIikpCiBvcmctY29uZmlybS1lbGlzcC1saW5r LWZ1bmN0aW9uICd5ZXMtb3Itbm8tcAogb3JnLW1ldGFkb3duLWhvb2sgJyhvcmctYmFiZWwtcG9w LXRvLXNlc3Npb24tbWF5YmUpCiBvcmctb2R0LWZvcm1hdC1kcmF3ZXItZnVuY3Rpb24gI1s1MTQg IlwyMDciIFtdIDMgIlxuXG4oZm4gTkFNRSBDT05URU5UUykiXQogb3JnLWRpdGFhLWphci1wYXRo ICIvdXNyL3NoYXJlL2RpdGFhL2RpdGFhLmphciIKIG9yZy1yZWYtb3Blbi1ub3Rlcy1mdW5jdGlv biAnKGxhbWJkYSBuaWwgKG9yZy1zaG93LWVudHJ5KQoJCQkgICAgICAgKG91dGxpbmUtc2hvdy1i cmFuY2hlcykgKG91dGxpbmUtc2hvdy1jaGlsZHJlbikKCQkJICAgICAgIChvcmctY3ljbGUgKHF1 b3RlICg2NCkpKSAocmVjZW50ZXItdG9wLWJvdHRvbSAwKSkKIG9yZy1odG1sLWZvcm1hdC1oZWFk bGluZS1mdW5jdGlvbiAnb3JnLWh0bWwtZm9ybWF0LWhlYWRsaW5lLWRlZmF1bHQtZnVuY3Rpb24K IG9yZy1saW5rLXBhcmFtZXRlcnMgJygoImlkIiA6Zm9sbG93IG9yZy1pZC1vcGVuKQoJCSAgICAg ICAoInJtYWlsIiA6Zm9sbG93IG9yZy1ybWFpbC1vcGVuIDpzdG9yZQoJCQlvcmctcm1haWwtc3Rv cmUtbGluaykKCQkgICAgICAgKCJtaGUiIDpmb2xsb3cgb3JnLW1oZS1vcGVuIDpzdG9yZSBvcmct bWhlLXN0b3JlLWxpbmspCgkJICAgICAgICgiaXJjIiA6Zm9sbG93IG9yZy1pcmMtdmlzaXQgOnN0 b3JlIG9yZy1pcmMtc3RvcmUtbGluaykKCQkgICAgICAgKCJpbmZvIiA6Zm9sbG93IG9yZy1pbmZv LW9wZW4gOmV4cG9ydCBvcmctaW5mby1leHBvcnQKCQkJOnN0b3JlIG9yZy1pbmZvLXN0b3JlLWxp bmspCgkJICAgICAgICgiZ251cyIgOmZvbGxvdyBvcmctZ251cy1vcGVuIDpzdG9yZSBvcmctZ251 cy1zdG9yZS1saW5rKQoJCSAgICAgICAoImRvY3ZpZXciIDpmb2xsb3cgb3JnLWRvY3ZpZXctb3Bl biA6ZXhwb3J0CgkJCW9yZy1kb2N2aWV3LWV4cG9ydCA6c3RvcmUgb3JnLWRvY3ZpZXctc3RvcmUt bGluaykKCQkgICAgICAgKCJiYmRiIiA6Zm9sbG93IG9yZy1iYmRiLW9wZW4gOmV4cG9ydCBvcmct YmJkYi1leHBvcnQKCQkJOmNvbXBsZXRlIG9yZy1iYmRiLWNvbXBsZXRlLWxpbmsgOnN0b3JlCgkJ CW9yZy1iYmRiLXN0b3JlLWxpbmspCgkJICAgICAgICgidzNtIiA6c3RvcmUgb3JnLXczbS1zdG9y ZS1saW5rKQoJCSAgICAgICAoInByaW50aW5kZXgiIDpmb2xsb3cgb3JnLXJlZi1pbmRleCA6ZXhw b3J0CgkJCSNbKHBhdGggZGVzYyBmb3JtYXQpCgkJCSAgIghcMzAxPVwyMDUJAFwzMDBcMzAyIVwy MDciCgkJCSAgW2Zvcm1hdCBsYXRleCAiXFxwcmludGluZGV4Il0gMl0KCQkJKQoJCSAgICAgICAo ImluZGV4IiA6Zm9sbG93ICNbKHBhdGgpICJcMzAxCCFcMjA3IiBbcGF0aCBvY2N1cl0gMl0KCQkJ OmV4cG9ydAoJCQkjWyhwYXRoIGRlc2MgZm9ybWF0KSAiCFwzMDI9XDIwNVxuAFwzMDBcMzAzCVwi XDIwNyIKCQkJICBbZm9ybWF0IHBhdGggbGF0ZXggIlxcaW5kZXh7JXN9Il0gM10KCQkJKQoJCSAg ICAgICAoImJpYmVudHJ5IiA6Zm9sbG93CgkJCShsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1yZWYt Y2l0ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtYmli ZW50cnkgOmNvbXBsZXRlCgkJCW9yZy1iaWJlbnRyeS1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8K CQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hv dy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0 aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5 CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAg ICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1w YXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAg KQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwg OmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJ CSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNp dGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkg IChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYt bmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3Nzcz MzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0 IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkg IChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3 NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVy YWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGgg KG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAo aW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXkt YW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAg KHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChr aWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJ CQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3 NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUp IChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmli dGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkK CQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3Nzcz MjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVm LW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1w b2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJ IChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUt YXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAg ICAoIkF1dG9jaXRlcyIgOmZvbGxvdwoJCQkobGFtYmRhIChfKSAoZnVuY2FsbCBvcmctcmVmLWNp dGUtb25jbGljay1mdW5jdGlvbiBuaWwpKQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0LUF1dG9j aXRlcyA6Y29tcGxldGUKCQkJb3JnLUF1dG9jaXRlcy1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8K CQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hv dy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0 aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5 CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAg ICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1w YXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAg KQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwg OmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJ CSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNp dGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkg IChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYt bmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3Nzcz MzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0 IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkg IChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3 NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVy YWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGgg KG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAo aW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXkt YW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAg KHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChr aWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJ CQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3 NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUp IChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmli dGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkK CQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3Nzcz MjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVm LW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1w b2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJ IChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUt YXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAg ICAoImF1dG9jaXRlcyIgOmZvbGxvdwoJCQkobGFtYmRhIChfKSAoZnVuY2FsbCBvcmctcmVmLWNp dGUtb25jbGljay1mdW5jdGlvbiBuaWwpKQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0LWF1dG9j aXRlcyA6Y29tcGxldGUKCQkJb3JnLWF1dG9jaXRlcy1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8K CQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hv dy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0 aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5 CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAg ICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1w YXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAg KQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwg OmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJ CSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNp dGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkg IChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYt bmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3Nzcz MzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0 IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkg IChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3 NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVy YWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGgg KG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAo aW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXkt YW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAg KHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChr aWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJ CQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3 NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUp IChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmli dGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkK CQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3Nzcz MjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVm LW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1w b2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJ IChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUt YXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAg ICAoInN1cGVyY2l0ZXMiIDpmb2xsb3cKCQkJKGxhbWJkYSAoXykgKGZ1bmNhbGwgb3JnLXJlZi1j aXRlLW9uY2xpY2stZnVuY3Rpb24gbmlsKSkKCQkJOmV4cG9ydCBvcmctcmVmLWZvcm1hdC1zdXBl cmNpdGVzIDpjb21wbGV0ZQoJCQlvcmctc3VwZXJjaXRlcy1jb21wbGV0ZS1saW5rIDpoZWxwLWVj aG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYt c2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBv c2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVu dHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkg ICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmls bC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJ CSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1 bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmsp CgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2Fw LWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJ CQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1y ZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3 NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZp cnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJ CQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgx Njc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGlu dGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBh dGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5p bCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1r ZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJ CSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAg IChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAg KQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgx Njc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3Rp dmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwt YmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2lu dCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3 NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmct cmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1h dC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkK CQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZp bGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAg ICAgICAoIlRleHRjaXRlcyIgOmZvbGxvdwoJCQkobGFtYmRhIChfKSAoZnVuY2FsbCBvcmctcmVm LWNpdGUtb25jbGljay1mdW5jdGlvbiBuaWwpKQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0LVRl eHRjaXRlcyA6Y29tcGxldGUKCQkJb3JnLVRleHRjaXRlcy1jb21wbGV0ZS1saW5rIDpoZWxwLWVj aG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYt c2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBv c2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVu dHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkg ICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmls bC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJ CSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1 bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmsp CgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2Fw LWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJ CQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1y ZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3 NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZp cnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJ CQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgx Njc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGlu dGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBh dGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5p bCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1r ZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJ CSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAg IChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAg KQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgx Njc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3Rp dmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwt YmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2lu dCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3 NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmct cmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1h dC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkK CQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZp bGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAg ICAgICAoInRleHRjaXRlcyIgOmZvbGxvdwoJCQkobGFtYmRhIChfKSAoZnVuY2FsbCBvcmctcmVm LWNpdGUtb25jbGljay1mdW5jdGlvbiBuaWwpKQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0LXRl eHRjaXRlcyA6Y29tcGxldGUKCQkJb3JnLXRleHRjaXRlcy1jb21wbGV0ZS1saW5rIDpoZWxwLWVj aG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYt c2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBv c2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVu dHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkg ICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmls bC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJ CSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1 bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmsp CgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2Fw LWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJ CQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1y ZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3 NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZp cnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJ CQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgx Njc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGlu dGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBh dGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5p bCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1r ZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJ CSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAg IChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAg KQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgx Njc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3Rp dmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwt YmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2lu dCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3 NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmct cmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1h dC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkK CQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZp bGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAg ICAgICAoIlNtYXJ0Y2l0ZXMiIDpmb2xsb3cKCQkJKGxhbWJkYSAoXykgKGZ1bmNhbGwgb3JnLXJl Zi1jaXRlLW9uY2xpY2stZnVuY3Rpb24gbmlsKSkKCQkJOmV4cG9ydCBvcmctcmVmLWZvcm1hdC1T bWFydGNpdGVzIDpjb21wbGV0ZQoJCQlvcmctU21hcnRjaXRlcy1jb21wbGV0ZS1saW5rIDpoZWxw LWVjaG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1y ZWYtc2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFy IHBvc2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0 LWVudHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJ CQkgICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAo ZmlsbC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICAp CgkJCSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5 IGZ1bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxp bmspCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1z d2FwLWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZl KQoJCQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9y Zy1yZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAo MTY3NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhl IGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZl KQoJCQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJ ICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAg KGludGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkg OnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRh IG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRl eC1rZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUp CgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJ CSAgIChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJ CSAgKQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJ ICgxNjc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJh Y3RpdmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1h aWwtYmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1w b2ludCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAo MTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBv cmctcmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVy bC1hdC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2lu dCkKCQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5k LWZpbGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJ CSAgICAgICAoInNtYXJ0Y2l0ZXMiIDpmb2xsb3cKCQkJKGxhbWJkYSAoXykgKGZ1bmNhbGwgb3Jn LXJlZi1jaXRlLW9uY2xpY2stZnVuY3Rpb24gbmlsKSkKCQkJOmV4cG9ydCBvcmctcmVmLWZvcm1h dC1zbWFydGNpdGVzIDpjb21wbGV0ZQoJCQlvcmctc21hcnRjaXRlcy1jb21wbGV0ZS1saW5rIDpo ZWxwLWVjaG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9y Zy1yZWYtc2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1j aGFyIHBvc2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9y bWF0LWVudHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3Ip KQoJCQkgICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBz KSAoZmlsbC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkg ICApCgkJCSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNw bGF5IGZ1bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9u LWxpbmspCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJl Zi1zd2FwLWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0 aXZlKQoJCQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAu IG9yZy1yZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJ CSAoMTY3NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMg dGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0 aXZlKQoJCQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkK CQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJ CSAgKGludGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVy dHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFt YmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJp YnRleC1rZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3Rp dmUpCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQp CgkJCSAgIChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkp CgkJCSAgKQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkK CQkJICgxNjc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50 ZXJhY3RpdmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYt ZW1haWwtYmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1h dC1wb2ludCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJ CSAoMTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjgg LiBvcmctcmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVu LXVybC1hdC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1w b2ludCkKCQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1m aW5kLWZpbGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJ KQoJCSAgICAgICAoImZvb3RjaXRldGV4dHMiIDpmb2xsb3cKCQkJKGxhbWJkYSAoXykgKGZ1bmNh bGwgb3JnLXJlZi1jaXRlLW9uY2xpY2stZnVuY3Rpb24gbmlsKSkKCQkJOmV4cG9ydCBvcmctcmVm LWZvcm1hdC1mb290Y2l0ZXRleHRzIDpjb21wbGV0ZQoJCQlvcmctZm9vdGNpdGV0ZXh0cy1jb21w bGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikK CQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vy c2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAg KG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11 bmRlci1jdXJzb3IpKQoJCQkgICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZm ZXIgKGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJ CQkgICAgKQoJCQkgICApCgkJCSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1m YWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1z b3J0LWNpdGF0aW9uLWxpbmspCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkK CQkJICAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBu aWwgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJ CSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2 aW91cy1rZXkpCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9p bnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJ CSAgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBr aWxsLXJpbmcpKSkKCQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBh dCBwb2ludC4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVs ZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAo MTY3NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9y Zy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5p bCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRp b24tYXQtcG9pbnQpCgkJCSAgIChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5 LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xh ci1hdC1wb2ludCkKCQkJICgxNjc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2lu dCIKCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJ CSAgKG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYt d29zLWNpdGluZy1hdC1wb2ludCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQt YXQtcG9pbnQpCgkJCSAoMTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJ CSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4g b3JnLXJlZi1vcGVuLXVybC1hdC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1j aXRhdGlvbi1hdC1wb2ludCkKCQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91 c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0 LW1vdXNlKSkKCQkJKQoJCSAgICAgICAoImZvb3RjaXRlcyIgOmZvbGxvdwoJCQkobGFtYmRhIChf KSAoZnVuY2FsbCBvcmctcmVmLWNpdGUtb25jbGljay1mdW5jdGlvbiBuaWwpKQoJCQk6ZXhwb3J0 IG9yZy1yZWYtZm9ybWF0LWZvb3RjaXRlcyA6Y29tcGxldGUKCQkJb3JnLWZvb3RjaXRlcy1jb21w bGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikK CQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vy c2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAg KG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11 bmRlci1jdXJzb3IpKQoJCQkgICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZm ZXIgKGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJ CQkgICAgKQoJCQkgICApCgkJCSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1m YWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1z b3J0LWNpdGF0aW9uLWxpbmspCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkK CQkJICAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBu aWwgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJ CSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2 aW91cy1rZXkpCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9p bnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJ CSAgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBr aWxsLXJpbmcpKSkKCQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBh dCBwb2ludC4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVs ZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAo MTY3NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9y Zy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5p bCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRp b24tYXQtcG9pbnQpCgkJCSAgIChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5 LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xh ci1hdC1wb2ludCkKCQkJICgxNjc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2lu dCIKCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJ CSAgKG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYt d29zLWNpdGluZy1hdC1wb2ludCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQt YXQtcG9pbnQpCgkJCSAoMTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJ CSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4g b3JnLXJlZi1vcGVuLXVybC1hdC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1j aXRhdGlvbi1hdC1wb2ludCkKCQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91 c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0 LW1vdXNlKSkKCQkJKQoJCSAgICAgICAoIlBhcmVuY2l0ZXMiIDpmb2xsb3cKCQkJKGxhbWJkYSAo XykgKGZ1bmNhbGwgb3JnLXJlZi1jaXRlLW9uY2xpY2stZnVuY3Rpb24gbmlsKSkKCQkJOmV4cG9y dCBvcmctcmVmLWZvcm1hdC1QYXJlbmNpdGVzIDpjb21wbGV0ZQoJCQlvcmctUGFyZW5jaXRlcy1j b21wbGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlv bikKCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4 Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAg ICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtl eS11bmRlci1jdXJzb3IpKQoJCQkgICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1i dWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcp KQoJCQkgICAgKQoJCQkgICApCgkJCSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGlu ay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJl Zi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2 ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJk YSBuaWwgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkp CgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1w cmV2aW91cy1rZXkpCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQg cG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4i CgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNh ciBraWxsLXJpbmcpKSkKCQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5 cyBhdCBwb2ludC4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3Jn LWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJ CSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIg KG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRh IG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0 YXRpb24tYXQtcG9pbnQpCgkJCSAgIChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVu dHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2No b2xhci1hdC1wb2ludCkKCQkJICgxNjc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBw b2ludCIKCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQp CgkJCSAgKG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1y ZWYtd29zLWNpdGluZy1hdC1wb2ludCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0 ZWQtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQp CgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMz IC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Bl bi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAo bW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVu LWF0LW1vdXNlKSkKCQkJKQoJCSAgICAgICAoInBhcmVuY2l0ZXMiIDpmb2xsb3cKCQkJKGxhbWJk YSAoXykgKGZ1bmNhbGwgb3JnLXJlZi1jaXRlLW9uY2xpY2stZnVuY3Rpb24gbmlsKSkKCQkJOmV4 cG9ydCBvcmctcmVmLWZvcm1hdC1wYXJlbmNpdGVzIDpjb21wbGV0ZQoJCQlvcmctcGFyZW5jaXRl cy1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3Np dGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZl LWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJ ICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4 LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVt cC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJp bmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUt bGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3Jn LXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFj dGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxh bWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAt MSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJl Zi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkg YXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtl eS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQg KGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUg a2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAo b3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICAp CgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChj YXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFt YmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4t Y2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4 LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUt c2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBh dCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9p bnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9y Zy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJl bGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9p bnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3 MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYt b3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJ CSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1v cGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAgICAoIkNpdGVzIiA6Zm9sbG93CgkJCShsYW1iZGEg KF8pIChmdW5jYWxsIG9yZy1yZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpCgkJCTpleHBv cnQgb3JnLXJlZi1mb3JtYXQtQ2l0ZXMgOmNvbXBsZXRlCgkJCW9yZy1DaXRlcy1jb21wbGV0ZS1s aW5rIDpoZWxwLWVjaG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3 aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAo Z290by1jaGFyIHBvc2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1y ZWYtZm9ybWF0LWVudHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1j dXJzb3IpKQoJCQkgICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGlu c2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAg KQoJCQkgICApCgkJCSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZu IDpkaXNwbGF5IGZ1bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNp dGF0aW9uLWxpbmspCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAo b3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGlu dGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1y aWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1r ZXkpCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFz c3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGlu dGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJp bmcpKSkKCQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2lu dC4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQt cHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3Nzcz MzUgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYt Z2V0LWJpYnRleC1rZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50 ZXJhY3RpdmUpCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQt cG9pbnQpCgkJCSAgIChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBv aW50KSkpCgkJCSAgKQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1w b2ludCkKCQkJICgxNjc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJ ICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9y Zy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNp dGluZy1hdC1wb2ludCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9p bnQpCgkJCSAoMTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3 NzczMjggLiBvcmctcmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJl Zi1vcGVuLXVybC1hdC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlv bi1hdC1wb2ludCkKCQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAu IG9yZy1maW5kLWZpbGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNl KSkKCQkJKQoJCSAgICAgICAoImNpdGVzIiA6Zm9sbG93CgkJCShsYW1iZGEgKF8pIChmdW5jYWxs IG9yZy1yZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpCgkJCTpleHBvcnQgb3JnLXJlZi1m b3JtYXQtY2l0ZXMgOmNvbXBsZXRlCgkJCW9yZy1jaXRlcy1jb21wbGV0ZS1saW5rIDpoZWxwLWVj aG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYt c2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBv c2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVu dHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkg ICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmls bC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJ CSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1 bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmsp CgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2Fw LWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJ CQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1y ZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3 NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZp cnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJ CQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgx Njc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGlu dGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBh dGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5p bCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1r ZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJ CSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAg IChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAg KQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgx Njc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3Rp dmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwt YmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2lu dCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3 NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmct cmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1h dC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkK CQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZp bGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAg ICAgICAoImZub3RlY2l0ZSIgOmZvbGxvdwoJCQkobGFtYmRhIChfKSAoZnVuY2FsbCBvcmctcmVm LWNpdGUtb25jbGljay1mdW5jdGlvbiBuaWwpKQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0LWZu b3RlY2l0ZSA6Y29tcGxldGUKCQkJb3JnLWZub3RlY2l0ZS1jb21wbGV0ZS1saW5rIDpoZWxwLWVj aG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYt c2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBv c2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVu dHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkg ICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmls bC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJ CSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1 bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmsp CgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2Fw LWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJ CQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1y ZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3 NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZp cnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJ CQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgx Njc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGlu dGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBh dGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5p bCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1r ZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJ CSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAg IChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAg KQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgx Njc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3Rp dmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwt YmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2lu dCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3 NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmct cmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1h dC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkK CQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZp bGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAg ICAgICAoIlBub3RlY2l0ZSIgOmZvbGxvdwoJCQkobGFtYmRhIChfKSAoZnVuY2FsbCBvcmctcmVm LWNpdGUtb25jbGljay1mdW5jdGlvbiBuaWwpKQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0LVBu b3RlY2l0ZSA6Y29tcGxldGUKCQkJb3JnLVBub3RlY2l0ZS1jb21wbGV0ZS1saW5rIDpoZWxwLWVj aG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYt c2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBv c2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVu dHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkg ICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmls bC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJ CSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1 bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmsp CgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2Fw LWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJ CQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1y ZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3 NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZp cnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJ CQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgx Njc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGlu dGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBh dGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5p bCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1r ZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJ CSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAg IChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAg KQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgx Njc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3Rp dmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwt YmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2lu dCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3 NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmct cmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1h dC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkK CQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZp bGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAg ICAgICAoInBub3RlY2l0ZSIgOmZvbGxvdwoJCQkobGFtYmRhIChfKSAoZnVuY2FsbCBvcmctcmVm LWNpdGUtb25jbGljay1mdW5jdGlvbiBuaWwpKQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0LXBu b3RlY2l0ZSA6Y29tcGxldGUKCQkJb3JnLXBub3RlY2l0ZS1jb21wbGV0ZS1saW5rIDpoZWxwLWVj aG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYt c2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBv c2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVu dHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkg ICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmls bC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJ CSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1 bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmsp CgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2Fw LWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJ CQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1y ZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3 NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZp cnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJ CQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgx Njc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGlu dGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBh dGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5p bCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1r ZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJ CSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAg IChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAg KQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgx Njc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3Rp dmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwt YmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2lu dCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3 NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmct cmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1h dC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkK CQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZp bGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAg ICAgICAoIk5vdGVjaXRlIiA6Zm9sbG93CgkJCShsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1yZWYt Y2l0ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtTm90 ZWNpdGUgOmNvbXBsZXRlCgkJCW9yZy1Ob3RlY2l0ZS1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8K CQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hv dy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0 aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5 CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAg ICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1w YXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAg KQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwg OmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJ CSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNp dGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkg IChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYt bmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3Nzcz MzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0 IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkg IChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3 NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVy YWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGgg KG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAo aW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXkt YW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAg KHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChr aWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJ CQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3 NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUp IChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmli dGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkK CQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3Nzcz MjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVm LW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1w b2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJ IChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUt YXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAg ICAoIm5vdGVjaXRlIiA6Zm9sbG93CgkJCShsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1yZWYtY2l0 ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtbm90ZWNp dGUgOmNvbXBsZXRlCgkJCW9yZy1ub3RlY2l0ZS1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJ KGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1j aXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9u KQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJ CSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAgICAp CgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJh Z3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAgKQoJ CQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtl eW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJCSAo Uy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNpdGF0 aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkgIChv cmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4 dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3NzczMzcg bGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRo aW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChv cmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3NzMw MyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVyYWN0 aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9y Zy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50 ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5k LWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNh dmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChraWxs LW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkg KDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3NzMx NyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUpIChv cmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmlidGV4 LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkKCQkJ ICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjYg LiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9w ZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2lu dCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJIChm b2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQt bW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAgICAo ImZvb3RmdWxsY2l0ZSIgOmZvbGxvdwoJCQkobGFtYmRhIChfKSAoZnVuY2FsbCBvcmctcmVmLWNp dGUtb25jbGljay1mdW5jdGlvbiBuaWwpKQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0LWZvb3Rm dWxsY2l0ZSA6Y29tcGxldGUKCQkJb3JnLWZvb3RmdWxsY2l0ZS1jb21wbGV0ZS1saW5rIDpoZWxw LWVjaG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1y ZWYtc2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFy IHBvc2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0 LWVudHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJ CQkgICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAo ZmlsbC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICAp CgkJCSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5 IGZ1bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxp bmspCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1z d2FwLWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZl KQoJCQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9y Zy1yZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAo MTY3NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhl IGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZl KQoJCQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJ ICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAg KGludGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkg OnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRh IG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRl eC1rZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUp CgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJ CSAgIChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJ CSAgKQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJ ICgxNjc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJh Y3RpdmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1h aWwtYmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1w b2ludCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAo MTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBv cmctcmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVy bC1hdC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2lu dCkKCQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5k LWZpbGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJ CSAgICAgICAoImZ1bGxjaXRlIiA6Zm9sbG93CgkJCShsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1y ZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQt ZnVsbGNpdGUgOmNvbXBsZXRlCgkJCW9yZy1mdWxsY2l0ZS1jb21wbGV0ZS1saW5rIDpoZWxwLWVj aG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYt c2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBv c2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVu dHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkg ICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmls bC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJ CSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1 bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmsp CgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2Fw LWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJ CQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1y ZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3 NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZp cnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJ CQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgx Njc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGlu dGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBh dGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5p bCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1r ZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJ CSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAg IChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAg KQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgx Njc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3Rp dmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwt YmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2lu dCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3 NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmct cmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1h dC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkK CQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZp bGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAg ICAgICAoImNpdGV1cmwiIDpmb2xsb3cKCQkJKGxhbWJkYSAoXykgKGZ1bmNhbGwgb3JnLXJlZi1j aXRlLW9uY2xpY2stZnVuY3Rpb24gbmlsKSkKCQkJOmV4cG9ydCBvcmctcmVmLWZvcm1hdC1jaXRl dXJsIDpjb21wbGV0ZQoJCQlvcmctY2l0ZXVybC1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJ KGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1j aXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9u KQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJ CSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAgICAp CgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJh Z3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAgKQoJ CQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtl eW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJCSAo Uy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNpdGF0 aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkgIChv cmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4 dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3NzczMzcg bGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRo aW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChv cmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3NzMw MyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVyYWN0 aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9y Zy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50 ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5k LWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNh dmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChraWxs LW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkg KDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3NzMx NyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUpIChv cmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmlidGV4 LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkKCQkJ ICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjYg LiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9w ZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2lu dCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJIChm b2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQt bW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAgICAo ImNpdGVkYXRlKiIgOmZvbGxvdwoJCQkobGFtYmRhIChfKSAoZnVuY2FsbCBvcmctcmVmLWNpdGUt b25jbGljay1mdW5jdGlvbiBuaWwpKQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0LWNpdGVkYXRl KiA6Y29tcGxldGUKCQkJb3JnLWNpdGVkYXRlKi1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJ KGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1j aXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9u KQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJ CSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAgICAp CgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJh Z3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAgKQoJ CQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtl eW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJCSAo Uy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNpdGF0 aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkgIChv cmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4 dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3NzczMzcg bGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRo aW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChv cmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3NzMw MyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVyYWN0 aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9y Zy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50 ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5k LWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNh dmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChraWxs LW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkg KDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3NzMx NyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUpIChv cmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmlidGV4 LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkKCQkJ ICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjYg LiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9w ZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2lu dCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJIChm b2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQt bW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAgICAo ImNpdGVkYXRlIiA6Zm9sbG93CgkJCShsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1yZWYtY2l0ZS1v bmNsaWNrLWZ1bmN0aW9uIG5pbCkpCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtY2l0ZWRhdGUg OmNvbXBsZXRlCgkJCW9yZy1jaXRlZGF0ZS1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJKGxh bWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRh dGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQoJ CQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJCSAg ICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAgICApCgkJ CSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJhZ3Jh cGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAgKQoJCQkg KQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1h cAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJCSAoUy1y aWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNpdGF0aW9u LWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkgIChvcmct cmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1r ZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3NzczMzcgbGFt YmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5n IGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChvcmct cmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3NzMwMyBs YW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVyYWN0aXZl KQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1l bGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJh Y3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZp bGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNhdmUt ZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChraWxsLW5l dyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkgKDE2 Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3NzMxNyBs YW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUpIChvcmct cmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmlidGV4LWVu dHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkKCQkJICgx Njc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjYgLiBv cmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4t cGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2ludCkK CQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJIChmb2xs b3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91 c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAgICAoImNp dGV0aXRsZSoiIDpmb2xsb3cKCQkJKGxhbWJkYSAoXykgKGZ1bmNhbGwgb3JnLXJlZi1jaXRlLW9u Y2xpY2stZnVuY3Rpb24gbmlsKSkKCQkJOmV4cG9ydCBvcmctcmVmLWZvcm1hdC1jaXRldGl0bGUq IDpjb21wbGV0ZQoJCQlvcmctY2l0ZXRpdGxlKi1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJ KGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1j aXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9u KQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJ CSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAgICAp CgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJh Z3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAgKQoJ CQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtl eW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJCSAo Uy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNpdGF0 aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkgIChv cmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4 dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3NzczMzcg bGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRo aW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChv cmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3NzMw MyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVyYWN0 aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9y Zy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50 ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5k LWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNh dmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChraWxs LW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkg KDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3NzMx NyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUpIChv cmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmlidGV4 LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkKCQkJ ICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjYg LiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9w ZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2lu dCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJIChm b2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQt bW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAgICAo ImNpdGV0aXRsZSIgOmZvbGxvdwoJCQkobGFtYmRhIChfKSAoZnVuY2FsbCBvcmctcmVmLWNpdGUt b25jbGljay1mdW5jdGlvbiBuaWwpKQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0LWNpdGV0aXRs ZSA6Y29tcGxldGUKCQkJb3JnLWNpdGV0aXRsZS1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJ KGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1j aXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9u KQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJ CSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAgICAp CgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJh Z3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAgKQoJ CQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtl eW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJCSAo Uy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNpdGF0 aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkgIChv cmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4 dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3NzczMzcg bGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRo aW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChv cmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3NzMw MyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVyYWN0 aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9y Zy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50 ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5k LWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNh dmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChraWxs LW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkg KDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3NzMx NyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUpIChv cmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmlidGV4 LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkKCQkJ ICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjYg LiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9w ZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2lu dCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJIChm b2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQt bW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAgICAo IkNpdGVhdXRob3IqIiA6Zm9sbG93CgkJCShsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1yZWYtY2l0 ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtQ2l0ZWF1 dGhvciogOmNvbXBsZXRlCgkJCW9yZy1DaXRlYXV0aG9yKi1jb21wbGV0ZS1saW5rIDpoZWxwLWVj aG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYt c2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBv c2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVu dHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkg ICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmls bC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJ CSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1 bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmsp CgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2Fw LWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJ CQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1y ZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3 NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZp cnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJ CQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgx Njc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGlu dGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBh dGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5p bCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1r ZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJ CSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAg IChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAg KQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgx Njc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3Rp dmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwt YmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2lu dCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3 NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmct cmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1h dC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkK CQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZp bGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAg ICAgICAoIkF1dG9jaXRlKiIgOmZvbGxvdwoJCQkobGFtYmRhIChfKSAoZnVuY2FsbCBvcmctcmVm LWNpdGUtb25jbGljay1mdW5jdGlvbiBuaWwpKQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0LUF1 dG9jaXRlKiA6Y29tcGxldGUKCQkJb3JnLUF1dG9jaXRlKi1jb21wbGV0ZS1saW5rIDpoZWxwLWVj aG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYt c2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBv c2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVu dHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkg ICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmls bC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJ CSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1 bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmsp CgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2Fw LWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJ CQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1y ZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3 NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZp cnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJ CQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgx Njc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGlu dGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBh dGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5p bCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1r ZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJ CSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAg IChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAg KQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgx Njc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3Rp dmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwt YmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2lu dCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3 NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmct cmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1h dC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkK CQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZp bGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAg ICAgICAoImF1dG9jaXRlKiIgOmZvbGxvdwoJCQkobGFtYmRhIChfKSAoZnVuY2FsbCBvcmctcmVm LWNpdGUtb25jbGljay1mdW5jdGlvbiBuaWwpKQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0LWF1 dG9jaXRlKiA6Y29tcGxldGUKCQkJb3JnLWF1dG9jaXRlKi1jb21wbGV0ZS1saW5rIDpoZWxwLWVj aG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYt c2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBv c2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVu dHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkg ICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmls bC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJ CSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1 bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmsp CgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2Fw LWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJ CQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1y ZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3 NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZp cnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJ CQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgx Njc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGlu dGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBh dGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5p bCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1r ZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJ CSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAg IChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAg KQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgx Njc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3Rp dmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwt YmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2lu dCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3 NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmct cmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1h dC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkK CQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZp bGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAg ICAgICAoIkF1dG9jaXRlIiA6Zm9sbG93CgkJCShsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1yZWYt Y2l0ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtQXV0 b2NpdGUgOmNvbXBsZXRlCgkJCW9yZy1BdXRvY2l0ZS1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8K CQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hv dy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0 aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5 CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAg ICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1w YXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAg KQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwg OmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJ CSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNp dGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkg IChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYt bmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3Nzcz MzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0 IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkg IChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3 NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVy YWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGgg KG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAo aW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXkt YW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAg KHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChr aWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJ CQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3 NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUp IChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmli dGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkK CQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3Nzcz MjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVm LW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1w b2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJ IChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUt YXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAg ICAoImF1dG9jaXRlIiA6Zm9sbG93CgkJCShsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1yZWYtY2l0 ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtYXV0b2Np dGUgOmNvbXBsZXRlCgkJCW9yZy1hdXRvY2l0ZS1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJ KGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1j aXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9u KQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJ CSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAgICAp CgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJh Z3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAgKQoJ CQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtl eW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJCSAo Uy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNpdGF0 aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkgIChv cmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4 dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3NzczMzcg bGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRo aW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChv cmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3NzMw MyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVyYWN0 aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9y Zy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50 ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5k LWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNh dmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChraWxs LW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkg KDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3NzMx NyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUpIChv cmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmlidGV4 LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkKCQkJ ICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjYg LiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9w ZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2lu dCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJIChm b2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQt bW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAgICAo InN1cGVyY2l0ZSIgOmZvbGxvdwoJCQkobGFtYmRhIChfKSAoZnVuY2FsbCBvcmctcmVmLWNpdGUt b25jbGljay1mdW5jdGlvbiBuaWwpKQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0LXN1cGVyY2l0 ZSA6Y29tcGxldGUKCQkJb3JnLXN1cGVyY2l0ZS1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJ KGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1j aXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9u KQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJ CSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAgICAp CgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJh Z3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAgKQoJ CQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtl eW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJCSAo Uy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNpdGF0 aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkgIChv cmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4 dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3NzczMzcg bGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRo aW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChv cmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3NzMw MyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVyYWN0 aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9y Zy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50 ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5k LWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNh dmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChraWxs LW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkg KDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3NzMx NyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUpIChv cmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmlidGV4 LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkKCQkJ ICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjYg LiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9w ZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2lu dCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJIChm b2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQt bW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAgICAo InBhcmVuY2l0ZSoiIDpmb2xsb3cKCQkJKGxhbWJkYSAoXykgKGZ1bmNhbGwgb3JnLXJlZi1jaXRl LW9uY2xpY2stZnVuY3Rpb24gbmlsKSkKCQkJOmV4cG9ydCBvcmctcmVmLWZvcm1hdC1wYXJlbmNp dGUqIDpjb21wbGV0ZQoJCQlvcmctcGFyZW5jaXRlKi1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8K CQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hv dy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0 aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5 CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAg ICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1w YXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAg KQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwg OmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJ CSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNp dGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkg IChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYt bmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3Nzcz MzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0 IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkg IChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3 NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVy YWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGgg KG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAo aW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXkt YW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAg KHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChr aWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJ CQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3 NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUp IChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmli dGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkK CQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3Nzcz MjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVm LW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1w b2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJ IChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUt YXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAg ICAoImNpdGUqIiA6Zm9sbG93CgkJCShsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1yZWYtY2l0ZS1v bmNsaWNrLWZ1bmN0aW9uIG5pbCkpCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtY2l0ZSogOmNv bXBsZXRlCgkJCW9yZy1jaXRlKi1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJKGxhbWJkYSAo d2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1v bi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQoJCQkgICAo bGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJCSAgICAgICAo b3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAgICApCgkJCSAgICAg KQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpCgkJ CSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAgKQoJCQkgKQoJCQk6 ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcAoJCQko a2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJCSAoUy1yaWdodCBs YW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsg MSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLXN3 YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpCgkJ CSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5p bAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRo ZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLWlu c2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3NzMwMyBsYW1iZGEg bmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkg IChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50 LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUp CgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUpKSkp CgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNhdmUtZXhjdXJz aW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChraWxsLW5ldyAob3Jn LXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkgKDE2Nzc3MzE5 IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3NzMxNyBsYW1iZGEg bmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLW9w ZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkK CQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkKCQkJICgxNjc3NzMz MCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjYgLiBvcmctcmVm LW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRmLWF0 LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2ludCkKCQkJICgx Njc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJIChmb2xsb3ctbGlu ayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpCgkJ CSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAgICAoIlNtYXJ0Y2l0 ZSIgOmZvbGxvdwoJCQkobGFtYmRhIChfKSAoZnVuY2FsbCBvcmctcmVmLWNpdGUtb25jbGljay1m dW5jdGlvbiBuaWwpKQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0LVNtYXJ0Y2l0ZSA6Y29tcGxl dGUKCQkJb3JnLVNtYXJ0Y2l0ZS1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJKGxhbWJkYSAo d2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1v bi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQoJCQkgICAo bGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJCSAgICAgICAo b3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAgICApCgkJCSAgICAg KQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpCgkJ CSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAgKQoJCQkgKQoJCQk6 ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcAoJCQko a2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJCSAoUy1yaWdodCBs YW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsg MSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLXN3 YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpCgkJ CSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5p bAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRo ZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLWlu c2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3NzMwMyBsYW1iZGEg bmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkg IChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50 LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUp CgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUpKSkp CgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNhdmUtZXhjdXJz aW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChraWxsLW5ldyAob3Jn LXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkgKDE2Nzc3MzE5 IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3NzMxNyBsYW1iZGEg bmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLW9w ZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkK CQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkKCQkJICgxNjc3NzMz MCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjYgLiBvcmctcmVm LW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRmLWF0 LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2ludCkKCQkJICgx Njc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJIChmb2xsb3ctbGlu ayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpCgkJ CSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAgICAoInNtYXJ0Y2l0 ZSIgOmZvbGxvdwoJCQkobGFtYmRhIChfKSAoZnVuY2FsbCBvcmctcmVmLWNpdGUtb25jbGljay1m dW5jdGlvbiBuaWwpKQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0LXNtYXJ0Y2l0ZSA6Y29tcGxl dGUKCQkJb3JnLXNtYXJ0Y2l0ZS1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJKGxhbWJkYSAo d2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1v bi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQoJCQkgICAo bGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJCSAgICAgICAo b3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAgICApCgkJCSAgICAg KQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpCgkJ CSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAgKQoJCQkgKQoJCQk6 ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcAoJCQko a2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJCSAoUy1yaWdodCBs YW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsg MSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLXN3 YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpCgkJ CSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5p bAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRo ZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLWlu c2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3NzMwMyBsYW1iZGEg bmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkg IChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50 LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUp CgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUpKSkp CgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNhdmUtZXhjdXJz aW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChraWxsLW5ldyAob3Jn LXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkgKDE2Nzc3MzE5 IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3NzMxNyBsYW1iZGEg bmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLW9w ZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkK CQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkKCQkJICgxNjc3NzMz MCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjYgLiBvcmctcmVm LW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRmLWF0 LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2ludCkKCQkJICgx Njc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJIChmb2xsb3ctbGlu ayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpCgkJ CSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAgICAoIlRleHRjaXRl IiA6Zm9sbG93CgkJCShsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1yZWYtY2l0ZS1vbmNsaWNrLWZ1 bmN0aW9uIG5pbCkpCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtVGV4dGNpdGUgOmNvbXBsZXRl CgkJCW9yZy1UZXh0Y2l0ZS1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJKGxhbWJkYSAod2lu ZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1vbi1l bnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQoJCQkgICAobGV0 CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJCSAgICAgICAob3Jn LXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAgICApCgkJCSAgICAgKQoJ CQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpCgkJCSAg ICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAgKQoJCQkgKQoJCQk6ZmFj ZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcAoJCQkoa2V5 bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJCSAoUy1yaWdodCBsYW1i ZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsgMSkp CgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLXN3YXAt Y2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpCgkJCSAo Qy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5pbAoJ CQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSBr aWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLWluc2Vy dC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3NzMwMyBsYW1iZGEgbmls ICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChr aWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNv bnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJ CSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUpKSkpCgkJ CSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNhdmUtZXhjdXJzaW9u IChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChraWxsLW5ldyAob3JnLXJl Zi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkgKDE2Nzc3MzE5IC4g b3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3NzMxNyBsYW1iZGEgbmls ICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLW9wZW4t Y2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkKCQkJ ICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkKCQkJICgxNjc3NzMzMCAu IG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjYgLiBvcmctcmVmLW9w ZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRmLWF0LXBv aW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2ludCkKCQkJICgxNjc3 NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJIChmb2xsb3ctbGluayAu IG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpCgkJCSAo bW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAgICAoInRleHRjaXRlIiA6 Zm9sbG93CgkJCShsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1yZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0 aW9uIG5pbCkpCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtdGV4dGNpdGUgOmNvbXBsZXRlCgkJ CW9yZy10ZXh0Y2l0ZS1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJKGxhbWJkYSAod2luZG93 IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1vbi1lbnRl cgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQoJCQkgICAobGV0CgkJ CSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJCSAgICAgICAob3JnLXJl Zi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAgICApCgkJCSAgICAgKQoJCQkg ICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpCgkJCSAgICAg KGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAgKQoJCQkgKQoJCQk6ZmFjZSBv cmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcAoJCQkoa2V5bWFw IChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJCSAoUy1yaWdodCBsYW1iZGEg bmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsgMSkpCgkJ CSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLXN3YXAtY2l0 YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpCgkJCSAoQy1s ZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5pbAoJCQkg ICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxs cmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLWluc2VydC1r ZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJD b3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChraWxs LW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRl eHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAg KGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUpKSkpCgkJCSAo MTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChv cmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChraWxsLW5ldyAob3JnLXJlZi1m b3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkgKDE2Nzc3MzE5IC4gb3Jn LXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3NzMxNyBsYW1iZGEgbmlsICJF bWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLW9wZW4tY2l0 YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkKCQkJICgx Njc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkKCQkJICgxNjc3NzMzMCAuIG9y Zy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjYgLiBvcmctcmVmLW9wZW4t bm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRmLWF0LXBvaW50 KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2ludCkKCQkJICgxNjc3NzMx NCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJIChmb2xsb3ctbGluayAuIG1v dXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpCgkJCSAobW91 c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAgICAoImZvb3RjaXRldGV4dCIg OmZvbGxvdwoJCQkobGFtYmRhIChfKSAoZnVuY2FsbCBvcmctcmVmLWNpdGUtb25jbGljay1mdW5j dGlvbiBuaWwpKQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0LWZvb3RjaXRldGV4dCA6Y29tcGxl dGUKCQkJb3JnLWZvb3RjaXRldGV4dC1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJKGxhbWJk YSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlv bi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQoJCQkg ICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJCSAgICAg ICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAgICApCgkJCSAg ICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgp CgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAgKQoJCQkgKQoJ CQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcAoJ CQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJCSAoUy1yaWdo dCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxp bmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVm LXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkp CgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3NzczMzcgbGFtYmRh IG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGlu IHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVm LWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3NzMwMyBsYW1i ZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVyYWN0aXZlKQoJ CQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVt ZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJhY3Rp dmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUp KSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNhdmUtZXhj dXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChraWxsLW5ldyAo b3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkgKDE2Nzc3 MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3NzMxNyBsYW1i ZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVm LW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5 KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkKCQkJICgxNjc3 NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjYgLiBvcmct cmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRm LWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2ludCkKCQkJ ICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJIChmb2xsb3ct bGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2Up CgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAgICAoImZvb3Rj aXRlIiA6Zm9sbG93CgkJCShsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1yZWYtY2l0ZS1vbmNsaWNr LWZ1bmN0aW9uIG5pbCkpCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtZm9vdGNpdGUgOmNvbXBs ZXRlCgkJCW9yZy1mb290Y2l0ZS1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJKGxhbWJkYSAo d2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1v bi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQoJCQkgICAo bGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJCSAgICAgICAo b3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAgICApCgkJCSAgICAg KQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpCgkJ CSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAgKQoJCQkgKQoJCQk6 ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcAoJCQko a2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJCSAoUy1yaWdodCBs YW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsg MSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLXN3 YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpCgkJ CSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5p bAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRo ZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLWlu c2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3NzMwMyBsYW1iZGEg bmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkg IChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50 LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUp CgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUpKSkp CgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNhdmUtZXhjdXJz aW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChraWxsLW5ldyAob3Jn LXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkgKDE2Nzc3MzE5 IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3NzMxNyBsYW1iZGEg bmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLW9w ZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkK CQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkKCQkJICgxNjc3NzMz MCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjYgLiBvcmctcmVm LW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRmLWF0 LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2ludCkKCQkJICgx Njc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJIChmb2xsb3ctbGlu ayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpCgkJ CSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAgICAoIlBhcmVuY2l0 ZSIgOmZvbGxvdwoJCQkobGFtYmRhIChfKSAoZnVuY2FsbCBvcmctcmVmLWNpdGUtb25jbGljay1m dW5jdGlvbiBuaWwpKQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0LVBhcmVuY2l0ZSA6Y29tcGxl dGUKCQkJb3JnLVBhcmVuY2l0ZS1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJKGxhbWJkYSAo d2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1v bi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQoJCQkgICAo bGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJCSAgICAgICAo b3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAgICApCgkJCSAgICAg KQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpCgkJ CSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAgKQoJCQkgKQoJCQk6 ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcAoJCQko a2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJCSAoUy1yaWdodCBs YW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsg MSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLXN3 YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpCgkJ CSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5p bAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRo ZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLWlu c2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3NzMwMyBsYW1iZGEg bmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkg IChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50 LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUp CgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUpKSkp CgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNhdmUtZXhjdXJz aW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChraWxsLW5ldyAob3Jn LXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkgKDE2Nzc3MzE5 IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3NzMxNyBsYW1iZGEg bmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLW9w ZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkK CQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkKCQkJICgxNjc3NzMz MCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjYgLiBvcmctcmVm LW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRmLWF0 LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2ludCkKCQkJICgx Njc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJIChmb2xsb3ctbGlu ayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpCgkJ CSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAgICAoInBhcmVuY2l0 ZSIgOmZvbGxvdwoJCQkobGFtYmRhIChfKSAoZnVuY2FsbCBvcmctcmVmLWNpdGUtb25jbGljay1m dW5jdGlvbiBuaWwpKQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0LXBhcmVuY2l0ZSA6Y29tcGxl dGUKCQkJb3JnLXBhcmVuY2l0ZS1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJKGxhbWJkYSAo d2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1v bi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQoJCQkgICAo bGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJCSAgICAgICAo b3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAgICApCgkJCSAgICAg KQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpCgkJ CSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAgKQoJCQkgKQoJCQk6 ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcAoJCQko a2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJCSAoUy1yaWdodCBs YW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsg MSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLXN3 YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpCgkJ CSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5p bAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRo ZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLWlu c2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3NzMwMyBsYW1iZGEg bmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkg IChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50 LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUp CgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUpKSkp CgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNhdmUtZXhjdXJz aW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChraWxsLW5ldyAob3Jn LXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkgKDE2Nzc3MzE5 IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3NzMxNyBsYW1iZGEg bmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLW9w ZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkK CQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkKCQkJICgxNjc3NzMz MCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjYgLiBvcmctcmVm LW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRmLWF0 LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2ludCkKCQkJICgx Njc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJIChmb2xsb3ctbGlu ayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpCgkJ CSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAgICAoIkNpdGUiIDpm b2xsb3cKCQkJKGxhbWJkYSAoXykgKGZ1bmNhbGwgb3JnLXJlZi1jaXRlLW9uY2xpY2stZnVuY3Rp b24gbmlsKSkKCQkJOmV4cG9ydCBvcmctcmVmLWZvcm1hdC1DaXRlIDpjb21wbGV0ZQoJCQlvcmct Q2l0ZS1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBw b3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChz YXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMK CQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmli dGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgt dGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1z dHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNp dGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4g b3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRl cmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0 IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGlu ayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3Jn LXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBr ZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBh IGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9p bnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0 aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkg ICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJ ICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3 IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTgg bGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9w ZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmli dGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29n bGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRy eSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQt cG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAu IG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29z LXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQt cG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2 Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1y ZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2Up CgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9y Zy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAgICAoIkNpdGVhdXRob3IiIDpmb2xsb3cKCQkJ KGxhbWJkYSAoXykgKGZ1bmNhbGwgb3JnLXJlZi1jaXRlLW9uY2xpY2stZnVuY3Rpb24gbmlsKSkK CQkJOmV4cG9ydCBvcmctcmVmLWZvcm1hdC1DaXRlYXV0aG9yIDpjb21wbGV0ZQoJCQlvcmctQ2l0 ZWF1dGhvci1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVj dCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkg IChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAo KHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQt YmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdp dGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZl ci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVm LWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVw IC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChp bnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1s ZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24t bGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4g b3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0 ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBp cyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLWluc2VydC1rZXktYXQt cG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFs bCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJ CQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkK CQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwt bmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3Nzcz MTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVm LW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQt YmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1n b29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBl bnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24t YXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMx NSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYt d29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMt YXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkg KDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9y Zy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZh Y2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAu IG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAgICAoIkNpdGVhbHAiIDpmb2xsb3cKCQkJ KGxhbWJkYSAoXykgKGZ1bmNhbGwgb3JnLXJlZi1jaXRlLW9uY2xpY2stZnVuY3Rpb24gbmlsKSkK CQkJOmV4cG9ydCBvcmctcmVmLWZvcm1hdC1DaXRlYWxwIDpjb21wbGV0ZQoJCQlvcmctQ2l0ZWFs cC1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3Np dGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZl LWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJ ICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4 LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVt cC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJp bmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUt bGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3Jn LXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFj dGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxh bWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAt MSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJl Zi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkg YXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtl eS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQg KGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUg a2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAo b3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICAp CgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChj YXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFt YmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4t Y2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4 LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUt c2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBh dCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9p bnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9y Zy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJl bGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9p bnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3 MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYt b3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJ CSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1v cGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAgICAoIkNpdGVhbHQiIDpmb2xsb3cKCQkJKGxhbWJk YSAoXykgKGZ1bmNhbGwgb3JnLXJlZi1jaXRlLW9uY2xpY2stZnVuY3Rpb24gbmlsKSkKCQkJOmV4 cG9ydCBvcmctcmVmLWZvcm1hdC1DaXRlYWx0IDpjb21wbGV0ZQoJCQlvcmctQ2l0ZWFsdC1jb21w bGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikK CQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vy c2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAg KG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11 bmRlci1jdXJzb3IpKQoJCQkgICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZm ZXIgKGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJ CQkgICAgKQoJCQkgICApCgkJCSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1m YWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1z b3J0LWNpdGF0aW9uLWxpbmspCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkK CQkJICAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBu aWwgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJ CSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2 aW91cy1rZXkpCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9p bnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJ CSAgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBr aWxsLXJpbmcpKSkKCQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBh dCBwb2ludC4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVs ZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAo MTY3NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9y Zy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5p bCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRp b24tYXQtcG9pbnQpCgkJCSAgIChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5 LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xh ci1hdC1wb2ludCkKCQkJICgxNjc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2lu dCIKCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJ CSAgKG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYt d29zLWNpdGluZy1hdC1wb2ludCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQt YXQtcG9pbnQpCgkJCSAoMTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJ CSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4g b3JnLXJlZi1vcGVuLXVybC1hdC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1j aXRhdGlvbi1hdC1wb2ludCkKCQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91 c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0 LW1vdXNlKSkKCQkJKQoJCSAgICAgICAoIkNpdGVwIiA6Zm9sbG93CgkJCShsYW1iZGEgKF8pIChm dW5jYWxsIG9yZy1yZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpCgkJCTpleHBvcnQgb3Jn LXJlZi1mb3JtYXQtQ2l0ZXAgOmNvbXBsZXRlCgkJCW9yZy1DaXRlcC1jb21wbGV0ZS1saW5rIDpo ZWxwLWVjaG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9y Zy1yZWYtc2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1j aGFyIHBvc2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9y bWF0LWVudHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3Ip KQoJCQkgICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBz KSAoZmlsbC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkg ICApCgkJCSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNw bGF5IGZ1bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9u LWxpbmspCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJl Zi1zd2FwLWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0 aXZlKQoJCQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAu IG9yZy1yZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJ CSAoMTY3NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMg dGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0 aXZlKQoJCQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkK CQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJ CSAgKGludGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVy dHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFt YmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJp YnRleC1rZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3Rp dmUpCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQp CgkJCSAgIChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkp CgkJCSAgKQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkK CQkJICgxNjc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50 ZXJhY3RpdmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYt ZW1haWwtYmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1h dC1wb2ludCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJ CSAoMTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjgg LiBvcmctcmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVu LXVybC1hdC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1w b2ludCkKCQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1m aW5kLWZpbGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJ KQoJCSAgICAgICAoIkNpdGV0IiA6Zm9sbG93CgkJCShsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1y ZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQt Q2l0ZXQgOmNvbXBsZXRlCgkJCW9yZy1DaXRldC1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJ KGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1j aXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9u KQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJ CSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAgICAp CgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJh Z3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAgKQoJ CQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtl eW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJCSAo Uy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNpdGF0 aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkgIChv cmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4 dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3NzczMzcg bGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRo aW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChv cmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3NzMw MyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVyYWN0 aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9y Zy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50 ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5k LWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNh dmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChraWxs LW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkg KDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3NzMx NyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUpIChv cmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmlidGV4 LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkKCQkJ ICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjYg LiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9w ZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2lu dCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJIChm b2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQt bW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAgICAo ImNpdGV5ZWFycGFyIiA6Zm9sbG93CgkJCShsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1yZWYtY2l0 ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtY2l0ZXll YXJwYXIgOmNvbXBsZXRlCgkJCW9yZy1jaXRleWVhcnBhci1jb21wbGV0ZS1saW5rIDpoZWxwLWVj aG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYt c2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBv c2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVu dHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkg ICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmls bC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJ CSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1 bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmsp CgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2Fw LWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJ CQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1y ZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3 NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZp cnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJ CQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgx Njc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGlu dGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBh dGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5p bCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1r ZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJ CSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAg IChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAg KQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgx Njc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3Rp dmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwt YmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2lu dCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3 NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmct cmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1h dC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkK CQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZp bGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAg ICAgICAoImNpdGV5ZWFyKiIgOmZvbGxvdwoJCQkobGFtYmRhIChfKSAoZnVuY2FsbCBvcmctcmVm LWNpdGUtb25jbGljay1mdW5jdGlvbiBuaWwpKQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0LWNp dGV5ZWFyKiA6Y29tcGxldGUKCQkJb3JnLWNpdGV5ZWFyKi1jb21wbGV0ZS1saW5rIDpoZWxwLWVj aG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYt c2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBv c2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVu dHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkg ICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmls bC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJ CSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1 bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmsp CgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2Fw LWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJ CQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1y ZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3 NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZp cnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJ CQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgx Njc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGlu dGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBh dGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5p bCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1r ZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJ CSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAg IChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAg KQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgx Njc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3Rp dmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwt YmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2lu dCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3 NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmct cmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1h dC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkK CQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZp bGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAg ICAgICAoImNpdGV5ZWFyIiA6Zm9sbG93CgkJCShsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1yZWYt Y2l0ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtY2l0 ZXllYXIgOmNvbXBsZXRlCgkJCW9yZy1jaXRleWVhci1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8K CQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hv dy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0 aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5 CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAg ICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1w YXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAg KQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwg OmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJ CSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNp dGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkg IChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYt bmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3Nzcz MzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0 IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkg IChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3 NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVy YWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGgg KG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAo aW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXkt YW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAg KHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChr aWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJ CQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3 NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUp IChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmli dGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkK CQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3Nzcz MjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVm LW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1w b2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJ IChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUt YXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAg ICAoImNpdGVhdXRob3IqIiA6Zm9sbG93CgkJCShsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1yZWYt Y2l0ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtY2l0 ZWF1dGhvciogOmNvbXBsZXRlCgkJCW9yZy1jaXRlYXV0aG9yKi1jb21wbGV0ZS1saW5rIDpoZWxw LWVjaG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1y ZWYtc2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFy IHBvc2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0 LWVudHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJ CQkgICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAo ZmlsbC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICAp CgkJCSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5 IGZ1bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxp bmspCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1z d2FwLWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZl KQoJCQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9y Zy1yZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAo MTY3NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhl IGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZl KQoJCQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJ ICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAg KGludGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkg OnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRh IG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRl eC1rZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUp CgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJ CSAgIChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJ CSAgKQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJ ICgxNjc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJh Y3RpdmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1h aWwtYmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1w b2ludCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAo MTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBv cmctcmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVy bC1hdC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2lu dCkKCQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5k LWZpbGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJ CSAgICAgICAoImNpdGVhdXRob3IiIDpmb2xsb3cKCQkJKGxhbWJkYSAoXykgKGZ1bmNhbGwgb3Jn LXJlZi1jaXRlLW9uY2xpY2stZnVuY3Rpb24gbmlsKSkKCQkJOmV4cG9ydCBvcmctcmVmLWZvcm1h dC1jaXRlYXV0aG9yIDpjb21wbGV0ZQoJCQlvcmctY2l0ZWF1dGhvci1jb21wbGV0ZS1saW5rIDpo ZWxwLWVjaG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9y Zy1yZWYtc2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1j aGFyIHBvc2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9y bWF0LWVudHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3Ip KQoJCQkgICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBz KSAoZmlsbC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkg ICApCgkJCSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNw bGF5IGZ1bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9u LWxpbmspCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJl Zi1zd2FwLWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0 aXZlKQoJCQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAu IG9yZy1yZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJ CSAoMTY3NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMg dGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0 aXZlKQoJCQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkK CQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJ CSAgKGludGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVy dHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFt YmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJp YnRleC1rZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3Rp dmUpCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQp CgkJCSAgIChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkp CgkJCSAgKQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkK CQkJICgxNjc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50 ZXJhY3RpdmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYt ZW1haWwtYmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1h dC1wb2ludCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJ CSAoMTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjgg LiBvcmctcmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVu LXVybC1hdC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1w b2ludCkKCQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1m aW5kLWZpbGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJ KQoJCSAgICAgICAoImNpdGV0ZXh0IiA6Zm9sbG93CgkJCShsYW1iZGEgKF8pIChmdW5jYWxsIG9y Zy1yZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpCgkJCTpleHBvcnQgb3JnLXJlZi1mb3Jt YXQtY2l0ZXRleHQgOmNvbXBsZXRlCgkJCW9yZy1jaXRldGV4dC1jb21wbGV0ZS1saW5rIDpoZWxw LWVjaG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1y ZWYtc2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFy IHBvc2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0 LWVudHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJ CQkgICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAo ZmlsbC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICAp CgkJCSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5 IGZ1bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxp bmspCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1z d2FwLWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZl KQoJCQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9y Zy1yZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAo MTY3NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhl IGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZl KQoJCQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJ ICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAg KGludGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkg OnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRh IG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRl eC1rZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUp CgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJ CSAgIChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJ CSAgKQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJ ICgxNjc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJh Y3RpdmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1h aWwtYmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1w b2ludCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAo MTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBv cmctcmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVy bC1hdC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2lu dCkKCQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5k LWZpbGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJ CSAgICAgICAoImNpdGVudW0iIDpmb2xsb3cKCQkJKGxhbWJkYSAoXykgKGZ1bmNhbGwgb3JnLXJl Zi1jaXRlLW9uY2xpY2stZnVuY3Rpb24gbmlsKSkKCQkJOmV4cG9ydCBvcmctcmVmLWZvcm1hdC1j aXRlbnVtIDpjb21wbGV0ZQoJCQlvcmctY2l0ZW51bS1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8K CQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hv dy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0 aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5 CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAg ICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1w YXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAg KQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwg OmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJ CSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNp dGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkg IChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYt bmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3Nzcz MzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0 IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkg IChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3 NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVy YWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGgg KG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAo aW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXkt YW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAg KHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChr aWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJ CQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3 NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUp IChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmli dGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkK CQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3Nzcz MjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVm LW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1w b2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJ IChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUt YXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAg ICAoImNpdGVhbHAqIiA6Zm9sbG93CgkJCShsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1yZWYtY2l0 ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtY2l0ZWFs cCogOmNvbXBsZXRlCgkJCW9yZy1jaXRlYWxwKi1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJ KGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1j aXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9u KQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJ CSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAgICAp CgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJh Z3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAgKQoJ CQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtl eW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJCSAo Uy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNpdGF0 aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkgIChv cmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4 dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3NzczMzcg bGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRo aW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChv cmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3NzMw MyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVyYWN0 aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9y Zy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50 ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5k LWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNh dmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChraWxs LW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkg KDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3NzMx NyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUpIChv cmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmlidGV4 LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkKCQkJ ICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjYg LiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9w ZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2lu dCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJIChm b2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQt bW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAgICAo ImNpdGVhbHAiIDpmb2xsb3cKCQkJKGxhbWJkYSAoXykgKGZ1bmNhbGwgb3JnLXJlZi1jaXRlLW9u Y2xpY2stZnVuY3Rpb24gbmlsKSkKCQkJOmV4cG9ydCBvcmctcmVmLWZvcm1hdC1jaXRlYWxwIDpj b21wbGV0ZQoJCQlvcmctY2l0ZWFscC1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJKGxhbWJk YSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlv bi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQoJCQkg ICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJCSAgICAg ICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAgICApCgkJCSAg ICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgp CgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAgKQoJCQkgKQoJ CQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcAoJ CQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJCSAoUy1yaWdo dCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxp bmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVm LXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkp CgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3NzczMzcgbGFtYmRh IG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGlu IHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVm LWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3NzMwMyBsYW1i ZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVyYWN0aXZlKQoJ CQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVt ZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJhY3Rp dmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUp KSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNhdmUtZXhj dXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChraWxsLW5ldyAo b3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkgKDE2Nzc3 MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3NzMxNyBsYW1i ZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVm LW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5 KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkKCQkJICgxNjc3 NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjYgLiBvcmct cmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRm LWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2ludCkKCQkJ ICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJIChmb2xsb3ct bGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2Up CgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAgICAoImNpdGVh bHQqIiA6Zm9sbG93CgkJCShsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1yZWYtY2l0ZS1vbmNsaWNr LWZ1bmN0aW9uIG5pbCkpCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQtY2l0ZWFsdCogOmNvbXBs ZXRlCgkJCW9yZy1jaXRlYWx0Ki1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJKGxhbWJkYSAo d2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1v bi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQoJCQkgICAo bGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJCSAgICAgICAo b3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAgICApCgkJCSAgICAg KQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpCgkJ CSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAgKQoJCQkgKQoJCQk6 ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcAoJCQko a2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJCSAoUy1yaWdodCBs YW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsg MSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLXN3 YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpCgkJ CSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5p bAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRo ZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLWlu c2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3NzMwMyBsYW1iZGEg bmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkg IChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50 LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUp CgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUpKSkp CgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNhdmUtZXhjdXJz aW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChraWxsLW5ldyAob3Jn LXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkgKDE2Nzc3MzE5 IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3NzMxNyBsYW1iZGEg bmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLW9w ZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkK CQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkKCQkJICgxNjc3NzMz MCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjYgLiBvcmctcmVm LW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRmLWF0 LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2ludCkKCQkJICgx Njc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJIChmb2xsb3ctbGlu ayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpCgkJ CSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAgICAoImNpdGVhbHQi IDpmb2xsb3cKCQkJKGxhbWJkYSAoXykgKGZ1bmNhbGwgb3JnLXJlZi1jaXRlLW9uY2xpY2stZnVu Y3Rpb24gbmlsKSkKCQkJOmV4cG9ydCBvcmctcmVmLWZvcm1hdC1jaXRlYWx0IDpjb21wbGV0ZQoJ CQlvcmctY2l0ZWFsdC1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJKGxhbWJkYSAod2luZG93 IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1vbi1lbnRl cgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQoJCQkgICAobGV0CgkJ CSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJCSAgICAgICAob3JnLXJl Zi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAgICApCgkJCSAgICAgKQoJCQkg ICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpCgkJCSAgICAg KGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAgKQoJCQkgKQoJCQk6ZmFjZSBv cmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcAoJCQkoa2V5bWFw IChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJCSAoUy1yaWdodCBsYW1iZGEg bmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsgMSkpCgkJ CSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLXN3YXAtY2l0 YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpCgkJCSAoQy1s ZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5pbAoJCQkg ICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxs cmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLWluc2VydC1r ZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJD b3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChraWxs LW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRl eHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAg KGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUpKSkpCgkJCSAo MTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChv cmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChraWxsLW5ldyAob3JnLXJlZi1m b3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkgKDE2Nzc3MzE5IC4gb3Jn LXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3NzMxNyBsYW1iZGEgbmlsICJF bWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLW9wZW4tY2l0 YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkKCQkJICgx Njc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkKCQkJICgxNjc3NzMzMCAuIG9y Zy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjYgLiBvcmctcmVmLW9wZW4t bm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRmLWF0LXBvaW50 KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2ludCkKCQkJICgxNjc3NzMx NCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJIChmb2xsb3ctbGluayAuIG1v dXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpCgkJCSAobW91 c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAgICAoImNpdGVwKiIgOmZvbGxv dwoJCQkobGFtYmRhIChfKSAoZnVuY2FsbCBvcmctcmVmLWNpdGUtb25jbGljay1mdW5jdGlvbiBu aWwpKQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0LWNpdGVwKiA6Y29tcGxldGUKCQkJb3JnLWNp dGVwKi1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBw b3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChz YXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMK CQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmli dGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgt dGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1z dHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNp dGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4g b3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRl cmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0 IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGlu ayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3Jn LXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBr ZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBh IGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9p bnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0 aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkg ICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJ ICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3 IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTgg bGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9w ZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmli dGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29n bGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRy eSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQt cG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAu IG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29z LXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQt cG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2 Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1y ZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2Up CgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9y Zy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAgICAoImNpdGVwIiA6Zm9sbG93CgkJCShsYW1i ZGEgKF8pIChmdW5jYWxsIG9yZy1yZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpCgkJCTpl eHBvcnQgb3JnLXJlZi1mb3JtYXQtY2l0ZXAgOmNvbXBsZXRlCgkJCW9yZy1jaXRlcC1jb21wbGV0 ZS1saW5rIDpoZWxwLWVjaG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJ ICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lv biAoZ290by1jaGFyIHBvc2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9y Zy1yZWYtZm9ybWF0LWVudHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRl ci1jdXJzb3IpKQoJCQkgICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIg KGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkg ICAgKQoJCQkgICApCgkJCSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNl LWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0 LWNpdGF0aW9uLWxpbmspCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJ ICAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwg KGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAo Qy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91 cy1rZXkpCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQu IEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAg KGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxs LXJpbmcpKSkKCQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBw b2ludC4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1l bnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3 NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1y ZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAo aW50ZXJhY3RpdmUpCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24t YXQtcG9pbnQpCgkJCSAgIChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0 LXBvaW50KSkpCgkJCSAgKQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1h dC1wb2ludCkKCQkJICgxNjc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIK CQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAg KG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29z LWNpdGluZy1hdC1wb2ludCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQt cG9pbnQpCgkJCSAoMTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAo MTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3Jn LXJlZi1vcGVuLXVybC1hdC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRh dGlvbi1hdC1wb2ludCkKCQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2Ut MyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1v dXNlKSkKCQkJKQoJCSAgICAgICAoImNpdGV0KiIgOmZvbGxvdwoJCQkobGFtYmRhIChfKSAoZnVu Y2FsbCBvcmctcmVmLWNpdGUtb25jbGljay1mdW5jdGlvbiBuaWwpKQoJCQk6ZXhwb3J0IG9yZy1y ZWYtZm9ybWF0LWNpdGV0KiA6Y29tcGxldGUKCQkJb3JnLWNpdGV0Ki1jb21wbGV0ZS1saW5rIDpo ZWxwLWVjaG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9y Zy1yZWYtc2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1j aGFyIHBvc2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9y bWF0LWVudHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3Ip KQoJCQkgICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBz KSAoZmlsbC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkg ICApCgkJCSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNw bGF5IGZ1bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9u LWxpbmspCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJl Zi1zd2FwLWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0 aXZlKQoJCQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAu IG9yZy1yZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJ CSAoMTY3NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMg dGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0 aXZlKQoJCQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkK CQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJ CSAgKGludGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVy dHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFt YmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJp YnRleC1rZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3Rp dmUpCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQp CgkJCSAgIChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkp CgkJCSAgKQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkK CQkJICgxNjc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50 ZXJhY3RpdmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYt ZW1haWwtYmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1h dC1wb2ludCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJ CSAoMTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjgg LiBvcmctcmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVu LXVybC1hdC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1w b2ludCkKCQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1m aW5kLWZpbGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJ KQoJCSAgICAgICAoImNpdGV0IiA6Zm9sbG93CgkJCShsYW1iZGEgKF8pIChmdW5jYWxsIG9yZy1y ZWYtY2l0ZS1vbmNsaWNrLWZ1bmN0aW9uIG5pbCkpCgkJCTpleHBvcnQgb3JnLXJlZi1mb3JtYXQt Y2l0ZXQgOmNvbXBsZXRlCgkJCW9yZy1jaXRldC1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJ KGxhbWJkYSAod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1j aXRhdGlvbi1vbi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9u KQoJCQkgICAobGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJ CSAgICAgICAob3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAgICAp CgkJCSAgICAgKQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJh Z3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAgKQoJ CQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtl eW1hcAoJCQkoa2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJCSAo Uy1yaWdodCBsYW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNpdGF0 aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkgIChv cmctcmVmLXN3YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4 dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3NzczMzcg bGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRo aW5nIGluIHRoZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChv cmctcmVmLWluc2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3NzMw MyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVyYWN0 aXZlKQoJCQkgIChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9y Zy1lbGVtZW50LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50 ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5k LWZpbGUpKSkpCgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNh dmUtZXhjdXJzaW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChraWxs LW5ldyAob3JnLXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkg KDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3NzMx NyBsYW1iZGEgbmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUpIChv cmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmlidGV4 LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkKCQkJ ICgxNjc3NzMzMCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjYg LiBvcmctcmVmLW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9w ZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2lu dCkKCQkJICgxNjc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJIChm b2xsb3ctbGluayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQt bW91c2UpCgkJCSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAgICAo Im5vY2l0ZSIgOmZvbGxvdwoJCQkobGFtYmRhIChfKSAoZnVuY2FsbCBvcmctcmVmLWNpdGUtb25j bGljay1mdW5jdGlvbiBuaWwpKQoJCQk6ZXhwb3J0IG9yZy1yZWYtZm9ybWF0LW5vY2l0ZSA6Y29t cGxldGUKCQkJb3JnLW5vY2l0ZS1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJKGxhbWJkYSAo d2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1v bi1lbnRlcgoJCQkgIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQoJCQkgICAo bGV0CgkJCSAgICAoKHMKCQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJCSAgICAgICAo b3JnLXJlZi1nZXQtYmlidGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAgICApCgkJCSAgICAg KQoJCQkgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpCgkJ CSAgICAgKGJ1ZmZlci1zdHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAgKQoJCQkgKQoJCQk6 ZmFjZSBvcmctcmVmLWNpdGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcAoJCQko a2V5bWFwIChTLXVwIC4gb3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJCSAoUy1yaWdodCBs YW1iZGEgbmlsIChpbnRlcmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsg MSkpCgkJCSAoUy1sZWZ0IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLXN3 YXAtY2l0YXRpb24tbGluayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpCgkJ CSAoQy1sZWZ0IC4gb3JnLXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5p bAoJCQkgICJQYXN0ZSBrZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRo ZSBraWxscmluZyBpcyBhIGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLWlu c2VydC1rZXktYXQtcG9pbnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3NzMwMyBsYW1iZGEg bmlsICJDb3B5IGFsbCB0aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkg IChraWxsLW5ldwoJCQkgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50 LWNvbnRleHQpKSkKCQkJICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUp CgkJCSAgKGtpbGwtbmV3IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUpKSkp CgkJCSAoMTY3NzczMTggbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNhdmUtZXhjdXJz aW9uIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChraWxsLW5ldyAob3Jn LXJlZi1mb3JtYXQtYmlidGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkgKDE2Nzc3MzE5 IC4gb3JnLXJlZi1nb29nbGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3NzMxNyBsYW1iZGEg bmlsICJFbWFpbCBlbnRyeSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLW9w ZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkK CQkJICgxNjc3NzMxNSAuIG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkKCQkJICgxNjc3NzMz MCAuIG9yZy1yZWYtd29zLXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjYgLiBvcmctcmVm LW9wZW4tbm90ZXMtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRmLWF0 LXBvaW50KQoJCQkgKDE2Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2ludCkKCQkJICgx Njc3NzMxNCAuIG9yZy1yZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJIChmb2xsb3ctbGlu ayAuIG1vdXNlLWZhY2UpCgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpCgkJ CSAobW91c2UtMiAuIG9yZy1vcGVuLWF0LW1vdXNlKSkKCQkJKQoJCSAgICAgICAoImNpdGUiIDpm b2xsb3cKCQkJKGxhbWJkYSAoXykgKGZ1bmNhbGwgb3JnLXJlZi1jaXRlLW9uY2xpY2stZnVuY3Rp b24gbmlsKSkKCQkJOmV4cG9ydCBvcmctcmVmLWZvcm1hdC1jaXRlIDpjb21wbGV0ZQoJCQlvcmct Y2l0ZS1jb21wbGV0ZS1saW5rIDpoZWxwLWVjaG8KCQkJKGxhbWJkYSAod2luZG93IG9iamVjdCBw b3NpdGlvbikKCQkJICh3aGVuIG9yZy1yZWYtc2hvdy1jaXRhdGlvbi1vbi1lbnRlcgoJCQkgIChz YXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHBvc2l0aW9uKQoJCQkgICAobGV0CgkJCSAgICAoKHMK CQkJICAgICAgKG9yZy1yZWYtZm9ybWF0LWVudHJ5CgkJCSAgICAgICAob3JnLXJlZi1nZXQtYmli dGV4LWtleS11bmRlci1jdXJzb3IpKQoJCQkgICAgICApCgkJCSAgICAgKQoJCQkgICAgKHdpdGgt dGVtcC1idWZmZXIgKGluc2VydCBzKSAoZmlsbC1wYXJhZ3JhcGgpCgkJCSAgICAgKGJ1ZmZlci1z dHJpbmcpKQoJCQkgICAgKQoJCQkgICApCgkJCSAgKQoJCQkgKQoJCQk6ZmFjZSBvcmctcmVmLWNp dGUtbGluay1mYWNlLWZuIDpkaXNwbGF5IGZ1bGwgOmtleW1hcAoJCQkoa2V5bWFwIChTLXVwIC4g b3JnLXJlZi1zb3J0LWNpdGF0aW9uLWxpbmspCgkJCSAoUy1yaWdodCBsYW1iZGEgbmlsIChpbnRl cmFjdGl2ZSkKCQkJICAob3JnLXJlZi1zd2FwLWNpdGF0aW9uLWxpbmsgMSkpCgkJCSAoUy1sZWZ0 IGxhbWJkYSBuaWwgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLXN3YXAtY2l0YXRpb24tbGlu ayAtMSkpCgkJCSAoQy1yaWdodCAuIG9yZy1yZWYtbmV4dC1rZXkpCgkJCSAoQy1sZWZ0IC4gb3Jn LXJlZi1wcmV2aW91cy1rZXkpCgkJCSAoMTY3NzczMzcgbGFtYmRhIG5pbAoJCQkgICJQYXN0ZSBr ZXkgYXQgcG9pbnQuIEFzc3VtZXMgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSBraWxscmluZyBpcyBh IGtleS4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChvcmctcmVmLWluc2VydC1rZXktYXQtcG9p bnQgKGNhciBraWxsLXJpbmcpKSkKCQkJICgxNjc3NzMwMyBsYW1iZGEgbmlsICJDb3B5IGFsbCB0 aGUga2V5cyBhdCBwb2ludC4iCgkJCSAgKGludGVyYWN0aXZlKQoJCQkgIChraWxsLW5ldwoJCQkg ICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnBhdGggKG9yZy1lbGVtZW50LWNvbnRleHQpKSkKCQkJ ICApCgkJCSAoMTY3NzczMzUgbGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKGtpbGwtbmV3 IChjYXIgKG9yZy1yZWYtZ2V0LWJpYnRleC1rZXktYW5kLWZpbGUpKSkpCgkJCSAoMTY3NzczMTgg bGFtYmRhIG5pbCAoaW50ZXJhY3RpdmUpCgkJCSAgKHNhdmUtZXhjdXJzaW9uIChvcmctcmVmLW9w ZW4tY2l0YXRpb24tYXQtcG9pbnQpCgkJCSAgIChraWxsLW5ldyAob3JnLXJlZi1mb3JtYXQtYmli dGV4LWVudHJ5LWF0LXBvaW50KSkpCgkJCSAgKQoJCQkgKDE2Nzc3MzE5IC4gb3JnLXJlZi1nb29n bGUtc2Nob2xhci1hdC1wb2ludCkKCQkJICgxNjc3NzMxNyBsYW1iZGEgbmlsICJFbWFpbCBlbnRy eSBhdCBwb2ludCIKCQkJICAoaW50ZXJhY3RpdmUpIChvcmctcmVmLW9wZW4tY2l0YXRpb24tYXQt cG9pbnQpCgkJCSAgKG9yZy1yZWYtZW1haWwtYmlidGV4LWVudHJ5KSkKCQkJICgxNjc3NzMxNSAu IG9yZy1yZWYtd29zLWNpdGluZy1hdC1wb2ludCkKCQkJICgxNjc3NzMzMCAuIG9yZy1yZWYtd29z LXJlbGF0ZWQtYXQtcG9pbnQpCgkJCSAoMTY3NzczMjYgLiBvcmctcmVmLW9wZW4tbm90ZXMtYXQt cG9pbnQpCgkJCSAoMTY3NzczMjggLiBvcmctcmVmLW9wZW4tcGRmLWF0LXBvaW50KQoJCQkgKDE2 Nzc3MzMzIC4gb3JnLXJlZi1vcGVuLXVybC1hdC1wb2ludCkKCQkJICgxNjc3NzMxNCAuIG9yZy1y ZWYtb3Blbi1jaXRhdGlvbi1hdC1wb2ludCkKCQkJIChmb2xsb3ctbGluayAuIG1vdXNlLWZhY2Up CgkJCSAobW91c2UtMyAuIG9yZy1maW5kLWZpbGUtYXQtbW91c2UpCgkJCSAobW91c2UtMiAuIG9y Zy1vcGVuLWF0LW1vdXNlKSkKCQkJOnN0b3JlIG9yZy1yZWYtYmlidGV4LXN0b3JlLWxpbmspCgkJ ICAgICAgICgiQ3JlZiIgOmZvbGxvdyBvcmctcmVmLXJlZi1mb2xsb3cgOmV4cG9ydAoJCQlvcmct cmVmLUNyZWYtZXhwb3J0IDpjb21wbGV0ZSBvcmctcmVmLWNvbXBsZXRlLWxpbmsKCQkJOmZhY2Ug b3JnLXJlZi1yZWYtZmFjZS1mbiA6aGVscC1lY2hvCgkJCW9yZy1yZWYtcmVmLWhlbHAtZWNobykK CQkgICAgICAgKCJjcmVmIiA6Zm9sbG93IG9yZy1yZWYtcmVmLWZvbGxvdyA6ZXhwb3J0CgkJCW9y Zy1yZWYtY3JlZi1leHBvcnQgOmNvbXBsZXRlIG9yZy1yZWYtY29tcGxldGUtbGluawoJCQk6ZmFj ZSBvcmctcmVmLXJlZi1mYWNlLWZuIDpoZWxwLWVjaG8KCQkJb3JnLXJlZi1yZWYtaGVscC1lY2hv KQoJCSAgICAgICAoImF1dG9yZWYiIDpmb2xsb3cgb3JnLXJlZi1yZWYtZm9sbG93IDpleHBvcnQK CQkJb3JnLXJlZi1hdXRvcmVmLWV4cG9ydCA6Y29tcGxldGUgb3JnLXJlZi1jb21wbGV0ZS1saW5r CgkJCTpmYWNlIG9yZy1yZWYtcmVmLWZhY2UtZm4gOmhlbHAtZWNobwoJCQlvcmctcmVmLXJlZi1o ZWxwLWVjaG8pCgkJICAgICAgICgiZXFyZWYiIDpmb2xsb3cgb3JnLXJlZi1yZWYtZm9sbG93IDpl eHBvcnQKCQkJb3JnLXJlZi1lcXJlZi1leHBvcnQgOmNvbXBsZXRlIG9yZy1yZWYtY29tcGxldGUt bGluawoJCQk6ZmFjZSBvcmctcmVmLXJlZi1mYWNlLWZuIDpoZWxwLWVjaG8KCQkJb3JnLXJlZi1y ZWYtaGVscC1lY2hvKQoJCSAgICAgICAoIm5hbWVyZWYiIDpmb2xsb3cgb3JnLXJlZi1yZWYtZm9s bG93IDpleHBvcnQKCQkJb3JnLXJlZi1leHBvcnQtbmFtZXJlZiA6Y29tcGxldGUgb3JnLXJlZi1j b21wbGV0ZS1saW5rCgkJCTpmYWNlIG9yZy1yZWYtcmVmLWZhY2UtZm4gOmhlbHAtZWNobwoJCQlv cmctcmVmLXJlZi1oZWxwLWVjaG8pCgkJICAgICAgICgicGFnZXJlZiIgOmZvbGxvdyBvcmctcmVm LXJlZi1mb2xsb3cgOmV4cG9ydAoJCQkjWyhwYXRoIGRlc2MgZm9ybWF0KQoJCQkgICIIXDMwMj1c MjAzCwBcMzAwXDMwMwlcIlwyMDcIXDMwND1cMjA1FQBcMzAwXDMwNQlcIlwyMDciCgkJCSAgW2Zv cm1hdCBwYXRoIGh0bWwgIig8cGFnZXJlZj4lczwvcGFnZXJlZj4pIiBsYXRleAoJCQkgICAiXFxw YWdlcmVmeyVzfSJdCgkJCSAgM10KCQkJOmZhY2Ugb3JnLXJlZi1yZWYtZmFjZS1mbiA6Y29tcGxl dGUKCQkJb3JnLXBhZ2VyZWYtY29tcGxldGUtbGluayA6aGVscC1lY2hvCgkJCW9yZy1yZWYtcmVm LWhlbHAtZWNobykKCQkgICAgICAgKCJyZWYiIDpmb2xsb3cgb3JnLXJlZi1yZWYtZm9sbG93IDpl eHBvcnQKCQkJb3JnLXJlZi1yZWYtZXhwb3J0IDpjb21wbGV0ZSBvcmctcmVmLWNvbXBsZXRlLWxp bmsKCQkJOmZhY2Ugb3JnLXJlZi1yZWYtZmFjZS1mbiA6aGVscC1lY2hvCgkJCW9yZy1yZWYtcmVm LWhlbHAtZWNobykKCQkgICAgICAgKCJsYWJlbCIgOmZvbGxvdwoJCQkjWyhsYWJlbCkKCQkJICAi XDMwMgghGVwzMDNcMzA0XDMwNQlcMjExXDMwNlVcMjA0FAAJXDMwN1ZcMjAzGABcMzEwXDIwMhkA XDMxMSNcMzAyCCFcIilcMjA3IgoJCQkgIFtsYWJlbCBjb3VudCBvcmctcmVmLWNvdW50LWxhYmVs cyBtZXNzYWdlIGZvcm1hdAoJCQkgICAiJXMgb2NjdXJlbmNlJXMiIDAgMSAicyIgIiJdCgkJCSAg NgoJCQkgICJPbiBjbGlja2luZyBjb3VudCB0aGUgbnVtYmVyIG9mIGxhYmVsIHRhZ3MgdXNlZCBp biB0aGUgYnVmZmVyLlxuQSBudW1iZXIgZ3JlYXRlciB0aGFuIG9uZSBtZWFucyBtdWx0aXBsZSBs YWJlbHMhIl0KCQkJOmV4cG9ydAoJCQkjWyhrZXl3b3JkIGRlc2MgZm9ybWF0KQoJCQkgICIIXDMw Mj1cMjAzCwBcMzAwXDMwMwlcIlwyMDcIXDMwND1cMjAzFgBcMzAwXDMwNQlcIlwyMDcIXDMwNj1c MjA1IABcMzAwXDMwNwlcIlwyMDciCgkJCSAgW2Zvcm1hdCBrZXl3b3JkIGh0bWwgIjxkaXYgaWQ9 XCIlc1wiPjwvZGl2PiIgbWQKCQkJICAgIjxhIG5hbWU9XCIlc1wiPjwvYT4iIGxhdGV4ICJcXGxh YmVseyVzfSJdCgkJCSAgM10KCQkJOnN0b3JlIG9yZy1sYWJlbC1zdG9yZS1saW5rIDpmYWNlIG9y Zy1yZWYtbGFiZWwtZmFjZS1mbgoJCQk6aGVscC1lY2hvCgkJCSNbKHdpbmRvdyBvYmplY3QgcG9z aXRpb24pCgkJCSAgIlwyMTIIYlwyMTBcMzAzIBlcMzA0XDMwNSEaclxucVwyMTBcMzA2XDIxNglj XDIxMFwzMDcgXDIxMFwzMTAgLVwyMDciCgkJCSAgW3Bvc2l0aW9uCgkJCSAgIAoJCQkgICBzCgkJ CSAgIAoJCQkgICB0ZW1wLWJ1ZmZlcgoJCQkgICAKCQkJICAgb3JnLXJlZi1saW5rLW1lc3NhZ2UK CQkJICAgCgkJCSAgIGdlbmVyYXRlLW5ldy1idWZmZXIKCQkJICAgCgkJCSAgICIgKnRlbXAqIgoJ CQkgICAKCQkJICAgI1tuaWwKCQkJICAgICAKCQkJCQkJCQkJCQkJCSAgICAgCgkJCQkJCQkJCQkJ CQkJICAgICAgIAoJCQkJCQkJCQkJCQkJCQkJCSAgIAoJCQkJCQkJCQkJCQkJCQkJCQkJCQoJCQkJ CQkJCQkJCQkJCQkJCQkJCQkgICAgCgkJCQkJCQkJCQkJCQkJCQkJCQkJCSAgICAgIAoJCQkgICAg ICJcMzAxCCFcMjA1CQBcMzAyCCFcMjA3IgoJCQkgICAgIAoJCQkJCQkJCQkJCQkJICAgICAKCQkJ CQkJCQkJCQkJCQkgICAgICAgCgkJCQkJCQkJCQkJCQkJCQkJICAgCgkJCQkJCQkJCQkJCQkJCQkJ CQkJCgkJCQkJCQkJCQkJCQkJCQkJCQkJCSAgICAKCQkJCQkJCQkJCQkJCQkJCQkJCQkJICAgICAg CgkJCSAgICAgW3RlbXAtYnVmZmVyIGJ1ZmZlci1uYW1lIGtpbGwtYnVmZmVyXQoJCQkgICAgIAoJ CQkgICAgIAoJCQkgICAgIAoJCQkgICAgIAoJCQkgICAgIAoJCQkgICAgIAoJCQkJCQkJCQkJCQkJ ICAgICAKCQkJCQkJCQkJCQkJCQkgICAgICAgCgkJCQkJCQkJCQkJCQkJCQkJICAgCgkJCQkJCQkJ CQkJCQkJCQkJCQkJCgkJCQkJCQkJCQkJCQkJCQkJCQkJCSAgICAKCQkJCQkJCQkJCQkJCQkJCQkJ CQkJICAgICAgCgkJCSAgICAgMl0KCQkJICAgCgkJCSAgIGZpbGwtcGFyYWdyYXBoIGJ1ZmZlci1z dHJpbmddCgkJCSAgMl0KCQkJKQoJCSAgICAgICAoImxpc3Qtb2YtdGFibGVzIiA6Zm9sbG93IG9y Zy1yZWYtbGlzdC1vZi10YWJsZXMgOmV4cG9ydAoJCQkjWyhrZXl3b3JkIGRlc2MgZm9ybWF0KQoJ CQkgICIIXDMwMT1cMjA1CQBcMzAwXDMwMiFcMjA3IgoJCQkgIFtmb3JtYXQgbGF0ZXggIlxcbGlz dG9mdGFibGVzIl0gMl0KCQkJKQoJCSAgICAgICAoImxpc3Qtb2YtZmlndXJlcyIgOmZvbGxvdyBv cmctcmVmLWxpc3Qtb2YtZmlndXJlcwoJCQk6ZXhwb3J0CgkJCSNbKGtleXdvcmQgZGVzYyBmb3Jt YXQpCgkJCSAgIghcMzAxPVwyMDUJAFwzMDBcMzAyIVwyMDciCgkJCSAgW2Zvcm1hdCBsYXRleCAi XFxsaXN0b2ZmaWd1cmVzIl0gMl0KCQkJKQoJCSAgICAgICAoImFkZGJpYnJlc291cmNlIiA6Zm9s bG93IG9yZy1yZWYtZm9sbG93LWFkZGJpYnJlc291cmNlCgkJCTpleHBvcnQKCQkJI1soa2V5d29y ZCBkZXNjIGZvcm1hdCkKCQkJICAiCFwzMDI9XDIwM1xuAFwzMDBcMzAzIVwyMDcIXDMwND1cMjA1 FABcMzAwXDMwNQlcIlwyMDciCgkJCSAgW2Zvcm1hdCBrZXl3b3JkIGh0bWwgIiIgbGF0ZXggIlxc YWRkYmlicmVzb3VyY2V7JXN9Il0KCQkJICAzXQoJCQkpCgkJICAgICAgICgiYmlibGlvZ3JhcGh5 c3R5bGUiIDpleHBvcnQKCQkJI1soa2V5d29yZCBkZXNjIGZvcm1hdCkKCQkJICAiCFwzMDI9XDIw NFxmAAhcMzAzPVwyMDMRAFwzMDBcMzA0CVwiXDIwN1wzMDVcMjA3IgoJCQkgIFtmb3JtYXQga2V5 d29yZCBsYXRleCBiZWFtZXIKCQkJICAgIlxcYmlibGlvZ3JhcGh5c3R5bGV7JXN9IiAiIl0KCQkJ ICAzXQoJCQkpCgkJICAgICAgICgicHJpbnRiaWJsaW9ncmFwaHkiIDpmb2xsb3cgb3JnLXJlZi1v cGVuLWJpYmxpb2dyYXBoeQoJCQk6ZXhwb3J0CgkJCSNbKGtleXdvcmQgZGVzYyBmb3JtYXQpCgkJ CSAgIghcMzAxPVwyMDMJAFwzMDIgXDIwNwhcMzAzPVwyMDMSAFwzMDQgXDIwNwhcMzA1PVwyMDUZ AFwzMDZcMjA3IgoJCQkgIFtmb3JtYXQgb3JnIG9yZy1yZWYtZ2V0LW9yZy1iaWJsaW9ncmFwaHkg aHRtbAoJCQkgICBvcmctcmVmLWdldC1odG1sLWJpYmxpb2dyYXBoeSBsYXRleAoJCQkgICAiXFxw cmludGJpYmxpb2dyYXBoeSJdCgkJCSAgMl0KCQkJKQoJCSAgICAgICAoIm5vYmlibGlvZ3JhcGh5 IiA6Zm9sbG93IG9yZy1yZWYtb3Blbi1iaWJsaW9ncmFwaHkKCQkJOmV4cG9ydCBvcmctcmVmLW5v YmlibGlvZ3JhcGh5LWZvcm1hdCkKCQkgICAgICAgKCJiaWJsaW9ncmFwaHkiIDpmb2xsb3cgb3Jn LXJlZi1vcGVuLWJpYmxpb2dyYXBoeQoJCQk6ZXhwb3J0IG9yZy1yZWYtYmlibGlvZ3JhcGh5LWZv cm1hdCA6Y29tcGxldGUKCQkJb3JnLWJpYmxpb2dyYXBoeS1jb21wbGV0ZS1saW5rIDpoZWxwLWVj aG8KCQkJI1sod2luZG93IG9iamVjdCBwb3NpdGlvbikKCQkJICAiXDIxMghiXDIxMFwzMDMgGVwz MDRcMzA1IRpyXG5xXDIxMFwzMDZcMjE2CWNcMjEwXDMwNyBcMjEwXDMxMCAtXDIwNyIKCQkJICBb cG9zaXRpb24KCQkJICAgCgkJCSAgIHMKCQkJICAgCgkJCSAgIHRlbXAtYnVmZmVyCgkJCSAgIAoJ CQkgICBvcmctcmVmLWxpbmstbWVzc2FnZQoJCQkgICAKCQkJICAgZ2VuZXJhdGUtbmV3LWJ1ZmZl cgoJCQkgICAKCQkJICAgIiAqdGVtcCoiCgkJCSAgIAoJCQkgICAjW25pbAoJCQkgICAgIAoJCQkJ CQkJCQkJCQkJICAgICAKCQkJCQkJCQkJCQkJCQkgICAgICAgCgkJCQkJCQkJCQkJCQkJCQkJICAg CgkJCQkJCQkJCQkJCQkJCQkJCQkJCgkJCQkJCQkJCQkJCQkJCQkJCQkJCSAgICAKCQkJCQkJCQkJ CQkJCQkJCQkJCQkJICAgICAgCgkJCSAgICAgIlwzMDEIIVwyMDUJAFwzMDIIIVwyMDciCgkJCSAg ICAgCgkJCQkJCQkJCQkJCQkgICAgIAoJCQkJCQkJCQkJCQkJCSAgICAgICAKCQkJCQkJCQkJCQkJ CQkJCQkgICAKCQkJCQkJCQkJCQkJCQkJCQkJCQkKCQkJCQkJCQkJCQkJCQkJCQkJCQkJICAgIAoJ CQkJCQkJCQkJCQkJCQkJCQkJCQkgICAgICAKCQkJICAgICBbdGVtcC1idWZmZXIgYnVmZmVyLW5h bWUga2lsbC1idWZmZXJdCgkJCSAgICAgCgkJCSAgICAgCgkJCSAgICAgCgkJCSAgICAgCgkJCSAg ICAgCgkJCSAgICAgCgkJCQkJCQkJCQkJCQkgICAgIAoJCQkJCQkJCQkJCQkJCSAgICAgICAKCQkJ CQkJCQkJCQkJCQkJCQkgICAKCQkJCQkJCQkJCQkJCQkJCQkJCQkKCQkJCQkJCQkJCQkJCQkJCQkJ CQkJICAgIAoJCQkJCQkJCQkJCQkJCQkJCQkJCQkgICAgICAKCQkJICAgICAyXQoJCQkgICAKCQkJ ICAgZmlsbC1wYXJhZ3JhcGggYnVmZmVyLXN0cmluZ10KCQkJICAyXQoJCQk6ZmFjZSBvcmctcmVm LWJpYmxpb2dyYXBoeS1mYWNlLWZuKQoJCSAgICAgICAoIkFjcCIgOmZvbGxvdyBvci1mb2xsb3ct YWNyb255bSA6ZmFjZQoJCQlvcmctcmVmLWFjcm9ueW0tZmFjZSA6aGVscC1lY2hvIG9yLWFjcm9u eW0tdG9vbHRpcAoJCQk6ZXhwb3J0CgkJCSNbNzcxCgkJCSAgIlwyMTFcMzAxPVwyMDMNAFwzMDJc MzAzXDMwMEEFI1wyMDdcMzAyXDMwNARcMjI2XCJcMjA3IgoJCQkgIFsoIkFjcCIgLiAiR2xzcGwi KQoJCQkgICAKCQkJICAgbGF0ZXggZm9ybWF0ICJcXCVzeyVzfSIgIiVzIl0KCQkJICA3ICJcblxu KGZuIFBBVEggXyBGT1JNQVQpIl0KCQkJKQoJCSAgICAgICAoImFjcCIgOmZvbGxvdyBvci1mb2xs b3ctYWNyb255bSA6ZmFjZQoJCQlvcmctcmVmLWFjcm9ueW0tZmFjZSA6aGVscC1lY2hvIG9yLWFj cm9ueW0tdG9vbHRpcAoJCQk6ZXhwb3J0CgkJCSNbNzcxCgkJCSAgIlwyMTFcMzAxPVwyMDMNAFwz MDJcMzAzXDMwMEEFI1wyMDdcMzAyXDMwNARcMjI2XCJcMjA3IgoJCQkgIFsoImFjcCIgLiAiZ2xz cGwiKQoJCQkgICAKCQkJICAgbGF0ZXggZm9ybWF0ICJcXCVzeyVzfSIgIiVzIl0KCQkJICA3ICJc blxuKGZuIFBBVEggXyBGT1JNQVQpIl0KCQkJKQoJCSAgICAgICAoIkFjIiA6Zm9sbG93IG9yLWZv bGxvdy1hY3JvbnltIDpmYWNlCgkJCW9yZy1yZWYtYWNyb255bS1mYWNlIDpoZWxwLWVjaG8gb3It YWNyb255bS10b29sdGlwCgkJCTpleHBvcnQKCQkJI1s3NzEKCQkJICAiXDIxMVwzMDE9XDIwMw0A XDMwMlwzMDNcMzAwQQUjXDIwN1wzMDJcMzA0BFwyMjZcIlwyMDciCgkJCSAgWygiQWMiIC4gIkds cyIpCgkJCSAgIAoJCQkgICBsYXRleCBmb3JtYXQgIlxcJXN7JXN9IiAiJXMiXQoJCQkgIDcgIlxu XG4oZm4gUEFUSCBfIEZPUk1BVCkiXQoJCQkpCgkJICAgICAgICgiYWMiIDpmb2xsb3cgb3ItZm9s bG93LWFjcm9ueW0gOmZhY2UKCQkJb3JnLXJlZi1hY3JvbnltLWZhY2UgOmhlbHAtZWNobyBvci1h Y3JvbnltLXRvb2x0aXAKCQkJOmV4cG9ydAoJCQkjWzc3MQoJCQkgICJcMjExXDMwMT1cMjAzDQBc MzAyXDMwM1wzMDBBBSNcMjA3XDMwMlwzMDQEXDIyNlwiXDIwNyIKCQkJICBbKCJhYyIgLiAiZ2xz IikKCQkJICAgCgkJCSAgIGxhdGV4IGZvcm1hdCAiXFwlc3slc30iICIlcyJdCgkJCSAgNyAiXG5c bihmbiBQQVRIIF8gRk9STUFUKSJdCgkJCSkKCQkgICAgICAgKCJhY3JmdWxsIiA6Zm9sbG93IG9y LWZvbGxvdy1hY3JvbnltIDpmYWNlCgkJCW9yZy1yZWYtYWNyb255bS1mYWNlIDpoZWxwLWVjaG8g b3ItYWNyb255bS10b29sdGlwCgkJCTpleHBvcnQKCQkJI1s3NzEKCQkJICAiXDIxMVwzMDE9XDIw Mw0AXDMwMlwzMDNcMzAwQQUjXDIwN1wzMDJcMzA0BFwyMjZcIlwyMDciCgkJCSAgWygiYWNyZnVs bCIgLiAiYWNyZnVsbCIpCgkJCSAgIAoJCQkgICBsYXRleCBmb3JtYXQgIlxcJXN7JXN9IiAiJXMi XQoJCQkgIDcgIlxuXG4oZm4gUEFUSCBfIEZPUk1BVCkiXQoJCQkpCgkJICAgICAgICgiYWNybG9u ZyIgOmZvbGxvdyBvci1mb2xsb3ctYWNyb255bSA6ZmFjZQoJCQlvcmctcmVmLWFjcm9ueW0tZmFj ZSA6aGVscC1lY2hvIG9yLWFjcm9ueW0tdG9vbHRpcAoJCQk6ZXhwb3J0CgkJCSNbNzcxCgkJCSAg IlwyMTFcMzAxPVwyMDMNAFwzMDJcMzAzXDMwMEEFI1wyMDdcMzAyXDMwNARcMjI2XCJcMjA3IgoJ CQkgIFsoImFjcmxvbmciIC4gImFjcmxvbmciKQoJCQkgICAKCQkJICAgbGF0ZXggZm9ybWF0ICJc XCVzeyVzfSIgIiVzIl0KCQkJICA3ICJcblxuKGZuIFBBVEggXyBGT1JNQVQpIl0KCQkJKQoJCSAg ICAgICAoImFjcnNob3J0IiA6Zm9sbG93IG9yLWZvbGxvdy1hY3JvbnltIDpmYWNlCgkJCW9yZy1y ZWYtYWNyb255bS1mYWNlIDpoZWxwLWVjaG8gb3ItYWNyb255bS10b29sdGlwCgkJCTpleHBvcnQK CQkJI1s3NzEKCQkJICAiXDIxMVwzMDE9XDIwMw0AXDMwMlwzMDNcMzAwQQUjXDIwN1wzMDJcMzA0 BFwyMjZcIlwyMDciCgkJCSAgWygiYWNyc2hvcnQiIC4gImFjcnNob3J0IikKCQkJICAgCgkJCSAg IGxhdGV4IGZvcm1hdCAiXFwlc3slc30iICIlcyJdCgkJCSAgNyAiXG5cbihmbiBQQVRIIF8gRk9S TUFUKSJdCgkJCSkKCQkgICAgICAgKCJnbHNsaW5rIiA6Zm9sbG93IG9yLWZvbGxvdy1nbG9zc2Fy eSA6ZmFjZQoJCQlvcmctcmVmLWdsb3NzYXJ5LWZhY2UgOmhlbHAtZWNobyBvci1nbG9zc2FyeS10 b29sdGlwCgkJCTpleHBvcnQKCQkJI1s3NzEKCQkJICAiXDIxMVwzMDA9XDIwM1xmAFwzMDFcMzAy BAQjXDIwN1wzMDFcMzAzBFwiXDIwNyIKCQkJICBbbGF0ZXggZm9ybWF0ICJcXGdsc2xpbmt7JXN9 eyVzfSIgIiVzIl0gNwoJCQkgICJcblxuKGZuIFBBVEggREVTQyBGT1JNQVQpIl0KCQkJKQoJCSAg ICAgICAoImdsc2Rlc2MiIDpmb2xsb3cgb3ItZm9sbG93LWdsb3NzYXJ5IDpmYWNlCgkJCW9yZy1y ZWYtZ2xvc3NhcnktZmFjZSA6aGVscC1lY2hvIG9yLWdsb3NzYXJ5LXRvb2x0aXAKCQkJOmV4cG9y dAoJCQkjWzc3MQoJCQkgICJcMjExXDMwMT1cMjAzXGYAXDMwMlwzMDNcMzAwBSNcMjA3XDMwMlwz MDQEXCJcMjA3IgoJCQkgIFsiZ2xzZGVzYyIgbGF0ZXggZm9ybWF0ICJcXCVzeyVzfSIgIiVzIl0g NwoJCQkgICJcblxuKGZuIFBBVEggXyBGT1JNQVQpIl0KCQkJKQoJCSAgICAgICAoImdsc3N5bWJv bCIgOmZvbGxvdyBvci1mb2xsb3ctZ2xvc3NhcnkgOmZhY2UKCQkJb3JnLXJlZi1nbG9zc2FyeS1m YWNlIDpoZWxwLWVjaG8gb3ItZ2xvc3NhcnktdG9vbHRpcAoJCQk6ZXhwb3J0CgkJCSNbNzcxCgkJ CSAgIlwyMTFcMzAxPVwyMDNcZgBcMzAyXDMwM1wzMDAFI1wyMDdcMzAyXDMwNARcIlwyMDciCgkJ CSAgWyJnbHNzeW1ib2wiIGxhdGV4IGZvcm1hdCAiXFwlc3slc30iICIlcyJdIDcKCQkJICAiXG5c bihmbiBQQVRIIF8gRk9STUFUKSJdCgkJCSkKCQkgICAgICAgKCJHbHNwbCIgOmZvbGxvdyBvci1m b2xsb3ctZ2xvc3NhcnkgOmZhY2UKCQkJb3JnLXJlZi1nbG9zc2FyeS1mYWNlIDpoZWxwLWVjaG8g b3ItZ2xvc3NhcnktdG9vbHRpcAoJCQk6ZXhwb3J0CgkJCSNbNzcxCgkJCSAgIlwyMTFcMzAxPVwy MDNcZgBcMzAyXDMwM1wzMDAFI1wyMDdcMzAyXDMwNARcIlwyMDciCgkJCSAgWyJHbHNwbCIgbGF0 ZXggZm9ybWF0ICJcXCVzeyVzfSIgIiVzIl0gNwoJCQkgICJcblxuKGZuIFBBVEggXyBGT1JNQVQp Il0KCQkJKQoJCSAgICAgICAoIkdscyIgOmZvbGxvdyBvci1mb2xsb3ctZ2xvc3NhcnkgOmZhY2UK CQkJb3JnLXJlZi1nbG9zc2FyeS1mYWNlIDpoZWxwLWVjaG8gb3ItZ2xvc3NhcnktdG9vbHRpcAoJ CQk6ZXhwb3J0CgkJCSNbNzcxCgkJCSAgIlwyMTFcMzAxPVwyMDNcZgBcMzAyXDMwM1wzMDAFI1wy MDdcMzAyXDMwNARcIlwyMDciCgkJCSAgWyJHbHMiIGxhdGV4IGZvcm1hdCAiXFwlc3slc30iICIl cyJdIDcKCQkJICAiXG5cbihmbiBQQVRIIF8gRk9STUFUKSJdCgkJCSkKCQkgICAgICAgKCJnbHNw bCIgOmZvbGxvdyBvci1mb2xsb3ctZ2xvc3NhcnkgOmZhY2UKCQkJb3JnLXJlZi1nbG9zc2FyeS1m YWNlIDpoZWxwLWVjaG8gb3ItZ2xvc3NhcnktdG9vbHRpcAoJCQk6ZXhwb3J0CgkJCSNbNzcxCgkJ CSAgIlwyMTFcMzAxPVwyMDNcZgBcMzAyXDMwM1wzMDAFI1wyMDdcMzAyXDMwNARcIlwyMDciCgkJ CSAgWyJnbHNwbCIgbGF0ZXggZm9ybWF0ICJcXCVzeyVzfSIgIiVzIl0gNwoJCQkgICJcblxuKGZu IFBBVEggXyBGT1JNQVQpIl0KCQkJKQoJCSAgICAgICAoImdscyIgOmZvbGxvdyBvci1mb2xsb3ct Z2xvc3NhcnkgOmZhY2UKCQkJb3JnLXJlZi1nbG9zc2FyeS1mYWNlIDpoZWxwLWVjaG8gb3ItZ2xv c3NhcnktdG9vbHRpcAoJCQk6ZXhwb3J0CgkJCSNbNzcxCgkJCSAgIlwyMTFcMzAxPVwyMDNcZgBc MzAyXDMwM1wzMDAFI1wyMDdcMzAyXDMwNARcIlwyMDciCgkJCSAgWyJnbHMiIGxhdGV4IGZvcm1h dCAiXFwlc3slc30iICIlcyJdIDcKCQkJICAiXG5cbihmbiBQQVRIIF8gRk9STUFUKSJdCgkJCSkK CQkgICAgICAgKCJiaWJ0ZXgiIDpmb2xsb3cgb3JnLWJpYnRleC1vcGVuIDpzdG9yZQoJCQlvcmct YmlidGV4LXN0b3JlLWxpbmspCgkJICAgICAgICgiZmlsZStzeXMiKSAoImZpbGUrZW1hY3MiKQoJ CSAgICAgICAoImRvaSIgOmZvbGxvdyBkb2ktbGluay1tZW51IDpleHBvcnQKCQkJI1soZG9pIGRl c2MgZm9ybWF0KQoJCQkgICIIXDMwND1cMjAzEwBcMzAwXDMwNQlcbgtcMjA2EQBcMzA2XG5QJFwy MDcIXDMwNz1cMjA1JQBcMzAwXDMxMAlcbgtcMjA2JABcMzA2XG5QJFwyMDciCgkJCSAgW2Zvcm1h dCBkb2ktdXRpbHMtZHgtZG9pLW9yZy11cmwgZG9pIGRlc2MgaHRtbAoJCQkgICAiPGEgaHJlZj1c IiVzJXNcIj4lczwvYT4iICJkb2k6IiBsYXRleAoJCQkgICAiXFxocmVmeyVzJXN9eyVzfSJdCgkJ CSAgNl0KCQkJKQoJCSAgICAgICAoImVsaXNwIiA6Zm9sbG93IG9yZy0tb3Blbi1lbGlzcC1saW5r KQoJCSAgICAgICAoImZpbGUiIDpjb21wbGV0ZSBvcmctZmlsZS1jb21wbGV0ZS1saW5rKQoJCSAg ICAgICAoImZ0cCIgOmZvbGxvdwoJCQkobGFtYmRhIChwYXRoKSAoYnJvd3NlLXVybCAoY29uY2F0 ICJmdHA6IiBwYXRoKSkpKQoJCSAgICAgICAoImhlbHAiIDpmb2xsb3cgb3JnLS1vcGVuLWhlbHAt bGluaykKCQkgICAgICAgKCJodHRwIiA6Zm9sbG93CgkJCShsYW1iZGEgKHBhdGgpIChicm93c2Ut dXJsIChjb25jYXQgImh0dHA6IiBwYXRoKSkpKQoJCSAgICAgICAoImh0dHBzIiA6Zm9sbG93CgkJ CShsYW1iZGEgKHBhdGgpIChicm93c2UtdXJsIChjb25jYXQgImh0dHBzOiIgcGF0aCkpKSkKCQkg ICAgICAgKCJtYWlsdG8iIDpmb2xsb3cKCQkJKGxhbWJkYSAocGF0aCkgKGJyb3dzZS11cmwgKGNv bmNhdCAibWFpbHRvOiIgcGF0aCkpKSkKCQkgICAgICAgKCJuZXdzIiA6Zm9sbG93CgkJCShsYW1i ZGEgKHBhdGgpIChicm93c2UtdXJsIChjb25jYXQgIm5ld3M6IiBwYXRoKSkpKQoJCSAgICAgICAo InNoZWxsIiA6Zm9sbG93IG9yZy0tb3Blbi1zaGVsbC1saW5rKSkKIG9yZy1iYWJlbC1sb2FkLWxh bmd1YWdlcyAnKChkaXRhYSAuIHQpIChlbWFjcy1saXNwIC4gdCkgKFIgLiB0KSAocHl0aG9uIC4g dCkKCQkJICAgIChzYWdlbWF0aCAuIHQpIChqdWxpYSAuIHQpIChnbnVwbG90IC4gdCkKCQkJICAg IChtYXhpbWEgLiB0KSAoc3RhbiAuIHQpIChtYXRoZW1hdGljYSAuIHQpKQogb3JnLXJlZi1pbnNl cnQtbGluay1mdW5jdGlvbiAnb3JnLXJlZi1oZWxtLWluc2VydC1jaXRlLWxpbmsKIG9yZy1odG1s LWZvcm1hdC1pbmxpbmV0YXNrLWZ1bmN0aW9uICdvcmctaHRtbC1mb3JtYXQtaW5saW5ldGFzay1k ZWZhdWx0LWZ1bmN0aW9uCiBvcmctcmVmLW5vdGVzLWZ1bmN0aW9uICdvcmctcmVmLW5vdGVzLWZ1 bmN0aW9uLW9uZS1maWxlCiBvcmctY2xvY2stb3V0LWhvb2sgJyhvcmctY2xvY2stcmVtb3ZlLWVt cHR5LWNsb2NrLWRyYXdlcikKIG9yZy1jb25maXJtLWJhYmVsLWV2YWx1YXRlIG5pbAogKQo= --=-etB+OwW+1skFgW4sEYQH--