summaryrefslogtreecommitdiff
path: root/perly.tab
blob: 01b90afeddad17b61fd8277fb6ca23fc144d63fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
/* -*- buffer-read-only: t -*-
   !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
   This file is built by regen_perly.pl from perly.y.
   Any changes made here will be lost!
 */

#define YYFINAL  16
/* YYLAST -- Last index in YYTABLE.  */
#define YYLAST   3289

/* YYNTOKENS -- Number of terminals.  */
#define YYNTOKENS  121
/* YYNNTS -- Number of nonterminals.  */
#define YYNNTS  105
/* YYNRULES -- Number of rules.  */
#define YYNRULES  313
/* YYNSTATES -- Number of states.  */
#define YYNSTATES  625

#define YYUNDEFTOK  2
#define YYMAXUTOK   375

/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
   as returned by yylex, with out-of-bounds checking.  */
#define YYTRANSLATE(YYX)                                                \
  ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)

/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
   as returned by yylex.  */
static const yytype_uint8 yytranslate[] =
{
       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
     115,   116,   117,   118,   119,   120
};

#if YYDEBUG
  /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
static const yytype_uint16 yyrline[] =
{
       0,   159,   159,   158,   170,   169,   180,   179,   193,   192,
     206,   205,   219,   218,   229,   228,   241,   249,   253,   260,
     265,   272,   278,   282,   284,   281,   291,   292,   302,   303,
     312,   316,   320,   327,   337,   339,   352,   349,   373,   368,
     389,   401,   400,   411,   417,   423,   428,   430,   432,   439,
     447,   449,   446,   466,   471,   480,   487,   486,   501,   509,
     516,   515,   530,   537,   536,   551,   555,   559,   565,   573,
     591,   592,   596,   600,   602,   604,   606,   608,   610,   612,
     615,   621,   622,   627,   638,   639,   644,   646,   651,   658,
     659,   663,   667,   671,   676,   680,   684,   685,   688,   694,
     699,   705,   706,   711,   712,   717,   718,   725,   730,   732,
     743,   745,   750,   752,   756,   776,   777,   779,   792,   852,
     854,   860,   862,   866,   872,   873,   878,   879,   883,   887,
     887,   954,   955,   960,   972,   973,   977,   988,   990,   992,
     996,   998,  1003,  1007,  1011,  1015,  1021,  1026,  1032,  1038,
    1040,  1042,  1045,  1044,  1055,  1056,  1060,  1064,  1067,  1072,
    1077,  1080,  1084,  1088,  1094,  1102,  1109,  1115,  1117,  1119,
    1124,  1126,  1128,  1130,  1132,  1137,  1139,  1141,  1143,  1145,
    1147,  1149,  1151,  1153,  1155,  1157,  1159,  1161,  1163,  1167,
    1169,  1171,  1173,  1175,  1179,  1181,  1185,  1187,  1189,  1191,
    1195,  1197,  1202,  1204,  1207,  1209,  1211,  1214,  1217,  1228,
    1231,  1239,  1241,  1243,  1246,  1252,  1254,  1258,  1259,  1260,
    1261,  1262,  1264,  1266,  1268,  1270,  1272,  1274,  1276,  1278,
    1280,  1282,  1284,  1286,  1288,  1298,  1308,  1318,  1328,  1330,
    1332,  1335,  1340,  1344,  1346,  1348,  1350,  1353,  1355,  1358,
    1360,  1362,  1364,  1366,  1368,  1370,  1372,  1374,  1377,  1379,
    1381,  1383,  1385,  1387,  1391,  1394,  1393,  1406,  1407,  1408,
    1413,  1415,  1417,  1419,  1424,  1426,  1429,  1431,  1433,  1439,
    1440,  1444,  1445,  1449,  1450,  1455,  1460,  1462,  1466,  1469,
    1473,  1474,  1475,  1478,  1479,  1482,  1483,  1486,  1490,  1494,
    1500,  1506,  1508,  1512,  1516,  1517,  1521,  1522,  1526,  1527,
    1532,  1534,  1536,  1539
};
#endif

#if YYDEBUG || YYERROR_VERBOSE || 0
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
static const char *const yytname[] =
{
  "$end", "error", "$undefined", "GRAMPROG", "GRAMEXPR", "GRAMBLOCK",
  "GRAMBARESTMT", "GRAMFULLSTMT", "GRAMSTMTSEQ", "GRAMSUBSIGNATURE",
  "PERLY_AMPERSAND", "PERLY_BRACE_OPEN", "PERLY_BRACE_CLOSE",
  "PERLY_BRACKET_OPEN", "PERLY_BRACKET_CLOSE", "PERLY_COMMA",
  "PERLY_DOLLAR", "PERLY_DOT", "PERLY_EQUAL_SIGN", "PERLY_MINUS",
  "PERLY_PERCENT_SIGN", "PERLY_PLUS", "PERLY_SEMICOLON", "PERLY_SLASH",
  "PERLY_SNAIL", "PERLY_STAR", "KW_FORMAT", "KW_PACKAGE", "KW_LOCAL",
  "KW_MY", "KW_IF", "KW_ELSE", "KW_ELSIF", "KW_UNLESS", "KW_FOR",
  "KW_UNTIL", "KW_WHILE", "KW_CONTINUE", "KW_GIVEN", "KW_WHEN",
  "KW_DEFAULT", "KW_TRY", "KW_CATCH", "KW_FINALLY", "KW_DEFER",
  "KW_REQUIRE", "KW_DO", "KW_USE_or_NO", "KW_SUB_named",
  "KW_SUB_named_sig", "KW_SUB_anon", "KW_SUB_anon_sig", "BAREWORD",
  "METHCALL0", "METHCALL", "THING", "PMFUNC", "PRIVATEREF", "QWLIST",
  "FUNC0OP", "FUNC0SUB", "UNIOPSUB", "LSTOPSUB", "PLUGEXPR", "PLUGSTMT",
  "LABEL", "LOOPEX", "DOTDOT", "YADAYADA", "FUNC0", "FUNC1", "FUNC",
  "UNIOP", "LSTOP", "POWOP", "MULOP", "ADDOP", "DOLSHARP", "HASHBRACK",
  "NOAMP", "COLONATTR", "FORMLBRACK", "FORMRBRACK", "SUBLEXSTART",
  "SUBLEXEND", "PLUGLOWOP", "PLUGRELOP", "PLUGADDOP", "PLUGMULOP",
  "PLUGPOWOP", "PLUGHIGHOP", "PREC_LOW", "OROP", "ANDOP", "NOTOP",
  "ASSIGNOP", "PERLY_QUESTION_MARK", "PERLY_COLON", "OROR", "DORDOR",
  "ANDAND", "BITOROP", "BITANDOP", "CHEQOP", "NCEQOP", "CHRELOP",
  "NCRELOP", "SHIFTOP", "MATCHOP", "PERLY_EXCLAMATION_MARK", "PERLY_TILDE",
  "UMINUS", "REFGEN", "PREINC", "PREDEC", "POSTINC", "POSTDEC", "POSTJOIN",
  "ARROW", "PERLY_PAREN_CLOSE", "PERLY_PAREN_OPEN", "$accept", "grammar",
  "@1", "@2", "@3", "@4", "@5", "@6", "@7", "block", "empty", "formblock",
  "remember", "mblock", "mremember", "catch_paren", "$@8", "$@9",
  "stmtseq", "formstmtseq", "fullstmt", "labfullstmt", "barestmt", "$@10",
  "$@11", "$@12", "$@13", "$@14", "@15", "$@16", "$@17", "formline",
  "formarg", "condition", "sideff", "else", "cont", "finally", "mintro",
  "nexpr", "texpr", "iexpr", "mexpr", "mnexpr", "formname", "startsub",
  "startanonsub", "startformsub", "subname", "proto", "subattrlist",
  "myattrlist", "sigvarname", "sigslurpsigil", "sigslurpelem",
  "sigdefault", "sigscalarelem", "sigelem", "siglist", "optsiglist",
  "optsubsignature", "subsignature", "subsigguts", "$@18", "optsubbody",
  "subbody", "optsigsubbody", "sigsubbody", "expr", "listexpr", "listop",
  "@19", "methodname", "subscripted", "termbinop", "termrelop",
  "relopchain", "termeqop", "eqopchain", "termunop", "anonymous", "termdo",
  "term", "@20", "myattrterm", "myterm", "optlistexpr", "optexpr",
  "optrepl", "my_scalar", "list_of_scalars", "my_list_of_scalars",
  "my_var", "refgen_topic", "my_refgen", "amper", "scalar", "ary", "hsh",
  "arylen", "star", "sliceme", "kvslice", "gelem", "indirob", YY_NULLPTR
};
#endif

# ifdef YYPRINT
/* YYTOKNUM[NUM] -- (External) token number corresponding to the
   (internal) symbol number NUM (which must be that of a token).  */
static const yytype_uint16 yytoknum[] =
{
       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
     375
};
# endif

#define YYPACT_NINF -507

#define yypact_value_is_default(Yystate) \
  (!!((Yystate) == (-507)))

#define YYTABLE_NINF -312

#define yytable_value_is_error(Yytable_value) \
  (!!((Yytable_value) == (-312)))

  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
     STATE-NUM.  */
