1 /* A Bison parser, made by GNU Bison 3.0.2.  */
2 
3 /* Bison implementation for Yacc-like parsers in C
4 
5    Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
6 
7    This program is free software: you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation, either version 3 of the License, or
10    (at your option) any later version.
11 
12    This program is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16 
17    You should have received a copy of the GNU General Public License
18    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19 
20 /* As a special exception, you may create a larger work that contains
21    part or all of the Bison parser skeleton and distribute that work
22    under terms of your choice, so long as that work isn't itself a
23    parser generator using the skeleton or a modified version thereof
24    as a parser skeleton.  Alternatively, if you modify or redistribute
25    the parser skeleton itself, you may (at your option) remove this
26    special exception, which will cause the skeleton and the resulting
27    Bison output files to be licensed under the GNU General Public
28    License without this special exception.
29 
30    This special exception was added by the Free Software Foundation in
31    version 2.2 of Bison.  */
32 
33 /* C LALR(1) parser skeleton written by Richard Stallman, by
34    simplifying the original so-called "semantic" parser.  */
35 
36 /* All symbols defined below should begin with yy or YY, to avoid
37    infringing on user name space.  This should be done even for local
38    variables, as they might otherwise be expanded by user macros.
39    There are some unavoidable exceptions within include files to
40    define necessary library symbols; they are noted "INFRINGES ON
41    USER NAME SPACE" below.  */
42 
43 /* Identify Bison output.  */
44 #define YYBISON 1
45 
46 /* Bison version.  */
47 #define YYBISON_VERSION "3.0.2"
48 
49 /* Skeleton name.  */
50 #define YYSKELETON_NAME "yacc.c"
51 
52 /* Pure parsers.  */
53 #define YYPURE 0
54 
55 /* Push parsers.  */
56 #define YYPUSH 0
57 
58 /* Pull parsers.  */
59 #define YYPULL 1
60 
61 
62 
63 
64 /* Copy the first part of user declarations.  */
65 #line 1 "pars.yacc" /* yacc.c:339  */
66 
67 /*
68  * Grace - GRaphing, Advanced Computation and Exploration of data
69  *
70  * Home page: http://plasma-gate.weizmann.ac.il/Grace/
71  *
72  * Copyright (c) 1991-1995 Paul J Turner, Portland, OR
73  * Copyright (c) 1996-2003 Grace Development Team
74  *
75  * Maintained by Evgeny Stambulchik
76  *
77  *
78  *                           All Rights Reserved
79  *
80  *    This program is free software; you can redistribute it and/or modify
81  *    it under the terms of the GNU General Public License as published by
82  *    the Free Software Foundation; either version 2 of the License, or
83  *    (at your option) any later version.
84  *
85  *    This program is distributed in the hope that it will be useful,
86  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
87  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
88  *    GNU General Public License for more details.
89  *
90  *    You should have received a copy of the GNU General Public License
91  *    along with this program; if not, write to the Free Software
92  *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
93  */
94 
95 /*
96  *
97  * evaluate expressions, commands, parameter files
98  *
99  */
100 
101 #include <config.h>
102 #include <cmath.h>
103 
104 #include <stdio.h>
105 #include <stdlib.h>
106 #include <unistd.h>
107 #include <string.h>
108 #include <ctype.h>
109 #if defined(HAVE_SYS_PARAM_H)
110 #  include <sys/param.h>
111 #endif
112 
113 /* bison not always handles it well itself */
114 #if defined(HAVE_ALLOCA_H)
115 #  include <alloca.h>
116 #endif
117 
118 #include "defines.h"
119 #include "globals.h"
120 #include "cephes/cephes.h"
121 #include "device.h"
122 #include "utils.h"
123 #include "files.h"
124 #include "graphs.h"
125 #include "graphutils.h"
126 #include "plotone.h"
127 #include "dlmodule.h"
128 #include "t1fonts.h"
129 #include "ssdata.h"
130 #include "protos.h"
131 #include "parser.h"
132 #include "mathstuff.h"
133 
134 #define MAX_PARS_STRING_LENGTH  4096
135 
136 #define CAST_DBL_TO_BOOL(x) (fabs(x) < 0.5 ? 0:1)
137 
138 typedef double (*ParserFnc)();
139 
140 extern graph *g;
141 
142 static double  s_result;    /* return value if a scalar expression is scanned*/
143 static grarr *v_result;    /* return value if a vector expression is scanned*/
144 
145 static int expr_parsed, vexpr_parsed;
146 
147 static int interr;
148 
149 static grarr freelist[100]; 	/* temporary vectors */
150 static int fcnt = 0;		/* number of the temporary vectors allocated */
151 
152 static target trgt_pool[100]; 	/* pool of temporary targets */
153 static int tgtn = 0;		/* number of the temporary targets used */
154 
155 int naxis = 0;	/* current axis */
156 static int curline, curbox, curellipse, curstring;
157 /* these guys attempt to avoid reentrancy problems */
158 static int gotparams = FALSE, gotread = FALSE, gotnlfit = FALSE;
159 int readxformat;
160 static int nlfit_gno, nlfit_setno, nlfit_nsteps;
161 static double *nlfit_warray = NULL;
162 
163 char batchfile[GR_MAXPATHLEN] = "",
164      paramfile[GR_MAXPATHLEN] = "",
165      readfile[GR_MAXPATHLEN] = "";
166 
167 static char f_string[MAX_PARS_STRING_LENGTH]; /* buffer for string to parse */
168 static int pos;
169 
170 /* the graph, set, and its length of the parser's current state */
171 static int whichgraph;
172 static int whichset;
173 
174 /* the graph and set of the left part of a vector assignment */
175 static int vasgn_gno;
176 static int vasgn_setno;
177 
178 static int alias_force = FALSE; /* controls whether aliases can override
179                                                        existing keywords */
180 
181 extern char print_file[];
182 extern char *close_input;
183 
184 static int filltype_obs;
185 
186 static int index_shift = 0;     /* 0 for C, 1 for F77 index notation */
187 
188 static void free_tmpvrbl(grarr *vrbl);
189 static void copy_vrbl(grarr *dest, grarr *src);
190 static int find_set_bydata(double *data, target *tgt);
191 
192 static int getcharstr(void);
193 static void ungetchstr(void);
194 static int follow(int expect, int ifyes, int ifno);
195 
196 static int yylex(void);
197 static int yyparse(void);
198 static void yyerror(char *s);
199 
200 static int findf(symtab_entry *keytable, char *s);
201 
202 /* Total (intrinsic + user-defined) list of functions and keywords */
203 symtab_entry *key;
204 
205 
206 #line 207 "y.tab.c" /* yacc.c:339  */
207 
208 # ifndef YY_NULLPTR
209 #  if defined __cplusplus && 201103L <= __cplusplus
210 #   define YY_NULLPTR nullptr
211 #  else
212 #   define YY_NULLPTR 0
213 #  endif
214 # endif
215 
216 /* Enabling verbose error messages.  */
217 #ifdef YYERROR_VERBOSE
218 # undef YYERROR_VERBOSE
219 # define YYERROR_VERBOSE 1
220 #else
221 # define YYERROR_VERBOSE 0
222 #endif
223 
224 
225 /* Debug traces.  */
226 #ifndef YYDEBUG
227 # define YYDEBUG 1
228 #endif
229 #if YYDEBUG
230 extern int yydebug;
231 #endif
232 
233 /* Token type.  */
234 #ifndef YYTOKENTYPE
235 # define YYTOKENTYPE
236   enum yytokentype
237   {
238     KEY_VAR = 258,
239     KEY_VEC = 259,
240     KEY_CONST = 260,
241     KEY_UNIT = 261,
242     KEY_FUNC_I = 262,
243     KEY_FUNC_D = 263,
244     KEY_FUNC_NN = 264,
245     KEY_FUNC_ND = 265,
246     KEY_FUNC_DD = 266,
247     KEY_FUNC_NND = 267,
248     KEY_FUNC_PPD = 268,
249     KEY_FUNC_PPPD = 269,
250     KEY_FUNC_PPPPD = 270,
251     KEY_FUNC_PPPPPD = 271,
252     INDEX = 272,
253     DATE = 273,
254     VAR_D = 274,
255     VEC_D = 275,
256     CONSTANT = 276,
257     UCONSTANT = 277,
258     FUNC_I = 278,
259     FUNC_D = 279,
260     FUNC_NN = 280,
261     FUNC_ND = 281,
262     FUNC_DD = 282,
263     FUNC_NND = 283,
264     FUNC_PPD = 284,
265     FUNC_PPPD = 285,
266     FUNC_PPPPD = 286,
267     FUNC_PPPPPD = 287,
268     ABOVE = 288,
269     ABSOLUTE = 289,
270     ALIAS = 290,
271     ALT = 291,
272     ALTXAXIS = 292,
273     ALTYAXIS = 293,
274     ANGLE = 294,
275     ANTIALIASING = 295,
276     APPEND = 296,
277     ARRANGE = 297,
278     ARROW = 298,
279     ASCENDING = 299,
280     ASPLINE = 300,
281     AUTO = 301,
282     AUTOSCALE = 302,
283     AUTOTICKS = 303,
284     AVALUE = 304,
285     AVG = 305,
286     BACKGROUND = 306,
287     BAR = 307,
288     BARDY = 308,
289     BARDYDY = 309,
290     BASELINE = 310,
291     BATCH = 311,
292     BEGIN = 312,
293     BELOW = 313,
294     BETWEEN = 314,
295     BLACKMAN = 315,
296     BLOCK = 316,
297     BOTH = 317,
298     BOTTOM = 318,
299     BOX = 319,
300     CD = 320,
301     CENTER = 321,
302     CHAR = 322,
303     CHART = 323,
304     CHRSTR = 324,
305     CLEAR = 325,
306     CLICK = 326,
307     CLIP = 327,
308     CLOSE = 328,
309     COEFFICIENTS = 329,
310     COLOR = 330,
311     COMMENT = 331,
312     COMPLEX = 332,
313     COMPUTING = 333,
314     CONSTRAINTS = 334,
315     COPY = 335,
316     CYCLE = 336,
317     DAYMONTH = 337,
318     DAYOFWEEKL = 338,
319     DAYOFWEEKS = 339,
320     DAYOFYEAR = 340,
321     DDMMYY = 341,
322     DECIMAL = 342,
323     DEF = 343,
324     DEFAULT = 344,
325     DEFINE = 345,
326     DEGREESLAT = 346,
327     DEGREESLON = 347,
328     DEGREESMMLAT = 348,
329     DEGREESMMLON = 349,
330     DEGREESMMSSLAT = 350,
331     DEGREESMMSSLON = 351,
332     DESCENDING = 352,
333     DESCRIPTION = 353,
334     DEVICE = 354,
335     DFT = 355,
336     DIFFERENCE = 356,
337     DISK = 357,
338     DOWN = 358,
339     DPI = 359,
340     DROP = 360,
341     DROPLINE = 361,
342     ECHO = 362,
343     ELLIPSE = 363,
344     ENGINEERING = 364,
345     ERRORBAR = 365,
346     EXIT = 366,
347     EXPONENTIAL = 367,
348     FFT = 368,
349     FILEP = 369,
350     FILL = 370,
351     FIT = 371,
352     FIXED = 372,
353     FIXEDPOINT = 373,
354     FLUSH = 374,
355     FOCUS = 375,
356     FOLLOWS = 376,
357     FONTP = 377,
358     FORCE = 378,
359     FORMAT = 379,
360     FORMULA = 380,
361     FRAMEP = 381,
362     FREE = 382,
363     FREQUENCY = 383,
364     FROM = 384,
365     GENERAL = 385,
366     GETP = 386,
367     GRAPH = 387,
368     GRAPHNO = 388,
369     GRID = 389,
370     HAMMING = 390,
371     HANNING = 391,
372     HARDCOPY = 392,
373     HBAR = 393,
374     HELP = 394,
375     HGAP = 395,
376     HIDDEN = 396,
377     HISTOGRAM = 397,
378     HMS = 398,
379     HORIZI = 399,
380     HORIZONTAL = 400,
381     HORIZO = 401,
382     ID = 402,
383     IFILTER = 403,
384     IMAX = 404,
385     IMIN = 405,
386     IN = 406,
387     INCREMENT = 407,
388     INOUT = 408,
389     INT = 409,
390     INTEGRATE = 410,
391     INTERPOLATE = 411,
392     INVDFT = 412,
393     INVERT = 413,
394     INVFFT = 414,
395     JUST = 415,
396     KILL = 416,
397     LABEL = 417,
398     LANDSCAPE = 418,
399     LAYOUT = 419,
400     LEFT = 420,
401     LEGEND = 421,
402     LENGTH = 422,
403     LINCONV = 423,
404     LINE = 424,
405     LINEAR = 425,
406     LINESTYLE = 426,
407     LINEWIDTH = 427,
408     LINK = 428,
409     LOAD = 429,
410     LOCTYPE = 430,
411     LOG = 431,
412     LOGARITHMIC = 432,
413     LOGIT = 433,
414     LOGX = 434,
415     LOGXY = 435,
416     LOGY = 436,
417     MAGIC = 437,
418     MAGNITUDE = 438,
419     MAJOR = 439,
420     MAP = 440,
421     MAXP = 441,
422     MESH = 442,
423     MINP = 443,
424     MINOR = 444,
425     MMDD = 445,
426     MMDDHMS = 446,
427     MMDDYY = 447,
428     MMDDYYHMS = 448,
429     MMSSLAT = 449,
430     MMSSLON = 450,
431     MMYY = 451,
432     MONTHDAY = 452,
433     MONTHL = 453,
434     MONTHS = 454,
435     MONTHSY = 455,
436     MOVE = 456,
437     NEGATE = 457,
438     NEW = 458,
439     NONE = 459,
440     NONLFIT = 460,
441     NORMAL = 461,
442     NXY = 462,
443     OFF = 463,
444     OFFSET = 464,
445     OFFSETX = 465,
446     OFFSETY = 466,
447     OFILTER = 467,
448     ON = 468,
449     ONREAD = 469,
450     OP = 470,
451     OPPOSITE = 471,
452     OUT = 472,
453     PAGE = 473,
454     PARA = 474,
455     PARAMETERS = 475,
456     PARZEN = 476,
457     PATTERN = 477,
458     PERIOD = 478,
459     PERP = 479,
460     PHASE = 480,
461     PIE = 481,
462     PIPE = 482,
463     PLACE = 483,
464     POINT = 484,
465     POLAR = 485,
466     POLYI = 486,
467     POLYO = 487,
468     POP = 488,
469     PORTRAIT = 489,
470     POWER = 490,
471     PREC = 491,
472     PREPEND = 492,
473     PRINT = 493,
474     PS = 494,
475     PUSH = 495,
476     PUTP = 496,
477     RAND = 497,
478     READ = 498,
479     REAL = 499,
480     RECIPROCAL = 500,
481     REDRAW = 501,
482     REFERENCE = 502,
483     REGNUM = 503,
484     REGRESS = 504,
485     RESIZE = 505,
486     RESTRICT = 506,
487     REVERSE = 507,
488     RIGHT = 508,
489     RISER = 509,
490     ROT = 510,
491     ROUNDED = 511,
492     RSUM = 512,
493     RULE = 513,
494     RUNAVG = 514,
495     RUNMAX = 515,
496     RUNMED = 516,
497     RUNMIN = 517,
498     RUNSTD = 518,
499     SAVEALL = 519,
500     SCALE = 520,
501     SCIENTIFIC = 521,
502     SCROLL = 522,
503     SD = 523,
504     SET = 524,
505     SETNUM = 525,
506     SFORMAT = 526,
507     SIGN = 527,
508     SIZE = 528,
509     SKIP = 529,
510     SLEEP = 530,
511     SMITH = 531,
512     SORT = 532,
513     SOURCE = 533,
514     SPEC = 534,
515     SPLINE = 535,
516     SPLIT = 536,
517     STACK = 537,
518     STACKED = 538,
519     STACKEDBAR = 539,
520     STACKEDHBAR = 540,
521     STAGGER = 541,
522     START = 542,
523     STOP = 543,
524     STRING = 544,
525     SUM = 545,
526     SUBTITLE = 546,
527     SWAP = 547,
528     SYMBOL = 548,
529     TARGET = 549,
530     TICKLABEL = 550,
531     TICKP = 551,
532     TICKSP = 552,
533     TIMER = 553,
534     TIMESTAMP = 554,
535     TITLE = 555,
536     TO = 556,
537     TOP = 557,
538     TRIANGULAR = 558,
539     TYPE = 559,
540     UP = 560,
541     UPDATEALL = 561,
542     USE = 562,
543     VERSION = 563,
544     VERTI = 564,
545     VERTICAL = 565,
546     VERTO = 566,
547     VGAP = 567,
548     VIEW = 568,
549     VX1 = 569,
550     VX2 = 570,
551     VXMAX = 571,
552     VY1 = 572,
553     VY2 = 573,
554     VYMAX = 574,
555     WELCH = 575,
556     WITH = 576,
557     WORLD = 577,
558     WRAP = 578,
559     WRITE = 579,
560     WX1 = 580,
561     WX2 = 581,
562     WY1 = 582,
563     WY2 = 583,
564     X_TOK = 584,
565     X0 = 585,
566     X1 = 586,
567     XAXES = 587,
568     XAXIS = 588,
569     XCOR = 589,
570     XMAX = 590,
571     XMIN = 591,
572     XY = 592,
573     XYAXES = 593,
574     XYBOXPLOT = 594,
575     XYCOLOR = 595,
576     XYCOLPAT = 596,
577     XYDX = 597,
578     XYDXDX = 598,
579     XYDXDXDYDY = 599,
580     XYDXDY = 600,
581     XYDY = 601,
582     XYDYDY = 602,
583     XYHILO = 603,
584     XYR = 604,
585     XYSIZE = 605,
586     XYSTRING = 606,
587     XYVMAP = 607,
588     XYZ = 608,
589     Y_TOK = 609,
590     Y0 = 610,
591     Y1 = 611,
592     Y2 = 612,
593     Y3 = 613,
594     Y4 = 614,
595     YAXES = 615,
596     YAXIS = 616,
597     YEAR = 617,
598     YMAX = 618,
599     YMIN = 619,
600     YYMMDD = 620,
601     YYMMDDHMS = 621,
602     ZERO = 622,
603     ZNORM = 623,
604     FITPARM = 624,
605     FITPMAX = 625,
606     FITPMIN = 626,
607     NUMBER = 627,
608     NEW_TOKEN = 628,
609     OR = 629,
610     AND = 630,
611     GT = 631,
612     LT = 632,
613     LE = 633,
614     GE = 634,
615     EQ = 635,
616     NE = 636,
617     UMINUS = 637,
618     NOT = 638
619   };
620 #endif
621 /* Tokens.  */
622 #define KEY_VAR 258
623 #define KEY_VEC 259
624 #define KEY_CONST 260
625 #define KEY_UNIT 261
626 #define KEY_FUNC_I 262
627 #define KEY_FUNC_D 263
628 #define KEY_FUNC_NN 264
629 #define KEY_FUNC_ND 265
630 #define KEY_FUNC_DD 266
631 #define KEY_FUNC_NND 267
632 #define KEY_FUNC_PPD 268
633 #define KEY_FUNC_PPPD 269
634 #define KEY_FUNC_PPPPD 270
635 #define KEY_FUNC_PPPPPD 271
636 #define INDEX 272
637 #define DATE 273
638 #define VAR_D 274
639 #define VEC_D 275
640 #define CONSTANT 276
641 #define UCONSTANT 277
642 #define FUNC_I 278
643 #define FUNC_D 279
644 #define FUNC_NN 280
645 #define FUNC_ND 281
646 #define FUNC_DD 282
647 #define FUNC_NND 283
648 #define FUNC_PPD 284
649 #define FUNC_PPPD 285
650 #define FUNC_PPPPD 286
651 #define FUNC_PPPPPD 287
652 #define ABOVE 288
653 #define ABSOLUTE 289
654 #define ALIAS 290
655 #define ALT 291
656 #define ALTXAXIS 292
657 #define ALTYAXIS 293
658 #define ANGLE 294
659 #define ANTIALIASING 295
660 #define APPEND 296
661 #define ARRANGE 297
662 #define ARROW 298
663 #define ASCENDING 299
664 #define ASPLINE 300
665 #define AUTO 301
666 #define AUTOSCALE 302
667 #define AUTOTICKS 303
668 #define AVALUE 304
669 #define AVG 305
670 #define BACKGROUND 306
671 #define BAR 307
672 #define BARDY 308
673 #define BARDYDY 309
674 #define BASELINE 310
675 #define BATCH 311
676 #define BEGIN 312
677 #define BELOW 313
678 #define BETWEEN 314
679 #define BLACKMAN 315
680 #define BLOCK 316
681 #define BOTH 317
682 #define BOTTOM 318
683 #define BOX 319
684 #define CD 320
685 #define CENTER 321
686 #define CHAR 322
687 #define CHART 323
688 #define CHRSTR 324
689 #define CLEAR 325
690 #define CLICK 326
691 #define CLIP 327
692 #define CLOSE 328
693 #define COEFFICIENTS 329
694 #define COLOR 330
695 #define COMMENT 331
696 #define COMPLEX 332
697 #define COMPUTING 333
698 #define CONSTRAINTS 334
699 #define COPY 335
700 #define CYCLE 336
701 #define DAYMONTH 337
702 #define DAYOFWEEKL 338
703 #define DAYOFWEEKS 339
704 #define DAYOFYEAR 340
705 #define DDMMYY 341
706 #define DECIMAL 342
707 #define DEF 343
708 #define DEFAULT 344
709 #define DEFINE 345
710 #define DEGREESLAT 346
711 #define DEGREESLON 347
712 #define DEGREESMMLAT 348
713 #define DEGREESMMLON 349
714 #define DEGREESMMSSLAT 350
715 #define DEGREESMMSSLON 351
716 #define DESCENDING 352
717 #define DESCRIPTION 353
718 #define DEVICE 354
719 #define DFT 355
720 #define DIFFERENCE 356
721 #define DISK 357
722 #define DOWN 358
723 #define DPI 359
724 #define DROP 360
725 #define DROPLINE 361
726 #define ECHO 362
727 #define ELLIPSE 363
728 #define ENGINEERING 364
729 #define ERRORBAR 365
730 #define EXIT 366
731 #define EXPONENTIAL 367
732 #define FFT 368
733 #define FILEP 369
734 #define FILL 370
735 #define FIT 371
736 #define FIXED 372
737 #define FIXEDPOINT 373
738 #define FLUSH 374
739 #define FOCUS 375
740 #define FOLLOWS 376
741 #define FONTP 377
742 #define FORCE 378
743 #define FORMAT 379
744 #define FORMULA 380
745 #define FRAMEP 381
746 #define FREE 382
747 #define FREQUENCY 383
748 #define FROM 384
749 #define GENERAL 385
750 #define GETP 386
751 #define GRAPH 387
752 #define GRAPHNO 388
753 #define GRID 389
754 #define HAMMING 390
755 #define HANNING 391
756 #define HARDCOPY 392
757 #define HBAR 393
758 #define HELP 394
759 #define HGAP 395
760 #define HIDDEN 396
761 #define HISTOGRAM 397
762 #define HMS 398
763 #define HORIZI 399
764 #define HORIZONTAL 400
765 #define HORIZO 401
766 #define ID 402
767 #define IFILTER 403
768 #define IMAX 404
769 #define IMIN 405
770 #define IN 406
771 #define INCREMENT 407
772 #define INOUT 408
773 #define INT 409
774 #define INTEGRATE 410
775 #define INTERPOLATE 411
776 #define INVDFT 412
777 #define INVERT 413
778 #define INVFFT 414
779 #define JUST 415
780 #define KILL 416
781 #define LABEL 417
782 #define LANDSCAPE 418
783 #define LAYOUT 419
784 #define LEFT 420
785 #define LEGEND 421
786 #define LENGTH 422
787 #define LINCONV 423
788 #define LINE 424
789 #define LINEAR 425
790 #define LINESTYLE 426
791 #define LINEWIDTH 427
792 #define LINK 428
793 #define LOAD 429
794 #define LOCTYPE 430
795 #define LOG 431
796 #define LOGARITHMIC 432
797 #define LOGIT 433
798 #define LOGX 434
799 #define LOGXY 435
800 #define LOGY 436
801 #define MAGIC 437
802 #define MAGNITUDE 438
803 #define MAJOR 439
804 #define MAP 440
805 #define MAXP 441
806 #define MESH 442
807 #define MINP 443
808 #define MINOR 444
809 #define MMDD 445
810 #define MMDDHMS 446
811 #define MMDDYY 447
812 #define MMDDYYHMS 448
813 #define MMSSLAT 449
814 #define MMSSLON 450
815 #define MMYY 451
816 #define MONTHDAY 452
817 #define MONTHL 453
818 #define MONTHS 454
819 #define MONTHSY 455
820 #define MOVE 456
821 #define NEGATE 457
822 #define NEW 458
823 #define NONE 459
824 #define NONLFIT 460
825 #define NORMAL 461
826 #define NXY 462
827 #define OFF 463
828 #define OFFSET 464
829 #define OFFSETX 465
830 #define OFFSETY 466
831 #define OFILTER 467
832 #define ON 468
833 #define ONREAD 469
834 #define OP 470
835 #define OPPOSITE 471
836 #define OUT 472
837 #define PAGE 473
838 #define PARA 474
839 #define PARAMETERS 475
840 #define PARZEN 476
841 #define PATTERN 477
842 #define PERIOD 478
843 #define PERP 479
844 #define PHASE 480
845 #define PIE 481
846 #define PIPE 482
847 #define PLACE 483
848 #define POINT 484
849 #define POLAR 485
850 #define POLYI 486
851 #define POLYO 487
852 #define POP 488
853 #define PORTRAIT 489
854 #define POWER 490
855 #define PREC 491
856 #define PREPEND 492
857 #define PRINT 493
858 #define PS 494
859 #define PUSH 495
860 #define PUTP 496
861 #define RAND 497
862 #define READ 498
863 #define REAL 499
864 #define RECIPROCAL 500
865 #define REDRAW 501
866 #define REFERENCE 502
867 #define REGNUM 503
868 #define REGRESS 504
869 #define RESIZE 505
870 #define RESTRICT 506
871 #define REVERSE 507
872 #define RIGHT 508
873 #define RISER 509
874 #define ROT 510
875 #define ROUNDED 511
876 #define RSUM 512
877 #define RULE 513
878 #define RUNAVG 514
879 #define RUNMAX 515
880 #define RUNMED 516
881 #define RUNMIN 517
882 #define RUNSTD 518
883 #define SAVEALL 519
884 #define SCALE 520
885 #define SCIENTIFIC 521
886 #define SCROLL 522
887 #define SD 523
888 #define SET 524
889 #define SETNUM 525
890 #define SFORMAT 526
891 #define SIGN 527
892 #define SIZE 528
893 #define SKIP 529
894 #define SLEEP 530
895 #define SMITH 531
896 #define SORT 532
897 #define SOURCE 533
898 #define SPEC 534
899 #define SPLINE 535
900 #define SPLIT 536
901 #define STACK 537
902 #define STACKED 538
903 #define STACKEDBAR 539
904 #define STACKEDHBAR 540
905 #define STAGGER 541
906 #define START 542
907 #define STOP 543
908 #define STRING 544
909 #define SUM 545
910 #define SUBTITLE 546
911 #define SWAP 547
912 #define SYMBOL 548
913 #define TARGET 549
914 #define TICKLABEL 550
915 #define TICKP 551
916 #define TICKSP 552
917 #define TIMER 553
918 #define TIMESTAMP 554
919 #define TITLE 555
920 #define TO 556
921 #define TOP 557
922 #define TRIANGULAR 558
923 #define TYPE 559
924 #define UP 560
925 #define UPDATEALL 561
926 #define USE 562
927 #define VERSION 563
928 #define VERTI 564
929 #define VERTICAL 565
930 #define VERTO 566
931 #define VGAP 567
932 #define VIEW 568
933 #define VX1 569
934 #define VX2 570
935 #define VXMAX 571
936 #define VY1 572
937 #define VY2 573
938 #define VYMAX 574
939 #define WELCH 575
940 #define WITH 576
941 #define WORLD 577
942 #define WRAP 578
943 #define WRITE 579
944 #define WX1 580
945 #define WX2 581
946 #define WY1 582
947 #define WY2 583
948 #define X_TOK 584
949 #define X0 585
950 #define X1 586
951 #define XAXES 587
952 #define XAXIS 588
953 #define XCOR 589
954 #define XMAX 590
955 #define XMIN 591
956 #define XY 592
957 #define XYAXES 593
958 #define XYBOXPLOT 594
959 #define XYCOLOR 595
960 #define XYCOLPAT 596
961 #define XYDX 597
962 #define XYDXDX 598
963 #define XYDXDXDYDY 599
964 #define XYDXDY 600
965 #define XYDY 601
966 #define XYDYDY 602
967 #define XYHILO 603
968 #define XYR 604
969 #define XYSIZE 605
970 #define XYSTRING 606
971 #define XYVMAP 607
972 #define XYZ 608
973 #define Y_TOK 609
974 #define Y0 610
975 #define Y1 611
976 #define Y2 612
977 #define Y3 613
978 #define Y4 614
979 #define YAXES 615
980 #define YAXIS 616
981 #define YEAR 617
982 #define YMAX 618
983 #define YMIN 619
984 #define YYMMDD 620
985 #define YYMMDDHMS 621
986 #define ZERO 622
987 #define ZNORM 623
988 #define FITPARM 624
989 #define FITPMAX 625
990 #define FITPMIN 626
991 #define NUMBER 627
992 #define NEW_TOKEN 628
993 #define OR 629
994 #define AND 630
995 #define GT 631
996 #define LT 632
997 #define LE 633
998 #define GE 634
999 #define EQ 635
1000 #define NE 636
1001 #define UMINUS 637
1002 #define NOT 638
1003 
1004 /* Value type.  */
1005 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
1006 typedef union YYSTYPE YYSTYPE;
1007 union YYSTYPE
1008 {
1009 #line 142 "pars.yacc" /* yacc.c:355  */
1010 
1011     int     ival;
1012     double  dval;
1013     char   *sval;
1014     double *dptr;
1015     target *trgt;
1016     grarr  *vrbl;
1017 
1018 #line 1019 "y.tab.c" /* yacc.c:355  */
1019 };
1020 # define YYSTYPE_IS_TRIVIAL 1
1021 # define YYSTYPE_IS_DECLARED 1
1022 #endif
1023 
1024 
1025 extern YYSTYPE yylval;
1026 
1027 int yyparse (void);
1028 
1029 
1030 
1031 /* Copy the second part of user declarations.  */
1032 
1033 #line 1034 "y.tab.c" /* yacc.c:358  */
1034 
1035 #ifdef short
1036 # undef short
1037 #endif
1038 
1039 #ifdef YYTYPE_UINT8
1040 typedef YYTYPE_UINT8 yytype_uint8;
1041 #else
1042 typedef unsigned char yytype_uint8;
1043 #endif
1044 
1045 #ifdef YYTYPE_INT8
1046 typedef YYTYPE_INT8 yytype_int8;
1047 #else
1048 typedef signed char yytype_int8;
1049 #endif
1050 
1051 #ifdef YYTYPE_UINT16
1052 typedef YYTYPE_UINT16 yytype_uint16;
1053 #else
1054 typedef unsigned short int yytype_uint16;
1055 #endif
1056 
1057 #ifdef YYTYPE_INT16
1058 typedef YYTYPE_INT16 yytype_int16;
1059 #else
1060 typedef short int yytype_int16;
1061 #endif
1062 
1063 #ifndef YYSIZE_T
1064 # ifdef __SIZE_TYPE__
1065 #  define YYSIZE_T __SIZE_TYPE__
1066 # elif defined size_t
1067 #  define YYSIZE_T size_t
1068 # elif ! defined YYSIZE_T
1069 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
1070 #  define YYSIZE_T size_t
1071 # else
1072 #  define YYSIZE_T unsigned int
1073 # endif
1074 #endif
1075 
1076 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
1077 
1078 #ifndef YY_
1079 # if defined YYENABLE_NLS && YYENABLE_NLS
1080 #  if ENABLE_NLS
1081 #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
1082 #   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
1083 #  endif
1084 # endif
1085 # ifndef YY_
1086 #  define YY_(Msgid) Msgid
1087 # endif
1088 #endif
1089 
1090 #ifndef YY_ATTRIBUTE
1091 # if (defined __GNUC__                                               \
1092       && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
1093      || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
1094 #  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
1095 # else
1096 #  define YY_ATTRIBUTE(Spec) /* empty */
1097 # endif
1098 #endif
1099 
1100 #ifndef YY_ATTRIBUTE_PURE
1101 # define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
1102 #endif
1103 
1104 #ifndef YY_ATTRIBUTE_UNUSED
1105 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
1106 #endif
1107 
1108 #if !defined _Noreturn \
1109      && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
1110 # if defined _MSC_VER && 1200 <= _MSC_VER
1111 #  define _Noreturn __declspec (noreturn)
1112 # else
1113 #  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
1114 # endif
1115 #endif
1116 
1117 /* Suppress unused-variable warnings by "using" E.  */
1118 #if ! defined lint || defined __GNUC__
1119 # define YYUSE(E) ((void) (E))
1120 #else
1121 # define YYUSE(E) /* empty */
1122 #endif
1123 
1124 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
1125 /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
1126 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
1127     _Pragma ("GCC diagnostic push") \
1128     _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
1129     _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
1130 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
1131     _Pragma ("GCC diagnostic pop")
1132 #else
1133 # define YY_INITIAL_VALUE(Value) Value
1134 #endif
1135 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1136 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1137 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
1138 #endif
1139 #ifndef YY_INITIAL_VALUE
1140 # define YY_INITIAL_VALUE(Value) /* Nothing. */
1141 #endif
1142 
1143 
1144 #if ! defined yyoverflow || YYERROR_VERBOSE
1145 
1146 /* The parser invokes alloca or malloc; define the necessary symbols.  */
1147 
1148 # ifdef YYSTACK_USE_ALLOCA
1149 #  if YYSTACK_USE_ALLOCA
1150 #   ifdef __GNUC__
1151 #    define YYSTACK_ALLOC __builtin_alloca
1152 #   elif defined __BUILTIN_VA_ARG_INCR
1153 #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
1154 #   elif defined _AIX
1155 #    define YYSTACK_ALLOC __alloca
1156 #   elif defined _MSC_VER
1157 #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
1158 #    define alloca _alloca
1159 #   else
1160 #    define YYSTACK_ALLOC alloca
1161 #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
1162 #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
1163       /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
1164 #     ifndef EXIT_SUCCESS
1165 #      define EXIT_SUCCESS 0
1166 #     endif
1167 #    endif
1168 #   endif
1169 #  endif
1170 # endif
1171 
1172 # ifdef YYSTACK_ALLOC
1173    /* Pacify GCC's 'empty if-body' warning.  */
1174 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
1175 #  ifndef YYSTACK_ALLOC_MAXIMUM
1176     /* The OS might guarantee only one guard page at the bottom of the stack,
1177        and a page size can be as small as 4096 bytes.  So we cannot safely
1178        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
1179        to allow for a few compiler-allocated temporary stack slots.  */
1180 #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
1181 #  endif
1182 # else
1183 #  define YYSTACK_ALLOC YYMALLOC
1184 #  define YYSTACK_FREE YYFREE
1185 #  ifndef YYSTACK_ALLOC_MAXIMUM
1186 #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
1187 #  endif
1188 #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
1189        && ! ((defined YYMALLOC || defined malloc) \
1190              && (defined YYFREE || defined free)))
1191 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
1192 #   ifndef EXIT_SUCCESS
1193 #    define EXIT_SUCCESS 0
1194 #   endif
1195 #  endif
1196 #  ifndef YYMALLOC
1197 #   define YYMALLOC malloc
1198 #   if ! defined malloc && ! defined EXIT_SUCCESS
1199 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
1200 #   endif
1201 #  endif
1202 #  ifndef YYFREE
1203 #   define YYFREE free
1204 #   if ! defined free && ! defined EXIT_SUCCESS
1205 void free (void *); /* INFRINGES ON USER NAME SPACE */
1206 #   endif
1207 #  endif
1208 # endif
1209 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
1210 
1211 
1212 #if (! defined yyoverflow \
1213      && (! defined __cplusplus \
1214          || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
1215 
1216 /* A type that is properly aligned for any stack member.  */
1217 union yyalloc
1218 {
1219   yytype_int16 yyss_alloc;
1220   YYSTYPE yyvs_alloc;
1221 };
1222 
1223 /* The size of the maximum gap between one aligned stack and the next.  */
1224 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
1225 
1226 /* The size of an array large to enough to hold all stacks, each with
1227    N elements.  */
1228 # define YYSTACK_BYTES(N) \
1229      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
1230       + YYSTACK_GAP_MAXIMUM)
1231 
1232 # define YYCOPY_NEEDED 1
1233 
1234 /* Relocate STACK from its old location to the new one.  The
1235    local variables YYSIZE and YYSTACKSIZE give the old and new number of
1236    elements in the stack, and YYPTR gives the new location of the
1237    stack.  Advance YYPTR to a properly aligned location for the next
1238    stack.  */
1239 # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
1240     do                                                                  \
1241       {                                                                 \
1242         YYSIZE_T yynewbytes;                                            \
1243         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
1244         Stack = &yyptr->Stack_alloc;                                    \
1245         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
1246         yyptr += yynewbytes / sizeof (*yyptr);                          \
1247       }                                                                 \
1248     while (0)
1249 
1250 #endif
1251 
1252 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
1253 /* Copy COUNT objects from SRC to DST.  The source and destination do
1254    not overlap.  */
1255 # ifndef YYCOPY
1256 #  if defined __GNUC__ && 1 < __GNUC__
1257 #   define YYCOPY(Dst, Src, Count) \
1258       __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
1259 #  else
1260 #   define YYCOPY(Dst, Src, Count)              \
1261       do                                        \
1262         {                                       \
1263           YYSIZE_T yyi;                         \
1264           for (yyi = 0; yyi < (Count); yyi++)   \
1265             (Dst)[yyi] = (Src)[yyi];            \
1266         }                                       \
1267       while (0)
1268 #  endif
1269 # endif
1270 #endif /* !YYCOPY_NEEDED */
1271 
1272 /* YYFINAL -- State number of the termination state.  */
1273 #define YYFINAL  523
1274 /* YYLAST -- Last index in YYTABLE.  */
1275 #define YYLAST   11879
1276 
1277 /* YYNTOKENS -- Number of terminals.  */
1278 #define YYNTOKENS  400
1279 /* YYNNTS -- Number of nonterminals.  */
1280 #define YYNNTS  77
1281 /* YYNRULES -- Number of rules.  */
1282 #define YYNRULES  839
1283 /* YYNSTATES -- Number of states.  */
1284 #define YYNSTATES  1673
1285 
1286 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
1287    by yylex, with out-of-bounds checking.  */
1288 #define YYUNDEFTOK  2
1289 #define YYMAXUTOK   638
1290 
1291 #define YYTRANSLATE(YYX)                                                \
1292   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
1293 
1294 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
1295    as returned by yylex, without out-of-bounds checking.  */
1296 static const yytype_uint16 yytranslate[] =
1297 {
1298        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1299        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1300        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1301        2,     2,     2,     2,     2,     2,     2,   388,     2,     2,
1302      394,   395,   386,   384,   396,   385,   392,   387,     2,     2,
1303        2,     2,     2,     2,     2,     2,     2,     2,   375,   393,
1304        2,   399,     2,   374,     2,     2,     2,     2,     2,     2,
1305        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1306        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1307        2,   397,     2,   398,   391,     2,     2,     2,     2,     2,
1308        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1309        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1310        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1311        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1312        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1313        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1314        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1315        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1316        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1317        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1318        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1319        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1320        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1321        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1322        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1323        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
1324        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
1325       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
1326       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
1327       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
1328       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
1329       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1330       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1331       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1332       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1333       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
1334      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1335      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
1336      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
1337      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
1338      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
1339      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
1340      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1341      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1342      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1343      195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1344      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1345      215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1346      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1347      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1348      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1349      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1350      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1351      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1352      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1353      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
1354      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1355      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
1356      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
1357      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1358      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1359      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
1360      365,   366,   367,   368,   369,   370,   371,   372,   373,   376,
1361      377,   378,   379,   380,   381,   382,   383,   389,   390
1362 };
1363 
1364 #if YYDEBUG
1365   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
1366 static const yytype_uint16 yyrline[] =
1367 {
1368        0,   623,   623,   624,   628,   635,   636,   639,   641,   642,
1369      643,   644,   645,   646,   647,   648,   649,   650,   651,   658,
1370      661,   664,   667,   670,   673,   680,   714,   722,   725,   728,
1371      731,   734,   738,   742,   746,   750,   754,   758,   762,   766,
1372      770,   774,   778,   782,   786,   789,   792,   795,   798,   801,
1373      804,   807,   810,   813,   816,   820,   827,   834,   841,   848,
1374      855,   862,   869,   876,   881,   886,   889,   892,   895,   898,
1375      901,   904,   913,   921,   932,   935,   938,   941,   944,   947,
1376      950,   953,   956,   959,   964,   967,   971,   980,   990,   999,
1377     1009,  1012,  1027,  1030,  1046,  1050,  1063,  1079,  1083,  1105,
1378     1123,  1141,  1157,  1186,  1196,  1206,  1216,  1231,  1242,  1253,
1379     1264,  1275,  1286,  1297,  1308,  1319,  1334,  1345,  1356,  1371,
1380     1382,  1393,  1408,  1419,  1430,  1449,  1464,  1479,  1499,  1514,
1381     1530,  1553,  1572,  1591,  1601,  1610,  1623,  1636,  1649,  1664,
1382     1675,  1686,  1701,  1712,  1723,  1738,  1749,  1760,  1775,  1786,
1383     1797,  1812,  1823,  1834,  1849,  1860,  1871,  1886,  1897,  1908,
1384     1923,  1934,  1945,  1955,  1965,  1978,  1982,  1986,  1990,  1994,
1385     2005,  2032,  2043,  2053,  2070,  2078,  2089,  2093,  2097,  2102,
1386     2108,  2126,  2129,  2136,  2147,  2150,  2153,  2156,  2159,  2162,
1387     2169,  2177,  2184,  2194,  2197,  2200,  2215,  2229,  2243,  2257,
1388     2272,  2276,  2279,  2282,  2285,  2288,  2291,  2294,  2297,  2301,
1389     2306,  2310,  2314,  2317,  2322,  2326,  2331,  2334,  2341,  2348,
1390     2355,  2365,  2368,  2371,  2374,  2377,  2380,  2383,  2414,  2417,
1391     2424,  2431,  2438,  2448,  2451,  2454,  2457,  2460,  2463,  2466,
1392     2497,  2500,  2507,  2514,  2521,  2531,  2534,  2537,  2540,  2543,
1393     2546,  2549,  2552,  2556,  2573,  2576,  2583,  2590,  2597,  2605,
1394     2608,  2611,  2614,  2617,  2620,  2623,  2639,  2642,  2645,  2648,
1395     2651,  2654,  2658,  2664,  2668,  2672,  2676,  2679,  2683,  2687,
1396     2690,  2694,  2702,  2715,  2725,  2728,  2738,  2746,  2753,  2760,
1397     2767,  2775,  2782,  2789,  2797,  2804,  2811,  2818,  2825,  2828,
1398     2831,  2834,  2838,  2847,  2851,  2858,  2865,  2872,  2879,  2886,
1399     2893,  2900,  2907,  2914,  2921,  2928,  2935,  2943,  2950,  2957,
1400     2965,  2972,  2979,  2986,  2993,  3000,  3007,  3015,  3024,  3027,
1401     3030,  3033,  3037,  3041,  3044,  3048,  3052,  3056,  3060,  3065,
1402     3072,  3076,  3079,  3082,  3083,  3089,  3092,  3099,  3103,  3107,
1403     3114,  3117,  3120,  3123,  3126,  3133,  3136,  3141,  3163,  3168,
1404     3176,  3183,  3188,  3200,  3203,  3206,  3209,  3213,  3218,  3223,
1405     3226,  3236,  3239,  3242,  3245,  3248,  3251,  3255,  3258,  3261,
1406     3264,  3267,  3273,  3279,  3286,  3298,  3301,  3304,  3307,  3327,
1407     3331,  3335,  3338,  3341,  3344,  3347,  3364,  3379,  3384,  3389,
1408     3394,  3397,  3400,  3408,  3413,  3417,  3421,  3425,  3438,  3441,
1409     3447,  3454,  3458,  3462,  3469,  3477,  3485,  3494,  3502,  3506,
1410     3509,  3513,  3516,  3519,  3522,  3526,  3529,  3532,  3535,  3538,
1411     3545,  3550,  3553,  3556,  3559,  3562,  3569,  3570,  3574,  3577,
1412     3581,  3584,  3587,  3590,  3593,  3596,  3599,  3602,  3605,  3608,
1413     3611,  3615,  3619,  3623,  3627,  3631,  3636,  3640,  3644,  3662,
1414     3682,  3686,  3691,  3696,  3700,  3704,  3708,  3712,  3716,  3720,
1415     3724,  3728,  3732,  3737,  3743,  3746,  3749,  3752,  3755,  3758,
1416     3761,  3764,  3767,  3770,  3773,  3777,  3782,  3790,  3797,  3804,
1417     3805,  3806,  3807,  3808,  3809,  3810,  3811,  3822,  3829,  3836,
1418     3843,  3851,  3858,  3865,  3872,  3879,  3886,  3893,  3900,  3907,
1419     3914,  3921,  3928,  3935,  3942,  3949,  3956,  3963,  3970,  3977,
1420     3984,  3992,  4003,  4010,  4017,  4024,  4031,  4039,  4047,  4054,
1421     4061,  4068,  4075,  4084,  4091,  4098,  4105,  4112,  4119,  4126,
1422     4133,  4140,  4147,  4162,  4169,  4176,  4187,  4195,  4202,  4209,
1423     4216,  4223,  4231,  4238,  4245,  4252,  4259,  4269,  4276,  4283,
1424     4290,  4300,  4304,  4308,  4311,  4317,  4321,  4328,  4341,  4354,
1425     4367,  4383,  4384,  4388,  4389,  4390,  4391,  4395,  4396,  4397,
1426     4398,  4399,  4400,  4401,  4402,  4403,  4404,  4405,  4406,  4410,
1427     4411,  4412,  4416,  4417,  4421,  4422,  4426,  4427,  4428,  4429,
1428     4430,  4431,  4432,  4433,  4434,  4435,  4436,  4437,  4438,  4439,
1429     4440,  4441,  4442,  4443,  4444,  4448,  4449,  4450,  4451,  4452,
1430     4453,  4457,  4458,  4462,  4463,  4467,  4468,  4469,  4470,  4471,
1431     4472,  4473,  4474,  4475,  4476,  4479,  4480,  4481,  4482,  4485,
1432     4486,  4489,  4490,  4491,  4492,  4493,  4497,  4498,  4508,  4509,
1433     4510,  4513,  4514,  4515,  4518,  4519,  4520,  4521,  4522,  4523,
1434     4524,  4525,  4526,  4527,  4528,  4529,  4530,  4531,  4532,  4533,
1435     4534,  4535,  4536,  4537,  4538,  4539,  4540,  4541,  4542,  4543,
1436     4544,  4545,  4546,  4547,  4548,  4549,  4552,  4553,  4554,  4557,
1437     4558,  4559,  4560,  4561,  4562,  4565,  4566,  4569,  4570,  4571,
1438     4572,  4573,  4574,  4575,  4576,  4579,  4580,  4583,  4584,  4587,
1439     4588,  4589,  4590,  4594,  4595,  4599,  4600,  4601,  4605,  4606,
1440     4607,  4611,  4612,  4613,  4614,  4615,  4616,  4617,  4621,  4622,
1441     4623,  4626,  4627,  4628,  4629,  4630,  4631,  4632,  4636,  4640,
1442     4648,  4661,  4674,  4684,  4694,  4713,  4728,  4734,  4735,  4736,
1443     4741,  4753,  4756,  4759,  4763,  4766,  4771,  4773,  4775,  4777,
1444     4779,  4780,  4782,  4791,  4798,  4805,  4813,  4814,  4815,  4816,
1445     4818,  4820,  4824,  4828,  4834,  4840,  4845,  4850,  4857,  4864,
1446     4871,  4878,  4886,  4893,  4900,  4907,  4915,  4918,  4926,  4928,
1447     4931,  4935,  4936,  4937,  4938,  4943,  4944,  4954,  4968,  4972,
1448     4995,  5003,  5004,  5007,  5010,  5013,  5014,  5015,  5018,  5023,
1449     5031,  5032,  5033,  5034,  5035,  5036,  5043,  5052,  5064,  5071,
1450     5079,  5089,  5090,  5099,  5106,  5108,  5115,  5122,  5123,  5124,
1451     5131,  5153,  5154,  5155,  5158,  5164,  5165,  5166,  5167,  5168
1452 };
1453 #endif
1454 
1455 #if YYDEBUG || YYERROR_VERBOSE || 0
1456 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1457    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
1458 static const char *const yytname[] =
1459 {
1460   "$end", "error", "$undefined", "KEY_VAR", "KEY_VEC", "KEY_CONST",
1461   "KEY_UNIT", "KEY_FUNC_I", "KEY_FUNC_D", "KEY_FUNC_NN", "KEY_FUNC_ND",
1462   "KEY_FUNC_DD", "KEY_FUNC_NND", "KEY_FUNC_PPD", "KEY_FUNC_PPPD",
1463   "KEY_FUNC_PPPPD", "KEY_FUNC_PPPPPD", "INDEX", "DATE", "VAR_D", "VEC_D",
1464   "CONSTANT", "UCONSTANT", "FUNC_I", "FUNC_D", "FUNC_NN", "FUNC_ND",
1465   "FUNC_DD", "FUNC_NND", "FUNC_PPD", "FUNC_PPPD", "FUNC_PPPPD",
1466   "FUNC_PPPPPD", "ABOVE", "ABSOLUTE", "ALIAS", "ALT", "ALTXAXIS",
1467   "ALTYAXIS", "ANGLE", "ANTIALIASING", "APPEND", "ARRANGE", "ARROW",
1468   "ASCENDING", "ASPLINE", "AUTO", "AUTOSCALE", "AUTOTICKS", "AVALUE",
1469   "AVG", "BACKGROUND", "BAR", "BARDY", "BARDYDY", "BASELINE", "BATCH",
1470   "BEGIN", "BELOW", "BETWEEN", "BLACKMAN", "BLOCK", "BOTH", "BOTTOM",
1471   "BOX", "CD", "CENTER", "CHAR", "CHART", "CHRSTR", "CLEAR", "CLICK",
1472   "CLIP", "CLOSE", "COEFFICIENTS", "COLOR", "COMMENT", "COMPLEX",
1473   "COMPUTING", "CONSTRAINTS", "COPY", "CYCLE", "DAYMONTH", "DAYOFWEEKL",
1474   "DAYOFWEEKS", "DAYOFYEAR", "DDMMYY", "DECIMAL", "DEF", "DEFAULT",
1475   "DEFINE", "DEGREESLAT", "DEGREESLON", "DEGREESMMLAT", "DEGREESMMLON",
1476   "DEGREESMMSSLAT", "DEGREESMMSSLON", "DESCENDING", "DESCRIPTION",
1477   "DEVICE", "DFT", "DIFFERENCE", "DISK", "DOWN", "DPI", "DROP", "DROPLINE",
1478   "ECHO", "ELLIPSE", "ENGINEERING", "ERRORBAR", "EXIT", "EXPONENTIAL",
1479   "FFT", "FILEP", "FILL", "FIT", "FIXED", "FIXEDPOINT", "FLUSH", "FOCUS",
1480   "FOLLOWS", "FONTP", "FORCE", "FORMAT", "FORMULA", "FRAMEP", "FREE",
1481   "FREQUENCY", "FROM", "GENERAL", "GETP", "GRAPH", "GRAPHNO", "GRID",
1482   "HAMMING", "HANNING", "HARDCOPY", "HBAR", "HELP", "HGAP", "HIDDEN",
1483   "HISTOGRAM", "HMS", "HORIZI", "HORIZONTAL", "HORIZO", "ID", "IFILTER",
1484   "IMAX", "IMIN", "IN", "INCREMENT", "INOUT", "INT", "INTEGRATE",
1485   "INTERPOLATE", "INVDFT", "INVERT", "INVFFT", "JUST", "KILL", "LABEL",
1486   "LANDSCAPE", "LAYOUT", "LEFT", "LEGEND", "LENGTH", "LINCONV", "LINE",
1487   "LINEAR", "LINESTYLE", "LINEWIDTH", "LINK", "LOAD", "LOCTYPE", "LOG",
1488   "LOGARITHMIC", "LOGIT", "LOGX", "LOGXY", "LOGY", "MAGIC", "MAGNITUDE",
1489   "MAJOR", "MAP", "MAXP", "MESH", "MINP", "MINOR", "MMDD", "MMDDHMS",
1490   "MMDDYY", "MMDDYYHMS", "MMSSLAT", "MMSSLON", "MMYY", "MONTHDAY",
1491   "MONTHL", "MONTHS", "MONTHSY", "MOVE", "NEGATE", "NEW", "NONE",
1492   "NONLFIT", "NORMAL", "NXY", "OFF", "OFFSET", "OFFSETX", "OFFSETY",
1493   "OFILTER", "ON", "ONREAD", "OP", "OPPOSITE", "OUT", "PAGE", "PARA",
1494   "PARAMETERS", "PARZEN", "PATTERN", "PERIOD", "PERP", "PHASE", "PIE",
1495   "PIPE", "PLACE", "POINT", "POLAR", "POLYI", "POLYO", "POP", "PORTRAIT",
1496   "POWER", "PREC", "PREPEND", "PRINT", "PS", "PUSH", "PUTP", "RAND",
1497   "READ", "REAL", "RECIPROCAL", "REDRAW", "REFERENCE", "REGNUM", "REGRESS",
1498   "RESIZE", "RESTRICT", "REVERSE", "RIGHT", "RISER", "ROT", "ROUNDED",
1499   "RSUM", "RULE", "RUNAVG", "RUNMAX", "RUNMED", "RUNMIN", "RUNSTD",
1500   "SAVEALL", "SCALE", "SCIENTIFIC", "SCROLL", "SD", "SET", "SETNUM",
1501   "SFORMAT", "SIGN", "SIZE", "SKIP", "SLEEP", "SMITH", "SORT", "SOURCE",
1502   "SPEC", "SPLINE", "SPLIT", "STACK", "STACKED", "STACKEDBAR",
1503   "STACKEDHBAR", "STAGGER", "START", "STOP", "STRING", "SUM", "SUBTITLE",
1504   "SWAP", "SYMBOL", "TARGET", "TICKLABEL", "TICKP", "TICKSP", "TIMER",
1505   "TIMESTAMP", "TITLE", "TO", "TOP", "TRIANGULAR", "TYPE", "UP",
1506   "UPDATEALL", "USE", "VERSION", "VERTI", "VERTICAL", "VERTO", "VGAP",
1507   "VIEW", "VX1", "VX2", "VXMAX", "VY1", "VY2", "VYMAX", "WELCH", "WITH",
1508   "WORLD", "WRAP", "WRITE", "WX1", "WX2", "WY1", "WY2", "X_TOK", "X0",
1509   "X1", "XAXES", "XAXIS", "XCOR", "XMAX", "XMIN", "XY", "XYAXES",
1510   "XYBOXPLOT", "XYCOLOR", "XYCOLPAT", "XYDX", "XYDXDX", "XYDXDXDYDY",
1511   "XYDXDY", "XYDY", "XYDYDY", "XYHILO", "XYR", "XYSIZE", "XYSTRING",
1512   "XYVMAP", "XYZ", "Y_TOK", "Y0", "Y1", "Y2", "Y3", "Y4", "YAXES", "YAXIS",
1513   "YEAR", "YMAX", "YMIN", "YYMMDD", "YYMMDDHMS", "ZERO", "ZNORM",
1514   "FITPARM", "FITPMAX", "FITPMIN", "NUMBER", "NEW_TOKEN", "'?'", "':'",
1515   "OR", "AND", "GT", "LT", "LE", "GE", "EQ", "NE", "'+'", "'-'", "'*'",
1516   "'/'", "'%'", "UMINUS", "NOT", "'^'", "'.'", "';'", "'('", "')'", "','",
1517   "'['", "']'", "'='", "$accept", "full_list", "multi_list", "list",
1518   "expr", "sexpr", "iexpr", "nexpr", "indx", "jdate", "jrawdate", "array",
1519   "vexpr", "asgn", "lside_array", "vasgn", "defines", "regionset",
1520   "parmset", "actions", "options", "set_setprop", "setprop", "axisfeature",
1521   "tickattr", "ticklabelattr", "axislabeldesc", "axisbardesc",
1522   "nonlfitopts", "selectgraph", "selectset", "setaxis", "axis", "proctype",
1523   "tickspectype", "filtertype", "filtermethod", "xytype", "graphtype",
1524   "pagelayout", "pageorient", "regiontype", "scaletype", "onoff",
1525   "runtype", "sourcetype", "justchoice", "inoutchoice", "formatchoice",
1526   "signchoice", "direction", "worldview", "datacolumn", "sortdir",
1527   "sorton", "ffttype", "fourierdata", "fourierloadx", "fourierloady",
1528   "windowtype", "interpmethod", "stattype", "font_select", "lines_select",
1529   "pattern_select", "color_select", "linew_select", "opchoice_sel",
1530   "opchoice", "parmset_obs", "axislabeldesc_obs", "setprop_obs",
1531   "tickattr_obs", "ticklabelattr_obs", "colpat_obs", "opchoice_sel_obs",
1532   "opchoice_obs", YY_NULLPTR
1533 };
1534 #endif
1535 
1536 # ifdef YYPRINT
1537 /* YYTOKNUM[NUM] -- (External) token number corresponding to the
1538    (internal) symbol number NUM (which must be that of a token).  */
1539 static const yytype_uint16 yytoknum[] =
1540 {
1541        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1542      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1543      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1544      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1545      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
1546      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1547      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
1548      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
1549      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1550      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1551      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
1552      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
1553      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
1554      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
1555      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
1556      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
1557      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
1558      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
1559      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1560      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1561      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1562      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1563      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1564      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
1565      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
1566      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
1567      515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
1568      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
1569      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
1570      545,   546,   547,   548,   549,   550,   551,   552,   553,   554,
1571      555,   556,   557,   558,   559,   560,   561,   562,   563,   564,
1572      565,   566,   567,   568,   569,   570,   571,   572,   573,   574,
1573      575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
1574      585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
1575      595,   596,   597,   598,   599,   600,   601,   602,   603,   604,
1576      605,   606,   607,   608,   609,   610,   611,   612,   613,   614,
1577      615,   616,   617,   618,   619,   620,   621,   622,   623,   624,
1578      625,   626,   627,   628,    63,    58,   629,   630,   631,   632,
1579      633,   634,   635,   636,    43,    45,    42,    47,    37,   637,
1580      638,    94,    46,    59,    40,    41,    44,    91,    93,    61
1581 };
1582 # endif
1583 
1584 #define YYPACT_NINF -900
1585 
1586 #define yypact_value_is_default(Yystate) \
1587   (!!((Yystate) == (-900)))
1588 
1589 #define YYTABLE_NINF -171
1590 
1591 #define yytable_value_is_error(Yytable_value) \
1592   (!!((Yytable_value) == (-171)))
1593 
1594   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1595      STATE-NUM.  */
1596 static const yytype_int16 yypact[] =
1597 {
1598     3356,  -900,  -289,  -319,   -53,  -900,  -274,  -264,  -256,  -248,
1599     -241,  -234,  -197,  -160,  -124,   -87,    20,  -900,  -900,   315,
1600      -80,    92,    79,  -900,  -900,   271,  7045,  5886,   289,    97,
1601      289,   315,  -900,   295,   -13,   289,   289,  -900,   -30,  9479,
1602     6077,   -19,  -900,   -71,  -900,   493, 11486,   202,   289,   -16,
1603     -900,   270,   289,   -11,  -900,  -900,    -3,     3,    14,  -900,
1604     -900,   -39,  4977,    19,  6268,  -144,   289,   -32,  -900,    25,
1605     -900,   315,   259,    31,  5250,  -900,    93,   254,  -900,   289,
1606       34,  4286,  -900,   413,   -50,    39,    43,   315,    44,  -900,
1607     -900,  -900,  -900,  -900,   289,  -900,   -16,  -900, 10864,   315,
1608      -58,   315,  9711,  5506,  -900,   111,   315,   315, 10864,  6459,
1609      169,  7045,  -900,   289, 10864,  7521,  -900,  -900,  -900,  -900,
1610     -900,  -900,   679,  7802,   315,  -900,  -900,  -900,  -900,  -900,
1611     -900,   -93,  -900,    46,  -900,  -900,  -900,  -900,  -900,  -900,
1612      -89,  -900, 10864,   -64,    47,    50,  -900, 10864,  8179,  8179,
1613     8179,   444,    71,  -900,  3199,     4,  4936,  -900,    69,  -900,
1614     -900,  -900,  -900,  -900,  -900,  -900,  -900,  6947, 11479,  -900,
1615       -7,    78,  -900,    80,    82,  -900,  -900,  -166,  9479, 10864,
1616    10864,  8179,  8179, 10864, 10864,  8179, 10864, 10864, 10864, 10864,
1617    10864,  -900,    60,   -60,    86,   180, 10864,    60,   -48,  -900,
1618     -900,  -900,  9856,  -900,  -900,  -900,  -900,  -900,  -900,  -900,
1619     -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,
1620     -900,  -900,  -900,   289,    88,  -900,  -900,    89,    91,   109,
1621      110,   114,   120,   121,   122,   124,  -900,   194, 10864, 10864,
1622      -27,  -900,  -900,  -900,  -900,  -900,  -900, 10864, 10864, 10864,
1623      370,  -291,   149,   151,  -900,  -900,  -900,  -900,   176,  -900,
1624     -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,
1625      176,   275,   304,  8578, 10864,   289,   305,  -900,  -900,  -900,
1626     -900,  -900,  -900,  -900,   183,   289,   176,   -81,   315,  5319,
1627      176,   149,  -900,   194,   -27,   458,   149,  -900,  -900,  -900,
1628     -900, 10864,   289, 10864,   289, 10864,  -900,  -900,  -900,  -900,
1629     -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,
1630     -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,
1631     -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,
1632     -900,  -900,  -900,  -900,  -900,    -4,    60, 10864,  -900,  -900,
1633     -900,  -900,  -900,   176, 10864,  -900,  9479,   176,   315,  8179,
1634      315,   315,  -900,  -900,    86,   322,   685,   316,  9479, 10864,
1635       60, 10864, 10864,   -27, 10864, 10864, 10864, 10864,   633,  -900,
1636     -900,  -900,  -900,  -900,   315,  7947,  -900,   -27,   742,   149,
1637     -900,  -900,  -900,  -900,    60,   296,   176, 10864, 10864, 10864,
1638      297,   289,   315,   475,  -900,  -900, 10864,   273,  -900,  -900,
1639    10864,  -900, 10864, 11009,  -900,  5319,  -900,  -900,  -900,     9,
1640     8725,  -900,   176, 10864,   289,    75,    75,   176,    75,  9479,
1641    10864,   134, 10864,   315,  -900,  -900,  -900,  -900,   315,   315,
1642     -900,  8179,   176,  -900,  5319,  -262,  -900,  -900,  -900, 10864,
1643    10864,  -900,   328,   289, 10864,   -27, 10864,   831,   149,  -900,
1644     -900,  -900,  -900, 10864,   176,  -900,  -900,  -900,   225,  -900,
1645     -900,   334,   289, 10864,   864,  -900,  -900,  -900,  -900, 10864,
1646      176,  -900,  -900,  -900,  -900,  -285,  -900, 10864, 10864, 10864,
1647    10864,   920, 10864, 10864, 10864, 10864,    86,  -900, 10864, 10864,
1648    10864, 10864,  1126,   -41,    60,   148,   315,    60,   148,  5319,
1649       60, 10864, 10864, 10864,   218,   219,   227,   -82,   230,   227,
1650      230,  5995,  6185,  -900,  3718,  -900, 10864,  8179,  8179,  8179,
1651     8179,  8179,  8179,  8179,  8179,  8179,  8179,  8179,  8179,  8179,
1652     8179,   445, 10864,   229,  -900,  8179,  8179,  8179,  8179,  8179,
1653     8179,  8179,  8179,  8179,  8179,  8179,  8179,  8179,  8179,  8179,
1654     8179,   326,   491,   -72,    60,    60,    60,    45,   556,    -7,
1655     -900,   828,  -129,   289, 10864,    60,  1949,  7111,    60,   289,
1656    10864,    36,   278, 10864, 10864,  5697,  7045, 10864,   166,  -900,
1657     -900,  -900,  -900,   402,   730, 10864,  4436,  4749,   265,  -900,
1658     -900,   315,   315,  8179, 10864,  -900,  6377,   176,   247,   245,
1659     5319,  -900,  3199,   250,  7669,  8010,  8407,   255,   256,  1327,
1660     1372,   257,  1398,  1436,  1463,  1519,  -900,  9479,   176,    54,
1661      315,   260,  -900,  -900,  -900,  -900,  -900, 10864,   176,  -900,
1662      176, 10864, 10864, 10864, 10864, 10864, 10864, 10864, 10864, 10864,
1663     9856,  -900, 10864,  -900,  -900,  -900,  -900,  5319,  -900,  -900,
1664     -900,   218,   218,  8430, 10864, 10864, 10864, 10864, 10864, 10864,
1665    10864, 10864, 10864, 10864, 10864, 10864, 10864, 10864, 10864,  -900,
1666      315, 10864, 10864,   176,  -900,  -900,   176, 10864,  4035,  -156,
1667    10864,     6,   289,   377,   261,  -900,  -900,  -900,  -900, 10864,
1668      263,   176,  5319,   176,   441,  -900,  -900,  -900,  -900,   264,
1669     5319,   176,   267,  3199,  1580,   284,   287,  -900,   -54,  -900,
1670     -900,  -900,  -900,  -900, 10864,  -900,  -900,  5319,  -900,  -900,
1671      289,  -900,  5319,  5319, 10864,   288, 10864, 10864, 10864, 10864,
1672     -900,  -900, 10864,  -900,   -33,   379,   384,  1604,   291,   315,
1673      176,   292,    60,  7907,  -900,  -900,  -900,  -900,  -900,  -900,
1674     -900,   293,  8140,   320,   299,  -900,   176, 10864, 10864,   298,
1675      176,   176,   289,   176,   289,   176,   289,  5319,   176,  -900,
1676     1625,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,
1677     -900,  -900,  1659,   301,   302,   306,  8450,  -900,  -900,    -6,
1678     -900,  1694, 10864,   176,  -900,  -900,  -900, 10864,  5319,   315,
1679    10864,   176,  -900, 10864,  5319,   987,  5319,  5319,  5319,  5319,
1680    10864,  -900,  -900,  -900,  -900,  5319,  5319,  5319,  5319, 10864,
1681      289,   289,  -900,  -900,  -900,  -900,  -900,  -900,   309,  -900,
1682     -900,  -900,  5319,  5319,  5319,  -900,  -900,   374,  -319,     2,
1683      -64,    47,    50,  -900,   -16,  9558, 11487,  3318,    74,   600,
1684     1068,  1503,  2039,  2066,  2039,  2066,  2039,  2066,  2039,  2066,
1685     2039,  2066,  2039,  2066,   106,   205,   106,   205,   227,   230,
1686      227,   230,   227,   230,   227,   230,  -900,  -326, 10864,  4141,
1687     4874,    74,   600,  1068,  1503,  2039,  2066,  2039,  2066,  2039,
1688     2066,  2039,  2066,  2039,  2066,  2039,  2066,   106,   205,   106,
1689      205,   227,   230,   227,   230,   227,   230,   227,   230,  3199,
1690     4936,   -28, 10864, 11486, 10864, 10864, 10864,  -900,  -900,  -900,
1691     -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,
1692     -900,  -900,  -900,  -900,  -900,  -900,   -16,  -900,  -900,  -900,
1693     -900,  -900,  -900,  -900,  -900,  -900,  -900,   289,   427, 11486,
1694    10864, 10864,   289, 10864, 10864,  -900,  -900,  -900, 10864,  -900,
1695      176,   311,  -900, 10864,   179,   398, 10864,   -26,  -900,  -900,
1696     -900,  -900,  -900,  -900, 10864, 10864,   280,  -900,  -900,  -900,
1697     -900,   176,  -900, 10864,  -900,  -900,  -900,  -900,  -900,   289,
1698     1814,  -900,    60, 10110,  8957, 10864, 10864,  -900,  -900,  -900,
1699     -900,  -900,  -900,  1890,  -900,  -900,  -900,  -900,  -900,  -900,
1700     -900,  -900,   435,   -36,   118,   -26,  7425,   176,  -900,  -900,
1701     -900,  -900,  -900,  -900,  -900,  1925, 10864,   289,   437,  4180,
1702      289,    68,  9102,   359, 10864,   289,    -2, 10864, 10864, 10255,
1703    10487,   -17,   329,  -900,  -900,  -900,  -900,  -900,  -900,  -900,
1704     -900,    60,  -900, 10864,  -900,    60,  6920,   356,   357,  6692,
1705    10864, 10864,  -900,    40, 10864, 10632,   -15,   336,  -900,  -900,
1706     -900,  -900,  -900,  -900,  -900,  -900,    60,   337,   339,  8640,
1707     -900, 10864,  -900,  -900,  -900,  -900,  -900, 10864,  8179,  8179,
1708     8179, 10864, 10864, 10864, 10864, 10864,  5319,  -900,  -900, 10864,
1709     8430,   343,  8682,   344,  1998,   363,  2122,  2196,  2233,  2257,
1710     1018,  2453,  3526,  3526,  3526,  3526,  3526,  3526,   248,   248,
1711      218,   218,   218,   218,  2305,  -900,  5319,  5319,  5319,  -900,
1712      365,  -900,  -900,   289,  5319,    60,  -900,   176, 10864, 10864,
1713     2475,  -900,  -900,  -900,  8179,  8179,  -900,  8179,   280,  -900,
1714     -900,  -900,  5319,   176,  5319,   315,  2502,  5319,  5319,  -900,
1715     2540,  -900,   371,   289, 10864,  -900,  -900,  8179,  -900, 10864,
1716    10864, 10864,  -900, 10864,  5319,  5319,  -900,   176,   176,   176,
1717    10864, 10864,  -900, 10864,  8324,  -900,  -900,  -900,  -900, 10864,
1718     5319,  5319,  -900,  5319,  5319,  -900,  -900,  -900,  -900,  -900,
1719     -900,  -900,  -900,  -900,  -900,  -900,  -900,   640,  2573,  2600,
1720     -107,   176,   315,   229,   562, 10864, 10864,  5319,  8179,  8179,
1721     -900,  -900,  5319, 11486,  2639,  -900,  2676,  -900,   176, 10864,
1722     -900,  2699,  -900,   176,  -900,  -900,  -900, 10864,  5319,  -900,
1723     -900,  -900,  -900,   -10,  -900,  -900,  -900,  5319,  -900,  -900,
1724     -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,
1725      176, 10864,  -900,  -900,  -900,  -900,  -900,  -900,  5319,  -900,
1726    10864, 10864,  -900,  -900,  -900,  -900,  -900,  -900,  -900,  -900,
1727     -900,  2753, 10864,  -900,   176, 10864,  5319,  -900,   176,  -900,
1728     -900,  -900,  -900,  -900,  2805,   473,   476,  -900,   176,  -900,
1729     -900,  -900,  -900,  -900,  -900,    15,  5319,    22,  5319,  -900,
1730     -900,   289,  -900,  -900,  -900,    60, 10864,  2883,   376,  -900,
1731     -900,  -900,  -900,  -900,  -900,    60, 10864, 10864,  2883,   378,
1732     -900,  -900,  -900,  -900,  5319,  5319,    60,  5319,   -34,  -900,
1733     -900,  -900, 10864,  -900, 10864,  9334,  -900,   381,   380,  8777,
1734     8827,  9154,  9176,  9206,  9550,   382,  2920,  2943,  3717,  3740,
1735      383, 10864, 10864, 10864, 10864, 10864, 10864, 10864, 10864, 10864,
1736     -900,   176,  -900,   385,   387, 10864,  3763,  9578,  3858,  -900,
1737      388, 10864, 10864, 10864,  -310,  4305,   389,  4463,  -900,  -900,
1738     4492,  5319,   390,    13,  9732,  4531,   289, 10864, 10864,   289,
1739      394,  8538,   395,  8917,  9063,  8917,  9063,  -900, 10864, 10864,
1740     5319, 10864,  -900, 10864,  -900,  5319,  5319,  5319, 10864,  5319,
1741     5319, 10864,  -900,  -900,  -900,  -900,  -900,  -900,   176,  -900,
1742     5319, 10864,  -900,  5319,  -900, 10864,  -900,  -900,  -900,  -900,
1743     -900,  5319,   391,  -900,  -900,   399,   405, 10864,  -900,  -900,
1744     -900,  -900,  -900,  -900,  -900,  8179,  8179, 10864, 10864, 10864,
1745    10864,   407,  9945,  9977,   408,  4565,  4706,  4790,  4830,  5073,
1746    10864,  -900,  5094,    60,  -900,   -25,  -900,  5319,  5358,   410,
1747      289, 10864,  -900, 10864, 10864,  -900,    60,  -900, 10864,   -31,
1748     5403,  5564,   176, 10864,  -900,  5319,  5319,  5319,  5319,  5319,
1749     5319,  5319,  5319,  -900,  -900,    16,  -202, 10068, 10170, 10212,
1750    10312,  5738,  5946,  6120,  6299, 10864, 10864, 10864, 10864, 10864,
1751    10864, 10864,  -900, 10864,   412,  -900,  -900,  -900,   419, 10864,
1752    10864,   176,   400,   403,  6416,   423,  6505,   289, 10864, 10864,
1753      425,  -900,  -900,  -900,  -900,  -900,  -900,  -900,   428,  -900,
1754    10864,  -900,  -900,  -900,  -900,  8179, 10864, 10864, 10864,   424,
1755    10354, 10684,  6530,  6649,  6789,  5319,  5319,    60,    60,  5319,
1756      431,  -900,  -900, 10864,  -900, 10864,   176,  5319,  5319,    60,
1757       38,   432, 10704, 10731,  6818,  6941,  6964,  -900, 10864, 10864,
1758    10864,   452,   455, 10864,  5319,  1348,   460,  -900,  -900,  -900,
1759      434, 10864,  -900,  -900,  8179, 10864, 10864, 10885,  7130,  7204,
1760     -900,  -900,   463, 10864,  -900,   244,   464, 10907, 11031,  7241,
1761      335, 10864, 10864,   465,  7340,  -900,  -900,  -900,   467, 10864,
1762     -900,  -900,  8179,  -900,    60, 11051,  7540,   289, 10864,  -900,
1763    11071, 11098, 11118,   468, 10864,   176,  7622,  -900,  -900,  -900,
1764       60, 11138, 10864,   469,  7643,    60, 10864,   -45,  5319,  -900,
1765       60,   472,  -900
1766 };
1767 
1768   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
1769      Performed when YYTABLE does not specify something else to do.  Zero
1770      means the default is an error.  */
1771 static const yytype_uint16 yydefact[] =
1772 {
1773        0,    18,     0,    20,    94,    31,     0,     0,     0,     0,
1774        0,     0,     0,     0,     0,     0,     0,   575,   576,     0,
1775        0,     0,   397,   401,   733,     0,     0,     0,     0,     0,
1776      350,     0,   423,     0,     0,     0,     0,   709,     0,     0,
1777        0,   352,   710,     0,   379,     0,     0,     0,     0,     0,
1778      565,     0,   360,     0,   737,   736,     0,     0,     0,   711,
1779      712,     0,     0,     0,     0,     0,     0,     0,   732,     0,
1780      731,     0,   419,     0,     0,   422,   354,     0,   421,     0,
1781       33,     0,   345,     0,     0,     0,     0,     0,     0,   641,
1782      644,   643,   645,   642,     0,   734,     0,   569,     0,     0,
1783        0,     0,     0,     0,   735,     0,     0,     0,     0,     0,
1784        0,     0,   346,     0,     0,     0,    55,    56,    63,    57,
1785       58,    64,     0,     0,     0,    59,    60,    61,    62,   697,
1786      699,     0,   573,     0,   698,   700,   701,   702,   703,   704,
1787        0,   574,     0,    21,    22,    23,    19,     0,     0,     0,
1788        0,     0,     2,     5,     3,    97,     4,    15,     0,    16,
1789       17,    10,     8,    13,    14,    12,   436,     0,     0,    11,
1790        0,     0,    95,     0,     0,     9,   437,     0,     0,     0,
1791        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1792        0,    84,     0,     0,     0,     0,     0,     0,     0,   398,
1793      399,   400,     0,   204,   597,   598,   599,   596,   613,   610,
1794      611,   601,   603,   606,   605,   602,   604,   607,   608,   609,
1795      614,   612,   600,     0,     0,    20,    94,     0,     0,     0,
1796        0,     0,     0,     0,     0,     0,   227,     0,     0,     0,
1797        0,   640,   639,    33,    21,    22,    23,     0,     0,     0,
1798        0,     0,   219,     0,   218,   222,   224,   223,   347,   178,
1799      179,   426,   303,   427,   592,   428,   593,   425,   429,   340,
1800      351,     0,     0,     0,     0,     0,     0,   278,   273,   276,
1801      275,   274,   176,   177,   173,     0,   302,     0,     0,   349,
1802      348,     0,   239,     0,     0,     0,   231,   230,   234,   236,
1803      235,     0,     0,     0,     0,     0,   343,   435,   434,   433,
1804      402,   432,   659,   667,   672,   671,   673,   661,   654,   682,
1805      678,   683,   679,   684,   680,   658,   655,   656,   674,   665,
1806      675,   662,   676,   685,   681,   664,   666,   670,   668,   669,
1807      660,   657,   663,   677,   342,     0,     0,     0,   320,   322,
1808      325,   324,   323,   361,     0,   566,     0,   359,     0,     0,
1809        0,     0,   408,   378,   377,   375,     0,     0,     0,     0,
1810        0,     0,     0,     0,     0,     0,     0,   701,     0,   304,
1811      318,   768,   319,   769,     0,     0,   253,     0,     0,   243,
1812      242,   247,   248,   246,     0,     0,   418,     0,     0,     0,
1813        0,     0,     0,     0,   690,   693,     0,     0,   692,   694,
1814        0,   691,     0,     0,   689,    87,    88,   752,   357,     0,
1815        0,   794,   362,     0,     0,     0,     0,   403,     0,     0,
1816        0,     0,     0,     0,   184,   187,   186,   188,     0,     0,
1817      371,     0,   417,   570,   358,     0,   646,   647,   341,     0,
1818        0,   424,     0,     0,     0,     0,     0,     0,   257,   256,
1819      262,   260,   758,     0,   290,   291,   293,   761,     0,   211,
1820      210,     0,     0,     0,     0,   266,   267,   270,   759,     0,
1821      286,   287,   289,   760,   338,     0,   192,     0,     0,     0,
1822        0,     0,   216,   228,   240,   254,   212,   213,     0,     0,
1823        0,     0,     0,   413,     0,     0,     0,     0,     0,   284,
1824        0,     0,     0,     0,    69,     0,    68,    97,   164,    83,
1825      162,     0,     0,     1,     0,    32,     0,     0,     0,     0,
1826        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1827        0,     0,     0,    24,   133,     0,     0,     0,     0,     0,
1828        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1829        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1830      328,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1831        0,     0,     0,     0,     0,     0,     0,     0,     0,   438,
1832      802,   804,   803,     0,     0,     0,     0,     0,     0,   571,
1833      487,     0,     0,     0,     0,   202,    87,    91,     0,     0,
1834      165,   365,    87,     0,     0,     0,     0,     0,     0,     0,
1835        0,     0,     0,     0,     0,     0,   181,     0,   180,     0,
1836        0,     0,   431,   298,   299,   301,   300,     0,   743,   742,
1837      407,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1838      832,   831,   833,   226,   225,   756,   740,   745,   696,   695,
1839      221,    68,    83,     0,     0,     0,     0,     0,     0,     0,
1840        0,     0,     0,     0,     0,     0,     0,     0,     0,    24,
1841        0,     0,     0,   739,   738,   741,   280,     0,     0,     0,
1842        0,     0,     0,     0,     0,   238,   237,   757,   233,     0,
1843        0,   562,   564,   561,     0,   327,   326,   787,   321,     0,
1844      791,   200,     0,     0,     0,     0,     0,   376,     0,   762,
1845      314,   313,   312,   315,     0,   307,   309,   786,   308,   305,
1846        0,   306,   763,   764,     0,     0,     0,     0,     0,     0,
1847      249,   245,     0,   208,     0,     0,     0,    87,     0,     0,
1848      420,     0,     0,    87,   753,   622,   621,   623,   624,   430,
1849      750,     0,     0,    19,     0,   355,   356,     0,     0,     0,
1850      404,   405,     0,   411,     0,   409,     0,    92,    93,   201,
1851        0,   625,   626,   631,   633,   627,   629,   630,   628,   632,
1852      634,   185,     0,     0,     0,     0,     0,   707,   708,     0,
1853      372,     0,     0,   265,   263,   259,   261,     0,   292,     0,
1854        0,   272,   269,     0,   288,     0,   783,   782,   785,   784,
1855        0,   217,   229,   241,   255,   779,   778,   781,   780,     0,
1856        0,     0,   296,   636,   638,   635,   637,   294,     0,   297,
1857      295,   344,   166,   167,   168,    65,   163,     0,     0,     0,
1858        0,     0,     0,     6,   170,     0,     0,     0,    82,   140,
1859       81,   143,    75,   146,    76,   149,    77,   155,    78,   152,
1860       79,   158,    80,   161,    66,   117,    67,   120,    70,   123,
1861       71,   126,    72,   129,    73,   132,    27,     0,     0,     0,
1862        0,   139,   138,   142,   141,   145,   144,   148,   147,   154,
1863      153,   151,   150,   157,   156,   160,   159,   116,   115,   119,
1864      118,   122,   121,   125,   124,   128,   127,   131,   130,   172,
1865      171,     0,     0,     0,     0,     0,     0,   333,   329,   770,
1866      331,   774,   616,   619,   775,   771,   773,   772,   620,   617,
1867      618,   776,   777,   615,   330,    30,     0,   567,    44,    45,
1868       46,    47,    48,    49,    50,    51,   572,     0,     0,     0,
1869        0,     0,     0,     0,     0,   463,   466,   467,     0,   460,
1870      485,     0,   462,     0,     0,     0,     0,     0,   474,   480,
1871      477,   476,   479,   475,     0,     0,     0,   799,   459,   458,
1872      363,   486,   364,     0,   452,   455,   454,   453,   215,     0,
1873        0,   798,     0,     0,     0,     0,     0,   440,   444,   442,
1874      441,   443,   439,     0,    29,    28,    96,   495,   557,   559,
1875      558,   560,     0,     0,     0,     0,     0,   546,   493,   554,
1876      555,   795,   556,   494,   796,     0,     0,     0,     0,     0,
1877        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1878        0,     0,     0,   491,   522,   540,   541,   821,   531,   492,
1879      829,     0,   653,     0,   651,     0,     0,   732,   731,     0,
1880        0,     0,   652,     0,     0,     0,     0,     0,   489,   497,
1881      504,   507,   510,   517,   490,   820,     0,     0,     0,     0,
1882      203,     0,    52,    34,   104,    35,   105,     0,     0,     0,
1883        0,     0,     0,     0,     0,     0,    86,    85,   370,     0,
1884       87,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1885       82,    81,    75,    76,    77,    78,    79,    80,    66,    67,
1886       70,    71,    72,    73,     0,   369,   277,   754,   279,   174,
1887        0,   594,   595,     0,   196,     0,   198,   199,     0,     0,
1888        0,   353,   563,    89,     0,     0,   392,     0,     0,   766,
1889      311,   310,   317,   765,   316,     0,     0,   250,   790,   251,
1890        0,   191,     0,     0,     0,    99,   373,     0,   205,   207,
1891        0,   206,   751,     0,   792,   793,   101,   406,   412,   410,
1892        0,     0,   102,     0,     0,   103,   705,   706,   368,     0,
1893      264,   258,   374,   268,   271,   577,   578,   579,   580,   582,
1894      581,   583,   584,   585,   586,   587,   588,     0,     0,     0,
1895      415,   414,     0,     0,     0,     0,     0,   169,     0,     0,
1896      788,   789,   332,     0,     0,   337,     0,   568,   473,     0,
1897      469,     0,   470,   472,   468,   464,   461,     0,   807,   749,
1898      747,   748,   746,     0,   808,   482,   481,   478,   839,   836,
1899      837,   838,   835,   800,   457,   456,   832,   833,   805,   451,
1900      214,     0,   801,   448,   449,   797,   446,   445,   447,   450,
1901        0,     0,   650,   649,   648,   552,   548,   547,   834,   549,
1902      550,     0,     0,   528,   526,     0,   525,   524,   532,   825,
1903      824,   826,   543,   544,     0,     0,     0,   523,   527,   687,
1904      688,   686,   830,   529,   530,     0,   533,     0,   534,   822,
1905      823,     0,   811,   503,   814,     0,     0,   498,     0,   809,
1906      513,   508,   511,   813,   812,     0,     0,     0,   817,     0,
1907      810,   514,   509,   512,   501,   502,     0,   818,     0,   519,
1908      815,   816,     0,   488,     0,     0,    25,     0,     0,     0,
1909        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1910        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1911      175,   339,   197,     0,     0,     0,     0,     0,     0,   767,
1912        0,     0,     0,     0,     0,     0,     0,     0,   193,   194,
1913        0,   190,     0,     0,     0,     0,     0,     0,     0,     0,
1914        0,    74,     0,   134,   135,   136,   137,   334,     0,     0,
1915      465,     0,   367,     0,   483,   366,   806,   553,     0,   496,
1916      539,     0,   828,   827,   536,   535,   538,   537,   542,   515,
1917      505,     0,   516,   506,   499,     0,   500,   591,   589,   590,
1918      518,   819,     0,   714,   713,     0,     0,     0,    37,    36,
1919      109,    38,   107,   108,   106,     0,     0,     0,     0,     0,
1920        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1921        0,   391,     0,     0,    26,     0,   394,   252,     0,     0,
1922        0,     0,   383,     0,     0,   385,     0,   395,     0,   182,
1923        0,     0,   416,     0,    98,   335,   336,   471,   484,   551,
1924      545,   520,   521,   386,   387,     0,     0,     0,     0,     0,
1925        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1926        0,     0,   195,     0,     0,   730,   728,   729,     0,     0,
1927        0,   281,     0,     0,     0,     0,     0,     0,     0,     0,
1928        0,   726,   725,   723,   721,   727,   722,   724,     0,    53,
1929        0,    39,   110,    40,   111,     0,     0,     0,     0,     0,
1930        0,     0,     0,     0,     0,   220,   232,     0,     0,   244,
1931        0,   100,   384,     0,   396,     0,   183,   285,   283,     0,
1932        0,     0,     0,     0,     0,     0,     0,   744,     0,     0,
1933        0,     0,     0,     0,   189,   209,     0,   715,   716,   717,
1934        0,     0,    41,   112,     0,     0,     0,     0,     0,     0,
1935      390,   389,     0,     0,   393,     0,     0,     0,     0,     0,
1936        0,     0,     0,     0,     0,   720,   718,   719,     0,     0,
1937       42,   113,     0,   380,     0,     0,     0,     0,     0,   388,
1938        0,     0,     0,     0,     0,   282,     0,    54,    43,   114,
1939        0,     0,     0,     0,     0,     0,     0,     0,   755,   381,
1940        0,     0,   382
1941 };
1942 
1943   /* YYPGOTO[NTERM-NUM].  */
1944 static const yytype_int16 yypgoto[] =
1945 {
1946     -900,  -900,  -900,   351,     0,  1524,  -170,  1755,   -37,  -900,
1947     -900,  1140,  2000,  -900,  -900,  -900,  -900,  -900,  -900,  -900,
1948     -900,  -900,  -900,   290,  -900,  -900,  -900,  -900,  -900,  2371,
1949      221,  -900,  -164,  -900,  -900,   829,  -900,   -76,  -900,  -900,
1950     -900,  -900,   360,   769,  -900,  -301,  -900,  -900,  -899,  -900,
1951     -900,   -20,  -586,  -900,  -900,  -900,  -900,  -900,  -900,  -900,
1952     -900,  -900,   -52,    48,   -14,    23,   195,  -192,  -900,  -900,
1953     -900,  -900,  -900,  -900,  -292,  -174,  -149
1954 };
1955 
1956   /* YYDEFGOTO[NTERM-NUM].  */
1957 static const yytype_int16 yydefgoto[] =
1958 {
1959       -1,   151,   152,   153,   415,   638,   416,   639,   679,   609,
1960      779,   251,   156,   157,   158,   159,   160,   161,   162,   163,
1961      164,   165,   166,   599,  1078,  1053,  1028,  1017,   306,   291,
1962      253,   169,   170,  1217,  1450,   269,  1143,   223,   944,   759,
1963      760,   791,   837,   434,   171,   448,  1285,  1080,   344,  1312,
1964      418,   660,   172,  1198,   799,   173,  1456,  1610,  1638,  1558,
1965     1538,   174,   277,   435,   279,   436,   437,   983,  1252,   175,
1966     1033,   176,  1084,  1059,   655,  1034,  1263
1967 };
1968 
1969   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
1970      positive, shift that token.  If negative, reduce the rule whose
1971      number is the opposite.  If YYTABLE_NINF, syntax error.  */
1972 static const yytype_int16 yytable[] =
1973 {
1974      154,   697,  1016,   569,  1547,   428,   282,   283,   608,   191,
1975      380,   613,   355,   617,   618,   510,   621,  1409,  1230,   815,
1976     1535,   202,   362,   690,  1233,   202,  1141,   250,  1447,  1319,
1977     1282,  1350,  1309,   350,   177,   484,  1258,  1259,  1196,   289,
1978      295,   691,   241,   397,   446,   593,  1145,   242,   203,  1226,
1979      256,   460,   923,   465,   302,  1607,   280,   476,   481,   443,
1980     1240,  1434,   378,   299,   388,   504,  1142,   797,  1436,   507,
1981      351,   202,  1153,   830,   394,   255,  1551,   202,   191,   241,
1982      179,   278,   627,   831,   242,   382,  1490,   392,   298,   191,
1983      398,  1197,   798,    49,    50,   349,   525,   931,   444,    49,
1984       50,   541,  1249,   457,   395,   178,   354,   627,   765,   474,
1985      381,   202,   391,   932,   180,   491,   259,   260,   543,   430,
1986      181,   238,   239,   502,   772,   774,   461,   776,   466,  1283,
1987      182,   700,   477,   482,   692,   264,   241,   693,   183,  1260,
1988     1297,   242,   509,   192,   191,  1536,   184,   514,   516,   519,
1989      521,  1552,  1553,   185,   241,   594,   633,  1423,   241,   242,
1990      186,   261,   933,   242,   924,   303,  1608,   781,   274,   447,
1991     1448,   430,   505,   238,   239,   968,   508,   446,   606,   610,
1992      191,   612,   615,   934,   709,   619,   202,   622,   623,   624,
1993      625,   591,   782,  1559,  1560,   262,   604,   187,   241,   266,
1994     1310,   241,   595,   242,  1311,   263,   242,   238,   239,   363,
1995      241,    49,    50,  1299,   241,   242,   590,  1284,   274,   242,
1996     1554,   168,   257,   653,   935,   936,   937,  1261,   281,   304,
1997       96,    97,   925,   368,   188,   300,   627,  1555,   191,   657,
1998      195,  1249,   352,   201,   202,   264,  1250,   661,   662,   663,
1999      305,  1231,   271,   345,   431,  1537,  1251,   383,   274,   393,
2000      654,  1609,  1320,  1449,  1351,   926,   265,  1158,   241,   650,
2001      189,   938,   421,   242,   698,   939,  1262,   202,   783,   695,
2002      784,   999,   365,   239,   634,   627,   658,   432,   596,   597,
2003      635,   368,   400,   198,  1435,   659,  1346,   598,   462,   785,
2004      467,  1437,   447,   702,   478,   483,   431,   190,   440,   266,
2005      541,   627,   636,  1014,   196,   542,   696,   346,  1635,  1556,
2006      445,   940,   449,   946,   947,   833,   834,   468,   469,   941,
2007      942,   705,   627,  1015,  1417,   511,  1557,  1286,   197,   432,
2008      993,   239,  1287,   497,   433,   503,   202,  1300,    96,    97,
2009     1669,  1670,   721,   729,   835,  1266,   710,   525,   191,   713,
2010      284,   627,   272,   592,   288,   786,   787,   741,   706,   356,
2011      202,   727,   887,   238,   239,   301,   732,   733,  1301,   267,
2012      446,   354,   943,   358,   463,  1250,   268,   788,   401,   722,
2013      755,   359,   525,   836,   419,  1251,   541,   360,   651,   747,
2014      756,   542,  1032,  -170,  1058,  1083,   753,   433,   361,  1496,
2015      241,   199,   762,   384,   720,   242,   652,   273,  1305,   399,
2016      657,  1249,  1060,  1085,   274,   402,   420,  1636,   423,   777,
2017      780,   429,   792,   438,  1090,   805,   757,   439,   441,   200,
2018      506,   713,   479,   789,   523,   790,   512,    49,    50,   513,
2019      801,   528,   529,   530,   531,   532,   533,   534,   535,   536,
2020      537,   538,   539,   808,   524,   540,   238,   239,   560,  1637,
2021     1253,   613,   601,  1113,   602,  1115,   603,   202,   629,   814,
2022      525,   630,   178,   641,   651,   642,   241,   816,   817,   818,
2023      819,   242,   537,   538,   539,   129,   130,   540,   825,   826,
2024      827,   828,  1267,   643,   644,   447,   347,   758,   645,   694,
2025     1012,   842,   843,   844,   646,   647,   648,   274,   649,   966,
2026      134,   135,   136,   137,   138,   139,   857,   858,   860,   862,
2027      864,   866,   868,   870,   872,   874,   876,   878,   880,   882,
2028      884,   568,  1029,   588,  1055,   889,   891,   893,   895,   897,
2029      899,   901,   903,   905,   907,   909,   911,   913,   915,   917,
2030      919,   723,   980,   988,   307,  1250,   275,   995,   627,   238,
2031      239,  1009,  1306,   238,   239,  1251,   680,   681,   687,   712,
2032      688,   715,   716,  1000,    96,    97,   717,  1013,   276,   724,
2033      752,   556,   557,   558,   967,  1035,   559,   744,   749,   981,
2034      989,   802,   809,   713,   996,   735,   241,   810,  1010,   677,
2035      241,   242,   886,   433,   308,   242,  1020,  1030,   540,  1056,
2036     1081,   559,   544,   751,   979,    49,    50,  1106,   888,   994,
2037      921,   922,  1086,  1008,   674,   675,   676,  1110,  1016,   677,
2038     1092,  1019,  1112,  1091,  1114,  1093,  1116,  1117,  1118,  1119,
2039     1148,  1097,  1098,  1101,   793,   525,  1109,  1149,  1151,   794,
2040      795,  1152,  1153,  1154,  1120,  1121,  1122,  1123,  1124,  1125,
2041     1126,  1127,  1128,  1129,  1130,  1131,  1132,  1133,  1134,  1156,
2042     1172,  1136,  1137,  1157,  1165,  1173,  1175,  1138,  1177,  1180,
2043     1144,   569,  1182,  1186,  1268,  1183,  1192,   177,  1193,  1150,
2044     1239,   241,  1194,   945,  1160,  1222,   242,  1247,  1281,   526,
2045     1295,   664,   665,   666,   667,   668,   669,   670,   671,   672,
2046      673,   674,   675,   676,  1162,  1321,   677,   838,  1333,  1334,
2047     1643,  1644,  1352,  1354,  1164,  1355,  1166,  1167,  1168,  1371,
2048     1372,  1161,  1170,   492,   526,   856,   664,   665,   666,   667,
2049      668,   669,   670,   671,   672,   673,   674,   675,   676,  1374,
2050      202,   677,   309,  1380,   525,  1393,   678,  1184,  1185,  1406,
2051     1432,   982,  1441,  1433,  1445,  1458,   997,  1457,  1465,  1470,
2052     1011,  1480,  1481,  1486,  1492,  1495,  1513,   493,  1021,  1031,
2053     1503,  1057,  1082,  1504,  1514,  1581,   254,  1022,  1582,   191,
2054      718,  1515,  1200,  1525,  1526,   202,  1540,  1201,  1577,   297,
2055     1203,    49,    50,  1204,   311,  1578,   348,  1223,  1584,  1597,
2056     1218,  1589,  1087,  1088,  1590,   946,   947,  1603,  1611,  1219,
2057     1625,   379,   526,   390,   664,   665,   666,   667,   668,   669,
2058      670,   671,   672,   673,   674,   675,   676,  1620,   494,   677,
2059     1621,  1108,   368,   525,   699,  1624,   238,   239,  1633,   956,
2060     1639,  1647,  1649,   285,  1660,  1665,  1389,  1672,   840,   957,
2061      948,   949,   459,   950,   951,   853,  1288,     0,   475,   591,
2062        0,   952,   953,   954,   955,     0,   525,     0,  1227,     0,
2063     1023,   129,   130,   241,  1024,   958,     0,     0,   242,     0,
2064        0,  1135,   239,   202,   590,     0,     0,   274,     0,  1237,
2065        0,     0,     0,     0,     0,     0,   134,   135,   136,   137,
2066      138,   139,  1232,     0,  1234,     0,  1236,  1358,     0,     0,
2067        0,  1365,     0,     0,     0,     0,   570,   589,     0,   600,
2068        0,     0,   525,     0,     0,  1025,   605,     0,    96,    97,
2069      368,  1274,   959,     0,     0,     0,     0,     0,  1026,     0,
2070     1241,   626,     0,     0,     0,     0,   632,     0,   495,     0,
2071     1176,     0,     0,  1248,     0,     0,  1257,   547,   548,   549,
2072      550,   551,   552,   553,   554,   555,   556,   557,   558,     0,
2073     1276,   559,  1205,  1206,  1207,  1208,  1209,  1210,  1211,  1212,
2074     1213,  1214,  1215,  1216,     0,  1278,     0,   526,     0,   664,
2075      665,   666,   667,   668,   669,   670,   671,   672,   673,   674,
2076      675,   676,     0,  1255,   677,     0,  1291,  1277,     0,   734,
2077     1202,     0,     0,     0,     0,     0,   241,   960,     0,  1296,
2078      525,   242,  1304,     0,     0,     0,     0,     0,     0,  1316,
2079     1318,   592,     0,     0,     0,     0,  1412,     0,     0,     0,
2080        0,     0,     0,     0,   961,   962,  1327,     0,     0,  1338,
2081     1344,  1345,     0,     0,  1347,     0,     0,     0,     0,     0,
2082        0,     0,     0,   963,     0,     0,     0,     0,     0,  1331,
2083      525,     0,  1342,     0,     0,     0,     0,     0,  1359,  1361,
2084     1363,     0,  1366,  1367,  1368,  1369,     0,     0,     0,     0,
2085        0,     0,     0,     0,  1330,   707,   526,  1341,   664,   665,
2086      666,   667,   668,   669,   670,   671,   672,   673,   674,   675,
2087      676,     0,   964,   677,     0,   719,     0,     0,   742,   726,
2088      155,     0,     0,     0,     0,     0,     0,     0,   525,     0,
2089        0,     0,     0,     0,   713,   713,     0,   713,     0,     0,
2090        0,     0,     0,   743,     0,     0,     0,     0,     0,     0,
2091     1256,     0,     0,     0,  1395,     0,     0,   612,     0,  1132,
2092        0,  1132,     0,     0,     0,     0,     0,     0,     0,     0,
2093     1400,  1401,     0,     0,   713,     0,     0,     0,     0,  1405,
2094        0,     0,     0,     0,  1474,   526,     0,   664,   665,   666,
2095      667,   668,   669,   670,   671,   672,   673,   674,   675,   676,
2096        0,     0,   677,     0,     0,  1411,     0,   807,  1413,  1415,
2097        0,     0,     0,     0,     0,     0,     0,     0,   526,  1420,
2098      664,   665,   666,   667,   668,   669,   670,   671,   672,   673,
2099      674,   675,   676,     0,     0,   677,     0,     0,     0,     0,
2100      813,  1332,     0,     0,  1343,     0,     0,     0,     0,     0,
2101        0,  1425,     0,   832,     0,     0,   839,     0,     0,   841,
2102     1426,  1427,     0,     0,     0,     0,     0,     0,   517,   517,
2103      517,     0,  1429,     0,   526,  1430,   664,   665,   666,   667,
2104      668,   669,   670,   671,   672,   673,   674,   675,   676,     0,
2105        0,   677,     0,     0,     0,     0,   820,     0,     0,     0,
2106        0,   517,   517,     0,     0,   517,  1440,     0,     0,     0,
2107        0,     0,   927,   928,   929,   930,  1443,     0,   600,     0,
2108      965,   969,     0,     0,   972,   978,     0,   990,     0,   525,
2109        0,   998,  1451,     0,     0,     0,     0,     0,     0,     0,
2110        0,     0,  1018,     0,     0,  1054,  1079,     0,     0,     0,
2111      525,     0,  1472,  1473,     0,  1475,  1476,  1477,  1478,  1479,
2112        0,     0,     0,     0,     0,  1482,  1390,     0,     0,     0,
2113        0,  1487,  1488,     0,   544,   665,   666,   667,   668,   669,
2114      670,   671,   672,   673,   674,   675,   676,  1500,  1501,   677,
2115        0,     0,     0,     0,     0,     0,     0,     0,  1505,  1506,
2116      525,  1507,     0,  1508,     0,     0,     0,     0,  1509,     0,
2117        0,  1510,     0,     0,     0,     0,     0,     0,     0,     0,
2118        0,  1511,     0,  1410,     0,  1512,   529,   530,   531,   532,
2119      533,   534,   535,   536,   537,   538,   539,     0,   525,   540,
2120     1146,     0,     0,     0,     0,  1517,  1519,  1521,  1522,  1523,
2121     1524,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2122        0,     0,     0,     0,     0,   525,     0,  1159,     0,     0,
2123        0,     0,     0,     0,  1544,     0,     0,     0,  1546,   517,
2124      526,     0,   664,   665,   666,   667,   668,   669,   670,   671,
2125      672,   673,   674,   675,   676,     0,     0,   677,     0,     0,
2126        0,  1178,   829,     0,     0,   544,  1570,  1571,  1572,  1573,
2127     1574,  1575,     0,  1576,     0,     0,     0,     0,     0,  1579,
2128      193,   525,     0,     0,     0,     0,     0,     0,  1587,  1588,
2129        0,     0,   258,     0,   270,     0,     0,     0,     0,   286,
2130      287,     0,     0,   290,     0,  1592,  1594,  1595,  1596,     0,
2131        0,     0,   353,     0,     0,     0,   357,     0,     0,     0,
2132        0,   517,     0,  1604,     0,  1605,     0,     0,     0,     0,
2133      396,     0,     0,     0,     0,     0,     0,     0,  1617,  1618,
2134     1619,     0,   544,   422,     0,   427,     0,     0,     0,     0,
2135        0,     0,     0,     0,  1627,  1629,  1630,     0,   442,     0,
2136        0,     0,     0,  1634,   570,   589,   525,     0,     0,   464,
2137        0,  1645,  1646,     0,   480,     0,     0,   485,     0,  1650,
2138        0,     0,  1651,     0,  1623,     0,     0,   525,  1656,     0,
2139        0,     0,     0,     0,  1661,     0,     0,     0,     0,     0,
2140        0,     0,  1664,     0,   854,     0,  1668,   517,   517,   517,
2141      517,   517,   517,   517,   517,   517,   517,   517,   517,   517,
2142      517,   525,     0,     0,     0,   517,   517,   517,   517,   517,
2143      517,   517,   517,   517,   517,   517,   517,   517,   517,   517,
2144      517,   526,   607,   527,   528,   529,   530,   531,   532,   533,
2145      534,   535,   536,   537,   538,   539,   525,   628,   540,     0,
2146        0,     0,   526,  1099,   664,   665,   666,   667,   668,   669,
2147      670,   671,   672,   673,   674,   675,   676,     0,     0,   677,
2148        0,     0,     0,   517,  1254,     0,   545,   640,   546,   547,
2149      548,   549,   550,   551,   552,   553,   554,   555,   556,   557,
2150      558,     0,     0,   559,     0,     0,     0,     0,  1100,     0,
2151        0,  1272,   526,     0,   664,   665,   666,   667,   668,   669,
2152      670,   671,   672,   673,   674,   675,   676,     0,     0,   677,
2153        0,     0,     0,     0,  1102,     0,     0,   683,     0,   686,
2154        0,     0,     0,     0,     0,     0,     0,     0,     0,   689,
2155      526,     0,   664,   665,   666,   667,   668,   669,   670,   671,
2156      672,   673,   674,   675,   676,     0,   701,   677,   703,   417,
2157     1322,     0,  1103,     0,  1324,  1329,   525,   526,  1340,   664,
2158      665,   666,   667,   668,   669,   670,   671,   672,   673,   674,
2159      675,   676,     0,     0,   677,  1353,     0,   451,     0,  1104,
2160        0,     0,     0,   470,     0,     0,     0,     0,     0,   486,
2161        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2162      711,   548,   549,   550,   551,   552,   553,   554,   555,   556,
2163      557,   558,   683,   526,   559,   664,   665,   666,   667,   668,
2164      669,   670,   671,   672,   673,   674,   675,   676,     0,     0,
2165      677,     0,   525,     0,  1382,  1105,     0,     0,     0,     0,
2166        0,     0,     0,     0,     0,   750,     0,     0,     0,     0,
2167        0,     0,     0,     0,     0,   611,     0,     0,     0,     0,
2168        0,     0,     0,   766,     0,     0,     0,   525,   770,   771,
2169      773,   631,   775,   778,   545,     0,   546,   547,   548,   549,
2170      550,   551,   552,   553,   554,   555,   556,   557,   558,     0,
2171        0,   559,     0,     0,     0,     0,  1155,   803,   526,     0,
2172      664,   665,   666,   667,   668,   669,   670,   671,   672,   673,
2173      674,   675,   676,   656,     0,   677,   811,     0,     0,   526,
2174     1174,   664,   665,   666,   667,   668,   669,   670,   671,   672,
2175      673,   674,   675,   676,     0,     0,   677,     0,     0,     0,
2176      525,  1190,  1424,     0,   202,     0,     0,     0,   684,   685,
2177        0,     0,     0,   526,     0,   664,   665,   666,   667,   668,
2178      669,   670,   671,   672,   673,   674,   675,   676,     0,     0,
2179      677,     0,     0,     0,     0,  1191,     0,     0,     0,     0,
2180      704,   525,     0,     0,     0,     0,     0,     0,   526,     0,
2181      664,   665,   666,   667,   668,   669,   670,   671,   672,   673,
2182      674,   675,   676,     0,     0,   677,     0,     0,   544,     0,
2183     1199,     0,     0,     0,  1439,     0,     0,   970,     0,     0,
2184        0,     0,   708,   991,  1442,     0,     0,     0,     0,     0,
2185        0,     0,     0,     0,     0,  1446,   973,     0,  1027,     0,
2186      238,   239,     0,   684,   725,     0,     0,   728,     0,   730,
2187      731,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2188      740,     0,     0,     0,   525,     0,     0,     0,   518,   520,
2189      522,  1107,   745,   746,   748,     0,     0,   241,     0,     0,
2190        0,   754,   242,     0,     0,   761,     0,     0,   764,     0,
2191        0,   274,     0,     0,     0,     0,     0,   974,   769,     0,
2192        0,   614,   616,     0,     0,   620,     0,     0,   526,     0,
2193      664,   665,   666,   667,   668,   669,   670,   671,   672,   673,
2194      674,   675,   676,   975,   800,   677,     0,     0,     0,   804,
2195     1271,   806,     0,     0,     0,     0,  1147,     0,   525,     0,
2196        0,     0,   976,     0,     0,     0,     0,     0,   812,     0,
2197        0,     0,     0,     0,     0,     0,     0,     0,   517,   517,
2198      517,     0,     0,     0,     0,     0,     0,   821,   822,   823,
2199      824,     0,  1534,   977,  1163,   525,     0,     0,     0,     0,
2200        0,     0,     0,     0,   526,  1545,   664,   665,   666,   667,
2201      668,   669,   670,   671,   672,   673,   674,   675,   676,   525,
2202        0,   677,     0,     0,     0,     0,  1280,     0,     0,     0,
2203        0,     0,     0,     0,   517,   517,  1187,   517,  1188,   526,
2204     1189,   664,   665,   666,   667,   668,   669,   670,   671,   672,
2205      673,   674,   675,   676,     0,     0,   677,   517,     0,     0,
2206        0,  1292,     0,     0,     0,     0,     0,   525,     0,   971,
2207        0,     0,   987,     0,   517,   992,     0,     0,     0,  1001,
2208     1007,     0,     0,     0,     0,     0,  1601,  1602,     0,     0,
2209        0,  1052,  1077,     0,  1220,  1221,     0,     0,  1606,   714,
2210        0,     0,     0,     0,     0,     0,     0,     0,   517,   517,
2211        0,   167,   526,     0,   664,   665,   666,   667,   668,   669,
2212      670,   671,   672,   673,   674,   675,   676,     0,     0,   677,
2213      194,     0,  1111,   194,  1373,     0,     0,     0,   252,     0,
2214        0,     0,   194,     0,     0,     0,     0,   685,     0,     0,
2215        0,   296,     0,  1653,     0,     0,   310,  -171,  -171,  -171,
2216     -171,  -171,  -171,   535,   536,   537,   538,   539,     0,  1663,
2217      540,     0,   364,     0,  1667,   389,     0,     0,     0,  1671,
2218        0,   796,   194,  1140,  -171,  -171,  -171,  -171,  -171,  -171,
2219      554,   555,   556,   557,   558,     0,     0,   559,   194,     0,
2220        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2221      194,     0,   194,     0,   458,   525,     0,   194,   194,     0,
2222        0,  1238,     0,     0,     0,     0,  1243,     0,     0,     0,
2223        0,     0,     0,   496,  1169,   194,   526,   525,   664,   665,
2224      666,   667,   668,   669,   670,   671,   672,   673,   674,   675,
2225      676,     0,     0,   677,     0,     0,     0,     0,  1375,     0,
2226        0,     0,     0,  1270,   525,     0,     0,   859,   861,   863,
2227      865,   867,   869,   871,   873,   875,   877,   879,   881,   883,
2228      885,     0,     0,     0,     0,   890,   892,   894,   896,   898,
2229      900,   902,   904,   906,   908,   910,   912,   914,   916,   918,
2230      920,  1294,   525,     0,  1298,     0,     0,     0,     0,  1308,
2231      526,     0,   664,   665,   666,   667,   668,   669,   670,   671,
2232      672,   673,   674,   675,   676,     0,     0,   677,     0,     0,
2233        0,     0,  1376,     0,     0,   525,     0,     0,     0,     0,
2234        0,     0,     0,  1089,     0,   517,   517,   526,     0,   664,
2235      665,   666,   667,   668,   669,   670,   671,   672,   673,   674,
2236      675,   676,   525,     0,   677,     0,     0,     0,     0,  1377,
2237        0,   526,     0,   664,   665,   666,   667,   668,   669,   670,
2238      671,   672,   673,   674,   675,   676,     0,     0,   677,     0,
2239        0,     0,     0,  1378,     0,     0,     0,     0,     0,   194,
2240        0,   525,     0,     0,     0,     0,     0,  1381,     0,     0,
2241        0,     0,     0,     0,     0,     0,     0,     0,     0,   526,
2242     1235,   664,   665,   666,   667,   668,   669,   670,   671,   672,
2243      673,   674,   675,   676,     0,     0,   677,  1394,   525,     0,
2244        0,  1379,     0,     0,     0,   517,     0,     0,     0,     0,
2245        0,     0,     0,     0,     0,     0,  1242,     0,  1244,  1245,
2246        0,   525,     0,  1246,     0,     0,     0,     0,     0,   194,
2247        0,   194,   194,     0,     0,     0,     0,     0,     0,  1264,
2248     1265,     0,     0,     0,     0,     0,     0,     0,  1269,     0,
2249        0,     0,     0,     0,   517,   194,     0,     0,  1273,  1275,
2250        0,  1279,     0,     0,     0,     0,     0,     0,     0,     0,
2251        0,     0,     0,   194,     0,   525,     0,     0,     0,     0,
2252        0,     0,   517,     0,     0,     0,     0,     0,     0,     0,
2253        0,  1293,     0,     0,     0,     0,     0,     0,     0,  1307,
2254        0,     0,  1313,  1314,   194,     0,     0,     0,     0,   194,
2255      194,     0,     0,     0,     0,     0,     0,     0,  1323,     0,
2256        0,  1328,     0,     0,  1339,     0,     0,   525,     0,     0,
2257     1349,   666,   667,   668,   669,   670,   671,   672,   673,   674,
2258      675,   676,     0,     0,   677,  1438,  1357,     0,     0,   526,
2259        0,   664,   665,   666,   667,   668,   669,   670,   671,   672,
2260      673,   674,   675,   676,  1370,     0,   677,     0,     0,     0,
2261        0,  1385,     0,     0,     0,     0,   526,   194,   664,   665,
2262      666,   667,   668,   669,   670,   671,   672,   673,   674,   675,
2263      676,     0,     0,   677,     0,   855,     0,     0,  1391,     0,
2264        0,     0,     0,  1383,  1384,   525,     0,     0,     0,     0,
2265        0,     0,     0,     0,   526,     0,   664,   665,   666,   667,
2266      668,   669,   670,   671,   672,   673,   674,   675,   676,     0,
2267     1499,   677,  1396,  1502,     0,  1398,  1392,     0,  1399,     0,
2268        0,     0,   525,     0,     0,     0,     0,   526,  1402,   664,
2269      665,   666,   667,   668,   669,   670,   671,   672,   673,   674,
2270      675,   676,     0,     0,   677,   525,     0,     0,     0,  1407,
2271        0,     0,   194,   194,   526,     0,   664,   665,   666,   667,
2272      668,   669,   670,   671,   672,   673,   674,   675,   676,     0,
2273        0,   677,     0,     0,     0,     0,  1408,     0,     0,     0,
2274        0,   194,  1422,     0,     0,     0,     0,     0,     0,     0,
2275        0,     0,     0,   526,  1541,   664,   665,   666,   667,   668,
2276      669,   670,   671,   672,   673,   674,   675,   676,     0,     0,
2277      677,     0,     0,     0,     0,  1418,     0,     0,     0,     0,
2278        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2279      526,   194,   664,   665,   666,   667,   668,   669,   670,   671,
2280      672,   673,   674,   675,   676,     0,     0,   677,     0,     0,
2281        0,  1586,  1419,   526,     0,   664,   665,   666,   667,   668,
2282      669,   670,   671,   672,   673,   674,   675,   676,     0,     0,
2283      677,     0,  1444,     0,     0,  1421,     0,     0,  1360,  1362,
2284     1364,     0,     0,     0,     0,     0,     0,     0,     0,  1452,
2285     1455,     0,     0,     0,     0,  1171,     0,     0,     0,     0,
2286      194,     0,     0,     0,     0,     0,  1471,   526,     0,   664,
2287      665,   666,   667,   668,   669,   670,   671,   672,   673,   674,
2288      675,   676,     0,     0,   677,     0,     0,     0,  1489,  1428,
2289        0,     0,     0,     0,  1386,  1387,     0,  1388,     0,     0,
2290        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2291        0,  1655,     0,     0,     0,     0,     0,  1397,     0,   526,
2292      194,   664,   665,   666,   667,   668,   669,   670,   671,   672,
2293      673,   674,   675,   676,  1404,     0,   677,     0,     0,     0,
2294        0,  1431,     0,     0,     0,     0,     0,     0,     0,     0,
2295        0,     0,  1516,     0,     0,     0,     0,     0,     0,     0,
2296        0,   525,     0,     0,     0,     0,     0,     0,  1414,  1416,
2297        0,     0,     0,     0,     0,  1532,     0,     0,     0,     0,
2298        0,     0,     0,     0,     0,     0,  1542,     0,  1543,     0,
2299        0,     0,     0,     0,     0,     0,     0,   526,  1550,   664,
2300      665,   666,   667,   668,   669,   670,   671,   672,   673,   674,
2301      675,   676,     0,     0,   677,     0,     0,     0,     0,   -87,
2302     1569,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2303        0,     0,     0,     0,   526,  1580,   664,   665,   666,   667,
2304      668,   669,   670,   671,   672,   673,   674,   675,   676,     0,
2305        0,   677,     0,     0,     0,  1591,  1466,   526,     0,   664,
2306      665,   666,   667,   668,   669,   670,   671,   672,   673,   674,
2307      675,   676,     0,     0,   677,     0,     0,     0,     0,  1467,
2308      525,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2309        0,     0,     0,     0,     0,     0,    -7,     1,  1622,     0,
2310        0,     0,     0,     0,     0,     0,  1626,     0,     0,     0,
2311        0,     0,     0,     0,     2,     3,     4,     5,     0,     6,
2312        7,     8,     9,    10,    11,    12,    13,    14,    15,     0,
2313        0,    16,     0,    17,    18,     0,     0,    19,    20,     0,
2314        0,     0,    21,    22,    23,     0,    24,    25,     0,     0,
2315        0,     0,     0,     0,     0,     0,     0,    26,     0,     0,
2316       27,    28,     0,     0,     0,     0,    29,     0,     0,    30,
2317        0,     0,     0,     0,     0,     0,    31,    32,     0,     0,
2318        0,     0,     0,     0,     0,    33,    34,     0,     0,     0,
2319        0,     0,     0,     0,    35,    36,    37,    38,     0,     0,
2320        0,     0,     0,    39,    40,  1518,  1520,    41,     0,    42,
2321        0,     0,    43,     0,     0,    44,    45,     0,     0,     0,
2322       46,     0,    47,     0,     0,     0,     0,    48,    49,    50,
2323        0,     0,     0,    51,     0,    52,     0,     0,    53,     0,
2324        0,     0,     0,     0,     0,    54,    55,     0,     0,     0,
2325       56,    57,    58,    59,     0,    60,     0,    61,     0,     0,
2326        0,     0,    62,     0,    63,    64,     0,     0,     0,    65,
2327       66,     0,     0,     0,     0,     0,   194,     0,     0,     0,
2328        0,    67,    68,    69,    70,     0,     0,     0,   525,     0,
2329        0,     0,     0,     0,     0,     0,     0,    71,     0,    72,
2330        0,    73,     0,     0,     0,  1593,     0,     0,     0,     0,
2331        0,     0,     0,   526,    74,   527,   528,   529,   530,   531,
2332      532,   533,   534,   535,   536,   537,   538,   539,     0,    75,
2333      540,     0,     0,   194,    76,    77,    78,    79,    80,    81,
2334        0,     0,    82,    83,    84,    85,     0,    86,    87,     0,
2335        0,     0,     0,    88,  1628,    89,    90,    91,    92,    93,
2336       94,     0,     0,     0,    95,    96,    97,     0,     0,     0,
2337        0,    98,     0,    99,   100,     0,     0,   101,   102,     0,
2338        0,     0,  1652,     0,     0,   103,   104,   105,   106,     0,
2339      107,     0,     0,     0,   108,   109,   110,     0,     0,     0,
2340      111,     0,   112,   113,   114,     0,     0,     0,     0,   115,
2341      116,   117,   118,   119,   120,   121,     0,   122,   123,     0,
2342      124,   125,   126,   127,   128,   129,   130,     0,   131,   132,
2343      133,     0,   526,  1225,   664,   665,   666,   667,   668,   669,
2344      670,   671,   672,   673,   674,   675,   676,     0,     0,   677,
2345      134,   135,   136,   137,   138,   139,   140,   141,    -7,     1,
2346        0,     0,     0,     0,   142,   143,   144,   145,   146,     0,
2347        0,     0,     0,     0,     0,     0,   847,   848,     4,   525,
2348      147,   148,     0,     0,     0,     0,   149,     0,     0,    -7,
2349      150,     0,     0,    16,     0,    17,    18,     0,     0,    19,
2350       20,     0,   525,     0,    21,    22,    23,     0,     0,    25,
2351        0,     0,     0,     0,     0,     0,     0,     0,     0,    26,
2352        0,     0,    27,    28,     0,   544,     0,     0,    29,     0,
2353        0,    30,     0,     0,     0,     0,     0,     0,    31,    32,
2354        0,     0,     0,     0,     0,     0,     0,    33,    34,     0,
2355        0,     0,     0,     0,     0,     0,    35,    36,    37,    38,
2356        0,     0,     0,     0,     0,    39,    40,     0,     0,    41,
2357        0,    42,     0,     0,    43,     0,     0,    44,    45,     0,
2358        0,     0,    46,     0,    47,     0,     0,     0,     0,    48,
2359       49,    50,     0,     0,     0,    51,     0,    52,     0,     0,
2360       53,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2361        0,     0,     0,    57,    58,    59,     0,    60,     0,    61,
2362      544,     0,     0,     0,    62,     0,    63,    64,     0,     0,
2363        0,    65,    66,     0,     0,     0,     0,     0,     0,     0,
2364        0,     0,     0,    67,  -171,  -171,  -171,  -171,  -171,  -171,
2365      672,   673,   674,   675,   676,     0,     0,   677,     0,    71,
2366        0,    72,     0,    73,     0,     0,     0,     0,     0,     0,
2367        0,     0,     0,     0,     0,     0,    74,     0,     0,     0,
2368        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2369        0,    75,     0,     0,     0,     0,    76,    77,    78,    79,
2370        0,    81,     0,     0,    82,    83,   849,    85,     0,    86,
2371       87,     0,     0,     0,     0,     0,     0,    89,    90,    91,
2372       92,    93,    94,     0,     0,     0,     0,    96,    97,     0,
2373        0,     0,     0,    98,     0,    99,   100,     0,     0,   101,
2374      102,     0,     0,     0,     0,     0,     0,   103,     0,   105,
2375      106,     0,   107,     0,     0,     0,   108,   109,   110,     0,
2376        0,     0,   111,     0,   112,   113,   114,     0,     0,     0,
2377        0,   115,     0,     0,     0,     0,     0,     0,     0,   122,
2378      123,     0,   124,     0,     0,     0,     0,   129,   130,     0,
2379      131,   132,   133,   224,   225,   226,     5,     0,   227,   228,
2380        8,   229,   230,   231,   232,   233,   234,   235,     0,     0,
2381        0,     0,   134,   135,   136,   137,   138,   139,   140,   141,
2382        0,     0,     0,     0,     0,    24,   142,   850,   851,   852,
2383        0,   526,     0,   664,   665,   666,   667,   668,   669,   670,
2384      671,   672,   673,   674,   675,   676,     0,     0,   677,     0,
2385        0,    -7,     0,  1468,   526,     0,   664,   665,   666,   667,
2386      668,   669,   670,   671,   672,   673,   674,   675,   676,     0,
2387        0,   677,     0,     0,     0,     0,  1469,   545,     0,   546,
2388      547,   548,   549,   550,   551,   552,   553,   554,   555,   556,
2389      557,   558,     0,     0,   559,     0,     0,     0,     0,  1483,
2390        0,     0,     0,   525,     0,     0,     0,    49,    50,     0,
2391        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2392        0,     0,     0,     0,    54,    55,     0,     0,     0,    56,
2393        0,     0,     0,     0,     0,     0,     0,     0,   224,   225,
2394      226,     5,     0,   227,   228,     8,   229,   230,   231,   232,
2395      233,   234,   235,     0,     0,     0,     0,     0,     0,     0,
2396        0,    68,     0,    70,     0,     0,     0,     0,     0,     0,
2397       24,     0,   545,     0,   546,   547,   548,   549,   550,   551,
2398      552,   553,   554,   555,   556,   557,   558,     0,     0,   559,
2399        0,     0,     0,     0,  1485,     0,     0,     0,   312,     0,
2400        0,     0,   313,   314,   315,   316,   317,   318,     0,     0,
2401        0,   319,   320,   321,   322,   323,   324,   243,     0,     0,
2402        0,     0,     0,     0,     0,     0,     0,     0,     0,   325,
2403        0,     0,   326,     0,     0,     0,     0,     0,     0,     0,
2404        0,     0,     0,    95,    96,    97,     0,     0,     0,     0,
2405      327,     0,    49,    50,     0,     0,     0,     0,     0,     0,
2406        0,     0,     0,   328,     0,   104,     0,   525,     0,    54,
2407       55,     0,     0,     0,    56,     0,     0,     0,   204,   205,
2408      206,     0,   424,     0,     0,     0,     0,   425,     0,   116,
2409      117,   118,   119,   120,   121,   191,     0,     0,     0,     0,
2410      125,   126,   127,   128,   129,   130,    68,     0,    70,     0,
2411      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
2412      339,     0,     0,     0,     0,     0,     0,     0,     0,   134,
2413      135,   136,   137,   138,   139,     0,     0,     0,     0,     0,
2414        0,     0,     0,     0,   244,   245,   246,   146,     0,     0,
2415        0,     0,     0,     0,     0,   340,     0,     0,     0,   147,
2416      247,     0,   243,     0,     0,   248,     0,     0,     0,   249,
2417        0,     0,     0,  1139,     0,     0,     0,     0,     0,     0,
2418        0,     0,     0,     0,     0,     0,   341,     0,    95,    96,
2419       97,     0,     0,     0,   224,   225,   226,     5,     0,   227,
2420      228,     8,   229,   230,   231,   232,   233,   234,   235,     0,
2421      104,     0,     0,     0,     0,  1036,     0,  1037,     0,     0,
2422        0,     0,     0,     0,     0,   544,    24,     0,     0,     0,
2423        0,     0,     0,   426,   116,   117,   118,   119,   120,   121,
2424        0,     0,     0,  1038,     0,   125,   126,   127,   128,   129,
2425      130,   202,     0,     0,   525,   526,  1228,   527,   528,   529,
2426      530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
2427        0,     0,   540,     0,   134,   135,   136,   137,   138,   139,
2428        0,     0,     0,     0,     0,   342,   343,     0,     0,   244,
2429      245,   246,   146,   525,     0,     0,     0,     0,   368,     0,
2430     1039,  1040,     0,     0,   147,   247,     0,     0,    49,    50,
2431      248,     0,     0,     0,   249,     0,     0,     0,     0,     0,
2432        0,     0,     0,     0,     0,    54,    55,   525,     0,     0,
2433       56,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2434     1041,     0,     0,     0,     0,     0,     0,     0,   239,     0,
2435        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2436        0,     0,    68,   207,    70,   208,   209,   210,   211,   212,
2437      213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
2438        0,     0,     0,     0,   241,  1042,     0,     0,     0,   242,
2439        0,  1025,     0,     0,     0,     0,     0,     0,     0,     0,
2440        0,     0,     0,     0,  1043,     0,     0,     0,     0,     0,
2441        0,     0,  1044,  1045,     0,     0,     0,     0,   243,   526,
2442        0,   664,   665,   666,   667,   668,   669,   670,   671,   672,
2443      673,   674,   675,   676,     0,     0,   677,     0,     0,     0,
2444        0,  1491,     0,     0,    95,    96,    97,     0,  1046,     0,
2445     1047,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2446        0,     0,  1048,  1049,  1050,     0,   104,     0,   525,     0,
2447        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2448     1051,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2449      116,   117,   118,   119,   120,   121,     0,     0,     0,     0,
2450        0,   125,   126,   127,   128,   129,   130,   224,   225,   226,
2451        5,     0,   227,   228,     8,   229,   230,   231,   232,   233,
2452      234,   235,     0,     0,     0,  1061,     0,     0,     0,     0,
2453      134,   135,   136,   137,   138,   139,     0,     0,     0,    24,
2454        0,     0,     0,     0,     0,   244,   245,   246,   146,     0,
2455        0,  1062,   525,     0,     0,     0,     0,     0,     0,     0,
2456      147,   247,     0,     0,   202,     0,   248,     0,     0,     0,
2457      249,     0,     0,     0,     0,     0,     0,   545,  1063,   546,
2458      547,   548,   549,   550,   551,   552,   553,   554,   555,   556,
2459      557,   558,   525,     0,   559,     0,     0,     0,     0,  1493,
2460        0,     0,     0,     0,     0,     0,   526,     0,   664,   665,
2461      666,   667,   668,   669,   670,   671,   672,   673,   674,   675,
2462      676,    49,    50,   677,     0,     0,     0,     0,  1494,     0,
2463        0,     0,     0,     0,     0,     0,   544,     0,    54,    55,
2464     1064,     0,     0,    56,     0,   526,     0,   664,   665,   666,
2465      667,   668,   669,   670,   671,   672,   673,   674,   675,   676,
2466        0,   239,   677,     0,     0,  1065,     0,  1498,     0,     0,
2467        0,     0,     0,  1066,     0,  1067,     0,  1068,  1069,   526,
2468        0,   664,   665,   666,   667,   668,   669,   670,   671,   672,
2469      673,   674,   675,   676,     0,     0,   677,   241,   544,  1070,
2470     1071,  1527,   242,     0,  1025,     0,  1072,     0,     0,     0,
2471        0,     0,     0,     0,     0,     0,     0,  1073,     0,     0,
2472        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2473        0,   243,     0,     0,     0,   224,   225,   226,     5,     0,
2474      227,   228,     8,   229,   230,   231,   232,   233,   234,   235,
2475        0,     0,     0,     0,     0,     0,     0,    95,    96,    97,
2476        0,     0,  1074,     0,     0,     0,     0,    24,  1075,     0,
2477        0,     0,     0,     0,     0,     0,     0,     0,     0,   104,
2478        0,   366,     0,     0,   367,     0,     0,     0,     0,     0,
2479        0,     0,   202,  1076,     0,     0,     0,     0,     0,     0,
2480        0,     0,     0,   116,   117,   118,   119,   120,   121,     0,
2481        0,     0,     0,     0,   125,   126,   127,   128,   129,   130,
2482      526,     0,   664,   665,   666,   667,   668,   669,   670,   671,
2483      672,   673,   674,   675,   676,   525,     0,   677,     0,   368,
2484        0,     0,  1528,   134,   135,   136,   137,   138,   139,    49,
2485       50,     0,     0,     0,     0,     0,   525,   369,   244,   245,
2486      246,   146,     0,     0,     0,     0,    54,    55,     0,     0,
2487        0,    56,     0,   147,   247,   370,     0,     0,     0,   248,
2488        0,   371,     0,   249,   372,     0,     0,     0,   238,   239,
2489        0,     0,   373,     0,     0,     0,     0,     0,     0,     0,
2490        0,     0,     0,    68,   526,    70,   664,   665,   666,   667,
2491      668,   669,   670,   671,   672,   673,   674,   675,   676,     0,
2492        0,   677,     0,     0,     0,   241,  1529,     0,     0,     0,
2493      242,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2494        0,     0,     0,     0,   526,     0,   664,   665,   666,   667,
2495      668,   669,   670,   671,   672,   673,   674,   675,   676,   243,
2496        0,   677,     0,     0,     0,     0,  1530,     0,     0,     0,
2497        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2498        0,     0,     0,     0,     0,    95,    96,    97,   545,  1229,
2499      546,   547,   548,   549,   550,   551,   552,   553,   554,   555,
2500      556,   557,   558,     0,     0,   559,   374,   104,   224,   225,
2501      226,     5,     0,   227,   228,     8,   229,   230,   231,   232,
2502      233,   234,   235,     0,     0,     0,     0,     0,     0,   375,
2503        0,   116,   117,   118,   119,   120,   121,     0,     0,     0,
2504       24,   403,   125,   126,   127,   128,   129,   130,   376,     0,
2505      545,     0,   546,   547,   548,   549,   550,   551,   552,   553,
2506      554,   555,   556,   557,   558,     0,     0,   559,     0,     0,
2507        0,   134,   135,   377,   137,   138,   139,     0,     0,     0,
2508        0,   525,     0,     0,     0,     0,   244,   245,   246,   146,
2509        0,     0,     0,   404,     0,     0,     0,     0,     0,     0,
2510        0,   147,   247,     0,     0,     0,     0,   248,     0,     0,
2511        0,   249,     0,     0,     0,     0,     0,     0,     0,     0,
2512      525,     0,    49,    50,     0,     0,     0,     0,     0,     0,
2513        0,     0,     0,     0,     0,     0,     0,     0,     0,    54,
2514       55,   405,     0,   406,    56,     0,     0,     0,     0,     0,
2515        0,     0,     0,     0,   407,   408,     0,     0,     0,     0,
2516        0,     0,     0,     0,     0,   525,     0,     0,     0,     0,
2517        0,     0,     0,     0,     0,     0,    68,     0,    70,     0,
2518        0,     0,     0,     0,     0,     0,     0,   526,     0,   664,
2519      665,   666,   667,   668,   669,   670,   671,   672,   673,   674,
2520      675,   676,     0,     0,   677,     0,     0,   409,   526,  1531,
2521      664,   665,   666,   667,   668,   669,   670,   671,   672,   673,
2522      674,   675,   676,     0,     0,   677,     0,     0,     0,     0,
2523     1533,     0,   243,     0,     0,     0,     0,     0,     0,     0,
2524      410,     0,     0,   411,     0,     0,     0,     0,     0,     0,
2525        0,     0,     0,     0,     0,     0,     0,   412,    95,    96,
2526       97,     0,     0,   413,   224,   225,   226,     5,     0,   227,
2527      228,     8,   229,   230,   231,   232,   233,   234,   235,     0,
2528      104,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2529        0,     0,     0,     0,     0,   414,    24,     0,     0,     0,
2530        0,     0,     0,     0,   116,   117,   118,   119,   120,   121,
2531        0,     0,     0,   452,     0,   125,   126,   127,   128,   129,
2532      130,   202,     0,     0,     0,     0,   525,     0,     0,     0,
2533        0,     0,     0,     0,   453,     0,     0,     0,     0,     0,
2534        0,     0,     0,     0,   134,   135,   136,   137,   138,   139,
2535        0,     0,     0,     0,     0,     0,     0,     0,     0,   244,
2536      245,   246,   146,     0,     0,     0,     0,     0,   368,     0,
2537        0,     0,     0,     0,   147,   247,     0,     0,    49,    50,
2538      248,     0,     0,     0,   249,     0,     0,     0,     0,     0,
2539        0,     0,     0,     0,     0,    54,    55,     0,     0,     0,
2540       56,     0,     0,     0,     0,     0,   454,     0,     0,     0,
2541        0,     0,     0,     0,     0,     0,     0,     0,   239,     0,
2542        0,   455,     0,     0,     0,     0,     0,     0,     0,     0,
2543        0,     0,    68,   526,    70,   664,   665,   666,   667,   668,
2544      669,   670,   671,   672,   673,   674,   675,   676,     0,     0,
2545      677,     0,     0,     0,   241,   224,   225,   226,     5,   242,
2546      227,   228,     8,   229,   230,   231,   232,   233,   234,   235,
2547        0,     0,   526,     0,   664,   665,   666,   667,   668,   669,
2548      670,   671,   672,   673,   674,   675,   676,    24,   243,   677,
2549        0,     0,     0,     0,  1539,     0,     0,     0,     0,     0,
2550      525,   456,     0,  1002,  1003,     0,     0,     0,     0,     0,
2551        0,     0,   202,     0,    95,    96,    97,   526,     0,   664,
2552      665,   666,   667,   668,   669,   670,   671,   672,   673,   674,
2553      675,   676,     0,     0,   677,     0,   104,     0,     0,  1548,
2554        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2555        0,     0,  1004,     0,     0,     0,     0,     0,     0,     0,
2556      116,   117,   118,   119,   120,   121,     0,     0,     0,    49,
2557       50,   125,   126,   127,   128,   129,   130,     0,     0,     0,
2558        0,     0,     0,     0,     0,     0,    54,    55,     0,     0,
2559        0,    56,     0,     0,     0,     0,     0,     0,     0,     0,
2560      134,   135,   136,   137,   138,   139,     0,     0,   238,   239,
2561        0,     0,     0,     0,     0,   244,   245,   246,   146,     0,
2562        0,     0,     0,    68,     0,    70,     0,     0,     0,     0,
2563      147,   247,     0,     0,     0,     0,   248,     0,     0,     0,
2564      249,     0,     0,     0,   224,   225,   226,     5,     0,   227,
2565      228,     8,   229,   230,   231,   232,   233,   234,   235,   274,
2566        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2567        0,     0,     0,     0,     0,     0,    24,     0,   526,   243,
2568      664,   665,   666,   667,   668,   669,   670,   671,   672,   673,
2569      674,   675,   676,     0,     0,   677,     0,     0,     0,     0,
2570     1549,   202,     0,     0,     0,    95,    96,    97,   525,     0,
2571     1005,  1006,     0,     0,   236,     0,     0,     0,     0,     0,
2572        0,     0,     0,     0,     0,     0,     0,   104,     0,     0,
2573        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2574        0,   237,     0,     0,     0,     0,     0,     0,     0,     0,
2575        0,   116,   117,   118,   119,   120,   121,   525,    49,    50,
2576        0,     0,   125,   126,   127,   128,   129,   130,     0,     0,
2577        0,     0,     0,     0,     0,    54,    55,     0,     0,     0,
2578       56,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2579        0,   134,   135,   136,   137,   138,   139,   238,   239,     0,
2580        0,   240,     0,     0,     0,     0,   244,   245,   246,   146,
2581        0,     0,    68,     0,    70,     0,     0,     0,     0,     0,
2582        0,   147,   247,     0,     0,     0,     0,   248,     0,     0,
2583        0,   249,     0,     0,   241,   224,   225,   226,     5,   242,
2584      227,   228,     8,   229,   230,   231,   232,   233,   234,   235,
2585        0,     0,   526,     0,   664,   665,   666,   667,   668,   669,
2586      670,   671,   672,   673,   674,   675,   676,    24,   243,   677,
2587        0,     0,     0,     0,  1565,     0,     0,     0,     0,     0,
2588        0,     0,   525,     0,     0,     0,     0,     0,     0,     0,
2589        0,     0,   202,     0,    95,    96,    97,     0,     0,     0,
2590        0,     0,     0,     0,     0,   292,     0,     0,     0,     0,
2591        0,     0,     0,     0,     0,     0,   104,     0,     0,     0,
2592        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2593        0,     0,   293,     0,     0,     0,     0,     0,     0,     0,
2594      116,   117,   118,   119,   120,   121,     0,   544,     0,    49,
2595       50,   125,   126,   127,   128,   129,   130,     0,     0,     0,
2596        0,     0,     0,     0,     0,     0,    54,    55,     0,     0,
2597        0,    56,     0,     0,     0,     0,     0,     0,     0,     0,
2598      134,   135,   136,   137,   138,   139,     0,     0,   238,   239,
2599        0,     0,   294,     0,     0,   244,   245,   246,   146,     0,
2600        0,     0,     0,    68,     0,    70,     0,     0,     0,     0,
2601      147,   247,     0,     0,     0,     0,   248,     0,     0,     0,
2602      249,     0,     0,     0,     0,   241,   224,   225,   226,     5,
2603      242,   227,   228,     8,   229,   230,   231,   232,   233,   234,
2604      235,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2605        0,   385,     0,     0,     0,     0,     0,     0,    24,   243,
2606      526,   525,   664,   665,   666,   667,   668,   669,   670,   671,
2607      672,   673,   674,   675,   676,     0,     0,   677,     0,     0,
2608        0,     0,  1566,   202,     0,    95,    96,    97,     0,     0,
2609        0,     0,     0,     0,     0,     0,   386,     0,     0,     0,
2610        0,     0,     0,     0,     0,     0,     0,   104,     0,   526,
2611        0,   527,   528,   529,   530,   531,   532,   533,   534,   535,
2612      536,   537,   538,   539,     0,     0,   540,     0,     0,     0,
2613      845,   116,   117,   118,   119,   120,   121,     0,     0,   525,
2614       49,    50,   125,   126,   127,   128,   129,   130,     0,     0,
2615        0,     0,     0,     0,     0,     0,     0,    54,    55,     0,
2616        0,     0,    56,     0,     0,     0,     0,     0,     0,     0,
2617        0,   134,   135,   136,   137,   138,   139,     0,   525,   238,
2618      239,     0,     0,   387,     0,     0,   244,   245,   246,   146,
2619        0,     0,     0,     0,    68,     0,    70,     0,     0,     0,
2620        0,   147,   247,     0,     0,     0,     0,   248,     0,     0,
2621        0,   249,     0,     0,     0,     0,   241,   224,   225,   226,
2622        5,   242,   227,   228,     8,   229,   230,   231,   232,   233,
2623      234,   235,     0,     0,   526,     0,   664,   665,   666,   667,
2624      668,   669,   670,   671,   672,   673,   674,   675,   676,    24,
2625      243,   677,     0,     0,     0,     0,  1567,     0,     0,     0,
2626        0,     0,     0,     0,     0,     0,   471,   525,     0,     0,
2627        0,     0,     0,     0,   202,     0,    95,    96,    97,     0,
2628        0,     0,     0,     0,     0,     0,     0,   472,     0,     0,
2629        0,     0,   525,     0,     0,     0,     0,     0,   104,   545,
2630        0,   546,   547,   548,   549,   550,   551,   552,   553,   554,
2631      555,   556,   557,   558,     0,     0,   559,     0,     0,     0,
2632      846,   368,   116,   117,   118,   119,   120,   121,     0,     0,
2633        0,    49,    50,   125,   126,   127,   128,   129,   130,     0,
2634        0,     0,     0,     0,     0,     0,     0,     0,    54,    55,
2635        0,     0,     0,    56,     0,     0,     0,     0,     0,     0,
2636        0,     0,   134,   135,   136,   137,   138,   139,     0,     0,
2637        0,   239,     0,     0,     0,     0,     0,   244,   245,   246,
2638      146,     0,     0,     0,     0,    68,     0,    70,     0,     0,
2639        0,     0,   147,   247,     0,     0,     0,     0,   248,     0,
2640        0,     0,   249,     0,     0,     0,     0,   241,     0,     0,
2641        0,   525,   242,   526,     0,   664,   665,   666,   667,   668,
2642      669,   670,   671,   672,   673,   674,   675,   676,     0,     0,
2643      677,     0,     0,     0,     0,  1568,     0,     0,     0,     0,
2644        0,   243,     0,     0,     0,     0,     0,     0,     0,     0,
2645      224,   225,   226,     5,   473,   227,   228,     8,   229,   230,
2646      231,   232,   233,   234,   235,     0,     0,    95,    96,    97,
2647        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2648        0,     0,    24,     0,     0,     0,     0,     0,     0,   104,
2649        0,   526,     0,   664,   665,   666,   667,   668,   669,   670,
2650      671,   672,   673,   674,   675,   676,     0,   202,   677,     0,
2651        0,     0,   -90,   116,   117,   118,   119,   120,   121,     0,
2652        0,     0,     0,     0,   125,   126,   127,   128,   129,   130,
2653      526,     0,   664,   665,   666,   667,   668,   669,   670,   671,
2654      672,   673,   674,   675,   676,     0,     0,   677,     0,     0,
2655        0,   525,  1583,   134,   135,   136,   137,   138,   139,     0,
2656        0,     0,     0,     0,    49,    50,  1335,     0,   244,   245,
2657      246,   146,     0,     0,     0,     0,     0,     0,     0,     0,
2658      525,    54,    55,   147,   247,     0,    56,     0,     0,   248,
2659        0,     0,     0,   249,     0,     0,     0,     0,     0,     0,
2660        0,     0,     0,   238,   239,     0,     0,     0,     0,     0,
2661        0,     0,     0,     0,     0,     0,     0,     0,    68,   526,
2662       70,   664,   665,   666,   667,   668,   669,   670,   671,   672,
2663      673,   674,   675,   676,     0,     0,   677,     0,     0,     0,
2664      241,  1585,     0,     0,   526,   242,   664,   665,   666,   667,
2665      668,   669,   670,   671,   672,   673,   674,   675,   676,     0,
2666        0,   677,     0,     0,     0,     0,  1598,     0,     0,     0,
2667        0,     0,     0,     0,   243,     0,     0,     0,   224,   225,
2668      226,     5,     0,   227,   228,     8,   229,   230,   231,   232,
2669      233,   234,   235,     0,     0,     0,     0,     0,     0,     0,
2670       95,    96,    97,   525,     0,  1336,     0,     0,     0,     0,
2671       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2672        0,     0,   104,     0,    17,    18,   525,     0,     0,  1337,
2673        0,     0,     0,     0,   561,   202,     0,     0,     0,   562,
2674        0,     0,     0,     0,     0,     0,   116,   117,   118,   119,
2675      120,   121,     0,     0,     0,     0,     0,   125,   126,   127,
2676      128,   129,   130,   526,     0,   664,   665,   666,   667,   668,
2677      669,   670,   671,   672,   673,   674,   675,   676,     0,     0,
2678      677,     0,     0,     0,     0,  1599,   134,   135,   136,   137,
2679      138,   139,    49,    50,  1325,     0,     0,     0,     0,     0,
2680        0,   244,   245,   246,   146,   563,     0,     0,     0,    54,
2681       55,     0,     0,     0,    56,     0,   147,   247,     0,     0,
2682        0,     0,   248,     0,     0,     0,   249,     0,   564,     0,
2683        0,   238,   239,     0,     0,     0,     0,   204,   205,   206,
2684        0,     0,     0,     0,     0,     0,    68,     0,    70,   565,
2685        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2686        0,     0,     0,     0,     0,     0,     0,     0,   241,   224,
2687      225,   226,     5,   242,   227,   228,     8,   229,   230,   231,
2688      232,   233,   234,   235,     0,     0,     0,     0,     0,     0,
2689        0,     0,   525,     0,     0,   241,     0,     0,     0,     0,
2690      242,    24,   243,   526,     0,   664,   665,   666,   667,   668,
2691      669,   670,   671,   672,   673,   674,   675,   676,     0,     0,
2692      677,     0,     0,     0,     0,  1600,   202,     0,    95,    96,
2693       97,     0,   526,  1326,   664,   665,   666,   667,   668,   669,
2694      670,   671,   672,   673,   674,   675,   676,     0,     0,   677,
2695      104,     0,     0,     0,  1614,     0,     0,     0,     0,     0,
2696        0,     0,     0,     0,     0,     0,   525,     0,     0,     0,
2697      566,     0,     0,     0,   116,   117,   118,   119,   120,   121,
2698        0,     0,     0,    49,    50,   125,   126,   127,   128,   129,
2699      130,   567,     0,     0,     0,     0,     0,     0,     0,     0,
2700       54,    55,     0,   525,     0,    56,     0,     0,     0,     0,
2701        0,     0,     0,     0,   134,   135,   136,   137,   138,   139,
2702      132,     0,     0,     0,     0,     0,     0,     0,     0,   244,
2703      245,   246,   146,     0,     0,     0,     0,    68,     0,    70,
2704        0,     0,     0,     0,   147,   247,     0,     0,   141,     0,
2705      248,     0,     0,     0,   249,   526,     0,   664,   665,   666,
2706      667,   668,   669,   670,   671,   672,   673,   674,   675,   676,
2707        0,     0,   677,   274,     0,     0,     0,  1615,   526,   568,
2708      664,   665,   666,   667,   668,   669,   670,   671,   672,   673,
2709      674,   675,   676,   243,     0,   677,     0,     0,     0,     0,
2710     1616,     0,   525,     0,     0,     0,     0,     0,     0,   984,
2711        0,     0,     0,     0,     0,     0,     0,     0,     0,    95,
2712       96,    97,   207,     0,   208,   209,   210,   211,   212,   213,
2713      214,   215,   216,   217,   218,   219,   220,   221,   222,     0,
2714        0,   104,     0,     0,     0,     0,     0,     0,     0,     0,
2715        0,     0,     0,     0,     0,   985,     0,     0,     0,     0,
2716        0,     0,     0,     0,     0,   116,   117,   118,   119,   120,
2717      121,     0,   986,     0,     0,     0,   125,   126,   127,   128,
2718      129,   130,     0,   224,   225,   226,     5,     0,   227,   228,
2719        8,   229,   230,   231,   232,   233,   234,   235,     0,     0,
2720        0,     0,     0,     0,     0,   134,   135,   136,   137,   138,
2721      139,  1289,     0,     0,     0,    24,     0,     0,     0,     0,
2722      244,   245,   246,   146,     0,     0,     0,  1249,     0,     0,
2723        0,     0,     0,     0,     0,   147,   247,     0,     0,     0,
2724        0,   248,     0,     0,   526,   249,   664,   665,   666,   667,
2725      668,   669,   670,   671,   672,   673,   674,   675,   676,     0,
2726        0,   677,     0,     0,     0,     0,  1631,     0,     0,     0,
2727        0,     0,     0,     0,     0,     0,     0,     0,     0,   224,
2728      225,   226,     5,     0,   227,   228,     8,   229,   230,   231,
2729      232,   233,   234,   235,     0,     0,     0,    49,    50,     0,
2730        0,     0,   525,     0,     0,     0,     0,     0,     0,     0,
2731        0,    24,     0,     0,    54,    55,     0,     0,   526,    56,
2732      664,   665,   666,   667,   668,   669,   670,   671,   672,   673,
2733      674,   675,   676,     0,     0,   677,     0,     0,     0,     0,
2734     1632,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2735        0,    68,     0,    70,     0,   526,     0,   664,   665,   666,
2736      667,   668,   669,   670,   671,   672,   673,   674,   675,   676,
2737        0,  1250,   677,     0,     0,     0,     0,  1642,     0,     0,
2738        0,  1251,     0,     0,   525,     0,     0,     0,     0,     0,
2739        0,     0,     0,    49,    50,     0,     0,     0,     0,     0,
2740        0,     0,     0,     0,     0,   525,     0,   243,     0,     0,
2741       54,    55,     0,     0,     0,    56,     0,     0,     0,     0,
2742        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2743        0,   544,     0,    95,    96,    97,     0,     0,     0,     0,
2744        0,     0,     0,     0,  1290,     0,     0,    68,     0,    70,
2745        0,     0,     0,     0,   526,   104,   664,   665,   666,   667,
2746      668,   669,   670,   671,   672,   673,   674,   675,   676,     0,
2747        0,   677,     0,     0,     0,     0,  1648,     0,     0,   116,
2748      117,   118,   119,   120,   121,     0,     0,     0,     0,     0,
2749      125,   126,   127,   128,   129,   130,     0,     0,     0,     0,
2750        0,     0,     0,   243,     0,     0,     0,     0,     0,     0,
2751        0,     0,     0,     0,     0,     0,     0,     0,     0,   134,
2752      135,   136,   137,   138,   139,     0,     0,     0,     0,    95,
2753       96,    97,     0,     0,   244,   245,   246,   146,     0,     0,
2754        0,     0,     0,     0,     0,     0,     0,     0,     0,   147,
2755      247,   104,     0,     0,     0,   248,     0,     0,     0,   249,
2756      224,   225,   226,     5,     0,   227,   228,     8,   229,   230,
2757      231,   232,   233,   234,   235,   116,   117,   118,   119,   120,
2758      121,     0,     0,     0,     0,     0,   125,   126,   127,   128,
2759      129,   130,    24,     0,     0,     0,   487,   488,     0,     0,
2760        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2761        0,     0,     0,     0,     0,   134,   135,   136,   137,   138,
2762      139,     0,     0,     0,   489,   490,     0,     0,     0,     0,
2763      244,   245,   246,   146,     0,     0,     0,     0,     0,     0,
2764        0,     0,     0,     0,     0,   147,   247,     0,     0,     0,
2765        0,   248,     0,     0,   526,   249,   664,   665,   666,   667,
2766      668,   669,   670,   671,   672,   673,   674,   675,   676,   525,
2767        0,   677,     0,     0,    49,    50,  1654,     0,     0,     0,
2768        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2769        0,    54,    55,     0,     0,     0,    56,     0,     0,     0,
2770        0,     0,     0,     0,     0,   224,   225,   226,     5,     0,
2771      227,   228,     8,   229,   230,   231,   232,   233,   234,   235,
2772        0,     0,     0,     0,     0,     0,     0,     0,    68,     0,
2773       70,     0,     0,     0,     0,     0,   526,    24,   664,   665,
2774      666,   667,   668,   669,   670,   671,   672,   673,   674,   675,
2775      676,     0,     0,   677,     0,     0,     0,   526,  1662,   664,
2776      665,   666,   667,   668,   669,   670,   671,   672,   673,   674,
2777      675,   676,   525,     0,   677,     0,     0,     0,     0,  1666,
2778        0,     0,     0,   545,   243,   546,   547,   548,   549,   550,
2779      551,   552,   553,   554,   555,   556,   557,   558,     0,     0,
2780      559,     0,     0,     0,  1094,     0,     0,     0,     0,     0,
2781       95,    96,    97,     0,     0,     0,     0,     0,     0,    49,
2782       50,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2783        0,     0,   104,     0,     0,     0,    54,    55,     0,     0,
2784        0,    56,     0,     0,     0,     0,     0,     0,     0,     0,
2785        0,   736,     0,     0,   737,     0,   116,   117,   118,   119,
2786      120,   121,     0,     0,     0,     0,     0,   125,   126,   127,
2787      128,   129,   130,    68,     0,    70,     0,   498,   499,     0,
2788        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2789        0,     0,     0,     0,     0,     0,   134,   135,   136,   137,
2790      138,   139,   525,     0,     0,   500,   501,     0,     0,     0,
2791        0,   244,   245,   246,   146,     0,     0,     0,     0,     0,
2792        0,     0,     0,     0,     0,     0,   147,   247,     0,   243,
2793        0,     0,   248,     0,     0,     0,   249,   224,   225,   226,
2794        5,     0,     6,     7,     8,     9,    10,    11,    12,    13,
2795       14,    15,     0,     0,     0,    95,    96,    97,     0,     0,
2796      738,     0,     0,     0,     0,     0,     0,     0,     0,    24,
2797        0,     0,     0,     0,     0,     0,     0,   104,     0,     0,
2798        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2799        0,   739,     0,     0,     0,     0,     0,     0,     0,     0,
2800        0,   116,   117,   118,   119,   120,   121,     0,     0,     0,
2801        0,     0,   125,   126,   127,   128,   129,   130,     0,     0,
2802        0,   526,     0,   664,   665,   666,   667,   668,   669,   670,
2803      671,   672,   673,   674,   675,  1179,     0,     0,   677,     0,
2804        0,   134,   135,   136,   137,   138,   139,     0,     0,     0,
2805        0,    49,    50,     0,     0,     0,   244,   245,   246,   146,
2806        0,     0,     0,     0,     0,     0,     0,     0,    54,    55,
2807        0,   147,   247,    56,     0,     0,     0,   248,     0,     0,
2808        0,   249,   224,   225,   226,     5,     0,     6,     7,     8,
2809        9,    10,    11,    12,    13,    14,    15,     0,     0,     0,
2810        0,     0,     0,     0,     0,    68,    69,    70,     0,     0,
2811        0,     0,     0,     0,    24,     0,     0,     0,     0,     0,
2812        0,     0,     0,     0,   526,     0,   527,   528,   529,   530,
2813      531,   532,   533,   534,   535,   536,   537,   538,   539,     0,
2814        0,   540,     0,     0,     0,  1095,     0,     0,     0,     0,
2815        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2816        0,    80,     0,     0,     0,     0,     0,   515,     0,   544,
2817        0,     0,     0,     0,     0,     0,    88,     0,     0,     0,
2818        0,     0,     0,     0,     0,     0,     0,    95,    96,    97,
2819        0,     0,   525,     0,     0,     0,    49,    50,     0,     0,
2820        0,     0,     0,     0,     0,     0,     0,     0,     0,   104,
2821        0,     0,   544,    54,    55,     0,     0,     0,    56,     0,
2822        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2823        0,     0,     0,   116,   117,   118,   119,   120,   121,     0,
2824        0,     0,     0,     0,   125,   126,   127,   128,   129,   130,
2825       68,    69,    70,     0,   526,     0,   664,   665,   666,   667,
2826      668,   669,   670,   671,   672,   673,   674,   675,  1181,     0,
2827        0,   677,     0,   134,   135,   136,   137,   138,   139,     0,
2828        0,     0,     0,     0,     0,     0,     0,     0,   244,   245,
2829      246,   146,     0,     0,     0,     0,     0,     0,     0,     0,
2830      525,     0,     0,   147,   148,     0,    80,     0,     0,   149,
2831        0,     0,  1403,   150,     0,     0,     0,     0,     0,     0,
2832        0,    88,     0,     0,     0,     0,     0,     0,     0,     0,
2833        0,     0,    95,    96,    97,     0,   224,   225,   226,     5,
2834        0,   227,   228,     8,   229,   230,   231,   232,   233,   234,
2835      235,     0,     0,     0,   104,     0,     0,     0,     0,     0,
2836        0,     0,     0,     0,     0,     0,     0,     0,    24,     0,
2837        0,     0,     0,     0,     0,     0,     0,     0,   116,   117,
2838      118,   119,   120,   121,     0,     0,     0,   191,     0,   125,
2839      126,   127,   128,   129,   130,     0,     0,     0,     0,     0,
2840        0,     0,   544,     0,     0,     0,     0,     0,     0,     0,
2841        0,     0,     0,     0,     0,     0,     0,     0,   134,   135,
2842      136,   137,   138,   139,     0,     0,     0,     0,     0,     0,
2843        0,     0,     0,   244,   245,   246,   146,     0,     0,     0,
2844        0,     0,     0,     0,   525,     0,     0,     0,   147,   148,
2845       49,    50,     0,     0,   149,     0,     0,     0,   150,     0,
2846        0,     0,     0,     0,     0,     0,     0,    54,    55,     0,
2847        0,     0,    56,     0,     0,     0,     0,     0,     0,     0,
2848        0,     0,     0,   224,   225,   226,     5,     0,   227,   228,
2849        8,   229,   230,   231,   232,   233,   234,   235,     0,     0,
2850        0,     0,     0,     0,    68,     0,    70,     0,     0,     0,
2851        0,     0,     0,     0,     0,    24,     0,     0,     0,     0,
2852        0,   545,   767,   546,   547,   548,   549,   550,   551,   552,
2853      553,   554,   555,   556,   557,   558,     0,     0,   559,   525,
2854        0,     0,  1096,     0,   526,     0,   664,   665,   666,   667,
2855      668,   669,   670,   671,   672,   673,   674,   675,   676,     0,
2856      243,   677,     0,     0,   545,   845,   546,   547,   548,   549,
2857      550,   551,   552,   553,   554,   555,   556,   557,   558,     0,
2858        0,   559,     0,     0,     0,  1195,    95,    96,    97,   544,
2859        0,     0,     0,     0,     0,     0,   682,    49,    50,     0,
2860        0,     0,     0,     0,     0,     0,     0,     0,   104,     0,
2861        0,     0,     0,     0,    54,    55,     0,   768,     0,    56,
2862        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2863        0,     0,   116,   117,   118,   119,   120,   121,     0,     0,
2864        0,     0,     0,   125,   126,   127,   128,   129,   130,     0,
2865        0,    68,  -171,    70,   664,   665,   666,   667,   668,   669,
2866      670,   671,   672,   673,   674,   675,   676,     0,     0,   677,
2867        0,     0,   134,   135,   136,   137,   138,   139,     0,   525,
2868        0,     0,     0,     0,     0,     0,     0,   244,   245,   246,
2869      146,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2870        0,     0,   147,   247,     0,     0,     0,   243,   248,     0,
2871        0,     0,   249,     0,     0,   224,   225,   226,     5,     0,
2872      227,   228,     8,   229,   230,   231,   232,   233,   234,   235,
2873        0,     0,     0,    95,    96,    97,     0,     0,     0,     0,
2874        0,     0,     0,     0,     0,     0,     0,    24,     0,     0,
2875        0,     0,     0,     0,   545,   104,   546,   547,   548,   549,
2876      550,   551,   552,   553,   554,   555,   556,   557,   558,     0,
2877        0,   559,   202,     0,     0,  1356,     0,     0,     0,   116,
2878      117,   118,   119,   120,   121,     0,     0,     0,     0,     0,
2879      125,   126,   127,   128,   129,   130,   526,     0,   664,   665,
2880      666,   667,   668,   669,   670,   671,   672,   673,   674,   675,
2881      676,     0,     0,   677,     0,     0,     0,  1095,     0,   134,
2882      135,   136,   137,   138,   139,   544,     0,     0,     0,    49,
2883       50,     0,     0,     0,   244,   245,   246,   146,     0,     0,
2884        0,     0,     0,     0,     0,     0,    54,    55,     0,   147,
2885      247,    56,     0,     0,     0,   248,     0,     0,     0,   249,
2886      224,   225,   226,     5,     0,   227,   228,     8,   229,   230,
2887      231,   232,   233,   234,   235,     0,     0,     0,     0,     0,
2888        0,     0,     0,    68,     0,    70,     0,     0,  1302,     0,
2889        0,   526,    24,   527,   528,   529,   530,   531,   532,   533,
2890      534,   535,   536,   537,   538,   539,     0,     0,   540,     0,
2891        0,     0,  1459,     0,     0,     0,   525,     0,     0,   274,
2892        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2893        0,     0,     0,     0,     0,     0,     0,     0,   544,   243,
2894        0,   545,     0,   546,   547,   548,   549,   550,   551,   552,
2895      553,   554,   555,   556,   557,   558,     0,     0,   559,     0,
2896        0,     0,  1460,     0,     0,    95,    96,    97,   525,     0,
2897        0,     0,     0,     0,    49,    50,     0,     0,     0,     0,
2898        0,     0,     0,     0,     0,     0,     0,   104,     0,     0,
2899        0,    54,    55,     0,     0,     0,    56,     0,     0,     0,
2900        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2901        0,   116,   117,   118,   119,   120,   121,     0,     0,     0,
2902        0,     0,   125,   126,   127,   128,   129,   130,    68,     0,
2903       70,  -171,     0,   527,   528,   529,   530,   531,   532,   533,
2904      534,   535,   536,   537,   538,   539,     0,     0,   540,     0,
2905        0,   134,   135,   136,   137,   138,   139,     0,     0,     0,
2906        0,     0,     0,     0,     0,     0,   244,   245,   246,   146,
2907        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2908        0,   147,   247,     0,   243,     0,     0,   248,     0,     0,
2909        0,   249,   224,   225,   226,     5,     0,   227,   228,     8,
2910      229,   230,   231,   232,   233,   234,   235,     0,     0,     0,
2911       95,    96,    97,     0,     0,     0,     0,     0,     0,     0,
2912        0,  1303,     0,     0,    24,     0,     0,     0,     0,     0,
2913        0,     0,   104,     0,     0,     0,     0,     0,     0,     0,
2914        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2915        0,  1453,     0,     0,     0,     0,   116,   117,   118,   119,
2916      120,   121,     0,     0,     0,     0,     0,   125,   126,   127,
2917      128,   129,   130,     0,     0,     0,     0,  -171,     0,   546,
2918      547,   548,   549,   550,   551,   552,   553,   554,   555,   556,
2919      557,   558,     0,     0,   559,     0,   134,   135,   136,   137,
2920      138,   139,     0,     0,     0,     0,    49,    50,     0,     0,
2921        0,   244,   245,   246,   146,     0,     0,     0,     0,     0,
2922        0,     0,     0,    54,    55,     0,   147,   247,    56,     0,
2923        0,     0,   248,     0,     0,     0,   249,   224,   225,   226,
2924        5,     0,   227,   228,     8,   229,   230,   231,   232,   233,
2925      234,   235,     0,     0,     0,     0,     0,     0,     0,     0,
2926       68,     0,    70,     0,     0,     0,     0,     0,   526,    24,
2927      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
2928      537,   538,   539,     0,     0,   540,     0,     0,   191,  1461,
2929      545,     0,   546,   547,   548,   549,   550,   551,   552,   553,
2930      554,   555,   556,   557,   558,     0,     0,   559,     0,     0,
2931        0,  1462,   544,     0,     0,     0,   243,     0,  1454,     0,
2932      526,     0,   527,   528,   529,   530,   531,   532,   533,   534,
2933      535,   536,   537,   538,   539,    17,    18,   540,     0,     0,
2934      544,  1463,    95,    96,    97,   561,     0,     0,     0,     0,
2935      562,    49,    50,     0,     0,     0,     0,     0,     0,     0,
2936        0,     0,     0,     0,   104,     0,     0,     0,    54,    55,
2937        0,     0,     0,    56,     0,     0,     0,     0,     0,     0,
2938        0,     0,     0,     0,     0,     0,     0,     0,   116,   117,
2939      118,   119,   120,   121,     0,     0,     0,     0,     0,   125,
2940      126,   127,   128,   129,   130,    68,     0,    70,     0,     0,
2941        0,     0,     0,     0,     0,     0,   563,     0,     0,     0,
2942        0,     0,     0,     0,     0,     0,     0,     0,   134,   135,
2943      136,   137,   138,   139,     0,     0,     0,     0,     0,   564,
2944        0,     0,     0,   244,   245,   246,   146,     0,     0,     0,
2945        0,     0,     0,     0,     0,     0,     0,     0,   147,   247,
2946      565,   243,     0,     0,   248,     0,     0,     0,   249,   224,
2947      225,   226,     5,     0,   227,   228,     8,   229,   230,   231,
2948      232,   233,   234,   235,     0,     0,     0,    95,    96,    97,
2949        0,     0,     0,     0,   544,     0,     0,     0,     0,     0,
2950        0,    24,     0,     0,     0,     0,   241,     0,     0,   104,
2951        0,   242,     0,     0,     0,     0,     0,     0,     0,     0,
2952        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2953        0,     0,     0,   116,   117,   118,   119,   120,   121,     0,
2954        0,     0,     0,     0,   125,   126,   127,   128,   129,   130,
2955        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2956        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2957        0,     0,     0,   134,   135,   136,   137,   138,   139,     0,
2958        0,   566,     0,    49,    50,     0,     0,     0,   244,   245,
2959      246,   146,     0,     0,     0,     0,     0,     0,     0,     0,
2960       54,    55,   567,   147,   247,    56,     0,     0,     0,   248,
2961        0,     0,     0,   249,   224,   225,   226,     5,     0,   227,
2962      228,     8,   229,   230,   231,   232,   233,   234,   235,     0,
2963        0,   132,     0,     0,     0,     0,     0,    68,     0,    70,
2964        0,     0,     0,     0,     0,     0,    24,     0,     0,     0,
2965        0,     0,     0,     0,     0,     0,     0,     0,     0,   141,
2966        0,     0,     0,     0,   545,   191,   546,   547,   548,   549,
2967      550,   551,   552,   553,   554,   555,   556,   557,   558,     0,
2968        0,   559,     0,     0,     0,  1464,     0,     0,     0,     0,
2969      629,     0,   545,   243,   546,   547,   548,   549,   550,   551,
2970      552,   553,   554,   555,   556,   557,   558,   525,     0,   559,
2971        0,     0,     0,  1484,     0,     0,     0,     0,     0,    95,
2972       96,    97,     0,     0,     0,     0,     0,     0,    49,    50,
2973        0,     0,     0,     0,     0,     0,     0,     0,     0,   525,
2974        0,   104,     0,     0,     0,    54,    55,     0,     0,     0,
2975       56,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2976        0,     0,     0,     0,     0,   116,   117,   118,   119,   120,
2977      121,     0,     0,   450,     0,     0,   125,   126,   127,   128,
2978      129,   130,    68,     0,    70,     0,     0,     0,     0,     0,
2979        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2980        0,     0,     0,     0,     0,   134,   135,   136,   137,   138,
2981      139,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2982      244,   245,   246,   146,     0,     0,     0,     0,     0,     0,
2983      525,     0,     0,     0,     0,   147,   247,     0,   243,     0,
2984        0,   248,     0,     0,     0,   249,   545,     0,   546,   547,
2985      548,   549,   550,   551,   552,   553,   554,   555,   556,   557,
2986      558,     0,     0,   559,    95,    96,    97,  1497,   224,   225,
2987      226,     5,     0,   227,   228,     8,   229,   230,   231,   232,
2988      233,   234,   235,     0,     0,     0,   104,     0,     0,     0,
2989        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2990       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2991      116,   117,   118,   119,   120,   121,     0,     0,     0,     0,
2992        0,   125,   126,   127,   128,   129,   130,     0,     0,     0,
2993        0,     0,   544,     0,     0,     0,     0,     0,     0,     0,
2994        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2995      134,   135,   136,   137,   138,   139,     0,     0,     0,     0,
2996        0,     0,     0,     0,     0,   244,   245,   246,   146,     0,
2997        0,     0,   368,     0,   525,     0,     0,     0,     0,     0,
2998      147,   247,    49,    50,     0,     0,   248,     0,     0,     0,
2999      637,     0,     0,     0,     0,     0,     0,     0,     0,    54,
3000       55,     0,     0,     0,    56,     0,     0,     0,     0,     0,
3001        0,     0,     0,   224,   225,   226,     5,     0,   227,   228,
3002        8,   229,   230,   231,   232,   233,   234,   235,     0,     0,
3003        0,     0,     0,     0,     0,     0,    68,     0,    70,     0,
3004        0,     0,     0,     0,     0,    24,     0,     0,     0,     0,
3005        0,     0,     0,     0,     0,     0,     0,     0,     0,   526,
3006        0,   664,   665,   666,   667,   668,   669,   670,   671,   672,
3007      673,   674,   675,   676,   544,     0,   677,     0,     0,     0,
3008     1459,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3009        0,   526,   243,   664,   665,   666,   667,   668,   669,   670,
3010      671,   672,   673,   674,   675,   676,     0,     0,   677,     0,
3011        0,     0,  1461,     0,     0,     0,   525,     0,    95,    96,
3012       97,     0,     0,     0,     0,     0,     0,    49,    50,     0,
3013        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3014      104,     0,     0,     0,    54,    55,     0,     0,     0,    56,
3015        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3016        0,     0,     0,     0,   116,   117,   118,   119,   120,   121,
3017        0,     0,     0,     0,     0,   125,   126,   127,   128,   129,
3018      130,    68,   526,    70,   527,   528,   529,   530,   531,   532,
3019      533,   534,   535,   536,   537,   538,   539,     0,     0,   540,
3020        0,     0,     0,  1561,   134,   135,   136,   137,   138,   139,
3021        0,     0,     0,     0,     0,     0,     0,     0,     0,   244,
3022      245,   246,   146,     0,     0,     0,     0,     0,     0,     0,
3023        0,     0,     0,     0,   147,   247,     0,   243,     0,     0,
3024      248,     0,     0,     0,   249,   224,   225,   226,     5,     0,
3025      227,   228,     8,   229,   230,   231,   232,   233,   234,   235,
3026        0,     0,     0,    95,    96,    97,     0,     0,     0,     0,
3027        0,     0,     0,     0,     0,     0,     0,    24,     0,     0,
3028        0,     0,     0,     0,   545,   104,   546,   547,   548,   549,
3029      550,   551,   552,   553,   554,   555,   556,   557,   558,  1315,
3030        0,   559,     0,     0,     0,  1562,     0,     0,     0,   116,
3031      117,   118,   119,   120,   121,     0,     0,     0,     0,     0,
3032      125,   126,   127,   128,   129,   130,   526,     0,   527,   528,
3033      529,   530,   531,   532,   533,   534,   535,   536,   537,   538,
3034      539,     0,     0,   540,     0,     0,     0,  1563,     0,   134,
3035      135,   136,   137,   138,   139,     0,     0,     0,     0,    49,
3036       50,     0,     0,     0,   244,   245,   246,   146,     0,     0,
3037        0,     0,     0,     0,     0,     0,    54,    55,     0,   147,
3038      247,    56,     0,     0,     0,   248,     0,     0,     0,   249,
3039      224,   225,   226,     5,     0,   227,   228,     8,   229,   230,
3040      231,   232,   233,   234,   235,     0,     0,     0,     0,     0,
3041        0,     0,     0,    68,     0,    70,     0,     0,     0,     0,
3042        0,     0,    24,     0,     0,     0,   545,     0,   546,   547,
3043      548,   549,   550,   551,   552,   553,   554,   555,   556,   557,
3044      558,     0,     0,   559,     0,     0,   525,  1564,     0,     0,
3045        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3046        0,     0,     0,     0,     0,     0,   525,     0,   526,   243,
3047      664,   665,   666,   667,   668,   669,   670,   671,   672,   673,
3048      674,   675,   676,     0,     0,   677,     0,     0,     0,  1561,
3049        0,     0,     0,   544,     0,    95,    96,    97,     0,     0,
3050        0,     0,     0,     0,    49,    50,     0,     0,     0,     0,
3051        0,     0,     0,     0,     0,     0,     0,   104,     0,     0,
3052        0,    54,    55,     0,     0,     0,    56,     0,     0,     0,
3053        0,  1317,     0,     0,     0,     0,     0,     0,     0,     0,
3054        0,   116,   117,   118,   119,   120,   121,     0,     0,     0,
3055        0,     0,   125,   126,   127,   128,   129,   130,    68,     0,
3056       70,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3057        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3058        0,   134,   135,   136,   137,   138,   139,     0,     0,     0,
3059        0,     0,     0,     0,     0,     0,   244,   245,   246,   146,
3060        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3061        0,   147,   247,     0,   243,     0,     0,   248,     0,     0,
3062        0,   249,   224,   225,   226,     5,     0,   227,   228,     8,
3063      229,   230,   231,   232,   233,   234,   235,     0,     0,     0,
3064       95,    96,    97,     0,     0,     0,     0,   525,     0,     0,
3065        0,     0,     0,     0,    24,     0,     0,     0,     0,     0,
3066        0,     0,   104,     0,     0,     0,     0,     0,     0,   525,
3067        0,     0,     0,     0,     0,     0,  1348,     0,     0,     0,
3068        0,     0,     0,     0,     0,     0,   116,   117,   118,   119,
3069      120,   121,     0,     0,     0,     0,     0,   125,   126,   127,
3070      128,   129,   130,     0,     0,     0,     0,     0,     0,     0,
3071        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3072        0,     0,     0,     0,     0,     0,   134,   135,   136,   137,
3073      138,   139,     0,     0,     0,     0,    49,    50,     0,     0,
3074        0,   244,   245,   246,   146,     0,     0,     0,     0,     0,
3075        0,     0,     0,    54,    55,     0,   147,   247,    56,     0,
3076        0,     0,   248,     0,     0,     0,   249,   224,   225,   226,
3077        5,     0,   227,   228,     8,   229,   230,   231,   232,   233,
3078      234,   235,     0,     0,     0,     0,     0,     0,     0,     0,
3079       68,     0,    70,   544,     0,     0,     0,     0,   526,    24,
3080      664,   665,   666,   667,   668,   669,   670,   671,   672,   673,
3081      674,   675,   676,   525,     0,   677,     0,     0,   526,  1563,
3082      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
3083      537,   538,   539,   525,     0,   540,     0,     0,     0,  1612,
3084        0,     0,     0,     0,     0,   545,   243,   546,   547,   548,
3085      549,   550,   551,   552,   553,   554,   555,   556,   557,   558,
3086      525,     0,   559,     0,     0,     0,  1613,     0,     0,     0,
3087        0,     0,    95,    96,    97,     0,     0,     0,     0,     0,
3088      544,    49,    50,     0,     0,     0,     0,     0,     0,     0,
3089        0,     0,     0,     0,   104,     0,     0,     0,    54,    55,
3090      525,     0,     0,    56,     0,     0,     0,     0,     0,     0,
3091        0,     0,     0,     0,     0,     0,     0,     0,   116,   117,
3092      118,   119,   120,   121,     0,     0,     0,     0,     0,   125,
3093      126,   127,   128,   129,   130,    68,     0,    70,     0,     0,
3094        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3095        0,     0,     0,     0,     0,     0,     0,     0,   134,   135,
3096      136,   137,   138,   139,     0,     0,     0,     0,     0,     0,
3097        0,     0,     0,   244,   245,   246,   146,     0,     0,     0,
3098        0,     0,     0,     0,     0,     0,     0,     0,   147,   247,
3099        0,   243,     0,     0,   248,     0,     0,     0,   249,   526,
3100        0,   664,   665,   666,   667,   668,   669,   670,   671,   672,
3101      673,   674,   675,   676,     0,     0,   677,    95,    96,    97,
3102     1612,   526,     0,   527,   528,   529,   530,   531,   532,   533,
3103      534,   535,   536,   537,   538,   539,     0,     0,   540,   104,
3104        0,     0,  1640,     0,     0,     0,     0,     0,     0,     0,
3105        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3106        0,     0,     0,   116,   117,   118,   119,   120,   121,     0,
3107        0,     0,     0,     0,   125,   126,   127,   128,   129,   130,
3108        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3109        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3110        0,     0,     0,   134,   135,   136,   137,   138,   139,     0,
3111        0,     0,     0,     0,     0,     0,     0,     0,   244,   245,
3112      246,   763,     0,     0,     0,     0,     0,     0,     0,     0,
3113        0,     0,     0,   147,   247,     0,     0,     0,     0,   248,
3114        0,     0,     0,   249,     0,   545,     0,   546,   547,   548,
3115      549,   550,   551,   552,   553,   554,   555,   556,   557,   558,
3116        0,     0,   559,     0,     0,   526,  1641,   664,   665,   666,
3117      667,   668,   669,   670,   671,   672,   673,   674,   675,   676,
3118        0,     0,   677,     0,     0,   526,  1640,   664,   665,   666,
3119      667,   668,   669,   670,   671,   672,   673,   674,   675,   676,
3120        0,     0,   677,     0,     0,     0,  1657,     0,     0,     0,
3121        0,     0,   526,     0,   527,   528,   529,   530,   531,   532,
3122      533,   534,   535,   536,   537,   538,   539,     0,     0,   540,
3123        0,     0,   545,  1658,   546,   547,   548,   549,   550,   551,
3124      552,   553,   554,   555,   556,   557,   558,     0,     0,   559,
3125        0,     0,   526,  1659,   664,   665,   666,   667,   668,   669,
3126      670,   671,   672,   673,   674,   675,   676,     0,   571,   677,
3127        0,     0,     0,  1658,   572,     0,   571,     0,     0,     0,
3128        0,     0,   572,     0,     0,     0,     0,     0,     0,     0,
3129        0,     0,     0,     0,   202,   573,     0,     0,     0,     0,
3130        0,     0,   202,   573,   312,     0,     0,     0,   313,   314,
3131      315,   316,   317,   318,     0,     0,     0,   319,   320,   321,
3132      322,   323,   324,     0,   574,   575,     0,     0,     0,   576,
3133        0,     0,   574,   575,   577,   325,     0,   576,   326,     0,
3134        0,     0,   577,     0,     0,     0,     0,     0,     0,     0,
3135        0,     0,     0,     0,     0,     0,   327,     0,     0,     0,
3136      578,     0,     0,     0,     0,     0,     0,     0,   578,   328,
3137        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3138        0,     0,     0,     0,     0,   579,   580,     0,   581,     0,
3139      238,   239,   582,   579,   580,     0,   581,     0,   238,   239,
3140      582,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3141        0,     0,     0,     0,     0,     0,   329,   330,   331,   332,
3142      333,   334,   335,   336,   337,   338,   339,   241,     0,     0,
3143        0,     0,   242,     0,     0,   241,     0,     0,     0,     0,
3144      242,     0,     0,     0,     0,     0,     0,     0,   583,     0,
3145        0,     0,     0,     0,     0,     0,   583,     0,     0,     0,
3146        0,   340,     0,     0,     0,     0,     0,     0,     0,     0,
3147        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3148        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3149        0,     0,   341,   584,     0,     0,     0,     0,     0,     0,
3150        0,   584,     0,     0,     0,     0,     0,     0,     0,     0,
3151        0,     0,   585,     0,     0,     0,     0,     0,     0,     0,
3152      585,     0,     0,   586,     0,     0,     0,     0,     0,     0,
3153        0,   586,     0,     0,     0,     0,     0,     0,     0,     0,
3154        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3155        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3156        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3157        0,     0,   587,     0,     0,     0,     0,     0,     0,     0,
3158      587,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3159        0,   342,   343,     0,     0,     0,     0,     0,     0,     0,
3160        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3161        0,   588,     0,     0,     0,     0,     0,     0,     0,  1224
3162 };
3163 
3164 static const yytype_int16 yycheck[] =
3165 {
3166        0,   293,   588,   167,    35,    81,    19,    20,   178,    69,
3167       62,   181,    49,   183,   184,    79,   186,   124,    46,   304,
3168       45,    75,    61,   104,   923,    75,   182,    27,    62,    46,
3169       66,    46,    34,    47,   323,   111,    62,    63,    44,    39,
3170       40,   122,   208,    75,   102,    52,    40,   213,    25,   375,
3171       27,   103,   124,   105,   125,    17,    33,   109,   110,    96,
3172      959,    46,    62,    40,    64,   158,   222,   329,    46,   158,
3173       47,    75,   398,   114,   218,    27,    60,    75,    69,   208,
3174      399,    33,   392,   124,   213,    62,   396,    64,    40,    69,
3175      122,    97,   354,   132,   133,    47,    22,    52,    98,   132,
3176      133,   392,    62,   103,   248,   394,   397,   392,    99,   109,
3177       62,    75,    64,    68,   167,   115,    19,    20,   155,   169,
3178      394,   171,   172,   123,   425,   426,   103,   428,   105,   165,
3179      394,   301,   109,   110,   215,   148,   208,   218,   394,   165,
3180     1039,   213,   142,   123,    69,   170,   394,   147,   148,   149,
3181      150,   135,   136,   394,   208,   162,   204,   167,   208,   213,
3182      394,    64,   117,   213,   236,   236,   128,    33,   222,   227,
3183      204,   169,   265,   171,   172,   304,   265,   102,   178,   179,
3184       69,   181,   182,   138,   354,   185,    75,   187,   188,   189,
3185      190,   168,    58,   395,   396,    98,   362,   394,   208,   212,
3186      202,   208,   209,   213,   206,   108,   213,   171,   172,   248,
3187      208,   132,   133,   145,   208,   213,   168,   253,   222,   213,
3188      204,     0,    27,   237,   179,   180,   181,   253,    33,   300,
3189      269,   270,   304,   122,   394,    40,   392,   221,    69,   239,
3190       19,    62,    47,    22,    75,   148,   206,   247,   248,   249,
3191      321,   279,    31,    51,   304,   280,   216,    62,   222,    64,
3192      237,   223,   279,   297,   279,   337,   169,   321,   208,    75,
3193      394,   226,    77,   213,   294,   230,   302,    75,   144,   293,
3194      146,   582,    61,   172,   332,   392,   313,   337,   295,   296,
3195      338,   122,    71,   214,   279,   322,   256,   304,   103,   165,
3196      105,   279,   227,   303,   109,   110,   304,   394,    87,   212,
3197      392,   392,   360,   147,   394,   397,   293,   115,    74,   303,
3198       99,   276,   101,   269,   270,   177,   178,   106,   107,   284,
3199      285,   345,   392,   167,  1233,   399,   320,   219,   246,   337,
3200      304,   172,   224,   122,   394,   124,    75,   279,   269,   270,
3201      395,   396,   366,   373,   206,    75,   356,    22,    69,   359,
3202      373,   392,    67,   168,   394,   231,   232,   387,   345,    99,
3203       75,   371,   542,   171,   172,   394,   376,   377,   310,   282,
3204      102,   397,   337,   394,   273,   206,   289,   253,   129,   366,
3205      117,   394,    22,   245,   301,   216,   392,   394,   204,   399,
3206      127,   397,   594,   399,   596,   597,   406,   394,   394,   396,
3207      208,   332,   412,   394,   366,   213,   222,   122,    59,   394,
3208      420,    62,   596,   597,   222,   394,   172,   183,   394,   429,
3209      430,    18,   432,   394,   604,   455,   163,   394,   394,   360,
3210      394,   441,   273,   309,     0,   311,   399,   132,   133,   399,
3211      450,   377,   378,   379,   380,   381,   382,   383,   384,   385,
3212      386,   387,   388,   463,   393,   391,   171,   172,   399,   225,
3213       72,   641,   394,   643,   394,   645,   394,    75,   392,   479,
3214       22,   301,   394,   394,   204,   394,   208,   487,   488,   489,
3215      490,   213,   386,   387,   388,   329,   330,   391,   498,   499,
3216      500,   501,   222,   394,   394,   227,   304,   234,   394,   288,
3217      586,   511,   512,   513,   394,   394,   394,   222,   394,   571,
3218      354,   355,   356,   357,   358,   359,   526,   527,   528,   529,
3219      530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
3220      540,   392,   594,   392,   596,   545,   546,   547,   548,   549,
3221      550,   551,   552,   553,   554,   555,   556,   557,   558,   559,
3222      560,   366,   576,   577,    71,   206,   271,   581,   392,   171,
3223      172,   585,   213,   171,   172,   216,   301,   273,   273,   358,
3224      397,   360,   361,   583,   269,   270,   264,   587,   293,   273,
3225      115,   386,   387,   388,   571,   595,   391,   301,   301,   576,
3226      577,   273,   377,   603,   581,   384,   208,   273,   585,   391,
3227      208,   213,   167,   394,   121,   213,   593,   594,   391,   596,
3228      597,   391,    22,   402,   576,   132,   133,   627,   399,   581,
3229      304,   140,   367,   585,   386,   387,   388,   637,  1224,   391,
3230      395,   593,   642,   396,   644,   395,   646,   647,   648,   649,
3231      273,   396,   396,   396,   433,    22,   396,   396,   395,   438,
3232      439,   220,   398,   396,   664,   665,   666,   667,   668,   669,
3233      670,   671,   672,   673,   674,   675,   676,   677,   678,   395,
3234      301,   681,   682,   396,   396,   301,   395,   687,   396,   396,
3235      690,   855,   372,   395,   986,   396,   395,   323,   396,   699,
3236      273,   208,   396,   147,   718,   396,   213,   396,   273,   374,
3237      273,   376,   377,   378,   379,   380,   381,   382,   383,   384,
3238      385,   386,   387,   388,   724,   396,   391,   506,   372,   372,
3239      395,   396,   396,   396,   734,   396,   736,   737,   738,   396,
3240      396,   718,   742,    64,   374,   524,   376,   377,   378,   379,
3241      380,   381,   382,   383,   384,   385,   386,   387,   388,   396,
3242       75,   391,   269,   398,    22,   394,   396,   767,   768,   129,
3243      297,   576,   396,   297,   396,   395,   581,   396,   396,   396,
3244      585,   396,   395,   395,   395,   395,   395,   108,   593,   594,
3245      396,   596,   597,   398,   395,   395,    27,    67,   395,    69,
3246      115,   396,   802,   396,   396,    75,   396,   807,   396,    40,
3247      810,   132,   133,   813,    45,   396,    47,   854,   395,   395,
3248      820,   396,   601,   602,   396,   269,   270,   396,   396,   829,
3249      396,    62,   374,    64,   376,   377,   378,   379,   380,   381,
3250      382,   383,   384,   385,   386,   387,   388,   395,   169,   391,
3251      395,   630,   122,    22,   396,   395,   171,   172,   395,   569,
3252      396,   396,   395,    34,   396,   396,  1158,   395,   508,    41,
3253      314,   315,   103,   317,   318,   524,  1025,    -1,   109,   856,
3254       -1,   325,   326,   327,   328,    -1,    22,    -1,   888,    -1,
3255      160,   329,   330,   208,   164,    67,    -1,    -1,   213,    -1,
3256       -1,   680,   172,    75,   856,    -1,    -1,   222,    -1,   946,
3257       -1,    -1,    -1,    -1,    -1,    -1,   354,   355,   356,   357,
3258      358,   359,   922,    -1,   924,    -1,   926,  1097,    -1,    -1,
3259       -1,  1101,    -1,    -1,    -1,    -1,   167,   168,    -1,   170,
3260       -1,    -1,    22,    -1,    -1,   215,   177,    -1,   269,   270,
3261      122,  1003,   124,    -1,    -1,    -1,    -1,    -1,   228,    -1,
3262      960,   192,    -1,    -1,    -1,    -1,   197,    -1,   289,    -1,
3263      749,    -1,    -1,   973,    -1,    -1,   976,   377,   378,   379,
3264      380,   381,   382,   383,   384,   385,   386,   387,   388,    -1,
3265     1004,   391,     5,     6,     7,     8,     9,    10,    11,    12,
3266       13,    14,    15,    16,    -1,  1005,    -1,   374,    -1,   376,
3267      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
3268      387,   388,    -1,   975,   391,    -1,  1026,  1004,    -1,   396,
3269      809,    -1,    -1,    -1,    -1,    -1,   208,   209,    -1,  1039,
3270       22,   213,  1042,    -1,    -1,    -1,    -1,    -1,    -1,  1049,
3271     1050,   856,    -1,    -1,    -1,    -1,  1226,    -1,    -1,    -1,
3272       -1,    -1,    -1,    -1,   236,   237,  1066,    -1,    -1,  1069,
3273     1070,  1071,    -1,    -1,  1074,    -1,    -1,    -1,    -1,    -1,
3274       -1,    -1,    -1,   255,    -1,    -1,    -1,    -1,    -1,  1066,
3275       22,    -1,  1069,    -1,    -1,    -1,    -1,    -1,  1098,  1099,
3276     1100,    -1,  1102,  1103,  1104,  1105,    -1,    -1,    -1,    -1,
3277       -1,    -1,    -1,    -1,  1066,   346,   374,  1069,   376,   377,
3278      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
3279      388,    -1,   304,   391,    -1,   366,    -1,    -1,   396,   370,
3280        0,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    22,    -1,
3281       -1,    -1,    -1,    -1,  1154,  1155,    -1,  1157,    -1,    -1,
3282       -1,    -1,    -1,   394,    -1,    -1,    -1,    -1,    -1,    -1,
3283      975,    -1,    -1,    -1,  1174,    -1,    -1,  1177,    -1,  1179,
3284       -1,  1181,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3285     1190,  1191,    -1,    -1,  1194,    -1,    -1,    -1,    -1,  1199,
3286       -1,    -1,    -1,    -1,  1374,   374,    -1,   376,   377,   378,
3287      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
3288       -1,    -1,   391,    -1,    -1,  1225,    -1,   396,  1228,  1229,
3289       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   374,  1239,
3290      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
3291      386,   387,   388,    -1,    -1,   391,    -1,    -1,    -1,    -1,
3292      396,  1066,    -1,    -1,  1069,    -1,    -1,    -1,    -1,    -1,
3293       -1,  1271,    -1,   504,    -1,    -1,   507,    -1,    -1,   510,
3294     1280,  1281,    -1,    -1,    -1,    -1,    -1,    -1,   148,   149,
3295      150,    -1,  1292,    -1,   374,  1295,   376,   377,   378,   379,
3296      380,   381,   382,   383,   384,   385,   386,   387,   388,    -1,
3297       -1,   391,    -1,    -1,    -1,    -1,   396,    -1,    -1,    -1,
3298       -1,   181,   182,    -1,    -1,   185,  1326,    -1,    -1,    -1,
3299       -1,    -1,   563,   564,   565,   566,  1336,    -1,   569,    -1,
3300      571,   572,    -1,    -1,   575,   576,    -1,   578,    -1,    22,
3301       -1,   582,  1352,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3302       -1,    -1,   593,    -1,    -1,   596,   597,    -1,    -1,    -1,
3303       22,    -1,  1372,  1373,    -1,  1375,  1376,  1377,  1378,  1379,
3304       -1,    -1,    -1,    -1,    -1,  1385,  1165,    -1,    -1,    -1,
3305       -1,  1391,  1392,    -1,    22,   377,   378,   379,   380,   381,
3306      382,   383,   384,   385,   386,   387,   388,  1407,  1408,   391,
3307       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1418,  1419,
3308       22,  1421,    -1,  1423,    -1,    -1,    -1,    -1,  1428,    -1,
3309       -1,  1431,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3310       -1,  1441,    -1,  1222,    -1,  1445,   378,   379,   380,   381,
3311      382,   383,   384,   385,   386,   387,   388,    -1,    22,   391,
3312      691,    -1,    -1,    -1,    -1,  1465,  1466,  1467,  1468,  1469,
3313     1470,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3314       -1,    -1,    -1,    -1,    -1,    22,    -1,   718,    -1,    -1,
3315       -1,    -1,    -1,    -1,  1494,    -1,    -1,    -1,  1498,   359,
3316      374,    -1,   376,   377,   378,   379,   380,   381,   382,   383,
3317      384,   385,   386,   387,   388,    -1,    -1,   391,    -1,    -1,
3318       -1,   752,   396,    -1,    -1,    22,  1526,  1527,  1528,  1529,
3319     1530,  1531,    -1,  1533,    -1,    -1,    -1,    -1,    -1,  1539,
3320       16,    22,    -1,    -1,    -1,    -1,    -1,    -1,  1548,  1549,
3321       -1,    -1,    28,    -1,    30,    -1,    -1,    -1,    -1,    35,
3322       36,    -1,    -1,    39,    -1,  1565,  1566,  1567,  1568,    -1,
3323       -1,    -1,    48,    -1,    -1,    -1,    52,    -1,    -1,    -1,
3324       -1,   441,    -1,  1583,    -1,  1585,    -1,    -1,    -1,    -1,
3325       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1598,  1599,
3326     1600,    -1,    22,    79,    -1,    81,    -1,    -1,    -1,    -1,
3327       -1,    -1,    -1,    -1,  1614,  1615,  1616,    -1,    94,    -1,
3328       -1,    -1,    -1,  1623,   855,   856,    22,    -1,    -1,   105,
3329       -1,  1631,  1632,    -1,   110,    -1,    -1,   113,    -1,  1639,
3330       -1,    -1,  1642,    -1,   296,    -1,    -1,    22,  1648,    -1,
3331       -1,    -1,    -1,    -1,  1654,    -1,    -1,    -1,    -1,    -1,
3332       -1,    -1,  1662,    -1,   524,    -1,  1666,   527,   528,   529,
3333      530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
3334      540,    22,    -1,    -1,    -1,   545,   546,   547,   548,   549,
3335      550,   551,   552,   553,   554,   555,   556,   557,   558,   559,
3336      560,   374,   178,   376,   377,   378,   379,   380,   381,   382,
3337      383,   384,   385,   386,   387,   388,    22,   193,   391,    -1,
3338       -1,    -1,   374,   396,   376,   377,   378,   379,   380,   381,
3339      382,   383,   384,   385,   386,   387,   388,    -1,    -1,   391,
3340       -1,    -1,    -1,   603,   975,    -1,   374,   223,   376,   377,
3341      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
3342      388,    -1,    -1,   391,    -1,    -1,    -1,    -1,   396,    -1,
3343       -1,  1002,   374,    -1,   376,   377,   378,   379,   380,   381,
3344      382,   383,   384,   385,   386,   387,   388,    -1,    -1,   391,
3345       -1,    -1,    -1,    -1,   396,    -1,    -1,   273,    -1,   275,
3346       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   285,
3347      374,    -1,   376,   377,   378,   379,   380,   381,   382,   383,
3348      384,   385,   386,   387,   388,    -1,   302,   391,   304,    74,
3349     1061,    -1,   396,    -1,  1065,  1066,    22,   374,  1069,   376,
3350      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
3351      387,   388,    -1,    -1,   391,  1086,    -1,   102,    -1,   396,
3352       -1,    -1,    -1,   108,    -1,    -1,    -1,    -1,    -1,   114,
3353       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3354      356,   378,   379,   380,   381,   382,   383,   384,   385,   386,
3355      387,   388,   368,   374,   391,   376,   377,   378,   379,   380,
3356      381,   382,   383,   384,   385,   386,   387,   388,    -1,    -1,
3357      391,    -1,    22,    -1,  1145,   396,    -1,    -1,    -1,    -1,
3358       -1,    -1,    -1,    -1,    -1,   401,    -1,    -1,    -1,    -1,
3359       -1,    -1,    -1,    -1,    -1,   180,    -1,    -1,    -1,    -1,
3360       -1,    -1,    -1,   419,    -1,    -1,    -1,    22,   424,   425,
3361      426,   196,   428,   429,   374,    -1,   376,   377,   378,   379,
3362      380,   381,   382,   383,   384,   385,   386,   387,   388,    -1,
3363       -1,   391,    -1,    -1,    -1,    -1,   396,   453,   374,    -1,
3364      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
3365      386,   387,   388,   238,    -1,   391,   472,    -1,    -1,   374,
3366      396,   376,   377,   378,   379,   380,   381,   382,   383,   384,
3367      385,   386,   387,   388,    -1,    -1,   391,    -1,    -1,    -1,
3368       22,   396,  1253,    -1,    75,    -1,    -1,    -1,   273,   274,
3369       -1,    -1,    -1,   374,    -1,   376,   377,   378,   379,   380,
3370      381,   382,   383,   384,   385,   386,   387,   388,    -1,    -1,
3371      391,    -1,    -1,    -1,    -1,   396,    -1,    -1,    -1,    -1,
3372      305,    22,    -1,    -1,    -1,    -1,    -1,    -1,   374,    -1,
3373      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
3374      386,   387,   388,    -1,    -1,   391,    -1,    -1,    22,    -1,
3375      396,    -1,    -1,    -1,  1325,    -1,    -1,   573,    -1,    -1,
3376       -1,    -1,   347,   579,  1335,    -1,    -1,    -1,    -1,    -1,
3377       -1,    -1,    -1,    -1,    -1,  1346,   167,    -1,   594,    -1,
3378      171,   172,    -1,   368,   369,    -1,    -1,   372,    -1,   374,
3379      375,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3380      385,    -1,    -1,    -1,    22,    -1,    -1,    -1,   148,   149,
3381      150,   627,   397,   398,   399,    -1,    -1,   208,    -1,    -1,
3382       -1,   406,   213,    -1,    -1,   410,    -1,    -1,   413,    -1,
3383       -1,   222,    -1,    -1,    -1,    -1,    -1,   228,   423,    -1,
3384       -1,   181,   182,    -1,    -1,   185,    -1,    -1,   374,    -1,
3385      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
3386      386,   387,   388,   254,   449,   391,    -1,    -1,    -1,   454,
3387      396,   456,    -1,    -1,    -1,    -1,   692,    -1,    22,    -1,
3388       -1,    -1,   273,    -1,    -1,    -1,    -1,    -1,   473,    -1,
3389       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1098,  1099,
3390     1100,    -1,    -1,    -1,    -1,    -1,    -1,   492,   493,   494,
3391      495,    -1,  1483,   304,   730,    22,    -1,    -1,    -1,    -1,
3392       -1,    -1,    -1,    -1,   374,  1496,   376,   377,   378,   379,
3393      380,   381,   382,   383,   384,   385,   386,   387,   388,    22,
3394       -1,   391,    -1,    -1,    -1,    -1,   396,    -1,    -1,    -1,
3395       -1,    -1,    -1,    -1,  1154,  1155,   772,  1157,   774,   374,
3396      776,   376,   377,   378,   379,   380,   381,   382,   383,   384,
3397      385,   386,   387,   388,    -1,    -1,   391,  1177,    -1,    -1,
3398       -1,   396,    -1,    -1,    -1,    -1,    -1,    22,    -1,   574,
3399       -1,    -1,   577,    -1,  1194,   580,    -1,    -1,    -1,   584,
3400      585,    -1,    -1,    -1,    -1,    -1,  1577,  1578,    -1,    -1,
3401       -1,   596,   597,    -1,   830,   831,    -1,    -1,  1589,   359,
3402       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1228,  1229,
3403       -1,     0,   374,    -1,   376,   377,   378,   379,   380,   381,
3404      382,   383,   384,   385,   386,   387,   388,    -1,    -1,   391,
3405       19,    -1,   637,    22,   396,    -1,    -1,    -1,    27,    -1,
3406       -1,    -1,    31,    -1,    -1,    -1,    -1,   652,    -1,    -1,
3407       -1,    40,    -1,  1644,    -1,    -1,    45,   378,   379,   380,
3408      381,   382,   383,   384,   385,   386,   387,   388,    -1,  1660,
3409      391,    -1,    61,    -1,  1665,    64,    -1,    -1,    -1,  1670,
3410       -1,   441,    71,   688,   378,   379,   380,   381,   382,   383,
3411      384,   385,   386,   387,   388,    -1,    -1,   391,    87,    -1,
3412       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3413       99,    -1,   101,    -1,   103,    22,    -1,   106,   107,    -1,
3414       -1,   957,    -1,    -1,    -1,    -1,   962,    -1,    -1,    -1,
3415       -1,    -1,    -1,   122,   739,   124,   374,    22,   376,   377,
3416      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
3417      388,    -1,    -1,   391,    -1,    -1,    -1,    -1,   396,    -1,
3418       -1,    -1,    -1,   999,    22,    -1,    -1,   527,   528,   529,
3419      530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
3420      540,    -1,    -1,    -1,    -1,   545,   546,   547,   548,   549,
3421      550,   551,   552,   553,   554,   555,   556,   557,   558,   559,
3422      560,  1037,    22,    -1,  1040,    -1,    -1,    -1,    -1,  1045,
3423      374,    -1,   376,   377,   378,   379,   380,   381,   382,   383,
3424      384,   385,   386,   387,   388,    -1,    -1,   391,    -1,    -1,
3425       -1,    -1,   396,    -1,    -1,    22,    -1,    -1,    -1,    -1,
3426       -1,    -1,    -1,   603,    -1,  1465,  1466,   374,    -1,   376,
3427      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
3428      387,   388,    22,    -1,   391,    -1,    -1,    -1,    -1,   396,
3429       -1,   374,    -1,   376,   377,   378,   379,   380,   381,   382,
3430      383,   384,   385,   386,   387,   388,    -1,    -1,   391,    -1,
3431       -1,    -1,    -1,   396,    -1,    -1,    -1,    -1,    -1,   288,
3432       -1,    22,    -1,    -1,    -1,    -1,    -1,  1143,    -1,    -1,
3433       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   374,
3434      925,   376,   377,   378,   379,   380,   381,   382,   383,   384,
3435      385,   386,   387,   388,    -1,    -1,   391,  1173,    22,    -1,
3436       -1,   396,    -1,    -1,    -1,  1565,    -1,    -1,    -1,    -1,
3437       -1,    -1,    -1,    -1,    -1,    -1,   961,    -1,   963,   964,
3438       -1,    22,    -1,   968,    -1,    -1,    -1,    -1,    -1,   358,
3439       -1,   360,   361,    -1,    -1,    -1,    -1,    -1,    -1,   984,
3440      985,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   993,    -1,
3441       -1,    -1,    -1,    -1,  1614,   384,    -1,    -1,  1003,  1004,
3442       -1,  1006,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3443       -1,    -1,    -1,   402,    -1,    22,    -1,    -1,    -1,    -1,
3444       -1,    -1,  1642,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3445       -1,  1036,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1044,
3446       -1,    -1,  1047,  1048,   433,    -1,    -1,    -1,    -1,   438,
3447      439,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1063,    -1,
3448       -1,  1066,    -1,    -1,  1069,    -1,    -1,    22,    -1,    -1,
3449     1075,   378,   379,   380,   381,   382,   383,   384,   385,   386,
3450      387,   388,    -1,    -1,   391,  1321,  1091,    -1,    -1,   374,
3451       -1,   376,   377,   378,   379,   380,   381,   382,   383,   384,
3452      385,   386,   387,   388,  1109,    -1,   391,    -1,    -1,    -1,
3453       -1,   396,    -1,    -1,    -1,    -1,   374,   506,   376,   377,
3454      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
3455      388,    -1,    -1,   391,    -1,   524,    -1,    -1,   396,    -1,
3456       -1,    -1,    -1,  1148,  1149,    22,    -1,    -1,    -1,    -1,
3457       -1,    -1,    -1,    -1,   374,    -1,   376,   377,   378,   379,
3458      380,   381,   382,   383,   384,   385,   386,   387,   388,    -1,
3459     1406,   391,  1177,  1409,    -1,  1180,   396,    -1,  1183,    -1,
3460       -1,    -1,    22,    -1,    -1,    -1,    -1,   374,  1193,   376,
3461      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
3462      387,   388,    -1,    -1,   391,    22,    -1,    -1,    -1,   396,
3463       -1,    -1,   601,   602,   374,    -1,   376,   377,   378,   379,
3464      380,   381,   382,   383,   384,   385,   386,   387,   388,    -1,
3465       -1,   391,    -1,    -1,    -1,    -1,   396,    -1,    -1,    -1,
3466       -1,   630,  1247,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3467       -1,    -1,    -1,   374,  1490,   376,   377,   378,   379,   380,
3468      381,   382,   383,   384,   385,   386,   387,   388,    -1,    -1,
3469      391,    -1,    -1,    -1,    -1,   396,    -1,    -1,    -1,    -1,
3470       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3471      374,   680,   376,   377,   378,   379,   380,   381,   382,   383,
3472      384,   385,   386,   387,   388,    -1,    -1,   391,    -1,    -1,
3473       -1,  1547,   396,   374,    -1,   376,   377,   378,   379,   380,
3474      381,   382,   383,   384,   385,   386,   387,   388,    -1,    -1,
3475      391,    -1,  1337,    -1,    -1,   396,    -1,    -1,  1098,  1099,
3476     1100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1354,
3477     1355,    -1,    -1,    -1,    -1,   744,    -1,    -1,    -1,    -1,
3478      749,    -1,    -1,    -1,    -1,    -1,  1371,   374,    -1,   376,
3479      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
3480      387,   388,    -1,    -1,   391,    -1,    -1,    -1,  1393,   396,
3481       -1,    -1,    -1,    -1,  1154,  1155,    -1,  1157,    -1,    -1,
3482       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3483       -1,  1647,    -1,    -1,    -1,    -1,    -1,  1177,    -1,   374,
3484      809,   376,   377,   378,   379,   380,   381,   382,   383,   384,
3485      385,   386,   387,   388,  1194,    -1,   391,    -1,    -1,    -1,
3486       -1,   396,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3487       -1,    -1,  1457,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3488       -1,    22,    -1,    -1,    -1,    -1,    -1,    -1,  1228,  1229,
3489       -1,    -1,    -1,    -1,    -1,  1480,    -1,    -1,    -1,    -1,
3490       -1,    -1,    -1,    -1,    -1,    -1,  1491,    -1,  1493,    -1,
3491       -1,    -1,    -1,    -1,    -1,    -1,    -1,   374,  1503,   376,
3492      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
3493      387,   388,    -1,    -1,   391,    -1,    -1,    -1,    -1,   396,
3494     1525,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3495       -1,    -1,    -1,    -1,   374,  1540,   376,   377,   378,   379,
3496      380,   381,   382,   383,   384,   385,   386,   387,   388,    -1,
3497       -1,   391,    -1,    -1,    -1,  1560,   396,   374,    -1,   376,
3498      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
3499      387,   388,    -1,    -1,   391,    -1,    -1,    -1,    -1,   396,
3500       22,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3501       -1,    -1,    -1,    -1,    -1,    -1,     0,     1,  1603,    -1,
3502       -1,    -1,    -1,    -1,    -1,    -1,  1611,    -1,    -1,    -1,
3503       -1,    -1,    -1,    -1,    18,    19,    20,    21,    -1,    23,
3504       24,    25,    26,    27,    28,    29,    30,    31,    32,    -1,
3505       -1,    35,    -1,    37,    38,    -1,    -1,    41,    42,    -1,
3506       -1,    -1,    46,    47,    48,    -1,    50,    51,    -1,    -1,
3507       -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,    -1,
3508       64,    65,    -1,    -1,    -1,    -1,    70,    -1,    -1,    73,
3509       -1,    -1,    -1,    -1,    -1,    -1,    80,    81,    -1,    -1,
3510       -1,    -1,    -1,    -1,    -1,    89,    90,    -1,    -1,    -1,
3511       -1,    -1,    -1,    -1,    98,    99,   100,   101,    -1,    -1,
3512       -1,    -1,    -1,   107,   108,  1465,  1466,   111,    -1,   113,
3513       -1,    -1,   116,    -1,    -1,   119,   120,    -1,    -1,    -1,
3514      124,    -1,   126,    -1,    -1,    -1,    -1,   131,   132,   133,
3515       -1,    -1,    -1,   137,    -1,   139,    -1,    -1,   142,    -1,
3516       -1,    -1,    -1,    -1,    -1,   149,   150,    -1,    -1,    -1,
3517      154,   155,   156,   157,    -1,   159,    -1,   161,    -1,    -1,
3518       -1,    -1,   166,    -1,   168,   169,    -1,    -1,    -1,   173,
3519      174,    -1,    -1,    -1,    -1,    -1,  1165,    -1,    -1,    -1,
3520       -1,   185,   186,   187,   188,    -1,    -1,    -1,    22,    -1,
3521       -1,    -1,    -1,    -1,    -1,    -1,    -1,   201,    -1,   203,
3522       -1,   205,    -1,    -1,    -1,  1565,    -1,    -1,    -1,    -1,
3523       -1,    -1,    -1,   374,   218,   376,   377,   378,   379,   380,
3524      381,   382,   383,   384,   385,   386,   387,   388,    -1,   233,
3525      391,    -1,    -1,  1222,   238,   239,   240,   241,   242,   243,
3526       -1,    -1,   246,   247,   248,   249,    -1,   251,   252,    -1,
3527       -1,    -1,    -1,   257,  1614,   259,   260,   261,   262,   263,
3528      264,    -1,    -1,    -1,   268,   269,   270,    -1,    -1,    -1,
3529       -1,   275,    -1,   277,   278,    -1,    -1,   281,   282,    -1,
3530       -1,    -1,  1642,    -1,    -1,   289,   290,   291,   292,    -1,
3531      294,    -1,    -1,    -1,   298,   299,   300,    -1,    -1,    -1,
3532      304,    -1,   306,   307,   308,    -1,    -1,    -1,    -1,   313,
3533      314,   315,   316,   317,   318,   319,    -1,   321,   322,    -1,
3534      324,   325,   326,   327,   328,   329,   330,    -1,   332,   333,
3535      334,    -1,   374,   375,   376,   377,   378,   379,   380,   381,
3536      382,   383,   384,   385,   386,   387,   388,    -1,    -1,   391,
3537      354,   355,   356,   357,   358,   359,   360,   361,     0,     1,
3538       -1,    -1,    -1,    -1,   368,   369,   370,   371,   372,    -1,
3539       -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    22,
3540      384,   385,    -1,    -1,    -1,    -1,   390,    -1,    -1,   393,
3541      394,    -1,    -1,    35,    -1,    37,    38,    -1,    -1,    41,
3542       42,    -1,    22,    -1,    46,    47,    48,    -1,    -1,    51,
3543       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,
3544       -1,    -1,    64,    65,    -1,    22,    -1,    -1,    70,    -1,
3545       -1,    73,    -1,    -1,    -1,    -1,    -1,    -1,    80,    81,
3546       -1,    -1,    -1,    -1,    -1,    -1,    -1,    89,    90,    -1,
3547       -1,    -1,    -1,    -1,    -1,    -1,    98,    99,   100,   101,
3548       -1,    -1,    -1,    -1,    -1,   107,   108,    -1,    -1,   111,
3549       -1,   113,    -1,    -1,   116,    -1,    -1,   119,   120,    -1,
3550       -1,    -1,   124,    -1,   126,    -1,    -1,    -1,    -1,   131,
3551      132,   133,    -1,    -1,    -1,   137,    -1,   139,    -1,    -1,
3552      142,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3553       -1,    -1,    -1,   155,   156,   157,    -1,   159,    -1,   161,
3554       22,    -1,    -1,    -1,   166,    -1,   168,   169,    -1,    -1,
3555       -1,   173,   174,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3556       -1,    -1,    -1,   185,   378,   379,   380,   381,   382,   383,
3557      384,   385,   386,   387,   388,    -1,    -1,   391,    -1,   201,
3558       -1,   203,    -1,   205,    -1,    -1,    -1,    -1,    -1,    -1,
3559       -1,    -1,    -1,    -1,    -1,    -1,   218,    -1,    -1,    -1,
3560       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3561       -1,   233,    -1,    -1,    -1,    -1,   238,   239,   240,   241,
3562       -1,   243,    -1,    -1,   246,   247,   248,   249,    -1,   251,
3563      252,    -1,    -1,    -1,    -1,    -1,    -1,   259,   260,   261,
3564      262,   263,   264,    -1,    -1,    -1,    -1,   269,   270,    -1,
3565       -1,    -1,    -1,   275,    -1,   277,   278,    -1,    -1,   281,
3566      282,    -1,    -1,    -1,    -1,    -1,    -1,   289,    -1,   291,
3567      292,    -1,   294,    -1,    -1,    -1,   298,   299,   300,    -1,
3568       -1,    -1,   304,    -1,   306,   307,   308,    -1,    -1,    -1,
3569       -1,   313,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   321,
3570      322,    -1,   324,    -1,    -1,    -1,    -1,   329,   330,    -1,
3571      332,   333,   334,    18,    19,    20,    21,    -1,    23,    24,
3572       25,    26,    27,    28,    29,    30,    31,    32,    -1,    -1,
3573       -1,    -1,   354,   355,   356,   357,   358,   359,   360,   361,
3574       -1,    -1,    -1,    -1,    -1,    50,   368,   369,   370,   371,
3575       -1,   374,    -1,   376,   377,   378,   379,   380,   381,   382,
3576      383,   384,   385,   386,   387,   388,    -1,    -1,   391,    -1,
3577       -1,   393,    -1,   396,   374,    -1,   376,   377,   378,   379,
3578      380,   381,   382,   383,   384,   385,   386,   387,   388,    -1,
3579       -1,   391,    -1,    -1,    -1,    -1,   396,   374,    -1,   376,
3580      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
3581      387,   388,    -1,    -1,   391,    -1,    -1,    -1,    -1,   396,
3582       -1,    -1,    -1,    22,    -1,    -1,    -1,   132,   133,    -1,
3583       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3584       -1,    -1,    -1,    -1,   149,   150,    -1,    -1,    -1,   154,
3585       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
3586       20,    21,    -1,    23,    24,    25,    26,    27,    28,    29,
3587       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3588       -1,   186,    -1,   188,    -1,    -1,    -1,    -1,    -1,    -1,
3589       50,    -1,   374,    -1,   376,   377,   378,   379,   380,   381,
3590      382,   383,   384,   385,   386,   387,   388,    -1,    -1,   391,
3591       -1,    -1,    -1,    -1,   396,    -1,    -1,    -1,    78,    -1,
3592       -1,    -1,    82,    83,    84,    85,    86,    87,    -1,    -1,
3593       -1,    91,    92,    93,    94,    95,    96,   242,    -1,    -1,
3594       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
3595       -1,    -1,   112,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3596       -1,    -1,    -1,   268,   269,   270,    -1,    -1,    -1,    -1,
3597      130,    -1,   132,   133,    -1,    -1,    -1,    -1,    -1,    -1,
3598       -1,    -1,    -1,   143,    -1,   290,    -1,    22,    -1,   149,
3599      150,    -1,    -1,    -1,   154,    -1,    -1,    -1,    52,    53,
3600       54,    -1,    56,    -1,    -1,    -1,    -1,    61,    -1,   314,
3601      315,   316,   317,   318,   319,    69,    -1,    -1,    -1,    -1,
3602      325,   326,   327,   328,   329,   330,   186,    -1,   188,    -1,
3603      190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
3604      200,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   354,
3605      355,   356,   357,   358,   359,    -1,    -1,    -1,    -1,    -1,
3606       -1,    -1,    -1,    -1,   369,   370,   371,   372,    -1,    -1,
3607       -1,    -1,    -1,    -1,    -1,   235,    -1,    -1,    -1,   384,
3608      385,    -1,   242,    -1,    -1,   390,    -1,    -1,    -1,   394,
3609       -1,    -1,    -1,   398,    -1,    -1,    -1,    -1,    -1,    -1,
3610       -1,    -1,    -1,    -1,    -1,    -1,   266,    -1,   268,   269,
3611      270,    -1,    -1,    -1,    18,    19,    20,    21,    -1,    23,
3612       24,    25,    26,    27,    28,    29,    30,    31,    32,    -1,
3613      290,    -1,    -1,    -1,    -1,    39,    -1,    41,    -1,    -1,
3614       -1,    -1,    -1,    -1,    -1,    22,    50,    -1,    -1,    -1,
3615       -1,    -1,    -1,   207,   314,   315,   316,   317,   318,   319,
3616       -1,    -1,    -1,    67,    -1,   325,   326,   327,   328,   329,
3617      330,    75,    -1,    -1,    22,   374,   375,   376,   377,   378,
3618      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
3619       -1,    -1,   391,    -1,   354,   355,   356,   357,   358,   359,
3620       -1,    -1,    -1,    -1,    -1,   365,   366,    -1,    -1,   369,
3621      370,   371,   372,    22,    -1,    -1,    -1,    -1,   122,    -1,
3622      124,   125,    -1,    -1,   384,   385,    -1,    -1,   132,   133,
3623      390,    -1,    -1,    -1,   394,    -1,    -1,    -1,    -1,    -1,
3624       -1,    -1,    -1,    -1,    -1,   149,   150,    22,    -1,    -1,
3625      154,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3626      164,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   172,    -1,
3627       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3628       -1,    -1,   186,   337,   188,   339,   340,   341,   342,   343,
3629      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
3630       -1,    -1,    -1,    -1,   208,   209,    -1,    -1,    -1,   213,
3631       -1,   215,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3632       -1,    -1,    -1,    -1,   228,    -1,    -1,    -1,    -1,    -1,
3633       -1,    -1,   236,   237,    -1,    -1,    -1,    -1,   242,   374,
3634       -1,   376,   377,   378,   379,   380,   381,   382,   383,   384,
3635      385,   386,   387,   388,    -1,    -1,   391,    -1,    -1,    -1,
3636       -1,   396,    -1,    -1,   268,   269,   270,    -1,   272,    -1,
3637      274,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3638       -1,    -1,   286,   287,   288,    -1,   290,    -1,    22,    -1,
3639       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3640      304,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3641      314,   315,   316,   317,   318,   319,    -1,    -1,    -1,    -1,
3642       -1,   325,   326,   327,   328,   329,   330,    18,    19,    20,
3643       21,    -1,    23,    24,    25,    26,    27,    28,    29,    30,
3644       31,    32,    -1,    -1,    -1,    36,    -1,    -1,    -1,    -1,
3645      354,   355,   356,   357,   358,   359,    -1,    -1,    -1,    50,
3646       -1,    -1,    -1,    -1,    -1,   369,   370,   371,   372,    -1,
3647       -1,    62,    22,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3648      384,   385,    -1,    -1,    75,    -1,   390,    -1,    -1,    -1,
3649      394,    -1,    -1,    -1,    -1,    -1,    -1,   374,    89,   376,
3650      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
3651      387,   388,    22,    -1,   391,    -1,    -1,    -1,    -1,   396,
3652       -1,    -1,    -1,    -1,    -1,    -1,   374,    -1,   376,   377,
3653      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
3654      388,   132,   133,   391,    -1,    -1,    -1,    -1,   396,    -1,
3655       -1,    -1,    -1,    -1,    -1,    -1,    22,    -1,   149,   150,
3656      151,    -1,    -1,   154,    -1,   374,    -1,   376,   377,   378,
3657      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
3658       -1,   172,   391,    -1,    -1,   176,    -1,   396,    -1,    -1,
3659       -1,    -1,    -1,   184,    -1,   186,    -1,   188,   189,   374,
3660       -1,   376,   377,   378,   379,   380,   381,   382,   383,   384,
3661      385,   386,   387,   388,    -1,    -1,   391,   208,    22,   210,
3662      211,   396,   213,    -1,   215,    -1,   217,    -1,    -1,    -1,
3663       -1,    -1,    -1,    -1,    -1,    -1,    -1,   228,    -1,    -1,
3664       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3665       -1,   242,    -1,    -1,    -1,    18,    19,    20,    21,    -1,
3666       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
3667       -1,    -1,    -1,    -1,    -1,    -1,    -1,   268,   269,   270,
3668       -1,    -1,   273,    -1,    -1,    -1,    -1,    50,   279,    -1,
3669       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   290,
3670       -1,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,
3671       -1,    -1,    75,   304,    -1,    -1,    -1,    -1,    -1,    -1,
3672       -1,    -1,    -1,   314,   315,   316,   317,   318,   319,    -1,
3673       -1,    -1,    -1,    -1,   325,   326,   327,   328,   329,   330,
3674      374,    -1,   376,   377,   378,   379,   380,   381,   382,   383,
3675      384,   385,   386,   387,   388,    22,    -1,   391,    -1,   122,
3676       -1,    -1,   396,   354,   355,   356,   357,   358,   359,   132,
3677      133,    -1,    -1,    -1,    -1,    -1,    22,   140,   369,   370,
3678      371,   372,    -1,    -1,    -1,    -1,   149,   150,    -1,    -1,
3679       -1,   154,    -1,   384,   385,   158,    -1,    -1,    -1,   390,
3680       -1,   164,    -1,   394,   167,    -1,    -1,    -1,   171,   172,
3681       -1,    -1,   175,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3682       -1,    -1,    -1,   186,   374,   188,   376,   377,   378,   379,
3683      380,   381,   382,   383,   384,   385,   386,   387,   388,    -1,
3684       -1,   391,    -1,    -1,    -1,   208,   396,    -1,    -1,    -1,
3685      213,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3686       -1,    -1,    -1,    -1,   374,    -1,   376,   377,   378,   379,
3687      380,   381,   382,   383,   384,   385,   386,   387,   388,   242,
3688       -1,   391,    -1,    -1,    -1,    -1,   396,    -1,    -1,    -1,
3689       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3690       -1,    -1,    -1,    -1,    -1,   268,   269,   270,   374,   375,
3691      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
3692      386,   387,   388,    -1,    -1,   391,   289,   290,    18,    19,
3693       20,    21,    -1,    23,    24,    25,    26,    27,    28,    29,
3694       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,   312,
3695       -1,   314,   315,   316,   317,   318,   319,    -1,    -1,    -1,
3696       50,    51,   325,   326,   327,   328,   329,   330,   331,    -1,
3697      374,    -1,   376,   377,   378,   379,   380,   381,   382,   383,
3698      384,   385,   386,   387,   388,    -1,    -1,   391,    -1,    -1,
3699       -1,   354,   355,   356,   357,   358,   359,    -1,    -1,    -1,
3700       -1,    22,    -1,    -1,    -1,    -1,   369,   370,   371,   372,
3701       -1,    -1,    -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,
3702       -1,   384,   385,    -1,    -1,    -1,    -1,   390,    -1,    -1,
3703       -1,   394,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3704       22,    -1,   132,   133,    -1,    -1,    -1,    -1,    -1,    -1,
3705       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   149,
3706      150,   151,    -1,   153,   154,    -1,    -1,    -1,    -1,    -1,
3707       -1,    -1,    -1,    -1,   164,   165,    -1,    -1,    -1,    -1,
3708       -1,    -1,    -1,    -1,    -1,    22,    -1,    -1,    -1,    -1,
3709       -1,    -1,    -1,    -1,    -1,    -1,   186,    -1,   188,    -1,
3710       -1,    -1,    -1,    -1,    -1,    -1,    -1,   374,    -1,   376,
3711      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
3712      387,   388,    -1,    -1,   391,    -1,    -1,   217,   374,   396,
3713      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
3714      386,   387,   388,    -1,    -1,   391,    -1,    -1,    -1,    -1,
3715      396,    -1,   242,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3716      250,    -1,    -1,   253,    -1,    -1,    -1,    -1,    -1,    -1,
3717       -1,    -1,    -1,    -1,    -1,    -1,    -1,   267,   268,   269,
3718      270,    -1,    -1,   273,    18,    19,    20,    21,    -1,    23,
3719       24,    25,    26,    27,    28,    29,    30,    31,    32,    -1,
3720      290,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3721       -1,    -1,    -1,    -1,    -1,   305,    50,    -1,    -1,    -1,
3722       -1,    -1,    -1,    -1,   314,   315,   316,   317,   318,   319,
3723       -1,    -1,    -1,    67,    -1,   325,   326,   327,   328,   329,
3724      330,    75,    -1,    -1,    -1,    -1,    22,    -1,    -1,    -1,
3725       -1,    -1,    -1,    -1,    88,    -1,    -1,    -1,    -1,    -1,
3726       -1,    -1,    -1,    -1,   354,   355,   356,   357,   358,   359,
3727       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   369,
3728      370,   371,   372,    -1,    -1,    -1,    -1,    -1,   122,    -1,
3729       -1,    -1,    -1,    -1,   384,   385,    -1,    -1,   132,   133,
3730      390,    -1,    -1,    -1,   394,    -1,    -1,    -1,    -1,    -1,
3731       -1,    -1,    -1,    -1,    -1,   149,   150,    -1,    -1,    -1,
3732      154,    -1,    -1,    -1,    -1,    -1,   160,    -1,    -1,    -1,
3733       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   172,    -1,
3734       -1,   175,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3735       -1,    -1,   186,   374,   188,   376,   377,   378,   379,   380,
3736      381,   382,   383,   384,   385,   386,   387,   388,    -1,    -1,
3737      391,    -1,    -1,    -1,   208,    18,    19,    20,    21,   213,
3738       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
3739       -1,    -1,   374,    -1,   376,   377,   378,   379,   380,   381,
3740      382,   383,   384,   385,   386,   387,   388,    50,   242,   391,
3741       -1,    -1,    -1,    -1,   396,    -1,    -1,    -1,    -1,    -1,
3742       22,   255,    -1,    66,    67,    -1,    -1,    -1,    -1,    -1,
3743       -1,    -1,    75,    -1,   268,   269,   270,   374,    -1,   376,
3744      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
3745      387,   388,    -1,    -1,   391,    -1,   290,    -1,    -1,   396,
3746       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3747       -1,    -1,   115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3748      314,   315,   316,   317,   318,   319,    -1,    -1,    -1,   132,
3749      133,   325,   326,   327,   328,   329,   330,    -1,    -1,    -1,
3750       -1,    -1,    -1,    -1,    -1,    -1,   149,   150,    -1,    -1,
3751       -1,   154,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3752      354,   355,   356,   357,   358,   359,    -1,    -1,   171,   172,
3753       -1,    -1,    -1,    -1,    -1,   369,   370,   371,   372,    -1,
3754       -1,    -1,    -1,   186,    -1,   188,    -1,    -1,    -1,    -1,
3755      384,   385,    -1,    -1,    -1,    -1,   390,    -1,    -1,    -1,
3756      394,    -1,    -1,    -1,    18,    19,    20,    21,    -1,    23,
3757       24,    25,    26,    27,    28,    29,    30,    31,    32,   222,
3758       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3759       -1,    -1,    -1,    -1,    -1,    -1,    50,    -1,   374,   242,
3760      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
3761      386,   387,   388,    -1,    -1,   391,    -1,    -1,    -1,    -1,
3762      396,    75,    -1,    -1,    -1,   268,   269,   270,    22,    -1,
3763      273,   274,    -1,    -1,    88,    -1,    -1,    -1,    -1,    -1,
3764       -1,    -1,    -1,    -1,    -1,    -1,    -1,   290,    -1,    -1,
3765       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3766       -1,   115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3767       -1,   314,   315,   316,   317,   318,   319,    22,   132,   133,
3768       -1,    -1,   325,   326,   327,   328,   329,   330,    -1,    -1,
3769       -1,    -1,    -1,    -1,    -1,   149,   150,    -1,    -1,    -1,
3770      154,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3771       -1,   354,   355,   356,   357,   358,   359,   171,   172,    -1,
3772       -1,   175,    -1,    -1,    -1,    -1,   369,   370,   371,   372,
3773       -1,    -1,   186,    -1,   188,    -1,    -1,    -1,    -1,    -1,
3774       -1,   384,   385,    -1,    -1,    -1,    -1,   390,    -1,    -1,
3775       -1,   394,    -1,    -1,   208,    18,    19,    20,    21,   213,
3776       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
3777       -1,    -1,   374,    -1,   376,   377,   378,   379,   380,   381,
3778      382,   383,   384,   385,   386,   387,   388,    50,   242,   391,
3779       -1,    -1,    -1,    -1,   396,    -1,    -1,    -1,    -1,    -1,
3780       -1,    -1,    22,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3781       -1,    -1,    75,    -1,   268,   269,   270,    -1,    -1,    -1,
3782       -1,    -1,    -1,    -1,    -1,    88,    -1,    -1,    -1,    -1,
3783       -1,    -1,    -1,    -1,    -1,    -1,   290,    -1,    -1,    -1,
3784       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3785       -1,    -1,   115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3786      314,   315,   316,   317,   318,   319,    -1,    22,    -1,   132,
3787      133,   325,   326,   327,   328,   329,   330,    -1,    -1,    -1,
3788       -1,    -1,    -1,    -1,    -1,    -1,   149,   150,    -1,    -1,
3789       -1,   154,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3790      354,   355,   356,   357,   358,   359,    -1,    -1,   171,   172,
3791       -1,    -1,   175,    -1,    -1,   369,   370,   371,   372,    -1,
3792       -1,    -1,    -1,   186,    -1,   188,    -1,    -1,    -1,    -1,
3793      384,   385,    -1,    -1,    -1,    -1,   390,    -1,    -1,    -1,
3794      394,    -1,    -1,    -1,    -1,   208,    18,    19,    20,    21,
3795      213,    23,    24,    25,    26,    27,    28,    29,    30,    31,
3796       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3797       -1,    43,    -1,    -1,    -1,    -1,    -1,    -1,    50,   242,
3798      374,    22,   376,   377,   378,   379,   380,   381,   382,   383,
3799      384,   385,   386,   387,   388,    -1,    -1,   391,    -1,    -1,
3800       -1,    -1,   396,    75,    -1,   268,   269,   270,    -1,    -1,
3801       -1,    -1,    -1,    -1,    -1,    -1,    88,    -1,    -1,    -1,
3802       -1,    -1,    -1,    -1,    -1,    -1,    -1,   290,    -1,   374,
3803       -1,   376,   377,   378,   379,   380,   381,   382,   383,   384,
3804      385,   386,   387,   388,    -1,    -1,   391,    -1,    -1,    -1,
3805      395,   314,   315,   316,   317,   318,   319,    -1,    -1,    22,
3806      132,   133,   325,   326,   327,   328,   329,   330,    -1,    -1,
3807       -1,    -1,    -1,    -1,    -1,    -1,    -1,   149,   150,    -1,
3808       -1,    -1,   154,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3809       -1,   354,   355,   356,   357,   358,   359,    -1,    22,   171,
3810      172,    -1,    -1,   175,    -1,    -1,   369,   370,   371,   372,
3811       -1,    -1,    -1,    -1,   186,    -1,   188,    -1,    -1,    -1,
3812       -1,   384,   385,    -1,    -1,    -1,    -1,   390,    -1,    -1,
3813       -1,   394,    -1,    -1,    -1,    -1,   208,    18,    19,    20,
3814       21,   213,    23,    24,    25,    26,    27,    28,    29,    30,
3815       31,    32,    -1,    -1,   374,    -1,   376,   377,   378,   379,
3816      380,   381,   382,   383,   384,   385,   386,   387,   388,    50,
3817      242,   391,    -1,    -1,    -1,    -1,   396,    -1,    -1,    -1,
3818       -1,    -1,    -1,    -1,    -1,    -1,    67,    22,    -1,    -1,
3819       -1,    -1,    -1,    -1,    75,    -1,   268,   269,   270,    -1,
3820       -1,    -1,    -1,    -1,    -1,    -1,    -1,    88,    -1,    -1,
3821       -1,    -1,    22,    -1,    -1,    -1,    -1,    -1,   290,   374,
3822       -1,   376,   377,   378,   379,   380,   381,   382,   383,   384,
3823      385,   386,   387,   388,    -1,    -1,   391,    -1,    -1,    -1,
3824      395,   122,   314,   315,   316,   317,   318,   319,    -1,    -1,
3825       -1,   132,   133,   325,   326,   327,   328,   329,   330,    -1,
3826       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   149,   150,
3827       -1,    -1,    -1,   154,    -1,    -1,    -1,    -1,    -1,    -1,
3828       -1,    -1,   354,   355,   356,   357,   358,   359,    -1,    -1,
3829       -1,   172,    -1,    -1,    -1,    -1,    -1,   369,   370,   371,
3830      372,    -1,    -1,    -1,    -1,   186,    -1,   188,    -1,    -1,
3831       -1,    -1,   384,   385,    -1,    -1,    -1,    -1,   390,    -1,
3832       -1,    -1,   394,    -1,    -1,    -1,    -1,   208,    -1,    -1,
3833       -1,    22,   213,   374,    -1,   376,   377,   378,   379,   380,
3834      381,   382,   383,   384,   385,   386,   387,   388,    -1,    -1,
3835      391,    -1,    -1,    -1,    -1,   396,    -1,    -1,    -1,    -1,
3836       -1,   242,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3837       18,    19,    20,    21,   255,    23,    24,    25,    26,    27,
3838       28,    29,    30,    31,    32,    -1,    -1,   268,   269,   270,
3839       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3840       -1,    -1,    50,    -1,    -1,    -1,    -1,    -1,    -1,   290,
3841       -1,   374,    -1,   376,   377,   378,   379,   380,   381,   382,
3842      383,   384,   385,   386,   387,   388,    -1,    75,   391,    -1,
3843       -1,    -1,   395,   314,   315,   316,   317,   318,   319,    -1,
3844       -1,    -1,    -1,    -1,   325,   326,   327,   328,   329,   330,
3845      374,    -1,   376,   377,   378,   379,   380,   381,   382,   383,
3846      384,   385,   386,   387,   388,    -1,    -1,   391,    -1,    -1,
3847       -1,    22,   396,   354,   355,   356,   357,   358,   359,    -1,
3848       -1,    -1,    -1,    -1,   132,   133,   134,    -1,   369,   370,
3849      371,   372,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3850       22,   149,   150,   384,   385,    -1,   154,    -1,    -1,   390,
3851       -1,    -1,    -1,   394,    -1,    -1,    -1,    -1,    -1,    -1,
3852       -1,    -1,    -1,   171,   172,    -1,    -1,    -1,    -1,    -1,
3853       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   186,   374,
3854      188,   376,   377,   378,   379,   380,   381,   382,   383,   384,
3855      385,   386,   387,   388,    -1,    -1,   391,    -1,    -1,    -1,
3856      208,   396,    -1,    -1,   374,   213,   376,   377,   378,   379,
3857      380,   381,   382,   383,   384,   385,   386,   387,   388,    -1,
3858       -1,   391,    -1,    -1,    -1,    -1,   396,    -1,    -1,    -1,
3859       -1,    -1,    -1,    -1,   242,    -1,    -1,    -1,    18,    19,
3860       20,    21,    -1,    23,    24,    25,    26,    27,    28,    29,
3861       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3862      268,   269,   270,    22,    -1,   273,    -1,    -1,    -1,    -1,
3863       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3864       -1,    -1,   290,    -1,    37,    38,    22,    -1,    -1,   297,
3865       -1,    -1,    -1,    -1,    47,    75,    -1,    -1,    -1,    52,
3866       -1,    -1,    -1,    -1,    -1,    -1,   314,   315,   316,   317,
3867      318,   319,    -1,    -1,    -1,    -1,    -1,   325,   326,   327,
3868      328,   329,   330,   374,    -1,   376,   377,   378,   379,   380,
3869      381,   382,   383,   384,   385,   386,   387,   388,    -1,    -1,
3870      391,    -1,    -1,    -1,    -1,   396,   354,   355,   356,   357,
3871      358,   359,   132,   133,   134,    -1,    -1,    -1,    -1,    -1,
3872       -1,   369,   370,   371,   372,   118,    -1,    -1,    -1,   149,
3873      150,    -1,    -1,    -1,   154,    -1,   384,   385,    -1,    -1,
3874       -1,    -1,   390,    -1,    -1,    -1,   394,    -1,   141,    -1,
3875       -1,   171,   172,    -1,    -1,    -1,    -1,    52,    53,    54,
3876       -1,    -1,    -1,    -1,    -1,    -1,   186,    -1,   188,   162,
3877       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3878       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   208,    18,
3879       19,    20,    21,   213,    23,    24,    25,    26,    27,    28,
3880       29,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
3881       -1,    -1,    22,    -1,    -1,   208,    -1,    -1,    -1,    -1,
3882      213,    50,   242,   374,    -1,   376,   377,   378,   379,   380,
3883      381,   382,   383,   384,   385,   386,   387,   388,    -1,    -1,
3884      391,    -1,    -1,    -1,    -1,   396,    75,    -1,   268,   269,
3885      270,    -1,   374,   273,   376,   377,   378,   379,   380,   381,
3886      382,   383,   384,   385,   386,   387,   388,    -1,    -1,   391,
3887      290,    -1,    -1,    -1,   396,    -1,    -1,    -1,    -1,    -1,
3888       -1,    -1,    -1,    -1,    -1,    -1,    22,    -1,    -1,    -1,
3889      283,    -1,    -1,    -1,   314,   315,   316,   317,   318,   319,
3890       -1,    -1,    -1,   132,   133,   325,   326,   327,   328,   329,
3891      330,   304,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3892      149,   150,    -1,    22,    -1,   154,    -1,    -1,    -1,    -1,
3893       -1,    -1,    -1,    -1,   354,   355,   356,   357,   358,   359,
3894      333,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   369,
3895      370,   371,   372,    -1,    -1,    -1,    -1,   186,    -1,   188,
3896       -1,    -1,    -1,    -1,   384,   385,    -1,    -1,   361,    -1,
3897      390,    -1,    -1,    -1,   394,   374,    -1,   376,   377,   378,
3898      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
3899       -1,    -1,   391,   222,    -1,    -1,    -1,   396,   374,   392,
3900      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
3901      386,   387,   388,   242,    -1,   391,    -1,    -1,    -1,    -1,
3902      396,    -1,    22,    -1,    -1,    -1,    -1,    -1,    -1,   258,
3903       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   268,
3904      269,   270,   337,    -1,   339,   340,   341,   342,   343,   344,
3905      345,   346,   347,   348,   349,   350,   351,   352,   353,    -1,
3906       -1,   290,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3907       -1,    -1,    -1,    -1,    -1,   304,    -1,    -1,    -1,    -1,
3908       -1,    -1,    -1,    -1,    -1,   314,   315,   316,   317,   318,
3909      319,    -1,   321,    -1,    -1,    -1,   325,   326,   327,   328,
3910      329,   330,    -1,    18,    19,    20,    21,    -1,    23,    24,
3911       25,    26,    27,    28,    29,    30,    31,    32,    -1,    -1,
3912       -1,    -1,    -1,    -1,    -1,   354,   355,   356,   357,   358,
3913      359,    46,    -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,
3914      369,   370,   371,   372,    -1,    -1,    -1,    62,    -1,    -1,
3915       -1,    -1,    -1,    -1,    -1,   384,   385,    -1,    -1,    -1,
3916       -1,   390,    -1,    -1,   374,   394,   376,   377,   378,   379,
3917      380,   381,   382,   383,   384,   385,   386,   387,   388,    -1,
3918       -1,   391,    -1,    -1,    -1,    -1,   396,    -1,    -1,    -1,
3919       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
3920       19,    20,    21,    -1,    23,    24,    25,    26,    27,    28,
3921       29,    30,    31,    32,    -1,    -1,    -1,   132,   133,    -1,
3922       -1,    -1,    22,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3923       -1,    50,    -1,    -1,   149,   150,    -1,    -1,   374,   154,
3924      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
3925      386,   387,   388,    -1,    -1,   391,    -1,    -1,    -1,    -1,
3926      396,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3927       -1,   186,    -1,   188,    -1,   374,    -1,   376,   377,   378,
3928      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
3929       -1,   206,   391,    -1,    -1,    -1,    -1,   396,    -1,    -1,
3930       -1,   216,    -1,    -1,    22,    -1,    -1,    -1,    -1,    -1,
3931       -1,    -1,    -1,   132,   133,    -1,    -1,    -1,    -1,    -1,
3932       -1,    -1,    -1,    -1,    -1,    22,    -1,   242,    -1,    -1,
3933      149,   150,    -1,    -1,    -1,   154,    -1,    -1,    -1,    -1,
3934       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3935       -1,    22,    -1,   268,   269,   270,    -1,    -1,    -1,    -1,
3936       -1,    -1,    -1,    -1,   279,    -1,    -1,   186,    -1,   188,
3937       -1,    -1,    -1,    -1,   374,   290,   376,   377,   378,   379,
3938      380,   381,   382,   383,   384,   385,   386,   387,   388,    -1,
3939       -1,   391,    -1,    -1,    -1,    -1,   396,    -1,    -1,   314,
3940      315,   316,   317,   318,   319,    -1,    -1,    -1,    -1,    -1,
3941      325,   326,   327,   328,   329,   330,    -1,    -1,    -1,    -1,
3942       -1,    -1,    -1,   242,    -1,    -1,    -1,    -1,    -1,    -1,
3943       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   354,
3944      355,   356,   357,   358,   359,    -1,    -1,    -1,    -1,   268,
3945      269,   270,    -1,    -1,   369,   370,   371,   372,    -1,    -1,
3946       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   384,
3947      385,   290,    -1,    -1,    -1,   390,    -1,    -1,    -1,   394,
3948       18,    19,    20,    21,    -1,    23,    24,    25,    26,    27,
3949       28,    29,    30,    31,    32,   314,   315,   316,   317,   318,
3950      319,    -1,    -1,    -1,    -1,    -1,   325,   326,   327,   328,
3951      329,   330,    50,    -1,    -1,    -1,   335,   336,    -1,    -1,
3952       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3953       -1,    -1,    -1,    -1,    -1,   354,   355,   356,   357,   358,
3954      359,    -1,    -1,    -1,   363,   364,    -1,    -1,    -1,    -1,
3955      369,   370,   371,   372,    -1,    -1,    -1,    -1,    -1,    -1,
3956       -1,    -1,    -1,    -1,    -1,   384,   385,    -1,    -1,    -1,
3957       -1,   390,    -1,    -1,   374,   394,   376,   377,   378,   379,
3958      380,   381,   382,   383,   384,   385,   386,   387,   388,    22,
3959       -1,   391,    -1,    -1,   132,   133,   396,    -1,    -1,    -1,
3960       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3961       -1,   149,   150,    -1,    -1,    -1,   154,    -1,    -1,    -1,
3962       -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    -1,
3963       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
3964       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   186,    -1,
3965      188,    -1,    -1,    -1,    -1,    -1,   374,    50,   376,   377,
3966      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
3967      388,    -1,    -1,   391,    -1,    -1,    -1,   374,   396,   376,
3968      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
3969      387,   388,    22,    -1,   391,    -1,    -1,    -1,    -1,   396,
3970       -1,    -1,    -1,   374,   242,   376,   377,   378,   379,   380,
3971      381,   382,   383,   384,   385,   386,   387,   388,    -1,    -1,
3972      391,    -1,    -1,    -1,   395,    -1,    -1,    -1,    -1,    -1,
3973      268,   269,   270,    -1,    -1,    -1,    -1,    -1,    -1,   132,
3974      133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3975       -1,    -1,   290,    -1,    -1,    -1,   149,   150,    -1,    -1,
3976       -1,   154,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3977       -1,   164,    -1,    -1,   167,    -1,   314,   315,   316,   317,
3978      318,   319,    -1,    -1,    -1,    -1,    -1,   325,   326,   327,
3979      328,   329,   330,   186,    -1,   188,    -1,   335,   336,    -1,
3980       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3981       -1,    -1,    -1,    -1,    -1,    -1,   354,   355,   356,   357,
3982      358,   359,    22,    -1,    -1,   363,   364,    -1,    -1,    -1,
3983       -1,   369,   370,   371,   372,    -1,    -1,    -1,    -1,    -1,
3984       -1,    -1,    -1,    -1,    -1,    -1,   384,   385,    -1,   242,
3985       -1,    -1,   390,    -1,    -1,    -1,   394,    18,    19,    20,
3986       21,    -1,    23,    24,    25,    26,    27,    28,    29,    30,
3987       31,    32,    -1,    -1,    -1,   268,   269,   270,    -1,    -1,
3988      273,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    50,
3989       -1,    -1,    -1,    -1,    -1,    -1,    -1,   290,    -1,    -1,
3990       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3991       -1,   304,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3992       -1,   314,   315,   316,   317,   318,   319,    -1,    -1,    -1,
3993       -1,    -1,   325,   326,   327,   328,   329,   330,    -1,    -1,
3994       -1,   374,    -1,   376,   377,   378,   379,   380,   381,   382,
3995      383,   384,   385,   386,   387,   388,    -1,    -1,   391,    -1,
3996       -1,   354,   355,   356,   357,   358,   359,    -1,    -1,    -1,
3997       -1,   132,   133,    -1,    -1,    -1,   369,   370,   371,   372,
3998       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   149,   150,
3999       -1,   384,   385,   154,    -1,    -1,    -1,   390,    -1,    -1,
4000       -1,   394,    18,    19,    20,    21,    -1,    23,    24,    25,
4001       26,    27,    28,    29,    30,    31,    32,    -1,    -1,    -1,
4002       -1,    -1,    -1,    -1,    -1,   186,   187,   188,    -1,    -1,
4003       -1,    -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,    -1,
4004       -1,    -1,    -1,    -1,   374,    -1,   376,   377,   378,   379,
4005      380,   381,   382,   383,   384,   385,   386,   387,   388,    -1,
4006       -1,   391,    -1,    -1,    -1,   395,    -1,    -1,    -1,    -1,
4007       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4008       -1,   242,    -1,    -1,    -1,    -1,    -1,   248,    -1,    22,
4009       -1,    -1,    -1,    -1,    -1,    -1,   257,    -1,    -1,    -1,
4010       -1,    -1,    -1,    -1,    -1,    -1,    -1,   268,   269,   270,
4011       -1,    -1,    22,    -1,    -1,    -1,   132,   133,    -1,    -1,
4012       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   290,
4013       -1,    -1,    22,   149,   150,    -1,    -1,    -1,   154,    -1,
4014       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4015       -1,    -1,    -1,   314,   315,   316,   317,   318,   319,    -1,
4016       -1,    -1,    -1,    -1,   325,   326,   327,   328,   329,   330,
4017      186,   187,   188,    -1,   374,    -1,   376,   377,   378,   379,
4018      380,   381,   382,   383,   384,   385,   386,   387,   388,    -1,
4019       -1,   391,    -1,   354,   355,   356,   357,   358,   359,    -1,
4020       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   369,   370,
4021      371,   372,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4022       22,    -1,    -1,   384,   385,    -1,   242,    -1,    -1,   390,
4023       -1,    -1,   248,   394,    -1,    -1,    -1,    -1,    -1,    -1,
4024       -1,   257,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4025       -1,    -1,   268,   269,   270,    -1,    18,    19,    20,    21,
4026       -1,    23,    24,    25,    26,    27,    28,    29,    30,    31,
4027       32,    -1,    -1,    -1,   290,    -1,    -1,    -1,    -1,    -1,
4028       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    50,    -1,
4029       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   314,   315,
4030      316,   317,   318,   319,    -1,    -1,    -1,    69,    -1,   325,
4031      326,   327,   328,   329,   330,    -1,    -1,    -1,    -1,    -1,
4032       -1,    -1,    22,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4033       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   354,   355,
4034      356,   357,   358,   359,    -1,    -1,    -1,    -1,    -1,    -1,
4035       -1,    -1,    -1,   369,   370,   371,   372,    -1,    -1,    -1,
4036       -1,    -1,    -1,    -1,    22,    -1,    -1,    -1,   384,   385,
4037      132,   133,    -1,    -1,   390,    -1,    -1,    -1,   394,    -1,
4038       -1,    -1,    -1,    -1,    -1,    -1,    -1,   149,   150,    -1,
4039       -1,    -1,   154,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4040       -1,    -1,    -1,    18,    19,    20,    21,    -1,    23,    24,
4041       25,    26,    27,    28,    29,    30,    31,    32,    -1,    -1,
4042       -1,    -1,    -1,    -1,   186,    -1,   188,    -1,    -1,    -1,
4043       -1,    -1,    -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,
4044       -1,   374,    57,   376,   377,   378,   379,   380,   381,   382,
4045      383,   384,   385,   386,   387,   388,    -1,    -1,   391,    22,
4046       -1,    -1,   395,    -1,   374,    -1,   376,   377,   378,   379,
4047      380,   381,   382,   383,   384,   385,   386,   387,   388,    -1,
4048      242,   391,    -1,    -1,   374,   395,   376,   377,   378,   379,
4049      380,   381,   382,   383,   384,   385,   386,   387,   388,    -1,
4050       -1,   391,    -1,    -1,    -1,   395,   268,   269,   270,    22,
4051       -1,    -1,    -1,    -1,    -1,    -1,   278,   132,   133,    -1,
4052       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   290,    -1,
4053       -1,    -1,    -1,    -1,   149,   150,    -1,   152,    -1,   154,
4054       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4055       -1,    -1,   314,   315,   316,   317,   318,   319,    -1,    -1,
4056       -1,    -1,    -1,   325,   326,   327,   328,   329,   330,    -1,
4057       -1,   186,   374,   188,   376,   377,   378,   379,   380,   381,
4058      382,   383,   384,   385,   386,   387,   388,    -1,    -1,   391,
4059       -1,    -1,   354,   355,   356,   357,   358,   359,    -1,    22,
4060       -1,    -1,    -1,    -1,    -1,    -1,    -1,   369,   370,   371,
4061      372,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4062       -1,    -1,   384,   385,    -1,    -1,    -1,   242,   390,    -1,
4063       -1,    -1,   394,    -1,    -1,    18,    19,    20,    21,    -1,
4064       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
4065       -1,    -1,    -1,   268,   269,   270,    -1,    -1,    -1,    -1,
4066       -1,    -1,    -1,    -1,    -1,    -1,    -1,    50,    -1,    -1,
4067       -1,    -1,    -1,    -1,   374,   290,   376,   377,   378,   379,
4068      380,   381,   382,   383,   384,   385,   386,   387,   388,    -1,
4069       -1,   391,    75,    -1,    -1,   395,    -1,    -1,    -1,   314,
4070      315,   316,   317,   318,   319,    -1,    -1,    -1,    -1,    -1,
4071      325,   326,   327,   328,   329,   330,   374,    -1,   376,   377,
4072      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
4073      388,    -1,    -1,   391,    -1,    -1,    -1,   395,    -1,   354,
4074      355,   356,   357,   358,   359,    22,    -1,    -1,    -1,   132,
4075      133,    -1,    -1,    -1,   369,   370,   371,   372,    -1,    -1,
4076       -1,    -1,    -1,    -1,    -1,    -1,   149,   150,    -1,   384,
4077      385,   154,    -1,    -1,    -1,   390,    -1,    -1,    -1,   394,
4078       18,    19,    20,    21,    -1,    23,    24,    25,    26,    27,
4079       28,    29,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
4080       -1,    -1,    -1,   186,    -1,   188,    -1,    -1,    46,    -1,
4081       -1,   374,    50,   376,   377,   378,   379,   380,   381,   382,
4082      383,   384,   385,   386,   387,   388,    -1,    -1,   391,    -1,
4083       -1,    -1,   395,    -1,    -1,    -1,    22,    -1,    -1,   222,
4084       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4085       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    22,   242,
4086       -1,   374,    -1,   376,   377,   378,   379,   380,   381,   382,
4087      383,   384,   385,   386,   387,   388,    -1,    -1,   391,    -1,
4088       -1,    -1,   395,    -1,    -1,   268,   269,   270,    22,    -1,
4089       -1,    -1,    -1,    -1,   132,   133,    -1,    -1,    -1,    -1,
4090       -1,    -1,    -1,    -1,    -1,    -1,    -1,   290,    -1,    -1,
4091       -1,   149,   150,    -1,    -1,    -1,   154,    -1,    -1,    -1,
4092       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4093       -1,   314,   315,   316,   317,   318,   319,    -1,    -1,    -1,
4094       -1,    -1,   325,   326,   327,   328,   329,   330,   186,    -1,
4095      188,   374,    -1,   376,   377,   378,   379,   380,   381,   382,
4096      383,   384,   385,   386,   387,   388,    -1,    -1,   391,    -1,
4097       -1,   354,   355,   356,   357,   358,   359,    -1,    -1,    -1,
4098       -1,    -1,    -1,    -1,    -1,    -1,   369,   370,   371,   372,
4099       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4100       -1,   384,   385,    -1,   242,    -1,    -1,   390,    -1,    -1,
4101       -1,   394,    18,    19,    20,    21,    -1,    23,    24,    25,
4102       26,    27,    28,    29,    30,    31,    32,    -1,    -1,    -1,
4103      268,   269,   270,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4104       -1,   279,    -1,    -1,    50,    -1,    -1,    -1,    -1,    -1,
4105       -1,    -1,   290,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4106       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4107       -1,    77,    -1,    -1,    -1,    -1,   314,   315,   316,   317,
4108      318,   319,    -1,    -1,    -1,    -1,    -1,   325,   326,   327,
4109      328,   329,   330,    -1,    -1,    -1,    -1,   374,    -1,   376,
4110      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
4111      387,   388,    -1,    -1,   391,    -1,   354,   355,   356,   357,
4112      358,   359,    -1,    -1,    -1,    -1,   132,   133,    -1,    -1,
4113       -1,   369,   370,   371,   372,    -1,    -1,    -1,    -1,    -1,
4114       -1,    -1,    -1,   149,   150,    -1,   384,   385,   154,    -1,
4115       -1,    -1,   390,    -1,    -1,    -1,   394,    18,    19,    20,
4116       21,    -1,    23,    24,    25,    26,    27,    28,    29,    30,
4117       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4118      186,    -1,   188,    -1,    -1,    -1,    -1,    -1,   374,    50,
4119      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
4120      386,   387,   388,    -1,    -1,   391,    -1,    -1,    69,   395,
4121      374,    -1,   376,   377,   378,   379,   380,   381,   382,   383,
4122      384,   385,   386,   387,   388,    -1,    -1,   391,    -1,    -1,
4123       -1,   395,    22,    -1,    -1,    -1,   242,    -1,   244,    -1,
4124      374,    -1,   376,   377,   378,   379,   380,   381,   382,   383,
4125      384,   385,   386,   387,   388,    37,    38,   391,    -1,    -1,
4126       22,   395,   268,   269,   270,    47,    -1,    -1,    -1,    -1,
4127       52,   132,   133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4128       -1,    -1,    -1,    -1,   290,    -1,    -1,    -1,   149,   150,
4129       -1,    -1,    -1,   154,    -1,    -1,    -1,    -1,    -1,    -1,
4130       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   314,   315,
4131      316,   317,   318,   319,    -1,    -1,    -1,    -1,    -1,   325,
4132      326,   327,   328,   329,   330,   186,    -1,   188,    -1,    -1,
4133       -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,    -1,
4134       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   354,   355,
4135      356,   357,   358,   359,    -1,    -1,    -1,    -1,    -1,   141,
4136       -1,    -1,    -1,   369,   370,   371,   372,    -1,    -1,    -1,
4137       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   384,   385,
4138      162,   242,    -1,    -1,   390,    -1,    -1,    -1,   394,    18,
4139       19,    20,    21,    -1,    23,    24,    25,    26,    27,    28,
4140       29,    30,    31,    32,    -1,    -1,    -1,   268,   269,   270,
4141       -1,    -1,    -1,    -1,    22,    -1,    -1,    -1,    -1,    -1,
4142       -1,    50,    -1,    -1,    -1,    -1,   208,    -1,    -1,   290,
4143       -1,   213,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4144       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4145       -1,    -1,    -1,   314,   315,   316,   317,   318,   319,    -1,
4146       -1,    -1,    -1,    -1,   325,   326,   327,   328,   329,   330,
4147       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4148       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4149       -1,    -1,    -1,   354,   355,   356,   357,   358,   359,    -1,
4150       -1,   283,    -1,   132,   133,    -1,    -1,    -1,   369,   370,
4151      371,   372,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4152      149,   150,   304,   384,   385,   154,    -1,    -1,    -1,   390,
4153       -1,    -1,    -1,   394,    18,    19,    20,    21,    -1,    23,
4154       24,    25,    26,    27,    28,    29,    30,    31,    32,    -1,
4155       -1,   333,    -1,    -1,    -1,    -1,    -1,   186,    -1,   188,
4156       -1,    -1,    -1,    -1,    -1,    -1,    50,    -1,    -1,    -1,
4157       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   361,
4158       -1,    -1,    -1,    -1,   374,    69,   376,   377,   378,   379,
4159      380,   381,   382,   383,   384,   385,   386,   387,   388,    -1,
4160       -1,   391,    -1,    -1,    -1,   395,    -1,    -1,    -1,    -1,
4161      392,    -1,   374,   242,   376,   377,   378,   379,   380,   381,
4162      382,   383,   384,   385,   386,   387,   388,    22,    -1,   391,
4163       -1,    -1,    -1,   395,    -1,    -1,    -1,    -1,    -1,   268,
4164      269,   270,    -1,    -1,    -1,    -1,    -1,    -1,   132,   133,
4165       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    22,
4166       -1,   290,    -1,    -1,    -1,   149,   150,    -1,    -1,    -1,
4167      154,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4168       -1,    -1,    -1,    -1,    -1,   314,   315,   316,   317,   318,
4169      319,    -1,    -1,   322,    -1,    -1,   325,   326,   327,   328,
4170      329,   330,   186,    -1,   188,    -1,    -1,    -1,    -1,    -1,
4171       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4172       -1,    -1,    -1,    -1,    -1,   354,   355,   356,   357,   358,
4173      359,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4174      369,   370,   371,   372,    -1,    -1,    -1,    -1,    -1,    -1,
4175       22,    -1,    -1,    -1,    -1,   384,   385,    -1,   242,    -1,
4176       -1,   390,    -1,    -1,    -1,   394,   374,    -1,   376,   377,
4177      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
4178      388,    -1,    -1,   391,   268,   269,   270,   395,    18,    19,
4179       20,    21,    -1,    23,    24,    25,    26,    27,    28,    29,
4180       30,    31,    32,    -1,    -1,    -1,   290,    -1,    -1,    -1,
4181       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4182       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4183      314,   315,   316,   317,   318,   319,    -1,    -1,    -1,    -1,
4184       -1,   325,   326,   327,   328,   329,   330,    -1,    -1,    -1,
4185       -1,    -1,    22,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4186       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4187      354,   355,   356,   357,   358,   359,    -1,    -1,    -1,    -1,
4188       -1,    -1,    -1,    -1,    -1,   369,   370,   371,   372,    -1,
4189       -1,    -1,   122,    -1,    22,    -1,    -1,    -1,    -1,    -1,
4190      384,   385,   132,   133,    -1,    -1,   390,    -1,    -1,    -1,
4191      394,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   149,
4192      150,    -1,    -1,    -1,   154,    -1,    -1,    -1,    -1,    -1,
4193       -1,    -1,    -1,    18,    19,    20,    21,    -1,    23,    24,
4194       25,    26,    27,    28,    29,    30,    31,    32,    -1,    -1,
4195       -1,    -1,    -1,    -1,    -1,    -1,   186,    -1,   188,    -1,
4196       -1,    -1,    -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,
4197       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   374,
4198       -1,   376,   377,   378,   379,   380,   381,   382,   383,   384,
4199      385,   386,   387,   388,    22,    -1,   391,    -1,    -1,    -1,
4200      395,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4201       -1,   374,   242,   376,   377,   378,   379,   380,   381,   382,
4202      383,   384,   385,   386,   387,   388,    -1,    -1,   391,    -1,
4203       -1,    -1,   395,    -1,    -1,    -1,    22,    -1,   268,   269,
4204      270,    -1,    -1,    -1,    -1,    -1,    -1,   132,   133,    -1,
4205       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4206      290,    -1,    -1,    -1,   149,   150,    -1,    -1,    -1,   154,
4207       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4208       -1,    -1,    -1,    -1,   314,   315,   316,   317,   318,   319,
4209       -1,    -1,    -1,    -1,    -1,   325,   326,   327,   328,   329,
4210      330,   186,   374,   188,   376,   377,   378,   379,   380,   381,
4211      382,   383,   384,   385,   386,   387,   388,    -1,    -1,   391,
4212       -1,    -1,    -1,   395,   354,   355,   356,   357,   358,   359,
4213       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   369,
4214      370,   371,   372,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4215       -1,    -1,    -1,    -1,   384,   385,    -1,   242,    -1,    -1,
4216      390,    -1,    -1,    -1,   394,    18,    19,    20,    21,    -1,
4217       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
4218       -1,    -1,    -1,   268,   269,   270,    -1,    -1,    -1,    -1,
4219       -1,    -1,    -1,    -1,    -1,    -1,    -1,    50,    -1,    -1,
4220       -1,    -1,    -1,    -1,   374,   290,   376,   377,   378,   379,
4221      380,   381,   382,   383,   384,   385,   386,   387,   388,   304,
4222       -1,   391,    -1,    -1,    -1,   395,    -1,    -1,    -1,   314,
4223      315,   316,   317,   318,   319,    -1,    -1,    -1,    -1,    -1,
4224      325,   326,   327,   328,   329,   330,   374,    -1,   376,   377,
4225      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
4226      388,    -1,    -1,   391,    -1,    -1,    -1,   395,    -1,   354,
4227      355,   356,   357,   358,   359,    -1,    -1,    -1,    -1,   132,
4228      133,    -1,    -1,    -1,   369,   370,   371,   372,    -1,    -1,
4229       -1,    -1,    -1,    -1,    -1,    -1,   149,   150,    -1,   384,
4230      385,   154,    -1,    -1,    -1,   390,    -1,    -1,    -1,   394,
4231       18,    19,    20,    21,    -1,    23,    24,    25,    26,    27,
4232       28,    29,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
4233       -1,    -1,    -1,   186,    -1,   188,    -1,    -1,    -1,    -1,
4234       -1,    -1,    50,    -1,    -1,    -1,   374,    -1,   376,   377,
4235      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
4236      388,    -1,    -1,   391,    -1,    -1,    22,   395,    -1,    -1,
4237       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4238       -1,    -1,    -1,    -1,    -1,    -1,    22,    -1,   374,   242,
4239      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
4240      386,   387,   388,    -1,    -1,   391,    -1,    -1,    -1,   395,
4241       -1,    -1,    -1,    22,    -1,   268,   269,   270,    -1,    -1,
4242       -1,    -1,    -1,    -1,   132,   133,    -1,    -1,    -1,    -1,
4243       -1,    -1,    -1,    -1,    -1,    -1,    -1,   290,    -1,    -1,
4244       -1,   149,   150,    -1,    -1,    -1,   154,    -1,    -1,    -1,
4245       -1,   304,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4246       -1,   314,   315,   316,   317,   318,   319,    -1,    -1,    -1,
4247       -1,    -1,   325,   326,   327,   328,   329,   330,   186,    -1,
4248      188,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4249       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4250       -1,   354,   355,   356,   357,   358,   359,    -1,    -1,    -1,
4251       -1,    -1,    -1,    -1,    -1,    -1,   369,   370,   371,   372,
4252       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4253       -1,   384,   385,    -1,   242,    -1,    -1,   390,    -1,    -1,
4254       -1,   394,    18,    19,    20,    21,    -1,    23,    24,    25,
4255       26,    27,    28,    29,    30,    31,    32,    -1,    -1,    -1,
4256      268,   269,   270,    -1,    -1,    -1,    -1,    22,    -1,    -1,
4257       -1,    -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,    -1,
4258       -1,    -1,   290,    -1,    -1,    -1,    -1,    -1,    -1,    22,
4259       -1,    -1,    -1,    -1,    -1,    -1,   304,    -1,    -1,    -1,
4260       -1,    -1,    -1,    -1,    -1,    -1,   314,   315,   316,   317,
4261      318,   319,    -1,    -1,    -1,    -1,    -1,   325,   326,   327,
4262      328,   329,   330,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4263       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4264       -1,    -1,    -1,    -1,    -1,    -1,   354,   355,   356,   357,
4265      358,   359,    -1,    -1,    -1,    -1,   132,   133,    -1,    -1,
4266       -1,   369,   370,   371,   372,    -1,    -1,    -1,    -1,    -1,
4267       -1,    -1,    -1,   149,   150,    -1,   384,   385,   154,    -1,
4268       -1,    -1,   390,    -1,    -1,    -1,   394,    18,    19,    20,
4269       21,    -1,    23,    24,    25,    26,    27,    28,    29,    30,
4270       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4271      186,    -1,   188,    22,    -1,    -1,    -1,    -1,   374,    50,
4272      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
4273      386,   387,   388,    22,    -1,   391,    -1,    -1,   374,   395,
4274      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
4275      386,   387,   388,    22,    -1,   391,    -1,    -1,    -1,   395,
4276       -1,    -1,    -1,    -1,    -1,   374,   242,   376,   377,   378,
4277      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
4278       22,    -1,   391,    -1,    -1,    -1,   395,    -1,    -1,    -1,
4279       -1,    -1,   268,   269,   270,    -1,    -1,    -1,    -1,    -1,
4280       22,   132,   133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4281       -1,    -1,    -1,    -1,   290,    -1,    -1,    -1,   149,   150,
4282       22,    -1,    -1,   154,    -1,    -1,    -1,    -1,    -1,    -1,
4283       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   314,   315,
4284      316,   317,   318,   319,    -1,    -1,    -1,    -1,    -1,   325,
4285      326,   327,   328,   329,   330,   186,    -1,   188,    -1,    -1,
4286       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4287       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   354,   355,
4288      356,   357,   358,   359,    -1,    -1,    -1,    -1,    -1,    -1,
4289       -1,    -1,    -1,   369,   370,   371,   372,    -1,    -1,    -1,
4290       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   384,   385,
4291       -1,   242,    -1,    -1,   390,    -1,    -1,    -1,   394,   374,
4292       -1,   376,   377,   378,   379,   380,   381,   382,   383,   384,
4293      385,   386,   387,   388,    -1,    -1,   391,   268,   269,   270,
4294      395,   374,    -1,   376,   377,   378,   379,   380,   381,   382,
4295      383,   384,   385,   386,   387,   388,    -1,    -1,   391,   290,
4296       -1,    -1,   395,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4297       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4298       -1,    -1,    -1,   314,   315,   316,   317,   318,   319,    -1,
4299       -1,    -1,    -1,    -1,   325,   326,   327,   328,   329,   330,
4300       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4301       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4302       -1,    -1,    -1,   354,   355,   356,   357,   358,   359,    -1,
4303       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   369,   370,
4304      371,   372,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4305       -1,    -1,    -1,   384,   385,    -1,    -1,    -1,    -1,   390,
4306       -1,    -1,    -1,   394,    -1,   374,    -1,   376,   377,   378,
4307      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
4308       -1,    -1,   391,    -1,    -1,   374,   395,   376,   377,   378,
4309      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
4310       -1,    -1,   391,    -1,    -1,   374,   395,   376,   377,   378,
4311      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
4312       -1,    -1,   391,    -1,    -1,    -1,   395,    -1,    -1,    -1,
4313       -1,    -1,   374,    -1,   376,   377,   378,   379,   380,   381,
4314      382,   383,   384,   385,   386,   387,   388,    -1,    -1,   391,
4315       -1,    -1,   374,   395,   376,   377,   378,   379,   380,   381,
4316      382,   383,   384,   385,   386,   387,   388,    -1,    -1,   391,
4317       -1,    -1,   374,   395,   376,   377,   378,   379,   380,   381,
4318      382,   383,   384,   385,   386,   387,   388,    -1,    49,   391,
4319       -1,    -1,    -1,   395,    55,    -1,    49,    -1,    -1,    -1,
4320       -1,    -1,    55,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4321       -1,    -1,    -1,    -1,    75,    76,    -1,    -1,    -1,    -1,
4322       -1,    -1,    75,    76,    78,    -1,    -1,    -1,    82,    83,
4323       84,    85,    86,    87,    -1,    -1,    -1,    91,    92,    93,
4324       94,    95,    96,    -1,   105,   106,    -1,    -1,    -1,   110,
4325       -1,    -1,   105,   106,   115,   109,    -1,   110,   112,    -1,
4326       -1,    -1,   115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4327       -1,    -1,    -1,    -1,    -1,    -1,   130,    -1,    -1,    -1,
4328      141,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   141,   143,
4329       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4330       -1,    -1,    -1,    -1,    -1,   166,   167,    -1,   169,    -1,
4331      171,   172,   173,   166,   167,    -1,   169,    -1,   171,   172,
4332      173,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4333       -1,    -1,    -1,    -1,    -1,    -1,   190,   191,   192,   193,
4334      194,   195,   196,   197,   198,   199,   200,   208,    -1,    -1,
4335       -1,    -1,   213,    -1,    -1,   208,    -1,    -1,    -1,    -1,
4336      213,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   229,    -1,
4337       -1,    -1,    -1,    -1,    -1,    -1,   229,    -1,    -1,    -1,
4338       -1,   235,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4339       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4340       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4341       -1,    -1,   266,   274,    -1,    -1,    -1,    -1,    -1,    -1,
4342       -1,   274,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4343       -1,    -1,   293,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4344      293,    -1,    -1,   304,    -1,    -1,    -1,    -1,    -1,    -1,
4345       -1,   304,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4346       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4347       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4348       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4349       -1,    -1,   353,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4350      353,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4351       -1,   365,   366,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4352       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
4353       -1,   392,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   392
4354 };
4355 
4356   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
4357      symbol of state STATE-NUM.  */
4358 static const yytype_uint16 yystos[] =
4359 {
4360        0,     1,    18,    19,    20,    21,    23,    24,    25,    26,
4361       27,    28,    29,    30,    31,    32,    35,    37,    38,    41,
4362       42,    46,    47,    48,    50,    51,    61,    64,    65,    70,
4363       73,    80,    81,    89,    90,    98,    99,   100,   101,   107,
4364      108,   111,   113,   116,   119,   120,   124,   126,   131,   132,
4365      133,   137,   139,   142,   149,   150,   154,   155,   156,   157,
4366      159,   161,   166,   168,   169,   173,   174,   185,   186,   187,
4367      188,   201,   203,   205,   218,   233,   238,   239,   240,   241,
4368      242,   243,   246,   247,   248,   249,   251,   252,   257,   259,
4369      260,   261,   262,   263,   264,   268,   269,   270,   275,   277,
4370      278,   281,   282,   289,   290,   291,   292,   294,   298,   299,
4371      300,   304,   306,   307,   308,   313,   314,   315,   316,   317,
4372      318,   319,   321,   322,   324,   325,   326,   327,   328,   329,
4373      330,   332,   333,   334,   354,   355,   356,   357,   358,   359,
4374      360,   361,   368,   369,   370,   371,   372,   384,   385,   390,
4375      394,   401,   402,   403,   404,   411,   412,   413,   414,   415,
4376      416,   417,   418,   419,   420,   421,   422,   429,   430,   431,
4377      432,   444,   452,   455,   461,   469,   471,   323,   394,   399,
4378      167,   394,   394,   394,   394,   394,   394,   394,   394,   394,
4379      394,    69,   123,   405,   429,   430,   394,   246,   214,   332,
4380      360,   430,    75,   465,    52,    53,    54,   337,   339,   340,
4381      341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
4382      351,   352,   353,   437,    18,    19,    20,    23,    24,    26,
4383       27,    28,    29,    30,    31,    32,    88,   115,   171,   172,
4384      175,   208,   213,   242,   369,   370,   371,   385,   390,   394,
4385      404,   411,   429,   430,   443,   463,   465,   466,   405,    19,
4386       20,    64,    98,   108,   148,   169,   212,   282,   289,   435,
4387      405,   430,    67,   122,   222,   271,   293,   462,   463,   464,
4388      465,   466,    19,    20,   373,   435,   405,   405,   394,   404,
4389      405,   429,    88,   115,   175,   404,   429,   443,   463,   465,
4390      466,   394,   125,   236,   300,   321,   428,    71,   121,   269,
4391      429,   443,    78,    82,    83,    84,    85,    86,    87,    91,
4392       92,    93,    94,    95,    96,   109,   112,   130,   143,   190,
4393      191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
4394      235,   266,   365,   366,   448,    51,   115,   304,   443,   463,
4395      464,   465,   466,   405,   397,   408,    99,   405,   394,   394,
4396      394,   394,    61,   248,   429,   430,    64,    67,   122,   140,
4397      158,   164,   167,   175,   289,   312,   331,   356,   404,   443,
4398      462,   463,   465,   466,   394,    43,    88,   175,   404,   429,
4399      443,   463,   465,   466,   218,   248,   405,    75,   122,   394,
4400      430,   129,   394,    51,   103,   151,   153,   164,   165,   217,
4401      250,   253,   267,   273,   305,   404,   406,   407,   450,   301,
4402      172,   466,   405,   394,    56,    61,   207,   405,   437,    18,
4403      169,   304,   337,   394,   443,   463,   465,   466,   394,   394,
4404      430,   394,   405,   408,   404,   430,   102,   227,   445,   430,
4405      322,   407,    67,    88,   160,   175,   255,   404,   429,   443,
4406      462,   465,   466,   273,   405,   462,   465,   466,   430,   430,
4407      407,    67,    88,   255,   404,   443,   462,   465,   466,   273,
4408      405,   462,   465,   466,   437,   405,   407,   335,   336,   363,
4409      364,   404,    64,   108,   169,   289,   429,   430,   335,   336,
4410      363,   364,   404,   430,   158,   265,   394,   158,   265,   404,
4411       79,   399,   399,   399,   404,   248,   404,   411,   412,   404,
4412      412,   404,   412,     0,   393,    22,   374,   376,   377,   378,
4413      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
4414      391,   392,   397,   408,    22,   374,   376,   377,   378,   379,
4415      380,   381,   382,   383,   384,   385,   386,   387,   388,   391,
4416      399,    47,    52,   118,   141,   162,   283,   304,   392,   432,
4417      443,    49,    55,    76,   105,   106,   110,   115,   141,   166,
4418      167,   169,   173,   229,   274,   293,   304,   353,   392,   443,
4419      463,   465,   466,    52,   162,   209,   295,   296,   304,   423,
4420      443,   394,   394,   394,   362,   443,   404,   405,   406,   409,
4421      404,   407,   404,   406,   412,   404,   412,   406,   406,   404,
4422      412,   406,   404,   404,   404,   404,   443,   392,   405,   392,
4423      301,   407,   443,   204,   332,   338,   360,   394,   405,   407,
4424      405,   394,   394,   394,   394,   394,   394,   394,   394,   394,
4425       75,   204,   222,   464,   465,   474,   407,   404,   313,   322,
4426      451,   404,   404,   404,   376,   377,   378,   379,   380,   381,
4427      382,   383,   384,   385,   386,   387,   388,   391,   396,   408,
4428      301,   273,   278,   405,   407,   407,   405,   273,   397,   405,
4429      104,   122,   215,   218,   430,   464,   465,   474,   451,   396,
4430      406,   405,   404,   405,   407,   464,   465,   443,   407,   406,
4431      404,   405,   430,   404,   412,   430,   430,   264,   115,   443,
4432      463,   464,   465,   466,   273,   407,   443,   404,   407,   451,
4433      407,   407,   404,   404,   396,   430,   164,   167,   273,   304,
4434      407,   451,   396,   443,   301,   407,   407,   404,   407,   301,
4435      405,   430,   115,   404,   407,   117,   127,   163,   234,   439,
4436      440,   407,   404,   372,   407,    99,   405,    57,   152,   407,
4437      405,   405,   445,   405,   445,   405,   445,   404,   405,   410,
4438      404,    33,    58,   144,   146,   165,   231,   232,   253,   309,
4439      311,   441,   404,   430,   430,   430,   412,   329,   354,   454,
4440      407,   404,   273,   405,   407,   451,   407,   396,   404,   377,
4441      273,   405,   407,   396,   404,   304,   404,   404,   404,   404,
4442      396,   407,   407,   407,   407,   404,   404,   404,   404,   396,
4443      114,   124,   443,   177,   178,   206,   245,   442,   430,   443,
4444      442,   443,   404,   404,   404,   395,   395,    18,    19,   248,
4445      369,   370,   371,   403,   411,   429,   430,   404,   404,   412,
4446      404,   412,   404,   412,   404,   412,   404,   412,   404,   412,
4447      404,   412,   404,   412,   404,   412,   404,   412,   404,   412,
4448      404,   412,   404,   412,   404,   412,   167,   406,   399,   404,
4449      412,   404,   412,   404,   412,   404,   412,   404,   412,   404,
4450      412,   404,   412,   404,   412,   404,   412,   404,   412,   404,
4451      412,   404,   412,   404,   412,   404,   412,   404,   412,   404,
4452      412,   304,   140,   124,   236,   304,   337,   443,   443,   443,
4453      443,    52,    68,   117,   138,   179,   180,   181,   226,   230,
4454      276,   284,   285,   337,   438,   147,   269,   270,   314,   315,
4455      317,   318,   325,   326,   327,   328,   423,    41,    67,   124,
4456      209,   236,   237,   255,   304,   443,   462,   465,   304,   443,
4457      405,   407,   443,   167,   228,   254,   273,   304,   443,   463,
4458      464,   465,   466,   467,   258,   304,   321,   407,   464,   465,
4459      443,   405,   407,   304,   463,   464,   465,   466,   443,   445,
4460      404,   407,    66,    67,   115,   273,   274,   407,   463,   464,
4461      465,   466,   437,   404,   147,   167,   452,   427,   443,   463,
4462      465,   466,    67,   160,   164,   215,   228,   405,   426,   462,
4463      465,   466,   467,   470,   475,   404,    39,    41,    67,   124,
4464      125,   164,   209,   228,   236,   237,   272,   274,   286,   287,
4465      288,   304,   407,   425,   443,   462,   465,   466,   467,   473,
4466      475,    36,    62,    89,   151,   176,   184,   186,   188,   189,
4467      210,   211,   217,   228,   273,   279,   304,   407,   424,   443,
4468      447,   465,   466,   467,   472,   475,   367,   430,   430,   412,
4469      406,   396,   395,   395,   395,   395,   395,   396,   396,   396,
4470      396,   396,   396,   396,   396,   396,   404,   405,   430,   396,
4471      404,   407,   404,   406,   404,   406,   404,   404,   404,   404,
4472      404,   404,   404,   404,   404,   404,   404,   404,   404,   404,
4473      404,   404,   404,   404,   404,   430,   404,   404,   404,   398,
4474      407,   182,   222,   436,   404,    40,   443,   405,   273,   396,
4475      404,   395,   220,   398,   396,   396,   395,   396,   321,   443,
4476      464,   465,   404,   405,   404,   396,   404,   404,   404,   407,
4477      404,   429,   301,   301,   396,   395,   430,   396,   443,   388,
4478      396,   388,   372,   396,   404,   404,   395,   405,   405,   405,
4479      396,   396,   395,   396,   396,   395,    44,    97,   453,   396,
4480      404,   404,   430,   404,   404,     5,     6,     7,     8,     9,
4481       10,    11,    12,    13,    14,    15,    16,   433,   404,   404,
4482      405,   405,   396,   408,   392,   375,   375,   404,   375,   375,
4483       46,   279,   404,   448,   404,   407,   404,   408,   405,   273,
4484      448,   404,   407,   405,   407,   407,   407,   396,   404,    62,
4485      206,   216,   468,    72,   443,   463,   466,   404,    62,    63,
4486      165,   253,   302,   476,   407,   407,    75,   222,   474,   407,
4487      405,   396,   443,   407,   462,   407,   464,   465,   404,   407,
4488      396,   273,    66,   165,   253,   446,   219,   224,   476,    46,
4489      279,   404,   396,   407,   405,   273,   404,   448,   405,   145,
4490      279,   310,    46,   279,   404,    59,   213,   407,   405,    34,
4491      202,   206,   449,   407,   407,   304,   404,   304,   404,    46,
4492      279,   396,   443,   407,   443,   134,   273,   404,   407,   443,
4493      463,   465,   466,   372,   372,   134,   273,   297,   404,   407,
4494      443,   463,   465,   466,   404,   404,   256,   404,   304,   407,
4495       46,   279,   396,   443,   396,   396,   395,   407,   406,   404,
4496      412,   404,   412,   404,   412,   406,   404,   404,   404,   404,
4497      407,   396,   396,   396,   396,   396,   396,   396,   396,   396,
4498      398,   405,   443,   407,   407,   396,   412,   412,   412,   474,
4499      430,   396,   396,   394,   405,   404,   407,   412,   407,   407,
4500      404,   404,   407,   248,   412,   404,   129,   396,   396,   124,
4501      430,   404,   406,   404,   412,   404,   412,   448,   396,   396,
4502      404,   396,   407,   167,   443,   404,   404,   404,   396,   404,
4503      404,   396,   297,   297,    46,   279,    46,   279,   405,   443,
4504      404,   396,   443,   404,   407,   396,   443,    62,   204,   297,
4505      434,   404,   407,    77,   244,   407,   456,   396,   395,   395,
4506      395,   395,   395,   395,   395,   396,   396,   396,   396,   396,
4507      396,   407,   404,   404,   406,   404,   404,   404,   404,   404,
4508      396,   395,   404,   396,   395,   396,   395,   404,   404,   407,
4509      396,   396,   395,   396,   396,   395,   396,   395,   396,   405,
4510      404,   404,   405,   396,   398,   404,   404,   404,   404,   404,
4511      404,   404,   404,   395,   395,   396,   407,   404,   412,   404,
4512      412,   404,   404,   404,   404,   396,   396,   396,   396,   396,
4513      396,   396,   407,   396,   443,    45,   170,   280,   460,   396,
4514      396,   405,   407,   407,   404,   443,   404,    35,   396,   396,
4515      407,    60,   135,   136,   204,   221,   303,   320,   459,   395,
4516      396,   395,   395,   395,   395,   396,   396,   396,   396,   407,
4517      404,   404,   404,   404,   404,   404,   404,   396,   396,   404,
4518      407,   395,   395,   396,   395,   396,   405,   404,   404,   396,
4519      396,   407,   404,   412,   404,   404,   404,   395,   396,   396,
4520      396,   443,   443,   396,   404,   404,   443,    17,   128,   223,
4521      457,   396,   395,   395,   396,   396,   396,   404,   404,   404,
4522      395,   395,   407,   296,   395,   396,   407,   404,   412,   404,
4523      404,   396,   396,   395,   404,    74,   183,   225,   458,   396,
4524      395,   395,   396,   395,   396,   404,   404,   396,   396,   395,
4525      404,   404,   412,   443,   396,   405,   404,   395,   395,   395,
4526      396,   404,   396,   443,   404,   396,   396,   443,   404,   395,
4527      396,   443,   395
4528 };
4529 
4530   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
4531 static const yytype_uint16 yyr1[] =
4532 {
4533        0,   400,   401,   401,   401,   402,   402,   403,   403,   403,
4534      403,   403,   403,   403,   403,   403,   403,   403,   403,   404,
4535      404,   404,   404,   404,   404,   404,   404,   404,   404,   404,
4536      404,   404,   404,   404,   404,   404,   404,   404,   404,   404,
4537      404,   404,   404,   404,   404,   404,   404,   404,   404,   404,
4538      404,   404,   404,   404,   404,   404,   404,   404,   404,   404,
4539      404,   404,   404,   404,   404,   404,   404,   404,   404,   404,
4540      404,   404,   404,   404,   404,   404,   404,   404,   404,   404,
4541      404,   404,   404,   404,   405,   405,   405,   406,   407,   408,
4542      409,   409,   410,   410,   411,   411,   411,   412,   412,   412,
4543      412,   412,   412,   412,   412,   412,   412,   412,   412,   412,
4544      412,   412,   412,   412,   412,   412,   412,   412,   412,   412,
4545      412,   412,   412,   412,   412,   412,   412,   412,   412,   412,
4546      412,   412,   412,   412,   412,   412,   412,   412,   412,   412,
4547      412,   412,   412,   412,   412,   412,   412,   412,   412,   412,
4548      412,   412,   412,   412,   412,   412,   412,   412,   412,   412,
4549      412,   412,   412,   412,   412,   413,   413,   413,   413,   413,
4550      414,   415,   415,   416,   416,   416,   416,   416,   416,   416,
4551      416,   416,   416,   416,   417,   417,   417,   417,   417,   417,
4552      417,   417,   418,   418,   418,   418,   418,   418,   418,   418,
4553      418,   418,   418,   418,   418,   418,   418,   418,   418,   418,
4554      418,   418,   418,   418,   418,   418,   418,   418,   418,   418,
4555      418,   418,   418,   418,   418,   418,   418,   418,   418,   418,
4556      418,   418,   418,   418,   418,   418,   418,   418,   418,   418,
4557      418,   418,   418,   418,   418,   418,   418,   418,   418,   418,
4558      418,   418,   418,   418,   418,   418,   418,   418,   418,   418,
4559      418,   418,   418,   418,   418,   418,   418,   418,   418,   418,
4560      418,   418,   418,   418,   418,   418,   418,   418,   418,   418,
4561      418,   418,   418,   418,   418,   418,   418,   418,   418,   418,
4562      418,   418,   418,   418,   418,   418,   418,   418,   418,   418,
4563      418,   418,   418,   418,   418,   418,   418,   418,   418,   418,
4564      418,   418,   418,   418,   418,   418,   418,   418,   418,   418,
4565      418,   418,   418,   418,   418,   418,   418,   418,   418,   418,
4566      418,   418,   418,   418,   418,   418,   418,   418,   418,   418,
4567      418,   418,   418,   418,   418,   419,   419,   419,   419,   419,
4568      419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
4569      419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
4570      419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
4571      419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
4572      419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
4573      419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
4574      419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
4575      419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
4576      420,   420,   420,   420,   420,   420,   421,   421,   422,   422,
4577      422,   422,   422,   422,   422,   422,   422,   422,   422,   422,
4578      422,   422,   422,   422,   422,   422,   422,   422,   422,   422,
4579      422,   422,   422,   422,   422,   422,   422,   422,   422,   422,
4580      422,   422,   422,   422,   422,   422,   422,   422,   422,   422,
4581      422,   422,   422,   422,   422,   422,   422,   423,   423,   423,
4582      423,   423,   423,   423,   423,   423,   423,   424,   424,   424,
4583      424,   424,   424,   424,   424,   424,   424,   424,   424,   424,
4584      424,   424,   424,   424,   424,   424,   424,   424,   424,   424,
4585      424,   424,   425,   425,   425,   425,   425,   425,   425,   425,
4586      425,   425,   425,   425,   425,   425,   425,   425,   425,   425,
4587      425,   425,   425,   425,   425,   425,   426,   426,   426,   426,
4588      426,   426,   426,   426,   426,   426,   426,   427,   427,   427,
4589      427,   428,   428,   428,   428,   429,   429,   430,   430,   430,
4590      430,   431,   431,   432,   432,   432,   432,   433,   433,   433,
4591      433,   433,   433,   433,   433,   433,   433,   433,   433,   434,
4592      434,   434,   435,   435,   436,   436,   437,   437,   437,   437,
4593      437,   437,   437,   437,   437,   437,   437,   437,   437,   437,
4594      437,   437,   437,   437,   437,   438,   438,   438,   438,   438,
4595      438,   439,   439,   440,   440,   441,   441,   441,   441,   441,
4596      441,   441,   441,   441,   441,   442,   442,   442,   442,   443,
4597      443,   444,   444,   444,   444,   444,   445,   445,   446,   446,
4598      446,   447,   447,   447,   448,   448,   448,   448,   448,   448,
4599      448,   448,   448,   448,   448,   448,   448,   448,   448,   448,
4600      448,   448,   448,   448,   448,   448,   448,   448,   448,   448,
4601      448,   448,   448,   448,   448,   448,   449,   449,   449,   450,
4602      450,   450,   450,   450,   450,   451,   451,   452,   452,   452,
4603      452,   452,   452,   452,   452,   453,   453,   454,   454,   455,
4604      455,   455,   455,   456,   456,   457,   457,   457,   458,   458,
4605      458,   459,   459,   459,   459,   459,   459,   459,   460,   460,
4606      460,   461,   461,   461,   461,   461,   461,   461,   462,   462,
4607      463,   464,   465,   465,   465,   466,   467,   468,   468,   468,
4608      469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
4609      469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
4610      469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
4611      469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
4612      469,   469,   469,   469,   469,   470,   470,   471,   471,   471,
4613      471,   471,   471,   471,   471,   471,   471,   471,   471,   472,
4614      472,   472,   472,   472,   472,   472,   472,   472,   472,   472,
4615      472,   473,   473,   473,   473,   473,   473,   473,   473,   473,
4616      473,   474,   474,   474,   475,   476,   476,   476,   476,   476
4617 };
4618 
4619   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
4620 static const yytype_uint8 yyr2[] =
4621 {
4622        0,     2,     1,     1,     1,     1,     3,     0,     1,     1,
4623        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
4624        1,     1,     1,     1,     2,     4,     6,     3,     3,     3,
4625        3,     1,     2,     1,     4,     4,     6,     6,     6,     8,
4626        8,    10,    12,    14,     3,     3,     3,     3,     3,     3,
4627        3,     3,     4,     8,    14,     1,     1,     1,     1,     1,
4628        1,     1,     1,     1,     1,     3,     3,     3,     2,     2,
4629        3,     3,     3,     3,     5,     3,     3,     3,     3,     3,
4630        3,     3,     3,     2,     1,     3,     3,     1,     1,     3,
4631        1,     1,     1,     1,     1,     1,     3,     1,     6,     4,
4632        8,     4,     4,     4,     4,     4,     6,     6,     6,     6,
4633        8,     8,    10,    12,    14,     3,     3,     3,     3,     3,
4634        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4635        3,     3,     3,     2,     5,     5,     5,     5,     3,     3,
4636        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4637        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4638        3,     3,     2,     3,     2,     3,     3,     3,     3,     4,
4639        1,     3,     3,     2,     4,     5,     2,     2,     2,     2,
4640        3,     3,     6,     8,     2,     3,     2,     2,     2,     9,
4641        5,     4,     2,     5,     5,     7,     4,     5,     4,     4,
4642        3,     3,     3,     4,     2,     4,     4,     4,     3,     9,
4643        2,     2,     2,     2,     4,     3,     2,     3,     2,     2,
4644        8,     3,     2,     2,     2,     3,     3,     2,     2,     3,
4645        2,     2,     8,     3,     2,     2,     2,     3,     3,     2,
4646        2,     3,     2,     2,     8,     3,     2,     2,     2,     3,
4647        4,     4,     6,     2,     2,     3,     2,     2,     4,     3,
4648        2,     3,     2,     3,     4,     3,     2,     2,     4,     3,
4649        2,     4,     3,     2,     2,     2,     2,     4,     2,     4,
4650        3,     7,    13,     8,     2,     8,     2,     2,     3,     2,
4651        2,     2,     3,     2,     3,     3,     3,     3,     3,     3,
4652        3,     3,     2,     2,     2,     3,     3,     3,     3,     3,
4653        4,     4,     3,     3,     3,     3,     4,     4,     2,     2,
4654        2,     3,     2,     2,     2,     2,     3,     3,     2,     3,
4655        3,     3,     4,     3,     5,     6,     6,     4,     2,     5,
4656        2,     2,     2,     2,     3,     1,     1,     2,     2,     2,
4657        1,     2,     1,     4,     1,     3,     3,     2,     2,     2,
4658        1,     2,     2,     3,     3,     3,     5,     5,     4,     4,
4659        4,     2,     3,     4,     4,     2,     3,     2,     2,     1,
4660       12,    18,    20,     6,     8,     6,     6,     6,    12,    10,
4661       10,     6,     4,    10,     6,     6,     8,     1,     2,     2,
4662        2,     1,     2,     2,     3,     3,     4,     3,     2,     3,
4663        4,     3,     4,     2,     4,     4,     6,     2,     2,     1,
4664        3,     1,     1,     1,     2,     2,     2,     2,     2,     2,
4665        3,     3,     2,     2,     2,     2,     1,     1,     2,     3,
4666        3,     3,     3,     3,     3,     4,     4,     4,     4,     4,
4667        4,     4,     3,     3,     3,     3,     4,     4,     3,     3,
4668        3,     4,     3,     3,     4,     5,     3,     3,     4,     4,
4669        4,     6,     4,     4,     3,     3,     3,     3,     4,     3,
4670        3,     4,     4,     5,     6,     3,     3,     1,     3,     2,
4671        2,     2,     2,     2,     2,     2,     4,     1,     2,     3,
4672        3,     2,     2,     2,     1,     3,     3,     1,     2,     2,
4673        1,     2,     2,     2,     2,     3,     3,     1,     3,     2,
4674        4,     4,     1,     2,     2,     2,     2,     2,     2,     2,
4675        2,     1,     2,     2,     2,     3,     3,     3,     3,     3,
4676        1,     1,     3,     2,     2,     4,     1,     2,     2,     2,
4677        2,     4,     2,     3,     1,     1,     1,     1,     1,     1,
4678        1,     2,     2,     3,     2,     1,     2,     3,     4,     1,
4679        2,     2,     3,     1,     1,     1,     1,     1,     1,     1,
4680        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
4681        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
4682        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
4683        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
4684        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
4685        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
4686        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
4687        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
4688        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
4689        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
4690        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
4691        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
4692        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
4693        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
4694        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
4695        1,     1,     1,     1,     1,     1,     1,     1,     2,     2,
4696        2,     2,     2,     2,     8,     2,     2,     1,     1,     1,
4697        3,     4,     2,     3,     4,    17,     3,     3,     2,     2,
4698        2,     2,     3,     3,     3,     4,     4,     5,     2,     2,
4699        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
4700        3,     3,     3,     3,     3,     3,     3,     3,     4,     4,
4701        4,     3,     4,     4,     2,     1,     1,     4,     3,     3,
4702        4,     4,     2,     2,     2,     4,     5,     4,     4,     2,
4703        2,     2,     2,     2,     2,     2,     2,     2,     2,     3,
4704        1,     1,     2,     2,     2,     2,     2,     3,     3,     1,
4705        2,     1,     1,     1,     2,     1,     1,     1,     1,     1
4706 };
4707 
4708 
4709 #define yyerrok         (yyerrstatus = 0)
4710 #define yyclearin       (yychar = YYEMPTY)
4711 #define YYEMPTY         (-2)
4712 #define YYEOF           0
4713 
4714 #define YYACCEPT        goto yyacceptlab
4715 #define YYABORT         goto yyabortlab
4716 #define YYERROR         goto yyerrorlab
4717 
4718 
4719 #define YYRECOVERING()  (!!yyerrstatus)
4720 
4721 #define YYBACKUP(Token, Value)                                  \
4722 do                                                              \
4723   if (yychar == YYEMPTY)                                        \
4724     {                                                           \
4725       yychar = (Token);                                         \
4726       yylval = (Value);                                         \
4727       YYPOPSTACK (yylen);                                       \
4728       yystate = *yyssp;                                         \
4729       goto yybackup;                                            \
4730     }                                                           \
4731   else                                                          \
4732     {                                                           \
4733       yyerror (YY_("syntax error: cannot back up")); \
4734       YYERROR;                                                  \
4735     }                                                           \
4736 while (0)
4737 
4738 /* Error token number */
4739 #define YYTERROR        1
4740 #define YYERRCODE       256
4741 
4742 
4743 
4744 /* Enable debugging if requested.  */
4745 #if YYDEBUG
4746 
4747 # ifndef YYFPRINTF
4748 #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
4749 #  define YYFPRINTF fprintf
4750 # endif
4751 
4752 # define YYDPRINTF(Args)                        \
4753 do {                                            \
4754   if (yydebug)                                  \
4755     YYFPRINTF Args;                             \
4756 } while (0)
4757 
4758 /* This macro is provided for backward compatibility. */
4759 #ifndef YY_LOCATION_PRINT
4760 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
4761 #endif
4762 
4763 
4764 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
4765 do {                                                                      \
4766   if (yydebug)                                                            \
4767     {                                                                     \
4768       YYFPRINTF (stderr, "%s ", Title);                                   \
4769       yy_symbol_print (stderr,                                            \
4770                   Type, Value); \
4771       YYFPRINTF (stderr, "\n");                                           \
4772     }                                                                     \
4773 } while (0)
4774 
4775 
4776 /*----------------------------------------.
4777 | Print this symbol's value on YYOUTPUT.  |
4778 `----------------------------------------*/
4779 
4780 static void
yy_symbol_value_print(FILE * yyoutput,int yytype,YYSTYPE const * const yyvaluep)4781 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
4782 {
4783   FILE *yyo = yyoutput;
4784   YYUSE (yyo);
4785   if (!yyvaluep)
4786     return;
4787 # ifdef YYPRINT
4788   if (yytype < YYNTOKENS)
4789     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
4790 # endif
4791   YYUSE (yytype);
4792 }
4793 
4794 
4795 /*--------------------------------.
4796 | Print this symbol on YYOUTPUT.  |
4797 `--------------------------------*/
4798 
4799 static void
yy_symbol_print(FILE * yyoutput,int yytype,YYSTYPE const * const yyvaluep)4800 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
4801 {
4802   YYFPRINTF (yyoutput, "%s %s (",
4803              yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
4804 
4805   yy_symbol_value_print (yyoutput, yytype, yyvaluep);
4806   YYFPRINTF (yyoutput, ")");
4807 }
4808 
4809 /*------------------------------------------------------------------.
4810 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
4811 | TOP (included).                                                   |
4812 `------------------------------------------------------------------*/
4813 
4814 static void
yy_stack_print(yytype_int16 * yybottom,yytype_int16 * yytop)4815 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
4816 {
4817   YYFPRINTF (stderr, "Stack now");
4818   for (; yybottom <= yytop; yybottom++)
4819     {
4820       int yybot = *yybottom;
4821       YYFPRINTF (stderr, " %d", yybot);
4822     }
4823   YYFPRINTF (stderr, "\n");
4824 }
4825 
4826 # define YY_STACK_PRINT(Bottom, Top)                            \
4827 do {                                                            \
4828   if (yydebug)                                                  \
4829     yy_stack_print ((Bottom), (Top));                           \
4830 } while (0)
4831 
4832 
4833 /*------------------------------------------------.
4834 | Report that the YYRULE is going to be reduced.  |
4835 `------------------------------------------------*/
4836 
4837 static void
yy_reduce_print(yytype_int16 * yyssp,YYSTYPE * yyvsp,int yyrule)4838 yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
4839 {
4840   unsigned long int yylno = yyrline[yyrule];
4841   int yynrhs = yyr2[yyrule];
4842   int yyi;
4843   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
4844              yyrule - 1, yylno);
4845   /* The symbols being reduced.  */
4846   for (yyi = 0; yyi < yynrhs; yyi++)
4847     {
4848       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
4849       yy_symbol_print (stderr,
4850                        yystos[yyssp[yyi + 1 - yynrhs]],
4851                        &(yyvsp[(yyi + 1) - (yynrhs)])
4852                                               );
4853       YYFPRINTF (stderr, "\n");
4854     }
4855 }
4856 
4857 # define YY_REDUCE_PRINT(Rule)          \
4858 do {                                    \
4859   if (yydebug)                          \
4860     yy_reduce_print (yyssp, yyvsp, Rule); \
4861 } while (0)
4862 
4863 /* Nonzero means print parse trace.  It is left uninitialized so that
4864    multiple parsers can coexist.  */
4865 int yydebug;
4866 #else /* !YYDEBUG */
4867 # define YYDPRINTF(Args)
4868 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
4869 # define YY_STACK_PRINT(Bottom, Top)
4870 # define YY_REDUCE_PRINT(Rule)
4871 #endif /* !YYDEBUG */
4872 
4873 
4874 /* YYINITDEPTH -- initial size of the parser's stacks.  */
4875 #ifndef YYINITDEPTH
4876 # define YYINITDEPTH 200
4877 #endif
4878 
4879 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
4880    if the built-in stack extension method is used).
4881 
4882    Do not make this value too large; the results are undefined if
4883    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
4884    evaluated with infinite-precision integer arithmetic.  */
4885 
4886 #ifndef YYMAXDEPTH
4887 # define YYMAXDEPTH 10000
4888 #endif
4889 
4890 
4891 #if YYERROR_VERBOSE
4892 
4893 # ifndef yystrlen
4894 #  if defined __GLIBC__ && defined _STRING_H
4895 #   define yystrlen strlen
4896 #  else
4897 /* Return the length of YYSTR.  */
4898 static YYSIZE_T
yystrlen(const char * yystr)4899 yystrlen (const char *yystr)
4900 {
4901   YYSIZE_T yylen;
4902   for (yylen = 0; yystr[yylen]; yylen++)
4903     continue;
4904   return yylen;
4905 }
4906 #  endif
4907 # endif
4908 
4909 # ifndef yystpcpy
4910 #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
4911 #   define yystpcpy stpcpy
4912 #  else
4913 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
4914    YYDEST.  */
4915 static char *
yystpcpy(char * yydest,const char * yysrc)4916 yystpcpy (char *yydest, const char *yysrc)
4917 {
4918   char *yyd = yydest;
4919   const char *yys = yysrc;
4920 
4921   while ((*yyd++ = *yys++) != '\0')
4922     continue;
4923 
4924   return yyd - 1;
4925 }
4926 #  endif
4927 # endif
4928 
4929 # ifndef yytnamerr
4930 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
4931    quotes and backslashes, so that it's suitable for yyerror.  The
4932    heuristic is that double-quoting is unnecessary unless the string
4933    contains an apostrophe, a comma, or backslash (other than
4934    backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
4935    null, do not copy; instead, return the length of what the result
4936    would have been.  */
4937 static YYSIZE_T
yytnamerr(char * yyres,const char * yystr)4938 yytnamerr (char *yyres, const char *yystr)
4939 {
4940   if (*yystr == '"')
4941     {
4942       YYSIZE_T yyn = 0;
4943       char const *yyp = yystr;
4944 
4945       for (;;)
4946         switch (*++yyp)
4947           {
4948           case '\'':
4949           case ',':
4950             goto do_not_strip_quotes;
4951 
4952           case '\\':
4953             if (*++yyp != '\\')
4954               goto do_not_strip_quotes;
4955             /* Fall through.  */
4956           default:
4957             if (yyres)
4958               yyres[yyn] = *yyp;
4959             yyn++;
4960             break;
4961 
4962           case '"':
4963             if (yyres)
4964               yyres[yyn] = '\0';
4965             return yyn;
4966           }
4967     do_not_strip_quotes: ;
4968     }
4969 
4970   if (! yyres)
4971     return yystrlen (yystr);
4972 
4973   return yystpcpy (yyres, yystr) - yyres;
4974 }
4975 # endif
4976 
4977 /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
4978    about the unexpected token YYTOKEN for the state stack whose top is
4979    YYSSP.
4980 
4981    Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
4982    not large enough to hold the message.  In that case, also set
4983    *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
4984    required number of bytes is too large to store.  */
4985 static int
yysyntax_error(YYSIZE_T * yymsg_alloc,char ** yymsg,yytype_int16 * yyssp,int yytoken)4986 yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
4987                 yytype_int16 *yyssp, int yytoken)
4988 {
4989   YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
4990   YYSIZE_T yysize = yysize0;
4991   enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
4992   /* Internationalized format string. */
4993   const char *yyformat = YY_NULLPTR;
4994   /* Arguments of yyformat. */
4995   char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
4996   /* Number of reported tokens (one for the "unexpected", one per
4997      "expected"). */
4998   int yycount = 0;
4999 
5000   /* There are many possibilities here to consider:
5001      - If this state is a consistent state with a default action, then
5002        the only way this function was invoked is if the default action
5003        is an error action.  In that case, don't check for expected
5004        tokens because there are none.
5005      - The only way there can be no lookahead present (in yychar) is if
5006        this state is a consistent state with a default action.  Thus,
5007        detecting the absence of a lookahead is sufficient to determine
5008        that there is no unexpected or expected token to report.  In that
5009        case, just report a simple "syntax error".
5010      - Don't assume there isn't a lookahead just because this state is a
5011        consistent state with a default action.  There might have been a
5012        previous inconsistent state, consistent state with a non-default
5013        action, or user semantic action that manipulated yychar.
5014      - Of course, the expected token list depends on states to have
5015        correct lookahead information, and it depends on the parser not
5016        to perform extra reductions after fetching a lookahead from the
5017        scanner and before detecting a syntax error.  Thus, state merging
5018        (from LALR or IELR) and default reductions corrupt the expected
5019        token list.  However, the list is correct for canonical LR with
5020        one exception: it will still contain any token that will not be
5021        accepted due to an error action in a later state.
5022   */
5023   if (yytoken != YYEMPTY)
5024     {
5025       int yyn = yypact[*yyssp];
5026       yyarg[yycount++] = yytname[yytoken];
5027       if (!yypact_value_is_default (yyn))
5028         {
5029           /* Start YYX at -YYN if negative to avoid negative indexes in
5030              YYCHECK.  In other words, skip the first -YYN actions for
5031              this state because they are default actions.  */
5032           int yyxbegin = yyn < 0 ? -yyn : 0;
5033           /* Stay within bounds of both yycheck and yytname.  */
5034           int yychecklim = YYLAST - yyn + 1;
5035           int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
5036           int yyx;
5037 
5038           for (yyx = yyxbegin; yyx < yyxend; ++yyx)
5039             if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
5040                 && !yytable_value_is_error (yytable[yyx + yyn]))
5041               {
5042                 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
5043                   {
5044                     yycount = 1;
5045                     yysize = yysize0;
5046                     break;
5047                   }
5048                 yyarg[yycount++] = yytname[yyx];
5049                 {
5050                   YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
5051                   if (! (yysize <= yysize1
5052                          && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
5053                     return 2;
5054                   yysize = yysize1;
5055                 }
5056               }
5057         }
5058     }
5059 
5060   switch (yycount)
5061     {
5062 # define YYCASE_(N, S)                      \
5063       case N:                               \
5064         yyformat = S;                       \
5065       break
5066       YYCASE_(0, YY_("syntax error"));
5067       YYCASE_(1, YY_("syntax error, unexpected %s"));
5068       YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
5069       YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
5070       YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
5071       YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
5072 # undef YYCASE_
5073     }
5074 
5075   {
5076     YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
5077     if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
5078       return 2;
5079     yysize = yysize1;
5080   }
5081 
5082   if (*yymsg_alloc < yysize)
5083     {
5084       *yymsg_alloc = 2 * yysize;
5085       if (! (yysize <= *yymsg_alloc
5086              && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
5087         *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
5088       return 1;
5089     }
5090 
5091   /* Avoid sprintf, as that infringes on the user's name space.
5092      Don't have undefined behavior even if the translation
5093      produced a string with the wrong number of "%s"s.  */
5094   {
5095     char *yyp = *yymsg;
5096     int yyi = 0;
5097     while ((*yyp = *yyformat) != '\0')
5098       if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
5099         {
5100           yyp += yytnamerr (yyp, yyarg[yyi++]);
5101           yyformat += 2;
5102         }
5103       else
5104         {
5105           yyp++;
5106           yyformat++;
5107         }
5108   }
5109   return 0;
5110 }
5111 #endif /* YYERROR_VERBOSE */
5112 
5113 /*-----------------------------------------------.
5114 | Release the memory associated to this symbol.  |
5115 `-----------------------------------------------*/
5116 
5117 static void
yydestruct(const char * yymsg,int yytype,YYSTYPE * yyvaluep)5118 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
5119 {
5120   YYUSE (yyvaluep);
5121   if (!yymsg)
5122     yymsg = "Deleting";
5123   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
5124 
5125   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
5126   YYUSE (yytype);
5127   YY_IGNORE_MAYBE_UNINITIALIZED_END
5128 }
5129 
5130 
5131 
5132 
5133 /* The lookahead symbol.  */
5134 int yychar;
5135 
5136 /* The semantic value of the lookahead symbol.  */
5137 YYSTYPE yylval;
5138 /* Number of syntax errors so far.  */
5139 int yynerrs;
5140 
5141 
5142 /*----------.
5143 | yyparse.  |
5144 `----------*/
5145 
5146 int
yyparse(void)5147 yyparse (void)
5148 {
5149     int yystate;
5150     /* Number of tokens to shift before error messages enabled.  */
5151     int yyerrstatus;
5152 
5153     /* The stacks and their tools:
5154        'yyss': related to states.
5155        'yyvs': related to semantic values.
5156 
5157        Refer to the stacks through separate pointers, to allow yyoverflow
5158        to reallocate them elsewhere.  */
5159 
5160     /* The state stack.  */
5161     yytype_int16 yyssa[YYINITDEPTH];
5162     yytype_int16 *yyss;
5163     yytype_int16 *yyssp;
5164 
5165     /* The semantic value stack.  */
5166     YYSTYPE yyvsa[YYINITDEPTH];
5167     YYSTYPE *yyvs;
5168     YYSTYPE *yyvsp;
5169 
5170     YYSIZE_T yystacksize;
5171 
5172   int yyn;
5173   int yyresult;
5174   /* Lookahead token as an internal (translated) token number.  */
5175   int yytoken = 0;
5176   /* The variables used to return semantic value and location from the
5177      action routines.  */
5178   YYSTYPE yyval;
5179 
5180 #if YYERROR_VERBOSE
5181   /* Buffer for error messages, and its allocated size.  */
5182   char yymsgbuf[128];
5183   char *yymsg = yymsgbuf;
5184   YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
5185 #endif
5186 
5187 #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
5188 
5189   /* The number of symbols on the RHS of the reduced rule.
5190      Keep to zero when no symbol should be popped.  */
5191   int yylen = 0;
5192 
5193   yyssp = yyss = yyssa;
5194   yyvsp = yyvs = yyvsa;
5195   yystacksize = YYINITDEPTH;
5196 
5197   YYDPRINTF ((stderr, "Starting parse\n"));
5198 
5199   yystate = 0;
5200   yyerrstatus = 0;
5201   yynerrs = 0;
5202   yychar = YYEMPTY; /* Cause a token to be read.  */
5203   goto yysetstate;
5204 
5205 /*------------------------------------------------------------.
5206 | yynewstate -- Push a new state, which is found in yystate.  |
5207 `------------------------------------------------------------*/
5208  yynewstate:
5209   /* In all cases, when you get here, the value and location stacks
5210      have just been pushed.  So pushing a state here evens the stacks.  */
5211   yyssp++;
5212 
5213  yysetstate:
5214   *yyssp = yystate;
5215 
5216   if (yyss + yystacksize - 1 <= yyssp)
5217     {
5218       /* Get the current used size of the three stacks, in elements.  */
5219       YYSIZE_T yysize = yyssp - yyss + 1;
5220 
5221 #ifdef yyoverflow
5222       {
5223         /* Give user a chance to reallocate the stack.  Use copies of
5224            these so that the &'s don't force the real ones into
5225            memory.  */
5226         YYSTYPE *yyvs1 = yyvs;
5227         yytype_int16 *yyss1 = yyss;
5228 
5229         /* Each stack pointer address is followed by the size of the
5230            data in use in that stack, in bytes.  This used to be a
5231            conditional around just the two extra args, but that might
5232            be undefined if yyoverflow is a macro.  */
5233         yyoverflow (YY_("memory exhausted"),
5234                     &yyss1, yysize * sizeof (*yyssp),
5235                     &yyvs1, yysize * sizeof (*yyvsp),
5236                     &yystacksize);
5237 
5238         yyss = yyss1;
5239         yyvs = yyvs1;
5240       }
5241 #else /* no yyoverflow */
5242 # ifndef YYSTACK_RELOCATE
5243       goto yyexhaustedlab;
5244 # else
5245       /* Extend the stack our own way.  */
5246       if (YYMAXDEPTH <= yystacksize)
5247         goto yyexhaustedlab;
5248       yystacksize *= 2;
5249       if (YYMAXDEPTH < yystacksize)
5250         yystacksize = YYMAXDEPTH;
5251 
5252       {
5253         yytype_int16 *yyss1 = yyss;
5254         union yyalloc *yyptr =
5255           (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
5256         if (! yyptr)
5257           goto yyexhaustedlab;
5258         YYSTACK_RELOCATE (yyss_alloc, yyss);
5259         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
5260 #  undef YYSTACK_RELOCATE
5261         if (yyss1 != yyssa)
5262           YYSTACK_FREE (yyss1);
5263       }
5264 # endif
5265 #endif /* no yyoverflow */
5266 
5267       yyssp = yyss + yysize - 1;
5268       yyvsp = yyvs + yysize - 1;
5269 
5270       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
5271                   (unsigned long int) yystacksize));
5272 
5273       if (yyss + yystacksize - 1 <= yyssp)
5274         YYABORT;
5275     }
5276 
5277   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
5278 
5279   if (yystate == YYFINAL)
5280     YYACCEPT;
5281 
5282   goto yybackup;
5283 
5284 /*-----------.
5285 | yybackup.  |
5286 `-----------*/
5287 yybackup:
5288 
5289   /* Do appropriate processing given the current state.  Read a
5290      lookahead token if we need one and don't already have one.  */
5291 
5292   /* First try to decide what to do without reference to lookahead token.  */
5293   yyn = yypact[yystate];
5294   if (yypact_value_is_default (yyn))
5295     goto yydefault;
5296 
5297   /* Not known => get a lookahead token if don't already have one.  */
5298 
5299   /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
5300   if (yychar == YYEMPTY)
5301     {
5302       YYDPRINTF ((stderr, "Reading a token: "));
5303       yychar = yylex ();
5304     }
5305 
5306   if (yychar <= YYEOF)
5307     {
5308       yychar = yytoken = YYEOF;
5309       YYDPRINTF ((stderr, "Now at end of input.\n"));
5310     }
5311   else
5312     {
5313       yytoken = YYTRANSLATE (yychar);
5314       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
5315     }
5316 
5317   /* If the proper action on seeing token YYTOKEN is to reduce or to
5318      detect an error, take that action.  */
5319   yyn += yytoken;
5320   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
5321     goto yydefault;
5322   yyn = yytable[yyn];
5323   if (yyn <= 0)
5324     {
5325       if (yytable_value_is_error (yyn))
5326         goto yyerrlab;
5327       yyn = -yyn;
5328       goto yyreduce;
5329     }
5330 
5331   /* Count tokens shifted since error; after three, turn off error
5332      status.  */
5333   if (yyerrstatus)
5334     yyerrstatus--;
5335 
5336   /* Shift the lookahead token.  */
5337   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
5338 
5339   /* Discard the shifted token.  */
5340   yychar = YYEMPTY;
5341 
5342   yystate = yyn;
5343   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
5344   *++yyvsp = yylval;
5345   YY_IGNORE_MAYBE_UNINITIALIZED_END
5346 
5347   goto yynewstate;
5348 
5349 
5350 /*-----------------------------------------------------------.
5351 | yydefault -- do the default action for the current state.  |
5352 `-----------------------------------------------------------*/
5353 yydefault:
5354   yyn = yydefact[yystate];
5355   if (yyn == 0)
5356     goto yyerrlab;
5357   goto yyreduce;
5358 
5359 
5360 /*-----------------------------.
5361 | yyreduce -- Do a reduction.  |
5362 `-----------------------------*/
5363 yyreduce:
5364   /* yyn is the number of a rule to reduce with.  */
5365   yylen = yyr2[yyn];
5366 
5367   /* If YYLEN is nonzero, implement the default value of the action:
5368      '$$ = $1'.
5369 
5370      Otherwise, the following line sets YYVAL to garbage.
5371      This behavior is undocumented and Bison
5372      users should not rely upon it.  Assigning to YYVAL
5373      unconditionally makes the parser a bit smaller, and it avoids a
5374      GCC warning that YYVAL may be used uninitialized.  */
5375   yyval = yyvsp[1-yylen];
5376 
5377 
5378   YY_REDUCE_PRINT (yyn);
5379   switch (yyn)
5380     {
5381         case 3:
5382 #line 624 "pars.yacc" /* yacc.c:1646  */
5383     {
5384             expr_parsed = TRUE;
5385             s_result = (yyvsp[0].dval);
5386         }
5387 #line 5388 "y.tab.c" /* yacc.c:1646  */
5388     break;
5389 
5390   case 4:
5391 #line 628 "pars.yacc" /* yacc.c:1646  */
5392     {
5393             vexpr_parsed = TRUE;
5394             v_result = (yyvsp[0].vrbl);
5395         }
5396 #line 5397 "y.tab.c" /* yacc.c:1646  */
5397     break;
5398 
5399   case 8:
5400 #line 641 "pars.yacc" /* yacc.c:1646  */
5401     {}
5402 #line 5403 "y.tab.c" /* yacc.c:1646  */
5403     break;
5404 
5405   case 9:
5406 #line 642 "pars.yacc" /* yacc.c:1646  */
5407     {}
5408 #line 5409 "y.tab.c" /* yacc.c:1646  */
5409     break;
5410 
5411   case 10:
5412 #line 643 "pars.yacc" /* yacc.c:1646  */
5413     {}
5414 #line 5415 "y.tab.c" /* yacc.c:1646  */
5415     break;
5416 
5417   case 11:
5418 #line 644 "pars.yacc" /* yacc.c:1646  */
5419     {}
5420 #line 5421 "y.tab.c" /* yacc.c:1646  */
5421     break;
5422 
5423   case 12:
5424 #line 645 "pars.yacc" /* yacc.c:1646  */
5425     {}
5426 #line 5427 "y.tab.c" /* yacc.c:1646  */
5427     break;
5428 
5429   case 13:
5430 #line 646 "pars.yacc" /* yacc.c:1646  */
5431     {}
5432 #line 5433 "y.tab.c" /* yacc.c:1646  */
5433     break;
5434 
5435   case 14:
5436 #line 647 "pars.yacc" /* yacc.c:1646  */
5437     {}
5438 #line 5439 "y.tab.c" /* yacc.c:1646  */
5439     break;
5440 
5441   case 15:
5442 #line 648 "pars.yacc" /* yacc.c:1646  */
5443     {}
5444 #line 5445 "y.tab.c" /* yacc.c:1646  */
5445     break;
5446 
5447   case 16:
5448 #line 649 "pars.yacc" /* yacc.c:1646  */
5449     {}
5450 #line 5451 "y.tab.c" /* yacc.c:1646  */
5451     break;
5452 
5453   case 17:
5454 #line 650 "pars.yacc" /* yacc.c:1646  */
5455     {}
5456 #line 5457 "y.tab.c" /* yacc.c:1646  */
5457     break;
5458 
5459   case 18:
5460 #line 651 "pars.yacc" /* yacc.c:1646  */
5461     {
5462 	    return 1;
5463 	}
5464 #line 5465 "y.tab.c" /* yacc.c:1646  */
5465     break;
5466 
5467   case 19:
5468 #line 658 "pars.yacc" /* yacc.c:1646  */
5469     {
5470 	    (yyval.dval) = (yyvsp[0].dval);
5471 	}
5472 #line 5473 "y.tab.c" /* yacc.c:1646  */
5473     break;
5474 
5475   case 20:
5476 #line 661 "pars.yacc" /* yacc.c:1646  */
5477     {
5478 	    (yyval.dval) = *((yyvsp[0].dptr));
5479 	}
5480 #line 5481 "y.tab.c" /* yacc.c:1646  */
5481     break;
5482 
5483   case 21:
5484 #line 664 "pars.yacc" /* yacc.c:1646  */
5485     {
5486 	    (yyval.dval) = nonl_parms[(yyvsp[0].ival)].value;
5487 	}
5488 #line 5489 "y.tab.c" /* yacc.c:1646  */
5489     break;
5490 
5491   case 22:
5492 #line 667 "pars.yacc" /* yacc.c:1646  */
5493     {
5494 	    (yyval.dval) = nonl_parms[(yyvsp[0].ival)].max;
5495 	}
5496 #line 5497 "y.tab.c" /* yacc.c:1646  */
5497     break;
5498 
5499   case 23:
5500 #line 670 "pars.yacc" /* yacc.c:1646  */
5501     {
5502 	    (yyval.dval) = nonl_parms[(yyvsp[0].ival)].min;
5503 	}
5504 #line 5505 "y.tab.c" /* yacc.c:1646  */
5505     break;
5506 
5507   case 24:
5508 #line 673 "pars.yacc" /* yacc.c:1646  */
5509     {
5510             if ((yyvsp[0].ival) >= (yyvsp[-1].vrbl)->length) {
5511                 errmsg("Access beyond array bounds");
5512                 return 1;
5513             }
5514             (yyval.dval) = (yyvsp[-1].vrbl)->data[(yyvsp[0].ival)];
5515 	}
5516 #line 5517 "y.tab.c" /* yacc.c:1646  */
5517     break;
5518 
5519   case 25:
5520 #line 680 "pars.yacc" /* yacc.c:1646  */
5521     {
5522 	    double dummy, dummy2;
5523             int idummy, ind, length = (yyvsp[-1].vrbl)->length;
5524 	    if ((yyvsp[-1].vrbl)->data == NULL) {
5525 		yyerror("NULL variable, check set type");
5526 		return 1;
5527 	    }
5528 	    switch ((yyvsp[-3].ival)) {
5529 	    case MINP:
5530 		(yyval.dval) = vmin((yyvsp[-1].vrbl)->data, length);
5531 		break;
5532 	    case MAXP:
5533 		(yyval.dval) = vmax((yyvsp[-1].vrbl)->data, length);
5534 		break;
5535             case AVG:
5536 		stasum((yyvsp[-1].vrbl)->data, length, &(yyval.dval), &dummy);
5537                 break;
5538             case SD:
5539 		stasum((yyvsp[-1].vrbl)->data, length, &dummy, &(yyval.dval));
5540                 break;
5541             case SUM:
5542 		stasum((yyvsp[-1].vrbl)->data, length, &(yyval.dval), &dummy);
5543                 (yyval.dval) *= length;
5544                 break;
5545             case IMIN:
5546 		minmax((yyvsp[-1].vrbl)->data, length, &dummy, &dummy2, &ind, &idummy);
5547                 (yyval.dval) = (double) ind;
5548                 break;
5549             case IMAX:
5550 		minmax((yyvsp[-1].vrbl)->data, length, &dummy, &dummy2, &idummy, &ind);
5551                 (yyval.dval) = (double) ind;
5552                 break;
5553 	    }
5554 	}
5555 #line 5556 "y.tab.c" /* yacc.c:1646  */
5556     break;
5557 
5558   case 26:
5559 #line 714 "pars.yacc" /* yacc.c:1646  */
5560     {
5561 	    if ((yyvsp[-3].vrbl)->length != (yyvsp[-1].vrbl)->length) {
5562 		yyerror("X and Y are of different length");
5563 		return 1;
5564             } else {
5565                 (yyval.dval) = trapint((yyvsp[-3].vrbl)->data, (yyvsp[-1].vrbl)->data, NULL, NULL, (yyvsp[-3].vrbl)->length);
5566             }
5567 	}
5568 #line 5569 "y.tab.c" /* yacc.c:1646  */
5569     break;
5570 
5571   case 27:
5572 #line 722 "pars.yacc" /* yacc.c:1646  */
5573     {
5574 	    (yyval.dval) = (yyvsp[-2].vrbl)->length;
5575 	}
5576 #line 5577 "y.tab.c" /* yacc.c:1646  */
5577     break;
5578 
5579   case 28:
5580 #line 725 "pars.yacc" /* yacc.c:1646  */
5581     {
5582 	    (yyval.dval) = getsetlength((yyvsp[-2].trgt)->gno, (yyvsp[-2].trgt)->setno);
5583 	}
5584 #line 5585 "y.tab.c" /* yacc.c:1646  */
5585     break;
5586 
5587   case 29:
5588 #line 728 "pars.yacc" /* yacc.c:1646  */
5589     {
5590 	    (yyval.dval) = (yyvsp[-2].trgt)->setno;
5591 	}
5592 #line 5593 "y.tab.c" /* yacc.c:1646  */
5593     break;
5594 
5595   case 30:
5596 #line 731 "pars.yacc" /* yacc.c:1646  */
5597     {
5598 	    (yyval.dval) = (yyvsp[-2].ival);
5599 	}
5600 #line 5601 "y.tab.c" /* yacc.c:1646  */
5601     break;
5602 
5603   case 31:
5604 #line 735 "pars.yacc" /* yacc.c:1646  */
5605     {
5606             (yyval.dval) = ((ParserFnc) (key[(yyvsp[0].ival)].data)) ();
5607 	}
5608 #line 5609 "y.tab.c" /* yacc.c:1646  */
5609     break;
5610 
5611   case 32:
5612 #line 739 "pars.yacc" /* yacc.c:1646  */
5613     {
5614 	    (yyval.dval) = (yyvsp[-1].dval) * ((ParserFnc) (key[(yyvsp[0].ival)].data)) ();
5615 	}
5616 #line 5617 "y.tab.c" /* yacc.c:1646  */
5617     break;
5618 
5619   case 33:
5620 #line 743 "pars.yacc" /* yacc.c:1646  */
5621     {
5622 	    (yyval.dval) = drand48();
5623 	}
5624 #line 5625 "y.tab.c" /* yacc.c:1646  */
5625     break;
5626 
5627   case 34:
5628 #line 747 "pars.yacc" /* yacc.c:1646  */
5629     {
5630 	    (yyval.dval) = ((ParserFnc) (key[(yyvsp[-3].ival)].data)) ((yyvsp[-1].ival));
5631 	}
5632 #line 5633 "y.tab.c" /* yacc.c:1646  */
5633     break;
5634 
5635   case 35:
5636 #line 751 "pars.yacc" /* yacc.c:1646  */
5637     {
5638 	    (yyval.dval) = ((ParserFnc) (key[(yyvsp[-3].ival)].data)) ((yyvsp[-1].dval));
5639 	}
5640 #line 5641 "y.tab.c" /* yacc.c:1646  */
5641     break;
5642 
5643   case 36:
5644 #line 755 "pars.yacc" /* yacc.c:1646  */
5645     {
5646 	    (yyval.dval) = ((ParserFnc) (key[(yyvsp[-5].ival)].data)) ((yyvsp[-3].ival), (yyvsp[-1].dval));
5647 	}
5648 #line 5649 "y.tab.c" /* yacc.c:1646  */
5649     break;
5650 
5651   case 37:
5652 #line 759 "pars.yacc" /* yacc.c:1646  */
5653     {
5654 	    (yyval.dval) = ((ParserFnc) (key[(yyvsp[-5].ival)].data)) ((yyvsp[-3].ival), (yyvsp[-1].ival));
5655 	}
5656 #line 5657 "y.tab.c" /* yacc.c:1646  */
5657     break;
5658 
5659   case 38:
5660 #line 763 "pars.yacc" /* yacc.c:1646  */
5661     {
5662 	    (yyval.dval) = ((ParserFnc) (key[(yyvsp[-5].ival)].data)) ((yyvsp[-3].dval), (yyvsp[-1].dval));
5663 	}
5664 #line 5665 "y.tab.c" /* yacc.c:1646  */
5665     break;
5666 
5667   case 39:
5668 #line 767 "pars.yacc" /* yacc.c:1646  */
5669     {
5670 	    (yyval.dval) = ((ParserFnc) (key[(yyvsp[-7].ival)].data)) ((yyvsp[-5].ival), (yyvsp[-3].ival), (yyvsp[-1].dval));
5671 	}
5672 #line 5673 "y.tab.c" /* yacc.c:1646  */
5673     break;
5674 
5675   case 40:
5676 #line 771 "pars.yacc" /* yacc.c:1646  */
5677     {
5678 	    (yyval.dval) = ((ParserFnc) (key[(yyvsp[-7].ival)].data)) ((yyvsp[-5].dval), (yyvsp[-3].dval), (yyvsp[-1].dval));
5679 	}
5680 #line 5681 "y.tab.c" /* yacc.c:1646  */
5681     break;
5682 
5683   case 41:
5684 #line 775 "pars.yacc" /* yacc.c:1646  */
5685     {
5686 	    (yyval.dval) = ((ParserFnc) (key[(yyvsp[-9].ival)].data)) ((yyvsp[-7].dval), (yyvsp[-5].dval), (yyvsp[-3].dval), (yyvsp[-1].dval));
5687 	}
5688 #line 5689 "y.tab.c" /* yacc.c:1646  */
5689     break;
5690 
5691   case 42:
5692 #line 779 "pars.yacc" /* yacc.c:1646  */
5693     {
5694 	    (yyval.dval) = ((ParserFnc) (key[(yyvsp[-11].ival)].data)) ((yyvsp[-9].dval), (yyvsp[-7].dval), (yyvsp[-5].dval), (yyvsp[-3].dval), (yyvsp[-1].dval));
5695 	}
5696 #line 5697 "y.tab.c" /* yacc.c:1646  */
5697     break;
5698 
5699   case 43:
5700 #line 783 "pars.yacc" /* yacc.c:1646  */
5701     {
5702 	    (yyval.dval) = ((ParserFnc) (key[(yyvsp[-13].ival)].data)) ((yyvsp[-11].dval), (yyvsp[-9].dval), (yyvsp[-7].dval), (yyvsp[-5].dval), (yyvsp[-3].dval), (yyvsp[-1].dval));
5703 	}
5704 #line 5705 "y.tab.c" /* yacc.c:1646  */
5705     break;
5706 
5707   case 44:
5708 #line 786 "pars.yacc" /* yacc.c:1646  */
5709     {
5710 	    (yyval.dval) = g[(yyvsp[-2].ival)].v.xv1;
5711 	}
5712 #line 5713 "y.tab.c" /* yacc.c:1646  */
5713     break;
5714 
5715   case 45:
5716 #line 789 "pars.yacc" /* yacc.c:1646  */
5717     {
5718 	    (yyval.dval) = g[(yyvsp[-2].ival)].v.xv2;
5719 	}
5720 #line 5721 "y.tab.c" /* yacc.c:1646  */
5721     break;
5722 
5723   case 46:
5724 #line 792 "pars.yacc" /* yacc.c:1646  */
5725     {
5726 	    (yyval.dval) = g[(yyvsp[-2].ival)].v.yv1;
5727 	}
5728 #line 5729 "y.tab.c" /* yacc.c:1646  */
5729     break;
5730 
5731   case 47:
5732 #line 795 "pars.yacc" /* yacc.c:1646  */
5733     {
5734 	    (yyval.dval) = g[(yyvsp[-2].ival)].v.yv2;
5735 	}
5736 #line 5737 "y.tab.c" /* yacc.c:1646  */
5737     break;
5738 
5739   case 48:
5740 #line 798 "pars.yacc" /* yacc.c:1646  */
5741     {
5742 	    (yyval.dval) = g[(yyvsp[-2].ival)].w.xg1;
5743 	}
5744 #line 5745 "y.tab.c" /* yacc.c:1646  */
5745     break;
5746 
5747   case 49:
5748 #line 801 "pars.yacc" /* yacc.c:1646  */
5749     {
5750 	    (yyval.dval) = g[(yyvsp[-2].ival)].w.xg2;
5751 	}
5752 #line 5753 "y.tab.c" /* yacc.c:1646  */
5753     break;
5754 
5755   case 50:
5756 #line 804 "pars.yacc" /* yacc.c:1646  */
5757     {
5758 	    (yyval.dval) = g[(yyvsp[-2].ival)].w.yg1;
5759 	}
5760 #line 5761 "y.tab.c" /* yacc.c:1646  */
5761     break;
5762 
5763   case 51:
5764 #line 807 "pars.yacc" /* yacc.c:1646  */
5765     {
5766 	    (yyval.dval) = g[(yyvsp[-2].ival)].w.yg2;
5767 	}
5768 #line 5769 "y.tab.c" /* yacc.c:1646  */
5769     break;
5770 
5771   case 52:
5772 #line 810 "pars.yacc" /* yacc.c:1646  */
5773     {
5774             (yyval.dval) = (yyvsp[-1].dval);
5775 	}
5776 #line 5777 "y.tab.c" /* yacc.c:1646  */
5777     break;
5778 
5779   case 53:
5780 #line 813 "pars.yacc" /* yacc.c:1646  */
5781     { /* yr, mo, day */
5782 	    (yyval.dval) = cal_and_time_to_jul((yyvsp[-5].ival), (yyvsp[-3].ival), (yyvsp[-1].ival), 12, 0, 0.0);
5783 	}
5784 #line 5785 "y.tab.c" /* yacc.c:1646  */
5785     break;
5786 
5787   case 54:
5788 #line 817 "pars.yacc" /* yacc.c:1646  */
5789     { /* yr, mo, day, hr, min, sec */
5790 	    (yyval.dval) = cal_and_time_to_jul((yyvsp[-11].ival), (yyvsp[-9].ival), (yyvsp[-7].ival), (yyvsp[-5].ival), (yyvsp[-3].ival), (yyvsp[-1].dval));
5791 	}
5792 #line 5793 "y.tab.c" /* yacc.c:1646  */
5793     break;
5794 
5795   case 55:
5796 #line 820 "pars.yacc" /* yacc.c:1646  */
5797     {
5798 	    if (!is_valid_gno(whichgraph)) {
5799                 yyerror("No valid graph selected");
5800                 return 1;
5801             }
5802             (yyval.dval) = g[whichgraph].v.xv1;
5803 	}
5804 #line 5805 "y.tab.c" /* yacc.c:1646  */
5805     break;
5806 
5807   case 56:
5808 #line 827 "pars.yacc" /* yacc.c:1646  */
5809     {
5810 	    if (!is_valid_gno(whichgraph)) {
5811                 yyerror("No valid graph selected");
5812                 return 1;
5813             }
5814 	    (yyval.dval) = g[whichgraph].v.xv2;
5815 	}
5816 #line 5817 "y.tab.c" /* yacc.c:1646  */
5817     break;
5818 
5819   case 57:
5820 #line 834 "pars.yacc" /* yacc.c:1646  */
5821     {
5822 	    if (!is_valid_gno(whichgraph)) {
5823                 yyerror("No valid graph selected");
5824                 return 1;
5825             }
5826 	    (yyval.dval) = g[whichgraph].v.yv1;
5827 	}
5828 #line 5829 "y.tab.c" /* yacc.c:1646  */
5829     break;
5830 
5831   case 58:
5832 #line 841 "pars.yacc" /* yacc.c:1646  */
5833     {
5834 	    if (!is_valid_gno(whichgraph)) {
5835                 yyerror("No valid graph selected");
5836                 return 1;
5837             }
5838 	    (yyval.dval) = g[whichgraph].v.yv2;
5839 	}
5840 #line 5841 "y.tab.c" /* yacc.c:1646  */
5841     break;
5842 
5843   case 59:
5844 #line 848 "pars.yacc" /* yacc.c:1646  */
5845     {
5846 	    if (!is_valid_gno(whichgraph)) {
5847                 yyerror("No valid graph selected");
5848                 return 1;
5849             }
5850 	    (yyval.dval) = g[whichgraph].w.xg1;
5851 	}
5852 #line 5853 "y.tab.c" /* yacc.c:1646  */
5853     break;
5854 
5855   case 60:
5856 #line 855 "pars.yacc" /* yacc.c:1646  */
5857     {
5858 	    if (!is_valid_gno(whichgraph)) {
5859                 yyerror("No valid graph selected");
5860                 return 1;
5861             }
5862 	    (yyval.dval) = g[whichgraph].w.xg2;
5863 	}
5864 #line 5865 "y.tab.c" /* yacc.c:1646  */
5865     break;
5866 
5867   case 61:
5868 #line 862 "pars.yacc" /* yacc.c:1646  */
5869     {
5870 	    if (!is_valid_gno(whichgraph)) {
5871                 yyerror("No valid graph selected");
5872                 return 1;
5873             }
5874 	    (yyval.dval) = g[whichgraph].w.yg1;
5875 	}
5876 #line 5877 "y.tab.c" /* yacc.c:1646  */
5877     break;
5878 
5879   case 62:
5880 #line 869 "pars.yacc" /* yacc.c:1646  */
5881     {
5882 	    if (!is_valid_gno(whichgraph)) {
5883                 yyerror("No valid graph selected");
5884                 return 1;
5885             }
5886 	    (yyval.dval) = g[whichgraph].w.yg2;
5887 	}
5888 #line 5889 "y.tab.c" /* yacc.c:1646  */
5889     break;
5890 
5891   case 63:
5892 #line 876 "pars.yacc" /* yacc.c:1646  */
5893     {
5894 	    double vx, vy;
5895             get_page_viewport(&vx, &vy);
5896             (yyval.dval) = vx;
5897 	}
5898 #line 5899 "y.tab.c" /* yacc.c:1646  */
5899     break;
5900 
5901   case 64:
5902 #line 881 "pars.yacc" /* yacc.c:1646  */
5903     {
5904 	    double vx, vy;
5905             get_page_viewport(&vx, &vy);
5906             (yyval.dval) = vy;
5907 	}
5908 #line 5909 "y.tab.c" /* yacc.c:1646  */
5909     break;
5910 
5911   case 65:
5912 #line 886 "pars.yacc" /* yacc.c:1646  */
5913     {
5914 	    (yyval.dval) = (yyvsp[-1].dval);
5915 	}
5916 #line 5917 "y.tab.c" /* yacc.c:1646  */
5917     break;
5918 
5919   case 66:
5920 #line 889 "pars.yacc" /* yacc.c:1646  */
5921     {
5922 	    (yyval.dval) = (yyvsp[-2].dval) + (yyvsp[0].dval);
5923 	}
5924 #line 5925 "y.tab.c" /* yacc.c:1646  */
5925     break;
5926 
5927   case 67:
5928 #line 892 "pars.yacc" /* yacc.c:1646  */
5929     {
5930 	    (yyval.dval) = (yyvsp[-2].dval) - (yyvsp[0].dval);
5931 	}
5932 #line 5933 "y.tab.c" /* yacc.c:1646  */
5933     break;
5934 
5935   case 68:
5936 #line 895 "pars.yacc" /* yacc.c:1646  */
5937     {
5938 	    (yyval.dval) = -(yyvsp[0].dval);
5939 	}
5940 #line 5941 "y.tab.c" /* yacc.c:1646  */
5941     break;
5942 
5943   case 69:
5944 #line 898 "pars.yacc" /* yacc.c:1646  */
5945     {
5946 	    (yyval.dval) = (yyvsp[0].dval);
5947 	}
5948 #line 5949 "y.tab.c" /* yacc.c:1646  */
5949     break;
5950 
5951   case 70:
5952 #line 901 "pars.yacc" /* yacc.c:1646  */
5953     {
5954 	    (yyval.dval) = (yyvsp[-2].dval) * (yyvsp[0].dval);
5955 	}
5956 #line 5957 "y.tab.c" /* yacc.c:1646  */
5957     break;
5958 
5959   case 71:
5960 #line 905 "pars.yacc" /* yacc.c:1646  */
5961     {
5962 	    if ((yyvsp[0].dval) != 0.0) {
5963 		(yyval.dval) = (yyvsp[-2].dval) / (yyvsp[0].dval);
5964 	    } else {
5965 		yyerror("Divide by zero");
5966 		return 1;
5967 	    }
5968 	}
5969 #line 5970 "y.tab.c" /* yacc.c:1646  */
5970     break;
5971 
5972   case 72:
5973 #line 913 "pars.yacc" /* yacc.c:1646  */
5974     {
5975 	    if ((yyvsp[0].dval) != 0.0) {
5976 		(yyval.dval) = fmod((yyvsp[-2].dval), (yyvsp[0].dval));
5977 	    } else {
5978 		yyerror("Divide by zero");
5979 		return 1;
5980 	    }
5981 	}
5982 #line 5983 "y.tab.c" /* yacc.c:1646  */
5983     break;
5984 
5985   case 73:
5986 #line 921 "pars.yacc" /* yacc.c:1646  */
5987     {
5988 	    if ((yyvsp[-2].dval) < 0 && rint((yyvsp[0].dval)) != (yyvsp[0].dval)) {
5989 		yyerror("Negative value raised to non-integer power");
5990 		return 1;
5991             } else if ((yyvsp[-2].dval) == 0.0 && (yyvsp[0].dval) <= 0.0) {
5992 		yyerror("Zero raised to non-positive power");
5993 		return 1;
5994             } else {
5995                 (yyval.dval) = pow((yyvsp[-2].dval), (yyvsp[0].dval));
5996             }
5997 	}
5998 #line 5999 "y.tab.c" /* yacc.c:1646  */
5999     break;
6000 
6001   case 74:
6002 #line 932 "pars.yacc" /* yacc.c:1646  */
6003     {
6004 	    (yyval.dval) = (yyvsp[-4].dval) ? (yyvsp[-2].dval) : (yyvsp[0].dval);
6005 	}
6006 #line 6007 "y.tab.c" /* yacc.c:1646  */
6007     break;
6008 
6009   case 75:
6010 #line 935 "pars.yacc" /* yacc.c:1646  */
6011     {
6012 	   (yyval.dval) = ((yyvsp[-2].dval) > (yyvsp[0].dval));
6013 	}
6014 #line 6015 "y.tab.c" /* yacc.c:1646  */
6015     break;
6016 
6017   case 76:
6018 #line 938 "pars.yacc" /* yacc.c:1646  */
6019     {
6020 	   (yyval.dval) = ((yyvsp[-2].dval) < (yyvsp[0].dval));
6021 	}
6022 #line 6023 "y.tab.c" /* yacc.c:1646  */
6023     break;
6024 
6025   case 77:
6026 #line 941 "pars.yacc" /* yacc.c:1646  */
6027     {
6028 	   (yyval.dval) = ((yyvsp[-2].dval) <= (yyvsp[0].dval));
6029 	}
6030 #line 6031 "y.tab.c" /* yacc.c:1646  */
6031     break;
6032 
6033   case 78:
6034 #line 944 "pars.yacc" /* yacc.c:1646  */
6035     {
6036 	   (yyval.dval) = ((yyvsp[-2].dval) >= (yyvsp[0].dval));
6037 	}
6038 #line 6039 "y.tab.c" /* yacc.c:1646  */
6039     break;
6040 
6041   case 79:
6042 #line 947 "pars.yacc" /* yacc.c:1646  */
6043     {
6044 	   (yyval.dval) = ((yyvsp[-2].dval) == (yyvsp[0].dval));
6045 	}
6046 #line 6047 "y.tab.c" /* yacc.c:1646  */
6047     break;
6048 
6049   case 80:
6050 #line 950 "pars.yacc" /* yacc.c:1646  */
6051     {
6052 	    (yyval.dval) = ((yyvsp[-2].dval) != (yyvsp[0].dval));
6053 	}
6054 #line 6055 "y.tab.c" /* yacc.c:1646  */
6055     break;
6056 
6057   case 81:
6058 #line 953 "pars.yacc" /* yacc.c:1646  */
6059     {
6060 	    (yyval.dval) = (yyvsp[-2].dval) && (yyvsp[0].dval);
6061 	}
6062 #line 6063 "y.tab.c" /* yacc.c:1646  */
6063     break;
6064 
6065   case 82:
6066 #line 956 "pars.yacc" /* yacc.c:1646  */
6067     {
6068 	    (yyval.dval) = (yyvsp[-2].dval) || (yyvsp[0].dval);
6069 	}
6070 #line 6071 "y.tab.c" /* yacc.c:1646  */
6071     break;
6072 
6073   case 83:
6074 #line 959 "pars.yacc" /* yacc.c:1646  */
6075     {
6076 	    (yyval.dval) = !((yyvsp[0].dval));
6077 	}
6078 #line 6079 "y.tab.c" /* yacc.c:1646  */
6079     break;
6080 
6081   case 84:
6082 #line 964 "pars.yacc" /* yacc.c:1646  */
6083     {
6084             (yyval.sval) = (yyvsp[0].sval);
6085 	}
6086 #line 6087 "y.tab.c" /* yacc.c:1646  */
6087     break;
6088 
6089   case 85:
6090 #line 967 "pars.yacc" /* yacc.c:1646  */
6091     {
6092             (yyval.sval) = concat_strings((yyvsp[-2].sval), (yyvsp[0].sval));
6093             xfree((yyvsp[0].sval));
6094         }
6095 #line 6096 "y.tab.c" /* yacc.c:1646  */
6096     break;
6097 
6098   case 86:
6099 #line 971 "pars.yacc" /* yacc.c:1646  */
6100     {
6101             char buf[32];
6102             set_locale_num(TRUE);
6103             sprintf(buf, "%g", (yyvsp[0].dval));
6104             set_locale_num(FALSE);
6105             (yyval.sval) = concat_strings((yyvsp[-2].sval), buf);
6106         }
6107 #line 6108 "y.tab.c" /* yacc.c:1646  */
6108     break;
6109 
6110   case 87:
6111 #line 980 "pars.yacc" /* yacc.c:1646  */
6112     {
6113 	    int itmp = rint((yyvsp[0].dval));
6114             if (fabs(itmp - (yyvsp[0].dval)) > 1.e-6) {
6115 		yyerror("Non-integer value supplied for integer");
6116 		return 1;
6117             }
6118             (yyval.ival) = itmp;
6119         }
6120 #line 6121 "y.tab.c" /* yacc.c:1646  */
6121     break;
6122 
6123   case 88:
6124 #line 990 "pars.yacc" /* yacc.c:1646  */
6125     {
6126             if ((yyvsp[0].ival) < 0) {
6127 		yyerror("Negative value supplied for non-negative");
6128 		return 1;
6129             }
6130             (yyval.ival) = (yyvsp[0].ival);
6131 	}
6132 #line 6133 "y.tab.c" /* yacc.c:1646  */
6133     break;
6134 
6135   case 89:
6136 #line 999 "pars.yacc" /* yacc.c:1646  */
6137     {
6138 	    int itmp = (yyvsp[-1].ival) - index_shift;
6139             if (itmp < 0) {
6140 		yyerror("Negative index");
6141 		return 1;
6142             }
6143             (yyval.ival) = itmp;
6144 	}
6145 #line 6146 "y.tab.c" /* yacc.c:1646  */
6146     break;
6147 
6148   case 90:
6149 #line 1009 "pars.yacc" /* yacc.c:1646  */
6150     {
6151             (yyval.dval) = (yyvsp[0].dval);
6152         }
6153 #line 6154 "y.tab.c" /* yacc.c:1646  */
6154     break;
6155 
6156   case 91:
6157 #line 1012 "pars.yacc" /* yacc.c:1646  */
6158     {
6159             double jul;
6160             Dates_format dummy;
6161             if (parse_date((yyvsp[0].sval), get_date_hint(), FALSE, &jul, &dummy)
6162                 == RETURN_SUCCESS) {
6163                 xfree((yyvsp[0].sval));
6164                 (yyval.dval) = jul;
6165             } else {
6166                 xfree((yyvsp[0].sval));
6167 		yyerror("Invalid date");
6168 		return 1;
6169             }
6170         }
6171 #line 6172 "y.tab.c" /* yacc.c:1646  */
6172     break;
6173 
6174   case 92:
6175 #line 1027 "pars.yacc" /* yacc.c:1646  */
6176     {
6177             (yyval.dval) = (yyvsp[0].dval);
6178         }
6179 #line 6180 "y.tab.c" /* yacc.c:1646  */
6180     break;
6181 
6182   case 93:
6183 #line 1030 "pars.yacc" /* yacc.c:1646  */
6184     {
6185             double jul;
6186             Dates_format dummy;
6187             if (parse_date((yyvsp[0].sval), get_date_hint(), TRUE, &jul, &dummy)
6188                 == RETURN_SUCCESS) {
6189                 xfree((yyvsp[0].sval));
6190                 (yyval.dval) = jul;
6191             } else {
6192                 xfree((yyvsp[0].sval));
6193 		yyerror("Invalid date");
6194 		return 1;
6195             }
6196         }
6197 #line 6198 "y.tab.c" /* yacc.c:1646  */
6198     break;
6199 
6200   case 94:
6201 #line 1047 "pars.yacc" /* yacc.c:1646  */
6202     {
6203             (yyval.vrbl) = (yyvsp[0].vrbl);
6204 	}
6205 #line 6206 "y.tab.c" /* yacc.c:1646  */
6206     break;
6207 
6208   case 95:
6209 #line 1051 "pars.yacc" /* yacc.c:1646  */
6210     {
6211 	    double *ptr = getcol(vasgn_gno, vasgn_setno, (yyvsp[0].ival));
6212             (yyval.vrbl) = &freelist[fcnt++];
6213             (yyval.vrbl)->type = GRARR_SET;
6214             (yyval.vrbl)->data = ptr;
6215             if (ptr == NULL) {
6216                 errmsg("NULL variable - check set type");
6217                 return 1;
6218             } else {
6219                 (yyval.vrbl)->length = getsetlength(vasgn_gno, vasgn_setno);
6220             }
6221 	}
6222 #line 6223 "y.tab.c" /* yacc.c:1646  */
6223     break;
6224 
6225   case 96:
6226 #line 1064 "pars.yacc" /* yacc.c:1646  */
6227     {
6228 	    double *ptr = getcol((yyvsp[-2].trgt)->gno, (yyvsp[-2].trgt)->setno, (yyvsp[0].ival));
6229             (yyval.vrbl) = &freelist[fcnt++];
6230             (yyval.vrbl)->type = GRARR_SET;
6231             (yyval.vrbl)->data = ptr;
6232             if (ptr == NULL) {
6233                 errmsg("NULL variable - check set type");
6234                 return 1;
6235             } else {
6236                 (yyval.vrbl)->length = getsetlength((yyvsp[-2].trgt)->gno, (yyvsp[-2].trgt)->setno);
6237             }
6238 	}
6239 #line 6240 "y.tab.c" /* yacc.c:1646  */
6240     break;
6241 
6242   case 97:
6243 #line 1080 "pars.yacc" /* yacc.c:1646  */
6244     {
6245             (yyval.vrbl) = (yyvsp[0].vrbl);
6246 	}
6247 #line 6248 "y.tab.c" /* yacc.c:1646  */
6248     break;
6249 
6250   case 98:
6251 #line 1084 "pars.yacc" /* yacc.c:1646  */
6252     {
6253             int start = (yyvsp[-3].ival) - index_shift, stop = (yyvsp[-1].ival) - index_shift;
6254             if (start < 0 || stop < start || stop >= (yyvsp[-5].vrbl)->length) {
6255 		yyerror("Invalid index range");
6256             } else {
6257                 int len = stop - start + 1;
6258 	        double *ptr = xmalloc(len*SIZEOF_DOUBLE);
6259                 if ((yyval.vrbl)->data == NULL) {
6260                     yyerror("Not enough memory");
6261                 } else {
6262                     int i;
6263                     (yyval.vrbl) = &freelist[fcnt++];
6264 	            (yyval.vrbl)->data = ptr;
6265                     (yyval.vrbl)->length = len;
6266                     (yyval.vrbl)->type = GRARR_TMP;
6267                     for (i = 0; i < len; i++) {
6268                         (yyval.vrbl)->data[i] = (yyvsp[-5].vrbl)->data[i + (yyvsp[-3].ival)];
6269                     }
6270                 }
6271             }
6272 	}
6273 #line 6274 "y.tab.c" /* yacc.c:1646  */
6274     break;
6275 
6276   case 99:
6277 #line 1106 "pars.yacc" /* yacc.c:1646  */
6278     {
6279             int len = (yyvsp[-1].ival);
6280             if (len < 1) {
6281                 yyerror("npoints must be > 0");
6282             } else {
6283                 double *ptr = allocate_index_data(len);
6284                 if (ptr == NULL) {
6285                     errmsg("Malloc failed");
6286                     return 1;
6287                 } else {
6288                     (yyval.vrbl) = &freelist[fcnt++];
6289                     (yyval.vrbl)->type = GRARR_TMP;
6290                     (yyval.vrbl)->data = ptr;
6291                     (yyval.vrbl)->length = len;
6292                 }
6293             }
6294 	}
6295 #line 6296 "y.tab.c" /* yacc.c:1646  */
6296     break;
6297 
6298   case 100:
6299 #line 1124 "pars.yacc" /* yacc.c:1646  */
6300     {
6301             int len = (yyvsp[-1].ival);
6302             if (len < 2) {
6303                 yyerror("npoints must be > 1");
6304             } else {
6305                 double *ptr = allocate_mesh((yyvsp[-5].dval), (yyvsp[-3].dval), len);
6306                 if (ptr == NULL) {
6307                     errmsg("Malloc failed");
6308                     return 1;
6309                 } else {
6310                     (yyval.vrbl) = &freelist[fcnt++];
6311                     (yyval.vrbl)->type = GRARR_TMP;
6312                     (yyval.vrbl)->data = ptr;
6313                     (yyval.vrbl)->length = len;
6314                 }
6315             }
6316 	}
6317 #line 6318 "y.tab.c" /* yacc.c:1646  */
6318     break;
6319 
6320   case 101:
6321 #line 1142 "pars.yacc" /* yacc.c:1646  */
6322     {
6323 	    int i;
6324             (yyval.vrbl) = &freelist[fcnt++];
6325 	    (yyval.vrbl)->data = xmalloc((yyvsp[-1].ival)*SIZEOF_DOUBLE);
6326             if ((yyval.vrbl)->data == NULL) {
6327                 errmsg("Not enough memory");
6328                 return 1;
6329             } else {
6330                 (yyval.vrbl)->length = (yyvsp[-1].ival);
6331                 (yyval.vrbl)->type = GRARR_TMP;
6332             }
6333             for (i = 0; i < (yyval.vrbl)->length; i++) {
6334 		(yyval.vrbl)->data[i] = drand48();
6335 	    }
6336 	}
6337 #line 6338 "y.tab.c" /* yacc.c:1646  */
6338     break;
6339 
6340   case 102:
6341 #line 1158 "pars.yacc" /* yacc.c:1646  */
6342     {
6343 	    int rtype, i, len;
6344             char *rarray;
6345 
6346             rtype = RESTRICT_REG0 + (yyvsp[-3].ival);
6347 
6348 	    if (get_restriction_array((yyvsp[-1].trgt)->gno, (yyvsp[-1].trgt)->setno,
6349                 rtype, FALSE, &rarray) != RETURN_SUCCESS) {
6350                 errmsg("Error in region evaluation");
6351                 return 1;
6352 	    }
6353 
6354             len = getsetlength((yyvsp[-1].trgt)->gno, (yyvsp[-1].trgt)->setno);
6355             (yyval.vrbl) = &freelist[fcnt++];
6356 	    (yyval.vrbl)->data = xmalloc(len*SIZEOF_DOUBLE);
6357             if ((yyval.vrbl)->data == NULL) {
6358                 errmsg("Not enough memory");
6359                 return 1;
6360             } else {
6361                 (yyval.vrbl)->length = len;
6362                 (yyval.vrbl)->type = GRARR_TMP;
6363             }
6364             for (i = 0; i < (yyval.vrbl)->length; i++) {
6365 		(yyval.vrbl)->data[i] = rarray[i];
6366 	    }
6367 
6368             xfree(rarray);
6369 	}
6370 #line 6371 "y.tab.c" /* yacc.c:1646  */
6371     break;
6372 
6373   case 103:
6374 #line 1187 "pars.yacc" /* yacc.c:1646  */
6375     {
6376             int i;
6377             (yyval.vrbl) = &freelist[fcnt++];
6378             copy_vrbl((yyval.vrbl), (yyvsp[-1].vrbl));
6379             (yyval.vrbl)->type = GRARR_TMP;
6380             for (i = 1; i < (yyval.vrbl)->length; i++) {
6381                 (yyval.vrbl)->data[i] += (yyval.vrbl)->data[i - 1];
6382             }
6383 	}
6384 #line 6385 "y.tab.c" /* yacc.c:1646  */
6385     break;
6386 
6387   case 104:
6388 #line 1197 "pars.yacc" /* yacc.c:1646  */
6389     {
6390 	    int i;
6391             (yyval.vrbl) = &freelist[fcnt++];
6392 	    copy_vrbl((yyval.vrbl), (yyvsp[-1].vrbl));
6393             (yyval.vrbl)->type = GRARR_TMP;
6394 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
6395 		(yyval.vrbl)->data[i] = ((ParserFnc) (key[(yyvsp[-3].ival)].data)) ((int) ((yyvsp[-1].vrbl)->data[i]));
6396 	    }
6397 	}
6398 #line 6399 "y.tab.c" /* yacc.c:1646  */
6399     break;
6400 
6401   case 105:
6402 #line 1207 "pars.yacc" /* yacc.c:1646  */
6403     {
6404 	    int i;
6405             (yyval.vrbl) = &freelist[fcnt++];
6406 	    copy_vrbl((yyval.vrbl), (yyvsp[-1].vrbl));
6407             (yyval.vrbl)->type = GRARR_TMP;
6408 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
6409 		(yyval.vrbl)->data[i] = ((ParserFnc) (key[(yyvsp[-3].ival)].data)) (((yyvsp[-1].vrbl)->data[i]));
6410 	    }
6411 	}
6412 #line 6413 "y.tab.c" /* yacc.c:1646  */
6413     break;
6414 
6415   case 106:
6416 #line 1217 "pars.yacc" /* yacc.c:1646  */
6417     {
6418 	    int i;
6419 	    if ((yyvsp[-3].vrbl)->length != (yyvsp[-1].vrbl)->length) {
6420                 errmsg("Can't operate on vectors of different lengths");
6421                 return 1;
6422             }
6423             (yyval.vrbl) = &freelist[fcnt++];
6424 	    copy_vrbl((yyval.vrbl), (yyvsp[-3].vrbl));
6425             (yyval.vrbl)->type = GRARR_TMP;
6426 
6427 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
6428 		(yyval.vrbl)->data[i] = ((ParserFnc) (key[(yyvsp[-5].ival)].data)) ((yyvsp[-3].vrbl)->data[i], (yyvsp[-1].vrbl)->data[i]);
6429 	    }
6430 	}
6431 #line 6432 "y.tab.c" /* yacc.c:1646  */
6432     break;
6433 
6434   case 107:
6435 #line 1232 "pars.yacc" /* yacc.c:1646  */
6436     {
6437 	    int i;
6438             (yyval.vrbl) = &freelist[fcnt++];
6439 	    copy_vrbl((yyval.vrbl), (yyvsp[-1].vrbl));
6440             (yyval.vrbl)->type = GRARR_TMP;
6441 
6442 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
6443 		(yyval.vrbl)->data[i] = ((ParserFnc) (key[(yyvsp[-5].ival)].data)) ((yyvsp[-3].dval), (yyvsp[-1].vrbl)->data[i]);
6444 	    }
6445 	}
6446 #line 6447 "y.tab.c" /* yacc.c:1646  */
6447     break;
6448 
6449   case 108:
6450 #line 1243 "pars.yacc" /* yacc.c:1646  */
6451     {
6452 	    int i;
6453             (yyval.vrbl) = &freelist[fcnt++];
6454 	    copy_vrbl((yyval.vrbl), (yyvsp[-3].vrbl));
6455             (yyval.vrbl)->type = GRARR_TMP;
6456 
6457 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
6458 		(yyval.vrbl)->data[i] = ((ParserFnc) (key[(yyvsp[-5].ival)].data)) ((yyvsp[-3].vrbl)->data[i], (yyvsp[-1].dval));
6459 	    }
6460 	}
6461 #line 6462 "y.tab.c" /* yacc.c:1646  */
6462     break;
6463 
6464   case 109:
6465 #line 1254 "pars.yacc" /* yacc.c:1646  */
6466     {
6467 	    int i;
6468             (yyval.vrbl) = &freelist[fcnt++];
6469 	    copy_vrbl((yyval.vrbl), (yyvsp[-1].vrbl));
6470             (yyval.vrbl)->type = GRARR_TMP;
6471 
6472 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
6473 		(yyval.vrbl)->data[i] = ((ParserFnc) (key[(yyvsp[-5].ival)].data)) ((yyvsp[-3].ival), (yyvsp[-1].vrbl)->data[i]);
6474 	    }
6475 	}
6476 #line 6477 "y.tab.c" /* yacc.c:1646  */
6477     break;
6478 
6479   case 110:
6480 #line 1265 "pars.yacc" /* yacc.c:1646  */
6481     {
6482 	    int i;
6483             (yyval.vrbl) = &freelist[fcnt++];
6484 	    copy_vrbl((yyval.vrbl), (yyvsp[-1].vrbl));
6485             (yyval.vrbl)->type = GRARR_TMP;
6486 
6487 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
6488 		(yyval.vrbl)->data[i] = ((ParserFnc) (key[(yyvsp[-7].ival)].data)) ((yyvsp[-5].ival), (yyvsp[-3].ival), (yyvsp[-1].vrbl)->data[i]);
6489 	    }
6490 	}
6491 #line 6492 "y.tab.c" /* yacc.c:1646  */
6492     break;
6493 
6494   case 111:
6495 #line 1276 "pars.yacc" /* yacc.c:1646  */
6496     {
6497 	    int i;
6498             (yyval.vrbl) = &freelist[fcnt++];
6499 	    copy_vrbl((yyval.vrbl), (yyvsp[-1].vrbl));
6500             (yyval.vrbl)->type = GRARR_TMP;
6501 
6502 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
6503 		(yyval.vrbl)->data[i] = ((ParserFnc) (key[(yyvsp[-7].ival)].data)) ((yyvsp[-5].dval), (yyvsp[-3].dval), (yyvsp[-1].vrbl)->data[i]);
6504 	    }
6505 	}
6506 #line 6507 "y.tab.c" /* yacc.c:1646  */
6507     break;
6508 
6509   case 112:
6510 #line 1287 "pars.yacc" /* yacc.c:1646  */
6511     {
6512 	    int i;
6513             (yyval.vrbl) = &freelist[fcnt++];
6514 	    copy_vrbl((yyval.vrbl), (yyvsp[-1].vrbl));
6515             (yyval.vrbl)->type = GRARR_TMP;
6516 
6517 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
6518 		(yyval.vrbl)->data[i] = ((ParserFnc) (key[(yyvsp[-9].ival)].data)) ((yyvsp[-7].dval), (yyvsp[-5].dval), (yyvsp[-3].dval), (yyvsp[-1].vrbl)->data[i]);
6519 	    }
6520 	}
6521 #line 6522 "y.tab.c" /* yacc.c:1646  */
6522     break;
6523 
6524   case 113:
6525 #line 1298 "pars.yacc" /* yacc.c:1646  */
6526     {
6527 	    int i;
6528             (yyval.vrbl) = &freelist[fcnt++];
6529 	    copy_vrbl((yyval.vrbl), (yyvsp[-1].vrbl));
6530             (yyval.vrbl)->type = GRARR_TMP;
6531 
6532 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
6533 		(yyval.vrbl)->data[i] = ((ParserFnc) (key[(yyvsp[-11].ival)].data)) ((yyvsp[-9].dval), (yyvsp[-7].dval), (yyvsp[-5].dval), (yyvsp[-3].dval), (yyvsp[-1].vrbl)->data[i]);
6534 	    }
6535 	}
6536 #line 6537 "y.tab.c" /* yacc.c:1646  */
6537     break;
6538 
6539   case 114:
6540 #line 1309 "pars.yacc" /* yacc.c:1646  */
6541     {
6542 	    int i;
6543             (yyval.vrbl) = &freelist[fcnt++];
6544 	    copy_vrbl((yyval.vrbl), (yyvsp[-1].vrbl));
6545             (yyval.vrbl)->type = GRARR_TMP;
6546 
6547 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
6548 		(yyval.vrbl)->data[i] = ((ParserFnc) (key[(yyvsp[-13].ival)].data)) ((yyvsp[-11].dval), (yyvsp[-9].dval), (yyvsp[-7].dval), (yyvsp[-5].dval), (yyvsp[-3].dval), (yyvsp[-1].vrbl)->data[i]);
6549 	    }
6550 	}
6551 #line 6552 "y.tab.c" /* yacc.c:1646  */
6552     break;
6553 
6554   case 115:
6555 #line 1320 "pars.yacc" /* yacc.c:1646  */
6556     {
6557 	    int i;
6558 	    if ((yyvsp[-2].vrbl)->length != (yyvsp[0].vrbl)->length) {
6559                 errmsg("Can't operate on vectors of different lengths");
6560                 return 1;
6561             }
6562             (yyval.vrbl) = &freelist[fcnt++];
6563 	    copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
6564             (yyval.vrbl)->type = GRARR_TMP;
6565 
6566 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
6567 		(yyval.vrbl)->data[i] = (yyvsp[-2].vrbl)->data[i] + (yyvsp[0].vrbl)->data[i];
6568 	    }
6569 	}
6570 #line 6571 "y.tab.c" /* yacc.c:1646  */
6571     break;
6572 
6573   case 116:
6574 #line 1335 "pars.yacc" /* yacc.c:1646  */
6575     {
6576 	    int i;
6577             (yyval.vrbl) = &freelist[fcnt++];
6578 	    copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
6579             (yyval.vrbl)->type = GRARR_TMP;
6580 
6581 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
6582 		(yyval.vrbl)->data[i] = (yyvsp[-2].vrbl)->data[i] + (yyvsp[0].dval);
6583 	    }
6584 	}
6585 #line 6586 "y.tab.c" /* yacc.c:1646  */
6586     break;
6587 
6588   case 117:
6589 #line 1346 "pars.yacc" /* yacc.c:1646  */
6590     {
6591 	    int i;
6592             (yyval.vrbl) = &freelist[fcnt++];
6593 	    copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
6594             (yyval.vrbl)->type = GRARR_TMP;
6595 
6596 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
6597 		(yyval.vrbl)->data[i] = (yyvsp[-2].dval) + (yyvsp[0].vrbl)->data[i];
6598 	    }
6599 	}
6600 #line 6601 "y.tab.c" /* yacc.c:1646  */
6601     break;
6602 
6603   case 118:
6604 #line 1357 "pars.yacc" /* yacc.c:1646  */
6605     {
6606 	    int i;
6607 	    if ((yyvsp[-2].vrbl)->length != (yyvsp[0].vrbl)->length) {
6608                 errmsg("Can't operate on vectors of different lengths");
6609                 return 1;
6610             }
6611             (yyval.vrbl) = &freelist[fcnt++];
6612 	    copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
6613             (yyval.vrbl)->type = GRARR_TMP;
6614 
6615 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
6616 		(yyval.vrbl)->data[i] = (yyvsp[-2].vrbl)->data[i] - (yyvsp[0].vrbl)->data[i];
6617 	    }
6618 	}
6619 #line 6620 "y.tab.c" /* yacc.c:1646  */
6620     break;
6621 
6622   case 119:
6623 #line 1372 "pars.yacc" /* yacc.c:1646  */
6624     {
6625 	    int i;
6626             (yyval.vrbl) = &freelist[fcnt++];
6627 	    copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
6628             (yyval.vrbl)->type = GRARR_TMP;
6629 
6630 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
6631 		(yyval.vrbl)->data[i] = (yyvsp[-2].vrbl)->data[i] - (yyvsp[0].dval);
6632 	    }
6633 	}
6634 #line 6635 "y.tab.c" /* yacc.c:1646  */
6635     break;
6636 
6637   case 120:
6638 #line 1383 "pars.yacc" /* yacc.c:1646  */
6639     {
6640 	    int i;
6641             (yyval.vrbl) = &freelist[fcnt++];
6642 	    copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
6643             (yyval.vrbl)->type = GRARR_TMP;
6644 
6645 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
6646 		(yyval.vrbl)->data[i] = (yyvsp[-2].dval) - (yyvsp[0].vrbl)->data[i];
6647 	    }
6648 	}
6649 #line 6650 "y.tab.c" /* yacc.c:1646  */
6650     break;
6651 
6652   case 121:
6653 #line 1394 "pars.yacc" /* yacc.c:1646  */
6654     {
6655 	    int i;
6656 	    if ((yyvsp[-2].vrbl)->length != (yyvsp[0].vrbl)->length) {
6657                 errmsg("Can't operate on vectors of different lengths");
6658                 return 1;
6659             }
6660             (yyval.vrbl) = &freelist[fcnt++];
6661 	    copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
6662             (yyval.vrbl)->type = GRARR_TMP;
6663 
6664 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
6665 		(yyval.vrbl)->data[i] = (yyvsp[-2].vrbl)->data[i] * (yyvsp[0].vrbl)->data[i];
6666 	    }
6667 	}
6668 #line 6669 "y.tab.c" /* yacc.c:1646  */
6669     break;
6670 
6671   case 122:
6672 #line 1409 "pars.yacc" /* yacc.c:1646  */
6673     {
6674 	    int i;
6675             (yyval.vrbl) = &freelist[fcnt++];
6676 	    copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
6677             (yyval.vrbl)->type = GRARR_TMP;
6678 
6679 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
6680 		(yyval.vrbl)->data[i] = (yyvsp[-2].vrbl)->data[i] * (yyvsp[0].dval);
6681 	    }
6682 	}
6683 #line 6684 "y.tab.c" /* yacc.c:1646  */
6684     break;
6685 
6686   case 123:
6687 #line 1420 "pars.yacc" /* yacc.c:1646  */
6688     {
6689 	    int i;
6690             (yyval.vrbl) = &freelist[fcnt++];
6691 	    copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
6692             (yyval.vrbl)->type = GRARR_TMP;
6693 
6694 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
6695 		(yyval.vrbl)->data[i] = (yyvsp[-2].dval) * (yyvsp[0].vrbl)->data[i];
6696 	    }
6697 	}
6698 #line 6699 "y.tab.c" /* yacc.c:1646  */
6699     break;
6700 
6701   case 124:
6702 #line 1431 "pars.yacc" /* yacc.c:1646  */
6703     {
6704 	    int i;
6705 	    if ((yyvsp[-2].vrbl)->length != (yyvsp[0].vrbl)->length) {
6706                 errmsg("Can't operate on vectors of different lengths");
6707                 return 1;
6708             }
6709             (yyval.vrbl) = &freelist[fcnt++];
6710 	    copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
6711             (yyval.vrbl)->type = GRARR_TMP;
6712 
6713 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
6714 		if ((yyvsp[0].vrbl)->data[i] == 0.0) {
6715                     errmsg("Divide by zero");
6716                     return 1;
6717                 }
6718                 (yyval.vrbl)->data[i] = (yyvsp[-2].vrbl)->data[i] / (yyvsp[0].vrbl)->data[i];
6719 	    }
6720 	}
6721 #line 6722 "y.tab.c" /* yacc.c:1646  */
6722     break;
6723 
6724   case 125:
6725 #line 1450 "pars.yacc" /* yacc.c:1646  */
6726     {
6727 	    int i;
6728 	    if ((yyvsp[0].dval) == 0.0) {
6729                 errmsg("Divide by zero");
6730                 return 1;
6731             }
6732             (yyval.vrbl) = &freelist[fcnt++];
6733 	    copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
6734             (yyval.vrbl)->type = GRARR_TMP;
6735 
6736 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
6737 		(yyval.vrbl)->data[i] = (yyvsp[-2].vrbl)->data[i] / (yyvsp[0].dval);
6738 	    }
6739 	}
6740 #line 6741 "y.tab.c" /* yacc.c:1646  */
6741     break;
6742 
6743   case 126:
6744 #line 1465 "pars.yacc" /* yacc.c:1646  */
6745     {
6746 	    int i;
6747             (yyval.vrbl) = &freelist[fcnt++];
6748 	    copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
6749             (yyval.vrbl)->type = GRARR_TMP;
6750 
6751 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
6752 		if ((yyvsp[0].vrbl)->data[i] == 0.0) {
6753                     errmsg("Divide by zero");
6754                     return 1;
6755                 }
6756 		(yyval.vrbl)->data[i] = (yyvsp[-2].dval) / (yyvsp[0].vrbl)->data[i];
6757 	    }
6758 	}
6759 #line 6760 "y.tab.c" /* yacc.c:1646  */
6760     break;
6761 
6762   case 127:
6763 #line 1480 "pars.yacc" /* yacc.c:1646  */
6764     {
6765 	    int i;
6766 	    if ((yyvsp[-2].vrbl)->length != (yyvsp[0].vrbl)->length) {
6767                 errmsg("Can't operate on vectors of different lengths");
6768                 return 1;
6769             }
6770             (yyval.vrbl) = &freelist[fcnt++];
6771 	    copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
6772             (yyval.vrbl)->type = GRARR_TMP;
6773 
6774 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
6775 		if ((yyvsp[0].vrbl)->data[i] == 0.0) {
6776                     errmsg("Divide by zero");
6777                     return 1;
6778                 } else {
6779                     (yyval.vrbl)->data[i] = fmod((yyvsp[-2].vrbl)->data[i], (yyvsp[0].vrbl)->data[i]);
6780                 }
6781 	    }
6782 	}
6783 #line 6784 "y.tab.c" /* yacc.c:1646  */
6784     break;
6785 
6786   case 128:
6787 #line 1500 "pars.yacc" /* yacc.c:1646  */
6788     {
6789 	    int i;
6790 	    if ((yyvsp[0].dval) == 0.0) {
6791                 errmsg("Divide by zero");
6792                 return 1;
6793             }
6794             (yyval.vrbl) = &freelist[fcnt++];
6795 	    copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
6796             (yyval.vrbl)->type = GRARR_TMP;
6797 
6798 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
6799 		(yyval.vrbl)->data[i] = fmod((yyvsp[-2].vrbl)->data[i], (yyvsp[0].dval));
6800 	    }
6801 	}
6802 #line 6803 "y.tab.c" /* yacc.c:1646  */
6803     break;
6804 
6805   case 129:
6806 #line 1515 "pars.yacc" /* yacc.c:1646  */
6807     {
6808 	    int i;
6809             (yyval.vrbl) = &freelist[fcnt++];
6810 	    copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
6811             (yyval.vrbl)->type = GRARR_TMP;
6812 
6813 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
6814 		if ((yyvsp[0].vrbl)->data[i] == 0.0) {
6815                     errmsg("Divide by zero");
6816                     return 1;
6817                 } else {
6818 		    (yyval.vrbl)->data[i] = fmod((yyvsp[-2].dval), (yyvsp[0].vrbl)->data[i]);
6819                 }
6820 	    }
6821 	}
6822 #line 6823 "y.tab.c" /* yacc.c:1646  */
6823     break;
6824 
6825   case 130:
6826 #line 1531 "pars.yacc" /* yacc.c:1646  */
6827     {
6828 	    int i;
6829 	    if ((yyvsp[-2].vrbl)->length != (yyvsp[0].vrbl)->length) {
6830                 errmsg("Can't operate on vectors of different lengths");
6831                 return 1;
6832             }
6833             (yyval.vrbl) = &freelist[fcnt++];
6834 	    copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
6835             (yyval.vrbl)->type = GRARR_TMP;
6836 
6837 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
6838 	        if ((yyvsp[-2].vrbl)->data[i] < 0 && rint((yyvsp[0].vrbl)->data[i]) != (yyvsp[0].vrbl)->data[i]) {
6839 	            yyerror("Negative value raised to non-integer power");
6840 	            return 1;
6841                 } else if ((yyvsp[-2].vrbl)->data[i] == 0.0 && (yyvsp[0].vrbl)->data[i] <= 0.0) {
6842 	            yyerror("Zero raised to non-positive power");
6843 	            return 1;
6844                 } else {
6845                     (yyval.vrbl)->data[i] = pow((yyvsp[-2].vrbl)->data[i], (yyvsp[0].vrbl)->data[i]);
6846                 }
6847 	    }
6848 	}
6849 #line 6850 "y.tab.c" /* yacc.c:1646  */
6850     break;
6851 
6852   case 131:
6853 #line 1554 "pars.yacc" /* yacc.c:1646  */
6854     {
6855 	    int i;
6856             (yyval.vrbl) = &freelist[fcnt++];
6857 	    copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
6858             (yyval.vrbl)->type = GRARR_TMP;
6859 
6860 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
6861 	        if ((yyvsp[-2].vrbl)->data[i] < 0 && rint((yyvsp[0].dval)) != (yyvsp[0].dval)) {
6862 	            yyerror("Negative value raised to non-integer power");
6863 	            return 1;
6864                 } else if ((yyvsp[-2].vrbl)->data[i] == 0.0 && (yyvsp[0].dval) <= 0.0) {
6865 	            yyerror("Zero raised to non-positive power");
6866 	            return 1;
6867                 } else {
6868                     (yyval.vrbl)->data[i] = pow((yyvsp[-2].vrbl)->data[i], (yyvsp[0].dval));
6869                 }
6870 	    }
6871 	}
6872 #line 6873 "y.tab.c" /* yacc.c:1646  */
6873     break;
6874 
6875   case 132:
6876 #line 1573 "pars.yacc" /* yacc.c:1646  */
6877     {
6878 	    int i;
6879             (yyval.vrbl) = &freelist[fcnt++];
6880 	    copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
6881             (yyval.vrbl)->type = GRARR_TMP;
6882 
6883 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
6884 	        if ((yyvsp[-2].dval) < 0 && rint((yyvsp[0].vrbl)->data[i]) != (yyvsp[0].vrbl)->data[i]) {
6885 	            yyerror("Negative value raised to non-integer power");
6886 	            return 1;
6887                 } else if ((yyvsp[-2].dval) == 0.0 && (yyvsp[0].vrbl)->data[i] <= 0.0) {
6888 	            yyerror("Zero raised to non-positive power");
6889 	            return 1;
6890                 } else {
6891                     (yyval.vrbl)->data[i] = pow((yyvsp[-2].dval), (yyvsp[0].vrbl)->data[i]);
6892                 }
6893 	    }
6894 	}
6895 #line 6896 "y.tab.c" /* yacc.c:1646  */
6896     break;
6897 
6898   case 133:
6899 #line 1592 "pars.yacc" /* yacc.c:1646  */
6900     {
6901 	    int i;
6902             (yyval.vrbl) = &freelist[fcnt++];
6903 	    copy_vrbl((yyval.vrbl), (yyvsp[-1].vrbl));
6904             (yyval.vrbl)->type = GRARR_TMP;
6905 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
6906 		(yyval.vrbl)->data[i] = (yyvsp[-1].vrbl)->data[i] * ((ParserFnc) (key[(yyvsp[0].ival)].data)) ();
6907 	    }
6908 	}
6909 #line 6910 "y.tab.c" /* yacc.c:1646  */
6910     break;
6911 
6912   case 134:
6913 #line 1601 "pars.yacc" /* yacc.c:1646  */
6914     {
6915             int i;
6916             (yyval.vrbl) = &freelist[fcnt++];
6917 	    copy_vrbl((yyval.vrbl), (yyvsp[-4].vrbl));
6918             (yyval.vrbl)->type = GRARR_TMP;
6919             for (i = 0; i < (yyval.vrbl)->length; i++) {
6920                 (yyval.vrbl)->data[i] = CAST_DBL_TO_BOOL((yyvsp[-4].vrbl)->data[i]) ? (yyvsp[-2].dval) : (yyvsp[0].dval);
6921             }
6922 	}
6923 #line 6924 "y.tab.c" /* yacc.c:1646  */
6924     break;
6925 
6926   case 135:
6927 #line 1610 "pars.yacc" /* yacc.c:1646  */
6928     {
6929             int i;
6930 	    if ((yyvsp[-4].vrbl)->length != (yyvsp[0].vrbl)->length) {
6931                 errmsg("Can't operate on vectors of different lengths");
6932                 return 1;
6933             }
6934             (yyval.vrbl) = &freelist[fcnt++];
6935 	    copy_vrbl((yyval.vrbl), (yyvsp[-4].vrbl));
6936             (yyval.vrbl)->type = GRARR_TMP;
6937             for (i = 0; i < (yyval.vrbl)->length; i++) {
6938                 (yyval.vrbl)->data[i] = CAST_DBL_TO_BOOL((yyvsp[-4].vrbl)->data[i]) ? (yyvsp[-2].dval) : (yyvsp[0].vrbl)->data[i];
6939             }
6940 	}
6941 #line 6942 "y.tab.c" /* yacc.c:1646  */
6942     break;
6943 
6944   case 136:
6945 #line 1623 "pars.yacc" /* yacc.c:1646  */
6946     {
6947             int i;
6948 	    if ((yyvsp[-4].vrbl)->length != (yyvsp[-2].vrbl)->length) {
6949                 errmsg("Can't operate on vectors of different lengths");
6950                 return 1;
6951             }
6952             (yyval.vrbl) = &freelist[fcnt++];
6953 	    copy_vrbl((yyval.vrbl), (yyvsp[-4].vrbl));
6954             (yyval.vrbl)->type = GRARR_TMP;
6955             for (i = 0; i < (yyval.vrbl)->length; i++) {
6956                 (yyval.vrbl)->data[i] = CAST_DBL_TO_BOOL((yyvsp[-4].vrbl)->data[i]) ? (yyvsp[-2].vrbl)->data[i] : (yyvsp[0].dval);
6957             }
6958 	}
6959 #line 6960 "y.tab.c" /* yacc.c:1646  */
6960     break;
6961 
6962   case 137:
6963 #line 1636 "pars.yacc" /* yacc.c:1646  */
6964     {
6965             int i;
6966 	    if ((yyvsp[-4].vrbl)->length != (yyvsp[0].vrbl)->length || (yyvsp[-4].vrbl)->length != (yyvsp[-2].vrbl)->length) {
6967                 errmsg("Can't operate on vectors of different lengths");
6968                 return 1;
6969             }
6970             (yyval.vrbl) = &freelist[fcnt++];
6971 	    copy_vrbl((yyval.vrbl), (yyvsp[-4].vrbl));
6972             (yyval.vrbl)->type = GRARR_TMP;
6973             for (i = 0; i < (yyval.vrbl)->length; i++) {
6974                 (yyval.vrbl)->data[i] = CAST_DBL_TO_BOOL((yyvsp[-4].vrbl)->data[i]) ? (yyvsp[-2].vrbl)->data[i] : (yyvsp[0].vrbl)->data[i];
6975             }
6976 	}
6977 #line 6978 "y.tab.c" /* yacc.c:1646  */
6978     break;
6979 
6980   case 138:
6981 #line 1650 "pars.yacc" /* yacc.c:1646  */
6982     {
6983 	    int i;
6984 	    if ((yyvsp[-2].vrbl)->length != (yyvsp[0].vrbl)->length) {
6985                 errmsg("Can't operate on vectors of different lengths");
6986                 return 1;
6987             }
6988             (yyval.vrbl) = &freelist[fcnt++];
6989 	    copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
6990             (yyval.vrbl)->type = GRARR_TMP;
6991 
6992 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
6993 		(yyval.vrbl)->data[i] = (yyvsp[-2].vrbl)->data[i] || (yyvsp[0].vrbl)->data[i];
6994 	    }
6995 	}
6996 #line 6997 "y.tab.c" /* yacc.c:1646  */
6997     break;
6998 
6999   case 139:
7000 #line 1665 "pars.yacc" /* yacc.c:1646  */
7001     {
7002 	    int i;
7003             (yyval.vrbl) = &freelist[fcnt++];
7004 	    copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
7005             (yyval.vrbl)->type = GRARR_TMP;
7006 
7007 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
7008 		(yyval.vrbl)->data[i] = (yyvsp[-2].vrbl)->data[i] || (yyvsp[0].dval);
7009 	    }
7010 	}
7011 #line 7012 "y.tab.c" /* yacc.c:1646  */
7012     break;
7013 
7014   case 140:
7015 #line 1676 "pars.yacc" /* yacc.c:1646  */
7016     {
7017 	    int i;
7018             (yyval.vrbl) = &freelist[fcnt++];
7019 	    copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
7020             (yyval.vrbl)->type = GRARR_TMP;
7021 
7022 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
7023 		(yyval.vrbl)->data[i] = (yyvsp[-2].dval) || (yyvsp[0].vrbl)->data[i];
7024 	    }
7025 	}
7026 #line 7027 "y.tab.c" /* yacc.c:1646  */
7027     break;
7028 
7029   case 141:
7030 #line 1687 "pars.yacc" /* yacc.c:1646  */
7031     {
7032 	    int i;
7033 	    if ((yyvsp[-2].vrbl)->length != (yyvsp[0].vrbl)->length) {
7034                 errmsg("Can't operate on vectors of different lengths");
7035                 return 1;
7036             }
7037             (yyval.vrbl) = &freelist[fcnt++];
7038 	    copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
7039             (yyval.vrbl)->type = GRARR_TMP;
7040 
7041 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
7042 		(yyval.vrbl)->data[i] = (yyvsp[-2].vrbl)->data[i] && (yyvsp[0].vrbl)->data[i];
7043 	    }
7044 	}
7045 #line 7046 "y.tab.c" /* yacc.c:1646  */
7046     break;
7047 
7048   case 142:
7049 #line 1702 "pars.yacc" /* yacc.c:1646  */
7050     {
7051 	    int i;
7052             (yyval.vrbl) = &freelist[fcnt++];
7053 	    copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
7054             (yyval.vrbl)->type = GRARR_TMP;
7055 
7056 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
7057 		(yyval.vrbl)->data[i] = (yyvsp[-2].vrbl)->data[i] && (yyvsp[0].dval);
7058 	    }
7059 	}
7060 #line 7061 "y.tab.c" /* yacc.c:1646  */
7061     break;
7062 
7063   case 143:
7064 #line 1713 "pars.yacc" /* yacc.c:1646  */
7065     {
7066 	    int i;
7067             (yyval.vrbl) = &freelist[fcnt++];
7068 	    copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
7069             (yyval.vrbl)->type = GRARR_TMP;
7070 
7071 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
7072 		(yyval.vrbl)->data[i] = (yyvsp[-2].dval) && (yyvsp[0].vrbl)->data[i];
7073 	    }
7074 	}
7075 #line 7076 "y.tab.c" /* yacc.c:1646  */
7076     break;
7077 
7078   case 144:
7079 #line 1724 "pars.yacc" /* yacc.c:1646  */
7080     {
7081 	    int i;
7082 	    if ((yyvsp[-2].vrbl)->length != (yyvsp[0].vrbl)->length) {
7083                 errmsg("Can't operate on vectors of different lengths");
7084                 return 1;
7085             }
7086             (yyval.vrbl) = &freelist[fcnt++];
7087 	    copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
7088             (yyval.vrbl)->type = GRARR_TMP;
7089 
7090 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
7091 		(yyval.vrbl)->data[i] = ((yyvsp[-2].vrbl)->data[i] > (yyvsp[0].vrbl)->data[i]);
7092 	    }
7093 	}
7094 #line 7095 "y.tab.c" /* yacc.c:1646  */
7095     break;
7096 
7097   case 145:
7098 #line 1739 "pars.yacc" /* yacc.c:1646  */
7099     {
7100 	    int i;
7101             (yyval.vrbl) = &freelist[fcnt++];
7102 	    copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
7103             (yyval.vrbl)->type = GRARR_TMP;
7104 
7105 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
7106 		(yyval.vrbl)->data[i] = ((yyvsp[-2].vrbl)->data[i] > (yyvsp[0].dval));
7107 	    }
7108 	}
7109 #line 7110 "y.tab.c" /* yacc.c:1646  */
7110     break;
7111 
7112   case 146:
7113 #line 1750 "pars.yacc" /* yacc.c:1646  */
7114     {
7115 	    int i;
7116             (yyval.vrbl) = &freelist[fcnt++];
7117 	    copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
7118             (yyval.vrbl)->type = GRARR_TMP;
7119 
7120 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
7121 		(yyval.vrbl)->data[i] = ((yyvsp[-2].dval) > (yyvsp[0].vrbl)->data[i]);
7122 	    }
7123 	}
7124 #line 7125 "y.tab.c" /* yacc.c:1646  */
7125     break;
7126 
7127   case 147:
7128 #line 1761 "pars.yacc" /* yacc.c:1646  */
7129     {
7130 	    int i;
7131 	    if ((yyvsp[-2].vrbl)->length != (yyvsp[0].vrbl)->length) {
7132                 errmsg("Can't operate on vectors of different lengths");
7133                 return 1;
7134             }
7135             (yyval.vrbl) = &freelist[fcnt++];
7136 	    copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
7137             (yyval.vrbl)->type = GRARR_TMP;
7138 
7139 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
7140 		(yyval.vrbl)->data[i] = ((yyvsp[-2].vrbl)->data[i] < (yyvsp[0].vrbl)->data[i]);
7141 	    }
7142 	}
7143 #line 7144 "y.tab.c" /* yacc.c:1646  */
7144     break;
7145 
7146   case 148:
7147 #line 1776 "pars.yacc" /* yacc.c:1646  */
7148     {
7149 	    int i;
7150             (yyval.vrbl) = &freelist[fcnt++];
7151 	    copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
7152             (yyval.vrbl)->type = GRARR_TMP;
7153 
7154 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
7155 		(yyval.vrbl)->data[i] = ((yyvsp[-2].vrbl)->data[i] < (yyvsp[0].dval));
7156 	    }
7157 	}
7158 #line 7159 "y.tab.c" /* yacc.c:1646  */
7159     break;
7160 
7161   case 149:
7162 #line 1787 "pars.yacc" /* yacc.c:1646  */
7163     {
7164 	    int i;
7165             (yyval.vrbl) = &freelist[fcnt++];
7166 	    copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
7167             (yyval.vrbl)->type = GRARR_TMP;
7168 
7169 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
7170 		(yyval.vrbl)->data[i] = ((yyvsp[-2].dval) < (yyvsp[0].vrbl)->data[i]);
7171 	    }
7172 	}
7173 #line 7174 "y.tab.c" /* yacc.c:1646  */
7174     break;
7175 
7176   case 150:
7177 #line 1798 "pars.yacc" /* yacc.c:1646  */
7178     {
7179 	    int i;
7180 	    if ((yyvsp[-2].vrbl)->length != (yyvsp[0].vrbl)->length) {
7181                 errmsg("Can't operate on vectors of different lengths");
7182                 return 1;
7183             }
7184             (yyval.vrbl) = &freelist[fcnt++];
7185 	    copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
7186             (yyval.vrbl)->type = GRARR_TMP;
7187 
7188 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
7189 		(yyval.vrbl)->data[i] = ((yyvsp[-2].vrbl)->data[i] >= (yyvsp[0].vrbl)->data[i]);
7190 	    }
7191 	}
7192 #line 7193 "y.tab.c" /* yacc.c:1646  */
7193     break;
7194 
7195   case 151:
7196 #line 1813 "pars.yacc" /* yacc.c:1646  */
7197     {
7198 	    int i;
7199             (yyval.vrbl) = &freelist[fcnt++];
7200 	    copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
7201             (yyval.vrbl)->type = GRARR_TMP;
7202 
7203 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
7204 		(yyval.vrbl)->data[i] = ((yyvsp[-2].vrbl)->data[i] >= (yyvsp[0].dval));
7205 	    }
7206 	}
7207 #line 7208 "y.tab.c" /* yacc.c:1646  */
7208     break;
7209 
7210   case 152:
7211 #line 1824 "pars.yacc" /* yacc.c:1646  */
7212     {
7213 	    int i;
7214             (yyval.vrbl) = &freelist[fcnt++];
7215 	    copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
7216             (yyval.vrbl)->type = GRARR_TMP;
7217 
7218 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
7219 		(yyval.vrbl)->data[i] = ((yyvsp[-2].dval) >= (yyvsp[0].vrbl)->data[i]);
7220 	    }
7221 	}
7222 #line 7223 "y.tab.c" /* yacc.c:1646  */
7223     break;
7224 
7225   case 153:
7226 #line 1835 "pars.yacc" /* yacc.c:1646  */
7227     {
7228 	    int i;
7229 	    if ((yyvsp[-2].vrbl)->length != (yyvsp[0].vrbl)->length) {
7230                 errmsg("Can't operate on vectors of different lengths");
7231                 return 1;
7232             }
7233             (yyval.vrbl) = &freelist[fcnt++];
7234 	    copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
7235             (yyval.vrbl)->type = GRARR_TMP;
7236 
7237 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
7238 		(yyval.vrbl)->data[i] = ((yyvsp[-2].vrbl)->data[i] <= (yyvsp[0].vrbl)->data[i]);
7239 	    }
7240 	}
7241 #line 7242 "y.tab.c" /* yacc.c:1646  */
7242     break;
7243 
7244   case 154:
7245 #line 1850 "pars.yacc" /* yacc.c:1646  */
7246     {
7247 	    int i;
7248             (yyval.vrbl) = &freelist[fcnt++];
7249 	    copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
7250             (yyval.vrbl)->type = GRARR_TMP;
7251 
7252 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
7253 		(yyval.vrbl)->data[i] = ((yyvsp[-2].vrbl)->data[i] <= (yyvsp[0].dval));
7254 	    }
7255 	}
7256 #line 7257 "y.tab.c" /* yacc.c:1646  */
7257     break;
7258 
7259   case 155:
7260 #line 1861 "pars.yacc" /* yacc.c:1646  */
7261     {
7262 	    int i;
7263             (yyval.vrbl) = &freelist[fcnt++];
7264 	    copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
7265             (yyval.vrbl)->type = GRARR_TMP;
7266 
7267 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
7268 		(yyval.vrbl)->data[i] = ((yyvsp[-2].dval) <= (yyvsp[0].vrbl)->data[i]);
7269 	    }
7270 	}
7271 #line 7272 "y.tab.c" /* yacc.c:1646  */
7272     break;
7273 
7274   case 156:
7275 #line 1872 "pars.yacc" /* yacc.c:1646  */
7276     {
7277 	    int i;
7278 	    if ((yyvsp[-2].vrbl)->length != (yyvsp[0].vrbl)->length) {
7279                 errmsg("Can't operate on vectors of different lengths");
7280                 return 1;
7281             }
7282             (yyval.vrbl) = &freelist[fcnt++];
7283 	    copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
7284             (yyval.vrbl)->type = GRARR_TMP;
7285 
7286 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
7287 		(yyval.vrbl)->data[i] = ((yyvsp[-2].vrbl)->data[i] == (yyvsp[0].vrbl)->data[i]);
7288 	    }
7289 	}
7290 #line 7291 "y.tab.c" /* yacc.c:1646  */
7291     break;
7292 
7293   case 157:
7294 #line 1887 "pars.yacc" /* yacc.c:1646  */
7295     {
7296 	    int i;
7297             (yyval.vrbl) = &freelist[fcnt++];
7298 	    copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
7299             (yyval.vrbl)->type = GRARR_TMP;
7300 
7301 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
7302 		(yyval.vrbl)->data[i] = ((yyvsp[-2].vrbl)->data[i] == (yyvsp[0].dval));
7303 	    }
7304 	}
7305 #line 7306 "y.tab.c" /* yacc.c:1646  */
7306     break;
7307 
7308   case 158:
7309 #line 1898 "pars.yacc" /* yacc.c:1646  */
7310     {
7311 	    int i;
7312             (yyval.vrbl) = &freelist[fcnt++];
7313 	    copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
7314             (yyval.vrbl)->type = GRARR_TMP;
7315 
7316 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
7317 		(yyval.vrbl)->data[i] = ((yyvsp[-2].dval) == (yyvsp[0].vrbl)->data[i]);
7318 	    }
7319 	}
7320 #line 7321 "y.tab.c" /* yacc.c:1646  */
7321     break;
7322 
7323   case 159:
7324 #line 1909 "pars.yacc" /* yacc.c:1646  */
7325     {
7326 	    int i;
7327 	    if ((yyvsp[-2].vrbl)->length != (yyvsp[0].vrbl)->length) {
7328                 errmsg("Can't operate on vectors of different lengths");
7329                 return 1;
7330             }
7331             (yyval.vrbl) = &freelist[fcnt++];
7332 	    copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
7333             (yyval.vrbl)->type = GRARR_TMP;
7334 
7335 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
7336 		(yyval.vrbl)->data[i] = ((yyvsp[-2].vrbl)->data[i] != (yyvsp[0].vrbl)->data[i]);
7337 	    }
7338 	}
7339 #line 7340 "y.tab.c" /* yacc.c:1646  */
7340     break;
7341 
7342   case 160:
7343 #line 1924 "pars.yacc" /* yacc.c:1646  */
7344     {
7345 	    int i;
7346             (yyval.vrbl) = &freelist[fcnt++];
7347 	    copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
7348             (yyval.vrbl)->type = GRARR_TMP;
7349 
7350 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
7351 		(yyval.vrbl)->data[i] = ((yyvsp[-2].vrbl)->data[i] != (yyvsp[0].dval));
7352 	    }
7353 	}
7354 #line 7355 "y.tab.c" /* yacc.c:1646  */
7355     break;
7356 
7357   case 161:
7358 #line 1935 "pars.yacc" /* yacc.c:1646  */
7359     {
7360 	    int i;
7361             (yyval.vrbl) = &freelist[fcnt++];
7362 	    copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
7363             (yyval.vrbl)->type = GRARR_TMP;
7364 
7365 	    for (i = 0; i < (yyval.vrbl)->length; i++) {
7366 		(yyval.vrbl)->data[i] = ((yyvsp[-2].dval) != (yyvsp[0].vrbl)->data[i]);
7367 	    }
7368 	}
7369 #line 7370 "y.tab.c" /* yacc.c:1646  */
7370     break;
7371 
7372   case 162:
7373 #line 1946 "pars.yacc" /* yacc.c:1646  */
7374     {
7375 	    int i;
7376             (yyval.vrbl) = &freelist[fcnt++];
7377 	    copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
7378             (yyval.vrbl)->type = GRARR_TMP;
7379             for (i = 0; i < (yyval.vrbl)->length; i++) {
7380                 (yyval.vrbl)->data[i] = !(yyvsp[0].vrbl)->data[i];
7381             }
7382 	}
7383 #line 7384 "y.tab.c" /* yacc.c:1646  */
7384     break;
7385 
7386   case 163:
7387 #line 1956 "pars.yacc" /* yacc.c:1646  */
7388     {
7389 	    int i;
7390             (yyval.vrbl) = &freelist[fcnt++];
7391 	    copy_vrbl((yyval.vrbl), (yyvsp[-1].vrbl));
7392             (yyval.vrbl)->type = GRARR_TMP;
7393             for (i = 0; i < (yyval.vrbl)->length; i++) {
7394                 (yyval.vrbl)->data[i] = (yyvsp[-1].vrbl)->data[i];
7395             }
7396 	}
7397 #line 7398 "y.tab.c" /* yacc.c:1646  */
7398     break;
7399 
7400   case 164:
7401 #line 1965 "pars.yacc" /* yacc.c:1646  */
7402     {
7403 	    int i;
7404             (yyval.vrbl) = &freelist[fcnt++];
7405 	    copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
7406             (yyval.vrbl)->type = GRARR_TMP;
7407             for (i = 0; i < (yyval.vrbl)->length; i++) {
7408                 (yyval.vrbl)->data[i] = - (yyvsp[0].vrbl)->data[i];
7409             }
7410 	}
7411 #line 7412 "y.tab.c" /* yacc.c:1646  */
7412     break;
7413 
7414   case 165:
7415 #line 1979 "pars.yacc" /* yacc.c:1646  */
7416     {
7417 	    *((yyvsp[-2].dptr)) = (yyvsp[0].dval);
7418 	}
7419 #line 7420 "y.tab.c" /* yacc.c:1646  */
7420     break;
7421 
7422   case 166:
7423 #line 1983 "pars.yacc" /* yacc.c:1646  */
7424     {
7425 	    nonl_parms[(yyvsp[-2].ival)].value = (yyvsp[0].dval);
7426 	}
7427 #line 7428 "y.tab.c" /* yacc.c:1646  */
7428     break;
7429 
7430   case 167:
7431 #line 1987 "pars.yacc" /* yacc.c:1646  */
7432     {
7433 	    nonl_parms[(yyvsp[-2].ival)].max = (yyvsp[0].dval);
7434 	}
7435 #line 7436 "y.tab.c" /* yacc.c:1646  */
7436     break;
7437 
7438   case 168:
7439 #line 1991 "pars.yacc" /* yacc.c:1646  */
7440     {
7441 	    nonl_parms[(yyvsp[-2].ival)].min = (yyvsp[0].dval);
7442 	}
7443 #line 7444 "y.tab.c" /* yacc.c:1646  */
7444     break;
7445 
7446   case 169:
7447 #line 1995 "pars.yacc" /* yacc.c:1646  */
7448     {
7449 	    if ((yyvsp[-2].ival) >= (yyvsp[-3].vrbl)->length) {
7450 		yyerror("Access beyond array bounds");
7451 		return 1;
7452             }
7453             (yyvsp[-3].vrbl)->data[(yyvsp[-2].ival)] = (yyvsp[0].dval);
7454 	}
7455 #line 7456 "y.tab.c" /* yacc.c:1646  */
7456     break;
7457 
7458   case 170:
7459 #line 2006 "pars.yacc" /* yacc.c:1646  */
7460     {
7461             target tgt;
7462             switch ((yyvsp[0].vrbl)->type) {
7463             case GRARR_SET:
7464                 if (find_set_bydata((yyvsp[0].vrbl)->data, &tgt) == RETURN_SUCCESS) {
7465                     vasgn_gno   = tgt.gno;
7466                     vasgn_setno = tgt.setno;
7467                 } else {
7468                     errmsg("Internal error");
7469 		    return 1;
7470                 }
7471                 break;
7472             case GRARR_VEC:
7473                 vasgn_gno   = -1;
7474                 vasgn_setno = -1;
7475                 break;
7476             default:
7477                 /* It can NOT be a tmp array on the left side! */
7478                 errmsg("Internal error");
7479 	        return 1;
7480             }
7481             (yyval.vrbl) = (yyvsp[0].vrbl);
7482         }
7483 #line 7484 "y.tab.c" /* yacc.c:1646  */
7484     break;
7485 
7486   case 171:
7487 #line 2033 "pars.yacc" /* yacc.c:1646  */
7488     {
7489 	    int i;
7490 	    if ((yyvsp[-2].vrbl)->length != (yyvsp[0].vrbl)->length) {
7491                 errmsg("Left and right vectors are of different lengths");
7492                 return 1;
7493             }
7494 	    for (i = 0; i < (yyvsp[-2].vrbl)->length; i++) {
7495 	        (yyvsp[-2].vrbl)->data[i] = (yyvsp[0].vrbl)->data[i];
7496 	    }
7497 	}
7498 #line 7499 "y.tab.c" /* yacc.c:1646  */
7499     break;
7500 
7501   case 172:
7502 #line 2044 "pars.yacc" /* yacc.c:1646  */
7503     {
7504 	    int i;
7505 	    for (i = 0; i < (yyvsp[-2].vrbl)->length; i++) {
7506 	        (yyvsp[-2].vrbl)->data[i] = (yyvsp[0].dval);
7507 	    }
7508 	}
7509 #line 7510 "y.tab.c" /* yacc.c:1646  */
7510     break;
7511 
7512   case 173:
7513 #line 2054 "pars.yacc" /* yacc.c:1646  */
7514     {
7515 	    symtab_entry tmpkey;
7516             double *var;
7517 
7518             var = xmalloc(SIZEOF_DOUBLE);
7519             *var = 0.0;
7520 
7521 	    tmpkey.s = (yyvsp[0].sval);
7522 	    tmpkey.type = KEY_VAR;
7523 	    tmpkey.data = (void *) var;
7524 	    if (addto_symtab(tmpkey) != RETURN_SUCCESS) {
7525 	        yyerror("Adding new symbol failed");
7526 	    }
7527 
7528             xfree((yyvsp[0].sval));
7529         }
7530 #line 7531 "y.tab.c" /* yacc.c:1646  */
7531     break;
7532 
7533   case 174:
7534 #line 2071 "pars.yacc" /* yacc.c:1646  */
7535     {
7536 	    if (define_parser_arr((yyvsp[-2].sval)) == NULL) {
7537 	        yyerror("Adding new symbol failed");
7538 	    }
7539 
7540             xfree((yyvsp[-2].sval));
7541         }
7542 #line 7543 "y.tab.c" /* yacc.c:1646  */
7543     break;
7544 
7545   case 175:
7546 #line 2079 "pars.yacc" /* yacc.c:1646  */
7547     {
7548 	    grarr *var;
7549             if ((var = define_parser_arr((yyvsp[-3].sval))) == NULL) {
7550 	        yyerror("Adding new symbol failed");
7551 	    } else {
7552                 realloc_vrbl(var, (yyvsp[-1].ival));
7553             }
7554 
7555             xfree((yyvsp[-3].sval));
7556         }
7557 #line 7558 "y.tab.c" /* yacc.c:1646  */
7558     break;
7559 
7560   case 176:
7561 #line 2090 "pars.yacc" /* yacc.c:1646  */
7562     {
7563             yyerror("Keyword already exists");
7564         }
7565 #line 7566 "y.tab.c" /* yacc.c:1646  */
7566     break;
7567 
7568   case 177:
7569 #line 2094 "pars.yacc" /* yacc.c:1646  */
7570     {
7571             yyerror("Keyword already exists");
7572         }
7573 #line 7574 "y.tab.c" /* yacc.c:1646  */
7574     break;
7575 
7576   case 178:
7577 #line 2098 "pars.yacc" /* yacc.c:1646  */
7578     {
7579             undefine_parser_var((void *) (yyvsp[0].dptr));
7580             xfree((yyvsp[0].dptr));
7581         }
7582 #line 7583 "y.tab.c" /* yacc.c:1646  */
7583     break;
7584 
7585   case 179:
7586 #line 2103 "pars.yacc" /* yacc.c:1646  */
7587     {
7588             realloc_vrbl((yyvsp[0].vrbl), 0);
7589             undefine_parser_var((void *) (yyvsp[0].vrbl));
7590             xfree((yyvsp[0].vrbl));
7591         }
7592 #line 7593 "y.tab.c" /* yacc.c:1646  */
7593     break;
7594 
7595   case 180:
7596 #line 2108 "pars.yacc" /* yacc.c:1646  */
7597     {
7598 	    int position;
7599 
7600 	    lowtoupper((yyvsp[0].sval));
7601 	    if ((position = findf(key, (yyvsp[0].sval))) >= 0) {
7602 	        symtab_entry tmpkey;
7603 		tmpkey.s = (yyvsp[-1].sval);
7604 		tmpkey.type = key[position].type;
7605 		tmpkey.data = key[position].data;
7606 		if (addto_symtab(tmpkey) != RETURN_SUCCESS) {
7607 		    yyerror("Keyword already exists");
7608 		}
7609 	    } else {
7610 	        yyerror("Aliased keyword not found");
7611 	    }
7612 	    xfree((yyvsp[-1].sval));
7613 	    xfree((yyvsp[0].sval));
7614 	}
7615 #line 7616 "y.tab.c" /* yacc.c:1646  */
7616     break;
7617 
7618   case 181:
7619 #line 2126 "pars.yacc" /* yacc.c:1646  */
7620     {
7621 	    alias_force = (yyvsp[0].ival);
7622 	}
7623 #line 7624 "y.tab.c" /* yacc.c:1646  */
7624     break;
7625 
7626   case 182:
7627 #line 2129 "pars.yacc" /* yacc.c:1646  */
7628     {
7629 	    if (load_module((yyvsp[0].sval), (yyvsp[-4].sval), (yyvsp[-4].sval), (yyvsp[-2].ival)) != 0) {
7630 	        yyerror("DL module load failed");
7631 	    }
7632 	    xfree((yyvsp[-4].sval));
7633 	    xfree((yyvsp[0].sval));
7634 	}
7635 #line 7636 "y.tab.c" /* yacc.c:1646  */
7636     break;
7637 
7638   case 183:
7639 #line 2136 "pars.yacc" /* yacc.c:1646  */
7640     {
7641 	    if (load_module((yyvsp[-2].sval), (yyvsp[-6].sval), (yyvsp[0].sval), (yyvsp[-4].ival)) != 0) {
7642 	        yyerror("DL module load failed");
7643 	    }
7644 	    xfree((yyvsp[-6].sval));
7645 	    xfree((yyvsp[-2].sval));
7646 	    xfree((yyvsp[0].sval));
7647 	}
7648 #line 7649 "y.tab.c" /* yacc.c:1646  */
7649     break;
7650 
7651   case 184:
7652 #line 2147 "pars.yacc" /* yacc.c:1646  */
7653     {
7654 	    rg[(yyvsp[-1].ival)].active = (yyvsp[0].ival);
7655 	}
7656 #line 7657 "y.tab.c" /* yacc.c:1646  */
7657     break;
7658 
7659   case 185:
7660 #line 2150 "pars.yacc" /* yacc.c:1646  */
7661     {
7662 	    rg[(yyvsp[-2].ival)].type = (yyvsp[0].ival);
7663 	}
7664 #line 7665 "y.tab.c" /* yacc.c:1646  */
7665     break;
7666 
7667   case 186:
7668 #line 2153 "pars.yacc" /* yacc.c:1646  */
7669     {
7670 	    rg[(yyvsp[-1].ival)].color = (yyvsp[0].ival);
7671 	}
7672 #line 7673 "y.tab.c" /* yacc.c:1646  */
7673     break;
7674 
7675   case 187:
7676 #line 2156 "pars.yacc" /* yacc.c:1646  */
7677     {
7678 	    rg[(yyvsp[-1].ival)].lines = (yyvsp[0].ival);
7679 	}
7680 #line 7681 "y.tab.c" /* yacc.c:1646  */
7681     break;
7682 
7683   case 188:
7684 #line 2159 "pars.yacc" /* yacc.c:1646  */
7685     {
7686 	    rg[(yyvsp[-1].ival)].linew = (yyvsp[0].dval);
7687 	}
7688 #line 7689 "y.tab.c" /* yacc.c:1646  */
7689     break;
7690 
7691   case 189:
7692 #line 2163 "pars.yacc" /* yacc.c:1646  */
7693     {
7694 	    rg[(yyvsp[-8].ival)].x1 = (yyvsp[-6].dval);
7695 	    rg[(yyvsp[-8].ival)].y1 = (yyvsp[-4].dval);
7696 	    rg[(yyvsp[-8].ival)].x2 = (yyvsp[-2].dval);
7697 	    rg[(yyvsp[-8].ival)].y2 = (yyvsp[0].dval);
7698 	}
7699 #line 7700 "y.tab.c" /* yacc.c:1646  */
7700     break;
7701 
7702   case 190:
7703 #line 2170 "pars.yacc" /* yacc.c:1646  */
7704     {
7705 	    rg[(yyvsp[-4].ival)].x = xrealloc(rg[(yyvsp[-4].ival)].x, (rg[(yyvsp[-4].ival)].n + 1) * SIZEOF_DOUBLE);
7706 	    rg[(yyvsp[-4].ival)].y = xrealloc(rg[(yyvsp[-4].ival)].y, (rg[(yyvsp[-4].ival)].n + 1) * SIZEOF_DOUBLE);
7707 	    rg[(yyvsp[-4].ival)].x[rg[(yyvsp[-4].ival)].n] = (yyvsp[-2].dval);
7708 	    rg[(yyvsp[-4].ival)].y[rg[(yyvsp[-4].ival)].n] = (yyvsp[0].dval);
7709 	    rg[(yyvsp[-4].ival)].n++;
7710 	}
7711 #line 7712 "y.tab.c" /* yacc.c:1646  */
7712     break;
7713 
7714   case 191:
7715 #line 2177 "pars.yacc" /* yacc.c:1646  */
7716     {
7717 	    rg[(yyvsp[-2].ival)].linkto = (yyvsp[0].ival);
7718 	}
7719 #line 7720 "y.tab.c" /* yacc.c:1646  */
7720     break;
7721 
7722   case 192:
7723 #line 2184 "pars.yacc" /* yacc.c:1646  */
7724     {
7725             if (set_project_version((yyvsp[0].ival)) != RETURN_SUCCESS) {
7726                 errmsg("Project version is newer than software!");
7727             }
7728             if (get_project_version() < 50001) {
7729                 map_fonts(FONT_MAP_ACEGR);
7730             } else {
7731                 map_fonts(FONT_MAP_DEFAULT);
7732             }
7733         }
7734 #line 7735 "y.tab.c" /* yacc.c:1646  */
7735     break;
7736 
7737   case 193:
7738 #line 2194 "pars.yacc" /* yacc.c:1646  */
7739     {
7740             set_page_dimensions((yyvsp[-2].ival), (yyvsp[0].ival), TRUE);
7741         }
7742 #line 7743 "y.tab.c" /* yacc.c:1646  */
7743     break;
7744 
7745   case 194:
7746 #line 2197 "pars.yacc" /* yacc.c:1646  */
7747     {
7748             set_page_dimensions((yyvsp[-2].ival), (yyvsp[0].ival), FALSE);
7749         }
7750 #line 7751 "y.tab.c" /* yacc.c:1646  */
7751     break;
7752 
7753   case 195:
7754 #line 2200 "pars.yacc" /* yacc.c:1646  */
7755     {
7756             int device_id;
7757             Device_entry dev;
7758 
7759             device_id = get_device_by_name((yyvsp[-5].sval));
7760             xfree((yyvsp[-5].sval));
7761             if (device_id < 0) {
7762                 yyerror("Unknown device");
7763             } else {
7764                 dev = get_device_props(device_id);
7765                 dev.pg.width =  (long) ((yyvsp[-2].ival)*dev.pg.dpi/72);
7766                 dev.pg.height = (long) ((yyvsp[0].ival)*dev.pg.dpi/72);
7767                 set_device_props(device_id, dev);
7768             }
7769         }
7770 #line 7771 "y.tab.c" /* yacc.c:1646  */
7771     break;
7772 
7773   case 196:
7774 #line 2215 "pars.yacc" /* yacc.c:1646  */
7775     {
7776             int device_id;
7777             Device_entry dev;
7778 
7779             device_id = get_device_by_name((yyvsp[-2].sval));
7780             if (device_id < 0) {
7781                 yyerror("Unknown device");
7782             } else {
7783                 dev = get_device_props(device_id);
7784                 dev.pg.dpi = (yyvsp[0].dval);
7785                 set_device_props(device_id, dev);
7786             }
7787             xfree((yyvsp[-2].sval));
7788         }
7789 #line 7790 "y.tab.c" /* yacc.c:1646  */
7790     break;
7791 
7792   case 197:
7793 #line 2229 "pars.yacc" /* yacc.c:1646  */
7794     {
7795             int device_id;
7796             Device_entry dev;
7797 
7798             device_id = get_device_by_name((yyvsp[-3].sval));
7799             if (device_id < 0) {
7800                 yyerror("Unknown device");
7801             } else {
7802                 dev = get_device_props(device_id);
7803                 dev.fontaa = (yyvsp[0].ival);
7804                 set_device_props(device_id, dev);
7805             }
7806             xfree((yyvsp[-3].sval));
7807         }
7808 #line 7809 "y.tab.c" /* yacc.c:1646  */
7809     break;
7810 
7811   case 198:
7812 #line 2243 "pars.yacc" /* yacc.c:1646  */
7813     {
7814             int device_id;
7815             Device_entry dev;
7816 
7817             device_id = get_device_by_name((yyvsp[-2].sval));
7818             if (device_id < 0) {
7819                 yyerror("Unknown device");
7820             } else {
7821                 dev = get_device_props(device_id);
7822                 dev.devfonts = (yyvsp[0].ival);
7823                 set_device_props(device_id, dev);
7824             }
7825             xfree((yyvsp[-2].sval));
7826         }
7827 #line 7828 "y.tab.c" /* yacc.c:1646  */
7828     break;
7829 
7830   case 199:
7831 #line 2257 "pars.yacc" /* yacc.c:1646  */
7832     {
7833             int device_id;
7834 
7835             device_id = get_device_by_name((yyvsp[-2].sval));
7836             if (device_id < 0) {
7837                 yyerror("Unknown device");
7838             } else {
7839                 if (parse_device_options(device_id, (yyvsp[0].sval)) !=
7840                                                         RETURN_SUCCESS) {
7841                     yyerror("Incorrect device option string");
7842                 }
7843             }
7844             xfree((yyvsp[-2].sval));
7845             xfree((yyvsp[0].sval));
7846         }
7847 #line 7848 "y.tab.c" /* yacc.c:1646  */
7848     break;
7849 
7850   case 200:
7851 #line 2272 "pars.yacc" /* yacc.c:1646  */
7852     {
7853             set_printer_by_name((yyvsp[0].sval));
7854             xfree((yyvsp[0].sval));
7855         }
7856 #line 7857 "y.tab.c" /* yacc.c:1646  */
7857     break;
7858 
7859   case 201:
7860 #line 2276 "pars.yacc" /* yacc.c:1646  */
7861     {
7862             set_ref_date((yyvsp[0].dval));
7863 	}
7864 #line 7865 "y.tab.c" /* yacc.c:1646  */
7865     break;
7866 
7867   case 202:
7868 #line 2279 "pars.yacc" /* yacc.c:1646  */
7869     {
7870             allow_two_digits_years((yyvsp[0].ival));
7871 	}
7872 #line 7873 "y.tab.c" /* yacc.c:1646  */
7873     break;
7874 
7875   case 203:
7876 #line 2282 "pars.yacc" /* yacc.c:1646  */
7877     {
7878             set_wrap_year((yyvsp[0].ival));
7879 	}
7880 #line 7881 "y.tab.c" /* yacc.c:1646  */
7881     break;
7882 
7883   case 204:
7884 #line 2285 "pars.yacc" /* yacc.c:1646  */
7885     {
7886 	    setbgcolor((yyvsp[0].ival));
7887 	}
7888 #line 7889 "y.tab.c" /* yacc.c:1646  */
7889     break;
7890 
7891   case 205:
7892 #line 2288 "pars.yacc" /* yacc.c:1646  */
7893     {
7894 	    setbgfill((yyvsp[0].ival));
7895 	}
7896 #line 7897 "y.tab.c" /* yacc.c:1646  */
7897     break;
7898 
7899   case 206:
7900 #line 2291 "pars.yacc" /* yacc.c:1646  */
7901     {
7902 	    scroll_proc((int) (yyvsp[-1].dval));
7903 	}
7904 #line 7905 "y.tab.c" /* yacc.c:1646  */
7905     break;
7906 
7907   case 207:
7908 #line 2294 "pars.yacc" /* yacc.c:1646  */
7909     {
7910 	    scrollinout_proc((int) (yyvsp[-1].dval));
7911 	}
7912 #line 7913 "y.tab.c" /* yacc.c:1646  */
7913     break;
7914 
7915   case 208:
7916 #line 2297 "pars.yacc" /* yacc.c:1646  */
7917     {
7918 	    scrolling_islinked = (yyvsp[0].ival);
7919 	}
7920 #line 7921 "y.tab.c" /* yacc.c:1646  */
7921     break;
7922 
7923   case 209:
7924 #line 2302 "pars.yacc" /* yacc.c:1646  */
7925     {
7926 	    add_world(whichgraph, (yyvsp[-6].dval), (yyvsp[-4].dval), (yyvsp[-2].dval), (yyvsp[0].dval));
7927 	}
7928 #line 7929 "y.tab.c" /* yacc.c:1646  */
7929     break;
7930 
7931   case 210:
7932 #line 2306 "pars.yacc" /* yacc.c:1646  */
7933     {
7934             timer_delay = (yyvsp[0].ival);
7935 	}
7936 #line 7937 "y.tab.c" /* yacc.c:1646  */
7937     break;
7938 
7939   case 211:
7940 #line 2310 "pars.yacc" /* yacc.c:1646  */
7941     {
7942 	    target_set = *((yyvsp[0].trgt));
7943 	    set_parser_setno(target_set.gno, target_set.setno);
7944 	}
7945 #line 7946 "y.tab.c" /* yacc.c:1646  */
7946     break;
7947 
7948   case 212:
7949 #line 2314 "pars.yacc" /* yacc.c:1646  */
7950     {
7951 	    set_parser_gno((yyvsp[0].ival));
7952 	}
7953 #line 7954 "y.tab.c" /* yacc.c:1646  */
7954     break;
7955 
7956   case 213:
7957 #line 2317 "pars.yacc" /* yacc.c:1646  */
7958     {
7959 	    set_parser_setno((yyvsp[0].trgt)->gno, (yyvsp[0].trgt)->setno);
7960 	}
7961 #line 7962 "y.tab.c" /* yacc.c:1646  */
7962     break;
7963 
7964   case 214:
7965 #line 2322 "pars.yacc" /* yacc.c:1646  */
7966     {
7967 	    set_hotlink((yyvsp[-3].trgt)->gno, (yyvsp[-3].trgt)->setno, 1, (yyvsp[0].sval), (yyvsp[-1].ival));
7968 	    xfree((yyvsp[0].sval));
7969 	}
7970 #line 7971 "y.tab.c" /* yacc.c:1646  */
7971     break;
7972 
7973   case 215:
7974 #line 2326 "pars.yacc" /* yacc.c:1646  */
7975     {
7976 	    set_hotlink((yyvsp[-2].trgt)->gno, (yyvsp[-2].trgt)->setno, (yyvsp[0].ival), NULL, 0);
7977 	}
7978 #line 7979 "y.tab.c" /* yacc.c:1646  */
7979     break;
7980 
7981   case 216:
7982 #line 2331 "pars.yacc" /* yacc.c:1646  */
7983     {
7984 	    curbox = next_box();
7985 	}
7986 #line 7987 "y.tab.c" /* yacc.c:1646  */
7987     break;
7988 
7989   case 217:
7990 #line 2334 "pars.yacc" /* yacc.c:1646  */
7991     {
7992             int no = (yyvsp[0].ival);
7993             if (is_valid_box(no) ||
7994                 realloc_boxes(no + 1) == RETURN_SUCCESS) {
7995                 curbox = no;
7996             }
7997 	}
7998 #line 7999 "y.tab.c" /* yacc.c:1646  */
7999     break;
8000 
8001   case 218:
8002 #line 2341 "pars.yacc" /* yacc.c:1646  */
8003     {
8004 	    if (!is_valid_box(curbox)) {
8005                 yyerror("Box not active");
8006 	    } else {
8007 	        boxes[curbox].active = (yyvsp[0].ival);
8008             }
8009 	}
8010 #line 8011 "y.tab.c" /* yacc.c:1646  */
8011     break;
8012 
8013   case 219:
8014 #line 2348 "pars.yacc" /* yacc.c:1646  */
8015     {
8016 	    if (!is_valid_box(curbox)) {
8017                 yyerror("Box not active");
8018 	    } else {
8019 	        boxes[curbox].gno = (yyvsp[0].ival);
8020             }
8021 	}
8022 #line 8023 "y.tab.c" /* yacc.c:1646  */
8023     break;
8024 
8025   case 220:
8026 #line 2355 "pars.yacc" /* yacc.c:1646  */
8027     {
8028 	    if (!is_valid_box(curbox)) {
8029                 yyerror("Box not active");
8030 	    } else {
8031 		boxes[curbox].x1 = (yyvsp[-6].dval);
8032 		boxes[curbox].y1 = (yyvsp[-4].dval);
8033 		boxes[curbox].x2 = (yyvsp[-2].dval);
8034 		boxes[curbox].y2 = (yyvsp[0].dval);
8035 	    }
8036 	}
8037 #line 8038 "y.tab.c" /* yacc.c:1646  */
8038     break;
8039 
8040   case 221:
8041 #line 2365 "pars.yacc" /* yacc.c:1646  */
8042     {
8043 	    box_loctype = (yyvsp[0].ival);
8044 	}
8045 #line 8046 "y.tab.c" /* yacc.c:1646  */
8046     break;
8047 
8048   case 222:
8049 #line 2368 "pars.yacc" /* yacc.c:1646  */
8050     {
8051 	    box_lines = (yyvsp[0].ival);
8052 	}
8053 #line 8054 "y.tab.c" /* yacc.c:1646  */
8054     break;
8055 
8056   case 223:
8057 #line 2371 "pars.yacc" /* yacc.c:1646  */
8058     {
8059 	    box_linew = (yyvsp[0].dval);
8060 	}
8061 #line 8062 "y.tab.c" /* yacc.c:1646  */
8062     break;
8063 
8064   case 224:
8065 #line 2374 "pars.yacc" /* yacc.c:1646  */
8066     {
8067 	    box_color = (yyvsp[0].ival);
8068 	}
8069 #line 8070 "y.tab.c" /* yacc.c:1646  */
8070     break;
8071 
8072   case 225:
8073 #line 2377 "pars.yacc" /* yacc.c:1646  */
8074     {
8075 	    box_fillcolor = (yyvsp[0].ival);
8076 	}
8077 #line 8078 "y.tab.c" /* yacc.c:1646  */
8078     break;
8079 
8080   case 226:
8081 #line 2380 "pars.yacc" /* yacc.c:1646  */
8082     {
8083 	    box_fillpat = (yyvsp[0].ival);
8084 	}
8085 #line 8086 "y.tab.c" /* yacc.c:1646  */
8086     break;
8087 
8088   case 227:
8089 #line 2383 "pars.yacc" /* yacc.c:1646  */
8090     {
8091 	    if (!is_valid_box(curbox)) {
8092                 yyerror("Box not active");
8093 	    } else {
8094 		boxes[curbox].lines = box_lines;
8095 		boxes[curbox].linew = box_linew;
8096 		boxes[curbox].color = box_color;
8097 		if (get_project_version() <= 40102) {
8098                     switch (filltype_obs) {
8099                     case COLOR:
8100                         boxes[curbox].fillcolor = box_fillcolor;
8101 		        boxes[curbox].fillpattern = 1;
8102                         break;
8103                     case PATTERN:
8104                         boxes[curbox].fillcolor = 1;
8105 		        boxes[curbox].fillpattern = box_fillpat;
8106                         break;
8107                     default: /* NONE */
8108                         boxes[curbox].fillcolor = box_fillcolor;
8109 		        boxes[curbox].fillpattern = 0;
8110                         break;
8111                     }
8112 		} else {
8113                     boxes[curbox].fillcolor = box_fillcolor;
8114 		    boxes[curbox].fillpattern = box_fillpat;
8115                 }
8116                 boxes[curbox].loctype = box_loctype;
8117 	    }
8118 	}
8119 #line 8120 "y.tab.c" /* yacc.c:1646  */
8120     break;
8121 
8122   case 228:
8123 #line 2414 "pars.yacc" /* yacc.c:1646  */
8124     {
8125 		curellipse = next_ellipse();
8126 	}
8127 #line 8128 "y.tab.c" /* yacc.c:1646  */
8128     break;
8129 
8130   case 229:
8131 #line 2417 "pars.yacc" /* yacc.c:1646  */
8132     {
8133             int no = (yyvsp[0].ival);
8134             if (is_valid_ellipse(no) ||
8135                 realloc_ellipses(no + 1) == RETURN_SUCCESS) {
8136                 curellipse = no;
8137             }
8138 	}
8139 #line 8140 "y.tab.c" /* yacc.c:1646  */
8140     break;
8141 
8142   case 230:
8143 #line 2424 "pars.yacc" /* yacc.c:1646  */
8144     {
8145 	    if (!is_valid_ellipse(curellipse)) {
8146                 yyerror("Ellipse not active");
8147 	    } else {
8148 	        ellip[curellipse].active = (yyvsp[0].ival);
8149             }
8150 	}
8151 #line 8152 "y.tab.c" /* yacc.c:1646  */
8152     break;
8153 
8154   case 231:
8155 #line 2431 "pars.yacc" /* yacc.c:1646  */
8156     {
8157 	    if (!is_valid_ellipse(curellipse)) {
8158                 yyerror("Ellipse not active");
8159 	    } else {
8160 	        ellip[curellipse].gno = (yyvsp[0].ival);
8161             }
8162 	}
8163 #line 8164 "y.tab.c" /* yacc.c:1646  */
8164     break;
8165 
8166   case 232:
8167 #line 2438 "pars.yacc" /* yacc.c:1646  */
8168     {
8169 	    if (!is_valid_ellipse(curellipse)) {
8170                 yyerror("Ellipse not active");
8171 	    } else {
8172 		ellip[curellipse].x1 = (yyvsp[-6].dval);
8173 		ellip[curellipse].y1 = (yyvsp[-4].dval);
8174 		ellip[curellipse].x2 = (yyvsp[-2].dval);
8175 		ellip[curellipse].y2 = (yyvsp[0].dval);
8176 	    }
8177 	}
8178 #line 8179 "y.tab.c" /* yacc.c:1646  */
8179     break;
8180 
8181   case 233:
8182 #line 2448 "pars.yacc" /* yacc.c:1646  */
8183     {
8184 	    ellipse_loctype = (yyvsp[0].ival);
8185 	}
8186 #line 8187 "y.tab.c" /* yacc.c:1646  */
8187     break;
8188 
8189   case 234:
8190 #line 2451 "pars.yacc" /* yacc.c:1646  */
8191     {
8192 	    ellipse_lines = (yyvsp[0].ival);
8193 	}
8194 #line 8195 "y.tab.c" /* yacc.c:1646  */
8195     break;
8196 
8197   case 235:
8198 #line 2454 "pars.yacc" /* yacc.c:1646  */
8199     {
8200 	    ellipse_linew = (yyvsp[0].dval);
8201 	}
8202 #line 8203 "y.tab.c" /* yacc.c:1646  */
8203     break;
8204 
8205   case 236:
8206 #line 2457 "pars.yacc" /* yacc.c:1646  */
8207     {
8208 	    ellipse_color = (yyvsp[0].ival);
8209 	}
8210 #line 8211 "y.tab.c" /* yacc.c:1646  */
8211     break;
8212 
8213   case 237:
8214 #line 2460 "pars.yacc" /* yacc.c:1646  */
8215     {
8216 	    ellipse_fillcolor = (yyvsp[0].ival);
8217 	}
8218 #line 8219 "y.tab.c" /* yacc.c:1646  */
8219     break;
8220 
8221   case 238:
8222 #line 2463 "pars.yacc" /* yacc.c:1646  */
8223     {
8224 	    ellipse_fillpat = (yyvsp[0].ival);
8225 	}
8226 #line 8227 "y.tab.c" /* yacc.c:1646  */
8227     break;
8228 
8229   case 239:
8230 #line 2466 "pars.yacc" /* yacc.c:1646  */
8231     {
8232 	    if (!is_valid_ellipse(curellipse)) {
8233                 yyerror("Ellipse not active");
8234 	    } else {
8235 		ellip[curellipse].lines = ellipse_lines;
8236 		ellip[curellipse].linew = ellipse_linew;
8237 		ellip[curellipse].color = ellipse_color;
8238 		if (get_project_version() <= 40102) {
8239                     switch (filltype_obs) {
8240                     case COLOR:
8241                         ellip[curellipse].fillcolor = ellipse_fillcolor;
8242 		        ellip[curellipse].fillpattern = 1;
8243                         break;
8244                     case PATTERN:
8245                         ellip[curellipse].fillcolor = 1;
8246 		        ellip[curellipse].fillpattern = ellipse_fillpat;
8247                         break;
8248                     default: /* NONE */
8249                         ellip[curellipse].fillcolor = ellipse_fillcolor;
8250 		        ellip[curellipse].fillpattern = 0;
8251                         break;
8252                     }
8253 		} else {
8254                     ellip[curellipse].fillcolor = ellipse_fillcolor;
8255 		    ellip[curellipse].fillpattern = ellipse_fillpat;
8256                 }
8257 		ellip[curellipse].loctype = ellipse_loctype;
8258 	    }
8259 	}
8260 #line 8261 "y.tab.c" /* yacc.c:1646  */
8261     break;
8262 
8263   case 240:
8264 #line 2497 "pars.yacc" /* yacc.c:1646  */
8265     {
8266 	    curline = next_line();
8267 	}
8268 #line 8269 "y.tab.c" /* yacc.c:1646  */
8269     break;
8270 
8271   case 241:
8272 #line 2500 "pars.yacc" /* yacc.c:1646  */
8273     {
8274             int no = (yyvsp[0].ival);
8275             if (is_valid_line(no) ||
8276                 realloc_lines(no + 1) == RETURN_SUCCESS) {
8277                 curline = no;
8278             }
8279 	}
8280 #line 8281 "y.tab.c" /* yacc.c:1646  */
8281     break;
8282 
8283   case 242:
8284 #line 2507 "pars.yacc" /* yacc.c:1646  */
8285     {
8286 	    if (!is_valid_line(curline)) {
8287                 yyerror("Line not active");
8288 	    } else {
8289 	        lines[curline].active = (yyvsp[0].ival);
8290             }
8291 	}
8292 #line 8293 "y.tab.c" /* yacc.c:1646  */
8293     break;
8294 
8295   case 243:
8296 #line 2514 "pars.yacc" /* yacc.c:1646  */
8297     {
8298 	    if (!is_valid_line(curline)) {
8299                 yyerror("Line not active");
8300 	    } else {
8301 	        lines[curline].gno = (yyvsp[0].ival);
8302             }
8303 	}
8304 #line 8305 "y.tab.c" /* yacc.c:1646  */
8305     break;
8306 
8307   case 244:
8308 #line 2521 "pars.yacc" /* yacc.c:1646  */
8309     {
8310 	    if (!is_valid_line(curline)) {
8311                 yyerror("Line not active");
8312 	    } else {
8313 	        lines[curline].x1 = (yyvsp[-6].dval);
8314 	        lines[curline].y1 = (yyvsp[-4].dval);
8315 	        lines[curline].x2 = (yyvsp[-2].dval);
8316 	        lines[curline].y2 = (yyvsp[0].dval);
8317             }
8318 	}
8319 #line 8320 "y.tab.c" /* yacc.c:1646  */
8320     break;
8321 
8322   case 245:
8323 #line 2531 "pars.yacc" /* yacc.c:1646  */
8324     {
8325 	    line_loctype = (yyvsp[0].ival);
8326 	}
8327 #line 8328 "y.tab.c" /* yacc.c:1646  */
8328     break;
8329 
8330   case 246:
8331 #line 2534 "pars.yacc" /* yacc.c:1646  */
8332     {
8333 	    line_linew = (yyvsp[0].dval);
8334 	}
8335 #line 8336 "y.tab.c" /* yacc.c:1646  */
8336     break;
8337 
8338   case 247:
8339 #line 2537 "pars.yacc" /* yacc.c:1646  */
8340     {
8341 	    line_lines = (yyvsp[0].ival);
8342 	}
8343 #line 8344 "y.tab.c" /* yacc.c:1646  */
8344     break;
8345 
8346   case 248:
8347 #line 2540 "pars.yacc" /* yacc.c:1646  */
8348     {
8349 	    line_color = (yyvsp[0].ival);
8350 	}
8351 #line 8352 "y.tab.c" /* yacc.c:1646  */
8352     break;
8353 
8354   case 249:
8355 #line 2543 "pars.yacc" /* yacc.c:1646  */
8356     {
8357 	    line_arrow_end = (yyvsp[0].ival);
8358 	}
8359 #line 8360 "y.tab.c" /* yacc.c:1646  */
8360     break;
8361 
8362   case 250:
8363 #line 2546 "pars.yacc" /* yacc.c:1646  */
8364     {
8365 	    line_asize = (yyvsp[0].dval);
8366 	}
8367 #line 8368 "y.tab.c" /* yacc.c:1646  */
8368     break;
8369 
8370   case 251:
8371 #line 2549 "pars.yacc" /* yacc.c:1646  */
8372     {
8373 	    line_atype = (yyvsp[0].ival);
8374 	}
8375 #line 8376 "y.tab.c" /* yacc.c:1646  */
8376     break;
8377 
8378   case 252:
8379 #line 2552 "pars.yacc" /* yacc.c:1646  */
8380     {
8381 	    line_a_dL_ff = (yyvsp[-2].dval);
8382 	    line_a_lL_ff = (yyvsp[0].dval);
8383 	}
8384 #line 8385 "y.tab.c" /* yacc.c:1646  */
8385     break;
8386 
8387   case 253:
8388 #line 2556 "pars.yacc" /* yacc.c:1646  */
8389     {
8390 	    if (!is_valid_line(curline)) {
8391                 yyerror("Line not active");
8392 	    } else {
8393 	        lines[curline].lines = line_lines;
8394 	        lines[curline].linew = line_linew;
8395 	        lines[curline].color = line_color;
8396 	        lines[curline].arrow_end = line_arrow_end;
8397 	        lines[curline].arrow.length = line_asize;
8398 	        lines[curline].arrow.type = line_atype;
8399 	        lines[curline].arrow.dL_ff = line_a_dL_ff;
8400 	        lines[curline].arrow.lL_ff = line_a_lL_ff;
8401 	        lines[curline].loctype = line_loctype;
8402             }
8403 	}
8404 #line 8405 "y.tab.c" /* yacc.c:1646  */
8405     break;
8406 
8407   case 254:
8408 #line 2573 "pars.yacc" /* yacc.c:1646  */
8409     {
8410             curstring = next_string();
8411         }
8412 #line 8413 "y.tab.c" /* yacc.c:1646  */
8413     break;
8414 
8415   case 255:
8416 #line 2576 "pars.yacc" /* yacc.c:1646  */
8417     {
8418             int no = (yyvsp[0].ival);
8419             if (is_valid_string(no) ||
8420                 realloc_strings(no + 1) == RETURN_SUCCESS) {
8421                 curstring = no;
8422             }
8423         }
8424 #line 8425 "y.tab.c" /* yacc.c:1646  */
8425     break;
8426 
8427   case 256:
8428 #line 2583 "pars.yacc" /* yacc.c:1646  */
8429     {
8430 	    if (!is_valid_string(curstring)) {
8431                 yyerror("String not active");
8432 	    } else {
8433                 pstr[curstring].active = (yyvsp[0].ival);
8434             }
8435         }
8436 #line 8437 "y.tab.c" /* yacc.c:1646  */
8437     break;
8438 
8439   case 257:
8440 #line 2590 "pars.yacc" /* yacc.c:1646  */
8441     {
8442 	    if (!is_valid_string(curstring)) {
8443                 yyerror("String not active");
8444 	    } else {
8445                 pstr[curstring].gno = (yyvsp[0].ival);
8446             }
8447         }
8448 #line 8449 "y.tab.c" /* yacc.c:1646  */
8449     break;
8450 
8451   case 258:
8452 #line 2597 "pars.yacc" /* yacc.c:1646  */
8453     {
8454 	    if (!is_valid_string(curstring)) {
8455                 yyerror("String not active");
8456 	    } else {
8457 	        pstr[curstring].x = (yyvsp[-2].dval);
8458 	        pstr[curstring].y = (yyvsp[0].dval);
8459             }
8460 	}
8461 #line 8462 "y.tab.c" /* yacc.c:1646  */
8462     break;
8463 
8464   case 259:
8465 #line 2605 "pars.yacc" /* yacc.c:1646  */
8466     {
8467             string_loctype = (yyvsp[0].ival);
8468         }
8469 #line 8470 "y.tab.c" /* yacc.c:1646  */
8470     break;
8471 
8472   case 260:
8473 #line 2608 "pars.yacc" /* yacc.c:1646  */
8474     {
8475             string_color = (yyvsp[0].ival);
8476         }
8477 #line 8478 "y.tab.c" /* yacc.c:1646  */
8478     break;
8479 
8480   case 261:
8481 #line 2611 "pars.yacc" /* yacc.c:1646  */
8482     {
8483             string_rot = (yyvsp[0].ival);
8484         }
8485 #line 8486 "y.tab.c" /* yacc.c:1646  */
8486     break;
8487 
8488   case 262:
8489 #line 2614 "pars.yacc" /* yacc.c:1646  */
8490     {
8491             string_font = (yyvsp[0].ival);
8492         }
8493 #line 8494 "y.tab.c" /* yacc.c:1646  */
8494     break;
8495 
8496   case 263:
8497 #line 2617 "pars.yacc" /* yacc.c:1646  */
8498     {
8499             string_just = (yyvsp[0].ival);
8500         }
8501 #line 8502 "y.tab.c" /* yacc.c:1646  */
8502     break;
8503 
8504   case 264:
8505 #line 2620 "pars.yacc" /* yacc.c:1646  */
8506     {
8507             string_size = (yyvsp[0].dval);
8508         }
8509 #line 8510 "y.tab.c" /* yacc.c:1646  */
8510     break;
8511 
8512   case 265:
8513 #line 2623 "pars.yacc" /* yacc.c:1646  */
8514     {
8515 	    if (!is_valid_string(curstring)) {
8516                 yyerror("String not active");
8517 	    } else {
8518 	        set_plotstr_string(&pstr[curstring], (yyvsp[0].sval));
8519 	        pstr[curstring].color = string_color;
8520 	        pstr[curstring].font = string_font;
8521 	        pstr[curstring].just = string_just;
8522 	        pstr[curstring].loctype = string_loctype;
8523 	        pstr[curstring].rot = string_rot;
8524 	        pstr[curstring].charsize = string_size;
8525             }
8526 	    xfree((yyvsp[0].sval));
8527 	}
8528 #line 8529 "y.tab.c" /* yacc.c:1646  */
8529     break;
8530 
8531   case 266:
8532 #line 2639 "pars.yacc" /* yacc.c:1646  */
8533     {
8534             timestamp.active = (yyvsp[0].ival);
8535         }
8536 #line 8537 "y.tab.c" /* yacc.c:1646  */
8537     break;
8538 
8539   case 267:
8540 #line 2642 "pars.yacc" /* yacc.c:1646  */
8541     {
8542             timestamp.font = (yyvsp[0].ival);
8543         }
8544 #line 8545 "y.tab.c" /* yacc.c:1646  */
8545     break;
8546 
8547   case 268:
8548 #line 2645 "pars.yacc" /* yacc.c:1646  */
8549     {
8550             timestamp.charsize = (yyvsp[0].dval);
8551         }
8552 #line 8553 "y.tab.c" /* yacc.c:1646  */
8553     break;
8554 
8555   case 269:
8556 #line 2648 "pars.yacc" /* yacc.c:1646  */
8557     {
8558             timestamp.rot = (yyvsp[0].ival);
8559         }
8560 #line 8561 "y.tab.c" /* yacc.c:1646  */
8561     break;
8562 
8563   case 270:
8564 #line 2651 "pars.yacc" /* yacc.c:1646  */
8565     {
8566             timestamp.color = (yyvsp[0].ival);
8567         }
8568 #line 8569 "y.tab.c" /* yacc.c:1646  */
8569     break;
8570 
8571   case 271:
8572 #line 2654 "pars.yacc" /* yacc.c:1646  */
8573     {
8574 	    timestamp.x = (yyvsp[-2].dval);
8575 	    timestamp.y = (yyvsp[0].dval);
8576 	}
8577 #line 8578 "y.tab.c" /* yacc.c:1646  */
8578     break;
8579 
8580   case 272:
8581 #line 2658 "pars.yacc" /* yacc.c:1646  */
8582     {
8583 	  set_plotstr_string(&timestamp, (yyvsp[0].sval));
8584 	  xfree((yyvsp[0].sval));
8585 	}
8586 #line 8587 "y.tab.c" /* yacc.c:1646  */
8587     break;
8588 
8589   case 273:
8590 #line 2664 "pars.yacc" /* yacc.c:1646  */
8591     {
8592 	    grdefaults.lines = (yyvsp[0].ival);
8593 	    box_lines = ellipse_lines = line_lines = (yyvsp[0].ival);
8594 	}
8595 #line 8596 "y.tab.c" /* yacc.c:1646  */
8596     break;
8597 
8598   case 274:
8599 #line 2668 "pars.yacc" /* yacc.c:1646  */
8600     {
8601 	    grdefaults.linew = (yyvsp[0].dval);
8602 	    box_linew = ellipse_linew = line_linew = (yyvsp[0].dval);
8603 	}
8604 #line 8605 "y.tab.c" /* yacc.c:1646  */
8605     break;
8606 
8607   case 275:
8608 #line 2672 "pars.yacc" /* yacc.c:1646  */
8609     {
8610 	    grdefaults.color = (yyvsp[0].ival);
8611 	    box_color = ellipse_color = line_color = string_color = (yyvsp[0].ival);
8612 	}
8613 #line 8614 "y.tab.c" /* yacc.c:1646  */
8614     break;
8615 
8616   case 276:
8617 #line 2676 "pars.yacc" /* yacc.c:1646  */
8618     {
8619 	    grdefaults.pattern = (yyvsp[0].ival);
8620 	}
8621 #line 8622 "y.tab.c" /* yacc.c:1646  */
8622     break;
8623 
8624   case 277:
8625 #line 2679 "pars.yacc" /* yacc.c:1646  */
8626     {
8627 	    grdefaults.charsize = (yyvsp[0].dval);
8628 	    string_size = (yyvsp[0].dval);
8629 	}
8630 #line 8631 "y.tab.c" /* yacc.c:1646  */
8631     break;
8632 
8633   case 278:
8634 #line 2683 "pars.yacc" /* yacc.c:1646  */
8635     {
8636 	    grdefaults.font = (yyvsp[0].ival);
8637 	    string_font = (yyvsp[0].ival);
8638 	}
8639 #line 8640 "y.tab.c" /* yacc.c:1646  */
8640     break;
8641 
8642   case 279:
8643 #line 2687 "pars.yacc" /* yacc.c:1646  */
8644     {
8645 	    grdefaults.symsize = (yyvsp[0].dval);
8646 	}
8647 #line 8648 "y.tab.c" /* yacc.c:1646  */
8648     break;
8649 
8650   case 280:
8651 #line 2690 "pars.yacc" /* yacc.c:1646  */
8652     {
8653 	    strcpy(sformat, (yyvsp[0].sval));
8654 	    xfree((yyvsp[0].sval));
8655 	}
8656 #line 8657 "y.tab.c" /* yacc.c:1646  */
8657     break;
8658 
8659   case 281:
8660 #line 2694 "pars.yacc" /* yacc.c:1646  */
8661     {
8662 	    if ((map_font_by_name((yyvsp[-2].sval), (yyvsp[-4].ival)) != RETURN_SUCCESS) &&
8663                 (map_font_by_name((yyvsp[0].sval), (yyvsp[-4].ival)) != RETURN_SUCCESS)) {
8664                 errmsg("Failed mapping a font");
8665             }
8666             xfree((yyvsp[-2].sval));
8667 	    xfree((yyvsp[0].sval));
8668 	}
8669 #line 8670 "y.tab.c" /* yacc.c:1646  */
8670     break;
8671 
8672   case 282:
8673 #line 2702 "pars.yacc" /* yacc.c:1646  */
8674     {
8675 	    CMap_entry cmap;
8676             cmap.rgb.red   = (yyvsp[-7].ival);
8677             cmap.rgb.green = (yyvsp[-5].ival);
8678             cmap.rgb.blue  = (yyvsp[-3].ival);
8679             cmap.ctype = COLOR_MAIN;
8680             cmap.cname = (yyvsp[0].sval);
8681             if (store_color((yyvsp[-10].ival), cmap) == RETURN_FAILURE) {
8682                 errmsg("Failed mapping a color");
8683             }
8684 	    xfree((yyvsp[0].sval));
8685         }
8686 #line 8687 "y.tab.c" /* yacc.c:1646  */
8687     break;
8688 
8689   case 283:
8690 #line 2715 "pars.yacc" /* yacc.c:1646  */
8691     {
8692 	    if (!is_valid_gno(whichgraph)) {
8693                 yyerror("No valid graph selected");
8694                 return 1;
8695             }
8696 	    g[whichgraph].w.xg1 = (yyvsp[-6].dval);
8697 	    g[whichgraph].w.yg1 = (yyvsp[-4].dval);
8698 	    g[whichgraph].w.xg2 = (yyvsp[-2].dval);
8699 	    g[whichgraph].w.yg2 = (yyvsp[0].dval);
8700 	}
8701 #line 8702 "y.tab.c" /* yacc.c:1646  */
8702     break;
8703 
8704   case 284:
8705 #line 2725 "pars.yacc" /* yacc.c:1646  */
8706     {
8707 	    set_graph_znorm(whichgraph, (yyvsp[0].dval));
8708 	}
8709 #line 8710 "y.tab.c" /* yacc.c:1646  */
8710     break;
8711 
8712   case 285:
8713 #line 2728 "pars.yacc" /* yacc.c:1646  */
8714     {
8715 	    if (!is_valid_gno(whichgraph)) {
8716                 yyerror("No valid graph selected");
8717                 return 1;
8718             }
8719 	    g[whichgraph].v.xv1 = (yyvsp[-6].dval);
8720 	    g[whichgraph].v.yv1 = (yyvsp[-4].dval);
8721 	    g[whichgraph].v.xv2 = (yyvsp[-2].dval);
8722 	    g[whichgraph].v.yv2 = (yyvsp[0].dval);
8723 	}
8724 #line 8725 "y.tab.c" /* yacc.c:1646  */
8725     break;
8726 
8727   case 286:
8728 #line 2738 "pars.yacc" /* yacc.c:1646  */
8729     {
8730 	    if (!is_valid_gno(whichgraph)) {
8731                 yyerror("No valid graph selected");
8732                 return 1;
8733             }
8734 	    set_plotstr_string(&g[whichgraph].labs.title, (yyvsp[0].sval));
8735 	    xfree((yyvsp[0].sval));
8736 	}
8737 #line 8738 "y.tab.c" /* yacc.c:1646  */
8738     break;
8739 
8740   case 287:
8741 #line 2746 "pars.yacc" /* yacc.c:1646  */
8742     {
8743 	    if (!is_valid_gno(whichgraph)) {
8744                 yyerror("No valid graph selected");
8745                 return 1;
8746             }
8747 	    g[whichgraph].labs.title.font = (yyvsp[0].ival);
8748 	}
8749 #line 8750 "y.tab.c" /* yacc.c:1646  */
8750     break;
8751 
8752   case 288:
8753 #line 2753 "pars.yacc" /* yacc.c:1646  */
8754     {
8755 	    if (!is_valid_gno(whichgraph)) {
8756                 yyerror("No valid graph selected");
8757                 return 1;
8758             }
8759 	    g[whichgraph].labs.title.charsize = (yyvsp[0].dval);
8760 	}
8761 #line 8762 "y.tab.c" /* yacc.c:1646  */
8762     break;
8763 
8764   case 289:
8765 #line 2760 "pars.yacc" /* yacc.c:1646  */
8766     {
8767 	    if (!is_valid_gno(whichgraph)) {
8768                 yyerror("No valid graph selected");
8769                 return 1;
8770             }
8771 	    g[whichgraph].labs.title.color = (yyvsp[0].ival);
8772 	}
8773 #line 8774 "y.tab.c" /* yacc.c:1646  */
8774     break;
8775 
8776   case 290:
8777 #line 2767 "pars.yacc" /* yacc.c:1646  */
8778     {
8779 	    if (!is_valid_gno(whichgraph)) {
8780                 yyerror("No valid graph selected");
8781                 return 1;
8782             }
8783 	    set_plotstr_string(&g[whichgraph].labs.stitle, (yyvsp[0].sval));
8784 	    xfree((yyvsp[0].sval));
8785 	}
8786 #line 8787 "y.tab.c" /* yacc.c:1646  */
8787     break;
8788 
8789   case 291:
8790 #line 2775 "pars.yacc" /* yacc.c:1646  */
8791     {
8792 	    if (!is_valid_gno(whichgraph)) {
8793                 yyerror("No valid graph selected");
8794                 return 1;
8795             }
8796 	    g[whichgraph].labs.stitle.font = (yyvsp[0].ival);
8797 	}
8798 #line 8799 "y.tab.c" /* yacc.c:1646  */
8799     break;
8800 
8801   case 292:
8802 #line 2782 "pars.yacc" /* yacc.c:1646  */
8803     {
8804 	    if (!is_valid_gno(whichgraph)) {
8805                 yyerror("No valid graph selected");
8806                 return 1;
8807             }
8808 	    g[whichgraph].labs.stitle.charsize = (yyvsp[0].dval);
8809 	}
8810 #line 8811 "y.tab.c" /* yacc.c:1646  */
8811     break;
8812 
8813   case 293:
8814 #line 2789 "pars.yacc" /* yacc.c:1646  */
8815     {
8816 	    if (!is_valid_gno(whichgraph)) {
8817                 yyerror("No valid graph selected");
8818                 return 1;
8819             }
8820 	    g[whichgraph].labs.stitle.color = (yyvsp[0].ival);
8821 	}
8822 #line 8823 "y.tab.c" /* yacc.c:1646  */
8823     break;
8824 
8825   case 294:
8826 #line 2797 "pars.yacc" /* yacc.c:1646  */
8827     {
8828 	    if (!is_valid_gno(whichgraph)) {
8829                 yyerror("No valid graph selected");
8830                 return 1;
8831             }
8832 	    g[whichgraph].xscale = (yyvsp[0].ival);
8833 	}
8834 #line 8835 "y.tab.c" /* yacc.c:1646  */
8835     break;
8836 
8837   case 295:
8838 #line 2804 "pars.yacc" /* yacc.c:1646  */
8839     {
8840 	    if (!is_valid_gno(whichgraph)) {
8841                 yyerror("No valid graph selected");
8842                 return 1;
8843             }
8844 	    g[whichgraph].yscale = (yyvsp[0].ival);
8845 	}
8846 #line 8847 "y.tab.c" /* yacc.c:1646  */
8847     break;
8848 
8849   case 296:
8850 #line 2811 "pars.yacc" /* yacc.c:1646  */
8851     {
8852 	    if (!is_valid_gno(whichgraph)) {
8853                 yyerror("No valid graph selected");
8854                 return 1;
8855             }
8856 	    g[whichgraph].xinvert = (yyvsp[0].ival);
8857 	}
8858 #line 8859 "y.tab.c" /* yacc.c:1646  */
8859     break;
8860 
8861   case 297:
8862 #line 2818 "pars.yacc" /* yacc.c:1646  */
8863     {
8864 	    if (!is_valid_gno(whichgraph)) {
8865                 yyerror("No valid graph selected");
8866                 return 1;
8867             }
8868 	    g[whichgraph].yinvert = (yyvsp[0].ival);
8869 	}
8870 #line 8871 "y.tab.c" /* yacc.c:1646  */
8871     break;
8872 
8873   case 298:
8874 #line 2825 "pars.yacc" /* yacc.c:1646  */
8875     {
8876             autoscale_onread = AUTOSCALE_NONE;
8877         }
8878 #line 8879 "y.tab.c" /* yacc.c:1646  */
8879     break;
8880 
8881   case 299:
8882 #line 2828 "pars.yacc" /* yacc.c:1646  */
8883     {
8884             autoscale_onread = AUTOSCALE_X;
8885         }
8886 #line 8887 "y.tab.c" /* yacc.c:1646  */
8887     break;
8888 
8889   case 300:
8890 #line 2831 "pars.yacc" /* yacc.c:1646  */
8891     {
8892             autoscale_onread = AUTOSCALE_Y;
8893         }
8894 #line 8895 "y.tab.c" /* yacc.c:1646  */
8895     break;
8896 
8897   case 301:
8898 #line 2834 "pars.yacc" /* yacc.c:1646  */
8899     {
8900             autoscale_onread = AUTOSCALE_XY;
8901         }
8902 #line 8903 "y.tab.c" /* yacc.c:1646  */
8903     break;
8904 
8905   case 302:
8906 #line 2838 "pars.yacc" /* yacc.c:1646  */
8907     {
8908             char *s;
8909             s = copy_string(NULL, get_project_description());
8910             s = concat_strings(s, (yyvsp[0].sval));
8911 	    xfree((yyvsp[0].sval));
8912             s = concat_strings(s, "\n");
8913             set_project_description(s);
8914             xfree(s);
8915 	}
8916 #line 8917 "y.tab.c" /* yacc.c:1646  */
8917     break;
8918 
8919   case 303:
8920 #line 2847 "pars.yacc" /* yacc.c:1646  */
8921     {
8922             set_project_description(NULL);
8923         }
8924 #line 8925 "y.tab.c" /* yacc.c:1646  */
8925     break;
8926 
8927   case 304:
8928 #line 2851 "pars.yacc" /* yacc.c:1646  */
8929     {
8930 	    if (!is_valid_gno(whichgraph)) {
8931                 yyerror("No valid graph selected");
8932                 return 1;
8933             }
8934 	    g[whichgraph].l.active = (yyvsp[0].ival);
8935 	}
8936 #line 8937 "y.tab.c" /* yacc.c:1646  */
8937     break;
8938 
8939   case 305:
8940 #line 2858 "pars.yacc" /* yacc.c:1646  */
8941     {
8942 	    if (!is_valid_gno(whichgraph)) {
8943                 yyerror("No valid graph selected");
8944                 return 1;
8945             }
8946 	    g[whichgraph].l.loctype = (yyvsp[0].ival);
8947 	}
8948 #line 8949 "y.tab.c" /* yacc.c:1646  */
8949     break;
8950 
8951   case 306:
8952 #line 2865 "pars.yacc" /* yacc.c:1646  */
8953     {
8954 	    if (!is_valid_gno(whichgraph)) {
8955                 yyerror("No valid graph selected");
8956                 return 1;
8957             }
8958             g[whichgraph].l.vgap = (yyvsp[0].ival);
8959 	}
8960 #line 8961 "y.tab.c" /* yacc.c:1646  */
8961     break;
8962 
8963   case 307:
8964 #line 2872 "pars.yacc" /* yacc.c:1646  */
8965     {
8966 	    if (!is_valid_gno(whichgraph)) {
8967                 yyerror("No valid graph selected");
8968                 return 1;
8969             }
8970 	    g[whichgraph].l.hgap = (yyvsp[0].ival);
8971 	}
8972 #line 8973 "y.tab.c" /* yacc.c:1646  */
8973     break;
8974 
8975   case 308:
8976 #line 2879 "pars.yacc" /* yacc.c:1646  */
8977     {
8978 	    if (!is_valid_gno(whichgraph)) {
8979                 yyerror("No valid graph selected");
8980                 return 1;
8981             }
8982 	    g[whichgraph].l.len = (yyvsp[0].ival);
8983 	}
8984 #line 8985 "y.tab.c" /* yacc.c:1646  */
8985     break;
8986 
8987   case 309:
8988 #line 2886 "pars.yacc" /* yacc.c:1646  */
8989     {
8990 	    if (!is_valid_gno(whichgraph)) {
8991                 yyerror("No valid graph selected");
8992                 return 1;
8993             }
8994 	    g[whichgraph].l.invert = (yyvsp[0].ival);
8995         }
8996 #line 8997 "y.tab.c" /* yacc.c:1646  */
8997     break;
8998 
8999   case 310:
9000 #line 2893 "pars.yacc" /* yacc.c:1646  */
9001     {
9002 	    if (!is_valid_gno(whichgraph)) {
9003                 yyerror("No valid graph selected");
9004                 return 1;
9005             }
9006 	    g[whichgraph].l.boxfillpen.color = (yyvsp[0].ival);
9007         }
9008 #line 9009 "y.tab.c" /* yacc.c:1646  */
9009     break;
9010 
9011   case 311:
9012 #line 2900 "pars.yacc" /* yacc.c:1646  */
9013     {
9014 	    if (!is_valid_gno(whichgraph)) {
9015                 yyerror("No valid graph selected");
9016                 return 1;
9017             }
9018 	    g[whichgraph].l.boxfillpen.pattern = (yyvsp[0].ival);
9019         }
9020 #line 9021 "y.tab.c" /* yacc.c:1646  */
9021     break;
9022 
9023   case 312:
9024 #line 2907 "pars.yacc" /* yacc.c:1646  */
9025     {
9026 	    if (!is_valid_gno(whichgraph)) {
9027                 yyerror("No valid graph selected");
9028                 return 1;
9029             }
9030 	    g[whichgraph].l.boxpen.color = (yyvsp[0].ival);
9031 	}
9032 #line 9033 "y.tab.c" /* yacc.c:1646  */
9033     break;
9034 
9035   case 313:
9036 #line 2914 "pars.yacc" /* yacc.c:1646  */
9037     {
9038 	    if (!is_valid_gno(whichgraph)) {
9039                 yyerror("No valid graph selected");
9040                 return 1;
9041             }
9042 	    g[whichgraph].l.boxpen.pattern = (yyvsp[0].ival);
9043 	}
9044 #line 9045 "y.tab.c" /* yacc.c:1646  */
9045     break;
9046 
9047   case 314:
9048 #line 2921 "pars.yacc" /* yacc.c:1646  */
9049     {
9050 	    if (!is_valid_gno(whichgraph)) {
9051                 yyerror("No valid graph selected");
9052                 return 1;
9053             }
9054 	    g[whichgraph].l.boxlines = (yyvsp[0].ival);
9055 	}
9056 #line 9057 "y.tab.c" /* yacc.c:1646  */
9057     break;
9058 
9059   case 315:
9060 #line 2928 "pars.yacc" /* yacc.c:1646  */
9061     {
9062 	    if (!is_valid_gno(whichgraph)) {
9063                 yyerror("No valid graph selected");
9064                 return 1;
9065             }
9066 	    g[whichgraph].l.boxlinew = (yyvsp[0].dval);
9067 	}
9068 #line 9069 "y.tab.c" /* yacc.c:1646  */
9069     break;
9070 
9071   case 316:
9072 #line 2935 "pars.yacc" /* yacc.c:1646  */
9073     {
9074 	    if (!is_valid_gno(whichgraph)) {
9075                 yyerror("No valid graph selected");
9076                 return 1;
9077             }
9078 	    g[whichgraph].l.legx = (yyvsp[-2].dval);
9079 	    g[whichgraph].l.legy = (yyvsp[0].dval);
9080 	}
9081 #line 9082 "y.tab.c" /* yacc.c:1646  */
9082     break;
9083 
9084   case 317:
9085 #line 2943 "pars.yacc" /* yacc.c:1646  */
9086     {
9087 	    if (!is_valid_gno(whichgraph)) {
9088                 yyerror("No valid graph selected");
9089                 return 1;
9090             }
9091 	    g[whichgraph].l.charsize = (yyvsp[0].dval);
9092 	}
9093 #line 9094 "y.tab.c" /* yacc.c:1646  */
9094     break;
9095 
9096   case 318:
9097 #line 2950 "pars.yacc" /* yacc.c:1646  */
9098     {
9099 	    if (!is_valid_gno(whichgraph)) {
9100                 yyerror("No valid graph selected");
9101                 return 1;
9102             }
9103 	    g[whichgraph].l.font = (yyvsp[0].ival);
9104 	}
9105 #line 9106 "y.tab.c" /* yacc.c:1646  */
9106     break;
9107 
9108   case 319:
9109 #line 2957 "pars.yacc" /* yacc.c:1646  */
9110     {
9111 	    if (!is_valid_gno(whichgraph)) {
9112                 yyerror("No valid graph selected");
9113                 return 1;
9114             }
9115 	    g[whichgraph].l.color = (yyvsp[0].ival);
9116 	}
9117 #line 9118 "y.tab.c" /* yacc.c:1646  */
9118     break;
9119 
9120   case 320:
9121 #line 2965 "pars.yacc" /* yacc.c:1646  */
9122     {
9123 	    if (!is_valid_gno(whichgraph)) {
9124                 yyerror("No valid graph selected");
9125                 return 1;
9126             }
9127             g[whichgraph].f.pen.pattern = (yyvsp[0].ival);
9128 	}
9129 #line 9130 "y.tab.c" /* yacc.c:1646  */
9130     break;
9131 
9132   case 321:
9133 #line 2972 "pars.yacc" /* yacc.c:1646  */
9134     {
9135 	    if (!is_valid_gno(whichgraph)) {
9136                 yyerror("No valid graph selected");
9137                 return 1;
9138             }
9139 	    g[whichgraph].f.type = (yyvsp[0].ival);
9140 	}
9141 #line 9142 "y.tab.c" /* yacc.c:1646  */
9142     break;
9143 
9144   case 322:
9145 #line 2979 "pars.yacc" /* yacc.c:1646  */
9146     {
9147 	    if (!is_valid_gno(whichgraph)) {
9148                 yyerror("No valid graph selected");
9149                 return 1;
9150             }
9151 	    g[whichgraph].f.lines = (yyvsp[0].ival);
9152 	}
9153 #line 9154 "y.tab.c" /* yacc.c:1646  */
9154     break;
9155 
9156   case 323:
9157 #line 2986 "pars.yacc" /* yacc.c:1646  */
9158     {
9159 	    if (!is_valid_gno(whichgraph)) {
9160                 yyerror("No valid graph selected");
9161                 return 1;
9162             }
9163 	    g[whichgraph].f.linew = (yyvsp[0].dval);
9164 	}
9165 #line 9166 "y.tab.c" /* yacc.c:1646  */
9166     break;
9167 
9168   case 324:
9169 #line 2993 "pars.yacc" /* yacc.c:1646  */
9170     {
9171 	    if (!is_valid_gno(whichgraph)) {
9172                 yyerror("No valid graph selected");
9173                 return 1;
9174             }
9175 	    g[whichgraph].f.pen.color = (yyvsp[0].ival);
9176 	}
9177 #line 9178 "y.tab.c" /* yacc.c:1646  */
9178     break;
9179 
9180   case 325:
9181 #line 3000 "pars.yacc" /* yacc.c:1646  */
9182     {
9183 	    if (!is_valid_gno(whichgraph)) {
9184                 yyerror("No valid graph selected");
9185                 return 1;
9186             }
9187 	    g[whichgraph].f.pen.pattern = (yyvsp[0].ival);
9188 	}
9189 #line 9190 "y.tab.c" /* yacc.c:1646  */
9190     break;
9191 
9192   case 326:
9193 #line 3008 "pars.yacc" /* yacc.c:1646  */
9194     {
9195 	    if (!is_valid_gno(whichgraph)) {
9196                 yyerror("No valid graph selected");
9197                 return 1;
9198             }
9199             g[whichgraph].f.fillpen.color = (yyvsp[0].ival);
9200         }
9201 #line 9202 "y.tab.c" /* yacc.c:1646  */
9202     break;
9203 
9204   case 327:
9205 #line 3016 "pars.yacc" /* yacc.c:1646  */
9206     {
9207 	    if (!is_valid_gno(whichgraph)) {
9208                 yyerror("No valid graph selected");
9209                 return 1;
9210             }
9211             g[whichgraph].f.fillpen.pattern = (yyvsp[0].ival);
9212         }
9213 #line 9214 "y.tab.c" /* yacc.c:1646  */
9214     break;
9215 
9216   case 328:
9217 #line 3024 "pars.yacc" /* yacc.c:1646  */
9218     {
9219             set_graph_hidden((yyvsp[-1].ival), !(yyvsp[0].ival));
9220         }
9221 #line 9222 "y.tab.c" /* yacc.c:1646  */
9222     break;
9223 
9224   case 329:
9225 #line 3027 "pars.yacc" /* yacc.c:1646  */
9226     {
9227             set_graph_hidden((yyvsp[-2].ival), (yyvsp[0].ival));
9228         }
9229 #line 9230 "y.tab.c" /* yacc.c:1646  */
9230     break;
9231 
9232   case 330:
9233 #line 3030 "pars.yacc" /* yacc.c:1646  */
9234     {
9235             set_graph_type((yyvsp[-2].ival), (yyvsp[0].ival));
9236         }
9237 #line 9238 "y.tab.c" /* yacc.c:1646  */
9238     break;
9239 
9240   case 331:
9241 #line 3033 "pars.yacc" /* yacc.c:1646  */
9242     {
9243             set_graph_stacked((yyvsp[-2].ival), (yyvsp[0].ival));
9244         }
9245 #line 9246 "y.tab.c" /* yacc.c:1646  */
9246     break;
9247 
9248   case 332:
9249 #line 3037 "pars.yacc" /* yacc.c:1646  */
9250     {
9251 	    set_graph_bargap((yyvsp[-3].ival), (yyvsp[0].dval));
9252 	}
9253 #line 9254 "y.tab.c" /* yacc.c:1646  */
9254     break;
9255 
9256   case 333:
9257 #line 3041 "pars.yacc" /* yacc.c:1646  */
9258     {
9259             g[(yyvsp[-2].ival)].locator.pointset = (yyvsp[0].ival);
9260         }
9261 #line 9262 "y.tab.c" /* yacc.c:1646  */
9262     break;
9263 
9264   case 334:
9265 #line 3044 "pars.yacc" /* yacc.c:1646  */
9266     {
9267 	    g[(yyvsp[-4].ival)].locator.fx = (yyvsp[-1].ival);
9268 	    g[(yyvsp[-4].ival)].locator.fy = (yyvsp[0].ival);
9269 	}
9270 #line 9271 "y.tab.c" /* yacc.c:1646  */
9271     break;
9272 
9273   case 335:
9274 #line 3048 "pars.yacc" /* yacc.c:1646  */
9275     {
9276 	    g[(yyvsp[-5].ival)].locator.px = (yyvsp[-2].dval);
9277 	    g[(yyvsp[-5].ival)].locator.py = (yyvsp[0].dval);
9278 	}
9279 #line 9280 "y.tab.c" /* yacc.c:1646  */
9280     break;
9281 
9282   case 336:
9283 #line 3052 "pars.yacc" /* yacc.c:1646  */
9284     {
9285 	    g[(yyvsp[-5].ival)].locator.dsx = (yyvsp[-2].dval);
9286 	    g[(yyvsp[-5].ival)].locator.dsy = (yyvsp[0].dval);
9287 	}
9288 #line 9289 "y.tab.c" /* yacc.c:1646  */
9289     break;
9290 
9291   case 337:
9292 #line 3056 "pars.yacc" /* yacc.c:1646  */
9293     {
9294             g[(yyvsp[-3].ival)].locator.pt_type = (yyvsp[0].ival);
9295         }
9296 #line 9297 "y.tab.c" /* yacc.c:1646  */
9297     break;
9298 
9299   case 338:
9300 #line 3060 "pars.yacc" /* yacc.c:1646  */
9301     {
9302 	    curtype = (yyvsp[0].ival);
9303 	}
9304 #line 9305 "y.tab.c" /* yacc.c:1646  */
9305     break;
9306 
9307   case 339:
9308 #line 3065 "pars.yacc" /* yacc.c:1646  */
9309     {
9310 	    if (add_io_filter((yyvsp[-3].ival), (yyvsp[-1].ival), (yyvsp[0].sval), (yyvsp[-2].sval)) != 0) {
9311 	        yyerror("Failed adding i/o filter");
9312 	    }
9313 	    xfree((yyvsp[-2].sval));
9314 	    xfree((yyvsp[0].sval));
9315 	}
9316 #line 9317 "y.tab.c" /* yacc.c:1646  */
9317     break;
9318 
9319   case 340:
9320 #line 3072 "pars.yacc" /* yacc.c:1646  */
9321     {
9322 	    clear_io_filters((yyvsp[0].ival));
9323 	}
9324 #line 9325 "y.tab.c" /* yacc.c:1646  */
9325     break;
9326 
9327   case 341:
9328 #line 3076 "pars.yacc" /* yacc.c:1646  */
9329     {
9330 	    cursource = (yyvsp[0].ival);
9331 	}
9332 #line 9333 "y.tab.c" /* yacc.c:1646  */
9333     break;
9334 
9335   case 342:
9336 #line 3079 "pars.yacc" /* yacc.c:1646  */
9337     {
9338 	    readxformat = (yyvsp[0].ival);
9339 	}
9340 #line 9341 "y.tab.c" /* yacc.c:1646  */
9341     break;
9342 
9343   case 343:
9344 #line 3082 "pars.yacc" /* yacc.c:1646  */
9345     { }
9346 #line 9347 "y.tab.c" /* yacc.c:1646  */
9347     break;
9348 
9349   case 344:
9350 #line 3083 "pars.yacc" /* yacc.c:1646  */
9351     {
9352 	    nonl_parms[(yyvsp[-2].ival)].constr = (yyvsp[0].ival);
9353 	}
9354 #line 9355 "y.tab.c" /* yacc.c:1646  */
9355     break;
9356 
9357   case 345:
9358 #line 3089 "pars.yacc" /* yacc.c:1646  */
9359     {
9360 	    drawgraph();
9361 	}
9362 #line 9363 "y.tab.c" /* yacc.c:1646  */
9363     break;
9364 
9365   case 346:
9366 #line 3092 "pars.yacc" /* yacc.c:1646  */
9367     {
9368 #ifndef NONE_GUI
9369             if (inwin) {
9370                 update_all();
9371             }
9372 #endif
9373         }
9374 #line 9375 "y.tab.c" /* yacc.c:1646  */
9375     break;
9376 
9377   case 347:
9378 #line 3099 "pars.yacc" /* yacc.c:1646  */
9379     {
9380 	    set_workingdir((yyvsp[0].sval));
9381 	    xfree((yyvsp[0].sval));
9382 	}
9383 #line 9384 "y.tab.c" /* yacc.c:1646  */
9384     break;
9385 
9386   case 348:
9387 #line 3103 "pars.yacc" /* yacc.c:1646  */
9388     {
9389 	    echomsg((yyvsp[0].sval));
9390 	    xfree((yyvsp[0].sval));
9391 	}
9392 #line 9393 "y.tab.c" /* yacc.c:1646  */
9393     break;
9394 
9395   case 349:
9396 #line 3107 "pars.yacc" /* yacc.c:1646  */
9397     {
9398 	    char buf[32];
9399             set_locale_num(TRUE);
9400             sprintf(buf, "%g", (yyvsp[0].dval));
9401             set_locale_num(FALSE);
9402             echomsg(buf);
9403 	}
9404 #line 9405 "y.tab.c" /* yacc.c:1646  */
9405     break;
9406 
9407   case 350:
9408 #line 3114 "pars.yacc" /* yacc.c:1646  */
9409     {
9410 	    close_input = copy_string(close_input, "");
9411 	}
9412 #line 9413 "y.tab.c" /* yacc.c:1646  */
9413     break;
9414 
9415   case 351:
9416 #line 3117 "pars.yacc" /* yacc.c:1646  */
9417     {
9418 	    close_input = copy_string(close_input, (yyvsp[0].sval));
9419 	}
9420 #line 9421 "y.tab.c" /* yacc.c:1646  */
9421     break;
9422 
9423   case 352:
9424 #line 3120 "pars.yacc" /* yacc.c:1646  */
9425     {
9426 	    exit(0);
9427 	}
9428 #line 9429 "y.tab.c" /* yacc.c:1646  */
9429     break;
9430 
9431   case 353:
9432 #line 3123 "pars.yacc" /* yacc.c:1646  */
9433     {
9434 	    exit((yyvsp[-1].ival));
9435 	}
9436 #line 9437 "y.tab.c" /* yacc.c:1646  */
9437     break;
9438 
9439   case 354:
9440 #line 3126 "pars.yacc" /* yacc.c:1646  */
9441     {
9442 	    if (!safe_mode) {
9443                 do_hardcopy();
9444             } else {
9445                 yyerror("File modifications are disabled in safe mode");
9446             }
9447 	}
9448 #line 9449 "y.tab.c" /* yacc.c:1646  */
9449     break;
9450 
9451   case 355:
9452 #line 3133 "pars.yacc" /* yacc.c:1646  */
9453     {
9454             set_ptofile(FALSE);
9455 	}
9456 #line 9457 "y.tab.c" /* yacc.c:1646  */
9457     break;
9458 
9459   case 356:
9460 #line 3136 "pars.yacc" /* yacc.c:1646  */
9461     {
9462             set_ptofile(TRUE);
9463 	    strcpy(print_file, (yyvsp[0].sval));
9464             xfree((yyvsp[0].sval));
9465 	}
9466 #line 9467 "y.tab.c" /* yacc.c:1646  */
9467     break;
9468 
9469   case 357:
9470 #line 3141 "pars.yacc" /* yacc.c:1646  */
9471     {
9472 	    switch ((yyvsp[0].ival)) {
9473 	    case UP:
9474 		graph_scroll(GSCROLL_UP);
9475 		break;
9476 	    case DOWN:
9477 		graph_scroll(GSCROLL_DOWN);
9478 		break;
9479 	    case RIGHT:
9480 		graph_scroll(GSCROLL_RIGHT);
9481 		break;
9482 	    case LEFT:
9483 		graph_scroll(GSCROLL_LEFT);
9484 		break;
9485 	    case IN:
9486 		graph_zoom(GZOOM_SHRINK);
9487 		break;
9488 	    case OUT:
9489 		graph_zoom(GZOOM_EXPAND);
9490 		break;
9491 	    }
9492 	}
9493 #line 9494 "y.tab.c" /* yacc.c:1646  */
9494     break;
9495 
9496   case 358:
9497 #line 3163 "pars.yacc" /* yacc.c:1646  */
9498     {
9499 	    if ((yyvsp[0].dval) > 0) {
9500 	        msleep_wrap((unsigned int) (1000 * (yyvsp[0].dval)));
9501 	    }
9502 	}
9503 #line 9504 "y.tab.c" /* yacc.c:1646  */
9504     break;
9505 
9506   case 359:
9507 #line 3168 "pars.yacc" /* yacc.c:1646  */
9508     {
9509 #ifndef NONE_GUI
9510             if (inwin) {
9511                 HelpCB((yyvsp[0].sval));
9512             }
9513             xfree((yyvsp[0].sval));
9514 #endif
9515 	}
9516 #line 9517 "y.tab.c" /* yacc.c:1646  */
9517     break;
9518 
9519   case 360:
9520 #line 3176 "pars.yacc" /* yacc.c:1646  */
9521     {
9522 #ifndef NONE_GUI
9523             if (inwin) {
9524                 HelpCB("doc/UsersGuide.html");
9525             }
9526 #endif
9527 	}
9528 #line 9529 "y.tab.c" /* yacc.c:1646  */
9529     break;
9530 
9531   case 361:
9532 #line 3183 "pars.yacc" /* yacc.c:1646  */
9533     {
9534 	    gotparams = TRUE;
9535 	    strcpy(paramfile, (yyvsp[0].sval));
9536 	    xfree((yyvsp[0].sval));
9537 	}
9538 #line 9539 "y.tab.c" /* yacc.c:1646  */
9539     break;
9540 
9541   case 362:
9542 #line 3188 "pars.yacc" /* yacc.c:1646  */
9543     {
9544 	    if (!safe_mode) {
9545                 FILE *pp = grace_openw((yyvsp[0].sval));
9546 	        if (pp != NULL) {
9547 	            putparms(whichgraph, pp, 0);
9548 	            grace_close(pp);
9549 	        }
9550             } else {
9551                 yyerror("File modifications are disabled in safe mode");
9552             }
9553 	    xfree((yyvsp[0].sval));
9554 	}
9555 #line 9556 "y.tab.c" /* yacc.c:1646  */
9556     break;
9557 
9558   case 363:
9559 #line 3200 "pars.yacc" /* yacc.c:1646  */
9560     {
9561 	    set_set_hidden((yyvsp[-2].trgt)->gno, (yyvsp[-2].trgt)->setno, (yyvsp[0].ival));
9562 	}
9563 #line 9564 "y.tab.c" /* yacc.c:1646  */
9564     break;
9565 
9566   case 364:
9567 #line 3203 "pars.yacc" /* yacc.c:1646  */
9568     {
9569 	    setlength((yyvsp[-2].trgt)->gno, (yyvsp[-2].trgt)->setno, (yyvsp[0].ival));
9570 	}
9571 #line 9572 "y.tab.c" /* yacc.c:1646  */
9572     break;
9573 
9574   case 365:
9575 #line 3206 "pars.yacc" /* yacc.c:1646  */
9576     {
9577 	    realloc_vrbl((yyvsp[-2].vrbl), (yyvsp[0].ival));
9578 	}
9579 #line 9580 "y.tab.c" /* yacc.c:1646  */
9580     break;
9581 
9582   case 366:
9583 #line 3209 "pars.yacc" /* yacc.c:1646  */
9584     {
9585 	    add_point((yyvsp[-4].trgt)->gno, (yyvsp[-4].trgt)->setno, (yyvsp[-2].dval), (yyvsp[0].dval));
9586 	}
9587 #line 9588 "y.tab.c" /* yacc.c:1646  */
9588     break;
9589 
9590   case 367:
9591 #line 3213 "pars.yacc" /* yacc.c:1646  */
9592     {
9593 	    int start = (yyvsp[-2].ival) - index_shift;
9594 	    int stop = (yyvsp[0].ival) - index_shift;
9595 	    droppoints((yyvsp[-4].trgt)->gno, (yyvsp[-4].trgt)->setno, start, stop);
9596 	}
9597 #line 9598 "y.tab.c" /* yacc.c:1646  */
9598     break;
9599 
9600   case 368:
9601 #line 3218 "pars.yacc" /* yacc.c:1646  */
9602     {
9603 	    if (is_set_active((yyvsp[-2].trgt)->gno, (yyvsp[-2].trgt)->setno)) {
9604 	        sortset((yyvsp[-2].trgt)->gno, (yyvsp[-2].trgt)->setno, (yyvsp[-1].ival), (yyvsp[0].ival) == ASCENDING ? 0 : 1);
9605 	    }
9606 	}
9607 #line 9608 "y.tab.c" /* yacc.c:1646  */
9608     break;
9609 
9610   case 369:
9611 #line 3223 "pars.yacc" /* yacc.c:1646  */
9612     {
9613 	    do_copyset((yyvsp[-2].trgt)->gno, (yyvsp[-2].trgt)->setno, (yyvsp[0].trgt)->gno, (yyvsp[0].trgt)->setno);
9614 	}
9615 #line 9616 "y.tab.c" /* yacc.c:1646  */
9616     break;
9617 
9618   case 370:
9619 #line 3226 "pars.yacc" /* yacc.c:1646  */
9620     {
9621 	    if ((yyvsp[-2].trgt)->gno != (yyvsp[0].trgt)->gno) {
9622                 errmsg("Can't append sets from different graphs");
9623             } else {
9624                 int sets[2];
9625 	        sets[0] = (yyvsp[0].trgt)->setno;
9626 	        sets[1] = (yyvsp[-2].trgt)->setno;
9627 	        join_sets((yyvsp[-2].trgt)->gno, sets, 2);
9628             }
9629 	}
9630 #line 9631 "y.tab.c" /* yacc.c:1646  */
9631     break;
9632 
9633   case 371:
9634 #line 3236 "pars.yacc" /* yacc.c:1646  */
9635     {
9636             reverse_set((yyvsp[0].trgt)->gno, (yyvsp[0].trgt)->setno);
9637 	}
9638 #line 9639 "y.tab.c" /* yacc.c:1646  */
9639     break;
9640 
9641   case 372:
9642 #line 3239 "pars.yacc" /* yacc.c:1646  */
9643     {
9644             do_splitsets((yyvsp[-1].trgt)->gno, (yyvsp[-1].trgt)->setno, (yyvsp[0].ival));
9645 	}
9646 #line 9647 "y.tab.c" /* yacc.c:1646  */
9647     break;
9648 
9649   case 373:
9650 #line 3242 "pars.yacc" /* yacc.c:1646  */
9651     {
9652 	    do_moveset((yyvsp[-2].trgt)->gno, (yyvsp[-2].trgt)->setno, (yyvsp[0].trgt)->gno, (yyvsp[0].trgt)->setno);
9653 	}
9654 #line 9655 "y.tab.c" /* yacc.c:1646  */
9655     break;
9656 
9657   case 374:
9658 #line 3245 "pars.yacc" /* yacc.c:1646  */
9659     {
9660 	    do_swapset((yyvsp[-2].trgt)->gno, (yyvsp[-2].trgt)->setno, (yyvsp[0].trgt)->gno, (yyvsp[0].trgt)->setno);
9661 	}
9662 #line 9663 "y.tab.c" /* yacc.c:1646  */
9663     break;
9664 
9665   case 375:
9666 #line 3248 "pars.yacc" /* yacc.c:1646  */
9667     {
9668 	    killset((yyvsp[0].trgt)->gno, (yyvsp[0].trgt)->setno);
9669 	}
9670 #line 9671 "y.tab.c" /* yacc.c:1646  */
9671     break;
9672 
9673   case 376:
9674 #line 3251 "pars.yacc" /* yacc.c:1646  */
9675     {
9676             killsetdata((yyvsp[-1].trgt)->gno, (yyvsp[-1].trgt)->setno);
9677             setcomment((yyvsp[-1].trgt)->gno, (yyvsp[-1].trgt)->setno, "");
9678         }
9679 #line 9680 "y.tab.c" /* yacc.c:1646  */
9680     break;
9681 
9682   case 377:
9683 #line 3255 "pars.yacc" /* yacc.c:1646  */
9684     {
9685             kill_graph((yyvsp[0].ival));
9686         }
9687 #line 9688 "y.tab.c" /* yacc.c:1646  */
9688     break;
9689 
9690   case 378:
9691 #line 3258 "pars.yacc" /* yacc.c:1646  */
9692     {
9693             kill_region((yyvsp[0].ival));
9694         }
9695 #line 9696 "y.tab.c" /* yacc.c:1646  */
9696     break;
9697 
9698   case 379:
9699 #line 3261 "pars.yacc" /* yacc.c:1646  */
9700     {
9701             wipeout();
9702         }
9703 #line 9704 "y.tab.c" /* yacc.c:1646  */
9704     break;
9705 
9706   case 380:
9707 #line 3264 "pars.yacc" /* yacc.c:1646  */
9708     {
9709             arrange_graphs_simple((yyvsp[-9].ival), (yyvsp[-7].ival), 0, FALSE, (yyvsp[-5].dval), (yyvsp[-3].dval), (yyvsp[-1].dval));
9710         }
9711 #line 9712 "y.tab.c" /* yacc.c:1646  */
9712     break;
9713 
9714   case 381:
9715 #line 3267 "pars.yacc" /* yacc.c:1646  */
9716     {
9717             int order = ((yyvsp[-5].ival) * GA_ORDER_HV_INV) |
9718                         ((yyvsp[-3].ival) * GA_ORDER_H_INV ) |
9719                         ((yyvsp[-1].ival) * GA_ORDER_V_INV );
9720             arrange_graphs_simple((yyvsp[-15].ival), (yyvsp[-13].ival), order, FALSE, (yyvsp[-11].dval), (yyvsp[-9].dval), (yyvsp[-7].dval));
9721         }
9722 #line 9723 "y.tab.c" /* yacc.c:1646  */
9723     break;
9724 
9725   case 382:
9726 #line 3273 "pars.yacc" /* yacc.c:1646  */
9727     {
9728             int order = ((yyvsp[-7].ival) * GA_ORDER_HV_INV) |
9729                         ((yyvsp[-5].ival) * GA_ORDER_H_INV ) |
9730                         ((yyvsp[-3].ival) * GA_ORDER_V_INV );
9731             arrange_graphs_simple((yyvsp[-17].ival), (yyvsp[-15].ival), order, (yyvsp[-1].ival), (yyvsp[-13].dval), (yyvsp[-11].dval), (yyvsp[-9].dval));
9732         }
9733 #line 9734 "y.tab.c" /* yacc.c:1646  */
9734     break;
9735 
9736   case 383:
9737 #line 3279 "pars.yacc" /* yacc.c:1646  */
9738     {
9739 	    gotnlfit = TRUE;
9740 	    nlfit_gno = (yyvsp[-3].trgt)->gno;
9741 	    nlfit_setno = (yyvsp[-3].trgt)->setno;
9742 	    nlfit_nsteps = (yyvsp[-1].ival);
9743 	    nlfit_warray = NULL;
9744 	}
9745 #line 9746 "y.tab.c" /* yacc.c:1646  */
9746     break;
9747 
9748   case 384:
9749 #line 3286 "pars.yacc" /* yacc.c:1646  */
9750     {
9751 	    if (getsetlength((yyvsp[-5].trgt)->gno, (yyvsp[-5].trgt)->setno) != (yyvsp[-3].vrbl)->length) {
9752                 errmsg("Data and weight arrays are of different lengths");
9753                 return 1;
9754             } else {
9755 	        gotnlfit = TRUE;
9756 	        nlfit_gno = (yyvsp[-5].trgt)->gno;
9757 	        nlfit_setno = (yyvsp[-5].trgt)->setno;
9758 	        nlfit_nsteps = (yyvsp[-1].ival);
9759 	        nlfit_warray = copy_data_column((yyvsp[-3].vrbl)->data, (yyvsp[-3].vrbl)->length);
9760             }
9761 	}
9762 #line 9763 "y.tab.c" /* yacc.c:1646  */
9763     break;
9764 
9765   case 385:
9766 #line 3298 "pars.yacc" /* yacc.c:1646  */
9767     {
9768 	    do_regress((yyvsp[-3].trgt)->gno, (yyvsp[-3].trgt)->setno, (yyvsp[-1].ival), 0, -1, 0, -1);
9769 	}
9770 #line 9771 "y.tab.c" /* yacc.c:1646  */
9771     break;
9772 
9773   case 386:
9774 #line 3301 "pars.yacc" /* yacc.c:1646  */
9775     {
9776 	    do_runavg((yyvsp[-3].trgt)->gno, (yyvsp[-3].trgt)->setno, (yyvsp[-1].ival), (yyvsp[-5].ival), -1, 0);
9777 	}
9778 #line 9779 "y.tab.c" /* yacc.c:1646  */
9779     break;
9780 
9781   case 387:
9782 #line 3304 "pars.yacc" /* yacc.c:1646  */
9783     {
9784 	    do_fourier_command((yyvsp[-3].trgt)->gno, (yyvsp[-3].trgt)->setno, (yyvsp[-5].ival), (yyvsp[-1].ival));
9785 	}
9786 #line 9787 "y.tab.c" /* yacc.c:1646  */
9787     break;
9788 
9789   case 388:
9790 #line 3308 "pars.yacc" /* yacc.c:1646  */
9791     {
9792 	    switch ((yyvsp[-11].ival)) {
9793 	    case FFT_DFT:
9794                 do_fourier((yyvsp[-9].trgt)->gno, (yyvsp[-9].trgt)->setno, 0, (yyvsp[-1].ival), (yyvsp[-3].ival), 0, (yyvsp[-7].ival), (yyvsp[-5].ival));
9795 	        break;
9796 	    case FFT_INVDFT    :
9797                 do_fourier((yyvsp[-9].trgt)->gno, (yyvsp[-9].trgt)->setno, 0, (yyvsp[-1].ival), (yyvsp[-3].ival), 1, (yyvsp[-7].ival), (yyvsp[-5].ival));
9798 	        break;
9799 	    case FFT_FFT:
9800                 do_fourier((yyvsp[-9].trgt)->gno, (yyvsp[-9].trgt)->setno, 1, (yyvsp[-1].ival), (yyvsp[-3].ival), 0, (yyvsp[-7].ival), (yyvsp[-5].ival));
9801 	        break;
9802 	    case FFT_INVFFT    :
9803                 do_fourier((yyvsp[-9].trgt)->gno, (yyvsp[-9].trgt)->setno, 1, (yyvsp[-1].ival), (yyvsp[-3].ival), 1, (yyvsp[-7].ival), (yyvsp[-5].ival));
9804 	        break;
9805 	    default:
9806                 errmsg("Internal error");
9807 	        break;
9808 	    }
9809         }
9810 #line 9811 "y.tab.c" /* yacc.c:1646  */
9811     break;
9812 
9813   case 389:
9814 #line 3327 "pars.yacc" /* yacc.c:1646  */
9815     {
9816             do_interp((yyvsp[-7].trgt)->gno, (yyvsp[-7].trgt)->setno, get_cg(), SET_SELECT_NEXT,
9817                 (yyvsp[-5].vrbl)->data, (yyvsp[-5].vrbl)->length, (yyvsp[-3].ival), (yyvsp[-1].ival));
9818 	}
9819 #line 9820 "y.tab.c" /* yacc.c:1646  */
9820     break;
9821 
9822   case 390:
9823 #line 3331 "pars.yacc" /* yacc.c:1646  */
9824     {
9825             do_histo((yyvsp[-7].trgt)->gno, (yyvsp[-7].trgt)->setno, get_cg(), SET_SELECT_NEXT,
9826                 (yyvsp[-5].vrbl)->data, (yyvsp[-5].vrbl)->length - 1, (yyvsp[-3].ival), (yyvsp[-1].ival));
9827 	}
9828 #line 9829 "y.tab.c" /* yacc.c:1646  */
9829     break;
9830 
9831   case 391:
9832 #line 3335 "pars.yacc" /* yacc.c:1646  */
9833     {
9834 	    do_differ((yyvsp[-3].trgt)->gno, (yyvsp[-3].trgt)->setno, (yyvsp[-1].ival));
9835 	}
9836 #line 9837 "y.tab.c" /* yacc.c:1646  */
9837     break;
9838 
9839   case 392:
9840 #line 3338 "pars.yacc" /* yacc.c:1646  */
9841     {
9842 	    do_int((yyvsp[-1].trgt)->gno, (yyvsp[-1].trgt)->setno, 0);
9843 	}
9844 #line 9845 "y.tab.c" /* yacc.c:1646  */
9845     break;
9846 
9847   case 393:
9848 #line 3341 "pars.yacc" /* yacc.c:1646  */
9849     {
9850 	    do_xcor((yyvsp[-7].trgt)->gno, (yyvsp[-7].trgt)->setno, (yyvsp[-5].trgt)->gno, (yyvsp[-5].trgt)->setno, (yyvsp[-3].ival), (yyvsp[-1].ival));
9851 	}
9852 #line 9853 "y.tab.c" /* yacc.c:1646  */
9853     break;
9854 
9855   case 394:
9856 #line 3344 "pars.yacc" /* yacc.c:1646  */
9857     {
9858 	    do_linearc((yyvsp[-3].trgt)->gno, (yyvsp[-3].trgt)->setno, (yyvsp[-1].trgt)->gno, (yyvsp[-1].trgt)->setno);
9859 	}
9860 #line 9861 "y.tab.c" /* yacc.c:1646  */
9861     break;
9862 
9863   case 395:
9864 #line 3347 "pars.yacc" /* yacc.c:1646  */
9865     {
9866             int len = getsetlength((yyvsp[-3].trgt)->gno, (yyvsp[-3].trgt)->setno);
9867             if (len != (yyvsp[-1].vrbl)->length) {
9868 		errmsg("Filter expression is of a wrong length");
9869             } else {
9870                 char *rarray;
9871                 rarray = xmalloc(len*SIZEOF_CHAR);
9872                 if (rarray) {
9873                     int i;
9874                     for (i = 0; i < len; i++) {
9875                         rarray[i] = CAST_DBL_TO_BOOL((yyvsp[-1].vrbl)->data[i]);
9876                     }
9877                     filter_set((yyvsp[-3].trgt)->gno, (yyvsp[-3].trgt)->setno, rarray);
9878                     xfree(rarray);
9879                 }
9880             }
9881 	}
9882 #line 9883 "y.tab.c" /* yacc.c:1646  */
9883     break;
9884 
9885   case 396:
9886 #line 3364 "pars.yacc" /* yacc.c:1646  */
9887     {
9888             int rtype;
9889             char *rarray;
9890 
9891             rtype = RESTRICT_REG0 + (yyvsp[-3].ival);
9892 
9893 	    if (get_restriction_array((yyvsp[-5].trgt)->gno, (yyvsp[-5].trgt)->setno,
9894                 rtype, (yyvsp[-1].ival), &rarray) != RETURN_SUCCESS) {
9895                 errmsg("Error in region evaluation");
9896                 return 1;
9897 	    } else {
9898                 filter_set((yyvsp[-5].trgt)->gno, (yyvsp[-5].trgt)->setno, rarray);
9899                 xfree(rarray);
9900             }
9901 	}
9902 #line 9903 "y.tab.c" /* yacc.c:1646  */
9903     break;
9904 
9905   case 397:
9906 #line 3379 "pars.yacc" /* yacc.c:1646  */
9907     {
9908 	    if (autoscale_graph(whichgraph, AUTOSCALE_XY) != RETURN_SUCCESS) {
9909 		errmsg("Can't autoscale (no active sets?)");
9910 	    }
9911 	}
9912 #line 9913 "y.tab.c" /* yacc.c:1646  */
9913     break;
9914 
9915   case 398:
9916 #line 3384 "pars.yacc" /* yacc.c:1646  */
9917     {
9918 	    if (autoscale_graph(whichgraph, AUTOSCALE_X) != RETURN_SUCCESS) {
9919 		errmsg("Can't autoscale (no active sets?)");
9920 	    }
9921 	}
9922 #line 9923 "y.tab.c" /* yacc.c:1646  */
9923     break;
9924 
9925   case 399:
9926 #line 3389 "pars.yacc" /* yacc.c:1646  */
9927     {
9928 	    if (autoscale_graph(whichgraph, AUTOSCALE_Y) != RETURN_SUCCESS) {
9929 		errmsg("Can't autoscale (no active sets?)");
9930 	    }
9931 	}
9932 #line 9933 "y.tab.c" /* yacc.c:1646  */
9933     break;
9934 
9935   case 400:
9936 #line 3394 "pars.yacc" /* yacc.c:1646  */
9937     {
9938 	    autoscale_byset((yyvsp[0].trgt)->gno, (yyvsp[0].trgt)->setno, AUTOSCALE_XY);
9939 	}
9940 #line 9941 "y.tab.c" /* yacc.c:1646  */
9941     break;
9942 
9943   case 401:
9944 #line 3397 "pars.yacc" /* yacc.c:1646  */
9945     {
9946             autotick_axis(whichgraph, ALL_AXES);
9947         }
9948 #line 9949 "y.tab.c" /* yacc.c:1646  */
9949     break;
9950 
9951   case 402:
9952 #line 3400 "pars.yacc" /* yacc.c:1646  */
9953     {
9954 	    int gno = (yyvsp[0].ival);
9955             if (is_graph_hidden(gno) == FALSE) {
9956                 select_graph(gno);
9957             } else {
9958 		errmsg("Graph is not active");
9959             }
9960 	}
9961 #line 9962 "y.tab.c" /* yacc.c:1646  */
9962     break;
9963 
9964   case 403:
9965 #line 3408 "pars.yacc" /* yacc.c:1646  */
9966     {
9967 	    gotread = TRUE;
9968 	    strcpy(readfile, (yyvsp[0].sval));
9969 	    xfree((yyvsp[0].sval));
9970 	}
9971 #line 9972 "y.tab.c" /* yacc.c:1646  */
9972     break;
9973 
9974   case 404:
9975 #line 3413 "pars.yacc" /* yacc.c:1646  */
9976     {
9977 	    strcpy(batchfile, (yyvsp[0].sval));
9978 	    xfree((yyvsp[0].sval));
9979 	}
9980 #line 9981 "y.tab.c" /* yacc.c:1646  */
9981     break;
9982 
9983   case 405:
9984 #line 3417 "pars.yacc" /* yacc.c:1646  */
9985     {
9986 	    getdata(whichgraph, (yyvsp[0].sval), SOURCE_DISK, LOAD_BLOCK);
9987 	    xfree((yyvsp[0].sval));
9988 	}
9989 #line 9990 "y.tab.c" /* yacc.c:1646  */
9990     break;
9991 
9992   case 406:
9993 #line 3421 "pars.yacc" /* yacc.c:1646  */
9994     {
9995 	    getdata(whichgraph, (yyvsp[0].sval), (yyvsp[-1].ival), LOAD_BLOCK);
9996 	    xfree((yyvsp[0].sval));
9997 	}
9998 #line 9999 "y.tab.c" /* yacc.c:1646  */
9999     break;
10000 
10001   case 407:
10002 #line 3425 "pars.yacc" /* yacc.c:1646  */
10003     {
10004             int nc, *cols, scol;
10005             if (field_string_to_cols((yyvsp[0].sval), &nc, &cols, &scol) != RETURN_SUCCESS) {
10006                 errmsg("Erroneous field specifications");
10007 	        xfree((yyvsp[0].sval));
10008                 return 1;
10009             } else {
10010 	        xfree((yyvsp[0].sval));
10011 	        create_set_fromblock(whichgraph, NEW_SET,
10012                     (yyvsp[-1].ival), nc, cols, scol, autoscale_onread);
10013                 xfree(cols);
10014             }
10015 	}
10016 #line 10017 "y.tab.c" /* yacc.c:1646  */
10017     break;
10018 
10019   case 408:
10020 #line 3438 "pars.yacc" /* yacc.c:1646  */
10021     {
10022 	    set_blockdata(NULL);
10023 	}
10024 #line 10025 "y.tab.c" /* yacc.c:1646  */
10025     break;
10026 
10027   case 409:
10028 #line 3441 "pars.yacc" /* yacc.c:1646  */
10029     {
10030 	    gotread = TRUE;
10031 	    curtype = (yyvsp[-1].ival);
10032 	    strcpy(readfile, (yyvsp[0].sval));
10033 	    xfree((yyvsp[0].sval));
10034 	}
10035 #line 10036 "y.tab.c" /* yacc.c:1646  */
10036     break;
10037 
10038   case 410:
10039 #line 3447 "pars.yacc" /* yacc.c:1646  */
10040     {
10041 	    gotread = TRUE;
10042 	    strcpy(readfile, (yyvsp[0].sval));
10043 	    curtype = (yyvsp[-2].ival);
10044 	    cursource = (yyvsp[-1].ival);
10045 	    xfree((yyvsp[0].sval));
10046 	}
10047 #line 10048 "y.tab.c" /* yacc.c:1646  */
10048     break;
10049 
10050   case 411:
10051 #line 3454 "pars.yacc" /* yacc.c:1646  */
10052     {
10053 	    getdata(whichgraph, (yyvsp[0].sval), SOURCE_DISK, LOAD_NXY);
10054 	    xfree((yyvsp[0].sval));
10055 	}
10056 #line 10057 "y.tab.c" /* yacc.c:1646  */
10057     break;
10058 
10059   case 412:
10060 #line 3458 "pars.yacc" /* yacc.c:1646  */
10061     {
10062 	    getdata(whichgraph, (yyvsp[0].sval), (yyvsp[-1].ival), LOAD_NXY);
10063 	    xfree((yyvsp[0].sval));
10064 	}
10065 #line 10066 "y.tab.c" /* yacc.c:1646  */
10066     break;
10067 
10068   case 413:
10069 #line 3462 "pars.yacc" /* yacc.c:1646  */
10070     {
10071 	    if (!safe_mode) {
10072                 outputset((yyvsp[0].trgt)->gno, (yyvsp[0].trgt)->setno, "stdout", NULL);
10073             } else {
10074                 yyerror("File modifications are disabled in safe mode");
10075             }
10076 	}
10077 #line 10078 "y.tab.c" /* yacc.c:1646  */
10078     break;
10079 
10080   case 414:
10081 #line 3469 "pars.yacc" /* yacc.c:1646  */
10082     {
10083 	    if (!safe_mode) {
10084 	        outputset((yyvsp[-2].trgt)->gno, (yyvsp[-2].trgt)->setno, "stdout", (yyvsp[0].sval));
10085             } else {
10086                 yyerror("File modifications are disabled in safe mode");
10087             }
10088 	    xfree((yyvsp[0].sval));
10089 	}
10090 #line 10091 "y.tab.c" /* yacc.c:1646  */
10091     break;
10092 
10093   case 415:
10094 #line 3477 "pars.yacc" /* yacc.c:1646  */
10095     {
10096 	    if (!safe_mode) {
10097 	        outputset((yyvsp[-2].trgt)->gno, (yyvsp[-2].trgt)->setno, (yyvsp[0].sval), NULL);
10098             } else {
10099                 yyerror("File modifications are disabled in safe mode");
10100             }
10101 	    xfree((yyvsp[0].sval));
10102 	}
10103 #line 10104 "y.tab.c" /* yacc.c:1646  */
10104     break;
10105 
10106   case 416:
10107 #line 3485 "pars.yacc" /* yacc.c:1646  */
10108     {
10109 	    if (!safe_mode) {
10110 	        outputset((yyvsp[-4].trgt)->gno, (yyvsp[-4].trgt)->setno, (yyvsp[-2].sval), (yyvsp[0].sval));
10111             } else {
10112                 yyerror("File modifications are disabled in safe mode");
10113             }
10114 	    xfree((yyvsp[-2].sval));
10115 	    xfree((yyvsp[0].sval));
10116 	}
10117 #line 10118 "y.tab.c" /* yacc.c:1646  */
10118     break;
10119 
10120   case 417:
10121 #line 3494 "pars.yacc" /* yacc.c:1646  */
10122     {
10123             if (!safe_mode) {
10124                 save_project((yyvsp[0].sval));
10125             } else {
10126                 yyerror("File modifications are disabled in safe mode");
10127             }
10128             xfree((yyvsp[0].sval));
10129         }
10130 #line 10131 "y.tab.c" /* yacc.c:1646  */
10131     break;
10132 
10133   case 418:
10134 #line 3502 "pars.yacc" /* yacc.c:1646  */
10135     {
10136             load_project((yyvsp[0].sval));
10137             xfree((yyvsp[0].sval));
10138         }
10139 #line 10140 "y.tab.c" /* yacc.c:1646  */
10140     break;
10141 
10142   case 419:
10143 #line 3506 "pars.yacc" /* yacc.c:1646  */
10144     {
10145             new_project(NULL);
10146         }
10147 #line 10148 "y.tab.c" /* yacc.c:1646  */
10148     break;
10149 
10150   case 420:
10151 #line 3509 "pars.yacc" /* yacc.c:1646  */
10152     {
10153             new_project((yyvsp[0].sval));
10154             xfree((yyvsp[0].sval));
10155         }
10156 #line 10157 "y.tab.c" /* yacc.c:1646  */
10157     break;
10158 
10159   case 421:
10160 #line 3513 "pars.yacc" /* yacc.c:1646  */
10161     {
10162 	    push_world();
10163 	}
10164 #line 10165 "y.tab.c" /* yacc.c:1646  */
10165     break;
10166 
10167   case 422:
10168 #line 3516 "pars.yacc" /* yacc.c:1646  */
10169     {
10170 	    pop_world();
10171 	}
10172 #line 10173 "y.tab.c" /* yacc.c:1646  */
10173     break;
10174 
10175   case 423:
10176 #line 3519 "pars.yacc" /* yacc.c:1646  */
10177     {
10178 	    cycle_world_stack();
10179 	}
10180 #line 10181 "y.tab.c" /* yacc.c:1646  */
10181     break;
10182 
10183   case 424:
10184 #line 3522 "pars.yacc" /* yacc.c:1646  */
10185     {
10186 	    if ((yyvsp[0].ival) > 0)
10187 		show_world_stack((yyvsp[0].ival) - 1);
10188 	}
10189 #line 10190 "y.tab.c" /* yacc.c:1646  */
10190     break;
10191 
10192   case 425:
10193 #line 3526 "pars.yacc" /* yacc.c:1646  */
10194     {
10195 	    clear_world_stack();
10196 	}
10197 #line 10198 "y.tab.c" /* yacc.c:1646  */
10198     break;
10199 
10200   case 426:
10201 #line 3529 "pars.yacc" /* yacc.c:1646  */
10202     {
10203 	    do_clear_boxes();
10204 	}
10205 #line 10206 "y.tab.c" /* yacc.c:1646  */
10206     break;
10207 
10208   case 427:
10209 #line 3532 "pars.yacc" /* yacc.c:1646  */
10210     {
10211 	    do_clear_ellipses();
10212 	}
10213 #line 10214 "y.tab.c" /* yacc.c:1646  */
10214     break;
10215 
10216   case 428:
10217 #line 3535 "pars.yacc" /* yacc.c:1646  */
10218     {
10219 	    do_clear_lines();
10220 	}
10221 #line 10222 "y.tab.c" /* yacc.c:1646  */
10222     break;
10223 
10224   case 429:
10225 #line 3538 "pars.yacc" /* yacc.c:1646  */
10226     {
10227 	    do_clear_text();
10228 	}
10229 #line 10230 "y.tab.c" /* yacc.c:1646  */
10230     break;
10231 
10232   case 430:
10233 #line 3545 "pars.yacc" /* yacc.c:1646  */
10234     {
10235 #ifndef NONE_GUI
10236             set_pagelayout((yyvsp[0].ival));
10237 #endif
10238         }
10239 #line 10240 "y.tab.c" /* yacc.c:1646  */
10240     break;
10241 
10242   case 431:
10243 #line 3550 "pars.yacc" /* yacc.c:1646  */
10244     {
10245 	    auto_redraw = (yyvsp[0].ival);
10246 	}
10247 #line 10248 "y.tab.c" /* yacc.c:1646  */
10248     break;
10249 
10250   case 432:
10251 #line 3553 "pars.yacc" /* yacc.c:1646  */
10252     {
10253 	    draw_focus_flag = (yyvsp[0].ival);
10254 	}
10255 #line 10256 "y.tab.c" /* yacc.c:1646  */
10256     break;
10257 
10258   case 433:
10259 #line 3556 "pars.yacc" /* yacc.c:1646  */
10260     {
10261 	    focus_policy = FOCUS_SET;
10262 	}
10263 #line 10264 "y.tab.c" /* yacc.c:1646  */
10264     break;
10265 
10266   case 434:
10267 #line 3559 "pars.yacc" /* yacc.c:1646  */
10268     {
10269 	    focus_policy = FOCUS_FOLLOWS;
10270 	}
10271 #line 10272 "y.tab.c" /* yacc.c:1646  */
10272     break;
10273 
10274   case 435:
10275 #line 3562 "pars.yacc" /* yacc.c:1646  */
10276     {
10277 	    focus_policy = FOCUS_CLICK;
10278 	}
10279 #line 10280 "y.tab.c" /* yacc.c:1646  */
10280     break;
10281 
10282   case 436:
10283 #line 3569 "pars.yacc" /* yacc.c:1646  */
10284     {}
10285 #line 10286 "y.tab.c" /* yacc.c:1646  */
10286     break;
10287 
10288   case 437:
10289 #line 3570 "pars.yacc" /* yacc.c:1646  */
10290     {}
10291 #line 10292 "y.tab.c" /* yacc.c:1646  */
10292     break;
10293 
10294   case 438:
10295 #line 3574 "pars.yacc" /* yacc.c:1646  */
10296     {
10297 	    set_set_hidden((yyvsp[-1].trgt)->gno, (yyvsp[-1].trgt)->setno, !(yyvsp[0].ival));
10298 	}
10299 #line 10300 "y.tab.c" /* yacc.c:1646  */
10300     break;
10301 
10302   case 439:
10303 #line 3577 "pars.yacc" /* yacc.c:1646  */
10304     {
10305 	    set_dataset_type((yyvsp[-2].trgt)->gno, (yyvsp[-2].trgt)->setno, (yyvsp[0].ival));
10306 	}
10307 #line 10308 "y.tab.c" /* yacc.c:1646  */
10308     break;
10309 
10310   case 440:
10311 #line 3581 "pars.yacc" /* yacc.c:1646  */
10312     {
10313 	    g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].sym = (yyvsp[0].ival);
10314 	}
10315 #line 10316 "y.tab.c" /* yacc.c:1646  */
10316     break;
10317 
10318   case 441:
10319 #line 3584 "pars.yacc" /* yacc.c:1646  */
10320     {
10321 	    g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].sympen.color = (yyvsp[0].ival);
10322 	}
10323 #line 10324 "y.tab.c" /* yacc.c:1646  */
10324     break;
10325 
10326   case 442:
10327 #line 3587 "pars.yacc" /* yacc.c:1646  */
10328     {
10329 	    g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].sympen.pattern = (yyvsp[0].ival);
10330 	}
10331 #line 10332 "y.tab.c" /* yacc.c:1646  */
10332     break;
10333 
10334   case 443:
10335 #line 3590 "pars.yacc" /* yacc.c:1646  */
10336     {
10337 	    g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].symlinew = (yyvsp[0].dval);
10338 	}
10339 #line 10340 "y.tab.c" /* yacc.c:1646  */
10340     break;
10341 
10342   case 444:
10343 #line 3593 "pars.yacc" /* yacc.c:1646  */
10344     {
10345 	    g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].symlines = (yyvsp[0].ival);
10346 	}
10347 #line 10348 "y.tab.c" /* yacc.c:1646  */
10348     break;
10349 
10350   case 445:
10351 #line 3596 "pars.yacc" /* yacc.c:1646  */
10352     {
10353 	    g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].symfillpen.color = (yyvsp[0].ival);
10354 	}
10355 #line 10356 "y.tab.c" /* yacc.c:1646  */
10356     break;
10357 
10358   case 446:
10359 #line 3599 "pars.yacc" /* yacc.c:1646  */
10360     {
10361 	    g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].symfillpen.pattern = (yyvsp[0].ival);
10362 	}
10363 #line 10364 "y.tab.c" /* yacc.c:1646  */
10364     break;
10365 
10366   case 447:
10367 #line 3602 "pars.yacc" /* yacc.c:1646  */
10368     {
10369 	    g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].symsize = (yyvsp[0].dval);
10370 	}
10371 #line 10372 "y.tab.c" /* yacc.c:1646  */
10372     break;
10373 
10374   case 448:
10375 #line 3605 "pars.yacc" /* yacc.c:1646  */
10376     {
10377 	    g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].symchar = (yyvsp[0].ival);
10378 	}
10379 #line 10380 "y.tab.c" /* yacc.c:1646  */
10380     break;
10381 
10382   case 449:
10383 #line 3608 "pars.yacc" /* yacc.c:1646  */
10384     {
10385 	    g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].charfont = (yyvsp[0].ival);
10386 	}
10387 #line 10388 "y.tab.c" /* yacc.c:1646  */
10388     break;
10389 
10390   case 450:
10391 #line 3611 "pars.yacc" /* yacc.c:1646  */
10392     {
10393 	    g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].symskip = (yyvsp[0].ival);
10394 	}
10395 #line 10396 "y.tab.c" /* yacc.c:1646  */
10396     break;
10397 
10398   case 451:
10399 #line 3616 "pars.yacc" /* yacc.c:1646  */
10400     {
10401 	    g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].linet = (yyvsp[0].ival);
10402 	}
10403 #line 10404 "y.tab.c" /* yacc.c:1646  */
10404     break;
10405 
10406   case 452:
10407 #line 3620 "pars.yacc" /* yacc.c:1646  */
10408     {
10409 	    g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].lines = (yyvsp[0].ival);
10410 	}
10411 #line 10412 "y.tab.c" /* yacc.c:1646  */
10412     break;
10413 
10414   case 453:
10415 #line 3624 "pars.yacc" /* yacc.c:1646  */
10416     {
10417 	    g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].linew = (yyvsp[0].dval);
10418 	}
10419 #line 10420 "y.tab.c" /* yacc.c:1646  */
10420     break;
10421 
10422   case 454:
10423 #line 3628 "pars.yacc" /* yacc.c:1646  */
10424     {
10425 	    g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].linepen.color = (yyvsp[0].ival);
10426 	}
10427 #line 10428 "y.tab.c" /* yacc.c:1646  */
10428     break;
10429 
10430   case 455:
10431 #line 3632 "pars.yacc" /* yacc.c:1646  */
10432     {
10433 	    g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].linepen.pattern = (yyvsp[0].ival);
10434 	}
10435 #line 10436 "y.tab.c" /* yacc.c:1646  */
10436     break;
10437 
10438   case 456:
10439 #line 3637 "pars.yacc" /* yacc.c:1646  */
10440     {
10441 	    g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].filltype = (yyvsp[0].ival);
10442 	}
10443 #line 10444 "y.tab.c" /* yacc.c:1646  */
10444     break;
10445 
10446   case 457:
10447 #line 3641 "pars.yacc" /* yacc.c:1646  */
10448     {
10449 	    g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].fillrule = (yyvsp[0].ival);
10450 	}
10451 #line 10452 "y.tab.c" /* yacc.c:1646  */
10452     break;
10453 
10454   case 458:
10455 #line 3645 "pars.yacc" /* yacc.c:1646  */
10456     {
10457 	    int prop = (yyvsp[0].ival);
10458 
10459 	    if (get_project_version() <= 40102 && get_project_version() >= 30000) {
10460                 switch (filltype_obs) {
10461                 case COLOR:
10462                     break;
10463                 case PATTERN:
10464                     prop = 1;
10465                     break;
10466                 default: /* NONE */
10467 	            prop = 0;
10468                     break;
10469                 }
10470 	    }
10471 	    g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].setfillpen.color = prop;
10472 	}
10473 #line 10474 "y.tab.c" /* yacc.c:1646  */
10474     break;
10475 
10476   case 459:
10477 #line 3663 "pars.yacc" /* yacc.c:1646  */
10478     {
10479 	    int prop = (yyvsp[0].ival);
10480 
10481 	    if (get_project_version() <= 40102) {
10482                 switch (filltype_obs) {
10483                 case COLOR:
10484                     prop = 1;
10485                     break;
10486                 case PATTERN:
10487                     break;
10488                 default: /* NONE */
10489 	            prop = 0;
10490                     break;
10491                 }
10492 	    }
10493 	    g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].setfillpen.pattern = prop;
10494 	}
10495 #line 10496 "y.tab.c" /* yacc.c:1646  */
10496     break;
10497 
10498   case 460:
10499 #line 3683 "pars.yacc" /* yacc.c:1646  */
10500     {
10501 	    g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].baseline = (yyvsp[0].ival);
10502 	}
10503 #line 10504 "y.tab.c" /* yacc.c:1646  */
10504     break;
10505 
10506   case 461:
10507 #line 3687 "pars.yacc" /* yacc.c:1646  */
10508     {
10509 	    g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].baseline_type = (yyvsp[0].ival);
10510 	}
10511 #line 10512 "y.tab.c" /* yacc.c:1646  */
10512     break;
10513 
10514   case 462:
10515 #line 3692 "pars.yacc" /* yacc.c:1646  */
10516     {
10517 	    g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].dropline = (yyvsp[0].ival);
10518 	}
10519 #line 10520 "y.tab.c" /* yacc.c:1646  */
10520     break;
10521 
10522   case 463:
10523 #line 3697 "pars.yacc" /* yacc.c:1646  */
10524     {
10525 	    g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].avalue.active = (yyvsp[0].ival);
10526 	}
10527 #line 10528 "y.tab.c" /* yacc.c:1646  */
10528     break;
10529 
10530   case 464:
10531 #line 3701 "pars.yacc" /* yacc.c:1646  */
10532     {
10533 	    g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].avalue.type = (yyvsp[0].ival);
10534 	}
10535 #line 10536 "y.tab.c" /* yacc.c:1646  */
10536     break;
10537 
10538   case 465:
10539 #line 3705 "pars.yacc" /* yacc.c:1646  */
10540     {
10541 	    g[(yyvsp[-4].trgt)->gno].p[(yyvsp[-4].trgt)->setno].avalue.size = (yyvsp[0].dval);
10542 	}
10543 #line 10544 "y.tab.c" /* yacc.c:1646  */
10544     break;
10545 
10546   case 466:
10547 #line 3709 "pars.yacc" /* yacc.c:1646  */
10548     {
10549 	    g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].avalue.font = (yyvsp[0].ival);
10550 	}
10551 #line 10552 "y.tab.c" /* yacc.c:1646  */
10552     break;
10553 
10554   case 467:
10555 #line 3713 "pars.yacc" /* yacc.c:1646  */
10556     {
10557 	    g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].avalue.color = (yyvsp[0].ival);
10558 	}
10559 #line 10560 "y.tab.c" /* yacc.c:1646  */
10560     break;
10561 
10562   case 468:
10563 #line 3717 "pars.yacc" /* yacc.c:1646  */
10564     {
10565 	    g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].avalue.angle = (yyvsp[0].ival);
10566 	}
10567 #line 10568 "y.tab.c" /* yacc.c:1646  */
10568     break;
10569 
10570   case 469:
10571 #line 3721 "pars.yacc" /* yacc.c:1646  */
10572     {
10573 	    g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].avalue.format = (yyvsp[0].ival);
10574 	}
10575 #line 10576 "y.tab.c" /* yacc.c:1646  */
10576     break;
10577 
10578   case 470:
10579 #line 3725 "pars.yacc" /* yacc.c:1646  */
10580     {
10581 	    g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].avalue.prec = (yyvsp[0].ival);
10582 	}
10583 #line 10584 "y.tab.c" /* yacc.c:1646  */
10584     break;
10585 
10586   case 471:
10587 #line 3728 "pars.yacc" /* yacc.c:1646  */
10588     {
10589 	    g[(yyvsp[-5].trgt)->gno].p[(yyvsp[-5].trgt)->setno].avalue.offset.x = (yyvsp[-2].dval);
10590 	    g[(yyvsp[-5].trgt)->gno].p[(yyvsp[-5].trgt)->setno].avalue.offset.y = (yyvsp[0].dval);
10591 	}
10592 #line 10593 "y.tab.c" /* yacc.c:1646  */
10593     break;
10594 
10595   case 472:
10596 #line 3733 "pars.yacc" /* yacc.c:1646  */
10597     {
10598 	    strcpy(g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].avalue.prestr, (yyvsp[0].sval));
10599 	    xfree((yyvsp[0].sval));
10600 	}
10601 #line 10602 "y.tab.c" /* yacc.c:1646  */
10602     break;
10603 
10604   case 473:
10605 #line 3738 "pars.yacc" /* yacc.c:1646  */
10606     {
10607 	    strcpy(g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].avalue.appstr, (yyvsp[0].sval));
10608 	    xfree((yyvsp[0].sval));
10609 	}
10610 #line 10611 "y.tab.c" /* yacc.c:1646  */
10611     break;
10612 
10613   case 474:
10614 #line 3743 "pars.yacc" /* yacc.c:1646  */
10615     {
10616 	    g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].errbar.active = (yyvsp[0].ival);
10617 	}
10618 #line 10619 "y.tab.c" /* yacc.c:1646  */
10619     break;
10620 
10621   case 475:
10622 #line 3746 "pars.yacc" /* yacc.c:1646  */
10623     {
10624 	    g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].errbar.ptype = (yyvsp[0].ival);
10625 	}
10626 #line 10627 "y.tab.c" /* yacc.c:1646  */
10627     break;
10628 
10629   case 476:
10630 #line 3749 "pars.yacc" /* yacc.c:1646  */
10631     {
10632 	    g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].errbar.pen.color = (yyvsp[0].ival);
10633 	}
10634 #line 10635 "y.tab.c" /* yacc.c:1646  */
10635     break;
10636 
10637   case 477:
10638 #line 3752 "pars.yacc" /* yacc.c:1646  */
10639     {
10640 	    g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].errbar.pen.pattern = (yyvsp[0].ival);
10641 	}
10642 #line 10643 "y.tab.c" /* yacc.c:1646  */
10643     break;
10644 
10645   case 478:
10646 #line 3755 "pars.yacc" /* yacc.c:1646  */
10647     {
10648             g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].errbar.barsize = (yyvsp[0].dval);
10649 	}
10650 #line 10651 "y.tab.c" /* yacc.c:1646  */
10651     break;
10652 
10653   case 479:
10654 #line 3758 "pars.yacc" /* yacc.c:1646  */
10655     {
10656             g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].errbar.linew = (yyvsp[0].dval);
10657 	}
10658 #line 10659 "y.tab.c" /* yacc.c:1646  */
10659     break;
10660 
10661   case 480:
10662 #line 3761 "pars.yacc" /* yacc.c:1646  */
10663     {
10664             g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].errbar.lines = (yyvsp[0].ival);
10665 	}
10666 #line 10667 "y.tab.c" /* yacc.c:1646  */
10667     break;
10668 
10669   case 481:
10670 #line 3764 "pars.yacc" /* yacc.c:1646  */
10671     {
10672             g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].errbar.riser_linew = (yyvsp[0].dval);
10673 	}
10674 #line 10675 "y.tab.c" /* yacc.c:1646  */
10675     break;
10676 
10677   case 482:
10678 #line 3767 "pars.yacc" /* yacc.c:1646  */
10679     {
10680             g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].errbar.riser_lines = (yyvsp[0].ival);
10681 	}
10682 #line 10683 "y.tab.c" /* yacc.c:1646  */
10683     break;
10684 
10685   case 483:
10686 #line 3770 "pars.yacc" /* yacc.c:1646  */
10687     {
10688             g[(yyvsp[-4].trgt)->gno].p[(yyvsp[-4].trgt)->setno].errbar.arrow_clip = (yyvsp[0].ival);
10689 	}
10690 #line 10691 "y.tab.c" /* yacc.c:1646  */
10691     break;
10692 
10693   case 484:
10694 #line 3773 "pars.yacc" /* yacc.c:1646  */
10695     {
10696             g[(yyvsp[-5].trgt)->gno].p[(yyvsp[-5].trgt)->setno].errbar.cliplen = (yyvsp[0].dval);
10697 	}
10698 #line 10699 "y.tab.c" /* yacc.c:1646  */
10699     break;
10700 
10701   case 485:
10702 #line 3777 "pars.yacc" /* yacc.c:1646  */
10703     {
10704 	    strncpy(g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].comments, (yyvsp[0].sval), MAX_STRING_LENGTH - 1);
10705 	    xfree((yyvsp[0].sval));
10706 	}
10707 #line 10708 "y.tab.c" /* yacc.c:1646  */
10708     break;
10709 
10710   case 486:
10711 #line 3782 "pars.yacc" /* yacc.c:1646  */
10712     {
10713 	    strncpy(g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].lstr, (yyvsp[0].sval), MAX_STRING_LENGTH - 1);
10714 	    xfree((yyvsp[0].sval));
10715 	}
10716 #line 10717 "y.tab.c" /* yacc.c:1646  */
10717     break;
10718 
10719   case 487:
10720 #line 3790 "pars.yacc" /* yacc.c:1646  */
10721     {
10722 	    if (!is_valid_axis(whichgraph, naxis)) {
10723                 yyerror("No valid axis selected");
10724                 return 1;
10725             }
10726 	    g[whichgraph].t[naxis]->active = (yyvsp[0].ival);
10727 	}
10728 #line 10729 "y.tab.c" /* yacc.c:1646  */
10729     break;
10730 
10731   case 488:
10732 #line 3797 "pars.yacc" /* yacc.c:1646  */
10733     {
10734 	    if (!is_valid_axis(whichgraph, naxis)) {
10735                 yyerror("No valid axis selected");
10736                 return 1;
10737             }
10738 	    g[whichgraph].t[naxis]->zero = (yyvsp[0].ival);
10739 	}
10740 #line 10741 "y.tab.c" /* yacc.c:1646  */
10741     break;
10742 
10743   case 489:
10744 #line 3804 "pars.yacc" /* yacc.c:1646  */
10745     {}
10746 #line 10747 "y.tab.c" /* yacc.c:1646  */
10747     break;
10748 
10749   case 490:
10750 #line 3805 "pars.yacc" /* yacc.c:1646  */
10751     {}
10752 #line 10753 "y.tab.c" /* yacc.c:1646  */
10753     break;
10754 
10755   case 491:
10756 #line 3806 "pars.yacc" /* yacc.c:1646  */
10757     {}
10758 #line 10759 "y.tab.c" /* yacc.c:1646  */
10759     break;
10760 
10761   case 492:
10762 #line 3807 "pars.yacc" /* yacc.c:1646  */
10763     {}
10764 #line 10765 "y.tab.c" /* yacc.c:1646  */
10765     break;
10766 
10767   case 493:
10768 #line 3808 "pars.yacc" /* yacc.c:1646  */
10769     {}
10770 #line 10771 "y.tab.c" /* yacc.c:1646  */
10771     break;
10772 
10773   case 494:
10774 #line 3809 "pars.yacc" /* yacc.c:1646  */
10775     {}
10776 #line 10777 "y.tab.c" /* yacc.c:1646  */
10777     break;
10778 
10779   case 495:
10780 #line 3810 "pars.yacc" /* yacc.c:1646  */
10781     {}
10782 #line 10783 "y.tab.c" /* yacc.c:1646  */
10783     break;
10784 
10785   case 496:
10786 #line 3811 "pars.yacc" /* yacc.c:1646  */
10787     {
10788 	    if (!is_valid_axis(whichgraph, naxis)) {
10789                 yyerror("No valid axis selected");
10790                 return 1;
10791             }
10792             g[whichgraph].t[naxis]->offsx = (yyvsp[-2].dval);
10793 	    g[whichgraph].t[naxis]->offsy = (yyvsp[0].dval);
10794 	}
10795 #line 10796 "y.tab.c" /* yacc.c:1646  */
10796     break;
10797 
10798   case 497:
10799 #line 3822 "pars.yacc" /* yacc.c:1646  */
10800     {
10801 	    if (!is_valid_axis(whichgraph, naxis)) {
10802                 yyerror("No valid axis selected");
10803                 return 1;
10804             }
10805 	    g[whichgraph].t[naxis]->t_flag = (yyvsp[0].ival);
10806 	}
10807 #line 10808 "y.tab.c" /* yacc.c:1646  */
10808     break;
10809 
10810   case 498:
10811 #line 3829 "pars.yacc" /* yacc.c:1646  */
10812     {
10813 	    if (!is_valid_axis(whichgraph, naxis)) {
10814                 yyerror("No valid axis selected");
10815                 return 1;
10816             }
10817             g[whichgraph].t[naxis]->tmajor = (yyvsp[0].dval);
10818 	}
10819 #line 10820 "y.tab.c" /* yacc.c:1646  */
10820     break;
10821 
10822   case 499:
10823 #line 3836 "pars.yacc" /* yacc.c:1646  */
10824     {
10825 	    if (!is_valid_axis(whichgraph, naxis)) {
10826                 yyerror("No valid axis selected");
10827                 return 1;
10828             }
10829 	    g[whichgraph].t[naxis]->nminor = (yyvsp[0].ival);
10830 	}
10831 #line 10832 "y.tab.c" /* yacc.c:1646  */
10832     break;
10833 
10834   case 500:
10835 #line 3843 "pars.yacc" /* yacc.c:1646  */
10836     {
10837 	    if (!is_valid_axis(whichgraph, naxis)) {
10838                 yyerror("No valid axis selected");
10839                 return 1;
10840             }
10841 	    g[whichgraph].t[naxis]->t_round = (yyvsp[0].ival);
10842 	}
10843 #line 10844 "y.tab.c" /* yacc.c:1646  */
10844     break;
10845 
10846   case 501:
10847 #line 3851 "pars.yacc" /* yacc.c:1646  */
10848     {
10849 	    if (!is_valid_axis(whichgraph, naxis)) {
10850                 yyerror("No valid axis selected");
10851                 return 1;
10852             }
10853             g[whichgraph].t[naxis]->offsx = (yyvsp[0].dval);
10854 	}
10855 #line 10856 "y.tab.c" /* yacc.c:1646  */
10856     break;
10857 
10858   case 502:
10859 #line 3858 "pars.yacc" /* yacc.c:1646  */
10860     {
10861 	    if (!is_valid_axis(whichgraph, naxis)) {
10862                 yyerror("No valid axis selected");
10863                 return 1;
10864             }
10865             g[whichgraph].t[naxis]->offsy = (yyvsp[0].dval);
10866 	}
10867 #line 10868 "y.tab.c" /* yacc.c:1646  */
10868     break;
10869 
10870   case 503:
10871 #line 3865 "pars.yacc" /* yacc.c:1646  */
10872     {
10873 	    if (!is_valid_axis(whichgraph, naxis)) {
10874                 yyerror("No valid axis selected");
10875                 return 1;
10876             }
10877 	    g[whichgraph].t[naxis]->t_autonum = (yyvsp[0].ival);
10878 	}
10879 #line 10880 "y.tab.c" /* yacc.c:1646  */
10880     break;
10881 
10882   case 504:
10883 #line 3872 "pars.yacc" /* yacc.c:1646  */
10884     {
10885 	    if (!is_valid_axis(whichgraph, naxis)) {
10886                 yyerror("No valid axis selected");
10887                 return 1;
10888             }
10889 	    g[whichgraph].t[naxis]->t_inout = (yyvsp[0].ival);
10890 	}
10891 #line 10892 "y.tab.c" /* yacc.c:1646  */
10892     break;
10893 
10894   case 505:
10895 #line 3879 "pars.yacc" /* yacc.c:1646  */
10896     {
10897 	    if (!is_valid_axis(whichgraph, naxis)) {
10898                 yyerror("No valid axis selected");
10899                 return 1;
10900             }
10901 	    g[whichgraph].t[naxis]->props.size = (yyvsp[0].dval);
10902 	}
10903 #line 10904 "y.tab.c" /* yacc.c:1646  */
10904     break;
10905 
10906   case 506:
10907 #line 3886 "pars.yacc" /* yacc.c:1646  */
10908     {
10909 	    if (!is_valid_axis(whichgraph, naxis)) {
10910                 yyerror("No valid axis selected");
10911                 return 1;
10912             }
10913 	    g[whichgraph].t[naxis]->mprops.size = (yyvsp[0].dval);
10914 	}
10915 #line 10916 "y.tab.c" /* yacc.c:1646  */
10916     break;
10917 
10918   case 507:
10919 #line 3893 "pars.yacc" /* yacc.c:1646  */
10920     {
10921 	    if (!is_valid_axis(whichgraph, naxis)) {
10922                 yyerror("No valid axis selected");
10923                 return 1;
10924             }
10925 	    g[whichgraph].t[naxis]->props.color = g[whichgraph].t[naxis]->mprops.color = (yyvsp[0].ival);
10926 	}
10927 #line 10928 "y.tab.c" /* yacc.c:1646  */
10928     break;
10929 
10930   case 508:
10931 #line 3900 "pars.yacc" /* yacc.c:1646  */
10932     {
10933 	    if (!is_valid_axis(whichgraph, naxis)) {
10934                 yyerror("No valid axis selected");
10935                 return 1;
10936             }
10937 	    g[whichgraph].t[naxis]->props.color = (yyvsp[0].ival);
10938 	}
10939 #line 10940 "y.tab.c" /* yacc.c:1646  */
10940     break;
10941 
10942   case 509:
10943 #line 3907 "pars.yacc" /* yacc.c:1646  */
10944     {
10945 	    if (!is_valid_axis(whichgraph, naxis)) {
10946                 yyerror("No valid axis selected");
10947                 return 1;
10948             }
10949 	    g[whichgraph].t[naxis]->mprops.color = (yyvsp[0].ival);
10950 	}
10951 #line 10952 "y.tab.c" /* yacc.c:1646  */
10952     break;
10953 
10954   case 510:
10955 #line 3914 "pars.yacc" /* yacc.c:1646  */
10956     {
10957 	    if (!is_valid_axis(whichgraph, naxis)) {
10958                 yyerror("No valid axis selected");
10959                 return 1;
10960             }
10961 	    g[whichgraph].t[naxis]->props.linew = g[whichgraph].t[naxis]->mprops.linew = (yyvsp[0].dval);
10962 	}
10963 #line 10964 "y.tab.c" /* yacc.c:1646  */
10964     break;
10965 
10966   case 511:
10967 #line 3921 "pars.yacc" /* yacc.c:1646  */
10968     {
10969 	    if (!is_valid_axis(whichgraph, naxis)) {
10970                 yyerror("No valid axis selected");
10971                 return 1;
10972             }
10973 	    g[whichgraph].t[naxis]->props.linew = (yyvsp[0].dval);
10974 	}
10975 #line 10976 "y.tab.c" /* yacc.c:1646  */
10976     break;
10977 
10978   case 512:
10979 #line 3928 "pars.yacc" /* yacc.c:1646  */
10980     {
10981 	    if (!is_valid_axis(whichgraph, naxis)) {
10982                 yyerror("No valid axis selected");
10983                 return 1;
10984             }
10985 	    g[whichgraph].t[naxis]->mprops.linew = (yyvsp[0].dval);
10986 	}
10987 #line 10988 "y.tab.c" /* yacc.c:1646  */
10988     break;
10989 
10990   case 513:
10991 #line 3935 "pars.yacc" /* yacc.c:1646  */
10992     {
10993 	    if (!is_valid_axis(whichgraph, naxis)) {
10994                 yyerror("No valid axis selected");
10995                 return 1;
10996             }
10997 	    g[whichgraph].t[naxis]->props.lines = (yyvsp[0].ival);
10998 	}
10999 #line 11000 "y.tab.c" /* yacc.c:1646  */
11000     break;
11001 
11002   case 514:
11003 #line 3942 "pars.yacc" /* yacc.c:1646  */
11004     {
11005 	    if (!is_valid_axis(whichgraph, naxis)) {
11006                 yyerror("No valid axis selected");
11007                 return 1;
11008             }
11009 	    g[whichgraph].t[naxis]->mprops.lines = (yyvsp[0].ival);
11010 	}
11011 #line 11012 "y.tab.c" /* yacc.c:1646  */
11012     break;
11013 
11014   case 515:
11015 #line 3949 "pars.yacc" /* yacc.c:1646  */
11016     {
11017 	    if (!is_valid_axis(whichgraph, naxis)) {
11018                 yyerror("No valid axis selected");
11019                 return 1;
11020             }
11021 	    g[whichgraph].t[naxis]->props.gridflag = (yyvsp[0].ival);
11022 	}
11023 #line 11024 "y.tab.c" /* yacc.c:1646  */
11024     break;
11025 
11026   case 516:
11027 #line 3956 "pars.yacc" /* yacc.c:1646  */
11028     {
11029 	    if (!is_valid_axis(whichgraph, naxis)) {
11030                 yyerror("No valid axis selected");
11031                 return 1;
11032             }
11033 	    g[whichgraph].t[naxis]->mprops.gridflag = (yyvsp[0].ival);
11034 	}
11035 #line 11036 "y.tab.c" /* yacc.c:1646  */
11036     break;
11037 
11038   case 517:
11039 #line 3963 "pars.yacc" /* yacc.c:1646  */
11040     {
11041 	    if (!is_valid_axis(whichgraph, naxis)) {
11042                 yyerror("No valid axis selected");
11043                 return 1;
11044             }
11045 	    g[whichgraph].t[naxis]->t_op = (yyvsp[0].ival);
11046 	}
11047 #line 11048 "y.tab.c" /* yacc.c:1646  */
11048     break;
11049 
11050   case 518:
11051 #line 3970 "pars.yacc" /* yacc.c:1646  */
11052     {
11053 	    if (!is_valid_axis(whichgraph, naxis)) {
11054                 yyerror("No valid axis selected");
11055                 return 1;
11056             }
11057 	    g[whichgraph].t[naxis]->t_spec = (yyvsp[0].ival);
11058 	}
11059 #line 11060 "y.tab.c" /* yacc.c:1646  */
11060     break;
11061 
11062   case 519:
11063 #line 3977 "pars.yacc" /* yacc.c:1646  */
11064     {
11065 	    if (!is_valid_axis(whichgraph, naxis)) {
11066                 yyerror("No valid axis selected");
11067                 return 1;
11068             }
11069 	    g[whichgraph].t[naxis]->nticks = (yyvsp[0].ival);
11070 	}
11071 #line 11072 "y.tab.c" /* yacc.c:1646  */
11072     break;
11073 
11074   case 520:
11075 #line 3984 "pars.yacc" /* yacc.c:1646  */
11076     {
11077 	    if (!is_valid_axis(whichgraph, naxis)) {
11078                 yyerror("No valid axis selected");
11079                 return 1;
11080             }
11081 	    g[whichgraph].t[naxis]->tloc[(yyvsp[-2].ival)].wtpos = (yyvsp[0].dval);
11082 	    g[whichgraph].t[naxis]->tloc[(yyvsp[-2].ival)].type = TICK_TYPE_MAJOR;
11083 	}
11084 #line 11085 "y.tab.c" /* yacc.c:1646  */
11085     break;
11086 
11087   case 521:
11088 #line 3992 "pars.yacc" /* yacc.c:1646  */
11089     {
11090 	    if (!is_valid_axis(whichgraph, naxis)) {
11091                 yyerror("No valid axis selected");
11092                 return 1;
11093             }
11094 	    g[whichgraph].t[naxis]->tloc[(yyvsp[-2].ival)].wtpos = (yyvsp[0].dval);
11095 	    g[whichgraph].t[naxis]->tloc[(yyvsp[-2].ival)].type = TICK_TYPE_MINOR;
11096 	}
11097 #line 11098 "y.tab.c" /* yacc.c:1646  */
11098     break;
11099 
11100   case 522:
11101 #line 4003 "pars.yacc" /* yacc.c:1646  */
11102     {
11103 	    if (!is_valid_axis(whichgraph, naxis)) {
11104                 yyerror("No valid axis selected");
11105                 return 1;
11106             }
11107 	    g[whichgraph].t[naxis]->tl_flag = (yyvsp[0].ival);
11108 	}
11109 #line 11110 "y.tab.c" /* yacc.c:1646  */
11110     break;
11111 
11112   case 523:
11113 #line 4010 "pars.yacc" /* yacc.c:1646  */
11114     {
11115 	    if (!is_valid_axis(whichgraph, naxis)) {
11116                 yyerror("No valid axis selected");
11117                 return 1;
11118             }
11119 	    g[whichgraph].t[naxis]->tl_prec = (yyvsp[0].ival);
11120 	}
11121 #line 11122 "y.tab.c" /* yacc.c:1646  */
11122     break;
11123 
11124   case 524:
11125 #line 4017 "pars.yacc" /* yacc.c:1646  */
11126     {
11127 	    if (!is_valid_axis(whichgraph, naxis)) {
11128                 yyerror("No valid axis selected");
11129                 return 1;
11130             }
11131 	    g[whichgraph].t[naxis]->tl_format = (yyvsp[0].ival);
11132 	}
11133 #line 11134 "y.tab.c" /* yacc.c:1646  */
11134     break;
11135 
11136   case 525:
11137 #line 4024 "pars.yacc" /* yacc.c:1646  */
11138     {
11139 	    if (!is_valid_axis(whichgraph, naxis)) {
11140                 yyerror("No valid axis selected");
11141                 return 1;
11142             }
11143 	    g[whichgraph].t[naxis]->tl_format = (yyvsp[0].dval);
11144 	}
11145 #line 11146 "y.tab.c" /* yacc.c:1646  */
11146     break;
11147 
11148   case 526:
11149 #line 4031 "pars.yacc" /* yacc.c:1646  */
11150     {
11151 	    if (!is_valid_axis(whichgraph, naxis)) {
11152                 yyerror("No valid axis selected");
11153                 return 1;
11154             }
11155 	    strcpy(g[whichgraph].t[naxis]->tl_appstr, (yyvsp[0].sval));
11156 	    xfree((yyvsp[0].sval));
11157 	}
11158 #line 11159 "y.tab.c" /* yacc.c:1646  */
11159     break;
11160 
11161   case 527:
11162 #line 4039 "pars.yacc" /* yacc.c:1646  */
11163     {
11164 	    if (!is_valid_axis(whichgraph, naxis)) {
11165                 yyerror("No valid axis selected");
11166                 return 1;
11167             }
11168 	    strcpy(g[whichgraph].t[naxis]->tl_prestr, (yyvsp[0].sval));
11169 	    xfree((yyvsp[0].sval));
11170 	}
11171 #line 11172 "y.tab.c" /* yacc.c:1646  */
11172     break;
11173 
11174   case 528:
11175 #line 4047 "pars.yacc" /* yacc.c:1646  */
11176     {
11177 	    if (!is_valid_axis(whichgraph, naxis)) {
11178                 yyerror("No valid axis selected");
11179                 return 1;
11180             }
11181 	    g[whichgraph].t[naxis]->tl_angle = (yyvsp[0].ival);
11182 	}
11183 #line 11184 "y.tab.c" /* yacc.c:1646  */
11184     break;
11185 
11186   case 529:
11187 #line 4054 "pars.yacc" /* yacc.c:1646  */
11188     {
11189 	    if (!is_valid_axis(whichgraph, naxis)) {
11190                 yyerror("No valid axis selected");
11191                 return 1;
11192             }
11193 	    g[whichgraph].t[naxis]->tl_skip = (yyvsp[0].ival);
11194 	}
11195 #line 11196 "y.tab.c" /* yacc.c:1646  */
11196     break;
11197 
11198   case 530:
11199 #line 4061 "pars.yacc" /* yacc.c:1646  */
11200     {
11201 	    if (!is_valid_axis(whichgraph, naxis)) {
11202                 yyerror("No valid axis selected");
11203                 return 1;
11204             }
11205 	    g[whichgraph].t[naxis]->tl_staggered = (yyvsp[0].ival);
11206 	}
11207 #line 11208 "y.tab.c" /* yacc.c:1646  */
11208     break;
11209 
11210   case 531:
11211 #line 4068 "pars.yacc" /* yacc.c:1646  */
11212     {
11213 	    if (!is_valid_axis(whichgraph, naxis)) {
11214                 yyerror("No valid axis selected");
11215                 return 1;
11216             }
11217 	    g[whichgraph].t[naxis]->tl_op = (yyvsp[0].ival);
11218 	}
11219 #line 11220 "y.tab.c" /* yacc.c:1646  */
11220     break;
11221 
11222   case 532:
11223 #line 4075 "pars.yacc" /* yacc.c:1646  */
11224     {
11225 	    if (!is_valid_axis(whichgraph, naxis)) {
11226                 yyerror("No valid axis selected");
11227                 return 1;
11228             }
11229             g[whichgraph].t[naxis]->tl_formula =
11230                 copy_string(g[whichgraph].t[naxis]->tl_formula, (yyvsp[0].sval));
11231             xfree((yyvsp[0].sval));
11232 	}
11233 #line 11234 "y.tab.c" /* yacc.c:1646  */
11234     break;
11235 
11236   case 533:
11237 #line 4084 "pars.yacc" /* yacc.c:1646  */
11238     {
11239 	    if (!is_valid_axis(whichgraph, naxis)) {
11240                 yyerror("No valid axis selected");
11241                 return 1;
11242             }
11243 	    g[whichgraph].t[naxis]->tl_start = (yyvsp[0].dval);
11244 	}
11245 #line 11246 "y.tab.c" /* yacc.c:1646  */
11246     break;
11247 
11248   case 534:
11249 #line 4091 "pars.yacc" /* yacc.c:1646  */
11250     {
11251 	    if (!is_valid_axis(whichgraph, naxis)) {
11252                 yyerror("No valid axis selected");
11253                 return 1;
11254             }
11255 	    g[whichgraph].t[naxis]->tl_stop = (yyvsp[0].dval);
11256 	}
11257 #line 11258 "y.tab.c" /* yacc.c:1646  */
11258     break;
11259 
11260   case 535:
11261 #line 4098 "pars.yacc" /* yacc.c:1646  */
11262     {
11263 	    if (!is_valid_axis(whichgraph, naxis)) {
11264                 yyerror("No valid axis selected");
11265                 return 1;
11266             }
11267 	    g[whichgraph].t[naxis]->tl_starttype = TYPE_SPEC;
11268 	}
11269 #line 11270 "y.tab.c" /* yacc.c:1646  */
11270     break;
11271 
11272   case 536:
11273 #line 4105 "pars.yacc" /* yacc.c:1646  */
11274     {
11275 	    if (!is_valid_axis(whichgraph, naxis)) {
11276                 yyerror("No valid axis selected");
11277                 return 1;
11278             }
11279 	    g[whichgraph].t[naxis]->tl_starttype = TYPE_AUTO;
11280 	}
11281 #line 11282 "y.tab.c" /* yacc.c:1646  */
11282     break;
11283 
11284   case 537:
11285 #line 4112 "pars.yacc" /* yacc.c:1646  */
11286     {
11287 	    if (!is_valid_axis(whichgraph, naxis)) {
11288                 yyerror("No valid axis selected");
11289                 return 1;
11290             }
11291 	    g[whichgraph].t[naxis]->tl_stoptype = TYPE_SPEC;
11292 	}
11293 #line 11294 "y.tab.c" /* yacc.c:1646  */
11294     break;
11295 
11296   case 538:
11297 #line 4119 "pars.yacc" /* yacc.c:1646  */
11298     {
11299 	    if (!is_valid_axis(whichgraph, naxis)) {
11300                 yyerror("No valid axis selected");
11301                 return 1;
11302             }
11303 	    g[whichgraph].t[naxis]->tl_stoptype = TYPE_AUTO;
11304 	}
11305 #line 11306 "y.tab.c" /* yacc.c:1646  */
11306     break;
11307 
11308   case 539:
11309 #line 4126 "pars.yacc" /* yacc.c:1646  */
11310     {
11311 	    if (!is_valid_axis(whichgraph, naxis)) {
11312                 yyerror("No valid axis selected");
11313                 return 1;
11314             }
11315 	    g[whichgraph].t[naxis]->tl_charsize = (yyvsp[0].dval);
11316 	}
11317 #line 11318 "y.tab.c" /* yacc.c:1646  */
11318     break;
11319 
11320   case 540:
11321 #line 4133 "pars.yacc" /* yacc.c:1646  */
11322     {
11323 	    if (!is_valid_axis(whichgraph, naxis)) {
11324                 yyerror("No valid axis selected");
11325                 return 1;
11326             }
11327 	    g[whichgraph].t[naxis]->tl_font = (yyvsp[0].ival);
11328 	}
11329 #line 11330 "y.tab.c" /* yacc.c:1646  */
11330     break;
11331 
11332   case 541:
11333 #line 4140 "pars.yacc" /* yacc.c:1646  */
11334     {
11335 	    if (!is_valid_axis(whichgraph, naxis)) {
11336                 yyerror("No valid axis selected");
11337                 return 1;
11338             }
11339 	    g[whichgraph].t[naxis]->tl_color = (yyvsp[0].ival);
11340 	}
11341 #line 11342 "y.tab.c" /* yacc.c:1646  */
11342     break;
11343 
11344   case 542:
11345 #line 4147 "pars.yacc" /* yacc.c:1646  */
11346     {
11347 	    if (!is_valid_axis(whichgraph, naxis)) {
11348                 yyerror("No valid axis selected");
11349                 xfree((yyvsp[0].sval));
11350                 return 1;
11351             }
11352 	    if ((yyvsp[-2].ival) >= MAX_TICKS) {
11353 	         yyerror("Number of ticks exceeds maximum");
11354 	         xfree((yyvsp[0].sval));
11355 	         return 1;
11356 	    }
11357 	    g[whichgraph].t[naxis]->tloc[(yyvsp[-2].ival)].label =
11358                 copy_string(g[whichgraph].t[naxis]->tloc[(yyvsp[-2].ival)].label, (yyvsp[0].sval));
11359 	    xfree((yyvsp[0].sval));
11360 	}
11361 #line 11362 "y.tab.c" /* yacc.c:1646  */
11362     break;
11363 
11364   case 543:
11365 #line 4162 "pars.yacc" /* yacc.c:1646  */
11366     {
11367 	    if (!is_valid_axis(whichgraph, naxis)) {
11368                 yyerror("No valid axis selected");
11369                 return 1;
11370             }
11371 	    g[whichgraph].t[naxis]->tl_gaptype = TYPE_AUTO;
11372 	}
11373 #line 11374 "y.tab.c" /* yacc.c:1646  */
11374     break;
11375 
11376   case 544:
11377 #line 4169 "pars.yacc" /* yacc.c:1646  */
11378     {
11379 	    if (!is_valid_axis(whichgraph, naxis)) {
11380                 yyerror("No valid axis selected");
11381                 return 1;
11382             }
11383 	    g[whichgraph].t[naxis]->tl_gaptype = TYPE_SPEC;
11384 	}
11385 #line 11386 "y.tab.c" /* yacc.c:1646  */
11386     break;
11387 
11388   case 545:
11389 #line 4176 "pars.yacc" /* yacc.c:1646  */
11390     {
11391 	    if (!is_valid_axis(whichgraph, naxis)) {
11392                 yyerror("No valid axis selected");
11393                 return 1;
11394             }
11395 	    g[whichgraph].t[naxis]->tl_gap.x = (yyvsp[-2].dval);
11396 	    g[whichgraph].t[naxis]->tl_gap.y = (yyvsp[0].dval);
11397 	}
11398 #line 11399 "y.tab.c" /* yacc.c:1646  */
11399     break;
11400 
11401   case 546:
11402 #line 4187 "pars.yacc" /* yacc.c:1646  */
11403     {
11404 	    if (!is_valid_axis(whichgraph, naxis)) {
11405                 yyerror("No valid axis selected");
11406                 return 1;
11407             }
11408 	    set_plotstr_string(&g[whichgraph].t[naxis]->label, (yyvsp[0].sval));
11409 	    xfree((yyvsp[0].sval));
11410 	}
11411 #line 11412 "y.tab.c" /* yacc.c:1646  */
11412     break;
11413 
11414   case 547:
11415 #line 4195 "pars.yacc" /* yacc.c:1646  */
11416     {
11417 	    if (!is_valid_axis(whichgraph, naxis)) {
11418                 yyerror("No valid axis selected");
11419                 return 1;
11420             }
11421 	    g[whichgraph].t[naxis]->label_layout = LAYOUT_PERPENDICULAR;
11422 	}
11423 #line 11424 "y.tab.c" /* yacc.c:1646  */
11424     break;
11425 
11426   case 548:
11427 #line 4202 "pars.yacc" /* yacc.c:1646  */
11428     {
11429 	    if (!is_valid_axis(whichgraph, naxis)) {
11430                 yyerror("No valid axis selected");
11431                 return 1;
11432             }
11433 	    g[whichgraph].t[naxis]->label_layout = LAYOUT_PARALLEL;
11434 	}
11435 #line 11436 "y.tab.c" /* yacc.c:1646  */
11436     break;
11437 
11438   case 549:
11439 #line 4209 "pars.yacc" /* yacc.c:1646  */
11440     {
11441 	    if (!is_valid_axis(whichgraph, naxis)) {
11442                 yyerror("No valid axis selected");
11443                 return 1;
11444             }
11445 	    g[whichgraph].t[naxis]->label_place = TYPE_AUTO;
11446 	}
11447 #line 11448 "y.tab.c" /* yacc.c:1646  */
11448     break;
11449 
11450   case 550:
11451 #line 4216 "pars.yacc" /* yacc.c:1646  */
11452     {
11453 	    if (!is_valid_axis(whichgraph, naxis)) {
11454                 yyerror("No valid axis selected");
11455                 return 1;
11456             }
11457 	    g[whichgraph].t[naxis]->label_place = TYPE_SPEC;
11458 	}
11459 #line 11460 "y.tab.c" /* yacc.c:1646  */
11460     break;
11461 
11462   case 551:
11463 #line 4223 "pars.yacc" /* yacc.c:1646  */
11464     {
11465 	    if (!is_valid_axis(whichgraph, naxis)) {
11466                 yyerror("No valid axis selected");
11467                 return 1;
11468             }
11469 	    g[whichgraph].t[naxis]->label.x = (yyvsp[-2].dval);
11470 	    g[whichgraph].t[naxis]->label.y = (yyvsp[0].dval);
11471 	}
11472 #line 11473 "y.tab.c" /* yacc.c:1646  */
11473     break;
11474 
11475   case 552:
11476 #line 4231 "pars.yacc" /* yacc.c:1646  */
11477     {
11478 	    if (!is_valid_axis(whichgraph, naxis)) {
11479                 yyerror("No valid axis selected");
11480                 return 1;
11481             }
11482 	    g[whichgraph].t[naxis]->label.just = (yyvsp[0].ival);
11483 	}
11484 #line 11485 "y.tab.c" /* yacc.c:1646  */
11485     break;
11486 
11487   case 553:
11488 #line 4238 "pars.yacc" /* yacc.c:1646  */
11489     {
11490 	    if (!is_valid_axis(whichgraph, naxis)) {
11491                 yyerror("No valid axis selected");
11492                 return 1;
11493             }
11494 	    g[whichgraph].t[naxis]->label.charsize = (yyvsp[0].dval);
11495 	}
11496 #line 11497 "y.tab.c" /* yacc.c:1646  */
11497     break;
11498 
11499   case 554:
11500 #line 4245 "pars.yacc" /* yacc.c:1646  */
11501     {
11502 	    if (!is_valid_axis(whichgraph, naxis)) {
11503                 yyerror("No valid axis selected");
11504                 return 1;
11505             }
11506 	    g[whichgraph].t[naxis]->label.font = (yyvsp[0].ival);
11507 	}
11508 #line 11509 "y.tab.c" /* yacc.c:1646  */
11509     break;
11510 
11511   case 555:
11512 #line 4252 "pars.yacc" /* yacc.c:1646  */
11513     {
11514 	    if (!is_valid_axis(whichgraph, naxis)) {
11515                 yyerror("No valid axis selected");
11516                 return 1;
11517             }
11518 	    g[whichgraph].t[naxis]->label.color = (yyvsp[0].ival);
11519 	}
11520 #line 11521 "y.tab.c" /* yacc.c:1646  */
11521     break;
11522 
11523   case 556:
11524 #line 4259 "pars.yacc" /* yacc.c:1646  */
11525     {
11526 	    if (!is_valid_axis(whichgraph, naxis)) {
11527                 yyerror("No valid axis selected");
11528                 return 1;
11529             }
11530 	    g[whichgraph].t[naxis]->label_op = (yyvsp[0].ival);
11531 	}
11532 #line 11533 "y.tab.c" /* yacc.c:1646  */
11533     break;
11534 
11535   case 557:
11536 #line 4269 "pars.yacc" /* yacc.c:1646  */
11537     {
11538 	    if (!is_valid_axis(whichgraph, naxis)) {
11539                 yyerror("No valid axis selected");
11540                 return 1;
11541             }
11542 	    g[whichgraph].t[naxis]->t_drawbar = (yyvsp[0].ival);
11543 	}
11544 #line 11545 "y.tab.c" /* yacc.c:1646  */
11545     break;
11546 
11547   case 558:
11548 #line 4276 "pars.yacc" /* yacc.c:1646  */
11549     {
11550 	    if (!is_valid_axis(whichgraph, naxis)) {
11551                 yyerror("No valid axis selected");
11552                 return 1;
11553             }
11554 	    g[whichgraph].t[naxis]->t_drawbarcolor = (yyvsp[0].ival);
11555 	}
11556 #line 11557 "y.tab.c" /* yacc.c:1646  */
11557     break;
11558 
11559   case 559:
11560 #line 4283 "pars.yacc" /* yacc.c:1646  */
11561     {
11562 	    if (!is_valid_axis(whichgraph, naxis)) {
11563                 yyerror("No valid axis selected");
11564                 return 1;
11565             }
11566 	    g[whichgraph].t[naxis]->t_drawbarlines = (yyvsp[0].ival);
11567 	}
11568 #line 11569 "y.tab.c" /* yacc.c:1646  */
11569     break;
11570 
11571   case 560:
11572 #line 4290 "pars.yacc" /* yacc.c:1646  */
11573     {
11574 	    if (!is_valid_axis(whichgraph, naxis)) {
11575                 yyerror("No valid axis selected");
11576                 return 1;
11577             }
11578 	    g[whichgraph].t[naxis]->t_drawbarlinew = (yyvsp[0].dval);
11579 	}
11580 #line 11581 "y.tab.c" /* yacc.c:1646  */
11581     break;
11582 
11583   case 561:
11584 #line 4300 "pars.yacc" /* yacc.c:1646  */
11585     {
11586           nonl_opts.title = copy_string(nonl_opts.title, (yyvsp[0].sval));
11587 	  xfree((yyvsp[0].sval));
11588         }
11589 #line 11590 "y.tab.c" /* yacc.c:1646  */
11590     break;
11591 
11592   case 562:
11593 #line 4304 "pars.yacc" /* yacc.c:1646  */
11594     {
11595           nonl_opts.formula = copy_string(nonl_opts.formula, (yyvsp[0].sval));
11596 	  xfree((yyvsp[0].sval));
11597         }
11598 #line 11599 "y.tab.c" /* yacc.c:1646  */
11599     break;
11600 
11601   case 563:
11602 #line 4308 "pars.yacc" /* yacc.c:1646  */
11603     {
11604             nonl_opts.parnum = (yyvsp[-1].ival);
11605         }
11606 #line 11607 "y.tab.c" /* yacc.c:1646  */
11607     break;
11608 
11609   case 564:
11610 #line 4311 "pars.yacc" /* yacc.c:1646  */
11611     {
11612             nonl_opts.tolerance = (yyvsp[0].dval);
11613         }
11614 #line 11615 "y.tab.c" /* yacc.c:1646  */
11615     break;
11616 
11617   case 565:
11618 #line 4318 "pars.yacc" /* yacc.c:1646  */
11619     {
11620             (yyval.ival) = (yyvsp[0].ival);
11621         }
11622 #line 11623 "y.tab.c" /* yacc.c:1646  */
11623     break;
11624 
11625   case 566:
11626 #line 4322 "pars.yacc" /* yacc.c:1646  */
11627     {
11628             (yyval.ival) = (yyvsp[0].ival);
11629         }
11630 #line 11631 "y.tab.c" /* yacc.c:1646  */
11631     break;
11632 
11633   case 567:
11634 #line 4329 "pars.yacc" /* yacc.c:1646  */
11635     {
11636 	    int gno = (yyvsp[-2].ival), setno = (yyvsp[0].ival);
11637             if (allocate_set(gno, setno) == RETURN_SUCCESS) {
11638                 (yyval.trgt) = &trgt_pool[tgtn];
11639                 (yyval.trgt)->gno   = gno;
11640                 (yyval.trgt)->setno = setno;
11641                 tgtn++;
11642             } else {
11643                 errmsg("Can't allocate referred set");
11644                 return 1;
11645             }
11646 	}
11647 #line 11648 "y.tab.c" /* yacc.c:1646  */
11648     break;
11649 
11650   case 568:
11651 #line 4342 "pars.yacc" /* yacc.c:1646  */
11652     {
11653 	    int gno = (yyvsp[-3].ival), setno = (yyvsp[0].ival);
11654             if (allocate_set(gno, setno) == RETURN_SUCCESS) {
11655                 (yyval.trgt) = &trgt_pool[tgtn];
11656                 (yyval.trgt)->gno   = gno;
11657                 (yyval.trgt)->setno = setno;
11658                 tgtn++;
11659             } else {
11660                 errmsg("Can't allocate referred set");
11661                 return 1;
11662             }
11663 	}
11664 #line 11665 "y.tab.c" /* yacc.c:1646  */
11665     break;
11666 
11667   case 569:
11668 #line 4355 "pars.yacc" /* yacc.c:1646  */
11669     {
11670 	    int gno = whichgraph, setno = (yyvsp[0].ival);
11671             if (allocate_set(gno, setno) == RETURN_SUCCESS) {
11672                 (yyval.trgt) = &trgt_pool[tgtn];
11673                 (yyval.trgt)->gno   = gno;
11674                 (yyval.trgt)->setno = setno;
11675                 tgtn++;
11676             } else {
11677                 errmsg("Can't allocate referred set");
11678                 return 1;
11679             }
11680 	}
11681 #line 11682 "y.tab.c" /* yacc.c:1646  */
11682     break;
11683 
11684   case 570:
11685 #line 4368 "pars.yacc" /* yacc.c:1646  */
11686     {
11687 	    int gno = whichgraph, setno = (yyvsp[0].ival);
11688             if (allocate_set(gno, setno) == RETURN_SUCCESS) {
11689                 (yyval.trgt) = &trgt_pool[tgtn];
11690                 (yyval.trgt)->gno   = gno;
11691                 (yyval.trgt)->setno = setno;
11692                 tgtn++;
11693             } else {
11694                 errmsg("Can't allocate referred set");
11695                 return 1;
11696             }
11697 	}
11698 #line 11699 "y.tab.c" /* yacc.c:1646  */
11699     break;
11700 
11701   case 571:
11702 #line 4383 "pars.yacc" /* yacc.c:1646  */
11703     {}
11704 #line 11705 "y.tab.c" /* yacc.c:1646  */
11705     break;
11706 
11707   case 572:
11708 #line 4384 "pars.yacc" /* yacc.c:1646  */
11709     {}
11710 #line 11711 "y.tab.c" /* yacc.c:1646  */
11711     break;
11712 
11713   case 573:
11714 #line 4388 "pars.yacc" /* yacc.c:1646  */
11715     { naxis =  X_AXIS; }
11716 #line 11717 "y.tab.c" /* yacc.c:1646  */
11717     break;
11718 
11719   case 574:
11720 #line 4389 "pars.yacc" /* yacc.c:1646  */
11721     { naxis = Y_AXIS; }
11722 #line 11723 "y.tab.c" /* yacc.c:1646  */
11723     break;
11724 
11725   case 575:
11726 #line 4390 "pars.yacc" /* yacc.c:1646  */
11727     { naxis = ZX_AXIS; }
11728 #line 11729 "y.tab.c" /* yacc.c:1646  */
11729     break;
11730 
11731   case 576:
11732 #line 4391 "pars.yacc" /* yacc.c:1646  */
11733     { naxis = ZY_AXIS; }
11734 #line 11735 "y.tab.c" /* yacc.c:1646  */
11735     break;
11736 
11737   case 577:
11738 #line 4395 "pars.yacc" /* yacc.c:1646  */
11739     { (yyval.ival) = CONSTANT;  }
11740 #line 11741 "y.tab.c" /* yacc.c:1646  */
11741     break;
11742 
11743   case 578:
11744 #line 4396 "pars.yacc" /* yacc.c:1646  */
11745     { (yyval.ival) = UCONSTANT; }
11746 #line 11747 "y.tab.c" /* yacc.c:1646  */
11747     break;
11748 
11749   case 579:
11750 #line 4397 "pars.yacc" /* yacc.c:1646  */
11751     { (yyval.ival) = FUNC_I;    }
11752 #line 11753 "y.tab.c" /* yacc.c:1646  */
11753     break;
11754 
11755   case 580:
11756 #line 4398 "pars.yacc" /* yacc.c:1646  */
11757     { (yyval.ival) = FUNC_D;    }
11758 #line 11759 "y.tab.c" /* yacc.c:1646  */
11759     break;
11760 
11761   case 581:
11762 #line 4399 "pars.yacc" /* yacc.c:1646  */
11763     { (yyval.ival) = FUNC_ND;   }
11764 #line 11765 "y.tab.c" /* yacc.c:1646  */
11765     break;
11766 
11767   case 582:
11768 #line 4400 "pars.yacc" /* yacc.c:1646  */
11769     { (yyval.ival) = FUNC_NN;   }
11770 #line 11771 "y.tab.c" /* yacc.c:1646  */
11771     break;
11772 
11773   case 583:
11774 #line 4401 "pars.yacc" /* yacc.c:1646  */
11775     { (yyval.ival) = FUNC_DD;   }
11776 #line 11777 "y.tab.c" /* yacc.c:1646  */
11777     break;
11778 
11779   case 584:
11780 #line 4402 "pars.yacc" /* yacc.c:1646  */
11781     { (yyval.ival) = FUNC_NND;  }
11782 #line 11783 "y.tab.c" /* yacc.c:1646  */
11783     break;
11784 
11785   case 585:
11786 #line 4403 "pars.yacc" /* yacc.c:1646  */
11787     { (yyval.ival) = FUNC_PPD;  }
11788 #line 11789 "y.tab.c" /* yacc.c:1646  */
11789     break;
11790 
11791   case 586:
11792 #line 4404 "pars.yacc" /* yacc.c:1646  */
11793     { (yyval.ival) = FUNC_PPPD; }
11794 #line 11795 "y.tab.c" /* yacc.c:1646  */
11795     break;
11796 
11797   case 587:
11798 #line 4405 "pars.yacc" /* yacc.c:1646  */
11799     { (yyval.ival) = FUNC_PPPPD; }
11800 #line 11801 "y.tab.c" /* yacc.c:1646  */
11801     break;
11802 
11803   case 588:
11804 #line 4406 "pars.yacc" /* yacc.c:1646  */
11805     { (yyval.ival) = FUNC_PPPPPD; }
11806 #line 11807 "y.tab.c" /* yacc.c:1646  */
11807     break;
11808 
11809   case 589:
11810 #line 4410 "pars.yacc" /* yacc.c:1646  */
11811     { (yyval.ival) =  TICKS_SPEC_NONE; }
11812 #line 11813 "y.tab.c" /* yacc.c:1646  */
11813     break;
11814 
11815   case 590:
11816 #line 4411 "pars.yacc" /* yacc.c:1646  */
11817     { (yyval.ival) = TICKS_SPEC_MARKS; }
11818 #line 11819 "y.tab.c" /* yacc.c:1646  */
11819     break;
11820 
11821   case 591:
11822 #line 4412 "pars.yacc" /* yacc.c:1646  */
11823     { (yyval.ival) = TICKS_SPEC_BOTH; }
11824 #line 11825 "y.tab.c" /* yacc.c:1646  */
11825     break;
11826 
11827   case 592:
11828 #line 4416 "pars.yacc" /* yacc.c:1646  */
11829     { (yyval.ival) = FILTER_INPUT; }
11830 #line 11831 "y.tab.c" /* yacc.c:1646  */
11831     break;
11832 
11833   case 593:
11834 #line 4417 "pars.yacc" /* yacc.c:1646  */
11835     { (yyval.ival) = FILTER_OUTPUT; }
11836 #line 11837 "y.tab.c" /* yacc.c:1646  */
11837     break;
11838 
11839   case 594:
11840 #line 4421 "pars.yacc" /* yacc.c:1646  */
11841     { (yyval.ival) = FILTER_MAGIC; }
11842 #line 11843 "y.tab.c" /* yacc.c:1646  */
11843     break;
11844 
11845   case 595:
11846 #line 4422 "pars.yacc" /* yacc.c:1646  */
11847     { (yyval.ival) = FILTER_PATTERN; }
11848 #line 11849 "y.tab.c" /* yacc.c:1646  */
11849     break;
11850 
11851   case 596:
11852 #line 4426 "pars.yacc" /* yacc.c:1646  */
11853     { (yyval.ival) = SET_XY; }
11854 #line 11855 "y.tab.c" /* yacc.c:1646  */
11855     break;
11856 
11857   case 597:
11858 #line 4427 "pars.yacc" /* yacc.c:1646  */
11859     { (yyval.ival) = SET_BAR; }
11860 #line 11861 "y.tab.c" /* yacc.c:1646  */
11861     break;
11862 
11863   case 598:
11864 #line 4428 "pars.yacc" /* yacc.c:1646  */
11865     { (yyval.ival) = SET_BARDY; }
11866 #line 11867 "y.tab.c" /* yacc.c:1646  */
11867     break;
11868 
11869   case 599:
11870 #line 4429 "pars.yacc" /* yacc.c:1646  */
11871     { (yyval.ival) = SET_BARDYDY; }
11872 #line 11873 "y.tab.c" /* yacc.c:1646  */
11873     break;
11874 
11875   case 600:
11876 #line 4430 "pars.yacc" /* yacc.c:1646  */
11877     { (yyval.ival) = SET_XYZ; }
11878 #line 11879 "y.tab.c" /* yacc.c:1646  */
11879     break;
11880 
11881   case 601:
11882 #line 4431 "pars.yacc" /* yacc.c:1646  */
11883     { (yyval.ival) = SET_XYDX; }
11884 #line 11885 "y.tab.c" /* yacc.c:1646  */
11885     break;
11886 
11887   case 602:
11888 #line 4432 "pars.yacc" /* yacc.c:1646  */
11889     { (yyval.ival) = SET_XYDY; }
11890 #line 11891 "y.tab.c" /* yacc.c:1646  */
11891     break;
11892 
11893   case 603:
11894 #line 4433 "pars.yacc" /* yacc.c:1646  */
11895     { (yyval.ival) = SET_XYDXDX; }
11896 #line 11897 "y.tab.c" /* yacc.c:1646  */
11897     break;
11898 
11899   case 604:
11900 #line 4434 "pars.yacc" /* yacc.c:1646  */
11901     { (yyval.ival) = SET_XYDYDY; }
11902 #line 11903 "y.tab.c" /* yacc.c:1646  */
11903     break;
11904 
11905   case 605:
11906 #line 4435 "pars.yacc" /* yacc.c:1646  */
11907     { (yyval.ival) = SET_XYDXDY; }
11908 #line 11909 "y.tab.c" /* yacc.c:1646  */
11909     break;
11910 
11911   case 606:
11912 #line 4436 "pars.yacc" /* yacc.c:1646  */
11913     { (yyval.ival) = SET_XYDXDXDYDY; }
11914 #line 11915 "y.tab.c" /* yacc.c:1646  */
11915     break;
11916 
11917   case 607:
11918 #line 4437 "pars.yacc" /* yacc.c:1646  */
11919     { (yyval.ival) = SET_XYHILO; }
11920 #line 11921 "y.tab.c" /* yacc.c:1646  */
11921     break;
11922 
11923   case 608:
11924 #line 4438 "pars.yacc" /* yacc.c:1646  */
11925     { (yyval.ival) = SET_XYR; }
11926 #line 11927 "y.tab.c" /* yacc.c:1646  */
11927     break;
11928 
11929   case 609:
11930 #line 4439 "pars.yacc" /* yacc.c:1646  */
11931     { (yyval.ival) = SET_XYSIZE; }
11932 #line 11933 "y.tab.c" /* yacc.c:1646  */
11933     break;
11934 
11935   case 610:
11936 #line 4440 "pars.yacc" /* yacc.c:1646  */
11937     { (yyval.ival) = SET_XYCOLOR; }
11938 #line 11939 "y.tab.c" /* yacc.c:1646  */
11939     break;
11940 
11941   case 611:
11942 #line 4441 "pars.yacc" /* yacc.c:1646  */
11943     { (yyval.ival) = SET_XYCOLPAT; }
11944 #line 11945 "y.tab.c" /* yacc.c:1646  */
11945     break;
11946 
11947   case 612:
11948 #line 4442 "pars.yacc" /* yacc.c:1646  */
11949     { (yyval.ival) = SET_XYVMAP; }
11950 #line 11951 "y.tab.c" /* yacc.c:1646  */
11951     break;
11952 
11953   case 613:
11954 #line 4443 "pars.yacc" /* yacc.c:1646  */
11955     { (yyval.ival) = SET_BOXPLOT; }
11956 #line 11957 "y.tab.c" /* yacc.c:1646  */
11957     break;
11958 
11959   case 614:
11960 #line 4444 "pars.yacc" /* yacc.c:1646  */
11961     { (yyval.ival) = SET_XY; }
11962 #line 11963 "y.tab.c" /* yacc.c:1646  */
11963     break;
11964 
11965   case 615:
11966 #line 4448 "pars.yacc" /* yacc.c:1646  */
11967     { (yyval.ival) = GRAPH_XY; }
11968 #line 11969 "y.tab.c" /* yacc.c:1646  */
11969     break;
11970 
11971   case 616:
11972 #line 4449 "pars.yacc" /* yacc.c:1646  */
11973     { (yyval.ival) = GRAPH_CHART; }
11974 #line 11975 "y.tab.c" /* yacc.c:1646  */
11975     break;
11976 
11977   case 617:
11978 #line 4450 "pars.yacc" /* yacc.c:1646  */
11979     { (yyval.ival) = GRAPH_POLAR; }
11980 #line 11981 "y.tab.c" /* yacc.c:1646  */
11981     break;
11982 
11983   case 618:
11984 #line 4451 "pars.yacc" /* yacc.c:1646  */
11985     { (yyval.ival) = GRAPH_SMITH; }
11986 #line 11987 "y.tab.c" /* yacc.c:1646  */
11987     break;
11988 
11989   case 619:
11990 #line 4452 "pars.yacc" /* yacc.c:1646  */
11991     { (yyval.ival) = GRAPH_FIXED; }
11992 #line 11993 "y.tab.c" /* yacc.c:1646  */
11993     break;
11994 
11995   case 620:
11996 #line 4453 "pars.yacc" /* yacc.c:1646  */
11997     { (yyval.ival) = GRAPH_PIE;   }
11998 #line 11999 "y.tab.c" /* yacc.c:1646  */
11999     break;
12000 
12001   case 621:
12002 #line 4457 "pars.yacc" /* yacc.c:1646  */
12003     { (yyval.ival) = PAGE_FREE; }
12004 #line 12005 "y.tab.c" /* yacc.c:1646  */
12005     break;
12006 
12007   case 622:
12008 #line 4458 "pars.yacc" /* yacc.c:1646  */
12009     { (yyval.ival) = PAGE_FIXED; }
12010 #line 12011 "y.tab.c" /* yacc.c:1646  */
12011     break;
12012 
12013   case 623:
12014 #line 4462 "pars.yacc" /* yacc.c:1646  */
12015     { (yyval.ival) = PAGE_ORIENT_LANDSCAPE; }
12016 #line 12017 "y.tab.c" /* yacc.c:1646  */
12017     break;
12018 
12019   case 624:
12020 #line 4463 "pars.yacc" /* yacc.c:1646  */
12021     { (yyval.ival) = PAGE_ORIENT_PORTRAIT;  }
12022 #line 12023 "y.tab.c" /* yacc.c:1646  */
12023     break;
12024 
12025   case 625:
12026 #line 4467 "pars.yacc" /* yacc.c:1646  */
12027     { (yyval.ival) = REGION_ABOVE; }
12028 #line 12029 "y.tab.c" /* yacc.c:1646  */
12029     break;
12030 
12031   case 626:
12032 #line 4468 "pars.yacc" /* yacc.c:1646  */
12033     { (yyval.ival) = REGION_BELOW; }
12034 #line 12035 "y.tab.c" /* yacc.c:1646  */
12035     break;
12036 
12037   case 627:
12038 #line 4469 "pars.yacc" /* yacc.c:1646  */
12039     { (yyval.ival) = REGION_TOLEFT; }
12040 #line 12041 "y.tab.c" /* yacc.c:1646  */
12041     break;
12042 
12043   case 628:
12044 #line 4470 "pars.yacc" /* yacc.c:1646  */
12045     { (yyval.ival) = REGION_TORIGHT; }
12046 #line 12047 "y.tab.c" /* yacc.c:1646  */
12047     break;
12048 
12049   case 629:
12050 #line 4471 "pars.yacc" /* yacc.c:1646  */
12051     { (yyval.ival) = REGION_POLYI; }
12052 #line 12053 "y.tab.c" /* yacc.c:1646  */
12053     break;
12054 
12055   case 630:
12056 #line 4472 "pars.yacc" /* yacc.c:1646  */
12057     { (yyval.ival) = REGION_POLYO; }
12058 #line 12059 "y.tab.c" /* yacc.c:1646  */
12059     break;
12060 
12061   case 631:
12062 #line 4473 "pars.yacc" /* yacc.c:1646  */
12063     { (yyval.ival) = REGION_HORIZI; }
12064 #line 12065 "y.tab.c" /* yacc.c:1646  */
12065     break;
12066 
12067   case 632:
12068 #line 4474 "pars.yacc" /* yacc.c:1646  */
12069     { (yyval.ival) = REGION_VERTI; }
12070 #line 12071 "y.tab.c" /* yacc.c:1646  */
12071     break;
12072 
12073   case 633:
12074 #line 4475 "pars.yacc" /* yacc.c:1646  */
12075     { (yyval.ival) = REGION_HORIZO; }
12076 #line 12077 "y.tab.c" /* yacc.c:1646  */
12077     break;
12078 
12079   case 634:
12080 #line 4476 "pars.yacc" /* yacc.c:1646  */
12081     { (yyval.ival) = REGION_VERTO; }
12082 #line 12083 "y.tab.c" /* yacc.c:1646  */
12083     break;
12084 
12085   case 635:
12086 #line 4479 "pars.yacc" /* yacc.c:1646  */
12087     { (yyval.ival) = SCALE_NORMAL; }
12088 #line 12089 "y.tab.c" /* yacc.c:1646  */
12089     break;
12090 
12091   case 636:
12092 #line 4480 "pars.yacc" /* yacc.c:1646  */
12093     { (yyval.ival) = SCALE_LOG; }
12094 #line 12095 "y.tab.c" /* yacc.c:1646  */
12095     break;
12096 
12097   case 637:
12098 #line 4481 "pars.yacc" /* yacc.c:1646  */
12099     { (yyval.ival) = SCALE_REC; }
12100 #line 12101 "y.tab.c" /* yacc.c:1646  */
12101     break;
12102 
12103   case 638:
12104 #line 4482 "pars.yacc" /* yacc.c:1646  */
12105     { (yyval.ival) = SCALE_LOGIT; }
12106 #line 12107 "y.tab.c" /* yacc.c:1646  */
12107     break;
12108 
12109   case 639:
12110 #line 4485 "pars.yacc" /* yacc.c:1646  */
12111     { (yyval.ival) = TRUE; }
12112 #line 12113 "y.tab.c" /* yacc.c:1646  */
12113     break;
12114 
12115   case 640:
12116 #line 4486 "pars.yacc" /* yacc.c:1646  */
12117     { (yyval.ival) = FALSE; }
12118 #line 12119 "y.tab.c" /* yacc.c:1646  */
12119     break;
12120 
12121   case 641:
12122 #line 4489 "pars.yacc" /* yacc.c:1646  */
12123     { (yyval.ival) = RUN_AVG; }
12124 #line 12125 "y.tab.c" /* yacc.c:1646  */
12125     break;
12126 
12127   case 642:
12128 #line 4490 "pars.yacc" /* yacc.c:1646  */
12129     { (yyval.ival) = RUN_STD; }
12130 #line 12131 "y.tab.c" /* yacc.c:1646  */
12131     break;
12132 
12133   case 643:
12134 #line 4491 "pars.yacc" /* yacc.c:1646  */
12135     { (yyval.ival) = RUN_MED; }
12136 #line 12137 "y.tab.c" /* yacc.c:1646  */
12137     break;
12138 
12139   case 644:
12140 #line 4492 "pars.yacc" /* yacc.c:1646  */
12141     { (yyval.ival) = RUN_MAX; }
12142 #line 12143 "y.tab.c" /* yacc.c:1646  */
12143     break;
12144 
12145   case 645:
12146 #line 4493 "pars.yacc" /* yacc.c:1646  */
12147     { (yyval.ival) = RUN_MIN; }
12148 #line 12149 "y.tab.c" /* yacc.c:1646  */
12149     break;
12150 
12151   case 646:
12152 #line 4497 "pars.yacc" /* yacc.c:1646  */
12153     { (yyval.ival) = SOURCE_DISK; }
12154 #line 12155 "y.tab.c" /* yacc.c:1646  */
12155     break;
12156 
12157   case 647:
12158 #line 4498 "pars.yacc" /* yacc.c:1646  */
12159     {
12160             if (!safe_mode) {
12161                 (yyval.ival) = SOURCE_PIPE;
12162             } else {
12163                 yyerror("Pipe inputs are disabled in safe mode");
12164                 (yyval.ival) = SOURCE_DISK;
12165             }
12166         }
12167 #line 12168 "y.tab.c" /* yacc.c:1646  */
12168     break;
12169 
12170   case 648:
12171 #line 4508 "pars.yacc" /* yacc.c:1646  */
12172     { (yyval.ival) = JUST_RIGHT; }
12173 #line 12174 "y.tab.c" /* yacc.c:1646  */
12174     break;
12175 
12176   case 649:
12177 #line 4509 "pars.yacc" /* yacc.c:1646  */
12178     { (yyval.ival) = JUST_LEFT; }
12179 #line 12180 "y.tab.c" /* yacc.c:1646  */
12180     break;
12181 
12182   case 650:
12183 #line 4510 "pars.yacc" /* yacc.c:1646  */
12184     { (yyval.ival) = JUST_CENTER; }
12185 #line 12186 "y.tab.c" /* yacc.c:1646  */
12186     break;
12187 
12188   case 651:
12189 #line 4513 "pars.yacc" /* yacc.c:1646  */
12190     { (yyval.ival) = TICKS_IN; }
12191 #line 12192 "y.tab.c" /* yacc.c:1646  */
12192     break;
12193 
12194   case 652:
12195 #line 4514 "pars.yacc" /* yacc.c:1646  */
12196     { (yyval.ival) = TICKS_OUT; }
12197 #line 12198 "y.tab.c" /* yacc.c:1646  */
12198     break;
12199 
12200   case 653:
12201 #line 4515 "pars.yacc" /* yacc.c:1646  */
12202     { (yyval.ival) = TICKS_BOTH; }
12203 #line 12204 "y.tab.c" /* yacc.c:1646  */
12204     break;
12205 
12206   case 654:
12207 #line 4518 "pars.yacc" /* yacc.c:1646  */
12208     { (yyval.ival) = FORMAT_DECIMAL; }
12209 #line 12210 "y.tab.c" /* yacc.c:1646  */
12210     break;
12211 
12212   case 655:
12213 #line 4519 "pars.yacc" /* yacc.c:1646  */
12214     { (yyval.ival) = FORMAT_EXPONENTIAL; }
12215 #line 12216 "y.tab.c" /* yacc.c:1646  */
12216     break;
12217 
12218   case 656:
12219 #line 4520 "pars.yacc" /* yacc.c:1646  */
12220     { (yyval.ival) = FORMAT_GENERAL; }
12221 #line 12222 "y.tab.c" /* yacc.c:1646  */
12222     break;
12223 
12224   case 657:
12225 #line 4521 "pars.yacc" /* yacc.c:1646  */
12226     { (yyval.ival) = FORMAT_SCIENTIFIC; }
12227 #line 12228 "y.tab.c" /* yacc.c:1646  */
12228     break;
12229 
12230   case 658:
12231 #line 4522 "pars.yacc" /* yacc.c:1646  */
12232     { (yyval.ival) = FORMAT_ENGINEERING; }
12233 #line 12234 "y.tab.c" /* yacc.c:1646  */
12234     break;
12235 
12236   case 659:
12237 #line 4523 "pars.yacc" /* yacc.c:1646  */
12238     { (yyval.ival) = FORMAT_COMPUTING; }
12239 #line 12240 "y.tab.c" /* yacc.c:1646  */
12240     break;
12241 
12242   case 660:
12243 #line 4524 "pars.yacc" /* yacc.c:1646  */
12244     { (yyval.ival) = FORMAT_POWER; }
12245 #line 12246 "y.tab.c" /* yacc.c:1646  */
12246     break;
12247 
12248   case 661:
12249 #line 4525 "pars.yacc" /* yacc.c:1646  */
12250     { (yyval.ival) = FORMAT_DDMMYY; }
12251 #line 12252 "y.tab.c" /* yacc.c:1646  */
12252     break;
12253 
12254   case 662:
12255 #line 4526 "pars.yacc" /* yacc.c:1646  */
12256     { (yyval.ival) = FORMAT_MMDDYY; }
12257 #line 12258 "y.tab.c" /* yacc.c:1646  */
12258     break;
12259 
12260   case 663:
12261 #line 4527 "pars.yacc" /* yacc.c:1646  */
12262     { (yyval.ival) = FORMAT_YYMMDD; }
12263 #line 12264 "y.tab.c" /* yacc.c:1646  */
12264     break;
12265 
12266   case 664:
12267 #line 4528 "pars.yacc" /* yacc.c:1646  */
12268     { (yyval.ival) = FORMAT_MMYY; }
12269 #line 12270 "y.tab.c" /* yacc.c:1646  */
12270     break;
12271 
12272   case 665:
12273 #line 4529 "pars.yacc" /* yacc.c:1646  */
12274     { (yyval.ival) = FORMAT_MMDD; }
12275 #line 12276 "y.tab.c" /* yacc.c:1646  */
12276     break;
12277 
12278   case 666:
12279 #line 4530 "pars.yacc" /* yacc.c:1646  */
12280     { (yyval.ival) = FORMAT_MONTHDAY; }
12281 #line 12282 "y.tab.c" /* yacc.c:1646  */
12282     break;
12283 
12284   case 667:
12285 #line 4531 "pars.yacc" /* yacc.c:1646  */
12286     { (yyval.ival) = FORMAT_DAYMONTH; }
12287 #line 12288 "y.tab.c" /* yacc.c:1646  */
12288     break;
12289 
12290   case 668:
12291 #line 4532 "pars.yacc" /* yacc.c:1646  */
12292     { (yyval.ival) = FORMAT_MONTHS; }
12293 #line 12294 "y.tab.c" /* yacc.c:1646  */
12294     break;
12295 
12296   case 669:
12297 #line 4533 "pars.yacc" /* yacc.c:1646  */
12298     { (yyval.ival) = FORMAT_MONTHSY; }
12299 #line 12300 "y.tab.c" /* yacc.c:1646  */
12300     break;
12301 
12302   case 670:
12303 #line 4534 "pars.yacc" /* yacc.c:1646  */
12304     { (yyval.ival) = FORMAT_MONTHL; }
12305 #line 12306 "y.tab.c" /* yacc.c:1646  */
12306     break;
12307 
12308   case 671:
12309 #line 4535 "pars.yacc" /* yacc.c:1646  */
12310     { (yyval.ival) = FORMAT_DAYOFWEEKS; }
12311 #line 12312 "y.tab.c" /* yacc.c:1646  */
12312     break;
12313 
12314   case 672:
12315 #line 4536 "pars.yacc" /* yacc.c:1646  */
12316     { (yyval.ival) = FORMAT_DAYOFWEEKL; }
12317 #line 12318 "y.tab.c" /* yacc.c:1646  */
12318     break;
12319 
12320   case 673:
12321 #line 4537 "pars.yacc" /* yacc.c:1646  */
12322     { (yyval.ival) = FORMAT_DAYOFYEAR; }
12323 #line 12324 "y.tab.c" /* yacc.c:1646  */
12324     break;
12325 
12326   case 674:
12327 #line 4538 "pars.yacc" /* yacc.c:1646  */
12328     { (yyval.ival) = FORMAT_HMS; }
12329 #line 12330 "y.tab.c" /* yacc.c:1646  */
12330     break;
12331 
12332   case 675:
12333 #line 4539 "pars.yacc" /* yacc.c:1646  */
12334     { (yyval.ival) = FORMAT_MMDDHMS; }
12335 #line 12336 "y.tab.c" /* yacc.c:1646  */
12336     break;
12337 
12338   case 676:
12339 #line 4540 "pars.yacc" /* yacc.c:1646  */
12340     { (yyval.ival) = FORMAT_MMDDYYHMS; }
12341 #line 12342 "y.tab.c" /* yacc.c:1646  */
12342     break;
12343 
12344   case 677:
12345 #line 4541 "pars.yacc" /* yacc.c:1646  */
12346     { (yyval.ival) = FORMAT_YYMMDDHMS; }
12347 #line 12348 "y.tab.c" /* yacc.c:1646  */
12348     break;
12349 
12350   case 678:
12351 #line 4542 "pars.yacc" /* yacc.c:1646  */
12352     { (yyval.ival) = FORMAT_DEGREESLON; }
12353 #line 12354 "y.tab.c" /* yacc.c:1646  */
12354     break;
12355 
12356   case 679:
12357 #line 4543 "pars.yacc" /* yacc.c:1646  */
12358     { (yyval.ival) = FORMAT_DEGREESMMLON; }
12359 #line 12360 "y.tab.c" /* yacc.c:1646  */
12360     break;
12361 
12362   case 680:
12363 #line 4544 "pars.yacc" /* yacc.c:1646  */
12364     { (yyval.ival) = FORMAT_DEGREESMMSSLON; }
12365 #line 12366 "y.tab.c" /* yacc.c:1646  */
12366     break;
12367 
12368   case 681:
12369 #line 4545 "pars.yacc" /* yacc.c:1646  */
12370     { (yyval.ival) = FORMAT_MMSSLON; }
12371 #line 12372 "y.tab.c" /* yacc.c:1646  */
12372     break;
12373 
12374   case 682:
12375 #line 4546 "pars.yacc" /* yacc.c:1646  */
12376     { (yyval.ival) = FORMAT_DEGREESLAT; }
12377 #line 12378 "y.tab.c" /* yacc.c:1646  */
12378     break;
12379 
12380   case 683:
12381 #line 4547 "pars.yacc" /* yacc.c:1646  */
12382     { (yyval.ival) = FORMAT_DEGREESMMLAT; }
12383 #line 12384 "y.tab.c" /* yacc.c:1646  */
12384     break;
12385 
12386   case 684:
12387 #line 4548 "pars.yacc" /* yacc.c:1646  */
12388     { (yyval.ival) = FORMAT_DEGREESMMSSLAT; }
12389 #line 12390 "y.tab.c" /* yacc.c:1646  */
12390     break;
12391 
12392   case 685:
12393 #line 4549 "pars.yacc" /* yacc.c:1646  */
12394     { (yyval.ival) = FORMAT_MMSSLAT; }
12395 #line 12396 "y.tab.c" /* yacc.c:1646  */
12396     break;
12397 
12398   case 686:
12399 #line 4552 "pars.yacc" /* yacc.c:1646  */
12400     { (yyval.ival) = SIGN_NORMAL; }
12401 #line 12402 "y.tab.c" /* yacc.c:1646  */
12402     break;
12403 
12404   case 687:
12405 #line 4553 "pars.yacc" /* yacc.c:1646  */
12406     { (yyval.ival) = SIGN_ABSOLUTE; }
12407 #line 12408 "y.tab.c" /* yacc.c:1646  */
12408     break;
12409 
12410   case 688:
12411 #line 4554 "pars.yacc" /* yacc.c:1646  */
12412     { (yyval.ival) = SIGN_NEGATE; }
12413 #line 12414 "y.tab.c" /* yacc.c:1646  */
12414     break;
12415 
12416   case 689:
12417 #line 4557 "pars.yacc" /* yacc.c:1646  */
12418     { (yyval.ival) = UP; }
12419 #line 12420 "y.tab.c" /* yacc.c:1646  */
12420     break;
12421 
12422   case 690:
12423 #line 4558 "pars.yacc" /* yacc.c:1646  */
12424     { (yyval.ival) = DOWN; }
12425 #line 12426 "y.tab.c" /* yacc.c:1646  */
12426     break;
12427 
12428   case 691:
12429 #line 4559 "pars.yacc" /* yacc.c:1646  */
12430     { (yyval.ival) = RIGHT; }
12431 #line 12432 "y.tab.c" /* yacc.c:1646  */
12432     break;
12433 
12434   case 692:
12435 #line 4560 "pars.yacc" /* yacc.c:1646  */
12436     { (yyval.ival) = LEFT; }
12437 #line 12438 "y.tab.c" /* yacc.c:1646  */
12438     break;
12439 
12440   case 693:
12441 #line 4561 "pars.yacc" /* yacc.c:1646  */
12442     { (yyval.ival) = IN; }
12443 #line 12444 "y.tab.c" /* yacc.c:1646  */
12444     break;
12445 
12446   case 694:
12447 #line 4562 "pars.yacc" /* yacc.c:1646  */
12448     { (yyval.ival) = OUT; }
12449 #line 12450 "y.tab.c" /* yacc.c:1646  */
12450     break;
12451 
12452   case 695:
12453 #line 4565 "pars.yacc" /* yacc.c:1646  */
12454     { (yyval.ival) = COORD_WORLD; }
12455 #line 12456 "y.tab.c" /* yacc.c:1646  */
12456     break;
12457 
12458   case 696:
12459 #line 4566 "pars.yacc" /* yacc.c:1646  */
12460     { (yyval.ival) = COORD_VIEW; }
12461 #line 12462 "y.tab.c" /* yacc.c:1646  */
12462     break;
12463 
12464   case 697:
12465 #line 4569 "pars.yacc" /* yacc.c:1646  */
12466     { (yyval.ival) = DATA_X; }
12467 #line 12468 "y.tab.c" /* yacc.c:1646  */
12468     break;
12469 
12470   case 698:
12471 #line 4570 "pars.yacc" /* yacc.c:1646  */
12472     { (yyval.ival) = DATA_Y; }
12473 #line 12474 "y.tab.c" /* yacc.c:1646  */
12474     break;
12475 
12476   case 699:
12477 #line 4571 "pars.yacc" /* yacc.c:1646  */
12478     { (yyval.ival) = DATA_X; }
12479 #line 12480 "y.tab.c" /* yacc.c:1646  */
12480     break;
12481 
12482   case 700:
12483 #line 4572 "pars.yacc" /* yacc.c:1646  */
12484     { (yyval.ival) = DATA_Y; }
12485 #line 12486 "y.tab.c" /* yacc.c:1646  */
12486     break;
12487 
12488   case 701:
12489 #line 4573 "pars.yacc" /* yacc.c:1646  */
12490     { (yyval.ival) = DATA_Y1; }
12491 #line 12492 "y.tab.c" /* yacc.c:1646  */
12492     break;
12493 
12494   case 702:
12495 #line 4574 "pars.yacc" /* yacc.c:1646  */
12496     { (yyval.ival) = DATA_Y2; }
12497 #line 12498 "y.tab.c" /* yacc.c:1646  */
12498     break;
12499 
12500   case 703:
12501 #line 4575 "pars.yacc" /* yacc.c:1646  */
12502     { (yyval.ival) = DATA_Y3; }
12503 #line 12504 "y.tab.c" /* yacc.c:1646  */
12504     break;
12505 
12506   case 704:
12507 #line 4576 "pars.yacc" /* yacc.c:1646  */
12508     { (yyval.ival) = DATA_Y4; }
12509 #line 12510 "y.tab.c" /* yacc.c:1646  */
12510     break;
12511 
12512   case 705:
12513 #line 4579 "pars.yacc" /* yacc.c:1646  */
12514     { (yyval.ival) = ASCENDING; }
12515 #line 12516 "y.tab.c" /* yacc.c:1646  */
12516     break;
12517 
12518   case 706:
12519 #line 4580 "pars.yacc" /* yacc.c:1646  */
12520     { (yyval.ival) = DESCENDING; }
12521 #line 12522 "y.tab.c" /* yacc.c:1646  */
12522     break;
12523 
12524   case 707:
12525 #line 4583 "pars.yacc" /* yacc.c:1646  */
12526     { (yyval.ival) = DATA_X; }
12527 #line 12528 "y.tab.c" /* yacc.c:1646  */
12528     break;
12529 
12530   case 708:
12531 #line 4584 "pars.yacc" /* yacc.c:1646  */
12532     { (yyval.ival) = DATA_Y; }
12533 #line 12534 "y.tab.c" /* yacc.c:1646  */
12534     break;
12535 
12536   case 709:
12537 #line 4587 "pars.yacc" /* yacc.c:1646  */
12538     { (yyval.ival) = FFT_DFT; }
12539 #line 12540 "y.tab.c" /* yacc.c:1646  */
12540     break;
12541 
12542   case 710:
12543 #line 4588 "pars.yacc" /* yacc.c:1646  */
12544     { (yyval.ival) = FFT_FFT; }
12545 #line 12546 "y.tab.c" /* yacc.c:1646  */
12546     break;
12547 
12548   case 711:
12549 #line 4589 "pars.yacc" /* yacc.c:1646  */
12550     { (yyval.ival) = FFT_INVDFT; }
12551 #line 12552 "y.tab.c" /* yacc.c:1646  */
12552     break;
12553 
12554   case 712:
12555 #line 4590 "pars.yacc" /* yacc.c:1646  */
12556     { (yyval.ival) = FFT_INVFFT; }
12557 #line 12558 "y.tab.c" /* yacc.c:1646  */
12558     break;
12559 
12560   case 713:
12561 #line 4594 "pars.yacc" /* yacc.c:1646  */
12562     {(yyval.ival)=0;}
12563 #line 12564 "y.tab.c" /* yacc.c:1646  */
12564     break;
12565 
12566   case 714:
12567 #line 4595 "pars.yacc" /* yacc.c:1646  */
12568     {(yyval.ival)=1;}
12569 #line 12570 "y.tab.c" /* yacc.c:1646  */
12570     break;
12571 
12572   case 715:
12573 #line 4599 "pars.yacc" /* yacc.c:1646  */
12574     {(yyval.ival)=0;}
12575 #line 12576 "y.tab.c" /* yacc.c:1646  */
12576     break;
12577 
12578   case 716:
12579 #line 4600 "pars.yacc" /* yacc.c:1646  */
12580     {(yyval.ival)=1;}
12581 #line 12582 "y.tab.c" /* yacc.c:1646  */
12582     break;
12583 
12584   case 717:
12585 #line 4601 "pars.yacc" /* yacc.c:1646  */
12586     {(yyval.ival)=2;}
12587 #line 12588 "y.tab.c" /* yacc.c:1646  */
12588     break;
12589 
12590   case 718:
12591 #line 4605 "pars.yacc" /* yacc.c:1646  */
12592     {(yyval.ival)=0;}
12593 #line 12594 "y.tab.c" /* yacc.c:1646  */
12594     break;
12595 
12596   case 719:
12597 #line 4606 "pars.yacc" /* yacc.c:1646  */
12598     {(yyval.ival)=1;}
12599 #line 12600 "y.tab.c" /* yacc.c:1646  */
12600     break;
12601 
12602   case 720:
12603 #line 4607 "pars.yacc" /* yacc.c:1646  */
12604     {(yyval.ival)=2;}
12605 #line 12606 "y.tab.c" /* yacc.c:1646  */
12606     break;
12607 
12608   case 721:
12609 #line 4611 "pars.yacc" /* yacc.c:1646  */
12610     {(yyval.ival)=0;}
12611 #line 12612 "y.tab.c" /* yacc.c:1646  */
12612     break;
12613 
12614   case 722:
12615 #line 4612 "pars.yacc" /* yacc.c:1646  */
12616     {(yyval.ival)=1;}
12617 #line 12618 "y.tab.c" /* yacc.c:1646  */
12618     break;
12619 
12620   case 723:
12621 #line 4613 "pars.yacc" /* yacc.c:1646  */
12622     {(yyval.ival)=2;}
12623 #line 12624 "y.tab.c" /* yacc.c:1646  */
12624     break;
12625 
12626   case 724:
12627 #line 4614 "pars.yacc" /* yacc.c:1646  */
12628     {(yyval.ival)=3;}
12629 #line 12630 "y.tab.c" /* yacc.c:1646  */
12630     break;
12631 
12632   case 725:
12633 #line 4615 "pars.yacc" /* yacc.c:1646  */
12634     {(yyval.ival)=4;}
12635 #line 12636 "y.tab.c" /* yacc.c:1646  */
12636     break;
12637 
12638   case 726:
12639 #line 4616 "pars.yacc" /* yacc.c:1646  */
12640     {(yyval.ival)=5;}
12641 #line 12642 "y.tab.c" /* yacc.c:1646  */
12642     break;
12643 
12644   case 727:
12645 #line 4617 "pars.yacc" /* yacc.c:1646  */
12646     {(yyval.ival)=6;}
12647 #line 12648 "y.tab.c" /* yacc.c:1646  */
12648     break;
12649 
12650   case 728:
12651 #line 4621 "pars.yacc" /* yacc.c:1646  */
12652     { (yyval.ival) = INTERP_LINEAR; }
12653 #line 12654 "y.tab.c" /* yacc.c:1646  */
12654     break;
12655 
12656   case 729:
12657 #line 4622 "pars.yacc" /* yacc.c:1646  */
12658     { (yyval.ival) = INTERP_SPLINE; }
12659 #line 12660 "y.tab.c" /* yacc.c:1646  */
12660     break;
12661 
12662   case 730:
12663 #line 4623 "pars.yacc" /* yacc.c:1646  */
12664     { (yyval.ival) = INTERP_ASPLINE; }
12665 #line 12666 "y.tab.c" /* yacc.c:1646  */
12666     break;
12667 
12668   case 731:
12669 #line 4626 "pars.yacc" /* yacc.c:1646  */
12670     { (yyval.ival) = MINP; }
12671 #line 12672 "y.tab.c" /* yacc.c:1646  */
12672     break;
12673 
12674   case 732:
12675 #line 4627 "pars.yacc" /* yacc.c:1646  */
12676     { (yyval.ival) = MAXP; }
12677 #line 12678 "y.tab.c" /* yacc.c:1646  */
12678     break;
12679 
12680   case 733:
12681 #line 4628 "pars.yacc" /* yacc.c:1646  */
12682     { (yyval.ival) = AVG; }
12683 #line 12684 "y.tab.c" /* yacc.c:1646  */
12684     break;
12685 
12686   case 734:
12687 #line 4629 "pars.yacc" /* yacc.c:1646  */
12688     { (yyval.ival) = SD; }
12689 #line 12690 "y.tab.c" /* yacc.c:1646  */
12690     break;
12691 
12692   case 735:
12693 #line 4630 "pars.yacc" /* yacc.c:1646  */
12694     { (yyval.ival) = SUM; }
12695 #line 12696 "y.tab.c" /* yacc.c:1646  */
12696     break;
12697 
12698   case 736:
12699 #line 4631 "pars.yacc" /* yacc.c:1646  */
12700     { (yyval.ival) = IMIN; }
12701 #line 12702 "y.tab.c" /* yacc.c:1646  */
12702     break;
12703 
12704   case 737:
12705 #line 4632 "pars.yacc" /* yacc.c:1646  */
12706     { (yyval.ival) = IMAX; }
12707 #line 12708 "y.tab.c" /* yacc.c:1646  */
12708     break;
12709 
12710   case 738:
12711 #line 4637 "pars.yacc" /* yacc.c:1646  */
12712     {
12713             (yyval.ival) = get_mapped_font((yyvsp[0].ival));
12714         }
12715 #line 12716 "y.tab.c" /* yacc.c:1646  */
12716     break;
12717 
12718   case 739:
12719 #line 4641 "pars.yacc" /* yacc.c:1646  */
12720     {
12721             (yyval.ival) = get_font_by_name((yyvsp[0].sval));
12722             xfree((yyvsp[0].sval));
12723         }
12724 #line 12725 "y.tab.c" /* yacc.c:1646  */
12725     break;
12726 
12727   case 740:
12728 #line 4649 "pars.yacc" /* yacc.c:1646  */
12729     {
12730 	    int lines = (yyvsp[0].ival);
12731             if (lines >= 0 && lines < number_of_linestyles()) {
12732 	        (yyval.ival) = lines;
12733 	    } else {
12734 	        errmsg("invalid linestyle");
12735 	        (yyval.ival) = 1;
12736 	    }
12737         }
12738 #line 12739 "y.tab.c" /* yacc.c:1646  */
12739     break;
12740 
12741   case 741:
12742 #line 4662 "pars.yacc" /* yacc.c:1646  */
12743     {
12744 	    int patno = (yyvsp[0].ival);
12745             if (patno >= 0 && patno < number_of_patterns()) {
12746 	        (yyval.ival) = patno;
12747 	    } else {
12748 	        errmsg("invalid pattern number");
12749 	        (yyval.ival) = 1;
12750 	    }
12751         }
12752 #line 12753 "y.tab.c" /* yacc.c:1646  */
12753     break;
12754 
12755   case 742:
12756 #line 4675 "pars.yacc" /* yacc.c:1646  */
12757     {
12758             int c = (yyvsp[0].ival);
12759             if (c >= 0 && c < number_of_colors()) {
12760                 (yyval.ival) = c;
12761             } else {
12762                 errmsg("Invalid color ID");
12763                 (yyval.ival) = 1;
12764             }
12765         }
12766 #line 12767 "y.tab.c" /* yacc.c:1646  */
12767     break;
12768 
12769   case 743:
12770 #line 4685 "pars.yacc" /* yacc.c:1646  */
12771     {
12772             int c = get_color_by_name((yyvsp[0].sval));
12773             if (c == BAD_COLOR) {
12774                 errmsg("Invalid color name");
12775                 c = 1;
12776             }
12777             xfree((yyvsp[0].sval));
12778             (yyval.ival) = c;
12779         }
12780 #line 12781 "y.tab.c" /* yacc.c:1646  */
12781     break;
12782 
12783   case 744:
12784 #line 4695 "pars.yacc" /* yacc.c:1646  */
12785     {
12786             int c;
12787             CMap_entry cmap;
12788             cmap.rgb.red = (yyvsp[-5].ival);
12789             cmap.rgb.green = (yyvsp[-3].ival);
12790             cmap.rgb.blue = (yyvsp[-1].ival);
12791             cmap.ctype = COLOR_MAIN;
12792             cmap.cname = NULL;
12793             c = add_color(cmap);
12794             if (c == BAD_COLOR) {
12795                 errmsg("Can't allocate requested color");
12796                 c = 1;
12797             }
12798             (yyval.ival) = c;
12799         }
12800 #line 12801 "y.tab.c" /* yacc.c:1646  */
12801     break;
12802 
12803   case 745:
12804 #line 4714 "pars.yacc" /* yacc.c:1646  */
12805     {
12806             double linew;
12807             linew = (yyvsp[0].dval);
12808             if (linew < 0.0) {
12809                 yyerror("Negative linewidth");
12810                 linew = 0.0;
12811             } else if (linew > MAX_LINEWIDTH) {
12812                 yyerror("Linewidth too large");
12813                 linew = MAX_LINEWIDTH;
12814             }
12815             (yyval.dval) = linew;
12816         }
12817 #line 12818 "y.tab.c" /* yacc.c:1646  */
12818     break;
12819 
12820   case 746:
12821 #line 4729 "pars.yacc" /* yacc.c:1646  */
12822     {
12823             (yyval.ival) = (yyvsp[0].ival);
12824         }
12825 #line 12826 "y.tab.c" /* yacc.c:1646  */
12826     break;
12827 
12828   case 747:
12829 #line 4734 "pars.yacc" /* yacc.c:1646  */
12830     { (yyval.ival) = PLACEMENT_NORMAL; }
12831 #line 12832 "y.tab.c" /* yacc.c:1646  */
12832     break;
12833 
12834   case 748:
12835 #line 4735 "pars.yacc" /* yacc.c:1646  */
12836     { (yyval.ival) = PLACEMENT_OPPOSITE; }
12837 #line 12838 "y.tab.c" /* yacc.c:1646  */
12838     break;
12839 
12840   case 749:
12841 #line 4736 "pars.yacc" /* yacc.c:1646  */
12842     { (yyval.ival) = PLACEMENT_BOTH; }
12843 #line 12844 "y.tab.c" /* yacc.c:1646  */
12844     break;
12845 
12846   case 750:
12847 #line 4742 "pars.yacc" /* yacc.c:1646  */
12848     {
12849             int wpp, hpp;
12850             if ((yyvsp[0].ival) == PAGE_ORIENT_LANDSCAPE) {
12851                 wpp = 792;
12852                 hpp = 612;
12853             } else {
12854                 wpp = 612;
12855                 hpp = 792;
12856             }
12857             set_page_dimensions(wpp, hpp, FALSE);
12858         }
12859 #line 12860 "y.tab.c" /* yacc.c:1646  */
12860     break;
12861 
12862   case 751:
12863 #line 4753 "pars.yacc" /* yacc.c:1646  */
12864     {
12865             set_page_dimensions((int) (yyvsp[-1].dval), (int) (yyvsp[0].dval), FALSE);
12866         }
12867 #line 12868 "y.tab.c" /* yacc.c:1646  */
12868     break;
12869 
12870   case 752:
12871 #line 4756 "pars.yacc" /* yacc.c:1646  */
12872     {
12873 	    scroll_proc((yyvsp[0].ival));
12874 	}
12875 #line 12876 "y.tab.c" /* yacc.c:1646  */
12876     break;
12877 
12878   case 753:
12879 #line 4759 "pars.yacc" /* yacc.c:1646  */
12880     {
12881 	    scrollinout_proc((yyvsp[0].ival));
12882 	}
12883 #line 12884 "y.tab.c" /* yacc.c:1646  */
12884     break;
12885 
12886   case 754:
12887 #line 4763 "pars.yacc" /* yacc.c:1646  */
12888     {
12889 	}
12890 #line 12891 "y.tab.c" /* yacc.c:1646  */
12891     break;
12892 
12893   case 755:
12894 #line 4767 "pars.yacc" /* yacc.c:1646  */
12895     {
12896 	    add_world(whichgraph, (yyvsp[-14].dval), (yyvsp[-12].dval), (yyvsp[-10].dval), (yyvsp[-8].dval));
12897 	}
12898 #line 12899 "y.tab.c" /* yacc.c:1646  */
12899     break;
12900 
12901   case 756:
12902 #line 4771 "pars.yacc" /* yacc.c:1646  */
12903     {filltype_obs = (yyvsp[0].ival);}
12904 #line 12905 "y.tab.c" /* yacc.c:1646  */
12905     break;
12906 
12907   case 757:
12908 #line 4773 "pars.yacc" /* yacc.c:1646  */
12909     {filltype_obs = (yyvsp[0].ival);}
12910 #line 12911 "y.tab.c" /* yacc.c:1646  */
12911     break;
12912 
12913   case 758:
12914 #line 4775 "pars.yacc" /* yacc.c:1646  */
12915     { }
12916 #line 12917 "y.tab.c" /* yacc.c:1646  */
12917     break;
12918 
12919   case 759:
12920 #line 4777 "pars.yacc" /* yacc.c:1646  */
12921     { }
12922 #line 12923 "y.tab.c" /* yacc.c:1646  */
12923     break;
12924 
12925   case 760:
12926 #line 4779 "pars.yacc" /* yacc.c:1646  */
12927     { }
12928 #line 12929 "y.tab.c" /* yacc.c:1646  */
12929     break;
12930 
12931   case 761:
12932 #line 4780 "pars.yacc" /* yacc.c:1646  */
12933     { }
12934 #line 12935 "y.tab.c" /* yacc.c:1646  */
12935     break;
12936 
12937   case 762:
12938 #line 4782 "pars.yacc" /* yacc.c:1646  */
12939     {
12940 	    if (!is_valid_gno(whichgraph)) {
12941                 yyerror("No valid graph selected");
12942                 return 1;
12943             }
12944 	    if ((yyvsp[0].ival) == FALSE && get_project_version() <= 40102) {
12945                 g[whichgraph].l.boxpen.pattern = 0;
12946             }
12947 	}
12948 #line 12949 "y.tab.c" /* yacc.c:1646  */
12949     break;
12950 
12951   case 763:
12952 #line 4791 "pars.yacc" /* yacc.c:1646  */
12953     {
12954 	    if (!is_valid_gno(whichgraph)) {
12955                 yyerror("No valid graph selected");
12956                 return 1;
12957             }
12958 	    g[whichgraph].l.legx = (yyvsp[0].dval);
12959 	}
12960 #line 12961 "y.tab.c" /* yacc.c:1646  */
12961     break;
12962 
12963   case 764:
12964 #line 4798 "pars.yacc" /* yacc.c:1646  */
12965     {
12966 	    if (!is_valid_gno(whichgraph)) {
12967                 yyerror("No valid graph selected");
12968                 return 1;
12969             }
12970 	    g[whichgraph].l.legy = (yyvsp[0].dval);
12971 	}
12972 #line 12973 "y.tab.c" /* yacc.c:1646  */
12973     break;
12974 
12975   case 765:
12976 #line 4805 "pars.yacc" /* yacc.c:1646  */
12977     {
12978 	    if (is_valid_setno(whichgraph, (yyvsp[-1].ival))) {
12979                 strncpy(g[whichgraph].p[(yyvsp[-1].ival)].lstr, (yyvsp[0].sval), MAX_STRING_LENGTH - 1);
12980 	    } else {
12981                 yyerror("Unallocated set");
12982             }
12983             xfree((yyvsp[0].sval));
12984 	}
12985 #line 12986 "y.tab.c" /* yacc.c:1646  */
12986     break;
12987 
12988   case 766:
12989 #line 4813 "pars.yacc" /* yacc.c:1646  */
12990     { }
12991 #line 12992 "y.tab.c" /* yacc.c:1646  */
12992     break;
12993 
12994   case 767:
12995 #line 4814 "pars.yacc" /* yacc.c:1646  */
12996     {filltype_obs = (yyvsp[0].ival);}
12997 #line 12998 "y.tab.c" /* yacc.c:1646  */
12998     break;
12999 
13000   case 768:
13001 #line 4815 "pars.yacc" /* yacc.c:1646  */
13002     { }
13003 #line 13004 "y.tab.c" /* yacc.c:1646  */
13004     break;
13005 
13006   case 769:
13007 #line 4816 "pars.yacc" /* yacc.c:1646  */
13008     { }
13009 #line 13010 "y.tab.c" /* yacc.c:1646  */
13010     break;
13011 
13012   case 770:
13013 #line 4818 "pars.yacc" /* yacc.c:1646  */
13014     { }
13015 #line 13016 "y.tab.c" /* yacc.c:1646  */
13016     break;
13017 
13018   case 771:
13019 #line 4820 "pars.yacc" /* yacc.c:1646  */
13020     {
13021 	    g[(yyvsp[-2].ival)].type = GRAPH_XY;
13022 	    g[(yyvsp[-2].ival)].xscale = SCALE_LOG;
13023 	}
13024 #line 13025 "y.tab.c" /* yacc.c:1646  */
13025     break;
13026 
13027   case 772:
13028 #line 4824 "pars.yacc" /* yacc.c:1646  */
13029     {
13030 	    g[(yyvsp[-2].ival)].type = GRAPH_XY;
13031 	    g[(yyvsp[-2].ival)].yscale = SCALE_LOG;
13032 	}
13033 #line 13034 "y.tab.c" /* yacc.c:1646  */
13034     break;
13035 
13036   case 773:
13037 #line 4829 "pars.yacc" /* yacc.c:1646  */
13038     {
13039 	    g[(yyvsp[-2].ival)].type = GRAPH_XY;
13040 	    g[(yyvsp[-2].ival)].xscale = SCALE_LOG;
13041 	    g[(yyvsp[-2].ival)].yscale = SCALE_LOG;
13042 	}
13043 #line 13044 "y.tab.c" /* yacc.c:1646  */
13044     break;
13045 
13046   case 774:
13047 #line 4835 "pars.yacc" /* yacc.c:1646  */
13048     {
13049 	    g[(yyvsp[-2].ival)].type = GRAPH_CHART;
13050 	    g[(yyvsp[-2].ival)].xyflip = FALSE;
13051 	    g[(yyvsp[-2].ival)].stacked = FALSE;
13052 	}
13053 #line 13054 "y.tab.c" /* yacc.c:1646  */
13054     break;
13055 
13056   case 775:
13057 #line 4841 "pars.yacc" /* yacc.c:1646  */
13058     {
13059 	    g[(yyvsp[-2].ival)].type = GRAPH_CHART;
13060 	    g[(yyvsp[-2].ival)].xyflip = TRUE;
13061 	}
13062 #line 13063 "y.tab.c" /* yacc.c:1646  */
13063     break;
13064 
13065   case 776:
13066 #line 4846 "pars.yacc" /* yacc.c:1646  */
13067     {
13068 	    g[(yyvsp[-2].ival)].type = GRAPH_CHART;
13069 	    g[(yyvsp[-2].ival)].stacked = TRUE;
13070 	}
13071 #line 13072 "y.tab.c" /* yacc.c:1646  */
13072     break;
13073 
13074   case 777:
13075 #line 4851 "pars.yacc" /* yacc.c:1646  */
13076     {
13077 	    g[(yyvsp[-2].ival)].type = GRAPH_CHART;
13078 	    g[(yyvsp[-2].ival)].stacked = TRUE;
13079 	    g[(yyvsp[-2].ival)].xyflip = TRUE;
13080 	}
13081 #line 13082 "y.tab.c" /* yacc.c:1646  */
13082     break;
13083 
13084   case 778:
13085 #line 4857 "pars.yacc" /* yacc.c:1646  */
13086     {
13087 	    if (!is_valid_gno(whichgraph)) {
13088                 yyerror("No valid graph selected");
13089                 return 1;
13090             }
13091 	    g[whichgraph].w.xg1 = (yyvsp[0].dval);
13092 	}
13093 #line 13094 "y.tab.c" /* yacc.c:1646  */
13094     break;
13095 
13096   case 779:
13097 #line 4864 "pars.yacc" /* yacc.c:1646  */
13098     {
13099 	    if (!is_valid_gno(whichgraph)) {
13100                 yyerror("No valid graph selected");
13101                 return 1;
13102             }
13103 	    g[whichgraph].w.xg2 = (yyvsp[0].dval);
13104 	}
13105 #line 13106 "y.tab.c" /* yacc.c:1646  */
13106     break;
13107 
13108   case 780:
13109 #line 4871 "pars.yacc" /* yacc.c:1646  */
13110     {
13111 	    if (!is_valid_gno(whichgraph)) {
13112                 yyerror("No valid graph selected");
13113                 return 1;
13114             }
13115 	    g[whichgraph].w.yg1 = (yyvsp[0].dval);
13116 	}
13117 #line 13118 "y.tab.c" /* yacc.c:1646  */
13118     break;
13119 
13120   case 781:
13121 #line 4878 "pars.yacc" /* yacc.c:1646  */
13122     {
13123 	    if (!is_valid_gno(whichgraph)) {
13124                 yyerror("No valid graph selected");
13125                 return 1;
13126             }
13127 	    g[whichgraph].w.yg2 = (yyvsp[0].dval);
13128 	}
13129 #line 13130 "y.tab.c" /* yacc.c:1646  */
13130     break;
13131 
13132   case 782:
13133 #line 4886 "pars.yacc" /* yacc.c:1646  */
13134     {
13135 	    if (!is_valid_gno(whichgraph)) {
13136                 yyerror("No valid graph selected");
13137                 return 1;
13138             }
13139 	    g[whichgraph].v.xv1 = (yyvsp[0].dval);
13140 	}
13141 #line 13142 "y.tab.c" /* yacc.c:1646  */
13142     break;
13143 
13144   case 783:
13145 #line 4893 "pars.yacc" /* yacc.c:1646  */
13146     {
13147 	    if (!is_valid_gno(whichgraph)) {
13148                 yyerror("No valid graph selected");
13149                 return 1;
13150             }
13151 	    g[whichgraph].v.xv2 = (yyvsp[0].dval);
13152 	}
13153 #line 13154 "y.tab.c" /* yacc.c:1646  */
13154     break;
13155 
13156   case 784:
13157 #line 4900 "pars.yacc" /* yacc.c:1646  */
13158     {
13159 	    if (!is_valid_gno(whichgraph)) {
13160                 yyerror("No valid graph selected");
13161                 return 1;
13162             }
13163 	    g[whichgraph].v.yv1 = (yyvsp[0].dval);
13164 	}
13165 #line 13166 "y.tab.c" /* yacc.c:1646  */
13166     break;
13167 
13168   case 785:
13169 #line 4907 "pars.yacc" /* yacc.c:1646  */
13170     {
13171 	    if (!is_valid_gno(whichgraph)) {
13172                 yyerror("No valid graph selected");
13173                 return 1;
13174             }
13175 	    g[whichgraph].v.yv2 = (yyvsp[0].dval);
13176 	}
13177 #line 13178 "y.tab.c" /* yacc.c:1646  */
13178     break;
13179 
13180   case 786:
13181 #line 4915 "pars.yacc" /* yacc.c:1646  */
13182     {
13183 	}
13184 #line 13185 "y.tab.c" /* yacc.c:1646  */
13185     break;
13186 
13187   case 787:
13188 #line 4918 "pars.yacc" /* yacc.c:1646  */
13189     {
13190 	    if (!is_valid_gno(whichgraph)) {
13191                 yyerror("No valid graph selected");
13192                 return 1;
13193             }
13194             g[whichgraph].f.fillpen.pattern = (yyvsp[0].ival);
13195         }
13196 #line 13197 "y.tab.c" /* yacc.c:1646  */
13197     break;
13198 
13199   case 788:
13200 #line 4926 "pars.yacc" /* yacc.c:1646  */
13201     {
13202         }
13203 #line 13204 "y.tab.c" /* yacc.c:1646  */
13204     break;
13205 
13206   case 789:
13207 #line 4928 "pars.yacc" /* yacc.c:1646  */
13208     {
13209         }
13210 #line 13211 "y.tab.c" /* yacc.c:1646  */
13211     break;
13212 
13213   case 790:
13214 #line 4931 "pars.yacc" /* yacc.c:1646  */
13215     {
13216 	    line_asize = 2.0*(yyvsp[0].dval);
13217 	}
13218 #line 13219 "y.tab.c" /* yacc.c:1646  */
13219     break;
13220 
13221   case 791:
13222 #line 4935 "pars.yacc" /* yacc.c:1646  */
13223     { }
13224 #line 13225 "y.tab.c" /* yacc.c:1646  */
13225     break;
13226 
13227   case 792:
13228 #line 4936 "pars.yacc" /* yacc.c:1646  */
13229     { }
13230 #line 13231 "y.tab.c" /* yacc.c:1646  */
13231     break;
13232 
13233   case 793:
13234 #line 4937 "pars.yacc" /* yacc.c:1646  */
13235     { }
13236 #line 13237 "y.tab.c" /* yacc.c:1646  */
13237     break;
13238 
13239   case 794:
13240 #line 4938 "pars.yacc" /* yacc.c:1646  */
13241     { }
13242 #line 13243 "y.tab.c" /* yacc.c:1646  */
13243     break;
13244 
13245   case 795:
13246 #line 4943 "pars.yacc" /* yacc.c:1646  */
13247     { }
13248 #line 13249 "y.tab.c" /* yacc.c:1646  */
13249     break;
13250 
13251   case 796:
13252 #line 4944 "pars.yacc" /* yacc.c:1646  */
13253     {
13254 	    if (!is_valid_axis(whichgraph, naxis)) {
13255                 yyerror("No valid axis selected");
13256                 return 1;
13257             }
13258 	    g[whichgraph].t[naxis]->label_op = (yyvsp[0].ival);
13259 	}
13260 #line 13261 "y.tab.c" /* yacc.c:1646  */
13261     break;
13262 
13263   case 797:
13264 #line 4954 "pars.yacc" /* yacc.c:1646  */
13265     {
13266 	    switch ((yyvsp[0].ival)){
13267 	    case 0:
13268 	        g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].symfillpen.pattern = 0;
13269 	        break;
13270 	    case 1:
13271 	        g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].symfillpen.pattern = 1;
13272 	        break;
13273 	    case 2:
13274 	        g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].symfillpen.pattern = 1;
13275 	        g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].symfillpen.color = getbgcolor();
13276 	        break;
13277 	    }
13278 	}
13279 #line 13280 "y.tab.c" /* yacc.c:1646  */
13280     break;
13281 
13282   case 798:
13283 #line 4969 "pars.yacc" /* yacc.c:1646  */
13284     {
13285 	    g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].symskip = (yyvsp[0].ival);
13286 	}
13287 #line 13288 "y.tab.c" /* yacc.c:1646  */
13288     break;
13289 
13290   case 799:
13291 #line 4973 "pars.yacc" /* yacc.c:1646  */
13292     {
13293 	    switch ((yyvsp[0].ival)) {
13294             case 0:
13295                 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].filltype = SETFILL_NONE;
13296                 break;
13297             case 1:
13298                 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].filltype = SETFILL_POLYGON;
13299                 break;
13300             case 2:
13301                 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].filltype = SETFILL_BASELINE;
13302                 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].baseline_type = BASELINE_TYPE_0;
13303                 break;
13304             case 6:
13305                 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].filltype = SETFILL_BASELINE;
13306                 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].baseline_type = BASELINE_TYPE_GMIN;
13307                 break;
13308             case 7:
13309                 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].filltype = SETFILL_BASELINE;
13310                 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].baseline_type = BASELINE_TYPE_GMAX;
13311                 break;
13312             }
13313 	}
13314 #line 13315 "y.tab.c" /* yacc.c:1646  */
13315     break;
13316 
13317   case 800:
13318 #line 4995 "pars.yacc" /* yacc.c:1646  */
13319     {
13320 	    g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].errbar.ptype = (yyvsp[0].ival);
13321 	}
13322 #line 13323 "y.tab.c" /* yacc.c:1646  */
13323     break;
13324 
13325   case 801:
13326 #line 5003 "pars.yacc" /* yacc.c:1646  */
13327     { }
13328 #line 13329 "y.tab.c" /* yacc.c:1646  */
13329     break;
13330 
13331   case 802:
13332 #line 5004 "pars.yacc" /* yacc.c:1646  */
13333     {
13334 	    g[(yyvsp[-1].trgt)->gno].p[(yyvsp[-1].trgt)->setno].lines = (yyvsp[0].ival);
13335 	}
13336 #line 13337 "y.tab.c" /* yacc.c:1646  */
13337     break;
13338 
13339   case 803:
13340 #line 5007 "pars.yacc" /* yacc.c:1646  */
13341     {
13342 	    g[(yyvsp[-1].trgt)->gno].p[(yyvsp[-1].trgt)->setno].linew = (yyvsp[0].dval);
13343 	}
13344 #line 13345 "y.tab.c" /* yacc.c:1646  */
13345     break;
13346 
13347   case 804:
13348 #line 5010 "pars.yacc" /* yacc.c:1646  */
13349     {
13350 	    g[(yyvsp[-1].trgt)->gno].p[(yyvsp[-1].trgt)->setno].linepen.color = (yyvsp[0].ival);
13351 	}
13352 #line 13353 "y.tab.c" /* yacc.c:1646  */
13353     break;
13354 
13355   case 805:
13356 #line 5013 "pars.yacc" /* yacc.c:1646  */
13357     {filltype_obs = (yyvsp[0].ival);}
13358 #line 13359 "y.tab.c" /* yacc.c:1646  */
13359     break;
13360 
13361   case 806:
13362 #line 5014 "pars.yacc" /* yacc.c:1646  */
13363     { }
13364 #line 13365 "y.tab.c" /* yacc.c:1646  */
13365     break;
13366 
13367   case 807:
13368 #line 5015 "pars.yacc" /* yacc.c:1646  */
13369     {
13370             g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].errbar.barsize = (yyvsp[0].dval);
13371 	}
13372 #line 13373 "y.tab.c" /* yacc.c:1646  */
13373     break;
13374 
13375   case 808:
13376 #line 5018 "pars.yacc" /* yacc.c:1646  */
13377     { }
13378 #line 13379 "y.tab.c" /* yacc.c:1646  */
13379     break;
13380 
13381   case 809:
13382 #line 5023 "pars.yacc" /* yacc.c:1646  */
13383     {
13384 	    /* <= xmgr-4.1 */
13385 	    if (!is_valid_axis(whichgraph, naxis)) {
13386                 yyerror("No valid axis selected");
13387                 return 1;
13388             }
13389 	    g[whichgraph].t[naxis]->active = (yyvsp[0].ival);
13390 	}
13391 #line 13392 "y.tab.c" /* yacc.c:1646  */
13392     break;
13393 
13394   case 810:
13395 #line 5031 "pars.yacc" /* yacc.c:1646  */
13396     { }
13397 #line 13398 "y.tab.c" /* yacc.c:1646  */
13398     break;
13399 
13400   case 811:
13401 #line 5032 "pars.yacc" /* yacc.c:1646  */
13402     { }
13403 #line 13404 "y.tab.c" /* yacc.c:1646  */
13404     break;
13405 
13406   case 812:
13407 #line 5033 "pars.yacc" /* yacc.c:1646  */
13408     { }
13409 #line 13410 "y.tab.c" /* yacc.c:1646  */
13410     break;
13411 
13412   case 813:
13413 #line 5034 "pars.yacc" /* yacc.c:1646  */
13414     { }
13415 #line 13416 "y.tab.c" /* yacc.c:1646  */
13416     break;
13417 
13418   case 814:
13419 #line 5035 "pars.yacc" /* yacc.c:1646  */
13420     { }
13421 #line 13422 "y.tab.c" /* yacc.c:1646  */
13422     break;
13423 
13424   case 815:
13425 #line 5036 "pars.yacc" /* yacc.c:1646  */
13426     {
13427 	    if (!is_valid_axis(whichgraph, naxis)) {
13428                 yyerror("No valid axis selected");
13429                 return 1;
13430             }
13431 	    g[whichgraph].t[naxis]->t_spec = TICKS_SPEC_NONE;
13432 	}
13433 #line 13434 "y.tab.c" /* yacc.c:1646  */
13434     break;
13435 
13436   case 816:
13437 #line 5043 "pars.yacc" /* yacc.c:1646  */
13438     {
13439 	    if (!is_valid_axis(whichgraph, naxis)) {
13440                 yyerror("No valid axis selected");
13441                 return 1;
13442             }
13443 	    if (g[whichgraph].t[naxis]->t_spec != TICKS_SPEC_BOTH) {
13444                 g[whichgraph].t[naxis]->t_spec = TICKS_SPEC_MARKS;
13445             }
13446 	}
13447 #line 13448 "y.tab.c" /* yacc.c:1646  */
13448     break;
13449 
13450   case 817:
13451 #line 5052 "pars.yacc" /* yacc.c:1646  */
13452     {
13453 	    if (!is_valid_axis(whichgraph, naxis)) {
13454                 yyerror("No valid axis selected");
13455                 return 1;
13456             }
13457 	    if ((yyvsp[0].dval) != 0.0) {
13458                 g[whichgraph].t[naxis]->nminor =
13459                             (int) rint(g[whichgraph].t[naxis]->tmajor / (yyvsp[0].dval) - 1);
13460             } else {
13461                 g[whichgraph].t[naxis]->nminor = 0;
13462             }
13463 	}
13464 #line 13465 "y.tab.c" /* yacc.c:1646  */
13465     break;
13466 
13467   case 818:
13468 #line 5064 "pars.yacc" /* yacc.c:1646  */
13469     {
13470 	    if (!is_valid_axis(whichgraph, naxis)) {
13471                 yyerror("No valid axis selected");
13472                 return 1;
13473             }
13474 	    g[whichgraph].t[naxis]->props.size = (yyvsp[0].dval);
13475 	}
13476 #line 13477 "y.tab.c" /* yacc.c:1646  */
13477     break;
13478 
13479   case 819:
13480 #line 5071 "pars.yacc" /* yacc.c:1646  */
13481     {
13482 	    if (!is_valid_axis(whichgraph, naxis)) {
13483                 yyerror("No valid axis selected");
13484                 return 1;
13485             }
13486 	    g[whichgraph].t[naxis]->tloc[(yyvsp[-2].ival)].wtpos = (yyvsp[0].dval);
13487 	    g[whichgraph].t[naxis]->tloc[(yyvsp[-2].ival)].type = TICK_TYPE_MAJOR;
13488 	}
13489 #line 13490 "y.tab.c" /* yacc.c:1646  */
13490     break;
13491 
13492   case 820:
13493 #line 5079 "pars.yacc" /* yacc.c:1646  */
13494     {
13495 	    if (!is_valid_axis(whichgraph, naxis)) {
13496                 yyerror("No valid axis selected");
13497                 return 1;
13498             }
13499 	    g[whichgraph].t[naxis]->t_op = (yyvsp[0].ival);
13500 	}
13501 #line 13502 "y.tab.c" /* yacc.c:1646  */
13502     break;
13503 
13504   case 821:
13505 #line 5089 "pars.yacc" /* yacc.c:1646  */
13506     { }
13507 #line 13508 "y.tab.c" /* yacc.c:1646  */
13508     break;
13509 
13510   case 822:
13511 #line 5090 "pars.yacc" /* yacc.c:1646  */
13512     {
13513 	    if (!is_valid_axis(whichgraph, naxis)) {
13514                 yyerror("No valid axis selected");
13515                 return 1;
13516             }
13517 	    if (g[whichgraph].t[naxis]->t_spec == TICKS_SPEC_BOTH) {
13518                 g[whichgraph].t[naxis]->t_spec = TICKS_SPEC_MARKS;
13519             }
13520 	}
13521 #line 13522 "y.tab.c" /* yacc.c:1646  */
13522     break;
13523 
13524   case 823:
13525 #line 5099 "pars.yacc" /* yacc.c:1646  */
13526     {
13527 	    if (!is_valid_axis(whichgraph, naxis)) {
13528                 yyerror("No valid axis selected");
13529                 return 1;
13530             }
13531 	    g[whichgraph].t[naxis]->t_spec = TICKS_SPEC_BOTH;
13532 	}
13533 #line 13534 "y.tab.c" /* yacc.c:1646  */
13534     break;
13535 
13536   case 824:
13537 #line 5106 "pars.yacc" /* yacc.c:1646  */
13538     { }
13539 #line 13540 "y.tab.c" /* yacc.c:1646  */
13540     break;
13541 
13542   case 825:
13543 #line 5108 "pars.yacc" /* yacc.c:1646  */
13544     {
13545 	    if (!is_valid_axis(whichgraph, naxis)) {
13546                 yyerror("No valid axis selected");
13547                 return 1;
13548             }
13549 	    g[whichgraph].t[naxis]->tl_angle = 0;
13550 	}
13551 #line 13552 "y.tab.c" /* yacc.c:1646  */
13552     break;
13553 
13554   case 826:
13555 #line 5115 "pars.yacc" /* yacc.c:1646  */
13556     {
13557 	    if (!is_valid_axis(whichgraph, naxis)) {
13558                 yyerror("No valid axis selected");
13559                 return 1;
13560             }
13561 	    g[whichgraph].t[naxis]->tl_angle = 90;
13562 	}
13563 #line 13564 "y.tab.c" /* yacc.c:1646  */
13564     break;
13565 
13566   case 827:
13567 #line 5122 "pars.yacc" /* yacc.c:1646  */
13568     { }
13569 #line 13570 "y.tab.c" /* yacc.c:1646  */
13570     break;
13571 
13572   case 828:
13573 #line 5123 "pars.yacc" /* yacc.c:1646  */
13574     { }
13575 #line 13576 "y.tab.c" /* yacc.c:1646  */
13576     break;
13577 
13578   case 829:
13579 #line 5124 "pars.yacc" /* yacc.c:1646  */
13580     {
13581 	    if (!is_valid_axis(whichgraph, naxis)) {
13582                 yyerror("No valid axis selected");
13583                 return 1;
13584             }
13585 	    g[whichgraph].t[naxis]->tl_op = (yyvsp[0].ival);
13586 	}
13587 #line 13588 "y.tab.c" /* yacc.c:1646  */
13588     break;
13589 
13590   case 830:
13591 #line 5131 "pars.yacc" /* yacc.c:1646  */
13592     {
13593 	    if (!is_valid_axis(whichgraph, naxis)) {
13594                 yyerror("No valid axis selected");
13595                 return 1;
13596             }
13597 	    switch((yyvsp[0].ival)) {
13598             case SIGN_NEGATE:
13599                 g[whichgraph].t[naxis]->tl_formula =
13600                     copy_string(g[whichgraph].t[naxis]->tl_formula, "-$t");
13601                 break;
13602             case SIGN_ABSOLUTE:
13603                 g[whichgraph].t[naxis]->tl_formula =
13604                     copy_string(g[whichgraph].t[naxis]->tl_formula, "abs($t)");
13605                 break;
13606             default:
13607                 g[whichgraph].t[naxis]->tl_formula =
13608                     copy_string(g[whichgraph].t[naxis]->tl_formula, NULL);
13609                 break;
13610             }
13611 	}
13612 #line 13613 "y.tab.c" /* yacc.c:1646  */
13613     break;
13614 
13615   case 834:
13616 #line 5159 "pars.yacc" /* yacc.c:1646  */
13617     {
13618             (yyval.ival) = (yyvsp[0].ival);
13619         }
13620 #line 13621 "y.tab.c" /* yacc.c:1646  */
13621     break;
13622 
13623   case 835:
13624 #line 5164 "pars.yacc" /* yacc.c:1646  */
13625     { (yyval.ival) = PLACEMENT_OPPOSITE; }
13626 #line 13627 "y.tab.c" /* yacc.c:1646  */
13627     break;
13628 
13629   case 836:
13630 #line 5165 "pars.yacc" /* yacc.c:1646  */
13631     { (yyval.ival) = PLACEMENT_NORMAL; }
13632 #line 13633 "y.tab.c" /* yacc.c:1646  */
13633     break;
13634 
13635   case 837:
13636 #line 5166 "pars.yacc" /* yacc.c:1646  */
13637     { (yyval.ival) = PLACEMENT_NORMAL; }
13638 #line 13639 "y.tab.c" /* yacc.c:1646  */
13639     break;
13640 
13641   case 838:
13642 #line 5167 "pars.yacc" /* yacc.c:1646  */
13643     { (yyval.ival) = PLACEMENT_OPPOSITE; }
13644 #line 13645 "y.tab.c" /* yacc.c:1646  */
13645     break;
13646 
13647   case 839:
13648 #line 5168 "pars.yacc" /* yacc.c:1646  */
13649     { (yyval.ival) = PLACEMENT_BOTH; }
13650 #line 13651 "y.tab.c" /* yacc.c:1646  */
13651     break;
13652 
13653 
13654 #line 13655 "y.tab.c" /* yacc.c:1646  */
13655       default: break;
13656     }
13657   /* User semantic actions sometimes alter yychar, and that requires
13658      that yytoken be updated with the new translation.  We take the
13659      approach of translating immediately before every use of yytoken.
13660      One alternative is translating here after every semantic action,
13661      but that translation would be missed if the semantic action invokes
13662      YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
13663      if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
13664      incorrect destructor might then be invoked immediately.  In the
13665      case of YYERROR or YYBACKUP, subsequent parser actions might lead
13666      to an incorrect destructor call or verbose syntax error message
13667      before the lookahead is translated.  */
13668   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
13669 
13670   YYPOPSTACK (yylen);
13671   yylen = 0;
13672   YY_STACK_PRINT (yyss, yyssp);
13673 
13674   *++yyvsp = yyval;
13675 
13676   /* Now 'shift' the result of the reduction.  Determine what state
13677      that goes to, based on the state we popped back to and the rule
13678      number reduced by.  */
13679 
13680   yyn = yyr1[yyn];
13681 
13682   yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
13683   if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
13684     yystate = yytable[yystate];
13685   else
13686     yystate = yydefgoto[yyn - YYNTOKENS];
13687 
13688   goto yynewstate;
13689 
13690 
13691 /*--------------------------------------.
13692 | yyerrlab -- here on detecting error.  |
13693 `--------------------------------------*/
13694 yyerrlab:
13695   /* Make sure we have latest lookahead translation.  See comments at
13696      user semantic actions for why this is necessary.  */
13697   yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
13698 
13699   /* If not already recovering from an error, report this error.  */
13700   if (!yyerrstatus)
13701     {
13702       ++yynerrs;
13703 #if ! YYERROR_VERBOSE
13704       yyerror (YY_("syntax error"));
13705 #else
13706 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
13707                                         yyssp, yytoken)
13708       {
13709         char const *yymsgp = YY_("syntax error");
13710         int yysyntax_error_status;
13711         yysyntax_error_status = YYSYNTAX_ERROR;
13712         if (yysyntax_error_status == 0)
13713           yymsgp = yymsg;
13714         else if (yysyntax_error_status == 1)
13715           {
13716             if (yymsg != yymsgbuf)
13717               YYSTACK_FREE (yymsg);
13718             yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
13719             if (!yymsg)
13720               {
13721                 yymsg = yymsgbuf;
13722                 yymsg_alloc = sizeof yymsgbuf;
13723                 yysyntax_error_status = 2;
13724               }
13725             else
13726               {
13727                 yysyntax_error_status = YYSYNTAX_ERROR;
13728                 yymsgp = yymsg;
13729               }
13730           }
13731         yyerror (yymsgp);
13732         if (yysyntax_error_status == 2)
13733           goto yyexhaustedlab;
13734       }
13735 # undef YYSYNTAX_ERROR
13736 #endif
13737     }
13738 
13739 
13740 
13741   if (yyerrstatus == 3)
13742     {
13743       /* If just tried and failed to reuse lookahead token after an
13744          error, discard it.  */
13745 
13746       if (yychar <= YYEOF)
13747         {
13748           /* Return failure if at end of input.  */
13749           if (yychar == YYEOF)
13750             YYABORT;
13751         }
13752       else
13753         {
13754           yydestruct ("Error: discarding",
13755                       yytoken, &yylval);
13756           yychar = YYEMPTY;
13757         }
13758     }
13759 
13760   /* Else will try to reuse lookahead token after shifting the error
13761      token.  */
13762   goto yyerrlab1;
13763 
13764 
13765 /*---------------------------------------------------.
13766 | yyerrorlab -- error raised explicitly by YYERROR.  |
13767 `---------------------------------------------------*/
13768 yyerrorlab:
13769 
13770   /* Pacify compilers like GCC when the user code never invokes
13771      YYERROR and the label yyerrorlab therefore never appears in user
13772      code.  */
13773   if (/*CONSTCOND*/ 0)
13774      goto yyerrorlab;
13775 
13776   /* Do not reclaim the symbols of the rule whose action triggered
13777      this YYERROR.  */
13778   YYPOPSTACK (yylen);
13779   yylen = 0;
13780   YY_STACK_PRINT (yyss, yyssp);
13781   yystate = *yyssp;
13782   goto yyerrlab1;
13783 
13784 
13785 /*-------------------------------------------------------------.
13786 | yyerrlab1 -- common code for both syntax error and YYERROR.  |
13787 `-------------------------------------------------------------*/
13788 yyerrlab1:
13789   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
13790 
13791   for (;;)
13792     {
13793       yyn = yypact[yystate];
13794       if (!yypact_value_is_default (yyn))
13795         {
13796           yyn += YYTERROR;
13797           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
13798             {
13799               yyn = yytable[yyn];
13800               if (0 < yyn)
13801                 break;
13802             }
13803         }
13804 
13805       /* Pop the current state because it cannot handle the error token.  */
13806       if (yyssp == yyss)
13807         YYABORT;
13808 
13809 
13810       yydestruct ("Error: popping",
13811                   yystos[yystate], yyvsp);
13812       YYPOPSTACK (1);
13813       yystate = *yyssp;
13814       YY_STACK_PRINT (yyss, yyssp);
13815     }
13816 
13817   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
13818   *++yyvsp = yylval;
13819   YY_IGNORE_MAYBE_UNINITIALIZED_END
13820 
13821 
13822   /* Shift the error token.  */
13823   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
13824 
13825   yystate = yyn;
13826   goto yynewstate;
13827 
13828 
13829 /*-------------------------------------.
13830 | yyacceptlab -- YYACCEPT comes here.  |
13831 `-------------------------------------*/
13832 yyacceptlab:
13833   yyresult = 0;
13834   goto yyreturn;
13835 
13836 /*-----------------------------------.
13837 | yyabortlab -- YYABORT comes here.  |
13838 `-----------------------------------*/
13839 yyabortlab:
13840   yyresult = 1;
13841   goto yyreturn;
13842 
13843 #if !defined yyoverflow || YYERROR_VERBOSE
13844 /*-------------------------------------------------.
13845 | yyexhaustedlab -- memory exhaustion comes here.  |
13846 `-------------------------------------------------*/
13847 yyexhaustedlab:
13848   yyerror (YY_("memory exhausted"));
13849   yyresult = 2;
13850   /* Fall through.  */
13851 #endif
13852 
13853 yyreturn:
13854   if (yychar != YYEMPTY)
13855     {
13856       /* Make sure we have latest lookahead translation.  See comments at
13857          user semantic actions for why this is necessary.  */
13858       yytoken = YYTRANSLATE (yychar);
13859       yydestruct ("Cleanup: discarding lookahead",
13860                   yytoken, &yylval);
13861     }
13862   /* Do not reclaim the symbols of the rule whose action triggered
13863      this YYABORT or YYACCEPT.  */
13864   YYPOPSTACK (yylen);
13865   YY_STACK_PRINT (yyss, yyssp);
13866   while (yyssp != yyss)
13867     {
13868       yydestruct ("Cleanup: popping",
13869                   yystos[*yyssp], yyvsp);
13870       YYPOPSTACK (1);
13871     }
13872 #ifndef yyoverflow
13873   if (yyss != yyssa)
13874     YYSTACK_FREE (yyss);
13875 #endif
13876 #if YYERROR_VERBOSE
13877   if (yymsg != yymsgbuf)
13878     YYSTACK_FREE (yymsg);
13879 #endif
13880   return yyresult;
13881 }
13882 #line 5171 "pars.yacc" /* yacc.c:1906  */
13883 
13884 
13885 /* list of intrinsic functions and keywords */
13886 symtab_entry ikey[] = {
13887 	{"A0", FITPARM, NULL},
13888 	{"A0MAX", FITPMAX, NULL},
13889 	{"A0MIN", FITPMIN, NULL},
13890 	{"A1", FITPARM, NULL},
13891 	{"A1MAX", FITPMAX, NULL},
13892 	{"A1MIN", FITPMIN, NULL},
13893 	{"A2", FITPARM, NULL},
13894 	{"A2MAX", FITPMAX, NULL},
13895 	{"A2MIN", FITPMIN, NULL},
13896 	{"A3", FITPARM, NULL},
13897 	{"A3MAX", FITPMAX, NULL},
13898 	{"A3MIN", FITPMIN, NULL},
13899 	{"A4", FITPARM, NULL},
13900 	{"A4MAX", FITPMAX, NULL},
13901 	{"A4MIN", FITPMIN, NULL},
13902 	{"A5", FITPARM, NULL},
13903 	{"A5MAX", FITPMAX, NULL},
13904 	{"A5MIN", FITPMIN, NULL},
13905 	{"A6", FITPARM, NULL},
13906 	{"A6MAX", FITPMAX, NULL},
13907 	{"A6MIN", FITPMIN, NULL},
13908 	{"A7", FITPARM, NULL},
13909 	{"A7MAX", FITPMAX, NULL},
13910 	{"A7MIN", FITPMIN, NULL},
13911 	{"A8", FITPARM, NULL},
13912 	{"A8MAX", FITPMAX, NULL},
13913 	{"A8MIN", FITPMIN, NULL},
13914 	{"A9", FITPARM, NULL},
13915 	{"A9MAX", FITPMAX, NULL},
13916 	{"A9MIN", FITPMIN, NULL},
13917 	{"ABOVE", ABOVE, NULL},
13918 	{"ABS", FUNC_D, (void *) fabs},
13919 	{"ABSOLUTE", ABSOLUTE, NULL},
13920 	{"ACOS", FUNC_D, (void *) acos},
13921 	{"ACOSH", FUNC_D, (void *) acosh},
13922 	{"AI", FUNC_D, (void *) ai_wrap},
13923 	{"ALIAS", ALIAS, NULL},
13924 	{"ALT", ALT, NULL},
13925 	{"ALTXAXIS", ALTXAXIS, NULL},
13926 	{"ALTYAXIS", ALTYAXIS, NULL},
13927 	{"AND", AND, NULL},
13928 	{"ANGLE", ANGLE, NULL},
13929 	{"ANTIALIASING", ANTIALIASING, NULL},
13930 	{"APPEND", APPEND, NULL},
13931 	{"ARRANGE", ARRANGE, NULL},
13932 	{"ARROW", ARROW, NULL},
13933 	{"ASCENDING", ASCENDING, NULL},
13934 	{"ASIN", FUNC_D, (void *) asin},
13935 	{"ASINH", FUNC_D, (void *) asinh},
13936 	{"ASPLINE", ASPLINE, NULL},
13937 	{"ATAN", FUNC_D, (void *) atan},
13938 	{"ATAN2", FUNC_DD, (void *) atan2},
13939 	{"ATANH", FUNC_D, (void *) atanh},
13940 	{"AUTO", AUTO, NULL},
13941 	{"AUTOSCALE", AUTOSCALE, NULL},
13942 	{"AUTOTICKS", AUTOTICKS, NULL},
13943 	{"AVALUE", AVALUE, NULL},
13944 	{"AVG", AVG, NULL},
13945 	{"BACKGROUND", BACKGROUND, NULL},
13946 	{"BAR", BAR, NULL},
13947 	{"BARDY", BARDY, NULL},
13948 	{"BARDYDY", BARDYDY, NULL},
13949 	{"BASELINE", BASELINE, NULL},
13950 	{"BATCH", BATCH, NULL},
13951         {"BEGIN", BEGIN, NULL},
13952 	{"BELOW", BELOW, NULL},
13953 	{"BETA", FUNC_DD, (void *) beta},
13954 	{"BETWEEN", BETWEEN, NULL},
13955 	{"BI", FUNC_D, (void *) bi_wrap},
13956 	{"BLACKMAN", BLACKMAN, NULL},
13957 	{"BLOCK", BLOCK, NULL},
13958 	{"BOTH", BOTH, NULL},
13959 	{"BOTTOM", BOTTOM, NULL},
13960 	{"BOX", BOX, NULL},
13961 	{"CD", CD, NULL},
13962 	{"CEIL", FUNC_D, (void *) ceil},
13963 	{"CENTER", CENTER, NULL},
13964 	{"CHAR", CHAR, NULL},
13965 	{"CHART", CHART, NULL},
13966 	{"CHDTR", FUNC_DD, (void *) chdtr},
13967 	{"CHDTRC", FUNC_DD, (void *) chdtrc},
13968 	{"CHDTRI", FUNC_DD, (void *) chdtri},
13969 	{"CHI", FUNC_D, (void *) chi_wrap},
13970 	{"CI", FUNC_D, (void *) ci_wrap},
13971 	{"CLEAR", CLEAR, NULL},
13972 	{"CLICK", CLICK, NULL},
13973 	{"CLIP", CLIP, NULL},
13974 	{"CLOSE", CLOSE, NULL},
13975 	{"COEFFICIENTS", COEFFICIENTS, NULL},
13976 	{"COLOR", COLOR, NULL},
13977 	{"COMMENT", COMMENT, NULL},
13978 	{"COMPLEX", COMPLEX, NULL},
13979 	{"COMPUTING", COMPUTING, NULL},
13980 	{"CONST", KEY_CONST, NULL},
13981 	{"CONSTRAINTS", CONSTRAINTS, NULL},
13982 	{"COPY", COPY, NULL},
13983 	{"COS", FUNC_D, (void *) cos},
13984 	{"COSH", FUNC_D, (void *) cosh},
13985 	{"CYCLE", CYCLE, NULL},
13986 	{"DATE", DATE, NULL},
13987 	{"DAWSN", FUNC_D, (void *) dawsn},
13988 	{"DAYMONTH", DAYMONTH, NULL},
13989 	{"DAYOFWEEKL", DAYOFWEEKL, NULL},
13990 	{"DAYOFWEEKS", DAYOFWEEKS, NULL},
13991 	{"DAYOFYEAR", DAYOFYEAR, NULL},
13992 	{"DDMMYY", DDMMYY, NULL},
13993 	{"DECIMAL", DECIMAL, NULL},
13994 	{"DEF", DEF, NULL},
13995 	{"DEFAULT", DEFAULT, NULL},
13996 	{"DEFINE", DEFINE, NULL},
13997 	{"DEG", UCONSTANT, (void *) deg_uconst},
13998 	{"DEGREESLAT", DEGREESLAT, NULL},
13999 	{"DEGREESLON", DEGREESLON, NULL},
14000 	{"DEGREESMMLAT", DEGREESMMLAT, NULL},
14001 	{"DEGREESMMLON", DEGREESMMLON, NULL},
14002 	{"DEGREESMMSSLAT", DEGREESMMSSLAT, NULL},
14003 	{"DEGREESMMSSLON", DEGREESMMSSLON, NULL},
14004 	{"DESCENDING", DESCENDING, NULL},
14005 	{"DESCRIPTION", DESCRIPTION, NULL},
14006 	{"DEVICE", DEVICE, NULL},
14007 	{"DFT", DFT, NULL},
14008 	{"DIFF", DIFFERENCE, NULL},
14009 	{"DIFFERENCE", DIFFERENCE, NULL},
14010 	{"DISK", DISK, NULL},
14011 	{"DOWN", DOWN, NULL},
14012 	{"DPI", DPI, NULL},
14013 	{"DROP", DROP, NULL},
14014 	{"DROPLINE", DROPLINE, NULL},
14015 	{"ECHO", ECHO, NULL},
14016 	{"ELLIE", FUNC_DD, (void *) ellie},
14017 	{"ELLIK", FUNC_DD, (void *) ellik},
14018 	{"ELLIPSE", ELLIPSE, NULL},
14019 	{"ELLPE", FUNC_D, (void *) ellpe_wrap},
14020 	{"ELLPK", FUNC_D, (void *) ellpk_wrap},
14021 	{"ENGINEERING", ENGINEERING, NULL},
14022 	{"EQ", EQ, NULL},
14023 	{"ER", ERRORBAR, NULL},
14024 	{"ERF", FUNC_D, (void *) erf},
14025 	{"ERFC", FUNC_D, (void *) erfc},
14026 	{"ERRORBAR", ERRORBAR, NULL},
14027 	{"EXIT", EXIT, NULL},
14028 	{"EXP", FUNC_D, (void *) exp},
14029 	{"EXPN", FUNC_ND, (void *) expn},
14030 	{"EXPONENTIAL", EXPONENTIAL, NULL},
14031 	{"FAC", FUNC_I, (void *) fac},
14032 	{"FALSE", OFF, NULL},
14033 	{"FDTR", FUNC_NND, (void *) fdtr},
14034 	{"FDTRC", FUNC_NND, (void *) fdtrc},
14035 	{"FDTRI", FUNC_NND, (void *) fdtri},
14036 	{"FFT", FFT, NULL},
14037 	{"FILE", FILEP, NULL},
14038 	{"FILL", FILL, NULL},
14039 	{"FIT", FIT, NULL},
14040 	{"FIXED", FIXED, NULL},
14041 	{"FIXEDPOINT", FIXEDPOINT, NULL},
14042 	{"FLOOR", FUNC_D, (void *) floor},
14043 	{"FLUSH", FLUSH, NULL},
14044 	{"FOCUS", FOCUS, NULL},
14045 	{"FOLLOWS", FOLLOWS, NULL},
14046 	{"FONT", FONTP, NULL},
14047 	{"FORCE", FORCE, NULL},
14048 	{"FORMAT", FORMAT, NULL},
14049 	{"FORMULA", FORMULA, NULL},
14050 	{"FRAME", FRAMEP, NULL},
14051 	{"FREE", FREE, NULL},
14052 	{"FREQUENCY", FREQUENCY, NULL},
14053 	{"FRESNLC", FUNC_D, (void *) fresnlc_wrap},
14054 	{"FRESNLS", FUNC_D, (void *) fresnls_wrap},
14055 	{"FROM", FROM, NULL},
14056 	{"F_OF_D", KEY_FUNC_D, NULL},
14057 	{"F_OF_DD", KEY_FUNC_DD, NULL},
14058         {"F_OF_I", KEY_FUNC_I, NULL},
14059 	{"F_OF_ND", KEY_FUNC_ND, NULL},
14060 	{"F_OF_NN", KEY_FUNC_NN, NULL},
14061 	{"F_OF_NND", KEY_FUNC_NND, NULL},
14062 	{"F_OF_PPD", KEY_FUNC_PPD, NULL},
14063 	{"F_OF_PPPD", KEY_FUNC_PPPD, NULL},
14064 	{"F_OF_PPPPD", KEY_FUNC_PPPPD, NULL},
14065 	{"F_OF_PPPPPD", KEY_FUNC_PPPPPD, NULL},
14066 	{"GAMMA", FUNC_D, (void *) true_gamma},
14067 	{"GDTR", FUNC_PPD, (void *) gdtr},
14068 	{"GDTRC", FUNC_PPD, (void *) gdtrc},
14069 	{"GE", GE, NULL},
14070 	{"GENERAL", GENERAL, NULL},
14071 	{"GETP", GETP, NULL},
14072 	{"GRAPH", GRAPH, NULL},
14073 	{"GRID", GRID, NULL},
14074 	{"GT", GT, NULL},
14075 	{"HAMMING", HAMMING, NULL},
14076 	{"HANNING", HANNING, NULL},
14077 	{"HARDCOPY", HARDCOPY, NULL},
14078 	{"HBAR", HBAR, NULL},
14079 	{"HELP", HELP, NULL},
14080 	{"HGAP", HGAP, NULL},
14081 	{"HIDDEN", HIDDEN, NULL},
14082 	{"HISTOGRAM", HISTOGRAM, NULL},
14083 	{"HMS", HMS, NULL},
14084 	{"HORIZI", HORIZI, NULL},
14085 	{"HORIZO", HORIZO, NULL},
14086 	{"HORIZONTAL", HORIZONTAL, NULL},
14087 	{"HYP2F1", FUNC_PPPD, (void *) hyp2f1},
14088 	{"HYPERG", FUNC_PPD, (void *) hyperg},
14089 	{"HYPOT", FUNC_DD, (void *) hypot},
14090 	{"I0E", FUNC_D, (void *) i0e},
14091 	{"I1E", FUNC_D, (void *) i1e},
14092 	{"ID", ID, NULL},
14093 	{"IFILTER", IFILTER, NULL},
14094 	{"IGAM", FUNC_DD, (void *) igam},
14095 	{"IGAMC", FUNC_DD, (void *) igamc},
14096 	{"IGAMI", FUNC_DD, (void *) igami},
14097 	{"IMAX", IMAX, NULL},
14098 	{"IMIN", IMIN, NULL},
14099 	{"IN", IN, NULL},
14100 	{"INCBET", FUNC_PPD, (void *) incbet},
14101 	{"INCBI", FUNC_PPD, (void *) incbi},
14102 	{"INCREMENT", INCREMENT, NULL},
14103 	{"INDEX", INDEX, NULL},
14104 	{"INOUT", INOUT, NULL},
14105 	{"INT", INT, NULL},
14106 	{"INTEGRATE", INTEGRATE, NULL},
14107 	{"INTERPOLATE", INTERPOLATE, NULL},
14108 	{"INVDFT", INVDFT, NULL},
14109 	{"INVERT", INVERT, NULL},
14110 	{"INVFFT", INVFFT, NULL},
14111 	{"IRAND", FUNC_I, (void *) irand_wrap},
14112 	{"IV", FUNC_DD, (void *) iv_wrap},
14113 	{"JUST", JUST, NULL},
14114 	{"JV", FUNC_DD, (void *) jv_wrap},
14115 	{"K0E", FUNC_D, (void *) k0e},
14116 	{"K1E", FUNC_D, (void *) k1e},
14117 	{"KILL", KILL, NULL},
14118 	{"KN", FUNC_ND, (void *) kn_wrap},
14119 	{"LABEL", LABEL, NULL},
14120 	{"LANDSCAPE", LANDSCAPE, NULL},
14121 	{"LAYOUT", LAYOUT, NULL},
14122 	{"LBETA", FUNC_DD, (void *) lbeta},
14123 	{"LE", LE, NULL},
14124 	{"LEFT", LEFT, NULL},
14125 	{"LEGEND", LEGEND, NULL},
14126 	{"LENGTH", LENGTH, NULL},
14127 	{"LGAMMA", FUNC_D, (void *) lgamma},
14128 	{"LINCONV", LINCONV, NULL},
14129 	{"LINE", LINE, NULL},
14130 	{"LINEAR", LINEAR, NULL},
14131 	{"LINESTYLE", LINESTYLE, NULL},
14132 	{"LINEWIDTH", LINEWIDTH, NULL},
14133 	{"LINK", LINK, NULL},
14134 	{"LN", FUNC_D, (void *) log},
14135 	{"LOAD", LOAD, NULL},
14136 	{"LOCTYPE", LOCTYPE, NULL},
14137 	{"LOG", LOG, NULL},
14138 	{"LOG10", FUNC_D, (void *) log10},
14139 	{"LOG2", FUNC_D, (void *) log2},
14140 	{"LOGARITHMIC", LOGARITHMIC, NULL},
14141 	{"LOGX", LOGX, NULL},
14142 	{"LOGXY", LOGXY, NULL},
14143 	{"LOGY", LOGY, NULL},
14144 	{"LOGIT", LOGIT, NULL},
14145 	{"LT", LT, NULL},
14146 	{"MAGIC", MAGIC, NULL},
14147 	{"MAGNITUDE", MAGNITUDE, NULL},
14148 	{"MAJOR", MAJOR, NULL},
14149 	{"MAP", MAP, NULL},
14150 	{"MAX", MAXP, NULL},
14151 	{"MAXOF", FUNC_DD, (void *) max_wrap},
14152 	{"MESH", MESH, NULL},
14153 	{"MIN", MINP, NULL},
14154 	{"MINOF", FUNC_DD, (void *) min_wrap},
14155 	{"MINOR", MINOR, NULL},
14156 	{"MMDD", MMDD, NULL},
14157 	{"MMDDHMS", MMDDHMS, NULL},
14158 	{"MMDDYY", MMDDYY, NULL},
14159 	{"MMDDYYHMS", MMDDYYHMS, NULL},
14160 	{"MMSSLAT", MMSSLAT, NULL},
14161 	{"MMSSLON", MMSSLON, NULL},
14162 	{"MMYY", MMYY, NULL},
14163 	{"MOD", FUNC_DD, (void *) fmod},
14164 	{"MONTHDAY", MONTHDAY, NULL},
14165 	{"MONTHL", MONTHL, NULL},
14166 	{"MONTHS", MONTHS, NULL},
14167 	{"MONTHSY", MONTHSY, NULL},
14168 	{"MOVE", MOVE, NULL},
14169 	{"NDTR", FUNC_D, (void *) ndtr},
14170 	{"NDTRI", FUNC_D, (void *) ndtri},
14171 	{"NE", NE, NULL},
14172 	{"NEGATE", NEGATE, NULL},
14173 	{"NEW", NEW, NULL},
14174 	{"NONE", NONE, NULL},
14175 	{"NONLFIT", NONLFIT, NULL},
14176 	{"NORM", FUNC_D, (void *) fx},
14177 	{"NORMAL", NORMAL, NULL},
14178 	{"NOT", NOT, NULL},
14179 	{"NXY", NXY, NULL},
14180 	{"OFF", OFF, NULL},
14181 	{"OFFSET", OFFSET, NULL},
14182 	{"OFFSETX", OFFSETX, NULL},
14183 	{"OFFSETY", OFFSETY, NULL},
14184 	{"OFILTER", OFILTER, NULL},
14185 	{"ON", ON, NULL},
14186 	{"ONREAD", ONREAD, NULL},
14187 	{"OP", OP, NULL},
14188 	{"OPPOSITE", OPPOSITE, NULL},
14189 	{"OR", OR, NULL},
14190 	{"OUT", OUT, NULL},
14191 	{"PAGE", PAGE, NULL},
14192 	{"PARA", PARA, NULL},
14193 	{"PARAMETERS", PARAMETERS, NULL},
14194 	{"PARZEN", PARZEN, NULL},
14195 	{"PATTERN", PATTERN, NULL},
14196 	{"PDTR", FUNC_ND, (void *) pdtr},
14197 	{"PDTRC", FUNC_ND, (void *) pdtrc},
14198 	{"PDTRI", FUNC_ND, (void *) pdtri},
14199 	{"PERIOD", PERIOD, NULL},
14200 	{"PERP", PERP, NULL},
14201 	{"PHASE", PHASE, NULL},
14202 	{"PI", CONSTANT, (void *) pi_const},
14203 	{"PIE", PIE, NULL},
14204 	{"PIPE", PIPE, NULL},
14205 	{"PLACE", PLACE, NULL},
14206 	{"POINT", POINT, NULL},
14207 	{"POLAR", POLAR, NULL},
14208 	{"POLYI", POLYI, NULL},
14209 	{"POLYO", POLYO, NULL},
14210 	{"POP", POP, NULL},
14211 	{"PORTRAIT", PORTRAIT, NULL},
14212 	{"POWER", POWER, NULL},
14213 	{"PREC", PREC, NULL},
14214 	{"PREPEND", PREPEND, NULL},
14215 	{"PRINT", PRINT, NULL},
14216 	{"PS", PS, NULL},
14217 	{"PSI", FUNC_D, (void *) psi},
14218 	{"PUSH", PUSH, NULL},
14219 	{"PUTP", PUTP, NULL},
14220 	{"RAD", UCONSTANT, (void *) rad_uconst},
14221 	{"RAND", RAND, NULL},
14222 	{"READ", READ, NULL},
14223 	{"REAL", REAL, NULL},
14224 	{"RECIPROCAL", RECIPROCAL, NULL},
14225 	{"REDRAW", REDRAW, NULL},
14226 	{"REFERENCE", REFERENCE, NULL},
14227 	{"REGRESS", REGRESS, NULL},
14228 	{"RESIZE", RESIZE, NULL},
14229 	{"RESTRICT", RESTRICT, NULL},
14230 	{"REVERSE", REVERSE, NULL},
14231 	{"RGAMMA", FUNC_D, (void *) rgamma},
14232 	{"RIGHT", RIGHT, NULL},
14233 	{"RINT", FUNC_D, (void *) rint},
14234 	{"RISER", RISER, NULL},
14235 	{"RNORM", FUNC_DD, (void *) rnorm},
14236 	{"ROT", ROT, NULL},
14237 	{"ROUNDED", ROUNDED, NULL},
14238 	{"RSUM", RSUM, NULL},
14239 	{"RULE", RULE, NULL},
14240 	{"RUNAVG", RUNAVG, NULL},
14241 	{"RUNMAX", RUNMAX, NULL},
14242 	{"RUNMED", RUNMED, NULL},
14243 	{"RUNMIN", RUNMIN, NULL},
14244 	{"RUNSTD", RUNSTD, NULL},
14245 	{"SAVEALL", SAVEALL, NULL},
14246 	{"SCALE", SCALE, NULL},
14247 	{"SCIENTIFIC", SCIENTIFIC, NULL},
14248 	{"SCROLL", SCROLL, NULL},
14249 	{"SD", SD, NULL},
14250 	{"SET", SET, NULL},
14251 	{"SFORMAT", SFORMAT, NULL},
14252 	{"SGN", FUNC_D, (void *) sign_wrap},
14253 	{"SHI", FUNC_D, (void *) shi_wrap},
14254 	{"SI", FUNC_D, (void *) si_wrap},
14255 	{"SIGN", SIGN, NULL},
14256 	{"SIN", FUNC_D, (void *) sin},
14257 	{"SINH", FUNC_D, (void *) sinh},
14258 	{"SIZE", SIZE, NULL},
14259 	{"SKIP", SKIP, NULL},
14260 	{"SLEEP", SLEEP, NULL},
14261 	{"SMITH", SMITH, NULL},
14262 	{"SORT", SORT, NULL},
14263 	{"SOURCE", SOURCE, NULL},
14264 	{"SPEC", SPEC, NULL},
14265 	{"SPENCE", FUNC_D, (void *) spence},
14266 	{"SPLINE", SPLINE, NULL},
14267 	{"SPLIT", SPLIT, NULL},
14268 	{"SQR", FUNC_D, (void *) sqr_wrap},
14269 	{"SQRT", FUNC_D, (void *) sqrt},
14270 	{"STACK", STACK, NULL},
14271 	{"STACKED", STACKED, NULL},
14272 	{"STACKEDBAR", STACKEDBAR, NULL},
14273 	{"STACKEDHBAR", STACKEDHBAR, NULL},
14274 	{"STAGGER", STAGGER, NULL},
14275 	{"START", START, NULL},
14276 	{"STDTR", FUNC_ND, (void *) stdtr},
14277 	{"STDTRI", FUNC_ND, (void *) stdtri},
14278 	{"STOP", STOP, NULL},
14279 	{"STRING", STRING, NULL},
14280 	{"STRUVE", FUNC_DD, (void *) struve},
14281 	{"SUBTITLE", SUBTITLE, NULL},
14282 	{"SUM", SUM, NULL},
14283 	{"SWAP", SWAP, NULL},
14284 	{"SYMBOL", SYMBOL, NULL},
14285 	{"TAN", FUNC_D, (void *) tan},
14286 	{"TANH", FUNC_D, (void *) tanh},
14287 	{"TARGET", TARGET, NULL},
14288 	{"TICK", TICKP, NULL},
14289 	{"TICKLABEL", TICKLABEL, NULL},
14290 	{"TICKS", TICKSP, NULL},
14291 	{"TIMER", TIMER, NULL},
14292 	{"TIMESTAMP", TIMESTAMP, NULL},
14293 	{"TITLE", TITLE, NULL},
14294 	{"TO", TO, NULL},
14295 	{"TOP", TOP, NULL},
14296 	{"TRIANGULAR", TRIANGULAR, NULL},
14297 	{"TRUE", ON, NULL},
14298 	{"TYPE", TYPE, NULL},
14299 	{"UNIT", KEY_UNIT, NULL},
14300 	{"UP", UP, NULL},
14301 	{"UPDATEALL", UPDATEALL, NULL},
14302 	{"USE", USE, NULL},
14303 	{"VERSION", VERSION, NULL},
14304 	{"VERTI", VERTI, NULL},
14305 	{"VERTICAL", VERTICAL, NULL},
14306 	{"VERTO", VERTO, NULL},
14307 	{"VGAP", VGAP, NULL},
14308 	{"VIEW", VIEW, NULL},
14309 	{"VOIGT", FUNC_PPD, (void *) voigt},
14310 	{"VX1", VX1, NULL},
14311 	{"VX2", VX2, NULL},
14312 	{"VXMAX", VXMAX, NULL},
14313 	{"VY1", VY1, NULL},
14314 	{"VY2", VY2, NULL},
14315 	{"VYMAX", VYMAX, NULL},
14316 	{"WELCH", WELCH, NULL},
14317 	{"WITH", WITH, NULL},
14318 	{"WORLD", WORLD, NULL},
14319 	{"WRAP", WRAP, NULL},
14320 	{"WRITE", WRITE, NULL},
14321 	{"WX1", WX1, NULL},
14322 	{"WX2", WX2, NULL},
14323 	{"WY1", WY1, NULL},
14324 	{"WY2", WY2, NULL},
14325 	{"X", X_TOK, NULL},
14326 	{"X0", X0, NULL},
14327 	{"X1", X1, NULL},
14328 	{"XAXES", XAXES, NULL},
14329 	{"XAXIS", XAXIS, NULL},
14330 	{"XCOR", XCOR, NULL},
14331 	{"XMAX", XMAX, NULL},
14332 	{"XMIN", XMIN, NULL},
14333 	{"XY", XY, NULL},
14334 	{"XYAXES", XYAXES, NULL},
14335 	{"XYBOXPLOT", XYBOXPLOT, NULL},
14336 	{"XYCOLOR", XYCOLOR, NULL},
14337 	{"XYCOLPAT", XYCOLPAT, NULL},
14338 	{"XYDX", XYDX, NULL},
14339 	{"XYDXDX", XYDXDX, NULL},
14340 	{"XYDXDXDYDY", XYDXDXDYDY, NULL},
14341 	{"XYDXDY", XYDXDY, NULL},
14342 	{"XYDY", XYDY, NULL},
14343 	{"XYDYDY", XYDYDY, NULL},
14344 	{"XYHILO", XYHILO, NULL},
14345 	{"XYR", XYR, NULL},
14346 	{"XYSIZE", XYSIZE, NULL},
14347 	{"XYSTRING", XYSTRING, NULL},
14348 	{"XYVMAP", XYVMAP, NULL},
14349 	{"XYZ", XYZ, NULL},
14350 	{"Y", Y_TOK, NULL},
14351 	{"Y0", Y0, NULL},
14352 	{"Y1", Y1, NULL},
14353 	{"Y2", Y2, NULL},
14354 	{"Y3", Y3, NULL},
14355 	{"Y4", Y4, NULL},
14356 	{"YAXES", YAXES, NULL},
14357 	{"YAXIS", YAXIS, NULL},
14358 	{"YEAR", YEAR, NULL},
14359 	{"YMAX", YMAX, NULL},
14360 	{"YMIN", YMIN, NULL},
14361 	{"YV", FUNC_DD, (void *) yv_wrap},
14362 	{"YYMMDD", YYMMDD, NULL},
14363 	{"YYMMDDHMS", YYMMDDHMS, NULL},
14364 	{"ZERO", ZERO, NULL},
14365 	{"ZEROXAXIS", ALTXAXIS, NULL},
14366 	{"ZEROYAXIS", ALTYAXIS, NULL},
14367 	{"ZETA", FUNC_DD, (void *) zeta},
14368 	{"ZETAC", FUNC_D, (void *) zetac},
14369 	{"ZNORM", ZNORM, NULL}
14370 };
14371 
14372 static int maxfunc = sizeof(ikey) / sizeof(symtab_entry);
14373 
get_parser_gno(void)14374 int get_parser_gno(void)
14375 {
14376     return whichgraph;
14377 }
14378 
set_parser_gno(int gno)14379 int set_parser_gno(int gno)
14380 {
14381     if (is_valid_gno(gno) == TRUE) {
14382         whichgraph = gno;
14383         return RETURN_SUCCESS;
14384     } else {
14385         return RETURN_FAILURE;
14386     }
14387 }
14388 
get_parser_setno(void)14389 int get_parser_setno(void)
14390 {
14391     return whichset;
14392 }
14393 
set_parser_setno(int gno,int setno)14394 int set_parser_setno(int gno, int setno)
14395 {
14396     if (is_valid_setno(gno, setno) == TRUE) {
14397         whichgraph = gno;
14398         whichset = setno;
14399         /* those will usually be overridden except when evaluating
14400            a _standalone_ vexpr */
14401         vasgn_gno = gno;
14402         vasgn_setno = setno;
14403         return RETURN_SUCCESS;
14404     } else {
14405         return RETURN_FAILURE;
14406     }
14407 }
14408 
realloc_vrbl(grarr * vrbl,int len)14409 void realloc_vrbl(grarr *vrbl, int len)
14410 {
14411     double *a;
14412     int i, oldlen;
14413 
14414     if (vrbl->type != GRARR_VEC) {
14415         errmsg("Internal error");
14416         return;
14417     }
14418     oldlen = vrbl->length;
14419     if (oldlen == len) {
14420         return;
14421     } else {
14422         a = xrealloc(vrbl->data, len*SIZEOF_DOUBLE);
14423         if (a != NULL || len == 0) {
14424             vrbl->data = a;
14425             vrbl->length = len;
14426             for (i = oldlen; i < len; i++) {
14427                 vrbl->data[i] = 0.0;
14428             }
14429         } else {
14430             errmsg("Malloc failed in realloc_vrbl()");
14431         }
14432     }
14433 }
14434 
14435 
14436 #define PARSER_TYPE_VOID    0
14437 #define PARSER_TYPE_EXPR    1
14438 #define PARSER_TYPE_VEXPR   2
14439 
parser(char * s,int type)14440 static int parser(char *s, int type)
14441 {
14442     char *seekpos;
14443     int i;
14444 
14445     if (s == NULL || s[0] == '\0') {
14446         if (type == PARSER_TYPE_VOID) {
14447             /* don't consider an empty string as error for generic parser */
14448             return RETURN_SUCCESS;
14449         } else {
14450             return RETURN_FAILURE;
14451         }
14452     }
14453 
14454     strncpy(f_string, s, MAX_PARS_STRING_LENGTH - 2);
14455     f_string[MAX_PARS_STRING_LENGTH - 2] = '\0';
14456     strcat(f_string, " ");
14457 
14458     seekpos = f_string;
14459 
14460     while ((seekpos - f_string < MAX_PARS_STRING_LENGTH - 1) && (*seekpos == ' ' || *seekpos == '\t')) {
14461         seekpos++;
14462     }
14463     if (*seekpos == '\n' || *seekpos == '#') {
14464         if (type == PARSER_TYPE_VOID) {
14465             /* don't consider an empty string as error for generic parser */
14466             return RETURN_SUCCESS;
14467         } else {
14468             return RETURN_FAILURE;
14469         }
14470     }
14471 
14472     lowtoupper(f_string);
14473 
14474     pos = 0;
14475     interr = 0;
14476     expr_parsed  = FALSE;
14477     vexpr_parsed = FALSE;
14478 
14479     yyparse();
14480 
14481     /* free temp. arrays; for a vector expression keep the last one
14482      * (which is none but v_result), given there have been no errors
14483      * and it's what we've been asked for
14484      */
14485     if (vexpr_parsed && !interr && type == PARSER_TYPE_VEXPR) {
14486         for (i = 0; i < fcnt - 1; i++) {
14487             free_tmpvrbl(&(freelist[i]));
14488         }
14489     } else {
14490         for (i = 0; i < fcnt; i++) {
14491             free_tmpvrbl(&(freelist[i]));
14492         }
14493     }
14494     fcnt = 0;
14495 
14496     tgtn = 0;
14497 
14498     if ((type == PARSER_TYPE_VEXPR && !vexpr_parsed) ||
14499         (type == PARSER_TYPE_EXPR  && !expr_parsed)) {
14500         return RETURN_FAILURE;
14501     } else {
14502         return (interr ? RETURN_FAILURE:RETURN_SUCCESS);
14503     }
14504 }
14505 
s_scanner(char * s,double * res)14506 int s_scanner(char *s, double *res)
14507 {
14508     int retval = parser(s, PARSER_TYPE_EXPR);
14509     *res = s_result;
14510     return retval;
14511 }
14512 
v_scanner(char * s,int * reslen,double ** vres)14513 int v_scanner(char *s, int *reslen, double **vres)
14514 {
14515     int retval = parser(s, PARSER_TYPE_VEXPR);
14516     if (retval != RETURN_SUCCESS) {
14517         return RETURN_FAILURE;
14518     } else {
14519         *reslen = v_result->length;
14520         if (v_result->type == GRARR_TMP) {
14521             *vres = v_result->data;
14522             v_result->length = 0;
14523             v_result->data = NULL;
14524         } else {
14525             *vres = copy_data_column(v_result->data, v_result->length);
14526         }
14527         return RETURN_SUCCESS;
14528     }
14529 }
14530 
scanner(char * s)14531 int scanner(char *s)
14532 {
14533     int retval = parser(s, PARSER_TYPE_VOID);
14534     if (retval != RETURN_SUCCESS) {
14535         return RETURN_FAILURE;
14536     }
14537 
14538     if (gotparams) {
14539 	gotparams = FALSE;
14540         getparms(paramfile);
14541     }
14542 
14543     if (gotread) {
14544 	gotread = FALSE;
14545         getdata(whichgraph, readfile, cursource, LOAD_SINGLE);
14546     }
14547 
14548     if (gotnlfit) {
14549 	gotnlfit = FALSE;
14550         do_nonlfit(nlfit_gno, nlfit_setno, nlfit_warray, NULL, nlfit_nsteps);
14551         XCFREE(nlfit_warray);
14552     }
14553     return retval;
14554 }
14555 
free_tmpvrbl(grarr * vrbl)14556 static void free_tmpvrbl(grarr *vrbl)
14557 {
14558     if (vrbl->type == GRARR_TMP) {
14559         vrbl->length = 0;
14560         XCFREE(vrbl->data);
14561     }
14562 }
14563 
copy_vrbl(grarr * dest,grarr * src)14564 static void copy_vrbl(grarr *dest, grarr *src)
14565 {
14566     dest->type = src->type;
14567     dest->data = xmalloc(src->length*SIZEOF_DOUBLE);
14568     if (dest->data == NULL) {
14569         errmsg("Malloc failed in copy_vrbl()");
14570     } else {
14571         memcpy(dest->data, src->data, src->length*SIZEOF_DOUBLE);
14572         dest->length = src->length;
14573     }
14574 }
14575 
get_parser_arr_by_name(char * const name)14576 grarr *get_parser_arr_by_name(char * const name)
14577 {
14578      int position;
14579      char *s;
14580 
14581      s = copy_string(NULL, name);
14582      lowtoupper(s);
14583 
14584      position = findf(key, s);
14585      xfree(s);
14586 
14587      if (position >= 0) {
14588          if (key[position].type == KEY_VEC) {
14589             return (grarr *) key[position].data;
14590          }
14591      }
14592 
14593      return NULL;
14594 }
14595 
define_parser_arr(char * const name)14596 grarr *define_parser_arr(char * const name)
14597 {
14598      if (get_parser_arr_by_name(name) == NULL) {
14599 	symtab_entry tmpkey;
14600         grarr *var;
14601 
14602         var = xmalloc(sizeof(grarr));
14603         var->type = GRARR_VEC;
14604         var->length = 0;
14605         var->data = NULL;
14606 
14607 	tmpkey.s = name;
14608 	tmpkey.type = KEY_VEC;
14609 	tmpkey.data = (void *) var;
14610 	if (addto_symtab(tmpkey) == RETURN_SUCCESS) {
14611 	    return var;
14612 	} else {
14613             return NULL;
14614         }
14615      } else {
14616         return NULL;
14617      }
14618 }
14619 
undefine_parser_var(void * ptr)14620 int undefine_parser_var(void *ptr)
14621 {
14622     int i;
14623 
14624     for (i = 0; i < maxfunc; i++) {
14625 	if (key[i].data == ptr) {
14626             xfree(key[i].s);
14627             maxfunc--;
14628             if (i != maxfunc) {
14629                 memmove(&(key[i]), &(key[i + 1]), (maxfunc - i)*sizeof(symtab_entry));
14630             }
14631             key = xrealloc(key, maxfunc*sizeof(symtab_entry));
14632             return RETURN_SUCCESS;
14633         }
14634     }
14635     return RETURN_FAILURE;
14636 }
14637 
find_set_bydata(double * data,target * tgt)14638 static int find_set_bydata(double *data, target *tgt)
14639 {
14640     int gno, setno, ncol;
14641 
14642     if (data == NULL) {
14643         return RETURN_FAILURE;
14644     } else {
14645         for (gno = 0; gno < number_of_graphs(); gno++) {
14646             for (setno = 0; setno < number_of_sets(gno); setno++) {
14647                 for (ncol = 0; ncol < MAX_SET_COLS; ncol++) {
14648                     if (getcol(gno, setno, ncol) == data) {
14649                         tgt->gno   = gno;
14650                         tgt->setno = setno;
14651                         return RETURN_SUCCESS;
14652                     }
14653                 }
14654             }
14655         }
14656     }
14657     return RETURN_FAILURE;
14658 }
14659 
findf(symtab_entry * keytable,char * s)14660 static int findf(symtab_entry *keytable, char *s)
14661 {
14662 
14663     int low, high, mid;
14664 
14665     low = 0;
14666     high = maxfunc - 1;
14667     while (low <= high) {
14668 	mid = (low + high) / 2;
14669 	if (strcmp(s, keytable[mid].s) < 0) {
14670 	    high = mid - 1;
14671 	} else {
14672 	    if (strcmp(s, keytable[mid].s) > 0) {
14673 		low = mid + 1;
14674 	    } else {
14675 		return (mid);
14676 	    }
14677 	}
14678     }
14679     return (-1);
14680 }
14681 
compare_keys(const void * a,const void * b)14682 static int compare_keys (const void *a, const void *b)
14683 {
14684     return (int) strcmp (((const symtab_entry*)a)->s,
14685                          ((const symtab_entry*)b)->s);
14686 }
14687 
14688 /* add new entry to the symbol table */
addto_symtab(symtab_entry newkey)14689 int addto_symtab(symtab_entry newkey)
14690 {
14691     int position;
14692     char *s;
14693 
14694     s = copy_string(NULL, newkey.s);
14695     lowtoupper(s);
14696     if ((position = findf(key, s)) < 0) {
14697         if ((key = (symtab_entry *) xrealloc(key, (maxfunc + 1)*sizeof(symtab_entry))) != NULL) {
14698 	    key[maxfunc].type = newkey.type;
14699 	    key[maxfunc].data = newkey.data;
14700 	    key[maxfunc].s = s;
14701 	    maxfunc++;
14702 	    qsort(key, maxfunc, sizeof(symtab_entry), compare_keys);
14703 	    return RETURN_SUCCESS;
14704 	} else {
14705 	    xfree(s);
14706 	    return RETURN_FAILURE;
14707 	}
14708     } else if (alias_force == TRUE) { /* already exists but alias_force enabled */
14709         key[position].type = newkey.type;
14710 	key[position].data = newkey.data;
14711 	return RETURN_SUCCESS;
14712     } else {
14713 	xfree(s);
14714         return RETURN_FAILURE;
14715     }
14716 }
14717 
14718 /* initialize symbol table */
init_symtab(void)14719 void init_symtab(void)
14720 {
14721     int i;
14722 
14723     if ((key = (symtab_entry *) xmalloc(maxfunc*sizeof(symtab_entry))) != NULL) {
14724     	memcpy (key, ikey, maxfunc*sizeof(symtab_entry));
14725 	for (i = 0; i < maxfunc; i++) {
14726 	    key[i].s = xmalloc(strlen(ikey[i].s) + 1);
14727 	    strcpy(key[i].s, ikey[i].s);
14728 	}
14729 	qsort(key, maxfunc, sizeof(symtab_entry), compare_keys);
14730 	return;
14731     } else {
14732 	key = ikey;
14733 	return;
14734     }
14735 }
14736 
getcharstr(void)14737 static int getcharstr(void)
14738 {
14739     if (pos >= strlen(f_string))
14740 	 return EOF;
14741     return (f_string[pos++]);
14742 }
14743 
ungetchstr(void)14744 static void ungetchstr(void)
14745 {
14746     if (pos > 0)
14747 	pos--;
14748 }
14749 
yylex(void)14750 static int yylex(void)
14751 {
14752     int c, i;
14753     int found;
14754     char sbuf[MAX_PARS_STRING_LENGTH + 40];
14755 
14756     while ((c = getcharstr()) == ' ' || c == '\t');
14757     if (c == EOF) {
14758 	return (0);
14759     }
14760     if (c == '"') {
14761 	i = 0;
14762 	while ((c = getcharstr()) != '"' && c != EOF) {
14763 	    if (c == '\\') {
14764 		int ctmp;
14765 		ctmp = getcharstr();
14766 		if (ctmp != '"') {
14767 		    ungetchstr();
14768 		}
14769 		else {
14770 		    c = ctmp;
14771 		}
14772 	    }
14773 	    sbuf[i] = c;
14774 	    i++;
14775 	}
14776 	if (c == EOF) {
14777 	    yyerror("Nonterminating string");
14778 	    return 0;
14779 	}
14780 	sbuf[i] = '\0';
14781 	yylval.sval = copy_string(NULL, sbuf);
14782 	return CHRSTR;
14783     }
14784     if (c == '.' || isdigit(c)) {
14785 	double d;
14786 	int i, gotdot = 0;
14787 
14788 	i = 0;
14789 	while (c == '.' || isdigit(c)) {
14790 	    if (c == '.') {
14791 		if (gotdot) {
14792 		    yyerror("Reading number, too many dots");
14793 	    	    return 0;
14794 		} else {
14795 		    gotdot = 1;
14796 		}
14797 	    }
14798 	    sbuf[i++] = c;
14799 	    c = getcharstr();
14800 	}
14801 	if (c == 'E' || c == 'e') {
14802 	    sbuf[i++] = c;
14803 	    c = getcharstr();
14804 	    if (c == '+' || c == '-') {
14805 		sbuf[i++] = c;
14806 		c = getcharstr();
14807 	    }
14808 	    while (isdigit(c)) {
14809 		sbuf[i++] = c;
14810 		c = getcharstr();
14811 	    }
14812 	}
14813 	if (gotdot && i == 1) {
14814 	    ungetchstr();
14815 	    return '.';
14816 	}
14817 	sbuf[i] = '\0';
14818 	ungetchstr();
14819 	sscanf(sbuf, "%lf", &d);
14820 	yylval.dval = d;
14821 	return NUMBER;
14822     }
14823 /* graphs, sets, regions resp. */
14824     if (c == 'G' || c == 'S' || c == 'R') {
14825 	int i = 0, ctmp = c, gn, sn, rn;
14826 	c = getcharstr();
14827 	while (isdigit(c) || c == '$' || c == '_') {
14828 	    sbuf[i++] = c;
14829 	    c = getcharstr();
14830 	}
14831 	if (i == 0) {
14832 	    c = ctmp;
14833 	    ungetchstr();
14834 	} else {
14835 	    ungetchstr();
14836 	    if (ctmp == 'G') {
14837 	        sbuf[i] = '\0';
14838 		if (i == 1 && sbuf[0] == '_') {
14839                     gn = get_recent_gno();
14840                 } else if (i == 1 && sbuf[0] == '$') {
14841                     gn = whichgraph;
14842                 } else {
14843                     gn = atoi(sbuf);
14844                 }
14845 		if (is_valid_gno(gn) || graph_allocate(gn) == RETURN_SUCCESS) {
14846 		    yylval.ival = gn;
14847 		    return GRAPHNO;
14848 		}
14849 	    } else if (ctmp == 'S') {
14850 	        sbuf[i] = '\0';
14851 		if (i == 1 && sbuf[0] == '_') {
14852                     sn = get_recent_setno();
14853                 } else if (i == 1 && sbuf[0] == '$') {
14854                     sn = whichset;
14855                 } else {
14856 		    sn = atoi(sbuf);
14857                 }
14858 		yylval.ival = sn;
14859 		return SETNUM;
14860 	    } else if (ctmp == 'R') {
14861 	        sbuf[i] = '\0';
14862 		rn = atoi(sbuf);
14863 		if (rn >= 0 && rn < MAXREGION) {
14864 		    yylval.ival = rn;
14865 		    return REGNUM;
14866 		} else {
14867                     errmsg("Invalid region number");
14868                 }
14869 	    }
14870 	}
14871     }
14872     if (isalpha(c) || c == '$') {
14873 	char *p = sbuf;
14874 
14875 	do {
14876 	    *p++ = c;
14877 	} while ((c = getcharstr()) != EOF && (isalpha(c) || isdigit(c) ||
14878                   c == '_' || c == '$'));
14879 	ungetchstr();
14880 	*p = '\0';
14881 #ifdef DEBUG
14882         if (get_debuglevel() == 2) {
14883 	    printf("->%s<-\n", sbuf);
14884 	}
14885 #endif
14886 	found = -1;
14887 	if ((found = findf(key, sbuf)) >= 0) {
14888 	    if (key[found].type == FITPARM) {
14889 		int index = sbuf[1] - '0';
14890 		yylval.ival = index;
14891 		return FITPARM;
14892 	    }
14893 	    else if (key[found].type == FITPMAX) {
14894 		int index = sbuf[1] - '0';
14895 		yylval.ival = index;
14896 		return FITPMAX;
14897 	    }
14898 	    else if (key[found].type == FITPMIN) {
14899 		int index = sbuf[1] - '0';
14900 		yylval.ival = index;
14901 		return FITPMIN;
14902 	    }
14903 
14904 	    else if (key[found].type == KEY_VAR) {
14905 		yylval.dptr = (double *) key[found].data;
14906 		return VAR_D;
14907 	    }
14908 	    else if (key[found].type == KEY_VEC) {
14909 		yylval.vrbl = (grarr *) key[found].data;
14910 		return VEC_D;
14911 	    }
14912 
14913 	    else if (key[found].type == FUNC_I) {
14914 		yylval.ival = found;
14915 		return FUNC_I;
14916 	    }
14917 	    else if (key[found].type == CONSTANT) {
14918 		yylval.ival = found;
14919 		return CONSTANT;
14920 	    }
14921 	    else if (key[found].type == UCONSTANT) {
14922 		yylval.ival = found;
14923 		return UCONSTANT;
14924 	    }
14925 	    else if (key[found].type == FUNC_D) {
14926 		yylval.ival = found;
14927 		return FUNC_D;
14928 	    }
14929 	    else if (key[found].type == FUNC_ND) {
14930 		yylval.ival = found;
14931 		return FUNC_ND;
14932 	    }
14933 	    else if (key[found].type == FUNC_DD) {
14934 		yylval.ival = found;
14935 		return FUNC_DD;
14936 	    }
14937 	    else if (key[found].type == FUNC_NND) {
14938 		yylval.ival = found;
14939 		return FUNC_NND;
14940 	    }
14941 	    else if (key[found].type == FUNC_PPD) {
14942 		yylval.ival = found;
14943 		return FUNC_PPD;
14944 	    }
14945 	    else if (key[found].type == FUNC_PPPD) {
14946 		yylval.ival = found;
14947 		return FUNC_PPPD;
14948 	    }
14949 	    else if (key[found].type == FUNC_PPPPD) {
14950 		yylval.ival = found;
14951 		return FUNC_PPPPD;
14952 	    }
14953 	    else if (key[found].type == FUNC_PPPPPD) {
14954 		yylval.ival = found;
14955 		return FUNC_PPPPPD;
14956 	    }
14957 	    else {
14958 	        yylval.ival = key[found].type;
14959 	        return key[found].type;
14960 	    }
14961 	} else {
14962 	    yylval.sval = copy_string(NULL, sbuf);
14963 	    return NEW_TOKEN;
14964 	}
14965     }
14966     switch (c) {
14967     case '>':
14968 	return follow('=', GE, GT);
14969     case '<':
14970 	return follow('=', LE, LT);
14971     case '=':
14972 	return follow('=', EQ, '=');
14973     case '!':
14974 	return follow('=', NE, NOT);
14975     case '|':
14976 	return follow('|', OR, '|');
14977     case '&':
14978 	return follow('&', AND, '&');
14979     case '\n':
14980 	return '\n';
14981     default:
14982 	return c;
14983     }
14984 }
14985 
follow(int expect,int ifyes,int ifno)14986 static int follow(int expect, int ifyes, int ifno)
14987 {
14988     int c = getcharstr();
14989 
14990     if (c == expect) {
14991 	return ifyes;
14992     }
14993     ungetchstr();
14994     return ifno;
14995 }
14996 
yyerror(char * s)14997 static void yyerror(char *s)
14998 {
14999     char *buf;
15000 
15001     buf = copy_string(NULL, s);
15002     buf = concat_strings(buf, ": ");
15003     buf = concat_strings(buf, f_string);
15004     errmsg(buf);
15005     xfree(buf);
15006     interr = 1;
15007 }
15008