]> granicus.if.org Git - php/commitdiff
- Fixed bug #33578 (strtotime() doesn't understand "11 Oct" format). (Derick)
authorDerick Rethans <derick@php.net>
Tue, 5 Jul 2005 21:33:33 +0000 (21:33 +0000)
committerDerick Rethans <derick@php.net>
Tue, 5 Jul 2005 21:33:33 +0000 (21:33 +0000)
NEWS
ext/date/lib/parse_date.c
ext/date/lib/parse_date.re
ext/date/lib/resource/parse_date.re

diff --git a/NEWS b/NEWS
index f754f3a9ddece7b4113b60abbca1699911af80d1..ade415bd5e2b756a509a8691d951afbca74ebb54 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -9,6 +9,7 @@ PHP                                                                        NEWS
 - Fixed memory corruption in pg_copy_from() in case the as_null parameter was
   passed. (Derick)
 - Fixed crash inside stream_get_line() when length parameter equals 0. (Ilia)
+- Fixed bug #33578 (strtotime() doesn't understand "11 Oct" format). (Derick)
 - Fixed bug #33562 (date("") crashes). (Derick)
 - Fixed bug #33536 (strtotime() defaults to now even on non time string).
   (Derick)
index 74fe22b8db86b128510d6dee7f3bb064dbf7f293..e0650cae64823836d9bc1c79aacbab5be5ed3b53 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.9.8.dev on Mon Jul  4 10:36:41 2005 */
+/* Generated by re2c 0.9.8.dev on Tue Jul  5 23:30:28 2005 */
 #line 1 "resource/parse_date.re"
 /*
    +----------------------------------------------------------------------+
@@ -778,7 +778,7 @@ static int scan(Scanner *s)
 std:
        s->tok = cursor;
        s->len = 0;
-#line 882 "resource/parse_date.re"
+#line 883 "resource/parse_date.re"
 
 
 {
@@ -895,14 +895,14 @@ yy2:
                if(yych <= 'Z') goto yy48;
                goto yy3;
        } else {
-               if(yych == 'e') goto yy1157;
+               if(yych == 'e') goto yy1222;
                if(yych <= 'z') goto yy48;
                goto yy3;
        }
 yy3:
        YYDEBUG(3, *YYCURSOR);
 
-#line 1328 "resource/parse_date.re"
+#line 1339 "resource/parse_date.re"
 {
                int tz_not_found;
                TIMELIB_INIT;
@@ -935,7 +935,7 @@ yy4:
                                if(yych <= 'i') goto yy473;
                                goto yy48;
                        } else {
-                               if(yych <= 'o') goto yy1154;
+                               if(yych <= 'o') goto yy1219;
                                if(yych <= 'z') goto yy48;
                                goto yy3;
                        }
@@ -983,21 +983,21 @@ yy5:
        case 'H':       case 'h':       goto yy342;
        case 'U':       case 'u':       goto yy343;
        case 'W':       case 'w':       goto yy344;
-       case 'o':       goto yy1142;
+       case 'o':       goto yy1207;
        default:        goto yy3;
        }
 yy6:
        YYDEBUG(6, *YYCURSOR);
        yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if(yych == '-') goto yy1138;
+       if(yych == '-') goto yy1203;
        if(yych <= '0') goto yy7;
-       if(yych <= '9') goto yy1139;
+       if(yych <= '9') goto yy1204;
        goto yy7;
 yy7:
        YYDEBUG(7, *YYCURSOR);
 
-#line 1392 "resource/parse_date.re"
+#line 1403 "resource/parse_date.re"
 {
 /*             printf("unexpected character: #%d, %c ", *s->tok, *s->tok); */
                s->errors++;
@@ -1022,14 +1022,11 @@ yy8:
        case ')':
        case '*':
        case '+':
-       case ',':       case 'A':       case 'I':
-       case 'J':       case 'N':
-       case 'O':       case 'V':       case 'X':       case 'a':       case 'j':       case 'n':
-       case 'o':       goto yy648;
+       case ',':       goto yy648;
        case '-':       goto yy651;
-       case '.':       goto yy652;
+       case '.':       goto yy654;
        case '/':       goto yy650;
-       case '0':       goto yy1137;
+       case '0':       goto yy1202;
        case '1':
        case '2':
        case '3':
@@ -1038,12 +1035,19 @@ yy8:
        case '6':
        case '7':
        case '8':
-       case '9':       goto yy1136;
-       case ':':       goto yy1113;
+       case '9':       goto yy1201;
+       case ':':       goto yy1178;
+       case 'A':       case 'a':       goto yy661;
        case 'D':       case 'd':       goto yy665;
        case 'F':       case 'f':       goto yy659;
+       case 'I':       goto yy655;
+       case 'J':       case 'j':       goto yy658;
        case 'M':       case 'm':       goto yy660;
+       case 'N':       case 'n':       goto yy664;
+       case 'O':       case 'o':       goto yy663;
        case 'S':       case 's':       goto yy662;
+       case 'V':       goto yy656;
+       case 'X':       goto yy657;
        default:        goto yy7;
        }
 yy9:
@@ -1064,28 +1068,32 @@ yy9:
        case ')':
        case '*':
        case '+':
-       case ',':       case 'A':       case 'I':
-       case 'J':       case 'N':
-       case 'O':       case 'V':       case 'X':       case 'a':       case 'j':       case 'n':
-       case 'o':       goto yy648;
+       case ',':       goto yy648;
        case '-':       goto yy651;
-       case '.':       goto yy652;
+       case '.':       goto yy654;
        case '/':       goto yy650;
        case '0':
        case '1':
-       case '2':       goto yy1136;
+       case '2':       goto yy1201;
        case '3':
        case '4':
        case '5':
        case '6':
        case '7':
        case '8':
-       case '9':       goto yy1112;
+       case '9':       goto yy1177;
        case ':':       goto yy666;
+       case 'A':       case 'a':       goto yy661;
        case 'D':       case 'd':       goto yy665;
        case 'F':       case 'f':       goto yy659;
+       case 'I':       goto yy655;
+       case 'J':       case 'j':       goto yy658;
        case 'M':       case 'm':       goto yy660;
+       case 'N':       case 'n':       goto yy664;
+       case 'O':       case 'o':       goto yy663;
        case 'S':       case 's':       goto yy662;
+       case 'V':       goto yy656;
+       case 'X':       goto yy657;
        default:        goto yy7;
        }
 yy10:
@@ -1106,28 +1114,32 @@ yy10:
        case ')':
        case '*':
        case '+':
-       case ',':       case 'A':       case 'I':
-       case 'J':       case 'N':
-       case 'O':       case 'V':       case 'X':       case 'a':       case 'j':       case 'n':
-       case 'o':       goto yy648;
+       case ',':       goto yy648;
        case '-':       goto yy651;
-       case '.':       goto yy652;
+       case '.':       goto yy654;
        case '/':       goto yy650;
        case '0':
        case '1':
        case '2':
-       case '3':       goto yy1112;
+       case '3':       goto yy1177;
        case '4':
        case '5':
        case '6':
        case '7':
        case '8':
-       case '9':       goto yy1110;
+       case '9':       goto yy1175;
        case ':':       goto yy666;
+       case 'A':       case 'a':       goto yy661;
        case 'D':       case 'd':       goto yy665;
        case 'F':       case 'f':       goto yy659;
+       case 'I':       goto yy655;
+       case 'J':       case 'j':       goto yy658;
        case 'M':       case 'm':       goto yy660;
+       case 'N':       case 'n':       goto yy664;
+       case 'O':       case 'o':       goto yy663;
        case 'S':       case 's':       goto yy662;
+       case 'V':       goto yy656;
+       case 'X':       goto yy657;
        default:        goto yy7;
        }
 yy11:
@@ -1148,15 +1160,12 @@ yy11:
        case ')':
        case '*':
        case '+':
-       case ',':       case 'A':       case 'I':
-       case 'J':       case 'N':
-       case 'O':       case 'V':       case 'X':       case 'a':       case 'j':       case 'n':
-       case 'o':       goto yy648;
+       case ',':       goto yy648;
        case '-':       goto yy651;
-       case '.':       goto yy652;
+       case '.':       goto yy654;
        case '/':       goto yy650;
        case '0':
-       case '1':       goto yy1110;
+       case '1':       goto yy1175;
        case '2':
        case '3':
        case '4':
@@ -1166,10 +1175,17 @@ yy11:
        case '8':
        case '9':       goto yy649;
        case ':':       goto yy666;
+       case 'A':       case 'a':       goto yy661;
        case 'D':       case 'd':       goto yy665;
        case 'F':       case 'f':       goto yy659;
+       case 'I':       goto yy655;
+       case 'J':       case 'j':       goto yy658;
        case 'M':       case 'm':       goto yy660;
+       case 'N':       case 'n':       goto yy664;
+       case 'O':       case 'o':       goto yy663;
        case 'S':       case 's':       goto yy662;
+       case 'V':       goto yy656;
+       case 'X':       goto yy657;
        default:        goto yy7;
        }
 yy12:
@@ -1190,12 +1206,9 @@ yy12:
        case ')':
        case '*':
        case '+':
-       case ',':       case 'A':       case 'I':
-       case 'J':       case 'N':
-       case 'O':       case 'V':       case 'X':       case 'a':       case 'j':       case 'n':
-       case 'o':       goto yy648;
+       case ',':       goto yy648;
        case '-':       goto yy651;
-       case '.':       goto yy652;
+       case '.':       goto yy654;
        case '/':       goto yy650;
        case '0':
        case '1':
@@ -1208,10 +1221,17 @@ yy12:
        case '8':
        case '9':       goto yy649;
        case ':':       goto yy666;
+       case 'A':       case 'a':       goto yy661;
        case 'D':       case 'd':       goto yy665;
        case 'F':       case 'f':       goto yy659;
+       case 'I':       goto yy655;
+       case 'J':       case 'j':       goto yy658;
        case 'M':       case 'm':       goto yy660;
+       case 'N':       case 'n':       goto yy664;
+       case 'O':       case 'o':       goto yy663;
        case 'S':       case 's':       goto yy662;
+       case 'V':       goto yy656;
+       case 'X':       goto yy657;
        default:        goto yy7;
        }
 yy13:
@@ -1904,11 +1924,11 @@ yy43:
 yy44:
        YYDEBUG(44, *YYCURSOR);
 
-#line 1381 "resource/parse_date.re"
+#line 1392 "resource/parse_date.re"
 {
                goto std;
        }
-#line 1817 "<stdout>"
+#line 1837 "<stdout>"
 yy45:
        YYDEBUG(45, *YYCURSOR);
        ++YYCURSOR;
@@ -1916,12 +1936,12 @@ yy45:
 yy46:
        YYDEBUG(46, *YYCURSOR);
 
-#line 1386 "resource/parse_date.re"
+#line 1397 "resource/parse_date.re"
 {
                s->pos = cursor; s->line++;
                goto std;
        }
-#line 1826 "<stdout>"
+#line 1846 "<stdout>"
 yy47:
        YYDEBUG(47, *YYCURSOR);
        yych = *++YYCURSOR;
