/[svn]/linuxsampler/trunk/src/network/lscpparser.cpp
ViewVC logotype

Contents of /linuxsampler/trunk/src/network/lscpparser.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1161 - (show annotations) (download)
Mon Apr 16 15:51:18 2007 UTC (17 years ago) by iliev
File size: 249656 byte(s)
* Implemented instruments database

1 /* A Bison parser, made by GNU Bison 2.3. */
2
3 /* Skeleton implementation for Bison's Yacc-like parsers in C
4
5 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6 Free Software Foundation, Inc.
7
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2, or (at your option)
11 any later version.
12
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 Boston, MA 02110-1301, USA. */
22
23 /* As a special exception, you may create a larger work that contains
24 part or all of the Bison parser skeleton and distribute that work
25 under terms of your choice, so long as that work isn't itself a
26 parser generator using the skeleton or a modified version thereof
27 as a parser skeleton. Alternatively, if you modify or redistribute
28 the parser skeleton itself, you may (at your option) remove this
29 special exception, which will cause the skeleton and the resulting
30 Bison output files to be licensed under the GNU General Public
31 License without this special exception.
32
33 This special exception was added by the Free Software Foundation in
34 version 2.2 of Bison. */
35
36 /* C LALR(1) parser skeleton written by Richard Stallman, by
37 simplifying the original so-called "semantic" parser. */
38
39 /* All symbols defined below should begin with yy or YY, to avoid
40 infringing on user name space. This should be done even for local
41 variables, as they might otherwise be expanded by user macros.
42 There are some unavoidable exceptions within include files to
43 define necessary library symbols; they are noted "INFRINGES ON
44 USER NAME SPACE" below. */
45
46 /* Identify Bison output. */
47 #define YYBISON 1
48
49 /* Bison version. */
50 #define YYBISON_VERSION "2.3"
51
52 /* Skeleton name. */
53 #define YYSKELETON_NAME "yacc.c"
54
55 /* Pure parsers. */
56 #define YYPURE 1
57
58 /* Using locations. */
59 #define YYLSP_NEEDED 0
60
61
62
63
64
65
66
67 /* Copy the first part of user declarations. */
68 #line 31 "lscp.y"
69
70
71 #include "lscpparser.h"
72 #include "lscpserver.h"
73 #include "lscpevent.h"
74
75 // to save us typing work in the rules action definitions
76 #define LSCPSERVER ((yyparse_param_t*) yyparse_param)->pServer
77
78 // clears input buffer
79 void restart(yyparse_param_t* pparam, int& yychar);
80 #define RESTART restart((yyparse_param_t*) YYPARSE_PARAM, yychar)
81
82 // we provide our own version of yyerror() so we don't have to link against the yacc library
83 void yyerror(const char* s);
84
85 static char buf[1024]; // input buffer to feed the parser with new characters
86 static int bytes = 0; // current number of characters in the input buffer
87 static int ptr = 0; // current position in the input buffer
88
89 // external reference to the function which actually reads from the socket
90 extern int GetLSCPCommand( void *buf, int max_size);
91
92 // custom scanner function which reads from the socket
93 int yylex(YYSTYPE* yylval) {
94 // check if we have to read new characters
95 if (ptr >= bytes) {
96 bytes = GetLSCPCommand(buf, 1023);
97 ptr = 0;
98 if (bytes < 0) {
99 bytes = 0;
100 return 0;
101 }
102 }
103 return (int) buf[ptr++];
104 }
105
106
107
108 /* Enabling traces. */
109 #ifndef YYDEBUG
110 # define YYDEBUG 0
111 #endif
112
113 /* Enabling verbose error messages. */
114 #ifdef YYERROR_VERBOSE
115 # undef YYERROR_VERBOSE
116 # define YYERROR_VERBOSE 1
117 #else
118 # define YYERROR_VERBOSE 0
119 #endif
120
121 /* Enabling the token table. */
122 #ifndef YYTOKEN_TABLE
123 # define YYTOKEN_TABLE 0
124 #endif
125
126 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
127 typedef int YYSTYPE;
128 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
129 # define YYSTYPE_IS_DECLARED 1
130 # define YYSTYPE_IS_TRIVIAL 1
131 #endif
132
133
134
135 /* Copy the second part of user declarations. */
136
137
138 /* Line 216 of yacc.c. */
139 #line 140 "y.tab.c"
140
141 #ifdef short
142 # undef short
143 #endif
144
145 #ifdef YYTYPE_UINT8
146 typedef YYTYPE_UINT8 yytype_uint8;
147 #else
148 typedef unsigned char yytype_uint8;
149 #endif
150
151 #ifdef YYTYPE_INT8
152 typedef YYTYPE_INT8 yytype_int8;
153 #elif (defined __STDC__ || defined __C99__FUNC__ \
154 || defined __cplusplus || defined _MSC_VER)
155 typedef signed char yytype_int8;
156 #else
157 typedef short int yytype_int8;
158 #endif
159
160 #ifdef YYTYPE_UINT16
161 typedef YYTYPE_UINT16 yytype_uint16;
162 #else
163 typedef unsigned short int yytype_uint16;
164 #endif
165
166 #ifdef YYTYPE_INT16
167 typedef YYTYPE_INT16 yytype_int16;
168 #else
169 typedef short int yytype_int16;
170 #endif
171
172 #ifndef YYSIZE_T
173 # ifdef __SIZE_TYPE__
174 # define YYSIZE_T __SIZE_TYPE__
175 # elif defined size_t
176 # define YYSIZE_T size_t
177 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
178 || defined __cplusplus || defined _MSC_VER)
179 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
180 # define YYSIZE_T size_t
181 # else
182 # define YYSIZE_T unsigned int
183 # endif
184 #endif
185
186 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
187
188 #ifndef YY_
189 # if YYENABLE_NLS
190 # if ENABLE_NLS
191 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
192 # define YY_(msgid) dgettext ("bison-runtime", msgid)
193 # endif
194 # endif
195 # ifndef YY_
196 # define YY_(msgid) msgid
197 # endif
198 #endif
199
200 /* Suppress unused-variable warnings by "using" E. */
201 #if ! defined lint || defined __GNUC__
202 # define YYUSE(e) ((void) (e))
203 #else
204 # define YYUSE(e) /* empty */
205 #endif
206
207 /* Identity function, used to suppress warnings about constant conditions. */
208 #ifndef lint
209 # define YYID(n) (n)
210 #else
211 #if (defined __STDC__ || defined __C99__FUNC__ \
212 || defined __cplusplus || defined _MSC_VER)
213 static int
214 YYID (int i)
215 #else
216 static int
217 YYID (i)
218 int i;
219 #endif
220 {
221 return i;
222 }
223 #endif
224
225 #if ! defined yyoverflow || YYERROR_VERBOSE
226
227 /* The parser invokes alloca or malloc; define the necessary symbols. */
228
229 # ifdef YYSTACK_USE_ALLOCA
230 # if YYSTACK_USE_ALLOCA
231 # ifdef __GNUC__
232 # define YYSTACK_ALLOC __builtin_alloca
233 # elif defined __BUILTIN_VA_ARG_INCR
234 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
235 # elif defined _AIX
236 # define YYSTACK_ALLOC __alloca
237 # elif defined _MSC_VER
238 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
239 # define alloca _alloca
240 # else
241 # define YYSTACK_ALLOC alloca
242 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
243 || defined __cplusplus || defined _MSC_VER)
244 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
245 # ifndef _STDLIB_H
246 # define _STDLIB_H 1
247 # endif
248 # endif
249 # endif
250 # endif
251 # endif
252
253 # ifdef YYSTACK_ALLOC
254 /* Pacify GCC's `empty if-body' warning. */
255 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
256 # ifndef YYSTACK_ALLOC_MAXIMUM
257 /* The OS might guarantee only one guard page at the bottom of the stack,
258 and a page size can be as small as 4096 bytes. So we cannot safely
259 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
260 to allow for a few compiler-allocated temporary stack slots. */
261 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
262 # endif
263 # else
264 # define YYSTACK_ALLOC YYMALLOC
265 # define YYSTACK_FREE YYFREE
266 # ifndef YYSTACK_ALLOC_MAXIMUM
267 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
268 # endif
269 # if (defined __cplusplus && ! defined _STDLIB_H \
270 && ! ((defined YYMALLOC || defined malloc) \
271 && (defined YYFREE || defined free)))
272 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
273 # ifndef _STDLIB_H
274 # define _STDLIB_H 1
275 # endif
276 # endif
277 # ifndef YYMALLOC
278 # define YYMALLOC malloc
279 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
280 || defined __cplusplus || defined _MSC_VER)
281 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
282 # endif
283 # endif
284 # ifndef YYFREE
285 # define YYFREE free
286 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
287 || defined __cplusplus || defined _MSC_VER)
288 void free (void *); /* INFRINGES ON USER NAME SPACE */
289 # endif
290 # endif
291 # endif
292 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
293
294
295 #if (! defined yyoverflow \
296 && (! defined __cplusplus \
297 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
298
299 /* A type that is properly aligned for any stack member. */
300 union yyalloc
301 {
302 yytype_int16 yyss;
303 YYSTYPE yyvs;
304 };
305
306 /* The size of the maximum gap between one aligned stack and the next. */
307 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
308
309 /* The size of an array large to enough to hold all stacks, each with
310 N elements. */
311 # define YYSTACK_BYTES(N) \
312 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
313 + YYSTACK_GAP_MAXIMUM)
314
315 /* Copy COUNT objects from FROM to TO. The source and destination do
316 not overlap. */
317 # ifndef YYCOPY
318 # if defined __GNUC__ && 1 < __GNUC__
319 # define YYCOPY(To, From, Count) \
320 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
321 # else
322 # define YYCOPY(To, From, Count) \
323 do \
324 { \
325 YYSIZE_T yyi; \
326 for (yyi = 0; yyi < (Count); yyi++) \
327 (To)[yyi] = (From)[yyi]; \
328 } \
329 while (YYID (0))
330 # endif
331 # endif
332
333 /* Relocate STACK from its old location to the new one. The
334 local variables YYSIZE and YYSTACKSIZE give the old and new number of
335 elements in the stack, and YYPTR gives the new location of the
336 stack. Advance YYPTR to a properly aligned location for the next
337 stack. */
338 # define YYSTACK_RELOCATE(Stack) \
339 do \
340 { \
341 YYSIZE_T yynewbytes; \
342 YYCOPY (&yyptr->Stack, Stack, yysize); \
343 Stack = &yyptr->Stack; \
344 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
345 yyptr += yynewbytes / sizeof (*yyptr); \
346 } \
347 while (YYID (0))
348
349 #endif
350
351 /* YYFINAL -- State number of the termination state. */
352 #define YYFINAL 47
353 /* YYLAST -- Last index in YYTABLE. */
354 #define YYLAST 4799
355
356 /* YYNTOKENS -- Number of terminals. */
357 #define YYNTOKENS 227
358 /* YYNNTS -- Number of nonterminals. */
359 #define YYNNTS 158
360 /* YYNRULES -- Number of rules. */
361 #define YYNRULES 582
362 /* YYNRULES -- Number of states. */
363 #define YYNSTATES 1965
364
365 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
366 #define YYUNDEFTOK 2
367 #define YYMAXUTOK 257
368
369 #define YYTRANSLATE(YYX) \
370 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
371
372 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
373 static const yytype_uint8 yytranslate[] =
374 {
375 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
376 225, 2, 2, 226, 2, 2, 2, 2, 2, 2,
377 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
378 2, 2, 224, 71, 223, 3, 72, 73, 74, 222,
379 75, 76, 77, 7, 5, 8, 6, 78, 9, 10,
380 11, 12, 13, 14, 15, 16, 17, 18, 79, 80,
381 81, 4, 82, 83, 84, 19, 20, 21, 22, 23,
382 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
383 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
384 44, 85, 86, 87, 88, 89, 2, 45, 46, 47,
385 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
386 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
387 68, 69, 70, 90, 91, 92, 93, 2, 94, 95,
388 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
389 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
390 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
391 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
392 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
393 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
394 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
395 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
396 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
397 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
398 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
399 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
400 216, 217, 218, 219, 220, 221, 1, 2
401 };
402
403 #if YYDEBUG
404 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
405 YYRHS. */
406 static const yytype_uint16 yyprhs[] =
407 {
408 0, 0, 3, 6, 10, 11, 13, 15, 17, 19,
409 22, 25, 28, 31, 35, 39, 43, 47, 51, 55,
410 59, 63, 67, 71, 75, 79, 83, 87, 91, 93,
411 95, 97, 101, 109, 117, 123, 131, 133, 137, 139,
412 141, 143, 145, 147, 149, 151, 153, 155, 157, 159,
413 161, 163, 165, 167, 169, 171, 173, 175, 177, 179,
414 181, 183, 185, 187, 189, 191, 193, 195, 197, 199,
415 201, 203, 205, 207, 209, 211, 213, 215, 217, 219,
416 221, 223, 225, 242, 261, 280, 301, 309, 313, 317,
417 321, 327, 331, 335, 337, 339, 345, 353, 363, 365,
418 371, 379, 389, 391, 393, 399, 405, 413, 423, 431,
419 441, 443, 449, 457, 463, 469, 475, 479, 481, 483,
420 487, 491, 501, 503, 509, 513, 521, 525, 531, 535,
421 541, 543, 551, 561, 569, 579, 583, 591, 601, 613,
422 623, 633, 641, 649, 657, 665, 669, 673, 679, 683,
423 689, 693, 699, 707, 711, 715, 719, 725, 731, 735,
424 739, 745, 749, 753, 759, 767, 773, 783, 789, 795,
425 801, 807, 813, 819, 825, 831, 837, 843, 844, 847,
426 851, 857, 859, 861, 863, 865, 867, 869, 871, 873,
427 877, 881, 883, 887, 891, 895, 901, 909, 913, 915,
428 917, 919, 921, 923, 925, 927, 929, 931, 933, 935,
429 937, 939, 941, 943, 945, 947, 949, 951, 953, 955,
430 957, 959, 961, 963, 965, 967, 971, 973, 975, 977,
431 979, 981, 983, 985, 988, 992, 997, 1002, 1004, 1007,
432 1009, 1011, 1013, 1015, 1017, 1019, 1021, 1023, 1025, 1027,
433 1029, 1032, 1035, 1038, 1041, 1044, 1047, 1050, 1053, 1056,
434 1058, 1060, 1062, 1064, 1066, 1068, 1070, 1072, 1074, 1076,
435 1078, 1080, 1082, 1084, 1086, 1088, 1090, 1092, 1094, 1096,
436 1098, 1100, 1102, 1104, 1106, 1108, 1110, 1112, 1114, 1116,
437 1118, 1120, 1122, 1124, 1126, 1128, 1130, 1132, 1134, 1136,
438 1138, 1140, 1142, 1144, 1146, 1148, 1150, 1152, 1154, 1156,
439 1158, 1160, 1162, 1164, 1166, 1168, 1170, 1172, 1174, 1176,
440 1178, 1180, 1182, 1184, 1186, 1188, 1190, 1192, 1194, 1196,
441 1198, 1200, 1202, 1204, 1206, 1208, 1210, 1212, 1214, 1216,
442 1218, 1220, 1222, 1224, 1226, 1228, 1230, 1232, 1234, 1236,
443 1238, 1240, 1242, 1244, 1246, 1248, 1250, 1252, 1254, 1256,
444 1258, 1260, 1262, 1264, 1266, 1268, 1270, 1272, 1274, 1276,
445 1278, 1280, 1282, 1284, 1286, 1288, 1290, 1292, 1294, 1296,
446 1298, 1300, 1302, 1304, 1306, 1308, 1310, 1312, 1314, 1316,
447 1318, 1320, 1322, 1324, 1326, 1328, 1330, 1332, 1334, 1336,
448 1338, 1340, 1342, 1344, 1346, 1348, 1350, 1352, 1354, 1356,
449 1358, 1360, 1362, 1364, 1366, 1368, 1370, 1372, 1374, 1376,
450 1378, 1380, 1382, 1384, 1386, 1388, 1390, 1392, 1394, 1396,
451 1398, 1400, 1402, 1404, 1406, 1408, 1410, 1412, 1414, 1416,
452 1418, 1420, 1422, 1424, 1426, 1428, 1430, 1432, 1434, 1436,
453 1438, 1440, 1442, 1444, 1446, 1448, 1450, 1452, 1454, 1456,
454 1458, 1460, 1462, 1464, 1466, 1468, 1470, 1472, 1474, 1476,
455 1478, 1480, 1482, 1484, 1486, 1488, 1490, 1492, 1494, 1496,
456 1498, 1501, 1504, 1508, 1512, 1514, 1516, 1518, 1522, 1526,
457 1530, 1536, 1542, 1547, 1554, 1562, 1567, 1572, 1576, 1581,
458 1589, 1599, 1606, 1610, 1620, 1632, 1640, 1658, 1689, 1698,
459 1703, 1729, 1754, 1778, 1801, 1827, 1852, 1874, 1895, 1925,
460 1954, 1974, 1993, 2007, 2020, 2034, 2047, 2059, 2072, 2084,
461 2102, 2124, 2136, 2147, 2154, 2164, 2179, 2190, 2220, 2241,
462 2261, 2291, 2311, 2342, 2363, 2381, 2410, 2438, 2464, 2483,
463 2501, 2529, 2545, 2562, 2582, 2603, 2621, 2637, 2656, 2672,
464 2683, 2699, 2707, 2716, 2740, 2766, 2781, 2795, 2807, 2813,
465 2818, 2832, 2839, 2846, 2852, 2857, 2862, 2868, 2879, 2885,
466 2899, 2904, 2909
467 };
468
469 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
470 static const yytype_int16 yyrhs[] =
471 {
472 228, 0, -1, 229, 287, -1, 229, 288, 287, -1,
473 -1, 230, -1, 231, -1, 1, -1, 3, -1, 230,
474 3, -1, 230, 286, -1, 230, 282, -1, 230, 278,
475 -1, 289, 286, 232, -1, 291, 286, 235, -1, 292,
476 286, 236, -1, 290, 286, 238, -1, 295, 286, 240,
477 -1, 296, 286, 244, -1, 297, 286, 250, -1, 298,
478 286, 245, -1, 303, 286, 237, -1, 304, 286, 239,
479 -1, 305, 286, 233, -1, 306, 286, 234, -1, 380,
480 286, 241, -1, 293, 286, 242, -1, 294, 286, 243,
481 -1, 380, -1, 384, -1, 307, -1, 365, 286, 269,
482 -1, 367, 286, 371, 286, 269, 286, 269, -1, 367,
483 286, 372, 286, 269, 286, 269, -1, 367, 286, 269,
484 286, 269, -1, 367, 286, 269, 286, 269, 286, 266,
485 -1, 355, -1, 355, 286, 272, -1, 312, -1, 313,
486 -1, 314, -1, 315, -1, 324, -1, 330, -1, 329,
487 -1, 328, -1, 325, -1, 326, -1, 327, -1, 316,
488 -1, 317, -1, 318, -1, 319, -1, 320, -1, 321,
489 -1, 322, -1, 323, -1, 381, -1, 331, -1, 333,
490 -1, 312, -1, 313, -1, 314, -1, 315, -1, 324,
491 -1, 330, -1, 329, -1, 328, -1, 325, -1, 326,
492 -1, 327, -1, 316, -1, 317, -1, 318, -1, 319,
493 -1, 320, -1, 321, -1, 322, -1, 323, -1, 381,
494 -1, 331, -1, 333, -1, 353, 286, 247, 260, 286,
495 261, 286, 262, 286, 268, 286, 271, 286, 266, 286,
496 264, -1, 353, 286, 247, 260, 286, 261, 286, 262,
497 286, 268, 286, 271, 286, 266, 286, 264, 286, 253,
498 -1, 353, 286, 247, 260, 286, 261, 286, 262, 286,
499 268, 286, 271, 286, 266, 286, 264, 286, 273, -1,
500 353, 286, 247, 260, 286, 261, 286, 262, 286, 268,
501 286, 271, 286, 266, 286, 264, 286, 253, 286, 273,
502 -1, 353, 286, 260, 286, 261, 286, 262, -1, 307,
503 286, 265, -1, 355, 286, 260, -1, 355, 286, 299,
504 -1, 365, 286, 370, 286, 269, -1, 365, 286, 269,
505 -1, 368, 286, 269, -1, 308, -1, 347, -1, 357,
506 286, 311, 286, 278, -1, 352, 286, 311, 286, 278,
507 286, 278, -1, 352, 286, 311, 286, 278, 286, 278,
508 286, 248, -1, 309, -1, 343, 286, 311, 286, 278,
509 -1, 342, 286, 311, 286, 278, 286, 278, -1, 342,
510 286, 311, 286, 278, 286, 278, 286, 248, -1, 340,
511 -1, 350, -1, 341, 286, 311, 286, 282, -1, 351,
512 286, 311, 286, 282, -1, 358, 286, 311, 286, 282,
513 286, 282, -1, 349, 286, 311, 286, 282, 286, 282,
514 286, 278, -1, 345, 286, 311, 286, 282, 286, 282,
515 -1, 344, 286, 311, 286, 282, 286, 282, 286, 278,
516 -1, 310, -1, 307, 286, 311, 286, 265, -1, 307,
517 286, 328, 286, 249, 286, 265, -1, 307, 286, 329,
518 286, 265, -1, 307, 286, 330, 286, 265, -1, 335,
519 286, 311, 286, 268, -1, 373, 286, 311, -1, 331,
520 -1, 332, -1, 354, 286, 260, -1, 354, 286, 299,
521 -1, 353, 286, 311, 286, 260, 286, 261, 286, 262,
522 -1, 356, -1, 355, 286, 311, 286, 260, -1, 364,
523 286, 265, -1, 363, 286, 311, 286, 265, 286, 267,
524 -1, 366, 286, 269, -1, 365, 286, 311, 286, 269,
525 -1, 367, 286, 269, -1, 368, 286, 311, 286, 269,
526 -1, 374, -1, 339, 286, 282, 286, 278, 4, 275,
527 -1, 344, 286, 282, 286, 282, 286, 278, 4, 275,
528 -1, 348, 286, 282, 286, 278, 4, 275, -1, 349,
529 286, 282, 286, 282, 286, 278, 4, 275, -1, 307,
530 286, 246, -1, 355, 286, 382, 286, 260, 286, 272,
531 -1, 363, 286, 382, 286, 265, 286, 267, 286, 274,
532 -1, 363, 286, 345, 286, 265, 286, 267, 286, 255,
533 286, 255, -1, 363, 286, 362, 286, 265, 286, 267,
534 286, 263, -1, 363, 286, 375, 286, 265, 286, 267,
535 286, 264, -1, 365, 286, 382, 286, 269, 286, 270,
536 -1, 365, 286, 369, 286, 269, 286, 285, -1, 368,
537 286, 382, 286, 269, 286, 270, -1, 368, 286, 369,
538 286, 269, 286, 285, -1, 383, 286, 277, -1, 374,
539 286, 264, -1, 341, 286, 278, 286, 248, -1, 341,
540 286, 278, -1, 351, 286, 278, 286, 248, -1, 351,
541 286, 278, -1, 363, 286, 265, 286, 263, -1, 363,
542 286, 265, 286, 263, 286, 274, -1, 307, 286, 265,
543 -1, 354, 286, 260, -1, 354, 286, 299, -1, 365,
544 286, 269, 286, 269, -1, 368, 286, 269, 286, 269,
545 -1, 341, 286, 282, -1, 351, 286, 282, -1, 363,
546 286, 265, 286, 267, -1, 334, 286, 251, -1, 335,
547 286, 252, -1, 341, 286, 265, 286, 254, -1, 345,
548 286, 265, 286, 255, 286, 255, -1, 346, 286, 265,
549 286, 256, -1, 361, 286, 265, 286, 254, 286, 257,
550 286, 258, -1, 351, 286, 265, 286, 254, -1, 358,
551 286, 265, 286, 257, -1, 359, 286, 265, 286, 258,
552 -1, 360, 286, 265, 286, 259, -1, 374, 286, 265,
553 286, 264, -1, 376, 286, 265, 286, 277, -1, 377,
554 286, 265, 286, 277, -1, 355, 286, 265, 286, 260,
555 -1, 355, 286, 265, 286, 300, -1, 355, 286, 265,
556 286, 301, -1, -1, 302, 286, -1, 278, 4, 275,
557 -1, 248, 286, 278, 4, 275, -1, 378, -1, 379,
558 -1, 340, -1, 350, -1, 310, -1, 308, -1, 347,
559 -1, 309, -1, 354, 286, 260, -1, 354, 286, 299,
560 -1, 356, -1, 364, 286, 265, -1, 366, 286, 269,
561 -1, 367, 286, 269, -1, 271, 286, 266, 286, 265,
562 -1, 302, 286, 271, 286, 266, 286, 265, -1, 268,
563 286, 265, -1, 336, -1, 337, -1, 338, -1, 282,
564 -1, 282, -1, 278, -1, 282, -1, 282, -1, 299,
565 -1, 278, -1, 282, -1, 282, -1, 282, -1, 282,
566 -1, 279, -1, 282, -1, 282, -1, 282, -1, 282,
567 -1, 278, -1, 285, -1, 285, -1, 285, -1, 285,
568 -1, 285, -1, 285, -1, 276, -1, 275, 5, 276,
569 -1, 278, -1, 285, -1, 282, -1, 279, -1, 282,
570 -1, 278, -1, 283, -1, 278, 283, -1, 280, 6,
571 280, -1, 7, 280, 6, 280, -1, 8, 280, 6,
572 280, -1, 281, -1, 280, 281, -1, 9, -1, 10,
573 -1, 11, -1, 12, -1, 13, -1, 14, -1, 15,
574 -1, 16, -1, 17, -1, 18, -1, 281, -1, 10,
575 280, -1, 11, 280, -1, 12, 280, -1, 13, 280,
576 -1, 14, 280, -1, 15, 280, -1, 16, 280, -1,
577 17, 280, -1, 18, 280, -1, 19, -1, 20, -1,
578 21, -1, 22, -1, 23, -1, 24, -1, 25, -1,
579 26, -1, 27, -1, 28, -1, 29, -1, 30, -1,
580 31, -1, 32, -1, 33, -1, 34, -1, 35, -1,
581 36, -1, 37, -1, 38, -1, 39, -1, 40, -1,
582 41, -1, 42, -1, 43, -1, 44, -1, 45, -1,
583 46, -1, 47, -1, 48, -1, 49, -1, 50, -1,
584 51, -1, 52, -1, 53, -1, 54, -1, 55, -1,
585 56, -1, 57, -1, 58, -1, 59, -1, 60, -1,
586 61, -1, 62, -1, 63, -1, 64, -1, 65, -1,
587 66, -1, 67, -1, 68, -1, 69, -1, 70, -1,
588 9, -1, 10, -1, 11, -1, 12, -1, 13, -1,
589 14, -1, 15, -1, 16, -1, 17, -1, 18, -1,
590 71, -1, 3, -1, 72, -1, 73, -1, 74, -1,
591 75, -1, 76, -1, 77, -1, 7, -1, 8, -1,
592 6, -1, 5, -1, 78, -1, 79, -1, 80, -1,
593 81, -1, 4, -1, 82, -1, 83, -1, 84, -1,
594 85, -1, 86, -1, 87, -1, 88, -1, 89, -1,
595 90, -1, 91, -1, 92, -1, 93, -1, 94, -1,
596 95, -1, 96, -1, 97, -1, 98, -1, 99, -1,
597 100, -1, 101, -1, 102, -1, 103, -1, 104, -1,
598 105, -1, 106, -1, 107, -1, 108, -1, 109, -1,
599 110, -1, 111, -1, 112, -1, 113, -1, 114, -1,
600 115, -1, 116, -1, 117, -1, 118, -1, 119, -1,
601 120, -1, 121, -1, 122, -1, 123, -1, 124, -1,
602 125, -1, 126, -1, 127, -1, 128, -1, 129, -1,
603 130, -1, 131, -1, 132, -1, 133, -1, 134, -1,
604 135, -1, 136, -1, 137, -1, 138, -1, 139, -1,
605 140, -1, 141, -1, 142, -1, 143, -1, 144, -1,
606 145, -1, 146, -1, 147, -1, 148, -1, 149, -1,
607 150, -1, 151, -1, 152, -1, 153, -1, 154, -1,
608 155, -1, 156, -1, 157, -1, 158, -1, 159, -1,
609 160, -1, 161, -1, 162, -1, 163, -1, 164, -1,
610 165, -1, 166, -1, 167, -1, 168, -1, 169, -1,
611 170, -1, 171, -1, 172, -1, 173, -1, 174, -1,
612 175, -1, 176, -1, 177, -1, 178, -1, 179, -1,
613 180, -1, 181, -1, 182, -1, 183, -1, 184, -1,
614 185, -1, 186, -1, 187, -1, 188, -1, 189, -1,
615 190, -1, 191, -1, 192, -1, 193, -1, 194, -1,
616 195, -1, 196, -1, 197, -1, 198, -1, 199, -1,
617 200, -1, 201, -1, 202, -1, 203, -1, 204, -1,
618 205, -1, 206, -1, 207, -1, 208, -1, 209, -1,
619 210, -1, 211, -1, 212, -1, 213, -1, 214, -1,
620 215, -1, 216, -1, 217, -1, 218, -1, 219, -1,
621 220, -1, 221, -1, 286, -1, 278, -1, 284, 286,
622 -1, 284, 278, -1, 222, 284, 222, -1, 223, 284,
623 223, -1, 224, -1, 225, -1, 226, -1, 19, 22,
624 22, -1, 25, 23, 38, -1, 31, 19, 34, -1,
625 39, 32, 31, 19, 34, -1, 21, 30, 23, 19,
626 36, -1, 31, 33, 40, 23, -1, 21, 36, 23,
627 19, 38, 23, -1, 22, 23, 37, 38, 36, 33,
628 43, -1, 30, 27, 37, 38, -1, 30, 33, 19,
629 22, -1, 19, 30, 30, -1, 32, 33, 32, 23,
630 -1, 22, 23, 24, 19, 39, 30, 38, -1, 32,
631 33, 32, 89, 31, 33, 22, 19, 30, -1, 36,
632 23, 31, 33, 40, 23, -1, 37, 23, 38, -1,
633 37, 39, 20, 37, 21, 36, 27, 20, 23, -1,
634 39, 32, 37, 39, 20, 37, 21, 36, 27, 20,
635 23, -1, 21, 26, 19, 32, 32, 23, 30, -1,
636 19, 40, 19, 27, 30, 19, 20, 30, 23, 89,
637 23, 32, 25, 27, 32, 23, 37, -1, 19, 40,
638 19, 27, 30, 19, 20, 30, 23, 89, 19, 39,
639 22, 27, 33, 89, 33, 39, 38, 34, 39, 38,
640 89, 22, 36, 27, 40, 23, 36, 37, -1, 21,
641 26, 19, 32, 32, 23, 30, 37, -1, 27, 32,
642 24, 33, -1, 19, 39, 22, 27, 33, 89, 33,
643 39, 38, 34, 39, 38, 89, 22, 23, 40, 27,
644 21, 23, 89, 21, 33, 39, 32, 38, -1, 19,
645 39, 22, 27, 33, 89, 33, 39, 38, 34, 39,
646 38, 89, 22, 23, 40, 27, 21, 23, 89, 27,
647 32, 24, 33, -1, 31, 27, 22, 27, 89, 27,
648 32, 34, 39, 38, 89, 22, 23, 40, 27, 21,
649 23, 89, 21, 33, 39, 32, 38, -1, 31, 27,
650 22, 27, 89, 27, 32, 34, 39, 38, 89, 22,
651 23, 40, 27, 21, 23, 89, 27, 32, 24, 33,
652 -1, 31, 27, 22, 27, 89, 27, 32, 37, 38,
653 36, 39, 31, 23, 32, 38, 89, 31, 19, 34,
654 89, 21, 33, 39, 32, 38, -1, 31, 27, 22,
655 27, 89, 27, 32, 37, 38, 36, 39, 31, 23,
656 32, 38, 89, 31, 19, 34, 89, 27, 32, 24,
657 33, -1, 31, 27, 22, 27, 89, 27, 32, 37,
658 38, 36, 39, 31, 23, 32, 38, 89, 21, 33,
659 39, 32, 38, -1, 31, 27, 22, 27, 89, 27,
660 32, 37, 38, 36, 39, 31, 23, 32, 38, 89,
661 27, 32, 24, 33, -1, 22, 20, 89, 27, 32,
662 37, 38, 36, 39, 31, 23, 32, 38, 89, 22,
663 27, 36, 23, 21, 38, 33, 36, 43, 89, 21,
664 33, 39, 32, 38, -1, 22, 20, 89, 27, 32,
665 37, 38, 36, 39, 31, 23, 32, 38, 89, 22,
666 27, 36, 23, 21, 38, 33, 36, 43, 89, 27,
667 32, 24, 33, -1, 22, 20, 89, 27, 32, 37,
668 38, 36, 39, 31, 23, 32, 38, 89, 21, 33,
669 39, 32, 38, -1, 22, 20, 89, 27, 32, 37,
670 38, 36, 39, 31, 23, 32, 38, 89, 27, 32,
671 24, 33, -1, 21, 26, 19, 32, 32, 23, 30,
672 89, 21, 33, 39, 32, 38, -1, 21, 26, 19,
673 32, 32, 23, 30, 89, 27, 32, 24, 33, -1,
674 24, 42, 89, 37, 23, 32, 22, 89, 21, 33,
675 39, 32, 38, -1, 24, 42, 89, 37, 23, 32,
676 22, 89, 27, 32, 24, 33, -1, 20, 39, 24,
677 24, 23, 36, 89, 24, 27, 30, 30, -1, 37,
678 38, 36, 23, 19, 31, 89, 21, 33, 39, 32,
679 38, -1, 40, 33, 27, 21, 23, 89, 21, 33,
680 39, 32, 38, -1, 38, 33, 38, 19, 30, 89,
681 40, 33, 27, 21, 23, 89, 21, 33, 39, 32,
682 38, -1, 38, 33, 38, 19, 30, 89, 40, 33,
683 27, 21, 23, 89, 21, 33, 39, 32, 38, 89,
684 31, 19, 42, -1, 25, 30, 33, 20, 19, 30,
685 89, 27, 32, 24, 33, -1, 27, 32, 37, 38,
686 36, 39, 31, 23, 32, 38, -1, 23, 32, 25,
687 27, 32, 23, -1, 33, 32, 89, 22, 23, 31,
688 19, 32, 22, -1, 33, 32, 89, 22, 23, 31,
689 19, 32, 22, 89, 26, 33, 30, 22, -1, 34,
690 23, 36, 37, 27, 37, 38, 23, 32, 38, -1,
691 19, 39, 22, 27, 33, 89, 33, 39, 38, 34,
692 39, 38, 89, 22, 23, 40, 27, 21, 23, 89,
693 34, 19, 36, 19, 31, 23, 38, 23, 36, -1,
694 19, 39, 22, 27, 33, 89, 33, 39, 38, 34,
695 39, 38, 89, 22, 23, 40, 27, 21, 23, 37,
696 -1, 19, 39, 22, 27, 33, 89, 33, 39, 38,
697 34, 39, 38, 89, 22, 23, 40, 27, 21, 23,
698 -1, 19, 39, 22, 27, 33, 89, 33, 39, 38,
699 34, 39, 38, 89, 22, 36, 27, 40, 23, 36,
700 89, 34, 19, 36, 19, 31, 23, 38, 23, 36,
701 -1, 19, 39, 22, 27, 33, 89, 33, 39, 38,
702 34, 39, 38, 89, 22, 36, 27, 40, 23, 36,
703 -1, 19, 39, 22, 27, 33, 89, 33, 39, 38,
704 34, 39, 38, 89, 21, 26, 19, 32, 32, 23,
705 30, 89, 34, 19, 36, 19, 31, 23, 38, 23,
706 36, -1, 19, 39, 22, 27, 33, 89, 33, 39,
707 38, 34, 39, 38, 89, 21, 26, 19, 32, 32,
708 23, 30, -1, 19, 39, 22, 27, 33, 89, 33,
709 39, 38, 34, 39, 38, 89, 38, 43, 34, 23,
710 -1, 19, 40, 19, 27, 30, 19, 20, 30, 23,
711 89, 31, 27, 22, 27, 89, 27, 32, 34, 39,
712 38, 89, 22, 36, 27, 40, 23, 36, 37, -1,
713 31, 27, 22, 27, 89, 27, 32, 34, 39, 38,
714 89, 22, 23, 40, 27, 21, 23, 89, 34, 19,
715 36, 19, 31, 23, 38, 23, 36, -1, 31, 27,
716 22, 27, 89, 27, 32, 34, 39, 38, 89, 34,
717 33, 36, 38, 89, 34, 19, 36, 19, 31, 23,
718 38, 23, 36, -1, 31, 27, 22, 27, 89, 27,
719 32, 34, 39, 38, 89, 22, 23, 40, 27, 21,
720 23, 37, -1, 31, 27, 22, 27, 89, 27, 32,
721 34, 39, 38, 89, 22, 23, 40, 27, 21, 23,
722 -1, 31, 27, 22, 27, 89, 27, 32, 34, 39,
723 38, 89, 22, 36, 27, 40, 23, 36, 89, 34,
724 19, 36, 19, 31, 23, 38, 23, 36, -1, 31,
725 27, 22, 27, 89, 27, 32, 37, 38, 36, 39,
726 31, 23, 32, 38, -1, 31, 27, 22, 27, 89,
727 27, 32, 37, 38, 36, 39, 31, 23, 32, 38,
728 37, -1, 31, 27, 22, 27, 89, 27, 32, 37,
729 38, 36, 39, 31, 23, 32, 38, 89, 31, 19,
730 34, -1, 31, 27, 22, 27, 89, 27, 32, 37,
731 38, 36, 39, 31, 23, 32, 38, 89, 31, 19,
732 34, 37, -1, 31, 27, 22, 27, 89, 27, 32,
733 34, 39, 38, 89, 22, 36, 27, 40, 23, 36,
734 -1, 31, 27, 22, 27, 89, 27, 32, 34, 39,
735 38, 89, 34, 33, 36, 38, -1, 31, 27, 22,
736 27, 89, 27, 32, 34, 39, 38, 89, 21, 26,
737 19, 32, 32, 23, 30, -1, 31, 27, 22, 27,
738 89, 27, 32, 34, 39, 38, 89, 38, 43, 34,
739 23, -1, 31, 27, 22, 27, 89, 27, 32, 34,
740 39, 38, -1, 31, 27, 22, 27, 89, 21, 33,
741 32, 38, 36, 33, 30, 30, 23, 36, -1, 24,
742 42, 89, 37, 23, 32, 22, -1, 24, 42, 89,
743 37, 23, 32, 22, 37, -1, 22, 20, 89, 27,
744 32, 37, 38, 36, 39, 31, 23, 32, 38, 89,
745 22, 27, 36, 23, 21, 38, 33, 36, 43, -1,
746 22, 20, 89, 27, 32, 37, 38, 36, 39, 31,
747 23, 32, 38, 89, 22, 27, 36, 23, 21, 38,
748 33, 36, 27, 23, 37, -1, 22, 20, 89, 27,
749 32, 37, 38, 36, 39, 31, 23, 32, 38, 37,
750 -1, 22, 20, 89, 27, 32, 37, 38, 36, 39,
751 31, 23, 32, 38, -1, 22, 23, 37, 21, 36,
752 27, 34, 38, 27, 33, 32, -1, 24, 33, 36,
753 21, 23, -1, 24, 30, 19, 38, -1, 32, 33,
754 32, 89, 36, 23, 21, 39, 36, 37, 27, 40,
755 23, -1, 37, 23, 36, 40, 23, 36, -1, 40,
756 33, 30, 39, 31, 23, -1, 30, 23, 40, 23,
757 30, -1, 31, 39, 38, 23, -1, 37, 33, 30,
758 33, -1, 20, 43, 38, 23, 37, -1, 34, 23,
759 36, 21, 23, 32, 38, 19, 25, 23, -1, 36,
760 23, 37, 23, 38, -1, 31, 27, 37, 21, 23,
761 30, 30, 19, 32, 23, 33, 39, 37, -1, 32,
762 19, 31, 23, -1, 23, 21, 26, 33, -1, 35,
763 39, 27, 38, -1
764 };
765
766 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
767 static const yytype_uint16 yyrline[] =
768 {
769 0, 97, 97, 98, 101, 102, 103, 104, 107, 108,
770 109, 110, 111, 114, 115, 116, 117, 118, 119, 120,
771 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
772 133, 134, 135, 136, 137, 138, 139, 140, 143, 144,
773 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
774 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
775 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
776 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
777 187, 188, 191, 192, 193, 194, 197, 200, 201, 202,
778 203, 204, 205, 208, 209, 210, 211, 212, 213, 214,
779 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
780 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
781 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
782 245, 248, 249, 250, 251, 252, 253, 254, 255, 256,
783 257, 258, 259, 260, 261, 262, 263, 266, 267, 268,
784 269, 270, 271, 274, 277, 278, 281, 282, 285, 286,
785 287, 290, 291, 294, 295, 296, 297, 298, 299, 300,
786 301, 302, 303, 304, 305, 306, 307, 310, 311, 314,
787 315, 318, 319, 322, 323, 324, 325, 326, 327, 328,
788 329, 330, 331, 332, 333, 336, 337, 340, 343, 344,
789 345, 348, 351, 354, 357, 360, 361, 364, 367, 370,
790 373, 376, 379, 380, 383, 386, 389, 392, 395, 398,
791 401, 404, 407, 410, 413, 414, 417, 418, 419, 420,
792 428, 429, 432, 433, 436, 437, 438, 442, 443, 446,
793 447, 448, 449, 450, 451, 452, 453, 454, 455, 458,
794 459, 460, 461, 462, 463, 464, 465, 466, 467, 469,
795 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
796 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
797 469, 469, 469, 469, 469, 470, 470, 470, 470, 470,
798 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
799 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
800 470, 471, 471, 471, 471, 471, 471, 471, 471, 471,
801 471, 472, 472, 472, 472, 472, 472, 472, 472, 472,
802 472, 472, 472, 472, 473, 473, 473, 473, 473, 473,
803 473, 474, 474, 474, 474, 474, 475, 475, 475, 475,
804 476, 476, 476, 477, 477, 477, 478, 478, 478, 479,
805 479, 479, 480, 480, 480, 481, 481, 481, 482, 482,
806 482, 483, 483, 483, 484, 484, 484, 485, 485, 485,
807 486, 486, 486, 487, 487, 487, 488, 488, 488, 489,
808 489, 489, 490, 490, 490, 491, 491, 491, 492, 492,
809 492, 493, 493, 493, 494, 494, 494, 495, 495, 495,
810 496, 496, 496, 497, 497, 497, 498, 498, 498, 499,
811 499, 499, 500, 500, 500, 501, 501, 501, 502, 502,
812 502, 503, 503, 503, 504, 504, 504, 505, 505, 505,
813 506, 506, 506, 507, 507, 507, 508, 508, 508, 509,
814 509, 509, 510, 510, 510, 511, 511, 511, 512, 512,
815 512, 513, 513, 513, 514, 514, 514, 515, 515, 515,
816 516, 516, 516, 517, 517, 517, 518, 518, 521, 522,
817 523, 524, 527, 528, 534, 537, 540, 543, 546, 549,
818 552, 555, 558, 561, 564, 567, 570, 573, 576, 579,
819 582, 585, 588, 591, 594, 597, 600, 603, 606, 609,
820 612, 615, 618, 621, 624, 627, 630, 633, 636, 639,
821 642, 645, 648, 651, 654, 657, 660, 663, 666, 669,
822 672, 675, 678, 681, 684, 687, 690, 693, 696, 699,
823 702, 705, 708, 711, 714, 717, 720, 723, 726, 729,
824 732, 735, 738, 741, 744, 747, 750, 753, 756, 759,
825 762, 765, 768, 771, 774, 777, 780, 783, 786, 789,
826 792, 795, 798, 801, 804, 807, 810, 813, 816, 819,
827 822, 825, 828
828 };
829 #endif
830
831 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
832 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
833 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
834 static const char *const yytname[] =
835 {
836 "$end", "error", "$undefined", "'#'", "'='", "','", "'.'", "'+'", "'-'",
837 "'0'", "'1'", "'2'", "'3'", "'4'", "'5'", "'6'", "'7'", "'8'", "'9'",
838 "'A'", "'B'", "'C'", "'D'", "'E'", "'F'", "'G'", "'H'", "'I'", "'J'",
839 "'K'", "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'", "'R'", "'S'", "'T'",
840 "'U'", "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'", "'b'", "'c'", "'d'",
841 "'e'", "'f'", "'g'", "'h'", "'i'", "'j'", "'k'", "'l'", "'m'", "'n'",
842 "'o'", "'p'", "'q'", "'r'", "'s'", "'t'", "'u'", "'v'", "'w'", "'x'",
843 "'y'", "'z'", "'!'", "'$'", "'%'", "'&'", "'('", "')'", "'*'", "'/'",
844 "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['", "'\\\\'", "']'", "'^'",
845 "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'", "'\\201'", "'\\202'",
846 "'\\203'", "'\\204'", "'\\205'", "'\\206'", "'\\207'", "'\\210'",
847 "'\\211'", "'\\212'", "'\\213'", "'\\214'", "'\\215'", "'\\216'",
848 "'\\217'", "'\\220'", "'\\221'", "'\\222'", "'\\223'", "'\\224'",
849 "'\\225'", "'\\226'", "'\\227'", "'\\230'", "'\\231'", "'\\232'",
850 "'\\233'", "'\\234'", "'\\235'", "'\\236'", "'\\237'", "'\\240'",
851 "'\\241'", "'\\242'", "'\\243'", "'\\244'", "'\\245'", "'\\246'",
852 "'\\247'", "'\\250'", "'\\251'", "'\\252'", "'\\253'", "'\\254'",
853 "'\\255'", "'\\256'", "'\\257'", "'\\260'", "'\\261'", "'\\262'",
854 "'\\263'", "'\\264'", "'\\265'", "'\\266'", "'\\267'", "'\\270'",
855 "'\\271'", "'\\272'", "'\\273'", "'\\274'", "'\\275'", "'\\276'",
856 "'\\277'", "'\\300'", "'\\301'", "'\\302'", "'\\303'", "'\\304'",
857 "'\\305'", "'\\306'", "'\\307'", "'\\310'", "'\\311'", "'\\312'",
858 "'\\313'", "'\\314'", "'\\315'", "'\\316'", "'\\317'", "'\\320'",
859 "'\\321'", "'\\322'", "'\\323'", "'\\324'", "'\\325'", "'\\326'",
860 "'\\327'", "'\\330'", "'\\331'", "'\\332'", "'\\333'", "'\\334'",
861 "'\\335'", "'\\336'", "'\\337'", "'\\340'", "'\\341'", "'\\342'",
862 "'\\343'", "'\\344'", "'\\345'", "'\\346'", "'\\347'", "'\\350'",
863 "'\\351'", "'\\352'", "'\\353'", "'\\354'", "'\\355'", "'\\356'",
864 "'\\357'", "'\\360'", "'\\361'", "'\\362'", "'\\363'", "'\\364'",
865 "'\\365'", "'\\366'", "'\\367'", "'\\370'", "'\\371'", "'\\372'",
866 "'\\373'", "'\\374'", "'\\375'", "'\\376'", "'\\377'", "'''", "'\"'",
867 "' '", "'\\n'", "'\\r'", "$accept", "input", "line", "comment",
868 "command", "add_instruction", "subscribe_event", "unsubscribe_event",
869 "map_instruction", "unmap_instruction", "remove_instruction",
870 "get_instruction", "set_instruction", "create_instruction",
871 "reset_instruction", "clear_instruction", "move_instruction",
872 "destroy_instruction", "load_instruction", "set_chan_instruction",
873 "modal_arg", "key_val_list", "buffer_size_type", "list_instruction",
874 "load_instr_args", "load_engine_args", "instr_load_mode", "device_index",
875 "audio_channel_index", "audio_output_type_name", "midi_input_port_index",
876 "midi_input_channel_index", "midi_input_type_name", "midi_map",
877 "midi_bank", "midi_prog", "midi_ctrl", "volume_value", "sampler_channel",
878 "instrument_index", "fx_send_id", "engine_name", "pathname", "dirname",
879 "filename", "map_name", "entry_name", "fx_send_name", "param_val_list",
880 "param_val", "boolean", "string", "dotnum", "digits", "digit", "number",
881 "char", "text", "stringval", "SP", "LF", "CR", "ADD", "GET", "MAP",
882 "UNMAP", "CLEAR", "MOVE", "CREATE", "DESTROY", "LIST", "LOAD", "ALL",
883 "NONE", "DEFAULT", "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE",
884 "UNSUBSCRIBE", "CHANNEL", "AVAILABLE_ENGINES",
885 "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO",
886 "AUDIO_OUTPUT_DEVICE_COUNT", "AUDIO_OUTPUT_DEVICE_INFO",
887 "MIDI_INPUT_DEVICE_COUNT", "MIDI_INPUT_DEVICE_INFO",
888 "MIDI_INSTRUMENT_MAP_COUNT", "MIDI_INSTRUMENT_MAP_INFO",
889 "MIDI_INSTRUMENT_COUNT", "MIDI_INSTRUMENT_INFO",
890 "DB_INSTRUMENT_DIRECTORY_COUNT", "DB_INSTRUMENT_DIRECTORY_INFO",
891 "DB_INSTRUMENT_COUNT", "DB_INSTRUMENT_INFO", "CHANNEL_COUNT",
892 "CHANNEL_INFO", "FX_SEND_COUNT", "FX_SEND_INFO", "BUFFER_FILL",
893 "STREAM_COUNT", "VOICE_COUNT", "TOTAL_VOICE_COUNT",
894 "TOTAL_VOICE_COUNT_MAX", "GLOBAL_INFO", "INSTRUMENT", "ENGINE",
895 "ON_DEMAND", "ON_DEMAND_HOLD", "PERSISTENT",
896 "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DEVICES",
897 "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DRIVER_PARAMETER",
898 "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_CHANNEL_PARAMETER",
899 "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_TYPE",
900 "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE_PARAMETER",
901 "MIDI_INPUT_PORT_PARAMETER", "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE",
902 "MIDI_INPUT_DRIVER_PARAMETER", "MIDI_INSTRUMENT", "MIDI_INSTRUMENTS",
903 "MIDI_INSTRUMENT_MAP", "MIDI_INSTRUMENT_MAPS", "MIDI_INPUT_DRIVER",
904 "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "MIDI_INPUT",
905 "MIDI_CONTROLLER", "FX_SEND", "FX_SENDS", "DB_INSTRUMENT_DIRECTORY",
906 "DB_INSTRUMENT_DIRECTORIES", "DB_INSTRUMENTS", "DB_INSTRUMENT",
907 "DESCRIPTION", "FORCE", "FLAT", "NON_RECURSIVE", "SERVER", "VOLUME",
908 "LEVEL", "MUTE", "SOLO", "BYTES", "PERCENTAGE", "RESET", "MISCELLANEOUS",
909 "NAME", "ECHO", "QUIT", 0
910 };
911 #endif
912
913 # ifdef YYPRINT
914 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
915 token YYLEX-NUM. */
916 static const yytype_uint16 yytoknum[] =
917 {
918 0, 256, 257, 35, 61, 44, 46, 43, 45, 48,
919 49, 50, 51, 52, 53, 54, 55, 56, 57, 65,
920 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
921 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
922 86, 87, 88, 89, 90, 97, 98, 99, 100, 101,
923 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
924 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
925 122, 33, 36, 37, 38, 40, 41, 42, 47, 58,
926 59, 60, 62, 63, 64, 91, 92, 93, 94, 95,
927 123, 124, 125, 126, 128, 129, 130, 131, 132, 133,
928 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
929 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
930 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
931 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
932 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
933 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
934 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
935 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
936 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
937 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
938 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
939 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
940 254, 255, 39, 34, 32, 10, 13
941 };
942 # endif
943
944 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
945 static const yytype_uint16 yyr1[] =
946 {
947 0, 227, 228, 228, 229, 229, 229, 229, 230, 230,
948 230, 230, 230, 231, 231, 231, 231, 231, 231, 231,
949 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
950 232, 232, 232, 232, 232, 232, 232, 232, 233, 233,
951 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
952 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
953 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
954 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
955 234, 234, 235, 235, 235, 235, 236, 237, 237, 237,
956 237, 237, 237, 238, 238, 238, 238, 238, 238, 238,
957 238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
958 238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
959 238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
960 238, 239, 239, 239, 239, 239, 239, 239, 239, 239,
961 239, 239, 239, 239, 239, 239, 239, 240, 240, 240,
962 240, 240, 240, 241, 242, 242, 243, 243, 244, 244,
963 244, 245, 245, 246, 246, 246, 246, 246, 246, 246,
964 246, 246, 246, 246, 246, 246, 246, 247, 247, 248,
965 248, 249, 249, 250, 250, 250, 250, 250, 250, 250,
966 250, 250, 250, 250, 250, 251, 251, 252, 253, 253,
967 253, 254, 255, 256, 257, 258, 258, 259, 260, 261,
968 262, 263, 264, 264, 265, 266, 267, 268, 269, 270,
969 271, 272, 273, 274, 275, 275, 276, 276, 276, 276,
970 277, 277, 278, 278, 279, 279, 279, 280, 280, 281,
971 281, 281, 281, 281, 281, 281, 281, 281, 281, 282,
972 282, 282, 282, 282, 282, 282, 282, 282, 282, 283,
973 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
974 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
975 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
976 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
977 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
978 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
979 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
980 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
981 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
982 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
983 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
984 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
985 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
986 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
987 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
988 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
989 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
990 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
991 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
992 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
993 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
994 283, 283, 283, 283, 283, 283, 283, 283, 284, 284,
995 284, 284, 285, 285, 286, 287, 288, 289, 290, 291,
996 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
997 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
998 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
999 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
1000 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
1001 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
1002 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
1003 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
1004 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
1005 382, 383, 384
1006 };
1007
1008 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1009 static const yytype_uint8 yyr2[] =
1010 {
1011 0, 2, 2, 3, 0, 1, 1, 1, 1, 2,
1012 2, 2, 2, 3, 3, 3, 3, 3, 3, 3,
1013 3, 3, 3, 3, 3, 3, 3, 3, 1, 1,
1014 1, 3, 7, 7, 5, 7, 1, 3, 1, 1,
1015 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1016 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1017 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1018 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1019 1, 1, 16, 18, 18, 20, 7, 3, 3, 3,
1020 5, 3, 3, 1, 1, 5, 7, 9, 1, 5,
1021 7, 9, 1, 1, 5, 5, 7, 9, 7, 9,
1022 1, 5, 7, 5, 5, 5, 3, 1, 1, 3,
1023 3, 9, 1, 5, 3, 7, 3, 5, 3, 5,
1024 1, 7, 9, 7, 9, 3, 7, 9, 11, 9,
1025 9, 7, 7, 7, 7, 3, 3, 5, 3, 5,
1026 3, 5, 7, 3, 3, 3, 5, 5, 3, 3,
1027 5, 3, 3, 5, 7, 5, 9, 5, 5, 5,
1028 5, 5, 5, 5, 5, 5, 5, 0, 2, 3,
1029 5, 1, 1, 1, 1, 1, 1, 1, 1, 3,
1030 3, 1, 3, 3, 3, 5, 7, 3, 1, 1,
1031 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1032 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1033 1, 1, 1, 1, 1, 3, 1, 1, 1, 1,
1034 1, 1, 1, 2, 3, 4, 4, 1, 2, 1,
1035 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1036 2, 2, 2, 2, 2, 2, 2, 2, 2, 1,
1037 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1038 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1039 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1040 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1041 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1042 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1043 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1044 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1045 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1046 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1047 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1048 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1049 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1050 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1051 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1052 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1053 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1054 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1055 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1056 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1057 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1058 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1059 2, 2, 3, 3, 1, 1, 1, 3, 3, 3,
1060 5, 5, 4, 6, 7, 4, 4, 3, 4, 7,
1061 9, 6, 3, 9, 11, 7, 17, 30, 8, 4,
1062 25, 24, 23, 22, 25, 24, 21, 20, 29, 28,
1063 19, 18, 13, 12, 13, 12, 11, 12, 11, 17,
1064 21, 11, 10, 6, 9, 14, 10, 29, 20, 19,
1065 29, 19, 30, 20, 17, 28, 27, 25, 18, 17,
1066 27, 15, 16, 19, 20, 17, 15, 18, 15, 10,
1067 15, 7, 8, 23, 25, 14, 13, 11, 5, 4,
1068 13, 6, 6, 5, 4, 4, 5, 10, 5, 13,
1069 4, 4, 4
1070 };
1071
1072 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1073 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
1074 means the default is an error. */
1075 static const yytype_uint16 yydefact[] =
1076 {
1077 0, 7, 8, 0, 0, 0, 0, 0, 0, 0,
1078 0, 0, 0, 0, 0, 5, 6, 0, 0, 0,
1079 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1080 0, 28, 29, 0, 0, 0, 0, 0, 0, 0,
1081 0, 0, 0, 0, 0, 0, 0, 1, 485, 486,
1082 2, 0, 9, 337, 332, 331, 329, 330, 239, 240,
1083 241, 242, 243, 244, 245, 246, 247, 248, 259, 260,
1084 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
1085 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
1086 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
1087 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
1088 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
1089 321, 323, 324, 325, 326, 327, 328, 333, 334, 335,
1090 336, 338, 339, 340, 341, 342, 343, 344, 345, 346,
1091 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
1092 357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
1093 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
1094 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
1095 387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
1096 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
1097 407, 408, 409, 410, 411, 412, 413, 414, 415, 416,
1098 417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
1099 427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
1100 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
1101 447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
1102 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
1103 467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
1104 477, 484, 12, 249, 11, 232, 10, 0, 0, 0,
1105 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1106 0, 0, 487, 0, 0, 0, 488, 0, 0, 489,
1107 0, 0, 0, 0, 502, 0, 0, 0, 3, 239,
1108 240, 241, 242, 243, 244, 245, 246, 247, 248, 250,
1109 237, 251, 252, 253, 254, 255, 256, 257, 258, 322,
1110 311, 312, 313, 314, 315, 316, 317, 318, 319, 320,
1111 233, 0, 0, 0, 13, 30, 36, 0, 0, 0,
1112 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
1113 93, 98, 110, 117, 118, 0, 102, 0, 0, 0,
1114 0, 0, 94, 0, 103, 0, 0, 0, 0, 0,
1115 122, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1116 130, 0, 14, 0, 15, 0, 0, 26, 0, 0,
1117 27, 0, 0, 0, 0, 0, 17, 0, 0, 0,
1118 18, 0, 0, 0, 0, 0, 0, 0, 0, 19,
1119 186, 188, 185, 183, 187, 184, 0, 191, 0, 0,
1120 0, 0, 20, 0, 0, 21, 0, 0, 0, 0,
1121 0, 0, 0, 22, 0, 0, 0, 0, 0, 0,
1122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1123 0, 0, 0, 0, 0, 23, 38, 39, 40, 41,
1124 49, 50, 51, 52, 53, 54, 55, 56, 42, 46,
1125 47, 48, 45, 44, 43, 58, 59, 57, 24, 60,
1126 61, 62, 63, 71, 72, 73, 74, 75, 76, 77,
1127 78, 64, 68, 69, 70, 67, 66, 65, 80, 81,
1128 79, 25, 0, 0, 0, 0, 495, 496, 492, 582,
1129 0, 0, 0, 0, 0, 238, 0, 0, 0, 0,
1130 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1131 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1132 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1133 0, 0, 0, 0, 0, 177, 0, 0, 0, 0,
1134 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1135 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1136 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1137 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1138 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1139 0, 0, 491, 0, 0, 0, 578, 0, 490, 0,
1140 0, 0, 0, 0, 0, 37, 221, 31, 218, 0,
1141 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1142 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1143 0, 0, 0, 0, 0, 0, 0, 0, 0, 240,
1144 241, 242, 243, 244, 245, 246, 247, 248, 0, 119,
1145 208, 120, 0, 0, 0, 0, 124, 214, 0, 126,
1146 128, 0, 116, 0, 0, 0, 0, 0, 0, 154,
1147 155, 0, 0, 0, 0, 0, 0, 148, 150, 0,
1148 158, 159, 0, 0, 0, 0, 0, 0, 189, 190,
1149 192, 193, 194, 0, 161, 0, 220, 0, 162, 0,
1150 217, 87, 88, 89, 0, 91, 0, 92, 0, 0,
1151 0, 0, 0, 0, 135, 0, 0, 0, 0, 0,
1152 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1153 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1154 0, 0, 0, 0, 0, 0, 0, 146, 212, 0,
1155 237, 213, 145, 231, 230, 0, 0, 0, 0, 0,
1156 0, 0, 0, 0, 0, 0, 153, 493, 0, 501,
1157 0, 0, 0, 0, 0, 479, 0, 478, 0, 0,
1158 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1159 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1160 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1161 0, 0, 0, 0, 0, 0, 0, 0, 0, 178,
1162 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1163 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1164 0, 0, 0, 0, 581, 0, 0, 0, 0, 0,
1165 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1166 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1167 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1168 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1169 0, 0, 0, 0, 494, 0, 0, 0, 0, 0,
1170 482, 481, 480, 483, 0, 0, 34, 0, 0, 0,
1171 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1172 111, 0, 0, 0, 181, 182, 113, 114, 115, 104,
1173 0, 99, 0, 0, 0, 105, 0, 0, 497, 123,
1174 95, 0, 0, 127, 129, 0, 0, 0, 0, 209,
1175 0, 0, 156, 157, 0, 0, 0, 147, 0, 149,
1176 151, 211, 160, 216, 0, 0, 0, 0, 0, 0,
1177 0, 215, 0, 197, 0, 90, 0, 0, 0, 0,
1178 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1179 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1180 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1181 0, 0, 0, 0, 234, 0, 0, 0, 0, 0,
1182 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1183 0, 569, 0, 0, 0, 0, 0, 0, 0, 0,
1184 533, 0, 0, 571, 0, 572, 509, 0, 0, 0,
1185 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1186 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1187 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1188 0, 0, 0, 574, 575, 0, 0, 0, 0, 0,
1189 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1190 0, 580, 0, 0, 0, 0, 0, 0, 0, 0,
1191 0, 0, 0, 0, 0, 235, 236, 0, 0, 0,
1192 0, 0, 0, 0, 0, 0, 0, 0, 503, 0,
1193 505, 0, 0, 0, 35, 32, 33, 0, 0, 505,
1194 0, 561, 0, 0, 0, 0, 112, 100, 0, 108,
1195 0, 96, 0, 106, 125, 0, 0, 0, 86, 210,
1196 0, 0, 0, 561, 0, 0, 329, 330, 179, 224,
1197 226, 229, 228, 227, 152, 223, 0, 0, 0, 0,
1198 0, 0, 195, 0, 568, 0, 0, 0, 0, 163,
1199 201, 0, 202, 165, 203, 167, 0, 0, 174, 175,
1200 176, 168, 204, 169, 205, 206, 170, 207, 0, 171,
1201 172, 173, 131, 0, 133, 0, 136, 0, 573, 0,
1202 0, 0, 0, 0, 0, 142, 141, 219, 144, 143,
1203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1204 0, 0, 0, 0, 0, 0, 0, 508, 0, 562,
1205 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1206 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1207 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1208 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1209 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1210 0, 0, 0, 0, 504, 0, 0, 0, 0, 0,
1211 0, 0, 0, 0, 576, 0, 101, 109, 107, 97,
1212 121, 0, 0, 0, 0, 0, 0, 0, 180, 225,
1213 0, 0, 0, 0, 0, 196, 0, 0, 0, 0,
1214 164, 0, 0, 0, 132, 134, 0, 0, 0, 139,
1215 140, 137, 0, 0, 0, 0, 0, 0, 0, 0,
1216 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1217 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1218 0, 0, 0, 0, 0, 0, 0, 0, 532, 0,
1219 0, 0, 0, 0, 498, 0, 0, 0, 0, 0,
1220 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1221 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1222 0, 0, 0, 0, 0, 0, 0, 500, 0, 0,
1223 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1224 0, 0, 166, 0, 0, 138, 0, 0, 526, 0,
1225 0, 0, 0, 0, 531, 0, 0, 0, 0, 0,
1226 528, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1227 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1228 0, 0, 0, 0, 0, 0, 0, 0, 559, 0,
1229 0, 0, 0, 0, 0, 523, 0, 0, 525, 0,
1230 0, 0, 527, 0, 0, 0, 0, 0, 0, 0,
1231 0, 566, 0, 0, 0, 0, 0, 0, 0, 0,
1232 0, 566, 0, 0, 0, 0, 0, 0, 0, 0,
1233 0, 0, 0, 499, 0, 0, 567, 0, 522, 0,
1234 524, 0, 0, 579, 0, 565, 0, 0, 0, 0,
1235 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1236 577, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1237 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1238 0, 0, 0, 0, 0, 0, 0, 570, 0, 0,
1239 0, 0, 0, 0, 0, 0, 0, 556, 551, 0,
1240 551, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1241 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1242 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1243 0, 0, 0, 0, 0, 0, 0, 0, 552, 0,
1244 0, 82, 0, 0, 0, 0, 0, 0, 0, 0,
1245 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1246 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1247 506, 0, 0, 549, 555, 0, 0, 529, 0, 0,
1248 549, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1249 0, 556, 558, 560, 0, 0, 0, 0, 0, 0,
1250 0, 0, 529, 0, 0, 0, 0, 0, 0, 0,
1251 0, 548, 0, 0, 0, 0, 0, 0, 83, 84,
1252 222, 198, 199, 200, 0, 0, 0, 0, 0, 0,
1253 0, 0, 0, 0, 0, 0, 0, 521, 0, 0,
1254 0, 0, 0, 553, 0, 539, 541, 0, 0, 0,
1255 0, 0, 553, 0, 0, 0, 0, 539, 0, 0,
1256 0, 0, 0, 0, 0, 544, 0, 0, 520, 0,
1257 0, 0, 0, 0, 0, 0, 543, 538, 0, 0,
1258 0, 0, 0, 0, 554, 0, 0, 0, 85, 0,
1259 0, 0, 0, 0, 557, 0, 0, 0, 0, 0,
1260 517, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1261 530, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1262 0, 0, 516, 0, 0, 0, 0, 0, 0, 0,
1263 0, 0, 0, 0, 0, 0, 0, 0, 543, 0,
1264 0, 0, 0, 513, 0, 0, 563, 0, 0, 0,
1265 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1266 0, 512, 0, 0, 0, 0, 0, 0, 0, 0,
1267 0, 0, 0, 0, 0, 0, 511, 0, 0, 515,
1268 0, 0, 0, 0, 564, 0, 547, 0, 0, 0,
1269 0, 510, 0, 0, 514, 0, 0, 0, 0, 0,
1270 534, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1271 550, 0, 536, 0, 546, 0, 0, 0, 0, 0,
1272 545, 0, 0, 0, 519, 0, 540, 0, 0, 537,
1273 518, 542, 507, 0, 535
1274 };
1275
1276 /* YYDEFGOTO[NTERM-NUM]. */
1277 static const yytype_int16 yydefgoto[] =
1278 {
1279 -1, 13, 14, 15, 16, 344, 465, 488, 392, 394,
1280 435, 358, 443, 406, 511, 397, 400, 410, 432, 744,
1281 695, 987, 953, 419, 724, 728, 1748, 1219, 1221, 1223,
1282 1231, 1233, 1236, 679, 978, 1188, 990, 777, 686, 1000,
1283 992, 729, 637, 1256, 725, 635, 1749, 1204, 1198, 1199,
1284 782, 1200, 1201, 779, 273, 687, 275, 806, 638, 1097,
1285 50, 51, 17, 18, 19, 20, 21, 22, 23, 24,
1286 25, 26, 1235, 1229, 1230, 696, 27, 28, 29, 30,
1287 345, 360, 361, 362, 655, 466, 467, 468, 469, 470,
1288 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
1289 481, 482, 483, 484, 363, 364, 486, 433, 365, 1751,
1290 1752, 1753, 445, 366, 367, 368, 369, 370, 371, 747,
1291 372, 447, 373, 374, 375, 376, 377, 378, 346, 380,
1292 381, 382, 751, 752, 753, 767, 383, 384, 347, 386,
1293 348, 388, 771, 736, 642, 643, 389, 390, 768, 755,
1294 756, 954, 955, 31, 487, 762, 454, 32
1295 };
1296
1297 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1298 STATE-NUM. */
1299 #define YYPACT_NINF -1267
1300 static const yytype_int16 yypact[] =
1301 {
1302 38, -1267, -1267, 97, 79, 115, 157, 160, 34, 8,
1303 208, 66, 140, 214, 112, 2369, -1267, -33, -33, -33,
1304 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
1305 -33, -33, -1267, 227, 228, 230, 223, 275, 288, 315,
1306 313, 303, 322, 187, 327, 331, 248, -1267, -1267, -1267,
1307 -1267, 150, -1267, -1267, -1267, -1267, -1267, -1267, -1267, 525,
1308 525, 525, 525, 525, 525, 525, 525, 525, -1267, -1267,
1309 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1310 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1311 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1312 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1313 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1314 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1315 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1316 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1317 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1318 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1319 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1320 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1321 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1322 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1323 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1324 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1325 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1326 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1327 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1328 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1329 -1267, -1267, 3034, -1267, -1267, -1267, -1267, 133, 144, 346,
1330 346, 364, 390, 191, 191, 221, 93, 215, 155, 121,
1331 121, 399, -1267, 425, 426, 408, -1267, 409, 428, -1267,
1332 430, 410, 418, 431, -1267, 419, 436, 420, -1267, -1267,
1333 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, 525,
1334 -1267, 525, 525, 525, 525, 525, 525, 525, 525, -1267,
1335 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1336 -1267, 432, 441, 447, -1267, -1267, -33, -33, -33, 243,
1337 449, 478, 468, 457, 474, 479, 472, 473, -1267, -33,
1338 -1267, -1267, -1267, -1267, -1267, -33, -1267, -33, -33, -33,
1339 -33, -33, -1267, -33, -1267, -33, -33, -33, -33, -33,
1340 -1267, -33, -33, -33, -33, -33, -33, -33, -33, -33,
1341 -1267, 480, -1267, -33, -1267, -33, 482, -1267, -33, 490,
1342 -1267, -33, -33, 485, 484, 500, -1267, -33, -33, -33,
1343 -1267, -33, -33, -33, 349, 503, 510, 512, 528, -1267,
1344 -1267, -1267, -1267, -1267, -1267, -1267, -33, -1267, -33, -33,
1345 -33, 524, -1267, -33, -33, -1267, -33, -33, -33, -33,
1346 493, 537, 532, -1267, -33, -33, -33, -33, -33, -33,
1347 -33, -33, -33, -33, -33, 521, 522, 536, 543, 527,
1348 534, 544, 538, 540, 541, -1267, -1267, -1267, -1267, -1267,
1349 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1350 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1351 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1352 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1353 -1267, -1267, -33, 539, 542, 548, -1267, -1267, -1267, -1267,
1354 545, 550, 556, 555, 558, -1267, 560, 502, 570, 168,
1355 168, 12, 571, 575, 576, 507, 572, 511, 577, 565,
1356 564, 573, 172, 583, 583, 583, 583, 583, 583, 583,
1357 583, 583, 583, 477, 583, 583, 583, 583, 535, 583,
1358 168, 168, 583, 583, 582, 579, 535, 590, 477, 533,
1359 168, 168, 594, 546, 599, 3034, 3034, 535, 535, 535,
1360 535, 601, 605, 547, 549, 603, 477, 535, 168, 168,
1361 596, 10, 3034, 535, 477, 5, 168, 612, 611, 617,
1362 81, 535, 535, 535, 535, 622, 166, 54, 54, 392,
1363 3253, 633, 632, 638, 569, 574, 626, 86, 624, 627,
1364 634, 535, -1267, 639, 631, 643, -1267, 635, -1267, 637,
1365 640, 648, 650, 2591, 2591, -1267, -1267, -1267, -1267, 649,
1366 645, -33, -33, -33, 653, 656, 652, 658, 659, 654,
1367 662, 655, 671, 657, 666, -33, -33, -33, -33, -33,
1368 -33, -33, -33, -33, -33, -33, -33, -33, -33, 525,
1369 525, 525, 525, 525, 525, 525, 525, 525, 679, -1267,
1370 -1267, -1267, -33, -33, -33, -33, -1267, -1267, -33, -1267,
1371 -1267, -33, -1267, 684, 680, 535, -33, -33, 688, -1267,
1372 -1267, 689, -33, -33, 690, 681, 692, 2591, 2591, -33,
1373 -1267, -1267, -33, 693, 694, 695, 709, 698, -1267, -1267,
1374 -1267, -1267, -1267, 691, -1267, -33, -1267, -33, -1267, -33,
1375 3034, -1267, -1267, -1267, 715, -1267, -33, -1267, 700, 716,
1376 728, 721, 184, 729, -1267, -33, -33, -33, -33, -33,
1377 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
1378 -33, 742, -33, 724, 741, 738, -33, -33, -33, -33,
1379 743, -33, -33, -33, -33, 525, 525, -1267, -1267, 259,
1380 33, -1267, -1267, 3034, -1267, 740, 744, 737, 745, 733,
1381 751, 746, 753, 752, 757, 756, -1267, -1267, 735, -1267,
1382 754, 758, 748, 750, 699, 3034, 1925, -1267, 2147, 764,
1383 755, 168, 168, 168, 759, 760, 762, 763, 765, 761,
1384 707, 766, 768, 769, 775, 535, 102, 535, 535, 3034,
1385 535, 3034, 3034, 535, 535, 535, 535, 3034, 535, 773,
1386 535, 3034, 535, 535, 168, 168, 720, 772, -33, -1267,
1387 535, 730, 788, 168, 168, 789, 782, 732, 3034, 3034,
1388 535, 535, 790, 792, 793, 803, 739, 791, 535, 168,
1389 535, 794, 168, 796, -1267, 747, 809, 810, 797, 811,
1390 535, 535, 535, 535, 535, 535, 535, 535, 535, 535,
1391 535, 535, 3034, 535, 3034, 535, 812, 535, 823, 807,
1392 826, 535, 535, 535, 535, 813, 168, 168, 168, 168,
1393 467, 505, 525, 816, 830, 824, 825, 832, 839, 770,
1394 837, 842, 833, 843, -1267, 847, 834, 846, 836, 835,
1395 -1267, 3034, -1267, -1267, 838, 785, -33, -33, -33, 786,
1396 852, 854, 841, 856, 848, 855, 845, 795, 860, 857,
1397 -1267, 844, 862, -33, -1267, -1267, -1267, -1267, -1267, -1267,
1398 2591, 3034, -33, -33, -33, -1267, 2591, -33, -1267, -1267,
1399 3034, -33, -33, -1267, -1267, 861, 800, 535, -33, -1267,
1400 864, 858, -1267, -1267, 805, 866, 869, -33, 3472, -33,
1401 -33, -1267, -1267, -1267, 814, 877, 865, 872, 878, 867,
1402 -33, -1267, -33, -1267, 886, -1267, 819, 884, 885, 887,
1403 890, 891, -33, -33, -33, -33, -33, -33, -33, -33,
1404 -33, -33, -33, -33, 3691, -33, 3910, -33, 895, -33,
1405 892, 902, 899, -33, -33, -33, -33, 906, -33, -33,
1406 -33, -33, 525, 525, 525, 840, 894, 905, 896, 900,
1407 901, 907, 909, 904, 851, 853, 913, 910, 911, 912,
1408 921, -1267, 908, 535, 168, 168, 922, 934, 928, 923,
1409 -1267, 937, 930, -1267, 920, -1267, -1267, 926, 929, 535,
1410 3034, 535, 535, 535, 3034, 535, 535, 535, 935, 938,
1411 -33, 535, 939, 932, 933, 950, 941, 3034, 2813, 168,
1412 943, 944, 940, 955, 947, 949, 535, 535, 959, 951,
1413 954, 956, 903, -1267, -1267, 535, 535, 3034, 535, 117,
1414 535, 477, 3034, 535, 392, 3253, 3253, 2813, 3034, 2813,
1415 3034, -1267, 168, 958, 953, 924, 535, 535, 535, 535,
1416 952, 168, 168, 168, 168, 525, 525, 960, 927, 964,
1417 957, 974, 942, 977, 981, 945, 975, 996, -1267, 1002,
1418 -1267, 991, 992, 1005, -1267, -1267, -1267, 993, 1000, 998,
1419 997, 999, 207, 1004, 1015, 1018, -1267, 2591, -33, -1267,
1420 -33, 2591, -33, -1267, -1267, 1006, 1008, 535, -1267, -1267,
1421 1007, 1009, 1003, -1267, 1012, 4129, 525, 525, 1042, -1267,
1422 3034, -1267, -1267, -1267, -1267, -1267, 1010, 998, 1014, 999,
1423 244, 1025, -1267, -33, -1267, 1016, 342, 965, 1029, -1267,
1424 -1267, -33, -1267, -1267, 3034, -1267, 1034, 1026, -1267, -1267,
1425 -1267, -1267, -1267, -1267, -1267, -1267, -1267, 3034, -33, -1267,
1426 -1267, -1267, 1042, 4348, 1042, 4567, -1267, 969, -1267, 1039,
1427 -33, -33, -33, -33, 1035, -1267, -1267, -1267, -1267, -1267,
1428 1022, 1040, 976, 1027, 979, 1043, 347, 1047, 1048, 1038,
1429 1044, 1049, 1037, 1041, 1057, 1045, 1058, -1267, 1053, -1267,
1430 1054, 1050, 1067, 1059, 1074, 3034, 3034, 3034, 3034, 535,
1431 1060, 1077, -33, 1062, 1064, 1063, 1065, 2813, 2813, 1068,
1432 1070, 1071, 1076, 1080, 535, 1083, 1079, 1082, 1094, 535,
1433 1056, 1100, 535, 2813, 2813, 1103, 1104, 535, 535, 392,
1434 168, 1105, 1106, 1111, 269, 1108, 274, 1116, 1110, 1112,
1435 1120, 1121, 1126, 1117, -1267, 1127, 1123, 1118, 1130, 1072,
1436 1129, 1131, 1135, 1151, -1267, 1142, -33, 3034, 3034, -33,
1437 -1267, 1139, 1157, 3034, 1141, 1147, 1145, 1143, 1042, -1267,
1438 1146, 1155, 1144, 1152, 1149, -1267, 1156, 1154, 1150, 348,
1439 -1267, 1174, 1171, -33, 1042, 1042, 1158, 1163, -33, -1267,
1440 -1267, -1267, 1161, 1167, 1172, 1175, 1173, 1176, 1179, 1181,
1441 1180, 1177, 1178, 1194, 1182, 1197, 1187, 1199, 1185, 1184,
1442 1186, 194, 1203, 1140, 1191, 1208, 1195, 1193, 1204, -33,
1443 1201, 1218, 1206, 1153, 1207, 1220, 1159, 1210, -1267, 1211,
1444 1162, 1209, 1213, 1214, -1267, 477, 1216, 1217, 535, 1229,
1445 1219, 1227, 1221, 1235, 1238, 1223, 1239, 1231, 1183, 1228,
1446 1233, 1237, 1248, 1240, 1241, 1244, 1242, 1243, 1245, 1250,
1447 1249, 1251, 122, 1254, 1200, 1261, 1257, -1267, 168, 1259,
1448 1260, 1253, 1272, 1258, 1263, 1275, 1267, 1262, 149, 1265,
1449 1266, 1273, -1267, 1271, 1270, -1267, 1274, 1276, -1267, 1277,
1450 1278, 1280, 1283, 1286, -1267, 1288, 1289, 1269, 1287, 1246,
1451 -1267, 1290, 1301, 1299, 1247, 1305, 1304, 1308, 1293, 88,
1452 1300, 1309, 1313, 1314, 1317, -33, 1318, 1306, 1256, 1319,
1453 1264, 1310, 1320, 1323, 1268, 1324, 1316, 1311, 1279, 1321,
1454 1312, 1322, 1329, 1281, 1326, -1267, 1327, 1331, -1267, 1344,
1455 1348, 1315, -1267, 1333, 17, 1340, 1334, 395, 1349, 1350,
1456 1351, 18, 1335, 1352, 1345, 1354, 1355, 1359, 1357, 535,
1457 1358, 1294, 1362, 1347, 1369, 21, 1356, 1360, 404, 1363,
1458 1361, 1367, 49, -1267, 1370, 1365, -1267, 1377, -1267, 1325,
1459 -1267, 1371, 1368, -1267, 1374, -1267, 1388, 1375, 1389, 1390,
1460 114, 1382, 1385, 1330, 1396, 1393, 1381, 1386, 1387, 1384,
1461 -1267, 1395, -33, 1397, 1403, 1400, 1408, 1412, 1409, 1399,
1462 1414, 1418, 1415, 1405, 1364, 1419, 1411, 1404, 1372, 1416,
1463 1426, 167, 1425, 1420, 1417, 1430, 1373, -1267, 1440, 1423,
1464 1437, 1376, 1444, 1441, 1442, 1449, 1448, 1383, 24, 1443,
1465 -1267, 392, 1436, 1434, 1455, 1438, 1450, 1458, 25, 1461,
1466 1445, 1460, 1383, 43, 1463, 1447, 1452, 1466, 1465, 1451,
1467 1456, 1457, 1462, 1471, 1406, 1464, 1479, 1467, 1468, 1470,
1468 1459, 1469, 1480, 1484, 1482, 1478, 1483, 1486, -1267, 1490,
1469 1485, -33, 1495, 1505, 1502, 1494, 1508, 1503, 1504, 1510,
1470 1512, 1513, 1497, 1506, 1507, 1518, 1511, 1515, 1509, 1514,
1471 1519, 1521, 297, 1516, 1523, 1530, 1520, 1534, 1528, 1517,
1472 -1267, 1524, 1536, 1529, 1476, 1538, 1541, 1481, 16, 1546,
1473 -1267, 1547, 1548, 1529, 1550, 1540, 1552, 1487, 1555, 1544,
1474 1543, -1267, -1267, -1267, 1558, 1549, 1557, 1551, 1493, 1553,
1475 1556, 1564, -1267, 1566, 1559, 1562, 1567, 1560, 1554, 1561,
1476 1568, -1267, 1563, 1565, 1569, 1571, 1572, 1575, -33, -1267,
1477 -1267, -1267, -1267, -1267, 1576, 1582, 1570, 1573, 1583, 1585,
1478 1577, 1578, 1586, 1589, 1590, 1579, 1574, -1267, 299, 1580,
1479 1591, 1584, 1587, -1267, 1592, 1593, 1525, 1594, 1588, 1595,
1480 1597, 1601, 1599, 1602, 1535, 1596, 168, -1267, 1593, 1600,
1481 1599, 1604, 1542, 1608, 1605, -1267, 1609, 1581, -1267, 1603,
1482 1607, 1610, 1611, 1612, 1598, 1613, 1606, -1267, 1614, 1615,
1483 1616, 1617, 1619, 1618, -1267, 1620, 1622, 1621, -1267, 1624,
1484 1606, 1625, 1627, 1628, -1267, 300, 1631, 1626, 1623, 1629,
1485 -1267, 308, 1630, 1634, 1633, 1635, 1638, 1636, 1642, 1646,
1486 -1267, 1648, 1647, 1639, 1657, 1658, 1649, 1645, 1650, 1644,
1487 1651, 1652, -1267, 1653, 1656, 1641, 1662, 1654, 1632, 1655,
1488 45, 1661, 1659, 1663, 1664, 1666, 1660, 1667, -1267, 1665,
1489 1675, 1668, 1669, -1267, 1670, 1676, -1267, 1672, 1684, 1688,
1490 1679, 1689, 1690, 1691, 1696, 1678, 1698, 1695, 1687, 1692,
1491 1637, -1267, 1699, 1694, 1701, 1693, 1686, 1683, 1697, 1700,
1492 1703, 1704, 1705, 1706, 1702, 1707, -1267, 309, 1708, -1267,
1493 1710, 1709, 1715, 1712, -1267, 1720, -1267, 1722, 1716, 1724,
1494 1726, -1267, 1717, 1719, -1267, 1729, 1718, 1713, 1721, 1723,
1495 1671, 1725, 1727, 1728, 1730, 1731, 1732, 1735, 1738, 1734,
1496 -1267, 1736, -1267, 1743, -1267, 1741, 1742, 1744, 1740, 1745,
1497 -1267, 1746, 1747, 1739, -1267, 1748, -1267, 1737, 1750, -1267,
1498 -1267, -1267, -1267, 1756, -1267
1499 };
1500
1501 /* YYPGOTO[NTERM-NUM]. */
1502 static const yytype_int16 yypgoto[] =
1503 {
1504 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1505 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1506 -1267, -836, -1267, -1267, -1267, -1267, -1267, -897, -1266, -1267,
1507 282, 198, -1267, -538, -932, -1141, 335, -1103, 623, -1041,
1508 -1035, -828, -341, 586, -849, 557, -32, 448, -1047, 487,
1509 -698, 276, -591, 31, 141, 4, 185, 1148, -512, -15,
1510 1749, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1511 -1267, -1267, -469, -1267, -1267, 1196, -1267, -1267, -1267, -1267,
1512 -118, 1501, 1522, 1526, -240, 1498, 1499, 1500, 1527, 1531,
1513 1532, 1533, 1537, 1539, 1545, 1858, 2079, 2301, 2302, 2523,
1514 2524, -255, -253, -250, 151, -1267, 4499, -1267, 1640, -1267,
1515 -1267, -1267, -1267, 4505, -258, -1267, -1267, 4503, -320, -1267,
1516 4507, -1267, 4506, 4508, -252, -1267, 163, -134, -254, 4510,
1517 -1267, 1192, -1267, -1267, -1267, -1267, 57, 4511, 6, 4512,
1518 -200, -26, 1188, -1267, -1267, -1267, -1267, -261, -1267, -1267,
1519 -1267, -1267, -1267, -1267, 4509, -309, -1267, -1267
1520 };
1521
1522 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
1523 positive, shift that token. If negative, reduce the rule which
1524 number is the opposite. If zero, do what YYDEFACT says.
1525 If YYTABLE_NINF, syntax error. */
1526 #define YYTABLE_NINF -250
1527 static const yytype_int16 yytable[] =
1528 {
1529 276, 958, 277, 278, 279, 280, 281, 282, 283, 284,
1530 285, 286, 287, 288, 289, 290, 291, 636, 778, 274,
1531 1002, 1239, 1164, 989, 379, 407, 411, 453, 697, 734,
1532 699, 408, 412, 437, 449, 505, 639, 506, -249, 1,
1533 507, 2, 694, 1370, 640, 1090, 1292, 42, 718, 1746,
1534 1747, 1378, 1184, 40, 1575, 1575, 732, 3, 1575, 4,
1535 5, 1668, 1668, 6, 1681, 1594, 1213, 41, 7, 8,
1536 1605, 1509, 1881, 9, 10, 11, 770, 12, 387, 726,
1537 1242, 1682, 1244, 1606, 681, 430, 761, 1607, 1876, 44,
1538 319, 321, 322, 323, 324, 325, 326, 327, 328, 700,
1539 741, 1250, 1251, 1252, 1253, 45, 1576, 1584, 791, 34,
1540 1597, 1542, 742, 1669, 1677, 35, 352, 719, 743, 33,
1541 431, 357, 951, 792, 1543, 733, 309, 669, 670, 671,
1542 672, 673, 674, 675, 676, 677, 952, 1619, 36, 1226,
1543 455, 456, 457, 458, 1499, 459, 460, 398, 1350, 1227,
1544 1620, 426, 461, 1182, 341, 342, 1500, 848, 462, 463,
1545 359, 464, 1475, 349, 343, 350, 351, 352, 353, 436,
1546 444, 1515, 46, 512, 440, 354, 341, 399, 441, 404,
1547 37, 355, 356, 1516, 357, 763, 442, 38, 1650, 1651,
1548 641, 271, 456, 39, 1652, 357, 764, 765, 761, 654,
1549 320, 320, 320, 320, 320, 320, 320, 320, 320, 462,
1550 403, 877, 464, 1448, 47, 404, 1380, 1449, 302, 689,
1551 690, 1225, 405, 878, 303, 1450, 1238, 633, 634, 702,
1552 703, 43, 633, 634, 633, 634, 341, 399, 633, 634,
1553 414, 1280, 415, 416, 1281, 417, 343, 721, 722, 292,
1554 1358, 293, 418, 294, 735, 737, 402, -249, -249, -249,
1555 295, 439, 452, -4, -4, 912, 1374, 1375, 309, 310,
1556 311, 312, 313, 314, 315, 316, 317, 318, 1301, 306,
1557 746, 1302, 532, 533, 385, 307, 766, 656, 401, 657,
1558 1385, 272, 658, 438, 451, 1388, 1386, 769, 772, 774,
1559 967, 1389, 969, 659, 660, 661, 662, 663, 664, 665,
1560 666, 667, 668, 296, 682, 683, 684, 685, 1729, 688,
1561 1800, 1847, 691, 692, 1730, 297, 1801, 1848, 1731, 1853,
1562 1922, 529, 530, 531, 298, 1854, 1923, 48, 49, 754,
1563 409, 413, 745, 300, 542, 450, 749, 299, 748, 301,
1564 543, 305, 544, 545, 546, 547, 548, 726, 549, 1029,
1565 550, 551, 552, 553, 554, 304, 555, 556, 557, 558,
1566 559, 560, 561, 562, 563, 48, 1306, 391, 565, 1273,
1567 566, 1328, 1422, 568, 1329, 1273, 570, 571, 581, 533,
1568 633, 634, 575, 576, 577, 396, 578, 579, 580, 775,
1569 776, 309, 669, 670, 671, 672, 673, 674, 675, 676,
1570 677, 586, 399, 587, 588, 589, 1579, 1580, 591, 592,
1571 341, 593, 594, 595, 596, 1600, 1601, 1240, 1241, 600,
1572 601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
1573 485, 508, 393, 395, 513, 514, 515, 516, 519, 1346,
1574 517, 520, 1349, 518, 521, 523, 522, 340, 526, 524,
1575 525, 527, 525, 525, 525, 525, 525, 525, 525, 525,
1576 936, 937, 938, 1042, 528, 534, 309, 310, 311, 312,
1577 313, 314, 315, 316, 317, 318, 309, 669, 670, 671,
1578 672, 673, 674, 675, 676, 677, 678, 621, 535, 537,
1579 536, 538, 539, 973, 974, 540, 541, 564, 1592, 567,
1580 569, 1043, 982, 983, 309, 310, 311, 312, 313, 314,
1581 315, 316, 317, 318, 572, 1409, 573, 574, 1671, 582,
1582 583, 1005, 597, 778, 309, 310, 311, 312, 313, 314,
1583 315, 316, 317, 318, 309, 669, 670, 671, 672, 673,
1584 674, 675, 676, 677, 584, 585, 590, 680, 598, 599,
1585 611, 612, 613, 614, 616, 1038, 1039, 1040, 1041, 615,
1586 680, 617, 680, 619, 620, 622, 618, 627, 629, 630,
1587 623, 1228, 710, 711, 624, 625, 1203, 1205, 626, 628,
1588 680, 631, 632, 644, 645, 646, 647, 648, 680, 650,
1589 649, 651, 652, 653, 693, 757, 758, 759, 760, 1505,
1590 654, 694, 698, 781, 784, 1203, 704, 1203, 807, 807,
1591 636, 706, 701, 713, 714, 717, 811, 812, 813, 1255,
1592 1257, 1258, 1257, 723, 738, 705, 715, 739, 716, 740,
1593 825, 826, 827, 828, 829, 830, 831, 832, 833, 834,
1594 835, 836, 837, 838, 761, 785, 786, 787, 788, 790,
1595 793, 795, 797, 789, 798, 794, 799, 840, 841, 842,
1596 843, 800, 802, 844, 801, 803, 845, 804, 810, 809,
1597 814, 849, 850, 815, 816, 817, 818, 853, 854, 820,
1598 822, 819, 858, 859, 860, 821, 823, 861, 824, 680,
1599 319, 321, 322, 323, 324, 325, 326, 327, 328, 839,
1600 868, 846, 869, 847, 870, 851, 852, 855, 856, 857,
1601 862, 872, 864, 1165, 1166, 866, 863, 873, 778, 867,
1602 880, 881, 882, 883, 884, 885, 886, 887, 888, 889,
1603 890, 891, 892, 893, 894, 895, 865, 897, 871, 874,
1604 780, 901, 902, 903, 904, 875, 906, 907, 908, 909,
1605 876, 896, 879, 898, 899, 900, 905, 913, 914, 915,
1606 917, 918, 916, 919, 920, 921, 922, 923, 924, 926,
1607 927, 925, 928, 934, 944, 1203, 1203, 935, 929, 946,
1608 940, 932, 939, 932, 941, 942, 945, 943, 947, 949,
1609 948, 1203, 1203, 968, 976, 985, 910, 911, 1205, 975,
1610 320, 320, 320, 320, 320, 320, 320, 320, 320, 980,
1611 981, 986, 984, 994, 995, 996, 997, 999, 998, 1006,
1612 1004, 1008, 1009, 977, 959, 1010, 1007, 962, 963, 964,
1613 965, 1011, 680, 1028, 680, 1030, 971, 1031, 1032, 1045,
1614 1037, 707, 708, 1046, 979, 1049, 1047, 1048, 1050, 1051,
1615 1052, 1053, 1060, 1054, 991, 993, 1055, 1056, 730, 1058,
1616 1057, 1067, 1001, 1059, 1062, 1066, 1061, 1068, 1069, 1070,
1617 1071, 1073, 1072, 1075, 1074, 1078, 783, 1077, 1088, 1089,
1618 1076, 1092, 340, 340, 1094, 1093, 1096, 1025, 1095, 1027,
1619 1101, 680, 1102, 1100, 1103, 1104, 1105, 1108, 1109, 805,
1620 805, 1110, 1111, 1113, 1112, 340, 320, 320, 1131, 1133,
1621 525, 1063, 1064, 1065, 1114, 1134, 1135, 1140, 1149, 1147,
1622 1148, 1152, 1151, 1150, 1153, 1155, 1158, 1159, 1079, 1154,
1623 1156, 1160, 1157, 1044, 1163, 1080, 726, 1081, 1082, 1083,
1624 1161, 1084, 1085, 1162, 1168, 1167, 1086, 1087, 1169, 1171,
1625 1173, 1170, 1172, 1091, 1174, 1175, 1192, 1185, 340, 1186,
1626 1191, 1190, 1193, 1194, 1207, 1099, 1206, 1209, 1208, 1210,
1627 1211, 979, 1214, 1248, 1215, 1106, 1216, 1107, 1254, 1217,
1628 340, 1247, 1218, 1260, 1262, 1263, 1264, 1115, 1116, 1117,
1629 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1266,
1630 1128, 1267, 1130, 1249, 1132, 1269, 1261, 1270, 1136, 1137,
1631 1138, 1139, 1271, 1141, 1142, 1143, 1144, 1272, 1274, 1273,
1632 1276, 1265, 1275, 1278, 1268, 1277, 1279, 1282, 1283, 1284,
1633 778, 1291, 1295, 1290, 1293, 1294, 1296, 1298, 1303, 1299,
1634 1300, 525, 525, 320, 1307, 1305, 1308, 1310, 1315, 1311,
1635 1316, 1322, 1321, 1325, 1323, 1324, 1330, 1001, 1326, 1331,
1636 1327, 1332, 1334, 1145, 1146, 1187, 1335, 1333, 1337, 1336,
1637 1371, 1339, 931, 1338, 931, 1178, 1179, 1180, 1342, 979,
1638 1183, 993, 1340, 1341, 1343, 1189, 1344, 1345, 1351, 1352,
1639 1354, 1356, 1202, 1355, 1357, 730, 1360, 960, 961, 1361,
1640 1362, 1001, 1364, 966, 1363, 1368, 340, 970, 1367, 1220,
1641 1222, 1366, 1220, 680, 1232, 1234, 1369, 1220, 781, 784,
1642 784, 1202, 1372, 1202, 988, 988, 1376, 1377, 1384, 1382,
1643 993, 993, 993, 993, 1383, 340, 340, 1387, 1390, 1391,
1644 1392, 340, 1393, 1395, 1394, 340, 1396, 1399, 1397, 1398,
1645 1402, 1401, 1285, 1286, 1400, 1287, 1288, 1289, 1024, 1403,
1646 1026, 1404, 1405, 340, 1406, 1407, 1408, 1410, 1411, 1412,
1647 1414, 1413, 1416, 320, 320, 525, 1415, 1418, 1417, 1421,
1648 1419, 1189, 1420, 1423, 1424, 1427, 1750, 1426, 1304, 1429,
1649 709, 1430, 1431, 712, 1437, 1433, 1309, 1434, 1432, 340,
1650 720, 340, 1435, 1436, 1439, 1438, 731, 1440, 1442, 1443,
1651 1446, 1441, 1444, 1312, 1445, 1447, 1451, 910, 911, 1452,
1652 1453, 1454, 1456, 1455, 1457, 1317, 1318, 1319, 1320, 780,
1653 1459, 1460, 1462, 1464, 796, 1461, 1463, 1469, 1465, 1466,
1654 1467, 1468, 1470, 1471, 1473, 1474, 1476, 1478, 1477, 1480,
1655 1479, 1481, 1482, 1483, 1484, 780, 1487, 1486, 780, 1488,
1656 780, 1489, 1485, 1491, 1750, 1492, 1497, 1353, 1490, 1493,
1657 1503, 1494, 1496, 1498, 1495, 1501, 525, 525, 1504, 1502,
1658 1506, 1508, 1507, 1189, 1509, 1511, 1510, 1512, 1513, 1517,
1659 1514, 1202, 1202, 1519, 1518, 1520, 1521, 1522, 1531, 1524,
1660 1529, 1525, 1526, 1222, 1523, 1527, 1232, 1202, 1202, 1528,
1661 1530, 1222, 991, 781, 1535, 1532, 1536, 1538, 1534, 1539,
1662 1540, 1541, 1545, 1544, 1546, 1533, 1537, 320, 320, 1547,
1663 1548, 1550, 1553, 1556, 1551, 1552, 1557, 1559, 1555, 1560,
1664 1561, 1564, 1573, 1554, 1574, 1565, 1177, 1558, 1425, 1563,
1665 1181, 1566, 340, 1428, 1568, 1569, 340, 1571, 1562, 1570,
1666 1567, 1572, 1577, 1195, 1578, 1585, 1581, 1582, 1583, 1586,
1667 340, 1587, 1590, 1576, 1594, 340, 1588, 1595, 1589, 1591,
1668 1593, 1596, 1599, 1224, 1458, 1609, 1598, 1603, 1237, 1610,
1669 1613, 783, 783, 1602, 1243, 1604, 1245, 1614, 1608, 340,
1670 1615, 1612, 1617, 1616, 1611, 1621, 1618, 1622, 1624, 1623,
1671 1625, 1626, 340, 1629, 1627, 1628, 1633, 1634, 340, 1234,
1672 340, 1635, 1222, 1630, 1636, 1632, 1637, 1638, 780, 780,
1673 1639, 1640, 1641, 1642, 1645, 1644, 1648, 1646, 950, 1649,
1674 956, 957, 1653, 1643, 780, 780, 1655, 1656, 1654, 1658,
1675 780, 1647, 1657, 1659, 1660, 1661, 972, 1662, 1663, 1664,
1676 1665, 1666, 1667, 1668, 1672, 1670, 1673, 1675, 1674, 1676,
1677 1678, 1680, 1683, 1684, 1689, 1679, 1685, 1681, 1686, 1688,
1678 1549, 1687, 1691, 1003, 1690, 1692, 1693, 1697, 1695, 1698,
1679 1696, 1703, 1699, 1012, 1013, 1014, 1015, 1016, 1017, 1018,
1680 1019, 1020, 1021, 1022, 1023, 1694, 1701, 1700, 1702, 1704,
1681 1705, 1706, 1709, 1707, 1033, 1034, 1035, 1036, 1710, 1711,
1682 1712, 1713, 340, 340, 1714, 1717, 1715, 1716, 1720, 1718,
1683 1719, 1722, 1724, 1727, 1728, 1721, 1733, 1723, 1725, 1734,
1684 1726, 1737, 1735, 1001, 1732, 1736, 1738, 1743, 1739, 1740,
1685 1744, 988, 1347, 1348, 988, 1742, 1741, 1754, 1755, 1757,
1686 1745, 1756, 1758, 1759, 1761, 1763, 1760, 1631, 1762, 1764,
1687 1766, 1765, 1768, 1771, 1767, 1774, 1769, 1772, 1770, 1779,
1688 1775, 1789, 1777, 1773, 1373, 1799, 1776, 1780, 1785, 1787,
1689 1778, 1781, 1783, 1782, 1784, 1788, 1791, 1790, 1792, 1795,
1690 1794, 1793, 1796, 1797, 1808, 1803, 1812, 1798, 1804, 1802,
1691 1813, 1815, 1806, 1472, 1816, 1805, 1810, 1822, 1809, 730,
1692 1807, 1821, 1817, 1811, 1820, 781, 1814, 1823, 1819, 1824,
1693 1827, 1826, 1828, 1829, 1841, 1830, 1832, 1851, 1834, 1839,
1694 1837, 1846, 1857, 1379, 1835, 1838, 1708, 1843, 1842, 1844,
1695 1859, 1861, 1840, 1845, 1849, 1850, 1855, 1852, 1856, 1862,
1696 1825, 1863, 1860, 1858, 1864, 1865, 1866, 1867, 1869, 1868,
1697 1871, 1877, 1870, 1872, 1876, 1873, 1874, 1831, 1875, 1246,
1698 1878, 1880, 1882, 1881, 1884, 1833, 1886, 1883, 1887, 1889,
1699 1893, 1885, 1176, 1895, 1888, 1836, 1897, 1891, 1894, 1892,
1700 1896, 1890, 1898, 1899, 1900, 1901, 1902, 1903, 1904, 1905,
1701 1910, 1879, 1912, 1913, 1911, 1906, 1907, 1909, 1918, 1212,
1702 1259, 1908, 1926, 1786, 1914, 1928, 1917, 1919, 1915, 1916,
1703 1920, 1925, 1927, 1929, 1930, 1921, 1924, 1932, 1931, 1933,
1704 1934, 1935, 1936, 1938, 1818, 1946, 1937, 1939, 1948, 1940,
1705 1941, 1949, 1951, 1942, 1944, 1943, 1952, 1955, 1381, 1945,
1706 1947, 1950, 780, 1953, 1962, 1954, 1956, 1960, 1964, 1958,
1707 1963, 1957, 808, 1959, 1961, 1359, 420, 727, 489, 490,
1708 491, 0, 750, 0, 0, 0, 773, 0, 0, 0,
1709 308, 0, 0, 0, 0, 0, 0, 421, 0, 0,
1710 0, 422, 0, 0, 0, 0, 0, 492, 0, 0,
1711 0, 493, 494, 495, 0, 0, 0, 496, 0, 497,
1712 0, 0, 0, 0, 0, 498, 0, 0, 0, 0,
1713 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1721 0, 0, 0, 0, 0, 0, 434, 1365, 329, 53,
1722 54, 55, 56, 57, 330, 331, 332, 333, 334, 335,
1723 336, 337, 338, 339, 68, 69, 70, 71, 72, 73,
1724 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1725 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1726 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1727 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1728 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
1729 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1730 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
1731 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
1732 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
1733 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
1734 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
1735 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
1736 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
1737 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
1738 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
1739 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
1740 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
1741 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
1742 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
1743 264, 265, 266, 267, 268, 269, 270, 930, 499, 271,
1744 329, 53, 54, 55, 56, 57, 330, 331, 332, 333,
1745 334, 335, 336, 337, 338, 339, 68, 69, 70, 71,
1746 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
1747 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1748 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1749 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1750 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
1751 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1752 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
1753 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
1754 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
1755 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
1756 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
1757 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
1758 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
1759 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
1760 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
1761 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
1762 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
1763 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
1764 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
1765 262, 263, 264, 265, 266, 267, 268, 269, 270, 500,
1766 933, 271, 52, 53, 54, 55, 56, 57, 58, 59,
1767 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1768 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1769 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1770 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1771 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1772 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
1773 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
1774 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
1775 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
1776 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
1777 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
1778 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
1779 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
1780 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
1781 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
1782 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
1783 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
1784 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
1785 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
1786 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
1787 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
1788 270, 501, 502, 271, 329, 53, 54, 55, 56, 57,
1789 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
1790 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1791 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
1792 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1793 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
1794 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
1795 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
1796 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
1797 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
1798 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
1799 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
1800 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
1801 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
1802 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
1803 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
1804 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
1805 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
1806 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
1807 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
1808 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
1809 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
1810 268, 269, 270, 503, 504, 271, 329, 53, 54, 55,
1811 1196, 1197, 58, 59, 60, 61, 62, 63, 64, 65,
1812 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1813 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
1814 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1815 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
1816 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1817 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
1818 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
1819 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
1820 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
1821 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
1822 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
1823 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
1824 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
1825 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
1826 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
1827 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
1828 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
1829 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
1830 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
1831 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
1832 266, 267, 268, 269, 270, 633, 634, 329, 53, 54,
1833 55, 56, 57, 330, 331, 332, 333, 334, 335, 336,
1834 337, 338, 339, 68, 69, 70, 71, 72, 73, 74,
1835 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1836 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1837 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
1838 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1839 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
1840 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1841 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
1842 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
1843 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
1844 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
1845 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
1846 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
1847 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
1848 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
1849 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
1850 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
1851 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
1852 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
1853 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1854 265, 266, 267, 268, 269, 270, 329, 53, 54, 55,
1855 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1856 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1857 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
1858 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1859 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
1860 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1861 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
1862 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
1863 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
1864 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
1865 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
1866 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
1867 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
1868 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
1869 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
1870 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
1871 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
1872 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
1873 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
1874 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
1875 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
1876 266, 267, 268, 269, 270, 329, 1098, 54, 55, 56,
1877 57, 330, 331, 332, 333, 334, 335, 336, 337, 338,
1878 339, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1879 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
1880 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1881 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
1882 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1883 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
1884 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
1885 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
1886 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
1887 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
1888 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
1889 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
1890 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
1891 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
1892 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
1893 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
1894 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
1895 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
1896 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
1897 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
1898 267, 268, 269, 270, 329, 1127, 54, 55, 56, 57,
1899 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
1900 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1901 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
1902 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1903 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
1904 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
1905 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
1906 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
1907 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
1908 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
1909 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
1910 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
1911 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
1912 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
1913 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
1914 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
1915 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
1916 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
1917 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
1918 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
1919 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
1920 268, 269, 270, 329, 1129, 54, 55, 56, 57, 330,
1921 331, 332, 333, 334, 335, 336, 337, 338, 339, 68,
1922 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1923 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1924 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1925 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1926 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
1927 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
1928 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
1929 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
1930 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
1931 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
1932 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
1933 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
1934 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
1935 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
1936 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
1937 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
1938 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
1939 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
1940 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
1941 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
1942 269, 270, 329, 1297, 54, 55, 56, 57, 330, 331,
1943 332, 333, 334, 335, 336, 337, 338, 339, 68, 69,
1944 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1945 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1946 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1947 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1948 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
1949 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
1950 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
1951 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
1952 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
1953 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
1954 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
1955 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
1956 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
1957 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
1958 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
1959 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
1960 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
1961 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
1962 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
1963 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
1964 270, 329, 1313, 54, 55, 56, 57, 330, 331, 332,
1965 333, 334, 335, 336, 337, 338, 339, 68, 69, 70,
1966 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
1967 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
1968 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
1969 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1970 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
1971 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
1972 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
1973 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
1974 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
1975 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
1976 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
1977 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
1978 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
1979 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
1980 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
1981 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
1982 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
1983 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
1984 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
1985 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
1986 329, 1314, 54, 55, 56, 57, 330, 331, 332, 333,
1987 334, 335, 336, 337, 338, 339, 68, 69, 70, 71,
1988 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
1989 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1990 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1991 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1992 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
1993 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1994 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
1995 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
1996 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
1997 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
1998 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
1999 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
2000 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
2001 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
2002 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
2003 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
2004 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
2005 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
2006 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
2007 262, 263, 264, 265, 266, 267, 268, 269, 270, 509,
2008 423, 446, 424, 425, 448, 427, 428, 429, 0, 510
2009 };
2010
2011 static const yytype_int16 yycheck[] =
2012 {
2013 15, 829, 17, 18, 19, 20, 21, 22, 23, 24,
2014 25, 26, 27, 28, 29, 30, 31, 529, 609, 15,
2015 869, 1124, 1063, 859, 278, 283, 284, 288, 566, 24,
2016 568, 283, 284, 287, 288, 290, 24, 290, 5, 1,
2017 290, 3, 32, 1309, 32, 977, 1187, 39, 586, 33,
2018 34, 1317, 1087, 19, 37, 37, 594, 19, 37, 21,
2019 22, 37, 37, 25, 21, 22, 1107, 33, 30, 31,
2020 21, 22, 27, 35, 36, 37, 22, 39, 278, 591,
2021 1127, 38, 1129, 34, 553, 285, 32, 38, 43, 23,
2022 59, 60, 61, 62, 63, 64, 65, 66, 67, 568,
2023 19, 1136, 1137, 1138, 1139, 39, 89, 89, 22, 30,
2024 89, 23, 31, 89, 89, 36, 23, 586, 37, 22,
2025 27, 40, 20, 37, 36, 594, 9, 10, 11, 12,
2026 13, 14, 15, 16, 17, 18, 34, 23, 23, 22,
2027 19, 20, 21, 22, 22, 24, 25, 281, 1289, 32,
2028 36, 285, 31, 1085, 21, 22, 34, 695, 37, 38,
2029 278, 40, 1428, 19, 31, 21, 22, 23, 24, 287,
2030 288, 22, 32, 291, 19, 31, 21, 22, 23, 24,
2031 23, 37, 38, 34, 40, 19, 31, 27, 21, 22,
2032 531, 224, 20, 33, 27, 40, 30, 31, 32, 27,
2033 59, 60, 61, 62, 63, 64, 65, 66, 67, 37,
2034 19, 27, 40, 19, 0, 24, 1319, 23, 31, 560,
2035 561, 1118, 31, 39, 37, 31, 1123, 222, 223, 570,
2036 571, 23, 222, 223, 222, 223, 21, 22, 222, 223,
2037 19, 34, 21, 22, 37, 24, 31, 588, 589, 22,
2038 1297, 23, 31, 23, 595, 596, 282, 224, 225, 226,
2039 37, 287, 288, 225, 226, 6, 1313, 1314, 9, 10,
2040 11, 12, 13, 14, 15, 16, 17, 18, 34, 31,
2041 600, 37, 39, 40, 278, 37, 606, 542, 282, 542,
2042 21, 15, 542, 287, 288, 21, 27, 606, 607, 608,
2043 838, 27, 840, 543, 544, 545, 546, 547, 548, 549,
2044 550, 551, 552, 38, 554, 555, 556, 557, 21, 559,
2045 21, 21, 562, 563, 27, 37, 27, 27, 31, 21,
2046 21, 346, 347, 348, 19, 27, 27, 225, 226, 600,
2047 283, 284, 600, 40, 359, 288, 600, 34, 600, 27,
2048 365, 20, 367, 368, 369, 370, 371, 869, 373, 897,
2049 375, 376, 377, 378, 379, 38, 381, 382, 383, 384,
2050 385, 386, 387, 388, 389, 225, 34, 31, 393, 37,
2051 395, 34, 34, 398, 37, 37, 401, 402, 39, 40,
2052 222, 223, 407, 408, 409, 31, 411, 412, 413, 7,
2053 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
2054 18, 426, 22, 428, 429, 430, 21, 22, 433, 434,
2055 21, 436, 437, 438, 439, 21, 22, 1125, 1126, 444,
2056 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
2057 289, 290, 279, 280, 19, 19, 38, 38, 38, 1285,
2058 22, 33, 1288, 23, 23, 19, 37, 272, 26, 39,
2059 319, 20, 321, 322, 323, 324, 325, 326, 327, 328,
2060 811, 812, 813, 6, 27, 26, 9, 10, 11, 12,
2061 13, 14, 15, 16, 17, 18, 9, 10, 11, 12,
2062 13, 14, 15, 16, 17, 18, 19, 512, 20, 42,
2063 32, 27, 23, 844, 845, 33, 33, 27, 1549, 27,
2064 20, 6, 853, 854, 9, 10, 11, 12, 13, 14,
2065 15, 16, 17, 18, 39, 1353, 42, 27, 1631, 26,
2066 20, 872, 39, 1124, 9, 10, 11, 12, 13, 14,
2067 15, 16, 17, 18, 9, 10, 11, 12, 13, 14,
2068 15, 16, 17, 18, 42, 27, 32, 553, 21, 27,
2069 39, 39, 26, 20, 30, 906, 907, 908, 909, 42,
2070 566, 27, 568, 33, 33, 36, 38, 21, 20, 19,
2071 38, 1119, 578, 579, 36, 40, 1098, 1099, 38, 34,
2072 586, 89, 22, 22, 19, 19, 89, 25, 594, 22,
2073 89, 36, 38, 30, 22, 601, 602, 603, 604, 1458,
2074 27, 32, 22, 609, 610, 1127, 22, 1129, 633, 634,
2075 1132, 22, 89, 22, 19, 22, 641, 642, 643, 1141,
2076 1142, 1143, 1144, 37, 22, 89, 89, 26, 89, 22,
2077 655, 656, 657, 658, 659, 660, 661, 662, 663, 664,
2078 665, 666, 667, 668, 32, 22, 24, 19, 89, 33,
2079 36, 27, 23, 89, 33, 38, 23, 682, 683, 684,
2080 685, 36, 32, 688, 37, 27, 691, 27, 33, 30,
2081 27, 696, 697, 27, 32, 27, 27, 702, 703, 27,
2082 19, 37, 707, 708, 709, 40, 39, 712, 32, 695,
2083 669, 670, 671, 672, 673, 674, 675, 676, 677, 30,
2084 725, 27, 727, 33, 729, 27, 27, 27, 37, 27,
2085 27, 736, 27, 1064, 1065, 27, 32, 27, 1319, 38,
2086 745, 746, 747, 748, 749, 750, 751, 752, 753, 754,
2087 755, 756, 757, 758, 759, 760, 37, 762, 33, 33,
2088 609, 766, 767, 768, 769, 27, 771, 772, 773, 774,
2089 39, 19, 33, 39, 23, 27, 23, 27, 24, 32,
2090 37, 20, 27, 27, 21, 23, 19, 21, 43, 21,
2091 32, 27, 32, 19, 23, 1297, 1298, 32, 89, 23,
2092 30, 806, 33, 808, 32, 32, 89, 32, 30, 24,
2093 31, 1313, 1314, 30, 32, 23, 775, 776, 1320, 89,
2094 669, 670, 671, 672, 673, 674, 675, 676, 677, 89,
2095 32, 89, 33, 33, 32, 32, 23, 36, 89, 33,
2096 36, 22, 22, 848, 830, 38, 89, 833, 834, 835,
2097 836, 30, 838, 31, 840, 22, 842, 40, 22, 33,
2098 37, 575, 576, 23, 850, 23, 32, 32, 19, 89,
2099 23, 19, 27, 30, 860, 861, 23, 20, 592, 23,
2100 36, 19, 868, 37, 89, 89, 38, 23, 37, 23,
2101 32, 36, 27, 23, 89, 23, 610, 43, 27, 89,
2102 33, 27, 707, 708, 89, 37, 27, 893, 32, 895,
2103 23, 897, 37, 89, 32, 27, 39, 21, 89, 633,
2104 634, 27, 27, 23, 27, 730, 775, 776, 23, 27,
2105 779, 936, 937, 938, 33, 23, 27, 21, 23, 89,
2106 36, 30, 32, 37, 27, 31, 23, 27, 953, 30,
2107 89, 30, 89, 912, 36, 960, 1458, 962, 963, 964,
2108 38, 966, 967, 32, 20, 33, 971, 972, 30, 22,
2109 40, 38, 32, 978, 38, 36, 33, 32, 783, 31,
2110 38, 32, 22, 32, 30, 990, 33, 22, 38, 32,
2111 31, 977, 23, 30, 33, 1000, 32, 1002, 36, 33,
2112 805, 33, 89, 33, 30, 38, 22, 1012, 1013, 1014,
2113 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 32,
2114 1025, 30, 1027, 89, 1029, 40, 89, 21, 1033, 1034,
2115 1035, 1036, 20, 1038, 1039, 1040, 1041, 36, 23, 37,
2116 30, 89, 39, 36, 89, 37, 37, 33, 23, 21,
2117 1631, 33, 39, 37, 37, 36, 34, 5, 23, 39,
2118 36, 910, 911, 912, 89, 39, 27, 23, 89, 33,
2119 21, 39, 27, 36, 24, 89, 19, 1063, 89, 21,
2120 27, 33, 23, 1042, 1043, 1090, 39, 33, 21, 38,
2121 24, 23, 806, 38, 808, 1081, 1082, 1083, 38, 1085,
2122 1086, 1087, 39, 39, 27, 1091, 37, 23, 38, 22,
2123 38, 38, 1098, 39, 39, 829, 38, 831, 832, 39,
2124 39, 1107, 32, 837, 38, 33, 931, 841, 39, 1115,
2125 1116, 38, 1118, 1119, 1120, 1121, 32, 1123, 1124, 1125,
2126 1126, 1127, 32, 1129, 858, 859, 33, 33, 27, 34,
2127 1136, 1137, 1138, 1139, 38, 960, 961, 39, 32, 39,
2128 38, 966, 32, 27, 33, 970, 39, 39, 31, 36,
2129 31, 89, 1177, 1178, 34, 1180, 1181, 1182, 892, 38,
2130 894, 36, 21, 988, 32, 36, 19, 36, 31, 34,
2131 34, 38, 38, 1042, 1043, 1044, 31, 38, 36, 39,
2132 34, 1187, 38, 19, 23, 32, 1708, 39, 1213, 38,
2133 577, 34, 30, 580, 24, 32, 1221, 31, 33, 1024,
2134 587, 1026, 33, 32, 36, 38, 593, 23, 21, 32,
2135 36, 39, 23, 1238, 39, 39, 23, 1196, 1197, 89,
2136 39, 23, 39, 38, 30, 1250, 1251, 1252, 1253, 1098,
2137 39, 23, 89, 23, 621, 39, 39, 38, 89, 39,
2138 39, 89, 39, 39, 38, 38, 27, 30, 39, 24,
2139 39, 23, 39, 24, 33, 1124, 33, 39, 1127, 32,
2140 1129, 23, 89, 32, 1786, 31, 27, 1292, 38, 37,
2141 19, 38, 32, 32, 39, 31, 1145, 1146, 31, 89,
2142 31, 38, 32, 1289, 22, 32, 38, 22, 31, 34,
2143 38, 1297, 1298, 30, 38, 34, 36, 33, 39, 32,
2144 22, 33, 32, 1309, 38, 32, 1312, 1313, 1314, 33,
2145 31, 1317, 1318, 1319, 23, 38, 27, 22, 38, 25,
2146 22, 38, 23, 33, 21, 89, 89, 1196, 1197, 25,
2147 23, 23, 23, 23, 38, 89, 23, 23, 38, 33,
2148 39, 39, 37, 89, 21, 33, 1080, 89, 1373, 38,
2149 1084, 32, 1177, 1378, 38, 38, 1181, 23, 89, 38,
2150 89, 23, 32, 1097, 40, 40, 27, 27, 27, 27,
2151 1195, 36, 23, 89, 22, 1200, 32, 40, 33, 32,
2152 32, 22, 32, 1117, 1409, 30, 40, 36, 1122, 22,
2153 32, 1125, 1126, 40, 1128, 38, 1130, 33, 38, 1224,
2154 22, 40, 23, 38, 89, 33, 26, 32, 22, 89,
2155 27, 40, 1237, 39, 38, 38, 23, 27, 1243, 1425,
2156 1245, 23, 1428, 38, 22, 38, 27, 38, 1297, 1298,
2157 26, 23, 27, 38, 33, 26, 30, 43, 825, 23,
2158 827, 828, 27, 89, 1313, 1314, 39, 27, 38, 19,
2159 1319, 89, 89, 40, 27, 89, 843, 23, 27, 27,
2160 21, 23, 89, 37, 40, 32, 21, 27, 40, 21,
2161 19, 21, 19, 36, 27, 40, 34, 21, 23, 33,
2162 1505, 40, 21, 870, 32, 89, 32, 27, 31, 40,
2163 32, 23, 33, 880, 881, 882, 883, 884, 885, 886,
2164 887, 888, 889, 890, 891, 36, 32, 37, 36, 36,
2165 34, 31, 27, 38, 901, 902, 903, 904, 23, 27,
2166 36, 23, 1347, 1348, 31, 23, 32, 27, 32, 26,
2167 43, 23, 27, 24, 23, 38, 23, 36, 39, 19,
2168 36, 23, 32, 1549, 38, 21, 39, 19, 34, 23,
2169 19, 1285, 1286, 1287, 1288, 89, 37, 21, 21, 19,
2170 89, 23, 32, 21, 19, 32, 89, 1592, 34, 21,
2171 23, 32, 89, 19, 33, 23, 33, 21, 32, 21,
2172 23, 21, 38, 34, 1312, 21, 36, 34, 23, 23,
2173 39, 36, 31, 34, 32, 23, 23, 34, 23, 23,
2174 32, 34, 23, 23, 89, 24, 19, 38, 34, 39,
2175 19, 19, 30, 1425, 89, 38, 38, 19, 34, 1353,
2176 37, 89, 36, 38, 30, 1631, 37, 32, 38, 30,
2177 33, 38, 32, 32, 22, 33, 33, 24, 34, 31,
2178 33, 23, 19, 1318, 39, 36, 1671, 33, 37, 34,
2179 22, 19, 42, 36, 33, 39, 36, 38, 34, 23,
2180 89, 23, 36, 38, 27, 36, 19, 19, 33, 30,
2181 36, 19, 32, 32, 43, 33, 33, 89, 32, 1132,
2182 36, 36, 31, 27, 31, 89, 36, 38, 31, 24,
2183 24, 37, 1079, 19, 39, 89, 27, 38, 36, 39,
2184 22, 43, 23, 23, 23, 19, 38, 19, 23, 32,
2185 19, 89, 36, 40, 31, 33, 89, 33, 23, 1106,
2186 1144, 32, 23, 1748, 37, 23, 32, 31, 38, 36,
2187 38, 31, 27, 23, 22, 38, 38, 23, 32, 23,
2188 33, 32, 23, 40, 1786, 24, 38, 36, 23, 36,
2189 89, 23, 26, 38, 36, 38, 23, 23, 1320, 39,
2190 38, 37, 1631, 32, 37, 33, 36, 38, 22, 33,
2191 30, 36, 634, 36, 36, 1298, 285, 591, 290, 290,
2192 290, -1, 600, -1, -1, -1, 608, -1, -1, -1,
2193 51, -1, -1, -1, -1, -1, -1, 285, -1, -1,
2194 -1, 285, -1, -1, -1, -1, -1, 290, -1, -1,
2195 -1, 290, 290, 290, -1, -1, -1, 290, -1, 290,
2196 -1, -1, -1, -1, -1, 290, -1, -1, -1, -1,
2197 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2198 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2199 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2200 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2201 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2202 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2203 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2204 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2205 -1, -1, -1, -1, -1, -1, 286, 1304, 3, 4,
2206 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
2207 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
2208 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
2209 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2210 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2211 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2212 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2213 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2214 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
2215 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
2216 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2217 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
2218 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
2219 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
2220 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
2221 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
2222 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
2223 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
2224 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
2225 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
2226 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
2227 215, 216, 217, 218, 219, 220, 221, 222, 290, 224,
2228 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
2229 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
2230 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
2231 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2232 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
2233 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
2234 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
2235 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
2236 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
2237 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
2238 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2239 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
2240 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
2241 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
2242 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
2243 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
2244 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
2245 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
2246 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
2247 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
2248 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
2249 213, 214, 215, 216, 217, 218, 219, 220, 221, 290,
2250 223, 224, 3, 4, 5, 6, 7, 8, 9, 10,
2251 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
2252 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
2253 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2254 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2255 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2256 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2257 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2258 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
2259 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
2260 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2261 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
2262 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
2263 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
2264 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2265 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2266 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2267 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
2268 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
2269 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
2270 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
2271 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
2272 221, 290, 290, 224, 3, 4, 5, 6, 7, 8,
2273 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2274 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
2275 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
2276 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
2277 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2278 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
2279 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2280 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
2281 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
2282 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2283 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
2284 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
2285 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
2286 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
2287 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
2288 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
2289 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
2290 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
2291 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
2292 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
2293 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
2294 219, 220, 221, 290, 290, 224, 3, 4, 5, 6,
2295 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
2296 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
2297 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
2298 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2299 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2300 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2301 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2302 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
2303 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
2304 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
2305 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
2306 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
2307 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
2308 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
2309 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
2310 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
2311 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
2312 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
2313 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
2314 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
2315 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
2316 217, 218, 219, 220, 221, 222, 223, 3, 4, 5,
2317 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
2318 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
2319 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
2320 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
2321 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2322 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
2323 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
2324 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
2325 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
2326 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
2327 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2328 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
2329 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
2330 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
2331 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
2332 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
2333 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
2334 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
2335 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
2336 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
2337 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
2338 216, 217, 218, 219, 220, 221, 3, 4, 5, 6,
2339 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
2340 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
2341 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
2342 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2343 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2344 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2345 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2346 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
2347 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
2348 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
2349 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
2350 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
2351 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
2352 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
2353 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
2354 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
2355 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
2356 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
2357 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
2358 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
2359 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
2360 217, 218, 219, 220, 221, 3, 4, 5, 6, 7,
2361 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
2362 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
2363 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2364 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2365 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2366 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
2367 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2368 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
2369 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
2370 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
2371 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
2372 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
2373 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
2374 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
2375 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
2376 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
2377 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
2378 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
2379 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
2380 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
2381 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
2382 218, 219, 220, 221, 3, 4, 5, 6, 7, 8,
2383 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2384 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
2385 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
2386 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
2387 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2388 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
2389 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2390 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
2391 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
2392 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2393 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
2394 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
2395 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
2396 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
2397 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
2398 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
2399 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
2400 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
2401 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
2402 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
2403 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
2404 219, 220, 221, 3, 4, 5, 6, 7, 8, 9,
2405 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2406 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
2407 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2408 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2409 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2410 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
2411 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2412 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
2413 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
2414 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2415 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
2416 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
2417 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
2418 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
2419 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
2420 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
2421 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
2422 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
2423 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
2424 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
2425 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
2426 220, 221, 3, 4, 5, 6, 7, 8, 9, 10,
2427 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
2428 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
2429 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2430 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2431 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2432 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2433 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2434 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
2435 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
2436 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2437 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
2438 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
2439 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
2440 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2441 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2442 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2443 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
2444 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
2445 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
2446 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
2447 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
2448 221, 3, 4, 5, 6, 7, 8, 9, 10, 11,
2449 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
2450 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
2451 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
2452 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2453 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
2454 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
2455 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2456 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
2457 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
2458 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2459 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2460 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2461 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
2462 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
2463 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
2464 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
2465 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
2466 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
2467 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
2468 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
2469 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
2470 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
2471 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
2472 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
2473 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2474 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
2475 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
2476 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
2477 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
2478 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
2479 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
2480 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2481 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
2482 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
2483 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
2484 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
2485 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
2486 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
2487 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
2488 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
2489 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
2490 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
2491 213, 214, 215, 216, 217, 218, 219, 220, 221, 290,
2492 285, 288, 285, 285, 288, 285, 285, 285, -1, 290
2493 };
2494
2495 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2496 symbol of state STATE-NUM. */
2497 static const yytype_uint16 yystos[] =
2498 {
2499 0, 1, 3, 19, 21, 22, 25, 30, 31, 35,
2500 36, 37, 39, 228, 229, 230, 231, 289, 290, 291,
2501 292, 293, 294, 295, 296, 297, 298, 303, 304, 305,
2502 306, 380, 384, 22, 30, 36, 23, 23, 27, 33,
2503 19, 33, 39, 23, 23, 39, 32, 0, 225, 226,
2504 287, 288, 3, 4, 5, 6, 7, 8, 9, 10,
2505 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
2506 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
2507 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2508 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2509 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2510 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2511 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2512 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
2513 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
2514 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2515 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
2516 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
2517 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
2518 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2519 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2520 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2521 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
2522 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
2523 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
2524 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
2525 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
2526 221, 224, 278, 281, 282, 283, 286, 286, 286, 286,
2527 286, 286, 286, 286, 286, 286, 286, 286, 286, 286,
2528 286, 286, 22, 23, 23, 37, 38, 37, 19, 34,
2529 40, 27, 31, 37, 38, 20, 31, 37, 287, 9,
2530 10, 11, 12, 13, 14, 15, 16, 17, 18, 280,
2531 281, 280, 280, 280, 280, 280, 280, 280, 280, 3,
2532 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2533 283, 21, 22, 31, 232, 307, 355, 365, 367, 19,
2534 21, 22, 23, 24, 31, 37, 38, 40, 238, 307,
2535 308, 309, 310, 331, 332, 335, 340, 341, 342, 343,
2536 344, 345, 347, 349, 350, 351, 352, 353, 354, 355,
2537 356, 357, 358, 363, 364, 365, 366, 367, 368, 373,
2538 374, 31, 235, 353, 236, 353, 31, 242, 354, 22,
2539 243, 365, 368, 19, 24, 31, 240, 341, 351, 363,
2540 244, 341, 351, 363, 19, 21, 22, 24, 31, 250,
2541 308, 309, 310, 340, 347, 350, 354, 356, 364, 366,
2542 367, 27, 245, 334, 335, 237, 307, 355, 365, 368,
2543 19, 23, 31, 239, 307, 339, 344, 348, 349, 355,
2544 363, 365, 368, 374, 383, 19, 20, 21, 22, 24,
2545 25, 31, 37, 38, 40, 233, 312, 313, 314, 315,
2546 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
2547 326, 327, 328, 329, 330, 331, 333, 381, 234, 312,
2548 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
2549 323, 324, 325, 326, 327, 328, 329, 330, 331, 333,
2550 381, 241, 307, 19, 19, 38, 38, 22, 23, 38,
2551 33, 23, 37, 19, 39, 281, 26, 20, 27, 286,
2552 286, 286, 39, 40, 26, 20, 32, 42, 27, 23,
2553 33, 33, 286, 286, 286, 286, 286, 286, 286, 286,
2554 286, 286, 286, 286, 286, 286, 286, 286, 286, 286,
2555 286, 286, 286, 286, 27, 286, 286, 27, 286, 20,
2556 286, 286, 39, 42, 27, 286, 286, 286, 286, 286,
2557 286, 39, 26, 20, 42, 27, 286, 286, 286, 286,
2558 32, 286, 286, 286, 286, 286, 286, 39, 21, 27,
2559 286, 286, 286, 286, 286, 286, 286, 286, 286, 286,
2560 286, 39, 39, 26, 20, 42, 30, 27, 38, 33,
2561 33, 286, 36, 38, 36, 40, 38, 21, 34, 20,
2562 19, 89, 22, 222, 223, 272, 285, 269, 285, 24,
2563 32, 269, 371, 372, 22, 19, 19, 89, 25, 89,
2564 22, 36, 38, 30, 27, 311, 328, 329, 330, 311,
2565 311, 311, 311, 311, 311, 311, 311, 311, 311, 10,
2566 11, 12, 13, 14, 15, 16, 17, 18, 19, 260,
2567 282, 299, 311, 311, 311, 311, 265, 282, 311, 269,
2568 269, 311, 311, 22, 32, 247, 302, 260, 22, 260,
2569 299, 89, 269, 269, 22, 89, 22, 278, 278, 265,
2570 282, 282, 265, 22, 19, 89, 89, 22, 260, 299,
2571 265, 269, 269, 37, 251, 271, 285, 302, 252, 268,
2572 278, 265, 260, 299, 24, 269, 370, 269, 22, 26,
2573 22, 19, 31, 37, 246, 341, 345, 346, 351, 355,
2574 358, 359, 360, 361, 374, 376, 377, 282, 282, 282,
2575 282, 32, 382, 19, 30, 31, 345, 362, 375, 382,
2576 22, 369, 382, 369, 382, 7, 8, 264, 279, 280,
2577 281, 282, 277, 278, 282, 22, 24, 19, 89, 89,
2578 33, 22, 37, 36, 38, 27, 265, 23, 33, 23,
2579 36, 37, 32, 27, 27, 278, 284, 286, 284, 30,
2580 33, 286, 286, 286, 27, 27, 32, 27, 27, 37,
2581 27, 40, 19, 39, 32, 286, 286, 286, 286, 286,
2582 286, 286, 286, 286, 286, 286, 286, 286, 286, 30,
2583 286, 286, 286, 286, 286, 286, 27, 33, 260, 286,
2584 286, 27, 27, 286, 286, 27, 37, 27, 286, 286,
2585 286, 286, 27, 32, 27, 37, 27, 38, 286, 286,
2586 286, 33, 286, 27, 33, 27, 39, 27, 39, 33,
2587 286, 286, 286, 286, 286, 286, 286, 286, 286, 286,
2588 286, 286, 286, 286, 286, 286, 19, 286, 39, 23,
2589 27, 286, 286, 286, 286, 23, 286, 286, 286, 286,
2590 280, 280, 6, 27, 24, 32, 27, 37, 20, 27,
2591 21, 23, 19, 21, 43, 27, 21, 32, 32, 89,
2592 222, 278, 286, 223, 19, 32, 269, 269, 269, 33,
2593 30, 32, 32, 32, 23, 89, 23, 30, 31, 24,
2594 265, 20, 34, 249, 378, 379, 265, 265, 268, 282,
2595 278, 278, 282, 282, 282, 282, 278, 260, 30, 260,
2596 278, 282, 265, 269, 269, 89, 32, 286, 261, 282,
2597 89, 32, 269, 269, 33, 23, 89, 248, 278, 248,
2598 263, 282, 267, 282, 33, 32, 32, 23, 89, 36,
2599 266, 282, 271, 265, 36, 269, 33, 89, 22, 22,
2600 38, 30, 265, 265, 265, 265, 265, 265, 265, 265,
2601 265, 265, 265, 265, 278, 282, 278, 282, 31, 260,
2602 22, 40, 22, 265, 265, 265, 265, 37, 269, 269,
2603 269, 269, 6, 6, 280, 33, 23, 32, 32, 23,
2604 19, 89, 23, 19, 30, 23, 20, 36, 23, 37,
2605 27, 38, 89, 286, 286, 286, 89, 19, 23, 37,
2606 23, 32, 27, 36, 89, 23, 33, 43, 23, 286,
2607 286, 286, 286, 286, 286, 286, 286, 286, 27, 89,
2608 261, 286, 27, 37, 89, 32, 27, 286, 4, 286,
2609 89, 23, 37, 32, 27, 39, 286, 286, 21, 89,
2610 27, 27, 27, 23, 33, 286, 286, 286, 286, 286,
2611 286, 286, 286, 286, 286, 286, 286, 4, 286, 4,
2612 286, 23, 286, 27, 23, 27, 286, 286, 286, 286,
2613 21, 286, 286, 286, 286, 280, 280, 89, 36, 23,
2614 37, 32, 30, 27, 30, 31, 89, 89, 23, 27,
2615 30, 38, 32, 36, 266, 269, 269, 33, 20, 30,
2616 38, 22, 32, 40, 38, 36, 265, 278, 282, 282,
2617 282, 278, 261, 282, 267, 32, 31, 286, 262, 282,
2618 32, 38, 33, 22, 32, 278, 7, 8, 275, 276,
2619 278, 279, 282, 285, 274, 285, 33, 30, 38, 22,
2620 32, 31, 265, 266, 23, 33, 32, 33, 89, 254,
2621 282, 255, 282, 256, 278, 254, 22, 32, 260, 300,
2622 301, 257, 282, 258, 282, 299, 259, 278, 254, 264,
2623 277, 277, 275, 278, 275, 278, 272, 33, 30, 89,
2624 267, 267, 267, 267, 36, 285, 270, 285, 285, 270,
2625 33, 89, 30, 38, 22, 89, 32, 30, 89, 40,
2626 21, 20, 36, 37, 23, 39, 30, 37, 36, 37,
2627 34, 37, 33, 23, 21, 286, 286, 286, 286, 286,
2628 37, 33, 262, 37, 36, 39, 34, 4, 5, 39,
2629 36, 34, 37, 23, 286, 39, 34, 89, 27, 286,
2630 23, 33, 286, 4, 4, 89, 21, 286, 286, 286,
2631 286, 27, 39, 24, 89, 36, 89, 27, 34, 37,
2632 19, 21, 33, 33, 23, 39, 38, 21, 38, 23,
2633 39, 39, 38, 27, 37, 23, 248, 278, 278, 248,
2634 262, 38, 22, 286, 38, 39, 38, 39, 275, 276,
2635 38, 39, 39, 38, 32, 265, 38, 39, 33, 32,
2636 255, 24, 32, 257, 275, 275, 33, 33, 255, 263,
2637 264, 274, 34, 38, 27, 21, 27, 39, 21, 27,
2638 32, 39, 38, 32, 33, 27, 39, 31, 36, 39,
2639 34, 89, 31, 38, 36, 21, 32, 36, 19, 268,
2640 36, 31, 34, 38, 34, 31, 38, 36, 38, 34,
2641 38, 39, 34, 19, 23, 286, 39, 32, 286, 38,
2642 34, 30, 33, 32, 31, 33, 32, 24, 38, 36,
2643 23, 39, 21, 32, 23, 39, 36, 39, 19, 23,
2644 31, 23, 89, 39, 23, 38, 39, 30, 286, 39,
2645 23, 39, 89, 39, 23, 89, 39, 39, 89, 38,
2646 39, 39, 258, 38, 38, 255, 27, 39, 30, 39,
2647 24, 23, 39, 24, 33, 89, 39, 33, 32, 23,
2648 38, 32, 31, 37, 38, 39, 32, 27, 32, 22,
2649 34, 31, 89, 19, 31, 271, 31, 32, 38, 22,
2650 38, 32, 22, 31, 38, 22, 34, 34, 38, 30,
2651 34, 36, 33, 38, 32, 33, 32, 32, 33, 22,
2652 31, 39, 38, 89, 38, 23, 27, 89, 22, 25,
2653 22, 38, 23, 36, 33, 23, 21, 25, 23, 286,
2654 23, 38, 89, 23, 89, 38, 23, 23, 89, 23,
2655 33, 39, 89, 38, 39, 33, 32, 89, 38, 38,
2656 38, 23, 23, 37, 21, 37, 89, 32, 40, 21,
2657 22, 27, 27, 27, 89, 40, 27, 36, 32, 33,
2658 23, 32, 266, 32, 22, 40, 22, 89, 40, 32,
2659 21, 22, 40, 36, 38, 21, 34, 38, 38, 30,
2660 22, 89, 40, 32, 33, 22, 38, 23, 26, 23,
2661 36, 33, 32, 89, 22, 27, 40, 38, 38, 39,
2662 38, 286, 38, 23, 27, 23, 22, 27, 38, 26,
2663 23, 27, 38, 89, 26, 33, 43, 89, 30, 23,
2664 21, 22, 27, 27, 38, 39, 27, 89, 19, 40,
2665 27, 89, 23, 27, 27, 21, 23, 89, 37, 89,
2666 32, 264, 40, 21, 40, 27, 21, 89, 19, 40,
2667 21, 21, 38, 19, 36, 34, 23, 40, 33, 27,
2668 32, 21, 89, 32, 36, 31, 32, 27, 40, 33,
2669 37, 32, 36, 23, 36, 34, 31, 38, 286, 27,
2670 23, 27, 36, 23, 31, 32, 27, 23, 26, 43,
2671 32, 38, 23, 36, 27, 39, 36, 24, 23, 21,
2672 27, 31, 38, 23, 19, 32, 21, 23, 39, 34,
2673 23, 37, 89, 19, 19, 89, 33, 34, 253, 273,
2674 285, 336, 337, 338, 21, 21, 23, 19, 32, 21,
2675 89, 19, 34, 32, 21, 32, 23, 33, 89, 33,
2676 32, 19, 21, 34, 23, 23, 36, 38, 39, 21,
2677 34, 36, 34, 31, 32, 23, 286, 23, 23, 21,
2678 34, 23, 23, 34, 32, 23, 23, 23, 38, 21,
2679 21, 27, 39, 24, 34, 38, 30, 37, 89, 34,
2680 38, 38, 19, 19, 37, 19, 89, 36, 273, 38,
2681 30, 89, 19, 32, 30, 89, 38, 33, 32, 32,
2682 33, 89, 33, 89, 34, 39, 89, 33, 36, 31,
2683 42, 22, 37, 33, 34, 36, 23, 21, 27, 33,
2684 39, 24, 38, 21, 27, 36, 34, 19, 38, 22,
2685 36, 19, 23, 23, 27, 36, 19, 19, 30, 33,
2686 32, 36, 32, 33, 33, 32, 43, 19, 36, 89,
2687 36, 27, 31, 38, 31, 37, 36, 31, 39, 24,
2688 43, 38, 39, 24, 36, 19, 22, 27, 23, 23,
2689 23, 19, 38, 19, 23, 32, 33, 89, 32, 33,
2690 19, 31, 36, 40, 37, 38, 36, 32, 23, 31,
2691 38, 38, 21, 27, 38, 31, 23, 27, 23, 23,
2692 22, 32, 23, 23, 33, 32, 23, 38, 40, 36,
2693 36, 89, 38, 38, 36, 39, 24, 38, 23, 23,
2694 37, 26, 23, 32, 33, 23, 36, 36, 33, 36,
2695 38, 36, 37, 30, 22
2696 };
2697
2698 #define yyerrok (yyerrstatus = 0)
2699 #define yyclearin (yychar = YYEMPTY)
2700 #define YYEMPTY (-2)
2701 #define YYEOF 0
2702
2703 #define YYACCEPT goto yyacceptlab
2704 #define YYABORT goto yyabortlab
2705 #define YYERROR goto yyerrorlab
2706
2707
2708 /* Like YYERROR except do call yyerror. This remains here temporarily
2709 to ease the transition to the new meaning of YYERROR, for GCC.
2710 Once GCC version 2 has supplanted version 1, this can go. */
2711
2712 #define YYFAIL goto yyerrlab
2713
2714 #define YYRECOVERING() (!!yyerrstatus)
2715
2716 #define YYBACKUP(Token, Value) \
2717 do \
2718 if (yychar == YYEMPTY && yylen == 1) \
2719 { \
2720 yychar = (Token); \
2721 yylval = (Value); \
2722 yytoken = YYTRANSLATE (yychar); \
2723 YYPOPSTACK (1); \
2724 goto yybackup; \
2725 } \
2726 else \
2727 { \
2728 yyerror (YY_("syntax error: cannot back up")); \
2729 YYERROR; \
2730 } \
2731 while (YYID (0))
2732
2733
2734 #define YYTERROR 1
2735 #define YYERRCODE 256
2736
2737
2738 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2739 If N is 0, then set CURRENT to the empty location which ends
2740 the previous symbol: RHS[0] (always defined). */
2741
2742 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2743 #ifndef YYLLOC_DEFAULT
2744 # define YYLLOC_DEFAULT(Current, Rhs, N) \
2745 do \
2746 if (YYID (N)) \
2747 { \
2748 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
2749 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
2750 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
2751 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
2752 } \
2753 else \
2754 { \
2755 (Current).first_line = (Current).last_line = \
2756 YYRHSLOC (Rhs, 0).last_line; \
2757 (Current).first_column = (Current).last_column = \
2758 YYRHSLOC (Rhs, 0).last_column; \
2759 } \
2760 while (YYID (0))
2761 #endif
2762
2763
2764 /* YY_LOCATION_PRINT -- Print the location on the stream.
2765 This macro was not mandated originally: define only if we know
2766 we won't break user code: when these are the locations we know. */
2767
2768 #ifndef YY_LOCATION_PRINT
2769 # if YYLTYPE_IS_TRIVIAL
2770 # define YY_LOCATION_PRINT(File, Loc) \
2771 fprintf (File, "%d.%d-%d.%d", \
2772 (Loc).first_line, (Loc).first_column, \
2773 (Loc).last_line, (Loc).last_column)
2774 # else
2775 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2776 # endif
2777 #endif
2778
2779
2780 /* YYLEX -- calling `yylex' with the right arguments. */
2781
2782 #ifdef YYLEX_PARAM
2783 # define YYLEX yylex (&yylval, YYLEX_PARAM)
2784 #else
2785 # define YYLEX yylex (&yylval)
2786 #endif
2787
2788 /* Enable debugging if requested. */
2789 #if YYDEBUG
2790
2791 # ifndef YYFPRINTF
2792 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
2793 # define YYFPRINTF fprintf
2794 # endif
2795
2796 # define YYDPRINTF(Args) \
2797 do { \
2798 if (yydebug) \
2799 YYFPRINTF Args; \
2800 } while (YYID (0))
2801
2802 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2803 do { \
2804 if (yydebug) \
2805 { \
2806 YYFPRINTF (stderr, "%s ", Title); \
2807 yy_symbol_print (stderr, \
2808 Type, Value); \
2809 YYFPRINTF (stderr, "\n"); \
2810 } \
2811 } while (YYID (0))
2812
2813
2814 /*--------------------------------.
2815 | Print this symbol on YYOUTPUT. |
2816 `--------------------------------*/
2817
2818 /*ARGSUSED*/
2819 #if (defined __STDC__ || defined __C99__FUNC__ \
2820 || defined __cplusplus || defined _MSC_VER)
2821 static void
2822 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2823 #else
2824 static void
2825 yy_symbol_value_print (yyoutput, yytype, yyvaluep)
2826 FILE *yyoutput;
2827 int yytype;
2828 YYSTYPE const * const yyvaluep;
2829 #endif
2830 {
2831 if (!yyvaluep)
2832 return;
2833 # ifdef YYPRINT
2834 if (yytype < YYNTOKENS)
2835 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2836 # else
2837 YYUSE (yyoutput);
2838 # endif
2839 switch (yytype)
2840 {
2841 default:
2842 break;
2843 }
2844 }
2845
2846
2847 /*--------------------------------.
2848 | Print this symbol on YYOUTPUT. |
2849 `--------------------------------*/
2850
2851 #if (defined __STDC__ || defined __C99__FUNC__ \
2852 || defined __cplusplus || defined _MSC_VER)
2853 static void
2854 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2855 #else
2856 static void
2857 yy_symbol_print (yyoutput, yytype, yyvaluep)
2858 FILE *yyoutput;
2859 int yytype;
2860 YYSTYPE const * const yyvaluep;
2861 #endif
2862 {
2863 if (yytype < YYNTOKENS)
2864 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2865 else
2866 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2867
2868 yy_symbol_value_print (yyoutput, yytype, yyvaluep);
2869 YYFPRINTF (yyoutput, ")");
2870 }
2871
2872 /*------------------------------------------------------------------.
2873 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
2874 | TOP (included). |
2875 `------------------------------------------------------------------*/
2876
2877 #if (defined __STDC__ || defined __C99__FUNC__ \
2878 || defined __cplusplus || defined _MSC_VER)
2879 static void
2880 yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
2881 #else
2882 static void
2883 yy_stack_print (bottom, top)
2884 yytype_int16 *bottom;
2885 yytype_int16 *top;
2886 #endif
2887 {
2888 YYFPRINTF (stderr, "Stack now");
2889 for (; bottom <= top; ++bottom)
2890 YYFPRINTF (stderr, " %d", *bottom);
2891 YYFPRINTF (stderr, "\n");
2892 }
2893
2894 # define YY_STACK_PRINT(Bottom, Top) \
2895 do { \
2896 if (yydebug) \
2897 yy_stack_print ((Bottom), (Top)); \
2898 } while (YYID (0))
2899
2900
2901 /*------------------------------------------------.
2902 | Report that the YYRULE is going to be reduced. |
2903 `------------------------------------------------*/
2904
2905 #if (defined __STDC__ || defined __C99__FUNC__ \
2906 || defined __cplusplus || defined _MSC_VER)
2907 static void
2908 yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
2909 #else
2910 static void
2911 yy_reduce_print (yyvsp, yyrule)
2912 YYSTYPE *yyvsp;
2913 int yyrule;
2914 #endif
2915 {
2916 int yynrhs = yyr2[yyrule];
2917 int yyi;
2918 unsigned long int yylno = yyrline[yyrule];
2919 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2920 yyrule - 1, yylno);
2921 /* The symbols being reduced. */
2922 for (yyi = 0; yyi < yynrhs; yyi++)
2923 {
2924 fprintf (stderr, " $%d = ", yyi + 1);
2925 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2926 &(yyvsp[(yyi + 1) - (yynrhs)])
2927 );
2928 fprintf (stderr, "\n");
2929 }
2930 }
2931
2932 # define YY_REDUCE_PRINT(Rule) \
2933 do { \
2934 if (yydebug) \
2935 yy_reduce_print (yyvsp, Rule); \
2936 } while (YYID (0))
2937
2938 /* Nonzero means print parse trace. It is left uninitialized so that
2939 multiple parsers can coexist. */
2940 int yydebug;
2941 #else /* !YYDEBUG */
2942 # define YYDPRINTF(Args)
2943 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2944 # define YY_STACK_PRINT(Bottom, Top)
2945 # define YY_REDUCE_PRINT(Rule)
2946 #endif /* !YYDEBUG */
2947
2948
2949 /* YYINITDEPTH -- initial size of the parser's stacks. */
2950 #ifndef YYINITDEPTH
2951 # define YYINITDEPTH 200
2952 #endif
2953
2954 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2955 if the built-in stack extension method is used).
2956
2957 Do not make this value too large; the results are undefined if
2958 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
2959 evaluated with infinite-precision integer arithmetic. */
2960
2961 #ifndef YYMAXDEPTH
2962 # define YYMAXDEPTH 10000
2963 #endif
2964
2965
2966
2967 #if YYERROR_VERBOSE
2968
2969 # ifndef yystrlen
2970 # if defined __GLIBC__ && defined _STRING_H
2971 # define yystrlen strlen
2972 # else
2973 /* Return the length of YYSTR. */
2974 #if (defined __STDC__ || defined __C99__FUNC__ \
2975 || defined __cplusplus || defined _MSC_VER)
2976 static YYSIZE_T
2977 yystrlen (const char *yystr)
2978 #else
2979 static YYSIZE_T
2980 yystrlen (yystr)
2981 const char *yystr;
2982 #endif
2983 {
2984 YYSIZE_T yylen;
2985 for (yylen = 0; yystr[yylen]; yylen++)
2986 continue;
2987 return yylen;
2988 }
2989 # endif
2990 # endif
2991
2992 # ifndef yystpcpy
2993 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2994 # define yystpcpy stpcpy
2995 # else
2996 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2997 YYDEST. */
2998 #if (defined __STDC__ || defined __C99__FUNC__ \
2999 || defined __cplusplus || defined _MSC_VER)
3000 static char *
3001 yystpcpy (char *yydest, const char *yysrc)
3002 #else
3003 static char *
3004 yystpcpy (yydest, yysrc)
3005 char *yydest;
3006 const char *yysrc;
3007 #endif
3008 {
3009 char *yyd = yydest;
3010 const char *yys = yysrc;
3011
3012 while ((*yyd++ = *yys++) != '\0')
3013 continue;
3014
3015 return yyd - 1;
3016 }
3017 # endif
3018 # endif
3019
3020 # ifndef yytnamerr
3021 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
3022 quotes and backslashes, so that it's suitable for yyerror. The
3023 heuristic is that double-quoting is unnecessary unless the string
3024 contains an apostrophe, a comma, or backslash (other than
3025 backslash-backslash). YYSTR is taken from yytname. If YYRES is
3026 null, do not copy; instead, return the length of what the result
3027 would have been. */
3028 static YYSIZE_T
3029 yytnamerr (char *yyres, const char *yystr)
3030 {
3031 if (*yystr == '"')
3032 {
3033 YYSIZE_T yyn = 0;
3034 char const *yyp = yystr;
3035
3036 for (;;)
3037 switch (*++yyp)
3038 {
3039 case '\'':
3040 case ',':
3041 goto do_not_strip_quotes;
3042
3043 case '\\':
3044 if (*++yyp != '\\')
3045 goto do_not_strip_quotes;
3046 /* Fall through. */
3047 default:
3048 if (yyres)
3049 yyres[yyn] = *yyp;
3050 yyn++;
3051 break;
3052
3053 case '"':
3054 if (yyres)
3055 yyres[yyn] = '\0';
3056 return yyn;
3057 }
3058 do_not_strip_quotes: ;
3059 }
3060
3061 if (! yyres)
3062 return yystrlen (yystr);
3063
3064 return yystpcpy (yyres, yystr) - yyres;
3065 }
3066 # endif
3067
3068 /* Copy into YYRESULT an error message about the unexpected token
3069 YYCHAR while in state YYSTATE. Return the number of bytes copied,
3070 including the terminating null byte. If YYRESULT is null, do not
3071 copy anything; just return the number of bytes that would be
3072 copied. As a special case, return 0 if an ordinary "syntax error"
3073 message will do. Return YYSIZE_MAXIMUM if overflow occurs during
3074 size calculation. */
3075 static YYSIZE_T
3076 yysyntax_error (char *yyresult, int yystate, int yychar)
3077 {
3078 int yyn = yypact[yystate];
3079
3080 if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
3081 return 0;
3082 else
3083 {
3084 int yytype = YYTRANSLATE (yychar);
3085 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
3086 YYSIZE_T yysize = yysize0;
3087 YYSIZE_T yysize1;
3088 int yysize_overflow = 0;
3089 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
3090 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
3091 int yyx;
3092
3093 # if 0
3094 /* This is so xgettext sees the translatable formats that are
3095 constructed on the fly. */
3096 YY_("syntax error, unexpected %s");
3097 YY_("syntax error, unexpected %s, expecting %s");
3098 YY_("syntax error, unexpected %s, expecting %s or %s");
3099 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
3100 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
3101 # endif
3102 char *yyfmt;
3103 char const *yyf;
3104 static char const yyunexpected[] = "syntax error, unexpected %s";
3105 static char const yyexpecting[] = ", expecting %s";
3106 static char const yyor[] = " or %s";
3107 char yyformat[sizeof yyunexpected
3108 + sizeof yyexpecting - 1
3109 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
3110 * (sizeof yyor - 1))];
3111 char const *yyprefix = yyexpecting;
3112
3113 /* Start YYX at -YYN if negative to avoid negative indexes in
3114 YYCHECK. */
3115 int yyxbegin = yyn < 0 ? -yyn : 0;
3116
3117 /* Stay within bounds of both yycheck and yytname. */
3118 int yychecklim = YYLAST - yyn + 1;
3119 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
3120 int yycount = 1;
3121
3122 yyarg[0] = yytname[yytype];
3123 yyfmt = yystpcpy (yyformat, yyunexpected);
3124
3125 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
3126 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
3127 {
3128 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
3129 {
3130 yycount = 1;
3131 yysize = yysize0;
3132 yyformat[sizeof yyunexpected - 1] = '\0';
3133 break;
3134 }
3135 yyarg[yycount++] = yytname[yyx];
3136 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
3137 yysize_overflow |= (yysize1 < yysize);
3138 yysize = yysize1;
3139 yyfmt = yystpcpy (yyfmt, yyprefix);
3140 yyprefix = yyor;
3141 }
3142
3143 yyf = YY_(yyformat);
3144 yysize1 = yysize + yystrlen (yyf);
3145 yysize_overflow |= (yysize1 < yysize);
3146 yysize = yysize1;
3147
3148 if (yysize_overflow)
3149 return YYSIZE_MAXIMUM;
3150
3151 if (yyresult)
3152 {
3153 /* Avoid sprintf, as that infringes on the user's name space.
3154 Don't have undefined behavior even if the translation
3155 produced a string with the wrong number of "%s"s. */
3156 char *yyp = yyresult;
3157 int yyi = 0;
3158 while ((*yyp = *yyf) != '\0')
3159 {
3160 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
3161 {
3162 yyp += yytnamerr (yyp, yyarg[yyi++]);
3163 yyf += 2;
3164 }
3165 else
3166 {
3167 yyp++;
3168 yyf++;
3169 }
3170 }
3171 }
3172 return yysize;
3173 }
3174 }
3175 #endif /* YYERROR_VERBOSE */
3176
3177
3178 /*-----------------------------------------------.
3179 | Release the memory associated to this symbol. |
3180 `-----------------------------------------------*/
3181
3182 /*ARGSUSED*/
3183 #if (defined __STDC__ || defined __C99__FUNC__ \
3184 || defined __cplusplus || defined _MSC_VER)
3185 static void
3186 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
3187 #else
3188 static void
3189 yydestruct (yymsg, yytype, yyvaluep)
3190 const char *yymsg;
3191 int yytype;
3192 YYSTYPE *yyvaluep;
3193 #endif
3194 {
3195 YYUSE (yyvaluep);
3196
3197 if (!yymsg)
3198 yymsg = "Deleting";
3199 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
3200
3201 switch (yytype)
3202 {
3203
3204 default:
3205 break;
3206 }
3207 }
3208
3209
3210 /* Prevent warnings from -Wmissing-prototypes. */
3211
3212 #ifdef YYPARSE_PARAM
3213 #if defined __STDC__ || defined __cplusplus
3214 int yyparse (void *YYPARSE_PARAM);
3215 #else
3216 int yyparse ();
3217 #endif
3218 #else /* ! YYPARSE_PARAM */
3219 #if defined __STDC__ || defined __cplusplus
3220 int yyparse (void);
3221 #else
3222 int yyparse ();
3223 #endif
3224 #endif /* ! YYPARSE_PARAM */
3225
3226
3227
3228
3229
3230
3231 /*----------.
3232 | yyparse. |
3233 `----------*/
3234
3235 #ifdef YYPARSE_PARAM
3236 #if (defined __STDC__ || defined __C99__FUNC__ \
3237 || defined __cplusplus || defined _MSC_VER)
3238 int
3239 yyparse (void *YYPARSE_PARAM)
3240 #else
3241 int
3242 yyparse (YYPARSE_PARAM)
3243 void *YYPARSE_PARAM;
3244 #endif
3245 #else /* ! YYPARSE_PARAM */
3246 #if (defined __STDC__ || defined __C99__FUNC__ \
3247 || defined __cplusplus || defined _MSC_VER)
3248 int
3249 yyparse (void)
3250 #else
3251 int
3252 yyparse ()
3253
3254 #endif
3255 #endif
3256 {
3257 /* The look-ahead symbol. */
3258 int yychar;
3259
3260 /* The semantic value of the look-ahead symbol. */
3261 YYSTYPE yylval;
3262
3263 /* Number of syntax errors so far. */
3264 int yynerrs;
3265
3266 int yystate;
3267 int yyn;
3268 int yyresult;
3269 /* Number of tokens to shift before error messages enabled. */
3270 int yyerrstatus;
3271 /* Look-ahead token as an internal (translated) token number. */
3272 int yytoken = 0;
3273 #if YYERROR_VERBOSE
3274 /* Buffer for error messages, and its allocated size. */
3275 char yymsgbuf[128];
3276 char *yymsg = yymsgbuf;
3277 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
3278 #endif
3279
3280 /* Three stacks and their tools:
3281 `yyss': related to states,
3282 `yyvs': related to semantic values,
3283 `yyls': related to locations.
3284
3285 Refer to the stacks thru separate pointers, to allow yyoverflow
3286 to reallocate them elsewhere. */
3287
3288 /* The state stack. */
3289 yytype_int16 yyssa[YYINITDEPTH];
3290 yytype_int16 *yyss = yyssa;
3291 yytype_int16 *yyssp;
3292
3293 /* The semantic value stack. */
3294 YYSTYPE yyvsa[YYINITDEPTH];
3295 YYSTYPE *yyvs = yyvsa;
3296 YYSTYPE *yyvsp;
3297
3298
3299
3300 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
3301
3302 YYSIZE_T yystacksize = YYINITDEPTH;
3303
3304 /* The variables used to return semantic value and location from the
3305 action routines. */
3306 YYSTYPE yyval;
3307
3308
3309 /* The number of symbols on the RHS of the reduced rule.
3310 Keep to zero when no symbol should be popped. */
3311 int yylen = 0;
3312
3313 YYDPRINTF ((stderr, "Starting parse\n"));
3314
3315 yystate = 0;
3316 yyerrstatus = 0;
3317 yynerrs = 0;
3318 yychar = YYEMPTY; /* Cause a token to be read. */
3319
3320 /* Initialize stack pointers.
3321 Waste one element of value and location stack
3322 so that they stay on the same level as the state stack.
3323 The wasted elements are never initialized. */
3324
3325 yyssp = yyss;
3326 yyvsp = yyvs;
3327
3328 goto yysetstate;
3329
3330 /*------------------------------------------------------------.
3331 | yynewstate -- Push a new state, which is found in yystate. |
3332 `------------------------------------------------------------*/
3333 yynewstate:
3334 /* In all cases, when you get here, the value and location stacks
3335 have just been pushed. So pushing a state here evens the stacks. */
3336 yyssp++;
3337
3338 yysetstate:
3339 *yyssp = yystate;
3340
3341 if (yyss + yystacksize - 1 <= yyssp)
3342 {
3343 /* Get the current used size of the three stacks, in elements. */
3344 YYSIZE_T yysize = yyssp - yyss + 1;
3345
3346 #ifdef yyoverflow
3347 {
3348 /* Give user a chance to reallocate the stack. Use copies of
3349 these so that the &'s don't force the real ones into
3350 memory. */
3351 YYSTYPE *yyvs1 = yyvs;
3352 yytype_int16 *yyss1 = yyss;
3353
3354
3355 /* Each stack pointer address is followed by the size of the
3356 data in use in that stack, in bytes. This used to be a
3357 conditional around just the two extra args, but that might
3358 be undefined if yyoverflow is a macro. */
3359 yyoverflow (YY_("memory exhausted"),
3360 &yyss1, yysize * sizeof (*yyssp),
3361 &yyvs1, yysize * sizeof (*yyvsp),
3362
3363 &yystacksize);
3364
3365 yyss = yyss1;
3366 yyvs = yyvs1;
3367 }
3368 #else /* no yyoverflow */
3369 # ifndef YYSTACK_RELOCATE
3370 goto yyexhaustedlab;
3371 # else
3372 /* Extend the stack our own way. */
3373 if (YYMAXDEPTH <= yystacksize)
3374 goto yyexhaustedlab;
3375 yystacksize *= 2;
3376 if (YYMAXDEPTH < yystacksize)
3377 yystacksize = YYMAXDEPTH;
3378
3379 {
3380 yytype_int16 *yyss1 = yyss;
3381 union yyalloc *yyptr =
3382 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
3383 if (! yyptr)
3384 goto yyexhaustedlab;
3385 YYSTACK_RELOCATE (yyss);
3386 YYSTACK_RELOCATE (yyvs);
3387
3388 # undef YYSTACK_RELOCATE
3389 if (yyss1 != yyssa)
3390 YYSTACK_FREE (yyss1);
3391 }
3392 # endif
3393 #endif /* no yyoverflow */
3394
3395 yyssp = yyss + yysize - 1;
3396 yyvsp = yyvs + yysize - 1;
3397
3398
3399 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
3400 (unsigned long int) yystacksize));
3401
3402 if (yyss + yystacksize - 1 <= yyssp)
3403 YYABORT;
3404 }
3405
3406 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
3407
3408 goto yybackup;
3409
3410 /*-----------.
3411 | yybackup. |
3412 `-----------*/
3413 yybackup:
3414
3415 /* Do appropriate processing given the current state. Read a
3416 look-ahead token if we need one and don't already have one. */
3417
3418 /* First try to decide what to do without reference to look-ahead token. */
3419 yyn = yypact[yystate];
3420 if (yyn == YYPACT_NINF)
3421 goto yydefault;
3422
3423 /* Not known => get a look-ahead token if don't already have one. */
3424
3425 /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
3426 if (yychar == YYEMPTY)
3427 {
3428 YYDPRINTF ((stderr, "Reading a token: "));
3429 yychar = YYLEX;
3430 }
3431
3432 if (yychar <= YYEOF)
3433 {
3434 yychar = yytoken = YYEOF;
3435 YYDPRINTF ((stderr, "Now at end of input.\n"));
3436 }
3437 else
3438 {
3439 yytoken = YYTRANSLATE (yychar);
3440 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
3441 }
3442
3443 /* If the proper action on seeing token YYTOKEN is to reduce or to
3444 detect an error, take that action. */
3445 yyn += yytoken;
3446 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
3447 goto yydefault;
3448 yyn = yytable[yyn];
3449 if (yyn <= 0)
3450 {
3451 if (yyn == 0 || yyn == YYTABLE_NINF)
3452 goto yyerrlab;
3453 yyn = -yyn;
3454 goto yyreduce;
3455 }
3456
3457 if (yyn == YYFINAL)
3458 YYACCEPT;
3459
3460 /* Count tokens shifted since error; after three, turn off error
3461 status. */
3462 if (yyerrstatus)
3463 yyerrstatus--;
3464
3465 /* Shift the look-ahead token. */
3466 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
3467
3468 /* Discard the shifted token unless it is eof. */
3469 if (yychar != YYEOF)
3470 yychar = YYEMPTY;
3471
3472 yystate = yyn;
3473 *++yyvsp = yylval;
3474
3475 goto yynewstate;
3476
3477
3478 /*-----------------------------------------------------------.
3479 | yydefault -- do the default action for the current state. |
3480 `-----------------------------------------------------------*/
3481 yydefault:
3482 yyn = yydefact[yystate];
3483 if (yyn == 0)
3484 goto yyerrlab;
3485 goto yyreduce;
3486
3487
3488 /*-----------------------------.
3489 | yyreduce -- Do a reduction. |
3490 `-----------------------------*/
3491 yyreduce:
3492 /* yyn is the number of a rule to reduce with. */
3493 yylen = yyr2[yyn];
3494
3495 /* If YYLEN is nonzero, implement the default value of the action:
3496 `$$ = $1'.
3497
3498 Otherwise, the following line sets YYVAL to garbage.
3499 This behavior is undocumented and Bison
3500 users should not rely upon it. Assigning to YYVAL
3501 unconditionally makes the parser a bit smaller, and it avoids a
3502 GCC warning that YYVAL may be used uninitialized. */
3503 yyval = yyvsp[1-yylen];
3504
3505
3506 YY_REDUCE_PRINT (yyn);
3507 switch (yyn)
3508 {
3509 case 4:
3510 #line 101 "lscp.y"
3511 { return LSCP_DONE; }
3512 break;
3513
3514 case 5:
3515 #line 102 "lscp.y"
3516 { return LSCP_DONE; }
3517 break;
3518
3519 case 6:
3520 #line 103 "lscp.y"
3521 { LSCPSERVER->AnswerClient((yyvsp[(1) - (1)].String)); return LSCP_DONE; }
3522 break;
3523
3524 case 7:
3525 #line 104 "lscp.y"
3526 { LSCPSERVER->AnswerClient("ERR:0:Unknown command.\r\n"); RESTART; return LSCP_SYNTAX_ERROR; }
3527 break;
3528
3529 case 13:
3530 #line 114 "lscp.y"
3531 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3532 break;
3533
3534 case 14:
3535 #line 115 "lscp.y"
3536 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3537 break;
3538
3539 case 15:
3540 #line 116 "lscp.y"
3541 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3542 break;
3543
3544 case 16:
3545 #line 117 "lscp.y"
3546 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3547 break;
3548
3549 case 17:
3550 #line 118 "lscp.y"
3551 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3552 break;
3553
3554 case 18:
3555 #line 119 "lscp.y"
3556 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3557 break;
3558
3559 case 19:
3560 #line 120 "lscp.y"
3561 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3562 break;
3563
3564 case 20:
3565 #line 121 "lscp.y"
3566 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3567 break;
3568
3569 case 21:
3570 #line 122 "lscp.y"
3571 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3572 break;
3573
3574 case 22:
3575 #line 123 "lscp.y"
3576 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3577 break;
3578
3579 case 23:
3580 #line 124 "lscp.y"
3581 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3582 break;
3583
3584 case 24:
3585 #line 125 "lscp.y"
3586 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3587 break;
3588
3589 case 25:
3590 #line 126 "lscp.y"
3591 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3592 break;
3593
3594 case 26:
3595 #line 127 "lscp.y"
3596 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3597 break;
3598
3599 case 27:
3600 #line 128 "lscp.y"
3601 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3602 break;
3603
3604 case 28:
3605 #line 129 "lscp.y"
3606 { (yyval.String) = LSCPSERVER->ResetSampler(); }
3607 break;
3608
3609 case 29:
3610 #line 130 "lscp.y"
3611 { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }
3612 break;
3613
3614 case 30:
3615 #line 133 "lscp.y"
3616 { (yyval.String) = LSCPSERVER->AddChannel(); }
3617 break;
3618
3619 case 31:
3620 #line 134 "lscp.y"
3621 { (yyval.String) = LSCPSERVER->AddDbInstrumentDirectory((yyvsp[(3) - (3)].String)); }
3622 break;
3623
3624 case 32:
3625 #line 135 "lscp.y"
3626 { (yyval.String) = LSCPSERVER->AddDbInstrumentsFlat((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String)); }
3627 break;
3628
3629 case 33:
3630 #line 136 "lscp.y"
3631 { (yyval.String) = LSCPSERVER->AddDbInstrumentsNonrecursive((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String)); }
3632 break;
3633
3634 case 34:
3635 #line 137 "lscp.y"
3636 { (yyval.String) = LSCPSERVER->AddDbInstruments((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String)); }
3637 break;
3638
3639 case 35:
3640 #line 138 "lscp.y"
3641 { (yyval.String) = LSCPSERVER->AddDbInstruments((yyvsp[(3) - (7)].String),(yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].Number)); }
3642 break;
3643
3644 case 36:
3645 #line 139 "lscp.y"
3646 { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap(); }
3647 break;
3648
3649 case 37:
3650 #line 140 "lscp.y"
3651 { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap((yyvsp[(3) - (3)].String)); }
3652 break;
3653
3654 case 38:
3655 #line 143 "lscp.y"
3656 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_audio_device_count); }
3657 break;
3658
3659 case 39:
3660 #line 144 "lscp.y"
3661 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_audio_device_info); }
3662 break;
3663
3664 case 40:
3665 #line 145 "lscp.y"
3666 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_device_count); }
3667 break;
3668
3669 case 41:
3670 #line 146 "lscp.y"
3671 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_device_info); }
3672 break;
3673
3674 case 42:
3675 #line 147 "lscp.y"
3676 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_count); }
3677 break;
3678
3679 case 43:
3680 #line 148 "lscp.y"
3681 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count); }
3682 break;
3683
3684 case 44:
3685 #line 149 "lscp.y"
3686 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count); }
3687 break;
3688
3689 case 45:
3690 #line 150 "lscp.y"
3691 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill); }
3692 break;
3693
3694 case 46:
3695 #line 151 "lscp.y"
3696 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_info); }
3697 break;
3698
3699 case 47:
3700 #line 152 "lscp.y"
3701 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_fx_send_count); }
3702 break;
3703
3704 case 48:
3705 #line 153 "lscp.y"
3706 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_fx_send_info); }
3707 break;
3708
3709 case 49:
3710 #line 154 "lscp.y"
3711 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_map_count); }
3712 break;
3713
3714 case 50:
3715 #line 155 "lscp.y"
3716 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_map_info); }
3717 break;
3718
3719 case 51:
3720 #line 156 "lscp.y"
3721 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_count); }
3722 break;
3723
3724 case 52:
3725 #line 157 "lscp.y"
3726 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_info); }
3727 break;
3728
3729 case 53:
3730 #line 158 "lscp.y"
3731 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_dir_count); }
3732 break;
3733
3734 case 54:
3735 #line 159 "lscp.y"
3736 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_dir_info); }
3737 break;
3738
3739 case 55:
3740 #line 160 "lscp.y"
3741 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_count); }
3742 break;
3743
3744 case 56:
3745 #line 161 "lscp.y"
3746 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_info); }
3747 break;
3748
3749 case 57:
3750 #line 162 "lscp.y"
3751 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc); }
3752 break;
3753
3754 case 58:
3755 #line 163 "lscp.y"
3756 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_total_voice_count); }
3757 break;
3758
3759 case 59:
3760 #line 164 "lscp.y"
3761 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_global_info); }
3762 break;
3763
3764 case 60:
3765 #line 167 "lscp.y"
3766 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_audio_device_count); }
3767 break;
3768
3769 case 61:
3770 #line 168 "lscp.y"
3771 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_audio_device_info); }
3772 break;
3773
3774 case 62:
3775 #line 169 "lscp.y"
3776 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_device_count); }
3777 break;
3778
3779 case 63:
3780 #line 170 "lscp.y"
3781 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_device_info); }
3782 break;
3783
3784 case 64:
3785 #line 171 "lscp.y"
3786 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_count); }
3787 break;
3788
3789 case 65:
3790 #line 172 "lscp.y"
3791 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count); }
3792 break;
3793
3794 case 66:
3795 #line 173 "lscp.y"
3796 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count); }
3797 break;
3798
3799 case 67:
3800 #line 174 "lscp.y"
3801 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill); }
3802 break;
3803
3804 case 68:
3805 #line 175 "lscp.y"
3806 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_info); }
3807 break;
3808
3809 case 69:
3810 #line 176 "lscp.y"
3811 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_fx_send_count); }
3812 break;
3813
3814 case 70:
3815 #line 177 "lscp.y"
3816 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_fx_send_info); }
3817 break;
3818
3819 case 71:
3820 #line 178 "lscp.y"
3821 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_map_count); }
3822 break;
3823
3824 case 72:
3825 #line 179 "lscp.y"
3826 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_map_info); }
3827 break;
3828
3829 case 73:
3830 #line 180 "lscp.y"
3831 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_count); }
3832 break;
3833
3834 case 74:
3835 #line 181 "lscp.y"
3836 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_info); }
3837 break;
3838
3839 case 75:
3840 #line 182 "lscp.y"
3841 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_dir_count); }
3842 break;
3843
3844 case 76:
3845 #line 183 "lscp.y"
3846 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_dir_info); }
3847 break;
3848
3849 case 77:
3850 #line 184 "lscp.y"
3851 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_count); }
3852 break;
3853
3854 case 78:
3855 #line 185 "lscp.y"
3856 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_info); }
3857 break;
3858
3859 case 79:
3860 #line 186 "lscp.y"
3861 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc); }
3862 break;
3863
3864 case 80:
3865 #line 187 "lscp.y"
3866 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_total_voice_count); }
3867 break;
3868
3869 case 81:
3870 #line 188 "lscp.y"
3871 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_global_info); }
3872 break;
3873
3874 case 82:
3875 #line 191 "lscp.y"
3876 { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (16)].Number),(yyvsp[(6) - (16)].Number),(yyvsp[(8) - (16)].Number),(yyvsp[(10) - (16)].String),(yyvsp[(12) - (16)].String),(yyvsp[(14) - (16)].Number),(yyvsp[(16) - (16)].Dotnum),MidiInstrumentMapper::VOID,"",(yyvsp[(3) - (16)].Bool)); }
3877 break;
3878
3879 case 83:
3880 #line 192 "lscp.y"
3881 { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (18)].Number),(yyvsp[(6) - (18)].Number),(yyvsp[(8) - (18)].Number),(yyvsp[(10) - (18)].String),(yyvsp[(12) - (18)].String),(yyvsp[(14) - (18)].Number),(yyvsp[(16) - (18)].Dotnum),(yyvsp[(18) - (18)].LoadMode),"",(yyvsp[(3) - (18)].Bool)); }
3882 break;
3883
3884 case 84:
3885 #line 193 "lscp.y"
3886 { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (18)].Number),(yyvsp[(6) - (18)].Number),(yyvsp[(8) - (18)].Number),(yyvsp[(10) - (18)].String),(yyvsp[(12) - (18)].String),(yyvsp[(14) - (18)].Number),(yyvsp[(16) - (18)].Dotnum),MidiInstrumentMapper::VOID,(yyvsp[(18) - (18)].String),(yyvsp[(3) - (18)].Bool)); }
3887 break;
3888
3889 case 85:
3890 #line 194 "lscp.y"
3891 { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (20)].Number),(yyvsp[(6) - (20)].Number),(yyvsp[(8) - (20)].Number),(yyvsp[(10) - (20)].String),(yyvsp[(12) - (20)].String),(yyvsp[(14) - (20)].Number),(yyvsp[(16) - (20)].Dotnum),(yyvsp[(18) - (20)].LoadMode),(yyvsp[(20) - (20)].String),(yyvsp[(3) - (20)].Bool)); }
3892 break;
3893
3894 case 86:
3895 #line 197 "lscp.y"
3896 { (yyval.String) = LSCPSERVER->RemoveMIDIInstrumentMapping((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number)); }
3897 break;
3898
3899 case 87:
3900 #line 200 "lscp.y"
3901 { (yyval.String) = LSCPSERVER->RemoveChannel((yyvsp[(3) - (3)].Number)); }
3902 break;
3903
3904 case 88:
3905 #line 201 "lscp.y"
3906 { (yyval.String) = LSCPSERVER->RemoveMidiInstrumentMap((yyvsp[(3) - (3)].Number)); }
3907 break;
3908
3909 case 89:
3910 #line 202 "lscp.y"
3911 { (yyval.String) = LSCPSERVER->RemoveAllMidiInstrumentMaps(); }
3912 break;
3913
3914 case 90:
3915 #line 203 "lscp.y"
3916 { (yyval.String) = LSCPSERVER->RemoveDbInstrumentDirectory((yyvsp[(5) - (5)].String), true); }
3917 break;
3918
3919 case 91:
3920 #line 204 "lscp.y"
3921 { (yyval.String) = LSCPSERVER->RemoveDbInstrumentDirectory((yyvsp[(3) - (3)].String)); }
3922 break;
3923
3924 case 92:
3925 #line 205 "lscp.y"
3926 { (yyval.String) = LSCPSERVER->RemoveDbInstrument((yyvsp[(3) - (3)].String)); }
3927 break;
3928
3929 case 93:
3930 #line 208 "lscp.y"
3931 { (yyval.String) = LSCPSERVER->GetAvailableEngines(); }
3932 break;
3933
3934 case 94:
3935 #line 209 "lscp.y"
3936 { (yyval.String) = LSCPSERVER->GetAvailableMidiInputDrivers(); }
3937 break;
3938
3939 case 95:
3940 #line 210 "lscp.y"
3941 { (yyval.String) = LSCPSERVER->GetMidiInputDriverInfo((yyvsp[(5) - (5)].String)); }
3942 break;
3943
3944 case 96:
3945 #line 211 "lscp.y"
3946 { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String)); }
3947 break;
3948
3949 case 97:
3950 #line 212 "lscp.y"
3951 { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList)); }
3952 break;
3953
3954 case 98:
3955 #line 213 "lscp.y"
3956 { (yyval.String) = LSCPSERVER->GetAvailableAudioOutputDrivers(); }
3957 break;
3958
3959 case 99:
3960 #line 214 "lscp.y"
3961 { (yyval.String) = LSCPSERVER->GetAudioOutputDriverInfo((yyvsp[(5) - (5)].String)); }
3962 break;
3963
3964 case 100:
3965 #line 215 "lscp.y"
3966 { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String)); }
3967 break;
3968
3969 case 101:
3970 #line 216 "lscp.y"
3971 { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList)); }
3972 break;
3973
3974 case 102:
3975 #line 217 "lscp.y"
3976 { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceCount(); }
3977 break;
3978
3979 case 103:
3980 #line 218 "lscp.y"
3981 { (yyval.String) = LSCPSERVER->GetMidiInputDeviceCount(); }
3982 break;
3983
3984 case 104:
3985 #line 219 "lscp.y"
3986 { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceInfo((yyvsp[(5) - (5)].Number)); }
3987 break;
3988
3989 case 105:
3990 #line 220 "lscp.y"
3991 { (yyval.String) = LSCPSERVER->GetMidiInputDeviceInfo((yyvsp[(5) - (5)].Number)); }
3992 break;
3993
3994 case 106:
3995 #line 221 "lscp.y"
3996 { (yyval.String) = LSCPSERVER->GetMidiInputPortInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number)); }
3997 break;
3998
3999 case 107:
4000 #line 222 "lscp.y"
4001 { (yyval.String) = LSCPSERVER->GetMidiInputPortParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String)); }
4002 break;
4003
4004 case 108:
4005 #line 223 "lscp.y"
4006 { (yyval.String) = LSCPSERVER->GetAudioOutputChannelInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number)); }
4007 break;
4008
4009 case 109:
4010 #line 224 "lscp.y"
4011 { (yyval.String) = LSCPSERVER->GetAudioOutputChannelParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String)); }
4012 break;
4013
4014 case 110:
4015 #line 225 "lscp.y"
4016 { (yyval.String) = LSCPSERVER->GetChannels(); }
4017 break;
4018
4019 case 111:
4020 #line 226 "lscp.y"
4021 { (yyval.String) = LSCPSERVER->GetChannelInfo((yyvsp[(5) - (5)].Number)); }
4022 break;
4023
4024 case 112:
4025 #line 227 "lscp.y"
4026 { (yyval.String) = LSCPSERVER->GetBufferFill((yyvsp[(5) - (7)].FillResponse), (yyvsp[(7) - (7)].Number)); }
4027 break;
4028
4029 case 113:
4030 #line 228 "lscp.y"
4031 { (yyval.String) = LSCPSERVER->GetStreamCount((yyvsp[(5) - (5)].Number)); }
4032 break;
4033
4034 case 114:
4035 #line 229 "lscp.y"
4036 { (yyval.String) = LSCPSERVER->GetVoiceCount((yyvsp[(5) - (5)].Number)); }
4037 break;
4038
4039 case 115:
4040 #line 230 "lscp.y"
4041 { (yyval.String) = LSCPSERVER->GetEngineInfo((yyvsp[(5) - (5)].String)); }
4042 break;
4043
4044 case 116:
4045 #line 231 "lscp.y"
4046 { (yyval.String) = LSCPSERVER->GetServerInfo(); }
4047 break;
4048
4049 case 117:
4050 #line 232 "lscp.y"
4051 { (yyval.String) = LSCPSERVER->GetTotalVoiceCount(); }
4052 break;
4053
4054 case 118:
4055 #line 233 "lscp.y"
4056 { (yyval.String) = LSCPSERVER->GetTotalVoiceCountMax(); }
4057 break;
4058
4059 case 119:
4060 #line 234 "lscp.y"
4061 { (yyval.String) = LSCPSERVER->GetMidiInstrumentMappings((yyvsp[(3) - (3)].Number)); }
4062 break;
4063
4064 case 120:
4065 #line 235 "lscp.y"
4066 { (yyval.String) = LSCPSERVER->GetAllMidiInstrumentMappings(); }
4067 break;
4068
4069 case 121:
4070 #line 236 "lscp.y"
4071 { (yyval.String) = LSCPSERVER->GetMidiInstrumentMapping((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number)); }
4072 break;
4073
4074 case 122:
4075 #line 237 "lscp.y"
4076 { (yyval.String) = LSCPSERVER->GetMidiInstrumentMaps(); }
4077 break;
4078
4079 case 123:
4080 #line 238 "lscp.y"
4081 { (yyval.String) = LSCPSERVER->GetMidiInstrumentMap((yyvsp[(5) - (5)].Number)); }
4082 break;
4083
4084 case 124:
4085 #line 239 "lscp.y"
4086 { (yyval.String) = LSCPSERVER->GetFxSends((yyvsp[(3) - (3)].Number)); }
4087 break;
4088
4089 case 125:
4090 #line 240 "lscp.y"
4091 { (yyval.String) = LSCPSERVER->GetFxSendInfo((yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number)); }
4092 break;
4093
4094 case 126:
4095 #line 241 "lscp.y"
4096 { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectoryCount((yyvsp[(3) - (3)].String)); }
4097 break;
4098
4099 case 127:
4100 #line 242 "lscp.y"
4101 { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectoryInfo((yyvsp[(5) - (5)].String)); }
4102 break;
4103
4104 case 128:
4105 #line 243 "lscp.y"
4106 { (yyval.String) = LSCPSERVER->GetDbInstrumentCount((yyvsp[(3) - (3)].String)); }
4107 break;
4108
4109 case 129:
4110 #line 244 "lscp.y"
4111 { (yyval.String) = LSCPSERVER->GetDbInstrumentInfo((yyvsp[(5) - (5)].String)); }
4112 break;
4113
4114 case 130:
4115 #line 245 "lscp.y"
4116 { (yyval.String) = LSCPSERVER->GetGlobalVolume(); }
4117 break;
4118
4119 case 131:
4120 #line 248 "lscp.y"
4121 { (yyval.String) = LSCPSERVER->SetAudioOutputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String)); }
4122 break;
4123
4124 case 132:
4125 #line 249 "lscp.y"
4126 { (yyval.String) = LSCPSERVER->SetAudioOutputChannelParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String)); }
4127 break;
4128
4129 case 133:
4130 #line 250 "lscp.y"
4131 { (yyval.String) = LSCPSERVER->SetMidiInputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String)); }
4132 break;
4133
4134 case 134:
4135 #line 251 "lscp.y"
4136 { (yyval.String) = LSCPSERVER->SetMidiInputPortParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String)); }
4137 break;
4138
4139 case 135:
4140 #line 252 "lscp.y"
4141 { (yyval.String) = (yyvsp[(3) - (3)].String); }
4142 break;
4143
4144 case 136:
4145 #line 253 "lscp.y"
4146 { (yyval.String) = LSCPSERVER->SetMidiInstrumentMapName((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].String)); }
4147 break;
4148
4149 case 137:
4150 #line 254 "lscp.y"
4151 { (yyval.String) = LSCPSERVER->SetFxSendName((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].String)); }
4152 break;
4153
4154 case 138:
4155 #line 255 "lscp.y"
4156 { (yyval.String) = LSCPSERVER->SetFxSendAudioOutputChannel((yyvsp[(5) - (11)].Number),(yyvsp[(7) - (11)].Number),(yyvsp[(9) - (11)].Number),(yyvsp[(11) - (11)].Number)); }
4157 break;
4158
4159 case 139:
4160 #line 256 "lscp.y"
4161 { (yyval.String) = LSCPSERVER->SetFxSendMidiController((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number)); }
4162 break;
4163
4164 case 140:
4165 #line 257 "lscp.y"
4166 { (yyval.String) = LSCPSERVER->SetFxSendLevel((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Dotnum)); }
4167 break;
4168
4169 case 141:
4170 #line 258 "lscp.y"
4171 { (yyval.String) = LSCPSERVER->SetDbInstrumentDirectoryName((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String)); }
4172 break;
4173
4174 case 142:
4175 #line 259 "lscp.y"
4176 { (yyval.String) = LSCPSERVER->SetDbInstrumentDirectoryDescription((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String)); }
4177 break;
4178
4179 case 143:
4180 #line 260 "lscp.y"
4181 { (yyval.String) = LSCPSERVER->SetDbInstrumentName((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String)); }
4182 break;
4183
4184 case 144:
4185 #line 261 "lscp.y"
4186 { (yyval.String) = LSCPSERVER->SetDbInstrumentDescription((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String)); }
4187 break;
4188
4189 case 145:
4190 #line 262 "lscp.y"
4191 { (yyval.String) = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, (yyvsp[(3) - (3)].Dotnum)); }
4192 break;
4193
4194 case 146:
4195 #line 263 "lscp.y"
4196 { (yyval.String) = LSCPSERVER->SetGlobalVolume((yyvsp[(3) - (3)].Dotnum)); }
4197 break;
4198
4199 case 147:
4200 #line 266 "lscp.y"
4201 { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList)); }
4202 break;
4203
4204 case 148:
4205 #line 267 "lscp.y"
4206 { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (3)].String)); }
4207 break;
4208
4209 case 149:
4210 #line 268 "lscp.y"
4211 { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList)); }
4212 break;
4213
4214 case 150:
4215 #line 269 "lscp.y"
4216 { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (3)].String)); }
4217 break;
4218
4219 case 151:
4220 #line 270 "lscp.y"
4221 { (yyval.String) = LSCPSERVER->CreateFxSend((yyvsp[(3) - (5)].Number),(yyvsp[(5) - (5)].Number)); }
4222 break;
4223
4224 case 152:
4225 #line 271 "lscp.y"
4226 { (yyval.String) = LSCPSERVER->CreateFxSend((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].String)); }
4227 break;
4228
4229 case 153:
4230 #line 274 "lscp.y"
4231 { (yyval.String) = LSCPSERVER->ResetChannel((yyvsp[(3) - (3)].Number)); }
4232 break;
4233
4234 case 154:
4235 #line 277 "lscp.y"
4236 { (yyval.String) = LSCPSERVER->ClearMidiInstrumentMappings((yyvsp[(3) - (3)].Number)); }
4237 break;
4238
4239 case 155:
4240 #line 278 "lscp.y"
4241 { (yyval.String) = LSCPSERVER->ClearAllMidiInstrumentMappings(); }
4242 break;
4243
4244 case 156:
4245 #line 281 "lscp.y"
4246 { (yyval.String) = LSCPSERVER->MoveDbInstrumentDirectory((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String)); }
4247 break;
4248
4249 case 157:
4250 #line 282 "lscp.y"
4251 { (yyval.String) = LSCPSERVER->MoveDbInstrument((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String)); }
4252 break;
4253
4254 case 158:
4255 #line 285 "lscp.y"
4256 { (yyval.String) = LSCPSERVER->DestroyAudioOutputDevice((yyvsp[(3) - (3)].Number)); }
4257 break;
4258
4259 case 159:
4260 #line 286 "lscp.y"
4261 { (yyval.String) = LSCPSERVER->DestroyMidiInputDevice((yyvsp[(3) - (3)].Number)); }
4262 break;
4263
4264 case 160:
4265 #line 287 "lscp.y"
4266 { (yyval.String) = LSCPSERVER->DestroyFxSend((yyvsp[(3) - (5)].Number),(yyvsp[(5) - (5)].Number)); }
4267 break;
4268
4269 case 161:
4270 #line 290 "lscp.y"
4271 { (yyval.String) = (yyvsp[(3) - (3)].String); }
4272 break;
4273
4274 case 162:
4275 #line 291 "lscp.y"
4276 { (yyval.String) = (yyvsp[(3) - (3)].String); }
4277 break;
4278
4279 case 163:
4280 #line 294 "lscp.y"
4281 { (yyval.String) = LSCPSERVER->SetAudioOutputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number)); }
4282 break;
4283
4284 case 164:
4285 #line 295 "lscp.y"
4286 { (yyval.String) = LSCPSERVER->SetAudioOutputChannel((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), (yyvsp[(3) - (7)].Number)); }
4287 break;
4288
4289 case 165:
4290 #line 296 "lscp.y"
4291 { (yyval.String) = LSCPSERVER->SetAudioOutputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number)); }
4292 break;
4293
4294 case 166:
4295 #line 297 "lscp.y"
4296 { (yyval.String) = LSCPSERVER->SetMIDIInput((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].Number), (yyvsp[(3) - (9)].Number)); }
4297 break;
4298
4299 case 167:
4300 #line 298 "lscp.y"
4301 { (yyval.String) = LSCPSERVER->SetMIDIInputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number)); }
4302 break;
4303
4304 case 168:
4305 #line 299 "lscp.y"
4306 { (yyval.String) = LSCPSERVER->SetMIDIInputPort((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number)); }
4307 break;
4308
4309 case 169:
4310 #line 300 "lscp.y"
4311 { (yyval.String) = LSCPSERVER->SetMIDIInputChannel((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number)); }
4312 break;
4313
4314 case 170:
4315 #line 301 "lscp.y"
4316 { (yyval.String) = LSCPSERVER->SetMIDIInputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number)); }
4317 break;
4318
4319 case 171:
4320 #line 302 "lscp.y"
4321 { (yyval.String) = LSCPSERVER->SetVolume((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number)); }
4322 break;
4323
4324 case 172:
4325 #line 303 "lscp.y"
4326 { (yyval.String) = LSCPSERVER->SetChannelMute((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number)); }
4327 break;
4328
4329 case 173:
4330 #line 304 "lscp.y"
4331 { (yyval.String) = LSCPSERVER->SetChannelSolo((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number)); }
4332 break;
4333
4334 case 174:
4335 #line 305 "lscp.y"
4336 { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number)); }
4337 break;
4338
4339 case 175:
4340 #line 306 "lscp.y"
4341 { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -1); }
4342 break;
4343
4344 case 176:
4345 #line 307 "lscp.y"
4346 { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -2); }
4347 break;
4348
4349 case 177:
4350 #line 310 "lscp.y"
4351 { (yyval.Bool) = true; }
4352 break;
4353
4354 case 178:
4355 #line 311 "lscp.y"
4356 { (yyval.Bool) = false; }
4357 break;
4358
4359 case 179:
4360 #line 314 "lscp.y"
4361 { (yyval.KeyValList)[(yyvsp[(1) - (3)].String)] = (yyvsp[(3) - (3)].String); }
4362 break;
4363
4364 case 180:
4365 #line 315 "lscp.y"
4366 { (yyval.KeyValList) = (yyvsp[(1) - (5)].KeyValList); (yyval.KeyValList)[(yyvsp[(3) - (5)].String)] = (yyvsp[(5) - (5)].String); }
4367 break;
4368
4369 case 181:
4370 #line 318 "lscp.y"
4371 { (yyval.FillResponse) = fill_response_bytes; }
4372 break;
4373
4374 case 182:
4375 #line 319 "lscp.y"
4376 { (yyval.FillResponse) = fill_response_percentage; }
4377 break;
4378
4379 case 183:
4380 #line 322 "lscp.y"
4381 { (yyval.String) = LSCPSERVER->GetAudioOutputDevices(); }
4382 break;
4383
4384 case 184:
4385 #line 323 "lscp.y"
4386 { (yyval.String) = LSCPSERVER->GetMidiInputDevices(); }
4387 break;
4388
4389 case 185:
4390 #line 324 "lscp.y"
4391 { (yyval.String) = LSCPSERVER->ListChannels(); }
4392 break;
4393
4394 case 186:
4395 #line 325 "lscp.y"
4396 { (yyval.String) = LSCPSERVER->ListAvailableEngines(); }
4397 break;
4398
4399 case 187:
4400 #line 326 "lscp.y"
4401 { (yyval.String) = LSCPSERVER->ListAvailableMidiInputDrivers(); }
4402 break;
4403
4404 case 188:
4405 #line 327 "lscp.y"
4406 { (yyval.String) = LSCPSERVER->ListAvailableAudioOutputDrivers(); }
4407 break;
4408
4409 case 189:
4410 #line 328 "lscp.y"
4411 { (yyval.String) = LSCPSERVER->ListMidiInstrumentMappings((yyvsp[(3) - (3)].Number)); }
4412 break;
4413
4414 case 190:
4415 #line 329 "lscp.y"
4416 { (yyval.String) = LSCPSERVER->ListAllMidiInstrumentMappings(); }
4417 break;
4418
4419 case 191:
4420 #line 330 "lscp.y"
4421 { (yyval.String) = LSCPSERVER->ListMidiInstrumentMaps(); }
4422 break;
4423
4424 case 192:
4425 #line 331 "lscp.y"
4426 { (yyval.String) = LSCPSERVER->ListFxSends((yyvsp[(3) - (3)].Number)); }
4427 break;
4428
4429 case 193:
4430 #line 332 "lscp.y"
4431 { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectories((yyvsp[(3) - (3)].String)); }
4432 break;
4433
4434 case 194:
4435 #line 333 "lscp.y"
4436 { (yyval.String) = LSCPSERVER->GetDbInstruments((yyvsp[(3) - (3)].String)); }
4437 break;
4438
4439 case 195:
4440 #line 336 "lscp.y"
4441 { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(1) - (5)].String), (yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number)); }
4442 break;
4443
4444 case 196:
4445 #line 337 "lscp.y"
4446 { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(3) - (7)].String), (yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), true); }
4447 break;
4448
4449 case 197:
4450 #line 340 "lscp.y"
4451 { (yyval.String) = LSCPSERVER->SetEngineType((yyvsp[(1) - (3)].String), (yyvsp[(3) - (3)].Number)); }
4452 break;
4453
4454 case 198:
4455 #line 343 "lscp.y"
4456 { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND; }
4457 break;
4458
4459 case 199:
4460 #line 344 "lscp.y"
4461 { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND_HOLD; }
4462 break;
4463
4464 case 200:
4465 #line 345 "lscp.y"
4466 { (yyval.LoadMode) = MidiInstrumentMapper::PERSISTENT; }
4467 break;
4468
4469 case 206:
4470 #line 361 "lscp.y"
4471 { (yyval.Number) = 16; }
4472 break;
4473
4474 case 213:
4475 #line 380 "lscp.y"
4476 { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
4477 break;
4478
4479 case 225:
4480 #line 414 "lscp.y"
4481 { (yyval.String) = (yyvsp[(1) - (3)].String) + "," + (yyvsp[(3) - (3)].String); }
4482 break;
4483
4484 case 228:
4485 #line 419 "lscp.y"
4486 { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Number) << "\'"; (yyval.String) = ss.str(); }
4487 break;
4488
4489 case 229:
4490 #line 420 "lscp.y"
4491 { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Dotnum) << "\'"; (yyval.String) = ss.str(); }
4492 break;
4493
4494 case 230:
4495 #line 428 "lscp.y"
4496 { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
4497 break;
4498
4499 case 231:
4500 #line 429 "lscp.y"
4501 { (yyval.Dotnum) = -1; }
4502 break;
4503
4504 case 232:
4505 #line 432 "lscp.y"
4506 { std::string s; s = (yyvsp[(1) - (1)].Char); (yyval.String) = s; }
4507 break;
4508
4509 case 233:
4510 #line 433 "lscp.y"
4511 { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char); }
4512 break;
4513
4514 case 234:
4515 #line 436 "lscp.y"
4516 { (yyval.Dotnum) = atof(String((yyvsp[(1) - (3)].String) + "." + (yyvsp[(3) - (3)].String)).c_str()); }
4517 break;
4518
4519 case 235:
4520 #line 437 "lscp.y"
4521 { String s = "+"; s += (yyvsp[(2) - (4)].String); s += "."; s += (yyvsp[(4) - (4)].String); (yyval.Dotnum) = atof(s.c_str()); }
4522 break;
4523
4524 case 236:
4525 #line 438 "lscp.y"
4526 { (yyval.Dotnum) = atof(String("-" + (yyvsp[(2) - (4)].String) + "." + (yyvsp[(4) - (4)].String)).c_str()); }
4527 break;
4528
4529 case 237:
4530 #line 442 "lscp.y"
4531 { (yyval.String) = (yyvsp[(1) - (1)].Char); }
4532 break;
4533
4534 case 238:
4535 #line 443 "lscp.y"
4536 { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char); }
4537 break;
4538
4539 case 239:
4540 #line 446 "lscp.y"
4541 { (yyval.Char) = '0'; }
4542 break;
4543
4544 case 240:
4545 #line 447 "lscp.y"
4546 { (yyval.Char) = '1'; }
4547 break;
4548
4549 case 241:
4550 #line 448 "lscp.y"
4551 { (yyval.Char) = '2'; }
4552 break;
4553
4554 case 242:
4555 #line 449 "lscp.y"
4556 { (yyval.Char) = '3'; }
4557 break;
4558
4559 case 243:
4560 #line 450 "lscp.y"
4561 { (yyval.Char) = '4'; }
4562 break;
4563
4564 case 244:
4565 #line 451 "lscp.y"
4566 { (yyval.Char) = '5'; }
4567 break;
4568
4569 case 245:
4570 #line 452 "lscp.y"
4571 { (yyval.Char) = '6'; }
4572 break;
4573
4574 case 246:
4575 #line 453 "lscp.y"
4576 { (yyval.Char) = '7'; }
4577 break;
4578
4579 case 247:
4580 #line 454 "lscp.y"
4581 { (yyval.Char) = '8'; }
4582 break;
4583
4584 case 248:
4585 #line 455 "lscp.y"
4586 { (yyval.Char) = '9'; }
4587 break;
4588
4589 case 249:
4590 #line 458 "lscp.y"
4591 { (yyval.Number) = atoi(String(1, (yyvsp[(1) - (1)].Char)).c_str()); }
4592 break;
4593
4594 case 250:
4595 #line 459 "lscp.y"
4596 { (yyval.Number) = atoi(String(String("1") + (yyvsp[(2) - (2)].String)).c_str()); }
4597 break;
4598
4599 case 251:
4600 #line 460 "lscp.y"
4601 { (yyval.Number) = atoi(String(String("2") + (yyvsp[(2) - (2)].String)).c_str()); }
4602 break;
4603
4604 case 252:
4605 #line 461 "lscp.y"
4606 { (yyval.Number) = atoi(String(String("3") + (yyvsp[(2) - (2)].String)).c_str()); }
4607 break;
4608
4609 case 253:
4610 #line 462 "lscp.y"
4611 { (yyval.Number) = atoi(String(String("4") + (yyvsp[(2) - (2)].String)).c_str()); }
4612 break;
4613
4614 case 254:
4615 #line 463 "lscp.y"
4616 { (yyval.Number) = atoi(String(String("5") + (yyvsp[(2) - (2)].String)).c_str()); }
4617 break;
4618
4619 case 255:
4620 #line 464 "lscp.y"
4621 { (yyval.Number) = atoi(String(String("6") + (yyvsp[(2) - (2)].String)).c_str()); }
4622 break;
4623
4624 case 256:
4625 #line 465 "lscp.y"
4626 { (yyval.Number) = atoi(String(String("7") + (yyvsp[(2) - (2)].String)).c_str()); }
4627 break;
4628
4629 case 257:
4630 #line 466 "lscp.y"
4631 { (yyval.Number) = atoi(String(String("8") + (yyvsp[(2) - (2)].String)).c_str()); }
4632 break;
4633
4634 case 258:
4635 #line 467 "lscp.y"
4636 { (yyval.Number) = atoi(String(String("9") + (yyvsp[(2) - (2)].String)).c_str()); }
4637 break;
4638
4639 case 259:
4640 #line 469 "lscp.y"
4641 { (yyval.Char) = 'A'; }
4642 break;
4643
4644 case 260:
4645 #line 469 "lscp.y"
4646 { (yyval.Char) = 'B'; }
4647 break;
4648
4649 case 261:
4650 #line 469 "lscp.y"
4651 { (yyval.Char) = 'C'; }
4652 break;
4653
4654 case 262:
4655 #line 469 "lscp.y"
4656 { (yyval.Char) = 'D'; }
4657 break;
4658
4659 case 263:
4660 #line 469 "lscp.y"
4661 { (yyval.Char) = 'E'; }
4662 break;
4663
4664 case 264:
4665 #line 469 "lscp.y"
4666 { (yyval.Char) = 'F'; }
4667 break;
4668
4669 case 265:
4670 #line 469 "lscp.y"
4671 { (yyval.Char) = 'G'; }
4672 break;
4673
4674 case 266:
4675 #line 469 "lscp.y"
4676 { (yyval.Char) = 'H'; }
4677 break;
4678
4679 case 267:
4680 #line 469 "lscp.y"
4681 { (yyval.Char) = 'I'; }
4682 break;
4683
4684 case 268:
4685 #line 469 "lscp.y"
4686 { (yyval.Char) = 'J'; }
4687 break;
4688
4689 case 269:
4690 #line 469 "lscp.y"
4691 { (yyval.Char) = 'K'; }
4692 break;
4693
4694 case 270:
4695 #line 469 "lscp.y"
4696 { (yyval.Char) = 'L'; }
4697 break;
4698
4699 case 271:
4700 #line 469 "lscp.y"
4701 { (yyval.Char) = 'M'; }
4702 break;
4703
4704 case 272:
4705 #line 469 "lscp.y"
4706 { (yyval.Char) = 'N'; }
4707 break;
4708
4709 case 273:
4710 #line 469 "lscp.y"
4711 { (yyval.Char) = 'O'; }
4712 break;
4713
4714 case 274:
4715 #line 469 "lscp.y"
4716 { (yyval.Char) = 'P'; }
4717 break;
4718
4719 case 275:
4720 #line 469 "lscp.y"
4721 { (yyval.Char) = 'Q'; }
4722 break;
4723
4724 case 276:
4725 #line 469 "lscp.y"
4726 { (yyval.Char) = 'R'; }
4727 break;
4728
4729 case 277:
4730 #line 469 "lscp.y"
4731 { (yyval.Char) = 'S'; }
4732 break;
4733
4734 case 278:
4735 #line 469 "lscp.y"
4736 { (yyval.Char) = 'T'; }
4737 break;
4738
4739 case 279:
4740 #line 469 "lscp.y"
4741 { (yyval.Char) = 'U'; }
4742 break;
4743
4744 case 280:
4745 #line 469 "lscp.y"
4746 { (yyval.Char) = 'V'; }
4747 break;
4748
4749 case 281:
4750 #line 469 "lscp.y"
4751 { (yyval.Char) = 'W'; }
4752 break;
4753
4754 case 282:
4755 #line 469 "lscp.y"
4756 { (yyval.Char) = 'X'; }
4757 break;
4758
4759 case 283:
4760 #line 469 "lscp.y"
4761 { (yyval.Char) = 'Y'; }
4762 break;
4763
4764 case 284:
4765 #line 469 "lscp.y"
4766 { (yyval.Char) = 'Z'; }
4767 break;
4768
4769 case 285:
4770 #line 470 "lscp.y"
4771 { (yyval.Char) = 'a'; }
4772 break;
4773
4774 case 286:
4775 #line 470 "lscp.y"
4776 { (yyval.Char) = 'b'; }
4777 break;
4778
4779 case 287:
4780 #line 470 "lscp.y"
4781 { (yyval.Char) = 'c'; }
4782 break;
4783
4784 case 288:
4785 #line 470 "lscp.y"
4786 { (yyval.Char) = 'd'; }
4787 break;
4788
4789 case 289:
4790 #line 470 "lscp.y"
4791 { (yyval.Char) = 'e'; }
4792 break;
4793
4794 case 290:
4795 #line 470 "lscp.y"
4796 { (yyval.Char) = 'f'; }
4797 break;
4798
4799 case 291:
4800 #line 470 "lscp.y"
4801 { (yyval.Char) = 'g'; }
4802 break;
4803
4804 case 292:
4805 #line 470 "lscp.y"
4806 { (yyval.Char) = 'h'; }
4807 break;
4808
4809 case 293:
4810 #line 470 "lscp.y"
4811 { (yyval.Char) = 'i'; }
4812 break;
4813
4814 case 294:
4815 #line 470 "lscp.y"
4816 { (yyval.Char) = 'j'; }
4817 break;
4818
4819 case 295:
4820 #line 470 "lscp.y"
4821 { (yyval.Char) = 'k'; }
4822 break;
4823
4824 case 296:
4825 #line 470 "lscp.y"
4826 { (yyval.Char) = 'l'; }
4827 break;
4828
4829 case 297:
4830 #line 470 "lscp.y"
4831 { (yyval.Char) = 'm'; }
4832 break;
4833
4834 case 298:
4835 #line 470 "lscp.y"
4836 { (yyval.Char) = 'n'; }
4837 break;
4838
4839 case 299:
4840 #line 470 "lscp.y"
4841 { (yyval.Char) = 'o'; }
4842 break;
4843
4844 case 300:
4845 #line 470 "lscp.y"
4846 { (yyval.Char) = 'p'; }
4847 break;
4848
4849 case 301:
4850 #line 470 "lscp.y"
4851 { (yyval.Char) = 'q'; }
4852 break;
4853
4854 case 302:
4855 #line 470 "lscp.y"
4856 { (yyval.Char) = 'r'; }
4857 break;
4858
4859 case 303:
4860 #line 470 "lscp.y"
4861 { (yyval.Char) = 's'; }
4862 break;
4863
4864 case 304:
4865 #line 470 "lscp.y"
4866 { (yyval.Char) = 't'; }
4867 break;
4868
4869 case 305:
4870 #line 470 "lscp.y"
4871 { (yyval.Char) = 'u'; }
4872 break;
4873
4874 case 306:
4875 #line 470 "lscp.y"
4876 { (yyval.Char) = 'v'; }
4877 break;
4878
4879 case 307:
4880 #line 470 "lscp.y"
4881 { (yyval.Char) = 'w'; }
4882 break;
4883
4884 case 308:
4885 #line 470 "lscp.y"
4886 { (yyval.Char) = 'x'; }
4887 break;
4888
4889 case 309:
4890 #line 470 "lscp.y"
4891 { (yyval.Char) = 'y'; }
4892 break;
4893
4894 case 310:
4895 #line 470 "lscp.y"
4896 { (yyval.Char) = 'z'; }
4897 break;
4898
4899 case 311:
4900 #line 471 "lscp.y"
4901 { (yyval.Char) = '0'; }
4902 break;
4903
4904 case 312:
4905 #line 471 "lscp.y"
4906 { (yyval.Char) = '1'; }
4907 break;
4908
4909 case 313:
4910 #line 471 "lscp.y"
4911 { (yyval.Char) = '2'; }
4912 break;
4913
4914 case 314:
4915 #line 471 "lscp.y"
4916 { (yyval.Char) = '3'; }
4917 break;
4918
4919 case 315:
4920 #line 471 "lscp.y"
4921 { (yyval.Char) = '4'; }
4922 break;
4923
4924 case 316:
4925 #line 471 "lscp.y"
4926 { (yyval.Char) = '5'; }
4927 break;
4928
4929 case 317:
4930 #line 471 "lscp.y"
4931 { (yyval.Char) = '6'; }
4932 break;
4933
4934 case 318:
4935 #line 471 "lscp.y"
4936 { (yyval.Char) = '7'; }
4937 break;
4938
4939 case 319:
4940 #line 471 "lscp.y"
4941 { (yyval.Char) = '8'; }
4942 break;
4943
4944 case 320:
4945 #line 471 "lscp.y"
4946 { (yyval.Char) = '9'; }
4947 break;
4948
4949 case 321:
4950 #line 472 "lscp.y"
4951 { (yyval.Char) = '!'; }
4952 break;
4953
4954 case 322:
4955 #line 472 "lscp.y"
4956 { (yyval.Char) = '#'; }
4957 break;
4958
4959 case 323:
4960 #line 472 "lscp.y"
4961 { (yyval.Char) = '$'; }
4962 break;
4963
4964 case 324:
4965 #line 472 "lscp.y"
4966 { (yyval.Char) = '%'; }
4967 break;
4968
4969 case 325:
4970 #line 472 "lscp.y"
4971 { (yyval.Char) = '&'; }
4972 break;
4973
4974 case 326:
4975 #line 472 "lscp.y"
4976 { (yyval.Char) = '('; }
4977 break;
4978
4979 case 327:
4980 #line 472 "lscp.y"
4981 { (yyval.Char) = ')'; }
4982 break;
4983
4984 case 328:
4985 #line 472 "lscp.y"
4986 { (yyval.Char) = '*'; }
4987 break;
4988
4989 case 329:
4990 #line 472 "lscp.y"
4991 { (yyval.Char) = '+'; }
4992 break;
4993
4994 case 330:
4995 #line 472 "lscp.y"
4996 { (yyval.Char) = '-'; }
4997 break;
4998
4999 case 331:
5000 #line 472 "lscp.y"
5001 { (yyval.Char) = '.'; }
5002 break;
5003
5004 case 332:
5005 #line 472 "lscp.y"
5006 { (yyval.Char) = ','; }
5007 break;
5008
5009 case 333:
5010 #line 472 "lscp.y"
5011 { (yyval.Char) = '/'; }
5012 break;
5013
5014 case 334:
5015 #line 473 "lscp.y"
5016 { (yyval.Char) = ':'; }
5017 break;
5018
5019 case 335:
5020 #line 473 "lscp.y"
5021 { (yyval.Char) = ';'; }
5022 break;
5023
5024 case 336:
5025 #line 473 "lscp.y"
5026 { (yyval.Char) = '<'; }
5027 break;
5028
5029 case 337:
5030 #line 473 "lscp.y"
5031 { (yyval.Char) = '='; }
5032 break;
5033
5034 case 338:
5035 #line 473 "lscp.y"
5036 { (yyval.Char) = '>'; }
5037 break;
5038
5039 case 339:
5040 #line 473 "lscp.y"
5041 { (yyval.Char) = '?'; }
5042 break;
5043
5044 case 340:
5045 #line 473 "lscp.y"
5046 { (yyval.Char) = '@'; }
5047 break;
5048
5049 case 341:
5050 #line 474 "lscp.y"
5051 { (yyval.Char) = '['; }
5052 break;
5053
5054 case 342:
5055 #line 474 "lscp.y"
5056 { (yyval.Char) = '\\'; }
5057 break;
5058
5059 case 343:
5060 #line 474 "lscp.y"
5061 { (yyval.Char) = ']'; }
5062 break;
5063
5064 case 344:
5065 #line 474 "lscp.y"
5066 { (yyval.Char) = '^'; }
5067 break;
5068
5069 case 345:
5070 #line 474 "lscp.y"
5071 { (yyval.Char) = '_'; }
5072 break;
5073
5074 case 346:
5075 #line 475 "lscp.y"
5076 { (yyval.Char) = '{'; }
5077 break;
5078
5079 case 347:
5080 #line 475 "lscp.y"
5081 { (yyval.Char) = '|'; }
5082 break;
5083
5084 case 348:
5085 #line 475 "lscp.y"
5086 { (yyval.Char) = '}'; }
5087 break;
5088
5089 case 349:
5090 #line 475 "lscp.y"
5091 { (yyval.Char) = '~'; }
5092 break;
5093
5094 case 350:
5095 #line 476 "lscp.y"
5096 { (yyval.Char) = '\200'; }
5097 break;
5098
5099 case 351:
5100 #line 476 "lscp.y"
5101 { (yyval.Char) = '\201'; }
5102 break;
5103
5104 case 352:
5105 #line 476 "lscp.y"
5106 { (yyval.Char) = '\202'; }
5107 break;
5108
5109 case 353:
5110 #line 477 "lscp.y"
5111 { (yyval.Char) = '\203'; }
5112 break;
5113
5114 case 354:
5115 #line 477 "lscp.y"
5116 { (yyval.Char) = '\204'; }
5117 break;
5118
5119 case 355:
5120 #line 477 "lscp.y"
5121 { (yyval.Char) = '\205'; }
5122 break;
5123
5124 case 356:
5125 #line 478 "lscp.y"
5126 { (yyval.Char) = '\206'; }
5127 break;
5128
5129 case 357:
5130 #line 478 "lscp.y"
5131 { (yyval.Char) = '\207'; }
5132 break;
5133
5134 case 358:
5135 #line 478 "lscp.y"
5136 { (yyval.Char) = '\210'; }
5137 break;
5138
5139 case 359:
5140 #line 479 "lscp.y"
5141 { (yyval.Char) = '\211'; }
5142 break;
5143
5144 case 360:
5145 #line 479 "lscp.y"
5146 { (yyval.Char) = '\212'; }
5147 break;
5148
5149 case 361:
5150 #line 479 "lscp.y"
5151 { (yyval.Char) = '\213'; }
5152 break;
5153
5154 case 362:
5155 #line 480 "lscp.y"
5156 { (yyval.Char) = '\214'; }
5157 break;
5158
5159 case 363:
5160 #line 480 "lscp.y"
5161 { (yyval.Char) = '\215'; }
5162 break;
5163
5164 case 364:
5165 #line 480 "lscp.y"
5166 { (yyval.Char) = '\216'; }
5167 break;
5168
5169 case 365:
5170 #line 481 "lscp.y"
5171 { (yyval.Char) = '\217'; }
5172 break;
5173
5174 case 366:
5175 #line 481 "lscp.y"
5176 { (yyval.Char) = '\220'; }
5177 break;
5178
5179 case 367:
5180 #line 481 "lscp.y"
5181 { (yyval.Char) = '\221'; }
5182 break;
5183
5184 case 368:
5185 #line 482 "lscp.y"
5186 { (yyval.Char) = '\222'; }
5187 break;
5188
5189 case 369:
5190 #line 482 "lscp.y"
5191 { (yyval.Char) = '\223'; }
5192 break;
5193
5194 case 370:
5195 #line 482 "lscp.y"
5196 { (yyval.Char) = '\224'; }
5197 break;
5198
5199 case 371:
5200 #line 483 "lscp.y"
5201 { (yyval.Char) = '\225'; }
5202 break;
5203
5204 case 372:
5205 #line 483 "lscp.y"
5206 { (yyval.Char) = '\226'; }
5207 break;
5208
5209 case 373:
5210 #line 483 "lscp.y"
5211 { (yyval.Char) = '\227'; }
5212 break;
5213
5214 case 374:
5215 #line 484 "lscp.y"
5216 { (yyval.Char) = '\230'; }
5217 break;
5218
5219 case 375:
5220 #line 484 "lscp.y"
5221 { (yyval.Char) = '\231'; }
5222 break;
5223
5224 case 376:
5225 #line 484 "lscp.y"
5226 { (yyval.Char) = '\232'; }
5227 break;
5228
5229 case 377:
5230 #line 485 "lscp.y"
5231 { (yyval.Char) = '\233'; }
5232 break;
5233
5234 case 378:
5235 #line 485 "lscp.y"
5236 { (yyval.Char) = '\234'; }
5237 break;
5238
5239 case 379:
5240 #line 485 "lscp.y"
5241 { (yyval.Char) = '\235'; }
5242 break;
5243
5244 case 380:
5245 #line 486 "lscp.y"
5246 { (yyval.Char) = '\236'; }
5247 break;
5248
5249 case 381:
5250 #line 486 "lscp.y"
5251 { (yyval.Char) = '\237'; }
5252 break;
5253
5254 case 382:
5255 #line 486 "lscp.y"
5256 { (yyval.Char) = '\240'; }
5257 break;
5258
5259 case 383:
5260 #line 487 "lscp.y"
5261 { (yyval.Char) = '\241'; }
5262 break;
5263
5264 case 384:
5265 #line 487 "lscp.y"
5266 { (yyval.Char) = '\242'; }
5267 break;
5268
5269 case 385:
5270 #line 487 "lscp.y"
5271 { (yyval.Char) = '\243'; }
5272 break;
5273
5274 case 386:
5275 #line 488 "lscp.y"
5276 { (yyval.Char) = '\244'; }
5277 break;
5278
5279 case 387:
5280 #line 488 "lscp.y"
5281 { (yyval.Char) = '\245'; }
5282 break;
5283
5284 case 388:
5285 #line 488 "lscp.y"
5286 { (yyval.Char) = '\246'; }
5287 break;
5288
5289 case 389:
5290 #line 489 "lscp.y"
5291 { (yyval.Char) = '\247'; }
5292 break;
5293
5294 case 390:
5295 #line 489 "lscp.y"
5296 { (yyval.Char) = '\250'; }
5297 break;
5298
5299 case 391:
5300 #line 489 "lscp.y"
5301 { (yyval.Char) = '\251'; }
5302 break;
5303
5304 case 392:
5305 #line 490 "lscp.y"
5306 { (yyval.Char) = '\252'; }
5307 break;
5308
5309 case 393:
5310 #line 490 "lscp.y"
5311 { (yyval.Char) = '\253'; }
5312 break;
5313
5314 case 394:
5315 #line 490 "lscp.y"
5316 { (yyval.Char) = '\254'; }
5317 break;
5318
5319 case 395:
5320 #line 491 "lscp.y"
5321 { (yyval.Char) = '\255'; }
5322 break;
5323
5324 case 396:
5325 #line 491 "lscp.y"
5326 { (yyval.Char) = '\256'; }
5327 break;
5328
5329 case 397:
5330 #line 491 "lscp.y"
5331 { (yyval.Char) = '\257'; }
5332 break;
5333
5334 case 398:
5335 #line 492 "lscp.y"
5336 { (yyval.Char) = '\260'; }
5337 break;
5338
5339 case 399:
5340 #line 492 "lscp.y"
5341 { (yyval.Char) = '\261'; }
5342 break;
5343
5344 case 400:
5345 #line 492 "lscp.y"
5346 { (yyval.Char) = '\262'; }
5347 break;
5348
5349 case 401:
5350 #line 493 "lscp.y"
5351 { (yyval.Char) = '\263'; }
5352 break;
5353
5354 case 402:
5355 #line 493 "lscp.y"
5356 { (yyval.Char) = '\264'; }
5357 break;
5358
5359 case 403:
5360 #line 493 "lscp.y"
5361 { (yyval.Char) = '\265'; }
5362 break;
5363
5364 case 404:
5365 #line 494 "lscp.y"
5366 { (yyval.Char) = '\266'; }
5367 break;
5368
5369 case 405:
5370 #line 494 "lscp.y"
5371 { (yyval.Char) = '\267'; }
5372 break;
5373
5374 case 406:
5375 #line 494 "lscp.y"
5376 { (yyval.Char) = '\270'; }
5377 break;
5378
5379 case 407:
5380 #line 495 "lscp.y"
5381 { (yyval.Char) = '\271'; }
5382 break;
5383
5384 case 408:
5385 #line 495 "lscp.y"
5386 { (yyval.Char) = '\272'; }
5387 break;
5388
5389 case 409:
5390 #line 495 "lscp.y"
5391 { (yyval.Char) = '\273'; }
5392 break;
5393
5394 case 410:
5395 #line 496 "lscp.y"
5396 { (yyval.Char) = '\274'; }
5397 break;
5398
5399 case 411:
5400 #line 496 "lscp.y"
5401 { (yyval.Char) = '\275'; }
5402 break;
5403
5404 case 412:
5405 #line 496 "lscp.y"
5406 { (yyval.Char) = '\276'; }
5407 break;
5408
5409 case 413:
5410 #line 497 "lscp.y"
5411 { (yyval.Char) = '\277'; }
5412 break;
5413
5414 case 414:
5415 #line 497 "lscp.y"
5416 { (yyval.Char) = '\300'; }
5417 break;
5418
5419 case 415:
5420 #line 497 "lscp.y"
5421 { (yyval.Char) = '\301'; }
5422 break;
5423
5424 case 416:
5425 #line 498 "lscp.y"
5426 { (yyval.Char) = '\302'; }
5427 break;
5428
5429 case 417:
5430 #line 498 "lscp.y"
5431 { (yyval.Char) = '\303'; }
5432 break;
5433
5434 case 418:
5435 #line 498 "lscp.y"
5436 { (yyval.Char) = '\304'; }
5437 break;
5438
5439 case 419:
5440 #line 499 "lscp.y"
5441 { (yyval.Char) = '\305'; }
5442 break;
5443
5444 case 420:
5445 #line 499 "lscp.y"
5446 { (yyval.Char) = '\306'; }
5447 break;
5448
5449 case 421:
5450 #line 499 "lscp.y"
5451 { (yyval.Char) = '\307'; }
5452 break;
5453
5454 case 422:
5455 #line 500 "lscp.y"
5456 { (yyval.Char) = '\310'; }
5457 break;
5458
5459 case 423:
5460 #line 500 "lscp.y"
5461 { (yyval.Char) = '\311'; }
5462 break;
5463
5464 case 424:
5465 #line 500 "lscp.y"
5466 { (yyval.Char) = '\312'; }
5467 break;
5468
5469 case 425:
5470 #line 501 "lscp.y"
5471 { (yyval.Char) = '\313'; }
5472 break;
5473
5474 case 426:
5475 #line 501 "lscp.y"
5476 { (yyval.Char) = '\314'; }
5477 break;
5478
5479 case 427:
5480 #line 501 "lscp.y"
5481 { (yyval.Char) = '\315'; }
5482 break;
5483
5484 case 428:
5485 #line 502 "lscp.y"
5486 { (yyval.Char) = '\316'; }
5487 break;
5488
5489 case 429:
5490 #line 502 "lscp.y"
5491 { (yyval.Char) = '\317'; }
5492 break;
5493
5494 case 430:
5495 #line 502 "lscp.y"
5496 { (yyval.Char) = '\320'; }
5497 break;
5498
5499 case 431:
5500 #line 503 "lscp.y"
5501 { (yyval.Char) = '\321'; }
5502 break;
5503
5504 case 432:
5505 #line 503 "lscp.y"
5506 { (yyval.Char) = '\322'; }
5507 break;
5508
5509 case 433:
5510 #line 503 "lscp.y"
5511 { (yyval.Char) = '\323'; }
5512 break;
5513
5514 case 434:
5515 #line 504 "lscp.y"
5516 { (yyval.Char) = '\324'; }
5517 break;
5518
5519 case 435:
5520 #line 504 "lscp.y"
5521 { (yyval.Char) = '\325'; }
5522 break;
5523
5524 case 436:
5525 #line 504 "lscp.y"
5526 { (yyval.Char) = '\326'; }
5527 break;
5528
5529 case 437:
5530 #line 505 "lscp.y"
5531 { (yyval.Char) = '\327'; }
5532 break;
5533
5534 case 438:
5535 #line 505 "lscp.y"
5536 { (yyval.Char) = '\330'; }
5537 break;
5538
5539 case 439:
5540 #line 505 "lscp.y"
5541 { (yyval.Char) = '\331'; }
5542 break;
5543
5544 case 440:
5545 #line 506 "lscp.y"
5546 { (yyval.Char) = '\332'; }
5547 break;
5548
5549 case 441:
5550 #line 506 "lscp.y"
5551 { (yyval.Char) = '\333'; }
5552 break;
5553
5554 case 442:
5555 #line 506 "lscp.y"
5556 { (yyval.Char) = '\334'; }
5557 break;
5558
5559 case 443:
5560 #line 507 "lscp.y"
5561 { (yyval.Char) = '\335'; }
5562 break;
5563
5564 case 444:
5565 #line 507 "lscp.y"
5566 { (yyval.Char) = '\336'; }
5567 break;
5568
5569 case 445:
5570 #line 507 "lscp.y"
5571 { (yyval.Char) = '\337'; }
5572 break;
5573
5574 case 446:
5575 #line 508 "lscp.y"
5576 { (yyval.Char) = '\340'; }
5577 break;
5578
5579 case 447:
5580 #line 508 "lscp.y"
5581 { (yyval.Char) = '\341'; }
5582 break;
5583
5584 case 448:
5585 #line 508 "lscp.y"
5586 { (yyval.Char) = '\342'; }
5587 break;
5588
5589 case 449:
5590 #line 509 "lscp.y"
5591 { (yyval.Char) = '\343'; }
5592 break;
5593
5594 case 450:
5595 #line 509 "lscp.y"
5596 { (yyval.Char) = '\344'; }
5597 break;
5598
5599 case 451:
5600 #line 509 "lscp.y"
5601 { (yyval.Char) = '\345'; }
5602 break;
5603
5604 case 452:
5605 #line 510 "lscp.y"
5606 { (yyval.Char) = '\346'; }
5607 break;
5608
5609 case 453:
5610 #line 510 "lscp.y"
5611 { (yyval.Char) = '\347'; }
5612 break;
5613
5614 case 454:
5615 #line 510 "lscp.y"
5616 { (yyval.Char) = '\350'; }
5617 break;
5618
5619 case 455:
5620 #line 511 "lscp.y"
5621 { (yyval.Char) = '\351'; }
5622 break;
5623
5624 case 456:
5625 #line 511 "lscp.y"
5626 { (yyval.Char) = '\352'; }
5627 break;
5628
5629 case 457:
5630 #line 511 "lscp.y"
5631 { (yyval.Char) = '\353'; }
5632 break;
5633
5634 case 458:
5635 #line 512 "lscp.y"
5636 { (yyval.Char) = '\354'; }
5637 break;
5638
5639 case 459:
5640 #line 512 "lscp.y"
5641 { (yyval.Char) = '\355'; }
5642 break;
5643
5644 case 460:
5645 #line 512 "lscp.y"
5646 { (yyval.Char) = '\356'; }
5647 break;
5648
5649 case 461:
5650 #line 513 "lscp.y"
5651 { (yyval.Char) = '\357'; }
5652 break;
5653
5654 case 462:
5655 #line 513 "lscp.y"
5656 { (yyval.Char) = '\360'; }
5657 break;
5658
5659 case 463:
5660 #line 513 "lscp.y"
5661 { (yyval.Char) = '\361'; }
5662 break;
5663
5664 case 464:
5665 #line 514 "lscp.y"
5666 { (yyval.Char) = '\362'; }
5667 break;
5668
5669 case 465:
5670 #line 514 "lscp.y"
5671 { (yyval.Char) = '\363'; }
5672 break;
5673
5674 case 466:
5675 #line 514 "lscp.y"
5676 { (yyval.Char) = '\364'; }
5677 break;
5678
5679 case 467:
5680 #line 515 "lscp.y"
5681 { (yyval.Char) = '\365'; }
5682 break;
5683
5684 case 468:
5685 #line 515 "lscp.y"
5686 { (yyval.Char) = '\366'; }
5687 break;
5688
5689 case 469:
5690 #line 515 "lscp.y"
5691 { (yyval.Char) = '\367'; }
5692 break;
5693
5694 case 470:
5695 #line 516 "lscp.y"
5696 { (yyval.Char) = '\370'; }
5697 break;
5698
5699 case 471:
5700 #line 516 "lscp.y"
5701 { (yyval.Char) = '\371'; }
5702 break;
5703
5704 case 472:
5705 #line 516 "lscp.y"
5706 { (yyval.Char) = '\372'; }
5707 break;
5708
5709 case 473:
5710 #line 517 "lscp.y"
5711 { (yyval.Char) = '\373'; }
5712 break;
5713
5714 case 474:
5715 #line 517 "lscp.y"
5716 { (yyval.Char) = '\374'; }
5717 break;
5718
5719 case 475:
5720 #line 517 "lscp.y"
5721 { (yyval.Char) = '\375'; }
5722 break;
5723
5724 case 476:
5725 #line 518 "lscp.y"
5726 { (yyval.Char) = '\376'; }
5727 break;
5728
5729 case 477:
5730 #line 518 "lscp.y"
5731 { (yyval.Char) = '\377'; }
5732 break;
5733
5734 case 478:
5735 #line 521 "lscp.y"
5736 { (yyval.String) = " "; }
5737 break;
5738
5739 case 480:
5740 #line 523 "lscp.y"
5741 { (yyval.String) = (yyvsp[(1) - (2)].String) + " "; }
5742 break;
5743
5744 case 481:
5745 #line 524 "lscp.y"
5746 { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].String); }
5747 break;
5748
5749 case 482:
5750 #line 527 "lscp.y"
5751 { (yyval.String) = (yyvsp[(2) - (3)].String); }
5752 break;
5753
5754 case 483:
5755 #line 528 "lscp.y"
5756 { (yyval.String) = (yyvsp[(2) - (3)].String); }
5757 break;
5758
5759
5760 /* Line 1267 of yacc.c. */
5761 #line 5762 "y.tab.c"
5762 default: break;
5763 }
5764 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
5765
5766 YYPOPSTACK (yylen);
5767 yylen = 0;
5768 YY_STACK_PRINT (yyss, yyssp);
5769
5770 *++yyvsp = yyval;
5771
5772
5773 /* Now `shift' the result of the reduction. Determine what state
5774 that goes to, based on the state we popped back to and the rule
5775 number reduced by. */
5776
5777 yyn = yyr1[yyn];
5778
5779 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
5780 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
5781 yystate = yytable[yystate];
5782 else
5783 yystate = yydefgoto[yyn - YYNTOKENS];
5784
5785 goto yynewstate;
5786
5787
5788 /*------------------------------------.
5789 | yyerrlab -- here on detecting error |
5790 `------------------------------------*/
5791 yyerrlab:
5792 /* If not already recovering from an error, report this error. */
5793 if (!yyerrstatus)
5794 {
5795 ++yynerrs;
5796 #if ! YYERROR_VERBOSE
5797 yyerror (YY_("syntax error"));
5798 #else
5799 {
5800 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
5801 if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
5802 {
5803 YYSIZE_T yyalloc = 2 * yysize;
5804 if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
5805 yyalloc = YYSTACK_ALLOC_MAXIMUM;
5806 if (yymsg != yymsgbuf)
5807 YYSTACK_FREE (yymsg);
5808 yymsg = (char *) YYSTACK_ALLOC (yyalloc);
5809 if (yymsg)
5810 yymsg_alloc = yyalloc;
5811 else
5812 {
5813 yymsg = yymsgbuf;
5814 yymsg_alloc = sizeof yymsgbuf;
5815 }
5816 }
5817
5818 if (0 < yysize && yysize <= yymsg_alloc)
5819 {
5820 (void) yysyntax_error (yymsg, yystate, yychar);
5821 yyerror (yymsg);
5822 }
5823 else
5824 {
5825 yyerror (YY_("syntax error"));
5826 if (yysize != 0)
5827 goto yyexhaustedlab;
5828 }
5829 }
5830 #endif
5831 }
5832
5833
5834
5835 if (yyerrstatus == 3)
5836 {
5837 /* If just tried and failed to reuse look-ahead token after an
5838 error, discard it. */
5839
5840 if (yychar <= YYEOF)
5841 {
5842 /* Return failure if at end of input. */
5843 if (yychar == YYEOF)
5844 YYABORT;
5845 }
5846 else
5847 {
5848 yydestruct ("Error: discarding",
5849 yytoken, &yylval);
5850 yychar = YYEMPTY;
5851 }
5852 }
5853
5854 /* Else will try to reuse look-ahead token after shifting the error
5855 token. */
5856 goto yyerrlab1;
5857
5858
5859 /*---------------------------------------------------.
5860 | yyerrorlab -- error raised explicitly by YYERROR. |
5861 `---------------------------------------------------*/
5862 yyerrorlab:
5863
5864 /* Pacify compilers like GCC when the user code never invokes
5865 YYERROR and the label yyerrorlab therefore never appears in user
5866 code. */
5867 if (/*CONSTCOND*/ 0)
5868 goto yyerrorlab;
5869
5870 /* Do not reclaim the symbols of the rule which action triggered
5871 this YYERROR. */
5872 YYPOPSTACK (yylen);
5873 yylen = 0;
5874 YY_STACK_PRINT (yyss, yyssp);
5875 yystate = *yyssp;
5876 goto yyerrlab1;
5877
5878
5879 /*-------------------------------------------------------------.
5880 | yyerrlab1 -- common code for both syntax error and YYERROR. |
5881 `-------------------------------------------------------------*/
5882 yyerrlab1:
5883 yyerrstatus = 3; /* Each real token shifted decrements this. */
5884
5885 for (;;)
5886 {
5887 yyn = yypact[yystate];
5888 if (yyn != YYPACT_NINF)
5889 {
5890 yyn += YYTERROR;
5891 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
5892 {
5893 yyn = yytable[yyn];
5894 if (0 < yyn)
5895 break;
5896 }
5897 }
5898
5899 /* Pop the current state because it cannot handle the error token. */
5900 if (yyssp == yyss)
5901 YYABORT;
5902
5903
5904 yydestruct ("Error: popping",
5905 yystos[yystate], yyvsp);
5906 YYPOPSTACK (1);
5907 yystate = *yyssp;
5908 YY_STACK_PRINT (yyss, yyssp);
5909 }
5910
5911 if (yyn == YYFINAL)
5912 YYACCEPT;
5913
5914 *++yyvsp = yylval;
5915
5916
5917 /* Shift the error token. */
5918 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
5919
5920 yystate = yyn;
5921 goto yynewstate;
5922
5923
5924 /*-------------------------------------.
5925 | yyacceptlab -- YYACCEPT comes here. |
5926 `-------------------------------------*/
5927 yyacceptlab:
5928 yyresult = 0;
5929 goto yyreturn;
5930
5931 /*-----------------------------------.
5932 | yyabortlab -- YYABORT comes here. |
5933 `-----------------------------------*/
5934 yyabortlab:
5935 yyresult = 1;
5936 goto yyreturn;
5937
5938 #ifndef yyoverflow
5939 /*-------------------------------------------------.
5940 | yyexhaustedlab -- memory exhaustion comes here. |
5941 `-------------------------------------------------*/
5942 yyexhaustedlab:
5943 yyerror (YY_("memory exhausted"));
5944 yyresult = 2;
5945 /* Fall through. */
5946 #endif
5947
5948 yyreturn:
5949 if (yychar != YYEOF && yychar != YYEMPTY)
5950 yydestruct ("Cleanup: discarding lookahead",
5951 yytoken, &yylval);
5952 /* Do not reclaim the symbols of the rule which action triggered
5953 this YYABORT or YYACCEPT. */
5954 YYPOPSTACK (yylen);
5955 YY_STACK_PRINT (yyss, yyssp);
5956 while (yyssp != yyss)
5957 {
5958 yydestruct ("Cleanup: popping",
5959 yystos[*yyssp], yyvsp);
5960 YYPOPSTACK (1);
5961 }
5962 #ifndef yyoverflow
5963 if (yyss != yyssa)
5964 YYSTACK_FREE (yyss);
5965 #endif
5966 #if YYERROR_VERBOSE
5967 if (yymsg != yymsgbuf)
5968 YYSTACK_FREE (yymsg);
5969 #endif
5970 /* Make sure YYID is used. */
5971 return YYID (yyresult);
5972 }
5973
5974
5975 #line 831 "lscp.y"
5976
5977
5978 /**
5979 * Will be called when an error occured (usually syntax error).
5980 */
5981 void yyerror(const char* s) {
5982 dmsg(2,("LSCPParser: %s\n", s));
5983 }
5984
5985 /**
5986 * Clears input buffer.
5987 */
5988 void restart(yyparse_param_t* pparam, int& yychar) {
5989 bytes = 0;
5990 ptr = 0;
5991 }
5992

  ViewVC Help
Powered by ViewVC