static const yytype_int16 yypact[] =
{
     433,  -507,  -507,  -507,  -507,  -507,  -507,  -507,    33,  -507,
    2613,    36,  1674,  1569,  -507,  -507,  -507,  -507,   263,  2613,
     263,  2613,   263,  2613,   263,   263,  2613,    60,  2613,  1974,
    -507,  -507,  -507,   263,   263,  -507,  -507,    37,   -61,  -507,
    2613,  -507,  -507,  2613,   -48,   -46,   -49,  1974,  1903,   263,
    2613,    41,  2613,  2613,  2613,  2613,  2613,  2613,  2045,  -507,
     142,    81,  -507,     5,  -507,   236,   -18,   267,    38,  -507,
    -507,  -507,  2796,  -507,  -507,    -5,   138,   182,   251,  -507,
      91,   252,   295,   135,  -507,  -507,  -507,  -507,  -507,   114,
       2,    50,     7,    65,    82,    90,    96,    36,   148,   148,
    -507,    41,    41,  -507,   198,   188,  -507,   207,   264,  1569,
    -507,  -507,  -507,  -507,   718,  -507,   185,   823,  -507,  -507,
    -507,  -507,  -507,   217,  -507,   273,  -507,   273,  -507,  -507,
    3148,  2684,  2116,   160,  -507,  -507,  -507,  3148,  -507,  3148,
     190,   169,  2613,   132,   189,  2613,   186,  3148,    36,  2796,
     197,  2187,  2613,  1903,  -507,  3148,  2755,  -507,    81,  -507,
    2258,  2613,  -507,   297,  -507,  -507,  2613,    81,   273,   273,
     273,   214,   214,   308,   131,  2613,  2613,  2613,  2613,  2613,
    2329,  -507,  -507,  2613,  -507,  -507,  2613,  2613,  2613,  2613,
    2613,  2613,  2613,  2613,  2613,  2613,  2613,  2613,  2613,  2613,
    2613,  2613,  2613,  2613,  2613,  2613,  2613,  2613,  2613,  2613,
    -507,  -507,  -507,    57,  2400,  2613,  2613,  2613,  2613,  2613,
    2613,  2613,  -507,   271,   288,  -507,  -507,   223,   406,  -507,
    -507,   241,  -507,  -507,  -507,  -507,  -507,  -507,   306,  -507,
    -507,  -507,  -507,  -507,    36,  -507,  -507,  -507,  2613,  2613,
    2613,  2613,  2613,  2613,  -507,  -507,  -507,   298,  -507,  -507,
    -507,   298,  -507,  -507,  -507,   350,  -507,  -507,  2471,   273,
     160,    72,    75,   150,  -507,   218,   317,  -507,  -507,  -507,
     169,   329,  -507,  -507,  -507,  2613,  2613,    -1,  -507,  -507,
    -507,  -507,   220,   312,   281,  2613,    81,   389,  -507,  2613,
     390,   313,  -507,  2886,    21,    15,  -507,   233,  3103,  2772,
    2976,   273,   228,   451,  2841,  3126,   451,   228,   273,   -53,
    2886,   545,  3011,  3011,  3034,  3057,  3080,  2772,  2772,  3103,
    3103,  3171,   273,   382,  2613,  2613,   257,   383,   385,   396,
    -507,   400,  2542,   307,  -507,  -507,   235,    83,    25,   104,
      47,   107,    55,   111,   939,  -507,  -507,   413,    31,  2613,
    2613,  -507,    -4,  -507,  -507,   314,  -507,  -507,  -507,  -507,
    1753,   404,  -507,  2613,  2613,  2613,  2613,  -507,  -507,   380,
    -507,  -507,  -507,  -507,   142,  -507,  -507,  -507,   142,  -507,
    -507,  -507,   338,   338,   185,    19,   258,  -507,  -507,  -507,
    -507,  -507,   323,  -507,   325,   121,  -507,  2613,  -507,  -507,
    -507,   266,  -507,    61,  2613,   437,  -507,  -507,  2613,  -507,
     115,    86,  -507,  -507,  -507,  -507,  -507,  -507,   283,  2613,
    -507,   438,  -507,   443,  -507,   448,  -507,   452,  -507,  -507,
    -507,  -507,  -507,   346,   142,   347,   453,   352,  -507,  -507,
    -507,  -507,  -507,   354,   445,   203,  -507,  2613,   355,   356,
     142,   358,   359,  1044,   360,   427,   190,   169,  2613,  -507,
    -507,  -507,  -507,    77,   471,  -507,  -507,  -507,   472,  -507,
    -507,  2613,  -507,   401,  -507,  -507,  -507,    89,  -507,  2931,
     474,  -507,  -507,   365,  -507,  -507,  -507,  -507,   465,  -507,
     148,   148,   473,   370,  -507,  2613,  2613,   148,  -507,   371,
     374,  -507,  -507,   148,   148,  -507,  -507,  -507,  -507,  2613,
     169,   475,  2796,  -507,   375,  -507,   142,  -507,  -507,  -507,
    -507,   416,  -507,   348,   348,   453,   379,   384,   386,   188,
    2613,  2613,   148,   148,   148,  -507,  -507,   453,   148,   479,
     482,  -507,  -507,  -507,  1149,  -507,  1254,  -507,  1359,   148,
     387,  -507,  -507,  -507,  -507,  2613,   148,   148,  -507,   486,
     397,   188,   188,   188,  -507,   476,  -507,  -507,  -507,  -507,
    -507,  -507,  -507,    40,  -507,  -507,  2613,   399,   188,   188,
    -507,   148,  -507,  -507,  -507,   409,    36,  -507,   513,   454,
    -507,   414,   148,  -507,  -507,  -507,   188,  -507,  -507,  -507,
    -507,  -507,  -507,   148,   188,  1832,  -507,  1464,   348,  -507,
     419,  -507,  -507,   148,  -507
};

  /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
     Performed when YYTABLE does not specify something else to do.  Zero
     means the default is an error.  */
static const yytype_uint16 yydefact[] =
{
       0,     2,     4,     6,     8,    10,    12,    14,     0,    19,
      17,     0,     0,     0,    17,   129,     1,    17,     0,    17,
       0,     0,     0,     0,     0,     0,     0,     0,   254,     0,
      99,    99,   267,     0,     0,   238,   265,   226,   260,   262,
     256,    99,   269,   248,   258,     0,     0,   251,    17,     0,
      17,     0,     0,     0,     0,     0,     0,     0,     0,   281,
     282,   139,   268,   233,   217,   179,   189,   180,   196,   218,
     219,   220,   142,   223,     5,   239,   228,   231,   230,   232,
     229,     0,     0,     0,    19,     7,    73,    68,   100,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
      98,     0,     0,    34,     0,    17,     9,     0,    74,     0,
      11,    31,    30,    26,     0,    15,    17,     0,   310,   313,
     312,   311,   297,     0,   298,   202,   300,   203,   299,   303,
     224,     0,     0,   271,   276,   278,   277,   255,   216,   215,
      17,    17,    17,     0,     0,     0,     0,   257,     0,   249,
       0,     0,    17,    17,   252,   253,   267,   279,   280,   149,
     228,     0,   301,     0,   101,   102,    17,   250,   204,   205,
     222,   209,   210,   227,     0,     0,     0,   140,     0,     0,
       0,   192,   191,     0,   199,   198,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     206,   207,   208,     0,     0,     0,     0,     0,     0,     0,
       0,     0,    17,    17,     0,    19,    19,    19,     0,    19,
      19,     0,    19,    19,    19,    19,    47,    21,     0,    66,
      41,    98,    98,    67,     0,    84,    62,    65,     0,     0,
       0,     0,     0,     0,    33,    32,    27,   110,   113,   112,
     124,   110,   120,   119,   123,   125,   130,   211,     0,   273,
       0,   228,   231,   230,   275,     0,   109,   270,   104,   103,
      17,   107,   105,    19,   147,    17,     0,     0,   261,   152,
     259,   263,     0,     0,     0,     0,   143,     0,   242,     0,
     225,   138,   137,   141,     0,     0,   166,     0,   195,   201,
     183,   172,   174,   176,   188,   193,   177,   175,   173,   170,
     171,     0,   185,   186,   184,   182,   181,   200,   197,   194,
     190,   178,   187,     0,     0,     0,     0,   307,   305,   309,
     154,     0,     0,   146,   155,   240,     0,     0,     0,     0,
       0,     0,     0,     0,     0,    96,    97,     0,     0,     0,
       0,   295,     0,   296,   293,     0,   294,   290,   291,   292,
       0,     0,    19,     0,    91,     0,     0,    17,    19,     0,
      36,    38,    85,    75,    72,    76,    79,    78,    93,    77,
      80,   111,    17,    17,   121,   227,     0,   272,   274,   108,
      19,   106,    17,   214,     0,    17,   168,    17,   264,   151,
     150,     0,   212,     0,     0,     0,   159,   165,     0,   246,
       0,     0,   243,   245,   244,   247,   302,   163,     0,    17,
     241,     0,   157,     0,   234,     0,   235,     0,    16,    19,
      35,    19,    40,     0,    94,     0,     0,     0,   285,    19,
      89,    90,    95,     0,     0,    74,    56,     0,     0,     0,
      92,     0,     0,     0,    17,     0,    17,    17,   116,   115,
     118,   114,   122,   225,     0,   213,   129,   126,     0,   127,
     148,     0,   283,     0,   153,   144,   169,     0,   162,   221,
       0,   158,   164,     0,   160,   236,   237,   156,     0,    63,
       0,     0,   289,     0,   288,     0,     0,     0,    50,     0,
       0,    88,    88,     0,     0,    20,    23,    22,    60,    17,
      17,    19,   117,    17,     0,    17,   284,   266,   167,   161,
     145,     0,    17,    17,    17,   286,     0,     0,     0,    17,
      91,     0,     0,     0,     0,    45,    46,     0,     0,     0,
      19,   135,    39,   134,     0,   128,     0,    17,     0,     0,
       0,    81,    43,    44,   287,     0,     0,     0,    59,     0,
       0,    17,    17,    17,    24,    86,    42,   132,    37,   131,
     133,   136,    28,     0,    64,    82,     0,     0,    17,    17,
      51,     0,    55,    49,    48,     0,     0,    61,     0,    17,
      29,     0,     0,    53,    58,    88,    17,    25,    87,    18,
      17,    70,    69,     0,    17,     0,    57,     0,    17,    54,
       0,    71,    83,     0,    52
};

  /* YYPGOTO[NTERM-NUM].  */
