WebCore/generated/tokenizer.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 17 Sep 2010 09:02:29 +0300
changeset 0 4f2f89ce4247
child 2 303757a437d3
permissions -rw-r--r--
Revision: 201037

/*
 * Copyright (C) 2003 Lars Knoll (knoll@kde.org)
 *
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Library General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Library General Public License for more details.
 *
 * You should have received a copy of the GNU Library General Public License
 * along with this library; see the file COPYING.LIB.  If not, write to
 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 * Boston, MA 02110-1301, USA.
 */

/* This file is mostly data generated by flex. Unfortunately flex
   can't handle 16bit strings directly, so we just copy the part of
   the code we need and modify it to our needs.

   Most of the defines below are to make sure we can easily use the
   flex generated code, using as little editing as possible.

   The flex syntax to generate the lexer are more or less directly
   copied from the CSS2.1 specs, with some fixes for comments and
   the important symbol.

   To regenerate, run flex on tokenizer.flex. After this, copy the
   data tables and the YY_DECL method over to this file. Remove the
   init code from YY_DECL and change the YY_END_OF_BUFFER to only call
   yyterminate().

*/

// --------- begin generated code -------------------


#include "CSSGrammar.h"

#define INITIAL 0
#define mediaquery 1
#define forkeyword 2

/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */

#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
#include <inttypes.h>
typedef int8_t flex_int8_t;
typedef uint8_t flex_uint8_t;
typedef int16_t flex_int16_t;
typedef uint16_t flex_uint16_t;
typedef int32_t flex_int32_t;
typedef uint32_t flex_uint32_t;
#else
typedef signed char flex_int8_t;
typedef short int flex_int16_t;
typedef int flex_int32_t;
typedef unsigned char flex_uint8_t;
typedef unsigned short int flex_uint16_t;
typedef unsigned int flex_uint32_t;
#endif /* ! C99 */
#define YY_NUM_RULES 85
#define YY_END_OF_BUFFER 86
static yyconst short int yy_accept[592] =
    {   0,
        0,    0,    0,    0,    0,    0,   86,   84,    2,    2,
       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
       73,   84,   84,   84,   84,   15,   15,   15,   84,   84,
       83,   15,   15,   15,   82,   15,    2,    0,    0,    0,
       14,    0,    0,    0,    0,   18,   18,    8,    0,    0,
        9,    0,   16,    0,    0,   15,   15,   15,   74,    0,
       72,    0,    0,   73,    0,   71,   71,   71,   71,   71,
       71,   71,   71,   71,   71,   16,   71,   71,   68,   71,
        0,    0,    0,   51,   51,   51,   51,   51,   51,   51,
       51,   51,   51,   51,   15,   15,    7,   79,   15,    0,

        0,   15,   15,    0,   15,    6,    5,   15,   15,   15,
       15,    0,    0,    0,   14,    0,    0,    0,   18,   18,
       18,    0,   18,    0,    0,   14,    0,    0,    4,   15,
        0,    0,   71,   71,   71,    0,   71,   58,   71,   53,
       56,   71,   69,   60,   71,   59,   67,   71,   62,   61,
       57,   71,   71,   71,    0,   51,   51,   51,   51,    0,
       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
       15,   15,   15,   16,   15,   15,   80,   80,   15,   12,
       10,   15,   13,    0,    0,    0,   17,   18,   18,   18,
       17,    0,    0,   15,    0,    1,   71,   71,   71,   71,

       63,   71,   70,   16,   64,   54,   71,    3,   51,   51,
       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
       51,   51,   15,   15,   75,    0,   80,   80,   80,   79,
       11,    0,    0,    0,   18,   18,   18,    0,   15,    0,
        0,   71,   71,   71,   65,   66,   51,   51,   51,   51,
       51,   51,   51,   51,   51,   51,   20,   51,   51,   15,
       15,   81,   80,   80,   80,   80,    0,    0,    0,    0,
       77,    0,    0,    0,    0,   18,   18,   18,    0,   15,
       71,   71,   55,   51,   51,   51,   51,   51,   51,   51,
       51,   37,   51,   51,   51,   51,   51,   15,   15,   81,

       80,   80,   80,   80,   80,    0,    0,    0,    0,    0,
        0,    0,    0,    0,   77,    0,    0,    0,    0,   17,
       18,   18,   17,    0,   15,   71,   71,   51,   51,   51,
       51,   51,   51,   19,   51,   51,   51,   51,   51,   51,
       51,   51,   15,   15,   81,   80,   80,   80,   80,   80,
       80,    0,   76,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,   18,   18,    0,   15,
       71,   71,   51,   51,   51,   51,   39,   51,   51,   51,
       51,   51,   51,   51,   51,   51,   51,   51,   15,   81,
       80,   80,   80,   80,   80,   80,   80,    0,   76,    0,

        0,    0,   76,    0,    0,    0,    0,   18,   15,   71,
       51,   51,   51,   51,   51,   51,   51,   51,   31,   51,
       51,   51,   51,   51,   22,   51,   81,    0,    0,    0,
       52,   15,   51,   51,   51,   51,   51,   51,   51,   51,
       51,   38,   51,   51,   40,   51,   51,   34,   51,   51,
       24,   81,    0,    0,    0,   15,   51,   51,   51,   51,
       51,   51,   51,   51,   51,   51,   51,   51,   51,   23,
       51,   51,    0,    0,    0,   79,   51,   51,   51,   51,
       51,   51,   51,   51,   51,   27,   51,   33,   32,   51,
       51,   51,   51,    0,    0,    0,    0,    0,    0,   51,

       51,   51,   51,   41,   51,   51,   51,   51,   51,   29,
       36,   35,   51,   51,    0,    0,    0,   78,    0,    0,
       42,   51,   51,   51,   51,   43,   51,   28,   51,   51,
       51,   51,    0,    0,    0,    0,   47,   51,   51,   51,
       51,   51,   51,   51,   51,    0,    0,    0,   51,   51,
       51,   51,   51,   51,   21,   51,    0,    0,   51,   51,
       45,   51,   51,   51,   25,    0,    0,   51,   49,   51,
       46,   51,   51,    0,    0,   51,   44,   51,   26,   51,
        0,   51,   51,   30,   51,   51,   50,   51,   51,   48,
        0

    } ;

static yyconst int yy_ec[256] =
    {   0,
        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
        1,    4,    5,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    6,    7,    8,    9,   10,   11,   12,   13,   14,
       15,   16,   17,   12,   18,   19,   20,   21,   21,   21,
       21,   21,   21,   21,   21,   21,   21,   12,   22,   23,
       24,   25,   26,   27,   31,   32,   33,   34,   35,   36,
       37,   38,   39,   40,   41,   42,   43,   44,   45,   46,
       47,   48,   49,   50,   51,   52,   53,   54,   55,   56,
       12,   28,   12,   29,   30,   12,   31,   32,   33,   34,

       35,   36,   37,   38,   39,   40,   41,   42,   43,   44,
       45,   46,   47,   48,   49,   50,   51,   52,   53,   54,
       55,   56,   57,   58,   12,   59,    1,   60,   60,   60,
       60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
       60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
       60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
       60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
       60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
       60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
       60,   60,   60,   60,   60,   60,   60,   60,   60,   60,

       60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
       60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
       60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
       60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
       60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
       60,   60,   60,   60,   60
    } ;

static yyconst int yy_meta[61] =
    {   0,
        1,    2,    3,    3,    3,    4,    5,    5,    5,    5,
        5,    5,    5,    6,    7,    5,    5,    8,    5,    5,
        9,    5,    5,    5,    5,   10,    5,   11,    5,   11,
       12,   12,   12,   12,   12,   12,   11,   11,   11,   11,
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
       11,   11,   11,   11,   11,   11,    5,    5,    5,   11
    } ;

