/[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 1212 - (show annotations) (download)
Tue May 29 23:59:36 2007 UTC (16 years, 11 months ago) by schoenebeck
File size: 269925 byte(s)
* added highly experimental support for on-the-fly instrument editing
  within the sampler's process (by using instrument editor plugins),
  you'll notice the new "Registered instrument editors:" message on
  startup, the plugin path can be overridden at compile time with
  ./configure --enable-plugin-dir=/some/dir
* added a new LSCP command "EDIT INSTRUMENT <sampler-channel>" to spawn
  a matching instrument editor for the instrument on the given sampler
  channel (LSCP command syntax might be subject to change soon)
* config.h is not going to be installed along with liblinuxsampler's
  API header files anymore (not necessary anymore)
* take care of $(DESTDIR) when creating the instruments DB on 'make
  install' rule (needed for packaging and cross compilation)
* bumped version to 0.4.0.5cvs

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

  ViewVC Help
Powered by ViewVC