static const yytype_int16 yypgoto[] =
{
    -507,  -507,  -507,  -507,  -507,  -507,  -507,  -507,  -507,    -3,
     -10,  -507,    51,   -96,  -507,  -507,  -507,  -507,   -11,  -507,
     519,   434,    12,  -507,  -507,  -507,  -507,  -507,  -507,  -507,
    -507,  -507,  -507,   209,  -368,  -506,  -345,  -507,  -485,  -507,
       6,   176,  -319,   -73,  -507,   145,    70,  -507,   292,    84,
    -269,   282,   293,  -507,  -507,   163,  -507,   159,  -507,  -507,
    -507,  -507,    94,  -507,  -507,     8,  -507,    52,    39,   -38,
    -507,  -507,  -507,  -507,  -507,  -507,  -507,  -507,  -507,  -507,
    -507,  -507,   508,  -507,  -507,   426,  -141,    16,  -507,  -507,
    -507,  -507,   200,  -507,  -507,   332,   140,   -22,    -7,  -507,
    -507,  -507,  -507,  -507,    30
};

  /* YYDEFGOTO[NTERM-NUM].  */
static const yytype_int16 yydefgoto[] =
{
      -1,     8,     9,    10,    11,    12,    13,    14,    15,   105,
     245,   440,   402,   238,   377,   518,   547,   595,   114,   583,
     256,   111,   112,   466,   467,   379,   540,   605,   509,   548,
     532,   600,   612,   383,   107,   562,   246,   597,   543,   452,
     459,   387,   443,   454,   357,   240,   140,   223,   166,   280,
     283,   277,   392,   261,   262,   470,   263,   264,   265,   266,
     478,   479,   115,   116,   578,   475,   552,   403,   108,    61,
      62,   407,   343,    63,    64,    65,    66,    67,    68,    69,
      70,    71,    72,   144,    73,   133,   159,    74,   483,   447,
     502,   503,   364,   365,   230,    75,    76,    77,    78,    79,
      80,    81,    82,    83,   124
};

  /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
     positive, shift that token.  If negative, reduce the rule whose
     number is the opposite.  If YYTABLE_NINF, syntax error.  */
