From mboxrd@z Thu Jan 1 00:00:00 1970 From: Francisco =?utf-8?Q?Vel=C3=A1zquez?= Subject: Bug: Estimate effort ranges do not work [9.1.3 (9.1.3-elpa @ /home/francisv/.emacs.d/elpa/org-20171116/)] Date: Thu, 23 Nov 2017 13:59:46 +0100 Message-ID: <8737552lrx.fsf@ifi.uio.no> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:35573) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eHr6r-0004IJ-7A for emacs-orgmode@gnu.org; Thu, 23 Nov 2017 08:00:11 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eHr6m-0008Ge-9F for emacs-orgmode@gnu.org; Thu, 23 Nov 2017 08:00:05 -0500 Received: from mail-out01.uio.no ([2001:700:100:10::50]:56017) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eHr6l-0008EM-K7 for emacs-orgmode@gnu.org; Thu, 23 Nov 2017 08:00:00 -0500 Received: from mail-mx03.uio.no ([129.240.10.15]) by mail-out01.uio.no with esmtp (Exim 4.82_1-5b7a7c0-XX) (envelope-from ) id 1eHr6j-00020P-Jq for emacs-orgmode@gnu.org; Thu, 23 Nov 2017 13:59:57 +0100 Received: from host101.g12.varnish-software.com ([77.40.251.101] helo=francisv-iMac) by mail-mx03.uio.no with esmtpsa (TLSv1.2:AES256-GCM-SHA384:256) user francisv (Exim 4.82_1-5b7a7c0-XX) (envelope-from ) id 1eHr6i-0000Ho-V0 for emacs-orgmode@gnu.org; Thu, 23 Nov 2017 13:59:57 +0100 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 --=-=-= Content-Type: text/x-org Content-Disposition: attachment; filename=estplus.org #+COLUMNS: %Item %Effort{est+} * Estimated effort :PROPERTIES: :Effort: 1:00-2:00 :END: --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=estplus.backtrace Content-Transfer-Encoding: base64 RGVidWdnZXIgZW50ZXJlZC0tTGlzcCBlcnJvcjogKGVycm9yICJJbnZhbGlkIGR1cmF0aW9uIGZv cm1hdDogXCIxOjAwLTI6MDBcIiIpCiAgc2lnbmFsKGVycm9yICgiSW52YWxpZCBkdXJhdGlvbiBm b3JtYXQ6IFwiMTowMC0yOjAwXCIiKSkKICBlcnJvcigiSW52YWxpZCBkdXJhdGlvbiBmb3JtYXQ6 ICVTIiAiMTowMC0yOjAwIikKICBvcmctZHVyYXRpb24tdG8tbWludXRlcygiMTowMC0yOjAwIikK ICBmdW5jYWxsKG9yZy1kdXJhdGlvbi10by1taW51dGVzICIxOjAwLTI6MDAiKQogIChwdXQtdGV4 dC1wcm9wZXJ0eSBzdGFydCBlbmQgcHJvcCAoZnVuY2FsbCBmIHApKQogIChsZXQgKChmIHgxNDYp IChwcm9wIHgxNDUpKSAocHV0LXRleHQtcHJvcGVydHkgc3RhcnQgZW5kIHByb3AgKGZ1bmNhbGwg ZiBwKSkpCiAgKGxldCogKCh4MTQ1IChjYXIgeDE0NCkpICh4MTQ2IChjZHIgeDE0NCkpKSAobGV0 ICgoZiB4MTQ2KSAocHJvcCB4MTQ1KSkgKHB1dC10ZXh0LXByb3BlcnR5IHN0YXJ0IGVuZCBwcm9w IChmdW5jYWxsIGYgcCkpKSkKICAobGV0ICgoeDE0NCAoY2FyIC0tZG9saXN0LXRhaWwtLSkpKSAo bGV0KiAoKHgxNDUgKGNhciB4MTQ0KSkgKHgxNDYgKGNkciB4MTQ0KSkpIChsZXQgKChmIHgxNDYp IChwcm9wIHgxNDUpKSAocHV0LXRleHQtcHJvcGVydHkgc3RhcnQgZW5kIHByb3AgKGZ1bmNhbGwg ZiBwKSkpKSAoc2V0cSAtLWRvbGlzdC10YWlsLS0gKGNkciAtLWRvbGlzdC10YWlsLS0pKSkKICAo d2hpbGUgLS1kb2xpc3QtdGFpbC0tIChsZXQgKCh4MTQ0IChjYXIgLS1kb2xpc3QtdGFpbC0tKSkp IChsZXQqICgoeDE0NSAoY2FyIHgxNDQpKSAoeDE0NiAoY2RyIHgxNDQpKSkgKGxldCAoKGYgeDE0 NikgKHByb3AgeDE0NSkpIChwdXQtdGV4dC1wcm9wZXJ0eSBzdGFydCBlbmQgcHJvcCAoZnVuY2Fs bCBmIHApKSkpIChzZXRxIC0tZG9saXN0LXRhaWwtLSAoY2RyIC0tZG9saXN0LXRhaWwtLSkpKSkK ICAobGV0ICgoLS1kb2xpc3QtdGFpbC0tIHRwcm9wKSkgKHdoaWxlIC0tZG9saXN0LXRhaWwtLSAo bGV0ICgoeDE0NCAoY2FyIC0tZG9saXN0LXRhaWwtLSkpKSAobGV0KiAoKHgxNDUgKGNhciB4MTQ0 KSkgKHgxNDYgKGNkciB4MTQ0KSkpIChsZXQgKChmIHgxNDYpIChwcm9wIHgxNDUpKSAocHV0LXRl eHQtcHJvcGVydHkgc3RhcnQgZW5kIHByb3AgKGZ1bmNhbGwgZiBwKSkpKSAoc2V0cSAtLWRvbGlz dC10YWlsLS0gKGNkciAtLWRvbGlzdC10YWlsLS0pKSkpKQogIChpZiAoc3ltYm9scCB0cHJvcCkg KHB1dC10ZXh0LXByb3BlcnR5IHN0YXJ0IGVuZCB0cHJvcCBwKSAobGV0ICgoLS1kb2xpc3QtdGFp bC0tIHRwcm9wKSkgKHdoaWxlIC0tZG9saXN0LXRhaWwtLSAobGV0ICgoeDE0NCAoY2FyIC0tZG9s aXN0LXRhaWwtLSkpKSAobGV0KiAoKHgxNDUgKGNhciB4MTQ0KSkgKHgxNDYgKGNkciB4MTQ0KSkp IChsZXQgKChmIHgxNDYpIChwcm9wIHgxNDUpKSAocHV0LXRleHQtcHJvcGVydHkgc3RhcnQgZW5k IHByb3AgKGZ1bmNhbGwgZiBwKSkpKSAoc2V0cSAtLWRvbGlzdC10YWlsLS0gKGNkciAtLWRvbGlz dC10YWlsLS0pKSkpKSkKICAobGV0ICgoc3RhcnQgKHBvaW50KSkgKGVuZCAoc2F2ZS1leGN1cnNp b24gKGlmIGluaGVyaXQgKG9yZy1lbmQtb2Ytc3VidHJlZSB0IHQpIChvciAob3V0bGluZS1uZXh0 LWhlYWRpbmcpIChwb2ludC1tYXgpKSkpKSkgKGlmIChzeW1ib2xwIHRwcm9wKSAocHV0LXRleHQt cHJvcGVydHkgc3RhcnQgZW5kIHRwcm9wIHApIChsZXQgKCgtLWRvbGlzdC10YWlsLS0gdHByb3Ap KSAod2hpbGUgLS1kb2xpc3QtdGFpbC0tIChsZXQgKCh4MTQ0IChjYXIgLS1kb2xpc3QtdGFpbC0t KSkpIChsZXQqICgoeDE0NSAoY2FyIHgxNDQpKSAoeDE0NiAoY2RyIHgxNDQpKSkgKGxldCAoKGYg eDE0NikgKHByb3AgeDE0NSkpIChwdXQtdGV4dC1wcm9wZXJ0eSBzdGFydCBlbmQgcHJvcCAoZnVu Y2FsbCBmIHApKSkpIChzZXRxIC0tZG9saXN0LXRhaWwtLSAoY2RyIC0tZG9saXN0LXRhaWwtLSkp KSkpKSkKICAoc2F2ZS1leGN1cnNpb24gKG9yZy1iYWNrLXRvLWhlYWRpbmcgdCkgKGxldCAoKHN0 YXJ0IChwb2ludCkpIChlbmQgKHNhdmUtZXhjdXJzaW9uIChpZiBpbmhlcml0IChvcmctZW5kLW9m LXN1YnRyZWUgdCB0KSAob3IgKG91dGxpbmUtbmV4dC1oZWFkaW5nKSAocG9pbnQtbWF4KSkpKSkp IChpZiAoc3ltYm9scCB0cHJvcCkgKHB1dC10ZXh0LXByb3BlcnR5IHN0YXJ0IGVuZCB0cHJvcCBw KSAobGV0ICgoLS1kb2xpc3QtdGFpbC0tIHRwcm9wKSkgKHdoaWxlIC0tZG9saXN0LXRhaWwtLSAo bGV0ICgoeDE0NCAoY2FyIC0tZG9saXN0LXRhaWwtLSkpKSAobGV0KiAoKHgxNDUgKGNhciB4MTQ0 KSkgKHgxNDYgKGNkciB4MTQ0KSkpIChsZXQgKChmIHgxNDYpIChwcm9wIHgxNDUpKSAocHV0LXRl eHQtcHJvcGVydHkgc3RhcnQgZW5kIHByb3AgKGZ1bmNhbGwgZiBwKSkpKSAoc2V0cSAtLWRvbGlz dC10YWlsLS0gKGNkciAtLWRvbGlzdC10YWlsLS0pKSkpKSkpKQogIChpZiAob3JnLWJlZm9yZS1m aXJzdC1oZWFkaW5nLXApIG5pbCAoc2F2ZS1leGN1cnNpb24gKG9yZy1iYWNrLXRvLWhlYWRpbmcg dCkgKGxldCAoKHN0YXJ0IChwb2ludCkpIChlbmQgKHNhdmUtZXhjdXJzaW9uIChpZiBpbmhlcml0 IChvcmctZW5kLW9mLXN1YnRyZWUgdCB0KSAob3IgKG91dGxpbmUtbmV4dC1oZWFkaW5nKSAocG9p bnQtbWF4KSkpKSkpIChpZiAoc3ltYm9scCB0cHJvcCkgKHB1dC10ZXh0LXByb3BlcnR5IHN0YXJ0 IGVuZCB0cHJvcCBwKSAobGV0ICgoLS1kb2xpc3QtdGFpbC0tIHRwcm9wKSkgKHdoaWxlIC0tZG9s aXN0LXRhaWwtLSAobGV0ICgoeDE0NCAoY2FyIC0tZG9saXN0LXRhaWwtLSkpKSAobGV0KiAoKHgx NDUgKGNhciB4MTQ0KSkgKHgxNDYgKGNkciB4MTQ0KSkpIChsZXQgKChmIHgxNDYpIChwcm9wIHgx NDUpKSAocHV0LXRleHQtcHJvcGVydHkgc3RhcnQgZW5kIHByb3AgKGZ1bmNhbGwgZiBwKSkpKSAo c2V0cSAtLWRvbGlzdC10YWlsLS0gKGNkciAtLWRvbGlzdC10YWlsLS0pKSkpKSkpKSkKICBvcmct cmVmcmVzaC1wcm9wZXJ0eSgoKGVmZm9ydCAuIGlkZW50aXR5KSAoZWZmb3J0LW1pbnV0ZXMgLiBv cmctZHVyYXRpb24tdG8tbWludXRlcykpICIxOjAwLTI6MDAiIG5pbCkKICAocHJvZ24gKG9yZy1y ZWZyZXNoLXByb3BlcnR5IHRwcm9wIChvcmctZW50cnktZ2V0IChwb2ludCkgZHByb3ApIGluaGVy aXRcPykpCiAgKGlmIChvcmctYXQtcHJvcGVydHktcCkgKHByb2duIChvcmctcmVmcmVzaC1wcm9w ZXJ0eSB0cHJvcCAob3JnLWVudHJ5LWdldCAocG9pbnQpIGRwcm9wKSBpbmhlcml0XD8pKSkKICAo d2hpbGUgKHJlLXNlYXJjaC1mb3J3YXJkIHByb3BlcnR5LXJlIG5pbCB0KSAoaWYgKG9yZy1hdC1w cm9wZXJ0eS1wKSAocHJvZ24gKG9yZy1yZWZyZXNoLXByb3BlcnR5IHRwcm9wIChvcmctZW50cnkt Z2V0IChwb2ludCkgZHByb3ApIGluaGVyaXRcPykpKSAob3V0bGluZS1uZXh0LWhlYWRpbmcpKQog IChzYXZlLXJlc3RyaWN0aW9uICh3aWRlbikgKGdvdG8tY2hhciAob3IgLS1tcG9tIChwb2ludCkp KSAoaWYgZ2xvYmFsIChwcm9nbiAocHV0LXRleHQtcHJvcGVydHkgKHBvaW50LW1pbikgKHBvaW50 LW1heCkgdHByb3AgZ2xvYmFsKSkpICh3aGlsZSAocmUtc2VhcmNoLWZvcndhcmQgcHJvcGVydHkt cmUgbmlsIHQpIChpZiAob3JnLWF0LXByb3BlcnR5LXApIChwcm9nbiAob3JnLXJlZnJlc2gtcHJv cGVydHkgdHByb3AgKG9yZy1lbnRyeS1nZXQgKHBvaW50KSBkcHJvcCkgaW5oZXJpdFw/KSkpIChv dXRsaW5lLW5leHQtaGVhZGluZykpKQogIChzYXZlLWV4Y3Vyc2lvbiAoc2F2ZS1yZXN0cmljdGlv biAod2lkZW4pIChnb3RvLWNoYXIgKG9yIC0tbXBvbSAocG9pbnQpKSkgKGlmIGdsb2JhbCAocHJv Z24gKHB1dC10ZXh0LXByb3BlcnR5IChwb2ludC1taW4pIChwb2ludC1tYXgpIHRwcm9wIGdsb2Jh bCkpKSAod2hpbGUgKHJlLXNlYXJjaC1mb3J3YXJkIHByb3BlcnR5LXJlIG5pbCB0KSAoaWYgKG9y Zy1hdC1wcm9wZXJ0eS1wKSAocHJvZ24gKG9yZy1yZWZyZXNoLXByb3BlcnR5IHRwcm9wIChvcmct ZW50cnktZ2V0IChwb2ludCkgZHByb3ApIGluaGVyaXRcPykpKSAob3V0bGluZS1uZXh0LWhlYWRp bmcpKSkpCiAgKHNhdmUtZXhjdXJzaW9uIChpZiAobWFya2VycCAtLW1wb20pIChzZXQtYnVmZmVy IChtYXJrZXItYnVmZmVyIC0tbXBvbSkpKSAoc2F2ZS1leGN1cnNpb24gKHNhdmUtcmVzdHJpY3Rp b24gKHdpZGVuKSAoZ290by1jaGFyIChvciAtLW1wb20gKHBvaW50KSkpIChpZiBnbG9iYWwgKHBy b2duIChwdXQtdGV4dC1wcm9wZXJ0eSAocG9pbnQtbWluKSAocG9pbnQtbWF4KSB0cHJvcCBnbG9i YWwpKSkgKHdoaWxlIChyZS1zZWFyY2gtZm9yd2FyZCBwcm9wZXJ0eS1yZSBuaWwgdCkgKGlmIChv cmctYXQtcHJvcGVydHktcCkgKHByb2duIChvcmctcmVmcmVzaC1wcm9wZXJ0eSB0cHJvcCAob3Jn LWVudHJ5LWdldCAocG9pbnQpIGRwcm9wKSBpbmhlcml0XD8pKSkgKG91dGxpbmUtbmV4dC1oZWFk aW5nKSkpKSkKICAobGV0ICgoLS1tcG9tIDEpKSAoc2F2ZS1leGN1cnNpb24gKGlmIChtYXJrZXJw IC0tbXBvbSkgKHNldC1idWZmZXIgKG1hcmtlci1idWZmZXIgLS1tcG9tKSkpIChzYXZlLWV4Y3Vy c2lvbiAoc2F2ZS1yZXN0cmljdGlvbiAod2lkZW4pIChnb3RvLWNoYXIgKG9yIC0tbXBvbSAocG9p bnQpKSkgKGlmIGdsb2JhbCAocHJvZ24gKHB1dC10ZXh0LXByb3BlcnR5IChwb2ludC1taW4pIChw b2ludC1tYXgpIHRwcm9wIGdsb2JhbCkpKSAod2hpbGUgKHJlLXNlYXJjaC1mb3J3YXJkIHByb3Bl cnR5LXJlIG5pbCB0KSAoaWYgKG9yZy1hdC1wcm9wZXJ0eS1wKSAocHJvZ24gKG9yZy1yZWZyZXNo LXByb3BlcnR5IHRwcm9wIChvcmctZW50cnktZ2V0IChwb2ludCkgZHByb3ApIGluaGVyaXRcPykp KSAob3V0bGluZS1uZXh0LWhlYWRpbmcpKSkpKSkKICAocHJvZ24gKGxldCAoKC0tbXBvbSAxKSkg KHNhdmUtZXhjdXJzaW9uIChpZiAobWFya2VycCAtLW1wb20pIChzZXQtYnVmZmVyIChtYXJrZXIt YnVmZmVyIC0tbXBvbSkpKSAoc2F2ZS1leGN1cnNpb24gKHNhdmUtcmVzdHJpY3Rpb24gKHdpZGVu KSAoZ290by1jaGFyIChvciAtLW1wb20gKHBvaW50KSkpIChpZiBnbG9iYWwgKHByb2duIChwdXQt dGV4dC1wcm9wZXJ0eSAocG9pbnQtbWluKSAocG9pbnQtbWF4KSB0cHJvcCBnbG9iYWwpKSkgKHdo aWxlIChyZS1zZWFyY2gtZm9yd2FyZCBwcm9wZXJ0eS1yZSBuaWwgdCkgKGlmIChvcmctYXQtcHJv cGVydHktcCkgKHByb2duIChvcmctcmVmcmVzaC1wcm9wZXJ0eSB0cHJvcCAob3JnLWVudHJ5LWdl dCAocG9pbnQpIGRwcm9wKSBpbmhlcml0XD8pKSkgKG91dGxpbmUtbmV4dC1oZWFkaW5nKSkpKSkp KQogICh1bndpbmQtcHJvdGVjdCAocHJvZ24gKGxldCAoKC0tbXBvbSAxKSkgKHNhdmUtZXhjdXJz aW9uIChpZiAobWFya2VycCAtLW1wb20pIChzZXQtYnVmZmVyIChtYXJrZXItYnVmZmVyIC0tbXBv bSkpKSAoc2F2ZS1leGN1cnNpb24gKHNhdmUtcmVzdHJpY3Rpb24gKHdpZGVuKSAoZ290by1jaGFy IChvciAtLW1wb20gKHBvaW50KSkpIChpZiBnbG9iYWwgKHByb2duIChwdXQtdGV4dC1wcm9wZXJ0 eSAocG9pbnQtbWluKSAocG9pbnQtbWF4KSB0cHJvcCBnbG9iYWwpKSkgKHdoaWxlIChyZS1zZWFy Y2gtZm9yd2FyZCBwcm9wZXJ0eS1yZSBuaWwgdCkgKGlmIChvcmctYXQtcHJvcGVydHktcCkgKHBy b2duIChvcmctcmVmcmVzaC1wcm9wZXJ0eSB0cHJvcCAob3JnLWVudHJ5LWdldCAocG9pbnQpIGRw cm9wKSBpbmhlcml0XD8pKSkgKG91dGxpbmUtbmV4dC1oZWFkaW5nKSkpKSkpKSAoaWYgbW9kaWZp ZWQgbmlsIChyZXN0b3JlLWJ1ZmZlci1tb2RpZmllZC1wIG5pbCkpKQogIChsZXQqICgobW9kaWZp ZWQgKGJ1ZmZlci1tb2RpZmllZC1wKSkgKGJ1ZmZlci11bmRvLWxpc3QgdCkgKGluaGliaXQtcmVh ZC1vbmx5IHQpIChpbmhpYml0LW1vZGlmaWNhdGlvbi1ob29rcyB0KSkgKHVud2luZC1wcm90ZWN0 IChwcm9nbiAobGV0ICgoLS1tcG9tIDEpKSAoc2F2ZS1leGN1cnNpb24gKGlmIChtYXJrZXJwIC0t bXBvbSkgKHNldC1idWZmZXIgKG1hcmtlci1idWZmZXIgLS1tcG9tKSkpIChzYXZlLWV4Y3Vyc2lv biAoc2F2ZS1yZXN0cmljdGlvbiAod2lkZW4pIChnb3RvLWNoYXIgKG9yIC0tbXBvbSAocG9pbnQp KSkgKGlmIGdsb2JhbCAocHJvZ24gKHB1dC10ZXh0LXByb3BlcnR5IChwb2ludC1taW4pIChwb2lu dC1tYXgpIHRwcm9wIGdsb2JhbCkpKSAod2hpbGUgKHJlLXNlYXJjaC1mb3J3YXJkIHByb3BlcnR5 LXJlIG5pbCB0KSAoaWYgKG9yZy1hdC1wcm9wZXJ0eS1wKSAocHJvZ24gKG9yZy1yZWZyZXNoLXBy b3BlcnR5IHRwcm9wIChvcmctZW50cnktZ2V0IChwb2ludCkgZHByb3ApIGluaGVyaXRcPykpKSAo b3V0bGluZS1uZXh0LWhlYWRpbmcpKSkpKSkpIChpZiBtb2RpZmllZCBuaWwgKHJlc3RvcmUtYnVm ZmVyLW1vZGlmaWVkLXAgbmlsKSkpKQogIChsZXQqICgoY2FzZS1mb2xkLXNlYXJjaCB0KSAoaW5o aWJpdC1yZWFkLW9ubHkgdCkgKGluaGVyaXRcPyAob3JnLXByb3BlcnR5LWluaGVyaXQtcCBkcHJv cCkpIChwcm9wZXJ0eS1yZSAob3JnLXJlLXByb3BlcnR5IChjb25jYXQgKHJlZ2V4cC1xdW90ZSBk cHJvcCkgIlxcKz8iKSB0KSkgKGdsb2JhbCAoYW5kIGluaGVyaXRcPyAob3JnLS1wcm9wZXJ0eS1n bG9iYWwtdmFsdWUgZHByb3AgbmlsKSkpKSAobGV0KiAoKG1vZGlmaWVkIChidWZmZXItbW9kaWZp ZWQtcCkpIChidWZmZXItdW5kby1saXN0IHQpIChpbmhpYml0LXJlYWQtb25seSB0KSAoaW5oaWJp dC1tb2RpZmljYXRpb24taG9va3MgdCkpICh1bndpbmQtcHJvdGVjdCAocHJvZ24gKGxldCAoKC0t bXBvbSAxKSkgKHNhdmUtZXhjdXJzaW9uIChpZiAobWFya2VycCAtLW1wb20pIChzZXQtYnVmZmVy IChtYXJrZXItYnVmZmVyIC0tbXBvbSkpKSAoc2F2ZS1leGN1cnNpb24gKHNhdmUtcmVzdHJpY3Rp b24gKHdpZGVuKSAoZ290by1jaGFyIChvciAtLW1wb20gKHBvaW50KSkpIChpZiBnbG9iYWwgKHBy b2duIChwdXQtdGV4dC1wcm9wZXJ0eSAocG9pbnQtbWluKSAocG9pbnQtbWF4KSB0cHJvcCBnbG9i YWwpKSkgKHdoaWxlIChyZS1zZWFyY2gtZm9yd2FyZCBwcm9wZXJ0eS1yZSBuaWwgdCkgKGlmIChv cmctYXQtcHJvcGVydHktcCkgKHByb2duIChvcmctcmVmcmVzaC1wcm9wZXJ0eSB0cHJvcCAob3Jn LWVudHJ5LWdldCAocG9pbnQpIGRwcm9wKSBpbmhlcml0XD8pKSkgKG91dGxpbmUtbmV4dC1oZWFk aW5nKSkpKSkpKSAoaWYgbW9kaWZpZWQgbmlsIChyZXN0b3JlLWJ1ZmZlci1tb2RpZmllZC1wIG5p bCkpKSkpCiAgb3JnLXJlZnJlc2gtcHJvcGVydGllcygiRWZmb3J0IiAoKGVmZm9ydCAuIGlkZW50 aXR5KSAoZWZmb3J0LW1pbnV0ZXMgLiBvcmctZHVyYXRpb24tdG8tbWludXRlcykpKQogIG9yZy1y ZWZyZXNoLWVmZm9ydC1wcm9wZXJ0aWVzKCkKICAob3IgKG1lbXEgJ2VmZm9ydCBvcmctYWdlbmRh LWlnbm9yZS1wcm9wZXJ0aWVzKSAob3JnLXJlZnJlc2gtZWZmb3J0LXByb3BlcnRpZXMpKQogIChj YXRjaCAnbmV4dGZpbGUgKGlmIChidWZmZXJwIGZpbGUpIChzZXQtYnVmZmVyIGZpbGUpIChvcmct Y2hlY2stYWdlbmRhLWZpbGUgZmlsZSkgKHNldC1idWZmZXIgKG9yZy1nZXQtYWdlbmRhLWZpbGUt YnVmZmVyIGZpbGUpKSkgKHdpZGVuKSAob3JnLXNldC1yZWdleHBzLWFuZC1vcHRpb25zICd0YWdz LW9ubHkpIChzZXRxIHBvcyAocG9pbnQpKSAob3IgKG1lbXEgJ2NhdGVnb3J5IG9yZy1hZ2VuZGEt aWdub3JlLXByb3BlcnRpZXMpIChvcmctcmVmcmVzaC1jYXRlZ29yeS1wcm9wZXJ0aWVzKSkgKG9y IChtZW1xICdzdGF0cyBvcmctYWdlbmRhLWlnbm9yZS1wcm9wZXJ0aWVzKSAob3JnLXJlZnJlc2gt c3RhdHMtcHJvcGVydGllcykpIChvciAobWVtcSAnZWZmb3J0IG9yZy1hZ2VuZGEtaWdub3JlLXBy b3BlcnRpZXMpIChvcmctcmVmcmVzaC1lZmZvcnQtcHJvcGVydGllcykpIChvciAobWVtcSAnYXBw dCBvcmctYWdlbmRhLWlnbm9yZS1wcm9wZXJ0aWVzKSAob3JnLXJlZnJlc2gtcHJvcGVydGllcyAi QVBQVF9XQVJOVElNRSIgJ29yZy1hcHB0LXdhcm50aW1lKSkgKHNldHEgb3JnLXRvZG8ta2V5d29y ZHMtZm9yLWFnZW5kYSAoYXBwZW5kIG9yZy10b2RvLWtleXdvcmRzLWZvci1hZ2VuZGEgb3JnLXRv ZG8ta2V5d29yZHMtMSkpIChzZXRxIG9yZy1kb25lLWtleXdvcmRzLWZvci1hZ2VuZGEgKGFwcGVu ZCBvcmctZG9uZS1rZXl3b3Jkcy1mb3ItYWdlbmRhIG9yZy1kb25lLWtleXdvcmRzKSkgKHNldHEg b3JnLXRvZG8ta2V5d29yZC1hbGlzdC1mb3ItYWdlbmRhIChhcHBlbmQgb3JnLXRvZG8ta2V5d29y ZC1hbGlzdC1mb3ItYWdlbmRhIG9yZy10b2RvLWtleS1hbGlzdCkpIChzZXRxIG9yZy10YWctYWxp c3QtZm9yLWFnZW5kYSAob3JnLXVuaXF1aWZ5IChhcHBlbmQgb3JnLXRhZy1hbGlzdC1mb3ItYWdl bmRhIG9yZy1jdXJyZW50LXRhZy1hbGlzdCkpKSAoaWYgb3JnLWdyb3VwLXRhZ3MgKHByb2duIChs ZXQgKCgtLWRvbGlzdC10YWlsLS0gb3JnLXRhZy1ncm91cHMtYWxpc3QpKSAod2hpbGUgLS1kb2xp c3QtdGFpbC0tIChsZXQgKChhbGlzdCAoY2FyIC0tZG9saXN0LXRhaWwtLSkpKSAobGV0ICgob2xk IChhc3NvYyAoY2FyIGFsaXN0KSBvcmctdGFnLWdyb3Vwcy1hbGlzdC1mb3ItYWdlbmRhKSkpIChp ZiBvbGQgKHNldGNkciBvbGQgKG9yZy11bmlxdWlmeSAoYXBwZW5kIChjZHIgb2xkKSAoY2RyIGFs aXN0KSkpKSAoc2V0cSBvcmctdGFnLWdyb3Vwcy1hbGlzdC1mb3ItYWdlbmRhIChjb25zIGFsaXN0 IG9yZy10YWctZ3JvdXBzLWFsaXN0LWZvci1hZ2VuZGEpKSkpIChzZXRxIC0tZG9saXN0LXRhaWwt LSAoY2RyIC0tZG9saXN0LXRhaWwtLSkpKSkpKSkgKGxldCogKChtb2RpZmllZCAoYnVmZmVyLW1v ZGlmaWVkLXApKSAoYnVmZmVyLXVuZG8tbGlzdCB0KSAoaW5oaWJpdC1yZWFkLW9ubHkgdCkgKGlu aGliaXQtbW9kaWZpY2F0aW9uLWhvb2tzIHQpKSAodW53aW5kLXByb3RlY3QgKHByb2duIChzYXZl LWV4Y3Vyc2lvbiAocmVtb3ZlLXRleHQtcHJvcGVydGllcyAocG9pbnQtbWluKSAocG9pbnQtbWF4 KSBwYWxsKSAoaWYgb3JnLWFnZW5kYS1za2lwLWFyY2hpdmVkLXRyZWVzIChwcm9nbiAoZ290by1j aGFyIChwb2ludC1taW4pKSAod2hpbGUgKHJlLXNlYXJjaC1mb3J3YXJkIHJlYSBuaWwgdCkgKGlm IChvcmctYXQtaGVhZGluZy1wIHQpIChwcm9nbiAoYWRkLXRleHQtcHJvcGVydGllcyAocG9pbnQt YXQtYm9sKSAob3JnLWVuZC1vZi1zdWJ0cmVlIHQpIHBhKSkpKSkpIChnb3RvLWNoYXIgKHBvaW50 LW1pbikpIChzZXRxIHJlIChmb3JtYXQgIl5cXCorIC4qXFw8JXNcXD4iIG9yZy1jb21tZW50LXN0 cmluZykpICh3aGlsZSAocmUtc2VhcmNoLWZvcndhcmQgcmUgbmlsIHQpIChpZiAobGV0ICgoc2F2 ZS1tYXRjaC1kYXRhLWludGVybmFsIChtYXRjaC1kYXRhKSkpICh1bndpbmQtcHJvdGVjdCAocHJv Z24gKG9yZy1pbi1jb21tZW50ZWQtaGVhZGluZy1wIHQpKSAoc2V0LW1hdGNoLWRhdGEgc2F2ZS1t YXRjaC1kYXRhLWludGVybmFsICdldmFwb3JhdGUpKSkgKHByb2duIChhZGQtdGV4dC1wcm9wZXJ0 aWVzIChtYXRjaC1iZWdpbm5pbmcgMCkgKG9yZy1lbmQtb2Ytc3VidHJlZSB0KSBwYykpKSkpKSAo aWYgbW9kaWZpZWQgbmlsIChyZXN0b3JlLWJ1ZmZlci1tb2RpZmllZC1wIG5pbCkpKSkgKGdvdG8t Y2hhciBwb3MpKQogIChsZXQgKChmaWxlIChjYXIgLS1kb2xpc3QtdGFpbC0tKSkpIChjYXRjaCAn bmV4dGZpbGUgKGlmIChidWZmZXJwIGZpbGUpIChzZXQtYnVmZmVyIGZpbGUpIChvcmctY2hlY2st YWdlbmRhLWZpbGUgZmlsZSkgKHNldC1idWZmZXIgKG9yZy1nZXQtYWdlbmRhLWZpbGUtYnVmZmVy IGZpbGUpKSkgKHdpZGVuKSAob3JnLXNldC1yZWdleHBzLWFuZC1vcHRpb25zICd0YWdzLW9ubHkp IChzZXRxIHBvcyAocG9pbnQpKSAob3IgKG1lbXEgJ2NhdGVnb3J5IG9yZy1hZ2VuZGEtaWdub3Jl LXByb3BlcnRpZXMpIChvcmctcmVmcmVzaC1jYXRlZ29yeS1wcm9wZXJ0aWVzKSkgKG9yIChtZW1x ICdzdGF0cyBvcmctYWdlbmRhLWlnbm9yZS1wcm9wZXJ0aWVzKSAob3JnLXJlZnJlc2gtc3RhdHMt cHJvcGVydGllcykpIChvciAobWVtcSAnZWZmb3J0IG9yZy1hZ2VuZGEtaWdub3JlLXByb3BlcnRp ZXMpIChvcmctcmVmcmVzaC1lZmZvcnQtcHJvcGVydGllcykpIChvciAobWVtcSAnYXBwdCBvcmct YWdlbmRhLWlnbm9yZS1wcm9wZXJ0aWVzKSAob3JnLXJlZnJlc2gtcHJvcGVydGllcyAiQVBQVF9X QVJOVElNRSIgJ29yZy1hcHB0LXdhcm50aW1lKSkgKHNldHEgb3JnLXRvZG8ta2V5d29yZHMtZm9y LWFnZW5kYSAoYXBwZW5kIG9yZy10b2RvLWtleXdvcmRzLWZvci1hZ2VuZGEgb3JnLXRvZG8ta2V5 d29yZHMtMSkpIChzZXRxIG9yZy1kb25lLWtleXdvcmRzLWZvci1hZ2VuZGEgKGFwcGVuZCBvcmct ZG9uZS1rZXl3b3Jkcy1mb3ItYWdlbmRhIG9yZy1kb25lLWtleXdvcmRzKSkgKHNldHEgb3JnLXRv ZG8ta2V5d29yZC1hbGlzdC1mb3ItYWdlbmRhIChhcHBlbmQgb3JnLXRvZG8ta2V5d29yZC1hbGlz dC1mb3ItYWdlbmRhIG9yZy10b2RvLWtleS1hbGlzdCkpIChzZXRxIG9yZy10YWctYWxpc3QtZm9y LWFnZW5kYSAob3JnLXVuaXF1aWZ5IChhcHBlbmQgb3JnLXRhZy1hbGlzdC1mb3ItYWdlbmRhIG9y Zy1jdXJyZW50LXRhZy1hbGlzdCkpKSAoaWYgb3JnLWdyb3VwLXRhZ3MgKHByb2duIChsZXQgKCgt LWRvbGlzdC10YWlsLS0gb3JnLXRhZy1ncm91cHMtYWxpc3QpKSAod2hpbGUgLS1kb2xpc3QtdGFp bC0tIChsZXQgKChhbGlzdCAoY2FyIC0tZG9saXN0LXRhaWwtLSkpKSAobGV0ICgob2xkIChhc3Nv YyAoY2FyIGFsaXN0KSBvcmctdGFnLWdyb3Vwcy1hbGlzdC1mb3ItYWdlbmRhKSkpIChpZiBvbGQg KHNldGNkciBvbGQgKG9yZy11bmlxdWlmeSAoYXBwZW5kIChjZHIgb2xkKSAoY2RyIGFsaXN0KSkp KSAoc2V0cSBvcmctdGFnLWdyb3Vwcy1hbGlzdC1mb3ItYWdlbmRhIChjb25zIGFsaXN0IG9yZy10 YWctZ3JvdXBzLWFsaXN0LWZvci1hZ2VuZGEpKSkpIChzZXRxIC0tZG9saXN0LXRhaWwtLSAoY2Ry IC0tZG9saXN0LXRhaWwtLSkpKSkpKSkgKGxldCogKChtb2RpZmllZCAoYnVmZmVyLW1vZGlmaWVk LXApKSAoYnVmZmVyLXVuZG8tbGlzdCB0KSAoaW5oaWJpdC1yZWFkLW9ubHkgdCkgKGluaGliaXQt bW9kaWZpY2F0aW9uLWhvb2tzIHQpKSAodW53aW5kLXByb3RlY3QgKHByb2duIChzYXZlLWV4Y3Vy c2lvbiAocmVtb3ZlLXRleHQtcHJvcGVydGllcyAocG9pbnQtbWluKSAocG9pbnQtbWF4KSBwYWxs KSAoaWYgb3JnLWFnZW5kYS1za2lwLWFyY2hpdmVkLXRyZWVzIChwcm9nbiAoZ290by1jaGFyIChw b2ludC1taW4pKSAod2hpbGUgKHJlLXNlYXJjaC1mb3J3YXJkIHJlYSBuaWwgdCkgKGlmIChvcmct YXQtaGVhZGluZy1wIHQpIChwcm9nbiAoYWRkLXRleHQtcHJvcGVydGllcyAocG9pbnQtYXQtYm9s KSAob3JnLWVuZC1vZi1zdWJ0cmVlIHQpIHBhKSkpKSkpIChnb3RvLWNoYXIgKHBvaW50LW1pbikp IChzZXRxIHJlIChmb3JtYXQgIl5cXCorIC4qXFw8JXNcXD4iIG9yZy1jb21tZW50LXN0cmluZykp ICh3aGlsZSAocmUtc2VhcmNoLWZvcndhcmQgcmUgbmlsIHQpIChpZiAobGV0ICgoc2F2ZS1tYXRj aC1kYXRhLWludGVybmFsIChtYXRjaC1kYXRhKSkpICh1bndpbmQtcHJvdGVjdCAocHJvZ24gKG9y Zy1pbi1jb21tZW50ZWQtaGVhZGluZy1wIHQpKSAoc2V0LW1hdGNoLWRhdGEgc2F2ZS1tYXRjaC1k YXRhLWludGVybmFsICdldmFwb3JhdGUpKSkgKHByb2duIChhZGQtdGV4dC1wcm9wZXJ0aWVzICht YXRjaC1iZWdpbm5pbmcgMCkgKG9yZy1lbmQtb2Ytc3VidHJlZSB0KSBwYykpKSkpKSAoaWYgbW9k aWZpZWQgbmlsIChyZXN0b3JlLWJ1ZmZlci1tb2RpZmllZC1wIG5pbCkpKSkgKGdvdG8tY2hhciBw b3MpKSAoc2V0cSAtLWRvbGlzdC10YWlsLS0gKGNkciAtLWRvbGlzdC10YWlsLS0pKSkKICAod2hp bGUgLS1kb2xpc3QtdGFpbC0tIChsZXQgKChmaWxlIChjYXIgLS1kb2xpc3QtdGFpbC0tKSkpIChj YXRjaCAnbmV4dGZpbGUgKGlmIChidWZmZXJwIGZpbGUpIChzZXQtYnVmZmVyIGZpbGUpIChvcmct Y2hlY2stYWdlbmRhLWZpbGUgZmlsZSkgKHNldC1idWZmZXIgKG9yZy1nZXQtYWdlbmRhLWZpbGUt YnVmZmVyIGZpbGUpKSkgKHdpZGVuKSAob3JnLXNldC1yZWdleHBzLWFuZC1vcHRpb25zICd0YWdz LW9ubHkpIChzZXRxIHBvcyAocG9pbnQpKSAob3IgKG1lbXEgJ2NhdGVnb3J5IG9yZy1hZ2VuZGEt aWdub3JlLXByb3BlcnRpZXMpIChvcmctcmVmcmVzaC1jYXRlZ29yeS1wcm9wZXJ0aWVzKSkgKG9y IChtZW1xICdzdGF0cyBvcmctYWdlbmRhLWlnbm9yZS1wcm9wZXJ0aWVzKSAob3JnLXJlZnJlc2gt c3RhdHMtcHJvcGVydGllcykpIChvciAobWVtcSAnZWZmb3J0IG9yZy1hZ2VuZGEtaWdub3JlLXBy b3BlcnRpZXMpIChvcmctcmVmcmVzaC1lZmZvcnQtcHJvcGVydGllcykpIChvciAobWVtcSAnYXBw dCBvcmctYWdlbmRhLWlnbm9yZS1wcm9wZXJ0aWVzKSAob3JnLXJlZnJlc2gtcHJvcGVydGllcyAi QVBQVF9XQVJOVElNRSIgJ29yZy1hcHB0LXdhcm50aW1lKSkgKHNldHEgb3JnLXRvZG8ta2V5d29y ZHMtZm9yLWFnZW5kYSAoYXBwZW5kIG9yZy10b2RvLWtleXdvcmRzLWZvci1hZ2VuZGEgb3JnLXRv ZG8ta2V5d29yZHMtMSkpIChzZXRxIG9yZy1kb25lLWtleXdvcmRzLWZvci1hZ2VuZGEgKGFwcGVu ZCBvcmctZG9uZS1rZXl3b3Jkcy1mb3ItYWdlbmRhIG9yZy1kb25lLWtleXdvcmRzKSkgKHNldHEg b3JnLXRvZG8ta2V5d29yZC1hbGlzdC1mb3ItYWdlbmRhIChhcHBlbmQgb3JnLXRvZG8ta2V5d29y ZC1hbGlzdC1mb3ItYWdlbmRhIG9yZy10b2RvLWtleS1hbGlzdCkpIChzZXRxIG9yZy10YWctYWxp c3QtZm9yLWFnZW5kYSAob3JnLXVuaXF1aWZ5IChhcHBlbmQgb3JnLXRhZy1hbGlzdC1mb3ItYWdl bmRhIG9yZy1jdXJyZW50LXRhZy1hbGlzdCkpKSAoaWYgb3JnLWdyb3VwLXRhZ3MgKHByb2duIChs ZXQgKCgtLWRvbGlzdC10YWlsLS0gb3JnLXRhZy1ncm91cHMtYWxpc3QpKSAod2hpbGUgLS1kb2xp c3QtdGFpbC0tIChsZXQgKChhbGlzdCAoY2FyIC0tZG9saXN0LXRhaWwtLSkpKSAobGV0ICgob2xk IChhc3NvYyAoY2FyIGFsaXN0KSBvcmctdGFnLWdyb3Vwcy1hbGlzdC1mb3ItYWdlbmRhKSkpIChp ZiBvbGQgKHNldGNkciBvbGQgKG9yZy11bmlxdWlmeSAoYXBwZW5kIChjZHIgb2xkKSAoY2RyIGFs aXN0KSkpKSAoc2V0cSBvcmctdGFnLWdyb3Vwcy1hbGlzdC1mb3ItYWdlbmRhIChjb25zIGFsaXN0 IG9yZy10YWctZ3JvdXBzLWFsaXN0LWZvci1hZ2VuZGEpKSkpIChzZXRxIC0tZG9saXN0LXRhaWwt LSAoY2RyIC0tZG9saXN0LXRhaWwtLSkpKSkpKSkgKGxldCogKChtb2RpZmllZCAoYnVmZmVyLW1v ZGlmaWVkLXApKSAoYnVmZmVyLXVuZG8tbGlzdCB0KSAoaW5oaWJpdC1yZWFkLW9ubHkgdCkgKGlu aGliaXQtbW9kaWZpY2F0aW9uLWhvb2tzIHQpKSAodW53aW5kLXByb3RlY3QgKHByb2duIChzYXZl LWV4Y3Vyc2lvbiAocmVtb3ZlLXRleHQtcHJvcGVydGllcyAocG9pbnQtbWluKSAocG9pbnQtbWF4 KSBwYWxsKSAoaWYgb3JnLWFnZW5kYS1za2lwLWFyY2hpdmVkLXRyZWVzIChwcm9nbiAoZ290by1j aGFyIChwb2ludC1taW4pKSAod2hpbGUgKHJlLXNlYXJjaC1mb3J3YXJkIHJlYSBuaWwgdCkgKGlm IChvcmctYXQtaGVhZGluZy1wIHQpIChwcm9nbiAoYWRkLXRleHQtcHJvcGVydGllcyAocG9pbnQt YXQtYm9sKSAob3JnLWVuZC1vZi1zdWJ0cmVlIHQpIHBhKSkpKSkpIChnb3RvLWNoYXIgKHBvaW50 LW1pbikpIChzZXRxIHJlIChmb3JtYXQgIl5cXCorIC4qXFw8JXNcXD4iIG9yZy1jb21tZW50LXN0 cmluZykpICh3aGlsZSAocmUtc2VhcmNoLWZvcndhcmQgcmUgbmlsIHQpIChpZiAobGV0ICgoc2F2 ZS1tYXRjaC1kYXRhLWludGVybmFsIChtYXRjaC1kYXRhKSkpICh1bndpbmQtcHJvdGVjdCAocHJv Z24gKG9yZy1pbi1jb21tZW50ZWQtaGVhZGluZy1wIHQpKSAoc2V0LW1hdGNoLWRhdGEgc2F2ZS1t YXRjaC1kYXRhLWludGVybmFsICdldmFwb3JhdGUpKSkgKHByb2duIChhZGQtdGV4dC1wcm9wZXJ0 aWVzIChtYXRjaC1iZWdpbm5pbmcgMCkgKG9yZy1lbmQtb2Ytc3VidHJlZSB0KSBwYykpKSkpKSAo aWYgbW9kaWZpZWQgbmlsIChyZXN0b3JlLWJ1ZmZlci1tb2RpZmllZC1wIG5pbCkpKSkgKGdvdG8t Y2hhciBwb3MpKSAoc2V0cSAtLWRvbGlzdC10YWlsLS0gKGNkciAtLWRvbGlzdC10YWlsLS0pKSkp CiAgKGxldCAoKC0tZG9saXN0LXRhaWwtLSBmaWxlcykpICh3aGlsZSAtLWRvbGlzdC10YWlsLS0g KGxldCAoKGZpbGUgKGNhciAtLWRvbGlzdC10YWlsLS0pKSkgKGNhdGNoICduZXh0ZmlsZSAoaWYg KGJ1ZmZlcnAgZmlsZSkgKHNldC1idWZmZXIgZmlsZSkgKG9yZy1jaGVjay1hZ2VuZGEtZmlsZSBm aWxlKSAoc2V0LWJ1ZmZlciAob3JnLWdldC1hZ2VuZGEtZmlsZS1idWZmZXIgZmlsZSkpKSAod2lk ZW4pIChvcmctc2V0LXJlZ2V4cHMtYW5kLW9wdGlvbnMgJ3RhZ3Mtb25seSkgKHNldHEgcG9zIChw b2ludCkpIChvciAobWVtcSAnY2F0ZWdvcnkgb3JnLWFnZW5kYS1pZ25vcmUtcHJvcGVydGllcykg KG9yZy1yZWZyZXNoLWNhdGVnb3J5LXByb3BlcnRpZXMpKSAob3IgKG1lbXEgJ3N0YXRzIG9yZy1h Z2VuZGEtaWdub3JlLXByb3BlcnRpZXMpIChvcmctcmVmcmVzaC1zdGF0cy1wcm9wZXJ0aWVzKSkg KG9yIChtZW1xICdlZmZvcnQgb3JnLWFnZW5kYS1pZ25vcmUtcHJvcGVydGllcykgKG9yZy1yZWZy ZXNoLWVmZm9ydC1wcm9wZXJ0aWVzKSkgKG9yIChtZW1xICdhcHB0IG9yZy1hZ2VuZGEtaWdub3Jl LXByb3BlcnRpZXMpIChvcmctcmVmcmVzaC1wcm9wZXJ0aWVzICJBUFBUX1dBUk5USU1FIiAnb3Jn LWFwcHQtd2FybnRpbWUpKSAoc2V0cSBvcmctdG9kby1rZXl3b3Jkcy1mb3ItYWdlbmRhIChhcHBl bmQgb3JnLXRvZG8ta2V5d29yZHMtZm9yLWFnZW5kYSBvcmctdG9kby1rZXl3b3Jkcy0xKSkgKHNl dHEgb3JnLWRvbmUta2V5d29yZHMtZm9yLWFnZW5kYSAoYXBwZW5kIG9yZy1kb25lLWtleXdvcmRz LWZvci1hZ2VuZGEgb3JnLWRvbmUta2V5d29yZHMpKSAoc2V0cSBvcmctdG9kby1rZXl3b3JkLWFs aXN0LWZvci1hZ2VuZGEgKGFwcGVuZCBvcmctdG9kby1rZXl3b3JkLWFsaXN0LWZvci1hZ2VuZGEg b3JnLXRvZG8ta2V5LWFsaXN0KSkgKHNldHEgb3JnLXRhZy1hbGlzdC1mb3ItYWdlbmRhIChvcmct dW5pcXVpZnkgKGFwcGVuZCBvcmctdGFnLWFsaXN0LWZvci1hZ2VuZGEgb3JnLWN1cnJlbnQtdGFn LWFsaXN0KSkpIChpZiBvcmctZ3JvdXAtdGFncyAocHJvZ24gKGxldCAoKC0tZG9saXN0LXRhaWwt LSBvcmctdGFnLWdyb3Vwcy1hbGlzdCkpICh3aGlsZSAtLWRvbGlzdC10YWlsLS0gKGxldCAoKGFs aXN0IChjYXIgLS1kb2xpc3QtdGFpbC0tKSkpIChsZXQgKChvbGQgKGFzc29jIChjYXIgYWxpc3Qp IG9yZy10YWctZ3JvdXBzLWFsaXN0LWZvci1hZ2VuZGEpKSkgKGlmIG9sZCAoc2V0Y2RyIG9sZCAo b3JnLXVuaXF1aWZ5IChhcHBlbmQgKGNkciBvbGQpIChjZHIgYWxpc3QpKSkpIChzZXRxIG9yZy10 YWctZ3JvdXBzLWFsaXN0LWZvci1hZ2VuZGEgKGNvbnMgYWxpc3Qgb3JnLXRhZy1ncm91cHMtYWxp c3QtZm9yLWFnZW5kYSkpKSkgKHNldHEgLS1kb2xpc3QtdGFpbC0tIChjZHIgLS1kb2xpc3QtdGFp bC0tKSkpKSkpKSAobGV0KiAoKG1vZGlmaWVkIChidWZmZXItbW9kaWZpZWQtcCkpIChidWZmZXIt dW5kby1saXN0IHQpIChpbmhpYml0LXJlYWQtb25seSB0KSAoaW5oaWJpdC1tb2RpZmljYXRpb24t aG9va3MgdCkpICh1bndpbmQtcHJvdGVjdCAocHJvZ24gKHNhdmUtZXhjdXJzaW9uIChyZW1vdmUt dGV4dC1wcm9wZXJ0aWVzIChwb2ludC1taW4pIChwb2ludC1tYXgpIHBhbGwpIChpZiBvcmctYWdl bmRhLXNraXAtYXJjaGl2ZWQtdHJlZXMgKHByb2duIChnb3RvLWNoYXIgKHBvaW50LW1pbikpICh3 aGlsZSAocmUtc2VhcmNoLWZvcndhcmQgcmVhIG5pbCB0KSAoaWYgKG9yZy1hdC1oZWFkaW5nLXAg dCkgKHByb2duIChhZGQtdGV4dC1wcm9wZXJ0aWVzIChwb2ludC1hdC1ib2wpIChvcmctZW5kLW9m LXN1YnRyZWUgdCkgcGEpKSkpKSkgKGdvdG8tY2hhciAocG9pbnQtbWluKSkgKHNldHEgcmUgKGZv cm1hdCAiXlxcKisgLipcXDwlc1xcPiIgb3JnLWNvbW1lbnQtc3RyaW5nKSkgKHdoaWxlIChyZS1z ZWFyY2gtZm9yd2FyZCByZSBuaWwgdCkgKGlmIChsZXQgKChzYXZlLW1hdGNoLWRhdGEtaW50ZXJu YWwgKG1hdGNoLWRhdGEpKSkgKHVud2luZC1wcm90ZWN0IChwcm9nbiAob3JnLWluLWNvbW1lbnRl ZC1oZWFkaW5nLXAgdCkpIChzZXQtbWF0Y2gtZGF0YSBzYXZlLW1hdGNoLWRhdGEtaW50ZXJuYWwg J2V2YXBvcmF0ZSkpKSAocHJvZ24gKGFkZC10ZXh0LXByb3BlcnRpZXMgKG1hdGNoLWJlZ2lubmlu ZyAwKSAob3JnLWVuZC1vZi1zdWJ0cmVlIHQpIHBjKSkpKSkpIChpZiBtb2RpZmllZCBuaWwgKHJl c3RvcmUtYnVmZmVyLW1vZGlmaWVkLXAgbmlsKSkpKSAoZ290by1jaGFyIHBvcykpIChzZXRxIC0t ZG9saXN0LXRhaWwtLSAoY2RyIC0tZG9saXN0LXRhaWwtLSkpKSkpCiAgKHNhdmUtcmVzdHJpY3Rp b24gKGxldCAoKC0tZG9saXN0LXRhaWwtLSBmaWxlcykpICh3aGlsZSAtLWRvbGlzdC10YWlsLS0g KGxldCAoKGZpbGUgKGNhciAtLWRvbGlzdC10YWlsLS0pKSkgKGNhdGNoICduZXh0ZmlsZSAoaWYg KGJ1ZmZlcnAgZmlsZSkgKHNldC1idWZmZXIgZmlsZSkgKG9yZy1jaGVjay1hZ2VuZGEtZmlsZSBm aWxlKSAoc2V0LWJ1ZmZlciAob3JnLWdldC1hZ2VuZGEtZmlsZS1idWZmZXIgZmlsZSkpKSAod2lk ZW4pIChvcmctc2V0LXJlZ2V4cHMtYW5kLW9wdGlvbnMgJ3RhZ3Mtb25seSkgKHNldHEgcG9zIChw b2ludCkpIChvciAobWVtcSAnY2F0ZWdvcnkgb3JnLWFnZW5kYS1pZ25vcmUtcHJvcGVydGllcykg KG9yZy1yZWZyZXNoLWNhdGVnb3J5LXByb3BlcnRpZXMpKSAob3IgKG1lbXEgJ3N0YXRzIG9yZy1h Z2VuZGEtaWdub3JlLXByb3BlcnRpZXMpIChvcmctcmVmcmVzaC1zdGF0cy1wcm9wZXJ0aWVzKSkg KG9yIChtZW1xICdlZmZvcnQgb3JnLWFnZW5kYS1pZ25vcmUtcHJvcGVydGllcykgKG9yZy1yZWZy ZXNoLWVmZm9ydC1wcm9wZXJ0aWVzKSkgKG9yIChtZW1xICdhcHB0IG9yZy1hZ2VuZGEtaWdub3Jl LXByb3BlcnRpZXMpIChvcmctcmVmcmVzaC1wcm9wZXJ0aWVzICJBUFBUX1dBUk5USU1FIiAnb3Jn LWFwcHQtd2FybnRpbWUpKSAoc2V0cSBvcmctdG9kby1rZXl3b3Jkcy1mb3ItYWdlbmRhIChhcHBl bmQgb3JnLXRvZG8ta2V5d29yZHMtZm9yLWFnZW5kYSBvcmctdG9kby1rZXl3b3Jkcy0xKSkgKHNl dHEgb3JnLWRvbmUta2V5d29yZHMtZm9yLWFnZW5kYSAoYXBwZW5kIG9yZy1kb25lLWtleXdvcmRz LWZvci1hZ2VuZGEgb3JnLWRvbmUta2V5d29yZHMpKSAoc2V0cSBvcmctdG9kby1rZXl3b3JkLWFs aXN0LWZvci1hZ2VuZGEgKGFwcGVuZCBvcmctdG9kby1rZXl3b3JkLWFsaXN0LWZvci1hZ2VuZGEg b3JnLXRvZG8ta2V5LWFsaXN0KSkgKHNldHEgb3JnLXRhZy1hbGlzdC1mb3ItYWdlbmRhIChvcmct dW5pcXVpZnkgKGFwcGVuZCBvcmctdGFnLWFsaXN0LWZvci1hZ2VuZGEgb3JnLWN1cnJlbnQtdGFn LWFsaXN0KSkpIChpZiBvcmctZ3JvdXAtdGFncyAocHJvZ24gKGxldCAoKC0tZG9saXN0LXRhaWwt LSBvcmctdGFnLWdyb3Vwcy1hbGlzdCkpICh3aGlsZSAtLWRvbGlzdC10YWlsLS0gKGxldCAoKGFs aXN0IChjYXIgLS1kb2xpc3QtdGFpbC0tKSkpIChsZXQgKChvbGQgKGFzc29jIChjYXIgYWxpc3Qp IG9yZy10YWctZ3JvdXBzLWFsaXN0LWZvci1hZ2VuZGEpKSkgKGlmIG9sZCAoc2V0Y2RyIG9sZCAo b3JnLXVuaXF1aWZ5IChhcHBlbmQgKGNkciBvbGQpIChjZHIgYWxpc3QpKSkpIChzZXRxIG9yZy10 YWctZ3JvdXBzLWFsaXN0LWZvci1hZ2VuZGEgKGNvbnMgYWxpc3Qgb3JnLXRhZy1ncm91cHMtYWxp c3QtZm9yLWFnZW5kYSkpKSkgKHNldHEgLS1kb2xpc3QtdGFpbC0tIChjZHIgLS1kb2xpc3QtdGFp bC0tKSkpKSkpKSAobGV0KiAoKG1vZGlmaWVkIChidWZmZXItbW9kaWZpZWQtcCkpIChidWZmZXIt dW5kby1saXN0IHQpIChpbmhpYml0LXJlYWQtb25seSB0KSAoaW5oaWJpdC1tb2RpZmljYXRpb24t aG9va3MgdCkpICh1bndpbmQtcHJvdGVjdCAocHJvZ24gKHNhdmUtZXhjdXJzaW9uIChyZW1vdmUt dGV4dC1wcm9wZXJ0aWVzIChwb2ludC1taW4pIChwb2ludC1tYXgpIHBhbGwpIChpZiBvcmctYWdl bmRhLXNraXAtYXJjaGl2ZWQtdHJlZXMgKHByb2duIChnb3RvLWNoYXIgKHBvaW50LW1pbikpICh3 aGlsZSAocmUtc2VhcmNoLWZvcndhcmQgcmVhIG5pbCB0KSAoaWYgKG9yZy1hdC1oZWFkaW5nLXAg dCkgKHByb2duIChhZGQtdGV4dC1wcm9wZXJ0aWVzIChwb2ludC1hdC1ib2wpIChvcmctZW5kLW9m LXN1YnRyZWUgdCkgcGEpKSkpKSkgKGdvdG8tY2hhciAocG9pbnQtbWluKSkgKHNldHEgcmUgKGZv cm1hdCAiXlxcKisgLipcXDwlc1xcPiIgb3JnLWNvbW1lbnQtc3RyaW5nKSkgKHdoaWxlIChyZS1z ZWFyY2gtZm9yd2FyZCByZSBuaWwgdCkgKGlmIChsZXQgKChzYXZlLW1hdGNoLWRhdGEtaW50ZXJu YWwgKG1hdGNoLWRhdGEpKSkgKHVud2luZC1wcm90ZWN0IChwcm9nbiAob3JnLWluLWNvbW1lbnRl ZC1oZWFkaW5nLXAgdCkpIChzZXQtbWF0Y2gtZGF0YSBzYXZlLW1hdGNoLWRhdGEtaW50ZXJuYWwg J2V2YXBvcmF0ZSkpKSAocHJvZ24gKGFkZC10ZXh0LXByb3BlcnRpZXMgKG1hdGNoLWJlZ2lubmlu ZyAwKSAob3JnLWVuZC1vZi1zdWJ0cmVlIHQpIHBjKSkpKSkpIChpZiBtb2RpZmllZCBuaWwgKHJl c3RvcmUtYnVmZmVyLW1vZGlmaWVkLXAgbmlsKSkpKSAoZ290by1jaGFyIHBvcykpIChzZXRxIC0t ZG9saXN0LXRhaWwtLSAoY2RyIC0tZG9saXN0LXRhaWwtLSkpKSkpKQogIChzYXZlLWV4Y3Vyc2lv biAoc2F2ZS1yZXN0cmljdGlvbiAobGV0ICgoLS1kb2xpc3QtdGFpbC0tIGZpbGVzKSkgKHdoaWxl IC0tZG9saXN0LXRhaWwtLSAobGV0ICgoZmlsZSAoY2FyIC0tZG9saXN0LXRhaWwtLSkpKSAoY2F0 Y2ggJ25leHRmaWxlIChpZiAoYnVmZmVycCBmaWxlKSAoc2V0LWJ1ZmZlciBmaWxlKSAob3JnLWNo ZWNrLWFnZW5kYS1maWxlIGZpbGUpIChzZXQtYnVmZmVyIChvcmctZ2V0LWFnZW5kYS1maWxlLWJ1 ZmZlciBmaWxlKSkpICh3aWRlbikgKG9yZy1zZXQtcmVnZXhwcy1hbmQtb3B0aW9ucyAndGFncy1v bmx5KSAoc2V0cSBwb3MgKHBvaW50KSkgKG9yIChtZW1xICdjYXRlZ29yeSBvcmctYWdlbmRhLWln bm9yZS1wcm9wZXJ0aWVzKSAob3JnLXJlZnJlc2gtY2F0ZWdvcnktcHJvcGVydGllcykpIChvciAo bWVtcSAnc3RhdHMgb3JnLWFnZW5kYS1pZ25vcmUtcHJvcGVydGllcykgKG9yZy1yZWZyZXNoLXN0 YXRzLXByb3BlcnRpZXMpKSAob3IgKG1lbXEgJ2VmZm9ydCBvcmctYWdlbmRhLWlnbm9yZS1wcm9w ZXJ0aWVzKSAob3JnLXJlZnJlc2gtZWZmb3J0LXByb3BlcnRpZXMpKSAob3IgKG1lbXEgJ2FwcHQg b3JnLWFnZW5kYS1pZ25vcmUtcHJvcGVydGllcykgKG9yZy1yZWZyZXNoLXByb3BlcnRpZXMgIkFQ UFRfV0FSTlRJTUUiICdvcmctYXBwdC13YXJudGltZSkpIChzZXRxIG9yZy10b2RvLWtleXdvcmRz LWZvci1hZ2VuZGEgKGFwcGVuZCBvcmctdG9kby1rZXl3b3Jkcy1mb3ItYWdlbmRhIG9yZy10b2Rv LWtleXdvcmRzLTEpKSAoc2V0cSBvcmctZG9uZS1rZXl3b3Jkcy1mb3ItYWdlbmRhIChhcHBlbmQg b3JnLWRvbmUta2V5d29yZHMtZm9yLWFnZW5kYSBvcmctZG9uZS1rZXl3b3JkcykpIChzZXRxIG9y Zy10b2RvLWtleXdvcmQtYWxpc3QtZm9yLWFnZW5kYSAoYXBwZW5kIG9yZy10b2RvLWtleXdvcmQt YWxpc3QtZm9yLWFnZW5kYSBvcmctdG9kby1rZXktYWxpc3QpKSAoc2V0cSBvcmctdGFnLWFsaXN0 LWZvci1hZ2VuZGEgKG9yZy11bmlxdWlmeSAoYXBwZW5kIG9yZy10YWctYWxpc3QtZm9yLWFnZW5k YSBvcmctY3VycmVudC10YWctYWxpc3QpKSkgKGlmIG9yZy1ncm91cC10YWdzIChwcm9nbiAobGV0 ICgoLS1kb2xpc3QtdGFpbC0tIG9yZy10YWctZ3JvdXBzLWFsaXN0KSkgKHdoaWxlIC0tZG9saXN0 LXRhaWwtLSAobGV0ICgoYWxpc3QgKGNhciAtLWRvbGlzdC10YWlsLS0pKSkgKGxldCAoKG9sZCAo YXNzb2MgKGNhciBhbGlzdCkgb3JnLXRhZy1ncm91cHMtYWxpc3QtZm9yLWFnZW5kYSkpKSAoaWYg b2xkIChzZXRjZHIgb2xkIChvcmctdW5pcXVpZnkgKGFwcGVuZCAoY2RyIG9sZCkgKGNkciBhbGlz dCkpKSkgKHNldHEgb3JnLXRhZy1ncm91cHMtYWxpc3QtZm9yLWFnZW5kYSAoY29ucyBhbGlzdCBv cmctdGFnLWdyb3Vwcy1hbGlzdC1mb3ItYWdlbmRhKSkpKSAoc2V0cSAtLWRvbGlzdC10YWlsLS0g KGNkciAtLWRvbGlzdC10YWlsLS0pKSkpKSkpIChsZXQqICgobW9kaWZpZWQgKGJ1ZmZlci1tb2Rp ZmllZC1wKSkgKGJ1ZmZlci11bmRvLWxpc3QgdCkgKGluaGliaXQtcmVhZC1vbmx5IHQpIChpbmhp Yml0LW1vZGlmaWNhdGlvbi1ob29rcyB0KSkgKHVud2luZC1wcm90ZWN0IChwcm9nbiAoc2F2ZS1l eGN1cnNpb24gKHJlbW92ZS10ZXh0LXByb3BlcnRpZXMgKHBvaW50LW1pbikgKHBvaW50LW1heCkg cGFsbCkgKGlmIG9yZy1hZ2VuZGEtc2tpcC1hcmNoaXZlZC10cmVlcyAocHJvZ24gKGdvdG8tY2hh ciAocG9pbnQtbWluKSkgKHdoaWxlIChyZS1zZWFyY2gtZm9yd2FyZCByZWEgbmlsIHQpIChpZiAo b3JnLWF0LWhlYWRpbmctcCB0KSAocHJvZ24gKGFkZC10ZXh0LXByb3BlcnRpZXMgKHBvaW50LWF0 LWJvbCkgKG9yZy1lbmQtb2Ytc3VidHJlZSB0KSBwYSkpKSkpKSAoZ290by1jaGFyIChwb2ludC1t aW4pKSAoc2V0cSByZSAoZm9ybWF0ICJeXFwqKyAuKlxcPCVzXFw+IiBvcmctY29tbWVudC1zdHJp bmcpKSAod2hpbGUgKHJlLXNlYXJjaC1mb3J3YXJkIHJlIG5pbCB0KSAoaWYgKGxldCAoKHNhdmUt bWF0Y2gtZGF0YS1pbnRlcm5hbCAobWF0Y2gtZGF0YSkpKSAodW53aW5kLXByb3RlY3QgKHByb2du IChvcmctaW4tY29tbWVudGVkLWhlYWRpbmctcCB0KSkgKHNldC1tYXRjaC1kYXRhIHNhdmUtbWF0 Y2gtZGF0YS1pbnRlcm5hbCAnZXZhcG9yYXRlKSkpIChwcm9nbiAoYWRkLXRleHQtcHJvcGVydGll cyAobWF0Y2gtYmVnaW5uaW5nIDApIChvcmctZW5kLW9mLXN1YnRyZWUgdCkgcGMpKSkpKSkgKGlm IG1vZGlmaWVkIG5pbCAocmVzdG9yZS1idWZmZXItbW9kaWZpZWQtcCBuaWwpKSkpIChnb3RvLWNo YXIgcG9zKSkgKHNldHEgLS1kb2xpc3QtdGFpbC0tIChjZHIgLS1kb2xpc3QtdGFpbC0tKSkpKSkp KQogIChsZXQgKChwYSAnKDpvcmctYXJjaGl2ZWQgdCkpIChwYyAnKDpvcmctY29tbWVudCB0KSkg KHBhbGwgJyg6b3JnLWFyY2hpdmVkIHQgOm9yZy1jb21tZW50IHQpKSAoaW5oaWJpdC1yZWFkLW9u bHkgdCkgKG9yZy1pbmhpYml0LXN0YXJ0dXAgb3JnLWFnZW5kYS1pbmhpYml0LXN0YXJ0dXApIChy ZWEgKGNvbmNhdCAiOiIgb3JnLWFyY2hpdmUtdGFnICI6IikpIHJlIHBvcykgKHNldHEgb3JnLXRh Zy1hbGlzdC1mb3ItYWdlbmRhIG5pbCBvcmctdGFnLWdyb3Vwcy1hbGlzdC1mb3ItYWdlbmRhIG5p bCkgKHNhdmUtZXhjdXJzaW9uIChzYXZlLXJlc3RyaWN0aW9uIChsZXQgKCgtLWRvbGlzdC10YWls LS0gZmlsZXMpKSAod2hpbGUgLS1kb2xpc3QtdGFpbC0tIChsZXQgKChmaWxlIChjYXIgLS1kb2xp c3QtdGFpbC0tKSkpIChjYXRjaCAnbmV4dGZpbGUgKGlmIChidWZmZXJwIGZpbGUpIChzZXQtYnVm ZmVyIGZpbGUpIChvcmctY2hlY2stYWdlbmRhLWZpbGUgZmlsZSkgKHNldC1idWZmZXIgKG9yZy1n ZXQtYWdlbmRhLWZpbGUtYnVmZmVyIGZpbGUpKSkgKHdpZGVuKSAob3JnLXNldC1yZWdleHBzLWFu ZC1vcHRpb25zICd0YWdzLW9ubHkpIChzZXRxIHBvcyAocG9pbnQpKSAob3IgKG1lbXEgJ2NhdGVn b3J5IG9yZy1hZ2VuZGEtaWdub3JlLXByb3BlcnRpZXMpIChvcmctcmVmcmVzaC1jYXRlZ29yeS1w cm9wZXJ0aWVzKSkgKG9yIChtZW1xICdzdGF0cyBvcmctYWdlbmRhLWlnbm9yZS1wcm9wZXJ0aWVz KSAob3JnLXJlZnJlc2gtc3RhdHMtcHJvcGVydGllcykpIChvciAobWVtcSAnZWZmb3J0IG9yZy1h Z2VuZGEtaWdub3JlLXByb3BlcnRpZXMpIChvcmctcmVmcmVzaC1lZmZvcnQtcHJvcGVydGllcykp IChvciAobWVtcSAnYXBwdCBvcmctYWdlbmRhLWlnbm9yZS1wcm9wZXJ0aWVzKSAob3JnLXJlZnJl c2gtcHJvcGVydGllcyAiQVBQVF9XQVJOVElNRSIgJ29yZy1hcHB0LXdhcm50aW1lKSkgKHNldHEg b3JnLXRvZG8ta2V5d29yZHMtZm9yLWFnZW5kYSAoYXBwZW5kIG9yZy10b2RvLWtleXdvcmRzLWZv ci1hZ2VuZGEgb3JnLXRvZG8ta2V5d29yZHMtMSkpIChzZXRxIG9yZy1kb25lLWtleXdvcmRzLWZv ci1hZ2VuZGEgKGFwcGVuZCBvcmctZG9uZS1rZXl3b3Jkcy1mb3ItYWdlbmRhIG9yZy1kb25lLWtl eXdvcmRzKSkgKHNldHEgb3JnLXRvZG8ta2V5d29yZC1hbGlzdC1mb3ItYWdlbmRhIChhcHBlbmQg b3JnLXRvZG8ta2V5d29yZC1hbGlzdC1mb3ItYWdlbmRhIG9yZy10b2RvLWtleS1hbGlzdCkpIChz ZXRxIG9yZy10YWctYWxpc3QtZm9yLWFnZW5kYSAob3JnLXVuaXF1aWZ5IChhcHBlbmQgb3JnLXRh Zy1hbGlzdC1mb3ItYWdlbmRhIG9yZy1jdXJyZW50LXRhZy1hbGlzdCkpKSAoaWYgb3JnLWdyb3Vw LXRhZ3MgKHByb2duIChsZXQgKCgtLWRvbGlzdC10YWlsLS0gb3JnLXRhZy1ncm91cHMtYWxpc3Qp KSAod2hpbGUgLS1kb2xpc3QtdGFpbC0tIChsZXQgKChhbGlzdCAoY2FyIC0tZG9saXN0LXRhaWwt LSkpKSAobGV0ICgob2xkIChhc3NvYyAoY2FyIGFsaXN0KSBvcmctdGFnLWdyb3Vwcy1hbGlzdC1m b3ItYWdlbmRhKSkpIChpZiBvbGQgKHNldGNkciBvbGQgKG9yZy11bmlxdWlmeSAoYXBwZW5kIChj ZHIgb2xkKSAoY2RyIGFsaXN0KSkpKSAoc2V0cSBvcmctdGFnLWdyb3Vwcy1hbGlzdC1mb3ItYWdl bmRhIChjb25zIGFsaXN0IG9yZy10YWctZ3JvdXBzLWFsaXN0LWZvci1hZ2VuZGEpKSkpIChzZXRx IC0tZG9saXN0LXRhaWwtLSAoY2RyIC0tZG9saXN0LXRhaWwtLSkpKSkpKSkgKGxldCogKChtb2Rp ZmllZCAoYnVmZmVyLW1vZGlmaWVkLXApKSAoYnVmZmVyLXVuZG8tbGlzdCB0KSAoaW5oaWJpdC1y ZWFkLW9ubHkgdCkgKGluaGliaXQtbW9kaWZpY2F0aW9uLWhvb2tzIHQpKSAodW53aW5kLXByb3Rl Y3QgKHByb2duIChzYXZlLWV4Y3Vyc2lvbiAocmVtb3ZlLXRleHQtcHJvcGVydGllcyAocG9pbnQt bWluKSAocG9pbnQtbWF4KSBwYWxsKSAoaWYgb3JnLWFnZW5kYS1za2lwLWFyY2hpdmVkLXRyZWVz IChwcm9nbiAoZ290by1jaGFyIChwb2ludC1taW4pKSAod2hpbGUgKHJlLXNlYXJjaC1mb3J3YXJk IHJlYSBuaWwgdCkgKGlmIChvcmctYXQtaGVhZGluZy1wIHQpIChwcm9nbiAoYWRkLXRleHQtcHJv cGVydGllcyAocG9pbnQtYXQtYm9sKSAob3JnLWVuZC1vZi1zdWJ0cmVlIHQpIHBhKSkpKSkpIChn b3RvLWNoYXIgKHBvaW50LW1pbikpIChzZXRxIHJlIChmb3JtYXQgIl5cXCorIC4qXFw8JXNcXD4i IG9yZy1jb21tZW50LXN0cmluZykpICh3aGlsZSAocmUtc2VhcmNoLWZvcndhcmQgcmUgbmlsIHQp IChpZiAobGV0ICgoc2F2ZS1tYXRjaC1kYXRhLWludGVybmFsIChtYXRjaC1kYXRhKSkpICh1bndp bmQtcHJvdGVjdCAocHJvZ24gKG9yZy1pbi1jb21tZW50ZWQtaGVhZGluZy1wIHQpKSAoc2V0LW1h dGNoLWRhdGEgc2F2ZS1tYXRjaC1kYXRhLWludGVybmFsICdldmFwb3JhdGUpKSkgKHByb2duIChh ZGQtdGV4dC1wcm9wZXJ0aWVzIChtYXRjaC1iZWdpbm5pbmcgMCkgKG9yZy1lbmQtb2Ytc3VidHJl ZSB0KSBwYykpKSkpKSAoaWYgbW9kaWZpZWQgbmlsIChyZXN0b3JlLWJ1ZmZlci1tb2RpZmllZC1w IG5pbCkpKSkgKGdvdG8tY2hhciBwb3MpKSAoc2V0cSAtLWRvbGlzdC10YWlsLS0gKGNkciAtLWRv bGlzdC10YWlsLS0pKSkpKSkpIChzZXRxIG9yZy10b2RvLWtleXdvcmRzLWZvci1hZ2VuZGEgKG9y Zy11bmlxdWlmeSBvcmctdG9kby1rZXl3b3Jkcy1mb3ItYWdlbmRhKSkgKHNldHEgb3JnLXRvZG8t a2V5d29yZC1hbGlzdC1mb3ItYWdlbmRhIChvcmctdW5pcXVpZnkgb3JnLXRvZG8ta2V5d29yZC1h bGlzdC1mb3ItYWdlbmRhKSkpCiAgb3JnLWFnZW5kYS1wcmVwYXJlLWJ1ZmZlcnMoKCIvaG9tZS9m cmFuY2lzdi90bXAvZXN0cGx1cy5vcmciKSkKICAocHJvZ24gKG9yZy1hZ2VuZGEtcHJlcGFyZS1i dWZmZXJzIChhbmQgYnVmZmVyLWZpbGUtbmFtZSAobGlzdCBidWZmZXItZmlsZS1uYW1lKSkpIChz ZXRxIHJlcyAob3JnLXNjYW4tdGFncyBmdW5jIG1hdGNoZXIgb3JnLS1tYXRjaGVyLXRhZ3MtdG9k by1vbmx5IHN0YXJ0LWxldmVsKSkpCiAgKGlmIChub3Qgc2NvcGUpIChwcm9nbiAob3JnLWFnZW5k YS1wcmVwYXJlLWJ1ZmZlcnMgKGFuZCBidWZmZXItZmlsZS1uYW1lIChsaXN0IGJ1ZmZlci1maWxl LW5hbWUpKSkgKHNldHEgcmVzIChvcmctc2Nhbi10YWdzIGZ1bmMgbWF0Y2hlciBvcmctLW1hdGNo ZXItdGFncy10b2RvLW9ubHkgc3RhcnQtbGV2ZWwpKSkgKGNvbmQgKChhbmQgc2NvcGUgKGxpc3Rw IHNjb3BlKSAoc3ltYm9scCAoY2FyIHNjb3BlKSkpIChzZXRxIHNjb3BlIChldmFsIHNjb3BlKSkp ICgoZXEgc2NvcGUgJ2FnZW5kYSkgKHNldHEgc2NvcGUgKG9yZy1hZ2VuZGEtZmlsZXMgdCkpKSAo KGVxIHNjb3BlICdhZ2VuZGEtd2l0aC1hcmNoaXZlcykgKHNldHEgc2NvcGUgKG9yZy1hZ2VuZGEt ZmlsZXMgdCkpIChzZXRxIHNjb3BlIChvcmctYWRkLWFyY2hpdmUtZmlsZXMgc2NvcGUpKSkgKChl cSBzY29wZSAnZmlsZSkgKHNldHEgc2NvcGUgKGFuZCBidWZmZXItZmlsZS1uYW1lIChsaXN0IGJ1 ZmZlci1maWxlLW5hbWUpKSkpICgoZXEgc2NvcGUgJ2ZpbGUtd2l0aC1hcmNoaXZlcykgKHNldHEg c2NvcGUgKG9yZy1hZGQtYXJjaGl2ZS1maWxlcyAobGlzdCAoYnVmZmVyLWZpbGUtbmFtZSkpKSkp KSAob3JnLWFnZW5kYS1wcmVwYXJlLWJ1ZmZlcnMgc2NvcGUpIChsZXQgKCgtLWRvbGlzdC10YWls LS0gc2NvcGUpKSAod2hpbGUgLS1kb2xpc3QtdGFpbC0tIChsZXQgKChmaWxlIChjYXIgLS1kb2xp c3QtdGFpbC0tKSkpIChzYXZlLWN1cnJlbnQtYnVmZmVyIChzZXQtYnVmZmVyIChvcmctZmluZC1i YXNlLWJ1ZmZlci12aXNpdGluZyBmaWxlKSkgKHNhdmUtZXhjdXJzaW9uIChzYXZlLXJlc3RyaWN0 aW9uICh3aWRlbikgKGdvdG8tY2hhciAocG9pbnQtbWluKSkgKHNldHEgcmVzIChhcHBlbmQgcmVz IChvcmctc2Nhbi10YWdzIGZ1bmMgbWF0Y2hlciBvcmctLW1hdGNoZXItdGFncy10b2RvLW9ubHkp KSkpKSkgKHNldHEgLS1kb2xpc3QtdGFpbC0tIChjZHIgLS1kb2xpc3QtdGFpbC0tKSkpKSkpCiAg KHNhdmUtcmVzdHJpY3Rpb24gKGNvbmQgKChlcSBzY29wZSAndHJlZSkgKG9yZy1iYWNrLXRvLWhl YWRpbmcgdCkgKG9yZy1uYXJyb3ctdG8tc3VidHJlZSkgKHNldHEgc2NvcGUgbmlsKSkgKChhbmQg KG9yIChlcSBzY29wZSAncmVnaW9uKSAoZXEgc2NvcGUgJ3JlZ2lvbi1zdGFydC1sZXZlbCkpIChv cmctcmVnaW9uLWFjdGl2ZS1wKSkgKGlmIHN0YXJ0LWxldmVsIChwcm9nbiAoc2F2ZS1leGN1cnNp b24gKGdvdG8tY2hhciAocmVnaW9uLWJlZ2lubmluZykpIChpZiAob3JnLWF0LWhlYWRpbmctcCkg bmlsIChvdXRsaW5lLW5leHQtaGVhZGluZykpIChzZXRxIHN0YXJ0LWxldmVsIChvcmctY3VycmVu dC1sZXZlbCkpKSkpIChuYXJyb3ctdG8tcmVnaW9uIChyZWdpb24tYmVnaW5uaW5nKSAoc2F2ZS1l eGN1cnNpb24gKGdvdG8tY2hhciAocmVnaW9uLWVuZCkpIChpZiAoYW5kIChib2xwKSAob3JnLWF0 LWhlYWRpbmctcCkpIG5pbCAob3V0bGluZS1uZXh0LWhlYWRpbmcpKSAocG9pbnQpKSkgKHNldHEg c2NvcGUgbmlsKSkpIChpZiAobm90IHNjb3BlKSAocHJvZ24gKG9yZy1hZ2VuZGEtcHJlcGFyZS1i dWZmZXJzIChhbmQgYnVmZmVyLWZpbGUtbmFtZSAobGlzdCBidWZmZXItZmlsZS1uYW1lKSkpIChz ZXRxIHJlcyAob3JnLXNjYW4tdGFncyBmdW5jIG1hdGNoZXIgb3JnLS1tYXRjaGVyLXRhZ3MtdG9k by1vbmx5IHN0YXJ0LWxldmVsKSkpIChjb25kICgoYW5kIHNjb3BlIChsaXN0cCBzY29wZSkgKHN5 bWJvbHAgKGNhciBzY29wZSkpKSAoc2V0cSBzY29wZSAoZXZhbCBzY29wZSkpKSAoKGVxIHNjb3Bl ICdhZ2VuZGEpIChzZXRxIHNjb3BlIChvcmctYWdlbmRhLWZpbGVzIHQpKSkgKChlcSBzY29wZSAn YWdlbmRhLXdpdGgtYXJjaGl2ZXMpIChzZXRxIHNjb3BlIChvcmctYWdlbmRhLWZpbGVzIHQpKSAo c2V0cSBzY29wZSAob3JnLWFkZC1hcmNoaXZlLWZpbGVzIHNjb3BlKSkpICgoZXEgc2NvcGUgJ2Zp bGUpIChzZXRxIHNjb3BlIChhbmQgYnVmZmVyLWZpbGUtbmFtZSAobGlzdCBidWZmZXItZmlsZS1u YW1lKSkpKSAoKGVxIHNjb3BlICdmaWxlLXdpdGgtYXJjaGl2ZXMpIChzZXRxIHNjb3BlIChvcmct YWRkLWFyY2hpdmUtZmlsZXMgKGxpc3QgKGJ1ZmZlci1maWxlLW5hbWUpKSkpKSkgKG9yZy1hZ2Vu ZGEtcHJlcGFyZS1idWZmZXJzIHNjb3BlKSAobGV0ICgoLS1kb2xpc3QtdGFpbC0tIHNjb3BlKSkg KHdoaWxlIC0tZG9saXN0LXRhaWwtLSAobGV0ICgoZmlsZSAoY2FyIC0tZG9saXN0LXRhaWwtLSkp KSAoc2F2ZS1jdXJyZW50LWJ1ZmZlciAoc2V0LWJ1ZmZlciAob3JnLWZpbmQtYmFzZS1idWZmZXIt dmlzaXRpbmcgZmlsZSkpIChzYXZlLWV4Y3Vyc2lvbiAoc2F2ZS1yZXN0cmljdGlvbiAod2lkZW4p IChnb3RvLWNoYXIgKHBvaW50LW1pbikpIChzZXRxIHJlcyAoYXBwZW5kIHJlcyAob3JnLXNjYW4t dGFncyBmdW5jIG1hdGNoZXIgb3JnLS1tYXRjaGVyLXRhZ3MtdG9kby1vbmx5KSkpKSkpIChzZXRx IC0tZG9saXN0LXRhaWwtLSAoY2RyIC0tZG9saXN0LXRhaWwtLSkpKSkpKSkKICAoc2F2ZS1leGN1 cnNpb24gKHNhdmUtcmVzdHJpY3Rpb24gKGNvbmQgKChlcSBzY29wZSAndHJlZSkgKG9yZy1iYWNr LXRvLWhlYWRpbmcgdCkgKG9yZy1uYXJyb3ctdG8tc3VidHJlZSkgKHNldHEgc2NvcGUgbmlsKSkg KChhbmQgKG9yIChlcSBzY29wZSAncmVnaW9uKSAoZXEgc2NvcGUgJ3JlZ2lvbi1zdGFydC1sZXZl bCkpIChvcmctcmVnaW9uLWFjdGl2ZS1wKSkgKGlmIHN0YXJ0LWxldmVsIChwcm9nbiAoc2F2ZS1l eGN1cnNpb24gKGdvdG8tY2hhciAocmVnaW9uLWJlZ2lubmluZykpIChpZiAob3JnLWF0LWhlYWRp bmctcCkgbmlsIChvdXRsaW5lLW5leHQtaGVhZGluZykpIChzZXRxIHN0YXJ0LWxldmVsIChvcmct Y3VycmVudC1sZXZlbCkpKSkpIChuYXJyb3ctdG8tcmVnaW9uIChyZWdpb24tYmVnaW5uaW5nKSAo c2F2ZS1leGN1cnNpb24gKGdvdG8tY2hhciAocmVnaW9uLWVuZCkpIChpZiAoYW5kIChib2xwKSAo b3JnLWF0LWhlYWRpbmctcCkpIG5pbCAob3V0bGluZS1uZXh0LWhlYWRpbmcpKSAocG9pbnQpKSkg KHNldHEgc2NvcGUgbmlsKSkpIChpZiAobm90IHNjb3BlKSAocHJvZ24gKG9yZy1hZ2VuZGEtcHJl cGFyZS1idWZmZXJzIChhbmQgYnVmZmVyLWZpbGUtbmFtZSAobGlzdCBidWZmZXItZmlsZS1uYW1l KSkpIChzZXRxIHJlcyAob3JnLXNjYW4tdGFncyBmdW5jIG1hdGNoZXIgb3JnLS1tYXRjaGVyLXRh Z3MtdG9kby1vbmx5IHN0YXJ0LWxldmVsKSkpIChjb25kICgoYW5kIHNjb3BlIChsaXN0cCBzY29w ZSkgKHN5bWJvbHAgKGNhciBzY29wZSkpKSAoc2V0cSBzY29wZSAoZXZhbCBzY29wZSkpKSAoKGVx IHNjb3BlICdhZ2VuZGEpIChzZXRxIHNjb3BlIChvcmctYWdlbmRhLWZpbGVzIHQpKSkgKChlcSBz Y29wZSAnYWdlbmRhLXdpdGgtYXJjaGl2ZXMpIChzZXRxIHNjb3BlIChvcmctYWdlbmRhLWZpbGVz IHQpKSAoc2V0cSBzY29wZSAob3JnLWFkZC1hcmNoaXZlLWZpbGVzIHNjb3BlKSkpICgoZXEgc2Nv cGUgJ2ZpbGUpIChzZXRxIHNjb3BlIChhbmQgYnVmZmVyLWZpbGUtbmFtZSAobGlzdCBidWZmZXIt ZmlsZS1uYW1lKSkpKSAoKGVxIHNjb3BlICdmaWxlLXdpdGgtYXJjaGl2ZXMpIChzZXRxIHNjb3Bl IChvcmctYWRkLWFyY2hpdmUtZmlsZXMgKGxpc3QgKGJ1ZmZlci1maWxlLW5hbWUpKSkpKSkgKG9y Zy1hZ2VuZGEtcHJlcGFyZS1idWZmZXJzIHNjb3BlKSAobGV0ICgoLS1kb2xpc3QtdGFpbC0tIHNj b3BlKSkgKHdoaWxlIC0tZG9saXN0LXRhaWwtLSAobGV0ICgoZmlsZSAoY2FyIC0tZG9saXN0LXRh aWwtLSkpKSAoc2F2ZS1jdXJyZW50LWJ1ZmZlciAoc2V0LWJ1ZmZlciAob3JnLWZpbmQtYmFzZS1i dWZmZXItdmlzaXRpbmcgZmlsZSkpIChzYXZlLWV4Y3Vyc2lvbiAoc2F2ZS1yZXN0cmljdGlvbiAo d2lkZW4pIChnb3RvLWNoYXIgKHBvaW50LW1pbikpIChzZXRxIHJlcyAoYXBwZW5kIHJlcyAob3Jn LXNjYW4tdGFncyBmdW5jIG1hdGNoZXIgb3JnLS1tYXRjaGVyLXRhZ3MtdG9kby1vbmx5KSkpKSkp IChzZXRxIC0tZG9saXN0LXRhaWwtLSAoY2RyIC0tZG9saXN0LXRhaWwtLSkpKSkpKSkpCiAgKGxl dCogKChvcmctYWdlbmRhLWFyY2hpdmVzLW1vZGUgbmlsKSAob3JnLWFnZW5kYS1za2lwLWFyY2hp dmVkLXRyZWVzIChtZW1xICdhcmNoaXZlIHNraXApKSAob3JnLWFnZW5kYS1za2lwLWNvbW1lbnQt dHJlZXMgKG1lbXEgJ2NvbW1lbnQgc2tpcCkpIChvcmctYWdlbmRhLXNraXAtZnVuY3Rpb24gKGNh ciAob3JnLWRlbGV0ZS1hbGwgJyhjb21tZW50IGFyY2hpdmUpIHNraXApKSkgKG9yZy10YWdzLW1h dGNoLWxpc3Qtc3VibGV2ZWxzIHQpIChzdGFydC1sZXZlbCAoZXEgc2NvcGUgJ3JlZ2lvbi1zdGFy dC1sZXZlbCkpIG1hdGNoZXIgcmVzIG9yZy10b2RvLWtleXdvcmRzLWZvci1hZ2VuZGEgb3JnLWRv bmUta2V5d29yZHMtZm9yLWFnZW5kYSBvcmctdG9kby1rZXl3b3JkLWFsaXN0LWZvci1hZ2VuZGEg b3JnLXRhZy1hbGlzdC1mb3ItYWdlbmRhIG9yZy0tbWF0Y2hlci10YWdzLXRvZG8tb25seSkgKGNv bmQgKChlcSBtYXRjaCB0KSAoc2V0cSBtYXRjaGVyIHQpKSAoKGVxIG1hdGNoIG5pbCkgKHNldHEg bWF0Y2hlciB0KSkgKHQgKHNldHEgbWF0Y2hlciAoaWYgbWF0Y2ggKGNkciAob3JnLW1ha2UtdGFn cy1tYXRjaGVyIG1hdGNoKSkgdCkpKSkgKHNhdmUtZXhjdXJzaW9uIChzYXZlLXJlc3RyaWN0aW9u IChjb25kICgoZXEgc2NvcGUgJ3RyZWUpIChvcmctYmFjay10by1oZWFkaW5nIHQpIChvcmctbmFy cm93LXRvLXN1YnRyZWUpIChzZXRxIHNjb3BlIG5pbCkpICgoYW5kIChvciAoZXEgc2NvcGUgJ3Jl Z2lvbikgKGVxIHNjb3BlICdyZWdpb24tc3RhcnQtbGV2ZWwpKSAob3JnLXJlZ2lvbi1hY3RpdmUt cCkpIChpZiBzdGFydC1sZXZlbCAocHJvZ24gKHNhdmUtZXhjdXJzaW9uIChnb3RvLWNoYXIgKHJl Z2lvbi1iZWdpbm5pbmcpKSAoaWYgKG9yZy1hdC1oZWFkaW5nLXApIG5pbCAob3V0bGluZS1uZXh0 LWhlYWRpbmcpKSAoc2V0cSBzdGFydC1sZXZlbCAob3JnLWN1cnJlbnQtbGV2ZWwpKSkpKSAobmFy cm93LXRvLXJlZ2lvbiAocmVnaW9uLWJlZ2lubmluZykgKHNhdmUtZXhjdXJzaW9uIChnb3RvLWNo YXIgKHJlZ2lvbi1lbmQpKSAoaWYgKGFuZCAoYm9scCkgKG9yZy1hdC1oZWFkaW5nLXApKSBuaWwg KG91dGxpbmUtbmV4dC1oZWFkaW5nKSkgKHBvaW50KSkpIChzZXRxIHNjb3BlIG5pbCkpKSAoaWYg KG5vdCBzY29wZSkgKHByb2duIChvcmctYWdlbmRhLXByZXBhcmUtYnVmZmVycyAoYW5kIGJ1ZmZl ci1maWxlLW5hbWUgKGxpc3QgYnVmZmVyLWZpbGUtbmFtZSkpKSAoc2V0cSByZXMgKG9yZy1zY2Fu LXRhZ3MgZnVuYyBtYXRjaGVyIG9yZy0tbWF0Y2hlci10YWdzLXRvZG8tb25seSBzdGFydC1sZXZl bCkpKSAoY29uZCAoKGFuZCBzY29wZSAobGlzdHAgc2NvcGUpIChzeW1ib2xwIChjYXIgc2NvcGUp KSkgKHNldHEgc2NvcGUgKGV2YWwgc2NvcGUpKSkgKChlcSBzY29wZSAnYWdlbmRhKSAoc2V0cSBz Y29wZSAob3JnLWFnZW5kYS1maWxlcyB0KSkpICgoZXEgc2NvcGUgJ2FnZW5kYS13aXRoLWFyY2hp dmVzKSAoc2V0cSBzY29wZSAob3JnLWFnZW5kYS1maWxlcyB0KSkgKHNldHEgc2NvcGUgKG9yZy1h ZGQtYXJjaGl2ZS1maWxlcyBzY29wZSkpKSAoKGVxIHNjb3BlICdmaWxlKSAoc2V0cSBzY29wZSAo YW5kIGJ1ZmZlci1maWxlLW5hbWUgKGxpc3QgYnVmZmVyLWZpbGUtbmFtZSkpKSkgKChlcSBzY29w ZSAnZmlsZS13aXRoLWFyY2hpdmVzKSAoc2V0cSBzY29wZSAob3JnLWFkZC1hcmNoaXZlLWZpbGVz IChsaXN0IChidWZmZXItZmlsZS1uYW1lKSkpKSkpIChvcmctYWdlbmRhLXByZXBhcmUtYnVmZmVy cyBzY29wZSkgKGxldCAoKC0tZG9saXN0LXRhaWwtLSBzY29wZSkpICh3aGlsZSAtLWRvbGlzdC10 YWlsLS0gKGxldCAoKGZpbGUgKGNhciAtLWRvbGlzdC10YWlsLS0pKSkgKHNhdmUtY3VycmVudC1i dWZmZXIgKHNldC1idWZmZXIgKG9yZy1maW5kLWJhc2UtYnVmZmVyLXZpc2l0aW5nIGZpbGUpKSAo c2F2ZS1leGN1cnNpb24gKHNhdmUtcmVzdHJpY3Rpb24gKHdpZGVuKSAoZ290by1jaGFyIChwb2lu dC1taW4pKSAoc2V0cSByZXMgKGFwcGVuZCByZXMgKG9yZy1zY2FuLXRhZ3MgZnVuYyBtYXRjaGVy IG9yZy0tbWF0Y2hlci10YWdzLXRvZG8tb25seSkpKSkpKSAoc2V0cSAtLWRvbGlzdC10YWlsLS0g KGNkciAtLWRvbGlzdC10YWlsLS0pKSkpKSkpKSByZXMpCiAgKGlmIChhbmQgKG9yIChlcSBzY29w ZSAncmVnaW9uKSAoZXEgc2NvcGUgJ3JlZ2lvbi1zdGFydC1sZXZlbCkpIChub3QgKG9yZy1yZWdp b24tYWN0aXZlLXApKSkgbmlsIChsZXQqICgob3JnLWFnZW5kYS1hcmNoaXZlcy1tb2RlIG5pbCkg KG9yZy1hZ2VuZGEtc2tpcC1hcmNoaXZlZC10cmVlcyAobWVtcSAnYXJjaGl2ZSBza2lwKSkgKG9y Zy1hZ2VuZGEtc2tpcC1jb21tZW50LXRyZWVzIChtZW1xICdjb21tZW50IHNraXApKSAob3JnLWFn ZW5kYS1za2lwLWZ1bmN0aW9uIChjYXIgKG9yZy1kZWxldGUtYWxsICcoY29tbWVudCBhcmNoaXZl KSBza2lwKSkpIChvcmctdGFncy1tYXRjaC1saXN0LXN1YmxldmVscyB0KSAoc3RhcnQtbGV2ZWwg KGVxIHNjb3BlICdyZWdpb24tc3RhcnQtbGV2ZWwpKSBtYXRjaGVyIHJlcyBvcmctdG9kby1rZXl3 b3Jkcy1mb3ItYWdlbmRhIG9yZy1kb25lLWtleXdvcmRzLWZvci1hZ2VuZGEgb3JnLXRvZG8ta2V5 d29yZC1hbGlzdC1mb3ItYWdlbmRhIG9yZy10YWctYWxpc3QtZm9yLWFnZW5kYSBvcmctLW1hdGNo ZXItdGFncy10b2RvLW9ubHkpIChjb25kICgoZXEgbWF0Y2ggdCkgKHNldHEgbWF0Y2hlciB0KSkg KChlcSBtYXRjaCBuaWwpIChzZXRxIG1hdGNoZXIgdCkpICh0IChzZXRxIG1hdGNoZXIgKGlmIG1h dGNoIChjZHIgKG9yZy1tYWtlLXRhZ3MtbWF0Y2hlciBtYXRjaCkpIHQpKSkpIChzYXZlLWV4Y3Vy c2lvbiAoc2F2ZS1yZXN0cmljdGlvbiAoY29uZCAoKGVxIHNjb3BlICd0cmVlKSAob3JnLWJhY2st dG8taGVhZGluZyB0KSAob3JnLW5hcnJvdy10by1zdWJ0cmVlKSAoc2V0cSBzY29wZSBuaWwpKSAo KGFuZCAob3IgKGVxIHNjb3BlICdyZWdpb24pIChlcSBzY29wZSAncmVnaW9uLXN0YXJ0LWxldmVs KSkgKG9yZy1yZWdpb24tYWN0aXZlLXApKSAoaWYgc3RhcnQtbGV2ZWwgKHByb2duIChzYXZlLWV4 Y3Vyc2lvbiAoZ290by1jaGFyIChyZWdpb24tYmVnaW5uaW5nKSkgKGlmIChvcmctYXQtaGVhZGlu Zy1wKSBuaWwgKG91dGxpbmUtbmV4dC1oZWFkaW5nKSkgKHNldHEgc3RhcnQtbGV2ZWwgKG9yZy1j dXJyZW50LWxldmVsKSkpKSkgKG5hcnJvdy10by1yZWdpb24gKHJlZ2lvbi1iZWdpbm5pbmcpIChz YXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIChyZWdpb24tZW5kKSkgKGlmIChhbmQgKGJvbHApIChv cmctYXQtaGVhZGluZy1wKSkgbmlsIChvdXRsaW5lLW5leHQtaGVhZGluZykpIChwb2ludCkpKSAo c2V0cSBzY29wZSBuaWwpKSkgKGlmIChub3Qgc2NvcGUpIChwcm9nbiAob3JnLWFnZW5kYS1wcmVw YXJlLWJ1ZmZlcnMgKGFuZCBidWZmZXItZmlsZS1uYW1lIChsaXN0IGJ1ZmZlci1maWxlLW5hbWUp KSkgKHNldHEgcmVzIChvcmctc2Nhbi10YWdzIGZ1bmMgbWF0Y2hlciBvcmctLW1hdGNoZXItdGFn cy10b2RvLW9ubHkgc3RhcnQtbGV2ZWwpKSkgKGNvbmQgKChhbmQgc2NvcGUgKGxpc3RwIHNjb3Bl KSAoc3ltYm9scCAoY2FyIHNjb3BlKSkpIChzZXRxIHNjb3BlIChldmFsIHNjb3BlKSkpICgoZXEg c2NvcGUgJ2FnZW5kYSkgKHNldHEgc2NvcGUgKG9yZy1hZ2VuZGEtZmlsZXMgdCkpKSAoKGVxIHNj b3BlICdhZ2VuZGEtd2l0aC1hcmNoaXZlcykgKHNldHEgc2NvcGUgKG9yZy1hZ2VuZGEtZmlsZXMg dCkpIChzZXRxIHNjb3BlIChvcmctYWRkLWFyY2hpdmUtZmlsZXMgc2NvcGUpKSkgKChlcSBzY29w ZSAnZmlsZSkgKHNldHEgc2NvcGUgKGFuZCBidWZmZXItZmlsZS1uYW1lIChsaXN0IGJ1ZmZlci1m aWxlLW5hbWUpKSkpICgoZXEgc2NvcGUgJ2ZpbGUtd2l0aC1hcmNoaXZlcykgKHNldHEgc2NvcGUg KG9yZy1hZGQtYXJjaGl2ZS1maWxlcyAobGlzdCAoYnVmZmVyLWZpbGUtbmFtZSkpKSkpKSAob3Jn LWFnZW5kYS1wcmVwYXJlLWJ1ZmZlcnMgc2NvcGUpIChsZXQgKCgtLWRvbGlzdC10YWlsLS0gc2Nv cGUpKSAod2hpbGUgLS1kb2xpc3QtdGFpbC0tIChsZXQgKChmaWxlIChjYXIgLS1kb2xpc3QtdGFp bC0tKSkpIChzYXZlLWN1cnJlbnQtYnVmZmVyIChzZXQtYnVmZmVyIChvcmctZmluZC1iYXNlLWJ1 ZmZlci12aXNpdGluZyBmaWxlKSkgKHNhdmUtZXhjdXJzaW9uIChzYXZlLXJlc3RyaWN0aW9uICh3 aWRlbikgKGdvdG8tY2hhciAocG9pbnQtbWluKSkgKHNldHEgcmVzIChhcHBlbmQgcmVzIChvcmct c2Nhbi10YWdzIGZ1bmMgbWF0Y2hlciBvcmctLW1hdGNoZXItdGFncy10b2RvLW9ubHkpKSkpKSkg KHNldHEgLS1kb2xpc3QtdGFpbC0tIChjZHIgLS1kb2xpc3QtdGFpbC0tKSkpKSkpKSkgcmVzKSkK ICBvcmctbWFwLWVudHJpZXMoI2YoY29tcGlsZWQtZnVuY3Rpb24gKCkgIzxieXRlY29kZSAweGU4 ZTM2MT4pIG5pbCBuaWwgYXJjaGl2ZSkKICBvcmctY29sdW1ucyhuaWwpCiAgZnVuY2FsbC1pbnRl cmFjdGl2ZWx5KG9yZy1jb2x1bW5zIG5pbCkKICBjYWxsLWludGVyYWN0aXZlbHkob3JnLWNvbHVt bnMgbmlsIG5pbCkKICBjb21tYW5kLWV4ZWN1dGUob3JnLWNvbHVtbnMpCg== --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable 1. What exactly did you do? I try to use the low-high estimates with the column attribute {est+} as documented in http://orgmode.org/manual/Column-attributes.html. For that, I tried to assign low and high effort values as in http://thread.gmane.org/gmane.emacs.orgmode/93505/focus=3D93514. The formats I tried: :Effort: +4.0-12.0 :Effort: 4.0-12.0 :Effort: 4-12 :Effort: 4:00-12:00 :Effort: 4:00-1.5d :Effort_Low: 4:00 :Effort_High: 1.5d 2. What did you expect to happen? In the attached estplus.org, when I do `M-x org-columns', I expected to see the column view with the value for {est+}. 3. What happened instead? In the attached estplus.org, when I do `M-x org-columns', I get the error 'Invalid duration format'. I attach the backtrace as well. Automatically generated with `org-submit-bug-report' Emacs : GNU Emacs 27.0.50 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.22= .11) of 2017-11-06 Package: Org mode version 9.1.3 (9.1.3-elpa @ /home/francisv/.emacs.d/elpa/= org-20171116/) current state: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (setq org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode-confi= gure-edit-buffer) org-after-todo-state-change-hook '(org-clock-out-if-current) org-metadown-hook '(org-babel-pop-to-session-maybe) org-clock-out-hook '(org-clock-remove-empty-clock-drawer) org-mode-hook '((closure (org-inlinetask-min-level buffer-face-mode-face org-struc= t-menu org-last-state org-id-track-globally org-clock-start-time texmathp-why remember-data-file org= -agenda-tags-todo-honor-ignore-options iswitchb-temp-buflist calc-embedded-open-mode calc-embedded-open-formula calc-= embedded-close-formula align-mode-rules-list org-export-registered-backends ffap-url-regexp t) nil (add-hook (quote change-major-mode-hook) (quote org-s= how-block-all) (quote append) (quote local))) (closure (*this* org-babel-confirm-evaluate-answer-no t) n= il (add-hook (quote change-major-mode-hook) (quote org-babel= -show-result-all) (quote append) (quote local))) #[0 "\300\301\302\303\304$\207" [add-hook change-major-mod= e-hook org-show-block-all append local] 5] #[0 "\300\301\302\303\304$\207" [add-hook change-major-mod= e-hook org-babel-show-result-all append local] 5] org-babel-result-hide-spec org-babel-hide-all-hashes) org-archive-hook '(org-attach-archive-delete-maybe) org-confirm-elisp-link-function 'yes-or-no-p org-agenda-before-write-hook '(org-agenda-add-entry-text) org-metaup-hook '(org-babel-load-in-session-maybe) org-bibtex-headline-format-function '(closure (org-id-locations org-agenda= -search-view-always-boolean org-agenda-overriding-header t) (entry) (cdr (assq :title entry))) org-babel-pre-tangle-hook '(save-buffer) org-tab-first-hook '(org-babel-hide-result-toggle-maybe org-babel-header-a= rg-expand) org-occur-hook '(org-first-headline-recenter) org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers o= rg-cycle-show-empty-lines org-optimize-window-after-visibility-change) org-speed-command-hook '(org-speed-command-activate org-babel-speed-comman= d-activate) org-confirm-shell-link-function 'yes-or-no-p org-link-parameters '(("id" :follow org-id-open) ("rmail" :follow org-rmai= l-open :store org-rmail-store-link) ("mhe" :follow org-mhe-open :store org-mhe-store-link) ("irc" :fol= low org-irc-visit :store org-irc-store-link) ("info" :follow org-info-open :export org-info-export :store org-i= nfo-store-link) ("gnus" :follow org-gnus-open :store org-gnus-store-link) ("docview" :follow org-docview-open :export org-docview-export :st= ore org-docview-store-link) ("bibtex" :follow org-bibtex-open :store org-bibtex-store-link) ("bbdb" :follow org-bbdb-open :export org-bbdb-export :complete or= g-bbdb-complete-link :store org-bbdb-store-link) ("w3m" :store org-w3m-store-link) ("file+sys") ("file+emacs") ("do= i" :follow org--open-doi-link) ("elisp" :follow org--open-elisp-link) ("file" :complete org-file-= complete-link) ("ftp" :follow (lambda (path) (browse-url (concat "ftp:" path)))) = ("help" :follow org--open-help-link) ("http" :follow (lambda (path) (browse-url (concat "http:" path)))) ("https" :follow (lambda (path) (browse-url (concat "https:" path)= ))) ("mailto" :follow (lambda (path) (browse-url (concat "mailto:" pat= h)))) ("news" :follow (lambda (path) (browse-url (concat "news:" path)))= ) ("shell" :follow org--open-shell-link)) ) -- Francisco Vel=C3=A1zquez --=-=-=--