1 /* Automatically generated by Kelbt from "rlparse.kl".
2  *
3  * Parts of this file are copied from Kelbt source covered by the GNU
4  * GPL. As a special exception, you may use the parts of this file copied
5  * from Kelbt source without restriction. The remainder is derived from
6  * "rlparse.kl" and inherits the copyright status of that file.
7  */
8 
9 #line 1 "rlparse.kl"
10 /*
11  *  Copyright 2001-2007 Adrian Thurston <thurston@complang.org>
12  */
13 
14 /*  This file is part of Ragel.
15  *
16  *  Ragel is free software; you can redistribute it and/or modify
17  *  it under the terms of the GNU General Public License as published by
18  *  the Free Software Foundation; either version 2 of the License, or
19  *  (at your option) any later version.
20  *
21  *  Ragel is distributed in the hope that it will be useful,
22  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
23  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24  *  GNU General Public License for more details.
25  *
26  *  You should have received a copy of the GNU General Public License
27  *  along with Ragel; if not, write to the Free Software
28  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
29  */
30 
31 #include "rlparse.h"
32 #include "ragel.h"
33 #include <iostream>
34 #include <errno.h>
35 #include <stdlib.h>
36 
37 using std::cout;
38 using std::cerr;
39 using std::endl;
40 
41 #line 102 "rlparse.kh"
42 #line 105 "rlparse.kh"
43 #line 140 "rlparse.kh"
44 #line 1444 "rlparse.kl"
45 
46 
47 #line 48 "rlparse.cpp"
48 struct Parser_Lel_action_ref
49 {
50 #line 755 "rlparse.kl"
51 
52 	Action *action;
53 
54 
55 #line 54 "rlparse.cpp"
56 };
57 
58 struct Parser_Lel_aug_type
59 {
60 #line 546 "rlparse.kl"
61 
62 	InputLoc loc;
63 	AugType augType;
64 
65 
66 #line 65 "rlparse.cpp"
67 };
68 
69 struct Parser_Lel_expression
70 {
71 #line 338 "rlparse.kl"
72 
73 	Expression *expression;
74 
75 
76 #line 75 "rlparse.cpp"
77 };
78 
79 struct Parser_Lel_factor
80 {
81 #line 975 "rlparse.kl"
82 
83 	Factor *factor;
84 
85 
86 #line 85 "rlparse.cpp"
87 };
88 
89 struct Parser_Lel_factor_rep_num
90 {
91 #line 929 "rlparse.kl"
92 
93 	int rep;
94 
95 
96 #line 95 "rlparse.cpp"
97 };
98 
99 struct Parser_Lel_factor_with_aug
100 {
101 #line 452 "rlparse.kl"
102 
103 	FactorWithAug *factorWithAug;
104 
105 
106 #line 105 "rlparse.cpp"
107 };
108 
109 struct Parser_Lel_factor_with_ep
110 {
111 #line 436 "rlparse.kl"
112 
113 	FactorWithAug *factorWithAug;
114 
115 
116 #line 115 "rlparse.cpp"
117 };
118 
119 struct Parser_Lel_factor_with_label
120 {
121 #line 420 "rlparse.kl"
122 
123 	FactorWithAug *factorWithAug;
124 
125 
126 #line 125 "rlparse.cpp"
127 };
128 
129 struct Parser_Lel_factor_with_neg
130 {
131 #line 939 "rlparse.kl"
132 
133 	FactorWithNeg *factorWithNeg;
134 
135 
136 #line 135 "rlparse.cpp"
137 };
138 
139 struct Parser_Lel_factor_with_rep
140 {
141 #line 868 "rlparse.kl"
142 
143 	FactorWithRep *factorWithRep;
144 
145 
146 #line 145 "rlparse.cpp"
147 };
148 
149 struct Parser_Lel_inline_item
150 {
151 #line 1234 "rlparse.kl"
152 
153 	InlineItem *inlineItem;
154 
155 
156 #line 155 "rlparse.cpp"
157 };
158 
159 struct Parser_Lel_inline_list
160 {
161 #line 1213 "rlparse.kl"
162 
163 	InlineList *inlineList;
164 
165 
166 #line 165 "rlparse.cpp"
167 };
168 
169 struct Parser_Lel_join
170 {
171 #line 321 "rlparse.kl"
172 
173 	Join *join;
174 
175 
176 #line 175 "rlparse.cpp"
177 };
178 
179 struct Parser_Lel_join_or_lm
180 {
181 #line 229 "rlparse.kl"
182 
183 	MachineDef *machineDef;
184 
185 
186 #line 185 "rlparse.cpp"
187 };
188 
189 struct Parser_Lel_lm_part_list
190 {
191 #line 253 "rlparse.kl"
192 
193 	LmPartList *lmPartList;
194 
195 
196 #line 195 "rlparse.cpp"
197 };
198 
199 struct Parser_Lel_local_err_name
200 {
201 #line 856 "rlparse.kl"
202 
203 	int error_name;
204 
205 
206 #line 205 "rlparse.cpp"
207 };
208 
209 struct Parser_Lel_longest_match_part
210 {
211 #line 277 "rlparse.kl"
212 
213 	LongestMatchPart *lmPart;
214 
215 
216 #line 215 "rlparse.cpp"
217 };
218 
219 struct Parser_Lel_opt_export
220 {
221 #line 95 "rlparse.kl"
222 
223 	bool isSet;
224 
225 
226 #line 225 "rlparse.cpp"
227 };
228 
229 struct Parser_Lel_opt_lm_part_action
230 {
231 #line 294 "rlparse.kl"
232 
233 	Action *action;
234 
235 
236 #line 235 "rlparse.cpp"
237 };
238 
239 struct Parser_Lel_priority_aug
240 {
241 #line 803 "rlparse.kl"
242 
243 	int priorityNum;
244 
245 
246 #line 245 "rlparse.cpp"
247 };
248 
249 struct Parser_Lel_priority_name
250 {
251 #line 788 "rlparse.kl"
252 
253 	int priorityName;
254 
255 
256 #line 255 "rlparse.cpp"
257 };
258 
259 struct Parser_Lel_range_lit
260 {
261 #line 1042 "rlparse.kl"
262 
263 	Literal *literal;
264 
265 
266 #line 265 "rlparse.cpp"
267 };
268 
269 struct Parser_Lel_regular_expr
270 {
271 #line 1079 "rlparse.kl"
272 
273 	RegExpr *regExpr;
274 
275 
276 #line 275 "rlparse.cpp"
277 };
278 
279 struct Parser_Lel_regular_expr_char
280 {
281 #line 1131 "rlparse.kl"
282 
283 	ReItem *reItem;
284 
285 
286 #line 285 "rlparse.cpp"
287 };
288 
289 struct Parser_Lel_regular_expr_item
290 {
291 #line 1114 "rlparse.kl"
292 
293 	ReItem *reItem;
294 
295 
296 #line 295 "rlparse.cpp"
297 };
298 
299 struct Parser_Lel_regular_expr_or_char
300 {
301 #line 1188 "rlparse.kl"
302 
303 	ReOrItem *reOrItem;
304 
305 
306 #line 305 "rlparse.cpp"
307 };
308 
309 struct Parser_Lel_regular_expr_or_data
310 {
311 #line 1155 "rlparse.kl"
312 
313 	ReOrBlock *reOrBlock;
314 
315 
316 #line 315 "rlparse.cpp"
317 };
318 
319 struct Parser_Lel_term
320 {
321 #line 389 "rlparse.kl"
322 
323 	Term *term;
324 
325 
326 #line 325 "rlparse.cpp"
327 };
328 
329 struct Parser_Lel_term_short
330 {
331 #line 368 "rlparse.kl"
332 
333 	Term *term;
334 
335 
336 #line 335 "rlparse.cpp"
337 };
338 
339 struct Parser_Lel_token_type
340 {
341 #line 146 "rlparse.kl"
342 
343 	Token token;
344 
345 
346 #line 345 "rlparse.cpp"
347 };
348 
349 union Parser_UserData
350 {
351 	struct Parser_Lel_action_ref action_ref;
352 	struct Parser_Lel_aug_type aug_type;
353 	struct Parser_Lel_expression expression;
354 	struct Parser_Lel_factor factor;
355 	struct Parser_Lel_factor_rep_num factor_rep_num;
356 	struct Parser_Lel_factor_with_aug factor_with_aug;
357 	struct Parser_Lel_factor_with_ep factor_with_ep;
358 	struct Parser_Lel_factor_with_label factor_with_label;
359 	struct Parser_Lel_factor_with_neg factor_with_neg;
360 	struct Parser_Lel_factor_with_rep factor_with_rep;
361 	struct Parser_Lel_inline_item inline_item;
362 	struct Parser_Lel_inline_list inline_list;
363 	struct Parser_Lel_join join;
364 	struct Parser_Lel_join_or_lm join_or_lm;
365 	struct Parser_Lel_lm_part_list lm_part_list;
366 	struct Parser_Lel_local_err_name local_err_name;
367 	struct Parser_Lel_longest_match_part longest_match_part;
368 	struct Parser_Lel_opt_export opt_export;
369 	struct Parser_Lel_opt_lm_part_action opt_lm_part_action;
370 	struct Parser_Lel_priority_aug priority_aug;
371 	struct Parser_Lel_priority_name priority_name;
372 	struct Parser_Lel_range_lit range_lit;
373 	struct Parser_Lel_regular_expr regular_expr;
374 	struct Parser_Lel_regular_expr_char regular_expr_char;
375 	struct Parser_Lel_regular_expr_item regular_expr_item;
376 	struct Parser_Lel_regular_expr_or_char regular_expr_or_char;
377 	struct Parser_Lel_regular_expr_or_data regular_expr_or_data;
378 	struct Parser_Lel_term term;
379 	struct Parser_Lel_term_short term_short;
380 	struct Parser_Lel_token_type token_type;
381 	struct Token token;
382 };
383 
384 struct Parser_LangEl
385 {
386 	char *file;
387 	int line;
388 	int type;
389 	int reduction;
390 	int state;
391 	int causeReduce;
392 	union Parser_UserData user;
393 	unsigned int retry;
394 	struct Parser_LangEl *next, *child, *prev;
395 };
396 
397 struct Parser_Block
398 {
399 	struct Parser_LangEl data[8128];
400 	struct Parser_Block *next;
401 };
402 
403 #line 404 "rlparse.cpp"
404 unsigned int Parser_startState = 0;
405 
406 short Parser_indicies[] = {
407 	152, -1, -1, 152, -1, -1, -1, -1,
408 	-1, -1, -1, -1, -1, -1, -1, -1,
409 	-1, -1, -1, -1, -1, -1, -1, -1,
410 	-1, -1, -1, -1, -1, -1, -1, -1,
411 	-1, -1, -1, -1, -1, -1, -1, -1,
412 	-1, -1, -1, -1, -1, -1, -1, -1,
413 	-1, -1, -1, -1, -1, -1, -1, -1,
414 	-1, -1, -1, -1, -1, -1, -1, -1,
415 	-1, -1, -1, 152, 152, 152, 152, -1,
416 	-1, -1, -1, -1, -1, -1, -1, 152,
417 	152, 152, 152, -1, -1, -1, -1, -1,
418 	-1, -1, -1, -1, -1, -1, -1, 152,
419 	152, 152, 1, 0, 404, 154, -1, -1,
420 	154, -1, -1, -1, -1, -1, -1, -1,
421 	-1, -1, -1, -1, -1, -1, -1, -1,
422 	-1, -1, -1, -1, -1, -1, -1, -1,
423 	-1, -1, -1, -1, -1, -1, -1, -1,
424 	-1, -1, -1, -1, -1, -1, -1, -1,
425 	-1, -1, -1, -1, -1, -1, -1, -1,
426 	-1, -1, -1, -1, -1, -1, -1, -1,
427 	-1, -1, -1, -1, -1, -1, -1, -1,
428 	154, 154, 154, 154, -1, -1, -1, -1,
429 	-1, -1, -1, -1, 154, 154, 154, 154,
430 	-1, -1, -1, -1, -1, -1, -1, -1,
431 	-1, -1, -1, -1, 154, 154, 150, -1,
432 	-1, 2, 161, -1, -1, 151, -1, -1,
433 	-1, -1, -1, -1, -1, -1, -1, -1,
434 	-1, -1, -1, -1, -1, -1, -1, -1,
435 	-1, -1, -1, -1, -1, -1, -1, -1,
436 	-1, -1, -1, -1, -1, -1, -1, -1,
437 	-1, -1, -1, -1, -1, -1, -1, -1,
438 	-1, -1, -1, -1, -1, -1, -1, -1,
439 	-1, -1, -1, -1, -1, -1, -1, -1,
440 	-1, -1, -1, -1, -1, 4, 5, 6,
441 	7, -1, -1, -1, -1, -1, -1, -1,
442 	-1, 158, 11, 12, 13, -1, -1, -1,
443 	-1, -1, -1, -1, -1, -1, -1, -1,
444 	-1, 9, 8, -1, -1, -1, -1, 153,
445 	392, 393, 394, 395, 396, 397, 398, 399,
446 	400, 401, 402, 403, -1, 10, 3, 165,
447 	-1, -1, -1, -1, -1, -1, -1, -1,
448 	-1, -1, -1, -1, -1, -1, -1, -1,
449 	-1, -1, -1, -1, -1, -1, -1, -1,
450 	-1, -1, -1, -1, -1, -1, -1, -1,
451 	-1, -1, -1, -1, -1, -1, -1, -1,
452 	-1, -1, -1, -1, -1, -1, -1, -1,
453 	-1, -1, -1, -1, -1, -1, -1, -1,
454 	-1, -1, -1, -1, -1, -1, -1, -1,
455 	-1, -1, -1, -1, -1, -1, -1, -1,
456 	-1, -1, -1, -1, -1, -1, -1, -1,
457 	-1, -1, -1, -1, -1, -1, -1, -1,
458 	-1, -1, -1, -1, -1, -1, -1, -1,
459 	-1, -1, -1, -1, -1, -1, -1, -1,
460 	-1, -1, -1, -1, -1, -1, -1, -1,
461 	-1, -1, -1, -1, 26, 14, 15, 17,
462 	-1, -1, -1, -1, -1, -1, -1, -1,
463 	-1, -1, -1, -1, -1, -1, -1, -1,
464 	-1, -1, -1, -1, -1, -1, -1, -1,
465 	-1, -1, -1, -1, -1, -1, -1, -1,
466 	-1, -1, -1, -1, -1, -1, -1, -1,
467 	-1, -1, -1, -1, -1, -1, -1, -1,
468 	-1, -1, -1, -1, -1, -1, -1, -1,
469 	-1, -1, -1, -1, -1, -1, -1, -1,
470 	-1, -1, -1, -1, -1, -1, -1, -1,
471 	-1, -1, -1, -1, -1, -1, -1, -1,
472 	-1, -1, -1, -1, -1, -1, 326, 328,
473 	-1, -1, -1, -1, -1, -1, -1, -1,
474 	-1, -1, -1, -1, -1, -1, -1, -1,
475 	-1, -1, -1, -1, -1, -1, -1, -1,
476 	-1, -1, -1, -1, -1, -1, -1, -1,
477 	-1, -1, -1, -1, -1, -1, -1, -1,
478 	-1, -1, -1, -1, -1, -1, -1, -1,
479 	-1, -1, -1, -1, -1, -1, -1, -1,
480 	-1, -1, -1, -1, -1, -1, -1, -1,
481 	-1, -1, -1, -1, -1, -1, -1, -1,
482 	-1, -1, -1, -1, -1, -1, -1, -1,
483 	-1, -1, -1, -1, -1, -1, -1, -1,
484 	-1, -1, -1, -1, -1, -1, -1, -1,
485 	-1, -1, -1, -1, -1, -1, -1, -1,
486 	-1, -1, -1, -1, -1, -1, -1, -1,
487 	-1, -1, 16, 364, 364, 364, -1, 364,
488 	-1, -1, -1, -1, -1, -1, -1, -1,
489 	-1, -1, -1, -1, -1, -1, 364, -1,
490 	-1, -1, -1, -1, -1, -1, -1, -1,
491 	-1, -1, -1, -1, -1, -1, -1, -1,
492 	-1, -1, -1, -1, -1, -1, -1, -1,
493 	-1, -1, -1, -1, -1, -1, -1, -1,
494 	-1, -1, -1, -1, -1, -1, -1, -1,
495 	-1, -1, -1, -1, -1, -1, -1, -1,
496 	-1, -1, -1, -1, -1, -1, -1, -1,
497 	-1, -1, -1, -1, -1, -1, -1, -1,
498 	-1, -1, -1, 364, -1, -1, -1, 364,
499 	364, -1, -1, -1, -1, -1, -1, -1,
500 	-1, 364, -1, -1, -1, -1, -1, -1,
501 	-1, -1, -1, -1, -1, -1, -1, -1,
502 	-1, -1, -1, -1, -1, -1, -1, -1,
503 	-1, -1, -1, -1, -1, -1, -1, -1,
504 	-1, -1, -1, -1, -1, -1, -1, -1,
505 	-1, -1, -1, -1, -1, -1, 364, 364,
506 	364, 364, -1, -1, -1, -1, -1, -1,
507 	-1, -1, -1, -1, -1, -1, -1, -1,
508 	-1, -1, -1, -1, -1, -1, -1, -1,
509 	-1, 364, 364, -1, -1, -1, 364, 364,
510 	364, -1, -1, -1, -1, -1, -1, -1,
511 	-1, -1, -1, -1, -1, -1, -1, -1,
512 	-1, -1, -1, -1, -1, -1, -1, -1,
513 	-1, -1, -1, -1, 19, 364, 364, 364,
514 	-1, 364, -1, -1, -1, -1, -1, -1,
515 	-1, -1, -1, -1, -1, -1, -1, -1,
516 	364, -1, -1, -1, -1, -1, -1, -1,
517 	-1, -1, -1, -1, -1, -1, -1, -1,
518 	-1, -1, -1, -1, -1, -1, -1, -1,
519 	-1, -1, -1, -1, -1, -1, -1, -1,
520 	-1, -1, -1, -1, -1, -1, -1, -1,
521 	-1, -1, -1, -1, -1, -1, -1, -1,
522 	-1, -1, -1, -1, -1, -1, -1, -1,
523 	-1, -1, -1, -1, -1, -1, -1, -1,
524 	-1, -1, -1, -1, -1, 364, -1, -1,
525 	-1, 364, 364, -1, -1, -1, -1, -1,
526 	-1, -1, -1, 364, -1, -1, -1, -1,
527 	-1, -1, -1, -1, -1, -1, -1, -1,
528 	-1, -1, -1, -1, -1, -1, -1, -1,
529 	-1, -1, -1, -1, -1, -1, -1, -1,
530 	-1, -1, -1, -1, -1, -1, -1, -1,
531 	-1, -1, -1, -1, -1, -1, -1, -1,
532 	364, 364, 364, 364, -1, -1, -1, -1,
533 	-1, -1, -1, -1, -1, -1, -1, -1,
534 	-1, -1, -1, -1, -1, -1, -1, -1,
535 	-1, -1, -1, 364, 364, -1, -1, -1,
536 	364, 364, 364, -1, -1, -1, -1, -1,
537 	-1, -1, -1, -1, -1, -1, -1, -1,
538 	-1, -1, -1, -1, -1, -1, -1, -1,
539 	-1, -1, -1, -1, -1, -1, 24, 174,
540 	-1, -1, -1, -1, -1, -1, -1, -1,
541 	-1, -1, -1, -1, -1, -1, -1, -1,
542 	-1, -1, -1, -1, -1, -1, -1, -1,
543 	-1, -1, -1, -1, -1, -1, -1, -1,
544 	-1, -1, -1, -1, -1, -1, -1, -1,
545 	-1, -1, -1, -1, -1, -1, -1, -1,
546 	-1, -1, -1, -1, -1, -1, -1, -1,
547 	-1, -1, 174, -1, -1, -1, -1, -1,
548 	-1, -1, -1, -1, -1, -1, -1, -1,
549 	-1, -1, -1, -1, -1, -1, -1, -1,
550 	-1, -1, -1, -1, -1, -1, -1, -1,
551 	-1, -1, -1, -1, -1, -1, -1, -1,
552 	-1, -1, -1, -1, -1, -1, -1, -1,
553 	-1, -1, -1, -1, -1, -1, -1, -1,
554 	-1, -1, -1, -1, -1, -1, -1, -1,
555 	-1, 23, 25, -1, -1, -1, -1, 159,
556 	20, 21, 22, 27, 168, -1, -1, -1,
557 	-1, -1, -1, -1, -1, -1, -1, -1,
558 	-1, -1, -1, -1, -1, -1, -1, -1,
559 	-1, -1, -1, -1, -1, -1, -1, -1,
560 	-1, -1, -1, -1, -1, -1, -1, -1,
561 	-1, -1, -1, -1, -1, -1, -1, -1,
562 	-1, -1, -1, -1, -1, -1, -1, -1,
563 	-1, -1, -1, -1, -1, -1, -1, -1,
564 	-1, -1, -1, -1, -1, -1, -1, -1,
565 	-1, 28, 17, -1, -1, -1, -1, -1,
566 	-1, -1, -1, -1, -1, -1, -1, -1,
567 	-1, -1, -1, -1, -1, -1, -1, -1,
568 	-1, -1, -1, -1, -1, -1, -1, -1,
569 	-1, -1, -1, -1, -1, -1, -1, -1,
570 	-1, -1, -1, -1, -1, -1, -1, -1,
571 	-1, -1, -1, -1, -1, -1, -1, -1,
572 	-1, -1, -1, -1, -1, -1, -1, -1,
573 	-1, -1, -1, -1, -1, -1, -1, -1,
574 	-1, -1, -1, -1, -1, -1, -1, -1,
575 	-1, -1, -1, -1, -1, -1, -1, -1,
576 	-1, 326, 328, -1, -1, -1, -1, -1,
577 	-1, -1, -1, -1, -1, -1, -1, -1,
578 	-1, -1, -1, -1, -1, -1, -1, -1,
579 	-1, -1, -1, -1, -1, -1, -1, -1,
580 	-1, -1, -1, -1, -1, -1, -1, -1,
581 	-1, -1, -1, -1, -1, -1, -1, -1,
582 	-1, -1, -1, -1, -1, -1, -1, -1,
583 	-1, -1, -1, -1, -1, -1, -1, -1,
584 	-1, -1, -1, -1, -1, -1, -1, -1,
585 	-1, -1, -1, -1, -1, -1, -1, -1,
586 	-1, -1, -1, -1, -1, -1, -1, -1,
587 	-1, -1, -1, -1, -1, -1, -1, -1,
588 	-1, -1, -1, -1, -1, -1, -1, -1,
589 	-1, -1, -1, -1, -1, -1, -1, -1,
590 	-1, -1, -1, -1, -1, 29, 327, 376,
591 	377, 378, -1, 375, -1, -1, -1, -1,
592 	-1, -1, -1, -1, -1, -1, -1, -1,
593 	-1, -1, 170, -1, -1, -1, -1, -1,
594 	-1, -1, -1, -1, -1, -1, -1, -1,
595 	-1, -1, -1, -1, -1, -1, -1, -1,
596 	-1, -1, -1, -1, -1, -1, -1, -1,
597 	-1, -1, -1, -1, -1, -1, -1, -1,
598 	-1, -1, -1, -1, -1, -1, -1, -1,
599 	-1, -1, -1, -1, -1, -1, -1, -1,
600 	-1, -1, -1, -1, -1, -1, -1, -1,
601 	-1, -1, -1, -1, -1, -1, -1, 374,
602 	-1, -1, -1, 372, 373, -1, -1, -1,
603 	-1, -1, -1, -1, -1, 379, -1, -1,
604 	-1, -1, -1, -1, -1, -1, -1, -1,
605 	-1, -1, -1, -1, -1, -1, -1, -1,
606 	-1, -1, -1, -1, -1, -1, -1, -1,
607 	-1, -1, -1, -1, -1, -1, -1, -1,
608 	-1, -1, -1, -1, -1, -1, -1, -1,
609 	-1, -1, 368, 369, 370, 371, -1, -1,
610 	-1, -1, -1, -1, -1, -1, -1, -1,
611 	-1, -1, -1, -1, -1, -1, -1, -1,
612 	-1, -1, -1, -1, -1, 380, 381, -1,
613 	-1, -1, 382, 383, 30, -1, -1, -1,
614 	-1, -1, -1, -1, -1, -1, -1, -1,
615 	-1, -1, -1, -1, -1, -1, -1, -1,
616 	-1, -1, -1, -1, -1, -1, -1, -1,
617 	-1, -1, -1, -1, -1, -1, -1, -1,
618 	-1, -1, -1, -1, -1, -1, -1, -1,
619 	-1, -1, -1, -1, -1, -1, -1, -1,
620 	-1, -1, -1, -1, -1, -1, -1, -1,
621 	-1, -1, -1, -1, -1, -1, 365, -1,
622 	367, -1, 363, 366, 342, 342, 342, -1,
623 	342, -1, -1, -1, -1, -1, -1, -1,
624 	-1, -1, -1, -1, -1, -1, -1, 342,
625 	-1, -1, -1, -1, -1, -1, -1, -1,
626 	-1, -1, -1, -1, -1, -1, -1, -1,
627 	-1, -1, -1, -1, -1, -1, -1, -1,
628 	-1, -1, -1, -1, -1, -1, -1, -1,
629 	-1, -1, -1, -1, -1, -1, -1, -1,
630 	-1, -1, -1, -1, -1, -1, -1, -1,
631 	-1, -1, -1, -1, -1, -1, -1, -1,
632 	-1, -1, -1, -1, -1, -1, -1, -1,
633 	-1, 342, -1, -1, 342, -1, -1, -1,
634 	342, 342, -1, -1, -1, -1, -1, -1,
635 	-1, -1, 342, -1, -1, -1, -1, -1,
636 	-1, -1, -1, -1, -1, -1, -1, -1,
637 	-1, -1, -1, -1, -1, -1, -1, -1,
638 	-1, -1, -1, -1, -1, -1, -1, -1,
639 	-1, -1, -1, -1, -1, -1, -1, -1,
640 	-1, -1, -1, -1, -1, -1, -1, 342,
641 	342, 342, 342, -1, -1, -1, -1, -1,
642 	-1, -1, -1, -1, -1, -1, -1, -1,
643 	-1, -1, -1, -1, -1, -1, -1, 342,
644 	342, 342, 342, 342, 342, 342, 342, 342,
645 	342, 342, 342, -1, -1, -1, -1, -1,
646 	-1, -1, -1, -1, -1, -1, -1, -1,
647 	-1, -1, -1, -1, -1, -1, 31, 342,
648 	342, 342, -1, 342, -1, -1, -1, -1,
649 	-1, -1, -1, -1, -1, -1, -1, -1,
650 	-1, -1, 342, -1, -1, -1, -1, -1,
651 	-1, -1, -1, -1, -1, -1, -1, -1,
652 	-1, -1, -1, -1, -1, -1, -1, -1,
653 	-1, -1, -1, -1, -1, -1, -1, -1,
654 	-1, -1, -1, -1, -1, -1, -1, -1,
655 	-1, -1, -1, -1, -1, -1, -1, -1,
656 	-1, -1, -1, -1, -1, -1, -1, -1,
657 	-1, -1, -1, -1, -1, -1, -1, -1,
658 	-1, -1, -1, -1, 342, -1, -1, 342,
659 	-1, -1, -1, 342, 342, -1, -1, -1,
660 	-1, -1, -1, -1, -1, 342, -1, -1,
661 	-1, -1, -1, -1, -1, -1, -1, -1,
662 	-1, -1, -1, -1, -1, -1, -1, -1,
663 	-1, -1, -1, -1, -1, -1, -1, -1,
664 	-1, -1, -1, -1, -1, -1, -1, -1,
665 	-1, -1, -1, -1, -1, -1, -1, -1,
666 	-1, -1, 342, 342, 342, 342, -1, -1,
667 	-1, -1, -1, -1, -1, -1, -1, -1,
668 	-1, -1, -1, -1, -1, -1, -1, -1,
669 	-1, -1, 342, 342, 342, 342, 342, 342,
670 	342, 342, 342, 342, 342, 342, -1, -1,
671 	-1, -1, -1, -1, -1, -1, -1, -1,
672 	-1, -1, -1, -1, -1, -1, -1, -1,
673 	-1, 32, 155, 33, -1, -1, -1, -1,
674 	-1, -1, -1, -1, -1, -1, -1, -1,
675 	-1, -1, -1, -1, -1, -1, -1, -1,
676 	-1, -1, -1, -1, -1, -1, -1, -1,
677 	-1, -1, -1, -1, -1, -1, -1, -1,
678 	-1, -1, -1, -1, -1, -1, -1, -1,
679 	-1, -1, -1, -1, -1, -1, -1, -1,
680 	-1, -1, -1, -1, -1, -1, 173, 376,
681 	377, 378, -1, 375, -1, -1, -1, -1,
682 	-1, -1, -1, -1, -1, -1, -1, -1,
683 	-1, -1, 171, -1, -1, -1, -1, -1,
684 	-1, -1, -1, -1, -1, -1, -1, -1,
685 	-1, -1, -1, -1, -1, -1, -1, -1,
686 	-1, -1, -1, -1, -1, -1, -1, -1,
687 	-1, -1, -1, -1, -1, -1, -1, -1,
688 	-1, -1, -1, -1, -1, -1, -1, -1,
689 	-1, -1, -1, -1, -1, -1, -1, -1,
690 	-1, -1, -1, -1, -1, -1, -1, -1,
691 	-1, -1, -1, -1, -1, -1, -1, 374,
692 	-1, -1, -1, 372, 373, -1, -1, -1,
693 	-1, -1, -1, -1, -1, 379, -1, -1,
694 	-1, -1, -1, -1, -1, -1, -1, -1,
695 	-1, -1, -1, -1, -1, -1, -1, -1,
696 	-1, -1, -1, -1, -1, -1, -1, -1,
697 	-1, -1, -1, -1, -1, -1, -1, -1,
698 	-1, -1, -1, -1, -1, -1, -1, -1,
699 	-1, -1, 368, 369, 370, 371, -1, -1,
700 	-1, -1, -1, -1, -1, -1, -1, -1,
701 	-1, -1, -1, -1, -1, -1, -1, -1,
702 	-1, -1, -1, -1, -1, 380, 381, -1,
703 	-1, -1, 382, 383, 30, -1, -1, -1,
704 	-1, -1, -1, -1, -1, -1, -1, -1,
705 	-1, -1, -1, -1, -1, -1, -1, -1,
706 	-1, -1, -1, -1, -1, -1, -1, -1,
707 	-1, -1, -1, -1, -1, -1, -1, -1,
708 	-1, -1, -1, -1, -1, -1, -1, -1,
709 	-1, -1, -1, -1, -1, -1, -1, -1,
710 	-1, -1, -1, -1, -1, -1, -1, -1,
711 	-1, -1, -1, -1, -1, -1, 365, -1,
712 	367, -1, 363, 366, 154, -1, -1, 154,
713 	-1, -1, -1, -1, -1, -1, -1, -1,
714 	-1, -1, -1, -1, -1, -1, -1, -1,
715 	-1, -1, -1, -1, -1, -1, -1, -1,
716 	-1, -1, -1, -1, -1, -1, -1, -1,
717 	-1, -1, -1, -1, -1, -1, -1, -1,
718 	-1, -1, -1, -1, -1, -1, -1, -1,
719 	-1, -1, -1, -1, -1, -1, -1, -1,
720 	-1, -1, -1, -1, -1, -1, -1, -1,
721 	-1, -1, 154, 154, 154, 154, -1, -1,
722 	-1, -1, -1, -1, -1, -1, 154, 154,
723 	154, 154, -1, -1, -1, -1, -1, -1,
724 	-1, -1, -1, -1, -1, -1, 154, 154,
725 	-1, -1, -1, 34, 35, -1, -1, -1,
726 	-1, -1, -1, -1, -1, -1, -1, -1,
727 	-1, -1, -1, -1, -1, -1, -1, -1,
728 	-1, -1, -1, -1, -1, -1, -1, -1,
729 	-1, -1, -1, -1, -1, -1, -1, -1,
730 	-1, -1, -1, -1, -1, -1, -1, -1,
731 	-1, -1, -1, -1, -1, -1, -1, -1,
732 	-1, -1, -1, -1, -1, -1, -1, -1,
733 	-1, -1, -1, -1, -1, -1, -1, -1,
734 	-1, -1, -1, -1, -1, -1, -1, -1,
735 	-1, -1, -1, -1, 36, 342, 342, 342,
736 	-1, 342, -1, -1, -1, -1, -1, -1,
737 	-1, -1, -1, -1, -1, -1, -1, -1,
738 	342, -1, -1, -1, -1, -1, -1, -1,
739 	-1, -1, -1, -1, -1, -1, -1, -1,
740 	-1, -1, -1, -1, -1, -1, -1, -1,
741 	-1, -1, -1, -1, -1, -1, -1, -1,
742 	-1, -1, -1, -1, -1, -1, -1, -1,
743 	-1, -1, -1, -1, -1, -1, -1, -1,
744 	-1, -1, -1, -1, -1, -1, -1, -1,
745 	-1, -1, -1, -1, -1, -1, -1, -1,
746 	-1, -1, 342, -1, -1, 342, -1, -1,
747 	-1, 342, 342, -1, -1, -1, -1, -1,
748 	-1, -1, -1, 342, -1, -1, -1, -1,
749 	-1, -1, -1, -1, -1, -1, -1, -1,
750 	-1, -1, -1, -1, -1, -1, -1, -1,
751 	-1, -1, -1, -1, -1, -1, -1, -1,
752 	-1, -1, -1, -1, -1, -1, -1, -1,
753 	-1, -1, -1, -1, -1, -1, -1, -1,
754 	342, 342, 342, 342, -1, -1, -1, -1,
755 	-1, -1, -1, -1, -1, -1, -1, -1,
756 	-1, -1, -1, -1, -1, -1, -1, -1,
757 	342, 342, 342, 342, 342, 342, 342, 342,
758 	342, 342, 342, 342, -1, -1, -1, -1,
759 	-1, -1, -1, -1, -1, -1, -1, -1,
760 	-1, -1, -1, -1, -1, -1, -1, 37,
761 	167, 169, 38, 348, 349, 350, -1, 346,
762 	-1, -1, -1, -1, -1, -1, -1, -1,
763 	-1, -1, -1, -1, -1, -1, 347, -1,
764 	-1, -1, -1, -1, -1, -1, -1, -1,
765 	-1, -1, -1, -1, -1, -1, -1, -1,
766 	-1, -1, -1, -1, -1, -1, -1, -1,
767 	-1, -1, -1, -1, -1, -1, -1, -1,
768 	-1, -1, -1, -1, -1, -1, -1, -1,
769 	-1, -1, -1, -1, -1, -1, -1, -1,
770 	-1, -1, -1, -1, -1, -1, -1, -1,
771 	-1, -1, -1, -1, -1, -1, -1, -1,
772 	156, -1, -1, 374, -1, -1, -1, 372,
773 	373, -1, -1, -1, -1, -1, -1, -1,
774 	-1, 351, -1, -1, -1, -1, -1, -1,
775 	-1, -1, -1, -1, -1, -1, -1, -1,
776 	-1, -1, -1, -1, -1, -1, -1, -1,
777 	-1, -1, -1, -1, -1, -1, -1, -1,
778 	-1, -1, -1, -1, -1, -1, -1, -1,
779 	-1, -1, -1, -1, -1, -1, 368, 369,
780 	370, 371, -1, -1, -1, -1, -1, -1,
781 	-1, -1, -1, -1, -1, -1, -1, -1,
782 	-1, -1, -1, -1, -1, -1, 45, 40,
783 	39, 380, 381, 41, 43, 44, 382, 383,
784 	30, 42, -1, -1, -1, -1, -1, -1,
785 	-1, -1, -1, -1, -1, -1, -1, -1,
786 	-1, -1, -1, -1, -1, -1, -1, -1,
787 	-1, -1, -1, -1, -1, -1, -1, -1,
788 	-1, -1, -1, -1, -1, -1, -1, -1,
789 	-1, -1, -1, -1, -1, -1, -1, -1,
790 	-1, -1, -1, -1, -1, -1, -1, -1,
791 	-1, -1, -1, -1, -1, -1, -1, -1,
792 	341, 345, 343, 344, 352, 348, 349, 350,
793 	-1, 346, -1, -1, -1, -1, -1, -1,
794 	-1, -1, -1, -1, -1, -1, -1, -1,
795 	347, -1, -1, -1, -1, -1, -1, -1,
796 	-1, -1, -1, -1, -1, -1, -1, -1,
797 	-1, -1, -1, -1, -1, -1, -1, -1,
798 	-1, -1, -1, -1, -1, -1, -1, -1,
799 	-1, -1, -1, -1, -1, -1, -1, -1,
800 	-1, -1, -1, -1, -1, -1, -1, -1,
801 	-1, -1, -1, -1, -1, -1, -1, -1,
802 	-1, -1, -1, -1, -1, -1, -1, -1,
803 	-1, -1, 157, -1, -1, 374, -1, -1,
804 	-1, 372, 373, -1, -1, -1, -1, -1,
805 	-1, -1, -1, 351, -1, -1, -1, -1,
806 	-1, -1, -1, -1, -1, -1, -1, -1,
807 	-1, -1, -1, -1, -1, -1, -1, -1,
808 	-1, -1, -1, -1, -1, -1, -1, -1,
809 	-1, -1, -1, -1, -1, -1, -1, -1,
810 	-1, -1, -1, -1, -1, -1, -1, -1,
811 	368, 369, 370, 371, -1, -1, -1, -1,
812 	-1, -1, -1, -1, -1, -1, -1, -1,
813 	-1, -1, -1, -1, -1, -1, -1, -1,
814 	45, 40, 39, 380, 381, 41, 43, 44,
815 	382, 383, 30, 42, -1, -1, -1, -1,
816 	-1, -1, -1, -1, -1, -1, -1, -1,
817 	-1, -1, -1, -1, -1, -1, -1, -1,
818 	-1, -1, -1, -1, -1, -1, -1, -1,
819 	-1, -1, -1, -1, -1, -1, -1, -1,
820 	-1, -1, -1, -1, -1, -1, -1, -1,
821 	-1, -1, -1, -1, -1, -1, -1, -1,
822 	-1, -1, -1, -1, -1, -1, -1, -1,
823 	-1, -1, 341, 345, 343, 344, 352, 364,
824 	364, 364, -1, 364, -1, -1, -1, -1,
825 	-1, -1, -1, -1, -1, -1, -1, -1,
826 	-1, -1, 364, -1, -1, -1, -1, -1,
827 	-1, -1, -1, -1, -1, -1, -1, -1,
828 	-1, -1, -1, -1, -1, -1, -1, -1,
829 	-1, -1, -1, -1, -1, -1, -1, -1,
830 	-1, -1, -1, -1, -1, -1, -1, -1,
831 	-1, -1, -1, -1, -1, -1, -1, -1,
832 	-1, -1, -1, -1, -1, -1, -1, -1,
833 	-1, -1, -1, -1, -1, -1, -1, -1,
834 	-1, -1, -1, -1, -1, -1, -1, 364,
835 	-1, -1, -1, 364, 364, -1, -1, -1,
836 	-1, -1, -1, -1, -1, 364, -1, -1,
837 	-1, -1, -1, -1, -1, -1, -1, -1,
838 	-1, -1, -1, -1, -1, -1, -1, -1,
839 	-1, -1, -1, -1, -1, -1, -1, -1,
840 	-1, -1, -1, -1, -1, -1, -1, -1,
841 	-1, -1, -1, -1, -1, -1, -1, -1,
842 	-1, -1, 364, 364, 364, 364, -1, -1,
843 	-1, -1, -1, -1, -1, -1, -1, -1,
844 	-1, -1, -1, -1, -1, -1, -1, -1,
845 	-1, -1, -1, -1, -1, 364, 364, -1,
846 	-1, -1, 364, 364, 364, -1, -1, -1,
847 	-1, -1, -1, -1, -1, -1, -1, -1,
848 	-1, -1, -1, -1, -1, -1, -1, -1,
849 	-1, -1, -1, -1, -1, -1, -1, -1,
850 	46, 162, -1, -1, 161, -1, -1, -1,
851 	-1, -1, -1, -1, -1, -1, -1, -1,
852 	-1, -1, -1, -1, -1, -1, -1, -1,
853 	-1, -1, -1, -1, -1, -1, -1, -1,
854 	-1, -1, -1, -1, -1, -1, -1, -1,
855 	-1, -1, -1, -1, -1, -1, -1, -1,
856 	-1, -1, -1, -1, -1, -1, -1, -1,
857 	-1, -1, -1, -1, -1, -1, -1, -1,
858 	-1, -1, -1, -1, -1, -1, -1, 4,
859 	5, 6, 7, -1, -1, -1, -1, -1,
860 	-1, -1, -1, 158, 11, 12, 13, -1,
861 	-1, -1, -1, -1, -1, -1, -1, -1,
862 	-1, -1, -1, 9, 8, -1, -1, -1,
863 	-1, 153, 392, 393, 394, 395, 396, 397,
864 	398, 399, 400, 401, 402, 403, -1, 10,
865 	3, 55, -1, -1, -1, -1, -1, -1,
866 	63, -1, -1, -1, -1, 17, -1, -1,
867 	-1, -1, -1, -1, -1, -1, -1, -1,
868 	-1, -1, -1, -1, -1, -1, -1, -1,
869 	-1, -1, -1, -1, -1, -1, -1, -1,
870 	-1, -1, -1, -1, -1, -1, -1, -1,
871 	-1, -1, -1, -1, -1, -1, -1, -1,
872 	-1, -1, -1, -1, -1, -1, 56, -1,
873 	-1, -1, -1, -1, -1, -1, -1, -1,
874 	-1, -1, -1, -1, -1, -1, -1, -1,
875 	-1, -1, -1, -1, -1, -1, -1, -1,
876 	-1, -1, -1, -1, -1, -1, -1, -1,
877 	50, 57, -1, -1, 326, 328, -1, -1,
878 	-1, -1, -1, -1, -1, -1, -1, -1,
879 	-1, -1, -1, -1, -1, -1, -1, -1,
880 	-1, -1, -1, -1, -1, -1, -1, -1,
881 	-1, -1, -1, -1, -1, -1, -1, -1,
882 	-1, -1, -1, -1, -1, -1, -1, -1,
883 	-1, -1, -1, 61, 59, 60, -1, -1,
884 	-1, -1, -1, -1, -1, -1, -1, -1,
885 	-1, -1, -1, -1, -1, -1, -1, -1,
886 	-1, -1, -1, -1, -1, -1, -1, -1,
887 	-1, -1, -1, -1, -1, -1, -1, -1,
888 	-1, -1, -1, -1, -1, -1, -1, -1,
889 	-1, -1, -1, -1, -1, -1, -1, -1,
890 	-1, -1, -1, -1, -1, -1, -1, -1,
891 	-1, -1, -1, -1, -1, -1, 47, -1,
892 	58, -1, -1, -1, -1, -1, -1, -1,
893 	48, 191, 49, 198, 52, -1, 53, -1,
894 	-1, -1, -1, -1, -1, -1, -1, -1,
895 	-1, 54, -1, -1, -1, 308, 312, -1,
896 	-1, 62, 55, -1, -1, -1, -1, -1,
897 	-1, 63, -1, -1, -1, -1, 17, -1,
898 	-1, -1, -1, -1, -1, -1, -1, -1,
899 	-1, -1, -1, -1, -1, -1, -1, -1,
900 	-1, -1, -1, -1, -1, -1, -1, -1,
901 	-1, -1, -1, -1, -1, -1, -1, -1,
902 	-1, -1, -1, -1, -1, -1, -1, -1,
903 	-1, -1, -1, -1, -1, -1, -1, 56,
904 	-1, -1, -1, -1, -1, -1, -1, -1,
905 	-1, -1, -1, -1, -1, -1, -1, -1,
906 	-1, -1, -1, -1, -1, -1, -1, -1,
907 	-1, -1, -1, -1, -1, -1, -1, -1,
908 	-1, 50, 57, -1, -1, 326, 328, -1,
909 	-1, -1, -1, -1, -1, -1, -1, -1,
910 	66, -1, -1, -1, -1, -1, -1, -1,
911 	-1, -1, -1, -1, -1, -1, -1, -1,
912 	-1, -1, -1, -1, -1, -1, -1, -1,
913 	-1, -1, -1, -1, -1, -1, -1, -1,
914 	-1, -1, -1, -1, 61, 59, 60, -1,
915 	-1, -1, -1, -1, -1, -1, -1, -1,
916 	-1, -1, -1, -1, -1, -1, -1, -1,
917 	-1, -1, -1, -1, -1, -1, -1, -1,
918 	-1, -1, -1, -1, -1, -1, -1, -1,
919 	-1, -1, -1, -1, -1, -1, -1, -1,
920 	-1, -1, -1, -1, -1, -1, -1, -1,
921 	-1, -1, -1, -1, -1, -1, -1, -1,
922 	-1, -1, -1, -1, -1, -1, -1, 65,
923 	64, 58, -1, -1, -1, -1, -1, -1,
924 	-1, 48, 191, 49, 198, 52, -1, 53,
925 	-1, -1, -1, -1, -1, -1, -1, -1,
926 	-1, -1, 54, -1, -1, -1, 308, 312,
927 	-1, -1, 62, 348, 349, 350, -1, 346,
928 	-1, -1, -1, -1, -1, -1, -1, -1,
929 	-1, -1, -1, -1, -1, -1, 347, -1,
930 	-1, -1, -1, -1, -1, -1, -1, -1,
931 	-1, -1, -1, -1, -1, -1, -1, -1,
932 	-1, -1, -1, -1, -1, -1, -1, -1,
933 	-1, -1, -1, -1, -1, -1, -1, -1,
934 	-1, -1, -1, -1, -1, -1, -1, -1,
935 	-1, -1, -1, -1, -1, -1, -1, -1,
936 	-1, -1, -1, -1, -1, -1, -1, -1,
937 	-1, -1, -1, -1, -1, -1, -1, -1,
938 	166, -1, -1, 374, -1, -1, -1, 372,
939 	373, -1, -1, -1, -1, -1, -1, -1,
940 	-1, 351, -1, -1, -1, -1, -1, -1,
941 	-1, -1, -1, -1, -1, -1, -1, -1,
942 	-1, -1, -1, -1, -1, -1, -1, -1,
943 	-1, -1, -1, -1, -1, -1, -1, -1,
944 	-1, -1, -1, -1, -1, -1, -1, -1,
945 	-1, -1, -1, -1, -1, -1, 368, 369,
946 	370, 371, -1, -1, -1, -1, -1, -1,
947 	-1, -1, -1, -1, -1, -1, -1, -1,
948 	-1, -1, -1, -1, -1, -1, 45, 40,
949 	39, 380, 381, 41, 43, 44, 382, 383,
950 	30, 42, -1, -1, -1, -1, -1, -1,
951 	-1, -1, -1, -1, -1, -1, -1, -1,
952 	-1, -1, -1, -1, -1, -1, -1, -1,
953 	-1, -1, -1, -1, -1, -1, -1, -1,
954 	-1, -1, -1, -1, -1, -1, -1, -1,
955 	-1, -1, -1, -1, -1, -1, -1, -1,
956 	-1, -1, -1, -1, -1, -1, -1, -1,
957 	-1, -1, -1, -1, -1, -1, -1, -1,
958 	341, 345, 343, 344, 352, 389, -1, -1,
959 	-1, -1, -1, -1, -1, -1, -1, -1,
960 	-1, -1, -1, 388, -1, -1, -1, -1,
961 	-1, -1, -1, -1, -1, -1, -1, -1,
962 	-1, -1, -1, -1, -1, -1, -1, -1,
963 	-1, -1, -1, -1, -1, -1, -1, -1,
964 	-1, -1, -1, -1, -1, -1, -1, -1,
965 	-1, -1, -1, -1, -1, -1, -1, -1,
966 	-1, -1, -1, -1, -1, -1, -1, -1,
967 	-1, -1, -1, -1, -1, -1, -1, -1,
968 	-1, -1, -1, -1, -1, -1, -1, -1,
969 	-1, -1, -1, -1, -1, -1, -1, -1,
970 	-1, -1, -1, -1, -1, -1, -1, -1,
971 	-1, -1, -1, -1, -1, -1, -1, -1,
972 	-1, -1, -1, -1, -1, -1, -1, -1,
973 	-1, -1, -1, -1, -1, -1, -1, -1,
974 	-1, -1, -1, -1, -1, -1, -1, -1,
975 	-1, -1, -1, -1, -1, -1, -1, -1,
976 	-1, -1, -1, -1, -1, -1, -1, -1,
977 	-1, -1, -1, -1, -1, -1, -1, -1,
978 	-1, -1, -1, -1, -1, -1, -1, 67,
979 	-1, -1, -1, -1, 68, 353, 364, 364,
980 	364, -1, 364, -1, -1, -1, -1, -1,
981 	-1, -1, -1, -1, -1, -1, -1, -1,
982 	-1, 364, -1, -1, -1, -1, -1, -1,
983 	-1, -1, -1, -1, -1, -1, -1, -1,
984 	-1, -1, -1, -1, -1, -1, -1, -1,
985 	-1, -1, -1, -1, -1, -1, -1, -1,
986 	-1, -1, -1, -1, -1, -1, -1, -1,
987 	-1, -1, -1, -1, -1, -1, -1, -1,
988 	-1, -1, -1, -1, -1, -1, -1, -1,
989 	-1, -1, -1, -1, -1, -1, -1, -1,
990 	-1, -1, -1, -1, -1, -1, 364, -1,
991 	-1, -1, 364, 364, -1, -1, -1, -1,
992 	-1, -1, -1, -1, 364, -1, -1, -1,
993 	-1, -1, -1, -1, -1, -1, -1, -1,
994 	-1, -1, -1, -1, -1, -1, -1, -1,
995 	-1, -1, -1, -1, -1, -1, -1, -1,
996 	-1, -1, -1, -1, -1, -1, -1, -1,
997 	-1, -1, -1, -1, -1, -1, -1, -1,
998 	-1, 364, 364, 364, 364, -1, -1, -1,
999 	-1, -1, -1, -1, -1, -1, -1, -1,
1000 	-1, -1, -1, -1, -1, -1, -1, -1,
1001 	-1, -1, -1, -1, 364, 364, -1, -1,
1002 	-1, 364, 364, 364, -1, -1, -1, -1,
1003 	-1, -1, -1, -1, -1, -1, -1, -1,
1004 	-1, -1, -1, -1, -1, -1, -1, -1,
1005 	-1, -1, -1, -1, -1, -1, -1, 69,
1006 	71, -1, -1, -1, -1, -1, -1, -1,
1007 	-1, -1, -1, -1, -1, -1, -1, -1,
1008 	-1, -1, -1, -1, -1, -1, -1, -1,
1009 	-1, -1, -1, -1, -1, -1, -1, -1,
1010 	-1, -1, -1, -1, -1, -1, -1, -1,
1011 	-1, -1, -1, -1, -1, -1, -1, -1,
1012 	-1, -1, -1, -1, -1, -1, -1, -1,
1013 	-1, -1, -1, -1, -1, -1, -1, -1,
1014 	-1, -1, -1, -1, -1, -1, -1, -1,
1015 	-1, -1, -1, -1, -1, -1, -1, -1,
1016 	-1, -1, -1, -1, -1, -1, 389, -1,
1017 	-1, -1, -1, -1, -1, -1, -1, -1,
1018 	-1, -1, -1, -1, 388, -1, -1, -1,
1019 	-1, -1, -1, -1, -1, -1, -1, -1,
1020 	-1, -1, -1, -1, -1, -1, -1, -1,
1021 	-1, -1, -1, -1, -1, -1, -1, -1,
1022 	-1, -1, -1, -1, -1, -1, -1, -1,
1023 	-1, -1, -1, -1, -1, -1, -1, -1,
1024 	-1, -1, -1, -1, -1, -1, -1, -1,
1025 	-1, -1, -1, -1, -1, -1, -1, -1,
1026 	-1, -1, -1, -1, -1, -1, -1, -1,
1027 	-1, -1, -1, -1, -1, -1, -1, -1,
1028 	-1, -1, -1, -1, -1, -1, -1, -1,
1029 	-1, -1, -1, -1, -1, -1, -1, -1,
1030 	-1, -1, -1, -1, -1, -1, -1, -1,
1031 	-1, -1, -1, -1, -1, -1, -1, -1,
1032 	-1, -1, -1, -1, -1, -1, -1, -1,
1033 	-1, -1, -1, -1, -1, -1, -1, -1,
1034 	-1, -1, -1, -1, -1, -1, -1, -1,
1035 	-1, -1, -1, -1, -1, -1, -1, -1,
1036 	-1, -1, -1, -1, -1, -1, -1, -1,
1037 	70, -1, -1, -1, -1, 68, 75, -1,
1038 	-1, -1, -1, -1, -1, -1, -1, -1,
1039 	-1, -1, -1, -1, -1, -1, -1, -1,
1040 	-1, -1, -1, -1, -1, -1, -1, -1,
1041 	-1, -1, -1, -1, -1, -1, -1, -1,
1042 	-1, -1, -1, -1, -1, -1, -1, -1,
1043 	-1, -1, -1, -1, -1, -1, -1, -1,
1044 	-1, -1, -1, -1, -1, -1, -1, -1,
1045 	-1, -1, -1, -1, -1, -1, -1, -1,
1046 	-1, -1, -1, -1, -1, -1, -1, -1,
1047 	-1, -1, -1, -1, -1, -1, -1, -1,
1048 	-1, -1, -1, -1, 389, -1, -1, -1,
1049 	-1, -1, -1, -1, -1, -1, -1, -1,
1050 	-1, -1, 388, -1, -1, -1, -1, -1,
1051 	-1, -1, -1, -1, -1, -1, -1, -1,
1052 	-1, -1, -1, -1, -1, -1, -1, -1,
1053 	-1, -1, -1, -1, -1, -1, -1, -1,
1054 	-1, -1, -1, -1, -1, -1, -1, -1,
1055 	-1, -1, -1, -1, -1, -1, -1, -1,
1056 	-1, -1, -1, -1, -1, -1, -1, -1,
1057 	-1, -1, -1, -1, -1, -1, -1, -1,
1058 	-1, -1, -1, -1, -1, -1, -1, -1,
1059 	-1, -1, -1, -1, -1, -1, -1, -1,
1060 	-1, -1, -1, -1, -1, -1, -1, -1,
1061 	-1, -1, -1, -1, -1, -1, -1, -1,
1062 	-1, -1, -1, -1, -1, -1, -1, -1,
1063 	-1, -1, -1, -1, -1, -1, -1, -1,
1064 	-1, -1, -1, -1, -1, -1, -1, -1,
1065 	-1, -1, -1, -1, -1, -1, -1, -1,
1066 	-1, -1, -1, -1, -1, -1, -1, -1,
1067 	-1, -1, -1, -1, -1, -1, -1, -1,
1068 	-1, -1, -1, -1, -1, -1, 74, -1,
1069 	-1, -1, -1, 68, 73, -1, -1, -1,
1070 	-1, -1, -1, -1, -1, -1, -1, -1,
1071 	-1, -1, -1, -1, -1, -1, -1, -1,
1072 	-1, -1, -1, -1, -1, -1, -1, -1,
1073 	-1, -1, -1, -1, -1, -1, -1, -1,
1074 	-1, -1, -1, -1, -1, -1, -1, -1,
1075 	-1, -1, -1, -1, -1, -1, -1, -1,
1076 	-1, -1, -1, -1, -1, -1, -1, -1,
1077 	-1, -1, -1, -1, -1, -1, -1, -1,
1078 	-1, -1, -1, -1, -1, -1, -1, -1,
1079 	-1, -1, -1, -1, -1, -1, -1, -1,
1080 	-1, -1, 389, -1, -1, -1, -1, -1,
1081 	-1, -1, -1, -1, -1, -1, -1, -1,
1082 	388, -1, -1, -1, -1, -1, -1, -1,
1083 	-1, -1, -1, -1, -1, -1, -1, -1,
1084 	-1, -1, -1, -1, -1, -1, -1, -1,
1085 	-1, -1, -1, -1, -1, -1, -1, -1,
1086 	-1, -1, -1, -1, -1, -1, -1, -1,
1087 	-1, -1, -1, -1, -1, -1, -1, -1,
1088 	-1, -1, -1, -1, -1, -1, -1, -1,
1089 	-1, -1, -1, -1, -1, -1, -1, -1,
1090 	-1, -1, -1, -1, -1, -1, -1, -1,
1091 	-1, -1, -1, -1, -1, -1, -1, -1,
1092 	-1, -1, -1, -1, -1, -1, -1, -1,
1093 	-1, -1, -1, -1, -1, -1, -1, -1,
1094 	-1, -1, -1, -1, -1, -1, -1, -1,
1095 	-1, -1, -1, -1, -1, -1, -1, -1,
1096 	-1, -1, -1, -1, -1, -1, -1, -1,
1097 	-1, -1, -1, -1, -1, -1, -1, -1,
1098 	-1, -1, -1, -1, -1, -1, -1, -1,
1099 	-1, -1, -1, -1, -1, -1, -1, -1,
1100 	-1, -1, -1, -1, 72, -1, -1, -1,
1101 	-1, 68, 361, 362, 376, 377, 378, -1,
1102 	375, -1, -1, -1, -1, -1, -1, -1,
1103 	-1, -1, -1, -1, -1, -1, -1, 172,
1104 	-1, -1, -1, -1, -1, -1, -1, -1,
1105 	-1, -1, -1, -1, -1, -1, -1, -1,
1106 	-1, -1, -1, -1, -1, -1, -1, -1,
1107 	-1, -1, -1, -1, -1, -1, -1, -1,
1108 	-1, -1, -1, -1, -1, -1, -1, -1,
1109 	-1, -1, -1, -1, -1, -1, -1, -1,
1110 	-1, -1, -1, -1, -1, -1, -1, -1,
1111 	-1, -1, -1, -1, -1, -1, -1, -1,
1112 	-1, -1, -1, -1, 374, -1, -1, -1,
1113 	372, 373, -1, -1, -1, -1, -1, -1,
1114 	-1, -1, 379, -1, -1, -1, -1, -1,
1115 	-1, -1, -1, -1, -1, -1, -1, -1,
1116 	-1, -1, -1, -1, -1, -1, -1, -1,
1117 	-1, -1, -1, -1, -1, -1, -1, -1,
1118 	-1, -1, -1, -1, -1, -1, -1, -1,
1119 	-1, -1, -1, -1, -1, -1, -1, 368,
1120 	369, 370, 371, -1, -1, -1, -1, -1,
1121 	-1, -1, -1, -1, -1, -1, -1, -1,
1122 	-1, -1, -1, -1, -1, -1, -1, -1,
1123 	-1, -1, 380, 381, -1, -1, -1, 382,
1124 	383, 30, -1, -1, -1, -1, -1, -1,
1125 	-1, -1, -1, -1, -1, -1, -1, -1,
1126 	-1, -1, -1, -1, -1, -1, -1, -1,
1127 	-1, -1, -1, -1, -1, -1, -1, -1,
1128 	-1, -1, -1, -1, -1, -1, -1, -1,
1129 	-1, -1, -1, -1, -1, -1, -1, -1,
1130 	-1, -1, -1, -1, -1, -1, -1, -1,
1131 	-1, -1, -1, -1, -1, -1, -1, -1,
1132 	-1, -1, -1, 365, -1, 367, -1, 363,
1133 	366, 81, -1, -1, -1, -1, -1, -1,
1134 	-1, -1, -1, -1, -1, -1, -1, -1,
1135 	163, 83, -1, -1, 186, -1, -1, 186,
1136 	84, -1, -1, -1, -1, -1, -1, -1,
1137 	-1, -1, -1, -1, -1, -1, 186, -1,
1138 	-1, -1, -1, -1, -1, -1, -1, -1,
1139 	-1, -1, -1, -1, -1, -1, -1, -1,
1140 	-1, -1, -1, -1, -1, -1, -1, -1,
1141 	-1, -1, -1, -1, -1, -1, -1, -1,
1142 	-1, -1, -1, -1, -1, -1, -1, -1,
1143 	-1, -1, -1, -1, -1, -1, -1, -1,
1144 	-1, -1, -1, -1, -1, -1, -1, -1,
1145 	-1, -1, -1, -1, -1, -1, 186, 82,
1146 	-1, -1, -1, -1, -1, -1, -1, -1,
1147 	-1, -1, -1, -1, -1, -1, 186, -1,
1148 	-1, -1, -1, 85, 55, -1, -1, -1,
1149 	-1, 192, -1, 63, 192, -1, -1, 192,
1150 	18, 86, -1, -1, -1, -1, -1, -1,
1151 	-1, -1, -1, -1, -1, -1, 192, -1,
1152 	-1, -1, -1, -1, -1, -1, -1, -1,
1153 	-1, -1, -1, -1, -1, -1, -1, -1,
1154 	-1, -1, -1, -1, -1, -1, -1, -1,
1155 	-1, -1, -1, -1, -1, -1, -1, -1,
1156 	-1, 56, -1, -1, -1, -1, -1, -1,
1157 	-1, -1, -1, -1, -1, -1, -1, -1,
1158 	-1, -1, -1, -1, -1, -1, -1, -1,
1159 	-1, -1, -1, -1, -1, -1, 192, 192,
1160 	-1, -1, -1, 50, 57, -1, -1, 326,
1161 	328, -1, 87, 88, 89, -1, 192, -1,
1162 	-1, -1, -1, 192, -1, -1, -1, -1,
1163 	-1, -1, -1, -1, -1, -1, -1, -1,
1164 	-1, -1, -1, -1, -1, -1, -1, -1,
1165 	-1, -1, -1, -1, -1, -1, -1, -1,
1166 	-1, -1, -1, -1, -1, -1, 61, 59,
1167 	60, -1, -1, -1, -1, -1, -1, -1,
1168 	-1, -1, -1, -1, -1, -1, -1, -1,
1169 	-1, -1, -1, -1, -1, -1, -1, -1,
1170 	-1, -1, -1, -1, -1, -1, -1, -1,
1171 	-1, -1, -1, -1, -1, -1, -1, -1,
1172 	-1, -1, -1, -1, -1, -1, -1, -1,
1173 	-1, -1, -1, -1, -1, -1, -1, -1,
1174 	-1, -1, -1, -1, -1, -1, -1, -1,
1175 	-1, -1, -1, 58, -1, -1, -1, -1,
1176 	-1, -1, -1, -1, -1, -1, 193, 52,
1177 	-1, 53, -1, -1, -1, -1, -1, -1,
1178 	-1, -1, -1, -1, 54, -1, -1, -1,
1179 	308, 312, -1, -1, 62, 315, -1, -1,
1180 	315, 315, 315, -1, 315, 315, 315, 315,
1181 	315, 315, 315, -1, -1, -1, -1, -1,
1182 	-1, -1, -1, -1, -1, -1, 77, 315,
1183 	315, -1, 315, 315, 315, -1, -1, -1,
1184 	-1, -1, -1, -1, -1, -1, -1, -1,
1185 	-1, -1, -1, -1, -1, -1, -1, -1,
1186 	-1, -1, -1, -1, -1, -1, -1, -1,
1187 	-1, -1, 315, -1, -1, -1, -1, -1,
1188 	-1, -1, -1, -1, -1, -1, -1, -1,
1189 	-1, -1, -1, -1, -1, -1, -1, -1,
1190 	-1, -1, -1, -1, -1, -1, -1, 315,
1191 	315, -1, -1, -1, 315, 315, -1, -1,
1192 	315, 315, -1, 315, 315, 315, 315, 315,
1193 	315, -1, -1, -1, 315, 315, 315, 315,
1194 	315, 315, 315, 315, 315, 315, 315, 315,
1195 	315, 315, 315, 315, 315, 315, 315, 315,
1196 	315, 315, 315, 315, 315, 315, 315, 315,
1197 	315, 315, 315, 315, 315, 315, 315, 315,
1198 	315, 315, -1, -1, -1, -1, -1, -1,
1199 	-1, -1, -1, -1, -1, -1, -1, -1,
1200 	-1, -1, -1, 315, 315, 315, 200, -1,
1201 	-1, -1, -1, 200, -1, 200, 200, -1,
1202 	-1, 200, 200, 200, -1, -1, -1, -1,
1203 	-1, -1, -1, -1, -1, -1, -1, -1,
1204 	200, -1, -1, -1, -1, -1, -1, -1,
1205 	-1, -1, -1, -1, -1, -1, -1, -1,
1206 	-1, -1, -1, -1, -1, -1, -1, -1,
1207 	-1, -1, -1, -1, -1, -1, -1, -1,
1208 	-1, -1, -1, 200, -1, -1, -1, -1,
1209 	-1, -1, -1, -1, -1, -1, -1, -1,
1210 	-1, -1, -1, -1, -1, -1, -1, -1,
1211 	-1, -1, -1, -1, -1, -1, -1, -1,
1212 	200, 200, -1, -1, -1, 200, 200, -1,
1213 	-1, 200, 200, -1, 200, 200, 200, 90,
1214 	200, -1, -1, -1, -1, 200, -1, -1,
1215 	-1, -1, -1, -1, -1, -1, -1, -1,
1216 	-1, -1, -1, -1, -1, -1, -1, -1,
1217 	-1, -1, -1, -1, -1, -1, -1, -1,
1218 	-1, -1, -1, -1, -1, -1, -1, -1,
1219 	200, 200, 200, 202, -1, -1, 100, 99,
1220 	202, -1, 202, 202, -1, -1, 202, 202,
1221 	202, -1, -1, -1, -1, -1, -1, -1,
1222 	-1, -1, -1, -1, -1, 202, 102, -1,
1223 	101, -1, 98, -1, -1, -1, -1, -1,
1224 	-1, -1, -1, -1, -1, -1, -1, -1,
1225 	-1, -1, -1, -1, -1, -1, -1, -1,
1226 	-1, -1, -1, -1, -1, -1, -1, -1,
1227 	202, -1, -1, -1, -1, -1, -1, -1,
1228 	-1, -1, -1, -1, -1, -1, -1, -1,
1229 	-1, -1, -1, -1, -1, -1, -1, -1,
1230 	-1, -1, -1, -1, -1, 202, 202, -1,
1231 	-1, -1, 202, 202, -1, -1, 202, 202,
1232 	-1, 202, 202, 202, 202, 202, -1, -1,
1233 	-1, -1, 202, 219, 221, 223, 103, 264,
1234 	268, 270, 272, 266, 274, 276, 280, 282,
1235 	284, 278, 286, 252, 256, 258, 260, 254,
1236 	262, 228, 232, 234, 236, 230, 238, 240,
1237 	244, 246, 248, 242, 250, 202, 202, 202,
1238 	-1, -1, -1, -1, -1, -1, -1, -1,
1239 	-1, -1, -1, -1, -1, -1, -1, -1,
1240 	-1, 226, 225, 227, -1, -1, -1, -1,
1241 	-1, -1, -1, -1, -1, -1, -1, -1,
1242 	-1, -1, -1, -1, -1, -1, -1, -1,
1243 	-1, -1, -1, -1, -1, -1, -1, -1,
1244 	-1, -1, -1, -1, -1, -1, -1, -1,
1245 	-1, -1, -1, -1, -1, -1, -1, -1,
1246 	-1, -1, -1, -1, -1, -1, -1, -1,
1247 	-1, -1, -1, -1, -1, -1, -1, -1,
1248 	-1, 91, -1, -1, 92, 93, 94, 95,
1249 	96, 97, 214, -1, -1, 214, 214, 214,
1250 	-1, 214, 214, 300, 303, 214, 214, 214,
1251 	-1, -1, -1, -1, -1, -1, -1, -1,
1252 	-1, -1, -1, -1, 214, 214, -1, 214,
1253 	302, 214, -1, -1, -1, -1, -1, -1,
1254 	-1, -1, -1, -1, -1, -1, -1, -1,
1255 	-1, -1, -1, -1, -1, -1, -1, -1,
1256 	-1, -1, -1, -1, -1, -1, -1, 214,
1257 	-1, -1, -1, -1, -1, -1, -1, -1,
1258 	-1, -1, -1, -1, -1, -1, -1, -1,
1259 	-1, -1, -1, -1, -1, -1, -1, -1,
1260 	-1, -1, -1, -1, 104, 214, -1, -1,
1261 	-1, 214, 214, -1, -1, 214, 214, -1,
1262 	214, 214, 214, 214, 214, 301, -1, -1,
1263 	-1, 214, 214, 214, 214, 214, 214, 214,
1264 	214, 214, 214, 214, 214, 214, 214, 214,
1265 	214, 214, 214, 214, 214, 214, 214, 214,
1266 	214, 214, 214, 214, 214, 214, 214, 214,
1267 	214, 214, 214, 214, 214, 214, 214, -1,
1268 	-1, -1, -1, -1, -1, -1, -1, -1,
1269 	-1, -1, -1, -1, -1, -1, -1, -1,
1270 	214, 214, 214, 55, -1, -1, -1, -1,
1271 	-1, -1, 63, -1, -1, -1, -1, 17,
1272 	-1, -1, -1, -1, -1, -1, -1, -1,
1273 	-1, -1, -1, -1, -1, -1, -1, -1,
1274 	-1, -1, -1, -1, -1, -1, -1, -1,
1275 	-1, -1, -1, -1, -1, -1, -1, -1,
1276 	-1, -1, -1, -1, -1, -1, -1, -1,
1277 	-1, -1, -1, -1, -1, -1, -1, -1,
1278 	56, -1, -1, -1, -1, -1, -1, -1,
1279 	-1, -1, -1, -1, -1, -1, -1, -1,
1280 	-1, -1, -1, -1, -1, -1, -1, -1,
1281 	-1, -1, -1, -1, -1, -1, -1, -1,
1282 	-1, -1, 316, 57, -1, -1, 326, 328,
1283 	-1, -1, -1, -1, -1, -1, -1, -1,
1284 	-1, -1, -1, -1, -1, -1, -1, -1,
1285 	-1, -1, -1, -1, -1, -1, -1, -1,
1286 	-1, -1, -1, -1, -1, -1, -1, -1,
1287 	-1, -1, -1, -1, -1, -1, -1, -1,
1288 	-1, -1, -1, -1, -1, 61, 59, 60,
1289 	-1, -1, -1, -1, -1, -1, -1, -1,
1290 	-1, -1, -1, -1, -1, -1, -1, -1,
1291 	-1, -1, -1, -1, -1, -1, -1, -1,
1292 	-1, -1, -1, -1, -1, -1, -1, -1,
1293 	-1, -1, -1, -1, -1, -1, -1, -1,
1294 	-1, -1, -1, -1, -1, -1, -1, -1,
1295 	-1, -1, -1, -1, -1, -1, -1, -1,
1296 	-1, -1, -1, -1, -1, -1, -1, -1,
1297 	-1, -1, 58, -1, -1, -1, -1, -1,
1298 	-1, -1, -1, -1, -1, -1, -1, -1,
1299 	-1, -1, -1, -1, -1, -1, -1, -1,
1300 	-1, -1, -1, -1, -1, -1, -1, 310,
1301 	312, -1, -1, 62, 55, -1, -1, -1,
1302 	-1, -1, -1, 63, -1, -1, -1, -1,
1303 	17, -1, -1, -1, -1, -1, -1, -1,
1304 	-1, -1, -1, -1, -1, -1, -1, -1,
1305 	-1, -1, -1, -1, -1, -1, -1, -1,
1306 	-1, -1, -1, -1, -1, -1, -1, -1,
1307 	-1, -1, -1, -1, -1, -1, -1, -1,
1308 	-1, -1, -1, -1, -1, -1, -1, -1,
1309 	-1, 56, -1, -1, -1, -1, -1, -1,
1310 	-1, -1, -1, -1, -1, -1, -1, -1,
1311 	-1, -1, -1, -1, -1, -1, -1, -1,
1312 	-1, -1, -1, -1, -1, -1, -1, -1,
1313 	-1, -1, -1, 316, 57, -1, -1, 326,
1314 	328, -1, -1, -1, -1, -1, -1, -1,
1315 	-1, -1, -1, -1, -1, -1, -1, -1,
1316 	-1, -1, -1, -1, -1, -1, -1, -1,
1317 	-1, -1, -1, -1, -1, -1, -1, -1,
1318 	-1, -1, -1, -1, -1, -1, -1, -1,
1319 	-1, -1, -1, -1, -1, -1, 61, 59,
1320 	60, -1, -1, -1, -1, -1, -1, -1,
1321 	-1, -1, -1, -1, -1, -1, -1, -1,
1322 	-1, -1, -1, -1, -1, -1, -1, -1,
1323 	-1, -1, -1, -1, -1, -1, -1, -1,
1324 	-1, -1, -1, -1, -1, -1, -1, -1,
1325 	-1, -1, -1, -1, -1, -1, -1, -1,
1326 	-1, -1, -1, -1, -1, -1, -1, -1,
1327 	-1, -1, -1, -1, -1, -1, -1, -1,
1328 	-1, -1, -1, 58, -1, -1, -1, -1,
1329 	-1, -1, -1, -1, -1, -1, -1, -1,
1330 	-1, -1, -1, -1, -1, -1, -1, -1,
1331 	-1, -1, -1, -1, -1, -1, -1, -1,
1332 	311, 312, -1, -1, 62, 313, -1, -1,
1333 	313, 313, 313, -1, 313, 313, 313, 313,
1334 	313, 313, 313, -1, -1, -1, -1, -1,
1335 	-1, -1, -1, -1, -1, -1, -1, 313,
1336 	313, -1, 313, 313, 313, -1, -1, -1,
1337 	-1, -1, -1, -1, -1, -1, -1, -1,
1338 	-1, -1, -1, -1, -1, -1, -1, -1,
1339 	-1, -1, -1, -1, -1, -1, -1, -1,
1340 	-1, -1, 313, -1, -1, -1, -1, -1,
1341 	-1, -1, -1, -1, -1, -1, -1, -1,
1342 	-1, -1, -1, -1, -1, -1, -1, -1,
1343 	-1, -1, -1, -1, -1, -1, -1, 313,
1344 	313, -1, -1, -1, 313, 313, -1, -1,
1345 	313, 313, 322, 313, 313, 313, 313, 313,
1346 	313, -1, -1, -1, 313, 313, 313, 313,
1347 	313, 313, 313, 313, 313, 313, 313, 313,
1348 	313, 313, 313, 313, 313, 313, 313, 313,
1349 	313, 313, 313, 313, 313, 313, 313, 313,
1350 	313, 313, 313, 313, 313, 313, 313, 313,
1351 	313, 313, -1, -1, -1, -1, -1, -1,
1352 	-1, -1, -1, -1, -1, -1, -1, -1,
1353 	-1, -1, -1, 313, 313, 313, 314, -1,
1354 	-1, 314, 314, 314, -1, 314, 314, 314,
1355 	314, 314, 314, 314, -1, -1, -1, -1,
1356 	-1, -1, -1, -1, -1, -1, -1, -1,
1357 	314, 314, -1, 314, 314, 314, -1, -1,
1358 	-1, -1, -1, -1, -1, -1, -1, -1,
1359 	-1, -1, -1, -1, -1, -1, -1, -1,
1360 	-1, -1, -1, -1, -1, -1, -1, -1,
1361 	-1, -1, -1, 314, -1, -1, -1, -1,
1362 	-1, -1, -1, -1, -1, -1, -1, -1,
1363 	-1, -1, -1, -1, -1, -1, -1, -1,
1364 	-1, -1, -1, -1, -1, -1, -1, -1,
1365 	314, 314, -1, -1, -1, 314, 314, -1,
1366 	-1, 314, 314, 324, 314, 314, 314, 314,
1367 	314, 314, -1, -1, -1, 314, 314, 314,
1368 	314, 314, 314, 314, 314, 314, 314, 314,
1369 	314, 314, 314, 314, 314, 314, 314, 314,
1370 	314, 314, 314, 314, 314, 314, 314, 314,
1371 	314, 314, 314, 314, 314, 314, 314, 314,
1372 	314, 314, 314, -1, -1, -1, -1, -1,
1373 	-1, -1, -1, -1, -1, -1, -1, -1,
1374 	-1, -1, -1, -1, 314, 314, 314, 338,
1375 	-1, -1, -1, 338, -1, -1, -1, -1,
1376 	-1, -1, -1, -1, -1, -1, -1, -1,
1377 	-1, -1, -1, -1, -1, -1, -1, -1,
1378 	-1, -1, -1, -1, -1, -1, -1, -1,
1379 	-1, -1, -1, -1, -1, -1, -1, -1,
1380 	-1, -1, -1, -1, -1, -1, -1, -1,
1381 	-1, -1, -1, -1, -1, -1, -1, -1,
1382 	-1, -1, -1, -1, -1, -1, -1, -1,
1383 	-1, -1, -1, -1, -1, -1, -1, -1,
1384 	-1, -1, -1, -1, -1, -1, -1, -1,
1385 	-1, -1, -1, -1, -1, -1, -1, -1,
1386 	-1, -1, -1, -1, -1, -1, -1, -1,
1387 	79, 338, -1, -1, -1, 338, -1, -1,
1388 	-1, -1, -1, -1, -1, -1, -1, -1,
1389 	-1, -1, -1, -1, -1, -1, -1, -1,
1390 	-1, -1, -1, -1, -1, -1, -1, -1,
1391 	-1, -1, -1, -1, -1, -1, -1, -1,
1392 	-1, -1, -1, -1, -1, -1, -1, -1,
1393 	-1, -1, -1, -1, -1, -1, -1, -1,
1394 	-1, -1, -1, -1, -1, -1, -1, -1,
1395 	-1, -1, -1, -1, -1, -1, -1, -1,
1396 	-1, -1, -1, -1, -1, -1, -1, -1,
1397 	-1, -1, -1, -1, -1, -1, -1, -1,
1398 	-1, -1, -1, -1, -1, -1, -1, -1,
1399 	-1, -1, 80, 330, 330, 330, -1, 330,
1400 	-1, -1, 330, -1, -1, -1, -1, -1,
1401 	-1, -1, -1, -1, -1, -1, -1, -1,
1402 	-1, -1, -1, -1, -1, -1, -1, -1,
1403 	-1, -1, -1, -1, -1, -1, -1, -1,
1404 	-1, -1, -1, -1, -1, -1, -1, -1,
1405 	-1, -1, -1, -1, -1, -1, -1, -1,
1406 	-1, -1, -1, -1, -1, -1, -1, -1,
1407 	-1, -1, -1, -1, -1, -1, -1, -1,
1408 	-1, -1, -1, -1, -1, -1, -1, -1,
1409 	-1, -1, -1, -1, -1, -1, -1, -1,
1410 	-1, -1, -1, -1, -1, -1, -1, -1,
1411 	-1, -1, -1, -1, -1, -1, -1, -1,
1412 	78, 105, 55, -1, -1, -1, -1, -1,
1413 	-1, 63, -1, -1, -1, -1, 17, -1,
1414 	-1, -1, -1, -1, -1, -1, -1, -1,
1415 	-1, -1, -1, -1, -1, -1, -1, -1,
1416 	-1, -1, -1, -1, -1, -1, -1, -1,
1417 	-1, -1, -1, -1, -1, -1, -1, -1,
1418 	-1, -1, -1, -1, -1, -1, -1, -1,
1419 	-1, -1, -1, -1, -1, -1, -1, 56,
1420 	-1, -1, -1, -1, -1, -1, -1, -1,
1421 	-1, -1, -1, -1, -1, -1, -1, -1,
1422 	-1, -1, -1, -1, -1, -1, -1, -1,
1423 	-1, -1, -1, -1, -1, -1, -1, -1,
1424 	-1, 50, 57, -1, -1, 326, 328, -1,
1425 	-1, -1, -1, -1, -1, -1, -1, -1,
1426 	-1, -1, -1, -1, -1, -1, -1, -1,
1427 	-1, -1, -1, -1, -1, -1, -1, -1,
1428 	-1, -1, -1, -1, -1, -1, -1, -1,
1429 	-1, -1, -1, -1, -1, -1, -1, -1,
1430 	-1, -1, -1, -1, 61, 59, 60, -1,
1431 	-1, -1, -1, -1, -1, -1, -1, -1,
1432 	-1, -1, -1, -1, -1, -1, -1, -1,
1433 	-1, -1, -1, -1, -1, -1, -1, -1,
1434 	-1, -1, -1, -1, -1, -1, -1, -1,
1435 	-1, -1, -1, -1, -1, -1, -1, -1,
1436 	-1, -1, -1, -1, -1, -1, -1, -1,
1437 	-1, -1, -1, -1, -1, -1, -1, -1,
1438 	-1, -1, -1, -1, -1, -1, -1, 76,
1439 	-1, 58, -1, -1, -1, -1, -1, -1,
1440 	-1, 48, 191, 49, 198, 52, -1, 53,
1441 	-1, -1, -1, -1, -1, -1, -1, -1,
1442 	-1, -1, 54, -1, -1, -1, 308, 312,
1443 	-1, -1, 62, 164, 81, -1, -1, -1,
1444 	-1, -1, -1, -1, -1, -1, -1, -1,
1445 	-1, -1, -1, 175, 55, -1, -1, -1,
1446 	-1, -1, -1, 63, -1, -1, -1, -1,
1447 	17, -1, -1, -1, -1, -1, -1, -1,
1448 	-1, -1, -1, -1, -1, -1, -1, -1,
1449 	-1, -1, -1, -1, -1, -1, -1, -1,
1450 	-1, -1, -1, -1, -1, -1, -1, -1,
1451 	-1, -1, -1, -1, -1, -1, -1, -1,
1452 	-1, -1, -1, -1, -1, -1, -1, -1,
1453 	-1, 56, -1, -1, -1, -1, -1, -1,
1454 	-1, -1, -1, -1, -1, -1, -1, -1,
1455 	-1, -1, -1, -1, -1, -1, -1, -1,
1456 	-1, -1, -1, -1, -1, -1, -1, -1,
1457 	-1, -1, -1, 51, 57, -1, -1, 326,
1458 	328, -1, -1, -1, -1, -1, -1, -1,
1459 	-1, -1, -1, -1, -1, -1, -1, -1,
1460 	-1, -1, -1, -1, -1, -1, -1, -1,
1461 	-1, -1, -1, -1, -1, -1, -1, -1,
1462 	-1, -1, -1, -1, -1, -1, -1, -1,
1463 	-1, -1, -1, -1, -1, -1, 61, 59,
1464 	60, -1, -1, -1, -1, -1, -1, -1,
1465 	-1, -1, -1, -1, -1, -1, 4, -1,
1466 	-1, -1, -1, -1, -1, -1, -1, -1,
1467 	-1, -1, 158, -1, -1, -1, -1, -1,
1468 	-1, -1, -1, -1, -1, -1, -1, -1,
1469 	-1, -1, -1, -1, -1, -1, -1, -1,
1470 	-1, 180, -1, 179, -1, -1, -1, -1,
1471 	-1, -1, -1, -1, -1, -1, 160, 108,
1472 	-1, 107, -1, 58, -1, -1, 106, 178,
1473 	-1, -1, -1, 48, 191, 49, 198, 52,
1474 	-1, 53, -1, -1, -1, -1, -1, -1,
1475 	-1, -1, -1, -1, 54, -1, -1, -1,
1476 	308, 312, -1, -1, 62, 384, 391, -1,
1477 	-1, -1, -1, -1, -1, -1, -1, -1,
1478 	-1, -1, -1, -1, -1, -1, -1, -1,
1479 	-1, -1, -1, -1, -1, -1, -1, -1,
1480 	-1, -1, -1, -1, -1, -1, -1, -1,
1481 	-1, -1, -1, -1, -1, -1, -1, -1,
1482 	-1, -1, -1, -1, -1, -1, -1, -1,
1483 	-1, -1, -1, -1, -1, -1, -1, -1,
1484 	-1, -1, -1, -1, -1, -1, -1, -1,
1485 	-1, -1, -1, -1, -1, -1, -1, -1,
1486 	-1, -1, -1, -1, -1, -1, -1, -1,
1487 	-1, -1, -1, -1, -1, -1, -1, -1,
1488 	-1, -1, -1, -1, -1, -1, -1, -1,
1489 	-1, -1, -1, -1, -1, -1, -1, -1,
1490 	-1, -1, -1, -1, -1, -1, -1, -1,
1491 	-1, -1, -1, -1, -1, -1, -1, -1,
1492 	-1, -1, -1, -1, -1, -1, -1, -1,
1493 	-1, -1, -1, -1, -1, -1, -1, -1,
1494 	-1, -1, -1, -1, -1, -1, -1, -1,
1495 	-1, -1, -1, -1, -1, -1, -1, -1,
1496 	-1, -1, -1, -1, -1, -1, -1, -1,
1497 	-1, -1, -1, -1, 109, 376, 377, 378,
1498 	-1, 375, -1, -1, -1, -1, -1, -1,
1499 	-1, -1, -1, -1, -1, -1, -1, -1,
1500 	354, -1, -1, -1, -1, -1, -1, -1,
1501 	-1, -1, -1, -1, -1, -1, -1, -1,
1502 	-1, -1, -1, -1, -1, -1, -1, -1,
1503 	-1, -1, -1, -1, -1, -1, -1, -1,
1504 	-1, -1, -1, -1, -1, -1, -1, -1,
1505 	-1, -1, -1, -1, -1, -1, -1, -1,
1506 	-1, -1, -1, -1, -1, -1, -1, -1,
1507 	-1, -1, -1, -1, -1, -1, -1, -1,
1508 	-1, -1, -1, -1, -1, 374, -1, -1,
1509 	-1, 372, 373, -1, -1, -1, -1, -1,
1510 	-1, -1, -1, 379, -1, -1, -1, -1,
1511 	-1, -1, -1, -1, -1, -1, -1, -1,
1512 	-1, -1, -1, -1, -1, -1, -1, -1,
1513 	-1, -1, -1, -1, -1, -1, -1, -1,
1514 	-1, -1, -1, -1, -1, -1, -1, -1,
1515 	-1, -1, -1, -1, -1, -1, -1, -1,
1516 	368, 369, 370, 371, -1, -1, -1, -1,
1517 	-1, -1, -1, -1, -1, -1, -1, -1,
1518 	-1, -1, -1, -1, -1, -1, -1, -1,
1519 	-1, -1, -1, 380, 381, -1, -1, -1,
1520 	382, 383, 30, -1, -1, -1, -1, -1,
1521 	-1, -1, -1, -1, -1, -1, -1, -1,
1522 	-1, -1, -1, -1, -1, -1, -1, -1,
1523 	-1, -1, -1, -1, -1, -1, -1, -1,
1524 	-1, -1, -1, -1, -1, -1, -1, -1,
1525 	-1, -1, -1, -1, -1, -1, -1, -1,
1526 	-1, -1, -1, -1, -1, -1, -1, -1,
1527 	-1, -1, -1, -1, -1, -1, -1, -1,
1528 	-1, -1, -1, -1, 365, -1, 367, -1,
1529 	363, 366, 355, 364, 364, 364, -1, 364,
1530 	-1, -1, -1, -1, -1, -1, -1, -1,
1531 	-1, -1, -1, -1, -1, -1, 364, -1,
1532 	-1, -1, -1, -1, -1, -1, -1, -1,
1533 	-1, -1, -1, -1, -1, -1, -1, -1,
1534 	-1, -1, -1, -1, -1, -1, -1, -1,
1535 	-1, -1, -1, -1, -1, -1, -1, -1,
1536 	-1, -1, -1, -1, -1, -1, -1, -1,
1537 	-1, -1, -1, -1, -1, -1, -1, -1,
1538 	-1, -1, -1, -1, -1, -1, -1, -1,
1539 	-1, -1, -1, -1, -1, -1, -1, -1,
1540 	-1, -1, -1, 364, -1, -1, -1, 364,
1541 	364, -1, -1, -1, -1, -1, -1, -1,
1542 	-1, 364, -1, -1, -1, -1, -1, -1,
1543 	-1, -1, -1, -1, -1, -1, -1, -1,
1544 	-1, -1, -1, -1, -1, -1, -1, -1,
1545 	-1, -1, -1, -1, -1, -1, -1, -1,
1546 	-1, -1, -1, -1, -1, -1, -1, -1,
1547 	-1, -1, -1, -1, -1, -1, 364, 364,
1548 	364, 364, -1, -1, -1, -1, -1, -1,
1549 	-1, -1, -1, -1, -1, -1, -1, -1,
1550 	-1, -1, -1, -1, -1, -1, -1, -1,
1551 	-1, 364, 364, -1, -1, -1, 364, 364,
1552 	364, -1, -1, -1, -1, -1, -1, -1,
1553 	-1, -1, -1, -1, -1, -1, -1, -1,
1554 	-1, -1, -1, -1, -1, -1, -1, -1,
1555 	-1, -1, -1, -1, 110, 359, 364, 364,
1556 	364, -1, 364, -1, -1, -1, -1, -1,
1557 	-1, -1, -1, -1, -1, -1, -1, -1,
1558 	-1, 364, -1, -1, -1, -1, -1, -1,
1559 	-1, -1, -1, -1, -1, -1, -1, -1,
1560 	-1, -1, -1, -1, -1, -1, -1, -1,
1561 	-1, -1, -1, -1, -1, -1, -1, -1,
1562 	-1, -1, -1, -1, -1, -1, -1, -1,
1563 	-1, -1, -1, -1, -1, -1, -1, -1,
1564 	-1, -1, -1, -1, -1, -1, -1, -1,
1565 	-1, -1, -1, -1, -1, -1, -1, -1,
1566 	-1, -1, -1, -1, -1, -1, 364, -1,
1567 	-1, -1, 364, 364, -1, -1, -1, -1,
1568 	-1, -1, -1, -1, 364, -1, -1, -1,
1569 	-1, -1, -1, -1, -1, -1, -1, -1,
1570 	-1, -1, -1, -1, -1, -1, -1, -1,
1571 	-1, -1, -1, -1, -1, -1, -1, -1,
1572 	-1, -1, -1, -1, -1, -1, -1, -1,
1573 	-1, -1, -1, -1, -1, -1, -1, -1,
1574 	-1, 364, 364, 364, 364, -1, -1, -1,
1575 	-1, -1, -1, -1, -1, -1, -1, -1,
1576 	-1, -1, -1, -1, -1, -1, -1, -1,
1577 	-1, -1, -1, -1, 364, 364, -1, -1,
1578 	-1, 364, 364, 364, -1, -1, -1, -1,
1579 	-1, -1, -1, -1, -1, -1, -1, -1,
1580 	-1, -1, -1, -1, -1, -1, -1, -1,
1581 	-1, -1, -1, -1, -1, -1, -1, 111,
1582 	357, 364, 364, 364, -1, 364, -1, -1,
1583 	-1, -1, -1, -1, -1, -1, -1, -1,
1584 	-1, -1, -1, -1, 364, -1, -1, -1,
1585 	-1, -1, -1, -1, -1, -1, -1, -1,
1586 	-1, -1, -1, -1, -1, -1, -1, -1,
1587 	-1, -1, -1, -1, -1, -1, -1, -1,
1588 	-1, -1, -1, -1, -1, -1, -1, -1,
1589 	-1, -1, -1, -1, -1, -1, -1, -1,
1590 	-1, -1, -1, -1, -1, -1, -1, -1,
1591 	-1, -1, -1, -1, -1, -1, -1, -1,
1592 	-1, -1, -1, -1, -1, -1, -1, -1,
1593 	-1, 364, -1, -1, -1, 364, 364, -1,
1594 	-1, -1, -1, -1, -1, -1, -1, 364,
1595 	-1, -1, -1, -1, -1, -1, -1, -1,
1596 	-1, -1, -1, -1, -1, -1, -1, -1,
1597 	-1, -1, -1, -1, -1, -1, -1, -1,
1598 	-1, -1, -1, -1, -1, -1, -1, -1,
1599 	-1, -1, -1, -1, -1, -1, -1, -1,
1600 	-1, -1, -1, -1, 364, 364, 364, 364,
1601 	-1, -1, -1, -1, -1, -1, -1, -1,
1602 	-1, -1, -1, -1, -1, -1, -1, -1,
1603 	-1, -1, -1, -1, -1, -1, -1, 364,
1604 	364, -1, -1, -1, 364, 364, 364, -1,
1605 	-1, -1, -1, -1, -1, -1, -1, -1,
1606 	-1, -1, -1, -1, -1, -1, -1, -1,
1607 	-1, -1, -1, -1, -1, -1, -1, -1,
1608 	-1, -1, 112, 321, -1, -1, 81, 55,
1609 	-1, -1, -1, -1, -1, -1, 63, -1,
1610 	-1, -1, -1, 17, -1, -1, -1, -1,
1611 	-1, -1, -1, -1, -1, -1, -1, -1,
1612 	-1, -1, -1, -1, -1, -1, -1, -1,
1613 	-1, -1, -1, -1, -1, -1, -1, -1,
1614 	-1, -1, -1, -1, -1, -1, -1, -1,
1615 	-1, -1, -1, -1, -1, -1, -1, -1,
1616 	-1, -1, -1, -1, 56, -1, -1, -1,
1617 	-1, -1, -1, -1, -1, -1, -1, -1,
1618 	-1, -1, -1, -1, -1, -1, -1, -1,
1619 	-1, -1, -1, -1, -1, -1, -1, -1,
1620 	-1, -1, -1, -1, -1, -1, 50, 57,
1621 	-1, -1, 326, 328, -1, -1, -1, -1,
1622 	-1, -1, -1, -1, -1, -1, -1, -1,
1623 	-1, -1, -1, -1, -1, -1, -1, -1,
1624 	-1, -1, -1, -1, -1, -1, -1, -1,
1625 	-1, -1, -1, -1, -1, -1, -1, -1,
1626 	-1, -1, -1, -1, -1, -1, -1, -1,
1627 	-1, 61, 59, 60, -1, -1, -1, -1,
1628 	-1, -1, -1, -1, -1, -1, -1, -1,
1629 	-1, -1, -1, -1, -1, -1, -1, -1,
1630 	-1, -1, -1, -1, -1, -1, -1, -1,
1631 	-1, -1, -1, -1, -1, -1, -1, -1,
1632 	-1, -1, -1, -1, -1, -1, -1, -1,
1633 	-1, -1, -1, -1, -1, -1, -1, -1,
1634 	-1, -1, -1, -1, -1, -1, -1, -1,
1635 	-1, -1, -1, -1, -1, -1, 58, -1,
1636 	-1, -1, -1, -1, -1, -1, -1, -1,
1637 	-1, 199, 52, -1, 53, -1, -1, -1,
1638 	-1, -1, -1, -1, -1, -1, -1, 54,
1639 	-1, -1, -1, 308, 312, -1, -1, 62,
1640 	319, 114, 115, -1, 335, -1, -1, 336,
1641 	-1, -1, -1, -1, -1, -1, -1, -1,
1642 	-1, -1, -1, -1, -1, -1, -1, -1,
1643 	-1, -1, -1, -1, -1, -1, -1, -1,
1644 	-1, -1, -1, -1, -1, -1, -1, -1,
1645 	-1, -1, -1, -1, -1, -1, -1, -1,
1646 	-1, -1, -1, -1, -1, -1, -1, -1,
1647 	-1, -1, -1, -1, -1, -1, -1, -1,
1648 	-1, -1, -1, -1, -1, -1, -1, -1,
1649 	-1, -1, -1, -1, -1, -1, -1, -1,
1650 	-1, -1, -1, -1, -1, -1, -1, -1,
1651 	-1, -1, -1, -1, -1, -1, -1, -1,
1652 	-1, -1, -1, -1, -1, -1, -1, 329,
1653 	113, 317, -1, -1, -1, 116, -1, -1,
1654 	-1, -1, -1, -1, -1, -1, -1, -1,
1655 	-1, -1, -1, -1, -1, -1, -1, -1,
1656 	-1, -1, -1, -1, -1, -1, -1, -1,
1657 	-1, -1, -1, -1, -1, -1, -1, -1,
1658 	-1, -1, -1, -1, -1, -1, -1, -1,
1659 	-1, -1, -1, -1, -1, -1, -1, -1,
1660 	-1, -1, -1, -1, -1, -1, -1, -1,
1661 	-1, -1, -1, -1, -1, -1, -1, -1,
1662 	-1, -1, -1, -1, -1, -1, -1, -1,
1663 	-1, -1, -1, -1, -1, -1, -1, -1,
1664 	-1, -1, -1, -1, -1, -1, -1, -1,
1665 	-1, -1, -1, -1, -1, -1, -1, 337,
1666 	318, -1, -1, -1, 116, -1, -1, -1,
1667 	-1, -1, -1, -1, -1, -1, -1, -1,
1668 	-1, -1, -1, -1, -1, -1, -1, -1,
1669 	-1, -1, -1, -1, -1, -1, -1, -1,
1670 	-1, -1, -1, -1, -1, -1, -1, -1,
1671 	-1, -1, -1, -1, -1, -1, -1, -1,
1672 	-1, -1, -1, -1, -1, -1, -1, -1,
1673 	-1, -1, -1, -1, -1, -1, -1, -1,
1674 	-1, -1, -1, -1, -1, -1, -1, -1,
1675 	-1, -1, -1, -1, -1, -1, -1, -1,
1676 	-1, -1, -1, -1, -1, -1, -1, -1,
1677 	-1, -1, -1, -1, -1, -1, -1, -1,
1678 	-1, -1, -1, -1, -1, -1, 337, 55,
1679 	-1, -1, -1, -1, -1, -1, 63, -1,
1680 	-1, -1, -1, 17, -1, -1, -1, -1,
1681 	-1, -1, -1, -1, -1, -1, -1, -1,
1682 	-1, -1, -1, -1, -1, -1, -1, -1,
1683 	-1, -1, -1, -1, -1, -1, -1, -1,
1684 	-1, -1, -1, -1, -1, -1, -1, -1,
1685 	-1, -1, -1, -1, -1, -1, -1, -1,
1686 	-1, -1, -1, -1, 56, -1, -1, -1,
1687 	-1, -1, -1, -1, -1, -1, -1, -1,
1688 	-1, -1, -1, -1, -1, -1, -1, -1,
1689 	-1, -1, -1, -1, -1, -1, -1, -1,
1690 	-1, -1, -1, -1, -1, -1, 50, 57,
1691 	-1, -1, 326, 328, -1, -1, -1, -1,
1692 	-1, -1, -1, -1, -1, -1, -1, -1,
1693 	-1, -1, -1, -1, -1, -1, -1, -1,
1694 	-1, -1, -1, -1, -1, -1, -1, -1,
1695 	-1, -1, -1, -1, -1, -1, -1, -1,
1696 	-1, -1, -1, -1, -1, -1, -1, -1,
1697 	-1, 61, 59, 60, -1, -1, -1, -1,
1698 	-1, -1, -1, -1, -1, -1, -1, -1,
1699 	-1, -1, -1, -1, -1, -1, -1, -1,
1700 	-1, -1, -1, -1, -1, -1, -1, -1,
1701 	-1, -1, -1, -1, -1, -1, -1, -1,
1702 	-1, -1, -1, -1, -1, -1, -1, -1,
1703 	-1, -1, -1, -1, -1, -1, -1, -1,
1704 	-1, -1, -1, -1, -1, -1, -1, -1,
1705 	-1, -1, -1, -1, -1, -1, 58, -1,
1706 	-1, -1, -1, -1, -1, -1, 117, 191,
1707 	49, 198, 52, -1, 53, -1, -1, -1,
1708 	-1, -1, -1, -1, -1, -1, -1, 54,
1709 	-1, -1, -1, 308, 312, -1, -1, 62,
1710 	55, -1, -1, -1, -1, -1, -1, 63,
1711 	-1, -1, -1, -1, 17, -1, -1, -1,
1712 	-1, -1, -1, -1, -1, -1, -1, -1,
1713 	-1, -1, -1, -1, -1, -1, -1, -1,
1714 	-1, -1, -1, -1, -1, -1, -1, -1,
1715 	-1, -1, -1, -1, -1, -1, -1, -1,
1716 	-1, -1, -1, -1, -1, -1, -1, -1,
1717 	-1, -1, -1, -1, -1, 56, -1, -1,
1718 	-1, -1, -1, -1, -1, -1, -1, -1,
1719 	-1, -1, -1, -1, -1, -1, -1, -1,
1720 	-1, -1, -1, -1, -1, -1, -1, -1,
1721 	-1, -1, -1, -1, -1, -1, -1, 50,
1722 	57, -1, -1, 326, 328, -1, -1, -1,
1723 	-1, -1, -1, -1, -1, -1, -1, -1,
1724 	-1, -1, -1, -1, -1, -1, -1, -1,
1725 	-1, -1, -1, -1, -1, -1, -1, -1,
1726 	-1, -1, -1, -1, -1, -1, -1, -1,
1727 	-1, -1, -1, -1, -1, -1, -1, -1,
1728 	-1, -1, 61, 59, 60, -1, -1, -1,
1729 	-1, -1, -1, -1, -1, -1, -1, -1,
1730 	-1, -1, -1, -1, -1, -1, -1, -1,
1731 	-1, -1, -1, -1, -1, -1, -1, -1,
1732 	-1, -1, -1, -1, -1, -1, -1, -1,
1733 	-1, -1, -1, -1, -1, -1, -1, -1,
1734 	-1, -1, -1, -1, -1, -1, -1, -1,
1735 	-1, -1, -1, -1, -1, -1, -1, -1,
1736 	-1, -1, -1, -1, -1, -1, -1, 58,
1737 	-1, -1, -1, -1, -1, -1, -1, -1,
1738 	187, 49, 198, 52, -1, 53, -1, -1,
1739 	-1, -1, -1, -1, -1, -1, -1, -1,
1740 	54, -1, -1, -1, 308, 312, -1, -1,
1741 	62, 55, -1, -1, -1, -1, -1, -1,
1742 	63, -1, -1, -1, -1, 17, -1, -1,
1743 	-1, -1, -1, -1, -1, -1, -1, -1,
1744 	-1, -1, -1, -1, -1, -1, -1, -1,
1745 	-1, -1, -1, -1, -1, -1, -1, -1,
1746 	-1, -1, -1, -1, -1, -1, -1, -1,
1747 	-1, -1, -1, -1, -1, -1, -1, -1,
1748 	-1, -1, -1, -1, -1, -1, 56, -1,
1749 	-1, -1, -1, -1, -1, -1, -1, -1,
1750 	-1, -1, -1, -1, -1, -1, -1, -1,
1751 	-1, -1, -1, -1, -1, -1, -1, -1,
1752 	-1, -1, -1, -1, -1, -1, -1, -1,
1753 	50, 57, -1, -1, 326, 328, -1, -1,
1754 	-1, -1, -1, -1, -1, -1, -1, -1,
1755 	-1, -1, -1, -1, -1, -1, -1, -1,
1756 	-1, -1, -1, -1, -1, -1, -1, -1,
1757 	-1, -1, -1, -1, -1, -1, -1, -1,
1758 	-1, -1, -1, -1, -1, -1, -1, -1,
1759 	-1, -1, -1, 61, 59, 60, -1, -1,
1760 	-1, -1, -1, -1, -1, -1, -1, -1,
1761 	-1, -1, -1, -1, -1, -1, -1, -1,
1762 	-1, -1, -1, -1, -1, -1, -1, -1,
1763 	-1, -1, -1, -1, -1, -1, -1, -1,
1764 	-1, -1, -1, -1, -1, -1, -1, -1,
1765 	-1, -1, -1, -1, -1, -1, -1, -1,
1766 	-1, -1, -1, -1, -1, -1, -1, -1,
1767 	-1, -1, -1, -1, -1, -1, -1, -1,
1768 	58, -1, -1, -1, -1, -1, -1, -1,
1769 	-1, 188, 49, 198, 52, -1, 53, -1,
1770 	-1, -1, -1, -1, -1, -1, -1, -1,
1771 	-1, 54, -1, -1, -1, 308, 312, -1,
1772 	-1, 62, 55, -1, -1, -1, -1, -1,
1773 	-1, 63, -1, -1, -1, -1, 17, -1,
1774 	-1, -1, -1, -1, -1, -1, -1, -1,
1775 	-1, -1, -1, -1, -1, -1, -1, -1,
1776 	-1, -1, -1, -1, -1, -1, -1, -1,
1777 	-1, -1, -1, -1, -1, -1, -1, -1,
1778 	-1, -1, -1, -1, -1, -1, -1, -1,
1779 	-1, -1, -1, -1, -1, -1, -1, 56,
1780 	-1, -1, -1, -1, -1, -1, -1, -1,
1781 	-1, -1, -1, -1, -1, -1, -1, -1,
1782 	-1, -1, -1, -1, -1, -1, -1, -1,
1783 	-1, -1, -1, -1, -1, -1, -1, -1,
1784 	-1, 50, 57, -1, -1, 326, 328, -1,
1785 	-1, -1, -1, -1, -1, -1, -1, -1,
1786 	-1, -1, -1, -1, -1, -1, -1, -1,
1787 	-1, -1, -1, -1, -1, -1, -1, -1,
1788 	-1, -1, -1, -1, -1, -1, -1, -1,
1789 	-1, -1, -1, -1, -1, -1, -1, -1,
1790 	-1, -1, -1, -1, 61, 59, 60, -1,
1791 	-1, -1, -1, -1, -1, -1, -1, -1,
1792 	-1, -1, -1, -1, -1, -1, -1, -1,
1793 	-1, -1, -1, -1, -1, -1, -1, -1,
1794 	-1, -1, -1, -1, -1, -1, -1, -1,
1795 	-1, -1, -1, -1, -1, -1, -1, -1,
1796 	-1, -1, -1, -1, -1, -1, -1, -1,
1797 	-1, -1, -1, -1, -1, -1, -1, -1,
1798 	-1, -1, -1, -1, -1, -1, -1, -1,
1799 	-1, 58, -1, -1, -1, -1, -1, -1,
1800 	-1, -1, 189, 49, 198, 52, -1, 53,
1801 	-1, -1, -1, -1, -1, -1, -1, -1,
1802 	-1, -1, 54, -1, -1, -1, 308, 312,
1803 	-1, -1, 62, 55, -1, -1, -1, -1,
1804 	-1, -1, 63, -1, -1, -1, -1, 17,
1805 	-1, -1, -1, -1, -1, -1, -1, -1,
1806 	-1, -1, -1, -1, -1, -1, -1, -1,
1807 	-1, -1, -1, -1, -1, -1, -1, -1,
1808 	-1, -1, -1, -1, -1, -1, -1, -1,
1809 	-1, -1, -1, -1, -1, -1, -1, -1,
1810 	-1, -1, -1, -1, -1, -1, -1, -1,
1811 	56, -1, -1, -1, -1, -1, -1, -1,
1812 	-1, -1, -1, -1, -1, -1, -1, -1,
1813 	-1, -1, -1, -1, -1, -1, -1, -1,
1814 	-1, -1, -1, -1, -1, -1, -1, -1,
1815 	-1, -1, 50, 57, -1, -1, 326, 328,
1816 	-1, -1, -1, -1, -1, -1, -1, -1,
1817 	-1, -1, -1, -1, -1, -1, -1, -1,
1818 	-1, -1, -1, -1, -1, -1, -1, -1,
1819 	-1, -1, -1, -1, -1, -1, -1, -1,
1820 	-1, -1, -1, -1, -1, -1, -1, -1,
1821 	-1, -1, -1, -1, -1, 61, 59, 60,
1822 	-1, -1, -1, -1, -1, -1, -1, -1,
1823 	-1, -1, -1, -1, -1, -1, -1, -1,
1824 	-1, -1, -1, -1, -1, -1, -1, -1,
1825 	-1, -1, -1, -1, -1, -1, -1, -1,
1826 	-1, -1, -1, -1, -1, -1, -1, -1,
1827 	-1, -1, -1, -1, -1, -1, -1, -1,
1828 	-1, -1, -1, -1, -1, -1, -1, -1,
1829 	-1, -1, -1, -1, -1, -1, -1, -1,
1830 	-1, -1, 58, -1, -1, -1, -1, -1,
1831 	-1, -1, -1, 190, 49, 198, 52, -1,
1832 	53, -1, -1, -1, -1, -1, -1, -1,
1833 	-1, -1, -1, 54, -1, -1, -1, 308,
1834 	312, -1, -1, 62, 55, -1, -1, -1,
1835 	-1, -1, -1, 63, -1, -1, -1, -1,
1836 	17, -1, -1, -1, -1, -1, -1, -1,
1837 	-1, -1, -1, -1, -1, -1, -1, -1,
1838 	-1, -1, -1, -1, -1, -1, -1, -1,
1839 	-1, -1, -1, -1, -1, -1, -1, -1,
1840 	-1, -1, -1, -1, -1, -1, -1, -1,
1841 	-1, -1, -1, -1, -1, -1, -1, -1,
1842 	-1, 56, -1, -1, -1, -1, -1, -1,
1843 	-1, -1, -1, -1, -1, -1, -1, -1,
1844 	-1, -1, -1, -1, -1, -1, -1, -1,
1845 	-1, -1, -1, -1, -1, -1, -1, -1,
1846 	-1, -1, -1, 50, 57, -1, -1, 326,
1847 	328, -1, -1, -1, -1, -1, -1, -1,
1848 	-1, -1, -1, -1, -1, -1, -1, -1,
1849 	-1, -1, -1, -1, -1, -1, -1, -1,
1850 	-1, -1, -1, -1, -1, -1, -1, -1,
1851 	-1, -1, -1, -1, -1, -1, -1, -1,
1852 	-1, -1, -1, -1, -1, -1, 61, 59,
1853 	60, -1, -1, -1, -1, -1, -1, -1,
1854 	-1, -1, -1, -1, -1, -1, -1, -1,
1855 	-1, -1, -1, -1, -1, -1, -1, -1,
1856 	-1, -1, -1, -1, -1, -1, -1, -1,
1857 	-1, -1, -1, -1, -1, -1, -1, -1,
1858 	-1, -1, -1, -1, -1, -1, -1, -1,
1859 	-1, -1, -1, -1, -1, -1, -1, -1,
1860 	-1, -1, -1, -1, -1, -1, -1, -1,
1861 	-1, -1, -1, 58, -1, -1, -1, -1,
1862 	-1, -1, -1, -1, -1, -1, 194, 52,
1863 	-1, 53, -1, -1, -1, -1, -1, -1,
1864 	-1, -1, -1, -1, 54, -1, -1, -1,
1865 	308, 312, -1, -1, 62, 55, -1, -1,
1866 	-1, -1, -1, -1, 63, -1, -1, -1,
1867 	-1, 17, -1, -1, -1, -1, -1, -1,
1868 	-1, -1, -1, -1, -1, -1, -1, -1,
1869 	-1, -1, -1, -1, -1, -1, -1, -1,
1870 	-1, -1, -1, -1, -1, -1, -1, -1,
1871 	-1, -1, -1, -1, -1, -1, -1, -1,
1872 	-1, -1, -1, -1, -1, -1, -1, -1,
1873 	-1, -1, 56, -1, -1, -1, -1, -1,
1874 	-1, -1, -1, -1, -1, -1, -1, -1,
1875 	-1, -1, -1, -1, -1, -1, -1, -1,
1876 	-1, -1, -1, -1, -1, -1, -1, -1,
1877 	-1, -1, -1, -1, 50, 57, -1, -1,
1878 	326, 328, -1, -1, -1, -1, -1, -1,
1879 	-1, -1, -1, -1, -1, -1, -1, -1,
1880 	-1, -1, -1, -1, -1, -1, -1, -1,
1881 	-1, -1, -1, -1, -1, -1, -1, -1,
1882 	-1, -1, -1, -1, -1, -1, -1, -1,
1883 	-1, -1, -1, -1, -1, -1, -1, 61,
1884 	59, 60, -1, -1, -1, -1, -1, -1,
1885 	-1, -1, -1, -1, -1, -1, -1, -1,
1886 	-1, -1, -1, -1, -1, -1, -1, -1,
1887 	-1, -1, -1, -1, -1, -1, -1, -1,
1888 	-1, -1, -1, -1, -1, -1, -1, -1,
1889 	-1, -1, -1, -1, -1, -1, -1, -1,
1890 	-1, -1, -1, -1, -1, -1, -1, -1,
1891 	-1, -1, -1, -1, -1, -1, -1, -1,
1892 	-1, -1, -1, -1, 58, -1, -1, -1,
1893 	-1, -1, -1, -1, -1, -1, -1, 195,
1894 	52, -1, 53, -1, -1, -1, -1, -1,
1895 	-1, -1, -1, -1, -1, 54, -1, -1,
1896 	-1, 308, 312, -1, -1, 62, 55, -1,
1897 	-1, -1, -1, -1, -1, 63, -1, -1,
1898 	-1, -1, 17, -1, -1, -1, -1, -1,
1899 	-1, -1, -1, -1, -1, -1, -1, -1,
1900 	-1, -1, -1, -1, -1, -1, -1, -1,
1901 	-1, -1, -1, -1, -1, -1, -1, -1,
1902 	-1, -1, -1, -1, -1, -1, -1, -1,
1903 	-1, -1, -1, -1, -1, -1, -1, -1,
1904 	-1, -1, -1, 56, -1, -1, -1, -1,
1905 	-1, -1, -1, -1, -1, -1, -1, -1,
1906 	-1, -1, -1, -1, -1, -1, -1, -1,
1907 	-1, -1, -1, -1, -1, -1, -1, -1,
1908 	-1, -1, -1, -1, -1, 50, 57, -1,
1909 	-1, 326, 328, -1, -1, -1, -1, -1,
1910 	-1, -1, -1, -1, -1, -1, -1, -1,
1911 	-1, -1, -1, -1, -1, -1, -1, -1,
1912 	-1, -1, -1, -1, -1, -1, -1, -1,
1913 	-1, -1, -1, -1, -1, -1, -1, -1,
1914 	-1, -1, -1, -1, -1, -1, -1, -1,
1915 	61, 59, 60, -1, -1, -1, -1, -1,
1916 	-1, -1, -1, -1, -1, -1, -1, -1,
1917 	-1, -1, -1, -1, -1, -1, -1, -1,
1918 	-1, -1, -1, -1, -1, -1, -1, -1,
1919 	-1, -1, -1, -1, -1, -1, -1, -1,
1920 	-1, -1, -1, -1, -1, -1, -1, -1,
1921 	-1, -1, -1, -1, -1, -1, -1, -1,
1922 	-1, -1, -1, -1, -1, -1, -1, -1,
1923 	-1, -1, -1, -1, -1, 58, -1, -1,
1924 	-1, -1, -1, -1, -1, -1, -1, -1,
1925 	196, 52, -1, 53, -1, -1, -1, -1,
1926 	-1, -1, -1, -1, -1, -1, 54, -1,
1927 	-1, -1, 308, 312, -1, -1, 62, 55,
1928 	-1, -1, -1, -1, -1, -1, 63, -1,
1929 	-1, -1, -1, 17, -1, -1, -1, -1,
1930 	-1, -1, -1, -1, -1, -1, -1, -1,
1931 	-1, -1, -1, -1, -1, -1, -1, -1,
1932 	-1, -1, -1, -1, -1, -1, -1, -1,
1933 	-1, -1, -1, -1, -1, -1, -1, -1,
1934 	-1, -1, -1, -1, -1, -1, -1, -1,
1935 	-1, -1, -1, -1, 56, -1, -1, -1,
1936 	-1, -1, -1, -1, -1, -1, -1, -1,
1937 	-1, -1, -1, -1, -1, -1, -1, -1,
1938 	-1, -1, -1, -1, -1, -1, -1, -1,
1939 	-1, -1, -1, -1, -1, -1, 50, 57,
1940 	-1, -1, 326, 328, -1, -1, -1, -1,
1941 	-1, -1, -1, -1, -1, -1, -1, -1,
1942 	-1, -1, -1, -1, -1, -1, -1, -1,
1943 	-1, -1, -1, -1, -1, -1, -1, -1,
1944 	-1, -1, -1, -1, -1, -1, -1, -1,
1945 	-1, -1, -1, -1, -1, -1, -1, -1,
1946 	-1, 61, 59, 60, -1, -1, -1, -1,
1947 	-1, -1, -1, -1, -1, -1, -1, -1,
1948 	-1, -1, -1, -1, -1, -1, -1, -1,
1949 	-1, -1, -1, -1, -1, -1, -1, -1,
1950 	-1, -1, -1, -1, -1, -1, -1, -1,
1951 	-1, -1, -1, -1, -1, -1, -1, -1,
1952 	-1, -1, -1, -1, -1, -1, -1, -1,
1953 	-1, -1, -1, -1, -1, -1, -1, -1,
1954 	-1, -1, -1, -1, -1, -1, 58, -1,
1955 	-1, -1, -1, -1, -1, -1, -1, -1,
1956 	-1, 197, 52, -1, 53, -1, -1, -1,
1957 	-1, -1, -1, -1, -1, -1, -1, 54,
1958 	-1, -1, -1, 308, 312, -1, -1, 62,
1959 	386, -1, -1, -1, -1, -1, -1, -1,
1960 	-1, -1, -1, -1, -1, -1, -1, -1,
1961 	-1, -1, -1, -1, -1, -1, -1, -1,
1962 	-1, -1, -1, -1, -1, -1, -1, -1,
1963 	-1, -1, -1, -1, -1, -1, -1, -1,
1964 	-1, -1, -1, -1, -1, -1, -1, -1,
1965 	-1, -1, -1, -1, -1, -1, -1, -1,
1966 	-1, -1, -1, -1, -1, -1, -1, -1,
1967 	-1, -1, -1, -1, -1, -1, -1, -1,
1968 	-1, -1, -1, -1, -1, -1, -1, -1,
1969 	-1, -1, -1, -1, -1, -1, -1, -1,
1970 	-1, -1, -1, -1, -1, -1, -1, -1,
1971 	-1, -1, -1, -1, -1, -1, -1, -1,
1972 	-1, -1, -1, -1, -1, -1, -1, -1,
1973 	-1, -1, -1, -1, -1, -1, -1, -1,
1974 	-1, -1, -1, -1, -1, -1, -1, -1,
1975 	-1, -1, -1, -1, -1, 201, -1, -1,
1976 	-1, -1, -1, -1, -1, -1, -1, -1,
1977 	-1, -1, -1, -1, -1, -1, -1, -1,
1978 	-1, -1, -1, -1, -1, -1, -1, -1,
1979 	-1, -1, -1, -1, -1, 118, 119, -1,
1980 	-1, 121, -1, 122, -1, -1, -1, -1,
1981 	-1, -1, -1, -1, -1, -1, -1, -1,
1982 	-1, -1, -1, -1, -1, -1, -1, -1,
1983 	-1, -1, -1, -1, -1, -1, -1, -1,
1984 	-1, -1, -1, -1, -1, -1, -1, -1,
1985 	-1, -1, -1, -1, -1, -1, -1, -1,
1986 	-1, -1, -1, -1, -1, -1, -1, -1,
1987 	-1, -1, -1, -1, -1, -1, -1, -1,
1988 	-1, -1, -1, -1, -1, -1, -1, -1,
1989 	-1, -1, -1, -1, -1, -1, -1, -1,
1990 	-1, 120, -1, -1, -1, -1, 292, -1,
1991 	-1, -1, 296, -1, -1, -1, -1, -1,
1992 	-1, -1, -1, -1, -1, -1, -1, -1,
1993 	-1, -1, -1, -1, -1, -1, -1, -1,
1994 	-1, -1, -1, -1, -1, -1, -1, -1,
1995 	-1, -1, -1, -1, -1, -1, -1, -1,
1996 	-1, -1, -1, -1, -1, -1, -1, -1,
1997 	-1, -1, -1, -1, -1, -1, -1, -1,
1998 	-1, -1, -1, -1, -1, -1, -1, -1,
1999 	-1, -1, -1, -1, -1, -1, -1, -1,
2000 	-1, -1, -1, -1, -1, -1, -1, -1,
2001 	-1, -1, -1, -1, -1, -1, -1, -1,
2002 	-1, -1, -1, -1, -1, -1, -1, -1,
2003 	-1, -1, -1, -1, -1, -1, -1, -1,
2004 	-1, -1, -1, -1, -1, -1, -1, -1,
2005 	-1, -1, -1, -1, -1, -1, -1, -1,
2006 	-1, -1, -1, -1, 203, 290, -1, -1,
2007 	-1, -1, -1, -1, -1, -1, 204, -1,
2008 	-1, -1, -1, -1, -1, -1, -1, -1,
2009 	288, 295, 123, -1, -1, -1, -1, -1,
2010 	-1, 124, -1, -1, -1, -1, -1, -1,
2011 	-1, -1, -1, -1, -1, -1, -1, -1,
2012 	-1, -1, -1, -1, -1, -1, -1, -1,
2013 	-1, -1, -1, -1, -1, -1, -1, -1,
2014 	-1, -1, -1, -1, -1, -1, -1, -1,
2015 	-1, -1, -1, -1, -1, -1, -1, -1,
2016 	-1, -1, -1, -1, -1, -1, -1, -1,
2017 	-1, -1, -1, -1, -1, -1, -1, -1,
2018 	-1, -1, -1, -1, -1, -1, -1, -1,
2019 	-1, -1, -1, -1, -1, -1, -1, -1,
2020 	-1, -1, -1, -1, 120, -1, -1, -1,
2021 	-1, 292, -1, -1, -1, -1, -1, -1,
2022 	-1, -1, -1, -1, -1, -1, -1, -1,
2023 	-1, -1, -1, -1, -1, -1, -1, -1,
2024 	-1, -1, -1, -1, -1, -1, -1, -1,
2025 	-1, -1, -1, -1, -1, -1, -1, -1,
2026 	-1, -1, -1, -1, -1, -1, -1, -1,
2027 	-1, -1, -1, -1, -1, -1, -1, -1,
2028 	-1, -1, -1, -1, -1, -1, -1, -1,
2029 	-1, -1, -1, -1, -1, -1, -1, -1,
2030 	-1, -1, -1, -1, -1, -1, -1, -1,
2031 	-1, -1, -1, -1, -1, -1, -1, -1,
2032 	-1, -1, -1, -1, -1, -1, -1, -1,
2033 	-1, -1, -1, -1, -1, -1, -1, -1,
2034 	-1, -1, -1, -1, -1, -1, -1, -1,
2035 	-1, -1, -1, -1, -1, -1, -1, -1,
2036 	-1, -1, -1, -1, -1, -1, -1, 206,
2037 	290, -1, -1, -1, -1, -1, -1, -1,
2038 	-1, -1, -1, -1, -1, -1, -1, -1,
2039 	-1, -1, -1, 288, 124, -1, -1, -1,
2040 	-1, -1, -1, -1, -1, -1, -1, -1,
2041 	-1, -1, -1, -1, -1, -1, -1, -1,
2042 	-1, -1, -1, -1, -1, -1, -1, -1,
2043 	-1, -1, -1, -1, -1, -1, -1, -1,
2044 	-1, -1, -1, -1, -1, -1, -1, -1,
2045 	-1, -1, -1, -1, -1, -1, -1, -1,
2046 	-1, -1, -1, -1, -1, -1, -1, -1,
2047 	-1, -1, -1, -1, -1, -1, -1, -1,
2048 	-1, -1, -1, -1, -1, -1, -1, -1,
2049 	-1, -1, -1, -1, -1, -1, -1, 120,
2050 	-1, -1, -1, -1, 292, -1, -1, -1,
2051 	-1, -1, -1, -1, -1, -1, -1, -1,
2052 	-1, -1, -1, -1, -1, -1, -1, -1,
2053 	-1, -1, -1, -1, -1, -1, -1, -1,
2054 	-1, -1, -1, -1, -1, -1, -1, -1,
2055 	-1, -1, -1, -1, -1, -1, -1, -1,
2056 	-1, -1, -1, -1, -1, -1, -1, -1,
2057 	-1, -1, -1, -1, -1, -1, -1, -1,
2058 	-1, -1, -1, -1, -1, -1, -1, -1,
2059 	-1, -1, -1, -1, -1, -1, -1, -1,
2060 	-1, -1, -1, -1, -1, -1, -1, -1,
2061 	-1, -1, -1, -1, -1, -1, -1, -1,
2062 	-1, -1, -1, -1, -1, -1, -1, -1,
2063 	-1, -1, -1, -1, -1, -1, -1, -1,
2064 	-1, -1, -1, -1, -1, -1, -1, -1,
2065 	-1, -1, -1, -1, -1, -1, -1, -1,
2066 	-1, -1, 208, 290, -1, -1, -1, -1,
2067 	-1, -1, -1, -1, -1, -1, -1, -1,
2068 	-1, -1, -1, -1, -1, -1, 288, 124,
2069 	-1, -1, -1, -1, -1, -1, -1, -1,
2070 	-1, -1, -1, -1, -1, -1, -1, -1,
2071 	-1, -1, -1, -1, -1, -1, -1, -1,
2072 	-1, -1, -1, -1, -1, -1, -1, -1,
2073 	-1, -1, -1, -1, -1, -1, -1, -1,
2074 	-1, -1, -1, -1, -1, -1, -1, -1,
2075 	-1, -1, -1, -1, -1, -1, -1, -1,
2076 	-1, -1, -1, -1, -1, -1, -1, -1,
2077 	-1, -1, -1, -1, -1, -1, -1, -1,
2078 	-1, -1, -1, -1, -1, -1, -1, -1,
2079 	-1, -1, 120, -1, -1, -1, -1, 292,
2080 	-1, -1, -1, -1, -1, -1, -1, -1,
2081 	-1, -1, -1, -1, -1, -1, -1, -1,
2082 	-1, -1, -1, -1, -1, -1, -1, -1,
2083 	-1, -1, -1, -1, -1, -1, -1, -1,
2084 	-1, -1, -1, -1, -1, -1, -1, -1,
2085 	-1, -1, -1, -1, -1, -1, -1, -1,
2086 	-1, -1, -1, -1, -1, -1, -1, -1,
2087 	-1, -1, -1, -1, -1, -1, -1, -1,
2088 	-1, -1, -1, -1, -1, -1, -1, -1,
2089 	-1, -1, -1, -1, -1, -1, -1, -1,
2090 	-1, -1, -1, -1, -1, -1, -1, -1,
2091 	-1, -1, -1, -1, -1, -1, -1, -1,
2092 	-1, -1, -1, -1, -1, -1, -1, -1,
2093 	-1, -1, -1, -1, -1, -1, -1, -1,
2094 	-1, -1, -1, -1, -1, -1, -1, -1,
2095 	-1, -1, -1, -1, -1, 209, 290, -1,
2096 	-1, -1, -1, -1, -1, -1, -1, -1,
2097 	-1, -1, -1, -1, -1, -1, -1, -1,
2098 	-1, 288, 124, -1, -1, -1, -1, -1,
2099 	-1, -1, -1, -1, -1, -1, -1, -1,
2100 	-1, -1, -1, -1, -1, -1, -1, -1,
2101 	-1, -1, -1, -1, -1, -1, -1, -1,
2102 	-1, -1, -1, -1, -1, -1, -1, -1,
2103 	-1, -1, -1, -1, -1, -1, -1, -1,
2104 	-1, -1, -1, -1, -1, -1, -1, -1,
2105 	-1, -1, -1, -1, -1, -1, -1, -1,
2106 	-1, -1, -1, -1, -1, -1, -1, -1,
2107 	-1, -1, -1, -1, -1, -1, -1, -1,
2108 	-1, -1, -1, -1, -1, 120, -1, -1,
2109 	-1, -1, 292, -1, -1, -1, -1, -1,
2110 	-1, -1, -1, -1, -1, -1, -1, -1,
2111 	-1, -1, -1, -1, -1, -1, -1, -1,
2112 	-1, -1, -1, -1, -1, -1, -1, -1,
2113 	-1, -1, -1, -1, -1, -1, -1, -1,
2114 	-1, -1, -1, -1, -1, -1, -1, -1,
2115 	-1, -1, -1, -1, -1, -1, -1, -1,
2116 	-1, -1, -1, -1, -1, -1, -1, -1,
2117 	-1, -1, -1, -1, -1, -1, -1, -1,
2118 	-1, -1, -1, -1, -1, -1, -1, -1,
2119 	-1, -1, -1, -1, -1, -1, -1, -1,
2120 	-1, -1, -1, -1, -1, -1, -1, -1,
2121 	-1, -1, -1, -1, -1, -1, -1, -1,
2122 	-1, -1, -1, -1, -1, -1, -1, -1,
2123 	-1, -1, -1, -1, -1, -1, -1, -1,
2124 	-1, -1, -1, -1, -1, -1, -1, -1,
2125 	210, 290, -1, -1, -1, -1, -1, -1,
2126 	-1, -1, -1, -1, -1, -1, -1, -1,
2127 	-1, -1, -1, -1, 288, 124, -1, -1,
2128 	-1, -1, -1, -1, -1, -1, -1, -1,
2129 	-1, -1, -1, -1, -1, -1, -1, -1,
2130 	-1, -1, -1, -1, -1, -1, -1, -1,
2131 	-1, -1, -1, -1, -1, -1, -1, -1,
2132 	-1, -1, -1, -1, -1, -1, -1, -1,
2133 	-1, -1, -1, -1, -1, -1, -1, -1,
2134 	-1, -1, -1, -1, -1, -1, -1, -1,
2135 	-1, -1, -1, -1, -1, -1, -1, -1,
2136 	-1, -1, -1, -1, -1, -1, -1, -1,
2137 	-1, -1, -1, -1, -1, -1, -1, -1,
2138 	120, -1, -1, -1, -1, 292, -1, -1,
2139 	-1, -1, -1, -1, -1, -1, -1, -1,
2140 	-1, -1, -1, -1, -1, -1, -1, -1,
2141 	-1, -1, -1, -1, -1, -1, -1, -1,
2142 	-1, -1, -1, -1, -1, -1, -1, -1,
2143 	-1, -1, -1, -1, -1, -1, -1, -1,
2144 	-1, -1, -1, -1, -1, -1, -1, -1,
2145 	-1, -1, -1, -1, -1, -1, -1, -1,
2146 	-1, -1, -1, -1, -1, -1, -1, -1,
2147 	-1, -1, -1, -1, -1, -1, -1, -1,
2148 	-1, -1, -1, -1, -1, -1, -1, -1,
2149 	-1, -1, -1, -1, -1, -1, -1, -1,
2150 	-1, -1, -1, -1, -1, -1, -1, -1,
2151 	-1, -1, -1, -1, -1, -1, -1, -1,
2152 	-1, -1, -1, -1, -1, -1, -1, -1,
2153 	-1, -1, -1, -1, -1, -1, -1, -1,
2154 	-1, -1, -1, 211, 290, -1, -1, -1,
2155 	-1, -1, -1, -1, -1, -1, -1, -1,
2156 	-1, -1, -1, -1, -1, -1, -1, 288,
2157 	125, -1, -1, -1, -1, -1, -1, -1,
2158 	-1, -1, -1, -1, -1, -1, -1, -1,
2159 	-1, -1, -1, -1, -1, -1, -1, -1,
2160 	-1, -1, -1, -1, -1, -1, -1, -1,
2161 	-1, -1, -1, -1, -1, -1, -1, -1,
2162 	-1, -1, -1, -1, -1, -1, -1, -1,
2163 	-1, -1, -1, -1, -1, -1, -1, -1,
2164 	-1, -1, -1, -1, -1, -1, -1, -1,
2165 	-1, -1, -1, -1, -1, -1, -1, -1,
2166 	-1, -1, -1, -1, -1, -1, -1, -1,
2167 	-1, -1, -1, 120, -1, -1, -1, -1,
2168 	292, -1, -1, -1, -1, -1, -1, -1,
2169 	-1, -1, -1, -1, -1, -1, -1, -1,
2170 	-1, -1, -1, -1, -1, -1, -1, -1,
2171 	-1, -1, -1, -1, -1, -1, -1, -1,
2172 	-1, -1, -1, -1, -1, -1, -1, -1,
2173 	-1, -1, -1, -1, -1, -1, -1, -1,
2174 	-1, -1, -1, -1, -1, -1, -1, -1,
2175 	-1, -1, -1, -1, -1, -1, -1, -1,
2176 	-1, -1, -1, -1, -1, -1, -1, -1,
2177 	-1, -1, -1, -1, -1, -1, -1, -1,
2178 	-1, -1, -1, -1, -1, -1, -1, -1,
2179 	-1, -1, -1, -1, -1, -1, -1, -1,
2180 	-1, -1, -1, -1, -1, -1, -1, -1,
2181 	-1, -1, -1, -1, -1, -1, -1, -1,
2182 	-1, -1, -1, -1, -1, -1, -1, -1,
2183 	-1, -1, -1, -1, -1, -1, 212, 290,
2184 	-1, -1, -1, -1, -1, -1, -1, -1,
2185 	-1, -1, -1, -1, -1, -1, -1, -1,
2186 	-1, -1, 288, 215, -1, -1, 215, -1,
2187 	215, -1, -1, -1, -1, -1, -1, -1,
2188 	-1, -1, -1, -1, -1, -1, -1, -1,
2189 	-1, -1, -1, -1, -1, -1, -1, -1,
2190 	-1, -1, -1, -1, -1, -1, -1, -1,
2191 	-1, -1, -1, -1, -1, -1, -1, -1,
2192 	-1, -1, -1, -1, -1, -1, -1, -1,
2193 	-1, -1, -1, -1, -1, -1, -1, -1,
2194 	-1, -1, -1, -1, -1, -1, -1, -1,
2195 	-1, -1, -1, -1, -1, -1, -1, -1,
2196 	-1, -1, -1, -1, -1, -1, 215, -1,
2197 	-1, -1, -1, 215, -1, -1, -1, 215,
2198 	-1, -1, -1, -1, -1, -1, -1, -1,
2199 	-1, -1, -1, -1, -1, -1, -1, -1,
2200 	-1, -1, -1, -1, -1, -1, -1, -1,
2201 	-1, -1, -1, -1, -1, -1, -1, -1,
2202 	-1, -1, -1, -1, -1, -1, -1, -1,
2203 	-1, -1, -1, -1, -1, -1, -1, -1,
2204 	-1, -1, -1, -1, -1, -1, -1, -1,
2205 	-1, -1, -1, -1, -1, -1, -1, -1,
2206 	-1, -1, -1, -1, -1, 261, 273, 285,
2207 	237, 249, 216, -1, -1, 216, -1, 216,
2208 	-1, -1, -1, -1, -1, -1, -1, -1,
2209 	-1, -1, -1, -1, -1, -1, -1, -1,
2210 	-1, -1, -1, -1, -1, -1, -1, -1,
2211 	-1, -1, -1, -1, -1, -1, -1, -1,
2212 	-1, -1, -1, -1, -1, -1, -1, -1,
2213 	-1, -1, -1, -1, -1, -1, -1, -1,
2214 	-1, -1, -1, -1, -1, -1, -1, -1,
2215 	-1, -1, -1, -1, -1, -1, -1, -1,
2216 	-1, -1, -1, -1, -1, -1, -1, -1,
2217 	-1, -1, -1, -1, -1, 216, -1, -1,
2218 	-1, -1, 216, -1, -1, -1, 216, -1,
2219 	-1, -1, -1, -1, -1, -1, -1, -1,
2220 	-1, -1, -1, -1, -1, -1, -1, -1,
2221 	-1, -1, -1, -1, -1, -1, -1, -1,
2222 	-1, -1, -1, -1, -1, -1, -1, -1,
2223 	-1, -1, -1, -1, -1, -1, -1, -1,
2224 	-1, -1, -1, -1, -1, -1, -1, -1,
2225 	-1, -1, -1, -1, -1, -1, -1, -1,
2226 	-1, -1, -1, -1, -1, -1, -1, -1,
2227 	-1, -1, 224, -1, 259, 271, 283, 235,
2228 	247, 217, -1, -1, 217, -1, 217, -1,
2229 	-1, -1, -1, -1, -1, -1, -1, -1,
2230 	-1, -1, -1, -1, -1, -1, -1, -1,
2231 	-1, -1, -1, -1, -1, -1, -1, -1,
2232 	-1, -1, -1, -1, -1, -1, -1, -1,
2233 	-1, -1, -1, -1, -1, -1, -1, -1,
2234 	-1, -1, -1, -1, -1, -1, -1, -1,
2235 	-1, -1, -1, -1, -1, -1, -1, -1,
2236 	-1, -1, -1, -1, -1, -1, -1, -1,
2237 	-1, -1, -1, -1, -1, -1, -1, -1,
2238 	-1, -1, -1, -1, 217, -1, -1, -1,
2239 	-1, 217, -1, -1, -1, 217, -1, -1,
2240 	-1, -1, -1, -1, -1, -1, -1, -1,
2241 	-1, -1, -1, -1, -1, -1, -1, -1,
2242 	-1, -1, -1, -1, -1, -1, -1, -1,
2243 	-1, -1, -1, -1, -1, -1, -1, -1,
2244 	-1, -1, -1, -1, -1, -1, -1, -1,
2245 	-1, -1, -1, -1, -1, -1, -1, -1,
2246 	-1, -1, -1, -1, -1, -1, -1, -1,
2247 	-1, -1, -1, -1, -1, -1, -1, -1,
2248 	-1, 222, -1, 257, 269, 281, 233, 245,
2249 	218, -1, -1, 218, -1, 218, -1, -1,
2250 	-1, -1, -1, -1, -1, -1, -1, -1,
2251 	-1, -1, -1, -1, -1, -1, -1, -1,
2252 	-1, -1, -1, -1, -1, -1, -1, -1,
2253 	-1, -1, -1, -1, -1, -1, -1, -1,
2254 	-1, -1, -1, -1, -1, -1, -1, -1,
2255 	-1, -1, -1, -1, -1, -1, -1, -1,
2256 	-1, -1, -1, -1, -1, -1, -1, -1,
2257 	-1, -1, -1, -1, -1, -1, -1, -1,
2258 	-1, -1, -1, -1, -1, -1, -1, -1,
2259 	-1, -1, -1, 218, -1, -1, -1, -1,
2260 	218, -1, -1, -1, 218, -1, -1, -1,
2261 	-1, -1, -1, -1, -1, -1, -1, -1,
2262 	-1, -1, -1, -1, -1, -1, -1, -1,
2263 	-1, -1, -1, -1, -1, -1, -1, -1,
2264 	-1, -1, -1, -1, -1, -1, -1, -1,
2265 	-1, -1, -1, -1, -1, -1, -1, -1,
2266 	-1, -1, -1, -1, -1, -1, -1, -1,
2267 	-1, -1, -1, -1, -1, -1, -1, -1,
2268 	-1, -1, -1, -1, -1, -1, -1, -1,
2269 	220, -1, 253, 265, 277, 229, 241, 255,
2270 	267, 279, 231, 243, 263, 275, 287, 239,
2271 	251, 127, -1, -1, -1, -1, -1, -1,
2272 	-1, -1, -1, -1, -1, -1, -1, -1,
2273 	-1, -1, -1, -1, -1, -1, -1, -1,
2274 	-1, -1, -1, -1, -1, -1, -1, -1,
2275 	-1, -1, -1, -1, -1, -1, -1, -1,
2276 	-1, -1, -1, -1, -1, -1, -1, -1,
2277 	-1, -1, -1, -1, -1, -1, -1, -1,
2278 	-1, -1, -1, -1, -1, -1, -1, -1,
2279 	-1, -1, -1, -1, -1, -1, -1, -1,
2280 	-1, -1, -1, -1, -1, -1, -1, -1,
2281 	-1, -1, -1, -1, -1, -1, -1, -1,
2282 	-1, 309, -1, -1, -1, -1, -1, -1,
2283 	-1, -1, -1, -1, -1, -1, -1, -1,
2284 	-1, -1, -1, -1, -1, -1, -1, -1,
2285 	-1, -1, -1, -1, -1, -1, -1, -1,
2286 	-1, -1, -1, -1, -1, -1, -1, -1,
2287 	-1, -1, -1, -1, -1, -1, -1, -1,
2288 	-1, -1, -1, -1, -1, -1, -1, -1,
2289 	-1, -1, -1, -1, -1, -1, -1, -1,
2290 	-1, -1, -1, -1, -1, -1, -1, -1,
2291 	-1, -1, -1, -1, -1, -1, -1, -1,
2292 	-1, -1, -1, -1, -1, -1, -1, -1,
2293 	-1, -1, -1, -1, -1, -1, -1, -1,
2294 	-1, -1, -1, -1, -1, -1, -1, -1,
2295 	-1, -1, -1, -1, -1, -1, -1, -1,
2296 	-1, -1, -1, -1, -1, -1, -1, -1,
2297 	-1, -1, -1, -1, -1, -1, -1, -1,
2298 	-1, -1, -1, -1, -1, -1, -1, -1,
2299 	-1, -1, -1, -1, -1, -1, -1, -1,
2300 	-1, 126, 17, -1, -1, -1, -1, -1,
2301 	-1, -1, -1, -1, -1, -1, -1, -1,
2302 	-1, -1, -1, -1, -1, -1, -1, -1,
2303 	-1, -1, -1, -1, -1, -1, -1, -1,
2304 	-1, -1, -1, -1, -1, -1, -1, -1,
2305 	-1, -1, -1, -1, -1, -1, -1, -1,
2306 	-1, -1, -1, -1, -1, -1, -1, -1,
2307 	-1, -1, -1, -1, -1, -1, -1, -1,
2308 	-1, -1, -1, -1, -1, -1, -1, -1,
2309 	-1, -1, -1, -1, -1, -1, -1, -1,
2310 	-1, -1, -1, -1, -1, -1, 323, -1,
2311 	-1, 326, 328, -1, -1, -1, -1, -1,
2312 	-1, -1, -1, -1, -1, -1, -1, -1,
2313 	-1, -1, -1, -1, -1, -1, -1, -1,
2314 	-1, -1, -1, -1, -1, -1, -1, -1,
2315 	-1, -1, -1, -1, -1, -1, -1, -1,
2316 	-1, -1, -1, -1, -1, -1, -1, -1,
2317 	-1, -1, -1, -1, -1, -1, -1, -1,
2318 	-1, -1, -1, -1, -1, -1, -1, -1,
2319 	-1, -1, -1, -1, -1, -1, -1, -1,
2320 	-1, -1, -1, -1, -1, -1, -1, -1,
2321 	-1, -1, -1, -1, -1, -1, -1, -1,
2322 	-1, -1, -1, -1, -1, -1, -1, -1,
2323 	-1, -1, -1, -1, -1, -1, -1, -1,
2324 	-1, -1, -1, -1, -1, -1, -1, -1,
2325 	-1, -1, -1, -1, -1, 325, -1, -1,
2326 	-1, -1, -1, -1, -1, -1, -1, -1,
2327 	-1, -1, -1, -1, -1, -1, -1, -1,
2328 	-1, -1, -1, -1, -1, -1, -1, -1,
2329 	-1, -1, -1, -1, -1, -1, 320, 55,
2330 	-1, -1, -1, -1, -1, -1, 63, -1,
2331 	131, -1, -1, 17, -1, -1, -1, -1,
2332 	-1, -1, -1, -1, -1, -1, -1, -1,
2333 	-1, -1, -1, -1, -1, -1, -1, -1,
2334 	-1, -1, -1, -1, -1, -1, -1, -1,
2335 	-1, -1, -1, -1, -1, -1, -1, -1,
2336 	-1, -1, -1, -1, -1, -1, -1, -1,
2337 	-1, -1, -1, -1, 56, -1, -1, -1,
2338 	-1, -1, -1, -1, -1, -1, -1, -1,
2339 	-1, -1, -1, -1, -1, -1, -1, -1,
2340 	-1, -1, -1, -1, -1, -1, -1, -1,
2341 	-1, -1, -1, -1, -1, -1, 51, 57,
2342 	-1, -1, 326, 328, -1, -1, -1, -1,
2343 	-1, -1, -1, -1, -1, -1, -1, -1,
2344 	-1, -1, -1, -1, -1, -1, -1, -1,
2345 	-1, -1, -1, -1, -1, -1, -1, -1,
2346 	-1, -1, -1, -1, -1, -1, -1, -1,
2347 	-1, -1, -1, -1, -1, -1, -1, -1,
2348 	-1, 61, 59, 60, -1, -1, -1, -1,
2349 	-1, -1, -1, -1, -1, -1, -1, -1,
2350 	-1, 4, -1, -1, -1, -1, -1, -1,
2351 	-1, -1, -1, -1, -1, 158, -1, -1,
2352 	-1, -1, -1, -1, -1, -1, -1, -1,
2353 	-1, -1, -1, -1, -1, -1, -1, -1,
2354 	-1, -1, -1, -1, 180, -1, 179, -1,
2355 	-1, -1, -1, -1, -1, -1, -1, -1,
2356 	-1, 160, 108, -1, 107, -1, 58, -1,
2357 	-1, -1, 177, -1, -1, -1, 48, 191,
2358 	49, 198, 52, -1, 53, -1, -1, -1,
2359 	-1, -1, -1, -1, -1, -1, -1, 54,
2360 	-1, -1, -1, 308, 312, -1, -1, 62,
2361 	81, -1, -1, -1, -1, -1, -1, -1,
2362 	-1, -1, -1, -1, -1, -1, -1, 184,
2363 	-1, -1, -1, -1, -1, -1, -1, -1,
2364 	-1, -1, -1, -1, -1, -1, -1, -1,
2365 	-1, -1, -1, -1, -1, -1, -1, -1,
2366 	-1, -1, -1, -1, -1, -1, -1, -1,
2367 	-1, -1, -1, -1, -1, -1, -1, -1,
2368 	-1, -1, -1, -1, -1, -1, -1, -1,
2369 	-1, -1, -1, -1, -1, -1, -1, -1,
2370 	-1, -1, -1, -1, -1, -1, -1, 120,
2371 	-1, -1, -1, -1, -1, -1, -1, -1,
2372 	-1, -1, -1, -1, -1, -1, -1, 130,
2373 	-1, -1, -1, -1, -1, -1, -1, -1,
2374 	-1, -1, -1, -1, -1, -1, -1, -1,
2375 	-1, -1, -1, -1, -1, -1, -1, -1,
2376 	-1, -1, -1, -1, -1, -1, -1, -1,
2377 	-1, -1, -1, -1, -1, -1, -1, -1,
2378 	-1, -1, -1, -1, -1, -1, -1, -1,
2379 	-1, -1, -1, -1, -1, -1, -1, -1,
2380 	-1, -1, -1, -1, -1, -1, -1, -1,
2381 	-1, -1, -1, -1, -1, -1, -1, -1,
2382 	-1, -1, -1, -1, -1, -1, -1, -1,
2383 	-1, -1, -1, -1, -1, -1, -1, -1,
2384 	-1, -1, -1, -1, -1, -1, -1, -1,
2385 	-1, -1, -1, -1, -1, -1, -1, -1,
2386 	-1, -1, -1, -1, -1, -1, -1, -1,
2387 	-1, 129, -1, 183, 165, -1, -1, -1,
2388 	-1, -1, -1, -1, -1, -1, -1, -1,
2389 	-1, -1, -1, -1, -1, -1, -1, -1,
2390 	-1, -1, -1, -1, -1, -1, -1, -1,
2391 	-1, -1, -1, -1, -1, -1, -1, -1,
2392 	-1, -1, -1, -1, -1, -1, -1, -1,
2393 	-1, -1, -1, -1, -1, -1, -1, -1,
2394 	-1, -1, -1, -1, -1, -1, -1, -1,
2395 	-1, -1, -1, -1, -1, -1, -1, -1,
2396 	-1, -1, -1, -1, -1, -1, -1, -1,
2397 	-1, -1, -1, -1, -1, -1, -1, -1,
2398 	-1, -1, -1, -1, -1, -1, -1, -1,
2399 	-1, -1, -1, -1, -1, -1, -1, -1,
2400 	-1, -1, -1, -1, -1, -1, -1, -1,
2401 	-1, -1, -1, -1, -1, -1, -1, -1,
2402 	-1, 128, 387, -1, -1, -1, -1, -1,
2403 	-1, -1, -1, -1, -1, -1, -1, -1,
2404 	-1, -1, -1, -1, 387, -1, -1, -1,
2405 	-1, -1, -1, -1, -1, -1, -1, -1,
2406 	-1, -1, -1, -1, -1, -1, -1, -1,
2407 	-1, -1, -1, -1, -1, -1, -1, -1,
2408 	-1, -1, -1, -1, -1, -1, -1, -1,
2409 	-1, -1, -1, -1, -1, -1, -1, -1,
2410 	-1, -1, -1, -1, -1, -1, -1, -1,
2411 	-1, -1, -1, -1, -1, -1, -1, -1,
2412 	-1, -1, -1, -1, -1, -1, -1, -1,
2413 	-1, -1, -1, -1, -1, -1, -1, -1,
2414 	-1, -1, -1, -1, -1, -1, -1, 132,
2415 	376, 377, 378, -1, 375, -1, -1, -1,
2416 	-1, -1, -1, -1, -1, -1, -1, -1,
2417 	-1, -1, -1, 356, -1, -1, -1, -1,
2418 	-1, -1, -1, -1, -1, -1, -1, -1,
2419 	-1, -1, -1, -1, -1, -1, -1, -1,
2420 	-1, -1, -1, -1, -1, -1, -1, -1,
2421 	-1, -1, -1, -1, -1, -1, -1, -1,
2422 	-1, -1, -1, -1, -1, -1, -1, -1,
2423 	-1, -1, -1, -1, -1, -1, -1, -1,
2424 	-1, -1, -1, -1, -1, -1, -1, -1,
2425 	-1, -1, -1, -1, -1, -1, -1, -1,
2426 	374, -1, -1, -1, 372, 373, -1, -1,
2427 	-1, -1, -1, -1, -1, -1, 379, -1,
2428 	-1, -1, -1, -1, -1, -1, -1, -1,
2429 	-1, -1, -1, -1, -1, -1, -1, -1,
2430 	-1, -1, -1, -1, -1, -1, -1, -1,
2431 	-1, -1, -1, -1, -1, -1, -1, -1,
2432 	-1, -1, -1, -1, -1, -1, -1, -1,
2433 	-1, -1, -1, 368, 369, 370, 371, -1,
2434 	-1, -1, -1, -1, -1, -1, -1, -1,
2435 	-1, -1, -1, -1, -1, -1, -1, -1,
2436 	-1, -1, -1, -1, -1, -1, 380, 381,
2437 	-1, -1, -1, 382, 383, 30, -1, -1,
2438 	-1, -1, -1, -1, -1, -1, -1, -1,
2439 	-1, -1, -1, -1, -1, -1, -1, -1,
2440 	-1, -1, -1, -1, -1, -1, -1, -1,
2441 	-1, -1, -1, -1, -1, -1, -1, -1,
2442 	-1, -1, -1, -1, -1, -1, -1, -1,
2443 	-1, -1, -1, -1, -1, -1, -1, -1,
2444 	-1, -1, -1, -1, -1, -1, -1, -1,
2445 	-1, -1, -1, -1, -1, -1, -1, 365,
2446 	-1, 367, -1, 363, 366, 376, 377, 378,
2447 	-1, 375, -1, -1, -1, -1, -1, -1,
2448 	-1, -1, -1, -1, -1, -1, -1, -1,
2449 	360, -1, -1, -1, -1, -1, -1, -1,
2450 	-1, -1, -1, -1, -1, -1, -1, -1,
2451 	-1, -1, -1, -1, -1, -1, -1, -1,
2452 	-1, -1, -1, -1, -1, -1, -1, -1,
2453 	-1, -1, -1, -1, -1, -1, -1, -1,
2454 	-1, -1, -1, -1, -1, -1, -1, -1,
2455 	-1, -1, -1, -1, -1, -1, -1, -1,
2456 	-1, -1, -1, -1, -1, -1, -1, -1,
2457 	-1, -1, -1, -1, -1, 374, -1, -1,
2458 	-1, 372, 373, -1, -1, -1, -1, -1,
2459 	-1, -1, -1, 379, -1, -1, -1, -1,
2460 	-1, -1, -1, -1, -1, -1, -1, -1,
2461 	-1, -1, -1, -1, -1, -1, -1, -1,
2462 	-1, -1, -1, -1, -1, -1, -1, -1,
2463 	-1, -1, -1, -1, -1, -1, -1, -1,
2464 	-1, -1, -1, -1, -1, -1, -1, -1,
2465 	368, 369, 370, 371, -1, -1, -1, -1,
2466 	-1, -1, -1, -1, -1, -1, -1, -1,
2467 	-1, -1, -1, -1, -1, -1, -1, -1,
2468 	-1, -1, -1, 380, 381, -1, -1, -1,
2469 	382, 383, 30, -1, -1, -1, -1, -1,
2470 	-1, -1, -1, -1, -1, -1, -1, -1,
2471 	-1, -1, -1, -1, -1, -1, -1, -1,
2472 	-1, -1, -1, -1, -1, -1, -1, -1,
2473 	-1, -1, -1, -1, -1, -1, -1, -1,
2474 	-1, -1, -1, -1, -1, -1, -1, -1,
2475 	-1, -1, -1, -1, -1, -1, -1, -1,
2476 	-1, -1, -1, -1, -1, -1, -1, -1,
2477 	-1, -1, -1, -1, 365, -1, 367, -1,
2478 	363, 366, 376, 377, 378, -1, 375, -1,
2479 	-1, -1, -1, -1, -1, -1, -1, -1,
2480 	-1, -1, -1, -1, -1, 358, -1, -1,
2481 	-1, -1, -1, -1, -1, -1, -1, -1,
2482 	-1, -1, -1, -1, -1, -1, -1, -1,
2483 	-1, -1, -1, -1, -1, -1, -1, -1,
2484 	-1, -1, -1, -1, -1, -1, -1, -1,
2485 	-1, -1, -1, -1, -1, -1, -1, -1,
2486 	-1, -1, -1, -1, -1, -1, -1, -1,
2487 	-1, -1, -1, -1, -1, -1, -1, -1,
2488 	-1, -1, -1, -1, -1, -1, -1, -1,
2489 	-1, -1, 374, -1, -1, -1, 372, 373,
2490 	-1, -1, -1, -1, -1, -1, -1, -1,
2491 	379, -1, -1, -1, -1, -1, -1, -1,
2492 	-1, -1, -1, -1, -1, -1, -1, -1,
2493 	-1, -1, -1, -1, -1, -1, -1, -1,
2494 	-1, -1, -1, -1, -1, -1, -1, -1,
2495 	-1, -1, -1, -1, -1, -1, -1, -1,
2496 	-1, -1, -1, -1, -1, 368, 369, 370,
2497 	371, -1, -1, -1, -1, -1, -1, -1,
2498 	-1, -1, -1, -1, -1, -1, -1, -1,
2499 	-1, -1, -1, -1, -1, -1, -1, -1,
2500 	380, 381, -1, -1, -1, 382, 383, 30,
2501 	-1, -1, -1, -1, -1, -1, -1, -1,
2502 	-1, -1, -1, -1, -1, -1, -1, -1,
2503 	-1, -1, -1, -1, -1, -1, -1, -1,
2504 	-1, -1, -1, -1, -1, -1, -1, -1,
2505 	-1, -1, -1, -1, -1, -1, -1, -1,
2506 	-1, -1, -1, -1, -1, -1, -1, -1,
2507 	-1, -1, -1, -1, -1, -1, -1, -1,
2508 	-1, -1, -1, -1, -1, -1, -1, -1,
2509 	-1, 365, -1, 367, -1, 363, 366, 332,
2510 	332, 332, -1, 332, 331, -1, 332, 338,
2511 	-1, -1, -1, 338, -1, -1, -1, -1,
2512 	-1, -1, -1, -1, -1, -1, -1, -1,
2513 	-1, -1, -1, -1, -1, -1, -1, -1,
2514 	-1, -1, -1, -1, -1, -1, -1, -1,
2515 	-1, -1, -1, -1, -1, -1, -1, -1,
2516 	-1, -1, -1, -1, -1, -1, -1, -1,
2517 	-1, -1, -1, -1, -1, -1, -1, -1,
2518 	-1, -1, -1, -1, -1, -1, -1, -1,
2519 	-1, -1, -1, -1, -1, -1, -1, -1,
2520 	-1, -1, -1, -1, -1, -1, -1, -1,
2521 	-1, -1, -1, -1, -1, -1, -1, -1,
2522 	-1, -1, -1, -1, -1, -1, -1, -1,
2523 	133, 338, -1, -1, -1, 338, -1, -1,
2524 	-1, -1, -1, -1, -1, -1, -1, -1,
2525 	-1, -1, -1, -1, -1, -1, -1, -1,
2526 	-1, -1, -1, -1, -1, -1, -1, -1,
2527 	-1, -1, -1, -1, -1, -1, -1, -1,
2528 	-1, -1, -1, -1, -1, -1, -1, -1,
2529 	-1, -1, -1, -1, -1, -1, -1, -1,
2530 	-1, -1, -1, -1, -1, -1, -1, -1,
2531 	-1, -1, -1, -1, -1, -1, -1, -1,
2532 	-1, -1, -1, -1, -1, -1, -1, -1,
2533 	-1, -1, -1, -1, -1, -1, -1, -1,
2534 	-1, -1, -1, -1, -1, -1, -1, -1,
2535 	-1, -1, 134, 339, -1, -1, 135, 339,
2536 	83, -1, -1, 185, -1, -1, 185, 84,
2537 	-1, -1, -1, -1, -1, -1, -1, -1,
2538 	-1, -1, -1, -1, -1, 185, -1, -1,
2539 	-1, -1, -1, -1, -1, -1, -1, -1,
2540 	-1, -1, -1, -1, -1, -1, -1, -1,
2541 	-1, -1, -1, -1, -1, -1, -1, -1,
2542 	-1, -1, -1, -1, -1, -1, -1, -1,
2543 	-1, -1, -1, -1, -1, -1, -1, -1,
2544 	-1, -1, -1, -1, -1, -1, -1, -1,
2545 	-1, -1, -1, -1, -1, -1, -1, -1,
2546 	-1, -1, -1, -1, -1, 185, 82, -1,
2547 	-1, -1, -1, -1, -1, -1, -1, -1,
2548 	-1, -1, -1, -1, -1, 185, -1, -1,
2549 	-1, -1, 85, 391, -1, -1, -1, -1,
2550 	-1, -1, -1, -1, -1, -1, -1, -1,
2551 	-1, -1, -1, -1, -1, -1, -1, -1,
2552 	-1, -1, -1, -1, -1, -1, -1, -1,
2553 	-1, -1, -1, -1, -1, -1, -1, -1,
2554 	-1, -1, -1, -1, -1, -1, -1, -1,
2555 	-1, -1, -1, -1, -1, -1, -1, -1,
2556 	-1, -1, -1, -1, -1, -1, -1, -1,
2557 	-1, -1, -1, -1, -1, -1, -1, -1,
2558 	-1, -1, -1, -1, -1, -1, -1, -1,
2559 	-1, -1, -1, -1, -1, -1, -1, -1,
2560 	-1, -1, -1, -1, -1, -1, -1, -1,
2561 	-1, -1, -1, -1, -1, -1, -1, -1,
2562 	-1, -1, -1, -1, -1, -1, -1, -1,
2563 	-1, -1, -1, -1, -1, -1, -1, -1,
2564 	-1, -1, -1, -1, -1, -1, -1, -1,
2565 	-1, -1, -1, -1, -1, -1, -1, -1,
2566 	-1, -1, -1, -1, -1, -1, -1, -1,
2567 	-1, -1, -1, -1, -1, -1, -1, -1,
2568 	-1, -1, -1, -1, -1, -1, -1, -1,
2569 	-1, -1, -1, -1, -1, -1, -1, -1,
2570 	-1, 136, 139, -1, -1, -1, -1, -1,
2571 	-1, -1, -1, -1, -1, -1, -1, -1,
2572 	-1, -1, -1, -1, -1, -1, -1, -1,
2573 	-1, -1, -1, -1, -1, -1, -1, -1,
2574 	-1, -1, -1, -1, -1, -1, -1, -1,
2575 	-1, -1, -1, -1, -1, -1, -1, -1,
2576 	-1, -1, -1, -1, -1, -1, -1, -1,
2577 	-1, -1, -1, -1, -1, -1, -1, -1,
2578 	-1, -1, -1, -1, -1, -1, -1, -1,
2579 	-1, -1, -1, -1, -1, -1, -1, -1,
2580 	-1, -1, -1, -1, -1, -1, -1, -1,
2581 	-1, -1, -1, -1, -1, -1, -1, -1,
2582 	-1, -1, -1, -1, -1, -1, -1, -1,
2583 	-1, -1, -1, -1, -1, -1, -1, -1,
2584 	-1, -1, -1, -1, -1, -1, -1, -1,
2585 	-1, -1, -1, -1, -1, -1, -1, -1,
2586 	-1, -1, -1, -1, -1, -1, -1, -1,
2587 	-1, -1, -1, 137, -1, -1, -1, -1,
2588 	-1, -1, -1, -1, 138, 342, 342, 342,
2589 	-1, 342, -1, -1, -1, -1, -1, -1,
2590 	-1, -1, -1, -1, -1, -1, -1, -1,
2591 	342, -1, -1, -1, -1, -1, -1, -1,
2592 	-1, -1, -1, -1, -1, -1, -1, -1,
2593 	-1, -1, -1, -1, -1, -1, -1, -1,
2594 	-1, -1, -1, -1, -1, -1, -1, -1,
2595 	-1, -1, -1, -1, -1, -1, -1, -1,
2596 	-1, -1, -1, -1, -1, -1, -1, -1,
2597 	-1, -1, -1, -1, -1, -1, -1, -1,
2598 	-1, -1, -1, -1, -1, -1, -1, -1,
2599 	-1, -1, 342, -1, -1, 342, -1, -1,
2600 	-1, 342, 342, -1, -1, -1, -1, -1,
2601 	-1, -1, -1, 342, -1, -1, -1, -1,
2602 	-1, -1, -1, -1, -1, -1, -1, -1,
2603 	-1, -1, -1, -1, -1, -1, -1, -1,
2604 	-1, -1, -1, -1, -1, -1, -1, -1,
2605 	-1, -1, -1, -1, -1, -1, -1, -1,
2606 	-1, -1, -1, -1, -1, -1, -1, -1,
2607 	342, 342, 342, 342, -1, -1, -1, -1,
2608 	-1, -1, -1, -1, -1, -1, -1, -1,
2609 	-1, -1, -1, -1, -1, -1, -1, -1,
2610 	342, 342, 342, 342, 342, 342, 342, 342,
2611 	342, 342, 342, 342, -1, -1, -1, -1,
2612 	-1, -1, -1, -1, -1, -1, -1, -1,
2613 	-1, -1, -1, -1, -1, -1, -1, 140,
2614 	297, 298, 124, -1, -1, -1, -1, -1,
2615 	-1, -1, -1, -1, -1, -1, -1, -1,
2616 	-1, -1, -1, -1, -1, -1, -1, -1,
2617 	-1, -1, -1, -1, -1, -1, -1, -1,
2618 	-1, -1, -1, -1, -1, -1, -1, -1,
2619 	-1, -1, -1, -1, -1, -1, -1, -1,
2620 	-1, -1, -1, -1, -1, -1, -1, -1,
2621 	-1, -1, -1, -1, -1, -1, -1, -1,
2622 	-1, -1, -1, -1, -1, -1, -1, -1,
2623 	-1, -1, -1, -1, -1, -1, -1, -1,
2624 	-1, -1, -1, -1, -1, 120, -1, -1,
2625 	-1, -1, 292, -1, -1, -1, -1, -1,
2626 	-1, -1, -1, -1, -1, -1, -1, -1,
2627 	-1, -1, -1, -1, -1, -1, -1, -1,
2628 	-1, -1, -1, -1, -1, -1, -1, -1,
2629 	-1, -1, -1, -1, -1, -1, -1, -1,
2630 	-1, -1, -1, -1, -1, -1, -1, -1,
2631 	-1, -1, -1, -1, -1, -1, -1, -1,
2632 	-1, -1, -1, -1, -1, -1, -1, -1,
2633 	-1, -1, -1, -1, -1, -1, -1, -1,
2634 	-1, -1, -1, -1, -1, -1, -1, -1,
2635 	-1, -1, -1, -1, -1, -1, -1, -1,
2636 	-1, -1, -1, -1, -1, -1, -1, -1,
2637 	-1, -1, -1, -1, -1, -1, -1, -1,
2638 	-1, -1, -1, -1, -1, -1, -1, -1,
2639 	-1, -1, -1, -1, -1, -1, -1, -1,
2640 	-1, -1, -1, -1, -1, -1, -1, -1,
2641 	207, 290, -1, -1, -1, -1, -1, -1,
2642 	-1, -1, -1, -1, -1, -1, -1, -1,
2643 	-1, -1, -1, -1, 288, 292, -1, -1,
2644 	-1, -1, -1, -1, -1, -1, -1, -1,
2645 	-1, -1, -1, -1, -1, -1, -1, -1,
2646 	-1, -1, -1, -1, -1, -1, -1, -1,
2647 	-1, -1, -1, -1, -1, -1, -1, -1,
2648 	-1, -1, -1, -1, -1, -1, -1, -1,
2649 	-1, -1, -1, -1, -1, -1, -1, -1,
2650 	-1, -1, -1, -1, -1, -1, -1, -1,
2651 	-1, -1, -1, -1, -1, -1, -1, -1,
2652 	-1, -1, -1, -1, -1, -1, -1, -1,
2653 	-1, -1, -1, -1, -1, -1, -1, -1,
2654 	-1, -1, -1, -1, -1, -1, -1, -1,
2655 	-1, -1, -1, -1, -1, -1, -1, -1,
2656 	-1, -1, -1, -1, -1, -1, -1, -1,
2657 	-1, -1, -1, -1, -1, -1, -1, -1,
2658 	-1, -1, -1, -1, -1, -1, -1, -1,
2659 	-1, -1, -1, -1, -1, -1, -1, -1,
2660 	-1, -1, -1, -1, -1, -1, -1, -1,
2661 	-1, -1, -1, -1, -1, -1, -1, 138,
2662 	142, -1, -1, -1, -1, -1, -1, -1,
2663 	-1, -1, -1, -1, -1, -1, -1, -1,
2664 	-1, -1, -1, -1, -1, -1, -1, -1,
2665 	-1, -1, -1, -1, -1, -1, -1, -1,
2666 	-1, -1, -1, -1, -1, -1, -1, -1,
2667 	-1, -1, -1, -1, -1, -1, -1, -1,
2668 	-1, -1, -1, -1, -1, -1, -1, -1,
2669 	-1, -1, -1, -1, -1, -1, -1, -1,
2670 	-1, -1, -1, -1, -1, -1, -1, -1,
2671 	-1, -1, -1, -1, -1, -1, -1, -1,
2672 	-1, -1, -1, -1, -1, -1, -1, -1,
2673 	-1, -1, -1, -1, -1, -1, -1, -1,
2674 	-1, -1, -1, -1, -1, -1, -1, -1,
2675 	-1, -1, -1, -1, -1, -1, -1, -1,
2676 	-1, -1, -1, -1, -1, -1, -1, -1,
2677 	-1, -1, -1, -1, -1, -1, -1, -1,
2678 	-1, -1, -1, -1, -1, -1, -1, -1,
2679 	-1, -1, -1, -1, -1, -1, -1, -1,
2680 	141, -1, 138, 144, -1, -1, -1, -1,
2681 	-1, -1, -1, -1, -1, -1, -1, -1,
2682 	-1, -1, -1, -1, -1, -1, -1, -1,
2683 	-1, -1, -1, -1, -1, -1, -1, -1,
2684 	-1, -1, -1, -1, -1, -1, -1, -1,
2685 	-1, -1, -1, -1, -1, -1, -1, -1,
2686 	-1, -1, -1, -1, -1, -1, -1, -1,
2687 	-1, -1, -1, -1, -1, -1, -1, -1,
2688 	-1, -1, -1, -1, -1, -1, -1, -1,
2689 	-1, -1, -1, -1, -1, -1, -1, -1,
2690 	-1, -1, -1, -1, 304, 309, -1, -1,
2691 	-1, -1, -1, -1, -1, -1, -1, -1,
2692 	-1, -1, -1, -1, -1, -1, -1, -1,
2693 	-1, -1, -1, -1, -1, -1, -1, -1,
2694 	-1, -1, -1, -1, -1, -1, -1, -1,
2695 	-1, -1, -1, -1, -1, -1, -1, -1,
2696 	-1, -1, -1, -1, -1, -1, -1, -1,
2697 	-1, -1, -1, -1, -1, -1, -1, -1,
2698 	-1, -1, -1, -1, -1, -1, -1, -1,
2699 	-1, -1, -1, -1, -1, -1, -1, -1,
2700 	-1, -1, -1, -1, -1, -1, -1, -1,
2701 	-1, -1, -1, -1, -1, -1, -1, -1,
2702 	-1, -1, -1, -1, -1, -1, -1, -1,
2703 	-1, -1, -1, -1, -1, -1, -1, -1,
2704 	-1, -1, -1, -1, -1, -1, -1, -1,
2705 	-1, -1, -1, -1, -1, -1, -1, -1,
2706 	-1, -1, -1, -1, -1, -1, -1, -1,
2707 	-1, -1, -1, -1, -1, -1, -1, -1,
2708 	-1, -1, -1, -1, -1, 143, 35, 181,
2709 	124, -1, -1, -1, -1, -1, -1, -1,
2710 	-1, -1, -1, -1, -1, -1, -1, -1,
2711 	-1, -1, -1, -1, -1, -1, -1, -1,
2712 	-1, -1, -1, -1, -1, -1, -1, -1,
2713 	-1, -1, -1, -1, -1, -1, -1, -1,
2714 	-1, -1, -1, -1, -1, -1, -1, -1,
2715 	-1, -1, -1, -1, -1, -1, -1, -1,
2716 	-1, -1, -1, -1, -1, -1, -1, -1,
2717 	-1, -1, -1, -1, -1, -1, -1, -1,
2718 	-1, -1, -1, -1, -1, -1, -1, -1,
2719 	-1, -1, -1, 120, -1, -1, -1, -1,
2720 	292, -1, -1, -1, -1, -1, -1, -1,
2721 	-1, -1, -1, -1, -1, -1, -1, -1,
2722 	-1, -1, -1, -1, -1, -1, -1, -1,
2723 	-1, -1, -1, -1, -1, -1, -1, -1,
2724 	-1, -1, -1, -1, -1, -1, -1, -1,
2725 	-1, -1, -1, -1, -1, -1, -1, -1,
2726 	-1, -1, -1, -1, -1, -1, -1, -1,
2727 	-1, -1, -1, -1, -1, -1, -1, -1,
2728 	-1, -1, -1, -1, -1, -1, -1, -1,
2729 	-1, -1, -1, -1, -1, -1, -1, -1,
2730 	-1, -1, -1, -1, -1, -1, -1, -1,
2731 	-1, -1, -1, -1, -1, -1, -1, -1,
2732 	-1, -1, -1, -1, -1, -1, -1, -1,
2733 	-1, -1, -1, -1, -1, -1, -1, -1,
2734 	-1, -1, -1, -1, -1, -1, -1, -1,
2735 	-1, -1, -1, -1, -1, -1, 182, 290,
2736 	-1, -1, -1, -1, -1, -1, -1, -1,
2737 	-1, -1, -1, -1, -1, -1, -1, -1,
2738 	-1, -1, 288, 176, 390, 333, -1, -1,
2739 	-1, 116, -1, -1, -1, -1, -1, -1,
2740 	-1, -1, -1, -1, -1, -1, -1, -1,
2741 	-1, -1, -1, -1, -1, -1, -1, -1,
2742 	-1, -1, -1, -1, -1, -1, -1, -1,
2743 	-1, -1, -1, -1, -1, -1, -1, -1,
2744 	-1, -1, -1, -1, -1, -1, -1, -1,
2745 	-1, -1, -1, -1, -1, -1, -1, -1,
2746 	-1, -1, -1, -1, -1, -1, -1, -1,
2747 	-1, -1, -1, -1, -1, -1, -1, -1,
2748 	-1, -1, -1, -1, -1, -1, -1, -1,
2749 	-1, -1, -1, -1, -1, -1, -1, -1,
2750 	-1, -1, -1, -1, -1, -1, -1, -1,
2751 	-1, -1, -1, 337, 334, -1, -1, -1,
2752 	116, -1, -1, -1, -1, -1, -1, -1,
2753 	-1, -1, -1, -1, -1, -1, -1, -1,
2754 	-1, -1, -1, -1, -1, -1, -1, -1,
2755 	-1, -1, -1, -1, -1, -1, -1, -1,
2756 	-1, -1, -1, -1, -1, -1, -1, -1,
2757 	-1, -1, -1, -1, -1, -1, -1, -1,
2758 	-1, -1, -1, -1, -1, -1, -1, -1,
2759 	-1, -1, -1, -1, -1, -1, -1, -1,
2760 	-1, -1, -1, -1, -1, -1, -1, -1,
2761 	-1, -1, -1, -1, -1, -1, -1, -1,
2762 	-1, -1, -1, -1, -1, -1, -1, -1,
2763 	-1, -1, -1, -1, -1, -1, -1, -1,
2764 	-1, -1, 337, 340, 385, -1, -1, -1,
2765 	-1, 385, -1, 385, 385, -1, -1, 385,
2766 	385, 385, -1, -1, -1, -1, -1, -1,
2767 	-1, -1, -1, -1, -1, -1, 385, -1,
2768 	-1, -1, -1, -1, -1, -1, -1, -1,
2769 	-1, -1, -1, -1, -1, -1, -1, -1,
2770 	-1, -1, -1, -1, -1, -1, -1, -1,
2771 	-1, -1, -1, -1, -1, -1, -1, -1,
2772 	-1, 385, -1, -1, -1, -1, -1, -1,
2773 	-1, -1, -1, -1, -1, -1, -1, -1,
2774 	-1, -1, -1, -1, -1, -1, -1, -1,
2775 	-1, -1, -1, -1, -1, -1, 385, 385,
2776 	-1, -1, -1, 385, 385, -1, -1, 385,
2777 	385, -1, 385, 385, 385, 385, 385, -1,
2778 	-1, 132, -1, 385, -1, -1, -1, -1,
2779 	-1, -1, -1, -1, -1, -1, -1, -1,
2780 	-1, -1, -1, -1, -1, -1, -1, -1,
2781 	-1, -1, -1, -1, -1, -1, -1, -1,
2782 	-1, -1, -1, -1, -1, -1, 385, 385,
2783 	385, 145, 289, 291, -1, -1, 294, 348,
2784 	349, 350, -1, 346, -1, -1, -1, -1,
2785 	-1, -1, -1, -1, -1, -1, -1, -1,
2786 	-1, -1, 347, -1, -1, -1, -1, -1,
2787 	-1, -1, -1, -1, -1, -1, -1, -1,
2788 	-1, -1, -1, -1, -1, -1, -1, -1,
2789 	-1, -1, -1, -1, -1, -1, -1, -1,
2790 	-1, -1, -1, -1, -1, -1, -1, -1,
2791 	-1, -1, -1, -1, -1, -1, -1, -1,
2792 	-1, -1, -1, -1, -1, -1, -1, -1,
2793 	-1, -1, -1, -1, -1, -1, -1, -1,
2794 	-1, -1, -1, -1, 293, -1, -1, 374,
2795 	-1, -1, -1, 372, 373, -1, -1, -1,
2796 	-1, -1, -1, -1, -1, 351, -1, -1,
2797 	-1, -1, -1, -1, -1, -1, -1, -1,
2798 	-1, -1, -1, -1, -1, -1, -1, -1,
2799 	-1, -1, -1, -1, -1, -1, -1, -1,
2800 	-1, -1, -1, -1, -1, -1, -1, -1,
2801 	-1, -1, -1, -1, -1, -1, -1, -1,
2802 	-1, -1, 368, 369, 370, 371, -1, -1,
2803 	-1, -1, -1, -1, -1, -1, -1, -1,
2804 	-1, -1, -1, -1, -1, -1, -1, -1,
2805 	-1, -1, 45, 40, 39, 380, 381, 41,
2806 	43, 44, 382, 383, 30, 42, -1, -1,
2807 	-1, -1, -1, -1, -1, -1, -1, -1,
2808 	-1, -1, -1, -1, -1, -1, -1, -1,
2809 	-1, -1, -1, -1, -1, -1, -1, -1,
2810 	-1, -1, -1, -1, -1, -1, -1, -1,
2811 	-1, -1, -1, -1, -1, -1, -1, -1,
2812 	-1, -1, -1, -1, -1, -1, -1, -1,
2813 	-1, -1, -1, -1, -1, -1, -1, -1,
2814 	-1, -1, -1, -1, 341, 345, 343, 344,
2815 	352, 146, 291, -1, -1, 299, 305, 306,
2816 	-1, -1, -1, -1, -1, -1, 309, -1,
2817 	-1, -1, -1, -1, -1, -1, -1, -1,
2818 	-1, -1, -1, -1, -1, -1, -1, -1,
2819 	-1, -1, -1, -1, -1, -1, -1, -1,
2820 	-1, -1, -1, -1, -1, -1, -1, -1,
2821 	-1, -1, -1, -1, -1, -1, -1, -1,
2822 	-1, -1, -1, -1, -1, -1, -1, -1,
2823 	-1, -1, -1, -1, -1, -1, -1, -1,
2824 	-1, -1, -1, -1, -1, -1, -1, -1,
2825 	-1, -1, -1, -1, -1, -1, -1, -1,
2826 	-1, -1, -1, -1, -1, -1, -1, -1,
2827 	-1, -1, -1, -1, -1, -1, -1, -1,
2828 	-1, -1, -1, -1, -1, -1, -1, -1,
2829 	-1, -1, -1, -1, -1, -1, -1, -1,
2830 	-1, -1, -1, -1, -1, -1, -1, -1,
2831 	-1, -1, -1, -1, -1, -1, -1, -1,
2832 	-1, -1, -1, -1, -1, -1, -1, -1,
2833 	-1, -1, -1, -1, -1, -1, -1, -1,
2834 	-1, -1, -1, -1, -1, -1, 147, 121,
2835 	-1, 122, -1, -1, -1, -1, -1, -1,
2836 	-1, -1, -1, -1, -1, -1, -1, -1,
2837 	-1, -1, -1, -1, -1, -1, -1, -1,
2838 	-1, -1, -1, -1, -1, -1, -1, -1,
2839 	-1, -1, -1, -1, -1, -1, -1, -1,
2840 	-1, -1, -1, -1, -1, -1, -1, -1,
2841 	-1, -1, -1, -1, -1, -1, -1, -1,
2842 	-1, -1, -1, -1, -1, -1, -1, -1,
2843 	-1, -1, -1, -1, -1, -1, -1, -1,
2844 	-1, -1, -1, -1, -1, -1, -1, -1,
2845 	-1, -1, -1, -1, -1, -1, -1, -1,
2846 	296, -1, -1, -1, -1, -1, -1, -1,
2847 	-1, -1, -1, -1, -1, -1, -1, -1,
2848 	-1, -1, -1, -1, -1, -1, -1, -1,
2849 	-1, -1, -1, -1, -1, -1, -1, -1,
2850 	-1, -1, -1, -1, -1, -1, -1, -1,
2851 	-1, -1, -1, -1, -1, -1, -1, -1,
2852 	-1, -1, -1, -1, -1, -1, -1, -1,
2853 	-1, -1, -1, -1, -1, -1, -1, -1,
2854 	-1, -1, -1, -1, -1, -1, -1, -1,
2855 	-1, -1, -1, -1, -1, -1, -1, -1,
2856 	-1, -1, -1, -1, -1, -1, -1, -1,
2857 	-1, -1, -1, -1, -1, -1, -1, -1,
2858 	-1, -1, -1, -1, -1, -1, -1, -1,
2859 	-1, -1, -1, -1, -1, -1, -1, -1,
2860 	-1, -1, -1, -1, -1, -1, -1, -1,
2861 	-1, -1, -1, -1, -1, -1, -1, -1,
2862 	-1, -1, -1, -1, 148, -1, -1, -1,
2863 	-1, -1, -1, -1, -1, -1, -1, 295,
2864 	124, -1, -1, -1, -1, -1, -1, -1,
2865 	-1, -1, -1, -1, -1, -1, -1, -1,
2866 	-1, -1, -1, -1, -1, -1, -1, -1,
2867 	-1, -1, -1, -1, -1, -1, -1, -1,
2868 	-1, -1, -1, -1, -1, -1, -1, -1,
2869 	-1, -1, -1, -1, -1, -1, -1, -1,
2870 	-1, -1, -1, -1, -1, -1, -1, -1,
2871 	-1, -1, -1, -1, -1, -1, -1, -1,
2872 	-1, -1, -1, -1, -1, -1, -1, -1,
2873 	-1, -1, -1, -1, -1, -1, -1, -1,
2874 	-1, -1, -1, 120, -1, -1, -1, -1,
2875 	292, -1, -1, -1, -1, -1, -1, -1,
2876 	-1, -1, -1, -1, -1, -1, -1, -1,
2877 	-1, -1, -1, -1, -1, -1, -1, -1,
2878 	-1, -1, -1, -1, -1, -1, -1, -1,
2879 	-1, -1, -1, -1, -1, -1, -1, -1,
2880 	-1, -1, -1, -1, -1, -1, -1, -1,
2881 	-1, -1, -1, -1, -1, -1, -1, -1,
2882 	-1, -1, -1, -1, -1, -1, -1, -1,
2883 	-1, -1, -1, -1, -1, -1, -1, -1,
2884 	-1, -1, -1, -1, -1, -1, -1, -1,
2885 	-1, -1, -1, -1, -1, -1, -1, -1,
2886 	-1, -1, -1, -1, -1, -1, -1, -1,
2887 	-1, -1, -1, -1, -1, -1, -1, -1,
2888 	-1, -1, -1, -1, -1, -1, -1, -1,
2889 	-1, -1, -1, -1, -1, -1, -1, -1,
2890 	-1, -1, -1, -1, -1, -1, 149, 290,
2891 	-1, -1, -1, -1, -1, -1, -1, -1,
2892 	-1, -1, -1, -1, -1, -1, -1, -1,
2893 	-1, -1, 288, 307, 205, 213,
2894 };
2895 
2896 unsigned short Parser_keys[] = {
2897 	128, 227, 225, 225, 128, 228, 128, 244,
2898 	128, 245, 128, 128, 128, 128, 45, 248,
2899 	40, 249, 40, 249, 128, 250, 123, 128,
2900 	123, 123, 123, 123, 128, 128, 123, 123,
2901 	59, 128, 45, 248, 132, 132, 40, 292,
2902 	40, 242, 40, 242, 59, 59, 128, 187,
2903 	40, 292, 125, 228, 61, 141, 40, 242,
2904 	59, 59, 59, 59, 40, 40, 40, 289,
2905 	40, 289, 40, 249, 125, 244, 33, 281,
2906 	33, 281, 40, 289, 128, 295, 59, 59,
2907 	40, 249, 42, 295, 42, 295, 42, 295,
2908 	59, 59, 59, 59, 40, 292, 44, 59,
2909 	38, 144, 33, 281, 33, 201, 33, 181,
2910 	33, 271, 33, 201, 33, 281, 33, 281,
2911 	33, 201, 33, 201, 182, 279, 182, 279,
2912 	179, 280, 134, 134, 33, 281, 59, 59,
2913 	44, 59, 33, 281, 41, 41, 128, 294,
2914 	40, 292, 59, 59, 40, 249, 59, 59,
2915 	40, 249, 59, 59, 40, 249, 41, 44,
2916 	33, 281, 179, 283, 182, 284, 182, 284,
2917 	33, 281, 33, 281, 33, 281, 33, 281,
2918 	33, 281, 33, 281, 33, 281, 33, 281,
2919 	33, 281, 128, 293, 40, 275, 33, 274,
2920 	40, 274, 40, 274, 40, 274, 40, 274,
2921 	40, 274, 40, 206, 40, 206, 40, 206,
2922 	40, 206, 202, 206, 202, 206, 44, 276,
2923 	45, 281, 33, 281, 44, 255, 128, 245,
2924 	41, 142, 40, 292, 40, 292, 40, 292,
2925 	179, 186, 182, 279, 182, 279, 182, 186,
2926 	38, 144, 128, 294, 128, 274, 40, 242,
2927 	132, 132, 132, 132, 40, 274, 128, 274,
2928 	128, 274, 44, 125, 132, 276, 61, 61,
2929 	59, 59, 40, 274, 124, 124, 128, 128,
2930 	182, 284, 182, 284, 186, 186, 33, 181,
2931 	44, 44, 41, 41, 41, 44, 40, 289,
2932 	44, 44, 41, 44, 125, 125, 125, 276,
2933 	43, 275, 40, 274, 125, 125, 41, 41,
2934 	41, 41, 0, 0
2935 };
2936 
2937 unsigned int Parser_offsets[] = {
2938 	0, 100, 101, 202, 319, 437, 438, 439,
2939 	643, 853, 1063, 1186, 1192, 1193, 1194, 1195,
2940 	1196, 1266, 1470, 1471, 1724, 1927, 2130, 2131,
2941 	2191, 2444, 2548, 2629, 2832, 2833, 2834, 2835,
2942 	3085, 3335, 3545, 3665, 3914, 4163, 4413, 4581,
2943 	4582, 4792, 5046, 5300, 5554, 5555, 5556, 5809,
2944 	5825, 5932, 6181, 6350, 6499, 6738, 6907, 7156,
2945 	7405, 7574, 7743, 7841, 7939, 8041, 8042, 8291,
2946 	8292, 8308, 8557, 8558, 8725, 8978, 8979, 9189,
2947 	9190, 9400, 9401, 9611, 9615, 9864, 9969, 10072,
2948 	10175, 10424, 10673, 10922, 11171, 11420, 11669, 11918,
2949 	12167, 12416, 12582, 12818, 13060, 13295, 13530, 13765,
2950 	14000, 14235, 14402, 14569, 14736, 14903, 14908, 14913,
2951 	15146, 15383, 15632, 15844, 15962, 16064, 16317, 16570,
2952 	16823, 16831, 16929, 17027, 17032, 17139, 17306, 17453,
2953 	17656, 17657, 17658, 17893, 18040, 18187, 18269, 18414,
2954 	18415, 18416, 18651, 18652, 18653, 18756, 18859, 18860,
2955 	19009, 19010, 19011, 19015, 19265, 19266, 19270, 19271,
2956 	19423, 19656, 19891, 19892, 19893, 19894
2957 };
2958 
2959 unsigned short Parser_targs[] = {
2960 	1, 2, 3, 4, 5, 6, 7, 8,
2961 	9, 10, 11, 12, 13, 14, 15, 16,
2962 	17, 18, 18, 19, 20, 21, 22, 23,
2963 	24, 25, 26, 27, 28, 29, 30, 31,
2964 	32, 33, 34, 35, 36, 37, 38, 39,
2965 	40, 41, 42, 43, 44, 45, 46, 47,
2966 	48, 49, 50, 50, 51, 52, 53, 54,
2967 	55, 56, 57, 58, 59, 60, 61, 62,
2968 	63, 64, 65, 66, 67, 68, 69, 70,
2969 	71, 72, 73, 74, 75, 76, 77, 78,
2970 	79, 80, 81, 82, 83, 84, 85, 86,
2971 	87, 88, 89, 90, 91, 92, 93, 94,
2972 	95, 96, 97, 98, 99, 100, 101, 102,
2973 	103, 104, 105, 106, 107, 108, 109, 110,
2974 	111, 112, 113, 114, 115, 116, 117, 118,
2975 	119, 120, 121, 122, 123, 124, 125, 126,
2976 	127, 128, 129, 130, 131, 132, 133, 134,
2977 	135, 136, 137, 138, 139, 140, 141, 142,
2978 	143, 144, 145, 146, 147, 148, 149, 149,
2979 	149, 149, 149, 149, 149, 149, 149, 149,
2980 	149, 149, 149, 149, 149, 149, 149, 149,
2981 	149, 149, 149, 149, 149, 149, 149, 149,
2982 	149, 149, 149, 149, 149, 149, 149, 149,
2983 	149, 149, 149, 149, 149, 149, 149, 149,
2984 	149, 149, 149, 149, 149, 149, 149, 149,
2985 	149, 149, 149, 149, 149, 149, 149, 149,
2986 	149, 149, 149, 149, 149, 149, 149, 149,
2987 	149, 149, 149, 149, 149, 149, 149, 149,
2988 	149, 149, 149, 149, 149, 149, 149, 149,
2989 	149, 149, 149, 149, 149, 149, 149, 149,
2990 	149, 149, 149, 149, 149, 149, 149, 149,
2991 	149, 149, 149, 149, 149, 149, 149, 149,
2992 	149, 149, 149, 149, 149, 149, 149, 149,
2993 	149, 149, 149, 149, 149, 149, 149, 149,
2994 	149, 149, 149, 149, 149, 149, 149, 149,
2995 	149, 149, 149, 149, 149, 149, 149, 149,
2996 	149, 149, 149, 149, 149, 149, 149, 149,
2997 	149, 149, 149, 149, 149, 149, 149, 149,
2998 	149, 149, 149, 149, 149, 149, 149, 149,
2999 	149, 149, 149, 149, 149, 149, 149, 149,
3000 	149, 149, 149, 149, 149, 149, 149, 149,
3001 	149, 149, 149, 149, 149, 149, 149, 149,
3002 	149, 149, 149, 149, 149, 149, 149, 149,
3003 	149, 149, 149, 149, 149, 149, 149, 149,
3004 	149, 149, 149, 149, 149, 149, 149, 149,
3005 	149, 149, 149, 149, 149, 149, 149, 149,
3006 	149, 149, 149, 149, 149, 149, 149, 149,
3007 	149, 149, 149, 149, 149, 149, 149, 149,
3008 	149, 149, 149, 149, 149, 149, 149, 149,
3009 	149, 149, 149, 149, 149, 149, 149, 149,
3010 	149, 149, 149, 149, 149
3011 };
3012 
3013 unsigned int Parser_actInds[] = {
3014 	0, 2, 4, 6, 8, 10, 12, 14,
3015 	16, 18, 20, 22, 24, 26, 28, 30,
3016 	32, 34, 36, 39, 41, 43, 45, 47,
3017 	49, 51, 53, 55, 57, 59, 61, 63,
3018 	65, 67, 69, 71, 73, 75, 77, 79,
3019 	81, 83, 85, 87, 89, 91, 93, 95,
3020 	97, 99, 101, 103, 106, 108, 110, 112,
3021 	114, 116, 118, 120, 122, 124, 126, 128,
3022 	130, 132, 134, 136, 138, 140, 142, 144,
3023 	146, 148, 150, 152, 154, 156, 158, 160,
3024 	162, 164, 166, 168, 170, 172, 174, 176,
3025 	178, 180, 182, 184, 186, 188, 190, 192,
3026 	194, 196, 198, 200, 202, 204, 206, 208,
3027 	210, 213, 215, 217, 219, 221, 223, 225,
3028 	227, 229, 231, 233, 235, 237, 239, 241,
3029 	243, 245, 247, 249, 251, 253, 255, 257,
3030 	259, 261, 263, 265, 267, 269, 271, 273,
3031 	275, 277, 279, 281, 283, 285, 287, 289,
3032 	291, 293, 295, 297, 299, 301, 303, 305,
3033 	307, 309, 311, 313, 315, 317, 319, 321,
3034 	323, 325, 327, 329, 331, 333, 335, 337,
3035 	339, 341, 343, 345, 347, 349, 351, 353,
3036 	355, 357, 359, 361, 363, 365, 367, 369,
3037 	371, 373, 375, 377, 379, 381, 383, 385,
3038 	387, 389, 391, 393, 395, 397, 399, 401,
3039 	403, 405, 407, 409, 411, 413, 415, 417,
3040 	419, 421, 423, 425, 427, 429, 431, 433,
3041 	435, 437, 439, 441, 443, 445, 447, 449,
3042 	451, 453, 455, 457, 459, 461, 463, 465,
3043 	467, 469, 471, 473, 475, 477, 479, 481,
3044 	483, 485, 487, 489, 491, 493, 495, 497,
3045 	499, 501, 503, 505, 507, 509, 511, 513,
3046 	515, 517, 519, 521, 523, 525, 527, 529,
3047 	531, 533, 535, 537, 539, 541, 543, 545,
3048 	547, 549, 551, 553, 555, 557, 559, 561,
3049 	563, 565, 567, 569, 571, 573, 575, 577,
3050 	579, 581, 583, 585, 587, 589, 591, 593,
3051 	595, 597, 599, 601, 603, 605, 607, 609,
3052 	611, 613, 615, 617, 619, 621, 623, 625,
3053 	627, 629, 631, 633, 635, 637, 639, 641,
3054 	643, 645, 647, 649, 651, 653, 655, 657,
3055 	659, 661, 663, 665, 667, 669, 671, 673,
3056 	675, 677, 679, 681, 683, 685, 687, 689,
3057 	691, 693, 695, 697, 699, 701, 703, 705,
3058 	707, 709, 711, 713, 715, 717, 719, 721,
3059 	723, 725, 727, 729, 731, 733, 735, 737,
3060 	739, 741, 743, 745, 747, 749, 751, 753,
3061 	755, 757, 759, 761, 763, 765, 767, 769,
3062 	771, 773, 775, 777, 779, 781, 783, 785,
3063 	787, 789, 791, 793, 795, 797, 799, 801,
3064 	803, 805, 807, 809, 811
3065 };
3066 
3067 unsigned int Parser_actions[] = {
3068 	1, 0, 1, 0, 1, 0, 1, 0,
3069 	1, 0, 1, 0, 1, 0, 1, 0,
3070 	1, 0, 1, 0, 1, 0, 1, 0,
3071 	1, 0, 1, 0, 1, 0, 1, 0,
3072 	1, 0, 1, 0, 214, 1, 0, 1,
3073 	0, 1, 0, 1, 0, 1, 0, 1,
3074 	0, 1, 0, 1, 0, 1, 0, 1,
3075 	0, 1, 0, 1, 0, 1, 0, 1,
3076 	0, 1, 0, 1, 0, 1, 0, 1,
3077 	0, 1, 0, 1, 0, 1, 0, 1,
3078 	0, 1, 0, 1, 0, 1, 0, 1,
3079 	0, 1, 0, 1, 0, 1, 0, 1,
3080 	0, 1, 0, 1, 0, 1, 0, 90,
3081 	1, 0, 1, 0, 1, 0, 1, 0,
3082 	1, 0, 1, 0, 1, 0, 1, 0,
3083 	1, 0, 1, 0, 1, 0, 1, 0,
3084 	1, 0, 1, 0, 1, 0, 1, 0,
3085 	1, 0, 1, 0, 1, 0, 1, 0,
3086 	1, 0, 1, 0, 1, 0, 1, 0,
3087 	1, 0, 1, 0, 1, 0, 1, 0,
3088 	1, 0, 1, 0, 1, 0, 1, 0,
3089 	1, 0, 1, 0, 1, 0, 1, 0,
3090 	1, 0, 1, 0, 1, 0, 1, 0,
3091 	1, 0, 1, 0, 1, 0, 1, 0,
3092 	1, 0, 1, 0, 1, 0, 1, 0,
3093 	1, 0, 1, 0, 1, 0, 1, 0,
3094 	1, 0, 1, 302, 0, 1, 0, 1,
3095 	0, 1, 0, 1, 0, 1, 0, 1,
3096 	0, 1, 0, 1, 0, 1, 0, 1,
3097 	0, 1, 0, 1, 0, 1, 0, 1,
3098 	0, 1, 0, 1, 0, 1, 0, 1,
3099 	0, 1, 0, 1, 0, 1, 0, 1,
3100 	0, 1, 0, 1, 0, 1, 0, 1,
3101 	0, 1, 0, 1, 0, 1, 0, 1,
3102 	0, 1, 0, 1, 0, 1, 0, 1,
3103 	0, 1, 0, 1, 0, 1, 0, 1,
3104 	0, 1, 0, 1, 0, 1, 0, 1,
3105 	0, 1, 0, 1, 0, 1, 0, 2,
3106 	0, 7, 0, 10, 0, 15, 0, 18,
3107 	0, 71, 0, 75, 0, 79, 0, 83,
3108 	0, 86, 0, 87, 0, 90, 0, 95,
3109 	0, 99, 0, 103, 0, 107, 0, 111,
3110 	0, 115, 0, 119, 0, 123, 0, 127,
3111 	0, 131, 0, 135, 0, 139, 0, 142,
3112 	0, 146, 0, 151, 0, 155, 0, 159,
3113 	0, 163, 0, 167, 0, 171, 0, 175,
3114 	0, 179, 0, 182, 0, 186, 0, 190,
3115 	0, 195, 0, 199, 0, 203, 0, 207,
3116 	0, 211, 0, 214, 0, 219, 0, 223,
3117 	0, 227, 0, 231, 0, 235, 0, 239,
3118 	0, 243, 0, 246, 0, 251, 0, 254,
3119 	0, 259, 0, 263, 0, 267, 0, 271,
3120 	0, 275, 0, 279, 0, 283, 0, 287,
3121 	0, 291, 0, 295, 0, 299, 0, 302,
3122 	0, 306, 0, 310, 0, 314, 0, 318,
3123 	0, 323, 0, 327, 0, 331, 0, 335,
3124 	0, 339, 0, 343, 0, 347, 0, 351,
3125 	0, 355, 0, 359, 0, 363, 0, 367,
3126 	0, 371, 0, 375, 0, 379, 0, 383,
3127 	0, 387, 0, 391, 0, 395, 0, 399,
3128 	0, 403, 0, 407, 0, 411, 0, 415,
3129 	0, 419, 0, 423, 0, 427, 0, 431,
3130 	0, 435, 0, 439, 0, 443, 0, 447,
3131 	0, 451, 0, 455, 0, 459, 0, 463,
3132 	0, 467, 0, 471, 0, 475, 0, 479,
3133 	0, 483, 0, 487, 0, 491, 0, 495,
3134 	0, 499, 0, 503, 0, 507, 0, 511,
3135 	0, 515, 0, 519, 0, 523, 0, 527,
3136 	0, 531, 0, 535, 0, 539, 0, 543,
3137 	0, 547, 0, 551, 0, 555, 0, 559,
3138 	0, 563, 0, 567, 0, 571, 0, 575,
3139 	0, 579, 0, 583, 0, 587, 0, 591,
3140 	0, 595, 0, 599, 0, 603, 0, 607,
3141 	0, 610, 0, 611, 0, 615, 0, 618,
3142 	0, 623, 0, 627, 0, 631, 0, 635,
3143 	0, 638, 0, 643, 0, 647, 0, 651,
3144 	0, 655, 0, 659, 0, 663, 0, 667,
3145 	0, 671, 0, 675, 0, 679, 0, 683,
3146 	0, 687, 0, 691, 0, 694, 0, 698,
3147 	0, 702, 0, 703, 0, 707, 0, 711,
3148 	0, 715, 0, 719, 0, 723, 0, 726,
3149 	0, 727, 0, 730, 0, 731, 0, 735,
3150 	0, 739, 0, 743, 0, 747, 0, 750,
3151 	0, 755, 0, 758, 0, 763, 0, 767,
3152 	0, 771, 0, 775, 0, 779, 0, 782,
3153 	0, 786, 0, 791, 0, 795, 0, 798,
3154 	0, 803, 0, 807, 0, 811, 0, 815,
3155 	0, 819, 0, 823, 0, 827, 0, 831,
3156 	0, 835, 0, 839, 0, 843, 0, 847,
3157 	0, 851, 0, 855, 0, 859, 0, 863,
3158 	0, 867, 0, 871, 0, 875, 0, 879,
3159 	0, 883, 0, 886, 0, 891, 0, 895,
3160 	0, 899, 0, 903, 0, 907, 0, 911,
3161 	0, 915, 0, 919, 0, 923, 0, 927,
3162 	0, 931, 0, 935, 0, 939, 0, 943,
3163 	0, 947, 0, 951, 0, 955, 0, 959,
3164 	0, 963, 0, 967, 0, 970, 0, 974,
3165 	0, 978, 0, 983, 0, 986, 0, 991,
3166 	0, 995, 0, 23, 0, 27, 0, 31,
3167 	0, 35, 0, 39, 0, 43, 0, 47,
3168 	0, 51, 0, 55, 0, 59, 0, 63,
3169 	0, 67, 0, 1, 0
3170 };
3171 
3172 int Parser_commitLen[] = {
3173 	0, 0, 0, 0, 0, 0, 0, 0,
3174 	0, 0, 0, 0, 0, 0, 0, 0,
3175 	0, 0, 0, 0, 0, 0, 0, 0,
3176 	0, 0, 0, 0, 0, 0, 0, 0,
3177 	0, 0, 0, 0, 0, 0, 0, 0,
3178 	0, 0, 0, 0, 0, 0, 0, 0,
3179 	0, 0, 0, 0, 0, 0, 0, 0,
3180 	0, 0, 0, 0, 0, 0, 0, 0,
3181 	0, 0, 0, 0, 0, 0, 0, 0,
3182 	0, 0, 0, 0, 0, 0, 0, 0,
3183 	0, 0, 0, 0, 0, 0, 0, 0,
3184 	0, 0, 0, 0, 0, 0, 0, 0,
3185 	0, 0, 0, 0, 0, 0, 0, 0,
3186 	0, 0, 0, 0, 0, 0, 0, 0,
3187 	0, 0, 0, 0, 0, 0, 0, 0,
3188 	0, 0, 0, 0, 0, 0, 0, 0,
3189 	0, 0, 0, 0, 0, 0, 0, 0,
3190 	0, 0, 0, 0, 0, 0, 0, 0,
3191 	0, 0, 0, 0, 0, 0, 0, 0,
3192 	0, 0, 0, 0, 0, 0, 0, 0,
3193 	0, 0, 0, 0, 0, 0, 0, 0,
3194 	0, 0, 0, 0, 0, 0, 0, 0,
3195 	0, 0, 0, 0, 0, 0, 0, 0,
3196 	0, 0, 0, 0, 0, 0, 0, 0,
3197 	0, 0, 0, 0, 0, 0, 0, 0,
3198 	0, 0, 0, 0, 0, 0, 0, 0,
3199 	0, 0, 0, 0, 0, 0, 0, 0,
3200 	0, 0, 0, 0, 0, 0, 0, 0,
3201 	0, 0, 0, 0, 0, 0, 0, 0,
3202 	0, 0, 0, 0, 0, 0, 0, 0,
3203 	0, 0, 0, 0, 0, 0, 0, 0,
3204 	0, 0, 0, 0, 0, 0, 0, 0,
3205 	0, 0, 0, 0, 0, 0, 0, 0,
3206 	0, 0, 0, 0, 0, 0, 0, 0,
3207 	0, 0, 0, 0, 0, 0, 0, 0,
3208 	0, 0, 0, 0, 0, 0, 0, 0,
3209 	0, 0, 0, 0, 0, 0, 0, 0,
3210 	0, 0, 0, 0, 0, 0, 0, 0,
3211 	0, 0, 0, 0, 0, 0, 0, 0,
3212 	0, 0, 0, 0, 0, 0, 0, 0,
3213 	0, 0, 0, 0, 0, 0, 0, 0,
3214 	0, 0, 0, 0, 0, 0, 0, 0,
3215 	0, 0, 0, 0, 0, 0, 0, 0,
3216 	0, 0, 0, 0, 0, 0, 0, 0,
3217 	0, 0, 0, 0, 0, 0, 0, 0,
3218 	0, 0, 0, 0, 0, 0, 0, 0,
3219 	0, 0, 0, 0, 0, 0, 0, 0,
3220 	0, 0, 0, 0, 0, 0, 0, 0,
3221 	0, 0, 0, 0, 0, 0, 0, 0,
3222 	1, 1, 1, 1, 1, 1, 1, 1,
3223 	1, 1, 1, 1, 2
3224 };
3225 
3226 char Parser_prodLengths[] = {
3227 	1, 3, 0, 2, 0, 1, 1, 1,
3228 	1, 1, 1, 1, 1, 1, 1, 1,
3229 	1, 3, 4, 4, 1, 1, 0, 4,
3230 	5, 5, 1, 5, 4, 3, 4, 3,
3231 	3, 5, 2, 0, 1, 4, 2, 1,
3232 	1, 1, 3, 2, 1, 0, 3, 1,
3233 	3, 3, 3, 3, 1, 1, 2, 3,
3234 	3, 3, 3, 1, 3, 1, 3, 1,
3235 	3, 3, 7, 3, 4, 3, 3, 3,
3236 	3, 3, 7, 1, 1, 1, 1, 1,
3237 	1, 2, 1, 2, 1, 2, 1, 1,
3238 	1, 1, 2, 1, 2, 1, 2, 1,
3239 	2, 1, 2, 1, 2, 1, 2, 1,
3240 	2, 1, 2, 1, 2, 1, 2, 1,
3241 	2, 1, 2, 1, 2, 1, 2, 1,
3242 	2, 1, 2, 1, 2, 1, 2, 1,
3243 	2, 1, 2, 1, 2, 1, 2, 1,
3244 	2, 1, 2, 1, 2, 1, 2, 1,
3245 	2, 1, 2, 1, 2, 1, 3, 1,
3246 	1, 3, 1, 1, 1, 2, 2, 1,
3247 	2, 2, 2, 2, 4, 5, 5, 6,
3248 	1, 1, 2, 2, 1, 1, 1, 1,
3249 	3, 3, 3, 3, 3, 1, 1, 1,
3250 	2, 1, 2, 0, 2, 1, 3, 3,
3251 	1, 1, 2, 0, 1, 3, 2, 0,
3252 	1, 1, 1, 1, 1, 1, 1, 1,
3253 	1, 1, 2, 3, 3, 4, 3, 4,
3254 	3, 4, 2, 2, 2, 0, 1, 1,
3255 	1, 1, 1, 1, 1, 1, 1, 1,
3256 	1, 1, 1, 1, 1, 1, 1, 1,
3257 	1, 4, 2, 0, 2, 1, 0, 3,
3258 	1, 1
3259 };
3260 
3261 unsigned short Parser_prodLhsIds[] = {
3262 	227, 226, 226, 228, 228, 229, 229, 229,
3263 	229, 229, 229, 229, 229, 229, 229, 229,
3264 	229, 241, 239, 240, 243, 244, 244, 238,
3265 	230, 231, 245, 232, 233, 233, 234, 235,
3266 	236, 237, 250, 250, 247, 247, 251, 251,
3267 	252, 252, 252, 253, 253, 253, 246, 246,
3268 	256, 256, 256, 256, 256, 257, 258, 258,
3269 	258, 258, 258, 258, 259, 259, 260, 260,
3270 	262, 262, 262, 262, 262, 262, 262, 262,
3271 	262, 262, 262, 262, 263, 263, 263, 263,
3272 	266, 266, 266, 266, 266, 266, 266, 266,
3273 	266, 267, 267, 267, 267, 267, 267, 267,
3274 	267, 267, 267, 267, 267, 268, 268, 268,
3275 	268, 268, 268, 268, 268, 268, 268, 268,
3276 	268, 269, 269, 269, 269, 269, 269, 269,
3277 	269, 269, 269, 269, 269, 270, 270, 270,
3278 	270, 270, 270, 270, 270, 270, 270, 270,
3279 	270, 271, 271, 271, 271, 271, 271, 271,
3280 	271, 271, 271, 271, 271, 254, 254, 254,
3281 	274, 255, 265, 264, 275, 275, 275, 272,
3282 	273, 273, 273, 273, 273, 273, 273, 273,
3283 	273, 276, 277, 277, 277, 278, 278, 278,
3284 	278, 278, 278, 278, 278, 281, 281, 248,
3285 	248, 248, 280, 280, 282, 282, 283, 283,
3286 	283, 283, 279, 279, 284, 284, 242, 242,
3287 	285, 285, 285, 288, 288, 288, 288, 288,
3288 	288, 286, 286, 286, 286, 286, 286, 286,
3289 	286, 286, 286, 286, 249, 249, 291, 291,
3290 	291, 287, 287, 287, 287, 287, 287, 287,
3291 	292, 292, 292, 292, 292, 289, 289, 289,
3292 	289, 289, 261, 293, 290, 295, 295, 294,
3293 	294, 296
3294 };
3295 
3296 const char *Parser_prodNames[] = {
3297 	"start-1",
3298 	"section_list-1",
3299 	"section_list-2",
3300 	"statement_list-1",
3301 	"statement_list-2",
3302 	"statement-1",
3303 	"statement-2",
3304 	"statement-3",
3305 	"statement-4",
3306 	"statement-5",
3307 	"statement-6",
3308 	"statement-7",
3309 	"statement-8",
3310 	"statement-9",
3311 	"statement-10",
3312 	"statement-11",
3313 	"statement-12",
3314 	"length_spec-1",
3315 	"pre_push_spec-1",
3316 	"post_pop_spec-1",
3317 	"export_open-1",
3318 	"opt_export-1",
3319 	"opt_export-2",
3320 	"export_block-1",
3321 	"assignment-1",
3322 	"instantiation-1",
3323 	"machine_name-1",
3324 	"action_spec-1",
3325 	"alphtype_spec-1",
3326 	"alphtype_spec-2",
3327 	"range_spec-1",
3328 	"getkey_spec-1",
3329 	"access_spec-1",
3330 	"variable_spec-1",
3331 	"opt_whitespace-1",
3332 	"opt_whitespace-2",
3333 	"join_or_lm-1",
3334 	"join_or_lm-2",
3335 	"lm_part_list-1",
3336 	"lm_part_list-2",
3337 	"longest_match_part-1",
3338 	"longest_match_part-2",
3339 	"longest_match_part-3",
3340 	"opt_lm_part_action-1",
3341 	"opt_lm_part_action-2",
3342 	"opt_lm_part_action-3",
3343 	"join-1",
3344 	"join-2",
3345 	"expression-1",
3346 	"expression-2",
3347 	"expression-3",
3348 	"expression-4",
3349 	"expression-5",
3350 	"term_short-1",
3351 	"term-1",
3352 	"term-2",
3353 	"term-3",
3354 	"term-4",
3355 	"term-5",
3356 	"term-6",
3357 	"factor_with_label-1",
3358 	"factor_with_label-2",
3359 	"factor_with_ep-1",
3360 	"factor_with_ep-2",
3361 	"factor_with_aug-1",
3362 	"factor_with_aug-2",
3363 	"factor_with_aug-3",
3364 	"factor_with_aug-4",
3365 	"factor_with_aug-5",
3366 	"factor_with_aug-6",
3367 	"factor_with_aug-7",
3368 	"factor_with_aug-8",
3369 	"factor_with_aug-9",
3370 	"factor_with_aug-10",
3371 	"factor_with_aug-11",
3372 	"factor_with_aug-12",
3373 	"aug_type_base-1",
3374 	"aug_type_base-2",
3375 	"aug_type_base-3",
3376 	"aug_type_base-4",
3377 	"aug_type_cond-1",
3378 	"aug_type_cond-2",
3379 	"aug_type_cond-3",
3380 	"aug_type_cond-4",
3381 	"aug_type_cond-5",
3382 	"aug_type_cond-6",
3383 	"aug_type_cond-7",
3384 	"aug_type_cond-8",
3385 	"aug_type_cond-9",
3386 	"aug_type_to_state-1",
3387 	"aug_type_to_state-2",
3388 	"aug_type_to_state-3",
3389 	"aug_type_to_state-4",
3390 	"aug_type_to_state-5",
3391 	"aug_type_to_state-6",
3392 	"aug_type_to_state-7",
3393 	"aug_type_to_state-8",
3394 	"aug_type_to_state-9",
3395 	"aug_type_to_state-10",
3396 	"aug_type_to_state-11",
3397 	"aug_type_to_state-12",
3398 	"aug_type_from_state-1",
3399 	"aug_type_from_state-2",
3400 	"aug_type_from_state-3",
3401 	"aug_type_from_state-4",
3402 	"aug_type_from_state-5",
3403 	"aug_type_from_state-6",
3404 	"aug_type_from_state-7",
3405 	"aug_type_from_state-8",
3406 	"aug_type_from_state-9",
3407 	"aug_type_from_state-10",
3408 	"aug_type_from_state-11",
3409 	"aug_type_from_state-12",
3410 	"aug_type_eof-1",
3411 	"aug_type_eof-2",
3412 	"aug_type_eof-3",
3413 	"aug_type_eof-4",
3414 	"aug_type_eof-5",
3415 	"aug_type_eof-6",
3416 	"aug_type_eof-7",
3417 	"aug_type_eof-8",
3418 	"aug_type_eof-9",
3419 	"aug_type_eof-10",
3420 	"aug_type_eof-11",
3421 	"aug_type_eof-12",
3422 	"aug_type_gbl_error-1",
3423 	"aug_type_gbl_error-2",
3424 	"aug_type_gbl_error-3",
3425 	"aug_type_gbl_error-4",
3426 	"aug_type_gbl_error-5",
3427 	"aug_type_gbl_error-6",
3428 	"aug_type_gbl_error-7",
3429 	"aug_type_gbl_error-8",
3430 	"aug_type_gbl_error-9",
3431 	"aug_type_gbl_error-10",
3432 	"aug_type_gbl_error-11",
3433 	"aug_type_gbl_error-12",
3434 	"aug_type_local_error-1",
3435 	"aug_type_local_error-2",
3436 	"aug_type_local_error-3",
3437 	"aug_type_local_error-4",
3438 	"aug_type_local_error-5",
3439 	"aug_type_local_error-6",
3440 	"aug_type_local_error-7",
3441 	"aug_type_local_error-8",
3442 	"aug_type_local_error-9",
3443 	"aug_type_local_error-10",
3444 	"aug_type_local_error-11",
3445 	"aug_type_local_error-12",
3446 	"action_embed-1",
3447 	"action_embed-2",
3448 	"action_embed-3",
3449 	"action_embed_word-1",
3450 	"action_embed_block-1",
3451 	"priority_name-1",
3452 	"priority_aug-1",
3453 	"priority_aug_num-1",
3454 	"priority_aug_num-2",
3455 	"priority_aug_num-3",
3456 	"local_err_name-1",
3457 	"factor_with_rep-1",
3458 	"factor_with_rep-2",
3459 	"factor_with_rep-3",
3460 	"factor_with_rep-4",
3461 	"factor_with_rep-5",
3462 	"factor_with_rep-6",
3463 	"factor_with_rep-7",
3464 	"factor_with_rep-8",
3465 	"factor_with_rep-9",
3466 	"factor_rep_num-1",
3467 	"factor_with_neg-1",
3468 	"factor_with_neg-2",
3469 	"factor_with_neg-3",
3470 	"factor-1",
3471 	"factor-2",
3472 	"factor-3",
3473 	"factor-4",
3474 	"factor-5",
3475 	"factor-6",
3476 	"factor-7",
3477 	"factor-8",
3478 	"range_lit-1",
3479 	"range_lit-2",
3480 	"alphabet_num-1",
3481 	"alphabet_num-2",
3482 	"alphabet_num-3",
3483 	"regular_expr-1",
3484 	"regular_expr-2",
3485 	"regular_expr_item-1",
3486 	"regular_expr_item-2",
3487 	"regular_expr_char-1",
3488 	"regular_expr_char-2",
3489 	"regular_expr_char-3",
3490 	"regular_expr_char-4",
3491 	"regular_expr_or_data-1",
3492 	"regular_expr_or_data-2",
3493 	"regular_expr_or_char-1",
3494 	"regular_expr_or_char-2",
3495 	"inline_block-1",
3496 	"inline_block-2",
3497 	"inline_block_item-1",
3498 	"inline_block_item-2",
3499 	"inline_block_item-3",
3500 	"inline_block_symbol-1",
3501 	"inline_block_symbol-2",
3502 	"inline_block_symbol-3",
3503 	"inline_block_symbol-4",
3504 	"inline_block_symbol-5",
3505 	"inline_block_symbol-6",
3506 	"inline_block_interpret-1",
3507 	"inline_block_interpret-2",
3508 	"inline_block_interpret-3",
3509 	"inline_block_interpret-4",
3510 	"inline_block_interpret-5",
3511 	"inline_block_interpret-6",
3512 	"inline_block_interpret-7",
3513 	"inline_block_interpret-8",
3514 	"inline_block_interpret-9",
3515 	"inline_block_interpret-10",
3516 	"inline_block_interpret-11",
3517 	"inline_expr-1",
3518 	"inline_expr-2",
3519 	"inline_expr_item-1",
3520 	"inline_expr_item-2",
3521 	"inline_expr_item-3",
3522 	"inline_expr_any-1",
3523 	"inline_expr_any-2",
3524 	"inline_expr_any-3",
3525 	"inline_expr_any-4",
3526 	"inline_expr_any-5",
3527 	"inline_expr_any-6",
3528 	"inline_expr_any-7",
3529 	"inline_expr_symbol-1",
3530 	"inline_expr_symbol-2",
3531 	"inline_expr_symbol-3",
3532 	"inline_expr_symbol-4",
3533 	"inline_expr_symbol-5",
3534 	"inline_expr_interpret-1",
3535 	"inline_expr_interpret-2",
3536 	"inline_expr_interpret-3",
3537 	"inline_expr_interpret-4",
3538 	"inline_expr_interpret-5",
3539 	"local_state_ref-1",
3540 	"no_name_sep-1",
3541 	"state_ref-1",
3542 	"opt_name_sep-1",
3543 	"opt_name_sep-2",
3544 	"state_ref_names-1",
3545 	"state_ref_names-2",
3546 	"_start-1"
3547 };
3548 
3549 const char *Parser_lelNames[] = {
3550 	"D-0",
3551 	"D-1",
3552 	"D-2",
3553 	"D-3",
3554 	"D-4",
3555 	"D-5",
3556 	"D-6",
3557 	"D-7",
3558 	"D-8",
3559 	"D-9",
3560 	"D-10",
3561 	"D-11",
3562 	"D-12",
3563 	"D-13",
3564 	"D-14",
3565 	"D-15",
3566 	"D-16",
3567 	"D-17",
3568 	"D-18",
3569 	"D-19",
3570 	"D-20",
3571 	"D-21",
3572 	"D-22",
3573 	"D-23",
3574 	"D-24",
3575 	"D-25",
3576 	"D-26",
3577 	"D-27",
3578 	"D-28",
3579 	"D-29",
3580 	"D-30",
3581 	"D-31",
3582 	"D-32",
3583 	"!",
3584 	"\"",
3585 	"#",
3586 	"$",
3587 	"%",
3588 	"&",
3589 	"'",
3590 	"(",
3591 	")",
3592 	"*",
3593 	"+",
3594 	",",
3595 	"-",
3596 	".",
3597 	"/",
3598 	"0",
3599 	"1",
3600 	"2",
3601 	"3",
3602 	"4",
3603 	"5",
3604 	"6",
3605 	"7",
3606 	"8",
3607 	"9",
3608 	":",
3609 	";",
3610 	"<",
3611 	"=",
3612 	">",
3613 	"?",
3614 	"@",
3615 	"A",
3616 	"B",
3617 	"C",
3618 	"D",
3619 	"E",
3620 	"F",
3621 	"G",
3622 	"H",
3623 	"I",
3624 	"J",
3625 	"K",
3626 	"L",
3627 	"M",
3628 	"N",
3629 	"O",
3630 	"P",
3631 	"Q",
3632 	"R",
3633 	"S",
3634 	"T",
3635 	"U",
3636 	"V",
3637 	"W",
3638 	"X",
3639 	"Y",
3640 	"Z",
3641 	"[",
3642 	"\\",
3643 	"]",
3644 	"^",
3645 	"_",
3646 	"`",
3647 	"a",
3648 	"b",
3649 	"c",
3650 	"d",
3651 	"e",
3652 	"f",
3653 	"g",
3654 	"h",
3655 	"i",
3656 	"j",
3657 	"k",
3658 	"l",
3659 	"m",
3660 	"n",
3661 	"o",
3662 	"p",
3663 	"q",
3664 	"r",
3665 	"s",
3666 	"t",
3667 	"u",
3668 	"v",
3669 	"w",
3670 	"x",
3671 	"y",
3672 	"z",
3673 	"{",
3674 	"|",
3675 	"}",
3676 	"~",
3677 	"D-127",
3678 	"TK_Word",
3679 	"TK_Literal",
3680 	"TK_Number",
3681 	"TK_EndSection",
3682 	"TK_UInt",
3683 	"TK_Hex",
3684 	"TK_DotDot",
3685 	"TK_ColonGt",
3686 	"TK_ColonGtGt",
3687 	"TK_LtColon",
3688 	"TK_Arrow",
3689 	"TK_DoubleArrow",
3690 	"TK_StarStar",
3691 	"TK_ColonEquals",
3692 	"TK_NameSep",
3693 	"TK_BarStar",
3694 	"TK_DashDash",
3695 	"TK_StartCond",
3696 	"TK_AllCond",
3697 	"TK_LeavingCond",
3698 	"TK_Middle",
3699 	"TK_StartGblError",
3700 	"TK_AllGblError",
3701 	"TK_FinalGblError",
3702 	"TK_NotFinalGblError",
3703 	"TK_NotStartGblError",
3704 	"TK_MiddleGblError",
3705 	"TK_StartLocalError",
3706 	"TK_AllLocalError",
3707 	"TK_FinalLocalError",
3708 	"TK_NotFinalLocalError",
3709 	"TK_NotStartLocalError",
3710 	"TK_MiddleLocalError",
3711 	"TK_StartEOF",
3712 	"TK_AllEOF",
3713 	"TK_FinalEOF",
3714 	"TK_NotFinalEOF",
3715 	"TK_NotStartEOF",
3716 	"TK_MiddleEOF",
3717 	"TK_StartToState",
3718 	"TK_AllToState",
3719 	"TK_FinalToState",
3720 	"TK_NotFinalToState",
3721 	"TK_NotStartToState",
3722 	"TK_MiddleToState",
3723 	"TK_StartFromState",
3724 	"TK_AllFromState",
3725 	"TK_FinalFromState",
3726 	"TK_NotFinalFromState",
3727 	"TK_NotStartFromState",
3728 	"TK_MiddleFromState",
3729 	"RE_Slash",
3730 	"RE_SqOpen",
3731 	"RE_SqOpenNeg",
3732 	"RE_SqClose",
3733 	"RE_Dot",
3734 	"RE_Star",
3735 	"RE_Dash",
3736 	"RE_Char",
3737 	"IL_WhiteSpace",
3738 	"IL_Comment",
3739 	"IL_Literal",
3740 	"IL_Symbol",
3741 	"KW_Machine",
3742 	"KW_Include",
3743 	"KW_Import",
3744 	"KW_Write",
3745 	"KW_Action",
3746 	"KW_AlphType",
3747 	"KW_Range",
3748 	"KW_GetKey",
3749 	"KW_InWhen",
3750 	"KW_When",
3751 	"KW_OutWhen",
3752 	"KW_Eof",
3753 	"KW_Err",
3754 	"KW_Lerr",
3755 	"KW_To",
3756 	"KW_From",
3757 	"KW_Export",
3758 	"KW_PrePush",
3759 	"KW_PostPop",
3760 	"KW_Length",
3761 	"KW_Break",
3762 	"KW_Exec",
3763 	"KW_Hold",
3764 	"KW_PChar",
3765 	"KW_Char",
3766 	"KW_Goto",
3767 	"KW_Call",
3768 	"KW_Ret",
3769 	"KW_CurState",
3770 	"KW_TargState",
3771 	"KW_Entry",
3772 	"KW_Next",
3773 	"KW_Variable",
3774 	"KW_Access",
3775 	"Parser_tk_eof",
3776 	"section_list",
3777 	"start",
3778 	"statement_list",
3779 	"statement",
3780 	"assignment",
3781 	"instantiation",
3782 	"action_spec",
3783 	"alphtype_spec",
3784 	"range_spec",
3785 	"getkey_spec",
3786 	"access_spec",
3787 	"variable_spec",
3788 	"export_block",
3789 	"pre_push_spec",
3790 	"post_pop_spec",
3791 	"length_spec",
3792 	"inline_block",
3793 	"export_open",
3794 	"opt_export",
3795 	"machine_name",
3796 	"join",
3797 	"join_or_lm",
3798 	"alphabet_num",
3799 	"inline_expr",
3800 	"opt_whitespace",
3801 	"lm_part_list",
3802 	"longest_match_part",
3803 	"opt_lm_part_action",
3804 	"action_embed",
3805 	"action_embed_block",
3806 	"expression",
3807 	"term_short",
3808 	"term",
3809 	"factor_with_label",
3810 	"factor_with_ep",
3811 	"local_state_ref",
3812 	"factor_with_aug",
3813 	"aug_type_base",
3814 	"priority_aug",
3815 	"priority_name",
3816 	"aug_type_cond",
3817 	"aug_type_to_state",
3818 	"aug_type_from_state",
3819 	"aug_type_eof",
3820 	"aug_type_gbl_error",
3821 	"aug_type_local_error",
3822 	"local_err_name",
3823 	"factor_with_rep",
3824 	"action_embed_word",
3825 	"priority_aug_num",
3826 	"factor_rep_num",
3827 	"factor_with_neg",
3828 	"factor",
3829 	"regular_expr_or_data",
3830 	"regular_expr",
3831 	"range_lit",
3832 	"regular_expr_item",
3833 	"regular_expr_char",
3834 	"regular_expr_or_char",
3835 	"inline_block_item",
3836 	"inline_block_interpret",
3837 	"inline_expr_any",
3838 	"inline_block_symbol",
3839 	"inline_expr_interpret",
3840 	"state_ref",
3841 	"inline_expr_item",
3842 	"inline_expr_symbol",
3843 	"no_name_sep",
3844 	"state_ref_names",
3845 	"opt_name_sep",
3846 	"_start"
3847 };
3848 
3849 #line 1449 "rlparse.kl"
3850 
3851 
init()3852 void Parser::init()
3853 {
3854 	#line 3855 "rlparse.cpp"
3855 	curs = Parser_startState;
3856 	pool = 0;
3857 	block = (struct Parser_Block*) malloc( sizeof(struct Parser_Block) );
3858 	block->next = 0;
3859 	freshEl = block->data;
3860 	#ifdef KELBT_LOG_ACTIONS
3861 	cerr << "allocating 8128 LangEls" << endl;
3862 	#endif
3863 	stackTop = freshEl;
3864 	stackTop->type = 0;
3865 	stackTop->state = -1;
3866 	stackTop->next = 0;
3867 	stackTop->child = 0;
3868 	stackTop->causeReduce = 0;
3869 	freshPos = 1;
3870 	lastFinal = stackTop;
3871 	numRetry = 0;
3872 	numNodes = 0;
3873 	errCount = 0;
3874 #line 1454 "rlparse.kl"
3875 }
3876 
parseLangEl(int type,const Token * token)3877 int Parser::parseLangEl( int type, const Token *token )
3878 {
3879 	#line 3880 "rlparse.cpp"
3880 #define reject() induceReject = 1
3881 
3882 	int pos, targState;
3883 	unsigned int *action;
3884 	int rhsLen;
3885 	struct Parser_LangEl *rhs[32];
3886 	struct Parser_LangEl *lel = 0;
3887 	struct Parser_LangEl *input = 0;
3888 	struct Parser_LangEl *queue = 0;
3889 	char induceReject;
3890 
3891 	if ( curs < 0 )
3892 		return 0;
3893 
3894 	if ( pool == 0 ) {
3895 		if ( freshPos == 8128 ) {
3896 			struct Parser_Block* newBlock  = (struct Parser_Block*) malloc( sizeof(struct Parser_Block) );
3897 			newBlock->next = block;
3898 			block = newBlock;
3899 			freshEl = newBlock->data;
3900 			#ifdef KELBT_LOG_ACTIONS
3901 			cerr << "allocating 8128 LangEls" << endl;
3902 			#endif
3903 			freshPos = 0;
3904 		}
3905 		queue = freshEl + freshPos++;
3906 	}
3907 	else {
3908 		queue = pool;
3909 		pool = pool->next;
3910 	}
3911 	numNodes += 1;
3912 
3913 	queue->type = type;
3914 	queue->user.token = *token;
3915 	queue->next = 0;
3916 	queue->retry = 0;
3917 	queue->child = 0;
3918 	queue->causeReduce = 0;
3919 
3920 again:
3921 	if ( input == 0 ) {
3922 		if ( queue == 0 )
3923 			goto _out;
3924 
3925 		input = queue;
3926 		queue = queue->next;
3927 		input->next = 0;
3928 	}
3929 
3930 	lel = input;
3931 	if ( lel->type < Parser_keys[curs<<1] || lel->type > Parser_keys[(curs<<1)+1] )
3932 		goto parseError;
3933 
3934 	pos = Parser_indicies[Parser_offsets[curs] + (lel->type - Parser_keys[curs<<1])];
3935 	if ( pos < 0 )
3936 		goto parseError;
3937 
3938 	induceReject = 0;
3939 	targState = Parser_targs[pos];
3940 	action = Parser_actions + Parser_actInds[pos];
3941 	if ( lel->retry & 0x0000ffff )
3942 		action += (lel->retry & 0x0000ffff);
3943 
3944 	if ( *action & 0x1 ) {
3945 		#ifdef KELBT_LOG_ACTIONS
3946 		cerr << "shifted: " << Parser_lelNames[lel->type];
3947 		#endif
3948 		input = input->next;
3949 		lel->state = curs;
3950 		lel->next = stackTop;
3951 		stackTop = lel;
3952 
3953 		if ( action[1] == 0 )
3954 			lel->retry &= 0xffff0000;
3955 		else {
3956 			lel->retry += 1;
3957 			numRetry += 1;
3958 			#ifdef KELBT_LOG_ACTIONS
3959 			cerr << " retry: " << stackTop;
3960 			#endif
3961 		}
3962 		#ifdef KELBT_LOG_ACTIONS
3963 		cerr << endl;
3964 		#endif
3965 	}
3966 
3967 	if ( Parser_commitLen[pos] != 0 ) {
3968 		struct Parser_LangEl *commitHead = stackTop, *lel;
3969 		int sp = 0, doExec = 0;
3970 		#ifdef KELBT_LOG_ACTIONS
3971 		cerr << "commit encountered, executing final actions" << endl;
3972 		#endif
3973 		if ( Parser_commitLen[pos] < 0 )
3974 			commitHead = commitHead->next;
3975 
3976 		lel = commitHead;
3977 
3978 commit_head:
3979 		if ( lel == lastFinal ) {
3980 			doExec = 1;
3981 			goto commit_base;
3982 		}
3983 
3984 		if ( lel->next != 0 ) {
3985 			sp += 1;
3986 			lel->next->prev = lel;
3987 			lel = lel->next;
3988 			lel->retry = 0;
3989 			goto commit_head;
3990 		}
3991 
3992 commit_reverse:
3993 
3994 		if ( lel->child != 0 ) {
3995 			sp += 1;
3996 			lel->child->prev = lel;
3997 			lel = lel->child;
3998 			lel->retry = 1;
3999 			goto commit_head;
4000 		}
4001 
4002 commit_upwards:
4003 
4004 		if ( doExec ) {
4005 			if ( lel->type < 226 ) {
4006 			}
4007 			else {
4008 				struct Parser_LangEl *redLel = lel;
4009 				if ( redLel->child != 0 ) {
4010 					int r = Parser_prodLengths[redLel->reduction] - 1;
4011 					struct Parser_LangEl *rhsEl = redLel->child;
4012 					while ( rhsEl != 0 ) {
4013 						rhs[r--] = rhsEl;
4014 						rhsEl = rhsEl->next;
4015 					}
4016 				}
4017 switch ( lel->reduction ) {
4018 case 17: {
4019 Token *__ref0 = (Token*)&rhs[1]->user.token;
4020 Token *__ref1 = (Token*)&rhs[1]->user.token;
4021 Token *__ref2 = (Token*)&rhs[1]->user.token;
4022 #line 61 "rlparse.kl"
4023 
4024 		LengthDef *lengthDef = new LengthDef( (__ref0)->data );
4025 		pd->lengthDefList.append( lengthDef );
4026 
4027 		/* Generic creation of machine for instantiation and assignment. */
4028 		MachineDef *machineDef = new MachineDef( lengthDef );
4029 		tryMachineDef( (__ref1)->loc, (__ref2)->data, machineDef, false );
4030 
4031 
4032 #line 4031 "rlparse.cpp"
4033 } break;
4034 case 18: {
4035 Token *__ref0 = (Token*)&rhs[1]->user.token;
4036 Parser_Lel_inline_list *__ref1 = (Parser_Lel_inline_list*)&rhs[2]->user.inline_list;
4037 #line 72 "rlparse.kl"
4038 
4039 		if ( pd->prePushExpr != 0 ) {
4040 			/* Recover by just ignoring the duplicate. */
4041 			error((__ref0)->loc) << "pre_push code already defined" << endl;
4042 		}
4043 
4044 		pd->prePushExpr = (__ref1)->inlineList;
4045 
4046 
4047 #line 4046 "rlparse.cpp"
4048 } break;
4049 case 19: {
4050 Token *__ref0 = (Token*)&rhs[1]->user.token;
4051 Parser_Lel_inline_list *__ref1 = (Parser_Lel_inline_list*)&rhs[2]->user.inline_list;
4052 #line 84 "rlparse.kl"
4053 
4054 		if ( pd->postPopExpr != 0 ) {
4055 			/* Recover by just ignoring the duplicate. */
4056 			error((__ref0)->loc) << "post_pop code already defined" << endl;
4057 		}
4058 
4059 		pd->postPopExpr = (__ref1)->inlineList;
4060 
4061 
4062 #line 4061 "rlparse.cpp"
4063 } break;
4064 case 20: {
4065 #line 95 "rlparse.kl"
4066 
4067 		exportContext.append( true );
4068 
4069 
4070 #line 4069 "rlparse.cpp"
4071 } break;
4072 case 21: {
4073 Parser_Lel_opt_export *__ref0 = (Parser_Lel_opt_export*)&redLel->user.opt_export;
4074 #line 104 "rlparse.kl"
4075  (__ref0)->isSet = true;
4076 
4077 #line 4076 "rlparse.cpp"
4078 } break;
4079 case 22: {
4080 Parser_Lel_opt_export *__ref0 = (Parser_Lel_opt_export*)&redLel->user.opt_export;
4081 #line 105 "rlparse.kl"
4082  (__ref0)->isSet = false;
4083 
4084 #line 4083 "rlparse.cpp"
4085 } break;
4086 case 23: {
4087 #line 108 "rlparse.kl"
4088 
4089 		exportContext.remove( exportContext.length()-1 );
4090 
4091 
4092 #line 4091 "rlparse.cpp"
4093 } break;
4094 case 24: {
4095 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&rhs[1]->user.token_type;
4096 Parser_Lel_token_type *__ref1 = (Parser_Lel_token_type*)&rhs[1]->user.token_type;
4097 Parser_Lel_join *__ref2 = (Parser_Lel_join*)&rhs[3]->user.join;
4098 Parser_Lel_token_type *__ref3 = (Parser_Lel_token_type*)&rhs[1]->user.token_type;
4099 Parser_Lel_token_type *__ref4 = (Parser_Lel_token_type*)&rhs[1]->user.token_type;
4100 Parser_Lel_opt_export *__ref5 = (Parser_Lel_opt_export*)&rhs[0]->user.opt_export;
4101 Parser_Lel_join *__ref6 = (Parser_Lel_join*)&rhs[3]->user.join;
4102 Token *__ref7 = (Token*)&rhs[2]->user.token;
4103 #line 113 "rlparse.kl"
4104 
4105 		/* Main machine must be an instance. */
4106 		bool isInstance = false;
4107 		if ( strcmp((__ref0)->token.data, mainMachine) == 0 ) {
4108 			warning((__ref1)->token.loc) <<
4109 					"main machine will be implicitly instantiated" << endl;
4110 			isInstance = true;
4111 		}
4112 
4113 		/* Generic creation of machine for instantiation and assignment. */
4114 		MachineDef *machineDef = new MachineDef( (__ref2)->join );
4115 		tryMachineDef( (__ref3)->token.loc, (__ref4)->token.data, machineDef, isInstance );
4116 
4117 		if ( (__ref5)->isSet )
4118 			exportContext.remove( exportContext.length()-1 );
4119 
4120 		(__ref6)->join->loc = (__ref7)->loc;
4121 
4122 
4123 #line 4122 "rlparse.cpp"
4124 } break;
4125 case 25: {
4126 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&rhs[1]->user.token_type;
4127 Parser_Lel_token_type *__ref1 = (Parser_Lel_token_type*)&rhs[1]->user.token_type;
4128 Parser_Lel_join_or_lm *__ref2 = (Parser_Lel_join_or_lm*)&rhs[3]->user.join_or_lm;
4129 Parser_Lel_opt_export *__ref3 = (Parser_Lel_opt_export*)&rhs[0]->user.opt_export;
4130 Parser_Lel_join_or_lm *__ref4 = (Parser_Lel_join_or_lm*)&rhs[3]->user.join_or_lm;
4131 Parser_Lel_join_or_lm *__ref5 = (Parser_Lel_join_or_lm*)&rhs[3]->user.join_or_lm;
4132 Token *__ref6 = (Token*)&rhs[2]->user.token;
4133 #line 133 "rlparse.kl"
4134 
4135 		/* Generic creation of machine for instantiation and assignment. */
4136 		tryMachineDef( (__ref0)->token.loc, (__ref1)->token.data, (__ref2)->machineDef, true );
4137 
4138 		if ( (__ref3)->isSet )
4139 			exportContext.remove( exportContext.length()-1 );
4140 
4141 		/* Pass a location to join_or_lm */
4142 		if ( (__ref4)->machineDef->join != 0 )
4143 			(__ref5)->machineDef->join->loc = (__ref6)->loc;
4144 
4145 
4146 #line 4145 "rlparse.cpp"
4147 } break;
4148 case 26: {
4149 Token *__ref0 = (Token*)&rhs[0]->user.token;
4150 Token *__ref1 = (Token*)&rhs[0]->user.token;
4151 Parser_Lel_token_type *__ref2 = (Parser_Lel_token_type*)&redLel->user.token_type;
4152 Token *__ref3 = (Token*)&rhs[0]->user.token;
4153 #line 153 "rlparse.kl"
4154 
4155 		/* Make/get the priority key. The name may have already been referenced
4156 		 * and therefore exist. */
4157 		PriorDictEl *priorDictEl;
4158 		if ( pd->priorDict.insert( (__ref0)->data, pd->nextPriorKey, &priorDictEl ) )
4159 			pd->nextPriorKey += 1;
4160 		pd->curDefPriorKey = priorDictEl->value;
4161 
4162 		/* Make/get the local error key. */
4163 		LocalErrDictEl *localErrDictEl;
4164 		if ( pd->localErrDict.insert( (__ref1)->data, pd->nextLocalErrKey, &localErrDictEl ) )
4165 			pd->nextLocalErrKey += 1;
4166 		pd->curDefLocalErrKey = localErrDictEl->value;
4167 
4168 		(__ref2)->token = *(__ref3);
4169 
4170 
4171 #line 4170 "rlparse.cpp"
4172 } break;
4173 case 27: {
4174 Token *__ref0 = (Token*)&rhs[1]->user.token;
4175 Token *__ref1 = (Token*)&rhs[1]->user.token;
4176 Token *__ref2 = (Token*)&rhs[1]->user.token;
4177 Token *__ref3 = (Token*)&rhs[2]->user.token;
4178 Token *__ref4 = (Token*)&rhs[1]->user.token;
4179 Parser_Lel_inline_list *__ref5 = (Parser_Lel_inline_list*)&rhs[3]->user.inline_list;
4180 #line 171 "rlparse.kl"
4181 
4182 		if ( pd->actionDict.find( (__ref0)->data ) ) {
4183 			/* Recover by just ignoring the duplicate. */
4184 			error((__ref1)->loc) << "action \"" << (__ref2)->data << "\" already defined" << endl;
4185 		}
4186 		else {
4187 			//cerr << "NEW ACTION " << $2->data << " " << $4->inlineList << endl;
4188 			/* Add the action to the list of actions. */
4189 			Action *newAction = new Action( (__ref3)->loc, (__ref4)->data,
4190 					(__ref5)->inlineList, pd->nextCondId++ );
4191 
4192 			/* Insert to list and dict. */
4193 			pd->actionList.append( newAction );
4194 			pd->actionDict.insert( newAction );
4195 		}
4196 
4197 
4198 #line 4197 "rlparse.cpp"
4199 } break;
4200 case 28: {
4201 Token *__ref0 = (Token*)&rhs[0]->user.token;
4202 Token *__ref1 = (Token*)&rhs[1]->user.token;
4203 Token *__ref2 = (Token*)&rhs[2]->user.token;
4204 Token *__ref3 = (Token*)&rhs[1]->user.token;
4205 Token *__ref4 = (Token*)&rhs[1]->user.token;
4206 Token *__ref5 = (Token*)&rhs[2]->user.token;
4207 #line 191 "rlparse.kl"
4208 
4209 		if ( ! pd->setAlphType( (__ref0)->loc, (__ref1)->data, (__ref2)->data ) ) {
4210 			// Recover by ignoring the alphtype statement.
4211 			error((__ref3)->loc) << "\"" << (__ref4)->data <<
4212 					" " << (__ref5)->data << "\" is not a valid alphabet type" << endl;
4213 		}
4214 
4215 
4216 #line 4215 "rlparse.cpp"
4217 } break;
4218 case 29: {
4219 Token *__ref0 = (Token*)&rhs[0]->user.token;
4220 Token *__ref1 = (Token*)&rhs[1]->user.token;
4221 Token *__ref2 = (Token*)&rhs[1]->user.token;
4222 Token *__ref3 = (Token*)&rhs[1]->user.token;
4223 #line 200 "rlparse.kl"
4224 
4225 		if ( ! pd->setAlphType( (__ref0)->loc, (__ref1)->data ) ) {
4226 			// Recover by ignoring the alphtype statement.
4227 			error((__ref2)->loc) << "\"" << (__ref3)->data <<
4228 					"\" is not a valid alphabet type" << endl;
4229 		}
4230 
4231 
4232 #line 4231 "rlparse.cpp"
4233 } break;
4234 case 30: {
4235 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&rhs[1]->user.token_type;
4236 Parser_Lel_token_type *__ref1 = (Parser_Lel_token_type*)&rhs[2]->user.token_type;
4237 Parser_Lel_token_type *__ref2 = (Parser_Lel_token_type*)&rhs[1]->user.token_type;
4238 Parser_Lel_token_type *__ref3 = (Parser_Lel_token_type*)&rhs[2]->user.token_type;
4239 #line 210 "rlparse.kl"
4240 
4241 		// Save the upper and lower ends of the range and emit the line number.
4242 		pd->lowerNum = (__ref0)->token.data;
4243 		pd->upperNum = (__ref1)->token.data;
4244 		pd->rangeLowLoc = (__ref2)->token.loc;
4245 		pd->rangeHighLoc = (__ref3)->token.loc;
4246 
4247 
4248 #line 4247 "rlparse.cpp"
4249 } break;
4250 case 31: {
4251 Parser_Lel_inline_list *__ref0 = (Parser_Lel_inline_list*)&rhs[1]->user.inline_list;
4252 #line 219 "rlparse.kl"
4253 
4254 		pd->getKeyExpr = (__ref0)->inlineList;
4255 
4256 
4257 #line 4256 "rlparse.cpp"
4258 } break;
4259 case 32: {
4260 Parser_Lel_inline_list *__ref0 = (Parser_Lel_inline_list*)&rhs[1]->user.inline_list;
4261 #line 224 "rlparse.kl"
4262 
4263 		pd->accessExpr = (__ref0)->inlineList;
4264 
4265 
4266 #line 4265 "rlparse.cpp"
4267 } break;
4268 case 33: {
4269 Token *__ref0 = (Token*)&rhs[2]->user.token;
4270 Parser_Lel_inline_list *__ref1 = (Parser_Lel_inline_list*)&rhs[3]->user.inline_list;
4271 Token *__ref2 = (Token*)&rhs[2]->user.token;
4272 #line 229 "rlparse.kl"
4273 
4274 		/* FIXME: Need to implement the rest of this. */
4275 		bool wasSet = pd->setVariable( (__ref0)->data, (__ref1)->inlineList );
4276 		if ( !wasSet )
4277 			error((__ref2)->loc) << "bad variable name" << endl;
4278 
4279 
4280 #line 4279 "rlparse.cpp"
4281 } break;
4282 case 36: {
4283 Parser_Lel_join_or_lm *__ref0 = (Parser_Lel_join_or_lm*)&redLel->user.join_or_lm;
4284 Parser_Lel_join *__ref1 = (Parser_Lel_join*)&rhs[0]->user.join;
4285 #line 249 "rlparse.kl"
4286 
4287 		(__ref0)->machineDef = new MachineDef( (__ref1)->join );
4288 
4289 
4290 #line 4289 "rlparse.cpp"
4291 } break;
4292 case 37: {
4293 Token *__ref0 = (Token*)&rhs[0]->user.token;
4294 Parser_Lel_lm_part_list *__ref1 = (Parser_Lel_lm_part_list*)&rhs[1]->user.lm_part_list;
4295 Parser_Lel_lm_part_list *__ref2 = (Parser_Lel_lm_part_list*)&rhs[1]->user.lm_part_list;
4296 Parser_Lel_join_or_lm *__ref3 = (Parser_Lel_join_or_lm*)&redLel->user.join_or_lm;
4297 #line 253 "rlparse.kl"
4298 
4299 		/* Create a new factor going to a longest match structure. Record
4300 		 * in the parse data that we have a longest match. */
4301 		LongestMatch *lm = new LongestMatch( (__ref0)->loc, (__ref1)->lmPartList );
4302 		pd->lmList.append( lm );
4303 		for ( LmPartList::Iter lmp = *((__ref2)->lmPartList); lmp.lte(); lmp++ )
4304 			lmp->longestMatch = lm;
4305 		(__ref3)->machineDef = new MachineDef( lm );
4306 
4307 
4308 #line 4307 "rlparse.cpp"
4309 } break;
4310 case 38: {
4311 Parser_Lel_longest_match_part *__ref0 = (Parser_Lel_longest_match_part*)&rhs[1]->user.longest_match_part;
4312 Parser_Lel_lm_part_list *__ref1 = (Parser_Lel_lm_part_list*)&rhs[0]->user.lm_part_list;
4313 Parser_Lel_longest_match_part *__ref2 = (Parser_Lel_longest_match_part*)&rhs[1]->user.longest_match_part;
4314 Parser_Lel_lm_part_list *__ref3 = (Parser_Lel_lm_part_list*)&redLel->user.lm_part_list;
4315 Parser_Lel_lm_part_list *__ref4 = (Parser_Lel_lm_part_list*)&rhs[0]->user.lm_part_list;
4316 #line 270 "rlparse.kl"
4317 
4318 		if ( (__ref0)->lmPart != 0 )
4319 			(__ref1)->lmPartList->append( (__ref2)->lmPart );
4320 		(__ref3)->lmPartList = (__ref4)->lmPartList;
4321 
4322 
4323 #line 4322 "rlparse.cpp"
4324 } break;
4325 case 39: {
4326 Parser_Lel_lm_part_list *__ref0 = (Parser_Lel_lm_part_list*)&redLel->user.lm_part_list;
4327 Parser_Lel_longest_match_part *__ref1 = (Parser_Lel_longest_match_part*)&rhs[0]->user.longest_match_part;
4328 Parser_Lel_lm_part_list *__ref2 = (Parser_Lel_lm_part_list*)&redLel->user.lm_part_list;
4329 Parser_Lel_longest_match_part *__ref3 = (Parser_Lel_longest_match_part*)&rhs[0]->user.longest_match_part;
4330 #line 277 "rlparse.kl"
4331 
4332 		/* Create a new list with the part. */
4333 		(__ref0)->lmPartList = new LmPartList;
4334 		if ( (__ref1)->lmPart != 0 )
4335 			(__ref2)->lmPartList->append( (__ref3)->lmPart );
4336 
4337 
4338 #line 4337 "rlparse.cpp"
4339 } break;
4340 case 40: {
4341 Parser_Lel_longest_match_part *__ref0 = (Parser_Lel_longest_match_part*)&redLel->user.longest_match_part;
4342 #line 290 "rlparse.kl"
4343  (__ref0)->lmPart = 0;
4344 
4345 #line 4344 "rlparse.cpp"
4346 } break;
4347 case 41: {
4348 Parser_Lel_longest_match_part *__ref0 = (Parser_Lel_longest_match_part*)&redLel->user.longest_match_part;
4349 #line 292 "rlparse.kl"
4350  (__ref0)->lmPart = 0;
4351 
4352 #line 4351 "rlparse.cpp"
4353 } break;
4354 case 42: {
4355 Parser_Lel_longest_match_part *__ref0 = (Parser_Lel_longest_match_part*)&redLel->user.longest_match_part;
4356 Parser_Lel_opt_lm_part_action *__ref1 = (Parser_Lel_opt_lm_part_action*)&rhs[1]->user.opt_lm_part_action;
4357 Parser_Lel_longest_match_part *__ref2 = (Parser_Lel_longest_match_part*)&redLel->user.longest_match_part;
4358 Parser_Lel_join *__ref3 = (Parser_Lel_join*)&rhs[0]->user.join;
4359 Token *__ref4 = (Token*)&rhs[2]->user.token;
4360 Parser_Lel_join *__ref5 = (Parser_Lel_join*)&rhs[0]->user.join;
4361 Token *__ref6 = (Token*)&rhs[2]->user.token;
4362 #line 294 "rlparse.kl"
4363 
4364 		(__ref0)->lmPart = 0;
4365 		Action *action = (__ref1)->action;
4366 		if ( action != 0 )
4367 			action->isLmAction = true;
4368 		(__ref2)->lmPart = new LongestMatchPart( (__ref3)->join, action,
4369 				(__ref4)->loc, pd->nextLongestMatchId++ );
4370 
4371 		/* Provide a location to join. Unfortunately We don't
4372 		 * have the start of the join as in other occurances. Use the end. */
4373 		(__ref5)->join->loc = (__ref6)->loc;
4374 
4375 
4376 #line 4375 "rlparse.cpp"
4377 } break;
4378 case 43: {
4379 Parser_Lel_opt_lm_part_action *__ref0 = (Parser_Lel_opt_lm_part_action*)&redLel->user.opt_lm_part_action;
4380 Parser_Lel_action_ref *__ref1 = (Parser_Lel_action_ref*)&rhs[1]->user.action_ref;
4381 #line 313 "rlparse.kl"
4382 
4383 		(__ref0)->action = (__ref1)->action;
4384 
4385 
4386 #line 4385 "rlparse.cpp"
4387 } break;
4388 case 44: {
4389 Parser_Lel_opt_lm_part_action *__ref0 = (Parser_Lel_opt_lm_part_action*)&redLel->user.opt_lm_part_action;
4390 Parser_Lel_action_ref *__ref1 = (Parser_Lel_action_ref*)&rhs[0]->user.action_ref;
4391 #line 317 "rlparse.kl"
4392 
4393 		(__ref0)->action = (__ref1)->action;
4394 
4395 
4396 #line 4395 "rlparse.cpp"
4397 } break;
4398 case 45: {
4399 Parser_Lel_opt_lm_part_action *__ref0 = (Parser_Lel_opt_lm_part_action*)&redLel->user.opt_lm_part_action;
4400 #line 321 "rlparse.kl"
4401 
4402 		(__ref0)->action = 0;
4403 
4404 
4405 #line 4404 "rlparse.cpp"
4406 } break;
4407 case 46: {
4408 Parser_Lel_join *__ref0 = (Parser_Lel_join*)&rhs[0]->user.join;
4409 Parser_Lel_expression *__ref1 = (Parser_Lel_expression*)&rhs[2]->user.expression;
4410 Parser_Lel_join *__ref2 = (Parser_Lel_join*)&redLel->user.join;
4411 Parser_Lel_join *__ref3 = (Parser_Lel_join*)&rhs[0]->user.join;
4412 #line 332 "rlparse.kl"
4413 
4414 		/* Append the expression to the list and return it. */
4415 		(__ref0)->join->exprList.append( (__ref1)->expression );
4416 		(__ref2)->join = (__ref3)->join;
4417 
4418 
4419 #line 4418 "rlparse.cpp"
4420 } break;
4421 case 47: {
4422 Parser_Lel_join *__ref0 = (Parser_Lel_join*)&redLel->user.join;
4423 Parser_Lel_expression *__ref1 = (Parser_Lel_expression*)&rhs[0]->user.expression;
4424 #line 338 "rlparse.kl"
4425 
4426 		(__ref0)->join = new Join( (__ref1)->expression );
4427 
4428 
4429 #line 4428 "rlparse.cpp"
4430 } break;
4431 case 48: {
4432 Parser_Lel_expression *__ref0 = (Parser_Lel_expression*)&redLel->user.expression;
4433 Parser_Lel_expression *__ref1 = (Parser_Lel_expression*)&rhs[0]->user.expression;
4434 Parser_Lel_term_short *__ref2 = (Parser_Lel_term_short*)&rhs[2]->user.term_short;
4435 #line 348 "rlparse.kl"
4436 
4437 		(__ref0)->expression = new Expression( (__ref1)->expression,
4438 				(__ref2)->term, Expression::OrType );
4439 
4440 
4441 #line 4440 "rlparse.cpp"
4442 } break;
4443 case 49: {
4444 Parser_Lel_expression *__ref0 = (Parser_Lel_expression*)&redLel->user.expression;
4445 Parser_Lel_expression *__ref1 = (Parser_Lel_expression*)&rhs[0]->user.expression;
4446 Parser_Lel_term_short *__ref2 = (Parser_Lel_term_short*)&rhs[2]->user.term_short;
4447 #line 353 "rlparse.kl"
4448 
4449 		(__ref0)->expression = new Expression( (__ref1)->expression,
4450 				(__ref2)->term, Expression::IntersectType );
4451 
4452 
4453 #line 4452 "rlparse.cpp"
4454 } break;
4455 case 50: {
4456 Parser_Lel_expression *__ref0 = (Parser_Lel_expression*)&redLel->user.expression;
4457 Parser_Lel_expression *__ref1 = (Parser_Lel_expression*)&rhs[0]->user.expression;
4458 Parser_Lel_term_short *__ref2 = (Parser_Lel_term_short*)&rhs[2]->user.term_short;
4459 #line 358 "rlparse.kl"
4460 
4461 		(__ref0)->expression = new Expression( (__ref1)->expression,
4462 				(__ref2)->term, Expression::SubtractType );
4463 
4464 
4465 #line 4464 "rlparse.cpp"
4466 } break;
4467 case 51: {
4468 Parser_Lel_expression *__ref0 = (Parser_Lel_expression*)&redLel->user.expression;
4469 Parser_Lel_expression *__ref1 = (Parser_Lel_expression*)&rhs[0]->user.expression;
4470 Parser_Lel_term_short *__ref2 = (Parser_Lel_term_short*)&rhs[2]->user.term_short;
4471 #line 363 "rlparse.kl"
4472 
4473 		(__ref0)->expression = new Expression( (__ref1)->expression,
4474 				(__ref2)->term, Expression::StrongSubtractType );
4475 
4476 
4477 #line 4476 "rlparse.cpp"
4478 } break;
4479 case 52: {
4480 Parser_Lel_expression *__ref0 = (Parser_Lel_expression*)&redLel->user.expression;
4481 Parser_Lel_term_short *__ref1 = (Parser_Lel_term_short*)&rhs[0]->user.term_short;
4482 #line 368 "rlparse.kl"
4483 
4484 		(__ref0)->expression = new Expression( (__ref1)->term );
4485 
4486 
4487 #line 4486 "rlparse.cpp"
4488 } break;
4489 case 53: {
4490 Parser_Lel_term_short *__ref0 = (Parser_Lel_term_short*)&redLel->user.term_short;
4491 Parser_Lel_term *__ref1 = (Parser_Lel_term*)&rhs[0]->user.term;
4492 #line 389 "rlparse.kl"
4493 
4494 		(__ref0)->term = (__ref1)->term;
4495 
4496 
4497 #line 4496 "rlparse.cpp"
4498 } break;
4499 case 54: {
4500 Parser_Lel_term *__ref0 = (Parser_Lel_term*)&redLel->user.term;
4501 Parser_Lel_term *__ref1 = (Parser_Lel_term*)&rhs[0]->user.term;
4502 Parser_Lel_factor_with_label *__ref2 = (Parser_Lel_factor_with_label*)&rhs[1]->user.factor_with_label;
4503 #line 399 "rlparse.kl"
4504 
4505 		(__ref0)->term = new Term( (__ref1)->term, (__ref2)->factorWithAug );
4506 
4507 
4508 #line 4507 "rlparse.cpp"
4509 } break;
4510 case 55: {
4511 Parser_Lel_term *__ref0 = (Parser_Lel_term*)&redLel->user.term;
4512 Parser_Lel_term *__ref1 = (Parser_Lel_term*)&rhs[0]->user.term;
4513 Parser_Lel_factor_with_label *__ref2 = (Parser_Lel_factor_with_label*)&rhs[2]->user.factor_with_label;
4514 #line 403 "rlparse.kl"
4515 
4516 		(__ref0)->term = new Term( (__ref1)->term, (__ref2)->factorWithAug );
4517 
4518 
4519 #line 4518 "rlparse.cpp"
4520 } break;
4521 case 56: {
4522 Parser_Lel_term *__ref0 = (Parser_Lel_term*)&redLel->user.term;
4523 Parser_Lel_term *__ref1 = (Parser_Lel_term*)&rhs[0]->user.term;
4524 Parser_Lel_factor_with_label *__ref2 = (Parser_Lel_factor_with_label*)&rhs[2]->user.factor_with_label;
4525 #line 407 "rlparse.kl"
4526 
4527 		(__ref0)->term = new Term( (__ref1)->term, (__ref2)->factorWithAug, Term::RightStartType );
4528 
4529 
4530 #line 4529 "rlparse.cpp"
4531 } break;
4532 case 57: {
4533 Parser_Lel_term *__ref0 = (Parser_Lel_term*)&redLel->user.term;
4534 Parser_Lel_term *__ref1 = (Parser_Lel_term*)&rhs[0]->user.term;
4535 Parser_Lel_factor_with_label *__ref2 = (Parser_Lel_factor_with_label*)&rhs[2]->user.factor_with_label;
4536 #line 411 "rlparse.kl"
4537 
4538 		(__ref0)->term = new Term( (__ref1)->term, (__ref2)->factorWithAug, Term::RightFinishType );
4539 
4540 
4541 #line 4540 "rlparse.cpp"
4542 } break;
4543 case 58: {
4544 Parser_Lel_term *__ref0 = (Parser_Lel_term*)&redLel->user.term;
4545 Parser_Lel_term *__ref1 = (Parser_Lel_term*)&rhs[0]->user.term;
4546 Parser_Lel_factor_with_label *__ref2 = (Parser_Lel_factor_with_label*)&rhs[2]->user.factor_with_label;
4547 #line 415 "rlparse.kl"
4548 
4549 		(__ref0)->term = new Term( (__ref1)->term,
4550 				(__ref2)->factorWithAug, Term::LeftType );
4551 
4552 
4553 #line 4552 "rlparse.cpp"
4554 } break;
4555 case 59: {
4556 Parser_Lel_term *__ref0 = (Parser_Lel_term*)&redLel->user.term;
4557 Parser_Lel_factor_with_label *__ref1 = (Parser_Lel_factor_with_label*)&rhs[0]->user.factor_with_label;
4558 #line 420 "rlparse.kl"
4559 
4560 		(__ref0)->term = new Term( (__ref1)->factorWithAug );
4561 
4562 
4563 #line 4562 "rlparse.cpp"
4564 } break;
4565 case 60: {
4566 Parser_Lel_factor_with_label *__ref0 = (Parser_Lel_factor_with_label*)&rhs[2]->user.factor_with_label;
4567 Token *__ref1 = (Token*)&rhs[0]->user.token;
4568 Token *__ref2 = (Token*)&rhs[0]->user.token;
4569 Parser_Lel_factor_with_label *__ref3 = (Parser_Lel_factor_with_label*)&redLel->user.factor_with_label;
4570 Parser_Lel_factor_with_label *__ref4 = (Parser_Lel_factor_with_label*)&rhs[2]->user.factor_with_label;
4571 #line 430 "rlparse.kl"
4572 
4573 		/* Add the label to the list and pass the factor up. */
4574 		(__ref0)->factorWithAug->labels.prepend( Label((__ref1)->loc, (__ref2)->data) );
4575 		(__ref3)->factorWithAug = (__ref4)->factorWithAug;
4576 
4577 
4578 #line 4577 "rlparse.cpp"
4579 } break;
4580 case 61: {
4581 Parser_Lel_factor_with_label *__ref0 = (Parser_Lel_factor_with_label*)&redLel->user.factor_with_label;
4582 Parser_Lel_factor_with_ep *__ref1 = (Parser_Lel_factor_with_ep*)&rhs[0]->user.factor_with_ep;
4583 #line 436 "rlparse.kl"
4584 
4585 		(__ref0)->factorWithAug = (__ref1)->factorWithAug;
4586 
4587 
4588 #line 4587 "rlparse.cpp"
4589 } break;
4590 case 62: {
4591 Parser_Lel_factor_with_ep *__ref0 = (Parser_Lel_factor_with_ep*)&rhs[0]->user.factor_with_ep;
4592 Token *__ref1 = (Token*)&rhs[1]->user.token;
4593 Parser_Lel_factor_with_ep *__ref2 = (Parser_Lel_factor_with_ep*)&redLel->user.factor_with_ep;
4594 Parser_Lel_factor_with_ep *__ref3 = (Parser_Lel_factor_with_ep*)&rhs[0]->user.factor_with_ep;
4595 #line 446 "rlparse.kl"
4596 
4597 		/* Add the target to the list and return the factor object. */
4598 		(__ref0)->factorWithAug->epsilonLinks.append( EpsilonLink( (__ref1)->loc, nameRef ) );
4599 		(__ref2)->factorWithAug = (__ref3)->factorWithAug;
4600 
4601 
4602 #line 4601 "rlparse.cpp"
4603 } break;
4604 case 63: {
4605 Parser_Lel_factor_with_ep *__ref0 = (Parser_Lel_factor_with_ep*)&redLel->user.factor_with_ep;
4606 Parser_Lel_factor_with_aug *__ref1 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4607 #line 452 "rlparse.kl"
4608 
4609 		(__ref0)->factorWithAug = (__ref1)->factorWithAug;
4610 
4611 
4612 #line 4611 "rlparse.cpp"
4613 } break;
4614 case 64: {
4615 Parser_Lel_factor_with_aug *__ref0 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4616 Parser_Lel_aug_type *__ref1 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4617 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4618 Parser_Lel_action_ref *__ref3 = (Parser_Lel_action_ref*)&rhs[2]->user.action_ref;
4619 Parser_Lel_factor_with_aug *__ref4 = (Parser_Lel_factor_with_aug*)&redLel->user.factor_with_aug;
4620 Parser_Lel_factor_with_aug *__ref5 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4621 #line 462 "rlparse.kl"
4622 
4623 		/* Append the action to the factorWithAug, record the refernce from
4624 		 * factorWithAug to the action and pass up the factorWithAug. */
4625 		(__ref0)->factorWithAug->actions.append(
4626 				ParserAction( (__ref1)->loc, (__ref2)->augType, 0, (__ref3)->action ) );
4627 		(__ref4)->factorWithAug = (__ref5)->factorWithAug;
4628 
4629 
4630 #line 4629 "rlparse.cpp"
4631 } break;
4632 case 65: {
4633 Parser_Lel_factor_with_aug *__ref0 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4634 Parser_Lel_aug_type *__ref1 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4635 Parser_Lel_priority_aug *__ref2 = (Parser_Lel_priority_aug*)&rhs[2]->user.priority_aug;
4636 Parser_Lel_factor_with_aug *__ref3 = (Parser_Lel_factor_with_aug*)&redLel->user.factor_with_aug;
4637 Parser_Lel_factor_with_aug *__ref4 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4638 #line 470 "rlparse.kl"
4639 
4640 		/* Append the named priority to the factorWithAug and pass it up. */
4641 		(__ref0)->factorWithAug->priorityAugs.append(
4642 				PriorityAug( (__ref1)->augType, pd->curDefPriorKey, (__ref2)->priorityNum ) );
4643 		(__ref3)->factorWithAug = (__ref4)->factorWithAug;
4644 
4645 
4646 #line 4645 "rlparse.cpp"
4647 } break;
4648 case 66: {
4649 Parser_Lel_factor_with_aug *__ref0 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4650 Parser_Lel_aug_type *__ref1 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4651 Parser_Lel_priority_name *__ref2 = (Parser_Lel_priority_name*)&rhs[3]->user.priority_name;
4652 Parser_Lel_priority_aug *__ref3 = (Parser_Lel_priority_aug*)&rhs[5]->user.priority_aug;
4653 Parser_Lel_factor_with_aug *__ref4 = (Parser_Lel_factor_with_aug*)&redLel->user.factor_with_aug;
4654 Parser_Lel_factor_with_aug *__ref5 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4655 #line 477 "rlparse.kl"
4656 
4657 		/* Append the priority using a default name. */
4658 		(__ref0)->factorWithAug->priorityAugs.append(
4659 				PriorityAug( (__ref1)->augType, (__ref2)->priorityName, (__ref3)->priorityNum ) );
4660 		(__ref4)->factorWithAug = (__ref5)->factorWithAug;
4661 
4662 
4663 #line 4662 "rlparse.cpp"
4664 } break;
4665 case 67: {
4666 Parser_Lel_factor_with_aug *__ref0 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4667 Parser_Lel_aug_type *__ref1 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4668 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4669 Parser_Lel_action_ref *__ref3 = (Parser_Lel_action_ref*)&rhs[2]->user.action_ref;
4670 Parser_Lel_factor_with_aug *__ref4 = (Parser_Lel_factor_with_aug*)&redLel->user.factor_with_aug;
4671 Parser_Lel_factor_with_aug *__ref5 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4672 #line 484 "rlparse.kl"
4673 
4674 		(__ref0)->factorWithAug->conditions.append( ConditionTest( (__ref1)->loc,
4675 				(__ref2)->augType, (__ref3)->action, true ) );
4676 		(__ref4)->factorWithAug = (__ref5)->factorWithAug;
4677 
4678 
4679 #line 4678 "rlparse.cpp"
4680 } break;
4681 case 68: {
4682 Parser_Lel_factor_with_aug *__ref0 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4683 Parser_Lel_aug_type *__ref1 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4684 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4685 Parser_Lel_action_ref *__ref3 = (Parser_Lel_action_ref*)&rhs[3]->user.action_ref;
4686 Parser_Lel_factor_with_aug *__ref4 = (Parser_Lel_factor_with_aug*)&redLel->user.factor_with_aug;
4687 Parser_Lel_factor_with_aug *__ref5 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4688 #line 490 "rlparse.kl"
4689 
4690 		(__ref0)->factorWithAug->conditions.append( ConditionTest( (__ref1)->loc,
4691 				(__ref2)->augType, (__ref3)->action, false ) );
4692 		(__ref4)->factorWithAug = (__ref5)->factorWithAug;
4693 
4694 
4695 #line 4694 "rlparse.cpp"
4696 } break;
4697 case 69: {
4698 Parser_Lel_factor_with_aug *__ref0 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4699 Parser_Lel_aug_type *__ref1 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4700 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4701 Parser_Lel_action_ref *__ref3 = (Parser_Lel_action_ref*)&rhs[2]->user.action_ref;
4702 Parser_Lel_factor_with_aug *__ref4 = (Parser_Lel_factor_with_aug*)&redLel->user.factor_with_aug;
4703 Parser_Lel_factor_with_aug *__ref5 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4704 #line 496 "rlparse.kl"
4705 
4706 		/* Append the action, pass it up. */
4707 		(__ref0)->factorWithAug->actions.append( ParserAction( (__ref1)->loc,
4708 				(__ref2)->augType, 0, (__ref3)->action ) );
4709 		(__ref4)->factorWithAug = (__ref5)->factorWithAug;
4710 
4711 
4712 #line 4711 "rlparse.cpp"
4713 } break;
4714 case 70: {
4715 Parser_Lel_factor_with_aug *__ref0 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4716 Parser_Lel_aug_type *__ref1 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4717 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4718 Parser_Lel_action_ref *__ref3 = (Parser_Lel_action_ref*)&rhs[2]->user.action_ref;
4719 Parser_Lel_factor_with_aug *__ref4 = (Parser_Lel_factor_with_aug*)&redLel->user.factor_with_aug;
4720 Parser_Lel_factor_with_aug *__ref5 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4721 #line 503 "rlparse.kl"
4722 
4723 		/* Append the action, pass it up. */
4724 		(__ref0)->factorWithAug->actions.append( ParserAction( (__ref1)->loc,
4725 				(__ref2)->augType, 0, (__ref3)->action ) );
4726 		(__ref4)->factorWithAug = (__ref5)->factorWithAug;
4727 
4728 
4729 #line 4728 "rlparse.cpp"
4730 } break;
4731 case 71: {
4732 Parser_Lel_factor_with_aug *__ref0 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4733 Parser_Lel_aug_type *__ref1 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4734 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4735 Parser_Lel_action_ref *__ref3 = (Parser_Lel_action_ref*)&rhs[2]->user.action_ref;
4736 Parser_Lel_factor_with_aug *__ref4 = (Parser_Lel_factor_with_aug*)&redLel->user.factor_with_aug;
4737 Parser_Lel_factor_with_aug *__ref5 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4738 #line 510 "rlparse.kl"
4739 
4740 		/* Append the action, pass it up. */
4741 		(__ref0)->factorWithAug->actions.append( ParserAction( (__ref1)->loc,
4742 				(__ref2)->augType, 0, (__ref3)->action ) );
4743 		(__ref4)->factorWithAug = (__ref5)->factorWithAug;
4744 
4745 
4746 #line 4745 "rlparse.cpp"
4747 } break;
4748 case 72: {
4749 Parser_Lel_factor_with_aug *__ref0 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4750 Parser_Lel_aug_type *__ref1 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4751 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4752 Parser_Lel_action_ref *__ref3 = (Parser_Lel_action_ref*)&rhs[2]->user.action_ref;
4753 Parser_Lel_factor_with_aug *__ref4 = (Parser_Lel_factor_with_aug*)&redLel->user.factor_with_aug;
4754 Parser_Lel_factor_with_aug *__ref5 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4755 #line 517 "rlparse.kl"
4756 
4757 		/* Append the action to the factorWithAug, record the refernce from
4758 		 * factorWithAug to the action and pass up the factorWithAug. */
4759 		(__ref0)->factorWithAug->actions.append( ParserAction( (__ref1)->loc,
4760 				(__ref2)->augType, pd->curDefLocalErrKey, (__ref3)->action ) );
4761 		(__ref4)->factorWithAug = (__ref5)->factorWithAug;
4762 
4763 
4764 #line 4763 "rlparse.cpp"
4765 } break;
4766 case 73: {
4767 Parser_Lel_factor_with_aug *__ref0 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4768 Parser_Lel_aug_type *__ref1 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4769 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4770 Parser_Lel_action_ref *__ref3 = (Parser_Lel_action_ref*)&rhs[2]->user.action_ref;
4771 Parser_Lel_factor_with_aug *__ref4 = (Parser_Lel_factor_with_aug*)&redLel->user.factor_with_aug;
4772 Parser_Lel_factor_with_aug *__ref5 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4773 #line 525 "rlparse.kl"
4774 
4775 		/* Append the action to the factorWithAug, record the refernce from
4776 		 * factorWithAug to the action and pass up the factorWithAug. */
4777 		(__ref0)->factorWithAug->actions.append( ParserAction( (__ref1)->loc,
4778 				(__ref2)->augType, pd->curDefLocalErrKey, (__ref3)->action ) );
4779 		(__ref4)->factorWithAug = (__ref5)->factorWithAug;
4780 
4781 
4782 #line 4781 "rlparse.cpp"
4783 } break;
4784 case 74: {
4785 Parser_Lel_factor_with_aug *__ref0 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4786 Parser_Lel_aug_type *__ref1 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4787 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4788 Parser_Lel_local_err_name *__ref3 = (Parser_Lel_local_err_name*)&rhs[3]->user.local_err_name;
4789 Parser_Lel_action_ref *__ref4 = (Parser_Lel_action_ref*)&rhs[5]->user.action_ref;
4790 Parser_Lel_factor_with_aug *__ref5 = (Parser_Lel_factor_with_aug*)&redLel->user.factor_with_aug;
4791 Parser_Lel_factor_with_aug *__ref6 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4792 #line 533 "rlparse.kl"
4793 
4794 		/* Append the action to the factorWithAug, record the refernce from
4795 		 * factorWithAug to the action and pass up the factorWithAug. */
4796 		(__ref0)->factorWithAug->actions.append( ParserAction( (__ref1)->loc,
4797 				(__ref2)->augType, (__ref3)->error_name, (__ref4)->action ) );
4798 		(__ref5)->factorWithAug = (__ref6)->factorWithAug;
4799 
4800 
4801 #line 4800 "rlparse.cpp"
4802 } break;
4803 case 75: {
4804 Parser_Lel_factor_with_aug *__ref0 = (Parser_Lel_factor_with_aug*)&redLel->user.factor_with_aug;
4805 Parser_Lel_factor_with_rep *__ref1 = (Parser_Lel_factor_with_rep*)&rhs[0]->user.factor_with_rep;
4806 #line 541 "rlparse.kl"
4807 
4808 		(__ref0)->factorWithAug = new FactorWithAug( (__ref1)->factorWithRep );
4809 
4810 
4811 #line 4810 "rlparse.cpp"
4812 } break;
4813 case 76: {
4814 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4815 Token *__ref1 = (Token*)&rhs[0]->user.token;
4816 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4817 #line 554 "rlparse.kl"
4818  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_finish;
4819 
4820 #line 4819 "rlparse.cpp"
4821 } break;
4822 case 77: {
4823 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4824 Token *__ref1 = (Token*)&rhs[0]->user.token;
4825 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4826 #line 555 "rlparse.kl"
4827  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_leave;
4828 
4829 #line 4828 "rlparse.cpp"
4830 } break;
4831 case 78: {
4832 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4833 Token *__ref1 = (Token*)&rhs[0]->user.token;
4834 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4835 #line 556 "rlparse.kl"
4836  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_all;
4837 
4838 #line 4837 "rlparse.cpp"
4839 } break;
4840 case 79: {
4841 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4842 Token *__ref1 = (Token*)&rhs[0]->user.token;
4843 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4844 #line 557 "rlparse.kl"
4845  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_start;
4846 
4847 #line 4846 "rlparse.cpp"
4848 } break;
4849 case 80: {
4850 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4851 Token *__ref1 = (Token*)&rhs[0]->user.token;
4852 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4853 #line 562 "rlparse.kl"
4854  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_start;
4855 
4856 #line 4855 "rlparse.cpp"
4857 } break;
4858 case 81: {
4859 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4860 Token *__ref1 = (Token*)&rhs[0]->user.token;
4861 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4862 #line 563 "rlparse.kl"
4863  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_start;
4864 
4865 #line 4864 "rlparse.cpp"
4866 } break;
4867 case 82: {
4868 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4869 Token *__ref1 = (Token*)&rhs[0]->user.token;
4870 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4871 #line 564 "rlparse.kl"
4872  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_all;
4873 
4874 #line 4873 "rlparse.cpp"
4875 } break;
4876 case 83: {
4877 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4878 Token *__ref1 = (Token*)&rhs[0]->user.token;
4879 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4880 #line 565 "rlparse.kl"
4881  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_all;
4882 
4883 #line 4882 "rlparse.cpp"
4884 } break;
4885 case 84: {
4886 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4887 Token *__ref1 = (Token*)&rhs[0]->user.token;
4888 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4889 #line 566 "rlparse.kl"
4890  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_leave;
4891 
4892 #line 4891 "rlparse.cpp"
4893 } break;
4894 case 85: {
4895 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4896 Token *__ref1 = (Token*)&rhs[0]->user.token;
4897 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4898 #line 567 "rlparse.kl"
4899  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_leave;
4900 
4901 #line 4900 "rlparse.cpp"
4902 } break;
4903 case 86: {
4904 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4905 Token *__ref1 = (Token*)&rhs[0]->user.token;
4906 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4907 #line 568 "rlparse.kl"
4908  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_all;
4909 
4910 #line 4909 "rlparse.cpp"
4911 } break;
4912 case 87: {
4913 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4914 Token *__ref1 = (Token*)&rhs[0]->user.token;
4915 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4916 #line 569 "rlparse.kl"
4917  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_start;
4918 
4919 #line 4918 "rlparse.cpp"
4920 } break;
4921 case 88: {
4922 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4923 Token *__ref1 = (Token*)&rhs[0]->user.token;
4924 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4925 #line 570 "rlparse.kl"
4926  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_leave;
4927 
4928 #line 4927 "rlparse.cpp"
4929 } break;
4930 case 89: {
4931 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4932 Token *__ref1 = (Token*)&rhs[0]->user.token;
4933 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4934 #line 579 "rlparse.kl"
4935  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_start_to_state;
4936 
4937 #line 4936 "rlparse.cpp"
4938 } break;
4939 case 90: {
4940 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4941 Token *__ref1 = (Token*)&rhs[0]->user.token;
4942 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4943 #line 581 "rlparse.kl"
4944  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_start_to_state;
4945 
4946 #line 4945 "rlparse.cpp"
4947 } break;
4948 case 91: {
4949 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4950 Token *__ref1 = (Token*)&rhs[0]->user.token;
4951 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4952 #line 584 "rlparse.kl"
4953  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_start_to_state;
4954 
4955 #line 4954 "rlparse.cpp"
4956 } break;
4957 case 92: {
4958 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4959 Token *__ref1 = (Token*)&rhs[0]->user.token;
4960 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4961 #line 586 "rlparse.kl"
4962  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_start_to_state;
4963 
4964 #line 4963 "rlparse.cpp"
4965 } break;
4966 case 93: {
4967 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4968 Token *__ref1 = (Token*)&rhs[0]->user.token;
4969 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4970 #line 589 "rlparse.kl"
4971  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_all_to_state;
4972 
4973 #line 4972 "rlparse.cpp"
4974 } break;
4975 case 94: {
4976 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4977 Token *__ref1 = (Token*)&rhs[0]->user.token;
4978 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4979 #line 591 "rlparse.kl"
4980  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_all_to_state;
4981 
4982 #line 4981 "rlparse.cpp"
4983 } break;
4984 case 95: {
4985 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4986 Token *__ref1 = (Token*)&rhs[0]->user.token;
4987 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4988 #line 594 "rlparse.kl"
4989  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_final_to_state;
4990 
4991 #line 4990 "rlparse.cpp"
4992 } break;
4993 case 96: {
4994 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4995 Token *__ref1 = (Token*)&rhs[0]->user.token;
4996 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4997 #line 596 "rlparse.kl"
4998  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_final_to_state;
4999 
5000 #line 4999 "rlparse.cpp"
5001 } break;
5002 case 97: {
5003 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5004 Token *__ref1 = (Token*)&rhs[0]->user.token;
5005 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5006 #line 599 "rlparse.kl"
5007  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_final_to_state;
5008 
5009 #line 5008 "rlparse.cpp"
5010 } break;
5011 case 98: {
5012 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5013 Token *__ref1 = (Token*)&rhs[0]->user.token;
5014 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5015 #line 601 "rlparse.kl"
5016  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_final_to_state;
5017 
5018 #line 5017 "rlparse.cpp"
5019 } break;
5020 case 99: {
5021 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5022 Token *__ref1 = (Token*)&rhs[0]->user.token;
5023 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5024 #line 604 "rlparse.kl"
5025  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_middle_to_state;
5026 
5027 #line 5026 "rlparse.cpp"
5028 } break;
5029 case 100: {
5030 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5031 Token *__ref1 = (Token*)&rhs[0]->user.token;
5032 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5033 #line 606 "rlparse.kl"
5034  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_middle_to_state;
5035 
5036 #line 5035 "rlparse.cpp"
5037 } break;
5038 case 101: {
5039 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5040 Token *__ref1 = (Token*)&rhs[0]->user.token;
5041 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5042 #line 615 "rlparse.kl"
5043  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_start_from_state;
5044 
5045 #line 5044 "rlparse.cpp"
5046 } break;
5047 case 102: {
5048 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5049 Token *__ref1 = (Token*)&rhs[0]->user.token;
5050 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5051 #line 617 "rlparse.kl"
5052  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_start_from_state;
5053 
5054 #line 5053 "rlparse.cpp"
5055 } break;
5056 case 103: {
5057 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5058 Token *__ref1 = (Token*)&rhs[0]->user.token;
5059 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5060 #line 620 "rlparse.kl"
5061  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_start_from_state;
5062 
5063 #line 5062 "rlparse.cpp"
5064 } break;
5065 case 104: {
5066 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5067 Token *__ref1 = (Token*)&rhs[0]->user.token;
5068 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5069 #line 622 "rlparse.kl"
5070  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_start_from_state;
5071 
5072 #line 5071 "rlparse.cpp"
5073 } break;
5074 case 105: {
5075 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5076 Token *__ref1 = (Token*)&rhs[0]->user.token;
5077 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5078 #line 625 "rlparse.kl"
5079  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_all_from_state;
5080 
5081 #line 5080 "rlparse.cpp"
5082 } break;
5083 case 106: {
5084 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5085 Token *__ref1 = (Token*)&rhs[0]->user.token;
5086 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5087 #line 627 "rlparse.kl"
5088  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_all_from_state;
5089 
5090 #line 5089 "rlparse.cpp"
5091 } break;
5092 case 107: {
5093 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5094 Token *__ref1 = (Token*)&rhs[0]->user.token;
5095 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5096 #line 630 "rlparse.kl"
5097  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_final_from_state;
5098 
5099 #line 5098 "rlparse.cpp"
5100 } break;
5101 case 108: {
5102 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5103 Token *__ref1 = (Token*)&rhs[0]->user.token;
5104 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5105 #line 632 "rlparse.kl"
5106  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_final_from_state;
5107 
5108 #line 5107 "rlparse.cpp"
5109 } break;
5110 case 109: {
5111 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5112 Token *__ref1 = (Token*)&rhs[0]->user.token;
5113 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5114 #line 635 "rlparse.kl"
5115  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_final_from_state;
5116 
5117 #line 5116 "rlparse.cpp"
5118 } break;
5119 case 110: {
5120 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5121 Token *__ref1 = (Token*)&rhs[0]->user.token;
5122 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5123 #line 637 "rlparse.kl"
5124  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_final_from_state;
5125 
5126 #line 5125 "rlparse.cpp"
5127 } break;
5128 case 111: {
5129 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5130 Token *__ref1 = (Token*)&rhs[0]->user.token;
5131 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5132 #line 640 "rlparse.kl"
5133  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_middle_from_state;
5134 
5135 #line 5134 "rlparse.cpp"
5136 } break;
5137 case 112: {
5138 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5139 Token *__ref1 = (Token*)&rhs[0]->user.token;
5140 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5141 #line 642 "rlparse.kl"
5142  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_middle_from_state;
5143 
5144 #line 5143 "rlparse.cpp"
5145 } break;
5146 case 113: {
5147 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5148 Token *__ref1 = (Token*)&rhs[0]->user.token;
5149 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5150 #line 651 "rlparse.kl"
5151  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_start_eof;
5152 
5153 #line 5152 "rlparse.cpp"
5154 } break;
5155 case 114: {
5156 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5157 Token *__ref1 = (Token*)&rhs[0]->user.token;
5158 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5159 #line 653 "rlparse.kl"
5160  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_start_eof;
5161 
5162 #line 5161 "rlparse.cpp"
5163 } break;
5164 case 115: {
5165 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5166 Token *__ref1 = (Token*)&rhs[0]->user.token;
5167 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5168 #line 656 "rlparse.kl"
5169  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_start_eof;
5170 
5171 #line 5170 "rlparse.cpp"
5172 } break;
5173 case 116: {
5174 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5175 Token *__ref1 = (Token*)&rhs[0]->user.token;
5176 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5177 #line 658 "rlparse.kl"
5178  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_start_eof;
5179 
5180 #line 5179 "rlparse.cpp"
5181 } break;
5182 case 117: {
5183 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5184 Token *__ref1 = (Token*)&rhs[0]->user.token;
5185 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5186 #line 661 "rlparse.kl"
5187  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_all_eof;
5188 
5189 #line 5188 "rlparse.cpp"
5190 } break;
5191 case 118: {
5192 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5193 Token *__ref1 = (Token*)&rhs[0]->user.token;
5194 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5195 #line 663 "rlparse.kl"
5196  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_all_eof;
5197 
5198 #line 5197 "rlparse.cpp"
5199 } break;
5200 case 119: {
5201 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5202 Token *__ref1 = (Token*)&rhs[0]->user.token;
5203 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5204 #line 666 "rlparse.kl"
5205  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_final_eof;
5206 
5207 #line 5206 "rlparse.cpp"
5208 } break;
5209 case 120: {
5210 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5211 Token *__ref1 = (Token*)&rhs[0]->user.token;
5212 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5213 #line 668 "rlparse.kl"
5214  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_final_eof;
5215 
5216 #line 5215 "rlparse.cpp"
5217 } break;
5218 case 121: {
5219 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5220 Token *__ref1 = (Token*)&rhs[0]->user.token;
5221 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5222 #line 671 "rlparse.kl"
5223  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_final_eof;
5224 
5225 #line 5224 "rlparse.cpp"
5226 } break;
5227 case 122: {
5228 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5229 Token *__ref1 = (Token*)&rhs[0]->user.token;
5230 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5231 #line 673 "rlparse.kl"
5232  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_final_eof;
5233 
5234 #line 5233 "rlparse.cpp"
5235 } break;
5236 case 123: {
5237 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5238 Token *__ref1 = (Token*)&rhs[0]->user.token;
5239 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5240 #line 676 "rlparse.kl"
5241  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_middle_eof;
5242 
5243 #line 5242 "rlparse.cpp"
5244 } break;
5245 case 124: {
5246 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5247 Token *__ref1 = (Token*)&rhs[0]->user.token;
5248 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5249 #line 678 "rlparse.kl"
5250  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_middle_eof;
5251 
5252 #line 5251 "rlparse.cpp"
5253 } break;
5254 case 125: {
5255 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5256 Token *__ref1 = (Token*)&rhs[0]->user.token;
5257 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5258 #line 687 "rlparse.kl"
5259  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_start_gbl_error;
5260 
5261 #line 5260 "rlparse.cpp"
5262 } break;
5263 case 126: {
5264 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5265 Token *__ref1 = (Token*)&rhs[0]->user.token;
5266 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5267 #line 689 "rlparse.kl"
5268  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_start_gbl_error;
5269 
5270 #line 5269 "rlparse.cpp"
5271 } break;
5272 case 127: {
5273 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5274 Token *__ref1 = (Token*)&rhs[0]->user.token;
5275 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5276 #line 692 "rlparse.kl"
5277  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_start_gbl_error;
5278 
5279 #line 5278 "rlparse.cpp"
5280 } break;
5281 case 128: {
5282 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5283 Token *__ref1 = (Token*)&rhs[0]->user.token;
5284 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5285 #line 694 "rlparse.kl"
5286  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_start_gbl_error;
5287 
5288 #line 5287 "rlparse.cpp"
5289 } break;
5290 case 129: {
5291 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5292 Token *__ref1 = (Token*)&rhs[0]->user.token;
5293 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5294 #line 697 "rlparse.kl"
5295  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_all_gbl_error;
5296 
5297 #line 5296 "rlparse.cpp"
5298 } break;
5299 case 130: {
5300 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5301 Token *__ref1 = (Token*)&rhs[0]->user.token;
5302 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5303 #line 699 "rlparse.kl"
5304  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_all_gbl_error;
5305 
5306 #line 5305 "rlparse.cpp"
5307 } break;
5308 case 131: {
5309 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5310 Token *__ref1 = (Token*)&rhs[0]->user.token;
5311 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5312 #line 702 "rlparse.kl"
5313  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_final_gbl_error;
5314 
5315 #line 5314 "rlparse.cpp"
5316 } break;
5317 case 132: {
5318 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5319 Token *__ref1 = (Token*)&rhs[0]->user.token;
5320 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5321 #line 704 "rlparse.kl"
5322  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_final_gbl_error;
5323 
5324 #line 5323 "rlparse.cpp"
5325 } break;
5326 case 133: {
5327 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5328 Token *__ref1 = (Token*)&rhs[0]->user.token;
5329 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5330 #line 707 "rlparse.kl"
5331  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_final_gbl_error;
5332 
5333 #line 5332 "rlparse.cpp"
5334 } break;
5335 case 134: {
5336 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5337 Token *__ref1 = (Token*)&rhs[0]->user.token;
5338 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5339 #line 709 "rlparse.kl"
5340  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_final_gbl_error;
5341 
5342 #line 5341 "rlparse.cpp"
5343 } break;
5344 case 135: {
5345 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5346 Token *__ref1 = (Token*)&rhs[0]->user.token;
5347 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5348 #line 712 "rlparse.kl"
5349  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_middle_gbl_error;
5350 
5351 #line 5350 "rlparse.cpp"
5352 } break;
5353 case 136: {
5354 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5355 Token *__ref1 = (Token*)&rhs[0]->user.token;
5356 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5357 #line 714 "rlparse.kl"
5358  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_middle_gbl_error;
5359 
5360 #line 5359 "rlparse.cpp"
5361 } break;
5362 case 137: {
5363 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5364 Token *__ref1 = (Token*)&rhs[0]->user.token;
5365 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5366 #line 724 "rlparse.kl"
5367  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_start_local_error;
5368 
5369 #line 5368 "rlparse.cpp"
5370 } break;
5371 case 138: {
5372 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5373 Token *__ref1 = (Token*)&rhs[0]->user.token;
5374 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5375 #line 726 "rlparse.kl"
5376  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_start_local_error;
5377 
5378 #line 5377 "rlparse.cpp"
5379 } break;
5380 case 139: {
5381 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5382 Token *__ref1 = (Token*)&rhs[0]->user.token;
5383 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5384 #line 729 "rlparse.kl"
5385  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_start_local_error;
5386 
5387 #line 5386 "rlparse.cpp"
5388 } break;
5389 case 140: {
5390 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5391 Token *__ref1 = (Token*)&rhs[0]->user.token;
5392 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5393 #line 731 "rlparse.kl"
5394  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_start_local_error;
5395 
5396 #line 5395 "rlparse.cpp"
5397 } break;
5398 case 141: {
5399 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5400 Token *__ref1 = (Token*)&rhs[0]->user.token;
5401 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5402 #line 734 "rlparse.kl"
5403  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_all_local_error;
5404 
5405 #line 5404 "rlparse.cpp"
5406 } break;
5407 case 142: {
5408 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5409 Token *__ref1 = (Token*)&rhs[0]->user.token;
5410 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5411 #line 736 "rlparse.kl"
5412  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_all_local_error;
5413 
5414 #line 5413 "rlparse.cpp"
5415 } break;
5416 case 143: {
5417 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5418 Token *__ref1 = (Token*)&rhs[0]->user.token;
5419 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5420 #line 739 "rlparse.kl"
5421  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_final_local_error;
5422 
5423 #line 5422 "rlparse.cpp"
5424 } break;
5425 case 144: {
5426 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5427 Token *__ref1 = (Token*)&rhs[0]->user.token;
5428 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5429 #line 741 "rlparse.kl"
5430  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_final_local_error;
5431 
5432 #line 5431 "rlparse.cpp"
5433 } break;
5434 case 145: {
5435 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5436 Token *__ref1 = (Token*)&rhs[0]->user.token;
5437 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5438 #line 744 "rlparse.kl"
5439  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_final_local_error;
5440 
5441 #line 5440 "rlparse.cpp"
5442 } break;
5443 case 146: {
5444 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5445 Token *__ref1 = (Token*)&rhs[0]->user.token;
5446 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5447 #line 746 "rlparse.kl"
5448  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_final_local_error;
5449 
5450 #line 5449 "rlparse.cpp"
5451 } break;
5452 case 147: {
5453 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5454 Token *__ref1 = (Token*)&rhs[0]->user.token;
5455 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5456 #line 749 "rlparse.kl"
5457  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_middle_local_error;
5458 
5459 #line 5458 "rlparse.cpp"
5460 } break;
5461 case 148: {
5462 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5463 Token *__ref1 = (Token*)&rhs[0]->user.token;
5464 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5465 #line 751 "rlparse.kl"
5466  (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_middle_local_error;
5467 
5468 #line 5467 "rlparse.cpp"
5469 } break;
5470 case 149: {
5471 Parser_Lel_action_ref *__ref0 = (Parser_Lel_action_ref*)&redLel->user.action_ref;
5472 Parser_Lel_action_ref *__ref1 = (Parser_Lel_action_ref*)&rhs[0]->user.action_ref;
5473 #line 764 "rlparse.kl"
5474  (__ref0)->action = (__ref1)->action;
5475 
5476 #line 5475 "rlparse.cpp"
5477 } break;
5478 case 150: {
5479 Parser_Lel_action_ref *__ref0 = (Parser_Lel_action_ref*)&redLel->user.action_ref;
5480 Parser_Lel_action_ref *__ref1 = (Parser_Lel_action_ref*)&rhs[1]->user.action_ref;
5481 #line 765 "rlparse.kl"
5482  (__ref0)->action = (__ref1)->action;
5483 
5484 #line 5483 "rlparse.cpp"
5485 } break;
5486 case 151: {
5487 Parser_Lel_action_ref *__ref0 = (Parser_Lel_action_ref*)&redLel->user.action_ref;
5488 Parser_Lel_action_ref *__ref1 = (Parser_Lel_action_ref*)&rhs[0]->user.action_ref;
5489 #line 766 "rlparse.kl"
5490  (__ref0)->action = (__ref1)->action;
5491 
5492 #line 5491 "rlparse.cpp"
5493 } break;
5494 case 152: {
5495 Token *__ref0 = (Token*)&rhs[0]->user.token;
5496 Parser_Lel_action_ref *__ref1 = (Parser_Lel_action_ref*)&redLel->user.action_ref;
5497 Token *__ref2 = (Token*)&rhs[0]->user.token;
5498 Token *__ref3 = (Token*)&rhs[0]->user.token;
5499 Parser_Lel_action_ref *__ref4 = (Parser_Lel_action_ref*)&redLel->user.action_ref;
5500 #line 771 "rlparse.kl"
5501 
5502 		/* Set the name in the actionDict. */
5503 		Action *action = pd->actionDict.find( (__ref0)->data );
5504 		if ( action != 0 ) {
5505 			/* Pass up the action element */
5506 			(__ref1)->action = action;
5507 		}
5508 		else {
5509 			/* Will recover by returning null as the action. */
5510 			error((__ref2)->loc) << "action lookup of \"" << (__ref3)->data << "\" failed" << endl;
5511 			(__ref4)->action = 0;
5512 		}
5513 
5514 
5515 #line 5514 "rlparse.cpp"
5516 } break;
5517 case 153: {
5518 Token *__ref0 = (Token*)&rhs[0]->user.token;
5519 Parser_Lel_inline_list *__ref1 = (Parser_Lel_inline_list*)&rhs[1]->user.inline_list;
5520 Parser_Lel_action_ref *__ref2 = (Parser_Lel_action_ref*)&redLel->user.action_ref;
5521 #line 788 "rlparse.kl"
5522 
5523 		/* Create the action, add it to the list and pass up. */
5524 		Action *newAction = new Action( (__ref0)->loc, 0, (__ref1)->inlineList, pd->nextCondId++ );
5525 		pd->actionList.append( newAction );
5526 		(__ref2)->action = newAction;
5527 
5528 
5529 #line 5528 "rlparse.cpp"
5530 } break;
5531 case 154: {
5532 Token *__ref0 = (Token*)&rhs[0]->user.token;
5533 Parser_Lel_priority_name *__ref1 = (Parser_Lel_priority_name*)&redLel->user.priority_name;
5534 #line 803 "rlparse.kl"
5535 
5536 		// Lookup/create the priority key.
5537 		PriorDictEl *priorDictEl;
5538 		if ( pd->priorDict.insert( (__ref0)->data, pd->nextPriorKey, &priorDictEl ) )
5539 			pd->nextPriorKey += 1;
5540 
5541 		// Use the inserted/found priority key.
5542 		(__ref1)->priorityName = priorDictEl->value;
5543 
5544 
5545 #line 5544 "rlparse.cpp"
5546 } break;
5547 case 155: {
5548 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&rhs[0]->user.token_type;
5549 Parser_Lel_token_type *__ref1 = (Parser_Lel_token_type*)&rhs[0]->user.token_type;
5550 Parser_Lel_token_type *__ref2 = (Parser_Lel_token_type*)&rhs[0]->user.token_type;
5551 Parser_Lel_priority_aug *__ref3 = (Parser_Lel_priority_aug*)&redLel->user.priority_aug;
5552 Parser_Lel_token_type *__ref4 = (Parser_Lel_token_type*)&rhs[0]->user.token_type;
5553 Parser_Lel_token_type *__ref5 = (Parser_Lel_token_type*)&rhs[0]->user.token_type;
5554 Parser_Lel_priority_aug *__ref6 = (Parser_Lel_priority_aug*)&redLel->user.priority_aug;
5555 Parser_Lel_priority_aug *__ref7 = (Parser_Lel_priority_aug*)&redLel->user.priority_aug;
5556 #line 820 "rlparse.kl"
5557 
5558 		// Convert the priority number to a long. Check for overflow.
5559 		errno = 0;
5560 		//cerr << "PRIOR AUG: " << $1->token.data << endl;
5561 		long aug = strtol( (__ref0)->token.data, 0, 10 );
5562 		if ( errno == ERANGE && aug == LONG_MAX ) {
5563 			/* Priority number too large. Recover by setting the priority to 0. */
5564 			error((__ref1)->token.loc) << "priority number " << (__ref2)->token.data <<
5565 					" overflows" << endl;
5566 			(__ref3)->priorityNum = 0;
5567 		}
5568 		else if ( errno == ERANGE && aug == LONG_MIN ) {
5569 			/* Priority number too large in the neg. Recover by using 0. */
5570 			error((__ref4)->token.loc) << "priority number " << (__ref5)->token.data <<
5571 					" underflows" << endl;
5572 			(__ref6)->priorityNum = 0;
5573 		}
5574 		else {
5575 			/* No overflow or underflow. */
5576 			(__ref7)->priorityNum = aug;
5577 		}
5578 
5579 
5580 #line 5579 "rlparse.cpp"
5581 } break;
5582 case 156: {
5583 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
5584 Token *__ref1 = (Token*)&rhs[0]->user.token;
5585 #line 846 "rlparse.kl"
5586 
5587 		(__ref0)->token = *(__ref1);
5588 
5589 
5590 #line 5589 "rlparse.cpp"
5591 } break;
5592 case 157: {
5593 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
5594 Parser_Lel_token_type *__ref1 = (Parser_Lel_token_type*)&redLel->user.token_type;
5595 Token *__ref2 = (Token*)&rhs[0]->user.token;
5596 Parser_Lel_token_type *__ref3 = (Parser_Lel_token_type*)&redLel->user.token_type;
5597 Token *__ref4 = (Token*)&rhs[1]->user.token;
5598 #line 850 "rlparse.kl"
5599 
5600 		(__ref0)->token.set( "+", 1 );
5601 		(__ref1)->token.loc = (__ref2)->loc;
5602 		(__ref3)->token.append( *(__ref4) );
5603 
5604 
5605 #line 5604 "rlparse.cpp"
5606 } break;
5607 case 158: {
5608 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
5609 Parser_Lel_token_type *__ref1 = (Parser_Lel_token_type*)&redLel->user.token_type;
5610 Token *__ref2 = (Token*)&rhs[0]->user.token;
5611 Parser_Lel_token_type *__ref3 = (Parser_Lel_token_type*)&redLel->user.token_type;
5612 Token *__ref4 = (Token*)&rhs[1]->user.token;
5613 #line 856 "rlparse.kl"
5614 
5615 		(__ref0)->token.set( "-", 1 );
5616 		(__ref1)->token.loc = (__ref2)->loc;
5617 		(__ref3)->token.append( *(__ref4) );
5618 
5619 
5620 #line 5619 "rlparse.cpp"
5621 } break;
5622 case 159: {
5623 Token *__ref0 = (Token*)&rhs[0]->user.token;
5624 Parser_Lel_local_err_name *__ref1 = (Parser_Lel_local_err_name*)&redLel->user.local_err_name;
5625 #line 868 "rlparse.kl"
5626 
5627 		/* Lookup/create the priority key. */
5628 		LocalErrDictEl *localErrDictEl;
5629 		if ( pd->localErrDict.insert( (__ref0)->data, pd->nextLocalErrKey, &localErrDictEl ) )
5630 			pd->nextLocalErrKey += 1;
5631 
5632 		/* Use the inserted/found priority key. */
5633 		(__ref1)->error_name = localErrDictEl->value;
5634 
5635 
5636 #line 5635 "rlparse.cpp"
5637 } break;
5638 case 160: {
5639 Parser_Lel_factor_with_rep *__ref0 = (Parser_Lel_factor_with_rep*)&redLel->user.factor_with_rep;
5640 Token *__ref1 = (Token*)&rhs[1]->user.token;
5641 Parser_Lel_factor_with_rep *__ref2 = (Parser_Lel_factor_with_rep*)&rhs[0]->user.factor_with_rep;
5642 #line 889 "rlparse.kl"
5643 
5644 		(__ref0)->factorWithRep = new FactorWithRep( (__ref1)->loc, (__ref2)->factorWithRep,
5645 				0, 0, FactorWithRep::StarType );
5646 
5647 
5648 #line 5647 "rlparse.cpp"
5649 } break;
5650 case 161: {
5651 Parser_Lel_factor_with_rep *__ref0 = (Parser_Lel_factor_with_rep*)&redLel->user.factor_with_rep;
5652 Token *__ref1 = (Token*)&rhs[1]->user.token;
5653 Parser_Lel_factor_with_rep *__ref2 = (Parser_Lel_factor_with_rep*)&rhs[0]->user.factor_with_rep;
5654 #line 894 "rlparse.kl"
5655 
5656 		(__ref0)->factorWithRep = new FactorWithRep( (__ref1)->loc, (__ref2)->factorWithRep,
5657 				0, 0, FactorWithRep::StarStarType );
5658 
5659 
5660 #line 5659 "rlparse.cpp"
5661 } break;
5662 case 162: {
5663 Parser_Lel_factor_with_rep *__ref0 = (Parser_Lel_factor_with_rep*)&redLel->user.factor_with_rep;
5664 Token *__ref1 = (Token*)&rhs[1]->user.token;
5665 Parser_Lel_factor_with_rep *__ref2 = (Parser_Lel_factor_with_rep*)&rhs[0]->user.factor_with_rep;
5666 #line 899 "rlparse.kl"
5667 
5668 		(__ref0)->factorWithRep = new FactorWithRep( (__ref1)->loc, (__ref2)->factorWithRep,
5669 				0, 0, FactorWithRep::OptionalType );
5670 
5671 
5672 #line 5671 "rlparse.cpp"
5673 } break;
5674 case 163: {
5675 Parser_Lel_factor_with_rep *__ref0 = (Parser_Lel_factor_with_rep*)&redLel->user.factor_with_rep;
5676 Token *__ref1 = (Token*)&rhs[1]->user.token;
5677 Parser_Lel_factor_with_rep *__ref2 = (Parser_Lel_factor_with_rep*)&rhs[0]->user.factor_with_rep;
5678 #line 904 "rlparse.kl"
5679 
5680 		(__ref0)->factorWithRep = new FactorWithRep( (__ref1)->loc, (__ref2)->factorWithRep,
5681 				0, 0, FactorWithRep::PlusType );
5682 
5683 
5684 #line 5683 "rlparse.cpp"
5685 } break;
5686 case 164: {
5687 Parser_Lel_factor_with_rep *__ref0 = (Parser_Lel_factor_with_rep*)&redLel->user.factor_with_rep;
5688 Token *__ref1 = (Token*)&rhs[1]->user.token;
5689 Parser_Lel_factor_with_rep *__ref2 = (Parser_Lel_factor_with_rep*)&rhs[0]->user.factor_with_rep;
5690 Parser_Lel_factor_rep_num *__ref3 = (Parser_Lel_factor_rep_num*)&rhs[2]->user.factor_rep_num;
5691 #line 909 "rlparse.kl"
5692 
5693 		(__ref0)->factorWithRep = new FactorWithRep( (__ref1)->loc, (__ref2)->factorWithRep,
5694 				(__ref3)->rep, 0, FactorWithRep::ExactType );
5695 
5696 
5697 #line 5696 "rlparse.cpp"
5698 } break;
5699 case 165: {
5700 Parser_Lel_factor_with_rep *__ref0 = (Parser_Lel_factor_with_rep*)&redLel->user.factor_with_rep;
5701 Token *__ref1 = (Token*)&rhs[1]->user.token;
5702 Parser_Lel_factor_with_rep *__ref2 = (Parser_Lel_factor_with_rep*)&rhs[0]->user.factor_with_rep;
5703 Parser_Lel_factor_rep_num *__ref3 = (Parser_Lel_factor_rep_num*)&rhs[3]->user.factor_rep_num;
5704 #line 914 "rlparse.kl"
5705 
5706 		(__ref0)->factorWithRep = new FactorWithRep( (__ref1)->loc, (__ref2)->factorWithRep,
5707 				0, (__ref3)->rep, FactorWithRep::MaxType );
5708 
5709 
5710 #line 5709 "rlparse.cpp"
5711 } break;
5712 case 166: {
5713 Parser_Lel_factor_with_rep *__ref0 = (Parser_Lel_factor_with_rep*)&redLel->user.factor_with_rep;
5714 Token *__ref1 = (Token*)&rhs[1]->user.token;
5715 Parser_Lel_factor_with_rep *__ref2 = (Parser_Lel_factor_with_rep*)&rhs[0]->user.factor_with_rep;
5716 Parser_Lel_factor_rep_num *__ref3 = (Parser_Lel_factor_rep_num*)&rhs[2]->user.factor_rep_num;
5717 #line 919 "rlparse.kl"
5718 
5719 		(__ref0)->factorWithRep = new FactorWithRep( (__ref1)->loc, (__ref2)->factorWithRep,
5720 				(__ref3)->rep, 0, FactorWithRep::MinType );
5721 
5722 
5723 #line 5722 "rlparse.cpp"
5724 } break;
5725 case 167: {
5726 Parser_Lel_factor_with_rep *__ref0 = (Parser_Lel_factor_with_rep*)&redLel->user.factor_with_rep;
5727 Token *__ref1 = (Token*)&rhs[1]->user.token;
5728 Parser_Lel_factor_with_rep *__ref2 = (Parser_Lel_factor_with_rep*)&rhs[0]->user.factor_with_rep;
5729 Parser_Lel_factor_rep_num *__ref3 = (Parser_Lel_factor_rep_num*)&rhs[2]->user.factor_rep_num;
5730 Parser_Lel_factor_rep_num *__ref4 = (Parser_Lel_factor_rep_num*)&rhs[4]->user.factor_rep_num;
5731 #line 924 "rlparse.kl"
5732 
5733 		(__ref0)->factorWithRep = new FactorWithRep( (__ref1)->loc, (__ref2)->factorWithRep,
5734 				(__ref3)->rep, (__ref4)->rep, FactorWithRep::RangeType );
5735 
5736 
5737 #line 5736 "rlparse.cpp"
5738 } break;
5739 case 168: {
5740 Parser_Lel_factor_with_rep *__ref0 = (Parser_Lel_factor_with_rep*)&redLel->user.factor_with_rep;
5741 Parser_Lel_factor_with_neg *__ref1 = (Parser_Lel_factor_with_neg*)&rhs[0]->user.factor_with_neg;
5742 #line 929 "rlparse.kl"
5743 
5744 		(__ref0)->factorWithRep = new FactorWithRep( (__ref1)->factorWithNeg );
5745 
5746 
5747 #line 5746 "rlparse.cpp"
5748 } break;
5749 case 169: {
5750 Token *__ref0 = (Token*)&rhs[0]->user.token;
5751 Token *__ref1 = (Token*)&rhs[0]->user.token;
5752 Token *__ref2 = (Token*)&rhs[0]->user.token;
5753 Parser_Lel_factor_rep_num *__ref3 = (Parser_Lel_factor_rep_num*)&redLel->user.factor_rep_num;
5754 Parser_Lel_factor_rep_num *__ref4 = (Parser_Lel_factor_rep_num*)&redLel->user.factor_rep_num;
5755 #line 939 "rlparse.kl"
5756 
5757 		// Convert the priority number to a long. Check for overflow.
5758 		errno = 0;
5759 		long rep = strtol( (__ref0)->data, 0, 10 );
5760 		if ( errno == ERANGE && rep == LONG_MAX ) {
5761 			// Repetition too large. Recover by returing repetition 1. */
5762 			error((__ref1)->loc) << "repetition number " << (__ref2)->data << " overflows" << endl;
5763 			(__ref3)->rep = 1;
5764 		}
5765 		else {
5766 			// Cannot be negative, so no overflow.
5767 			(__ref4)->rep = rep;
5768  		}
5769 
5770 
5771 #line 5770 "rlparse.cpp"
5772 } break;
5773 case 170: {
5774 Parser_Lel_factor_with_neg *__ref0 = (Parser_Lel_factor_with_neg*)&redLel->user.factor_with_neg;
5775 Token *__ref1 = (Token*)&rhs[0]->user.token;
5776 Parser_Lel_factor_with_neg *__ref2 = (Parser_Lel_factor_with_neg*)&rhs[1]->user.factor_with_neg;
5777 #line 965 "rlparse.kl"
5778 
5779 		(__ref0)->factorWithNeg = new FactorWithNeg( (__ref1)->loc,
5780 				(__ref2)->factorWithNeg, FactorWithNeg::NegateType );
5781 
5782 
5783 #line 5782 "rlparse.cpp"
5784 } break;
5785 case 171: {
5786 Parser_Lel_factor_with_neg *__ref0 = (Parser_Lel_factor_with_neg*)&redLel->user.factor_with_neg;
5787 Token *__ref1 = (Token*)&rhs[0]->user.token;
5788 Parser_Lel_factor_with_neg *__ref2 = (Parser_Lel_factor_with_neg*)&rhs[1]->user.factor_with_neg;
5789 #line 970 "rlparse.kl"
5790 
5791 		(__ref0)->factorWithNeg = new FactorWithNeg( (__ref1)->loc,
5792 				(__ref2)->factorWithNeg, FactorWithNeg::CharNegateType );
5793 
5794 
5795 #line 5794 "rlparse.cpp"
5796 } break;
5797 case 172: {
5798 Parser_Lel_factor_with_neg *__ref0 = (Parser_Lel_factor_with_neg*)&redLel->user.factor_with_neg;
5799 Parser_Lel_factor *__ref1 = (Parser_Lel_factor*)&rhs[0]->user.factor;
5800 #line 975 "rlparse.kl"
5801 
5802 		(__ref0)->factorWithNeg = new FactorWithNeg( (__ref1)->factor );
5803 
5804 
5805 #line 5804 "rlparse.cpp"
5806 } break;
5807 case 173: {
5808 Parser_Lel_factor *__ref0 = (Parser_Lel_factor*)&redLel->user.factor;
5809 Token *__ref1 = (Token*)&rhs[0]->user.token;
5810 #line 985 "rlparse.kl"
5811 
5812 		/* Create a new factor node going to a concat literal. */
5813 		(__ref0)->factor = new Factor( new Literal( *(__ref1), Literal::LitString ) );
5814 
5815 
5816 #line 5815 "rlparse.cpp"
5817 } break;
5818 case 174: {
5819 Parser_Lel_factor *__ref0 = (Parser_Lel_factor*)&redLel->user.factor;
5820 Parser_Lel_token_type *__ref1 = (Parser_Lel_token_type*)&rhs[0]->user.token_type;
5821 #line 990 "rlparse.kl"
5822 
5823 		/* Create a new factor node going to a literal number. */
5824 		(__ref0)->factor = new Factor( new Literal( (__ref1)->token, Literal::Number ) );
5825 
5826 
5827 #line 5826 "rlparse.cpp"
5828 } break;
5829 case 175: {
5830 Token *__ref0 = (Token*)&rhs[0]->user.token;
5831 Token *__ref1 = (Token*)&rhs[0]->user.token;
5832 Token *__ref2 = (Token*)&rhs[0]->user.token;
5833 Parser_Lel_factor *__ref3 = (Parser_Lel_factor*)&redLel->user.factor;
5834 Token *__ref4 = (Token*)&rhs[0]->user.token;
5835 Parser_Lel_factor *__ref5 = (Parser_Lel_factor*)&redLel->user.factor;
5836 Parser_Lel_factor *__ref6 = (Parser_Lel_factor*)&redLel->user.factor;
5837 Token *__ref7 = (Token*)&rhs[0]->user.token;
5838 #line 995 "rlparse.kl"
5839 
5840 		/* Find the named graph. */
5841 		GraphDictEl *gdNode = pd->graphDict.find( (__ref0)->data );
5842 		if ( gdNode == 0 ) {
5843 			/* Recover by returning null as the factor node. */
5844 			error((__ref1)->loc) << "graph lookup of \"" << (__ref2)->data << "\" failed" << endl;
5845 			(__ref3)->factor = 0;
5846 		}
5847 		else if ( gdNode->isInstance ) {
5848 			/* Recover by retuning null as the factor node. */
5849 			error((__ref4)->loc) << "references to graph instantiations not allowed "
5850 					"in expressions" << endl;
5851 			(__ref5)->factor = 0;
5852 		}
5853 		else {
5854 			/* Create a factor node that is a lookup of an expression. */
5855 			(__ref6)->factor = new Factor( (__ref7)->loc, gdNode->value );
5856 		}
5857 
5858 
5859 #line 5858 "rlparse.cpp"
5860 } break;
5861 case 176: {
5862 Parser_Lel_factor *__ref0 = (Parser_Lel_factor*)&redLel->user.factor;
5863 Token *__ref1 = (Token*)&rhs[0]->user.token;
5864 Parser_Lel_regular_expr_or_data *__ref2 = (Parser_Lel_regular_expr_or_data*)&rhs[1]->user.regular_expr_or_data;
5865 #line 1015 "rlparse.kl"
5866 
5867 		/* Create a new factor node going to an OR expression. */
5868 		(__ref0)->factor = new Factor( new ReItem( (__ref1)->loc, (__ref2)->reOrBlock, ReItem::OrBlock ) );
5869 
5870 
5871 #line 5870 "rlparse.cpp"
5872 } break;
5873 case 177: {
5874 Parser_Lel_factor *__ref0 = (Parser_Lel_factor*)&redLel->user.factor;
5875 Token *__ref1 = (Token*)&rhs[0]->user.token;
5876 Parser_Lel_regular_expr_or_data *__ref2 = (Parser_Lel_regular_expr_or_data*)&rhs[1]->user.regular_expr_or_data;
5877 #line 1020 "rlparse.kl"
5878 
5879 		/* Create a new factor node going to a negated OR expression. */
5880 		(__ref0)->factor = new Factor( new ReItem( (__ref1)->loc, (__ref2)->reOrBlock, ReItem::NegOrBlock ) );
5881 
5882 
5883 #line 5882 "rlparse.cpp"
5884 } break;
5885 case 178: {
5886 Token *__ref0 = (Token*)&rhs[2]->user.token;
5887 Token *__ref1 = (Token*)&rhs[2]->user.token;
5888 Parser_Lel_regular_expr *__ref2 = (Parser_Lel_regular_expr*)&rhs[1]->user.regular_expr;
5889 Parser_Lel_factor *__ref3 = (Parser_Lel_factor*)&redLel->user.factor;
5890 Parser_Lel_regular_expr *__ref4 = (Parser_Lel_regular_expr*)&rhs[1]->user.regular_expr;
5891 #line 1025 "rlparse.kl"
5892 
5893 		if ( (__ref0)->length > 1 ) {
5894 			for ( char *p = (__ref1)->data; *p != 0; p++ ) {
5895 				if ( *p == 'i' )
5896 					(__ref2)->regExpr->caseInsensitive = true;
5897 			}
5898 		}
5899 
5900 		/* Create a new factor node going to a regular exp. */
5901 		(__ref3)->factor = new Factor( (__ref4)->regExpr );
5902 
5903 
5904 #line 5903 "rlparse.cpp"
5905 } break;
5906 case 179: {
5907 Parser_Lel_factor *__ref0 = (Parser_Lel_factor*)&redLel->user.factor;
5908 Parser_Lel_range_lit *__ref1 = (Parser_Lel_range_lit*)&rhs[0]->user.range_lit;
5909 Parser_Lel_range_lit *__ref2 = (Parser_Lel_range_lit*)&rhs[2]->user.range_lit;
5910 #line 1037 "rlparse.kl"
5911 
5912 		/* Create a new factor node going to a range. */
5913 		(__ref0)->factor = new Factor( new Range( (__ref1)->literal, (__ref2)->literal ) );
5914 
5915 
5916 #line 5915 "rlparse.cpp"
5917 } break;
5918 case 180: {
5919 Parser_Lel_factor *__ref0 = (Parser_Lel_factor*)&redLel->user.factor;
5920 Parser_Lel_join *__ref1 = (Parser_Lel_join*)&rhs[1]->user.join;
5921 Parser_Lel_join *__ref2 = (Parser_Lel_join*)&rhs[1]->user.join;
5922 Token *__ref3 = (Token*)&rhs[0]->user.token;
5923 #line 1042 "rlparse.kl"
5924 
5925 		/* Create a new factor going to a parenthesized join. */
5926 		(__ref0)->factor = new Factor( (__ref1)->join );
5927 		(__ref2)->join->loc = (__ref3)->loc;
5928 
5929 
5930 #line 5929 "rlparse.cpp"
5931 } break;
5932 case 181: {
5933 Parser_Lel_range_lit *__ref0 = (Parser_Lel_range_lit*)&redLel->user.range_lit;
5934 Token *__ref1 = (Token*)&rhs[0]->user.token;
5935 #line 1055 "rlparse.kl"
5936 
5937 		/* Range literas must have only one char. We restrict this in the parse tree. */
5938 		(__ref0)->literal = new Literal( *(__ref1), Literal::LitString );
5939 
5940 
5941 #line 5940 "rlparse.cpp"
5942 } break;
5943 case 182: {
5944 Parser_Lel_range_lit *__ref0 = (Parser_Lel_range_lit*)&redLel->user.range_lit;
5945 Parser_Lel_token_type *__ref1 = (Parser_Lel_token_type*)&rhs[0]->user.token_type;
5946 #line 1060 "rlparse.kl"
5947 
5948 		/* Create a new literal number. */
5949 		(__ref0)->literal = new Literal( (__ref1)->token, Literal::Number );
5950 
5951 
5952 #line 5951 "rlparse.cpp"
5953 } break;
5954 case 183: {
5955 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
5956 Token *__ref1 = (Token*)&rhs[0]->user.token;
5957 #line 1069 "rlparse.kl"
5958 
5959 		(__ref0)->token = *(__ref1);
5960 
5961 
5962 #line 5961 "rlparse.cpp"
5963 } break;
5964 case 184: {
5965 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
5966 Parser_Lel_token_type *__ref1 = (Parser_Lel_token_type*)&redLel->user.token_type;
5967 Token *__ref2 = (Token*)&rhs[0]->user.token;
5968 Parser_Lel_token_type *__ref3 = (Parser_Lel_token_type*)&redLel->user.token_type;
5969 Token *__ref4 = (Token*)&rhs[1]->user.token;
5970 #line 1073 "rlparse.kl"
5971 
5972 		(__ref0)->token.set( "-", 1 );
5973 		(__ref1)->token.loc = (__ref2)->loc;
5974 		(__ref3)->token.append( *(__ref4) );
5975 
5976 
5977 #line 5976 "rlparse.cpp"
5978 } break;
5979 case 185: {
5980 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
5981 Token *__ref1 = (Token*)&rhs[0]->user.token;
5982 #line 1079 "rlparse.kl"
5983 
5984 		(__ref0)->token = *(__ref1);
5985 
5986 
5987 #line 5986 "rlparse.cpp"
5988 } break;
5989 case 186: {
5990 Parser_Lel_regular_expr_item *__ref0 = (Parser_Lel_regular_expr_item*)&rhs[1]->user.regular_expr_item;
5991 Parser_Lel_regular_expr_item *__ref1 = (Parser_Lel_regular_expr_item*)&rhs[1]->user.regular_expr_item;
5992 Parser_Lel_regular_expr *__ref2 = (Parser_Lel_regular_expr*)&rhs[0]->user.regular_expr;
5993 Parser_Lel_regular_expr *__ref3 = (Parser_Lel_regular_expr*)&rhs[0]->user.regular_expr;
5994 Parser_Lel_regular_expr *__ref4 = (Parser_Lel_regular_expr*)&rhs[0]->user.regular_expr;
5995 Parser_Lel_regular_expr *__ref5 = (Parser_Lel_regular_expr*)&rhs[0]->user.regular_expr;
5996 Parser_Lel_regular_expr_item *__ref6 = (Parser_Lel_regular_expr_item*)&rhs[1]->user.regular_expr_item;
5997 Parser_Lel_regular_expr_item *__ref7 = (Parser_Lel_regular_expr_item*)&rhs[1]->user.regular_expr_item;
5998 Parser_Lel_regular_expr *__ref8 = (Parser_Lel_regular_expr*)&redLel->user.regular_expr;
5999 Parser_Lel_regular_expr *__ref9 = (Parser_Lel_regular_expr*)&rhs[0]->user.regular_expr;
6000 Parser_Lel_regular_expr *__ref10 = (Parser_Lel_regular_expr*)&redLel->user.regular_expr;
6001 Parser_Lel_regular_expr *__ref11 = (Parser_Lel_regular_expr*)&rhs[0]->user.regular_expr;
6002 Parser_Lel_regular_expr_item *__ref12 = (Parser_Lel_regular_expr_item*)&rhs[1]->user.regular_expr_item;
6003 #line 1094 "rlparse.kl"
6004 
6005 		/* An optimization to lessen the tree size. If a non-starred char is
6006 		 * directly under the left side on the right and the right side is
6007 		 * another non-starred char then paste them together and return the
6008 		 * left side. Otherwise just put the two under a new reg exp node. */
6009 		if ( (__ref0)->reItem->type == ReItem::Data && !(__ref1)->reItem->star &&
6010 			(__ref2)->regExpr->type == RegExpr::RecurseItem &&
6011 			(__ref3)->regExpr->item->type == ReItem::Data && !(__ref4)->regExpr->item->star )
6012 		{
6013 			/* Append the right side to the right side of the left and toss the
6014 			 * right side. */
6015 			(__ref5)->regExpr->item->token.append( (__ref6)->reItem->token );
6016 			delete (__ref7)->reItem;
6017 			(__ref8)->regExpr = (__ref9)->regExpr;
6018 		}
6019 		else {
6020 			(__ref10)->regExpr = new RegExpr( (__ref11)->regExpr, (__ref12)->reItem );
6021 		}
6022 
6023 
6024 #line 6023 "rlparse.cpp"
6025 } break;
6026 case 187: {
6027 Parser_Lel_regular_expr *__ref0 = (Parser_Lel_regular_expr*)&redLel->user.regular_expr;
6028 #line 1114 "rlparse.kl"
6029 
6030 		/* Can't optimize the tree. */
6031 		(__ref0)->regExpr = new RegExpr();
6032 
6033 
6034 #line 6033 "rlparse.cpp"
6035 } break;
6036 case 188: {
6037 Parser_Lel_regular_expr_char *__ref0 = (Parser_Lel_regular_expr_char*)&rhs[0]->user.regular_expr_char;
6038 Parser_Lel_regular_expr_item *__ref1 = (Parser_Lel_regular_expr_item*)&redLel->user.regular_expr_item;
6039 Parser_Lel_regular_expr_char *__ref2 = (Parser_Lel_regular_expr_char*)&rhs[0]->user.regular_expr_char;
6040 #line 1126 "rlparse.kl"
6041 
6042 		(__ref0)->reItem->star = true;
6043 		(__ref1)->reItem = (__ref2)->reItem;
6044 
6045 
6046 #line 6045 "rlparse.cpp"
6047 } break;
6048 case 189: {
6049 Parser_Lel_regular_expr_item *__ref0 = (Parser_Lel_regular_expr_item*)&redLel->user.regular_expr_item;
6050 Parser_Lel_regular_expr_char *__ref1 = (Parser_Lel_regular_expr_char*)&rhs[0]->user.regular_expr_char;
6051 #line 1131 "rlparse.kl"
6052 
6053 		(__ref0)->reItem = (__ref1)->reItem;
6054 
6055 
6056 #line 6055 "rlparse.cpp"
6057 } break;
6058 case 190: {
6059 Parser_Lel_regular_expr_char *__ref0 = (Parser_Lel_regular_expr_char*)&redLel->user.regular_expr_char;
6060 Token *__ref1 = (Token*)&rhs[0]->user.token;
6061 Parser_Lel_regular_expr_or_data *__ref2 = (Parser_Lel_regular_expr_or_data*)&rhs[1]->user.regular_expr_or_data;
6062 #line 1143 "rlparse.kl"
6063 
6064 		(__ref0)->reItem = new ReItem( (__ref1)->loc, (__ref2)->reOrBlock, ReItem::OrBlock );
6065 
6066 
6067 #line 6066 "rlparse.cpp"
6068 } break;
6069 case 191: {
6070 Parser_Lel_regular_expr_char *__ref0 = (Parser_Lel_regular_expr_char*)&redLel->user.regular_expr_char;
6071 Token *__ref1 = (Token*)&rhs[0]->user.token;
6072 Parser_Lel_regular_expr_or_data *__ref2 = (Parser_Lel_regular_expr_or_data*)&rhs[1]->user.regular_expr_or_data;
6073 #line 1147 "rlparse.kl"
6074 
6075 		(__ref0)->reItem = new ReItem( (__ref1)->loc, (__ref2)->reOrBlock, ReItem::NegOrBlock );
6076 
6077 
6078 #line 6077 "rlparse.cpp"
6079 } break;
6080 case 192: {
6081 Parser_Lel_regular_expr_char *__ref0 = (Parser_Lel_regular_expr_char*)&redLel->user.regular_expr_char;
6082 Token *__ref1 = (Token*)&rhs[0]->user.token;
6083 #line 1151 "rlparse.kl"
6084 
6085 		(__ref0)->reItem = new ReItem( (__ref1)->loc, ReItem::Dot );
6086 
6087 
6088 #line 6087 "rlparse.cpp"
6089 } break;
6090 case 193: {
6091 Parser_Lel_regular_expr_char *__ref0 = (Parser_Lel_regular_expr_char*)&redLel->user.regular_expr_char;
6092 Token *__ref1 = (Token*)&rhs[0]->user.token;
6093 Token *__ref2 = (Token*)&rhs[0]->user.token;
6094 #line 1155 "rlparse.kl"
6095 
6096 		(__ref0)->reItem = new ReItem( (__ref1)->loc, *(__ref2) );
6097 
6098 
6099 #line 6098 "rlparse.cpp"
6100 } break;
6101 case 194: {
6102 Parser_Lel_regular_expr_or_char *__ref0 = (Parser_Lel_regular_expr_or_char*)&rhs[1]->user.regular_expr_or_char;
6103 Parser_Lel_regular_expr_or_data *__ref1 = (Parser_Lel_regular_expr_or_data*)&rhs[0]->user.regular_expr_or_data;
6104 Parser_Lel_regular_expr_or_data *__ref2 = (Parser_Lel_regular_expr_or_data*)&rhs[0]->user.regular_expr_or_data;
6105 Parser_Lel_regular_expr_or_data *__ref3 = (Parser_Lel_regular_expr_or_data*)&rhs[0]->user.regular_expr_or_data;
6106 Parser_Lel_regular_expr_or_char *__ref4 = (Parser_Lel_regular_expr_or_char*)&rhs[1]->user.regular_expr_or_char;
6107 Parser_Lel_regular_expr_or_char *__ref5 = (Parser_Lel_regular_expr_or_char*)&rhs[1]->user.regular_expr_or_char;
6108 Parser_Lel_regular_expr_or_data *__ref6 = (Parser_Lel_regular_expr_or_data*)&redLel->user.regular_expr_or_data;
6109 Parser_Lel_regular_expr_or_data *__ref7 = (Parser_Lel_regular_expr_or_data*)&rhs[0]->user.regular_expr_or_data;
6110 Parser_Lel_regular_expr_or_data *__ref8 = (Parser_Lel_regular_expr_or_data*)&redLel->user.regular_expr_or_data;
6111 Parser_Lel_regular_expr_or_data *__ref9 = (Parser_Lel_regular_expr_or_data*)&rhs[0]->user.regular_expr_or_data;
6112 Parser_Lel_regular_expr_or_char *__ref10 = (Parser_Lel_regular_expr_or_char*)&rhs[1]->user.regular_expr_or_char;
6113 #line 1167 "rlparse.kl"
6114 
6115 		/* An optimization to lessen the tree size. If an or char is directly
6116 		 * under the left side on the right and the right side is another or
6117 		 * char then paste them together and return the left side. Otherwise
6118 		 * just put the two under a new or data node. */
6119 		if ( (__ref0)->reOrItem->type == ReOrItem::Data &&
6120 				(__ref1)->reOrBlock->type == ReOrBlock::RecurseItem &&
6121 				(__ref2)->reOrBlock->item->type == ReOrItem::Data )
6122 		{
6123 			/* Append the right side to right side of the left and toss the
6124 			 * right side. */
6125 			(__ref3)->reOrBlock->item->token.append( (__ref4)->reOrItem->token );
6126 			delete (__ref5)->reOrItem;
6127 			(__ref6)->reOrBlock = (__ref7)->reOrBlock;
6128 		}
6129 		else {
6130 			/* Can't optimize, put the left and right under a new node. */
6131 			(__ref8)->reOrBlock = new ReOrBlock( (__ref9)->reOrBlock, (__ref10)->reOrItem );
6132 		}
6133 
6134 
6135 #line 6134 "rlparse.cpp"
6136 } break;
6137 case 195: {
6138 Parser_Lel_regular_expr_or_data *__ref0 = (Parser_Lel_regular_expr_or_data*)&redLel->user.regular_expr_or_data;
6139 #line 1188 "rlparse.kl"
6140 
6141 		(__ref0)->reOrBlock = new ReOrBlock();
6142 
6143 
6144 #line 6143 "rlparse.cpp"
6145 } break;
6146 case 196: {
6147 Parser_Lel_regular_expr_or_char *__ref0 = (Parser_Lel_regular_expr_or_char*)&redLel->user.regular_expr_or_char;
6148 Token *__ref1 = (Token*)&rhs[0]->user.token;
6149 Token *__ref2 = (Token*)&rhs[0]->user.token;
6150 #line 1200 "rlparse.kl"
6151 
6152 		(__ref0)->reOrItem = new ReOrItem( (__ref1)->loc, *(__ref2) );
6153 
6154 
6155 #line 6154 "rlparse.cpp"
6156 } break;
6157 case 197: {
6158 Parser_Lel_regular_expr_or_char *__ref0 = (Parser_Lel_regular_expr_or_char*)&redLel->user.regular_expr_or_char;
6159 Token *__ref1 = (Token*)&rhs[1]->user.token;
6160 Token *__ref2 = (Token*)&rhs[0]->user.token;
6161 Token *__ref3 = (Token*)&rhs[2]->user.token;
6162 #line 1204 "rlparse.kl"
6163 
6164 		(__ref0)->reOrItem = new ReOrItem( (__ref1)->loc, (__ref2)->data[0], (__ref3)->data[0] );
6165 
6166 
6167 #line 6166 "rlparse.cpp"
6168 } break;
6169 case 198: {
6170 Parser_Lel_inline_list *__ref0 = (Parser_Lel_inline_list*)&redLel->user.inline_list;
6171 Parser_Lel_inline_list *__ref1 = (Parser_Lel_inline_list*)&rhs[0]->user.inline_list;
6172 Parser_Lel_inline_list *__ref2 = (Parser_Lel_inline_list*)&redLel->user.inline_list;
6173 Parser_Lel_inline_item *__ref3 = (Parser_Lel_inline_item*)&rhs[1]->user.inline_item;
6174 #line 1221 "rlparse.kl"
6175 
6176 		/* Append the item to the list, return the list. */
6177 		(__ref0)->inlineList = (__ref1)->inlineList;
6178 		(__ref2)->inlineList->append( (__ref3)->inlineItem );
6179 
6180 
6181 #line 6180 "rlparse.cpp"
6182 } break;
6183 case 199: {
6184 Parser_Lel_inline_list *__ref0 = (Parser_Lel_inline_list*)&redLel->user.inline_list;
6185 #line 1228 "rlparse.kl"
6186 
6187 		/* Start with empty list. */
6188 		(__ref0)->inlineList = new InlineList;
6189 
6190 
6191 #line 6190 "rlparse.cpp"
6192 } break;
6193 case 200: {
6194 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6195 Parser_Lel_token_type *__ref1 = (Parser_Lel_token_type*)&rhs[0]->user.token_type;
6196 Parser_Lel_token_type *__ref2 = (Parser_Lel_token_type*)&rhs[0]->user.token_type;
6197 #line 1243 "rlparse.kl"
6198 
6199 		(__ref0)->inlineItem = new InlineItem( (__ref1)->token.loc, (__ref2)->token.data, InlineItem::Text );
6200 
6201 
6202 #line 6201 "rlparse.cpp"
6203 } break;
6204 case 201: {
6205 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6206 Parser_Lel_token_type *__ref1 = (Parser_Lel_token_type*)&rhs[0]->user.token_type;
6207 Parser_Lel_token_type *__ref2 = (Parser_Lel_token_type*)&rhs[0]->user.token_type;
6208 #line 1249 "rlparse.kl"
6209 
6210 		(__ref0)->inlineItem = new InlineItem( (__ref1)->token.loc, (__ref2)->token.data, InlineItem::Text );
6211 
6212 
6213 #line 6212 "rlparse.cpp"
6214 } break;
6215 case 202: {
6216 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6217 Parser_Lel_inline_item *__ref1 = (Parser_Lel_inline_item*)&rhs[0]->user.inline_item;
6218 #line 1255 "rlparse.kl"
6219 
6220 		/* Pass the inline item up. */
6221 		(__ref0)->inlineItem = (__ref1)->inlineItem;
6222 
6223 
6224 #line 6223 "rlparse.cpp"
6225 } break;
6226 case 203: {
6227 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6228 Token *__ref1 = (Token*)&rhs[0]->user.token;
6229 #line 1262 "rlparse.kl"
6230  (__ref0)->token = *(__ref1);
6231 
6232 #line 6231 "rlparse.cpp"
6233 } break;
6234 case 204: {
6235 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6236 Token *__ref1 = (Token*)&rhs[0]->user.token;
6237 #line 1263 "rlparse.kl"
6238  (__ref0)->token = *(__ref1);
6239 
6240 #line 6239 "rlparse.cpp"
6241 } break;
6242 case 205: {
6243 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6244 Token *__ref1 = (Token*)&rhs[0]->user.token;
6245 #line 1264 "rlparse.kl"
6246  (__ref0)->token = *(__ref1);
6247 
6248 #line 6247 "rlparse.cpp"
6249 } break;
6250 case 206: {
6251 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6252 Token *__ref1 = (Token*)&rhs[0]->user.token;
6253 #line 1265 "rlparse.kl"
6254  (__ref0)->token = *(__ref1);
6255 
6256 #line 6255 "rlparse.cpp"
6257 } break;
6258 case 207: {
6259 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6260 Token *__ref1 = (Token*)&rhs[0]->user.token;
6261 #line 1266 "rlparse.kl"
6262  (__ref0)->token = *(__ref1);
6263 
6264 #line 6263 "rlparse.cpp"
6265 } break;
6266 case 208: {
6267 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6268 Token *__ref1 = (Token*)&rhs[0]->user.token;
6269 #line 1267 "rlparse.kl"
6270  (__ref0)->token = *(__ref1);
6271 
6272 #line 6271 "rlparse.cpp"
6273 } break;
6274 case 209: {
6275 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6276 Parser_Lel_inline_item *__ref1 = (Parser_Lel_inline_item*)&rhs[0]->user.inline_item;
6277 #line 1271 "rlparse.kl"
6278 
6279 		/* Pass up interpreted items of inline expressions. */
6280 		(__ref0)->inlineItem = (__ref1)->inlineItem;
6281 
6282 
6283 #line 6282 "rlparse.cpp"
6284 } break;
6285 case 210: {
6286 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6287 Token *__ref1 = (Token*)&rhs[0]->user.token;
6288 #line 1276 "rlparse.kl"
6289 
6290 		(__ref0)->inlineItem = new InlineItem( (__ref1)->loc, InlineItem::Hold );
6291 
6292 
6293 #line 6292 "rlparse.cpp"
6294 } break;
6295 case 211: {
6296 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6297 Token *__ref1 = (Token*)&rhs[0]->user.token;
6298 Parser_Lel_inline_item *__ref2 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6299 Parser_Lel_inline_list *__ref3 = (Parser_Lel_inline_list*)&rhs[1]->user.inline_list;
6300 #line 1280 "rlparse.kl"
6301 
6302 		(__ref0)->inlineItem = new InlineItem( (__ref1)->loc, InlineItem::Exec );
6303 		(__ref2)->inlineItem->children = (__ref3)->inlineList;
6304 
6305 
6306 #line 6305 "rlparse.cpp"
6307 } break;
6308 case 212: {
6309 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6310 Token *__ref1 = (Token*)&rhs[0]->user.token;
6311 #line 1285 "rlparse.kl"
6312 
6313 		(__ref0)->inlineItem = new InlineItem( (__ref1)->loc,
6314 				new NameRef(nameRef), InlineItem::Goto );
6315 
6316 
6317 #line 6316 "rlparse.cpp"
6318 } break;
6319 case 213: {
6320 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6321 Token *__ref1 = (Token*)&rhs[0]->user.token;
6322 Parser_Lel_inline_item *__ref2 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6323 Parser_Lel_inline_list *__ref3 = (Parser_Lel_inline_list*)&rhs[2]->user.inline_list;
6324 #line 1290 "rlparse.kl"
6325 
6326 		(__ref0)->inlineItem = new InlineItem( (__ref1)->loc, InlineItem::GotoExpr );
6327 		(__ref2)->inlineItem->children = (__ref3)->inlineList;
6328 
6329 
6330 #line 6329 "rlparse.cpp"
6331 } break;
6332 case 214: {
6333 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6334 Token *__ref1 = (Token*)&rhs[0]->user.token;
6335 #line 1295 "rlparse.kl"
6336 
6337 		(__ref0)->inlineItem = new InlineItem( (__ref1)->loc, new NameRef(nameRef), InlineItem::Next );
6338 
6339 
6340 #line 6339 "rlparse.cpp"
6341 } break;
6342 case 215: {
6343 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6344 Token *__ref1 = (Token*)&rhs[0]->user.token;
6345 Parser_Lel_inline_item *__ref2 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6346 Parser_Lel_inline_list *__ref3 = (Parser_Lel_inline_list*)&rhs[2]->user.inline_list;
6347 #line 1299 "rlparse.kl"
6348 
6349 		(__ref0)->inlineItem = new InlineItem( (__ref1)->loc, InlineItem::NextExpr );
6350 		(__ref2)->inlineItem->children = (__ref3)->inlineList;
6351 
6352 
6353 #line 6352 "rlparse.cpp"
6354 } break;
6355 case 216: {
6356 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6357 Token *__ref1 = (Token*)&rhs[0]->user.token;
6358 #line 1304 "rlparse.kl"
6359 
6360 		(__ref0)->inlineItem = new InlineItem( (__ref1)->loc, new NameRef(nameRef), InlineItem::Call );
6361 
6362 
6363 #line 6362 "rlparse.cpp"
6364 } break;
6365 case 217: {
6366 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6367 Token *__ref1 = (Token*)&rhs[0]->user.token;
6368 Parser_Lel_inline_item *__ref2 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6369 Parser_Lel_inline_list *__ref3 = (Parser_Lel_inline_list*)&rhs[2]->user.inline_list;
6370 #line 1308 "rlparse.kl"
6371 
6372 		(__ref0)->inlineItem = new InlineItem( (__ref1)->loc, InlineItem::CallExpr );
6373 		(__ref2)->inlineItem->children = (__ref3)->inlineList;
6374 
6375 
6376 #line 6375 "rlparse.cpp"
6377 } break;
6378 case 218: {
6379 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6380 Token *__ref1 = (Token*)&rhs[0]->user.token;
6381 #line 1313 "rlparse.kl"
6382 
6383 		(__ref0)->inlineItem = new InlineItem( (__ref1)->loc, InlineItem::Ret );
6384 
6385 
6386 #line 6385 "rlparse.cpp"
6387 } break;
6388 case 219: {
6389 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6390 Token *__ref1 = (Token*)&rhs[0]->user.token;
6391 #line 1317 "rlparse.kl"
6392 
6393 		(__ref0)->inlineItem = new InlineItem( (__ref1)->loc, InlineItem::Break );
6394 
6395 
6396 #line 6395 "rlparse.cpp"
6397 } break;
6398 case 220: {
6399 Parser_Lel_inline_list *__ref0 = (Parser_Lel_inline_list*)&redLel->user.inline_list;
6400 Parser_Lel_inline_list *__ref1 = (Parser_Lel_inline_list*)&rhs[0]->user.inline_list;
6401 Parser_Lel_inline_list *__ref2 = (Parser_Lel_inline_list*)&redLel->user.inline_list;
6402 Parser_Lel_inline_item *__ref3 = (Parser_Lel_inline_item*)&rhs[1]->user.inline_item;
6403 #line 1325 "rlparse.kl"
6404 
6405 		(__ref0)->inlineList = (__ref1)->inlineList;
6406 		(__ref2)->inlineList->append( (__ref3)->inlineItem );
6407 
6408 
6409 #line 6408 "rlparse.cpp"
6410 } break;
6411 case 221: {
6412 Parser_Lel_inline_list *__ref0 = (Parser_Lel_inline_list*)&redLel->user.inline_list;
6413 #line 1330 "rlparse.kl"
6414 
6415 		/* Init the list used for this expr. */
6416 		(__ref0)->inlineList = new InlineList;
6417 
6418 
6419 #line 6418 "rlparse.cpp"
6420 } break;
6421 case 222: {
6422 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6423 Parser_Lel_token_type *__ref1 = (Parser_Lel_token_type*)&rhs[0]->user.token_type;
6424 Parser_Lel_token_type *__ref2 = (Parser_Lel_token_type*)&rhs[0]->user.token_type;
6425 #line 1339 "rlparse.kl"
6426 
6427 		/* Return a text segment. */
6428 		(__ref0)->inlineItem = new InlineItem( (__ref1)->token.loc, (__ref2)->token.data, InlineItem::Text );
6429 
6430 
6431 #line 6430 "rlparse.cpp"
6432 } break;
6433 case 223: {
6434 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6435 Parser_Lel_token_type *__ref1 = (Parser_Lel_token_type*)&rhs[0]->user.token_type;
6436 Parser_Lel_token_type *__ref2 = (Parser_Lel_token_type*)&rhs[0]->user.token_type;
6437 #line 1345 "rlparse.kl"
6438 
6439 		/* Return a text segment, must heap alloc the text. */
6440 		(__ref0)->inlineItem = new InlineItem( (__ref1)->token.loc, (__ref2)->token.data, InlineItem::Text );
6441 
6442 
6443 #line 6442 "rlparse.cpp"
6444 } break;
6445 case 224: {
6446 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6447 Parser_Lel_inline_item *__ref1 = (Parser_Lel_inline_item*)&rhs[0]->user.inline_item;
6448 #line 1351 "rlparse.kl"
6449 
6450 		/* Pass the inline item up. */
6451 		(__ref0)->inlineItem = (__ref1)->inlineItem;
6452 
6453 
6454 #line 6453 "rlparse.cpp"
6455 } break;
6456 case 237: {
6457 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6458 Token *__ref1 = (Token*)&rhs[0]->user.token;
6459 #line 1381 "rlparse.kl"
6460 
6461 		(__ref0)->inlineItem = new InlineItem( (__ref1)->loc, InlineItem::PChar );
6462 
6463 
6464 #line 6463 "rlparse.cpp"
6465 } break;
6466 case 238: {
6467 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6468 Token *__ref1 = (Token*)&rhs[0]->user.token;
6469 #line 1386 "rlparse.kl"
6470 
6471 		(__ref0)->inlineItem = new InlineItem( (__ref1)->loc, InlineItem::Char );
6472 
6473 
6474 #line 6473 "rlparse.cpp"
6475 } break;
6476 case 239: {
6477 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6478 Token *__ref1 = (Token*)&rhs[0]->user.token;
6479 #line 1391 "rlparse.kl"
6480 
6481 		(__ref0)->inlineItem = new InlineItem( (__ref1)->loc, InlineItem::Curs );
6482 
6483 
6484 #line 6483 "rlparse.cpp"
6485 } break;
6486 case 240: {
6487 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6488 Token *__ref1 = (Token*)&rhs[0]->user.token;
6489 #line 1396 "rlparse.kl"
6490 
6491 		(__ref0)->inlineItem = new InlineItem( (__ref1)->loc, InlineItem::Targs );
6492 
6493 
6494 #line 6493 "rlparse.cpp"
6495 } break;
6496 case 241: {
6497 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6498 Token *__ref1 = (Token*)&rhs[0]->user.token;
6499 #line 1401 "rlparse.kl"
6500 
6501 		(__ref0)->inlineItem = new InlineItem( (__ref1)->loc,
6502 			new NameRef(nameRef), InlineItem::Entry );
6503 
6504 
6505 #line 6504 "rlparse.cpp"
6506 } break;
6507 case 243: {
6508 #line 1412 "rlparse.kl"
6509 
6510 		nameRef.empty();
6511 
6512 
6513 #line 6512 "rlparse.cpp"
6514 } break;
6515 case 245: {
6516 #line 1422 "rlparse.kl"
6517 
6518 		/* Insert an initial null pointer val to indicate the existence of the
6519 		 * initial name seperator. */
6520 		nameRef.setAs( 0 );
6521 
6522 
6523 #line 6522 "rlparse.cpp"
6524 } break;
6525 case 246: {
6526 #line 1428 "rlparse.kl"
6527 
6528 		nameRef.empty();
6529 
6530 
6531 #line 6530 "rlparse.cpp"
6532 } break;
6533 case 247: {
6534 Token *__ref0 = (Token*)&rhs[2]->user.token;
6535 #line 1435 "rlparse.kl"
6536 
6537 		nameRef.append( (__ref0)->data );
6538 
6539 
6540 #line 6539 "rlparse.cpp"
6541 } break;
6542 case 248: {
6543 Token *__ref0 = (Token*)&rhs[0]->user.token;
6544 #line 1440 "rlparse.kl"
6545 
6546 		nameRef.append( (__ref0)->data );
6547 
6548 
6549 #line 6548 "rlparse.cpp"
6550 } break;
6551 }
6552 			}
6553 
6554 			if ( lel->child != 0 ) {
6555 				struct Parser_LangEl *first = lel->child;
6556 				struct Parser_LangEl *child = lel->child;
6557 				lel->child = 0;
6558 				while ( 1 ) {
6559 					if ( child->type < 226 ) {
6560 					}
6561 					else {
6562 					}
6563 					numNodes -= 1;
6564 					if ( child->next == 0 )
6565 						break;
6566 					child = child->next;
6567 				}
6568 				child->next = pool;
6569 				pool = first;
6570 			}
6571 		}
6572 
6573 commit_base:
6574 		if ( sp > 0 ) {
6575 			sp -= 1;
6576 			if ( lel->retry == 0 ) {
6577 				lel = lel->prev;
6578 				goto commit_reverse;
6579 			}
6580 			else {
6581 				lel->retry = 0;
6582 				lel = lel->prev;
6583 				goto commit_upwards;
6584 			}
6585 		}
6586 		lel->retry = 0;
6587 
6588 		lastFinal = lel;
6589 		numRetry = 0;
6590 	}
6591 
6592 	if ( *action & 0x2 ) {
6593 		int reduction = *action >> 2;
6594 		struct Parser_LangEl *redLel;
6595 
6596 		if ( input != 0 )
6597 			input->causeReduce += 1;
6598 
6599 	if ( pool == 0 ) {
6600 		if ( freshPos == 8128 ) {
6601 			struct Parser_Block* newBlock  = (struct Parser_Block*) malloc( sizeof(struct Parser_Block) );
6602 			newBlock->next = block;
6603 			block = newBlock;
6604 			freshEl = newBlock->data;
6605 			#ifdef KELBT_LOG_ACTIONS
6606 			cerr << "allocating 8128 LangEls" << endl;
6607 			#endif
6608 			freshPos = 0;
6609 		}
6610 		redLel = freshEl + freshPos++;
6611 	}
6612 	else {
6613 		redLel = pool;
6614 		pool = pool->next;
6615 	}
6616 	numNodes += 1;
6617 
6618 		redLel->type = Parser_prodLhsIds[reduction];
6619 		redLel->reduction = reduction;
6620 		redLel->child = 0;
6621 		redLel->next = 0;
6622 		redLel->retry = (lel->retry << 16);
6623 		redLel->causeReduce = 0;
6624 		lel->retry &= 0xffff0000;
6625 
6626 		rhsLen = Parser_prodLengths[reduction];
6627 		if ( rhsLen > 0 ) {
6628 			int r;
6629 			for ( r = rhsLen-1; r > 0; r-- ) {
6630 				rhs[r] = stackTop;
6631 				stackTop = stackTop->next;
6632 			}
6633 			rhs[0] = stackTop;
6634 			stackTop = stackTop->next;
6635 			rhs[0]->next = 0;
6636 		}
6637 switch ( reduction ) {
6638 case 225: {
6639 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6640 Token *__ref1 = (Token*)&rhs[0]->user.token;
6641 #line 1358 "rlparse.kl"
6642  (__ref0)->token = *(__ref1);
6643 
6644 #line 6643 "rlparse.cpp"
6645 } break;
6646 case 226: {
6647 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6648 Token *__ref1 = (Token*)&rhs[0]->user.token;
6649 #line 1359 "rlparse.kl"
6650  (__ref0)->token = *(__ref1);
6651 
6652 #line 6651 "rlparse.cpp"
6653 } break;
6654 case 227: {
6655 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6656 Token *__ref1 = (Token*)&rhs[0]->user.token;
6657 #line 1360 "rlparse.kl"
6658  (__ref0)->token = *(__ref1);
6659 
6660 #line 6659 "rlparse.cpp"
6661 } break;
6662 case 228: {
6663 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6664 Token *__ref1 = (Token*)&rhs[0]->user.token;
6665 #line 1361 "rlparse.kl"
6666  (__ref0)->token = *(__ref1);
6667 
6668 #line 6667 "rlparse.cpp"
6669 } break;
6670 case 229: {
6671 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6672 Token *__ref1 = (Token*)&rhs[0]->user.token;
6673 #line 1362 "rlparse.kl"
6674  (__ref0)->token = *(__ref1);
6675 
6676 #line 6675 "rlparse.cpp"
6677 } break;
6678 case 230: {
6679 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6680 Token *__ref1 = (Token*)&rhs[0]->user.token;
6681 #line 1363 "rlparse.kl"
6682  (__ref0)->token = *(__ref1);
6683 
6684 #line 6683 "rlparse.cpp"
6685 } break;
6686 case 231: {
6687 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6688 Token *__ref1 = (Token*)&rhs[0]->user.token;
6689 #line 1364 "rlparse.kl"
6690  (__ref0)->token = *(__ref1);
6691 
6692 #line 6691 "rlparse.cpp"
6693 } break;
6694 case 232: {
6695 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6696 Token *__ref1 = (Token*)&rhs[0]->user.token;
6697 #line 1371 "rlparse.kl"
6698  (__ref0)->token = *(__ref1);
6699 
6700 #line 6699 "rlparse.cpp"
6701 } break;
6702 case 233: {
6703 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6704 Token *__ref1 = (Token*)&rhs[0]->user.token;
6705 #line 1372 "rlparse.kl"
6706  (__ref0)->token = *(__ref1);
6707 
6708 #line 6707 "rlparse.cpp"
6709 } break;
6710 case 234: {
6711 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6712 Token *__ref1 = (Token*)&rhs[0]->user.token;
6713 #line 1373 "rlparse.kl"
6714  (__ref0)->token = *(__ref1);
6715 
6716 #line 6715 "rlparse.cpp"
6717 } break;
6718 case 235: {
6719 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6720 Token *__ref1 = (Token*)&rhs[0]->user.token;
6721 #line 1374 "rlparse.kl"
6722  (__ref0)->token = *(__ref1);
6723 
6724 #line 6723 "rlparse.cpp"
6725 } break;
6726 case 236: {
6727 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6728 Token *__ref1 = (Token*)&rhs[0]->user.token;
6729 #line 1375 "rlparse.kl"
6730  (__ref0)->token = *(__ref1);
6731 
6732 #line 6731 "rlparse.cpp"
6733 } break;
6734 }
6735 		#ifdef KELBT_LOG_ACTIONS
6736 		cerr << "reduced: "
6737 				<< Parser_prodNames[reduction]
6738 				<< " rhsLen: " << rhsLen;
6739 		#endif
6740 		if ( action[1] == 0 )
6741 			redLel->retry = 0;
6742 		else {
6743 			redLel->retry += 0x10000;
6744 			numRetry += 1;
6745 			#ifdef KELBT_LOG_ACTIONS
6746 			cerr << " retry: " << redLel;
6747 			#endif
6748 		}
6749 
6750 		#ifdef KELBT_LOG_ACTIONS
6751 		cerr << endl;
6752 		#endif
6753 
6754 		if ( rhsLen == 0 ) {
6755 			redLel->file = lel->file;
6756 			redLel->line = lel->line;
6757 			targState = curs;
6758 		}
6759 		else {
6760 			redLel->child = rhs[rhsLen-1];
6761 			redLel->file = rhs[0]->file;
6762 			redLel->line = rhs[0]->line;
6763 			targState = rhs[0]->state;
6764 		}
6765 
6766 		if ( induceReject ) {
6767 			#ifdef KELBT_LOG_ACTIONS
6768 			cerr << "error induced during reduction of " <<
6769 					Parser_lelNames[redLel->type] << endl;
6770 			#endif
6771 			redLel->state = curs;
6772 			redLel->next = stackTop;
6773 			stackTop = redLel;
6774 			curs = targState;
6775 			goto parseError;
6776 		}
6777 		else {
6778 			redLel->next = input;
6779 			input = redLel;
6780 		}
6781 	}
6782 
6783 
6784 	curs = targState;
6785 	goto again;
6786 
6787 parseError:
6788 	#ifdef KELBT_LOG_BACKTRACK
6789 	cerr << "hit error" << endl;
6790 	#endif
6791 	if ( numRetry > 0 ) {
6792 		struct Parser_LangEl *redLel;
6793 
6794 		if ( input != 0 ) {
6795 			redLel = input;
6796 			goto have_undo_element;
6797 		}
6798 
6799 		while ( 1 ) {
6800 			redLel = stackTop;
6801 			if ( stackTop->type < 226 ) {
6802 				#ifdef KELBT_LOG_BACKTRACK
6803 				cerr << "backing up over terminal: " <<
6804 						Parser_lelNames[stackTop->type] << endl;
6805 				#endif
6806 				stackTop = stackTop->next;
6807 				redLel->next = input;
6808 				input = redLel;
6809 			}
6810 			else {
6811 				#ifdef KELBT_LOG_BACKTRACK
6812 				cerr << "backing up over non-terminal: " <<
6813 						Parser_lelNames[stackTop->type] << endl;
6814 				#endif
6815 				stackTop = stackTop->next;
6816 				struct Parser_LangEl *first = redLel->child;
6817 				if ( first == 0 )
6818 					rhsLen = 0;
6819 				else {
6820 					rhsLen = 1;
6821 					while ( first->next != 0 ) {
6822 						first = first->next;
6823 						rhsLen += 1;
6824 					}
6825 					first->next = stackTop;
6826 					stackTop = redLel->child;
6827 
6828 					struct Parser_LangEl *rhsEl = stackTop;
6829 					int p = rhsLen;
6830 					while ( p > 0 ) {
6831 						rhs[--p] = rhsEl;
6832 						rhsEl = rhsEl->next;
6833 					}
6834 				}
6835 				redLel->next = pool;
6836 				pool = redLel;
6837 				numNodes -= 1;
6838 
6839 				if ( input != 0 )
6840 					input->causeReduce -= 1;
6841 			}
6842 
6843 have_undo_element:
6844 			if ( redLel->retry == 0 ) {
6845 				if ( input != 0 && input->causeReduce == 0 ) {
6846 					#ifdef KELBT_LOG_BACKTRACK
6847 					cerr << "pushing back: " << Parser_lelNames[input->type] << endl;
6848 					#endif
6849 					input->next = queue;
6850 					queue = input;
6851 					input = 0;
6852 				}
6853 			}
6854 			else {
6855 				#ifdef KELBT_LOG_BACKTRACK
6856 				cerr << "found retry targ: " << redLel << endl;
6857 				#endif
6858 				numRetry -= 1;
6859 				#ifdef KELBT_LOG_BACKTRACK
6860 				cerr << "found retry: " << redLel << endl;
6861 				#endif
6862 				if ( redLel->retry & 0x0000ffff )
6863 					curs = input->state;
6864 				else {
6865 					input->retry = redLel->retry >> 16;
6866 					if ( stackTop->state < 0 )
6867 						curs = Parser_startState;
6868 					else {
6869 						curs = Parser_targs[(int)Parser_indicies[Parser_offsets[stackTop->state] + (stackTop->type - Parser_keys[stackTop->state<<1])]];
6870 					}
6871 				}
6872 				goto again;
6873 			}
6874 		}
6875 	}
6876 	curs = -1;
6877 	errCount += 1;
6878 _out: {}
6879 #line 1459 "rlparse.kl"
6880 	return errCount == 0 ? 0 : -1;
6881 }
6882 
tryMachineDef(InputLoc & loc,char * name,MachineDef * machineDef,bool isInstance)6883 void Parser::tryMachineDef( InputLoc &loc, char *name,
6884 		MachineDef *machineDef, bool isInstance )
6885 {
6886 	GraphDictEl *newEl = pd->graphDict.insert( name );
6887 	if ( newEl != 0 ) {
6888 		/* New element in the dict, all good. */
6889 		newEl->value = new VarDef( name, machineDef );
6890 		newEl->isInstance = isInstance;
6891 		newEl->loc = loc;
6892 		newEl->value->isExport = exportContext[exportContext.length()-1];
6893 
6894 		/* It it is an instance, put on the instance list. */
6895 		if ( isInstance )
6896 			pd->instanceList.append( newEl );
6897 	}
6898 	else {
6899 		// Recover by ignoring the duplicate.
6900 		error(loc) << "fsm \"" << name << "\" previously defined" << endl;
6901 	}
6902 }
6903 
parse_error(int tokId,Token & token)6904 ostream &Parser::parse_error( int tokId, Token &token )
6905 {
6906 	/* Maintain the error count. */
6907 	gblErrorCount += 1;
6908 
6909 	cerr << token.loc << ": ";
6910 	cerr << "at token ";
6911 	if ( tokId < 128 )
6912 		cerr << "\"" << Parser_lelNames[tokId] << "\"";
6913 	else
6914 		cerr << Parser_lelNames[tokId];
6915 	if ( token.data != 0 )
6916 		cerr << " with data \"" << token.data << "\"";
6917 	cerr << ": ";
6918 
6919 	return cerr;
6920 }
6921 
token(InputLoc & loc,int tokId,char * tokstart,int toklen)6922 int Parser::token( InputLoc &loc, int tokId, char *tokstart, int toklen )
6923 {
6924 	Token token;
6925 	token.data = tokstart;
6926 	token.length = toklen;
6927 	token.loc = loc;
6928 	int res = parseLangEl( tokId, &token );
6929 	if ( res < 0 ) {
6930 		parse_error(tokId, token) << "parse error" << endl;
6931 		exit(1);
6932 	}
6933 	return res;
6934 }
6935