static const yytype_int16 yytable[] =
{
      59,   284,   451,   239,   113,   135,   117,   113,    85,    59,
     158,   400,    20,   406,   167,   120,   178,   120,   179,   120,
     136,   120,   120,    20,   106,   298,   138,   544,   563,   416,
     120,   120,   299,    16,   152,   123,   227,  -312,   157,   432,
      59,   445,   441,   415,   154,   120,   120,    84,   122,    60,
     145,   453,   126,   442,   128,   129,   461,   462,    60,   146,
      17,   434,   598,   142,   143,   213,   163,   333,   334,   436,
     335,   153,   150,   336,   151,   486,    20,   337,   161,   162,
      22,   338,   339,   215,    24,   216,  -304,   183,  -304,    60,
     414,   175,   176,   164,   236,   599,   177,   174,   165,  -275,
     491,   141,  -308,   528,   158,   431,   260,   175,   176,   272,
     340,   148,   622,   175,   176,   214,   446,   175,   176,   228,
     615,   255,   225,   296,   273,   180,   433,   229,   158,   435,
     279,   282,   157,   437,   341,   222,   177,   490,   510,   175,
     176,   186,    59,    59,   481,   289,   221,   175,   176,   215,
     120,   216,  -276,   175,   176,  -278,   157,  -274,   121,   237,
     121,  -306,   121,  -306,   121,   121,   224,   134,   293,   294,
     226,   275,   131,   121,   121,   175,   176,   342,   175,   176,
     132,   175,   176,   295,   287,   232,   537,   538,   160,   121,
     292,    60,    60,  -304,   568,  -304,   175,   176,   521,   175,
     176,   257,   233,   175,   176,   258,   368,   175,   176,   259,
     234,   354,   113,   356,   301,   302,   235,   304,   305,   307,
     243,   369,   570,   175,   176,   244,   592,   593,   594,   247,
    -277,   267,   231,   248,   175,   176,   249,   250,   251,   252,
     276,   382,   253,   603,   604,   278,   587,   451,   405,   281,
     300,   550,   285,   346,   347,   348,   349,   350,   351,   352,
     353,   616,  -306,   217,  -306,   218,   484,   601,    84,   619,
     282,   271,   286,    20,    84,    59,   359,   360,   362,    20,
     370,   371,   422,   373,   374,   375,   376,   384,   384,   384,
     388,   384,   384,   160,   248,   175,   176,   249,   250,   251,
     252,   404,   188,   253,   196,   288,   219,   396,   220,   118,
     175,   176,   175,   176,   119,   118,   290,   195,   196,   297,
     119,   299,   -94,   355,    60,   175,   176,   175,   176,  -312,
    -312,  -312,   213,   120,   411,   361,   209,   398,   413,   408,
     358,   181,   182,   210,   211,   212,   213,   188,   378,   368,
     175,   176,   417,   344,   430,   391,   175,   176,   175,   176,
     450,   372,   195,   196,   369,   394,   463,   113,   367,   158,
     184,   185,   399,   420,   421,   175,   176,   473,   549,   559,
     560,   428,   469,   469,   401,   485,   380,   381,   210,   211,
     212,   213,   477,   241,   242,   482,   409,   157,   444,   444,
     410,   412,   492,   414,   533,   534,   176,   419,   423,   455,
     424,   539,   388,   460,   444,   444,    18,   545,   546,    59,
      20,   425,    20,   457,    22,   426,    22,   429,    24,   464,
      24,   439,   465,   468,   449,   363,     1,     2,     3,     4,
       5,     6,     7,   476,   480,   493,   571,   572,   573,   488,
     494,   474,   575,   487,   517,   495,   279,   282,   385,   386,
     496,   389,   390,   585,   497,   500,   501,   508,    60,    20,
     588,   589,   505,   507,   511,   512,   121,   513,   514,   519,
     516,   158,   523,   525,   530,   527,   529,   531,   535,   536,
     498,   541,   499,   542,   555,   606,   444,   551,   557,   565,
     506,   576,   448,   566,   577,   567,   614,   586,   590,   157,
     282,   367,   554,   113,   556,   113,   591,   618,   602,   596,
     526,   558,   113,   561,   561,   188,   189,   624,   607,   125,
     609,   127,   110,   613,   130,   610,   137,   139,   623,   194,
     195,   196,   620,   254,   444,   444,   569,   582,   147,   458,
     520,   149,   397,   472,   393,   155,   471,   270,   579,   209,
     366,   168,   169,   170,   171,   172,   210,   211,   212,   213,
     524,   456,     0,   553,     0,     0,     0,     0,     0,   460,
     444,     0,     0,     0,     0,     0,   504,     0,     0,   611,
       0,     0,     0,   608,     0,     0,     0,     0,     0,   617,
     113,   474,     0,     0,   444,   450,     0,     0,   561,     0,
       0,     0,   187,     0,     0,     0,     0,     0,     0,   188,
     189,   190,     0,     0,     0,   444,     0,     0,     0,     0,
     191,   192,   193,   194,   195,   196,     0,     0,     0,   269,
     197,   198,   418,   199,   200,   201,   202,   203,   204,   205,
     206,   207,   208,   209,     0,     0,     0,     0,     0,     0,
     210,   211,   212,   213,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   564,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   303,     0,   574,     0,     0,
       0,   308,     0,     0,   309,   310,   311,   312,   313,   314,
     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
     325,   326,   327,   328,   329,   330,   331,   332,   -13,    86,
       0,     0,     0,     0,     0,     0,     0,     0,    18,    84,
       0,    19,     0,     0,    20,     0,     0,    21,    22,    23,
      87,     0,    24,    25,    88,    89,    26,    27,    90,     0,
       0,    91,    92,    93,    94,     0,    95,    96,    97,    98,
       0,     0,    99,    28,    29,   100,   101,   102,    30,    31,
      32,    33,    34,    35,    36,     0,    37,    38,    39,    40,
      41,    42,   103,   109,    43,     0,   104,    44,    45,    46,
      47,    48,     0,     0,     0,    49,    50,    51,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,    52,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,    -3,    86,     0,     0,    53,    54,     0,
      55,    56,    57,    18,    84,     0,    19,     0,    58,    20,
       0,     0,    21,    22,    23,    87,     0,    24,    25,    88,
      89,    26,    27,    90,     0,     0,    91,    92,    93,    94,
       0,    95,    96,    97,    98,     0,     0,    99,    28,    29,
     100,   101,   102,    30,    31,    32,    33,    34,    35,    36,
       0,    37,    38,    39,    40,    41,    42,   103,   109,    43,
       0,   104,    44,    45,    46,    47,    48,     0,     0,     0,
      49,    50,    51,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,    52,     0,     0,
       0,     0,     0,     0,     0,     0,   489,     0,     0,     0,
       0,     0,    53,    54,     0,    55,    56,    57,     0,     0,
      86,     0,     0,    58,     0,     0,     0,     0,     0,    18,
      84,   438,    19,     0,     0,    20,     0,     0,    21,    22,
      23,    87,     0,    24,    25,    88,    89,    26,    27,    90,
       0,     0,    91,    92,    93,    94,   522,    95,    96,    97,
      98,     0,     0,    99,    28,    29,   100,   101,   102,    30,
      31,    32,    33,    34,    35,    36,     0,    37,    38,    39,
      40,    41,    42,   103,   109,    43,     0,   104,    44,    45,
      46,    47,    48,     0,     0,     0,    49,    50,    51,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,    52,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,    86,     0,     0,    53,    54,
       0,    55,    56,    57,    18,    84,   515,    19,     0,    58,
      20,     0,     0,    21,    22,    23,    87,     0,    24,    25,
      88,    89,    26,    27,    90,     0,     0,    91,    92,    93,
      94,     0,    95,    96,    97,    98,     0,     0,    99,    28,
      29,   100,   101,   102,    30,    31,    32,    33,    34,    35,
      36,     0,    37,    38,    39,    40,    41,    42,   103,   109,
      43,     0,   104,    44,    45,    46,    47,    48,     0,     0,
       0,    49,    50,    51,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,    52,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
      86,     0,     0,    53,    54,     0,    55,    56,    57,    18,
      84,   580,    19,     0,    58,    20,     0,     0,    21,    22,
      23,    87,     0,    24,    25,    88,    89,    26,    27,    90,
       0,     0,    91,    92,    93,    94,     0,    95,    96,    97,
      98,     0,     0,    99,    28,    29,   100,   101,   102,    30,
      31,    32,    33,    34,    35,    36,     0,    37,    38,    39,
      40,    41,    42,   103,   109,    43,     0,   104,    44,    45,
      46,    47,    48,     0,     0,     0,    49,    50,    51,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,    52,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,    86,     0,     0,    53,    54,
       0,    55,    56,    57,    18,    84,   581,    19,     0,    58,
      20,     0,     0,    21,    22,    23,    87,     0,    24,    25,
      88,    89,    26,    27,    90,     0,     0,    91,    92,    93,
      94,     0,    95,    96,    97,    98,     0,     0,    99,    28,
      29,   100,   101,   102,    30,    31,    32,    33,    34,    35,
      36,     0,    37,    38,    39,    40,    41,    42,   103,   109,
      43,     0,   104,    44,    45,    46,    47,    48,     0,     0,
       0,    49,    50,    51,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,    52,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
      86,     0,     0,    53,    54,     0,    55,    56,    57,    18,
      84,   584,    19,     0,    58,    20,     0,     0,    21,    22,
      23,    87,     0,    24,    25,    88,    89,    26,    27,    90,
       0,     0,    91,    92,    93,    94,     0,    95,    96,    97,
      98,     0,     0,    99,    28,    29,   100,   101,   102,    30,
      31,    32,    33,    34,    35,    36,     0,    37,    38,    39,
      40,    41,    42,   103,   109,    43,     0,   104,    44,    45,
      46,    47,    48,     0,     0,     0,    49,    50,    51,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,    52,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,    86,     0,     0,    53,    54,
       0,    55,    56,    57,    18,    84,     0,    19,     0,    58,
      20,     0,     0,    21,    22,    23,    87,     0,    24,    25,
      88,    89,    26,    27,    90,     0,     0,    91,    92,    93,
      94,     0,    95,    96,    97,    98,     0,     0,    99,    28,
      29,   100,   101,   102,    30,    31,    32,    33,    34,    35,
      36,     0,    37,    38,    39,    40,    41,    42,   103,   109,
      43,     0,   104,    44,    45,    46,    47,    48,     0,     0,
       0,    49,    50,    51,     0,     0,   621,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,    52,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
      86,     0,     0,    53,    54,     0,    55,    56,    57,    18,
      84,     0,    19,     0,    58,    20,     0,     0,    21,    22,
      23,    87,     0,    24,    25,    88,    89,    26,    27,    90,
       0,     0,    91,    92,    93,    94,     0,    95,    96,    97,
      98,     0,     0,    99,    28,    29,   100,   101,   102,    30,
      31,    32,    33,    34,    35,    36,     0,    37,    38,    39,
      40,    41,    42,   103,   109,    43,     0,   104,    44,    45,
      46,    47,    48,     0,     0,     0,    49,    50,    51,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,    52,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,    86,     0,     0,    53,    54,
       0,    55,    56,    57,    18,    84,     0,    19,     0,    58,
      20,     0,     0,    21,    22,    23,    87,     0,    24,    25,
      88,    89,    26,    27,    90,     0,     0,    91,    92,    93,
      94,     0,    95,    96,    97,    98,     0,     0,    99,    28,
      29,   100,   101,   102,    30,    31,    32,    33,    34,    35,
      36,     0,    37,    38,    39,    40,    41,    42,   103,     0,
      43,     0,   104,    44,    45,    46,    47,    48,     0,     0,
       0,    49,    50,    51,    86,     0,     0,     0,     0,     0,
       0,     0,     0,    18,     0,     0,    19,     0,    52,    20,
       0,     0,    21,    22,    23,   -17,     0,    24,    25,     0,
       0,    26,    27,    53,    54,     0,    55,    56,    57,     0,
       0,     0,     0,     0,    58,     0,     0,     0,    28,    29,
       0,     0,     0,    30,    31,    32,    33,    34,    35,    36,
       0,    37,    38,    39,    40,    41,    42,     0,     0,    43,
       0,     0,    44,    45,    46,    47,    48,     0,     0,     0,
      49,    50,    51,    86,     0,     0,     0,     0,     0,     0,
       0,     0,    18,     0,     0,    19,     0,    52,    20,     0,
       0,    21,    22,    23,     0,     0,    24,    25,     0,     0,
      26,    27,    53,    54,     0,    55,    56,    57,     0,     0,
       0,     0,     0,    58,     0,     0,     0,    28,    29,     0,
       0,     0,    30,    31,    32,    33,    34,    35,    36,     0,
      37,    38,    39,    40,    41,    42,     0,     0,    43,     0,
       0,    44,    45,    46,    47,    48,     0,     0,     0,    49,
      50,    51,     0,    18,    84,     0,    19,     0,     0,    20,
       0,     0,    21,    22,    23,     0,    52,    24,    25,     0,
       0,    26,    27,     0,     0,     0,     0,     0,     0,     0,
       0,    53,    54,     0,    55,    56,    57,     0,    28,    29,
       0,   -17,    58,    30,    31,   156,    33,    34,    35,    36,
     119,    37,    38,    39,    40,    41,    42,     0,     0,    43,
       0,     0,    44,    45,    46,    47,    48,     0,     0,     0,
      49,    50,    51,     0,    18,    84,     0,    19,     0,     0,
      20,     0,     0,    21,    22,    23,     0,    52,    24,    25,
       0,     0,    26,    27,     0,     0,     0,     0,     0,     0,
       0,     0,    53,    54,     0,    55,    56,    57,     0,    28,
      29,     0,     0,    58,    30,    31,    32,    33,    34,    35,
      36,     0,    37,    38,    39,    40,    41,    42,     0,     0,
      43,     0,     0,    44,    45,    46,    47,    48,     0,     0,
       0,    49,    50,    51,     0,    18,     0,     0,    19,     0,
       0,    20,     0,     0,    21,    22,    23,     0,    52,    24,
      25,     0,     0,    26,    27,     0,     0,     0,     0,     0,
       0,     0,     0,    53,    54,     0,    55,    56,    57,     0,
      28,    29,     0,     0,    58,    30,    31,    32,    33,    34,
      35,    36,     0,    37,    38,    39,    40,    41,    42,     0,
       0,    43,     0,     0,    44,    45,    46,    47,    48,     0,
       0,     0,    49,    50,    51,     0,    18,     0,     0,    19,
       0,     0,    20,     0,     0,    21,    22,    23,     0,    52,
      24,    25,     0,     0,    26,    27,     0,     0,     0,     0,
       0,     0,     0,     0,    53,    54,     0,    55,    56,    57,
       0,    28,    29,     0,   173,    58,    30,    31,    32,    33,
      34,    35,    36,     0,    37,    38,    39,    40,    41,    42,
       0,     0,    43,     0,     0,    44,    45,    46,    47,    48,
       0,     0,     0,    49,    50,    51,     0,    18,     0,     0,
      19,     0,     0,    20,     0,     0,    21,    22,    23,     0,
      52,    24,    25,     0,     0,    26,    27,     0,     0,     0,
       0,     0,     0,     0,     0,    53,    54,     0,    55,    56,
      57,     0,    28,    29,     0,   274,    58,    30,    31,    32,
      33,    34,    35,    36,     0,    37,    38,    39,    40,    41,
      42,     0,     0,    43,     0,     0,    44,    45,    46,    47,
      48,     0,     0,     0,    49,    50,    51,     0,  -311,   215,
       0,   216,     0,     0,  -311,     0,     0,  -311,  -311,  -311,
       0,    52,  -311,  -311,     0,     0,  -311,  -311,     0,     0,
       0,     0,     0,     0,     0,     0,    53,    54,     0,    55,
      56,    57,     0,  -311,  -311,     0,   291,    58,  -311,  -311,
    -311,  -311,  -311,  -311,  -311,     0,  -311,  -311,  -311,  -311,
    -311,  -311,     0,     0,  -311,     0,     0,  -311,  -311,  -311,
    -311,  -311,     0,     0,     0,  -311,  -311,  -311,     0,    18,
       0,     0,    19,     0,     0,    20,     0,     0,    21,    22,
      23,     0,  -311,    24,    25,     0,     0,    26,    27,     0,
       0,     0,     0,     0,     0,     0,     0,  -311,  -311,     0,
    -311,  -311,  -311,     0,    28,    29,     0,     0,  -311,    30,
      31,    32,    33,    34,    35,    36,     0,    37,    38,    39,
      40,    41,    42,     0,     0,    43,     0,     0,    44,    45,
      46,    47,    48,     0,     0,     0,    49,    50,    51,     0,
      18,     0,     0,    19,     0,     0,    20,     0,     0,    21,
      22,    23,     0,    52,    24,    25,     0,     0,    26,    27,
       0,     0,     0,     0,     0,     0,     0,     0,    53,    54,
       0,    55,    56,    57,     0,    28,    29,     0,   306,    58,
      30,    31,    32,    33,    34,    35,    36,     0,    37,    38,
      39,    40,    41,    42,     0,     0,    43,     0,     0,    44,
      45,    46,    47,    48,     0,     0,     0,    49,    50,    51,
       0,    18,     0,     0,    19,     0,     0,    20,     0,     0,
      21,    22,    23,     0,    52,    24,    25,     0,     0,    26,
      27,     0,     0,     0,     0,     0,     0,     0,     0,    53,
      54,     0,    55,    56,    57,     0,    28,    29,     0,   345,
      58,    30,    31,    32,    33,    34,    35,    36,     0,    37,
      38,    39,    40,    41,    42,     0,     0,    43,     0,     0,
      44,    45,    46,    47,    48,     0,     0,     0,    49,    50,
      51,     0,    18,     0,     0,    19,     0,     0,    20,     0,
       0,    21,    22,    23,     0,    52,    24,    25,     0,     0,
      26,    27,     0,     0,     0,     0,     0,     0,     0,     0,
      53,    54,     0,    55,    56,    57,     0,    28,    29,     0,
     395,    58,    30,    31,    32,    33,    34,    35,    36,     0,
      37,    38,    39,    40,    41,    42,     0,     0,    43,     0,
       0,    44,    45,    46,    47,    48,     0,     0,     0,    49,
      50,    51,     0,    18,     0,     0,    19,     0,     0,    20,
       0,     0,    21,    22,    23,     0,    52,    24,    25,     0,
       0,    26,    27,     0,     0,     0,     0,     0,     0,     0,
       0,    53,    54,     0,    55,    56,    57,     0,    28,    29,
       0,   427,    58,    30,    31,    32,    33,    34,    35,    36,
       0,    37,    38,    39,    40,    41,    42,     0,     0,    43,
       0,     0,    44,    45,    46,    47,    48,     0,     0,     0,
      49,    50,    51,     0,    18,     0,     0,    19,     0,     0,
      20,     0,     0,    21,    22,    23,     0,    52,    24,    25,
       0,     0,    26,    27,     0,     0,     0,     0,     0,     0,
       0,     0,    53,    54,     0,    55,    56,    57,     0,    28,
      29,     0,     0,    58,    30,    31,    32,    33,    34,    35,
      36,     0,    37,    38,    39,    40,    41,    42,     0,     0,
      43,     0,     0,    44,    45,    46,    47,    48,     0,     0,
       0,    49,    50,    51,     0,  -310,     0,     0,  -310,     0,
       0,  -310,     0,     0,  -310,  -310,  -310,     0,    52,  -310,
    -310,     0,     0,  -310,  -310,     0,     0,     0,     0,     0,
       0,     0,     0,    53,    54,     0,    55,    56,    57,     0,
    -310,  -310,     0,     0,   268,  -310,  -310,  -310,  -310,  -310,
    -310,  -310,     0,  -310,  -310,  -310,  -310,  -310,  -310,     0,
       0,  -310,     0,     0,  -310,  -310,  -310,  -310,  -310,     0,
       0,     0,  -310,  -310,  -310,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   188,   189,   190,  -310,
       0,     0,     0,     0,     0,     0,     0,     0,   192,   193,
     194,   195,   196,   187,  -310,  -310,     0,  -310,  -310,  -310,
     188,   189,   190,     0,     0,  -310,     0,   206,   207,   208,
     209,   191,   192,   193,   194,   195,   196,   210,   211,   212,
     213,   197,   198,     0,   199,   200,   201,   202,   203,   204,
     205,   206,   207,   208,   209,     0,     0,     0,   187,     0,
       0,   210,   211,   212,   213,   188,   189,   190,     0,     0,
       0,     0,     0,     0,     0,     0,  -312,   192,   193,   194,
     195,   196,     0,     0,     0,     0,   197,   198,     0,   199,
     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
       0,     0,     0,   187,     0,     0,   210,   211,   212,   213,
     188,   189,   190,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   192,   193,   194,   195,   196,     0,     0,     0,
       0,   197,   198,     0,   199,   200,   201,   202,   203,   204,
     205,   206,   207,   208,   209,     0,     0,     0,   187,     0,
       0,   210,   211,   212,   213,   188,   189,   190,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   192,   193,   194,
     195,   196,     0,     0,     0,     0,     0,   198,     0,   199,
     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
       0,     0,     0,  -312,     0,     0,   210,   211,   212,   213,
     188,   189,   190,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   192,   193,   194,   195,   196,     0,     0,     0,
       0,     0,     0,     0,   199,   200,   201,   202,   203,   204,
     205,   206,   207,   208,   209,   188,   189,   190,     0,     0,
       0,   210,   211,   212,   213,     0,     0,   192,   193,   194,
     195,   196,     0,     0,     0,     0,     0,     0,   188,   189,
     190,   201,   202,   203,   204,   205,   206,   207,   208,   209,
     192,   193,   194,   195,   196,     0,   210,   211,   212,   213,
       0,   188,   189,   190,     0,   202,   203,   204,   205,   206,
     207,   208,   209,   192,   193,   194,   195,   196,     0,   210,
     211,   212,   213,     0,   188,   189,   190,     0,     0,   203,
     204,   205,   206,   207,   208,   209,   192,   193,   194,   195,
     196,     0,   210,   211,   212,   213,     0,   188,   189,   190,
       0,     0,     0,   204,   205,   206,   207,   208,   209,   192,
     193,   194,   195,   196,     0,   210,   211,   212,   213,     0,
     188,   189,   190,     0,     0,     0,     0,     0,     0,     0,
     208,   209,  -312,   193,   194,   195,   196,     0,   210,   211,
     212,   213,   188,   189,   190,     0,     0,     0,     0,     0,
       0,     0,     0,   208,   209,   193,   194,   195,   196,     0,
       0,   210,   211,   212,   213,   188,   189,   190,     0,     0,
       0,     0,     0,     0,     0,   208,   209,     0,   193,   194,
     195,   196,     0,   210,   211,   212,   213,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   209,
       0,     0,     0,     0,     0,     0,   210,   211,   212,   213
};

