From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takafumi Arakaki Subject: [PATCH] Support hour in repeated task cookie Date: Tue, 27 Mar 2012 23:22:39 +0200 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=00235429ddd85d8adb04bc4018d9 Return-path: Received: from eggs.gnu.org ([208.118.235.92]:55075) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SCdr6-0006xb-Sg for emacs-orgmode@gnu.org; Tue, 27 Mar 2012 17:23:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SCdr4-0000Vf-7a for emacs-orgmode@gnu.org; Tue, 27 Mar 2012 17:23:04 -0400 Received: from mail-qc0-f169.google.com ([209.85.216.169]:41525) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SCdr4-0000UM-0K for emacs-orgmode@gnu.org; Tue, 27 Mar 2012 17:23:02 -0400 Received: by qcsd16 with SMTP id d16so307358qcs.0 for ; Tue, 27 Mar 2012 14:22:59 -0700 (PDT) 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: emacs-orgmode@gnu.org --00235429ddd85d8adb04bc4018d9 Content-Type: text/plain; charset=ISO-8859-1 Hi, Basically, this patch changes all occurrence of "[dwmy]" with "[hdwmy]" and adds "("h" . hour)" to whata of org-auto-repeat-maybe. I think it is better to have some constant to indicate "dwmy". So, this pull request is rather a proof-of-concept and a feature request. I didn't try to do it by myself because I thought org developers might have some preference to how to add this constant. If somebody who can commit the change can add a constant and introduce "h" for repeated cookie, please do it. If you think I should create another patch to add the constant, please give me a name of the constant. How should we call "dwmy"? "Time unit chars" or something like that? If the current patch is acceptable, it is fine for me. Maybe you want to introduce some constants afterward. Best, Takafumi --00235429ddd85d8adb04bc4018d9 Content-Type: text/x-patch; charset=US-ASCII; name="0001-Support-hour-in-repeated-task-cookie.patch" Content-Disposition: attachment; filename="0001-Support-hour-in-repeated-task-cookie.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h0bfpd850 RnJvbSBiZDFhMjJmZTI0NWM1ZTJlMzM5NzliNGIzNTFiZmI0NTY0ZTgzODI1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUYWthZnVtaSBBcmFrYWtpIDxha2EudGtmQGdtYWlsLmNvbT4K RGF0ZTogVHVlLCAyNyBNYXIgMjAxMiAyMjo1NTozOSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMS8y XSBTdXBwb3J0IGhvdXIgaW4gcmVwZWF0ZWQgdGFzayBjb29raWUKCkJhc2ljYWxseSwgdGhpcyBw YXRjaCBjaGFuZ2VzIGFsbCBvY2N1cnJlbmNlIG9mICJbZHdteV0iIHdpdGgKIltoZHdteV0iIGFu ZCBhZGRzICIoImgiIC4gaG91cikiIHRvIHdoYXRhIG9mIG9yZy1hdXRvLXJlcGVhdC1tYXliZS4K LS0tCiBsaXNwL29yZy5lbCB8ICAgMzggKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0t LS0tLS0KIDEgZmlsZXMgY2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvbGlzcC9vcmcuZWwgYi9saXNwL29yZy5lbAppbmRleCAwNGM1YzYyLi4y OTgxYjBmIDEwMDY0NAotLS0gYS9saXNwL29yZy5lbAorKysgYi9saXNwL29yZy5lbApAQCAtNjgz LDcgKzY4Myw3IEBAIEFuIGVudHJ5IGNhbiBiZSB0b2dnbGVkIGJldHdlZW4gUVVPVEUgYW5kIG5v cm1hbCB3aXRoCiAgIDp0eXBlICdzdHJpbmcpCiAKIChkZWZjb25zdCBvcmctcmVwZWF0LXJlCi0g ICI8WzAtOV1cXHs0XFx9LVswLTldWzAtOV0tWzAtOV1bMC05XSBbXj5cbl0qP1xcKFsuK10/XFwr WzAtOV0rW2R3bXldXFwoL1swLTldK1tkd215XVxcKT9cXCkiCisgICI8WzAtOV1cXHs0XFx9LVsw LTldWzAtOV0tWzAtOV1bMC05XSBbXj5cbl0qP1xcKFsuK10/XFwrWzAtOV0rW2hkd215XVxcKC9b MC05XStbaGR3bXldXFwpP1xcKSIKICAgIlJlZ3VsYXIgZXhwcmVzc2lvbiBmb3Igc3BlY2lmeWlu ZyByZXBlYXRlZCBldmVudHMuCiBBZnRlciBhIG1hdGNoLCBncm91cCAxIGNvbnRhaW5zIHRoZSBy ZXBlYXQgZXhwcmVzc2lvbi4iKQogCkBAIC03OTE5LDcgKzc5MTksNyBAQCBhbmQgc3RpbGwgcmV0 YWluIHRoZSByZXBlYXRlciB0byBjb3ZlciBmdXR1cmUgaW5zdGFuY2VzIG9mIHRoZSB0YXNrLiIK ICAgICAoaWYgKG5vdCAoYW5kIChpbnRlZ2VycCBuKSAoPiBuIDApKSkKIAkoZXJyb3IgIkludmFs aWQgbnVtYmVyIG9mIHJlcGxpY2F0aW9ucyAlcyIgbikpCiAgICAgKGlmIChhbmQgKHNldHEgZG9z aGlmdCAoYW5kIChzdHJpbmdwIHNoaWZ0KSAoc3RyaW5nLW1hdGNoICJcXFMtIiBzaGlmdCkpKQot CSAgICAgKG5vdCAoc3RyaW5nLW1hdGNoICJcXGBbIFx0XSpcXCs/XFwoWzAtOV0rXFwpXFwoW2R3 bXldXFwpWyBcdF0qXFwnIgorCSAgICAgKG5vdCAoc3RyaW5nLW1hdGNoICJcXGBbIFx0XSpcXCs/ XFwoWzAtOV0rXFwpXFwoW2hkd215XVxcKVsgXHRdKlxcJyIKIAkJCQlzaGlmdCkpKQogCShlcnJv ciAiSW52YWxpZCBzaGlmdCBzcGVjaWZpY2F0aW9uICVzIiBzaGlmdCkpCiAgICAgKHdoZW4gZG9z aGlmdApAQCAtNzkzNyw3ICs3OTM3LDcgQEAgYW5kIHN0aWxsIHJldGFpbiB0aGUgcmVwZWF0ZXIg dG8gY292ZXIgZnV0dXJlIGluc3RhbmNlcyBvZiB0aGUgdGFzay4iCiAgICAgKHNldHEgZW5kIChw b2ludCkpCiAgICAgKHNldHEgdGVtcGxhdGUgKGJ1ZmZlci1zdWJzdHJpbmcgYmVnIGVuZCkpCiAg ICAgKHdoZW4gKGFuZCBkb3NoaWZ0Ci0JICAgICAgIChzdHJpbmctbWF0Y2ggIjxbXjw+XG5dKyBb LitdP1xcK1swLTldK1tkd215XVtePD5cbl0qPiIgdGVtcGxhdGUpKQorCSAgICAgICAoc3RyaW5n LW1hdGNoICI8W148PlxuXSsgWy4rXT9cXCtbMC05XStbaGR3bXldW148PlxuXSo+IiB0ZW1wbGF0 ZSkpCiAgICAgICAoZGVsZXRlLXJlZ2lvbiBiZWcgZW5kKQogICAgICAgKHNldHEgZW5kIGJlZykK ICAgICAgIChzZXRxIG5taW4gMCBubWF4ICgxKyBubWF4KSBuLW5vLXJlbW92ZSBubWF4KSkKQEAg LTc5NjgsNyArNzk2OCw3IEBAIGFuZCBzdGlsbCByZXRhaW4gdGhlIHJlcGVhdGVyIHRvIGNvdmVy IGZ1dHVyZSBpbnN0YW5jZXMgb2YgdGhlIHRhc2suIgogCQkod2hpbGUgKHJlLXNlYXJjaC1mb3J3 YXJkIG9yZy10cy1yZWdleHAgbmlsIHQpCiAJCSAgKHNhdmUtZXhjdXJzaW9uCiAJCSAgICAoZ290 by1jaGFyIChtYXRjaC1iZWdpbm5pbmcgMCkpCi0JCSAgICAoaWYgKGxvb2tpbmctYXQgIjxbXjw+ XG5dK1xcKCArWy4rXT9cXCtbMC05XStbZHdteV1cXCkiKQorCQkgICAgKGlmIChsb29raW5nLWF0 ICI8W148PlxuXStcXCggK1suK10/XFwrWzAtOV0rW2hkd215XVxcKSIpCiAJCQkoZGVsZXRlLXJl Z2lvbiAobWF0Y2gtYmVnaW5uaW5nIDEpIChtYXRjaC1lbmQgMSkpKSkpKSkKIAkgICAgKHNldHEg dGFzayAoYnVmZmVyLXN0cmluZykpKQogCSAgKGluc2VydCB0YXNrKSkKQEAgLTExODcwLDcgKzEx ODcwLDcgQEAgVGhpcyBmdW5jdGlvbiBpcyBydW4gYXV0b21hdGljYWxseSBhZnRlciBlYWNoIHN0 YXRlIGNoYW5nZSB0byBhIERPTkUgc3RhdGUuIgogCSAoYWEgKGFzc29jIGxhc3Qtc3RhdGUgb3Jn LXRvZG8ta3dkLWFsaXN0KSkKIAkgKGludGVycHJldCAobnRoIDEgYWEpKQogCSAoaGVhZCAobnRo IDIgYWEpKQotCSAod2hhdGEgJygoImQiIC4gZGF5KSAoIm0iIC4gbW9udGgpICgieSIgLiB5ZWFy KSkpCisJICh3aGF0YSAnKCgiaCIgLiBob3VyKSAoImQiIC4gZGF5KSAoIm0iIC4gbW9udGgpICgi eSIgLiB5ZWFyKSkpCiAJIChtc2cgIkVudHJ5IHJlcGVhdHM6ICIpCiAJIChvcmctbG9nLWRvbmUg bmlsKQogCSAob3JnLXRvZG8tbG9nLXN0YXRlcyBuaWwpCkBAIC0xMTkwNiw3ICsxMTkwNiw3IEBA IFRoaXMgZnVuY3Rpb24gaXMgcnVuIGF1dG9tYXRpY2FsbHkgYWZ0ZXIgZWFjaCBzdGF0ZSBjaGFu Z2UgdG8gYSBET05FIHN0YXRlLiIKIAkoc2V0cSB0eXBlIChpZiAobWF0Y2gtZW5kIDEpIG9yZy1z Y2hlZHVsZWQtc3RyaW5nCiAJCSAgICAgKGlmIChtYXRjaC1lbmQgMykgb3JnLWRlYWRsaW5lLXN0 cmluZyAiUGxhaW46IikpCiAJICAgICAgdHMgKG1hdGNoLXN0cmluZyAoaWYgKG1hdGNoLWVuZCAy KSAyIChpZiAobWF0Y2gtZW5kIDQpIDQgMCkpKSkKLQkod2hlbiAoc3RyaW5nLW1hdGNoICJcXChb LitdXFwpP1xcKFxcK1swLTldK1xcKVxcKFtkd215XVxcKSIgdHMpCisJKHdoZW4gKHN0cmluZy1t YXRjaCAiXFwoWy4rXVxcKT9cXChcXCtbMC05XStcXClcXChbaGR3bXldXFwpIiB0cykKIAkgIChz ZXRxCW4gKHN0cmluZy10by1udW1iZXIgKG1hdGNoLXN0cmluZyAyIHRzKSkKIAkJd2hhdCAobWF0 Y2gtc3RyaW5nIDMgdHMpKQogCSAgKGlmIChlcXVhbCB3aGF0ICJ3IikgKHNldHEgbiAoKiBuIDcp IHdoYXQgImQiKSkKQEAgLTExOTM1LDcgKzExOTM1LDcgQEAgVGhpcyBmdW5jdGlvbiBpcyBydW4g YXV0b21hdGljYWxseSBhZnRlciBlYWNoIHN0YXRlIGNoYW5nZSB0byBhIERPTkUgc3RhdGUuIgog CSAgICAgIDs7IHJlbWF0Y2gsIHNvIHRoYXQgd2UgaGF2ZSBldmVyeXRoaW5nIGluIHBsYWNlIGZv ciB0aGUgcmVhbCBzaGlmdAogCSAgICAgIChvcmctYXQtdGltZXN0YW1wLXAgdCkKIAkgICAgICAo c2V0cSB0cyAobWF0Y2gtc3RyaW5nIDEpKQotCSAgICAgIChzdHJpbmctbWF0Y2ggIlxcKFsuK11c XCk/XFwoXFwrWzAtOV0rXFwpXFwoW2R3bXldXFwpIiB0cykpKSkKKwkgICAgICAoc3RyaW5nLW1h dGNoICJcXChbLitdXFwpP1xcKFxcK1swLTldK1xcKVxcKFtoZHdteV1cXCkiIHRzKSkpKQogCSAg KG9yZy10aW1lc3RhbXAtY2hhbmdlIG4gKGNkciAoYXNzb2Mgd2hhdCB3aGF0YSkpKQogCSAgKHNl dHEgbXNnIChjb25jYXQgbXNnIHR5cGUgIiAiIG9yZy1sYXN0LWNoYW5nZWQtdGltZXN0YW1wICIg IikpKSkKICAgICAgIChzZXRxIG9yZy1sb2ctcG9zdC1tZXNzYWdlIG1zZykKQEAgLTExOTgyLDcg KzExOTgyLDcgQEAgY2FuIGVpdGhlciBiZSBhbiBPcmcgZGF0ZSBsaWtlIFwiMjAxMS0wNy0yNFwi IG9yIGEgZGVsdGEgbGlrZSBcIisyZFwiLiIKICAgICAobGV0KiAoKG9sZC1kYXRlIChvcmctZW50 cnktZ2V0IG5pbCAiREVBRExJTkUiKSkKIAkgICAocmVwZWF0ZXIgKGFuZCBvbGQtZGF0ZQogCQkJ ICAoc3RyaW5nLW1hdGNoCi0JCQkgICAiXFwoWy4rLV0rWzAtOV0rW2R3bXldXFwoPzpbLyBdWy0r XT9bMC05XStbZHdteV1cXCk/XFwpID8iCisJCQkgICAiXFwoWy4rLV0rWzAtOV0rW2hkd215XVxc KD86Wy8gXVstK10/WzAtOV0rW2hkd215XVxcKT9cXCkgPyIKIAkJCSAgIG9sZC1kYXRlKQogCQkJ ICAobWF0Y2gtc3RyaW5nIDEgb2xkLWRhdGUpKSkpCiAgICAgICAoaWYgcmVtb3ZlCkBAIC0xMjAz MCw3ICsxMjAzMCw3IEBAIGVpdGhlciBiZSBhbiBPcmcgZGF0ZSBsaWtlIFwiMjAxMS0wNy0yNFwi IG9yIGEgZGVsdGEgbGlrZSBcIisyZFwiLiIKICAgICAobGV0KiAoKG9sZC1kYXRlIChvcmctZW50 cnktZ2V0IG5pbCAiU0NIRURVTEVEIikpCiAJICAgKHJlcGVhdGVyIChhbmQgb2xkLWRhdGUKIAkJ CSAgKHN0cmluZy1tYXRjaAotCQkJICAgIlxcKFsuKy1dK1swLTldK1tkd215XVxcKD86Wy8gXVst K10/WzAtOV0rW2R3bXldXFwpP1xcKSA/IgorCQkJICAgIlxcKFsuKy1dK1swLTldK1toZHdteV1c XCg/OlsvIF1bLStdP1swLTldK1toZHdteV1cXCk/XFwpID8iCiAJCQkgICBvbGQtZGF0ZSkKIAkJ CSAgKG1hdGNoLXN0cmluZyAxIG9sZC1kYXRlKSkpKQogICAgICAgKGlmIHJlbW92ZQpAQCAtMTMx NjEsNyArMTMxNjEsNyBAQCBlcG9jaCB0byB0aGUgYmVnaW5uaW5nIG9mIHRvZGF5ICgwMDowMCku IgogICAgICAoKHN0cmluZz0gcyAiPHRvZGF5PiIpIChvcmctdGltZS10b2RheSkpCiAgICAgICgo c3RyaW5nPSBzICI8dG9tb3Jyb3c+IikgICAoKyA4NjQwMC4wIChvcmctdGltZS10b2RheSkpKQog ICAgICAoKHN0cmluZz0gcyAiPHllc3RlcmRheT4iKSAgKC0gKG9yZy10aW1lLXRvZGF5KSA4NjQw MC4wKSkKLSAgICAgKChzdHJpbmctbWF0Y2ggIl48XFwoWy0rXVswLTldK1xcKVxcKFtkd215XVxc KT4kIiBzKQorICAgICAoKHN0cmluZy1tYXRjaCAiXjxcXChbLStdWzAtOV0rXFwpXFwoW2hkd215 XVxcKT4kIiBzKQogICAgICAgKCsgKG9yZy10aW1lLXRvZGF5KQogCSAoKiAoc3RyaW5nLXRvLW51 bWJlciAobWF0Y2gtc3RyaW5nIDEgcykpCiAJICAgIChjZHIgKGFzc29jIChtYXRjaC1zdHJpbmcg MiBzKQpAQCAtMTQ3OTMsNyArMTQ3OTMsNyBAQCBhdCB0aGUgY3Vyc29yLCBpdCB3aWxsIGJlIG1v ZGlmaWVkLiIKIAkgCSAgICAgKHNhdmUtbWF0Y2gtZGF0YQogCSAJICAgICAgIChiZWdpbm5pbmct b2YtbGluZSkKIAkgCSAgICAgICAod2hlbiAocmUtc2VhcmNoLWZvcndhcmQKLQkJCSAgICAgICJc XChbListXStbMC05XStbZHdteV0gP1xcKSsiIDs7XFwoPzpbLyBdWy0rXT9bMC05XStbZHdteV1c XCk/XFwpID8iCisJCQkgICAgICAiXFwoWy4rLV0rWzAtOV0rW2hkd215XSA/XFwpKyIgOztcXCg/ OlsvIF1bLStdP1swLTldK1toZHdteV1cXCk/XFwpID8iCiAJCQkgICAgICAoc2F2ZS1leGN1cnNp b24gKHByb2duIChlbmQtb2YtbGluZSkgKHBvaW50KSkpIHQpCiAJCQkgKG1hdGNoLXN0cmluZyAw KSkpKSkKIAkgb3JnLXRpbWUtd2FzLWdpdmVuIG9yZy1lbmQtdGltZS13YXMtZ2l2ZW4gdGltZSkK QEAgLTE0ODk0LDcgKzE0ODk0LDcgQEAgbWVhbiBuZXh0IHllYXIuICBGb3IgZGV0YWlscywgc2Vl IHRoZSBtYW51YWwuICBBIGZldyBleGFtcGxlczoKICAgZXRjLgogCiBGdXJ0aGVybW9yZSB5b3Ug Y2FuIHNwZWNpZnkgYSByZWxhdGl2ZSBkYXRlIGJ5IGdpdmluZywgYXMgdGhlICpmaXJzdCogdGhp bmcKLWluIHRoZSBpbnB1dDogIGEgcGx1cy9taW51cyBzaWduLCBhIG51bWJlciBhbmQgYSBsZXR0 ZXIgW2R3bXldIHRvIGluZGljYXRlCitpbiB0aGUgaW5wdXQ6ICBhIHBsdXMvbWludXMgc2lnbiwg YSBudW1iZXIgYW5kIGEgbGV0dGVyIFtoZHdteV0gdG8gaW5kaWNhdGUKIGNoYW5nZSBpbiBkYXlz IHdlZWtzLCBtb250aHMsIHllYXJzLgogV2l0aCBhIHNpbmdsZSBwbHVzIG9yIG1pbnVzLCB0aGUg ZGF0ZSBpcyByZWxhdGl2ZSB0byB0b2RheS4gIFdpdGggYSBkb3VibGUKIHBsdXMgb3IgbWludXMs IGl0IGlzIHJlbGF0aXZlIHRvIHRoZSBkYXRlIGluIERFRkFVTFQtVElNRS4gIEUuZy4KQEAgLTE1 MzEyLDcgKzE1MzEyLDcgQEAgREVGLUZMQUcgICBpcyB0IHdoZW4gYSBkb3VibGUgKysgb3IgLS0g aW5kaWNhdGVzIHNoaWZ0IHJlbGF0aXZlIHRvCiAJICAoY29uY2F0CiAJICAgIlxcYFsgXHRdKlxc KFstK11cXHswLDJcXH1cXCkiCiAJICAgIlxcKFswLTldK1xcKT8iCi0JICAgIlxcKFtkd215XVxc fFxcKCIgKG1hcGNvbmNhdCAnY2FyIHBhcnNlLXRpbWUtd2Vla2RheXMgIlxcfCIpICJcXClcXCk/ IgorCSAgICJcXChbaGR3bXldXFx8XFwoIiAobWFwY29uY2F0ICdjYXIgcGFyc2UtdGltZS13ZWVr ZGF5cyAiXFx8IikgIlxcKVxcKT8iCiAJICAgIlxcKFsgXHRdXFx8JFxcKSIpIHMpCiAJIChvciAo PiAobWF0Y2gtZW5kIDEpIChtYXRjaC1iZWdpbm5pbmcgMSkpIChtYXRjaC1lbmQgNCkpKQogICAg IChsZXQqICgoZGlyIChpZiAoPiAobWF0Y2gtZW5kIDEpIChtYXRjaC1iZWdpbm5pbmcgMSkpCkBA IC0xNTQyOSw3ICsxNTQyOSw3IEBAIFRoZSBjb21tYW5kIHJldHVybnMgdGhlIGluc2VydGVkIHRp bWUgc3RhbXAuIgogCSB0MSB3MSB3aXRoLWhtIHRmIHRpbWUgc3RyIHcyIChvZmYgMCkpCiAgICAg KHNhdmUtbWF0Y2gtZGF0YQogICAgICAgKHNldHEgdDEgKG9yZy1wYXJzZS10aW1lLXN0cmluZyB0 cyB0KSkKLSAgICAgIChpZiAoc3RyaW5nLW1hdGNoICJcXCgtWzAtOV0rOlswLTldK1xcKT9cXCgg Wy4rXT9cXCtbMC05XStbZHdteV1cXCgvWzAtOV0rW2R3bXldXFwpP1xcKT9cXCciIHRzKQorICAg ICAgKGlmIChzdHJpbmctbWF0Y2ggIlxcKC1bMC05XSs6WzAtOV0rXFwpP1xcKCBbLitdP1xcK1sw LTldK1toZHdteV1cXCgvWzAtOV0rW2hkd215XVxcKT9cXCk/XFwnIiB0cykKIAkgIChzZXRxIG9m ZiAoLSAobWF0Y2gtZW5kIDApIChtYXRjaC1iZWdpbm5pbmcgMCkpKSkpCiAgICAgKHNldHEgZW5k ICgtIGVuZCBvZmYpKQogICAgIChzZXRxIHcxICgtIGVuZCBiZWcpCkBAIC0xNTUwMCw3ICsxNTUw MCw3IEBAIERvbid0IHRvdWNoIHRoZSByZXN0LiIKICAgICgoPD0gb3JnLWRlYWRsaW5lLXdhcm5p bmctZGF5cyAwKQogICAgIDs7IDAgb3IgbmVnYXRpdmUsIGVuZm9yY2UgdGhpcyB2YWx1ZSBubyBt YXR0ZXIgd2hhdAogICAgICgtIG9yZy1kZWFkbGluZS13YXJuaW5nLWRheXMpKQotICAgKChzdHJp bmctbWF0Y2ggIi1cXChbMC05XStcXClcXChbZHdteV1cXClcXChcXCdcXHw+XFx8IFxcKSIgdHMp CisgICAoKHN0cmluZy1tYXRjaCAiLVxcKFswLTldK1xcKVxcKFtoZHdteV1cXClcXChcXCdcXHw+ XFx8IFxcKSIgdHMpCiAgICAgOzsgbGVhZCB0aW1lIGlzIHNwZWNpZmllZC4KICAgICAoZmxvb3Ig KCogKHN0cmluZy10by1udW1iZXIgKG1hdGNoLXN0cmluZyAxIHRzKSkKIAkgICAgICAoY2RyIChh c3NvYyAobWF0Y2gtc3RyaW5nIDIgdHMpCkBAIC0xNTY5MSw3ICsxNTY5MSw3IEBAIFRoZSB2YXJp YWJsZSBkYXRlIGlzIGJvdW5kIGJ5IHRoZSBjYWxlbmRhciB3aGVuIHRoaXMgaXMgY2FsbGVkLiIK ICAgICAoaWYgKG9yZy1kaWFyeS1zZXhwLWVudHJ5IChtYXRjaC1zdHJpbmcgMSBzKSAiIiBkYXRl KQogCWRheW5yCiAgICAgICAoKyBkYXluciAxMDAwKSkpCi0gICAoKGFuZCBkYXluciAoc3RyaW5n LW1hdGNoICJcXCtbMC05XStbZHdteV0iIHMpKQorICAgKChhbmQgZGF5bnIgKHN0cmluZy1tYXRj aCAiXFwrWzAtOV0rW2hkd215XSIgcykpCiAgICAgKG9yZy1jbG9zZXN0LWRhdGUgcyAoaWYgKGFu ZCAoYm91bmRwICdkYXlucikgKGludGVnZXJwIGRheW5yKSkgZGF5bnIKIAkJCSAgKHRpbWUtdG8t ZGF5cyAoY3VycmVudC10aW1lKSkpIChtYXRjaC1zdHJpbmcgMCBzKQogCQkJICBwcmVmZXIgc2hv dy1hbGwpKQpAQCAtMTU4MDIsNyArMTU4MDIsNyBAQCBXaGVuIFNIT1ctQUxMIGlzIG5pbCwgb25s eSByZXR1cm4gdGhlIGN1cnJlbnQgb2NjdXJyZW5jZSBvZiBhIHRpbWUgc3RhbXAuIgogCiAgICAg ICAoaWYgKDw9IGNkYXkgc2RheSkgKHRocm93ICdleGl0IHNkYXkpKQogCi0gICAgICAoaWYgKHN0 cmluZy1tYXRjaCAiXFwoXFwrWzAtOV0rXFwpXFwoW2R3bXldXFwpIiBjaGFuZ2UpCisgICAgICAo aWYgKHN0cmluZy1tYXRjaCAiXFwoXFwrWzAtOV0rXFwpXFwoW2hkd215XVxcKSIgY2hhbmdlKQog CSAgKHNldHEgZG4gKHN0cmluZy10by1udW1iZXIgKG1hdGNoLXN0cmluZyAxIGNoYW5nZSkpCiAJ CWR3IChjZHIgKGFzc29jIChtYXRjaC1zdHJpbmcgMiBjaGFuZ2UpIGExKSkpCiAJKGVycm9yICJJ bnZhbGlkIGNoYW5nZSBzcGVjaWZpZXI6ICVzIiBjaGFuZ2UpKQpAQCAtMTU5ODYsNyArMTU5ODYs NyBAQCBpbiB0aGUgdGltZXN0YW1wIGRldGVybWluZXMgd2hhdCB3aWxsIGJlIGNoYW5nZWQuIgog CSAgICB0cyAobWF0Y2gtc3RyaW5nIDApKQogICAgICAgKHJlcGxhY2UtbWF0Y2ggIiIpCiAgICAg ICAoaWYgKHN0cmluZy1tYXRjaAotCSAgICJcXChcXCgtWzAxMl1bMC05XTpbMC01XVswLTldXFwp P1xcKCArWy4rXT9bLStdWzAtOV0rW2R3bXldXFwoL1swLTldK1tkd215XVxcKT9cXCkqXFwpW10+ XSIKKwkgICAiXFwoXFwoLVswMTJdWzAtOV06WzAtNV1bMC05XVxcKT9cXCggK1suK10/Wy0rXVsw LTldK1toZHdteV1cXCgvWzAtOV0rW2hkd215XVxcKT9cXCkqXFwpW10+XSIKIAkgICB0cykKIAkg IChzZXRxIGV4dHJhIChtYXRjaC1zdHJpbmcgMSB0cykpKQogICAgICAgKGlmIChzdHJpbmctbWF0 Y2ggIl4uXFx7MTBcXH0uKj9bMC05XSs6WzAtOV1bMC05XSIgdHMpCkBAIC0xNjA1OSw3ICsxNjA1 OSw3IEBAIGluIHRoZSB0aW1lc3RhbXAgZGV0ZXJtaW5lcyB3aGF0IHdpbGwgYmUgY2hhbmdlZC4i CiAgICJDaGFuZ2UgdGhlIGRpZmZlcmVudCBwYXJ0cyBvZiB0aGUgbGVhZC10aW1lIGFuZCByZXBl YXQgZmllbGRzIGluIHRpbWVzdGFtcC4iCiAgIChsZXQgKChpZHggJygoImQiIC4gMCkgKCJ3IiAu IDEpICgibSIgLiAyKSAoInkiIC4gMykgKCJkIiAuIC0xKSAoInkiIC4gNCkpKQogCW5nIGggbSBu ZXcgcmVtKQotICAgICh3aGVuIChzdHJpbmctbWF0Y2ggIlxcKC1cXChbMDEyXVswLTldXFwpOlxc KFswLTVdWzAtOV1cXClcXCk/XFwoICtcXCtcXChbMC05XStcXClcXChbZG13eV1cXClcXCk/XFwo ICstXFwoWzAtOV0rXFwpXFwoW2Rtd3ldXFwpXFwpPyIgcykKKyAgICAod2hlbiAoc3RyaW5nLW1h dGNoICJcXCgtXFwoWzAxMl1bMC05XVxcKTpcXChbMC01XVswLTldXFwpXFwpP1xcKCArXFwrXFwo WzAtOV0rXFwpXFwoW2hkd215XVxcKVxcKT9cXCggKy1cXChbMC05XStcXClcXChbaGR3bXldXFwp XFwpPyIgcykKICAgICAgIChjb25kCiAgICAgICAgKChvciAob3JnLXBvcy1pbi1tYXRjaC1yYW5n ZSBwb3MgMikKIAkgICAgKG9yZy1wb3MtaW4tbWF0Y2gtcmFuZ2UgcG9zIDMpKQotLSAKMS43LjEK Cg== --00235429ddd85d8adb04bc4018d9--