static yyconst short int yy_base[629] =
    {   0,
        0,    0,   39,   41, 2424, 2423, 2458, 2461,   62,   71,
       76,   61,   69, 2433,   78, 2432,   50,   89, 2434, 2438,
      132, 2446,  175,   87, 2417,   81,  110,   97, 2413, 2412,
     2461,   85,  219,  102, 2461,  112,  192,  236, 2378,   84,
     2461,  274,  113,  222,  238, 2392,  265, 2461,  119,  309,
     2461,  114,  119, 2393,  300,  176,  232,  252,  244, 2401,
     2405, 2383, 2363,    0,  317,  124, 2332,  116,  121,  240,
      204,  133,  217,  163,  275,  298,  326,  292, 2321,  216,
     2328,  363,  334, 2308,  206,  253,  301,  261,  257,  328,
      171,  297,  319,  329,  234,  415, 2461, 2461,  347,  351,

     2309,  350,  365,  406,  380, 2461, 2461,  363,  375,  384,
      376, 2267,  425,  311,  402,  452,  487,  431, 2231,  522,
     2217,  478,  513,  431,  360,  448,  557,  592, 2461,  465,
     2190,  415, 2153,  627, 2150,  548,  447, 2137,  111, 2125,
     2121,  440, 2109, 2101,  442, 2100, 2099,  453, 2098, 2097,
     2096,  256,  473,  454, 2105,  468, 2093,  662, 2077,  583,
      364,  441,  489,  504,  501,  472,  508,  502,  503,  540,
      618,  524,  697, 2081,  656,  559,  546, 2073,  584,  593,
      594,  657,  628, 2045,  629,  688,  704,  713, 2061,  748,
      739,  659,  755,  664, 2072, 2461,  764, 2047,  799,  507,

     2046,  537, 2012,  546, 2011, 2009,  645, 2461,  571,  790,
     2008,  834,  373,  658,  619,  646,  654,  538,  574,  606,
      572,  583,  825,  841, 2461,  850,  617, 1986, 1978,  885,
      699, 1955,  871,  887,  893,  909,  915,  931,  727, 1986,
      620,  937,  953,  683, 1944, 1943,  647,  959,  975,  714,
      715,  689,  729,  740,  476,  764, 1901,  728,  868,  981,
      997, 1003,  620, 1878, 1876, 1874, 1038, 1052,  786,  780,
     2461, 1079, 1817, 1038, 1070, 1087, 1095, 1103, 1111,  801,
     1119, 1127, 1837,  778, 1135, 1143,  784,  680,  782,  791,
     1036, 1769,  817,  824,  781,  815,  825, 1151, 1159, 1167,

      891, 1723, 1691, 1690, 1641, 1202,  820, 1207, 1221,  866,
     1256, 1235, 1268, 1295, 1309, 1336, 1371, 1552, 1199, 2461,
     1295, 1327, 1503, 1362, 1034, 1379, 1387,  883, 1395, 1403,
      826,  884,  648, 1501,  850, 1022,  852,  734, 1236,  871,
      903, 1060, 1438, 1424, 1440,  935, 1471, 1439, 1391, 1321,
     1252, 1330, 2461,  929,  927, 1475, 1502, 1537, 1291,  947,
     1483, 1572, 1607, 1481, 1221, 1528,  995, 1563, 1598, 1081,
     1350, 1615, 1071, 1516, 1623, 1420, 1187,   60,  926,  682,
      910,  949,  975, 1188,  976,  931,  955, 1190, 1658, 1644,
     1163, 2461, 2461, 2461, 2461, 2461, 2461, 1679, 1017, 1019,

     1667, 1706, 1050, 1062, 1692, 1708, 1027, 1522, 1418, 1551,
     1704, 1585,  991, 1161, 1208, 1186, 1048,  733,  951, 1216,
     1169, 1353, 1234, 1247, 1267, 1217, 1727, 1733, 1749, 1755,
     2461, 1419, 1274, 1290, 1315, 1337, 1354, 1423, 1097, 1121,
     1454,  950, 1456, 1265,  821, 1442, 1435,  819, 1218, 1466,
     1362, 2461, 1771, 1777, 1793, 1292, 1515,  450, 1518, 1422,
     1467, 1538, 1564, 1573, 1363, 1504, 1465, 1624, 1539,  779,
     1625, 1588, 1799, 1815, 1821, 1687, 1676, 1587, 1137, 1667,
     1589, 1590, 1594, 1692, 1638, 1609, 1646,  735,  686, 1694,
     1722, 1318, 1669, 1837, 1843, 1878, 1883, 1876, 1888, 1068,

     1277, 1554, 1640,  653, 1702, 1743, 1705, 1727, 1718, 1877,
      652,  617, 1381, 1745, 1915, 1942, 1920, 2461, 1934, 1920,
      616, 1744, 1746, 1768, 1766,  578, 1767,  548, 1772, 1790,
     1809, 1794, 1977, 1963, 1985, 2012,  547, 1817, 1811, 1870,
     1871, 1773, 1886, 1813, 1831, 1988, 2023, 2021, 1899, 1930,
     1815, 1931, 1941, 1958,  513, 1982, 2028, 2037, 1983, 2037,
      449, 1791, 1932, 2006,  417, 2045, 2061, 2039,  372,  994,
     1914, 2055, 1933, 2077, 2083, 1980,  334, 2007,  332, 2058,
     2099, 1922, 2056,  289, 2072, 1900,  172, 1965, 2073,   34,
     2461, 2134, 2139, 2150, 2155, 2164, 2171, 2182, 2191, 2196,

     2207, 2219, 2221, 2230, 2235, 2244, 2249, 2258, 2267, 2279,
     2288, 2297, 2302, 2314, 2319, 2330, 2335, 2346, 2357, 2368,
     2373, 2384, 2395, 2400, 2411, 2420, 2431, 2440
    } ;

static yyconst short int yy_def[629] =
    {   0,
      591,    1,    1,    1,    1,    1,  591,  591,  591,  591,
      591,  592,  593,  591,  594,  591,  591,  595,  591,  591,
      591,  591,  591,  596,  591,  597,  597,  597,  591,  591,
      591,  597,  597,  597,  591,  597,  591,  591,  591,  592,
      591,  598,  593,  591,  599,  600,  600,  591,  594,  601,
      591,  591,  591,  591,  596,  597,  597,  597,   21,  602,
      591,  603,  591,   21,  604,  605,  605,  605,  605,  605,
      605,  605,  605,  605,  605,  605,  605,  605,  605,  605,
      591,   23,  606,  607,  607,  607,  607,  607,  607,  607,
      607,  607,  607,  607,  597,  597,  591,  591,  597,  608,

      591,  597,  597,  591,  597,  591,  591,  597,  597,  597,
      597,  591,  592,  592,  592,  592,  598,  591,  600,   47,
      600,  609,   47,  594,  594,  594,  594,  601,  591,  597,
      602,  610,  605,  605,  605,  611,  605,  605,  605,  605,
      605,  605,  605,  605,  605,  605,  605,  605,  605,  605,
      605,  605,  605,  605,  591,  607,  607,  607,  607,  612,
      607,  607,  607,  607,  607,  607,  607,  607,  607,  607,
       96,  597,   96,  591,  597,  597,  613,  591,  597,  597,
      597,  597,  597,  591,  592,  116,  591,  120,  600,  120,
       47,  594,  127,  597,  614,  591,  134,  605,  134,  605,

      605,  605,  605,  605,  605,  605,  605,  591,  607,  158,
      607,  158,  607,  607,  607,  607,  607,  607,  607,  607,
      607,  607,   96,  173,  591,  591,  615,  591,  591,  616,
      597,  591,  116,  591,  120,  190,   47,  127,  597,  614,
      610,  134,  199,  605,  605,  605,  607,  158,  212,  607,
      607,  607,  607,  607,  607,  607,  607,  607,  607,   96,
      173,  591,  617,  591,  591,  591,  616,  616,  618,  619,
      591,  620,  591,  116,  591,  120,  190,   47,  127,  597,
      134,  199,  605,  607,  158,  212,  607,  607,  607,  607,
      607,  607,  607,  607,  607,  607,  607,   96,  173,  591,

      621,  591,  591,  591,  591,  591,  618,  591,  622,  619,
      623,  616,  616,  616,  616,  616,  620,  591,  116,  591,
      120,  190,  600,  127,  597,  134,  199,  607,  158,  212,
      607,  607,  607,  607,  607,  607,  607,  607,  607,  607,
      607,  607,  597,  173,  591,  624,  591,  591,  591,  591,
      591,  591,  591,  618,  618,  618,  618,  622,  619,  619,
      619,  619,  623,  316,  591,  116,  600,  190,  127,  597,
      605,  199,  607,  607,  212,  607,  607,  607,  607,  607,
      607,  607,  607,  607,  607,  607,  607,  607,  597,  591,
      591,  591,  591,  591,  591,  591,  591,  618,  618,  618,

      357,  619,  619,  619,  362,  316,  591,  600,  597,  605,
      607,  607,  607,  607,  607,  607,  607,  607,  607,  607,
      607,  607,  607,  607,  607,  607,  591,  357,  362,  316,
      591,  597,  607,  607,  607,  607,  607,  607,  607,  607,
      607,  607,  607,  607,  607,  607,  607,  607,  607,  607,
      607,  591,  357,  362,  316,  597,  607,  607,  607,  607,
      607,  607,  607,  607,  607,  607,  607,  607,  607,  607,
      607,  607,  357,  362,  316,  625,  607,  607,  607,  607,
      607,  607,  607,  607,  607,  607,  607,  607,  607,  607,
      607,  607,  607,  357,  362,  625,  496,  626,  627,  607,

      607,  607,  607,  607,  607,  607,  607,  607,  607,  607,
      607,  607,  607,  607,  627,  627,  591,  591,  627,  628,
      607,  607,  607,  607,  607,  607,  607,  607,  607,  607,
      607,  607,  627,  516,  627,  516,  607,  607,  607,  607,
      607,  607,  607,  607,  607,  516,  627,  536,  607,  607,
      607,  607,  607,  607,  607,  607,  516,  536,  607,  607,
      607,  607,  607,  607,  607,  516,  536,  607,  607,  607,
      607,  607,  607,  516,  536,  607,  607,  607,  607,  607,
      536,  607,  607,  607,  607,  607,  607,  607,  607,  607,
        0,  591,  591,  591,  591,  591,  591,  591,  591,  591,

      591,  591,  591,  591,  591,  591,  591,  591,  591,  591,
      591,  591,  591,  591,  591,  591,  591,  591,  591,  591,
      591,  591,  591,  591,  591,  591,  591,  591
    } ;