static const yytype_int16 yycheck[] =
{
      10,   142,   370,    99,    14,    27,    17,    17,    11,    19,
      48,   280,    16,    14,    52,    18,    11,    20,    13,    22,
      27,    24,    25,    16,    12,   166,    29,   512,   534,    14,
      33,    34,    13,     0,    83,    19,    29,    90,    48,    14,
      50,   360,    11,    22,    47,    48,    49,    11,    18,    10,
      13,   370,    22,    22,    24,    25,   375,   376,    19,   120,
       9,    14,    22,    33,    34,   118,    50,    10,    11,    14,
      13,   120,   120,    16,   120,    14,    16,    20,    48,    49,
      20,    24,    25,    11,    24,    13,    11,   105,    13,    50,
      13,    92,    93,    52,    97,    55,    15,    58,    57,    80,
      14,    31,    11,    14,   142,    22,   116,    92,    93,   131,
      53,    41,   618,    92,    93,   120,   120,    92,    93,   112,
     605,   109,   120,   161,   131,   120,    22,   120,   166,    22,
     140,   141,   142,    22,    77,    84,    15,    22,   457,    92,
      93,   103,   152,   153,    23,   148,    11,    92,    93,    11,
     153,    13,    80,    92,    93,    80,   166,    80,    18,    11,
      20,    11,    22,    13,    24,    25,    52,    27,   152,   153,
     120,   132,   112,    33,    34,    92,    93,   120,    92,    93,
     120,    92,    93,   153,   145,   120,   505,   506,    48,    49,
     151,   152,   153,    11,   539,    13,    92,    93,   467,    92,
      93,    16,   120,    92,    93,    20,   228,    92,    93,    24,
     120,   222,   222,   223,   175,   176,   120,   178,   179,   180,
      22,   228,   541,    92,    93,    37,   571,   572,   573,    22,
      80,    14,    92,    30,    92,    93,    33,    34,    35,    36,
      80,   244,    39,   588,   589,    55,   565,   615,   286,    80,
     119,   520,   120,   214,   215,   216,   217,   218,   219,   220,
     221,   606,    11,    11,    13,    13,   407,   586,    11,   614,
     280,   131,    83,    16,    11,   285,   225,   226,   227,    16,
     229,   230,    25,   232,   233,   234,   235,   248,   249,   250,
     251,   252,   253,   153,    30,    92,    93,    33,    34,    35,
      36,   285,    74,    39,    90,   119,    11,   268,    13,    52,
      92,    93,    92,    93,    57,    52,   119,    89,    90,    22,
      57,    13,   119,    52,   285,    92,    93,    92,    93,   115,
     116,   117,   118,   336,   295,   112,   108,   119,   299,   119,
      52,   105,   106,   115,   116,   117,   118,    74,    42,   371,
      92,    93,   119,   213,   119,    57,    92,    93,    92,    93,
     370,   120,    89,    90,   371,    15,   377,   377,   228,   407,
     103,   104,    55,   334,   335,    92,    93,   119,   519,    31,
      32,   342,   392,   393,    55,   119,   241,   242,   115,   116,
     117,   118,   402,   101,   102,   405,    84,   407,   359,   360,
     119,    12,   119,    13,   500,   501,    93,    25,    25,   370,
      25,   507,   373,   374,   375,   376,    10,   513,   514,   429,
      16,    25,    16,   372,    20,    25,    20,   120,    24,   378,
      24,    18,    52,    95,   120,    29,     3,     4,     5,     6,
       7,     8,     9,   120,   119,   429,   542,   543,   544,    12,
      12,   400,   548,   414,   464,    12,   466,   467,   249,   250,
      12,   252,   253,   559,    12,   119,   119,    22,   429,    16,
     566,   567,   120,   119,   119,   119,   336,   119,   119,    52,
     120,   519,    11,    11,   119,    84,    12,    22,    15,   119,
     439,   120,   441,   119,   119,   591,   457,    22,    82,   120,
     449,    22,   362,   119,    22,   119,   602,   120,    22,   519,
     520,   371,   523,   523,   525,   525,   119,   613,   119,    43,
     481,   532,   532,   533,   534,    74,    75,   623,   119,    21,
      17,    23,    13,   119,    26,    81,    28,    29,   119,    88,
      89,    90,   615,   109,   505,   506,   540,   557,    40,   373,
     466,    43,   270,   394,   261,    47,   393,   131,   550,   108,
     228,    53,    54,    55,    56,    57,   115,   116,   117,   118,
     476,   371,    -1,   521,    -1,    -1,    -1,    -1,    -1,   540,
     541,    -1,    -1,    -1,    -1,    -1,   446,    -1,    -1,   599,
      -1,    -1,    -1,   596,    -1,    -1,    -1,    -1,    -1,   610,
     610,   550,    -1,    -1,   565,   615,    -1,    -1,   618,    -1,
      -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,
      75,    76,    -1,    -1,    -1,   586,    -1,    -1,    -1,    -1,
      85,    86,    87,    88,    89,    90,    -1,    -1,    -1,   131,
      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
     105,   106,   107,   108,    -1,    -1,    -1,    -1,    -1,    -1,
     115,   116,   117,   118,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   535,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   177,    -1,   547,    -1,    -1,
      -1,   183,    -1,    -1,   186,   187,   188,   189,   190,   191,
     192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
     202,   203,   204,   205,   206,   207,   208,   209,     0,     1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    10,    11,
      -1,    13,    -1,    -1,    16,    -1,    -1,    19,    20,    21,
      22,    -1,    24,    25,    26,    27,    28,    29,    30,    -1,
      -1,    33,    34,    35,    36,    -1,    38,    39,    40,    41,
      -1,    -1,    44,    45,    46,    47,    48,    49,    50,    51,
      52,    53,    54,    55,    56,    -1,    58,    59,    60,    61,
      62,    63,    64,    65,    66,    -1,    68,    69,    70,    71,
      72,    73,    -1,    -1,    -1,    77,    78,    79,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,     0,     1,    -1,    -1,   109,   110,    -1,
     112,   113,   114,    10,    11,    -1,    13,    -1,   120,    16,
      -1,    -1,    19,    20,    21,    22,    -1,    24,    25,    26,
      27,    28,    29,    30,    -1,    -1,    33,    34,    35,    36,
      -1,    38,    39,    40,    41,    -1,    -1,    44,    45,    46,
      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
      -1,    58,    59,    60,    61,    62,    63,    64,    65,    66,
      -1,    68,    69,    70,    71,    72,    73,    -1,    -1,    -1,
      77,    78,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   418,    -1,    -1,    -1,
      -1,    -1,   109,   110,    -1,   112,   113,   114,    -1,    -1,
       1,    -1,    -1,   120,    -1,    -1,    -1,    -1,    -1,    10,
      11,    12,    13,    -1,    -1,    16,    -1,    -1,    19,    20,
      21,    22,    -1,    24,    25,    26,    27,    28,    29,    30,
      -1,    -1,    33,    34,    35,    36,   468,    38,    39,    40,
      41,    -1,    -1,    44,    45,    46,    47,    48,    49,    50,
      51,    52,    53,    54,    55,    56,    -1,    58,    59,    60,
      61,    62,    63,    64,    65,    66,    -1,    68,    69,    70,
      71,    72,    73,    -1,    -1,    -1,    77,    78,    79,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,     1,    -1,    -1,   109,   110,
      -1,   112,   113,   114,    10,    11,    12,    13,    -1,   120,
      16,    -1,    -1,    19,    20,    21,    22,    -1,    24,    25,
      26,    27,    28,    29,    30,    -1,    -1,    33,    34,    35,
      36,    -1,    38,    39,    40,    41,    -1,    -1,    44,    45,
      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
      56,    -1,    58,    59,    60,    61,    62,    63,    64,    65,
      66,    -1,    68,    69,    70,    71,    72,    73,    -1,    -1,
      -1,    77,    78,    79,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       1,    -1,    -1,   109,   110,    -1,   112,   113,   114,    10,
      11,    12,    13,    -1,   120,    16,    -1,    -1,    19,    20,
      21,    22,    -1,    24,    25,    26,    27,    28,    29,    30,
      -1,    -1,    33,    34,    35,    36,    -1,    38,    39,    40,
      41,    -1,    -1,    44,    45,    46,    47,    48,    49,    50,
      51,    52,    53,    54,    55,    56,    -1,    58,    59,    60,
      61,    62,    63,    64,    65,    66,    -1,    68,    69,    70,
      71,    72,    73,    -1,    -1,    -1,    77,    78,    79,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,     1,    -1,    -1,   109,   110,
      -1,   112,   113,   114,    10,    11,    12,    13,    -1,   120,
      16,    -1,    -1,    19,    20,    21,    22,    -1,    24,    25,
      26,    27,    28,    29,    30,    -1,    -1,    33,    34,    35,
      36,    -1,    38,    39,    40,    41,    -1,    -1,    44,    45,
      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
      56,    -1,    58,    59,    60,    61,    62,    63,    64,    65,
      66,    -1,    68,    69,    70,    71,    72,    73,    -1,    -1,
      -1,    77,    78,    79,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       1,    -1,    -1,   109,   110,    -1,   112,   113,   114,    10,
      11,    12,    13,    -1,   120,    16,    -1,    -1,    19,    20,
      21,    22,    -1,    24,    25,    26,    27,    28,    29,    30,
      -1,    -1,    33,    34,    35,    36,    -1,    38,    39,    40,
      41,    -1,    -1,    44,    45,    46,    47,    48,    49,    50,
      51,    52,    53,    54,    55,    56,    -1,    58,    59,    60,
      61,    62,    63,    64,    65,    66,    -1,    68,    69,    70,
      71,    72,    73,    -1,    -1,    -1,    77,    78,    79,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,     1,    -1,    -1,   109,   110,
      -1,   112,   113,   114,    10,    11,    -1,    13,    -1,   120,
      16,    -1,    -1,    19,    20,    21,    22,    -1,    24,    25,
      26,    27,    28,    29,    30,    -1,    -1,    33,    34,    35,
      36,    -1,    38,    39,    40,    41,    -1,    -1,    44,    45,
      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
      56,    -1,    58,    59,    60,    61,    62,    63,    64,    65,
      66,    -1,    68,    69,    70,    71,    72,    73,    -1,    -1,
      -1,    77,    78,    79,    -1,    -1,    82,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       1,    -1,    -1,   109,   110,    -1,   112,   113,   114,    10,
      11,    -1,    13,    -1,   120,    16,    -1,    -1,    19,    20,
      21,    22,    -1,    24,    25,    26,    27,    28,    29,    30,
      -1,    -1,    33,    34,    35,    36,    -1,    38,    39,    40,
      41,    -1,    -1,    44,    45,    46,    47,    48,    49,    50,
      51,    52,    53,    54,    55,    56,    -1,    58,    59,    60,
      61,    62,    63,    64,    65,    66,    -1,    68,    69,    70,
      71,    72,    73,    -1,    -1,    -1,    77,    78,    79,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,     1,    -1,    -1,   109,   110,
      -1,   112,   113,   114,    10,    11,    -1,    13,    -1,   120,
      16,    -1,    -1,    19,    20,    21,    22,    -1,    24,    25,
      26,    27,    28,    29,    30,    -1,    -1,    33,    34,    35,
      36,    -1,    38,    39,    40,    41,    -1,    -1,    44,    45,
      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
      56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
      66,    -1,    68,    69,    70,    71,    72,    73,    -1,    -1,
      -1,    77,    78,    79,     1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    10,    -1,    -1,    13,    -1,    94,    16,
      -1,    -1,    19,    20,    21,    22,    -1,    24,    25,    -1,
      -1,    28,    29,   109,   110,    -1,   112,   113,   114,    -1,
      -1,    -1,    -1,    -1,   120,    -1,    -1,    -1,    45,    46,
      -1,    -1,    -1,    50,    51,    52,    53,    54,    55,    56,
      -1,    58,    59,    60,    61,    62,    63,    -1,    -1,    66,
      -1,    -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,
      77,    78,    79,     1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    10,    -1,    -1,    13,    -1,    94,    16,    -1,
      -1,    19,    20,    21,    -1,    -1,    24,    25,    -1,    -1,
      28,    29,   109,   110,    -1,   112,   113,   114,    -1,    -1,
      -1,    -1,    -1,   120,    -1,    -1,    -1,    45,    46,    -1,
      -1,    -1,    50,    51,    52,    53,    54,    55,    56,    -1,
      58,    59,    60,    61,    62,    63,    -1,    -1,    66,    -1,
      -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,    77,
      78,    79,    -1,    10,    11,    -1,    13,    -1,    -1,    16,
      -1,    -1,    19,    20,    21,    -1,    94,    24,    25,    -1,
      -1,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   109,   110,    -1,   112,   113,   114,    -1,    45,    46,
      -1,   119,   120,    50,    51,    52,    53,    54,    55,    56,
      57,    58,    59,    60,    61,    62,    63,    -1,    -1,    66,
      -1,    -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,
      77,    78,    79,    -1,    10,    11,    -1,    13,    -1,    -1,
      16,    -1,    -1,    19,    20,    21,    -1,    94,    24,    25,
      -1,    -1,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   109,   110,    -1,   112,   113,   114,    -1,    45,
      46,    -1,    -1,   120,    50,    51,    52,    53,    54,    55,
      56,    -1,    58,    59,    60,    61,    62,    63,    -1,    -1,
      66,    -1,    -1,    69,    70,    71,    72,    73,    -1,    -1,
      -1,    77,    78,    79,    -1,    10,    -1,    -1,    13,    -1,
      -1,    16,    -1,    -1,    19,    20,    21,    -1,    94,    24,
      25,    -1,    -1,    28,    29,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   109,   110,    -1,   112,   113,   114,    -1,
      45,    46,    -1,    -1,   120,    50,    51,    52,    53,    54,
      55,    56,    -1,    58,    59,    60,    61,    62,    63,    -1,
      -1,    66,    -1,    -1,    69,    70,    71,    72,    73,    -1,
      -1,    -1,    77,    78,    79,    -1,    10,    -1,    -1,    13,
      -1,    -1,    16,    -1,    -1,    19,    20,    21,    -1,    94,
      24,    25,    -1,    -1,    28,    29,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   109,   110,    -1,   112,   113,   114,
      -1,    45,    46,    -1,   119,   120,    50,    51,    52,    53,
      54,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
      -1,    -1,    66,    -1,    -1,    69,    70,    71,    72,    73,
      -1,    -1,    -1,    77,    78,    79,    -1,    10,    -1,    -1,
      13,    -1,    -1,    16,    -1,    -1,    19,    20,    21,    -1,
      94,    24,    25,    -1,    -1,    28,    29,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   109,   110,    -1,   112,   113,
     114,    -1,    45,    46,    -1,   119,   120,    50,    51,    52,
      53,    54,    55,    56,    -1,    58,    59,    60,    61,    62,
      63,    -1,    -1,    66,    -1,    -1,    69,    70,    71,    72,
      73,    -1,    -1,    -1,    77,    78,    79,    -1,    10,    11,
      -1,    13,    -1,    -1,    16,    -1,    -1,    19,    20,    21,
      -1,    94,    24,    25,    -1,    -1,    28,    29,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   109,   110,    -1,   112,
     113,   114,    -1,    45,    46,    -1,   119,   120,    50,    51,
      52,    53,    54,    55,    56,    -1,    58,    59,    60,    61,
      62,    63,    -1,    -1,    66,    -1,    -1,    69,    70,    71,
      72,    73,    -1,    -1,    -1,    77,    78,    79,    -1,    10,
      -1,    -1,    13,    -1,    -1,    16,    -1,    -1,    19,    20,
      21,    -1,    94,    24,    25,    -1,    -1,    28,    29,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,   110,    -1,
     112,   113,   114,    -1,    45,    46,    -1,    -1,   120,    50,
      51,    52,    53,    54,    55,    56,    -1,    58,    59,    60,
      61,    62,    63,    -1,    -1,    66,    -1,    -1,    69,    70,
      71,    72,    73,    -1,    -1,    -1,    77,    78,    79,    -1,
      10,    -1,    -1,    13,    -1,    -1,    16,    -1,    -1,    19,
      20,    21,    -1,    94,    24,    25,    -1,    -1,    28,    29,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,   110,
      -1,   112,   113,   114,    -1,    45,    46,    -1,   119,   120,
      50,    51,    52,    53,    54,    55,    56,    -1,    58,    59,
      60,    61,    62,    63,    -1,    -1,    66,    -1,    -1,    69,
      70,    71,    72,    73,    -1,    -1,    -1,    77,    78,    79,
      -1,    10,    -1,    -1,    13,    -1,    -1,    16,    -1,    -1,
      19,    20,    21,    -1,    94,    24,    25,    -1,    -1,    28,
      29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
     110,    -1,   112,   113,   114,    -1,    45,    46,    -1,   119,
     120,    50,    51,    52,    53,    54,    55,    56,    -1,    58,
      59,    60,    61,    62,    63,    -1,    -1,    66,    -1,    -1,
      69,    70,    71,    72,    73,    -1,    -1,    -1,    77,    78,
      79,    -1,    10,    -1,    -1,    13,    -1,    -1,    16,    -1,
      -1,    19,    20,    21,    -1,    94,    24,    25,    -1,    -1,
      28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     109,   110,    -1,   112,   113,   114,    -1,    45,    46,    -1,
     119,   120,    50,    51,    52,    53,    54,    55,    56,    -1,
      58,    59,    60,    61,    62,    63,    -1,    -1,    66,    -1,
      -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,    77,
      78,    79,    -1,    10,    -1,    -1,    13,    -1,    -1,    16,
      -1,    -1,    19,    20,    21,    -1,    94,    24,    25,    -1,
      -1,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   109,   110,    -1,   112,   113,   114,    -1,    45,    46,
      -1,   119,   120,    50,    51,    52,    53,    54,    55,    56,
      -1,    58,    59,    60,    61,    62,    63,    -1,    -1,    66,
      -1,    -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,
      77,    78,    79,    -1,    10,    -1,    -1,    13,    -1,    -1,
      16,    -1,    -1,    19,    20,    21,    -1,    94,    24,    25,
      -1,    -1,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   109,   110,    -1,   112,   113,   114,    -1,    45,
      46,    -1,    -1,   120,    50,    51,    52,    53,    54,    55,
      56,    -1,    58,    59,    60,    61,    62,    63,    -1,    -1,
      66,    -1,    -1,    69,    70,    71,    72,    73,    -1,    -1,
      -1,    77,    78,    79,    -1,    10,    -1,    -1,    13,    -1,
      -1,    16,    -1,    -1,    19,    20,    21,    -1,    94,    24,
      25,    -1,    -1,    28,    29,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   109,   110,    -1,   112,   113,   114,    -1,
      45,    46,    -1,    -1,   120,    50,    51,    52,    53,    54,
      55,    56,    -1,    58,    59,    60,    61,    62,    63,    -1,
      -1,    66,    -1,    -1,    69,    70,    71,    72,    73,    -1,
      -1,    -1,    77,    78,    79,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    76,    94,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    87,
      88,    89,    90,    67,   109,   110,    -1,   112,   113,   114,
      74,    75,    76,    -1,    -1,   120,    -1,   105,   106,   107,
     108,    85,    86,    87,    88,    89,    90,   115,   116,   117,
     118,    95,    96,    -1,    98,    99,   100,   101,   102,   103,
     104,   105,   106,   107,   108,    -1,    -1,    -1,    67,    -1,
      -1,   115,   116,   117,   118,    74,    75,    76,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,    88,
      89,    90,    -1,    -1,    -1,    -1,    95,    96,    -1,    98,
      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
      -1,    -1,    -1,    67,    -1,    -1,   115,   116,   117,   118,
      74,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    86,    87,    88,    89,    90,    -1,    -1,    -1,
      -1,    95,    96,    -1,    98,    99,   100,   101,   102,   103,
     104,   105,   106,   107,   108,    -1,    -1,    -1,    67,    -1,
      -1,   115,   116,   117,   118,    74,    75,    76,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    87,    88,
      89,    90,    -1,    -1,    -1,    -1,    -1,    96,    -1,    98,
      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
      -1,    -1,    -1,    67,    -1,    -1,   115,   116,   117,   118,
      74,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    86,    87,    88,    89,    90,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    98,    99,   100,   101,   102,   103,
     104,   105,   106,   107,   108,    74,    75,    76,    -1,    -1,
      -1,   115,   116,   117,   118,    -1,    -1,    86,    87,    88,
      89,    90,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
      76,   100,   101,   102,   103,   104,   105,   106,   107,   108,
      86,    87,    88,    89,    90,    -1,   115,   116,   117,   118,
      -1,    74,    75,    76,    -1,   101,   102,   103,   104,   105,
     106,   107,   108,    86,    87,    88,    89,    90,    -1,   115,
     116,   117,   118,    -1,    74,    75,    76,    -1,    -1,   102,
     103,   104,   105,   106,   107,   108,    86,    87,    88,    89,
      90,    -1,   115,   116,   117,   118,    -1,    74,    75,    76,
      -1,    -1,    -1,   103,   104,   105,   106,   107,   108,    86,
      87,    88,    89,    90,    -1,   115,   116,   117,   118,    -1,
      74,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     107,   108,    86,    87,    88,    89,    90,    -1,   115,   116,
     117,   118,    74,    75,    76,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   107,   108,    87,    88,    89,    90,    -1,
      -1,   115,   116,   117,   118,    74,    75,    76,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   107,   108,    -1,    87,    88,
      89,    90,    -1,   115,   116,   117,   118,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   108,
      -1,    -1,    -1,    -1,    -1,    -1,   115,   116,   117,   118
};

  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
     symbol of state STATE-NUM.  */
