From 45bcac83b310faa7396c22e9923c8fbcde238494 Mon Sep 17 00:00:00 2001 From: Li Zhou Date: Thu, 23 Nov 2017 13:33:48 +0800 Subject: php: Security Advisory - php - CVE-2017-16642 Porting the patch from to solve CVE-2017-16642. Signed-off-by: Li Zhou Signed-off-by: Armin Kuster (cherry picked from commit 90f4b75fe7313ada0974df47912d1e3c57256ae3) Signed-off-by: Armin Kuster --- .../php/php-7.1.9/CVE-2017-16642.patch | 5241 ++++++++++++++++++++ meta-oe/recipes-devtools/php/php_7.1.9.bb | 1 + 2 files changed, 5242 insertions(+) create mode 100644 meta-oe/recipes-devtools/php/php-7.1.9/CVE-2017-16642.patch (limited to 'meta-oe/recipes-devtools') diff --git a/meta-oe/recipes-devtools/php/php-7.1.9/CVE-2017-16642.patch b/meta-oe/recipes-devtools/php/php-7.1.9/CVE-2017-16642.patch new file mode 100644 index 0000000000..41d2a0f612 --- /dev/null +++ b/meta-oe/recipes-devtools/php/php-7.1.9/CVE-2017-16642.patch @@ -0,0 +1,5241 @@ +From f2f90767311355cafabff604a7a857ca60ee3f01 Mon Sep 17 00:00:00 2001 +From: Li Zhou +Date: Wed, 22 Nov 2017 21:14:59 -0800 +Subject: [PATCH] Fixed bug #75055 Out-Of-Bounds Read in timelib_meridian() + +Upstream-Status: Backport +CVE: CVE-2017-16642 +Signed-off-by: Li Zhou +--- + ext/date/lib/parse_date.c | 1544 +++++++++++++++++++++---------------- + ext/date/lib/parse_date.re | 4 +- + ext/date/tests/bug53437_var3.phpt | 2 +- + ext/wddx/tests/bug75055.phpt | 20 + + ext/wddx/tests/bug75055.wddx | 13 + + 5 files changed, 911 insertions(+), 672 deletions(-) + create mode 100644 ext/wddx/tests/bug75055.phpt + create mode 100644 ext/wddx/tests/bug75055.wddx + +diff --git a/ext/date/lib/parse_date.c b/ext/date/lib/parse_date.c +index f929619..6b11418 100644 +--- a/ext/date/lib/parse_date.c ++++ b/ext/date/lib/parse_date.c +@@ -1,4 +1,5 @@ +-/* Generated by re2c 0.15.3 on Tue Jul 4 21:15:17 2017 */ ++/* Generated by re2c 0.15.3 on Wed Nov 22 21:14:47 2017 */ ++#line 1 "ext/date/lib/parse_date.re" + /* + * The MIT License (MIT) + * +@@ -837,9 +838,11 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) + std: + s->tok = cursor; + s->len = 0; ++#line 965 "ext/date/lib/parse_date.re" + + + ++#line 846 "ext/date/lib/parse_date.c" + { + YYCTYPE yych; + unsigned int yyaccept = 0; +@@ -962,18 +965,19 @@ yy2: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy165; +- goto yy1521; ++ goto yy1523; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy165; + if (yych >= 'a') goto yy170; + } else { +- if (yych <= 'e') goto yy1530; ++ if (yych <= 'e') goto yy1532; + if (yych <= 'z') goto yy170; + } + } + yy3: ++#line 1673 "ext/date/lib/parse_date.re" + { + int tz_not_found; + DEBUG_OUTPUT("tzcorrection | tz"); +@@ -986,6 +990,7 @@ yy3: + TIMELIB_DEINIT; + return TIMELIB_TIMEZONE; + } ++#line 994 "ext/date/lib/parse_date.c" + yy4: + yych = *++YYCURSOR; + if (yych <= 'E') { +@@ -995,7 +1000,7 @@ yy4: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy165; +- goto yy1521; ++ goto yy1523; + } + } else { + if (yych <= 'd') { +@@ -1003,7 +1008,7 @@ yy4: + if (yych <= '`') goto yy3; + goto yy165; + } else { +- if (yych <= 'e') goto yy1521; ++ if (yych <= 'e') goto yy1523; + if (yych <= 'z') goto yy165; + goto yy3; + } +@@ -1017,12 +1022,12 @@ yy5: + goto yy165; + } else { + if (yych <= 'H') { +- if (yych <= 'E') goto yy1492; ++ if (yych <= 'E') goto yy1494; + goto yy165; + } else { +- if (yych <= 'I') goto yy1493; ++ if (yych <= 'I') goto yy1495; + if (yych <= 'N') goto yy165; +- goto yy1491; ++ goto yy1493; + } + } + } else { +@@ -1031,15 +1036,15 @@ yy5: + if (yych <= 'Z') goto yy165; + goto yy3; + } else { +- if (yych == 'e') goto yy1508; ++ if (yych == 'e') goto yy1510; + goto yy170; + } + } else { + if (yych <= 'n') { +- if (yych <= 'i') goto yy1509; ++ if (yych <= 'i') goto yy1511; + goto yy170; + } else { +- if (yych <= 'o') goto yy1507; ++ if (yych <= 'o') goto yy1509; + if (yych <= 'z') goto yy170; + goto yy3; + } +@@ -1054,12 +1059,12 @@ yy6: + goto yy165; + } else { + if (yych <= 'H') { +- if (yych <= 'E') goto yy1492; ++ if (yych <= 'E') goto yy1494; + goto yy165; + } else { +- if (yych <= 'I') goto yy1493; ++ if (yych <= 'I') goto yy1495; + if (yych <= 'N') goto yy165; +- goto yy1491; ++ goto yy1493; + } + } + } else { +@@ -1068,15 +1073,15 @@ yy6: + if (yych <= 'Z') goto yy165; + goto yy3; + } else { +- if (yych == 'e') goto yy1492; ++ if (yych == 'e') goto yy1494; + goto yy165; + } + } else { + if (yych <= 'n') { +- if (yych <= 'i') goto yy1493; ++ if (yych <= 'i') goto yy1495; + goto yy165; + } else { +- if (yych <= 'o') goto yy1491; ++ if (yych <= 'o') goto yy1493; + if (yych <= 'z') goto yy165; + goto yy3; + } +@@ -1088,24 +1093,24 @@ yy7: + if (yych <= 'A') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; +- goto yy1461; ++ goto yy1463; + } else { +- if (yych == 'I') goto yy1462; ++ if (yych == 'I') goto yy1464; + if (yych <= 'N') goto yy165; +- goto yy1463; ++ goto yy1465; + } + } else { + if (yych <= 'h') { + if (yych <= 'Z') goto yy165; + if (yych <= '`') goto yy3; +- if (yych <= 'a') goto yy1476; ++ if (yych <= 'a') goto yy1478; + goto yy170; + } else { + if (yych <= 'n') { +- if (yych <= 'i') goto yy1477; ++ if (yych <= 'i') goto yy1479; + goto yy170; + } else { +- if (yych <= 'o') goto yy1478; ++ if (yych <= 'o') goto yy1480; + if (yych <= 'z') goto yy170; + goto yy3; + } +@@ -1117,24 +1122,24 @@ yy8: + if (yych <= 'A') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; +- goto yy1461; ++ goto yy1463; + } else { +- if (yych == 'I') goto yy1462; ++ if (yych == 'I') goto yy1464; + if (yych <= 'N') goto yy165; +- goto yy1463; ++ goto yy1465; + } + } else { + if (yych <= 'h') { + if (yych <= 'Z') goto yy165; + if (yych <= '`') goto yy3; +- if (yych <= 'a') goto yy1461; ++ if (yych <= 'a') goto yy1463; + goto yy165; + } else { + if (yych <= 'n') { +- if (yych <= 'i') goto yy1462; ++ if (yych <= 'i') goto yy1464; + goto yy165; + } else { +- if (yych <= 'o') goto yy1463; ++ if (yych <= 'o') goto yy1465; + if (yych <= 'z') goto yy165; + goto yy3; + } +@@ -1146,15 +1151,15 @@ yy9: + switch (yych) { + case ')': goto yy164; + case '0': +- case '1': goto yy1391; +- case '2': goto yy1392; ++ case '1': goto yy1393; ++ case '2': goto yy1394; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': +- case '9': goto yy1393; ++ case '9': goto yy1395; + case 'A': + case 'B': + case 'C': +@@ -1176,11 +1181,11 @@ yy9: + case 'X': + case 'Y': + case 'Z': goto yy165; +- case 'E': goto yy1386; +- case 'H': goto yy1387; +- case 'O': goto yy1388; +- case 'U': goto yy1389; +- case 'W': goto yy1390; ++ case 'E': goto yy1388; ++ case 'H': goto yy1389; ++ case 'O': goto yy1390; ++ case 'U': goto yy1391; ++ case 'W': goto yy1392; + case 'a': + case 'b': + case 'c': +@@ -1202,11 +1207,11 @@ yy9: + case 'x': + case 'y': + case 'z': goto yy170; +- case 'e': goto yy1429; +- case 'h': goto yy1430; +- case 'o': goto yy1431; +- case 'u': goto yy1432; +- case 'w': goto yy1433; ++ case 'e': goto yy1431; ++ case 'h': goto yy1432; ++ case 'o': goto yy1433; ++ case 'u': goto yy1434; ++ case 'w': goto yy1435; + default: goto yy3; + } + yy10: +@@ -1215,15 +1220,15 @@ yy10: + switch (yych) { + case ')': goto yy164; + case '0': +- case '1': goto yy1391; +- case '2': goto yy1392; ++ case '1': goto yy1393; ++ case '2': goto yy1394; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': +- case '9': goto yy1393; ++ case '9': goto yy1395; + case 'A': + case 'B': + case 'C': +@@ -1267,28 +1272,30 @@ yy10: + case 'y': + case 'z': goto yy165; + case 'E': +- case 'e': goto yy1386; ++ case 'e': goto yy1388; + case 'H': +- case 'h': goto yy1387; ++ case 'h': goto yy1389; + case 'O': +- case 'o': goto yy1388; ++ case 'o': goto yy1390; + case 'U': +- case 'u': goto yy1389; ++ case 'u': goto yy1391; + case 'W': +- case 'w': goto yy1390; ++ case 'w': goto yy1392; + default: goto yy3; + } + yy11: + yyaccept = 1; + yych = *(YYMARKER = ++YYCURSOR); +- if (yych == '-') goto yy1374; ++ if (yych == '-') goto yy1376; + if (yych <= '/') goto yy12; +- if (yych <= '9') goto yy1375; ++ if (yych <= '9') goto yy1377; + yy12: ++#line 1768 "ext/date/lib/parse_date.re" + { + add_error(s, "Unexpected character"); + goto std; + } ++#line 1299 "ext/date/lib/parse_date.c" + yy13: + yych = *++YYCURSOR; + if (yych <= 'R') { +@@ -1299,16 +1306,16 @@ yy13: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy165; +- goto yy1310; ++ goto yy1311; + } + } else { + if (yych <= 'N') { +- if (yych == 'I') goto yy1311; ++ if (yych == 'I') goto yy1312; + goto yy165; + } else { +- if (yych <= 'O') goto yy1312; ++ if (yych <= 'O') goto yy1313; + if (yych <= 'Q') goto yy165; +- goto yy1313; ++ goto yy1314; + } + } + } else { +@@ -1318,16 +1325,16 @@ yy13: + if (yych <= '`') goto yy3; + goto yy170; + } else { +- if (yych <= 'e') goto yy1351; ++ if (yych <= 'e') goto yy1353; + if (yych <= 'h') goto yy170; +- goto yy1352; ++ goto yy1354; + } + } else { + if (yych <= 'q') { +- if (yych == 'o') goto yy1353; ++ if (yych == 'o') goto yy1355; + goto yy170; + } else { +- if (yych <= 'r') goto yy1354; ++ if (yych <= 'r') goto yy1356; + if (yych <= 'z') goto yy170; + goto yy3; + } +@@ -1343,16 +1350,16 @@ yy14: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy165; +- goto yy1310; ++ goto yy1311; + } + } else { + if (yych <= 'N') { +- if (yych == 'I') goto yy1311; ++ if (yych == 'I') goto yy1312; + goto yy165; + } else { +- if (yych <= 'O') goto yy1312; ++ if (yych <= 'O') goto yy1313; + if (yych <= 'Q') goto yy165; +- goto yy1313; ++ goto yy1314; + } + } + } else { +@@ -1362,16 +1369,16 @@ yy14: + if (yych <= '`') goto yy3; + goto yy165; + } else { +- if (yych <= 'e') goto yy1310; ++ if (yych <= 'e') goto yy1311; + if (yych <= 'h') goto yy165; +- goto yy1311; ++ goto yy1312; + } + } else { + if (yych <= 'q') { +- if (yych == 'o') goto yy1312; ++ if (yych == 'o') goto yy1313; + goto yy165; + } else { +- if (yych <= 'r') goto yy1313; ++ if (yych <= 'r') goto yy1314; + if (yych <= 'z') goto yy165; + goto yy3; + } +@@ -1382,13 +1389,13 @@ yy15: + if (yych <= 'A') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; +- goto yy1296; ++ goto yy1297; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy165; + goto yy3; + } else { +- if (yych <= 'a') goto yy1307; ++ if (yych <= 'a') goto yy1308; + if (yych <= 'z') goto yy170; + goto yy3; + } +@@ -1398,13 +1405,13 @@ yy16: + if (yych <= 'A') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; +- goto yy1296; ++ goto yy1297; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy165; + goto yy3; + } else { +- if (yych <= 'a') goto yy1296; ++ if (yych <= 'a') goto yy1297; + if (yych <= 'z') goto yy165; + goto yy3; + } +@@ -1420,7 +1427,7 @@ yy17: + if (yych <= 'Z') goto yy165; + goto yy3; + } else { +- if (yych <= 'a') goto yy1293; ++ if (yych <= 'a') goto yy1294; + if (yych <= 'z') goto yy170; + goto yy3; + } +@@ -2495,18 +2502,22 @@ yy48: + if (yych <= '/') goto yy49; + if (yych <= '9') goto yy54; + yy49: ++#line 1757 "ext/date/lib/parse_date.re" + { + goto std; + } ++#line 2510 "ext/date/lib/parse_date.c" + yy50: + yych = *++YYCURSOR; + goto yy49; + yy51: + ++YYCURSOR; ++#line 1762 "ext/date/lib/parse_date.re" + { + s->pos = cursor; s->line++; + goto std; + } ++#line 2521 "ext/date/lib/parse_date.c" + yy53: + yych = *++YYCURSOR; + goto yy12; +@@ -2693,23 +2704,23 @@ yy56: + } + } else { + if (yyaccept == 28) { +- goto yy1377; ++ goto yy1379; + } else { +- goto yy1415; ++ goto yy1417; + } + } + } else { + if (yyaccept <= 31) { + if (yyaccept == 30) { +- goto yy1418; ++ goto yy1420; + } else { +- goto yy1498; ++ goto yy1500; + } + } else { + if (yyaccept == 32) { +- goto yy1506; ++ goto yy1508; + } else { +- goto yy1529; ++ goto yy1531; + } + } + } +@@ -2920,6 +2931,7 @@ yy73: + if (yych == 'S') goto yy75; + if (yych == 's') goto yy75; + yy74: ++#line 1741 "ext/date/lib/parse_date.re" + { + timelib_ull i; + DEBUG_OUTPUT("relative"); +@@ -2934,6 +2946,7 @@ yy74: + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } ++#line 2950 "ext/date/lib/parse_date.c" + yy75: + yych = *++YYCURSOR; + if (yych == 'D') goto yy76; +@@ -3719,6 +3732,7 @@ yy190: + } + } + yy191: ++#line 1604 "ext/date/lib/parse_date.re" + { + const timelib_relunit* relunit; + DEBUG_OUTPUT("daytext"); +@@ -3735,6 +3749,7 @@ yy191: + TIMELIB_DEINIT; + return TIMELIB_WEEKDAY; + } ++#line 3753 "ext/date/lib/parse_date.c" + yy192: + yych = *++YYCURSOR; + if (yych <= 'K') { +@@ -4227,6 +4242,7 @@ yy217: + } + } + yy218: ++#line 1663 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("monthtext"); + TIMELIB_INIT; +@@ -4235,6 +4251,7 @@ yy218: + TIMELIB_DEINIT; + return TIMELIB_DATE_TEXT; + } ++#line 4255 "ext/date/lib/parse_date.c" + yy219: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 23) YYFILL(23); +@@ -4469,6 +4486,7 @@ yy231: + if (yych == 't') goto yy319; + goto yy237; + yy232: ++#line 1409 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("datetextual | datenoyear"); +@@ -4481,6 +4499,7 @@ yy232: + TIMELIB_DEINIT; + return TIMELIB_DATE_TEXT; + } ++#line 4503 "ext/date/lib/parse_date.c" + yy233: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); +@@ -4593,6 +4612,7 @@ yy245: + if (yych <= ':') goto yy248; + } + yy246: ++#line 1711 "ext/date/lib/parse_date.re" + { + int tz_not_found; + DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz"); +@@ -4621,6 +4641,7 @@ yy246: + TIMELIB_DEINIT; + return TIMELIB_SHORTDATE_WITH_TIME; + } ++#line 4645 "ext/date/lib/parse_date.c" + yy247: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); +@@ -4893,6 +4914,7 @@ yy269: + } + yy270: + ++YYCURSOR; ++#line 1687 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12"); + TIMELIB_INIT; +@@ -4915,6 +4937,7 @@ yy270: + TIMELIB_DEINIT; + return TIMELIB_SHORTDATE_WITH_TIME; + } ++#line 4941 "ext/date/lib/parse_date.c" + yy272: + yych = *++YYCURSOR; + if (yych <= 0x1F) { +@@ -5470,6 +5493,7 @@ yy320: + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + ++YYCURSOR; ++#line 1381 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("datenoday"); +@@ -5482,6 +5506,7 @@ yy320: + TIMELIB_DEINIT; + return TIMELIB_DATE_NO_DAY; + } ++#line 5510 "ext/date/lib/parse_date.c" + yy323: + yych = *++YYCURSOR; + if (yych <= '9') { +@@ -5704,6 +5729,7 @@ yy327: + if ((yych = *YYCURSOR) <= '/') goto yy330; + if (yych <= '9') goto yy331; + yy330: ++#line 1525 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("pgtextshort"); +@@ -5716,6 +5742,7 @@ yy330: + TIMELIB_DEINIT; + return TIMELIB_PG_TEXT; + } ++#line 5746 "ext/date/lib/parse_date.c" + yy331: + yych = *++YYCURSOR; + if (yych <= '/') goto yy330; +@@ -6270,6 +6297,7 @@ yy356: + if (yych <= 'z') goto yy167; + } + yy357: ++#line 1583 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("ago"); + TIMELIB_INIT; +@@ -6289,6 +6317,7 @@ yy357: + TIMELIB_DEINIT; + return TIMELIB_AGO; + } ++#line 6321 "ext/date/lib/parse_date.c" + yy358: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); +@@ -8009,6 +8038,7 @@ yy417: + yy418: + ++YYCURSOR; + yy419: ++#line 1286 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash"); + TIMELIB_INIT; +@@ -8019,6 +8049,7 @@ yy419: + TIMELIB_DEINIT; + return TIMELIB_ISO_DATE; + } ++#line 8053 "ext/date/lib/parse_date.c" + yy420: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); +@@ -8641,6 +8672,7 @@ yy439: + } + } + yy440: ++#line 1423 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("datenoyearrev"); + TIMELIB_INIT; +@@ -8651,6 +8683,7 @@ yy440: + TIMELIB_DEINIT; + return TIMELIB_DATE_TEXT; + } ++#line 8687 "ext/date/lib/parse_date.c" + yy441: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); +@@ -8778,6 +8811,7 @@ yy450: + } + yy452: + ++YYCURSOR; ++#line 1141 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12"); + TIMELIB_INIT; +@@ -8793,6 +8827,7 @@ yy452: + TIMELIB_DEINIT; + return TIMELIB_TIME12; + } ++#line 8831 "ext/date/lib/parse_date.c" + yy454: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); +@@ -8803,6 +8838,7 @@ yy454: + if (yych <= ':') goto yy457; + } + yy455: ++#line 1178 "ext/date/lib/parse_date.re" + { + int tz_not_found; + DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long"); +@@ -8827,6 +8863,7 @@ yy455: + TIMELIB_DEINIT; + return TIMELIB_TIME24_WITH_ZONE; + } ++#line 8867 "ext/date/lib/parse_date.c" + yy456: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); +@@ -9103,6 +9140,7 @@ yy485: + } + yy487: + ++YYCURSOR; ++#line 1158 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("mssqltime"); + TIMELIB_INIT; +@@ -9121,6 +9159,7 @@ yy487: + TIMELIB_DEINIT; + return TIMELIB_TIME24_WITH_ZONE; + } ++#line 9163 "ext/date/lib/parse_date.c" + yy489: + yyaccept = 10; + YYMARKER = ++YYCURSOR; +@@ -9215,6 +9254,7 @@ yy498: + if ((yych = *YYCURSOR) <= '/') goto yy499; + if (yych <= '9') goto yy505; + yy499: ++#line 1340 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("datefull"); +@@ -9228,6 +9268,7 @@ yy499: + TIMELIB_DEINIT; + return TIMELIB_DATE_FULL; + } ++#line 9272 "ext/date/lib/parse_date.c" + yy500: + yych = *++YYCURSOR; + if (yych == 'M') goto yy501; +@@ -9891,6 +9932,7 @@ yy569: + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + ++YYCURSOR; ++#line 1355 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("pointed date YYYY"); + TIMELIB_INIT; +@@ -9901,6 +9943,7 @@ yy569: + TIMELIB_DEINIT; + return TIMELIB_DATE_FULL_POINTED; + } ++#line 9947 "ext/date/lib/parse_date.c" + yy572: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); +@@ -9931,6 +9974,7 @@ yy575: + if (yych <= '/') goto yy576; + if (yych <= '9') goto yy569; + yy576: ++#line 1367 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("pointed date YY"); +@@ -9943,6 +9987,7 @@ yy576: + TIMELIB_DEINIT; + return TIMELIB_DATE_FULL_POINTED; + } ++#line 9991 "ext/date/lib/parse_date.c" + yy577: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); +@@ -10538,6 +10583,7 @@ yy620: + } + } + yy621: ++#line 1326 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("gnudateshort"); +@@ -10550,6 +10596,7 @@ yy621: + TIMELIB_DEINIT; + return TIMELIB_ISO_DATE; + } ++#line 10600 "ext/date/lib/parse_date.c" + yy622: + yyaccept = 12; + yych = *(YYMARKER = ++YYCURSOR); +@@ -10645,6 +10692,7 @@ yy630: + } + } + yy631: ++#line 1270 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("americanshort | american"); +@@ -10659,6 +10707,7 @@ yy631: + TIMELIB_DEINIT; + return TIMELIB_AMERICAN; + } ++#line 10711 "ext/date/lib/parse_date.c" + yy632: + yyaccept = 13; + yych = *(YYMARKER = ++YYCURSOR); +@@ -10857,6 +10906,7 @@ yy664: + if (yych <= '9') goto yy667; + if (yych <= ':') goto yy668; + yy665: ++#line 1553 "ext/date/lib/parse_date.re" + { + int tz_not_found; + DEBUG_OUTPUT("clf"); +@@ -10876,6 +10926,7 @@ yy665: + TIMELIB_DEINIT; + return TIMELIB_CLF; + } ++#line 10930 "ext/date/lib/parse_date.c" + yy666: + yych = *++YYCURSOR; + if (yych <= '5') { +@@ -11362,6 +11413,7 @@ yy727: + if (yych <= 't') goto yy627; + } + yy728: ++#line 1298 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("iso8601date2"); +@@ -11374,6 +11426,7 @@ yy728: + TIMELIB_DEINIT; + return TIMELIB_ISO_DATE; + } ++#line 11430 "ext/date/lib/parse_date.c" + yy729: + yych = *++YYCURSOR; + if (yych == 'C') goto yy730; +@@ -11404,6 +11457,7 @@ yy734: + if (yych >= '2') goto yy56; + yy735: + ++YYCURSOR; ++#line 1539 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("pgtextreverse"); +@@ -11416,6 +11470,7 @@ yy735: + TIMELIB_DEINIT; + return TIMELIB_PG_TEXT; + } ++#line 11474 "ext/date/lib/parse_date.c" + yy737: + yych = *++YYCURSOR; + if (yych == 'V') goto yy730; +@@ -11568,6 +11623,7 @@ yy747: + } + } + yy748: ++#line 1574 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("year4"); + TIMELIB_INIT; +@@ -11575,6 +11631,7 @@ yy748: + TIMELIB_DEINIT; + return TIMELIB_CLF; + } ++#line 11635 "ext/date/lib/parse_date.c" + yy749: + yych = *++YYCURSOR; + switch (yych) { +@@ -11769,6 +11826,7 @@ yy757: + if (yych <= 'X') goto yy848; + } + yy758: ++#line 1395 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("datenodayrev"); +@@ -11781,6 +11839,7 @@ yy758: + TIMELIB_DEINIT; + return TIMELIB_DATE_NO_DAY; + } ++#line 11843 "ext/date/lib/parse_date.c" + yy759: + yych = *++YYCURSOR; + if (yych == 'I') goto yy892; +@@ -11980,6 +12039,7 @@ yy778: + if (yych <= '/') goto yy779; + if (yych <= '7') goto yy781; + yy779: ++#line 1506 "ext/date/lib/parse_date.re" + { + timelib_sll w, d; + DEBUG_OUTPUT("isoweek"); +@@ -11997,12 +12057,14 @@ yy779: + TIMELIB_DEINIT; + return TIMELIB_ISO_WEEK; + } ++#line 12061 "ext/date/lib/parse_date.c" + yy780: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= '8') goto yy56; + yy781: + ++YYCURSOR; ++#line 1487 "ext/date/lib/parse_date.re" + { + timelib_sll w, d; + DEBUG_OUTPUT("isoweekday"); +@@ -12020,6 +12082,7 @@ yy781: + TIMELIB_DEINIT; + return TIMELIB_ISO_WEEK; + } ++#line 12086 "ext/date/lib/parse_date.c" + yy783: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; +@@ -12085,6 +12148,7 @@ yy785: + } + } + yy786: ++#line 1473 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("pgydotd"); +@@ -12097,6 +12161,7 @@ yy786: + TIMELIB_DEINIT; + return TIMELIB_PG_YEARDAY; + } ++#line 12165 "ext/date/lib/parse_date.c" + yy787: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; +@@ -12178,6 +12243,7 @@ yy805: + yy806: + ++YYCURSOR; + yy807: ++#line 1447 "ext/date/lib/parse_date.re" + { + int tz_not_found; + DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif"); +@@ -12202,6 +12268,7 @@ yy807: + TIMELIB_DEINIT; + return TIMELIB_XMLRPC_SOAP; + } ++#line 12272 "ext/date/lib/parse_date.c" + yy808: + yych = *++YYCURSOR; + if (yych <= '2') { +@@ -12490,6 +12557,7 @@ yy812: + } + } + yy813: ++#line 1435 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("datenocolon"); + TIMELIB_INIT; +@@ -12500,6 +12568,7 @@ yy813: + TIMELIB_DEINIT; + return TIMELIB_DATE_NOCOLON; + } ++#line 12572 "ext/date/lib/parse_date.c" + yy814: + yych = *++YYCURSOR; + if (yych <= 'H') { +@@ -13293,6 +13362,7 @@ yy937: + if (yych <= '/') goto yy938; + if (yych <= '9') goto yy960; + yy938: ++#line 1312 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("gnudateshorter"); +@@ -13305,6 +13375,7 @@ yy938: + TIMELIB_DEINIT; + return TIMELIB_ISO_DATE; + } ++#line 13379 "ext/date/lib/parse_date.c" + yy939: + yyaccept = 21; + yych = *(YYMARKER = ++YYCURSOR); +@@ -14303,6 +14374,7 @@ yy1030: + } + } + yy1032: ++#line 1204 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("gnunocolon"); + TIMELIB_INIT; +@@ -14324,6 +14396,7 @@ yy1032: + TIMELIB_DEINIT; + return TIMELIB_GNU_NOCOLON; + } ++#line 14400 "ext/date/lib/parse_date.c" + yy1033: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; +@@ -14413,6 +14486,7 @@ yy1039: + } + } + yy1040: ++#line 1250 "ext/date/lib/parse_date.re" + { + int tz_not_found; + DEBUG_OUTPUT("iso8601nocolon"); +@@ -14431,6 +14505,7 @@ yy1040: + TIMELIB_DEINIT; + return TIMELIB_ISO_NOCOLON; + } ++#line 14509 "ext/date/lib/parse_date.c" + yy1041: + yyaccept = 24; + yych = *(YYMARKER = ++YYCURSOR); +@@ -15362,6 +15437,7 @@ yy1083: + } + } + yy1084: ++#line 1646 "ext/date/lib/parse_date.re" + { + timelib_sll i; + int behavior = 0; +@@ -15377,6 +15453,7 @@ yy1084: + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } ++#line 15457 "ext/date/lib/parse_date.c" + yy1085: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); +@@ -15418,6 +15495,7 @@ yy1091: + if (yych != 'f') goto yy56; + yy1092: + ++YYCURSOR; ++#line 1119 "ext/date/lib/parse_date.re" + { + timelib_sll i; + int behavior = 0; +@@ -15438,6 +15516,7 @@ yy1092: + TIMELIB_DEINIT; + return TIMELIB_WEEK_DAY_OF_MONTH; + } ++#line 15520 "ext/date/lib/parse_date.c" + yy1094: + yyaccept = 25; + yych = *(YYMARKER = ++YYCURSOR); +@@ -15530,6 +15609,7 @@ yy1107: + } + } + yy1108: ++#line 1622 "ext/date/lib/parse_date.re" + { + timelib_sll i; + int behavior = 0; +@@ -15552,6 +15632,7 @@ yy1108: + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } ++#line 15636 "ext/date/lib/parse_date.c" + yy1109: + yych = *++YYCURSOR; + goto yy1084; +@@ -18206,10 +18287,25 @@ yy1281: + yy1283: + yyaccept = 27; + yych = *(YYMARKER = ++YYCURSOR); +- if (yych <= '/') goto yy1287; +- if (yych <= '9') goto yy1286; +- goto yy1287; ++ if (yych <= '@') { ++ if (yych <= 0x1F) { ++ if (yych == '\t') goto yy1287; ++ } else { ++ if (yych <= ' ') goto yy1287; ++ if (yych <= '/') goto yy1284; ++ if (yych <= '9') goto yy1286; ++ } ++ } else { ++ if (yych <= '`') { ++ if (yych <= 'A') goto yy1289; ++ if (yych == 'P') goto yy1289; ++ } else { ++ if (yych <= 'a') goto yy1289; ++ if (yych == 'p') goto yy1289; ++ } ++ } + yy1284: ++#line 1096 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("backof | frontof"); + TIMELIB_INIT; +@@ -18231,66 +18327,104 @@ yy1284: + TIMELIB_DEINIT; + return TIMELIB_LF_DAY_OF_MONTH; + } ++#line 18331 "ext/date/lib/parse_date.c" + yy1285: + yyaccept = 27; + yych = *(YYMARKER = ++YYCURSOR); +- if (yych <= '/') goto yy1287; +- if (yych >= '5') goto yy1287; ++ if (yych <= '@') { ++ if (yych <= 0x1F) { ++ if (yych == '\t') goto yy1287; ++ goto yy1284; ++ } else { ++ if (yych <= ' ') goto yy1287; ++ if (yych <= '/') goto yy1284; ++ if (yych >= '5') goto yy1284; ++ } ++ } else { ++ if (yych <= '`') { ++ if (yych <= 'A') goto yy1289; ++ if (yych == 'P') goto yy1289; ++ goto yy1284; ++ } else { ++ if (yych <= 'a') goto yy1289; ++ if (yych == 'p') goto yy1289; ++ goto yy1284; ++ } ++ } + yy1286: + yyaccept = 27; +- YYMARKER = ++YYCURSOR; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= 'A') { ++ if (yych <= 0x1F) { ++ if (yych != '\t') goto yy1284; ++ } else { ++ if (yych <= ' ') goto yy1287; ++ if (yych <= '@') goto yy1284; ++ goto yy1289; ++ } ++ } else { ++ if (yych <= '`') { ++ if (yych == 'P') goto yy1289; ++ goto yy1284; ++ } else { ++ if (yych <= 'a') goto yy1289; ++ if (yych == 'p') goto yy1289; ++ goto yy1284; ++ } ++ } ++yy1287: ++ ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); + yych = *YYCURSOR; +-yy1287: + if (yych <= 'A') { + if (yych <= 0x1F) { +- if (yych == '\t') goto yy1286; +- goto yy1284; ++ if (yych == '\t') goto yy1287; ++ goto yy56; + } else { +- if (yych <= ' ') goto yy1286; +- if (yych <= '@') goto yy1284; ++ if (yych <= ' ') goto yy1287; ++ if (yych <= '@') goto yy56; + } + } else { + if (yych <= '`') { +- if (yych != 'P') goto yy1284; ++ if (yych != 'P') goto yy56; + } else { +- if (yych <= 'a') goto yy1288; +- if (yych != 'p') goto yy1284; ++ if (yych <= 'a') goto yy1289; ++ if (yych != 'p') goto yy56; + } + } +-yy1288: ++yy1289: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych != '.') goto yy56; + } else { +- if (yych <= 'M') goto yy1290; +- if (yych == 'm') goto yy1290; ++ if (yych <= 'M') goto yy1291; ++ if (yych == 'm') goto yy1291; + goto yy56; + } + yych = *++YYCURSOR; +- if (yych == 'M') goto yy1290; ++ if (yych == 'M') goto yy1291; + if (yych != 'm') goto yy56; +-yy1290: ++yy1291: + yych = *++YYCURSOR; + if (yych <= 0x1F) { +- if (yych <= 0x00) goto yy1292; +- if (yych == '\t') goto yy1292; ++ if (yych <= 0x00) goto yy1293; ++ if (yych == '\t') goto yy1293; + goto yy56; + } else { +- if (yych <= ' ') goto yy1292; ++ if (yych <= ' ') goto yy1293; + if (yych != '.') goto yy56; + } + yych = *++YYCURSOR; + if (yych <= '\t') { +- if (yych <= 0x00) goto yy1292; ++ if (yych <= 0x00) goto yy1293; + if (yych <= 0x08) goto yy56; + } else { + if (yych != ' ') goto yy56; + } +-yy1292: ++yy1293: + yych = *++YYCURSOR; + goto yy1284; +-yy1293: ++yy1294: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'B') { +@@ -18314,13 +18448,13 @@ yy1293: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 'c') goto yy1294; ++ if (yych <= 'c') goto yy1295; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1294: ++yy1295: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'J') { +@@ -18344,13 +18478,13 @@ yy1294: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 'k') goto yy1295; ++ if (yych <= 'k') goto yy1296; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1295: ++yy1296: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { +@@ -18375,7 +18509,7 @@ yy1295: + goto yy3; + } + } +-yy1296: ++yy1297: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= ')') { +@@ -18391,12 +18525,12 @@ yy1296: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 's') goto yy1297; ++ if (yych <= 's') goto yy1298; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1297: ++yy1298: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { +@@ -18412,12 +18546,12 @@ yy1297: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 't') goto yy1298; ++ if (yych <= 't') goto yy1299; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1298: ++yy1299: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '(') { +@@ -18438,19 +18572,19 @@ yy1298: + goto yy3; + } + } +-yy1299: ++yy1300: + yych = *++YYCURSOR; +- if (yych == 'D') goto yy1300; ++ if (yych == 'D') goto yy1301; + if (yych != 'd') goto yy1070; +-yy1300: ++yy1301: + yych = *++YYCURSOR; +- if (yych == 'A') goto yy1301; ++ if (yych == 'A') goto yy1302; + if (yych != 'a') goto yy56; +-yy1301: ++yy1302: + yych = *++YYCURSOR; +- if (yych == 'Y') goto yy1302; ++ if (yych == 'Y') goto yy1303; + if (yych != 'y') goto yy56; +-yy1302: ++yy1303: + yyaccept = 25; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { +@@ -18461,14 +18595,15 @@ yy1302: + goto yy1084; + } + yych = *++YYCURSOR; +- if (yych == 'O') goto yy1304; ++ if (yych == 'O') goto yy1305; + if (yych != 'o') goto yy56; +-yy1304: ++yy1305: + yych = *++YYCURSOR; +- if (yych == 'F') goto yy1305; ++ if (yych == 'F') goto yy1306; + if (yych != 'f') goto yy56; +-yy1305: ++yy1306: + ++YYCURSOR; ++#line 1079 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("firstdayof | lastdayof"); + TIMELIB_INIT; +@@ -18484,7 +18619,8 @@ yy1305: + TIMELIB_DEINIT; + return TIMELIB_LF_DAY_OF_MONTH; + } +-yy1307: ++#line 18623 "ext/date/lib/parse_date.c" ++yy1308: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { +@@ -18499,7 +18635,7 @@ yy1307: + } + } else { + if (yych <= '_') { +- if (yych <= 'S') goto yy1297; ++ if (yych <= 'S') goto yy1298; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -18508,13 +18644,13 @@ yy1307: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 's') goto yy1308; ++ if (yych <= 's') goto yy1309; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1308: ++yy1309: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { +@@ -18529,7 +18665,7 @@ yy1308: + } + } else { + if (yych <= '_') { +- if (yych <= 'T') goto yy1298; ++ if (yych <= 'T') goto yy1299; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -18538,20 +18674,20 @@ yy1308: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 't') goto yy1309; ++ if (yych <= 't') goto yy1310; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1309: ++yy1310: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '-') { + if (yych <= ' ') { + if (yych == '\t') goto yy1069; + if (yych <= 0x1F) goto yy3; +- goto yy1299; ++ goto yy1300; + } else { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; +@@ -18573,7 +18709,7 @@ yy1309: + } + } + } +-yy1310: ++yy1311: + yych = *++YYCURSOR; + if (yych <= 'B') { + if (yych <= ')') { +@@ -18582,7 +18718,7 @@ yy1310: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'A') goto yy166; +- goto yy1346; ++ goto yy1348; + } + } else { + if (yych <= 'a') { +@@ -18590,35 +18726,35 @@ yy1310: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 'b') goto yy1346; ++ if (yych <= 'b') goto yy1348; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1311: ++yy1312: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych == 'F') goto yy1336; ++ if (yych == 'F') goto yy1338; + if (yych <= 'Q') goto yy166; +- goto yy1335; ++ goto yy1337; + } + } else { + if (yych <= 'f') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + if (yych <= 'e') goto yy166; +- goto yy1336; ++ goto yy1338; + } else { +- if (yych == 'r') goto yy1335; ++ if (yych == 'r') goto yy1337; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1312: ++yy1313: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= ')') { +@@ -18627,7 +18763,7 @@ yy1312: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'T') goto yy166; +- goto yy1332; ++ goto yy1334; + } + } else { + if (yych <= 't') { +@@ -18635,19 +18771,19 @@ yy1312: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 'u') goto yy1332; ++ if (yych <= 'u') goto yy1334; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1313: ++yy1314: + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych == 'I') goto yy1315; ++ if (yych == 'I') goto yy1316; + if (yych <= 'N') goto yy166; + } + } else { +@@ -18655,14 +18791,14 @@ yy1313: + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + if (yych <= 'h') goto yy166; +- goto yy1315; ++ goto yy1316; + } else { +- if (yych == 'o') goto yy1314; ++ if (yych == 'o') goto yy1315; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1314: ++yy1315: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { +@@ -18671,7 +18807,7 @@ yy1314: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy167; +- goto yy1318; ++ goto yy1319; + } + } else { + if (yych <= 'm') { +@@ -18679,12 +18815,12 @@ yy1314: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 'n') goto yy1318; ++ if (yych <= 'n') goto yy1319; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1315: ++yy1316: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { +@@ -18700,12 +18836,12 @@ yy1315: + if (yych <= '`') goto yy191; + goto yy167; + } else { +- if (yych <= 'd') goto yy1316; ++ if (yych <= 'd') goto yy1317; + if (yych <= 'z') goto yy167; + goto yy191; + } + } +-yy1316: ++yy1317: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy164; +@@ -18715,12 +18851,12 @@ yy1316: + if (yych <= 'Z') goto yy168; + goto yy3; + } else { +- if (yych <= 'a') goto yy1317; ++ if (yych <= 'a') goto yy1318; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1317: ++yy1318: + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych <= ')') { +@@ -18742,7 +18878,7 @@ yy1317: + goto yy3; + } + } +-yy1318: ++yy1319: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { +@@ -18758,16 +18894,16 @@ yy1318: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 't') goto yy1319; ++ if (yych <= 't') goto yy1320; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1319: ++yy1320: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ')') { +- if (yych == ' ') goto yy1320; ++ if (yych == ' ') goto yy1321; + if (yych <= '(') goto yy3; + goto yy164; + } else { +@@ -18780,88 +18916,143 @@ yy1319: + goto yy3; + } + } +-yy1320: ++yy1321: + yych = *++YYCURSOR; +- if (yych == 'O') goto yy1321; ++ if (yych == 'O') goto yy1322; + if (yych != 'o') goto yy56; +-yy1321: ++yy1322: + yych = *++YYCURSOR; +- if (yych == 'F') goto yy1322; ++ if (yych == 'F') goto yy1323; + if (yych != 'f') goto yy56; +-yy1322: ++yy1323: + yych = *++YYCURSOR; + if (yych != ' ') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; +- if (yych <= '1') goto yy1324; +- if (yych <= '2') goto yy1325; +- if (yych <= '9') goto yy1326; ++ if (yych <= '1') goto yy1325; ++ if (yych <= '2') goto yy1326; ++ if (yych <= '9') goto yy1327; + goto yy56; +-yy1324: +- yyaccept = 27; +- yych = *(YYMARKER = ++YYCURSOR); +- if (yych <= '/') goto yy1327; +- if (yych <= '9') goto yy1326; +- goto yy1327; + yy1325: + yyaccept = 27; + yych = *(YYMARKER = ++YYCURSOR); +- if (yych <= '/') goto yy1327; +- if (yych >= '5') goto yy1327; ++ if (yych <= '@') { ++ if (yych <= 0x1F) { ++ if (yych == '\t') goto yy1328; ++ goto yy1284; ++ } else { ++ if (yych <= ' ') goto yy1328; ++ if (yych <= '/') goto yy1284; ++ if (yych <= '9') goto yy1327; ++ goto yy1284; ++ } ++ } else { ++ if (yych <= '`') { ++ if (yych <= 'A') goto yy1330; ++ if (yych == 'P') goto yy1330; ++ goto yy1284; ++ } else { ++ if (yych <= 'a') goto yy1330; ++ if (yych == 'p') goto yy1330; ++ goto yy1284; ++ } ++ } + yy1326: + yyaccept = 27; +- YYMARKER = ++YYCURSOR; +- if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); +- yych = *YYCURSOR; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= '@') { ++ if (yych <= 0x1F) { ++ if (yych == '\t') goto yy1328; ++ goto yy1284; ++ } else { ++ if (yych <= ' ') goto yy1328; ++ if (yych <= '/') goto yy1284; ++ if (yych >= '5') goto yy1284; ++ } ++ } else { ++ if (yych <= '`') { ++ if (yych <= 'A') goto yy1330; ++ if (yych == 'P') goto yy1330; ++ goto yy1284; ++ } else { ++ if (yych <= 'a') goto yy1330; ++ if (yych == 'p') goto yy1330; ++ goto yy1284; ++ } ++ } + yy1327: ++ yyaccept = 27; ++ yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'A') { + if (yych <= 0x1F) { +- if (yych == '\t') goto yy1326; +- goto yy1284; ++ if (yych != '\t') goto yy1284; + } else { +- if (yych <= ' ') goto yy1326; ++ if (yych <= ' ') goto yy1328; + if (yych <= '@') goto yy1284; ++ goto yy1330; + } + } else { + if (yych <= '`') { +- if (yych != 'P') goto yy1284; ++ if (yych == 'P') goto yy1330; ++ goto yy1284; + } else { +- if (yych <= 'a') goto yy1328; +- if (yych != 'p') goto yy1284; ++ if (yych <= 'a') goto yy1330; ++ if (yych == 'p') goto yy1330; ++ goto yy1284; + } + } + yy1328: ++ ++YYCURSOR; ++ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); ++ yych = *YYCURSOR; ++ if (yych <= 'A') { ++ if (yych <= 0x1F) { ++ if (yych == '\t') goto yy1328; ++ goto yy56; ++ } else { ++ if (yych <= ' ') goto yy1328; ++ if (yych <= '@') goto yy56; ++ } ++ } else { ++ if (yych <= '`') { ++ if (yych != 'P') goto yy56; ++ } else { ++ if (yych <= 'a') goto yy1330; ++ if (yych != 'p') goto yy56; ++ } ++ } ++yy1330: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych != '.') goto yy56; + } else { +- if (yych <= 'M') goto yy1330; +- if (yych == 'm') goto yy1330; ++ if (yych <= 'M') goto yy1332; ++ if (yych == 'm') goto yy1332; + goto yy56; + } + yych = *++YYCURSOR; +- if (yych == 'M') goto yy1330; ++ if (yych == 'M') goto yy1332; + if (yych != 'm') goto yy56; +-yy1330: ++yy1332: + yych = *++YYCURSOR; + if (yych <= 0x1F) { +- if (yych <= 0x00) goto yy1292; +- if (yych == '\t') goto yy1292; ++ if (yych <= 0x00) goto yy1293; ++ if (yych == '\t') goto yy1293; + goto yy56; + } else { +- if (yych <= ' ') goto yy1292; ++ if (yych <= ' ') goto yy1293; + if (yych != '.') goto yy56; + } + yych = *++YYCURSOR; + if (yych <= '\t') { +- if (yych <= 0x00) goto yy1292; ++ if (yych <= 0x00) goto yy1293; + if (yych <= 0x08) goto yy56; +- goto yy1292; ++ goto yy1293; + } else { +- if (yych == ' ') goto yy1292; ++ if (yych == ' ') goto yy1293; + goto yy56; + } +-yy1332: ++yy1334: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { +@@ -18877,12 +19068,12 @@ yy1332: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 'r') goto yy1333; ++ if (yych <= 'r') goto yy1335; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1333: ++yy1335: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { +@@ -18898,12 +19089,12 @@ yy1333: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 't') goto yy1334; ++ if (yych <= 't') goto yy1336; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1334: ++yy1336: + yych = *++YYCURSOR; + if (yych <= 'H') { + if (yych <= ')') { +@@ -18925,7 +19116,7 @@ yy1334: + goto yy3; + } + } +-yy1335: ++yy1337: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= ')') { +@@ -18934,7 +19125,7 @@ yy1335: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'R') goto yy167; +- goto yy1338; ++ goto yy1340; + } + } else { + if (yych <= 'r') { +@@ -18942,12 +19133,12 @@ yy1335: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 's') goto yy1338; ++ if (yych <= 's') goto yy1340; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1336: ++yy1338: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { +@@ -18963,12 +19154,12 @@ yy1336: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 't') goto yy1337; ++ if (yych <= 't') goto yy1339; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1337: ++yy1339: + yych = *++YYCURSOR; + if (yych <= 'H') { + if (yych <= ')') { +@@ -18990,7 +19181,7 @@ yy1337: + goto yy3; + } + } +-yy1338: ++yy1340: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { +@@ -19006,12 +19197,12 @@ yy1338: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 't') goto yy1339; ++ if (yych <= 't') goto yy1341; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1339: ++yy1341: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '(') { +@@ -19032,19 +19223,19 @@ yy1339: + goto yy3; + } + } +-yy1340: ++yy1342: + yych = *++YYCURSOR; +- if (yych == 'D') goto yy1341; ++ if (yych == 'D') goto yy1343; + if (yych != 'd') goto yy1197; +-yy1341: ++yy1343: + yych = *++YYCURSOR; +- if (yych == 'A') goto yy1342; ++ if (yych == 'A') goto yy1344; + if (yych != 'a') goto yy56; +-yy1342: ++yy1344: + yych = *++YYCURSOR; +- if (yych == 'Y') goto yy1343; ++ if (yych == 'Y') goto yy1345; + if (yych != 'y') goto yy56; +-yy1343: ++yy1345: + yyaccept = 25; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { +@@ -19055,14 +19246,14 @@ yy1343: + goto yy1084; + } + yych = *++YYCURSOR; +- if (yych == 'O') goto yy1345; ++ if (yych == 'O') goto yy1347; + if (yych != 'o') goto yy56; +-yy1345: ++yy1347: + yych = *++YYCURSOR; +- if (yych == 'F') goto yy1305; +- if (yych == 'f') goto yy1305; ++ if (yych == 'F') goto yy1306; ++ if (yych == 'f') goto yy1306; + goto yy56; +-yy1346: ++yy1348: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { +@@ -19097,13 +19288,13 @@ yy1346: + if (yych <= '`') goto yy218; + goto yy167; + } else { +- if (yych <= 'r') goto yy1347; ++ if (yych <= 'r') goto yy1349; + if (yych <= 'z') goto yy167; + goto yy218; + } + } + } +-yy1347: ++yy1349: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= ')') { +@@ -19119,12 +19310,12 @@ yy1347: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 'u') goto yy1348; ++ if (yych <= 'u') goto yy1350; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1348: ++yy1350: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy164; +@@ -19134,27 +19325,27 @@ yy1348: + if (yych <= 'Z') goto yy169; + goto yy3; + } else { +- if (yych <= 'a') goto yy1349; ++ if (yych <= 'a') goto yy1351; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +-yy1349: ++yy1351: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych <= 'R') goto yy1350; ++ if (yych <= 'R') goto yy1352; + if (yych != 'r') goto yy3; + } +-yy1350: ++yy1352: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy229; + if (yych == 'y') goto yy229; + goto yy56; +-yy1351: ++yy1353: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'A') { +@@ -19169,7 +19360,7 @@ yy1351: + } + } else { + if (yych <= '_') { +- if (yych <= 'B') goto yy1346; ++ if (yych <= 'B') goto yy1348; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -19178,13 +19369,13 @@ yy1351: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 'b') goto yy1369; ++ if (yych <= 'b') goto yy1371; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1352: ++yy1354: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { +@@ -19201,14 +19392,14 @@ yy1352: + if (yych <= '/') goto yy172; + goto yy3; + } else { +- if (yych == 'F') goto yy1336; ++ if (yych == 'F') goto yy1338; + goto yy166; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { +- if (yych <= 'R') goto yy1335; ++ if (yych <= 'R') goto yy1337; + goto yy166; + } else { + if (yych == '_') goto yy172; +@@ -19216,16 +19407,16 @@ yy1352: + } + } else { + if (yych <= 'q') { +- if (yych == 'f') goto yy1365; ++ if (yych == 'f') goto yy1367; + goto yy171; + } else { +- if (yych <= 'r') goto yy1364; ++ if (yych <= 'r') goto yy1366; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1353: ++yy1355: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'T') { +@@ -19240,7 +19431,7 @@ yy1353: + } + } else { + if (yych <= '_') { +- if (yych <= 'U') goto yy1332; ++ if (yych <= 'U') goto yy1334; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -19249,13 +19440,13 @@ yy1353: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 'u') goto yy1361; ++ if (yych <= 'u') goto yy1363; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1354: ++yy1356: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'N') { +@@ -19272,14 +19463,14 @@ yy1354: + if (yych <= '/') goto yy172; + goto yy3; + } else { +- if (yych == 'I') goto yy1315; ++ if (yych == 'I') goto yy1316; + goto yy166; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { +- if (yych <= 'O') goto yy1314; ++ if (yych <= 'O') goto yy1315; + goto yy166; + } else { + if (yych == '_') goto yy172; +@@ -19287,16 +19478,16 @@ yy1354: + } + } else { + if (yych <= 'n') { +- if (yych == 'i') goto yy1356; ++ if (yych == 'i') goto yy1358; + goto yy171; + } else { +- if (yych <= 'o') goto yy1355; ++ if (yych <= 'o') goto yy1357; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1355: ++yy1357: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { +@@ -19311,7 +19502,7 @@ yy1355: + } + } else { + if (yych <= '_') { +- if (yych <= 'N') goto yy1318; ++ if (yych <= 'N') goto yy1319; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -19320,13 +19511,13 @@ yy1355: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 'n') goto yy1359; ++ if (yych <= 'n') goto yy1361; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1356: ++yy1358: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { +@@ -19341,7 +19532,7 @@ yy1356: + } + } else { + if (yych <= '_') { +- if (yych <= 'D') goto yy1316; ++ if (yych <= 'D') goto yy1317; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy191; + goto yy172; +@@ -19350,13 +19541,13 @@ yy1356: + if (yych <= '`') goto yy191; + goto yy175; + } else { +- if (yych <= 'd') goto yy1357; ++ if (yych <= 'd') goto yy1359; + if (yych <= 'z') goto yy175; + goto yy191; + } + } + } +-yy1357: ++yy1359: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { +@@ -19370,18 +19561,18 @@ yy1357: + } + } else { + if (yych <= '_') { +- if (yych <= 'A') goto yy1317; ++ if (yych <= 'A') goto yy1318; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; +- if (yych <= 'a') goto yy1358; ++ if (yych <= 'a') goto yy1360; + if (yych <= 'z') goto yy176; + goto yy3; + } + } +-yy1358: ++yy1360: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'X') { +@@ -19411,7 +19602,7 @@ yy1358: + } + } + } +-yy1359: ++yy1361: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { +@@ -19426,7 +19617,7 @@ yy1359: + } + } else { + if (yych <= '_') { +- if (yych <= 'T') goto yy1319; ++ if (yych <= 'T') goto yy1320; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -19435,18 +19626,18 @@ yy1359: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 't') goto yy1360; ++ if (yych <= 't') goto yy1362; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1360: ++yy1362: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= '(') { +- if (yych == ' ') goto yy1320; ++ if (yych == ' ') goto yy1321; + goto yy3; + } else { + if (yych <= ')') goto yy164; +@@ -19466,7 +19657,7 @@ yy1360: + goto yy3; + } + } +-yy1361: ++yy1363: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { +@@ -19481,7 +19672,7 @@ yy1361: + } + } else { + if (yych <= '_') { +- if (yych <= 'R') goto yy1333; ++ if (yych <= 'R') goto yy1335; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -19490,13 +19681,13 @@ yy1361: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 'r') goto yy1362; ++ if (yych <= 'r') goto yy1364; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1362: ++yy1364: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { +@@ -19511,7 +19702,7 @@ yy1362: + } + } else { + if (yych <= '_') { +- if (yych <= 'T') goto yy1334; ++ if (yych <= 'T') goto yy1336; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -19520,13 +19711,13 @@ yy1362: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 't') goto yy1363; ++ if (yych <= 't') goto yy1365; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1363: ++yy1365: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { +@@ -19556,7 +19747,7 @@ yy1363: + } + } + } +-yy1364: ++yy1366: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { +@@ -19571,7 +19762,7 @@ yy1364: + } + } else { + if (yych <= '_') { +- if (yych <= 'S') goto yy1338; ++ if (yych <= 'S') goto yy1340; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -19580,13 +19771,13 @@ yy1364: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 's') goto yy1367; ++ if (yych <= 's') goto yy1369; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1365: ++yy1367: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { +@@ -19601,7 +19792,7 @@ yy1365: + } + } else { + if (yych <= '_') { +- if (yych <= 'T') goto yy1337; ++ if (yych <= 'T') goto yy1339; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -19610,13 +19801,13 @@ yy1365: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 't') goto yy1366; ++ if (yych <= 't') goto yy1368; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1366: ++yy1368: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { +@@ -19646,7 +19837,7 @@ yy1366: + } + } + } +-yy1367: ++yy1369: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { +@@ -19661,7 +19852,7 @@ yy1367: + } + } else { + if (yych <= '_') { +- if (yych <= 'T') goto yy1339; ++ if (yych <= 'T') goto yy1341; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -19670,20 +19861,20 @@ yy1367: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 't') goto yy1368; ++ if (yych <= 't') goto yy1370; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1368: ++yy1370: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '-') { + if (yych <= ' ') { + if (yych == '\t') goto yy1196; + if (yych <= 0x1F) goto yy3; +- goto yy1340; ++ goto yy1342; + } else { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; +@@ -19705,7 +19896,7 @@ yy1368: + } + } + } +-yy1369: ++yy1371: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { +@@ -19733,7 +19924,7 @@ yy1369: + if (yych <= '@') goto yy218; + goto yy167; + } else { +- if (yych <= 'R') goto yy1347; ++ if (yych <= 'R') goto yy1349; + if (yych <= 'Z') goto yy167; + goto yy218; + } +@@ -19743,13 +19934,13 @@ yy1369: + if (yych <= '`') goto yy218; + goto yy175; + } else { +- if (yych <= 'r') goto yy1370; ++ if (yych <= 'r') goto yy1372; + if (yych <= 'z') goto yy175; + goto yy218; + } + } + } +-yy1370: ++yy1372: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'T') { +@@ -19764,7 +19955,7 @@ yy1370: + } + } else { + if (yych <= '_') { +- if (yych <= 'U') goto yy1348; ++ if (yych <= 'U') goto yy1350; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -19773,13 +19964,13 @@ yy1370: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 'u') goto yy1371; ++ if (yych <= 'u') goto yy1373; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1371: ++yy1373: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { +@@ -19793,18 +19984,18 @@ yy1371: + } + } else { + if (yych <= '_') { +- if (yych <= 'A') goto yy1349; ++ if (yych <= 'A') goto yy1351; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; +- if (yych <= 'a') goto yy1372; ++ if (yych <= 'a') goto yy1374; + if (yych <= 'z') goto yy177; + goto yy3; + } + } +-yy1372: ++yy1374: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { +@@ -19818,33 +20009,34 @@ yy1372: + } + } else { + if (yych <= '`') { +- if (yych <= 'R') goto yy1350; ++ if (yych <= 'R') goto yy1352; + if (yych == '_') goto yy172; + goto yy3; + } else { +- if (yych == 'r') goto yy1373; ++ if (yych == 'r') goto yy1375; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +-yy1373: ++yy1375: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy229; + if (yych == 'y') goto yy341; + goto yy179; +-yy1374: ++yy1376: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; +-yy1375: ++yy1377: + yyaccept = 28; + YYMARKER = ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7); + yych = *YYCURSOR; +- if (yych == '.') goto yy1378; +- if (yych <= '/') goto yy1377; +- if (yych <= '9') goto yy1375; +-yy1377: ++ if (yych == '.') goto yy1380; ++ if (yych <= '/') goto yy1379; ++ if (yych <= '9') goto yy1377; ++yy1379: ++#line 1025 "ext/date/lib/parse_date.re" + { + timelib_ull i; + +@@ -19869,7 +20061,8 @@ yy1377: + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +-yy1378: ++#line 20065 "ext/date/lib/parse_date.c" ++yy1380: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; +@@ -19889,6 +20082,7 @@ yy1378: + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + ++YYCURSOR; ++#line 1051 "ext/date/lib/parse_date.re" + { + timelib_ull i, ms; + +@@ -19915,7 +20109,8 @@ yy1378: + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +-yy1386: ++#line 20113 "ext/date/lib/parse_date.c" ++yy1388: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { +@@ -19924,7 +20119,7 @@ yy1386: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy166; +- goto yy1427; ++ goto yy1429; + } + } else { + if (yych <= 'm') { +@@ -19932,58 +20127,58 @@ yy1386: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 'n') goto yy1427; ++ if (yych <= 'n') goto yy1429; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1387: ++yy1389: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych == 'I') goto yy1419; ++ if (yych == 'I') goto yy1421; + if (yych <= 'T') goto yy166; +- goto yy1420; ++ goto yy1422; + } + } else { + if (yych <= 'i') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + if (yych <= 'h') goto yy166; +- goto yy1419; ++ goto yy1421; + } else { +- if (yych == 'u') goto yy1420; ++ if (yych == 'u') goto yy1422; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1388: ++yy1390: + yych = *++YYCURSOR; + if (yych <= 'M') { + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych == 'D') goto yy1408; ++ if (yych == 'D') goto yy1410; + if (yych <= 'L') goto yy166; +- goto yy1409; ++ goto yy1411; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + if (yych <= 'c') goto yy166; +- goto yy1408; ++ goto yy1410; + } else { +- if (yych == 'm') goto yy1409; ++ if (yych == 'm') goto yy1411; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1389: ++yy1391: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { +@@ -19992,7 +20187,7 @@ yy1389: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy166; +- goto yy1404; ++ goto yy1406; + } + } else { + if (yych <= 'd') { +@@ -20000,12 +20195,12 @@ yy1389: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 'e') goto yy1404; ++ if (yych <= 'e') goto yy1406; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1390: ++yy1392: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { +@@ -20014,7 +20209,7 @@ yy1390: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy166; +- goto yy1400; ++ goto yy1402; + } + } else { + if (yych <= 'd') { +@@ -20022,68 +20217,68 @@ yy1390: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 'e') goto yy1400; ++ if (yych <= 'e') goto yy1402; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1391: ++yy1393: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy1029; + goto yy56; + } else { +- if (yych <= '9') goto yy1394; ++ if (yych <= '9') goto yy1396; + if (yych <= ':') goto yy1029; + goto yy56; + } +-yy1392: ++yy1394: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy1029; + goto yy56; + } else { +- if (yych <= '4') goto yy1394; ++ if (yych <= '4') goto yy1396; + if (yych == ':') goto yy1029; + goto yy56; + } +-yy1393: ++yy1395: + yych = *++YYCURSOR; + if (yych == '.') goto yy1029; + if (yych == ':') goto yy1029; + goto yy56; +-yy1394: ++yy1396: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy1029; + goto yy56; + } else { +- if (yych <= '5') goto yy1395; ++ if (yych <= '5') goto yy1397; + if (yych == ':') goto yy1029; + goto yy56; + } +-yy1395: ++yy1397: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') goto yy1032; +- if (yych <= '5') goto yy1397; +- if (yych <= '6') goto yy1398; ++ if (yych <= '5') goto yy1399; ++ if (yych <= '6') goto yy1400; + goto yy1032; +-yy1397: ++yy1399: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; +- if (yych <= '9') goto yy1399; ++ if (yych <= '9') goto yy1401; + goto yy56; +-yy1398: ++yy1400: + yych = *++YYCURSOR; + if (yych != '0') goto yy56; +-yy1399: ++yy1401: + yych = *++YYCURSOR; + goto yy1040; +-yy1400: ++yy1402: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych <= ')') { +@@ -20099,12 +20294,12 @@ yy1400: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 'l') goto yy1401; ++ if (yych <= 'l') goto yy1403; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1401: ++yy1403: + yych = *++YYCURSOR; + if (yych <= 'F') { + if (yych <= ')') { +@@ -20120,12 +20315,12 @@ yy1401: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 'f') goto yy1402; ++ if (yych <= 'f') goto yy1404; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1402: ++yy1404: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { +@@ -20141,12 +20336,12 @@ yy1402: + if (yych <= '`') goto yy3; + goto yy169; + } else { +- if (yych <= 't') goto yy1403; ++ if (yych <= 't') goto yy1405; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +-yy1403: ++yy1405: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { +@@ -20157,7 +20352,7 @@ yy1403: + if (yych == 'h') goto yy1195; + goto yy3; + } +-yy1404: ++yy1406: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= ')') { +@@ -20173,12 +20368,12 @@ yy1404: + if (yych <= '`') goto yy191; + goto yy167; + } else { +- if (yych <= 's') goto yy1405; ++ if (yych <= 's') goto yy1407; + if (yych <= 'z') goto yy167; + goto yy191; + } + } +-yy1405: ++yy1407: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { +@@ -20194,12 +20389,12 @@ yy1405: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 'd') goto yy1406; ++ if (yych <= 'd') goto yy1408; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1406: ++yy1408: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy164; +@@ -20209,12 +20404,12 @@ yy1406: + if (yych <= 'Z') goto yy169; + goto yy3; + } else { +- if (yych <= 'a') goto yy1407; ++ if (yych <= 'a') goto yy1409; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +-yy1407: ++yy1409: + yych = *++YYCURSOR; + if (yych <= 'X') { + if (yych == ')') goto yy164; +@@ -20224,23 +20419,23 @@ yy1407: + if (yych == 'y') goto yy197; + goto yy3; + } +-yy1408: ++yy1410: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; +- goto yy1416; ++ goto yy1418; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy167; + goto yy3; + } else { +- if (yych <= 'a') goto yy1416; ++ if (yych <= 'a') goto yy1418; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1409: ++yy1411: + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych <= ')') { +@@ -20256,12 +20451,12 @@ yy1409: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 'o') goto yy1410; ++ if (yych <= 'o') goto yy1412; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1410: ++yy1412: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { +@@ -20277,12 +20472,12 @@ yy1410: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 'r') goto yy1411; ++ if (yych <= 'r') goto yy1413; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1411: ++yy1413: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { +@@ -20298,28 +20493,29 @@ yy1411: + if (yych <= '`') goto yy3; + goto yy169; + } else { +- if (yych <= 'r') goto yy1412; ++ if (yych <= 'r') goto yy1414; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +-yy1412: ++yy1414: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'N') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych <= 'O') goto yy1413; ++ if (yych <= 'O') goto yy1415; + if (yych != 'o') goto yy3; + } +-yy1413: ++yy1415: + yych = *++YYCURSOR; +- if (yych == 'W') goto yy1414; ++ if (yych == 'W') goto yy1416; + if (yych != 'w') goto yy56; +-yy1414: ++yy1416: + ++YYCURSOR; +-yy1415: ++yy1417: ++#line 1013 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("tomorrow"); + TIMELIB_INIT; +@@ -20330,7 +20526,8 @@ yy1415: + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +-yy1416: ++#line 20530 "ext/date/lib/parse_date.c" ++yy1418: + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych <= ')') { +@@ -20346,21 +20543,22 @@ yy1416: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 'y') goto yy1417; ++ if (yych <= 'y') goto yy1419; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1417: ++yy1419: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '@') { + if (yych == ')') goto yy164; + } else { + if (yych <= 'Z') goto yy169; +- if (yych <= '`') goto yy1418; ++ if (yych <= '`') goto yy1420; + if (yych <= 'z') goto yy169; + } +-yy1418: ++yy1420: ++#line 1003 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("midnight | today"); + TIMELIB_INIT; +@@ -20369,7 +20567,8 @@ yy1418: + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +-yy1419: ++#line 20571 "ext/date/lib/parse_date.c" ++yy1421: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= '@') { +@@ -20377,8 +20576,8 @@ yy1419: + goto yy3; + } else { + if (yych <= 'Q') goto yy167; +- if (yych <= 'R') goto yy1425; +- goto yy1426; ++ if (yych <= 'R') goto yy1427; ++ goto yy1428; + } + } else { + if (yych <= 'q') { +@@ -20386,13 +20585,13 @@ yy1419: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 'r') goto yy1425; +- if (yych <= 's') goto yy1426; ++ if (yych <= 'r') goto yy1427; ++ if (yych <= 's') goto yy1428; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1420: ++yy1422: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { +@@ -20408,12 +20607,12 @@ yy1420: + if (yych <= '`') goto yy191; + goto yy167; + } else { +- if (yych <= 'r') goto yy1421; ++ if (yych <= 'r') goto yy1423; + if (yych <= 'z') goto yy167; + goto yy191; + } + } +-yy1421: ++yy1423: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= ')') { +@@ -20429,12 +20628,12 @@ yy1421: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 's') goto yy1422; ++ if (yych <= 's') goto yy1424; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1422: ++yy1424: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { +@@ -20450,27 +20649,27 @@ yy1422: + if (yych <= '`') goto yy3; + goto yy169; + } else { +- if (yych <= 'd') goto yy1423; ++ if (yych <= 'd') goto yy1425; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +-yy1423: ++yy1425: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych <= 'A') goto yy1424; ++ if (yych <= 'A') goto yy1426; + if (yych != 'a') goto yy3; + } +-yy1424: ++yy1426: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy197; + if (yych == 'y') goto yy197; + goto yy56; +-yy1425: ++yy1427: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { +@@ -20492,7 +20691,7 @@ yy1425: + goto yy3; + } + } +-yy1426: ++yy1428: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '(') { +@@ -20514,7 +20713,7 @@ yy1426: + goto yy3; + } + } +-yy1427: ++yy1429: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { +@@ -20530,12 +20729,12 @@ yy1427: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 't') goto yy1428; ++ if (yych <= 't') goto yy1430; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1428: ++yy1430: + yych = *++YYCURSOR; + if (yych <= 'H') { + if (yych <= ')') { +@@ -20557,7 +20756,7 @@ yy1428: + goto yy3; + } + } +-yy1429: ++yy1431: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { +@@ -20572,7 +20771,7 @@ yy1429: + } + } else { + if (yych <= '_') { +- if (yych <= 'N') goto yy1427; ++ if (yych <= 'N') goto yy1429; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -20581,13 +20780,13 @@ yy1429: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 'n') goto yy1459; ++ if (yych <= 'n') goto yy1461; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1430: ++yy1432: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'T') { +@@ -20604,14 +20803,14 @@ yy1430: + if (yych <= '/') goto yy172; + goto yy3; + } else { +- if (yych == 'I') goto yy1419; ++ if (yych == 'I') goto yy1421; + goto yy166; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { +- if (yych <= 'U') goto yy1420; ++ if (yych <= 'U') goto yy1422; + goto yy166; + } else { + if (yych == '_') goto yy172; +@@ -20619,16 +20818,16 @@ yy1430: + } + } else { + if (yych <= 't') { +- if (yych == 'i') goto yy1451; ++ if (yych == 'i') goto yy1453; + goto yy171; + } else { +- if (yych <= 'u') goto yy1452; ++ if (yych <= 'u') goto yy1454; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1431: ++yy1433: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'L') { +@@ -20645,14 +20844,14 @@ yy1431: + if (yych <= '/') goto yy172; + goto yy3; + } else { +- if (yych == 'D') goto yy1408; ++ if (yych == 'D') goto yy1410; + goto yy166; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { +- if (yych <= 'M') goto yy1409; ++ if (yych <= 'M') goto yy1411; + goto yy166; + } else { + if (yych == '_') goto yy172; +@@ -20660,16 +20859,16 @@ yy1431: + } + } else { + if (yych <= 'l') { +- if (yych == 'd') goto yy1442; ++ if (yych == 'd') goto yy1444; + goto yy171; + } else { +- if (yych <= 'm') goto yy1443; ++ if (yych <= 'm') goto yy1445; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1432: ++yy1434: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { +@@ -20684,7 +20883,7 @@ yy1432: + } + } else { + if (yych <= '_') { +- if (yych <= 'E') goto yy1404; ++ if (yych <= 'E') goto yy1406; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -20693,13 +20892,13 @@ yy1432: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 'e') goto yy1438; ++ if (yych <= 'e') goto yy1440; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1433: ++yy1435: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { +@@ -20714,7 +20913,7 @@ yy1433: + } + } else { + if (yych <= '_') { +- if (yych <= 'E') goto yy1400; ++ if (yych <= 'E') goto yy1402; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -20723,13 +20922,13 @@ yy1433: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 'e') goto yy1434; ++ if (yych <= 'e') goto yy1436; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1434: ++yy1436: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'K') { +@@ -20744,7 +20943,7 @@ yy1434: + } + } else { + if (yych <= '_') { +- if (yych <= 'L') goto yy1401; ++ if (yych <= 'L') goto yy1403; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -20753,13 +20952,13 @@ yy1434: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 'l') goto yy1435; ++ if (yych <= 'l') goto yy1437; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1435: ++yy1437: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'E') { +@@ -20774,7 +20973,7 @@ yy1435: + } + } else { + if (yych <= '_') { +- if (yych <= 'F') goto yy1402; ++ if (yych <= 'F') goto yy1404; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -20783,13 +20982,13 @@ yy1435: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 'f') goto yy1436; ++ if (yych <= 'f') goto yy1438; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1436: ++yy1438: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { +@@ -20804,7 +21003,7 @@ yy1436: + } + } else { + if (yych <= '_') { +- if (yych <= 'T') goto yy1403; ++ if (yych <= 'T') goto yy1405; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; +@@ -20813,13 +21012,13 @@ yy1436: + if (yych <= '`') goto yy3; + goto yy177; + } else { +- if (yych <= 't') goto yy1437; ++ if (yych <= 't') goto yy1439; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +-yy1437: ++yy1439: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { +@@ -20842,7 +21041,7 @@ yy1437: + goto yy3; + } + } +-yy1438: ++yy1440: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { +@@ -20857,7 +21056,7 @@ yy1438: + } + } else { + if (yych <= '_') { +- if (yych <= 'S') goto yy1405; ++ if (yych <= 'S') goto yy1407; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy191; + goto yy172; +@@ -20866,13 +21065,13 @@ yy1438: + if (yych <= '`') goto yy191; + goto yy175; + } else { +- if (yych <= 's') goto yy1439; ++ if (yych <= 's') goto yy1441; + if (yych <= 'z') goto yy175; + goto yy191; + } + } + } +-yy1439: ++yy1441: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { +@@ -20887,7 +21086,7 @@ yy1439: + } + } else { + if (yych <= '_') { +- if (yych <= 'D') goto yy1406; ++ if (yych <= 'D') goto yy1408; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -20896,13 +21095,13 @@ yy1439: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 'd') goto yy1440; ++ if (yych <= 'd') goto yy1442; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1440: ++yy1442: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { +@@ -20916,18 +21115,18 @@ yy1440: + } + } else { + if (yych <= '_') { +- if (yych <= 'A') goto yy1407; ++ if (yych <= 'A') goto yy1409; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; +- if (yych <= 'a') goto yy1441; ++ if (yych <= 'a') goto yy1443; + if (yych <= 'z') goto yy177; + goto yy3; + } + } +-yy1441: ++yy1443: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'X') { +@@ -20950,7 +21149,7 @@ yy1441: + goto yy3; + } + } +-yy1442: ++yy1444: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { +@@ -20964,18 +21163,18 @@ yy1442: + } + } else { + if (yych <= '_') { +- if (yych <= 'A') goto yy1416; ++ if (yych <= 'A') goto yy1418; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; +- if (yych <= 'a') goto yy1449; ++ if (yych <= 'a') goto yy1451; + if (yych <= 'z') goto yy175; + goto yy3; + } + } +-yy1443: ++yy1445: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'N') { +@@ -20990,7 +21189,7 @@ yy1443: + } + } else { + if (yych <= '_') { +- if (yych <= 'O') goto yy1410; ++ if (yych <= 'O') goto yy1412; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -20999,13 +21198,13 @@ yy1443: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 'o') goto yy1444; ++ if (yych <= 'o') goto yy1446; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1444: ++yy1446: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { +@@ -21020,7 +21219,7 @@ yy1444: + } + } else { + if (yych <= '_') { +- if (yych <= 'R') goto yy1411; ++ if (yych <= 'R') goto yy1413; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21029,13 +21228,13 @@ yy1444: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 'r') goto yy1445; ++ if (yych <= 'r') goto yy1447; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1445: ++yy1447: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { +@@ -21050,7 +21249,7 @@ yy1445: + } + } else { + if (yych <= '_') { +- if (yych <= 'R') goto yy1412; ++ if (yych <= 'R') goto yy1414; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21059,13 +21258,13 @@ yy1445: + if (yych <= '`') goto yy3; + goto yy177; + } else { +- if (yych <= 'r') goto yy1446; ++ if (yych <= 'r') goto yy1448; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +-yy1446: ++yy1448: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'N') { +@@ -21079,18 +21278,18 @@ yy1446: + } + } else { + if (yych <= '`') { +- if (yych <= 'O') goto yy1413; ++ if (yych <= 'O') goto yy1415; + if (yych == '_') goto yy172; + goto yy3; + } else { +- if (yych == 'o') goto yy1447; ++ if (yych == 'o') goto yy1449; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +-yy1447: ++yy1449: + yych = *++YYCURSOR; +- if (yych == 'W') goto yy1414; ++ if (yych == 'W') goto yy1416; + if (yych != 'w') goto yy179; + yyaccept = 29; + yych = *(YYMARKER = ++YYCURSOR); +@@ -21099,13 +21298,13 @@ yy1447: + } + if (yych <= '.') { + if (yych == '-') goto yy172; +- goto yy1415; ++ goto yy1417; + } else { + if (yych <= '/') goto yy172; + if (yych == '_') goto yy172; +- goto yy1415; ++ goto yy1417; + } +-yy1449: ++yy1451: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'X') { +@@ -21120,7 +21319,7 @@ yy1449: + } + } else { + if (yych <= '_') { +- if (yych <= 'Y') goto yy1417; ++ if (yych <= 'Y') goto yy1419; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21129,36 +21328,36 @@ yy1449: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 'y') goto yy1450; ++ if (yych <= 'y') goto yy1452; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1450: ++yy1452: + yyaccept = 30; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy164; +- goto yy1418; ++ goto yy1420; + } else { +- if (yych == '.') goto yy1418; ++ if (yych == '.') goto yy1420; + goto yy172; + } + } else { + if (yych <= '^') { +- if (yych <= '@') goto yy1418; ++ if (yych <= '@') goto yy1420; + if (yych <= 'Z') goto yy169; +- goto yy1418; ++ goto yy1420; + } else { + if (yych <= '_') goto yy172; +- if (yych <= '`') goto yy1418; ++ if (yych <= '`') goto yy1420; + if (yych <= 'z') goto yy177; +- goto yy1418; ++ goto yy1420; + } + } +-yy1451: ++yy1453: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { +@@ -21173,13 +21372,13 @@ yy1451: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy167; +- goto yy1425; ++ goto yy1427; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { +- if (yych <= 'S') goto yy1426; ++ if (yych <= 'S') goto yy1428; + goto yy167; + } else { + if (yych == '_') goto yy172; +@@ -21188,15 +21387,15 @@ yy1451: + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy175; +- goto yy1457; ++ goto yy1459; + } else { +- if (yych <= 's') goto yy1458; ++ if (yych <= 's') goto yy1460; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1452: ++yy1454: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { +@@ -21211,7 +21410,7 @@ yy1452: + } + } else { + if (yych <= '_') { +- if (yych <= 'R') goto yy1421; ++ if (yych <= 'R') goto yy1423; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy191; + goto yy172; +@@ -21220,13 +21419,13 @@ yy1452: + if (yych <= '`') goto yy191; + goto yy175; + } else { +- if (yych <= 'r') goto yy1453; ++ if (yych <= 'r') goto yy1455; + if (yych <= 'z') goto yy175; + goto yy191; + } + } + } +-yy1453: ++yy1455: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { +@@ -21241,7 +21440,7 @@ yy1453: + } + } else { + if (yych <= '_') { +- if (yych <= 'S') goto yy1422; ++ if (yych <= 'S') goto yy1424; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21250,13 +21449,13 @@ yy1453: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 's') goto yy1454; ++ if (yych <= 's') goto yy1456; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1454: ++yy1456: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { +@@ -21271,7 +21470,7 @@ yy1454: + } + } else { + if (yych <= '_') { +- if (yych <= 'D') goto yy1423; ++ if (yych <= 'D') goto yy1425; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21280,13 +21479,13 @@ yy1454: + if (yych <= '`') goto yy3; + goto yy177; + } else { +- if (yych <= 'd') goto yy1455; ++ if (yych <= 'd') goto yy1457; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +-yy1455: ++yy1457: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { +@@ -21300,22 +21499,22 @@ yy1455: + } + } else { + if (yych <= '_') { +- if (yych <= 'A') goto yy1424; ++ if (yych <= 'A') goto yy1426; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; +- if (yych <= 'a') goto yy1456; ++ if (yych <= 'a') goto yy1458; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +-yy1456: ++yy1458: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy197; + if (yych == 'y') goto yy210; + goto yy179; +-yy1457: ++yy1459: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { +@@ -21345,7 +21544,7 @@ yy1457: + } + } + } +-yy1458: ++yy1460: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '-') { +@@ -21374,7 +21573,7 @@ yy1458: + } + } + } +-yy1459: ++yy1461: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { +@@ -21389,7 +21588,7 @@ yy1459: + } + } else { + if (yych <= '_') { +- if (yych <= 'T') goto yy1428; ++ if (yych <= 'T') goto yy1430; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21398,13 +21597,13 @@ yy1459: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 't') goto yy1460; ++ if (yych <= 't') goto yy1462; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1460: ++yy1462: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { +@@ -21434,30 +21633,30 @@ yy1460: + } + } + } +-yy1461: ++yy1463: + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych == 'R') goto yy1473; ++ if (yych == 'R') goto yy1475; + if (yych <= 'X') goto yy166; +- goto yy1474; ++ goto yy1476; + } + } else { + if (yych <= 'r') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + if (yych <= 'q') goto yy166; +- goto yy1473; ++ goto yy1475; + } else { +- if (yych == 'y') goto yy1474; ++ if (yych == 'y') goto yy1476; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1462: ++yy1464: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { +@@ -21466,7 +21665,7 @@ yy1462: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'C') goto yy166; +- goto yy1467; ++ goto yy1469; + } + } else { + if (yych <= 'c') { +@@ -21474,12 +21673,12 @@ yy1462: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 'd') goto yy1467; ++ if (yych <= 'd') goto yy1469; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1463: ++yy1465: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { +@@ -21495,12 +21694,12 @@ yy1463: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 'n') goto yy1464; ++ if (yych <= 'n') goto yy1466; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1464: ++yy1466: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { +@@ -21516,12 +21715,12 @@ yy1464: + if (yych <= '`') goto yy191; + goto yy167; + } else { +- if (yych <= 'd') goto yy1465; ++ if (yych <= 'd') goto yy1467; + if (yych <= 'z') goto yy167; + goto yy191; + } + } +-yy1465: ++yy1467: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy164; +@@ -21531,12 +21730,12 @@ yy1465: + if (yych <= 'Z') goto yy168; + goto yy3; + } else { +- if (yych <= 'a') goto yy1466; ++ if (yych <= 'a') goto yy1468; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1466: ++yy1468: + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych <= ')') { +@@ -21558,7 +21757,7 @@ yy1466: + goto yy3; + } + } +-yy1467: ++yy1469: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { +@@ -21574,12 +21773,12 @@ yy1467: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 'n') goto yy1468; ++ if (yych <= 'n') goto yy1470; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1468: ++yy1470: + yych = *++YYCURSOR; + if (yych <= 'I') { + if (yych <= ')') { +@@ -21595,12 +21794,12 @@ yy1468: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 'i') goto yy1469; ++ if (yych <= 'i') goto yy1471; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1469: ++yy1471: + yych = *++YYCURSOR; + if (yych <= 'G') { + if (yych <= ')') { +@@ -21616,29 +21815,29 @@ yy1469: + if (yych <= '`') goto yy3; + goto yy169; + } else { +- if (yych <= 'g') goto yy1470; ++ if (yych <= 'g') goto yy1472; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +-yy1470: ++yy1472: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych <= 'H') goto yy1471; ++ if (yych <= 'H') goto yy1473; + if (yych != 'h') goto yy3; + } +-yy1471: ++yy1473: + yych = *++YYCURSOR; +- if (yych == 'T') goto yy1472; ++ if (yych == 'T') goto yy1474; + if (yych != 't') goto yy56; +-yy1472: ++yy1474: + yych = *++YYCURSOR; +- goto yy1418; +-yy1473: ++ goto yy1420; ++yy1475: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { +@@ -21666,7 +21865,7 @@ yy1473: + if (yych <= '9') goto yy220; + goto yy218; + } else { +- if (yych == 'C') goto yy1475; ++ if (yych == 'C') goto yy1477; + goto yy167; + } + } else { +@@ -21674,13 +21873,13 @@ yy1473: + if (yych <= '`') goto yy218; + goto yy167; + } else { +- if (yych <= 'c') goto yy1475; ++ if (yych <= 'c') goto yy1477; + if (yych <= 'z') goto yy167; + goto yy218; + } + } + } +-yy1474: ++yy1476: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '-') { +@@ -21705,7 +21904,7 @@ yy1474: + goto yy218; + } + } +-yy1475: ++yy1477: + yych = *++YYCURSOR; + if (yych <= 'H') { + if (yych <= ')') { +@@ -21727,7 +21926,7 @@ yy1475: + goto yy3; + } + } +-yy1476: ++yy1478: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'X') { +@@ -21744,14 +21943,14 @@ yy1476: + if (yych <= '/') goto yy172; + goto yy3; + } else { +- if (yych == 'R') goto yy1473; ++ if (yych == 'R') goto yy1475; + goto yy166; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { +- if (yych <= 'Y') goto yy1474; ++ if (yych <= 'Y') goto yy1476; + goto yy166; + } else { + if (yych == '_') goto yy172; +@@ -21759,16 +21958,16 @@ yy1476: + } + } else { + if (yych <= 'x') { +- if (yych == 'r') goto yy1488; ++ if (yych == 'r') goto yy1490; + goto yy171; + } else { +- if (yych <= 'y') goto yy1489; ++ if (yych <= 'y') goto yy1491; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1477: ++yy1479: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { +@@ -21783,7 +21982,7 @@ yy1477: + } + } else { + if (yych <= '_') { +- if (yych <= 'D') goto yy1467; ++ if (yych <= 'D') goto yy1469; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21792,13 +21991,13 @@ yy1477: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 'd') goto yy1482; ++ if (yych <= 'd') goto yy1484; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1478: ++yy1480: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { +@@ -21813,7 +22012,7 @@ yy1478: + } + } else { + if (yych <= '_') { +- if (yych <= 'N') goto yy1464; ++ if (yych <= 'N') goto yy1466; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21822,13 +22021,13 @@ yy1478: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 'n') goto yy1479; ++ if (yych <= 'n') goto yy1481; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1479: ++yy1481: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { +@@ -21843,7 +22042,7 @@ yy1479: + } + } else { + if (yych <= '_') { +- if (yych <= 'D') goto yy1465; ++ if (yych <= 'D') goto yy1467; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy191; + goto yy172; +@@ -21852,13 +22051,13 @@ yy1479: + if (yych <= '`') goto yy191; + goto yy175; + } else { +- if (yych <= 'd') goto yy1480; ++ if (yych <= 'd') goto yy1482; + if (yych <= 'z') goto yy175; + goto yy191; + } + } + } +-yy1480: ++yy1482: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { +@@ -21872,18 +22071,18 @@ yy1480: + } + } else { + if (yych <= '_') { +- if (yych <= 'A') goto yy1466; ++ if (yych <= 'A') goto yy1468; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; +- if (yych <= 'a') goto yy1481; ++ if (yych <= 'a') goto yy1483; + if (yych <= 'z') goto yy176; + goto yy3; + } + } +-yy1481: ++yy1483: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'X') { +@@ -21913,7 +22112,7 @@ yy1481: + } + } + } +-yy1482: ++yy1484: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { +@@ -21928,7 +22127,7 @@ yy1482: + } + } else { + if (yych <= '_') { +- if (yych <= 'N') goto yy1468; ++ if (yych <= 'N') goto yy1470; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21937,13 +22136,13 @@ yy1482: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 'n') goto yy1483; ++ if (yych <= 'n') goto yy1485; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1483: ++yy1485: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'H') { +@@ -21958,7 +22157,7 @@ yy1483: + } + } else { + if (yych <= '_') { +- if (yych <= 'I') goto yy1469; ++ if (yych <= 'I') goto yy1471; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21967,13 +22166,13 @@ yy1483: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 'i') goto yy1484; ++ if (yych <= 'i') goto yy1486; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1484: ++yy1486: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'F') { +@@ -21988,7 +22187,7 @@ yy1484: + } + } else { + if (yych <= '_') { +- if (yych <= 'G') goto yy1470; ++ if (yych <= 'G') goto yy1472; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21997,13 +22196,13 @@ yy1484: + if (yych <= '`') goto yy3; + goto yy177; + } else { +- if (yych <= 'g') goto yy1485; ++ if (yych <= 'g') goto yy1487; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +-yy1485: ++yy1487: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { +@@ -22017,18 +22216,18 @@ yy1485: + } + } else { + if (yych <= '`') { +- if (yych <= 'H') goto yy1471; ++ if (yych <= 'H') goto yy1473; + if (yych == '_') goto yy172; + goto yy3; + } else { +- if (yych == 'h') goto yy1486; ++ if (yych == 'h') goto yy1488; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +-yy1486: ++yy1488: + yych = *++YYCURSOR; +- if (yych == 'T') goto yy1472; ++ if (yych == 'T') goto yy1474; + if (yych != 't') goto yy179; + yyaccept = 30; + yych = *(YYMARKER = ++YYCURSOR); +@@ -22037,13 +22236,13 @@ yy1486: + } + if (yych <= '.') { + if (yych == '-') goto yy172; +- goto yy1418; ++ goto yy1420; + } else { + if (yych <= '/') goto yy172; + if (yych == '_') goto yy172; +- goto yy1418; ++ goto yy1420; + } +-yy1488: ++yy1490: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { +@@ -22071,7 +22270,7 @@ yy1488: + if (yych <= '@') goto yy218; + goto yy167; + } else { +- if (yych <= 'C') goto yy1475; ++ if (yych <= 'C') goto yy1477; + if (yych <= 'Z') goto yy167; + goto yy218; + } +@@ -22081,13 +22280,13 @@ yy1488: + if (yych <= '`') goto yy218; + goto yy175; + } else { +- if (yych <= 'c') goto yy1490; ++ if (yych <= 'c') goto yy1492; + if (yych <= 'z') goto yy175; + goto yy218; + } + } + } +-yy1489: ++yy1491: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { +@@ -22122,7 +22321,7 @@ yy1489: + } + } + } +-yy1490: ++yy1492: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { +@@ -22152,7 +22351,7 @@ yy1490: + } + } + } +-yy1491: ++yy1493: + yych = *++YYCURSOR; + if (yych <= 'W') { + if (yych <= 'N') { +@@ -22160,29 +22359,29 @@ yy1491: + if (yych <= '@') goto yy3; + goto yy166; + } else { +- if (yych <= 'O') goto yy1499; ++ if (yych <= 'O') goto yy1501; + if (yych <= 'U') goto yy166; +- if (yych <= 'V') goto yy1500; +- goto yy1497; ++ if (yych <= 'V') goto yy1502; ++ goto yy1499; + } + } else { + if (yych <= 'o') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + if (yych <= 'n') goto yy166; +- goto yy1499; ++ goto yy1501; + } else { + if (yych <= 'v') { + if (yych <= 'u') goto yy166; +- goto yy1500; ++ goto yy1502; + } else { +- if (yych <= 'w') goto yy1497; ++ if (yych <= 'w') goto yy1499; + if (yych <= 'z') goto yy166; + goto yy3; + } + } + } +-yy1492: ++yy1494: + yych = *++YYCURSOR; + if (yych <= 'X') { + if (yych <= ')') { +@@ -22191,7 +22390,7 @@ yy1492: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'W') goto yy166; +- goto yy1496; ++ goto yy1498; + } + } else { + if (yych <= 'w') { +@@ -22199,12 +22398,12 @@ yy1492: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 'x') goto yy1496; ++ if (yych <= 'x') goto yy1498; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1493: ++yy1495: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { +@@ -22220,12 +22419,12 @@ yy1493: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 'n') goto yy1494; ++ if (yych <= 'n') goto yy1496; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1494: ++yy1496: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { +@@ -22241,12 +22440,12 @@ yy1494: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 't') goto yy1495; ++ if (yych <= 't') goto yy1497; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1495: ++yy1497: + yych = *++YYCURSOR; + if (yych <= 'H') { + if (yych <= ')') { +@@ -22268,7 +22467,7 @@ yy1495: + goto yy3; + } + } +-yy1496: ++yy1498: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { +@@ -22277,7 +22476,7 @@ yy1496: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy167; +- goto yy1426; ++ goto yy1428; + } + } else { + if (yych <= 's') { +@@ -22285,21 +22484,22 @@ yy1496: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 't') goto yy1426; ++ if (yych <= 't') goto yy1428; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1497: ++yy1499: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '@') { + if (yych == ')') goto yy164; + } else { + if (yych <= 'Z') goto yy167; +- if (yych <= '`') goto yy1498; ++ if (yych <= '`') goto yy1500; + if (yych <= 'z') goto yy167; + } +-yy1498: ++yy1500: ++#line 982 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("now"); + TIMELIB_INIT; +@@ -22307,7 +22507,8 @@ yy1498: + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +-yy1499: ++#line 22511 "ext/date/lib/parse_date.c" ++yy1501: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { +@@ -22316,7 +22517,7 @@ yy1499: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy167; +- goto yy1505; ++ goto yy1507; + } + } else { + if (yych <= 'm') { +@@ -22324,12 +22525,12 @@ yy1499: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 'n') goto yy1505; ++ if (yych <= 'n') goto yy1507; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1500: ++yy1502: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { +@@ -22364,13 +22565,13 @@ yy1500: + if (yych <= '`') goto yy218; + goto yy167; + } else { +- if (yych <= 'e') goto yy1501; ++ if (yych <= 'e') goto yy1503; + if (yych <= 'z') goto yy167; + goto yy218; + } + } + } +-yy1501: ++yy1503: + yych = *++YYCURSOR; + if (yych <= 'M') { + if (yych <= ')') { +@@ -22386,12 +22587,12 @@ yy1501: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 'm') goto yy1502; ++ if (yych <= 'm') goto yy1504; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1502: ++yy1504: + yych = *++YYCURSOR; + if (yych <= 'B') { + if (yych <= ')') { +@@ -22407,36 +22608,37 @@ yy1502: + if (yych <= '`') goto yy3; + goto yy169; + } else { +- if (yych <= 'b') goto yy1503; ++ if (yych <= 'b') goto yy1505; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +-yy1503: ++yy1505: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych <= 'E') goto yy1504; ++ if (yych <= 'E') goto yy1506; + if (yych != 'e') goto yy3; + } +-yy1504: ++yy1506: + yych = *++YYCURSOR; + if (yych == 'R') goto yy229; + if (yych == 'r') goto yy229; + goto yy56; +-yy1505: ++yy1507: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '@') { + if (yych == ')') goto yy164; + } else { + if (yych <= 'Z') goto yy168; +- if (yych <= '`') goto yy1506; ++ if (yych <= '`') goto yy1508; + if (yych <= 'z') goto yy168; + } +-yy1506: ++yy1508: ++#line 991 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("noon"); + TIMELIB_INIT; +@@ -22447,7 +22649,8 @@ yy1506: + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +-yy1507: ++#line 22653 "ext/date/lib/parse_date.c" ++yy1509: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'V') { +@@ -22465,15 +22668,15 @@ yy1507: + if (yych <= '@') goto yy3; + goto yy166; + } else { +- if (yych <= 'O') goto yy1499; ++ if (yych <= 'O') goto yy1501; + if (yych <= 'U') goto yy166; +- goto yy1500; ++ goto yy1502; + } + } + } else { + if (yych <= 'n') { + if (yych <= '^') { +- if (yych <= 'W') goto yy1497; ++ if (yych <= 'W') goto yy1499; + if (yych <= 'Z') goto yy166; + goto yy3; + } else { +@@ -22483,17 +22686,17 @@ yy1507: + } + } else { + if (yych <= 'v') { +- if (yych <= 'o') goto yy1514; ++ if (yych <= 'o') goto yy1516; + if (yych <= 'u') goto yy171; +- goto yy1515; ++ goto yy1517; + } else { +- if (yych <= 'w') goto yy1513; ++ if (yych <= 'w') goto yy1515; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1508: ++yy1510: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'W') { +@@ -22508,7 +22711,7 @@ yy1508: + } + } else { + if (yych <= '_') { +- if (yych <= 'X') goto yy1496; ++ if (yych <= 'X') goto yy1498; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -22517,13 +22720,13 @@ yy1508: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 'x') goto yy1512; ++ if (yych <= 'x') goto yy1514; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1509: ++yy1511: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { +@@ -22538,7 +22741,7 @@ yy1509: + } + } else { + if (yych <= '_') { +- if (yych <= 'N') goto yy1494; ++ if (yych <= 'N') goto yy1496; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -22547,13 +22750,13 @@ yy1509: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 'n') goto yy1510; ++ if (yych <= 'n') goto yy1512; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1510: ++yy1512: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { +@@ -22568,7 +22771,7 @@ yy1510: + } + } else { + if (yych <= '_') { +- if (yych <= 'T') goto yy1495; ++ if (yych <= 'T') goto yy1497; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -22577,13 +22780,13 @@ yy1510: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 't') goto yy1511; ++ if (yych <= 't') goto yy1513; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1511: ++yy1513: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { +@@ -22613,7 +22816,7 @@ yy1511: + } + } + } +-yy1512: ++yy1514: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { +@@ -22628,7 +22831,7 @@ yy1512: + } + } else { + if (yych <= '_') { +- if (yych <= 'T') goto yy1426; ++ if (yych <= 'T') goto yy1428; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -22637,36 +22840,36 @@ yy1512: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 't') goto yy1458; ++ if (yych <= 't') goto yy1460; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1513: ++yy1515: + yyaccept = 31; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy164; +- goto yy1498; ++ goto yy1500; + } else { +- if (yych == '.') goto yy1498; ++ if (yych == '.') goto yy1500; + goto yy172; + } + } else { + if (yych <= '^') { +- if (yych <= '@') goto yy1498; ++ if (yych <= '@') goto yy1500; + if (yych <= 'Z') goto yy167; +- goto yy1498; ++ goto yy1500; + } else { + if (yych <= '_') goto yy172; +- if (yych <= '`') goto yy1498; ++ if (yych <= '`') goto yy1500; + if (yych <= 'z') goto yy175; +- goto yy1498; ++ goto yy1500; + } + } +-yy1514: ++yy1516: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { +@@ -22681,7 +22884,7 @@ yy1514: + } + } else { + if (yych <= '_') { +- if (yych <= 'N') goto yy1505; ++ if (yych <= 'N') goto yy1507; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -22690,13 +22893,13 @@ yy1514: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 'n') goto yy1520; ++ if (yych <= 'n') goto yy1522; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1515: ++yy1517: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { +@@ -22724,7 +22927,7 @@ yy1515: + if (yych <= '@') goto yy218; + goto yy167; + } else { +- if (yych <= 'E') goto yy1501; ++ if (yych <= 'E') goto yy1503; + if (yych <= 'Z') goto yy167; + goto yy218; + } +@@ -22734,13 +22937,13 @@ yy1515: + if (yych <= '`') goto yy218; + goto yy175; + } else { +- if (yych <= 'e') goto yy1516; ++ if (yych <= 'e') goto yy1518; + if (yych <= 'z') goto yy175; + goto yy218; + } + } + } +-yy1516: ++yy1518: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'L') { +@@ -22755,7 +22958,7 @@ yy1516: + } + } else { + if (yych <= '_') { +- if (yych <= 'M') goto yy1502; ++ if (yych <= 'M') goto yy1504; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -22764,13 +22967,13 @@ yy1516: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 'm') goto yy1517; ++ if (yych <= 'm') goto yy1519; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1517: ++yy1519: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'A') { +@@ -22785,7 +22988,7 @@ yy1517: + } + } else { + if (yych <= '_') { +- if (yych <= 'B') goto yy1503; ++ if (yych <= 'B') goto yy1505; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; +@@ -22794,13 +22997,13 @@ yy1517: + if (yych <= '`') goto yy3; + goto yy177; + } else { +- if (yych <= 'b') goto yy1518; ++ if (yych <= 'b') goto yy1520; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +-yy1518: ++yy1520: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { +@@ -22814,44 +23017,44 @@ yy1518: + } + } else { + if (yych <= '`') { +- if (yych <= 'E') goto yy1504; ++ if (yych <= 'E') goto yy1506; + if (yych == '_') goto yy172; + goto yy3; + } else { +- if (yych == 'e') goto yy1519; ++ if (yych == 'e') goto yy1521; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +-yy1519: ++yy1521: + yych = *++YYCURSOR; + if (yych == 'R') goto yy229; + if (yych == 'r') goto yy341; + goto yy179; +-yy1520: ++yy1522: + yyaccept = 32; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy164; +- goto yy1506; ++ goto yy1508; + } else { +- if (yych == '.') goto yy1506; ++ if (yych == '.') goto yy1508; + goto yy172; + } + } else { + if (yych <= '^') { +- if (yych <= '@') goto yy1506; ++ if (yych <= '@') goto yy1508; + if (yych <= 'Z') goto yy168; +- goto yy1506; ++ goto yy1508; + } else { + if (yych <= '_') goto yy172; +- if (yych <= '`') goto yy1506; ++ if (yych <= '`') goto yy1508; + if (yych <= 'z') goto yy176; +- goto yy1506; ++ goto yy1508; + } + } +-yy1521: ++yy1523: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= ')') { +@@ -22867,12 +23070,12 @@ yy1521: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 's') goto yy1522; ++ if (yych <= 's') goto yy1524; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1522: ++yy1524: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { +@@ -22888,12 +23091,12 @@ yy1522: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 't') goto yy1523; ++ if (yych <= 't') goto yy1525; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1523: ++yy1525: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { +@@ -22909,12 +23112,12 @@ yy1523: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 'e') goto yy1524; ++ if (yych <= 'e') goto yy1526; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1524: ++yy1526: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { +@@ -22930,32 +23133,33 @@ yy1524: + if (yych <= '`') goto yy3; + goto yy169; + } else { +- if (yych <= 'r') goto yy1525; ++ if (yych <= 'r') goto yy1527; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +-yy1525: ++yy1527: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych <= 'D') goto yy1526; ++ if (yych <= 'D') goto yy1528; + if (yych != 'd') goto yy3; + } +-yy1526: ++yy1528: + yych = *++YYCURSOR; +- if (yych == 'A') goto yy1527; ++ if (yych == 'A') goto yy1529; + if (yych != 'a') goto yy56; +-yy1527: ++yy1529: + yych = *++YYCURSOR; +- if (yych == 'Y') goto yy1528; ++ if (yych == 'Y') goto yy1530; + if (yych != 'y') goto yy56; +-yy1528: ++yy1530: + ++YYCURSOR; +-yy1529: ++yy1531: ++#line 970 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("yesterday"); + TIMELIB_INIT; +@@ -22966,7 +23170,8 @@ yy1529: + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +-yy1530: ++#line 23174 "ext/date/lib/parse_date.c" ++yy1532: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { +@@ -22981,7 +23186,7 @@ yy1530: + } + } else { + if (yych <= '_') { +- if (yych <= 'S') goto yy1522; ++ if (yych <= 'S') goto yy1524; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -22990,13 +23195,13 @@ yy1530: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 's') goto yy1531; ++ if (yych <= 's') goto yy1533; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1531: ++yy1533: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { +@@ -23011,7 +23216,7 @@ yy1531: + } + } else { + if (yych <= '_') { +- if (yych <= 'T') goto yy1523; ++ if (yych <= 'T') goto yy1525; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -23020,13 +23225,13 @@ yy1531: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 't') goto yy1532; ++ if (yych <= 't') goto yy1534; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1532: ++yy1534: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { +@@ -23041,7 +23246,7 @@ yy1532: + } + } else { + if (yych <= '_') { +- if (yych <= 'E') goto yy1524; ++ if (yych <= 'E') goto yy1526; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -23050,13 +23255,13 @@ yy1532: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 'e') goto yy1533; ++ if (yych <= 'e') goto yy1535; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1533: ++yy1535: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { +@@ -23071,7 +23276,7 @@ yy1533: + } + } else { + if (yych <= '_') { +- if (yych <= 'R') goto yy1525; ++ if (yych <= 'R') goto yy1527; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; +@@ -23080,13 +23285,13 @@ yy1533: + if (yych <= '`') goto yy3; + goto yy177; + } else { +- if (yych <= 'r') goto yy1534; ++ if (yych <= 'r') goto yy1536; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +-yy1534: ++yy1536: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { +@@ -23100,21 +23305,21 @@ yy1534: + } + } else { + if (yych <= '`') { +- if (yych <= 'D') goto yy1526; ++ if (yych <= 'D') goto yy1528; + if (yych == '_') goto yy172; + goto yy3; + } else { +- if (yych == 'd') goto yy1535; ++ if (yych == 'd') goto yy1537; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +-yy1535: ++yy1537: + yych = *++YYCURSOR; +- if (yych == 'A') goto yy1527; ++ if (yych == 'A') goto yy1529; + if (yych != 'a') goto yy179; + yych = *++YYCURSOR; +- if (yych == 'Y') goto yy1528; ++ if (yych == 'Y') goto yy1530; + if (yych != 'y') goto yy179; + yyaccept = 33; + yych = *(YYMARKER = ++YYCURSOR); +@@ -23123,13 +23328,14 @@ yy1535: + } + if (yych <= '.') { + if (yych == '-') goto yy172; +- goto yy1529; ++ goto yy1531; + } else { + if (yych <= '/') goto yy172; + if (yych == '_') goto yy172; +- goto yy1529; ++ goto yy1531; + } + } ++#line 1772 "ext/date/lib/parse_date.re" + + } + +diff --git a/ext/date/lib/parse_date.re b/ext/date/lib/parse_date.re +index 74d9ea3..f26e276 100644 +--- a/ext/date/lib/parse_date.re ++++ b/ext/date/lib/parse_date.re +@@ -931,8 +931,8 @@ isoweek = year4 "-"? "W" weekofyear; + exif = year4 ":" monthlz ":" daylz " " hour24lz ":" minutelz ":" secondlz; + firstdayof = 'first day of'; + lastdayof = 'last day of'; +-backof = 'back of ' hour24 space? meridian?; +-frontof = 'front of ' hour24 space? meridian?; ++backof = 'back of ' hour24 (space? meridian)?; ++frontof = 'front of ' hour24 (space? meridian)?; + + /* Common Log Format: 10/Oct/2000:13:55:36 -0700 */ + clf = day "/" monthabbr "/" year4 ":" hour24lz ":" minutelz ":" secondlz space tzcorrection; +diff --git a/ext/date/tests/bug53437_var3.phpt b/ext/date/tests/bug53437_var3.phpt +index 8f48b1b..8dcd4c8 100644 +--- a/ext/date/tests/bug53437_var3.phpt ++++ b/ext/date/tests/bug53437_var3.phpt +@@ -40,7 +40,7 @@ object(DateInterval)#%d (16) { + ["special_amount"]=> + int(-1) + ["have_weekday_relative"]=> +- int(9) ++ int(0) + ["have_special_relative"]=> + int(0) + ["f"]=> +diff --git a/ext/wddx/tests/bug75055.phpt b/ext/wddx/tests/bug75055.phpt +new file mode 100644 +index 0000000..2956284 +--- /dev/null ++++ b/ext/wddx/tests/bug75055.phpt +@@ -0,0 +1,20 @@ ++--TEST-- ++Bug #75055 Out-Of-Bounds Read in timelib_meridian() ++--SKIPIF-- ++ ++--FILE-- ++ ++--EXPECT-- ++323 bytes read. ++array(1) { ++ ["aDateTime"]=> ++ string(12) "frONt of 0 0" ++} +diff --git a/ext/wddx/tests/bug75055.wddx b/ext/wddx/tests/bug75055.wddx +new file mode 100644 +index 0000000..6493352 +--- /dev/null ++++ b/ext/wddx/tests/bug75055.wddx +@@ -0,0 +1,13 @@ ++ ++ ++ ++
++ ++ ++ ++ frONt of 0 0 ++ ++ ++ ++ ++ +-- +2.11.0 + diff --git a/meta-oe/recipes-devtools/php/php_7.1.9.bb b/meta-oe/recipes-devtools/php/php_7.1.9.bb index 157369e03f..acf68a0594 100644 --- a/meta-oe/recipes-devtools/php/php_7.1.9.bb +++ b/meta-oe/recipes-devtools/php/php_7.1.9.bb @@ -4,6 +4,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=c0af599f66d0461c5837c695fcbc5c1e" SRC_URI += "file://change-AC_TRY_RUN-to-AC_TRY_LINK.patch \ file://0001-Specify-tag-with-libtool.patch \ + file://CVE-2017-16642.patch \ " SRC_URI[md5sum] = "2397be54f3281cdf30c7ef076b28f7d0" SRC_URI[sha256sum] = "314dcc10dfdd7c4443edb4fe1e133a44f2b2a8351be8c9eb6ab9222d45fd9bae" -- cgit 1.2.3-korg