@@ -1985,17 +2005,18 @@ yy54:
        YYCURSOR = YYMARKER;
        switch(yyaccept){
        case 10:        goto yy668;
-       case 18:        goto yy1116;
-       case 19:        goto yy1124;
-       case 11:        goto yy804;
-       case 16:        goto yy1035;
+       case 19:        goto yy1181;
+       case 20:        goto yy1189;
+       case 12:        goto yy869;
+       case 17:        goto yy1100;
        case 8: goto yy387;
-       case 15:        goto yy897;
+       case 16:        goto yy962;
        case 6: goto yy393;
-       case 14:        goto yy930;
-       case 17:        goto yy941;
-       case 13:        goto yy923;
-       case 12:        goto yy837;
+       case 11:        goto yy751;
+       case 15:        goto yy995;
+       case 18:        goto yy1006;
+       case 14:        goto yy988;
+       case 13:        goto yy902;
        case 9: goto yy555;
        case 5: goto yy191;
        case 4: goto yy158;
@@ -2314,7 +2335,7 @@ yy84:
 yy85:
        YYDEBUG(85, *YYCURSOR);
 
-#line 1365 "resource/parse_date.re"
+#line 1376 "resource/parse_date.re"
 {
                timelib_ull i;
 
@@ -2329,7 +2350,7 @@ yy85:
                TIMELIB_DEINIT;
                return TIMELIB_RELATIVE;
        }
-#line 2155 "<stdout>"
+#line 2176 "<stdout>"
 yy86:
        YYDEBUG(86, *YYCURSOR);
        ++YYCURSOR;
@@ -2959,11 +2980,11 @@ yy150:
 yy151:
        YYDEBUG(151, *YYCURSOR);
 
-#line 1323 "resource/parse_date.re"
+#line 1334 "resource/parse_date.re"
 {
                goto std;
        }
-#line 2657 "<stdout>"
+#line 2678 "<stdout>"
 yy152:
        YYDEBUG(152, *YYCURSOR);
        yyaccept = 1;
@@ -3002,7 +3023,7 @@ yy157:
 yy158:
        YYDEBUG(158, *YYCURSOR);
 
-#line 1307 "resource/parse_date.re"
+#line 1318 "resource/parse_date.re"
 {
                const timelib_relunit* relunit;
 
@@ -3017,7 +3038,7 @@ yy158:
                TIMELIB_DEINIT;
                return TIMELIB_RELATIVE;
        }
-#line 2697 "<stdout>"
+#line 2718 "<stdout>"
 yy159:
        YYDEBUG(159, *YYCURSOR);
        yyaccept = 1;
@@ -3387,7 +3408,7 @@ yy190:
 yy191:
        YYDEBUG(191, *YYCURSOR);
 
-#line 1291 "resource/parse_date.re"
+#line 1302 "resource/parse_date.re"
 {
                timelib_sll i;
 
@@ -3402,7 +3423,7 @@ yy191:
                TIMELIB_DEINIT;
                return TIMELIB_RELATIVE;
        }
-#line 3014 "<stdout>"
+#line 3035 "<stdout>"
 yy192:
        YYDEBUG(192, *YYCURSOR);
        ++YYCURSOR;
@@ -5618,7 +5639,7 @@ yy386:
 yy387:
        YYDEBUG(387, *YYCURSOR);
 
-#line 1117 "resource/parse_date.re"
+#line 1118 "resource/parse_date.re"
 {
                TIMELIB_INIT;
                TIMELIB_HAVE_DATE();
@@ -5629,7 +5650,7 @@ yy387:
                TIMELIB_DEINIT;
                return TIMELIB_DATE_NO_DAY;
        }
-#line 4845 "<stdout>"
+#line 4866 "<stdout>"
 yy388:
        YYDEBUG(388, *YYCURSOR);
        yych = *++YYCURSOR;
@@ -5669,7 +5690,7 @@ yy392:
 yy393:
        YYDEBUG(393, *YYCURSOR);
 
-#line 1141 "resource/parse_date.re"
+#line 1142 "resource/parse_date.re"
 {
                TIMELIB_INIT;
                TIMELIB_HAVE_DATE();
@@ -5680,7 +5701,7 @@ yy393:
                TIMELIB_DEINIT;
                return TIMELIB_DATE_TEXT;
        }
-#line 4884 "<stdout>"
+#line 4905 "<stdout>"
 yy394:
        YYDEBUG(394, *YYCURSOR);
        yych = *++YYCURSOR;
@@ -5769,7 +5790,7 @@ yy404:
 yy405:
        YYDEBUG(405, *YYCURSOR);
 
-#line 1338 "resource/parse_date.re"
+#line 1349 "resource/parse_date.re"
 {
                int tz_not_found;
                TIMELIB_INIT;
@@ -5795,7 +5816,7 @@ yy405:
                TIMELIB_DEINIT;
                return TIMELIB_SHORTDATE_WITH_TIME;
        }
-#line 4975 "<stdout>"
+#line 4996 "<stdout>"
 yy406:
        YYDEBUG(406, *YYCURSOR);
        yyaccept = 7;
@@ -6162,7 +6183,7 @@ yy449:
 yy450:
        YYDEBUG(450, *YYCURSOR);
 
-#line 1235 "resource/parse_date.re"
+#line 1246 "resource/parse_date.re"
 {
                TIMELIB_INIT;
                TIMELIB_HAVE_DATE();
@@ -6173,7 +6194,7 @@ yy450:
                TIMELIB_DEINIT;
                return TIMELIB_PG_TEXT;
        }
-#line 5263 "<stdout>"
+#line 5284 "<stdout>"
 yy451:
        YYDEBUG(451, *YYCURSOR);
        yych = *++YYCURSOR;
@@ -7634,7 +7655,7 @@ yy554:
 yy555:
        YYDEBUG(555, *YYCURSOR);
 
-#line 1277 "resource/parse_date.re"
+#line 1288 "resource/parse_date.re"
 {
                TIMELIB_INIT;
                s->time->relative.y = 0 - s->time->relative.y;
@@ -7647,7 +7668,7 @@ yy555:
                TIMELIB_DEINIT;
                return TIMELIB_AGO;
        }
-#line 6527 "<stdout>"
+#line 6548 "<stdout>"
 yy556:
        YYDEBUG(556, *YYCURSOR);
        yyaccept = 1;
@@ -9190,7 +9211,7 @@ yy646:
 yy647:
        YYDEBUG(647, *YYCURSOR);
        ++YYCURSOR;
-       if((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
+       if((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
        yych = *YYCURSOR;
        goto yy648;
 yy648:
@@ -9211,21 +9232,21 @@ yy648:
        case '+':
        case ',':
        case '-':
-       case '.':       goto yy653;
-       case 'A':       case 'a':       goto yy661;
-       case 'D':       case 'd':       goto yy1108;
-       case 'F':       case 'f':       goto yy1105;
+       case '.':       goto yy652;
+       case 'A':       case 'a':       goto yy757;
+       case 'D':       case 'd':       goto yy1173;
+       case 'F':       case 'f':       goto yy1170;
        case 'H':       case 'h':       goto yy72;
-       case 'I':       goto yy655;
-       case 'J':       case 'j':       goto yy658;
-       case 'M':       case 'm':       goto yy1106;
-       case 'N':       case 'n':       goto yy664;
-       case 'O':       case 'o':       goto yy663;
-       case 'S':       case 's':       goto yy1107;
+       case 'I':       goto yy750;
+       case 'J':       case 'j':       goto yy754;
+       case 'M':       case 'm':       goto yy1171;
+       case 'N':       case 'n':       goto yy760;
+       case 'O':       case 'o':       goto yy759;
+       case 'S':       case 's':       goto yy1172;
        case 'T':       case 't':       goto yy77;
-       case 'V':       goto yy656;
+       case 'V':       goto yy752;
        case 'W':       case 'w':       goto yy74;
-       case 'X':       goto yy657;
+       case 'X':       goto yy753;
        case 'Y':       case 'y':       goto yy76;
        default:        goto yy54;
        }
@@ -9235,9 +9256,9 @@ yy649:
        if(yybm[0+yych] & 16) {
                goto yy66;
        }
-       if(yych == '-') goto yy861;
+       if(yych == '-') goto yy926;
        if(yych <= '/') goto yy54;
-       if(yych <= '9') goto yy860;
+       if(yych <= '9') goto yy925;
        goto yy54;
 yy650:
        YYDEBUG(650, *YYCURSOR);
@@ -9246,22 +9267,22 @@ yy650:
        switch(yych){
        case '0':
        case '1':
-       case '2':       goto yy803;
-       case '3':       goto yy805;
+       case '2':       goto yy868;
+       case '3':       goto yy870;
        case '4':
        case '5':
        case '6':
        case '7':
        case '8':
-       case '9':       goto yy806;
-       case 'A':       case 'a':       goto yy810;
-       case 'D':       case 'd':       goto yy814;
-       case 'F':       case 'f':       goto yy808;
-       case 'J':       case 'j':       goto yy807;
-       case 'M':       case 'm':       goto yy809;
-       case 'N':       case 'n':       goto yy813;
-       case 'O':       case 'o':       goto yy812;
-       case 'S':       case 's':       goto yy811;
+       case '9':       goto yy871;
+       case 'A':       case 'a':       goto yy875;
+       case 'D':       case 'd':       goto yy879;
+       case 'F':       case 'f':       goto yy873;
+       case 'J':       case 'j':       goto yy872;
+       case 'M':       case 'm':       goto yy874;
+       case 'N':       case 'n':       goto yy878;
+       case 'O':       case 'o':       goto yy877;
+       case 'S':       case 's':       goto yy876;
        default:        goto yy54;
        }
 yy651:
@@ -9269,8 +9290,8 @@ yy651:
        yych = *++YYCURSOR;
        YYDEBUG(-1, yych);
        switch(yych){
-       case '0':       goto yy759;
-       case '1':       goto yy760;
+       case '0':       goto yy824;
+       case '1':       goto yy825;
        case '2':
        case '3':
        case '4':
@@ -9278,33 +9299,25 @@ yy651:
        case '6':
        case '7':
        case '8':
-       case '9':       goto yy761;
-       case 'A':       case 'a':       goto yy765;
-       case 'D':       case 'd':       goto yy769;
-       case 'F':       case 'f':       goto yy763;
-       case 'J':       case 'j':       goto yy762;
-       case 'M':       case 'm':       goto yy764;
-       case 'N':       case 'n':       goto yy768;
-       case 'O':       case 'o':       goto yy767;
-       case 'S':       case 's':       goto yy766;
-       default:        goto yy654;
+       case '9':       goto yy826;
+       case 'A':       case 'a':       goto yy830;
+       case 'D':       case 'd':       goto yy834;
+       case 'F':       case 'f':       goto yy828;
+       case 'J':       case 'j':       goto yy827;
+       case 'M':       case 'm':       goto yy829;
+       case 'N':       case 'n':       goto yy833;
+       case 'O':       case 'o':       goto yy832;
+       case 'S':       case 's':       goto yy831;
+       default:        goto yy653;
        }
 yy652:
        YYDEBUG(652, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if(yych <= '/') goto yy654;
-       if(yych <= '0') goto yy750;
-       if(yych <= '1') goto yy751;
-       if(yych <= '9') goto yy752;
-       goto yy654;
-yy653:
-       YYDEBUG(653, *YYCURSOR);
        ++YYCURSOR;
-       if((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
+       if((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
        yych = *YYCURSOR;
-       goto yy654;
-yy654:
-       YYDEBUG(654, *YYCURSOR);
+       goto yy653;
+yy653:
+       YYDEBUG(653, *YYCURSOR);
        YYDEBUG(-1, yych);
        switch(yych){
        case ' ':
@@ -9321,20 +9334,28 @@ yy654:
        case '+':
        case ',':
        case '-':
-       case '.':       goto yy653;
-       case 'A':       case 'a':       goto yy661;
-       case 'D':       case 'd':       goto yy665;
-       case 'F':       case 'f':       goto yy659;
-       case 'I':       goto yy655;
-       case 'J':       case 'j':       goto yy658;
-       case 'M':       case 'm':       goto yy660;
-       case 'N':       case 'n':       goto yy664;
-       case 'O':       case 'o':       goto yy663;
-       case 'S':       case 's':       goto yy662;
-       case 'V':       goto yy656;
-       case 'X':       goto yy657;
+       case '.':       goto yy652;
+       case 'A':       case 'a':       goto yy757;
+       case 'D':       case 'd':       goto yy761;
+       case 'F':       case 'f':       goto yy755;
+       case 'I':       goto yy750;
+       case 'J':       case 'j':       goto yy754;
+       case 'M':       case 'm':       goto yy756;
+       case 'N':       case 'n':       goto yy760;
+       case 'O':       case 'o':       goto yy759;
+       case 'S':       case 's':       goto yy758;
+       case 'V':       goto yy752;
+       case 'X':       goto yy753;
        default:        goto yy54;
        }
+yy654:
+       YYDEBUG(654, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych <= '/') goto yy653;
+       if(yych <= '0') goto yy762;
+       if(yych <= '1') goto yy763;
+       if(yych <= '9') goto yy764;
+       goto yy653;
 yy655:
        YYDEBUG(655, *YYCURSOR);
        yych = *++YYCURSOR;
@@ -9442,7 +9463,7 @@ yy667:
 yy668:
        YYDEBUG(668, *YYCURSOR);
 
-#line 969 "resource/parse_date.re"
+#line 970 "resource/parse_date.re"
 {
                int tz_not_found;
                DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long");
@@ -9465,7 +9486,7 @@ yy668:
                TIMELIB_DEINIT;
                return TIMELIB_TIME24_WITH_ZONE;
        }
-#line 8115 "<stdout>"
+#line 8136 "<stdout>"
 yy669:
        YYDEBUG(669, *YYCURSOR);
        yyaccept = 10;
@@ -9592,7 +9613,7 @@ yy682:
 yy683:
        YYDEBUG(683, *YYCURSOR);
 
-#line 954 "resource/parse_date.re"
+#line 955 "resource/parse_date.re"
 {
                DEBUG_OUTPUT("timeshort12 | timelong12");
                TIMELIB_INIT;
@@ -9606,7 +9627,7 @@ yy683:
                TIMELIB_DEINIT;
                return TIMELIB_TIME12;
        }
-#line 8226 "<stdout>"
+#line 8247 "<stdout>"
 yy684:
        YYDEBUG(684, *YYCURSOR);
        yych = *++YYCURSOR;
@@ -9716,7 +9737,7 @@ yy695:
 yy696:
        YYDEBUG(696, *YYCURSOR);
 
-#line 1093 "resource/parse_date.re"
+#line 1094 "resource/parse_date.re"
 {
                TIMELIB_INIT;
                TIMELIB_HAVE_DATE();
@@ -9727,7 +9748,7 @@ yy696:
                TIMELIB_DEINIT;
                return TIMELIB_DATE_FULL;
        }
-#line 8321 "<stdout>"
+#line 8342 "<stdout>"
 yy697:
        YYDEBUG(697, *YYCURSOR);
        yych = *++YYCURSOR;
@@ -10062,422 +10083,1218 @@ yy749:
        goto yy694;
 yy750:
        YYDEBUG(750, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if(yych == '.') goto yy753;
-       if(yych <= '/') goto yy54;
-       if(yych <= '9') goto yy752;
-       goto yy54;
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= 'H'){
+               if(yych <= '.'){
+                       if(yych >= ' ') goto yy693;
+                       goto yy751;
+               } else {
+                       if(yych <= '/') goto yy751;
+                       if(yych <= '9') goto yy695;
+                       goto yy751;
+               }
+       } else {
+               if(yych <= 'V'){
+                       if(yych <= 'I') goto yy823;
+                       if(yych >= 'V') goto yy777;
+                       goto yy751;
+               } else {
+                       if(yych == 'X') goto yy777;
+                       goto yy751;
+               }
+       }
 yy751:
        YYDEBUG(751, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if(yych == '.') goto yy753;
-       if(yych <= '/') goto yy54;
-       if(yych >= '3') goto yy54;
-       goto yy752;
+
+#line 1154 "resource/parse_date.re"
+{
+               TIMELIB_INIT;
+               TIMELIB_HAVE_DATE();
+               s->time->d = timelib_get_nr((char **) &ptr, 2);
+               s->time->m = timelib_get_month((char **) &ptr);
+               TIMELIB_DEINIT;
+               return TIMELIB_DATE_TEXT;
+       }
+#line 8600 "<stdout>"
 yy752:
        YYDEBUG(752, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if(yych != '.') goto yy54;
-       goto yy753;
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '/'){
+               if(yych <= 0x1F)        goto yy751;
+               if(yych <= '.') goto yy693;
+               goto yy751;
+       } else {
+               if(yych <= '9') goto yy695;
+               if(yych == 'I') goto yy821;
+               goto yy751;
+       }
 yy753:
        YYDEBUG(753, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if(yych <= '/') goto yy54;
-       if(yych >= ':') goto yy54;
-       goto yy754;
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '/'){
+               if(yych <= 0x1F)        goto yy751;
+               if(yych <= '.') goto yy693;
+               goto yy751;
+       } else {
+               if(yych <= '9') goto yy695;
+               if(yych == 'I') goto yy820;
+               goto yy751;
+       }
 yy754:
        YYDEBUG(754, *YYCURSOR);
-       ++YYCURSOR;
-       if((yych = *YYCURSOR) <= '/')   goto yy755;
-       if(yych <= '9') goto yy756;
-       goto yy755;
+       yych = *++YYCURSOR;
+       if(yych <= 'U'){
+               if(yych == 'A') goto yy813;
+               if(yych <= 'T') goto yy54;
+               goto yy812;
+       } else {
+               if(yych <= 'a'){
+                       if(yych <= '`') goto yy54;
+                       goto yy813;
+               } else {
+                       if(yych == 'u') goto yy812;
+                       goto yy54;
+               }
+       }
 yy755:
        YYDEBUG(755, *YYCURSOR);
-
-#line 1105 "resource/parse_date.re"
-{
-               TIMELIB_INIT;
-               TIMELIB_HAVE_DATE();
-               s->time->d = timelib_get_nr((char **) &ptr, 2);
-               s->time->m = timelib_get_nr((char **) &ptr, 2);
-               s->time->y = timelib_get_nr((char **) &ptr, 4);
-               TIMELIB_PROCESS_YEAR(s->time->y);
-               TIMELIB_DEINIT;
-               return TIMELIB_DATE_FULL_POINTED;
-       }
-#line 8581 "<stdout>"
+       yych = *++YYCURSOR;
+       if(yych == 'E') goto yy806;
+       if(yych == 'e') goto yy806;
+       goto yy54;
 yy756:
        YYDEBUG(756, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= '/') goto yy755;
-       if(yych >= ':') goto yy755;
-       goto yy757;
+       if(yych == 'A') goto yy803;
+       if(yych == 'a') goto yy803;
+       goto yy54;
 yy757:
        YYDEBUG(757, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= '/') goto yy755;
-       if(yych >= ':') goto yy755;
-       goto yy758;
+       if(yych <= 'U'){
+               if(yych == 'P') goto yy797;
+               if(yych <= 'T') goto yy54;
+               goto yy796;
+       } else {
+               if(yych <= 'p'){
+                       if(yych <= 'o') goto yy54;
+                       goto yy797;
+               } else {
+                       if(yych == 'u') goto yy796;
+                       goto yy54;
+               }
+       }
 yy758:
        YYDEBUG(758, *YYCURSOR);
        yych = *++YYCURSOR;
-       goto yy755;
+       if(yych == 'E') goto yy789;
+       if(yych == 'e') goto yy789;
+       goto yy54;
 yy759:
        YYDEBUG(759, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == '-') goto yy798;
-       if(yych <= '/') goto yy54;
-       if(yych <= '9') goto yy761;
+       if(yych == 'C') goto yy784;
+       if(yych == 'c') goto yy784;
        goto yy54;
 yy760:
        YYDEBUG(760, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == '-') goto yy798;
-       if(yych <= '/') goto yy54;
-       if(yych >= '3') goto yy54;
-       goto yy761;
+       if(yych == 'O') goto yy778;
+       if(yych == 'o') goto yy778;
+       goto yy54;
 yy761:
        YYDEBUG(761, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == '-') goto yy798;
+       if(yych == 'E') goto yy771;
+       if(yych == 'e') goto yy771;
        goto yy54;
 yy762:
        YYDEBUG(762, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= 'U'){
-               if(yych == 'A') goto yy794;
-               if(yych <= 'T') goto yy54;
-               goto yy793;
-       } else {
-               if(yych <= 'a'){
-                       if(yych <= '`') goto yy54;
-                       goto yy794;
-               } else {
-                       if(yych == 'u') goto yy793;
-                       goto yy54;
-               }
-       }
+       if(yych == '.') goto yy765;
+       if(yych <= '/') goto yy54;
+       if(yych <= '9') goto yy764;
+       goto yy54;
 yy763:
        YYDEBUG(763, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'E') goto yy791;
-       if(yych == 'e') goto yy791;
-       goto yy54;
+       if(yych == '.') goto yy765;
+       if(yych <= '/') goto yy54;
+       if(yych >= '3') goto yy54;
+       goto yy764;
 yy764:
        YYDEBUG(764, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'A') goto yy788;
-       if(yych == 'a') goto yy788;
-       goto yy54;
+       if(yych != '.') goto yy54;
+       goto yy765;
 yy765:
        YYDEBUG(765, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= 'U'){
-               if(yych == 'P') goto yy785;
-               if(yych <= 'T') goto yy54;
-               goto yy784;
-       } else {
-               if(yych <= 'p'){
-                       if(yych <= 'o') goto yy54;
-                       goto yy785;
-               } else {
-                       if(yych == 'u') goto yy784;
-                       goto yy54;
-               }
-       }
+       if(yych <= '/') goto yy54;
+       if(yych >= ':') goto yy54;
+       goto yy766;
 yy766:
        YYDEBUG(766, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if(yych == 'E') goto yy781;
-       if(yych == 'e') goto yy781;
-       goto yy54;
+       ++YYCURSOR;
+       if((yych = *YYCURSOR) <= '/')   goto yy767;
+       if(yych <= '9') goto yy768;
+       goto yy767;
 yy767:
        YYDEBUG(767, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if(yych == 'C') goto yy779;
-       if(yych == 'c') goto yy779;
-       goto yy54;
+
+#line 1106 "resource/parse_date.re"
+{
+               TIMELIB_INIT;
+               TIMELIB_HAVE_DATE();
+               s->time->d = timelib_get_nr((char **) &ptr, 2);
+               s->time->m = timelib_get_nr((char **) &ptr, 2);
+               s->time->y = timelib_get_nr((char **) &ptr, 4);
+               TIMELIB_PROCESS_YEAR(s->time->y);
+               TIMELIB_DEINIT;
+               return TIMELIB_DATE_FULL_POINTED;
+       }
+#line 8708 "<stdout>"
 yy768:
        YYDEBUG(768, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'O') goto yy777;
-       if(yych == 'o') goto yy777;
-       goto yy54;
+       if(yych <= '/') goto yy767;
+       if(yych >= ':') goto yy767;
+       goto yy769;
 yy769:
        YYDEBUG(769, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'E') goto yy770;
-       if(yych != 'e') goto yy54;
+       if(yych <= '/') goto yy767;
+       if(yych >= ':') goto yy767;
        goto yy770;
 yy770:
        YYDEBUG(770, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'C') goto yy771;
-       if(yych != 'c') goto yy54;
-       goto yy771;
+       goto yy767;
 yy771:
        YYDEBUG(771, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= 'D'){
-               if(yych != '-') goto yy694;
-               goto yy772;
-       } else {
-               if(yych <= 'E') goto yy697;
-               if(yych == 'e') goto yy697;
-               goto yy694;
-       }
+       if(yych == 'C') goto yy772;
+       if(yych != 'c') goto yy54;
+       goto yy772;
 yy772:
        YYDEBUG(772, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if(yych <= '/') goto yy694;
-       if(yych <= '0') goto yy773;
-       if(yych <= '2') goto yy774;
-       if(yych <= '3') goto yy775;
-       goto yy694;
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '9'){
+               if(yych <= 0x1F)        goto yy751;
+               if(yych <= '.') goto yy693;
+               if(yych <= '/') goto yy751;
+               goto yy695;
+       } else {
+               if(yych <= 'E'){
+                       if(yych <= 'D') goto yy751;
+                       goto yy773;
+               } else {
+                       if(yych != 'e') goto yy751;
+                       goto yy773;
+               }
+       }
 yy773:
        YYDEBUG(773, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= '/') goto yy696;
-       if(yych <= '0') goto yy701;
-       if(yych <= '9') goto yy776;
-       goto yy696;
+       if(yych == 'M') goto yy774;
+       if(yych != 'm') goto yy54;
+       goto yy774;
 yy774:
        YYDEBUG(774, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= '/') goto yy696;
-       if(yych <= '9') goto yy776;
-       goto yy696;
+       if(yych == 'B') goto yy775;
+       if(yych != 'b') goto yy54;
+       goto yy775;
 yy775:
        YYDEBUG(775, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= '/') goto yy696;
-       if(yych <= '1') goto yy776;
-       if(yych <= '9') goto yy701;
-       goto yy696;
+       if(yych == 'E') goto yy776;
+       if(yych != 'e') goto yy54;
+       goto yy776;
 yy776:
        YYDEBUG(776, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= '/') goto yy696;
-       if(yych <= '9') goto yy702;
-       goto yy696;
+       if(yych == 'R') goto yy777;
+       if(yych != 'r') goto yy54;
+       goto yy777;
 yy777:
        YYDEBUG(777, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if(yych == 'V') goto yy778;
-       if(yych != 'v') goto yy54;
-       goto yy778;
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= 0x1F)        goto yy751;
+       if(yych <= '.') goto yy693;
+       if(yych <= '/') goto yy751;
+       if(yych <= '9') goto yy695;
+       goto yy751;
 yy778:
        YYDEBUG(778, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= 'D'){
-               if(yych == '-') goto yy772;
-               goto yy694;
-       } else {
-               if(yych <= 'E') goto yy706;
-               if(yych == 'e') goto yy706;
-               goto yy694;
-       }
+       if(yych == 'V') goto yy779;
+       if(yych != 'v') goto yy54;
+       goto yy779;
 yy779:
        YYDEBUG(779, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if(yych == 'T') goto yy780;
-       if(yych != 't') goto yy54;
-       goto yy780;
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '9'){
+               if(yych <= 0x1F)        goto yy751;
+               if(yych <= '.') goto yy693;
+               if(yych <= '/') goto yy751;
+               goto yy695;
+       } else {
+               if(yych <= 'E'){
+                       if(yych <= 'D') goto yy751;
+                       goto yy780;
+               } else {
+                       if(yych != 'e') goto yy751;
+                       goto yy780;
+               }
+       }
 yy780:
        YYDEBUG(780, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= 'N'){
-               if(yych == '-') goto yy772;
-               goto yy694;
-       } else {
-               if(yych <= 'O') goto yy712;
-               if(yych == 'o') goto yy712;
-               goto yy694;
-       }
+       if(yych == 'M') goto yy781;
+       if(yych != 'm') goto yy54;
+       goto yy781;
 yy781:
        YYDEBUG(781, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'P') goto yy782;
-       if(yych != 'p') goto yy54;
+       if(yych == 'B') goto yy782;
+       if(yych != 'b') goto yy54;
        goto yy782;
 yy782:
        YYDEBUG(782, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= 'S'){
-               if(yych == '-') goto yy772;
-               goto yy694;
-       } else {
-               if(yych <= 'T') goto yy783;
-               if(yych != 't') goto yy694;
-               goto yy783;
-       }
+       if(yych == 'E') goto yy783;
+       if(yych != 'e') goto yy54;
+       goto yy783;
 yy783:
        YYDEBUG(783, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= 'D'){
-               if(yych == '-') goto yy772;
-               goto yy694;
-       } else {
-               if(yych <= 'E') goto yy718;
-               if(yych == 'e') goto yy718;
-               goto yy694;
-       }
+       if(yych == 'R') goto yy777;
+       if(yych == 'r') goto yy777;
+       goto yy54;
 yy784:
        YYDEBUG(784, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'G') goto yy787;
-       if(yych == 'g') goto yy787;
-       goto yy54;
+       if(yych == 'T') goto yy785;
+       if(yych != 't') goto yy54;
+       goto yy785;
 yy785:
        YYDEBUG(785, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if(yych == 'R') goto yy786;
-       if(yych != 'r') goto yy54;
-       goto yy786;
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '9'){
+               if(yych <= 0x1F)        goto yy751;
+               if(yych <= '.') goto yy693;
+               if(yych <= '/') goto yy751;
+               goto yy695;
+       } else {
+               if(yych <= 'O'){
+                       if(yych <= 'N') goto yy751;
+                       goto yy786;
+               } else {
+                       if(yych != 'o') goto yy751;
+                       goto yy786;
+               }
+       }
 yy786:
        YYDEBUG(786, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= 'H'){
-               if(yych == '-') goto yy772;
-               goto yy694;
+       if(yych == 'B') goto yy787;
+       if(yych != 'b') goto yy54;
+       goto yy787;
+yy787:
+       YYDEBUG(787, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'E') goto yy788;
+       if(yych != 'e') goto yy54;
+       goto yy788;
+yy788:
+       YYDEBUG(788, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'R') goto yy777;
+       if(yych == 'r') goto yy777;
+       goto yy54;
+yy789:
+       YYDEBUG(789, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'P') goto yy790;
+       if(yych != 'p') goto yy54;
+       goto yy790;
+yy790:
+       YYDEBUG(790, *YYCURSOR);
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '9'){
+               if(yych <= 0x1F)        goto yy751;
+               if(yych <= '.') goto yy693;
+               if(yych <= '/') goto yy751;
+               goto yy695;
        } else {
-               if(yych <= 'I') goto yy725;
-               if(yych == 'i') goto yy725;
-               goto yy694;
+               if(yych <= 'T'){
+                       if(yych <= 'S') goto yy751;
+                       goto yy791;
+               } else {
+                       if(yych != 't') goto yy751;
+                       goto yy791;
+               }
+       }
+yy791:
+       YYDEBUG(791, *YYCURSOR);
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '9'){
+               if(yych <= 0x1F)        goto yy751;
+               if(yych <= '.') goto yy693;
+               if(yych <= '/') goto yy751;
+               goto yy695;
+       } else {
+               if(yych <= 'E'){
+                       if(yych <= 'D') goto yy751;
+                       goto yy792;
+               } else {
+                       if(yych != 'e') goto yy751;
+                       goto yy792;
+               }
+       }
+yy792:
+       YYDEBUG(792, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'M') goto yy793;
+       if(yych != 'm') goto yy54;
+       goto yy793;
+yy793:
+       YYDEBUG(793, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'B') goto yy794;
+       if(yych != 'b') goto yy54;
+       goto yy794;
+yy794:
+       YYDEBUG(794, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'E') goto yy795;
+       if(yych != 'e') goto yy54;
+       goto yy795;
+yy795:
+       YYDEBUG(795, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'R') goto yy777;
+       if(yych == 'r') goto yy777;
+       goto yy54;
+yy796:
+       YYDEBUG(796, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'G') goto yy800;
+       if(yych == 'g') goto yy800;
+       goto yy54;
+yy797:
+       YYDEBUG(797, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'R') goto yy798;
+       if(yych != 'r') goto yy54;
+       goto yy798;
+yy798:
+       YYDEBUG(798, *YYCURSOR);
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '9'){
+               if(yych <= 0x1F)        goto yy751;
+               if(yych <= '.') goto yy693;
+               if(yych <= '/') goto yy751;
+               goto yy695;
+       } else {
+               if(yych <= 'I'){
+                       if(yych <= 'H') goto yy751;
+                       goto yy799;
+               } else {
+                       if(yych != 'i') goto yy751;
+                       goto yy799;
+               }
+       }
+yy799:
+       YYDEBUG(799, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'L') goto yy777;
+       if(yych == 'l') goto yy777;
+       goto yy54;
+yy800:
+       YYDEBUG(800, *YYCURSOR);
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '9'){
+               if(yych <= 0x1F)        goto yy751;
+               if(yych <= '.') goto yy693;
+               if(yych <= '/') goto yy751;
+               goto yy695;
+       } else {
+               if(yych <= 'U'){
+                       if(yych <= 'T') goto yy751;
+                       goto yy801;
+               } else {
+                       if(yych != 'u') goto yy751;
+                       goto yy801;
+               }
+       }
+yy801:
+       YYDEBUG(801, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'S') goto yy802;
+       if(yych != 's') goto yy54;
+       goto yy802;
+yy802:
+       YYDEBUG(802, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'T') goto yy777;
+       if(yych == 't') goto yy777;
+       goto yy54;
+yy803:
+       YYDEBUG(803, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych <= 'Y'){
+               if(yych == 'R') goto yy804;
+               if(yych <= 'X') goto yy54;
+               goto yy777;
+       } else {
+               if(yych <= 'r'){
+                       if(yych <= 'q') goto yy54;
+                       goto yy804;
+               } else {
+                       if(yych == 'y') goto yy777;
+                       goto yy54;
+               }
+       }
+yy804:
+       YYDEBUG(804, *YYCURSOR);
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '9'){
+               if(yych <= 0x1F)        goto yy751;
+               if(yych <= '.') goto yy693;
+               if(yych <= '/') goto yy751;
+               goto yy695;
+       } else {
+               if(yych <= 'C'){
+                       if(yych <= 'B') goto yy751;
+                       goto yy805;
+               } else {
+                       if(yych != 'c') goto yy751;
+                       goto yy805;
+               }
+       }
+yy805:
+       YYDEBUG(805, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'H') goto yy777;
+       if(yych == 'h') goto yy777;
+       goto yy54;
+yy806:
+       YYDEBUG(806, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'B') goto yy807;
+       if(yych != 'b') goto yy54;
+       goto yy807;
+yy807:
+       YYDEBUG(807, *YYCURSOR);
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '9'){
+               if(yych <= 0x1F)        goto yy751;
+               if(yych <= '.') goto yy693;
+               if(yych <= '/') goto yy751;
+               goto yy695;
+       } else {
+               if(yych <= 'R'){
+                       if(yych <= 'Q') goto yy751;
+                       goto yy808;
+               } else {
+                       if(yych != 'r') goto yy751;
+                       goto yy808;
+               }
+       }
+yy808:
+       YYDEBUG(808, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'U') goto yy809;
+       if(yych != 'u') goto yy54;
+       goto yy809;
+yy809:
+       YYDEBUG(809, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'A') goto yy810;
+       if(yych != 'a') goto yy54;
+       goto yy810;
+yy810:
+       YYDEBUG(810, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'R') goto yy811;
+       if(yych != 'r') goto yy54;
+       goto yy811;
+yy811:
+       YYDEBUG(811, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'Y') goto yy777;
+       if(yych == 'y') goto yy777;
+       goto yy54;
+yy812:
+       YYDEBUG(812, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych <= 'N'){
+               if(yych == 'L') goto yy819;
+               if(yych <= 'M') goto yy54;
+               goto yy818;
+       } else {
+               if(yych <= 'l'){
+                       if(yych <= 'k') goto yy54;
+                       goto yy819;
+               } else {
+                       if(yych == 'n') goto yy818;
+                       goto yy54;
+               }
+       }
+yy813:
+       YYDEBUG(813, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'N') goto yy814;
+       if(yych != 'n') goto yy54;
+       goto yy814;
+yy814:
+       YYDEBUG(814, *YYCURSOR);
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '9'){
+               if(yych <= 0x1F)        goto yy751;
+               if(yych <= '.') goto yy693;
+               if(yych <= '/') goto yy751;
+               goto yy695;
+       } else {
+               if(yych <= 'U'){
+                       if(yych <= 'T') goto yy751;
+                       goto yy815;
+               } else {
+                       if(yych != 'u') goto yy751;
+                       goto yy815;
+               }
+       }
+yy815:
+       YYDEBUG(815, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'A') goto yy816;
+       if(yych != 'a') goto yy54;
+       goto yy816;
+yy816:
+       YYDEBUG(816, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'R') goto yy817;
+       if(yych != 'r') goto yy54;
+       goto yy817;
+yy817:
+       YYDEBUG(817, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'Y') goto yy777;
+       if(yych == 'y') goto yy777;
+       goto yy54;
+yy818:
+       YYDEBUG(818, *YYCURSOR);
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '9'){
+               if(yych <= 0x1F)        goto yy751;
+               if(yych <= '.') goto yy693;
+               if(yych <= '/') goto yy751;
+               goto yy695;
+       } else {
+               if(yych <= 'E'){
+                       if(yych <= 'D') goto yy751;
+                       goto yy777;
+               } else {
+                       if(yych == 'e') goto yy777;
+                       goto yy751;
+               }
+       }
+yy819:
+       YYDEBUG(819, *YYCURSOR);
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '9'){
+               if(yych <= 0x1F)        goto yy751;
+               if(yych <= '.') goto yy693;
+               if(yych <= '/') goto yy751;
+               goto yy695;
+       } else {
+               if(yych <= 'Y'){
+                       if(yych <= 'X') goto yy751;
+                       goto yy777;
+               } else {
+                       if(yych == 'y') goto yy777;
+                       goto yy751;
+               }
+       }
+yy820:
+       YYDEBUG(820, *YYCURSOR);
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '/'){
+               if(yych <= 0x1F)        goto yy751;
+               if(yych <= '.') goto yy693;
+               goto yy751;
+       } else {
+               if(yych <= '9') goto yy695;
+               if(yych == 'I') goto yy777;
+               goto yy751;
+       }
+yy821:
+       YYDEBUG(821, *YYCURSOR);
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '/'){
+               if(yych <= 0x1F)        goto yy751;
+               if(yych <= '.') goto yy693;
+               goto yy751;
+       } else {
+               if(yych <= '9') goto yy695;
+               if(yych != 'I') goto yy751;
+               goto yy822;
+       }
+yy822:
+       YYDEBUG(822, *YYCURSOR);
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '/'){
+               if(yych <= 0x1F)        goto yy751;
+               if(yych <= '.') goto yy693;
+               goto yy751;
+       } else {
+               if(yych <= '9') goto yy695;
+               if(yych == 'I') goto yy777;
+               goto yy751;
+       }
+yy823:
+       YYDEBUG(823, *YYCURSOR);
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '/'){
+               if(yych <= 0x1F)        goto yy751;
+               if(yych <= '.') goto yy693;
+               goto yy751;
+       } else {
+               if(yych <= '9') goto yy695;
+               if(yych == 'I') goto yy777;
+               goto yy751;
+       }
+yy824:
+       YYDEBUG(824, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == '-') goto yy863;
+       if(yych <= '/') goto yy54;
+       if(yych <= '9') goto yy826;
+       goto yy54;
+yy825:
+       YYDEBUG(825, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == '-') goto yy863;
+       if(yych <= '/') goto yy54;
+       if(yych >= '3') goto yy54;
+       goto yy826;
+yy826:
+       YYDEBUG(826, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == '-') goto yy863;
+       goto yy54;
+yy827:
+       YYDEBUG(827, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych <= 'U'){
+               if(yych == 'A') goto yy859;
+               if(yych <= 'T') goto yy54;
+               goto yy858;
+       } else {
+               if(yych <= 'a'){
+                       if(yych <= '`') goto yy54;
+                       goto yy859;
+               } else {
+                       if(yych == 'u') goto yy858;
+                       goto yy54;
+               }
+       }
+yy828:
+       YYDEBUG(828, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'E') goto yy856;
+       if(yych == 'e') goto yy856;
+       goto yy54;
+yy829:
+       YYDEBUG(829, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'A') goto yy853;
+       if(yych == 'a') goto yy853;
+       goto yy54;
+yy830:
+       YYDEBUG(830, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych <= 'U'){
+               if(yych == 'P') goto yy850;
+               if(yych <= 'T') goto yy54;
+               goto yy849;
+       } else {
+               if(yych <= 'p'){
+                       if(yych <= 'o') goto yy54;
+                       goto yy850;
+               } else {
+                       if(yych == 'u') goto yy849;
+                       goto yy54;
+               }
+       }
+yy831:
+       YYDEBUG(831, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'E') goto yy846;
+       if(yych == 'e') goto yy846;
+       goto yy54;
+yy832:
+       YYDEBUG(832, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'C') goto yy844;
+       if(yych == 'c') goto yy844;
+       goto yy54;
+yy833:
+       YYDEBUG(833, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'O') goto yy842;
+       if(yych == 'o') goto yy842;
+       goto yy54;
+yy834:
+       YYDEBUG(834, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'E') goto yy835;
+       if(yych != 'e') goto yy54;
+       goto yy835;
+yy835:
+       YYDEBUG(835, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'C') goto yy836;
+       if(yych != 'c') goto yy54;
+       goto yy836;
+yy836:
+       YYDEBUG(836, *YYCURSOR);
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '/'){
+               if(yych <= ','){
+                       if(yych <= 0x1F)        goto yy751;
+                       goto yy693;
+               } else {
+                       if(yych <= '-') goto yy837;
+                       if(yych <= '.') goto yy693;
+                       goto yy751;
+               }
+       } else {
+               if(yych <= 'E'){
+                       if(yych <= '9') goto yy695;
+                       if(yych <= 'D') goto yy751;
+                       goto yy773;
+               } else {
+                       if(yych == 'e') goto yy773;
+                       goto yy751;
+               }
+       }
+yy837:
+       YYDEBUG(837, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych <= '/') goto yy694;
+       if(yych <= '0') goto yy838;
+       if(yych <= '2') goto yy839;
+       if(yych <= '3') goto yy840;
+       goto yy694;
+yy838:
+       YYDEBUG(838, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych <= '/') goto yy696;
+       if(yych <= '0') goto yy701;
+       if(yych <= '9') goto yy841;
+       goto yy696;
+yy839:
+       YYDEBUG(839, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych <= '/') goto yy696;
+       if(yych <= '9') goto yy841;
+       goto yy696;
+yy840:
+       YYDEBUG(840, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych <= '/') goto yy696;
+       if(yych <= '1') goto yy841;
+       if(yych <= '9') goto yy701;
+       goto yy696;
+yy841:
+       YYDEBUG(841, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych <= '/') goto yy696;
+       if(yych <= '9') goto yy702;
+       goto yy696;
+yy842:
+       YYDEBUG(842, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'V') goto yy843;
+       if(yych != 'v') goto yy54;
+       goto yy843;
+yy843:
+       YYDEBUG(843, *YYCURSOR);
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '/'){
+               if(yych <= ','){
+                       if(yych <= 0x1F)        goto yy751;
+                       goto yy693;
+               } else {
+                       if(yych <= '-') goto yy837;
+                       if(yych <= '.') goto yy693;
+                       goto yy751;
+               }
+       } else {
+               if(yych <= 'E'){
+                       if(yych <= '9') goto yy695;
+                       if(yych <= 'D') goto yy751;
+                       goto yy780;
+               } else {
+                       if(yych == 'e') goto yy780;
+                       goto yy751;
+               }
+       }
+yy844:
+       YYDEBUG(844, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'T') goto yy845;
+       if(yych != 't') goto yy54;
+       goto yy845;
+yy845:
+       YYDEBUG(845, *YYCURSOR);
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '/'){
+               if(yych <= ','){
+                       if(yych <= 0x1F)        goto yy751;
+                       goto yy693;
+               } else {
+                       if(yych <= '-') goto yy837;
+                       if(yych <= '.') goto yy693;
+                       goto yy751;
+               }
+       } else {
+               if(yych <= 'O'){
+                       if(yych <= '9') goto yy695;
+                       if(yych <= 'N') goto yy751;
+                       goto yy786;
+               } else {
+                       if(yych == 'o') goto yy786;
+                       goto yy751;
+               }
+       }
+yy846:
+       YYDEBUG(846, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'P') goto yy847;
+       if(yych != 'p') goto yy54;
+       goto yy847;
+yy847:
+       YYDEBUG(847, *YYCURSOR);
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '/'){
+               if(yych <= ','){
+                       if(yych <= 0x1F)        goto yy751;
+                       goto yy693;
+               } else {
+                       if(yych <= '-') goto yy837;
+                       if(yych <= '.') goto yy693;
+                       goto yy751;
+               }
+       } else {
+               if(yych <= 'T'){
+                       if(yych <= '9') goto yy695;
+                       if(yych <= 'S') goto yy751;
+                       goto yy848;
+               } else {
+                       if(yych != 't') goto yy751;
+                       goto yy848;
+               }
+       }
+yy848:
+       YYDEBUG(848, *YYCURSOR);
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '/'){
+               if(yych <= ','){
+                       if(yych <= 0x1F)        goto yy751;
+                       goto yy693;
+               } else {
+                       if(yych <= '-') goto yy837;
+                       if(yych <= '.') goto yy693;
+                       goto yy751;
+               }
+       } else {
+               if(yych <= 'E'){
+                       if(yych <= '9') goto yy695;
+                       if(yych <= 'D') goto yy751;
+                       goto yy792;
+               } else {
+                       if(yych == 'e') goto yy792;
+                       goto yy751;
+               }
+       }
+yy849:
+       YYDEBUG(849, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'G') goto yy852;
+       if(yych == 'g') goto yy852;
+       goto yy54;
+yy850:
+       YYDEBUG(850, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == 'R') goto yy851;
+       if(yych != 'r') goto yy54;
+       goto yy851;
+yy851:
+       YYDEBUG(851, *YYCURSOR);
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '/'){
+               if(yych <= ','){
+                       if(yych <= 0x1F)        goto yy751;
+                       goto yy693;
+               } else {
+                       if(yych <= '-') goto yy837;
+                       if(yych <= '.') goto yy693;
+                       goto yy751;
+               }
+       } else {
+               if(yych <= 'I'){
+                       if(yych <= '9') goto yy695;
+                       if(yych <= 'H') goto yy751;
+                       goto yy799;
+               } else {
+                       if(yych == 'i') goto yy799;
+                       goto yy751;
+               }
        }
