PHP  
 PHP: Test and Code Coverage Analysis
downloads | QA | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | my php.net 
 

LTP GCOV extension - code coverage report
Current view: directory - var/php_gcov/PHP_5_2/lcov_data/ext/date/lib - parse_date.c
Test: PHP Code Coverage
Date: 2009-11-19 Instrumented lines: 14695
Code covered: 24.2 % Executed lines: 3562
Legend: not executed executed

       1                 : /* Generated by re2c 0.13.5 on Thu Dec 18 15:52:22 2008 */
       2                 : #line 1 "ext/date/lib/parse_date.re"
       3                 : /*
       4                 :    +----------------------------------------------------------------------+
       5                 :    | PHP Version 5                                                        |
       6                 :    +----------------------------------------------------------------------+
       7                 :    | Copyright (c) 1997-2006 The PHP Group                                |
       8                 :    +----------------------------------------------------------------------+
       9                 :    | This source file is subject to version 3.01 of the PHP license,      |
      10                 :    | that is bundled with this package in the file LICENSE, and is        |
      11                 :    | available through the world-wide-web at the following url:           |
      12                 :    | http://www.php.net/license/3_01.txt                                  |
      13                 :    | If you did not receive a copy of the PHP license and are unable to   |
      14                 :    | obtain it through the world-wide-web, please send a note to          |
      15                 :    | license@php.net so we can mail you a copy immediately.               |
      16                 :    +----------------------------------------------------------------------+
      17                 :    | Authors: Derick Rethans <derick@derickrethans.nl>                    |
      18                 :    +----------------------------------------------------------------------+
      19                 :  */
      20                 : 
      21                 : /* $Id: parse_date.c 271468 2008-12-18 14:57:04Z derick $ */
      22                 : 
      23                 : #include "timelib.h"
      24                 : 
      25                 : #include <stdio.h>
      26                 : #include <ctype.h>
      27                 : 
      28                 : #ifdef HAVE_STDLIB_H
      29                 : #include <stdlib.h>
      30                 : #endif
      31                 : #ifdef HAVE_STRING_H
      32                 : #include <string.h>
      33                 : #else
      34                 : #include <strings.h>
      35                 : #endif
      36                 : 
      37                 : #if defined(_MSC_VER)
      38                 : # define strtoll(s, f, b) _atoi64(s)
      39                 : #elif !defined(HAVE_STRTOLL)
      40                 : # if defined(HAVE_ATOLL)
      41                 : #  define strtoll(s, f, b) atoll(s)
      42                 : # else
      43                 : #  define strtoll(s, f, b) strtol(s, f, b)
      44                 : # endif
      45                 : #endif
      46                 : 
      47                 : #define TIMELIB_UNSET   -99999
      48                 : 
      49                 : #define TIMELIB_SECOND  1
      50                 : #define TIMELIB_MINUTE  2
      51                 : #define TIMELIB_HOUR    3
      52                 : #define TIMELIB_DAY     4
      53                 : #define TIMELIB_MONTH   5
      54                 : #define TIMELIB_YEAR    6
      55                 : #define TIMELIB_WEEKDAY 7
      56                 : #define TIMELIB_SPECIAL 8
      57                 : 
      58                 : #define EOI      257
      59                 : #define TIME     258
      60                 : #define DATE     259
      61                 : 
      62                 : #define TIMELIB_XMLRPC_SOAP    260
      63                 : #define TIMELIB_TIME12         261
      64                 : #define TIMELIB_TIME24         262
      65                 : #define TIMELIB_GNU_NOCOLON    263
      66                 : #define TIMELIB_GNU_NOCOLON_TZ 264
      67                 : #define TIMELIB_ISO_NOCOLON    265
      68                 : 
      69                 : #define TIMELIB_AMERICAN       266
      70                 : #define TIMELIB_ISO_DATE       267
      71                 : #define TIMELIB_DATE_FULL      268
      72                 : #define TIMELIB_DATE_TEXT      269
      73                 : #define TIMELIB_DATE_NOCOLON   270
      74                 : #define TIMELIB_PG_YEARDAY     271
      75                 : #define TIMELIB_PG_TEXT        272
      76                 : #define TIMELIB_PG_REVERSE     273
      77                 : #define TIMELIB_CLF            274
      78                 : #define TIMELIB_DATE_NO_DAY    275
      79                 : #define TIMELIB_SHORTDATE_WITH_TIME 276
      80                 : #define TIMELIB_DATE_FULL_POINTED 277
      81                 : #define TIMELIB_TIME24_WITH_ZONE 278
      82                 : #define TIMELIB_ISO_WEEK       279
      83                 : 
      84                 : #define TIMELIB_TIMEZONE       300
      85                 : #define TIMELIB_AGO            301
      86                 : 
      87                 : #define TIMELIB_RELATIVE       310
      88                 : 
      89                 : #define TIMELIB_ERROR          999
      90                 : 
      91                 : typedef unsigned char uchar;
      92                 : 
      93                 : #define   BSIZE    8192
      94                 : 
      95                 : #define   YYCTYPE      uchar
      96                 : #define   YYCURSOR     cursor
      97                 : #define   YYLIMIT      s->lim
      98                 : #define   YYMARKER     s->ptr
      99                 : #define   YYFILL(n)    return EOI;
     100                 : 
     101                 : #define   RET(i)       {s->cur = cursor; return i;}
     102                 : 
     103                 : #define timelib_string_free free
     104                 : 
     105                 : #define TIMELIB_HAVE_TIME() { if (s->time->have_time) { add_error(s, "Double time specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_time = 1; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } }
     106                 : #define TIMELIB_UNHAVE_TIME() { s->time->have_time = 0; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; }
     107                 : #define TIMELIB_HAVE_DATE() { if (s->time->have_date) { add_error(s, "Double date specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_date = 1; } }
     108                 : #define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; }
     109                 : #define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; s->time->relative.weekday_behavior = 1; }
     110                 : #define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_weekday_relative = 1; }
     111                 : #define TIMELIB_HAVE_SPECIAL_RELATIVE() { s->time->have_special_relative = 1; }
     112                 : #define TIMELIB_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { add_warning(s, "Double timezone specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_zone = 1; } }
     113                 : 
     114                 : #define TIMELIB_INIT  s->cur = cursor; str = timelib_string(s); ptr = str
     115                 : #define TIMELIB_DEINIT timelib_string_free(str)
     116                 : #define TIMELIB_ADJUST_RELATIVE_WEEKDAY() if (in->time.have_weekday_relative && (in.rel.d > 0)) { in.rel.d -= 7; }
     117                 : 
     118                 : #define TIMELIB_PROCESS_YEAR(x) { \
     119                 :         if ((x) == TIMELIB_UNSET) {         \
     120                 :         /*      (x) = 0; */          \
     121                 :         } else if ((x) < 100) {  \
     122                 :                 if ((x) < 70) {      \
     123                 :                         (x) += 2000;     \
     124                 :                 } else {             \
     125                 :                         (x) += 1900;     \
     126                 :                 }                    \
     127                 :         }                        \
     128                 : }
     129                 : 
     130                 : #ifdef DEBUG_PARSER
     131                 : #define DEBUG_OUTPUT(s) printf("%s\n", s);
     132                 : #define YYDEBUG(s,c) { if (s != -1) { printf("state: %d ", s); printf("[%c]\n", c); } }
     133                 : #else
     134                 : #define DEBUG_OUTPUT(s)
     135                 : #define YYDEBUG(s,c)
     136                 : #endif
     137                 : 
     138                 : #include "timelib_structs.h"
     139                 : 
     140                 : typedef struct timelib_elems {
     141                 :         unsigned int   c; /* Number of elements */
     142                 :         char         **v; /* Values */
     143                 : } timelib_elems;
     144                 : 
     145                 : typedef struct Scanner {
     146                 :         int           fd;
     147                 :         uchar        *lim, *str, *ptr, *cur, *tok, *pos;
     148                 :         unsigned int  line, len;
     149                 :         struct timelib_error_container *errors;
     150                 : 
     151                 :         struct timelib_time *time;
     152                 :         const timelib_tzdb  *tzdb;
     153                 : } Scanner;
     154                 : 
     155                 : typedef struct _timelib_lookup_table {
     156                 :     const char *name;
     157                 :     int         type;
     158                 :     int         value;
     159                 : } timelib_lookup_table;
     160                 : 
     161                 : typedef struct _timelib_relunit {
     162                 :         const char *name;
     163                 :         int         unit;
     164                 :         int         multiplier;
     165                 : } timelib_relunit;
     166                 : 
     167                 : #define HOUR(a) (int)(a * 60)
     168                 : 
     169                 : /* The timezone table. */
     170                 : const static timelib_tz_lookup_table timelib_timezone_lookup[] = {
     171                 : #include "timezonemap.h"
     172                 :         { NULL, 0, 0, NULL },
     173                 : };
     174                 : 
     175                 : const static timelib_tz_lookup_table timelib_timezone_fallbackmap[] = {
     176                 : #include "fallbackmap.h"
     177                 :         { NULL, 0, 0, NULL },
     178                 : };
     179                 : 
     180                 : const static timelib_tz_lookup_table timelib_timezone_utc[] = {
     181                 :         { "utc", 0, 0, "UTC" },
     182                 : };
     183                 : 
     184                 : static timelib_relunit const timelib_relunit_lookup[] = {
     185                 :         { "sec",         TIMELIB_SECOND,  1 },
     186                 :         { "secs",        TIMELIB_SECOND,  1 },
     187                 :         { "second",      TIMELIB_SECOND,  1 },
     188                 :         { "seconds",     TIMELIB_SECOND,  1 },
     189                 :         { "min",         TIMELIB_MINUTE,  1 },
     190                 :         { "mins",        TIMELIB_MINUTE,  1 },
     191                 :         { "minute",      TIMELIB_MINUTE,  1 },
     192                 :         { "minutes",     TIMELIB_MINUTE,  1 },
     193                 :         { "hour",        TIMELIB_HOUR,    1 },
     194                 :         { "hours",       TIMELIB_HOUR,    1 },
     195                 :         { "day",         TIMELIB_DAY,     1 },
     196                 :         { "days",        TIMELIB_DAY,     1 },
     197                 :         { "week",        TIMELIB_DAY,     7 },
     198                 :         { "weeks",       TIMELIB_DAY,     7 },
     199                 :         { "fortnight",   TIMELIB_DAY,    14 },
     200                 :         { "fortnights",  TIMELIB_DAY,    14 },
     201                 :         { "forthnight",  TIMELIB_DAY,    14 },
     202                 :         { "forthnights", TIMELIB_DAY,    14 },
     203                 :         { "month",       TIMELIB_MONTH,   1 },
     204                 :         { "months",      TIMELIB_MONTH,   1 },
     205                 :         { "year",        TIMELIB_YEAR,    1 },
     206                 :         { "years",       TIMELIB_YEAR,    1 },
     207                 : 
     208                 :         { "monday",      TIMELIB_WEEKDAY, 1 },
     209                 :         { "mon",         TIMELIB_WEEKDAY, 1 },
     210                 :         { "tuesday",     TIMELIB_WEEKDAY, 2 },
     211                 :         { "tue",         TIMELIB_WEEKDAY, 2 },
     212                 :         { "wednesday",   TIMELIB_WEEKDAY, 3 },
     213                 :         { "wed",         TIMELIB_WEEKDAY, 3 },
     214                 :         { "thursday",    TIMELIB_WEEKDAY, 4 },
     215                 :         { "thu",         TIMELIB_WEEKDAY, 4 },
     216                 :         { "friday",      TIMELIB_WEEKDAY, 5 },
     217                 :         { "fri",         TIMELIB_WEEKDAY, 5 },
     218                 :         { "saturday",    TIMELIB_WEEKDAY, 6 },
     219                 :         { "sat",         TIMELIB_WEEKDAY, 6 },
     220                 :         { "sunday",      TIMELIB_WEEKDAY, 0 },
     221                 :         { "sun",         TIMELIB_WEEKDAY, 0 },
     222                 : 
     223                 :         { "weekday",     TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY },
     224                 :         { "weekdays",    TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY },
     225                 :         { NULL,          0,          0 }
     226                 : };
     227                 : 
     228                 : /* The relative text table. */
     229                 : static timelib_lookup_table const timelib_reltext_lookup[] = {
     230                 :         { "first",    0,  1 },
     231                 :         { "next",     0,  1 },
     232                 :         { "second",   0,  2 },
     233                 :         { "third",    0,  3 },
     234                 :         { "fourth",   0,  4 },
     235                 :         { "fifth",    0,  5 },
     236                 :         { "sixth",    0,  6 },
     237                 :         { "seventh",  0,  7 },
     238                 :         { "eight",    0,  8 },
     239                 :         { "ninth",    0,  9 },
     240                 :         { "tenth",    0, 10 },
     241                 :         { "eleventh", 0, 11 },
     242                 :         { "twelfth",  0, 12 },
     243                 :         { "last",     0, -1 },
     244                 :         { "previous", 0, -1 },
     245                 :         { "this",     1,  0 },
     246                 :         { NULL,       1,  0 }
     247                 : };
     248                 : 
     249                 : /* The month table. */
     250                 : static timelib_lookup_table const timelib_month_lookup[] = {
     251                 :         { "jan",  0,  1 },
     252                 :         { "feb",  0,  2 },
     253                 :         { "mar",  0,  3 },
     254                 :         { "apr",  0,  4 },
     255                 :         { "may",  0,  5 },
     256                 :         { "jun",  0,  6 },
     257                 :         { "jul",  0,  7 },
     258                 :         { "aug",  0,  8 },
     259                 :         { "sep",  0,  9 },
     260                 :         { "sept", 0,  9 },
     261                 :         { "oct",  0, 10 },
     262                 :         { "nov",  0, 11 },
     263                 :         { "dec",  0, 12 },
     264                 :         { "i",    0,  1 },
     265                 :         { "ii",   0,  2 },
     266                 :         { "iii",  0,  3 },
     267                 :         { "iv",   0,  4 },
     268                 :         { "v",    0,  5 },
     269                 :         { "vi",   0,  6 },
     270                 :         { "vii",  0,  7 },
     271                 :         { "viii", 0,  8 },
     272                 :         { "ix",   0,  9 },
     273                 :         { "x",    0, 10 },
     274                 :         { "xi",   0, 11 },
     275                 :         { "xii",  0, 12 },
     276                 : 
     277                 :         { "january",   0,  1 },
     278                 :         { "february",  0,  2 },
     279                 :         { "march",     0,  3 },
     280                 :         { "april",     0,  4 },
     281                 :         { "may",       0,  5 },
     282                 :         { "june",      0,  6 },
     283                 :         { "july",      0,  7 },
     284                 :         { "august",    0,  8 },
     285                 :         { "september", 0,  9 },
     286                 :         { "october",   0, 10 },
     287                 :         { "november",  0, 11 },
     288                 :         { "december",  0, 12 },
     289                 :         {  NULL,       0,  0 }
     290                 : };
     291                 : 
     292                 : #if 0
     293                 : static char* timelib_ltrim(char *s)
     294                 : {
     295                 :         char *ptr = s;
     296                 :         while (ptr[0] == ' ' || ptr[0] == '\t') {
     297                 :                 ptr++;
     298                 :         }
     299                 :         return ptr;
     300                 : }
     301                 : #endif
     302                 : 
     303                 : #if 0
     304                 : uchar *fill(Scanner *s, uchar *cursor){
     305                 :         if(!s->eof){
     306                 :                 unsigned int cnt = s->tok - s->bot;
     307                 :                 if(cnt){
     308                 :                         memcpy(s->bot, s->tok, s->lim - s->tok);
     309                 :                         s->tok = s->bot;
     310                 :                         s->ptr -= cnt;
     311                 :                         cursor -= cnt;
     312                 :                         s->pos -= cnt;
     313                 :                         s->lim -= cnt;
     314                 :                 }
     315                 :                 if((s->top - s->lim) < BSIZE){
     316                 :                         uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar));
     317                 :                         memcpy(buf, s->tok, s->lim - s->tok);
     318                 :                         s->tok = buf;
     319                 :                         s->ptr = &buf[s->ptr - s->bot];
     320                 :                         cursor = &buf[cursor - s->bot];
     321                 :                         s->pos = &buf[s->pos - s->bot];
     322                 :                         s->lim = &buf[s->lim - s->bot];
     323                 :                         s->top = &s->lim[BSIZE];
     324                 :                         free(s->bot);
     325                 :                         s->bot = buf;
     326                 :                 }
     327                 :                 if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){
     328                 :                         s->eof = &s->lim[cnt]; *(s->eof)++ = '\n';
     329                 :                 }
     330                 :                 s->lim += cnt;
     331                 :         }
     332                 :         return cursor;
     333                 : }
     334                 : #endif
     335                 : 
     336                 : static void add_warning(Scanner *s, char *error)
     337                 : {
     338                 :         s->errors->warning_count++;
     339                 :         s->errors->warning_messages = realloc(s->errors->warning_messages, s->errors->warning_count * sizeof(timelib_error_message));
     340                 :         s->errors->warning_messages[s->errors->warning_count - 1].position = s->tok ? s->tok - s->str : 0;
     341                 :         s->errors->warning_messages[s->errors->warning_count - 1].character = s->tok ? *s->tok : 0;
     342                 :         s->errors->warning_messages[s->errors->warning_count - 1].message = strdup(error);
     343                 : }
     344                 : 
     345                 : static void add_error(Scanner *s, char *error)
     346                 : {
     347                 :         s->errors->error_count++;
     348                 :         s->errors->error_messages = realloc(s->errors->error_messages, s->errors->error_count * sizeof(timelib_error_message));
     349                 :         s->errors->error_messages[s->errors->error_count - 1].position = s->tok ? s->tok - s->str : 0;
     350                 :         s->errors->error_messages[s->errors->error_count - 1].character = s->tok ? *s->tok : 0;
     351                 :         s->errors->error_messages[s->errors->error_count - 1].message = strdup(error);
     352                 : }
     353                 : 
     354                 : static timelib_sll timelib_meridian(char **ptr, timelib_sll h)
     355                 : {
     356                 :         timelib_sll retval = 0;
     357                 : 
     358                 :         while (!strchr("AaPp", **ptr)) {
     359                 :                 ++*ptr;
     360                 :         }
     361                 :         if (**ptr == 'a' || **ptr == 'A') {
     362                 :                 if (h == 12) {
     363                 :                         retval = -12;
     364                 :                 }
     365                 :         } else if (h != 12) {
     366                 :                 retval = 12;
     367                 :         }
     368                 :         ++*ptr;
     369                 :         if (**ptr == '.') {
     370                 :                 *ptr += 3;
     371                 :         } else {
     372                 :                 ++*ptr;
     373                 :         }
     374                 :         return retval;
     375                 : }
     376                 : 
     377                 : static char *timelib_string(Scanner *s)
     378                 : {
     379                 :         char *tmp = calloc(1, s->cur - s->tok + 1);
     380                 :         memcpy(tmp, s->tok, s->cur - s->tok);
     381                 : 
     382                 :         return tmp;
     383                 : }
     384                 : 
     385                 : static timelib_sll timelib_get_nr(char **ptr, int max_length)
     386                 : {
     387                 :         char *begin, *end, *str;
     388                 :         timelib_sll tmp_nr = TIMELIB_UNSET;
     389                 :         int len = 0;
     390                 : 
     391                 :         while ((**ptr < '0') || (**ptr > '9')) {
     392                 :                 if (**ptr == '\0') {
     393                 :                         return TIMELIB_UNSET;
     394                 :                 }
     395                 :                 ++*ptr;
     396                 :         }
     397                 :         begin = *ptr;
     398                 :         while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) {
     399                 :                 ++*ptr;
     400                 :                 ++len;
     401                 :         }
     402                 :         end = *ptr;
     403                 :         str = calloc(1, end - begin + 1);
     404                 :         memcpy(str, begin, end - begin);
     405                 :         tmp_nr = strtoll(str, NULL, 10);
     406                 :         free(str);
     407                 :         return tmp_nr;
     408                 : }
     409                 : 
     410                 : static void timelib_skip_day_suffix(char **ptr)
     411                 : {
     412                 :         if (isspace(**ptr)) {
     413                 :                 return;
     414                 :         }
     415                 :         if (!strncasecmp(*ptr, "nd", 2) || !strncasecmp(*ptr, "rd", 2) ||!strncasecmp(*ptr, "st", 2) || !strncasecmp(*ptr, "th", 2)) {
     416                 :                 *ptr += 2;
     417                 :         }
     418                 : }
     419                 : 
     420                 : static double timelib_get_frac_nr(char **ptr, int max_length)
     421                 : {
     422                 :         char *begin, *end, *str;
     423                 :         double tmp_nr = TIMELIB_UNSET;
     424                 :         int len = 0;
     425                 : 
     426                 :         while ((**ptr != '.') && ((**ptr < '0') || (**ptr > '9'))) {
     427                 :                 if (**ptr == '\0') {
     428                 :                         return TIMELIB_UNSET;
     429                 :                 }
     430                 :                 ++*ptr;
     431                 :         }
     432                 :         begin = *ptr;
     433                 :         while (((**ptr == '.') || ((**ptr >= '0') && (**ptr <= '9'))) && len < max_length) {
     434                 :                 ++*ptr;
     435                 :                 ++len;
     436                 :         }
     437                 :         end = *ptr;
     438                 :         str = calloc(1, end - begin + 1);
     439                 :         memcpy(str, begin, end - begin);
     440                 :         tmp_nr = strtod(str, NULL);
     441                 :         free(str);
     442                 :         return tmp_nr;
     443                 : }
     444                 : 
     445                 : static timelib_ull timelib_get_unsigned_nr(char **ptr, int max_length)
     446                 : {
     447                 :         timelib_ull dir = 1;
     448                 : 
     449                 :         while (((**ptr < '0') || (**ptr > '9')) && (**ptr != '+') && (**ptr != '-')) {
     450                 :                 if (**ptr == '\0') {
     451                 :                         return TIMELIB_UNSET;
     452                 :                 }
     453                 :                 ++*ptr;
     454                 :         }
     455                 : 
     456                 :         while (**ptr == '+' || **ptr == '-')
     457                 :         {
     458                 :                 if (**ptr == '-') {
     459                 :                         dir *= -1;
     460                 :                 }
     461                 :                 ++*ptr;
     462                 :         }
     463                 :         return dir * timelib_get_nr(ptr, max_length);
     464                 : }
     465                 : 
     466                 : static long timelib_parse_tz_cor(char **ptr)
     467                 : {
     468                 :         char *begin = *ptr, *end;
     469                 :         long  tmp;
     470                 : 
     471                 :         while (**ptr != '\0') {
     472                 :                 ++*ptr;
     473                 :         }
     474                 :         end = *ptr;
     475                 :         switch (end - begin) {
     476                 :                 case 1:
     477                 :                 case 2:
     478                 :                         return HOUR(strtol(begin, NULL, 10));
     479                 :                         break;
     480                 :                 case 3:
     481                 :                 case 4:
     482                 :                         if (begin[1] == ':') {
     483                 :                                 tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 2, NULL, 10);
     484                 :                                 return tmp;
     485                 :                         } else if (begin[2] == ':') {
     486                 :                                 tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10);
     487                 :                                 return tmp;
     488                 :                         } else {
     489                 :                                 tmp = strtol(begin, NULL, 10);
     490                 :                                 return HOUR(tmp / 100) + tmp % 100;
     491                 :                         }
     492                 :                 case 5:
     493                 :                         tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10);
     494                 :                         return tmp;
     495                 :         }
     496                 :         return 0;
     497                 : }
     498                 : 
     499                 : static timelib_sll timelib_lookup_relative_text(char **ptr, int *behavior)
     500                 : {
     501                 :         char *word;
     502                 :         char *begin = *ptr, *end;
     503                 :         timelib_sll  value = 0;
     504                 :         const timelib_lookup_table *tp;
     505                 : 
     506                 :         while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) {
     507                 :                 ++*ptr;
     508                 :         }
     509                 :         end = *ptr;
     510                 :         word = calloc(1, end - begin + 1);
     511                 :         memcpy(word, begin, end - begin);
     512                 : 
     513                 :         for (tp = timelib_reltext_lookup; tp->name; tp++) {
     514                 :                 if (strcasecmp(word, tp->name) == 0) {
     515                 :                         value = tp->value;
     516                 :                         *behavior = tp->type;
     517                 :                 }
     518                 :         }
     519                 : 
     520                 :         free(word);
     521                 :         return value;
     522                 : }
     523                 : 
     524                 : static timelib_sll timelib_get_relative_text(char **ptr, int *behavior)
     525                 : {
     526                 :         while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '/') {
     527                 :                 ++*ptr;
     528                 :         }
     529                 :         return timelib_lookup_relative_text(ptr, behavior);
     530                 : }
     531                 : 
     532                 : static long timelib_lookup_month(char **ptr)
     533                 : {
     534                 :         char *word;
     535                 :         char *begin = *ptr, *end;
     536                 :         long  value = 0;
     537                 :         const timelib_lookup_table *tp;
     538                 : 
     539                 :         while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) {
     540                 :                 ++*ptr;
     541                 :         }
     542                 :         end = *ptr;
     543                 :         word = calloc(1, end - begin + 1);
     544                 :         memcpy(word, begin, end - begin);
     545                 : 
     546                 :         for (tp = timelib_month_lookup; tp->name; tp++) {
     547                 :                 if (strcasecmp(word, tp->name) == 0) {
     548                 :                         value = tp->value;
     549                 :                 }
     550                 :         }
     551                 : 
     552                 :         free(word);
     553                 :         return value;
     554                 : }
     555                 : 
     556                 : static long timelib_get_month(char **ptr)
     557                 : {
     558                 :         while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '.' || **ptr == '/') {
     559                 :                 ++*ptr;
     560                 :         }
     561                 :         return timelib_lookup_month(ptr);
     562                 : }
     563                 : 
     564                 : static void timelib_eat_spaces(char **ptr)
     565                 : {
     566                 :         while (**ptr == ' ' || **ptr == '\t') {
     567                 :                 ++*ptr;
     568                 :         }
     569                 : }
     570                 : 
     571                 : static const timelib_relunit* timelib_lookup_relunit(char **ptr)
     572                 : {
     573                 :         char *word;
     574                 :         char *begin = *ptr, *end;
     575                 :         const timelib_relunit *tp, *value = NULL;
     576                 : 
     577                 :         while (**ptr != '\0' && **ptr != ' ' && **ptr != '\t') {
     578                 :                 ++*ptr;
     579                 :         }
     580                 :         end = *ptr;
     581                 :         word = calloc(1, end - begin + 1);
     582                 :         memcpy(word, begin, end - begin);
     583                 : 
     584                 :         for (tp = timelib_relunit_lookup; tp->name; tp++) {
     585                 :                 if (strcasecmp(word, tp->name) == 0) {
     586                 :                         value = tp;
     587                 :                         break;
     588                 :                 }
     589                 :         }
     590                 : 
     591                 :         free(word);
     592                 :         return value;
     593                 : }
     594                 : 
     595                 : static void timelib_set_relative(char **ptr, timelib_sll amount, int behavior, Scanner *s)
     596                 : {
     597                 :         const timelib_relunit* relunit;
     598                 : 
     599                 :         if (!(relunit = timelib_lookup_relunit(ptr))) {
     600                 :                 return;
     601                 :         }
     602                 : 
     603                 :         switch (relunit->unit) {
     604                 :                 case TIMELIB_SECOND: s->time->relative.s += amount * relunit->multiplier; break;
     605                 :                 case TIMELIB_MINUTE: s->time->relative.i += amount * relunit->multiplier; break;
     606                 :                 case TIMELIB_HOUR:   s->time->relative.h += amount * relunit->multiplier; break;
     607                 :                 case TIMELIB_DAY:    s->time->relative.d += amount * relunit->multiplier; break;
     608                 :                 case TIMELIB_MONTH:  s->time->relative.m += amount * relunit->multiplier; break;
     609                 :                 case TIMELIB_YEAR:   s->time->relative.y += amount * relunit->multiplier; break;
     610                 : 
     611                 :                 case TIMELIB_WEEKDAY:
     612                 :                         TIMELIB_HAVE_WEEKDAY_RELATIVE();
     613                 :                         TIMELIB_UNHAVE_TIME();
     614                 :                         s->time->relative.d += (amount > 0 ? amount - 1 : amount) * 7;
     615                 :                         s->time->relative.weekday = relunit->multiplier;
     616                 :                         s->time->relative.weekday_behavior = behavior;
     617                 :                         break;
     618                 : 
     619                 :                 case TIMELIB_SPECIAL:
     620                 :                         TIMELIB_HAVE_SPECIAL_RELATIVE();
     621                 :                         TIMELIB_UNHAVE_TIME();
     622                 :                         s->time->special.type = relunit->multiplier;
     623                 :                         s->time->special.amount = amount;
     624                 :         }
     625                 : }
     626                 : 
     627                 : const static timelib_tz_lookup_table* zone_search(const char *word, long gmtoffset, int isdst)
     628                 : {
     629                 :         int first_found = 0;
     630                 :         const timelib_tz_lookup_table  *tp, *first_found_elem = NULL;
     631                 :         const timelib_tz_lookup_table  *fmp;
     632                 : 
     633                 :         if (strcasecmp("utc", word) == 0 || strcasecmp("gmt", word) == 0) {
     634                 :                 return timelib_timezone_utc;
     635                 :         }
     636                 :         
     637                 :         for (tp = timelib_timezone_lookup; tp->name; tp++) {
     638                 :                 if (strcasecmp(word, tp->name) == 0) {
     639                 :                         if (!first_found) {
     640                 :                                 first_found = 1;
     641                 :                                 first_found_elem = tp;
     642                 :                                 if (gmtoffset == -1) {
     643                 :                                         return tp;
     644                 :                                 }
     645                 :                         }
     646                 :                         if (tp->gmtoffset == gmtoffset) {
     647                 :                                 return tp;
     648                 :                         }
     649                 :                 }
     650                 :         }
     651                 :         if (first_found) {
     652                 :                 return first_found_elem;
     653                 :         }
     654                 : 
     655                 :         /* Still didn't find anything, let's find the zone solely based on
     656                 :          * offset/isdst then */
     657                 :         for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) {
     658                 :                 if ((fmp->gmtoffset * 3600) == gmtoffset && fmp->type == isdst) {
     659                 :                         return fmp;
     660                 :                 }
     661                 :         }
     662                 :         return NULL;
     663                 : }
     664                 : 
     665                 : static long timelib_lookup_zone(char **ptr, int *dst, char **tz_abbr, int *found)
     666                 : {
     667                 :         char *word;
     668                 :         char *begin = *ptr, *end;
     669                 :         long  value = 0;
     670                 :         const timelib_tz_lookup_table *tp;
     671                 : 
     672                 :         while (**ptr != '\0' && **ptr != ')' && **ptr != ' ') {
     673                 :                 ++*ptr;
     674                 :         }
     675                 :         end = *ptr;
     676                 :         word = calloc(1, end - begin + 1);
     677                 :         memcpy(word, begin, end - begin);
     678                 : 
     679                 :         if ((tp = zone_search(word, -1, 0))) {
     680                 :                 value = -tp->gmtoffset / 60;
     681                 :                 *dst = tp->type;
     682                 :                 value += tp->type * 60;
     683                 :                 *found = 1;
     684                 :         } else {
     685                 :                 *found = 0;
     686                 :         }
     687                 : 
     688                 :         *tz_abbr = word;
     689                 :         return value;
     690                 : }
     691                 : 
     692                 : static long timelib_get_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_found, const timelib_tzdb *tzdb)
     693                 : {
     694                 :         timelib_tzinfo *res;
     695                 :         long            retval = 0;
     696                 : 
     697                 :         *tz_not_found = 0;
     698                 : 
     699                 :         while (**ptr == ' ' || **ptr == '\t' || **ptr == '(') {
     700                 :                 ++*ptr;
     701                 :         }
     702                 :         if (**ptr == '+') {
     703                 :                 ++*ptr;
     704                 :                 t->is_localtime = 1;
     705                 :                 t->zone_type = TIMELIB_ZONETYPE_OFFSET;
     706                 :                 *tz_not_found = 0;
     707                 :                 t->dst = 0;
     708                 : 
     709                 :                 retval = -1 * timelib_parse_tz_cor(ptr);
     710                 :         } else if (**ptr == '-') {
     711                 :                 ++*ptr;
     712                 :                 t->is_localtime = 1;
     713                 :                 t->zone_type = TIMELIB_ZONETYPE_OFFSET;
     714                 :                 *tz_not_found = 0;
     715                 :                 t->dst = 0;
     716                 : 
     717                 :                 retval = timelib_parse_tz_cor(ptr);
     718                 :         } else {
     719                 :                 int found = 0;
     720                 :                 long offset;
     721                 :                 char *tz_abbr;
     722                 : 
     723                 :                 t->is_localtime = 1;
     724                 : 
     725                 :                 offset = timelib_lookup_zone(ptr, dst, &tz_abbr, &found);
     726                 :                 if (found) {
     727                 :                         t->zone_type = TIMELIB_ZONETYPE_ABBR;
     728                 :                 }
     729                 : #if 0
     730                 :                 /* If we found a TimeZone identifier, use it */
     731                 :                 if (tz_name) {
     732                 :                         t->tz_info = timelib_parse_tzfile(tz_name);
     733                 :                         t->zone_type = TIMELIB_ZONETYPE_ID;
     734                 :                 }
     735                 : #endif
     736                 :                 /* If we have a TimeZone identifier to start with, use it */
     737                 :                 if (strstr(tz_abbr, "/") || strcmp(tz_abbr, "UTC") == 0) {
     738                 :                         if ((res = timelib_parse_tzfile(tz_abbr, tzdb)) != NULL) {
     739                 :                                 t->tz_info = res;
     740                 :                                 t->zone_type = TIMELIB_ZONETYPE_ID;
     741                 :                                 found++;
     742                 :                         }
     743                 :                 }
     744                 :                 if (found && t->zone_type != TIMELIB_ZONETYPE_ID) {
     745                 :                         timelib_time_tz_abbr_update(t, tz_abbr);
     746                 :                 }
     747                 :                 free(tz_abbr);
     748                 :                 *tz_not_found = (found == 0);
     749                 :                 retval = offset;
     750                 :         }
     751                 :         while (**ptr == ')') {
     752                 :                 ++*ptr;
     753                 :         }
     754                 :         return retval;
     755                 : }
     756                 : 
     757                 : #define timelib_split_free(arg) {       \
     758                 :         int i;                         \
     759                 :         for (i = 0; i < arg.c; i++) {  \
     760                 :                 free(arg.v[i]);            \
     761                 :         }                              \
     762                 :         if (arg.v) {                   \
     763                 :                 free(arg.v);               \
     764                 :         }                              \
     765                 : }
     766                 : 
     767                 : static int scan(Scanner *s)
     768                 : {
     769                 :         uchar *cursor = s->cur;
     770                 :         char *str, *ptr = NULL;
     771                 :                 
     772                 : std:
     773                 :         s->tok = cursor;
     774                 :         s->len = 0;
     775                 : #line 889 "ext/date/lib/parse_date.re"
     776                 : 
     777                 : 
     778                 : 
     779                 : #line 780 "ext/date/lib/parse_date.c"
     780                 : {
     781                 :         YYCTYPE yych;
     782           11434 :         unsigned int yyaccept = 0;
     783                 :         static const unsigned char yybm[] = {
     784                 :                   0,   0,   0,   0,   0,   0,   0,   0, 
     785                 :                   0, 104,   0,   0,   0,   0,   0,   0, 
     786                 :                   0,   0,   0,   0,   0,   0,   0,   0, 
     787                 :                   0,   0,   0,   0,   0,   0,   0,   0, 
     788                 :                 104,   0,   0,   0,   0,   0,   0,   0, 
     789                 :                   0,   0,   0, 128,  64, 160,  96,   0, 
     790                 :                   4,   4,   4,   4,   4,   4,   4,   4, 
     791                 :                   4,   4,   0,   0,   0,   0,   0,   0, 
     792                 :                   0,   0,   0,   0,   0,   0,   0,   0, 
     793                 :                   0,   0,   0,   0,   0,   0,   0,   0, 
     794                 :                   0,   0,   0,   0,   0,   0,   0,   0, 
     795                 :                   0,   0,   0,   0,   0,   0,   0,   0, 
     796                 :                   0,  16,  16,  16,  80,  16,  16,  16, 
     797                 :                  80,  16,  16,  16,  16,  16,  80,  16, 
     798                 :                  16,  16,  80,  80,  80,  16,  16,  16, 
     799                 :                  16,  16,  16,   0,   0,   0,   0,   0, 
     800                 :                   0,   0,   0,   0,   0,   0,   0,   0, 
     801                 :                   0,   0,   0,   0,   0,   0,   0,   0, 
     802                 :                   0,   0,   0,   0,   0,   0,   0,   0, 
     803                 :                   0,   0,   0,   0,   0,   0,   0,   0, 
     804                 :                   0,   0,   0,   0,   0,   0,   0,   0, 
     805                 :                   0,   0,   0,   0,   0,   0,   0,   0, 
     806                 :                   0,   0,   0,   0,   0,   0,   0,   0, 
     807                 :                   0,   0,   0,   0,   0,   0,   0,   0, 
     808                 :                   0,   0,   0,   0,   0,   0,   0,   0, 
     809                 :                   0,   0,   0,   0,   0,   0,   0,   0, 
     810                 :                   0,   0,   0,   0,   0,   0,   0,   0, 
     811                 :                   0,   0,   0,   0,   0,   0,   0,   0, 
     812                 :                   0,   0,   0,   0,   0,   0,   0,   0, 
     813                 :                   0,   0,   0,   0,   0,   0,   0,   0, 
     814                 :                   0,   0,   0,   0,   0,   0,   0,   0, 
     815                 :                   0,   0,   0,   0,   0,   0,   0,   0, 
     816                 :         };
     817                 : 
     818                 :         YYDEBUG(0, *YYCURSOR);
     819           11434 :         if ((YYLIMIT - YYCURSOR) < 29) YYFILL(29);
     820            8251 :         yych = *YYCURSOR;
     821                 :         YYDEBUG(-1, yych);
     822            8251 :         switch (yych) {
     823                 :         case 0x00:
     824            3164 :         case '\n':      goto yy48;
     825                 :         case '\t':
     826             877 :         case ' ':       goto yy45;
     827               1 :         case '(':       goto yy42;
     828                 :         case '+':
     829             358 :         case '-':       goto yy18;
     830                 :         case ',':
     831              20 :         case '.':       goto yy47;
     832             147 :         case '0':       goto yy13;
     833             824 :         case '1':       goto yy14;
     834            1987 :         case '2':       goto yy15;
     835               3 :         case '3':       goto yy16;
     836                 :         case '4':
     837                 :         case '5':
     838                 :         case '6':
     839                 :         case '7':
     840                 :         case '8':
     841              27 :         case '9':       goto yy17;
     842             201 :         case '@':       goto yy11;
     843              22 :         case 'A':       goto yy26;
     844                 :         case 'B':
     845                 :         case 'C':
     846                 :         case 'G':
     847                 :         case 'H':
     848                 :         case 'K':
     849                 :         case 'Q':
     850                 :         case 'R':
     851                 :         case 'U':
     852             248 :         case 'Z':       goto yy43;
     853              18 :         case 'D':       goto yy32;
     854               8 :         case 'E':       goto yy36;
     855               4 :         case 'F':       goto yy24;
     856               0 :         case 'I':       goto yy19;
     857              13 :         case 'J':       goto yy22;
     858               0 :         case 'L':       goto yy38;
     859              14 :         case 'M':       goto yy7;
     860              18 :         case 'N':       goto yy5;
     861               7 :         case 'O':       goto yy30;
     862               0 :         case 'P':       goto yy40;
     863              12 :         case 'S':       goto yy28;
     864              19 :         case 'T':       goto yy9;
     865               0 :         case 'V':       goto yy20;
     866               9 :         case 'W':       goto yy34;
     867               0 :         case 'X':       goto yy21;
     868               0 :         case 'Y':       goto yy2;
     869              15 :         case 'a':       goto yy27;
     870                 :         case 'b':
     871                 :         case 'c':
     872                 :         case 'g':
     873                 :         case 'h':
     874                 :         case 'i':
     875                 :         case 'k':
     876                 :         case 'q':
     877                 :         case 'r':
     878                 :         case 'u':
     879                 :         case 'v':
     880                 :         case 'x':
     881              13 :         case 'z':       goto yy44;
     882               1 :         case 'd':       goto yy33;
     883               0 :         case 'e':       goto yy37;
     884              30 :         case 'f':       goto yy25;
     885               0 :         case 'j':       goto yy23;
     886               6 :         case 'l':       goto yy39;
     887               5 :         case 'm':       goto yy8;
     888             100 :         case 'n':       goto yy6;
     889               7 :         case 'o':       goto yy31;
     890               1 :         case 'p':       goto yy41;
     891              29 :         case 's':       goto yy29;
     892              14 :         case 't':       goto yy10;
     893               9 :         case 'w':       goto yy35;
     894               1 :         case 'y':       goto yy4;
     895              19 :         default:        goto yy50;
     896                 :         }
     897               0 : yy2:
     898                 :         YYDEBUG(2, *YYCURSOR);
     899               0 :         ++YYCURSOR;
     900               0 :         if ((yych = *YYCURSOR) <= 'E') {
     901               0 :                 if (yych <= ')') {
     902               0 :                         if (yych >= ')') goto yy136;
     903                 :                 } else {
     904               0 :                         if (yych <= '@') goto yy3;
     905               0 :                         if (yych <= 'D') goto yy137;
     906               0 :                         goto yy1415;
     907                 :                 }
     908                 :         } else {
     909               0 :                 if (yych <= 'd') {
     910               0 :                         if (yych <= 'Z') goto yy137;
     911               0 :                         if (yych >= 'a') goto yy142;
     912                 :                 } else {
     913               0 :                         if (yych <= 'e') goto yy1424;
     914               0 :                         if (yych <= 'z') goto yy142;
     915                 :                 }
     916                 :         }
     917             452 : yy3:
     918                 :         YYDEBUG(3, *YYCURSOR);
     919                 : #line 1446 "ext/date/lib/parse_date.re"
     920                 :         {
     921                 :                 int tz_not_found;
     922                 :                 DEBUG_OUTPUT("tzcorrection | tz");
     923                 :                 TIMELIB_INIT;
     924                 :                 TIMELIB_HAVE_TZ();
     925                 :                 s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb);
     926                 :                 if (tz_not_found) {
     927                 :                         add_error(s, "The timezone could not be found in the database");
     928                 :                 }
     929                 :                 TIMELIB_DEINIT;
     930                 :                 return TIMELIB_TIMEZONE;
     931                 :         }
     932                 : #line 933 "ext/date/lib/parse_date.c"
     933               1 : yy4:
     934                 :         YYDEBUG(4, *YYCURSOR);
     935               1 :         yych = *++YYCURSOR;
     936               1 :         if (yych <= 'E') {
     937               0 :                 if (yych <= ')') {
     938               0 :                         if (yych <= '(') goto yy3;
     939               0 :                         goto yy136;
     940                 :                 } else {
     941               0 :                         if (yych <= '@') goto yy3;
     942               0 :                         if (yych <= 'D') goto yy137;
     943               0 :                         goto yy1415;
     944                 :                 }
     945                 :         } else {
     946               1 :                 if (yych <= 'd') {
     947               0 :                         if (yych <= 'Z') goto yy137;
     948               0 :                         if (yych <= '`') goto yy3;
     949               0 :                         goto yy137;
     950                 :                 } else {
     951               1 :                         if (yych <= 'e') goto yy1415;
     952               0 :                         if (yych <= 'z') goto yy137;
     953               0 :                         goto yy3;
     954                 :                 }
     955                 :         }
     956              18 : yy5:
     957                 :         YYDEBUG(5, *YYCURSOR);
     958              18 :         yych = *++YYCURSOR;
     959              18 :         if (yych <= 'O') {
     960               1 :                 if (yych <= 'D') {
     961               0 :                         if (yych == ')') goto yy136;
     962               0 :                         if (yych <= '@') goto yy3;
     963               0 :                         goto yy137;
     964                 :                 } else {
     965               1 :                         if (yych <= 'H') {
     966               0 :                                 if (yych <= 'E') goto yy1386;
     967               0 :                                 goto yy137;
     968                 :                         } else {
     969               1 :                                 if (yych <= 'I') goto yy1387;
     970               1 :                                 if (yych <= 'N') goto yy137;
     971               1 :                                 goto yy1385;
     972                 :                         }
     973                 :                 }
     974                 :         } else {
     975              17 :                 if (yych <= 'h') {
     976               1 :                         if (yych <= '`') {
     977               0 :                                 if (yych <= 'Z') goto yy137;
     978               0 :                                 goto yy3;
     979                 :                         } else {
     980               1 :                                 if (yych == 'e') goto yy1402;
     981               0 :                                 goto yy142;
     982                 :                         }
     983                 :                 } else {
     984              16 :                         if (yych <= 'n') {
     985               0 :                                 if (yych <= 'i') goto yy1403;
     986               0 :                                 goto yy142;
     987                 :                         } else {
     988              16 :                                 if (yych <= 'o') goto yy1401;
     989               0 :                                 if (yych <= 'z') goto yy142;
     990               0 :                                 goto yy3;
     991                 :                         }
     992                 :                 }
     993                 :         }
     994             100 : yy6:
     995                 :         YYDEBUG(6, *YYCURSOR);
     996             100 :         yych = *++YYCURSOR;
     997             100 :         if (yych <= 'O') {
     998               0 :                 if (yych <= 'D') {
     999               0 :                         if (yych == ')') goto yy136;
    1000               0 :                         if (yych <= '@') goto yy3;
    1001               0 :                         goto yy137;
    1002                 :                 } else {
    1003               0 :                         if (yych <= 'H') {
    1004               0 :                                 if (yych <= 'E') goto yy1386;
    1005               0 :                                 goto yy137;
    1006                 :                         } else {
    1007               0 :                                 if (yych <= 'I') goto yy1387;
    1008               0 :                                 if (yych <= 'N') goto yy137;
    1009               0 :                                 goto yy1385;
    1010                 :                         }
    1011                 :                 }
    1012                 :         } else {
    1013             100 :                 if (yych <= 'h') {
    1014              62 :                         if (yych <= '`') {
    1015               0 :                                 if (yych <= 'Z') goto yy137;
    1016               0 :                                 goto yy3;
    1017                 :                         } else {
    1018              62 :                                 if (yych == 'e') goto yy1386;
    1019               0 :                                 goto yy137;
    1020                 :                         }
    1021                 :                 } else {
    1022              38 :                         if (yych <= 'n') {
    1023               0 :                                 if (yych <= 'i') goto yy1387;
    1024               0 :                                 goto yy137;
    1025                 :                         } else {
    1026              38 :                                 if (yych <= 'o') goto yy1385;
    1027               0 :                                 if (yych <= 'z') goto yy137;
    1028               0 :                                 goto yy3;
    1029                 :                         }
    1030                 :                 }
    1031                 :         }
    1032              14 : yy7:
    1033                 :         YYDEBUG(7, *YYCURSOR);
    1034              14 :         yych = *++YYCURSOR;
    1035              14 :         if (yych <= 'O') {
    1036               2 :                 if (yych <= 'A') {
    1037               0 :                         if (yych == ')') goto yy136;
    1038               0 :                         if (yych <= '@') goto yy3;
    1039               0 :                         goto yy1355;
    1040                 :                 } else {
    1041               2 :                         if (yych == 'I') goto yy1356;
    1042               2 :                         if (yych <= 'N') goto yy137;
    1043               0 :                         goto yy1357;
    1044                 :                 }
    1045                 :         } else {
    1046              12 :                 if (yych <= 'h') {
    1047               7 :                         if (yych <= 'Z') goto yy137;
    1048               7 :                         if (yych <= '`') goto yy3;
    1049               7 :                         if (yych <= 'a') goto yy1370;
    1050               0 :                         goto yy142;
    1051                 :                 } else {
    1052               5 :                         if (yych <= 'n') {
    1053               0 :                                 if (yych <= 'i') goto yy1371;
    1054               0 :                                 goto yy142;
    1055                 :                         } else {
    1056               5 :                                 if (yych <= 'o') goto yy1372;
    1057               0 :                                 if (yych <= 'z') goto yy142;
    1058               0 :                                 goto yy3;
    1059                 :                         }
    1060                 :                 }
    1061                 :         }
    1062               5 : yy8:
    1063                 :         YYDEBUG(8, *YYCURSOR);
    1064               5 :         yych = *++YYCURSOR;
    1065               5 :         if (yych <= 'O') {
    1066               0 :                 if (yych <= 'A') {
    1067               0 :                         if (yych == ')') goto yy136;
    1068               0 :                         if (yych <= '@') goto yy3;
    1069               0 :                         goto yy1355;
    1070                 :                 } else {
    1071               0 :                         if (yych == 'I') goto yy1356;
    1072               0 :                         if (yych <= 'N') goto yy137;
    1073               0 :                         goto yy1357;
    1074                 :                 }
    1075                 :         } else {
    1076               5 :                 if (yych <= 'h') {
    1077               0 :                         if (yych <= 'Z') goto yy137;
    1078               0 :                         if (yych <= '`') goto yy3;
    1079               0 :                         if (yych <= 'a') goto yy1355;
    1080               0 :                         goto yy137;
    1081                 :                 } else {
    1082               5 :                         if (yych <= 'n') {
    1083               1 :                                 if (yych <= 'i') goto yy1356;
    1084               0 :                                 goto yy137;
    1085                 :                         } else {
    1086               4 :                                 if (yych <= 'o') goto yy1357;
    1087               0 :                                 if (yych <= 'z') goto yy137;
    1088               0 :                                 goto yy3;
    1089                 :                         }
    1090                 :                 }
    1091                 :         }
    1092              19 : yy9:
    1093                 :         YYDEBUG(9, *YYCURSOR);
    1094              19 :         yyaccept = 0;
    1095              19 :         yych = *(YYMARKER = ++YYCURSOR);
    1096                 :         YYDEBUG(-1, yych);
    1097              19 :         switch (yych) {
    1098               0 :         case ')':       goto yy136;
    1099                 :         case '0':
    1100               2 :         case '1':       goto yy1287;
    1101               4 :         case '2':       goto yy1288;
    1102                 :         case '3':
    1103                 :         case '4':
    1104                 :         case '5':
    1105                 :         case '6':
    1106                 :         case '7':
    1107                 :         case '8':
    1108               0 :         case '9':       goto yy1289;
    1109                 :         case 'A':
    1110                 :         case 'B':
    1111                 :         case 'C':
    1112                 :         case 'D':
    1113                 :         case 'F':
    1114                 :         case 'G':
    1115                 :         case 'I':
    1116                 :         case 'J':
    1117                 :         case 'K':
    1118                 :         case 'L':
    1119                 :         case 'M':
    1120                 :         case 'N':
    1121                 :         case 'P':
    1122                 :         case 'Q':
    1123                 :         case 'R':
    1124                 :         case 'S':
    1125                 :         case 'T':
    1126                 :         case 'V':
    1127                 :         case 'X':
    1128                 :         case 'Y':
    1129               0 :         case 'Z':       goto yy137;
    1130               0 :         case 'E':       goto yy1282;
    1131               0 :         case 'H':       goto yy1283;
    1132               0 :         case 'O':       goto yy1284;
    1133               0 :         case 'U':       goto yy1285;
    1134               0 :         case 'W':       goto yy1286;
    1135                 :         case 'a':
    1136                 :         case 'b':
    1137                 :         case 'c':
    1138                 :         case 'd':
    1139                 :         case 'f':
    1140                 :         case 'g':
    1141                 :         case 'i':
    1142                 :         case 'j':
    1143                 :         case 'k':
    1144                 :         case 'l':
    1145                 :         case 'm':
    1146                 :         case 'n':
    1147                 :         case 'p':
    1148                 :         case 'q':
    1149                 :         case 'r':
    1150                 :         case 's':
    1151                 :         case 't':
    1152                 :         case 'v':
    1153                 :         case 'x':
    1154                 :         case 'y':
    1155               0 :         case 'z':       goto yy142;
    1156               0 :         case 'e':       goto yy1324;
    1157               9 :         case 'h':       goto yy1325;
    1158               0 :         case 'o':       goto yy1326;
    1159               3 :         case 'u':       goto yy1327;
    1160               0 :         case 'w':       goto yy1328;
    1161               1 :         default:        goto yy3;
    1162                 :         }
    1163              14 : yy10:
    1164                 :         YYDEBUG(10, *YYCURSOR);
    1165              14 :         yyaccept = 0;
    1166              14 :         yych = *(YYMARKER = ++YYCURSOR);
    1167                 :         YYDEBUG(-1, yych);
    1168              14 :         switch (yych) {
    1169               0 :         case ')':       goto yy136;
    1170                 :         case '0':
    1171               3 :         case '1':       goto yy1287;
    1172               0 :         case '2':       goto yy1288;
    1173                 :         case '3':
    1174                 :         case '4':
    1175                 :         case '5':
    1176                 :         case '6':
    1177                 :         case '7':
    1178                 :         case '8':
    1179               0 :         case '9':       goto yy1289;
    1180                 :         case 'A':
    1181                 :         case 'B':
    1182                 :         case 'C':
    1183                 :         case 'D':
    1184                 :         case 'F':
    1185                 :         case 'G':
    1186                 :         case 'I':
    1187                 :         case 'J':
    1188                 :         case 'K':
    1189                 :         case 'L':
    1190                 :         case 'M':
    1191                 :         case 'N':
    1192                 :         case 'P':
    1193                 :         case 'Q':
    1194                 :         case 'R':
    1195                 :         case 'S':
    1196                 :         case 'T':
    1197                 :         case 'V':
    1198                 :         case 'X':
    1199                 :         case 'Y':
    1200                 :         case 'Z':
    1201                 :         case 'a':
    1202                 :         case 'b':
    1203                 :         case 'c':
    1204                 :         case 'd':
    1205                 :         case 'f':
    1206                 :         case 'g':
    1207                 :         case 'i':
    1208                 :         case 'j':
    1209                 :         case 'k':
    1210                 :         case 'l':
    1211                 :         case 'm':
    1212                 :         case 'n':
    1213                 :         case 'p':
    1214                 :         case 'q':
    1215                 :         case 'r':
    1216                 :         case 's':
    1217                 :         case 't':
    1218                 :         case 'v':
    1219                 :         case 'x':
    1220                 :         case 'y':
    1221               1 :         case 'z':       goto yy137;
    1222                 :         case 'E':
    1223               0 :         case 'e':       goto yy1282;
    1224                 :         case 'H':
    1225               6 :         case 'h':       goto yy1283;
    1226                 :         case 'O':
    1227               2 :         case 'o':       goto yy1284;
    1228                 :         case 'U':
    1229               2 :         case 'u':       goto yy1285;
    1230                 :         case 'W':
    1231               0 :         case 'w':       goto yy1286;
    1232               0 :         default:        goto yy3;
    1233                 :         }
    1234             201 : yy11:
    1235                 :         YYDEBUG(11, *YYCURSOR);
    1236             201 :         yyaccept = 1;
    1237             201 :         yych = *(YYMARKER = ++YYCURSOR);
    1238             201 :         if (yych == '-') goto yy1278;
    1239             198 :         if (yych <= '/') goto yy12;
    1240             198 :         if (yych <= '9') goto yy1279;
    1241              80 : yy12:
    1242                 :         YYDEBUG(12, *YYCURSOR);
    1243                 : #line 1541 "ext/date/lib/parse_date.re"
    1244                 :         {
    1245                 :                 add_error(s, "Unexpected character");
    1246                 :                 goto std;
    1247                 :         }
    1248                 : #line 1249 "ext/date/lib/parse_date.c"
    1249             147 : yy13:
    1250                 :         YYDEBUG(13, *YYCURSOR);
    1251             147 :         yyaccept = 1;
    1252             147 :         yych = *(YYMARKER = ++YYCURSOR);
    1253                 :         YYDEBUG(-1, yych);
    1254             147 :         switch (yych) {
    1255               0 :         case '\t':      goto yy1232;
    1256                 :         case ' ':
    1257                 :         case 'A':
    1258                 :         case 'D':
    1259                 :         case 'F':
    1260                 :         case 'H':
    1261                 :         case 'I':
    1262                 :         case 'J':
    1263                 :         case 'M':
    1264                 :         case 'N':
    1265                 :         case 'O':
    1266                 :         case 'S':
    1267                 :         case 'T':
    1268                 :         case 'V':
    1269                 :         case 'W':
    1270                 :         case 'X':
    1271                 :         case 'Y':
    1272                 :         case 'a':
    1273                 :         case 'd':
    1274                 :         case 'f':
    1275                 :         case 'h':
    1276                 :         case 'j':
    1277                 :         case 'm':
    1278                 :         case 'o':
    1279                 :         case 'w':
    1280               0 :         case 'y':       goto yy1234;
    1281               1 :         case '-':       goto yy676;
    1282               7 :         case '.':       goto yy1244;
    1283               0 :         case '/':       goto yy675;
    1284              92 :         case '0':       goto yy1277;
    1285                 :         case '1':
    1286                 :         case '2':
    1287                 :         case '3':
    1288                 :         case '4':
    1289                 :         case '5':
    1290                 :         case '6':
    1291                 :         case '7':
    1292                 :         case '8':
    1293              38 :         case '9':       goto yy1276;
    1294               0 :         case ':':       goto yy1245;
    1295               0 :         case 'n':       goto yy673;
    1296               0 :         case 'r':       goto yy674;
    1297               0 :         case 's':       goto yy667;
    1298               0 :         case 't':       goto yy671;
    1299               9 :         default:        goto yy12;
    1300                 :         }
    1301             824 : yy14:
    1302                 :         YYDEBUG(14, *YYCURSOR);
    1303             824 :         yyaccept = 1;
    1304             824 :         yych = *(YYMARKER = ++YYCURSOR);
    1305                 :         YYDEBUG(-1, yych);
    1306             824 :         switch (yych) {
    1307               0 :         case '\t':      goto yy663;
    1308                 :         case ' ':
    1309                 :         case 'A':
    1310                 :         case 'D':
    1311                 :         case 'F':
    1312                 :         case 'H':
    1313                 :         case 'I':
    1314                 :         case 'J':
    1315                 :         case 'M':
    1316                 :         case 'N':
    1317                 :         case 'O':
    1318                 :         case 'P':
    1319                 :         case 'S':
    1320                 :         case 'T':
    1321                 :         case 'V':
    1322                 :         case 'W':
    1323                 :         case 'X':
    1324                 :         case 'Y':
    1325                 :         case 'a':
    1326                 :         case 'd':
    1327                 :         case 'f':
    1328                 :         case 'h':
    1329                 :         case 'j':
    1330                 :         case 'm':
    1331                 :         case 'o':
    1332                 :         case 'p':
    1333                 :         case 'w':
    1334              24 :         case 'y':       goto yy665;
    1335               0 :         case '-':       goto yy676;
    1336               0 :         case '.':       goto yy677;
    1337               0 :         case '/':       goto yy675;
    1338                 :         case '0':
    1339                 :         case '1':
    1340              98 :         case '2':       goto yy1276;
    1341                 :         case '3':
    1342                 :         case '4':
    1343                 :         case '5':
    1344                 :         case '6':
    1345                 :         case '7':
    1346                 :         case '8':
    1347             677 :         case '9':       goto yy1243;
    1348               4 :         case ':':       goto yy686;
    1349               0 :         case 'n':       goto yy673;
    1350               0 :         case 'r':       goto yy674;
    1351               0 :         case 's':       goto yy667;
    1352               0 :         case 't':       goto yy671;
    1353              21 :         default:        goto yy12;
    1354                 :         }
    1355            1987 : yy15:
    1356                 :         YYDEBUG(15, *YYCURSOR);
    1357            1987 :         yyaccept = 1;
    1358            1987 :         yych = *(YYMARKER = ++YYCURSOR);
    1359                 :         YYDEBUG(-1, yych);
    1360            1987 :         switch (yych) {
    1361               0 :         case '\t':      goto yy663;
    1362                 :         case ' ':
    1363                 :         case 'A':
    1364                 :         case 'D':
    1365                 :         case 'F':
    1366                 :         case 'H':
    1367                 :         case 'I':
    1368                 :         case 'J':
    1369                 :         case 'M':
    1370                 :         case 'N':
    1371                 :         case 'O':
    1372                 :         case 'P':
    1373                 :         case 'S':
    1374                 :         case 'T':
    1375                 :         case 'V':
    1376                 :         case 'W':
    1377                 :         case 'X':
    1378                 :         case 'Y':
    1379                 :         case 'a':
    1380                 :         case 'd':
    1381                 :         case 'f':
    1382                 :         case 'h':
    1383                 :         case 'j':
    1384                 :         case 'm':
    1385                 :         case 'o':
    1386                 :         case 'p':
    1387                 :         case 'w':
    1388               4 :         case 'y':       goto yy665;
    1389               1 :         case '-':       goto yy676;
    1390               1 :         case '.':       goto yy677;
    1391               0 :         case '/':       goto yy675;
    1392                 :         case '0':
    1393                 :         case '1':
    1394                 :         case '2':
    1395            1937 :         case '3':       goto yy1243;
    1396                 :         case '4':
    1397                 :         case '5':
    1398                 :         case '6':
    1399                 :         case '7':
    1400                 :         case '8':
    1401              44 :         case '9':       goto yy1230;
    1402               0 :         case ':':       goto yy686;
    1403               0 :         case 'n':       goto yy673;
    1404               0 :         case 'r':       goto yy674;
    1405               0 :         case 's':       goto yy667;
    1406               0 :         case 't':       goto yy671;
    1407               0 :         default:        goto yy12;
    1408                 :         }
    1409               3 : yy16:
    1410                 :         YYDEBUG(16, *YYCURSOR);
    1411               3 :         yyaccept = 1;
    1412               3 :         yych = *(YYMARKER = ++YYCURSOR);
    1413                 :         YYDEBUG(-1, yych);
    1414               3 :         switch (yych) {
    1415               0 :         case '\t':      goto yy663;
    1416                 :         case ' ':
    1417                 :         case 'A':
    1418                 :         case 'D':
    1419                 :         case 'F':
    1420                 :         case 'H':
    1421                 :         case 'I':
    1422                 :         case 'J':
    1423                 :         case 'M':
    1424                 :         case 'N':
    1425                 :         case 'O':
    1426                 :         case 'P':
    1427                 :         case 'S':
    1428                 :         case 'T':
    1429                 :         case 'V':
    1430                 :         case 'W':
    1431                 :         case 'X':
    1432                 :         case 'Y':
    1433                 :         case 'a':
    1434                 :         case 'd':
    1435                 :         case 'f':
    1436                 :         case 'h':
    1437                 :         case 'j':
    1438                 :         case 'm':
    1439                 :         case 'o':
    1440                 :         case 'p':
    1441                 :         case 'w':
    1442               2 :         case 'y':       goto yy665;
    1443               1 :         case '-':       goto yy676;
    1444               0 :         case '.':       goto yy677;
    1445               0 :         case '/':       goto yy675;
    1446                 :         case '0':
    1447               0 :         case '1':       goto yy1230;
    1448                 :         case '2':
    1449                 :         case '3':
    1450                 :         case '4':
    1451                 :         case '5':
    1452                 :         case '6':
    1453                 :         case '7':
    1454                 :         case '8':
    1455               0 :         case '9':       goto yy672;
    1456               0 :         case ':':       goto yy686;
    1457               0 :         case 'n':       goto yy673;
    1458               0 :         case 'r':       goto yy674;
    1459               0 :         case 's':       goto yy667;
    1460               0 :         case 't':       goto yy671;
    1461               0 :         default:        goto yy12;
    1462                 :         }
    1463              27 : yy17:
    1464                 :         YYDEBUG(17, *YYCURSOR);
    1465              27 :         yyaccept = 1;
    1466              27 :         yych = *(YYMARKER = ++YYCURSOR);
    1467                 :         YYDEBUG(-1, yych);
    1468              27 :         switch (yych) {
    1469               0 :         case '\t':      goto yy663;
    1470                 :         case ' ':
    1471                 :         case 'A':
    1472                 :         case 'D':
    1473                 :         case 'F':
    1474                 :         case 'H':
    1475                 :         case 'I':
    1476                 :         case 'J':
    1477                 :         case 'M':
    1478                 :         case 'N':
    1479                 :         case 'O':
    1480                 :         case 'P':
    1481                 :         case 'S':
    1482                 :         case 'T':
    1483                 :         case 'V':
    1484                 :         case 'W':
    1485                 :         case 'X':
    1486                 :         case 'Y':
    1487                 :         case 'a':
    1488                 :         case 'd':
    1489                 :         case 'f':
    1490                 :         case 'h':
    1491                 :         case 'j':
    1492                 :         case 'm':
    1493                 :         case 'o':
    1494                 :         case 'p':
    1495                 :         case 'w':
    1496               2 :         case 'y':       goto yy665;
    1497               1 :         case '-':       goto yy676;
    1498               0 :         case '.':       goto yy677;
    1499               0 :         case '/':       goto yy675;
    1500                 :         case '0':
    1501                 :         case '1':
    1502                 :         case '2':
    1503                 :         case '3':
    1504                 :         case '4':
    1505                 :         case '5':
    1506                 :         case '6':
    1507                 :         case '7':
    1508                 :         case '8':
    1509               0 :         case '9':       goto yy672;
    1510               3 :         case ':':       goto yy686;
    1511               0 :         case 'n':       goto yy673;
    1512               0 :         case 'r':       goto yy674;
    1513               0 :         case 's':       goto yy667;
    1514               0 :         case 't':       goto yy671;
    1515              21 :         default:        goto yy12;
    1516                 :         }
    1517             358 : yy18:
    1518                 :         YYDEBUG(18, *YYCURSOR);
    1519             358 :         yyaccept = 1;
    1520             358 :         yych = *(YYMARKER = ++YYCURSOR);
    1521             358 :         if (yybm[0+yych] & 8) {
    1522               5 :                 goto yy54;
    1523                 :         }
    1524                 :         YYDEBUG(-1, yych);
    1525             353 :         switch (yych) {
    1526                 :         case '+':
    1527               4 :         case '-':       goto yy641;
    1528                 :         case '0':
    1529             199 :         case '1':       goto yy638;
    1530              67 :         case '2':       goto yy639;
    1531                 :         case '3':
    1532                 :         case '4':
    1533                 :         case '5':
    1534                 :         case '6':
    1535                 :         case '7':
    1536                 :         case '8':
    1537              83 :         case '9':       goto yy640;
    1538               0 :         default:        goto yy12;
    1539                 :         }
    1540               0 : yy19:
    1541                 :         YYDEBUG(19, *YYCURSOR);
    1542               0 :         yyaccept = 0;
    1543               0 :         yych = *(YYMARKER = ++YYCURSOR);
    1544               0 :         if (yych <= '9') {
    1545               0 :                 if (yych <= '(') {
    1546               0 :                         if (yych <= '\t') {
    1547               0 :                                 if (yych <= 0x08) goto yy3;
    1548               0 :                                 goto yy305;
    1549                 :                         } else {
    1550               0 :                                 if (yych == ' ') goto yy305;
    1551               0 :                                 goto yy3;
    1552                 :                         }
    1553                 :                 } else {
    1554               0 :                         if (yych <= ',') {
    1555               0 :                                 if (yych <= ')') goto yy136;
    1556               0 :                                 goto yy3;
    1557                 :                         } else {
    1558               0 :                                 if (yych == '/') goto yy3;
    1559               0 :                                 goto yy305;
    1560                 :                         }
    1561                 :                 }
    1562                 :         } else {
    1563               0 :                 if (yych <= 'V') {
    1564               0 :                         if (yych <= 'H') {
    1565               0 :                                 if (yych <= '@') goto yy3;
    1566               0 :                                 goto yy137;
    1567                 :                         } else {
    1568               0 :                                 if (yych <= 'I') goto yy637;
    1569               0 :                                 if (yych <= 'U') goto yy137;
    1570               0 :                                 goto yy636;
    1571                 :                         }
    1572                 :                 } else {
    1573               0 :                         if (yych <= 'Z') {
    1574               0 :                                 if (yych == 'X') goto yy636;
    1575               0 :                                 goto yy137;
    1576                 :                         } else {
    1577               0 :                                 if (yych <= '`') goto yy3;
    1578               0 :                                 if (yych <= 'z') goto yy142;
    1579               0 :                                 goto yy3;
    1580                 :                         }
    1581                 :                 }
    1582                 :         }
    1583               0 : yy20:
    1584                 :         YYDEBUG(20, *YYCURSOR);
    1585               0 :         yyaccept = 0;
    1586               0 :         yych = *(YYMARKER = ++YYCURSOR);
    1587               0 :         if (yych <= '.') {
    1588               0 :                 if (yych <= ' ') {
    1589               0 :                         if (yych == '\t') goto yy305;
    1590               0 :                         if (yych <= 0x1F) goto yy3;
    1591               0 :                         goto yy305;
    1592                 :                 } else {
    1593               0 :                         if (yych == ')') goto yy136;
    1594               0 :                         if (yych <= ',') goto yy3;
    1595               0 :                         goto yy305;
    1596                 :                 }
    1597                 :         } else {
    1598               0 :                 if (yych <= 'H') {
    1599               0 :                         if (yych <= '/') goto yy3;
    1600               0 :                         if (yych <= '9') goto yy305;
    1601               0 :                         if (yych <= '@') goto yy3;
    1602               0 :                         goto yy137;
    1603                 :                 } else {
    1604               0 :                         if (yych <= 'Z') {
    1605               0 :                                 if (yych <= 'I') goto yy633;
    1606               0 :                                 goto yy137;
    1607                 :                         } else {
    1608               0 :                                 if (yych <= '`') goto yy3;
    1609               0 :                                 if (yych <= 'z') goto yy142;
    1610               0 :                                 goto yy3;
    1611                 :                         }
    1612                 :                 }
    1613                 :         }
    1614               0 : yy21:
    1615                 :         YYDEBUG(21, *YYCURSOR);
    1616               0 :         yyaccept = 0;
    1617               0 :         yych = *(YYMARKER = ++YYCURSOR);
    1618               0 :         if (yych <= '.') {
    1619               0 :                 if (yych <= ' ') {
    1620               0 :                         if (yych == '\t') goto yy305;
    1621               0 :                         if (yych <= 0x1F) goto yy3;
    1622               0 :                         goto yy305;
    1623                 :                 } else {
    1624               0 :                         if (yych == ')') goto yy136;
    1625               0 :                         if (yych <= ',') goto yy3;
    1626               0 :                         goto yy305;
    1627                 :                 }
    1628                 :         } else {
    1629               0 :                 if (yych <= 'H') {
    1630               0 :                         if (yych <= '/') goto yy3;
    1631               0 :                         if (yych <= '9') goto yy305;
    1632               0 :                         if (yych <= '@') goto yy3;
    1633               0 :                         goto yy137;
    1634                 :                 } else {
    1635               0 :                         if (yych <= 'Z') {
    1636               0 :                                 if (yych <= 'I') goto yy631;
    1637               0 :                                 goto yy137;
    1638                 :                         } else {
    1639               0 :                                 if (yych <= '`') goto yy3;
    1640               0 :                                 if (yych <= 'z') goto yy142;
    1641               0 :                                 goto yy3;
    1642                 :                         }
    1643                 :                 }
    1644                 :         }
    1645              13 : yy22:
    1646                 :         YYDEBUG(22, *YYCURSOR);
    1647              13 :         yych = *++YYCURSOR;
    1648              13 :         if (yych <= 'U') {
    1649               1 :                 if (yych <= '@') {
    1650               0 :                         if (yych == ')') goto yy136;
    1651               0 :                         goto yy3;
    1652                 :                 } else {
    1653               1 :                         if (yych <= 'A') goto yy614;
    1654               0 :                         if (yych <= 'T') goto yy137;
    1655               0 :                         goto yy613;
    1656                 :                 }
    1657                 :         } else {
    1658              12 :                 if (yych <= 'a') {
    1659               7 :                         if (yych <= 'Z') goto yy137;
    1660               7 :                         if (yych <= '`') goto yy3;
    1661               7 :                         goto yy623;
    1662                 :                 } else {
    1663               5 :                         if (yych == 'u') goto yy622;
    1664               0 :                         if (yych <= 'z') goto yy142;
    1665               0 :                         goto yy3;
    1666                 :                 }
    1667                 :         }
    1668               0 : yy23:
    1669                 :         YYDEBUG(23, *YYCURSOR);
    1670               0 :         yych = *++YYCURSOR;
    1671               0 :         if (yych <= 'U') {
    1672               0 :                 if (yych <= '@') {
    1673               0 :                         if (yych == ')') goto yy136;
    1674               0 :                         goto yy3;
    1675                 :                 } else {
    1676               0 :                         if (yych <= 'A') goto yy614;
    1677               0 :                         if (yych <= 'T') goto yy137;
    1678               0 :                         goto yy613;
    1679                 :                 }
    1680                 :         } else {
    1681               0 :                 if (yych <= 'a') {
    1682               0 :                         if (yych <= 'Z') goto yy137;
    1683               0 :                         if (yych <= '`') goto yy3;
    1684               0 :                         goto yy614;
    1685                 :                 } else {
    1686               0 :                         if (yych == 'u') goto yy613;
    1687               0 :                         if (yych <= 'z') goto yy137;
    1688               0 :                         goto yy3;
    1689                 :                 }
    1690                 :         }
    1691               4 : yy24:
    1692                 :         YYDEBUG(24, *YYCURSOR);
    1693               4 :         yych = *++YYCURSOR;
    1694               4 :         if (yych <= 'R') {
    1695               0 :                 if (yych <= 'E') {
    1696               0 :                         if (yych <= ')') {
    1697               0 :                                 if (yych <= '(') goto yy3;
    1698               0 :                                 goto yy136;
    1699                 :                         } else {
    1700               0 :                                 if (yych <= '@') goto yy3;
    1701               0 :                                 if (yych <= 'D') goto yy137;
    1702               0 :                                 goto yy575;
    1703                 :                         }
    1704                 :                 } else {
    1705               0 :                         if (yych <= 'N') {
    1706               0 :                                 if (yych == 'I') goto yy576;
    1707               0 :                                 goto yy137;
    1708                 :                         } else {
    1709               0 :                                 if (yych <= 'O') goto yy577;
    1710               0 :                                 if (yych <= 'Q') goto yy137;
    1711               0 :                                 goto yy578;
    1712                 :                         }
    1713                 :                 }
    1714                 :         } else {
    1715               4 :                 if (yych <= 'i') {
    1716               0 :                         if (yych <= 'd') {
    1717               0 :                                 if (yych <= 'Z') goto yy137;
    1718               0 :                                 if (yych <= '`') goto yy3;
    1719               0 :                                 goto yy142;
    1720                 :                         } else {
    1721               0 :                                 if (yych <= 'e') goto yy594;
    1722               0 :                                 if (yych <= 'h') goto yy142;
    1723               0 :                                 goto yy595;
    1724                 :                         }
    1725                 :                 } else {
    1726               4 :                         if (yych <= 'q') {
    1727               0 :                                 if (yych == 'o') goto yy596;
    1728               0 :                                 goto yy142;
    1729                 :                         } else {
    1730               4 :                                 if (yych <= 'r') goto yy597;
    1731               0 :                                 if (yych <= 'z') goto yy142;
    1732               0 :                                 goto yy3;
    1733                 :                         }
    1734                 :                 }
    1735                 :         }
    1736              30 : yy25:
    1737                 :         YYDEBUG(25, *YYCURSOR);
    1738              30 :         yych = *++YYCURSOR;
    1739              30 :         if (yych <= 'R') {
    1740               0 :                 if (yych <= 'E') {
    1741               0 :                         if (yych <= ')') {
    1742               0 :                                 if (yych <= '(') goto yy3;
    1743               0 :                                 goto yy136;
    1744                 :                         } else {
    1745               0 :                                 if (yych <= '@') goto yy3;
    1746               0 :                                 if (yych <= 'D') goto yy137;
    1747               0 :                                 goto yy575;
    1748                 :                         }
    1749                 :                 } else {
    1750               0 :                         if (yych <= 'N') {
    1751               0 :                                 if (yych == 'I') goto yy576;
    1752               0 :                                 goto yy137;
    1753                 :                         } else {
    1754               0 :                                 if (yych <= 'O') goto yy577;
    1755               0 :                                 if (yych <= 'Q') goto yy137;
    1756               0 :                                 goto yy578;
    1757                 :                         }
    1758                 :                 }
    1759                 :         } else {
    1760              30 :                 if (yych <= 'i') {
    1761              28 :                         if (yych <= 'd') {
    1762               0 :                                 if (yych <= 'Z') goto yy137;
    1763               0 :                                 if (yych <= '`') goto yy3;
    1764               0 :                                 goto yy137;
    1765                 :                         } else {
    1766              28 :                                 if (yych <= 'e') goto yy575;
    1767              28 :                                 if (yych <= 'h') goto yy137;
    1768              28 :                                 goto yy576;
    1769                 :                         }
    1770                 :                 } else {
    1771               2 :                         if (yych <= 'q') {
    1772               0 :                                 if (yych == 'o') goto yy577;
    1773               0 :                                 goto yy137;
    1774                 :                         } else {
    1775               2 :                                 if (yych <= 'r') goto yy578;
    1776               0 :                                 if (yych <= 'z') goto yy137;
    1777               0 :                                 goto yy3;
    1778                 :                         }
    1779                 :                 }
    1780                 :         }
    1781              22 : yy26:
    1782                 :         YYDEBUG(26, *YYCURSOR);
    1783              22 :         yych = *++YYCURSOR;
    1784              22 :         if (yych <= 'U') {
    1785              10 :                 if (yych <= 'F') {
    1786              10 :                         if (yych == ')') goto yy136;
    1787              10 :                         if (yych <= '@') goto yy3;
    1788               0 :                         goto yy137;
    1789                 :                 } else {
    1790               0 :                         if (yych <= 'O') {
    1791               0 :                                 if (yych <= 'G') goto yy554;
    1792               0 :                                 goto yy137;
    1793                 :                         } else {
    1794               0 :                                 if (yych <= 'P') goto yy553;
    1795               0 :                                 if (yych <= 'T') goto yy137;
    1796               0 :                                 goto yy552;
    1797                 :                         }
    1798                 :                 }
    1799                 :         } else {
    1800              12 :                 if (yych <= 'o') {
    1801               8 :                         if (yych <= '`') {
    1802               0 :                                 if (yych <= 'Z') goto yy137;
    1803               0 :                                 goto yy3;
    1804                 :                         } else {
    1805               8 :                                 if (yych == 'g') goto yy566;
    1806               8 :                                 goto yy142;
    1807                 :                         }
    1808                 :                 } else {
    1809               4 :                         if (yych <= 't') {
    1810               2 :                                 if (yych <= 'p') goto yy565;
    1811               2 :                                 goto yy142;
    1812                 :                         } else {
    1813               2 :                                 if (yych <= 'u') goto yy564;
    1814               0 :                                 if (yych <= 'z') goto yy142;
    1815               0 :                                 goto yy3;
    1816                 :                         }
    1817                 :                 }
    1818                 :         }
    1819              15 : yy27:
    1820                 :         YYDEBUG(27, *YYCURSOR);
    1821              15 :         yych = *++YYCURSOR;
    1822              15 :         if (yych <= 'U') {
    1823               4 :                 if (yych <= 'F') {
    1824               4 :                         if (yych == ')') goto yy136;
    1825               4 :                         if (yych <= '@') goto yy3;
    1826               0 :                         goto yy137;
    1827                 :                 } else {
    1828               0 :                         if (yych <= 'O') {
    1829               0 :                                 if (yych <= 'G') goto yy554;
    1830               0 :                                 goto yy137;
    1831                 :                         } else {
    1832               0 :                                 if (yych <= 'P') goto yy553;
    1833               0 :                                 if (yych <= 'T') goto yy137;
    1834               0 :                                 goto yy552;
    1835                 :                         }
    1836                 :                 }
    1837                 :         } else {
    1838              11 :                 if (yych <= 'o') {
    1839               9 :                         if (yych <= '`') {
    1840               0 :                                 if (yych <= 'Z') goto yy137;
    1841               0 :                                 goto yy3;
    1842                 :                         } else {
    1843               9 :                                 if (yych == 'g') goto yy554;
    1844               3 :                                 goto yy137;
    1845                 :                         }
    1846                 :                 } else {
    1847               2 :                         if (yych <= 't') {
    1848               2 :                                 if (yych <= 'p') goto yy553;
    1849               2 :                                 goto yy137;
    1850                 :                         } else {
    1851               0 :                                 if (yych <= 'u') goto yy552;
    1852               0 :                                 if (yych <= 'z') goto yy137;
    1853               0 :                                 goto yy3;
    1854                 :                         }
    1855                 :                 }
    1856                 :         }
    1857              12 : yy28:
    1858                 :         YYDEBUG(28, *YYCURSOR);
    1859              12 :         yych = *++YYCURSOR;
    1860              12 :         if (yych <= 'U') {
    1861               0 :                 if (yych <= 'D') {
    1862               0 :                         if (yych <= ')') {
    1863               0 :                                 if (yych <= '(') goto yy3;
    1864               0 :                                 goto yy136;
    1865                 :                         } else {
    1866               0 :                                 if (yych <= '@') goto yy3;
    1867               0 :                                 if (yych <= 'A') goto yy495;
    1868               0 :                                 goto yy137;
    1869                 :                         }
    1870                 :                 } else {
    1871               0 :                         if (yych <= 'H') {
    1872               0 :                                 if (yych <= 'E') goto yy494;
    1873               0 :                                 goto yy137;
    1874                 :                         } else {
    1875               0 :                                 if (yych <= 'I') goto yy496;
    1876               0 :                                 if (yych <= 'T') goto yy137;
    1877               0 :                                 goto yy497;
    1878                 :                         }
    1879                 :                 }
    1880                 :         } else {
    1881              12 :                 if (yych <= 'e') {
    1882               5 :                         if (yych <= '`') {
    1883               0 :                                 if (yych <= 'Z') goto yy137;
    1884               0 :                                 goto yy3;
    1885                 :                         } else {
    1886               5 :                                 if (yych <= 'a') goto yy524;
    1887               2 :                                 if (yych <= 'd') goto yy142;
    1888               2 :                                 goto yy523;
    1889                 :                         }
    1890                 :                 } else {
    1891               7 :                         if (yych <= 't') {
    1892               0 :                                 if (yych == 'i') goto yy525;
    1893               0 :                                 goto yy142;
    1894                 :                         } else {
    1895               7 :                                 if (yych <= 'u') goto yy526;
    1896               0 :                                 if (yych <= 'z') goto yy142;
    1897               0 :                                 goto yy3;
    1898                 :                         }
    1899                 :                 }
    1900                 :         }
    1901              29 : yy29:
    1902                 :         YYDEBUG(29, *YYCURSOR);
    1903              29 :         yych = *++YYCURSOR;
    1904              29 :         if (yych <= 'U') {
    1905               8 :                 if (yych <= 'D') {
    1906               1 :                         if (yych <= ')') {
    1907               1 :                                 if (yych <= '(') goto yy3;
    1908               0 :                                 goto yy136;
    1909                 :                         } else {
    1910               0 :                                 if (yych <= '@') goto yy3;
    1911               0 :                                 if (yych <= 'A') goto yy495;
    1912               0 :                                 goto yy137;
    1913                 :                         }
    1914                 :                 } else {
    1915               7 :                         if (yych <= 'H') {
    1916               0 :                                 if (yych <= 'E') goto yy494;
    1917               0 :                                 goto yy137;
    1918                 :                         } else {
    1919               7 :                                 if (yych <= 'I') goto yy496;
    1920               7 :                                 if (yych <= 'T') goto yy137;
    1921               0 :                                 goto yy497;
    1922                 :                         }
    1923                 :                 }
    1924                 :         } else {
    1925              21 :                 if (yych <= 'e') {
    1926               5 :                         if (yych <= '`') {
    1927               0 :                                 if (yych <= 'Z') goto yy137;
    1928               0 :                                 goto yy3;
    1929                 :                         } else {
    1930               5 :                                 if (yych <= 'a') goto yy495;
    1931               3 :                                 if (yych <= 'd') goto yy137;
    1932               3 :                                 goto yy494;
    1933                 :                         }
    1934                 :                 } else {
    1935              16 :                         if (yych <= 't') {
    1936              14 :                                 if (yych == 'i') goto yy496;
    1937              14 :                                 goto yy137;
    1938                 :                         } else {
    1939               2 :                                 if (yych <= 'u') goto yy497;
    1940               0 :                                 if (yych <= 'z') goto yy137;
    1941               0 :                                 goto yy3;
    1942                 :                         }
    1943                 :                 }
    1944                 :         }
    1945               7 : yy30:
    1946                 :         YYDEBUG(30, *YYCURSOR);
    1947               7 :         yych = *++YYCURSOR;
    1948               7 :         if (yych <= 'C') {
    1949               0 :                 if (yych <= ')') {
    1950               0 :                         if (yych <= '(') goto yy3;
    1951               0 :                         goto yy136;
    1952                 :                 } else {
    1953               0 :                         if (yych <= '@') goto yy3;
    1954               0 :                         if (yych <= 'B') goto yy137;
    1955               0 :                         goto yy484;
    1956                 :                 }
    1957                 :         } else {
    1958               7 :                 if (yych <= 'b') {
    1959               1 :                         if (yych <= 'Z') goto yy137;
    1960               0 :                         if (yych <= '`') goto yy3;
    1961               0 :                         goto yy142;
    1962                 :                 } else {
    1963               6 :                         if (yych <= 'c') goto yy489;
    1964               0 :                         if (yych <= 'z') goto yy142;
    1965               0 :                         goto yy3;
    1966                 :                 }
    1967                 :         }
    1968               7 : yy31:
    1969                 :         YYDEBUG(31, *YYCURSOR);
    1970               7 :         yych = *++YYCURSOR;
    1971               7 :         if (yych <= 'C') {
    1972               0 :                 if (yych <= ')') {
    1973               0 :                         if (yych <= '(') goto yy3;
    1974               0 :                         goto yy136;
    1975                 :                 } else {
    1976               0 :                         if (yych <= '@') goto yy3;
    1977               0 :                         if (yych <= 'B') goto yy137;
    1978               0 :                         goto yy484;
    1979                 :                 }
    1980                 :         } else {
    1981               7 :                 if (yych <= 'b') {
    1982               7 :                         if (yych <= 'Z') goto yy137;
    1983               7 :                         if (yych <= '`') goto yy3;
    1984               7 :                         goto yy137;
    1985                 :                 } else {
    1986               0 :                         if (yych <= 'c') goto yy484;
    1987               0 :                         if (yych <= 'z') goto yy137;
    1988               0 :                         goto yy3;
    1989                 :                 }
    1990                 :         }
    1991              18 : yy32:
    1992                 :         YYDEBUG(32, *YYCURSOR);
    1993              18 :         yych = *++YYCURSOR;
    1994              18 :         if (yych <= 'E') {
    1995               0 :                 if (yych <= ')') {
    1996               0 :                         if (yych <= '(') goto yy3;
    1997               0 :                         goto yy136;
    1998                 :                 } else {
    1999               0 :                         if (yych <= '@') goto yy3;
    2000               0 :                         if (yych <= 'D') goto yy137;
    2001               0 :                         goto yy301;
    2002                 :                 }
    2003                 :         } else {
    2004              18 :                 if (yych <= 'd') {
    2005               0 :                         if (yych <= 'Z') goto yy137;
    2006               0 :                         if (yych <= '`') goto yy3;
    2007               0 :                         goto yy142;
    2008                 :                 } else {
    2009              18 :                         if (yych <= 'e') goto yy477;
    2010               0 :                         if (yych <= 'z') goto yy142;
    2011               0 :                         goto yy3;
    2012                 :                 }
    2013                 :         }
    2014               1 : yy33:
    2015                 :         YYDEBUG(33, *YYCURSOR);
    2016               1 :         yych = *++YYCURSOR;
    2017               1 :         if (yych <= 'E') {
    2018               0 :                 if (yych <= ')') {
    2019               0 :                         if (yych <= '(') goto yy3;
    2020               0 :                         goto yy136;
    2021                 :                 } else {
    2022               0 :                         if (yych <= '@') goto yy3;
    2023               0 :                         if (yych <= 'D') goto yy137;
    2024               0 :                         goto yy301;
    2025                 :                 }
    2026                 :         } else {
    2027               1 :                 if (yych <= 'd') {
    2028               0 :                         if (yych <= 'Z') goto yy137;
    2029               0 :                         if (yych <= '`') goto yy3;
    2030               0 :                         goto yy137;
    2031                 :                 } else {
    2032               1 :                         if (yych <= 'e') goto yy301;
    2033               1 :                         if (yych <= 'z') goto yy137;
    2034               0 :                         goto yy3;
    2035                 :                 }
    2036                 :         }
    2037               9 : yy34:
    2038                 :         YYDEBUG(34, *YYCURSOR);
    2039               9 :         yych = *++YYCURSOR;
    2040               9 :         if (yych <= 'E') {
    2041               0 :                 if (yych <= ')') {
    2042               0 :                         if (yych <= '(') goto yy3;
    2043               0 :                         goto yy136;
    2044                 :                 } else {
    2045               0 :                         if (yych <= '@') goto yy3;
    2046               0 :                         if (yych <= 'D') goto yy137;
    2047               0 :                         goto yy274;
    2048                 :                 }
    2049                 :         } else {
    2050               9 :                 if (yych <= 'd') {
    2051               0 :                         if (yych <= 'Z') goto yy137;
    2052               0 :                         if (yych <= '`') goto yy3;
    2053               0 :                         goto yy142;
    2054                 :                 } else {
    2055               9 :                         if (yych <= 'e') goto yy288;
    2056               0 :                         if (yych <= 'z') goto yy142;
    2057               0 :                         goto yy3;
    2058                 :                 }
    2059                 :         }
    2060               9 : yy35:
    2061                 :         YYDEBUG(35, *YYCURSOR);
    2062               9 :         yych = *++YYCURSOR;
    2063               9 :         if (yych <= 'E') {
    2064               0 :                 if (yych <= ')') {
    2065               0 :                         if (yych <= '(') goto yy3;
    2066               0 :                         goto yy136;
    2067                 :                 } else {
    2068               0 :                         if (yych <= '@') goto yy3;
    2069               0 :                         if (yych <= 'D') goto yy137;
    2070               0 :                         goto yy274;
    2071                 :                 }
    2072                 :         } else {
    2073               9 :                 if (yych <= 'd') {
    2074               0 :                         if (yych <= 'Z') goto yy137;
    2075               0 :                         if (yych <= '`') goto yy3;
    2076               0 :                         goto yy137;
    2077                 :                 } else {
    2078               9 :                         if (yych <= 'e') goto yy274;
    2079               7 :                         if (yych <= 'z') goto yy137;
    2080               0 :                         goto yy3;
    2081                 :                 }
    2082                 :         }
    2083               8 : yy36:
    2084                 :         YYDEBUG(36, *YYCURSOR);
    2085               8 :         yych = *++YYCURSOR;
    2086               8 :         if (yych <= 'L') {
    2087               4 :                 if (yych <= '@') {
    2088               0 :                         if (yych == ')') goto yy136;
    2089               0 :                         goto yy3;
    2090                 :                 } else {
    2091               4 :                         if (yych == 'I') goto yy254;
    2092               4 :                         if (yych <= 'K') goto yy137;
    2093               0 :                         goto yy255;
    2094                 :                 }
    2095                 :         } else {
    2096               4 :                 if (yych <= 'i') {
    2097               0 :                         if (yych <= 'Z') goto yy137;
    2098               0 :                         if (yych <= '`') goto yy3;
    2099               0 :                         if (yych <= 'h') goto yy142;
    2100               0 :                         goto yy264;
    2101                 :                 } else {
    2102               4 :                         if (yych == 'l') goto yy265;
    2103               4 :                         if (yych <= 'z') goto yy142;
    2104               0 :                         goto yy3;
    2105                 :                 }
    2106                 :         }
    2107               0 : yy37:
    2108                 :         YYDEBUG(37, *YYCURSOR);
    2109               0 :         yych = *++YYCURSOR;
    2110               0 :         if (yych <= 'L') {
    2111               0 :                 if (yych <= '@') {
    2112               0 :                         if (yych == ')') goto yy136;
    2113               0 :                         goto yy3;
    2114                 :                 } else {
    2115               0 :                         if (yych == 'I') goto yy254;
    2116               0 :                         if (yych <= 'K') goto yy137;
    2117               0 :                         goto yy255;
    2118                 :                 }
    2119                 :         } else {
    2120               0 :                 if (yych <= 'i') {
    2121               0 :                         if (yych <= 'Z') goto yy137;
    2122               0 :                         if (yych <= '`') goto yy3;
    2123               0 :                         if (yych <= 'h') goto yy137;
    2124               0 :                         goto yy254;
    2125                 :                 } else {
    2126               0 :                         if (yych == 'l') goto yy255;
    2127               0 :                         if (yych <= 'z') goto yy137;
    2128               0 :                         goto yy3;
    2129                 :                 }
    2130                 :         }
    2131               0 : yy38:
    2132                 :         YYDEBUG(38, *YYCURSOR);
    2133               0 :         yych = *++YYCURSOR;
    2134               0 :         if (yych <= 'A') {
    2135               0 :                 if (yych == ')') goto yy136;
    2136               0 :                 if (yych <= '@') goto yy3;
    2137               0 :                 goto yy248;
    2138                 :         } else {
    2139               0 :                 if (yych <= '`') {
    2140               0 :                         if (yych <= 'Z') goto yy137;
    2141               0 :                         goto yy3;
    2142                 :                 } else {
    2143               0 :                         if (yych <= 'a') goto yy251;
    2144               0 :                         if (yych <= 'z') goto yy142;
    2145               0 :                         goto yy3;
    2146                 :                 }
    2147                 :         }
    2148               6 : yy39:
    2149                 :         YYDEBUG(39, *YYCURSOR);
    2150               6 :         yych = *++YYCURSOR;
    2151               6 :         if (yych <= 'A') {
    2152               0 :                 if (yych == ')') goto yy136;
    2153               0 :                 if (yych <= '@') goto yy3;
    2154               0 :                 goto yy248;
    2155                 :         } else {
    2156               6 :                 if (yych <= '`') {
    2157               0 :                         if (yych <= 'Z') goto yy137;
    2158               0 :                         goto yy3;
    2159                 :                 } else {
    2160               6 :                         if (yych <= 'a') goto yy248;
    2161               0 :                         if (yych <= 'z') goto yy137;
    2162               0 :                         goto yy3;
    2163                 :                 }
    2164                 :         }
    2165               0 : yy40:
    2166                 :         YYDEBUG(40, *YYCURSOR);
    2167               0 :         yych = *++YYCURSOR;
    2168               0 :         if (yych <= 'R') {
    2169               0 :                 if (yych <= ')') {
    2170               0 :                         if (yych <= '(') goto yy3;
    2171               0 :                         goto yy136;
    2172                 :                 } else {
    2173               0 :                         if (yych <= '@') goto yy3;
    2174               0 :                         if (yych <= 'Q') goto yy137;
    2175               0 :                         goto yy154;
    2176                 :                 }
    2177                 :         } else {
    2178               0 :                 if (yych <= 'q') {
    2179               0 :                         if (yych <= 'Z') goto yy137;
    2180               0 :                         if (yych <= '`') goto yy3;
    2181               0 :                         goto yy142;
    2182                 :                 } else {
    2183               0 :                         if (yych <= 'r') goto yy241;
    2184               0 :                         if (yych <= 'z') goto yy142;
    2185               0 :                         goto yy3;
    2186                 :                 }
    2187                 :         }
    2188               1 : yy41:
    2189                 :         YYDEBUG(41, *YYCURSOR);
    2190               1 :         yych = *++YYCURSOR;
    2191               1 :         if (yych <= 'R') {
    2192               0 :                 if (yych <= ')') {
    2193               0 :                         if (yych <= '(') goto yy3;
    2194               0 :                         goto yy136;
    2195                 :                 } else {
    2196               0 :                         if (yych <= '@') goto yy3;
    2197               0 :                         if (yych <= 'Q') goto yy137;
    2198               0 :                         goto yy154;
    2199                 :                 }
    2200                 :         } else {
    2201               1 :                 if (yych <= 'q') {
    2202               1 :                         if (yych <= 'Z') goto yy137;
    2203               1 :                         if (yych <= '`') goto yy3;
    2204               1 :                         goto yy137;
    2205                 :                 } else {
    2206               0 :                         if (yych <= 'r') goto yy154;
    2207               0 :                         if (yych <= 'z') goto yy137;
    2208               0 :                         goto yy3;
    2209                 :                 }
    2210                 :         }
    2211               1 : yy42:
    2212                 :         YYDEBUG(42, *YYCURSOR);
    2213               1 :         yych = *++YYCURSOR;
    2214               1 :         if (yych <= '@') goto yy12;
    2215               1 :         if (yych <= 'Z') goto yy153;
    2216               0 :         if (yych <= '`') goto yy12;
    2217               0 :         if (yych <= 'z') goto yy153;
    2218               0 :         goto yy12;
    2219             248 : yy43:
    2220                 :         YYDEBUG(43, *YYCURSOR);
    2221             248 :         yych = *++YYCURSOR;
    2222             248 :         if (yych <= '@') {
    2223              12 :                 if (yych == ')') goto yy136;
    2224              12 :                 goto yy3;
    2225                 :         } else {
    2226             236 :                 if (yych <= 'Z') goto yy137;
    2227               8 :                 if (yych <= '`') goto yy3;
    2228               8 :                 if (yych <= 'z') goto yy142;
    2229               0 :                 goto yy3;
    2230                 :         }
    2231              13 : yy44:
    2232                 :         YYDEBUG(44, *YYCURSOR);
    2233              13 :         yych = *++YYCURSOR;
    2234              13 :         if (yych <= '@') {
    2235               1 :                 if (yych == ')') goto yy136;
    2236               1 :                 goto yy3;
    2237                 :         } else {
    2238              12 :                 if (yych <= 'Z') goto yy137;
    2239              12 :                 if (yych <= '`') goto yy3;
    2240              12 :                 if (yych <= 'z') goto yy137;
    2241               0 :                 goto yy3;
    2242                 :         }
    2243             877 : yy45:
    2244                 :         YYDEBUG(45, *YYCURSOR);
    2245             877 :         yyaccept = 2;
    2246             877 :         yych = *(YYMARKER = ++YYCURSOR);
    2247             877 :         if (yybm[0+yych] & 8) {
    2248               0 :                 goto yy54;
    2249                 :         }
    2250             877 :         if (yych <= '/') goto yy46;
    2251             684 :         if (yych <= '9') goto yy51;
    2252             880 : yy46:
    2253                 :         YYDEBUG(46, *YYCURSOR);
    2254                 : #line 1530 "ext/date/lib/parse_date.re"
    2255                 :         {
    2256                 :                 goto std;
    2257                 :         }
    2258                 : #line 2259 "ext/date/lib/parse_date.c"
    2259              20 : yy47:
    2260                 :         YYDEBUG(47, *YYCURSOR);
    2261              20 :         yych = *++YYCURSOR;
    2262              20 :         goto yy46;
    2263            3164 : yy48:
    2264                 :         YYDEBUG(48, *YYCURSOR);
    2265            3164 :         ++YYCURSOR;
    2266                 :         YYDEBUG(49, *YYCURSOR);
    2267                 : #line 1535 "ext/date/lib/parse_date.re"
    2268                 :         {
    2269                 :                 s->pos = cursor; s->line++;
    2270                 :                 goto std;
    2271                 :         }
    2272                 : #line 2273 "ext/date/lib/parse_date.c"
    2273              19 : yy50:
    2274                 :         YYDEBUG(50, *YYCURSOR);
    2275              19 :         yych = *++YYCURSOR;
    2276              19 :         goto yy12;
    2277             925 : yy51:
    2278                 :         YYDEBUG(51, *YYCURSOR);
    2279             925 :         ++YYCURSOR;
    2280             925 :         if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
    2281             925 :         yych = *YYCURSOR;
    2282                 :         YYDEBUG(52, *YYCURSOR);
    2283             925 :         if (yybm[0+yych] & 4) {
    2284             491 :                 goto yy51;
    2285                 :         }
    2286             434 :         if (yych <= 'W') {
    2287             427 :                 if (yych <= 'F') {
    2288             427 :                         if (yych <= ' ') {
    2289              97 :                                 if (yych == '\t') goto yy56;
    2290              97 :                                 if (yych >= ' ') goto yy56;
    2291                 :                         } else {
    2292             330 :                                 if (yych == 'D') goto yy61;
    2293             330 :                                 if (yych >= 'F') goto yy63;
    2294                 :                         }
    2295                 :                 } else {
    2296               0 :                         if (yych <= 'M') {
    2297               0 :                                 if (yych == 'H') goto yy60;
    2298               0 :                                 if (yych >= 'M') goto yy59;
    2299                 :                         } else {
    2300               0 :                                 if (yych <= 'S') {
    2301               0 :                                         if (yych >= 'S') goto yy58;
    2302                 :                                 } else {
    2303               0 :                                         if (yych <= 'T') goto yy65;
    2304               0 :                                         if (yych >= 'W') goto yy62;
    2305                 :                                 }
    2306                 :                         }
    2307                 :                 }
    2308                 :         } else {
    2309               7 :                 if (yych <= 'l') {
    2310               4 :                         if (yych <= 'd') {
    2311               4 :                                 if (yych == 'Y') goto yy64;
    2312               4 :                                 if (yych >= 'd') goto yy61;
    2313                 :                         } else {
    2314               0 :                                 if (yych <= 'f') {
    2315               0 :                                         if (yych >= 'f') goto yy63;
    2316                 :                                 } else {
    2317               0 :                                         if (yych == 'h') goto yy60;
    2318                 :                                 }
    2319                 :                         }
    2320                 :                 } else {
    2321               3 :                         if (yych <= 't') {
    2322               3 :                                 if (yych <= 'm') goto yy59;
    2323               3 :                                 if (yych <= 'r') goto yy53;
    2324               1 :                                 if (yych <= 's') goto yy58;
    2325               1 :                                 goto yy65;
    2326                 :                         } else {
    2327               0 :                                 if (yych <= 'w') {
    2328               0 :                                         if (yych >= 'w') goto yy62;
    2329                 :                                 } else {
    2330               0 :                                         if (yych == 'y') goto yy64;
    2331                 :                                 }
    2332                 :                         }
    2333                 :                 }
    2334                 :         }
    2335             460 : yy53:
    2336                 :         YYDEBUG(53, *YYCURSOR);
    2337             460 :         YYCURSOR = YYMARKER;
    2338             460 :         if (yyaccept <= 15) {
    2339             442 :                 if (yyaccept <= 7) {
    2340             378 :                         if (yyaccept <= 3) {
    2341             378 :                                 if (yyaccept <= 1) {
    2342              24 :                                         if (yyaccept <= 0) {
    2343              14 :                                                 goto yy3;
    2344                 :                                         } else {
    2345              10 :                                                 goto yy12;
    2346                 :                                         }
    2347                 :                                 } else {
    2348             354 :                                         if (yyaccept <= 2) {
    2349             354 :                                                 goto yy46;
    2350                 :                                         } else {
    2351               0 :                                                 goto yy69;
    2352                 :                                         }
    2353                 :                                 }
    2354                 :                         } else {
    2355               0 :                                 if (yyaccept <= 5) {
    2356               0 :                                         if (yyaccept <= 4) {
    2357               0 :                                                 goto yy174;
    2358                 :                                         } else {
    2359               0 :                                                 goto yy276;
    2360                 :                                         }
    2361                 :                                 } else {
    2362               0 :                                         if (yyaccept <= 6) {
    2363               0 :                                                 goto yy303;
    2364                 :                                         } else {
    2365               0 :                                                 goto yy308;
    2366                 :                                         }
    2367                 :                                 }
    2368                 :                         }
    2369                 :                 } else {
    2370              64 :                         if (yyaccept <= 11) {
    2371               3 :                                 if (yyaccept <= 9) {
    2372               3 :                                         if (yyaccept <= 8) {
    2373               3 :                                                 goto yy332;
    2374                 :                                         } else {
    2375               0 :                                                 goto yy402;
    2376                 :                                         }
    2377                 :                                 } else {
    2378               0 :                                         if (yyaccept <= 10) {
    2379               0 :                                                 goto yy556;
    2380                 :                                         } else {
    2381               0 :                                                 goto yy679;
    2382                 :                                         }
    2383                 :                                 }
    2384                 :                         } else {
    2385              61 :                                 if (yyaccept <= 13) {
    2386              61 :                                         if (yyaccept <= 12) {
    2387              61 :                                                 goto yy694;
    2388                 :                                         } else {
    2389               0 :                                                 goto yy799;
    2390                 :                                         }
    2391                 :                                 } else {
    2392               0 :                                         if (yyaccept <= 14) {
    2393               0 :                                                 goto yy843;
    2394                 :                                         } else {
    2395               0 :                                                 goto yy853;
    2396                 :                                         }
    2397                 :                                 }
    2398                 :                         }
    2399                 :                 }
    2400                 :         } else {
    2401              18 :                 if (yyaccept <= 23) {
    2402               9 :                         if (yyaccept <= 19) {
    2403               0 :                                 if (yyaccept <= 17) {
    2404               0 :                                         if (yyaccept <= 16) {
    2405               0 :                                                 goto yy947;
    2406                 :                                         } else {
    2407               0 :                                                 goto yy967;
    2408                 :                                         }
    2409                 :                                 } else {
    2410               0 :                                         if (yyaccept <= 18) {
    2411               0 :                                                 goto yy998;
    2412                 :                                         } else {
    2413               0 :                                                 goto yy1005;
    2414                 :                                         }
    2415                 :                                 }
    2416                 :                         } else {
    2417               9 :                                 if (yyaccept <= 21) {
    2418               6 :                                         if (yyaccept <= 20) {
    2419               6 :                                                 goto yy1032;
    2420                 :                                         } else {
    2421               0 :                                                 goto yy977;
    2422                 :                                         }
    2423                 :                                 } else {
    2424               3 :                                         if (yyaccept <= 22) {
    2425               2 :                                                 goto yy658;
    2426                 :                                         } else {
    2427               1 :                                                 goto yy1157;
    2428                 :                                         }
    2429                 :                                 }
    2430                 :                         }
    2431                 :                 } else {
    2432               9 :                         if (yyaccept <= 27) {
    2433               9 :                                 if (yyaccept <= 25) {
    2434               7 :                                         if (yyaccept <= 24) {
    2435               0 :                                                 goto yy1026;
    2436                 :                                         } else {
    2437               7 :                                                 goto yy1248;
    2438                 :                                         }
    2439                 :                                 } else {
    2440               2 :                                         if (yyaccept <= 26) {
    2441               2 :                                                 goto yy1256;
    2442                 :                                         } else {
    2443               0 :                                                 goto yy1311;
    2444                 :                                         }
    2445                 :                                 }
    2446                 :                         } else {
    2447               0 :                                 if (yyaccept <= 29) {
    2448               0 :                                         if (yyaccept <= 28) {
    2449               0 :                                                 goto yy1314;
    2450                 :                                         } else {
    2451               0 :                                                 goto yy1392;
    2452                 :                                         }
    2453                 :                                 } else {
    2454               0 :                                         if (yyaccept <= 30) {
    2455               0 :                                                 goto yy1400;
    2456                 :                                         } else {
    2457               0 :                                                 goto yy1423;
    2458                 :                                         }
    2459                 :                                 }
    2460                 :                         }
    2461                 :                 }
    2462                 :         }
    2463               5 : yy54:
    2464                 :         YYDEBUG(54, *YYCURSOR);
    2465               5 :         ++YYCURSOR;
    2466               5 :         if (YYLIMIT <= YYCURSOR) YYFILL(1);
    2467               5 :         yych = *YYCURSOR;
    2468                 :         YYDEBUG(55, *YYCURSOR);
    2469               5 :         if (yybm[0+yych] & 8) {
    2470               0 :                 goto yy54;
    2471                 :         }
    2472               5 :         if (yych <= '/') goto yy53;
    2473               5 :         if (yych <= '9') goto yy51;
    2474               0 :         goto yy53;
    2475             282 : yy56:
    2476                 :         YYDEBUG(56, *YYCURSOR);
    2477             282 :         ++YYCURSOR;
    2478             282 :         if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
    2479             282 :         yych = *YYCURSOR;
    2480             498 : yy57:
    2481                 :         YYDEBUG(57, *YYCURSOR);
    2482             498 :         if (yych <= 'W') {
    2483             229 :                 if (yych <= 'F') {
    2484             217 :                         if (yych <= ' ') {
    2485             211 :                                 if (yych == '\t') goto yy56;
    2486             210 :                                 if (yych <= 0x1F) goto yy53;
    2487             202 :                                 goto yy56;
    2488                 :                         } else {
    2489               6 :                                 if (yych == 'D') goto yy61;
    2490               4 :                                 if (yych <= 'E') goto yy53;
    2491               0 :                                 goto yy63;
    2492                 :                         }
    2493                 :                 } else {
    2494              12 :                         if (yych <= 'M') {
    2495               5 :                                 if (yych == 'H') goto yy60;
    2496               5 :                                 if (yych <= 'L') goto yy53;
    2497               2 :                                 goto yy59;
    2498                 :                         } else {
    2499               7 :                                 if (yych <= 'S') {
    2500               7 :                                         if (yych <= 'R') goto yy53;
    2501                 :                                 } else {
    2502               0 :                                         if (yych <= 'T') goto yy65;
    2503               0 :                                         if (yych <= 'V') goto yy53;
    2504               0 :                                         goto yy62;
    2505                 :                                 }
    2506                 :                         }
    2507                 :                 }
    2508                 :         } else {
    2509             269 :                 if (yych <= 'l') {
    2510             147 :                         if (yych <= 'd') {
    2511              93 :                                 if (yych == 'Y') goto yy64;
    2512              93 :                                 if (yych <= 'c') goto yy53;
    2513              92 :                                 goto yy61;
    2514                 :                         } else {
    2515              54 :                                 if (yych <= 'f') {
    2516               0 :                                         if (yych <= 'e') goto yy53;
    2517               0 :                                         goto yy63;
    2518                 :                                 } else {
    2519              54 :                                         if (yych == 'h') goto yy60;
    2520               0 :                                         goto yy53;
    2521                 :                                 }
    2522                 :                         }
    2523                 :                 } else {
    2524             122 :                         if (yych <= 't') {
    2525              85 :                                 if (yych <= 'm') goto yy59;
    2526              32 :                                 if (yych <= 'r') goto yy53;
    2527              32 :                                 if (yych >= 't') goto yy65;
    2528                 :                         } else {
    2529              37 :                                 if (yych <= 'w') {
    2530               6 :                                         if (yych <= 'v') goto yy53;
    2531               6 :                                         goto yy62;
    2532                 :                                 } else {
    2533              31 :                                         if (yych == 'y') goto yy64;
    2534               0 :                                         goto yy53;
    2535                 :                                 }
    2536                 :                         }
    2537                 :                 }
    2538                 :         }
    2539              32 : yy58:
    2540                 :         YYDEBUG(58, *YYCURSOR);
    2541              32 :         yych = *++YYCURSOR;
    2542              32 :         if (yych <= 'U') {
    2543               0 :                 if (yych <= 'D') {
    2544               0 :                         if (yych == 'A') goto yy123;
    2545               0 :                         goto yy53;
    2546                 :                 } else {
    2547               0 :                         if (yych <= 'E') goto yy124;
    2548               0 :                         if (yych <= 'T') goto yy53;
    2549               0 :                         goto yy122;
    2550                 :                 }
    2551                 :         } else {
    2552              32 :                 if (yych <= 'd') {
    2553               0 :                         if (yych == 'a') goto yy123;
    2554               0 :                         goto yy53;
    2555                 :                 } else {
    2556              32 :                         if (yych <= 'e') goto yy124;
    2557               0 :                         if (yych == 'u') goto yy122;
    2558               0 :                         goto yy53;
    2559                 :                 }
    2560                 :         }
    2561              55 : yy59:
    2562                 :         YYDEBUG(59, *YYCURSOR);
    2563              55 :         yych = *++YYCURSOR;
    2564              55 :         if (yych <= 'O') {
    2565               0 :                 if (yych == 'I') goto yy114;
    2566               0 :                 if (yych <= 'N') goto yy53;
    2567               0 :                 goto yy113;
    2568                 :         } else {
    2569              55 :                 if (yych <= 'i') {
    2570              24 :                         if (yych <= 'h') goto yy53;
    2571              22 :                         goto yy114;
    2572                 :                 } else {
    2573              31 :                         if (yych == 'o') goto yy113;
    2574               0 :                         goto yy53;
    2575                 :                 }
    2576                 :         }
    2577              56 : yy60:
    2578                 :         YYDEBUG(60, *YYCURSOR);
    2579              56 :         yych = *++YYCURSOR;
    2580              56 :         if (yych == 'O') goto yy111;
    2581              56 :         if (yych == 'o') goto yy111;
    2582               0 :         goto yy53;
    2583              94 : yy61:
    2584                 :         YYDEBUG(61, *YYCURSOR);
    2585              94 :         yych = *++YYCURSOR;
    2586              94 :         if (yych == 'A') goto yy110;
    2587              94 :         if (yych == 'a') goto yy110;
    2588               2 :         goto yy53;
    2589               6 : yy62:
    2590                 :         YYDEBUG(62, *YYCURSOR);
    2591               6 :         yych = *++YYCURSOR;
    2592               6 :         if (yych == 'E') goto yy98;
    2593               6 :         if (yych == 'e') goto yy98;
    2594               0 :         goto yy53;
    2595               0 : yy63:
    2596                 :         YYDEBUG(63, *YYCURSOR);
    2597               0 :         yych = *++YYCURSOR;
    2598               0 :         if (yych <= 'R') {
    2599               0 :                 if (yych == 'O') goto yy83;
    2600               0 :                 if (yych <= 'Q') goto yy53;
    2601               0 :                 goto yy82;
    2602                 :         } else {
    2603               0 :                 if (yych <= 'o') {
    2604               0 :                         if (yych <= 'n') goto yy53;
    2605               0 :                         goto yy83;
    2606                 :                 } else {
    2607               0 :                         if (yych == 'r') goto yy82;
    2608               0 :                         goto yy53;
    2609                 :                 }
    2610                 :         }
    2611              31 : yy64:
    2612                 :         YYDEBUG(64, *YYCURSOR);
    2613              31 :         yych = *++YYCURSOR;
    2614              31 :         if (yych == 'E') goto yy79;
    2615              31 :         if (yych == 'e') goto yy79;
    2616               0 :         goto yy53;
    2617               4 : yy65:
    2618                 :         YYDEBUG(65, *YYCURSOR);
    2619               4 :         yych = *++YYCURSOR;
    2620               4 :         if (yych <= 'U') {
    2621               0 :                 if (yych == 'H') goto yy66;
    2622               0 :                 if (yych <= 'T') goto yy53;
    2623               0 :                 goto yy67;
    2624                 :         } else {
    2625               4 :                 if (yych <= 'h') {
    2626               4 :                         if (yych <= 'g') goto yy53;
    2627                 :                 } else {
    2628               0 :                         if (yych == 'u') goto yy67;
    2629               0 :                         goto yy53;
    2630                 :                 }
    2631                 :         }
    2632               4 : yy66:
    2633                 :         YYDEBUG(66, *YYCURSOR);
    2634               4 :         yych = *++YYCURSOR;
    2635               4 :         if (yych == 'U') goto yy74;
    2636               4 :         if (yych == 'u') goto yy74;
    2637               1 :         goto yy53;
    2638               0 : yy67:
    2639                 :         YYDEBUG(67, *YYCURSOR);
    2640               0 :         yych = *++YYCURSOR;
    2641               0 :         if (yych == 'E') goto yy68;
    2642               0 :         if (yych != 'e') goto yy53;
    2643               0 : yy68:
    2644                 :         YYDEBUG(68, *YYCURSOR);
    2645               0 :         yyaccept = 3;
    2646               0 :         yych = *(YYMARKER = ++YYCURSOR);
    2647               0 :         if (yych == 'S') goto yy70;
    2648               0 :         if (yych == 's') goto yy70;
    2649             278 : yy69:
    2650                 :         YYDEBUG(69, *YYCURSOR);
    2651                 : #line 1514 "ext/date/lib/parse_date.re"
    2652                 :         {
    2653                 :                 timelib_ull i;
    2654                 :                 DEBUG_OUTPUT("relative");
    2655                 :                 TIMELIB_INIT;
    2656                 :                 TIMELIB_HAVE_RELATIVE();
    2657                 : 
    2658                 :                 while(*ptr) {
    2659                 :                         i = timelib_get_unsigned_nr((char **) &ptr, 24);
    2660                 :                         timelib_eat_spaces((char **) &ptr);
    2661                 :                         timelib_set_relative((char **) &ptr, i, 1, s);
    2662                 :                 }
    2663                 :                 TIMELIB_DEINIT;
    2664                 :                 return TIMELIB_RELATIVE;
    2665                 :         }
    2666                 : #line 2667 "ext/date/lib/parse_date.c"
    2667               0 : yy70:
    2668                 :         YYDEBUG(70, *YYCURSOR);
    2669               0 :         yych = *++YYCURSOR;
    2670               0 :         if (yych == 'D') goto yy71;
    2671               0 :         if (yych != 'd') goto yy53;
    2672               0 : yy71:
    2673                 :         YYDEBUG(71, *YYCURSOR);
    2674               0 :         yych = *++YYCURSOR;
    2675               0 :         if (yych == 'A') goto yy72;
    2676               0 :         if (yych != 'a') goto yy53;
    2677               0 : yy72:
    2678                 :         YYDEBUG(72, *YYCURSOR);
    2679               0 :         yych = *++YYCURSOR;
    2680               0 :         if (yych == 'Y') goto yy73;
    2681               0 :         if (yych != 'y') goto yy53;
    2682             210 : yy73:
    2683                 :         YYDEBUG(73, *YYCURSOR);
    2684             210 :         yych = *++YYCURSOR;
    2685             210 :         goto yy69;
    2686               3 : yy74:
    2687                 :         YYDEBUG(74, *YYCURSOR);
    2688               3 :         yyaccept = 3;
    2689               3 :         yych = *(YYMARKER = ++YYCURSOR);
    2690               3 :         if (yych == 'R') goto yy75;
    2691               3 :         if (yych != 'r') goto yy69;
    2692               3 : yy75:
    2693                 :         YYDEBUG(75, *YYCURSOR);
    2694               3 :         yych = *++YYCURSOR;
    2695               3 :         if (yych == 'S') goto yy76;
    2696               3 :         if (yych != 's') goto yy53;
    2697               3 : yy76:
    2698                 :         YYDEBUG(76, *YYCURSOR);
    2699               3 :         yych = *++YYCURSOR;
    2700               3 :         if (yych == 'D') goto yy77;
    2701               3 :         if (yych != 'd') goto yy53;
    2702               3 : yy77:
    2703                 :         YYDEBUG(77, *YYCURSOR);
    2704               3 :         yych = *++YYCURSOR;
    2705               3 :         if (yych == 'A') goto yy78;
    2706               3 :         if (yych != 'a') goto yy53;
    2707               3 : yy78:
    2708                 :         YYDEBUG(78, *YYCURSOR);
    2709               3 :         yych = *++YYCURSOR;
    2710               3 :         if (yych == 'Y') goto yy73;
    2711               3 :         if (yych == 'y') goto yy73;
    2712               0 :         goto yy53;
    2713              31 : yy79:
    2714                 :         YYDEBUG(79, *YYCURSOR);
    2715              31 :         yych = *++YYCURSOR;
    2716              31 :         if (yych == 'A') goto yy80;
    2717              31 :         if (yych != 'a') goto yy53;
    2718              31 : yy80:
    2719                 :         YYDEBUG(80, *YYCURSOR);
    2720              31 :         yych = *++YYCURSOR;
    2721              31 :         if (yych == 'R') goto yy81;
    2722              31 :         if (yych != 'r') goto yy53;
    2723             266 : yy81:
    2724                 :         YYDEBUG(81, *YYCURSOR);
    2725             266 :         yych = *++YYCURSOR;
    2726             266 :         if (yych == 'S') goto yy73;
    2727             266 :         if (yych == 's') goto yy73;
    2728              62 :         goto yy69;
    2729               0 : yy82:
    2730                 :         YYDEBUG(82, *YYCURSOR);
    2731               0 :         yych = *++YYCURSOR;
    2732               0 :         if (yych == 'I') goto yy95;
    2733               0 :         if (yych == 'i') goto yy95;
    2734               0 :         goto yy53;
    2735               0 : yy83:
    2736                 :         YYDEBUG(83, *YYCURSOR);
    2737               0 :         yych = *++YYCURSOR;
    2738               0 :         if (yych == 'R') goto yy84;
    2739               0 :         if (yych != 'r') goto yy53;
    2740               0 : yy84:
    2741                 :         YYDEBUG(84, *YYCURSOR);
    2742               0 :         yych = *++YYCURSOR;
    2743               0 :         if (yych == 'T') goto yy85;
    2744               0 :         if (yych != 't') goto yy53;
    2745               0 : yy85:
    2746                 :         YYDEBUG(85, *YYCURSOR);
    2747               0 :         yych = *++YYCURSOR;
    2748               0 :         if (yych <= 'N') {
    2749               0 :                 if (yych == 'H') goto yy87;
    2750               0 :                 if (yych <= 'M') goto yy53;
    2751                 :         } else {
    2752               0 :                 if (yych <= 'h') {
    2753               0 :                         if (yych <= 'g') goto yy53;
    2754               0 :                         goto yy87;
    2755                 :                 } else {
    2756               0 :                         if (yych != 'n') goto yy53;
    2757                 :                 }
    2758                 :         }
    2759                 :         YYDEBUG(86, *YYCURSOR);
    2760               0 :         yych = *++YYCURSOR;
    2761               0 :         if (yych == 'I') goto yy92;
    2762               0 :         if (yych == 'i') goto yy92;
    2763               0 :         goto yy53;
    2764               0 : yy87:
    2765                 :         YYDEBUG(87, *YYCURSOR);
    2766               0 :         yych = *++YYCURSOR;
    2767               0 :         if (yych == 'N') goto yy88;
    2768               0 :         if (yych != 'n') goto yy53;
    2769               0 : yy88:
    2770                 :         YYDEBUG(88, *YYCURSOR);
    2771               0 :         yych = *++YYCURSOR;
    2772               0 :         if (yych == 'I') goto yy89;
    2773               0 :         if (yych != 'i') goto yy53;
    2774               0 : yy89:
    2775                 :         YYDEBUG(89, *YYCURSOR);
    2776               0 :         yych = *++YYCURSOR;
    2777               0 :         if (yych == 'G') goto yy90;
    2778               0 :         if (yych != 'g') goto yy53;
    2779               0 : yy90:
    2780                 :         YYDEBUG(90, *YYCURSOR);
    2781               0 :         yych = *++YYCURSOR;
    2782               0 :         if (yych == 'H') goto yy91;
    2783               0 :         if (yych != 'h') goto yy53;
    2784               0 : yy91:
    2785                 :         YYDEBUG(91, *YYCURSOR);
    2786               0 :         yych = *++YYCURSOR;
    2787               0 :         if (yych == 'T') goto yy81;
    2788               0 :         if (yych == 't') goto yy81;
    2789               0 :         goto yy53;
    2790               0 : yy92:
    2791                 :         YYDEBUG(92, *YYCURSOR);
    2792               0 :         yych = *++YYCURSOR;
    2793               0 :         if (yych == 'G') goto yy93;
    2794               0 :         if (yych != 'g') goto yy53;
    2795               0 : yy93:
    2796                 :         YYDEBUG(93, *YYCURSOR);
    2797               0 :         yych = *++YYCURSOR;
    2798               0 :         if (yych == 'H') goto yy94;
    2799               0 :         if (yych != 'h') goto yy53;
    2800               0 : yy94:
    2801                 :         YYDEBUG(94, *YYCURSOR);
    2802               0 :         yych = *++YYCURSOR;
    2803               0 :         if (yych == 'T') goto yy81;
    2804               0 :         if (yych == 't') goto yy81;
    2805               0 :         goto yy53;
    2806               0 : yy95:
    2807                 :         YYDEBUG(95, *YYCURSOR);
    2808               0 :         yyaccept = 3;
    2809               0 :         yych = *(YYMARKER = ++YYCURSOR);
    2810               0 :         if (yych == 'D') goto yy96;
    2811               0 :         if (yych != 'd') goto yy69;
    2812               0 : yy96:
    2813                 :         YYDEBUG(96, *YYCURSOR);
    2814               0 :         yych = *++YYCURSOR;
    2815               0 :         if (yych == 'A') goto yy97;
    2816               0 :         if (yych != 'a') goto yy53;
    2817               0 : yy97:
    2818                 :         YYDEBUG(97, *YYCURSOR);
    2819               0 :         yych = *++YYCURSOR;
    2820               0 :         if (yych == 'Y') goto yy73;
    2821               0 :         if (yych == 'y') goto yy73;
    2822               0 :         goto yy53;
    2823               6 : yy98:
    2824                 :         YYDEBUG(98, *YYCURSOR);
    2825               6 :         yych = *++YYCURSOR;
    2826               6 :         if (yych <= 'E') {
    2827               0 :                 if (yych <= 'C') goto yy53;
    2828               0 :                 if (yych <= 'D') goto yy100;
    2829                 :         } else {
    2830               6 :                 if (yych <= 'c') goto yy53;
    2831               6 :                 if (yych <= 'd') goto yy100;
    2832               6 :                 if (yych >= 'f') goto yy53;
    2833                 :         }
    2834                 :         YYDEBUG(99, *YYCURSOR);
    2835               6 :         yych = *++YYCURSOR;
    2836               6 :         if (yych == 'K') goto yy106;
    2837               6 :         if (yych == 'k') goto yy106;
    2838               0 :         goto yy53;
    2839               0 : yy100:
    2840                 :         YYDEBUG(100, *YYCURSOR);
    2841               0 :         yyaccept = 3;
    2842               0 :         yych = *(YYMARKER = ++YYCURSOR);
    2843               0 :         if (yych == 'N') goto yy101;
    2844               0 :         if (yych != 'n') goto yy69;
    2845               0 : yy101:
    2846                 :         YYDEBUG(101, *YYCURSOR);
    2847               0 :         yych = *++YYCURSOR;
    2848               0 :         if (yych == 'E') goto yy102;
    2849               0 :         if (yych != 'e') goto yy53;
    2850               0 : yy102:
    2851                 :         YYDEBUG(102, *YYCURSOR);
    2852               0 :         yych = *++YYCURSOR;
    2853               0 :         if (yych == 'S') goto yy103;
    2854               0 :         if (yych != 's') goto yy53;
    2855               0 : yy103:
    2856                 :         YYDEBUG(103, *YYCURSOR);
    2857               0 :         yych = *++YYCURSOR;
    2858               0 :         if (yych == 'D') goto yy104;
    2859               0 :         if (yych != 'd') goto yy53;
    2860               0 : yy104:
    2861                 :         YYDEBUG(104, *YYCURSOR);
    2862               0 :         yych = *++YYCURSOR;
    2863               0 :         if (yych == 'A') goto yy105;
    2864               0 :         if (yych != 'a') goto yy53;
    2865               0 : yy105:
    2866                 :         YYDEBUG(105, *YYCURSOR);
    2867               0 :         yych = *++YYCURSOR;
    2868               0 :         if (yych == 'Y') goto yy73;
    2869               0 :         if (yych == 'y') goto yy73;
    2870               0 :         goto yy53;
    2871               6 : yy106:
    2872                 :         YYDEBUG(106, *YYCURSOR);
    2873               6 :         yyaccept = 3;
    2874               6 :         yych = *(YYMARKER = ++YYCURSOR);
    2875               6 :         if (yych <= 'S') {
    2876               6 :                 if (yych == 'D') goto yy107;
    2877               6 :                 if (yych <= 'R') goto yy69;
    2878               0 :                 goto yy73;
    2879                 :         } else {
    2880               0 :                 if (yych <= 'd') {
    2881               0 :                         if (yych <= 'c') goto yy69;
    2882                 :                 } else {
    2883               0 :                         if (yych == 's') goto yy73;
    2884               0 :                         goto yy69;
    2885                 :                 }
    2886                 :         }
    2887               0 : yy107:
    2888                 :         YYDEBUG(107, *YYCURSOR);
    2889               0 :         yych = *++YYCURSOR;
    2890               0 :         if (yych == 'A') goto yy108;
    2891               0 :         if (yych != 'a') goto yy53;
    2892               0 : yy108:
    2893                 :         YYDEBUG(108, *YYCURSOR);
    2894               0 :         yych = *++YYCURSOR;
    2895               0 :         if (yych == 'Y') goto yy109;
    2896               0 :         if (yych != 'y') goto yy53;
    2897               0 : yy109:
    2898                 :         YYDEBUG(109, *YYCURSOR);
    2899               0 :         yych = *++YYCURSOR;
    2900               0 :         if (yych == 'S') goto yy73;
    2901               0 :         if (yych == 's') goto yy73;
    2902               0 :         goto yy69;
    2903              93 : yy110:
    2904                 :         YYDEBUG(110, *YYCURSOR);
    2905              93 :         yych = *++YYCURSOR;
    2906              93 :         if (yych == 'Y') goto yy81;
    2907              93 :         if (yych == 'y') goto yy81;
    2908               0 :         goto yy53;
    2909              56 : yy111:
    2910                 :         YYDEBUG(111, *YYCURSOR);
    2911              56 :         yych = *++YYCURSOR;
    2912              56 :         if (yych == 'U') goto yy112;
    2913              56 :         if (yych != 'u') goto yy53;
    2914              56 : yy112:
    2915                 :         YYDEBUG(112, *YYCURSOR);
    2916              56 :         yych = *++YYCURSOR;
    2917              56 :         if (yych == 'R') goto yy81;
    2918              56 :         if (yych == 'r') goto yy81;
    2919               0 :         goto yy53;
    2920              34 : yy113:
    2921                 :         YYDEBUG(113, *YYCURSOR);
    2922              34 :         yych = *++YYCURSOR;
    2923              34 :         if (yych == 'N') goto yy118;
    2924              34 :         if (yych == 'n') goto yy118;
    2925               0 :         goto yy53;
    2926              22 : yy114:
    2927                 :         YYDEBUG(114, *YYCURSOR);
    2928              22 :         yych = *++YYCURSOR;
    2929              22 :         if (yych == 'N') goto yy115;
    2930              22 :         if (yych != 'n') goto yy53;
    2931              22 : yy115:
    2932                 :         YYDEBUG(115, *YYCURSOR);
    2933              22 :         yyaccept = 3;
    2934              22 :         yych = *(YYMARKER = ++YYCURSOR);
    2935              22 :         if (yych <= 'U') {
    2936               0 :                 if (yych == 'S') goto yy73;
    2937               0 :                 if (yych <= 'T') goto yy69;
    2938                 :         } else {
    2939              22 :                 if (yych <= 's') {
    2940               0 :                         if (yych <= 'r') goto yy69;
    2941               0 :                         goto yy73;
    2942                 :                 } else {
    2943              22 :                         if (yych != 'u') goto yy69;
    2944                 :                 }
    2945                 :         }
    2946                 :         YYDEBUG(116, *YYCURSOR);
    2947              22 :         yych = *++YYCURSOR;
    2948              22 :         if (yych == 'T') goto yy117;
    2949              22 :         if (yych != 't') goto yy53;
    2950              22 : yy117:
    2951                 :         YYDEBUG(117, *YYCURSOR);
    2952              22 :         yych = *++YYCURSOR;
    2953              22 :         if (yych == 'E') goto yy81;
    2954              22 :         if (yych == 'e') goto yy81;
    2955               0 :         goto yy53;
    2956              34 : yy118:
    2957                 :         YYDEBUG(118, *YYCURSOR);
    2958              34 :         yyaccept = 3;
    2959              34 :         yych = *(YYMARKER = ++YYCURSOR);
    2960              34 :         if (yych <= 'T') {
    2961               0 :                 if (yych == 'D') goto yy119;
    2962               0 :                 if (yych <= 'S') goto yy69;
    2963               0 :                 goto yy120;
    2964                 :         } else {
    2965              34 :                 if (yych <= 'd') {
    2966               3 :                         if (yych <= 'c') goto yy69;
    2967                 :                 } else {
    2968              31 :                         if (yych == 't') goto yy120;
    2969               0 :                         goto yy69;
    2970                 :                 }
    2971                 :         }
    2972               3 : yy119:
    2973                 :         YYDEBUG(119, *YYCURSOR);
    2974               3 :         yych = *++YYCURSOR;
    2975               3 :         if (yych == 'A') goto yy121;
    2976               3 :         if (yych == 'a') goto yy121;
    2977               0 :         goto yy53;
    2978              31 : yy120:
    2979                 :         YYDEBUG(120, *YYCURSOR);
    2980              31 :         yych = *++YYCURSOR;
    2981              31 :         if (yych == 'H') goto yy81;
    2982              31 :         if (yych == 'h') goto yy81;
    2983               0 :         goto yy53;
    2984               3 : yy121:
    2985                 :         YYDEBUG(121, *YYCURSOR);
    2986               3 :         yych = *++YYCURSOR;
    2987               3 :         if (yych == 'Y') goto yy73;
    2988               3 :         if (yych == 'y') goto yy73;
    2989               0 :         goto yy53;
    2990               0 : yy122:
    2991                 :         YYDEBUG(122, *YYCURSOR);
    2992               0 :         yych = *++YYCURSOR;
    2993               0 :         if (yych == 'N') goto yy133;
    2994               0 :         if (yych == 'n') goto yy133;
    2995               0 :         goto yy53;
    2996               0 : yy123:
    2997                 :         YYDEBUG(123, *YYCURSOR);
    2998               0 :         yych = *++YYCURSOR;
    2999               0 :         if (yych == 'T') goto yy128;
    3000               0 :         if (yych == 't') goto yy128;
    3001               0 :         goto yy53;
    3002              32 : yy124:
    3003                 :         YYDEBUG(124, *YYCURSOR);
    3004              32 :         yych = *++YYCURSOR;
    3005              32 :         if (yych == 'C') goto yy125;
    3006              32 :         if (yych != 'c') goto yy53;
    3007              33 : yy125:
    3008                 :         YYDEBUG(125, *YYCURSOR);
    3009              33 :         yyaccept = 3;
    3010              33 :         yych = *(YYMARKER = ++YYCURSOR);
    3011              33 :         if (yych <= 'S') {
    3012               0 :                 if (yych == 'O') goto yy126;
    3013               0 :                 if (yych <= 'R') goto yy69;
    3014               0 :                 goto yy73;
    3015                 :         } else {
    3016              33 :                 if (yych <= 'o') {
    3017              33 :                         if (yych <= 'n') goto yy69;
    3018                 :                 } else {
    3019               0 :                         if (yych == 's') goto yy73;
    3020               0 :                         goto yy69;
    3021                 :                 }
    3022                 :         }
    3023              33 : yy126:
    3024                 :         YYDEBUG(126, *YYCURSOR);
    3025              33 :         yych = *++YYCURSOR;
    3026              33 :         if (yych == 'N') goto yy127;
    3027              33 :         if (yych != 'n') goto yy53;
    3028              33 : yy127:
    3029                 :         YYDEBUG(127, *YYCURSOR);
    3030              33 :         yych = *++YYCURSOR;
    3031              33 :         if (yych == 'D') goto yy81;
    3032              33 :         if (yych == 'd') goto yy81;
    3033               0 :         goto yy53;
    3034               0 : yy128:
    3035                 :         YYDEBUG(128, *YYCURSOR);
    3036               0 :         yyaccept = 3;
    3037               0 :         yych = *(YYMARKER = ++YYCURSOR);
    3038               0 :         if (yych == 'U') goto yy129;
    3039               0 :         if (yych != 'u') goto yy69;
    3040               0 : yy129:
    3041                 :         YYDEBUG(129, *YYCURSOR);
    3042               0 :         yych = *++YYCURSOR;
    3043               0 :         if (yych == 'R') goto yy130;
    3044               0 :         if (yych != 'r') goto yy53;
    3045               0 : yy130:
    3046                 :         YYDEBUG(130, *YYCURSOR);
    3047               0 :         yych = *++YYCURSOR;
    3048               0 :         if (yych == 'D') goto yy131;
    3049               0 :         if (yych != 'd') goto yy53;
    3050               0 : yy131:
    3051                 :         YYDEBUG(131, *YYCURSOR);
    3052               0 :         yych = *++YYCURSOR;
    3053               0 :         if (yych == 'A') goto yy132;
    3054               0 :         if (yych != 'a') goto yy53;
    3055               0 : yy132:
    3056                 :         YYDEBUG(132, *YYCURSOR);
    3057               0 :         yych = *++YYCURSOR;
    3058               0 :         if (yych == 'Y') goto yy73;
    3059               0 :         if (yych == 'y') goto yy73;
    3060               0 :         goto yy53;
    3061               0 : yy133:
    3062                 :         YYDEBUG(133, *YYCURSOR);
    3063               0 :         yyaccept = 3;
    3064               0 :         yych = *(YYMARKER = ++YYCURSOR);
    3065               0 :         if (yych == 'D') goto yy134;
    3066               0 :         if (yych != 'd') goto yy69;
    3067               0 : yy134:
    3068                 :         YYDEBUG(134, *YYCURSOR);
    3069               0 :         yych = *++YYCURSOR;
    3070               0 :         if (yych == 'A') goto yy135;
    3071               0 :         if (yych != 'a') goto yy53;
    3072               0 : yy135:
    3073                 :         YYDEBUG(135, *YYCURSOR);
    3074               0 :         yych = *++YYCURSOR;
    3075               0 :         if (yych == 'Y') goto yy73;
    3076               0 :         if (yych == 'y') goto yy73;
    3077               0 :         goto yy53;
    3078              19 : yy136:
    3079                 :         YYDEBUG(136, *YYCURSOR);
    3080              19 :         yych = *++YYCURSOR;
    3081              19 :         goto yy3;
    3082             291 : yy137:
    3083                 :         YYDEBUG(137, *YYCURSOR);
    3084             291 :         yych = *++YYCURSOR;
    3085             291 :         if (yych <= '@') {
    3086               4 :                 if (yych == ')') goto yy136;
    3087               4 :                 goto yy3;
    3088                 :         } else {
    3089             287 :                 if (yych <= 'Z') goto yy138;
    3090              52 :                 if (yych <= '`') goto yy3;
    3091              52 :                 if (yych >= '{') goto yy3;
    3092                 :         }
    3093             289 : yy138:
    3094                 :         YYDEBUG(138, *YYCURSOR);
    3095             289 :         yych = *++YYCURSOR;
    3096             289 :         if (yych <= '@') {
    3097             233 :                 if (yych == ')') goto yy136;
    3098             232 :                 goto yy3;
    3099                 :         } else {
    3100              56 :                 if (yych <= 'Z') goto yy139;
    3101              46 :                 if (yych <= '`') goto yy3;
    3102              46 :                 if (yych >= '{') goto yy3;
    3103                 :         }
    3104              58 : yy139:
    3105                 :         YYDEBUG(139, *YYCURSOR);
    3106              58 :         yych = *++YYCURSOR;
    3107              58 :         if (yych <= '@') {
    3108               4 :                 if (yych == ')') goto yy136;
    3109               4 :                 goto yy3;
    3110                 :         } else {
    3111              54 :                 if (yych <= 'Z') goto yy140;
    3112              54 :                 if (yych <= '`') goto yy3;
    3113              54 :                 if (yych >= '{') goto yy3;
    3114                 :         }
    3115              56 : yy140:
    3116                 :         YYDEBUG(140, *YYCURSOR);
    3117              56 :         yych = *++YYCURSOR;
    3118              56 :         if (yych <= '@') {
    3119              19 :                 if (yych == ')') goto yy136;
    3120              19 :                 goto yy3;
    3121                 :         } else {
    3122              37 :                 if (yych <= 'Z') goto yy141;
    3123              26 :                 if (yych <= '`') goto yy3;
    3124              26 :                 if (yych >= '{') goto yy3;
    3125                 :         }
    3126              37 : yy141:
    3127                 :         YYDEBUG(141, *YYCURSOR);
    3128              37 :         yych = *++YYCURSOR;
    3129              37 :         if (yych == ')') goto yy136;
    3130              37 :         goto yy3;
    3131              22 : yy142:
    3132                 :         YYDEBUG(142, *YYCURSOR);
    3133              22 :         yyaccept = 0;
    3134              22 :         yych = *(YYMARKER = ++YYCURSOR);
    3135              22 :         if (yych <= '@') {
    3136               0 :                 if (yych <= ')') {
    3137               0 :                         if (yych <= '(') goto yy3;
    3138               0 :                         goto yy136;
    3139                 :                 } else {
    3140               0 :                         if (yych == '/') goto yy144;
    3141               0 :                         goto yy3;
    3142                 :                 }
    3143                 :         } else {
    3144              22 :                 if (yych <= '_') {
    3145               0 :                         if (yych <= 'Z') goto yy138;
    3146               0 :                         if (yych <= '^') goto yy3;
    3147               0 :                         goto yy144;
    3148                 :                 } else {
    3149              22 :                         if (yych <= '`') goto yy3;
    3150              22 :                         if (yych >= '{') goto yy3;
    3151                 :                 }
    3152                 :         }
    3153              23 : yy143:
    3154                 :         YYDEBUG(143, *YYCURSOR);
    3155              23 :         yyaccept = 0;
    3156              23 :         yych = *(YYMARKER = ++YYCURSOR);
    3157              23 :         if (yych <= '@') {
    3158               1 :                 if (yych <= ')') {
    3159               1 :                         if (yych <= '(') goto yy3;
    3160               0 :                         goto yy136;
    3161                 :                 } else {
    3162               0 :                         if (yych != '/') goto yy3;
    3163                 :                 }
    3164                 :         } else {
    3165              22 :                 if (yych <= '_') {
    3166               0 :                         if (yych <= 'Z') goto yy139;
    3167               0 :                         if (yych <= '^') goto yy3;
    3168                 :                 } else {
    3169              22 :                         if (yych <= '`') goto yy3;
    3170              22 :                         if (yych <= 'z') goto yy148;
    3171               0 :                         goto yy3;
    3172                 :                 }
    3173                 :         }
    3174              18 : yy144:
    3175                 :         YYDEBUG(144, *YYCURSOR);
    3176              18 :         ++YYCURSOR;
    3177              18 :         if (YYLIMIT <= YYCURSOR) YYFILL(1);
    3178              18 :         yych = *YYCURSOR;
    3179              18 :         if (yych <= '@') goto yy53;
    3180              18 :         if (yych >= '[') goto yy53;
    3181                 :         YYDEBUG(145, *YYCURSOR);
    3182              18 :         ++YYCURSOR;
    3183              18 :         if (YYLIMIT <= YYCURSOR) YYFILL(1);
    3184              18 :         yych = *YYCURSOR;
    3185              18 :         if (yybm[0+yych] & 16) {
    3186              18 :                 goto yy146;
    3187                 :         }
    3188               0 :         goto yy53;
    3189              65 : yy146:
    3190                 :         YYDEBUG(146, *YYCURSOR);
    3191              65 :         yyaccept = 0;
    3192              65 :         YYMARKER = ++YYCURSOR;
    3193              65 :         if (YYLIMIT <= YYCURSOR) YYFILL(1);
    3194              65 :         yych = *YYCURSOR;
    3195                 :         YYDEBUG(147, *YYCURSOR);
    3196              65 :         if (yybm[0+yych] & 16) {
    3197              47 :                 goto yy146;
    3198                 :         }
    3199              18 :         if (yych == '/') goto yy144;
    3200              18 :         if (yych == '_') goto yy144;
    3201              12 :         goto yy3;
    3202              22 : yy148:
    3203                 :         YYDEBUG(148, *YYCURSOR);
    3204              22 :         yyaccept = 0;
    3205              22 :         yych = *(YYMARKER = ++YYCURSOR);
    3206              22 :         if (yych <= '@') {
    3207               1 :                 if (yych <= ')') {
    3208               0 :                         if (yych <= '(') goto yy3;
    3209               0 :                         goto yy136;
    3210                 :                 } else {
    3211               1 :                         if (yych == '/') goto yy144;
    3212               0 :                         goto yy3;
    3213                 :                 }
    3214                 :         } else {
    3215              21 :                 if (yych <= '_') {
    3216               0 :                         if (yych <= 'Z') goto yy140;
    3217               0 :                         if (yych <= '^') goto yy3;
    3218               0 :                         goto yy144;
    3219                 :                 } else {
    3220              21 :                         if (yych <= '`') goto yy3;
    3221              21 :                         if (yych >= '{') goto yy3;
    3222                 :                 }
    3223                 :         }
    3224              21 : yy149:
    3225                 :         YYDEBUG(149, *YYCURSOR);
    3226              21 :         yyaccept = 0;
    3227              21 :         yych = *(YYMARKER = ++YYCURSOR);
    3228              21 :         if (yych <= '@') {
    3229               7 :                 if (yych <= ')') {
    3230               7 :                         if (yych <= '(') goto yy3;
    3231               0 :                         goto yy136;
    3232                 :                 } else {
    3233               0 :                         if (yych == '/') goto yy144;
    3234               0 :                         goto yy3;
    3235                 :                 }
    3236                 :         } else {
    3237              14 :                 if (yych <= '_') {
    3238               0 :                         if (yych <= 'Z') goto yy141;
    3239               0 :                         if (yych <= '^') goto yy3;
    3240               0 :                         goto yy144;
    3241                 :                 } else {
    3242              14 :                         if (yych <= '`') goto yy3;
    3243              14 :                         if (yych >= '{') goto yy3;
    3244                 :                 }
    3245                 :         }
    3246              14 : yy150:
    3247                 :         YYDEBUG(150, *YYCURSOR);
    3248              14 :         yyaccept = 0;
    3249              14 :         yych = *(YYMARKER = ++YYCURSOR);
    3250              14 :         if (yych <= '/') {
    3251               3 :                 if (yych == ')') goto yy136;
    3252               3 :                 if (yych <= '.') goto yy3;
    3253               3 :                 goto yy144;
    3254                 :         } else {
    3255              11 :                 if (yych <= '_') {
    3256               0 :                         if (yych <= '^') goto yy3;
    3257               0 :                         goto yy144;
    3258                 :                 } else {
    3259              11 :                         if (yych <= '`') goto yy3;
    3260              11 :                         if (yych >= '{') goto yy3;
    3261                 :                 }
    3262                 :         }
    3263              18 : yy151:
    3264                 :         YYDEBUG(151, *YYCURSOR);
    3265              18 :         ++YYCURSOR;
    3266              18 :         if (YYLIMIT <= YYCURSOR) YYFILL(1);
    3267              18 :         yych = *YYCURSOR;
    3268              18 : yy152:
    3269                 :         YYDEBUG(152, *YYCURSOR);
    3270              18 :         if (yych <= '^') {
    3271              11 :                 if (yych == '/') goto yy144;
    3272               3 :                 goto yy53;
    3273                 :         } else {
    3274               7 :                 if (yych <= '_') goto yy144;
    3275               7 :                 if (yych <= '`') goto yy53;
    3276               7 :                 if (yych <= 'z') goto yy151;
    3277               0 :                 goto yy53;
    3278                 :         }
    3279               1 : yy153:
    3280                 :         YYDEBUG(153, *YYCURSOR);
    3281               1 :         yych = *++YYCURSOR;
    3282               1 :         if (yych <= '@') {
    3283               0 :                 if (yych == ')') goto yy136;
    3284               0 :                 goto yy3;
    3285                 :         } else {
    3286               1 :                 if (yych <= 'Z') goto yy137;
    3287               0 :                 if (yych <= '`') goto yy3;
    3288               0 :                 if (yych <= 'z') goto yy137;
    3289               0 :                 goto yy3;
    3290                 :         }
    3291               0 : yy154:
    3292                 :         YYDEBUG(154, *YYCURSOR);
    3293               0 :         yych = *++YYCURSOR;
    3294               0 :         if (yych <= 'E') {
    3295               0 :                 if (yych <= ')') {
    3296               0 :                         if (yych <= '(') goto yy3;
    3297               0 :                         goto yy136;
    3298                 :                 } else {
    3299               0 :                         if (yych <= '@') goto yy3;
    3300               0 :                         if (yych <= 'D') goto yy138;
    3301                 :                 }
    3302                 :         } else {
    3303               0 :                 if (yych <= 'd') {
    3304               0 :                         if (yych <= 'Z') goto yy138;
    3305               0 :                         if (yych <= '`') goto yy3;
    3306               0 :                         goto yy138;
    3307                 :                 } else {
    3308               0 :                         if (yych <= 'e') goto yy155;
    3309               0 :                         if (yych <= 'z') goto yy138;
    3310               0 :                         goto yy3;
    3311                 :                 }
    3312                 :         }
    3313               0 : yy155:
    3314                 :         YYDEBUG(155, *YYCURSOR);
    3315               0 :         yych = *++YYCURSOR;
    3316               0 :         if (yych <= 'V') {
    3317               0 :                 if (yych <= ')') {
    3318               0 :                         if (yych <= '(') goto yy3;
    3319               0 :                         goto yy136;
    3320                 :                 } else {
    3321               0 :                         if (yych <= '@') goto yy3;
    3322               0 :                         if (yych <= 'U') goto yy139;
    3323                 :                 }
    3324                 :         } else {
    3325               0 :                 if (yych <= 'u') {
    3326               0 :                         if (yych <= 'Z') goto yy139;
    3327               0 :                         if (yych <= '`') goto yy3;
    3328               0 :                         goto yy139;
    3329                 :                 } else {
    3330               0 :                         if (yych <= 'v') goto yy156;
    3331               0 :                         if (yych <= 'z') goto yy139;
    3332               0 :                         goto yy3;
    3333                 :                 }
    3334                 :         }
    3335               0 : yy156:
    3336                 :         YYDEBUG(156, *YYCURSOR);
    3337               0 :         yych = *++YYCURSOR;
    3338               0 :         if (yych <= 'I') {
    3339               0 :                 if (yych <= ')') {
    3340               0 :                         if (yych <= '(') goto yy3;
    3341               0 :                         goto yy136;
    3342                 :                 } else {
    3343               0 :                         if (yych <= '@') goto yy3;
    3344               0 :                         if (yych <= 'H') goto yy140;
    3345                 :                 }
    3346                 :         } else {
    3347               0 :                 if (yych <= 'h') {
    3348               0 :                         if (yych <= 'Z') goto yy140;
    3349               0 :                         if (yych <= '`') goto yy3;
    3350               0 :                         goto yy140;
    3351                 :                 } else {
    3352               0 :                         if (yych <= 'i') goto yy157;
    3353               0 :                         if (yych <= 'z') goto yy140;
    3354               0 :                         goto yy3;
    3355                 :                 }
    3356                 :         }
    3357               0 : yy157:
    3358                 :         YYDEBUG(157, *YYCURSOR);
    3359               0 :         yych = *++YYCURSOR;
    3360               0 :         if (yych <= 'O') {
    3361               0 :                 if (yych <= ')') {
    3362               0 :                         if (yych <= '(') goto yy3;
    3363               0 :                         goto yy136;
    3364                 :                 } else {
    3365               0 :                         if (yych <= '@') goto yy3;
    3366               0 :                         if (yych <= 'N') goto yy141;
    3367                 :                 }
    3368                 :         } else {
    3369               0 :                 if (yych <= 'n') {
    3370               0 :                         if (yych <= 'Z') goto yy141;
    3371               0 :                         if (yych <= '`') goto yy3;
    3372               0 :                         goto yy141;
    3373                 :                 } else {
    3374               0 :                         if (yych <= 'o') goto yy158;
    3375               0 :                         if (yych <= 'z') goto yy141;
    3376               0 :                         goto yy3;
    3377                 :                 }
    3378                 :         }
    3379               0 : yy158:
    3380                 :         YYDEBUG(158, *YYCURSOR);
    3381               0 :         yyaccept = 0;
    3382               0 :         yych = *(YYMARKER = ++YYCURSOR);
    3383               0 :         if (yych <= 'T') {
    3384               0 :                 if (yych == ')') goto yy136;
    3385               0 :                 goto yy3;
    3386                 :         } else {
    3387               0 :                 if (yych <= 'U') goto yy159;
    3388               0 :                 if (yych != 'u') goto yy3;
    3389                 :         }
    3390               0 : yy159:
    3391                 :         YYDEBUG(159, *YYCURSOR);
    3392               0 :         yych = *++YYCURSOR;
    3393               0 :         if (yych == 'S') goto yy160;
    3394               0 :         if (yych != 's') goto yy53;
    3395               0 : yy160:
    3396                 :         YYDEBUG(160, *YYCURSOR);
    3397               0 :         yych = *++YYCURSOR;
    3398               0 :         if (yych == '\t') goto yy161;
    3399               0 :         if (yych != ' ') goto yy53;
    3400             102 : yy161:
    3401                 :         YYDEBUG(161, *YYCURSOR);
    3402             102 :         ++YYCURSOR;
    3403             102 :         if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
    3404             102 :         yych = *YYCURSOR;
    3405                 :         YYDEBUG(162, *YYCURSOR);
    3406             102 :         if (yych <= 'W') {
    3407              74 :                 if (yych <= 'F') {
    3408               8 :                         if (yych <= ' ') {
    3409               0 :                                 if (yych == '\t') goto yy161;
    3410               0 :                                 if (yych <= 0x1F) goto yy53;
    3411               0 :                                 goto yy161;
    3412                 :                         } else {
    3413               8 :                                 if (yych == 'D') goto yy166;
    3414               8 :                                 if (yych <= 'E') goto yy53;
    3415               8 :                                 goto yy168;
    3416                 :                         }
    3417                 :                 } else {
    3418              66 :                         if (yych <= 'M') {
    3419              14 :                                 if (yych == 'H') goto yy165;
    3420              14 :                                 if (yych <= 'L') goto yy53;
    3421              14 :                                 goto yy164;
    3422                 :                         } else {
    3423              52 :                                 if (yych <= 'S') {
    3424              17 :                                         if (yych <= 'R') goto yy53;
    3425                 :                                 } else {
    3426              35 :                                         if (yych <= 'T') goto yy170;
    3427               7 :                                         if (yych <= 'V') goto yy53;
    3428               7 :                                         goto yy167;
    3429                 :                                 }
    3430                 :                         }
    3431                 :                 }
    3432                 :         } else {
    3433              28 :                 if (yych <= 'l') {
    3434               0 :                         if (yych <= 'd') {
    3435               0 :                                 if (yych == 'Y') goto yy169;
    3436               0 :                                 if (yych <= 'c') goto yy53;
    3437               0 :                                 goto yy166;
    3438                 :                         } else {
    3439               0 :                                 if (yych <= 'f') {
    3440               0 :                                         if (yych <= 'e') goto yy53;
    3441               0 :                                         goto yy168;
    3442                 :                                 } else {
    3443               0 :                                         if (yych == 'h') goto yy165;
    3444               0 :                                         goto yy53;
    3445                 :                                 }
    3446                 :                         }
    3447                 :                 } else {
    3448              28 :                         if (yych <= 't') {
    3449              28 :                                 if (yych <= 'm') goto yy164;
    3450               2 :                                 if (yych <= 'r') goto yy53;
    3451               2 :                                 if (yych >= 't') goto yy170;
    3452                 :                         } else {
    3453               0 :                                 if (yych <= 'w') {
    3454               0 :                                         if (yych <= 'v') goto yy53;
    3455               0 :                                         goto yy167;
    3456                 :                                 } else {
    3457               0 :                                         if (yych == 'y') goto yy169;
    3458               0 :                                         goto yy53;
    3459                 :                                 }
    3460                 :                         }
    3461                 :                 }
    3462                 :         }
    3463                 :         YYDEBUG(163, *YYCURSOR);
    3464              19 :         yych = *++YYCURSOR;
    3465              19 :         if (yych <= 'U') {
    3466               0 :                 if (yych <= 'D') {
    3467               0 :                         if (yych == 'A') goto yy228;
    3468               0 :                         goto yy53;
    3469                 :                 } else {
    3470               0 :                         if (yych <= 'E') goto yy229;
    3471               0 :                         if (yych <= 'T') goto yy53;
    3472               0 :                         goto yy227;
    3473                 :                 }
    3474                 :         } else {
    3475              19 :                 if (yych <= 'd') {
    3476               6 :                         if (yych == 'a') goto yy228;
    3477               0 :                         goto yy53;
    3478                 :                 } else {
    3479              13 :                         if (yych <= 'e') goto yy229;
    3480              13 :                         if (yych == 'u') goto yy227;
    3481               0 :                         goto yy53;
    3482                 :                 }
    3483                 :         }
    3484              40 : yy164:
    3485                 :         YYDEBUG(164, *YYCURSOR);
    3486              40 :         yych = *++YYCURSOR;
    3487              40 :         if (yych <= 'O') {
    3488               0 :                 if (yych == 'I') goto yy219;
    3489               0 :                 if (yych <= 'N') goto yy53;
    3490               0 :                 goto yy218;
    3491                 :         } else {
    3492              40 :                 if (yych <= 'i') {
    3493               0 :                         if (yych <= 'h') goto yy53;
    3494               0 :                         goto yy219;
    3495                 :                 } else {
    3496              40 :                         if (yych == 'o') goto yy218;
    3497               0 :                         goto yy53;
    3498                 :                 }
    3499                 :         }
    3500               0 : yy165:
    3501                 :         YYDEBUG(165, *YYCURSOR);
    3502               0 :         yych = *++YYCURSOR;
    3503               0 :         if (yych == 'O') goto yy216;
    3504               0 :         if (yych == 'o') goto yy216;
    3505               0 :         goto yy53;
    3506               0 : yy166:
    3507                 :         YYDEBUG(166, *YYCURSOR);
    3508               0 :         yych = *++YYCURSOR;
    3509               0 :         if (yych == 'A') goto yy215;
    3510               0 :         if (yych == 'a') goto yy215;
    3511               0 :         goto yy53;
    3512               7 : yy167:
    3513                 :         YYDEBUG(167, *YYCURSOR);
    3514               7 :         yych = *++YYCURSOR;
    3515               7 :         if (yych == 'E') goto yy203;
    3516               7 :         if (yych == 'e') goto yy203;
    3517               0 :         goto yy53;
    3518               8 : yy168:
    3519                 :         YYDEBUG(168, *YYCURSOR);
    3520               8 :         yych = *++YYCURSOR;
    3521               8 :         if (yych <= 'R') {
    3522               0 :                 if (yych == 'O') goto yy188;
    3523               0 :                 if (yych <= 'Q') goto yy53;
    3524               0 :                 goto yy187;
    3525                 :         } else {
    3526               8 :                 if (yych <= 'o') {
    3527               0 :                         if (yych <= 'n') goto yy53;
    3528               0 :                         goto yy188;
    3529                 :                 } else {
    3530               8 :                         if (yych == 'r') goto yy187;
    3531               0 :                         goto yy53;
    3532                 :                 }
    3533                 :         }
    3534               0 : yy169:
    3535                 :         YYDEBUG(169, *YYCURSOR);
    3536               0 :         yych = *++YYCURSOR;
    3537               0 :         if (yych == 'E') goto yy184;
    3538               0 :         if (yych == 'e') goto yy184;
    3539               0 :         goto yy53;
    3540              28 : yy170:
    3541                 :         YYDEBUG(170, *YYCURSOR);
    3542              28 :         yych = *++YYCURSOR;
    3543              28 :         if (yych <= 'U') {
    3544               0 :                 if (yych == 'H') goto yy171;
    3545               0 :                 if (yych <= 'T') goto yy53;
    3546               0 :                 goto yy172;
    3547                 :         } else {
    3548              28 :                 if (yych <= 'h') {
    3549              18 :                         if (yych <= 'g') goto yy53;
    3550                 :                 } else {
    3551              10 :                         if (yych == 'u') goto yy172;
    3552               0 :                         goto yy53;
    3553                 :                 }
    3554                 :         }
    3555              18 : yy171:
    3556                 :         YYDEBUG(171, *YYCURSOR);
    3557              18 :         yych = *++YYCURSOR;
    3558              18 :         if (yych == 'U') goto yy179;
    3559              18 :         if (yych == 'u') goto yy179;
    3560               0 :         goto yy53;
    3561              10 : yy172:
    3562                 :         YYDEBUG(172, *YYCURSOR);
    3563              10 :         yych = *++YYCURSOR;
    3564              10 :         if (yych == 'E') goto yy173;
    3565              10 :         if (yych != 'e') goto yy53;
    3566              10 : yy173:
    3567                 :         YYDEBUG(173, *YYCURSOR);
    3568              10 :         yyaccept = 4;
    3569              10 :         yych = *(YYMARKER = ++YYCURSOR);
    3570              10 :         if (yych == 'S') goto yy175;
    3571              10 :         if (yych == 's') goto yy175;
    3572             102 : yy174:
    3573                 :         YYDEBUG(174, *YYCURSOR);
    3574                 : #line 1419 "ext/date/lib/parse_date.re"
    3575                 :         {
    3576                 :                 timelib_sll i;
    3577                 :                 int         behavior = 0;
    3578                 :                 DEBUG_OUTPUT("relativetext");
    3579                 :                 TIMELIB_INIT;
    3580                 :                 TIMELIB_HAVE_RELATIVE();
    3581                 : 
    3582                 :                 while(*ptr) {
    3583                 :                         i = timelib_get_relative_text((char **) &ptr, &behavior);
    3584                 :                         timelib_eat_spaces((char **) &ptr);
    3585                 :                         timelib_set_relative((char **) &ptr, i, behavior, s);
    3586                 :                 }
    3587                 :                 TIMELIB_DEINIT;
    3588                 :                 return TIMELIB_RELATIVE;
    3589                 :         }
    3590                 : #line 3591 "ext/date/lib/parse_date.c"
    3591              10 : yy175:
    3592                 :         YYDEBUG(175, *YYCURSOR);
    3593              10 :         yych = *++YYCURSOR;
    3594              10 :         if (yych == 'D') goto yy176;
    3595              10 :         if (yych != 'd') goto yy53;
    3596              10 : yy176:
    3597                 :         YYDEBUG(176, *YYCURSOR);
    3598              10 :         yych = *++YYCURSOR;
    3599              10 :         if (yych == 'A') goto yy177;
    3600              10 :         if (yych != 'a') goto yy53;
    3601              10 : yy177:
    3602                 :         YYDEBUG(177, *YYCURSOR);
    3603              10 :         yych = *++YYCURSOR;
    3604              10 :         if (yych == 'Y') goto yy178;
    3605              10 :         if (yych != 'y') goto yy53;
    3606             102 : yy178:
    3607                 :         YYDEBUG(178, *YYCURSOR);
    3608             102 :         yych = *++YYCURSOR;
    3609             102 :         goto yy174;
    3610              18 : yy179:
    3611                 :         YYDEBUG(179, *YYCURSOR);
    3612              18 :         yyaccept = 4;
    3613              18 :         yych = *(YYMARKER = ++YYCURSOR);
    3614              18 :         if (yych == 'R') goto yy180;
    3615              18 :         if (yych != 'r') goto yy174;
    3616              18 : yy180:
    3617                 :         YYDEBUG(180, *YYCURSOR);
    3618              18 :         yych = *++YYCURSOR;
    3619              18 :         if (yych == 'S') goto yy181;
    3620              18 :         if (yych != 's') goto yy53;
    3621              18 : yy181:
    3622                 :         YYDEBUG(181, *YYCURSOR);
    3623              18 :         yych = *++YYCURSOR;
    3624              18 :         if (yych == 'D') goto yy182;
    3625              18 :         if (yych != 'd') goto yy53;
    3626              18 : yy182:
    3627                 :         YYDEBUG(182, *YYCURSOR);
    3628              18 :         yych = *++YYCURSOR;
    3629              18 :         if (yych == 'A') goto yy183;
    3630              18 :         if (yych != 'a') goto yy53;
    3631              18 : yy183:
    3632                 :         YYDEBUG(183, *YYCURSOR);
    3633              18 :         yych = *++YYCURSOR;
    3634              18 :         if (yych == 'Y') goto yy178;
    3635              18 :         if (yych == 'y') goto yy178;
    3636               0 :         goto yy53;
    3637               0 : yy184:
    3638                 :         YYDEBUG(184, *YYCURSOR);
    3639               0 :         yych = *++YYCURSOR;
    3640               0 :         if (yych == 'A') goto yy185;
    3641               0 :         if (yych != 'a') goto yy53;
    3642               0 : yy185:
    3643                 :         YYDEBUG(185, *YYCURSOR);
    3644               0 :         yych = *++YYCURSOR;
    3645               0 :         if (yych == 'R') goto yy186;
    3646               0 :         if (yych != 'r') goto yy53;
    3647               0 : yy186:
    3648                 :         YYDEBUG(186, *YYCURSOR);
    3649               0 :         yych = *++YYCURSOR;
    3650               0 :         if (yych == 'S') goto yy178;
    3651               0 :         if (yych == 's') goto yy178;
    3652               0 :         goto yy174;
    3653               8 : yy187:
    3654                 :         YYDEBUG(187, *YYCURSOR);
    3655               8 :         yych = *++YYCURSOR;
    3656               8 :         if (yych == 'I') goto yy200;
    3657               8 :         if (yych == 'i') goto yy200;
    3658               0 :         goto yy53;
    3659               0 : yy188:
    3660                 :         YYDEBUG(188, *YYCURSOR);
    3661               0 :         yych = *++YYCURSOR;
    3662               0 :         if (yych == 'R') goto yy189;
    3663               0 :         if (yych != 'r') goto yy53;
    3664               0 : yy189:
    3665                 :         YYDEBUG(189, *YYCURSOR);
    3666               0 :         yych = *++YYCURSOR;
    3667               0 :         if (yych == 'T') goto yy190;
    3668               0 :         if (yych != 't') goto yy53;
    3669               0 : yy190:
    3670                 :         YYDEBUG(190, *YYCURSOR);
    3671               0 :         yych = *++YYCURSOR;
    3672               0 :         if (yych <= 'N') {
    3673               0 :                 if (yych == 'H') goto yy192;
    3674               0 :                 if (yych <= 'M') goto yy53;
    3675                 :         } else {
    3676               0 :                 if (yych <= 'h') {
    3677               0 :                         if (yych <= 'g') goto yy53;
    3678               0 :                         goto yy192;
    3679                 :                 } else {
    3680               0 :                         if (yych != 'n') goto yy53;
    3681                 :                 }
    3682                 :         }
    3683                 :         YYDEBUG(191, *YYCURSOR);
    3684               0 :         yych = *++YYCURSOR;
    3685               0 :         if (yych == 'I') goto yy197;
    3686               0 :         if (yych == 'i') goto yy197;
    3687               0 :         goto yy53;
    3688               0 : yy192:
    3689                 :         YYDEBUG(192, *YYCURSOR);
    3690               0 :         yych = *++YYCURSOR;
    3691               0 :         if (yych == 'N') goto yy193;
    3692               0 :         if (yych != 'n') goto yy53;
    3693               0 : yy193:
    3694                 :         YYDEBUG(193, *YYCURSOR);
    3695               0 :         yych = *++YYCURSOR;
    3696               0 :         if (yych == 'I') goto yy194;
    3697               0 :         if (yych != 'i') goto yy53;
    3698               0 : yy194:
    3699                 :         YYDEBUG(194, *YYCURSOR);
    3700               0 :         yych = *++YYCURSOR;
    3701               0 :         if (yych == 'G') goto yy195;
    3702               0 :         if (yych != 'g') goto yy53;
    3703               0 : yy195:
    3704                 :         YYDEBUG(195, *YYCURSOR);
    3705               0 :         yych = *++YYCURSOR;
    3706               0 :         if (yych == 'H') goto yy196;
    3707               0 :         if (yych != 'h') goto yy53;
    3708               0 : yy196:
    3709                 :         YYDEBUG(196, *YYCURSOR);
    3710               0 :         yych = *++YYCURSOR;
    3711               0 :         if (yych == 'T') goto yy186;
    3712               0 :         if (yych == 't') goto yy186;
    3713               0 :         goto yy53;
    3714               0 : yy197:
    3715                 :         YYDEBUG(197, *YYCURSOR);
    3716               0 :         yych = *++YYCURSOR;
    3717               0 :         if (yych == 'G') goto yy198;
    3718               0 :         if (yych != 'g') goto yy53;
    3719               0 : yy198:
    3720                 :         YYDEBUG(198, *YYCURSOR);
    3721               0 :         yych = *++YYCURSOR;
    3722               0 :         if (yych == 'H') goto yy199;
    3723               0 :         if (yych != 'h') goto yy53;
    3724               0 : yy199:
    3725                 :         YYDEBUG(199, *YYCURSOR);
    3726               0 :         yych = *++YYCURSOR;
    3727               0 :         if (yych == 'T') goto yy186;
    3728               0 :         if (yych == 't') goto yy186;
    3729               0 :         goto yy53;
    3730               8 : yy200:
    3731                 :         YYDEBUG(200, *YYCURSOR);
    3732               8 :         yyaccept = 4;
    3733               8 :         yych = *(YYMARKER = ++YYCURSOR);
    3734               8 :         if (yych == 'D') goto yy201;
    3735               8 :         if (yych != 'd') goto yy174;
    3736               8 : yy201:
    3737                 :         YYDEBUG(201, *YYCURSOR);
    3738               8 :         yych = *++YYCURSOR;
    3739               8 :         if (yych == 'A') goto yy202;
    3740               8 :         if (yych != 'a') goto yy53;
    3741               8 : yy202:
    3742                 :         YYDEBUG(202, *YYCURSOR);
    3743               8 :         yych = *++YYCURSOR;
    3744               8 :         if (yych == 'Y') goto yy178;
    3745               8 :         if (yych == 'y') goto yy178;
    3746               0 :         goto yy53;
    3747               7 : yy203:
    3748                 :         YYDEBUG(203, *YYCURSOR);
    3749               7 :         yych = *++YYCURSOR;
    3750               7 :         if (yych <= 'E') {
    3751               0 :                 if (yych <= 'C') goto yy53;
    3752               0 :                 if (yych <= 'D') goto yy205;
    3753                 :         } else {
    3754               7 :                 if (yych <= 'c') goto yy53;
    3755               7 :                 if (yych <= 'd') goto yy205;
    3756               0 :                 if (yych >= 'f') goto yy53;
    3757                 :         }
    3758                 :         YYDEBUG(204, *YYCURSOR);
    3759               0 :         yych = *++YYCURSOR;
    3760               0 :         if (yych == 'K') goto yy211;
    3761               0 :         if (yych == 'k') goto yy211;
    3762               0 :         goto yy53;
    3763               7 : yy205:
    3764                 :         YYDEBUG(205, *YYCURSOR);
    3765               7 :         yyaccept = 4;
    3766               7 :         yych = *(YYMARKER = ++YYCURSOR);
    3767               7 :         if (yych == 'N') goto yy206;
    3768               7 :         if (yych != 'n') goto yy174;
    3769               7 : yy206:
    3770                 :         YYDEBUG(206, *YYCURSOR);
    3771               7 :         yych = *++YYCURSOR;
    3772               7 :         if (yych == 'E') goto yy207;
    3773               7 :         if (yych != 'e') goto yy53;
    3774               7 : yy207:
    3775                 :         YYDEBUG(207, *YYCURSOR);
    3776               7 :         yych = *++YYCURSOR;
    3777               7 :         if (yych == 'S') goto yy208;
    3778               7 :         if (yych != 's') goto yy53;
    3779               7 : yy208:
    3780                 :         YYDEBUG(208, *YYCURSOR);
    3781               7 :         yych = *++YYCURSOR;
    3782               7 :         if (yych == 'D') goto yy209;
    3783               7 :         if (yych != 'd') goto yy53;
    3784               7 : yy209:
    3785                 :         YYDEBUG(209, *YYCURSOR);
    3786               7 :         yych = *++YYCURSOR;
    3787               7 :         if (yych == 'A') goto yy210;
    3788               7 :         if (yych != 'a') goto yy53;
    3789               7 : yy210:
    3790                 :         YYDEBUG(210, *YYCURSOR);
    3791               7 :         yych = *++YYCURSOR;
    3792               7 :         if (yych == 'Y') goto yy178;
    3793               7 :         if (yych == 'y') goto yy178;
    3794               0 :         goto yy53;
    3795               0 : yy211:
    3796                 :         YYDEBUG(211, *YYCURSOR);
    3797               0 :         yyaccept = 4;
    3798               0 :         yych = *(YYMARKER = ++YYCURSOR);
    3799               0 :         if (yych <= 'S') {
    3800               0 :                 if (yych == 'D') goto yy212;
    3801               0 :                 if (yych <= 'R') goto yy174;
    3802               0 :                 goto yy178;
    3803                 :         } else {
    3804               0 :                 if (yych <= 'd') {
    3805               0 :                         if (yych <= 'c') goto yy174;
    3806                 :                 } else {
    3807               0 :                         if (yych == 's') goto yy178;
    3808               0 :                         goto yy174;
    3809                 :                 }
    3810                 :         }
    3811               0 : yy212:
    3812                 :         YYDEBUG(212, *YYCURSOR);
    3813               0 :         yych = *++YYCURSOR;
    3814               0 :         if (yych == 'A') goto yy213;
    3815               0 :         if (yych != 'a') goto yy53;
    3816               0 : yy213:
    3817                 :         YYDEBUG(213, *YYCURSOR);
    3818               0 :         yych = *++YYCURSOR;
    3819               0 :         if (yych == 'Y') goto yy214;
    3820               0 :         if (yych != 'y') goto yy53;
    3821               0 : yy214:
    3822                 :         YYDEBUG(214, *YYCURSOR);
    3823               0 :         yych = *++YYCURSOR;
    3824               0 :         if (yych == 'S') goto yy178;
    3825               0 :         if (yych == 's') goto yy178;
    3826               0 :         goto yy174;
    3827               0 : yy215:
    3828                 :         YYDEBUG(215, *YYCURSOR);
    3829               0 :         yych = *++YYCURSOR;
    3830               0 :         if (yych == 'Y') goto yy186;
    3831               0 :         if (yych == 'y') goto yy186;
    3832               0 :         goto yy53;
    3833               0 : yy216:
    3834                 :         YYDEBUG(216, *YYCURSOR);
    3835               0 :         yych = *++YYCURSOR;
    3836               0 :         if (yych == 'U') goto yy217;
    3837               0 :         if (yych != 'u') goto yy53;
    3838               0 : yy217:
    3839                 :         YYDEBUG(217, *YYCURSOR);
    3840               0 :         yych = *++YYCURSOR;
    3841               0 :         if (yych == 'R') goto yy186;
    3842               0 :         if (yych == 'r') goto yy186;
    3843               0 :         goto yy53;
    3844              40 : yy218:
    3845                 :         YYDEBUG(218, *YYCURSOR);
    3846              40 :         yych = *++YYCURSOR;
    3847              40 :         if (yych == 'N') goto yy223;
    3848              40 :         if (yych == 'n') goto yy223;
    3849               0 :         goto yy53;
    3850               0 : yy219:
    3851                 :         YYDEBUG(219, *YYCURSOR);
    3852               0 :         yych = *++YYCURSOR;
    3853               0 :         if (yych == 'N') goto yy220;
    3854               0 :         if (yych != 'n') goto yy53;
    3855               0 : yy220:
    3856                 :         YYDEBUG(220, *YYCURSOR);
    3857               0 :         yyaccept = 4;
    3858               0 :         yych = *(YYMARKER = ++YYCURSOR);
    3859               0 :         if (yych <= 'U') {
    3860               0 :                 if (yych == 'S') goto yy178;
    3861               0 :                 if (yych <= 'T') goto yy174;
    3862                 :         } else {
    3863               0 :                 if (yych <= 's') {
    3864               0 :                         if (yych <= 'r') goto yy174;
    3865               0 :                         goto yy178;
    3866                 :                 } else {
    3867               0 :                         if (yych != 'u') goto yy174;
    3868                 :                 }
    3869                 :         }
    3870                 :         YYDEBUG(221, *YYCURSOR);
    3871               0 :         yych = *++YYCURSOR;
    3872               0 :         if (yych == 'T') goto yy222;
    3873               0 :         if (yych != 't') goto yy53;
    3874               0 : yy222:
    3875                 :         YYDEBUG(222, *YYCURSOR);
    3876               0 :         yych = *++YYCURSOR;
    3877               0 :         if (yych == 'E') goto yy186;
    3878               0 :         if (yych == 'e') goto yy186;
    3879               0 :         goto yy53;
    3880              40 : yy223:
    3881                 :         YYDEBUG(223, *YYCURSOR);
    3882              40 :         yyaccept = 4;
    3883              40 :         yych = *(YYMARKER = ++YYCURSOR);
    3884              40 :         if (yych <= 'T') {
    3885               0 :                 if (yych == 'D') goto yy224;
    3886               0 :                 if (yych <= 'S') goto yy174;
    3887               0 :                 goto yy225;
    3888                 :         } else {
    3889              40 :                 if (yych <= 'd') {
    3890              40 :                         if (yych <= 'c') goto yy174;
    3891                 :                 } else {
    3892               0 :                         if (yych == 't') goto yy225;
    3893               0 :                         goto yy174;
    3894                 :                 }
    3895                 :         }
    3896              40 : yy224:
    3897                 :         YYDEBUG(224, *YYCURSOR);
    3898              40 :         yych = *++YYCURSOR;
    3899              40 :         if (yych == 'A') goto yy226;
    3900              40 :         if (yych == 'a') goto yy226;
    3901               0 :         goto yy53;
    3902               0 : yy225:
    3903                 :         YYDEBUG(225, *YYCURSOR);
    3904               0 :         yych = *++YYCURSOR;
    3905               0 :         if (yych == 'H') goto yy186;
    3906               0 :         if (yych == 'h') goto yy186;
    3907               0 :         goto yy53;
    3908              40 : yy226:
    3909                 :         YYDEBUG(226, *YYCURSOR);
    3910              40 :         yych = *++YYCURSOR;
    3911              40 :         if (yych == 'Y') goto yy178;
    3912              40 :         if (yych == 'y') goto yy178;
    3913               0 :         goto yy53;
    3914              13 : yy227:
    3915                 :         YYDEBUG(227, *YYCURSOR);
    3916              13 :         yych = *++YYCURSOR;
    3917              13 :         if (yych == 'N') goto yy238;
    3918              13 :         if (yych == 'n') goto yy238;
    3919               0 :         goto yy53;
    3920               6 : yy228:
    3921                 :         YYDEBUG(228, *YYCURSOR);
    3922               6 :         yych = *++YYCURSOR;
    3923               6 :         if (yych == 'T') goto yy233;
    3924               6 :         if (yych == 't') goto yy233;
    3925               0 :         goto yy53;
    3926               0 : yy229:
    3927                 :         YYDEBUG(229, *YYCURSOR);
    3928               0 :         yych = *++YYCURSOR;
    3929               0 :         if (yych == 'C') goto yy230;
    3930               0 :         if (yych != 'c') goto yy53;
    3931               0 : yy230:
    3932                 :         YYDEBUG(230, *YYCURSOR);
    3933               0 :         yyaccept = 4;
    3934               0 :         yych = *(YYMARKER = ++YYCURSOR);
    3935               0 :         if (yych <= 'S') {
    3936               0 :                 if (yych == 'O') goto yy231;
    3937               0 :                 if (yych <= 'R') goto yy174;
    3938               0 :                 goto yy178;
    3939                 :         } else {
    3940               0 :                 if (yych <= 'o') {
    3941               0 :                         if (yych <= 'n') goto yy174;
    3942                 :                 } else {
    3943               0 :                         if (yych == 's') goto yy178;
    3944               0 :                         goto yy174;
    3945                 :                 }
    3946                 :         }
    3947               0 : yy231:
    3948                 :         YYDEBUG(231, *YYCURSOR);
    3949               0 :         yych = *++YYCURSOR;
    3950               0 :         if (yych == 'N') goto yy232;
    3951               0 :         if (yych != 'n') goto yy53;
    3952               0 : yy232:
    3953                 :         YYDEBUG(232, *YYCURSOR);
    3954               0 :         yych = *++YYCURSOR;
    3955               0 :         if (yych == 'D') goto yy186;
    3956               0 :         if (yych == 'd') goto yy186;
    3957               0 :         goto yy53;
    3958               6 : yy233:
    3959                 :         YYDEBUG(233, *YYCURSOR);
    3960               6 :         yyaccept = 4;
    3961               6 :         yych = *(YYMARKER = ++YYCURSOR);
    3962               6 :         if (yych == 'U') goto yy234;
    3963               6 :         if (yych != 'u') goto yy174;
    3964               6 : yy234:
    3965                 :         YYDEBUG(234, *YYCURSOR);
    3966               6 :         yych = *++YYCURSOR;
    3967               6 :         if (yych == 'R') goto yy235;
    3968               6 :         if (yych != 'r') goto yy53;
    3969               6 : yy235:
    3970                 :         YYDEBUG(235, *YYCURSOR);
    3971               6 :         yych = *++YYCURSOR;
    3972               6 :         if (yych == 'D') goto yy236;
    3973               6 :         if (yych != 'd') goto yy53;
    3974               6 : yy236:
    3975                 :         YYDEBUG(236, *YYCURSOR);
    3976               6 :         yych = *++YYCURSOR;
    3977               6 :         if (yych == 'A') goto yy237;
    3978               6 :         if (yych != 'a') goto yy53;
    3979               6 : yy237:
    3980                 :         YYDEBUG(237, *YYCURSOR);
    3981               6 :         yych = *++YYCURSOR;
    3982               6 :         if (yych == 'Y') goto yy178;
    3983               6 :         if (yych == 'y') goto yy178;
    3984               0 :         goto yy53;
    3985              13 : yy238:
    3986                 :         YYDEBUG(238, *YYCURSOR);
    3987              13 :         yyaccept = 4;
    3988              13 :         yych = *(YYMARKER = ++YYCURSOR);
    3989              13 :         if (yych == 'D') goto yy239;
    3990              13 :         if (yych != 'd') goto yy174;
    3991              13 : yy239:
    3992                 :         YYDEBUG(239, *YYCURSOR);
    3993              13 :         yych = *++YYCURSOR;
    3994              13 :         if (yych == 'A') goto yy240;
    3995              13 :         if (yych != 'a') goto yy53;
    3996              13 : yy240:
    3997                 :         YYDEBUG(240, *YYCURSOR);
    3998              13 :         yych = *++YYCURSOR;
    3999              13 :         if (yych == 'Y') goto yy178;
    4000              13 :         if (yych == 'y') goto yy178;
    4001               0 :         goto yy53;
    4002               0 : yy241:
    4003                 :         YYDEBUG(241, *YYCURSOR);
    4004               0 :         yyaccept = 0;
    4005               0 :         yych = *(YYMARKER = ++YYCURSOR);
    4006               0 :         if (yych <= 'E') {
    4007               0 :                 if (yych <= '.') {
    4008               0 :                         if (yych == ')') goto yy136;
    4009               0 :                         goto yy3;
    4010                 :                 } else {
    4011               0 :                         if (yych <= '/') goto yy144;
    4012               0 :                         if (yych <= '@') goto yy3;
    4013               0 :                         if (yych <= 'D') goto yy138;
    4014               0 :                         goto yy155;
    4015                 :                 }
    4016                 :         } else {
    4017               0 :                 if (yych <= '`') {
    4018               0 :                         if (yych <= 'Z') goto yy138;
    4019               0 :                         if (yych == '_') goto yy144;
    4020               0 :                         goto yy3;
    4021                 :                 } else {
    4022               0 :                         if (yych == 'e') goto yy242;
    4023               0 :                         if (yych <= 'z') goto yy143;
    4024               0 :                         goto yy3;
    4025                 :                 }
    4026                 :         }
    4027               0 : yy242:
    4028                 :         YYDEBUG(242, *YYCURSOR);
    4029               0 :         yyaccept = 0;
    4030               0 :         yych = *(YYMARKER = ++YYCURSOR);
    4031               0 :         if (yych <= 'V') {
    4032               0 :                 if (yych <= '.') {
    4033               0 :                         if (yych == ')') goto yy136;
    4034               0 :                         goto yy3;
    4035                 :                 } else {
    4036               0 :                         if (yych <= '/') goto yy144;
    4037               0 :                         if (yych <= '@') goto yy3;
    4038               0 :                         if (yych <= 'U') goto yy139;
    4039               0 :                         goto yy156;
    4040                 :                 }
    4041                 :         } else {
    4042               0 :                 if (yych <= '`') {
    4043               0 :                         if (yych <= 'Z') goto yy139;
    4044               0 :                         if (yych == '_') goto yy144;
    4045               0 :                         goto yy3;
    4046                 :                 } else {
    4047               0 :                         if (yych == 'v') goto yy243;
    4048               0 :                         if (yych <= 'z') goto yy148;
    4049               0 :                         goto yy3;
    4050                 :                 }
    4051                 :         }
    4052               0 : yy243:
    4053                 :         YYDEBUG(243, *YYCURSOR);
    4054               0 :         yyaccept = 0;
    4055               0 :         yych = *(YYMARKER = ++YYCURSOR);
    4056               0 :         if (yych <= 'I') {
    4057               0 :                 if (yych <= '.') {
    4058               0 :                         if (yych == ')') goto yy136;
    4059               0 :                         goto yy3;
    4060                 :                 } else {
    4061               0 :                         if (yych <= '/') goto yy144;
    4062               0 :                         if (yych <= '@') goto yy3;
    4063               0 :                         if (yych <= 'H') goto yy140;
    4064               0 :                         goto yy157;
    4065                 :                 }
    4066                 :         } else {
    4067               0 :                 if (yych <= '`') {
    4068               0 :                         if (yych <= 'Z') goto yy140;
    4069               0 :                         if (yych == '_') goto yy144;
    4070               0 :                         goto yy3;
    4071                 :                 } else {
    4072               0 :                         if (yych == 'i') goto yy244;
    4073               0 :                         if (yych <= 'z') goto yy149;
    4074               0 :                         goto yy3;
    4075                 :                 }
    4076                 :         }
    4077               0 : yy244:
    4078                 :         YYDEBUG(244, *YYCURSOR);
    4079               0 :         yyaccept = 0;
    4080               0 :         yych = *(YYMARKER = ++YYCURSOR);
    4081               0 :         if (yych <= 'O') {
    4082               0 :                 if (yych <= '.') {
    4083               0 :                         if (yych == ')') goto yy136;
    4084               0 :                         goto yy3;
    4085                 :                 } else {
    4086               0 :                         if (yych <= '/') goto yy144;
    4087               0 :                         if (yych <= '@') goto yy3;
    4088               0 :                         if (yych <= 'N') goto yy141;
    4089               0 :                         goto yy158;
    4090                 :                 }
    4091                 :         } else {
    4092               0 :                 if (yych <= '`') {
    4093               0 :                         if (yych <= 'Z') goto yy141;
    4094               0 :                         if (yych == '_') goto yy144;
    4095               0 :                         goto yy3;
    4096                 :                 } else {
    4097               0 :                         if (yych == 'o') goto yy245;
    4098               0 :                         if (yych <= 'z') goto yy150;
    4099               0 :                         goto yy3;
    4100                 :                 }
    4101                 :         }
    4102               0 : yy245:
    4103                 :         YYDEBUG(245, *YYCURSOR);
    4104               0 :         yyaccept = 0;
    4105               0 :         yych = *(YYMARKER = ++YYCURSOR);
    4106               0 :         if (yych <= 'U') {
    4107               0 :                 if (yych <= '.') {
    4108               0 :                         if (yych == ')') goto yy136;
    4109               0 :                         goto yy3;
    4110                 :                 } else {
    4111               0 :                         if (yych <= '/') goto yy144;
    4112               0 :                         if (yych <= 'T') goto yy3;
    4113               0 :                         goto yy159;
    4114                 :                 }
    4115                 :         } else {
    4116               0 :                 if (yych <= '`') {
    4117               0 :                         if (yych == '_') goto yy144;
    4118               0 :                         goto yy3;
    4119                 :                 } else {
    4120               0 :                         if (yych == 'u') goto yy246;
    4121               0 :                         if (yych <= 'z') goto yy151;
    4122               0 :                         goto yy3;
    4123                 :                 }
    4124                 :         }
    4125               0 : yy246:
    4126                 :         YYDEBUG(246, *YYCURSOR);
    4127               0 :         yych = *++YYCURSOR;
    4128               0 :         if (yych == 'S') goto yy160;
    4129               0 :         if (yych != 's') goto yy152;
    4130               0 : yy247:
    4131                 :         YYDEBUG(247, *YYCURSOR);
    4132               0 :         yych = *++YYCURSOR;
    4133               0 :         if (yych <= '.') {
    4134               0 :                 if (yych <= '\t') {
    4135               0 :                         if (yych <= 0x08) goto yy53;
    4136               0 :                         goto yy161;
    4137                 :                 } else {
    4138               0 :                         if (yych == ' ') goto yy161;
    4139               0 :                         goto yy53;
    4140                 :                 }
    4141                 :         } else {
    4142               0 :                 if (yych <= '_') {
    4143               0 :                         if (yych <= '/') goto yy144;
    4144               0 :                         if (yych <= '^') goto yy53;
    4145               0 :                         goto yy144;
    4146                 :                 } else {
    4147               0 :                         if (yych <= '`') goto yy53;
    4148               0 :                         if (yych <= 'z') goto yy151;
    4149               0 :                         goto yy53;
    4150                 :                 }
    4151                 :         }
    4152               6 : yy248:
    4153                 :         YYDEBUG(248, *YYCURSOR);
    4154               6 :         yych = *++YYCURSOR;
    4155               6 :         if (yych <= 'S') {
    4156               0 :                 if (yych <= ')') {
    4157               0 :                         if (yych <= '(') goto yy3;
    4158               0 :                         goto yy136;
    4159                 :                 } else {
    4160               0 :                         if (yych <= '@') goto yy3;
    4161               0 :                         if (yych <= 'R') goto yy138;
    4162                 :                 }
    4163                 :         } else {
    4164               6 :                 if (yych <= 'r') {
    4165               0 :                         if (yych <= 'Z') goto yy138;
    4166               0 :                         if (yych <= '`') goto yy3;
    4167               0 :                         goto yy138;
    4168                 :                 } else {
    4169               6 :                         if (yych <= 's') goto yy249;
    4170               0 :                         if (yych <= 'z') goto yy138;
    4171               0 :                         goto yy3;
    4172                 :                 }
    4173                 :         }
    4174               6 : yy249:
    4175                 :         YYDEBUG(249, *YYCURSOR);
    4176               6 :         yych = *++YYCURSOR;
    4177               6 :         if (yych <= 'T') {
    4178               0 :                 if (yych <= ')') {
    4179               0 :                         if (yych <= '(') goto yy3;
    4180               0 :                         goto yy136;
    4181                 :                 } else {
    4182               0 :                         if (yych <= '@') goto yy3;
    4183               0 :                         if (yych <= 'S') goto yy139;
    4184                 :                 }
    4185                 :         } else {
    4186               6 :                 if (yych <= 's') {
    4187               0 :                         if (yych <= 'Z') goto yy139;
    4188               0 :                         if (yych <= '`') goto yy3;
    4189               0 :                         goto yy139;
    4190                 :                 } else {
    4191               6 :                         if (yych <= 't') goto yy250;
    4192               0 :                         if (yych <= 'z') goto yy139;
    4193               0 :                         goto yy3;
    4194                 :                 }
    4195                 :         }
    4196              68 : yy250:
    4197                 :         YYDEBUG(250, *YYCURSOR);
    4198              68 :         yyaccept = 0;
    4199              68 :         yych = *(YYMARKER = ++YYCURSOR);
    4200              68 :         if (yych <= '(') {
    4201              67 :                 if (yych <= '\t') {
    4202               0 :                         if (yych <= 0x08) goto yy3;
    4203               0 :                         goto yy161;
    4204                 :                 } else {
    4205              67 :                         if (yych == ' ') goto yy161;
    4206               0 :                         goto yy3;
    4207                 :                 }
    4208                 :         } else {
    4209               1 :                 if (yych <= 'Z') {
    4210               0 :                         if (yych <= ')') goto yy136;
    4211               0 :                         if (yych <= '@') goto yy3;
    4212               0 :                         goto yy140;
    4213                 :                 } else {
    4214               1 :                         if (yych <= '`') goto yy3;
    4215               1 :                         if (yych <= 'z') goto yy140;
    4216               0 :                         goto yy3;
    4217                 :                 }
    4218                 :         }
    4219               0 : yy251:
    4220                 :         YYDEBUG(251, *YYCURSOR);
    4221               0 :         yyaccept = 0;
    4222               0 :         yych = *(YYMARKER = ++YYCURSOR);
    4223               0 :         if (yych <= 'S') {
    4224               0 :                 if (yych <= '.') {
    4225               0 :                         if (yych == ')') goto yy136;
    4226               0 :                         goto yy3;
    4227                 :                 } else {
    4228               0 :                         if (yych <= '/') goto yy144;
    4229               0 :                         if (yych <= '@') goto yy3;
    4230               0 :                         if (yych <= 'R') goto yy138;
    4231               0 :                         goto yy249;
    4232                 :                 }
    4233                 :         } else {
    4234               0 :                 if (yych <= '`') {
    4235               0 :                         if (yych <= 'Z') goto yy138;
    4236               0 :                         if (yych == '_') goto yy144;
    4237               0 :                         goto yy3;
    4238                 :                 } else {
    4239               0 :                         if (yych == 's') goto yy252;
    4240               0 :                         if (yych <= 'z') goto yy143;
    4241               0 :                         goto yy3;
    4242                 :                 }
    4243                 :         }
    4244               0 : yy252:
    4245                 :         YYDEBUG(252, *YYCURSOR);
    4246               0 :         yyaccept = 0;
    4247               0 :         yych = *(YYMARKER = ++YYCURSOR);
    4248               0 :         if (yych <= 'T') {
    4249               0 :                 if (yych <= '.') {
    4250               0 :                         if (yych == ')') goto yy136;
    4251               0 :                         goto yy3;
    4252                 :                 } else {
    4253               0 :                         if (yych <= '/') goto yy144;
    4254               0 :                         if (yych <= '@') goto yy3;
    4255               0 :                         if (yych <= 'S') goto yy139;
    4256               0 :                         goto yy250;
    4257                 :                 }
    4258                 :         } else {
    4259               0 :                 if (yych <= '`') {
    4260               0 :                         if (yych <= 'Z') goto yy139;
    4261               0 :                         if (yych == '_') goto yy144;
    4262               0 :                         goto yy3;
    4263                 :                 } else {
    4264               0 :                         if (yych == 't') goto yy253;
    4265               0 :                         if (yych <= 'z') goto yy148;
    4266               0 :                         goto yy3;
    4267                 :                 }
    4268                 :         }
    4269               1 : yy253:
    4270                 :         YYDEBUG(253, *YYCURSOR);
    4271               1 :         yyaccept = 0;
    4272               1 :         yych = *(YYMARKER = ++YYCURSOR);
    4273               1 :         if (yych <= '.') {
    4274               1 :                 if (yych <= 0x1F) {
    4275               0 :                         if (yych == '\t') goto yy161;
    4276               0 :                         goto yy3;
    4277                 :                 } else {
    4278               1 :                         if (yych <= ' ') goto yy161;
    4279               0 :                         if (yych == ')') goto yy136;
    4280               0 :                         goto yy3;
    4281                 :                 }
    4282                 :         } else {
    4283               0 :                 if (yych <= '^') {
    4284               0 :                         if (yych <= '/') goto yy144;
    4285               0 :                         if (yych <= '@') goto yy3;
    4286               0 :                         if (yych <= 'Z') goto yy140;
    4287               0 :                         goto yy3;
    4288                 :                 } else {
    4289               0 :                         if (yych <= '_') goto yy144;
    4290               0 :                         if (yych <= '`') goto yy3;
    4291               0 :                         if (yych <= 'z') goto yy149;
    4292               0 :                         goto yy3;
    4293                 :                 }
    4294                 :         }
    4295               0 : yy254:
    4296                 :         YYDEBUG(254, *YYCURSOR);
    4297               0 :         yych = *++YYCURSOR;
    4298               0 :         if (yych <= 'G') {
    4299               0 :                 if (yych <= ')') {
    4300               0 :                         if (yych <= '(') goto yy3;
    4301               0 :                         goto yy136;
    4302                 :                 } else {
    4303               0 :                         if (yych <= '@') goto yy3;
    4304               0 :                         if (yych <= 'F') goto yy138;
    4305               0 :                         goto yy261;
    4306                 :                 }
    4307                 :         } else {
    4308               0 :                 if (yych <= 'f') {
    4309               0 :                         if (yych <= 'Z') goto yy138;
    4310               0 :                         if (yych <= '`') goto yy3;
    4311               0 :                         goto yy138;
    4312                 :                 } else {
    4313               0 :                         if (yych <= 'g') goto yy261;
    4314               0 :                         if (yych <= 'z') goto yy138;
    4315               0 :                         goto yy3;
    4316                 :                 }
    4317                 :         }
    4318               0 : yy255:
    4319                 :         YYDEBUG(255, *YYCURSOR);
    4320               0 :         yych = *++YYCURSOR;
    4321               0 :         if (yych <= 'E') {
    4322               0 :                 if (yych <= ')') {
    4323               0 :                         if (yych <= '(') goto yy3;
    4324               0 :                         goto yy136;
    4325                 :                 } else {
    4326               0 :                         if (yych <= '@') goto yy3;
    4327               0 :                         if (yych <= 'D') goto yy138;
    4328                 :                 }
    4329                 :         } else {
    4330               0 :                 if (yych <= 'd') {
    4331               0 :                         if (yych <= 'Z') goto yy138;
    4332               0 :                         if (yych <= '`') goto yy3;
    4333               0 :                         goto yy138;
    4334                 :                 } else {
    4335               0 :                         if (yych <= 'e') goto yy256;
    4336               0 :                         if (yych <= 'z') goto yy138;
    4337               0 :                         goto yy3;
    4338                 :                 }
    4339                 :         }
    4340               0 : yy256:
    4341                 :         YYDEBUG(256, *YYCURSOR);
    4342               0 :         yych = *++YYCURSOR;
    4343               0 :         if (yych <= 'V') {
    4344               0 :                 if (yych <= ')') {
    4345               0 :                         if (yych <= '(') goto yy3;
    4346               0 :                         goto yy136;
    4347                 :                 } else {
    4348               0 :                         if (yych <= '@') goto yy3;
    4349               0 :                         if (yych <= 'U') goto yy139;
    4350                 :                 }
    4351                 :         } else {
    4352               0 :                 if (yych <= 'u') {
    4353               0 :                         if (yych <= 'Z') goto yy139;
    4354               0 :                         if (yych <= '`') goto yy3;
    4355               0 :                         goto yy139;
    4356                 :                 } else {
    4357               0 :                         if (yych <= 'v') goto yy257;
    4358               0 :                         if (yych <= 'z') goto yy139;
    4359               0 :                         goto yy3;
    4360                 :                 }
    4361                 :         }
    4362               0 : yy257:
    4363                 :         YYDEBUG(257, *YYCURSOR);
    4364               0 :         yych = *++YYCURSOR;
    4365               0 :         if (yych <= 'E') {
    4366               0 :                 if (yych <= ')') {
    4367               0 :                         if (yych <= '(') goto yy3;
    4368               0 :                         goto yy136;
    4369                 :                 } else {
    4370               0 :                         if (yych <= '@') goto yy3;
    4371               0 :                         if (yych <= 'D') goto yy140;
    4372                 :                 }
    4373                 :         } else {
    4374               0 :                 if (yych <= 'd') {
    4375               0 :                         if (yych <= 'Z') goto yy140;
    4376               0 :                         if (yych <= '`') goto yy3;
    4377               0 :                         goto yy140;
    4378                 :                 } else {
    4379               0 :                         if (yych <= 'e') goto yy258;
    4380               0 :                         if (yych <= 'z') goto yy140;
    4381               0 :                         goto yy3;
    4382                 :                 }
    4383                 :         }
    4384               0 : yy258:
    4385                 :         YYDEBUG(258, *YYCURSOR);
    4386               0 :         yych = *++YYCURSOR;
    4387               0 :         if (yych <= 'N') {
    4388               0 :                 if (yych <= ')') {
    4389               0 :                         if (yych <= '(') goto yy3;
    4390               0 :                         goto yy136;
    4391                 :                 } else {
    4392               0 :                         if (yych <= '@') goto yy3;
    4393               0 :                         if (yych <= 'M') goto yy141;
    4394                 :                 }
    4395                 :         } else {
    4396               0 :                 if (yych <= 'm') {
    4397               0 :                         if (yych <= 'Z') goto yy141;
    4398               0 :                         if (yych <= '`') goto yy3;
    4399               0 :                         goto yy141;
    4400                 :                 } else {
    4401               0 :                         if (yych <= 'n') goto yy259;
    4402               0 :                         if (yych <= 'z') goto yy141;
    4403               0 :                         goto yy3;
    4404                 :                 }
    4405                 :         }
    4406               0 : yy259:
    4407                 :         YYDEBUG(259, *YYCURSOR);
    4408               0 :         yyaccept = 0;
    4409               0 :         yych = *(YYMARKER = ++YYCURSOR);
    4410               0 :         if (yych <= 'S') {
    4411               0 :                 if (yych == ')') goto yy136;
    4412               0 :                 goto yy3;
    4413                 :         } else {
    4414               0 :                 if (yych <= 'T') goto yy260;
    4415               0 :                 if (yych != 't') goto yy3;
    4416                 :         }
    4417               0 : yy260:
    4418                 :         YYDEBUG(260, *YYCURSOR);
    4419               0 :         yych = *++YYCURSOR;
    4420               0 :         if (yych == 'H') goto yy160;
    4421               0 :         if (yych == 'h') goto yy160;
    4422               0 :         goto yy53;
    4423               0 : yy261:
    4424                 :         YYDEBUG(261, *YYCURSOR);
    4425               0 :         yych = *++YYCURSOR;
    4426               0 :         if (yych <= 'H') {
    4427               0 :                 if (yych <= ')') {
    4428               0 :                         if (yych <= '(') goto yy3;
    4429               0 :                         goto yy136;
    4430                 :                 } else {
    4431               0 :                         if (yych <= '@') goto yy3;
    4432               0 :                         if (yych <= 'G') goto yy139;
    4433                 :                 }
    4434                 :         } else {
    4435               0 :                 if (yych <= 'g') {
    4436               0 :                         if (yych <= 'Z') goto yy139;
    4437               0 :                         if (yych <= '`') goto yy3;
    4438               0 :                         goto yy139;
    4439                 :                 } else {
    4440               0 :                         if (yych <= 'h') goto yy262;
    4441               0 :                         if (yych <= 'z') goto yy139;
    4442               0 :                         goto yy3;
    4443                 :                 }
    4444                 :         }
    4445               0 : yy262:
    4446                 :         YYDEBUG(262, *YYCURSOR);
    4447               0 :         yych = *++YYCURSOR;
    4448               0 :         if (yych <= 'T') {
    4449               0 :                 if (yych <= ')') {
    4450               0 :                         if (yych <= '(') goto yy3;
    4451               0 :                         goto yy136;
    4452                 :                 } else {
    4453               0 :                         if (yych <= '@') goto yy3;
    4454               0 :                         if (yych <= 'S') goto yy140;
    4455                 :                 }
    4456                 :         } else {
    4457               0 :                 if (yych <= 's') {
    4458               0 :                         if (yych <= 'Z') goto yy140;
    4459               0 :                         if (yych <= '`') goto yy3;
    4460               0 :                         goto yy140;
    4461                 :                 } else {
    4462               0 :                         if (yych <= 't') goto yy263;
    4463               0 :                         if (yych <= 'z') goto yy140;
    4464               0 :                         goto yy3;
    4465                 :                 }
    4466                 :         }
    4467              31 : yy263:
    4468                 :         YYDEBUG(263, *YYCURSOR);
    4469              31 :         yyaccept = 0;
    4470              31 :         yych = *(YYMARKER = ++YYCURSOR);
    4471              31 :         if (yych <= '(') {
    4472              31 :                 if (yych <= '\t') {
    4473               0 :                         if (yych <= 0x08) goto yy3;
    4474               0 :                         goto yy161;
    4475                 :                 } else {
    4476              31 :                         if (yych == ' ') goto yy161;
    4477               0 :                         goto yy3;
    4478                 :                 }
    4479                 :         } else {
    4480               0 :                 if (yych <= 'Z') {
    4481               0 :                         if (yych <= ')') goto yy136;
    4482               0 :                         if (yych <= '@') goto yy3;
    4483               0 :                         goto yy141;
    4484                 :                 } else {
    4485               0 :                         if (yych <= '`') goto yy3;
    4486               0 :                         if (yych <= 'z') goto yy141;
    4487               0 :                         goto yy3;
    4488                 :                 }
    4489                 :         }
    4490               0 : yy264:
    4491                 :         YYDEBUG(264, *YYCURSOR);
    4492               0 :         yyaccept = 0;
    4493               0 :         yych = *(YYMARKER = ++YYCURSOR);
    4494               0 :         if (yych <= 'G') {
    4495               0 :                 if (yych <= '.') {
    4496               0 :                         if (yych == ')') goto yy136;
    4497               0 :                         goto yy3;
    4498                 :                 } else {
    4499               0 :                         if (yych <= '/') goto yy144;
    4500               0 :                         if (yych <= '@') goto yy3;
    4501               0 :                         if (yych <= 'F') goto yy138;
    4502               0 :                         goto yy261;
    4503                 :                 }
    4504                 :         } else {
    4505               0 :                 if (yych <= '`') {
    4506               0 :                         if (yych <= 'Z') goto yy138;
    4507               0 :                         if (yych == '_') goto yy144;
    4508               0 :                         goto yy3;
    4509                 :                 } else {
    4510               0 :                         if (yych == 'g') goto yy271;
    4511               0 :                         if (yych <= 'z') goto yy143;
    4512               0 :                         goto yy3;
    4513                 :                 }
    4514                 :         }
    4515               0 : yy265:
    4516                 :         YYDEBUG(265, *YYCURSOR);
    4517               0 :         yyaccept = 0;
    4518               0 :         yych = *(YYMARKER = ++YYCURSOR);
    4519               0 :         if (yych <= 'E') {
    4520               0 :                 if (yych <= '.') {
    4521               0 :                         if (yych == ')') goto yy136;
    4522               0 :                         goto yy3;
    4523                 :                 } else {
    4524               0 :                         if (yych <= '/') goto yy144;
    4525               0 :                         if (yych <= '@') goto yy3;
    4526               0 :                         if (yych <= 'D') goto yy138;
    4527               0 :                         goto yy256;
    4528                 :                 }
    4529                 :         } else {
    4530               0 :                 if (yych <= '`') {
    4531               0 :                         if (yych <= 'Z') goto yy138;
    4532               0 :                         if (yych == '_') goto yy144;
    4533               0 :                         goto yy3;
    4534                 :                 } else {
    4535               0 :                         if (yych == 'e') goto yy266;
    4536               0 :                         if (yych <= 'z') goto yy143;
    4537               0 :                         goto yy3;
    4538                 :                 }
    4539                 :         }
    4540               0 : yy266:
    4541                 :         YYDEBUG(266, *YYCURSOR);
    4542               0 :         yyaccept = 0;
    4543               0 :         yych = *(YYMARKER = ++YYCURSOR);
    4544               0 :         if (yych <= 'V') {
    4545               0 :                 if (yych <= '.') {
    4546               0 :                         if (yych == ')') goto yy136;
    4547               0 :                         goto yy3;
    4548                 :                 } else {
    4549               0 :                         if (yych <= '/') goto yy144;
    4550               0 :                         if (yych <= '@') goto yy3;
    4551               0 :                         if (yych <= 'U') goto yy139;
    4552               0 :                         goto yy257;
    4553                 :                 }
    4554                 :         } else {
    4555               0 :                 if (yych <= '`') {
    4556               0 :                         if (yych <= 'Z') goto yy139;
    4557               0 :                         if (yych == '_') goto yy144;
    4558               0 :                         goto yy3;
    4559                 :                 } else {
    4560               0 :                         if (yych == 'v') goto yy267;
    4561               0 :                         if (yych <= 'z') goto yy148;
    4562               0 :                         goto yy3;
    4563                 :                 }
    4564                 :         }
    4565               0 : yy267:
    4566                 :         YYDEBUG(267, *YYCURSOR);
    4567               0 :         yyaccept = 0;
    4568               0 :         yych = *(YYMARKER = ++YYCURSOR);
    4569               0 :         if (yych <= 'E') {
    4570               0 :                 if (yych <= '.') {
    4571               0 :                         if (yych == ')') goto yy136;
    4572               0 :                         goto yy3;
    4573                 :                 } else {
    4574               0 :                         if (yych <= '/') goto yy144;
    4575               0 :                         if (yych <= '@') goto yy3;
    4576               0 :                         if (yych <= 'D') goto yy140;
    4577               0 :                         goto yy258;
    4578                 :                 }
    4579                 :         } else {
    4580               0 :                 if (yych <= '`') {
    4581               0 :                         if (yych <= 'Z') goto yy140;
    4582               0 :                         if (yych == '_') goto yy144;
    4583               0 :                         goto yy3;
    4584                 :                 } else {
    4585               0 :                         if (yych == 'e') goto yy268;
    4586               0 :                         if (yych <= 'z') goto yy149;
    4587               0 :                         goto yy3;
    4588                 :                 }
    4589                 :         }
    4590               0 : yy268:
    4591                 :         YYDEBUG(268, *YYCURSOR);
    4592               0 :         yyaccept = 0;
    4593               0 :         yych = *(YYMARKER = ++YYCURSOR);
    4594               0 :         if (yych <= 'N') {
    4595               0 :                 if (yych <= '.') {
    4596               0 :                         if (yych == ')') goto yy136;
    4597               0 :                         goto yy3;
    4598                 :                 } else {
    4599               0 :                         if (yych <= '/') goto yy144;
    4600               0 :                         if (yych <= '@') goto yy3;
    4601               0 :                         if (yych <= 'M') goto yy141;
    4602               0 :                         goto yy259;
    4603                 :                 }
    4604                 :         } else {
    4605               0 :                 if (yych <= '`') {
    4606               0 :                         if (yych <= 'Z') goto yy141;
    4607               0 :                         if (yych == '_') goto yy144;
    4608               0 :                         goto yy3;
    4609                 :                 } else {
    4610               0 :                         if (yych == 'n') goto yy269;
    4611               0 :                         if (yych <= 'z') goto yy150;
    4612               0 :                         goto yy3;
    4613                 :                 }
    4614                 :         }
    4615               0 : yy269:
    4616                 :         YYDEBUG(269, *YYCURSOR);
    4617               0 :         yyaccept = 0;
    4618               0 :         yych = *(YYMARKER = ++YYCURSOR);
    4619               0 :         if (yych <= 'T') {
    4620               0 :                 if (yych <= '.') {
    4621               0 :                         if (yych == ')') goto yy136;
    4622               0 :                         goto yy3;
    4623                 :                 } else {
    4624               0 :                         if (yych <= '/') goto yy144;
    4625               0 :                         if (yych <= 'S') goto yy3;
    4626               0 :                         goto yy260;
    4627                 :                 }
    4628                 :         } else {
    4629               0 :                 if (yych <= '`') {
    4630               0 :                         if (yych == '_') goto yy144;
    4631               0 :                         goto yy3;
    4632                 :                 } else {
    4633               0 :                         if (yych == 't') goto yy270;
    4634               0 :                         if (yych <= 'z') goto yy151;
    4635               0 :                         goto yy3;
    4636                 :                 }
    4637                 :         }
    4638               0 : yy270:
    4639                 :         YYDEBUG(270, *YYCURSOR);
    4640               0 :         yych = *++YYCURSOR;
    4641               0 :         if (yych == 'H') goto yy160;
    4642               0 :         if (yych == 'h') goto yy247;
    4643               0 :         goto yy152;
    4644               0 : yy271:
    4645                 :         YYDEBUG(271, *YYCURSOR);
    4646               0 :         yyaccept = 0;
    4647               0 :         yych = *(YYMARKER = ++YYCURSOR);
    4648               0 :         if (yych <= 'H') {
    4649               0 :                 if (yych <= '.') {
    4650               0 :                         if (yych == ')') goto yy136;
    4651               0 :                         goto yy3;
    4652                 :                 } else {
    4653               0 :                         if (yych <= '/') goto yy144;
    4654               0 :                         if (yych <= '@') goto yy3;
    4655               0 :                         if (yych <= 'G') goto yy139;
    4656               0 :                         goto yy262;
    4657                 :                 }
    4658                 :         } else {
    4659               0 :                 if (yych <= '`') {
    4660               0 :                         if (yych <= 'Z') goto yy139;
    4661               0 :                         if (yych == '_') goto yy144;
    4662               0 :                         goto yy3;
    4663                 :                 } else {
    4664               0 :                         if (yych == 'h') goto yy272;
    4665               0 :                         if (yych <= 'z') goto yy148;
    4666               0 :                         goto yy3;
    4667                 :                 }
    4668                 :         }
    4669               0 : yy272:
    4670                 :         YYDEBUG(272, *YYCURSOR);
    4671               0 :         yyaccept = 0;
    4672               0 :         yych = *(YYMARKER = ++YYCURSOR);
    4673               0 :         if (yych <= 'T') {
    4674               0 :                 if (yych <= '.') {
    4675               0 :                         if (yych == ')') goto yy136;
    4676               0 :                         goto yy3;
    4677                 :                 } else {
    4678               0 :                         if (yych <= '/') goto yy144;
    4679               0 :                         if (yych <= '@') goto yy3;
    4680               0 :                         if (yych <= 'S') goto yy140;
    4681               0 :                         goto yy263;
    4682                 :                 }
    4683                 :         } else {
    4684               0 :                 if (yych <= '`') {
    4685               0 :                         if (yych <= 'Z') goto yy140;
    4686               0 :                         if (yych == '_') goto yy144;
    4687               0 :                         goto yy3;
    4688                 :                 } else {
    4689               0 :                         if (yych == 't') goto yy273;
    4690               0 :                         if (yych <= 'z') goto yy149;
    4691               0 :                         goto yy3;
    4692                 :                 }
    4693                 :         }
    4694               0 : yy273:
    4695                 :         YYDEBUG(273, *YYCURSOR);
    4696               0 :         yyaccept = 0;
    4697               0 :         yych = *(YYMARKER = ++YYCURSOR);
    4698               0 :         if (yych <= '.') {
    4699               0 :                 if (yych <= 0x1F) {
    4700               0 :                         if (yych == '\t') goto yy161;
    4701               0 :                         goto yy3;
    4702                 :                 } else {
    4703               0 :                         if (yych <= ' ') goto yy161;
    4704               0 :                         if (yych == ')') goto yy136;
    4705               0 :                         goto yy3;
    4706                 :                 }
    4707                 :         } else {
    4708               0 :                 if (yych <= '^') {
    4709               0 :                         if (yych <= '/') goto yy144;
    4710               0 :                         if (yych <= '@') goto yy3;
    4711               0 :                         if (yych <= 'Z') goto yy141;
    4712               0 :                         goto yy3;
    4713                 :                 } else {
    4714               0 :                         if (yych <= '_') goto yy144;
    4715               0 :                         if (yych <= '`') goto yy3;
    4716               0 :                         if (yych <= 'z') goto yy150;
    4717               0 :                         goto yy3;
    4718                 :                 }
    4719                 :         }
    4720               2 : yy274:
    4721                 :         YYDEBUG(274, *YYCURSOR);
    4722               2 :         yych = *++YYCURSOR;
    4723               2 :         if (yych <= 'E') {
    4724               0 :                 if (yych <= '@') {
    4725               0 :                         if (yych == ')') goto yy136;
    4726               0 :                         goto yy3;
    4727                 :                 } else {
    4728               0 :                         if (yych <= 'C') goto yy138;
    4729               0 :                         if (yych >= 'E') goto yy277;
    4730                 :                 }
    4731                 :         } else {
    4732               2 :                 if (yych <= 'c') {
    4733               0 :                         if (yych <= 'Z') goto yy138;
    4734               0 :                         if (yych <= '`') goto yy3;
    4735               0 :                         goto yy138;
    4736                 :                 } else {
    4737               2 :                         if (yych <= 'd') goto yy275;
    4738               0 :                         if (yych <= 'e') goto yy277;
    4739               0 :                         if (yych <= 'z') goto yy138;
    4740               0 :                         goto yy3;
    4741                 :                 }
    4742                 :         }
    4743               2 : yy275:
    4744                 :         YYDEBUG(275, *YYCURSOR);
    4745               2 :         ++YYCURSOR;
    4746               2 :         if ((yych = *YYCURSOR) <= 'N') {
    4747               1 :                 if (yych <= ')') {
    4748               1 :                         if (yych >= ')') goto yy136;
    4749                 :                 } else {
    4750               0 :                         if (yych <= '@') goto yy276;
    4751               0 :                         if (yych <= 'M') goto yy139;
    4752               0 :                         goto yy283;
    4753                 :                 }
    4754                 :         } else {
    4755               1 :                 if (yych <= 'm') {
    4756               0 :                         if (yych <= 'Z') goto yy139;
    4757               0 :                         if (yych >= 'a') goto yy139;
    4758                 :                 } else {
    4759               1 :                         if (yych <= 'n') goto yy283;
    4760               0 :                         if (yych <= 'z') goto yy139;
    4761                 :                 }
    4762                 :         }
    4763              54 : yy276:
    4764                 :         YYDEBUG(276, *YYCURSOR);
    4765                 : #line 1401 "ext/date/lib/parse_date.re"
    4766                 :         {
    4767                 :                 const timelib_relunit* relunit;
    4768                 :                 DEBUG_OUTPUT("daytext");
    4769                 :                 TIMELIB_INIT;
    4770                 :                 TIMELIB_HAVE_RELATIVE();
    4771                 :                 TIMELIB_HAVE_WEEKDAY_RELATIVE();
    4772                 :                 TIMELIB_UNHAVE_TIME();
    4773                 :                 relunit = timelib_lookup_relunit((char**) &ptr);
    4774                 :                 s->time->relative.weekday = relunit->multiplier;
    4775                 :                 if (s->time->relative.weekday_behavior != 2) {
    4776                 :                         s->time->relative.weekday_behavior = 1;
    4777                 :                 }
    4778                 :                 
    4779                 :                 TIMELIB_DEINIT;
    4780                 :                 return TIMELIB_WEEKDAY;
    4781                 :         }
    4782                 : #line 4783 "ext/date/lib/parse_date.c"
    4783               0 : yy277:
    4784                 :         YYDEBUG(277, *YYCURSOR);
    4785               0 :         yych = *++YYCURSOR;
    4786               0 :         if (yych <= 'K') {
    4787               0 :                 if (yych <= ')') {
    4788               0 :                         if (yych <= '(') goto yy3;
    4789               0 :                         goto yy136;
    4790                 :                 } else {
    4791               0 :                         if (yych <= '@') goto yy3;
    4792               0 :                         if (yych <= 'J') goto yy139;
    4793                 :                 }
    4794                 :         } else {
    4795               0 :                 if (yych <= 'j') {
    4796               0 :                         if (yych <= 'Z') goto yy139;
    4797               0 :                         if (yych <= '`') goto yy3;
    4798               0 :                         goto yy139;
    4799                 :                 } else {
    4800               0 :                         if (yych <= 'k') goto yy278;
    4801               0 :                         if (yych <= 'z') goto yy139;
    4802               0 :                         goto yy3;
    4803                 :                 }
    4804                 :         }
    4805               0 : yy278:
    4806                 :         YYDEBUG(278, *YYCURSOR);
    4807               0 :         yych = *++YYCURSOR;
    4808               0 :         if (yych <= 'D') {
    4809               0 :                 if (yych <= ')') {
    4810               0 :                         if (yych <= '(') goto yy3;
    4811               0 :                         goto yy136;
    4812                 :                 } else {
    4813               0 :                         if (yych <= '@') goto yy3;
    4814               0 :                         if (yych <= 'C') goto yy140;
    4815                 :                 }
    4816                 :         } else {
    4817               0 :                 if (yych <= 'c') {
    4818               0 :                         if (yych <= 'Z') goto yy140;
    4819               0 :                         if (yych <= '`') goto yy3;
    4820               0 :                         goto yy140;
    4821                 :                 } else {
    4822               0 :                         if (yych <= 'd') goto yy279;
    4823               0 :                         if (yych <= 'z') goto yy140;
    4824               0 :                         goto yy3;
    4825                 :                 }
    4826                 :         }
    4827               0 : yy279:
    4828                 :         YYDEBUG(279, *YYCURSOR);
    4829               0 :         yych = *++YYCURSOR;
    4830               0 :         if (yych <= 'A') {
    4831               0 :                 if (yych == ')') goto yy136;
    4832               0 :                 if (yych <= '@') goto yy3;
    4833                 :         } else {
    4834               0 :                 if (yych <= '`') {
    4835               0 :                         if (yych <= 'Z') goto yy141;
    4836               0 :                         goto yy3;
    4837                 :                 } else {
    4838               0 :                         if (yych <= 'a') goto yy280;
    4839               0 :                         if (yych <= 'z') goto yy141;
    4840               0 :                         goto yy3;
    4841                 :                 }
    4842                 :         }
    4843               0 : yy280:
    4844                 :         YYDEBUG(280, *YYCURSOR);
    4845               0 :         yych = *++YYCURSOR;
    4846               0 :         if (yych <= 'X') {
    4847               0 :                 if (yych == ')') goto yy136;
    4848               0 :                 goto yy3;
    4849                 :         } else {
    4850               0 :                 if (yych <= 'Y') goto yy281;
    4851               0 :                 if (yych != 'y') goto yy3;
    4852                 :         }
    4853               0 : yy281:
    4854                 :         YYDEBUG(281, *YYCURSOR);
    4855               0 :         yych = *++YYCURSOR;
    4856               0 :         if (yych == 'S') goto yy282;
    4857               0 :         if (yych != 's') goto yy276;
    4858               4 : yy282:
    4859                 :         YYDEBUG(282, *YYCURSOR);
    4860               4 :         yych = *++YYCURSOR;
    4861               4 :         goto yy276;
    4862               1 : yy283:
    4863                 :         YYDEBUG(283, *YYCURSOR);
    4864               1 :         yych = *++YYCURSOR;
    4865               1 :         if (yych <= 'E') {
    4866               0 :                 if (yych <= ')') {
    4867               0 :                         if (yych <= '(') goto yy3;
    4868               0 :                         goto yy136;
    4869                 :                 } else {
    4870               0 :                         if (yych <= '@') goto yy3;
    4871               0 :                         if (yych <= 'D') goto yy140;
    4872                 :                 }
    4873                 :         } else {
    4874               1 :                 if (yych <= 'd') {
    4875               0 :                         if (yych <= 'Z') goto yy140;
    4876               0 :                         if (yych <= '`') goto yy3;
    4877               0 :                         goto yy140;
    4878                 :                 } else {
    4879               1 :                         if (yych <= 'e') goto yy284;
    4880               0 :                         if (yych <= 'z') goto yy140;
    4881               0 :