static const yytype_uint8 yystos[] =
{
       0,     3,     4,     5,     6,     7,     8,     9,   122,   123,
     124,   125,   126,   127,   128,   129,     0,   133,    10,    13,
      16,    19,    20,    21,    24,    25,    28,    29,    45,    46,
      50,    51,    52,    53,    54,    55,    56,    58,    59,    60,
      61,    62,    63,    66,    69,    70,    71,    72,    73,    77,
      78,    79,    94,   109,   110,   112,   113,   114,   120,   131,
     189,   190,   191,   194,   195,   196,   197,   198,   199,   200,
     201,   202,   203,   205,   208,   216,   217,   218,   219,   220,
     221,   222,   223,   224,    11,   130,     1,    22,    26,    27,
      30,    33,    34,    35,    36,    38,    39,    40,    41,    44,
      47,    48,    49,    64,    68,   130,   143,   155,   189,    65,
     141,   142,   143,   131,   139,   183,   184,   139,    52,    57,
     130,   217,   225,   208,   225,   203,   225,   203,   225,   225,
     203,   112,   120,   206,   217,   218,   219,   203,   130,   203,
     167,   167,   225,   225,   204,    13,   120,   203,   167,   203,
     120,   120,    83,   120,   130,   203,    52,   131,   190,   207,
     217,   225,   225,   208,    52,    57,   169,   190,   203,   203,
     203,   203,   203,   119,   189,    92,    93,    15,    11,    13,
     120,   105,   106,   105,   103,   104,   103,    67,    74,    75,
      76,    85,    86,    87,    88,    89,    90,    95,    96,    98,
      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
     115,   116,   117,   118,   120,    11,    13,    11,    13,    11,
      13,    11,   133,   168,    52,   120,   120,    29,   112,   120,
     215,   217,   120,   120,   120,   120,   130,    11,   134,   134,
     166,   169,   169,    22,    37,   131,   157,    22,    30,    33,
      34,    35,    36,    39,   142,   143,   141,    16,    20,    24,
     131,   174,   175,   177,   178,   179,   180,    14,   120,   203,
     206,   217,   218,   219,   119,   189,    80,   172,    55,   131,
     170,    80,   131,   171,   207,   120,    83,   189,   119,   130,
     119,   119,   189,   208,   208,   225,   190,    22,   207,    13,
     119,   189,   189,   203,   189,   189,   119,   189,   203,   203,
     203,   203,   203,   203,   203,   203,   203,   203,   203,   203,
     203,   203,   203,   203,   203,   203,   203,   203,   203,   203,
     203,   203,   203,    10,    11,    13,    16,    20,    24,    25,
      53,    77,   120,   193,   217,   119,   189,   189,   189,   189,
     189,   189,   189,   189,   139,    52,   131,   165,    52,   133,
     133,   112,   133,    29,   213,   214,   216,   217,   218,   219,
     133,   133,   120,   133,   133,   133,   133,   135,    42,   146,
     166,   166,   130,   154,   189,   154,   154,   162,   189,   154,
     154,    57,   173,   173,    15,   119,   189,   172,   119,    55,
     171,    55,   133,   188,   208,   190,    14,   192,   119,    84,
     119,   189,    12,   189,    13,    22,    14,   119,    97,    25,
     189,   189,    25,    25,    25,    25,    25,   119,   189,   120,
     119,    22,    14,    22,    14,    22,    14,    22,    12,    18,
     132,    11,    22,   163,   189,   163,   120,   210,   217,   120,
     131,   155,   160,   163,   164,   189,   213,   133,   162,   161,
     189,   163,   163,   139,   133,    52,   144,   145,    95,   131,
     176,   176,   178,   119,   133,   186,   120,   131,   181,   182,
     119,    23,   131,   209,   207,   119,    14,   189,    12,   203,
      22,    14,   119,   208,    12,    12,    12,    12,   133,   133,
     119,   119,   211,   212,   217,   120,   133,   119,    22,   149,
     163,   119,   119,   119,   119,    12,   120,   131,   136,    52,
     170,   171,   203,    11,   183,    11,   189,    84,    14,    12,
     119,    22,   151,   134,   134,    15,   119,   163,   163,   134,
     147,   120,   119,   159,   159,   134,   134,   137,   150,   207,
     171,    22,   187,   188,   139,   119,   139,    82,   139,    31,
      32,   131,   156,   156,   217,   120,   119,   119,   157,   161,
     163,   134,   134,   134,   217,   134,    22,    22,   185,   186,
      12,    12,   131,   140,    12,   134,   120,   163,   134,   134,
      22,   119,   157,   157,   157,   138,    43,   158,    22,    55,
     152,   163,   119,   157,   157,   148,   134,   119,   130,    17,
      81,   131,   153,   119,   134,   159,   157,   139,   134,   157,
     164,    82,   156,   119,   134
};

  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