-yy787:
-       YYDEBUG(787, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if(yych <= 'T'){
-               if(yych == '-') goto yy772;
-               goto yy694;
+yy852:
+       YYDEBUG(852, *YYCURSOR);
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '/'){
+               if(yych <= ','){
+                       if(yych <= 0x1F)        goto yy751;
+                       goto yy693;
+               } else {
+                       if(yych <= '-') goto yy837;
+                       if(yych <= '.') goto yy693;
+                       goto yy751;
+               }
        } else {
-               if(yych <= 'U') goto yy727;
-               if(yych == 'u') goto yy727;
-               goto yy694;
+               if(yych <= 'U'){
+                       if(yych <= '9') goto yy695;
+                       if(yych <= 'T') goto yy751;
+                       goto yy801;
+               } else {
+                       if(yych == 'u') goto yy801;
+                       goto yy751;
+               }
        }
-yy788:
-       YYDEBUG(788, *YYCURSOR);
+yy853:
+       YYDEBUG(853, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'Y'){
-               if(yych == 'R') goto yy789;
+               if(yych == 'R') goto yy854;
                if(yych <= 'X') goto yy54;
-               goto yy790;
+               goto yy855;
        } else {
                if(yych <= 'r'){
                        if(yych <= 'q') goto yy54;
-                       goto yy789;
+                       goto yy854;
                } else {
-                       if(yych == 'y') goto yy790;
+                       if(yych == 'y') goto yy855;
                        goto yy54;
                }
        }
-yy789:
-       YYDEBUG(789, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if(yych <= 'B'){
-               if(yych == '-') goto yy772;
-               goto yy694;
+yy854:
+       YYDEBUG(854, *YYCURSOR);
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '/'){
+               if(yych <= ','){
+                       if(yych <= 0x1F)        goto yy751;
+                       goto yy693;
+               } else {
+                       if(yych <= '-') goto yy837;
+                       if(yych <= '.') goto yy693;
+                       goto yy751;
+               }
        } else {
-               if(yych <= 'C') goto yy731;
-               if(yych == 'c') goto yy731;
-               goto yy694;
+               if(yych <= 'C'){
+                       if(yych <= '9') goto yy695;
+                       if(yych <= 'B') goto yy751;
+                       goto yy805;
+               } else {
+                       if(yych == 'c') goto yy805;
+                       goto yy751;
+               }
        }
-yy790:
-       YYDEBUG(790, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if(yych == '-') goto yy772;
-       goto yy694;
-yy791:
-       YYDEBUG(791, *YYCURSOR);
+yy855:
+       YYDEBUG(855, *YYCURSOR);
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '-'){
+               if(yych <= 0x1F)        goto yy751;
+               if(yych <= ',') goto yy693;
+               goto yy837;
+       } else {
+               if(yych <= '.') goto yy693;
+               if(yych <= '/') goto yy751;
+               if(yych <= '9') goto yy695;
+               goto yy751;
+       }
+yy856:
+       YYDEBUG(856, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'B') goto yy792;
+       if(yych == 'B') goto yy857;
        if(yych != 'b') goto yy54;
-       goto yy792;
-yy792:
-       YYDEBUG(792, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if(yych <= 'Q'){
-               if(yych == '-') goto yy772;
-               goto yy694;
+       goto yy857;
+yy857:
+       YYDEBUG(857, *YYCURSOR);
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '/'){
+               if(yych <= ','){
+                       if(yych <= 0x1F)        goto yy751;
+                       goto yy693;
+               } else {
+                       if(yych <= '-') goto yy837;
+                       if(yych <= '.') goto yy693;
+                       goto yy751;
+               }
        } else {
-               if(yych <= 'R') goto yy734;
-               if(yych == 'r') goto yy734;
-               goto yy694;
+               if(yych <= 'R'){
+                       if(yych <= '9') goto yy695;
+                       if(yych <= 'Q') goto yy751;
+                       goto yy808;
+               } else {
+                       if(yych == 'r') goto yy808;
+                       goto yy751;
+               }
        }
-yy793:
-       YYDEBUG(793, *YYCURSOR);
+yy858:
+       YYDEBUG(858, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'N'){
-               if(yych == 'L') goto yy797;
+               if(yych == 'L') goto yy862;
                if(yych <= 'M') goto yy54;
-               goto yy796;
+               goto yy861;
        } else {
                if(yych <= 'l'){
                        if(yych <= 'k') goto yy54;
-                       goto yy797;
+                       goto yy862;
                } else {
-                       if(yych == 'n') goto yy796;
+                       if(yych == 'n') goto yy861;
                        goto yy54;
                }
        }
-yy794:
-       YYDEBUG(794, *YYCURSOR);
+yy859:
+       YYDEBUG(859, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'N') goto yy795;
+       if(yych == 'N') goto yy860;
        if(yych != 'n') goto yy54;
-       goto yy795;
-yy795:
-       YYDEBUG(795, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if(yych <= 'T'){
-               if(yych == '-') goto yy772;
-               goto yy694;
+       goto yy860;
+yy860:
+       YYDEBUG(860, *YYCURSOR);
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '/'){
+               if(yych <= ','){
+                       if(yych <= 0x1F)        goto yy751;
+                       goto yy693;
+               } else {
+                       if(yych <= '-') goto yy837;
+                       if(yych <= '.') goto yy693;
+                       goto yy751;
+               }
        } else {
-               if(yych <= 'U') goto yy741;
-               if(yych == 'u') goto yy741;
-               goto yy694;
+               if(yych <= 'U'){
+                       if(yych <= '9') goto yy695;
+                       if(yych <= 'T') goto yy751;
+                       goto yy815;
+               } else {
+                       if(yych == 'u') goto yy815;
+                       goto yy751;
+               }
        }
-yy796:
-       YYDEBUG(796, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if(yych <= 'D'){
-               if(yych == '-') goto yy772;
-               goto yy694;
+yy861:
+       YYDEBUG(861, *YYCURSOR);
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '/'){
+               if(yych <= ','){
+                       if(yych <= 0x1F)        goto yy751;
+                       goto yy693;
+               } else {
+                       if(yych <= '-') goto yy837;
+                       if(yych <= '.') goto yy693;
+                       goto yy751;
+               }
        } else {
-               if(yych <= 'E') goto yy693;
-               if(yych == 'e') goto yy693;
-               goto yy694;
+               if(yych <= 'E'){
+                       if(yych <= '9') goto yy695;
+                       if(yych <= 'D') goto yy751;
+                       goto yy777;
+               } else {
+                       if(yych == 'e') goto yy777;
+                       goto yy751;
+               }
        }
-yy797:
-       YYDEBUG(797, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if(yych <= 'X'){
-               if(yych == '-') goto yy772;
-               goto yy694;
+yy862:
+       YYDEBUG(862, *YYCURSOR);
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '/'){
+               if(yych <= ','){
+                       if(yych <= 0x1F)        goto yy751;
+                       goto yy693;
+               } else {
+                       if(yych <= '-') goto yy837;
+                       if(yych <= '.') goto yy693;
+                       goto yy751;
+               }
        } else {
-               if(yych <= 'Y') goto yy693;
-               if(yych == 'y') goto yy693;
-               goto yy694;
+               if(yych <= 'Y'){
+                       if(yych <= '9') goto yy695;
+                       if(yych <= 'X') goto yy751;
+                       goto yy777;
+               } else {
+                       if(yych == 'y') goto yy777;
+                       goto yy751;
+               }
        }
-yy798:
-       YYDEBUG(798, *YYCURSOR);
+yy863:
+       YYDEBUG(863, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '2') goto yy799;
-       if(yych <= '3') goto yy801;
-       if(yych <= '9') goto yy802;
+       if(yych <= '2') goto yy864;
+       if(yych <= '3') goto yy866;
+       if(yych <= '9') goto yy867;
        goto yy54;
-yy799:
-       YYDEBUG(799, *YYCURSOR);
+yy864:
+       YYDEBUG(864, *YYCURSOR);
        ++YYCURSOR;
-       if((yych = *YYCURSOR) <= '/')   goto yy800;
-       if(yych <= '9') goto yy802;
-       goto yy800;
-yy800:
-       YYDEBUG(800, *YYCURSOR);
+       if((yych = *YYCURSOR) <= '/')   goto yy865;
+       if(yych <= '9') goto yy867;
+       goto yy865;
+yy865:
+       YYDEBUG(865, *YYCURSOR);
 
-#line 1081 "resource/parse_date.re"
+#line 1082 "resource/parse_date.re"
 {
                TIMELIB_INIT;
                TIMELIB_HAVE_DATE();
@@ -10488,29 +11305,29 @@ yy800:
                TIMELIB_DEINIT;
                return TIMELIB_ISO_DATE;
        }
-#line 8874 "<stdout>"
-yy801:
-       YYDEBUG(801, *YYCURSOR);
+#line 9561 "<stdout>"
+yy866:
+       YYDEBUG(866, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= '/') goto yy800;
-       if(yych >= '2') goto yy800;
-       goto yy802;
-yy802:
-       YYDEBUG(802, *YYCURSOR);
+       if(yych <= '/') goto yy865;
+       if(yych >= '2') goto yy865;
+       goto yy867;
+yy867:
+       YYDEBUG(867, *YYCURSOR);
        yych = *++YYCURSOR;
-       goto yy800;
-yy803:
-       YYDEBUG(803, *YYCURSOR);
-       yyaccept = 11;
+       goto yy865;
+yy868:
+       YYDEBUG(868, *YYCURSOR);
+       yyaccept = 12;
        yych = *(YYMARKER = ++YYCURSOR);
-       if(yych <= '.') goto yy804;
-       if(yych <= '/') goto yy855;
-       if(yych <= '9') goto yy806;
-       goto yy804;
-yy804:
-       YYDEBUG(804, *YYCURSOR);
+       if(yych <= '.') goto yy869;
+       if(yych <= '/') goto yy920;
+       if(yych <= '9') goto yy871;
+       goto yy869;
+yy869:
+       YYDEBUG(869, *YYCURSOR);
 
-#line 1056 "resource/parse_date.re"
+#line 1057 "resource/parse_date.re"
 {
                TIMELIB_INIT;
                TIMELIB_HAVE_DATE();
@@ -10523,229 +11340,229 @@ yy804:
                TIMELIB_DEINIT;
                return TIMELIB_AMERICAN;
        }
-#line 8901 "<stdout>"
-yy805:
-       YYDEBUG(805, *YYCURSOR);
-       yyaccept = 11;
+#line 9588 "<stdout>"
+yy870:
+       YYDEBUG(870, *YYCURSOR);
+       yyaccept = 12;
        yych = *(YYMARKER = ++YYCURSOR);
-       if(yych <= '.') goto yy804;
-       if(yych <= '/') goto yy855;
-       if(yych >= '2') goto yy804;
-       goto yy806;
-yy806:
-       YYDEBUG(806, *YYCURSOR);
-       yyaccept = 11;
+       if(yych <= '.') goto yy869;
+       if(yych <= '/') goto yy920;
+       if(yych >= '2') goto yy869;
+       goto yy871;
+yy871:
+       YYDEBUG(871, *YYCURSOR);
+       yyaccept = 12;
        yych = *(YYMARKER = ++YYCURSOR);
-       if(yych == '/') goto yy855;
-       goto yy804;
-yy807:
-       YYDEBUG(807, *YYCURSOR);
+       if(yych == '/') goto yy920;
+       goto yy869;
+yy872:
+       YYDEBUG(872, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'U'){
-               if(yych == 'A') goto yy854;
+               if(yych == 'A') goto yy919;
                if(yych <= 'T') goto yy54;
-               goto yy853;
+               goto yy918;
        } else {
                if(yych <= 'a'){
                        if(yych <= '`') goto yy54;
-                       goto yy854;
+                       goto yy919;
                } else {
-                       if(yych == 'u') goto yy853;
+                       if(yych == 'u') goto yy918;
                        goto yy54;
                }
        }
-yy808:
-       YYDEBUG(808, *YYCURSOR);
+yy873:
+       YYDEBUG(873, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'E') goto yy852;
-       if(yych == 'e') goto yy852;
+       if(yych == 'E') goto yy917;
+       if(yych == 'e') goto yy917;
        goto yy54;
-yy809:
-       YYDEBUG(809, *YYCURSOR);
+yy874:
+       YYDEBUG(874, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'A') goto yy851;
-       if(yych == 'a') goto yy851;
+       if(yych == 'A') goto yy916;
+       if(yych == 'a') goto yy916;
        goto yy54;
-yy810:
-       YYDEBUG(810, *YYCURSOR);
+yy875:
+       YYDEBUG(875, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'U'){
-               if(yych == 'P') goto yy850;
+               if(yych == 'P') goto yy915;
                if(yych <= 'T') goto yy54;
-               goto yy849;
+               goto yy914;
        } else {
                if(yych <= 'p'){
                        if(yych <= 'o') goto yy54;
-                       goto yy850;
+                       goto yy915;
                } else {
-                       if(yych == 'u') goto yy849;
+                       if(yych == 'u') goto yy914;
                        goto yy54;
                }
        }
-yy811:
-       YYDEBUG(811, *YYCURSOR);
+yy876:
+       YYDEBUG(876, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'E') goto yy847;
-       if(yych == 'e') goto yy847;
+       if(yych == 'E') goto yy912;
+       if(yych == 'e') goto yy912;
        goto yy54;
-yy812:
-       YYDEBUG(812, *YYCURSOR);
+yy877:
+       YYDEBUG(877, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'C') goto yy846;
-       if(yych == 'c') goto yy846;
+       if(yych == 'C') goto yy911;
+       if(yych == 'c') goto yy911;
        goto yy54;
-yy813:
-       YYDEBUG(813, *YYCURSOR);
+yy878:
+       YYDEBUG(878, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'O') goto yy845;
-       if(yych == 'o') goto yy845;
+       if(yych == 'O') goto yy910;
+       if(yych == 'o') goto yy910;
        goto yy54;
-yy814:
-       YYDEBUG(814, *YYCURSOR);
+yy879:
+       YYDEBUG(879, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'E') goto yy815;
+       if(yych == 'E') goto yy880;
        if(yych != 'e') goto yy54;
-       goto yy815;
-yy815:
-       YYDEBUG(815, *YYCURSOR);
+       goto yy880;
+yy880:
+       YYDEBUG(880, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'C') goto yy816;
+       if(yych == 'C') goto yy881;
        if(yych != 'c') goto yy54;
-       goto yy816;
-yy816:
-       YYDEBUG(816, *YYCURSOR);
+       goto yy881;
+yy881:
+       YYDEBUG(881, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != '/') goto yy54;
-       goto yy817;
-yy817:
-       YYDEBUG(817, *YYCURSOR);
+       goto yy882;
+yy882:
+       YYDEBUG(882, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
        if(yych >= ':') goto yy54;
-       goto yy818;
-yy818:
-       YYDEBUG(818, *YYCURSOR);
+       goto yy883;
+yy883:
+       YYDEBUG(883, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
        if(yych >= ':') goto yy54;
-       goto yy819;
-yy819:
-       YYDEBUG(819, *YYCURSOR);
+       goto yy884;
+yy884:
+       YYDEBUG(884, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
        if(yych >= ':') goto yy54;
-       goto yy820;
-yy820:
-       YYDEBUG(820, *YYCURSOR);
+       goto yy885;
+yy885:
+       YYDEBUG(885, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
        if(yych >= ':') goto yy54;
-       goto yy821;
-yy821:
-       YYDEBUG(821, *YYCURSOR);
+       goto yy886;
+yy886:
+       YYDEBUG(886, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != ':') goto yy54;
-       goto yy822;
-yy822:
-       YYDEBUG(822, *YYCURSOR);
+       goto yy887;
+yy887:
+       YYDEBUG(887, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '1') goto yy823;
-       if(yych <= '2') goto yy824;
+       if(yych <= '1') goto yy888;
+       if(yych <= '2') goto yy889;
        goto yy54;
-yy823:
-       YYDEBUG(823, *YYCURSOR);
+yy888:
+       YYDEBUG(888, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '9') goto yy825;
+       if(yych <= '9') goto yy890;
        goto yy54;
-yy824:
-       YYDEBUG(824, *YYCURSOR);
+yy889:
+       YYDEBUG(889, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
        if(yych >= '4') goto yy54;
-       goto yy825;
-yy825:
-       YYDEBUG(825, *YYCURSOR);
+       goto yy890;
+yy890:
+       YYDEBUG(890, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != ':') goto yy54;
-       goto yy826;
-yy826:
-       YYDEBUG(826, *YYCURSOR);
+       goto yy891;
+yy891:
+       YYDEBUG(891, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
        if(yych >= '6') goto yy54;
-       goto yy827;
-yy827:
-       YYDEBUG(827, *YYCURSOR);
+       goto yy892;
+yy892:
+       YYDEBUG(892, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
        if(yych >= ':') goto yy54;
-       goto yy828;
-yy828:
-       YYDEBUG(828, *YYCURSOR);
+       goto yy893;
+yy893:
+       YYDEBUG(893, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != ':') goto yy54;
-       goto yy829;
-yy829:
-       YYDEBUG(829, *YYCURSOR);
+       goto yy894;
+yy894:
+       YYDEBUG(894, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '5') goto yy830;
-       if(yych <= '6') goto yy831;
+       if(yych <= '5') goto yy895;
+       if(yych <= '6') goto yy896;
        goto yy54;
-yy830:
-       YYDEBUG(830, *YYCURSOR);
+yy895:
+       YYDEBUG(895, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '9') goto yy832;
+       if(yych <= '9') goto yy897;
        goto yy54;
-yy831:
-       YYDEBUG(831, *YYCURSOR);
+yy896:
+       YYDEBUG(896, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != '0') goto yy54;
-       goto yy832;
-yy832:
-       YYDEBUG(832, *YYCURSOR);
+       goto yy897;
+yy897:
+       YYDEBUG(897, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != ' ') goto yy54;
-       goto yy833;
-yy833:
-       YYDEBUG(833, *YYCURSOR);
+       goto yy898;
+yy898:
+       YYDEBUG(898, *YYCURSOR);
        ++YYCURSOR;
        if((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
        yych = *YYCURSOR;
-       goto yy834;
-yy834:
-       YYDEBUG(834, *YYCURSOR);
+       goto yy899;
+yy899:
+       YYDEBUG(899, *YYCURSOR);
        if(yych <= '*'){
-               if(yych == ' ') goto yy833;
+               if(yych == ' ') goto yy898;
                goto yy54;
        } else {
                if(yych == ',') goto yy54;
                if(yych >= '.') goto yy54;
-               goto yy835;
+               goto yy900;
        }
-yy835:
-       YYDEBUG(835, *YYCURSOR);
+yy900:
+       YYDEBUG(900, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '1') goto yy836;
-       if(yych <= '2') goto yy838;
-       if(yych <= '9') goto yy839;
+       if(yych <= '1') goto yy901;
+       if(yych <= '2') goto yy903;
+       if(yych <= '9') goto yy904;
        goto yy54;
-yy836:
-       YYDEBUG(836, *YYCURSOR);
+yy901:
+       YYDEBUG(901, *YYCURSOR);
        ++YYCURSOR;
-       if((yych = *YYCURSOR) <= '/')   goto yy837;
-       if(yych <= '5') goto yy843;
-       if(yych <= '9') goto yy839;
-       if(yych <= ':') goto yy840;
-       goto yy837;
-yy837:
-       YYDEBUG(837, *YYCURSOR);
+       if((yych = *YYCURSOR) <= '/')   goto yy902;
+       if(yych <= '5') goto yy908;
+       if(yych <= '9') goto yy904;
+       if(yych <= ':') goto yy905;
+       goto yy902;
+yy902:
+       YYDEBUG(902, *YYCURSOR);
 
-#line 1259 "resource/parse_date.re"
+#line 1270 "resource/parse_date.re"
 {
                int tz_not_found;
                TIMELIB_INIT;
@@ -10762,188 +11579,188 @@ yy837:
                TIMELIB_DEINIT;
                return TIMELIB_CLF;
        }
-#line 9074 "<stdout>"
-yy838:
-       YYDEBUG(838, *YYCURSOR);
-       yyaccept = 12;
+#line 9761 "<stdout>"
+yy903:
+       YYDEBUG(903, *YYCURSOR);
+       yyaccept = 13;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= '5'){
-               if(yych <= '/') goto yy837;
-               if(yych <= '3') goto yy843;
-               goto yy841;
+               if(yych <= '/') goto yy902;
+               if(yych <= '3') goto yy908;
+               goto yy906;
        } else {
-               if(yych == ':') goto yy840;
-               goto yy837;
+               if(yych == ':') goto yy905;
+               goto yy902;
        }
-yy839:
-       YYDEBUG(839, *YYCURSOR);
-       yyaccept = 12;
+yy904:
+       YYDEBUG(904, *YYCURSOR);
+       yyaccept = 13;
        yych = *(YYMARKER = ++YYCURSOR);
-       if(yych <= '/') goto yy837;
-       if(yych <= '5') goto yy841;
-       if(yych != ':') goto yy837;
-       goto yy840;
-yy840:
-       YYDEBUG(840, *YYCURSOR);
-       yyaccept = 12;
+       if(yych <= '/') goto yy902;
+       if(yych <= '5') goto yy906;
+       if(yych != ':') goto yy902;
+       goto yy905;
+yy905:
+       YYDEBUG(905, *YYCURSOR);
+       yyaccept = 13;
        yych = *(YYMARKER = ++YYCURSOR);
-       if(yych <= '/') goto yy837;
-       if(yych >= '6') goto yy837;
-       goto yy841;
-yy841:
-       YYDEBUG(841, *YYCURSOR);
+       if(yych <= '/') goto yy902;
+       if(yych >= '6') goto yy902;
+       goto yy906;
+yy906:
+       YYDEBUG(906, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
        if(yych >= ':') goto yy54;
-       goto yy842;
-yy842:
-       YYDEBUG(842, *YYCURSOR);
+       goto yy907;
+yy907:
+       YYDEBUG(907, *YYCURSOR);
        yych = *++YYCURSOR;
-       goto yy837;
-yy843:
-       YYDEBUG(843, *YYCURSOR);
+       goto yy902;
+yy908:
+       YYDEBUG(908, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= '/') goto yy837;
-       if(yych <= '5') goto yy844;
-       if(yych <= '9') goto yy842;
-       if(yych <= ':') goto yy840;
-       goto yy837;
-yy844:
-       YYDEBUG(844, *YYCURSOR);
+       if(yych <= '/') goto yy902;
+       if(yych <= '5') goto yy909;
+       if(yych <= '9') goto yy907;
+       if(yych <= ':') goto yy905;
+       goto yy902;
+yy909:
+       YYDEBUG(909, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= '/') goto yy837;
-       if(yych <= '9') goto yy842;
-       goto yy837;
-yy845:
-       YYDEBUG(845, *YYCURSOR);
+       if(yych <= '/') goto yy902;
+       if(yych <= '9') goto yy907;
+       goto yy902;
+yy910:
+       YYDEBUG(910, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'V') goto yy816;
-       if(yych == 'v') goto yy816;
+       if(yych == 'V') goto yy881;
+       if(yych == 'v') goto yy881;
        goto yy54;
-yy846:
-       YYDEBUG(846, *YYCURSOR);
+yy911:
+       YYDEBUG(911, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'T') goto yy816;
-       if(yych == 't') goto yy816;
+       if(yych == 'T') goto yy881;
+       if(yych == 't') goto yy881;
        goto yy54;
-yy847:
-       YYDEBUG(847, *YYCURSOR);
+yy912:
+       YYDEBUG(912, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'P') goto yy848;
+       if(yych == 'P') goto yy913;
        if(yych != 'p') goto yy54;
-       goto yy848;
-yy848:
-       YYDEBUG(848, *YYCURSOR);
+       goto yy913;
+yy913:
+       YYDEBUG(913, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'S'){
-               if(yych == '/') goto yy817;
+               if(yych == '/') goto yy882;
                goto yy54;
        } else {
-               if(yych <= 'T') goto yy816;
-               if(yych == 't') goto yy816;
+               if(yych <= 'T') goto yy881;
+               if(yych == 't') goto yy881;
                goto yy54;
        }
-yy849:
-       YYDEBUG(849, *YYCURSOR);
+yy914:
+       YYDEBUG(914, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'G') goto yy816;
-       if(yych == 'g') goto yy816;
+       if(yych == 'G') goto yy881;
+       if(yych == 'g') goto yy881;
        goto yy54;
-yy850:
-       YYDEBUG(850, *YYCURSOR);
+yy915:
+       YYDEBUG(915, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'R') goto yy816;
-       if(yych == 'r') goto yy816;
+       if(yych == 'R') goto yy881;
+       if(yych == 'r') goto yy881;
        goto yy54;
-yy851:
-       YYDEBUG(851, *YYCURSOR);
+yy916:
+       YYDEBUG(916, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'Y'){
-               if(yych == 'R') goto yy816;
+               if(yych == 'R') goto yy881;
                if(yych <= 'X') goto yy54;
-               goto yy816;
+               goto yy881;
        } else {
                if(yych <= 'r'){
                        if(yych <= 'q') goto yy54;
-                       goto yy816;
+                       goto yy881;
                } else {
-                       if(yych == 'y') goto yy816;
+                       if(yych == 'y') goto yy881;
                        goto yy54;
                }
        }
-yy852:
-       YYDEBUG(852, *YYCURSOR);
+yy917:
+       YYDEBUG(917, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'B') goto yy816;
-       if(yych == 'b') goto yy816;
+       if(yych == 'B') goto yy881;
+       if(yych == 'b') goto yy881;
        goto yy54;
-yy853:
-       YYDEBUG(853, *YYCURSOR);
+yy918:
+       YYDEBUG(918, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'N'){
-               if(yych == 'L') goto yy816;
+               if(yych == 'L') goto yy881;
                if(yych <= 'M') goto yy54;
-               goto yy816;
+               goto yy881;
        } else {
                if(yych <= 'l'){
                        if(yych <= 'k') goto yy54;
-                       goto yy816;
+                       goto yy881;
                } else {
-                       if(yych == 'n') goto yy816;
+                       if(yych == 'n') goto yy881;
                        goto yy54;
                }
        }
-yy854:
-       YYDEBUG(854, *YYCURSOR);
+yy919:
+       YYDEBUG(919, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'N') goto yy816;
-       if(yych == 'n') goto yy816;
+       if(yych == 'N') goto yy881;
+       if(yych == 'n') goto yy881;
        goto yy54;
-yy855:
-       YYDEBUG(855, *YYCURSOR);
+yy920:
+       YYDEBUG(920, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
        if(yych >= ':') goto yy54;
-       goto yy856;
-yy856:
-       YYDEBUG(856, *YYCURSOR);
+       goto yy921;
+yy921:
+       YYDEBUG(921, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= '/') goto yy804;
-       if(yych >= ':') goto yy804;
-       goto yy857;
-yy857:
-       YYDEBUG(857, *YYCURSOR);
+       if(yych <= '/') goto yy869;
+       if(yych >= ':') goto yy869;
+       goto yy922;
+yy922:
+       YYDEBUG(922, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= '/') goto yy804;
-       if(yych >= ':') goto yy804;
-       goto yy858;
-yy858:
-       YYDEBUG(858, *YYCURSOR);
+       if(yych <= '/') goto yy869;
+       if(yych >= ':') goto yy869;
+       goto yy923;
+yy923:
+       YYDEBUG(923, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= '/') goto yy804;
-       if(yych >= ':') goto yy804;
-       goto yy859;
-yy859:
-       YYDEBUG(859, *YYCURSOR);
+       if(yych <= '/') goto yy869;
+       if(yych >= ':') goto yy869;
+       goto yy924;
+yy924:
+       YYDEBUG(924, *YYCURSOR);
        yych = *++YYCURSOR;
-       goto yy804;
-yy860:
-       YYDEBUG(860, *YYCURSOR);
+       goto yy869;
+yy925:
+       YYDEBUG(925, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yybm[0+yych] & 16) {
                goto yy66;
        }
-       if(yych == '-') goto yy861;
+       if(yych == '-') goto yy926;
        if(yych <= '/') goto yy54;
-       if(yych <= '9') goto yy888;
+       if(yych <= '9') goto yy953;
        goto yy54;
-yy861:
-       YYDEBUG(861, *YYCURSOR);
+yy926:
+       YYDEBUG(926, *YYCURSOR);
        yych = *++YYCURSOR;
        YYDEBUG(-1, yych);
        switch(yych){
-       case '0':       goto yy759;
-       case '1':       goto yy760;
+       case '0':       goto yy824;
+       case '1':       goto yy825;
        case '2':
        case '3':
        case '4':
@@ -10951,130 +11768,130 @@ yy861:
        case '6':
        case '7':
        case '8':
-       case '9':       goto yy761;
-       case 'A':       case 'a':       goto yy865;
-       case 'D':       case 'd':       goto yy869;
-       case 'F':       case 'f':       goto yy863;
-       case 'J':       case 'j':       goto yy862;
-       case 'M':       case 'm':       goto yy864;
-       case 'N':       case 'n':       goto yy868;
-       case 'O':       case 'o':       goto yy867;
-       case 'S':       case 's':       goto yy866;
+       case '9':       goto yy826;
+       case 'A':       case 'a':       goto yy930;
+       case 'D':       case 'd':       goto yy934;
+       case 'F':       case 'f':       goto yy928;
+       case 'J':       case 'j':       goto yy927;
+       case 'M':       case 'm':       goto yy929;
+       case 'N':       case 'n':       goto yy933;
+       case 'O':       case 'o':       goto yy932;
+       case 'S':       case 's':       goto yy931;
        default:        goto yy54;
        }
-yy862:
-       YYDEBUG(862, *YYCURSOR);
+yy927:
+       YYDEBUG(927, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'U'){
-               if(yych == 'A') goto yy887;
+               if(yych == 'A') goto yy952;
                if(yych <= 'T') goto yy54;
-               goto yy886;
+               goto yy951;
        } else {
                if(yych <= 'a'){
                        if(yych <= '`') goto yy54;
-                       goto yy887;
+                       goto yy952;
                } else {
-                       if(yych == 'u') goto yy886;
+                       if(yych == 'u') goto yy951;
                        goto yy54;
                }
        }
-yy863:
-       YYDEBUG(863, *YYCURSOR);
+yy928:
+       YYDEBUG(928, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'E') goto yy885;
-       if(yych == 'e') goto yy885;
+       if(yych == 'E') goto yy950;
+       if(yych == 'e') goto yy950;
        goto yy54;
-yy864:
-       YYDEBUG(864, *YYCURSOR);
+yy929:
+       YYDEBUG(929, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'A') goto yy884;
-       if(yych == 'a') goto yy884;
+       if(yych == 'A') goto yy949;
+       if(yych == 'a') goto yy949;
        goto yy54;
-yy865:
-       YYDEBUG(865, *YYCURSOR);
+yy930:
+       YYDEBUG(930, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'U'){
-               if(yych == 'P') goto yy883;
+               if(yych == 'P') goto yy948;
                if(yych <= 'T') goto yy54;
-               goto yy882;
+               goto yy947;
        } else {
                if(yych <= 'p'){
                        if(yych <= 'o') goto yy54;
-                       goto yy883;
+                       goto yy948;
                } else {
-                       if(yych == 'u') goto yy882;
+                       if(yych == 'u') goto yy947;
                        goto yy54;
                }
        }
-yy866:
-       YYDEBUG(866, *YYCURSOR);
+yy931:
+       YYDEBUG(931, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'E') goto yy880;
-       if(yych == 'e') goto yy880;
+       if(yych == 'E') goto yy945;
+       if(yych == 'e') goto yy945;
        goto yy54;
-yy867:
-       YYDEBUG(867, *YYCURSOR);
+yy932:
+       YYDEBUG(932, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'C') goto yy879;
-       if(yych == 'c') goto yy879;
+       if(yych == 'C') goto yy944;
+       if(yych == 'c') goto yy944;
        goto yy54;
-yy868:
-       YYDEBUG(868, *YYCURSOR);
+yy933:
+       YYDEBUG(933, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'O') goto yy878;
-       if(yych == 'o') goto yy878;
+       if(yych == 'O') goto yy943;
+       if(yych == 'o') goto yy943;
        goto yy54;
-yy869:
-       YYDEBUG(869, *YYCURSOR);
+yy934:
+       YYDEBUG(934, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'E') goto yy870;
+       if(yych == 'E') goto yy935;
        if(yych != 'e') goto yy54;
-       goto yy870;
-yy870:
-       YYDEBUG(870, *YYCURSOR);
+       goto yy935;
+yy935:
+       YYDEBUG(935, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'C') goto yy871;
+       if(yych == 'C') goto yy936;
        if(yych != 'c') goto yy54;
-       goto yy871;
-yy871:
-       YYDEBUG(871, *YYCURSOR);
+       goto yy936;
+yy936:
+       YYDEBUG(936, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != '-') goto yy54;
-       goto yy872;
-yy872:
-       YYDEBUG(872, *YYCURSOR);
+       goto yy937;
+yy937:
+       YYDEBUG(937, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '0') goto yy873;
-       if(yych <= '2') goto yy874;
-       if(yych <= '3') goto yy875;
+       if(yych <= '0') goto yy938;
+       if(yych <= '2') goto yy939;
+       if(yych <= '3') goto yy940;
        goto yy54;
-yy873:
-       YYDEBUG(873, *YYCURSOR);
+yy938:
+       YYDEBUG(938, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '0') goto yy54;
-       if(yych <= '9') goto yy876;
+       if(yych <= '9') goto yy941;
        goto yy54;
-yy874:
-       YYDEBUG(874, *YYCURSOR);
+yy939:
+       YYDEBUG(939, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '9') goto yy876;
+       if(yych <= '9') goto yy941;
        goto yy54;
-yy875:
-       YYDEBUG(875, *YYCURSOR);
+yy940:
+       YYDEBUG(940, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
        if(yych >= '2') goto yy54;
-       goto yy876;
-yy876:
-       YYDEBUG(876, *YYCURSOR);
+       goto yy941;
+yy941:
+       YYDEBUG(941, *YYCURSOR);
        ++YYCURSOR;
-       goto yy877;
-yy877:
-       YYDEBUG(877, *YYCURSOR);
+       goto yy942;
+yy942:
+       YYDEBUG(942, *YYCURSOR);
 
-#line 1247 "resource/parse_date.re"
+#line 1258 "resource/parse_date.re"
 {
                TIMELIB_INIT;
                TIMELIB_HAVE_DATE();
@@ -11085,125 +11902,125 @@ yy877:
                TIMELIB_DEINIT;
                return TIMELIB_PG_TEXT;
        }
-#line 9316 "<stdout>"
-yy878:
-       YYDEBUG(878, *YYCURSOR);
+#line 10003 "<stdout>"
+yy943:
+       YYDEBUG(943, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'V') goto yy871;
-       if(yych == 'v') goto yy871;
+       if(yych == 'V') goto yy936;
+       if(yych == 'v') goto yy936;
        goto yy54;
-yy879:
-       YYDEBUG(879, *YYCURSOR);
+yy944:
+       YYDEBUG(944, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'T') goto yy871;
-       if(yych == 't') goto yy871;
+       if(yych == 'T') goto yy936;
+       if(yych == 't') goto yy936;
        goto yy54;
-yy880:
-       YYDEBUG(880, *YYCURSOR);
+yy945:
+       YYDEBUG(945, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'P') goto yy881;
+       if(yych == 'P') goto yy946;
        if(yych != 'p') goto yy54;
-       goto yy881;
-yy881:
-       YYDEBUG(881, *YYCURSOR);
+       goto yy946;
+yy946:
+       YYDEBUG(946, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'S'){
-               if(yych == '-') goto yy872;
+               if(yych == '-') goto yy937;
                goto yy54;
        } else {
-               if(yych <= 'T') goto yy871;
-               if(yych == 't') goto yy871;
+               if(yych <= 'T') goto yy936;
+               if(yych == 't') goto yy936;
                goto yy54;
        }
-yy882:
-       YYDEBUG(882, *YYCURSOR);
+yy947:
+       YYDEBUG(947, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'G') goto yy871;
-       if(yych == 'g') goto yy871;
+       if(yych == 'G') goto yy936;
+       if(yych == 'g') goto yy936;
        goto yy54;
-yy883:
-       YYDEBUG(883, *YYCURSOR);
+yy948:
+       YYDEBUG(948, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'R') goto yy871;
-       if(yych == 'r') goto yy871;
+       if(yych == 'R') goto yy936;
+       if(yych == 'r') goto yy936;
        goto yy54;
-yy884:
-       YYDEBUG(884, *YYCURSOR);
+yy949:
+       YYDEBUG(949, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'Y'){
-               if(yych == 'R') goto yy871;
+               if(yych == 'R') goto yy936;
                if(yych <= 'X') goto yy54;
-               goto yy871;
+               goto yy936;
        } else {
                if(yych <= 'r'){
                        if(yych <= 'q') goto yy54;
-                       goto yy871;
+                       goto yy936;
                } else {
-                       if(yych == 'y') goto yy871;
+                       if(yych == 'y') goto yy936;
                        goto yy54;
                }
        }
-yy885:
-       YYDEBUG(885, *YYCURSOR);
+yy950:
+       YYDEBUG(950, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'B') goto yy871;
-       if(yych == 'b') goto yy871;
+       if(yych == 'B') goto yy936;
+       if(yych == 'b') goto yy936;
        goto yy54;
-yy886:
-       YYDEBUG(886, *YYCURSOR);
+yy951:
+       YYDEBUG(951, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'N'){
-               if(yych == 'L') goto yy871;
+               if(yych == 'L') goto yy936;
                if(yych <= 'M') goto yy54;
-               goto yy871;
+               goto yy936;
        } else {
                if(yych <= 'l'){
                        if(yych <= 'k') goto yy54;
-                       goto yy871;
+                       goto yy936;
                } else {
-                       if(yych == 'n') goto yy871;
+                       if(yych == 'n') goto yy936;
                        goto yy54;
                }
        }
-yy887:
-       YYDEBUG(887, *YYCURSOR);
+yy952:
+       YYDEBUG(952, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'N') goto yy871;
-       if(yych == 'n') goto yy871;
+       if(yych == 'N') goto yy936;
+       if(yych == 'n') goto yy936;
        goto yy54;
-yy888:
-       YYDEBUG(888, *YYCURSOR);
+yy953:
+       YYDEBUG(953, *YYCURSOR);
        yych = *++YYCURSOR;
        YYDEBUG(-1, yych);
        switch(yych){
-       case '-':       goto yy889;
-       case '.':       goto yy895;
-       case '/':       goto yy890;
-       case '0':       goto yy908;
-       case '1':       goto yy909;
-       case '2':       goto yy910;
-       case '3':       goto yy911;
+       case '-':       goto yy954;
+       case '.':       goto yy960;
+       case '/':       goto yy955;
+       case '0':       goto yy973;
+       case '1':       goto yy974;
+       case '2':       goto yy975;
+       case '3':       goto yy976;
        case '4':
        case '5':
        case '6':
        case '7':
        case '8':
        case '9':       goto yy68;
-       case 'D':       case 'd':       goto yy907;
-       case 'F':       case 'f':       goto yy901;
+       case 'D':       case 'd':       goto yy972;
+       case 'F':       case 'f':       goto yy966;
        case 'H':       case 'T':       case 'Y':       case 'h':       case 't':       case 'w':       case 'y':       goto yy54;
-       case 'M':       case 'm':       goto yy902;
-       case 'S':       case 's':       goto yy904;
-       case 'W':       goto yy912;
-       default:        goto yy892;
+       case 'M':       case 'm':       goto yy967;
+       case 'S':       case 's':       goto yy969;
+       case 'W':       goto yy977;
+       default:        goto yy957;
        }
-yy889:
-       YYDEBUG(889, *YYCURSOR);
+yy954:
+       YYDEBUG(954, *YYCURSOR);
        yych = *++YYCURSOR;
        YYDEBUG(-1, yych);
        switch(yych){
-       case '0':       goto yy1045;
-       case '1':       goto yy1046;
+       case '0':       goto yy1110;
+       case '1':       goto yy1111;
        case '2':
        case '3':
        case '4':
@@ -11211,35 +12028,35 @@ yy889:
        case '6':
        case '7':
        case '8':
-       case '9':       goto yy761;
-       case 'A':       case 'a':       goto yy1040;
-       case 'D':       case 'd':       goto yy1044;
-       case 'F':       case 'f':       goto yy1038;
-       case 'J':       case 'j':       goto yy1037;
-       case 'M':       case 'm':       goto yy1039;
-       case 'N':       case 'n':       goto yy1043;
-       case 'O':       case 'o':       goto yy1042;
-       case 'S':       case 's':       goto yy1041;
-       default:        goto yy894;
+       case '9':       goto yy826;
+       case 'A':       case 'a':       goto yy1105;
+       case 'D':       case 'd':       goto yy1109;
+       case 'F':       case 'f':       goto yy1103;
+       case 'J':       case 'j':       goto yy1102;
+       case 'M':       case 'm':       goto yy1104;
+       case 'N':       case 'n':       goto yy1108;
+       case 'O':       case 'o':       goto yy1107;
+       case 'S':       case 's':       goto yy1106;
+       default:        goto yy959;
        }
-yy890:
-       YYDEBUG(890, *YYCURSOR);
+yy955:
+       YYDEBUG(955, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '0') goto yy1027;
-       if(yych <= '1') goto yy1028;
+       if(yych <= '0') goto yy1092;
+       if(yych <= '1') goto yy1093;
        goto yy54;
-yy891:
-       YYDEBUG(891, *YYCURSOR);
+yy956:
+       YYDEBUG(956, *YYCURSOR);
        ++YYCURSOR;
        if((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
        yych = *YYCURSOR;
-       goto yy892;
-yy892:
-       YYDEBUG(892, *YYCURSOR);
+       goto yy957;
+yy957:
+       YYDEBUG(957, *YYCURSOR);
        YYDEBUG(-1, yych);
        switch(yych){
-       case ' ':       goto yy891;
+       case ' ':       goto yy956;
        case '!':
        case '"':
        case '#':
@@ -11253,32 +12070,32 @@ yy892:
        case '+':
        case ',':
        case '-':
-       case '.':       goto yy893;
-       case 'A':       case 'a':       goto yy903;
-       case 'D':       case 'd':       goto yy1024;
-       case 'F':       case 'f':       goto yy1025;
+       case '.':       goto yy958;
+       case 'A':       case 'a':       goto yy968;
+       case 'D':       case 'd':       goto yy1089;
+       case 'F':       case 'f':       goto yy1090;
        case 'H':       case 'h':       goto yy72;
-       case 'I':       goto yy896;
-       case 'J':       case 'j':       goto yy900;
-       case 'M':       case 'm':       goto yy1023;
-       case 'N':       case 'n':       goto yy906;
-       case 'O':       case 'o':       goto yy905;
-       case 'S':       case 's':       goto yy1022;
+       case 'I':       goto yy961;
+       case 'J':       case 'j':       goto yy965;
+       case 'M':       case 'm':       goto yy1088;
+       case 'N':       case 'n':       goto yy971;
+       case 'O':       case 'o':       goto yy970;
+       case 'S':       case 's':       goto yy1087;
        case 'T':       case 't':       goto yy77;
-       case 'V':       goto yy898;
+       case 'V':       goto yy963;
        case 'W':       case 'w':       goto yy74;
-       case 'X':       goto yy899;
+       case 'X':       goto yy964;
        case 'Y':       case 'y':       goto yy76;
        default:        goto yy54;
        }
-yy893:
-       YYDEBUG(893, *YYCURSOR);
+yy958:
+       YYDEBUG(958, *YYCURSOR);
        ++YYCURSOR;
        if((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
        yych = *YYCURSOR;
-       goto yy894;
-yy894:
-       YYDEBUG(894, *YYCURSOR);
+       goto yy959;
+yy959:
+       YYDEBUG(959, *YYCURSOR);
        YYDEBUG(-1, yych);
        switch(yych){
        case ' ':
@@ -11295,43 +12112,43 @@ yy894:
        case '+':
        case ',':
        case '-':
-       case '.':       goto yy893;
-       case 'A':       case 'a':       goto yy903;
-       case 'D':       case 'd':       goto yy907;
-       case 'F':       case 'f':       goto yy901;
-       case 'I':       goto yy896;
-       case 'J':       case 'j':       goto yy900;
-       case 'M':       case 'm':       goto yy902;
-       case 'N':       case 'n':       goto yy906;
-       case 'O':       case 'o':       goto yy905;
-       case 'S':       case 's':       goto yy904;
-       case 'V':       goto yy898;
-       case 'X':       goto yy899;
+       case '.':       goto yy958;
+       case 'A':       case 'a':       goto yy968;
+       case 'D':       case 'd':       goto yy972;
+       case 'F':       case 'f':       goto yy966;
+       case 'I':       goto yy961;
+       case 'J':       case 'j':       goto yy965;
+       case 'M':       case 'm':       goto yy967;
+       case 'N':       case 'n':       goto yy971;
+       case 'O':       case 'o':       goto yy970;
+       case 'S':       case 's':       goto yy969;
+       case 'V':       goto yy963;
+       case 'X':       goto yy964;
        default:        goto yy54;
        }
-yy895:
-       YYDEBUG(895, *YYCURSOR);
+yy960:
+       YYDEBUG(960, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= '/') goto yy894;
-       if(yych <= '0') goto yy1013;
-       if(yych <= '2') goto yy1014;
-       if(yych <= '3') goto yy1015;
-       goto yy894;
-yy896:
-       YYDEBUG(896, *YYCURSOR);
+       if(yych <= '/') goto yy959;
+       if(yych <= '0') goto yy1078;
+       if(yych <= '2') goto yy1079;
+       if(yych <= '3') goto yy1080;
+       goto yy959;
+yy961:
+       YYDEBUG(961, *YYCURSOR);
        ++YYCURSOR;
        if((yych = *YYCURSOR) <= 'U'){
-               if(yych == 'I') goto yy1012;
-               goto yy897;
+               if(yych == 'I') goto yy1077;
+               goto yy962;
        } else {
-               if(yych == 'W') goto yy897;
-               if(yych <= 'X') goto yy966;
-               goto yy897;
+               if(yych == 'W') goto yy962;
+               if(yych <= 'X') goto yy1031;
+               goto yy962;
        }
-yy897:
-       YYDEBUG(897, *YYCURSOR);
+yy962:
+       YYDEBUG(962, *YYCURSOR);
 
-#line 1129 "resource/parse_date.re"
+#line 1130 "resource/parse_date.re"
 {
                TIMELIB_INIT;
                TIMELIB_HAVE_DATE();
@@ -11342,161 +12159,161 @@ yy897:
                TIMELIB_DEINIT;
                return TIMELIB_DATE_NO_DAY;
        }
-#line 9529 "<stdout>"
-yy898:
-       YYDEBUG(898, *YYCURSOR);
+#line 10216 "<stdout>"
+yy963:
+       YYDEBUG(963, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'I') goto yy1010;
-       goto yy897;
-yy899:
-       YYDEBUG(899, *YYCURSOR);
+       if(yych == 'I') goto yy1075;
+       goto yy962;
+yy964:
+       YYDEBUG(964, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'I') goto yy1009;
-       goto yy897;
-yy900:
-       YYDEBUG(900, *YYCURSOR);
+       if(yych == 'I') goto yy1074;
+       goto yy962;
+yy965:
+       YYDEBUG(965, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'U'){
-               if(yych == 'A') goto yy1002;
+               if(yych == 'A') goto yy1067;
                if(yych <= 'T') goto yy54;
-               goto yy1001;
+               goto yy1066;
        } else {
                if(yych <= 'a'){
                        if(yych <= '`') goto yy54;
-                       goto yy1002;
+                       goto yy1067;
                } else {
-                       if(yych == 'u') goto yy1001;
+                       if(yych == 'u') goto yy1066;
                        goto yy54;
                }
        }
-yy901:
-       YYDEBUG(901, *YYCURSOR);
+yy966:
+       YYDEBUG(966, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'E') goto yy995;
-       if(yych == 'e') goto yy995;
+       if(yych == 'E') goto yy1060;
+       if(yych == 'e') goto yy1060;
        goto yy54;
-yy902:
-       YYDEBUG(902, *YYCURSOR);
+yy967:
+       YYDEBUG(967, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'A') goto yy992;
-       if(yych == 'a') goto yy992;
+       if(yych == 'A') goto yy1057;
+       if(yych == 'a') goto yy1057;
        goto yy54;
-yy903:
-       YYDEBUG(903, *YYCURSOR);
+yy968:
+       YYDEBUG(968, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'U'){
-               if(yych == 'P') goto yy986;
+               if(yych == 'P') goto yy1051;
                if(yych <= 'T') goto yy54;
-               goto yy985;
+               goto yy1050;
        } else {
                if(yych <= 'p'){
                        if(yych <= 'o') goto yy54;
-                       goto yy986;
+                       goto yy1051;
                } else {
-                       if(yych == 'u') goto yy985;
+                       if(yych == 'u') goto yy1050;
                        goto yy54;
                }
        }
-yy904:
-       YYDEBUG(904, *YYCURSOR);
+yy969:
+       YYDEBUG(969, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'E') goto yy978;
-       if(yych == 'e') goto yy978;
+       if(yych == 'E') goto yy1043;
+       if(yych == 'e') goto yy1043;
        goto yy54;
-yy905:
-       YYDEBUG(905, *YYCURSOR);
+yy970:
+       YYDEBUG(970, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'C') goto yy973;
-       if(yych == 'c') goto yy973;
+       if(yych == 'C') goto yy1038;
+       if(yych == 'c') goto yy1038;
        goto yy54;
-yy906:
-       YYDEBUG(906, *YYCURSOR);
+yy971:
+       YYDEBUG(971, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'O') goto yy967;
-       if(yych == 'o') goto yy967;
+       if(yych == 'O') goto yy1032;
+       if(yych == 'o') goto yy1032;
        goto yy54;
-yy907:
-       YYDEBUG(907, *YYCURSOR);
+yy972:
+       YYDEBUG(972, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'E') goto yy960;
-       if(yych == 'e') goto yy960;
+       if(yych == 'E') goto yy1025;
+       if(yych == 'e') goto yy1025;
        goto yy54;
-yy908:
-       YYDEBUG(908, *YYCURSOR);
+yy973:
+       YYDEBUG(973, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yybm[0+yych] & 16) {
                goto yy66;
        }
        if(yych <= '/') goto yy54;
-       if(yych <= '0') goto yy958;
-       if(yych <= '9') goto yy959;
+       if(yych <= '0') goto yy1023;
+       if(yych <= '9') goto yy1024;
        goto yy54;
-yy909:
-       YYDEBUG(909, *YYCURSOR);
+yy974:
+       YYDEBUG(974, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yybm[0+yych] & 16) {
                goto yy66;
        }
        if(yych <= '/') goto yy54;
-       if(yych <= '2') goto yy925;
-       if(yych <= '9') goto yy924;
+       if(yych <= '2') goto yy990;
+       if(yych <= '9') goto yy989;
        goto yy54;
-yy910:
-       YYDEBUG(910, *YYCURSOR);
+yy975:
+       YYDEBUG(975, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yybm[0+yych] & 16) {
                goto yy66;
        }
        if(yych <= '/') goto yy54;
-       if(yych <= '9') goto yy924;
+       if(yych <= '9') goto yy989;
        goto yy54;
-yy911:
-       YYDEBUG(911, *YYCURSOR);
+yy976:
+       YYDEBUG(976, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yybm[0+yych] & 16) {
                goto yy66;
        }
        if(yych <= '/') goto yy54;
-       if(yych <= '5') goto yy920;
-       if(yych <= '6') goto yy921;
+       if(yych <= '5') goto yy985;
+       if(yych <= '6') goto yy986;
        if(yych <= '9') goto yy68;
        goto yy54;
-yy912:
-       YYDEBUG(912, *YYCURSOR);
+yy977:
+       YYDEBUG(977, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '0') goto yy913;
-       if(yych <= '4') goto yy914;
-       if(yych <= '5') goto yy915;
+       if(yych <= '0') goto yy978;
+       if(yych <= '4') goto yy979;
+       if(yych <= '5') goto yy980;
        goto yy54;
-yy913:
-       YYDEBUG(913, *YYCURSOR);
+yy978:
+       YYDEBUG(978, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '0') goto yy54;
-       if(yych <= '9') goto yy916;
+       if(yych <= '9') goto yy981;
        goto yy54;
-yy914:
-       YYDEBUG(914, *YYCURSOR);
+yy979:
+       YYDEBUG(979, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '9') goto yy916;
+       if(yych <= '9') goto yy981;
        goto yy54;
-yy915:
-       YYDEBUG(915, *YYCURSOR);
+yy980:
+       YYDEBUG(980, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
        if(yych >= '4') goto yy54;
-       goto yy916;
-yy916:
-       YYDEBUG(916, *YYCURSOR);
+       goto yy981;
+yy981:
+       YYDEBUG(981, *YYCURSOR);
        ++YYCURSOR;
-       if((yych = *YYCURSOR) <= '/')   goto yy917;
-       if(yych <= '7') goto yy918;
-       goto yy917;
-yy917:
-       YYDEBUG(917, *YYCURSOR);
+       if((yych = *YYCURSOR) <= '/')   goto yy982;
+       if(yych <= '7') goto yy983;
+       goto yy982;
+yy982:
+       YYDEBUG(982, *YYCURSOR);
 
-#line 1216 "resource/parse_date.re"
+#line 1227 "resource/parse_date.re"
 {
                timelib_sll w, d;
 
@@ -11514,15 +12331,15 @@ yy917:
                TIMELIB_DEINIT;
                return TIMELIB_ISO_WEEK;
        }
-#line 9661 "<stdout>"
-yy918:
-       YYDEBUG(918, *YYCURSOR);
+#line 10348 "<stdout>"
+yy983:
+       YYDEBUG(983, *YYCURSOR);
        ++YYCURSOR;
-       goto yy919;
-yy919:
-       YYDEBUG(919, *YYCURSOR);
+       goto yy984;
+yy984:
+       YYDEBUG(984, *YYCURSOR);
 
-#line 1197 "resource/parse_date.re"
+#line 1208 "resource/parse_date.re"
 {
                timelib_sll w, d;
 
@@ -11540,40 +12357,40 @@ yy919:
                TIMELIB_DEINIT;
                return TIMELIB_ISO_WEEK;
        }
-#line 9683 "<stdout>"
-yy920:
-       YYDEBUG(920, *YYCURSOR);
+#line 10370 "<stdout>"
+yy985:
+       YYDEBUG(985, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yybm[0+yych] & 16) {
                goto yy66;
        }
        if(yych <= '/') goto yy54;
-       if(yych <= '9') goto yy922;
+       if(yych <= '9') goto yy987;
        goto yy54;
-yy921:
-       YYDEBUG(921, *YYCURSOR);
+yy986:
+       YYDEBUG(986, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yybm[0+yych] & 16) {
                goto yy66;
        }
        if(yych <= '/') goto yy54;
-       if(yych <= '6') goto yy922;
+       if(yych <= '6') goto yy987;
        if(yych <= '9') goto yy68;
        goto yy54;
-yy922:
-       YYDEBUG(922, *YYCURSOR);
-       yyaccept = 13;
+yy987:
+       YYDEBUG(987, *YYCURSOR);
+       yyaccept = 14;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yybm[0+yych] & 16) {
                goto yy66;
        }
-       if(yych <= '/') goto yy923;
+       if(yych <= '/') goto yy988;
        if(yych <= '9') goto yy68;
-       goto yy923;
-yy923:
-       YYDEBUG(923, *YYCURSOR);
+       goto yy988;
+yy988:
+       YYDEBUG(988, *YYCURSOR);
 
-#line 1185 "resource/parse_date.re"
+#line 1196 "resource/parse_date.re"
 {
                TIMELIB_INIT;
                TIMELIB_HAVE_DATE();
@@ -11584,83 +12401,83 @@ yy923:
                TIMELIB_DEINIT;
                return TIMELIB_PG_YEARDAY;
        }
-#line 9719 "<stdout>"
-yy924:
-       YYDEBUG(924, *YYCURSOR);
+#line 10406 "<stdout>"
+yy989:
+       YYDEBUG(989, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yybm[0+yych] & 16) {
                goto yy66;
        }
        if(yych <= '/') goto yy54;
-       if(yych <= '9') goto yy922;
+       if(yych <= '9') goto yy987;
        goto yy54;
-yy925:
-       YYDEBUG(925, *YYCURSOR);
+yy990:
+       YYDEBUG(990, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yybm[0+yych] & 16) {
                goto yy66;
        }
        if(yych <= '2'){
                if(yych <= '/') goto yy54;
-               if(yych >= '1') goto yy927;
-               goto yy926;
+               if(yych >= '1') goto yy992;
+               goto yy991;
        } else {
-               if(yych <= '3') goto yy928;
-               if(yych <= '9') goto yy922;
+               if(yych <= '3') goto yy993;
+               if(yych <= '9') goto yy987;
                goto yy54;
        }
-yy926:
-       YYDEBUG(926, *YYCURSOR);
-       yyaccept = 13;
+yy991:
+       YYDEBUG(991, *YYCURSOR);
+       yyaccept = 14;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yybm[0+yych] & 16) {
                goto yy66;
        }
-       if(yych <= '/') goto yy923;
+       if(yych <= '/') goto yy988;
        if(yych <= '0') goto yy68;
-       if(yych <= '9') goto yy929;
-       goto yy923;
-yy927:
-       YYDEBUG(927, *YYCURSOR);
-       yyaccept = 13;
+       if(yych <= '9') goto yy994;
+       goto yy988;
+yy992:
+       YYDEBUG(992, *YYCURSOR);
+       yyaccept = 14;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yybm[0+yych] & 16) {
                goto yy66;
        }
-       if(yych <= '/') goto yy923;
-       if(yych <= '9') goto yy929;
-       goto yy923;
-yy928:
-       YYDEBUG(928, *YYCURSOR);
-       yyaccept = 13;
+       if(yych <= '/') goto yy988;
+       if(yych <= '9') goto yy994;
+       goto yy988;
+yy993:
+       YYDEBUG(993, *YYCURSOR);
+       yyaccept = 14;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yybm[0+yych] & 16) {
                goto yy66;
        }
-       if(yych <= '/') goto yy923;
-       if(yych <= '1') goto yy929;
+       if(yych <= '/') goto yy988;
+       if(yych <= '1') goto yy994;
        if(yych <= '9') goto yy68;
-       goto yy923;
-yy929:
-       YYDEBUG(929, *YYCURSOR);
-       yyaccept = 14;
+       goto yy988;
+yy994:
+       YYDEBUG(994, *YYCURSOR);
+       yyaccept = 15;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yybm[0+yych] & 16) {
                goto yy66;
        }
        if(yych <= 'S'){
-               if(yych <= '/') goto yy930;
+               if(yych <= '/') goto yy995;
                if(yych <= '9') goto yy68;
-               goto yy930;
+               goto yy995;
        } else {
-               if(yych <= 'T') goto yy931;
-               if(yych == 't') goto yy932;
-               goto yy930;
+               if(yych <= 'T') goto yy996;
+               if(yych == 't') goto yy997;
+               goto yy995;
        }
-yy930:
-       YYDEBUG(930, *YYCURSOR);
+yy995:
+       YYDEBUG(995, *YYCURSOR);
 
-#line 1153 "resource/parse_date.re"
+#line 1164 "resource/parse_date.re"
 {
                TIMELIB_INIT;
                TIMELIB_HAVE_DATE();
@@ -11670,75 +12487,75 @@ yy930:
                TIMELIB_DEINIT;
                return TIMELIB_DATE_NOCOLON;
        }
-#line 9791 "<stdout>"
-yy931:
-       YYDEBUG(931, *YYCURSOR);
+#line 10478 "<stdout>"
+yy996:
+       YYDEBUG(996, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '1') goto yy948;
-       if(yych <= '2') goto yy949;
-       if(yych <= '9') goto yy950;
+       if(yych <= '1') goto yy1013;
+       if(yych <= '2') goto yy1014;
+       if(yych <= '9') goto yy1015;
        goto yy54;
-yy932:
-       YYDEBUG(932, *YYCURSOR);
+yy997:
+       YYDEBUG(997, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '1') goto yy933;
-       if(yych <= '2') goto yy934;
-       if(yych <= '9') goto yy935;
+       if(yych <= '1') goto yy998;
+       if(yych <= '2') goto yy999;
+       if(yych <= '9') goto yy1000;
        goto yy54;
-yy933:
-       YYDEBUG(933, *YYCURSOR);
+yy998:
+       YYDEBUG(998, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '5') goto yy942;
-       if(yych <= '9') goto yy935;
+       if(yych <= '5') goto yy1007;
+       if(yych <= '9') goto yy1000;
        goto yy54;
-yy934:
-       YYDEBUG(934, *YYCURSOR);
+yy999:
+       YYDEBUG(999, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '3') goto yy942;
-       if(yych <= '5') goto yy936;
+       if(yych <= '3') goto yy1007;
+       if(yych <= '5') goto yy1001;
        goto yy54;
-yy935:
-       YYDEBUG(935, *YYCURSOR);
+yy1000:
+       YYDEBUG(1000, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
        if(yych >= '6') goto yy54;
-       goto yy936;
-yy936:
-       YYDEBUG(936, *YYCURSOR);
+       goto yy1001;
+yy1001:
+       YYDEBUG(1001, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych >= ':') goto yy54;
-       goto yy937;
-yy937:
-       YYDEBUG(937, *YYCURSOR);
+       if(yych >= ':') goto yy54;
+       goto yy1002;
+yy1002:
+       YYDEBUG(1002, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '5') goto yy938;
-       if(yych <= '6') goto yy939;
+       if(yych <= '5') goto yy1003;
+       if(yych <= '6') goto yy1004;
        goto yy54;
-yy938:
-       YYDEBUG(938, *YYCURSOR);
+yy1003:
+       YYDEBUG(1003, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '9') goto yy940;
+       if(yych <= '9') goto yy1005;
        goto yy54;
-yy939:
-       YYDEBUG(939, *YYCURSOR);
+yy1004:
+       YYDEBUG(1004, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != '0') goto yy54;
-       goto yy940;
-yy940:
-       YYDEBUG(940, *YYCURSOR);
+       goto yy1005;
+yy1005:
+       YYDEBUG(1005, *YYCURSOR);
        ++YYCURSOR;
-       goto yy941;
-yy941:
-       YYDEBUG(941, *YYCURSOR);
+       goto yy1006;
+yy1006:
+       YYDEBUG(1006, *YYCURSOR);
 
-#line 1164 "resource/parse_date.re"
+#line 1175 "resource/parse_date.re"
 {
                int tz_not_found;
                TIMELIB_INIT;
@@ -11758,547 +12575,547 @@ yy941:
                TIMELIB_DEINIT;
                return TIMELIB_XMLRPC_SOAP;
        }
-#line 9857 "<stdout>"
-yy942:
-       YYDEBUG(942, *YYCURSOR);
+#line 10544 "<stdout>"
+yy1007:
+       YYDEBUG(1007, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '5') goto yy943;
-       if(yych <= '9') goto yy937;
+       if(yych <= '5') goto yy1008;
+       if(yych <= '9') goto yy1002;
        goto yy54;
-yy943:
-       YYDEBUG(943, *YYCURSOR);
+yy1008:
+       YYDEBUG(1008, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '5') goto yy944;
-       if(yych <= '6') goto yy945;
-       if(yych <= '9') goto yy937;
+       if(yych <= '5') goto yy1009;
+       if(yych <= '6') goto yy1010;
+       if(yych <= '9') goto yy1002;
        goto yy54;
-yy944:
-       YYDEBUG(944, *YYCURSOR);
+yy1009:
+       YYDEBUG(1009, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '5') goto yy946;
-       if(yych <= '6') goto yy947;
-       if(yych <= '9') goto yy940;
+       if(yych <= '5') goto yy1011;
+       if(yych <= '6') goto yy1012;
+       if(yych <= '9') goto yy1005;
        goto yy54;
-yy945:
-       YYDEBUG(945, *YYCURSOR);
+yy1010:
+       YYDEBUG(1010, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '0') goto yy946;
-       if(yych <= '5') goto yy938;
-       if(yych <= '6') goto yy939;
+       if(yych <= '0') goto yy1011;
+       if(yych <= '5') goto yy1003;
+       if(yych <= '6') goto yy1004;
        goto yy54;
-yy946:
-       YYDEBUG(946, *YYCURSOR);
+yy1011:
+       YYDEBUG(1011, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= '/') goto yy941;
-       if(yych <= '9') goto yy940;
-       goto yy941;
-yy947:
-       YYDEBUG(947, *YYCURSOR);
+       if(yych <= '/') goto yy1006;
+       if(yych <= '9') goto yy1005;
+       goto yy1006;
+yy1012:
+       YYDEBUG(1012, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == '0') goto yy940;
-       goto yy941;
-yy948:
-       YYDEBUG(948, *YYCURSOR);
+       if(yych == '0') goto yy1005;
+       goto yy1006;
+yy1013:
+       YYDEBUG(1013, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '5') goto yy957;
-       if(yych <= '9') goto yy950;
-       if(yych <= ':') goto yy951;
+       if(yych <= '5') goto yy1022;
+       if(yych <= '9') goto yy1015;
+       if(yych <= ':') goto yy1016;
        goto yy54;
-yy949:
-       YYDEBUG(949, *YYCURSOR);
+yy1014:
+       YYDEBUG(1014, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '5'){
                if(yych <= '/') goto yy54;
-               if(yych <= '3') goto yy957;
-               goto yy936;
+               if(yych <= '3') goto yy1022;
+               goto yy1001;
        } else {
-               if(yych == ':') goto yy951;
+               if(yych == ':') goto yy1016;
                goto yy54;
        }
-yy950:
-       YYDEBUG(950, *YYCURSOR);
+yy1015:
+       YYDEBUG(1015, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '5') goto yy936;
+       if(yych <= '5') goto yy1001;
        if(yych != ':') goto yy54;
-       goto yy951;
-yy951:
-       YYDEBUG(951, *YYCURSOR);
+       goto yy1016;
+yy1016:
+       YYDEBUG(1016, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
        if(yych >= '6') goto yy54;
-       goto yy952;
-yy952:
-       YYDEBUG(952, *YYCURSOR);
+       goto yy1017;
+yy1017:
+       YYDEBUG(1017, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
        if(yych >= ':') goto yy54;
-       goto yy953;
-yy953:
-       YYDEBUG(953, *YYCURSOR);
+       goto yy1018;
+yy1018:
+       YYDEBUG(1018, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != ':') goto yy54;
-       goto yy954;
-yy954:
-       YYDEBUG(954, *YYCURSOR);
+       goto yy1019;
+yy1019:
+       YYDEBUG(1019, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '5') goto yy955;
-       if(yych <= '6') goto yy956;
+       if(yych <= '5') goto yy1020;
+       if(yych <= '6') goto yy1021;
        goto yy54;
-yy955:
-       YYDEBUG(955, *YYCURSOR);
+yy1020:
+       YYDEBUG(1020, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '9') goto yy940;
+       if(yych <= '9') goto yy1005;
        goto yy54;
-yy956:
-       YYDEBUG(956, *YYCURSOR);
+yy1021:
+       YYDEBUG(1021, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == '0') goto yy940;
+       if(yych == '0') goto yy1005;
        goto yy54;
-yy957:
-       YYDEBUG(957, *YYCURSOR);
+yy1022:
+       YYDEBUG(1022, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '5') goto yy943;
-       if(yych <= '9') goto yy937;
-       if(yych <= ':') goto yy951;
+       if(yych <= '5') goto yy1008;
+       if(yych <= '9') goto yy1002;
+       if(yych <= ':') goto yy1016;
        goto yy54;
-yy958:
-       YYDEBUG(958, *YYCURSOR);
+yy1023:
+       YYDEBUG(1023, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yybm[0+yych] & 16) {
                goto yy66;
        }
        if(yych <= '/') goto yy54;
        if(yych <= '0') goto yy68;
-       if(yych <= '9') goto yy922;
+       if(yych <= '9') goto yy987;
        goto yy54;
-yy959:
-       YYDEBUG(959, *YYCURSOR);
+yy1024:
+       YYDEBUG(1024, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yybm[0+yych] & 16) {
                goto yy66;
        }
        if(yych <= '2'){
                if(yych <= '/') goto yy54;
-               if(yych <= '0') goto yy926;
-               goto yy927;
+               if(yych <= '0') goto yy991;
+               goto yy992;
        } else {
-               if(yych <= '3') goto yy928;
-               if(yych <= '9') goto yy922;
+               if(yych <= '3') goto yy993;
+               if(yych <= '9') goto yy987;
                goto yy54;
        }
-yy960:
-       YYDEBUG(960, *YYCURSOR);
+yy1025:
+       YYDEBUG(1025, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'C') goto yy961;
+       if(yych == 'C') goto yy1026;
        if(yych != 'c') goto yy54;
-       goto yy961;
-yy961:
-       YYDEBUG(961, *YYCURSOR);
-       yyaccept = 15;
+       goto yy1026;
+yy1026:
+       YYDEBUG(1026, *YYCURSOR);
+       yyaccept = 16;
        yych = *(YYMARKER = ++YYCURSOR);
-       if(yych == 'E') goto yy962;
-       if(yych != 'e') goto yy897;
-       goto yy962;
-yy962:
-       YYDEBUG(962, *YYCURSOR);
+       if(yych == 'E') goto yy1027;
+       if(yych != 'e') goto yy962;
+       goto yy1027;
+yy1027:
+       YYDEBUG(1027, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'M') goto yy963;
+       if(yych == 'M') goto yy1028;
        if(yych != 'm') goto yy54;
-       goto yy963;
-yy963:
-       YYDEBUG(963, *YYCURSOR);
+       goto yy1028;
+yy1028:
+       YYDEBUG(1028, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'B') goto yy964;
+       if(yych == 'B') goto yy1029;
        if(yych != 'b') goto yy54;
-       goto yy964;
-yy964:
-       YYDEBUG(964, *YYCURSOR);
+       goto yy1029;
+yy1029:
+       YYDEBUG(1029, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'E') goto yy965;
+       if(yych == 'E') goto yy1030;
        if(yych != 'e') goto yy54;
-       goto yy965;
-yy965:
-       YYDEBUG(965, *YYCURSOR);
+       goto yy1030;
+yy1030:
+       YYDEBUG(1030, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'R') goto yy966;
+       if(yych == 'R') goto yy1031;
        if(yych != 'r') goto yy54;
-       goto yy966;
-yy966:
-       YYDEBUG(966, *YYCURSOR);
+       goto yy1031;
+yy1031:
+       YYDEBUG(1031, *YYCURSOR);
        yych = *++YYCURSOR;
-       goto yy897;
-yy967:
-       YYDEBUG(967, *YYCURSOR);
+       goto yy962;
+yy1032:
+       YYDEBUG(1032, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'V') goto yy968;
+       if(yych == 'V') goto yy1033;
        if(yych != 'v') goto yy54;
-       goto yy968;
-yy968:
-       YYDEBUG(968, *YYCURSOR);
-       yyaccept = 15;
+       goto yy1033;
+yy1033:
+       YYDEBUG(1033, *YYCURSOR);
+       yyaccept = 16;
        yych = *(YYMARKER = ++YYCURSOR);
-       if(yych == 'E') goto yy969;
-       if(yych != 'e') goto yy897;
-       goto yy969;
-yy969:
-       YYDEBUG(969, *YYCURSOR);
+       if(yych == 'E') goto yy1034;
+       if(yych != 'e') goto yy962;
+       goto yy1034;
+yy1034:
+       YYDEBUG(1034, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'M') goto yy970;
+       if(yych == 'M') goto yy1035;
        if(yych != 'm') goto yy54;
-       goto yy970;
-yy970:
-       YYDEBUG(970, *YYCURSOR);
+       goto yy1035;
+yy1035:
+       YYDEBUG(1035, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'B') goto yy971;
+       if(yych == 'B') goto yy1036;
        if(yych != 'b') goto yy54;
-       goto yy971;
-yy971:
-       YYDEBUG(971, *YYCURSOR);
+       goto yy1036;
+yy1036:
+       YYDEBUG(1036, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'E') goto yy972;
+       if(yych == 'E') goto yy1037;
        if(yych != 'e') goto yy54;
-       goto yy972;
-yy972:
-       YYDEBUG(972, *YYCURSOR);
+       goto yy1037;
+yy1037:
+       YYDEBUG(1037, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'R') goto yy966;
-       if(yych == 'r') goto yy966;
+       if(yych == 'R') goto yy1031;
+       if(yych == 'r') goto yy1031;
        goto yy54;
-yy973:
-       YYDEBUG(973, *YYCURSOR);
+yy1038:
+       YYDEBUG(1038, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'T') goto yy974;
+       if(yych == 'T') goto yy1039;
        if(yych != 't') goto yy54;
-       goto yy974;
-yy974:
-       YYDEBUG(974, *YYCURSOR);
-       yyaccept = 15;
+       goto yy1039;
+yy1039:
+       YYDEBUG(1039, *YYCURSOR);
+       yyaccept = 16;
        yych = *(YYMARKER = ++YYCURSOR);
-       if(yych == 'O') goto yy975;
-       if(yych != 'o') goto yy897;
-       goto yy975;
-yy975:
-       YYDEBUG(975, *YYCURSOR);
+       if(yych == 'O') goto yy1040;
+       if(yych != 'o') goto yy962;
+       goto yy1040;
+yy1040:
+       YYDEBUG(1040, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'B') goto yy976;
+       if(yych == 'B') goto yy1041;
        if(yych != 'b') goto yy54;
-       goto yy976;
-yy976:
-       YYDEBUG(976, *YYCURSOR);
+       goto yy1041;
+yy1041:
+       YYDEBUG(1041, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'E') goto yy977;
+       if(yych == 'E') goto yy1042;
        if(yych != 'e') goto yy54;
-       goto yy977;
-yy977:
-       YYDEBUG(977, *YYCURSOR);
+       goto yy1042;
+yy1042:
+       YYDEBUG(1042, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'R') goto yy966;
-       if(yych == 'r') goto yy966;
+       if(yych == 'R') goto yy1031;
+       if(yych == 'r') goto yy1031;
        goto yy54;
-yy978:
-       YYDEBUG(978, *YYCURSOR);
+yy1043:
+       YYDEBUG(1043, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'P') goto yy979;
+       if(yych == 'P') goto yy1044;
        if(yych != 'p') goto yy54;
-       goto yy979;
-yy979:
-       YYDEBUG(979, *YYCURSOR);
+       goto yy1044;
+yy1044:
+       YYDEBUG(1044, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'T') goto yy980;
-       if(yych != 't') goto yy897;
-       goto yy980;
-yy980:
-       YYDEBUG(980, *YYCURSOR);
-       yyaccept = 15;
+       if(yych == 'T') goto yy1045;
+       if(yych != 't') goto yy962;
+       goto yy1045;
+yy1045:
+       YYDEBUG(1045, *YYCURSOR);
+       yyaccept = 16;
        yych = *(YYMARKER = ++YYCURSOR);
-       if(yych == 'E') goto yy981;
-       if(yych != 'e') goto yy897;
-       goto yy981;
-yy981:
-       YYDEBUG(981, *YYCURSOR);
+       if(yych == 'E') goto yy1046;
+       if(yych != 'e') goto yy962;
+       goto yy1046;
+yy1046:
+       YYDEBUG(1046, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'M') goto yy982;
+       if(yych == 'M') goto yy1047;
        if(yych != 'm') goto yy54;
-       goto yy982;
-yy982:
-       YYDEBUG(982, *YYCURSOR);
+       goto yy1047;
+yy1047:
+       YYDEBUG(1047, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'B') goto yy983;
+       if(yych == 'B') goto yy1048;
        if(yych != 'b') goto yy54;
-       goto yy983;
-yy983:
-       YYDEBUG(983, *YYCURSOR);
+       goto yy1048;
+yy1048:
+       YYDEBUG(1048, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'E') goto yy984;
+       if(yych == 'E') goto yy1049;
        if(yych != 'e') goto yy54;
-       goto yy984;
-yy984:
-       YYDEBUG(984, *YYCURSOR);
+       goto yy1049;
+yy1049:
+       YYDEBUG(1049, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'R') goto yy966;
-       if(yych == 'r') goto yy966;
+       if(yych == 'R') goto yy1031;
+       if(yych == 'r') goto yy1031;
        goto yy54;
-yy985:
-       YYDEBUG(985, *YYCURSOR);
+yy1050:
+       YYDEBUG(1050, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'G') goto yy989;
-       if(yych == 'g') goto yy989;
+       if(yych == 'G') goto yy1054;
+       if(yych == 'g') goto yy1054;
        goto yy54;
-yy986:
-       YYDEBUG(986, *YYCURSOR);
+yy1051:
+       YYDEBUG(1051, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'R') goto yy987;
+       if(yych == 'R') goto yy1052;
        if(yych != 'r') goto yy54;
-       goto yy987;
-yy987:
-       YYDEBUG(987, *YYCURSOR);
-       yyaccept = 15;
+       goto yy1052;
+yy1052:
+       YYDEBUG(1052, *YYCURSOR);
+       yyaccept = 16;
        yych = *(YYMARKER = ++YYCURSOR);
-       if(yych == 'I') goto yy988;
-       if(yych != 'i') goto yy897;
-       goto yy988;
-yy988:
-       YYDEBUG(988, *YYCURSOR);
+       if(yych == 'I') goto yy1053;
+       if(yych != 'i') goto yy962;
+       goto yy1053;
+yy1053:
+       YYDEBUG(1053, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'L') goto yy966;
-       if(yych == 'l') goto yy966;
+       if(yych == 'L') goto yy1031;
+       if(yych == 'l') goto yy1031;
        goto yy54;
-yy989:
-       YYDEBUG(989, *YYCURSOR);
-       yyaccept = 15;
+yy1054:
+       YYDEBUG(1054, *YYCURSOR);
+       yyaccept = 16;
        yych = *(YYMARKER = ++YYCURSOR);
-       if(yych == 'U') goto yy990;
-       if(yych != 'u') goto yy897;
-       goto yy990;
-yy990:
-       YYDEBUG(990, *YYCURSOR);
+       if(yych == 'U') goto yy1055;
+       if(yych != 'u') goto yy962;
+       goto yy1055;
+yy1055:
+       YYDEBUG(1055, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'S') goto yy991;
+       if(yych == 'S') goto yy1056;
        if(yych != 's') goto yy54;
-       goto yy991;
-yy991:
-       YYDEBUG(991, *YYCURSOR);
+       goto yy1056;
+yy1056:
+       YYDEBUG(1056, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'T') goto yy966;
-       if(yych == 't') goto yy966;
+       if(yych == 'T') goto yy1031;
+       if(yych == 't') goto yy1031;
        goto yy54;
-yy992:
-       YYDEBUG(992, *YYCURSOR);
+yy1057:
+       YYDEBUG(1057, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'Y'){
-               if(yych == 'R') goto yy993;
+               if(yych == 'R') goto yy1058;
                if(yych <= 'X') goto yy54;
-               goto yy966;
+               goto yy1031;
        } else {
                if(yych <= 'r'){
                        if(yych <= 'q') goto yy54;
-                       goto yy993;
+                       goto yy1058;
                } else {
-                       if(yych == 'y') goto yy966;
+                       if(yych == 'y') goto yy1031;
                        goto yy54;
                }
        }
-yy993:
-       YYDEBUG(993, *YYCURSOR);
-       yyaccept = 15;
+yy1058:
+       YYDEBUG(1058, *YYCURSOR);
+       yyaccept = 16;
        yych = *(YYMARKER = ++YYCURSOR);
-       if(yych == 'C') goto yy994;
-       if(yych != 'c') goto yy897;
-       goto yy994;
-yy994:
-       YYDEBUG(994, *YYCURSOR);
+       if(yych == 'C') goto yy1059;
+       if(yych != 'c') goto yy962;
+       goto yy1059;
+yy1059:
+       YYDEBUG(1059, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'H') goto yy966;
-       if(yych == 'h') goto yy966;
+       if(yych == 'H') goto yy1031;
+       if(yych == 'h') goto yy1031;
        goto yy54;
-yy995:
-       YYDEBUG(995, *YYCURSOR);
+yy1060:
+       YYDEBUG(1060, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'B') goto yy996;
+       if(yych == 'B') goto yy1061;
        if(yych != 'b') goto yy54;
-       goto yy996;
-yy996:
-       YYDEBUG(996, *YYCURSOR);
-       yyaccept = 15;
+       goto yy1061;
+yy1061:
+       YYDEBUG(1061, *YYCURSOR);
+       yyaccept = 16;
        yych = *(YYMARKER = ++YYCURSOR);
-       if(yych == 'R') goto yy997;
-       if(yych != 'r') goto yy897;
-       goto yy997;
-yy997:
-       YYDEBUG(997, *YYCURSOR);
+       if(yych == 'R') goto yy1062;
+       if(yych != 'r') goto yy962;
+       goto yy1062;
+yy1062:
+       YYDEBUG(1062, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'U') goto yy998;
+       if(yych == 'U') goto yy1063;
        if(yych != 'u') goto yy54;
-       goto yy998;
-yy998:
-       YYDEBUG(998, *YYCURSOR);
+       goto yy1063;
+yy1063:
+       YYDEBUG(1063, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'A') goto yy999;
+       if(yych == 'A') goto yy1064;
        if(yych != 'a') goto yy54;
-       goto yy999;
-yy999:
-       YYDEBUG(999, *YYCURSOR);
+       goto yy1064;
+yy1064:
+       YYDEBUG(1064, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'R') goto yy1000;
+       if(yych == 'R') goto yy1065;
        if(yych != 'r') goto yy54;
-       goto yy1000;
-yy1000:
-       YYDEBUG(1000, *YYCURSOR);
+       goto yy1065;
+yy1065:
+       YYDEBUG(1065, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'Y') goto yy966;
-       if(yych == 'y') goto yy966;
+       if(yych == 'Y') goto yy1031;
+       if(yych == 'y') goto yy1031;
        goto yy54;
-yy1001:
-       YYDEBUG(1001, *YYCURSOR);
+yy1066:
+       YYDEBUG(1066, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'N'){
-               if(yych == 'L') goto yy1008;
+               if(yych == 'L') goto yy1073;
                if(yych <= 'M') goto yy54;
-               goto yy1007;
+               goto yy1072;
        } else {
                if(yych <= 'l'){
                        if(yych <= 'k') goto yy54;
-                       goto yy1008;
+                       goto yy1073;
                } else {
-                       if(yych == 'n') goto yy1007;
+                       if(yych == 'n') goto yy1072;
                        goto yy54;
                }
        }
-yy1002:
-       YYDEBUG(1002, *YYCURSOR);
+yy1067:
+       YYDEBUG(1067, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'N') goto yy1003;
+       if(yych == 'N') goto yy1068;
        if(yych != 'n') goto yy54;
-       goto yy1003;
-yy1003:
-       YYDEBUG(1003, *YYCURSOR);
-       yyaccept = 15;
+       goto yy1068;
+yy1068:
+       YYDEBUG(1068, *YYCURSOR);
+       yyaccept = 16;
        yych = *(YYMARKER = ++YYCURSOR);
-       if(yych == 'U') goto yy1004;
-       if(yych != 'u') goto yy897;
-       goto yy1004;
-yy1004:
-       YYDEBUG(1004, *YYCURSOR);
+       if(yych == 'U') goto yy1069;
+       if(yych != 'u') goto yy962;
+       goto yy1069;
+yy1069:
+       YYDEBUG(1069, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'A') goto yy1005;
+       if(yych == 'A') goto yy1070;
        if(yych != 'a') goto yy54;
-       goto yy1005;
-yy1005:
-       YYDEBUG(1005, *YYCURSOR);
+       goto yy1070;
+yy1070:
+       YYDEBUG(1070, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'R') goto yy1006;
+       if(yych == 'R') goto yy1071;
        if(yych != 'r') goto yy54;
-       goto yy1006;
-yy1006:
-       YYDEBUG(1006, *YYCURSOR);
+       goto yy1071;
+yy1071:
+       YYDEBUG(1071, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'Y') goto yy966;
-       if(yych == 'y') goto yy966;
+       if(yych == 'Y') goto yy1031;
+       if(yych == 'y') goto yy1031;
        goto yy54;
-yy1007:
-       YYDEBUG(1007, *YYCURSOR);
+yy1072:
+       YYDEBUG(1072, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'E') goto yy966;
-       if(yych == 'e') goto yy966;
-       goto yy897;
-yy1008:
-       YYDEBUG(1008, *YYCURSOR);
+       if(yych == 'E') goto yy1031;
+       if(yych == 'e') goto yy1031;
+       goto yy962;
+yy1073:
+       YYDEBUG(1073, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'Y') goto yy966;
-       if(yych == 'y') goto yy966;
-       goto yy897;
-yy1009:
-       YYDEBUG(1009, *YYCURSOR);
+       if(yych == 'Y') goto yy1031;
+       if(yych == 'y') goto yy1031;
+       goto yy962;
+yy1074:
+       YYDEBUG(1074, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'I') goto yy966;
-       goto yy897;
-yy1010:
-       YYDEBUG(1010, *YYCURSOR);
+       if(yych == 'I') goto yy1031;
+       goto yy962;
+yy1075:
+       YYDEBUG(1075, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych != 'I') goto yy897;
-       goto yy1011;
-yy1011:
-       YYDEBUG(1011, *YYCURSOR);
+       if(yych != 'I') goto yy962;
+       goto yy1076;
+yy1076:
+       YYDEBUG(1076, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'I') goto yy966;
-       goto yy897;
-yy1012:
-       YYDEBUG(1012, *YYCURSOR);
+       if(yych == 'I') goto yy1031;
+       goto yy962;
+yy1077:
+       YYDEBUG(1077, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'I') goto yy966;
-       goto yy897;
-yy1013:
-       YYDEBUG(1013, *YYCURSOR);
+       if(yych == 'I') goto yy1031;
+       goto yy962;
+yy1078:
+       YYDEBUG(1078, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '0') goto yy1021;
-       if(yych <= '9') goto yy1020;
+       if(yych <= '0') goto yy1086;
+       if(yych <= '9') goto yy1085;
        goto yy54;
-yy1014:
-       YYDEBUG(1014, *YYCURSOR);
+yy1079:
+       YYDEBUG(1079, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '9') goto yy1019;
+       if(yych <= '9') goto yy1084;
        goto yy54;
-yy1015:
-       YYDEBUG(1015, *YYCURSOR);
+yy1080:
+       YYDEBUG(1080, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '5') goto yy1017;
+       if(yych <= '5') goto yy1082;
        if(yych >= '7') goto yy54;
-       goto yy1016;
-yy1016:
-       YYDEBUG(1016, *YYCURSOR);
+       goto yy1081;
+yy1081:
+       YYDEBUG(1081, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '6') goto yy1018;
+       if(yych <= '6') goto yy1083;
        goto yy54;
-yy1017:
-       YYDEBUG(1017, *YYCURSOR);
+yy1082:
+       YYDEBUG(1082, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
        if(yych >= ':') goto yy54;
-       goto yy1018;
-yy1018:
-       YYDEBUG(1018, *YYCURSOR);
+       goto yy1083;
+yy1083:
+       YYDEBUG(1083, *YYCURSOR);
        yych = *++YYCURSOR;
-       goto yy923;
-yy1019:
-       YYDEBUG(1019, *YYCURSOR);
+       goto yy988;
+yy1084:
+       YYDEBUG(1084, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '9') goto yy1018;
+       if(yych <= '9') goto yy1083;
        goto yy54;
-yy1020:
-       YYDEBUG(1020, *YYCURSOR);
+yy1085:
+       YYDEBUG(1085, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '9') goto yy1018;
+       if(yych <= '9') goto yy1083;
        goto yy54;
-yy1021:
-       YYDEBUG(1021, *YYCURSOR);
+yy1086:
+       YYDEBUG(1086, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '0') goto yy54;
-       if(yych <= '9') goto yy1018;
+       if(yych <= '9') goto yy1083;
        goto yy54;
-yy1022:
-       YYDEBUG(1022, *YYCURSOR);
+yy1087:
+       YYDEBUG(1087, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'U'){
                if(yych <= 'D'){
                        if(yych == 'A') goto yy131;
                        goto yy54;
                } else {
-                       if(yych <= 'E') goto yy1026;
+                       if(yych <= 'E') goto yy1091;
                        if(yych <= 'T') goto yy54;
                        goto yy132;
                }
@@ -12307,17 +13124,17 @@ yy1022:
                        if(yych == 'a') goto yy131;
                        goto yy54;
                } else {
-                       if(yych <= 'e') goto yy1026;
+                       if(yych <= 'e') goto yy1091;
                        if(yych == 'u') goto yy132;
                        goto yy54;
                }
        }
-yy1023:
-       YYDEBUG(1023, *YYCURSOR);
+yy1088:
+       YYDEBUG(1088, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'O'){
                if(yych <= 'H'){
-                       if(yych == 'A') goto yy992;
+                       if(yych == 'A') goto yy1057;
                        goto yy54;
                } else {
                        if(yych <= 'I') goto yy123;
@@ -12326,7 +13143,7 @@ yy1023:
                }
        } else {
                if(yych <= 'h'){
-                       if(yych == 'a') goto yy992;
+                       if(yych == 'a') goto yy1057;
                        goto yy54;
                } else {
                        if(yych <= 'i') goto yy123;
@@ -12334,28 +13151,28 @@ yy1023:
                        goto yy54;
                }
        }
-yy1024:
-       YYDEBUG(1024, *YYCURSOR);
+yy1089:
+       YYDEBUG(1089, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'E'){
                if(yych == 'A') goto yy119;
                if(yych <= 'D') goto yy54;
-               goto yy960;
+               goto yy1025;
        } else {
                if(yych <= 'a'){
                        if(yych <= '`') goto yy54;
                        goto yy119;
                } else {
-                       if(yych == 'e') goto yy960;
+                       if(yych == 'e') goto yy1025;
                        goto yy54;
                }
        }
-yy1025:
-       YYDEBUG(1025, *YYCURSOR);
+yy1090:
+       YYDEBUG(1090, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'R'){
                if(yych <= 'N'){
-                       if(yych == 'E') goto yy995;
+                       if(yych == 'E') goto yy1060;
                        goto yy54;
                } else {
                        if(yych <= 'O') goto yy96;
@@ -12364,7 +13181,7 @@ yy1025:
                }
        } else {
                if(yych <= 'n'){
-                       if(yych == 'e') goto yy995;
+                       if(yych == 'e') goto yy1060;
                        goto yy54;
                } else {
                        if(yych <= 'o') goto yy96;
@@ -12372,74 +13189,74 @@ yy1025:
                        goto yy54;
                }
        }
-yy1026:
-       YYDEBUG(1026, *YYCURSOR);
+yy1091:
+       YYDEBUG(1091, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'P'){
                if(yych == 'C') goto yy134;
                if(yych <= 'O') goto yy54;
-               goto yy979;
+               goto yy1044;
        } else {
                if(yych <= 'c'){
                        if(yych <= 'b') goto yy54;
                        goto yy134;
                } else {
-                       if(yych == 'p') goto yy979;
+                       if(yych == 'p') goto yy1044;
                        goto yy54;
                }
        }
-yy1027:
-       YYDEBUG(1027, *YYCURSOR);
+yy1092:
+       YYDEBUG(1092, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '0') goto yy54;
-       if(yych <= '9') goto yy1029;
+       if(yych <= '9') goto yy1094;
        goto yy54;
-yy1028:
-       YYDEBUG(1028, *YYCURSOR);
+yy1093:
+       YYDEBUG(1093, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
        if(yych >= '3') goto yy54;
-       goto yy1029;
-yy1029:
-       YYDEBUG(1029, *YYCURSOR);
+       goto yy1094;
+yy1094:
+       YYDEBUG(1094, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != '/') goto yy54;
-       goto yy1030;
-yy1030:
-       YYDEBUG(1030, *YYCURSOR);
+       goto yy1095;
+yy1095:
+       YYDEBUG(1095, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '0') goto yy1031;
-       if(yych <= '2') goto yy1032;
-       if(yych <= '3') goto yy1033;
+       if(yych <= '0') goto yy1096;
+       if(yych <= '2') goto yy1097;
+       if(yych <= '3') goto yy1098;
        goto yy54;
-yy1031:
-       YYDEBUG(1031, *YYCURSOR);
+yy1096:
+       YYDEBUG(1096, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '0') goto yy54;
-       if(yych <= '9') goto yy1034;
+       if(yych <= '9') goto yy1099;
        goto yy54;
-yy1032:
-       YYDEBUG(1032, *YYCURSOR);
+yy1097:
+       YYDEBUG(1097, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '9') goto yy1034;
+       if(yych <= '9') goto yy1099;
        goto yy54;
-yy1033:
-       YYDEBUG(1033, *YYCURSOR);
+yy1098:
+       YYDEBUG(1098, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
        if(yych >= '2') goto yy54;
-       goto yy1034;
-yy1034:
-       YYDEBUG(1034, *YYCURSOR);
+       goto yy1099;
+yy1099:
+       YYDEBUG(1099, *YYCURSOR);
        ++YYCURSOR;
-       if((yych = *YYCURSOR) == '/')   goto yy1036;
-       goto yy1035;
-yy1035:
-       YYDEBUG(1035, *YYCURSOR);
+       if((yych = *YYCURSOR) == '/')   goto yy1101;
+       goto yy1100;
+yy1100:
+       YYDEBUG(1100, *YYCURSOR);
 
-#line 1070 "resource/parse_date.re"
+#line 1071 "resource/parse_date.re"
 {
                TIMELIB_INIT;
                TIMELIB_HAVE_DATE();
@@ -12449,569 +13266,569 @@ yy1035:
                TIMELIB_DEINIT;
                return TIMELIB_ISO_DATE;
        }
-#line 10360 "<stdout>"
-yy1036:
-       YYDEBUG(1036, *YYCURSOR);
+#line 11047 "<stdout>"
+yy1101:
+       YYDEBUG(1101, *YYCURSOR);
        yych = *++YYCURSOR;
-       goto yy1035;
-yy1037:
-       YYDEBUG(1037, *YYCURSOR);
+       goto yy1100;
+yy1102:
+       YYDEBUG(1102, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'U'){
-               if(yych == 'A') goto yy1101;
+               if(yych == 'A') goto yy1166;
                if(yych <= 'T') goto yy54;
-               goto yy1100;
+               goto yy1165;
        } else {
                if(yych <= 'a'){
                        if(yych <= '`') goto yy54;
-                       goto yy1101;
+                       goto yy1166;
                } else {
-                       if(yych == 'u') goto yy1100;
+                       if(yych == 'u') goto yy1165;
                        goto yy54;
                }
        }
-yy1038:
-       YYDEBUG(1038, *YYCURSOR);
+yy1103:
+       YYDEBUG(1103, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'E') goto yy1098;
-       if(yych == 'e') goto yy1098;
+       if(yych == 'E') goto yy1163;
+       if(yych == 'e') goto yy1163;
        goto yy54;
-yy1039:
-       YYDEBUG(1039, *YYCURSOR);
+yy1104:
+       YYDEBUG(1104, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'A') goto yy1095;
-       if(yych == 'a') goto yy1095;
+       if(yych == 'A') goto yy1160;
+       if(yych == 'a') goto yy1160;
        goto yy54;
-yy1040:
-       YYDEBUG(1040, *YYCURSOR);
+yy1105:
+       YYDEBUG(1105, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'U'){
-               if(yych == 'P') goto yy1092;
+               if(yych == 'P') goto yy1157;
                if(yych <= 'T') goto yy54;
-               goto yy1091;
+               goto yy1156;
        } else {
                if(yych <= 'p'){
                        if(yych <= 'o') goto yy54;
-                       goto yy1092;
+                       goto yy1157;
                } else {
-                       if(yych == 'u') goto yy1091;
+                       if(yych == 'u') goto yy1156;
                        goto yy54;
                }
        }
-yy1041:
-       YYDEBUG(1041, *YYCURSOR);
+yy1106:
+       YYDEBUG(1106, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'E') goto yy1088;
-       if(yych == 'e') goto yy1088;
+       if(yych == 'E') goto yy1153;
+       if(yych == 'e') goto yy1153;
        goto yy54;
-yy1042:
-       YYDEBUG(1042, *YYCURSOR);
+yy1107:
+       YYDEBUG(1107, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'C') goto yy1086;
-       if(yych == 'c') goto yy1086;
+       if(yych == 'C') goto yy1151;
+       if(yych == 'c') goto yy1151;
        goto yy54;
-yy1043:
-       YYDEBUG(1043, *YYCURSOR);
+yy1108:
+       YYDEBUG(1108, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'O') goto yy1084;
-       if(yych == 'o') goto yy1084;
+       if(yych == 'O') goto yy1149;
+       if(yych == 'o') goto yy1149;
        goto yy54;
-yy1044:
-       YYDEBUG(1044, *YYCURSOR);
+yy1109:
+       YYDEBUG(1109, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'E') goto yy1082;
-       if(yych == 'e') goto yy1082;
+       if(yych == 'E') goto yy1147;
+       if(yych == 'e') goto yy1147;
        goto yy54;
-yy1045:
-       YYDEBUG(1045, *YYCURSOR);
+yy1110:
+       YYDEBUG(1110, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/'){
-               if(yych == '-') goto yy798;
+               if(yych == '-') goto yy863;
                goto yy54;
        } else {
-               if(yych <= '0') goto yy761;
-               if(yych <= '9') goto yy1047;
+               if(yych <= '0') goto yy826;
+               if(yych <= '9') goto yy1112;
                goto yy54;
        }
-yy1046:
-       YYDEBUG(1046, *YYCURSOR);
+yy1111:
+       YYDEBUG(1111, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == '-') goto yy798;
+       if(yych == '-') goto yy863;
        if(yych <= '/') goto yy54;
        if(yych >= '3') goto yy54;
-       goto yy1047;
-yy1047:
-       YYDEBUG(1047, *YYCURSOR);
+       goto yy1112;
+yy1112:
+       YYDEBUG(1112, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != '-') goto yy54;
-       goto yy1048;
-yy1048:
-       YYDEBUG(1048, *YYCURSOR);
+       goto yy1113;
+yy1113:
+       YYDEBUG(1113, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '2'){
                if(yych <= '/') goto yy54;
-               if(yych >= '1') goto yy1050;
-               goto yy1049;
+               if(yych >= '1') goto yy1115;
+               goto yy1114;
        } else {
-               if(yych <= '3') goto yy1051;
-               if(yych <= '9') goto yy802;
+               if(yych <= '3') goto yy1116;
+               if(yych <= '9') goto yy867;
                goto yy54;
        }
-yy1049:
-       YYDEBUG(1049, *YYCURSOR);
+yy1114:
+       YYDEBUG(1114, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= '/') goto yy800;
-       if(yych <= '0') goto yy802;
-       if(yych <= '9') goto yy1052;
-       goto yy800;
-yy1050:
-       YYDEBUG(1050, *YYCURSOR);
+       if(yych <= '/') goto yy865;
+       if(yych <= '0') goto yy867;
+       if(yych <= '9') goto yy1117;
+       goto yy865;
+yy1115:
+       YYDEBUG(1115, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= '/') goto yy800;
-       if(yych <= '9') goto yy1052;
-       goto yy800;
-yy1051:
-       YYDEBUG(1051, *YYCURSOR);
+       if(yych <= '/') goto yy865;
+       if(yych <= '9') goto yy1117;
+       goto yy865;
+yy1116:
+       YYDEBUG(1116, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= '/') goto yy800;
-       if(yych >= '2') goto yy800;
-       goto yy1052;
-yy1052:
-       YYDEBUG(1052, *YYCURSOR);
-       yyaccept = 16;
+       if(yych <= '/') goto yy865;
+       if(yych >= '2') goto yy865;
+       goto yy1117;
+yy1117:
+       YYDEBUG(1117, *YYCURSOR);
+       yyaccept = 17;
        yych = *(YYMARKER = ++YYCURSOR);
-       if(yych != 'T') goto yy1035;
-       goto yy1053;
-yy1053:
-       YYDEBUG(1053, *YYCURSOR);
+       if(yych != 'T') goto yy1100;
+       goto yy1118;
+yy1118:
+       YYDEBUG(1118, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '1') goto yy1054;
-       if(yych <= '2') goto yy1055;
-       if(yych <= '9') goto yy1056;
+       if(yych <= '1') goto yy1119;
+       if(yych <= '2') goto yy1120;
+       if(yych <= '9') goto yy1121;
        goto yy54;
-yy1054:
-       YYDEBUG(1054, *YYCURSOR);
+yy1119:
+       YYDEBUG(1119, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '9') goto yy1063;
-       if(yych <= ':') goto yy1057;
+       if(yych <= '9') goto yy1128;
+       if(yych <= ':') goto yy1122;
        goto yy54;
-yy1055:
-       YYDEBUG(1055, *YYCURSOR);
+yy1120:
+       YYDEBUG(1120, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '3') goto yy1063;
-       if(yych == ':') goto yy1057;
+       if(yych <= '3') goto yy1128;
+       if(yych == ':') goto yy1122;
        goto yy54;
-yy1056:
-       YYDEBUG(1056, *YYCURSOR);
+yy1121:
+       YYDEBUG(1121, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != ':') goto yy54;
-       goto yy1057;
-yy1057:
-       YYDEBUG(1057, *YYCURSOR);
+       goto yy1122;
+yy1122:
+       YYDEBUG(1122, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
        if(yych >= '6') goto yy54;
-       goto yy1058;
-yy1058:
-       YYDEBUG(1058, *YYCURSOR);
+       goto yy1123;
+yy1123:
+       YYDEBUG(1123, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
        if(yych >= ':') goto yy54;
-       goto yy1059;
-yy1059:
-       YYDEBUG(1059, *YYCURSOR);
+       goto yy1124;
+yy1124:
+       YYDEBUG(1124, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != ':') goto yy54;
-       goto yy1060;
-yy1060:
-       YYDEBUG(1060, *YYCURSOR);
+       goto yy1125;
+yy1125:
+       YYDEBUG(1125, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '5') goto yy1061;
-       if(yych <= '6') goto yy1062;
+       if(yych <= '5') goto yy1126;
+       if(yych <= '6') goto yy1127;
        goto yy54;
-yy1061:
-       YYDEBUG(1061, *YYCURSOR);
+yy1126:
+       YYDEBUG(1126, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '9') goto yy940;
+       if(yych <= '9') goto yy1005;
        goto yy54;
-yy1062:
-       YYDEBUG(1062, *YYCURSOR);
+yy1127:
+       YYDEBUG(1127, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == '0') goto yy940;
+       if(yych == '0') goto yy1005;
        goto yy54;
-yy1063:
-       YYDEBUG(1063, *YYCURSOR);
+yy1128:
+       YYDEBUG(1128, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != ':') goto yy54;
-       goto yy1064;
-yy1064:
-       YYDEBUG(1064, *YYCURSOR);
+       goto yy1129;
+yy1129:
+       YYDEBUG(1129, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
        if(yych >= '6') goto yy54;
-       goto yy1065;
-yy1065:
-       YYDEBUG(1065, *YYCURSOR);
+       goto yy1130;
+yy1130:
+       YYDEBUG(1130, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
        if(yych >= ':') goto yy54;
-       goto yy1066;
-yy1066:
-       YYDEBUG(1066, *YYCURSOR);
+       goto yy1131;
+yy1131:
+       YYDEBUG(1131, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != ':') goto yy54;
-       goto yy1067;
-yy1067:
-       YYDEBUG(1067, *YYCURSOR);
+       goto yy1132;
+yy1132:
+       YYDEBUG(1132, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '5') goto yy1068;
-       if(yych <= '6') goto yy1069;
+       if(yych <= '5') goto yy1133;
+       if(yych <= '6') goto yy1134;
        goto yy54;
-yy1068:
-       YYDEBUG(1068, *YYCURSOR);
+yy1133:
+       YYDEBUG(1133, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '9') goto yy1070;
+       if(yych <= '9') goto yy1135;
        goto yy54;
-yy1069:
-       YYDEBUG(1069, *YYCURSOR);
+yy1134:
+       YYDEBUG(1134, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != '0') goto yy54;
-       goto yy1070;
-yy1070:
-       YYDEBUG(1070, *YYCURSOR);
-       yyaccept = 17;
+       goto yy1135;
+yy1135:
+       YYDEBUG(1135, *YYCURSOR);
+       yyaccept = 18;
        yych = *(YYMARKER = ++YYCURSOR);
-       if(yych != '.') goto yy941;
-       goto yy1071;
-yy1071:
-       YYDEBUG(1071, *YYCURSOR);
+       if(yych != '.') goto yy1006;
+       goto yy1136;
+yy1136:
+       YYDEBUG(1136, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
        if(yych >= ':') goto yy54;
-       goto yy1072;
-yy1072:
-       YYDEBUG(1072, *YYCURSOR);
+       goto yy1137;
+yy1137:
+       YYDEBUG(1137, *YYCURSOR);
        ++YYCURSOR;
        if((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
        yych = *YYCURSOR;
-       goto yy1073;
-yy1073:
-       YYDEBUG(1073, *YYCURSOR);
+       goto yy1138;
+yy1138:
+       YYDEBUG(1138, *YYCURSOR);
        if(yych <= ','){
                if(yych != '+') goto yy54;
-               goto yy1074;
+               goto yy1139;
        } else {
-               if(yych <= '-') goto yy1074;
+               if(yych <= '-') goto yy1139;
                if(yych <= '/') goto yy54;
-               if(yych <= '9') goto yy1072;
+               if(yych <= '9') goto yy1137;
                goto yy54;
        }
-yy1074:
-       YYDEBUG(1074, *YYCURSOR);
+yy1139:
+       YYDEBUG(1139, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '1') goto yy1075;
-       if(yych <= '2') goto yy1076;
-       if(yych <= '9') goto yy1077;
+       if(yych <= '1') goto yy1140;
+       if(yych <= '2') goto yy1141;
+       if(yych <= '9') goto yy1142;
        goto yy54;
-yy1075:
-       YYDEBUG(1075, *YYCURSOR);
+yy1140:
+       YYDEBUG(1140, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= '/') goto yy941;
-       if(yych <= '5') goto yy1080;
-       if(yych <= '9') goto yy1077;
-       if(yych <= ':') goto yy1078;
-       goto yy941;
-yy1076:
-       YYDEBUG(1076, *YYCURSOR);
-       yyaccept = 17;
+       if(yych <= '/') goto yy1006;
+       if(yych <= '5') goto yy1145;
+       if(yych <= '9') goto yy1142;
+       if(yych <= ':') goto yy1143;
+       goto yy1006;
+yy1141:
+       YYDEBUG(1141, *YYCURSOR);
+       yyaccept = 18;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= '5'){
-               if(yych <= '/') goto yy941;
-               if(yych <= '3') goto yy1080;
-               goto yy1079;
+               if(yych <= '/') goto yy1006;
+               if(yych <= '3') goto yy1145;
+               goto yy1144;
        } else {
-               if(yych == ':') goto yy1078;
-               goto yy941;
+               if(yych == ':') goto yy1143;
+               goto yy1006;
        }
-yy1077:
-       YYDEBUG(1077, *YYCURSOR);
-       yyaccept = 17;
+yy1142:
+       YYDEBUG(1142, *YYCURSOR);
+       yyaccept = 18;
        yych = *(YYMARKER = ++YYCURSOR);
-       if(yych <= '/') goto yy941;
-       if(yych <= '5') goto yy1079;
-       if(yych != ':') goto yy941;
-       goto yy1078;
-yy1078:
-       YYDEBUG(1078, *YYCURSOR);
-       yyaccept = 17;
+       if(yych <= '/') goto yy1006;
+       if(yych <= '5') goto yy1144;
+       if(yych != ':') goto yy1006;
+       goto yy1143;
+yy1143:
+       YYDEBUG(1143, *YYCURSOR);
+       yyaccept = 18;
        yych = *(YYMARKER = ++YYCURSOR);
-       if(yych <= '/') goto yy941;
-       if(yych >= '6') goto yy941;
-       goto yy1079;
-yy1079:
-       YYDEBUG(1079, *YYCURSOR);
+       if(yych <= '/') goto yy1006;
+       if(yych >= '6') goto yy1006;
+       goto yy1144;
+yy1144:
+       YYDEBUG(1144, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '9') goto yy940;
+       if(yych <= '9') goto yy1005;
        goto yy54;
-yy1080:
-       YYDEBUG(1080, *YYCURSOR);
+yy1145:
+       YYDEBUG(1145, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= '/') goto yy941;
-       if(yych <= '5') goto yy1081;
-       if(yych <= '9') goto yy940;
-       if(yych <= ':') goto yy1078;
-       goto yy941;
-yy1081:
-       YYDEBUG(1081, *YYCURSOR);
+       if(yych <= '/') goto yy1006;
+       if(yych <= '5') goto yy1146;
+       if(yych <= '9') goto yy1005;
+       if(yych <= ':') goto yy1143;
+       goto yy1006;
+yy1146:
+       YYDEBUG(1146, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= '/') goto yy941;
-       if(yych <= '9') goto yy940;
-       goto yy941;
-yy1082:
-       YYDEBUG(1082, *YYCURSOR);
+       if(yych <= '/') goto yy1006;
+       if(yych <= '9') goto yy1005;
+       goto yy1006;
+yy1147:
+       YYDEBUG(1147, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'C') goto yy1083;
+       if(yych == 'C') goto yy1148;
        if(yych != 'c') goto yy54;
-       goto yy1083;
-yy1083:
-       YYDEBUG(1083, *YYCURSOR);
-       yyaccept = 15;
+       goto yy1148;
+yy1148:
+       YYDEBUG(1148, *YYCURSOR);
+       yyaccept = 16;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= 'D'){
-               if(yych == '-') goto yy872;
-               goto yy897;
+               if(yych == '-') goto yy937;
+               goto yy962;
        } else {
-               if(yych <= 'E') goto yy962;
-               if(yych == 'e') goto yy962;
-               goto yy897;
+               if(yych <= 'E') goto yy1027;
+               if(yych == 'e') goto yy1027;
+               goto yy962;
        }
-yy1084:
-       YYDEBUG(1084, *YYCURSOR);
+yy1149:
+       YYDEBUG(1149, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'V') goto yy1085;
+       if(yych == 'V') goto yy1150;
        if(yych != 'v') goto yy54;
-       goto yy1085;
-yy1085:
-       YYDEBUG(1085, *YYCURSOR);
-       yyaccept = 15;
+       goto yy1150;
+yy1150:
+       YYDEBUG(1150, *YYCURSOR);
+       yyaccept = 16;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= 'D'){
-               if(yych == '-') goto yy872;
-               goto yy897;
+               if(yych == '-') goto yy937;
+               goto yy962;
        } else {
-               if(yych <= 'E') goto yy969;
-               if(yych == 'e') goto yy969;
-               goto yy897;
+               if(yych <= 'E') goto yy1034;
+               if(yych == 'e') goto yy1034;
+               goto yy962;
        }
-yy1086:
-       YYDEBUG(1086, *YYCURSOR);
+yy1151:
+       YYDEBUG(1151, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'T') goto yy1087;
+       if(yych == 'T') goto yy1152;
        if(yych != 't') goto yy54;
-       goto yy1087;
-yy1087:
-       YYDEBUG(1087, *YYCURSOR);
-       yyaccept = 15;
+       goto yy1152;
+yy1152:
+       YYDEBUG(1152, *YYCURSOR);
+       yyaccept = 16;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= 'N'){
-               if(yych == '-') goto yy872;
-               goto yy897;
+               if(yych == '-') goto yy937;
+               goto yy962;
        } else {
-               if(yych <= 'O') goto yy975;
-               if(yych == 'o') goto yy975;
-               goto yy897;
+               if(yych <= 'O') goto yy1040;
+               if(yych == 'o') goto yy1040;
+               goto yy962;
        }
-yy1088:
-       YYDEBUG(1088, *YYCURSOR);
+yy1153:
+       YYDEBUG(1153, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'P') goto yy1089;
+       if(yych == 'P') goto yy1154;
        if(yych != 'p') goto yy54;
-       goto yy1089;
-yy1089:
-       YYDEBUG(1089, *YYCURSOR);
-       yyaccept = 15;
+       goto yy1154;
+yy1154:
+       YYDEBUG(1154, *YYCURSOR);
+       yyaccept = 16;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= 'S'){
-               if(yych == '-') goto yy872;
-               goto yy897;
+               if(yych == '-') goto yy937;
+               goto yy962;
        } else {
-               if(yych <= 'T') goto yy1090;
-               if(yych != 't') goto yy897;
-               goto yy1090;
+               if(yych <= 'T') goto yy1155;
+               if(yych != 't') goto yy962;
+               goto yy1155;
        }
-yy1090:
-       YYDEBUG(1090, *YYCURSOR);
-       yyaccept = 15;
+yy1155:
+       YYDEBUG(1155, *YYCURSOR);
+       yyaccept = 16;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= 'D'){
-               if(yych == '-') goto yy872;
-               goto yy897;
+               if(yych == '-') goto yy937;
+               goto yy962;
        } else {
-               if(yych <= 'E') goto yy981;
-               if(yych == 'e') goto yy981;
-               goto yy897;
+               if(yych <= 'E') goto yy1046;
+               if(yych == 'e') goto yy1046;
+               goto yy962;
        }
-yy1091:
-       YYDEBUG(1091, *YYCURSOR);
+yy1156:
+       YYDEBUG(1156, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'G') goto yy1094;
-       if(yych == 'g') goto yy1094;
+       if(yych == 'G') goto yy1159;
+       if(yych == 'g') goto yy1159;
        goto yy54;
-yy1092:
-       YYDEBUG(1092, *YYCURSOR);
+yy1157:
+       YYDEBUG(1157, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'R') goto yy1093;
+       if(yych == 'R') goto yy1158;
        if(yych != 'r') goto yy54;
-       goto yy1093;
-yy1093:
-       YYDEBUG(1093, *YYCURSOR);
-       yyaccept = 15;
+       goto yy1158;
+yy1158:
+       YYDEBUG(1158, *YYCURSOR);
+       yyaccept = 16;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= 'H'){
-               if(yych == '-') goto yy872;
-               goto yy897;
+               if(yych == '-') goto yy937;
+               goto yy962;
        } else {
-               if(yych <= 'I') goto yy988;
-               if(yych == 'i') goto yy988;
-               goto yy897;
+               if(yych <= 'I') goto yy1053;
+               if(yych == 'i') goto yy1053;
+               goto yy962;
        }
-yy1094:
-       YYDEBUG(1094, *YYCURSOR);
-       yyaccept = 15;
+yy1159:
+       YYDEBUG(1159, *YYCURSOR);
+       yyaccept = 16;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= 'T'){
-               if(yych == '-') goto yy872;
-               goto yy897;
+               if(yych == '-') goto yy937;
+               goto yy962;
        } else {
-               if(yych <= 'U') goto yy990;
-               if(yych == 'u') goto yy990;
-               goto yy897;
+               if(yych <= 'U') goto yy1055;
+               if(yych == 'u') goto yy1055;
+               goto yy962;
        }
-yy1095:
-       YYDEBUG(1095, *YYCURSOR);
+yy1160:
+       YYDEBUG(1160, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'Y'){
-               if(yych == 'R') goto yy1096;
+               if(yych == 'R') goto yy1161;
                if(yych <= 'X') goto yy54;
-               goto yy1097;
+               goto yy1162;
        } else {
                if(yych <= 'r'){
                        if(yych <= 'q') goto yy54;
-                       goto yy1096;
+                       goto yy1161;
                } else {
-                       if(yych == 'y') goto yy1097;
+                       if(yych == 'y') goto yy1162;
                        goto yy54;
                }
        }
-yy1096:
-       YYDEBUG(1096, *YYCURSOR);
-       yyaccept = 15;
+yy1161:
+       YYDEBUG(1161, *YYCURSOR);
+       yyaccept = 16;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= 'B'){
-               if(yych == '-') goto yy872;
-               goto yy897;
+               if(yych == '-') goto yy937;
+               goto yy962;
        } else {
-               if(yych <= 'C') goto yy994;
-               if(yych == 'c') goto yy994;
-               goto yy897;
+               if(yych <= 'C') goto yy1059;
+               if(yych == 'c') goto yy1059;
+               goto yy962;
        }
-yy1097:
-       YYDEBUG(1097, *YYCURSOR);
-       yyaccept = 15;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if(yych == '-') goto yy872;
-       goto yy897;
-yy1098:
-       YYDEBUG(1098, *YYCURSOR);
+yy1162:
+       YYDEBUG(1162, *YYCURSOR);
+       yyaccept = 16;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych == '-') goto yy937;
+       goto yy962;
+yy1163:
+       YYDEBUG(1163, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'B') goto yy1099;
+       if(yych == 'B') goto yy1164;
        if(yych != 'b') goto yy54;
-       goto yy1099;
-yy1099:
-       YYDEBUG(1099, *YYCURSOR);
-       yyaccept = 15;
+       goto yy1164;
+yy1164:
+       YYDEBUG(1164, *YYCURSOR);
+       yyaccept = 16;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= 'Q'){
-               if(yych == '-') goto yy872;
-               goto yy897;
+               if(yych == '-') goto yy937;
+               goto yy962;
        } else {
-               if(yych <= 'R') goto yy997;
-               if(yych == 'r') goto yy997;
-               goto yy897;
+               if(yych <= 'R') goto yy1062;
+               if(yych == 'r') goto yy1062;
+               goto yy962;
        }
-yy1100:
-       YYDEBUG(1100, *YYCURSOR);
+yy1165:
+       YYDEBUG(1165, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'N'){
-               if(yych == 'L') goto yy1104;
+               if(yych == 'L') goto yy1169;
                if(yych <= 'M') goto yy54;
-               goto yy1103;
+               goto yy1168;
        } else {
                if(yych <= 'l'){
                        if(yych <= 'k') goto yy54;
-                       goto yy1104;
+                       goto yy1169;
                } else {
-                       if(yych == 'n') goto yy1103;
+                       if(yych == 'n') goto yy1168;
                        goto yy54;
                }
        }
-yy1101:
-       YYDEBUG(1101, *YYCURSOR);
+yy1166:
+       YYDEBUG(1166, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'N') goto yy1102;
+       if(yych == 'N') goto yy1167;
        if(yych != 'n') goto yy54;
-       goto yy1102;
-yy1102:
-       YYDEBUG(1102, *YYCURSOR);
-       yyaccept = 15;
+       goto yy1167;
+yy1167:
+       YYDEBUG(1167, *YYCURSOR);
+       yyaccept = 16;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= 'T'){
-               if(yych == '-') goto yy872;
-               goto yy897;
+               if(yych == '-') goto yy937;
+               goto yy962;
        } else {
-               if(yych <= 'U') goto yy1004;
-               if(yych == 'u') goto yy1004;
-               goto yy897;
+               if(yych <= 'U') goto yy1069;
+               if(yych == 'u') goto yy1069;
+               goto yy962;
        }
-yy1103:
-       YYDEBUG(1103, *YYCURSOR);
-       yyaccept = 15;
+yy1168:
+       YYDEBUG(1168, *YYCURSOR);
+       yyaccept = 16;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= 'D'){
-               if(yych == '-') goto yy872;
-               goto yy897;
+               if(yych == '-') goto yy937;
+               goto yy962;
        } else {
-               if(yych <= 'E') goto yy966;
-               if(yych == 'e') goto yy966;
-               goto yy897;
+               if(yych <= 'E') goto yy1031;
+               if(yych == 'e') goto yy1031;
+               goto yy962;
        }
-yy1104:
-       YYDEBUG(1104, *YYCURSOR);
-       yyaccept = 15;
+yy1169:
+       YYDEBUG(1169, *YYCURSOR);
+       yyaccept = 16;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= 'X'){
-               if(yych == '-') goto yy872;
-               goto yy897;
+               if(yych == '-') goto yy937;
+               goto yy962;
        } else {
-               if(yych <= 'Y') goto yy966;
-               if(yych == 'y') goto yy966;
-               goto yy897;
+               if(yych <= 'Y') goto yy1031;
+               if(yych == 'y') goto yy1031;
+               goto yy962;
        }
-yy1105:
-       YYDEBUG(1105, *YYCURSOR);
+yy1170:
+       YYDEBUG(1170, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'R'){
                if(yych <= 'N'){
-                       if(yych == 'E') goto yy732;
+                       if(yych == 'E') goto yy806;
                        goto yy54;
                } else {
                        if(yych <= 'O') goto yy96;
@@ -13020,7 +13837,7 @@ yy1105:
                }
        } else {
                if(yych <= 'n'){
-                       if(yych == 'e') goto yy732;
+                       if(yych == 'e') goto yy806;
                        goto yy54;
                } else {
                        if(yych <= 'o') goto yy96;
@@ -13028,12 +13845,12 @@ yy1105:
                        goto yy54;
                }
        }
-yy1106:
-       YYDEBUG(1106, *YYCURSOR);
+yy1171:
+       YYDEBUG(1171, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'O'){
                if(yych <= 'H'){
-                       if(yych == 'A') goto yy729;
+                       if(yych == 'A') goto yy803;
                        goto yy54;
                } else {
                        if(yych <= 'I') goto yy123;
@@ -13042,7 +13859,7 @@ yy1106:
                }
        } else {
                if(yych <= 'h'){
-                       if(yych == 'a') goto yy729;
+                       if(yych == 'a') goto yy803;
                        goto yy54;
                } else {
                        if(yych <= 'i') goto yy123;
@@ -13050,15 +13867,15 @@ yy1106:
                        goto yy54;
                }
        }
-yy1107:
-       YYDEBUG(1107, *YYCURSOR);
+yy1172:
+       YYDEBUG(1172, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'U'){
                if(yych <= 'D'){
                        if(yych == 'A') goto yy131;
                        goto yy54;
                } else {
-                       if(yych <= 'E') goto yy1109;
+                       if(yych <= 'E') goto yy1174;
                        if(yych <= 'T') goto yy54;
                        goto yy132;
                }
@@ -13067,51 +13884,64 @@ yy1107:
                        if(yych == 'a') goto yy131;
                        goto yy54;
                } else {
-                       if(yych <= 'e') goto yy1109;
+                       if(yych <= 'e') goto yy1174;
                        if(yych == 'u') goto yy132;
                        goto yy54;
                }
        }
-yy1108:
-       YYDEBUG(1108, *YYCURSOR);
+yy1173:
+       YYDEBUG(1173, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'E'){
                if(yych == 'A') goto yy119;
                if(yych <= 'D') goto yy54;
-               goto yy691;
+               goto yy771;
        } else {
                if(yych <= 'a'){
                        if(yych <= '`') goto yy54;
                        goto yy119;
                } else {
-                       if(yych == 'e') goto yy691;
+                       if(yych == 'e') goto yy771;
                        goto yy54;
                }
        }
-yy1109:
-       YYDEBUG(1109, *YYCURSOR);
+yy1174:
+       YYDEBUG(1174, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'P'){
                if(yych == 'C') goto yy134;
                if(yych <= 'O') goto yy54;
-               goto yy716;
+               goto yy790;
        } else {
                if(yych <= 'c'){
                        if(yych <= 'b') goto yy54;
                        goto yy134;
                } else {
-                       if(yych == 'p') goto yy716;
+                       if(yych == 'p') goto yy790;
                        goto yy54;
                }
        }
-yy1110:
-       YYDEBUG(1110, *YYCURSOR);
+yy1175:
+       YYDEBUG(1175, *YYCURSOR);
        yych = *++YYCURSOR;
        YYDEBUG(-1, yych);
        switch(yych){
+       case ' ':       goto yy647;
+       case '!':
+       case '"':
+       case '#':
+       case '$':
+       case '%':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case '*':
+       case '+':
+       case ',':       goto yy652;
        case '-':       goto yy651;
-       case '.':       goto yy652;
-       case '/':       goto yy1111;
+       case '.':       goto yy654;
+       case '/':       goto yy1176;
        case '0':
        case '1':
        case '2':
@@ -13121,75 +13951,100 @@ yy1110:
        case '6':
        case '7':
        case '8':
-       case '9':       goto yy860;
+       case '9':       goto yy925;
+       case 'A':       case 'a':       goto yy661;
        case 'D':       case 'd':       goto yy665;
        case 'F':       case 'f':       goto yy659;
-       case 'H':       case 'T':       case 'W':       case 'Y':       case 'h':       case 't':       case 'w':       case 'y':       goto yy54;
+       case 'I':       goto yy655;
+       case 'J':       case 'j':       goto yy658;
        case 'M':       case 'm':       goto yy660;
+       case 'N':       case 'n':       goto yy664;
+       case 'O':       case 'o':       goto yy663;
        case 'S':       case 's':       goto yy662;
-       default:        goto yy648;
+       case 'V':       goto yy656;
+       case 'X':       goto yy657;
+       default:        goto yy54;
        }
-yy1111:
-       YYDEBUG(1111, *YYCURSOR);
+yy1176:
+       YYDEBUG(1176, *YYCURSOR);
        yych = *++YYCURSOR;
        YYDEBUG(-1, yych);
        switch(yych){
-       case 'A':       case 'a':       goto yy810;
-       case 'D':       case 'd':       goto yy814;
-       case 'F':       case 'f':       goto yy808;
-       case 'J':       case 'j':       goto yy807;
-       case 'M':       case 'm':       goto yy809;
-       case 'N':       case 'n':       goto yy813;
-       case 'O':       case 'o':       goto yy812;
-       case 'S':       case 's':       goto yy811;
+       case 'A':       case 'a':       goto yy875;
+       case 'D':       case 'd':       goto yy879;
+       case 'F':       case 'f':       goto yy873;
+       case 'J':       case 'j':       goto yy872;
+       case 'M':       case 'm':       goto yy874;
+       case 'N':       case 'n':       goto yy878;
+       case 'O':       case 'o':       goto yy877;
+       case 'S':       case 's':       goto yy876;
        default:        goto yy54;
        }
-yy1112:
-       YYDEBUG(1112, *YYCURSOR);
+yy1177:
+       YYDEBUG(1177, *YYCURSOR);
        yych = *++YYCURSOR;
        YYDEBUG(-1, yych);
        switch(yych){
+       case ' ':       goto yy647;
+       case '!':
+       case '"':
+       case '#':
+       case '$':
+       case '%':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case '*':
+       case '+':
+       case ',':       goto yy652;
        case '-':       goto yy651;
-       case '.':       goto yy652;
-       case '/':       goto yy1111;
+       case '.':       goto yy654;
+       case '/':       goto yy1176;
        case '0':
        case '1':
        case '2':
        case '3':
        case '4':
-       case '5':       goto yy1114;
+       case '5':       goto yy1179;
        case '6':
        case '7':
        case '8':
-       case '9':       goto yy860;
-       case ':':       goto yy1113;
+       case '9':       goto yy925;
+       case ':':       goto yy1178;
+       case 'A':       case 'a':       goto yy661;
        case 'D':       case 'd':       goto yy665;
        case 'F':       case 'f':       goto yy659;
-       case 'H':       case 'T':       case 'W':       case 'Y':       case 'h':       case 't':       case 'w':       case 'y':       goto yy54;
+       case 'I':       goto yy655;
+       case 'J':       case 'j':       goto yy658;
        case 'M':       case 'm':       goto yy660;
+       case 'N':       case 'n':       goto yy664;
+       case 'O':       case 'o':       goto yy663;
        case 'S':       case 's':       goto yy662;
-       default:        goto yy648;
+       case 'V':       goto yy656;
+       case 'X':       goto yy657;
+       default:        goto yy54;
        }
-yy1113:
-       YYDEBUG(1113, *YYCURSOR);
+yy1178:
+       YYDEBUG(1178, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '5') goto yy1131;
-       if(yych <= '9') goto yy1132;
+       if(yych <= '5') goto yy1196;
+       if(yych <= '9') goto yy1197;
        goto yy54;
-yy1114:
-       YYDEBUG(1114, *YYCURSOR);
+yy1179:
+       YYDEBUG(1179, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yybm[0+yych] & 16) {
                goto yy66;
        }
-       if(yych == '-') goto yy861;
+       if(yych == '-') goto yy926;
        if(yych <= '/') goto yy54;
        if(yych >= ':') goto yy54;
-       goto yy1115;
-yy1115:
-       YYDEBUG(1115, *YYCURSOR);
-       yyaccept = 18;
+       goto yy1180;
+yy1180:
+       YYDEBUG(1180, *YYCURSOR);
+       yyaccept = 19;
        yych = *(YYMARKER = ++YYCURSOR);
        YYDEBUG(-1, yych);
        switch(yych){
@@ -13208,31 +14063,31 @@ yy1115:
        case ',':       case 'A':       case 'I':
        case 'J':       case 'N':
        case 'O':       case 'V':       case 'X':       case 'a':       case 'j':       case 'n':
-       case 'o':       goto yy892;
-       case '-':       goto yy889;
-       case '.':       goto yy895;
-       case '/':       goto yy890;
-       case '0':       goto yy1117;
-       case '1':       goto yy1118;
-       case '2':       goto yy1119;
-       case '3':       goto yy1120;
+       case 'o':       goto yy957;
+       case '-':       goto yy954;
+       case '.':       goto yy960;
+       case '/':       goto yy955;
+       case '0':       goto yy1182;
+       case '1':       goto yy1183;
+       case '2':       goto yy1184;
+       case '3':       goto yy1185;
        case '4':
-       case '5':       goto yy1121;
-       case '6':       goto yy1122;
+       case '5':       goto yy1186;
+       case '6':       goto yy1187;
        case '7':
        case '8':
        case '9':       goto yy68;
-       case 'D':       case 'd':       goto yy907;
-       case 'F':       case 'f':       goto yy901;
-       case 'M':       case 'm':       goto yy902;
-       case 'S':       case 's':       goto yy904;
-       case 'W':       goto yy912;
-       default:        goto yy1116;
+       case 'D':       case 'd':       goto yy972;
+       case 'F':       case 'f':       goto yy966;
+       case 'M':       case 'm':       goto yy967;
+       case 'S':       case 's':       goto yy969;
+       case 'W':       goto yy977;
+       default:        goto yy1181;
        }
-yy1116:
-       YYDEBUG(1116, *YYCURSOR);
+yy1181:
+       YYDEBUG(1181, *YYCURSOR);
 
-#line 993 "resource/parse_date.re"
+#line 994 "resource/parse_date.re"
 {
                DEBUG_OUTPUT("gnunocolon");
                TIMELIB_INIT;
@@ -13253,80 +14108,80 @@ yy1116:
                TIMELIB_DEINIT;
                return TIMELIB_GNU_NOCOLON;
        }
-#line 10998 "<stdout>"
-yy1117:
-       YYDEBUG(1117, *YYCURSOR);
+#line 11723 "<stdout>"
+yy1182:
+       YYDEBUG(1182, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yybm[0+yych] & 16) {
                goto yy66;
        }
        if(yych <= '/') goto yy54;
-       if(yych <= '0') goto yy1129;
-       if(yych <= '9') goto yy1130;
+       if(yych <= '0') goto yy1194;
+       if(yych <= '9') goto yy1195;
        goto yy54;
-yy1118:
-       YYDEBUG(1118, *YYCURSOR);
+yy1183:
+       YYDEBUG(1183, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yybm[0+yych] & 16) {
                goto yy66;
        }
        if(yych <= '/') goto yy54;
-       if(yych <= '2') goto yy1128;
-       if(yych <= '9') goto yy1127;
+       if(yych <= '2') goto yy1193;
+       if(yych <= '9') goto yy1192;
        goto yy54;
-yy1119:
-       YYDEBUG(1119, *YYCURSOR);
+yy1184:
+       YYDEBUG(1184, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yybm[0+yych] & 16) {
                goto yy66;
        }
        if(yych <= '/') goto yy54;
-       if(yych <= '9') goto yy1127;
+       if(yych <= '9') goto yy1192;
        goto yy54;
-yy1120:
-       YYDEBUG(1120, *YYCURSOR);
+yy1185:
+       YYDEBUG(1185, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yybm[0+yych] & 16) {
                goto yy66;
        }
        if(yych <= '/') goto yy54;
-       if(yych <= '5') goto yy1125;
-       if(yych <= '6') goto yy1126;
-       if(yych <= '9') goto yy1123;
+       if(yych <= '5') goto yy1190;
+       if(yych <= '6') goto yy1191;
+       if(yych <= '9') goto yy1188;
        goto yy54;
-yy1121:
-       YYDEBUG(1121, *YYCURSOR);
+yy1186:
+       YYDEBUG(1186, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yybm[0+yych] & 16) {
                goto yy66;
        }
        if(yych <= '/') goto yy54;
-       if(yych <= '9') goto yy1123;
+       if(yych <= '9') goto yy1188;
        goto yy54;
-yy1122:
-       YYDEBUG(1122, *YYCURSOR);
+yy1187:
+       YYDEBUG(1187, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yybm[0+yych] & 16) {
                goto yy66;
        }
        if(yych <= '/') goto yy54;
-       if(yych <= '0') goto yy1123;
+       if(yych <= '0') goto yy1188;
        if(yych <= '9') goto yy68;
        goto yy54;
-yy1123:
-       YYDEBUG(1123, *YYCURSOR);
-       yyaccept = 19;
+yy1188:
+       YYDEBUG(1188, *YYCURSOR);
+       yyaccept = 20;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yybm[0+yych] & 16) {
                goto yy66;
        }
-       if(yych <= '/') goto yy1124;
+       if(yych <= '/') goto yy1189;
        if(yych <= '9') goto yy68;
-       goto yy1124;
-yy1124:
-       YYDEBUG(1124, *YYCURSOR);
+       goto yy1189;
+yy1189:
+       YYDEBUG(1189, *YYCURSOR);
 
-#line 1038 "resource/parse_date.re"
+#line 1039 "resource/parse_date.re"
 {
                int tz_not_found;
                DEBUG_OUTPUT("iso8601nocolon");
@@ -13343,191 +14198,229 @@ yy1124:
                TIMELIB_DEINIT;
                return TIMELIB_ISO_NOCOLON;
        }
-#line 11072 "<stdout>"
-yy1125:
-       YYDEBUG(1125, *YYCURSOR);
-       yyaccept = 19;
+#line 11797 "<stdout>"
+yy1190:
+       YYDEBUG(1190, *YYCURSOR);
+       yyaccept = 20;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yybm[0+yych] & 16) {
                goto yy66;
        }
-       if(yych <= '/') goto yy1124;
-       if(yych <= '9') goto yy922;
-       goto yy1124;
-yy1126:
-       YYDEBUG(1126, *YYCURSOR);
-       yyaccept = 19;
+       if(yych <= '/') goto yy1189;
+       if(yych <= '9') goto yy987;
+       goto yy1189;
+yy1191:
+       YYDEBUG(1191, *YYCURSOR);
+       yyaccept = 20;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yybm[0+yych] & 16) {
                goto yy66;
        }
-       if(yych <= '/') goto yy1124;
-       if(yych <= '6') goto yy922;
+       if(yych <= '/') goto yy1189;
+       if(yych <= '6') goto yy987;
        if(yych <= '9') goto yy68;
-       goto yy1124;
-yy1127:
-       YYDEBUG(1127, *YYCURSOR);
-       yyaccept = 19;
+       goto yy1189;
+yy1192:
+       YYDEBUG(1192, *YYCURSOR);
+       yyaccept = 20;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yybm[0+yych] & 16) {
                goto yy66;
        }
-       if(yych <= '/') goto yy1124;
-       if(yych <= '9') goto yy922;
-       goto yy1124;
-yy1128:
-       YYDEBUG(1128, *YYCURSOR);
-       yyaccept = 19;
+       if(yych <= '/') goto yy1189;
+       if(yych <= '9') goto yy987;
+       goto yy1189;
+yy1193:
+       YYDEBUG(1193, *YYCURSOR);
+       yyaccept = 20;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yybm[0+yych] & 16) {
                goto yy66;
        }
        if(yych <= '2'){
-               if(yych <= '/') goto yy1124;
-               if(yych <= '0') goto yy926;
-               goto yy927;
+               if(yych <= '/') goto yy1189;
+               if(yych <= '0') goto yy991;
+               goto yy992;
        } else {
-               if(yych <= '3') goto yy928;
-               if(yych <= '9') goto yy922;
-               goto yy1124;
+               if(yych <= '3') goto yy993;
+               if(yych <= '9') goto yy987;
+               goto yy1189;
        }
-yy1129:
-       YYDEBUG(1129, *YYCURSOR);
-       yyaccept = 19;
+yy1194:
+       YYDEBUG(1194, *YYCURSOR);
+       yyaccept = 20;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yybm[0+yych] & 16) {
                goto yy66;
        }
-       if(yych <= '/') goto yy1124;
+       if(yych <= '/') goto yy1189;
        if(yych <= '0') goto yy68;
-       if(yych <= '9') goto yy922;
-       goto yy1124;
-yy1130:
-       YYDEBUG(1130, *YYCURSOR);
-       yyaccept = 19;
+       if(yych <= '9') goto yy987;
+       goto yy1189;
+yy1195:
+       YYDEBUG(1195, *YYCURSOR);
+       yyaccept = 20;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yybm[0+yych] & 16) {
                goto yy66;
        }
        if(yych <= '2'){
-               if(yych <= '/') goto yy1124;
-               if(yych <= '0') goto yy926;
-               goto yy927;
+               if(yych <= '/') goto yy1189;
+               if(yych <= '0') goto yy991;
+               goto yy992;
        } else {
-               if(yych <= '3') goto yy928;
-               if(yych <= '9') goto yy922;
-               goto yy1124;
+               if(yych <= '3') goto yy993;
+               if(yych <= '9') goto yy987;
+               goto yy1189;
        }
-yy1131:
-       YYDEBUG(1131, *YYCURSOR);
+yy1196:
+       YYDEBUG(1196, *YYCURSOR);
        yyaccept = 10;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= '/') goto yy668;
-       if(yych <= '9') goto yy1132;
-       if(yych <= ':') goto yy1133;
+       if(yych <= '9') goto yy1197;
+       if(yych <= ':') goto yy1198;
        goto yy668;
-yy1132:
-       YYDEBUG(1132, *YYCURSOR);
+yy1197:
+       YYDEBUG(1197, *YYCURSOR);
        yyaccept = 10;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych != ':') goto yy668;
-       goto yy1133;
-yy1133:
-       YYDEBUG(1133, *YYCURSOR);
+       goto yy1198;
+yy1198:
+       YYDEBUG(1198, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '5') goto yy1134;
-       if(yych <= '6') goto yy1135;
+       if(yych <= '5') goto yy1199;
+       if(yych <= '6') goto yy1200;
        if(yych <= '9') goto yy673;
        goto yy54;
-yy1134:
-       YYDEBUG(1134, *YYCURSOR);
+yy1199:
+       YYDEBUG(1199, *YYCURSOR);
        yyaccept = 10;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych == '.') goto yy674;
        if(yych <= '/') goto yy668;
        if(yych <= '9') goto yy673;
        goto yy668;
-yy1135:
-       YYDEBUG(1135, *YYCURSOR);
+yy1200:
+       YYDEBUG(1200, *YYCURSOR);
        yyaccept = 10;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych == '.') goto yy674;
        if(yych == '0') goto yy673;
        goto yy668;
-yy1136:
-       YYDEBUG(1136, *YYCURSOR);
+yy1201:
+       YYDEBUG(1201, *YYCURSOR);
        yych = *++YYCURSOR;
        YYDEBUG(-1, yych);
        switch(yych){
+       case ' ':       goto yy647;
+       case '!':
+       case '"':
+       case '#':
+       case '$':
+       case '%':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case '*':
+       case '+':
+       case ',':       goto yy652;
        case '-':       goto yy651;
-       case '.':       goto yy652;
+       case '.':       goto yy654;
        case '/':       goto yy650;
        case '0':
        case '1':
        case '2':
        case '3':
        case '4':
-       case '5':       goto yy1114;
+       case '5':       goto yy1179;
        case '6':
        case '7':
        case '8':
-       case '9':       goto yy860;
+       case '9':       goto yy925;
        case ':':       goto yy666;
+       case 'A':       case 'a':       goto yy661;
        case 'D':       case 'd':       goto yy665;
        case 'F':       case 'f':       goto yy659;
-       case 'H':       case 'T':       case 'W':       case 'Y':       case 'h':       case 't':       case 'w':       case 'y':       goto yy54;
+       case 'I':       goto yy655;
+       case 'J':       case 'j':       goto yy658;
        case 'M':       case 'm':       goto yy660;
+       case 'N':       case 'n':       goto yy664;
+       case 'O':       case 'o':       goto yy663;
        case 'S':       case 's':       goto yy662;
-       default:        goto yy648;
+       case 'V':       goto yy656;
+       case 'X':       goto yy657;
+       default:        goto yy54;
        }
-yy1137:
-       YYDEBUG(1137, *YYCURSOR);
+yy1202:
+       YYDEBUG(1202, *YYCURSOR);
        yych = *++YYCURSOR;
        YYDEBUG(-1, yych);
        switch(yych){
+       case ' ':       goto yy647;
+       case '!':
+       case '"':
+       case '#':
+       case '$':
+       case '%':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case '*':
+       case '+':
+       case ',':       goto yy652;
        case '-':       goto yy651;
-       case '.':       goto yy652;
+       case '.':       goto yy654;
        case '/':       goto yy650;
        case '0':
        case '1':
        case '2':
        case '3':
        case '4':
-       case '5':       goto yy1114;
+       case '5':       goto yy1179;
        case '6':
        case '7':
        case '8':
-       case '9':       goto yy860;
-       case ':':       goto yy1113;
+       case '9':       goto yy925;
+       case ':':       goto yy1178;
+       case 'A':       case 'a':       goto yy661;
        case 'D':       case 'd':       goto yy665;
        case 'F':       case 'f':       goto yy659;
-       case 'H':       case 'T':       case 'W':       case 'Y':       case 'h':       case 't':       case 'w':       case 'y':       goto yy54;
+       case 'I':       goto yy655;
+       case 'J':       case 'j':       goto yy658;
        case 'M':       case 'm':       goto yy660;
+       case 'N':       case 'n':       goto yy664;
+       case 'O':       case 'o':       goto yy663;
        case 'S':       case 's':       goto yy662;
-       default:        goto yy648;
+       case 'V':       goto yy656;
+       case 'X':       goto yy657;
+       default:        goto yy54;
        }
-yy1138:
-       YYDEBUG(1138, *YYCURSOR);
+yy1203:
+       YYDEBUG(1203, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '0') goto yy54;
        if(yych >= ':') goto yy54;
-       goto yy1139;
-yy1139:
-       YYDEBUG(1139, *YYCURSOR);
+       goto yy1204;
+yy1204:
+       YYDEBUG(1204, *YYCURSOR);
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
-       goto yy1140;
-yy1140:
-       YYDEBUG(1140, *YYCURSOR);
-       if(yych <= '/') goto yy1141;
-       if(yych <= '9') goto yy1139;
-       goto yy1141;
-yy1141:
-       YYDEBUG(1141, *YYCURSOR);
+       goto yy1205;
+yy1205:
+       YYDEBUG(1205, *YYCURSOR);
+       if(yych <= '/') goto yy1206;
+       if(yych <= '9') goto yy1204;
+       goto yy1206;
+yy1206:
+       YYDEBUG(1206, *YYCURSOR);
 
-#line 930 "resource/parse_date.re"
+#line 931 "resource/parse_date.re"
 {
                timelib_ull i;
 
@@ -13550,9 +14443,9 @@ yy1141:
                TIMELIB_DEINIT;
                return TIMELIB_RELATIVE;
        }
-#line 11243 "<stdout>"
-yy1142:
-       YYDEBUG(1142, *YYCURSOR);
+#line 12006 "<stdout>"
+yy1207:
+       YYDEBUG(1207, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'c'){
                if(yych <= '@') goto yy3;
@@ -13562,66 +14455,66 @@ yy1142:
        } else {
                if(yych <= 'l'){
                        if(yych >= 'e') goto yy49;
-                       goto yy1143;
+                       goto yy1208;
                } else {
-                       if(yych <= 'm') goto yy1144;
+                       if(yych <= 'm') goto yy1209;
                        if(yych <= 'z') goto yy49;
                        goto yy3;
                }
        }
-yy1143:
-       YYDEBUG(1143, *YYCURSOR);
+yy1208:
+       YYDEBUG(1208, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '`'){
                if(yych <= '@') goto yy3;
                if(yych <= 'Z') goto yy50;
                goto yy3;
        } else {
-               if(yych <= 'a') goto yy1151;
+               if(yych <= 'a') goto yy1216;
                if(yych <= 'z') goto yy50;
                goto yy3;
        }
-yy1144:
-       YYDEBUG(1144, *YYCURSOR);
+yy1209:
+       YYDEBUG(1209, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '`'){
                if(yych <= '@') goto yy3;
                if(yych <= 'Z') goto yy50;
                goto yy3;
        } else {
-               if(yych == 'o') goto yy1145;
+               if(yych == 'o') goto yy1210;
                if(yych <= 'z') goto yy50;
                goto yy3;
        }
-yy1145:
-       YYDEBUG(1145, *YYCURSOR);
+yy1210:
+       YYDEBUG(1210, *YYCURSOR);
        yyaccept = 1;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych != 'r') goto yy3;
-       goto yy1146;
-yy1146:
-       YYDEBUG(1146, *YYCURSOR);
+       goto yy1211;
+yy1211:
+       YYDEBUG(1211, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != 'r') goto yy54;
-       goto yy1147;
-yy1147:
-       YYDEBUG(1147, *YYCURSOR);
+       goto yy1212;
+yy1212:
+       YYDEBUG(1212, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != 'o') goto yy54;
-       goto yy1148;
-yy1148:
-       YYDEBUG(1148, *YYCURSOR);
+       goto yy1213;
+yy1213:
+       YYDEBUG(1213, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != 'w') goto yy54;
-       goto yy1149;
-yy1149:
-       YYDEBUG(1149, *YYCURSOR);
+       goto yy1214;
+yy1214:
+       YYDEBUG(1214, *YYCURSOR);
        ++YYCURSOR;
-       goto yy1150;
-yy1150:
-       YYDEBUG(1150, *YYCURSOR);
+       goto yy1215;
+yy1215:
+       YYDEBUG(1215, *YYCURSOR);
 
-#line 918 "resource/parse_date.re"
+#line 919 "resource/parse_date.re"
 {
                DEBUG_OUTPUT("tomorrow");
                TIMELIB_INIT;
@@ -13632,20 +14525,20 @@ yy1150:
                TIMELIB_DEINIT;
                return TIMELIB_RELATIVE;
        }
-#line 11307 "<stdout>"
-yy1151:
-       YYDEBUG(1151, *YYCURSOR);
+#line 12070 "<stdout>"
+yy1216:
+       YYDEBUG(1216, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != 'y') goto yy3;
-       goto yy1152;
-yy1152:
-       YYDEBUG(1152, *YYCURSOR);
+       goto yy1217;
+yy1217:
+       YYDEBUG(1217, *YYCURSOR);
        ++YYCURSOR;
-       goto yy1153;
-yy1153:
-       YYDEBUG(1153, *YYCURSOR);
+       goto yy1218;
+yy1218:
+       YYDEBUG(1218, *YYCURSOR);
 
-#line 908 "resource/parse_date.re"
+#line 909 "resource/parse_date.re"
 {
                DEBUG_OUTPUT("today");
                TIMELIB_INIT;
@@ -13654,9 +14547,9 @@ yy1153:
                TIMELIB_DEINIT;
                return TIMELIB_RELATIVE;
        }
-#line 11323 "<stdout>"
-yy1154:
-       YYDEBUG(1154, *YYCURSOR);
+#line 12086 "<stdout>"
+yy1219:
+       YYDEBUG(1219, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '`'){
                if(yych <= 'U'){
@@ -13672,23 +14565,23 @@ yy1154:
                        if(yych <= 'u') goto yy49;
                        goto yy480;
                } else {
-                       if(yych <= 'w') goto yy1155;
+                       if(yych <= 'w') goto yy1220;
                        if(yych <= 'z') goto yy49;
                        goto yy3;
                }
        }
-yy1155:
-       YYDEBUG(1155, *YYCURSOR);
+yy1220:
+       YYDEBUG(1220, *YYCURSOR);
        ++YYCURSOR;
-       if((yych = *YYCURSOR) <= '@')   goto yy1156;
+       if((yych = *YYCURSOR) <= '@')   goto yy1221;
        if(yych <= 'Z') goto yy50;
-       if(yych <= '`') goto yy1156;
+       if(yych <= '`') goto yy1221;
        if(yych <= 'z') goto yy50;
-       goto yy1156;
-yy1156:
-       YYDEBUG(1156, *YYCURSOR);
+       goto yy1221;
+yy1221:
+       YYDEBUG(1221, *YYCURSOR);
 
-#line 899 "resource/parse_date.re"
+#line 900 "resource/parse_date.re"
 {
                DEBUG_OUTPUT("now");
                TIMELIB_INIT;
@@ -13696,65 +14589,65 @@ yy1156:
                TIMELIB_DEINIT;
                return TIMELIB_RELATIVE;
        }
-#line 11359 "<stdout>"
-yy1157:
-       YYDEBUG(1157, *YYCURSOR);
+#line 12122 "<stdout>"
+yy1222:
+       YYDEBUG(1222, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '`'){
                if(yych <= '@') goto yy3;
                if(yych <= 'Z') goto yy49;
                goto yy3;
        } else {
-               if(yych == 's') goto yy1158;
+               if(yych == 's') goto yy1223;
                if(yych <= 'z') goto yy49;
                goto yy3;
        }
-yy1158:
-       YYDEBUG(1158, *YYCURSOR);
+yy1223:
+       YYDEBUG(1223, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '`'){
                if(yych <= '@') goto yy3;
                if(yych <= 'Z') goto yy50;
                goto yy3;
        } else {
-               if(yych == 't') goto yy1159;
+               if(yych == 't') goto yy1224;
                if(yych <= 'z') goto yy50;
                goto yy3;
        }
-yy1159:
-       YYDEBUG(1159, *YYCURSOR);
+yy1224:
+       YYDEBUG(1224, *YYCURSOR);
        yyaccept = 1;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych != 'e') goto yy3;
-       goto yy1160;
-yy1160:
-       YYDEBUG(1160, *YYCURSOR);
+       goto yy1225;
+yy1225:
+       YYDEBUG(1225, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != 'r') goto yy54;
-       goto yy1161;
-yy1161:
-       YYDEBUG(1161, *YYCURSOR);
+       goto yy1226;
+yy1226:
+       YYDEBUG(1226, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != 'd') goto yy54;
-       goto yy1162;
-yy1162:
-       YYDEBUG(1162, *YYCURSOR);
+       goto yy1227;
+yy1227:
+       YYDEBUG(1227, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != 'a') goto yy54;
-       goto yy1163;
-yy1163:
-       YYDEBUG(1163, *YYCURSOR);
+       goto yy1228;
+yy1228:
+       YYDEBUG(1228, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != 'y') goto yy54;
-       goto yy1164;
-yy1164:
-       YYDEBUG(1164, *YYCURSOR);
+       goto yy1229;
+yy1229:
+       YYDEBUG(1229, *YYCURSOR);
        ++YYCURSOR;
-       goto yy1165;
-yy1165:
-       YYDEBUG(1165, *YYCURSOR);
+       goto yy1230;
+yy1230:
+       YYDEBUG(1230, *YYCURSOR);
 
-#line 887 "resource/parse_date.re"
+#line 888 "resource/parse_date.re"
 {
                DEBUG_OUTPUT("yesterday");
                TIMELIB_INIT;
@@ -13765,10 +14658,10 @@ yy1165:
                TIMELIB_DEINIT;
                return TIMELIB_RELATIVE;
        }
-#line 11410 "<stdout>"
+#line 12173 "<stdout>"
 }
 }