static yyconst short int yy_nxt[2522] =
    {   0,
        8,    9,   10,    9,    9,    9,   11,   12,   13,   14,
        8,    8,   15,    8,    8,   16,   17,   18,   19,   20,
       21,    8,   22,    8,    8,    8,   23,   24,   25,   26,
       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
       26,   26,   26,   27,   26,   26,   26,   26,   26,   26,
       28,   26,   26,   26,   26,   26,    8,   29,   30,   26,
       31,  160,   31,   37,   37,   37,   37,   37,   41,   32,
       52,   32,   37,   37,   37,   37,   37,   38,   38,   38,
       38,   38,   33,   34,   33,   34,   43,  160,   42,   44,
       41,   41,  416,   53,   98,   35,   45,   35,   98,   47,

       47,   47,   47,   47,   47,   50,   54,   96,  100,   52,
       98,   42,  100,  104,   39,   98,   55,   96,   96,   96,
       96,   96,   96,   98,  100,   98,  101,  102,  108,  100,
      591,   41,   57,  591,   52,  101,  101,  100,  136,  100,
       45,   58,   61,  136,  105,  110,   50,  201,  136,   62,
       63,  136,   64,  137,  103,  139,  111,   53,  138,   65,
      136,   66,   67,   67,   68,   69,   70,   67,   71,   72,
       73,   67,   74,   67,   75,   76,   67,   77,   67,   78,
       79,   80,   67,   67,   67,   67,   67,   67,  143,   98,
      136,   67,   82,   37,   37,   37,   37,   37,  160,  160,

      145,  167,   83,  100,   84,   84,   85,   86,   84,   84,
       87,   84,   84,   88,   84,   84,   89,   90,   91,   84,
       92,   84,   93,   84,   94,   84,   84,   84,   84,   84,
       84,  136,   98,  160,   84,  101,  102,   38,   38,   38,
       38,   38,  118,  136,  136,   98,  100,   98,  101,  102,
      161,  142,  118,  118,  118,  118,  118,  118,  120,  100,
      144,  100,  591,  109,   59,   98,  154,  136,  120,  120,
      120,  120,  120,  120,   39,   40,   40,   40,  113,  100,
      160,  115,  140,  136,  160,  123,  130,   67,  160,  205,
      162,  165,  122,  141,  116,  123,  123,  123,  123,  123,

      123,  117,  136,  164,  116,  116,  116,  116,  116,  116,
       49,   49,   49,  124,  101,  148,  160,  146,   41,  136,
       96,  126,  152,  147,  160,  136,  153,  168,  160,  127,
       96,   96,   96,   96,   96,   96,  128,  134,   42,  127,
      127,  127,  127,  127,  127,  163,  160,  134,  134,  134,
      134,  134,  134,  136,  158,  160,  160,  169,  149,  160,
       98,  160,  166,   98,  158,  158,  158,  158,  158,  158,
      175,  173,   41,  170,  100,  150,   98,  100,   98,  151,
      591,  173,  173,  173,  173,  173,  173,   50,   98,   98,
      100,  160,  100,   98,   84,   84,  180,   98,   84,  160,

      160,   84,  100,  100,   84,   84,   84,  100,   84,   41,
       84,  100,   84,  213,  176,  156,   95,   95,   95,   95,
       95,  179,  250,  183,  181,  182,  177,   40,   98,   42,
      132,  178,   41,   49,  196,  171,  177,  177,  177,  177,
      177,  177,  100,   41,  160,  171,  171,  171,  171,  171,
      171,  187,   42,  114,  185,  185,  185,  114,   50,   41,
       41,  187,  187,  187,  187,  187,  187,  136,  160,  136,
      202,  214,  186,  204,  136,   50,  160,  160,   98,   42,
      136,  136,  186,  186,  186,  186,  186,  186,   40,   40,
       40,  113,  100,  200,  115,  160,  194,  203,  190,  160,

      136,  207,  209,  160,  479,  218,  292,  116,  190,  190,
      190,  190,  190,  190,  117,  206,  160,  116,  116,  116,
      116,  116,  116,  119,  119,  119,  119,  119,  160,  160,
      160,  160,  215,  191,  136,  160,  217,   98,  220,  221,
      160,  244,  188,  191,  191,  191,  191,  191,  191,  216,
      219,  100,  188,  188,  188,  188,  188,  188,  125,  192,
      192,  192,  125,  226,  136,  160,  204,  160,  199,   41,
      245,  228,  225,  136,  160,  160,  255,  193,  199,  199,
      199,  199,  199,  199,   50,  222,  100,  193,  193,  193,
      193,  193,  193,   49,   49,   49,  124,  230,  160,  160,

      259,  160,  247,  212,  126,  160,   98,  225,  256,  258,
      160,  100,  127,  212,  212,  212,  212,  212,  212,  128,
      100,  100,  127,  127,  127,  127,  127,  127,  133,  133,
      133,  133,  133,  160,  226,  241,   41,  226,  223,  196,
      257,   98,  264,  160,  160,  302,  160,  197,  223,  223,
      223,  223,  223,  223,  136,  100,   42,  197,  197,  197,
      197,  197,  197,  157,  157,  157,  157,  157,  252,   98,
       98,   41,  136,  160,  160,  160,  175,   98,  378,  160,
      160,  160,  210,  100,  100,  160,   50,  284,  246,  160,
      253,  100,  210,  210,  210,  210,  210,  210,  172,  172,

      172,  172,  172,  254,  239,  251,  289,  160,  233,  160,
      136,  231,   98,  160,  332,  418,  160,  224,  233,  233,
      233,  233,  233,  233,  234,  283,  100,  224,  224,  224,
      224,  224,  224,  235,  234,  234,  234,  234,  234,  234,
       98,  160,  160,  235,  235,  235,  235,  235,  235,  189,
      189,  189,  189,  189,  100,  160,  160,  291,  287,  237,
      160,  160,  160,  288,  382,  280,  444,  160,  236,  237,
      237,  237,  237,  237,  237,  238,  290,  294,  236,  236,
      236,  236,  236,  236,  242,  238,  238,  238,  238,  238,
      238,  160,  308,  308,  242,  242,  242,  242,  242,  242,

      198,  198,  198,  198,  198,  160,  160,  311,  160,  160,
      248,  160,  293,  309,   98,  340,  328,  333,  160,  243,
      248,  248,  248,  248,  248,  248,  331,  308,  100,  243,
      243,  243,  243,  243,  243,  211,  211,  211,  211,  211,
      334,  339,  160,  376,  160,  260,  160,  309,  160,  341,
      325,  160,  160,  160,  249,  260,  260,  260,  260,  260,
      260,  261,  338,  342,  249,  249,  249,  249,  249,  249,
      262,  261,  261,  261,  261,  261,  261,  160,  308,  160,
      262,  262,  262,  262,  262,  262,  267,  267,  267,  267,
      267,  274,  269,  311,  379,  160,  381,  270,  160,  271,

      295,  274,  274,  274,  274,  274,  274,  275,  226,  296,
      160,  160,  272,  276,  386,  297,  347,  275,  275,  275,
      275,  275,  275,  276,  276,  276,  276,  276,  276,  277,
      160,  307,  373,  377,  308,  278,  308,  160,  387,  277,
      277,  277,  277,  277,  277,  278,  278,  278,  278,  278,
      278,  279,  226,  160,  309,  419,  309,  281,  160,  308,
      392,  279,  279,  279,  279,  279,  279,  281,  281,  281,
      281,  281,  281,  282,  311,  417,  160,  160,  160,  285,
      424,  420,  160,  282,  282,  282,  282,  282,  282,  285,
      285,  285,  285,  285,  285,  286,  119,  119,  119,  119,

      119,  298,  160,  160,  425,  286,  286,  286,  286,  286,
      286,  298,  298,  298,  298,  298,  298,  299,  160,  421,
      423,  160,  122,  300,  308,  439,  308,  299,  299,  299,
      299,  299,  299,  300,  300,  300,  300,  300,  300,  267,
      267,  267,  267,  267,  309,  269,  309,   98,  577,  160,
      270,  370,  271,  306,  306,  306,  306,  306,  319,  591,
      380,  100,  308,  160,  591,  272,  271,  335,  319,  319,
      319,  319,  319,  319,  308,  160,  431,  311,  336,  272,
      306,  306,  306,  306,  312,  337,  314,  160,  411,  311,
      320,  314,  314,  315,   98,  160,  388,  443,  160,  316,

      320,  320,  320,  320,  320,  320,  317,  321,  100,  316,
      316,  316,  316,  316,  316,  322,  521,  321,  321,  321,
      321,  321,  321,  323,  160,  322,  322,  322,  322,  322,
      322,  324,  409,  323,  323,  323,  323,  323,  323,  326,
      463,  324,  324,  324,  324,  324,  324,  327,  160,  326,
      326,  326,  326,  326,  326,  329,  464,  327,  327,  327,
      327,  327,  327,  330,  160,  329,  329,  329,  329,  329,
      329,  343,  502,  330,  330,  330,  330,  330,  330,  344,
      226,  343,  343,  343,  343,  343,  343,  345,  160,  344,
      344,  344,  344,  344,  344,  440,  160,  345,  345,  345,

      345,  345,  345,  306,  306,  306,  306,  306,  352,  352,
      352,  352,  352,  160,  160,  160,  271,  160,  446,  366,
      442,  353,  307,  307,  307,  354,  422,  426,  356,  366,
      366,  366,  366,  366,  366,  160,  306,  306,  306,  306,
      306,  357,  591,  160,  160,  160,  441,  591,  358,  271,
      445,  357,  357,  357,  357,  357,  357,  310,  310,  310,
      359,  160,  272,  160,  407,  470,  451,  383,  361,  306,
      306,  306,  306,  306,  160,  591,  362,  397,  384,  448,
      591,  449,  271,  363,  450,  385,  362,  362,  362,  362,
      362,  362,  160,  310,  160,  272,  306,  306,  306,  306,

      306,  160,  591,  308,  160,  476,  467,  591,  457,  271,
      306,  306,  306,  306,  306,  367,  591,  160,  311,  100,
      522,  591,  272,  271,  458,  367,  367,  367,  367,  367,
      367,  352,  352,  352,  352,  352,  272,  312,  312,  312,
      312,  312,  160,  591,  353,  160,  396,  368,  591,  459,
      271,  133,  133,  133,  133,  133,  364,  368,  368,  368,
      368,  368,  368,  272,  160,  513,  364,  364,  364,  364,
      364,  364,  306,  306,  306,  306,  312,  136,  314,  472,
      160,  160,  369,  314,  314,  315,  447,  460,  461,  160,
      160,  316,  369,  369,  369,  369,  369,  369,  317,  371,

      487,  316,  316,  316,  316,  316,  316,  372,  160,  371,
      371,  371,  371,  371,  371,  374,  395,  372,  372,  372,
      372,  372,  372,  375,  531,  374,  374,  374,  374,  374,
      374,   98,   98,  375,  375,  375,  375,  375,  375,   95,
       95,   95,   95,   95,  389,  100,  100,  160,  432,  160,
      160,   98,  413,  462,  389,  389,  389,  389,  389,  389,
      390,  414,  160,  481,  394,  100,  456,  415,  469,  160,
      390,  390,  390,  390,  390,  390,  398,  352,  352,  352,
      398,  160,  308,  160,  402,  352,  352,  352,  402,  399,
      465,  468,  160,  160,  160,  308,  393,  403,  471,  489,

      466,  406,  309,  355,  400,  400,  400,  355,  482,  308,
      311,  406,  406,  406,  406,  406,  406,  157,  157,  157,
      157,  157,  401,  189,  189,  189,  189,  189,  160,  309,
      122,  160,  401,  401,  401,  401,  401,  401,  307,  307,
      307,  354,  160,  160,  356,  160,  488,  477,   40,  122,
      478,  480,  198,  198,  198,  198,  198,  357,   40,   40,
       40,   40,   40,   40,  358,  160,  160,  357,  357,  357,
      357,  357,  357,  360,  404,  404,  404,  360,  136,  483,
      491,  160,  365,  408,  308,  484,  211,  211,  211,  211,
      211,  160,  405,  408,  408,  408,  408,  408,  408,  311,

      160,  523,  405,  405,  405,  405,  405,  405,  310,  310,
      310,  359,  160,  485,  160,  160,  160,  160,   49,  361,
      493,  160,  486,  504,  505,  501,  509,  362,   49,   49,
       49,   49,   49,   49,  363,  410,  160,  362,  362,  362,
      362,  362,  362,  412,  506,  410,  410,  410,  410,  410,
      410,  160,  160,  412,  412,  412,  412,  412,  412,  172,
      172,  172,  172,  172,  427,  160,  351,  160,  490,  492,
      524,   98,  508,  160,  427,  427,  427,  427,  427,  427,
      398,  352,  352,  352,  398,  100,  308,  428,  496,  496,
      496,  496,  496,  399,  160,  510,  160,  428,  428,  428,

      428,  428,  428,  160,  497,  503,  309,  402,  352,  352,
      352,  402,  429,  514,  498,  350,  349,  500,  308,  160,
      403,  160,  429,  429,  429,  429,  429,  429,  430,  160,
      507,  160,  160,  311,  525,  527,  511,  433,  430,  430,
      430,  430,  430,  430,  434,  160,  435,  452,  348,  160,
      529,  436,  437,  453,  160,  438,  512,  452,  452,  452,
      452,  452,  452,  453,  453,  453,  453,  453,  453,  454,
      160,  160,  160,  160,  528,  455,  538,  526,  537,  454,
      454,  454,  454,  454,  454,  455,  455,  455,  455,  455,
      455,  473,  532,  160,  160,  160,  160,  474,  541,  160,

      160,  473,  473,  473,  473,  473,  473,  474,  474,  474,
      474,  474,  474,  475,  539,  540,  542,  160,  160,  494,
      553,  160,  543,  475,  475,  475,  475,  475,  475,  494,
      494,  494,  494,  494,  494,  495,  160,  545,  160,  571,
      160,  268,  160,  544,  160,  495,  495,  495,  495,  495,
      495,  268,  268,  268,  268,  268,  268,  307,  160,  549,
      555,  550,  561,  310,  136,  556,  318,  307,  307,  307,
      307,  307,  307,  310,  310,  310,  310,  310,  310,  496,
      496,  496,  496,  496,  591,  591,  591,  591,  591,  517,
      517,  517,  517,  517,  530,  497,  516,  160,  160,  305,

      591,  304,  518,  303,  160,  498,  516,  516,  516,  516,
      516,  516,  552,  160,  551,  520,  517,  517,  517,  517,
      517,  517,  517,  517,  517,  517,  160,  160,  160,  518,
      554,  578,  588,  559,  518,  517,  517,  517,  517,  517,
      536,  160,  520,  533,  533,  533,  533,  533,  518,  160,
      536,  536,  536,  536,  536,  536,  518,  160,  160,  160,
      160,  520,  534,  585,  560,  562,  572,  580,  160,  520,
      136,  136,  534,  534,  534,  534,  534,  534,  517,  517,
      517,  517,  517,  546,  563,  160,  517,  517,  517,  517,
      517,  518,  160,  546,  546,  546,  546,  546,  546,  518,

      568,  241,  273,  266,  520,  564,  589,  160,  557,  160,
      160,  265,  520,  547,  547,  547,  547,  547,  557,  557,
      557,  557,  557,  557,  517,  517,  517,  517,  517,  565,
      582,  569,  548,  160,  160,  160,  136,  518,  136,  136,
      583,  558,  548,  548,  548,  548,  548,  548,  566,  573,
      520,  558,  558,  558,  558,  558,  558,  567,  566,  566,
      566,  566,  566,  566,  160,  574,  160,  567,  567,  567,
      567,  567,  567,  136,  136,  574,  574,  574,  574,  574,
      574,  575,  160,  160,  570,  160,  576,  241,  122,  232,
      586,  575,  575,  575,  575,  575,  575,  519,  229,  160,

      160,  174,  579,  581,  160,  584,  587,  519,  519,  519,
      519,  519,  519,  581,  581,  581,  581,  581,  581,  519,
      160,  590,  208,  136,  136,  136,  136,  136,  136,  519,
      519,  519,  519,  519,  519,   40,  136,   40,   40,   40,
       40,   40,   40,   40,   40,   40,   46,   46,  136,   46,
       46,   49,  136,   49,   49,   49,   49,   49,   49,   49,
       49,   49,   56,   56,  136,   56,   56,   95,   95,   95,
       95,   95,   95,   95,   95,   95,   99,  136,   99,   99,
      136,   99,   99,  114,  114,  114,  114,  114,  114,  114,
      114,  114,  114,  114,  119,  119,  119,  119,  119,  119,

      119,  119,  119,  121,  121,  132,  121,  121,  125,  125,
      125,  125,  125,  125,  125,  125,  125,  125,  125,  131,
      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
      131,   67,   67,  133,  133,  133,  133,  133,  133,  133,
      133,  133,  135,  135,  122,  135,  135,  157,  157,  157,
      157,  157,  157,  157,  157,  157,  159,  159,  122,  159,
      159,  172,  172,  172,  172,  172,  172,  172,  172,  172,
      189,  189,  189,  189,  189,  189,  189,  189,  189,  195,
      195,  195,  195,  195,  195,  195,  195,  195,  195,  195,
      195,  198,  198,  198,  198,  198,  198,  198,  198,  198,

      211,  211,  211,  211,  211,  211,  211,  211,  211,  227,
      227,  227,  184,  227,  240,  240,  240,  240,  240,  240,
      240,  240,  240,  240,  240,  240,  263,  263,  263,  174,
      263,  268,  268,  268,  268,  160,  268,  268,  268,  268,
      268,  268,  301,  301,  301,  155,  301,  307,  136,  307,
      307,  307,  307,  307,  307,  307,  307,  307,  310,  136,
      310,  310,  310,  310,  310,  310,  310,  310,  310,  313,
      313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
      346,  346,  346,   59,  346,  355,  355,  355,  355,  355,
      355,  355,  355,  355,  355,  355,  360,  360,  360,  360,

      360,  360,  360,  360,  360,  360,  360,  391,  391,  391,
       65,  391,  499,  499,  499,   61,  132,  129,  499,  122,
      112,  499,  499,  515,  515,  515,  515,  515,  515,  515,
      515,  515,  519,  519,  519,  107,  106,  519,  519,  519,
       97,  519,  519,  535,  535,  535,  535,  535,  535,  535,
      535,  535,   81,   60,   59,   51,   48,  591,   36,   36,
        7,  591,  591,  591,  591,  591,  591,  591,  591,  591,
      591,  591,  591,  591,  591,  591,  591,  591,  591,  591,
      591,  591,  591,  591,  591,  591,  591,  591,  591,  591,
      591,  591,  591,  591,  591,  591,  591,  591,  591,  591,

      591,  591,  591,  591,  591,  591,  591,  591,  591,  591,
      591,  591,  591,  591,  591,  591,  591,  591,  591,  591,
      591
    } ;