static const yytype_uint8 yyr1[] =
{
       0,   121,   123,   122,   124,   122,   125,   122,   126,   122,
     127,   122,   128,   122,   129,   122,   130,   131,   132,   133,
     134,   135,   136,   137,   138,   136,   139,   139,   140,   140,
     141,   141,   142,   142,   143,   143,   144,   143,   145,   143,
     143,   146,   143,   143,   143,   143,   143,   143,   143,   143,
     147,   148,   143,   143,   143,   143,   149,   143,   143,   143,
     150,   143,   143,   151,   143,   143,   143,   143,   143,   152,
     153,   153,   154,   155,   155,   155,   155,   155,   155,   155,
     155,   156,   156,   156,   157,   157,   158,   158,   159,   160,
     160,   161,   161,   162,   163,   164,   165,   165,   166,   167,
     168,   169,   169,   170,   170,   171,   171,   171,   172,   172,
     173,   173,   174,   174,   175,   176,   176,   176,   177,   178,
     178,   179,   179,   179,   180,   180,   181,   181,   182,   184,
     183,   185,   185,   186,   187,   187,   188,   189,   189,   189,
     190,   190,   190,   191,   191,   191,   191,   191,   191,   191,
     191,   191,   192,   191,   193,   193,   194,   194,   194,   194,
     194,   194,   194,   194,   194,   194,   194,   194,   194,   194,
     195,   195,   195,   195,   195,   195,   195,   195,   195,   195,
     195,   195,   195,   195,   195,   195,   195,   195,   195,   196,
     196,   196,   196,   196,   197,   197,   198,   198,   198,   198,
     199,   199,   200,   200,   200,   200,   200,   200,   200,   200,
     200,   201,   201,   201,   201,   202,   202,   203,   203,   203,
     203,   203,   203,   203,   203,   203,   203,   203,   203,   203,
     203,   203,   203,   203,   203,   203,   203,   203,   203,   203,
     203,   203,   203,   203,   203,   203,   203,   203,   203,   203,
     203,   203,   203,   203,   203,   203,   203,   203,   203,   203,
     203,   203,   203,   203,   203,   204,   203,   203,   203,   203,
     205,   205,   205,   205,   206,   206,   206,   206,   206,   207,
     207,   208,   208,   209,   209,   210,   211,   211,   211,   212,
     213,   213,   213,   214,   214,   215,   215,   216,   217,   218,
     219,   220,   220,   221,   222,   222,   223,   223,   224,   224,
     225,   225,   225,   225
};

  /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
