From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nathaniel Flath Subject: Re: [PATH] Speedups to org-table-recalculate Date: Sun, 7 Dec 2014 23:35:03 -0800 Message-ID: References: <87oas9tnlm.fsf@selenimh.mobile.lan> <87oas03ze0.fsf@nicolasgoaziou.fr> <87sigt1wge.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=001a113d14b8fb1aaa0509af7675 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:37818) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XxsqY-0001v4-G9 for emacs-orgmode@gnu.org; Mon, 08 Dec 2014 02:35:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XxsqX-000222-7n for emacs-orgmode@gnu.org; Mon, 08 Dec 2014 02:35:06 -0500 Received: from mail-oi0-x232.google.com ([2607:f8b0:4003:c06::232]:56516) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XxsqX-0001x9-06 for emacs-orgmode@gnu.org; Mon, 08 Dec 2014 02:35:05 -0500 Received: by mail-oi0-f50.google.com with SMTP id a141so2971728oig.37 for ; Sun, 07 Dec 2014 23:35:03 -0800 (PST) In-Reply-To: <87sigt1wge.fsf@nicolasgoaziou.fr> 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-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Nathaniel Flath , Michael Brand , org-mode List --001a113d14b8fb1aaa0509af7675 Content-Type: multipart/alternative; boundary=001a113d14b8fb1aa10509af7673 --001a113d14b8fb1aa10509af7673 Content-Type: text/plain; charset=UTF-8 Fixed. On Fri, Dec 5, 2014 at 3:57 PM, Nicolas Goaziou wrote: > Nathaniel Flath writes: > > > Sorry, that was incorrect - real patches attached. > > Thanks. > > > +(defun org-table-message-once-per-second (t1 &rest args) > > + "If there has been more than one second since T1, display message. > > +ARGS are passed as arguments to the 'message' function. Returns > > +current time if a message is printed, otherwise returns t1.. If > > +T1 is nil, always messages." > > + (let ((curtime (current-time))) > > + (when (or (not t1) (< 0 (nth 1 (time-subtract curtime t1)))) > > + (apply message args) > > + curtime)) > > + t1) > > The docstring seems incorrect, as the function always returns T1, no > matter if a message is printed or not. > > > + (setq log-last-time > > + (org-table-message-once-per-second > > + (when all log-last-time) > > Nitpick: (and all log-last-time) > > > + (when all log-last-time) > > Ditto. > > + (when all log-first-time) > > Ditto. > > > Regards, > --001a113d14b8fb1aa10509af7673 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Fixed.

On Fri, Dec 5, 2014 at 3:57 PM, Nicolas Goaziou <mail@nic= olasgoaziou.fr> wrote:
Nathaniel Flath <flat= 0103@gmail.com> writes:

> Sorry, that was incorrect - real patches attached.

Thanks.

> +(defun org-table-message-once-per-second (t1 &rest args)
> +=C2=A0 "If there has been more than one second since T1, display= message.
> +ARGS are passed as arguments to the 'message' function.=C2=A0= Returns
> +current time if a message is printed, otherwise returns t1..=C2=A0 If=
> +T1 is nil, always messages."
> +=C2=A0 (let ((curtime (current-time)))
> +=C2=A0 =C2=A0 (when (or (not t1) (< 0 (nth 1 (time-subtract curtim= e t1))))
> +=C2=A0 =C2=A0 =C2=A0 (apply message args)
> +=C2=A0 =C2=A0 =C2=A0 curtime))
> +=C2=A0 =C2=A0 t1)

The docstring seems incorrect, as the function always returns T1, no
matter if a message is printed or not.

> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(setq log-last-time
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(org-table-mes= sage-once-per-second
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (when all log= -last-time)

Nitpick: (and all log-last-time)

> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (when all log-last-t= ime)

Ditto.
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(when all log-first-time)

Ditto.


Regards,

--001a113d14b8fb1aa10509af7673-- --001a113d14b8fb1aaa0509af7675 Content-Type: application/octet-stream; name="0001-org-table.el-org-table-recalculate-early-returns(1).patch" Content-Disposition: attachment; filename="0001-org-table.el-org-table-recalculate-early-returns(1).patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i3fiwmdh0 RnJvbSBlYWYxMjExNDYwZjQyMTkwMDJhYWNiYmMzM2Q0Y2M1ODU3NGJmN2M0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXRoYW5pZWwgRmxhdGggPGZsYXQwMTAzQGdtYWlsLmNvbT4K RGF0ZTogU3VuLCAxOSBPY3QgMjAxNCAyMTowNDozMSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMS8y XSBvcmctdGFibGUuZWw6IG9yZy10YWJsZS1yZWNhbGN1bGF0ZSBlYXJseSByZXR1cm5zCgoqIGxp c3Avb3JnLXRhYmxlLmVsIChvcmctdGFibGUtcmVjYWxjdWxhdGUpOiBBZGQgZWFybHkgcmV0dXJu LgotLS0KIGxpc3Avb3JnLXRhYmxlLmVsIHwgMjYzICsrKysrKysrKysrKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEzNCBpbnNlcnRp b25zKCspLCAxMjkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9vcmctdGFibGUuZWwg Yi9saXNwL29yZy10YWJsZS5lbAppbmRleCAzZGI2MDg3Li44MTY3MDllIDEwMDY0NAotLS0gYS9s aXNwL29yZy10YWJsZS5lbAorKysgYi9saXNwL29yZy10YWJsZS5lbApAQCAtMzA0MCwxMzYgKzMw NDAsMTQxIEBAIGtub3duIHRoYXQgdGhlIHRhYmxlIHdpbGwgYmUgcmVhbGlnbmVkIGEgbGl0dGxl IGxhdGVyIGFueXdheS4iCiAJICAgc2Vlbi1maWVsZHMgbGhzMQogCSAgIGJlZyBlbmQgZW50cnkg ZXFsbnVtIGVxbG5hbWUgZXFsbmFtZTEgZXFsIChjbnQgMCkgZXEgYSBuYW1lIG5hbWUxKQogICAg ICAgOzsgSW5zZXJ0IGNvbnN0YW50cyBpbiBhbGwgZm9ybXVsYXMKLSAgICAgIChzZXRxIGVxbGlz dAotCSAgICAobWFwY2FyIChsYW1iZGEgKHgpCi0JCSAgICAgIChpZiAoc3RyaW5nLW1hdGNoICJe QC0/SSsiIChjYXIgeCkpCi0JCQkgICh1c2VyLWVycm9yICJDYW4ndCBhc3NpZ24gdG8gaGxpbmUg cmVsYXRpdmUgcmVmZXJlbmNlIikpCi0JCSAgICAgICh3aGVuIChzdHJpbmctbWF0Y2ggIlxcYCRb PD5dIiAoY2FyIHgpKQotCQkJKHNldHEgbGhzMSAoY2FyIHgpKQotCQkJKHNldHEgeCAoY29ucyAo c3Vic3RyaW5nCi0JCQkJICAgICAgIChvcmctdGFibGUtZm9ybXVsYS1oYW5kbGUtZmlyc3QvbGFz dC1yYwotCQkJCQkoY2FyIHgpKSAxKQotCQkJCSAgICAgIChjZHIgeCkpKQotCQkJKGlmIChhc3Nv YyAoY2FyIHgpIGVxbGlzdDEpCi0JCQkgICAgKHVzZXItZXJyb3IgIlwiJXM9XCIgZm9ybXVsYSB0 cmllcyB0byBvdmVyd3JpdGUgZXhpc3RpbmcgZm9ybXVsYSBmb3IgY29sdW1uICVzIgorICAgICAg KHdoZW4gZXFsaXN0CisJKHNldHEgZXFsaXN0CisJICAgICAgKG1hcGNhcgorCSAgICAgICAobGFt YmRhICh4KQorCQkgKGlmIChzdHJpbmctbWF0Y2ggIl5ALT9JKyIgKGNhciB4KSkKKwkJICAgICAo dXNlci1lcnJvciAiQ2FuJ3QgYXNzaWduIHRvIGhsaW5lIHJlbGF0aXZlIHJlZmVyZW5jZSIpKQor CQkgKHdoZW4gKHN0cmluZy1tYXRjaCAiXFxgJFs8Pl0iIChjYXIgeCkpCisJCSAgIChzZXRxIGxo czEgKGNhciB4KSkKKwkJICAgKHNldHEgeCAoY29ucyAoc3Vic3RyaW5nCisJCQkJICAob3JnLXRh YmxlLWZvcm11bGEtaGFuZGxlLWZpcnN0L2xhc3QtcmMKKwkJCQkgICAoY2FyIHgpKSAxKQorCQkJ CSAoY2RyIHgpKSkKKwkJICAgKGlmIChhc3NvYyAoY2FyIHgpIGVxbGlzdDEpCisJCSAgICAgICAo dXNlci1lcnJvciAiXCIlcz1cIiBmb3JtdWxhIHRyaWVzIHRvIG92ZXJ3cml0ZSBleGlzdGluZyBm b3JtdWxhIGZvciBjb2x1bW4gJXMiCiAJCQkJICAgbGhzMSAoY2FyIHgpKSkpCi0JCSAgICAgIChj b25zCi0JCSAgICAgICAob3JnLXRhYmxlLWZvcm11bGEtaGFuZGxlLWZpcnN0L2xhc3QtcmMgKGNh ciB4KSkKLQkJICAgICAgIChvcmctdGFibGUtZm9ybXVsYS1zdWJzdGl0dXRlLW5hbWVzCi0JCQko b3JnLXRhYmxlLWZvcm11bGEtaGFuZGxlLWZpcnN0L2xhc3QtcmMgKGNkciB4KSkpKSkKLQkJICAg IGVxbGlzdCkpCi0gICAgICA7OyBTcGxpdCB0aGUgZXF1YXRpb24gbGlzdAotICAgICAgKHdoaWxl IChzZXRxIGVxIChwb3AgZXFsaXN0KSkKLQkoaWYgKDw9IChzdHJpbmctdG8tY2hhciAoY2FyIGVx KSkgPzkpCi0JICAgIChwdXNoIGVxIGVxbG51bSkKLQkgIChwdXNoIGVxIGVxbG5hbWUpKSkKLSAg ICAgIChzZXRxIGVxbG51bSAobnJldmVyc2UgZXFsbnVtKSBlcWxuYW1lIChucmV2ZXJzZSBlcWxu YW1lKSkKLSAgICAgIDs7IEV4cGFuZCByYW5nZXMgaW4gbGhzIG9mIGZvcm11bGFzCi0gICAgICAo c2V0cSBlcWxuYW1lIChvcmctdGFibGUtZXhwYW5kLWxocy1yYW5nZXMgZXFsbmFtZSkpCi0KLSAg ICAgIDs7IEdldCB0aGUgY29ycmVjdCBsaW5lIHJhbmdlIHRvIHByb2Nlc3MKLSAgICAgIChpZiBh bGwKLQkgIChwcm9nbgotCSAgICAoc2V0cSBlbmQgKG1vdmUtbWFya2VyIChtYWtlLW1hcmtlcikg KDErIChvcmctdGFibGUtZW5kKSkpKQotCSAgICAoZ290by1jaGFyIChzZXRxIGJlZyAob3JnLXRh YmxlLWJlZ2luKSkpCi0JICAgIChpZiAocmUtc2VhcmNoLWZvcndhcmQgb3JnLXRhYmxlLWNhbGN1 bGF0ZS1tYXJrLXJlZ2V4cCBlbmQgdCkKLQkJOzsgVGhpcyBpcyBhIHRhYmxlIHdpdGggbWFya2Vk IGxpbmVzLCBjb21wdXRlIHNlbGVjdGVkIGxpbmVzCi0JCShzZXRxIGxpbmUtcmUgb3JnLXRhYmxl LXJlY2FsY3VsYXRlLXJlZ2V4cCkKLQkgICAgICA7OyBNb3ZlIGZvcndhcmQgdG8gdGhlIGZpcnN0 IG5vbi1oZWFkZXIgbGluZQotCSAgICAgIChpZiAoYW5kIChyZS1zZWFyY2gtZm9yd2FyZCBvcmct dGFibGUtZGF0YWxpbmUtcmVnZXhwIGVuZCB0KQotCQkgICAgICAgKHJlLXNlYXJjaC1mb3J3YXJk IG9yZy10YWJsZS1obGluZS1yZWdleHAgZW5kIHQpCi0JCSAgICAgICAocmUtc2VhcmNoLWZvcndh cmQgb3JnLXRhYmxlLWRhdGFsaW5lLXJlZ2V4cCBlbmQgdCkpCi0JCSAgKHNldHEgYmVnIChtYXRj aC1iZWdpbm5pbmcgMCkpCi0JCW5pbCkpKSA7OyBqdXN0IGxlYXZlIGJlZyB3aGVyZSBpdCBpcwot CShzZXRxIGJlZyAocG9pbnQtYXQtYm9sKQotCSAgICAgIGVuZCAobW92ZS1tYXJrZXIgKG1ha2Ut bWFya2VyKSAoMSsgKHBvaW50LWF0LWVvbCkpKSkpCi0gICAgICAoZ290by1jaGFyIGJlZykKLSAg ICAgIChhbmQgYWxsIChtZXNzYWdlICJSZS1hcHBseWluZyBmb3JtdWxhcyB0byBmdWxsIHRhYmxl Li4uIikpCi0KLSAgICAgIDs7IEZpcnN0IGZpbmQgdGhlIG5hbWVkIGZpZWxkcywgYW5kIG1hcmsg dGhlbSB1bnRvdWNoYWJsZS4KLSAgICAgIDs7IEFsc28gY2hlY2sgaWYgc2V2ZXJhbCBmaWVsZC9y YW5nZSBmb3JtdWxhcyB0cnkgdG8gc2V0IHRoZSBzYW1lIGZpZWxkLgotICAgICAgKHJlbW92ZS10 ZXh0LXByb3BlcnRpZXMgYmVnIGVuZCAnKG9yZy11bnRvdWNoYWJsZSB0KSkKLSAgICAgICh3aGls ZSAoc2V0cSBlcSAocG9wIGVxbG5hbWUpKQotCShzZXRxIG5hbWUgKGNhciBlcSkKLQkgICAgICBh IChhc3NvYyBuYW1lIG9yZy10YWJsZS1uYW1lZC1maWVsZC1sb2NhdGlvbnMpKQotCShzZXRxIG5h bWUxIG5hbWUpCi0JKGlmIGEgKHNldHEgbmFtZTEgKGZvcm1hdCAiQCVkJCVkIiAob3JnLXRhYmxl LWxpbmUtdG8tZGxpbmUgKG50aCAxIGEpKQotCQkJCSAgKG50aCAyIGEpKSkpCi0JKHdoZW4gKG1l bWJlciBuYW1lMSBzZWVuLWZpZWxkcykKLQkgICh1c2VyLWVycm9yICJTZXZlcmFsIGZpZWxkL3Jh bmdlIGZvcm11bGFzIHRyeSB0byBzZXQgJXMiIG5hbWUxKSkKLQkocHVzaCBuYW1lMSBzZWVuLWZp ZWxkcykKLQotCShhbmQgKG5vdCBhKQotCSAgICAgKHN0cmluZy1tYXRjaCAiQFxcKFswLTldK1xc KVxcJFxcKFswLTldK1xcKSIgbmFtZSkKLQkgICAgIChzZXRxIGEgKGxpc3QgbmFtZQotCQkJICAg KGNvbmRpdGlvbi1jYXNlIG5pbAotCQkJICAgICAgIChhcmVmIG9yZy10YWJsZS1kbGluZXMKLQkJ CQkgICAgIChzdHJpbmctdG8tbnVtYmVyIChtYXRjaC1zdHJpbmcgMSBuYW1lKSkpCi0JCQkgICAg IChlcnJvciAodXNlci1lcnJvciAiSW52YWxpZCByb3cgbnVtYmVyIGluICVzIgotCQkJCQkgICBu YW1lKSkpCi0JCQkgICAoc3RyaW5nLXRvLW51bWJlciAobWF0Y2gtc3RyaW5nIDIgbmFtZSkpKSkp Ci0JKHdoZW4gKGFuZCBhIChvciBhbGwgKGVxdWFsIChudGggMSBhKSB0aGlzbGluZSkpKQotCSAg KG1lc3NhZ2UgIlJlLWFwcGx5aW5nIGZvcm11bGEgdG8gZmllbGQ6ICVzIiBuYW1lKQotCSAgKG9y Zy1nb3RvLWxpbmUgKG50aCAxIGEpKQotCSAgKG9yZy10YWJsZS1nb3RvLWNvbHVtbiAobnRoIDIg YSkpCi0JICAocHVzaCAoYXBwZW5kIGEgKGxpc3QgKGNkciBlcSkpKSBlcWxuYW1lMSkKLQkgIChv cmctdGFibGUtcHV0LWZpZWxkLXByb3BlcnR5IDpvcmctdW50b3VjaGFibGUgdCkpKQotICAgICAg KHNldHEgZXFsbmFtZTEgKG5yZXZlcnNlIGVxbG5hbWUxKSkKLQotICAgICAgOzsgTm93IGV2YWx1 YXRlIHRoZSBjb2x1bW4gZm9ybXVsYXMsIGJ1dCBza2lwIGZpZWxkcyBjb3ZlcmVkIGJ5Ci0gICAg ICA7OyBmaWVsZCBmb3JtdWxhcwotICAgICAgKGdvdG8tY2hhciBiZWcpCi0gICAgICAod2hpbGUg KHJlLXNlYXJjaC1mb3J3YXJkIGxpbmUtcmUgZW5kIHQpCi0JKHVubGVzcyAoc3RyaW5nLW1hdGNo ICJeICpbX14hJC9dICokIiAob3JnLXRhYmxlLWdldC1maWVsZCAxKSkKLQkgIDs7IFVucHJvdGVj dGVkIGxpbmUsIHJlY2FsY3VsYXRlCi0JICAoYW5kIGFsbCAobWVzc2FnZSAiUmUtYXBwbHlpbmcg Zm9ybXVsYXMgdG8gZnVsbCB0YWJsZS4uLihsaW5lICVkKSIKLQkJCSAgICAoc2V0cSBjbnQgKDEr IGNudCkpKSkKLQkgIChzZXRxIG9yZy1sYXN0LXJlY2FsYy1saW5lIChvcmctY3VycmVudC1saW5l KSkKLQkgIChzZXRxIGVxbCBlcWxudW0pCi0JICAod2hpbGUgKHNldHEgZW50cnkgKHBvcCBlcWwp KQotCSAgICAob3JnLWdvdG8tbGluZSBvcmctbGFzdC1yZWNhbGMtbGluZSkKLQkgICAgKG9yZy10 YWJsZS1nb3RvLWNvbHVtbiAoc3RyaW5nLXRvLW51bWJlciAoY2FyIGVudHJ5KSkgbmlsICdmb3Jj ZSkKLQkgICAgKHVubGVzcyAoZ2V0LXRleHQtcHJvcGVydHkgKHBvaW50KSA6b3JnLXVudG91Y2hh YmxlKQotCSAgICAgIChvcmctdGFibGUtZXZhbC1mb3JtdWxhIG5pbCAoY2RyIGVudHJ5KQotCQkJ CSAgICAgICdub2FsaWduICdub2NzdCAnbm9zdG9yZSAnbm9hbmFseXNpcykpKSkpCi0KLSAgICAg IDs7IE5vdyBldmFsdWF0ZSB0aGUgZmllbGQgZm9ybXVsYXMKLSAgICAgICh3aGlsZSAoc2V0cSBl cSAocG9wIGVxbG5hbWUxKSkKLQkobWVzc2FnZSAiUmUtYXBwbHlpbmcgZm9ybXVsYSB0byBmaWVs ZDogJXMiIChjYXIgZXEpKQotCShvcmctZ290by1saW5lIChudGggMSBlcSkpCi0JKGxldCAoKGNv bHVtbi10YXJnZXQgKG50aCAyIGVxKSkpCi0JICAod2hlbiAoPiBjb2x1bW4tdGFyZ2V0IDEwMDAp Ci0JICAgICh1c2VyLWVycm9yICJGb3JtdWxhIGNvbHVtbiB0YXJnZXQgdG9vIGxhcmdlIikpCi0J ICAobGV0KiAoKGNvbHVtbi1jb3VudCAocHJvZ24gKGVuZC1vZi1saW5lKQotCQkJCSAgICAgICgx LSAob3JnLXRhYmxlLWN1cnJlbnQtY29sdW1uKSkpKQotCQkgKGNyZWF0ZS1uZXctY29sdW1uCi0J CSAgKGFuZCAoPiBjb2x1bW4tdGFyZ2V0IGNvbHVtbi1jb3VudCkKLQkJICAgICAgIChvciAoZXEg b3JnLXRhYmxlLWZvcm11bGEtY3JlYXRlLWNvbHVtbnMgdCkKLQkJCSAgIChhbmQKLQkJCSAgICAo ZXEgb3JnLXRhYmxlLWZvcm11bGEtY3JlYXRlLWNvbHVtbnMgJ3dhcm4pCi0JCQkgICAgKHByb2du Ci0JCQkgICAgICAob3JnLWRpc3BsYXktd2FybmluZyAiT3V0LW9mLWJvdW5kcyBmb3JtdWxhIGFk ZGVkIGNvbHVtbnMiKQotCQkJICAgICAgdCkpCi0JCQkgICAoYW5kCi0JCQkgICAgKGVxIG9yZy10 YWJsZS1mb3JtdWxhLWNyZWF0ZS1jb2x1bW5zICdwcm9tcHQpCi0JCQkgICAgKHllcy1vci1uby1w ICJPdXQtb2YtYm91bmRzIGZvcm11bGEuIEFkZCBjb2x1bW5zPyIpKSkpKSkKLQkgICAgKG9yZy10 YWJsZS1nb3RvLWNvbHVtbiBjb2x1bW4tdGFyZ2V0IG5pbCBjcmVhdGUtbmV3LWNvbHVtbikpCi0K LQkgIChvcmctdGFibGUtZXZhbC1mb3JtdWxhIG5pbCAobnRoIDMgZXEpICdub2FsaWduICdub2Nz dAotCQkJCSAgJ25vc3RvcmUgJ25vYW5hbHlzaXMpKSkKLQotICAgICAgKG9yZy1nb3RvLWxpbmUg dGhpc2xpbmUpCi0gICAgICAob3JnLXRhYmxlLWdvdG8tY29sdW1uIHRoaXNjb2wpCi0gICAgICAo cmVtb3ZlLXRleHQtcHJvcGVydGllcyAocG9pbnQtbWluKSAocG9pbnQtbWF4KSAnKG9yZy11bnRv dWNoYWJsZSB0KSkKLSAgICAgIChvciBub2FsaWduIChhbmQgb3JnLXRhYmxlLW1heS1uZWVkLXVw ZGF0ZSAob3JnLXRhYmxlLWFsaWduKSkKLQkgIChhbmQgYWxsIChtZXNzYWdlICJSZS1hcHBseWlu ZyBmb3JtdWxhcyB0byAlZCBsaW5lcy4uLmRvbmUiIGNudCkpKQotCi0gICAgICA7OyBiYWNrIHRv IGluaXRpYWwgcG9zaXRpb24KLSAgICAgIChtZXNzYWdlICJSZS1hcHBseWluZyBmb3JtdWxhcy4u LmRvbmUiKQotICAgICAgKG9yZy1nb3RvLWxpbmUgdGhpc2xpbmUpCi0gICAgICAob3JnLXRhYmxl LWdvdG8tY29sdW1uIHRoaXNjb2wpCi0gICAgICAob3Igbm9hbGlnbiAoYW5kIG9yZy10YWJsZS1t YXktbmVlZC11cGRhdGUgKG9yZy10YWJsZS1hbGlnbikpCi0JICAoYW5kIGFsbCAobWVzc2FnZSAi UmUtYXBwbHlpbmcgZm9ybXVsYXMuLi5kb25lIikpKSkpKQorCQkgKGNvbnMKKwkJICAob3JnLXRh YmxlLWZvcm11bGEtaGFuZGxlLWZpcnN0L2xhc3QtcmMgKGNhciB4KSkKKwkJICAob3JnLXRhYmxl LWZvcm11bGEtc3Vic3RpdHV0ZS1uYW1lcworCQkgICAob3JnLXRhYmxlLWZvcm11bGEtaGFuZGxl LWZpcnN0L2xhc3QtcmMgKGNkciB4KSkpKSkKKwkgICAgICAgZXFsaXN0KSkKKwk7OyBTcGxpdCB0 aGUgZXF1YXRpb24gbGlzdAorCSh3aGlsZSAoc2V0cSBlcSAocG9wIGVxbGlzdCkpCisJICAoaWYg KDw9IChzdHJpbmctdG8tY2hhciAoY2FyIGVxKSkgPzkpCisJICAgICAgKHB1c2ggZXEgZXFsbnVt KQorCSAgICAocHVzaCBlcSBlcWxuYW1lKSkpCisJKHNldHEgZXFsbnVtIChucmV2ZXJzZSBlcWxu dW0pIGVxbG5hbWUgKG5yZXZlcnNlIGVxbG5hbWUpKQorCTs7IEV4cGFuZCByYW5nZXMgaW4gbGhz IG9mIGZvcm11bGFzCisJKHNldHEgZXFsbmFtZSAob3JnLXRhYmxlLWV4cGFuZC1saHMtcmFuZ2Vz IGVxbG5hbWUpKQorCisJOzsgR2V0IHRoZSBjb3JyZWN0IGxpbmUgcmFuZ2UgdG8gcHJvY2Vzcwor CShpZiBhbGwKKwkgICAgKHByb2duCisJICAgICAgKHNldHEgZW5kIChtb3ZlLW1hcmtlciAobWFr ZS1tYXJrZXIpICgxKyAob3JnLXRhYmxlLWVuZCkpKSkKKwkgICAgICAoZ290by1jaGFyIChzZXRx IGJlZyAob3JnLXRhYmxlLWJlZ2luKSkpCisJICAgICAgKGlmIChyZS1zZWFyY2gtZm9yd2FyZCBv cmctdGFibGUtY2FsY3VsYXRlLW1hcmstcmVnZXhwIGVuZCB0KQorCQkgIDs7IFRoaXMgaXMgYSB0 YWJsZSB3aXRoIG1hcmtlZCBsaW5lcywgY29tcHV0ZSBzZWxlY3RlZCBsaW5lcworCQkgIChzZXRx IGxpbmUtcmUgb3JnLXRhYmxlLXJlY2FsY3VsYXRlLXJlZ2V4cCkKKwkJOzsgTW92ZSBmb3J3YXJk IHRvIHRoZSBmaXJzdCBub24taGVhZGVyIGxpbmUKKwkJKGlmIChhbmQgKHJlLXNlYXJjaC1mb3J3 YXJkIG9yZy10YWJsZS1kYXRhbGluZS1yZWdleHAgZW5kIHQpCisJCQkgKHJlLXNlYXJjaC1mb3J3 YXJkIG9yZy10YWJsZS1obGluZS1yZWdleHAgZW5kIHQpCisJCQkgKHJlLXNlYXJjaC1mb3J3YXJk IG9yZy10YWJsZS1kYXRhbGluZS1yZWdleHAgZW5kIHQpKQorCQkgICAgKHNldHEgYmVnIChtYXRj aC1iZWdpbm5pbmcgMCkpCisJCSAgbmlsKSkpIDs7IGp1c3QgbGVhdmUgYmVnIHdoZXJlIGl0IGlz CisJICAoc2V0cSBiZWcgKHBvaW50LWF0LWJvbCkKKwkJZW5kIChtb3ZlLW1hcmtlciAobWFrZS1t YXJrZXIpICgxKyAocG9pbnQtYXQtZW9sKSkpKSkKKwkoZ290by1jaGFyIGJlZykKKwkoYW5kIGFs bCAobWVzc2FnZSAiUmUtYXBwbHlpbmcgZm9ybXVsYXMgdG8gZnVsbCB0YWJsZS4uLiIpKQorCisJ OzsgRmlyc3QgZmluZCB0aGUgbmFtZWQgZmllbGRzLCBhbmQgbWFyayB0aGVtIHVudG91Y2hhYmxl LgorCTs7IEFsc28gY2hlY2sgaWYgc2V2ZXJhbCBmaWVsZC9yYW5nZSBmb3JtdWxhcyB0cnkgdG8g c2V0IHRoZSBzYW1lIGZpZWxkLgorCShyZW1vdmUtdGV4dC1wcm9wZXJ0aWVzIGJlZyBlbmQgJyhv cmctdW50b3VjaGFibGUgdCkpCisJKHdoaWxlIChzZXRxIGVxIChwb3AgZXFsbmFtZSkpCisJICAo c2V0cSBuYW1lIChjYXIgZXEpCisJCWEgKGFzc29jIG5hbWUgb3JnLXRhYmxlLW5hbWVkLWZpZWxk LWxvY2F0aW9ucykpCisJICAoc2V0cSBuYW1lMSBuYW1lKQorCSAgKGlmIGEgKHNldHEgbmFtZTEg KGZvcm1hdCAiQCVkJCVkIiAob3JnLXRhYmxlLWxpbmUtdG8tZGxpbmUgKG50aCAxIGEpKQorCQkJ CSAgICAobnRoIDIgYSkpKSkKKwkgICh3aGVuIChtZW1iZXIgbmFtZTEgc2Vlbi1maWVsZHMpCisJ ICAgICh1c2VyLWVycm9yICJTZXZlcmFsIGZpZWxkL3JhbmdlIGZvcm11bGFzIHRyeSB0byBzZXQg JXMiIG5hbWUxKSkKKwkgIChwdXNoIG5hbWUxIHNlZW4tZmllbGRzKQorCisJICAoYW5kIChub3Qg YSkKKwkgICAgICAgKHN0cmluZy1tYXRjaCAiQFxcKFswLTldK1xcKVxcJFxcKFswLTldK1xcKSIg bmFtZSkKKwkgICAgICAgKHNldHEgYSAobGlzdCBuYW1lCisJCQkgICAgIChjb25kaXRpb24tY2Fz ZSBuaWwKKwkJCQkgKGFyZWYgb3JnLXRhYmxlLWRsaW5lcworCQkJCSAgICAgICAoc3RyaW5nLXRv LW51bWJlciAobWF0Y2gtc3RyaW5nIDEgbmFtZSkpKQorCQkJICAgICAgIChlcnJvciAodXNlci1l cnJvciAiSW52YWxpZCByb3cgbnVtYmVyIGluICVzIgorCQkJCQkJICBuYW1lKSkpCisJCQkgICAg IChzdHJpbmctdG8tbnVtYmVyIChtYXRjaC1zdHJpbmcgMiBuYW1lKSkpKSkKKwkgICh3aGVuIChh bmQgYSAob3IgYWxsIChlcXVhbCAobnRoIDEgYSkgdGhpc2xpbmUpKSkKKwkgICAgKG1lc3NhZ2Ug IlJlLWFwcGx5aW5nIGZvcm11bGEgdG8gZmllbGQ6ICVzIiBuYW1lKQorCSAgICAob3JnLWdvdG8t bGluZSAobnRoIDEgYSkpCisJICAgIChvcmctdGFibGUtZ290by1jb2x1bW4gKG50aCAyIGEpKQor CSAgICAocHVzaCAoYXBwZW5kIGEgKGxpc3QgKGNkciBlcSkpKSBlcWxuYW1lMSkKKwkgICAgKG9y Zy10YWJsZS1wdXQtZmllbGQtcHJvcGVydHkgOm9yZy11bnRvdWNoYWJsZSB0KSkpCisJKHNldHEg ZXFsbmFtZTEgKG5yZXZlcnNlIGVxbG5hbWUxKSkKKworCTs7IE5vdyBldmFsdWF0ZSB0aGUgY29s dW1uIGZvcm11bGFzLCBidXQgc2tpcCBmaWVsZHMgY292ZXJlZAorCTs7IGJ5IGZpZWxkIGZvcm11 bGFzCisJKGdvdG8tY2hhciBiZWcpCisJKHdoaWxlIChyZS1zZWFyY2gtZm9yd2FyZCBsaW5lLXJl IGVuZCB0KQorCSAgKHVubGVzcyAoc3RyaW5nLW1hdGNoICJeICpbX14hJC9dICokIiAob3JnLXRh YmxlLWdldC1maWVsZCAxKSkKKwkgICAgOzsgVW5wcm90ZWN0ZWQgbGluZSwgcmVjYWxjdWxhdGUK KwkgICAgKGFuZCBhbGwgKG1lc3NhZ2UgIlJlLWFwcGx5aW5nIGZvcm11bGFzIHRvIGZ1bGwgdGFi bGUuLi4obGluZSAlZCkiCisJCQkgICAgICAoc2V0cSBjbnQgKDErIGNudCkpKSkKKwkgICAgKHNl dHEgb3JnLWxhc3QtcmVjYWxjLWxpbmUgKG9yZy1jdXJyZW50LWxpbmUpKQorCSAgICAoc2V0cSBl cWwgZXFsbnVtKQorCSAgICAod2hpbGUgKHNldHEgZW50cnkgKHBvcCBlcWwpKQorCSAgICAgIChv cmctZ290by1saW5lIG9yZy1sYXN0LXJlY2FsYy1saW5lKQorCSAgICAgIChvcmctdGFibGUtZ290 by1jb2x1bW4gKHN0cmluZy10by1udW1iZXIgKGNhciBlbnRyeSkpIG5pbCAnZm9yY2UpCisJICAg ICAgKHVubGVzcyAoZ2V0LXRleHQtcHJvcGVydHkgKHBvaW50KSA6b3JnLXVudG91Y2hhYmxlKQor CQkob3JnLXRhYmxlLWV2YWwtZm9ybXVsYQorCQkgbmlsIChjZHIgZW50cnkpCisJCSAnbm9hbGln biAnbm9jc3QgJ25vc3RvcmUgJ25vYW5hbHlzaXMpKSkpKQorCisJOzsgTm93IGV2YWx1YXRlIHRo ZSBmaWVsZCBmb3JtdWxhcworCSh3aGlsZSAoc2V0cSBlcSAocG9wIGVxbG5hbWUxKSkKKwkgICht ZXNzYWdlICJSZS1hcHBseWluZyBmb3JtdWxhIHRvIGZpZWxkOiAlcyIgKGNhciBlcSkpCisJICAo b3JnLWdvdG8tbGluZSAobnRoIDEgZXEpKQorCSAgKGxldCAoKGNvbHVtbi10YXJnZXQgKG50aCAy IGVxKSkpCisJICAgICh3aGVuICg+IGNvbHVtbi10YXJnZXQgMTAwMCkKKwkgICAgICAodXNlci1l cnJvciAiRm9ybXVsYSBjb2x1bW4gdGFyZ2V0IHRvbyBsYXJnZSIpKQorCSAgICAobGV0KiAoKGNv bHVtbi1jb3VudCAocHJvZ24gKGVuZC1vZi1saW5lKQorCQkJCQkoMS0gKG9yZy10YWJsZS1jdXJy ZW50LWNvbHVtbikpKSkKKwkJICAgKGNyZWF0ZS1uZXctY29sdW1uCisJCSAgICAoYW5kICg+IGNv bHVtbi10YXJnZXQgY29sdW1uLWNvdW50KQorCQkJIChvciAoZXEgb3JnLXRhYmxlLWZvcm11bGEt Y3JlYXRlLWNvbHVtbnMgdCkKKwkJCSAgICAgKGFuZAorCQkJICAgICAgKGVxIG9yZy10YWJsZS1m b3JtdWxhLWNyZWF0ZS1jb2x1bW5zICd3YXJuKQorCQkJICAgICAgKHByb2duCisJCQkJKG9yZy1k aXNwbGF5LXdhcm5pbmcKKwkJCQkgIk91dC1vZi1ib3VuZHMgZm9ybXVsYSBhZGRlZCBjb2x1bW5z IikKKwkJCQl0KSkKKwkJCSAgICAgKGFuZAorCQkJICAgICAgKGVxIG9yZy10YWJsZS1mb3JtdWxh LWNyZWF0ZS1jb2x1bW5zICdwcm9tcHQpCisJCQkgICAgICAoeWVzLW9yLW5vLXAKKwkJCSAgICAg ICAiT3V0LW9mLWJvdW5kcyBmb3JtdWxhLiBBZGQgY29sdW1ucz8iKSkpKSkpCisJICAgICAgKG9y Zy10YWJsZS1nb3RvLWNvbHVtbiBjb2x1bW4tdGFyZ2V0IG5pbCBjcmVhdGUtbmV3LWNvbHVtbikp CisKKwkgICAgKG9yZy10YWJsZS1ldmFsLWZvcm11bGEgbmlsIChudGggMyBlcSkgJ25vYWxpZ24g J25vY3N0CisJCQkJICAgICdub3N0b3JlICdub2FuYWx5c2lzKSkpCisKKwkob3JnLWdvdG8tbGlu ZSB0aGlzbGluZSkKKwkob3JnLXRhYmxlLWdvdG8tY29sdW1uIHRoaXNjb2wpCisJKHJlbW92ZS10 ZXh0LXByb3BlcnRpZXMgKHBvaW50LW1pbikgKHBvaW50LW1heCkgJyhvcmctdW50b3VjaGFibGUg dCkpCisJKG9yIG5vYWxpZ24gKGFuZCBvcmctdGFibGUtbWF5LW5lZWQtdXBkYXRlIChvcmctdGFi bGUtYWxpZ24pKQorCSAgICAoYW5kIGFsbCAobWVzc2FnZSAiUmUtYXBwbHlpbmcgZm9ybXVsYXMg dG8gJWQgbGluZXMuLi5kb25lIiBjbnQpKSkKKworCTs7IGJhY2sgdG8gaW5pdGlhbCBwb3NpdGlv bgorCShtZXNzYWdlICJSZS1hcHBseWluZyBmb3JtdWxhcy4uLmRvbmUiKQorCShvcmctZ290by1s aW5lIHRoaXNsaW5lKQorCShvcmctdGFibGUtZ290by1jb2x1bW4gdGhpc2NvbCkKKwkob3Igbm9h bGlnbiAoYW5kIG9yZy10YWJsZS1tYXktbmVlZC11cGRhdGUgKG9yZy10YWJsZS1hbGlnbikpCisJ ICAgIChhbmQgYWxsIChtZXNzYWdlICJSZS1hcHBseWluZyBmb3JtdWxhcy4uLmRvbmUiKSkpKSkp KQogCiA7OzsjIyNhdXRvbG9hZAogKGRlZnVuIG9yZy10YWJsZS1pdGVyYXRlICgmb3B0aW9uYWwg YXJnKQotLSAKMS44LjUuMiAoQXBwbGUgR2l0LTQ4KQoK --001a113d14b8fb1aaa0509af7675 Content-Type: application/octet-stream; name="0001-org-table.el-org-table-recalculate-is-quieter.patch" Content-Disposition: attachment; filename="0001-org-table.el-org-table-recalculate-is-quieter.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i3fix9qe1 RnJvbSBmOTBkNzUwNDg2NjBhMjk5NWZkY2IwN2IwMzBjODNlNTgwYzRhYTlmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXRoYW5pZWwgRmxhdGggPGZsYXQwMTAzQGdtYWlsLmNvbT4K RGF0ZTogV2VkLCAxMiBOb3YgMjAxNCAxNzoxNTowMyArMDUzMApTdWJqZWN0OiBbUEFUQ0hdIG9y Zy10YWJsZS5lbDogb3JnLXRhYmxlLXJlY2FsY3VsYXRlIGlzIHF1aWV0ZXIKCiogbGlzcC9vcmct dGFibGUuZWwgKG9yZy10YWJsZS1yZWNhbGN1bGF0ZSk6IFJlbW92ZWQgbWVzc2FnZSBmb3Igc3Rh cnQgb2YKcHJvY2Vzc2luZy4gIFdoZW4gQUxMIGlzIHQsIG1lc3NhZ2VzIGFyZSBwcmludGVkIGF0 IG1vc3Qgb25jZSBwZXIgc2Vjb25kLgotLS0KIGxpc3Avb3JnLXRhYmxlLmVsIHwgNDQgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAz NSBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpc3Avb3JnLXRh YmxlLmVsIGIvbGlzcC9vcmctdGFibGUuZWwKaW5kZXggMjEzOWQ4Ni4uNmM5ZjRiZiAxMDA2NDQK LS0tIGEvbGlzcC9vcmctdGFibGUuZWwKKysrIGIvbGlzcC9vcmctdGFibGUuZWwKQEAgLTI5OTUs NiArMjk5NSwxNyBAQCBsaXN0LCAnbGl0ZXJhbCBpcyBmb3IgdGhlIGZvcm1hdCBzcGVjaWZpZXIg TC4iCiAJCSAgIGVsZW1lbnRzCiAJCSAgICIsIikgIl0iKSkpKQogCisoZGVmdW4gb3JnLXRhYmxl LW1lc3NhZ2Utb25jZS1wZXItc2Vjb25kICh0MSAmcmVzdCBhcmdzKQorICAiSWYgdGhlcmUgaGFz IGJlZW4gbW9yZSB0aGFuIG9uZSBzZWNvbmQgc2luY2UgVDEsIGRpc3BsYXkgbWVzc2FnZS4KK0FS R1MgYXJlIHBhc3NlZCBhcyBhcmd1bWVudHMgdG8gdGhlICdtZXNzYWdlJyBmdW5jdGlvbi4gIFJl dHVybnMKK2N1cnJlbnQgdGltZSBpZiBhIG1lc3NhZ2UgaXMgcHJpbnRlZCwgb3RoZXJ3aXNlIHJl dHVybnMgdDEuICBJZgorVDEgaXMgbmlsLCBhbHdheXMgbWVzc2FnZXMuIgorICAobGV0ICgoY3Vy dGltZSAoY3VycmVudC10aW1lKSkpCisgICAgKGlmIChvciAobm90IHQxKSAoPCAwIChudGggMSAo dGltZS1zdWJ0cmFjdCBjdXJ0aW1lIHQxKSkpKQorCShwcm9nbiAoYXBwbHkgJ21lc3NhZ2UgYXJn cykKKwkgICAgICAgY3VydGltZSkKKyAgICAgIHQxKSkpCisKIDs7OyMjI2F1dG9sb2FkCiAoZGVm dW4gb3JnLXRhYmxlLXJlY2FsY3VsYXRlICgmb3B0aW9uYWwgYWxsIG5vYWxpZ24pCiAgICJSZWNh bGN1bGF0ZSB0aGUgY3VycmVudCB0YWJsZSBsaW5lIGJ5IGFwcGx5aW5nIGFsbCBzdG9yZWQgZm9y bXVsYXMuCkBAIC0zMDE5LDYgKzMwMzAsOCBAQCBrbm93biB0aGF0IHRoZSB0YWJsZSB3aWxsIGJl IHJlYWxpZ25lZCBhIGxpdHRsZSBsYXRlciBhbnl3YXkuIgogCSAgIChsaW5lLXJlIG9yZy10YWJs ZS1kYXRhbGluZS1yZWdleHApCiAJICAgKHRoaXNsaW5lIChvcmctY3VycmVudC1saW5lKSkKIAkg ICAodGhpc2NvbCAob3JnLXRhYmxlLWN1cnJlbnQtY29sdW1uKSkKKwkgICAobG9nLWZpcnN0LXRp bWUgKGN1cnJlbnQtdGltZSkpCisJICAgKGxvZy1sYXN0LXRpbWUgbG9nLWZpcnN0LXRpbWUpCiAJ ICAgc2Vlbi1maWVsZHMgbGhzMQogCSAgIGJlZyBlbmQgZW50cnkgZXFsbnVtIGVxbG5hbWUgZXFs bmFtZTEgZXFsIChjbnQgMCkgZXEgYSBuYW1lIG5hbWUxKQogICAgICAgOzsgSW5zZXJ0IGNvbnN0 YW50cyBpbiBhbGwgZm9ybXVsYXMKQEAgLTMwNjgsNyArMzA4MSw2IEBAIGtub3duIHRoYXQgdGhl IHRhYmxlIHdpbGwgYmUgcmVhbGlnbmVkIGEgbGl0dGxlIGxhdGVyIGFueXdheS4iCiAJICAoc2V0 cSBiZWcgKHBvaW50LWF0LWJvbCkKIAkJZW5kIChtb3ZlLW1hcmtlciAobWFrZS1tYXJrZXIpICgx KyAocG9pbnQtYXQtZW9sKSkpKSkKIAkoZ290by1jaGFyIGJlZykKLQkoYW5kIGFsbCAobWVzc2Fn ZSAiUmUtYXBwbHlpbmcgZm9ybXVsYXMgdG8gZnVsbCB0YWJsZS4uLiIpKQogCiAJOzsgRmlyc3Qg ZmluZCB0aGUgbmFtZWQgZmllbGRzLCBhbmQgbWFyayB0aGVtIHVudG91Y2hhYmxlLgogCTs7IEFs c28gY2hlY2sgaWYgc2V2ZXJhbCBmaWVsZC9yYW5nZSBmb3JtdWxhcyB0cnkgdG8gc2V0IHRoZSBz YW1lIGZpZWxkLgpAQCAtMzA5Myw3ICszMTA1LDEwIEBAIGtub3duIHRoYXQgdGhlIHRhYmxlIHdp bGwgYmUgcmVhbGlnbmVkIGEgbGl0dGxlIGxhdGVyIGFueXdheS4iCiAJCQkJCQkgIG5hbWUpKSkK IAkJCSAgICAgKHN0cmluZy10by1udW1iZXIgKG1hdGNoLXN0cmluZyAyIG5hbWUpKSkpKQogCSAg KHdoZW4gKGFuZCBhIChvciBhbGwgKGVxdWFsIChudGggMSBhKSB0aGlzbGluZSkpKQotCSAgICAo bWVzc2FnZSAiUmUtYXBwbHlpbmcgZm9ybXVsYSB0byBmaWVsZDogJXMiIG5hbWUpCisJICAgIChz ZXRxIGxvZy1sYXN0LXRpbWUKKwkJICAob3JnLXRhYmxlLW1lc3NhZ2Utb25jZS1wZXItc2Vjb25k CisJCSAgIChhbmQgYWxsIGxvZy1sYXN0LXRpbWUpCisJCSAgICJSZS1hcHBseWluZyBmb3JtdWxh IHRvIGZpZWxkOiAlcyIgbmFtZSkpCiAJICAgIChvcmctZ290by1saW5lIChudGggMSBhKSkKIAkg ICAgKG9yZy10YWJsZS1nb3RvLWNvbHVtbiAobnRoIDIgYSkpCiAJICAgIChwdXNoIChhcHBlbmQg YSAobGlzdCAoY2RyIGVxKSkpIGVxbG5hbWUxKQpAQCAtMzEwNiw4ICszMTIxLDExIEBAIGtub3du IHRoYXQgdGhlIHRhYmxlIHdpbGwgYmUgcmVhbGlnbmVkIGEgbGl0dGxlIGxhdGVyIGFueXdheS4i CiAJKHdoaWxlIChyZS1zZWFyY2gtZm9yd2FyZCBsaW5lLXJlIGVuZCB0KQogCSAgKHVubGVzcyAo c3RyaW5nLW1hdGNoICJeICpbX14hJC9dICokIiAob3JnLXRhYmxlLWdldC1maWVsZCAxKSkKIAkg ICAgOzsgVW5wcm90ZWN0ZWQgbGluZSwgcmVjYWxjdWxhdGUKLQkgICAgKGFuZCBhbGwgKG1lc3Nh Z2UgIlJlLWFwcGx5aW5nIGZvcm11bGFzIHRvIGZ1bGwgdGFibGUuLi4obGluZSAlZCkiCi0JCQkg ICAgICAoc2V0cSBjbnQgKDErIGNudCkpKSkKKwkgICAgKHNldHEgY250ICgxKyBjbnQpKQorCSAg ICAoYW5kIGFsbCAoc2V0cSBsb2ctbGFzdC10aW1lCisJCQkgICAob3JnLXRhYmxlLW1lc3NhZ2Ut b25jZS1wZXItc2Vjb25kCisJCQkgICAgbG9nLWxhc3QtdGltZQorCQkJICAgICJSZS1hcHBseWlu ZyBmb3JtdWxhcyB0byBmdWxsIHRhYmxlLi4uKGxpbmUgJWQpIiBjbnQpKSkKIAkgICAgKHNldHEg b3JnLWxhc3QtcmVjYWxjLWxpbmUgKG9yZy1jdXJyZW50LWxpbmUpKQogCSAgICAoc2V0cSBlcWwg ZXFsbnVtKQogCSAgICAod2hpbGUgKHNldHEgZW50cnkgKHBvcCBlcWwpKQpAQCAtMzEyMCw3ICsz MTM4LDEwIEBAIGtub3duIHRoYXQgdGhlIHRhYmxlIHdpbGwgYmUgcmVhbGlnbmVkIGEgbGl0dGxl IGxhdGVyIGFueXdheS4iCiAKIAk7OyBOb3cgZXZhbHVhdGUgdGhlIGZpZWxkIGZvcm11bGFzCiAJ KHdoaWxlIChzZXRxIGVxIChwb3AgZXFsbmFtZTEpKQotCSAgKG1lc3NhZ2UgIlJlLWFwcGx5aW5n IGZvcm11bGEgdG8gZmllbGQ6ICVzIiAoY2FyIGVxKSkKKwkgIChzZXRxIGxvZy1sYXN0LXRpbWUK KwkJKG9yZy10YWJsZS1tZXNzYWdlLW9uY2UtcGVyLXNlY29uZAorCQkgKGFuZCBhbGwgbG9nLWxh c3QtdGltZSkKKwkJICJSZS1hcHBseWluZyBmb3JtdWxhIHRvIGZpZWxkOiAlcyIgKGNhciBlcSkp KQogCSAgKG9yZy1nb3RvLWxpbmUgKG50aCAxIGVxKSkKIAkgIChsZXQgKChjb2x1bW4tdGFyZ2V0 IChudGggMiBlcSkpKQogCSAgICAod2hlbiAoPiBjb2x1bW4tdGFyZ2V0IDEwMDApCkBAIC0zMTQ5 LDE0ICszMTcwLDE5IEBAIGtub3duIHRoYXQgdGhlIHRhYmxlIHdpbGwgYmUgcmVhbGlnbmVkIGEg bGl0dGxlIGxhdGVyIGFueXdheS4iCiAJKG9yZy10YWJsZS1nb3RvLWNvbHVtbiB0aGlzY29sKQog CShyZW1vdmUtdGV4dC1wcm9wZXJ0aWVzIChwb2ludC1taW4pIChwb2ludC1tYXgpICcob3JnLXVu dG91Y2hhYmxlIHQpKQogCShvciBub2FsaWduIChhbmQgb3JnLXRhYmxlLW1heS1uZWVkLXVwZGF0 ZSAob3JnLXRhYmxlLWFsaWduKSkKLQkgICAgKGFuZCBhbGwgKG1lc3NhZ2UgIlJlLWFwcGx5aW5n IGZvcm11bGFzIHRvICVkIGxpbmVzLi4uZG9uZSIgY250KSkpCisJICAgIChhbmQgYWxsIChvcmct dGFibGUtbWVzc2FnZS1vbmNlLXBlci1zZWNvbmQKKwkJICAgICAgbG9nLWZpcnN0LXRpbWUKKwkJ ICAgICAgIlJlLWFwcGx5aW5nIGZvcm11bGFzIHRvICVkIGxpbmVzLi4uZG9uZSIgY250KSkpCisK IAogCTs7IGJhY2sgdG8gaW5pdGlhbCBwb3NpdGlvbgotCShtZXNzYWdlICJSZS1hcHBseWluZyBm b3JtdWxhcy4uLmRvbmUiKQorCShvcmctdGFibGUtbWVzc2FnZS1vbmNlLXBlci1zZWNvbmQKKyAg ICAgICAgICh3aGVuIGFsbCBsb2ctZmlyc3QtdGltZSkKKyAgICAgICAgICJSZS1hcHBseWluZyBm b3JtdWxhcy4uLmRvbmUiKQorCiAJKG9yZy1nb3RvLWxpbmUgdGhpc2xpbmUpCiAJKG9yZy10YWJs ZS1nb3RvLWNvbHVtbiB0aGlzY29sKQotCShvciBub2FsaWduIChhbmQgb3JnLXRhYmxlLW1heS1u ZWVkLXVwZGF0ZSAob3JnLXRhYmxlLWFsaWduKSkKLQkgICAgKGFuZCBhbGwgKG1lc3NhZ2UgIlJl LWFwcGx5aW5nIGZvcm11bGFzLi4uZG9uZSIpKSkpKSkpCisJKG9yIG5vYWxpZ24gKGFuZCBvcmct dGFibGUtbWF5LW5lZWQtdXBkYXRlIChvcmctdGFibGUtYWxpZ24pKSkpKSkpCiAKIDs7OyMjI2F1 dG9sb2FkCiAoZGVmdW4gb3JnLXRhYmxlLWl0ZXJhdGUgKCZvcHRpb25hbCBhcmcpCi0tIAoxLjku MyAoQXBwbGUgR2l0LTUwKQoK --001a113d14b8fb1aaa0509af7675--