static yyconst short int yy_chk[2522] =
    {   0,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        3,  590,    4,    9,    9,    9,    9,    9,   12,    3,
       17,    4,   10,   10,   10,   10,   10,   11,   11,   11,
       11,   11,    3,    3,    4,    4,   13,  378,   12,   13,
       15,   40,  378,   17,   26,    3,   13,    4,   32,   13,

       13,   13,   13,   13,   13,   15,   18,   24,   26,   18,
       28,   40,   32,   28,   11,   34,   18,   24,   24,   24,
       24,   24,   24,   27,   28,   36,   27,   27,   32,   34,
       43,   49,   18,   43,   52,   53,   53,   27,  139,   36,
       43,   18,   21,   68,   28,   34,   49,  139,   69,   21,
       21,   66,   21,   66,   27,   69,   36,   52,   68,   21,
       72,   21,   21,   21,   21,   21,   21,   21,   21,   21,
       21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
       21,   21,   21,   21,   21,   21,   21,   21,   72,   56,
       74,   21,   23,   37,   37,   37,   37,   37,   91,  587,

       74,   91,   23,   56,   23,   23,   23,   23,   23,   23,
       23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
       23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
       23,   71,   33,   85,   23,   33,   33,   38,   38,   38,
       38,   38,   44,   80,   73,   57,   33,   95,   57,   57,
       85,   71,   44,   44,   44,   44,   44,   44,   45,   57,
       73,   95,   59,   33,   59,   58,   80,   70,   45,   45,
       45,   45,   45,   45,   38,   42,   42,   42,   42,   58,
       86,   42,   70,  152,   89,   47,   58,   59,   88,  152,
       86,   89,   47,   70,   42,   47,   47,   47,   47,   47,

       47,   42,   75,   88,   42,   42,   42,   42,   42,   42,
       50,   50,   50,   50,   76,   76,  584,   75,  114,   78,
       55,   50,   78,   75,   92,   76,   78,   92,   87,   50,
       55,   55,   55,   55,   55,   55,   50,   65,  114,   50,
       50,   50,   50,   50,   50,   87,   93,   65,   65,   65,
       65,   65,   65,   77,   83,   90,   94,   93,   77,  579,
       99,  577,   90,  102,   83,   83,   83,   83,   83,   83,
      102,  100,  125,   94,   99,   77,  108,  102,  103,   77,
       82,  100,  100,  100,  100,  100,  100,  125,  109,  111,
      108,  161,  103,  105,   82,   82,  108,  110,   82,  569,

      213,   82,  109,  111,   82,   82,   82,  105,   82,  115,
       82,  110,   82,  161,  103,   82,   96,   96,   96,   96,
       96,  105,  213,  111,  109,  110,  104,  113,   96,  115,
      132,  104,  113,  124,  132,   96,  104,  104,  104,  104,
      104,  104,   96,  124,  565,   96,   96,   96,   96,   96,
       96,  118,  113,  116,  116,  116,  116,  116,  124,  116,
      126,  118,  118,  118,  118,  118,  118,  142,  162,  145,
      142,  162,  116,  148,  137,  126,  561,  458,  130,  116,
      148,  154,  116,  116,  116,  116,  116,  116,  117,  117,
      117,  117,  130,  137,  117,  156,  130,  145,  122,  166,

      153,  154,  156,  255,  458,  166,  255,  117,  122,  122,
      122,  122,  122,  122,  117,  153,  163,  117,  117,  117,
      117,  117,  117,  120,  120,  120,  120,  120,  165,  168,
      169,  164,  163,  123,  200,  167,  165,  172,  168,  169,
      555,  200,  120,  123,  123,  123,  123,  123,  123,  164,
      167,  172,  120,  120,  120,  120,  120,  120,  127,  127,
      127,  127,  127,  177,  202,  218,  204,  170,  136,  127,
      202,  177,  176,  204,  537,  528,  218,  127,  136,  136,
      136,  136,  136,  136,  127,  170,  176,  127,  127,  127,
      127,  127,  127,  128,  128,  128,  128,  179,  209,  221,

      222,  219,  209,  160,  128,  526,  180,  181,  219,  221,
      222,  179,  128,  160,  160,  160,  160,  160,  160,  128,
      180,  181,  128,  128,  128,  128,  128,  128,  134,  134,
      134,  134,  134,  220,  227,  241,  185,  263,  171,  241,
      220,  183,  227,  521,  512,  263,  215,  134,  171,  171,
      171,  171,  171,  171,  134,  183,  185,  134,  134,  134,
      134,  134,  134,  158,  158,  158,  158,  158,  215,  175,
      182,  192,  207,  216,  247,  333,  175,  194,  333,  511,
      504,  217,  158,  175,  182,  214,  192,  247,  207,  158,
      216,  194,  158,  158,  158,  158,  158,  158,  173,  173,

      173,  173,  173,  217,  194,  214,  252,  288,  186,  380,
      244,  182,  231,  489,  288,  380,  252,  173,  186,  186,
      186,  186,  186,  186,  187,  244,  231,  173,  173,  173,
      173,  173,  173,  188,  187,  187,  187,  187,  187,  187,
      239,  250,  251,  188,  188,  188,  188,  188,  188,  190,
      190,  190,  190,  190,  239,  258,  253,  254,  250,  191,
      418,  338,  488,  251,  338,  239,  418,  254,  190,  191,
      191,  191,  191,  191,  191,  193,  253,  258,  190,  190,
      190,  190,  190,  190,  197,  193,  193,  193,  193,  193,
      193,  256,  270,  269,  197,  197,  197,  197,  197,  197,

      199,  199,  199,  199,  199,  284,  470,  270,  295,  289,
      210,  287,  256,  269,  280,  295,  284,  289,  290,  199,
      210,  210,  210,  210,  210,  210,  287,  307,  280,  199,
      199,  199,  199,  199,  199,  212,  212,  212,  212,  212,
      290,  294,  296,  331,  293,  223,  448,  307,  445,  296,
      280,  294,  297,  331,  212,  223,  223,  223,  223,  223,
      223,  224,  293,  297,  212,  212,  212,  212,  212,  212,
      226,  224,  224,  224,  224,  224,  224,  335,  310,  337,
      226,  226,  226,  226,  226,  226,  230,  230,  230,  230,
      230,  233,  230,  310,  335,  259,  337,  230,  340,  230,

      259,  233,  233,  233,  233,  233,  233,  234,  301,  259,
      328,  332,  230,  235,  340,  259,  301,  234,  234,  234,
      234,  234,  234,  235,  235,  235,  235,  235,  235,  236,
      341,  354,  328,  332,  355,  237,  354,  381,  341,  236,
      236,  236,  236,  236,  236,  237,  237,  237,  237,  237,
      237,  238,  346,  379,  355,  381,  354,  242,  386,  360,
      346,  238,  238,  238,  238,  238,  238,  242,  242,  242,
      242,  242,  242,  243,  360,  379,  382,  442,  419,  248,
      386,  382,  387,  243,  243,  243,  243,  243,  243,  248,
      248,  248,  248,  248,  248,  249,  367,  367,  367,  367,

      367,  260,  383,  385,  387,  249,  249,  249,  249,  249,
      249,  260,  260,  260,  260,  260,  260,  261,  413,  383,
      385,  570,  367,  262,  399,  413,  400,  261,  261,  261,
      261,  261,  261,  262,  262,  262,  262,  262,  262,  267,
      267,  267,  267,  267,  399,  267,  400,  325,  570,  336,
      267,  325,  267,  268,  268,  268,  268,  268,  274,  268,
      336,  325,  403,  291,  268,  267,  268,  291,  274,  274,
      274,  274,  274,  274,  404,  417,  407,  403,  291,  268,
      272,  272,  272,  272,  272,  291,  272,  342,  373,  404,
      275,  272,  272,  272,  370,  500,  342,  417,  373,  272,

      275,  275,  275,  275,  275,  275,  272,  276,  370,  272,
      272,  272,  272,  272,  272,  277,  500,  276,  276,  276,
      276,  276,  276,  278,  439,  277,  277,  277,  277,  277,
      277,  279,  370,  278,  278,  278,  278,  278,  278,  281,
      439,  279,  279,  279,  279,  279,  279,  282,  440,  281,
      281,  281,  281,  281,  281,  285,  440,  282,  282,  282,
      282,  282,  282,  286,  479,  285,  285,  285,  285,  285,
      285,  298,  479,  286,  286,  286,  286,  286,  286,  299,
      391,  298,  298,  298,  298,  298,  298,  300,  414,  299,
      299,  299,  299,  299,  299,  414,  421,  300,  300,  300,

      300,  300,  300,  306,  306,  306,  306,  306,  308,  308,
      308,  308,  308,  416,  377,  384,  306,  388,  421,  319,
      416,  308,  309,  309,  309,  309,  384,  388,  309,  319,
      319,  319,  319,  319,  319,  415,  312,  312,  312,  312,
      312,  309,  312,  420,  426,  449,  415,  312,  309,  312,
      420,  309,  309,  309,  309,  309,  309,  311,  311,  311,
      311,  423,  312,  339,  365,  449,  426,  339,  311,  313,
      313,  313,  313,  313,  424,  313,  311,  351,  339,  423,
      313,  424,  313,  311,  425,  339,  311,  311,  311,  311,
      311,  311,  444,  359,  425,  313,  314,  314,  314,  314,

      314,  433,  314,  359,  501,  456,  444,  314,  433,  314,
      315,  315,  315,  315,  315,  321,  315,  434,  359,  456,
      501,  315,  314,  315,  434,  321,  321,  321,  321,  321,
      321,  352,  352,  352,  352,  352,  315,  316,  316,  316,
      316,  316,  435,  316,  352,  492,  350,  322,  316,  435,
      316,  371,  371,  371,  371,  371,  316,  322,  322,  322,
      322,  322,  322,  316,  436,  492,  316,  316,  316,  316,
      316,  316,  317,  317,  317,  317,  317,  371,  317,  451,
      422,  437,  324,  317,  317,  317,  422,  436,  437,  451,
      465,  317,  324,  324,  324,  324,  324,  324,  317,  326,

      465,  317,  317,  317,  317,  317,  317,  327,  513,  326,
      326,  326,  326,  326,  326,  329,  349,  327,  327,  327,
      327,  327,  327,  330,  513,  329,  329,  329,  329,  329,
      329,  409,  432,  330,  330,  330,  330,  330,  330,  343,
      343,  343,  343,  343,  344,  409,  432,  376,  409,  460,
      438,  343,  376,  438,  344,  344,  344,  344,  344,  344,
      345,  376,  447,  460,  348,  343,  432,  376,  447,  446,
      345,  345,  345,  345,  345,  345,  356,  356,  356,  356,
      356,  441,  356,  443,  361,  361,  361,  361,  361,  356,
      441,  446,  467,  450,  461,  361,  347,  361,  450,  467,

      443,  364,  356,  357,  357,  357,  357,  357,  461,  357,
      361,  364,  364,  364,  364,  364,  364,  374,  374,  374,
      374,  374,  357,  408,  408,  408,  408,  408,  334,  357,
      323,  466,  357,  357,  357,  357,  357,  357,  358,  358,
      358,  358,  457,  374,  358,  459,  466,  457,  366,  408,
      457,  459,  410,  410,  410,  410,  410,  358,  366,  366,
      366,  366,  366,  366,  358,  462,  469,  358,  358,  358,
      358,  358,  358,  362,  362,  362,  362,  362,  410,  462,
      469,  502,  318,  368,  362,  462,  412,  412,  412,  412,
      412,  463,  362,  368,  368,  368,  368,  368,  368,  362,

      464,  502,  362,  362,  362,  362,  362,  362,  363,  363,
      363,  363,  412,  463,  478,  472,  481,  482,  369,  363,
      472,  483,  464,  481,  482,  478,  486,  363,  369,  369,
      369,  369,  369,  369,  363,  372,  486,  363,  363,  363,
      363,  363,  363,  375,  483,  372,  372,  372,  372,  372,
      372,  468,  471,  375,  375,  375,  375,  375,  375,  389,
      389,  389,  389,  389,  390,  485,  305,  503,  468,  471,
      503,  389,  485,  487,  390,  390,  390,  390,  390,  390,
      398,  398,  398,  398,  398,  389,  398,  401,  476,  476,
      476,  476,  476,  398,  480,  487,  493,  401,  401,  401,

      401,  401,  401,  477,  476,  480,  398,  402,  402,  402,
      402,  402,  405,  493,  476,  304,  303,  477,  402,  484,
      402,  490,  405,  405,  405,  405,  405,  405,  406,  505,
      484,  411,  507,  402,  505,  507,  490,  411,  406,  406,
      406,  406,  406,  406,  411,  509,  411,  427,  302,  491,
      509,  411,  411,  428,  508,  411,  491,  427,  427,  427,
      427,  427,  427,  428,  428,  428,  428,  428,  428,  429,
      506,  522,  514,  523,  508,  430,  523,  506,  522,  429,
      429,  429,  429,  429,  429,  430,  430,  430,  430,  430,
      430,  453,  514,  525,  527,  524,  292,  454,  527,  529,

      542,  453,  453,  453,  453,  453,  453,  454,  454,  454,
      454,  454,  454,  455,  524,  525,  529,  530,  562,  473,
      542,  532,  530,  455,  455,  455,  455,  455,  455,  473,
      473,  473,  473,  473,  473,  474,  531,  532,  539,  562,
      544,  475,  551,  531,  538,  474,  474,  474,  474,  474,
      474,  475,  475,  475,  475,  475,  475,  494,  545,  538,
      544,  539,  551,  495,  283,  545,  273,  494,  494,  494,
      494,  494,  494,  495,  495,  495,  495,  495,  495,  496,
      496,  496,  496,  496,  497,  497,  497,  497,  497,  499,
      499,  499,  499,  499,  510,  496,  498,  540,  541,  266,

      497,  265,  499,  264,  510,  496,  498,  498,  498,  498,
      498,  498,  541,  543,  540,  499,  515,  515,  515,  515,
      515,  517,  517,  517,  517,  517,  549,  586,  257,  515,
      543,  571,  586,  549,  517,  519,  519,  519,  519,  519,
      520,  571,  515,  516,  516,  516,  516,  516,  519,  582,
      520,  520,  520,  520,  520,  520,  516,  550,  552,  563,
      573,  519,  516,  582,  550,  552,  563,  573,  553,  516,
      246,  245,  516,  516,  516,  516,  516,  516,  533,  533,
      533,  533,  533,  534,  553,  554,  535,  535,  535,  535,
      535,  533,  588,  534,  534,  534,  534,  534,  534,  535,

      559,  240,  232,  229,  533,  554,  588,  576,  546,  556,
      559,  228,  535,  536,  536,  536,  536,  536,  546,  546,
      546,  546,  546,  546,  547,  547,  547,  547,  547,  556,
      576,  559,  536,  564,  578,  211,  206,  547,  205,  203,
      578,  548,  536,  536,  536,  536,  536,  536,  557,  564,
      547,  548,  548,  548,  548,  548,  548,  558,  557,  557,
      557,  557,  557,  557,  560,  566,  568,  558,  558,  558,
      558,  558,  558,  201,  198,  566,  566,  566,  566,  566,
      566,  567,  572,  583,  560,  580,  568,  195,  189,  184,
      583,  567,  567,  567,  567,  567,  567,  574,  178,  585,

      589,  174,  572,  575,  159,  580,  585,  574,  574,  574,
      574,  574,  574,  575,  575,  575,  575,  575,  575,  581,
      157,  589,  155,  151,  150,  149,  147,  146,  144,  581,
      581,  581,  581,  581,  581,  592,  143,  592,  592,  592,
      592,  592,  592,  592,  592,  592,  593,  593,  141,  593,
      593,  594,  140,  594,  594,  594,  594,  594,  594,  594,
      594,  594,  595,  595,  138,  595,  595,  596,  596,  596,
      596,  596,  596,  596,  596,  596,  597,  135,  597,  597,
      133,  597,  597,  598,  598,  598,  598,  598,  598,  598,
      598,  598,  598,  598,  599,  599,  599,  599,  599,  599,

      599,  599,  599,  600,  600,  131,  600,  600,  601,  601,
      601,  601,  601,  601,  601,  601,  601,  601,  601,  602,
      602,  602,  602,  602,  602,  602,  602,  602,  602,  602,
      602,  603,  603,  604,  604,  604,  604,  604,  604,  604,
      604,  604,  605,  605,  121,  605,  605,  606,  606,  606,
      606,  606,  606,  606,  606,  606,  607,  607,  119,  607,
      607,  608,  608,  608,  608,  608,  608,  608,  608,  608,
      609,  609,  609,  609,  609,  609,  609,  609,  609,  610,
      610,  610,  610,  610,  610,  610,  610,  610,  610,  610,
      610,  611,  611,  611,  611,  611,  611,  611,  611,  611,

      612,  612,  612,  612,  612,  612,  612,  612,  612,  613,
      613,  613,  112,  613,  614,  614,  614,  614,  614,  614,
      614,  614,  614,  614,  614,  614,  615,  615,  615,  101,
      615,  616,  616,  616,  616,   84,  616,  616,  616,  616,
      616,  616,  617,  617,  617,   81,  617,  618,   79,  618,
      618,  618,  618,  618,  618,  618,  618,  618,  619,   67,
      619,  619,  619,  619,  619,  619,  619,  619,  619,  620,
      620,  620,  620,  620,  620,  620,  620,  620,  620,  620,
      621,  621,  621,   63,  621,  622,  622,  622,  622,  622,
      622,  622,  622,  622,  622,  622,  623,  623,  623,  623,

      623,  623,  623,  623,  623,  623,  623,  624,  624,  624,
       62,  624,  625,  625,  625,   61,   60,   54,  625,   46,
       39,  625,  625,  626,  626,  626,  626,  626,  626,  626,
      626,  626,  627,  627,  627,   30,   29,  627,  627,  627,
       25,  627,  627,  628,  628,  628,  628,  628,  628,  628,
      628,  628,   22,   20,   19,   16,   14,    7,    6,    5,
      591,  591,  591,  591,  591,  591,  591,  591,  591,  591,
      591,  591,  591,  591,  591,  591,  591,  591,  591,  591,
      591,  591,  591,  591,  591,  591,  591,  591,  591,  591,
      591,  591,  591,  591,  591,  591,  591,  591,  591,  591,

      591,  591,  591,  591,  591,  591,  591,  591,  591,  591,
      591,  591,  591,  591,  591,  591,  591,  591,  591,  591,
      591
    } ;