static const yytype_uint8 yyr2[] =
{
       0,     2,     0,     4,     0,     3,     0,     3,     0,     3,
       0,     3,     0,     3,     0,     3,     4,     0,     7,     0,
       4,     0,     1,     0,     0,     5,     1,     2,     1,     2,
       1,     1,     2,     2,     1,     4,     0,     7,     0,     6,
       4,     0,     7,     7,     7,     6,     6,     2,     8,     8,
       0,     0,    13,     9,    11,     8,     0,    10,     9,     7,
       0,     8,     2,     0,     8,     2,     2,     2,     1,     2,
       1,     3,     1,     1,     1,     3,     3,     3,     3,     3,
       3,     1,     2,     6,     1,     2,     0,     2,     0,     1,
       1,     0,     1,     1,     1,     1,     1,     1,     0,     0,
       0,     1,     1,     1,     1,     1,     2,     1,     2,     1,
       0,     1,     1,     1,     3,     1,     1,     2,     3,     1,
       1,     2,     3,     1,     1,     1,     1,     1,     3,     0,
       2,     1,     1,     4,     1,     1,     5,     3,     3,     1,
       2,     3,     1,     3,     5,     6,     3,     3,     5,     2,
       4,     4,     0,     5,     1,     1,     5,     4,     5,     4,
       5,     6,     5,     4,     5,     4,     3,     6,     4,     5,
       3,     3,     3,     3,     3,     3,     3,     3,     3,     1,
       1,     3,     3,     3,     3,     3,     3,     3,     3,     1,
       3,     2,     2,     3,     3,     3,     1,     3,     2,     2,
       3,     3,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     3,     4,     5,     4,     2,     2,     1,     1,     1,
       1,     5,     2,     1,     2,     3,     1,     2,     1,     1,
       1,     1,     1,     1,     4,     4,     5,     5,     1,     1,
       3,     4,     3,     4,     4,     4,     4,     4,     1,     2,
       2,     1,     2,     2,     1,     2,     1,     2,     1,     3,
       1,     3,     1,     3,     4,     0,     6,     1,     1,     1,
       3,     2,     4,     3,     3,     2,     1,     1,     1,     1,
       1,     1,     1,     1,     2,     1,     2,     3,     1,     1,
       1,     1,     1,     1,     1,     2,     2,     2,     2,     2,
       2,     2,     4,     2,     1,     3,     1,     3,     1,     3,
       1,     1,     1,     1
};

typedef enum {
	toketype_ival, toketype_opval, toketype_pval
} toketypes;

/* type of each token/terminal */
static const toketypes yy_type_tab[] =
{
  toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
  toketype_ival, toketype_ival, toketype_ival, toketype_ival,
  toketype_ival, toketype_ival, toketype_ival,
  toketype_ival, toketype_ival, toketype_ival,
  toketype_ival, toketype_ival, toketype_ival, toketype_ival,
  toketype_ival, toketype_ival, toketype_ival, toketype_ival,
  toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
  toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
  toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
  toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
  toketype_ival, toketype_ival, toketype_ival, toketype_ival,
  toketype_ival, toketype_ival, toketype_ival, toketype_opval,
  toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
  toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
  toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
  toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
  toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
  toketype_ival, toketype_pval, toketype_pval, toketype_pval, toketype_pval,
  toketype_pval, toketype_pval, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
  toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
  toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
  toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
  toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
  toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
  toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
  toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_ival, toketype_ival,
  toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
  toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval,
  toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
  toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
  toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
  toketype_opval, toketype_opval, toketype_ival, toketype_opval,
  toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
  toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval,
  toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
  toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
  toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
  toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
  toketype_opval, toketype_opval, toketype_opval, toketype_opval,
  toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
  toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval
};

/* Generated from:
 * 21f50be92bd623859b76b35d4165bcd0fbe33785929bfc0a6a522d266e86de40 perly.y
 * acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl
 * ex: set ro: */