00001 #line 2 "xml.cpp"
00002
00003
00004
00005
00006
00007
00008 #define FLEX_SCANNER
00009 #define YY_FLEX_MAJOR_VERSION 2
00010 #define YY_FLEX_MINOR_VERSION 5
00011
00012
00013
00014
00015 #ifdef c_plusplus
00016 #ifndef __cplusplus
00017 #define __cplusplus
00018 #endif
00019 #endif
00020
00021
00022 #ifdef __cplusplus
00023
00024 #include <stdlib.h>
00025 #include <iostream>
00026
00027
00028 #define YY_USE_PROTOS
00029
00030
00031 #define YY_USE_CONST
00032
00033 #else
00034
00035 #if __STDC__
00036
00037 #define YY_USE_PROTOS
00038 #define YY_USE_CONST
00039
00040 #endif
00041 #endif
00042
00043 #ifdef __TURBOC__
00044 #pragma warn -rch
00045 #pragma warn -use
00046 #include <io.h>
00047 #include <stdlib.h>
00048 #define YY_USE_CONST
00049 #define YY_USE_PROTOS
00050 #endif
00051
00052 #ifdef YY_USE_CONST
00053 #define yyconst const
00054 #else
00055 #define yyconst
00056 #endif
00057
00058
00059 #ifdef YY_USE_PROTOS
00060 #define YY_PROTO(proto) proto
00061 #else
00062 #define YY_PROTO(proto) ()
00063 #endif
00064
00065
00066 #define YY_NULL 0
00067
00068
00069
00070
00071
00072
00073 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
00074
00075
00076
00077
00078
00079 #define BEGIN yy_start = 1 + 2 *
00080
00081
00082
00083
00084
00085 #define YY_START ((yy_start - 1) / 2)
00086 #define YYSTATE YY_START
00087
00088
00089 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
00090
00091
00092 #define YY_NEW_FILE yyrestart( yyin )
00093
00094 #define YY_END_OF_BUFFER_CHAR 0
00095
00096
00097 #define YY_BUF_SIZE 16384
00098
00099 typedef struct yy_buffer_state *YY_BUFFER_STATE;
00100
00101 extern int yyleng;
00102
00103 #define EOB_ACT_CONTINUE_SCAN 0
00104 #define EOB_ACT_END_OF_FILE 1
00105 #define EOB_ACT_LAST_MATCH 2
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123 #define yyless(n) \
00124 do \
00125 { \
00126 \
00127 *yy_cp = yy_hold_char; \
00128 YY_RESTORE_YY_MORE_OFFSET \
00129 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
00130 YY_DO_BEFORE_ACTION; \
00131 } \
00132 while ( 0 )
00133
00134 #define unput(c) yyunput( c, yytext_ptr )
00135
00136
00137
00138
00139 #ifdef __GNUC__
00140 #define YY_MAY_BE_UNUSED __attribute__((unused))
00141 #else
00142 #define YY_MAY_BE_UNUSED
00143 #endif
00144
00145
00146
00147
00148
00149 typedef unsigned int yy_size_t;
00150
00151
00152 struct yy_buffer_state
00153 {
00154 std::istream* yy_input_file;
00155
00156 char *yy_ch_buf;
00157 char *yy_buf_pos;
00158
00159
00160
00161
00162 yy_size_t yy_buf_size;
00163
00164
00165
00166
00167 int yy_n_chars;
00168
00169
00170
00171
00172
00173 int yy_is_our_buffer;
00174
00175
00176
00177
00178
00179
00180 int yy_is_interactive;
00181
00182
00183
00184
00185
00186 int yy_at_bol;
00187
00188
00189
00190
00191 int yy_fill_buffer;
00192
00193 int yy_buffer_status;
00194 #define YY_BUFFER_NEW 0
00195 #define YY_BUFFER_NORMAL 1
00196
00197
00198
00199
00200
00201
00202
00203
00204
00205
00206 #define YY_BUFFER_EOF_PENDING 2
00207 };
00208
00209
00210
00211
00212
00213
00214 #define YY_CURRENT_BUFFER yy_current_buffer
00215
00216
00217
00218 static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
00219 static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) YY_MAY_BE_UNUSED;
00220 static void yy_flex_free YY_PROTO(( void * ));
00221
00222 #define yy_new_buffer yy_create_buffer
00223
00224 #define yy_set_interactive(is_interactive) \
00225 { \
00226 if ( ! yy_current_buffer ) \
00227 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
00228 yy_current_buffer->yy_is_interactive = is_interactive; \
00229 }
00230
00231 #define yy_set_bol(at_bol) \
00232 { \
00233 if ( ! yy_current_buffer ) \
00234 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
00235 yy_current_buffer->yy_at_bol = at_bol; \
00236 }
00237
00238 #define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
00239
00240
00241 #define yywrap() 1
00242 #define YY_SKIP_YYWRAP
00243 typedef unsigned char YY_CHAR;
00244 #define yytext_ptr yytext
00245 #define YY_INTERACTIVE
00246
00247 #include "FlexLexer.h"
00248
00249
00250
00251
00252
00253 #define YY_DO_BEFORE_ACTION \
00254 yytext_ptr = yy_bp; \
00255 yyleng = (int) (yy_cp - yy_bp); \
00256 yy_hold_char = *yy_cp; \
00257 *yy_cp = '\0'; \
00258 yy_c_buf_p = yy_cp;
00259
00260 #define YY_NUM_RULES 17
00261 #define YY_END_OF_BUFFER 18
00262 static yyconst short int yy_accept[662] =
00263 { 0,
00264 0, 0, 0, 0, 18, 10, 10, 8, 17, 16,
00265 17, 17, 17, 12, 15, 11, 10, 10, 9, 0,
00266 0, 0, 0, 13, 0, 0, 0, 14, 11, 0,
00267 0, 0, 0, 0, 0, 0, 0, 0, 13, 13,
00268 11, 0, 0, 0, 0, 0, 0, 0, 7, 2,
00269 0, 11, 0, 3, 0, 0, 0, 0, 0, 0,
00270 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
00271 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00272 0, 0, 0, 0, 0, 6, 0, 0, 0, 0,
00273 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00274
00275 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00276 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00277 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,
00278 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00279 0, 5, 0, 0, 0, 4, 0, 0, 0, 0,
00280 0, 0, 0, 0, 0, 0, 4, 0, 0, 0,
00281 0, 0, 0, 0, 0, 0, 0, 5, 0, 0,
00282 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00283 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
00284 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00285
00286 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00287 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00288 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00289 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00290 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00291 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00292 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00293 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00294 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00295 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00296
00297 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00298 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00299 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00300 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00301 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00302 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00303 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00304 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00305 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00306 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00307
00308 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00309 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00310 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00311 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00312 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00313 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00314 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00315 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00316 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00317 0, 0, 0, 0, 0, 0, 0, 5, 0, 0,
00318
00319 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00320 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00321 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00322 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00323 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00324 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00325 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00326 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00327 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00328 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00329
00330 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00331 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00332 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00333 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00334 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00335 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00336 0
00337 } ;
00338
00339 static yyconst int yy_ec[256] =
00340 { 0,
00341 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
00342 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
00343 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00344 1, 2, 4, 5, 6, 1, 1, 1, 7, 8,
00345 9, 1, 1, 1, 10, 11, 12, 11, 11, 11,
00346 11, 11, 11, 11, 11, 11, 11, 13, 1, 14,
00347 15, 16, 17, 1, 18, 19, 20, 21, 22, 23,
00348 24, 24, 25, 24, 26, 27, 28, 29, 30, 31,
00349 32, 33, 34, 35, 36, 24, 24, 37, 38, 24,
00350 39, 40, 41, 1, 24, 1, 24, 24, 24, 24,
00351
00352 24, 24, 24, 24, 24, 24, 24, 42, 43, 24,
00353 24, 24, 24, 24, 24, 24, 24, 24, 24, 44,
00354 24, 24, 1, 1, 1, 1, 1, 1, 1, 1,
00355 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00356 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00357 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00358 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00359 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00360 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00361 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00362
00363 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00364 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00365 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00366 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00367 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00368 1, 1, 1, 1, 1
00369 } ;
00370
00371 static yyconst int yy_meta[45] =
00372 { 0,
00373 1, 2, 3, 1, 1, 1, 1, 1, 1, 1,
00374 4, 1, 5, 6, 1, 7, 1, 8, 8, 8,
00375 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
00376 8, 8, 8, 8, 8, 8, 8, 8, 1, 1,
00377 1, 8, 8, 8
00378 } ;
00379
00380 static yyconst short int yy_base[695] =
00381 { 0,
00382 0, 2, 16, 0, 1300, 0, 59, 59, 3352, 3352,
00383 59, 58, 1283, 3352, 3352, 1284, 0, 64, 3352, 58,
00384 0, 52, 65, 3352, 67, 68, 70, 3352, 1273, 0,
00385 1272, 1242, 1187, 1189, 78, 1191, 66, 57, 79, 78,
00386 0, 1191, 1186, 1169, 1182, 1186, 90, 0, 3352, 3352,
00387 69, 0, 1185, 3352, 1163, 1179, 1174, 86, 1174, 1152,
00388 1153, 1091, 110, 1108, 98, 1091, 1096, 1102, 3352, 1097,
00389 1088, 1078, 4, 1087, 1074, 6, 8, 1071, 1070, 10,
00390 114, 79, 119, 121, 125, 1069, 1071, 1067, 127, 129,
00391 1084, 1068, 1065, 1062, 1072, 1063, 1078, 1062, 1070, 973,
00392
00393 966, 957, 971, 962, 964, 966, 131, 133, 967, 958,
00394 135, 139, 143, 145, 85, 99, 149, 154, 138, 160,
00395 144, 150, 163, 155, 159, 162, 166, 170, 178, 3352,
00396 180, 165, 174, 169, 181, 185, 184, 186, 195, 190,
00397 209, 198, 213, 225, 220, 3352, 229, 201, 202, 241,
00398 237, 981, 250, 214, 254, 258, 228, 268, 274, 264,
00399 240, 283, 278, 232, 270, 290, 297, 282, 301, 309,
00400 949, 956, 324, 310, 340, 344, 349, 947, 959, 355,
00401 304, 326, 365, 315, 370, 374, 329, 953, 951, 343,
00402 360, 388, 380, 952, 954, 369, 389, 416, 357, 396,
00403
00404 941, 945, 382, 394, 398, 403, 938, 937, 401, 408,
00405 419, 421, 409, 428, 422, 434, 435, 442, 442, 448,
00406 450, 463, 437, 449, 470, 477, 503, 547, 453, 462,
00407 481, 483, 590, 489, 612, 656, 699, 703, 492, 593,
00408 942, 942, 743, 0, 786, 0, 826, 870, 707, 496,
00409 598, 938, 930, 936, 914, 957, 702, 698, 997, 1041,
00410 945, 793, 800, 791, 798, 709, 782, 1084, 0, 1088,
00411 785, 956, 1083, 1128, 0, 1171, 0, 797, 778, 790,
00412 777, 782, 712, 764, 1087, 1170, 1173, 1172, 1175, 1180,
00413 1179, 1220, 1263, 1176, 1262, 762, 716, 600, 713, 691,
00414
00415 700, 1265, 1266, 1271, 1272, 1270, 1276, 1275, 1315, 0,
00416 1282, 1288, 1289, 1290, 695, 576, 1284, 697, 584, 571,
00417 559, 1291, 1309, 1336, 1303, 1293, 1327, 1331, 1341, 1342,
00418 1345, 1346, 1356, 1343, 498, 438, 1348, 721, 1349, 471,
00419 459, 459, 1184, 448, 343, 1351, 1352, 1392, 1379, 1370,
00420 1374, 1363, 1359, 1385, 1404, 1396, 1400, 1413, 1408, 337,
00421 793, 1425, 301, 304, 289, 290, 731, 1421, 1417, 1447,
00422 1428, 1429, 1430, 1434, 1457, 1442, 1433, 1440, 1467, 1493,
00423 1461, 1472, 1466, 282, 1533, 1476, 285, 278, 265, 1486,
00424 796, 1471, 1576, 1489, 1575, 1577, 1578, 1582, 1581, 1584,
00425
00426 1587, 1588, 1597, 1590, 1637, 1592, 1680, 275, 266, 264,
00427 1595, 1679, 1681, 1682, 1689, 1695, 1700, 1688, 1684, 1702,
00428 1694, 1709, 1705, 1596, 1748, 0, 1726, 1736, 607, 228,
00429 214, 1685, 1731, 1732, 1741, 1727, 1749, 1742, 1750, 1756,
00430 1757, 1755, 1764, 1770, 1778, 1781, 714, 208, 191, 1789,
00431 1794, 1593, 1788, 1795, 1796, 1797, 1804, 1822, 1814, 1806,
00432 1837, 1810, 1821, 1825, 1809, 187, 1850, 1838, 1846, 1843,
00433 1855, 1862, 1853, 1864, 1869, 1874, 1852, 1858, 1871, 1861,
00434 1868, 1910, 1914, 1889, 1918, 1900, 1892, 1913, 1898, 1932,
00435 1919, 1922, 1923, 1931, 1938, 1963, 1971, 1901, 798, 1978,
00436
00437 1946, 1942, 1986, 1952, 1979, 1965, 1980, 1993, 1992, 1989,
00438 1995, 2035, 2078, 2082, 2086, 1994, 2077, 2088, 2081, 2092,
00439 2098, 2095, 2096, 2138, 2179, 2183, 804, 2089, 2093, 2182,
00440 2184, 2191, 2195, 2199, 2238, 0, 2190, 2211, 2186, 2212,
00441 2213, 2278, 2322, 2224, 2228, 2229, 2216, 2231, 2362, 2366,
00442 2206, 2237, 2406, 2450, 2365, 2490, 2494, 2493, 2496, 2495,
00443 2500, 2499, 2501, 808, 0, 2540, 0, 2509, 2507, 2513,
00444 2516, 2521, 2519, 2524, 2552, 2545, 2567, 2555, 2558, 2560,
00445 2562, 2566, 2570, 2577, 2569, 2574, 2610, 2596, 2582, 2599,
00446 2616, 2600, 2583, 2606, 2619, 2626, 2621, 2628, 2640, 2627,
00447
00448 2649, 2637, 2648, 2639, 2643, 2650, 2644, 2652, 2658, 2670,
00449 2692, 2666, 2673, 2659, 2691, 2680, 2700, 2709, 2719, 2710,
00450 2696, 2704, 2714, 2759, 2803, 2695, 2846, 2845, 2718, 2886,
00451 2930, 2970, 2974, 2973, 2975, 962, 0, 3014, 0, 2980,
00452 2981, 2990, 2994, 2998, 3002, 3022, 3004, 2993, 3024, 3032,
00453 3043, 3034, 3035, 3055, 3003, 3045, 3042, 3048, 3084, 3089,
00454 3352, 3129, 3137, 3145, 3153, 3158, 101, 3166, 93, 3173,
00455 3178, 3186, 7, 3193, 3201, 3209, 3216, 3223, 3230, 3237,
00456 3245, 3253, 3261, 3269, 3277, 3285, 3292, 3299, 3306, 3313,
00457 3320, 3327, 3335, 3343
00458
00459 } ;
00460
00461 static yyconst short int yy_def[695] =
00462 { 0,
00463 662, 662, 661, 3, 661, 663, 663, 661, 661, 661,
00464 664, 665, 661, 661, 661, 666, 663, 663, 661, 661,
00465 667, 668, 664, 661, 664, 665, 665, 661, 666, 669,
00466 661, 661, 661, 661, 670, 668, 668, 668, 664, 665,
00467 671, 672, 661, 661, 661, 661, 670, 673, 661, 661,
00468 668, 671, 672, 661, 661, 661, 661, 674, 675, 661,
00469 661, 661, 674, 675, 675, 661, 661, 661, 661, 661,
00470 661, 661, 661, 661, 676, 677, 661, 676, 676, 678,
00471 679, 676, 661, 678, 680, 676, 661, 661, 661, 680,
00472 661, 661, 661, 661, 661, 661, 661, 661, 661, 661,
00473
00474 661, 661, 661, 661, 661, 661, 661, 661, 661, 661,
00475 661, 661, 661, 661, 681, 682, 661, 661, 681, 661,
00476 681, 682, 661, 682, 683, 684, 661, 681, 661, 661,
00477 682, 683, 661, 683, 684, 661, 684, 685, 681, 661,
00478 682, 682, 661, 683, 661, 661, 684, 685, 685, 685,
00479 661, 661, 682, 686, 683, 684, 684, 685, 685, 661,
00480 661, 682, 682, 686, 686, 686, 685, 685, 685, 661,
00481 661, 661, 682, 682, 686, 686, 685, 661, 661, 682,
00482 682, 682, 686, 686, 686, 685, 685, 661, 661, 682,
00483 682, 685, 685, 661, 661, 682, 682, 685, 685, 685,
00484
00485 661, 661, 682, 682, 685, 685, 661, 661, 682, 682,
00486 685, 685, 661, 661, 682, 682, 685, 685, 687, 688,
00487 682, 682, 685, 685, 689, 690, 661, 661, 685, 685,
00488 691, 689, 661, 690, 661, 661, 685, 685, 692, 661,
00489 661, 661, 661, 235, 682, 236, 661, 661, 661, 692,
00490 661, 661, 661, 661, 661, 682, 682, 682, 661, 661,
00491 661, 661, 661, 661, 661, 661, 661, 682, 255, 682,
00492 682, 682, 682, 661, 259, 685, 260, 661, 661, 661,
00493 661, 661, 661, 661, 682, 682, 682, 682, 682, 682,
00494 682, 661, 685, 685, 685, 661, 661, 661, 661, 661,
00495
00496 661, 682, 682, 682, 682, 682, 682, 682, 685, 292,
00497 685, 685, 685, 685, 661, 661, 693, 661, 661, 661,
00498 661, 682, 682, 682, 682, 682, 682, 685, 685, 685,
00499 685, 685, 685, 685, 661, 661, 693, 661, 693, 661,
00500 661, 661, 661, 661, 661, 682, 682, 693, 682, 682,
00501 682, 682, 685, 685, 685, 685, 685, 685, 685, 661,
00502 691, 693, 661, 661, 661, 661, 661, 682, 682, 693,
00503 693, 682, 682, 682, 682, 682, 682, 685, 685, 685,
00504 685, 685, 685, 661, 661, 693, 661, 661, 661, 661,
00505 661, 682, 693, 682, 682, 682, 682, 682, 685, 685,
00506
00507 685, 685, 685, 685, 661, 693, 693, 661, 661, 661,
00508 682, 682, 682, 682, 682, 682, 685, 685, 685, 685,
00509 685, 685, 685, 685, 693, 405, 693, 693, 661, 661,
00510 661, 682, 682, 682, 685, 685, 685, 685, 685, 685,
00511 693, 693, 693, 693, 693, 693, 661, 661, 661, 682,
00512 682, 682, 685, 685, 685, 685, 685, 685, 693, 693,
00513 693, 693, 693, 693, 694, 661, 682, 682, 682, 685,
00514 685, 685, 693, 693, 693, 693, 693, 693, 693, 694,
00515 694, 694, 682, 682, 685, 685, 685, 693, 693, 693,
00516 693, 693, 693, 693, 693, 694, 694, 694, 243, 685,
00517
00518 685, 685, 693, 693, 693, 693, 693, 693, 693, 693,
00519 693, 661, 694, 694, 685, 685, 693, 693, 693, 693,
00520 693, 693, 693, 661, 694, 694, 274, 693, 693, 693,
00521 693, 693, 693, 693, 694, 524, 694, 694, 693, 693,
00522 693, 661, 661, 694, 694, 694, 694, 694, 694, 693,
00523 693, 693, 661, 661, 694, 694, 694, 694, 694, 694,
00524 693, 693, 693, 385, 553, 693, 554, 694, 694, 694,
00525 694, 694, 694, 694, 694, 693, 693, 693, 693, 694,
00526 694, 694, 694, 694, 694, 694, 693, 693, 693, 693,
00527 694, 694, 694, 694, 694, 694, 694, 694, 694, 693,
00528
00529 693, 693, 694, 694, 694, 694, 694, 694, 694, 693,
00530 693, 693, 694, 694, 694, 694, 694, 694, 694, 693,
00531 694, 694, 694, 661, 661, 693, 694, 694, 694, 661,
00532 661, 693, 694, 694, 694, 512, 630, 694, 631, 693,
00533 694, 694, 694, 694, 693, 694, 694, 694, 694, 694,
00534 694, 694, 694, 694, 694, 694, 694, 694, 694, 694,
00535 0, 661, 661, 661, 661, 661, 661, 661, 661, 661,
00536 661, 661, 661, 661, 661, 661, 661, 661, 661, 661,
00537 661, 661, 661, 661, 661, 661, 661, 661, 661, 661,
00538 661, 661, 661, 661
00539
00540 } ;
00541
00542 static yyconst short int yy_nxt[3397] =
00543 { 0,
00544 661, 7, 7, 7, 7, 76, 76, 76, 76, 81,
00545 81, 83, 83, 8, 58, 8, 9, 10, 10, 9,
00546 11, 9, 12, 9, 9, 9, 9, 13, 9, 9,
00547 14, 15, 9, 16, 16, 16, 16, 16, 16, 16,
00548 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
00549 16, 16, 16, 16, 9, 9, 9, 16, 16, 16,
00550 18, 18, 20, 24, 24, 18, 18, 31, 37, 24,
00551 21, 39, 19, 37, 24, 22, 40, 19, 32, 46,
00552 46, 50, 37, 24, 24, 37, 33, 46, 46, 120,
00553 48, 46, 46, 49, 86, 38, 34, 27, 25, 51,
00554
00555 41, 49, 48, 123, 25, 49, 25, 27, 35, 27,
00556 59, 46, 46, 69, 65, 81, 81, 27, 25, 82,
00557 83, 83, 83, 83, 121, 49, 89, 89, 89, 89,
00558 89, 89, 111, 111, 112, 112, 111, 111, 124, 115,
00559 112, 112, 120, 116, 117, 117, 118, 118, 128, 87,
00560 117, 117, 88, 125, 123, 118, 118, 93, 126, 131,
00561 94, 127, 127, 133, 129, 129, 136, 127, 127, 133,
00562 138, 139, 139, 144, 120, 143, 143, 121, 130, 129,
00563 129, 141, 141, 121, 123, 136, 145, 145, 147, 124,
00564 123, 151, 151, 130, 124, 142, 139, 139, 134, 150,
00565
00566 146, 137, 123, 152, 134, 123, 158, 338, 134, 121,
00567 141, 141, 466, 123, 143, 143, 140, 154, 136, 124,
00568 137, 145, 145, 137, 142, 149, 155, 155, 338, 133,
00569 156, 156, 136, 136, 121, 146, 136, 124, 151, 151,
00570 149, 149, 159, 159, 157, 123, 449, 153, 124, 448,
00571 152, 162, 162, 165, 123, 155, 155, 171, 166, 156,
00572 156, 172, 136, 163, 134, 170, 170, 137, 137, 167,
00573 167, 165, 123, 157, 175, 159, 159, 160, 169, 130,
00574 149, 174, 123, 168, 162, 162, 123, 123, 431, 124,
00575 430, 176, 176, 134, 136, 429, 163, 137, 167, 167,
00576
00577 410, 123, 167, 167, 409, 123, 408, 149, 123, 165,
00578 170, 170, 168, 149, 123, 335, 168, 124, 390, 136,
00579 389, 149, 124, 173, 130, 180, 180, 181, 123, 165,
00580 123, 182, 193, 123, 388, 177, 149, 387, 190, 142,
00581 149, 183, 183, 124, 136, 176, 176, 123, 185, 124,
00582 186, 186, 191, 123, 165, 184, 180, 180, 384, 123,
00583 367, 123, 187, 124, 123, 124, 183, 183, 149, 136,
00584 142, 183, 183, 123, 136, 186, 186, 196, 123, 165,
00585 184, 197, 124, 165, 123, 184, 123, 187, 149, 198,
00586 198, 205, 123, 123, 124, 203, 149, 199, 123, 124,
00587
00588 123, 200, 123, 168, 165, 123, 209, 123, 124, 165,
00589 219, 219, 123, 149, 192, 210, 204, 198, 198, 149,
00590 123, 124, 206, 123, 212, 123, 123, 149, 124, 220,
00591 220, 168, 211, 124, 215, 149, 216, 149, 123, 123,
00592 124, 123, 149, 219, 219, 217, 123, 124, 218, 220,
00593 220, 227, 227, 123, 123, 149, 221, 123, 149, 223,
00594 149, 124, 360, 224, 228, 228, 123, 123, 222, 366,
00595 229, 231, 231, 124, 149, 335, 149, 230, 233, 233,
00596 365, 149, 231, 231, 231, 231, 364, 237, 149, 124,
00597 233, 233, 149, 249, 249, 363, 238, 249, 249, 298,
00598
00599 298, 149, 124, 122, 227, 227, 122, 123, 122, 122,
00600 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
00601 235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
00602 235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
00603 235, 122, 124, 122, 235, 235, 235, 122, 228, 228,
00604 122, 123, 122, 122, 122, 122, 122, 122, 122, 122,
00605 122, 122, 122, 122, 236, 236, 236, 236, 236, 236,
00606 236, 236, 236, 236, 236, 236, 236, 236, 236, 236,
00607 236, 236, 236, 236, 236, 122, 124, 122, 236, 236,
00608 236, 233, 233, 345, 251, 251, 344, 240, 252, 251,
00609
00610 251, 298, 298, 252, 317, 318, 343, 241, 447, 447,
00611 336, 242, 122, 243, 243, 122, 123, 122, 122, 122,
00612 122, 122, 244, 122, 122, 122, 122, 122, 122, 244,
00613 244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
00614 244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
00615 122, 124, 122, 244, 244, 244, 122, 245, 245, 122,
00616 123, 122, 122, 122, 122, 122, 246, 122, 122, 122,
00617 122, 122, 122, 246, 246, 246, 246, 246, 246, 246,
00618 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
00619 246, 246, 246, 246, 122, 124, 122, 246, 246, 246,
00620
00621 247, 247, 123, 123, 248, 248, 123, 123, 249, 249,
00622 283, 283, 335, 283, 283, 447, 447, 321, 465, 340,
00623 320, 341, 361, 361, 151, 273, 261, 151, 262, 342,
00624 272, 263, 391, 391, 319, 264, 151, 124, 149, 266,
00625 316, 124, 149, 122, 243, 243, 122, 123, 122, 122,
00626 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
00627 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
00628 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
00629 255, 122, 124, 122, 255, 255, 255, 245, 245, 123,
00630 123, 298, 298, 256, 361, 361, 315, 391, 391, 499,
00631
00632 499, 266, 301, 257, 266, 527, 527, 258, 151, 564,
00633 564, 300, 297, 162, 296, 289, 284, 282, 281, 186,
00634 280, 279, 299, 337, 124, 124, 148, 247, 247, 148,
00635 123, 148, 148, 148, 148, 148, 148, 148, 148, 148,
00636 148, 148, 148, 259, 259, 259, 259, 259, 259, 259,
00637 259, 259, 259, 259, 259, 259, 259, 259, 259, 259,
00638 259, 259, 259, 259, 148, 149, 148, 259, 259, 259,
00639 148, 248, 248, 148, 123, 148, 148, 148, 148, 148,
00640 148, 148, 148, 148, 148, 148, 148, 260, 260, 260,
00641 260, 260, 260, 260, 260, 260, 260, 260, 260, 260,
00642
00643 260, 260, 260, 260, 260, 260, 260, 260, 148, 149,
00644 148, 260, 260, 260, 122, 268, 268, 122, 123, 122,
00645 122, 122, 122, 122, 269, 122, 122, 122, 122, 122,
00646 122, 269, 269, 269, 269, 269, 269, 269, 269, 269,
00647 269, 269, 269, 269, 269, 269, 269, 269, 269, 269,
00648 269, 269, 122, 124, 122, 269, 269, 269, 270, 270,
00649 123, 123, 271, 636, 636, 278, 267, 266, 265, 254,
00650 253, 214, 213, 208, 207, 202, 201, 480, 195, 194,
00651 189, 188, 179, 178, 161, 114, 113, 110, 109, 108,
00652 107, 106, 105, 290, 104, 124, 124, 148, 274, 274,
00653
00654 148, 123, 148, 148, 148, 148, 148, 275, 148, 148,
00655 148, 148, 148, 148, 275, 275, 275, 275, 275, 275,
00656 275, 275, 275, 275, 275, 275, 275, 275, 275, 275,
00657 275, 275, 275, 275, 275, 148, 149, 148, 275, 275,
00658 275, 148, 276, 276, 148, 123, 148, 148, 148, 148,
00659 148, 277, 148, 148, 148, 148, 148, 148, 277, 277,
00660 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
00661 277, 277, 277, 277, 277, 277, 277, 277, 277, 148,
00662 149, 148, 277, 277, 277, 268, 268, 123, 123, 270,
00663 270, 123, 123, 271, 103, 102, 101, 100, 99, 98,
00664
00665 97, 96, 95, 285, 92, 286, 91, 302, 287, 79,
00666 82, 79, 288, 291, 79, 77, 75, 74, 73, 72,
00667 71, 70, 124, 124, 65, 68, 124, 124, 148, 274,
00668 274, 148, 123, 148, 148, 148, 148, 148, 148, 148,
00669 148, 148, 148, 148, 148, 292, 292, 292, 292, 292,
00670 292, 292, 292, 292, 292, 292, 292, 292, 292, 292,
00671 292, 292, 292, 292, 292, 292, 148, 149, 148, 292,
00672 292, 292, 276, 276, 123, 123, 123, 123, 293, 123,
00673 123, 307, 307, 123, 123, 298, 298, 67, 294, 66,
00674 65, 62, 295, 304, 306, 162, 61, 60, 303, 305,
00675
00676 54, 49, 57, 56, 313, 55, 54, 37, 45, 124,
00677 149, 124, 124, 308, 124, 149, 44, 335, 124, 124,
00678 148, 309, 309, 148, 123, 148, 148, 148, 148, 148,
00679 310, 148, 148, 148, 148, 148, 148, 310, 310, 310,
00680 310, 310, 310, 310, 310, 310, 310, 310, 310, 310,
00681 310, 310, 310, 310, 310, 310, 310, 310, 148, 149,
00682 148, 310, 310, 310, 311, 311, 123, 123, 312, 123,
00683 123, 43, 324, 324, 123, 123, 123, 307, 307, 123,
00684 123, 42, 322, 311, 311, 30, 123, 312, 338, 314,
00685 327, 162, 123, 123, 123, 123, 30, 123, 28, 661,
00686
00687 323, 149, 149, 325, 124, 124, 326, 123, 661, 124,
00688 124, 124, 290, 123, 124, 124, 309, 309, 332, 123,
00689 334, 149, 351, 339, 350, 346, 333, 149, 149, 149,
00690 124, 123, 124, 347, 328, 123, 329, 324, 324, 330,
00691 348, 349, 124, 331, 352, 123, 123, 123, 124, 123,
00692 123, 353, 338, 362, 149, 123, 123, 358, 358, 661,
00693 123, 661, 355, 123, 661, 357, 124, 123, 368, 354,
00694 149, 186, 356, 661, 123, 124, 378, 359, 123, 661,
00695 149, 149, 149, 123, 149, 149, 369, 339, 339, 123,
00696 124, 124, 375, 370, 370, 149, 338, 377, 149, 376,
00697
00698 123, 372, 124, 373, 123, 380, 380, 371, 123, 124,
00699 661, 374, 123, 124, 358, 358, 661, 123, 124, 379,
00700 383, 123, 324, 324, 149, 123, 385, 385, 186, 338,
00701 382, 339, 338, 123, 123, 149, 381, 123, 123, 149,
00702 386, 392, 661, 149, 123, 333, 123, 149, 370, 370,
00703 398, 338, 149, 394, 368, 396, 124, 395, 324, 324,
00704 124, 123, 371, 397, 339, 123, 661, 339, 124, 124,
00705 123, 123, 124, 124, 399, 123, 123, 386, 386, 149,
00706 338, 124, 402, 404, 661, 393, 339, 298, 298, 406,
00707 368, 400, 411, 123, 380, 380, 124, 348, 401, 661,
00708
00709 149, 403, 661, 661, 661, 149, 149, 661, 661, 661,
00710 124, 149, 661, 661, 661, 339, 407, 661, 661, 335,
00711 661, 661, 661, 661, 661, 412, 661, 661, 124, 661,
00712 661, 661, 149, 337, 385, 385, 337, 338, 337, 337,
00713 337, 337, 337, 337, 337, 337, 337, 337, 386, 337,
00714 405, 405, 405, 405, 405, 405, 405, 405, 405, 405,
00715 405, 405, 405, 405, 405, 405, 405, 405, 405, 405,
00716 405, 337, 339, 337, 405, 405, 405, 386, 386, 123,
00717 338, 123, 123, 416, 416, 123, 123, 661, 123, 406,
00718 290, 123, 123, 661, 123, 427, 338, 123, 417, 123,
00719
00720 123, 123, 661, 661, 661, 413, 415, 661, 414, 419,
00721 422, 420, 661, 440, 124, 339, 124, 124, 418, 421,
00722 149, 124, 423, 149, 424, 469, 149, 149, 368, 149,
00723 661, 339, 124, 661, 124, 149, 149, 337, 425, 425,
00724 337, 338, 337, 337, 337, 337, 337, 426, 337, 337,
00725 337, 337, 337, 337, 426, 426, 426, 426, 426, 426,
00726 426, 426, 426, 426, 426, 426, 426, 426, 426, 426,
00727 426, 426, 426, 426, 426, 337, 339, 337, 426, 426,
00728 426, 428, 428, 123, 338, 123, 123, 661, 123, 123,
00729 324, 324, 123, 123, 661, 371, 416, 416, 123, 123,
00730
00731 432, 380, 380, 290, 123, 450, 123, 433, 436, 123,
00732 380, 380, 435, 123, 661, 438, 661, 434, 124, 339,
00733 124, 124, 368, 149, 124, 417, 439, 149, 124, 437,
00734 338, 123, 661, 149, 124, 123, 123, 428, 428, 149,
00735 338, 149, 417, 445, 149, 123, 123, 446, 149, 425,
00736 425, 371, 338, 123, 123, 451, 452, 458, 458, 338,
00737 123, 338, 453, 454, 333, 339, 149, 441, 338, 442,
00738 124, 124, 443, 456, 338, 339, 444, 459, 457, 455,
00739 149, 149, 338, 460, 461, 338, 661, 339, 149, 149,
00740 467, 467, 123, 123, 339, 149, 339, 462, 123, 123,
00741
00742 123, 123, 661, 339, 661, 380, 380, 464, 123, 339,
00743 338, 661, 463, 338, 338, 468, 470, 339, 338, 661,
00744 339, 417, 471, 458, 458, 338, 123, 149, 124, 338,
00745 333, 473, 472, 124, 149, 149, 149, 417, 475, 475,
00746 474, 338, 123, 149, 477, 339, 479, 123, 481, 339,
00747 123, 467, 467, 339, 482, 478, 338, 338, 483, 123,
00748 339, 149, 338, 485, 339, 338, 123, 484, 338, 476,
00749 475, 475, 496, 490, 491, 338, 339, 124, 338, 486,
00750 661, 493, 149, 661, 494, 124, 487, 488, 489, 124,
00751 661, 339, 339, 123, 149, 492, 123, 339, 495, 661,
00752
00753 481, 149, 338, 339, 123, 338, 661, 481, 339, 483,
00754 339, 497, 497, 339, 338, 499, 499, 338, 123, 500,
00755 500, 501, 123, 338, 502, 498, 338, 338, 124, 162,
00756 503, 149, 504, 385, 385, 338, 338, 339, 661, 149,
00757 481, 505, 338, 506, 508, 661, 123, 386, 509, 481,
00758 123, 507, 339, 124, 661, 510, 338, 149, 339, 511,
00759 661, 339, 339, 516, 512, 512, 515, 338, 661, 338,
00760 339, 339, 497, 497, 661, 338, 517, 339, 513, 500,
00761 500, 149, 482, 338, 338, 149, 498, 475, 475, 503,
00762 338, 339, 519, 338, 475, 475, 338, 338, 123, 338,
00763
00764 661, 520, 481, 518, 339, 661, 661, 661, 661, 514,
00765 481, 661, 661, 521, 515, 661, 661, 149, 339, 339,
00766 661, 661, 522, 523, 661, 339, 503, 661, 339, 661,
00767 661, 339, 339, 149, 339, 480, 512, 512, 480, 338,
00768 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
00769 513, 480, 524, 524, 524, 524, 524, 524, 524, 524,
00770 524, 524, 524, 524, 524, 524, 524, 524, 524, 524,
00771 524, 524, 524, 480, 481, 480, 524, 524, 524, 513,
00772 513, 338, 338, 513, 513, 338, 338, 527, 527, 661,
00773 123, 525, 338, 338, 661, 525, 338, 338, 528, 338,
00774
00775 338, 186, 338, 661, 661, 661, 661, 661, 661, 661,
00776 661, 530, 661, 661, 539, 661, 339, 481, 526, 661,
00777 339, 481, 503, 531, 529, 149, 532, 339, 339, 533,
00778 534, 339, 339, 661, 339, 339, 661, 339, 480, 535,
00779 535, 480, 338, 480, 480, 480, 480, 480, 536, 480,
00780 480, 480, 480, 480, 480, 536, 536, 536, 536, 536,
00781 536, 536, 536, 536, 536, 536, 536, 536, 536, 536,
00782 536, 536, 536, 536, 536, 536, 480, 481, 480, 536,
00783 536, 536, 537, 338, 538, 538, 338, 338, 338, 661,
00784 338, 661, 475, 475, 338, 338, 542, 542, 498, 338,
00785
00786 543, 543, 661, 338, 661, 661, 550, 548, 540, 661,
00787 338, 549, 538, 538, 661, 338, 338, 338, 481, 541,
00788 338, 339, 481, 339, 503, 339, 498, 562, 338, 481,
00789 339, 661, 338, 338, 339, 338, 551, 552, 339, 535,
00790 535, 338, 338, 558, 555, 339, 661, 661, 661, 557,
00791 481, 339, 339, 661, 661, 481, 556, 544, 661, 545,
00792 661, 661, 546, 481, 661, 559, 547, 481, 481, 563,
00793 481, 661, 661, 661, 661, 661, 339, 481, 337, 542,
00794 542, 337, 338, 337, 337, 337, 337, 337, 337, 337,
00795 337, 337, 337, 337, 337, 553, 553, 553, 553, 553,
00796
00797 553, 553, 553, 553, 553, 553, 553, 553, 553, 553,
00798 553, 553, 553, 553, 553, 553, 337, 339, 337, 553,
00799 553, 553, 337, 543, 543, 337, 338, 337, 337, 337,
00800 337, 337, 337, 337, 337, 337, 337, 337, 337, 554,
00801 554, 554, 554, 554, 554, 554, 554, 554, 554, 554,
00802 554, 554, 554, 554, 554, 554, 554, 554, 554, 554,
00803 337, 339, 337, 554, 554, 554, 338, 561, 561, 338,
00804 338, 661, 661, 661, 661, 661, 661, 661, 661, 661,
00805 661, 661, 568, 661, 661, 661, 661, 661, 560, 661,
00806 661, 661, 661, 661, 661, 661, 661, 661, 661, 661,
00807
00808 661, 481, 661, 661, 481, 339, 337, 564, 564, 337,
00809 338, 337, 337, 337, 337, 337, 565, 337, 337, 337,
00810 337, 337, 337, 565, 565, 565, 565, 565, 565, 565,
00811 565, 565, 565, 565, 565, 565, 565, 565, 565, 565,
00812 565, 565, 565, 565, 337, 339, 337, 565, 565, 565,
00813 337, 566, 566, 337, 338, 337, 337, 337, 337, 337,
00814 567, 337, 337, 337, 337, 337, 337, 567, 567, 567,
00815 567, 567, 567, 567, 567, 567, 567, 567, 567, 567,
00816 567, 567, 567, 567, 567, 567, 567, 567, 337, 339,
00817 337, 567, 567, 567, 338, 570, 570, 338, 338, 338,
00818
00819 338, 561, 561, 338, 575, 338, 661, 661, 661, 661,
00820 661, 338, 661, 338, 570, 570, 574, 490, 582, 362,
00821 338, 661, 576, 338, 569, 338, 571, 572, 338, 481,
00822 573, 581, 481, 481, 481, 481, 661, 583, 339, 339,
00823 339, 566, 566, 580, 338, 585, 481, 577, 481, 338,
00824 584, 586, 481, 512, 512, 481, 338, 578, 481, 338,
00825 481, 579, 338, 481, 338, 362, 338, 513, 587, 587,
00826 338, 338, 588, 338, 338, 661, 661, 591, 338, 339,
00827 661, 338, 661, 589, 339, 590, 338, 338, 593, 661,
00828 594, 481, 596, 598, 339, 599, 592, 339, 595, 481,
00829
00830 338, 481, 597, 338, 338, 481, 339, 604, 481, 481,
00831 338, 587, 587, 481, 338, 588, 481, 570, 570, 601,
00832 338, 339, 481, 338, 603, 338, 600, 570, 570, 602,
00833 338, 338, 338, 605, 661, 339, 661, 591, 339, 481,
00834 606, 338, 607, 338, 338, 481, 610, 338, 338, 339,
00835 611, 611, 338, 338, 338, 481, 338, 661, 481, 591,
00836 481, 608, 338, 338, 386, 481, 339, 481, 609, 613,
00837 338, 612, 617, 615, 338, 614, 339, 338, 481, 481,
00838 621, 616, 481, 481, 338, 661, 618, 481, 339, 481,
00839 620, 481, 619, 611, 611, 338, 338, 481, 481, 338,
00840
00841 338, 570, 570, 601, 338, 339, 591, 386, 338, 339,
00842 624, 624, 481, 338, 338, 623, 627, 622, 338, 481,
00843 625, 625, 338, 338, 661, 661, 661, 626, 628, 632,
00844 481, 339, 661, 591, 339, 481, 661, 661, 629, 481,
00845 661, 661, 661, 481, 661, 661, 661, 661, 481, 339,
00846 635, 661, 661, 481, 661, 661, 661, 481, 481, 480,
00847 624, 624, 480, 338, 480, 480, 480, 480, 480, 480,
00848 480, 480, 480, 480, 480, 480, 630, 630, 630, 630,
00849 630, 630, 630, 630, 630, 630, 630, 630, 630, 630,
00850 630, 630, 630, 630, 630, 630, 630, 480, 481, 480,
00851
00852 630, 630, 630, 480, 625, 625, 480, 338, 480, 480,
00853 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
00854 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
00855 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
00856 631, 480, 481, 480, 631, 631, 631, 633, 633, 338,
00857 338, 661, 661, 661, 661, 661, 661, 661, 661, 661,
00858 661, 661, 661, 661, 661, 661, 634, 661, 661, 661,
00859 661, 661, 661, 661, 661, 661, 661, 661, 661, 661,
00860 661, 661, 661, 661, 481, 481, 480, 636, 636, 480,
00861 338, 480, 480, 480, 480, 480, 637, 480, 480, 480,
00862
00863 480, 480, 480, 637, 637, 637, 637, 637, 637, 637,
00864 637, 637, 637, 637, 637, 637, 637, 637, 637, 637,
00865 637, 637, 637, 637, 480, 481, 480, 637, 637, 637,
00866 480, 638, 638, 480, 338, 480, 480, 480, 480, 480,
00867 639, 480, 480, 480, 480, 480, 480, 639, 639, 639,
00868 639, 639, 639, 639, 639, 639, 639, 639, 639, 639,
00869 639, 639, 639, 639, 639, 639, 639, 639, 480, 481,
00870 480, 639, 639, 639, 338, 633, 633, 338, 575, 338,
00871 661, 645, 645, 661, 338, 338, 661, 640, 601, 661,
00872 661, 646, 646, 496, 338, 647, 641, 338, 338, 661,
00873
00874 661, 496, 338, 645, 645, 661, 338, 338, 338, 339,
00875 601, 661, 481, 481, 481, 638, 638, 661, 338, 339,
00876 481, 642, 648, 646, 646, 649, 338, 647, 338, 481,
00877 651, 643, 481, 481, 650, 644, 338, 481, 338, 338,
00878 651, 339, 481, 481, 654, 654, 338, 338, 661, 338,
00879 661, 653, 338, 481, 652, 656, 654, 654, 513, 338,
00880 661, 481, 657, 481, 661, 659, 661, 661, 655, 661,
00881 513, 481, 661, 481, 481, 661, 658, 661, 661, 661,
00882 661, 481, 481, 661, 481, 660, 660, 481, 338, 661,
00883 660, 660, 651, 338, 481, 661, 661, 651, 661, 661,
00884
00885 661, 661, 661, 661, 661, 661, 661, 661, 661, 661,
00886 661, 661, 661, 661, 661, 661, 661, 661, 661, 661,
00887 661, 661, 661, 481, 661, 661, 661, 661, 481, 6,
00888 6, 6, 6, 6, 6, 6, 6, 17, 17, 17,
00889 17, 17, 661, 17, 17, 23, 23, 23, 23, 23,
00890 23, 23, 23, 26, 26, 26, 26, 26, 26, 26,
00891 26, 29, 29, 661, 661, 29, 36, 36, 36, 36,
00892 36, 36, 661, 36, 47, 47, 47, 47, 661, 47,
00893 47, 52, 661, 661, 661, 52, 53, 53, 53, 53,
00894 53, 53, 53, 53, 63, 63, 63, 661, 661, 63,
00895
00896 63, 64, 64, 64, 64, 64, 64, 661, 64, 78,
00897 78, 661, 78, 78, 78, 78, 78, 80, 80, 661,
00898 661, 661, 661, 80, 84, 84, 84, 661, 661, 661,
00899 84, 85, 85, 661, 661, 661, 661, 85, 90, 90,
00900 90, 661, 661, 661, 90, 119, 119, 119, 119, 119,
00901 119, 119, 119, 122, 122, 122, 122, 122, 122, 122,
00902 122, 132, 132, 132, 132, 132, 132, 132, 132, 135,
00903 135, 135, 135, 135, 135, 135, 135, 148, 148, 148,
00904 148, 148, 148, 148, 148, 164, 164, 164, 164, 164,
00905 164, 164, 164, 225, 225, 661, 661, 661, 661, 225,
00906
00907 226, 226, 661, 661, 661, 661, 226, 232, 232, 232,
00908 661, 661, 661, 232, 234, 234, 234, 661, 661, 661,
00909 234, 239, 239, 661, 661, 661, 661, 239, 250, 250,
00910 250, 661, 661, 661, 250, 337, 337, 337, 337, 337,
00911 337, 337, 337, 480, 480, 480, 480, 480, 480, 480,
00912 480, 5, 661, 661, 661, 661, 661, 661, 661, 661,
00913 661, 661, 661, 661, 661, 661, 661, 661, 661, 661,
00914 661, 661, 661, 661, 661, 661, 661, 661, 661, 661,
00915 661, 661, 661, 661, 661, 661, 661, 661, 661, 661,
00916 661, 661, 661, 661, 661, 661
00917
00918 } ;
00919
00920 static yyconst short int yy_chk[3397] =
00921 { 0,
00922 0, 1, 1, 2, 2, 73, 73, 76, 76, 77,
00923 77, 80, 80, 1, 673, 2, 3, 3, 3, 3,
00924 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
00925 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
00926 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
00927 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
00928 7, 7, 8, 11, 12, 18, 18, 20, 22, 23,
00929 8, 25, 7, 38, 26, 8, 27, 18, 20, 35,
00930 35, 37, 37, 39, 40, 51, 20, 58, 58, 115,
00931 35, 47, 47, 35, 82, 22, 20, 12, 11, 38,
00932
00933 669, 58, 47, 116, 23, 47, 25, 26, 667, 27,
00934 51, 63, 63, 65, 65, 81, 81, 40, 39, 82,
00935 83, 83, 84, 84, 115, 63, 85, 85, 89, 89,
00936 90, 90, 107, 107, 108, 108, 111, 111, 116, 111,
00937 112, 112, 119, 112, 113, 113, 114, 114, 121, 83,
00938 117, 117, 83, 117, 122, 118, 118, 89, 118, 124,
00939 89, 120, 120, 125, 123, 123, 126, 127, 127, 132,
00940 127, 128, 128, 134, 128, 133, 133, 119, 123, 129,
00941 129, 131, 131, 121, 131, 135, 136, 136, 137, 122,
00942 138, 140, 140, 129, 124, 131, 139, 139, 125, 139,
00943
00944 136, 126, 142, 140, 132, 148, 149, 466, 134, 128,
00945 141, 141, 449, 141, 143, 143, 129, 143, 154, 131,
00946 135, 145, 145, 137, 141, 138, 144, 144, 448, 144,
00947 147, 147, 157, 147, 139, 145, 164, 142, 151, 151,
00948 148, 149, 150, 150, 147, 150, 431, 141, 141, 430,
00949 151, 153, 153, 154, 153, 155, 155, 161, 155, 156,
00950 156, 161, 156, 153, 144, 160, 160, 157, 147, 158,
00951 158, 164, 158, 156, 165, 159, 159, 151, 159, 160,
00952 150, 163, 163, 158, 162, 162, 168, 162, 410, 153,
00953 409, 166, 166, 155, 166, 408, 162, 156, 167, 167,
00954
00955 389, 167, 169, 169, 388, 169, 387, 158, 181, 165,
00956 170, 170, 167, 159, 174, 384, 169, 163, 366, 184,
00957 365, 168, 162, 162, 170, 173, 173, 174, 173, 166,
00958 182, 174, 187, 187, 364, 167, 167, 363, 181, 173,
00959 169, 175, 175, 181, 175, 176, 176, 190, 176, 174,
00960 177, 177, 182, 177, 184, 175, 180, 180, 360, 180,
00961 345, 199, 177, 173, 191, 182, 183, 183, 187, 183,
00962 180, 185, 185, 196, 185, 186, 186, 190, 186, 175,
00963 183, 191, 190, 176, 193, 185, 203, 186, 177, 192,
00964 192, 199, 192, 197, 180, 196, 199, 193, 204, 191,
00965
00966 200, 193, 205, 192, 183, 209, 203, 206, 196, 185,
00967 213, 213, 210, 186, 186, 204, 197, 198, 198, 193,
00968 198, 203, 200, 211, 206, 212, 215, 192, 197, 214,
00969 214, 198, 205, 204, 209, 200, 210, 205, 216, 217,
00970 209, 223, 206, 219, 219, 211, 218, 210, 212, 220,
00971 220, 221, 221, 224, 221, 198, 215, 229, 211, 217,
00972 212, 215, 336, 218, 222, 222, 230, 222, 216, 344,
00973 223, 225, 225, 216, 217, 336, 223, 224, 226, 226,
00974 342, 218, 231, 231, 232, 232, 341, 229, 224, 221,
00975 234, 234, 229, 239, 239, 340, 230, 250, 250, 335,
00976
00977 335, 230, 222, 227, 227, 227, 227, 227, 227, 227,
00978 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
00979 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
00980 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
00981 227, 227, 227, 227, 227, 227, 227, 228, 228, 228,
00982 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
00983 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
00984 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
00985 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
00986 228, 233, 233, 321, 240, 240, 320, 233, 240, 251,
00987
00988 251, 298, 298, 251, 298, 298, 319, 233, 429, 429,
00989 316, 233, 235, 235, 235, 235, 235, 235, 235, 235,
00990 235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
00991 235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
00992 235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
00993 235, 235, 235, 235, 235, 235, 236, 236, 236, 236,
00994 236, 236, 236, 236, 236, 236, 236, 236, 236, 236,
00995 236, 236, 236, 236, 236, 236, 236, 236, 236, 236,
00996 236, 236, 236, 236, 236, 236, 236, 236, 236, 236,
00997 236, 236, 236, 236, 236, 236, 236, 236, 236, 236,
00998
00999 237, 237, 258, 237, 238, 238, 257, 238, 249, 249,
01000 266, 266, 315, 283, 283, 447, 447, 301, 447, 318,
01001 300, 318, 338, 338, 266, 258, 249, 283, 249, 318,
01002 257, 249, 367, 367, 299, 249, 338, 258, 237, 367,
01003 297, 257, 238, 243, 243, 243, 243, 243, 243, 243,
01004 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
01005 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
01006 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
01007 243, 243, 243, 243, 243, 243, 243, 245, 245, 271,
01008 245, 280, 280, 245, 361, 361, 296, 391, 391, 499,
01009
01010 499, 284, 282, 245, 391, 527, 527, 245, 361, 564,
01011 564, 281, 279, 499, 278, 271, 267, 265, 264, 527,
01012 263, 262, 280, 564, 271, 245, 247, 247, 247, 247,
01013 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
01014 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
01015 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
01016 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
01017 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
01018 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
01019 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
01020
01021 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
01022 248, 248, 248, 248, 255, 255, 255, 255, 255, 255,
01023 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
01024 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
01025 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
01026 255, 255, 255, 255, 255, 255, 255, 255, 256, 256,
01027 272, 256, 256, 636, 636, 261, 254, 253, 252, 242,
01028 241, 208, 207, 202, 201, 195, 194, 636, 189, 188,
01029 179, 178, 172, 171, 152, 110, 109, 106, 105, 104,
01030 103, 102, 101, 272, 100, 272, 256, 259, 259, 259,
01031
01032 259, 259, 259, 259, 259, 259, 259, 259, 259, 259,
01033 259, 259, 259, 259, 259, 259, 259, 259, 259, 259,
01034 259, 259, 259, 259, 259, 259, 259, 259, 259, 259,
01035 259, 259, 259, 259, 259, 259, 259, 259, 259, 259,
01036 259, 260, 260, 260, 260, 260, 260, 260, 260, 260,
01037 260, 260, 260, 260, 260, 260, 260, 260, 260, 260,
01038 260, 260, 260, 260, 260, 260, 260, 260, 260, 260,
01039 260, 260, 260, 260, 260, 260, 260, 260, 260, 260,
01040 260, 260, 260, 260, 260, 268, 268, 273, 268, 270,
01041 270, 285, 270, 270, 99, 98, 97, 96, 95, 94,
01042
01043 93, 92, 91, 268, 88, 268, 87, 285, 268, 86,
01044 79, 78, 268, 273, 75, 74, 72, 71, 70, 68,
01045 67, 66, 273, 268, 64, 62, 285, 270, 274, 274,
01046 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
01047 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
01048 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
01049 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
01050 274, 274, 276, 276, 286, 276, 288, 287, 276, 289,
01051 294, 290, 290, 291, 290, 343, 343, 61, 276, 60,
01052 59, 57, 276, 287, 289, 290, 56, 55, 286, 288,
01053
01054 53, 46, 45, 44, 294, 43, 42, 36, 34, 286,
01055 276, 288, 287, 291, 289, 294, 33, 343, 291, 290,
01056 292, 292, 292, 292, 292, 292, 292, 292, 292, 292,
01057 292, 292, 292, 292, 292, 292, 292, 292, 292, 292,
01058 292, 292, 292, 292, 292, 292, 292, 292, 292, 292,
01059 292, 292, 292, 292, 292, 292, 292, 292, 292, 292,
01060 292, 292, 292, 292, 293, 293, 295, 293, 293, 302,
01061 303, 32, 304, 304, 306, 304, 305, 307, 307, 308,
01062 307, 31, 302, 311, 311, 29, 311, 311, 317, 295,
01063 306, 307, 312, 313, 314, 322, 16, 326, 13, 5,
01064
01065 303, 295, 293, 304, 302, 303, 305, 325, 0, 306,
01066 304, 305, 308, 323, 308, 307, 309, 309, 312, 309,
01067 314, 311, 326, 317, 325, 322, 313, 312, 313, 314,
01068 322, 327, 326, 323, 309, 328, 309, 324, 324, 309,
01069 324, 324, 325, 309, 327, 329, 330, 334, 323, 331,
01070 332, 328, 337, 339, 309, 346, 347, 333, 333, 0,
01071 333, 0, 330, 353, 0, 332, 327, 352, 346, 329,
01072 328, 333, 331, 0, 350, 324, 353, 334, 351, 0,
01073 329, 330, 334, 349, 331, 332, 347, 337, 339, 354,
01074 346, 347, 350, 348, 348, 333, 348, 352, 353, 351,
01075
01076 356, 349, 352, 349, 357, 355, 355, 348, 355, 350,
01077 0, 349, 359, 351, 358, 358, 0, 358, 349, 354,
01078 357, 369, 368, 368, 354, 368, 362, 362, 358, 362,
01079 356, 348, 371, 372, 373, 356, 355, 377, 374, 357,
01080 362, 369, 0, 355, 378, 359, 376, 359, 370, 370,
01081 377, 370, 358, 372, 369, 374, 369, 373, 375, 375,
01082 368, 375, 370, 376, 362, 381, 0, 371, 372, 373,
01083 383, 379, 377, 374, 378, 392, 382, 386, 386, 378,
01084 386, 376, 381, 383, 0, 370, 370, 390, 390, 386,
01085 375, 379, 392, 394, 380, 380, 375, 380, 380, 0,
01086
01087 381, 382, 0, 0, 0, 383, 379, 0, 0, 0,
01088 392, 382, 0, 0, 0, 386, 386, 0, 0, 390,
01089 0, 0, 0, 0, 0, 394, 0, 0, 394, 0,
01090 0, 0, 380, 385, 385, 385, 385, 385, 385, 385,
01091 385, 385, 385, 385, 385, 385, 385, 385, 385, 385,
01092 385, 385, 385, 385, 385, 385, 385, 385, 385, 385,
01093 385, 385, 385, 385, 385, 385, 385, 385, 385, 385,
01094 385, 385, 385, 385, 385, 385, 385, 393, 393, 395,
01095 393, 396, 397, 398, 398, 399, 398, 0, 400, 393,
01096 398, 401, 402, 0, 404, 406, 406, 452, 399, 411,
01097
01098 424, 403, 0, 0, 0, 395, 397, 0, 396, 401,
01099 402, 401, 0, 424, 395, 393, 396, 397, 400, 401,
01100 399, 398, 403, 400, 404, 452, 401, 402, 411, 404,
01101 0, 406, 452, 0, 411, 424, 403, 405, 405, 405,
01102 405, 405, 405, 405, 405, 405, 405, 405, 405, 405,
01103 405, 405, 405, 405, 405, 405, 405, 405, 405, 405,
01104 405, 405, 405, 405, 405, 405, 405, 405, 405, 405,
01105 405, 405, 405, 405, 405, 405, 405, 405, 405, 405,
01106 405, 407, 407, 412, 407, 413, 414, 0, 419, 432,
01107 415, 415, 418, 415, 0, 407, 416, 416, 421, 416,
01108
01109 412, 417, 417, 416, 417, 432, 420, 413, 419, 423,
01110 422, 422, 418, 422, 0, 421, 0, 414, 412, 407,
01111 413, 414, 415, 419, 432, 418, 423, 418, 415, 420,
01112 427, 436, 0, 421, 416, 433, 434, 428, 428, 417,
01113 428, 420, 422, 427, 423, 435, 438, 427, 422, 425,
01114 425, 428, 425, 437, 439, 433, 434, 440, 440, 442,
01115 440, 441, 435, 436, 440, 427, 436, 425, 443, 425,
01116 433, 434, 425, 438, 444, 428, 425, 441, 439, 437,
01117 435, 438, 445, 442, 443, 446, 0, 425, 437, 439,
01118 450, 450, 453, 450, 442, 440, 441, 444, 451, 454,
01119
01120 455, 456, 0, 443, 0, 457, 457, 446, 457, 444,
01121 460, 0, 445, 465, 462, 451, 454, 445, 459, 0,
01122 446, 453, 455, 458, 458, 463, 458, 453, 450, 464,
01123 458, 459, 456, 451, 454, 455, 456, 457, 461, 461,
01124 460, 461, 468, 457, 462, 460, 464, 470, 465, 462,
01125 469, 467, 467, 459, 467, 463, 477, 473, 468, 471,
01126 463, 458, 478, 470, 464, 480, 472, 469, 474, 461,
01127 475, 475, 481, 475, 475, 479, 461, 468, 476, 471,
01128 0, 477, 470, 0, 478, 469, 472, 473, 474, 467,
01129 0, 477, 473, 484, 471, 476, 487, 478, 479, 0,
01130
01131 480, 472, 489, 474, 486, 498, 0, 481, 475, 484,
01132 479, 482, 482, 476, 482, 483, 483, 488, 483, 485,
01133 485, 486, 485, 491, 487, 482, 492, 493, 484, 483,
01134 488, 487, 489, 490, 490, 494, 490, 489, 0, 486,
01135 498, 491, 495, 491, 492, 0, 502, 490, 493, 482,
01136 501, 491, 488, 483, 0, 494, 504, 485, 491, 495,
01137 0, 492, 493, 502, 496, 496, 501, 496, 0, 506,
01138 494, 490, 497, 497, 0, 497, 504, 495, 496, 500,
01139 500, 502, 500, 505, 507, 501, 497, 503, 503, 504,
01140 503, 504, 506, 510, 508, 508, 509, 508, 516, 511,
01141
01142 0, 507, 496, 505, 506, 0, 0, 0, 0, 497,
01143 497, 0, 0, 509, 516, 0, 0, 500, 505, 507,
01144 0, 0, 510, 511, 0, 503, 508, 0, 510, 0,
01145 0, 509, 508, 516, 511, 512, 512, 512, 512, 512,
01146 512, 512, 512, 512, 512, 512, 512, 512, 512, 512,
01147 512, 512, 512, 512, 512, 512, 512, 512, 512, 512,
01148 512, 512, 512, 512, 512, 512, 512, 512, 512, 512,
01149 512, 512, 512, 512, 512, 512, 512, 512, 512, 513,
01150 513, 517, 513, 514, 514, 519, 514, 515, 515, 0,
01151 515, 513, 518, 528, 0, 514, 520, 529, 517, 522,
01152
01153 523, 515, 521, 0, 0, 0, 0, 0, 0, 0,
01154 0, 519, 0, 0, 529, 0, 517, 513, 513, 0,
01155 519, 514, 528, 520, 518, 515, 521, 518, 528, 522,
01156 523, 520, 529, 0, 522, 523, 0, 521, 524, 524,
01157 524, 524, 524, 524, 524, 524, 524, 524, 524, 524,
01158 524, 524, 524, 524, 524, 524, 524, 524, 524, 524,
01159 524, 524, 524, 524, 524, 524, 524, 524, 524, 524,
01160 524, 524, 524, 524, 524, 524, 524, 524, 524, 524,
01161 524, 524, 525, 525, 526, 526, 530, 526, 531, 0,
01162 539, 0, 532, 532, 537, 532, 533, 533, 526, 533,
01163
01164 534, 534, 0, 534, 0, 0, 539, 537, 530, 0,
01165 551, 537, 538, 538, 0, 538, 540, 541, 525, 531,
01166 547, 530, 526, 531, 532, 539, 538, 551, 544, 537,
01167 532, 0, 545, 546, 533, 548, 540, 541, 534, 535,
01168 535, 552, 535, 547, 544, 551, 0, 0, 0, 546,
01169 538, 540, 541, 0, 0, 547, 545, 535, 0, 535,
01170 0, 0, 535, 544, 0, 548, 535, 545, 546, 552,
01171 548, 0, 0, 0, 0, 0, 552, 535, 542, 542,
01172 542, 542, 542, 542, 542, 542, 542, 542, 542, 542,
01173 542, 542, 542, 542, 542, 542, 542, 542, 542, 542,
01174
01175 542, 542, 542, 542, 542, 542, 542, 542, 542, 542,
01176 542, 542, 542, 542, 542, 542, 542, 542, 542, 542,
01177 542, 542, 543, 543, 543, 543, 543, 543, 543, 543,
01178 543, 543, 543, 543, 543, 543, 543, 543, 543, 543,
01179 543, 543, 543, 543, 543, 543, 543, 543, 543, 543,
01180 543, 543, 543, 543, 543, 543, 543, 543, 543, 543,
01181 543, 543, 543, 543, 543, 543, 549, 550, 550, 555,
01182 550, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01183 0, 0, 555, 0, 0, 0, 0, 0, 549, 0,
01184 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01185
01186 0, 549, 0, 0, 555, 550, 553, 553, 553, 553,
01187 553, 553, 553, 553, 553, 553, 553, 553, 553, 553,
01188 553, 553, 553, 553, 553, 553, 553, 553, 553, 553,
01189 553, 553, 553, 553, 553, 553, 553, 553, 553, 553,
01190 553, 553, 553, 553, 553, 553, 553, 553, 553, 553,
01191 554, 554, 554, 554, 554, 554, 554, 554, 554, 554,
01192 554, 554, 554, 554, 554, 554, 554, 554, 554, 554,
01193 554, 554, 554, 554, 554, 554, 554, 554, 554, 554,
01194 554, 554, 554, 554, 554, 554, 554, 554, 554, 554,
01195 554, 554, 554, 554, 556, 557, 557, 558, 557, 560,
01196
01197 559, 561, 561, 562, 561, 563, 0, 0, 0, 0,
01198 0, 569, 0, 568, 570, 570, 560, 570, 570, 562,
01199 571, 0, 563, 573, 556, 572, 557, 558, 574, 556,
01200 559, 569, 558, 557, 560, 559, 0, 571, 562, 561,
01201 563, 566, 566, 568, 566, 573, 569, 566, 568, 576,
01202 572, 574, 570, 575, 575, 571, 575, 566, 573, 578,
01203 572, 566, 579, 574, 580, 576, 581, 575, 577, 577,
01204 582, 577, 577, 585, 583, 0, 0, 580, 586, 566,
01205 0, 584, 0, 578, 576, 579, 589, 593, 582, 0,
01206 582, 575, 583, 585, 578, 586, 581, 579, 582, 580,
01207
01208 588, 581, 584, 590, 592, 582, 577, 593, 585, 583,
01209 594, 587, 587, 586, 587, 587, 584, 591, 591, 589,
01210 591, 589, 593, 595, 592, 597, 588, 596, 596, 590,
01211 596, 600, 598, 594, 0, 588, 0, 592, 590, 592,
01212 595, 602, 597, 604, 599, 594, 600, 605, 607, 587,
01213 601, 601, 603, 601, 606, 591, 608, 0, 595, 596,
01214 597, 598, 609, 614, 601, 596, 600, 598, 599, 603,
01215 612, 602, 607, 605, 610, 604, 602, 613, 604, 599,
01216 614, 606, 605, 607, 616, 0, 608, 603, 601, 606,
01217 610, 608, 609, 611, 611, 615, 611, 609, 614, 626,
01218
01219 621, 617, 617, 612, 617, 612, 613, 611, 622, 610,
01220 618, 618, 613, 618, 620, 616, 621, 615, 623, 616,
01221 619, 619, 629, 619, 0, 0, 0, 620, 622, 626,
01222 615, 611, 0, 617, 626, 621, 0, 0, 623, 617,
01223 0, 0, 0, 622, 0, 0, 0, 0, 618, 620,
01224 629, 0, 0, 623, 0, 0, 0, 629, 619, 624,
01225 624, 624, 624, 624, 624, 624, 624, 624, 624, 624,
01226 624, 624, 624, 624, 624, 624, 624, 624, 624, 624,
01227 624, 624, 624, 624, 624, 624, 624, 624, 624, 624,
01228 624, 624, 624, 624, 624, 624, 624, 624, 624, 624,
01229
01230 624, 624, 624, 625, 625, 625, 625, 625, 625, 625,
01231 625, 625, 625, 625, 625, 625, 625, 625, 625, 625,
01232 625, 625, 625, 625, 625, 625, 625, 625, 625, 625,
01233 625, 625, 625, 625, 625, 625, 625, 625, 625, 625,
01234 625, 625, 625, 625, 625, 625, 625, 627, 627, 628,
01235 627, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01236 0, 0, 0, 0, 0, 0, 628, 0, 0, 0,
01237 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01238 0, 0, 0, 0, 628, 627, 630, 630, 630, 630,
01239 630, 630, 630, 630, 630, 630, 630, 630, 630, 630,
01240
01241 630, 630, 630, 630, 630, 630, 630, 630, 630, 630,
01242 630, 630, 630, 630, 630, 630, 630, 630, 630, 630,
01243 630, 630, 630, 630, 630, 630, 630, 630, 630, 630,
01244 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
01245 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
01246 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
01247 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
01248 631, 631, 631, 631, 632, 633, 633, 634, 633, 635,
01249 0, 640, 640, 0, 640, 641, 0, 632, 640, 0,
01250 0, 642, 642, 634, 642, 642, 635, 648, 643, 0,
01251
01252 0, 641, 644, 645, 645, 0, 645, 655, 647, 632,
01253 645, 0, 634, 633, 635, 638, 638, 0, 638, 640,
01254 641, 638, 643, 646, 646, 644, 646, 646, 649, 642,
01255 648, 638, 648, 643, 647, 638, 650, 644, 652, 653,
01256 655, 645, 655, 647, 651, 651, 657, 651, 0, 656,
01257 0, 650, 658, 638, 649, 653, 654, 654, 651, 654,
01258 0, 646, 656, 649, 0, 658, 0, 0, 652, 0,
01259 654, 650, 0, 652, 653, 0, 657, 0, 0, 0,
01260 0, 657, 651, 0, 656, 659, 659, 658, 659, 0,
01261 660, 660, 659, 660, 654, 0, 0, 660, 0, 0,
01262
01263 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01264 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01265 0, 0, 0, 659, 0, 0, 0, 0, 660, 662,
01266 662, 662, 662, 662, 662, 662, 662, 663, 663, 663,
01267 663, 663, 0, 663, 663, 664, 664, 664, 664, 664,
01268 664, 664, 664, 665, 665, 665, 665, 665, 665, 665,
01269 665, 666, 666, 0, 0, 666, 668, 668, 668, 668,
01270 668, 668, 0, 668, 670, 670, 670, 670, 0, 670,
01271 670, 671, 0, 0, 0, 671, 672, 672, 672, 672,
01272 672, 672, 672, 672, 674, 674, 674, 0, 0, 674,
01273
01274 674, 675, 675, 675, 675, 675, 675, 0, 675, 676,
01275 676, 0, 676, 676, 676, 676, 676, 677, 677, 0,
01276 0, 0, 0, 677, 678, 678, 678, 0, 0, 0,
01277 678, 679, 679, 0, 0, 0, 0, 679, 680, 680,
01278 680, 0, 0, 0, 680, 681, 681, 681, 681, 681,
01279 681, 681, 681, 682, 682, 682, 682, 682, 682, 682,
01280 682, 683, 683, 683, 683, 683, 683, 683, 683, 684,
01281 684, 684, 684, 684, 684, 684, 684, 685, 685, 685,
01282 685, 685, 685, 685, 685, 686, 686, 686, 686, 686,
01283 686, 686, 686, 687, 687, 0, 0, 0, 0, 687,
01284
01285 688, 688, 0, 0, 0, 0, 688, 689, 689, 689,
01286 0, 0, 0, 689, 690, 690, 690, 0, 0, 0,
01287 690, 691, 691, 0, 0, 0, 0, 691, 692, 692,
01288 692, 0, 0, 0, 692, 693, 693, 693, 693, 693,
01289 693, 693, 693, 694, 694, 694, 694, 694, 694, 694,
01290 694, 661, 661, 661, 661, 661, 661, 661, 661, 661,
01291 661, 661, 661, 661, 661, 661, 661, 661, 661, 661,
01292 661, 661, 661, 661, 661, 661, 661, 661, 661, 661,
01293 661, 661, 661, 661, 661, 661, 661, 661, 661, 661,
01294 661, 661, 661, 661, 661, 661
01295
01296 } ;
01297
01298
01299
01300
01301 #define REJECT reject_used_but_not_detected
01302 #define yymore() yymore_used_but_not_detected
01303 #define YY_MORE_ADJ 0
01304 #define YY_RESTORE_YY_MORE_OFFSET
01305 #line 1 "xml.lex"
01306 #define INITIAL 0
01307 #line 2 "xml.lex"
01308
01309 #include "XmlReader.h"
01310
01311 #define IN_TAG 1
01312
01313 #line 1314 "xml.cpp"
01314
01315
01316
01317
01318
01319 #ifndef YY_SKIP_YYWRAP
01320 #ifdef __cplusplus
01321 extern "C" int yywrap YY_PROTO(( void ));
01322 #else
01323 extern int yywrap YY_PROTO(( void ));
01324 #endif
01325 #endif
01326
01327
01328 #ifndef yytext_ptr
01329 static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
01330 #endif
01331
01332 #ifdef YY_NEED_STRLEN
01333 static int yy_flex_strlen YY_PROTO(( yyconst char * ));
01334 #endif
01335
01336 #ifndef YY_NO_INPUT
01337 #endif
01338
01339 #if YY_STACK_USED
01340 static int yy_start_stack_ptr = 0;
01341 static int yy_start_stack_depth = 0;
01342 static int *yy_start_stack = 0;
01343 #ifndef YY_NO_PUSH_STATE
01344 static void yy_push_state YY_PROTO(( int new_state ));
01345 #endif
01346 #ifndef YY_NO_POP_STATE
01347 static void yy_pop_state YY_PROTO(( void ));
01348 #endif
01349 #ifndef YY_NO_TOP_STATE
01350 static int yy_top_state YY_PROTO(( void ));
01351 #endif
01352
01353 #else
01354 #define YY_NO_PUSH_STATE 1
01355 #define YY_NO_POP_STATE 1
01356 #define YY_NO_TOP_STATE 1
01357 #endif
01358
01359 #ifdef YY_MALLOC_DECL
01360 YY_MALLOC_DECL
01361 #else
01362 #if __STDC__
01363 #ifndef __cplusplus
01364 #include <stdlib.h>
01365 #endif
01366 #else
01367
01368
01369
01370
01371 #endif
01372 #endif
01373
01374
01375 #ifndef YY_READ_BUF_SIZE
01376 #define YY_READ_BUF_SIZE 8192
01377 #endif
01378
01379
01380
01381 #ifndef ECHO
01382 #define ECHO LexerOutput( yytext, yyleng )
01383 #endif
01384
01385
01386
01387
01388 #ifndef YY_INPUT
01389 #define YY_INPUT(buf,result,max_size) \
01390 if ( (result = LexerInput( (char *) buf, max_size )) < 0 ) \
01391 YY_FATAL_ERROR( "input in flex scanner failed" );
01392 #endif
01393
01394
01395
01396
01397
01398 #ifndef yyterminate
01399 #define yyterminate() return YY_NULL
01400 #endif
01401
01402
01403 #ifndef YY_START_STACK_INCR
01404 #define YY_START_STACK_INCR 25
01405 #endif
01406
01407
01408 #ifndef YY_FATAL_ERROR
01409 #define YY_FATAL_ERROR(msg) LexerError( msg )
01410 #endif
01411
01412
01413
01414
01415 #ifndef YY_DECL
01416 #define YY_DECL int yyFlexLexer::yylex()
01417 #endif
01418
01419
01420
01421
01422 #ifndef YY_USER_ACTION
01423 #define YY_USER_ACTION
01424 #endif
01425
01426
01427 #ifndef YY_BREAK
01428 #define YY_BREAK break;
01429 #endif
01430
01431 #define YY_RULE_SETUP \
01432 YY_USER_ACTION
01433
01434 YY_DECL
01435 {
01436 register yy_state_type yy_current_state;
01437 register char *yy_cp = NULL, *yy_bp = NULL;
01438 register int yy_act;
01439
01440 #line 27 "xml.lex"
01441
01442
01443 #line 1444 "xml.cpp"
01444
01445 if ( yy_init )
01446 {
01447 yy_init = 0;
01448
01449 #ifdef YY_USER_INIT
01450 YY_USER_INIT;
01451 #endif
01452
01453 if ( ! yy_start )
01454 yy_start = 1;
01455
01456 if ( ! yyin )
01457 yyin = &std::cin;
01458
01459 if ( ! yyout )
01460 yyout = &std::cout;
01461
01462 if ( ! yy_current_buffer )
01463 yy_current_buffer =
01464 yy_create_buffer( yyin, YY_BUF_SIZE );
01465
01466 yy_load_buffer_state();
01467 }
01468
01469 while ( 1 )
01470 {
01471 yy_cp = yy_c_buf_p;
01472
01473
01474 *yy_cp = yy_hold_char;
01475
01476
01477
01478
01479 yy_bp = yy_cp;
01480
01481 yy_current_state = yy_start;
01482 yy_match:
01483 do
01484 {
01485 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
01486 if ( yy_accept[yy_current_state] )
01487 {
01488 yy_last_accepting_state = yy_current_state;
01489 yy_last_accepting_cpos = yy_cp;
01490 }
01491 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
01492 {
01493 yy_current_state = (int) yy_def[yy_current_state];
01494 if ( yy_current_state >= 662 )
01495 yy_c = yy_meta[(unsigned int) yy_c];
01496 }
01497 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
01498 ++yy_cp;
01499 }
01500 while ( yy_base[yy_current_state] != 3352 );
01501
01502 yy_find_action:
01503 yy_act = yy_accept[yy_current_state];
01504 if ( yy_act == 0 )
01505 {
01506 yy_cp = yy_last_accepting_cpos;
01507 yy_current_state = yy_last_accepting_state;
01508 yy_act = yy_accept[yy_current_state];
01509 }
01510
01511 YY_DO_BEFORE_ACTION;
01512
01513
01514 do_action:
01515
01516
01517 switch ( yy_act )
01518 {
01519 case 0:
01520
01521 *yy_cp = yy_hold_char;
01522 yy_cp = yy_last_accepting_cpos;
01523 yy_current_state = yy_last_accepting_state;
01524 goto yy_find_action;
01525
01526 case 1:
01527 YY_RULE_SETUP
01528 #line 29 "xml.lex"
01529 return XML_DECL;
01530 YY_BREAK
01531 case 2:
01532 YY_RULE_SETUP
01533 #line 30 "xml.lex"
01534 return PROC_INST;
01535 YY_BREAK
01536 case 3:
01537 YY_RULE_SETUP
01538 #line 31 "xml.lex"
01539 return COMMENT;
01540 YY_BREAK
01541 case 4:
01542 YY_RULE_SETUP
01543 #line 32 "xml.lex"
01544 return NOTATION;
01545 YY_BREAK
01546 case 5:
01547 YY_RULE_SETUP
01548 #line 33 "xml.lex"
01549 return DOCTYPE;
01550 YY_BREAK
01551 case 6:
01552 YY_RULE_SETUP
01553 #line 34 "xml.lex"
01554 { yytext[yyleng-3] = '\0'; yytext += 9; return RAW_CHARS; }
01555 YY_BREAK
01556 case 7:
01557 YY_RULE_SETUP
01558 #line 35 "xml.lex"
01559 return TAG_CLOSE;
01560 YY_BREAK
01561 case 8:
01562 YY_RULE_SETUP
01563 #line 36 "xml.lex"
01564 { BEGIN(IN_TAG); return TAG_OPEN; }
01565 YY_BREAK
01566 case 9:
01567 *yy_cp = yy_hold_char;
01568 yy_c_buf_p = yy_cp -= 1;
01569 YY_DO_BEFORE_ACTION;
01570 YY_RULE_SETUP
01571 #line 37 "xml.lex"
01572 return WHITESPACE;
01573 YY_BREAK
01574 case 10:
01575 YY_RULE_SETUP
01576 #line 38 "xml.lex"
01577 return CHARACTERS;
01578 YY_BREAK
01579 case 11:
01580 YY_RULE_SETUP
01581 #line 39 "xml.lex"
01582 return ID;
01583 YY_BREAK
01584 case 12:
01585 YY_RULE_SETUP
01586 #line 40 "xml.lex"
01587 return EQ;
01588 YY_BREAK
01589 case 13:
01590 YY_RULE_SETUP
01591 #line 41 "xml.lex"
01592 { yytext[yyleng-1] = '\0'; yytext++; return VAL; }
01593 YY_BREAK
01594 case 14:
01595 YY_RULE_SETUP
01596 #line 42 "xml.lex"
01597 { BEGIN(INITIAL); return TAG_EMPTY; }
01598 YY_BREAK
01599 case 15:
01600 YY_RULE_SETUP
01601 #line 43 "xml.lex"
01602 { BEGIN(INITIAL); return TAG_END; }
01603 YY_BREAK
01604 case 16:
01605 YY_RULE_SETUP
01606 #line 44 "xml.lex"
01607
01608 YY_BREAK
01609 case YY_STATE_EOF(INITIAL):
01610 case YY_STATE_EOF(IN_TAG):
01611 #line 45 "xml.lex"
01612 return EoF;
01613 YY_BREAK
01614 case 17:
01615 YY_RULE_SETUP
01616 #line 47 "xml.lex"
01617 ECHO;
01618 YY_BREAK
01619 #line 1620 "xml.cpp"
01620
01621 case YY_END_OF_BUFFER:
01622 {
01623
01624 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
01625
01626
01627 *yy_cp = yy_hold_char;
01628 YY_RESTORE_YY_MORE_OFFSET
01629
01630 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
01631 {
01632
01633
01634
01635
01636
01637
01638
01639
01640
01641 yy_n_chars = yy_current_buffer->yy_n_chars;
01642 yy_current_buffer->yy_input_file = yyin;
01643 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
01644 }
01645
01646
01647
01648
01649
01650
01651
01652
01653 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
01654 {
01655 yy_state_type yy_next_state;
01656
01657 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
01658
01659 yy_current_state = yy_get_previous_state();
01660
01661
01662
01663
01664
01665
01666
01667
01668
01669
01670 yy_next_state = yy_try_NUL_trans( yy_current_state );
01671
01672 yy_bp = yytext_ptr + YY_MORE_ADJ;
01673
01674 if ( yy_next_state )
01675 {
01676
01677 yy_cp = ++yy_c_buf_p;
01678 yy_current_state = yy_next_state;
01679 goto yy_match;
01680 }
01681
01682 else
01683 {
01684 yy_cp = yy_c_buf_p;
01685 goto yy_find_action;
01686 }
01687 }
01688
01689 else switch ( yy_get_next_buffer() )
01690 {
01691 case EOB_ACT_END_OF_FILE:
01692 {
01693 yy_did_buffer_switch_on_eof = 0;
01694
01695 if ( yywrap() )
01696 {
01697
01698
01699
01700
01701
01702
01703
01704
01705
01706 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
01707
01708 yy_act = YY_STATE_EOF(YY_START);
01709 goto do_action;
01710 }
01711
01712 else
01713 {
01714 if ( ! yy_did_buffer_switch_on_eof )
01715 YY_NEW_FILE;
01716 }
01717 break;
01718 }
01719
01720 case EOB_ACT_CONTINUE_SCAN:
01721 yy_c_buf_p =
01722 yytext_ptr + yy_amount_of_matched_text;
01723
01724 yy_current_state = yy_get_previous_state();
01725
01726 yy_cp = yy_c_buf_p;
01727 yy_bp = yytext_ptr + YY_MORE_ADJ;
01728 goto yy_match;
01729
01730 case EOB_ACT_LAST_MATCH:
01731 yy_c_buf_p =
01732 &yy_current_buffer->yy_ch_buf[yy_n_chars];
01733
01734 yy_current_state = yy_get_previous_state();
01735
01736 yy_cp = yy_c_buf_p;
01737 yy_bp = yytext_ptr + YY_MORE_ADJ;
01738 goto yy_find_action;
01739 }
01740 break;
01741 }
01742
01743 default:
01744 YY_FATAL_ERROR(
01745 "fatal flex scanner internal error--no action found" );
01746 }
01747 }
01748 }
01749
01750 yyFlexLexer::yyFlexLexer( std::istream* arg_yyin, std::ostream* arg_yyout )
01751 {
01752 yyin = arg_yyin;
01753 yyout = arg_yyout;
01754 yy_c_buf_p = 0;
01755 yy_init = 1;
01756 yy_start = 0;
01757 yy_flex_debug = 0;
01758 yylineno = 1;
01759
01760 yy_did_buffer_switch_on_eof = 0;
01761
01762 yy_looking_for_trail_begin = 0;
01763 yy_more_flag = 0;
01764 yy_more_len = 0;
01765 yy_more_offset = yy_prev_more_offset = 0;
01766
01767 yy_start_stack_ptr = yy_start_stack_depth = 0;
01768 yy_start_stack = 0;
01769
01770 yy_current_buffer = 0;
01771
01772 #ifdef YY_USES_REJECT
01773 yy_state_buf = new yy_state_type[YY_BUF_SIZE + 2];
01774 #else
01775 yy_state_buf = 0;
01776 #endif
01777 }
01778
01779 yyFlexLexer::~yyFlexLexer()
01780 {
01781 delete yy_state_buf;
01782 yy_delete_buffer( yy_current_buffer );
01783 }
01784
01785 void yyFlexLexer::switch_streams( std::istream* new_in, std::ostream* new_out )
01786 {
01787 if ( new_in )
01788 {
01789 yy_delete_buffer( yy_current_buffer );
01790 yy_switch_to_buffer( yy_create_buffer( new_in, YY_BUF_SIZE ) );
01791 }
01792
01793 if ( new_out )
01794 yyout = new_out;
01795 }
01796
01797 #ifdef YY_INTERACTIVE
01798 int yyFlexLexer::LexerInput( char* buf, int )
01799 #else
01800 int yyFlexLexer::LexerInput( char* buf, int max_size )
01801 #endif
01802 {
01803 if ( yyin->eof() || yyin->fail() )
01804 return 0;
01805
01806 #ifdef YY_INTERACTIVE
01807 yyin->get( buf[0] );
01808
01809 if ( yyin->eof() )
01810 return 0;
01811
01812 if ( yyin->bad() )
01813 return -1;
01814
01815 return 1;
01816
01817 #else
01818 (void) yyin->read( buf, max_size );
01819
01820 if ( yyin->bad() )
01821 return -1;
01822 else
01823 return yyin->gcount();
01824 #endif
01825 }
01826
01827 void yyFlexLexer::LexerOutput( const char* buf, int size )
01828 {
01829 (void) yyout->write( buf, size );
01830 }
01831
01832
01833
01834
01835
01836
01837
01838
01839
01840 int yyFlexLexer::yy_get_next_buffer()
01841 {
01842 register char *dest = yy_current_buffer->yy_ch_buf;
01843 register char *source = yytext_ptr;
01844 register int number_to_move, i;
01845 int ret_val;
01846
01847 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
01848 YY_FATAL_ERROR(
01849 "fatal flex scanner internal error--end of buffer missed" );
01850
01851 if ( yy_current_buffer->yy_fill_buffer == 0 )
01852 {
01853 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
01854 {
01855
01856
01857
01858 return EOB_ACT_END_OF_FILE;
01859 }
01860
01861 else
01862 {
01863
01864
01865
01866 return EOB_ACT_LAST_MATCH;
01867 }
01868 }
01869
01870
01871
01872
01873 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
01874
01875 for ( i = 0; i < number_to_move; ++i )
01876 *(dest++) = *(source++);
01877
01878 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
01879
01880
01881
01882 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
01883
01884 else
01885 {
01886 int num_to_read =
01887 yy_current_buffer->yy_buf_size - number_to_move - 1;
01888
01889 while ( num_to_read <= 0 )
01890 {
01891 #ifdef YY_USES_REJECT
01892 YY_FATAL_ERROR(
01893 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
01894 #else
01895
01896
01897 YY_BUFFER_STATE b = yy_current_buffer;
01898
01899 int yy_c_buf_p_offset =
01900 (int) (yy_c_buf_p - b->yy_ch_buf);
01901
01902 if ( b->yy_is_our_buffer )
01903 {
01904 int new_size = b->yy_buf_size * 2;
01905
01906 if ( new_size <= 0 )
01907 b->yy_buf_size += b->yy_buf_size / 8;
01908 else
01909 b->yy_buf_size *= 2;
01910
01911 b->yy_ch_buf = (char *)
01912
01913 yy_flex_realloc( (void *) b->yy_ch_buf,
01914 b->yy_buf_size + 2 );
01915 }
01916 else
01917
01918 b->yy_ch_buf = 0;
01919
01920 if ( ! b->yy_ch_buf )
01921 YY_FATAL_ERROR(
01922 "fatal error - scanner input buffer overflow" );
01923
01924 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
01925
01926 num_to_read = yy_current_buffer->yy_buf_size -
01927 number_to_move - 1;
01928 #endif
01929 }
01930
01931 if ( num_to_read > YY_READ_BUF_SIZE )
01932 num_to_read = YY_READ_BUF_SIZE;
01933
01934
01935 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
01936 yy_n_chars, num_to_read );
01937
01938 yy_current_buffer->yy_n_chars = yy_n_chars;
01939 }
01940
01941 if ( yy_n_chars == 0 )
01942 {
01943 if ( number_to_move == YY_MORE_ADJ )
01944 {
01945 ret_val = EOB_ACT_END_OF_FILE;
01946 yyrestart( yyin );
01947 }
01948
01949 else
01950 {
01951 ret_val = EOB_ACT_LAST_MATCH;
01952 yy_current_buffer->yy_buffer_status =
01953 YY_BUFFER_EOF_PENDING;
01954 }
01955 }
01956
01957 else
01958 ret_val = EOB_ACT_CONTINUE_SCAN;
01959
01960 yy_n_chars += number_to_move;
01961 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
01962 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
01963
01964 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
01965
01966 return ret_val;
01967 }
01968
01969
01970
01971
01972 yy_state_type yyFlexLexer::yy_get_previous_state()
01973 {
01974 register yy_state_type yy_current_state;
01975 register char *yy_cp;
01976
01977 yy_current_state = yy_start;
01978
01979 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
01980 {
01981 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
01982 if ( yy_accept[yy_current_state] )
01983 {
01984 yy_last_accepting_state = yy_current_state;
01985 yy_last_accepting_cpos = yy_cp;
01986 }
01987 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
01988 {
01989 yy_current_state = (int) yy_def[yy_current_state];
01990 if ( yy_current_state >= 662 )
01991 yy_c = yy_meta[(unsigned int) yy_c];
01992 }
01993 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
01994 }
01995
01996 return yy_current_state;
01997 }
01998
01999
02000
02001
02002
02003
02004
02005
02006 yy_state_type yyFlexLexer::yy_try_NUL_trans( yy_state_type yy_current_state )
02007 {
02008 register int yy_is_jam;
02009 register char *yy_cp = yy_c_buf_p;
02010
02011 register YY_CHAR yy_c = 1;
02012 if ( yy_accept[yy_current_state] )
02013 {
02014 yy_last_accepting_state = yy_current_state;
02015 yy_last_accepting_cpos = yy_cp;
02016 }
02017 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
02018 {
02019 yy_current_state = (int) yy_def[yy_current_state];
02020 if ( yy_current_state >= 662 )
02021 yy_c = yy_meta[(unsigned int) yy_c];
02022 }
02023 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
02024 yy_is_jam = (yy_current_state == 661);
02025
02026 return yy_is_jam ? 0 : yy_current_state;
02027 }
02028
02029
02030 void yyFlexLexer::yyunput( int c, register char* yy_bp )
02031 {
02032 register char *yy_cp = yy_c_buf_p;
02033
02034
02035 *yy_cp = yy_hold_char;
02036
02037 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
02038 {
02039
02040 register int number_to_move = yy_n_chars + 2;
02041 register char *dest = &yy_current_buffer->yy_ch_buf[
02042 yy_current_buffer->yy_buf_size + 2];
02043 register char *source =
02044 &yy_current_buffer->yy_ch_buf[number_to_move];
02045
02046 while ( source > yy_current_buffer->yy_ch_buf )
02047 *--dest = *--source;
02048
02049 yy_cp += (int) (dest - source);
02050 yy_bp += (int) (dest - source);
02051 yy_current_buffer->yy_n_chars =
02052 yy_n_chars = yy_current_buffer->yy_buf_size;
02053
02054 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
02055 YY_FATAL_ERROR( "flex scanner push-back overflow" );
02056 }
02057
02058 *--yy_cp = (char) c;
02059
02060
02061 yytext_ptr = yy_bp;
02062 yy_hold_char = *yy_cp;
02063 yy_c_buf_p = yy_cp;
02064 }
02065
02066
02067 int yyFlexLexer::yyinput()
02068 {
02069 int c;
02070
02071 *yy_c_buf_p = yy_hold_char;
02072
02073 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
02074 {
02075
02076
02077
02078
02079 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
02080
02081 *yy_c_buf_p = '\0';
02082
02083 else
02084 {
02085 int offset = yy_c_buf_p - yytext_ptr;
02086 ++yy_c_buf_p;
02087
02088 switch ( yy_get_next_buffer() )
02089 {
02090 case EOB_ACT_LAST_MATCH:
02091
02092
02093
02094
02095
02096
02097
02098
02099
02100
02101
02102 yyrestart( yyin );
02103
02104
02105
02106 case EOB_ACT_END_OF_FILE:
02107 {
02108 if ( yywrap() )
02109 return EOF;
02110
02111 if ( ! yy_did_buffer_switch_on_eof )
02112 YY_NEW_FILE;
02113 #ifdef __cplusplus
02114 return yyinput();
02115 #else
02116 return input();
02117 #endif
02118 }
02119
02120 case EOB_ACT_CONTINUE_SCAN:
02121 yy_c_buf_p = yytext_ptr + offset;
02122 break;
02123 }
02124 }
02125 }
02126
02127 c = *(unsigned char *) yy_c_buf_p;
02128 *yy_c_buf_p = '\0';
02129 yy_hold_char = *++yy_c_buf_p;
02130
02131
02132 return c;
02133 }
02134
02135 void yyFlexLexer::yyrestart( std::istream* input_file )
02136 {
02137 if ( ! yy_current_buffer )
02138 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
02139
02140 yy_init_buffer( yy_current_buffer, input_file );
02141 yy_load_buffer_state();
02142 }
02143
02144
02145 void yyFlexLexer::yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
02146 {
02147 if ( yy_current_buffer == new_buffer )
02148 return;
02149
02150 if ( yy_current_buffer )
02151 {
02152
02153 *yy_c_buf_p = yy_hold_char;
02154 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
02155 yy_current_buffer->yy_n_chars = yy_n_chars;
02156 }
02157
02158 yy_current_buffer = new_buffer;
02159 yy_load_buffer_state();
02160
02161
02162
02163
02164
02165
02166 yy_did_buffer_switch_on_eof = 1;
02167 }
02168
02169
02170 void yyFlexLexer::yy_load_buffer_state()
02171 {
02172 yy_n_chars = yy_current_buffer->yy_n_chars;
02173 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
02174 yyin = yy_current_buffer->yy_input_file;
02175 yy_hold_char = *yy_c_buf_p;
02176 }
02177
02178
02179 YY_BUFFER_STATE yyFlexLexer::yy_create_buffer( std::istream* file, int size )
02180 {
02181 YY_BUFFER_STATE b;
02182
02183 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
02184 if ( ! b )
02185 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
02186
02187 b->yy_buf_size = size;
02188
02189
02190
02191
02192 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
02193 if ( ! b->yy_ch_buf )
02194 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
02195
02196 b->yy_is_our_buffer = 1;
02197
02198 yy_init_buffer( b, file );
02199
02200 return b;
02201 }
02202
02203
02204 void yyFlexLexer::yy_delete_buffer( YY_BUFFER_STATE b )
02205 {
02206 if ( ! b )
02207 return;
02208
02209 if ( b == yy_current_buffer )
02210 yy_current_buffer = (YY_BUFFER_STATE) 0;
02211
02212 if ( b->yy_is_our_buffer )
02213 yy_flex_free( (void *) b->yy_ch_buf );
02214
02215 yy_flex_free( (void *) b );
02216 }
02217
02218
02219 void yyFlexLexer::yy_init_buffer( YY_BUFFER_STATE b, std::istream* file )
02220
02221 {
02222 yy_flush_buffer( b );
02223
02224 b->yy_input_file = file;
02225 b->yy_fill_buffer = 1;
02226
02227 b->yy_is_interactive = 0;
02228 }
02229
02230
02231 void yyFlexLexer::yy_flush_buffer( YY_BUFFER_STATE b )
02232 {
02233 if ( ! b )
02234 return;
02235
02236 b->yy_n_chars = 0;
02237
02238
02239
02240
02241
02242 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
02243 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
02244
02245 b->yy_buf_pos = &b->yy_ch_buf[0];
02246
02247 b->yy_at_bol = 1;
02248 b->yy_buffer_status = YY_BUFFER_NEW;
02249
02250 if ( b == yy_current_buffer )
02251 yy_load_buffer_state();
02252 }
02253
02254
02255 #ifndef YY_NO_SCAN_BUFFER
02256 #endif
02257
02258
02259 #ifndef YY_NO_SCAN_STRING
02260 #endif
02261
02262
02263 #ifndef YY_NO_SCAN_BYTES
02264 #endif
02265
02266
02267 #ifndef YY_NO_PUSH_STATE
02268 void yyFlexLexer::yy_push_state( int new_state )
02269 {
02270 if ( yy_start_stack_ptr >= yy_start_stack_depth )
02271 {
02272 yy_size_t new_size;
02273
02274 yy_start_stack_depth += YY_START_STACK_INCR;
02275 new_size = yy_start_stack_depth * sizeof( int );
02276
02277 if ( ! yy_start_stack )
02278 yy_start_stack = (int *) yy_flex_alloc( new_size );
02279
02280 else
02281 yy_start_stack = (int *) yy_flex_realloc(
02282 (void *) yy_start_stack, new_size );
02283
02284 if ( ! yy_start_stack )
02285 YY_FATAL_ERROR(
02286 "out of memory expanding start-condition stack" );
02287 }
02288
02289 yy_start_stack[yy_start_stack_ptr++] = YY_START;
02290
02291 BEGIN(new_state);
02292 }
02293 #endif
02294
02295
02296 #ifndef YY_NO_POP_STATE
02297 void yyFlexLexer::yy_pop_state()
02298 {
02299 if ( --yy_start_stack_ptr < 0 )
02300 YY_FATAL_ERROR( "start-condition stack underflow" );
02301
02302 BEGIN(yy_start_stack[yy_start_stack_ptr]);
02303 }
02304 #endif
02305
02306
02307 #ifndef YY_NO_TOP_STATE
02308 int yyFlexLexer::yy_top_state()
02309 {
02310 return yy_start_stack[yy_start_stack_ptr - 1];
02311 }
02312 #endif
02313
02314 #ifndef YY_EXIT_FAILURE
02315 #define YY_EXIT_FAILURE 2
02316 #endif
02317
02318
02319 void yyFlexLexer::LexerError( yyconst char msg[] )
02320 {
02321 std::cerr << msg << '\n';
02322 exit( YY_EXIT_FAILURE );
02323 }
02324
02325
02326
02327
02328 #undef yyless
02329 #define yyless(n) \
02330 do \
02331 { \
02332 \
02333 yytext[yyleng] = yy_hold_char; \
02334 yy_c_buf_p = yytext + n; \
02335 yy_hold_char = *yy_c_buf_p; \
02336 *yy_c_buf_p = '\0'; \
02337 yyleng = n; \
02338 } \
02339 while ( 0 )
02340
02341
02342
02343
02344 #ifndef yytext_ptr
02345 #ifdef YY_USE_PROTOS
02346 static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
02347 #else
02348 static void yy_flex_strncpy( s1, s2, n )
02349 char *s1;
02350 yyconst char *s2;
02351 int n;
02352 #endif
02353 {
02354 register int i;
02355 for ( i = 0; i < n; ++i )
02356 s1[i] = s2[i];
02357 }
02358 #endif
02359
02360 #ifdef YY_NEED_STRLEN
02361 #ifdef YY_USE_PROTOS
02362 static int yy_flex_strlen( yyconst char *s )
02363 #else
02364 static int yy_flex_strlen( s )
02365 yyconst char *s;
02366 #endif
02367 {
02368 register int n;
02369 for ( n = 0; s[n]; ++n )
02370 ;
02371
02372 return n;
02373 }
02374 #endif
02375
02376
02377 #ifdef YY_USE_PROTOS
02378 static void *yy_flex_alloc( yy_size_t size )
02379 #else
02380 static void *yy_flex_alloc( size )
02381 yy_size_t size;
02382 #endif
02383 {
02384 return (void *) malloc( size );
02385 }
02386
02387 #ifdef YY_USE_PROTOS
02388 static void *yy_flex_realloc( void *ptr, yy_size_t size )
02389 #else
02390 static void *yy_flex_realloc( ptr, size )
02391 void *ptr;
02392 yy_size_t size;
02393 #endif
02394 {
02395
02396
02397
02398
02399
02400
02401
02402 return (void *) realloc( (char *) ptr, size );
02403 }
02404
02405 #ifdef YY_USE_PROTOS
02406 static void yy_flex_free( void *ptr )
02407 #else
02408 static void yy_flex_free( ptr )
02409 void *ptr;
02410 #endif
02411 {
02412 free( ptr );
02413 }
02414
02415 #if YY_MAIN
02416 int main()
02417 {
02418 yylex();
02419 return 0;
02420 }
02421 #endif
02422 #line 47 "xml.lex"
02423