From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nathaniel Flath Subject: Re: Re: [PATCH] Alphabetical ordered lists Date: Wed, 12 Jan 2011 12:05:19 -0800 Message-ID: References: <87bp8o498o.fsf@gollum.intra.norang.ca> <393C5110-E4D3-4B36-8F4E-4F94B5AA0F93@gmail.com> <87k4m876g3.wl%n.goaziou@gmail.com> <87iq1r7k00.wl%n.goaziou@gmail.com> <747F5104-6B1C-43E8-BF42-883287B7E303@gmail.com> <87aan0789y.wl%n.goaziou@gmail.com> <874od127wq.wl%n.goaziou@gmail.com> <535BC60F-1310-47AD-BCD1-1C88822B852A@gmail.com> <87y69lqs8z.wl%n.goaziou@gmail.com> <4849E760-2A8F-49A4-9B29-347BD3645D1A@gmail.com> <87r5ep2r0k.wl%n.goaziou@gmail.com> <87bp5hi4qy.wl%n.goaziou@gmail.com> <87pqswti6w.wl%n.goaziou@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=0015175cf71273e1920499abb866 Return-path: Received: from [140.186.70.92] (port=45042 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Pd6we-0002Nr-1K for emacs-orgmode@gnu.org; Wed, 12 Jan 2011 15:05:25 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Pd6wb-0002SE-UU for emacs-orgmode@gnu.org; Wed, 12 Jan 2011 15:05:23 -0500 Received: from mail-qw0-f41.google.com ([209.85.216.41]:58271) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Pd6wb-0002Rh-H2 for emacs-orgmode@gnu.org; Wed, 12 Jan 2011 15:05:21 -0500 Received: by qwa26 with SMTP id 26so962473qwa.0 for ; Wed, 12 Jan 2011 12:05:20 -0800 (PST) In-Reply-To: <87pqswti6w.wl%n.goaziou@gmail.com> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Nicolas Goaziou Cc: Bernt Hansen , Jacob Mitchell , org-mode List , Carsten Dominik --0015175cf71273e1920499abb866 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Updated patch attached. Thanks, Nathaniel Flath On Mon, Dec 20, 2010 at 10:25 AM, Nicolas Goaziou wro= te: > Hello, > >>>>>> Nathaniel Flath writes: > >> Sory for the long delay - I got caught up in other work. A >> patchaddressing the sisues brought up is attached. > > I've had a look at your patch. > > I think the modifications to HTML and DocBook exporters are nice. It > could be possible to do the same thing in LaTeX, but it would require > yet another package (enumitem) by default. Anyway, here are the code > comments : > > - in your patch, you should try to list modifications to the > =A0functions, and which functions were created. For example : > > =A0* org-list.el (org-alphabetical-lists): new variable > =A0(org-cycle-list-bullet): added "A)" "a)" "A." and "a." to the list > =A0of bullets in cycle. None of them is allowed in a description list. > > - The "yes" at the beginning of org-docbook.el should be removed > > - I advise against using (org-next-item) programmatically. It means > =A0you compute the structure associated to the list for each item in > =A0the list. I left a note about this circa line 847 in org-list.el > > - There's a bug with the following situation : > > =A0A) test > =A0B) tersi > =A0C) teirsu > =A0D) tersiu > =A0E) tesiu > =A0F) teisru > =A0G) etisu > =A0 =A0 - sub-item 1 > =A0 =A0 - sub-item 2 > =A0 =A0 - sub-item 3 > =A0 =A0 - sub-item 4 > =A0H) tesinu > =A0I) tesinru > =A0J) etnrsiu > =A0K) tesriun > =A0L) etnsiu > =A0M) estinu > =A0N) etsniu > =A0O) etsinu > =A0P) tesnu > =A0Q) etsinu > =A0R) etsiun > =A0S) etsnriu > =A0T) etsnriu > =A0U) etsinu > =A0V) etsiu > =A0W) etinrsu > =A0X) last item > > =A0If you outdent sub-items 2 to 4 at the same time (with a region), > =A0bullet of the last item will become "AA)" and will not be recognized > =A0as a list item anymore. > > - There's also a bug with counters: > > =A0* [0/0] Counter > > =A0 =A0A. [X] first box > =A0 =A0B. [X] second box > > =A0These boxes are not counted when bullets are literals (try C-c #). > > > HTH, > > Regards, > > -- Nicolas > --0015175cf71273e1920499abb866 Content-Type: application/octet-stream; name="0001-Added-support-for-alphabetical-patches-to-org-list.patch" Content-Disposition: attachment; filename="0001-Added-support-for-alphabetical-patches-to-org-list.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_giuu8a2r0 RnJvbSAxMWE1Yjk0NGQ2NDc1ZjE1MDMzMzUwMmExNWVkZTcwY2U3MTgwN2FmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXRoYW5pZWwgRmxhdGggPGZsYXQwMTAzQGdtYWlsLmNvbT4K RGF0ZTogV2VkLCAxMiBKYW4gMjAxMSAxMTo1MjozMiAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIEFk ZGVkIHN1cHBvcnQgZm9yIGFscGhhYmV0aWNhbCBwYXRjaGVzIHRvIG9yZy1saXN0LgogU3VwcG9y dCBjYW4gYmUgZW5hYmxlZCB3aXRoIHRoZSAnb3JnLWFscGhhYmV0aWNhbC1saXN0cycgdmFyaWFi bGUsIGFuZAogdGhlIG51bWVyYXRpb24gZ29lcyBmcm9tICdhJyB0byAneicuICBUaGUgbGF0ZXgs IGh0bWwsIGFuZCBkb2Nib29rIGV4cG9ydGVycwogaGF2ZSBiZWVuIHVwZGF0ZWQgdG8gdXNlIHRo ZXNlLgoKKiBvcmctY2FwdHVyZS5lbDogKG9yZy1jYXB0dXJlLXBsYWNlLWl0ZW0pOiBjaGFuZ2Vk IHVzZSBvZiB2YXJpYWJsZSBvcmctaXRlbS1iZWdpbm5pbmctcmUgdG8gYmUgYSBmdW5jdGlvbiBj YWxsLgoqIG9yZy1kb2Nib29rLmVsOiAob3JnLWV4cG9ydC1hcy1kb2Nib29rKTogY2hhbmdlZCB0 byBleHBvcnQgYWxwaGFiZXRpY2FsIGxpc3RzCiogb3JnLWV4cC5lbDogKG9yZy1leHBvcnQtbWFy ay1saXN0LWVuZGluZyk6IGNoYW5nZWQgdmFyaWFibGUgdXNlIG9mIG9yZy1pdGVtLWJlZ2lubmlu Zy1yZSB0byBiZSBmdW5jdGlvbiBjYWxsLgoqIG9yZy1odG1sLmVsOiAob3JnLWV4cG9ydC1hcy1o dG1sKTogY2hhbmdlZCB0byBleHBvcnQgYWxwaGFiZXRpY2FsIGxpc3RzCiogb3JnLWxhdGV4LmVs OiAob3JnLWV4cG9ydC1sYXRleC1saXN0cyk6IGNoYW5nZWQgdmFyaWFibGUgdXNlIG9mIG9yZy1p dGVtLWJlZ2lubmluZy1yZSB0byBiZSBhIGZ1bmN0aW9uIGNhbGwuCiogb3JnLWxpc3QuZWw6CiAg b3JnLWFscGhhYmV0aWNhbC1saXN0czogbmV3IHZhcmlhYmxlIHRvIGNvbnRyb2wgd2hldGhlciB0 byB1c2UgYWxwaGFiZXRpY2FsIGxpc3RzKGRlZmF1bHRzIG5pbCkKICAob3JnLWl0ZW0tcmUpOiBj b252ZXJ0ZWQgdG8gdXNlIGNvcnJlY3QgcmVnZXggZm9yIGFscGhhYmV0aWNhbCBsaXN0cyBpZiBl bmFibGVkCiAgKG9yZy1pdGVtLWJlZ2lubmluZy1yZSk6IGNvbnZlcnRlZCBmcm9tIGEgdmFyaWFi bGUgdG8gYSBmdW5jdGlvbgogIChvcmctbGlzdC1pbi1pdGVtLXAtd2l0aC1pbmRlbnQpLCAob3Jn LXRvZ2dsZS1jaGVja2JveCksKG9yZy1saXN0LWluLWl0ZW0tcC13aXRoLXJlZ2V4cCksIChvcmct bGlzdC10b3AtcG9pbnQtd2l0aC1yZWdleHApLCAob3JnLWxpc3Qtc3RydWN0KSwgKG9yZy1saXN0 LWdldC1pdGVtLXNhbWUtbGV2ZWwpLCAob3JnLWdldC1pdGVtLWJlZ2lubmluZyksIChvcmctZW5k LW9mLWl0ZW0tb3ItYXQtY2hpbGQpLCAob3JnLWxpc3QtZmlyc3QtaXRlbS1wKSwgKG9yZy1saXN0 LWluZGVudC1pdGVtLWdlbmVyaWMpOiBjb252ZXJ0ZWQgdXNlIG9mIG9yZy1pdGVtLWJlZ2lubmlu Zy1yZSB0byBhIGZ1bmN0aW9uCgogIChvcmctbGlzdC1hdC1yZWdleHAtYWZ0ZXItYnVsbGV0LXAp LCAob3JnLXVwZGF0ZS1jaGVja2JveC1jb3VudCksIChvcmctbGlzdC1wYXJzZS1saXN0KSwgKG9y Zy1saXN0LWluc2VydC1pdGVtLWdlbmVyaWMpLCBvcmctbGlzdC1zdHJ1Y3QtYXNzb2MtYXQtcG9p bnQpLCAob3JnLWxpc3Qtc3RydWN0LWZpeC1idWwpOiBjb3JyZWN0ZWQgcmVnZXhwIHRvIGFsbG93 IGZvciBhbHBoYWJldGljYWwgbGlzdHMKCiAgKG9yZy1pbmNyZW1lbnQtc3RyaW5nKSwgKG9yZy0t Y29udmVydC1hbHBoYS1zdHItdG8tbnVtKSwgKG9yZy1jb252ZXJ0LW51bS10b2FscGhhLXN0cik6 IG5ldyBmdW5jdGlvbnMgdXNlZCB0byBpbmNyZW1lbnQgYSBidWxsZXQgaW4gYW4gYWxwaGFiZXRp Y2FsIGxpc3QKCiAgKG9yZy1saXN0LWNhbi1iZS1hbHBoYWJldGljYWwpOiBuZXcgZnVuY3Rpb24g dGhhdCByZXR1cm5zICd0JyBpZiBhIGxpc3QgY2FuIGJlIGFscGhhYmV0aWNhbCggPDI3IGl0ZW1z KQoKICAob3JnLWxpc3QtYnVsbGV0LWluYy1tYXliZSk6IG1vZGlmaWVkIHRvIHN1cHBvcnQgYWxw aGFiZXRpY2FsIGJ1bGxldHMgYXMgd2VsbCBhcyBudW1lcmljIG9uZXMKCiAgKG9yZy1jeWNsZS1s aXN0LWJ1bGxldCk6IG1vZGlmaWVkIHRvIGFsc28gY3ljbGUgaW50byBib3RoIGNhcGl0YWwgYW5k IGxvd2VyY2FzIGFscGhhYmV0aWNhbCBidWxsZXRzLCBpZiBwb3NzaWJsZQotLS0KIGxpc3Avb3Jn LWNhcHR1cmUuZWwgfCAgICA0ICstCiBsaXNwL29yZy1kb2Nib29rLmVsIHwgICAyMSArKystCiBs aXNwL29yZy1leHAuZWwgICAgIHwgICAgMiArLQogbGlzcC9vcmctaHRtbC5lbCAgICB8ICAgMjQg KysrKy0tCiBsaXNwL29yZy1sYXRleC5lbCAgIHwgICAgMiArLQogbGlzcC9vcmctbGlzdC5lbCAg ICB8ICAyNjIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t LS0tCiA2IGZpbGVzIGNoYW5nZWQsIDIwOCBpbnNlcnRpb25zKCspLCAxMDcgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvbGlzcC9vcmctY2FwdHVyZS5lbCBiL2xpc3Avb3JnLWNhcHR1cmUuZWwK aW5kZXggYTI4YzNiOC4uNDYyZjNjOSAxMDA2NDQKLS0tIGEvbGlzcC9vcmctY2FwdHVyZS5lbAor KysgYi9saXNwL29yZy1jYXB0dXJlLmVsCkBAIC04MTUsMTQgKzgxNSwxNCBAQCBhbHJlYWR5IGdv bmUuICBBbnkgcHJlZml4IGFyZ3VtZW50IHdpbGwgYmUgcGFzc2VkIHRvIHRoZSByZWZpbGUgY29t YW5kLiIKICAgICAoaWYgKG9yZy1jYXB0dXJlLWdldCA6cHJlcGVuZCkKIAkocHJvZ24KIAkgIChn b3RvLWNoYXIgYmVnKQotCSAgKGlmIChvcmctc2VhcmNoLWZvcndhcmQtdW5lbmNsb3NlZCBvcmct aXRlbS1iZWdpbm5pbmctcmUgZW5kIHQpCisJICAoaWYgKG9yZy1zZWFyY2gtZm9yd2FyZC11bmVu Y2xvc2VkIChvcmctaXRlbS1iZWdpbm5pbmctcmUpIGVuZCB0KQogCSAgICAgIChwcm9nbgogCQko Z290by1jaGFyIChtYXRjaC1iZWdpbm5pbmcgMCkpCiAJCShzZXRxIGluZCAob3JnLWdldC1pbmRl bnRhdGlvbikpKQogCSAgICAoZ290by1jaGFyIGVuZCkKIAkgICAgKHNldHEgaW5kIDApKSkKICAg ICAgIChnb3RvLWNoYXIgZW5kKQotICAgICAgKGlmIChvcmctc2VhcmNoLWJhY2t3YXJkLXVuZW5j bG9zZWQgb3JnLWl0ZW0tYmVnaW5uaW5nLXJlIGJlZyB0KQorICAgICAgKGlmIChvcmctc2VhcmNo LWJhY2t3YXJkLXVuZW5jbG9zZWQgKG9yZy1pdGVtLWJlZ2lubmluZy1yZSkgYmVnIHQpCiAJICAo cHJvZ24KIAkgICAgKHNldHEgaW5kIChvcmctZ2V0LWluZGVudGF0aW9uKSkKIAkgICAgKG9yZy1l bmQtb2YtaXRlbSkpCmRpZmYgLS1naXQgYS9saXNwL29yZy1kb2Nib29rLmVsIGIvbGlzcC9vcmct ZG9jYm9vay5lbAppbmRleCBlZDgzNWIwLi5hNjM2ZGJhIDEwMDY0NAotLS0gYS9saXNwL29yZy1k b2Nib29rLmVsCisrKyBiL2xpc3Avb3JnLWRvY2Jvb2suZWwKQEAgLTEwMTIsMTQgKzEwMTIsMTUg QEAgcHVibGlzaGluZyBkaXJlY3RvcnkuIgogCSAgICA7OyBOb3JtYWwgbGluZXMKIAkgICAgKHdo ZW4gKHN0cmluZy1tYXRjaAogCQkgICAoY29uZAotCQkgICAgKChlcSBsbHQgdCkgIl5cXChbIFx0 XSpcXClcXChcXChbLSsqXSBcXClcXHxcXChbMC05XStbLildXFwpIFxcKT9cXCggKlteIFx0XG5c cl1cXHxbIFx0XSokXFwpIikKLQkJICAgICgoPSBsbHQgPy4pICJeXFwoWyBcdF0qXFwpXFwoXFwo Wy0rKl0gXFwpXFx8XFwoWzAtOV0rXFwuXFwpIFxcKT9cXCggKlteIFx0XG5ccl1cXHxbIFx0XSok XFwpIikKLQkJICAgICgoPSBsbHQgP1wpKSAiXlxcKFsgXHRdKlxcKVxcKFxcKFstKypdIFxcKVxc fFxcKFswLTldKylcXCkgXFwpP1xcKCAqW14gXHRcblxyXVxcfFsgXHRdKiRcXCkiKQorCQkgICAg KChlcSBsbHQgdCkgIl5cXChbIFx0XSpcXClcXChcXChbLSsqXSBcXClcXHxcXChcXCg/OlswLTld K1xcfFthLXpBLVpdXFwpWy4pXVxcKSBcXCk/XFwoICpbXiBcdFxuXHJdXFx8WyBcdF0qJFxcKSIp CisJCSAgICAoKD0gbGx0ID8uKSAiXlxcKFsgXHRdKlxcKVxcKFxcKFstKypdIFxcKVxcfFxcKFxc KD86WzAtOV0rXFx8W2EtekEtWl1cXClcXC5cXCkgXFwpP1xcKCAqW14gXHRcblxyXVxcfFsgXHRd KiRcXCkiKQorCQkgICAgKCg9IGxsdCA/XCkpICJeXFwoWyBcdF0qXFwpXFwoXFwoWy0rKl0gXFwp XFx8XFwoXFwoPzpbMC05XStcXHxbYS16QS1aXVxcKSlcXCkgXFwpP1xcKCAqW14gXHRcblxyXVxc fFsgXHRdKiRcXCkiKQogCQkgICAgKHQgKGVycm9yICJJbnZhbGlkIHZhbHVlIG9mIGBvcmctcGxh aW4tbGlzdC1vcmRlcmVkLWl0ZW0tdGVybWluYXRvciciKSkpCiAJCSAgIGxpbmUpCiAJICAgICAg KHNldHEgaW5kIChvciAoZ2V0LXRleHQtcHJvcGVydHkgMCAnb3JpZ2luYWwtaW5kZW50YXRpb24g bGluZSkKIAkJCSAgICAob3JnLWdldC1zdHJpbmctaW5kZW50YXRpb24gbGluZSkpCiAJCSAgICBp dGVtLXR5cGUgKGlmIChtYXRjaC1iZWdpbm5pbmcgNCkgIm8iICJ1IikKKwkJICAgIG9yZGVyZWQt dHlwZSAobWF0Y2gtc3RyaW5nIDIgbGluZSkKIAkJICAgIHN0YXJ0ZXIgKGlmIChtYXRjaC1iZWdp bm5pbmcgMikKIAkJCQkoc3Vic3RyaW5nIChtYXRjaC1zdHJpbmcgMiBsaW5lKSAwIC0xKSkKIAkJ ICAgIGxpbmUgKHN1YnN0cmluZyBsaW5lIChtYXRjaC1iZWdpbm5pbmcgNSkpCkBAIC0xMDQwLDcg KzEwNDEsNyBAQCBwdWJsaXNoaW5nIGRpcmVjdG9yeS4iCiAJCShvcmctZXhwb3J0LWRvY2Jvb2st Y2xvc2UtcGFyYS1tYXliZSkKIAkJKGluc2VydCAoY29uZAogCQkJICgoZXF1YWwgaXRlbS10eXBl ICJ1IikgIjxpdGVtaXplZGxpc3Q+XG48bGlzdGl0ZW0+XG4iKQotCQkJICgoYW5kIChlcXVhbCBp dGVtLXR5cGUgIm8iKSBpdGVtLW51bWJlcikKKwkJCSAoKGVxdWFsIGl0ZW0tdHlwZSAibyIpCiAJ CQkgIDs7IENoZWNrIGZvciBhIHNwZWNpZmljIHN0YXJ0IG51bWJlci4gIElmIGl0CiAJCQkgIDs7 IGlzIHNwZWNpZmllZCwgd2UgdXNlIHRoZSBgYG92ZXJyaWRlJycKIAkJCSAgOzsgYXR0cmlidXRl IG9mIGVsZW1lbnQgPGxpc3RpdGVtPiB0byBwYXNzIHRoZQpAQCAtMTA0OCw4ICsxMDQ5LDE2IEBA IHB1Ymxpc2hpbmcgZGlyZWN0b3J5LiIKIAkJCSAgOzsgYGBzdGFydGluZ251bWJlcicnIGF0dHJp YnV0ZSBvZiBlbGVtZW50CiAJCQkgIDs7IDxvcmRlcmVkbGlzdD4sIGJ1dCB0aGUgZm9ybWVyIHdv cmtzIG9uIGJvdGgKIAkJCSAgOzsgRG9jQm9vayA1LjAgYW5kIHByaW9yIHZlcnNpb25zLgotCQkJ ICAoZm9ybWF0ICI8b3JkZXJlZGxpc3Q+XG48bGlzdGl0ZW0gb3ZlcnJpZGU9XCIlc1wiPlxuIiBp dGVtLW51bWJlcikpCi0JCQkgKChlcXVhbCBpdGVtLXR5cGUgIm8iKSAiPG9yZGVyZWRsaXN0Plxu PGxpc3RpdGVtPlxuIikKKwkJCSAgKHByb2duCisJCQkgICAgKGNvbmNhdCAiPG9yZGVyZWRsaXN0 IG51bWVyYXRpb249XCIiCisJCQkJICAgIChjb25kCisJCQkJICAgICAoKG5vdCBzdGFydGVyKSAi YXJhYmljIikKKwkJCQkgICAgICgoc3RyaW5nLW1hdGNoICJbMC05XStbLildIiBvcmRlcmVkLXR5 cGUpICJhcmFiaWMiKQorCQkJCSAgICAgKChzdHJpbmctbWF0Y2ggIltBLVpdWy4pXSIgb3JkZXJl ZC10eXBlKSAidXBwZXJhbHBoYSIpCisJCQkJICAgICAoKHN0cmluZy1tYXRjaCAiW2Etel1bLild IiBvcmRlcmVkLXR5cGUpICJsb3dlcmFscGhhIikpCisJCQkJICAgICJcIj5cbjxsaXN0aXRlbSIK KwkJCQkgICAgKGlmIGl0ZW0tbnVtYmVyIChjb25jYXQgIiBvdmVycmlkZT1cIiIgaXRlbS1udW1i ZXIgIlwiPlxuIikKKwkJCQkgICAgICAiPlxuIikpKSkKIAkJCSAoKGVxdWFsIGl0ZW0tdHlwZSAi ZCIpCiAJCQkgIChmb3JtYXQgIjx2YXJpYWJsZWxpc3Q+XG48dmFybGlzdGVudHJ5Pjx0ZXJtPiVz PC90ZXJtPjxsaXN0aXRlbT5cbiIgaXRlbS10YWcpKSkpCiAJCTs7IEZvciBEb2NCb29rLCB3ZSBu ZWVkIHRvIG9wZW4gYSBwYXJhIHJpZ2h0IGFmdGVyIHRhZwpkaWZmIC0tZ2l0IGEvbGlzcC9vcmct ZXhwLmVsIGIvbGlzcC9vcmctZXhwLmVsCmluZGV4IDNkNDY2ZmEuLjY4MDU4N2IgMTAwNjQ0Ci0t LSBhL2xpc3Avb3JnLWV4cC5lbAorKysgYi9saXNwL29yZy1leHAuZWwKQEAgLTE2NjQsNyArMTY2 NCw3IEBAIFRoZXNlIHNwZWNpYWwgY29va2llcyB3aWxsIGxhdGVyIGJlIGludGVycHJldGVkIGJ5 IHRoZSBiYWNrZW5kLgogICAobGV0ICgocHJvY2Vzcy1idWZmZXIKIAkgKGxhbWJkYSAoZW5kLWxp c3QtbWFya2VyKQogCSAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpCi0JICAgKHdoaWxlIChvcmct c2VhcmNoLWZvcndhcmQtdW5lbmNsb3NlZCBvcmctaXRlbS1iZWdpbm5pbmctcmUgbmlsIHQpCisJ ICAgKHdoaWxlIChvcmctc2VhcmNoLWZvcndhcmQtdW5lbmNsb3NlZCAob3JnLWl0ZW0tYmVnaW5u aW5nLXJlKSBuaWwgdCkKIAkgICAgIChnb3RvLWNoYXIgKG9yZy1saXN0LWJvdHRvbS1wb2ludCkp CiAJICAgICAod2hlbiAoYW5kIChub3QgKGVxIG9yZy1saXN0LWVuZGluZy1tZXRob2QgJ2luZGVu dCkpCiAJCQkobG9va2luZy1hdCAob3JnLWxpc3QtZW5kLXJlKSkpCmRpZmYgLS1naXQgYS9saXNw L29yZy1odG1sLmVsIGIvbGlzcC9vcmctaHRtbC5lbAppbmRleCAzMTJlNzE2Li5iZTFkNzYwIDEw MDY0NAotLS0gYS9saXNwL29yZy1odG1sLmVsCisrKyBiL2xpc3Avb3JnLWh0bWwuZWwKQEAgLTE1 NTMsMjAgKzE1NTMsMjEgQEAgbGFuZz1cIiVzXCIgeG1sOmxhbmc9XCIlc1wiPgogCSAgICA7OyBO b3JtYWwgbGluZXMKIAkgICAgKHdoZW4gKHN0cmluZy1tYXRjaAogCQkgICAoY29uZAotCQkgICAg KChlcSBsbHQgdCkgIl5cXChbIFx0XSpcXClcXChcXChbLSsqXSBcXClcXHxcXChbMC05XStbLild XFwpIFxcKT9cXCggKlteIFx0XG5ccl1cXHxbIFx0XSokXFwpIikKLQkJICAgICgoPSBsbHQgPy4p ICJeXFwoWyBcdF0qXFwpXFwoXFwoWy0rKl0gXFwpXFx8XFwoWzAtOV0rXFwuXFwpIFxcKT9cXCgg KlteIFx0XG5ccl1cXHxbIFx0XSokXFwpIikKLQkJICAgICgoPSBsbHQgP1wpKSAiXlxcKFsgXHRd KlxcKVxcKFxcKFstKypdIFxcKVxcfFxcKFswLTldKylcXCkgXFwpP1xcKCAqW14gXHRcblxyXVxc fFsgXHRdKiRcXCkiKQorCQkgICAgKChlcSBsbHQgdCkgIl5cXChbIFx0XSpcXClcXChcXChbLSsq XSBcXClcXHxcXChcXCg/OlswLTldK1xcfFthLXpBLVpdXFwpWy4pXVxcKSBcXCk/XFwoICpbXiBc dFxuXHJdXFx8WyBcdF0qJFxcKSIpCisJCSAgICAoKD0gbGx0ID8uKSAiXlxcKFsgXHRdKlxcKVxc KFxcKFstKypdIFxcKVxcfFxcKFxcKD86WzAtOV0rXFx8W2EtekEtWl1cXClcXC5cXCkgXFwpP1xc KCAqW14gXHRcblxyXVxcfFsgXHRdKiRcXCkiKQorCQkgICAgKCg9IGxsdCA/XCkpICJeXFwoWyBc dF0qXFwpXFwoXFwoWy0rKl0gXFwpXFx8XFwoXFwoPzpbMC05XStcXHxbYS16QS1aXVxcKSlcXCkg XFwpP1xcKCAqW14gXHRcblxyXVxcfFsgXHRdKiRcXCkiKQogCQkgICAgKHQgKGVycm9yICJJbnZh bGlkIHZhbHVlIG9mIGBvcmctcGxhaW4tbGlzdC1vcmRlcmVkLWl0ZW0tdGVybWluYXRvciciKSkp CiAJCSAgIGxpbmUpCiAJICAgICAgKHNldHEgaW5kIChvciAoZ2V0LXRleHQtcHJvcGVydHkgMCAn b3JpZ2luYWwtaW5kZW50YXRpb24gbGluZSkKIAkJCSAgICAob3JnLWdldC1zdHJpbmctaW5kZW50 YXRpb24gbGluZSkpCiAJCSAgICBpdGVtLXR5cGUgKGlmIChtYXRjaC1iZWdpbm5pbmcgNCkgIm8i ICJ1IikKKwkJICAgIG9yZGVyZWQtdHlwZSAobWF0Y2gtc3RyaW5nIDIgbGluZSkKIAkJICAgIHN0 YXJ0ZXIgKGlmIChtYXRjaC1iZWdpbm5pbmcgMikKIAkJCQkoc3Vic3RyaW5nIChtYXRjaC1zdHJp bmcgMiBsaW5lKSAwIC0xKSkKIAkJICAgIGxpbmUgKHN1YnN0cmluZyBsaW5lIChtYXRjaC1iZWdp bm5pbmcgNSkpCiAJCSAgICBpdGVtLW51bWJlciBuaWwKIAkJICAgIGl0ZW0tdGFnIG5pbCkKLQkg ICAgICAoaWYgKHN0cmluZy1tYXRjaCAiXFxbQFxcKD86c3RhcnQ6XFwpP1xcKFswLTldK1xcKVxc XVsgXHRdPyIgbGluZSkKKwkgICAgICAoaWYgKHN0cmluZy1tYXRjaCAiXFxbQFxcKD86c3RhcnQ6 XFwpP1xcKFswLTldK1xcfFthLXpBLVpdXFwpXFxdWyBcdF0/IiBsaW5lKQogCQkgIChzZXRxIGl0 ZW0tbnVtYmVyIChtYXRjaC1zdHJpbmcgMSBsaW5lKQogCQkJbGluZSAocmVwbGFjZS1tYXRjaCAi IiB0IHQgbGluZSkpKQogCSAgICAgIChpZiAoYW5kIHN0YXJ0ZXIgKHN0cmluZy1tYXRjaCAiXFwo Lio/XFwpIDo6WyBcdF0qIiBsaW5lKSkKQEAgLTE1ODEsOSArMTU4MiwxOCBAQCBsYW5nPVwiJXNc IiB4bWw6bGFuZz1cIiVzXCI+CiAJCShvcmctY2xvc2UtcGFyLW1heWJlKQogCQkoaW5zZXJ0IChj b25kCiAJCQkgKChlcXVhbCBpdGVtLXR5cGUgInUiKSAiPHVsPlxuPGxpPlxuIikKLQkJCSAoKGFu ZCAoZXF1YWwgaXRlbS10eXBlICJvIikgaXRlbS1udW1iZXIpCi0JCQkgIChmb3JtYXQgIjxvbD5c bjxsaSB2YWx1ZT1cIiVzXCI+XG4iIGl0ZW0tbnVtYmVyKSkKLQkJCSAoKGVxdWFsIGl0ZW0tdHlw ZSAibyIpICI8b2w+XG48bGk+XG4iKQorCQkJICgoZXF1YWwgaXRlbS10eXBlICJvIikKKwkJCSAg KHByb2duCisJCQkgICAgKG1lc3NhZ2Ugb3JkZXJlZC10eXBlKQorCQkJICAgIChjb25jYXQgIjxv bCB0eXBlPVwiIgorCQkJCSAgICAoY29uZCAKKwkJCQkgICAgICgobm90IHN0YXJ0ZXIpICIxIikK KwkJCQkgICAgICgoc3RyaW5nLW1hdGNoICJbMC05XStbLildIiBvcmRlcmVkLXR5cGUpICIxIikK KwkJCQkgICAgICgoc3RyaW5nLW1hdGNoICJbQS1aXVsuKV0iIG9yZGVyZWQtdHlwZSkgIkEiKQor CQkJCSAgICAgKChzdHJpbmctbWF0Y2ggIlthLXpdWy4pXSIgb3JkZXJlZC10eXBlKSAiYSIpKQor CQkJCSAgICAiXCI+PGxpIgorCQkJCSAgICAoaWYgaXRlbS1udW1iZXIgKGNvbmNhdCIgdmFsdWU9 XCIiIGl0ZW0tbnVtYmVyICJcIj5cbiIpCisJCQkJICAgICAgIj5cbiIpKSkpCiAJCQkgKChlcXVh bCBpdGVtLXR5cGUgImQiKQogCQkJICAoZm9ybWF0ICI8ZGw+XG48ZHQ+JXM8L2R0PjxkZD5cbiIg aXRlbS10YWcpKSkpCiAJCShwdXNoIGl0ZW0tdHlwZSBsb2NhbC1saXN0LXR5cGUpCmRpZmYgLS1n aXQgYS9saXNwL29yZy1sYXRleC5lbCBiL2xpc3Avb3JnLWxhdGV4LmVsCmluZGV4IDQwODVkNmUu LjU4ZmVlZGUgMTAwNjQ0Ci0tLSBhL2xpc3Avb3JnLWxhdGV4LmVsCisrKyBiL2xpc3Avb3JnLWxh dGV4LmVsCkBAIC0yMzg1LDcgKzIzODUsNyBAQCBUaGUgY29udmVyc2lvbiBpcyBtYWRlIGRlcGVu ZGluZyBvZiBTVFJJTkctQkVGT1JFIGFuZCBTVFJJTkctQUZURVIuIgogICAiQ29udmVydCBwbGFp biB0ZXh0IGxpc3RzIGluIGN1cnJlbnQgYnVmZmVyIGludG8gTGFUZVggbGlzdHMuIgogICAobGV0 IChyZXMpCiAgICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKLSAgICAod2hpbGUgKG9yZy1zZWFy Y2gtZm9yd2FyZC11bmVuY2xvc2VkIG9yZy1pdGVtLWJlZ2lubmluZy1yZSBuaWwgdCkKKyAgICAo d2hpbGUgKG9yZy1zZWFyY2gtZm9yd2FyZC11bmVuY2xvc2VkIChvcmctaXRlbS1iZWdpbm5pbmct cmUpIG5pbCB0KQogICAgICAgKGJlZ2lubmluZy1vZi1saW5lKQogICAgICAgKHNldHEgcmVzIChv cmctbGlzdC10by1sYXRleCAob3JnLWxpc3QtcGFyc2UtbGlzdCB0KQogCQkJCSAgIG9yZy1leHBv cnQtbGF0ZXgtbGlzdC1wYXJhbWV0ZXJzKSkKZGlmZiAtLWdpdCBhL2xpc3Avb3JnLWxpc3QuZWwg Yi9saXNwL29yZy1saXN0LmVsCmluZGV4IGJjOGU3YmQuLmI0ZWI2MGQgMTAwNjQ0Ci0tLSBhL2xp c3Avb3JnLWxpc3QuZWwKKysrIGIvbGlzcC9vcmctbGlzdC5lbApAQCAtMjIxLDE2ICsyMjEsMTYg QEAgaW5kZW50ICAgIHdoZW4gbm9uLW5pbCwgaW5kZW50aW5nIG9yIG91dGRlbnRpbmcgbGlzdCB0 b3AtaXRlbQogaW5zZXJ0ICAgIHdoZW4gbm9uLW5pbCwgdHJ5aW5nIHRvIGluc2VydCBhbiBpdGVt IGluc2lkZSBhIGJsb2NrCiAgICAgICAgICAgd2lsbCBpbnNlcnQgaXQgcmlnaHQgYmVmb3JlIHRo ZSBibG9jayBpbnN0ZWFkIG9mCiAgICAgICAgICAgdGhyb3dpbmcgYW4gZXJyb3IuIgotICAgOmdy b3VwICdvcmctcGxhaW4tbGlzdHMKLSAgIDp0eXBlICcoYWxpc3QgOnRhZyAiU2V0cyBvZiBydWxl cyIKLQkJIDprZXktdHlwZQotCQkgKGNob2ljZQotCQkgIChjb25zdCA6dGFnICJCdWxsZXQiIGJ1 bGxldCkKLQkJICAoY29uc3QgOnRhZyAiQ2hlY2tib3giIGNoZWNrYm94KQotCQkgIChjb25zdCA6 dGFnICJJbmRlbnQiIGluZGVudCkKLQkJICAoY29uc3QgOnRhZyAiSW5zZXJ0IiBpbnNlcnQpKQot CQkgOnZhbHVlLXR5cGUKLQkJIChib29sZWFuIDp0YWcgIkFjdGl2YXRlIiA6dmFsdWUgdCkpKQor ICA6Z3JvdXAgJ29yZy1wbGFpbi1saXN0cworICA6dHlwZSAnKGFsaXN0IDp0YWcgIlNldHMgb2Yg cnVsZXMiCisJCTprZXktdHlwZQorCQkoY2hvaWNlCisJCSAoY29uc3QgOnRhZyAiQnVsbGV0IiBi dWxsZXQpCisJCSAoY29uc3QgOnRhZyAiQ2hlY2tib3giIGNoZWNrYm94KQorCQkgKGNvbnN0IDp0 YWcgIkluZGVudCIgaW5kZW50KQorCQkgKGNvbnN0IDp0YWcgIkluc2VydCIgaW5zZXJ0KSkKKwkJ OnZhbHVlLXR5cGUKKwkJKGJvb2xlYW4gOnRhZyAiQWN0aXZhdGUiIDp2YWx1ZSB0KSkpCiAKIChk ZWZjdXN0b20gb3JnLWhpZXJhcmNoaWNhbC1jaGVja2JveC1zdGF0aXN0aWNzIHQKICAgIk5vbi1u aWwgbWVhbnMgY2hlY2tib3ggc3RhdGlzdGljcyBjb3VudHMgb25seSB0aGUgc3RhdGUgb2YgZGly ZWN0IGNoaWxkcmVuLgpAQCAtMjQwLDYgKzI0MCwxMSBAQCB3aXRoIHRoZSB3b3JkIFwicmVjdXJz aXZlXCIgaW4gdGhlIHZhbHVlLiIKICAgOmdyb3VwICdvcmctcGxhaW4tbGlzdHMKICAgOnR5cGUg J2Jvb2xlYW4pCiAKKyhkZWZjdXN0b20gb3JnLWFscGhhYmV0aWNhbC1saXN0cyBuaWwKKyAgIk5v bi1uaWwgbWVhbnMgYWxwaGFiZXRpY2FsIGxpc3RzIGFyZSBhY3RpdmF0ZWQuIgorICA6Z3JvdXAg J29yZy1wbGFpbi1saXN0cworICA6dHlwZSAnYm9vbGVhbikKKwogKGRlZmN1c3RvbSBvcmctZGVz Y3JpcHRpb24tbWF4LWluZGVudCAyMAogICAiTWF4aW11bSBpbmRlbnRhdGlvbiBmb3IgdGhlIHNl Y29uZCBsaW5lIG9mIGEgZGVzY3JpcHRpb24gbGlzdC4KIFdoZW4gdGhlIGluZGVudGF0aW9uIHdv dWxkIGJlIGxhcmdlciB0aGFuIHRoaXMsIGl0IHdpbGwgYmVjb21lCkBAIC0yODgsMTYgKzI5Mywy MyBAQCBJdCBkZXBlbmRzIG9uIGBvcmctZW1wdHktbGluZS10ZXJtaW5hdGVzLXBsYWluLWxpc3Rz Jy4iCiBJZiBHRU5FUkFMIGlzIG5vbi1uaWwsIHJldHVybiB0aGUgZ2VuZXJhbCByZWdleHAgaW5k ZXBlbmRlbnQgb2YgdGhlIHZhbHVlCiBvZiBgb3JnLXBsYWluLWxpc3Qtb3JkZXJlZC1pdGVtLXRl cm1pbmF0b3InLiIKICAgKGNvbmQKKyAgICgoYW5kIG9yZy1hbHBoYWJldGljYWwtbGlzdHMgKG9y IGdlbmVyYWwgKGVxIG9yZy1wbGFpbi1saXN0LW9yZGVyZWQtaXRlbS10ZXJtaW5hdG9yIHQpKSkK KyAgICAiXFwoWyBcdF0qXFwoWy0rXVxcfFxcKFxcKFswLTldK1xcfFtBLVphLXpdXFwpWy4pXVxc KVxcKVxcfFsgXHRdK1xcKlxcKVxcKCBcXHwkXFwpIikKKyAgICgoYW5kIG9yZy1hbHBoYWJldGlj YWwtbGlzdHMgKD0gb3JnLXBsYWluLWxpc3Qtb3JkZXJlZC1pdGVtLXRlcm1pbmF0b3IgPy4pKQor ICAgICJcXChbIFx0XSpcXChbLStdXFx8XFwoXFwoWzAtOV0rXFx8W0EtWmEtel1cXClcXC5cXClc XClcXHxbIFx0XStcXCpcXClcXCggXFx8JFxcKSIpCisgICAoKGFuZCBvcmctYWxwaGFiZXRpY2Fs LWxpc3RzICg9IG9yZy1wbGFpbi1saXN0LW9yZGVyZWQtaXRlbS10ZXJtaW5hdG9yID9cKSkpCisg ICAgIlxcKFsgXHRdKlxcKFstK11cXHxcXChcXChbMC05XStcXHxbQS1aYS16XVxcKSlcXClcXClc XHxbIFx0XStcXCpcXClcXChbIFx0XStcXHwkXFwpIikKICAgICgob3IgZ2VuZXJhbCAoZXEgb3Jn LXBsYWluLWxpc3Qtb3JkZXJlZC1pdGVtLXRlcm1pbmF0b3IgdCkpCi0gICAgIlxcKFsgXHRdKlxc KFstK11cXHxcXChbMC05XStbLildXFwpXFwpXFx8WyBcdF0rXFwqXFwpXFwoWyBcdF0rXFx8JFxc KSIpCisgICAgIlxcKFsgXHRdKlxcKFstK11cXHxcXChcXChbMC05XStcXClbLildXFwpXFwpXFx8 WyBcdF0rXFwqXFwpXFwoIFxcfCRcXCkiKQogICAgKCg9IG9yZy1wbGFpbi1saXN0LW9yZGVyZWQt aXRlbS10ZXJtaW5hdG9yID8uKQotICAgICJcXChbIFx0XSpcXChbLStdXFx8XFwoWzAtOV0rXFwu XFwpXFwpXFx8WyBcdF0rXFwqXFwpXFwoWyBcdF0rXFx8JFxcKSIpCisgICAgIlxcKFsgXHRdKlxc KFstK11cXHxcXChcXChbMC05XSspXFwuXFwpXFwpXFx8WyBcdF0rXFwqXFwpXFwoIFxcfCRcXCki KQogICAgKCg9IG9yZy1wbGFpbi1saXN0LW9yZGVyZWQtaXRlbS10ZXJtaW5hdG9yID9cKSkKLSAg ICAiXFwoWyBcdF0qXFwoWy0rXVxcfFxcKFswLTldKylcXClcXClcXHxbIFx0XStcXCpcXClcXChb IFx0XStcXHwkXFwpIikKKyAgICAiXFwoWyBcdF0qXFwoWy0rXVxcfFxcKFxcKFswLTldK1xcKSlc XClcXClcXHxbIFx0XStcXCpcXClcXChbIFx0XStcXHwkXFwpIikKICAgICh0IChlcnJvciAiSW52 YWxpZCB2YWx1ZSBvZiBgb3JnLXBsYWluLWxpc3Qtb3JkZXJlZC1pdGVtLXRlcm1pbmF0b3InIikp KSkKIAotKGRlZmNvbnN0IG9yZy1pdGVtLWJlZ2lubmluZy1yZSAoY29uY2F0ICJeIiAob3JnLWl0 ZW0tcmUpKQotICAiUmVnZXhwIG1hdGNoaW5nIHRoZSBiZWdpbm5pbmcgb2YgYSBwbGFpbiBsaXN0 IGl0ZW0uIikKKyhkZWZ1biBvcmctaXRlbS1iZWdpbm5pbmctcmUgKCkKKyAgIlJlZ2V4cCBtYXRj aGluZyB0aGUgYmVnaW5uaW5nIG9mIGEgcGxhaW4gbGlzdCBpdGVtLiIKKyAgKGNvbmNhdCAiXiIg KG9yZy1pdGVtLXJlKSkpCiAKIChkZWZ1biBvcmctbGlzdC1lbmRpbmctYmV0d2VlbiAobWluIG1h eCAmb3B0aW9uYWwgZmlyc3RwKQogICAiRmluZCB0aGUgcG9zaXRpb24gb2YgYSBsaXN0IGVuZGlu ZyBiZXR3ZWVuIE1JTiBhbmQgTUFYLCBvciBuaWwuCkBAIC0zMjcsMTEgKzMzOSwxMSBAQCBzdG9w cGluZyBhdCBMSU1JVC4iCiAgIChzYXZlLW1hdGNoLWRhdGEKICAgICAobGV0ICgoY2FzZS1mb2xk LXNlYXJjaCB0KQogCSAgKGJvdW5kYXJ5IChpZiAoZXEgc2VhcmNoICdyZS1zZWFyY2gtZm9yd2Fy ZCkgMyA1KSkpCi0gICAgKHdoZW4gKHNhdmUtZXhjdXJzaW9uCi0JICAgIChhbmQgKGZ1bmNhbGwg c2VhcmNoICJeWyBcdF0qI1xcK1xcKGJlZ2luXFx8ZW5kXFwpXyIgbGltaXQgdCkKLQkJICg9IChs ZW5ndGggKG1hdGNoLXN0cmluZyAxKSkgYm91bmRhcnkpKSkKLSAgICAgIDs7IFdlJ3JlIGluIGEg YmxvY2s6IGdldCBvdXQgb2YgaXQKLSAgICAgIChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lubmluZyAw KSkpKSkpCisgICAgICAod2hlbiAoc2F2ZS1leGN1cnNpb24KKwkgICAgICAoYW5kIChmdW5jYWxs IHNlYXJjaCAiXlsgXHRdKiNcXCtcXChiZWdpblxcfGVuZFxcKV8iIGxpbWl0IHQpCisJCSAgICg9 IChsZW5ndGggKG1hdGNoLXN0cmluZyAxKSkgYm91bmRhcnkpKSkKKwk7OyBXZSdyZSBpbiBhIGJs b2NrOiBnZXQgb3V0IG9mIGl0CisJKGdvdG8tY2hhciAobWF0Y2gtYmVnaW5uaW5nIDApKSkpKSkK IAogKGRlZnVuIG9yZy1saXN0LXNlYXJjaC11bmVuY2xvc2VkLWdlbmVyaWMgKHNlYXJjaCByZSBi b3VuZCBub2VycikKICAgIlNlYXJjaCBhIHN0cmluZyBvdXRzaWRlIGJsb2NrcyBhbmQgcHJvdGVj dGVkIHBsYWNlcy4KQEAgLTM4NSw3ICszOTcsNyBAQCBpbmRlbnRlZCB0aGFuIHRoZSBwcmV2aW91 cyBpdGVtIHdpdGhpbiBMSU1JVC4iCiAJICAgICAgIDs7IEVuc3VyZSB0aGVyZSBpcyBhdCBsZWFz dCBhbiBpdGVtIGFib3ZlCiAJICAgICAgICh1cC1pdGVtLXAgKHNhdmUtZXhjdXJzaW9uCiAJCQkg ICAgKG9yZy1zZWFyY2gtYmFja3dhcmQtdW5lbmNsb3NlZAotCQkJICAgICBvcmctaXRlbS1iZWdp bm5pbmctcmUgbGltaXQgdCkpKSkKKwkJCSAgICAgKG9yZy1pdGVtLWJlZ2lubmluZy1yZSkgbGlt aXQgdCkpKSkKIAkgIChhbmQgdXAtaXRlbS1wCiAJICAgICAgIChjYXRjaCAnZXhpdAogCQkgKHdo aWxlIHQKQEAgLTQxMyw3ICs0MjUsNyBAQCBBcmd1bWVudCBMSU1JVCBzcGVjaWZpZXMgdGhlIHVw cGVyLWJvdW5kIG9mIHRoZSBzZWFyY2guIgogCSAgIDs7IGBvcmctaXRlbS1yZScuCiAJICAgKGxh c3QtaXRlbS1zdGFydCAoc2F2ZS1leGN1cnNpb24KIAkJCSAgICAgIChvcmctc2VhcmNoLWJhY2t3 YXJkLXVuZW5jbG9zZWQKLQkJCSAgICAgICBvcmctaXRlbS1iZWdpbm5pbmctcmUgbGltaXQgdCkp KQorCQkJICAgICAgIChvcmctaXRlbS1iZWdpbm5pbmctcmUpIGxpbWl0IHQpKSkKIAkgICAobGlz dC1lbmRlciAob3JnLWxpc3QtZW5kaW5nLWJldHdlZW4KIAkJCWxhc3QtaXRlbS1zdGFydCBhY3R1 YWwtcG9zKSkpCiAgICAgICA7OyBXZSBhcmUgaW4gYSBsaXN0IHdoZW4gd2UgYXJlIG9uIGFuIGl0 ZW0gbGluZSBvciB3aGVuIHdlIGNhbgpAQCAtNDMzLDcgKzQ0NSw3IEBAIExpc3QgZW5kaW5nIGlz IGRldGVybWluZWQgYnkgcmVnZXhwLiBTZWUKICAgICAgIDs7IE90aGVyd2lzZSwgZ28gYmFjayB0 byB0aGUgaGVhZGluZyBhYm92ZSBvciBib2IuCiAgICAgICAoZ290by1jaGFyIChvciAob3JnLWxp c3QtZW5kaW5nLWJldHdlZW4gbGltaXQgcG9zKSBsaW1pdCkpCiAgICAgICA7OyBGcm9tIHRoZXJl LCBzZWFyY2ggZG93biBvdXIgbGlzdC4KLSAgICAgIChvcmctc2VhcmNoLWZvcndhcmQtdW5lbmNs b3NlZCBvcmctaXRlbS1iZWdpbm5pbmctcmUgcG9zIHQpCisgICAgICAob3JnLXNlYXJjaC1mb3J3 YXJkLXVuZW5jbG9zZWQgKG9yZy1pdGVtLWJlZ2lubmluZy1yZSkgcG9zIHQpCiAgICAgICAocG9p bnQtYXQtYm9sKSkpKQogCiAoZGVmdW4gb3JnLWxpc3QtYm90dG9tLXBvaW50LXdpdGgtcmVnZXhw IChsaW1pdCkKQEAgLTUzNiw4ICs1NDgsOCBAQCBMaXN0IGVuZGluZyBpcyBkZXRlcm1pbmVkIGJ5 IHRoZSBpbmRlbnRhdGlvbiBvZiB0ZXh0LiBTZWUKICAgICAgICAoc2F2ZS1leGN1cnNpb24KIAkg KGdvdG8tY2hhciAobWF0Y2gtZW5kIDApKQogICAgICAgICAgOzsgSWdub3JlIGNvdW50ZXIgaWYg YW55Ci0gICAgICAgICAod2hlbiAobG9va2luZy1hdCAiXFwoPzpcXFtAXFwoPzpzdGFydDpcXCk/ WzAtOV0rXFxdWyBcdF0qXFwpPyIpCi0gICAgICAgICAgIChnb3RvLWNoYXIgKG1hdGNoLWVuZCAw KSkpCisgICAgICAgICAod2hlbiAobG9va2luZy1hdCAiXFwoPzpcXFtAXFwoPzpzdGFydDpcXCk/ XFwoPzpbMC05XStcXHxbQS1aYS16XVxcKVxcXVsgXHRdKlxcKT8iKQorCSAgIChnb3RvLWNoYXIg KG1hdGNoLWVuZCAwKSkpCiAJIChsb29raW5nLWF0IHJlZ2V4cCkpKSkKIAogKGRlZnVuIG9yZy1s aXN0LWdldC1pdGVtLXNhbWUtbGV2ZWwgKHNlYXJjaC1mdW4gcG9zIGxpbWl0IHByZS1tb3ZlKQpA QCAtNTUxLDcgKzU2Myw3IEBAIHVzZXMgUFJFLU1PVkUgYmVmb3JlIHNlYXJjaC4gUmV0dXJuIG5p bCBpZiBubyBpdGVtIHdhcyBmb3VuZC4iCiAgICAgICA7OyBXZSBkb24ndCB3YW50IHRvIG1hdGNo IHRoZSBjdXJyZW50IGxpbmUuCiAgICAgICAoZnVuY2FsbCBwcmUtbW92ZSkKICAgICAgIDs7IFNr aXAgYW55IHN1Ymxpc3Qgb24gdGhlIHdheQotICAgICAgKHdoaWxlIChhbmQgKGZ1bmNhbGwgc2Vh cmNoLWZ1biBvcmctaXRlbS1iZWdpbm5pbmctcmUgbGltaXQgdCkKKyAgICAgICh3aGlsZSAoYW5k IChmdW5jYWxsIHNlYXJjaC1mdW4gKG9yZy1pdGVtLWJlZ2lubmluZy1yZSkgbGltaXQgdCkKIAkJ ICAoPiAob3JnLWdldC1pbmRlbnRhdGlvbikgaW5kKSkpCiAgICAgICAod2hlbiAoYW5kICgvPSAo cG9pbnQtYXQtYm9sKSBzdGFydCkgOyBIYXZlIHdlIG1vdmVkID8KIAkJICg9IChvcmctZ2V0LWlu ZGVudGF0aW9uKSBpbmQpKQpAQCAtNjEyLDcgKzYyNCw3IEBAIGZ1bmN0aW9uIGVuZHMuIgogICAo Z290by1jaGFyIHBvcykKICAgOzsgSXMgcG9pbnQgaW4gYSBzcGVjaWFsIGJsb2NrPwogICAod2hl biAob3JnLWluLXJlZ2V4cHMtYmxvY2stcAotCSAiXlsgXHRdKiNcXCtcXChiZWdpblxcfEJFR0lO XFwpX1xcKFthLXpBLVowLTlfXStcXCkiCisJICJeWyBcdF0qI1xcK1xcKGJlZ2luXFx8QkVHSU5c XClfXFwoXFwoPzpbYS16QS1aXVxcfFswLTlfXStcXClcXCkiCiAJICcoY29uY2F0ICJeWyBcdF0q I1xcK1xcKGVuZFxcfEVORFxcKV8iIChtYXRjaC1zdHJpbmcgMikpKQogICAgIChpZiAobm90IChj ZHIgKGFzc3EgJ2luc2VydCBvcmctbGlzdC1hdXRvbWF0aWMtcnVsZXMpKSkKIAk7OyBSdWxlIGlu IGBvcmctbGlzdC1hdXRvbWF0aWMtcnVsZXMnIGZvcmJpZHMgaW5zZXJ0aW9uLgpAQCAtNjU1LDkg KzY2Nyw5IEBAIGZ1bmN0aW9uIGVuZHMuIgogCQkob3JnLWxpc3QtZXhjaGFuZ2UtaXRlbXMKIAkJ IChvcmctZ2V0LWl0ZW0tYmVnaW5uaW5nKSAob3JnLWdldC1uZXh0LWl0ZW0gKHBvaW50KSBib3R0 b20pCiAJCSBib3R0b20pCi0JICAgICAgOzsgcmVjb21wdXRlIG5leHQtaXRlbTogbGFzdCBzZXhw IG1vZGlmaWVkIGxpc3QKLQkgICAgICAoZ290by1jaGFyIChvcmctZ2V0LW5leHQtaXRlbSAocG9p bnQpIGJvdHRvbSkpCi0JICAgICAgKG9yZy1tb3ZlLXRvLWNvbHVtbiBjb2wpKSkKKwkJOzsgcmVj b21wdXRlIG5leHQtaXRlbTogbGFzdCBzZXhwIG1vZGlmaWVkIGxpc3QKKwkJKGdvdG8tY2hhciAo b3JnLWdldC1uZXh0LWl0ZW0gKHBvaW50KSBib3R0b20pKQorCQkob3JnLW1vdmUtdG8tY29sdW1u IGNvbCkpKQogCSAgICA7OyBjaGVja2JveCB1cGRhdGUgbWlnaHQgbW9kaWZ5IGJvdHRvbSBwb2lu dCwgc28gdXNlIGEKIAkgICAgOzsgbWFya2VyIGhlcmUKIAkgICAgKHNldHEgYm90dG9tIChjb3B5 LW1hcmtlciBib3R0b20pKQpAQCAtNzEwLDcgKzcyMiw3IEBAIFJldHVybiB0IGlmIHN1Y2Nlc3Nm dWwuIgogICAgIChjb25kCiAgICAgICgoYW5kIHJlZ2lvbnAKIAkgICAoZ290by1jaGFyIHJiZWcp Ci0JICAgKG5vdCAob3JnLXNlYXJjaC1mb3J3YXJkLXVuZW5jbG9zZWQgb3JnLWl0ZW0tYmVnaW5u aW5nLXJlIHJlbmQgdCkpKQorCSAgIChub3QgKG9yZy1zZWFyY2gtZm9yd2FyZC11bmVuY2xvc2Vk IChvcmctaXRlbS1iZWdpbm5pbmctcmUpIHJlbmQgdCkpKQogICAgICAgKGVycm9yICJObyBpdGVt IGluIHJlZ2lvbiIpKQogICAgICAoKG5vdCAob3JnLWF0LWl0ZW0tcCkpCiAgICAgICAoZXJyb3Ig Ik5vdCBvbiBhbiBpdGVtIikpCkBAIC04MDgsMTMgKzgyMCwxMyBAQCBUT1AgaXMgdGhlIHBvc2l0 aW9uIG9mIGxpc3QncyB0b3AtaXRlbS4iCiAgIChzYXZlLWV4Y3Vyc2lvbgogICAgIChiZWdpbm5p bmctb2YtbGluZSkKICAgICAobGV0ICgoaW5kIChvcmctZ2V0LWluZGVudGF0aW9uKSkpCi0gICAg ICAob3IgKG5vdCAob3JnLXNlYXJjaC1iYWNrd2FyZC11bmVuY2xvc2VkIG9yZy1pdGVtLWJlZ2lu bmluZy1yZSB0b3AgdCkpCisgICAgICAob3IgKG5vdCAob3JnLXNlYXJjaC1iYWNrd2FyZC11bmVu Y2xvc2VkIChvcmctaXRlbS1iZWdpbm5pbmctcmUpIHRvcCB0KSkKIAkgICg8IChvcmctZ2V0LWlu ZGVudGF0aW9uKSBpbmQpKSkpKQogCiAoZGVmdW4gb3JnLWF0LWl0ZW0tcCAoKQogICAiSXMgcG9p bnQgaW4gYSBsaW5lIHN0YXJ0aW5nIGEgaGFuZC1mb3JtYXR0ZWQgaXRlbT8iCiAgIChzYXZlLWV4 Y3Vyc2lvbgotICAgIChiZWdpbm5pbmctb2YtbGluZSkgKGxvb2tpbmctYXQgb3JnLWl0ZW0tYmVn aW5uaW5nLXJlKSkpCisgICAgKGJlZ2lubmluZy1vZi1saW5lKSAobG9va2luZy1hdCAob3JnLWl0 ZW0tYmVnaW5uaW5nLXJlKSkpKQogCiAoZGVmdW4gb3JnLWF0LWl0ZW0tYnVsbGV0LXAgKCkKICAg IklzIHBvaW50IGF0IHRoZSBidWxsZXQgb2YgYSBwbGFpbiBsaXN0IGl0ZW0/IgpAQCAtOTEzLDcg KzkyNSw3IEBAIEFzc3VtZSBwb2ludCBpcyBpbiBhIGxpc3QuIgogICAoc2F2ZS1leGN1cnNpb24K ICAgICA7OyBwb3NzaWJseSBtYXRjaCBjdXJyZW50IGxpbmUKICAgICAoZW5kLW9mLWxpbmUpCi0g ICAgKG9yZy1zZWFyY2gtYmFja3dhcmQtdW5lbmNsb3NlZCBvcmctaXRlbS1iZWdpbm5pbmctcmUg bmlsIHQpCisgICAgKG9yZy1zZWFyY2gtYmFja3dhcmQtdW5lbmNsb3NlZCAob3JnLWl0ZW0tYmVn aW5uaW5nLXJlKSBuaWwgdCkKICAgICAocG9pbnQtYXQtYm9sKSkpCiAKIChkZWZ1biBvcmctYmVn aW5uaW5nLW9mLWl0ZW0gKCkKQEAgLTk0OSw3ICs5NjEsNyBAQCBCT1RUT00gaXMgdGhlIHBvc2l0 aW9uIGF0IGxpc3QgZW5kaW5nLiIKICAgICAobGV0ICgoaW5kIChvcmctZ2V0LWluZGVudGF0aW9u KSkpCiAgICAgICAod2hpbGUgKGFuZCAoLz0gKHBvaW50KSBib3R0b20pCiAJCSAgKD49IChvcmct Z2V0LWluZGVudGF0aW9uKSBpbmQpKQotCShvcmctc2VhcmNoLWZvcndhcmQtdW5lbmNsb3NlZCBv cmctaXRlbS1iZWdpbm5pbmctcmUgYm90dG9tICdtb3ZlKSkKKwkob3JnLXNlYXJjaC1mb3J3YXJk LXVuZW5jbG9zZWQgKG9yZy1pdGVtLWJlZ2lubmluZy1yZSkgYm90dG9tICdtb3ZlKSkKICAgICAg IChpZiAoPSAocG9pbnQpIGJvdHRvbSkgYm90dG9tIChwb2ludC1hdC1ib2wpKSkpKQogCiAoZGVm dW4gb3JnLWVuZC1vZi1pdGVtLWxpc3QgKCkKQEAgLTk3OSw3ICs5OTEsNyBAQCBJZiB0aGUgY3Vy c29yIGlzIG5vdCBpbiBhbiBpdGVtLCB0aHJvdyBhbiBlcnJvci4iCiBCT1RUT00gaXMgdGhlIHBv c2l0aW9uIGF0IGxpc3QgZW5kaW5nLiIKICAgKGVuZC1vZi1saW5lKQogICAoZ290by1jaGFyCi0g ICAoaWYgKG9yZy1zZWFyY2gtZm9yd2FyZC11bmVuY2xvc2VkIG9yZy1pdGVtLWJlZ2lubmluZy1y ZSBib3R0b20gdCkKKyAgIChpZiAob3JnLXNlYXJjaC1mb3J3YXJkLXVuZW5jbG9zZWQgKG9yZy1p dGVtLWJlZ2lubmluZy1yZSkgYm90dG9tIHQpCiAgICAgICAgKHBvaW50LWF0LWJvbCkKICAgICAg KG9yZy1nZXQtZW5kLW9mLWl0ZW0gYm90dG9tKSkpKQogCkBAIC0xMTQxLDExICsxMTUzLDExIEBA IGJ1bGxldCBzdHJpbmcgYW5kIGJ1bGxldCBjb3VudGVyLCBpZiBhbnkuIgogICAgIChsaXN0IChw b2ludC1hdC1ib2wpCiAgICAgICAgICAgKG9yZy1nZXQtaW5kZW50YXRpb24pCiAgICAgICAgICAg KHByb2duCi0gICAgICAgICAgICAobG9va2luZy1hdCAiXlsgXHRdKlxcKFstKyowLTkuKV0rWyBc dF0rXFwpIikKKyAgICAgICAgICAgIChsb29raW5nLWF0ICJeWyBcdF0qXFwoWy0rKjAtOUEtWmEt ei4pXStbIFx0XStcXCkiKQogICAgICAgICAgICAgKG1hdGNoLXN0cmluZyAxKSkKICAgICAgICAg ICAocHJvZ24KICAgICAgICAgICAgIChnb3RvLWNoYXIgKG1hdGNoLWVuZCAwKSkKLSAgICAgICAg ICAgIChhbmQgKGxvb2tpbmctYXQgIlxcW0BcXCg/OnN0YXJ0OlxcKT9cXChbMC05XStcXClcXF0i KQorICAgICAgICAgICAgKGFuZCAobG9va2luZy1hdCAiXFxbQFxcKD86c3RhcnQ6XFwpP1xcKFxc KD86WzAtOV0rXFx8W0EtWmEtel1cXClcXClcXF0iKQogICAgICAgICAgICAgICAgICAobWF0Y2gt c3RyaW5nIDEpKSkpKSkKIAogKGRlZnVuIG9yZy1saXN0LXN0cnVjdCAoYmVnaW4gZW5kIHRvcCBi b3R0b20gJm9wdGlvbmFsIG91dGRlbnQpCkBAIC0xMTc0LDcgKzExODYsNyBAQCBjaGFuZ2UgaXMg YW4gb3V0ZGVudC4iCiAgICAgICAgICAgICAgICAgKGdvdG8tY2hhciBiZWdpbikKICAgICAgICAg ICAgICAgICA7OyBGaW5kIGJlZ2lubmluZyBvZiBtb3N0IG91dGRlbnRlZCBsaXN0IChtaW4gbGlz dCkKICAgICAgICAgICAgICAgICAod2hpbGUgKGFuZCAob3JnLXNlYXJjaC1iYWNrd2FyZC11bmVu Y2xvc2VkCi0JCQkgICAgIG9yZy1pdGVtLWJlZ2lubmluZy1yZSB0b3AgdCkKKwkJCSAgICAgKG9y Zy1pdGVtLWJlZ2lubmluZy1yZSkgdG9wIHQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KD49IChvcmctZ2V0LWluZGVudGF0aW9uKSBpbmQtbWluKSkKICAgICAgICAgICAgICAgICAgIChz ZXRxIHByZS1saXN0IChjb25zIChvcmctbGlzdC1zdHJ1Y3QtYXNzb2MtYXQtcG9pbnQpCiAJCQkJ ICAgICAgIHByZS1saXN0KSkpCkBAIC0xMTg4LDcgKzEyMDAsNyBAQCBjaGFuZ2UgaXMgYW4gb3V0 ZGVudC4iCiAgICAgICAgICAgICAgICAgKGdvdG8tY2hhciBlbmQpCiAgICAgICAgICAgICAgICAg KGVuZC1vZi1saW5lKQogICAgICAgICAgICAgICAgICh3aGlsZSAoYW5kIChvcmctc2VhcmNoLWZv cndhcmQtdW5lbmNsb3NlZAotCQkJICAgICBvcmctaXRlbS1iZWdpbm5pbmctcmUgYm90dG9tICdt b3ZlKQorCQkJICAgICAob3JnLWl0ZW0tYmVnaW5uaW5nLXJlKSBib3R0b20gJ21vdmUpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKD49IChvcmctZ2V0LWluZGVudGF0aW9uKSBpbmQtbWlu KSkKICAgICAgICAgICAgICAgICAgIChzZXRxIHBvc3QtbGlzdCAoY29ucyAob3JnLWxpc3Qtc3Ry dWN0LWFzc29jLWF0LXBvaW50KQogCQkJCQlwb3N0LWxpc3QpKSkKQEAgLTExOTcsMTMgKzEyMDks MTMgQEAgY2hhbmdlIGlzIGFuIG91dGRlbnQuIgogCQkod2hlbiAoYW5kICg9IChjYWFyIHByZS1s aXN0KSAwKSAoPCAocG9pbnQpIGJvdHRvbSkpCiAJCSAgKGJlZ2lubmluZy1vZi1saW5lKQogCQkg ICh3aGlsZSAob3JnLXNlYXJjaC1mb3J3YXJkLXVuZW5jbG9zZWQKLQkJCSAgb3JnLWl0ZW0tYmVn aW5uaW5nLXJlIGJvdHRvbSB0KQorCQkJICAob3JnLWl0ZW0tYmVnaW5uaW5nLXJlKSBib3R0b20g dCkKIAkJICAgIChzZXRxIHBvc3QtbGlzdCAoY29ucyAob3JnLWxpc3Qtc3RydWN0LWFzc29jLWF0 LXBvaW50KQogCQkJCQkgIHBvc3QtbGlzdCkpKSkKICAgICAgICAgICAgICAgICAoYXBwZW5kIHBy ZS1saXN0IHN0cnVjdCAocmV2ZXJzZSBwb3N0LWxpc3QpKSkpKSkKICAgICAgIDs7IEhlcmUgd2Ug c3RhcnQ6IGZpcnN0IGdldCB0aGUgY29yZSB6b25lLi4uCiAgICAgICAoZ290by1jaGFyIGVuZCkK LSAgICAgICh3aGlsZSAob3JnLXNlYXJjaC1iYWNrd2FyZC11bmVuY2xvc2VkIG9yZy1pdGVtLWJl Z2lubmluZy1yZSBiZWdpbiB0KQorICAgICAgKHdoaWxlIChvcmctc2VhcmNoLWJhY2t3YXJkLXVu ZW5jbG9zZWQgKG9yZy1pdGVtLWJlZ2lubmluZy1yZSkgYmVnaW4gdCkKIAkoc2V0cSBzdHJ1Y3Qg KGNvbnMgKG9yZy1saXN0LXN0cnVjdC1hc3NvYy1hdC1wb2ludCkgc3RydWN0KSkpCiAgICAgICA7 OyAuLi4gdGhlbiwgZXh0ZW5kIGl0IHRvIG1ha2UgaXQgYSBzdHJ1Y3R1cmUuLi4KICAgICAgIChs ZXQgKChleHRlbmRlZCAoZnVuY2FsbCBleHRlbmQgc3RydWN0KSkpCkBAIC0xMjQ3LDcgKzEyNTks NyBAQCBTVFJVQ1QgaXMgdGhlIGxpc3QncyBzdHJ1Y3R1cmUgbG9va2VkIHVwLiIKICAgIlJldHVy biBwYXJlbnQgYXNzb2NpYXRpb24gb2YgSVRFTSBpbiBTVFJVQ1Qgb3IgbmlsLgogT1JJR0lOUyBp cyB0aGUgYWxpc3Qgb2YgcGFyZW50cy4gU2VlIGBvcmctbGlzdC1zdHJ1Y3Qtb3JpZ2lucycuIgog ICAobGV0KiAoKHBhcmVudC1wb3MgKGNkciAoYXNzcSAoY2FyIGl0ZW0pIG9yaWdpbnMpKSkpCi0g ICAgKHdoZW4gKD4gcGFyZW50LXBvcyAwKSAoYXNzcSBwYXJlbnQtcG9zIHN0cnVjdCkpKSkKKyAg ICAgICAgKHdoZW4gKGFuZCBwYXJlbnQtcG9zICg+IHBhcmVudC1wb3MgMCkpIChhc3NxIHBhcmVu dC1wb3Mgc3RydWN0KSkpKQogCiAoZGVmdW4gb3JnLWxpc3Qtc3RydWN0LWdldC1jaGlsZCAoaXRl bSBzdHJ1Y3QpCiAgICJSZXR1cm4gY2hpbGQgYXNzb2NpYXRpb24gb2YgSVRFTSBpbiBTVFJVQ1Qg b3IgbmlsLiIKQEAgLTEyNjAsMjEgKzEyNzIsMjcgQEAgT1JJR0lOUyBpcyB0aGUgYWxpc3Qgb2Yg cGFyZW50cy4gU2VlIGBvcmctbGlzdC1zdHJ1Y3Qtb3JpZ2lucycuIgogT1JJR0lOUyBpcyB0aGUg YWxpc3Qgb2YgcGFyZW50cy4gU2VlIGBvcmctbGlzdC1zdHJ1Y3Qtb3JpZ2lucycuCiAKIFRoaXMg ZnVuY3Rpb24gbW9kaWZpZXMgU1RSVUNULiIKKwogICAobGV0KiAoYWNjCiAJIChpbml0LWJ1bCAo bGFtYmRhIChpdGVtKQogCQkgICAgIChsZXQgKChjb3VudGVyIChudGggMyBpdGVtKSkKIAkJCSAg IChidWxsZXQgKG9yZy1saXN0LWJ1bGxldC1zdHJpbmcgKG50aCAyIGl0ZW0pKSkpCiAJCSAgICAg ICAoY29uZAotCQkJKChhbmQgKHN0cmluZy1tYXRjaCAiWzAtOV0rIiBidWxsZXQpIGNvdW50ZXIp CisJCQkoKGFuZCAoc3RyaW5nLW1hdGNoICJbMC05XStcXHxbQS1aYS16XSIgYnVsbGV0KSBjb3Vu dGVyKQogCQkJIChyZXBsYWNlLW1hdGNoIGNvdW50ZXIgbmlsIG5pbCBidWxsZXQpKQogCQkJKChz dHJpbmctbWF0Y2ggIlswLTldKyIgYnVsbGV0KQogCQkJIChyZXBsYWNlLW1hdGNoICIxIiBuaWwg bmlsIGJ1bGxldCkpCisJCQkoKGFuZCAob3JnLWxpc3QtY2FuLWJlLWFscGhhYmV0aWNhbCBvcmln aW5zKQorCQkJICAgICAgKHN0cmluZy1tYXRjaCAiW0EtWmEtel0iIGJ1bGxldCkpCisJCQkgKHJl cGxhY2UtbWF0Y2ggImEiIG5pbCBuaWwgYnVsbGV0KSkKKwkJCSgoc3RyaW5nLW1hdGNoICJbQS1a YS16XSIgYnVsbGV0KQorCQkJIChyZXBsYWNlLW1hdGNoICIxIiBuaWwgbmlsIGJ1bGxldCkpCiAJ CQkodCBidWxsZXQpKSkpKQogCSAoc2V0LWJ1bCAobGFtYmRhIChpdGVtIGJ1bGxldCkKIAkJICAg IChzZXRjZHIgaXRlbSAobGlzdCAobnRoIDEgaXRlbSkgYnVsbGV0IChudGggMyBpdGVtKSkpKSkK IAkgKGdldC1idWwgKGxhbWJkYSAoaXRlbSBidWxsZXQpCiAJCSAgICAobGV0KiAoKGNvdW50ZXIg KG50aCAzIGl0ZW0pKSkKLQkJICAgICAgKGlmIChhbmQgY291bnRlciAoc3RyaW5nLW1hdGNoICJb MC05XSsiIGJ1bGxldCkpCisJCSAgICAgIChpZiAoYW5kIGNvdW50ZXIgKHN0cmluZy1tYXRjaCAi WzAtOV0rXFx8W0EtWmEtel0iIGJ1bGxldCkpCiAJCQkgIChyZXBsYWNlLW1hdGNoIGNvdW50ZXIg bmlsIG5pbCBidWxsZXQpCiAJCQlidWxsZXQpKSkpCiAJIChmaXgtYnVsCkBAIC0xNTg4LDEzICsx NjA2LDYwIEBAIEl0IGRldGVybWluZXMgdGhlIG51bWJlciBvZiB3aGl0ZXNwYWNlcyB0byBhcHBl bmQgYnkgbG9va2luZyBhdAogICAgICAgICAgICIgIikpKQogICAgICBuaWwgbmlsIGJ1bGxldCAx KSkpCiAKKyhkZWZ1biBvcmctaW5jcmVtZW50LXN0cmluZyAoc3RyIGNhcCkKKyAgIkluY3JlbWVu dHMgc3RyIChhLT5hLCBiLT5iLCB6LT5hYSwgYWEtPmFiIGV0YykuICBJZiBjYXAgaXMgbm9uLW5p bCwgdGhlbgorICAgdGhlIGxldHRlcnMgYXJlIGNhcGl0YWxpemVkLiIKKyAgKGxldCAoKHJlcyAo b3JnLWNvbnZlcnQtbnVtLXRvLWFscGhhLXN0cgorCSAgICAgICgxKyAob3JnLWNvbnZlcnQtYWxw aGEtc3RyLXRvLW51bSBzdHIgMSAobGVuZ3RoIHN0cikgY2FwKSkgY2FwKSkKKwkoeiAoaWYgY2Fw ID9aID96KSkKKwkoYiAoaWYgY2FwID9CID9iKSkKKwkoYSAoaWYgY2FwID9BID9hKSkpCisgICAg KGlmIChhbmQoPSAoc3RyaW5nLXRvLWNoYXIgc3RyKSB6KQorCSAgICAoPSAoc3RyaW5nLXRvLWNo YXIgcmVzKSBiKSkKKwkoY29uY2F0IChpZiBjYXAgIkEiICJhIikgIChzdWJzdHJpbmcgcmVzIDEp KQorICAgICAgKGNvbmNhdCAobWFrZS1zdHJpbmcgKC0gKGxlbmd0aCBzdHIpIChsZW5ndGggcmVz KSkgYSkgIHJlcykpKSkKKworKGRlZnVuIG9yZy1jb252ZXJ0LWFscGhhLXN0ci10by1udW0gKHN0 ciBuIHBvcyBjYXApCisgICJDb252ZXJ0cyB0aGUgc3Vic3RyaW5nIGNvbnNpc3Rpbmcgb2YgbG9j YXRpb25zIHBvcyB0byBwb3MtbiB0byBhCisgICBudW1lcmljIHJlcHJlc2VudGF0aW9uLiIKKyAg KGxldCAoKGEgKGlmIGNhcCA/QSA/YSkpKQorICAgIChpZiAoPSBwb3MgMSkgKCogKC0gKHN0cmlu Zy10by1jaGFyIHN0cikgYSkgbikKKyAgICAgICgrICgqICgtIChudGggKDEtIHBvcykgKHN0cmlu Zy10by1saXN0IHN0cikpIGEpIG4pCisJIChvcmctY29udmVydC1hbHBoYS1zdHItdG8tbnVtIHN0 ciAoKiAyNiBuKSAoMS0gcG9zKSBjYXApKSkpKQorCisoZGVmdW4gb3JnLWNvbnZlcnQtbnVtLXRv LWFscGhhLXN0ciAobiBjYXApCisgICJDb252ZXJ0cyB0aGUgbnVtYmVyIG4gdG8gYSBhbHBoYWJl dGljYWwsIGJhc2UtMjYgcmVwcmVzZW50YXRpb24uIgorICAoaWYgKD0gbiAwKSAiIgorICAgIChj b25jYXQgKG9yZy1jb252ZXJ0LW51bS10by1hbHBoYS1zdHIgKC8gbiAyNikgY2FwKQorCSAgICAo c3RyaW5nICgrIChpZiBjYXAgP0EgP2EpICglIG4gMjYpKSkpKSkKKworKGRlZnVuIG9yZy1saXN0 LWNhbi1iZS1hbHBoYWJldGljYWwgKG9yaWdpbnMpCisgICJSZXR1cm5zIHQgaWYgdGhlIGxpc3Qg aGFzIG9ubHkgMjYgZWxlbWVudHMuIgorICAobGV0IAkoKHJldG4gMSkKKwkgKHRtcCBvcmlnaW5z KSkKKyAgICAod2hpbGUgKGFuZCAoY2RyIHRtcCkgKDwgcmV0biAyOCkpCisgICAgICAod2hlbiAo PSAwIChjZHIgKGNhciB0bXApKSkKKwkoc2V0cSByZXRuICgxKyByZXRuKSkpCisgICAgICAoc2V0 cSB0bXAgKGNkciB0bXApKSkKKyAgICAoPCByZXRuIDI4KSkpCisKIChkZWZ1biBvcmctbGlzdC1p bmMtYnVsbGV0LW1heWJlIChidWxsZXQpCiAgICJJbmNyZW1lbnQgQlVMTEVUIGlmIGFwcGxpY2Fi bGUuIgotICAoaWYgKHN0cmluZy1tYXRjaCAiWzAtOV0rIiBidWxsZXQpCisgIChsZXQgKChjYXNl LWZvbGQtc2VhcmNoIG5pbCkpCisgICAgKGNvbmQKKyAgICAgKChzdHJpbmctbWF0Y2ggIlswLTld KyIgYnVsbGV0KQogICAgICAgKHJlcGxhY2UtbWF0Y2gKICAgICAgICAobnVtYmVyLXRvLXN0cmlu ZyAoMSsgKHN0cmluZy10by1udW1iZXIgKG1hdGNoLXN0cmluZyAwIGJ1bGxldCkpKSkKLSAgICAg ICBuaWwgbmlsIGJ1bGxldCkKLSAgICBidWxsZXQpKQorICAgICAgIG5pbCBuaWwgYnVsbGV0KSkK KyAgICAgKChzdHJpbmctbWF0Y2ggIlthLXpdIiBidWxsZXQpCisgICAgICAocmVwbGFjZS1tYXRj aAorICAgICAgIChvcmctaW5jcmVtZW50LXN0cmluZyAobWF0Y2gtc3RyaW5nIDAgYnVsbGV0KSBu aWwpCisgICAgICAgbmlsIG5pbCBidWxsZXQpKQorICAgICAoKHN0cmluZy1tYXRjaCAiW0EtWl0i IGJ1bGxldCkKKyAgICAgIChyZXBsYWNlLW1hdGNoCisgICAgICAgKG9yZy1pbmNyZW1lbnQtc3Ry aW5nIChtYXRjaC1zdHJpbmcgMCBidWxsZXQpIHQpCisgICAgICAgbmlsIG5pbCBidWxsZXQpKQor ICAgICAodCBidWxsZXQpKSkpCiAKIChkZWZ1biBvcmctbGlzdC1yZXBhaXIgKCZvcHRpb25hbCBm b3JjZS1idWxsZXQgdG9wIGJvdHRvbSkKICAgIk1ha2Ugc3VyZSBhbGwgaXRlbXMgYXJlIGNvcnJl Y3RseSBpbmRlbnRlZCwgd2l0aCB0aGUgcmlnaHQgYnVsbGV0LgpAQCAtMTYzNSwzNiArMTcwMCw1 MiBAQCBJZiBXSElDSCBpcyBhIHZhbGlkIHN0cmluZywgdXNlIHRoYXQgYXMgdGhlIG5ldyBidWxs ZXQuIElmIFdISUNICiBpcyBhbiBpbnRlZ2VyLCAwIG1lYW5zIGAtJywgMSBtZWFucyBgKycgZXRj LiBJZiBXSElDSCBpcwogJ3ByZXZpb3VzLCBjeWNsZSBiYWNrd2FyZHMuIgogICAoaW50ZXJhY3Rp dmUgIlAiKQotICAoc2F2ZS1leGN1cnNpb24KLSAgICAobGV0KiAoKHRvcCAob3JnLWxpc3QtdG9w LXBvaW50KSkKLQkgICAoYnVsbGV0IChwcm9nbgotCQkgICAgIChnb3RvLWNoYXIgKG9yZy1nZXQt YmVnaW5uaW5nLW9mLWxpc3QgdG9wKSkKLQkJICAgICAob3JnLWdldC1idWxsZXQpKSkKLQkgICAo Y3VycmVudCAoY29uZAotCQkgICAgICgoc3RyaW5nLW1hdGNoICJcXC4iIGJ1bGxldCkgIjEuIikK LQkJICAgICAoKHN0cmluZy1tYXRjaCAiKSIgYnVsbGV0KSAiMSkiKQotCQkgICAgICh0IGJ1bGxl dCkpKQotCSAgIChidWxsZXQtcnVsZS1wIChjZHIgKGFzc3EgJ2J1bGxldCBvcmctbGlzdC1hdXRv bWF0aWMtcnVsZXMpKSkKLQkgICAoYnVsbGV0LWxpc3QgKGFwcGVuZCAnKCItIiAiKyIgKQotCQkJ CTs7ICotYnVsbGV0cyBhcmUgbm90IGFsbG93ZWQgYXQgY29sdW1uIDAKLQkJCQkodW5sZXNzIChh bmQgYnVsbGV0LXJ1bGUtcAotCQkJCQkgICAgIChsb29raW5nLWF0ICJcXFMtIikpICcoIioiKSkK LQkJCQk7OyBEZXNjcmlwdGlvbiBpdGVtcyBjYW5ub3QgYmUgbnVtYmVyZWQKLQkJCQkodW5sZXNz IChhbmQgYnVsbGV0LXJ1bGUtcAotCQkJCQkgICAgIChvciAoZXEgb3JnLXBsYWluLWxpc3Qtb3Jk ZXJlZC1pdGVtLXRlcm1pbmF0b3IgP1wpKQotCQkJCQkJIChvcmctYXQtaXRlbS1kZXNjcmlwdGlv bi1wKSkpICcoIjEuIikpCi0JCQkJKHVubGVzcyAoYW5kIGJ1bGxldC1ydWxlLXAKLQkJCQkJICAg ICAob3IgKGVxIG9yZy1wbGFpbi1saXN0LW9yZGVyZWQtaXRlbS10ZXJtaW5hdG9yID8uKQotCQkJ CQkJIChvcmctYXQtaXRlbS1kZXNjcmlwdGlvbi1wKSkpICcoIjEpIikpKSkKLQkgICAobGVuIChs ZW5ndGggYnVsbGV0LWxpc3QpKQotCSAgIChpdGVtLWluZGV4ICgtIGxlbiAobGVuZ3RoIChtZW1i ZXIgY3VycmVudCBidWxsZXQtbGlzdCkpKSkKLQkgICAoZ2V0LXZhbHVlIChsYW1iZGEgKGluZGV4 KSAobnRoIChtb2QgaW5kZXggbGVuKSBidWxsZXQtbGlzdCkpKQotCSAgIChuZXcgKGNvbmQKLQkJ ICgobWVtYmVyIHdoaWNoIGJ1bGxldC1saXN0KSB3aGljaCkKLQkJICgobnVtYmVycCB3aGljaCkg KGZ1bmNhbGwgZ2V0LXZhbHVlIHdoaWNoKSkKLQkJICgoZXEgJ3ByZXZpb3VzIHdoaWNoKSAoZnVu Y2FsbCBnZXQtdmFsdWUgKDEtIGl0ZW0taW5kZXgpKSkKLQkJICh0IChmdW5jYWxsIGdldC12YWx1 ZSAoMSsgaXRlbS1pbmRleCkpKSkpKQotICAgICAgKG9yZy1saXN0LXJlcGFpciBuZXcgdG9wKSkp KQorICAobGV0KiAoKHRvcCAob3JnLWxpc3QtdG9wLXBvaW50KSkKKwkgKGxpc3QgKHByb2duIChz YXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHRvcCkgKG9yZy1saXN0LXBhcnNlLWxpc3QpKSkpCisJ IChhbHBoYS1wb3NzaWJsZSAob3JnLWxpc3QtY2FuLWJlLWFscGhhYmV0aWNhbCAob3JnLWxpc3Qt c3RydWN0LW9yaWdpbnMgbGlzdCkpKQorCSAoYnVsbGV0IChzYXZlLWV4Y3Vyc2lvbgorCQkgICAo Z290by1jaGFyIChvcmctZ2V0LWJlZ2lubmluZy1vZi1saXN0IHRvcCkpCisJCSAgIChvcmctZ2V0 LWJ1bGxldCkpKQorCSAoY3VycmVudCAobGV0ICgoY2FzZS1mb2xkLXNlYXJjaCBuaWwpKQorCQkg ICAgKGNvbmQKKwkJICAgICAoKHN0cmluZy1tYXRjaCAiWzAtOV0rXFwuIiBidWxsZXQpICIxLiIp CisJCSAgICAgKChzdHJpbmctbWF0Y2ggIlswLTldKykiIGJ1bGxldCkgIjEpIikKKwkJICAgICAo KHN0cmluZy1tYXRjaCAiW2Etel1cXC4iIGJ1bGxldCkgImEuIikKKwkJICAgICAoKHN0cmluZy1t YXRjaCAiW2Etel0pIiBidWxsZXQpICJhKSIpCisJCSAgICAgKChzdHJpbmctbWF0Y2ggIltBLVpd XFwuIiBidWxsZXQpICJBLiIpCisJCSAgICAgKChzdHJpbmctbWF0Y2ggIltBLVpdKSIgYnVsbGV0 KSAiQSkiKQorCQkgICAgICh0IGJ1bGxldCkpKSkKKwkgKGJ1bGxldC1ydWxlLXAgKGNkciAoYXNz cSAnYnVsbGV0IG9yZy1saXN0LWF1dG9tYXRpYy1ydWxlcykpKQorCSAoYnVsbGV0LWxpc3QgKGFw cGVuZCAnKCItIiAiKyIgKQorCQkJICAgICAgOzsgKi1idWxsZXRzIGFyZSBub3QgYWxsb3dlZCBh dCBjb2x1bW4gMAorCQkJICAgICAgKHVubGVzcyAoYW5kIGJ1bGxldC1ydWxlLXAKKwkJCQkJICAg KGxvb2tpbmctYXQgIlxcUy0iKSkgJygiKiIpKQorCQkJICAgICAgOzsgRGVzY3JpcHRpb24gaXRl bXMgY2Fubm90IGJlIG51bWJlcmVkCisJCQkgICAgICAodW5sZXNzIChhbmQgYnVsbGV0LXJ1bGUt cAorCQkJCQkgICAob3IgKGVxIG9yZy1wbGFpbi1saXN0LW9yZGVyZWQtaXRlbS10ZXJtaW5hdG9y ID8uKQorCQkJCQkgICAgICAgKG9yZy1hdC1pdGVtLWRlc2NyaXB0aW9uLXApKSkgJygiMSkiKSkK KwkJCSAgICAgICh1bmxlc3MgKGFuZCBidWxsZXQtcnVsZS1wCisJCQkJCSAgIChvciAoZXEgb3Jn LXBsYWluLWxpc3Qtb3JkZXJlZC1pdGVtLXRlcm1pbmF0b3IgP1wpKQorCQkJCQkgICAgICAgKG9y Zy1hdC1pdGVtLWRlc2NyaXB0aW9uLXApKSkgJygiMS4iKSkKKwkJCSAgICAgICh3aGVuIChhbmQg b3JnLWFscGhhYmV0aWNhbC1saXN0cyBhbHBoYS1wb3NzaWJsZSkKKwkJCQkoYXBwZW5kCisJCQkJ ICh1bmxlc3MgKGFuZCBidWxsZXQtcnVsZS1wCisJCQkJCSAgICAgIChvciAoZXEgb3JnLXBsYWlu LWxpc3Qtb3JkZXJlZC1pdGVtLXRlcm1pbmF0b3IgPy4pCisJCQkJCQkgIChvcmctYXQtaXRlbS1k ZXNjcmlwdGlvbi1wKSkpCisJCQkJICAgJygiQSkiICJhKSIpKQorCQkJCSAodW5sZXNzIChhbmQg YnVsbGV0LXJ1bGUtcAorCQkJCQkgICAgICAob3IgKGVxIG9yZy1wbGFpbi1saXN0LW9yZGVyZWQt aXRlbS10ZXJtaW5hdG9yID9cKSkKKwkJCQkJCSAgKG9yZy1hdC1pdGVtLWRlc2NyaXB0aW9uLXAp KSkKKwkJCQkgICAnKCJBLiIgImEuIikpKSkpKQorCSAobGVuIChsZW5ndGggYnVsbGV0LWxpc3Qp KQorCSAoaXRlbS1pbmRleCAoLSBsZW4gKGxlbmd0aCAobWVtYmVyIGN1cnJlbnQgYnVsbGV0LWxp c3QpKSkpCisJIChnZXQtdmFsdWUgKGxhbWJkYSAoaW5kZXgpIChudGggKG1vZCBpbmRleCBsZW4p IGJ1bGxldC1saXN0KSkpCisJIChuZXcgKGNvbmQKKwkgICAgICAgKChtZW1iZXIgd2hpY2ggYnVs bGV0LWxpc3QpIHdoaWNoKQorCSAgICAgICAoKG51bWJlcnAgd2hpY2gpIChmdW5jYWxsIGdldC12 YWx1ZSB3aGljaCkpCisJICAgICAgICgoZXEgJ3ByZXZpb3VzIHdoaWNoKSAoZnVuY2FsbCBnZXQt dmFsdWUgKDEtIGl0ZW0taW5kZXgpKSkKKwkgICAgICAgKHQgKGZ1bmNhbGwgZ2V0LXZhbHVlICgx KyBpdGVtLWluZGV4KSkpKSkpCisgICAgKG9yZy1saXN0LXJlcGFpciBuZXcgdG9wKSkpCiAKIDs7 OyBDaGVja2JveGVzCiAKQEAgLTE2OTEsNyArMTc3Miw3IEBAIGluIHN1YnRyZWUsIGlnbm9yaW5n IGRyYXdlcnMuIgogCQkgIChyZW5kIChyZWdpb24tZW5kKSkpCiAJICAgICAgKHNhdmUtZXhjdXJz aW9uCiAJCShnb3RvLWNoYXIgcmJlZykKLQkJKGlmIChvcmctc2VhcmNoLWZvcndhcmQtdW5lbmNs b3NlZCBvcmctaXRlbS1iZWdpbm5pbmctcmUgcmVuZCAnbW92ZSkKKwkJKGlmIChvcmctc2VhcmNo LWZvcndhcmQtdW5lbmNsb3NlZCAob3JnLWl0ZW0tYmVnaW5uaW5nLXJlKSByZW5kICdtb3ZlKQog CQkgICAgKGxpc3QgKHBvaW50LWF0LWJvbCkgcmVuZCBuaWwpCiAJCSAgKGVycm9yICJObyBpdGVt IGluIHJlZ2lvbiIpKSkpKQogICAgICAgICAgICAoKG9yZy1vbi1oZWFkaW5nLXApCkBAIC0xNzAz LDcgKzE3ODQsNyBAQCBpbiBzdWJ0cmVlLCBpZ25vcmluZyBkcmF3ZXJzLiIKIAkJKGdvdG8tY2hh ciBsaW1pdCkKIAkJKG9yZy1zZWFyY2gtYmFja3dhcmQtdW5lbmNsb3NlZCAiOkVORDoiIHBvcyAn bW92ZSkKICAgICAgICAgICAgICAgICAob3JnLXNlYXJjaC1mb3J3YXJkLXVuZW5jbG9zZWQKLQkJ IG9yZy1pdGVtLWJlZ2lubmluZy1yZSBsaW1pdCAnbW92ZSkKKwkJIChvcmctaXRlbS1iZWdpbm5p bmctcmUpIGxpbWl0ICdtb3ZlKQogICAgICAgICAgICAgICAgIChsaXN0IChwb2ludCkgbGltaXQg bmlsKSkpKQogICAgICAgICAgICAoKG9yZy1hdC1pdGVtLXApCiAgICAgICAgICAgICAobGlzdCAo cG9pbnQtYXQtYm9sKSAoMSsgKHBvaW50LWF0LWVvbCkpIHQpKQpAQCAtMTc1MSw3ICsxODMyLDcg QEAgaW4gc3VidHJlZSwgaWdub3JpbmcgZHJhd2Vycy4iCiAgICAgICAoZ290by1jaGFyIGJlZykK ICAgICAgICh3aGlsZSAoPCAocG9pbnQpIGVuZCkKICAgICAgICAgKGZ1bmNhbGwgYWN0LW9uLWl0 ZW0gcmVmLXByZXNlbmNlIHJlZi1zdGF0dXMpCi0gICAgICAgIChvcmctc2VhcmNoLWZvcndhcmQt dW5lbmNsb3NlZCBvcmctaXRlbS1iZWdpbm5pbmctcmUgZW5kICdtb3ZlKSkpCisgICAgICAgIChv cmctc2VhcmNoLWZvcndhcmQtdW5lbmNsb3NlZCAob3JnLWl0ZW0tYmVnaW5uaW5nLXJlKSBlbmQg J21vdmUpKSkKICAgICAob3JnLXVwZGF0ZS1jaGVja2JveC1jb3VudC1tYXliZSkpKQogCiAoZGVm dW4gb3JnLXJlc2V0LWNoZWNrYm94LXN0YXRlLXN1YnRyZWUgKCkKQEAgLTE3ODIsNiArMTg2Myw3 IEBAIGluZm9ybWF0aW9uLiIpCiAgICAgKG9yZy11cGRhdGUtY2hlY2tib3gtY291bnQpKQogICAo cnVuLWhvb2tzICdvcmctY2hlY2tib3gtc3RhdGlzdGljcy1ob29rKSkKIAorCiAoZGVmdW4gb3Jn LXVwZGF0ZS1jaGVja2JveC1jb3VudCAoJm9wdGlvbmFsIGFsbCkKICAgIlVwZGF0ZSB0aGUgY2hl Y2tib3ggc3RhdGlzdGljcyBpbiB0aGUgY3VycmVudCBzZWN0aW9uLgogVGhpcyB3aWxsIGZpbmQg YWxsIHN0YXRpc3RpYyBjb29raWVzIGxpa2UgWzU3JV0gYW5kIFs2LzEyXSBhbmQgdXBkYXRlIHRo ZW0KQEAgLTE3OTgsOCArMTg4MCw4IEBAIHRoZSB3aG9sZSBidWZmZXIuIgogCQkJKGVycm9yIChw b2ludC1taW4pKSkpCiAJCSAoZW5kIChjb3B5LW1hcmtlciAoc2F2ZS1leGN1cnNpb24KIAkJCQkg ICAgIChvdXRsaW5lLW5leHQtaGVhZGluZykgKHBvaW50KSkpKQotCQkgKHJlLWNvb2tpZSAiXFwo XFwoXFxbWzAtOV0qJVxcXVxcKVxcfFxcKFxcW1swLTldKi9bMC05XSpcXF1cXClcXCkiKQotCQkg KHJlLWJveCAiXlsgXHRdKlxcKFstKypdXFx8WzAtOV0rWy4pXVxcKVsgXHRdK1xcKD86XFxbQFxc KD86c3RhcnQ6XFwpP1swLTldK1xcXVsgXHRdKlxcKT9cXChcXFtbLSBYXVxcXVxcKSIpCisJCSAo cmUtY29va2llICJcXChcXChcXFswLTldKiVcXF1cXClcXHxcXChcXFtbMC05XSovWzAtOV0qXFxd XFwpXFwpIikKKwkJIChyZS1ib3ggIl5bIFx0XSpcXChbLSsqXVxcfFxcKD86WzAtOV0rXFx8W0Et WmEtel1cXClbLildXFwpWyBcdF0rXFwoPzpcXFtAXFwoPzpzdGFydDpcXCk/XFwoPzpbMC05XStc XHxbQS1aYS16XVxcKVxcXVsgXHRdKlxcKT9cXChcXFtbLSBYXVxcXVxcKSIpCiAJCSBiZWctY29v a2llIGVuZC1jb29raWUgaXMtcGVyY2VudCBjLW9uIGMtb2ZmIGxpbSBuZXcKIAkJIGN1cnItaW5k IG5leHQtaW5kIGNvbnRpbnVlLWZyb20gc3RhcnRzZWFyY2ggbGlzdC1iZWcgbGlzdC1lbmQKIAkJ IChyZWN1cnNpdmUKQEAgLTE4NjAsNyArMTk0Miw3IEBAIHRoZSB3aG9sZSBidWZmZXIuIgogCQkJ ICAgIChnb3RvLWNoYXIgKG9yIChvcmctZ2V0LW5leHQtaXRlbSAocG9pbnQpIGxpbSkgbGltKSkK IAkJCSAgKGVuZC1vZi1saW5lKQogCQkJICAod2hlbiAob3JnLXNlYXJjaC1mb3J3YXJkLXVuZW5j bG9zZWQKLQkJCQkgb3JnLWl0ZW0tYmVnaW5uaW5nLXJlIGxpbSB0KQorCQkJCSAob3JnLWl0ZW0t YmVnaW5uaW5nLXJlKSBsaW0gdCkKIAkJCSAgICAoYmVnaW5uaW5nLW9mLWxpbmUpKSkKIAkJCShz ZXRxIG5leHQtaW5kIChvcmctZ2V0LWluZGVudGF0aW9uKSkpKSkKIAkJKGdvdG8tY2hhciBjb250 aW51ZS1mcm9tKQpAQCAtMTg4Niw4ICsxOTY4LDggQEAgdGhlIHdob2xlIGJ1ZmZlci4iCiAJICAg ICAgKGdvdG8tY2hhciBjb250aW51ZS1mcm9tKSkpCiAJICAodW5sZXNzIChhbmQgYWxsIChvdXRs aW5lLW5leHQtaGVhZGluZykpICh0aHJvdyAnZXhpdCBuaWwpKSkpCiAgICAgICAod2hlbiAoaW50 ZXJhY3RpdmUtcCkKLQkgICAgICAobWVzc2FnZSAiQ2hlY2tib3ggc3RhdGlzdGljcyB1cGRhdGVk ICVzICglZCBwbGFjZXMpIgotCQkgICAgICAgKGlmIGFsbCAiaW4gZW50aXJlIGZpbGUiICJpbiBj dXJyZW50IG91dGxpbmUgZW50cnkiKSBjc3RhdCkpKSkpCisJKG1lc3NhZ2UgIkNoZWNrYm94IHN0 YXRpc3RpY3MgdXBkYXRlZCAlcyAoJWQgcGxhY2VzKSIKKwkJIChpZiBhbGwgImluIGVudGlyZSBm aWxlIiAiaW4gY3VycmVudCBvdXRsaW5lIGVudHJ5IikgY3N0YXQpKSkpKQogCiAoZGVmdW4gb3Jn LWdldC1jaGVja2JveC1zdGF0aXN0aWNzLWZhY2UgKCkKICAgIlNlbGVjdCB0aGUgZmFjZSBmb3Ig Y2hlY2tib3ggc3RhdGlzdGljcy4KQEAgLTIwMzMsMTAgKzIxMTUsMTAgQEAgc3VibGV2ZWxzIGFz IGEgbGlzdCBvZiBzdHJpbmdzLiIKICAgKGxldCogKChzdGFydCAoZ290by1jaGFyIChvcmctbGlz dC10b3AtcG9pbnQpKSkKIAkgKGVuZCAob3JnLWxpc3QtYm90dG9tLXBvaW50KSkKIAkgb3V0cHV0 IGl0ZW1zZXAgbHR5cGUpCi0gICAgKHdoaWxlIChvcmctc2VhcmNoLWZvcndhcmQtdW5lbmNsb3Nl ZCBvcmctaXRlbS1iZWdpbm5pbmctcmUgZW5kIHQpCisgICAgKHdoaWxlIChvcmctc2VhcmNoLWZv cndhcmQtdW5lbmNsb3NlZCAob3JnLWl0ZW0tYmVnaW5uaW5nLXJlKSBlbmQgdCkKICAgICAgIChz YXZlLWV4Y3Vyc2lvbgogCShiZWdpbm5pbmctb2YtbGluZSkKLQkoc2V0cSBsdHlwZSAoY29uZCAo KG9yZy1sb29raW5nLWF0LXAgIl5bIFx0XSpbMC05XSIpICdvcmRlcmVkKQorCShzZXRxIGx0eXBl IChjb25kICgob3JnLWxvb2tpbmctYXQtcCAiXlsgXHRdKlxcKFswLTldK1xcfFtBLVphLXpdXFwp IikgJ29yZGVyZWQpCiAJCQkgICgob3JnLWF0LWl0ZW0tZGVzY3JpcHRpb24tcCkgJ2Rlc2NyaXB0 aXZlKQogCQkJICAodCAndW5vcmRlcmVkKSkpKQogICAgICAgKGxldCogKChpbmRlbnQxIChvcmct Z2V0LWluZGVudGF0aW9uKSkKQEAgLTIwNDUsNyArMjEyNyw3IEBAIHN1YmxldmVscyBhcyBhIGxp c3Qgb2Ygc3RyaW5ncy4iCiAJCQkJCSAgICAgICAob3JnLWVuZC1vZi1pdGVtLW9yLWF0LWNoaWxk IGVuZCkpKSkKIAkgICAgIChuZXh0aW5kZW50IChpZiAoPSAocG9pbnQpIGVuZCkgMCAob3JnLWdl dC1pbmRlbnRhdGlvbikpKQogCSAgICAgKGl0ZW0gKGlmIChzdHJpbmctbWF0Y2gKLQkJCSJeXFwo PzpcXFtAXFwoPzpzdGFydDpcXCk/WzAtOV0rXFxdWyBcdF0qXFwpP1xcW1xcKFt4WCBdXFwpXFxd IgorCQkJIl5cXCg/OlxcW0BcXCg/OnN0YXJ0OlxcKT9cXCg/OlswLTldK1xcfFtBLVphLXpdXFwp XFxdWyBcdF0qXFwpP1xcW1xcKFt4WCBdXFwpXFxdIgogCQkJaXRlbSkKIAkJICAgICAgIChyZXBs YWNlLW1hdGNoIChpZiAoZXF1YWwgKG1hdGNoLXN0cmluZyAxIGl0ZW0pICIgIikKIAkJCQkJICAi Q0JPRkYiCkBAIC0yMTMwLDcgKzIyMTIsNyBAQCB0aGlzIGxpc3QuIgogCSAgICh0b3AtcG9pbnQK IAkgICAgKHByb2duCiAJICAgICAgKHJlLXNlYXJjaC1iYWNrd2FyZCAiI1xcK09SR0xTVCIgbmls IHQpCi0JICAgICAgKHJlLXNlYXJjaC1mb3J3YXJkIG9yZy1pdGVtLWJlZ2lubmluZy1yZSBib3R0 b20tcG9pbnQgdCkKKwkgICAgICAocmUtc2VhcmNoLWZvcndhcmQgKG9yZy1pdGVtLWJlZ2lubmlu Zy1yZSkgYm90dG9tLXBvaW50IHQpCiAJICAgICAgKG1hdGNoLWJlZ2lubmluZyAwKSkpCiAJICAg KGxpc3QgKHNhdmUtcmVzdHJpY3Rpb24KIAkJICAgKG5hcnJvdy10by1yZWdpb24gdG9wLXBvaW50 IGJvdHRvbS1wb2ludCkKLS0gCjEuNy4yLjMubXN5c2dpdC4wCgo= --0015175cf71273e1920499abb866 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode --0015175cf71273e1920499abb866--