#line 1 "<stdin>"
#define INITIAL 0
#define YY_STACK_USED 1
#define mediaquery 1
YY_DECL
	{
	register yy_state_type yy_current_state;
	register UChar *yy_cp, *yy_bp;
	register int yy_act;
	while ( 1 )		/* loops until end-of-file is reached */
		{
		yy_cp = yy_c_buf_p;

		/* Support of yytext. */
		*yy_cp = yy_hold_char;

		/* yy_bp points to the position in yy_ch_buf of the start of
		 * the current run.
		 */
		yy_bp = yy_cp;

		yy_current_state = yy_start;
		do
			{
			register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
			if ( yy_accept[yy_current_state] )
				{
				yy_last_accepting_state = yy_current_state;
				yy_last_accepting_cpos = yy_cp;
				}
			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
				{
				yy_current_state = (int) yy_def[yy_current_state];
				if ( yy_current_state >= 592 )
					yy_c = yy_meta[(unsigned int) yy_c];
				}
			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
			++yy_cp;
			}
		while ( yy_base[yy_current_state] != 2461 );

yy_find_action:
		yy_act = yy_accept[yy_current_state];
		if ( yy_act == 0 )
			{ /* have to back up */
			yy_cp = yy_last_accepting_cpos;
			yy_current_state = yy_last_accepting_state;
			yy_act = yy_accept[yy_current_state];
			}

		YY_DO_BEFORE_ACTION;




		switch ( yy_act )
	{ /* beginning of action switch */
			case 0: /* must back up */
			/* undo the effects of YY_DO_BEFORE_ACTION */
			*yy_cp = yy_hold_char;
			yy_cp = yy_last_accepting_cpos;
			yy_current_state = yy_last_accepting_state;
			goto yy_find_action;

case 1:
YY_RULE_SETUP
#line 31 "<stdin>"
{countLines(); /* ignore comments */ }
	YY_BREAK
case 2:
YY_RULE_SETUP
#line 33 "<stdin>"
{countLines(); yyTok = WHITESPACE; return yyTok;}
	YY_BREAK
case 3:
YY_RULE_SETUP
#line 35 "<stdin>"
{yyTok = SGML_CD; return yyTok;}
	YY_BREAK
case 4:
YY_RULE_SETUP
#line 36 "<stdin>"
{yyTok = SGML_CD; return yyTok;}
	YY_BREAK
case 5:
YY_RULE_SETUP
#line 37 "<stdin>"
{yyTok = INCLUDES; return yyTok;}
	YY_BREAK
case 6:
YY_RULE_SETUP
#line 38 "<stdin>"
{yyTok = DASHMATCH; return yyTok;}
	YY_BREAK
case 7:
YY_RULE_SETUP
#line 39 "<stdin>"
{yyTok = BEGINSWITH; return yyTok;}
	YY_BREAK
case 8:
YY_RULE_SETUP
#line 40 "<stdin>"
{yyTok = ENDSWITH; return yyTok;}
	YY_BREAK
case 9:
YY_RULE_SETUP
#line 41 "<stdin>"
{yyTok = CONTAINS; return yyTok;}
	YY_BREAK
case 10:
YY_RULE_SETUP
#line 42 "<stdin>"
{yyTok = MEDIA_NOT; return yyTok;}
	YY_BREAK
case 11:
YY_RULE_SETUP
#line 43 "<stdin>"
{yyTok = MEDIA_ONLY; return yyTok;}
	YY_BREAK
case 12:
YY_RULE_SETUP
#line 44 "<stdin>"
{yyTok = MEDIA_AND; return yyTok;}
	YY_BREAK
case 13:
YY_RULE_SETUP
#line 45 "<stdin>"
{BEGIN(mediaquery); yyTok = VARIABLES_FOR; return yyTok; }
	YY_BREAK
case 14:
YY_RULE_SETUP
#line 47 "<stdin>"
{yyTok = STRING; return yyTok;}
	YY_BREAK
case 15:
YY_RULE_SETUP
#line 48 "<stdin>"
{yyTok = IDENT; return yyTok;}
	YY_BREAK
case 16:
YY_RULE_SETUP
#line 49 "<stdin>"
{yyTok = NTH; return yyTok;}
	YY_BREAK
case 17:
YY_RULE_SETUP
#line 51 "<stdin>"
{yyTok = HEX; return yyTok;}
	YY_BREAK
case 18:
YY_RULE_SETUP
#line 52 "<stdin>"
{yyTok = IDSEL; return yyTok;}
	YY_BREAK
case 19:
YY_RULE_SETUP
#line 54 "<stdin>"
{BEGIN(mediaquery); yyTok = IMPORT_SYM; return yyTok;}
	YY_BREAK
case 20:
YY_RULE_SETUP
#line 55 "<stdin>"
{yyTok = PAGE_SYM; return yyTok;}
	YY_BREAK
case 21:
YY_RULE_SETUP
#line 56 "<stdin>"
{yyTok = TOPLEFTCORNER_SYM; return yyTok;}
	YY_BREAK
case 22:
YY_RULE_SETUP
#line 57 "<stdin>"
{yyTok = TOPLEFT_SYM; return yyTok;}
	YY_BREAK
case 23:
YY_RULE_SETUP
#line 58 "<stdin>"
{yyTok = TOPCENTER_SYM; return yyTok;}
	YY_BREAK
case 24:
YY_RULE_SETUP
#line 59 "<stdin>"
{yyTok = TOPRIGHT_SYM; return yyTok;}
	YY_BREAK
case 25:
YY_RULE_SETUP
#line 60 "<stdin>"
{yyTok = TOPRIGHTCORNER_SYM; return yyTok;}
	YY_BREAK
case 26:
YY_RULE_SETUP
#line 61 "<stdin>"
{yyTok = BOTTOMLEFTCORNER_SYM; return yyTok;}
	YY_BREAK
case 27:
YY_RULE_SETUP
#line 62 "<stdin>"
{yyTok = BOTTOMLEFT_SYM; return yyTok;}
	YY_BREAK
case 28:
YY_RULE_SETUP
#line 63 "<stdin>"
{yyTok = BOTTOMCENTER_SYM; return yyTok;}
	YY_BREAK
case 29:
YY_RULE_SETUP
#line 64 "<stdin>"
{yyTok = BOTTOMRIGHT_SYM; return yyTok;}
	YY_BREAK
case 30:
YY_RULE_SETUP
#line 65 "<stdin>"
{yyTok = BOTTOMRIGHTCORNER_SYM; return yyTok;}
	YY_BREAK
case 31:
YY_RULE_SETUP
#line 66 "<stdin>"
{yyTok = LEFTTOP_SYM; return yyTok;}
	YY_BREAK
case 32:
YY_RULE_SETUP
#line 67 "<stdin>"
{yyTok = LEFTMIDDLE_SYM; return yyTok;}
	YY_BREAK
case 33:
YY_RULE_SETUP
#line 68 "<stdin>"
{yyTok = LEFTBOTTOM_SYM; return yyTok;}
	YY_BREAK
case 34:
YY_RULE_SETUP
#line 69 "<stdin>"
{yyTok = RIGHTTOP_SYM; return yyTok;}
	YY_BREAK
case 35:
YY_RULE_SETUP
#line 70 "<stdin>"
{yyTok = RIGHTMIDDLE_SYM; return yyTok;}
	YY_BREAK
case 36:
YY_RULE_SETUP
#line 71 "<stdin>"
{yyTok = RIGHTBOTTOM_SYM; return yyTok;}
	YY_BREAK
case 37:
YY_RULE_SETUP
#line 72 "<stdin>"
{BEGIN(mediaquery); yyTok = MEDIA_SYM; return yyTok;}
	YY_BREAK
case 38:
YY_RULE_SETUP
#line 73 "<stdin>"
{yyTok = FONT_FACE_SYM; return yyTok;}
	YY_BREAK
case 39:
YY_RULE_SETUP
#line 74 "<stdin>"
{yyTok = CHARSET_SYM; return yyTok;}
	YY_BREAK
case 40:
YY_RULE_SETUP
#line 75 "<stdin>"
{yyTok = NAMESPACE_SYM; return yyTok; }
	YY_BREAK
case 41:
YY_RULE_SETUP
#line 76 "<stdin>"
{yyTok = WEBKIT_RULE_SYM; return yyTok; }
	YY_BREAK
case 42:
YY_RULE_SETUP
#line 77 "<stdin>"
{yyTok = WEBKIT_DECLS_SYM; return yyTok; }
	YY_BREAK
case 43:
YY_RULE_SETUP
#line 78 "<stdin>"
{yyTok = WEBKIT_VALUE_SYM; return yyTok; }
	YY_BREAK
case 44:
YY_RULE_SETUP
#line 79 "<stdin>"
{BEGIN(mediaquery); yyTok = WEBKIT_MEDIAQUERY_SYM; return yyTok; }
	YY_BREAK
case 45:
YY_RULE_SETUP
#line 80 "<stdin>"
{yyTok = WEBKIT_SELECTOR_SYM; return yyTok; }
	YY_BREAK
case 46:
YY_RULE_SETUP
#line 81 "<stdin>"
{BEGIN(mediaquery); yyTok = WEBKIT_VARIABLES_SYM; return yyTok; }
	YY_BREAK
case 47:
YY_RULE_SETUP
#line 82 "<stdin>"
{BEGIN(forkeyword); yyTok = WEBKIT_DEFINE_SYM; return yyTok; }
	YY_BREAK
case 48:
YY_RULE_SETUP
#line 83 "<stdin>"
{ yyTok = WEBKIT_VARIABLES_DECLS_SYM; return yyTok; }
	YY_BREAK
case 49:
YY_RULE_SETUP
#line 84 "<stdin>"
{yyTok = WEBKIT_KEYFRAMES_SYM; return yyTok; }
	YY_BREAK
case 50:
YY_RULE_SETUP
#line 85 "<stdin>"
{yyTok = WEBKIT_KEYFRAME_RULE_SYM; return yyTok; }
	YY_BREAK
case 51:
YY_RULE_SETUP
#line 87 "<stdin>"
{yyTok = ATKEYWORD; return yyTok; }
	YY_BREAK
case 52:
YY_RULE_SETUP
#line 89 "<stdin>"
{yyTok = IMPORTANT_SYM; return yyTok;}
	YY_BREAK
case 53:
YY_RULE_SETUP
#line 91 "<stdin>"
{yyTok = EMS; return yyTok;}
	YY_BREAK
case 54:
YY_RULE_SETUP
#line 92 "<stdin>"
{yyTok = REMS; return yyTok;}
	YY_BREAK
case 55:
YY_RULE_SETUP
#line 93 "<stdin>"
{yyTok = QEMS; return yyTok;} /* quirky ems */
	YY_BREAK
case 56:
YY_RULE_SETUP
#line 94 "<stdin>"
{yyTok = EXS; return yyTok;}
	YY_BREAK
case 57:
YY_RULE_SETUP
#line 95 "<stdin>"
{yyTok = PXS; return yyTok;}
	YY_BREAK
case 58:
YY_RULE_SETUP
#line 96 "<stdin>"
{yyTok = CMS; return yyTok;}
	YY_BREAK
case 59:
YY_RULE_SETUP
#line 97 "<stdin>"
{yyTok = MMS; return yyTok;}
	YY_BREAK
case 60:
YY_RULE_SETUP
#line 98 "<stdin>"
{yyTok = INS; return yyTok;}
	YY_BREAK
case 61:
YY_RULE_SETUP
#line 99 "<stdin>"
{yyTok = PTS; return yyTok;}
	YY_BREAK
case 62:
YY_RULE_SETUP
#line 100 "<stdin>"
{yyTok = PCS; return yyTok;}
	YY_BREAK
case 63:
YY_RULE_SETUP
#line 101 "<stdin>"
{yyTok = DEGS; return yyTok;}
	YY_BREAK
case 64:
YY_RULE_SETUP
#line 102 "<stdin>"
{yyTok = RADS; return yyTok;}
	YY_BREAK
case 65:
YY_RULE_SETUP
#line 103 "<stdin>"
{yyTok = GRADS; return yyTok;}
	YY_BREAK
case 66:
YY_RULE_SETUP
#line 104 "<stdin>"
{yyTok = TURNS; return yyTok;}
	YY_BREAK
case 67:
YY_RULE_SETUP
#line 105 "<stdin>"
{yyTok = MSECS; return yyTok;}
	YY_BREAK
case 68:
YY_RULE_SETUP
#line 106 "<stdin>"
{yyTok = SECS; return yyTok;}
	YY_BREAK
case 69:
YY_RULE_SETUP
#line 107 "<stdin>"
{yyTok = HERZ; return yyTok;}
	YY_BREAK
case 70:
YY_RULE_SETUP
#line 108 "<stdin>"
{yyTok = KHERZ; return yyTok;}
	YY_BREAK
case 71:
YY_RULE_SETUP
#line 109 "<stdin>"
{yyTok = DIMEN; return yyTok;}
	YY_BREAK
case 72:
YY_RULE_SETUP
#line 110 "<stdin>"
{yyTok = PERCENTAGE; return yyTok;}
	YY_BREAK
case 73:
YY_RULE_SETUP
#line 111 "<stdin>"
{yyTok = INTEGER; return yyTok;}
	YY_BREAK
case 74:
YY_RULE_SETUP
#line 112 "<stdin>"
{yyTok = FLOATTOKEN; return yyTok;}
	YY_BREAK
case 75:
YY_RULE_SETUP
#line 114 "<stdin>"
{yyTok = NOTFUNCTION; return yyTok;}
	YY_BREAK
case 76:
YY_RULE_SETUP
#line 115 "<stdin>"
{yyTok = URI; return yyTok;}
	YY_BREAK
case 77:
YY_RULE_SETUP
#line 116 "<stdin>"
{yyTok = URI; return yyTok;}
	YY_BREAK
case 78:
YY_RULE_SETUP
#line 117 "<stdin>"
{ yyTok = VARCALL; return yyTok; }
	YY_BREAK
case 79:
YY_RULE_SETUP
#line 118 "<stdin>"
{yyTok = FUNCTION; return yyTok;}
	YY_BREAK
case 80:
YY_RULE_SETUP
#line 120 "<stdin>"
{yyTok = UNICODERANGE; return yyTok;}
	YY_BREAK
case 81:
YY_RULE_SETUP
#line 121 "<stdin>"
{yyTok = UNICODERANGE; return yyTok;}
	YY_BREAK
case 82:
#line 124 "<stdin>"
case 83:
YY_RULE_SETUP
#line 124 "<stdin>"
{BEGIN(INITIAL); yyTok = *yytext; return yyTok; }
	YY_BREAK
case 84:
YY_RULE_SETUP
#line 125 "<stdin>"
{yyTok = *yytext; return yyTok;}
	YY_BREAK
case 85:
YY_RULE_SETUP
#line 127 "<stdin>"
ECHO;
	YY_BREAK
case YY_END_OF_BUFFER:
	yy_c_buf_p = yy_cp - 1;
	yy_cp = yy_c_buf_p;
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(mediaquery):
case YY_STATE_EOF(forkeyword):
	yyterminate();

	default:
		YY_FATAL_ERROR(
			"fatal flex scanner internal error--no action found" );
	} /* end of action switch */
		} /* end of scanning one token */
	} /* end of yylex */