-#line 1397 "resource/parse_date.re"
+#line 1408 "resource/parse_date.re"
 
 }
 
index 334e74f305d678ef54a395bda83bbb0780ff4ada..edb08c47c8e5e9b725b72574dc894461bf8e8902 100644 (file)
@@ -845,6 +845,7 @@ datenoday        = monthtext ([ -.])* year4;
 datenodayrev     = year4 ([ -.])* monthtext;
 datetextual      = monthtext ([ -.])+ day [,.stndrh ]* year;
 datenoyear       = monthtext ([ -.])+ day [,.stndrh ]*;
+datenoyearrev    = day ([ -.])+ monthtext;
 datenocolon      = year4 monthlz daylz;
 
 /* Special formats */
@@ -1149,6 +1150,16 @@ relativetext = (reltextnumber space reltextunit)+;
                return TIMELIB_DATE_TEXT;
        }
 
+       datenoyearrev
+       {
+               TIMELIB_INIT;
+               TIMELIB_HAVE_DATE();
+               s->time->d = timelib_get_nr((char **) &ptr, 2);
+               s->time->m = timelib_get_month((char **) &ptr);
+               TIMELIB_DEINIT;
+               return TIMELIB_DATE_TEXT;
+       }
+
        datenocolon
        {
                TIMELIB_INIT;
index 334e74f305d678ef54a395bda83bbb0780ff4ada..edb08c47c8e5e9b725b72574dc894461bf8e8902 100644 (file)
@@ -845,6 +845,7 @@ datenoday        = monthtext ([ -.])* year4;
 datenodayrev     = year4 ([ -.])* monthtext;
 datetextual      = monthtext ([ -.])+ day [,.stndrh ]* year;
 datenoyear       = monthtext ([ -.])+ day [,.stndrh ]*;
+datenoyearrev    = day ([ -.])+ monthtext;
 datenocolon      = year4 monthlz daylz;
 
 /* Special formats */
@@ -1149,6 +1150,16 @@ relativetext = (reltextnumber space reltextunit)+;
                return TIMELIB_DATE_TEXT;
        }
 
+       datenoyearrev
+       {
+               TIMELIB_INIT;
+               TIMELIB_HAVE_DATE();
+               s->time->d = timelib_get_nr((char **) &ptr, 2);
+               s->time->m = timelib_get_month((char **) &ptr);
+               TIMELIB_DEINIT;
+               return TIMELIB_DATE_TEXT;
+       }
+
        datenocolon
        {
                TIMELIB_INIT;