github.com/matrixorigin/matrixone@v1.2.0/pkg/sql/parsers/dialect/mysql/mysql_sql.go (about)

     1  // Code generated by goyacc -o mysql_sql.go mysql_sql.y. DO NOT EDIT.
     2  
     3  //line mysql_sql.y:16
     4  package mysql
     5  
     6  import (
     7  	__yyfmt__ "fmt"
     8  	__yyunsafe__ "unsafe"
     9  )
    10  
    11  //line mysql_sql.y:16
    12  
    13  import (
    14  	"fmt"
    15  	"go/constant"
    16  	"strings"
    17  
    18  	"github.com/matrixorigin/matrixone/pkg/defines"
    19  	"github.com/matrixorigin/matrixone/pkg/sql/parsers/tree"
    20  	"github.com/matrixorigin/matrixone/pkg/sql/parsers/util"
    21  )
    22  
    23  const LEX_ERROR = 57346
    24  const EMPTY = 57347
    25  const UNION = 57348
    26  const EXCEPT = 57349
    27  const INTERSECT = 57350
    28  const MINUS = 57351
    29  const LOWER_THAN_ORDER = 57352
    30  const ORDER = 57353
    31  const LOWER_THAN_COMMA = 57354
    32  const SELECT = 57355
    33  const INSERT = 57356
    34  const UPDATE = 57357
    35  const DELETE = 57358
    36  const FROM = 57359
    37  const WHERE = 57360
    38  const GROUP = 57361
    39  const HAVING = 57362
    40  const BY = 57363
    41  const LIMIT = 57364
    42  const OFFSET = 57365
    43  const FOR = 57366
    44  const CONNECT = 57367
    45  const MANAGE = 57368
    46  const GRANTS = 57369
    47  const OWNERSHIP = 57370
    48  const REFERENCE = 57371
    49  const LOWER_THAN_SET = 57372
    50  const SET = 57373
    51  const ALL = 57374
    52  const DISTINCT = 57375
    53  const DISTINCTROW = 57376
    54  const AS = 57377
    55  const EXISTS = 57378
    56  const ASC = 57379
    57  const DESC = 57380
    58  const INTO = 57381
    59  const DUPLICATE = 57382
    60  const DEFAULT = 57383
    61  const LOCK = 57384
    62  const KEYS = 57385
    63  const NULLS = 57386
    64  const FIRST = 57387
    65  const LAST = 57388
    66  const AFTER = 57389
    67  const INSTANT = 57390
    68  const INPLACE = 57391
    69  const COPY = 57392
    70  const DISABLE = 57393
    71  const ENABLE = 57394
    72  const UNDEFINED = 57395
    73  const MERGE = 57396
    74  const TEMPTABLE = 57397
    75  const DEFINER = 57398
    76  const INVOKER = 57399
    77  const SQL = 57400
    78  const SECURITY = 57401
    79  const CASCADED = 57402
    80  const VALUES = 57403
    81  const NEXT = 57404
    82  const VALUE = 57405
    83  const SHARE = 57406
    84  const MODE = 57407
    85  const SQL_NO_CACHE = 57408
    86  const SQL_CACHE = 57409
    87  const JOIN = 57410
    88  const STRAIGHT_JOIN = 57411
    89  const LEFT = 57412
    90  const RIGHT = 57413
    91  const INNER = 57414
    92  const OUTER = 57415
    93  const CROSS = 57416
    94  const NATURAL = 57417
    95  const USE = 57418
    96  const FORCE = 57419
    97  const LOWER_THAN_ON = 57420
    98  const ON = 57421
    99  const USING = 57422
   100  const SUBQUERY_AS_EXPR = 57423
   101  const LOWER_THAN_STRING = 57424
   102  const ID = 57425
   103  const AT_ID = 57426
   104  const AT_AT_ID = 57427
   105  const STRING = 57428
   106  const VALUE_ARG = 57429
   107  const LIST_ARG = 57430
   108  const COMMENT = 57431
   109  const COMMENT_KEYWORD = 57432
   110  const QUOTE_ID = 57433
   111  const STAGE = 57434
   112  const CREDENTIALS = 57435
   113  const STAGES = 57436
   114  const SNAPSHOTS = 57437
   115  const INTEGRAL = 57438
   116  const HEX = 57439
   117  const FLOAT = 57440
   118  const HEXNUM = 57441
   119  const BIT_LITERAL = 57442
   120  const NULL = 57443
   121  const TRUE = 57444
   122  const FALSE = 57445
   123  const LOWER_THAN_CHARSET = 57446
   124  const CHARSET = 57447
   125  const UNIQUE = 57448
   126  const KEY = 57449
   127  const OR = 57450
   128  const PIPE_CONCAT = 57451
   129  const XOR = 57452
   130  const AND = 57453
   131  const NOT = 57454
   132  const BETWEEN = 57455
   133  const CASE = 57456
   134  const WHEN = 57457
   135  const THEN = 57458
   136  const ELSE = 57459
   137  const END = 57460
   138  const ELSEIF = 57461
   139  const LOWER_THAN_EQ = 57462
   140  const LE = 57463
   141  const GE = 57464
   142  const NE = 57465
   143  const NULL_SAFE_EQUAL = 57466
   144  const IS = 57467
   145  const LIKE = 57468
   146  const REGEXP = 57469
   147  const IN = 57470
   148  const ASSIGNMENT = 57471
   149  const ILIKE = 57472
   150  const SHIFT_LEFT = 57473
   151  const SHIFT_RIGHT = 57474
   152  const DIV = 57475
   153  const MOD = 57476
   154  const UNARY = 57477
   155  const COLLATE = 57478
   156  const BINARY = 57479
   157  const UNDERSCORE_BINARY = 57480
   158  const INTERVAL = 57481
   159  const OUT = 57482
   160  const INOUT = 57483
   161  const BEGIN = 57484
   162  const START = 57485
   163  const TRANSACTION = 57486
   164  const COMMIT = 57487
   165  const ROLLBACK = 57488
   166  const WORK = 57489
   167  const CONSISTENT = 57490
   168  const SNAPSHOT = 57491
   169  const CHAIN = 57492
   170  const NO = 57493
   171  const RELEASE = 57494
   172  const PRIORITY = 57495
   173  const QUICK = 57496
   174  const BIT = 57497
   175  const TINYINT = 57498
   176  const SMALLINT = 57499
   177  const MEDIUMINT = 57500
   178  const INT = 57501
   179  const INTEGER = 57502
   180  const BIGINT = 57503
   181  const INTNUM = 57504
   182  const REAL = 57505
   183  const DOUBLE = 57506
   184  const FLOAT_TYPE = 57507
   185  const DECIMAL = 57508
   186  const NUMERIC = 57509
   187  const DECIMAL_VALUE = 57510
   188  const TIME = 57511
   189  const TIMESTAMP = 57512
   190  const DATETIME = 57513
   191  const YEAR = 57514
   192  const CHAR = 57515
   193  const VARCHAR = 57516
   194  const BOOL = 57517
   195  const CHARACTER = 57518
   196  const VARBINARY = 57519
   197  const NCHAR = 57520
   198  const TEXT = 57521
   199  const TINYTEXT = 57522
   200  const MEDIUMTEXT = 57523
   201  const LONGTEXT = 57524
   202  const BLOB = 57525
   203  const TINYBLOB = 57526
   204  const MEDIUMBLOB = 57527
   205  const LONGBLOB = 57528
   206  const JSON = 57529
   207  const ENUM = 57530
   208  const UUID = 57531
   209  const VECF32 = 57532
   210  const VECF64 = 57533
   211  const GEOMETRY = 57534
   212  const POINT = 57535
   213  const LINESTRING = 57536
   214  const POLYGON = 57537
   215  const GEOMETRYCOLLECTION = 57538
   216  const MULTIPOINT = 57539
   217  const MULTILINESTRING = 57540
   218  const MULTIPOLYGON = 57541
   219  const INT1 = 57542
   220  const INT2 = 57543
   221  const INT3 = 57544
   222  const INT4 = 57545
   223  const INT8 = 57546
   224  const S3OPTION = 57547
   225  const STAGEOPTION = 57548
   226  const SQL_SMALL_RESULT = 57549
   227  const SQL_BIG_RESULT = 57550
   228  const SQL_BUFFER_RESULT = 57551
   229  const LOW_PRIORITY = 57552
   230  const HIGH_PRIORITY = 57553
   231  const DELAYED = 57554
   232  const CREATE = 57555
   233  const ALTER = 57556
   234  const DROP = 57557
   235  const RENAME = 57558
   236  const ANALYZE = 57559
   237  const ADD = 57560
   238  const RETURNS = 57561
   239  const SCHEMA = 57562
   240  const TABLE = 57563
   241  const SEQUENCE = 57564
   242  const INDEX = 57565
   243  const VIEW = 57566
   244  const TO = 57567
   245  const IGNORE = 57568
   246  const IF = 57569
   247  const PRIMARY = 57570
   248  const COLUMN = 57571
   249  const CONSTRAINT = 57572
   250  const SPATIAL = 57573
   251  const FULLTEXT = 57574
   252  const FOREIGN = 57575
   253  const KEY_BLOCK_SIZE = 57576
   254  const SHOW = 57577
   255  const DESCRIBE = 57578
   256  const EXPLAIN = 57579
   257  const DATE = 57580
   258  const ESCAPE = 57581
   259  const REPAIR = 57582
   260  const OPTIMIZE = 57583
   261  const TRUNCATE = 57584
   262  const MAXVALUE = 57585
   263  const PARTITION = 57586
   264  const REORGANIZE = 57587
   265  const LESS = 57588
   266  const THAN = 57589
   267  const PROCEDURE = 57590
   268  const TRIGGER = 57591
   269  const STATUS = 57592
   270  const VARIABLES = 57593
   271  const ROLE = 57594
   272  const PROXY = 57595
   273  const AVG_ROW_LENGTH = 57596
   274  const STORAGE = 57597
   275  const DISK = 57598
   276  const MEMORY = 57599
   277  const CHECKSUM = 57600
   278  const COMPRESSION = 57601
   279  const DATA = 57602
   280  const DIRECTORY = 57603
   281  const DELAY_KEY_WRITE = 57604
   282  const ENCRYPTION = 57605
   283  const ENGINE = 57606
   284  const MAX_ROWS = 57607
   285  const MIN_ROWS = 57608
   286  const PACK_KEYS = 57609
   287  const ROW_FORMAT = 57610
   288  const STATS_AUTO_RECALC = 57611
   289  const STATS_PERSISTENT = 57612
   290  const STATS_SAMPLE_PAGES = 57613
   291  const DYNAMIC = 57614
   292  const COMPRESSED = 57615
   293  const REDUNDANT = 57616
   294  const COMPACT = 57617
   295  const FIXED = 57618
   296  const COLUMN_FORMAT = 57619
   297  const AUTO_RANDOM = 57620
   298  const ENGINE_ATTRIBUTE = 57621
   299  const SECONDARY_ENGINE_ATTRIBUTE = 57622
   300  const INSERT_METHOD = 57623
   301  const RESTRICT = 57624
   302  const CASCADE = 57625
   303  const ACTION = 57626
   304  const PARTIAL = 57627
   305  const SIMPLE = 57628
   306  const CHECK = 57629
   307  const ENFORCED = 57630
   308  const RANGE = 57631
   309  const LIST = 57632
   310  const ALGORITHM = 57633
   311  const LINEAR = 57634
   312  const PARTITIONS = 57635
   313  const SUBPARTITION = 57636
   314  const SUBPARTITIONS = 57637
   315  const CLUSTER = 57638
   316  const TYPE = 57639
   317  const ANY = 57640
   318  const SOME = 57641
   319  const EXTERNAL = 57642
   320  const LOCALFILE = 57643
   321  const URL = 57644
   322  const PREPARE = 57645
   323  const DEALLOCATE = 57646
   324  const RESET = 57647
   325  const EXTENSION = 57648
   326  const INCREMENT = 57649
   327  const CYCLE = 57650
   328  const MINVALUE = 57651
   329  const PUBLICATION = 57652
   330  const SUBSCRIPTIONS = 57653
   331  const PUBLICATIONS = 57654
   332  const PROPERTIES = 57655
   333  const PARSER = 57656
   334  const VISIBLE = 57657
   335  const INVISIBLE = 57658
   336  const BTREE = 57659
   337  const HASH = 57660
   338  const RTREE = 57661
   339  const BSI = 57662
   340  const IVFFLAT = 57663
   341  const MASTER = 57664
   342  const ZONEMAP = 57665
   343  const LEADING = 57666
   344  const BOTH = 57667
   345  const TRAILING = 57668
   346  const UNKNOWN = 57669
   347  const LISTS = 57670
   348  const OP_TYPE = 57671
   349  const REINDEX = 57672
   350  const EXPIRE = 57673
   351  const ACCOUNT = 57674
   352  const ACCOUNTS = 57675
   353  const UNLOCK = 57676
   354  const DAY = 57677
   355  const NEVER = 57678
   356  const PUMP = 57679
   357  const MYSQL_COMPATIBILITY_MODE = 57680
   358  const MODIFY = 57681
   359  const CHANGE = 57682
   360  const SECOND = 57683
   361  const ASCII = 57684
   362  const COALESCE = 57685
   363  const COLLATION = 57686
   364  const HOUR = 57687
   365  const MICROSECOND = 57688
   366  const MINUTE = 57689
   367  const MONTH = 57690
   368  const QUARTER = 57691
   369  const REPEAT = 57692
   370  const REVERSE = 57693
   371  const ROW_COUNT = 57694
   372  const WEEK = 57695
   373  const REVOKE = 57696
   374  const FUNCTION = 57697
   375  const PRIVILEGES = 57698
   376  const TABLESPACE = 57699
   377  const EXECUTE = 57700
   378  const SUPER = 57701
   379  const GRANT = 57702
   380  const OPTION = 57703
   381  const REFERENCES = 57704
   382  const REPLICATION = 57705
   383  const SLAVE = 57706
   384  const CLIENT = 57707
   385  const USAGE = 57708
   386  const RELOAD = 57709
   387  const FILE = 57710
   388  const TEMPORARY = 57711
   389  const ROUTINE = 57712
   390  const EVENT = 57713
   391  const SHUTDOWN = 57714
   392  const NULLX = 57715
   393  const AUTO_INCREMENT = 57716
   394  const APPROXNUM = 57717
   395  const SIGNED = 57718
   396  const UNSIGNED = 57719
   397  const ZEROFILL = 57720
   398  const ENGINES = 57721
   399  const LOW_CARDINALITY = 57722
   400  const AUTOEXTEND_SIZE = 57723
   401  const ADMIN_NAME = 57724
   402  const RANDOM = 57725
   403  const SUSPEND = 57726
   404  const ATTRIBUTE = 57727
   405  const HISTORY = 57728
   406  const REUSE = 57729
   407  const CURRENT = 57730
   408  const OPTIONAL = 57731
   409  const FAILED_LOGIN_ATTEMPTS = 57732
   410  const PASSWORD_LOCK_TIME = 57733
   411  const UNBOUNDED = 57734
   412  const SECONDARY = 57735
   413  const RESTRICTED = 57736
   414  const USER = 57737
   415  const IDENTIFIED = 57738
   416  const CIPHER = 57739
   417  const ISSUER = 57740
   418  const X509 = 57741
   419  const SUBJECT = 57742
   420  const SAN = 57743
   421  const REQUIRE = 57744
   422  const SSL = 57745
   423  const NONE = 57746
   424  const PASSWORD = 57747
   425  const SHARED = 57748
   426  const EXCLUSIVE = 57749
   427  const MAX_QUERIES_PER_HOUR = 57750
   428  const MAX_UPDATES_PER_HOUR = 57751
   429  const MAX_CONNECTIONS_PER_HOUR = 57752
   430  const MAX_USER_CONNECTIONS = 57753
   431  const FORMAT = 57754
   432  const VERBOSE = 57755
   433  const CONNECTION = 57756
   434  const TRIGGERS = 57757
   435  const PROFILES = 57758
   436  const LOAD = 57759
   437  const INLINE = 57760
   438  const INFILE = 57761
   439  const TERMINATED = 57762
   440  const OPTIONALLY = 57763
   441  const ENCLOSED = 57764
   442  const ESCAPED = 57765
   443  const STARTING = 57766
   444  const LINES = 57767
   445  const ROWS = 57768
   446  const IMPORT = 57769
   447  const DISCARD = 57770
   448  const JSONTYPE = 57771
   449  const MODUMP = 57772
   450  const OVER = 57773
   451  const PRECEDING = 57774
   452  const FOLLOWING = 57775
   453  const GROUPS = 57776
   454  const DATABASES = 57777
   455  const TABLES = 57778
   456  const SEQUENCES = 57779
   457  const EXTENDED = 57780
   458  const FULL = 57781
   459  const PROCESSLIST = 57782
   460  const FIELDS = 57783
   461  const COLUMNS = 57784
   462  const OPEN = 57785
   463  const ERRORS = 57786
   464  const WARNINGS = 57787
   465  const INDEXES = 57788
   466  const SCHEMAS = 57789
   467  const NODE = 57790
   468  const LOCKS = 57791
   469  const ROLES = 57792
   470  const TABLE_NUMBER = 57793
   471  const COLUMN_NUMBER = 57794
   472  const TABLE_VALUES = 57795
   473  const TABLE_SIZE = 57796
   474  const NAMES = 57797
   475  const GLOBAL = 57798
   476  const PERSIST = 57799
   477  const SESSION = 57800
   478  const ISOLATION = 57801
   479  const LEVEL = 57802
   480  const READ = 57803
   481  const WRITE = 57804
   482  const ONLY = 57805
   483  const REPEATABLE = 57806
   484  const COMMITTED = 57807
   485  const UNCOMMITTED = 57808
   486  const SERIALIZABLE = 57809
   487  const LOCAL = 57810
   488  const EVENTS = 57811
   489  const PLUGINS = 57812
   490  const CURRENT_TIMESTAMP = 57813
   491  const DATABASE = 57814
   492  const CURRENT_TIME = 57815
   493  const LOCALTIME = 57816
   494  const LOCALTIMESTAMP = 57817
   495  const UTC_DATE = 57818
   496  const UTC_TIME = 57819
   497  const UTC_TIMESTAMP = 57820
   498  const REPLACE = 57821
   499  const CONVERT = 57822
   500  const SEPARATOR = 57823
   501  const TIMESTAMPDIFF = 57824
   502  const CURRENT_DATE = 57825
   503  const CURRENT_USER = 57826
   504  const CURRENT_ROLE = 57827
   505  const SECOND_MICROSECOND = 57828
   506  const MINUTE_MICROSECOND = 57829
   507  const MINUTE_SECOND = 57830
   508  const HOUR_MICROSECOND = 57831
   509  const HOUR_SECOND = 57832
   510  const HOUR_MINUTE = 57833
   511  const DAY_MICROSECOND = 57834
   512  const DAY_SECOND = 57835
   513  const DAY_MINUTE = 57836
   514  const DAY_HOUR = 57837
   515  const YEAR_MONTH = 57838
   516  const SQL_TSI_HOUR = 57839
   517  const SQL_TSI_DAY = 57840
   518  const SQL_TSI_WEEK = 57841
   519  const SQL_TSI_MONTH = 57842
   520  const SQL_TSI_QUARTER = 57843
   521  const SQL_TSI_YEAR = 57844
   522  const SQL_TSI_SECOND = 57845
   523  const SQL_TSI_MINUTE = 57846
   524  const RECURSIVE = 57847
   525  const CONFIG = 57848
   526  const DRAINER = 57849
   527  const SOURCE = 57850
   528  const STREAM = 57851
   529  const HEADERS = 57852
   530  const CONNECTOR = 57853
   531  const CONNECTORS = 57854
   532  const DAEMON = 57855
   533  const PAUSE = 57856
   534  const CANCEL = 57857
   535  const TASK = 57858
   536  const RESUME = 57859
   537  const MATCH = 57860
   538  const AGAINST = 57861
   539  const BOOLEAN = 57862
   540  const LANGUAGE = 57863
   541  const WITH = 57864
   542  const QUERY = 57865
   543  const EXPANSION = 57866
   544  const WITHOUT = 57867
   545  const VALIDATION = 57868
   546  const UPGRADE = 57869
   547  const RETRY = 57870
   548  const ADDDATE = 57871
   549  const BIT_AND = 57872
   550  const BIT_OR = 57873
   551  const BIT_XOR = 57874
   552  const CAST = 57875
   553  const COUNT = 57876
   554  const APPROX_COUNT = 57877
   555  const APPROX_COUNT_DISTINCT = 57878
   556  const SERIAL_EXTRACT = 57879
   557  const APPROX_PERCENTILE = 57880
   558  const CURDATE = 57881
   559  const CURTIME = 57882
   560  const DATE_ADD = 57883
   561  const DATE_SUB = 57884
   562  const EXTRACT = 57885
   563  const GROUP_CONCAT = 57886
   564  const MAX = 57887
   565  const MID = 57888
   566  const MIN = 57889
   567  const NOW = 57890
   568  const POSITION = 57891
   569  const SESSION_USER = 57892
   570  const STD = 57893
   571  const STDDEV = 57894
   572  const MEDIAN = 57895
   573  const CLUSTER_CENTERS = 57896
   574  const KMEANS = 57897
   575  const STDDEV_POP = 57898
   576  const STDDEV_SAMP = 57899
   577  const SUBDATE = 57900
   578  const SUBSTR = 57901
   579  const SUBSTRING = 57902
   580  const SUM = 57903
   581  const SYSDATE = 57904
   582  const SYSTEM_USER = 57905
   583  const TRANSLATE = 57906
   584  const TRIM = 57907
   585  const VARIANCE = 57908
   586  const VAR_POP = 57909
   587  const VAR_SAMP = 57910
   588  const AVG = 57911
   589  const RANK = 57912
   590  const ROW_NUMBER = 57913
   591  const DENSE_RANK = 57914
   592  const BIT_CAST = 57915
   593  const BITMAP_BIT_POSITION = 57916
   594  const BITMAP_BUCKET_NUMBER = 57917
   595  const BITMAP_COUNT = 57918
   596  const BITMAP_CONSTRUCT_AGG = 57919
   597  const BITMAP_OR_AGG = 57920
   598  const NEXTVAL = 57921
   599  const SETVAL = 57922
   600  const CURRVAL = 57923
   601  const LASTVAL = 57924
   602  const ARROW = 57925
   603  const ROW = 57926
   604  const OUTFILE = 57927
   605  const HEADER = 57928
   606  const MAX_FILE_SIZE = 57929
   607  const FORCE_QUOTE = 57930
   608  const PARALLEL = 57931
   609  const STRICT = 57932
   610  const UNUSED = 57933
   611  const BINDINGS = 57934
   612  const DO = 57935
   613  const DECLARE = 57936
   614  const LOOP = 57937
   615  const WHILE = 57938
   616  const LEAVE = 57939
   617  const ITERATE = 57940
   618  const UNTIL = 57941
   619  const CALL = 57942
   620  const PREV = 57943
   621  const SLIDING = 57944
   622  const FILL = 57945
   623  const SPBEGIN = 57946
   624  const BACKEND = 57947
   625  const SERVERS = 57948
   626  const HANDLER = 57949
   627  const PERCENT = 57950
   628  const SAMPLE = 57951
   629  const MO_TS = 57952
   630  const KILL = 57953
   631  const BACKUP = 57954
   632  const FILESYSTEM = 57955
   633  const PARALLELISM = 57956
   634  const RESTORE = 57957
   635  const QUERY_RESULT = 57958
   636  
   637  var yyToknames = [...]string{
   638  	"$end",
   639  	"error",
   640  	"$unk",
   641  	"LEX_ERROR",
   642  	"EMPTY",
   643  	"UNION",
   644  	"EXCEPT",
   645  	"INTERSECT",
   646  	"MINUS",
   647  	"LOWER_THAN_ORDER",
   648  	"ORDER",
   649  	"LOWER_THAN_COMMA",
   650  	"SELECT",
   651  	"INSERT",
   652  	"UPDATE",
   653  	"DELETE",
   654  	"FROM",
   655  	"WHERE",
   656  	"GROUP",
   657  	"HAVING",
   658  	"BY",
   659  	"LIMIT",
   660  	"OFFSET",
   661  	"FOR",
   662  	"CONNECT",
   663  	"MANAGE",
   664  	"GRANTS",
   665  	"OWNERSHIP",
   666  	"REFERENCE",
   667  	"LOWER_THAN_SET",
   668  	"SET",
   669  	"ALL",
   670  	"DISTINCT",
   671  	"DISTINCTROW",
   672  	"AS",
   673  	"EXISTS",
   674  	"ASC",
   675  	"DESC",
   676  	"INTO",
   677  	"DUPLICATE",
   678  	"DEFAULT",
   679  	"LOCK",
   680  	"KEYS",
   681  	"NULLS",
   682  	"FIRST",
   683  	"LAST",
   684  	"AFTER",
   685  	"INSTANT",
   686  	"INPLACE",
   687  	"COPY",
   688  	"DISABLE",
   689  	"ENABLE",
   690  	"UNDEFINED",
   691  	"MERGE",
   692  	"TEMPTABLE",
   693  	"DEFINER",
   694  	"INVOKER",
   695  	"SQL",
   696  	"SECURITY",
   697  	"CASCADED",
   698  	"VALUES",
   699  	"NEXT",
   700  	"VALUE",
   701  	"SHARE",
   702  	"MODE",
   703  	"SQL_NO_CACHE",
   704  	"SQL_CACHE",
   705  	"JOIN",
   706  	"STRAIGHT_JOIN",
   707  	"LEFT",
   708  	"RIGHT",
   709  	"INNER",
   710  	"OUTER",
   711  	"CROSS",
   712  	"NATURAL",
   713  	"USE",
   714  	"FORCE",
   715  	"LOWER_THAN_ON",
   716  	"ON",
   717  	"USING",
   718  	"SUBQUERY_AS_EXPR",
   719  	"'('",
   720  	"')'",
   721  	"LOWER_THAN_STRING",
   722  	"ID",
   723  	"AT_ID",
   724  	"AT_AT_ID",
   725  	"STRING",
   726  	"VALUE_ARG",
   727  	"LIST_ARG",
   728  	"COMMENT",
   729  	"COMMENT_KEYWORD",
   730  	"QUOTE_ID",
   731  	"STAGE",
   732  	"CREDENTIALS",
   733  	"STAGES",
   734  	"SNAPSHOTS",
   735  	"INTEGRAL",
   736  	"HEX",
   737  	"FLOAT",
   738  	"HEXNUM",
   739  	"BIT_LITERAL",
   740  	"NULL",
   741  	"TRUE",
   742  	"FALSE",
   743  	"LOWER_THAN_CHARSET",
   744  	"CHARSET",
   745  	"UNIQUE",
   746  	"KEY",
   747  	"OR",
   748  	"PIPE_CONCAT",
   749  	"XOR",
   750  	"AND",
   751  	"NOT",
   752  	"'!'",
   753  	"BETWEEN",
   754  	"CASE",
   755  	"WHEN",
   756  	"THEN",
   757  	"ELSE",
   758  	"END",
   759  	"ELSEIF",
   760  	"LOWER_THAN_EQ",
   761  	"'='",
   762  	"'<'",
   763  	"'>'",
   764  	"LE",
   765  	"GE",
   766  	"NE",
   767  	"NULL_SAFE_EQUAL",
   768  	"IS",
   769  	"LIKE",
   770  	"REGEXP",
   771  	"IN",
   772  	"ASSIGNMENT",
   773  	"ILIKE",
   774  	"'|'",
   775  	"'&'",
   776  	"SHIFT_LEFT",
   777  	"SHIFT_RIGHT",
   778  	"'+'",
   779  	"'-'",
   780  	"'*'",
   781  	"'/'",
   782  	"DIV",
   783  	"'%'",
   784  	"MOD",
   785  	"'^'",
   786  	"'~'",
   787  	"UNARY",
   788  	"COLLATE",
   789  	"BINARY",
   790  	"UNDERSCORE_BINARY",
   791  	"INTERVAL",
   792  	"'.'",
   793  	"','",
   794  	"OUT",
   795  	"INOUT",
   796  	"BEGIN",
   797  	"START",
   798  	"TRANSACTION",
   799  	"COMMIT",
   800  	"ROLLBACK",
   801  	"WORK",
   802  	"CONSISTENT",
   803  	"SNAPSHOT",
   804  	"CHAIN",
   805  	"NO",
   806  	"RELEASE",
   807  	"PRIORITY",
   808  	"QUICK",
   809  	"BIT",
   810  	"TINYINT",
   811  	"SMALLINT",
   812  	"MEDIUMINT",
   813  	"INT",
   814  	"INTEGER",
   815  	"BIGINT",
   816  	"INTNUM",
   817  	"REAL",
   818  	"DOUBLE",
   819  	"FLOAT_TYPE",
   820  	"DECIMAL",
   821  	"NUMERIC",
   822  	"DECIMAL_VALUE",
   823  	"TIME",
   824  	"TIMESTAMP",
   825  	"DATETIME",
   826  	"YEAR",
   827  	"CHAR",
   828  	"VARCHAR",
   829  	"BOOL",
   830  	"CHARACTER",
   831  	"VARBINARY",
   832  	"NCHAR",
   833  	"TEXT",
   834  	"TINYTEXT",
   835  	"MEDIUMTEXT",
   836  	"LONGTEXT",
   837  	"BLOB",
   838  	"TINYBLOB",
   839  	"MEDIUMBLOB",
   840  	"LONGBLOB",
   841  	"JSON",
   842  	"ENUM",
   843  	"UUID",
   844  	"VECF32",
   845  	"VECF64",
   846  	"GEOMETRY",
   847  	"POINT",
   848  	"LINESTRING",
   849  	"POLYGON",
   850  	"GEOMETRYCOLLECTION",
   851  	"MULTIPOINT",
   852  	"MULTILINESTRING",
   853  	"MULTIPOLYGON",
   854  	"INT1",
   855  	"INT2",
   856  	"INT3",
   857  	"INT4",
   858  	"INT8",
   859  	"S3OPTION",
   860  	"STAGEOPTION",
   861  	"SQL_SMALL_RESULT",
   862  	"SQL_BIG_RESULT",
   863  	"SQL_BUFFER_RESULT",
   864  	"LOW_PRIORITY",
   865  	"HIGH_PRIORITY",
   866  	"DELAYED",
   867  	"CREATE",
   868  	"ALTER",
   869  	"DROP",
   870  	"RENAME",
   871  	"ANALYZE",
   872  	"ADD",
   873  	"RETURNS",
   874  	"SCHEMA",
   875  	"TABLE",
   876  	"SEQUENCE",
   877  	"INDEX",
   878  	"VIEW",
   879  	"TO",
   880  	"IGNORE",
   881  	"IF",
   882  	"PRIMARY",
   883  	"COLUMN",
   884  	"CONSTRAINT",
   885  	"SPATIAL",
   886  	"FULLTEXT",
   887  	"FOREIGN",
   888  	"KEY_BLOCK_SIZE",
   889  	"SHOW",
   890  	"DESCRIBE",
   891  	"EXPLAIN",
   892  	"DATE",
   893  	"ESCAPE",
   894  	"REPAIR",
   895  	"OPTIMIZE",
   896  	"TRUNCATE",
   897  	"MAXVALUE",
   898  	"PARTITION",
   899  	"REORGANIZE",
   900  	"LESS",
   901  	"THAN",
   902  	"PROCEDURE",
   903  	"TRIGGER",
   904  	"STATUS",
   905  	"VARIABLES",
   906  	"ROLE",
   907  	"PROXY",
   908  	"AVG_ROW_LENGTH",
   909  	"STORAGE",
   910  	"DISK",
   911  	"MEMORY",
   912  	"CHECKSUM",
   913  	"COMPRESSION",
   914  	"DATA",
   915  	"DIRECTORY",
   916  	"DELAY_KEY_WRITE",
   917  	"ENCRYPTION",
   918  	"ENGINE",
   919  	"MAX_ROWS",
   920  	"MIN_ROWS",
   921  	"PACK_KEYS",
   922  	"ROW_FORMAT",
   923  	"STATS_AUTO_RECALC",
   924  	"STATS_PERSISTENT",
   925  	"STATS_SAMPLE_PAGES",
   926  	"DYNAMIC",
   927  	"COMPRESSED",
   928  	"REDUNDANT",
   929  	"COMPACT",
   930  	"FIXED",
   931  	"COLUMN_FORMAT",
   932  	"AUTO_RANDOM",
   933  	"ENGINE_ATTRIBUTE",
   934  	"SECONDARY_ENGINE_ATTRIBUTE",
   935  	"INSERT_METHOD",
   936  	"RESTRICT",
   937  	"CASCADE",
   938  	"ACTION",
   939  	"PARTIAL",
   940  	"SIMPLE",
   941  	"CHECK",
   942  	"ENFORCED",
   943  	"RANGE",
   944  	"LIST",
   945  	"ALGORITHM",
   946  	"LINEAR",
   947  	"PARTITIONS",
   948  	"SUBPARTITION",
   949  	"SUBPARTITIONS",
   950  	"CLUSTER",
   951  	"TYPE",
   952  	"ANY",
   953  	"SOME",
   954  	"EXTERNAL",
   955  	"LOCALFILE",
   956  	"URL",
   957  	"PREPARE",
   958  	"DEALLOCATE",
   959  	"RESET",
   960  	"EXTENSION",
   961  	"INCREMENT",
   962  	"CYCLE",
   963  	"MINVALUE",
   964  	"PUBLICATION",
   965  	"SUBSCRIPTIONS",
   966  	"PUBLICATIONS",
   967  	"PROPERTIES",
   968  	"PARSER",
   969  	"VISIBLE",
   970  	"INVISIBLE",
   971  	"BTREE",
   972  	"HASH",
   973  	"RTREE",
   974  	"BSI",
   975  	"IVFFLAT",
   976  	"MASTER",
   977  	"ZONEMAP",
   978  	"LEADING",
   979  	"BOTH",
   980  	"TRAILING",
   981  	"UNKNOWN",
   982  	"LISTS",
   983  	"OP_TYPE",
   984  	"REINDEX",
   985  	"EXPIRE",
   986  	"ACCOUNT",
   987  	"ACCOUNTS",
   988  	"UNLOCK",
   989  	"DAY",
   990  	"NEVER",
   991  	"PUMP",
   992  	"MYSQL_COMPATIBILITY_MODE",
   993  	"MODIFY",
   994  	"CHANGE",
   995  	"SECOND",
   996  	"ASCII",
   997  	"COALESCE",
   998  	"COLLATION",
   999  	"HOUR",
  1000  	"MICROSECOND",
  1001  	"MINUTE",
  1002  	"MONTH",
  1003  	"QUARTER",
  1004  	"REPEAT",
  1005  	"REVERSE",
  1006  	"ROW_COUNT",
  1007  	"WEEK",
  1008  	"REVOKE",
  1009  	"FUNCTION",
  1010  	"PRIVILEGES",
  1011  	"TABLESPACE",
  1012  	"EXECUTE",
  1013  	"SUPER",
  1014  	"GRANT",
  1015  	"OPTION",
  1016  	"REFERENCES",
  1017  	"REPLICATION",
  1018  	"SLAVE",
  1019  	"CLIENT",
  1020  	"USAGE",
  1021  	"RELOAD",
  1022  	"FILE",
  1023  	"TEMPORARY",
  1024  	"ROUTINE",
  1025  	"EVENT",
  1026  	"SHUTDOWN",
  1027  	"NULLX",
  1028  	"AUTO_INCREMENT",
  1029  	"APPROXNUM",
  1030  	"SIGNED",
  1031  	"UNSIGNED",
  1032  	"ZEROFILL",
  1033  	"ENGINES",
  1034  	"LOW_CARDINALITY",
  1035  	"AUTOEXTEND_SIZE",
  1036  	"ADMIN_NAME",
  1037  	"RANDOM",
  1038  	"SUSPEND",
  1039  	"ATTRIBUTE",
  1040  	"HISTORY",
  1041  	"REUSE",
  1042  	"CURRENT",
  1043  	"OPTIONAL",
  1044  	"FAILED_LOGIN_ATTEMPTS",
  1045  	"PASSWORD_LOCK_TIME",
  1046  	"UNBOUNDED",
  1047  	"SECONDARY",
  1048  	"RESTRICTED",
  1049  	"USER",
  1050  	"IDENTIFIED",
  1051  	"CIPHER",
  1052  	"ISSUER",
  1053  	"X509",
  1054  	"SUBJECT",
  1055  	"SAN",
  1056  	"REQUIRE",
  1057  	"SSL",
  1058  	"NONE",
  1059  	"PASSWORD",
  1060  	"SHARED",
  1061  	"EXCLUSIVE",
  1062  	"MAX_QUERIES_PER_HOUR",
  1063  	"MAX_UPDATES_PER_HOUR",
  1064  	"MAX_CONNECTIONS_PER_HOUR",
  1065  	"MAX_USER_CONNECTIONS",
  1066  	"FORMAT",
  1067  	"VERBOSE",
  1068  	"CONNECTION",
  1069  	"TRIGGERS",
  1070  	"PROFILES",
  1071  	"LOAD",
  1072  	"INLINE",
  1073  	"INFILE",
  1074  	"TERMINATED",
  1075  	"OPTIONALLY",
  1076  	"ENCLOSED",
  1077  	"ESCAPED",
  1078  	"STARTING",
  1079  	"LINES",
  1080  	"ROWS",
  1081  	"IMPORT",
  1082  	"DISCARD",
  1083  	"JSONTYPE",
  1084  	"MODUMP",
  1085  	"OVER",
  1086  	"PRECEDING",
  1087  	"FOLLOWING",
  1088  	"GROUPS",
  1089  	"DATABASES",
  1090  	"TABLES",
  1091  	"SEQUENCES",
  1092  	"EXTENDED",
  1093  	"FULL",
  1094  	"PROCESSLIST",
  1095  	"FIELDS",
  1096  	"COLUMNS",
  1097  	"OPEN",
  1098  	"ERRORS",
  1099  	"WARNINGS",
  1100  	"INDEXES",
  1101  	"SCHEMAS",
  1102  	"NODE",
  1103  	"LOCKS",
  1104  	"ROLES",
  1105  	"TABLE_NUMBER",
  1106  	"COLUMN_NUMBER",
  1107  	"TABLE_VALUES",
  1108  	"TABLE_SIZE",
  1109  	"NAMES",
  1110  	"GLOBAL",
  1111  	"PERSIST",
  1112  	"SESSION",
  1113  	"ISOLATION",
  1114  	"LEVEL",
  1115  	"READ",
  1116  	"WRITE",
  1117  	"ONLY",
  1118  	"REPEATABLE",
  1119  	"COMMITTED",
  1120  	"UNCOMMITTED",
  1121  	"SERIALIZABLE",
  1122  	"LOCAL",
  1123  	"EVENTS",
  1124  	"PLUGINS",
  1125  	"CURRENT_TIMESTAMP",
  1126  	"DATABASE",
  1127  	"CURRENT_TIME",
  1128  	"LOCALTIME",
  1129  	"LOCALTIMESTAMP",
  1130  	"UTC_DATE",
  1131  	"UTC_TIME",
  1132  	"UTC_TIMESTAMP",
  1133  	"REPLACE",
  1134  	"CONVERT",
  1135  	"SEPARATOR",
  1136  	"TIMESTAMPDIFF",
  1137  	"CURRENT_DATE",
  1138  	"CURRENT_USER",
  1139  	"CURRENT_ROLE",
  1140  	"SECOND_MICROSECOND",
  1141  	"MINUTE_MICROSECOND",
  1142  	"MINUTE_SECOND",
  1143  	"HOUR_MICROSECOND",
  1144  	"HOUR_SECOND",
  1145  	"HOUR_MINUTE",
  1146  	"DAY_MICROSECOND",
  1147  	"DAY_SECOND",
  1148  	"DAY_MINUTE",
  1149  	"DAY_HOUR",
  1150  	"YEAR_MONTH",
  1151  	"SQL_TSI_HOUR",
  1152  	"SQL_TSI_DAY",
  1153  	"SQL_TSI_WEEK",
  1154  	"SQL_TSI_MONTH",
  1155  	"SQL_TSI_QUARTER",
  1156  	"SQL_TSI_YEAR",
  1157  	"SQL_TSI_SECOND",
  1158  	"SQL_TSI_MINUTE",
  1159  	"RECURSIVE",
  1160  	"CONFIG",
  1161  	"DRAINER",
  1162  	"SOURCE",
  1163  	"STREAM",
  1164  	"HEADERS",
  1165  	"CONNECTOR",
  1166  	"CONNECTORS",
  1167  	"DAEMON",
  1168  	"PAUSE",
  1169  	"CANCEL",
  1170  	"TASK",
  1171  	"RESUME",
  1172  	"MATCH",
  1173  	"AGAINST",
  1174  	"BOOLEAN",
  1175  	"LANGUAGE",
  1176  	"WITH",
  1177  	"QUERY",
  1178  	"EXPANSION",
  1179  	"WITHOUT",
  1180  	"VALIDATION",
  1181  	"UPGRADE",
  1182  	"RETRY",
  1183  	"ADDDATE",
  1184  	"BIT_AND",
  1185  	"BIT_OR",
  1186  	"BIT_XOR",
  1187  	"CAST",
  1188  	"COUNT",
  1189  	"APPROX_COUNT",
  1190  	"APPROX_COUNT_DISTINCT",
  1191  	"SERIAL_EXTRACT",
  1192  	"APPROX_PERCENTILE",
  1193  	"CURDATE",
  1194  	"CURTIME",
  1195  	"DATE_ADD",
  1196  	"DATE_SUB",
  1197  	"EXTRACT",
  1198  	"GROUP_CONCAT",
  1199  	"MAX",
  1200  	"MID",
  1201  	"MIN",
  1202  	"NOW",
  1203  	"POSITION",
  1204  	"SESSION_USER",
  1205  	"STD",
  1206  	"STDDEV",
  1207  	"MEDIAN",
  1208  	"CLUSTER_CENTERS",
  1209  	"KMEANS",
  1210  	"STDDEV_POP",
  1211  	"STDDEV_SAMP",
  1212  	"SUBDATE",
  1213  	"SUBSTR",
  1214  	"SUBSTRING",
  1215  	"SUM",
  1216  	"SYSDATE",
  1217  	"SYSTEM_USER",
  1218  	"TRANSLATE",
  1219  	"TRIM",
  1220  	"VARIANCE",
  1221  	"VAR_POP",
  1222  	"VAR_SAMP",
  1223  	"AVG",
  1224  	"RANK",
  1225  	"ROW_NUMBER",
  1226  	"DENSE_RANK",
  1227  	"BIT_CAST",
  1228  	"BITMAP_BIT_POSITION",
  1229  	"BITMAP_BUCKET_NUMBER",
  1230  	"BITMAP_COUNT",
  1231  	"BITMAP_CONSTRUCT_AGG",
  1232  	"BITMAP_OR_AGG",
  1233  	"NEXTVAL",
  1234  	"SETVAL",
  1235  	"CURRVAL",
  1236  	"LASTVAL",
  1237  	"ARROW",
  1238  	"ROW",
  1239  	"OUTFILE",
  1240  	"HEADER",
  1241  	"MAX_FILE_SIZE",
  1242  	"FORCE_QUOTE",
  1243  	"PARALLEL",
  1244  	"STRICT",
  1245  	"UNUSED",
  1246  	"BINDINGS",
  1247  	"DO",
  1248  	"DECLARE",
  1249  	"LOOP",
  1250  	"WHILE",
  1251  	"LEAVE",
  1252  	"ITERATE",
  1253  	"UNTIL",
  1254  	"CALL",
  1255  	"PREV",
  1256  	"SLIDING",
  1257  	"FILL",
  1258  	"SPBEGIN",
  1259  	"BACKEND",
  1260  	"SERVERS",
  1261  	"HANDLER",
  1262  	"PERCENT",
  1263  	"SAMPLE",
  1264  	"MO_TS",
  1265  	"KILL",
  1266  	"BACKUP",
  1267  	"FILESYSTEM",
  1268  	"PARALLELISM",
  1269  	"RESTORE",
  1270  	"QUERY_RESULT",
  1271  	"';'",
  1272  	"'{'",
  1273  	"'}'",
  1274  	"':'",
  1275  	"'@'",
  1276  }
  1277  
  1278  var yyStatenames = [...]string{}
  1279  
  1280  const yyEofCode = 1
  1281  const yyErrCode = 2
  1282  const yyInitialStackSize = 16
  1283  
  1284  //line mysql_sql.y:12099
  1285  
  1286  //line yacctab:1
  1287  var yyExca = [...]int{
  1288  	-1, 1,
  1289  	1, -1,
  1290  	-2, 0,
  1291  	-1, 123,
  1292  	11, 740,
  1293  	22, 740,
  1294  	-2, 733,
  1295  	-1, 144,
  1296  	238, 1141,
  1297  	240, 1040,
  1298  	-2, 1087,
  1299  	-1, 169,
  1300  	43, 563,
  1301  	240, 563,
  1302  	267, 570,
  1303  	268, 570,
  1304  	463, 563,
  1305  	-2, 600,
  1306  	-1, 210,
  1307  	637, 1897,
  1308  	-2, 476,
  1309  	-1, 511,
  1310  	637, 2016,
  1311  	-2, 365,
  1312  	-1, 569,
  1313  	637, 2075,
  1314  	-2, 363,
  1315  	-1, 570,
  1316  	637, 2076,
  1317  	-2, 364,
  1318  	-1, 571,
  1319  	637, 2077,
  1320  	-2, 366,
  1321  	-1, 702,
  1322  	319, 151,
  1323  	435, 151,
  1324  	436, 151,
  1325  	-2, 1802,
  1326  	-1, 768,
  1327  	82, 1589,
  1328  	-2, 1952,
  1329  	-1, 769,
  1330  	82, 1607,
  1331  	-2, 1923,
  1332  	-1, 773,
  1333  	82, 1608,
  1334  	-2, 1951,
  1335  	-1, 806,
  1336  	82, 1516,
  1337  	-2, 2148,
  1338  	-1, 807,
  1339  	82, 1517,
  1340  	-2, 2147,
  1341  	-1, 808,
  1342  	82, 1518,
  1343  	-2, 2137,
  1344  	-1, 809,
  1345  	82, 2109,
  1346  	-2, 2130,
  1347  	-1, 810,
  1348  	82, 2110,
  1349  	-2, 2131,
  1350  	-1, 811,
  1351  	82, 2111,
  1352  	-2, 2139,
  1353  	-1, 812,
  1354  	82, 2112,
  1355  	-2, 2119,
  1356  	-1, 813,
  1357  	82, 2113,
  1358  	-2, 2128,
  1359  	-1, 814,
  1360  	82, 2114,
  1361  	-2, 2140,
  1362  	-1, 815,
  1363  	82, 2115,
  1364  	-2, 2141,
  1365  	-1, 816,
  1366  	82, 2116,
  1367  	-2, 2146,
  1368  	-1, 817,
  1369  	82, 2117,
  1370  	-2, 2151,
  1371  	-1, 818,
  1372  	82, 2118,
  1373  	-2, 2152,
  1374  	-1, 819,
  1375  	82, 1585,
  1376  	-2, 1990,
  1377  	-1, 820,
  1378  	82, 1586,
  1379  	-2, 1786,
  1380  	-1, 821,
  1381  	82, 1587,
  1382  	-2, 1999,
  1383  	-1, 822,
  1384  	82, 1588,
  1385  	-2, 1795,
  1386  	-1, 824,
  1387  	82, 1591,
  1388  	-2, 1803,
  1389  	-1, 825,
  1390  	82, 1592,
  1391  	-2, 2023,
  1392  	-1, 827,
  1393  	82, 1595,
  1394  	-2, 1822,
  1395  	-1, 829,
  1396  	82, 1597,
  1397  	-2, 2035,
  1398  	-1, 830,
  1399  	82, 1598,
  1400  	-2, 2034,
  1401  	-1, 831,
  1402  	82, 1599,
  1403  	-2, 1866,
  1404  	-1, 832,
  1405  	82, 1600,
  1406  	-2, 1947,
  1407  	-1, 835,
  1408  	82, 1603,
  1409  	-2, 2046,
  1410  	-1, 837,
  1411  	82, 1605,
  1412  	-2, 2049,
  1413  	-1, 838,
  1414  	82, 1606,
  1415  	-2, 2051,
  1416  	-1, 839,
  1417  	82, 1609,
  1418  	-2, 2059,
  1419  	-1, 840,
  1420  	82, 1610,
  1421  	-2, 1932,
  1422  	-1, 841,
  1423  	82, 1611,
  1424  	-2, 1977,
  1425  	-1, 842,
  1426  	82, 1612,
  1427  	-2, 1942,
  1428  	-1, 843,
  1429  	82, 1613,
  1430  	-2, 1967,
  1431  	-1, 854,
  1432  	82, 1494,
  1433  	-2, 2142,
  1434  	-1, 855,
  1435  	82, 1495,
  1436  	-2, 2143,
  1437  	-1, 856,
  1438  	82, 1496,
  1439  	-2, 2144,
  1440  	-1, 945,
  1441  	458, 600,
  1442  	459, 600,
  1443  	-2, 564,
  1444  	-1, 992,
  1445  	124, 1786,
  1446  	135, 1786,
  1447  	155, 1786,
  1448  	-2, 1760,
  1449  	-1, 1108,
  1450  	22, 767,
  1451  	-2, 716,
  1452  	-1, 1214,
  1453  	11, 740,
  1454  	22, 740,
  1455  	-2, 1374,
  1456  	-1, 1296,
  1457  	22, 767,
  1458  	-2, 716,
  1459  	-1, 1626,
  1460  	82, 1660,
  1461  	-2, 1949,
  1462  	-1, 1627,
  1463  	82, 1661,
  1464  	-2, 1950,
  1465  	-1, 1784,
  1466  	83, 917,
  1467  	-2, 923,
  1468  	-1, 2217,
  1469  	107, 1079,
  1470  	151, 1079,
  1471  	190, 1079,
  1472  	193, 1079,
  1473  	280, 1079,
  1474  	-2, 1072,
  1475  	-1, 2367,
  1476  	11, 740,
  1477  	22, 740,
  1478  	-2, 860,
  1479  	-1, 2399,
  1480  	83, 1746,
  1481  	156, 1746,
  1482  	-2, 1934,
  1483  	-1, 2400,
  1484  	83, 1746,
  1485  	156, 1746,
  1486  	-2, 1933,
  1487  	-1, 2401,
  1488  	83, 1722,
  1489  	156, 1722,
  1490  	-2, 1920,
  1491  	-1, 2402,
  1492  	83, 1723,
  1493  	156, 1723,
  1494  	-2, 1925,
  1495  	-1, 2403,
  1496  	83, 1724,
  1497  	156, 1724,
  1498  	-2, 1854,
  1499  	-1, 2404,
  1500  	83, 1725,
  1501  	156, 1725,
  1502  	-2, 1848,
  1503  	-1, 2405,
  1504  	83, 1726,
  1505  	156, 1726,
  1506  	-2, 1776,
  1507  	-1, 2406,
  1508  	83, 1727,
  1509  	156, 1727,
  1510  	-2, 1922,
  1511  	-1, 2407,
  1512  	83, 1728,
  1513  	156, 1728,
  1514  	-2, 1852,
  1515  	-1, 2408,
  1516  	83, 1729,
  1517  	156, 1729,
  1518  	-2, 1847,
  1519  	-1, 2409,
  1520  	83, 1730,
  1521  	156, 1730,
  1522  	-2, 1836,
  1523  	-1, 2410,
  1524  	83, 1746,
  1525  	156, 1746,
  1526  	-2, 1837,
  1527  	-1, 2411,
  1528  	83, 1746,
  1529  	156, 1746,
  1530  	-2, 1838,
  1531  	-1, 2413,
  1532  	83, 1735,
  1533  	156, 1735,
  1534  	-2, 1967,
  1535  	-1, 2414,
  1536  	83, 1713,
  1537  	156, 1713,
  1538  	-2, 1952,
  1539  	-1, 2415,
  1540  	83, 1744,
  1541  	156, 1744,
  1542  	-2, 1923,
  1543  	-1, 2416,
  1544  	83, 1744,
  1545  	156, 1744,
  1546  	-2, 1951,
  1547  	-1, 2417,
  1548  	83, 1744,
  1549  	156, 1744,
  1550  	-2, 1804,
  1551  	-1, 2418,
  1552  	83, 1742,
  1553  	156, 1742,
  1554  	-2, 1942,
  1555  	-1, 2419,
  1556  	83, 1739,
  1557  	156, 1739,
  1558  	-2, 1827,
  1559  	-1, 2420,
  1560  	82, 1694,
  1561  	83, 1694,
  1562  	156, 1694,
  1563  	393, 1694,
  1564  	394, 1694,
  1565  	395, 1694,
  1566  	-2, 1775,
  1567  	-1, 2421,
  1568  	82, 1695,
  1569  	83, 1695,
  1570  	156, 1695,
  1571  	393, 1695,
  1572  	394, 1695,
  1573  	395, 1695,
  1574  	-2, 1777,
  1575  	-1, 2422,
  1576  	82, 1696,
  1577  	83, 1696,
  1578  	156, 1696,
  1579  	393, 1696,
  1580  	394, 1696,
  1581  	395, 1696,
  1582  	-2, 1995,
  1583  	-1, 2423,
  1584  	82, 1698,
  1585  	83, 1698,
  1586  	156, 1698,
  1587  	393, 1698,
  1588  	394, 1698,
  1589  	395, 1698,
  1590  	-2, 1924,
  1591  	-1, 2424,
  1592  	82, 1700,
  1593  	83, 1700,
  1594  	156, 1700,
  1595  	393, 1700,
  1596  	394, 1700,
  1597  	395, 1700,
  1598  	-2, 1906,
  1599  	-1, 2425,
  1600  	82, 1702,
  1601  	83, 1702,
  1602  	156, 1702,
  1603  	393, 1702,
  1604  	394, 1702,
  1605  	395, 1702,
  1606  	-2, 1853,
  1607  	-1, 2426,
  1608  	82, 1704,
  1609  	83, 1704,
  1610  	156, 1704,
  1611  	393, 1704,
  1612  	394, 1704,
  1613  	395, 1704,
  1614  	-2, 1832,
  1615  	-1, 2427,
  1616  	82, 1705,
  1617  	83, 1705,
  1618  	156, 1705,
  1619  	393, 1705,
  1620  	394, 1705,
  1621  	395, 1705,
  1622  	-2, 1833,
  1623  	-1, 2428,
  1624  	82, 1707,
  1625  	83, 1707,
  1626  	156, 1707,
  1627  	393, 1707,
  1628  	394, 1707,
  1629  	395, 1707,
  1630  	-2, 1774,
  1631  	-1, 2429,
  1632  	83, 1749,
  1633  	156, 1749,
  1634  	393, 1749,
  1635  	394, 1749,
  1636  	395, 1749,
  1637  	-2, 1809,
  1638  	-1, 2430,
  1639  	83, 1749,
  1640  	156, 1749,
  1641  	393, 1749,
  1642  	394, 1749,
  1643  	395, 1749,
  1644  	-2, 1823,
  1645  	-1, 2431,
  1646  	83, 1752,
  1647  	156, 1752,
  1648  	393, 1752,
  1649  	394, 1752,
  1650  	395, 1752,
  1651  	-2, 1805,
  1652  	-1, 2432,
  1653  	83, 1752,
  1654  	156, 1752,
  1655  	393, 1752,
  1656  	394, 1752,
  1657  	395, 1752,
  1658  	-2, 1869,
  1659  	-1, 2433,
  1660  	83, 1749,
  1661  	156, 1749,
  1662  	393, 1749,
  1663  	394, 1749,
  1664  	395, 1749,
  1665  	-2, 1890,
  1666  	-1, 2635,
  1667  	107, 1079,
  1668  	151, 1079,
  1669  	190, 1079,
  1670  	193, 1079,
  1671  	280, 1079,
  1672  	-2, 1073,
  1673  	-1, 2653,
  1674  	80, 660,
  1675  	156, 660,
  1676  	-2, 1256,
  1677  	-1, 3055,
  1678  	193, 1079,
  1679  	304, 1342,
  1680  	-2, 1314,
  1681  	-1, 3221,
  1682  	107, 1079,
  1683  	151, 1079,
  1684  	190, 1079,
  1685  	193, 1079,
  1686  	-2, 1197,
  1687  	-1, 3223,
  1688  	107, 1079,
  1689  	151, 1079,
  1690  	190, 1079,
  1691  	193, 1079,
  1692  	-2, 1197,
  1693  	-1, 3235,
  1694  	80, 660,
  1695  	156, 660,
  1696  	-2, 1256,
  1697  	-1, 3257,
  1698  	193, 1079,
  1699  	304, 1342,
  1700  	-2, 1315,
  1701  	-1, 3397,
  1702  	107, 1079,
  1703  	151, 1079,
  1704  	190, 1079,
  1705  	193, 1079,
  1706  	-2, 1198,
  1707  	-1, 3424,
  1708  	83, 1159,
  1709  	156, 1159,
  1710  	-2, 1079,
  1711  	-1, 3556,
  1712  	83, 1159,
  1713  	156, 1159,
  1714  	-2, 1079,
  1715  	-1, 3708,
  1716  	83, 1163,
  1717  	156, 1163,
  1718  	-2, 1079,
  1719  	-1, 3756,
  1720  	83, 1164,
  1721  	156, 1164,
  1722  	-2, 1079,
  1723  }
  1724  
  1725  const yyPrivate = 57344
  1726  
  1727  const yyLast = 48457
  1728  
  1729  var yyAct = [...]int{
  1730  	735, 712, 3802, 737, 3776, 2683, 199, 3795, 3712, 1869,
  1731  	1606, 3718, 3242, 3613, 3336, 3711, 3719, 3074, 3556, 3041,
  1732  	3639, 721, 3596, 3670, 3452, 3143, 3271, 1443, 3534, 2487,
  1733  	2677, 3590, 1249, 3555, 3144, 1381, 3384, 3385, 1602, 3382,
  1734  	3617, 3480, 604, 714, 765, 2680, 3525, 1109, 991, 2686,
  1735  	3340, 1520, 1387, 3597, 622, 3331, 628, 628, 3599, 1653,
  1736  	1817, 3208, 628, 645, 654, 3404, 3399, 654, 3394, 2656,
  1737  	2265, 3258, 1103, 3366, 1609, 3011, 2972, 2790, 3050, 3224,
  1738  	3141, 2789, 1960, 3000, 184, 2791, 3196, 2773, 2707, 3226,
  1739  	3052, 3070, 3099, 37, 1667, 3183, 710, 3059, 2072, 2522,
  1740  	2852, 2395, 665, 3129, 2268, 2812, 1957, 2030, 3109, 2786,
  1741  	659, 2361, 2624, 2979, 1436, 2983, 1925, 1829, 3058, 2973,
  1742  	704, 2975, 2974, 1532, 2247, 2977, 2228, 2397, 3020, 2970,
  1743  	2636, 1099, 2345, 122, 1358, 2195, 2181, 2298, 36, 1975,
  1744  	2068, 2180, 2898, 2955, 2055, 2825, 2467, 920, 709, 2039,
  1745  	2038, 1524, 1516, 1759, 2449, 2362, 651, 2003, 2031, 1521,
  1746  	2835, 1953, 1928, 2350, 1926, 2612, 2067, 2607, 1352, 1848,
  1747  	2709, 2688, 1321, 604, 2266, 1859, 2648, 6, 59, 195,
  1748  	8, 194, 7, 2217, 2227, 1793, 2393, 985, 1048, 1600,
  1749  	2069, 1531, 1483, 1452, 713, 2261, 2079, 1509, 621, 199,
  1750  	2207, 199, 2102, 1039, 1040, 1422, 1640, 1660, 703, 1553,
  1751  	628, 1390, 1122, 722, 2037, 1535, 1591, 2034, 954, 1490,
  1752  	1828, 27, 23, 2555, 1993, 1370, 16, 1789, 15, 603,
  1753  	14, 984, 1599, 1421, 2019, 33, 1475, 1792, 858, 919,
  1754  	637, 668, 1668, 2369, 705, 1419, 640, 1382, 667, 100,
  1755  	24, 17, 10, 1482, 185, 896, 1605, 653, 175, 181,
  1756  	917, 1354, 902, 1294, 940, 711, 1250, 664, 3519, 1391,
  1757  	1182, 1183, 1184, 1181, 2076, 2590, 2590, 1366, 1182, 1183,
  1758  	1184, 1181, 1545, 1035, 650, 1037, 2590, 2371, 1036, 646,
  1759  	3412, 649, 3238, 648, 1182, 1183, 1184, 1181, 647, 1182,
  1760  	1183, 1184, 1181, 1544, 3027, 2086, 1104, 3211, 3136, 2248,
  1761  	997, 2510, 2452, 1105, 2455, 999, 2453, 1772, 633, 2450,
  1762  	1497, 1493, 1031, 860, 657, 861, 1032, 183, 623, 2179,
  1763  	1032, 1313, 624, 2948, 2945, 2950, 705, 2947, 1032, 3787,
  1764  	2582, 2580, 3261, 1404, 1766, 1309, 1495, 1182, 1183, 1184,
  1765  	1181, 1182, 1183, 1184, 1181, 1000, 3329, 2848, 2846, 2008,
  1766  	1104, 1030, 3585, 8, 3487, 7, 3481, 3332, 3142, 2052,
  1767  	3601, 1244, 2033, 859, 2925, 2025, 2306, 3693, 3541, 3371,
  1768  	3273, 2584, 870, 2504, 1316, 1144, 2496, 1688, 2073, 629,
  1769  	3367, 3225, 2219, 3264, 182, 1530, 182, 182, 55, 171,
  1770  	145, 182, 3507, 3650, 3259, 1462, 182, 182, 1461, 3281,
  1771  	3282, 2218, 1539, 182, 1460, 3260, 182, 55, 171, 145,
  1772  	182, 663, 3542, 706, 182, 55, 171, 145, 1003, 2642,
  1773  	1001, 681, 680, 687, 677, 182, 2923, 1002, 182, 55,
  1774  	171, 145, 1536, 684, 685, 1317, 686, 690, 1327, 121,
  1775  	671, 1344, 3265, 1551, 2870, 182, 55, 171, 145, 2784,
  1776  	695, 2860, 1774, 1538, 2388, 176, 176, 2084, 121, 2387,
  1777  	176, 1592, 1574, 2212, 1596, 176, 2640, 1179, 1159, 2818,
  1778  	1120, 1160, 176, 1548, 3509, 176, 1937, 1400, 1562, 176,
  1779  	1401, 871, 1378, 176, 2375, 2819, 2820, 2374, 1595, 995,
  1780  	2376, 996, 1117, 699, 1550, 3045, 701, 176, 1970, 1162,
  1781  	2468, 700, 1938, 1939, 963, 2949, 2946, 1776, 1777, 1423,
  1782  	1843, 1425, 1388, 1389, 176, 849, 2643, 848, 850, 851,
  1783  	1608, 852, 853, 1386, 2609, 1172, 3690, 1385, 1388, 1389,
  1784  	3722, 3723, 1177, 994, 2610, 3353, 3280, 993, 2269, 3043,
  1785  	1684, 3604, 3683, 3603, 3682, 3604, 1681, 3602, 3681, 3603,
  1786  	1683, 1680, 1682, 1686, 1687, 3686, 3602, 3588, 1685, 2168,
  1787  	3743, 3780, 3781, 3269, 2853, 3672, 1403, 3145, 2854, 1326,
  1788  	2855, 3672, 1597, 3591, 3592, 3593, 3594, 2585, 2491, 1157,
  1789  	3145, 1496, 1494, 2608, 3675, 3266, 3270, 3268, 3267, 2088,
  1790  	3484, 1702, 1114, 3610, 1125, 1594, 1954, 3158, 3376, 1612,
  1791  	2992, 1948, 1944, 2728, 144, 1583, 180, 3695, 3696, 1587,
  1792  	1033, 1034, 1125, 3197, 2080, 1038, 628, 628, 3204, 2016,
  1793  	3691, 3692, 2615, 3275, 3276, 2339, 169, 628, 1113, 2984,
  1794  	1152, 2994, 2888, 1154, 3511, 3512, 2206, 908, 672, 674,
  1795  	673, 2599, 1158, 1503, 1502, 3283, 654, 654, 679, 628,
  1796  	1175, 1176, 3688, 2501, 699, 2989, 2990, 701, 168, 2886,
  1797  	683, 1155, 700, 1174, 2304, 1147, 3330, 698, 2847, 2777,
  1798  	3283, 2991, 3352, 2342, 676, 2341, 3516, 1112, 666, 1376,
  1799  	3354, 3373, 3262, 3684, 3721, 2597, 3505, 3187, 3274, 2583,
  1800  	1413, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677,
  1801  	1678, 1679, 1691, 1692, 1693, 1694, 1695, 1696, 1689, 1690,
  1802  	2085, 1222, 1593, 2988, 2211, 1611, 1610, 873, 662, 1161,
  1803  	1042, 2598, 1328, 3295, 2346, 651, 651, 3073, 1402, 1312,
  1804  	2063, 1169, 3298, 1546, 620, 3047, 1170, 1171, 3518, 3071,
  1805  	3072, 1148, 1543, 3009, 1164, 3161, 2892, 1165, 3751, 1968,
  1806  	1969, 1106, 3021, 874, 3632, 1139, 2589, 1113, 2074, 2074,
  1807  	2649, 2074, 1105, 2091, 2093, 2094, 1150, 997, 3546, 1618,
  1808  	1621, 1622, 999, 3627, 1105, 1167, 1105, 3538, 1153, 1156,
  1809  	1619, 656, 655, 678, 682, 688, 2869, 689, 691, 1127,
  1810  	1126, 692, 693, 694, 2868, 2782, 696, 697, 2214, 3288,
  1811  	1253, 2956, 3618, 3634, 1149, 3243, 1254, 1127, 1126, 3540,
  1812  	2867, 1032, 1000, 3640, 3694, 2107, 2075, 1032, 3279, 1032,
  1813  	3042, 1032, 2682, 1119, 1032, 1032, 2986, 652, 1365, 1216,
  1814  	1105, 2678, 2679, 3076, 2682, 652, 3250, 2451, 3609, 997,
  1815  	3299, 1498, 2087, 3443, 999, 910, 3813, 911, 973, 652,
  1816  	3432, 2316, 2315, 650, 650, 1163, 2390, 1128, 646, 646,
  1817  	649, 649, 648, 648, 3798, 1315, 652, 647, 647, 3343,
  1818  	1130, 1388, 1389, 2621, 1432, 1324, 622, 1431, 1116, 1118,
  1819  	859, 1151, 1380, 1379, 1000, 3438, 2581, 3372, 1108, 56,
  1820  	1137, 2505, 1136, 1168, 3278, 1292, 1363, 56, 1297, 3510,
  1821  	2336, 2337, 1377, 1132, 1133, 177, 178, 1362, 179, 920,
  1822  	146, 56, 146, 146, 1361, 1388, 1389, 146, 1166, 2271,
  1823  	1138, 3641, 146, 146, 1775, 3547, 3526, 1223, 56, 146,
  1824  	1955, 2614, 146, 3560, 3539, 3710, 146, 3051, 1100, 2985,
  1825  	146, 3499, 2995, 3500, 2889, 2944, 3513, 1107, 1101, 996,
  1826  	2307, 146, 675, 3227, 146, 1213, 3327, 2264, 1322, 3494,
  1827  	628, 3048, 1415, 3377, 3687, 1384, 663, 3669, 604, 604,
  1828  	1420, 146, 1218, 1219, 1220, 1221, 3606, 604, 604, 2757,
  1829  	3148, 1447, 1447, 2729, 628, 2730, 2731, 2618, 2619, 3362,
  1830  	1947, 1945, 969, 967, 1144, 968, 1336, 3502, 1588, 2830,
  1831  	2831, 3799, 2617, 3499, 2092, 3500, 654, 1476, 622, 1449,
  1832  	1620, 2281, 1486, 1486, 3071, 3072, 3067, 2814, 2816, 1445,
  1833  	1445, 2960, 2497, 199, 3075, 2987, 2379, 2302, 3501, 2077,
  1834  	1329, 2274, 604, 1454, 1265, 1266, 2284, 2593, 2891, 2530,
  1835  	2271, 2274, 2264, 2287, 3453, 3454, 3455, 3459, 3457, 3458,
  1836  	3456, 1331, 1332, 1333, 1334, 1335, 2270, 1337, 1342, 3502,
  1837  	2103, 2272, 3559, 1343, 1341, 1340, 1339, 1091, 1087, 1088,
  1838  	1089, 1090, 658, 2535, 1325, 2534, 2533, 2531, 3190, 1414,
  1839  	1143, 974, 3445, 1528, 964, 914, 915, 916, 1533, 1504,
  1840  	3501, 2089, 2090, 1441, 1442, 1542, 3068, 909, 3434, 2726,
  1841  	2286, 3184, 3433, 970, 2628, 2631, 2632, 2633, 2629, 2630,
  1842  	1349, 1298, 2595, 3709, 1296, 2273, 2187, 3439, 3440, 964,
  1843  	1572, 1185, 2900, 2899, 964, 2189, 2188, 1320, 3007, 1215,
  1844  	912, 1779, 3796, 3797, 1447, 1780, 1447, 1113, 1225, 3363,
  1845  	1330, 2961, 2532, 2285, 2668, 1552, 2748, 2749, 2186, 1372,
  1846  	1373, 1318, 1319, 1567, 1568, 1427, 1429, 2184, 1773, 1778,
  1847  	875, 2328, 2275, 1233, 1439, 1440, 972, 966, 2301, 1351,
  1848  	965, 876, 2275, 3405, 1357, 1359, 3821, 2270, 2264, 2269,
  1849  	1364, 2267, 2272, 1537, 2815, 2209, 1607, 1374, 3814, 3809,
  1850  	1549, 1367, 1371, 1371, 1371, 1393, 1394, 1392, 1396, 1397,
  1851  	1395, 1398, 966, 651, 1447, 965, 1477, 966, 3149, 879,
  1852  	965, 1430, 1518, 1519, 2359, 1582, 1367, 1367, 2280, 1499,
  1853  	3026, 1666, 2278, 1541, 1405, 1406, 2654, 2758, 2760, 2761,
  1854  	2762, 2759, 1526, 3679, 3804, 1715, 2273, 1507, 1523, 1510,
  1855  	1511, 1527, 1654, 971, 1996, 1571, 1455, 2198, 3495, 633,
  1856  	1512, 1513, 3496, 1570, 1110, 1468, 2137, 3008, 2594, 2136,
  1857  	878, 2554, 2082, 1474, 881, 880, 1487, 1590, 1000, 2747,
  1858  	2199, 2200, 1180, 2116, 3106, 1000, 1604, 1488, 1144, 2470,
  1859  	2536, 2537, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635,
  1860  	1636, 1637, 1638, 1639, 3793, 1359, 2655, 3069, 1651, 1652,
  1861  	2208, 1113, 975, 1182, 1183, 1184, 1181, 3805, 1589, 3102,
  1862  	3495, 3193, 1781, 2360, 3598, 3758, 3730, 1476, 1757, 1585,
  1863  	3724, 1700, 1790, 1447, 1795, 1796, 1623, 1798, 1799, 628,
  1864  	1560, 650, 1180, 1563, 628, 3160, 646, 1447, 649, 2360,
  1865  	648, 920, 2243, 1580, 1818, 647, 1724, 1555, 1577, 2115,
  1866  	1768, 1447, 1576, 1705, 1706, 1707, 1561, 1415, 1023, 1028,
  1867  	1029, 3706, 645, 2173, 3660, 2655, 1721, 3759, 1760, 1722,
  1868  	3635, 1581, 1579, 1578, 1575, 1110, 1603, 1182, 1183, 1184,
  1869  	1181, 1598, 1842, 1994, 1714, 1142, 1735, 1736, 3759, 3731,
  1870  	1601, 1849, 1849, 3522, 1415, 2496, 1415, 1415, 3080, 1180,
  1871  	628, 628, 3078, 1790, 1919, 1756, 1144, 1447, 1922, 1923,
  1872  	1935, 1642, 863, 864, 865, 866, 1697, 1698, 2954, 1701,
  1873  	1141, 3623, 2952, 2921, 604, 3579, 1447, 1716, 1797, 1182,
  1874  	1183, 1184, 1181, 3106, 3707, 1485, 1485, 3522, 1846, 3578,
  1875  	1723, 3573, 1725, 2082, 1726, 1727, 1728, 1182, 1183, 1184,
  1876  	1181, 3572, 2360, 3571, 628, 1790, 1447, 2833, 1980, 2601,
  1877  	628, 628, 628, 1985, 1986, 1649, 1650, 3570, 1871, 2586,
  1878  	1990, 1991, 1992, 3550, 3549, 2242, 1998, 2486, 2475, 1819,
  1879  	1971, 2271, 2274, 199, 3521, 1917, 199, 199, 2390, 199,
  1880  	1786, 1787, 1788, 2113, 3624, 1688, 1763, 1142, 3580, 1834,
  1881  	1729, 2073, 1801, 1802, 1803, 1804, 863, 864, 865, 866,
  1882  	1936, 1852, 2232, 3304, 3522, 1841, 3252, 3217, 1844, 1845,
  1883  	1293, 2257, 1758, 2178, 3522, 1949, 3522, 2172, 2171, 1715,
  1884  	1715, 2041, 1941, 3176, 1943, 1764, 3172, 3088, 1963, 1964,
  1885  	3522, 1715, 1715, 2144, 1961, 1962, 2082, 2082, 2057, 2064,
  1886  	1025, 1026, 1027, 1785, 2809, 2561, 1966, 3522, 1350, 1979,
  1887  	868, 1850, 3469, 1657, 1433, 1851, 1956, 2007, 3806, 3238,
  1888  	2010, 2011, 1830, 2013, 1832, 1833, 2837, 1818, 2051, 1794,
  1889  	1815, 1447, 2071, 1458, 1814, 3203, 2390, 2553, 1839, 3253,
  1890  	3218, 1835, 2512, 1810, 1613, 1614, 1615, 1616, 1617, 1982,
  1891  	1983, 1984, 1831, 1840, 2657, 2043, 3177, 1823, 2494, 3173,
  1892  	3089, 1820, 1821, 2275, 1826, 1827, 1853, 1854, 2270, 2264,
  1893  	2269, 1367, 2267, 2272, 2482, 1537, 3302, 2360, 1180, 1825,
  1894  	1916, 1836, 1837, 2477, 2259, 1371, 1658, 2065, 2472, 2499,
  1895  	1662, 1663, 1664, 1665, 1921, 2464, 2047, 1371, 651, 1699,
  1896  	1940, 1847, 1942, 1924, 868, 1950, 2498, 1709, 1684, 1213,
  1897  	1180, 2490, 997, 1794, 1681, 1180, 2251, 999, 1683, 1680,
  1898  	1682, 1686, 1687, 2462, 997, 2460, 1685, 2273, 2036, 999,
  1899  	2458, 2232, 1977, 2132, 2117, 2062, 1409, 1410, 1978, 1412,
  1900  	2036, 1416, 1417, 1418, 2001, 1988, 2231, 2473, 2174, 2004,
  1901  	1557, 1230, 2002, 1129, 1097, 1965, 2478, 1000, 1092, 1761,
  1902  	1000, 2473, 1601, 2151, 2150, 2135, 2126, 1197, 2465, 1000,
  1903  	3031, 3628, 2883, 1463, 1464, 1465, 1466, 1467, 3815, 1469,
  1904  	1470, 1471, 1472, 1473, 2100, 2101, 2125, 1479, 1480, 1481,
  1905  	2021, 2124, 1704, 1703, 2081, 1564, 2463, 2042, 2459, 1437,
  1906  	1355, 1435, 3784, 2459, 1356, 2053, 2050, 2096, 2048, 2299,
  1907  	1438, 3520, 3406, 3230, 2183, 3629, 2185, 997, 2061, 2232,
  1908  	3491, 2173, 999, 1822, 704, 2059, 650, 628, 628, 628,
  1909  	3436, 646, 1368, 649, 3435, 648, 1180, 1180, 1180, 1180,
  1910  	647, 3421, 628, 628, 628, 628, 2066, 1838, 1704, 1703,
  1911  	1399, 2060, 3228, 3378, 3210, 2229, 3407, 3231, 877, 1180,
  1912  	3107, 3098, 1000, 3093, 1180, 2235, 1415, 2082, 1565, 3090,
  1913  	1691, 1692, 1693, 1694, 1695, 1696, 1689, 1690, 2095, 1196,
  1914  	1195, 1205, 1206, 1198, 1199, 1200, 1201, 1202, 1203, 1204,
  1915  	1197, 2097, 1415, 2104, 2145, 2146, 3229, 2148, 1642, 3037,
  1916  	1761, 1434, 3002, 1741, 2155, 1761, 1761, 2109, 2779, 2293,
  1917  	1730, 1731, 1732, 1733, 2626, 2450, 1737, 1738, 1739, 1740,
  1918  	1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751,
  1919  	738, 748, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1197,
  1920  	739, 2591, 740, 744, 747, 743, 741, 742, 2509, 1369,
  1921  	1355, 2098, 2099, 2476, 1356, 2006, 2381, 2046, 2009, 1734,
  1922  	2300, 2012, 3134, 2045, 2014, 1200, 1201, 1202, 1203, 1204,
  1923  	1197, 2364, 2364, 1935, 2364, 1196, 1195, 1205, 1206, 1198,
  1924  	1199, 1200, 1201, 1202, 1203, 1204, 1197, 2044, 1346, 882,
  1925  	1345, 1115, 604, 604, 2139, 745, 1182, 1183, 1184, 1181,
  1926  	1113, 2237, 2238, 2519, 2444, 3135, 1447, 628, 1661, 2253,
  1927  	2110, 2240, 2241, 2250, 2175, 2252, 2167, 2169, 2170, 3022,
  1928  	2056, 1491, 628, 2005, 2263, 2262, 2005, 746, 1113, 2434,
  1929  	622, 2210, 2192, 1661, 2839, 1486, 1782, 1935, 1184, 1181,
  1930  	2439, 3680, 2441, 1253, 2385, 1181, 199, 3448, 3447, 1254,
  1931  	2856, 2902, 2718, 2716, 2305, 2694, 2692, 2308, 2309, 2310,
  1932  	2311, 2312, 2313, 2314, 3427, 2256, 2317, 2318, 2319, 2320,
  1933  	2321, 2322, 2323, 2324, 2325, 2326, 2327, 2398, 2329, 2330,
  1934  	2331, 2332, 2333, 2366, 2334, 2370, 2236, 2239, 2377, 2368,
  1935  	2378, 1232, 2245, 3379, 3380, 2246, 3023, 3812, 3374, 2276,
  1936  	2277, 2625, 2282, 2492, 1231, 1719, 997, 2071, 2382, 2383,
  1937  	3201, 999, 2249, 2574, 1447, 2575, 1447, 1648, 1447, 2769,
  1938  	1720, 2106, 3789, 1113, 2767, 2111, 1182, 1183, 1184, 1181,
  1939  	2445, 2511, 3788, 1645, 1647, 1644, 3734, 1646, 3705, 3704,
  1940  	3024, 2244, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1186,
  1941  	3630, 1000, 3575, 2438, 2502, 3375, 1371, 1447, 2539, 3811,
  1942  	3563, 2392, 2343, 3553, 3543, 2765, 2123, 3202, 2436, 3482,
  1943  	3409, 3408, 2506, 2546, 2130, 3244, 2768, 2443, 1447, 1427,
  1944  	1429, 2766, 2372, 3232, 2538, 1205, 1206, 1198, 1199, 1200,
  1945  	1201, 1202, 1203, 1204, 1197, 1445, 2147, 3200, 2993, 2754,
  1946  	2386, 2152, 2153, 2154, 2879, 2547, 2157, 2158, 2159, 2160,
  1947  	2161, 2162, 2163, 2164, 2165, 2166, 1445, 1182, 1183, 1184,
  1948  	1181, 2389, 2764, 2851, 2850, 2592, 2521, 2437, 2435, 1182,
  1949  	1183, 1184, 1181, 2550, 2551, 2752, 2751, 1981, 1113, 2750,
  1950  	3137, 2742, 1113, 2736, 1182, 1183, 1184, 1181, 2735, 1447,
  1951  	2734, 2733, 2622, 2623, 2527, 2454, 2753, 2587, 2466, 1919,
  1952  	2177, 1182, 1183, 1184, 1181, 2024, 2023, 2653, 2022, 2508,
  1953  	2446, 2018, 2017, 2659, 1974, 1973, 2548, 1972, 1558, 1311,
  1954  	2523, 3209, 2523, 3100, 2503, 699, 3808, 2602, 701, 2978,
  1955  	1095, 2398, 2670, 700, 2517, 3807, 2578, 2495, 3337, 2493,
  1956  	3782, 2484, 1113, 2500, 1182, 1183, 1184, 1181, 3514, 3515,
  1957  	2691, 3750, 3749, 1492, 3746, 3667, 3612, 1113, 1113, 1113,
  1958  	1849, 3383, 3595, 1113, 2637, 2702, 2703, 2704, 2705, 1113,
  1959  	2712, 3586, 2713, 2714, 3567, 2715, 3562, 2717, 3561, 3517,
  1960  	2638, 2513, 2514, 3483, 2529, 3429, 1094, 3390, 2712, 1182,
  1961  	1183, 1184, 1181, 3360, 2641, 3357, 3356, 1491, 3335, 3333,
  1962  	2364, 3312, 3311, 3308, 1871, 3306, 2774, 2697, 2698, 3239,
  1963  	1601, 3199, 2701, 3198, 2770, 3195, 3185, 2660, 2708, 3169,
  1964  	3167, 3095, 604, 3086, 2611, 3085, 3003, 1919, 1113, 1935,
  1965  	1935, 1935, 1935, 2650, 2965, 2964, 750, 123, 2959, 2182,
  1966  	1113, 1935, 123, 2893, 2364, 1761, 2890, 1761, 2849, 2516,
  1967  	2684, 2604, 2689, 2606, 2662, 2823, 2689, 2763, 2755, 2665,
  1968  	1447, 2685, 2745, 2672, 2743, 1761, 1761, 2545, 2603, 2739,
  1969  	2738, 628, 628, 2737, 2620, 2588, 2696, 2792, 2914, 1000,
  1970  	2128, 805, 804, 3647, 2644, 2485, 2027, 2020, 2658, 2792,
  1971  	8, 2652, 7, 1771, 1770, 1559, 634, 1261, 1485, 123,
  1972  	1195, 1205, 1206, 1198, 1199, 1200, 1201, 1202, 1203, 1204,
  1973  	1197, 2671, 1257, 2674, 1256, 1098, 872, 2805, 2724, 2725,
  1974  	2687, 2690, 182, 2693, 171, 145, 3643, 199, 3504, 2700,
  1975  	3503, 3492, 199, 2740, 2741, 3359, 3344, 2913, 3223, 3222,
  1976  	3221, 2669, 3192, 3181, 3179, 1794, 2127, 3178, 2479, 2480,
  1977  	2481, 3175, 3174, 3168, 1715, 2744, 1715, 2776, 2732, 2866,
  1978  	1182, 1183, 1184, 1181, 1182, 1183, 1184, 1181, 3166, 3150,
  1979  	3140, 2878, 3139, 1182, 1183, 1184, 1181, 1447, 2661, 3125,
  1980  	2885, 3124, 3032, 2968, 2488, 2489, 2775, 2666, 2667, 2780,
  1981  	2951, 176, 3733, 2793, 2794, 2795, 2796, 2919, 2912, 2808,
  1982  	3715, 2904, 2804, 2806, 2120, 2903, 2834, 2897, 2832, 2778,
  1983  	2807, 2840, 1933, 998, 2520, 2600, 2844, 2526, 2461, 2457,
  1984  	123, 2456, 2156, 2824, 2540, 2541, 2821, 1182, 1183, 1184,
  1985  	1181, 2149, 2543, 2544, 1760, 123, 2143, 123, 2114, 2865,
  1986  	2142, 2141, 2140, 2817, 2138, 2134, 2861, 2133, 2549, 1518,
  1987  	1519, 1182, 1183, 1184, 1181, 2131, 2871, 1182, 1183, 1184,
  1988  	1181, 2122, 2863, 2119, 1526, 2907, 3616, 2909, 627, 627,
  1989  	1523, 2872, 2118, 1527, 635, 2962, 1613, 1761, 1511, 2963,
  1990  	2882, 2026, 2887, 2842, 2838, 2841, 1113, 2112, 1512, 1513,
  1991  	1754, 1753, 2981, 1182, 1183, 1184, 1181, 1182, 1183, 1184,
  1992  	1181, 1752, 2997, 2862, 1718, 2859, 2864, 1717, 628, 2857,
  1993  	2873, 2875, 2874, 1182, 1183, 1184, 1181, 2881, 1708, 1459,
  1994  	3012, 1113, 3358, 1457, 628, 1251, 1113, 1113, 3764, 3554,
  1995  	3642, 1000, 2894, 3581, 3659, 1935, 2229, 3569, 3030, 3564,
  1996  	1506, 1000, 3463, 3446, 2895, 182, 2663, 2664, 2901, 1182,
  1997  	1183, 1184, 1181, 3442, 3420, 3403, 3320, 2293, 3318, 2910,
  1998  	2911, 2953, 1182, 1183, 1184, 1181, 3006, 2908, 3290, 3057,
  1999  	3289, 3060, 3346, 3060, 3060, 3286, 3285, 3251, 1113, 3248,
  2000  	3246, 3212, 2637, 1196, 1195, 1205, 1206, 1198, 1199, 1200,
  2001  	1201, 1202, 1203, 1204, 1197, 3657, 3345, 3081, 1517, 1182,
  2002  	1183, 1184, 1181, 3077, 1508, 1447, 1447, 2958, 2905, 2906,
  2003  	2967, 3044, 3046, 2957, 176, 1522, 3015, 2966, 3079, 1525,
  2004  	1514, 3019, 635, 1182, 1183, 1184, 1181, 1353, 2771, 2695,
  2005  	2646, 2645, 3082, 3083, 2639, 2998, 2999, 2605, 2573, 2471,
  2006  	2380, 2335, 2230, 1445, 1445, 2201, 3005, 3040, 2176, 1643,
  2007  	3014, 3028, 628, 176, 997, 3017, 3018, 2981, 3292, 999,
  2008  	1987, 1784, 3029, 3025, 1767, 1415, 3056, 3065, 1919, 1919,
  2009  	3034, 1586, 1412, 1540, 3655, 3164, 3033, 2263, 2262, 3653,
  2010  	3039, 3035, 3036, 1515, 1310, 1182, 1183, 1184, 1181, 1295,
  2011  	1291, 3061, 3062, 2917, 3055, 1290, 1289, 3066, 1288, 1000,
  2012  	1287, 1000, 1182, 1183, 1184, 1181, 1000, 1286, 1285, 1284,
  2013  	1283, 1208, 1282, 1212, 1113, 1281, 1280, 1279, 2539, 1278,
  2014  	1182, 1183, 1184, 1181, 1277, 1276, 1275, 3138, 1274, 1209,
  2015  	1211, 1207, 1000, 1210, 1196, 1195, 1205, 1206, 1198, 1199,
  2016  	1200, 1201, 1202, 1203, 1204, 1197, 1273, 3063, 1272, 1271,
  2017  	1270, 1269, 1268, 1267, 2843, 1264, 2845, 1347, 2916, 1263,
  2018  	1262, 1260, 1259, 2398, 3425, 2915, 1258, 1255, 1248, 1247,
  2019  	3092, 1245, 628, 3094, 3097, 1761, 3096, 3103, 3104, 2572,
  2020  	1761, 3091, 3101, 1244, 3114, 1182, 1183, 1184, 1181, 2571,
  2021  	2056, 3087, 1182, 1183, 1184, 1181, 1243, 3118, 1242, 3121,
  2022  	3122, 3123, 2570, 1241, 1240, 3105, 1182, 1183, 1184, 1181,
  2023  	1239, 3038, 1238, 1237, 1236, 3127, 1182, 1183, 1184, 1181,
  2024  	3117, 1235, 3133, 2569, 1234, 2896, 1229, 1228, 1227, 1182,
  2025  	1183, 1184, 1181, 1226, 1146, 1096, 3287, 3418, 2568, 3110,
  2026  	3111, 3762, 3188, 2234, 2567, 2216, 1134, 3720, 3151, 2918,
  2027  	1182, 1183, 1184, 1181, 3113, 3153, 2566, 3416, 3152, 2627,
  2028  	2391, 3157, 2029, 3156, 1145, 1182, 1183, 1184, 1181, 3116,
  2029  	3170, 1182, 1183, 1184, 1181, 3115, 2801, 2798, 123, 123,
  2030  	998, 2802, 3162, 1182, 1183, 1184, 1181, 2797, 2483, 2474,
  2031  	3216, 1196, 1195, 1205, 1206, 1198, 1199, 1200, 1201, 1202,
  2032  	1203, 1204, 1197, 3001, 108, 2877, 2364, 1935, 3235, 2565,
  2033  	2523, 1196, 1195, 1205, 1206, 1198, 1199, 1200, 1201, 1202,
  2034  	1203, 1204, 1197, 2799, 1812, 1813, 2564, 2303, 2800, 3182,
  2035  	58, 3297, 3254, 3186, 3322, 1113, 1182, 1183, 1184, 1181,
  2036  	2563, 57, 3323, 3191, 3057, 3053, 2560, 3054, 1113, 3128,
  2037  	3194, 1908, 1214, 1182, 1183, 1184, 1181, 3154, 3155, 1113,
  2038  	2803, 3301, 2356, 2357, 630, 1447, 2559, 1182, 1183, 1184,
  2039  	1181, 3206, 3207, 1182, 1183, 1184, 1181, 1807, 1808, 1809,
  2040  	3237, 1500, 2469, 1919, 3255, 2558, 2507, 1113, 2488, 2489,
  2041  	631, 3321, 3303, 1182, 1183, 1184, 1181, 3294, 1554, 3064,
  2042  	1534, 632, 3277, 1445, 2191, 1989, 3284, 1140, 2708, 3241,
  2043  	2976, 2969, 1182, 1183, 1184, 1181, 199, 3233, 2673, 2647,
  2044  	3245, 2255, 3247, 3234, 3213, 3214, 3215, 3773, 1000, 1113,
  2045  	3219, 3220, 3566, 3314, 2225, 1000, 2792, 3293, 627, 1102,
  2046  	3296, 3291, 1816, 3236, 1783, 1704, 1703, 3300, 1173, 1111,
  2047  	1306, 1307, 3324, 3240, 3084, 2552, 2344, 3305, 2720, 3307,
  2048  	2340, 3310, 2542, 1920, 3313, 2721, 2722, 2723, 3361, 1408,
  2049  	3316, 1135, 3315, 1407, 1113, 2518, 1304, 1305, 2792, 2347,
  2050  	1656, 3309, 1182, 1183, 1184, 1181, 1302, 1303, 3342, 1182,
  2051  	1183, 1184, 1181, 1113, 1447, 1447, 1300, 1301, 1299, 3012,
  2052  	3328, 3120, 1182, 1183, 1184, 1181, 3338, 1182, 1183, 1184,
  2053  	1181, 3398, 2826, 3398, 3339, 2190, 2352, 2355, 2356, 2357,
  2054  	2353, 3388, 2354, 2358, 2058, 1360, 1338, 1113, 3414, 1113,
  2055  	1383, 3740, 1445, 1654, 3738, 3326, 3698, 3417, 3677, 3419,
  2056  	3676, 3674, 3386, 3392, 3393, 3619, 1447, 3582, 3370, 3477,
  2057  	3369, 3476, 3368, 3415, 3389, 2352, 2355, 2356, 2357, 2353,
  2058  	3334, 2354, 2358, 3171, 628, 3147, 1113, 1113, 3146, 3131,
  2059  	1113, 1113, 3402, 2288, 3391, 3355, 1607, 3401, 1607, 2258,
  2060  	1556, 3130, 2836, 1359, 1654, 3237, 3189, 3413, 2043, 2880,
  2061  	3465, 3766, 3765, 3460, 2218, 3395, 2121, 1314, 3365, 1818,
  2062  	1131, 3474, 3450, 3451, 3277, 3430, 3461, 3462, 3284, 3426,
  2063  	3478, 3479, 3423, 3765, 3766, 3386, 3386, 3444, 3163, 3386,
  2064  	3386, 3126, 1110, 1447, 1375, 3165, 186, 3, 3422, 66,
  2065  	3471, 2, 3785, 1456, 3786, 1, 2579, 634, 3428, 1765,
  2066  	863, 864, 865, 866, 3506, 1110, 1308, 867, 3410, 3411,
  2067  	3490, 862, 3470, 3498, 1424, 2373, 3180, 1967, 1451, 3472,
  2068  	1769, 1445, 869, 2810, 2811, 3119, 2813, 2596, 2078, 123,
  2069  	2781, 2338, 3466, 2205, 3489, 3485, 2996, 1348, 913, 1710,
  2070  	1000, 1569, 1022, 1124, 3535, 3493, 1566, 3529, 1123, 1121,
  2071  	3497, 1659, 752, 2032, 2772, 2746, 3473, 3772, 3801, 3732,
  2072  	3775, 1113, 2556, 2557, 1584, 736, 3668, 3587, 2562, 3736,
  2073  	3589, 3552, 3488, 2083, 3558, 1178, 3467, 2858, 3523, 936,
  2074  	3468, 793, 763, 1246, 1547, 2924, 2922, 1024, 3530, 3532,
  2075  	3342, 762, 3531, 3205, 2616, 2829, 123, 3537, 3544, 1021,
  2076  	937, 3548, 2015, 123, 1113, 3584, 3486, 1501, 1505, 1447,
  2077  	1607, 2254, 3545, 3638, 3424, 3049, 123, 2681, 1529, 3633,
  2078  	3249, 3351, 3349, 3350, 669, 2920, 1946, 602, 123, 3565,
  2079  	3527, 982, 3464, 2028, 670, 2233, 3576, 3689, 3568, 893,
  2080  	3574, 2215, 1411, 894, 886, 2635, 3605, 1445, 3608, 2634,
  2081  	1624, 1187, 1641, 3386, 2942, 2943, 3600, 1224, 1761, 708,
  2082  	2108, 2613, 3272, 1113, 2822, 65, 1453, 3583, 64, 63,
  2083  	62, 1761, 1997, 207, 3317, 754, 206, 3319, 3620, 1196,
  2084  	1195, 1205, 1206, 1198, 1199, 1200, 1201, 1202, 1203, 1204,
  2085  	1197, 3381, 3664, 3615, 3325, 3777, 734, 733, 732, 3611,
  2086  	3614, 731, 730, 729, 2351, 2349, 3637, 2348, 1930, 1929,
  2087  	1113, 1995, 3386, 3622, 3010, 1000, 2711, 2706, 1447, 1860,
  2088  	3631, 3662, 3665, 1858, 3652, 3654, 3656, 3658, 2699, 2283,
  2089  	3636, 2290, 1857, 3717, 3648, 3649, 3441, 3666, 3645, 2756,
  2090  	3341, 1806, 2515, 2279, 1877, 3661, 3651, 3577, 2727, 1874,
  2091  	1873, 2719, 3437, 3431, 1905, 3533, 1445, 3397, 3256, 3386,
  2092  	3257, 3673, 1447, 3671, 3263, 3535, 1196, 1195, 1205, 1206,
  2093  	1198, 1199, 1200, 1201, 1202, 1203, 1204, 1197, 2224, 1047,
  2094  	1043, 3708, 1045, 1046, 1044, 2528, 3697, 3716, 2260, 3700,
  2095  	3699, 2971, 2197, 3701, 2196, 2194, 2193, 1323, 3607, 3685,
  2096  	1445, 3364, 2396, 2394, 1093, 3112, 3108, 2040, 3621, 3702,
  2097  	3703, 2054, 2876, 3625, 3626, 1931, 1927, 2783, 3725, 3508,
  2098  	3726, 2105, 3727, 1811, 3728, 3745, 887, 3729, 2213, 3739,
  2099  	161, 3741, 3742, 51, 105, 3737, 3735, 159, 50, 1113,
  2100  	94, 93, 3600, 3744, 3646, 1196, 1195, 1205, 1206, 1198,
  2101  	1199, 1200, 1201, 1202, 1203, 1204, 1197, 924, 3558, 3754,
  2102  	104, 157, 49, 191, 190, 193, 3757, 3756, 3755, 192,
  2103  	189, 3763, 3771, 3760, 3779, 3761, 2447, 3778, 2448, 3767,
  2104  	3768, 3769, 3770, 188, 1489, 187, 3678, 3400, 3752, 857,
  2105  	40, 39, 3790, 38, 1113, 3783, 34, 13, 12, 35,
  2106  	22, 21, 1573, 20, 3791, 26, 3637, 3792, 3794, 32,
  2107  	31, 116, 115, 30, 3800, 3803, 1934, 114, 113, 112,
  2108  	111, 110, 29, 19, 44, 43, 922, 923, 42, 9,
  2109  	103, 101, 28, 102, 99, 97, 95, 964, 3810, 77,
  2110  	76, 75, 1019, 1607, 90, 89, 3779, 3817, 88, 3778,
  2111  	3816, 3524, 87, 86, 85, 83, 3803, 3818, 84, 935,
  2112  	74, 73, 3822, 72, 2926, 2927, 71, 70, 3747, 3748,
  2113  	2928, 2929, 2930, 2931, 92, 2932, 2933, 2934, 2935, 2936,
  2114  	2937, 2938, 2939, 2940, 2941, 98, 96, 81, 91, 123,
  2115  	82, 80, 123, 123, 79, 123, 78, 69, 68, 67,
  2116  	182, 55, 171, 145, 143, 142, 141, 140, 139, 137,
  2117  	138, 1800, 136, 135, 1020, 134, 1805, 133, 172, 132,
  2118  	966, 131, 45, 965, 46, 164, 47, 48, 153, 173,
  2119  	152, 154, 156, 158, 155, 998, 160, 150, 123, 148,
  2120  	151, 149, 147, 60, 11, 106, 18, 998, 121, 25,
  2121  	4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2122  	950, 123, 0, 109, 0, 0, 1233, 0, 925, 176,
  2123  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2124  	0, 0, 1855, 1856, 0, 1014, 1009, 1004, 1008, 1012,
  2125  	0, 0, 0, 0, 0, 927, 0, 0, 0, 0,
  2126  	0, 0, 0, 0, 0, 0, 0, 0, 0, 182,
  2127  	55, 171, 145, 1017, 0, 0, 0, 1007, 0, 0,
  2128  	0, 0, 0, 0, 0, 0, 0, 172, 3644, 0,
  2129  	0, 0, 0, 0, 164, 0, 1976, 0, 173, 0,
  2130  	1214, 0, 1976, 1976, 1976, 0, 127, 128, 0, 129,
  2131  	130, 0, 0, 0, 0, 0, 0, 121, 949, 947,
  2132  	0, 0, 0, 0, 0, 0, 0, 0, 1015, 0,
  2133  	0, 0, 109, 0, 0, 1018, 0, 0, 176, 0,
  2134  	946, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2135  	0, 921, 0, 0, 0, 0, 0, 1005, 0, 0,
  2136  	0, 0, 926, 959, 0, 0, 3713, 0, 0, 0,
  2137  	0, 0, 0, 0, 0, 0, 0, 144, 170, 180,
  2138  	1016, 107, 0, 0, 0, 0, 955, 0, 0, 0,
  2139  	0, 0, 0, 0, 0, 0, 0, 0, 0, 169,
  2140  	163, 162, 0, 0, 0, 0, 61, 0, 0, 0,
  2141  	0, 0, 0, 0, 0, 127, 128, 0, 129, 130,
  2142  	1006, 0, 956, 960, 0, 0, 0, 0, 0, 0,
  2143  	0, 0, 0, 0, 3713, 0, 0, 0, 0, 0,
  2144  	0, 0, 943, 0, 941, 945, 963, 0, 0, 0,
  2145  	942, 939, 938, 0, 944, 929, 930, 928, 931, 932,
  2146  	933, 934, 0, 961, 0, 962, 0, 165, 166, 167,
  2147  	0, 0, 0, 0, 0, 0, 957, 958, 0, 0,
  2148  	0, 0, 0, 3713, 0, 0, 144, 170, 180, 0,
  2149  	107, 0, 0, 0, 0, 0, 0, 1013, 174, 0,
  2150  	0, 0, 0, 0, 0, 0, 0, 0, 169, 163,
  2151  	162, 0, 0, 953, 0, 61, 0, 0, 117, 952,
  2152  	0, 0, 168, 0, 118, 0, 0, 0, 0, 0,
  2153  	0, 0, 0, 1010, 948, 0, 1011, 0, 0, 3820,
  2154  	0, 910, 0, 911, 0, 0, 0, 0, 0, 0,
  2155  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2156  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2157  	0, 0, 0, 0, 0, 0, 165, 166, 167, 891,
  2158  	0, 119, 0, 0, 0, 0, 0, 0, 0, 2367,
  2159  	0, 0, 0, 905, 54, 901, 0, 0, 0, 0,
  2160  	0, 0, 0, 0, 0, 0, 0, 174, 0, 0,
  2161  	0, 0, 951, 0, 0, 0, 0, 0, 0, 2202,
  2162  	2203, 2204, 0, 0, 0, 0, 0, 117, 0, 0,
  2163  	0, 168, 0, 118, 2220, 2221, 2222, 2223, 0, 0,
  2164  	0, 0, 0, 56, 0, 0, 0, 0, 0, 0,
  2165  	0, 883, 0, 1934, 0, 0, 0, 0, 0, 0,
  2166  	0, 0, 123, 0, 0, 0, 0, 0, 0, 0,
  2167  	0, 0, 0, 0, 0, 1906, 0, 0, 177, 178,
  2168  	1867, 179, 0, 0, 0, 0, 146, 0, 0, 0,
  2169  	119, 52, 0, 0, 0, 0, 0, 0, 0, 0,
  2170  	0, 0, 0, 54, 0, 0, 0, 0, 0, 0,
  2171  	1908, 1876, 0, 0, 0, 0, 0, 0, 0, 0,
  2172  	1909, 1910, 907, 0, 900, 0, 0, 0, 0, 0,
  2173  	0, 0, 0, 904, 903, 0, 0, 0, 3347, 0,
  2174  	3348, 0, 0, 0, 0, 0, 1875, 0, 0, 0,
  2175  	885, 0, 56, 0, 892, 0, 0, 120, 41, 0,
  2176  	0, 1883, 0, 0, 53, 0, 0, 0, 5, 0,
  2177  	0, 0, 0, 0, 899, 124, 125, 0, 0, 126,
  2178  	0, 0, 0, 0, 0, 0, 0, 177, 178, 0,
  2179  	179, 0, 0, 909, 0, 146, 0, 0, 898, 1453,
  2180  	52, 0, 897, 0, 1906, 0, 0, 0, 884, 1867,
  2181  	0, 0, 890, 0, 1976, 0, 0, 0, 0, 0,
  2182  	0, 0, 0, 0, 0, 0, 0, 0, 0, 1899,
  2183  	0, 0, 0, 0, 888, 0, 0, 0, 0, 1908,
  2184  	1876, 0, 0, 0, 0, 0, 0, 0, 0, 1909,
  2185  	1910, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2186  	0, 0, 0, 0, 0, 0, 120, 41, 0, 0,
  2187  	0, 908, 0, 53, 0, 1875, 0, 123, 0, 0,
  2188  	0, 0, 0, 0, 124, 125, 0, 123, 126, 0,
  2189  	1883, 0, 0, 0, 0, 0, 0, 889, 0, 0,
  2190  	1866, 1868, 1865, 0, 1862, 0, 0, 0, 0, 1887,
  2191  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2192  	1893, 0, 0, 0, 0, 0, 0, 0, 1878, 0,
  2193  	1861, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2194  	1881, 1915, 0, 0, 1882, 1884, 1886, 0, 1888, 1889,
  2195  	1890, 1894, 1895, 1896, 1898, 1901, 1902, 1903, 1899, 0,
  2196  	0, 0, 0, 0, 0, 1891, 1900, 1892, 0, 0,
  2197  	0, 0, 0, 0, 906, 0, 0, 1870, 0, 0,
  2198  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2199  	0, 0, 0, 0, 0, 0, 0, 0, 0, 1907,
  2200  	0, 0, 0, 0, 0, 1934, 1934, 1934, 1934, 0,
  2201  	0, 0, 0, 895, 0, 0, 0, 1934, 0, 0,
  2202  	0, 0, 0, 0, 0, 1863, 1864, 0, 0, 1866,
  2203  	2676, 1865, 0, 2675, 0, 0, 0, 0, 1887, 0,
  2204  	0, 0, 0, 1904, 0, 0, 0, 0, 0, 1893,
  2205  	0, 0, 0, 0, 0, 0, 0, 0, 0, 2651,
  2206  	1880, 0, 0, 0, 0, 0, 0, 1879, 0, 1881,
  2207  	1915, 0, 0, 1882, 1884, 1886, 0, 1888, 1889, 1890,
  2208  	1894, 1895, 1896, 1898, 1901, 1902, 1903, 0, 0, 0,
  2209  	0, 1897, 0, 0, 1891, 1900, 1892, 0, 0, 0,
  2210  	1885, 0, 0, 123, 1065, 0, 1870, 0, 123, 0,
  2211  	0, 0, 0, 1912, 1911, 0, 0, 0, 0, 0,
  2212  	0, 0, 0, 0, 0, 0, 0, 0, 1907, 123,
  2213  	0, 0, 0, 0, 0, 0, 0, 0, 0, 123,
  2214  	0, 0, 0, 1182, 1183, 1184, 1181, 0, 0, 0,
  2215  	0, 0, 0, 0, 1863, 1864, 0, 0, 0, 0,
  2216  	0, 0, 0, 0, 0, 0, 1872, 0, 0, 0,
  2217  	0, 0, 1904, 0, 0, 0, 0, 0, 0, 0,
  2218  	0, 0, 0, 0, 0, 0, 0, 0, 0, 1880,
  2219  	0, 0, 0, 0, 0, 0, 1879, 0, 0, 0,
  2220  	1065, 0, 681, 680, 687, 677, 0, 0, 1914, 0,
  2221  	0, 1913, 0, 0, 684, 685, 0, 686, 690, 0,
  2222  	1897, 671, 1688, 2827, 2828, 1051, 0, 0, 0, 1885,
  2223  	0, 695, 0, 0, 0, 0, 0, 0, 0, 0,
  2224  	0, 0, 1912, 1911, 0, 1073, 1077, 1079, 1081, 1083,
  2225  	1084, 1086, 0, 1091, 1087, 1088, 1089, 1090, 0, 1068,
  2226  	1069, 1070, 1071, 1049, 1050, 1074, 0, 1052, 0, 1053,
  2227  	1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1064, 1066,
  2228  	1062, 1063, 1072, 0, 0, 0, 0, 0, 0, 0,
  2229  	1076, 1078, 1080, 1082, 1085, 1872, 0, 998, 0, 123,
  2230  	0, 0, 0, 0, 123, 0, 0, 0, 0, 0,
  2231  	0, 1934, 0, 0, 0, 0, 0, 0, 0, 0,
  2232  	0, 1051, 0, 0, 0, 1041, 0, 0, 1067, 0,
  2233  	123, 0, 0, 0, 0, 0, 1065, 1914, 0, 0,
  2234  	1913, 1073, 1077, 1079, 1081, 1083, 1084, 1086, 0, 1091,
  2235  	1087, 1088, 1089, 1090, 0, 1068, 1069, 1070, 1071, 1049,
  2236  	1050, 1074, 0, 1052, 0, 1053, 1054, 1055, 1056, 1057,
  2237  	1058, 1059, 1060, 1061, 1064, 1066, 1062, 1063, 1072, 1906,
  2238  	0, 0, 0, 0, 0, 1684, 1076, 1078, 1080, 1082,
  2239  	1085, 1681, 0, 0, 0, 1683, 1680, 1682, 1686, 1687,
  2240  	0, 0, 0, 1685, 0, 0, 0, 0, 0, 0,
  2241  	0, 0, 0, 0, 1908, 0, 0, 0, 0, 672,
  2242  	674, 673, 0, 0, 1067, 0, 0, 0, 0, 679,
  2243  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2244  	0, 683, 0, 0, 0, 0, 0, 0, 698, 0,
  2245  	0, 0, 0, 0, 0, 676, 0, 1051, 0, 0,
  2246  	3004, 0, 0, 0, 0, 1883, 2524, 2525, 0, 0,
  2247  	0, 0, 0, 0, 0, 0, 3016, 1073, 1077, 1079,
  2248  	1081, 1083, 1084, 1086, 0, 1091, 1087, 1088, 1089, 1090,
  2249  	0, 1068, 1069, 1070, 1071, 1049, 1050, 1074, 0, 1052,
  2250  	0, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061,
  2251  	1064, 1066, 1062, 1063, 1072, 0, 0, 0, 0, 0,
  2252  	0, 0, 1076, 1078, 1080, 1082, 1085, 0, 0, 3528,
  2253  	0, 0, 0, 1899, 0, 0, 1669, 1670, 1671, 1672,
  2254  	1673, 1674, 1675, 1676, 1677, 1678, 1679, 1691, 1692, 1693,
  2255  	1694, 1695, 1696, 1689, 1690, 0, 0, 0, 0, 0,
  2256  	1067, 0, 0, 0, 678, 682, 688, 0, 689, 691,
  2257  	0, 0, 692, 693, 694, 0, 0, 696, 697, 0,
  2258  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2259  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2260  	0, 0, 0, 0, 1976, 0, 0, 0, 0, 0,
  2261  	1075, 0, 0, 1887, 0, 0, 0, 0, 0, 0,
  2262  	0, 0, 0, 0, 1893, 0, 123, 0, 0, 0,
  2263  	0, 0, 0, 123, 0, 0, 0, 0, 0, 0,
  2264  	0, 0, 0, 0, 1881, 1915, 0, 0, 1882, 1884,
  2265  	1886, 0, 1888, 1889, 1890, 1894, 1895, 1896, 1898, 1901,
  2266  	1902, 1903, 0, 0, 0, 0, 0, 0, 0, 1891,
  2267  	1900, 1892, 0, 0, 0, 0, 0, 0, 0, 0,
  2268  	0, 0, 0, 1934, 0, 0, 0, 0, 0, 0,
  2269  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2270  	0, 0, 0, 1907, 0, 0, 1075, 0, 0, 0,
  2271  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2272  	0, 0, 0, 0, 3159, 0, 0, 0, 0, 0,
  2273  	0, 0, 0, 675, 0, 0, 0, 0, 0, 0,
  2274  	0, 0, 0, 0, 0, 0, 0, 1904, 0, 0,
  2275  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2276  	0, 0, 0, 0, 1880, 0, 0, 0, 0, 0,
  2277  	0, 1879, 0, 0, 0, 0, 0, 0, 0, 0,
  2278  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2279  	0, 0, 123, 0, 0, 1897, 0, 0, 0, 0,
  2280  	0, 0, 0, 0, 1885, 0, 0, 0, 0, 0,
  2281  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2282  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2283  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2284  	0, 0, 1075, 0, 0, 0, 0, 0, 0, 0,
  2285  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2286  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2287  	0, 0, 0, 0, 770, 0, 0, 0, 123, 0,
  2288  	0, 0, 0, 370, 0, 495, 528, 517, 600, 483,
  2289  	0, 0, 0, 0, 0, 0, 723, 0, 0, 0,
  2290  	310, 0, 0, 340, 532, 514, 524, 515, 500, 501,
  2291  	502, 509, 320, 503, 504, 505, 475, 506, 476, 507,
  2292  	508, 761, 531, 482, 401, 354, 549, 548, 0, 0,
  2293  	828, 836, 0, 0, 0, 0, 0, 0, 0, 0,
  2294  	0, 0, 715, 0, 0, 751, 805, 804, 738, 748,
  2295  	0, 0, 283, 205, 477, 596, 479, 478, 739, 0,
  2296  	740, 744, 747, 743, 741, 742, 0, 820, 0, 0,
  2297  	0, 0, 0, 0, 707, 719, 0, 724, 0, 0,
  2298  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2299  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2300  	0, 716, 717, 0, 0, 0, 0, 771, 0, 718,
  2301  	0, 0, 766, 745, 749, 0, 0, 0, 0, 273,
  2302  	406, 423, 284, 397, 436, 289, 404, 279, 369, 393,
  2303  	0, 0, 275, 421, 403, 351, 330, 331, 274, 0,
  2304  	388, 308, 322, 305, 367, 746, 769, 773, 304, 842,
  2305  	767, 431, 277, 123, 430, 366, 417, 422, 352, 346,
  2306  	276, 419, 350, 345, 334, 312, 843, 335, 336, 326,
  2307  	378, 344, 379, 327, 356, 355, 357, 0, 0, 0,
  2308  	0, 0, 459, 460, 0, 0, 0, 0, 0, 0,
  2309  	0, 0, 0, 0, 0, 0, 590, 764, 0, 593,
  2310  	0, 433, 0, 0, 826, 0, 0, 0, 405, 0,
  2311  	0, 337, 0, 0, 0, 768, 3449, 391, 372, 839,
  2312  	0, 0, 389, 342, 418, 380, 424, 407, 432, 385,
  2313  	381, 268, 408, 307, 353, 280, 282, 302, 309, 311,
  2314  	313, 314, 362, 363, 375, 396, 409, 410, 411, 306,
  2315  	290, 390, 291, 324, 292, 269, 298, 296, 299, 398,
  2316  	300, 271, 376, 415, 0, 319, 386, 349, 272, 348,
  2317  	377, 414, 413, 281, 440, 446, 447, 536, 0, 452,
  2318  	616, 617, 618, 461, 466, 467, 468, 470, 471, 472,
  2319  	473, 537, 554, 521, 491, 454, 545, 488, 492, 493,
  2320  	557, 1712, 1711, 1713, 445, 338, 339, 0, 317, 265,
  2321  	266, 611, 824, 368, 559, 592, 484, 0, 838, 819,
  2322  	821, 822, 825, 829, 830, 831, 832, 833, 835, 837,
  2323  	841, 610, 0, 538, 553, 614, 552, 607, 374, 0,
  2324  	395, 550, 497, 0, 542, 516, 0, 543, 512, 547,
  2325  	0, 486, 0, 402, 426, 438, 455, 458, 487, 572,
  2326  	573, 574, 270, 457, 576, 577, 578, 579, 580, 581,
  2327  	582, 575, 840, 519, 496, 522, 437, 499, 498, 0,
  2328  	0, 533, 772, 534, 535, 358, 359, 360, 361, 827,
  2329  	560, 288, 456, 384, 0, 520, 0, 0, 0, 0,
  2330  	0, 0, 0, 0, 525, 526, 523, 619, 0, 583,
  2331  	584, 0, 0, 450, 451, 316, 323, 469, 325, 287,
  2332  	373, 318, 435, 332, 0, 462, 527, 463, 586, 589,
  2333  	587, 588, 365, 328, 329, 399, 333, 343, 387, 434,
  2334  	371, 392, 285, 425, 400, 347, 513, 540, 849, 823,
  2335  	848, 850, 851, 847, 852, 853, 834, 728, 0, 779,
  2336  	845, 844, 846, 0, 0, 0, 0, 0, 0, 0,
  2337  	0, 0, 0, 0, 568, 567, 566, 565, 564, 563,
  2338  	562, 561, 0, 0, 510, 412, 297, 259, 293, 294,
  2339  	301, 608, 605, 416, 609, 0, 267, 490, 341, 0,
  2340  	382, 315, 555, 556, 0, 0, 812, 786, 787, 788,
  2341  	725, 789, 783, 784, 726, 785, 813, 777, 809, 810,
  2342  	753, 780, 790, 808, 791, 811, 814, 815, 854, 855,
  2343  	797, 781, 231, 856, 794, 816, 807, 806, 792, 778,
  2344  	817, 818, 760, 755, 795, 796, 782, 800, 801, 802,
  2345  	727, 774, 775, 776, 798, 799, 756, 757, 758, 759,
  2346  	0, 0, 0, 441, 442, 443, 465, 0, 427, 489,
  2347  	606, 0, 0, 0, 0, 0, 0, 0, 539, 551,
  2348  	585, 0, 594, 595, 597, 599, 803, 601, 770, 612,
  2349  	480, 481, 613, 591, 0, 720, 0, 370, 0, 495,
  2350  	528, 517, 600, 483, 0, 0, 0, 0, 0, 0,
  2351  	723, 0, 0, 0, 310, 1762, 0, 340, 532, 514,
  2352  	524, 515, 500, 501, 502, 509, 320, 503, 504, 505,
  2353  	475, 506, 476, 507, 508, 761, 531, 482, 401, 354,
  2354  	549, 548, 0, 0, 828, 836, 0, 0, 0, 0,
  2355  	0, 0, 0, 1958, 0, 0, 715, 0, 0, 751,
  2356  	805, 804, 738, 748, 0, 0, 283, 205, 477, 596,
  2357  	479, 478, 739, 0, 740, 744, 747, 743, 741, 742,
  2358  	0, 820, 0, 0, 0, 0, 0, 0, 707, 719,
  2359  	0, 724, 0, 0, 0, 0, 0, 0, 0, 0,
  2360  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2361  	0, 0, 0, 0, 0, 716, 717, 0, 0, 0,
  2362  	0, 771, 0, 718, 0, 0, 1959, 745, 749, 0,
  2363  	0, 0, 0, 273, 406, 423, 284, 397, 436, 289,
  2364  	404, 279, 369, 393, 0, 0, 275, 421, 403, 351,
  2365  	330, 331, 274, 0, 388, 308, 322, 305, 367, 746,
  2366  	769, 773, 304, 842, 767, 431, 277, 0, 430, 366,
  2367  	417, 422, 352, 346, 276, 419, 350, 345, 334, 312,
  2368  	843, 335, 336, 326, 378, 344, 379, 327, 356, 355,
  2369  	357, 0, 0, 0, 0, 0, 459, 460, 0, 0,
  2370  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2371  	590, 764, 0, 593, 0, 433, 0, 0, 826, 0,
  2372  	0, 0, 405, 0, 0, 337, 0, 0, 0, 768,
  2373  	0, 391, 372, 839, 0, 0, 389, 342, 418, 380,
  2374  	424, 407, 432, 385, 381, 268, 408, 307, 353, 280,
  2375  	282, 302, 309, 311, 313, 314, 362, 363, 375, 396,
  2376  	409, 410, 411, 306, 290, 390, 291, 324, 292, 269,
  2377  	298, 296, 299, 398, 300, 271, 376, 415, 0, 319,
  2378  	386, 349, 272, 348, 377, 414, 413, 281, 440, 446,
  2379  	447, 536, 0, 452, 616, 617, 618, 461, 466, 467,
  2380  	468, 470, 471, 472, 473, 537, 554, 521, 491, 454,
  2381  	545, 488, 492, 493, 557, 0, 0, 0, 445, 338,
  2382  	339, 0, 317, 265, 266, 611, 824, 368, 559, 592,
  2383  	484, 0, 838, 819, 821, 822, 825, 829, 830, 831,
  2384  	832, 833, 835, 837, 841, 610, 0, 538, 553, 614,
  2385  	552, 607, 374, 0, 395, 550, 497, 0, 542, 516,
  2386  	0, 543, 512, 547, 0, 486, 0, 402, 426, 438,
  2387  	455, 458, 487, 572, 573, 574, 270, 457, 576, 577,
  2388  	578, 579, 580, 581, 582, 575, 840, 519, 496, 522,
  2389  	437, 499, 498, 0, 0, 533, 772, 534, 535, 358,
  2390  	359, 360, 361, 827, 560, 288, 456, 384, 0, 520,
  2391  	0, 0, 0, 0, 0, 0, 0, 0, 525, 526,
  2392  	523, 619, 0, 583, 584, 0, 0, 450, 451, 316,
  2393  	323, 469, 325, 287, 373, 318, 435, 332, 0, 462,
  2394  	527, 463, 586, 589, 587, 588, 365, 328, 329, 399,
  2395  	333, 343, 387, 434, 371, 392, 285, 425, 400, 347,
  2396  	513, 540, 849, 823, 848, 850, 851, 847, 852, 853,
  2397  	834, 728, 0, 779, 845, 844, 846, 0, 0, 0,
  2398  	0, 0, 0, 0, 0, 0, 0, 0, 568, 567,
  2399  	566, 565, 564, 563, 562, 561, 0, 0, 510, 412,
  2400  	297, 259, 293, 294, 301, 608, 605, 416, 609, 0,
  2401  	267, 490, 341, 0, 382, 315, 555, 556, 0, 0,
  2402  	812, 786, 787, 788, 725, 789, 783, 784, 726, 785,
  2403  	813, 777, 809, 810, 753, 780, 790, 808, 791, 811,
  2404  	814, 815, 854, 855, 797, 781, 231, 856, 794, 816,
  2405  	807, 806, 792, 778, 817, 818, 760, 755, 795, 796,
  2406  	782, 800, 801, 802, 727, 774, 775, 776, 798, 799,
  2407  	756, 757, 758, 759, 0, 0, 0, 441, 442, 443,
  2408  	465, 0, 427, 489, 606, 0, 0, 0, 0, 0,
  2409  	0, 0, 539, 551, 585, 0, 594, 595, 597, 599,
  2410  	803, 601, 0, 612, 480, 481, 613, 591, 0, 720,
  2411  	182, 770, 0, 0, 0, 0, 0, 0, 0, 0,
  2412  	370, 0, 495, 528, 517, 600, 483, 0, 0, 0,
  2413  	0, 0, 0, 723, 0, 0, 0, 310, 0, 0,
  2414  	340, 532, 514, 524, 515, 500, 501, 502, 509, 320,
  2415  	503, 504, 505, 475, 506, 476, 507, 508, 1217, 531,
  2416  	482, 401, 354, 549, 548, 0, 0, 828, 836, 0,
  2417  	0, 0, 0, 0, 0, 0, 0, 0, 0, 715,
  2418  	0, 0, 751, 805, 804, 738, 748, 0, 0, 283,
  2419  	205, 477, 596, 479, 478, 739, 0, 740, 744, 747,
  2420  	743, 741, 742, 0, 820, 0, 0, 0, 0, 0,
  2421  	0, 707, 719, 0, 724, 0, 0, 0, 0, 0,
  2422  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2423  	0, 0, 0, 0, 0, 0, 0, 0, 716, 717,
  2424  	0, 0, 0, 0, 771, 0, 718, 0, 0, 766,
  2425  	745, 749, 0, 0, 0, 0, 273, 406, 423, 284,
  2426  	397, 436, 289, 404, 279, 369, 393, 0, 0, 275,
  2427  	421, 403, 351, 330, 331, 274, 0, 388, 308, 322,
  2428  	305, 367, 746, 769, 773, 304, 842, 767, 431, 277,
  2429  	0, 430, 366, 417, 422, 352, 346, 276, 419, 350,
  2430  	345, 334, 312, 843, 335, 336, 326, 378, 344, 379,
  2431  	327, 356, 355, 357, 0, 0, 0, 0, 0, 459,
  2432  	460, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2433  	0, 0, 0, 590, 764, 0, 593, 0, 433, 0,
  2434  	0, 826, 0, 0, 0, 405, 0, 0, 337, 0,
  2435  	0, 0, 768, 0, 391, 372, 839, 0, 0, 389,
  2436  	342, 418, 380, 424, 407, 432, 385, 381, 268, 408,
  2437  	307, 353, 280, 282, 302, 309, 311, 313, 314, 362,
  2438  	363, 375, 396, 409, 410, 411, 306, 290, 390, 291,
  2439  	324, 292, 269, 298, 296, 299, 398, 300, 271, 376,
  2440  	415, 0, 319, 386, 349, 272, 348, 377, 414, 413,
  2441  	281, 440, 446, 447, 536, 0, 452, 616, 617, 618,
  2442  	461, 466, 467, 468, 470, 471, 472, 473, 537, 554,
  2443  	521, 491, 454, 545, 488, 492, 493, 557, 0, 0,
  2444  	0, 445, 338, 339, 0, 317, 265, 266, 611, 824,
  2445  	368, 559, 592, 484, 0, 838, 819, 821, 822, 825,
  2446  	829, 830, 831, 832, 833, 835, 837, 841, 610, 0,
  2447  	538, 553, 614, 552, 607, 374, 0, 395, 550, 497,
  2448  	0, 542, 516, 0, 543, 512, 547, 0, 486, 0,
  2449  	402, 426, 438, 455, 458, 487, 572, 573, 574, 270,
  2450  	457, 576, 577, 578, 579, 580, 581, 582, 575, 840,
  2451  	519, 496, 522, 437, 499, 498, 0, 0, 533, 772,
  2452  	534, 535, 358, 359, 360, 361, 827, 560, 288, 456,
  2453  	384, 0, 520, 0, 0, 0, 0, 0, 0, 0,
  2454  	0, 525, 526, 523, 619, 0, 583, 584, 0, 0,
  2455  	450, 451, 316, 323, 469, 325, 287, 373, 318, 435,
  2456  	332, 0, 462, 527, 463, 586, 589, 587, 588, 365,
  2457  	328, 329, 399, 333, 343, 387, 434, 371, 392, 285,
  2458  	425, 400, 347, 513, 540, 849, 823, 848, 850, 851,
  2459  	847, 852, 853, 834, 728, 0, 779, 845, 844, 846,
  2460  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2461  	0, 568, 567, 566, 565, 564, 563, 562, 561, 0,
  2462  	0, 510, 412, 297, 259, 293, 294, 301, 608, 605,
  2463  	416, 609, 0, 267, 490, 341, 146, 382, 315, 555,
  2464  	556, 0, 0, 812, 786, 787, 788, 725, 789, 783,
  2465  	784, 726, 785, 813, 777, 809, 810, 753, 780, 790,
  2466  	808, 791, 811, 814, 815, 854, 855, 797, 781, 231,
  2467  	856, 794, 816, 807, 806, 792, 778, 817, 818, 760,
  2468  	755, 795, 796, 782, 800, 801, 802, 727, 774, 775,
  2469  	776, 798, 799, 756, 757, 758, 759, 0, 0, 0,
  2470  	441, 442, 443, 465, 0, 427, 489, 606, 0, 0,
  2471  	0, 0, 0, 0, 0, 539, 551, 585, 0, 594,
  2472  	595, 597, 599, 803, 601, 770, 612, 480, 481, 613,
  2473  	591, 0, 720, 0, 370, 0, 495, 528, 517, 600,
  2474  	483, 0, 0, 0, 0, 0, 0, 723, 0, 0,
  2475  	0, 310, 3819, 0, 340, 532, 514, 524, 515, 500,
  2476  	501, 502, 509, 320, 503, 504, 505, 475, 506, 476,
  2477  	507, 508, 761, 531, 482, 401, 354, 549, 548, 0,
  2478  	0, 828, 836, 0, 0, 0, 0, 0, 0, 0,
  2479  	0, 0, 0, 715, 0, 0, 751, 805, 804, 738,
  2480  	748, 0, 0, 283, 205, 477, 596, 479, 478, 739,
  2481  	0, 740, 744, 747, 743, 741, 742, 0, 820, 0,
  2482  	0, 0, 0, 0, 0, 707, 719, 0, 724, 0,
  2483  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2484  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2485  	0, 0, 716, 717, 0, 0, 0, 0, 771, 0,
  2486  	718, 0, 0, 766, 745, 749, 0, 0, 0, 0,
  2487  	273, 406, 423, 284, 397, 436, 289, 404, 279, 369,
  2488  	393, 0, 0, 275, 421, 403, 351, 330, 331, 274,
  2489  	0, 388, 308, 322, 305, 367, 746, 769, 773, 304,
  2490  	842, 767, 431, 277, 0, 430, 366, 417, 422, 352,
  2491  	346, 276, 419, 350, 345, 334, 312, 843, 335, 336,
  2492  	326, 378, 344, 379, 327, 356, 355, 357, 0, 0,
  2493  	0, 0, 0, 459, 460, 0, 0, 0, 0, 0,
  2494  	0, 0, 0, 0, 0, 0, 0, 590, 764, 0,
  2495  	593, 0, 433, 0, 0, 826, 0, 0, 0, 405,
  2496  	0, 0, 337, 0, 0, 0, 768, 0, 391, 372,
  2497  	839, 0, 0, 389, 342, 418, 380, 424, 407, 432,
  2498  	385, 381, 268, 408, 307, 353, 280, 282, 302, 309,
  2499  	311, 313, 314, 362, 363, 375, 396, 409, 410, 411,
  2500  	306, 290, 390, 291, 324, 292, 269, 298, 296, 299,
  2501  	398, 300, 271, 376, 415, 0, 319, 386, 349, 272,
  2502  	348, 377, 414, 413, 281, 440, 446, 447, 536, 0,
  2503  	452, 616, 617, 618, 461, 466, 467, 468, 470, 471,
  2504  	472, 473, 537, 554, 521, 491, 454, 545, 488, 492,
  2505  	493, 557, 0, 0, 0, 445, 338, 339, 0, 317,
  2506  	265, 266, 611, 824, 368, 559, 592, 484, 0, 838,
  2507  	819, 821, 822, 825, 829, 830, 831, 832, 833, 835,
  2508  	837, 841, 610, 0, 538, 553, 614, 552, 607, 374,
  2509  	0, 395, 550, 497, 0, 542, 516, 0, 543, 512,
  2510  	547, 0, 486, 0, 402, 426, 438, 455, 458, 487,
  2511  	572, 573, 574, 270, 457, 576, 577, 578, 579, 580,
  2512  	581, 582, 575, 840, 519, 496, 522, 437, 499, 498,
  2513  	0, 0, 533, 772, 534, 535, 358, 359, 360, 361,
  2514  	827, 560, 288, 456, 384, 0, 520, 0, 0, 0,
  2515  	0, 0, 0, 0, 0, 525, 526, 523, 619, 0,
  2516  	583, 584, 0, 0, 450, 451, 316, 323, 469, 325,
  2517  	287, 373, 318, 435, 332, 0, 462, 527, 463, 586,
  2518  	589, 587, 588, 365, 328, 329, 399, 333, 343, 387,
  2519  	434, 371, 392, 285, 425, 400, 347, 513, 540, 849,
  2520  	823, 848, 850, 851, 847, 852, 853, 834, 728, 0,
  2521  	779, 845, 844, 846, 0, 0, 0, 0, 0, 0,
  2522  	0, 0, 0, 0, 0, 568, 567, 566, 565, 564,
  2523  	563, 562, 561, 0, 0, 510, 412, 297, 259, 293,
  2524  	294, 301, 608, 605, 416, 609, 0, 267, 490, 341,
  2525  	0, 382, 315, 555, 556, 0, 0, 812, 786, 787,
  2526  	788, 725, 789, 783, 784, 726, 785, 813, 777, 809,
  2527  	810, 753, 780, 790, 808, 791, 811, 814, 815, 854,
  2528  	855, 797, 781, 231, 856, 794, 816, 807, 806, 792,
  2529  	778, 817, 818, 760, 755, 795, 796, 782, 800, 801,
  2530  	802, 727, 774, 775, 776, 798, 799, 756, 757, 758,
  2531  	759, 0, 0, 0, 441, 442, 443, 465, 0, 427,
  2532  	489, 606, 0, 0, 0, 0, 0, 0, 0, 539,
  2533  	551, 585, 0, 594, 595, 597, 599, 803, 601, 770,
  2534  	612, 480, 481, 613, 591, 0, 720, 0, 370, 0,
  2535  	495, 528, 517, 600, 483, 0, 0, 0, 0, 0,
  2536  	0, 723, 0, 0, 0, 310, 0, 0, 340, 532,
  2537  	514, 524, 515, 500, 501, 502, 509, 320, 503, 504,
  2538  	505, 475, 506, 476, 507, 508, 761, 531, 482, 401,
  2539  	354, 549, 548, 0, 0, 828, 836, 0, 0, 0,
  2540  	0, 0, 0, 0, 0, 0, 0, 715, 0, 0,
  2541  	751, 805, 804, 738, 748, 0, 0, 283, 205, 477,
  2542  	596, 479, 478, 739, 0, 740, 744, 747, 743, 741,
  2543  	742, 0, 820, 0, 0, 0, 0, 0, 0, 707,
  2544  	719, 0, 724, 0, 0, 0, 0, 0, 0, 0,
  2545  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2546  	0, 0, 0, 0, 0, 0, 716, 717, 0, 0,
  2547  	0, 0, 771, 0, 718, 0, 0, 766, 745, 749,
  2548  	0, 0, 0, 0, 273, 406, 423, 284, 397, 436,
  2549  	289, 404, 279, 369, 393, 0, 0, 275, 421, 403,
  2550  	351, 330, 331, 274, 0, 388, 308, 322, 305, 367,
  2551  	746, 769, 773, 304, 842, 767, 431, 277, 0, 430,
  2552  	366, 417, 422, 352, 346, 276, 419, 350, 345, 334,
  2553  	312, 843, 335, 336, 326, 378, 344, 379, 327, 356,
  2554  	355, 357, 0, 0, 0, 0, 0, 459, 460, 0,
  2555  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2556  	0, 590, 764, 0, 593, 0, 433, 0, 0, 826,
  2557  	0, 0, 0, 405, 0, 0, 337, 0, 0, 0,
  2558  	768, 0, 391, 372, 839, 3714, 0, 389, 342, 418,
  2559  	380, 424, 407, 432, 385, 381, 268, 408, 307, 353,
  2560  	280, 282, 302, 309, 311, 313, 314, 362, 363, 375,
  2561  	396, 409, 410, 411, 306, 290, 390, 291, 324, 292,
  2562  	269, 298, 296, 299, 398, 300, 271, 376, 415, 0,
  2563  	319, 386, 349, 272, 348, 377, 414, 413, 281, 440,
  2564  	446, 447, 536, 0, 452, 616, 617, 618, 461, 466,
  2565  	467, 468, 470, 471, 472, 473, 537, 554, 521, 491,
  2566  	454, 545, 488, 492, 493, 557, 0, 0, 0, 445,
  2567  	338, 339, 0, 317, 265, 266, 611, 824, 368, 559,
  2568  	592, 484, 0, 838, 819, 821, 822, 825, 829, 830,
  2569  	831, 832, 833, 835, 837, 841, 610, 0, 538, 553,
  2570  	614, 552, 607, 374, 0, 395, 550, 497, 0, 542,
  2571  	516, 0, 543, 512, 547, 0, 486, 0, 402, 426,
  2572  	438, 455, 458, 487, 572, 573, 574, 270, 457, 576,
  2573  	577, 578, 579, 580, 581, 582, 575, 840, 519, 496,
  2574  	522, 437, 499, 498, 0, 0, 533, 772, 534, 535,
  2575  	358, 359, 360, 361, 827, 560, 288, 456, 384, 0,
  2576  	520, 0, 0, 0, 0, 0, 0, 0, 0, 525,
  2577  	526, 523, 619, 0, 583, 584, 0, 0, 450, 451,
  2578  	316, 323, 469, 325, 287, 373, 318, 435, 332, 0,
  2579  	462, 527, 463, 586, 589, 587, 588, 365, 328, 329,
  2580  	399, 333, 343, 387, 434, 371, 392, 285, 425, 400,
  2581  	347, 513, 540, 849, 823, 848, 850, 851, 847, 852,
  2582  	853, 834, 728, 0, 779, 845, 844, 846, 0, 0,
  2583  	0, 0, 0, 0, 0, 0, 0, 0, 0, 568,
  2584  	567, 566, 565, 564, 563, 562, 561, 0, 0, 510,
  2585  	412, 297, 259, 293, 294, 301, 608, 605, 416, 609,
  2586  	0, 267, 490, 341, 0, 382, 315, 555, 556, 0,
  2587  	0, 812, 786, 787, 788, 725, 789, 783, 784, 726,
  2588  	785, 813, 777, 809, 810, 753, 780, 790, 808, 791,
  2589  	811, 814, 815, 854, 855, 797, 781, 231, 856, 794,
  2590  	816, 807, 806, 792, 778, 817, 818, 760, 755, 795,
  2591  	796, 782, 800, 801, 802, 727, 774, 775, 776, 798,
  2592  	799, 756, 757, 758, 759, 0, 0, 0, 441, 442,
  2593  	443, 465, 0, 427, 489, 606, 0, 0, 0, 0,
  2594  	0, 0, 0, 539, 551, 585, 0, 594, 595, 597,
  2595  	599, 803, 601, 770, 612, 480, 481, 613, 591, 0,
  2596  	720, 0, 370, 0, 495, 528, 517, 600, 483, 0,
  2597  	0, 0, 0, 0, 0, 723, 0, 0, 0, 310,
  2598  	1762, 0, 340, 532, 514, 524, 515, 500, 501, 502,
  2599  	509, 320, 503, 504, 505, 475, 506, 476, 507, 508,
  2600  	761, 531, 482, 401, 354, 549, 548, 0, 0, 828,
  2601  	836, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2602  	0, 715, 0, 0, 751, 805, 804, 738, 748, 0,
  2603  	0, 283, 205, 477, 596, 479, 478, 739, 0, 740,
  2604  	744, 747, 743, 741, 742, 0, 820, 0, 0, 0,
  2605  	0, 0, 0, 707, 719, 0, 724, 0, 0, 0,
  2606  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2607  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2608  	716, 717, 0, 0, 0, 0, 771, 0, 718, 0,
  2609  	0, 766, 745, 749, 0, 0, 0, 0, 273, 406,
  2610  	423, 284, 397, 436, 289, 404, 279, 369, 393, 0,
  2611  	0, 275, 421, 403, 351, 330, 331, 274, 0, 388,
  2612  	308, 322, 305, 367, 746, 769, 773, 304, 842, 767,
  2613  	431, 277, 0, 430, 366, 417, 422, 352, 346, 276,
  2614  	419, 350, 345, 334, 312, 843, 335, 336, 326, 378,
  2615  	344, 379, 327, 356, 355, 357, 0, 0, 0, 0,
  2616  	0, 459, 460, 0, 0, 0, 0, 0, 0, 0,
  2617  	0, 0, 0, 0, 0, 590, 764, 0, 593, 0,
  2618  	433, 0, 0, 826, 0, 0, 0, 405, 0, 0,
  2619  	337, 0, 0, 0, 768, 0, 391, 372, 839, 0,
  2620  	0, 389, 342, 418, 380, 424, 407, 432, 385, 381,
  2621  	268, 408, 307, 353, 280, 282, 302, 309, 311, 313,
  2622  	314, 362, 363, 375, 396, 409, 410, 411, 306, 290,
  2623  	390, 291, 324, 292, 269, 298, 296, 299, 398, 300,
  2624  	271, 376, 415, 0, 319, 386, 349, 272, 348, 377,
  2625  	414, 413, 281, 440, 446, 447, 536, 0, 452, 616,
  2626  	617, 618, 461, 466, 467, 468, 470, 471, 472, 473,
  2627  	537, 554, 521, 491, 454, 545, 488, 492, 493, 557,
  2628  	0, 0, 0, 445, 338, 339, 0, 317, 265, 266,
  2629  	611, 824, 368, 559, 592, 484, 0, 838, 819, 821,
  2630  	822, 825, 829, 830, 831, 832, 833, 835, 837, 841,
  2631  	610, 0, 538, 553, 614, 552, 607, 374, 0, 395,
  2632  	550, 497, 0, 542, 516, 0, 543, 512, 547, 0,
  2633  	486, 0, 402, 426, 438, 455, 458, 487, 572, 573,
  2634  	574, 270, 457, 576, 577, 578, 579, 580, 581, 582,
  2635  	575, 840, 519, 496, 522, 437, 499, 498, 0, 0,
  2636  	533, 772, 534, 535, 358, 359, 360, 361, 827, 560,
  2637  	288, 456, 384, 0, 520, 0, 0, 0, 0, 0,
  2638  	0, 0, 0, 525, 526, 523, 619, 0, 583, 584,
  2639  	0, 0, 450, 451, 316, 323, 469, 325, 287, 373,
  2640  	318, 435, 332, 0, 462, 527, 463, 586, 589, 587,
  2641  	588, 365, 328, 329, 399, 333, 343, 387, 434, 371,
  2642  	392, 285, 425, 400, 347, 513, 540, 849, 823, 848,
  2643  	850, 851, 847, 852, 853, 834, 728, 0, 779, 845,
  2644  	844, 846, 0, 0, 0, 0, 0, 0, 0, 0,
  2645  	0, 0, 0, 568, 567, 566, 565, 564, 563, 562,
  2646  	561, 0, 0, 510, 412, 297, 259, 293, 294, 301,
  2647  	608, 605, 416, 609, 0, 267, 490, 341, 0, 382,
  2648  	315, 555, 556, 0, 0, 812, 786, 787, 788, 725,
  2649  	789, 783, 784, 726, 785, 813, 777, 809, 810, 753,
  2650  	780, 790, 808, 791, 811, 814, 815, 854, 855, 797,
  2651  	781, 231, 856, 794, 816, 807, 806, 792, 778, 817,
  2652  	818, 760, 755, 795, 796, 782, 800, 801, 802, 727,
  2653  	774, 775, 776, 798, 799, 756, 757, 758, 759, 0,
  2654  	0, 0, 441, 442, 443, 465, 0, 427, 489, 606,
  2655  	0, 0, 0, 0, 0, 0, 0, 539, 551, 585,
  2656  	0, 594, 595, 597, 599, 803, 601, 770, 612, 480,
  2657  	481, 613, 591, 0, 720, 0, 370, 0, 495, 528,
  2658  	517, 600, 483, 0, 0, 0, 0, 0, 0, 723,
  2659  	0, 0, 0, 310, 0, 0, 340, 532, 514, 524,
  2660  	515, 500, 501, 502, 509, 320, 503, 504, 505, 475,
  2661  	506, 476, 507, 508, 761, 531, 482, 401, 354, 549,
  2662  	548, 0, 0, 828, 836, 0, 0, 0, 0, 0,
  2663  	0, 0, 0, 0, 0, 715, 0, 0, 751, 805,
  2664  	804, 738, 748, 0, 0, 283, 205, 477, 596, 479,
  2665  	478, 739, 0, 740, 744, 747, 743, 741, 742, 0,
  2666  	820, 0, 0, 0, 0, 0, 0, 707, 719, 0,
  2667  	724, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2668  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2669  	0, 0, 0, 0, 716, 717, 1484, 0, 0, 0,
  2670  	771, 0, 718, 0, 0, 766, 745, 749, 0, 0,
  2671  	0, 0, 273, 406, 423, 284, 397, 436, 289, 404,
  2672  	279, 369, 393, 0, 0, 275, 421, 403, 351, 330,
  2673  	331, 274, 0, 388, 308, 322, 305, 367, 746, 769,
  2674  	773, 304, 842, 767, 431, 277, 0, 430, 366, 417,
  2675  	422, 352, 346, 276, 419, 350, 345, 334, 312, 843,
  2676  	335, 336, 326, 378, 344, 379, 327, 356, 355, 357,
  2677  	0, 0, 0, 0, 0, 459, 460, 0, 0, 0,
  2678  	0, 0, 0, 0, 0, 0, 0, 0, 0, 590,
  2679  	764, 0, 593, 0, 433, 0, 0, 826, 0, 0,
  2680  	0, 405, 0, 0, 337, 0, 0, 0, 768, 0,
  2681  	391, 372, 839, 0, 0, 389, 342, 418, 380, 424,
  2682  	407, 432, 385, 381, 268, 408, 307, 353, 280, 282,
  2683  	302, 309, 311, 313, 314, 362, 363, 375, 396, 409,
  2684  	410, 411, 306, 290, 390, 291, 324, 292, 269, 298,
  2685  	296, 299, 398, 300, 271, 376, 415, 0, 319, 386,
  2686  	349, 272, 348, 377, 414, 413, 281, 440, 446, 447,
  2687  	536, 0, 452, 616, 617, 618, 461, 466, 467, 468,
  2688  	470, 471, 472, 473, 537, 554, 521, 491, 454, 545,
  2689  	488, 492, 493, 557, 0, 0, 0, 445, 338, 339,
  2690  	0, 317, 265, 266, 611, 824, 368, 559, 592, 484,
  2691  	0, 838, 819, 821, 822, 825, 829, 830, 831, 832,
  2692  	833, 835, 837, 841, 610, 0, 538, 553, 614, 552,
  2693  	607, 374, 0, 395, 550, 497, 0, 542, 516, 0,
  2694  	543, 512, 547, 0, 486, 0, 402, 426, 438, 455,
  2695  	458, 487, 572, 573, 574, 270, 457, 576, 577, 578,
  2696  	579, 580, 581, 582, 575, 840, 519, 496, 522, 437,
  2697  	499, 498, 0, 0, 533, 772, 534, 535, 358, 359,
  2698  	360, 361, 827, 560, 288, 456, 384, 0, 520, 0,
  2699  	0, 0, 0, 0, 0, 0, 0, 525, 526, 523,
  2700  	619, 0, 583, 584, 0, 0, 450, 451, 316, 323,
  2701  	469, 325, 287, 373, 318, 435, 332, 0, 462, 527,
  2702  	463, 586, 589, 587, 588, 365, 328, 329, 399, 333,
  2703  	343, 387, 434, 371, 392, 285, 425, 400, 347, 513,
  2704  	540, 849, 823, 848, 850, 851, 847, 852, 853, 834,
  2705  	728, 0, 779, 845, 844, 846, 0, 0, 0, 0,
  2706  	0, 0, 0, 0, 0, 0, 0, 568, 567, 566,
  2707  	565, 564, 563, 562, 561, 0, 0, 510, 412, 297,
  2708  	259, 293, 294, 301, 608, 605, 416, 609, 0, 267,
  2709  	490, 341, 0, 382, 315, 555, 556, 0, 0, 812,
  2710  	786, 787, 788, 725, 789, 783, 784, 726, 785, 813,
  2711  	777, 809, 810, 753, 780, 790, 808, 791, 811, 814,
  2712  	815, 854, 855, 797, 781, 231, 856, 794, 816, 807,
  2713  	806, 792, 778, 817, 818, 760, 755, 795, 796, 782,
  2714  	800, 801, 802, 727, 774, 775, 776, 798, 799, 756,
  2715  	757, 758, 759, 0, 0, 0, 441, 442, 443, 465,
  2716  	0, 427, 489, 606, 0, 0, 0, 0, 0, 0,
  2717  	0, 539, 551, 585, 0, 594, 595, 597, 599, 803,
  2718  	601, 0, 612, 480, 481, 613, 591, 770, 720, 0,
  2719  	2129, 0, 0, 0, 0, 0, 370, 0, 495, 528,
  2720  	517, 600, 483, 0, 0, 0, 0, 0, 0, 723,
  2721  	0, 0, 0, 310, 0, 0, 340, 532, 514, 524,
  2722  	515, 500, 501, 502, 509, 320, 503, 504, 505, 475,
  2723  	506, 476, 507, 508, 761, 531, 482, 401, 354, 549,
  2724  	548, 0, 0, 828, 836, 0, 0, 0, 0, 0,
  2725  	0, 0, 0, 0, 0, 715, 0, 0, 751, 805,
  2726  	804, 738, 748, 0, 0, 283, 205, 477, 596, 479,
  2727  	478, 739, 0, 740, 744, 747, 743, 741, 742, 0,
  2728  	820, 0, 0, 0, 0, 0, 0, 707, 719, 0,
  2729  	724, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2730  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2731  	0, 0, 0, 0, 716, 717, 0, 0, 0, 0,
  2732  	771, 0, 718, 0, 0, 766, 745, 749, 0, 0,
  2733  	0, 0, 273, 406, 423, 284, 397, 436, 289, 404,
  2734  	279, 369, 393, 0, 0, 275, 421, 403, 351, 330,
  2735  	331, 274, 0, 388, 308, 322, 305, 367, 746, 769,
  2736  	773, 304, 842, 767, 431, 277, 0, 430, 366, 417,
  2737  	422, 352, 346, 276, 419, 350, 345, 334, 312, 843,
  2738  	335, 336, 326, 378, 344, 379, 327, 356, 355, 357,
  2739  	0, 0, 0, 0, 0, 459, 460, 0, 0, 0,
  2740  	0, 0, 0, 0, 0, 0, 0, 0, 0, 590,
  2741  	764, 0, 593, 0, 433, 0, 0, 826, 0, 0,
  2742  	0, 405, 0, 0, 337, 0, 0, 0, 768, 0,
  2743  	391, 372, 839, 0, 0, 389, 342, 418, 380, 424,
  2744  	407, 432, 385, 381, 268, 408, 307, 353, 280, 282,
  2745  	302, 309, 311, 313, 314, 362, 363, 375, 396, 409,
  2746  	410, 411, 306, 290, 390, 291, 324, 292, 269, 298,
  2747  	296, 299, 398, 300, 271, 376, 415, 0, 319, 386,
  2748  	349, 272, 348, 377, 414, 413, 281, 440, 446, 447,
  2749  	536, 0, 452, 616, 617, 618, 461, 466, 467, 468,
  2750  	470, 471, 472, 473, 537, 554, 521, 491, 454, 545,
  2751  	488, 492, 493, 557, 0, 0, 0, 445, 338, 339,
  2752  	0, 317, 265, 266, 611, 824, 368, 559, 592, 484,
  2753  	0, 838, 819, 821, 822, 825, 829, 830, 831, 832,
  2754  	833, 835, 837, 841, 610, 0, 538, 553, 614, 552,
  2755  	607, 374, 0, 395, 550, 497, 0, 542, 516, 0,
  2756  	543, 512, 547, 0, 486, 0, 402, 426, 438, 455,
  2757  	458, 487, 572, 573, 574, 270, 457, 576, 577, 578,
  2758  	579, 580, 581, 582, 575, 840, 519, 496, 522, 437,
  2759  	499, 498, 0, 0, 533, 772, 534, 535, 358, 359,
  2760  	360, 361, 827, 560, 288, 456, 384, 0, 520, 0,
  2761  	0, 0, 0, 0, 0, 0, 0, 525, 526, 523,
  2762  	619, 0, 583, 584, 0, 0, 450, 451, 316, 323,
  2763  	469, 325, 287, 373, 318, 435, 332, 0, 462, 527,
  2764  	463, 586, 589, 587, 588, 365, 328, 329, 399, 333,
  2765  	343, 387, 434, 371, 392, 285, 425, 400, 347, 513,
  2766  	540, 849, 823, 848, 850, 851, 847, 852, 853, 834,
  2767  	728, 0, 779, 845, 844, 846, 0, 0, 0, 0,
  2768  	0, 0, 0, 0, 0, 0, 0, 568, 567, 566,
  2769  	565, 564, 563, 562, 561, 0, 0, 510, 412, 297,
  2770  	259, 293, 294, 301, 608, 605, 416, 609, 0, 267,
  2771  	490, 341, 0, 382, 315, 555, 556, 0, 0, 812,
  2772  	786, 787, 788, 725, 789, 783, 784, 726, 785, 813,
  2773  	777, 809, 810, 753, 780, 790, 808, 791, 811, 814,
  2774  	815, 854, 855, 797, 781, 231, 856, 794, 816, 807,
  2775  	806, 792, 778, 817, 818, 760, 755, 795, 796, 782,
  2776  	800, 801, 802, 727, 774, 775, 776, 798, 799, 756,
  2777  	757, 758, 759, 0, 0, 0, 441, 442, 443, 465,
  2778  	0, 427, 489, 606, 0, 0, 0, 0, 0, 0,
  2779  	0, 539, 551, 585, 0, 594, 595, 597, 599, 803,
  2780  	601, 770, 612, 480, 481, 613, 591, 0, 720, 0,
  2781  	370, 0, 495, 528, 517, 600, 483, 0, 0, 0,
  2782  	0, 0, 0, 723, 0, 0, 0, 310, 0, 0,
  2783  	340, 532, 514, 524, 515, 500, 501, 502, 509, 320,
  2784  	503, 504, 505, 475, 506, 476, 507, 508, 761, 531,
  2785  	482, 401, 354, 549, 548, 0, 0, 828, 836, 0,
  2786  	0, 0, 0, 0, 0, 0, 0, 0, 0, 715,
  2787  	0, 0, 751, 805, 804, 738, 748, 0, 0, 283,
  2788  	205, 477, 596, 479, 478, 739, 0, 740, 744, 747,
  2789  	743, 741, 742, 0, 820, 0, 0, 0, 0, 0,
  2790  	0, 707, 719, 0, 724, 0, 0, 0, 0, 0,
  2791  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2792  	0, 0, 0, 0, 0, 0, 0, 0, 716, 717,
  2793  	1755, 0, 0, 0, 771, 0, 718, 0, 0, 766,
  2794  	745, 749, 0, 0, 0, 0, 273, 406, 423, 284,
  2795  	397, 436, 289, 404, 279, 369, 393, 0, 0, 275,
  2796  	421, 403, 351, 330, 331, 274, 0, 388, 308, 322,
  2797  	305, 367, 746, 769, 773, 304, 842, 767, 431, 277,
  2798  	0, 430, 366, 417, 422, 352, 346, 276, 419, 350,
  2799  	345, 334, 312, 843, 335, 336, 326, 378, 344, 379,
  2800  	327, 356, 355, 357, 0, 0, 0, 0, 0, 459,
  2801  	460, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2802  	0, 0, 0, 590, 764, 0, 593, 0, 433, 0,
  2803  	0, 826, 0, 0, 0, 405, 0, 0, 337, 0,
  2804  	0, 0, 768, 0, 391, 372, 839, 0, 0, 389,
  2805  	342, 418, 380, 424, 407, 432, 385, 381, 268, 408,
  2806  	307, 353, 280, 282, 302, 309, 311, 313, 314, 362,
  2807  	363, 375, 396, 409, 410, 411, 306, 290, 390, 291,
  2808  	324, 292, 269, 298, 296, 299, 398, 300, 271, 376,
  2809  	415, 0, 319, 386, 349, 272, 348, 377, 414, 413,
  2810  	281, 440, 446, 447, 536, 0, 452, 616, 617, 618,
  2811  	461, 466, 467, 468, 470, 471, 472, 473, 537, 554,
  2812  	521, 491, 454, 545, 488, 492, 493, 557, 0, 0,
  2813  	0, 445, 338, 339, 0, 317, 265, 266, 611, 824,
  2814  	368, 559, 592, 484, 0, 838, 819, 821, 822, 825,
  2815  	829, 830, 831, 832, 833, 835, 837, 841, 610, 0,
  2816  	538, 553, 614, 552, 607, 374, 0, 395, 550, 497,
  2817  	0, 542, 516, 0, 543, 512, 547, 0, 486, 0,
  2818  	402, 426, 438, 455, 458, 487, 572, 573, 574, 270,
  2819  	457, 576, 577, 578, 579, 580, 581, 582, 575, 840,
  2820  	519, 496, 522, 437, 499, 498, 0, 0, 533, 772,
  2821  	534, 535, 358, 359, 360, 361, 827, 560, 288, 456,
  2822  	384, 0, 520, 0, 0, 0, 0, 0, 0, 0,
  2823  	0, 525, 526, 523, 619, 0, 583, 584, 0, 0,
  2824  	450, 451, 316, 323, 469, 325, 287, 373, 318, 435,
  2825  	332, 0, 462, 527, 463, 586, 589, 587, 588, 365,
  2826  	328, 329, 399, 333, 343, 387, 434, 371, 392, 285,
  2827  	425, 400, 347, 513, 540, 849, 823, 848, 850, 851,
  2828  	847, 852, 853, 834, 728, 0, 779, 845, 844, 846,
  2829  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2830  	0, 568, 567, 566, 565, 564, 563, 562, 561, 0,
  2831  	0, 510, 412, 297, 259, 293, 294, 301, 608, 605,
  2832  	416, 609, 0, 267, 490, 341, 0, 382, 315, 555,
  2833  	556, 0, 0, 812, 786, 787, 788, 725, 789, 783,
  2834  	784, 726, 785, 813, 777, 809, 810, 753, 780, 790,
  2835  	808, 791, 811, 814, 815, 854, 855, 797, 781, 231,
  2836  	856, 794, 816, 807, 806, 792, 778, 817, 818, 760,
  2837  	755, 795, 796, 782, 800, 801, 802, 727, 774, 775,
  2838  	776, 798, 799, 756, 757, 758, 759, 0, 0, 0,
  2839  	441, 442, 443, 465, 0, 427, 489, 606, 0, 0,
  2840  	0, 0, 0, 0, 0, 539, 551, 585, 0, 594,
  2841  	595, 597, 599, 803, 601, 770, 612, 480, 481, 613,
  2842  	591, 0, 720, 0, 370, 0, 495, 528, 517, 600,
  2843  	483, 0, 0, 0, 0, 0, 0, 723, 0, 0,
  2844  	0, 310, 0, 0, 340, 532, 514, 524, 515, 500,
  2845  	501, 502, 509, 320, 503, 504, 505, 475, 506, 476,
  2846  	507, 508, 761, 531, 482, 401, 354, 549, 548, 0,
  2847  	0, 828, 836, 0, 0, 0, 0, 0, 0, 0,
  2848  	0, 0, 0, 715, 0, 0, 751, 805, 804, 738,
  2849  	748, 0, 0, 283, 205, 477, 596, 479, 478, 739,
  2850  	0, 740, 744, 747, 743, 741, 742, 0, 820, 0,
  2851  	0, 0, 0, 0, 0, 707, 719, 0, 724, 0,
  2852  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2853  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2854  	0, 0, 716, 717, 0, 0, 0, 0, 771, 0,
  2855  	718, 0, 0, 766, 745, 749, 0, 0, 0, 0,
  2856  	273, 406, 423, 284, 397, 436, 289, 404, 279, 369,
  2857  	393, 0, 0, 275, 421, 403, 351, 330, 331, 274,
  2858  	0, 388, 308, 322, 305, 367, 746, 769, 773, 304,
  2859  	842, 767, 431, 277, 0, 430, 366, 417, 422, 352,
  2860  	346, 276, 419, 350, 345, 334, 312, 843, 335, 336,
  2861  	326, 378, 344, 379, 327, 356, 355, 357, 0, 0,
  2862  	0, 0, 0, 459, 460, 0, 0, 0, 0, 0,
  2863  	0, 0, 0, 0, 0, 0, 0, 590, 764, 0,
  2864  	593, 0, 433, 0, 0, 826, 0, 0, 0, 405,
  2865  	0, 0, 337, 0, 0, 0, 768, 0, 391, 372,
  2866  	839, 0, 0, 389, 342, 418, 380, 424, 407, 432,
  2867  	385, 381, 268, 408, 307, 353, 280, 282, 302, 309,
  2868  	311, 313, 314, 362, 363, 375, 396, 409, 410, 411,
  2869  	306, 290, 390, 291, 324, 292, 269, 298, 296, 299,
  2870  	398, 300, 271, 376, 415, 0, 319, 386, 349, 272,
  2871  	348, 377, 414, 413, 281, 440, 446, 447, 536, 0,
  2872  	452, 616, 617, 618, 461, 466, 467, 468, 470, 471,
  2873  	472, 473, 537, 554, 521, 491, 454, 545, 488, 492,
  2874  	493, 557, 0, 0, 0, 445, 338, 339, 0, 317,
  2875  	265, 266, 611, 824, 368, 559, 592, 484, 0, 838,
  2876  	819, 821, 822, 825, 829, 830, 831, 832, 833, 835,
  2877  	837, 841, 610, 0, 538, 553, 614, 552, 607, 374,
  2878  	0, 395, 550, 497, 0, 542, 516, 0, 543, 512,
  2879  	547, 0, 486, 0, 402, 426, 438, 455, 458, 487,
  2880  	572, 573, 574, 270, 457, 576, 577, 578, 579, 580,
  2881  	581, 582, 575, 840, 519, 496, 522, 437, 499, 498,
  2882  	0, 0, 533, 772, 534, 535, 358, 359, 360, 361,
  2883  	827, 560, 288, 456, 384, 0, 520, 0, 0, 0,
  2884  	0, 0, 0, 0, 0, 525, 526, 523, 619, 0,
  2885  	583, 584, 0, 0, 450, 451, 316, 323, 469, 325,
  2886  	287, 373, 318, 435, 332, 0, 462, 527, 463, 586,
  2887  	589, 587, 588, 365, 328, 329, 399, 333, 343, 387,
  2888  	434, 371, 392, 285, 425, 400, 347, 513, 540, 849,
  2889  	823, 848, 850, 851, 847, 852, 853, 834, 728, 0,
  2890  	779, 845, 844, 846, 0, 0, 0, 0, 0, 0,
  2891  	0, 0, 0, 0, 0, 568, 567, 566, 565, 564,
  2892  	563, 562, 561, 0, 0, 510, 412, 297, 259, 293,
  2893  	294, 301, 608, 605, 416, 609, 0, 267, 490, 341,
  2894  	0, 382, 315, 555, 556, 0, 0, 812, 786, 787,
  2895  	788, 725, 789, 783, 784, 726, 785, 813, 777, 809,
  2896  	810, 753, 780, 790, 808, 791, 811, 814, 815, 854,
  2897  	855, 797, 781, 231, 856, 794, 816, 807, 806, 792,
  2898  	778, 817, 818, 760, 755, 795, 796, 782, 800, 801,
  2899  	802, 727, 774, 775, 776, 798, 799, 756, 757, 758,
  2900  	759, 0, 0, 0, 441, 442, 443, 465, 0, 427,
  2901  	489, 606, 0, 0, 0, 0, 0, 0, 0, 539,
  2902  	551, 585, 0, 594, 595, 597, 599, 803, 601, 770,
  2903  	612, 480, 481, 613, 591, 0, 720, 0, 370, 0,
  2904  	495, 528, 517, 600, 483, 0, 0, 0, 0, 0,
  2905  	0, 723, 0, 0, 0, 310, 0, 0, 340, 532,
  2906  	514, 524, 515, 500, 501, 502, 509, 320, 503, 504,
  2907  	505, 475, 506, 476, 507, 508, 761, 531, 482, 401,
  2908  	354, 549, 548, 0, 0, 828, 836, 0, 0, 0,
  2909  	0, 0, 0, 0, 0, 0, 0, 715, 0, 0,
  2910  	751, 805, 804, 738, 748, 0, 0, 283, 205, 477,
  2911  	596, 479, 478, 2576, 0, 2577, 744, 747, 743, 741,
  2912  	742, 0, 820, 0, 0, 0, 0, 0, 0, 707,
  2913  	719, 0, 724, 0, 0, 0, 0, 0, 0, 0,
  2914  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2915  	0, 0, 0, 0, 0, 0, 716, 717, 0, 0,
  2916  	0, 0, 771, 0, 718, 0, 0, 766, 745, 749,
  2917  	0, 0, 0, 0, 273, 406, 423, 284, 397, 436,
  2918  	289, 404, 279, 369, 393, 0, 0, 275, 421, 403,
  2919  	351, 330, 331, 274, 0, 388, 308, 322, 305, 367,
  2920  	746, 769, 773, 304, 842, 767, 431, 277, 0, 430,
  2921  	366, 417, 422, 352, 346, 276, 419, 350, 345, 334,
  2922  	312, 843, 335, 336, 326, 378, 344, 379, 327, 356,
  2923  	355, 357, 0, 0, 0, 0, 0, 459, 460, 0,
  2924  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2925  	0, 590, 764, 0, 593, 0, 433, 0, 0, 826,
  2926  	0, 0, 0, 405, 0, 0, 337, 0, 0, 0,
  2927  	768, 0, 391, 372, 839, 0, 0, 389, 342, 418,
  2928  	380, 424, 407, 432, 385, 381, 268, 408, 307, 353,
  2929  	280, 282, 302, 309, 311, 313, 314, 362, 363, 375,
  2930  	396, 409, 410, 411, 306, 290, 390, 291, 324, 292,
  2931  	269, 298, 296, 299, 398, 300, 271, 376, 415, 0,
  2932  	319, 386, 349, 272, 348, 377, 414, 413, 281, 440,
  2933  	446, 447, 536, 0, 452, 616, 617, 618, 461, 466,
  2934  	467, 468, 470, 471, 472, 473, 537, 554, 521, 491,
  2935  	454, 545, 488, 492, 493, 557, 0, 0, 0, 445,
  2936  	338, 339, 0, 317, 265, 266, 611, 824, 368, 559,
  2937  	592, 484, 0, 838, 819, 821, 822, 825, 829, 830,
  2938  	831, 832, 833, 835, 837, 841, 610, 0, 538, 553,
  2939  	614, 552, 607, 374, 0, 395, 550, 497, 0, 542,
  2940  	516, 0, 543, 512, 547, 0, 486, 0, 402, 426,
  2941  	438, 455, 458, 487, 572, 573, 574, 270, 457, 576,
  2942  	577, 578, 579, 580, 581, 582, 575, 840, 519, 496,
  2943  	522, 437, 499, 498, 0, 0, 533, 772, 534, 535,
  2944  	358, 359, 360, 361, 827, 560, 288, 456, 384, 0,
  2945  	520, 0, 0, 0, 0, 0, 0, 0, 0, 525,
  2946  	526, 523, 619, 0, 583, 584, 0, 0, 450, 451,
  2947  	316, 323, 469, 325, 287, 373, 318, 435, 332, 0,
  2948  	462, 527, 463, 586, 589, 587, 588, 365, 328, 329,
  2949  	399, 333, 343, 387, 434, 371, 392, 285, 425, 400,
  2950  	347, 513, 540, 849, 823, 848, 850, 851, 847, 852,
  2951  	853, 834, 728, 0, 779, 845, 844, 846, 0, 0,
  2952  	0, 0, 0, 0, 0, 0, 0, 0, 0, 568,
  2953  	567, 566, 565, 564, 563, 562, 561, 0, 0, 510,
  2954  	412, 297, 259, 293, 294, 301, 608, 605, 416, 609,
  2955  	0, 267, 490, 341, 0, 382, 315, 555, 556, 0,
  2956  	0, 812, 786, 787, 788, 725, 789, 783, 784, 726,
  2957  	785, 813, 777, 809, 810, 753, 780, 790, 808, 791,
  2958  	811, 814, 815, 854, 855, 797, 781, 231, 856, 794,
  2959  	816, 807, 806, 792, 778, 817, 818, 760, 755, 795,
  2960  	796, 782, 800, 801, 802, 727, 774, 775, 776, 798,
  2961  	799, 756, 757, 758, 759, 0, 0, 0, 441, 442,
  2962  	443, 465, 0, 427, 489, 606, 0, 0, 0, 0,
  2963  	0, 0, 0, 539, 551, 585, 0, 594, 595, 597,
  2964  	599, 803, 601, 770, 612, 480, 481, 613, 591, 0,
  2965  	720, 0, 370, 0, 495, 528, 517, 600, 483, 0,
  2966  	0, 1625, 0, 0, 0, 723, 0, 0, 0, 310,
  2967  	0, 0, 340, 532, 514, 524, 515, 500, 501, 502,
  2968  	509, 320, 503, 504, 505, 475, 506, 476, 507, 508,
  2969  	761, 531, 482, 401, 354, 549, 548, 0, 0, 828,
  2970  	836, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2971  	0, 715, 0, 0, 751, 805, 804, 738, 748, 0,
  2972  	0, 283, 205, 477, 596, 479, 478, 739, 0, 740,
  2973  	744, 747, 743, 741, 742, 0, 820, 0, 0, 0,
  2974  	0, 0, 0, 0, 719, 0, 724, 0, 0, 0,
  2975  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2976  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2977  	716, 717, 0, 0, 0, 0, 771, 0, 718, 0,
  2978  	0, 766, 745, 749, 0, 0, 0, 0, 273, 406,
  2979  	423, 284, 397, 436, 289, 404, 279, 369, 393, 0,
  2980  	0, 275, 421, 403, 351, 330, 331, 274, 0, 388,
  2981  	308, 322, 305, 367, 746, 769, 773, 304, 842, 767,
  2982  	431, 277, 0, 430, 366, 417, 422, 352, 346, 276,
  2983  	419, 350, 345, 334, 312, 843, 335, 336, 326, 378,
  2984  	344, 379, 327, 356, 355, 357, 0, 0, 0, 0,
  2985  	0, 459, 460, 0, 0, 0, 0, 0, 0, 0,
  2986  	0, 0, 0, 0, 0, 590, 764, 0, 593, 0,
  2987  	433, 0, 0, 826, 0, 0, 0, 405, 0, 0,
  2988  	337, 0, 0, 0, 768, 0, 391, 372, 839, 0,
  2989  	0, 389, 342, 418, 380, 424, 407, 432, 385, 381,
  2990  	268, 408, 307, 353, 280, 282, 302, 309, 311, 313,
  2991  	314, 362, 363, 375, 396, 409, 410, 411, 306, 290,
  2992  	390, 291, 324, 292, 269, 298, 296, 299, 398, 300,
  2993  	271, 376, 415, 0, 319, 386, 349, 272, 348, 377,
  2994  	414, 413, 281, 440, 1626, 1627, 536, 0, 452, 616,
  2995  	617, 618, 461, 466, 467, 468, 470, 471, 472, 473,
  2996  	537, 554, 521, 491, 454, 545, 488, 492, 493, 557,
  2997  	0, 0, 0, 445, 338, 339, 0, 317, 265, 266,
  2998  	611, 824, 368, 559, 592, 484, 0, 838, 819, 821,
  2999  	822, 825, 829, 830, 831, 832, 833, 835, 837, 841,
  3000  	610, 0, 538, 553, 614, 552, 607, 374, 0, 395,
  3001  	550, 497, 0, 542, 516, 0, 543, 512, 547, 0,
  3002  	486, 0, 402, 426, 438, 455, 458, 487, 572, 573,
  3003  	574, 270, 457, 576, 577, 578, 579, 580, 581, 582,
  3004  	575, 840, 519, 496, 522, 437, 499, 498, 0, 0,
  3005  	533, 772, 534, 535, 358, 359, 360, 361, 827, 560,
  3006  	288, 456, 384, 0, 520, 0, 0, 0, 0, 0,
  3007  	0, 0, 0, 525, 526, 523, 619, 0, 583, 584,
  3008  	0, 0, 450, 451, 316, 323, 469, 325, 287, 373,
  3009  	318, 435, 332, 0, 462, 527, 463, 586, 589, 587,
  3010  	588, 365, 328, 329, 399, 333, 343, 387, 434, 371,
  3011  	392, 285, 425, 400, 347, 513, 540, 849, 823, 848,
  3012  	850, 851, 847, 852, 853, 834, 728, 0, 779, 845,
  3013  	844, 846, 0, 0, 0, 0, 0, 0, 0, 0,
  3014  	0, 0, 0, 568, 567, 566, 565, 564, 563, 562,
  3015  	561, 0, 0, 510, 412, 297, 259, 293, 294, 301,
  3016  	608, 605, 416, 609, 0, 267, 490, 341, 0, 382,
  3017  	315, 555, 556, 0, 0, 812, 786, 787, 788, 725,
  3018  	789, 783, 784, 726, 785, 813, 777, 809, 810, 753,
  3019  	780, 790, 808, 791, 811, 814, 815, 854, 855, 797,
  3020  	781, 231, 856, 794, 816, 807, 806, 792, 778, 817,
  3021  	818, 760, 755, 795, 796, 782, 800, 801, 802, 727,
  3022  	774, 775, 776, 798, 799, 756, 757, 758, 759, 0,
  3023  	0, 0, 441, 442, 443, 465, 0, 427, 489, 606,
  3024  	0, 0, 0, 0, 0, 0, 0, 539, 551, 585,
  3025  	0, 594, 595, 597, 599, 803, 601, 770, 612, 480,
  3026  	481, 613, 591, 0, 720, 0, 370, 0, 495, 528,
  3027  	517, 600, 483, 0, 0, 0, 0, 0, 0, 723,
  3028  	0, 0, 0, 310, 0, 0, 340, 532, 514, 524,
  3029  	515, 500, 501, 502, 509, 320, 503, 504, 505, 475,
  3030  	506, 476, 507, 508, 761, 531, 482, 401, 354, 549,
  3031  	548, 0, 0, 828, 836, 0, 0, 0, 0, 0,
  3032  	0, 0, 0, 0, 0, 715, 0, 0, 751, 805,
  3033  	804, 738, 748, 0, 0, 283, 205, 477, 596, 479,
  3034  	478, 739, 0, 740, 744, 747, 743, 741, 742, 0,
  3035  	820, 0, 0, 0, 0, 0, 0, 0, 719, 0,
  3036  	724, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3037  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3038  	0, 0, 0, 0, 716, 717, 0, 0, 0, 0,
  3039  	771, 0, 718, 0, 0, 766, 745, 749, 0, 0,
  3040  	0, 0, 273, 406, 423, 284, 397, 436, 289, 404,
  3041  	279, 369, 393, 0, 0, 275, 421, 403, 351, 330,
  3042  	331, 274, 0, 388, 308, 322, 305, 367, 746, 769,
  3043  	773, 304, 842, 767, 431, 277, 0, 430, 366, 417,
  3044  	422, 352, 346, 276, 419, 350, 345, 334, 312, 843,
  3045  	335, 336, 326, 378, 344, 379, 327, 356, 355, 357,
  3046  	0, 0, 0, 0, 0, 459, 460, 0, 0, 0,
  3047  	0, 0, 0, 0, 0, 0, 0, 0, 0, 590,
  3048  	764, 0, 593, 0, 433, 0, 0, 826, 0, 0,
  3049  	0, 405, 0, 0, 337, 0, 0, 0, 768, 0,
  3050  	391, 372, 839, 0, 0, 389, 342, 418, 380, 424,
  3051  	407, 432, 385, 381, 268, 408, 307, 353, 280, 282,
  3052  	302, 309, 311, 313, 314, 362, 363, 375, 396, 409,
  3053  	410, 411, 306, 290, 390, 291, 324, 292, 269, 298,
  3054  	296, 299, 398, 300, 271, 376, 415, 0, 319, 386,
  3055  	349, 272, 348, 377, 414, 413, 281, 440, 446, 447,
  3056  	536, 0, 452, 616, 617, 618, 461, 466, 467, 468,
  3057  	470, 471, 472, 473, 537, 554, 521, 491, 454, 545,
  3058  	488, 492, 493, 557, 0, 0, 0, 445, 338, 339,
  3059  	0, 317, 265, 266, 611, 824, 368, 559, 592, 484,
  3060  	0, 838, 819, 821, 822, 825, 829, 830, 831, 832,
  3061  	833, 835, 837, 841, 610, 0, 538, 553, 614, 552,
  3062  	607, 374, 0, 395, 550, 497, 0, 542, 516, 0,
  3063  	543, 512, 547, 0, 486, 0, 402, 426, 438, 455,
  3064  	458, 487, 572, 573, 574, 270, 457, 576, 577, 578,
  3065  	579, 580, 581, 582, 575, 840, 519, 496, 522, 437,
  3066  	499, 498, 0, 0, 533, 772, 534, 535, 358, 359,
  3067  	360, 361, 827, 560, 288, 456, 384, 0, 520, 0,
  3068  	0, 0, 0, 0, 0, 0, 0, 525, 526, 523,
  3069  	619, 0, 583, 584, 0, 0, 450, 451, 316, 323,
  3070  	469, 325, 287, 373, 318, 435, 332, 0, 462, 527,
  3071  	463, 586, 589, 587, 588, 365, 328, 329, 399, 333,
  3072  	343, 387, 434, 371, 392, 285, 425, 400, 347, 513,
  3073  	540, 849, 823, 848, 850, 851, 847, 852, 853, 834,
  3074  	728, 0, 779, 845, 844, 846, 0, 0, 0, 0,
  3075  	0, 0, 0, 0, 0, 0, 0, 568, 567, 566,
  3076  	565, 564, 563, 562, 561, 0, 0, 510, 412, 297,
  3077  	259, 293, 294, 301, 608, 605, 416, 609, 0, 267,
  3078  	490, 341, 0, 382, 315, 555, 556, 0, 0, 812,
  3079  	786, 787, 788, 725, 789, 783, 784, 726, 785, 813,
  3080  	777, 809, 810, 753, 780, 790, 808, 791, 811, 814,
  3081  	815, 854, 855, 797, 781, 231, 856, 794, 816, 807,
  3082  	806, 792, 778, 817, 818, 760, 755, 795, 796, 782,
  3083  	800, 801, 802, 727, 774, 775, 776, 798, 799, 756,
  3084  	757, 758, 759, 0, 0, 0, 441, 442, 443, 465,
  3085  	0, 427, 489, 606, 0, 0, 0, 0, 0, 0,
  3086  	0, 539, 551, 585, 0, 594, 595, 597, 599, 803,
  3087  	601, 770, 612, 480, 481, 613, 591, 0, 720, 0,
  3088  	370, 0, 495, 528, 517, 600, 483, 0, 0, 0,
  3089  	0, 0, 0, 723, 0, 0, 0, 310, 0, 0,
  3090  	340, 532, 514, 524, 515, 500, 501, 502, 509, 320,
  3091  	503, 504, 505, 475, 506, 476, 507, 508, 761, 531,
  3092  	482, 401, 354, 549, 548, 0, 0, 828, 836, 0,
  3093  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3094  	0, 0, 751, 805, 804, 738, 748, 0, 0, 283,
  3095  	205, 477, 596, 479, 478, 739, 0, 740, 744, 747,
  3096  	743, 741, 742, 0, 820, 0, 0, 0, 0, 0,
  3097  	0, 707, 719, 0, 724, 0, 0, 0, 0, 0,
  3098  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3099  	0, 0, 0, 0, 0, 0, 0, 0, 716, 717,
  3100  	0, 0, 0, 0, 771, 0, 718, 0, 0, 766,
  3101  	745, 749, 0, 0, 0, 0, 273, 406, 423, 284,
  3102  	397, 436, 289, 404, 279, 369, 393, 0, 0, 275,
  3103  	421, 403, 351, 330, 331, 274, 0, 388, 308, 322,
  3104  	305, 367, 746, 769, 773, 304, 842, 767, 431, 277,
  3105  	0, 430, 366, 417, 422, 352, 346, 276, 419, 350,
  3106  	345, 334, 312, 843, 335, 336, 326, 378, 344, 379,
  3107  	327, 356, 355, 357, 0, 0, 0, 0, 0, 459,
  3108  	460, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3109  	0, 0, 0, 590, 764, 0, 593, 0, 433, 0,
  3110  	0, 826, 0, 0, 0, 405, 0, 0, 337, 0,
  3111  	0, 0, 768, 0, 391, 372, 839, 0, 0, 389,
  3112  	342, 418, 380, 424, 407, 432, 385, 381, 268, 408,
  3113  	307, 353, 280, 282, 302, 309, 311, 313, 314, 362,
  3114  	363, 375, 396, 409, 410, 411, 306, 290, 390, 291,
  3115  	324, 292, 269, 298, 296, 299, 398, 300, 271, 376,
  3116  	415, 0, 319, 386, 349, 272, 348, 377, 414, 413,
  3117  	281, 440, 446, 447, 536, 0, 452, 616, 617, 618,
  3118  	461, 466, 467, 468, 470, 471, 472, 473, 537, 554,
  3119  	521, 491, 454, 545, 488, 492, 493, 557, 0, 0,
  3120  	0, 445, 338, 339, 0, 317, 265, 266, 611, 824,
  3121  	368, 559, 592, 484, 0, 838, 819, 821, 822, 825,
  3122  	829, 830, 831, 832, 833, 835, 837, 841, 610, 0,
  3123  	538, 553, 614, 552, 607, 374, 0, 395, 550, 497,
  3124  	0, 542, 516, 0, 543, 512, 547, 0, 486, 0,
  3125  	402, 426, 438, 455, 458, 487, 572, 573, 574, 270,
  3126  	457, 576, 577, 578, 579, 580, 581, 582, 575, 840,
  3127  	519, 496, 522, 437, 499, 498, 0, 0, 533, 772,
  3128  	534, 535, 358, 359, 360, 361, 827, 560, 288, 456,
  3129  	384, 0, 520, 0, 0, 0, 0, 0, 0, 0,
  3130  	0, 525, 526, 523, 619, 0, 583, 584, 0, 0,
  3131  	450, 451, 316, 323, 469, 325, 287, 373, 318, 435,
  3132  	332, 0, 462, 527, 463, 586, 589, 587, 588, 365,
  3133  	328, 329, 399, 333, 343, 387, 434, 371, 392, 285,
  3134  	425, 400, 347, 513, 540, 849, 823, 848, 850, 851,
  3135  	847, 852, 853, 834, 728, 0, 779, 845, 844, 846,
  3136  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3137  	0, 568, 567, 566, 565, 564, 563, 562, 561, 0,
  3138  	0, 510, 412, 297, 259, 293, 294, 301, 608, 605,
  3139  	416, 609, 0, 267, 490, 341, 0, 382, 315, 555,
  3140  	556, 0, 0, 812, 786, 787, 788, 725, 789, 783,
  3141  	784, 726, 785, 813, 777, 809, 810, 753, 780, 790,
  3142  	808, 791, 811, 814, 815, 854, 855, 797, 781, 231,
  3143  	856, 794, 816, 807, 806, 792, 778, 817, 818, 760,
  3144  	755, 795, 796, 782, 800, 801, 802, 727, 774, 775,
  3145  	776, 798, 799, 756, 757, 758, 759, 0, 0, 0,
  3146  	441, 442, 443, 465, 0, 427, 489, 606, 0, 0,
  3147  	0, 0, 0, 0, 0, 539, 551, 585, 0, 594,
  3148  	595, 597, 599, 803, 601, 0, 612, 480, 481, 613,
  3149  	591, 0, 720, 182, 55, 171, 145, 0, 0, 0,
  3150  	0, 0, 0, 370, 0, 495, 528, 517, 600, 483,
  3151  	0, 172, 0, 0, 0, 0, 0, 0, 164, 0,
  3152  	310, 0, 173, 340, 532, 514, 524, 515, 500, 501,
  3153  	502, 509, 320, 503, 504, 505, 475, 506, 476, 507,
  3154  	508, 121, 531, 482, 401, 354, 549, 548, 0, 0,
  3155  	0, 0, 0, 0, 0, 0, 109, 0, 0, 0,
  3156  	0, 0, 176, 0, 0, 204, 0, 0, 0, 0,
  3157  	0, 0, 283, 205, 477, 596, 479, 478, 0, 0,
  3158  	0, 0, 0, 0, 0, 0, 0, 286, 0, 0,
  3159  	0, 0, 0, 0, 0, 0, 0, 196, 0, 0,
  3160  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3161  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3162  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3163  	0, 0, 0, 0, 0, 0, 0, 0, 0, 273,
  3164  	406, 423, 284, 397, 436, 289, 404, 279, 369, 393,
  3165  	0, 0, 275, 421, 403, 351, 330, 331, 274, 0,
  3166  	388, 308, 322, 305, 367, 0, 420, 448, 304, 439,
  3167  	0, 431, 277, 0, 430, 366, 417, 422, 352, 346,
  3168  	276, 419, 350, 345, 334, 312, 464, 335, 336, 326,
  3169  	378, 344, 379, 327, 356, 355, 357, 0, 0, 0,
  3170  	0, 0, 459, 460, 0, 0, 0, 0, 0, 0,
  3171  	144, 170, 180, 0, 107, 0, 590, 0, 0, 593,
  3172  	0, 433, 0, 0, 197, 0, 0, 0, 405, 0,
  3173  	0, 337, 169, 163, 162, 449, 0, 391, 372, 209,
  3174  	0, 0, 389, 342, 418, 380, 424, 407, 432, 385,
  3175  	381, 268, 408, 307, 353, 280, 282, 302, 309, 311,
  3176  	313, 314, 362, 363, 375, 396, 409, 410, 411, 306,
  3177  	290, 390, 291, 324, 292, 269, 298, 296, 299, 398,
  3178  	300, 271, 376, 415, 0, 319, 386, 349, 272, 348,
  3179  	377, 414, 413, 281, 440, 446, 447, 536, 0, 452,
  3180  	569, 570, 571, 461, 466, 467, 468, 470, 471, 472,
  3181  	473, 537, 554, 521, 491, 454, 545, 488, 492, 493,
  3182  	557, 0, 0, 0, 445, 338, 339, 0, 317, 265,
  3183  	266, 428, 303, 368, 559, 592, 484, 0, 546, 485,
  3184  	494, 295, 518, 530, 529, 364, 444, 200, 541, 544,
  3185  	474, 210, 0, 538, 553, 511, 552, 211, 374, 0,
  3186  	395, 550, 497, 0, 542, 516, 0, 543, 512, 547,
  3187  	0, 486, 0, 402, 426, 438, 455, 458, 487, 572,
  3188  	573, 574, 270, 457, 576, 577, 578, 579, 580, 581,
  3189  	582, 575, 429, 519, 496, 522, 437, 499, 498, 0,
  3190  	0, 533, 453, 534, 535, 358, 359, 360, 361, 321,
  3191  	560, 288, 456, 384, 119, 520, 0, 0, 0, 0,
  3192  	0, 0, 0, 0, 525, 526, 523, 208, 0, 583,
  3193  	584, 0, 0, 450, 451, 316, 323, 469, 325, 287,
  3194  	373, 318, 435, 332, 0, 462, 527, 463, 586, 589,
  3195  	587, 588, 365, 328, 329, 399, 333, 343, 387, 434,
  3196  	371, 392, 285, 425, 400, 347, 513, 540, 0, 0,
  3197  	0, 0, 0, 0, 0, 0, 56, 0, 0, 254,
  3198  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3199  	0, 0, 0, 0, 568, 567, 566, 565, 564, 563,
  3200  	562, 561, 0, 0, 510, 412, 297, 259, 293, 294,
  3201  	301, 383, 278, 416, 394, 0, 267, 490, 341, 146,
  3202  	382, 315, 555, 556, 52, 0, 215, 216, 217, 218,
  3203  	219, 220, 221, 222, 260, 223, 224, 225, 226, 227,
  3204  	228, 229, 232, 233, 234, 235, 236, 237, 238, 239,
  3205  	558, 230, 231, 240, 241, 242, 243, 244, 245, 246,
  3206  	247, 248, 249, 250, 251, 252, 253, 0, 0, 0,
  3207  	261, 262, 263, 264, 0, 0, 255, 256, 257, 258,
  3208  	0, 0, 0, 441, 442, 443, 465, 0, 427, 489,
  3209  	212, 41, 198, 201, 203, 202, 0, 53, 539, 551,
  3210  	585, 5, 594, 595, 597, 599, 598, 601, 124, 213,
  3211  	480, 481, 214, 591, 182, 0, 0, 0, 0, 0,
  3212  	0, 0, 0, 0, 370, 0, 495, 528, 517, 600,
  3213  	483, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3214  	0, 310, 0, 0, 340, 532, 514, 524, 515, 500,
  3215  	501, 502, 509, 320, 503, 504, 505, 475, 506, 476,
  3216  	507, 508, 121, 531, 482, 401, 354, 549, 548, 0,
  3217  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3218  	0, 0, 0, 176, 0, 0, 204, 0, 0, 0,
  3219  	0, 0, 0, 283, 205, 477, 596, 479, 478, 0,
  3220  	0, 0, 0, 0, 0, 0, 0, 0, 286, 2271,
  3221  	2274, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3222  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3223  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3224  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3225  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3226  	273, 406, 423, 284, 397, 436, 289, 404, 279, 369,
  3227  	393, 0, 0, 275, 421, 403, 351, 330, 331, 274,
  3228  	0, 388, 308, 322, 305, 367, 0, 420, 448, 304,
  3229  	439, 0, 431, 277, 0, 430, 366, 417, 422, 352,
  3230  	346, 276, 419, 350, 345, 334, 312, 464, 335, 336,
  3231  	326, 378, 344, 379, 327, 356, 355, 357, 0, 0,
  3232  	0, 0, 0, 459, 460, 0, 0, 0, 0, 0,
  3233  	0, 0, 0, 0, 0, 0, 0, 590, 0, 0,
  3234  	593, 2275, 433, 0, 0, 0, 2270, 0, 2269, 405,
  3235  	2267, 2272, 337, 0, 0, 0, 449, 0, 391, 372,
  3236  	615, 0, 0, 389, 342, 418, 380, 424, 407, 432,
  3237  	385, 381, 268, 408, 307, 353, 280, 282, 302, 309,
  3238  	311, 313, 314, 362, 363, 375, 396, 409, 410, 411,
  3239  	306, 290, 390, 291, 324, 292, 269, 298, 296, 299,
  3240  	398, 300, 271, 376, 415, 2273, 319, 386, 349, 272,
  3241  	348, 377, 414, 413, 281, 440, 446, 447, 536, 0,
  3242  	452, 616, 617, 618, 461, 466, 467, 468, 470, 471,
  3243  	472, 473, 537, 554, 521, 491, 454, 545, 488, 492,
  3244  	493, 557, 0, 0, 0, 445, 338, 339, 0, 317,
  3245  	265, 266, 611, 303, 368, 559, 592, 484, 0, 546,
  3246  	485, 494, 295, 518, 530, 529, 364, 444, 0, 541,
  3247  	544, 474, 610, 0, 538, 553, 614, 552, 607, 374,
  3248  	0, 395, 550, 497, 0, 542, 516, 0, 543, 512,
  3249  	547, 0, 486, 0, 402, 426, 438, 455, 458, 487,
  3250  	572, 573, 574, 270, 457, 576, 577, 578, 579, 580,
  3251  	581, 582, 575, 429, 519, 496, 522, 437, 499, 498,
  3252  	0, 0, 533, 453, 534, 535, 358, 359, 360, 361,
  3253  	321, 560, 288, 456, 384, 0, 520, 0, 0, 0,
  3254  	0, 0, 0, 0, 0, 525, 526, 523, 619, 0,
  3255  	583, 584, 0, 0, 450, 451, 316, 323, 469, 325,
  3256  	287, 373, 318, 435, 332, 0, 462, 527, 463, 586,
  3257  	589, 587, 588, 365, 328, 329, 399, 333, 343, 387,
  3258  	434, 371, 392, 285, 425, 400, 347, 513, 540, 0,
  3259  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3260  	254, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3261  	0, 0, 0, 0, 0, 568, 567, 566, 565, 564,
  3262  	563, 562, 561, 0, 0, 510, 412, 297, 259, 293,
  3263  	294, 301, 608, 605, 416, 609, 0, 267, 490, 341,
  3264  	146, 382, 315, 555, 556, 0, 0, 215, 216, 217,
  3265  	218, 219, 220, 221, 222, 260, 223, 224, 225, 226,
  3266  	227, 228, 229, 232, 233, 234, 235, 236, 237, 238,
  3267  	239, 558, 230, 231, 240, 241, 242, 243, 244, 245,
  3268  	246, 247, 248, 249, 250, 251, 252, 253, 0, 0,
  3269  	0, 261, 262, 263, 264, 0, 0, 255, 256, 257,
  3270  	258, 0, 0, 0, 441, 442, 443, 465, 0, 427,
  3271  	489, 606, 0, 0, 0, 0, 0, 0, 0, 539,
  3272  	551, 585, 0, 594, 595, 597, 599, 598, 601, 0,
  3273  	612, 480, 481, 613, 591, 370, 0, 495, 528, 517,
  3274  	600, 483, 0, 0, 0, 0, 0, 0, 0, 0,
  3275  	0, 0, 310, 0, 0, 340, 532, 514, 524, 515,
  3276  	500, 501, 502, 509, 320, 503, 504, 505, 475, 506,
  3277  	476, 507, 508, 0, 531, 482, 401, 354, 549, 548,
  3278  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3279  	0, 0, 0, 0, 1252, 0, 0, 204, 0, 0,
  3280  	738, 748, 0, 0, 283, 205, 477, 596, 479, 478,
  3281  	739, 0, 740, 744, 747, 743, 741, 742, 0, 286,
  3282  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3283  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3284  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3285  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3286  	0, 0, 0, 0, 0, 745, 0, 0, 0, 0,
  3287  	0, 273, 406, 423, 284, 397, 436, 289, 404, 279,
  3288  	369, 393, 0, 0, 275, 421, 403, 351, 330, 331,
  3289  	274, 0, 388, 308, 322, 305, 367, 746, 420, 448,
  3290  	304, 439, 0, 431, 277, 0, 430, 366, 417, 422,
  3291  	352, 346, 276, 419, 350, 345, 334, 312, 464, 335,
  3292  	336, 326, 378, 344, 379, 327, 356, 355, 357, 0,
  3293  	0, 0, 0, 0, 459, 460, 0, 0, 0, 0,
  3294  	0, 0, 0, 0, 0, 0, 0, 0, 590, 0,
  3295  	0, 593, 0, 433, 0, 0, 0, 0, 0, 0,
  3296  	405, 0, 0, 337, 0, 0, 0, 449, 0, 391,
  3297  	372, 615, 0, 0, 389, 342, 418, 380, 424, 407,
  3298  	432, 385, 381, 268, 408, 307, 353, 280, 282, 302,
  3299  	309, 311, 313, 314, 362, 363, 375, 396, 409, 410,
  3300  	411, 306, 290, 390, 291, 324, 292, 269, 298, 296,
  3301  	299, 398, 300, 271, 376, 415, 0, 319, 386, 349,
  3302  	272, 348, 377, 414, 413, 281, 440, 446, 447, 536,
  3303  	0, 452, 616, 617, 618, 461, 466, 467, 468, 470,
  3304  	471, 472, 473, 537, 554, 521, 491, 454, 545, 488,
  3305  	492, 493, 557, 0, 0, 0, 445, 338, 339, 0,
  3306  	317, 265, 266, 611, 303, 368, 559, 592, 484, 0,
  3307  	546, 485, 494, 295, 518, 530, 529, 364, 444, 0,
  3308  	541, 544, 474, 610, 0, 538, 553, 614, 552, 607,
  3309  	374, 0, 395, 550, 497, 0, 542, 516, 0, 543,
  3310  	512, 547, 0, 486, 0, 402, 426, 438, 455, 458,
  3311  	487, 572, 573, 574, 270, 457, 576, 577, 578, 579,
  3312  	580, 581, 582, 575, 429, 519, 496, 522, 437, 499,
  3313  	498, 0, 0, 533, 453, 534, 535, 358, 359, 360,
  3314  	361, 321, 560, 288, 456, 384, 0, 520, 0, 0,
  3315  	0, 0, 0, 0, 0, 0, 525, 526, 523, 619,
  3316  	0, 583, 584, 0, 0, 450, 451, 316, 323, 469,
  3317  	325, 287, 373, 318, 435, 332, 0, 462, 527, 463,
  3318  	586, 589, 587, 588, 365, 328, 329, 399, 333, 343,
  3319  	387, 434, 371, 392, 285, 425, 400, 347, 513, 540,
  3320  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3321  	0, 254, 0, 0, 0, 0, 0, 0, 0, 0,
  3322  	0, 0, 0, 0, 0, 0, 568, 567, 566, 565,
  3323  	564, 563, 562, 561, 0, 0, 510, 412, 297, 259,
  3324  	293, 294, 301, 608, 605, 416, 609, 0, 267, 490,
  3325  	341, 0, 382, 315, 555, 556, 0, 0, 215, 216,
  3326  	217, 218, 219, 220, 221, 222, 260, 223, 224, 225,
  3327  	226, 227, 228, 229, 232, 233, 234, 235, 236, 237,
  3328  	238, 239, 558, 230, 231, 240, 241, 242, 243, 244,
  3329  	245, 246, 247, 248, 249, 250, 251, 252, 253, 0,
  3330  	0, 0, 261, 262, 263, 264, 0, 0, 255, 256,
  3331  	257, 258, 0, 0, 0, 441, 442, 443, 465, 0,
  3332  	427, 489, 606, 0, 0, 0, 0, 0, 0, 0,
  3333  	539, 551, 585, 0, 594, 595, 597, 599, 598, 601,
  3334  	0, 612, 480, 481, 613, 591, 182, 55, 171, 145,
  3335  	0, 0, 0, 0, 0, 0, 370, 638, 495, 528,
  3336  	517, 600, 483, 0, 0, 0, 0, 0, 0, 0,
  3337  	0, 0, 0, 310, 0, 0, 340, 532, 514, 524,
  3338  	515, 500, 501, 502, 509, 320, 503, 504, 505, 475,
  3339  	506, 476, 507, 508, 0, 531, 482, 401, 354, 549,
  3340  	548, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3341  	644, 0, 0, 0, 0, 643, 0, 0, 204, 0,
  3342  	0, 0, 0, 0, 0, 283, 205, 477, 596, 479,
  3343  	478, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3344  	286, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3345  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3346  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3347  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3348  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3349  	0, 0, 273, 406, 423, 284, 397, 436, 289, 404,
  3350  	279, 369, 393, 0, 0, 275, 421, 403, 351, 330,
  3351  	331, 274, 0, 388, 308, 322, 305, 367, 0, 420,
  3352  	448, 304, 439, 0, 431, 277, 0, 430, 366, 417,
  3353  	422, 352, 346, 276, 419, 350, 345, 334, 312, 464,
  3354  	335, 336, 326, 378, 344, 379, 327, 356, 355, 357,
  3355  	0, 0, 0, 0, 0, 459, 460, 0, 0, 0,
  3356  	0, 0, 0, 0, 0, 0, 0, 642, 0, 590,
  3357  	0, 0, 593, 0, 433, 0, 0, 0, 0, 0,
  3358  	0, 405, 0, 0, 337, 0, 0, 0, 449, 0,
  3359  	391, 372, 615, 0, 0, 389, 342, 418, 380, 424,
  3360  	407, 432, 385, 381, 268, 408, 307, 353, 280, 282,
  3361  	302, 309, 311, 313, 314, 362, 363, 375, 396, 409,
  3362  	410, 411, 306, 290, 390, 291, 324, 292, 269, 298,
  3363  	296, 299, 398, 300, 271, 376, 415, 0, 319, 386,
  3364  	349, 272, 348, 377, 414, 413, 281, 440, 446, 447,
  3365  	536, 0, 452, 616, 617, 618, 461, 466, 467, 468,
  3366  	470, 471, 472, 473, 537, 554, 521, 491, 454, 545,
  3367  	488, 492, 493, 557, 0, 0, 0, 445, 338, 339,
  3368  	0, 317, 265, 266, 611, 303, 368, 559, 592, 484,
  3369  	0, 546, 485, 494, 295, 518, 530, 529, 364, 444,
  3370  	0, 541, 544, 474, 610, 0, 538, 553, 614, 552,
  3371  	607, 374, 0, 395, 550, 497, 0, 542, 516, 0,
  3372  	543, 512, 547, 0, 486, 0, 402, 426, 438, 455,
  3373  	458, 487, 572, 573, 574, 270, 457, 576, 577, 578,
  3374  	579, 580, 581, 582, 575, 429, 519, 496, 522, 437,
  3375  	499, 498, 0, 0, 533, 453, 534, 535, 358, 359,
  3376  	360, 361, 639, 641, 288, 456, 384, 652, 520, 0,
  3377  	0, 0, 0, 0, 0, 0, 0, 525, 526, 523,
  3378  	619, 0, 583, 584, 0, 0, 450, 451, 316, 323,
  3379  	469, 325, 287, 373, 318, 435, 332, 0, 462, 527,
  3380  	463, 586, 589, 587, 588, 365, 328, 329, 399, 333,
  3381  	343, 387, 434, 371, 392, 285, 425, 400, 347, 513,
  3382  	540, 0, 0, 0, 0, 0, 0, 0, 0, 56,
  3383  	0, 0, 254, 0, 0, 0, 0, 0, 0, 0,
  3384  	0, 0, 0, 0, 0, 0, 0, 568, 567, 566,
  3385  	565, 564, 563, 562, 561, 0, 0, 510, 412, 297,
  3386  	259, 293, 294, 301, 608, 605, 416, 609, 0, 267,
  3387  	490, 341, 146, 382, 315, 555, 556, 0, 0, 215,
  3388  	216, 217, 218, 219, 220, 221, 222, 260, 223, 224,
  3389  	225, 226, 227, 228, 229, 232, 233, 234, 235, 236,
  3390  	237, 238, 239, 558, 230, 231, 240, 241, 242, 243,
  3391  	244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
  3392  	0, 0, 0, 261, 262, 263, 264, 0, 0, 255,
  3393  	256, 257, 258, 0, 0, 0, 441, 442, 443, 465,
  3394  	0, 427, 489, 606, 0, 0, 0, 0, 0, 0,
  3395  	0, 539, 551, 585, 0, 594, 595, 597, 599, 598,
  3396  	601, 0, 612, 480, 481, 613, 591, 370, 0, 495,
  3397  	528, 517, 600, 483, 0, 0, 0, 0, 0, 0,
  3398  	0, 0, 0, 0, 310, 0, 0, 340, 532, 514,
  3399  	524, 515, 500, 501, 502, 509, 320, 503, 504, 505,
  3400  	475, 506, 476, 507, 508, 0, 531, 482, 401, 354,
  3401  	549, 548, 0, 0, 0, 0, 0, 0, 0, 0,
  3402  	0, 0, 0, 0, 0, 0, 0, 0, 0, 204,
  3403  	0, 0, 0, 0, 0, 0, 283, 205, 477, 596,
  3404  	479, 478, 0, 0, 0, 0, 0, 0, 0, 0,
  3405  	0, 286, 2271, 2274, 0, 0, 0, 0, 0, 0,
  3406  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3407  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3408  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3409  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3410  	0, 0, 0, 273, 406, 423, 284, 397, 436, 289,
  3411  	404, 279, 369, 393, 0, 0, 275, 421, 403, 351,
  3412  	330, 331, 274, 0, 388, 308, 322, 305, 367, 0,
  3413  	420, 448, 304, 439, 0, 431, 277, 0, 430, 366,
  3414  	417, 422, 352, 346, 276, 419, 350, 345, 334, 312,
  3415  	464, 335, 336, 326, 378, 344, 379, 327, 356, 355,
  3416  	357, 0, 0, 0, 0, 0, 459, 460, 0, 0,
  3417  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3418  	590, 0, 0, 593, 2275, 433, 0, 0, 0, 2270,
  3419  	0, 2269, 405, 2267, 2272, 337, 0, 0, 0, 449,
  3420  	0, 391, 372, 615, 0, 0, 389, 342, 418, 380,
  3421  	424, 407, 432, 385, 381, 268, 408, 307, 353, 280,
  3422  	282, 302, 309, 311, 313, 314, 362, 363, 375, 396,
  3423  	409, 410, 411, 306, 290, 390, 291, 324, 292, 269,
  3424  	298, 296, 299, 398, 300, 271, 376, 415, 2273, 319,
  3425  	386, 349, 272, 348, 377, 414, 413, 281, 440, 446,
  3426  	447, 536, 0, 452, 616, 617, 618, 461, 466, 467,
  3427  	468, 470, 471, 472, 473, 537, 554, 521, 491, 454,
  3428  	545, 488, 492, 493, 557, 0, 0, 0, 445, 338,
  3429  	339, 0, 317, 265, 266, 611, 303, 368, 559, 592,
  3430  	484, 0, 546, 485, 494, 295, 518, 530, 529, 364,
  3431  	444, 0, 541, 544, 474, 610, 0, 538, 553, 614,
  3432  	552, 607, 374, 0, 395, 550, 497, 0, 542, 516,
  3433  	0, 543, 512, 547, 0, 486, 0, 402, 426, 438,
  3434  	455, 458, 487, 572, 573, 574, 270, 457, 576, 577,
  3435  	578, 579, 580, 581, 582, 575, 429, 519, 496, 522,
  3436  	437, 499, 498, 0, 0, 533, 453, 534, 535, 358,
  3437  	359, 360, 361, 321, 560, 288, 456, 384, 0, 520,
  3438  	0, 0, 0, 0, 0, 0, 0, 0, 525, 526,
  3439  	523, 619, 0, 583, 584, 0, 0, 450, 451, 316,
  3440  	323, 469, 325, 287, 373, 318, 435, 332, 0, 462,
  3441  	527, 463, 586, 589, 587, 588, 365, 328, 329, 399,
  3442  	333, 343, 387, 434, 371, 392, 285, 425, 400, 347,
  3443  	513, 540, 0, 0, 0, 0, 0, 0, 0, 0,
  3444  	0, 0, 0, 254, 0, 0, 0, 0, 0, 0,
  3445  	0, 0, 0, 0, 0, 0, 0, 0, 568, 567,
  3446  	566, 565, 564, 563, 562, 561, 0, 0, 510, 412,
  3447  	297, 259, 293, 294, 301, 608, 605, 416, 609, 0,
  3448  	267, 490, 341, 0, 382, 315, 555, 556, 0, 0,
  3449  	215, 216, 217, 218, 219, 220, 221, 222, 260, 223,
  3450  	224, 225, 226, 227, 228, 229, 232, 233, 234, 235,
  3451  	236, 237, 238, 239, 558, 230, 231, 240, 241, 242,
  3452  	243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
  3453  	253, 0, 0, 0, 261, 262, 263, 264, 0, 0,
  3454  	255, 256, 257, 258, 0, 0, 0, 441, 442, 443,
  3455  	465, 0, 427, 489, 606, 0, 0, 0, 0, 0,
  3456  	0, 0, 539, 551, 585, 0, 594, 595, 597, 599,
  3457  	598, 601, 0, 612, 480, 481, 613, 591, 370, 0,
  3458  	495, 528, 517, 600, 483, 0, 1065, 0, 0, 0,
  3459  	0, 0, 0, 0, 0, 310, 0, 0, 340, 532,
  3460  	514, 524, 515, 500, 501, 502, 509, 320, 503, 504,
  3461  	505, 475, 506, 476, 507, 508, 0, 531, 482, 401,
  3462  	354, 549, 548, 0, 0, 0, 0, 0, 0, 0,
  3463  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3464  	204, 0, 0, 0, 0, 0, 0, 283, 205, 477,
  3465  	596, 479, 478, 0, 0, 0, 0, 0, 0, 0,
  3466  	0, 0, 286, 0, 0, 0, 0, 0, 0, 0,
  3467  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3468  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3469  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3470  	0, 0, 0, 0, 0, 0, 0, 1051, 0, 0,
  3471  	0, 0, 0, 0, 273, 406, 423, 284, 397, 436,
  3472  	289, 404, 279, 369, 393, 0, 0, 2420, 2423, 2424,
  3473  	2425, 2426, 2427, 2428, 0, 2433, 2429, 2430, 2431, 2432,
  3474  	0, 2415, 2416, 2417, 2418, 1049, 2399, 2421, 0, 2400,
  3475  	366, 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409,
  3476  	2412, 2413, 2410, 2411, 2419, 378, 344, 379, 327, 356,
  3477  	355, 357, 1076, 1078, 1080, 1082, 1085, 459, 460, 0,
  3478  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3479  	0, 590, 0, 0, 593, 0, 433, 0, 0, 0,
  3480  	0, 0, 0, 405, 0, 0, 337, 0, 0, 0,
  3481  	2414, 0, 391, 372, 615, 0, 0, 389, 342, 418,
  3482  	380, 424, 407, 432, 385, 381, 268, 408, 307, 353,
  3483  	280, 282, 302, 309, 311, 313, 314, 362, 363, 375,
  3484  	396, 409, 410, 411, 306, 290, 390, 291, 324, 292,
  3485  	269, 298, 296, 299, 398, 300, 271, 376, 415, 0,
  3486  	319, 386, 349, 272, 348, 377, 414, 413, 281, 440,
  3487  	446, 447, 536, 0, 452, 616, 617, 618, 461, 466,
  3488  	467, 468, 470, 471, 472, 473, 537, 554, 521, 491,
  3489  	454, 545, 488, 492, 493, 557, 0, 0, 0, 445,
  3490  	338, 339, 0, 317, 265, 266, 611, 303, 368, 559,
  3491  	592, 484, 0, 546, 485, 494, 295, 518, 530, 529,
  3492  	364, 444, 0, 541, 544, 474, 610, 0, 538, 553,
  3493  	614, 552, 607, 374, 0, 395, 550, 497, 0, 542,
  3494  	516, 0, 543, 512, 547, 0, 486, 0, 402, 426,
  3495  	438, 455, 458, 487, 572, 573, 574, 270, 457, 576,
  3496  	577, 578, 579, 580, 581, 582, 575, 429, 519, 496,
  3497  	522, 437, 499, 498, 0, 0, 533, 453, 534, 535,
  3498  	358, 359, 360, 361, 321, 560, 288, 456, 384, 0,
  3499  	520, 0, 0, 0, 0, 0, 0, 0, 0, 525,
  3500  	526, 523, 619, 0, 583, 584, 0, 0, 450, 451,
  3501  	316, 323, 469, 325, 287, 373, 318, 435, 332, 0,
  3502  	462, 527, 463, 586, 589, 587, 588, 365, 328, 329,
  3503  	399, 333, 343, 387, 434, 371, 392, 285, 425, 400,
  3504  	347, 513, 540, 0, 0, 0, 0, 0, 0, 0,
  3505  	0, 0, 0, 0, 254, 0, 0, 0, 0, 0,
  3506  	0, 0, 0, 0, 0, 0, 0, 0, 0, 568,
  3507  	567, 566, 565, 564, 563, 562, 561, 0, 0, 510,
  3508  	412, 297, 259, 293, 294, 301, 608, 605, 416, 609,
  3509  	0, 267, 2422, 341, 0, 382, 315, 555, 556, 0,
  3510  	0, 215, 216, 217, 218, 219, 220, 221, 222, 260,
  3511  	223, 224, 225, 226, 227, 228, 229, 232, 233, 234,
  3512  	235, 236, 237, 238, 239, 558, 230, 231, 240, 241,
  3513  	242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
  3514  	252, 253, 0, 0, 0, 261, 262, 263, 264, 0,
  3515  	0, 255, 256, 257, 258, 0, 0, 0, 441, 442,
  3516  	443, 465, 0, 427, 489, 606, 0, 0, 0, 0,
  3517  	0, 0, 0, 539, 551, 585, 0, 594, 595, 597,
  3518  	599, 598, 601, 0, 612, 480, 481, 613, 591, 370,
  3519  	0, 495, 528, 517, 600, 483, 0, 0, 0, 0,
  3520  	0, 0, 0, 0, 0, 0, 310, 0, 0, 340,
  3521  	532, 514, 524, 515, 500, 501, 502, 509, 320, 503,
  3522  	504, 505, 475, 506, 476, 507, 508, 0, 531, 482,
  3523  	401, 354, 549, 548, 0, 0, 0, 0, 0, 0,
  3524  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3525  	0, 204, 0, 0, 0, 0, 0, 0, 283, 205,
  3526  	477, 596, 479, 478, 0, 0, 0, 0, 0, 0,
  3527  	0, 0, 0, 286, 0, 2292, 0, 0, 0, 0,
  3528  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3529  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3530  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3531  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3532  	0, 0, 0, 0, 0, 273, 406, 423, 284, 397,
  3533  	436, 289, 404, 279, 369, 393, 0, 0, 275, 421,
  3534  	403, 351, 330, 331, 274, 0, 388, 308, 322, 305,
  3535  	367, 0, 420, 448, 304, 439, 0, 431, 277, 0,
  3536  	430, 366, 417, 422, 352, 346, 276, 419, 350, 345,
  3537  	334, 312, 464, 335, 336, 326, 378, 344, 379, 327,
  3538  	356, 355, 357, 0, 0, 0, 0, 0, 459, 460,
  3539  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3540  	0, 0, 590, 0, 0, 593, 2291, 433, 0, 0,
  3541  	0, 2297, 2294, 2296, 405, 0, 2295, 337, 0, 0,
  3542  	0, 449, 0, 391, 372, 615, 0, 2289, 389, 342,
  3543  	418, 380, 424, 407, 432, 385, 381, 268, 408, 307,
  3544  	353, 280, 282, 302, 309, 311, 313, 314, 362, 363,
  3545  	375, 396, 409, 410, 411, 306, 290, 390, 291, 324,
  3546  	292, 269, 298, 296, 299, 398, 300, 271, 376, 415,
  3547  	0, 319, 386, 349, 272, 348, 377, 414, 413, 281,
  3548  	440, 446, 447, 536, 0, 452, 616, 617, 618, 461,
  3549  	466, 467, 468, 470, 471, 472, 473, 537, 554, 521,
  3550  	491, 454, 545, 488, 492, 493, 557, 0, 0, 0,
  3551  	445, 338, 339, 0, 317, 265, 266, 611, 303, 368,
  3552  	559, 592, 484, 0, 546, 485, 494, 295, 518, 530,
  3553  	529, 364, 444, 0, 541, 544, 474, 610, 0, 538,
  3554  	553, 614, 552, 607, 374, 0, 395, 550, 497, 0,
  3555  	542, 516, 0, 543, 512, 547, 0, 486, 0, 402,
  3556  	426, 438, 455, 458, 487, 572, 573, 574, 270, 457,
  3557  	576, 577, 578, 579, 580, 581, 582, 575, 429, 519,
  3558  	496, 522, 437, 499, 498, 0, 0, 533, 453, 534,
  3559  	535, 358, 359, 360, 361, 321, 560, 288, 456, 384,
  3560  	0, 520, 0, 0, 0, 0, 0, 0, 0, 0,
  3561  	525, 526, 523, 619, 0, 583, 584, 0, 0, 450,
  3562  	451, 316, 323, 469, 325, 287, 373, 318, 435, 332,
  3563  	0, 462, 527, 463, 586, 589, 587, 588, 365, 328,
  3564  	329, 399, 333, 343, 387, 434, 371, 392, 285, 425,
  3565  	400, 347, 513, 540, 0, 0, 0, 0, 0, 0,
  3566  	0, 0, 0, 0, 0, 254, 0, 0, 0, 0,
  3567  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3568  	568, 567, 566, 565, 564, 563, 562, 561, 0, 0,
  3569  	510, 412, 297, 259, 293, 294, 301, 608, 605, 416,
  3570  	609, 0, 267, 490, 341, 0, 382, 315, 555, 556,
  3571  	0, 0, 215, 216, 217, 218, 219, 220, 221, 222,
  3572  	260, 223, 224, 225, 226, 227, 228, 229, 232, 233,
  3573  	234, 235, 236, 237, 238, 239, 558, 230, 231, 240,
  3574  	241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
  3575  	251, 252, 253, 0, 0, 0, 261, 262, 263, 264,
  3576  	0, 0, 255, 256, 257, 258, 0, 0, 0, 441,
  3577  	442, 443, 465, 0, 427, 489, 606, 0, 0, 0,
  3578  	0, 0, 0, 0, 539, 551, 585, 0, 594, 595,
  3579  	597, 599, 598, 601, 0, 612, 480, 481, 613, 591,
  3580  	370, 0, 495, 528, 517, 600, 483, 0, 0, 0,
  3581  	0, 0, 0, 0, 0, 0, 0, 310, 0, 0,
  3582  	340, 532, 514, 524, 515, 500, 501, 502, 509, 320,
  3583  	503, 504, 505, 475, 506, 476, 507, 508, 0, 531,
  3584  	482, 401, 354, 549, 548, 0, 0, 0, 0, 0,
  3585  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3586  	0, 0, 204, 0, 0, 0, 0, 0, 0, 283,
  3587  	205, 477, 596, 479, 478, 0, 0, 0, 0, 0,
  3588  	0, 0, 0, 0, 286, 0, 2292, 0, 0, 0,
  3589  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3590  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3591  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3592  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3593  	0, 0, 0, 0, 0, 0, 273, 406, 423, 284,
  3594  	397, 436, 289, 404, 279, 369, 393, 0, 0, 275,
  3595  	421, 403, 351, 330, 331, 274, 0, 388, 308, 322,
  3596  	305, 367, 0, 420, 448, 304, 439, 0, 431, 277,
  3597  	0, 430, 366, 417, 422, 352, 346, 276, 419, 350,
  3598  	345, 334, 312, 464, 335, 336, 326, 378, 344, 379,
  3599  	327, 356, 355, 357, 0, 0, 0, 0, 0, 459,
  3600  	460, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3601  	0, 0, 0, 590, 0, 0, 593, 2291, 433, 0,
  3602  	0, 0, 2297, 2294, 2296, 405, 0, 2295, 337, 0,
  3603  	0, 0, 449, 0, 391, 372, 615, 0, 0, 389,
  3604  	342, 418, 380, 424, 407, 432, 385, 381, 268, 408,
  3605  	307, 353, 280, 282, 302, 309, 311, 313, 314, 362,
  3606  	363, 375, 396, 409, 410, 411, 306, 290, 390, 291,
  3607  	324, 292, 269, 298, 296, 299, 398, 300, 271, 376,
  3608  	415, 0, 319, 386, 349, 272, 348, 377, 414, 413,
  3609  	281, 440, 446, 447, 536, 0, 452, 616, 617, 618,
  3610  	461, 466, 467, 468, 470, 471, 472, 473, 537, 554,
  3611  	521, 491, 454, 545, 488, 492, 493, 557, 0, 0,
  3612  	0, 445, 338, 339, 0, 317, 265, 266, 611, 303,
  3613  	368, 559, 592, 484, 0, 546, 485, 494, 295, 518,
  3614  	530, 529, 364, 444, 0, 541, 544, 474, 610, 0,
  3615  	538, 553, 614, 552, 607, 374, 0, 395, 550, 497,
  3616  	0, 542, 516, 0, 543, 512, 547, 0, 486, 0,
  3617  	402, 426, 438, 455, 458, 487, 572, 573, 574, 270,
  3618  	457, 576, 577, 578, 579, 580, 581, 582, 575, 429,
  3619  	519, 496, 522, 437, 499, 498, 0, 0, 533, 453,
  3620  	534, 535, 358, 359, 360, 361, 321, 560, 288, 456,
  3621  	384, 0, 520, 0, 0, 0, 0, 0, 0, 0,
  3622  	0, 525, 526, 523, 619, 0, 583, 584, 0, 0,
  3623  	450, 451, 316, 323, 469, 325, 287, 373, 318, 435,
  3624  	332, 0, 462, 527, 463, 586, 589, 587, 588, 365,
  3625  	328, 329, 399, 333, 343, 387, 434, 371, 392, 285,
  3626  	425, 400, 347, 513, 540, 0, 0, 0, 0, 0,
  3627  	0, 0, 0, 0, 0, 0, 254, 0, 0, 0,
  3628  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3629  	0, 568, 567, 566, 565, 564, 563, 562, 561, 0,
  3630  	0, 510, 412, 297, 259, 293, 294, 301, 608, 605,
  3631  	416, 609, 0, 267, 490, 341, 0, 382, 315, 555,
  3632  	556, 0, 0, 215, 216, 217, 218, 219, 220, 221,
  3633  	222, 260, 223, 224, 225, 226, 227, 228, 229, 232,
  3634  	233, 234, 235, 236, 237, 238, 239, 558, 230, 231,
  3635  	240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
  3636  	250, 251, 252, 253, 0, 0, 0, 261, 262, 263,
  3637  	264, 0, 0, 255, 256, 257, 258, 0, 0, 0,
  3638  	441, 442, 443, 465, 0, 427, 489, 606, 0, 0,
  3639  	0, 0, 0, 0, 0, 539, 551, 585, 0, 594,
  3640  	595, 597, 599, 598, 601, 0, 612, 480, 481, 613,
  3641  	591, 370, 0, 495, 528, 517, 600, 483, 0, 0,
  3642  	0, 0, 0, 1999, 0, 0, 0, 0, 310, 0,
  3643  	0, 340, 532, 514, 524, 515, 500, 501, 502, 509,
  3644  	320, 503, 504, 505, 475, 506, 476, 507, 508, 0,
  3645  	531, 482, 401, 354, 549, 548, 0, 0, 0, 0,
  3646  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3647  	0, 0, 0, 204, 0, 0, 2000, 0, 0, 0,
  3648  	283, 205, 477, 596, 479, 478, 0, 0, 0, 0,
  3649  	0, 0, 0, 0, 0, 286, 0, 0, 1182, 1183,
  3650  	1184, 1181, 0, 0, 0, 0, 0, 0, 0, 0,
  3651  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3652  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3653  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3654  	0, 0, 0, 0, 0, 0, 0, 273, 406, 423,
  3655  	284, 397, 436, 289, 404, 279, 369, 393, 0, 0,
  3656  	275, 421, 403, 351, 330, 331, 274, 0, 388, 308,
  3657  	322, 305, 367, 0, 420, 448, 304, 439, 0, 431,
  3658  	277, 0, 430, 366, 417, 422, 352, 346, 276, 419,
  3659  	350, 345, 334, 312, 464, 335, 336, 326, 378, 344,
  3660  	379, 327, 356, 355, 357, 0, 0, 0, 0, 0,
  3661  	459, 460, 0, 0, 0, 0, 0, 0, 0, 0,
  3662  	0, 0, 0, 0, 590, 0, 0, 593, 0, 433,
  3663  	0, 0, 0, 0, 0, 0, 405, 0, 0, 337,
  3664  	0, 0, 0, 449, 0, 391, 372, 615, 0, 0,
  3665  	389, 342, 418, 380, 424, 407, 432, 385, 381, 268,
  3666  	408, 307, 353, 280, 282, 302, 309, 311, 313, 314,
  3667  	362, 363, 375, 396, 409, 410, 411, 306, 290, 390,
  3668  	291, 324, 292, 269, 298, 296, 299, 398, 300, 271,
  3669  	376, 415, 0, 319, 386, 349, 272, 348, 377, 414,
  3670  	413, 281, 440, 446, 447, 536, 0, 452, 616, 617,
  3671  	618, 461, 466, 467, 468, 470, 471, 472, 473, 537,
  3672  	554, 521, 491, 454, 545, 488, 492, 493, 557, 0,
  3673  	0, 0, 445, 338, 339, 0, 317, 265, 266, 611,
  3674  	303, 368, 559, 592, 484, 0, 546, 485, 494, 295,
  3675  	518, 530, 529, 364, 444, 0, 541, 544, 474, 610,
  3676  	0, 538, 553, 614, 552, 607, 374, 0, 395, 550,
  3677  	497, 0, 542, 516, 0, 543, 512, 547, 0, 486,
  3678  	0, 402, 426, 438, 455, 458, 487, 572, 573, 574,
  3679  	270, 457, 576, 577, 578, 579, 580, 581, 582, 575,
  3680  	429, 519, 496, 522, 437, 499, 498, 0, 0, 533,
  3681  	453, 534, 535, 358, 359, 360, 361, 321, 560, 288,
  3682  	456, 384, 0, 520, 0, 0, 0, 0, 0, 0,
  3683  	0, 0, 525, 526, 523, 619, 0, 583, 584, 0,
  3684  	0, 450, 451, 316, 323, 469, 325, 287, 373, 318,
  3685  	435, 332, 0, 462, 527, 463, 586, 589, 587, 588,
  3686  	365, 328, 329, 399, 333, 343, 387, 434, 371, 392,
  3687  	285, 425, 400, 347, 513, 540, 0, 0, 0, 0,
  3688  	0, 0, 0, 0, 0, 0, 0, 254, 0, 0,
  3689  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3690  	0, 0, 568, 567, 566, 565, 564, 563, 562, 561,
  3691  	0, 0, 510, 412, 297, 259, 293, 294, 301, 608,
  3692  	605, 416, 609, 0, 267, 490, 341, 0, 382, 315,
  3693  	555, 556, 0, 0, 215, 216, 217, 218, 219, 220,
  3694  	221, 222, 260, 223, 224, 225, 226, 227, 228, 229,
  3695  	232, 233, 234, 235, 236, 237, 238, 239, 558, 230,
  3696  	231, 240, 241, 242, 243, 244, 245, 246, 247, 248,
  3697  	249, 250, 251, 252, 253, 0, 0, 0, 261, 262,
  3698  	263, 264, 0, 0, 255, 256, 257, 258, 0, 0,
  3699  	0, 441, 442, 443, 465, 0, 427, 489, 606, 0,
  3700  	0, 0, 0, 0, 0, 0, 539, 551, 585, 0,
  3701  	594, 595, 597, 599, 598, 601, 182, 612, 480, 481,
  3702  	613, 591, 0, 0, 0, 0, 370, 0, 495, 528,
  3703  	517, 600, 483, 0, 0, 0, 0, 0, 0, 0,
  3704  	0, 0, 0, 310, 0, 0, 340, 532, 514, 524,
  3705  	515, 500, 501, 502, 509, 320, 503, 504, 505, 475,
  3706  	506, 476, 507, 508, 121, 531, 482, 401, 354, 549,
  3707  	548, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3708  	0, 0, 0, 0, 0, 176, 2049, 0, 204, 0,
  3709  	0, 0, 0, 0, 0, 283, 205, 477, 596, 479,
  3710  	478, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3711  	286, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3712  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3713  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3714  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3715  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3716  	0, 0, 273, 406, 423, 284, 397, 436, 289, 404,
  3717  	279, 369, 393, 0, 0, 275, 421, 403, 351, 330,
  3718  	331, 274, 0, 388, 308, 322, 305, 367, 0, 420,
  3719  	448, 304, 439, 0, 431, 277, 0, 430, 366, 417,
  3720  	422, 352, 346, 276, 419, 350, 345, 334, 312, 464,
  3721  	335, 336, 326, 378, 344, 379, 327, 356, 355, 357,
  3722  	0, 0, 0, 0, 0, 459, 460, 0, 0, 0,
  3723  	0, 0, 0, 0, 0, 0, 0, 0, 0, 590,
  3724  	0, 0, 593, 0, 433, 0, 0, 0, 0, 0,
  3725  	0, 405, 0, 0, 337, 0, 0, 0, 449, 0,
  3726  	391, 372, 615, 0, 0, 389, 342, 418, 380, 424,
  3727  	407, 432, 385, 381, 268, 408, 307, 353, 280, 282,
  3728  	302, 309, 311, 313, 314, 362, 363, 375, 396, 409,
  3729  	410, 411, 306, 290, 390, 291, 324, 292, 269, 298,
  3730  	296, 299, 398, 300, 271, 376, 415, 0, 319, 386,
  3731  	349, 272, 348, 377, 414, 413, 281, 440, 446, 447,
  3732  	536, 0, 452, 616, 617, 618, 461, 466, 467, 468,
  3733  	470, 471, 472, 473, 537, 554, 521, 491, 454, 545,
  3734  	488, 492, 493, 557, 0, 0, 0, 445, 338, 339,
  3735  	0, 317, 265, 266, 611, 303, 368, 559, 592, 484,
  3736  	0, 546, 485, 494, 295, 518, 530, 529, 364, 444,
  3737  	0, 541, 544, 474, 610, 0, 538, 553, 614, 552,
  3738  	607, 374, 0, 395, 550, 497, 0, 542, 516, 0,
  3739  	543, 512, 547, 0, 486, 0, 402, 426, 438, 455,
  3740  	458, 487, 572, 573, 574, 270, 457, 576, 577, 578,
  3741  	579, 580, 581, 582, 575, 429, 519, 496, 522, 437,
  3742  	499, 498, 0, 0, 533, 453, 534, 535, 358, 359,
  3743  	360, 361, 321, 560, 288, 456, 384, 0, 520, 0,
  3744  	0, 0, 0, 0, 0, 0, 0, 525, 526, 523,
  3745  	619, 0, 583, 584, 0, 0, 450, 451, 316, 323,
  3746  	469, 325, 287, 373, 318, 435, 332, 0, 462, 527,
  3747  	463, 586, 589, 587, 588, 365, 328, 329, 399, 333,
  3748  	343, 387, 434, 371, 392, 285, 425, 400, 347, 513,
  3749  	540, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3750  	0, 0, 254, 0, 0, 0, 0, 0, 0, 0,
  3751  	0, 0, 0, 0, 0, 0, 0, 568, 567, 566,
  3752  	565, 564, 563, 562, 561, 0, 0, 510, 412, 297,
  3753  	259, 293, 294, 301, 608, 605, 416, 609, 0, 267,
  3754  	490, 341, 146, 382, 315, 555, 556, 0, 0, 215,
  3755  	216, 217, 218, 219, 220, 221, 222, 260, 223, 224,
  3756  	225, 226, 227, 228, 229, 232, 233, 234, 235, 236,
  3757  	237, 238, 239, 558, 230, 231, 240, 241, 242, 243,
  3758  	244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
  3759  	0, 0, 0, 261, 262, 263, 264, 0, 0, 255,
  3760  	256, 257, 258, 0, 0, 0, 441, 442, 443, 465,
  3761  	0, 427, 489, 606, 0, 0, 0, 0, 0, 0,
  3762  	0, 539, 551, 585, 0, 594, 595, 597, 599, 598,
  3763  	601, 182, 612, 480, 481, 613, 591, 0, 0, 0,
  3764  	0, 370, 0, 495, 528, 517, 600, 483, 0, 0,
  3765  	0, 0, 0, 0, 0, 0, 0, 0, 310, 0,
  3766  	0, 340, 532, 514, 524, 515, 500, 501, 502, 509,
  3767  	320, 503, 504, 505, 475, 506, 476, 507, 508, 121,
  3768  	531, 482, 401, 354, 549, 548, 0, 0, 0, 0,
  3769  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3770  	176, 2035, 0, 204, 0, 0, 0, 0, 0, 0,
  3771  	283, 205, 477, 596, 479, 478, 0, 0, 0, 0,
  3772  	0, 0, 0, 0, 0, 286, 0, 0, 0, 0,
  3773  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3774  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3775  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3776  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3777  	0, 0, 0, 0, 0, 0, 0, 273, 406, 423,
  3778  	284, 397, 436, 289, 404, 279, 369, 393, 0, 0,
  3779  	275, 421, 403, 351, 330, 331, 274, 0, 388, 308,
  3780  	322, 305, 367, 0, 420, 448, 304, 439, 0, 431,
  3781  	277, 0, 430, 366, 417, 422, 352, 346, 276, 419,
  3782  	350, 345, 334, 312, 464, 335, 336, 326, 378, 344,
  3783  	379, 327, 356, 355, 357, 0, 0, 0, 0, 0,
  3784  	459, 460, 0, 0, 0, 0, 0, 0, 0, 0,
  3785  	0, 0, 0, 0, 590, 0, 0, 593, 0, 433,
  3786  	0, 0, 0, 0, 0, 0, 405, 0, 0, 337,
  3787  	0, 0, 0, 449, 0, 391, 372, 615, 0, 0,
  3788  	389, 342, 418, 380, 424, 407, 432, 385, 381, 268,
  3789  	408, 307, 353, 280, 282, 302, 309, 311, 313, 314,
  3790  	362, 363, 375, 396, 409, 410, 411, 306, 290, 390,
  3791  	291, 324, 292, 269, 298, 296, 299, 398, 300, 271,
  3792  	376, 415, 0, 319, 386, 349, 272, 348, 377, 414,
  3793  	413, 281, 440, 446, 447, 536, 0, 452, 616, 617,
  3794  	618, 461, 466, 467, 468, 470, 471, 472, 473, 537,
  3795  	554, 521, 491, 454, 545, 488, 492, 493, 557, 0,
  3796  	0, 0, 445, 338, 339, 0, 317, 265, 266, 611,
  3797  	303, 368, 559, 592, 484, 0, 546, 485, 494, 295,
  3798  	518, 530, 529, 364, 444, 0, 541, 544, 474, 610,
  3799  	0, 538, 553, 614, 552, 607, 374, 0, 395, 550,
  3800  	497, 0, 542, 516, 0, 543, 512, 547, 0, 486,
  3801  	0, 402, 426, 438, 455, 458, 487, 572, 573, 574,
  3802  	270, 457, 576, 577, 578, 579, 580, 581, 582, 575,
  3803  	429, 519, 496, 522, 437, 499, 498, 0, 0, 533,
  3804  	453, 534, 535, 358, 359, 360, 361, 321, 560, 288,
  3805  	456, 384, 0, 520, 0, 0, 0, 0, 0, 0,
  3806  	0, 0, 525, 526, 523, 619, 0, 583, 584, 0,
  3807  	0, 450, 451, 316, 323, 469, 325, 287, 373, 318,
  3808  	435, 332, 0, 462, 527, 463, 586, 589, 587, 588,
  3809  	365, 328, 329, 399, 333, 343, 387, 434, 371, 392,
  3810  	285, 425, 400, 347, 513, 540, 0, 0, 0, 0,
  3811  	0, 0, 0, 0, 0, 0, 0, 254, 0, 0,
  3812  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3813  	0, 0, 568, 567, 566, 565, 564, 563, 562, 561,
  3814  	0, 0, 510, 412, 297, 259, 293, 294, 301, 608,
  3815  	605, 416, 609, 0, 267, 490, 341, 146, 382, 315,
  3816  	555, 556, 0, 0, 215, 216, 217, 218, 219, 220,
  3817  	221, 222, 260, 223, 224, 225, 226, 227, 228, 229,
  3818  	232, 233, 234, 235, 236, 237, 238, 239, 558, 230,
  3819  	231, 240, 241, 242, 243, 244, 245, 246, 247, 248,
  3820  	249, 250, 251, 252, 253, 0, 0, 0, 261, 262,
  3821  	263, 264, 0, 0, 255, 256, 257, 258, 0, 0,
  3822  	0, 441, 442, 443, 465, 0, 427, 489, 606, 0,
  3823  	0, 0, 0, 0, 0, 0, 539, 551, 585, 0,
  3824  	594, 595, 597, 599, 598, 601, 0, 612, 480, 481,
  3825  	613, 591, 370, 0, 495, 528, 517, 600, 483, 0,
  3826  	0, 0, 0, 0, 0, 0, 0, 0, 0, 310,
  3827  	981, 0, 340, 532, 514, 524, 515, 500, 501, 502,
  3828  	509, 320, 503, 504, 505, 475, 506, 476, 507, 508,
  3829  	0, 531, 482, 401, 354, 549, 548, 0, 0, 0,
  3830  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3831  	0, 0, 0, 0, 204, 988, 989, 0, 0, 0,
  3832  	0, 283, 205, 477, 596, 479, 478, 0, 0, 0,
  3833  	0, 0, 0, 0, 0, 0, 992, 0, 0, 0,
  3834  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3835  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3836  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3837  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3838  	0, 0, 0, 0, 0, 0, 0, 0, 273, 406,
  3839  	976, 284, 397, 436, 289, 404, 279, 369, 393, 0,
  3840  	0, 275, 421, 403, 351, 330, 331, 274, 0, 388,
  3841  	308, 322, 305, 367, 0, 420, 448, 304, 439, 966,
  3842  	431, 277, 965, 430, 366, 417, 422, 352, 346, 276,
  3843  	419, 350, 345, 334, 312, 464, 335, 336, 326, 378,
  3844  	344, 379, 327, 356, 355, 357, 0, 0, 0, 0,
  3845  	0, 459, 460, 0, 0, 0, 0, 0, 0, 0,
  3846  	0, 0, 0, 0, 0, 590, 0, 0, 593, 0,
  3847  	433, 0, 0, 0, 0, 0, 0, 405, 0, 0,
  3848  	337, 0, 0, 0, 449, 0, 391, 372, 615, 0,
  3849  	0, 389, 342, 418, 380, 424, 407, 432, 979, 381,
  3850  	268, 408, 307, 353, 280, 282, 302, 309, 311, 313,
  3851  	314, 362, 363, 375, 396, 409, 410, 411, 306, 290,
  3852  	390, 291, 324, 292, 269, 298, 296, 299, 398, 300,
  3853  	271, 376, 415, 0, 319, 386, 349, 272, 348, 377,
  3854  	414, 413, 281, 440, 446, 447, 536, 0, 452, 616,
  3855  	617, 618, 461, 466, 467, 468, 470, 471, 472, 473,
  3856  	537, 554, 521, 491, 454, 545, 488, 492, 493, 557,
  3857  	0, 0, 0, 445, 338, 339, 0, 317, 265, 266,
  3858  	611, 303, 368, 559, 592, 484, 0, 546, 485, 494,
  3859  	295, 518, 530, 529, 364, 444, 0, 541, 544, 474,
  3860  	610, 0, 538, 553, 614, 552, 607, 374, 0, 395,
  3861  	550, 497, 0, 542, 516, 0, 543, 512, 547, 0,
  3862  	486, 0, 402, 426, 438, 455, 458, 487, 572, 573,
  3863  	574, 270, 457, 576, 577, 578, 579, 580, 581, 980,
  3864  	575, 429, 519, 496, 522, 437, 499, 498, 0, 0,
  3865  	533, 983, 534, 535, 358, 359, 360, 361, 321, 560,
  3866  	288, 456, 384, 0, 520, 0, 0, 0, 0, 0,
  3867  	0, 0, 0, 525, 526, 523, 619, 0, 583, 584,
  3868  	0, 0, 450, 451, 316, 323, 469, 325, 287, 373,
  3869  	318, 435, 332, 0, 462, 527, 463, 586, 589, 587,
  3870  	588, 990, 977, 986, 978, 333, 343, 387, 434, 371,
  3871  	392, 285, 425, 400, 987, 513, 540, 0, 0, 0,
  3872  	0, 0, 0, 0, 0, 0, 0, 0, 254, 0,
  3873  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3874  	0, 0, 0, 568, 567, 566, 565, 564, 563, 562,
  3875  	561, 0, 0, 510, 412, 297, 259, 293, 294, 301,
  3876  	608, 605, 416, 609, 0, 267, 490, 341, 0, 382,
  3877  	315, 555, 556, 0, 0, 215, 216, 217, 218, 219,
  3878  	220, 221, 222, 260, 223, 224, 225, 226, 227, 228,
  3879  	229, 232, 233, 234, 235, 236, 237, 238, 239, 558,
  3880  	230, 231, 240, 241, 242, 243, 244, 245, 246, 247,
  3881  	248, 249, 250, 251, 252, 253, 0, 0, 0, 261,
  3882  	262, 263, 264, 0, 0, 255, 256, 257, 258, 0,
  3883  	0, 0, 441, 442, 443, 465, 0, 427, 489, 606,
  3884  	0, 0, 0, 0, 0, 0, 0, 539, 551, 585,
  3885  	0, 594, 595, 597, 599, 598, 601, 182, 612, 480,
  3886  	481, 613, 591, 0, 0, 0, 0, 370, 0, 495,
  3887  	528, 517, 600, 483, 0, 0, 0, 0, 0, 0,
  3888  	0, 0, 0, 0, 310, 0, 0, 340, 532, 514,
  3889  	524, 515, 500, 501, 502, 509, 320, 503, 504, 505,
  3890  	475, 506, 476, 507, 508, 121, 531, 482, 401, 354,
  3891  	549, 548, 0, 0, 0, 0, 0, 0, 0, 0,
  3892  	0, 0, 0, 0, 0, 0, 1932, 0, 0, 204,
  3893  	0, 0, 0, 0, 0, 0, 283, 205, 477, 596,
  3894  	479, 478, 0, 0, 0, 0, 0, 0, 0, 0,
  3895  	0, 286, 0, 0, 0, 0, 0, 0, 0, 0,
  3896  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3897  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3898  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3899  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3900  	0, 0, 0, 273, 406, 423, 284, 397, 436, 289,
  3901  	404, 279, 369, 393, 0, 0, 275, 421, 403, 351,
  3902  	330, 331, 274, 0, 388, 308, 322, 305, 367, 0,
  3903  	420, 448, 304, 439, 0, 431, 277, 0, 430, 366,
  3904  	417, 422, 352, 346, 276, 419, 350, 345, 334, 312,
  3905  	464, 335, 336, 326, 378, 344, 379, 327, 356, 355,
  3906  	357, 0, 0, 0, 0, 0, 459, 460, 0, 0,
  3907  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3908  	590, 0, 0, 593, 0, 433, 0, 0, 0, 0,
  3909  	0, 0, 405, 0, 0, 337, 0, 0, 0, 449,
  3910  	0, 391, 372, 615, 0, 0, 389, 342, 418, 380,
  3911  	424, 407, 432, 385, 381, 268, 408, 307, 353, 280,
  3912  	282, 302, 309, 311, 313, 314, 362, 363, 375, 396,
  3913  	409, 410, 411, 306, 290, 390, 291, 324, 292, 269,
  3914  	298, 296, 299, 398, 300, 271, 376, 415, 0, 319,
  3915  	386, 349, 272, 348, 377, 414, 413, 281, 440, 446,
  3916  	447, 536, 0, 452, 616, 617, 618, 461, 466, 467,
  3917  	468, 470, 471, 472, 473, 537, 554, 521, 491, 454,
  3918  	545, 488, 492, 493, 557, 0, 0, 0, 445, 338,
  3919  	339, 0, 317, 265, 266, 611, 303, 368, 559, 592,
  3920  	484, 0, 546, 485, 494, 295, 518, 530, 529, 364,
  3921  	444, 0, 541, 544, 474, 610, 0, 538, 553, 614,
  3922  	552, 607, 374, 0, 395, 550, 497, 0, 542, 516,
  3923  	0, 543, 512, 547, 0, 486, 0, 402, 426, 438,
  3924  	455, 458, 487, 572, 573, 574, 270, 457, 576, 577,
  3925  	578, 579, 580, 581, 582, 575, 429, 519, 496, 522,
  3926  	437, 499, 498, 0, 0, 533, 453, 534, 535, 358,
  3927  	359, 360, 361, 321, 560, 288, 456, 384, 0, 520,
  3928  	0, 0, 0, 0, 0, 0, 0, 0, 525, 526,
  3929  	523, 619, 0, 583, 584, 0, 0, 450, 451, 316,
  3930  	323, 469, 325, 287, 373, 318, 435, 332, 0, 462,
  3931  	527, 463, 586, 589, 587, 588, 365, 328, 329, 399,
  3932  	333, 343, 387, 434, 371, 392, 285, 425, 400, 347,
  3933  	513, 540, 0, 0, 0, 0, 0, 0, 0, 0,
  3934  	0, 0, 0, 254, 0, 0, 0, 0, 0, 0,
  3935  	0, 0, 0, 0, 0, 0, 0, 0, 568, 567,
  3936  	566, 565, 564, 563, 562, 561, 0, 0, 510, 412,
  3937  	297, 259, 293, 294, 301, 608, 605, 416, 609, 0,
  3938  	267, 490, 341, 146, 382, 315, 555, 556, 0, 0,
  3939  	215, 216, 217, 218, 219, 220, 221, 222, 260, 223,
  3940  	224, 225, 226, 227, 228, 229, 232, 233, 234, 235,
  3941  	236, 237, 238, 239, 558, 230, 231, 240, 241, 242,
  3942  	243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
  3943  	253, 0, 0, 0, 261, 262, 263, 264, 0, 0,
  3944  	255, 256, 257, 258, 0, 0, 0, 441, 442, 443,
  3945  	465, 0, 427, 489, 606, 0, 0, 0, 0, 0,
  3946  	0, 0, 539, 551, 585, 0, 594, 595, 597, 599,
  3947  	598, 601, 0, 612, 480, 481, 613, 591, 370, 0,
  3948  	495, 528, 517, 600, 483, 0, 0, 0, 0, 0,
  3949  	0, 0, 0, 0, 0, 310, 0, 0, 340, 532,
  3950  	514, 524, 515, 500, 501, 502, 509, 320, 503, 504,
  3951  	505, 475, 506, 476, 507, 508, 0, 531, 482, 401,
  3952  	354, 549, 548, 0, 0, 0, 0, 0, 0, 0,
  3953  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3954  	204, 988, 989, 0, 0, 0, 0, 283, 205, 477,
  3955  	596, 479, 478, 0, 0, 0, 0, 0, 0, 0,
  3956  	0, 0, 992, 0, 0, 0, 0, 0, 0, 0,
  3957  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3958  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3959  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3960  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3961  	0, 0, 0, 0, 273, 406, 423, 284, 397, 436,
  3962  	289, 404, 279, 369, 393, 0, 0, 275, 421, 403,
  3963  	351, 330, 331, 274, 0, 388, 308, 322, 305, 367,
  3964  	0, 420, 448, 304, 439, 966, 431, 277, 965, 430,
  3965  	366, 417, 422, 352, 346, 276, 419, 350, 345, 334,
  3966  	312, 464, 335, 336, 326, 378, 344, 379, 327, 356,
  3967  	355, 357, 0, 0, 0, 0, 0, 459, 460, 0,
  3968  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3969  	0, 590, 0, 0, 593, 0, 433, 0, 0, 0,
  3970  	0, 0, 0, 405, 0, 0, 337, 0, 0, 0,
  3971  	449, 0, 391, 372, 615, 0, 0, 389, 342, 418,
  3972  	380, 424, 407, 432, 385, 381, 268, 408, 307, 353,
  3973  	280, 282, 302, 309, 311, 313, 314, 362, 363, 375,
  3974  	396, 409, 410, 411, 306, 290, 390, 291, 324, 292,
  3975  	269, 298, 296, 299, 398, 300, 271, 376, 415, 0,
  3976  	319, 386, 349, 272, 348, 377, 414, 413, 281, 440,
  3977  	446, 447, 536, 0, 452, 616, 617, 618, 461, 466,
  3978  	467, 468, 470, 471, 472, 473, 537, 554, 521, 491,
  3979  	454, 545, 488, 492, 493, 557, 0, 0, 0, 445,
  3980  	338, 339, 0, 317, 265, 266, 611, 303, 368, 559,
  3981  	592, 484, 0, 546, 485, 494, 295, 518, 530, 529,
  3982  	364, 444, 0, 541, 544, 474, 610, 0, 538, 553,
  3983  	614, 552, 607, 374, 0, 395, 550, 497, 0, 542,
  3984  	516, 0, 543, 512, 547, 0, 486, 0, 402, 426,
  3985  	438, 455, 458, 487, 572, 573, 574, 270, 457, 576,
  3986  	577, 578, 579, 580, 581, 582, 575, 429, 519, 496,
  3987  	522, 437, 499, 498, 0, 0, 533, 453, 534, 535,
  3988  	358, 359, 360, 361, 321, 560, 288, 456, 384, 0,
  3989  	520, 0, 0, 0, 0, 0, 0, 0, 0, 525,
  3990  	526, 523, 619, 0, 583, 584, 0, 0, 450, 451,
  3991  	316, 323, 469, 325, 287, 373, 318, 435, 332, 0,
  3992  	462, 527, 463, 586, 589, 587, 588, 990, 1951, 986,
  3993  	1952, 333, 343, 387, 434, 371, 392, 285, 425, 400,
  3994  	987, 513, 540, 0, 0, 0, 0, 0, 0, 0,
  3995  	0, 0, 0, 0, 254, 0, 0, 0, 0, 0,
  3996  	0, 0, 0, 0, 0, 0, 0, 0, 0, 568,
  3997  	567, 566, 565, 564, 563, 562, 561, 0, 0, 510,
  3998  	412, 297, 259, 293, 294, 301, 608, 605, 416, 609,
  3999  	0, 267, 490, 341, 0, 382, 315, 555, 556, 0,
  4000  	0, 215, 216, 217, 218, 219, 220, 221, 222, 260,
  4001  	223, 224, 225, 226, 227, 228, 229, 232, 233, 234,
  4002  	235, 236, 237, 238, 239, 558, 230, 231, 240, 241,
  4003  	242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
  4004  	252, 253, 0, 0, 0, 261, 262, 263, 264, 0,
  4005  	0, 255, 256, 257, 258, 0, 0, 0, 441, 442,
  4006  	443, 465, 0, 427, 489, 606, 0, 0, 0, 0,
  4007  	0, 0, 0, 539, 551, 585, 0, 594, 595, 597,
  4008  	599, 598, 601, 0, 612, 480, 481, 613, 591, 370,
  4009  	0, 495, 528, 517, 600, 483, 0, 0, 2785, 0,
  4010  	0, 0, 0, 0, 0, 0, 310, 0, 0, 340,
  4011  	532, 514, 524, 515, 500, 501, 502, 509, 320, 503,
  4012  	504, 505, 475, 506, 476, 507, 508, 0, 531, 482,
  4013  	401, 354, 549, 548, 0, 0, 0, 0, 0, 0,
  4014  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4015  	0, 204, 0, 0, 0, 0, 0, 0, 283, 205,
  4016  	477, 596, 479, 478, 0, 0, 0, 0, 0, 0,
  4017  	0, 0, 0, 286, 0, 0, 0, 0, 0, 0,
  4018  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4019  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4020  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4021  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4022  	0, 0, 0, 0, 0, 273, 406, 423, 284, 397,
  4023  	436, 289, 404, 279, 369, 393, 0, 0, 275, 421,
  4024  	403, 351, 330, 331, 274, 0, 388, 308, 322, 305,
  4025  	367, 0, 420, 448, 304, 439, 0, 431, 277, 0,
  4026  	430, 366, 417, 422, 352, 346, 276, 419, 350, 345,
  4027  	334, 312, 464, 335, 336, 326, 378, 344, 379, 327,
  4028  	356, 355, 357, 0, 0, 0, 0, 0, 459, 460,
  4029  	0, 0, 0, 0, 0, 0, 0, 0, 2788, 0,
  4030  	0, 2787, 590, 0, 0, 593, 0, 433, 0, 0,
  4031  	0, 0, 0, 0, 405, 0, 0, 337, 0, 0,
  4032  	0, 449, 0, 391, 372, 615, 0, 0, 389, 342,
  4033  	418, 380, 424, 407, 432, 385, 381, 268, 408, 307,
  4034  	353, 280, 282, 302, 309, 311, 313, 314, 362, 363,
  4035  	375, 396, 409, 410, 411, 306, 290, 390, 291, 324,
  4036  	292, 269, 298, 296, 299, 398, 300, 271, 376, 415,
  4037  	0, 319, 386, 349, 272, 348, 377, 414, 413, 281,
  4038  	440, 446, 447, 536, 0, 452, 616, 617, 618, 461,
  4039  	466, 467, 468, 470, 471, 472, 473, 537, 554, 521,
  4040  	491, 454, 545, 488, 492, 493, 557, 0, 0, 0,
  4041  	445, 338, 339, 0, 317, 265, 266, 611, 303, 368,
  4042  	559, 592, 484, 0, 546, 485, 494, 295, 518, 530,
  4043  	529, 364, 444, 0, 541, 544, 474, 610, 0, 538,
  4044  	553, 614, 552, 607, 374, 0, 395, 550, 497, 0,
  4045  	542, 516, 0, 543, 512, 547, 0, 486, 0, 402,
  4046  	426, 438, 455, 458, 487, 572, 573, 574, 270, 457,
  4047  	576, 577, 578, 579, 580, 581, 582, 575, 429, 519,
  4048  	496, 522, 437, 499, 498, 0, 0, 533, 453, 534,
  4049  	535, 358, 359, 360, 361, 321, 560, 288, 456, 384,
  4050  	0, 520, 0, 0, 0, 0, 0, 0, 0, 0,
  4051  	525, 526, 523, 619, 0, 583, 584, 0, 0, 450,
  4052  	451, 316, 323, 469, 325, 287, 373, 318, 435, 332,
  4053  	0, 462, 527, 463, 586, 589, 587, 588, 365, 328,
  4054  	329, 399, 333, 343, 387, 434, 371, 392, 285, 425,
  4055  	400, 347, 513, 540, 0, 0, 0, 0, 0, 0,
  4056  	0, 0, 0, 0, 0, 254, 0, 0, 0, 0,
  4057  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4058  	568, 567, 566, 565, 564, 563, 562, 561, 0, 0,
  4059  	510, 412, 297, 259, 293, 294, 301, 608, 605, 416,
  4060  	609, 0, 267, 490, 341, 0, 382, 315, 555, 556,
  4061  	0, 0, 215, 216, 217, 218, 219, 220, 221, 222,
  4062  	260, 223, 224, 225, 226, 227, 228, 229, 232, 233,
  4063  	234, 235, 236, 237, 238, 239, 558, 230, 231, 240,
  4064  	241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
  4065  	251, 252, 253, 0, 0, 0, 261, 262, 263, 264,
  4066  	0, 0, 255, 256, 257, 258, 0, 0, 0, 441,
  4067  	442, 443, 465, 0, 427, 489, 606, 0, 0, 0,
  4068  	0, 0, 0, 0, 539, 551, 585, 0, 594, 595,
  4069  	597, 599, 598, 601, 0, 612, 480, 481, 613, 591,
  4070  	370, 0, 495, 528, 517, 600, 483, 0, 0, 0,
  4071  	0, 0, 0, 0, 0, 0, 0, 310, 1450, 0,
  4072  	340, 532, 514, 524, 515, 500, 501, 502, 509, 320,
  4073  	503, 504, 505, 475, 506, 476, 507, 508, 0, 531,
  4074  	482, 401, 354, 549, 548, 0, 0, 0, 0, 0,
  4075  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4076  	0, 0, 204, 0, 0, 1448, 0, 0, 0, 283,
  4077  	205, 477, 596, 479, 478, 0, 0, 0, 0, 0,
  4078  	0, 0, 0, 0, 286, 0, 0, 0, 0, 0,
  4079  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4080  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4081  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4082  	0, 0, 0, 0, 0, 0, 0, 0, 0, 1446,
  4083  	0, 0, 0, 0, 0, 0, 273, 406, 423, 284,
  4084  	397, 436, 289, 404, 279, 369, 393, 0, 0, 275,
  4085  	421, 403, 351, 330, 331, 274, 0, 388, 308, 322,
  4086  	305, 367, 0, 420, 448, 304, 439, 0, 431, 277,
  4087  	0, 430, 366, 417, 422, 352, 346, 276, 419, 350,
  4088  	345, 334, 312, 464, 335, 336, 326, 378, 344, 379,
  4089  	327, 356, 355, 357, 0, 0, 0, 0, 0, 459,
  4090  	460, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4091  	0, 0, 0, 590, 0, 0, 593, 0, 433, 0,
  4092  	0, 0, 0, 0, 0, 405, 0, 0, 337, 0,
  4093  	0, 0, 449, 0, 391, 372, 615, 0, 0, 389,
  4094  	342, 418, 380, 424, 407, 432, 385, 381, 268, 408,
  4095  	307, 353, 280, 282, 302, 309, 311, 313, 314, 362,
  4096  	363, 375, 396, 409, 410, 411, 306, 290, 390, 291,
  4097  	324, 292, 269, 298, 296, 299, 398, 300, 271, 376,
  4098  	415, 0, 319, 386, 349, 272, 348, 377, 414, 413,
  4099  	281, 440, 446, 447, 536, 0, 452, 616, 617, 618,
  4100  	461, 466, 467, 468, 470, 471, 472, 473, 537, 554,
  4101  	521, 491, 454, 545, 488, 492, 493, 557, 0, 0,
  4102  	0, 445, 338, 339, 0, 317, 265, 266, 611, 303,
  4103  	368, 559, 592, 484, 0, 546, 485, 494, 295, 518,
  4104  	530, 529, 364, 444, 0, 541, 544, 474, 610, 0,
  4105  	538, 553, 614, 552, 607, 374, 0, 395, 550, 497,
  4106  	0, 542, 516, 0, 543, 512, 547, 0, 486, 0,
  4107  	402, 426, 438, 455, 458, 487, 572, 573, 574, 270,
  4108  	457, 576, 577, 578, 579, 580, 581, 582, 575, 429,
  4109  	519, 496, 522, 437, 499, 498, 0, 0, 533, 453,
  4110  	534, 535, 358, 359, 360, 361, 321, 560, 288, 456,
  4111  	384, 0, 520, 0, 0, 0, 0, 0, 0, 0,
  4112  	0, 525, 526, 523, 619, 0, 583, 584, 0, 0,
  4113  	450, 451, 316, 323, 469, 325, 287, 373, 318, 435,
  4114  	332, 0, 462, 527, 463, 586, 589, 587, 588, 365,
  4115  	328, 329, 399, 333, 343, 387, 434, 371, 392, 285,
  4116  	425, 400, 347, 513, 540, 0, 0, 0, 0, 0,
  4117  	0, 0, 0, 0, 0, 0, 254, 0, 0, 0,
  4118  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4119  	0, 568, 567, 566, 565, 564, 563, 562, 561, 0,
  4120  	0, 510, 412, 297, 259, 293, 294, 301, 608, 605,
  4121  	416, 609, 0, 267, 490, 341, 0, 382, 315, 555,
  4122  	556, 0, 0, 215, 216, 217, 218, 219, 220, 221,
  4123  	222, 260, 223, 224, 225, 226, 227, 228, 229, 232,
  4124  	233, 234, 235, 236, 237, 238, 239, 558, 230, 231,
  4125  	240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
  4126  	250, 251, 252, 253, 0, 0, 0, 261, 262, 263,
  4127  	264, 0, 0, 255, 256, 257, 258, 0, 0, 0,
  4128  	441, 442, 443, 465, 0, 427, 489, 606, 0, 0,
  4129  	0, 0, 0, 0, 0, 539, 551, 585, 0, 594,
  4130  	595, 597, 599, 598, 601, 0, 612, 480, 481, 613,
  4131  	591, 370, 0, 495, 528, 517, 600, 483, 0, 0,
  4132  	0, 0, 0, 0, 0, 0, 0, 0, 310, 1444,
  4133  	0, 340, 532, 514, 524, 515, 500, 501, 502, 509,
  4134  	320, 503, 504, 505, 475, 506, 476, 507, 508, 0,
  4135  	531, 482, 401, 354, 549, 548, 0, 0, 0, 0,
  4136  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4137  	0, 0, 0, 204, 0, 0, 1448, 0, 0, 0,
  4138  	283, 205, 477, 596, 479, 478, 0, 0, 0, 0,
  4139  	0, 0, 0, 0, 0, 286, 0, 0, 0, 0,
  4140  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4141  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4142  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4143  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4144  	1446, 0, 0, 0, 0, 0, 0, 273, 406, 423,
  4145  	284, 397, 436, 289, 404, 279, 369, 393, 0, 0,
  4146  	275, 421, 403, 351, 330, 331, 274, 0, 388, 308,
  4147  	322, 305, 367, 0, 420, 448, 304, 439, 0, 431,
  4148  	277, 0, 430, 366, 417, 422, 352, 346, 276, 419,
  4149  	350, 345, 334, 312, 464, 335, 336, 326, 378, 344,
  4150  	379, 327, 356, 355, 357, 0, 0, 0, 0, 0,
  4151  	459, 460, 0, 0, 0, 0, 0, 0, 0, 0,
  4152  	0, 0, 0, 0, 590, 0, 0, 593, 0, 433,
  4153  	0, 0, 0, 0, 0, 0, 405, 0, 0, 337,
  4154  	0, 0, 0, 449, 0, 391, 372, 615, 0, 0,
  4155  	389, 342, 418, 380, 424, 407, 432, 385, 381, 268,
  4156  	408, 307, 353, 280, 282, 302, 309, 311, 313, 314,
  4157  	362, 363, 375, 396, 409, 410, 411, 306, 290, 390,
  4158  	291, 324, 292, 269, 298, 296, 299, 398, 300, 271,
  4159  	376, 415, 0, 319, 386, 349, 272, 348, 377, 414,
  4160  	413, 281, 440, 446, 447, 536, 0, 452, 616, 617,
  4161  	618, 461, 466, 467, 468, 470, 471, 472, 473, 537,
  4162  	554, 521, 491, 454, 545, 488, 492, 493, 557, 0,
  4163  	0, 0, 445, 338, 339, 0, 317, 265, 266, 611,
  4164  	303, 368, 559, 592, 484, 0, 546, 485, 494, 295,
  4165  	518, 530, 529, 364, 444, 0, 541, 544, 474, 610,
  4166  	0, 538, 553, 614, 552, 607, 374, 0, 395, 550,
  4167  	497, 0, 542, 516, 0, 543, 512, 547, 0, 486,
  4168  	0, 402, 426, 438, 455, 458, 487, 572, 573, 574,
  4169  	270, 457, 576, 577, 578, 579, 580, 581, 582, 575,
  4170  	429, 519, 496, 522, 437, 499, 498, 0, 0, 533,
  4171  	453, 534, 535, 358, 359, 360, 361, 321, 560, 288,
  4172  	456, 384, 0, 520, 0, 0, 0, 0, 0, 0,
  4173  	0, 0, 525, 526, 523, 619, 0, 583, 584, 0,
  4174  	0, 450, 451, 316, 323, 469, 325, 287, 373, 318,
  4175  	435, 332, 0, 462, 527, 463, 586, 589, 587, 588,
  4176  	365, 328, 329, 399, 333, 343, 387, 434, 371, 392,
  4177  	285, 425, 400, 347, 513, 540, 0, 0, 0, 0,
  4178  	0, 0, 0, 0, 0, 0, 0, 254, 0, 0,
  4179  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4180  	0, 0, 568, 567, 566, 565, 564, 563, 562, 561,
  4181  	0, 0, 510, 412, 297, 259, 293, 294, 301, 608,
  4182  	605, 416, 609, 0, 267, 490, 341, 0, 382, 315,
  4183  	555, 556, 0, 0, 215, 216, 217, 218, 219, 220,
  4184  	221, 222, 260, 223, 224, 225, 226, 227, 228, 229,
  4185  	232, 233, 234, 235, 236, 237, 238, 239, 558, 230,
  4186  	231, 240, 241, 242, 243, 244, 245, 246, 247, 248,
  4187  	249, 250, 251, 252, 253, 0, 0, 0, 261, 262,
  4188  	263, 264, 0, 0, 255, 256, 257, 258, 0, 0,
  4189  	0, 441, 442, 443, 465, 0, 427, 489, 606, 0,
  4190  	0, 0, 0, 0, 0, 0, 539, 551, 585, 0,
  4191  	594, 595, 597, 599, 598, 601, 0, 612, 480, 481,
  4192  	613, 591, 370, 0, 495, 528, 517, 600, 483, 0,
  4193  	0, 0, 0, 0, 0, 0, 0, 0, 0, 310,
  4194  	0, 0, 340, 532, 514, 524, 515, 500, 501, 502,
  4195  	509, 320, 503, 504, 505, 475, 506, 476, 507, 508,
  4196  	0, 531, 482, 401, 354, 549, 548, 0, 0, 0,
  4197  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4198  	0, 0, 3774, 0, 204, 805, 0, 0, 0, 0,
  4199  	0, 283, 205, 477, 596, 479, 478, 0, 0, 0,
  4200  	0, 0, 0, 0, 0, 0, 286, 0, 0, 0,
  4201  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4202  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4203  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4204  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4205  	0, 0, 0, 0, 0, 0, 0, 0, 273, 406,
  4206  	423, 284, 397, 436, 289, 404, 279, 369, 393, 0,
  4207  	0, 275, 421, 403, 351, 330, 331, 274, 0, 388,
  4208  	308, 322, 305, 367, 0, 420, 448, 304, 439, 0,
  4209  	431, 277, 0, 430, 366, 417, 422, 352, 346, 276,
  4210  	419, 350, 345, 334, 312, 464, 335, 336, 326, 378,
  4211  	344, 379, 327, 356, 355, 357, 0, 0, 0, 0,
  4212  	0, 459, 460, 0, 0, 0, 0, 0, 0, 0,
  4213  	0, 0, 0, 0, 0, 590, 0, 0, 593, 0,
  4214  	433, 0, 0, 0, 0, 0, 0, 405, 0, 0,
  4215  	337, 0, 0, 0, 449, 0, 391, 372, 615, 0,
  4216  	0, 389, 342, 418, 380, 424, 407, 432, 385, 381,
  4217  	268, 408, 307, 353, 280, 282, 302, 309, 311, 313,
  4218  	314, 362, 363, 375, 396, 409, 410, 411, 306, 290,
  4219  	390, 291, 324, 292, 269, 298, 296, 299, 398, 300,
  4220  	271, 376, 415, 0, 319, 386, 349, 272, 348, 377,
  4221  	414, 413, 281, 440, 446, 447, 536, 0, 452, 616,
  4222  	617, 618, 461, 466, 467, 468, 470, 471, 472, 473,
  4223  	537, 554, 521, 491, 454, 545, 488, 492, 493, 557,
  4224  	0, 0, 0, 445, 338, 339, 0, 317, 265, 266,
  4225  	611, 303, 368, 559, 592, 484, 0, 546, 485, 494,
  4226  	295, 518, 530, 529, 364, 444, 0, 541, 544, 474,
  4227  	610, 0, 538, 553, 614, 552, 607, 374, 0, 395,
  4228  	550, 497, 0, 542, 516, 0, 543, 512, 547, 0,
  4229  	486, 0, 402, 426, 438, 455, 458, 487, 572, 573,
  4230  	574, 270, 457, 576, 577, 578, 579, 580, 581, 582,
  4231  	575, 429, 519, 496, 522, 437, 499, 498, 0, 0,
  4232  	533, 453, 534, 535, 358, 359, 360, 361, 321, 560,
  4233  	288, 456, 384, 0, 520, 0, 0, 0, 0, 0,
  4234  	0, 0, 0, 525, 526, 523, 619, 0, 583, 584,
  4235  	0, 0, 450, 451, 316, 323, 469, 325, 287, 373,
  4236  	318, 435, 332, 0, 462, 527, 463, 586, 589, 587,
  4237  	588, 365, 328, 329, 399, 333, 343, 387, 434, 371,
  4238  	392, 285, 425, 400, 347, 513, 540, 0, 0, 0,
  4239  	0, 0, 0, 0, 0, 0, 0, 0, 254, 0,
  4240  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4241  	0, 0, 0, 568, 567, 566, 565, 564, 563, 562,
  4242  	561, 0, 0, 510, 412, 297, 259, 293, 294, 301,
  4243  	608, 605, 416, 609, 0, 267, 490, 341, 0, 382,
  4244  	315, 555, 556, 0, 0, 215, 216, 217, 218, 219,
  4245  	220, 221, 222, 260, 223, 224, 225, 226, 227, 228,
  4246  	229, 232, 233, 234, 235, 236, 237, 238, 239, 558,
  4247  	230, 231, 240, 241, 242, 243, 244, 245, 246, 247,
  4248  	248, 249, 250, 251, 252, 253, 0, 0, 0, 261,
  4249  	262, 263, 264, 0, 0, 255, 256, 257, 258, 0,
  4250  	0, 0, 441, 442, 443, 465, 0, 427, 489, 606,
  4251  	0, 0, 0, 0, 0, 0, 0, 539, 551, 585,
  4252  	0, 594, 595, 597, 599, 598, 601, 0, 612, 480,
  4253  	481, 613, 591, 370, 0, 495, 528, 517, 600, 483,
  4254  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4255  	310, 0, 0, 340, 532, 514, 524, 515, 500, 501,
  4256  	502, 509, 320, 503, 504, 505, 475, 506, 476, 507,
  4257  	508, 0, 531, 482, 401, 354, 549, 548, 0, 0,
  4258  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4259  	0, 0, 0, 0, 0, 204, 0, 0, 1448, 0,
  4260  	0, 0, 283, 205, 477, 596, 479, 478, 0, 0,
  4261  	0, 0, 0, 0, 0, 0, 0, 286, 0, 0,
  4262  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4263  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4264  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4265  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4266  	0, 0, 1446, 0, 0, 0, 0, 0, 0, 273,
  4267  	406, 423, 284, 397, 436, 289, 404, 279, 369, 393,
  4268  	0, 0, 275, 421, 403, 351, 330, 331, 274, 0,
  4269  	388, 308, 322, 305, 367, 0, 420, 448, 304, 439,
  4270  	0, 431, 277, 0, 430, 366, 417, 422, 352, 346,
  4271  	276, 419, 350, 345, 334, 312, 464, 335, 336, 326,
  4272  	378, 344, 379, 327, 356, 355, 357, 0, 0, 0,
  4273  	0, 0, 459, 460, 0, 0, 0, 0, 0, 0,
  4274  	0, 0, 0, 0, 0, 0, 590, 0, 0, 593,
  4275  	0, 433, 0, 0, 0, 0, 0, 0, 405, 0,
  4276  	0, 337, 0, 0, 0, 449, 0, 391, 372, 615,
  4277  	0, 0, 389, 342, 418, 380, 424, 407, 432, 385,
  4278  	381, 268, 408, 307, 353, 280, 282, 302, 309, 311,
  4279  	313, 314, 362, 363, 375, 396, 409, 410, 411, 306,
  4280  	290, 390, 291, 324, 292, 269, 298, 296, 299, 398,
  4281  	300, 271, 376, 415, 0, 319, 386, 349, 272, 348,
  4282  	377, 414, 413, 281, 440, 446, 447, 536, 0, 452,
  4283  	616, 617, 618, 461, 466, 467, 468, 470, 471, 472,
  4284  	473, 537, 554, 521, 491, 454, 545, 488, 492, 493,
  4285  	557, 0, 0, 0, 445, 338, 339, 0, 317, 265,
  4286  	266, 611, 303, 368, 559, 592, 484, 0, 546, 485,
  4287  	494, 295, 518, 530, 529, 364, 444, 0, 541, 544,
  4288  	474, 610, 0, 538, 553, 614, 552, 607, 374, 0,
  4289  	395, 550, 497, 0, 542, 516, 0, 543, 512, 547,
  4290  	0, 486, 0, 402, 426, 438, 455, 458, 487, 572,
  4291  	573, 574, 270, 457, 576, 577, 578, 579, 580, 581,
  4292  	582, 575, 429, 519, 496, 522, 437, 499, 498, 0,
  4293  	0, 533, 453, 534, 535, 358, 359, 360, 361, 321,
  4294  	560, 288, 456, 384, 0, 520, 0, 0, 0, 0,
  4295  	0, 0, 0, 0, 525, 526, 523, 619, 0, 583,
  4296  	584, 0, 0, 450, 451, 316, 323, 469, 325, 287,
  4297  	373, 318, 435, 332, 0, 462, 527, 463, 586, 589,
  4298  	587, 588, 365, 328, 329, 399, 333, 343, 387, 434,
  4299  	371, 392, 285, 425, 400, 347, 513, 540, 0, 0,
  4300  	0, 0, 0, 0, 0, 0, 0, 0, 0, 254,
  4301  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4302  	0, 0, 0, 0, 568, 567, 566, 565, 564, 563,
  4303  	562, 561, 0, 0, 510, 412, 297, 259, 293, 294,
  4304  	301, 608, 605, 416, 609, 0, 267, 490, 341, 0,
  4305  	382, 315, 555, 556, 0, 0, 215, 216, 217, 218,
  4306  	219, 220, 221, 222, 260, 223, 224, 225, 226, 227,
  4307  	228, 229, 232, 233, 234, 235, 236, 237, 238, 239,
  4308  	558, 230, 231, 240, 241, 242, 243, 244, 245, 246,
  4309  	247, 248, 249, 250, 251, 252, 253, 0, 0, 0,
  4310  	261, 262, 263, 264, 0, 0, 255, 256, 257, 258,
  4311  	0, 0, 0, 441, 442, 443, 465, 0, 427, 489,
  4312  	606, 0, 0, 0, 0, 0, 0, 0, 539, 551,
  4313  	585, 0, 594, 595, 597, 599, 598, 601, 0, 612,
  4314  	480, 481, 613, 591, 370, 0, 495, 528, 517, 600,
  4315  	483, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4316  	0, 310, 0, 0, 340, 532, 514, 524, 515, 500,
  4317  	501, 502, 509, 320, 503, 504, 505, 475, 506, 476,
  4318  	507, 508, 0, 531, 482, 401, 354, 549, 548, 0,
  4319  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4320  	0, 0, 0, 0, 0, 0, 204, 0, 0, 1448,
  4321  	0, 0, 0, 283, 205, 477, 596, 479, 478, 0,
  4322  	0, 0, 0, 0, 0, 0, 0, 0, 286, 0,
  4323  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4324  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4325  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4326  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4327  	0, 0, 0, 1655, 0, 0, 0, 0, 0, 0,
  4328  	273, 406, 423, 284, 397, 436, 289, 404, 279, 369,
  4329  	393, 0, 0, 275, 421, 403, 351, 330, 331, 274,
  4330  	0, 388, 308, 322, 305, 367, 0, 420, 448, 304,
  4331  	439, 0, 431, 277, 0, 430, 366, 417, 422, 352,
  4332  	346, 276, 419, 350, 345, 334, 312, 464, 335, 336,
  4333  	326, 378, 344, 379, 327, 356, 355, 357, 0, 0,
  4334  	0, 0, 0, 459, 460, 0, 0, 0, 0, 0,
  4335  	0, 0, 0, 0, 0, 0, 0, 590, 0, 0,
  4336  	593, 0, 433, 0, 0, 0, 0, 0, 0, 405,
  4337  	0, 0, 337, 0, 0, 0, 449, 0, 391, 372,
  4338  	615, 0, 0, 389, 342, 418, 380, 424, 407, 432,
  4339  	385, 381, 268, 408, 307, 353, 280, 282, 302, 309,
  4340  	311, 313, 314, 362, 363, 375, 396, 409, 410, 411,
  4341  	306, 290, 390, 291, 324, 292, 269, 298, 296, 299,
  4342  	398, 300, 271, 376, 415, 0, 319, 386, 349, 272,
  4343  	348, 377, 414, 413, 281, 440, 446, 447, 536, 0,
  4344  	452, 616, 617, 618, 461, 466, 467, 468, 470, 471,
  4345  	472, 473, 537, 554, 521, 491, 454, 545, 488, 492,
  4346  	493, 557, 0, 0, 0, 445, 338, 339, 0, 317,
  4347  	265, 266, 611, 303, 368, 559, 592, 484, 0, 546,
  4348  	485, 494, 295, 518, 530, 529, 364, 444, 0, 541,
  4349  	544, 474, 610, 0, 538, 553, 614, 552, 607, 374,
  4350  	0, 395, 550, 497, 0, 542, 516, 0, 543, 512,
  4351  	547, 0, 486, 0, 402, 426, 438, 455, 458, 487,
  4352  	572, 573, 574, 270, 457, 576, 577, 578, 579, 580,
  4353  	581, 582, 575, 429, 519, 496, 522, 437, 499, 498,
  4354  	0, 0, 533, 453, 534, 535, 358, 359, 360, 361,
  4355  	321, 560, 288, 456, 384, 0, 520, 0, 0, 0,
  4356  	0, 0, 0, 0, 0, 525, 526, 523, 619, 0,
  4357  	583, 584, 0, 0, 450, 451, 316, 323, 469, 325,
  4358  	287, 373, 318, 435, 332, 0, 462, 527, 463, 586,
  4359  	589, 587, 588, 365, 328, 329, 399, 333, 343, 387,
  4360  	434, 371, 392, 285, 425, 400, 347, 513, 540, 0,
  4361  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4362  	254, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4363  	0, 0, 0, 0, 0, 568, 567, 566, 565, 564,
  4364  	563, 562, 561, 0, 0, 510, 412, 297, 259, 293,
  4365  	294, 301, 608, 605, 416, 609, 0, 267, 490, 341,
  4366  	0, 382, 315, 555, 556, 0, 0, 215, 216, 217,
  4367  	218, 219, 220, 221, 222, 260, 223, 224, 225, 226,
  4368  	227, 228, 229, 232, 233, 234, 235, 236, 237, 238,
  4369  	239, 558, 230, 231, 240, 241, 242, 243, 244, 245,
  4370  	246, 247, 248, 249, 250, 251, 252, 253, 0, 0,
  4371  	0, 261, 262, 263, 264, 0, 0, 255, 256, 257,
  4372  	258, 0, 0, 0, 441, 442, 443, 465, 0, 427,
  4373  	489, 606, 0, 0, 0, 0, 0, 0, 0, 539,
  4374  	551, 585, 0, 594, 595, 597, 599, 598, 601, 0,
  4375  	612, 480, 481, 613, 591, 370, 0, 495, 528, 517,
  4376  	600, 483, 0, 0, 0, 0, 0, 2363, 0, 0,
  4377  	0, 0, 310, 0, 0, 340, 532, 514, 524, 515,
  4378  	500, 501, 502, 509, 320, 503, 504, 505, 475, 506,
  4379  	476, 507, 508, 0, 531, 482, 401, 354, 549, 548,
  4380  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4381  	0, 0, 0, 0, 0, 0, 0, 204, 0, 0,
  4382  	2365, 0, 0, 0, 283, 205, 477, 596, 479, 478,
  4383  	0, 0, 0, 0, 0, 0, 0, 0, 0, 286,
  4384  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4385  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4386  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4387  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4388  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4389  	0, 273, 406, 423, 284, 397, 436, 289, 404, 279,
  4390  	369, 393, 0, 0, 275, 421, 403, 351, 330, 331,
  4391  	274, 0, 388, 308, 322, 305, 367, 0, 420, 448,
  4392  	304, 439, 0, 431, 277, 0, 430, 366, 417, 422,
  4393  	352, 346, 276, 419, 350, 345, 334, 312, 464, 335,
  4394  	336, 326, 378, 344, 379, 327, 356, 355, 357, 0,
  4395  	0, 0, 0, 0, 459, 460, 0, 0, 0, 0,
  4396  	0, 0, 0, 0, 0, 0, 0, 0, 590, 0,
  4397  	0, 593, 0, 433, 0, 0, 0, 0, 0, 0,
  4398  	405, 0, 0, 337, 0, 0, 0, 449, 0, 391,
  4399  	372, 615, 0, 0, 389, 342, 418, 380, 424, 407,
  4400  	432, 385, 381, 268, 408, 307, 353, 280, 282, 302,
  4401  	309, 311, 313, 314, 362, 363, 375, 396, 409, 410,
  4402  	411, 306, 290, 390, 291, 324, 292, 269, 298, 296,
  4403  	299, 398, 300, 271, 376, 415, 0, 319, 386, 349,
  4404  	272, 348, 377, 414, 413, 281, 440, 446, 447, 536,
  4405  	0, 452, 616, 617, 618, 461, 466, 467, 468, 470,
  4406  	471, 472, 473, 537, 554, 521, 491, 454, 545, 488,
  4407  	492, 493, 557, 0, 0, 0, 445, 338, 339, 0,
  4408  	317, 265, 266, 611, 303, 368, 559, 592, 484, 0,
  4409  	546, 485, 494, 295, 518, 530, 529, 364, 444, 0,
  4410  	541, 544, 474, 610, 0, 538, 553, 614, 552, 607,
  4411  	374, 0, 395, 550, 497, 0, 542, 516, 0, 543,
  4412  	512, 547, 0, 486, 0, 402, 426, 438, 455, 458,
  4413  	487, 572, 573, 574, 270, 457, 576, 577, 578, 579,
  4414  	580, 581, 582, 575, 429, 519, 496, 522, 437, 499,
  4415  	498, 0, 0, 533, 453, 534, 535, 358, 359, 360,
  4416  	361, 321, 560, 288, 456, 384, 0, 520, 0, 0,
  4417  	0, 0, 0, 0, 0, 0, 525, 526, 523, 619,
  4418  	0, 583, 584, 0, 0, 450, 451, 316, 323, 469,
  4419  	325, 287, 373, 318, 435, 332, 0, 462, 527, 463,
  4420  	586, 589, 587, 588, 365, 328, 329, 399, 333, 343,
  4421  	387, 434, 371, 392, 285, 425, 400, 347, 513, 540,
  4422  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4423  	0, 254, 0, 0, 0, 0, 0, 0, 0, 0,
  4424  	0, 0, 0, 0, 0, 0, 568, 567, 566, 565,
  4425  	564, 563, 562, 561, 0, 0, 510, 412, 297, 259,
  4426  	293, 294, 301, 608, 605, 416, 609, 0, 267, 490,
  4427  	341, 0, 382, 315, 555, 556, 0, 0, 215, 216,
  4428  	217, 218, 219, 220, 221, 222, 260, 223, 224, 225,
  4429  	226, 227, 228, 229, 232, 233, 234, 235, 236, 237,
  4430  	238, 239, 558, 230, 231, 240, 241, 242, 243, 244,
  4431  	245, 246, 247, 248, 249, 250, 251, 252, 253, 0,
  4432  	0, 0, 261, 262, 263, 264, 0, 0, 255, 256,
  4433  	257, 258, 0, 0, 0, 441, 442, 443, 465, 0,
  4434  	427, 489, 606, 0, 0, 0, 0, 0, 0, 0,
  4435  	539, 551, 585, 0, 594, 595, 597, 599, 598, 601,
  4436  	0, 612, 480, 481, 613, 591, 370, 0, 495, 528,
  4437  	517, 600, 483, 0, 0, 0, 0, 0, 0, 0,
  4438  	0, 0, 0, 310, 0, 0, 340, 532, 514, 524,
  4439  	515, 500, 501, 502, 509, 320, 503, 504, 505, 475,
  4440  	506, 476, 507, 508, 0, 531, 482, 401, 354, 549,
  4441  	548, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4442  	0, 0, 0, 0, 0, 0, 0, 0, 204, 0,
  4443  	0, 2980, 2982, 0, 0, 283, 205, 477, 596, 479,
  4444  	478, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4445  	286, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4446  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4447  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4448  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4449  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4450  	0, 0, 273, 406, 423, 284, 397, 436, 289, 404,
  4451  	279, 369, 393, 0, 0, 275, 421, 403, 351, 330,
  4452  	331, 274, 0, 388, 308, 322, 305, 367, 0, 420,
  4453  	448, 304, 439, 0, 431, 277, 0, 430, 366, 417,
  4454  	422, 352, 346, 276, 419, 350, 345, 334, 312, 464,
  4455  	335, 336, 326, 378, 344, 379, 327, 356, 355, 357,
  4456  	0, 0, 0, 0, 0, 459, 460, 0, 0, 0,
  4457  	0, 0, 0, 0, 0, 0, 0, 0, 0, 590,
  4458  	0, 0, 593, 0, 433, 0, 0, 0, 0, 0,
  4459  	0, 405, 0, 0, 337, 0, 0, 0, 449, 0,
  4460  	391, 372, 615, 0, 0, 389, 342, 418, 380, 424,
  4461  	407, 432, 385, 381, 268, 408, 307, 353, 280, 282,
  4462  	302, 309, 311, 313, 314, 362, 363, 375, 396, 409,
  4463  	410, 411, 306, 290, 390, 291, 324, 292, 269, 298,
  4464  	296, 299, 398, 300, 271, 376, 415, 0, 319, 386,
  4465  	349, 272, 348, 377, 414, 413, 281, 440, 446, 447,
  4466  	536, 0, 452, 616, 617, 618, 461, 466, 467, 468,
  4467  	470, 471, 472, 473, 537, 554, 521, 491, 454, 545,
  4468  	488, 492, 493, 557, 0, 0, 0, 445, 338, 339,
  4469  	0, 317, 265, 266, 611, 303, 368, 559, 592, 484,
  4470  	0, 546, 485, 494, 295, 518, 530, 529, 364, 444,
  4471  	0, 541, 544, 474, 610, 0, 538, 553, 614, 552,
  4472  	607, 374, 0, 395, 550, 497, 0, 542, 516, 0,
  4473  	543, 512, 547, 0, 486, 0, 402, 426, 438, 455,
  4474  	458, 487, 572, 573, 574, 270, 457, 576, 577, 578,
  4475  	579, 580, 581, 582, 575, 429, 519, 496, 522, 437,
  4476  	499, 498, 0, 0, 533, 453, 534, 535, 358, 359,
  4477  	360, 361, 321, 560, 288, 456, 384, 0, 520, 0,
  4478  	0, 0, 0, 0, 0, 0, 0, 525, 526, 523,
  4479  	619, 0, 583, 584, 0, 0, 450, 451, 316, 323,
  4480  	469, 325, 287, 373, 318, 435, 332, 0, 462, 527,
  4481  	463, 586, 589, 587, 588, 365, 328, 329, 399, 333,
  4482  	343, 387, 434, 371, 392, 285, 425, 400, 347, 513,
  4483  	540, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4484  	0, 0, 254, 0, 0, 0, 0, 0, 0, 0,
  4485  	0, 0, 0, 0, 0, 0, 0, 568, 567, 566,
  4486  	565, 564, 563, 562, 561, 0, 0, 510, 412, 297,
  4487  	259, 293, 294, 301, 608, 605, 416, 609, 0, 267,
  4488  	490, 341, 0, 382, 315, 555, 556, 0, 0, 215,
  4489  	216, 217, 218, 219, 220, 221, 222, 260, 223, 224,
  4490  	225, 226, 227, 228, 229, 232, 233, 234, 235, 236,
  4491  	237, 238, 239, 558, 230, 231, 240, 241, 242, 243,
  4492  	244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
  4493  	0, 0, 0, 261, 262, 263, 264, 0, 0, 255,
  4494  	256, 257, 258, 0, 0, 0, 441, 442, 443, 465,
  4495  	0, 427, 489, 606, 0, 0, 0, 0, 0, 0,
  4496  	0, 539, 551, 585, 0, 594, 595, 597, 599, 598,
  4497  	601, 0, 612, 480, 481, 613, 591, 370, 0, 495,
  4498  	528, 517, 600, 483, 0, 0, 0, 0, 0, 0,
  4499  	0, 0, 0, 0, 310, 2384, 0, 340, 532, 514,
  4500  	524, 515, 500, 501, 502, 509, 320, 503, 504, 505,
  4501  	475, 506, 476, 507, 508, 0, 531, 482, 401, 354,
  4502  	549, 548, 0, 0, 0, 0, 0, 0, 0, 0,
  4503  	0, 0, 0, 0, 0, 0, 0, 0, 0, 204,
  4504  	0, 0, 1448, 0, 0, 0, 283, 205, 477, 596,
  4505  	479, 478, 0, 0, 0, 0, 0, 0, 0, 0,
  4506  	0, 286, 0, 0, 0, 0, 0, 0, 0, 0,
  4507  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4508  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4509  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4510  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4511  	0, 0, 0, 273, 406, 423, 284, 397, 436, 289,
  4512  	404, 279, 369, 393, 0, 0, 275, 421, 403, 351,
  4513  	330, 331, 274, 0, 388, 308, 322, 305, 367, 0,
  4514  	420, 448, 304, 439, 0, 431, 277, 0, 430, 366,
  4515  	417, 422, 352, 346, 276, 419, 350, 345, 334, 312,
  4516  	464, 335, 336, 326, 378, 344, 379, 327, 356, 355,
  4517  	357, 0, 0, 0, 0, 0, 459, 460, 0, 0,
  4518  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4519  	590, 0, 0, 593, 0, 433, 0, 0, 0, 0,
  4520  	0, 0, 405, 0, 0, 337, 0, 0, 0, 449,
  4521  	0, 391, 372, 615, 0, 0, 389, 342, 418, 380,
  4522  	424, 407, 432, 385, 381, 268, 408, 307, 353, 280,
  4523  	282, 302, 309, 311, 313, 314, 362, 363, 375, 396,
  4524  	409, 410, 411, 306, 290, 390, 291, 324, 292, 269,
  4525  	298, 296, 299, 398, 300, 271, 376, 415, 0, 319,
  4526  	386, 349, 272, 348, 377, 414, 413, 281, 440, 446,
  4527  	447, 536, 0, 452, 616, 617, 618, 461, 466, 467,
  4528  	468, 470, 471, 472, 473, 537, 554, 521, 491, 454,
  4529  	545, 488, 492, 493, 557, 0, 0, 0, 445, 338,
  4530  	339, 0, 317, 265, 266, 611, 303, 368, 559, 592,
  4531  	484, 0, 546, 485, 494, 295, 518, 530, 529, 364,
  4532  	444, 0, 541, 544, 474, 610, 0, 538, 553, 614,
  4533  	552, 607, 374, 0, 395, 550, 497, 0, 542, 516,
  4534  	0, 543, 512, 547, 0, 486, 0, 402, 426, 438,
  4535  	455, 458, 487, 572, 573, 574, 270, 457, 576, 577,
  4536  	578, 579, 580, 581, 582, 575, 429, 519, 496, 522,
  4537  	437, 499, 498, 0, 0, 533, 453, 534, 535, 358,
  4538  	359, 360, 361, 321, 560, 288, 456, 384, 0, 520,
  4539  	0, 0, 0, 0, 0, 0, 0, 0, 525, 526,
  4540  	523, 619, 0, 583, 584, 0, 0, 450, 451, 316,
  4541  	323, 469, 325, 287, 373, 318, 435, 332, 0, 462,
  4542  	527, 463, 586, 589, 587, 588, 365, 328, 329, 399,
  4543  	333, 343, 387, 434, 371, 392, 285, 425, 400, 347,
  4544  	513, 540, 0, 0, 0, 0, 0, 0, 0, 0,
  4545  	0, 0, 0, 254, 0, 0, 0, 0, 0, 0,
  4546  	0, 0, 0, 0, 0, 0, 0, 0, 568, 567,
  4547  	566, 565, 564, 563, 562, 561, 0, 0, 510, 412,
  4548  	297, 259, 293, 294, 301, 608, 605, 416, 609, 0,
  4549  	267, 490, 341, 0, 382, 315, 555, 556, 0, 0,
  4550  	215, 216, 217, 218, 219, 220, 221, 222, 260, 223,
  4551  	224, 225, 226, 227, 228, 229, 232, 233, 234, 235,
  4552  	236, 237, 238, 239, 558, 230, 231, 240, 241, 242,
  4553  	243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
  4554  	253, 0, 0, 0, 261, 262, 263, 264, 0, 0,
  4555  	255, 256, 257, 258, 0, 0, 0, 441, 442, 443,
  4556  	465, 0, 427, 489, 606, 0, 0, 0, 0, 0,
  4557  	0, 0, 539, 551, 585, 0, 594, 595, 597, 599,
  4558  	598, 601, 0, 612, 480, 481, 613, 591, 370, 0,
  4559  	495, 528, 517, 600, 483, 0, 0, 0, 0, 0,
  4560  	0, 0, 0, 0, 626, 310, 0, 0, 340, 532,
  4561  	514, 524, 515, 500, 501, 502, 509, 320, 503, 504,
  4562  	505, 475, 506, 476, 507, 508, 0, 531, 482, 401,
  4563  	354, 549, 548, 0, 0, 0, 0, 0, 0, 0,
  4564  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4565  	204, 0, 0, 0, 0, 0, 0, 283, 205, 477,
  4566  	596, 479, 478, 0, 0, 0, 0, 0, 0, 0,
  4567  	0, 0, 286, 0, 0, 0, 0, 0, 0, 0,
  4568  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4569  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4570  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4571  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4572  	0, 0, 0, 0, 273, 406, 423, 284, 397, 436,
  4573  	289, 404, 279, 369, 393, 0, 0, 275, 421, 403,
  4574  	351, 330, 331, 274, 0, 388, 308, 322, 305, 367,
  4575  	0, 420, 448, 304, 439, 0, 431, 277, 0, 430,
  4576  	366, 417, 422, 352, 346, 276, 419, 350, 345, 334,
  4577  	312, 464, 335, 336, 326, 378, 344, 379, 327, 356,
  4578  	355, 357, 0, 0, 0, 0, 0, 459, 460, 0,
  4579  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4580  	0, 590, 0, 0, 593, 0, 433, 0, 625, 0,
  4581  	0, 0, 0, 405, 0, 0, 337, 0, 0, 0,
  4582  	449, 0, 391, 372, 615, 0, 0, 389, 342, 418,
  4583  	380, 424, 407, 432, 385, 381, 268, 408, 307, 353,
  4584  	280, 282, 302, 309, 311, 313, 314, 362, 363, 375,
  4585  	396, 409, 410, 411, 306, 290, 390, 291, 324, 292,
  4586  	269, 298, 296, 299, 398, 300, 271, 376, 415, 0,
  4587  	319, 386, 349, 272, 348, 377, 414, 413, 281, 440,
  4588  	446, 447, 536, 0, 452, 616, 617, 618, 461, 466,
  4589  	467, 468, 470, 471, 472, 473, 537, 554, 521, 491,
  4590  	454, 545, 488, 492, 493, 557, 0, 0, 0, 445,
  4591  	338, 339, 0, 317, 265, 266, 611, 303, 368, 559,
  4592  	592, 484, 0, 546, 485, 494, 295, 518, 530, 529,
  4593  	364, 444, 0, 541, 544, 474, 610, 0, 538, 553,
  4594  	614, 552, 607, 374, 0, 395, 550, 497, 0, 542,
  4595  	516, 0, 543, 512, 547, 0, 486, 0, 402, 426,
  4596  	438, 455, 458, 487, 572, 573, 574, 270, 457, 576,
  4597  	577, 578, 579, 580, 581, 582, 575, 429, 519, 496,
  4598  	522, 437, 499, 498, 0, 0, 533, 453, 534, 535,
  4599  	358, 359, 360, 361, 321, 560, 288, 456, 384, 0,
  4600  	520, 0, 0, 0, 0, 0, 0, 0, 0, 525,
  4601  	526, 523, 619, 0, 583, 584, 0, 0, 450, 451,
  4602  	316, 323, 469, 325, 287, 373, 318, 435, 332, 0,
  4603  	462, 527, 463, 586, 589, 587, 588, 365, 328, 329,
  4604  	399, 333, 343, 387, 434, 371, 392, 285, 425, 400,
  4605  	347, 513, 540, 0, 0, 0, 0, 0, 0, 0,
  4606  	0, 0, 0, 0, 254, 0, 0, 0, 0, 0,
  4607  	0, 0, 0, 0, 0, 0, 0, 0, 0, 568,
  4608  	567, 566, 565, 564, 563, 562, 561, 0, 0, 510,
  4609  	412, 297, 259, 293, 294, 301, 608, 605, 416, 609,
  4610  	0, 267, 490, 341, 0, 382, 315, 555, 556, 0,
  4611  	0, 215, 216, 217, 218, 219, 220, 221, 222, 260,
  4612  	223, 224, 225, 226, 227, 228, 229, 232, 233, 234,
  4613  	235, 236, 237, 238, 239, 558, 230, 231, 240, 241,
  4614  	242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
  4615  	252, 253, 0, 0, 0, 261, 262, 263, 264, 0,
  4616  	0, 255, 256, 257, 258, 0, 0, 0, 441, 442,
  4617  	443, 465, 0, 427, 489, 606, 0, 0, 0, 0,
  4618  	0, 0, 0, 539, 551, 585, 0, 594, 595, 597,
  4619  	599, 598, 601, 0, 612, 480, 481, 613, 591, 370,
  4620  	0, 495, 528, 517, 600, 483, 0, 0, 0, 0,
  4621  	0, 0, 0, 0, 0, 0, 310, 0, 0, 340,
  4622  	532, 514, 524, 515, 500, 501, 502, 509, 320, 503,
  4623  	504, 505, 475, 506, 476, 507, 508, 0, 531, 482,
  4624  	401, 354, 549, 548, 0, 0, 0, 0, 0, 0,
  4625  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4626  	0, 204, 805, 0, 0, 0, 0, 0, 283, 205,
  4627  	477, 596, 479, 478, 0, 0, 0, 0, 0, 0,
  4628  	0, 0, 0, 286, 0, 0, 0, 0, 0, 0,
  4629  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4630  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4631  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4632  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4633  	0, 0, 0, 0, 0, 273, 406, 423, 284, 397,
  4634  	436, 289, 404, 279, 369, 393, 0, 0, 275, 421,
  4635  	403, 351, 330, 331, 274, 0, 388, 308, 322, 305,
  4636  	367, 0, 420, 448, 304, 439, 0, 431, 277, 0,
  4637  	430, 366, 417, 422, 352, 346, 276, 419, 350, 345,
  4638  	334, 312, 464, 335, 336, 326, 378, 344, 379, 327,
  4639  	356, 355, 357, 0, 0, 0, 0, 0, 459, 460,
  4640  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4641  	0, 0, 590, 0, 0, 593, 0, 433, 0, 0,
  4642  	0, 0, 0, 0, 405, 0, 0, 337, 0, 0,
  4643  	0, 449, 0, 391, 372, 615, 0, 0, 389, 342,
  4644  	418, 380, 424, 407, 432, 385, 381, 268, 408, 307,
  4645  	353, 280, 282, 302, 309, 311, 313, 314, 362, 363,
  4646  	375, 396, 409, 410, 411, 306, 290, 390, 291, 324,
  4647  	292, 269, 298, 296, 299, 398, 300, 271, 376, 415,
  4648  	0, 319, 386, 349, 272, 348, 377, 414, 413, 281,
  4649  	440, 446, 447, 536, 0, 452, 616, 617, 618, 461,
  4650  	466, 467, 468, 470, 471, 472, 473, 537, 554, 521,
  4651  	491, 454, 545, 488, 492, 493, 557, 0, 0, 0,
  4652  	445, 338, 339, 0, 317, 265, 266, 611, 303, 368,
  4653  	559, 592, 484, 0, 546, 485, 494, 295, 518, 530,
  4654  	529, 364, 444, 0, 541, 544, 474, 610, 0, 538,
  4655  	553, 614, 552, 607, 374, 0, 395, 550, 497, 0,
  4656  	542, 516, 0, 543, 512, 547, 0, 486, 0, 402,
  4657  	426, 438, 455, 458, 487, 572, 573, 574, 270, 457,
  4658  	576, 577, 578, 579, 580, 581, 582, 575, 429, 519,
  4659  	496, 522, 437, 499, 498, 0, 0, 533, 453, 534,
  4660  	535, 358, 359, 360, 361, 321, 560, 288, 456, 384,
  4661  	0, 520, 0, 0, 0, 0, 0, 0, 0, 0,
  4662  	525, 526, 523, 619, 0, 583, 584, 0, 0, 450,
  4663  	451, 316, 323, 469, 325, 287, 373, 318, 435, 332,
  4664  	0, 462, 527, 463, 586, 589, 587, 588, 365, 328,
  4665  	329, 399, 333, 343, 387, 434, 371, 392, 285, 425,
  4666  	400, 347, 513, 540, 0, 0, 0, 0, 0, 0,
  4667  	0, 0, 0, 0, 0, 254, 0, 0, 0, 0,
  4668  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4669  	568, 567, 566, 565, 564, 563, 562, 561, 0, 0,
  4670  	510, 412, 297, 259, 293, 294, 301, 608, 605, 416,
  4671  	609, 0, 267, 490, 341, 0, 382, 315, 555, 556,
  4672  	0, 0, 215, 216, 217, 218, 219, 220, 221, 222,
  4673  	260, 223, 224, 225, 226, 227, 228, 229, 232, 233,
  4674  	234, 235, 236, 237, 238, 239, 558, 230, 231, 240,
  4675  	241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
  4676  	251, 252, 253, 0, 0, 0, 261, 262, 263, 264,
  4677  	0, 0, 255, 256, 257, 258, 0, 0, 0, 441,
  4678  	442, 443, 465, 0, 427, 489, 606, 0, 0, 0,
  4679  	0, 0, 0, 0, 539, 551, 585, 0, 594, 595,
  4680  	597, 599, 598, 601, 0, 612, 480, 481, 613, 591,
  4681  	370, 0, 495, 528, 517, 600, 483, 0, 0, 0,
  4682  	0, 0, 0, 0, 0, 0, 0, 310, 0, 0,
  4683  	340, 532, 514, 524, 515, 500, 501, 502, 509, 320,
  4684  	503, 504, 505, 475, 506, 476, 507, 508, 0, 531,
  4685  	482, 401, 354, 549, 548, 0, 0, 0, 0, 0,
  4686  	0, 0, 0, 0, 0, 0, 0, 0, 0, 3753,
  4687  	0, 0, 204, 0, 0, 0, 0, 0, 0, 283,
  4688  	205, 477, 596, 479, 478, 0, 0, 0, 0, 0,
  4689  	0, 0, 0, 0, 286, 0, 0, 0, 0, 0,
  4690  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4691  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4692  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4693  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4694  	0, 0, 0, 0, 0, 0, 273, 406, 423, 284,
  4695  	397, 436, 289, 404, 279, 369, 393, 0, 0, 275,
  4696  	421, 403, 351, 330, 331, 274, 0, 388, 308, 322,
  4697  	305, 367, 0, 420, 448, 304, 439, 0, 431, 277,
  4698  	0, 430, 366, 417, 422, 352, 346, 276, 419, 350,
  4699  	345, 334, 312, 464, 335, 336, 326, 378, 344, 379,
  4700  	327, 356, 355, 357, 0, 0, 0, 0, 0, 459,
  4701  	460, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4702  	0, 0, 0, 590, 0, 0, 593, 0, 433, 0,
  4703  	0, 0, 0, 0, 0, 405, 0, 0, 337, 0,
  4704  	0, 0, 449, 0, 391, 372, 615, 0, 0, 389,
  4705  	342, 418, 380, 424, 407, 432, 385, 381, 268, 408,
  4706  	307, 353, 280, 282, 302, 309, 311, 313, 314, 362,
  4707  	363, 375, 396, 409, 410, 411, 306, 290, 390, 291,
  4708  	324, 292, 269, 298, 296, 299, 398, 300, 271, 376,
  4709  	415, 0, 319, 386, 349, 272, 348, 377, 414, 413,
  4710  	281, 440, 446, 447, 536, 0, 452, 616, 617, 618,
  4711  	461, 466, 467, 468, 470, 471, 472, 473, 537, 554,
  4712  	521, 491, 454, 545, 488, 492, 493, 557, 0, 0,
  4713  	0, 445, 338, 339, 0, 317, 265, 266, 611, 303,
  4714  	368, 559, 592, 484, 0, 546, 485, 494, 295, 518,
  4715  	530, 529, 364, 444, 0, 541, 544, 474, 610, 0,
  4716  	538, 553, 614, 552, 607, 374, 0, 395, 550, 497,
  4717  	0, 542, 516, 0, 543, 512, 547, 0, 486, 0,
  4718  	402, 426, 438, 455, 458, 487, 572, 573, 574, 270,
  4719  	457, 576, 577, 578, 579, 580, 581, 582, 575, 429,
  4720  	519, 496, 522, 437, 499, 498, 0, 0, 533, 453,
  4721  	534, 535, 358, 359, 360, 361, 321, 560, 288, 456,
  4722  	384, 0, 520, 0, 0, 0, 0, 0, 0, 0,
  4723  	0, 525, 526, 523, 619, 0, 583, 584, 0, 0,
  4724  	450, 451, 316, 323, 469, 325, 287, 373, 318, 435,
  4725  	332, 0, 462, 527, 463, 586, 589, 587, 588, 365,
  4726  	328, 329, 399, 333, 343, 387, 434, 371, 392, 285,
  4727  	425, 400, 347, 513, 540, 0, 0, 0, 0, 0,
  4728  	0, 0, 0, 0, 0, 0, 254, 0, 0, 0,
  4729  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4730  	0, 568, 567, 566, 565, 564, 563, 562, 561, 0,
  4731  	0, 510, 412, 297, 259, 293, 294, 301, 608, 605,
  4732  	416, 609, 0, 267, 490, 341, 0, 382, 315, 555,
  4733  	556, 0, 0, 215, 216, 217, 218, 219, 220, 221,
  4734  	222, 260, 223, 224, 225, 226, 227, 228, 229, 232,
  4735  	233, 234, 235, 236, 237, 238, 239, 558, 230, 231,
  4736  	240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
  4737  	250, 251, 252, 253, 0, 0, 0, 261, 262, 263,
  4738  	264, 0, 0, 255, 256, 257, 258, 0, 0, 0,
  4739  	441, 442, 443, 465, 0, 427, 489, 606, 0, 0,
  4740  	0, 0, 0, 0, 0, 539, 551, 585, 0, 594,
  4741  	595, 597, 599, 598, 601, 0, 612, 480, 481, 613,
  4742  	591, 370, 0, 495, 528, 517, 600, 483, 0, 0,
  4743  	0, 0, 0, 0, 0, 0, 0, 0, 310, 0,
  4744  	0, 340, 532, 514, 524, 515, 500, 501, 502, 509,
  4745  	320, 503, 504, 505, 475, 506, 476, 507, 508, 0,
  4746  	531, 482, 401, 354, 549, 548, 0, 0, 0, 0,
  4747  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4748  	0, 0, 0, 204, 0, 0, 3536, 0, 0, 0,
  4749  	283, 205, 477, 596, 479, 478, 0, 0, 0, 0,
  4750  	0, 0, 0, 0, 0, 286, 0, 0, 0, 0,
  4751  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4752  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4753  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4754  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4755  	0, 0, 0, 0, 0, 0, 0, 273, 406, 423,
  4756  	284, 397, 436, 289, 404, 279, 369, 393, 0, 0,
  4757  	275, 421, 403, 351, 330, 331, 274, 0, 388, 308,
  4758  	322, 305, 367, 0, 420, 448, 304, 439, 0, 431,
  4759  	277, 0, 430, 366, 417, 422, 352, 346, 276, 419,
  4760  	350, 345, 334, 312, 464, 335, 336, 326, 378, 344,
  4761  	379, 327, 356, 355, 357, 0, 0, 0, 0, 0,
  4762  	459, 460, 0, 0, 0, 0, 0, 0, 0, 0,
  4763  	0, 0, 0, 0, 590, 0, 0, 593, 0, 433,
  4764  	0, 0, 0, 0, 0, 0, 405, 0, 0, 337,
  4765  	0, 0, 0, 449, 0, 391, 372, 615, 0, 0,
  4766  	389, 342, 418, 380, 424, 407, 432, 385, 381, 268,
  4767  	408, 307, 353, 280, 282, 302, 309, 311, 313, 314,
  4768  	362, 363, 375, 396, 409, 410, 411, 306, 290, 390,
  4769  	291, 324, 292, 269, 298, 296, 299, 398, 300, 271,
  4770  	376, 415, 0, 319, 386, 349, 272, 348, 377, 414,
  4771  	413, 281, 440, 446, 447, 536, 0, 452, 616, 617,
  4772  	618, 461, 466, 467, 468, 470, 471, 472, 473, 537,
  4773  	554, 521, 491, 454, 545, 488, 492, 493, 557, 0,
  4774  	0, 0, 445, 338, 339, 0, 317, 265, 266, 611,
  4775  	303, 368, 559, 592, 484, 0, 546, 485, 494, 295,
  4776  	518, 530, 529, 364, 444, 0, 541, 544, 474, 610,
  4777  	0, 538, 553, 614, 552, 607, 374, 0, 395, 550,
  4778  	497, 0, 542, 516, 0, 543, 512, 547, 0, 486,
  4779  	0, 402, 426, 438, 455, 458, 487, 572, 573, 574,
  4780  	270, 457, 576, 577, 578, 579, 580, 581, 582, 575,
  4781  	429, 519, 496, 522, 437, 499, 498, 0, 0, 533,
  4782  	453, 534, 535, 358, 359, 360, 361, 321, 560, 288,
  4783  	456, 384, 0, 520, 0, 0, 0, 0, 0, 0,
  4784  	0, 0, 525, 526, 523, 619, 0, 583, 584, 0,
  4785  	0, 450, 451, 316, 323, 469, 325, 287, 373, 318,
  4786  	435, 332, 0, 462, 527, 463, 586, 589, 587, 588,
  4787  	365, 328, 329, 399, 333, 343, 387, 434, 371, 392,
  4788  	285, 425, 400, 347, 513, 540, 0, 0, 0, 0,
  4789  	0, 0, 0, 0, 0, 0, 0, 254, 0, 0,
  4790  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4791  	0, 0, 568, 567, 566, 565, 564, 563, 562, 561,
  4792  	0, 0, 510, 412, 297, 259, 293, 294, 301, 608,
  4793  	605, 416, 609, 0, 267, 490, 341, 0, 382, 315,
  4794  	555, 556, 0, 0, 215, 216, 217, 218, 219, 220,
  4795  	221, 222, 260, 223, 224, 225, 226, 227, 228, 229,
  4796  	232, 233, 234, 235, 236, 237, 238, 239, 558, 230,
  4797  	231, 240, 241, 242, 243, 244, 245, 246, 247, 248,
  4798  	249, 250, 251, 252, 253, 0, 0, 0, 261, 262,
  4799  	263, 264, 0, 0, 255, 256, 257, 258, 0, 0,
  4800  	0, 441, 442, 443, 465, 0, 427, 489, 606, 0,
  4801  	0, 0, 0, 0, 0, 0, 539, 551, 585, 0,
  4802  	594, 595, 597, 599, 598, 601, 0, 612, 480, 481,
  4803  	613, 591, 370, 0, 495, 528, 517, 600, 483, 0,
  4804  	0, 0, 0, 0, 0, 0, 0, 0, 0, 310,
  4805  	0, 0, 340, 532, 514, 524, 515, 500, 501, 502,
  4806  	509, 320, 503, 504, 505, 475, 506, 476, 507, 508,
  4807  	0, 531, 482, 401, 354, 549, 548, 0, 0, 0,
  4808  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4809  	0, 0, 0, 0, 204, 0, 0, 0, 0, 0,
  4810  	0, 283, 205, 477, 596, 479, 478, 0, 0, 0,
  4811  	0, 0, 0, 0, 0, 0, 286, 0, 0, 0,
  4812  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4813  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4814  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4815  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4816  	0, 0, 0, 0, 0, 0, 0, 0, 273, 406,
  4817  	423, 284, 397, 436, 289, 404, 279, 369, 393, 0,
  4818  	0, 275, 421, 403, 351, 330, 331, 274, 0, 388,
  4819  	308, 322, 305, 367, 0, 420, 448, 304, 439, 0,
  4820  	431, 277, 0, 430, 366, 417, 422, 352, 346, 276,
  4821  	419, 350, 345, 334, 312, 464, 335, 336, 326, 378,
  4822  	344, 379, 327, 356, 355, 357, 0, 0, 0, 0,
  4823  	0, 459, 460, 0, 0, 0, 0, 0, 0, 0,
  4824  	0, 0, 0, 0, 0, 590, 0, 0, 593, 0,
  4825  	433, 0, 0, 0, 3663, 0, 0, 405, 0, 0,
  4826  	337, 0, 0, 0, 449, 0, 391, 372, 615, 0,
  4827  	0, 389, 342, 418, 380, 424, 407, 432, 385, 381,
  4828  	268, 408, 307, 353, 280, 282, 302, 309, 311, 313,
  4829  	314, 362, 363, 375, 396, 409, 410, 411, 306, 290,
  4830  	390, 291, 324, 292, 269, 298, 296, 299, 398, 300,
  4831  	271, 376, 415, 0, 319, 386, 349, 272, 348, 377,
  4832  	414, 413, 281, 440, 446, 447, 536, 0, 452, 616,
  4833  	617, 618, 461, 466, 467, 468, 470, 471, 472, 473,
  4834  	537, 554, 521, 491, 454, 545, 488, 492, 493, 557,
  4835  	0, 0, 0, 445, 338, 339, 0, 317, 265, 266,
  4836  	611, 303, 368, 559, 592, 484, 0, 546, 485, 494,
  4837  	295, 518, 530, 529, 364, 444, 0, 541, 544, 474,
  4838  	610, 0, 538, 553, 614, 552, 607, 374, 0, 395,
  4839  	550, 497, 0, 542, 516, 0, 543, 512, 547, 0,
  4840  	486, 0, 402, 426, 438, 455, 458, 487, 572, 573,
  4841  	574, 270, 457, 576, 577, 578, 579, 580, 581, 582,
  4842  	575, 429, 519, 496, 522, 437, 499, 498, 0, 0,
  4843  	533, 453, 534, 535, 358, 359, 360, 361, 321, 560,
  4844  	288, 456, 384, 0, 520, 0, 0, 0, 0, 0,
  4845  	0, 0, 0, 525, 526, 523, 619, 0, 583, 584,
  4846  	0, 0, 450, 451, 316, 323, 469, 325, 287, 373,
  4847  	318, 435, 332, 0, 462, 527, 463, 586, 589, 587,
  4848  	588, 365, 328, 329, 399, 333, 343, 387, 434, 371,
  4849  	392, 285, 425, 400, 347, 513, 540, 0, 0, 0,
  4850  	0, 0, 0, 0, 0, 0, 0, 0, 254, 0,
  4851  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4852  	0, 0, 0, 568, 567, 566, 565, 564, 563, 562,
  4853  	561, 0, 0, 510, 412, 297, 259, 293, 294, 301,
  4854  	608, 605, 416, 609, 0, 267, 490, 341, 0, 382,
  4855  	315, 555, 556, 0, 0, 215, 216, 217, 218, 219,
  4856  	220, 221, 222, 260, 223, 224, 225, 226, 227, 228,
  4857  	229, 232, 233, 234, 235, 236, 237, 238, 239, 558,
  4858  	230, 231, 240, 241, 242, 243, 244, 245, 246, 247,
  4859  	248, 249, 250, 251, 252, 253, 0, 0, 0, 261,
  4860  	262, 263, 264, 0, 0, 255, 256, 257, 258, 0,
  4861  	0, 0, 441, 442, 443, 465, 0, 427, 489, 606,
  4862  	0, 0, 0, 0, 0, 0, 0, 539, 551, 585,
  4863  	0, 594, 595, 597, 599, 598, 601, 0, 612, 480,
  4864  	481, 613, 591, 370, 0, 495, 528, 517, 600, 483,
  4865  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4866  	310, 0, 0, 340, 532, 514, 524, 515, 500, 501,
  4867  	502, 509, 320, 503, 504, 505, 475, 506, 476, 507,
  4868  	508, 0, 531, 482, 401, 354, 549, 548, 0, 0,
  4869  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4870  	0, 0, 3387, 0, 0, 204, 0, 0, 0, 0,
  4871  	0, 0, 283, 205, 477, 596, 479, 478, 0, 0,
  4872  	0, 0, 0, 0, 0, 0, 0, 286, 0, 0,
  4873  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4874  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4875  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4876  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4877  	0, 0, 0, 0, 0, 0, 0, 0, 0, 273,
  4878  	406, 423, 284, 397, 436, 289, 404, 279, 369, 393,
  4879  	0, 0, 275, 421, 403, 351, 330, 331, 274, 0,
  4880  	388, 308, 322, 305, 367, 0, 420, 448, 304, 439,
  4881  	0, 431, 277, 0, 430, 366, 417, 422, 352, 346,
  4882  	276, 419, 350, 345, 334, 312, 464, 335, 336, 326,
  4883  	378, 344, 379, 327, 356, 355, 357, 0, 0, 0,
  4884  	0, 0, 459, 460, 0, 0, 0, 0, 0, 0,
  4885  	0, 0, 0, 0, 0, 0, 590, 0, 0, 593,
  4886  	0, 433, 0, 0, 0, 0, 0, 0, 405, 0,
  4887  	0, 337, 0, 0, 0, 449, 0, 391, 372, 615,
  4888  	0, 0, 389, 342, 418, 380, 424, 407, 432, 385,
  4889  	381, 268, 408, 307, 353, 280, 282, 302, 309, 311,
  4890  	313, 314, 362, 363, 375, 396, 409, 410, 411, 306,
  4891  	290, 390, 291, 324, 292, 269, 298, 296, 299, 398,
  4892  	300, 271, 376, 415, 0, 319, 386, 349, 272, 348,
  4893  	377, 414, 413, 281, 440, 446, 447, 536, 0, 452,
  4894  	616, 617, 618, 461, 466, 467, 468, 470, 471, 472,
  4895  	473, 537, 554, 521, 491, 454, 545, 488, 492, 493,
  4896  	557, 0, 0, 0, 445, 338, 339, 0, 317, 265,
  4897  	266, 611, 303, 368, 559, 592, 484, 0, 546, 485,
  4898  	494, 295, 518, 530, 529, 364, 444, 0, 541, 544,
  4899  	474, 610, 0, 538, 553, 614, 552, 607, 374, 0,
  4900  	395, 550, 497, 0, 542, 516, 0, 543, 512, 547,
  4901  	0, 486, 0, 402, 426, 438, 455, 458, 487, 572,
  4902  	573, 574, 270, 457, 576, 577, 578, 579, 580, 581,
  4903  	582, 575, 429, 519, 496, 522, 437, 499, 498, 0,
  4904  	0, 533, 453, 534, 535, 358, 359, 360, 361, 321,
  4905  	560, 288, 456, 384, 0, 520, 0, 0, 0, 0,
  4906  	0, 0, 0, 0, 525, 526, 523, 619, 0, 583,
  4907  	584, 0, 0, 450, 451, 316, 323, 469, 325, 287,
  4908  	373, 318, 435, 332, 0, 462, 527, 463, 586, 589,
  4909  	587, 588, 365, 328, 329, 399, 333, 343, 387, 434,
  4910  	371, 392, 285, 425, 400, 347, 513, 540, 0, 0,
  4911  	0, 0, 0, 0, 0, 0, 0, 0, 0, 254,
  4912  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4913  	0, 0, 0, 0, 568, 567, 566, 565, 564, 563,
  4914  	562, 561, 0, 0, 510, 412, 297, 259, 293, 294,
  4915  	301, 608, 605, 416, 609, 0, 267, 490, 341, 0,
  4916  	382, 315, 555, 556, 0, 0, 215, 216, 217, 218,
  4917  	219, 220, 221, 222, 260, 223, 224, 225, 226, 227,
  4918  	228, 229, 232, 233, 234, 235, 236, 237, 238, 239,
  4919  	558, 230, 231, 240, 241, 242, 243, 244, 245, 246,
  4920  	247, 248, 249, 250, 251, 252, 253, 0, 0, 0,
  4921  	261, 262, 263, 264, 0, 0, 255, 256, 257, 258,
  4922  	0, 0, 0, 441, 442, 443, 465, 0, 427, 489,
  4923  	606, 0, 0, 0, 0, 0, 0, 0, 539, 551,
  4924  	585, 0, 594, 595, 597, 599, 598, 601, 0, 612,
  4925  	480, 481, 613, 591, 370, 0, 495, 528, 517, 600,
  4926  	483, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4927  	0, 310, 0, 0, 340, 532, 514, 524, 515, 500,
  4928  	501, 502, 509, 320, 503, 504, 505, 475, 506, 476,
  4929  	507, 508, 0, 531, 482, 401, 354, 549, 548, 0,
  4930  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4931  	0, 0, 0, 0, 3551, 0, 204, 0, 0, 0,
  4932  	0, 0, 0, 283, 205, 477, 596, 479, 478, 0,
  4933  	0, 0, 0, 0, 0, 0, 0, 0, 286, 0,
  4934  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4935  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4936  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4937  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4938  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4939  	273, 406, 423, 284, 397, 436, 289, 404, 279, 369,
  4940  	393, 0, 0, 275, 421, 403, 351, 330, 331, 274,
  4941  	0, 388, 308, 322, 305, 367, 0, 420, 448, 304,
  4942  	439, 0, 431, 277, 0, 430, 366, 417, 422, 352,
  4943  	346, 276, 419, 350, 345, 334, 312, 464, 335, 336,
  4944  	326, 378, 344, 379, 327, 356, 355, 357, 0, 0,
  4945  	0, 0, 0, 459, 460, 0, 0, 0, 0, 0,
  4946  	0, 0, 0, 0, 0, 0, 0, 590, 0, 0,
  4947  	593, 0, 433, 0, 0, 0, 0, 0, 0, 405,
  4948  	0, 0, 337, 0, 0, 0, 449, 0, 391, 372,
  4949  	615, 0, 0, 389, 342, 418, 380, 424, 407, 432,
  4950  	385, 381, 268, 408, 307, 353, 280, 282, 302, 309,
  4951  	311, 313, 314, 362, 363, 375, 396, 409, 410, 411,
  4952  	306, 290, 390, 291, 324, 292, 269, 298, 296, 299,
  4953  	398, 300, 271, 376, 415, 0, 319, 386, 349, 272,
  4954  	348, 377, 414, 413, 281, 440, 446, 447, 536, 0,
  4955  	452, 616, 617, 618, 461, 466, 467, 468, 470, 471,
  4956  	472, 473, 537, 554, 521, 491, 454, 545, 488, 492,
  4957  	493, 557, 0, 0, 0, 445, 338, 339, 0, 317,
  4958  	265, 266, 611, 303, 368, 559, 592, 484, 0, 546,
  4959  	485, 494, 295, 518, 530, 529, 364, 444, 0, 541,
  4960  	544, 474, 610, 0, 538, 553, 614, 552, 607, 374,
  4961  	0, 395, 550, 497, 0, 542, 516, 0, 543, 512,
  4962  	547, 0, 486, 0, 402, 426, 438, 455, 458, 487,
  4963  	572, 573, 574, 270, 457, 576, 577, 578, 579, 580,
  4964  	581, 582, 575, 429, 519, 496, 522, 437, 499, 498,
  4965  	0, 0, 533, 453, 534, 535, 358, 359, 360, 361,
  4966  	321, 560, 288, 456, 384, 0, 520, 0, 0, 0,
  4967  	0, 0, 0, 0, 0, 525, 526, 523, 619, 0,
  4968  	583, 584, 0, 0, 450, 451, 316, 323, 469, 325,
  4969  	287, 373, 318, 435, 332, 0, 462, 527, 463, 586,
  4970  	589, 587, 588, 365, 328, 329, 399, 333, 343, 387,
  4971  	434, 371, 392, 285, 425, 400, 347, 513, 540, 0,
  4972  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4973  	254, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4974  	0, 0, 0, 0, 0, 568, 567, 566, 565, 564,
  4975  	563, 562, 561, 0, 0, 510, 412, 297, 259, 293,
  4976  	294, 301, 608, 605, 416, 609, 0, 267, 490, 341,
  4977  	0, 382, 315, 555, 556, 0, 0, 215, 216, 217,
  4978  	218, 219, 220, 221, 222, 260, 223, 224, 225, 226,
  4979  	227, 228, 229, 232, 233, 234, 235, 236, 237, 238,
  4980  	239, 558, 230, 231, 240, 241, 242, 243, 244, 245,
  4981  	246, 247, 248, 249, 250, 251, 252, 253, 0, 0,
  4982  	0, 261, 262, 263, 264, 0, 0, 255, 256, 257,
  4983  	258, 0, 0, 0, 441, 442, 443, 465, 0, 427,
  4984  	489, 606, 0, 0, 0, 0, 0, 0, 0, 539,
  4985  	551, 585, 0, 594, 595, 597, 599, 598, 601, 0,
  4986  	612, 480, 481, 613, 591, 370, 0, 495, 528, 517,
  4987  	600, 483, 0, 0, 0, 0, 0, 0, 0, 0,
  4988  	0, 0, 310, 0, 0, 340, 532, 514, 524, 515,
  4989  	500, 501, 502, 509, 320, 503, 504, 505, 475, 506,
  4990  	476, 507, 508, 0, 531, 482, 401, 354, 549, 548,
  4991  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4992  	0, 0, 0, 0, 0, 0, 0, 204, 0, 0,
  4993  	0, 0, 0, 0, 283, 205, 477, 596, 479, 478,
  4994  	0, 0, 0, 0, 0, 0, 0, 0, 0, 286,
  4995  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4996  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4997  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4998  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4999  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5000  	0, 273, 406, 423, 284, 397, 436, 289, 404, 279,
  5001  	369, 393, 0, 0, 275, 421, 403, 351, 330, 331,
  5002  	274, 0, 388, 308, 322, 305, 367, 0, 420, 448,
  5003  	304, 439, 0, 431, 277, 0, 430, 366, 417, 422,
  5004  	352, 346, 276, 419, 350, 345, 334, 312, 464, 335,
  5005  	336, 326, 378, 344, 379, 327, 356, 355, 357, 0,
  5006  	0, 0, 0, 0, 459, 460, 0, 0, 0, 0,
  5007  	0, 0, 0, 0, 0, 0, 0, 0, 590, 0,
  5008  	0, 593, 0, 433, 0, 0, 0, 3475, 0, 0,
  5009  	405, 0, 0, 337, 0, 0, 0, 449, 0, 391,
  5010  	372, 615, 0, 0, 389, 342, 418, 380, 424, 407,
  5011  	432, 385, 381, 268, 408, 307, 353, 280, 282, 302,
  5012  	309, 311, 313, 314, 362, 363, 375, 396, 409, 410,
  5013  	411, 306, 290, 390, 291, 324, 292, 269, 298, 296,
  5014  	299, 398, 300, 271, 376, 415, 0, 319, 386, 349,
  5015  	272, 348, 377, 414, 413, 281, 440, 446, 447, 536,
  5016  	0, 452, 616, 617, 618, 461, 466, 467, 468, 470,
  5017  	471, 472, 473, 537, 554, 521, 491, 454, 545, 488,
  5018  	492, 493, 557, 0, 0, 0, 445, 338, 339, 0,
  5019  	317, 265, 266, 611, 303, 368, 559, 592, 484, 0,
  5020  	546, 485, 494, 295, 518, 530, 529, 364, 444, 0,
  5021  	541, 544, 474, 610, 0, 538, 553, 614, 552, 607,
  5022  	374, 0, 395, 550, 497, 0, 542, 516, 0, 543,
  5023  	512, 547, 0, 486, 0, 402, 426, 438, 455, 458,
  5024  	487, 572, 573, 574, 270, 457, 576, 577, 578, 579,
  5025  	580, 581, 582, 575, 429, 519, 496, 522, 437, 499,
  5026  	498, 0, 0, 533, 453, 534, 535, 358, 359, 360,
  5027  	361, 321, 560, 288, 456, 384, 0, 520, 0, 0,
  5028  	0, 0, 0, 0, 0, 0, 525, 526, 523, 619,
  5029  	0, 583, 584, 0, 0, 450, 451, 316, 323, 469,
  5030  	325, 287, 373, 318, 435, 332, 0, 462, 527, 463,
  5031  	586, 589, 587, 588, 365, 328, 329, 399, 333, 343,
  5032  	387, 434, 371, 392, 285, 425, 400, 347, 513, 540,
  5033  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5034  	0, 254, 0, 0, 0, 0, 0, 0, 0, 0,
  5035  	0, 0, 0, 0, 0, 0, 568, 567, 566, 565,
  5036  	564, 563, 562, 561, 0, 0, 510, 412, 297, 259,
  5037  	293, 294, 301, 608, 605, 416, 609, 0, 267, 490,
  5038  	341, 0, 382, 315, 555, 556, 0, 0, 215, 216,
  5039  	217, 218, 219, 220, 221, 222, 260, 223, 224, 225,
  5040  	226, 227, 228, 229, 232, 233, 234, 235, 236, 237,
  5041  	238, 239, 558, 230, 231, 240, 241, 242, 243, 244,
  5042  	245, 246, 247, 248, 249, 250, 251, 252, 253, 0,
  5043  	0, 0, 261, 262, 263, 264, 0, 0, 255, 256,
  5044  	257, 258, 0, 0, 0, 441, 442, 443, 465, 0,
  5045  	427, 489, 606, 0, 0, 0, 0, 0, 0, 0,
  5046  	539, 551, 585, 0, 594, 595, 597, 599, 598, 601,
  5047  	0, 612, 480, 481, 613, 591, 370, 0, 495, 528,
  5048  	517, 600, 483, 0, 0, 0, 0, 0, 0, 0,
  5049  	0, 0, 0, 310, 0, 0, 340, 532, 514, 524,
  5050  	515, 500, 501, 502, 509, 320, 503, 504, 505, 475,
  5051  	506, 476, 507, 508, 0, 531, 482, 401, 354, 549,
  5052  	548, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5053  	0, 0, 0, 0, 0, 0, 0, 0, 204, 0,
  5054  	0, 3013, 0, 0, 0, 283, 205, 477, 596, 479,
  5055  	478, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5056  	286, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5057  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5058  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5059  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5060  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5061  	0, 0, 273, 406, 423, 284, 397, 436, 289, 404,
  5062  	279, 369, 393, 0, 0, 275, 421, 403, 351, 330,
  5063  	331, 274, 0, 388, 308, 322, 305, 367, 0, 420,
  5064  	448, 304, 439, 0, 431, 277, 0, 430, 366, 417,
  5065  	422, 352, 346, 276, 419, 350, 345, 334, 312, 464,
  5066  	335, 336, 326, 378, 344, 379, 327, 356, 355, 357,
  5067  	0, 0, 0, 0, 0, 459, 460, 0, 0, 0,
  5068  	0, 0, 0, 0, 0, 0, 0, 0, 0, 590,
  5069  	0, 0, 593, 0, 433, 0, 0, 0, 0, 0,
  5070  	0, 405, 0, 0, 337, 0, 0, 0, 449, 0,
  5071  	391, 372, 615, 0, 0, 389, 342, 418, 380, 424,
  5072  	407, 432, 385, 381, 268, 408, 307, 353, 280, 282,
  5073  	302, 309, 311, 313, 314, 362, 363, 375, 396, 409,
  5074  	410, 411, 306, 290, 390, 291, 324, 292, 269, 298,
  5075  	296, 299, 398, 300, 271, 376, 415, 0, 319, 386,
  5076  	349, 272, 348, 377, 414, 413, 281, 440, 446, 447,
  5077  	536, 0, 452, 616, 617, 618, 461, 466, 467, 468,
  5078  	470, 471, 472, 473, 537, 554, 521, 491, 454, 545,
  5079  	488, 492, 493, 557, 0, 0, 0, 445, 338, 339,
  5080  	0, 317, 265, 266, 611, 303, 368, 559, 592, 484,
  5081  	0, 546, 485, 494, 295, 518, 530, 529, 364, 444,
  5082  	0, 541, 544, 474, 610, 0, 538, 553, 614, 552,
  5083  	607, 374, 0, 395, 550, 497, 0, 542, 516, 0,
  5084  	543, 512, 547, 0, 486, 0, 402, 426, 438, 455,
  5085  	458, 487, 572, 573, 574, 270, 457, 576, 577, 578,
  5086  	579, 580, 581, 582, 575, 429, 519, 496, 522, 437,
  5087  	499, 498, 0, 0, 533, 453, 534, 535, 358, 359,
  5088  	360, 361, 321, 560, 288, 456, 384, 0, 520, 0,
  5089  	0, 0, 0, 0, 0, 0, 0, 525, 526, 523,
  5090  	619, 0, 583, 584, 0, 0, 450, 451, 316, 323,
  5091  	469, 325, 287, 373, 318, 435, 332, 0, 462, 527,
  5092  	463, 586, 589, 587, 588, 365, 328, 329, 399, 333,
  5093  	343, 387, 434, 371, 392, 285, 425, 400, 347, 513,
  5094  	540, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5095  	0, 0, 254, 0, 0, 0, 0, 0, 0, 0,
  5096  	0, 0, 0, 0, 0, 0, 0, 568, 567, 566,
  5097  	565, 564, 563, 562, 561, 0, 0, 510, 412, 297,
  5098  	259, 293, 294, 301, 608, 605, 416, 609, 0, 267,
  5099  	490, 341, 0, 382, 315, 555, 556, 0, 0, 215,
  5100  	216, 217, 218, 219, 220, 221, 222, 260, 223, 224,
  5101  	225, 226, 227, 228, 229, 232, 233, 234, 235, 236,
  5102  	237, 238, 239, 558, 230, 231, 240, 241, 242, 243,
  5103  	244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
  5104  	0, 0, 0, 261, 262, 263, 264, 0, 0, 255,
  5105  	256, 257, 258, 0, 0, 0, 441, 442, 443, 465,
  5106  	0, 427, 489, 606, 0, 0, 0, 0, 0, 0,
  5107  	0, 539, 551, 585, 0, 594, 595, 597, 599, 598,
  5108  	601, 0, 612, 480, 481, 613, 591, 370, 0, 495,
  5109  	528, 517, 600, 483, 0, 0, 0, 0, 0, 0,
  5110  	0, 0, 0, 0, 310, 0, 0, 340, 532, 514,
  5111  	524, 515, 500, 501, 502, 509, 320, 503, 504, 505,
  5112  	475, 506, 476, 507, 508, 0, 531, 482, 401, 354,
  5113  	549, 548, 0, 0, 0, 0, 0, 0, 0, 0,
  5114  	0, 0, 0, 0, 0, 0, 0, 0, 0, 204,
  5115  	0, 0, 0, 0, 0, 0, 283, 205, 477, 596,
  5116  	479, 478, 0, 0, 0, 0, 0, 0, 0, 0,
  5117  	0, 286, 0, 0, 0, 0, 0, 0, 0, 0,
  5118  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5119  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5120  	0, 0, 0, 0, 0, 0, 0, 3031, 0, 0,
  5121  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5122  	0, 0, 0, 273, 406, 423, 284, 397, 436, 289,
  5123  	404, 279, 369, 393, 0, 0, 275, 421, 403, 351,
  5124  	330, 331, 274, 0, 388, 308, 322, 305, 367, 0,
  5125  	420, 448, 304, 439, 0, 431, 277, 0, 430, 366,
  5126  	417, 422, 352, 346, 276, 419, 350, 345, 334, 312,
  5127  	464, 335, 336, 326, 378, 344, 379, 327, 356, 355,
  5128  	357, 0, 0, 0, 0, 0, 459, 460, 0, 0,
  5129  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5130  	590, 0, 0, 593, 0, 433, 0, 0, 0, 0,
  5131  	0, 0, 405, 0, 0, 337, 0, 0, 0, 449,
  5132  	0, 391, 372, 615, 0, 0, 389, 342, 418, 380,
  5133  	424, 407, 432, 385, 381, 268, 408, 307, 353, 280,
  5134  	282, 302, 309, 311, 313, 314, 362, 363, 375, 396,
  5135  	409, 410, 411, 306, 290, 390, 291, 324, 292, 269,
  5136  	298, 296, 299, 398, 300, 271, 376, 415, 0, 319,
  5137  	386, 349, 272, 348, 377, 414, 413, 281, 440, 446,
  5138  	447, 536, 0, 452, 616, 617, 618, 461, 466, 467,
  5139  	468, 470, 471, 472, 473, 537, 554, 521, 491, 454,
  5140  	545, 488, 492, 493, 557, 0, 0, 0, 445, 338,
  5141  	339, 0, 317, 265, 266, 611, 303, 368, 559, 592,
  5142  	484, 0, 546, 485, 494, 295, 518, 530, 529, 364,
  5143  	444, 0, 541, 544, 474, 610, 0, 538, 553, 614,
  5144  	552, 607, 374, 0, 395, 550, 497, 0, 542, 516,
  5145  	0, 543, 512, 547, 0, 486, 0, 402, 426, 438,
  5146  	455, 458, 487, 572, 573, 574, 270, 457, 576, 577,
  5147  	578, 579, 580, 581, 582, 575, 429, 519, 496, 522,
  5148  	437, 499, 498, 0, 0, 533, 453, 534, 535, 358,
  5149  	359, 360, 361, 321, 560, 288, 456, 384, 0, 520,
  5150  	0, 0, 0, 0, 0, 0, 0, 0, 525, 526,
  5151  	523, 619, 0, 583, 584, 0, 0, 450, 451, 316,
  5152  	323, 469, 325, 287, 373, 318, 435, 332, 0, 462,
  5153  	527, 463, 586, 589, 587, 588, 365, 328, 329, 399,
  5154  	333, 343, 387, 434, 371, 392, 285, 425, 400, 347,
  5155  	513, 540, 0, 0, 0, 0, 0, 0, 0, 0,
  5156  	0, 0, 0, 254, 0, 0, 0, 0, 0, 0,
  5157  	0, 0, 0, 0, 0, 0, 0, 0, 568, 567,
  5158  	566, 565, 564, 563, 562, 561, 0, 0, 510, 412,
  5159  	297, 259, 293, 294, 301, 608, 605, 416, 609, 0,
  5160  	267, 490, 341, 0, 382, 315, 555, 556, 0, 0,
  5161  	215, 216, 217, 218, 219, 220, 221, 222, 260, 223,
  5162  	224, 225, 226, 227, 228, 229, 232, 233, 234, 235,
  5163  	236, 237, 238, 239, 558, 230, 231, 240, 241, 242,
  5164  	243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
  5165  	253, 0, 0, 0, 261, 262, 263, 264, 0, 0,
  5166  	255, 256, 257, 258, 0, 0, 0, 441, 442, 443,
  5167  	465, 0, 427, 489, 606, 0, 0, 0, 0, 0,
  5168  	0, 0, 539, 551, 585, 0, 594, 595, 597, 599,
  5169  	598, 601, 0, 612, 480, 481, 613, 591, 370, 0,
  5170  	495, 528, 517, 600, 483, 0, 0, 0, 0, 0,
  5171  	0, 0, 0, 0, 0, 310, 0, 0, 340, 532,
  5172  	514, 524, 515, 500, 501, 502, 509, 320, 503, 504,
  5173  	505, 475, 506, 476, 507, 508, 0, 531, 482, 401,
  5174  	354, 549, 548, 0, 0, 0, 0, 0, 0, 0,
  5175  	0, 0, 0, 0, 0, 0, 0, 1932, 0, 0,
  5176  	204, 0, 0, 0, 0, 0, 0, 283, 205, 477,
  5177  	596, 479, 478, 0, 0, 0, 0, 0, 0, 0,
  5178  	0, 0, 286, 0, 0, 0, 0, 0, 0, 0,
  5179  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5180  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5181  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5182  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5183  	0, 0, 0, 0, 273, 406, 423, 284, 397, 436,
  5184  	289, 404, 279, 369, 393, 0, 0, 275, 421, 403,
  5185  	351, 330, 331, 274, 0, 388, 308, 322, 305, 367,
  5186  	0, 420, 448, 304, 439, 0, 431, 277, 0, 430,
  5187  	366, 417, 422, 352, 346, 276, 419, 350, 345, 334,
  5188  	312, 464, 335, 336, 326, 378, 344, 379, 327, 356,
  5189  	355, 357, 0, 0, 0, 0, 0, 459, 460, 0,
  5190  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5191  	0, 590, 0, 0, 593, 0, 433, 0, 0, 0,
  5192  	0, 0, 0, 405, 0, 0, 337, 0, 0, 0,
  5193  	449, 0, 391, 372, 615, 0, 0, 389, 342, 418,
  5194  	380, 424, 407, 432, 385, 381, 268, 408, 307, 353,
  5195  	280, 282, 302, 309, 311, 313, 314, 362, 363, 375,
  5196  	396, 409, 410, 411, 306, 290, 390, 291, 324, 292,
  5197  	269, 298, 296, 299, 398, 300, 271, 376, 415, 0,
  5198  	319, 386, 349, 272, 348, 377, 414, 413, 281, 440,
  5199  	446, 447, 536, 0, 452, 616, 617, 618, 461, 466,
  5200  	467, 468, 470, 471, 472, 473, 537, 554, 521, 491,
  5201  	454, 545, 488, 492, 493, 557, 0, 0, 0, 445,
  5202  	338, 339, 0, 317, 265, 266, 611, 303, 368, 559,
  5203  	592, 484, 0, 546, 485, 494, 295, 518, 530, 529,
  5204  	364, 444, 0, 541, 544, 474, 610, 0, 538, 553,
  5205  	614, 552, 607, 374, 0, 395, 550, 497, 0, 542,
  5206  	516, 0, 543, 512, 547, 0, 486, 0, 402, 426,
  5207  	438, 455, 458, 487, 572, 573, 574, 270, 457, 576,
  5208  	577, 578, 579, 580, 581, 582, 575, 429, 519, 496,
  5209  	522, 437, 499, 498, 0, 0, 533, 453, 534, 535,
  5210  	358, 359, 360, 361, 321, 560, 288, 456, 384, 0,
  5211  	520, 0, 0, 0, 0, 0, 0, 0, 0, 525,
  5212  	526, 523, 619, 0, 583, 584, 0, 0, 450, 451,
  5213  	316, 323, 469, 325, 287, 373, 318, 435, 332, 0,
  5214  	462, 527, 463, 586, 589, 587, 588, 365, 328, 329,
  5215  	399, 333, 343, 387, 434, 371, 392, 285, 425, 400,
  5216  	347, 513, 540, 0, 0, 0, 0, 0, 0, 0,
  5217  	0, 0, 0, 0, 254, 0, 0, 0, 0, 0,
  5218  	0, 0, 0, 0, 0, 0, 0, 0, 0, 568,
  5219  	567, 566, 565, 564, 563, 562, 561, 0, 0, 510,
  5220  	412, 297, 259, 293, 294, 301, 608, 605, 416, 609,
  5221  	0, 267, 490, 341, 0, 382, 315, 555, 556, 0,
  5222  	0, 215, 216, 217, 218, 219, 220, 221, 222, 260,
  5223  	223, 224, 225, 226, 227, 228, 229, 232, 233, 234,
  5224  	235, 236, 237, 238, 239, 558, 230, 231, 240, 241,
  5225  	242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
  5226  	252, 253, 0, 0, 0, 261, 262, 263, 264, 0,
  5227  	0, 255, 256, 257, 258, 0, 0, 0, 441, 442,
  5228  	443, 465, 0, 427, 489, 606, 0, 0, 0, 0,
  5229  	0, 0, 0, 539, 551, 585, 0, 594, 595, 597,
  5230  	599, 598, 601, 0, 612, 480, 481, 613, 591, 370,
  5231  	0, 495, 528, 517, 600, 483, 0, 0, 0, 0,
  5232  	0, 0, 0, 0, 0, 0, 310, 0, 0, 340,
  5233  	532, 514, 524, 515, 500, 501, 502, 509, 320, 503,
  5234  	504, 505, 475, 506, 476, 507, 508, 0, 531, 482,
  5235  	401, 354, 549, 548, 0, 0, 0, 0, 0, 0,
  5236  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5237  	0, 204, 0, 0, 0, 0, 0, 0, 283, 205,
  5238  	477, 596, 479, 478, 0, 0, 0, 0, 0, 0,
  5239  	0, 0, 0, 286, 0, 0, 0, 0, 0, 0,
  5240  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5241  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5242  	0, 0, 0, 0, 0, 0, 0, 0, 0, 3132,
  5243  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5244  	0, 0, 0, 0, 0, 273, 406, 423, 284, 397,
  5245  	436, 289, 404, 279, 369, 393, 0, 0, 275, 421,
  5246  	403, 351, 330, 331, 274, 0, 388, 308, 322, 305,
  5247  	367, 0, 420, 448, 304, 439, 0, 431, 277, 0,
  5248  	430, 366, 417, 422, 352, 346, 276, 419, 350, 345,
  5249  	334, 312, 464, 335, 336, 326, 378, 344, 379, 327,
  5250  	356, 355, 357, 0, 0, 0, 0, 0, 459, 460,
  5251  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5252  	0, 0, 590, 0, 0, 593, 0, 433, 0, 0,
  5253  	0, 0, 0, 0, 405, 0, 0, 337, 0, 0,
  5254  	0, 449, 0, 391, 372, 615, 0, 0, 389, 342,
  5255  	418, 380, 424, 407, 432, 385, 381, 268, 408, 307,
  5256  	353, 280, 282, 302, 309, 311, 313, 314, 362, 363,
  5257  	375, 396, 409, 410, 411, 306, 290, 390, 291, 324,
  5258  	292, 269, 298, 296, 299, 398, 300, 271, 376, 415,
  5259  	0, 319, 386, 349, 272, 348, 377, 414, 413, 281,
  5260  	440, 446, 447, 536, 0, 452, 616, 617, 618, 461,
  5261  	466, 467, 468, 470, 471, 472, 473, 537, 554, 521,
  5262  	491, 454, 545, 488, 492, 493, 557, 0, 0, 0,
  5263  	445, 338, 339, 0, 317, 265, 266, 611, 303, 368,
  5264  	559, 592, 484, 0, 546, 485, 494, 295, 518, 530,
  5265  	529, 364, 444, 0, 541, 544, 474, 610, 0, 538,
  5266  	553, 614, 552, 607, 374, 0, 395, 550, 497, 0,
  5267  	542, 516, 0, 543, 512, 547, 0, 486, 0, 402,
  5268  	426, 438, 455, 458, 487, 572, 573, 574, 270, 457,
  5269  	576, 577, 578, 579, 580, 581, 582, 575, 429, 519,
  5270  	496, 522, 437, 499, 498, 0, 0, 533, 453, 534,
  5271  	535, 358, 359, 360, 361, 321, 560, 288, 456, 384,
  5272  	0, 520, 0, 0, 0, 0, 0, 0, 0, 0,
  5273  	525, 526, 523, 619, 0, 583, 584, 0, 0, 450,
  5274  	451, 316, 323, 469, 325, 287, 373, 318, 435, 332,
  5275  	0, 462, 527, 463, 586, 589, 587, 588, 365, 328,
  5276  	329, 399, 333, 343, 387, 434, 371, 392, 285, 425,
  5277  	400, 347, 513, 540, 0, 0, 0, 0, 0, 0,
  5278  	0, 0, 0, 0, 0, 254, 0, 0, 0, 0,
  5279  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5280  	568, 567, 566, 565, 564, 563, 562, 561, 0, 0,
  5281  	510, 412, 297, 259, 293, 294, 301, 608, 605, 416,
  5282  	609, 0, 267, 490, 341, 0, 382, 315, 555, 556,
  5283  	0, 0, 215, 216, 217, 218, 219, 220, 221, 222,
  5284  	260, 223, 224, 225, 226, 227, 228, 229, 232, 233,
  5285  	234, 235, 236, 237, 238, 239, 558, 230, 231, 240,
  5286  	241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
  5287  	251, 252, 253, 0, 0, 0, 261, 262, 263, 264,
  5288  	0, 0, 255, 256, 257, 258, 0, 0, 0, 441,
  5289  	442, 443, 465, 0, 427, 489, 606, 0, 0, 0,
  5290  	0, 0, 0, 0, 539, 551, 585, 0, 594, 595,
  5291  	597, 599, 598, 601, 0, 612, 480, 481, 613, 591,
  5292  	370, 0, 495, 528, 517, 600, 483, 0, 0, 0,
  5293  	0, 0, 0, 0, 0, 0, 0, 310, 0, 0,
  5294  	340, 532, 514, 524, 515, 500, 501, 502, 509, 320,
  5295  	503, 504, 505, 475, 506, 476, 507, 508, 0, 531,
  5296  	482, 401, 354, 549, 548, 0, 0, 0, 0, 0,
  5297  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5298  	0, 0, 204, 0, 0, 0, 0, 0, 0, 283,
  5299  	205, 477, 596, 479, 478, 0, 0, 0, 0, 0,
  5300  	0, 0, 0, 0, 286, 0, 0, 0, 0, 0,
  5301  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5302  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5303  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5304  	2884, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5305  	0, 0, 0, 0, 0, 0, 273, 406, 423, 284,
  5306  	397, 436, 289, 404, 279, 369, 393, 0, 0, 275,
  5307  	421, 403, 351, 330, 331, 274, 0, 388, 308, 322,
  5308  	305, 367, 0, 420, 448, 304, 439, 0, 431, 277,
  5309  	0, 430, 366, 417, 422, 352, 346, 276, 419, 350,
  5310  	345, 334, 312, 464, 335, 336, 326, 378, 344, 379,
  5311  	327, 356, 355, 357, 0, 0, 0, 0, 0, 459,
  5312  	460, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5313  	0, 0, 0, 590, 0, 0, 593, 0, 433, 0,
  5314  	0, 0, 0, 0, 0, 405, 0, 0, 337, 0,
  5315  	0, 0, 449, 0, 391, 372, 615, 0, 0, 389,
  5316  	342, 418, 380, 424, 407, 432, 385, 381, 268, 408,
  5317  	307, 353, 280, 282, 302, 309, 311, 313, 314, 362,
  5318  	363, 375, 396, 409, 410, 411, 306, 290, 390, 291,
  5319  	324, 292, 269, 298, 296, 299, 398, 300, 271, 376,
  5320  	415, 0, 319, 386, 349, 272, 348, 377, 414, 413,
  5321  	281, 440, 446, 447, 536, 0, 452, 616, 617, 618,
  5322  	461, 466, 467, 468, 470, 471, 472, 473, 537, 554,
  5323  	521, 491, 454, 545, 488, 492, 493, 557, 0, 0,
  5324  	0, 445, 338, 339, 0, 317, 265, 266, 611, 303,
  5325  	368, 559, 592, 484, 0, 546, 485, 494, 295, 518,
  5326  	530, 529, 364, 444, 0, 541, 544, 474, 610, 0,
  5327  	538, 553, 614, 552, 607, 374, 0, 395, 550, 497,
  5328  	0, 542, 516, 0, 543, 512, 547, 0, 486, 0,
  5329  	402, 426, 438, 455, 458, 487, 572, 573, 574, 270,
  5330  	457, 576, 577, 578, 579, 580, 581, 582, 575, 429,
  5331  	519, 496, 522, 437, 499, 498, 0, 0, 533, 453,
  5332  	534, 535, 358, 359, 360, 361, 321, 560, 288, 456,
  5333  	384, 0, 520, 0, 0, 0, 0, 0, 0, 0,
  5334  	0, 525, 526, 523, 619, 0, 583, 584, 0, 0,
  5335  	450, 451, 316, 323, 469, 325, 287, 373, 318, 435,
  5336  	332, 0, 462, 527, 463, 586, 589, 587, 588, 365,
  5337  	328, 329, 399, 333, 343, 387, 434, 371, 392, 285,
  5338  	425, 400, 347, 513, 540, 0, 0, 0, 0, 0,
  5339  	0, 0, 0, 0, 0, 0, 254, 0, 0, 0,
  5340  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5341  	0, 568, 567, 566, 565, 564, 563, 562, 561, 0,
  5342  	0, 510, 412, 297, 259, 293, 294, 301, 608, 605,
  5343  	416, 609, 0, 267, 490, 341, 0, 382, 315, 555,
  5344  	556, 0, 0, 215, 216, 217, 218, 219, 220, 221,
  5345  	222, 260, 223, 224, 225, 226, 227, 228, 229, 232,
  5346  	233, 234, 235, 236, 237, 238, 239, 558, 230, 231,
  5347  	240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
  5348  	250, 251, 252, 253, 0, 0, 0, 261, 262, 263,
  5349  	264, 0, 0, 255, 256, 257, 258, 0, 0, 0,
  5350  	441, 442, 443, 465, 0, 427, 489, 606, 0, 0,
  5351  	0, 0, 0, 0, 0, 539, 551, 585, 0, 594,
  5352  	595, 597, 599, 598, 601, 0, 612, 480, 481, 613,
  5353  	591, 370, 0, 495, 528, 517, 600, 483, 0, 0,
  5354  	0, 0, 0, 0, 0, 0, 0, 0, 310, 0,
  5355  	0, 340, 532, 514, 524, 515, 500, 501, 502, 509,
  5356  	320, 503, 504, 505, 475, 506, 476, 507, 508, 0,
  5357  	531, 482, 401, 354, 549, 548, 0, 0, 0, 0,
  5358  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5359  	0, 0, 0, 204, 0, 0, 1448, 0, 0, 0,
  5360  	283, 205, 477, 596, 479, 478, 0, 0, 0, 0,
  5361  	0, 0, 0, 0, 0, 286, 0, 0, 0, 0,
  5362  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5363  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5364  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5365  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5366  	0, 0, 0, 0, 0, 0, 0, 273, 406, 423,
  5367  	284, 397, 436, 289, 404, 279, 369, 393, 0, 0,
  5368  	275, 421, 403, 351, 330, 331, 274, 0, 388, 308,
  5369  	322, 305, 367, 0, 420, 448, 304, 439, 0, 431,
  5370  	277, 0, 430, 366, 417, 422, 352, 346, 276, 419,
  5371  	350, 345, 334, 312, 464, 335, 336, 326, 378, 344,
  5372  	379, 327, 356, 355, 357, 0, 0, 0, 0, 0,
  5373  	459, 460, 0, 0, 0, 0, 0, 0, 0, 0,
  5374  	0, 0, 0, 0, 590, 0, 0, 593, 0, 433,
  5375  	0, 0, 0, 0, 0, 0, 405, 0, 0, 337,
  5376  	0, 0, 0, 449, 0, 391, 372, 615, 0, 0,
  5377  	389, 342, 418, 380, 424, 407, 432, 385, 381, 268,
  5378  	408, 307, 353, 280, 282, 302, 309, 311, 313, 314,
  5379  	362, 363, 375, 396, 409, 410, 411, 306, 290, 390,
  5380  	291, 324, 292, 269, 298, 296, 299, 398, 300, 271,
  5381  	376, 415, 0, 319, 386, 349, 272, 348, 377, 414,
  5382  	413, 281, 440, 446, 447, 536, 0, 452, 616, 617,
  5383  	618, 461, 466, 467, 468, 470, 471, 472, 473, 537,
  5384  	554, 521, 491, 454, 545, 488, 492, 493, 557, 0,
  5385  	0, 0, 445, 338, 339, 0, 317, 265, 266, 611,
  5386  	303, 368, 559, 592, 484, 0, 546, 485, 494, 295,
  5387  	518, 530, 529, 364, 444, 0, 541, 544, 474, 610,
  5388  	0, 538, 553, 614, 552, 607, 374, 0, 395, 550,
  5389  	497, 0, 542, 516, 0, 543, 512, 547, 0, 486,
  5390  	0, 402, 426, 438, 455, 458, 487, 572, 573, 574,
  5391  	270, 457, 576, 577, 578, 579, 580, 581, 582, 575,
  5392  	429, 519, 496, 522, 437, 499, 498, 0, 0, 533,
  5393  	453, 534, 535, 358, 359, 360, 361, 321, 560, 288,
  5394  	456, 384, 0, 520, 0, 0, 0, 0, 0, 0,
  5395  	0, 0, 525, 526, 523, 619, 0, 583, 584, 0,
  5396  	0, 450, 451, 316, 323, 469, 325, 287, 373, 318,
  5397  	435, 332, 0, 462, 527, 463, 586, 589, 587, 588,
  5398  	365, 328, 329, 399, 333, 343, 387, 434, 371, 392,
  5399  	285, 425, 400, 347, 513, 540, 0, 0, 0, 0,
  5400  	0, 0, 0, 0, 0, 0, 0, 254, 0, 0,
  5401  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5402  	0, 0, 568, 567, 566, 565, 564, 563, 562, 561,
  5403  	0, 0, 510, 412, 297, 259, 293, 294, 301, 608,
  5404  	605, 416, 609, 0, 267, 490, 341, 0, 382, 315,
  5405  	555, 556, 0, 0, 215, 216, 217, 218, 219, 220,
  5406  	221, 222, 260, 223, 224, 225, 226, 227, 228, 229,
  5407  	232, 233, 234, 235, 236, 237, 238, 239, 558, 230,
  5408  	231, 240, 241, 242, 243, 244, 245, 246, 247, 248,
  5409  	249, 250, 251, 252, 253, 0, 0, 0, 261, 262,
  5410  	263, 264, 0, 0, 255, 256, 257, 258, 0, 0,
  5411  	0, 441, 442, 443, 465, 0, 427, 489, 606, 0,
  5412  	0, 0, 0, 0, 0, 0, 539, 551, 585, 0,
  5413  	594, 595, 597, 599, 598, 601, 0, 612, 480, 481,
  5414  	613, 591, 370, 0, 495, 528, 517, 600, 483, 0,
  5415  	0, 0, 0, 0, 0, 0, 0, 0, 0, 310,
  5416  	0, 0, 340, 532, 514, 524, 515, 500, 501, 502,
  5417  	509, 320, 503, 504, 505, 475, 506, 476, 507, 508,
  5418  	0, 531, 482, 401, 354, 549, 548, 0, 0, 0,
  5419  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5420  	0, 0, 0, 0, 204, 0, 0, 2365, 0, 0,
  5421  	0, 283, 205, 477, 596, 479, 478, 0, 0, 0,
  5422  	0, 0, 0, 0, 0, 0, 286, 0, 0, 0,
  5423  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5424  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5425  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5426  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5427  	0, 0, 0, 0, 0, 0, 0, 0, 273, 406,
  5428  	423, 284, 397, 436, 289, 404, 279, 369, 393, 0,
  5429  	0, 275, 421, 403, 351, 330, 331, 274, 0, 388,
  5430  	308, 322, 305, 367, 0, 420, 448, 304, 439, 0,
  5431  	431, 277, 0, 430, 366, 417, 422, 352, 346, 276,
  5432  	419, 350, 345, 334, 312, 464, 335, 336, 326, 378,
  5433  	344, 379, 327, 356, 355, 357, 0, 0, 0, 0,
  5434  	0, 459, 460, 0, 0, 0, 0, 0, 0, 0,
  5435  	0, 0, 0, 0, 0, 590, 0, 0, 593, 0,
  5436  	433, 0, 0, 0, 0, 0, 0, 405, 0, 0,
  5437  	337, 0, 0, 0, 449, 0, 391, 372, 615, 0,
  5438  	0, 389, 342, 418, 380, 424, 407, 432, 385, 381,
  5439  	268, 408, 307, 353, 280, 282, 302, 309, 311, 313,
  5440  	314, 362, 363, 375, 396, 409, 410, 411, 306, 290,
  5441  	390, 291, 324, 292, 269, 298, 296, 299, 398, 300,
  5442  	271, 376, 415, 0, 319, 386, 349, 272, 348, 377,
  5443  	414, 413, 281, 440, 446, 447, 536, 0, 452, 616,
  5444  	617, 618, 461, 466, 467, 468, 470, 471, 472, 473,
  5445  	537, 554, 521, 491, 454, 545, 488, 492, 493, 557,
  5446  	0, 0, 0, 445, 338, 339, 0, 317, 265, 266,
  5447  	611, 303, 368, 559, 592, 484, 0, 546, 485, 494,
  5448  	295, 518, 530, 529, 364, 444, 0, 541, 544, 474,
  5449  	610, 0, 538, 553, 614, 552, 607, 374, 0, 395,
  5450  	550, 497, 0, 542, 516, 0, 543, 512, 547, 0,
  5451  	486, 0, 402, 426, 438, 455, 458, 487, 572, 573,
  5452  	574, 270, 457, 576, 577, 578, 579, 580, 581, 582,
  5453  	575, 429, 519, 496, 522, 437, 499, 498, 0, 0,
  5454  	533, 453, 534, 535, 358, 359, 360, 361, 321, 560,
  5455  	288, 456, 384, 0, 520, 0, 0, 0, 0, 0,
  5456  	0, 0, 0, 525, 526, 523, 619, 0, 583, 584,
  5457  	0, 0, 450, 451, 316, 323, 469, 325, 287, 373,
  5458  	318, 435, 332, 0, 462, 527, 463, 586, 589, 587,
  5459  	588, 365, 328, 329, 399, 333, 343, 387, 434, 371,
  5460  	392, 285, 425, 400, 347, 513, 540, 0, 0, 0,
  5461  	0, 0, 0, 0, 0, 0, 0, 0, 254, 0,
  5462  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5463  	0, 0, 0, 568, 567, 566, 565, 564, 563, 562,
  5464  	561, 0, 0, 510, 412, 297, 259, 293, 294, 301,
  5465  	608, 605, 416, 609, 0, 267, 490, 341, 0, 382,
  5466  	315, 555, 556, 0, 0, 215, 216, 217, 218, 219,
  5467  	220, 221, 222, 260, 223, 224, 225, 226, 227, 228,
  5468  	229, 232, 233, 234, 235, 236, 237, 238, 239, 558,
  5469  	230, 231, 240, 241, 242, 243, 244, 245, 246, 247,
  5470  	248, 249, 250, 251, 252, 253, 0, 0, 0, 261,
  5471  	262, 263, 264, 0, 0, 255, 256, 257, 258, 0,
  5472  	0, 0, 441, 442, 443, 465, 0, 427, 489, 606,
  5473  	0, 0, 0, 0, 0, 0, 0, 539, 551, 585,
  5474  	0, 594, 595, 597, 599, 598, 601, 0, 612, 480,
  5475  	481, 613, 591, 370, 0, 495, 528, 517, 600, 483,
  5476  	0, 0, 2710, 0, 0, 0, 0, 0, 0, 0,
  5477  	310, 0, 0, 340, 532, 514, 524, 515, 500, 501,
  5478  	502, 509, 320, 503, 504, 505, 475, 506, 476, 507,
  5479  	508, 0, 531, 482, 401, 354, 549, 548, 0, 0,
  5480  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5481  	0, 0, 0, 0, 0, 204, 0, 0, 0, 0,
  5482  	0, 0, 283, 205, 477, 596, 479, 478, 0, 0,
  5483  	0, 0, 0, 0, 0, 0, 0, 286, 0, 0,
  5484  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5485  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5486  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5487  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5488  	0, 0, 0, 0, 0, 0, 0, 0, 0, 273,
  5489  	406, 423, 284, 397, 436, 289, 404, 279, 369, 393,
  5490  	0, 0, 275, 421, 403, 351, 330, 331, 274, 0,
  5491  	388, 308, 322, 305, 367, 0, 420, 448, 304, 439,
  5492  	0, 431, 277, 0, 430, 366, 417, 422, 352, 346,
  5493  	276, 419, 350, 345, 334, 312, 464, 335, 336, 326,
  5494  	378, 344, 379, 327, 356, 355, 357, 0, 0, 0,
  5495  	0, 0, 459, 460, 0, 0, 0, 0, 0, 0,
  5496  	0, 0, 0, 0, 0, 0, 590, 0, 0, 593,
  5497  	0, 433, 0, 0, 0, 0, 0, 0, 405, 0,
  5498  	0, 337, 0, 0, 0, 449, 0, 391, 372, 615,
  5499  	0, 0, 389, 342, 418, 380, 424, 407, 432, 385,
  5500  	381, 268, 408, 307, 353, 280, 282, 302, 309, 311,
  5501  	313, 314, 362, 363, 375, 396, 409, 410, 411, 306,
  5502  	290, 390, 291, 324, 292, 269, 298, 296, 299, 398,
  5503  	300, 271, 376, 415, 0, 319, 386, 349, 272, 348,
  5504  	377, 414, 413, 281, 440, 446, 447, 536, 0, 452,
  5505  	616, 617, 618, 461, 466, 467, 468, 470, 471, 472,
  5506  	473, 537, 554, 521, 491, 454, 545, 488, 492, 493,
  5507  	557, 0, 0, 0, 445, 338, 339, 0, 317, 265,
  5508  	266, 611, 303, 368, 559, 592, 484, 0, 546, 485,
  5509  	494, 295, 518, 530, 529, 364, 444, 0, 541, 544,
  5510  	474, 610, 0, 538, 553, 614, 552, 607, 374, 0,
  5511  	395, 550, 497, 0, 542, 516, 0, 543, 512, 547,
  5512  	0, 486, 0, 402, 426, 438, 455, 458, 487, 572,
  5513  	573, 574, 270, 457, 576, 577, 578, 579, 580, 581,
  5514  	582, 575, 429, 519, 496, 522, 437, 499, 498, 0,
  5515  	0, 533, 453, 534, 535, 358, 359, 360, 361, 321,
  5516  	560, 288, 456, 384, 0, 520, 0, 0, 0, 0,
  5517  	0, 0, 0, 0, 525, 526, 523, 619, 0, 583,
  5518  	584, 0, 0, 450, 451, 316, 323, 469, 325, 287,
  5519  	373, 318, 435, 332, 0, 462, 527, 463, 586, 589,
  5520  	587, 588, 365, 328, 329, 399, 333, 343, 387, 434,
  5521  	371, 392, 285, 425, 400, 347, 513, 540, 0, 0,
  5522  	0, 0, 0, 0, 0, 0, 0, 0, 0, 254,
  5523  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5524  	0, 0, 0, 0, 568, 567, 566, 565, 564, 563,
  5525  	562, 561, 0, 0, 510, 412, 297, 259, 293, 294,
  5526  	301, 608, 605, 416, 609, 0, 267, 490, 341, 0,
  5527  	382, 315, 555, 556, 0, 0, 215, 216, 217, 218,
  5528  	219, 220, 221, 222, 260, 223, 224, 225, 226, 227,
  5529  	228, 229, 232, 233, 234, 235, 236, 237, 238, 239,
  5530  	558, 230, 231, 240, 241, 242, 243, 244, 245, 246,
  5531  	247, 248, 249, 250, 251, 252, 253, 0, 0, 0,
  5532  	261, 262, 263, 264, 0, 0, 255, 256, 257, 258,
  5533  	0, 0, 0, 441, 442, 443, 465, 0, 427, 489,
  5534  	606, 0, 0, 0, 0, 0, 0, 0, 539, 551,
  5535  	585, 0, 594, 595, 597, 599, 598, 601, 0, 612,
  5536  	480, 481, 613, 591, 370, 0, 495, 528, 517, 600,
  5537  	483, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5538  	0, 310, 0, 0, 340, 532, 514, 524, 515, 500,
  5539  	501, 502, 509, 320, 503, 504, 505, 475, 506, 476,
  5540  	507, 508, 0, 531, 482, 401, 354, 549, 548, 0,
  5541  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5542  	0, 0, 0, 0, 0, 0, 204, 0, 0, 0,
  5543  	0, 0, 0, 283, 205, 477, 596, 479, 478, 0,
  5544  	0, 0, 0, 0, 0, 0, 0, 0, 286, 0,
  5545  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5546  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5547  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5548  	0, 0, 0, 0, 2070, 0, 0, 0, 0, 0,
  5549  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5550  	273, 406, 423, 284, 397, 436, 289, 404, 279, 369,
  5551  	393, 0, 0, 275, 421, 403, 351, 330, 331, 274,
  5552  	0, 388, 308, 322, 305, 367, 0, 420, 448, 304,
  5553  	439, 0, 431, 277, 0, 430, 366, 417, 422, 352,
  5554  	346, 276, 419, 350, 345, 334, 312, 464, 335, 336,
  5555  	326, 378, 344, 379, 327, 356, 355, 357, 0, 0,
  5556  	0, 0, 0, 459, 460, 0, 0, 0, 0, 0,
  5557  	0, 0, 0, 0, 0, 0, 0, 590, 0, 0,
  5558  	593, 0, 433, 0, 0, 0, 0, 0, 0, 405,
  5559  	0, 0, 337, 0, 0, 0, 449, 0, 391, 372,
  5560  	615, 0, 0, 389, 342, 418, 380, 424, 407, 432,
  5561  	385, 381, 268, 408, 307, 353, 280, 282, 302, 309,
  5562  	311, 313, 314, 362, 363, 375, 396, 409, 410, 411,
  5563  	306, 290, 390, 291, 324, 292, 269, 298, 296, 299,
  5564  	398, 300, 271, 376, 415, 0, 319, 386, 349, 272,
  5565  	348, 377, 414, 413, 281, 440, 446, 447, 536, 0,
  5566  	452, 616, 617, 618, 461, 466, 467, 468, 470, 471,
  5567  	472, 473, 537, 554, 521, 491, 454, 545, 488, 492,
  5568  	493, 557, 0, 0, 0, 445, 338, 339, 0, 317,
  5569  	265, 266, 611, 303, 368, 559, 592, 484, 0, 546,
  5570  	485, 494, 295, 518, 530, 529, 364, 444, 0, 541,
  5571  	544, 474, 610, 0, 538, 553, 614, 552, 607, 374,
  5572  	0, 395, 550, 497, 0, 542, 516, 0, 543, 512,
  5573  	547, 0, 486, 0, 402, 426, 438, 455, 458, 487,
  5574  	572, 573, 574, 270, 457, 576, 577, 578, 579, 580,
  5575  	581, 582, 575, 429, 519, 496, 522, 437, 499, 498,
  5576  	0, 0, 533, 453, 534, 535, 358, 359, 360, 361,
  5577  	321, 560, 288, 456, 384, 0, 520, 0, 0, 0,
  5578  	0, 0, 0, 0, 0, 525, 526, 523, 619, 0,
  5579  	583, 584, 0, 0, 450, 451, 316, 323, 469, 325,
  5580  	287, 373, 318, 435, 332, 0, 462, 527, 463, 586,
  5581  	589, 587, 588, 365, 328, 329, 399, 333, 343, 387,
  5582  	434, 371, 392, 285, 425, 400, 347, 513, 540, 0,
  5583  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5584  	254, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5585  	0, 0, 0, 0, 0, 568, 567, 566, 565, 564,
  5586  	563, 562, 561, 0, 0, 510, 412, 297, 259, 293,
  5587  	294, 301, 608, 605, 416, 609, 0, 267, 490, 341,
  5588  	0, 382, 315, 555, 556, 0, 0, 215, 216, 217,
  5589  	218, 219, 220, 221, 222, 260, 223, 224, 225, 226,
  5590  	227, 228, 229, 232, 233, 234, 235, 236, 237, 238,
  5591  	239, 558, 230, 231, 240, 241, 242, 243, 244, 245,
  5592  	246, 247, 248, 249, 250, 251, 252, 253, 0, 0,
  5593  	0, 261, 262, 263, 264, 0, 0, 255, 256, 257,
  5594  	258, 0, 0, 0, 441, 442, 443, 465, 0, 427,
  5595  	489, 606, 0, 0, 0, 0, 0, 0, 0, 539,
  5596  	551, 585, 0, 594, 595, 597, 599, 598, 601, 0,
  5597  	612, 480, 481, 613, 591, 370, 0, 495, 528, 517,
  5598  	600, 483, 0, 0, 0, 0, 0, 0, 0, 0,
  5599  	0, 0, 310, 0, 0, 340, 532, 514, 524, 515,
  5600  	500, 501, 502, 509, 320, 503, 504, 505, 475, 506,
  5601  	476, 507, 508, 0, 531, 482, 401, 354, 549, 548,
  5602  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5603  	0, 0, 0, 0, 0, 0, 0, 204, 0, 0,
  5604  	0, 0, 0, 0, 283, 205, 477, 596, 479, 478,
  5605  	0, 0, 0, 0, 0, 0, 0, 0, 0, 286,
  5606  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5607  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5608  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5609  	0, 0, 0, 0, 0, 2442, 0, 0, 0, 0,
  5610  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5611  	0, 273, 406, 423, 284, 397, 436, 289, 404, 279,
  5612  	369, 393, 0, 0, 275, 421, 403, 351, 330, 331,
  5613  	274, 0, 388, 308, 322, 305, 367, 0, 420, 448,
  5614  	304, 439, 0, 431, 277, 0, 430, 366, 417, 422,
  5615  	352, 346, 276, 419, 350, 345, 334, 312, 464, 335,
  5616  	336, 326, 378, 344, 379, 327, 356, 355, 357, 0,
  5617  	0, 0, 0, 0, 459, 460, 0, 0, 0, 0,
  5618  	0, 0, 0, 0, 0, 0, 0, 0, 590, 0,
  5619  	0, 593, 0, 433, 0, 0, 0, 0, 0, 0,
  5620  	405, 0, 0, 337, 0, 0, 0, 449, 0, 391,
  5621  	372, 615, 0, 0, 389, 342, 418, 380, 424, 407,
  5622  	432, 385, 381, 268, 408, 307, 353, 280, 282, 302,
  5623  	309, 311, 313, 314, 362, 363, 375, 396, 409, 410,
  5624  	411, 306, 290, 390, 291, 324, 292, 269, 298, 296,
  5625  	299, 398, 300, 271, 376, 415, 0, 319, 386, 349,
  5626  	272, 348, 377, 414, 413, 281, 440, 446, 447, 536,
  5627  	0, 452, 616, 617, 618, 461, 466, 467, 468, 470,
  5628  	471, 472, 473, 537, 554, 521, 491, 454, 545, 488,
  5629  	492, 493, 557, 0, 0, 0, 445, 338, 339, 0,
  5630  	317, 265, 266, 611, 303, 368, 559, 592, 484, 0,
  5631  	546, 485, 494, 295, 518, 530, 529, 364, 444, 0,
  5632  	541, 544, 474, 610, 0, 538, 553, 614, 552, 607,
  5633  	374, 0, 395, 550, 497, 0, 542, 516, 0, 543,
  5634  	512, 547, 0, 486, 0, 402, 426, 438, 455, 458,
  5635  	487, 572, 573, 574, 270, 457, 576, 577, 578, 579,
  5636  	580, 581, 582, 575, 429, 519, 496, 522, 437, 499,
  5637  	498, 0, 0, 533, 453, 534, 535, 358, 359, 360,
  5638  	361, 321, 560, 288, 456, 384, 0, 520, 0, 0,
  5639  	0, 0, 0, 0, 0, 0, 525, 526, 523, 619,
  5640  	0, 583, 584, 0, 0, 450, 451, 316, 323, 469,
  5641  	325, 287, 373, 318, 435, 332, 0, 462, 527, 463,
  5642  	586, 589, 587, 588, 365, 328, 329, 399, 333, 343,
  5643  	387, 434, 371, 392, 285, 425, 400, 347, 513, 540,
  5644  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5645  	0, 254, 0, 0, 0, 0, 0, 0, 0, 0,
  5646  	0, 0, 0, 0, 0, 0, 568, 567, 566, 565,
  5647  	564, 563, 562, 561, 0, 0, 510, 412, 297, 259,
  5648  	293, 294, 301, 608, 605, 416, 609, 0, 267, 490,
  5649  	341, 0, 382, 315, 555, 556, 0, 0, 215, 216,
  5650  	217, 218, 219, 220, 221, 222, 260, 223, 224, 225,
  5651  	226, 227, 228, 229, 232, 233, 234, 235, 236, 237,
  5652  	238, 239, 558, 230, 231, 240, 241, 242, 243, 244,
  5653  	245, 246, 247, 248, 249, 250, 251, 252, 253, 0,
  5654  	0, 0, 261, 262, 263, 264, 0, 0, 255, 256,
  5655  	257, 258, 0, 0, 0, 441, 442, 443, 465, 0,
  5656  	427, 489, 606, 0, 0, 0, 0, 0, 0, 0,
  5657  	539, 551, 585, 0, 594, 595, 597, 599, 598, 601,
  5658  	0, 612, 480, 481, 613, 591, 370, 0, 495, 528,
  5659  	517, 600, 483, 0, 0, 0, 0, 0, 0, 0,
  5660  	0, 0, 0, 310, 0, 0, 340, 532, 514, 524,
  5661  	515, 500, 501, 502, 509, 320, 503, 504, 505, 475,
  5662  	506, 476, 507, 508, 0, 531, 482, 401, 354, 549,
  5663  	548, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5664  	0, 0, 0, 0, 0, 0, 0, 0, 204, 0,
  5665  	0, 2440, 0, 0, 0, 283, 205, 477, 596, 479,
  5666  	478, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5667  	286, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5668  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5669  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5670  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5671  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5672  	0, 0, 273, 406, 423, 284, 397, 436, 289, 404,
  5673  	279, 369, 393, 0, 0, 275, 421, 403, 351, 330,
  5674  	331, 274, 0, 388, 308, 322, 305, 367, 0, 420,
  5675  	448, 304, 439, 0, 431, 277, 0, 430, 366, 417,
  5676  	422, 352, 346, 276, 419, 350, 345, 334, 312, 464,
  5677  	335, 336, 326, 378, 344, 379, 327, 356, 355, 357,
  5678  	0, 0, 0, 0, 0, 459, 460, 0, 0, 0,
  5679  	0, 0, 0, 0, 0, 0, 0, 0, 0, 590,
  5680  	0, 0, 593, 0, 433, 0, 0, 0, 0, 0,
  5681  	0, 405, 0, 0, 337, 0, 0, 0, 449, 0,
  5682  	391, 372, 615, 0, 0, 389, 342, 418, 380, 424,
  5683  	407, 432, 385, 381, 268, 408, 307, 353, 280, 282,
  5684  	302, 309, 311, 313, 314, 362, 363, 375, 396, 409,
  5685  	410, 411, 306, 290, 390, 291, 324, 292, 269, 298,
  5686  	296, 299, 398, 300, 271, 376, 415, 0, 319, 386,
  5687  	349, 272, 348, 377, 414, 413, 281, 440, 446, 447,
  5688  	536, 0, 452, 616, 617, 618, 461, 466, 467, 468,
  5689  	470, 471, 472, 473, 537, 554, 521, 491, 454, 545,
  5690  	488, 492, 493, 557, 0, 0, 0, 445, 338, 339,
  5691  	0, 317, 265, 266, 611, 303, 368, 559, 592, 484,
  5692  	0, 546, 485, 494, 295, 518, 530, 529, 364, 444,
  5693  	0, 541, 544, 474, 610, 0, 538, 553, 614, 552,
  5694  	607, 374, 0, 395, 550, 497, 0, 542, 516, 0,
  5695  	543, 512, 547, 0, 486, 0, 402, 426, 438, 455,
  5696  	458, 487, 572, 573, 574, 270, 457, 576, 577, 578,
  5697  	579, 580, 581, 582, 575, 429, 519, 496, 522, 437,
  5698  	499, 498, 0, 0, 533, 453, 534, 535, 358, 359,
  5699  	360, 361, 321, 560, 288, 456, 384, 0, 520, 0,
  5700  	0, 0, 0, 0, 0, 0, 0, 525, 526, 523,
  5701  	619, 0, 583, 584, 0, 0, 450, 451, 316, 323,
  5702  	469, 325, 287, 373, 318, 435, 332, 0, 462, 527,
  5703  	463, 586, 589, 587, 588, 365, 328, 329, 399, 333,
  5704  	343, 387, 434, 371, 392, 285, 425, 400, 347, 513,
  5705  	540, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5706  	0, 0, 254, 0, 0, 0, 0, 0, 0, 0,
  5707  	0, 0, 0, 0, 0, 0, 0, 568, 567, 566,
  5708  	565, 564, 563, 562, 561, 0, 0, 510, 412, 297,
  5709  	259, 293, 294, 301, 608, 605, 416, 609, 0, 267,
  5710  	490, 341, 0, 382, 315, 555, 556, 0, 0, 215,
  5711  	216, 217, 218, 219, 220, 221, 222, 260, 223, 224,
  5712  	225, 226, 227, 228, 229, 232, 233, 234, 235, 236,
  5713  	237, 238, 239, 558, 230, 231, 240, 241, 242, 243,
  5714  	244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
  5715  	0, 0, 0, 261, 262, 263, 264, 0, 0, 255,
  5716  	256, 257, 258, 0, 0, 0, 441, 442, 443, 465,
  5717  	0, 427, 489, 606, 0, 0, 0, 0, 0, 0,
  5718  	0, 539, 551, 585, 0, 594, 595, 597, 599, 598,
  5719  	601, 2226, 612, 480, 481, 613, 591, 370, 0, 495,
  5720  	528, 517, 600, 483, 0, 0, 0, 0, 0, 0,
  5721  	0, 0, 0, 0, 310, 0, 0, 340, 532, 514,
  5722  	524, 515, 500, 501, 502, 509, 320, 503, 504, 505,
  5723  	475, 506, 476, 507, 508, 0, 531, 482, 401, 354,
  5724  	549, 548, 0, 0, 0, 0, 0, 0, 0, 0,
  5725  	0, 0, 0, 0, 0, 0, 0, 0, 0, 204,
  5726  	0, 0, 0, 0, 0, 0, 283, 205, 477, 596,
  5727  	479, 478, 0, 0, 0, 0, 0, 0, 0, 0,
  5728  	0, 286, 0, 0, 0, 0, 0, 0, 0, 0,
  5729  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5730  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5731  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5732  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5733  	0, 0, 0, 273, 406, 423, 284, 397, 436, 289,
  5734  	404, 279, 369, 393, 0, 0, 275, 421, 403, 351,
  5735  	330, 331, 274, 0, 388, 308, 322, 305, 367, 0,
  5736  	420, 448, 304, 439, 0, 431, 277, 0, 430, 366,
  5737  	417, 422, 352, 346, 276, 419, 350, 345, 334, 312,
  5738  	464, 335, 336, 326, 378, 344, 379, 327, 356, 355,
  5739  	357, 0, 0, 0, 0, 0, 459, 460, 0, 0,
  5740  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5741  	590, 0, 0, 593, 0, 433, 0, 0, 0, 0,
  5742  	0, 0, 405, 0, 0, 337, 0, 0, 0, 449,
  5743  	0, 391, 372, 615, 0, 0, 389, 342, 418, 380,
  5744  	424, 407, 432, 385, 381, 268, 408, 307, 353, 280,
  5745  	282, 302, 309, 311, 313, 314, 362, 363, 375, 396,
  5746  	409, 410, 411, 306, 290, 390, 291, 324, 292, 269,
  5747  	298, 296, 299, 398, 300, 271, 376, 415, 0, 319,
  5748  	386, 349, 272, 348, 377, 414, 413, 281, 440, 446,
  5749  	447, 536, 0, 452, 616, 617, 618, 461, 466, 467,
  5750  	468, 470, 471, 472, 473, 537, 554, 521, 491, 454,
  5751  	545, 488, 492, 493, 557, 0, 0, 0, 445, 338,
  5752  	339, 0, 317, 265, 266, 611, 303, 368, 559, 592,
  5753  	484, 0, 546, 485, 494, 295, 518, 530, 529, 364,
  5754  	444, 0, 541, 544, 474, 610, 0, 538, 553, 614,
  5755  	552, 607, 374, 0, 395, 550, 497, 0, 542, 516,
  5756  	0, 543, 512, 547, 0, 486, 0, 402, 426, 438,
  5757  	455, 458, 487, 572, 573, 574, 270, 457, 576, 577,
  5758  	578, 579, 580, 581, 582, 575, 429, 519, 496, 522,
  5759  	437, 499, 498, 0, 0, 533, 453, 534, 535, 358,
  5760  	359, 360, 361, 321, 560, 288, 456, 384, 0, 520,
  5761  	0, 0, 0, 0, 0, 0, 0, 0, 525, 526,
  5762  	523, 619, 0, 583, 584, 0, 0, 450, 451, 316,
  5763  	323, 469, 325, 287, 373, 318, 435, 332, 0, 462,
  5764  	527, 463, 586, 589, 587, 588, 365, 328, 329, 399,
  5765  	333, 343, 387, 434, 371, 392, 285, 425, 400, 347,
  5766  	513, 540, 0, 0, 0, 0, 0, 0, 0, 0,
  5767  	0, 0, 0, 254, 0, 0, 0, 0, 0, 0,
  5768  	0, 0, 0, 0, 0, 0, 0, 0, 568, 567,
  5769  	566, 565, 564, 563, 562, 561, 0, 0, 510, 412,
  5770  	297, 259, 293, 294, 301, 608, 605, 416, 609, 0,
  5771  	267, 490, 341, 0, 382, 315, 555, 556, 0, 0,
  5772  	215, 216, 217, 218, 219, 220, 221, 222, 260, 223,
  5773  	224, 225, 226, 227, 228, 229, 232, 233, 234, 235,
  5774  	236, 237, 238, 239, 558, 230, 231, 240, 241, 242,
  5775  	243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
  5776  	253, 0, 0, 0, 261, 262, 263, 264, 0, 0,
  5777  	255, 256, 257, 258, 0, 0, 0, 441, 442, 443,
  5778  	465, 0, 427, 489, 606, 0, 0, 0, 0, 0,
  5779  	0, 0, 539, 551, 585, 0, 594, 595, 597, 599,
  5780  	598, 601, 0, 612, 480, 481, 613, 591, 370, 0,
  5781  	495, 528, 517, 600, 483, 0, 0, 0, 0, 0,
  5782  	0, 0, 0, 0, 0, 310, 0, 0, 340, 532,
  5783  	514, 524, 515, 500, 501, 502, 509, 320, 503, 504,
  5784  	505, 475, 506, 476, 507, 508, 0, 531, 482, 401,
  5785  	354, 549, 548, 0, 0, 0, 0, 0, 0, 0,
  5786  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5787  	204, 0, 0, 0, 1791, 0, 0, 283, 205, 477,
  5788  	596, 479, 478, 0, 0, 0, 0, 0, 0, 0,
  5789  	0, 0, 286, 0, 0, 0, 0, 0, 0, 0,
  5790  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5791  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5792  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5793  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5794  	0, 0, 0, 0, 273, 406, 423, 284, 397, 436,
  5795  	289, 404, 279, 369, 393, 0, 0, 275, 421, 403,
  5796  	351, 330, 331, 274, 0, 388, 308, 322, 305, 367,
  5797  	0, 420, 448, 304, 439, 0, 431, 277, 0, 430,
  5798  	366, 417, 422, 352, 346, 276, 419, 350, 345, 334,
  5799  	312, 464, 335, 336, 326, 378, 344, 379, 327, 356,
  5800  	355, 357, 0, 0, 0, 0, 0, 459, 460, 0,
  5801  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5802  	0, 590, 0, 0, 593, 0, 433, 0, 0, 0,
  5803  	0, 0, 0, 405, 0, 0, 337, 0, 0, 0,
  5804  	449, 0, 391, 372, 615, 0, 0, 389, 342, 418,
  5805  	380, 424, 407, 432, 385, 381, 268, 408, 307, 353,
  5806  	280, 282, 302, 309, 311, 313, 314, 362, 363, 375,
  5807  	396, 409, 410, 411, 306, 290, 390, 291, 324, 292,
  5808  	269, 298, 296, 299, 398, 300, 271, 376, 415, 0,
  5809  	319, 386, 349, 272, 348, 377, 414, 413, 281, 440,
  5810  	446, 447, 536, 0, 452, 616, 617, 618, 461, 466,
  5811  	467, 468, 470, 471, 472, 473, 537, 554, 521, 491,
  5812  	454, 545, 488, 492, 493, 557, 0, 0, 0, 445,
  5813  	338, 339, 0, 317, 265, 266, 611, 303, 368, 559,
  5814  	592, 484, 0, 546, 485, 494, 295, 518, 530, 529,
  5815  	364, 444, 0, 541, 544, 474, 610, 0, 538, 553,
  5816  	614, 552, 607, 374, 0, 395, 550, 497, 0, 542,
  5817  	516, 0, 543, 512, 547, 0, 486, 0, 402, 426,
  5818  	438, 455, 458, 487, 572, 573, 574, 270, 457, 576,
  5819  	577, 578, 579, 580, 581, 582, 575, 429, 519, 496,
  5820  	522, 437, 499, 498, 0, 0, 533, 453, 534, 535,
  5821  	358, 359, 360, 361, 321, 560, 288, 456, 384, 0,
  5822  	520, 0, 0, 0, 0, 0, 0, 0, 0, 525,
  5823  	526, 523, 619, 0, 583, 584, 0, 0, 450, 451,
  5824  	316, 323, 469, 325, 287, 373, 318, 435, 332, 0,
  5825  	462, 527, 463, 586, 589, 587, 588, 365, 328, 329,
  5826  	399, 333, 343, 387, 434, 371, 392, 285, 425, 400,
  5827  	347, 513, 540, 0, 0, 0, 0, 0, 0, 0,
  5828  	0, 0, 0, 0, 254, 0, 0, 0, 0, 0,
  5829  	0, 0, 0, 0, 0, 0, 0, 0, 0, 568,
  5830  	567, 566, 565, 564, 563, 562, 561, 0, 0, 510,
  5831  	412, 297, 259, 293, 294, 301, 608, 605, 416, 609,
  5832  	0, 267, 490, 341, 0, 382, 315, 555, 556, 0,
  5833  	0, 215, 216, 217, 218, 219, 220, 221, 222, 260,
  5834  	223, 224, 225, 226, 227, 228, 229, 232, 233, 234,
  5835  	235, 236, 237, 238, 239, 558, 230, 231, 240, 241,
  5836  	242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
  5837  	252, 253, 0, 0, 0, 261, 262, 263, 264, 0,
  5838  	0, 255, 256, 257, 258, 0, 0, 0, 441, 442,
  5839  	443, 465, 0, 427, 489, 606, 0, 0, 0, 0,
  5840  	0, 0, 0, 539, 551, 585, 0, 594, 595, 597,
  5841  	599, 598, 601, 0, 612, 480, 481, 613, 591, 370,
  5842  	0, 495, 528, 517, 600, 483, 0, 1918, 0, 0,
  5843  	0, 0, 0, 0, 0, 0, 310, 0, 0, 340,
  5844  	532, 514, 524, 515, 500, 501, 502, 509, 320, 503,
  5845  	504, 505, 475, 506, 476, 507, 508, 0, 531, 482,
  5846  	401, 354, 549, 548, 0, 0, 0, 0, 0, 0,
  5847  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5848  	0, 204, 0, 0, 0, 0, 0, 0, 283, 205,
  5849  	477, 596, 479, 478, 0, 0, 0, 0, 0, 0,
  5850  	0, 0, 0, 286, 0, 0, 0, 0, 0, 0,
  5851  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5852  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5853  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5854  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5855  	0, 0, 0, 0, 0, 273, 406, 423, 284, 397,
  5856  	436, 289, 404, 279, 369, 393, 0, 0, 275, 421,
  5857  	403, 351, 330, 331, 274, 0, 388, 308, 322, 305,
  5858  	367, 0, 420, 448, 304, 439, 0, 431, 277, 0,
  5859  	430, 366, 417, 422, 352, 346, 276, 419, 350, 345,
  5860  	334, 312, 464, 335, 336, 326, 378, 344, 379, 327,
  5861  	356, 355, 357, 0, 0, 0, 0, 0, 459, 460,
  5862  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5863  	0, 0, 590, 0, 0, 593, 0, 433, 0, 0,
  5864  	0, 0, 0, 0, 405, 0, 0, 337, 0, 0,
  5865  	0, 449, 0, 391, 372, 615, 0, 0, 389, 342,
  5866  	418, 380, 424, 407, 432, 385, 381, 268, 408, 307,
  5867  	353, 280, 282, 302, 309, 311, 313, 314, 362, 363,
  5868  	375, 396, 409, 410, 411, 306, 290, 390, 291, 324,
  5869  	292, 269, 298, 296, 299, 398, 300, 271, 376, 415,
  5870  	0, 319, 386, 349, 272, 348, 377, 414, 413, 281,
  5871  	440, 446, 447, 536, 0, 452, 616, 617, 618, 461,
  5872  	466, 467, 468, 470, 471, 472, 473, 537, 554, 521,
  5873  	491, 454, 545, 488, 492, 493, 557, 0, 0, 0,
  5874  	445, 338, 339, 0, 317, 265, 266, 611, 303, 368,
  5875  	559, 592, 484, 0, 546, 485, 494, 295, 518, 530,
  5876  	529, 364, 444, 0, 541, 544, 474, 610, 0, 538,
  5877  	553, 614, 552, 607, 374, 0, 395, 550, 497, 0,
  5878  	542, 516, 0, 543, 512, 547, 0, 486, 0, 402,
  5879  	426, 438, 455, 458, 487, 572, 573, 574, 270, 457,
  5880  	576, 577, 578, 579, 580, 581, 582, 575, 429, 519,
  5881  	496, 522, 437, 499, 498, 0, 0, 533, 453, 534,
  5882  	535, 358, 359, 360, 361, 321, 560, 288, 456, 384,
  5883  	0, 520, 0, 0, 0, 0, 0, 0, 0, 0,
  5884  	525, 526, 523, 619, 0, 583, 584, 0, 0, 450,
  5885  	451, 316, 323, 469, 325, 287, 373, 318, 435, 332,
  5886  	0, 462, 527, 463, 586, 589, 587, 588, 365, 328,
  5887  	329, 399, 333, 343, 387, 434, 371, 392, 285, 425,
  5888  	400, 347, 513, 540, 0, 0, 0, 0, 0, 0,
  5889  	0, 0, 0, 0, 0, 254, 0, 0, 0, 0,
  5890  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5891  	568, 567, 566, 565, 564, 563, 562, 561, 0, 0,
  5892  	510, 412, 297, 259, 293, 294, 301, 608, 605, 416,
  5893  	609, 0, 267, 490, 341, 0, 382, 315, 555, 556,
  5894  	0, 0, 215, 216, 217, 218, 219, 220, 221, 222,
  5895  	260, 223, 224, 225, 226, 227, 228, 229, 232, 233,
  5896  	234, 235, 236, 237, 238, 239, 558, 230, 231, 240,
  5897  	241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
  5898  	251, 252, 253, 0, 0, 0, 261, 262, 263, 264,
  5899  	0, 0, 255, 256, 257, 258, 0, 0, 0, 441,
  5900  	442, 443, 465, 0, 427, 489, 606, 0, 0, 0,
  5901  	0, 0, 0, 0, 539, 551, 585, 0, 594, 595,
  5902  	597, 599, 598, 601, 0, 612, 480, 481, 613, 591,
  5903  	370, 0, 495, 528, 517, 600, 483, 0, 0, 0,
  5904  	0, 0, 0, 0, 0, 0, 0, 310, 0, 0,
  5905  	340, 532, 514, 524, 515, 500, 501, 502, 509, 320,
  5906  	503, 504, 505, 475, 506, 476, 507, 508, 0, 531,
  5907  	482, 401, 354, 549, 548, 0, 0, 0, 0, 0,
  5908  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5909  	0, 0, 204, 0, 0, 1448, 0, 0, 0, 283,
  5910  	205, 477, 596, 479, 478, 0, 0, 0, 0, 0,
  5911  	0, 0, 0, 0, 286, 0, 0, 0, 0, 0,
  5912  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5913  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5914  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5915  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5916  	0, 0, 0, 0, 0, 0, 273, 406, 423, 284,
  5917  	397, 436, 289, 404, 279, 369, 393, 0, 0, 275,
  5918  	421, 403, 351, 330, 331, 274, 0, 388, 308, 322,
  5919  	305, 367, 0, 420, 448, 304, 439, 0, 431, 277,
  5920  	0, 430, 366, 417, 422, 352, 346, 276, 419, 350,
  5921  	345, 334, 312, 464, 335, 336, 326, 378, 344, 379,
  5922  	327, 356, 355, 357, 0, 0, 0, 0, 0, 459,
  5923  	460, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5924  	0, 0, 0, 590, 0, 0, 593, 0, 433, 0,
  5925  	0, 0, 0, 0, 0, 405, 0, 0, 337, 0,
  5926  	0, 0, 449, 0, 391, 372, 615, 0, 0, 389,
  5927  	342, 418, 380, 424, 407, 432, 1824, 381, 268, 408,
  5928  	307, 353, 280, 282, 302, 309, 311, 313, 314, 362,
  5929  	363, 375, 396, 409, 410, 411, 306, 290, 390, 291,
  5930  	324, 292, 269, 298, 296, 299, 398, 300, 271, 376,
  5931  	415, 0, 319, 386, 349, 272, 348, 377, 414, 413,
  5932  	281, 440, 446, 447, 536, 0, 452, 616, 617, 618,
  5933  	461, 466, 467, 468, 470, 471, 472, 473, 537, 554,
  5934  	521, 491, 454, 545, 488, 492, 493, 557, 0, 0,
  5935  	0, 445, 338, 339, 0, 317, 265, 266, 611, 303,
  5936  	368, 559, 592, 484, 0, 546, 485, 494, 295, 518,
  5937  	530, 529, 364, 444, 0, 541, 544, 474, 610, 0,
  5938  	538, 553, 614, 552, 607, 374, 0, 395, 550, 497,
  5939  	0, 542, 516, 0, 543, 512, 547, 0, 486, 0,
  5940  	402, 426, 438, 455, 458, 487, 572, 573, 574, 270,
  5941  	457, 576, 577, 578, 579, 580, 581, 582, 575, 429,
  5942  	519, 496, 522, 437, 499, 498, 0, 0, 533, 453,
  5943  	534, 535, 358, 359, 360, 361, 321, 560, 288, 456,
  5944  	384, 0, 520, 0, 0, 0, 0, 0, 0, 0,
  5945  	0, 525, 526, 523, 619, 0, 583, 584, 0, 0,
  5946  	450, 451, 316, 323, 469, 325, 287, 373, 318, 435,
  5947  	332, 0, 462, 527, 463, 586, 589, 587, 588, 365,
  5948  	328, 329, 399, 333, 343, 387, 434, 371, 392, 285,
  5949  	425, 400, 347, 513, 540, 0, 0, 0, 0, 0,
  5950  	0, 0, 0, 0, 0, 0, 254, 0, 0, 0,
  5951  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5952  	0, 568, 567, 566, 565, 564, 563, 562, 561, 0,
  5953  	0, 510, 412, 297, 259, 293, 294, 301, 608, 605,
  5954  	416, 609, 0, 267, 490, 341, 0, 382, 315, 555,
  5955  	556, 0, 0, 215, 216, 217, 218, 219, 220, 221,
  5956  	222, 260, 223, 224, 225, 226, 227, 228, 229, 232,
  5957  	233, 234, 235, 236, 237, 238, 239, 558, 230, 231,
  5958  	240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
  5959  	250, 251, 252, 253, 0, 0, 0, 261, 262, 263,
  5960  	264, 0, 0, 255, 256, 257, 258, 0, 0, 0,
  5961  	441, 442, 443, 465, 0, 427, 489, 606, 0, 0,
  5962  	0, 0, 0, 0, 0, 539, 551, 585, 0, 594,
  5963  	595, 597, 599, 598, 601, 0, 612, 480, 481, 613,
  5964  	591, 370, 0, 495, 528, 517, 600, 483, 0, 0,
  5965  	0, 0, 0, 0, 0, 0, 0, 0, 310, 0,
  5966  	0, 340, 532, 514, 524, 515, 500, 501, 502, 509,
  5967  	320, 503, 504, 505, 475, 506, 476, 507, 508, 0,
  5968  	531, 482, 401, 354, 549, 548, 0, 0, 0, 0,
  5969  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5970  	0, 0, 0, 204, 0, 0, 0, 0, 0, 0,
  5971  	283, 205, 477, 596, 479, 478, 0, 0, 0, 0,
  5972  	0, 0, 0, 0, 0, 286, 0, 0, 0, 0,
  5973  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5974  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5975  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5976  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5977  	0, 0, 0, 0, 0, 0, 0, 273, 406, 423,
  5978  	284, 397, 436, 289, 404, 279, 369, 393, 0, 0,
  5979  	275, 421, 403, 351, 330, 331, 274, 0, 388, 308,
  5980  	322, 305, 367, 0, 420, 448, 304, 439, 0, 431,
  5981  	277, 0, 430, 366, 417, 422, 352, 346, 276, 419,
  5982  	350, 345, 334, 312, 464, 335, 336, 326, 378, 344,
  5983  	379, 327, 356, 355, 357, 0, 0, 0, 0, 0,
  5984  	459, 460, 0, 0, 0, 0, 0, 0, 0, 0,
  5985  	0, 0, 0, 0, 590, 0, 0, 593, 0, 433,
  5986  	0, 0, 1478, 0, 0, 0, 405, 0, 0, 337,
  5987  	0, 0, 0, 449, 0, 391, 372, 615, 0, 0,
  5988  	389, 342, 418, 380, 424, 407, 432, 385, 381, 268,
  5989  	408, 307, 353, 280, 282, 302, 309, 311, 313, 314,
  5990  	362, 363, 375, 396, 409, 410, 411, 306, 290, 390,
  5991  	291, 324, 292, 269, 298, 296, 299, 398, 300, 271,
  5992  	376, 415, 0, 319, 386, 349, 272, 348, 377, 414,
  5993  	413, 281, 440, 446, 447, 536, 0, 452, 616, 617,
  5994  	618, 461, 466, 467, 468, 470, 471, 472, 473, 537,
  5995  	554, 521, 491, 454, 545, 488, 492, 493, 557, 0,
  5996  	0, 0, 445, 338, 339, 0, 317, 265, 266, 611,
  5997  	303, 368, 559, 592, 484, 0, 546, 485, 494, 295,
  5998  	518, 530, 529, 364, 444, 0, 541, 544, 474, 610,
  5999  	0, 538, 553, 614, 552, 607, 374, 0, 395, 550,
  6000  	497, 0, 542, 516, 0, 543, 512, 547, 0, 486,
  6001  	0, 402, 426, 438, 455, 458, 487, 572, 573, 574,
  6002  	270, 457, 576, 577, 578, 579, 580, 581, 582, 575,
  6003  	429, 519, 496, 522, 437, 499, 498, 0, 0, 533,
  6004  	453, 534, 535, 358, 359, 360, 361, 321, 560, 288,
  6005  	456, 384, 0, 520, 0, 0, 0, 0, 0, 0,
  6006  	0, 0, 525, 526, 523, 619, 0, 583, 584, 0,
  6007  	0, 450, 451, 316, 323, 469, 325, 287, 373, 318,
  6008  	435, 332, 0, 462, 527, 463, 586, 589, 587, 588,
  6009  	365, 328, 329, 399, 333, 343, 387, 434, 371, 392,
  6010  	285, 425, 400, 347, 513, 540, 0, 0, 0, 0,
  6011  	0, 0, 0, 0, 0, 0, 0, 254, 0, 0,
  6012  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6013  	0, 0, 568, 567, 566, 565, 564, 563, 562, 561,
  6014  	0, 0, 510, 412, 297, 259, 293, 294, 301, 608,
  6015  	605, 416, 609, 0, 267, 490, 341, 0, 382, 315,
  6016  	555, 556, 0, 0, 215, 216, 217, 218, 219, 220,
  6017  	221, 222, 260, 223, 224, 225, 226, 227, 228, 229,
  6018  	232, 233, 234, 235, 236, 237, 238, 239, 558, 230,
  6019  	231, 240, 241, 242, 243, 244, 245, 246, 247, 248,
  6020  	249, 250, 251, 252, 253, 0, 0, 0, 261, 262,
  6021  	263, 264, 0, 0, 255, 256, 257, 258, 0, 0,
  6022  	0, 441, 442, 443, 465, 0, 427, 489, 606, 0,
  6023  	0, 0, 0, 0, 0, 0, 539, 551, 585, 0,
  6024  	594, 595, 597, 599, 598, 601, 0, 612, 480, 481,
  6025  	613, 591, 370, 0, 495, 528, 517, 600, 483, 0,
  6026  	0, 0, 0, 0, 0, 0, 0, 0, 626, 310,
  6027  	0, 0, 340, 532, 514, 524, 515, 500, 501, 502,
  6028  	509, 320, 503, 504, 505, 475, 506, 476, 507, 508,
  6029  	0, 531, 482, 401, 354, 549, 548, 0, 0, 0,
  6030  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6031  	0, 0, 0, 0, 204, 0, 0, 0, 0, 0,
  6032  	0, 283, 205, 477, 596, 479, 478, 0, 0, 0,
  6033  	0, 0, 0, 0, 0, 0, 286, 0, 0, 0,
  6034  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6035  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6036  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6037  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6038  	0, 0, 0, 0, 0, 0, 0, 0, 273, 406,
  6039  	423, 284, 397, 436, 289, 404, 279, 369, 393, 0,
  6040  	0, 275, 421, 403, 351, 330, 331, 274, 0, 388,
  6041  	308, 322, 305, 367, 0, 420, 448, 304, 439, 0,
  6042  	431, 277, 0, 430, 366, 417, 422, 352, 346, 276,
  6043  	419, 350, 345, 334, 312, 464, 335, 336, 326, 378,
  6044  	344, 379, 327, 356, 355, 357, 0, 0, 0, 0,
  6045  	0, 459, 460, 0, 0, 0, 0, 0, 0, 0,
  6046  	0, 0, 0, 0, 0, 590, 0, 0, 593, 0,
  6047  	433, 0, 0, 0, 0, 0, 0, 405, 0, 0,
  6048  	337, 0, 0, 0, 449, 0, 391, 372, 615, 0,
  6049  	0, 389, 342, 418, 380, 424, 407, 432, 385, 381,
  6050  	268, 408, 307, 353, 280, 282, 302, 309, 311, 313,
  6051  	314, 362, 363, 375, 396, 409, 410, 411, 306, 290,
  6052  	390, 291, 324, 292, 269, 298, 296, 299, 398, 300,
  6053  	271, 376, 415, 0, 319, 386, 349, 272, 348, 377,
  6054  	414, 413, 281, 440, 446, 447, 536, 0, 452, 616,
  6055  	617, 618, 461, 466, 467, 468, 470, 471, 472, 473,
  6056  	537, 554, 521, 491, 454, 545, 488, 492, 493, 557,
  6057  	0, 0, 0, 445, 338, 339, 0, 317, 265, 266,
  6058  	611, 303, 368, 559, 592, 484, 0, 546, 485, 494,
  6059  	295, 518, 530, 529, 364, 444, 0, 541, 544, 474,
  6060  	610, 0, 538, 553, 614, 552, 607, 374, 0, 395,
  6061  	550, 497, 0, 542, 516, 0, 543, 512, 547, 0,
  6062  	486, 0, 402, 426, 438, 455, 458, 487, 572, 573,
  6063  	574, 270, 457, 576, 577, 578, 579, 580, 581, 582,
  6064  	575, 429, 519, 496, 522, 437, 499, 498, 0, 0,
  6065  	533, 453, 534, 535, 358, 359, 360, 361, 321, 560,
  6066  	288, 456, 384, 0, 520, 0, 0, 0, 0, 0,
  6067  	0, 0, 0, 525, 526, 523, 619, 0, 583, 584,
  6068  	0, 0, 450, 451, 316, 323, 469, 325, 287, 373,
  6069  	318, 435, 332, 0, 462, 527, 463, 586, 589, 587,
  6070  	588, 365, 328, 329, 399, 333, 343, 387, 434, 371,
  6071  	392, 285, 425, 400, 347, 513, 540, 0, 0, 0,
  6072  	0, 0, 0, 0, 0, 0, 0, 0, 254, 0,
  6073  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6074  	0, 0, 0, 568, 567, 566, 565, 564, 563, 562,
  6075  	561, 0, 0, 510, 412, 297, 259, 293, 294, 301,
  6076  	608, 605, 416, 609, 0, 267, 490, 341, 0, 382,
  6077  	315, 555, 556, 0, 0, 215, 216, 217, 218, 219,
  6078  	220, 221, 222, 260, 223, 224, 225, 226, 227, 228,
  6079  	229, 232, 233, 234, 235, 236, 237, 238, 239, 558,
  6080  	230, 231, 240, 241, 242, 243, 244, 245, 246, 247,
  6081  	248, 249, 250, 251, 252, 253, 0, 0, 0, 261,
  6082  	262, 263, 264, 0, 0, 255, 256, 257, 258, 0,
  6083  	0, 0, 441, 442, 443, 465, 0, 427, 489, 606,
  6084  	0, 0, 0, 0, 0, 0, 0, 539, 551, 585,
  6085  	0, 594, 595, 597, 599, 598, 601, 0, 612, 480,
  6086  	481, 613, 591, 370, 0, 495, 528, 517, 600, 483,
  6087  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6088  	310, 0, 0, 340, 532, 514, 524, 515, 500, 501,
  6089  	502, 509, 320, 503, 504, 505, 475, 506, 476, 507,
  6090  	508, 0, 531, 482, 401, 354, 549, 548, 0, 0,
  6091  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6092  	0, 0, 0, 0, 0, 204, 0, 0, 0, 0,
  6093  	0, 0, 283, 205, 477, 596, 479, 478, 0, 0,
  6094  	0, 0, 0, 0, 0, 0, 0, 286, 0, 0,
  6095  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6096  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6097  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6098  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6099  	0, 0, 0, 0, 0, 0, 0, 0, 0, 273,
  6100  	406, 423, 284, 397, 436, 289, 404, 279, 369, 393,
  6101  	0, 0, 275, 421, 403, 351, 330, 331, 274, 0,
  6102  	388, 308, 322, 305, 367, 0, 420, 448, 304, 439,
  6103  	0, 431, 277, 0, 430, 366, 417, 422, 352, 346,
  6104  	276, 419, 350, 345, 334, 312, 464, 335, 336, 326,
  6105  	378, 344, 379, 327, 356, 355, 357, 0, 0, 0,
  6106  	0, 0, 459, 460, 0, 0, 0, 0, 0, 0,
  6107  	0, 0, 0, 0, 0, 0, 590, 0, 636, 593,
  6108  	0, 433, 0, 0, 0, 0, 0, 0, 405, 0,
  6109  	0, 337, 0, 0, 0, 449, 0, 391, 372, 615,
  6110  	0, 0, 389, 342, 418, 380, 424, 407, 432, 385,
  6111  	381, 268, 408, 307, 353, 280, 282, 302, 309, 311,
  6112  	313, 314, 362, 363, 375, 396, 409, 410, 411, 306,
  6113  	290, 390, 291, 324, 292, 269, 298, 296, 299, 398,
  6114  	300, 271, 376, 415, 0, 319, 386, 349, 272, 348,
  6115  	377, 414, 413, 281, 440, 446, 447, 536, 0, 452,
  6116  	616, 617, 618, 461, 466, 467, 468, 470, 471, 472,
  6117  	473, 537, 554, 521, 491, 454, 545, 488, 492, 493,
  6118  	557, 0, 0, 0, 445, 338, 339, 0, 317, 265,
  6119  	266, 611, 303, 368, 559, 592, 484, 0, 546, 485,
  6120  	494, 295, 518, 530, 529, 364, 444, 0, 541, 544,
  6121  	474, 610, 0, 538, 553, 614, 552, 607, 374, 0,
  6122  	395, 550, 497, 0, 542, 516, 0, 543, 512, 547,
  6123  	0, 486, 0, 402, 426, 438, 455, 458, 487, 572,
  6124  	573, 574, 270, 457, 576, 577, 578, 579, 580, 581,
  6125  	582, 575, 429, 519, 496, 522, 437, 499, 498, 0,
  6126  	0, 533, 453, 534, 535, 358, 359, 360, 361, 321,
  6127  	560, 288, 456, 384, 0, 520, 0, 0, 0, 0,
  6128  	0, 0, 0, 0, 525, 526, 523, 619, 0, 583,
  6129  	584, 0, 0, 450, 451, 316, 323, 469, 325, 287,
  6130  	373, 318, 435, 332, 0, 462, 527, 463, 586, 589,
  6131  	587, 588, 365, 328, 329, 399, 333, 343, 387, 434,
  6132  	371, 392, 285, 425, 400, 347, 513, 540, 0, 0,
  6133  	0, 0, 0, 0, 0, 0, 0, 0, 0, 254,
  6134  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6135  	0, 0, 0, 0, 568, 567, 566, 565, 564, 563,
  6136  	562, 561, 0, 0, 510, 412, 297, 259, 293, 294,
  6137  	301, 608, 605, 416, 609, 0, 267, 490, 341, 0,
  6138  	382, 315, 555, 556, 0, 0, 215, 216, 217, 218,
  6139  	219, 220, 221, 222, 260, 223, 224, 225, 226, 227,
  6140  	228, 229, 232, 233, 234, 235, 236, 237, 238, 239,
  6141  	558, 230, 231, 240, 241, 242, 243, 244, 245, 246,
  6142  	247, 248, 249, 250, 251, 252, 253, 0, 0, 0,
  6143  	261, 262, 263, 264, 0, 0, 255, 256, 257, 258,
  6144  	0, 0, 0, 441, 442, 443, 465, 0, 427, 489,
  6145  	606, 0, 0, 0, 0, 0, 0, 0, 539, 551,
  6146  	585, 0, 594, 595, 597, 599, 598, 601, 0, 612,
  6147  	480, 481, 613, 591, 370, 0, 495, 528, 517, 600,
  6148  	483, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6149  	0, 310, 0, 0, 340, 532, 514, 524, 515, 500,
  6150  	501, 502, 509, 320, 503, 504, 505, 475, 506, 476,
  6151  	507, 508, 0, 531, 482, 401, 354, 549, 548, 0,
  6152  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6153  	0, 0, 0, 0, 0, 0, 204, 0, 0, 0,
  6154  	0, 0, 0, 283, 205, 477, 596, 479, 478, 0,
  6155  	0, 0, 0, 0, 0, 0, 0, 0, 286, 0,
  6156  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6157  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6158  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6159  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6160  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6161  	273, 406, 423, 284, 397, 436, 289, 404, 279, 369,
  6162  	393, 0, 0, 275, 421, 403, 351, 330, 331, 274,
  6163  	0, 388, 308, 322, 305, 367, 0, 420, 448, 304,
  6164  	439, 0, 431, 277, 0, 430, 366, 417, 422, 352,
  6165  	346, 276, 419, 350, 345, 334, 312, 464, 335, 336,
  6166  	326, 378, 344, 379, 327, 356, 355, 357, 0, 0,
  6167  	0, 0, 0, 459, 460, 0, 0, 0, 0, 0,
  6168  	0, 0, 0, 0, 0, 0, 0, 590, 0, 0,
  6169  	593, 0, 433, 0, 0, 0, 0, 0, 0, 405,
  6170  	0, 0, 337, 0, 0, 0, 449, 0, 391, 372,
  6171  	615, 0, 0, 389, 342, 418, 380, 424, 407, 432,
  6172  	385, 381, 268, 408, 307, 353, 280, 282, 302, 309,
  6173  	311, 313, 314, 362, 363, 375, 396, 409, 410, 411,
  6174  	306, 290, 390, 291, 324, 292, 269, 298, 296, 299,
  6175  	398, 300, 271, 376, 415, 0, 319, 386, 349, 272,
  6176  	348, 377, 414, 413, 281, 440, 446, 447, 536, 0,
  6177  	452, 616, 617, 618, 461, 466, 467, 468, 470, 471,
  6178  	472, 473, 537, 554, 521, 491, 454, 545, 488, 492,
  6179  	493, 557, 0, 0, 0, 445, 338, 339, 0, 317,
  6180  	265, 266, 611, 303, 368, 559, 592, 484, 0, 546,
  6181  	485, 494, 295, 518, 530, 529, 364, 444, 0, 541,
  6182  	544, 474, 610, 0, 538, 553, 614, 552, 607, 374,
  6183  	0, 395, 550, 497, 0, 542, 516, 0, 543, 512,
  6184  	547, 0, 486, 0, 402, 426, 438, 455, 458, 487,
  6185  	572, 573, 574, 270, 457, 576, 577, 578, 579, 580,
  6186  	581, 582, 575, 429, 519, 496, 522, 437, 499, 498,
  6187  	0, 0, 533, 453, 534, 535, 358, 359, 360, 361,
  6188  	321, 560, 288, 456, 384, 0, 520, 0, 0, 0,
  6189  	0, 0, 0, 0, 0, 525, 526, 523, 619, 0,
  6190  	583, 584, 0, 0, 450, 451, 316, 323, 469, 325,
  6191  	287, 373, 318, 435, 332, 0, 462, 527, 463, 586,
  6192  	589, 587, 588, 365, 328, 329, 399, 333, 343, 387,
  6193  	434, 371, 392, 285, 425, 400, 347, 513, 540, 0,
  6194  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6195  	254, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6196  	0, 0, 0, 0, 0, 568, 567, 566, 565, 564,
  6197  	563, 562, 561, 918, 0, 510, 412, 297, 259, 293,
  6198  	294, 301, 608, 605, 416, 609, 0, 267, 490, 341,
  6199  	0, 382, 315, 555, 556, 0, 0, 215, 216, 217,
  6200  	218, 219, 220, 221, 222, 260, 223, 224, 225, 226,
  6201  	227, 228, 229, 232, 233, 234, 235, 236, 237, 238,
  6202  	239, 558, 230, 231, 240, 241, 242, 243, 244, 245,
  6203  	246, 247, 248, 249, 250, 251, 252, 253, 0, 0,
  6204  	0, 261, 262, 263, 264, 0, 0, 255, 256, 257,
  6205  	258, 0, 0, 0, 441, 442, 443, 465, 0, 427,
  6206  	489, 606, 0, 0, 0, 0, 0, 0, 0, 539,
  6207  	551, 585, 0, 594, 595, 597, 599, 598, 601, 0,
  6208  	612, 480, 481, 613, 591, 370, 0, 495, 528, 517,
  6209  	600, 483, 0, 0, 0, 0, 0, 0, 0, 0,
  6210  	0, 0, 310, 0, 0, 340, 532, 514, 524, 515,
  6211  	500, 501, 502, 509, 320, 503, 504, 505, 475, 506,
  6212  	476, 507, 508, 0, 531, 482, 401, 354, 549, 548,
  6213  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6214  	0, 0, 0, 0, 0, 0, 0, 204, 0, 0,
  6215  	0, 0, 0, 0, 283, 205, 477, 596, 479, 478,
  6216  	0, 0, 0, 0, 0, 0, 0, 0, 0, 286,
  6217  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6218  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6219  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6220  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6221  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6222  	0, 273, 406, 423, 284, 397, 436, 289, 404, 279,
  6223  	369, 393, 0, 0, 275, 421, 403, 351, 330, 331,
  6224  	274, 0, 388, 308, 322, 305, 367, 0, 420, 448,
  6225  	304, 439, 0, 431, 277, 0, 430, 366, 417, 422,
  6226  	352, 346, 276, 419, 350, 345, 334, 312, 464, 335,
  6227  	336, 326, 378, 344, 379, 327, 356, 355, 357, 0,
  6228  	0, 0, 0, 0, 459, 460, 0, 0, 0, 0,
  6229  	0, 0, 0, 0, 0, 0, 0, 0, 590, 0,
  6230  	0, 593, 0, 433, 0, 0, 0, 0, 0, 0,
  6231  	405, 0, 0, 337, 0, 0, 0, 449, 0, 391,
  6232  	372, 615, 0, 0, 389, 342, 418, 380, 424, 407,
  6233  	432, 385, 381, 268, 408, 307, 353, 280, 282, 302,
  6234  	309, 311, 313, 314, 362, 363, 375, 396, 409, 410,
  6235  	411, 306, 290, 390, 291, 324, 292, 269, 298, 296,
  6236  	299, 398, 300, 271, 376, 415, 0, 319, 386, 349,
  6237  	272, 348, 377, 414, 413, 281, 440, 446, 447, 536,
  6238  	0, 452, 616, 617, 618, 461, 466, 467, 468, 470,
  6239  	471, 472, 473, 537, 554, 521, 491, 454, 545, 488,
  6240  	492, 493, 557, 0, 0, 0, 445, 338, 339, 0,
  6241  	317, 265, 266, 611, 303, 368, 559, 592, 484, 0,
  6242  	546, 485, 494, 295, 518, 530, 529, 364, 444, 0,
  6243  	541, 544, 474, 610, 0, 538, 553, 614, 552, 607,
  6244  	374, 0, 395, 550, 497, 0, 542, 516, 0, 543,
  6245  	512, 547, 0, 486, 0, 402, 426, 438, 455, 458,
  6246  	487, 572, 573, 574, 270, 457, 576, 577, 578, 579,
  6247  	580, 581, 582, 575, 429, 519, 496, 522, 437, 499,
  6248  	498, 0, 0, 533, 453, 534, 535, 358, 359, 360,
  6249  	361, 321, 560, 288, 456, 384, 0, 520, 0, 0,
  6250  	0, 0, 0, 0, 0, 0, 525, 526, 523, 619,
  6251  	0, 583, 584, 0, 0, 450, 451, 316, 323, 469,
  6252  	325, 287, 373, 318, 435, 332, 0, 462, 527, 463,
  6253  	586, 589, 587, 588, 365, 328, 329, 399, 333, 343,
  6254  	387, 434, 371, 392, 285, 425, 400, 347, 513, 540,
  6255  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6256  	0, 254, 0, 0, 0, 0, 0, 0, 0, 0,
  6257  	0, 0, 0, 0, 0, 0, 568, 567, 566, 565,
  6258  	564, 563, 562, 561, 0, 0, 510, 412, 297, 259,
  6259  	293, 294, 301, 608, 605, 416, 609, 0, 267, 490,
  6260  	341, 0, 382, 315, 555, 556, 0, 0, 215, 216,
  6261  	217, 218, 219, 220, 221, 222, 260, 223, 224, 225,
  6262  	226, 227, 228, 229, 232, 233, 234, 235, 236, 237,
  6263  	238, 239, 558, 230, 231, 240, 241, 242, 243, 244,
  6264  	245, 246, 247, 248, 249, 250, 251, 252, 253, 0,
  6265  	0, 0, 261, 262, 263, 264, 0, 0, 255, 256,
  6266  	257, 258, 0, 0, 0, 441, 442, 443, 465, 0,
  6267  	427, 489, 606, 0, 0, 0, 0, 0, 0, 0,
  6268  	539, 551, 585, 0, 594, 595, 597, 599, 598, 601,
  6269  	0, 612, 480, 481, 613, 591, 370, 0, 495, 528,
  6270  	517, 600, 483, 0, 0, 0, 0, 0, 0, 0,
  6271  	0, 0, 0, 310, 0, 0, 340, 532, 514, 524,
  6272  	515, 500, 501, 502, 509, 320, 503, 504, 505, 475,
  6273  	506, 476, 507, 508, 0, 531, 482, 401, 354, 549,
  6274  	548, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6275  	0, 0, 0, 0, 0, 0, 0, 0, 204, 0,
  6276  	0, 0, 0, 0, 0, 283, 205, 477, 596, 479,
  6277  	478, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6278  	286, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6279  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6280  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6281  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6282  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6283  	0, 0, 273, 406, 1428, 284, 397, 436, 289, 404,
  6284  	279, 369, 393, 0, 0, 275, 421, 403, 351, 330,
  6285  	331, 274, 0, 388, 308, 322, 305, 367, 0, 420,
  6286  	448, 304, 439, 0, 431, 277, 0, 430, 366, 417,
  6287  	422, 352, 346, 276, 419, 350, 345, 334, 312, 464,
  6288  	335, 336, 326, 378, 344, 379, 327, 356, 355, 357,
  6289  	0, 0, 0, 0, 0, 459, 460, 0, 0, 0,
  6290  	0, 0, 0, 0, 0, 0, 0, 0, 0, 590,
  6291  	0, 0, 593, 0, 433, 0, 0, 0, 0, 0,
  6292  	0, 405, 0, 0, 337, 0, 0, 0, 449, 0,
  6293  	391, 372, 615, 0, 0, 389, 342, 418, 380, 424,
  6294  	407, 432, 385, 381, 268, 408, 307, 353, 280, 282,
  6295  	302, 309, 311, 313, 314, 362, 363, 375, 396, 409,
  6296  	410, 411, 306, 290, 390, 291, 324, 292, 269, 298,
  6297  	296, 299, 398, 300, 271, 376, 415, 0, 319, 386,
  6298  	349, 272, 348, 377, 414, 413, 281, 440, 446, 447,
  6299  	536, 0, 452, 616, 617, 618, 461, 466, 467, 468,
  6300  	470, 471, 472, 473, 537, 554, 521, 491, 454, 545,
  6301  	488, 492, 493, 557, 0, 0, 0, 445, 338, 339,
  6302  	0, 317, 265, 266, 611, 303, 368, 559, 592, 484,
  6303  	0, 546, 485, 494, 295, 518, 530, 529, 364, 444,
  6304  	0, 541, 544, 474, 610, 0, 538, 553, 614, 552,
  6305  	607, 374, 0, 395, 550, 497, 0, 542, 516, 0,
  6306  	543, 512, 547, 0, 486, 0, 402, 426, 438, 455,
  6307  	458, 487, 572, 573, 574, 270, 457, 576, 577, 578,
  6308  	579, 580, 581, 582, 575, 429, 519, 496, 522, 437,
  6309  	499, 498, 0, 0, 533, 453, 534, 535, 358, 359,
  6310  	360, 361, 321, 560, 288, 456, 384, 0, 520, 0,
  6311  	0, 0, 0, 0, 0, 0, 0, 525, 526, 523,
  6312  	619, 0, 583, 584, 0, 0, 450, 451, 316, 323,
  6313  	469, 325, 287, 373, 318, 435, 332, 0, 462, 527,
  6314  	463, 586, 589, 587, 588, 365, 328, 329, 399, 333,
  6315  	343, 387, 434, 371, 392, 285, 425, 400, 347, 513,
  6316  	540, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6317  	0, 0, 254, 0, 0, 0, 0, 0, 0, 0,
  6318  	0, 0, 0, 0, 0, 0, 0, 568, 567, 566,
  6319  	565, 564, 563, 562, 561, 0, 0, 510, 412, 297,
  6320  	259, 293, 294, 301, 608, 605, 416, 609, 0, 267,
  6321  	490, 341, 0, 382, 315, 555, 556, 0, 0, 215,
  6322  	216, 217, 218, 219, 220, 221, 222, 260, 223, 224,
  6323  	225, 226, 227, 228, 229, 232, 233, 234, 235, 236,
  6324  	237, 238, 239, 558, 230, 231, 240, 241, 242, 243,
  6325  	244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
  6326  	0, 0, 0, 261, 262, 263, 264, 0, 0, 255,
  6327  	256, 257, 258, 0, 0, 0, 441, 442, 443, 465,
  6328  	0, 427, 489, 606, 0, 0, 0, 0, 0, 0,
  6329  	0, 539, 551, 585, 0, 594, 595, 597, 599, 598,
  6330  	601, 0, 612, 480, 481, 613, 591, 370, 0, 495,
  6331  	528, 517, 600, 483, 0, 0, 0, 0, 0, 0,
  6332  	0, 0, 0, 0, 310, 0, 0, 340, 532, 514,
  6333  	524, 515, 500, 501, 502, 509, 320, 503, 504, 505,
  6334  	475, 506, 476, 507, 508, 0, 531, 482, 401, 354,
  6335  	549, 548, 0, 0, 0, 0, 0, 0, 0, 0,
  6336  	0, 0, 0, 0, 0, 0, 0, 0, 0, 204,
  6337  	0, 0, 0, 0, 0, 0, 283, 205, 477, 596,
  6338  	479, 478, 0, 0, 0, 0, 0, 0, 0, 0,
  6339  	0, 286, 0, 0, 0, 0, 0, 0, 0, 0,
  6340  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6341  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6342  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6343  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6344  	0, 0, 0, 273, 406, 1426, 284, 397, 436, 289,
  6345  	404, 279, 369, 393, 0, 0, 275, 421, 403, 351,
  6346  	330, 331, 274, 0, 388, 308, 322, 305, 367, 0,
  6347  	420, 448, 304, 439, 0, 431, 277, 0, 430, 366,
  6348  	417, 422, 352, 346, 276, 419, 350, 345, 334, 312,
  6349  	464, 335, 336, 326, 378, 344, 379, 327, 356, 355,
  6350  	357, 0, 0, 0, 0, 0, 459, 460, 0, 0,
  6351  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6352  	590, 0, 0, 593, 0, 433, 0, 0, 0, 0,
  6353  	0, 0, 405, 0, 0, 337, 0, 0, 0, 449,
  6354  	0, 391, 372, 615, 0, 0, 389, 342, 418, 380,
  6355  	424, 407, 432, 385, 381, 268, 408, 307, 353, 280,
  6356  	282, 302, 309, 311, 313, 314, 362, 363, 375, 396,
  6357  	409, 410, 411, 306, 290, 390, 291, 324, 292, 269,
  6358  	298, 296, 299, 398, 300, 271, 376, 415, 0, 319,
  6359  	386, 349, 272, 348, 377, 414, 413, 281, 440, 446,
  6360  	447, 536, 0, 452, 616, 617, 618, 461, 466, 467,
  6361  	468, 470, 471, 472, 473, 537, 554, 521, 491, 454,
  6362  	545, 488, 492, 493, 557, 0, 0, 0, 445, 338,
  6363  	339, 0, 317, 265, 266, 611, 303, 368, 559, 592,
  6364  	484, 0, 546, 485, 494, 295, 518, 530, 529, 364,
  6365  	444, 0, 541, 544, 474, 610, 0, 538, 553, 614,
  6366  	552, 607, 374, 0, 395, 550, 497, 0, 542, 516,
  6367  	0, 543, 512, 547, 0, 486, 0, 402, 426, 438,
  6368  	455, 458, 487, 572, 573, 574, 270, 457, 576, 577,
  6369  	578, 579, 580, 581, 582, 575, 429, 519, 496, 522,
  6370  	437, 499, 498, 0, 0, 533, 453, 534, 535, 358,
  6371  	359, 360, 361, 321, 560, 288, 456, 384, 0, 520,
  6372  	0, 0, 0, 0, 0, 0, 0, 0, 525, 526,
  6373  	523, 619, 0, 583, 584, 0, 0, 450, 451, 316,
  6374  	323, 469, 325, 287, 373, 318, 435, 332, 0, 462,
  6375  	527, 463, 586, 589, 587, 588, 365, 328, 329, 399,
  6376  	333, 343, 387, 434, 371, 392, 285, 425, 400, 347,
  6377  	513, 540, 0, 0, 0, 0, 0, 0, 0, 0,
  6378  	0, 0, 0, 254, 0, 0, 0, 0, 0, 0,
  6379  	0, 0, 0, 0, 0, 0, 0, 0, 568, 567,
  6380  	566, 565, 564, 563, 562, 561, 0, 0, 510, 412,
  6381  	297, 259, 293, 294, 301, 608, 605, 416, 609, 0,
  6382  	267, 490, 341, 0, 382, 315, 555, 556, 0, 0,
  6383  	215, 216, 217, 218, 219, 220, 221, 222, 260, 223,
  6384  	224, 225, 226, 227, 228, 229, 232, 233, 234, 235,
  6385  	236, 237, 238, 239, 558, 230, 231, 240, 241, 242,
  6386  	243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
  6387  	253, 0, 0, 0, 261, 262, 263, 264, 0, 0,
  6388  	255, 256, 257, 258, 0, 0, 0, 441, 442, 443,
  6389  	465, 0, 427, 489, 606, 0, 0, 0, 0, 0,
  6390  	0, 0, 539, 551, 585, 0, 594, 595, 597, 599,
  6391  	598, 601, 0, 612, 480, 481, 613, 591, 370, 0,
  6392  	495, 528, 517, 600, 483, 0, 0, 0, 0, 0,
  6393  	0, 0, 0, 0, 0, 310, 0, 0, 340, 532,
  6394  	514, 524, 515, 500, 501, 502, 509, 320, 503, 504,
  6395  	505, 475, 506, 476, 507, 508, 0, 531, 482, 401,
  6396  	354, 549, 548, 0, 0, 0, 0, 0, 0, 0,
  6397  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6398  	204, 0, 0, 0, 0, 0, 0, 283, 205, 477,
  6399  	596, 479, 478, 0, 0, 0, 0, 0, 0, 0,
  6400  	0, 0, 286, 0, 0, 0, 0, 0, 0, 0,
  6401  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6402  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6403  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6404  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6405  	0, 0, 0, 0, 273, 406, 423, 284, 397, 436,
  6406  	289, 404, 279, 369, 393, 0, 0, 275, 421, 403,
  6407  	351, 330, 331, 274, 0, 388, 308, 322, 305, 367,
  6408  	0, 420, 448, 304, 439, 0, 431, 277, 0, 430,
  6409  	366, 417, 422, 352, 346, 276, 419, 350, 345, 334,
  6410  	312, 464, 335, 336, 326, 378, 344, 379, 327, 356,
  6411  	355, 357, 0, 0, 0, 0, 0, 459, 460, 0,
  6412  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6413  	0, 590, 0, 0, 593, 0, 433, 0, 0, 0,
  6414  	0, 0, 0, 405, 0, 0, 337, 0, 0, 0,
  6415  	449, 0, 391, 372, 615, 0, 0, 389, 342, 418,
  6416  	380, 424, 407, 432, 385, 381, 268, 408, 307, 353,
  6417  	280, 282, 702, 309, 311, 313, 314, 362, 363, 375,
  6418  	396, 409, 410, 411, 306, 290, 390, 291, 324, 292,
  6419  	269, 298, 296, 299, 398, 300, 271, 376, 415, 0,
  6420  	319, 386, 349, 272, 348, 377, 414, 413, 281, 440,
  6421  	446, 447, 536, 0, 452, 616, 617, 618, 461, 466,
  6422  	467, 468, 470, 471, 472, 473, 537, 554, 521, 491,
  6423  	454, 545, 488, 492, 493, 557, 0, 0, 0, 445,
  6424  	338, 339, 0, 317, 265, 266, 611, 303, 368, 559,
  6425  	592, 484, 0, 546, 485, 494, 295, 518, 530, 529,
  6426  	364, 444, 0, 541, 544, 474, 610, 0, 538, 553,
  6427  	614, 552, 607, 374, 0, 395, 550, 497, 0, 542,
  6428  	516, 0, 543, 512, 547, 0, 486, 0, 402, 426,
  6429  	438, 455, 458, 487, 572, 573, 574, 270, 457, 576,
  6430  	577, 578, 579, 580, 581, 582, 575, 429, 519, 496,
  6431  	522, 437, 499, 498, 0, 0, 533, 453, 534, 535,
  6432  	358, 359, 360, 361, 321, 560, 288, 456, 384, 0,
  6433  	520, 0, 0, 0, 0, 0, 0, 0, 0, 525,
  6434  	526, 523, 619, 0, 583, 584, 0, 0, 450, 451,
  6435  	316, 323, 469, 325, 287, 373, 318, 435, 332, 0,
  6436  	462, 527, 463, 586, 589, 587, 588, 365, 328, 329,
  6437  	399, 333, 343, 387, 434, 371, 392, 285, 425, 400,
  6438  	347, 513, 540, 0, 0, 0, 0, 0, 0, 0,
  6439  	0, 0, 0, 0, 254, 0, 0, 0, 0, 0,
  6440  	0, 0, 0, 0, 0, 0, 0, 0, 0, 568,
  6441  	567, 566, 565, 564, 563, 562, 561, 0, 0, 510,
  6442  	412, 297, 259, 293, 294, 301, 608, 605, 416, 609,
  6443  	0, 267, 490, 341, 0, 382, 315, 555, 556, 0,
  6444  	0, 215, 216, 217, 218, 219, 220, 221, 222, 260,
  6445  	223, 224, 225, 226, 227, 228, 229, 232, 233, 234,
  6446  	235, 236, 237, 238, 239, 558, 230, 231, 240, 241,
  6447  	242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
  6448  	252, 253, 0, 0, 0, 261, 262, 263, 264, 0,
  6449  	0, 255, 256, 257, 258, 0, 0, 0, 441, 442,
  6450  	443, 465, 0, 427, 489, 606, 0, 0, 0, 0,
  6451  	0, 0, 0, 539, 551, 585, 0, 594, 595, 597,
  6452  	599, 598, 601, 0, 612, 480, 481, 613, 591, 370,
  6453  	0, 495, 528, 517, 600, 483, 0, 0, 0, 0,
  6454  	0, 0, 0, 0, 0, 0, 310, 0, 0, 340,
  6455  	532, 514, 524, 515, 500, 501, 502, 509, 320, 503,
  6456  	504, 505, 475, 506, 476, 507, 508, 0, 531, 482,
  6457  	401, 354, 549, 548, 0, 0, 0, 0, 0, 0,
  6458  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6459  	0, 204, 0, 0, 0, 0, 0, 0, 283, 205,
  6460  	477, 596, 479, 478, 0, 0, 0, 0, 0, 0,
  6461  	0, 0, 0, 286, 0, 0, 0, 0, 0, 0,
  6462  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6463  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6464  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6465  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6466  	0, 0, 0, 0, 0, 273, 406, 423, 284, 397,
  6467  	436, 289, 404, 279, 369, 393, 0, 0, 275, 421,
  6468  	403, 351, 330, 331, 274, 0, 388, 308, 322, 305,
  6469  	367, 0, 420, 448, 304, 439, 0, 431, 277, 0,
  6470  	430, 366, 417, 422, 352, 346, 276, 419, 350, 345,
  6471  	334, 312, 464, 335, 336, 326, 378, 344, 379, 327,
  6472  	356, 355, 357, 0, 0, 0, 0, 0, 459, 460,
  6473  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6474  	0, 0, 590, 0, 0, 593, 0, 433, 0, 0,
  6475  	0, 0, 0, 0, 405, 0, 0, 337, 0, 0,
  6476  	0, 449, 0, 391, 372, 615, 0, 0, 389, 342,
  6477  	418, 380, 424, 407, 432, 660, 381, 268, 408, 307,
  6478  	353, 280, 282, 302, 309, 311, 313, 314, 362, 363,
  6479  	375, 396, 409, 410, 411, 306, 290, 390, 291, 324,
  6480  	292, 269, 298, 296, 299, 398, 300, 271, 376, 415,
  6481  	0, 319, 386, 349, 272, 348, 377, 414, 413, 281,
  6482  	440, 446, 447, 536, 0, 452, 616, 617, 618, 461,
  6483  	466, 467, 468, 470, 471, 472, 473, 537, 554, 521,
  6484  	491, 454, 545, 488, 492, 493, 557, 0, 0, 0,
  6485  	445, 338, 339, 0, 317, 265, 266, 611, 303, 368,
  6486  	559, 592, 484, 0, 546, 485, 494, 295, 518, 530,
  6487  	529, 364, 444, 0, 541, 544, 474, 610, 0, 538,
  6488  	553, 614, 552, 607, 374, 0, 395, 550, 497, 0,
  6489  	542, 516, 0, 543, 512, 547, 0, 486, 0, 402,
  6490  	426, 438, 455, 458, 487, 572, 573, 574, 270, 457,
  6491  	576, 577, 578, 579, 580, 581, 661, 575, 429, 519,
  6492  	496, 522, 437, 499, 498, 0, 0, 533, 453, 534,
  6493  	535, 358, 359, 360, 361, 321, 560, 288, 456, 384,
  6494  	0, 520, 0, 0, 0, 0, 0, 0, 0, 0,
  6495  	525, 526, 523, 619, 0, 583, 584, 0, 0, 450,
  6496  	451, 316, 323, 469, 325, 287, 373, 318, 435, 332,
  6497  	0, 462, 527, 463, 586, 589, 587, 588, 365, 328,
  6498  	329, 399, 333, 343, 387, 434, 371, 392, 285, 425,
  6499  	400, 347, 513, 540, 0, 0, 0, 0, 0, 0,
  6500  	0, 0, 0, 0, 0, 254, 0, 0, 0, 0,
  6501  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6502  	568, 567, 566, 565, 564, 563, 562, 561, 0, 0,
  6503  	510, 412, 297, 259, 293, 294, 301, 608, 605, 416,
  6504  	609, 0, 267, 490, 341, 0, 382, 315, 555, 556,
  6505  	0, 0, 215, 216, 217, 218, 219, 220, 221, 222,
  6506  	260, 223, 224, 225, 226, 227, 228, 229, 232, 233,
  6507  	234, 235, 236, 237, 238, 239, 558, 230, 231, 240,
  6508  	241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
  6509  	251, 252, 253, 0, 0, 0, 261, 262, 263, 264,
  6510  	0, 0, 255, 256, 257, 258, 0, 0, 0, 441,
  6511  	442, 443, 465, 0, 427, 489, 606, 0, 0, 0,
  6512  	0, 0, 0, 0, 539, 551, 585, 0, 594, 595,
  6513  	597, 599, 598, 601, 0, 612, 480, 481, 613, 591,
  6514  	681, 680, 687, 677, 0, 0, 0, 0, 0, 0,
  6515  	1906, 0, 684, 685, 0, 686, 690, 182, 0, 671,
  6516  	0, 0, 0, 0, 0, 0, 0, 0, 0, 695,
  6517  	0, 0, 0, 0, 0, 0, 0, 0, 0, 3396,
  6518  	0, 0, 0, 0, 0, 1908, 0, 0, 0, 0,
  6519  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6520  	0, 0, 1906, 0, 0, 0, 0, 0, 0, 0,
  6521  	0, 0, 699, 0, 0, 701, 0, 0, 0, 0,
  6522  	700, 0, 0, 0, 0, 0, 176, 0, 0, 0,
  6523  	0, 0, 0, 0, 0, 0, 1883, 1908, 0, 0,
  6524  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6525  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6526  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6527  	0, 0, 0, 0, 0, 0, 0, 0, 3557, 0,
  6528  	0, 0, 0, 0, 0, 0, 0, 0, 1883, 0,
  6529  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6530  	0, 0, 0, 0, 1899, 0, 0, 0, 0, 0,
  6531  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6532  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6533  	0, 1906, 0, 0, 0, 0, 0, 0, 0, 0,
  6534  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6535  	0, 0, 0, 0, 0, 0, 1899, 672, 674, 673,
  6536  	0, 0, 0, 0, 0, 0, 1908, 679, 0, 0,
  6537  	0, 0, 0, 0, 0, 0, 0, 0, 0, 683,
  6538  	0, 0, 0, 0, 1887, 0, 698, 0, 0, 0,
  6539  	0, 0, 0, 676, 0, 1893, 0, 0, 0, 0,
  6540  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6541  	0, 0, 0, 0, 0, 1881, 1915, 1883, 0, 1882,
  6542  	1884, 1886, 0, 1888, 1889, 1890, 1894, 1895, 1896, 1898,
  6543  	1901, 1902, 1903, 0, 0, 0, 1887, 0, 0, 0,
  6544  	1891, 1900, 1892, 0, 0, 0, 0, 1893, 0, 0,
  6545  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6546  	0, 0, 0, 0, 0, 0, 0, 1881, 1915, 0,
  6547  	0, 1882, 1884, 1886, 1907, 1888, 1889, 1890, 1894, 1895,
  6548  	1896, 1898, 1901, 1902, 1903, 1899, 0, 0, 0, 0,
  6549  	0, 0, 1891, 1900, 1892, 0, 0, 0, 0, 0,
  6550  	0, 0, 678, 682, 688, 0, 689, 691, 0, 0,
  6551  	692, 693, 694, 0, 0, 696, 697, 0, 1904, 0,
  6552  	0, 0, 0, 0, 0, 0, 1907, 0, 0, 0,
  6553  	0, 0, 0, 0, 0, 1880, 0, 0, 0, 0,
  6554  	0, 0, 1879, 0, 0, 0, 0, 0, 0, 0,
  6555  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6556  	0, 0, 0, 0, 0, 1887, 1897, 0, 0, 0,
  6557  	1904, 0, 0, 0, 0, 1885, 1893, 0, 0, 0,
  6558  	0, 0, 0, 0, 0, 0, 0, 1880, 0, 0,
  6559  	0, 0, 0, 0, 1879, 0, 1881, 1915, 0, 0,
  6560  	1882, 1884, 1886, 0, 1888, 1889, 1890, 1894, 1895, 1896,
  6561  	1898, 1901, 1902, 1903, 0, 0, 0, 0, 1897, 0,
  6562  	0, 1891, 1900, 1892, 0, 0, 0, 1885, 0, 0,
  6563  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6564  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6565  	0, 0, 0, 0, 0, 1907, 0, 0, 0, 0,
  6566  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6567  	0, 675, 0, 0, 0, 0, 0, 0, 0, 0,
  6568  	0, 0, 0, 146, 0, 0, 0, 0, 0, 0,
  6569  	0, 0, 0, 0, 0, 0, 0, 0, 0, 1904,
  6570  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6571  	0, 0, 0, 0, 0, 0, 1880, 0, 0, 0,
  6572  	0, 0, 0, 1879, 0, 0, 0, 0, 0, 0,
  6573  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6574  	0, 0, 0, 0, 0, 0, 0, 1897, 0, 0,
  6575  	0, 0, 0, 0, 0, 0, 1885,
  6576  }
  6577  
  6578  var yyPact = [...]int{
  6579  	3847, -1000, -1000, -1000, -307, 14180, -1000, -1000, -1000, -1000,
  6580  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6581  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6582  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6583  	-1000, 44762, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6584  	-1000, -1000, 395, 44762, -305, 28265, 42929, -1000, -1000, 2429,
  6585  	-1000, 43540, 16033, 44762, 472, 471, 44762, -1000, -1000, -1000,
  6586  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6587  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6588  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6589  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, 844, -1000, 47206,
  6590  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, 732, 418, 46595,
  6591  	11101, -228, -1000, 1416, -49, 2348, 414, 1006, 1020, 1106,
  6592  	1106, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6593  	-1000, -1000, -1000, -1000, 4185, 868, 44151, -1000, -1000, -1000,
  6594  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6595  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 3690,
  6596  	764, 868, 20929, 94, 90, 1416, 407, -100, -93, -102,
  6597  	3708, -1000, 1336, 3956, 201, -1000, -1000, -1000, -1000, -1000,
  6598  	-1000, -1000, -1000, -1000, -1000, -1000, 11101, 11101, 14180, -349,
  6599  	14180, 11101, 44762, 44762, -1000, -1000, -1000, -1000, -305, 43540,
  6600  	732, 418, 11101, 2348, 414, -1000, -1000, -1000, -1000, -1000,
  6601  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6602  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6603  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6604  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6605  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6606  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -93, -1000,
  6607  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6608  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6609  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6610  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6611  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6612  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6613  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6614  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6615  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6616  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6617  	-1000, -1000, -1000, -100, -1000, -1000, -1000, -1000, -1000, -1000,
  6618  	-1000, -1000, -1000, -1000, -102, -1000, -1000, -1000, -1000, -1000,
  6619  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6620  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6621  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 90, -1000,
  6622  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6623  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6624  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6625  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6626  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6627  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6628  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6629  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6630  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6631  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6632  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6633  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6634  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6635  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6636  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6637  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6638  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6639  	-1000, -1000, 4869, -1000, 1563, -1000, -1000, -1000, -1000, -1000,
  6640  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6641  	2218, 2873, 1559, 2347, 687, 42929, 44762, -1000, 151, 687,
  6642  	-1000, -1000, -1000, 1416, 3354, -1000, 44762, 44762, 171, 1827,
  6643  	-1000, 425, 403, 388, 293, 1558, -1000, -1000, -1000, -1000,
  6644  	-1000, -1000, 603, 3303, -1000, 44762, 44762, 2886, 44762, -1000,
  6645  	2160, 631, 47827, 3091, 1351, 848, 2905, -1000, -1000, 2872,
  6646  	-1000, 302, 402, 240, 516, 392, -1000, -1000, -1000, -1000,
  6647  	-1000, -1000, -1000, 294, -1000, 3141, -1000, -1000, 295, -1000,
  6648  	-1000, 279, -1000, -1000, -1000, 89, -1000, -1000, -1000, -1000,
  6649  	-1000, -1000, -8, -1000, -1000, 1126, 2461, 11101, 1978, -1000,
  6650  	2717, 1518, -1000, -1000, -1000, 6797, 12943, 12943, 12943, 12943,
  6651  	44762, -1000, -1000, 2691, 11101, 2871, 2866, 2865, 2864, -1000,
  6652  	-1000, -1000, -1000, -1000, -1000, 1556, -1000, -1000, -1000, -1000,
  6653  	-1000, -1000, -1000, -1000, -1000, 1963, -1000, -1000, -1000, 13557,
  6654  	-1000, 2862, 2859, 2852, 2851, 2850, 2848, 2842, 2841, 2836,
  6655  	2834, 2821, 2809, 2807, 2806, 2563, 15412, 2805, 2346, 2344,
  6656  	2804, 2800, 2799, 2329, 2798, 2797, 2793, 2563, 2563, 2791,
  6657  	2790, 2789, 2788, 2787, 2786, 2784, 2766, 2764, 2763, 2762,
  6658  	2757, 2755, 2754, 2753, 2750, 2748, 2747, 2746, 2745, 2738,
  6659  	2736, 2734, 2733, 2728, -1000, -1000, -1000, -1000, -1000, -1000,
  6660  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6661  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6662  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6663  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6664  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, 1374, -1000, 2727,
  6665  	3331, 2652, -1000, 3184, 3174, 3164, 3138, -274, 2722, 2141,
  6666  	-1000, -1000, 109, 3300, 44762, -1000, -94, -1000, -1000, 994,
  6667  	-1000, 968, -1000, 724, 44762, 44762, 207, 799, 724, 724,
  6668  	724, 724, 724, 766, 724, 3222, 838, 837, 836, 830,
  6669  	724, -45, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1826,
  6670  	1824, 2818, 949, -1000, -1000, -1000, -1000, 1412, 44762, -1000,
  6671  	2665, 1628, 1628, 3285, 3221, 657, 650, 639, 1628, 531,
  6672  	-1000, 1775, 1775, 1775, 1775, 1628, 449, 625, 3228, 3228,
  6673  	80, 1775, 58, 1628, 1628, 58, 1628, 1628, -1000, 1778,
  6674  	249, -280, -1000, -1000, -1000, -1000, 1775, 1775, -1000, -1000,
  6675  	-1000, -1000, -1000, -1000, -1000, 3162, 3158, 732, 732, 44762,
  6676  	177, 44762, 732, 732, 732, 737, 43, 45984, 45373, 2160,
  6677  	618, 615, 1418, 1737, -1000, 1635, 44762, 44762, 1635, 1635,
  6678  	23988, 23377, -1000, 44762, -1000, 3331, 2652, 2560, 1510, 2556,
  6679  	2652, -119, -125, -128, 732, 732, 732, 732, 732, 261,
  6680  	732, 732, 732, 732, 732, 44762, 44762, 42318, 732, 732,
  6681  	732, 9253, 9253, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6682  	-1000, -1000, 14180, 2199, 2154, 200, -21, -296, 241, -1000,
  6683  	-1000, 44762, 3060, 260, -1000, -1000, -1000, 2578, -1000, 2642,
  6684  	2642, 2642, 2642, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6685  	-1000, -1000, 2642, 2642, 2658, 2721, -1000, -1000, 2636, 2636,
  6686  	2636, 2578, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6687  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, 2653, 2653, 2657,
  6688  	2657, 2653, 44762, -144, -1000, -1000, 11101, 44762, 3081, 381,
  6689  	2711, 687, -1000, -1000, 44762, 116, 422, 3331, 3079, 3228,
  6690  	3279, -1000, -1000, 1555, 2140, 2327, -1000, 293, -1000, 411,
  6691  	293, 1672, -1000, 1059, -1000, -1000, -1000, -1000, -1000, 44762,
  6692  	-8, 384, -1000, -1000, 2315, 2709, -1000, 587, 1239, 1260,
  6693  	-1000, 233, 4889, 36208, 2160, 36208, 44762, -1000, -1000, -1000,
  6694  	-1000, -1000, -1000, 77, -1000, -1000, -1000, -1000, -1000, -1000,
  6695  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6696  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 290, -1000,
  6697  	11101, 11101, 11101, 11101, 11101, -1000, 676, 12329, -1000, -1000,
  6698  	-1000, -1000, -1000, -1000, -1000, 12943, 12943, 12943, 12943, 12943,
  6699  	12943, 12943, 12943, 12943, 12943, 12943, 12943, 2687, 1961, 12943,
  6700  	12943, 12943, 12943, 25821, 1510, 3117, 1417, 289, 1518, 1518,
  6701  	1518, 1518, 11101, -1000, 1875, 2461, 11101, 11101, 11101, 11101,
  6702  	44762, -1000, -1000, 4733, 11101, 11101, 198, 11101, 3133, 11101,
  6703  	11101, 11101, 2555, 5560, 44762, 11101, -1000, 2544, 2541, -1000,
  6704  	-1000, 1982, 11101, -1000, -1000, 11101, -1000, -1000, 11101, 12943,
  6705  	11101, -1000, 11101, 11101, 11101, -1000, -1000, 1316, 3133, 3133,
  6706  	3133, 1776, 11101, 11101, 3133, 3133, 3133, 1720, 3133, 3133,
  6707  	3133, 3133, 3133, 3133, 3133, 3133, 3133, 3133, 2538, 2528,
  6708  	2527, 10487, 3228, -228, -1000, 8639, 3079, 3228, -1000, -1000,
  6709  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -276, 2702,
  6710  	44762, 2326, 2325, -318, 1002, 445, 38, 1004, 973, 978,
  6711  	-1000, 44762, 1882, 3129, -1000, 2699, 44762, 724, 724, 724,
  6712  	-1000, 40485, 36208, 44762, 44762, 2160, 44762, 44762, 44762, 724,
  6713  	724, 724, 724, 44762, -1000, 3044, 36208, 2988, 737, -1000,
  6714  	44762, 1412, 3127, 44762, 3285, 12943, 12943, -1000, -1000, 11101,
  6715  	41707, 1775, 1628, 1628, -1000, -1000, 44762, -1000, -1000, -1000,
  6716  	1775, 44762, 1775, 1775, 3285, 1775, -1000, -1000, -1000, 1628,
  6717  	1628, -1000, -1000, 11101, -1000, -1000, 1775, 1775, -1000, -1000,
  6718  	3285, 44762, 67, 3285, 3285, 64, -1000, -1000, -1000, 1628,
  6719  	44762, 44762, 724, 44762, -1000, 44762, 44762, -1000, -1000, 44762,
  6720  	44762, 4369, 40485, 41096, 3152, -1000, 36208, 44762, 44762, 34375,
  6721  	-1000, 1364, -1000, 9, -1000, 33, 43, 1635, 43, 1635,
  6722  	-1000, 580, 579, 22155, 518, 36208, 6174, -1000, -1000, 1635,
  6723  	1635, 6174, 6174, 1564, -1000, -1000, -1000, -1000, -1000, -1000,
  6724  	-1000, 1410, -1000, 281, 3228, -1000, -1000, -1000, -1000, -1000,
  6725  	2139, 2137, 2136, 44762, 40485, 36208, 2160, 44762, 732, 44762,
  6726  	44762, 44762, 44762, 44762, -1000, 2698, 1550, -1000, 3089, 44762,
  6727  	44762, 44762, 1237, -1000, -1000, 19088, 1549, 1237, -1000, 1863,
  6728  	-1000, 11101, 14180, -253, 11101, 14180, 14180, 11101, 14180, -1000,
  6729  	11101, 234, -1000, -1000, -1000, -1000, 2134, -1000, 2133, -1000,
  6730  	-1000, -1000, -1000, -1000, 2319, 2319, -1000, 2130, -1000, -1000,
  6731  	-1000, -1000, 2128, -1000, -1000, 2127, -1000, -1000, -1000, -1000,
  6732  	-170, 2518, 1126, -1000, 2318, 2903, -229, -1000, 20318, 44762,
  6733  	44762, 381, -322, -1000, 1823, 1799, 1793, -1000, -229, -1000,
  6734  	19703, 44762, 3228, -1000, -233, 3079, 11101, 44762, -1000, 3220,
  6735  	-1000, -1000, 293, -1000, 442, 370, -1000, -1000, -1000, -1000,
  6736  	-1000, -1000, 1540, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6737  	-1000, -1000, -1000, 391, 1403, -1000, 44762, -1000, -1000, 233,
  6738  	36208, 38041, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 232,
  6739  	-1000, -1000, 188, -1000, 797, 211, 1671, -1000, -1000, 224,
  6740  	217, 170, 879, 2461, -1000, 1886, 1886, 1892, -1000, 670,
  6741  	-1000, -1000, -1000, -1000, 2691, -1000, -1000, -1000, 2006, 2282,
  6742  	-1000, 1782, 1782, 1579, 1579, 1579, 1579, 1579, 1751, 1751,
  6743  	-1000, -1000, -1000, 6797, 2687, 12943, 12943, 12943, 12943, 814,
  6744  	814, 1702, 3568, -1000, -1000, -1000, -1000, 11101, 189, 1850,
  6745  	-1000, 11101, 2572, 1347, 2523, 1203, 1539, -1000, -1000, -1000,
  6746  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6747  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6748  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, 2509, 2500, 2507,
  6749  	3299, 2498, 11101, -1000, -1000, 1668, 1663, 1643, -1000, 2383,
  6750  	9873, -1000, -1000, -1000, 2492, 1538, 2484, -1000, -1000, -1000,
  6751  	2482, 1642, 1186, 2481, 1798, 2479, 2478, 2477, 2473, 1397,
  6752  	11101, 11101, 11101, 11101, 2468, 1641, 1640, 11101, 11101, 11101,
  6753  	11101, 2459, 11101, 11101, 11101, 11101, 11101, 11101, 11101, 11101,
  6754  	11101, 11101, 121, 121, 121, 1382, 1381, -1000, -1000, 1625,
  6755  	-1000, 2461, -1000, -1000, 3079, -1000, 2686, 2122, 1377, -1000,
  6756  	-1000, -302, 2271, 44762, 1001, 44762, -1000, -1000, 992, 957,
  6757  	967, 3211, 3088, 44762, 1123, 2683, 44762, 44762, 44762, 247,
  6758  	-1000, -1000, 1154, -1000, 211, 235, 489, 1132, 2885, 3297,
  6759  	-147, 44762, 44762, 44762, 44762, 3119, -1000, -1000, -1000, -1000,
  6760  	-1000, -1000, -1000, -1000, 39874, -1000, 2680, 1623, -1000, -1000,
  6761  	1518, 1518, 2461, 2883, 44762, 44762, 3285, 3285, -1000, -1000,
  6762  	-1000, -1000, -1000, -1000, -1000, 1775, 3285, 3285, 1329, 1628,
  6763  	1775, -1000, -1000, 1775, -326, -1000, 1775, -1000, -326, 1521,
  6764  	-326, 44762, -1000, -1000, -1000, 3106, 2665, 1375, -1000, -1000,
  6765  	-1000, 3278, 1383, 721, 721, 986, 806, 3272, 17866, -1000,
  6766  	1645, 1027, 795, 3004, 300, -1000, 1645, -167, 699, 1645,
  6767  	1645, 1645, 1645, 1645, 1645, 1645, 584, 583, 1645, 1645,
  6768  	1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1010,
  6769  	1645, 1645, 1645, 1645, 1645, -1000, 1645, 2679, -1000, -1000,
  6770  	-1000, -1000, -1000, -1000, -1000, 637, 236, 3149, 330, -1000,
  6771  	328, 1154, 3145, 385, 3168, 1193, -1000, -1000, -1000, -1000,
  6772  	26432, 26432, 21544, 26432, -1000, 205, 43, 16, -1000, -1000,
  6773  	1364, 6174, 1364, 6174, -1000, -1000, 794, -1000, -1000, 1132,
  6774  	-1000, 44762, 44762, -1000, -1000, 2678, 1792, -1000, -1000, 15412,
  6775  	-1000, 6174, 6174, -1000, -1000, 27654, 44762, -1000, -16, -1000,
  6776  	-15, 3079, -1000, -1000, -1000, 1342, -1000, -1000, 1355, 1132,
  6777  	2901, 44762, 1342, 1342, 1342, -1000, -1000, 17255, 44762, 44762,
  6778  	-1000, -1000, -1000, 3285, 9253, -1000, 34375, -1000, -1000, 39263,
  6779  	-1000, 38652, 3285, 1843, -1000, 14180, 2111, 197, -1000, 237,
  6780  	-304, 195, 2094, 193, 2461, -1000, -1000, 2458, 2456, 1607,
  6781  	-1000, 1602, 2455, 1600, 1572, 2120, -1000, 52, -1000, 3062,
  6782  	1133, -1000, 2677, -1000, 1565, 2948, -1000, 1332, -1000, 1789,
  6783  	1560, -1000, -1000, -1000, 11101, 11101, 11101, 1133, 1551, 2947,
  6784  	1332, 3079, 2317, -1000, 1331, -1000, 2467, 1516, 157, -1000,
  6785  	-1000, -1000, 44762, 732, 2315, 1535, 38041, 1249, -1000, 790,
  6786  	1511, 1494, -1000, 36208, 286, 36208, -1000, 36208, -1000, -1000,
  6787  	362, -1000, 44762, 3067, -1000, -1000, -1000, 2271, 1784, -324,
  6788  	44762, -1000, -1000, -1000, -1000, -1000, 1519, -1000, 814, 814,
  6789  	1702, 3489, -1000, 12943, -1000, 12943, 3112, -1000, 1842, -1000,
  6790  	11101, 2067, 4773, 11101, 4773, 897, 25210, 44762, -1000, -1000,
  6791  	11101, 11101, -1000, 3099, -1000, -1000, -1000, -1000, 11101, 11101,
  6792  	2370, -1000, 44762, -1000, -1000, -1000, -1000, 25210, -1000, 12943,
  6793  	-1000, -1000, -1000, -1000, 11101, 1253, 1253, 3092, 1514, 121,
  6794  	121, 121, 3022, 3003, 2983, 1482, 121, 2977, 2963, 2946,
  6795  	2893, 2881, 2875, 2860, 2839, 2826, 2816, -1000, 2676, -1000,
  6796  	-1000, 1975, 11715, 8639, -1000, -1000, 278, 1323, 2119, 2307,
  6797  	130, -1000, 1777, -1000, 44762, 1030, -1000, -1000, -1000, 953,
  6798  	382, -1000, 266, 2452, 1313, -1000, -1000, 44762, -1000, -1000,
  6799  	-1000, 17255, 2665, 2675, 2665, 133, 1645, 590, 36208, 614,
  6800  	-1000, 44762, 44762, 1966, 1750, 2900, 780, 3030, 44762, 2672,
  6801  	394, 2669, 2668, 3104, 446, 5005, 44762, 1219, -1000, 1459,
  6802  	3956, -1000, 44762, -1000, 2160, -1000, 1628, -1000, -1000, 3285,
  6803  	-1000, -1000, 11101, 11101, 3285, 1628, 1628, -1000, 988, 1775,
  6804  	-1000, 44762, -1000, -1000, 446, 5005, 3103, 4498, 535, 2288,
  6805  	-1000, 44762, -1000, -1000, -1000, 821, -1000, 932, 724, 44762,
  6806  	1907, 932, 1906, 2667, -1000, -1000, 44762, 44762, 44762, 44762,
  6807  	-1000, -1000, 44762, -1000, 44762, 44762, 44762, 44762, 44762, 37430,
  6808  	-1000, 44762, 44762, -1000, 44762, 1904, 44762, 1903, 3137, -1000,
  6809  	1645, 1645, 916, -1000, -1000, 572, -1000, 37430, 2113, 2112,
  6810  	2110, 2105, 2305, 2302, 2301, 1645, 1645, 2103, 2296, 36819,
  6811  	2294, 1111, 2101, 2098, 2097, 2118, 2290, 948, -1000, 2289,
  6812  	2084, 2043, 2038, 44762, 2666, 2238, -1000, -1000, 133, 1645,
  6813  	324, 44762, 1744, 590, 486, -30, 22766, 44762, 34375, 34375,
  6814  	34375, 34375, -1000, 2939, 2929, -1000, 2975, 2928, 3012, 44762,
  6815  	34375, 2665, -1000, 36819, -1000, -1000, -1000, 1510, 1481, 3207,
  6816  	951, 11101, -1000, -1000, 1, 13, -1000, -1000, -1000, 36208,
  6817  	2287, 518, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 3208,
  6818  	44762, 44762, 710, 2445, 1311, -1000, -1000, -1000, 5005, 2642,
  6819  	2642, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6820  	2642, 2642, 2658, -1000, -1000, 2636, 2636, 2636, 2578, -1000,
  6821  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 2653,
  6822  	2653, 2657, 2657, 2653, -1000, -1000, 3283, -1000, 1306, -1000,
  6823  	-1000, 1431, -1000, 3283, 1877, -308, 14180, 1866, 1753, -1000,
  6824  	11101, 14180, 11101, -254, 311, -256, -1000, -1000, -1000, 2280,
  6825  	-1000, -1000, -1000, 2086, -1000, 2085, -1000, 132, 141, 1901,
  6826  	-229, 8639, 400, 44762, -229, 44762, 8639, -1000, 44762, 184,
  6827  	168, 160, 393, -229, 3208, 52, 11101, 2981, -1000, -1000,
  6828  	44762, 2066, -1000, -1000, -1000, 3292, 36208, 2160, 1589, 35597,
  6829  	-1000, 291, -1000, 230, 554, 2278, -1000, 810, 120, 2275,
  6830  	2271, -1000, -1000, -1000, -1000, 12943, 1518, -1000, -1000, -1000,
  6831  	2461, 11101, 2444, -1000, 956, 956, 1976, 2442, 2438, -1000,
  6832  	2642, 2642, -1000, 2578, 2636, 2578, 956, 956, 2435, -1000,
  6833  	2374, 2802, -1000, 2795, 2730, 11101, -1000, 2434, 3402, 1277,
  6834  	-62, -198, 121, 121, -1000, -1000, -1000, -1000, 121, 121,
  6835  	121, 121, -1000, 121, 121, 121, 121, 121, 121, 121,
  6836  	121, 121, 121, 694, -109, -288, -110, -290, -1000, 2427,
  6837  	1276, -1000, -1000, -1000, -1000, -1000, 198, 1272, 497, 497,
  6838  	2271, 2270, 789, 985, 44762, -1000, -1000, -1000, 44762, 2267,
  6839  	2266, 1123, 5005, 2420, 3096, 16644, 3095, 2157, -1000, -1000,
  6840  	-1000, 27043, 547, -1000, -1000, -1000, 682, 262, 2060, 543,
  6841  	-1000, 44762, 385, 385, 2971, 1738, 2258, 44762, -1000, -1000,
  6842  	-1000, -1000, -1000, -1000, -1000, 3030, -1000, 987, 426, 33153,
  6843  	14801, -1000, 383, 44762, -1000, 16644, 16644, 383, 436, 1958,
  6844  	-1000, 687, 1150, 149, 34375, 44762, -1000, 33764, 2419, -1000,
  6845  	1132, 3285, -1000, 2461, 2461, -326, 3285, 3285, 1735, 1628,
  6846  	-1000, 436, -1000, 383, -1000, 942, 18477, 520, 467, 423,
  6847  	-1000, 636, -1000, -1000, 686, 3020, 5005, -1000, 44762, -1000,
  6848  	44762, -1000, 44762, 44762, 724, 11101, 3020, 44762, 784, -1000,
  6849  	-1000, 1075, 417, 399, 729, 729, 1256, -1000, 3071, -1000,
  6850  	-1000, 1252, -1000, -1000, -1000, -1000, 44762, -1000, -1000, -1000,
  6851  	-1000, -1000, -1000, -1000, 25210, 25210, 3143, -1000, -1000, -1000,
  6852  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6853  	2257, 2255, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6854  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6855  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6856  	-1000, 44762, 1464, -1000, 1705, 2157, 27043, 1699, 1635, 2253,
  6857  	547, 1966, 1697, 2151, 44762, -1000, 1163, 44762, 44762, -1000,
  6858  	1287, -1000, 1696, 2880, 2895, 2880, -1000, -1000, -1000, -1000,
  6859  	2927, -1000, 2921, -1000, -1000, 1287, -1000, -1000, -1000, -1000,
  6860  	-1000, 951, -1000, 3197, 932, 932, 932, 2418, -1000, -1000,
  6861  	-1000, 1249, 2416, -1000, -1000, -1000, 3326, -1000, -1000, -1000,
  6862  	-1000, -1000, -1000, 17255, 3028, 3281, 3268, 34986, 3281, -1000,
  6863  	-308, 1801, -1000, 1846, 187, 2079, 44762, -1000, -1000, -1000,
  6864  	2409, 2407, -235, 153, 3267, 3264, 975, -1000, 2406, 1217,
  6865  	-229, -1000, -1000, 1133, -1000, -1000, -1000, -1000, -1000, -1000,
  6866  	-229, -1000, 1133, -1000, 132, -1000, -1000, 3032, -1000, -1000,
  6867  	2160, -1000, 229, -1000, -1000, -1000, -1000, -1000, -1000, 185,
  6868  	-1000, 44762, -1000, 1189, 119, -1000, 2461, -1000, -1000, -1000,
  6869  	-1000, -1000, 4773, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6870  	-1000, -1000, -1000, -1000, 11101, -1000, -1000, -1000, 2712, -1000,
  6871  	-1000, 11101, 2405, 2252, 2390, 2251, -1000, -1000, -1000, -1000,
  6872  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6873  	-1000, -1000, 3331, -1000, 3262, 1463, 2389, 2388, 1460, 2384,
  6874  	2381, -1000, 11101, 2380, 198, 924, 2248, 924, -1000, -1000,
  6875  	348, 44762, 3289, -1000, -1000, -1000, -1000, -1000, 852, 383,
  6876  	2379, 1165, -1000, -1000, -1000, -1000, 383, -1000, 2247, 210,
  6877  	-1000, -1000, -1000, -1000, 2245, 2243, 2059, -1000, -1000, 2029,
  6878  	1441, 223, -1000, -1000, -1000, -1000, -1000, -1000, 2151, 2151,
  6879  	2149, 1690, -328, -1000, 2619, -1000, 1645, 1645, 1645, 44762,
  6880  	1444, -1000, 1645, 1645, 2377, -1000, -1000, 2376, 2375, -148,
  6881  	703, 1714, 1675, -1000, 2045, 26432, 34375, 33764, 1167, -1000,
  6882  	1424, -1000, -1000, -1000, -1000, -1000, -1000, 2241, 3285, 703,
  6883  	-1000, 504, 2037, 12943, 2618, 12943, 2617, 538, 2615, 1443,
  6884  	-1000, 44762, -1000, -1000, 44762, 301, 2614, -1000, 2613, 2876,
  6885  	495, 2608, 2606, 44762, 2695, -1000, 3020, 44762, 692, 3010,
  6886  	-1000, -1000, -1000, 397, -1000, -1000, 545, -1000, 44762, -1000,
  6887  	44762, -1000, 1485, -1000, 25210, -1000, -1000, 1440, -1000, 2238,
  6888  	2237, -1000, 210, 2235, 6174, -1000, -1000, 2971, 2234, -1000,
  6889  	2233, -1000, 44762, 1163, 1163, 3331, 44762, 8639, -1000, -1000,
  6890  	11101, 2596, -1000, 11101, -1000, -1000, -1000, -1000, -1000, 2594,
  6891  	3043, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1802, -1000,
  6892  	11101, 11101, -1000, -1000, 722, 14180, -257, 309, -1000, -1000,
  6893  	-1000, -237, 2231, -1000, -1000, 3259, 2230, 2170, 44762, -1000,
  6894  	-1000, 1133, 1133, -235, -1000, -1000, 1132, -1000, -1000, 1022,
  6895  	602, -1000, 2373, 2633, -1000, 2609, 121, -1000, 121, -1000,
  6896  	239, 11101, -1000, 2228, -1000, -1000, -1000, 2227, -1000, -1000,
  6897  	2559, -1000, 2372, -1000, 2225, -1000, -1000, 44762, 757, 983,
  6898  	5005, -149, -148, 16644, -149, -1000, -1000, 358, -1000, -1000,
  6899  	339, -1000, -1000, 2017, 567, -1000, -1000, -1000, -1000, 1689,
  6900  	1949, 2193, 31320, 25210, 25821, 2219, -1000, -1000, 33153, 1802,
  6901  	1802, 47844, 290, 48025, -1000, 2593, 1023, 1674, -1000, 2033,
  6902  	-1000, 2032, -1000, 3285, 1167, 137, -1000, -1000, 1587, -346,
  6903  	-1000, 1023, 2288, 3252, -1000, 2894, 44762, 2874, 44762, 2592,
  6904  	1677, 12943, -1000, 686, 2823, -1000, -1000, 301, -1000, -1000,
  6905  	1921, 12943, -1000, -1000, 2217, 25821, 819, 1670, 1666, 854,
  6906  	2591, -1000, 549, 3322, -1000, -1000, -1000, 899, 2581, -1000,
  6907  	1899, 1898, -1000, 44762, -1000, 31320, 31320, 720, 720, 31320,
  6908  	31320, 2580, 729, -1000, -1000, 12943, -1000, -1000, 1645, -1000,
  6909  	-1000, -1000, 1645, 1421, -1000, -1000, -1000, -1000, -1000, -1000,
  6910  	2149, -1000, -1000, -1000, 3228, -1000, -1000, 2461, 44762, 2461,
  6911  	32542, -1000, 3250, 3248, -1000, 2461, 1126, -1000, -308, 44762,
  6912  	44762, -239, 2031, -1000, 2215, 161, -1000, -1000, 1128, -237,
  6913  	-242, 64, 25210, 1656, -1000, -1000, -1000, -1000, -1000, 2368,
  6914  	-1000, 853, -1000, -1000, -1000, 1126, 2367, 2365, -1000, -1000,
  6915  	-1000, -1000, 347, 44762, -136, -1000, -1000, 424, -1000, -1000,
  6916  	-1000, 556, 2180, -1000, -1000, 334, -1000, -1000, 2211, -1000,
  6917  	-1000, 112, -1000, 1647, 1411, -1000, 2578, 11101, -1000, -1000,
  6918  	-1000, -1000, -1000, -1000, 675, -1000, 383, 5073, -1000, 1027,
  6919  	-1000, 1022, 675, 30098, 619, 280, -1000, 2026, -1000, -1000,
  6920  	3331, -1000, -1000, 610, -1000, 523, -1000, 1401, -1000, 1400,
  6921  	31931, 2025, 2566, -1000, 47896, 809, -1000, -1000, 1702, -1000,
  6922  	-1000, -1000, -1000, -1000, -1000, 2210, 2208, -1000, -1000, -1000,
  6923  	-1000, -1000, 2022, 2577, 37, 3121, 2206, -1000, -1000, 2575,
  6924  	1394, 1380, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6925  	-1000, 1378, 1368, 31320, -1000, -1000, 1702, 2014, 25210, 1645,
  6926  	-1000, -1000, 1366, 1352, -1000, -1000, -1000, -1000, -1000, -1000,
  6927  	-1000, 2571, -1000, -1000, 3246, -239, -245, 2203, 125, 146,
  6928  	-1000, 2194, -1000, -1000, 915, -231, 117, 110, 106, -1000,
  6929  	-1000, -1000, 11101, -1000, -1000, 44762, 744, 44762, 544, -1000,
  6930  	-1000, -1000, -1000, 181, -1000, -1000, -1000, -1000, -1000, 2193,
  6931  	2188, -1000, 31320, 3071, 2503, 499, 3244, -1000, 48025, -1000,
  6932  	1645, -1000, 499, 1348, -1000, 1645, 1645, -1000, 458, -1000,
  6933  	1633, -1000, 2012, -1000, 3228, -1000, 439, -1000, 501, -1000,
  6934  	-1000, -1000, 1297, -1000, -1000, -1000, 47896, 512, -1000, 667,
  6935  	2568, -1000, -1000, 2363, 11101, 2563, 1645, 2320, -132, 31320,
  6936  	2719, 2714, 2635, 2574, 1291, -1000, -1000, 25210, -1000, -1000,
  6937  	30709, 44762, 2170, -1000, -1000, 2187, -1000, 734, 140, 146,
  6938  	-1000, 3240, 155, 3239, 3237, 1087, 1888, -1000, 108, 104,
  6939  	102, -1000, -1000, -1000, -1000, -1000, 344, 530, -1000, 284,
  6940  	-1000, -1000, -1000, 285, -1000, -1000, 3071, -1000, 3235, 535,
  6941  	-1000, 25210, -1000, -1000, 30098, 1802, 1802, -1000, -1000, 2001,
  6942  	-1000, -1000, -1000, -1000, 2000, -1000, -1000, -1000, 1288, -1000,
  6943  	44762, 863, 8025, -1000, 2437, -1000, 44762, -1000, 2888, -1000,
  6944  	238, 1247, 285, 720, 285, 720, 285, 720, 285, 720,
  6945  	276, -1000, -1000, -1000, 1243, -1000, -1000, -1000, 2430, 1998,
  6946  	153, 134, 3233, -1000, 2170, 3230, 2170, 2170, -1000, 124,
  6947  	915, -1000, -1000, -1000, 44762, 2186, -1000, -1000, -1000, -1000,
  6948  	1645, 1645, 2184, 2183, 427, -1000, -1000, -1000, 29487, 520,
  6949  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, 512, 48025, -1000,
  6950  	8025, 1242, -1000, 2461, -1000, 729, -1000, -1000, 2882, 2569,
  6951  	3296, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6952  	-1000, 44762, 3116, 24599, 129, -1000, -1000, -1000, 2172, -1000,
  6953  	2170, -1000, -1000, 1638, -1000, -1000, -285, 1994, 1984, -1000,
  6954  	-1000, 44762, -1000, 44762, 504, -1000, 48025, 1221, -1000, 8025,
  6955  	-1000, -1000, 3319, -1000, 3317, 843, 843, 285, 285, 285,
  6956  	285, -1000, -1000, 44762, -1000, 1161, -1000, -1000, -1000, 1423,
  6957  	-1000, -1000, -1000, -1000, 2167, -1000, -1000, 2158, -1000, -1000,
  6958  	-1000, 1116, 2288, -1000, -1000, -1000, -1000, -1000, 2016, 555,
  6959  	-1000, 1042, -1000, 1614, -1000, 28876, 44762, -1000, -1000, -1000,
  6960  	-1000, -1000, -1000, -1000, 44762, 7411, -1000, 1031, -1000, -1000,
  6961  	2461, 44762, -1000,
  6962  }
  6963  
  6964  var yyPgo = [...]int{
  6965  	0, 177, 3346, 254, 181, 3910, 84, 252, 230, 226,
  6966  	251, 3909, 3906, 3905, 3904, 3061, 3050, 3903, 3902, 3901,
  6967  	3900, 3899, 3897, 3896, 3894, 3893, 3892, 3891, 3890, 3888,
  6968  	3887, 3886, 3884, 3882, 3881, 3879, 3877, 3875, 3873, 3872,
  6969  	3870, 3869, 3868, 3867, 3866, 3865, 3864, 250, 3859, 3858,
  6970  	3857, 3856, 3854, 3851, 3850, 3848, 3847, 3846, 3845, 3834,
  6971  	3827, 3826, 3823, 3821, 3820, 3819, 3818, 3815, 3814, 3813,
  6972  	3812, 3808, 3805, 3804, 3801, 3800, 3799, 3796, 3795, 249,
  6973  	3794, 3793, 221, 3792, 3024, 3791, 3790, 3789, 3788, 3785,
  6974  	3784, 3783, 246, 3782, 3781, 3780, 3779, 3778, 3777, 3773,
  6975  	3772, 3771, 3770, 3769, 235, 3765, 3763, 3762, 3761, 222,
  6976  	3760, 228, 3759, 179, 138, 3758, 3757, 3756, 3753, 3751,
  6977  	3750, 3749, 238, 209, 74, 3747, 50, 3746, 3745, 219,
  6978  	3744, 157, 3743, 154, 3738, 3736, 3730, 3729, 3725, 3724,
  6979  	3723, 3722, 3721, 3720, 3701, 3700, 3698, 3697, 3694, 3693,
  6980  	3690, 3688, 92, 3686, 262, 3683, 73, 3679, 183, 132,
  6981  	3677, 93, 133, 258, 2356, 259, 253, 192, 184, 116,
  6982  	3676, 332, 3675, 164, 243, 162, 29, 3672, 144, 3671,
  6983  	263, 47, 35, 247, 149, 60, 168, 131, 3667, 217,
  6984  	109, 108, 3666, 3665, 145, 3664, 236, 186, 3663, 101,
  6985  	3662, 3661, 3659, 3658, 3657, 208, 198, 3656, 3655, 135,
  6986  	3654, 3652, 72, 129, 3651, 76, 122, 174, 121, 3648,
  6987  	2532, 126, 139, 119, 99, 3645, 127, 3644, 3643, 3642,
  6988  	3640, 188, 3639, 3638, 142, 71, 3624, 3620, 3618, 68,
  6989  	3617, 79, 3615, 27, 3614, 59, 3613, 3612, 3611, 3610,
  6990  	3609, 3608, 3604, 3603, 3601, 3600, 3599, 3596, 55, 3595,
  6991  	3594, 7, 11, 16, 3593, 26, 3592, 175, 3591, 3589,
  6992  	3588, 3583, 3579, 90, 88, 3577, 91, 170, 3576, 9,
  6993  	28, 75, 3574, 3571, 224, 134, 103, 160, 3569, 325,
  6994  	3568, 3567, 3565, 163, 3564, 601, 3563, 3562, 3561, 3558,
  6995  	3557, 3556, 49, 3555, 234, 41, 3552, 136, 141, 3551,
  6996  	39, 48, 117, 220, 143, 95, 3536, 3535, 3533, 137,
  6997  	195, 111, 38, 0, 3532, 155, 3530, 3529, 3528, 257,
  6998  	3525, 240, 225, 169, 261, 264, 211, 3524, 3522, 70,
  6999  	124, 3521, 165, 43, 58, 148, 96, 21, 265, 3520,
  7000  	423, 8, 202, 3519, 206, 3517, 191, 15, 123, 158,
  7001  	3515, 3514, 32, 266, 3512, 3511, 3510, 130, 3509, 3505,
  7002  	172, 66, 3504, 3503, 3501, 3499, 36, 3498, 37, 13,
  7003  	3497, 102, 3495, 241, 3494, 256, 140, 189, 185, 166,
  7004  	232, 237, 85, 77, 3493, 1818, 161, 98, 17, 3492,
  7005  	231, 3491, 187, 114, 3487, 106, 3486, 248, 267, 216,
  7006  	3484, 190, 10, 46, 40, 30, 45, 12, 1271, 223,
  7007  	3483, 3482, 22, 53, 3481, 52, 3480, 19, 3479, 3478,
  7008  	3477, 78, 5, 3475, 3474, 18, 20, 3473, 33, 213,
  7009  	176, 128, 89, 65, 3472, 3471, 51, 197, 3468, 152,
  7010  	159, 151, 3467, 80, 3466, 3465, 3462, 3460, 728, 3459,
  7011  	255, 3457, 3455, 3454, 3453, 3451, 3447, 3446, 3445, 215,
  7012  	3444, 107, 44, 3443, 3442, 3441, 3439, 82, 153, 3437,
  7013  	3435, 3433, 3432, 31, 146, 3430, 14, 3429, 25, 23,
  7014  	34, 3427, 100, 3426, 3, 194, 3425, 3424, 4, 3420,
  7015  	3419, 1, 2, 3418, 3417, 118, 3416, 97, 24, 171,
  7016  	104, 3415, 3414, 87, 214, 150, 3413, 3412, 94, 242,
  7017  	207, 3411, 178, 239, 260, 3409, 212, 3408, 3406, 3403,
  7018  	3402, 3401, 3399, 1140, 3398, 3397, 245, 69, 81, 3396,
  7019  	227, 113, 3393, 3391, 86, 167, 125, 115, 61, 83,
  7020  	3390, 112, 196, 3388, 200, 3387, 3386, 3385, 105, 3384,
  7021  	3383, 3382, 3380, 193, 3378, 3377, 205, 233, 3375, 3374,
  7022  	323, 3371, 3367, 3366, 3359, 3356, 3355, 3354, 3352, 3351,
  7023  	3349, 277, 269, 3344,
  7024  }
  7025  
  7026  //line mysql_sql.y:12099
  7027  type yySymType struct {
  7028  	union interface{}
  7029  	id    int
  7030  	str   string
  7031  	item  interface{}
  7032  	yys   int
  7033  }
  7034  
  7035  func (st *yySymType) PartitionNamesUnion() tree.IdentifierList {
  7036  	v, _ := st.union.(tree.IdentifierList)
  7037  	return v
  7038  }
  7039  
  7040  func (st *yySymType) accessModeUnion() tree.AccessModeType {
  7041  	v, _ := st.union.(tree.AccessModeType)
  7042  	return v
  7043  }
  7044  
  7045  func (st *yySymType) accountAuthOptionUnion() tree.AccountAuthOption {
  7046  	v, _ := st.union.(tree.AccountAuthOption)
  7047  	return v
  7048  }
  7049  
  7050  func (st *yySymType) accountCommentUnion() tree.AccountComment {
  7051  	v, _ := st.union.(tree.AccountComment)
  7052  	return v
  7053  }
  7054  
  7055  func (st *yySymType) accountCommentOrAttributeUnion() tree.AccountCommentOrAttribute {
  7056  	v, _ := st.union.(tree.AccountCommentOrAttribute)
  7057  	return v
  7058  }
  7059  
  7060  func (st *yySymType) accountIdentifiedUnion() tree.AccountIdentified {
  7061  	v, _ := st.union.(tree.AccountIdentified)
  7062  	return v
  7063  }
  7064  
  7065  func (st *yySymType) accountRoleUnion() *tree.Role {
  7066  	v, _ := st.union.(*tree.Role)
  7067  	return v
  7068  }
  7069  
  7070  func (st *yySymType) accountStatusUnion() tree.AccountStatus {
  7071  	v, _ := st.union.(tree.AccountStatus)
  7072  	return v
  7073  }
  7074  
  7075  func (st *yySymType) accountsSetOptionUnion() *tree.AccountsSetOption {
  7076  	v, _ := st.union.(*tree.AccountsSetOption)
  7077  	return v
  7078  }
  7079  
  7080  func (st *yySymType) aliasedTableExprUnion() *tree.AliasedTableExpr {
  7081  	v, _ := st.union.(*tree.AliasedTableExpr)
  7082  	return v
  7083  }
  7084  
  7085  func (st *yySymType) alterAccountAuthOptionUnion() tree.AlterAccountAuthOption {
  7086  	v, _ := st.union.(tree.AlterAccountAuthOption)
  7087  	return v
  7088  }
  7089  
  7090  func (st *yySymType) alterColPositionUnion() *tree.ColumnPosition {
  7091  	v, _ := st.union.(*tree.ColumnPosition)
  7092  	return v
  7093  }
  7094  
  7095  func (st *yySymType) alterColumnOrderUnion() *tree.AlterColumnOrder {
  7096  	v, _ := st.union.(*tree.AlterColumnOrder)
  7097  	return v
  7098  }
  7099  
  7100  func (st *yySymType) alterColumnOrderByUnion() []*tree.AlterColumnOrder {
  7101  	v, _ := st.union.([]*tree.AlterColumnOrder)
  7102  	return v
  7103  }
  7104  
  7105  func (st *yySymType) alterPartitionOptionUnion() tree.AlterPartitionOption {
  7106  	v, _ := st.union.(tree.AlterPartitionOption)
  7107  	return v
  7108  }
  7109  
  7110  func (st *yySymType) alterTableUnion() tree.AlterTable {
  7111  	v, _ := st.union.(tree.AlterTable)
  7112  	return v
  7113  }
  7114  
  7115  func (st *yySymType) alterTableOptionUnion() tree.AlterTableOption {
  7116  	v, _ := st.union.(tree.AlterTableOption)
  7117  	return v
  7118  }
  7119  
  7120  func (st *yySymType) alterTableOptionsUnion() tree.AlterTableOptions {
  7121  	v, _ := st.union.(tree.AlterTableOptions)
  7122  	return v
  7123  }
  7124  
  7125  func (st *yySymType) alterTypeOptionUnion() *tree.TypeOption {
  7126  	v, _ := st.union.(*tree.TypeOption)
  7127  	return v
  7128  }
  7129  
  7130  func (st *yySymType) assignmentUnion() *tree.Assignment {
  7131  	v, _ := st.union.(*tree.Assignment)
  7132  	return v
  7133  }
  7134  
  7135  func (st *yySymType) assignmentsUnion() []*tree.Assignment {
  7136  	v, _ := st.union.([]*tree.Assignment)
  7137  	return v
  7138  }
  7139  
  7140  func (st *yySymType) atTimeStampUnion() *tree.AtTimeStamp {
  7141  	v, _ := st.union.(*tree.AtTimeStamp)
  7142  	return v
  7143  }
  7144  
  7145  func (st *yySymType) attributeNullUnion() tree.AttributeNull {
  7146  	v, _ := st.union.(tree.AttributeNull)
  7147  	return v
  7148  }
  7149  
  7150  func (st *yySymType) attributeReferenceUnion() *tree.AttributeReference {
  7151  	v, _ := st.union.(*tree.AttributeReference)
  7152  	return v
  7153  }
  7154  
  7155  func (st *yySymType) authRecordUnion() *tree.AuthRecord {
  7156  	v, _ := st.union.(*tree.AuthRecord)
  7157  	return v
  7158  }
  7159  
  7160  func (st *yySymType) boolValUnion() bool {
  7161  	v, _ := st.union.(bool)
  7162  	return v
  7163  }
  7164  
  7165  func (st *yySymType) clusterByOptionUnion() *tree.ClusterByOption {
  7166  	v, _ := st.union.(*tree.ClusterByOption)
  7167  	return v
  7168  }
  7169  
  7170  func (st *yySymType) columnAttributeUnion() tree.ColumnAttribute {
  7171  	v, _ := st.union.(tree.ColumnAttribute)
  7172  	return v
  7173  }
  7174  
  7175  func (st *yySymType) columnAttributesUnion() []tree.ColumnAttribute {
  7176  	v, _ := st.union.([]tree.ColumnAttribute)
  7177  	return v
  7178  }
  7179  
  7180  func (st *yySymType) columnTableDefUnion() *tree.ColumnTableDef {
  7181  	v, _ := st.union.(*tree.ColumnTableDef)
  7182  	return v
  7183  }
  7184  
  7185  func (st *yySymType) columnTypeUnion() *tree.T {
  7186  	v, _ := st.union.(*tree.T)
  7187  	return v
  7188  }
  7189  
  7190  func (st *yySymType) comparisionExprUnion() *tree.ComparisonExpr {
  7191  	v, _ := st.union.(*tree.ComparisonExpr)
  7192  	return v
  7193  }
  7194  
  7195  func (st *yySymType) comparisonOpUnion() tree.ComparisonOp {
  7196  	v, _ := st.union.(tree.ComparisonOp)
  7197  	return v
  7198  }
  7199  
  7200  func (st *yySymType) completionTypeUnion() tree.CompletionType {
  7201  	v, _ := st.union.(tree.CompletionType)
  7202  	return v
  7203  }
  7204  
  7205  func (st *yySymType) connectorOptionUnion() *tree.ConnectorOption {
  7206  	v, _ := st.union.(*tree.ConnectorOption)
  7207  	return v
  7208  }
  7209  
  7210  func (st *yySymType) connectorOptionalUnion() bool {
  7211  	v, _ := st.union.(bool)
  7212  	return v
  7213  }
  7214  
  7215  func (st *yySymType) connectorOptionsUnion() []*tree.ConnectorOption {
  7216  	v, _ := st.union.([]*tree.ConnectorOption)
  7217  	return v
  7218  }
  7219  
  7220  func (st *yySymType) createOptionUnion() tree.CreateOption {
  7221  	v, _ := st.union.(tree.CreateOption)
  7222  	return v
  7223  }
  7224  
  7225  func (st *yySymType) createOptionsUnion() []tree.CreateOption {
  7226  	v, _ := st.union.([]tree.CreateOption)
  7227  	return v
  7228  }
  7229  
  7230  func (st *yySymType) cstrUnion() *tree.CStr {
  7231  	v, _ := st.union.(*tree.CStr)
  7232  	return v
  7233  }
  7234  
  7235  func (st *yySymType) cteUnion() *tree.CTE {
  7236  	v, _ := st.union.(*tree.CTE)
  7237  	return v
  7238  }
  7239  
  7240  func (st *yySymType) cteListUnion() []*tree.CTE {
  7241  	v, _ := st.union.([]*tree.CTE)
  7242  	return v
  7243  }
  7244  
  7245  func (st *yySymType) cycleOptionUnion() *tree.CycleOption {
  7246  	v, _ := st.union.(*tree.CycleOption)
  7247  	return v
  7248  }
  7249  
  7250  func (st *yySymType) defaultOptionalUnion() bool {
  7251  	v, _ := st.union.(bool)
  7252  	return v
  7253  }
  7254  
  7255  func (st *yySymType) directionUnion() tree.Direction {
  7256  	v, _ := st.union.(tree.Direction)
  7257  	return v
  7258  }
  7259  
  7260  func (st *yySymType) duplicateKeyUnion() tree.DuplicateKey {
  7261  	v, _ := st.union.(tree.DuplicateKey)
  7262  	return v
  7263  }
  7264  
  7265  func (st *yySymType) elseIfClauseUnion() *tree.ElseIfStmt {
  7266  	v, _ := st.union.(*tree.ElseIfStmt)
  7267  	return v
  7268  }
  7269  
  7270  func (st *yySymType) elseIfClauseListUnion() []*tree.ElseIfStmt {
  7271  	v, _ := st.union.([]*tree.ElseIfStmt)
  7272  	return v
  7273  }
  7274  
  7275  func (st *yySymType) epxlainOptionUnion() tree.OptionElem {
  7276  	v, _ := st.union.(tree.OptionElem)
  7277  	return v
  7278  }
  7279  
  7280  func (st *yySymType) epxlainOptionsUnion() []tree.OptionElem {
  7281  	v, _ := st.union.([]tree.OptionElem)
  7282  	return v
  7283  }
  7284  
  7285  func (st *yySymType) exportParmUnion() *tree.ExportParam {
  7286  	v, _ := st.union.(*tree.ExportParam)
  7287  	return v
  7288  }
  7289  
  7290  func (st *yySymType) exprUnion() tree.Expr {
  7291  	v, _ := st.union.(tree.Expr)
  7292  	return v
  7293  }
  7294  
  7295  func (st *yySymType) exprsUnion() tree.Exprs {
  7296  	v, _ := st.union.(tree.Exprs)
  7297  	return v
  7298  }
  7299  
  7300  func (st *yySymType) fieldsUnion() *tree.Fields {
  7301  	v, _ := st.union.(*tree.Fields)
  7302  	return v
  7303  }
  7304  
  7305  func (st *yySymType) fieldsListUnion() []*tree.Fields {
  7306  	v, _ := st.union.([]*tree.Fields)
  7307  	return v
  7308  }
  7309  
  7310  func (st *yySymType) fillModeUnion() tree.FillMode {
  7311  	v, _ := st.union.(tree.FillMode)
  7312  	return v
  7313  }
  7314  
  7315  func (st *yySymType) frameBoundUnion() *tree.FrameBound {
  7316  	v, _ := st.union.(*tree.FrameBound)
  7317  	return v
  7318  }
  7319  
  7320  func (st *yySymType) frameClauseUnion() *tree.FrameClause {
  7321  	v, _ := st.union.(*tree.FrameClause)
  7322  	return v
  7323  }
  7324  
  7325  func (st *yySymType) frameTypeUnion() tree.FrameType {
  7326  	v, _ := st.union.(tree.FrameType)
  7327  	return v
  7328  }
  7329  
  7330  func (st *yySymType) fromUnion() *tree.From {
  7331  	v, _ := st.union.(*tree.From)
  7332  	return v
  7333  }
  7334  
  7335  func (st *yySymType) fullOptUnion() bool {
  7336  	v, _ := st.union.(bool)
  7337  	return v
  7338  }
  7339  
  7340  func (st *yySymType) funcArgUnion() tree.FunctionArg {
  7341  	v, _ := st.union.(tree.FunctionArg)
  7342  	return v
  7343  }
  7344  
  7345  func (st *yySymType) funcArgDeclUnion() *tree.FunctionArgDecl {
  7346  	v, _ := st.union.(*tree.FunctionArgDecl)
  7347  	return v
  7348  }
  7349  
  7350  func (st *yySymType) funcArgsUnion() tree.FunctionArgs {
  7351  	v, _ := st.union.(tree.FunctionArgs)
  7352  	return v
  7353  }
  7354  
  7355  func (st *yySymType) funcExprUnion() *tree.FuncExpr {
  7356  	v, _ := st.union.(*tree.FuncExpr)
  7357  	return v
  7358  }
  7359  
  7360  func (st *yySymType) funcReturnUnion() *tree.ReturnType {
  7361  	v, _ := st.union.(*tree.ReturnType)
  7362  	return v
  7363  }
  7364  
  7365  func (st *yySymType) funcTypeUnion() tree.FuncType {
  7366  	v, _ := st.union.(tree.FuncType)
  7367  	return v
  7368  }
  7369  
  7370  func (st *yySymType) functionNameUnion() *tree.FunctionName {
  7371  	v, _ := st.union.(*tree.FunctionName)
  7372  	return v
  7373  }
  7374  
  7375  func (st *yySymType) groupByUnion() tree.GroupBy {
  7376  	v, _ := st.union.(tree.GroupBy)
  7377  	return v
  7378  }
  7379  
  7380  func (st *yySymType) identifierListUnion() tree.IdentifierList {
  7381  	v, _ := st.union.(tree.IdentifierList)
  7382  	return v
  7383  }
  7384  
  7385  func (st *yySymType) ifNotExistsUnion() bool {
  7386  	v, _ := st.union.(bool)
  7387  	return v
  7388  }
  7389  
  7390  func (st *yySymType) incrementByOptionUnion() *tree.IncrementByOption {
  7391  	v, _ := st.union.(*tree.IncrementByOption)
  7392  	return v
  7393  }
  7394  
  7395  func (st *yySymType) indexCategoryUnion() tree.IndexCategory {
  7396  	v, _ := st.union.(tree.IndexCategory)
  7397  	return v
  7398  }
  7399  
  7400  func (st *yySymType) indexHintUnion() *tree.IndexHint {
  7401  	v, _ := st.union.(*tree.IndexHint)
  7402  	return v
  7403  }
  7404  
  7405  func (st *yySymType) indexHintListUnion() []*tree.IndexHint {
  7406  	v, _ := st.union.([]*tree.IndexHint)
  7407  	return v
  7408  }
  7409  
  7410  func (st *yySymType) indexHintScopeUnion() tree.IndexHintScope {
  7411  	v, _ := st.union.(tree.IndexHintScope)
  7412  	return v
  7413  }
  7414  
  7415  func (st *yySymType) indexHintTypeUnion() tree.IndexHintType {
  7416  	v, _ := st.union.(tree.IndexHintType)
  7417  	return v
  7418  }
  7419  
  7420  func (st *yySymType) indexOptionUnion() *tree.IndexOption {
  7421  	v, _ := st.union.(*tree.IndexOption)
  7422  	return v
  7423  }
  7424  
  7425  func (st *yySymType) indexTypeUnion() tree.IndexType {
  7426  	v, _ := st.union.(tree.IndexType)
  7427  	return v
  7428  }
  7429  
  7430  func (st *yySymType) indexVisibilityUnion() tree.VisibleType {
  7431  	v, _ := st.union.(tree.VisibleType)
  7432  	return v
  7433  }
  7434  
  7435  func (st *yySymType) insertUnion() *tree.Insert {
  7436  	v, _ := st.union.(*tree.Insert)
  7437  	return v
  7438  }
  7439  
  7440  func (st *yySymType) int64ValUnion() int64 {
  7441  	v, _ := st.union.(int64)
  7442  	return v
  7443  }
  7444  
  7445  func (st *yySymType) isolationLevelUnion() tree.IsolationLevelType {
  7446  	v, _ := st.union.(tree.IsolationLevelType)
  7447  	return v
  7448  }
  7449  
  7450  func (st *yySymType) joinCondUnion() tree.JoinCond {
  7451  	v, _ := st.union.(tree.JoinCond)
  7452  	return v
  7453  }
  7454  
  7455  func (st *yySymType) joinTableExprUnion() *tree.JoinTableExpr {
  7456  	v, _ := st.union.(*tree.JoinTableExpr)
  7457  	return v
  7458  }
  7459  
  7460  func (st *yySymType) keyPartUnion() *tree.KeyPart {
  7461  	v, _ := st.union.(*tree.KeyPart)
  7462  	return v
  7463  }
  7464  
  7465  func (st *yySymType) keyPartsUnion() []*tree.KeyPart {
  7466  	v, _ := st.union.([]*tree.KeyPart)
  7467  	return v
  7468  }
  7469  
  7470  func (st *yySymType) killOptionUnion() tree.KillOption {
  7471  	v, _ := st.union.(tree.KillOption)
  7472  	return v
  7473  }
  7474  
  7475  func (st *yySymType) lengthOptUnion() int32 {
  7476  	v, _ := st.union.(int32)
  7477  	return v
  7478  }
  7479  
  7480  func (st *yySymType) lengthScaleOptUnion() tree.LengthScaleOpt {
  7481  	v, _ := st.union.(tree.LengthScaleOpt)
  7482  	return v
  7483  }
  7484  
  7485  func (st *yySymType) limitUnion() *tree.Limit {
  7486  	v, _ := st.union.(*tree.Limit)
  7487  	return v
  7488  }
  7489  
  7490  func (st *yySymType) linesUnion() *tree.Lines {
  7491  	v, _ := st.union.(*tree.Lines)
  7492  	return v
  7493  }
  7494  
  7495  func (st *yySymType) loadColumnUnion() tree.LoadColumn {
  7496  	v, _ := st.union.(tree.LoadColumn)
  7497  	return v
  7498  }
  7499  
  7500  func (st *yySymType) loadColumnsUnion() []tree.LoadColumn {
  7501  	v, _ := st.union.([]tree.LoadColumn)
  7502  	return v
  7503  }
  7504  
  7505  func (st *yySymType) loadParamUnion() *tree.ExternParam {
  7506  	v, _ := st.union.(*tree.ExternParam)
  7507  	return v
  7508  }
  7509  
  7510  func (st *yySymType) matchTypeUnion() tree.MatchType {
  7511  	v, _ := st.union.(tree.MatchType)
  7512  	return v
  7513  }
  7514  
  7515  func (st *yySymType) maxValueOptionUnion() *tree.MaxValueOption {
  7516  	v, _ := st.union.(*tree.MaxValueOption)
  7517  	return v
  7518  }
  7519  
  7520  func (st *yySymType) minValueOptionUnion() *tree.MinValueOption {
  7521  	v, _ := st.union.(*tree.MinValueOption)
  7522  	return v
  7523  }
  7524  
  7525  func (st *yySymType) nullsPositionUnion() tree.NullsPosition {
  7526  	v, _ := st.union.(tree.NullsPosition)
  7527  	return v
  7528  }
  7529  
  7530  func (st *yySymType) numValUnion() *tree.NumVal {
  7531  	v, _ := st.union.(*tree.NumVal)
  7532  	return v
  7533  }
  7534  
  7535  func (st *yySymType) objectTypeUnion() tree.ObjectType {
  7536  	v, _ := st.union.(tree.ObjectType)
  7537  	return v
  7538  }
  7539  
  7540  func (st *yySymType) orderUnion() *tree.Order {
  7541  	v, _ := st.union.(*tree.Order)
  7542  	return v
  7543  }
  7544  
  7545  func (st *yySymType) orderByUnion() tree.OrderBy {
  7546  	v, _ := st.union.(tree.OrderBy)
  7547  	return v
  7548  }
  7549  
  7550  func (st *yySymType) parenTableExprUnion() *tree.ParenTableExpr {
  7551  	v, _ := st.union.(*tree.ParenTableExpr)
  7552  	return v
  7553  }
  7554  
  7555  func (st *yySymType) partitionUnion() *tree.Partition {
  7556  	v, _ := st.union.(*tree.Partition)
  7557  	return v
  7558  }
  7559  
  7560  func (st *yySymType) partitionByUnion() *tree.PartitionBy {
  7561  	v, _ := st.union.(*tree.PartitionBy)
  7562  	return v
  7563  }
  7564  
  7565  func (st *yySymType) partitionOptionUnion() *tree.PartitionOption {
  7566  	v, _ := st.union.(*tree.PartitionOption)
  7567  	return v
  7568  }
  7569  
  7570  func (st *yySymType) partitionsUnion() []*tree.Partition {
  7571  	v, _ := st.union.([]*tree.Partition)
  7572  	return v
  7573  }
  7574  
  7575  func (st *yySymType) privilegeUnion() *tree.Privilege {
  7576  	v, _ := st.union.(*tree.Privilege)
  7577  	return v
  7578  }
  7579  
  7580  func (st *yySymType) privilegeLevelUnion() *tree.PrivilegeLevel {
  7581  	v, _ := st.union.(*tree.PrivilegeLevel)
  7582  	return v
  7583  }
  7584  
  7585  func (st *yySymType) privilegeTypeUnion() tree.PrivilegeType {
  7586  	v, _ := st.union.(tree.PrivilegeType)
  7587  	return v
  7588  }
  7589  
  7590  func (st *yySymType) privilegesUnion() []*tree.Privilege {
  7591  	v, _ := st.union.([]*tree.Privilege)
  7592  	return v
  7593  }
  7594  
  7595  func (st *yySymType) procArgUnion() tree.ProcedureArg {
  7596  	v, _ := st.union.(tree.ProcedureArg)
  7597  	return v
  7598  }
  7599  
  7600  func (st *yySymType) procArgDeclUnion() *tree.ProcedureArgDecl {
  7601  	v, _ := st.union.(*tree.ProcedureArgDecl)
  7602  	return v
  7603  }
  7604  
  7605  func (st *yySymType) procArgTypeUnion() tree.InOutArgType {
  7606  	v, _ := st.union.(tree.InOutArgType)
  7607  	return v
  7608  }
  7609  
  7610  func (st *yySymType) procArgsUnion() tree.ProcedureArgs {
  7611  	v, _ := st.union.(tree.ProcedureArgs)
  7612  	return v
  7613  }
  7614  
  7615  func (st *yySymType) procNameUnion() *tree.ProcedureName {
  7616  	v, _ := st.union.(*tree.ProcedureName)
  7617  	return v
  7618  }
  7619  
  7620  func (st *yySymType) propertiesUnion() []tree.Property {
  7621  	v, _ := st.union.([]tree.Property)
  7622  	return v
  7623  }
  7624  
  7625  func (st *yySymType) propertyUnion() tree.Property {
  7626  	v, _ := st.union.(tree.Property)
  7627  	return v
  7628  }
  7629  
  7630  func (st *yySymType) referenceOnRecordUnion() *tree.ReferenceOnRecord {
  7631  	v, _ := st.union.(*tree.ReferenceOnRecord)
  7632  	return v
  7633  }
  7634  
  7635  func (st *yySymType) referenceOptionTypeUnion() tree.ReferenceOptionType {
  7636  	v, _ := st.union.(tree.ReferenceOptionType)
  7637  	return v
  7638  }
  7639  
  7640  func (st *yySymType) replaceUnion() *tree.Replace {
  7641  	v, _ := st.union.(*tree.Replace)
  7642  	return v
  7643  }
  7644  
  7645  func (st *yySymType) resourceOptionUnion() tree.ResourceOption {
  7646  	v, _ := st.union.(tree.ResourceOption)
  7647  	return v
  7648  }
  7649  
  7650  func (st *yySymType) resourceOptionsUnion() []tree.ResourceOption {
  7651  	v, _ := st.union.([]tree.ResourceOption)
  7652  	return v
  7653  }
  7654  
  7655  func (st *yySymType) roleUnion() *tree.Role {
  7656  	v, _ := st.union.(*tree.Role)
  7657  	return v
  7658  }
  7659  
  7660  func (st *yySymType) rolesUnion() []*tree.Role {
  7661  	v, _ := st.union.([]*tree.Role)
  7662  	return v
  7663  }
  7664  
  7665  func (st *yySymType) rowFormatTypeUnion() tree.RowFormatType {
  7666  	v, _ := st.union.(tree.RowFormatType)
  7667  	return v
  7668  }
  7669  
  7670  func (st *yySymType) rowsExprsUnion() []tree.Exprs {
  7671  	v, _ := st.union.([]tree.Exprs)
  7672  	return v
  7673  }
  7674  
  7675  func (st *yySymType) selectUnion() *tree.Select {
  7676  	v, _ := st.union.(*tree.Select)
  7677  	return v
  7678  }
  7679  
  7680  func (st *yySymType) selectExprUnion() tree.SelectExpr {
  7681  	v, _ := st.union.(tree.SelectExpr)
  7682  	return v
  7683  }
  7684  
  7685  func (st *yySymType) selectExprsUnion() tree.SelectExprs {
  7686  	v, _ := st.union.(tree.SelectExprs)
  7687  	return v
  7688  }
  7689  
  7690  func (st *yySymType) selectLockInfoUnion() *tree.SelectLockInfo {
  7691  	v, _ := st.union.(*tree.SelectLockInfo)
  7692  	return v
  7693  }
  7694  
  7695  func (st *yySymType) selectStatementUnion() tree.SelectStatement {
  7696  	v, _ := st.union.(tree.SelectStatement)
  7697  	return v
  7698  }
  7699  
  7700  func (st *yySymType) setDefaultRoleUnion() *tree.SetDefaultRole {
  7701  	v, _ := st.union.(*tree.SetDefaultRole)
  7702  	return v
  7703  }
  7704  
  7705  func (st *yySymType) setRoleUnion() *tree.SetRole {
  7706  	v, _ := st.union.(*tree.SetRole)
  7707  	return v
  7708  }
  7709  
  7710  func (st *yySymType) showTypeUnion() tree.ShowType {
  7711  	v, _ := st.union.(tree.ShowType)
  7712  	return v
  7713  }
  7714  
  7715  func (st *yySymType) snapshotObjectUnion() tree.ObjectInfo {
  7716  	v, _ := st.union.(tree.ObjectInfo)
  7717  	return v
  7718  }
  7719  
  7720  func (st *yySymType) sourceOptionalUnion() bool {
  7721  	v, _ := st.union.(bool)
  7722  	return v
  7723  }
  7724  
  7725  func (st *yySymType) stageCommentUnion() tree.StageComment {
  7726  	v, _ := st.union.(tree.StageComment)
  7727  	return v
  7728  }
  7729  
  7730  func (st *yySymType) stageCredentialsUnion() tree.StageCredentials {
  7731  	v, _ := st.union.(tree.StageCredentials)
  7732  	return v
  7733  }
  7734  
  7735  func (st *yySymType) stageStatusUnion() tree.StageStatus {
  7736  	v, _ := st.union.(tree.StageStatus)
  7737  	return v
  7738  }
  7739  
  7740  func (st *yySymType) stageUrlUnion() tree.StageUrl {
  7741  	v, _ := st.union.(tree.StageUrl)
  7742  	return v
  7743  }
  7744  
  7745  func (st *yySymType) startWithOptionUnion() *tree.StartWithOption {
  7746  	v, _ := st.union.(*tree.StartWithOption)
  7747  	return v
  7748  }
  7749  
  7750  func (st *yySymType) statementUnion() tree.Statement {
  7751  	v, _ := st.union.(tree.Statement)
  7752  	return v
  7753  }
  7754  
  7755  func (st *yySymType) statementOptionUnion() tree.StatementOption {
  7756  	v, _ := st.union.(tree.StatementOption)
  7757  	return v
  7758  }
  7759  
  7760  func (st *yySymType) statementsUnion() []tree.Statement {
  7761  	v, _ := st.union.([]tree.Statement)
  7762  	return v
  7763  }
  7764  
  7765  func (st *yySymType) strsUnion() []string {
  7766  	v, _ := st.union.([]string)
  7767  	return v
  7768  }
  7769  
  7770  func (st *yySymType) subPartitionUnion() *tree.SubPartition {
  7771  	v, _ := st.union.(*tree.SubPartition)
  7772  	return v
  7773  }
  7774  
  7775  func (st *yySymType) subPartitionsUnion() []*tree.SubPartition {
  7776  	v, _ := st.union.([]*tree.SubPartition)
  7777  	return v
  7778  }
  7779  
  7780  func (st *yySymType) subqueryUnion() *tree.Subquery {
  7781  	v, _ := st.union.(*tree.Subquery)
  7782  	return v
  7783  }
  7784  
  7785  func (st *yySymType) subscriptionOptionUnion() *tree.SubscriptionOption {
  7786  	v, _ := st.union.(*tree.SubscriptionOption)
  7787  	return v
  7788  }
  7789  
  7790  func (st *yySymType) tableDefUnion() tree.TableDef {
  7791  	v, _ := st.union.(tree.TableDef)
  7792  	return v
  7793  }
  7794  
  7795  func (st *yySymType) tableDefsUnion() tree.TableDefs {
  7796  	v, _ := st.union.(tree.TableDefs)
  7797  	return v
  7798  }
  7799  
  7800  func (st *yySymType) tableExprUnion() tree.TableExpr {
  7801  	v, _ := st.union.(tree.TableExpr)
  7802  	return v
  7803  }
  7804  
  7805  func (st *yySymType) tableExprsUnion() tree.TableExprs {
  7806  	v, _ := st.union.(tree.TableExprs)
  7807  	return v
  7808  }
  7809  
  7810  func (st *yySymType) tableLockUnion() tree.TableLock {
  7811  	v, _ := st.union.(tree.TableLock)
  7812  	return v
  7813  }
  7814  
  7815  func (st *yySymType) tableLockTypeUnion() tree.TableLockType {
  7816  	v, _ := st.union.(tree.TableLockType)
  7817  	return v
  7818  }
  7819  
  7820  func (st *yySymType) tableLocksUnion() []tree.TableLock {
  7821  	v, _ := st.union.([]tree.TableLock)
  7822  	return v
  7823  }
  7824  
  7825  func (st *yySymType) tableNameUnion() *tree.TableName {
  7826  	v, _ := st.union.(*tree.TableName)
  7827  	return v
  7828  }
  7829  
  7830  func (st *yySymType) tableNamesUnion() tree.TableNames {
  7831  	v, _ := st.union.(tree.TableNames)
  7832  	return v
  7833  }
  7834  
  7835  func (st *yySymType) tableOptionUnion() tree.TableOption {
  7836  	v, _ := st.union.(tree.TableOption)
  7837  	return v
  7838  }
  7839  
  7840  func (st *yySymType) tableOptionsUnion() []tree.TableOption {
  7841  	v, _ := st.union.([]tree.TableOption)
  7842  	return v
  7843  }
  7844  
  7845  func (st *yySymType) tailParamUnion() *tree.TailParameter {
  7846  	v, _ := st.union.(*tree.TailParameter)
  7847  	return v
  7848  }
  7849  
  7850  func (st *yySymType) timeFillUnion() *tree.Fill {
  7851  	v, _ := st.union.(*tree.Fill)
  7852  	return v
  7853  }
  7854  
  7855  func (st *yySymType) timeIntervalUnion() *tree.Interval {
  7856  	v, _ := st.union.(*tree.Interval)
  7857  	return v
  7858  }
  7859  
  7860  func (st *yySymType) timeSlidingUnion() *tree.Sliding {
  7861  	v, _ := st.union.(*tree.Sliding)
  7862  	return v
  7863  }
  7864  
  7865  func (st *yySymType) timeWindowUnion() *tree.TimeWindow {
  7866  	v, _ := st.union.(*tree.TimeWindow)
  7867  	return v
  7868  }
  7869  
  7870  func (st *yySymType) tlsOptionUnion() tree.TlsOption {
  7871  	v, _ := st.union.(tree.TlsOption)
  7872  	return v
  7873  }
  7874  
  7875  func (st *yySymType) tlsOptionsUnion() []tree.TlsOption {
  7876  	v, _ := st.union.([]tree.TlsOption)
  7877  	return v
  7878  }
  7879  
  7880  func (st *yySymType) transactionCharacteristicUnion() *tree.TransactionCharacteristic {
  7881  	v, _ := st.union.(*tree.TransactionCharacteristic)
  7882  	return v
  7883  }
  7884  
  7885  func (st *yySymType) transactionCharacteristicListUnion() []*tree.TransactionCharacteristic {
  7886  	v, _ := st.union.([]*tree.TransactionCharacteristic)
  7887  	return v
  7888  }
  7889  
  7890  func (st *yySymType) tupleUnion() *tree.Tuple {
  7891  	v, _ := st.union.(*tree.Tuple)
  7892  	return v
  7893  }
  7894  
  7895  func (st *yySymType) unionTypeRecordUnion() *tree.UnionTypeRecord {
  7896  	v, _ := st.union.(*tree.UnionTypeRecord)
  7897  	return v
  7898  }
  7899  
  7900  func (st *yySymType) unresolveNamesUnion() []*tree.UnresolvedName {
  7901  	v, _ := st.union.([]*tree.UnresolvedName)
  7902  	return v
  7903  }
  7904  
  7905  func (st *yySymType) unresolvedNameUnion() *tree.UnresolvedName {
  7906  	v, _ := st.union.(*tree.UnresolvedName)
  7907  	return v
  7908  }
  7909  
  7910  func (st *yySymType) unresolvedObjectNameUnion() *tree.UnresolvedObjectName {
  7911  	v, _ := st.union.(*tree.UnresolvedObjectName)
  7912  	return v
  7913  }
  7914  
  7915  func (st *yySymType) unsignedOptUnion() bool {
  7916  	v, _ := st.union.(bool)
  7917  	return v
  7918  }
  7919  
  7920  func (st *yySymType) updateExprUnion() *tree.UpdateExpr {
  7921  	v, _ := st.union.(*tree.UpdateExpr)
  7922  	return v
  7923  }
  7924  
  7925  func (st *yySymType) updateExprsUnion() tree.UpdateExprs {
  7926  	v, _ := st.union.(tree.UpdateExprs)
  7927  	return v
  7928  }
  7929  
  7930  func (st *yySymType) upgrade_targetUnion() *tree.Target {
  7931  	v, _ := st.union.(*tree.Target)
  7932  	return v
  7933  }
  7934  
  7935  func (st *yySymType) userUnion() *tree.User {
  7936  	v, _ := st.union.(*tree.User)
  7937  	return v
  7938  }
  7939  
  7940  func (st *yySymType) userIdentifiedUnion() *tree.AccountIdentified {
  7941  	v, _ := st.union.(*tree.AccountIdentified)
  7942  	return v
  7943  }
  7944  
  7945  func (st *yySymType) userMiscOptionUnion() tree.UserMiscOption {
  7946  	v, _ := st.union.(tree.UserMiscOption)
  7947  	return v
  7948  }
  7949  
  7950  func (st *yySymType) userMiscOptionsUnion() []tree.UserMiscOption {
  7951  	v, _ := st.union.([]tree.UserMiscOption)
  7952  	return v
  7953  }
  7954  
  7955  func (st *yySymType) usernameRecordUnion() *tree.UsernameRecord {
  7956  	v, _ := st.union.(*tree.UsernameRecord)
  7957  	return v
  7958  }
  7959  
  7960  func (st *yySymType) usersUnion() []*tree.User {
  7961  	v, _ := st.union.([]*tree.User)
  7962  	return v
  7963  }
  7964  
  7965  func (st *yySymType) valuesUnion() tree.Values {
  7966  	v, _ := st.union.(tree.Values)
  7967  	return v
  7968  }
  7969  
  7970  func (st *yySymType) varAssignmentExprUnion() *tree.VarAssignmentExpr {
  7971  	v, _ := st.union.(*tree.VarAssignmentExpr)
  7972  	return v
  7973  }
  7974  
  7975  func (st *yySymType) varAssignmentExprsUnion() []*tree.VarAssignmentExpr {
  7976  	v, _ := st.union.([]*tree.VarAssignmentExpr)
  7977  	return v
  7978  }
  7979  
  7980  func (st *yySymType) varExprUnion() *tree.VarExpr {
  7981  	v, _ := st.union.(*tree.VarExpr)
  7982  	return v
  7983  }
  7984  
  7985  func (st *yySymType) varExprsUnion() []*tree.VarExpr {
  7986  	v, _ := st.union.([]*tree.VarExpr)
  7987  	return v
  7988  }
  7989  
  7990  func (st *yySymType) whenClauseUnion() *tree.When {
  7991  	v, _ := st.union.(*tree.When)
  7992  	return v
  7993  }
  7994  
  7995  func (st *yySymType) whenClause2Union() *tree.WhenStmt {
  7996  	v, _ := st.union.(*tree.WhenStmt)
  7997  	return v
  7998  }
  7999  
  8000  func (st *yySymType) whenClauseListUnion() []*tree.When {
  8001  	v, _ := st.union.([]*tree.When)
  8002  	return v
  8003  }
  8004  
  8005  func (st *yySymType) whenClauseList2Union() []*tree.WhenStmt {
  8006  	v, _ := st.union.([]*tree.WhenStmt)
  8007  	return v
  8008  }
  8009  
  8010  func (st *yySymType) whereUnion() *tree.Where {
  8011  	v, _ := st.union.(*tree.Where)
  8012  	return v
  8013  }
  8014  
  8015  func (st *yySymType) windowSpecUnion() *tree.WindowSpec {
  8016  	v, _ := st.union.(*tree.WindowSpec)
  8017  	return v
  8018  }
  8019  
  8020  func (st *yySymType) withClauseUnion() *tree.With {
  8021  	v, _ := st.union.(*tree.With)
  8022  	return v
  8023  }
  8024  
  8025  func (st *yySymType) zeroFillOptUnion() bool {
  8026  	v, _ := st.union.(bool)
  8027  	return v
  8028  }
  8029  
  8030  var yyR1 = [...]int{
  8031  	0, 576, 579, 579, 5, 5, 2, 6, 6, 3,
  8032  	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  8033  	1, 1, 1, 1, 4, 4, 4, 4, 4, 4,
  8034  	4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
  8035  	4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
  8036  	4, 4, 4, 4, 4, 119, 119, 314, 314, 315,
  8037  	315, 149, 555, 555, 120, 120, 120, 120, 120, 120,
  8038  	120, 118, 561, 561, 561, 562, 562, 115, 138, 137,
  8039  	140, 140, 139, 139, 136, 136, 132, 135, 135, 134,
  8040  	134, 133, 128, 130, 130, 129, 131, 131, 116, 104,
  8041  	117, 504, 504, 503, 503, 502, 502, 454, 454, 455,
  8042  	455, 501, 501, 501, 500, 500, 500, 499, 499, 498,
  8043  	498, 497, 497, 495, 495, 496, 494, 493, 493, 493,
  8044  	491, 491, 491, 487, 487, 489, 488, 488, 490, 482,
  8045  	482, 485, 485, 483, 483, 483, 483, 486, 481, 481,
  8046  	481, 480, 480, 103, 103, 103, 397, 397, 102, 102,
  8047  	411, 411, 411, 411, 411, 409, 409, 409, 409, 409,
  8048  	409, 408, 408, 407, 407, 412, 412, 410, 410, 410,
  8049  	410, 410, 410, 410, 410, 410, 410, 410, 410, 410,
  8050  	410, 410, 410, 410, 410, 410, 410, 410, 410, 410,
  8051  	410, 410, 410, 410, 410, 410, 410, 410, 410, 410,
  8052  	410, 410, 410, 410, 410, 410, 410, 410, 410, 410,
  8053  	410, 410, 410, 410, 410, 410, 410, 410, 93, 93,
  8054  	93, 93, 93, 98, 98, 98, 567, 567, 566, 566,
  8055  	568, 568, 568, 568, 569, 569, 96, 96, 96, 97,
  8056  	406, 406, 406, 94, 95, 95, 396, 396, 401, 401,
  8057  	400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
  8058  	400, 400, 400, 405, 405, 405, 403, 403, 402, 402,
  8059  	404, 404, 87, 87, 87, 90, 89, 395, 395, 395,
  8060  	395, 395, 395, 395, 395, 395, 88, 88, 88, 88,
  8061  	88, 88, 83, 83, 83, 83, 83, 82, 82, 84,
  8062  	84, 393, 393, 392, 99, 99, 100, 564, 564, 563,
  8063  	565, 565, 565, 565, 101, 107, 107, 107, 107, 107,
  8064  	107, 107, 107, 106, 106, 109, 109, 108, 110, 92,
  8065  	92, 92, 92, 92, 92, 91, 91, 91, 91, 91,
  8066  	91, 91, 91, 91, 91, 91, 91, 91, 529, 529,
  8067  	529, 531, 531, 327, 328, 580, 330, 326, 326, 326,
  8068  	525, 525, 526, 527, 528, 528, 528, 105, 14, 195,
  8069  	195, 429, 429, 11, 11, 11, 11, 11, 11, 11,
  8070  	11, 13, 81, 86, 86, 266, 266, 271, 271, 272,
  8071  	272, 272, 277, 277, 278, 278, 267, 267, 267, 267,
  8072  	267, 267, 267, 267, 267, 267, 267, 267, 267, 267,
  8073  	267, 267, 267, 267, 267, 267, 267, 267, 253, 253,
  8074  	253, 248, 248, 248, 248, 249, 249, 250, 250, 251,
  8075  	251, 251, 251, 252, 252, 320, 320, 273, 273, 273,
  8076  	275, 275, 274, 270, 268, 268, 268, 268, 268, 268,
  8077  	268, 269, 269, 269, 269, 276, 276, 79, 85, 85,
  8078  	85, 543, 543, 80, 554, 554, 458, 458, 342, 342,
  8079  	341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
  8080  	341, 341, 341, 341, 341, 341, 463, 464, 337, 47,
  8081  	47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
  8082  	47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
  8083  	47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
  8084  	47, 54, 57, 58, 53, 53, 53, 382, 382, 52,
  8085  	581, 581, 313, 313, 67, 66, 56, 68, 69, 70,
  8086  	71, 72, 73, 51, 65, 65, 65, 65, 65, 65,
  8087  	65, 65, 76, 476, 476, 583, 583, 583, 74, 75,
  8088  	457, 457, 457, 64, 63, 62, 61, 60, 60, 50,
  8089  	50, 49, 49, 55, 144, 59, 145, 145, 334, 334,
  8090  	334, 336, 336, 332, 340, 340, 582, 582, 425, 425,
  8091  	335, 335, 48, 48, 48, 48, 77, 333, 333, 312,
  8092  	331, 331, 331, 12, 12, 10, 17, 17, 17, 17,
  8093  	17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
  8094  	17, 26, 27, 29, 390, 390, 387, 28, 20, 19,
  8095  	19, 23, 22, 18, 18, 21, 24, 25, 25, 9,
  8096  	9, 9, 9, 15, 15, 16, 168, 168, 221, 221,
  8097  	537, 537, 533, 533, 534, 534, 534, 535, 535, 536,
  8098  	536, 111, 470, 470, 470, 470, 470, 470, 8, 8,
  8099  	190, 190, 469, 469, 469, 469, 469, 469, 394, 394,
  8100  	394, 514, 514, 514, 515, 189, 189, 184, 184, 471,
  8101  	471, 359, 516, 516, 479, 479, 478, 478, 477, 477,
  8102  	187, 187, 188, 188, 171, 171, 123, 123, 484, 484,
  8103  	484, 484, 492, 492, 453, 453, 258, 258, 305, 305,
  8104  	306, 306, 161, 161, 162, 162, 162, 162, 162, 162,
  8105  	570, 570, 571, 572, 573, 573, 574, 574, 574, 575,
  8106  	575, 575, 575, 575, 522, 522, 524, 524, 523, 186,
  8107  	186, 182, 182, 183, 183, 183, 181, 181, 180, 179,
  8108  	179, 178, 176, 176, 176, 177, 177, 177, 194, 194,
  8109  	164, 164, 164, 163, 163, 163, 163, 163, 289, 289,
  8110  	289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
  8111  	165, 165, 530, 530, 530, 459, 459, 459, 466, 466,
  8112  	286, 286, 287, 287, 285, 285, 166, 166, 167, 167,
  8113  	167, 167, 284, 284, 283, 169, 169, 175, 174, 174,
  8114  	170, 170, 170, 170, 294, 294, 293, 293, 293, 293,
  8115  	114, 121, 121, 122, 193, 193, 292, 291, 291, 291,
  8116  	192, 192, 191, 191, 185, 185, 173, 173, 173, 173,
  8117  	290, 172, 288, 560, 560, 559, 559, 558, 556, 556,
  8118  	556, 557, 557, 557, 557, 506, 506, 506, 506, 506,
  8119  	321, 321, 321, 325, 325, 324, 324, 324, 324, 324,
  8120  	329, 7, 7, 7, 7, 7, 7, 7, 33, 33,
  8121  	33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
  8122  	33, 39, 204, 205, 40, 206, 206, 207, 207, 208,
  8123  	208, 209, 210, 211, 211, 211, 211, 38, 196, 196,
  8124  	197, 197, 198, 198, 199, 200, 200, 200, 203, 201,
  8125  	202, 202, 578, 578, 577, 37, 37, 30, 153, 153,
  8126  	154, 154, 154, 156, 156, 254, 254, 254, 155, 155,
  8127  	157, 157, 157, 538, 540, 540, 542, 541, 541, 541,
  8128  	544, 544, 544, 544, 544, 545, 545, 545, 545, 546,
  8129  	546, 31, 141, 141, 146, 549, 549, 549, 548, 548,
  8130  	550, 550, 551, 551, 309, 309, 310, 310, 151, 152,
  8131  	152, 148, 143, 159, 159, 159, 159, 159, 160, 160,
  8132  	142, 147, 150, 539, 547, 547, 547, 391, 391, 388,
  8133  	389, 389, 386, 385, 385, 385, 553, 553, 552, 552,
  8134  	552, 322, 322, 32, 381, 381, 383, 384, 384, 384,
  8135  	375, 375, 375, 375, 36, 379, 379, 380, 380, 380,
  8136  	380, 380, 380, 380, 376, 376, 378, 378, 374, 374,
  8137  	374, 374, 374, 374, 374, 35, 158, 158, 373, 373,
  8138  	370, 370, 368, 368, 369, 369, 367, 367, 367, 371,
  8139  	371, 43, 78, 44, 45, 46, 42, 372, 372, 34,
  8140  	34, 34, 34, 34, 34, 34, 34, 34, 34, 125,
  8141  	124, 124, 124, 124, 124, 127, 127, 308, 308, 307,
  8142  	307, 126, 255, 255, 41, 233, 233, 445, 445, 440,
  8143  	440, 440, 440, 440, 461, 461, 461, 441, 441, 441,
  8144  	442, 442, 442, 444, 444, 444, 443, 443, 443, 443,
  8145  	443, 460, 460, 462, 462, 462, 413, 413, 414, 414,
  8146  	414, 417, 417, 432, 432, 433, 433, 431, 431, 438,
  8147  	438, 437, 437, 436, 436, 435, 435, 434, 434, 434,
  8148  	434, 428, 428, 427, 427, 415, 415, 415, 415, 415,
  8149  	416, 416, 416, 426, 426, 430, 430, 282, 282, 281,
  8150  	281, 241, 241, 242, 242, 280, 280, 239, 239, 240,
  8151  	240, 240, 279, 279, 279, 279, 279, 279, 279, 279,
  8152  	279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
  8153  	279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
  8154  	279, 279, 279, 279, 279, 279, 279, 512, 512, 513,
  8155  	244, 244, 256, 256, 256, 256, 256, 256, 243, 243,
  8156  	245, 245, 222, 222, 220, 220, 212, 212, 212, 212,
  8157  	212, 213, 213, 214, 214, 215, 215, 215, 219, 219,
  8158  	218, 218, 218, 218, 216, 216, 217, 217, 217, 217,
  8159  	217, 217, 399, 399, 509, 509, 510, 510, 505, 505,
  8160  	505, 508, 508, 508, 508, 508, 508, 508, 511, 511,
  8161  	511, 507, 507, 223, 303, 303, 303, 323, 323, 323,
  8162  	323, 302, 302, 302, 238, 238, 237, 237, 235, 235,
  8163  	235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
  8164  	235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
  8165  	398, 398, 338, 338, 339, 339, 265, 264, 264, 264,
  8166  	264, 264, 262, 263, 261, 261, 261, 261, 261, 260,
  8167  	260, 259, 259, 259, 377, 377, 257, 257, 247, 247,
  8168  	247, 246, 246, 246, 439, 346, 346, 346, 346, 346,
  8169  	346, 346, 346, 346, 346, 346, 346, 346, 348, 348,
  8170  	348, 348, 348, 348, 348, 348, 348, 348, 348, 348,
  8171  	348, 348, 348, 348, 348, 348, 348, 348, 348, 348,
  8172  	348, 348, 348, 348, 300, 300, 300, 301, 301, 301,
  8173  	301, 301, 301, 301, 301, 349, 349, 355, 355, 521,
  8174  	521, 520, 224, 224, 224, 225, 225, 225, 225, 225,
  8175  	225, 225, 225, 225, 234, 234, 234, 422, 422, 422,
  8176  	422, 423, 423, 423, 423, 424, 424, 424, 420, 420,
  8177  	421, 421, 360, 361, 361, 467, 467, 468, 468, 418,
  8178  	418, 419, 299, 299, 299, 299, 299, 299, 299, 299,
  8179  	299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
  8180  	299, 299, 299, 299, 475, 475, 475, 296, 296, 296,
  8181  	296, 296, 296, 296, 296, 296, 296, 296, 296, 296,
  8182  	296, 296, 296, 532, 532, 532, 517, 517, 517, 518,
  8183  	518, 518, 518, 518, 518, 518, 518, 518, 518, 518,
  8184  	518, 519, 519, 519, 519, 519, 519, 519, 519, 519,
  8185  	519, 519, 519, 519, 519, 519, 519, 519, 298, 298,
  8186  	298, 297, 297, 297, 297, 297, 297, 297, 297, 297,
  8187  	297, 297, 297, 297, 297, 297, 297, 297, 297, 362,
  8188  	362, 363, 363, 472, 472, 472, 472, 472, 472, 473,
  8189  	473, 474, 474, 474, 474, 465, 465, 465, 465, 465,
  8190  	465, 465, 465, 465, 465, 465, 465, 465, 465, 465,
  8191  	465, 465, 465, 465, 465, 465, 465, 465, 465, 465,
  8192  	465, 465, 465, 465, 347, 295, 295, 295, 364, 356,
  8193  	356, 357, 357, 358, 358, 350, 350, 350, 350, 350,
  8194  	350, 351, 351, 353, 353, 353, 353, 353, 353, 353,
  8195  	353, 353, 353, 353, 345, 345, 345, 345, 345, 345,
  8196  	345, 345, 345, 345, 345, 352, 352, 354, 354, 366,
  8197  	366, 366, 365, 365, 365, 365, 365, 365, 365, 236,
  8198  	236, 236, 236, 344, 344, 344, 343, 343, 343, 343,
  8199  	343, 343, 343, 343, 343, 343, 343, 343, 226, 226,
  8200  	226, 226, 230, 230, 232, 232, 232, 232, 232, 232,
  8201  	232, 232, 232, 232, 232, 232, 232, 232, 231, 231,
  8202  	231, 231, 231, 229, 229, 229, 229, 229, 227, 227,
  8203  	227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
  8204  	227, 227, 227, 227, 227, 227, 112, 113, 113, 228,
  8205  	304, 304, 446, 446, 449, 449, 447, 447, 448, 450,
  8206  	450, 450, 451, 451, 451, 452, 452, 452, 456, 456,
  8207  	311, 311, 311, 319, 319, 318, 318, 318, 318, 318,
  8208  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8209  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8210  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8211  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8212  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8213  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8214  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8215  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8216  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8217  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8218  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8219  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8220  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8221  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8222  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8223  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8224  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8225  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8226  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8227  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8228  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8229  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8230  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8231  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8232  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8233  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8234  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8235  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8236  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8237  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8238  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8239  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8240  	318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
  8241  	318, 318, 318, 318, 318, 318, 318, 318, 318, 317,
  8242  	317, 317, 317, 317, 317, 317, 317, 317, 317, 316,
  8243  	316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
  8244  	316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
  8245  	316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
  8246  	316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
  8247  	316, 316, 316, 316, 316, 316, 316, 316, 316,
  8248  }
  8249  
  8250  var yyR2 = [...]int{
  8251  	0, 1, 1, 1, 1, 3, 3, 1, 3, 1,
  8252  	1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
  8253  	1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
  8254  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8255  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8256  	1, 1, 1, 1, 1, 8, 8, 0, 2, 0,
  8257  	2, 6, 1, 2, 5, 6, 8, 10, 9, 11,
  8258  	13, 4, 0, 1, 1, 0, 1, 5, 2, 2,
  8259  	6, 9, 6, 9, 4, 7, 8, 0, 1, 1,
  8260  	2, 4, 6, 1, 2, 4, 0, 2, 10, 11,
  8261  	2, 0, 2, 1, 3, 3, 3, 0, 2, 0,
  8262  	2, 1, 3, 5, 0, 2, 3, 1, 3, 1,
  8263  	1, 1, 3, 1, 1, 1, 1, 0, 3, 3,
  8264  	0, 3, 3, 0, 1, 3, 0, 1, 3, 0,
  8265  	2, 1, 2, 3, 4, 3, 3, 1, 0, 1,
  8266  	1, 0, 1, 8, 5, 7, 0, 3, 8, 5,
  8267  	1, 3, 3, 3, 1, 1, 1, 1, 1, 1,
  8268  	1, 1, 3, 1, 4, 1, 3, 1, 2, 2,
  8269  	2, 2, 2, 2, 2, 1, 2, 2, 2, 2,
  8270  	1, 1, 2, 2, 1, 1, 1, 1, 1, 2,
  8271  	2, 2, 1, 2, 1, 2, 2, 1, 2, 1,
  8272  	1, 2, 2, 1, 1, 1, 3, 2, 2, 2,
  8273  	2, 2, 2, 2, 2, 1, 1, 1, 1, 1,
  8274  	1, 1, 1, 3, 4, 4, 1, 3, 3, 1,
  8275  	2, 2, 2, 1, 2, 2, 3, 4, 4, 6,
  8276  	1, 1, 1, 2, 4, 6, 1, 4, 1, 3,
  8277  	3, 4, 4, 4, 4, 3, 3, 2, 4, 4,
  8278  	2, 2, 2, 1, 1, 1, 1, 1, 1, 3,
  8279  	1, 3, 1, 1, 1, 2, 2, 0, 1, 4,
  8280  	2, 4, 1, 5, 3, 2, 1, 2, 2, 4,
  8281  	4, 5, 2, 1, 3, 4, 4, 1, 2, 9,
  8282  	7, 1, 3, 3, 1, 1, 3, 1, 3, 2,
  8283  	1, 2, 1, 2, 2, 1, 1, 1, 1, 1,
  8284  	1, 1, 1, 4, 4, 2, 4, 3, 3, 1,
  8285  	1, 1, 1, 1, 1, 2, 3, 4, 7, 2,
  8286  	3, 3, 4, 5, 3, 4, 4, 5, 1, 1,
  8287  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8288  	1, 3, 2, 1, 1, 1, 1, 6, 4, 1,
  8289  	1, 0, 3, 1, 1, 1, 1, 1, 1, 1,
  8290  	1, 10, 7, 4, 4, 1, 3, 1, 6, 3,
  8291  	3, 3, 1, 1, 1, 3, 2, 4, 5, 5,
  8292  	6, 5, 5, 3, 2, 2, 1, 3, 4, 3,
  8293  	7, 5, 8, 2, 2, 1, 3, 2, 0, 1,
  8294  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8295  	1, 1, 1, 1, 1, 0, 1, 0, 1, 2,
  8296  	1, 3, 2, 1, 2, 2, 1, 2, 3, 2,
  8297  	2, 3, 6, 3, 3, 1, 1, 7, 7, 8,
  8298  	8, 0, 4, 7, 0, 3, 0, 2, 0, 1,
  8299  	1, 1, 1, 4, 2, 2, 3, 3, 4, 5,
  8300  	3, 4, 4, 2, 2, 2, 3, 0, 1, 1,
  8301  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8302  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8303  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8304  	1, 4, 3, 3, 2, 5, 5, 0, 2, 7,
  8305  	0, 1, 0, 1, 5, 5, 3, 3, 2, 4,
  8306  	4, 4, 4, 4, 1, 1, 1, 3, 3, 1,
  8307  	1, 1, 6, 0, 1, 1, 1, 1, 5, 5,
  8308  	0, 1, 1, 3, 3, 3, 4, 7, 7, 5,
  8309  	4, 7, 8, 3, 3, 2, 3, 4, 0, 2,
  8310  	2, 0, 2, 2, 0, 5, 1, 1, 1, 1,
  8311  	0, 1, 5, 5, 5, 4, 3, 1, 3, 1,
  8312  	1, 3, 5, 2, 3, 1, 1, 1, 1, 1,
  8313  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8314  	1, 4, 4, 4, 1, 3, 1, 4, 6, 6,
  8315  	4, 4, 4, 4, 4, 3, 6, 3, 5, 1,
  8316  	1, 2, 2, 11, 8, 9, 1, 3, 2, 4,
  8317  	0, 2, 0, 1, 1, 1, 1, 0, 1, 0,
  8318  	1, 4, 2, 1, 5, 4, 4, 2, 5, 5,
  8319  	1, 3, 2, 1, 5, 4, 4, 2, 0, 5,
  8320  	4, 0, 1, 3, 3, 1, 3, 1, 3, 1,
  8321  	3, 4, 0, 1, 0, 1, 1, 3, 1, 1,
  8322  	0, 4, 1, 3, 2, 1, 0, 8, 0, 4,
  8323  	7, 4, 0, 2, 0, 2, 0, 2, 0, 4,
  8324  	1, 3, 1, 1, 6, 4, 5, 7, 4, 5,
  8325  	0, 1, 3, 8, 0, 6, 0, 4, 6, 1,
  8326  	1, 1, 1, 1, 2, 3, 1, 3, 6, 0,
  8327  	3, 0, 1, 2, 4, 4, 0, 1, 3, 1,
  8328  	3, 3, 0, 1, 1, 0, 2, 2, 0, 2,
  8329  	3, 3, 3, 1, 3, 3, 3, 3, 1, 2,
  8330  	2, 1, 2, 2, 1, 2, 2, 1, 2, 2,
  8331  	7, 7, 1, 1, 1, 0, 1, 1, 1, 1,
  8332  	0, 2, 0, 3, 0, 2, 1, 3, 1, 2,
  8333  	3, 5, 0, 1, 2, 1, 3, 1, 1, 1,
  8334  	4, 4, 4, 3, 2, 2, 2, 3, 2, 3,
  8335  	4, 1, 3, 4, 0, 2, 1, 1, 2, 2,
  8336  	0, 1, 2, 4, 1, 3, 1, 3, 2, 3,
  8337  	1, 4, 3, 0, 1, 1, 2, 5, 2, 2,
  8338  	2, 0, 2, 3, 3, 0, 1, 3, 1, 3,
  8339  	0, 1, 2, 1, 1, 0, 1, 2, 1, 2,
  8340  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8341  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8342  	1, 7, 1, 1, 7, 1, 3, 0, 1, 1,
  8343  	3, 1, 3, 0, 1, 1, 1, 14, 1, 3,
  8344  	0, 1, 1, 3, 1, 1, 2, 4, 1, 1,
  8345  	1, 1, 0, 1, 2, 9, 9, 7, 1, 2,
  8346  	3, 3, 3, 0, 4, 1, 1, 1, 1, 1,
  8347  	0, 1, 1, 1, 1, 1, 4, 1, 1, 1,
  8348  	3, 3, 4, 3, 3, 0, 1, 1, 1, 0,
  8349  	2, 7, 8, 8, 8, 0, 3, 3, 0, 3,
  8350  	0, 3, 0, 5, 1, 3, 0, 3, 3, 0,
  8351  	2, 9, 7, 0, 2, 2, 3, 3, 0, 2,
  8352  	4, 4, 4, 1, 0, 2, 2, 1, 3, 2,
  8353  	1, 3, 2, 1, 3, 2, 0, 1, 3, 4,
  8354  	3, 1, 1, 4, 1, 3, 1, 1, 1, 1,
  8355  	0, 1, 1, 1, 11, 0, 2, 3, 3, 2,
  8356  	2, 3, 1, 1, 1, 3, 3, 4, 0, 2,
  8357  	2, 2, 2, 2, 2, 6, 0, 4, 1, 1,
  8358  	0, 3, 0, 1, 1, 2, 4, 4, 4, 0,
  8359  	1, 8, 2, 4, 4, 4, 9, 0, 2, 11,
  8360  	9, 11, 8, 6, 9, 7, 10, 7, 6, 2,
  8361  	2, 9, 4, 5, 3, 0, 4, 1, 3, 0,
  8362  	3, 6, 0, 2, 10, 0, 2, 0, 2, 0,
  8363  	3, 2, 4, 3, 0, 2, 1, 0, 2, 3,
  8364  	0, 2, 3, 0, 2, 1, 0, 3, 2, 4,
  8365  	3, 0, 1, 0, 1, 1, 0, 6, 0, 3,
  8366  	5, 0, 4, 0, 3, 1, 3, 4, 5, 0,
  8367  	3, 1, 3, 2, 3, 1, 2, 0, 4, 6,
  8368  	5, 0, 2, 0, 2, 4, 5, 4, 5, 1,
  8369  	5, 6, 5, 0, 3, 0, 1, 1, 3, 3,
  8370  	3, 0, 4, 1, 3, 3, 3, 0, 1, 1,
  8371  	3, 2, 3, 3, 3, 4, 4, 3, 3, 3,
  8372  	3, 4, 4, 3, 3, 3, 3, 3, 3, 3,
  8373  	3, 3, 3, 3, 3, 2, 3, 3, 3, 3,
  8374  	3, 3, 3, 3, 1, 5, 4, 1, 3, 3,
  8375  	2, 2, 1, 1, 1, 1, 1, 1, 1, 1,
  8376  	1, 1, 1, 3, 2, 4, 0, 2, 5, 5,
  8377  	5, 0, 1, 1, 3, 1, 1, 1, 1, 1,
  8378  	7, 9, 7, 9, 2, 1, 7, 9, 7, 9,
  8379  	8, 5, 0, 1, 0, 1, 1, 1, 1, 3,
  8380  	3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8381  	1, 0, 1, 3, 1, 3, 5, 1, 1, 1,
  8382  	1, 1, 3, 5, 0, 1, 1, 2, 1, 2,
  8383  	2, 1, 1, 2, 2, 2, 3, 3, 2, 2,
  8384  	1, 5, 6, 4, 1, 1, 1, 5, 4, 1,
  8385  	1, 2, 0, 1, 1, 2, 5, 0, 1, 1,
  8386  	2, 2, 3, 3, 1, 1, 2, 2, 2, 0,
  8387  	1, 2, 2, 2, 0, 3, 0, 3, 1, 1,
  8388  	1, 1, 1, 1, 1, 3, 3, 3, 3, 3,
  8389  	3, 3, 3, 3, 3, 3, 3, 1, 1, 1,
  8390  	1, 3, 5, 2, 2, 2, 2, 4, 1, 1,
  8391  	2, 5, 6, 8, 6, 6, 6, 1, 1, 1,
  8392  	1, 1, 1, 3, 4, 4, 4, 7, 9, 7,
  8393  	7, 7, 9, 7, 7, 0, 2, 0, 1, 1,
  8394  	2, 4, 1, 2, 2, 1, 2, 2, 1, 2,
  8395  	2, 2, 2, 2, 0, 1, 1, 1, 2, 2,
  8396  	2, 2, 2, 2, 2, 1, 1, 1, 2, 5,
  8397  	0, 1, 3, 0, 1, 0, 2, 0, 2, 0,
  8398  	1, 6, 8, 8, 6, 6, 5, 5, 5, 6,
  8399  	6, 6, 6, 5, 6, 6, 6, 6, 6, 6,
  8400  	6, 6, 6, 6, 1, 1, 1, 4, 4, 6,
  8401  	8, 6, 4, 5, 4, 4, 4, 3, 4, 6,
  8402  	6, 7, 4, 1, 1, 1, 1, 1, 1, 1,
  8403  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8404  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8405  	1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
  8406  	8, 4, 2, 3, 2, 4, 2, 2, 4, 6,
  8407  	2, 2, 4, 6, 4, 2, 4, 4, 4, 0,
  8408  	1, 2, 3, 1, 1, 1, 1, 1, 1, 0,
  8409  	2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8410  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8411  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8412  	1, 1, 1, 1, 3, 0, 1, 1, 3, 0,
  8413  	1, 1, 3, 1, 3, 3, 3, 3, 3, 2,
  8414  	1, 1, 1, 3, 4, 3, 4, 3, 4, 3,
  8415  	4, 3, 4, 1, 3, 4, 4, 5, 4, 5,
  8416  	3, 4, 5, 6, 1, 0, 2, 1, 1, 1,
  8417  	1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
  8418  	2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8419  	1, 1, 1, 2, 1, 1, 1, 2, 3, 1,
  8420  	1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
  8421  	1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
  8422  	2, 2, 2, 1, 2, 2, 2, 2, 2, 2,
  8423  	2, 2, 1, 1, 1, 1, 1, 1, 1, 1,
  8424  	1, 2, 2, 4, 4, 1, 2, 3, 5, 1,
  8425  	1, 3, 0, 1, 0, 3, 0, 3, 3, 0,
  8426  	3, 5, 0, 3, 5, 0, 1, 1, 0, 1,
  8427  	1, 2, 2, 0, 1, 1, 1, 1, 1, 1,
  8428  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8429  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8430  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8431  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8432  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8433  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8434  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8435  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8436  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8437  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8438  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8439  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8440  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8441  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8442  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8443  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8444  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8445  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8446  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8447  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8448  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8449  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8450  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8451  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8452  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8453  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8454  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8455  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8456  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8457  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8458  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8459  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8460  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8461  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8462  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8463  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8464  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8465  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8466  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  8467  	1, 1, 1, 1, 1, 1, 1, 1, 1,
  8468  }
  8469  
  8470  var yyChk = [...]int{
  8471  	-1000, -576, -579, -2, -5, 621, -1, -4, -113, -87,
  8472  	-7, -14, -115, -116, -8, -111, -9, -10, -12, -91,
  8473  	-106, -108, -110, -109, -47, -11, -105, -82, -83, -93,
  8474  	-99, -102, -103, -104, -117, -112, -114, -161, -118, -119,
  8475  	-120, 611, -88, -89, -90, -33, -32, -31, -30, -141,
  8476  	-146, -149, 544, 617, 447, 14, 496, -15, -16, -522,
  8477  	-17, 259, -326, -327, -328, -330, -580, -48, -49, -50,
  8478  	-60, -61, -62, -63, -64, -74, -75, -76, -51, -52,
  8479  	-53, -56, -54, -67, -66, -68, -69, -70, -71, -72,
  8480  	-73, -55, -59, -144, -145, -77, -57, -78, -58, -80,
  8481  	-79, -85, -81, -86, -143, -148, -13, 234, -84, 76,
  8482  	-94, -95, -96, -97, -98, -100, -101, 371, 377, 434,
  8483  	610, 61, -162, -164, 628, 629, 632, 159, 160, 162,
  8484  	163, -34, -35, -36, -37, -38, -39, -41, -40, -42,
  8485  	-43, -44, -45, -46, 230, 16, 539, -18, -21, -19,
  8486  	-22, -20, -28, -29, -27, -24, -26, -142, -25, -147,
  8487  	-23, -150, 254, 253, 38, 320, 321, 322, 375, 252,
  8488  	231, 15, 31, 42, 351, -163, 82, 531, 532, 534,
  8489  	232, -165, 13, 634, -6, -3, -2, -128, -132, -136,
  8490  	-139, -140, -137, -138, -4, -113, 117, 244, 612, -323,
  8491  	367, 613, 615, 614, 85, 93, -316, -318, 447, 259,
  8492  	371, 377, 610, 629, 632, 546, 547, 548, 549, 550,
  8493  	551, 552, 553, 555, 556, 557, 558, 559, 560, 561,
  8494  	571, 572, 562, 563, 564, 565, 566, 567, 568, 569,
  8495  	573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
  8496  	583, 584, 585, 586, 499, 596, 597, 598, 599, 527,
  8497  	554, 590, 591, 592, 593, 349, 350, 536, 271, 295,
  8498  	402, 301, 308, 159, 178, 172, 200, 192, 532, 167,
  8499  	275, 313, 276, 92, 162, 482, 107, 459, 431, 165,
  8500  	290, 292, 294, 528, 529, 361, 297, 526, 296, 298,
  8501  	300, 530, 277, 352, 188, 183, 289, 273, 181, 278,
  8502  	40, 279, 205, 280, 281, 541, 455, 348, 461, 305,
  8503  	52, 429, 182, 456, 293, 458, 209, 213, 473, 474,
  8504  	176, 177, 463, 476, 204, 207, 208, 251, 345, 346,
  8505  	43, 538, 263, 477, 211, 203, 199, 485, 309, 307,
  8506  	202, 175, 198, 274, 65, 215, 214, 216, 425, 426,
  8507  	427, 428, 282, 283, 365, 472, 195, 184, 353, 168,
  8508  	23, 480, 258, 460, 378, 284, 302, 310, 210, 212,
  8509  	265, 270, 540, 531, 433, 269, 306, 478, 180, 262,
  8510  	291, 257, 481, 169, 534, 380, 285, 163, 299, 475,
  8511  	484, 64, 393, 174, 166, 248, 160, 267, 272, 286,
  8512  	287, 288, 525, 312, 311, 303, 533, 196, 264, 201,
  8513  	186, 173, 197, 161, 266, 483, 394, 608, 351, 412,
  8514  	194, 191, 268, 241, 479, 462, 164, 416, 395, 189,
  8515  	314, 603, 604, 605, 366, 344, 315, 316, 187, 255,
  8516  	453, 454, 319, 422, 335, 396, 432, 403, 397, 222,
  8517  	223, 323, 465, 467, 206, 606, 324, 325, 326, 457,
  8518  	327, 328, 329, 330, 370, 56, 58, 94, 97, 96,
  8519  	630, 631, 63, 29, 356, 359, 391, 398, 337, 609,
  8520  	537, 334, 338, 339, 360, 25, 414, 382, 418, 417,
  8521  	48, 49, 50, 53, 54, 55, 57, 59, 60, 51,
  8522  	524, 375, 388, 486, 45, 47, 385, 27, 362, 413,
  8523  	435, 333, 415, 446, 46, 444, 445, 466, 26, 364,
  8524  	363, 62, 44, 421, 423, 424, 317, 331, 373, 618,
  8525  	487, 368, 384, 387, 369, 336, 358, 389, 67, 66,
  8526  	381, 619, 376, 374, 332, 542, 543, 340, 570, 354,
  8527  	430, 521, 520, 519, 518, 517, 516, 515, 514, 320,
  8528  	321, 322, 399, 400, 401, 411, 404, 405, 406, 407,
  8529  	408, 409, 410, 449, 450, 620, 468, 470, 471, 469,
  8530  	236, 633, 355, 239, 622, 623, 95, 624, 626, 625,
  8531  	28, 627, -404, -402, -323, 532, 610, 377, 531, 534,
  8532  	371, 351, 629, 632, 375, 259, 320, 321, 322, 447,
  8533  	349, -206, -323, 633, -171, 243, 39, -220, -323, -171,
  8534  	-84, -16, -15, -163, -164, -220, 238, -331, 24, 429,
  8535  	-92, 430, 234, 82, 77, -323, -9, -104, -8, -111,
  8536  	-82, -161, 434, -329, -323, 320, 320, -329, 238, -323,
  8537  	269, 410, -458, 244, -408, -381, 270, -407, -383, -410,
  8538  	-384, 32, 230, 232, 231, 544, 266, 16, 375, 240,
  8539  	14, 13, 376, 252, 25, 26, 28, 15, 377, 379,
  8540  	29, 380, 383, 384, 385, 42, 388, 389, 259, 85,
  8541  	93, 88, 277, -205, -323, -358, -350, 114, -353, -345,
  8542  	-346, -348, -501, -495, -343, 82, 141, 142, 149, 115,
  8543  	635, -347, -439, 36, 117, 550, 554, 590, 497, -296,
  8544  	-297, -298, -299, -300, -301, -323, -496, -494, 88, 98,
  8545  	100, 104, 105, 103, 101, 153, 185, 102, 89, 154,
  8546  	-164, 85, -517, 560, -317, 583, 596, 597, 598, 599,
  8547  	582, 61, -465, -474, 237, -472, 152, 190, 255, 186,
  8548  	14, 147, 422, 187, 591, 592, 593, 557, 579, 499,
  8549  	561, 571, 586, 552, 553, 555, 547, 548, 549, 551,
  8550  	562, 564, 578, -475, 574, 584, 585, 570, 594, 595,
  8551  	587, 588, 589, 626, 87, 86, 577, 576, 563, 558,
  8552  	559, 565, 546, 556, 566, 567, 575, 580, 581, 359,
  8553  	107, 360, 361, 489, 352, 362, 244, 429, 70, 363,
  8554  	364, 365, 366, 367, 496, 368, 71, 369, 358, 259,
  8555  	412, 370, 189, 206, 501, 500, 502, 493, 490, 488,
  8556  	491, 492, 494, 495, 568, 569, 573, -121, -122, 601,
  8557  	-570, -289, -571, 6, 7, 8, 9, -572, 154, -561,
  8558  	431, 540, 88, 313, 349, 164, 161, -395, 164, 113,
  8559  	169, 168, -395, 166, 323, 265, -372, -153, 349, 412,
  8560  	327, 94, 269, -375, -373, 528, -460, 317, 313, 289,
  8561  	239, 110, -154, 249, 248, 108, 489, 237, 386, 308,
  8562  	56, 58, -533, -534, 227, 228, 229, -524, 522, -523,
  8563  	-323, 361, 96, 97, 27, 238, 372, 265, 467, 465,
  8564  	466, 468, 469, 470, 471, -65, -476, -457, 462, 461,
  8565  	-335, 454, 460, 452, 464, 455, 350, 329, 544, 328,
  8566  	230, 622, 529, 523, -311, 396, 432, 486, 487, 373,
  8567  	433, 473, 475, 456, 107, 193, 190, 239, 241, 238,
  8568  	349, 489, 412, 94, 327, -533, 161, 473, 475, 269,
  8569  	410, 41, -401, 422, -400, -402, 474, 485, 86, 87,
  8570  	472, -311, 107, 453, 453, -570, -289, -162, -164, -114,
  8571  	-522, 530, 530, 530, 239, 349, 412, 269, 240, 238,
  8572  	525, 528, 241, 489, 237, 320, 372, 265, 327, 94,
  8573  	166, -459, -530, 32, -466, 224, 225, 226, 33, 34,
  8574  	-1, 121, 634, -350, -350, -6, 637, -6, -350, -323,
  8575  	-323, 156, -226, -230, -227, -229, -228, -232, -231, 190,
  8576  	191, 152, 194, 196, 197, 198, 199, 200, 201, 202,
  8577  	203, 204, 207, 208, 205, 31, 206, 255, 186, 187,
  8578  	188, 189, 209, 172, 192, 537, 217, 173, 218, 174,
  8579  	219, 175, 220, 176, 177, 221, 178, 181, 182, 183,
  8580  	184, 180, 155, -195, 88, 32, 82, 155, 88, -187,
  8581  	261, -171, -220, -212, 155, 635, -187, -570, -180, -181,
  8582  	11, -220, -302, -323, 431, 124, -92, 77, -92, 430,
  8583  	77, -525, -526, -527, -529, 234, 430, 429, -109, 155,
  8584  	277, 17, -329, -329, 80, -220, -383, 269, -408, -381,
  8585  	36, 79, 156, 242, 156, 79, 82, 373, 349, 412,
  8586  	374, 489, 238, 386, 241, 269, 387, 349, 412, 238,
  8587  	241, 489, 269, 349, 238, 241, 412, 269, 387, 349,
  8588  	452, 453, 241, 27, 378, 381, 382, 453, -480, 485,
  8589  	156, 113, 110, 111, 112, -350, 131, -365, 124, 125,
  8590  	126, 127, 128, 129, 130, 138, 137, 148, 141, 142,
  8591  	143, 144, 145, 146, 147, 139, 140, 134, 114, 132,
  8592  	136, 133, 116, 151, -164, -350, -358, 61, -348, -348,
  8593  	-348, -348, -323, -439, -355, -350, 82, 82, 82, 82,
  8594  	155, 101, 88, -350, 82, 82, 82, 82, 82, 82,
  8595  	82, 82, 82, 82, 82, 82, -473, 82, 82, -362,
  8596  	-363, 82, 82, -343, -302, 82, 88, 88, 82, 82,
  8597  	82, 88, 82, 82, 82, -363, -363, 82, 82, 82,
  8598  	82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
  8599  	82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
  8600  	82, 82, -181, 156, -180, 82, -180, -181, -165, -164,
  8601  	32, 33, 32, 33, 32, 33, 32, 33, -573, 619,
  8602  	82, 98, 630, 222, 17, -323, 478, 539, 167, 168,
  8603  	169, -370, 244, -204, -323, -206, 372, 241, 525, 241,
  8604  	-154, -370, -370, -370, -370, -370, 240, -370, 24, 238,
  8605  	238, 238, 238, -370, 496, 124, 124, 59, -535, 171,
  8606  	156, -524, -186, 82, -334, 132, 136, -334, -285, 18,
  8607  	24, 267, 267, 267, -334, 307, -581, -582, 17, 134,
  8608  	-332, -582, -332, -332, -334, -583, 240, 463, 43, 268,
  8609  	267, -182, -183, 22, -182, 457, 453, -425, 458, 459,
  8610  	-336, -582, -335, -334, -334, -335, -334, -334, -334, 32,
  8611  	238, 241, 489, 327, 623, -581, -581, 31, 31, -458,
  8612  	-458, -220, -458, 523, -312, -323, -458, -458, -458, -536,
  8613  	243, -567, -566, 476, -569, 478, 161, -402, 161, -402,
  8614  	-383, 269, 269, 156, 124, 24, -403, 124, 135, -402,
  8615  	-402, -403, -403, -243, 41, -322, 152, -323, 88, -243,
  8616  	41, -564, -563, -220, -181, -165, -164, 83, 83, 83,
  8617  	533, 533, 533, -458, -458, -458, -458, -458, -460, -458,
  8618  	-458, -458, -458, -458, -329, -196, -323, -206, 244, -458,
  8619  	-458, -458, -166, -167, 143, -350, -323, -166, -3, -130,
  8620  	-129, 118, 119, 121, 613, 367, 612, 616, 610, -402,
  8621  	41, -452, 394, 393, -446, -448, 82, -447, 82, -447,
  8622  	-447, -447, -447, -447, 82, 82, -449, 82, -449, -449,
  8623  	-446, -450, 82, -450, -451, 82, -451, -450, -323, -429,
  8624  	539, -356, -358, -323, 39, -469, 61, -161, 82, 31,
  8625  	82, -187, -323, 636, 187, 166, 627, -470, 61, -161,
  8626  	82, 31, -181, -123, 39, -183, 21, 155, 98, 88,
  8627  	-109, -92, 77, -109, 83, 156, -528, 104, 105, -531,
  8628  	204, 196, -323, -107, 88, -7, -8, -9, -10, -47,
  8629  	-82, -79, -161, 231, -497, -495, 82, 32, 421, 79,
  8630  	17, -409, 238, 489, 372, 265, 241, 349, -407, -390,
  8631  	-387, -385, -322, -383, -386, -385, -412, -302, 453, -124,
  8632  	436, 435, 319, -350, -350, -350, -350, -350, 103, 114,
  8633  	344, 104, 105, -345, -366, 32, 315, 316, -346, -346,
  8634  	-346, -346, -346, -346, -346, -346, -346, -346, -346, -346,
  8635  	-354, -364, -439, 82, 134, 132, 136, 133, 116, -348,
  8636  	-348, -346, -346, -245, -322, 152, 83, 156, -350, -521,
  8637  	-520, 118, -350, -350, -350, -350, -323, -518, -519, 503,
  8638  	504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
  8639  	363, 358, 364, 362, 352, 370, 365, 366, 189, 520,
  8640  	521, 514, 515, 516, 517, 518, 519, -356, -356, -350,
  8641  	-518, -356, -295, 33, 32, -358, -358, -358, 83, -350,
  8642  	-532, 342, 341, 343, -184, -323, -356, 83, 83, 83,
  8643  	98, -358, -358, -356, -346, -356, -356, -356, -356, -519,
  8644  	-295, -295, -295, -295, 143, -358, -358, -295, -295, -295,
  8645  	-295, 143, -295, -295, -295, -295, -295, -295, -295, -295,
  8646  	-295, -295, 83, 83, 83, 143, -358, -182, -122, -478,
  8647  	-477, -350, 41, -123, -183, -574, 620, 82, -302, -562,
  8648  	88, 88, 635, 166, 17, 489, 479, 480, 165, 168,
  8649  	167, -323, 114, 35, 82, -196, -370, -370, -370, -540,
  8650  	-323, 89, -391, -388, -385, -323, -323, -381, -323, -323,
  8651  	-220, -370, -370, -370, -370, -220, -254, 53, 54, 55,
  8652  	-385, -155, 56, 57, -536, -523, 35, -185, -323, -285,
  8653  	-348, -348, -350, -385, 269, -581, -334, -334, -313, -312,
  8654  	-336, -331, -336, -336, -285, -332, -334, -334, -350, -336,
  8655  	-332, -285, -323, 453, -285, -285, -425, -334, -333, -323,
  8656  	-333, -370, -312, -313, -313, -220, -220, -266, -271, -267,
  8657  	-272, 261, 235, 356, 357, 233, 231, 11, 232, -279,
  8658  	308, -371, 497, -249, -250, 77, 42, -252, 259, 398,
  8659  	391, 271, 275, 92, 276, 431, 277, 240, 279, 280,
  8660  	281, 296, 298, 251, 282, 283, 284, 422, 285, 160,
  8661  	297, 286, 287, 288, 374, -244, 6, 330, 41, 51,
  8662  	52, 445, 444, 542, 539, 272, -540, -538, 31, -323,
  8663  	31, -391, -323, -323, -174, -169, -173, -170, -175, -288,
  8664  	-290, -172, 82, -220, -164, -323, 156, 477, 479, 480,
  8665  	-567, -403, -567, -403, 32, 421, -406, 421, 32, -381,
  8666  	-400, 473, 475, -396, 88, 422, -386, -405, 79, 152,
  8667  	-477, -403, -403, -405, -405, 151, 156, -565, 478, 479,
  8668  	227, -182, 98, 98, 98, -222, -220, -540, -390, -381,
  8669  	-323, -458, -222, -222, -222, -323, -323, 82, 155, 36,
  8670  	-323, -323, -323, -284, 156, -283, 17, -324, -323, 35,
  8671  	88, 155, -284, -131, -129, 120, -350, -6, 612, -350,
  8672  	-6, -6, -350, -6, -350, -456, 395, 98, 98, -304,
  8673  	88, -304, 98, 98, 98, 545, 83, 88, -394, 79,
  8674  	-471, -359, -516, 601, -189, 83, -184, -514, -515, -184,
  8675  	-188, -323, -469, -212, 124, 124, 124, -471, -189, 83,
  8676  	-514, -182, 602, -123, -179, -178, -350, -323, 24, -109,
  8677  	-92, -526, 155, 349, 156, -185, -409, -389, -386, -411,
  8678  	143, -323, -397, 156, 539, 638, 86, 242, -553, -552,
  8679  	413, 83, 156, -481, 243, 496, 88, 635, 429, 222,
  8680  	223, 103, 344, 104, 105, -439, -358, -354, -348, -348,
  8681  	-346, -346, -352, 256, -352, 113, -350, 636, -349, -520,
  8682  	120, -350, 35, 156, 35, 156, 80, 155, 83, 83,
  8683  	17, 17, 83, -350, 83, 83, 83, 83, 17, 17,
  8684  	-350, 83, 155, 83, 83, 83, 83, 80, 83, 156,
  8685  	83, 83, 83, 83, 156, -358, -358, -350, -358, 83,
  8686  	83, 83, -350, -350, -350, -358, 83, -350, -350, -350,
  8687  	-350, -350, -350, -350, -350, -350, -350, -419, 448, -419,
  8688  	-419, 156, 156, 156, 83, -123, 82, 98, 156, 631,
  8689  	-308, -307, 88, -323, 166, -323, 166, 169, 169, 168,
  8690  	24, 36, -205, -207, -208, -209, -210, -211, 134, 157,
  8691  	158, 82, -220, -220, -220, -542, 399, -554, 156, 41,
  8692  	-552, 489, 238, -151, 319, -374, 80, -158, 17, 539,
  8693  	-220, -220, -220, -220, -233, 35, 17, -168, -221, -323,
  8694  	82, 83, 156, -382, 80, -323, -313, -285, -285, -336,
  8695  	-285, -285, 156, 23, -334, -336, -336, -340, 635, -332,
  8696  	-340, 155, -340, -312, -445, 35, -186, 156, 21, 261,
  8697  	-219, -320, -216, -218, 246, -339, -217, 249, -510, 247,
  8698  	245, 108, 250, 304, 109, 240, -320, -320, 246, -253,
  8699  	242, 35, -320, -269, 240, 347, 304, 247, 21, 261,
  8700  	-268, 240, 109, -323, 246, 250, 247, 245, -319, 124,
  8701  	-311, 151, 242, 43, 374, -319, 543, 261, -319, -319,
  8702  	-319, -319, -319, -319, -319, 278, 278, -319, -319, -319,
  8703  	-319, -319, -319, -319, -319, -319, -319, -319, 161, -319,
  8704  	-319, -319, -319, -319, -319, 82, 273, 274, -543, 399,
  8705  	31, 355, 355, -554, 31, -159, 349, 31, -291, -292,
  8706  	-293, -294, 68, 72, 74, 69, 70, 71, 75, 31,
  8707  	156, -321, -325, 35, -323, 88, -321, -164, -169, -174,
  8708  	-321, 82, -566, -568, 481, 478, 484, -405, -405, 242,
  8709  	82, 124, -405, -405, 41, -322, -563, 485, 479, -123,
  8710  	156, 79, -222, -197, -198, -199, -200, -226, -302, 191,
  8711  	194, 196, 197, 198, 199, 200, 201, 202, 203, 204,
  8712  	207, 208, 205, 206, 255, 186, 187, 188, 189, 209,
  8713  	172, 192, 537, 173, 174, 175, 176, 177, 178, 181,
  8714  	182, 183, 184, 180, -323, -206, -285, -167, -169, -323,
  8715  	88, -323, 143, -285, 121, -6, 119, -135, -134, -133,
  8716  	122, 610, 616, 121, 121, 121, 83, 83, 83, 156,
  8717  	83, 83, 83, 156, 83, 156, 98, -484, 458, 40,
  8718  	156, 82, 83, 156, 61, 156, 124, 83, 156, -350,
  8719  	-350, -350, 83, 61, -123, 88, 156, -176, 37, 38,
  8720  	155, 431, -323, -495, 83, -411, 156, 242, 155, 155,
  8721  	-387, 377, -322, -389, 21, 539, -302, 39, -308, 124,
  8722  	635, -323, 83, -352, -352, 113, -348, -345, 83, 121,
  8723  	-350, 119, -224, -226, 393, 394, -350, -224, -225, -231,
  8724  	152, 190, 255, 189, 188, 186, 393, 394, -243, -323,
  8725  	-350, -350, 83, -350, -350, 17, -323, -243, -346, -350,
  8726  	-181, -181, 83, 83, -418, -419, -418, -418, 83, 83,
  8727  	83, 83, -418, 83, 83, 83, 83, 83, 83, 83,
  8728  	83, 83, 83, 82, 98, 100, 98, 100, -477, -575,
  8729  	63, 618, 62, 421, 103, 309, 156, 98, 88, 636,
  8730  	156, 124, -323, 17, 238, 169, -555, 313, 349, 385,
  8731  	83, 156, -302, -197, -186, 82, -186, -545, 460, 401,
  8732  	411, -319, -342, -341, 351, 42, -463, 422, 407, 408,
  8733  	-388, 269, -323, -323, -551, 95, 124, 79, 334, 338,
  8734  	339, 335, 336, 337, -368, -369, -367, -371, -538, 82,
  8735  	82, -161, 35, 132, -158, 82, 82, 35, -440, 324,
  8736  	-226, -220, -168, -323, 17, 156, -537, 155, -1, -323,
  8737  	-381, -334, -285, -350, -350, -285, -334, -334, 166, -336,
  8738  	-323, -440, -226, 35, -267, 235, 232, -415, 306, 307,
  8739  	-416, -430, 309, -432, 82, -223, -302, -217, -509, -510,
  8740  	-370, -323, 109, -509, 109, 82, -223, -302, -302, -270,
  8741  	-333, -302, -323, -323, -323, -323, -275, -274, -302, -277,
  8742  	32, -278, -323, -323, -323, -323, 109, -323, 109, -248,
  8743  	41, 48, 49, 50, -319, -319, 193, -251, 41, 421,
  8744  	423, 424, -277, 98, 98, 98, 98, 88, 88, 88,
  8745  	-319, -319, 98, 88, -325, 88, -511, 168, 45, 46,
  8746  	98, 98, 98, 98, 41, 88, -256, 41, 289, 293,
  8747  	290, 291, 292, 88, 98, 41, 98, 41, 98, 41,
  8748  	-323, 82, -512, -513, 88, -545, -319, 355, -402, 124,
  8749  	-342, -550, 319, -160, 489, 32, -190, 235, 232, -538,
  8750  	-393, -392, -302, -173, -173, -173, -173, 68, 68, 68,
  8751  	73, 68, 73, 68, -293, -393, -175, -186, -325, 83,
  8752  	-560, -559, -558, -556, 76, 243, 77, -356, 478, 482,
  8753  	483, -389, -337, 88, -396, -194, 24, -220, -220, -462,
  8754  	299, 300, 83, 156, -226, -287, 19, 155, -287, 117,
  8755  	-6, -131, -133, -350, -6, -350, 612, 367, 613, 88,
  8756  	98, 98, -492, 442, 437, 439, 109, -359, -479, -478,
  8757  	61, -161, -184, -471, -515, -477, -323, 636, 636, 636,
  8758  	61, -161, -471, -194, -484, -178, -177, 44, -323, 98,
  8759  	17, -386, -381, 143, 143, -323, 378, -397, 88, 400,
  8760  	88, 238, 636, 88, -308, -345, -350, 83, -234, 177,
  8761  	176, -234, 35, 83, 83, -447, -447, -446, -449, -446,
  8762  	-234, -234, 83, 83, 24, 83, 83, 83, -350, 83,
  8763  	83, 156, -467, 498, -468, 572, -418, -418, -418, -418,
  8764  	-418, -418, -418, -418, -418, -418, -418, -418, -418, -418,
  8765  	-418, -418, -361, -360, 261, 443, 625, 625, 443, 625,
  8766  	625, 83, 156, -518, 156, -314, 314, -314, -307, 88,
  8767  	242, 166, -323, -323, 88, 88, -209, -226, 83, 35,
  8768  	-213, -214, -215, -223, -216, -218, 35, -546, 92, -541,
  8769  	88, -323, 89, -547, 92, 402, 154, 353, 41, 403,
  8770  	404, 419, 348, 98, 98, 409, -539, -323, -159, -159,
  8771  	-549, 52, 124, 88, -220, -367, -311, 151, 280, 327,
  8772  	-282, -281, -323, 88, -213, -161, -220, -213, -213, -161,
  8773  	-441, 326, 21, 98, 142, -187, 80, 155, -169, -221,
  8774  	-323, 143, 83, -285, -340, -285, -285, 124, -334, -441,
  8775  	-161, -427, 310, 82, -425, 82, -425, 109, 335, -433,
  8776  	-431, 261, -273, 45, 47, -226, -507, -323, -505, -507,
  8777  	-323, -505, -505, -370, -350, -273, -223, 242, 31, 232,
  8778  	-276, 332, 333, 338, -398, 305, 114, -398, 156, -176,
  8779  	156, -323, -243, -243, 31, 88, 88, -222, 83, 156,
  8780  	124, -546, -541, 124, -403, 88, -547, -551, 124, -152,
  8781  	92, -312, 156, -190, -190, -285, 156, 124, -192, -191,
  8782  	79, 80, -193, 79, -191, 68, 68, -285, -558, -557,
  8783  	24, -510, -510, -510, 83, 83, 15, -199, 41, -286,
  8784  	20, 21, 143, -286, 121, 119, 121, 121, -323, 83,
  8785  	83, -453, 603, -488, -490, 437, 21, 21, 15, 243,
  8786  	83, -471, -471, -492, 45, 46, -381, -397, 422, -220,
  8787  	156, 636, -224, -350, 83, -350, 83, 88, 83, 88,
  8788  	-181, 21, 83, 156, 83, 83, 83, 156, 83, 83,
  8789  	-350, 83, -518, -315, 187, 88, -315, 349, -323, 17,
  8790  	236, -161, 83, 156, -161, 88, -544, 413, 88, 88,
  8791  	98, 41, 98, 154, 405, -464, -152, -152, -548, 92,
  8792  	124, 635, 82, -319, -319, -319, -323, 83, 156, -319,
  8793  	-319, 83, 83, 83, -241, 539, -442, 260, 98, 142,
  8794  	98, 142, 98, -321, -169, -323, -285, -537, 155, 88,
  8795  	-285, -442, -417, 311, 98, -346, 82, -346, 82, -426,
  8796  	308, 82, 83, 156, -323, -302, -238, -237, -235, 103,
  8797  	114, 41, 391, -236, 92, 151, 294, 297, 296, 272,
  8798  	295, -265, -338, 79, 397, 332, 333, -371, 603, 527,
  8799  	245, 108, 109, 379, -339, 82, 82, 80, 314, 82,
  8800  	82, -507, 83, -273, -302, 41, -276, 41, 345, 305,
  8801  	-274, -323, 151, -243, 83, -513, 88, -544, 88, -405,
  8802  	-549, 88, 88, -538, -181, -392, -477, -350, 82, -350,
  8803  	82, 68, 11, 19, -343, -350, -358, 244, -6, 613,
  8804  	367, -258, 604, 88, 21, 88, -486, 88, -393, -453,
  8805  	-126, -255, -311, 277, 83, 83, 83, -418, -418, -421,
  8806  	-420, -424, 443, 306, 451, -358, 88, 88, 83, 83,
  8807  	88, -323, 242, 166, -201, -226, -156, 539, -241, -215,
  8808  	-156, 21, 539, 352, 41, 98, 41, 406, 124, 104,
  8809  	105, -309, -310, 88, -376, -378, -302, 82, -243, -245,
  8810  	88, -281, -343, -343, -239, -161, 35, -240, -279, -371,
  8811  	-125, -124, -239, 82, -443, 160, 98, 142, 98, 98,
  8812  	-285, -285, 636, -443, -432, 21, 83, -412, 83, -412,
  8813  	82, 124, -346, -431, -434, 61, -235, 103, -346, 88,
  8814  	-245, -246, 41, 293, 289, 124, 124, -247, 41, 273,
  8815  	274, -257, 82, 304, 15, 193, 82, 109, 109, -220,
  8816  	-376, -376, -508, 334, 335, 336, 340, 338, 339, 337,
  8817  	-508, -376, -376, 82, -399, -398, -346, -319, -319, 151,
  8818  	-548, -182, -185, -506, -323, 245, 21, 21, -323, -323,
  8819  	-305, 605, 98, 88, 439, -258, -454, 606, -482, -425,
  8820  	-243, 124, 83, -423, 116, 405, 409, -344, -347, 98,
  8821  	100, 185, 154, 83, 83, 349, -323, 538, -157, 60,
  8822  	485, 88, 89, 400, 88, 89, 352, 88, 636, 156,
  8823  	124, 83, 156, -446, -350, -413, 261, -161, 156, -279,
  8824  	-311, -126, -413, -242, -280, -323, 88, -461, 168, 325,
  8825  	539, 98, 142, 98, -181, -444, 168, 325, -416, 83,
  8826  	83, 83, -412, 98, 83, -438, -435, 82, -279, 263,
  8827  	134, 88, 88, 98, 82, -472, 31, 88, -377, 82,
  8828  	83, 83, 83, 83, -376, 98, -243, -319, 83, 83,
  8829  	156, 82, 21, -305, -455, 607, 88, -491, 442, -485,
  8830  	-483, 437, 438, 439, 440, 88, -422, -423, 409, -344,
  8831  	-347, 601, 449, 449, 449, -323, 242, -203, -323, 304,
  8832  	422, -310, 88, -379, -378, -176, 83, -414, 313, 21,
  8833  	-279, -319, -414, 83, 156, -319, -319, 325, 98, 142,
  8834  	98, -182, 325, -428, 312, 83, -438, -279, -437, -436,
  8835  	311, 264, 82, 83, -350, -362, -319, 83, -260, -259,
  8836  	535, -376, -379, 80, -379, 80, -379, 80, -379, 80,
  8837  	83, -243, -323, 245, -306, -323, -486, 88, -493, 243,
  8838  	-489, -490, 441, -483, 21, 439, 21, 21, -127, 156,
  8839  	113, 450, 450, 450, 349, -202, 35, 444, 378, -380,
  8840  	251, 345, 346, 92, 539, 332, 333, -176, 21, -415,
  8841  	-243, -280, -343, -343, 98, 98, 83, 156, -323, 260,
  8842  	82, -357, -351, -350, 260, 83, -323, -264, -262, -263,
  8843  	79, 456, 302, 303, 83, -508, -508, -508, -508, -265,
  8844  	83, 156, -500, 82, 98, -488, -487, -489, 21, -486,
  8845  	21, -486, -486, 446, -422, -323, 88, -319, -319, 88,
  8846  	88, 331, -302, 82, -427, -436, -435, -357, 83, 156,
  8847  	-398, -263, 79, -262, 79, 16, 15, -379, -379, -379,
  8848  	-379, -323, -504, 31, 83, -499, -498, -303, -494, -323,
  8849  	442, 443, 88, -486, 124, -578, -577, 624, 98, 98,
  8850  	-323, -412, -417, 83, -351, -261, 299, 300, 31, 168,
  8851  	-261, -503, -502, -501, 83, 156, 155, 88, 88, 83,
  8852  	-432, 103, 41, 301, 156, 124, -498, -323, -502, 41,
  8853  	-350, 155, -323,
  8854  }
  8855  
  8856  var yyDef = [...]int{
  8857  	23, -2, 1, 2, 3, 19, 4, 20, 21, 22,
  8858  	24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
  8859  	34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
  8860  	44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
  8861  	54, 0, 282, 283, 284, 891, 892, 893, 894, 895,
  8862  	896, 897, 0, 0, 0, 0, 0, 649, 650, 0,
  8863  	615, 0, 0, 0, 0, 0, 0, 499, 500, 501,
  8864  	502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
  8865  	512, 513, 514, 515, 516, 517, 518, 519, 520, 521,
  8866  	522, 523, 524, 525, 526, 527, 528, 529, 530, 383,
  8867  	384, 385, 386, 387, 388, 389, 390, 0, 307, 303,
  8868  	228, 229, 230, 231, 232, 314, 315, 476, 0, 0,
  8869  	0, 0, 732, -2, 72, 0, 0, 296, 0, 287,
  8870  	287, 898, 899, 900, 901, 902, 903, 904, 905, 906,
  8871  	907, 908, 909, 910, -2, 662, 0, 616, 617, 618,
  8872  	619, 620, 621, 622, 623, 624, 625, 626, 627, 628,
  8873  	629, 630, 367, 368, 369, 363, 364, 366, 365, -2,
  8874  	0, 662, 0, 0, 0, 740, 0, 0, 0, 0,
  8875  	0, 783, 805, 23, 0, 7, 9, 10, 11, 12,
  8876  	13, 14, 15, 16, 17, 18, 0, 0, 19, 0,
  8877  	19, 0, 0, 0, 1307, 1308, 1309, 1310, 2089, 2059,
  8878  	-2, 1831, 1808, 1983, 1984, 2119, 2120, 2121, 2122, 2123,
  8879  	2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133,
  8880  	2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143,
  8881  	2144, 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2152, 2153,
  8882  	2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162, 2163,
  8883  	2164, 2165, 2166, 2167, 2168, 1765, 1766, 1767, 1768, 1769,
  8884  	1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779,
  8885  	1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789,
  8886  	1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799,
  8887  	1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1809, 1810,
  8888  	1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820,
  8889  	1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830,
  8890  	1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841,
  8891  	1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851,
  8892  	1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861,
  8893  	1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871,
  8894  	1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881,
  8895  	1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891,
  8896  	1892, 1893, 1894, 1895, 1896, 1898, 1899, 1900, 1901, 1902,
  8897  	1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912,
  8898  	1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922,
  8899  	1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932,
  8900  	1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942,
  8901  	1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952,
  8902  	1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962,
  8903  	1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972,
  8904  	1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982,
  8905  	1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
  8906  	1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
  8907  	2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014,
  8908  	2015, -2, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024,
  8909  	2025, 2026, 2027, 2028, 2029, 2030, 2031, 2032, 2033, 2034,
  8910  	2035, 2036, 2037, 2038, 2039, 2040, 2041, 2042, 2043, 2044,
  8911  	2045, 2046, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054,
  8912  	2055, 2056, 2057, 2058, 2060, 2061, 2062, 2063, 2064, 2065,
  8913  	2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, -2,
  8914  	-2, -2, 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2085,
  8915  	2086, 2087, 2088, 2090, 2091, 2092, 2093, 2094, 2095, 2096,
  8916  	2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106,
  8917  	2107, 2108, 0, 280, 278, 1778, 1808, 1831, 1885, 1896,
  8918  	1897, 1931, 1983, 1984, 2016, 2059, 2075, 2076, 2077, 2089,
  8919  	0, 0, 915, 0, 710, 0, 0, 715, 1256, 710,
  8920  	308, 651, 652, 740, 766, 613, 0, 345, 0, 1822,
  8921  	349, 2066, 0, 0, 0, 610, 339, 340, 341, 342,
  8922  	343, 344, 0, 0, 890, 0, 0, 335, 0, 302,
  8923  	1887, 2088, 0, 0, 0, 0, 0, 171, 1034, 173,
  8924  	1036, 177, 185, 0, 0, 0, 190, 191, 194, 195,
  8925  	196, 197, 198, 0, 202, 0, 204, 207, 0, 209,
  8926  	210, 0, 213, 214, 215, 0, 225, 226, 227, 1037,
  8927  	1038, 1039, -2, 100, 913, 1736, 1623, 0, 1630, 1643,
  8928  	1654, 1387, 1388, 1389, 1390, 0, 0, 0, 0, 0,
  8929  	0, 1398, 1399, 0, 1427, 2123, 2164, 2165, 0, 1407,
  8930  	1408, 1409, 1410, 1411, 1412, 111, 123, 124, 1676, 1677,
  8931  	1678, 1679, 1680, 1681, 1682, 0, 1684, 1685, 1686, 1594,
  8932  	1374, 1307, 0, 2132, 0, 2154, 2159, 2160, 2161, 2162,
  8933  	2153, 0, 0, 1579, 0, 1569, 0, 0, -2, -2,
  8934  	0, 0, 1956, -2, 2166, 2167, 2168, 2129, 2150, 2158,
  8935  	2133, 2134, 2157, 2125, 2126, 2127, 2120, 2121, 2122, 2124,
  8936  	2136, 2138, 2149, 0, 2145, 2155, 2156, 2064, 0, 0,
  8937  	0, 0, 0, 2105, 125, 126, -2, -2, -2, -2,
  8938  	-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
  8939  	-2, -2, -2, 1590, -2, -2, 1593, -2, 1596, -2,
  8940  	-2, -2, -2, 1601, 1602, -2, 1604, -2, -2, -2,
  8941  	-2, -2, -2, -2, 1581, 1582, 1583, 1584, 1573, 1574,
  8942  	1575, 1576, 1577, 1578, -2, -2, -2, 766, 841, 0,
  8943  	766, 0, 741, 788, 791, 794, 797, 744, 0, 0,
  8944  	73, 74, 0, 0, 0, 297, 298, 286, 288, 0,
  8945  	292, 0, 285, 1070, 0, 0, 0, 0, 1070, 1070,
  8946  	1070, 1070, 1070, 0, 1070, 0, 0, 0, 0, 0,
  8947  	1070, 0, 948, 1041, 1042, 1043, 1068, 1069, 1142, 0,
  8948  	0, 0, 667, 663, 664, 665, 666, 754, 0, 756,
  8949  	759, 588, 588, 814, 534, 0, 0, 0, 588, 0,
  8950  	548, 540, 0, 0, 0, 588, 0, 0, 761, 761,
  8951  	0, 591, 600, 588, 588, -2, 588, 588, 585, 588,
  8952  	0, 0, 1082, 554, 555, 556, 540, 540, 559, 560,
  8953  	561, 571, 572, 601, 1760, 0, 0, 476, 476, 0,
  8954  	476, 0, 476, 476, 476, 669, 1926, 1829, 1902, 1887,
  8955  	2088, 0, 253, 1956, 258, 0, 1830, 1849, 0, 0,
  8956  	1867, 0, -2, 0, 324, 766, 0, 0, 740, 0,
  8957  	0, 0, 0, 0, 476, 476, 476, 476, 476, 1141,
  8958  	476, 476, 476, 476, 476, 0, 0, 0, 476, 476,
  8959  	476, 0, 0, 806, 807, 802, 803, 804, 808, 809,
  8960  	5, 6, 19, 0, 0, 0, 0, 0, 0, 79,
  8961  	78, 0, 1737, 1755, 1689, 1690, 1691, 1742, 1693, 1746,
  8962  	1746, 1746, 1746, 1722, 1723, 1724, 1725, 1726, 1727, 1728,
  8963  	1729, 1730, 1746, 1746, 0, 0, 1735, 1713, 1744, 1744,
  8964  	1744, 1742, 1739, 1694, 1695, 1696, 1697, 1698, 1699, 1700,
  8965  	1701, 1702, 1703, 1704, 1705, 1706, 1707, 1749, 1749, 1752,
  8966  	1752, 1749, 0, 381, 379, 380, 1619, 0, 0, 0,
  8967  	0, 710, 714, 1254, 0, 0, 0, 766, -2, 0,
  8968  	0, 614, 346, 1311, 0, 0, 350, 0, 351, 0,
  8969  	0, 0, 370, 0, 373, 358, 359, 360, 354, 0,
  8970  	151, 0, 337, 338, 0, 0, 304, 0, 0, 0,
  8971  	477, 0, 0, 0, 0, 0, 0, 182, 178, 186,
  8972  	189, 199, 206, 0, 218, 220, 223, 179, 187, 192,
  8973  	193, 200, 221, 180, 183, 184, 188, 222, 224, 181,
  8974  	201, 205, 219, 203, 208, 211, 212, 217, 0, 152,
  8975  	0, 0, 0, 0, 0, 1629, 0, 0, 1662, 1663,
  8976  	1664, 1665, 1666, 1667, 1668, 0, 0, 0, 0, 0,
  8977  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8978  	0, 0, 0, 0, -2, 1623, 0, 0, 1393, 1394,
  8979  	1395, 1396, 0, 1400, 0, 1428, 0, 0, 0, 0,
  8980  	0, 1683, 1687, 0, 1619, 1619, 0, 1619, 1615, 0,
  8981  	0, 0, 0, 0, 0, 1619, 1552, 0, 0, 1554,
  8982  	1570, 0, 0, 1556, 1557, 0, 1560, 1561, 1619, 0,
  8983  	1619, 1565, 1619, 1619, 1619, 1548, 1549, 0, 1615, 1615,
  8984  	1615, 1615, 0, 0, 1615, 1615, 1615, 1615, 1615, 1615,
  8985  	1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 0, 0,
  8986  	0, 0, 761, 0, 767, 0, -2, 0, 785, 787,
  8987  	789, 790, 792, 793, 795, 796, 798, 799, 746, 0,
  8988  	0, 75, 0, 0, 0, 0, 0, 0, 290, 0,
  8989  	295, 0, 0, 0, 912, 0, 0, 1070, 1070, 1070,
  8990  	949, 0, 0, 0, 0, 0, 0, 0, 0, 1070,
  8991  	1070, 1070, 1070, 0, 1088, 0, 0, 0, 669, 668,
  8992  	0, 755, 0, 0, 814, 0, 0, 532, 533, 0,
  8993  	0, 540, 588, 588, 546, 547, 542, 541, 596, 597,
  8994  	591, 0, 591, 591, 814, 0, 565, 566, 567, 588,
  8995  	588, 573, 762, 0, 574, 575, 591, 0, 598, 599,
  8996  	814, 0, 0, 814, 814, 0, 583, 584, 586, 588,
  8997  	0, 0, 1070, 0, 606, 542, 542, 1761, 1762, 0,
  8998  	0, 1079, 0, 0, 0, 609, 0, 0, 0, 0,
  8999  	670, 233, 236, 0, 239, 0, 1926, 0, 1926, 0,
  9000  	246, 0, 0, 0, 0, 0, 0, 276, 277, 0,
  9001  	0, 0, 0, 267, 270, 1248, 1249, 1031, 1032, 271,
  9002  	272, 316, 317, 0, 761, 784, 786, 780, 781, 782,
  9003  	0, 0, 0, 0, 0, 0, 0, 0, 476, 0,
  9004  	0, 0, 0, 0, 645, 0, 928, 647, 0, 0,
  9005  	0, 0, 822, 816, 818, 885, 111, 822, 8, 96,
  9006  	93, 0, 19, 0, 0, 19, 19, 0, 19, 281,
  9007  	0, 1758, 1756, 1757, 1692, 1743, 0, 1718, 0, 1719,
  9008  	1720, 1721, 1731, 1732, 0, 0, 1714, 0, 1715, 1716,
  9009  	1717, 1708, 0, 1709, 1710, 0, 1711, 1712, 279, 378,
  9010  	0, 0, 1620, 916, 0, 688, 702, 683, 0, 691,
  9011  	0, 0, 1256, 1257, 0, 0, 0, 671, 702, 673,
  9012  	0, 691, 761, 738, 0, 716, 0, 0, 347, 0,
  9013  	355, 352, 0, 356, 0, 0, 372, 374, 375, 376,
  9014  	361, 362, 611, 333, 334, 325, 326, 327, 328, 329,
  9015  	330, 331, 332, 0, 336, 121, 0, 305, 306, 0,
  9016  	0, 0, 165, 166, 167, 168, 169, 170, 172, 156,
  9017  	634, 636, 1023, 1035, 0, 1026, 0, 175, 216, 148,
  9018  	0, 0, 0, 1624, 1625, 1626, 1627, 1628, 1633, 0,
  9019  	1635, 1637, 1639, 1641, 0, 1659, -2, -2, 1375, 1376,
  9020  	1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386,
  9021  	1644, 1657, 1658, 0, 0, 0, 0, 0, 0, 1655,
  9022  	1655, 1650, 0, 1413, 1250, 1251, 1391, 0, 0, 1425,
  9023  	1429, 0, 0, 0, 0, 0, 112, 1614, 1519, 1520,
  9024  	1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530,
  9025  	1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540,
  9026  	1541, 1542, 1543, 1544, 1545, 1546, 1547, 0, 0, 1623,
  9027  	0, 0, 0, 1616, 1617, 0, 0, 0, 1507, 0,
  9028  	0, 1513, 1514, 1515, 0, 697, 0, 1580, 1553, 1571,
  9029  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  9030  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  9031  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  9032  	0, 0, 0, 0, 0, 0, 0, 840, 842, 0,
  9033  	706, 708, 709, 735, 716, 742, 0, 0, 0, 71,
  9034  	76, 0, 1109, 0, 0, 0, 299, 300, 0, 0,
  9035  	294, 0, 0, 0, -2, 0, 0, 0, 0, 0,
  9036  	964, 965, 474, 1017, 0, 0, 0, 1033, 1058, 1066,
  9037  	0, 0, 0, 0, 0, 1115, 950, 955, 956, 957,
  9038  	951, 952, 958, 959, 0, 757, 0, 0, 854, 531,
  9039  	589, 590, 815, 537, 1887, 542, 814, 814, 549, 543,
  9040  	550, 593, 551, 552, 553, 591, 814, 814, 763, 588,
  9041  	591, 576, 592, 591, 594, 580, 0, 587, 594, 607,
  9042  	594, 0, 605, 557, 558, 1117, 759, 393, 394, 395,
  9043  	397, 0, 445, 445, 445, 428, 445, 0, 0, 416,
  9044  	1763, 0, 0, 0, 0, 425, 1763, 0, 0, 1763,
  9045  	1763, 1763, 1763, 1763, 1763, 1763, 0, 0, 1763, 1763,
  9046  	1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 0,
  9047  	1763, 1763, 1763, 1763, 1763, 1234, 1763, 0, 1080, 435,
  9048  	436, 437, 438, 443, 444, 0, 471, 0, 0, 963,
  9049  	0, 474, 0, 1003, 827, 0, 828, 829, 825, 856,
  9050  	880, 880, 0, 880, 860, 1256, 0, 0, 244, 245,
  9051  	234, 0, 235, 0, 247, 248, 0, 250, 251, 252,
  9052  	259, 1829, 1902, 254, 256, 0, 0, 260, 273, 274,
  9053  	275, 0, 0, 265, 266, 0, 0, 319, 320, 322,
  9054  	0, 716, 1083, 1084, 1085, 631, 1252, 632, 633, 637,
  9055  	0, 0, 640, 641, 642, 643, 644, 930, 0, 0,
  9056  	1010, 1011, 1012, 814, 0, 823, 0, 819, 886, 0,
  9057  	888, 0, 814, 0, 94, 19, 0, 87, 84, 0,
  9058  	0, 0, 0, 0, 1738, 1688, 1759, 0, 0, 0,
  9059  	1740, 0, 0, 0, 0, 0, 77, 718, 678, 0,
  9060  	682, 699, 0, 703, 0, 0, 695, 687, 692, 0,
  9061  	0, 712, 679, 1255, 0, 0, 0, 672, 0, 0,
  9062  	677, 716, 0, 739, 768, 769, 772, 1312, 0, 357,
  9063  	353, 371, 0, 476, 0, 0, 0, 159, 1020, 0,
  9064  	160, 164, 154, 0, 0, 0, 1025, 0, 1022, 1027,
  9065  	0, 174, 0, 0, 149, 150, 1100, 1109, 0, 0,
  9066  	0, 1634, 1636, 1638, 1640, 1642, 0, 1645, 1655, 1655,
  9067  	1651, 0, 1646, 0, 1648, 0, 1624, 1397, 0, 1430,
  9068  	0, 0, 0, 0, 0, 0, 0, 0, 1497, 1498,
  9069  	0, 0, 1502, 0, 1504, 1505, 1506, 1508, 0, 0,
  9070  	0, 1512, 0, 1551, 1572, 1555, 1558, 0, 1562, 0,
  9071  	1564, 1566, 1567, 1568, 0, 766, 766, 0, 0, 1469,
  9072  	1469, 1469, 0, 0, 0, 0, 1469, 0, 0, 0,
  9073  	0, 0, 0, 0, 0, 0, 0, 1414, 0, 1415,
  9074  	1416, 0, 0, 0, 843, 736, 0, 0, 0, 0,
  9075  	0, 1107, 0, 64, 0, 0, 301, 289, 291, 0,
  9076  	0, 1071, 0, 0, 918, 919, 921, 0, 924, 925,
  9077  	926, 930, 759, 0, 759, 975, 1763, 478, 0, 0,
  9078  	1019, 0, 0, 992, 0, 0, 0, -2, 0, 0,
  9079  	1066, 0, 0, 0, 1119, 0, 0, 0, 656, 660,
  9080  	23, 760, 0, 535, 0, 536, 588, 544, 545, 814,
  9081  	568, 569, 0, 0, 814, 588, 588, 579, 0, 591,
  9082  	602, 0, 603, 604, 1119, 0, 0, 1079, 1185, 1153,
  9083  	406, 0, 1268, 1269, 446, 0, 1275, 1284, 1070, 1344,
  9084  	0, 1284, 0, 0, 1286, 1287, 0, 0, 0, 0,
  9085  	429, 430, 0, 415, 0, 0, 0, 0, 0, 0,
  9086  	414, 0, 0, 456, 0, 0, 0, 0, 0, 1764,
  9087  	1763, 1763, 0, 423, 424, 0, 427, 0, 0, 0,
  9088  	0, 0, 0, 0, 0, 1763, 1763, 0, 0, 0,
  9089  	0, 0, 0, 0, 0, 0, 0, 0, 1225, 0,
  9090  	0, 0, 0, 0, 0, 0, 1240, 1241, 975, 1763,
  9091  	0, 0, 0, 478, 990, 1008, 0, 0, 0, 0,
  9092  	0, 0, 847, 0, 0, 846, 0, 0, 0, 0,
  9093  	0, 759, 881, 0, 883, 884, 858, -2, 0, 827,
  9094  	863, 1619, 237, 238, 0, 0, 243, 261, 263, 0,
  9095  	0, 0, 262, 264, 268, 269, 318, 321, 323, 778,
  9096  	0, 0, 1143, 0, 931, 932, 934, 935, 0, -2,
  9097  	-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
  9098  	-2, -2, 1813, -2, -2, -2, -2, -2, -2, -2,
  9099  	-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
  9100  	-2, -2, -2, -2, 929, 648, 812, 817, 824, 887,
  9101  	889, 112, 820, 812, 0, 97, 19, 96, 88, 89,
  9102  	0, 19, 0, 0, 0, 0, 1748, 1747, 1733, 0,
  9103  	1734, 1745, 1750, 0, 1753, 0, 382, 722, 0, 0,
  9104  	702, 704, 0, 0, 702, 0, 0, 711, 0, 0,
  9105  	0, 0, 0, 702, 778, 718, 0, 775, 773, 774,
  9106  	0, 0, 612, 122, 377, 0, 0, 0, 0, 0,
  9107  	635, 0, 1024, 156, 0, 0, 176, 0, 0, 0,
  9108  	1109, 1104, 1618, 1647, 1649, 0, 1656, 1652, 1392, 1401,
  9109  	1426, 0, 0, 1432, 1444, 1444, 0, 0, 0, 1435,
  9110  	1746, 1746, 1438, 1742, 1744, 1742, 1444, 1444, 0, 113,
  9111  	0, 0, 1503, 0, 0, 0, 698, 0, 0, 0,
  9112  	1465, 1467, 1469, 1469, 1476, 1470, 1477, 1478, 1469, 1469,
  9113  	1469, 1469, 1483, 1469, 1469, 1469, 1469, 1469, 1469, 1469,
  9114  	1469, 1469, 1469, 1463, 0, 0, 1677, 1678, 707, 0,
  9115  	0, 749, 750, 751, 752, 753, 0, 0, 57, 57,
  9116  	1109, 0, 65, 0, 0, 293, 61, 62, 0, 0,
  9117  	0, 923, 0, 0, 0, 1261, 0, 979, 976, 977,
  9118  	978, 0, 1014, 479, 480, 481, 482, 0, 0, 0,
  9119  	1018, 0, 1003, 1003, 985, 0, 0, 0, 1059, 1060,
  9120  	1061, 1062, 1063, 1064, 1065, -2, 1074, 0, 0, 0,
  9121  	1261, 1093, 0, 0, 1098, 1261, 1261, 0, 1127, 0,
  9122  	1116, 710, 0, -2, 0, 0, 658, 0, 0, 855,
  9123  	538, 814, 562, 764, 765, 594, 814, 814, 0, 588,
  9124  	608, 1127, 1118, 0, 396, 445, 0, 1173, 0, 0,
  9125  	1179, 0, 1186, 399, 0, 447, 0, 1274, 1301, 1285,
  9126  	1301, 1345, 1301, 1301, 1070, 0, 447, 0, 0, 417,
  9127  	453, 0, 0, 0, 0, 0, 413, 450, 772, 400,
  9128  	402, 403, 404, 454, 455, 457, 0, 459, 460, 419,
  9129  	431, 432, 433, 434, 0, 0, 0, 426, 439, 440,
  9130  	441, 442, 401, 1202, 1203, 1204, 1207, 1208, 1209, 1210,
  9131  	0, 0, 1213, 1214, 1215, 1216, 1217, 1298, 1299, 1300,
  9132  	1218, 1219, 1220, 1221, 1222, 1223, 1224, 1242, 1243, 1244,
  9133  	1245, 1246, 1247, 1226, 1227, 1228, 1229, 1230, 1231, 1232,
  9134  	1233, 0, 0, 1237, 0, 979, 0, 0, 0, 0,
  9135  	1014, 992, 0, 999, 0, 1004, 1005, 0, 0, 680,
  9136  	814, 311, 0, 850, 844, 0, 833, 848, 849, 836,
  9137  	0, 838, 0, 834, 835, 814, 826, 857, 882, 859,
  9138  	862, 864, 865, 871, 0, 0, 0, 0, 240, 241,
  9139  	242, 249, 0, 498, 255, 734, 0, 1253, 638, 639,
  9140  	1144, 1145, 646, 0, 936, 810, 0, 0, 810, 92,
  9141  	95, 0, 90, 0, 0, 0, 0, 82, 80, 1741,
  9142  	0, 0, 724, 136, 0, 0, 0, 700, 0, 705,
  9143  	702, 686, 696, 685, 693, 694, 713, 1258, 1259, 1260,
  9144  	702, 676, 675, 737, 722, 770, 771, 0, 1313, 348,
  9145  	0, 1021, 156, 161, 162, 163, 157, 155, 1028, 0,
  9146  	1030, 0, 1102, 0, 0, 1653, 1431, 1402, 1433, 1445,
  9147  	1446, 1434, 0, 1404, 1405, 1436, 1437, 1439, 1440, 1441,
  9148  	1442, 1443, 1406, 1499, 0, 1501, 1509, 1510, 0, 1559,
  9149  	1563, 0, 0, 0, 0, 0, 1474, 1475, 1479, 1480,
  9150  	1481, 1482, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491,
  9151  	1492, 1493, 766, 1464, 0, 0, 0, 0, 0, 0,
  9152  	0, 747, 0, 0, 0, 59, 0, 59, 1108, 1110,
  9153  	0, 0, 0, 63, 911, 914, 920, 922, 0, 0,
  9154  	0, 1262, 1263, 1265, 1266, 1267, 0, 947, 0, 0,
  9155  	967, 968, 969, 981, 0, 0, 0, 484, 485, 0,
  9156  	0, 0, 497, 493, 494, 495, 475, 1013, 999, 999,
  9157  	988, 0, 0, 998, 0, 1075, 1763, 1763, 1763, 0,
  9158  	0, 1187, 1763, 1763, 0, 1095, 1097, 0, 0, 1191,
  9159  	1130, 0, 0, 1121, 0, 880, 0, 0, 814, 657,
  9160  	660, 661, 758, 539, 577, 581, 578, 0, 814, 1130,
  9161  	392, 1151, 0, 0, 0, 0, 0, 1183, 0, 0,
  9162  	1155, 0, 418, 448, 0, -2, 0, 1302, 0, 1288,
  9163  	1302, 0, 0, 1301, 0, 407, 447, 0, 0, 0,
  9164  	461, 465, 466, 0, 463, 1340, 0, 464, 0, 452,
  9165  	0, 458, 1205, 1206, 0, 1211, 1212, 0, 1236, 0,
  9166  	0, 467, 0, 0, 0, 468, 473, 985, 0, 1002,
  9167  	0, 1009, 0, 1006, 1007, 766, 0, 0, 830, 851,
  9168  	0, 0, 831, 0, 832, 837, 839, 310, 866, 0,
  9169  	0, 868, 869, 870, 861, 257, 779, 933, 0, 800,
  9170  	0, 0, 821, 801, 0, 19, 0, 0, 85, 1751,
  9171  	1754, 726, 0, 723, 137, 0, 0, 0, 0, 690,
  9172  	701, 684, 674, 724, 776, 777, 158, 153, 1029, 1112,
  9173  	0, 1103, 0, 0, 1511, 0, 1469, 1466, 1469, 1468,
  9174  	1460, 0, 1417, 0, 1419, 1420, 1421, 0, 1423, 1424,
  9175  	0, 745, 0, 55, 0, 58, 56, 0, 66, 0,
  9176  	0, 953, 1191, 0, 953, 980, 966, 0, 1015, 1016,
  9177  	0, 486, 487, 0, 490, 496, 982, 983, 984, 0,
  9178  	0, 996, 0, 0, 0, 0, 1067, 1081, 0, 0,
  9179  	0, -2, 0, -2, 1092, 0, 1136, 0, 1128, 0,
  9180  	1120, 0, 1123, 814, 814, -2, 654, 659, 0, 0,
  9181  	582, 1136, 1153, 0, 1174, 0, 0, 0, 0, 0,
  9182  	0, 0, 1154, 0, 1167, 449, 1303, -2, 1316, 1318,
  9183  	0, 1080, 1321, 1322, 0, 0, 0, 0, 0, 0,
  9184  	1366, 1330, 0, 0, 1334, 1335, 1336, 0, 0, 1339,
  9185  	0, 1671, 1672, 0, 1343, 0, 0, 0, 0, 0,
  9186  	0, 0, 1282, 408, 409, 0, 411, 412, 1763, 1341,
  9187  	451, 405, 1763, 421, 1235, 1238, 1239, 472, 469, 470,
  9188  	988, 991, 1000, 681, 761, 312, 313, 852, 0, 845,
  9189  	875, 872, 0, 0, 937, 811, 813, 86, 91, 0,
  9190  	0, 728, 0, 725, 0, 719, 721, 147, 689, 726,
  9191  	107, 139, 0, 0, 1403, 1500, 1550, 1472, 1473, 0,
  9192  	1461, 0, 1455, 1456, 1457, 1462, 0, 0, 748, 743,
  9193  	60, 68, 0, 0, 0, 939, 946, 960, 1086, 1264,
  9194  	945, 0, 0, 483, 488, 0, 491, 492, 0, 986,
  9195  	987, 0, 994, 0, 0, 1054, 1742, 0, 1076, 1077,
  9196  	1078, 1188, 1189, 1190, 1146, 1094, 0, -2, 1199, 0,
  9197  	1090, 1112, 1146, 0, 1124, 0, 1131, 0, 1129, 1122,
  9198  	766, 655, 595, 1133, 398, 1185, 1175, 0, 1177, 0,
  9199  	0, 0, 0, 1156, -2, 0, 1317, 1319, 1320, 1323,
  9200  	1324, 1325, 1371, 1372, 1373, 0, 0, 1328, 1368, 1369,
  9201  	1370, 1329, 0, 0, 0, 0, 0, 1669, 1670, 1364,
  9202  	0, 0, 1289, 1291, 1292, 1293, 1294, 1295, 1296, 1297,
  9203  	1290, 0, 0, 0, 1281, 1283, 410, 0, 0, 1763,
  9204  	1001, 309, 0, 0, 876, 878, 873, 874, 81, 83,
  9205  	98, 0, 727, 138, 0, 728, 109, 0, 130, 0,
  9206  	1113, 0, 1471, 1458, 0, 0, 0, 0, 0, 1673,
  9207  	1674, 1675, 0, 1418, 1422, 0, 67, 0, 0, 961,
  9208  	962, 970, 971, 0, 973, 974, 489, 989, 993, 996,
  9209  	0, 1045, 0, 772, 0, 1148, 0, 1096, 1079, 1201,
  9210  	1763, 1099, 1148, 0, 1193, 1763, 1763, 1114, 0, 1126,
  9211  	0, 1138, 0, 1132, 761, 391, 0, 1135, 1171, 1176,
  9212  	1178, 1180, 0, 1184, 1182, 1157, -2, 0, 1165, 0,
  9213  	0, 1326, 1327, 0, 0, 1569, 1763, 0, 1359, 0,
  9214  	1045, 1045, 1045, 1045, 0, 462, 420, 0, 853, 867,
  9215  	0, 0, 0, 717, 99, 0, 108, 127, 0, 140,
  9216  	141, 0, 0, 0, 0, 1105, 0, 1447, 0, 0,
  9217  	0, 1451, 1452, 1453, 1454, 69, 0, 0, 938, 0,
  9218  	972, 995, 997, 1044, 1055, 1056, 772, 1089, 0, 1185,
  9219  	1200, 0, 1091, 1192, 0, 0, 0, 1125, 1137, 0,
  9220  	1140, 653, 1134, 1152, 0, 1181, 1158, 1166, 0, 1161,
  9221  	0, 0, 0, 1367, 0, 1333, 0, 1338, 1347, 1360,
  9222  	0, 0, 1270, 0, 1272, 0, 1276, 0, 1278, 0,
  9223  	0, 422, 877, 879, 0, 730, 720, 110, 114, 0,
  9224  	136, 133, 0, 142, 0, 0, 0, 0, 1101, 0,
  9225  	0, 1448, 1449, 1450, 0, 0, 940, 941, 954, 1046,
  9226  	1763, 1763, 0, 0, 0, 1052, 1053, 1057, 0, 1173,
  9227  	1205, 1194, 1195, 1196, 1139, 1172, 1160, 0, -2, 1168,
  9228  	0, 0, 1621, 1631, 1632, 1331, 1337, 1346, 1348, 1349,
  9229  	0, 1361, 1362, 1363, 1365, 1045, 1045, 1045, 1045, 1280,
  9230  	729, 0, 101, 0, 0, 131, 132, 134, 0, 143,
  9231  	0, 145, 146, 0, 1459, 70, 942, 0, 0, 1049,
  9232  	1050, 0, 1149, 0, 1151, 1162, -2, 0, 1170, 0,
  9233  	1332, 1350, 0, 1351, 0, 0, 0, 1271, 1273, 1277,
  9234  	1279, 731, 1111, 0, 115, 0, 117, 119, 120, 1304,
  9235  	128, 129, 135, 144, 0, 927, 943, 0, 1047, 1048,
  9236  	1051, 0, 1153, 1169, 1622, 1352, 1354, 1355, 0, 0,
  9237  	1353, 102, 103, 0, 116, 0, 0, 1106, 944, 1150,
  9238  	1147, 1356, 1358, 1357, 0, 0, 118, 1305, 104, 105,
  9239  	106, 0, 1306,
  9240  }
  9241  
  9242  var yyTok1 = [...]int{
  9243  	1, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  9244  	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  9245  	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  9246  	3, 3, 3, 115, 3, 3, 3, 146, 138, 3,
  9247  	82, 83, 143, 141, 156, 142, 155, 144, 3, 3,
  9248  	3, 3, 3, 3, 3, 3, 3, 3, 637, 634,
  9249  	125, 124, 126, 3, 638, 3, 3, 3, 3, 3,
  9250  	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  9251  	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  9252  	3, 3, 3, 3, 148, 3, 3, 3, 3, 3,
  9253  	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  9254  	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  9255  	3, 3, 3, 635, 137, 636, 149,
  9256  }
  9257  
  9258  var yyTok2 = [...]int{
  9259  	2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
  9260  	12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
  9261  	22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
  9262  	32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
  9263  	42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
  9264  	52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
  9265  	62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
  9266  	72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
  9267  	84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
  9268  	94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
  9269  	104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
  9270  	114, 116, 117, 118, 119, 120, 121, 122, 123, 127,
  9271  	128, 129, 130, 131, 132, 133, 134, 135, 136, 139,
  9272  	140, 145, 147, 150, 151, 152, 153, 154, 157, 158,
  9273  	159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
  9274  	169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
  9275  	179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
  9276  	189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
  9277  	199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
  9278  	209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
  9279  	219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
  9280  	229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
  9281  	239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
  9282  	249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
  9283  	259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
  9284  	269, 270, 271, 272, 273, 274,
  9285  }
  9286  
  9287  var yyTok3 = [...]int{
  9288  	57600, 275, 57601, 276, 57602, 277, 57603, 278, 57604, 279,
  9289  	57605, 280, 57606, 281, 57607, 282, 57608, 283, 57609, 284,
  9290  	57610, 285, 57611, 286, 57612, 287, 57613, 288, 57614, 289,
  9291  	57615, 290, 57616, 291, 57617, 292, 57618, 293, 57619, 294,
  9292  	57620, 295, 57621, 296, 57622, 297, 57623, 298, 57624, 299,
  9293  	57625, 300, 57626, 301, 57627, 302, 57628, 303, 57629, 304,
  9294  	57630, 305, 57631, 306, 57632, 307, 57633, 308, 57634, 309,
  9295  	57635, 310, 57636, 311, 57637, 312, 57638, 313, 57639, 314,
  9296  	57640, 315, 57641, 316, 57642, 317, 57643, 318, 57644, 319,
  9297  	57645, 320, 57646, 321, 57647, 322, 57648, 323, 57649, 324,
  9298  	57650, 325, 57651, 326, 57652, 327, 57653, 328, 57654, 329,
  9299  	57655, 330, 57656, 331, 57657, 332, 57658, 333, 57659, 334,
  9300  	57660, 335, 57661, 336, 57662, 337, 57663, 338, 57664, 339,
  9301  	57665, 340, 57666, 341, 57667, 342, 57668, 343, 57669, 344,
  9302  	57670, 345, 57671, 346, 57672, 347, 57673, 348, 57674, 349,
  9303  	57675, 350, 57676, 351, 57677, 352, 57678, 353, 57679, 354,
  9304  	57680, 355, 57681, 356, 57682, 357, 57683, 358, 57684, 359,
  9305  	57685, 360, 57686, 361, 57687, 362, 57688, 363, 57689, 364,
  9306  	57690, 365, 57691, 366, 57692, 367, 57693, 368, 57694, 369,
  9307  	57695, 370, 57696, 371, 57697, 372, 57698, 373, 57699, 374,
  9308  	57700, 375, 57701, 376, 57702, 377, 57703, 378, 57704, 379,
  9309  	57705, 380, 57706, 381, 57707, 382, 57708, 383, 57709, 384,
  9310  	57710, 385, 57711, 386, 57712, 387, 57713, 388, 57714, 389,
  9311  	57715, 390, 57716, 391, 57717, 392, 57718, 393, 57719, 394,
  9312  	57720, 395, 57721, 396, 57722, 397, 57723, 398, 57724, 399,
  9313  	57725, 400, 57726, 401, 57727, 402, 57728, 403, 57729, 404,
  9314  	57730, 405, 57731, 406, 57732, 407, 57733, 408, 57734, 409,
  9315  	57735, 410, 57736, 411, 57737, 412, 57738, 413, 57739, 414,
  9316  	57740, 415, 57741, 416, 57742, 417, 57743, 418, 57744, 419,
  9317  	57745, 420, 57746, 421, 57747, 422, 57748, 423, 57749, 424,
  9318  	57750, 425, 57751, 426, 57752, 427, 57753, 428, 57754, 429,
  9319  	57755, 430, 57756, 431, 57757, 432, 57758, 433, 57759, 434,
  9320  	57760, 435, 57761, 436, 57762, 437, 57763, 438, 57764, 439,
  9321  	57765, 440, 57766, 441, 57767, 442, 57768, 443, 57769, 444,
  9322  	57770, 445, 57771, 446, 57772, 447, 57773, 448, 57774, 449,
  9323  	57775, 450, 57776, 451, 57777, 452, 57778, 453, 57779, 454,
  9324  	57780, 455, 57781, 456, 57782, 457, 57783, 458, 57784, 459,
  9325  	57785, 460, 57786, 461, 57787, 462, 57788, 463, 57789, 464,
  9326  	57790, 465, 57791, 466, 57792, 467, 57793, 468, 57794, 469,
  9327  	57795, 470, 57796, 471, 57797, 472, 57798, 473, 57799, 474,
  9328  	57800, 475, 57801, 476, 57802, 477, 57803, 478, 57804, 479,
  9329  	57805, 480, 57806, 481, 57807, 482, 57808, 483, 57809, 484,
  9330  	57810, 485, 57811, 486, 57812, 487, 57813, 488, 57814, 489,
  9331  	57815, 490, 57816, 491, 57817, 492, 57818, 493, 57819, 494,
  9332  	57820, 495, 57821, 496, 57822, 497, 57823, 498, 57824, 499,
  9333  	57825, 500, 57826, 501, 57827, 502, 57828, 503, 57829, 504,
  9334  	57830, 505, 57831, 506, 57832, 507, 57833, 508, 57834, 509,
  9335  	57835, 510, 57836, 511, 57837, 512, 57838, 513, 57839, 514,
  9336  	57840, 515, 57841, 516, 57842, 517, 57843, 518, 57844, 519,
  9337  	57845, 520, 57846, 521, 57847, 522, 57848, 523, 57849, 524,
  9338  	57850, 525, 57851, 526, 57852, 527, 57853, 528, 57854, 529,
  9339  	57855, 530, 57856, 531, 57857, 532, 57858, 533, 57859, 534,
  9340  	57860, 535, 57861, 536, 57862, 537, 57863, 538, 57864, 539,
  9341  	57865, 540, 57866, 541, 57867, 542, 57868, 543, 57869, 544,
  9342  	57870, 545, 57871, 546, 57872, 547, 57873, 548, 57874, 549,
  9343  	57875, 550, 57876, 551, 57877, 552, 57878, 553, 57879, 554,
  9344  	57880, 555, 57881, 556, 57882, 557, 57883, 558, 57884, 559,
  9345  	57885, 560, 57886, 561, 57887, 562, 57888, 563, 57889, 564,
  9346  	57890, 565, 57891, 566, 57892, 567, 57893, 568, 57894, 569,
  9347  	57895, 570, 57896, 571, 57897, 572, 57898, 573, 57899, 574,
  9348  	57900, 575, 57901, 576, 57902, 577, 57903, 578, 57904, 579,
  9349  	57905, 580, 57906, 581, 57907, 582, 57908, 583, 57909, 584,
  9350  	57910, 585, 57911, 586, 57912, 587, 57913, 588, 57914, 589,
  9351  	57915, 590, 57916, 591, 57917, 592, 57918, 593, 57919, 594,
  9352  	57920, 595, 57921, 596, 57922, 597, 57923, 598, 57924, 599,
  9353  	57925, 600, 57926, 601, 57927, 602, 57928, 603, 57929, 604,
  9354  	57930, 605, 57931, 606, 57932, 607, 57933, 608, 57934, 609,
  9355  	57935, 610, 57936, 611, 57937, 612, 57938, 613, 57939, 614,
  9356  	57940, 615, 57941, 616, 57942, 617, 57943, 618, 57944, 619,
  9357  	57945, 620, 57946, 621, 57947, 622, 57948, 623, 57949, 624,
  9358  	57950, 625, 57951, 626, 57952, 627, 57953, 628, 57954, 629,
  9359  	57955, 630, 57956, 631, 57957, 632, 57958, 633, 0,
  9360  }
  9361  
  9362  var yyErrorMessages = [...]struct {
  9363  	state int
  9364  	token int
  9365  	msg   string
  9366  }{}
  9367  
  9368  //line yaccpar:1
  9369  
  9370  /*	parser for yacc output	*/
  9371  
  9372  func yyIaddr(v interface{}) __yyunsafe__.Pointer {
  9373  	type h struct {
  9374  		t __yyunsafe__.Pointer
  9375  		p __yyunsafe__.Pointer
  9376  	}
  9377  	return (*h)(__yyunsafe__.Pointer(&v)).p
  9378  }
  9379  
  9380  var (
  9381  	yyDebug        = 0
  9382  	yyErrorVerbose = false
  9383  )
  9384  
  9385  type yyLexer interface {
  9386  	Lex(lval *yySymType) int
  9387  	Error(s string)
  9388  }
  9389  
  9390  type yyParser interface {
  9391  	Parse(yyLexer) int
  9392  	Lookahead() int
  9393  }
  9394  
  9395  type yyParserImpl struct {
  9396  	lval  yySymType
  9397  	stack [yyInitialStackSize]yySymType
  9398  	char  int
  9399  }
  9400  
  9401  func (p *yyParserImpl) Lookahead() int {
  9402  	return p.char
  9403  }
  9404  
  9405  func yyNewParser() yyParser {
  9406  	return &yyParserImpl{}
  9407  }
  9408  
  9409  const yyFlag = -1000
  9410  
  9411  func yyTokname(c int) string {
  9412  	if c >= 1 && c-1 < len(yyToknames) {
  9413  		if yyToknames[c-1] != "" {
  9414  			return yyToknames[c-1]
  9415  		}
  9416  	}
  9417  	return __yyfmt__.Sprintf("tok-%v", c)
  9418  }
  9419  
  9420  func yyStatname(s int) string {
  9421  	if s >= 0 && s < len(yyStatenames) {
  9422  		if yyStatenames[s] != "" {
  9423  			return yyStatenames[s]
  9424  		}
  9425  	}
  9426  	return __yyfmt__.Sprintf("state-%v", s)
  9427  }
  9428  
  9429  func yyErrorMessage(state, lookAhead int) string {
  9430  	const TOKSTART = 4
  9431  
  9432  	if !yyErrorVerbose {
  9433  		return "syntax error"
  9434  	}
  9435  
  9436  	for _, e := range yyErrorMessages {
  9437  		if e.state == state && e.token == lookAhead {
  9438  			return "syntax error: " + e.msg
  9439  		}
  9440  	}
  9441  
  9442  	res := "syntax error: unexpected " + yyTokname(lookAhead)
  9443  
  9444  	// To match Bison, suggest at most four expected tokens.
  9445  	expected := make([]int, 0, 4)
  9446  
  9447  	// Look for shiftable tokens.
  9448  	base := yyPact[state]
  9449  	for tok := TOKSTART; tok-1 < len(yyToknames); tok++ {
  9450  		if n := base + tok; n >= 0 && n < yyLast && yyChk[yyAct[n]] == tok {
  9451  			if len(expected) == cap(expected) {
  9452  				return res
  9453  			}
  9454  			expected = append(expected, tok)
  9455  		}
  9456  	}
  9457  
  9458  	if yyDef[state] == -2 {
  9459  		i := 0
  9460  		for yyExca[i] != -1 || yyExca[i+1] != state {
  9461  			i += 2
  9462  		}
  9463  
  9464  		// Look for tokens that we accept or reduce.
  9465  		for i += 2; yyExca[i] >= 0; i += 2 {
  9466  			tok := yyExca[i]
  9467  			if tok < TOKSTART || yyExca[i+1] == 0 {
  9468  				continue
  9469  			}
  9470  			if len(expected) == cap(expected) {
  9471  				return res
  9472  			}
  9473  			expected = append(expected, tok)
  9474  		}
  9475  
  9476  		// If the default action is to accept or reduce, give up.
  9477  		if yyExca[i+1] != 0 {
  9478  			return res
  9479  		}
  9480  	}
  9481  
  9482  	for i, tok := range expected {
  9483  		if i == 0 {
  9484  			res += ", expecting "
  9485  		} else {
  9486  			res += " or "
  9487  		}
  9488  		res += yyTokname(tok)
  9489  	}
  9490  	return res
  9491  }
  9492  
  9493  func yylex1(lex yyLexer, lval *yySymType) (char, token int) {
  9494  	token = 0
  9495  	char = lex.Lex(lval)
  9496  	if char <= 0 {
  9497  		token = yyTok1[0]
  9498  		goto out
  9499  	}
  9500  	if char < len(yyTok1) {
  9501  		token = yyTok1[char]
  9502  		goto out
  9503  	}
  9504  	if char >= yyPrivate {
  9505  		if char < yyPrivate+len(yyTok2) {
  9506  			token = yyTok2[char-yyPrivate]
  9507  			goto out
  9508  		}
  9509  	}
  9510  	for i := 0; i < len(yyTok3); i += 2 {
  9511  		token = yyTok3[i+0]
  9512  		if token == char {
  9513  			token = yyTok3[i+1]
  9514  			goto out
  9515  		}
  9516  	}
  9517  
  9518  out:
  9519  	if token == 0 {
  9520  		token = yyTok2[1] /* unknown char */
  9521  	}
  9522  	if yyDebug >= 3 {
  9523  		__yyfmt__.Printf("lex %s(%d)\n", yyTokname(token), uint(char))
  9524  	}
  9525  	return char, token
  9526  }
  9527  
  9528  func yyParse(yylex yyLexer) int {
  9529  	return yyNewParser().Parse(yylex)
  9530  }
  9531  
  9532  func (yyrcvr *yyParserImpl) Parse(yylex yyLexer) int {
  9533  	var yyn int
  9534  	var yyVAL yySymType
  9535  	var yyDollar []yySymType
  9536  	_ = yyDollar // silence set and not used
  9537  	yyS := yyrcvr.stack[:]
  9538  
  9539  	Nerrs := 0   /* number of errors */
  9540  	Errflag := 0 /* error recovery flag */
  9541  	yystate := 0
  9542  	yyrcvr.char = -1
  9543  	yytoken := -1 // yyrcvr.char translated into internal numbering
  9544  	defer func() {
  9545  		// Make sure we report no lookahead when not parsing.
  9546  		yystate = -1
  9547  		yyrcvr.char = -1
  9548  		yytoken = -1
  9549  	}()
  9550  	yyp := -1
  9551  	goto yystack
  9552  
  9553  ret0:
  9554  	return 0
  9555  
  9556  ret1:
  9557  	return 1
  9558  
  9559  yystack:
  9560  	/* put a state and value onto the stack */
  9561  	if yyDebug >= 4 {
  9562  		__yyfmt__.Printf("char %v in %v\n", yyTokname(yytoken), yyStatname(yystate))
  9563  	}
  9564  
  9565  	yyp++
  9566  	if yyp >= len(yyS) {
  9567  		nyys := make([]yySymType, len(yyS)*2)
  9568  		copy(nyys, yyS)
  9569  		yyS = nyys
  9570  	}
  9571  	yyS[yyp] = yyVAL
  9572  	yyS[yyp].yys = yystate
  9573  
  9574  yynewstate:
  9575  	yyn = yyPact[yystate]
  9576  	if yyn <= yyFlag {
  9577  		goto yydefault /* simple state */
  9578  	}
  9579  	if yyrcvr.char < 0 {
  9580  		yyrcvr.char, yytoken = yylex1(yylex, &yyrcvr.lval)
  9581  	}
  9582  	yyn += yytoken
  9583  	if yyn < 0 || yyn >= yyLast {
  9584  		goto yydefault
  9585  	}
  9586  	yyn = yyAct[yyn]
  9587  	if yyChk[yyn] == yytoken { /* valid shift */
  9588  		yyrcvr.char = -1
  9589  		yytoken = -1
  9590  		yyVAL = yyrcvr.lval
  9591  		yystate = yyn
  9592  		if Errflag > 0 {
  9593  			Errflag--
  9594  		}
  9595  		goto yystack
  9596  	}
  9597  
  9598  yydefault:
  9599  	/* default state action */
  9600  	yyn = yyDef[yystate]
  9601  	if yyn == -2 {
  9602  		if yyrcvr.char < 0 {
  9603  			yyrcvr.char, yytoken = yylex1(yylex, &yyrcvr.lval)
  9604  		}
  9605  
  9606  		/* look through exception table */
  9607  		xi := 0
  9608  		for {
  9609  			if yyExca[xi+0] == -1 && yyExca[xi+1] == yystate {
  9610  				break
  9611  			}
  9612  			xi += 2
  9613  		}
  9614  		for xi += 2; ; xi += 2 {
  9615  			yyn = yyExca[xi+0]
  9616  			if yyn < 0 || yyn == yytoken {
  9617  				break
  9618  			}
  9619  		}
  9620  		yyn = yyExca[xi+1]
  9621  		if yyn < 0 {
  9622  			goto ret0
  9623  		}
  9624  	}
  9625  	if yyn == 0 {
  9626  		/* error ... attempt to resume parsing */
  9627  		switch Errflag {
  9628  		case 0: /* brand new error */
  9629  			yylex.Error(yyErrorMessage(yystate, yytoken))
  9630  			Nerrs++
  9631  			if yyDebug >= 1 {
  9632  				__yyfmt__.Printf("%s", yyStatname(yystate))
  9633  				__yyfmt__.Printf(" saw %s\n", yyTokname(yytoken))
  9634  			}
  9635  			fallthrough
  9636  
  9637  		case 1, 2: /* incompletely recovered error ... try again */
  9638  			Errflag = 3
  9639  
  9640  			/* find a state where "error" is a legal shift action */
  9641  			for yyp >= 0 {
  9642  				yyn = yyPact[yyS[yyp].yys] + yyErrCode
  9643  				if yyn >= 0 && yyn < yyLast {
  9644  					yystate = yyAct[yyn] /* simulate a shift of "error" */
  9645  					if yyChk[yystate] == yyErrCode {
  9646  						goto yystack
  9647  					}
  9648  				}
  9649  
  9650  				/* the current p has no shift on "error", pop stack */
  9651  				if yyDebug >= 2 {
  9652  					__yyfmt__.Printf("error recovery pops state %d\n", yyS[yyp].yys)
  9653  				}
  9654  				yyp--
  9655  			}
  9656  			/* there is no state on the stack with an error shift ... abort */
  9657  			goto ret1
  9658  
  9659  		case 3: /* no shift yet; clobber input char */
  9660  			if yyDebug >= 2 {
  9661  				__yyfmt__.Printf("error recovery discards %s\n", yyTokname(yytoken))
  9662  			}
  9663  			if yytoken == yyEofCode {
  9664  				goto ret1
  9665  			}
  9666  			yyrcvr.char = -1
  9667  			yytoken = -1
  9668  			goto yynewstate /* try again in the same state */
  9669  		}
  9670  	}
  9671  
  9672  	/* reduction by production yyn */
  9673  	if yyDebug >= 2 {
  9674  		__yyfmt__.Printf("reduce %v in:\n\t%v\n", yyn, yyStatname(yystate))
  9675  	}
  9676  
  9677  	yynt := yyn
  9678  	yypt := yyp
  9679  	_ = yypt // guard against "declared and not used"
  9680  
  9681  	yyp -= yyR2[yyn]
  9682  	// yyp is now the index of $0. Perform the default action. Iff the
  9683  	// reduced production is ε, $1 is possibly out of range.
  9684  	if yyp+1 >= len(yyS) {
  9685  		nyys := make([]yySymType, len(yyS)*2)
  9686  		copy(nyys, yyS)
  9687  		yyS = nyys
  9688  	}
  9689  	yyVAL = yyS[yyp+1]
  9690  
  9691  	/* consult goto table to find next state */
  9692  	yyn = yyR1[yyn]
  9693  	yyg := yyPgo[yyn]
  9694  	yyj := yyg + yyS[yyp].yys + 1
  9695  
  9696  	if yyj >= yyLast {
  9697  		yystate = yyAct[yyg]
  9698  	} else {
  9699  		yystate = yyAct[yyj]
  9700  		if yyChk[yystate] != -yyn {
  9701  			yystate = yyAct[yyg]
  9702  		}
  9703  	}
  9704  	// dummy call; replaced with literal code
  9705  	switch yynt {
  9706  
  9707  	case 2:
  9708  		yyDollar = yyS[yypt-1 : yypt+1]
  9709  //line mysql_sql.y:815
  9710  		{
  9711  			yylex.(*Lexer).AppendStmt(yyDollar[1].statementUnion())
  9712  		}
  9713  	case 4:
  9714  		yyDollar = yyS[yypt-1 : yypt+1]
  9715  //line mysql_sql.y:822
  9716  		{
  9717  			if yyDollar[1].statementUnion() != nil {
  9718  				yylex.(*Lexer).AppendStmt(yyDollar[1].statementUnion())
  9719  			}
  9720  		}
  9721  	case 5:
  9722  		yyDollar = yyS[yypt-3 : yypt+1]
  9723  //line mysql_sql.y:828
  9724  		{
  9725  			if yyDollar[3].statementUnion() != nil {
  9726  				yylex.(*Lexer).AppendStmt(yyDollar[3].statementUnion())
  9727  			}
  9728  		}
  9729  	case 6:
  9730  		yyDollar = yyS[yypt-3 : yypt+1]
  9731  		var yyLOCAL tree.Statement
  9732  //line mysql_sql.y:836
  9733  		{
  9734  			yyLOCAL = tree.NewCompoundStmt(yyDollar[2].statementsUnion())
  9735  		}
  9736  		yyVAL.union = yyLOCAL
  9737  	case 7:
  9738  		yyDollar = yyS[yypt-1 : yypt+1]
  9739  		var yyLOCAL []tree.Statement
  9740  //line mysql_sql.y:842
  9741  		{
  9742  			yyLOCAL = []tree.Statement{yyDollar[1].statementUnion()}
  9743  		}
  9744  		yyVAL.union = yyLOCAL
  9745  	case 8:
  9746  		yyDollar = yyS[yypt-3 : yypt+1]
  9747  		var yyLOCAL []tree.Statement
  9748  //line mysql_sql.y:846
  9749  		{
  9750  			yyLOCAL = append(yyDollar[1].statementsUnion(), yyDollar[3].statementUnion())
  9751  		}
  9752  		yyVAL.union = yyLOCAL
  9753  	case 18:
  9754  		yyDollar = yyS[yypt-1 : yypt+1]
  9755  		var yyLOCAL tree.Statement
  9756  //line mysql_sql.y:861
  9757  		{
  9758  			yyLOCAL = yyDollar[1].statementUnion()
  9759  		}
  9760  		yyVAL.union = yyLOCAL
  9761  	case 19:
  9762  		yyDollar = yyS[yypt-0 : yypt+1]
  9763  		var yyLOCAL tree.Statement
  9764  //line mysql_sql.y:865
  9765  		{
  9766  			yyLOCAL = tree.Statement(nil)
  9767  		}
  9768  		yyVAL.union = yyLOCAL
  9769  	case 20:
  9770  		yyDollar = yyS[yypt-1 : yypt+1]
  9771  		var yyLOCAL tree.Statement
  9772  //line mysql_sql.y:871
  9773  		{
  9774  			yyLOCAL = yyDollar[1].statementUnion()
  9775  		}
  9776  		yyVAL.union = yyLOCAL
  9777  	case 22:
  9778  		yyDollar = yyS[yypt-1 : yypt+1]
  9779  		var yyLOCAL tree.Statement
  9780  //line mysql_sql.y:876
  9781  		{
  9782  			yyLOCAL = yyDollar[1].statementUnion()
  9783  		}
  9784  		yyVAL.union = yyLOCAL
  9785  	case 23:
  9786  		yyDollar = yyS[yypt-0 : yypt+1]
  9787  		var yyLOCAL tree.Statement
  9788  //line mysql_sql.y:880
  9789  		{
  9790  			yyLOCAL = tree.Statement(nil)
  9791  		}
  9792  		yyVAL.union = yyLOCAL
  9793  	case 51:
  9794  		yyDollar = yyS[yypt-1 : yypt+1]
  9795  		var yyLOCAL tree.Statement
  9796  //line mysql_sql.y:913
  9797  		{
  9798  			yyLOCAL = yyDollar[1].selectUnion()
  9799  		}
  9800  		yyVAL.union = yyLOCAL
  9801  	case 55:
  9802  		yyDollar = yyS[yypt-8 : yypt+1]
  9803  		var yyLOCAL tree.Statement
  9804  //line mysql_sql.y:923
  9805  		{
  9806  			var timestamp = yyDollar[2].str
  9807  			var isS3 = false
  9808  			var dir = yyDollar[4].str
  9809  			var parallelism = yyDollar[6].str
  9810  			var option []string
  9811  			var backuptype = yyDollar[7].str
  9812  			var backupts = yyDollar[8].str
  9813  			yyLOCAL = tree.NewBackupStart(timestamp, isS3, dir, parallelism, option, backuptype, backupts)
  9814  		}
  9815  		yyVAL.union = yyLOCAL
  9816  	case 56:
  9817  		yyDollar = yyS[yypt-8 : yypt+1]
  9818  		var yyLOCAL tree.Statement
  9819  //line mysql_sql.y:934
  9820  		{
  9821  			var timestamp = yyDollar[2].str
  9822  			var isS3 = true
  9823  			var dir string
  9824  			var parallelism string
  9825  			var option = yyDollar[5].strsUnion()
  9826  			var backuptype = yyDollar[7].str
  9827  			var backupts = yyDollar[8].str
  9828  			yyLOCAL = tree.NewBackupStart(timestamp, isS3, dir, parallelism, option, backuptype, backupts)
  9829  		}
  9830  		yyVAL.union = yyLOCAL
  9831  	case 57:
  9832  		yyDollar = yyS[yypt-0 : yypt+1]
  9833  //line mysql_sql.y:946
  9834  		{
  9835  			yyVAL.str = ""
  9836  		}
  9837  	case 58:
  9838  		yyDollar = yyS[yypt-2 : yypt+1]
  9839  //line mysql_sql.y:950
  9840  		{
  9841  			yyVAL.str = yyDollar[2].str
  9842  		}
  9843  	case 59:
  9844  		yyDollar = yyS[yypt-0 : yypt+1]
  9845  //line mysql_sql.y:955
  9846  		{
  9847  			yyVAL.str = ""
  9848  		}
  9849  	case 60:
  9850  		yyDollar = yyS[yypt-2 : yypt+1]
  9851  //line mysql_sql.y:959
  9852  		{
  9853  			yyVAL.str = yyDollar[2].str
  9854  		}
  9855  	case 61:
  9856  		yyDollar = yyS[yypt-6 : yypt+1]
  9857  		var yyLOCAL tree.Statement
  9858  //line mysql_sql.y:967
  9859  		{
  9860  			yyLOCAL = &tree.CreateSnapShot{
  9861  				IfNotExists: yyDollar[3].ifNotExistsUnion(),
  9862  				Name:        tree.Identifier(yyDollar[4].cstrUnion().Compare()),
  9863  				Object:      yyDollar[6].snapshotObjectUnion(),
  9864  			}
  9865  		}
  9866  		yyVAL.union = yyLOCAL
  9867  	case 62:
  9868  		yyDollar = yyS[yypt-1 : yypt+1]
  9869  		var yyLOCAL tree.ObjectInfo
  9870  //line mysql_sql.y:977
  9871  		{
  9872  			spLevel := tree.SnapshotLevelType{
  9873  				Level: tree.SNAPSHOTLEVELCLUSTER,
  9874  			}
  9875  			yyLOCAL = tree.ObjectInfo{
  9876  				SLevel:  spLevel,
  9877  				ObjName: "",
  9878  			}
  9879  		}
  9880  		yyVAL.union = yyLOCAL
  9881  	case 63:
  9882  		yyDollar = yyS[yypt-2 : yypt+1]
  9883  		var yyLOCAL tree.ObjectInfo
  9884  //line mysql_sql.y:987
  9885  		{
  9886  			spLevel := tree.SnapshotLevelType{
  9887  				Level: tree.SNAPSHOTLEVELACCOUNT,
  9888  			}
  9889  			yyLOCAL = tree.ObjectInfo{
  9890  				SLevel:  spLevel,
  9891  				ObjName: tree.Identifier(yyDollar[2].cstrUnion().Compare()),
  9892  			}
  9893  		}
  9894  		yyVAL.union = yyLOCAL
  9895  	case 64:
  9896  		yyDollar = yyS[yypt-5 : yypt+1]
  9897  		var yyLOCAL tree.Statement
  9898  //line mysql_sql.y:1000
  9899  		{
  9900  			yyLOCAL = &tree.RestoreSnapShot{
  9901  				Level:        tree.RESTORELEVELCLUSTER,
  9902  				SnapShotName: tree.Identifier(yyDollar[5].cstrUnion().ToLower()),
  9903  			}
  9904  
  9905  		}
  9906  		yyVAL.union = yyLOCAL
  9907  	case 65:
  9908  		yyDollar = yyS[yypt-6 : yypt+1]
  9909  		var yyLOCAL tree.Statement
  9910  //line mysql_sql.y:1008
  9911  		{
  9912  			yyLOCAL = &tree.RestoreSnapShot{
  9913  				Level:        tree.RESTORELEVELACCOUNT,
  9914  				AccountName:  tree.Identifier(yyDollar[3].cstrUnion().ToLower()),
  9915  				SnapShotName: tree.Identifier(yyDollar[6].cstrUnion().ToLower()),
  9916  			}
  9917  		}
  9918  		yyVAL.union = yyLOCAL
  9919  	case 66:
  9920  		yyDollar = yyS[yypt-8 : yypt+1]
  9921  		var yyLOCAL tree.Statement
  9922  //line mysql_sql.y:1016
  9923  		{
  9924  			yyLOCAL = &tree.RestoreSnapShot{
  9925  				Level:        tree.RESTORELEVELDATABASE,
  9926  				AccountName:  tree.Identifier(yyDollar[3].cstrUnion().ToLower()),
  9927  				DatabaseName: tree.Identifier(yyDollar[5].cstrUnion().ToLower()),
  9928  				SnapShotName: tree.Identifier(yyDollar[8].cstrUnion().ToLower()),
  9929  			}
  9930  		}
  9931  		yyVAL.union = yyLOCAL
  9932  	case 67:
  9933  		yyDollar = yyS[yypt-10 : yypt+1]
  9934  		var yyLOCAL tree.Statement
  9935  //line mysql_sql.y:1025
  9936  		{
  9937  			yyLOCAL = &tree.RestoreSnapShot{
  9938  				Level:        tree.RESTORELEVELTABLE,
  9939  				AccountName:  tree.Identifier(yyDollar[3].cstrUnion().ToLower()),
  9940  				DatabaseName: tree.Identifier(yyDollar[5].cstrUnion().ToLower()),
  9941  				TableName:    tree.Identifier(yyDollar[7].cstrUnion().ToLower()),
  9942  				SnapShotName: tree.Identifier(yyDollar[10].cstrUnion().ToLower()),
  9943  			}
  9944  		}
  9945  		yyVAL.union = yyLOCAL
  9946  	case 68:
  9947  		yyDollar = yyS[yypt-9 : yypt+1]
  9948  		var yyLOCAL tree.Statement
  9949  //line mysql_sql.y:1035
  9950  		{
  9951  			yyLOCAL = &tree.RestoreSnapShot{
  9952  				Level:         tree.RESTORELEVELACCOUNT,
  9953  				AccountName:   tree.Identifier(yyDollar[3].cstrUnion().ToLower()),
  9954  				SnapShotName:  tree.Identifier(yyDollar[6].cstrUnion().ToLower()),
  9955  				ToAccountName: tree.Identifier(yyDollar[9].cstrUnion().ToLower()),
  9956  			}
  9957  		}
  9958  		yyVAL.union = yyLOCAL
  9959  	case 69:
  9960  		yyDollar = yyS[yypt-11 : yypt+1]
  9961  		var yyLOCAL tree.Statement
  9962  //line mysql_sql.y:1044
  9963  		{
  9964  			yyLOCAL = &tree.RestoreSnapShot{
  9965  				Level:         tree.RESTORELEVELDATABASE,
  9966  				AccountName:   tree.Identifier(yyDollar[3].cstrUnion().ToLower()),
  9967  				DatabaseName:  tree.Identifier(yyDollar[5].cstrUnion().ToLower()),
  9968  				SnapShotName:  tree.Identifier(yyDollar[8].cstrUnion().ToLower()),
  9969  				ToAccountName: tree.Identifier(yyDollar[11].cstrUnion().ToLower()),
  9970  			}
  9971  		}
  9972  		yyVAL.union = yyLOCAL
  9973  	case 70:
  9974  		yyDollar = yyS[yypt-13 : yypt+1]
  9975  		var yyLOCAL tree.Statement
  9976  //line mysql_sql.y:1054
  9977  		{
  9978  			yyLOCAL = &tree.RestoreSnapShot{
  9979  				Level:         tree.RESTORELEVELTABLE,
  9980  				AccountName:   tree.Identifier(yyDollar[3].cstrUnion().ToLower()),
  9981  				DatabaseName:  tree.Identifier(yyDollar[5].cstrUnion().ToLower()),
  9982  				TableName:     tree.Identifier(yyDollar[7].cstrUnion().ToLower()),
  9983  				SnapShotName:  tree.Identifier(yyDollar[10].cstrUnion().ToLower()),
  9984  				ToAccountName: tree.Identifier(yyDollar[13].cstrUnion().ToLower()),
  9985  			}
  9986  		}
  9987  		yyVAL.union = yyLOCAL
  9988  	case 71:
  9989  		yyDollar = yyS[yypt-4 : yypt+1]
  9990  		var yyLOCAL tree.Statement
  9991  //line mysql_sql.y:1067
  9992  		{
  9993  			var connectionId uint64
  9994  			switch v := yyDollar[3].item.(type) {
  9995  			case uint64:
  9996  				connectionId = v
  9997  			case int64:
  9998  				connectionId = uint64(v)
  9999  			default:
 10000  				yylex.Error("parse integral fail")
 10001  				goto ret1
 10002  			}
 10003  
 10004  			yyLOCAL = &tree.Kill{
 10005  				Option:       yyDollar[2].killOptionUnion(),
 10006  				ConnectionId: connectionId,
 10007  				StmtOption:   yyDollar[4].statementOptionUnion(),
 10008  			}
 10009  		}
 10010  		yyVAL.union = yyLOCAL
 10011  	case 72:
 10012  		yyDollar = yyS[yypt-0 : yypt+1]
 10013  		var yyLOCAL tree.KillOption
 10014  //line mysql_sql.y:1087
 10015  		{
 10016  			yyLOCAL = tree.KillOption{
 10017  				Exist: false,
 10018  			}
 10019  		}
 10020  		yyVAL.union = yyLOCAL
 10021  	case 73:
 10022  		yyDollar = yyS[yypt-1 : yypt+1]
 10023  		var yyLOCAL tree.KillOption
 10024  //line mysql_sql.y:1093
 10025  		{
 10026  			yyLOCAL = tree.KillOption{
 10027  				Exist: true,
 10028  				Typ:   tree.KillTypeConnection,
 10029  			}
 10030  		}
 10031  		yyVAL.union = yyLOCAL
 10032  	case 74:
 10033  		yyDollar = yyS[yypt-1 : yypt+1]
 10034  		var yyLOCAL tree.KillOption
 10035  //line mysql_sql.y:1100
 10036  		{
 10037  			yyLOCAL = tree.KillOption{
 10038  				Exist: true,
 10039  				Typ:   tree.KillTypeQuery,
 10040  			}
 10041  		}
 10042  		yyVAL.union = yyLOCAL
 10043  	case 75:
 10044  		yyDollar = yyS[yypt-0 : yypt+1]
 10045  		var yyLOCAL tree.StatementOption
 10046  //line mysql_sql.y:1108
 10047  		{
 10048  			yyLOCAL = tree.StatementOption{
 10049  				Exist: false,
 10050  			}
 10051  		}
 10052  		yyVAL.union = yyLOCAL
 10053  	case 76:
 10054  		yyDollar = yyS[yypt-1 : yypt+1]
 10055  		var yyLOCAL tree.StatementOption
 10056  //line mysql_sql.y:1114
 10057  		{
 10058  			yyLOCAL = tree.StatementOption{
 10059  				Exist:       true,
 10060  				StatementId: yyDollar[1].str,
 10061  			}
 10062  		}
 10063  		yyVAL.union = yyLOCAL
 10064  	case 77:
 10065  		yyDollar = yyS[yypt-5 : yypt+1]
 10066  		var yyLOCAL tree.Statement
 10067  //line mysql_sql.y:1123
 10068  		{
 10069  			yyLOCAL = &tree.CallStmt{
 10070  				Name: yyDollar[2].procNameUnion(),
 10071  				Args: yyDollar[4].exprsUnion(),
 10072  			}
 10073  		}
 10074  		yyVAL.union = yyLOCAL
 10075  	case 78:
 10076  		yyDollar = yyS[yypt-2 : yypt+1]
 10077  		var yyLOCAL tree.Statement
 10078  //line mysql_sql.y:1133
 10079  		{
 10080  			yyLOCAL = &tree.LeaveStmt{
 10081  				Name: tree.Identifier(yyDollar[2].cstrUnion().ToLower()),
 10082  			}
 10083  		}
 10084  		yyVAL.union = yyLOCAL
 10085  	case 79:
 10086  		yyDollar = yyS[yypt-2 : yypt+1]
 10087  		var yyLOCAL tree.Statement
 10088  //line mysql_sql.y:1141
 10089  		{
 10090  			yyLOCAL = &tree.IterateStmt{
 10091  				Name: tree.Identifier(yyDollar[2].cstrUnion().ToLower()),
 10092  			}
 10093  		}
 10094  		yyVAL.union = yyLOCAL
 10095  	case 80:
 10096  		yyDollar = yyS[yypt-6 : yypt+1]
 10097  		var yyLOCAL tree.Statement
 10098  //line mysql_sql.y:1149
 10099  		{
 10100  			yyLOCAL = &tree.WhileStmt{
 10101  				Name: "",
 10102  				Cond: yyDollar[2].exprUnion(),
 10103  				Body: yyDollar[4].statementsUnion(),
 10104  			}
 10105  		}
 10106  		yyVAL.union = yyLOCAL
 10107  	case 81:
 10108  		yyDollar = yyS[yypt-9 : yypt+1]
 10109  		var yyLOCAL tree.Statement
 10110  //line mysql_sql.y:1157
 10111  		{
 10112  			yyLOCAL = &tree.WhileStmt{
 10113  				Name: tree.Identifier(yyDollar[1].cstrUnion().ToLower()),
 10114  				Cond: yyDollar[4].exprUnion(),
 10115  				Body: yyDollar[6].statementsUnion(),
 10116  			}
 10117  		}
 10118  		yyVAL.union = yyLOCAL
 10119  	case 82:
 10120  		yyDollar = yyS[yypt-6 : yypt+1]
 10121  		var yyLOCAL tree.Statement
 10122  //line mysql_sql.y:1167
 10123  		{
 10124  			yyLOCAL = &tree.RepeatStmt{
 10125  				Name: "",
 10126  				Body: yyDollar[2].statementsUnion(),
 10127  				Cond: yyDollar[4].exprUnion(),
 10128  			}
 10129  		}
 10130  		yyVAL.union = yyLOCAL
 10131  	case 83:
 10132  		yyDollar = yyS[yypt-9 : yypt+1]
 10133  		var yyLOCAL tree.Statement
 10134  //line mysql_sql.y:1175
 10135  		{
 10136  			yyLOCAL = &tree.RepeatStmt{
 10137  				Name: tree.Identifier(yyDollar[1].cstrUnion().ToLower()),
 10138  				Body: yyDollar[4].statementsUnion(),
 10139  				Cond: yyDollar[6].exprUnion(),
 10140  			}
 10141  		}
 10142  		yyVAL.union = yyLOCAL
 10143  	case 84:
 10144  		yyDollar = yyS[yypt-4 : yypt+1]
 10145  		var yyLOCAL tree.Statement
 10146  //line mysql_sql.y:1185
 10147  		{
 10148  			yyLOCAL = &tree.LoopStmt{
 10149  				Name: "",
 10150  				Body: yyDollar[2].statementsUnion(),
 10151  			}
 10152  		}
 10153  		yyVAL.union = yyLOCAL
 10154  	case 85:
 10155  		yyDollar = yyS[yypt-7 : yypt+1]
 10156  		var yyLOCAL tree.Statement
 10157  //line mysql_sql.y:1192
 10158  		{
 10159  			yyLOCAL = &tree.LoopStmt{
 10160  				Name: tree.Identifier(yyDollar[1].cstrUnion().ToLower()),
 10161  				Body: yyDollar[4].statementsUnion(),
 10162  			}
 10163  		}
 10164  		yyVAL.union = yyLOCAL
 10165  	case 86:
 10166  		yyDollar = yyS[yypt-8 : yypt+1]
 10167  		var yyLOCAL tree.Statement
 10168  //line mysql_sql.y:1201
 10169  		{
 10170  			yyLOCAL = &tree.IfStmt{
 10171  				Cond:  yyDollar[2].exprUnion(),
 10172  				Body:  yyDollar[4].statementsUnion(),
 10173  				Elifs: yyDollar[5].elseIfClauseListUnion(),
 10174  				Else:  yyDollar[6].statementsUnion(),
 10175  			}
 10176  		}
 10177  		yyVAL.union = yyLOCAL
 10178  	case 87:
 10179  		yyDollar = yyS[yypt-0 : yypt+1]
 10180  		var yyLOCAL []*tree.ElseIfStmt
 10181  //line mysql_sql.y:1211
 10182  		{
 10183  			yyLOCAL = nil
 10184  		}
 10185  		yyVAL.union = yyLOCAL
 10186  	case 88:
 10187  		yyDollar = yyS[yypt-1 : yypt+1]
 10188  		var yyLOCAL []*tree.ElseIfStmt
 10189  //line mysql_sql.y:1215
 10190  		{
 10191  			yyLOCAL = yyDollar[1].elseIfClauseListUnion()
 10192  		}
 10193  		yyVAL.union = yyLOCAL
 10194  	case 89:
 10195  		yyDollar = yyS[yypt-1 : yypt+1]
 10196  		var yyLOCAL []*tree.ElseIfStmt
 10197  //line mysql_sql.y:1221
 10198  		{
 10199  			yyLOCAL = []*tree.ElseIfStmt{yyDollar[1].elseIfClauseUnion()}
 10200  		}
 10201  		yyVAL.union = yyLOCAL
 10202  	case 90:
 10203  		yyDollar = yyS[yypt-2 : yypt+1]
 10204  		var yyLOCAL []*tree.ElseIfStmt
 10205  //line mysql_sql.y:1225
 10206  		{
 10207  			yyLOCAL = append(yyDollar[1].elseIfClauseListUnion(), yyDollar[2].elseIfClauseUnion())
 10208  		}
 10209  		yyVAL.union = yyLOCAL
 10210  	case 91:
 10211  		yyDollar = yyS[yypt-4 : yypt+1]
 10212  		var yyLOCAL *tree.ElseIfStmt
 10213  //line mysql_sql.y:1231
 10214  		{
 10215  			yyLOCAL = &tree.ElseIfStmt{
 10216  				Cond: yyDollar[2].exprUnion(),
 10217  				Body: yyDollar[4].statementsUnion(),
 10218  			}
 10219  		}
 10220  		yyVAL.union = yyLOCAL
 10221  	case 92:
 10222  		yyDollar = yyS[yypt-6 : yypt+1]
 10223  		var yyLOCAL tree.Statement
 10224  //line mysql_sql.y:1240
 10225  		{
 10226  			yyLOCAL = &tree.CaseStmt{
 10227  				Expr:  yyDollar[2].exprUnion(),
 10228  				Whens: yyDollar[3].whenClauseList2Union(),
 10229  				Else:  yyDollar[4].statementsUnion(),
 10230  			}
 10231  		}
 10232  		yyVAL.union = yyLOCAL
 10233  	case 93:
 10234  		yyDollar = yyS[yypt-1 : yypt+1]
 10235  		var yyLOCAL []*tree.WhenStmt
 10236  //line mysql_sql.y:1250
 10237  		{
 10238  			yyLOCAL = []*tree.WhenStmt{yyDollar[1].whenClause2Union()}
 10239  		}
 10240  		yyVAL.union = yyLOCAL
 10241  	case 94:
 10242  		yyDollar = yyS[yypt-2 : yypt+1]
 10243  		var yyLOCAL []*tree.WhenStmt
 10244  //line mysql_sql.y:1254
 10245  		{
 10246  			yyLOCAL = append(yyDollar[1].whenClauseList2Union(), yyDollar[2].whenClause2Union())
 10247  		}
 10248  		yyVAL.union = yyLOCAL
 10249  	case 95:
 10250  		yyDollar = yyS[yypt-4 : yypt+1]
 10251  		var yyLOCAL *tree.WhenStmt
 10252  //line mysql_sql.y:1260
 10253  		{
 10254  			yyLOCAL = &tree.WhenStmt{
 10255  				Cond: yyDollar[2].exprUnion(),
 10256  				Body: yyDollar[4].statementsUnion(),
 10257  			}
 10258  		}
 10259  		yyVAL.union = yyLOCAL
 10260  	case 96:
 10261  		yyDollar = yyS[yypt-0 : yypt+1]
 10262  		var yyLOCAL []tree.Statement
 10263  //line mysql_sql.y:1269
 10264  		{
 10265  			yyLOCAL = nil
 10266  		}
 10267  		yyVAL.union = yyLOCAL
 10268  	case 97:
 10269  		yyDollar = yyS[yypt-2 : yypt+1]
 10270  		var yyLOCAL []tree.Statement
 10271  //line mysql_sql.y:1273
 10272  		{
 10273  			yyLOCAL = yyDollar[2].statementsUnion()
 10274  		}
 10275  		yyVAL.union = yyLOCAL
 10276  	case 98:
 10277  		yyDollar = yyS[yypt-10 : yypt+1]
 10278  		var yyLOCAL tree.Statement
 10279  //line mysql_sql.y:1279
 10280  		{
 10281  			ep := &tree.ExportParam{
 10282  				Outfile:     true,
 10283  				QueryId:     yyDollar[3].str,
 10284  				FilePath:    yyDollar[5].str,
 10285  				Fields:      yyDollar[6].fieldsUnion(),
 10286  				Lines:       yyDollar[7].linesUnion(),
 10287  				Header:      yyDollar[8].unsignedOptUnion(),
 10288  				MaxFileSize: uint64(yyDollar[9].int64ValUnion()) * 1024,
 10289  				ForceQuote:  yyDollar[10].strsUnion(),
 10290  			}
 10291  			yyLOCAL = &tree.MoDump{
 10292  				ExportParams: ep,
 10293  			}
 10294  		}
 10295  		yyVAL.union = yyLOCAL
 10296  	case 99:
 10297  		yyDollar = yyS[yypt-11 : yypt+1]
 10298  		var yyLOCAL tree.Statement
 10299  //line mysql_sql.y:1300
 10300  		{
 10301  			yyLOCAL = &tree.Load{
 10302  				Local:             yyDollar[3].boolValUnion(),
 10303  				Param:             yyDollar[4].loadParamUnion(),
 10304  				DuplicateHandling: yyDollar[5].duplicateKeyUnion(),
 10305  				Table:             yyDollar[8].tableNameUnion(),
 10306  			}
 10307  			yyLOCAL.(*tree.Load).Param.Tail = yyDollar[9].tailParamUnion()
 10308  			yyLOCAL.(*tree.Load).Param.Parallel = yyDollar[10].unsignedOptUnion()
 10309  			yyLOCAL.(*tree.Load).Param.Strict = yyDollar[11].unsignedOptUnion()
 10310  		}
 10311  		yyVAL.union = yyLOCAL
 10312  	case 100:
 10313  		yyDollar = yyS[yypt-2 : yypt+1]
 10314  		var yyLOCAL tree.Statement
 10315  //line mysql_sql.y:1314
 10316  		{
 10317  			yyLOCAL = &tree.LoadExtension{
 10318  				Name: tree.Identifier(yyDollar[2].str),
 10319  			}
 10320  		}
 10321  		yyVAL.union = yyLOCAL
 10322  	case 101:
 10323  		yyDollar = yyS[yypt-0 : yypt+1]
 10324  		var yyLOCAL tree.UpdateExprs
 10325  //line mysql_sql.y:1321
 10326  		{
 10327  			yyLOCAL = nil
 10328  		}
 10329  		yyVAL.union = yyLOCAL
 10330  	case 102:
 10331  		yyDollar = yyS[yypt-2 : yypt+1]
 10332  		var yyLOCAL tree.UpdateExprs
 10333  //line mysql_sql.y:1325
 10334  		{
 10335  			yyLOCAL = yyDollar[2].updateExprsUnion()
 10336  		}
 10337  		yyVAL.union = yyLOCAL
 10338  	case 103:
 10339  		yyDollar = yyS[yypt-1 : yypt+1]
 10340  		var yyLOCAL tree.UpdateExprs
 10341  //line mysql_sql.y:1331
 10342  		{
 10343  			yyLOCAL = tree.UpdateExprs{yyDollar[1].updateExprUnion()}
 10344  		}
 10345  		yyVAL.union = yyLOCAL
 10346  	case 104:
 10347  		yyDollar = yyS[yypt-3 : yypt+1]
 10348  		var yyLOCAL tree.UpdateExprs
 10349  //line mysql_sql.y:1335
 10350  		{
 10351  			yyLOCAL = append(yyDollar[1].updateExprsUnion(), yyDollar[3].updateExprUnion())
 10352  		}
 10353  		yyVAL.union = yyLOCAL
 10354  	case 105:
 10355  		yyDollar = yyS[yypt-3 : yypt+1]
 10356  		var yyLOCAL *tree.UpdateExpr
 10357  //line mysql_sql.y:1341
 10358  		{
 10359  			yyLOCAL = &tree.UpdateExpr{
 10360  				Names: []*tree.UnresolvedName{yyDollar[1].unresolvedNameUnion()},
 10361  				Expr:  &tree.DefaultVal{},
 10362  			}
 10363  		}
 10364  		yyVAL.union = yyLOCAL
 10365  	case 106:
 10366  		yyDollar = yyS[yypt-3 : yypt+1]
 10367  		var yyLOCAL *tree.UpdateExpr
 10368  //line mysql_sql.y:1348
 10369  		{
 10370  			yyLOCAL = &tree.UpdateExpr{
 10371  				Names: []*tree.UnresolvedName{yyDollar[1].unresolvedNameUnion()},
 10372  				Expr:  yyDollar[3].exprUnion(),
 10373  			}
 10374  		}
 10375  		yyVAL.union = yyLOCAL
 10376  	case 107:
 10377  		yyDollar = yyS[yypt-0 : yypt+1]
 10378  		var yyLOCAL bool
 10379  //line mysql_sql.y:1356
 10380  		{
 10381  			yyLOCAL = false
 10382  		}
 10383  		yyVAL.union = yyLOCAL
 10384  	case 108:
 10385  		yyDollar = yyS[yypt-2 : yypt+1]
 10386  		var yyLOCAL bool
 10387  //line mysql_sql.y:1360
 10388  		{
 10389  			str := strings.ToLower(yyDollar[2].str)
 10390  			if str == "true" {
 10391  				yyLOCAL = true
 10392  			} else if str == "false" {
 10393  				yyLOCAL = false
 10394  			} else {
 10395  				yylex.Error("error strict flag")
 10396  				goto ret1
 10397  			}
 10398  		}
 10399  		yyVAL.union = yyLOCAL
 10400  	case 109:
 10401  		yyDollar = yyS[yypt-0 : yypt+1]
 10402  		var yyLOCAL bool
 10403  //line mysql_sql.y:1372
 10404  		{
 10405  			yyLOCAL = false
 10406  		}
 10407  		yyVAL.union = yyLOCAL
 10408  	case 110:
 10409  		yyDollar = yyS[yypt-2 : yypt+1]
 10410  		var yyLOCAL bool
 10411  //line mysql_sql.y:1376
 10412  		{
 10413  			str := strings.ToLower(yyDollar[2].str)
 10414  			if str == "true" {
 10415  				yyLOCAL = true
 10416  			} else if str == "false" {
 10417  				yyLOCAL = false
 10418  			} else {
 10419  				yylex.Error("error parallel flag")
 10420  				goto ret1
 10421  			}
 10422  		}
 10423  		yyVAL.union = yyLOCAL
 10424  	case 111:
 10425  		yyDollar = yyS[yypt-1 : yypt+1]
 10426  		var yyLOCAL *tree.UnresolvedName
 10427  //line mysql_sql.y:1389
 10428  		{
 10429  			unResolve := tree.SetUnresolvedName(yyDollar[1].cstrUnion().Compare())
 10430  			unResolve.SetUnresolvedNameCStrParts(yylex.(*Lexer).useOrigin, yyDollar[1].cstrUnion().Origin())
 10431  			yyLOCAL = unResolve
 10432  		}
 10433  		yyVAL.union = yyLOCAL
 10434  	case 112:
 10435  		yyDollar = yyS[yypt-3 : yypt+1]
 10436  		var yyLOCAL *tree.UnresolvedName
 10437  //line mysql_sql.y:1395
 10438  		{
 10439  			unResolve := tree.SetUnresolvedName(yyDollar[1].cstrUnion().Compare(), yyDollar[3].cstrUnion().Compare())
 10440  			unResolve.SetUnresolvedNameCStrParts(yylex.(*Lexer).useOrigin, yyDollar[1].cstrUnion().Origin(), yyDollar[3].cstrUnion().Origin())
 10441  			yyLOCAL = unResolve
 10442  		}
 10443  		yyVAL.union = yyLOCAL
 10444  	case 113:
 10445  		yyDollar = yyS[yypt-5 : yypt+1]
 10446  		var yyLOCAL *tree.UnresolvedName
 10447  //line mysql_sql.y:1401
 10448  		{
 10449  			unResolve := tree.SetUnresolvedName(yyDollar[1].cstrUnion().Compare(), yyDollar[3].cstrUnion().Compare(), yyDollar[5].cstrUnion().Compare())
 10450  			unResolve.SetUnresolvedNameCStrParts(yylex.(*Lexer).useOrigin, yyDollar[1].cstrUnion().Origin(), yyDollar[3].cstrUnion().Origin(), yyDollar[5].cstrUnion().Origin())
 10451  			yyLOCAL = unResolve
 10452  		}
 10453  		yyVAL.union = yyLOCAL
 10454  	case 114:
 10455  		yyDollar = yyS[yypt-0 : yypt+1]
 10456  		var yyLOCAL []tree.LoadColumn
 10457  //line mysql_sql.y:1408
 10458  		{
 10459  			yyLOCAL = nil
 10460  		}
 10461  		yyVAL.union = yyLOCAL
 10462  	case 115:
 10463  		yyDollar = yyS[yypt-2 : yypt+1]
 10464  		var yyLOCAL []tree.LoadColumn
 10465  //line mysql_sql.y:1412
 10466  		{
 10467  			yyLOCAL = nil
 10468  		}
 10469  		yyVAL.union = yyLOCAL
 10470  	case 116:
 10471  		yyDollar = yyS[yypt-3 : yypt+1]
 10472  		var yyLOCAL []tree.LoadColumn
 10473  //line mysql_sql.y:1416
 10474  		{
 10475  			yyLOCAL = yyDollar[2].loadColumnsUnion()
 10476  		}
 10477  		yyVAL.union = yyLOCAL
 10478  	case 117:
 10479  		yyDollar = yyS[yypt-1 : yypt+1]
 10480  		var yyLOCAL []tree.LoadColumn
 10481  //line mysql_sql.y:1422
 10482  		{
 10483  			switch yyDollar[1].loadColumnUnion().(type) {
 10484  			case *tree.UnresolvedName:
 10485  				yyLOCAL = []tree.LoadColumn{yyDollar[1].loadColumnUnion().(*tree.UnresolvedName)}
 10486  			case *tree.VarExpr:
 10487  				yyLOCAL = []tree.LoadColumn{yyDollar[1].loadColumnUnion().(*tree.VarExpr)}
 10488  			}
 10489  		}
 10490  		yyVAL.union = yyLOCAL
 10491  	case 118:
 10492  		yyDollar = yyS[yypt-3 : yypt+1]
 10493  		var yyLOCAL []tree.LoadColumn
 10494  //line mysql_sql.y:1431
 10495  		{
 10496  			switch yyDollar[3].loadColumnUnion().(type) {
 10497  			case *tree.UnresolvedName:
 10498  				yyLOCAL = append(yyDollar[1].loadColumnsUnion(), yyDollar[3].loadColumnUnion().(*tree.UnresolvedName))
 10499  			case *tree.VarExpr:
 10500  				yyLOCAL = append(yyDollar[1].loadColumnsUnion(), yyDollar[3].loadColumnUnion().(*tree.VarExpr))
 10501  			}
 10502  		}
 10503  		yyVAL.union = yyLOCAL
 10504  	case 119:
 10505  		yyDollar = yyS[yypt-1 : yypt+1]
 10506  		var yyLOCAL tree.LoadColumn
 10507  //line mysql_sql.y:1442
 10508  		{
 10509  			yyLOCAL = yyDollar[1].unresolvedNameUnion()
 10510  		}
 10511  		yyVAL.union = yyLOCAL
 10512  	case 120:
 10513  		yyDollar = yyS[yypt-1 : yypt+1]
 10514  		var yyLOCAL tree.LoadColumn
 10515  //line mysql_sql.y:1446
 10516  		{
 10517  			yyLOCAL = yyDollar[1].varExprUnion()
 10518  		}
 10519  		yyVAL.union = yyLOCAL
 10520  	case 121:
 10521  		yyDollar = yyS[yypt-1 : yypt+1]
 10522  		var yyLOCAL []*tree.VarExpr
 10523  //line mysql_sql.y:1452
 10524  		{
 10525  			yyLOCAL = []*tree.VarExpr{yyDollar[1].varExprUnion()}
 10526  		}
 10527  		yyVAL.union = yyLOCAL
 10528  	case 122:
 10529  		yyDollar = yyS[yypt-3 : yypt+1]
 10530  		var yyLOCAL []*tree.VarExpr
 10531  //line mysql_sql.y:1456
 10532  		{
 10533  			yyLOCAL = append(yyDollar[1].varExprsUnion(), yyDollar[3].varExprUnion())
 10534  		}
 10535  		yyVAL.union = yyLOCAL
 10536  	case 123:
 10537  		yyDollar = yyS[yypt-1 : yypt+1]
 10538  		var yyLOCAL *tree.VarExpr
 10539  //line mysql_sql.y:1462
 10540  		{
 10541  			yyLOCAL = yyDollar[1].varExprUnion()
 10542  		}
 10543  		yyVAL.union = yyLOCAL
 10544  	case 124:
 10545  		yyDollar = yyS[yypt-1 : yypt+1]
 10546  		var yyLOCAL *tree.VarExpr
 10547  //line mysql_sql.y:1466
 10548  		{
 10549  			yyLOCAL = yyDollar[1].varExprUnion()
 10550  		}
 10551  		yyVAL.union = yyLOCAL
 10552  	case 125:
 10553  		yyDollar = yyS[yypt-1 : yypt+1]
 10554  		var yyLOCAL *tree.VarExpr
 10555  //line mysql_sql.y:1472
 10556  		{
 10557  			vs := strings.Split(yyDollar[1].str, ".")
 10558  			var isGlobal bool
 10559  			if strings.ToLower(vs[0]) == "global" {
 10560  				isGlobal = true
 10561  			}
 10562  			var r string
 10563  			if len(vs) == 2 {
 10564  				r = vs[1]
 10565  			} else if len(vs) == 1 {
 10566  				r = vs[0]
 10567  			} else {
 10568  				yylex.Error("variable syntax error")
 10569  				goto ret1
 10570  			}
 10571  			yyLOCAL = &tree.VarExpr{
 10572  				Name:   r,
 10573  				System: true,
 10574  				Global: isGlobal,
 10575  			}
 10576  		}
 10577  		yyVAL.union = yyLOCAL
 10578  	case 126:
 10579  		yyDollar = yyS[yypt-1 : yypt+1]
 10580  		var yyLOCAL *tree.VarExpr
 10581  //line mysql_sql.y:1496
 10582  		{
 10583  			//        vs := strings.Split($1, ".")
 10584  			//        var r string
 10585  			//        if len(vs) == 2 {
 10586  			//           r = vs[1]
 10587  			//        } else if len(vs) == 1 {
 10588  			//           r = vs[0]
 10589  			//        } else {
 10590  			//            yylex.Error("variable syntax error")
 10591  			//            goto ret1
 10592  			//        }
 10593  			yyLOCAL = &tree.VarExpr{
 10594  				Name:   yyDollar[1].str,
 10595  				System: false,
 10596  				Global: false,
 10597  			}
 10598  		}
 10599  		yyVAL.union = yyLOCAL
 10600  	case 127:
 10601  		yyDollar = yyS[yypt-0 : yypt+1]
 10602  		var yyLOCAL int64
 10603  //line mysql_sql.y:1515
 10604  		{
 10605  			yyLOCAL = 0
 10606  		}
 10607  		yyVAL.union = yyLOCAL
 10608  	case 128:
 10609  		yyDollar = yyS[yypt-3 : yypt+1]
 10610  		var yyLOCAL int64
 10611  //line mysql_sql.y:1519
 10612  		{
 10613  			yyLOCAL = yyDollar[2].item.(int64)
 10614  		}
 10615  		yyVAL.union = yyLOCAL
 10616  	case 129:
 10617  		yyDollar = yyS[yypt-3 : yypt+1]
 10618  		var yyLOCAL int64
 10619  //line mysql_sql.y:1523
 10620  		{
 10621  			yyLOCAL = yyDollar[2].item.(int64)
 10622  		}
 10623  		yyVAL.union = yyLOCAL
 10624  	case 130:
 10625  		yyDollar = yyS[yypt-0 : yypt+1]
 10626  		var yyLOCAL *tree.Lines
 10627  //line mysql_sql.y:1528
 10628  		{
 10629  			yyLOCAL = nil
 10630  		}
 10631  		yyVAL.union = yyLOCAL
 10632  	case 131:
 10633  		yyDollar = yyS[yypt-3 : yypt+1]
 10634  		var yyLOCAL *tree.Lines
 10635  //line mysql_sql.y:1532
 10636  		{
 10637  			yyLOCAL = &tree.Lines{
 10638  				StartingBy: yyDollar[2].str,
 10639  				TerminatedBy: &tree.Terminated{
 10640  					Value: yyDollar[3].str,
 10641  				},
 10642  			}
 10643  		}
 10644  		yyVAL.union = yyLOCAL
 10645  	case 132:
 10646  		yyDollar = yyS[yypt-3 : yypt+1]
 10647  		var yyLOCAL *tree.Lines
 10648  //line mysql_sql.y:1541
 10649  		{
 10650  			yyLOCAL = &tree.Lines{
 10651  				StartingBy: yyDollar[3].str,
 10652  				TerminatedBy: &tree.Terminated{
 10653  					Value: yyDollar[2].str,
 10654  				},
 10655  			}
 10656  		}
 10657  		yyVAL.union = yyLOCAL
 10658  	case 133:
 10659  		yyDollar = yyS[yypt-0 : yypt+1]
 10660  //line mysql_sql.y:1551
 10661  		{
 10662  			yyVAL.str = ""
 10663  		}
 10664  	case 135:
 10665  		yyDollar = yyS[yypt-3 : yypt+1]
 10666  //line mysql_sql.y:1558
 10667  		{
 10668  			yyVAL.str = yyDollar[3].str
 10669  		}
 10670  	case 136:
 10671  		yyDollar = yyS[yypt-0 : yypt+1]
 10672  //line mysql_sql.y:1563
 10673  		{
 10674  			yyVAL.str = "\n"
 10675  		}
 10676  	case 138:
 10677  		yyDollar = yyS[yypt-3 : yypt+1]
 10678  //line mysql_sql.y:1570
 10679  		{
 10680  			yyVAL.str = yyDollar[3].str
 10681  		}
 10682  	case 139:
 10683  		yyDollar = yyS[yypt-0 : yypt+1]
 10684  		var yyLOCAL *tree.Fields
 10685  //line mysql_sql.y:1575
 10686  		{
 10687  			yyLOCAL = nil
 10688  		}
 10689  		yyVAL.union = yyLOCAL
 10690  	case 140:
 10691  		yyDollar = yyS[yypt-2 : yypt+1]
 10692  		var yyLOCAL *tree.Fields
 10693  //line mysql_sql.y:1579
 10694  		{
 10695  			res := &tree.Fields{
 10696  				Terminated: &tree.Terminated{
 10697  					Value: "\t",
 10698  				},
 10699  				EnclosedBy: &tree.EnclosedBy{
 10700  					Value: byte(0),
 10701  				},
 10702  			}
 10703  			for _, f := range yyDollar[2].fieldsListUnion() {
 10704  				if f.Terminated != nil {
 10705  					res.Terminated = f.Terminated
 10706  				}
 10707  				if f.Optionally {
 10708  					res.Optionally = f.Optionally
 10709  				}
 10710  				if f.EnclosedBy != nil {
 10711  					res.EnclosedBy = f.EnclosedBy
 10712  				}
 10713  				if f.EscapedBy != nil {
 10714  					res.EscapedBy = f.EscapedBy
 10715  				}
 10716  			}
 10717  			yyLOCAL = res
 10718  		}
 10719  		yyVAL.union = yyLOCAL
 10720  	case 141:
 10721  		yyDollar = yyS[yypt-1 : yypt+1]
 10722  		var yyLOCAL []*tree.Fields
 10723  //line mysql_sql.y:1607
 10724  		{
 10725  			yyLOCAL = []*tree.Fields{yyDollar[1].fieldsUnion()}
 10726  		}
 10727  		yyVAL.union = yyLOCAL
 10728  	case 142:
 10729  		yyDollar = yyS[yypt-2 : yypt+1]
 10730  		var yyLOCAL []*tree.Fields
 10731  //line mysql_sql.y:1611
 10732  		{
 10733  			yyLOCAL = append(yyDollar[1].fieldsListUnion(), yyDollar[2].fieldsUnion())
 10734  		}
 10735  		yyVAL.union = yyLOCAL
 10736  	case 143:
 10737  		yyDollar = yyS[yypt-3 : yypt+1]
 10738  		var yyLOCAL *tree.Fields
 10739  //line mysql_sql.y:1617
 10740  		{
 10741  			yyLOCAL = &tree.Fields{
 10742  				Terminated: &tree.Terminated{
 10743  					Value: yyDollar[3].str,
 10744  				},
 10745  			}
 10746  		}
 10747  		yyVAL.union = yyLOCAL
 10748  	case 144:
 10749  		yyDollar = yyS[yypt-4 : yypt+1]
 10750  		var yyLOCAL *tree.Fields
 10751  //line mysql_sql.y:1625
 10752  		{
 10753  			str := yyDollar[4].str
 10754  			if str != "\\" && len(str) > 1 {
 10755  				yylex.Error("error field terminator")
 10756  				goto ret1
 10757  			}
 10758  			var b byte
 10759  			if len(str) != 0 {
 10760  				b = byte(str[0])
 10761  			} else {
 10762  				b = 0
 10763  			}
 10764  			yyLOCAL = &tree.Fields{
 10765  				Optionally: true,
 10766  				EnclosedBy: &tree.EnclosedBy{
 10767  					Value: b,
 10768  				},
 10769  			}
 10770  		}
 10771  		yyVAL.union = yyLOCAL
 10772  	case 145:
 10773  		yyDollar = yyS[yypt-3 : yypt+1]
 10774  		var yyLOCAL *tree.Fields
 10775  //line mysql_sql.y:1645
 10776  		{
 10777  			str := yyDollar[3].str
 10778  			if str != "\\" && len(str) > 1 {
 10779  				yylex.Error("error field terminator")
 10780  				goto ret1
 10781  			}
 10782  			var b byte
 10783  			if len(str) != 0 {
 10784  				b = byte(str[0])
 10785  			} else {
 10786  				b = 0
 10787  			}
 10788  			yyLOCAL = &tree.Fields{
 10789  				EnclosedBy: &tree.EnclosedBy{
 10790  					Value: b,
 10791  				},
 10792  			}
 10793  		}
 10794  		yyVAL.union = yyLOCAL
 10795  	case 146:
 10796  		yyDollar = yyS[yypt-3 : yypt+1]
 10797  		var yyLOCAL *tree.Fields
 10798  //line mysql_sql.y:1664
 10799  		{
 10800  			str := yyDollar[3].str
 10801  			if str != "\\" && len(str) > 1 {
 10802  				yylex.Error("error field terminator")
 10803  				goto ret1
 10804  			}
 10805  			var b byte
 10806  			if len(str) != 0 {
 10807  				b = byte(str[0])
 10808  			} else {
 10809  				b = 0
 10810  			}
 10811  			yyLOCAL = &tree.Fields{
 10812  				EscapedBy: &tree.EscapedBy{
 10813  					Value: b,
 10814  				},
 10815  			}
 10816  		}
 10817  		yyVAL.union = yyLOCAL
 10818  	case 148:
 10819  		yyDollar = yyS[yypt-0 : yypt+1]
 10820  		var yyLOCAL tree.DuplicateKey
 10821  //line mysql_sql.y:1689
 10822  		{
 10823  			yyLOCAL = &tree.DuplicateKeyError{}
 10824  		}
 10825  		yyVAL.union = yyLOCAL
 10826  	case 149:
 10827  		yyDollar = yyS[yypt-1 : yypt+1]
 10828  		var yyLOCAL tree.DuplicateKey
 10829  //line mysql_sql.y:1693
 10830  		{
 10831  			yyLOCAL = &tree.DuplicateKeyIgnore{}
 10832  		}
 10833  		yyVAL.union = yyLOCAL
 10834  	case 150:
 10835  		yyDollar = yyS[yypt-1 : yypt+1]
 10836  		var yyLOCAL tree.DuplicateKey
 10837  //line mysql_sql.y:1697
 10838  		{
 10839  			yyLOCAL = &tree.DuplicateKeyReplace{}
 10840  		}
 10841  		yyVAL.union = yyLOCAL
 10842  	case 151:
 10843  		yyDollar = yyS[yypt-0 : yypt+1]
 10844  		var yyLOCAL bool
 10845  //line mysql_sql.y:1702
 10846  		{
 10847  			yyLOCAL = false
 10848  		}
 10849  		yyVAL.union = yyLOCAL
 10850  	case 152:
 10851  		yyDollar = yyS[yypt-1 : yypt+1]
 10852  		var yyLOCAL bool
 10853  //line mysql_sql.y:1706
 10854  		{
 10855  			yyLOCAL = true
 10856  		}
 10857  		yyVAL.union = yyLOCAL
 10858  	case 153:
 10859  		yyDollar = yyS[yypt-8 : yypt+1]
 10860  		var yyLOCAL tree.Statement
 10861  //line mysql_sql.y:1712
 10862  		{
 10863  			yyLOCAL = &tree.Grant{
 10864  				Typ: tree.GrantTypePrivilege,
 10865  				GrantPrivilege: tree.GrantPrivilege{
 10866  					Privileges:  yyDollar[2].privilegesUnion(),
 10867  					ObjType:     yyDollar[4].objectTypeUnion(),
 10868  					Level:       yyDollar[5].privilegeLevelUnion(),
 10869  					Roles:       yyDollar[7].rolesUnion(),
 10870  					GrantOption: yyDollar[8].boolValUnion(),
 10871  				},
 10872  			}
 10873  		}
 10874  		yyVAL.union = yyLOCAL
 10875  	case 154:
 10876  		yyDollar = yyS[yypt-5 : yypt+1]
 10877  		var yyLOCAL tree.Statement
 10878  //line mysql_sql.y:1725
 10879  		{
 10880  			yyLOCAL = &tree.Grant{
 10881  				Typ: tree.GrantTypeRole,
 10882  				GrantRole: tree.GrantRole{
 10883  					Roles:       yyDollar[2].rolesUnion(),
 10884  					Users:       yyDollar[4].usersUnion(),
 10885  					GrantOption: yyDollar[5].boolValUnion(),
 10886  				},
 10887  			}
 10888  		}
 10889  		yyVAL.union = yyLOCAL
 10890  	case 155:
 10891  		yyDollar = yyS[yypt-7 : yypt+1]
 10892  		var yyLOCAL tree.Statement
 10893  //line mysql_sql.y:1736
 10894  		{
 10895  			yyLOCAL = &tree.Grant{
 10896  				Typ: tree.GrantTypeProxy,
 10897  				GrantProxy: tree.GrantProxy{
 10898  					ProxyUser:   yyDollar[4].userUnion(),
 10899  					Users:       yyDollar[6].usersUnion(),
 10900  					GrantOption: yyDollar[7].boolValUnion(),
 10901  				},
 10902  			}
 10903  
 10904  		}
 10905  		yyVAL.union = yyLOCAL
 10906  	case 156:
 10907  		yyDollar = yyS[yypt-0 : yypt+1]
 10908  		var yyLOCAL bool
 10909  //line mysql_sql.y:1749
 10910  		{
 10911  			yyLOCAL = false
 10912  		}
 10913  		yyVAL.union = yyLOCAL
 10914  	case 157:
 10915  		yyDollar = yyS[yypt-3 : yypt+1]
 10916  		var yyLOCAL bool
 10917  //line mysql_sql.y:1753
 10918  		{
 10919  			yyLOCAL = true
 10920  		}
 10921  		yyVAL.union = yyLOCAL
 10922  	case 158:
 10923  		yyDollar = yyS[yypt-8 : yypt+1]
 10924  		var yyLOCAL tree.Statement
 10925  //line mysql_sql.y:1763
 10926  		{
 10927  			yyLOCAL = &tree.Revoke{
 10928  				Typ: tree.RevokeTypePrivilege,
 10929  				RevokePrivilege: tree.RevokePrivilege{
 10930  					IfExists:   yyDollar[2].boolValUnion(),
 10931  					Privileges: yyDollar[3].privilegesUnion(),
 10932  					ObjType:    yyDollar[5].objectTypeUnion(),
 10933  					Level:      yyDollar[6].privilegeLevelUnion(),
 10934  					Roles:      yyDollar[8].rolesUnion(),
 10935  				},
 10936  			}
 10937  		}
 10938  		yyVAL.union = yyLOCAL
 10939  	case 159:
 10940  		yyDollar = yyS[yypt-5 : yypt+1]
 10941  		var yyLOCAL tree.Statement
 10942  //line mysql_sql.y:1776
 10943  		{
 10944  			yyLOCAL = &tree.Revoke{
 10945  				Typ: tree.RevokeTypeRole,
 10946  				RevokeRole: tree.RevokeRole{
 10947  					IfExists: yyDollar[2].boolValUnion(),
 10948  					Roles:    yyDollar[3].rolesUnion(),
 10949  					Users:    yyDollar[5].usersUnion(),
 10950  				},
 10951  			}
 10952  		}
 10953  		yyVAL.union = yyLOCAL
 10954  	case 160:
 10955  		yyDollar = yyS[yypt-1 : yypt+1]
 10956  		var yyLOCAL *tree.PrivilegeLevel
 10957  //line mysql_sql.y:1789
 10958  		{
 10959  			yyLOCAL = &tree.PrivilegeLevel{
 10960  				Level: tree.PRIVILEGE_LEVEL_TYPE_STAR,
 10961  			}
 10962  		}
 10963  		yyVAL.union = yyLOCAL
 10964  	case 161:
 10965  		yyDollar = yyS[yypt-3 : yypt+1]
 10966  		var yyLOCAL *tree.PrivilegeLevel
 10967  //line mysql_sql.y:1795
 10968  		{
 10969  			yyLOCAL = &tree.PrivilegeLevel{
 10970  				Level: tree.PRIVILEGE_LEVEL_TYPE_STAR_STAR,
 10971  			}
 10972  		}
 10973  		yyVAL.union = yyLOCAL
 10974  	case 162:
 10975  		yyDollar = yyS[yypt-3 : yypt+1]
 10976  		var yyLOCAL *tree.PrivilegeLevel
 10977  //line mysql_sql.y:1801
 10978  		{
 10979  			yyLOCAL = &tree.PrivilegeLevel{
 10980  				Level:  tree.PRIVILEGE_LEVEL_TYPE_DATABASE_STAR,
 10981  				DbName: yyDollar[1].cstrUnion().Compare(),
 10982  			}
 10983  		}
 10984  		yyVAL.union = yyLOCAL
 10985  	case 163:
 10986  		yyDollar = yyS[yypt-3 : yypt+1]
 10987  		var yyLOCAL *tree.PrivilegeLevel
 10988  //line mysql_sql.y:1808
 10989  		{
 10990  			yyLOCAL = &tree.PrivilegeLevel{
 10991  				Level:   tree.PRIVILEGE_LEVEL_TYPE_DATABASE_TABLE,
 10992  				DbName:  yyDollar[1].cstrUnion().Compare(),
 10993  				TabName: yyDollar[3].cstrUnion().Compare(),
 10994  			}
 10995  		}
 10996  		yyVAL.union = yyLOCAL
 10997  	case 164:
 10998  		yyDollar = yyS[yypt-1 : yypt+1]
 10999  		var yyLOCAL *tree.PrivilegeLevel
 11000  //line mysql_sql.y:1816
 11001  		{
 11002  			yyLOCAL = &tree.PrivilegeLevel{
 11003  				Level:   tree.PRIVILEGE_LEVEL_TYPE_TABLE,
 11004  				TabName: yyDollar[1].cstrUnion().Compare(),
 11005  			}
 11006  		}
 11007  		yyVAL.union = yyLOCAL
 11008  	case 165:
 11009  		yyDollar = yyS[yypt-1 : yypt+1]
 11010  		var yyLOCAL tree.ObjectType
 11011  //line mysql_sql.y:1825
 11012  		{
 11013  			yyLOCAL = tree.OBJECT_TYPE_TABLE
 11014  		}
 11015  		yyVAL.union = yyLOCAL
 11016  	case 166:
 11017  		yyDollar = yyS[yypt-1 : yypt+1]
 11018  		var yyLOCAL tree.ObjectType
 11019  //line mysql_sql.y:1829
 11020  		{
 11021  			yyLOCAL = tree.OBJECT_TYPE_DATABASE
 11022  		}
 11023  		yyVAL.union = yyLOCAL
 11024  	case 167:
 11025  		yyDollar = yyS[yypt-1 : yypt+1]
 11026  		var yyLOCAL tree.ObjectType
 11027  //line mysql_sql.y:1833
 11028  		{
 11029  			yyLOCAL = tree.OBJECT_TYPE_FUNCTION
 11030  		}
 11031  		yyVAL.union = yyLOCAL
 11032  	case 168:
 11033  		yyDollar = yyS[yypt-1 : yypt+1]
 11034  		var yyLOCAL tree.ObjectType
 11035  //line mysql_sql.y:1837
 11036  		{
 11037  			yyLOCAL = tree.OBJECT_TYPE_PROCEDURE
 11038  		}
 11039  		yyVAL.union = yyLOCAL
 11040  	case 169:
 11041  		yyDollar = yyS[yypt-1 : yypt+1]
 11042  		var yyLOCAL tree.ObjectType
 11043  //line mysql_sql.y:1841
 11044  		{
 11045  			yyLOCAL = tree.OBJECT_TYPE_VIEW
 11046  		}
 11047  		yyVAL.union = yyLOCAL
 11048  	case 170:
 11049  		yyDollar = yyS[yypt-1 : yypt+1]
 11050  		var yyLOCAL tree.ObjectType
 11051  //line mysql_sql.y:1845
 11052  		{
 11053  			yyLOCAL = tree.OBJECT_TYPE_ACCOUNT
 11054  		}
 11055  		yyVAL.union = yyLOCAL
 11056  	case 171:
 11057  		yyDollar = yyS[yypt-1 : yypt+1]
 11058  		var yyLOCAL []*tree.Privilege
 11059  //line mysql_sql.y:1852
 11060  		{
 11061  			yyLOCAL = []*tree.Privilege{yyDollar[1].privilegeUnion()}
 11062  		}
 11063  		yyVAL.union = yyLOCAL
 11064  	case 172:
 11065  		yyDollar = yyS[yypt-3 : yypt+1]
 11066  		var yyLOCAL []*tree.Privilege
 11067  //line mysql_sql.y:1856
 11068  		{
 11069  			yyLOCAL = append(yyDollar[1].privilegesUnion(), yyDollar[3].privilegeUnion())
 11070  		}
 11071  		yyVAL.union = yyLOCAL
 11072  	case 173:
 11073  		yyDollar = yyS[yypt-1 : yypt+1]
 11074  		var yyLOCAL *tree.Privilege
 11075  //line mysql_sql.y:1862
 11076  		{
 11077  			yyLOCAL = &tree.Privilege{
 11078  				Type:       yyDollar[1].privilegeTypeUnion(),
 11079  				ColumnList: nil,
 11080  			}
 11081  		}
 11082  		yyVAL.union = yyLOCAL
 11083  	case 174:
 11084  		yyDollar = yyS[yypt-4 : yypt+1]
 11085  		var yyLOCAL *tree.Privilege
 11086  //line mysql_sql.y:1869
 11087  		{
 11088  			yyLOCAL = &tree.Privilege{
 11089  				Type:       yyDollar[1].privilegeTypeUnion(),
 11090  				ColumnList: yyDollar[3].unresolveNamesUnion(),
 11091  			}
 11092  		}
 11093  		yyVAL.union = yyLOCAL
 11094  	case 175:
 11095  		yyDollar = yyS[yypt-1 : yypt+1]
 11096  		var yyLOCAL []*tree.UnresolvedName
 11097  //line mysql_sql.y:1878
 11098  		{
 11099  			yyLOCAL = []*tree.UnresolvedName{yyDollar[1].unresolvedNameUnion()}
 11100  		}
 11101  		yyVAL.union = yyLOCAL
 11102  	case 176:
 11103  		yyDollar = yyS[yypt-3 : yypt+1]
 11104  		var yyLOCAL []*tree.UnresolvedName
 11105  //line mysql_sql.y:1882
 11106  		{
 11107  			yyLOCAL = append(yyDollar[1].unresolveNamesUnion(), yyDollar[3].unresolvedNameUnion())
 11108  		}
 11109  		yyVAL.union = yyLOCAL
 11110  	case 177:
 11111  		yyDollar = yyS[yypt-1 : yypt+1]
 11112  		var yyLOCAL tree.PrivilegeType
 11113  //line mysql_sql.y:1888
 11114  		{
 11115  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALL
 11116  		}
 11117  		yyVAL.union = yyLOCAL
 11118  	case 178:
 11119  		yyDollar = yyS[yypt-2 : yypt+1]
 11120  		var yyLOCAL tree.PrivilegeType
 11121  //line mysql_sql.y:1892
 11122  		{
 11123  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_ACCOUNT
 11124  		}
 11125  		yyVAL.union = yyLOCAL
 11126  	case 179:
 11127  		yyDollar = yyS[yypt-2 : yypt+1]
 11128  		var yyLOCAL tree.PrivilegeType
 11129  //line mysql_sql.y:1896
 11130  		{
 11131  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DROP_ACCOUNT
 11132  		}
 11133  		yyVAL.union = yyLOCAL
 11134  	case 180:
 11135  		yyDollar = yyS[yypt-2 : yypt+1]
 11136  		var yyLOCAL tree.PrivilegeType
 11137  //line mysql_sql.y:1900
 11138  		{
 11139  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALTER_ACCOUNT
 11140  		}
 11141  		yyVAL.union = yyLOCAL
 11142  	case 181:
 11143  		yyDollar = yyS[yypt-2 : yypt+1]
 11144  		var yyLOCAL tree.PrivilegeType
 11145  //line mysql_sql.y:1904
 11146  		{
 11147  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_UPGRADE_ACCOUNT
 11148  		}
 11149  		yyVAL.union = yyLOCAL
 11150  	case 182:
 11151  		yyDollar = yyS[yypt-2 : yypt+1]
 11152  		var yyLOCAL tree.PrivilegeType
 11153  //line mysql_sql.y:1908
 11154  		{
 11155  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALL
 11156  		}
 11157  		yyVAL.union = yyLOCAL
 11158  	case 183:
 11159  		yyDollar = yyS[yypt-2 : yypt+1]
 11160  		var yyLOCAL tree.PrivilegeType
 11161  //line mysql_sql.y:1912
 11162  		{
 11163  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALTER_TABLE
 11164  		}
 11165  		yyVAL.union = yyLOCAL
 11166  	case 184:
 11167  		yyDollar = yyS[yypt-2 : yypt+1]
 11168  		var yyLOCAL tree.PrivilegeType
 11169  //line mysql_sql.y:1916
 11170  		{
 11171  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALTER_VIEW
 11172  		}
 11173  		yyVAL.union = yyLOCAL
 11174  	case 185:
 11175  		yyDollar = yyS[yypt-1 : yypt+1]
 11176  		var yyLOCAL tree.PrivilegeType
 11177  //line mysql_sql.y:1920
 11178  		{
 11179  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE
 11180  		}
 11181  		yyVAL.union = yyLOCAL
 11182  	case 186:
 11183  		yyDollar = yyS[yypt-2 : yypt+1]
 11184  		var yyLOCAL tree.PrivilegeType
 11185  //line mysql_sql.y:1924
 11186  		{
 11187  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_USER
 11188  		}
 11189  		yyVAL.union = yyLOCAL
 11190  	case 187:
 11191  		yyDollar = yyS[yypt-2 : yypt+1]
 11192  		var yyLOCAL tree.PrivilegeType
 11193  //line mysql_sql.y:1928
 11194  		{
 11195  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DROP_USER
 11196  		}
 11197  		yyVAL.union = yyLOCAL
 11198  	case 188:
 11199  		yyDollar = yyS[yypt-2 : yypt+1]
 11200  		var yyLOCAL tree.PrivilegeType
 11201  //line mysql_sql.y:1932
 11202  		{
 11203  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALTER_USER
 11204  		}
 11205  		yyVAL.union = yyLOCAL
 11206  	case 189:
 11207  		yyDollar = yyS[yypt-2 : yypt+1]
 11208  		var yyLOCAL tree.PrivilegeType
 11209  //line mysql_sql.y:1936
 11210  		{
 11211  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_TABLESPACE
 11212  		}
 11213  		yyVAL.union = yyLOCAL
 11214  	case 190:
 11215  		yyDollar = yyS[yypt-1 : yypt+1]
 11216  		var yyLOCAL tree.PrivilegeType
 11217  //line mysql_sql.y:1940
 11218  		{
 11219  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_TRIGGER
 11220  		}
 11221  		yyVAL.union = yyLOCAL
 11222  	case 191:
 11223  		yyDollar = yyS[yypt-1 : yypt+1]
 11224  		var yyLOCAL tree.PrivilegeType
 11225  //line mysql_sql.y:1944
 11226  		{
 11227  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DELETE
 11228  		}
 11229  		yyVAL.union = yyLOCAL
 11230  	case 192:
 11231  		yyDollar = yyS[yypt-2 : yypt+1]
 11232  		var yyLOCAL tree.PrivilegeType
 11233  //line mysql_sql.y:1948
 11234  		{
 11235  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DROP_TABLE
 11236  		}
 11237  		yyVAL.union = yyLOCAL
 11238  	case 193:
 11239  		yyDollar = yyS[yypt-2 : yypt+1]
 11240  		var yyLOCAL tree.PrivilegeType
 11241  //line mysql_sql.y:1952
 11242  		{
 11243  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DROP_VIEW
 11244  		}
 11245  		yyVAL.union = yyLOCAL
 11246  	case 194:
 11247  		yyDollar = yyS[yypt-1 : yypt+1]
 11248  		var yyLOCAL tree.PrivilegeType
 11249  //line mysql_sql.y:1956
 11250  		{
 11251  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_EXECUTE
 11252  		}
 11253  		yyVAL.union = yyLOCAL
 11254  	case 195:
 11255  		yyDollar = yyS[yypt-1 : yypt+1]
 11256  		var yyLOCAL tree.PrivilegeType
 11257  //line mysql_sql.y:1960
 11258  		{
 11259  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_INDEX
 11260  		}
 11261  		yyVAL.union = yyLOCAL
 11262  	case 196:
 11263  		yyDollar = yyS[yypt-1 : yypt+1]
 11264  		var yyLOCAL tree.PrivilegeType
 11265  //line mysql_sql.y:1964
 11266  		{
 11267  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_INSERT
 11268  		}
 11269  		yyVAL.union = yyLOCAL
 11270  	case 197:
 11271  		yyDollar = yyS[yypt-1 : yypt+1]
 11272  		var yyLOCAL tree.PrivilegeType
 11273  //line mysql_sql.y:1968
 11274  		{
 11275  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_SELECT
 11276  		}
 11277  		yyVAL.union = yyLOCAL
 11278  	case 198:
 11279  		yyDollar = yyS[yypt-1 : yypt+1]
 11280  		var yyLOCAL tree.PrivilegeType
 11281  //line mysql_sql.y:1972
 11282  		{
 11283  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_SUPER
 11284  		}
 11285  		yyVAL.union = yyLOCAL
 11286  	case 199:
 11287  		yyDollar = yyS[yypt-2 : yypt+1]
 11288  		var yyLOCAL tree.PrivilegeType
 11289  //line mysql_sql.y:1976
 11290  		{
 11291  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_DATABASE
 11292  		}
 11293  		yyVAL.union = yyLOCAL
 11294  	case 200:
 11295  		yyDollar = yyS[yypt-2 : yypt+1]
 11296  		var yyLOCAL tree.PrivilegeType
 11297  //line mysql_sql.y:1980
 11298  		{
 11299  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DROP_DATABASE
 11300  		}
 11301  		yyVAL.union = yyLOCAL
 11302  	case 201:
 11303  		yyDollar = yyS[yypt-2 : yypt+1]
 11304  		var yyLOCAL tree.PrivilegeType
 11305  //line mysql_sql.y:1984
 11306  		{
 11307  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_SHOW_DATABASES
 11308  		}
 11309  		yyVAL.union = yyLOCAL
 11310  	case 202:
 11311  		yyDollar = yyS[yypt-1 : yypt+1]
 11312  		var yyLOCAL tree.PrivilegeType
 11313  //line mysql_sql.y:1988
 11314  		{
 11315  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CONNECT
 11316  		}
 11317  		yyVAL.union = yyLOCAL
 11318  	case 203:
 11319  		yyDollar = yyS[yypt-2 : yypt+1]
 11320  		var yyLOCAL tree.PrivilegeType
 11321  //line mysql_sql.y:1992
 11322  		{
 11323  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_MANAGE_GRANTS
 11324  		}
 11325  		yyVAL.union = yyLOCAL
 11326  	case 204:
 11327  		yyDollar = yyS[yypt-1 : yypt+1]
 11328  		var yyLOCAL tree.PrivilegeType
 11329  //line mysql_sql.y:1996
 11330  		{
 11331  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_OWNERSHIP
 11332  		}
 11333  		yyVAL.union = yyLOCAL
 11334  	case 205:
 11335  		yyDollar = yyS[yypt-2 : yypt+1]
 11336  		var yyLOCAL tree.PrivilegeType
 11337  //line mysql_sql.y:2000
 11338  		{
 11339  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_SHOW_TABLES
 11340  		}
 11341  		yyVAL.union = yyLOCAL
 11342  	case 206:
 11343  		yyDollar = yyS[yypt-2 : yypt+1]
 11344  		var yyLOCAL tree.PrivilegeType
 11345  //line mysql_sql.y:2004
 11346  		{
 11347  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_TABLE
 11348  		}
 11349  		yyVAL.union = yyLOCAL
 11350  	case 207:
 11351  		yyDollar = yyS[yypt-1 : yypt+1]
 11352  		var yyLOCAL tree.PrivilegeType
 11353  //line mysql_sql.y:2008
 11354  		{
 11355  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_UPDATE
 11356  		}
 11357  		yyVAL.union = yyLOCAL
 11358  	case 208:
 11359  		yyDollar = yyS[yypt-2 : yypt+1]
 11360  		var yyLOCAL tree.PrivilegeType
 11361  //line mysql_sql.y:2012
 11362  		{
 11363  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_GRANT_OPTION
 11364  		}
 11365  		yyVAL.union = yyLOCAL
 11366  	case 209:
 11367  		yyDollar = yyS[yypt-1 : yypt+1]
 11368  		var yyLOCAL tree.PrivilegeType
 11369  //line mysql_sql.y:2016
 11370  		{
 11371  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_REFERENCES
 11372  		}
 11373  		yyVAL.union = yyLOCAL
 11374  	case 210:
 11375  		yyDollar = yyS[yypt-1 : yypt+1]
 11376  		var yyLOCAL tree.PrivilegeType
 11377  //line mysql_sql.y:2020
 11378  		{
 11379  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_REFERENCE
 11380  		}
 11381  		yyVAL.union = yyLOCAL
 11382  	case 211:
 11383  		yyDollar = yyS[yypt-2 : yypt+1]
 11384  		var yyLOCAL tree.PrivilegeType
 11385  //line mysql_sql.y:2024
 11386  		{
 11387  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_REPLICATION_SLAVE
 11388  		}
 11389  		yyVAL.union = yyLOCAL
 11390  	case 212:
 11391  		yyDollar = yyS[yypt-2 : yypt+1]
 11392  		var yyLOCAL tree.PrivilegeType
 11393  //line mysql_sql.y:2028
 11394  		{
 11395  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_REPLICATION_CLIENT
 11396  		}
 11397  		yyVAL.union = yyLOCAL
 11398  	case 213:
 11399  		yyDollar = yyS[yypt-1 : yypt+1]
 11400  		var yyLOCAL tree.PrivilegeType
 11401  //line mysql_sql.y:2032
 11402  		{
 11403  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_USAGE
 11404  		}
 11405  		yyVAL.union = yyLOCAL
 11406  	case 214:
 11407  		yyDollar = yyS[yypt-1 : yypt+1]
 11408  		var yyLOCAL tree.PrivilegeType
 11409  //line mysql_sql.y:2036
 11410  		{
 11411  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_RELOAD
 11412  		}
 11413  		yyVAL.union = yyLOCAL
 11414  	case 215:
 11415  		yyDollar = yyS[yypt-1 : yypt+1]
 11416  		var yyLOCAL tree.PrivilegeType
 11417  //line mysql_sql.y:2040
 11418  		{
 11419  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_FILE
 11420  		}
 11421  		yyVAL.union = yyLOCAL
 11422  	case 216:
 11423  		yyDollar = yyS[yypt-3 : yypt+1]
 11424  		var yyLOCAL tree.PrivilegeType
 11425  //line mysql_sql.y:2044
 11426  		{
 11427  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_TEMPORARY_TABLES
 11428  		}
 11429  		yyVAL.union = yyLOCAL
 11430  	case 217:
 11431  		yyDollar = yyS[yypt-2 : yypt+1]
 11432  		var yyLOCAL tree.PrivilegeType
 11433  //line mysql_sql.y:2048
 11434  		{
 11435  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_LOCK_TABLES
 11436  		}
 11437  		yyVAL.union = yyLOCAL
 11438  	case 218:
 11439  		yyDollar = yyS[yypt-2 : yypt+1]
 11440  		var yyLOCAL tree.PrivilegeType
 11441  //line mysql_sql.y:2052
 11442  		{
 11443  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_VIEW
 11444  		}
 11445  		yyVAL.union = yyLOCAL
 11446  	case 219:
 11447  		yyDollar = yyS[yypt-2 : yypt+1]
 11448  		var yyLOCAL tree.PrivilegeType
 11449  //line mysql_sql.y:2056
 11450  		{
 11451  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_SHOW_VIEW
 11452  		}
 11453  		yyVAL.union = yyLOCAL
 11454  	case 220:
 11455  		yyDollar = yyS[yypt-2 : yypt+1]
 11456  		var yyLOCAL tree.PrivilegeType
 11457  //line mysql_sql.y:2060
 11458  		{
 11459  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_ROLE
 11460  		}
 11461  		yyVAL.union = yyLOCAL
 11462  	case 221:
 11463  		yyDollar = yyS[yypt-2 : yypt+1]
 11464  		var yyLOCAL tree.PrivilegeType
 11465  //line mysql_sql.y:2064
 11466  		{
 11467  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DROP_ROLE
 11468  		}
 11469  		yyVAL.union = yyLOCAL
 11470  	case 222:
 11471  		yyDollar = yyS[yypt-2 : yypt+1]
 11472  		var yyLOCAL tree.PrivilegeType
 11473  //line mysql_sql.y:2068
 11474  		{
 11475  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALTER_ROLE
 11476  		}
 11477  		yyVAL.union = yyLOCAL
 11478  	case 223:
 11479  		yyDollar = yyS[yypt-2 : yypt+1]
 11480  		var yyLOCAL tree.PrivilegeType
 11481  //line mysql_sql.y:2072
 11482  		{
 11483  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_ROUTINE
 11484  		}
 11485  		yyVAL.union = yyLOCAL
 11486  	case 224:
 11487  		yyDollar = yyS[yypt-2 : yypt+1]
 11488  		var yyLOCAL tree.PrivilegeType
 11489  //line mysql_sql.y:2076
 11490  		{
 11491  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALTER_ROUTINE
 11492  		}
 11493  		yyVAL.union = yyLOCAL
 11494  	case 225:
 11495  		yyDollar = yyS[yypt-1 : yypt+1]
 11496  		var yyLOCAL tree.PrivilegeType
 11497  //line mysql_sql.y:2080
 11498  		{
 11499  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_EVENT
 11500  		}
 11501  		yyVAL.union = yyLOCAL
 11502  	case 226:
 11503  		yyDollar = yyS[yypt-1 : yypt+1]
 11504  		var yyLOCAL tree.PrivilegeType
 11505  //line mysql_sql.y:2084
 11506  		{
 11507  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_SHUTDOWN
 11508  		}
 11509  		yyVAL.union = yyLOCAL
 11510  	case 227:
 11511  		yyDollar = yyS[yypt-1 : yypt+1]
 11512  		var yyLOCAL tree.PrivilegeType
 11513  //line mysql_sql.y:2088
 11514  		{
 11515  			yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_TRUNCATE
 11516  		}
 11517  		yyVAL.union = yyLOCAL
 11518  	case 233:
 11519  		yyDollar = yyS[yypt-3 : yypt+1]
 11520  		var yyLOCAL tree.Statement
 11521  //line mysql_sql.y:2101
 11522  		{
 11523  			yyLOCAL = &tree.SetTransaction{
 11524  				Global:        false,
 11525  				CharacterList: yyDollar[3].transactionCharacteristicListUnion(),
 11526  			}
 11527  		}
 11528  		yyVAL.union = yyLOCAL
 11529  	case 234:
 11530  		yyDollar = yyS[yypt-4 : yypt+1]
 11531  		var yyLOCAL tree.Statement
 11532  //line mysql_sql.y:2108
 11533  		{
 11534  			yyLOCAL = &tree.SetTransaction{
 11535  				Global:        true,
 11536  				CharacterList: yyDollar[4].transactionCharacteristicListUnion(),
 11537  			}
 11538  		}
 11539  		yyVAL.union = yyLOCAL
 11540  	case 235:
 11541  		yyDollar = yyS[yypt-4 : yypt+1]
 11542  		var yyLOCAL tree.Statement
 11543  //line mysql_sql.y:2115
 11544  		{
 11545  			yyLOCAL = &tree.SetTransaction{
 11546  				Global:        false,
 11547  				CharacterList: yyDollar[4].transactionCharacteristicListUnion(),
 11548  			}
 11549  		}
 11550  		yyVAL.union = yyLOCAL
 11551  	case 236:
 11552  		yyDollar = yyS[yypt-1 : yypt+1]
 11553  		var yyLOCAL []*tree.TransactionCharacteristic
 11554  //line mysql_sql.y:2125
 11555  		{
 11556  			yyLOCAL = []*tree.TransactionCharacteristic{yyDollar[1].transactionCharacteristicUnion()}
 11557  		}
 11558  		yyVAL.union = yyLOCAL
 11559  	case 237:
 11560  		yyDollar = yyS[yypt-3 : yypt+1]
 11561  		var yyLOCAL []*tree.TransactionCharacteristic
 11562  //line mysql_sql.y:2129
 11563  		{
 11564  			yyLOCAL = append(yyDollar[1].transactionCharacteristicListUnion(), yyDollar[3].transactionCharacteristicUnion())
 11565  		}
 11566  		yyVAL.union = yyLOCAL
 11567  	case 238:
 11568  		yyDollar = yyS[yypt-3 : yypt+1]
 11569  		var yyLOCAL *tree.TransactionCharacteristic
 11570  //line mysql_sql.y:2135
 11571  		{
 11572  			yyLOCAL = &tree.TransactionCharacteristic{
 11573  				IsLevel:   true,
 11574  				Isolation: yyDollar[3].isolationLevelUnion(),
 11575  			}
 11576  		}
 11577  		yyVAL.union = yyLOCAL
 11578  	case 239:
 11579  		yyDollar = yyS[yypt-1 : yypt+1]
 11580  		var yyLOCAL *tree.TransactionCharacteristic
 11581  //line mysql_sql.y:2142
 11582  		{
 11583  			yyLOCAL = &tree.TransactionCharacteristic{
 11584  				Access: yyDollar[1].accessModeUnion(),
 11585  			}
 11586  		}
 11587  		yyVAL.union = yyLOCAL
 11588  	case 240:
 11589  		yyDollar = yyS[yypt-2 : yypt+1]
 11590  		var yyLOCAL tree.IsolationLevelType
 11591  //line mysql_sql.y:2150
 11592  		{
 11593  			yyLOCAL = tree.ISOLATION_LEVEL_REPEATABLE_READ
 11594  		}
 11595  		yyVAL.union = yyLOCAL
 11596  	case 241:
 11597  		yyDollar = yyS[yypt-2 : yypt+1]
 11598  		var yyLOCAL tree.IsolationLevelType
 11599  //line mysql_sql.y:2154
 11600  		{
 11601  			yyLOCAL = tree.ISOLATION_LEVEL_READ_COMMITTED
 11602  		}
 11603  		yyVAL.union = yyLOCAL
 11604  	case 242:
 11605  		yyDollar = yyS[yypt-2 : yypt+1]
 11606  		var yyLOCAL tree.IsolationLevelType
 11607  //line mysql_sql.y:2158
 11608  		{
 11609  			yyLOCAL = tree.ISOLATION_LEVEL_READ_UNCOMMITTED
 11610  		}
 11611  		yyVAL.union = yyLOCAL
 11612  	case 243:
 11613  		yyDollar = yyS[yypt-1 : yypt+1]
 11614  		var yyLOCAL tree.IsolationLevelType
 11615  //line mysql_sql.y:2162
 11616  		{
 11617  			yyLOCAL = tree.ISOLATION_LEVEL_SERIALIZABLE
 11618  		}
 11619  		yyVAL.union = yyLOCAL
 11620  	case 244:
 11621  		yyDollar = yyS[yypt-2 : yypt+1]
 11622  		var yyLOCAL tree.AccessModeType
 11623  //line mysql_sql.y:2168
 11624  		{
 11625  			yyLOCAL = tree.ACCESS_MODE_READ_WRITE
 11626  		}
 11627  		yyVAL.union = yyLOCAL
 11628  	case 245:
 11629  		yyDollar = yyS[yypt-2 : yypt+1]
 11630  		var yyLOCAL tree.AccessModeType
 11631  //line mysql_sql.y:2172
 11632  		{
 11633  			yyLOCAL = tree.ACCESS_MODE_READ_ONLY
 11634  		}
 11635  		yyVAL.union = yyLOCAL
 11636  	case 246:
 11637  		yyDollar = yyS[yypt-3 : yypt+1]
 11638  		var yyLOCAL tree.Statement
 11639  //line mysql_sql.y:2178
 11640  		{
 11641  			yyLOCAL = &tree.SetRole{
 11642  				SecondaryRole: false,
 11643  				Role:          yyDollar[3].roleUnion(),
 11644  			}
 11645  		}
 11646  		yyVAL.union = yyLOCAL
 11647  	case 247:
 11648  		yyDollar = yyS[yypt-4 : yypt+1]
 11649  		var yyLOCAL tree.Statement
 11650  //line mysql_sql.y:2185
 11651  		{
 11652  			yyLOCAL = &tree.SetRole{
 11653  				SecondaryRole:     true,
 11654  				SecondaryRoleType: tree.SecondaryRoleTypeAll,
 11655  			}
 11656  		}
 11657  		yyVAL.union = yyLOCAL
 11658  	case 248:
 11659  		yyDollar = yyS[yypt-4 : yypt+1]
 11660  		var yyLOCAL tree.Statement
 11661  //line mysql_sql.y:2192
 11662  		{
 11663  			yyLOCAL = &tree.SetRole{
 11664  				SecondaryRole:     true,
 11665  				SecondaryRoleType: tree.SecondaryRoleTypeNone,
 11666  			}
 11667  		}
 11668  		yyVAL.union = yyLOCAL
 11669  	case 249:
 11670  		yyDollar = yyS[yypt-6 : yypt+1]
 11671  		var yyLOCAL tree.Statement
 11672  //line mysql_sql.y:2201
 11673  		{
 11674  			dr := yyDollar[4].setDefaultRoleUnion()
 11675  			dr.Users = yyDollar[6].usersUnion()
 11676  			yyLOCAL = dr
 11677  		}
 11678  		yyVAL.union = yyLOCAL
 11679  	case 250:
 11680  		yyDollar = yyS[yypt-1 : yypt+1]
 11681  		var yyLOCAL *tree.SetDefaultRole
 11682  //line mysql_sql.y:2231
 11683  		{
 11684  			yyLOCAL = &tree.SetDefaultRole{Type: tree.SET_DEFAULT_ROLE_TYPE_NONE, Roles: nil}
 11685  		}
 11686  		yyVAL.union = yyLOCAL
 11687  	case 251:
 11688  		yyDollar = yyS[yypt-1 : yypt+1]
 11689  		var yyLOCAL *tree.SetDefaultRole
 11690  //line mysql_sql.y:2235
 11691  		{
 11692  			yyLOCAL = &tree.SetDefaultRole{Type: tree.SET_DEFAULT_ROLE_TYPE_ALL, Roles: nil}
 11693  		}
 11694  		yyVAL.union = yyLOCAL
 11695  	case 252:
 11696  		yyDollar = yyS[yypt-1 : yypt+1]
 11697  		var yyLOCAL *tree.SetDefaultRole
 11698  //line mysql_sql.y:2239
 11699  		{
 11700  			yyLOCAL = &tree.SetDefaultRole{Type: tree.SET_DEFAULT_ROLE_TYPE_NORMAL, Roles: yyDollar[1].rolesUnion()}
 11701  		}
 11702  		yyVAL.union = yyLOCAL
 11703  	case 253:
 11704  		yyDollar = yyS[yypt-2 : yypt+1]
 11705  		var yyLOCAL tree.Statement
 11706  //line mysql_sql.y:2245
 11707  		{
 11708  			yyLOCAL = &tree.SetVar{Assignments: yyDollar[2].varAssignmentExprsUnion()}
 11709  		}
 11710  		yyVAL.union = yyLOCAL
 11711  	case 254:
 11712  		yyDollar = yyS[yypt-4 : yypt+1]
 11713  		var yyLOCAL tree.Statement
 11714  //line mysql_sql.y:2251
 11715  		{
 11716  			yyLOCAL = &tree.SetPassword{Password: yyDollar[4].str}
 11717  		}
 11718  		yyVAL.union = yyLOCAL
 11719  	case 255:
 11720  		yyDollar = yyS[yypt-6 : yypt+1]
 11721  		var yyLOCAL tree.Statement
 11722  //line mysql_sql.y:2255
 11723  		{
 11724  			yyLOCAL = &tree.SetPassword{User: yyDollar[4].userUnion(), Password: yyDollar[6].str}
 11725  		}
 11726  		yyVAL.union = yyLOCAL
 11727  	case 257:
 11728  		yyDollar = yyS[yypt-4 : yypt+1]
 11729  //line mysql_sql.y:2262
 11730  		{
 11731  			yyVAL.str = yyDollar[3].str
 11732  		}
 11733  	case 258:
 11734  		yyDollar = yyS[yypt-1 : yypt+1]
 11735  		var yyLOCAL []*tree.VarAssignmentExpr
 11736  //line mysql_sql.y:2268
 11737  		{
 11738  			yyLOCAL = []*tree.VarAssignmentExpr{yyDollar[1].varAssignmentExprUnion()}
 11739  		}
 11740  		yyVAL.union = yyLOCAL
 11741  	case 259:
 11742  		yyDollar = yyS[yypt-3 : yypt+1]
 11743  		var yyLOCAL []*tree.VarAssignmentExpr
 11744  //line mysql_sql.y:2272
 11745  		{
 11746  			yyLOCAL = append(yyDollar[1].varAssignmentExprsUnion(), yyDollar[3].varAssignmentExprUnion())
 11747  		}
 11748  		yyVAL.union = yyLOCAL
 11749  	case 260:
 11750  		yyDollar = yyS[yypt-3 : yypt+1]
 11751  		var yyLOCAL *tree.VarAssignmentExpr
 11752  //line mysql_sql.y:2278
 11753  		{
 11754  			yyLOCAL = &tree.VarAssignmentExpr{
 11755  				System: true,
 11756  				Name:   yyDollar[1].str,
 11757  				Value:  yyDollar[3].exprUnion(),
 11758  			}
 11759  		}
 11760  		yyVAL.union = yyLOCAL
 11761  	case 261:
 11762  		yyDollar = yyS[yypt-4 : yypt+1]
 11763  		var yyLOCAL *tree.VarAssignmentExpr
 11764  //line mysql_sql.y:2286
 11765  		{
 11766  			yyLOCAL = &tree.VarAssignmentExpr{
 11767  				System: true,
 11768  				Global: true,
 11769  				Name:   yyDollar[2].str,
 11770  				Value:  yyDollar[4].exprUnion(),
 11771  			}
 11772  		}
 11773  		yyVAL.union = yyLOCAL
 11774  	case 262:
 11775  		yyDollar = yyS[yypt-4 : yypt+1]
 11776  		var yyLOCAL *tree.VarAssignmentExpr
 11777  //line mysql_sql.y:2295
 11778  		{
 11779  			yyLOCAL = &tree.VarAssignmentExpr{
 11780  				System: true,
 11781  				Global: true,
 11782  				Name:   yyDollar[2].str,
 11783  				Value:  yyDollar[4].exprUnion(),
 11784  			}
 11785  		}
 11786  		yyVAL.union = yyLOCAL
 11787  	case 263:
 11788  		yyDollar = yyS[yypt-4 : yypt+1]
 11789  		var yyLOCAL *tree.VarAssignmentExpr
 11790  //line mysql_sql.y:2304
 11791  		{
 11792  			yyLOCAL = &tree.VarAssignmentExpr{
 11793  				System: true,
 11794  				Name:   yyDollar[2].str,
 11795  				Value:  yyDollar[4].exprUnion(),
 11796  			}
 11797  		}
 11798  		yyVAL.union = yyLOCAL
 11799  	case 264:
 11800  		yyDollar = yyS[yypt-4 : yypt+1]
 11801  		var yyLOCAL *tree.VarAssignmentExpr
 11802  //line mysql_sql.y:2312
 11803  		{
 11804  			yyLOCAL = &tree.VarAssignmentExpr{
 11805  				System: true,
 11806  				Name:   yyDollar[2].str,
 11807  				Value:  yyDollar[4].exprUnion(),
 11808  			}
 11809  		}
 11810  		yyVAL.union = yyLOCAL
 11811  	case 265:
 11812  		yyDollar = yyS[yypt-3 : yypt+1]
 11813  		var yyLOCAL *tree.VarAssignmentExpr
 11814  //line mysql_sql.y:2320
 11815  		{
 11816  			vs := strings.Split(yyDollar[1].str, ".")
 11817  			var isGlobal bool
 11818  			if strings.ToLower(vs[0]) == "global" {
 11819  				isGlobal = true
 11820  			}
 11821  			var r string
 11822  			if len(vs) == 2 {
 11823  				r = vs[1]
 11824  			} else if len(vs) == 1 {
 11825  				r = vs[0]
 11826  			} else {
 11827  				yylex.Error("variable syntax error")
 11828  				goto ret1
 11829  			}
 11830  			yyLOCAL = &tree.VarAssignmentExpr{
 11831  				System: false,
 11832  				Global: isGlobal,
 11833  				Name:   r,
 11834  				Value:  yyDollar[3].exprUnion(),
 11835  			}
 11836  		}
 11837  		yyVAL.union = yyLOCAL
 11838  	case 266:
 11839  		yyDollar = yyS[yypt-3 : yypt+1]
 11840  		var yyLOCAL *tree.VarAssignmentExpr
 11841  //line mysql_sql.y:2343
 11842  		{
 11843  			vs := strings.Split(yyDollar[1].str, ".")
 11844  			var isGlobal bool
 11845  			if strings.ToLower(vs[0]) == "global" {
 11846  				isGlobal = true
 11847  			}
 11848  			var r string
 11849  			if len(vs) == 2 {
 11850  				r = vs[1]
 11851  			} else if len(vs) == 1 {
 11852  				r = vs[0]
 11853  			} else {
 11854  				yylex.Error("variable syntax error")
 11855  				goto ret1
 11856  			}
 11857  			yyLOCAL = &tree.VarAssignmentExpr{
 11858  				System: true,
 11859  				Global: isGlobal,
 11860  				Name:   r,
 11861  				Value:  yyDollar[3].exprUnion(),
 11862  			}
 11863  		}
 11864  		yyVAL.union = yyLOCAL
 11865  	case 267:
 11866  		yyDollar = yyS[yypt-2 : yypt+1]
 11867  		var yyLOCAL *tree.VarAssignmentExpr
 11868  //line mysql_sql.y:2366
 11869  		{
 11870  			yyLOCAL = &tree.VarAssignmentExpr{
 11871  				Name:  strings.ToLower(yyDollar[1].str),
 11872  				Value: tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char),
 11873  			}
 11874  		}
 11875  		yyVAL.union = yyLOCAL
 11876  	case 268:
 11877  		yyDollar = yyS[yypt-4 : yypt+1]
 11878  		var yyLOCAL *tree.VarAssignmentExpr
 11879  //line mysql_sql.y:2373
 11880  		{
 11881  			yyLOCAL = &tree.VarAssignmentExpr{
 11882  				Name:  strings.ToLower(yyDollar[1].str),
 11883  				Value: tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char),
 11884  			}
 11885  		}
 11886  		yyVAL.union = yyLOCAL
 11887  	case 269:
 11888  		yyDollar = yyS[yypt-4 : yypt+1]
 11889  		var yyLOCAL *tree.VarAssignmentExpr
 11890  //line mysql_sql.y:2380
 11891  		{
 11892  			yyLOCAL = &tree.VarAssignmentExpr{
 11893  				Name:     strings.ToLower(yyDollar[1].str),
 11894  				Value:    tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char),
 11895  				Reserved: tree.NewNumValWithType(constant.MakeString(yyDollar[4].str), yyDollar[4].str, false, tree.P_char),
 11896  			}
 11897  		}
 11898  		yyVAL.union = yyLOCAL
 11899  	case 270:
 11900  		yyDollar = yyS[yypt-2 : yypt+1]
 11901  		var yyLOCAL *tree.VarAssignmentExpr
 11902  //line mysql_sql.y:2388
 11903  		{
 11904  			yyLOCAL = &tree.VarAssignmentExpr{
 11905  				Name:  strings.ToLower(yyDollar[1].str),
 11906  				Value: &tree.DefaultVal{},
 11907  			}
 11908  		}
 11909  		yyVAL.union = yyLOCAL
 11910  	case 271:
 11911  		yyDollar = yyS[yypt-2 : yypt+1]
 11912  		var yyLOCAL *tree.VarAssignmentExpr
 11913  //line mysql_sql.y:2395
 11914  		{
 11915  			yyLOCAL = &tree.VarAssignmentExpr{
 11916  				Name:  strings.ToLower(yyDollar[1].str),
 11917  				Value: tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char),
 11918  			}
 11919  		}
 11920  		yyVAL.union = yyLOCAL
 11921  	case 272:
 11922  		yyDollar = yyS[yypt-2 : yypt+1]
 11923  		var yyLOCAL *tree.VarAssignmentExpr
 11924  //line mysql_sql.y:2402
 11925  		{
 11926  			yyLOCAL = &tree.VarAssignmentExpr{
 11927  				Name:  strings.ToLower(yyDollar[1].str),
 11928  				Value: &tree.DefaultVal{},
 11929  			}
 11930  		}
 11931  		yyVAL.union = yyLOCAL
 11932  	case 273:
 11933  		yyDollar = yyS[yypt-1 : yypt+1]
 11934  		var yyLOCAL tree.Expr
 11935  //line mysql_sql.y:2411
 11936  		{
 11937  			yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[1].str), yyDollar[1].str, false, tree.P_char)
 11938  		}
 11939  		yyVAL.union = yyLOCAL
 11940  	case 274:
 11941  		yyDollar = yyS[yypt-1 : yypt+1]
 11942  		var yyLOCAL tree.Expr
 11943  //line mysql_sql.y:2415
 11944  		{
 11945  			yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[1].str), yyDollar[1].str, false, tree.P_char)
 11946  		}
 11947  		yyVAL.union = yyLOCAL
 11948  	case 275:
 11949  		yyDollar = yyS[yypt-1 : yypt+1]
 11950  		var yyLOCAL tree.Expr
 11951  //line mysql_sql.y:2419
 11952  		{
 11953  			yyLOCAL = yyDollar[1].exprUnion()
 11954  		}
 11955  		yyVAL.union = yyLOCAL
 11956  	case 276:
 11957  		yyDollar = yyS[yypt-1 : yypt+1]
 11958  //line mysql_sql.y:2425
 11959  		{
 11960  			yyVAL.str = string(yyDollar[1].str)
 11961  		}
 11962  	case 277:
 11963  		yyDollar = yyS[yypt-1 : yypt+1]
 11964  //line mysql_sql.y:2429
 11965  		{
 11966  			yyVAL.str = yyDollar[1].str
 11967  		}
 11968  	case 278:
 11969  		yyDollar = yyS[yypt-1 : yypt+1]
 11970  //line mysql_sql.y:2435
 11971  		{
 11972  			yyVAL.str = yyDollar[1].cstrUnion().Compare()
 11973  		}
 11974  	case 279:
 11975  		yyDollar = yyS[yypt-3 : yypt+1]
 11976  //line mysql_sql.y:2439
 11977  		{
 11978  			yyVAL.str = yyDollar[1].cstrUnion().Compare() + "." + yyDollar[3].cstrUnion().Compare()
 11979  		}
 11980  	case 280:
 11981  		yyDollar = yyS[yypt-1 : yypt+1]
 11982  		var yyLOCAL []string
 11983  //line mysql_sql.y:2445
 11984  		{
 11985  			yyLOCAL = []string{yyDollar[1].str}
 11986  		}
 11987  		yyVAL.union = yyLOCAL
 11988  	case 281:
 11989  		yyDollar = yyS[yypt-3 : yypt+1]
 11990  		var yyLOCAL []string
 11991  //line mysql_sql.y:2449
 11992  		{
 11993  			yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].str)
 11994  		}
 11995  		yyVAL.union = yyLOCAL
 11996  	case 285:
 11997  		yyDollar = yyS[yypt-2 : yypt+1]
 11998  		var yyLOCAL tree.Statement
 11999  //line mysql_sql.y:2460
 12000  		{
 12001  			yyLOCAL = &tree.RollbackTransaction{Type: yyDollar[2].completionTypeUnion()}
 12002  		}
 12003  		yyVAL.union = yyLOCAL
 12004  	case 286:
 12005  		yyDollar = yyS[yypt-2 : yypt+1]
 12006  		var yyLOCAL tree.Statement
 12007  //line mysql_sql.y:2466
 12008  		{
 12009  			yyLOCAL = &tree.CommitTransaction{Type: yyDollar[2].completionTypeUnion()}
 12010  		}
 12011  		yyVAL.union = yyLOCAL
 12012  	case 287:
 12013  		yyDollar = yyS[yypt-0 : yypt+1]
 12014  		var yyLOCAL tree.CompletionType
 12015  //line mysql_sql.y:2471
 12016  		{
 12017  			yyLOCAL = tree.COMPLETION_TYPE_NO_CHAIN
 12018  		}
 12019  		yyVAL.union = yyLOCAL
 12020  	case 288:
 12021  		yyDollar = yyS[yypt-1 : yypt+1]
 12022  		var yyLOCAL tree.CompletionType
 12023  //line mysql_sql.y:2475
 12024  		{
 12025  			yyLOCAL = tree.COMPLETION_TYPE_NO_CHAIN
 12026  		}
 12027  		yyVAL.union = yyLOCAL
 12028  	case 289:
 12029  		yyDollar = yyS[yypt-4 : yypt+1]
 12030  		var yyLOCAL tree.CompletionType
 12031  //line mysql_sql.y:2479
 12032  		{
 12033  			yyLOCAL = tree.COMPLETION_TYPE_CHAIN
 12034  		}
 12035  		yyVAL.union = yyLOCAL
 12036  	case 290:
 12037  		yyDollar = yyS[yypt-2 : yypt+1]
 12038  		var yyLOCAL tree.CompletionType
 12039  //line mysql_sql.y:2483
 12040  		{
 12041  			yyLOCAL = tree.COMPLETION_TYPE_CHAIN
 12042  		}
 12043  		yyVAL.union = yyLOCAL
 12044  	case 291:
 12045  		yyDollar = yyS[yypt-4 : yypt+1]
 12046  		var yyLOCAL tree.CompletionType
 12047  //line mysql_sql.y:2487
 12048  		{
 12049  			yyLOCAL = tree.COMPLETION_TYPE_RELEASE
 12050  		}
 12051  		yyVAL.union = yyLOCAL
 12052  	case 292:
 12053  		yyDollar = yyS[yypt-1 : yypt+1]
 12054  		var yyLOCAL tree.CompletionType
 12055  //line mysql_sql.y:2491
 12056  		{
 12057  			yyLOCAL = tree.COMPLETION_TYPE_RELEASE
 12058  		}
 12059  		yyVAL.union = yyLOCAL
 12060  	case 293:
 12061  		yyDollar = yyS[yypt-5 : yypt+1]
 12062  		var yyLOCAL tree.CompletionType
 12063  //line mysql_sql.y:2495
 12064  		{
 12065  			yyLOCAL = tree.COMPLETION_TYPE_NO_CHAIN
 12066  		}
 12067  		yyVAL.union = yyLOCAL
 12068  	case 294:
 12069  		yyDollar = yyS[yypt-3 : yypt+1]
 12070  		var yyLOCAL tree.CompletionType
 12071  //line mysql_sql.y:2499
 12072  		{
 12073  			yyLOCAL = tree.COMPLETION_TYPE_NO_CHAIN
 12074  		}
 12075  		yyVAL.union = yyLOCAL
 12076  	case 295:
 12077  		yyDollar = yyS[yypt-2 : yypt+1]
 12078  		var yyLOCAL tree.CompletionType
 12079  //line mysql_sql.y:2503
 12080  		{
 12081  			yyLOCAL = tree.COMPLETION_TYPE_NO_CHAIN
 12082  		}
 12083  		yyVAL.union = yyLOCAL
 12084  	case 296:
 12085  		yyDollar = yyS[yypt-1 : yypt+1]
 12086  		var yyLOCAL tree.Statement
 12087  //line mysql_sql.y:2509
 12088  		{
 12089  			yyLOCAL = &tree.BeginTransaction{}
 12090  		}
 12091  		yyVAL.union = yyLOCAL
 12092  	case 297:
 12093  		yyDollar = yyS[yypt-2 : yypt+1]
 12094  		var yyLOCAL tree.Statement
 12095  //line mysql_sql.y:2513
 12096  		{
 12097  			yyLOCAL = &tree.BeginTransaction{}
 12098  		}
 12099  		yyVAL.union = yyLOCAL
 12100  	case 298:
 12101  		yyDollar = yyS[yypt-2 : yypt+1]
 12102  		var yyLOCAL tree.Statement
 12103  //line mysql_sql.y:2517
 12104  		{
 12105  			yyLOCAL = &tree.BeginTransaction{}
 12106  		}
 12107  		yyVAL.union = yyLOCAL
 12108  	case 299:
 12109  		yyDollar = yyS[yypt-4 : yypt+1]
 12110  		var yyLOCAL tree.Statement
 12111  //line mysql_sql.y:2521
 12112  		{
 12113  			m := tree.MakeTransactionModes(tree.READ_WRITE_MODE_READ_WRITE)
 12114  			yyLOCAL = &tree.BeginTransaction{Modes: m}
 12115  		}
 12116  		yyVAL.union = yyLOCAL
 12117  	case 300:
 12118  		yyDollar = yyS[yypt-4 : yypt+1]
 12119  		var yyLOCAL tree.Statement
 12120  //line mysql_sql.y:2526
 12121  		{
 12122  			m := tree.MakeTransactionModes(tree.READ_WRITE_MODE_READ_ONLY)
 12123  			yyLOCAL = &tree.BeginTransaction{Modes: m}
 12124  		}
 12125  		yyVAL.union = yyLOCAL
 12126  	case 301:
 12127  		yyDollar = yyS[yypt-5 : yypt+1]
 12128  		var yyLOCAL tree.Statement
 12129  //line mysql_sql.y:2531
 12130  		{
 12131  			yyLOCAL = &tree.BeginTransaction{}
 12132  		}
 12133  		yyVAL.union = yyLOCAL
 12134  	case 302:
 12135  		yyDollar = yyS[yypt-2 : yypt+1]
 12136  		var yyLOCAL tree.Statement
 12137  //line mysql_sql.y:2537
 12138  		{
 12139  			name := yyDollar[2].cstrUnion()
 12140  			secondaryRole := false
 12141  			var secondaryRoleType tree.SecondaryRoleType = 0
 12142  			var role *tree.Role
 12143  			yyLOCAL = tree.NewUse(
 12144  				name,
 12145  				secondaryRole,
 12146  				secondaryRoleType,
 12147  				role,
 12148  			)
 12149  		}
 12150  		yyVAL.union = yyLOCAL
 12151  	case 303:
 12152  		yyDollar = yyS[yypt-1 : yypt+1]
 12153  		var yyLOCAL tree.Statement
 12154  //line mysql_sql.y:2550
 12155  		{
 12156  			var name *tree.CStr
 12157  			secondaryRole := false
 12158  			var secondaryRoleType tree.SecondaryRoleType = 0
 12159  			var role *tree.Role
 12160  			yyLOCAL = tree.NewUse(
 12161  				name,
 12162  				secondaryRole,
 12163  				secondaryRoleType,
 12164  				role,
 12165  			)
 12166  		}
 12167  		yyVAL.union = yyLOCAL
 12168  	case 304:
 12169  		yyDollar = yyS[yypt-3 : yypt+1]
 12170  		var yyLOCAL tree.Statement
 12171  //line mysql_sql.y:2563
 12172  		{
 12173  			var name *tree.CStr
 12174  			secondaryRole := false
 12175  			var secondaryRoleType tree.SecondaryRoleType = 0
 12176  			role := yyDollar[3].roleUnion()
 12177  			yyLOCAL = tree.NewUse(
 12178  				name,
 12179  				secondaryRole,
 12180  				secondaryRoleType,
 12181  				role,
 12182  			)
 12183  		}
 12184  		yyVAL.union = yyLOCAL
 12185  	case 305:
 12186  		yyDollar = yyS[yypt-4 : yypt+1]
 12187  		var yyLOCAL tree.Statement
 12188  //line mysql_sql.y:2576
 12189  		{
 12190  			var name *tree.CStr
 12191  			secondaryRole := true
 12192  			secondaryRoleType := tree.SecondaryRoleTypeAll
 12193  			var role *tree.Role
 12194  			yyLOCAL = tree.NewUse(
 12195  				name,
 12196  				secondaryRole,
 12197  				secondaryRoleType,
 12198  				role,
 12199  			)
 12200  		}
 12201  		yyVAL.union = yyLOCAL
 12202  	case 306:
 12203  		yyDollar = yyS[yypt-4 : yypt+1]
 12204  		var yyLOCAL tree.Statement
 12205  //line mysql_sql.y:2589
 12206  		{
 12207  			var name *tree.CStr
 12208  			secondaryRole := true
 12209  			secondaryRoleType := tree.SecondaryRoleTypeNone
 12210  			var role *tree.Role
 12211  			yyLOCAL = tree.NewUse(
 12212  				name,
 12213  				secondaryRole,
 12214  				secondaryRoleType,
 12215  				role,
 12216  			)
 12217  		}
 12218  		yyVAL.union = yyLOCAL
 12219  	case 308:
 12220  		yyDollar = yyS[yypt-2 : yypt+1]
 12221  		var yyLOCAL tree.Statement
 12222  //line mysql_sql.y:2605
 12223  		{
 12224  			yyDollar[2].statementUnion().(*tree.Update).With = yyDollar[1].withClauseUnion()
 12225  			yyLOCAL = yyDollar[2].statementUnion()
 12226  		}
 12227  		yyVAL.union = yyLOCAL
 12228  	case 309:
 12229  		yyDollar = yyS[yypt-9 : yypt+1]
 12230  		var yyLOCAL tree.Statement
 12231  //line mysql_sql.y:2612
 12232  		{
 12233  			// Single-table syntax
 12234  			yyLOCAL = &tree.Update{
 12235  				Tables:  tree.TableExprs{yyDollar[4].tableExprUnion()},
 12236  				Exprs:   yyDollar[6].updateExprsUnion(),
 12237  				Where:   yyDollar[7].whereUnion(),
 12238  				OrderBy: yyDollar[8].orderByUnion(),
 12239  				Limit:   yyDollar[9].limitUnion(),
 12240  			}
 12241  		}
 12242  		yyVAL.union = yyLOCAL
 12243  	case 310:
 12244  		yyDollar = yyS[yypt-7 : yypt+1]
 12245  		var yyLOCAL tree.Statement
 12246  //line mysql_sql.y:2623
 12247  		{
 12248  			// Multiple-table syntax
 12249  			yyLOCAL = &tree.Update{
 12250  				Tables: tree.TableExprs{yyDollar[4].joinTableExprUnion()},
 12251  				Exprs:  yyDollar[6].updateExprsUnion(),
 12252  				Where:  yyDollar[7].whereUnion(),
 12253  			}
 12254  		}
 12255  		yyVAL.union = yyLOCAL
 12256  	case 311:
 12257  		yyDollar = yyS[yypt-1 : yypt+1]
 12258  		var yyLOCAL tree.UpdateExprs
 12259  //line mysql_sql.y:2634
 12260  		{
 12261  			yyLOCAL = tree.UpdateExprs{yyDollar[1].updateExprUnion()}
 12262  		}
 12263  		yyVAL.union = yyLOCAL
 12264  	case 312:
 12265  		yyDollar = yyS[yypt-3 : yypt+1]
 12266  		var yyLOCAL tree.UpdateExprs
 12267  //line mysql_sql.y:2638
 12268  		{
 12269  			yyLOCAL = append(yyDollar[1].updateExprsUnion(), yyDollar[3].updateExprUnion())
 12270  		}
 12271  		yyVAL.union = yyLOCAL
 12272  	case 313:
 12273  		yyDollar = yyS[yypt-3 : yypt+1]
 12274  		var yyLOCAL *tree.UpdateExpr
 12275  //line mysql_sql.y:2644
 12276  		{
 12277  			yyLOCAL = &tree.UpdateExpr{Names: []*tree.UnresolvedName{yyDollar[1].unresolvedNameUnion()}, Expr: yyDollar[3].exprUnion()}
 12278  		}
 12279  		yyVAL.union = yyLOCAL
 12280  	case 316:
 12281  		yyDollar = yyS[yypt-3 : yypt+1]
 12282  		var yyLOCAL tree.Statement
 12283  //line mysql_sql.y:2654
 12284  		{
 12285  			yyLOCAL = &tree.LockTableStmt{TableLocks: yyDollar[3].tableLocksUnion()}
 12286  		}
 12287  		yyVAL.union = yyLOCAL
 12288  	case 317:
 12289  		yyDollar = yyS[yypt-1 : yypt+1]
 12290  		var yyLOCAL []tree.TableLock
 12291  //line mysql_sql.y:2660
 12292  		{
 12293  			yyLOCAL = []tree.TableLock{yyDollar[1].tableLockUnion()}
 12294  		}
 12295  		yyVAL.union = yyLOCAL
 12296  	case 318:
 12297  		yyDollar = yyS[yypt-3 : yypt+1]
 12298  		var yyLOCAL []tree.TableLock
 12299  //line mysql_sql.y:2664
 12300  		{
 12301  			yyLOCAL = append(yyDollar[1].tableLocksUnion(), yyDollar[3].tableLockUnion())
 12302  		}
 12303  		yyVAL.union = yyLOCAL
 12304  	case 319:
 12305  		yyDollar = yyS[yypt-2 : yypt+1]
 12306  		var yyLOCAL tree.TableLock
 12307  //line mysql_sql.y:2670
 12308  		{
 12309  			yyLOCAL = tree.TableLock{Table: *yyDollar[1].tableNameUnion(), LockType: yyDollar[2].tableLockTypeUnion()}
 12310  		}
 12311  		yyVAL.union = yyLOCAL
 12312  	case 320:
 12313  		yyDollar = yyS[yypt-1 : yypt+1]
 12314  		var yyLOCAL tree.TableLockType
 12315  //line mysql_sql.y:2676
 12316  		{
 12317  			yyLOCAL = tree.TableLockRead
 12318  		}
 12319  		yyVAL.union = yyLOCAL
 12320  	case 321:
 12321  		yyDollar = yyS[yypt-2 : yypt+1]
 12322  		var yyLOCAL tree.TableLockType
 12323  //line mysql_sql.y:2680
 12324  		{
 12325  			yyLOCAL = tree.TableLockReadLocal
 12326  		}
 12327  		yyVAL.union = yyLOCAL
 12328  	case 322:
 12329  		yyDollar = yyS[yypt-1 : yypt+1]
 12330  		var yyLOCAL tree.TableLockType
 12331  //line mysql_sql.y:2684
 12332  		{
 12333  			yyLOCAL = tree.TableLockWrite
 12334  		}
 12335  		yyVAL.union = yyLOCAL
 12336  	case 323:
 12337  		yyDollar = yyS[yypt-2 : yypt+1]
 12338  		var yyLOCAL tree.TableLockType
 12339  //line mysql_sql.y:2688
 12340  		{
 12341  			yyLOCAL = tree.TableLockLowPriorityWrite
 12342  		}
 12343  		yyVAL.union = yyLOCAL
 12344  	case 324:
 12345  		yyDollar = yyS[yypt-2 : yypt+1]
 12346  		var yyLOCAL tree.Statement
 12347  //line mysql_sql.y:2694
 12348  		{
 12349  			yyLOCAL = &tree.UnLockTableStmt{}
 12350  		}
 12351  		yyVAL.union = yyLOCAL
 12352  	case 332:
 12353  		yyDollar = yyS[yypt-1 : yypt+1]
 12354  		var yyLOCAL tree.Statement
 12355  //line mysql_sql.y:2707
 12356  		{
 12357  			yyLOCAL = yyDollar[1].selectUnion()
 12358  		}
 12359  		yyVAL.union = yyLOCAL
 12360  	case 333:
 12361  		yyDollar = yyS[yypt-4 : yypt+1]
 12362  		var yyLOCAL tree.Statement
 12363  //line mysql_sql.y:2713
 12364  		{
 12365  			yyLOCAL = tree.NewPrepareStmt(tree.Identifier(yyDollar[2].str), yyDollar[4].statementUnion())
 12366  		}
 12367  		yyVAL.union = yyLOCAL
 12368  	case 334:
 12369  		yyDollar = yyS[yypt-4 : yypt+1]
 12370  		var yyLOCAL tree.Statement
 12371  //line mysql_sql.y:2717
 12372  		{
 12373  			yyLOCAL = tree.NewPrepareString(tree.Identifier(yyDollar[2].str), yyDollar[4].str)
 12374  		}
 12375  		yyVAL.union = yyLOCAL
 12376  	case 335:
 12377  		yyDollar = yyS[yypt-2 : yypt+1]
 12378  		var yyLOCAL tree.Statement
 12379  //line mysql_sql.y:2723
 12380  		{
 12381  			yyLOCAL = tree.NewExecute(tree.Identifier(yyDollar[2].str))
 12382  		}
 12383  		yyVAL.union = yyLOCAL
 12384  	case 336:
 12385  		yyDollar = yyS[yypt-4 : yypt+1]
 12386  		var yyLOCAL tree.Statement
 12387  //line mysql_sql.y:2727
 12388  		{
 12389  			yyLOCAL = tree.NewExecuteWithVariables(tree.Identifier(yyDollar[2].str), yyDollar[4].varExprsUnion())
 12390  		}
 12391  		yyVAL.union = yyLOCAL
 12392  	case 337:
 12393  		yyDollar = yyS[yypt-3 : yypt+1]
 12394  		var yyLOCAL tree.Statement
 12395  //line mysql_sql.y:2733
 12396  		{
 12397  			yyLOCAL = tree.NewDeallocate(tree.Identifier(yyDollar[3].str), false)
 12398  		}
 12399  		yyVAL.union = yyLOCAL
 12400  	case 338:
 12401  		yyDollar = yyS[yypt-3 : yypt+1]
 12402  		var yyLOCAL tree.Statement
 12403  //line mysql_sql.y:2739
 12404  		{
 12405  			yyLOCAL = tree.NewReset(tree.Identifier(yyDollar[3].str))
 12406  		}
 12407  		yyVAL.union = yyLOCAL
 12408  	case 344:
 12409  		yyDollar = yyS[yypt-1 : yypt+1]
 12410  		var yyLOCAL tree.Statement
 12411  //line mysql_sql.y:2750
 12412  		{
 12413  			yyLOCAL = yyDollar[1].selectUnion()
 12414  		}
 12415  		yyVAL.union = yyLOCAL
 12416  	case 345:
 12417  		yyDollar = yyS[yypt-2 : yypt+1]
 12418  		var yyLOCAL tree.Statement
 12419  //line mysql_sql.y:2756
 12420  		{
 12421  			yyLOCAL = &tree.ShowColumns{Table: yyDollar[2].unresolvedObjectNameUnion()}
 12422  		}
 12423  		yyVAL.union = yyLOCAL
 12424  	case 346:
 12425  		yyDollar = yyS[yypt-3 : yypt+1]
 12426  		var yyLOCAL tree.Statement
 12427  //line mysql_sql.y:2760
 12428  		{
 12429  			yyLOCAL = &tree.ShowColumns{Table: yyDollar[2].unresolvedObjectNameUnion(), ColName: yyDollar[3].unresolvedNameUnion()}
 12430  		}
 12431  		yyVAL.union = yyLOCAL
 12432  	case 347:
 12433  		yyDollar = yyS[yypt-4 : yypt+1]
 12434  		var yyLOCAL tree.Statement
 12435  //line mysql_sql.y:2764
 12436  		{
 12437  			yyLOCAL = tree.NewExplainFor("", uint64(yyDollar[4].item.(int64)))
 12438  		}
 12439  		yyVAL.union = yyLOCAL
 12440  	case 348:
 12441  		yyDollar = yyS[yypt-7 : yypt+1]
 12442  		var yyLOCAL tree.Statement
 12443  //line mysql_sql.y:2768
 12444  		{
 12445  			yyLOCAL = tree.NewExplainFor(yyDollar[4].str, uint64(yyDollar[7].item.(int64)))
 12446  		}
 12447  		yyVAL.union = yyLOCAL
 12448  	case 349:
 12449  		yyDollar = yyS[yypt-2 : yypt+1]
 12450  		var yyLOCAL tree.Statement
 12451  //line mysql_sql.y:2772
 12452  		{
 12453  			yyLOCAL = tree.NewExplainStmt(yyDollar[2].statementUnion(), "text")
 12454  		}
 12455  		yyVAL.union = yyLOCAL
 12456  	case 350:
 12457  		yyDollar = yyS[yypt-3 : yypt+1]
 12458  		var yyLOCAL tree.Statement
 12459  //line mysql_sql.y:2776
 12460  		{
 12461  			explainStmt := tree.NewExplainStmt(yyDollar[3].statementUnion(), "text")
 12462  			optionElem := tree.MakeOptionElem("verbose", "NULL")
 12463  			options := tree.MakeOptions(optionElem)
 12464  			explainStmt.Options = options
 12465  			yyLOCAL = explainStmt
 12466  		}
 12467  		yyVAL.union = yyLOCAL
 12468  	case 351:
 12469  		yyDollar = yyS[yypt-3 : yypt+1]
 12470  		var yyLOCAL tree.Statement
 12471  //line mysql_sql.y:2784
 12472  		{
 12473  			explainStmt := tree.NewExplainAnalyze(yyDollar[3].statementUnion(), "text")
 12474  			optionElem := tree.MakeOptionElem("analyze", "NULL")
 12475  			options := tree.MakeOptions(optionElem)
 12476  			explainStmt.Options = options
 12477  			yyLOCAL = explainStmt
 12478  		}
 12479  		yyVAL.union = yyLOCAL
 12480  	case 352:
 12481  		yyDollar = yyS[yypt-4 : yypt+1]
 12482  		var yyLOCAL tree.Statement
 12483  //line mysql_sql.y:2792
 12484  		{
 12485  			explainStmt := tree.NewExplainAnalyze(yyDollar[4].statementUnion(), "text")
 12486  			optionElem1 := tree.MakeOptionElem("analyze", "NULL")
 12487  			optionElem2 := tree.MakeOptionElem("verbose", "NULL")
 12488  			options := tree.MakeOptions(optionElem1)
 12489  			options = append(options, optionElem2)
 12490  			explainStmt.Options = options
 12491  			yyLOCAL = explainStmt
 12492  		}
 12493  		yyVAL.union = yyLOCAL
 12494  	case 353:
 12495  		yyDollar = yyS[yypt-5 : yypt+1]
 12496  		var yyLOCAL tree.Statement
 12497  //line mysql_sql.y:2802
 12498  		{
 12499  			if tree.IsContainAnalyze(yyDollar[3].epxlainOptionsUnion()) {
 12500  				explainStmt := tree.NewExplainAnalyze(yyDollar[5].statementUnion(), "text")
 12501  				explainStmt.Options = yyDollar[3].epxlainOptionsUnion()
 12502  				yyLOCAL = explainStmt
 12503  			} else {
 12504  				explainStmt := tree.NewExplainStmt(yyDollar[5].statementUnion(), "text")
 12505  				explainStmt.Options = yyDollar[3].epxlainOptionsUnion()
 12506  				yyLOCAL = explainStmt
 12507  			}
 12508  		}
 12509  		yyVAL.union = yyLOCAL
 12510  	case 354:
 12511  		yyDollar = yyS[yypt-3 : yypt+1]
 12512  		var yyLOCAL tree.Statement
 12513  //line mysql_sql.y:2814
 12514  		{
 12515  			yyLOCAL = tree.NewExplainStmt(yyDollar[3].statementUnion(), "text")
 12516  		}
 12517  		yyVAL.union = yyLOCAL
 12518  	case 355:
 12519  		yyDollar = yyS[yypt-4 : yypt+1]
 12520  		var yyLOCAL tree.Statement
 12521  //line mysql_sql.y:2818
 12522  		{
 12523  			explainStmt := tree.NewExplainStmt(yyDollar[4].statementUnion(), "text")
 12524  			optionElem := tree.MakeOptionElem("verbose", "NULL")
 12525  			options := tree.MakeOptions(optionElem)
 12526  			explainStmt.Options = options
 12527  			yyLOCAL = explainStmt
 12528  		}
 12529  		yyVAL.union = yyLOCAL
 12530  	case 356:
 12531  		yyDollar = yyS[yypt-4 : yypt+1]
 12532  		var yyLOCAL tree.Statement
 12533  //line mysql_sql.y:2826
 12534  		{
 12535  			explainStmt := tree.NewExplainAnalyze(yyDollar[4].statementUnion(), "text")
 12536  			optionElem := tree.MakeOptionElem("analyze", "NULL")
 12537  			options := tree.MakeOptions(optionElem)
 12538  			explainStmt.Options = options
 12539  			yyLOCAL = explainStmt
 12540  		}
 12541  		yyVAL.union = yyLOCAL
 12542  	case 357:
 12543  		yyDollar = yyS[yypt-5 : yypt+1]
 12544  		var yyLOCAL tree.Statement
 12545  //line mysql_sql.y:2834
 12546  		{
 12547  			explainStmt := tree.NewExplainAnalyze(yyDollar[5].statementUnion(), "text")
 12548  			optionElem1 := tree.MakeOptionElem("analyze", "NULL")
 12549  			optionElem2 := tree.MakeOptionElem("verbose", "NULL")
 12550  			options := tree.MakeOptions(optionElem1)
 12551  			options = append(options, optionElem2)
 12552  			explainStmt.Options = options
 12553  			yyLOCAL = explainStmt
 12554  		}
 12555  		yyVAL.union = yyLOCAL
 12556  	case 370:
 12557  		yyDollar = yyS[yypt-1 : yypt+1]
 12558  		var yyLOCAL []tree.OptionElem
 12559  //line mysql_sql.y:2873
 12560  		{
 12561  			yyLOCAL = tree.MakeOptions(yyDollar[1].epxlainOptionUnion())
 12562  		}
 12563  		yyVAL.union = yyLOCAL
 12564  	case 371:
 12565  		yyDollar = yyS[yypt-3 : yypt+1]
 12566  		var yyLOCAL []tree.OptionElem
 12567  //line mysql_sql.y:2877
 12568  		{
 12569  			yyLOCAL = append(yyDollar[1].epxlainOptionsUnion(), yyDollar[3].epxlainOptionUnion())
 12570  		}
 12571  		yyVAL.union = yyLOCAL
 12572  	case 372:
 12573  		yyDollar = yyS[yypt-2 : yypt+1]
 12574  		var yyLOCAL tree.OptionElem
 12575  //line mysql_sql.y:2883
 12576  		{
 12577  			yyLOCAL = tree.MakeOptionElem(yyDollar[1].str, yyDollar[2].str)
 12578  		}
 12579  		yyVAL.union = yyLOCAL
 12580  	case 373:
 12581  		yyDollar = yyS[yypt-1 : yypt+1]
 12582  //line mysql_sql.y:2889
 12583  		{
 12584  			yyVAL.str = yyDollar[1].str
 12585  		}
 12586  	case 374:
 12587  		yyDollar = yyS[yypt-1 : yypt+1]
 12588  //line mysql_sql.y:2894
 12589  		{
 12590  			yyVAL.str = "true"
 12591  		}
 12592  	case 375:
 12593  		yyDollar = yyS[yypt-1 : yypt+1]
 12594  //line mysql_sql.y:2895
 12595  		{
 12596  			yyVAL.str = "false"
 12597  		}
 12598  	case 376:
 12599  		yyDollar = yyS[yypt-1 : yypt+1]
 12600  //line mysql_sql.y:2896
 12601  		{
 12602  			yyVAL.str = yyDollar[1].str
 12603  		}
 12604  	case 377:
 12605  		yyDollar = yyS[yypt-6 : yypt+1]
 12606  		var yyLOCAL tree.Statement
 12607  //line mysql_sql.y:2901
 12608  		{
 12609  			yyLOCAL = tree.NewAnalyzeStmt(yyDollar[3].tableNameUnion(), yyDollar[5].identifierListUnion())
 12610  		}
 12611  		yyVAL.union = yyLOCAL
 12612  	case 378:
 12613  		yyDollar = yyS[yypt-4 : yypt+1]
 12614  		var yyLOCAL tree.Statement
 12615  //line mysql_sql.y:2907
 12616  		{
 12617  			yyLOCAL = &tree.UpgradeStatement{
 12618  				Target: yyDollar[3].upgrade_targetUnion(),
 12619  				Retry:  yyDollar[4].int64ValUnion(),
 12620  			}
 12621  		}
 12622  		yyVAL.union = yyLOCAL
 12623  	case 379:
 12624  		yyDollar = yyS[yypt-1 : yypt+1]
 12625  		var yyLOCAL *tree.Target
 12626  //line mysql_sql.y:2916
 12627  		{
 12628  			yyLOCAL = &tree.Target{
 12629  				AccountName:  yyDollar[1].str,
 12630  				IsALLAccount: false,
 12631  			}
 12632  		}
 12633  		yyVAL.union = yyLOCAL
 12634  	case 380:
 12635  		yyDollar = yyS[yypt-1 : yypt+1]
 12636  		var yyLOCAL *tree.Target
 12637  //line mysql_sql.y:2923
 12638  		{
 12639  			yyLOCAL = &tree.Target{
 12640  				AccountName:  "",
 12641  				IsALLAccount: true,
 12642  			}
 12643  		}
 12644  		yyVAL.union = yyLOCAL
 12645  	case 381:
 12646  		yyDollar = yyS[yypt-0 : yypt+1]
 12647  		var yyLOCAL int64
 12648  //line mysql_sql.y:2931
 12649  		{
 12650  			yyLOCAL = -1
 12651  		}
 12652  		yyVAL.union = yyLOCAL
 12653  	case 382:
 12654  		yyDollar = yyS[yypt-3 : yypt+1]
 12655  		var yyLOCAL int64
 12656  //line mysql_sql.y:2935
 12657  		{
 12658  			res := yyDollar[3].item.(int64)
 12659  			if res <= 0 {
 12660  				yylex.Error("retry value can not less than 0")
 12661  				yyLOCAL = -1
 12662  			}
 12663  			yyLOCAL = res
 12664  		}
 12665  		yyVAL.union = yyLOCAL
 12666  	case 391:
 12667  		yyDollar = yyS[yypt-10 : yypt+1]
 12668  		var yyLOCAL tree.Statement
 12669  //line mysql_sql.y:2958
 12670  		{
 12671  			var ifExists = yyDollar[3].boolValUnion()
 12672  			var name = yyDollar[4].tableNameUnion()
 12673  			var typ = yyDollar[5].alterTypeOptionUnion()
 12674  			var incrementBy = yyDollar[6].incrementByOptionUnion()
 12675  			var minValue = yyDollar[7].minValueOptionUnion()
 12676  			var maxValue = yyDollar[8].maxValueOptionUnion()
 12677  			var startWith = yyDollar[9].startWithOptionUnion()
 12678  			var cycle = yyDollar[10].cycleOptionUnion()
 12679  			yyLOCAL = tree.NewAlterSequence(
 12680  				ifExists,
 12681  				name,
 12682  				typ,
 12683  				incrementBy,
 12684  				minValue,
 12685  				maxValue,
 12686  				startWith,
 12687  				cycle,
 12688  			)
 12689  		}
 12690  		yyVAL.union = yyLOCAL
 12691  	case 392:
 12692  		yyDollar = yyS[yypt-7 : yypt+1]
 12693  		var yyLOCAL tree.Statement
 12694  //line mysql_sql.y:2981
 12695  		{
 12696  			var ifExists = yyDollar[3].boolValUnion()
 12697  			var name = yyDollar[4].tableNameUnion()
 12698  			var colNames = yyDollar[5].identifierListUnion()
 12699  			var asSource = yyDollar[7].selectUnion()
 12700  			yyLOCAL = tree.NewAlterView(ifExists, name, colNames, asSource)
 12701  		}
 12702  		yyVAL.union = yyLOCAL
 12703  	case 393:
 12704  		yyDollar = yyS[yypt-4 : yypt+1]
 12705  		var yyLOCAL tree.Statement
 12706  //line mysql_sql.y:2991
 12707  		{
 12708  			var table = yyDollar[3].tableNameUnion()
 12709  			alterTable := tree.NewAlterTable(table)
 12710  			alterTable.Options = yyDollar[4].alterTableOptionsUnion()
 12711  			yyLOCAL = alterTable
 12712  		}
 12713  		yyVAL.union = yyLOCAL
 12714  	case 394:
 12715  		yyDollar = yyS[yypt-4 : yypt+1]
 12716  		var yyLOCAL tree.Statement
 12717  //line mysql_sql.y:2998
 12718  		{
 12719  			var table = yyDollar[3].tableNameUnion()
 12720  			alterTable := tree.NewAlterTable(table)
 12721  			alterTable.PartitionOption = yyDollar[4].alterPartitionOptionUnion()
 12722  			yyLOCAL = alterTable
 12723  		}
 12724  		yyVAL.union = yyLOCAL
 12725  	case 395:
 12726  		yyDollar = yyS[yypt-1 : yypt+1]
 12727  		var yyLOCAL tree.AlterTableOptions
 12728  //line mysql_sql.y:3007
 12729  		{
 12730  			yyLOCAL = []tree.AlterTableOption{yyDollar[1].alterTableOptionUnion()}
 12731  		}
 12732  		yyVAL.union = yyLOCAL
 12733  	case 396:
 12734  		yyDollar = yyS[yypt-3 : yypt+1]
 12735  		var yyLOCAL tree.AlterTableOptions
 12736  //line mysql_sql.y:3011
 12737  		{
 12738  			yyLOCAL = append(yyDollar[1].alterTableOptionsUnion(), yyDollar[3].alterTableOptionUnion())
 12739  		}
 12740  		yyVAL.union = yyLOCAL
 12741  	case 397:
 12742  		yyDollar = yyS[yypt-1 : yypt+1]
 12743  		var yyLOCAL tree.AlterPartitionOption
 12744  //line mysql_sql.y:3017
 12745  		{
 12746  			yyLOCAL = yyDollar[1].alterPartitionOptionUnion()
 12747  		}
 12748  		yyVAL.union = yyLOCAL
 12749  	case 398:
 12750  		yyDollar = yyS[yypt-6 : yypt+1]
 12751  		var yyLOCAL tree.AlterPartitionOption
 12752  //line mysql_sql.y:3021
 12753  		{
 12754  			yyDollar[3].partitionByUnion().Num = uint64(yyDollar[4].int64ValUnion())
 12755  			var PartBy = yyDollar[3].partitionByUnion()
 12756  			var SubPartBy = yyDollar[5].partitionByUnion()
 12757  			var Partitions = yyDollar[6].partitionsUnion()
 12758  
 12759  			partitionDef := tree.NewPartitionOption(
 12760  				PartBy,
 12761  				SubPartBy,
 12762  				Partitions,
 12763  			)
 12764  
 12765  			var typ tree.AlterPartitionOptionType
 12766  
 12767  			opt := tree.NewAlterPartitionRedefinePartitionClause(
 12768  				typ,
 12769  				partitionDef,
 12770  			)
 12771  
 12772  			yyLOCAL = tree.AlterPartitionOption(opt)
 12773  		}
 12774  		yyVAL.union = yyLOCAL
 12775  	case 399:
 12776  		yyDollar = yyS[yypt-3 : yypt+1]
 12777  		var yyLOCAL tree.AlterPartitionOption
 12778  //line mysql_sql.y:3045
 12779  		{
 12780  			var typ = tree.AlterPartitionAddPartition
 12781  			var partitions = yyDollar[3].partitionsUnion()
 12782  			opt := tree.NewAlterPartitionAddPartitionClause(
 12783  				typ,
 12784  				partitions,
 12785  			)
 12786  			yyLOCAL = tree.AlterPartitionOption(opt)
 12787  		}
 12788  		yyVAL.union = yyLOCAL
 12789  	case 400:
 12790  		yyDollar = yyS[yypt-3 : yypt+1]
 12791  		var yyLOCAL tree.AlterPartitionOption
 12792  //line mysql_sql.y:3055
 12793  		{
 12794  			var typ = tree.AlterPartitionDropPartition
 12795  			var partitionNames = yyDollar[3].PartitionNamesUnion()
 12796  			opt := tree.NewAlterPartitionDropPartitionClause(
 12797  				typ,
 12798  				partitionNames,
 12799  			)
 12800  
 12801  			if yyDollar[3].PartitionNamesUnion() == nil {
 12802  				opt.OnAllPartitions = true
 12803  			} else {
 12804  				opt.PartitionNames = yyDollar[3].PartitionNamesUnion()
 12805  			}
 12806  			yyLOCAL = tree.AlterPartitionOption(opt)
 12807  		}
 12808  		yyVAL.union = yyLOCAL
 12809  	case 401:
 12810  		yyDollar = yyS[yypt-3 : yypt+1]
 12811  		var yyLOCAL tree.AlterPartitionOption
 12812  //line mysql_sql.y:3071
 12813  		{
 12814  			var typ = tree.AlterPartitionTruncatePartition
 12815  			var partitionNames = yyDollar[3].PartitionNamesUnion()
 12816  			opt := tree.NewAlterPartitionTruncatePartitionClause(
 12817  				typ,
 12818  				partitionNames,
 12819  			)
 12820  
 12821  			if yyDollar[3].PartitionNamesUnion() == nil {
 12822  				opt.OnAllPartitions = true
 12823  			} else {
 12824  				opt.PartitionNames = yyDollar[3].PartitionNamesUnion()
 12825  			}
 12826  			yyLOCAL = tree.AlterPartitionOption(opt)
 12827  		}
 12828  		yyVAL.union = yyLOCAL
 12829  	case 402:
 12830  		yyDollar = yyS[yypt-1 : yypt+1]
 12831  		var yyLOCAL tree.IdentifierList
 12832  //line mysql_sql.y:3089
 12833  		{
 12834  			yyLOCAL = nil
 12835  		}
 12836  		yyVAL.union = yyLOCAL
 12837  	case 403:
 12838  		yyDollar = yyS[yypt-1 : yypt+1]
 12839  		var yyLOCAL tree.IdentifierList
 12840  //line mysql_sql.y:3093
 12841  		{
 12842  			yyLOCAL = yyDollar[1].PartitionNamesUnion()
 12843  		}
 12844  		yyVAL.union = yyLOCAL
 12845  	case 404:
 12846  		yyDollar = yyS[yypt-1 : yypt+1]
 12847  		var yyLOCAL tree.IdentifierList
 12848  //line mysql_sql.y:3099
 12849  		{
 12850  			yyLOCAL = tree.IdentifierList{tree.Identifier(yyDollar[1].cstrUnion().Compare())}
 12851  		}
 12852  		yyVAL.union = yyLOCAL
 12853  	case 405:
 12854  		yyDollar = yyS[yypt-3 : yypt+1]
 12855  		var yyLOCAL tree.IdentifierList
 12856  //line mysql_sql.y:3103
 12857  		{
 12858  			yyLOCAL = append(yyDollar[1].PartitionNamesUnion(), tree.Identifier(yyDollar[3].cstrUnion().Compare()))
 12859  		}
 12860  		yyVAL.union = yyLOCAL
 12861  	case 406:
 12862  		yyDollar = yyS[yypt-2 : yypt+1]
 12863  		var yyLOCAL tree.AlterTableOption
 12864  //line mysql_sql.y:3109
 12865  		{
 12866  			var def = yyDollar[2].tableDefUnion()
 12867  			opt := tree.NewAlterOptionAdd(def)
 12868  			yyLOCAL = tree.AlterTableOption(opt)
 12869  		}
 12870  		yyVAL.union = yyLOCAL
 12871  	case 407:
 12872  		yyDollar = yyS[yypt-4 : yypt+1]
 12873  		var yyLOCAL tree.AlterTableOption
 12874  //line mysql_sql.y:3115
 12875  		{
 12876  			var typ = tree.AlterTableModifyColumn
 12877  			var newColumn = yyDollar[3].columnTableDefUnion()
 12878  			var position = yyDollar[4].alterColPositionUnion()
 12879  			opt := tree.NewAlterTableModifyColumnClause(typ, newColumn, position)
 12880  			yyLOCAL = tree.AlterTableOption(opt)
 12881  		}
 12882  		yyVAL.union = yyLOCAL
 12883  	case 408:
 12884  		yyDollar = yyS[yypt-5 : yypt+1]
 12885  		var yyLOCAL tree.AlterTableOption
 12886  //line mysql_sql.y:3123
 12887  		{
 12888  			// Type OldColumnName NewColumn Position
 12889  			var typ = tree.AlterTableChangeColumn
 12890  			var oldColumnName = yyDollar[3].unresolvedNameUnion()
 12891  			var newColumn = yyDollar[4].columnTableDefUnion()
 12892  			var position = yyDollar[5].alterColPositionUnion()
 12893  			opt := tree.NewAlterTableChangeColumnClause(typ, oldColumnName, newColumn, position)
 12894  			yyLOCAL = tree.AlterTableOption(opt)
 12895  		}
 12896  		yyVAL.union = yyLOCAL
 12897  	case 409:
 12898  		yyDollar = yyS[yypt-5 : yypt+1]
 12899  		var yyLOCAL tree.AlterTableOption
 12900  //line mysql_sql.y:3133
 12901  		{
 12902  			var typ = tree.AlterTableRenameColumn
 12903  			var oldColumnName = yyDollar[3].unresolvedNameUnion()
 12904  			var newColumnName = yyDollar[5].unresolvedNameUnion()
 12905  			opt := tree.NewAlterTableRenameColumnClause(typ, oldColumnName, newColumnName)
 12906  			yyLOCAL = tree.AlterTableOption(opt)
 12907  		}
 12908  		yyVAL.union = yyLOCAL
 12909  	case 410:
 12910  		yyDollar = yyS[yypt-6 : yypt+1]
 12911  		var yyLOCAL tree.AlterTableOption
 12912  //line mysql_sql.y:3141
 12913  		{
 12914  			var typ = tree.AlterTableAlterColumn
 12915  			var columnName = yyDollar[3].unresolvedNameUnion()
 12916  			var defaultExpr = tree.NewAttributeDefault(yyDollar[6].exprUnion())
 12917  			var visibility tree.VisibleType
 12918  			var optionType = tree.AlterColumnOptionSetDefault
 12919  			opt := tree.NewAlterTableAlterColumnClause(typ, columnName, defaultExpr, visibility, optionType)
 12920  			yyLOCAL = tree.AlterTableOption(opt)
 12921  		}
 12922  		yyVAL.union = yyLOCAL
 12923  	case 411:
 12924  		yyDollar = yyS[yypt-5 : yypt+1]
 12925  		var yyLOCAL tree.AlterTableOption
 12926  //line mysql_sql.y:3151
 12927  		{
 12928  			var typ = tree.AlterTableAlterColumn
 12929  			var columnName = yyDollar[3].unresolvedNameUnion()
 12930  			var defaultExpr = tree.NewAttributeDefault(nil)
 12931  			var visibility = yyDollar[5].indexVisibilityUnion()
 12932  			var optionType = tree.AlterColumnOptionSetVisibility
 12933  			opt := tree.NewAlterTableAlterColumnClause(typ, columnName, defaultExpr, visibility, optionType)
 12934  			yyLOCAL = tree.AlterTableOption(opt)
 12935  		}
 12936  		yyVAL.union = yyLOCAL
 12937  	case 412:
 12938  		yyDollar = yyS[yypt-5 : yypt+1]
 12939  		var yyLOCAL tree.AlterTableOption
 12940  //line mysql_sql.y:3161
 12941  		{
 12942  			var typ = tree.AlterTableAlterColumn
 12943  			var columnName = yyDollar[3].unresolvedNameUnion()
 12944  			var defaultExpr = tree.NewAttributeDefault(nil)
 12945  			var visibility tree.VisibleType
 12946  			var optionType = tree.AlterColumnOptionDropDefault
 12947  			opt := tree.NewAlterTableAlterColumnClause(typ, columnName, defaultExpr, visibility, optionType)
 12948  			yyLOCAL = tree.AlterTableOption(opt)
 12949  		}
 12950  		yyVAL.union = yyLOCAL
 12951  	case 413:
 12952  		yyDollar = yyS[yypt-3 : yypt+1]
 12953  		var yyLOCAL tree.AlterTableOption
 12954  //line mysql_sql.y:3171
 12955  		{
 12956  			var orderByClauseType = tree.AlterTableOrderByColumn
 12957  			var orderByColumnList = yyDollar[3].alterColumnOrderByUnion()
 12958  			opt := tree.NewAlterTableOrderByColumnClause(orderByClauseType, orderByColumnList)
 12959  			yyLOCAL = tree.AlterTableOption(opt)
 12960  		}
 12961  		yyVAL.union = yyLOCAL
 12962  	case 414:
 12963  		yyDollar = yyS[yypt-2 : yypt+1]
 12964  		var yyLOCAL tree.AlterTableOption
 12965  //line mysql_sql.y:3178
 12966  		{
 12967  			yyLOCAL = tree.AlterTableOption(yyDollar[2].alterTableOptionUnion())
 12968  		}
 12969  		yyVAL.union = yyLOCAL
 12970  	case 415:
 12971  		yyDollar = yyS[yypt-2 : yypt+1]
 12972  		var yyLOCAL tree.AlterTableOption
 12973  //line mysql_sql.y:3182
 12974  		{
 12975  			yyLOCAL = tree.AlterTableOption(yyDollar[2].alterTableOptionUnion())
 12976  		}
 12977  		yyVAL.union = yyLOCAL
 12978  	case 416:
 12979  		yyDollar = yyS[yypt-1 : yypt+1]
 12980  		var yyLOCAL tree.AlterTableOption
 12981  //line mysql_sql.y:3186
 12982  		{
 12983  			yyLOCAL = tree.AlterTableOption(yyDollar[1].tableOptionUnion())
 12984  		}
 12985  		yyVAL.union = yyLOCAL
 12986  	case 417:
 12987  		yyDollar = yyS[yypt-3 : yypt+1]
 12988  		var yyLOCAL tree.AlterTableOption
 12989  //line mysql_sql.y:3190
 12990  		{
 12991  			yyLOCAL = tree.AlterTableOption(yyDollar[3].alterTableOptionUnion())
 12992  		}
 12993  		yyVAL.union = yyLOCAL
 12994  	case 418:
 12995  		yyDollar = yyS[yypt-4 : yypt+1]
 12996  		var yyLOCAL tree.AlterTableOption
 12997  //line mysql_sql.y:3194
 12998  		{
 12999  			var column = yyDollar[3].columnTableDefUnion()
 13000  			var position = yyDollar[4].alterColPositionUnion()
 13001  			opt := tree.NewAlterAddCol(column, position)
 13002  			yyLOCAL = tree.AlterTableOption(opt)
 13003  		}
 13004  		yyVAL.union = yyLOCAL
 13005  	case 419:
 13006  		yyDollar = yyS[yypt-3 : yypt+1]
 13007  		var yyLOCAL tree.AlterTableOption
 13008  //line mysql_sql.y:3201
 13009  		{
 13010  			var checkType = yyDollar[1].str
 13011  			var enforce bool
 13012  			yyLOCAL = tree.NewAlterOptionAlterCheck(checkType, enforce)
 13013  		}
 13014  		yyVAL.union = yyLOCAL
 13015  	case 420:
 13016  		yyDollar = yyS[yypt-7 : yypt+1]
 13017  		var yyLOCAL tree.AlterTableOption
 13018  //line mysql_sql.y:3207
 13019  		{
 13020  			yyLOCAL = tree.NewTableOptionCharset(yyDollar[4].str)
 13021  		}
 13022  		yyVAL.union = yyLOCAL
 13023  	case 421:
 13024  		yyDollar = yyS[yypt-5 : yypt+1]
 13025  		var yyLOCAL tree.AlterTableOption
 13026  //line mysql_sql.y:3211
 13027  		{
 13028  			yyLOCAL = tree.NewTableOptionCharset(yyDollar[5].str)
 13029  		}
 13030  		yyVAL.union = yyLOCAL
 13031  	case 422:
 13032  		yyDollar = yyS[yypt-8 : yypt+1]
 13033  		var yyLOCAL tree.AlterTableOption
 13034  //line mysql_sql.y:3215
 13035  		{
 13036  			yyLOCAL = tree.NewTableOptionCharset(yyDollar[5].str)
 13037  		}
 13038  		yyVAL.union = yyLOCAL
 13039  	case 423:
 13040  		yyDollar = yyS[yypt-2 : yypt+1]
 13041  		var yyLOCAL tree.AlterTableOption
 13042  //line mysql_sql.y:3219
 13043  		{
 13044  			yyLOCAL = tree.NewTableOptionCharset(yyDollar[1].str)
 13045  		}
 13046  		yyVAL.union = yyLOCAL
 13047  	case 424:
 13048  		yyDollar = yyS[yypt-2 : yypt+1]
 13049  		var yyLOCAL tree.AlterTableOption
 13050  //line mysql_sql.y:3223
 13051  		{
 13052  			yyLOCAL = tree.NewTableOptionCharset(yyDollar[1].str)
 13053  		}
 13054  		yyVAL.union = yyLOCAL
 13055  	case 425:
 13056  		yyDollar = yyS[yypt-1 : yypt+1]
 13057  		var yyLOCAL tree.AlterTableOption
 13058  //line mysql_sql.y:3227
 13059  		{
 13060  			yyLOCAL = tree.NewTableOptionCharset(yyDollar[1].str)
 13061  		}
 13062  		yyVAL.union = yyLOCAL
 13063  	case 426:
 13064  		yyDollar = yyS[yypt-3 : yypt+1]
 13065  		var yyLOCAL tree.AlterTableOption
 13066  //line mysql_sql.y:3231
 13067  		{
 13068  			yyLOCAL = tree.NewTableOptionCharset(yyDollar[1].str)
 13069  		}
 13070  		yyVAL.union = yyLOCAL
 13071  	case 427:
 13072  		yyDollar = yyS[yypt-2 : yypt+1]
 13073  		var yyLOCAL tree.AlterTableOption
 13074  //line mysql_sql.y:3235
 13075  		{
 13076  			yyLOCAL = tree.NewTableOptionCharset(yyDollar[1].str)
 13077  		}
 13078  		yyVAL.union = yyLOCAL
 13079  	case 428:
 13080  		yyDollar = yyS[yypt-0 : yypt+1]
 13081  //line mysql_sql.y:3240
 13082  		{
 13083  			yyVAL.str = ""
 13084  		}
 13085  	case 445:
 13086  		yyDollar = yyS[yypt-0 : yypt+1]
 13087  //line mysql_sql.y:3271
 13088  		{
 13089  			yyVAL.str = ""
 13090  		}
 13091  	case 446:
 13092  		yyDollar = yyS[yypt-1 : yypt+1]
 13093  //line mysql_sql.y:3275
 13094  		{
 13095  			yyVAL.str = string("COLUMN")
 13096  		}
 13097  	case 447:
 13098  		yyDollar = yyS[yypt-0 : yypt+1]
 13099  		var yyLOCAL *tree.ColumnPosition
 13100  //line mysql_sql.y:3280
 13101  		{
 13102  			var typ = tree.ColumnPositionNone
 13103  			var relativeColumn *tree.UnresolvedName
 13104  			yyLOCAL = tree.NewColumnPosition(typ, relativeColumn)
 13105  		}
 13106  		yyVAL.union = yyLOCAL
 13107  	case 448:
 13108  		yyDollar = yyS[yypt-1 : yypt+1]
 13109  		var yyLOCAL *tree.ColumnPosition
 13110  //line mysql_sql.y:3286
 13111  		{
 13112  			var typ = tree.ColumnPositionFirst
 13113  			var relativeColumn *tree.UnresolvedName
 13114  			yyLOCAL = tree.NewColumnPosition(typ, relativeColumn)
 13115  		}
 13116  		yyVAL.union = yyLOCAL
 13117  	case 449:
 13118  		yyDollar = yyS[yypt-2 : yypt+1]
 13119  		var yyLOCAL *tree.ColumnPosition
 13120  //line mysql_sql.y:3292
 13121  		{
 13122  			var typ = tree.ColumnPositionAfter
 13123  			var relativeColumn = yyDollar[2].unresolvedNameUnion()
 13124  			yyLOCAL = tree.NewColumnPosition(typ, relativeColumn)
 13125  		}
 13126  		yyVAL.union = yyLOCAL
 13127  	case 450:
 13128  		yyDollar = yyS[yypt-1 : yypt+1]
 13129  		var yyLOCAL []*tree.AlterColumnOrder
 13130  //line mysql_sql.y:3300
 13131  		{
 13132  			yyLOCAL = []*tree.AlterColumnOrder{yyDollar[1].alterColumnOrderUnion()}
 13133  		}
 13134  		yyVAL.union = yyLOCAL
 13135  	case 451:
 13136  		yyDollar = yyS[yypt-3 : yypt+1]
 13137  		var yyLOCAL []*tree.AlterColumnOrder
 13138  //line mysql_sql.y:3304
 13139  		{
 13140  			yyLOCAL = append(yyDollar[1].alterColumnOrderByUnion(), yyDollar[3].alterColumnOrderUnion())
 13141  		}
 13142  		yyVAL.union = yyLOCAL
 13143  	case 452:
 13144  		yyDollar = yyS[yypt-2 : yypt+1]
 13145  		var yyLOCAL *tree.AlterColumnOrder
 13146  //line mysql_sql.y:3310
 13147  		{
 13148  			var column = yyDollar[1].unresolvedNameUnion()
 13149  			var direction = yyDollar[2].directionUnion()
 13150  			yyLOCAL = tree.NewAlterColumnOrder(column, direction)
 13151  		}
 13152  		yyVAL.union = yyLOCAL
 13153  	case 453:
 13154  		yyDollar = yyS[yypt-1 : yypt+1]
 13155  		var yyLOCAL tree.AlterTableOption
 13156  //line mysql_sql.y:3318
 13157  		{
 13158  			var name = yyDollar[1].unresolvedObjectNameUnion()
 13159  			yyLOCAL = tree.NewAlterOptionTableName(name)
 13160  		}
 13161  		yyVAL.union = yyLOCAL
 13162  	case 454:
 13163  		yyDollar = yyS[yypt-2 : yypt+1]
 13164  		var yyLOCAL tree.AlterTableOption
 13165  //line mysql_sql.y:3325
 13166  		{
 13167  			var dropType = tree.AlterTableDropIndex
 13168  			var name = tree.Identifier(yyDollar[2].cstrUnion().Compare())
 13169  			yyLOCAL = tree.NewAlterOptionDrop(dropType, name)
 13170  		}
 13171  		yyVAL.union = yyLOCAL
 13172  	case 455:
 13173  		yyDollar = yyS[yypt-2 : yypt+1]
 13174  		var yyLOCAL tree.AlterTableOption
 13175  //line mysql_sql.y:3331
 13176  		{
 13177  			var dropType = tree.AlterTableDropKey
 13178  			var name = tree.Identifier(yyDollar[2].cstrUnion().Compare())
 13179  			yyLOCAL = tree.NewAlterOptionDrop(dropType, name)
 13180  		}
 13181  		yyVAL.union = yyLOCAL
 13182  	case 456:
 13183  		yyDollar = yyS[yypt-1 : yypt+1]
 13184  		var yyLOCAL tree.AlterTableOption
 13185  //line mysql_sql.y:3337
 13186  		{
 13187  			var dropType = tree.AlterTableDropColumn
 13188  			var name = tree.Identifier(yyDollar[1].cstrUnion().Compare())
 13189  			yyLOCAL = tree.NewAlterOptionDrop(dropType, name)
 13190  		}
 13191  		yyVAL.union = yyLOCAL
 13192  	case 457:
 13193  		yyDollar = yyS[yypt-2 : yypt+1]
 13194  		var yyLOCAL tree.AlterTableOption
 13195  //line mysql_sql.y:3343
 13196  		{
 13197  			var dropType = tree.AlterTableDropColumn
 13198  			var name = tree.Identifier(yyDollar[2].cstrUnion().Compare())
 13199  			yyLOCAL = tree.NewAlterOptionDrop(dropType, name)
 13200  		}
 13201  		yyVAL.union = yyLOCAL
 13202  	case 458:
 13203  		yyDollar = yyS[yypt-3 : yypt+1]
 13204  		var yyLOCAL tree.AlterTableOption
 13205  //line mysql_sql.y:3349
 13206  		{
 13207  			var dropType = tree.AlterTableDropForeignKey
 13208  			var name = tree.Identifier(yyDollar[3].cstrUnion().Compare())
 13209  			yyLOCAL = tree.NewAlterOptionDrop(dropType, name)
 13210  
 13211  		}
 13212  		yyVAL.union = yyLOCAL
 13213  	case 459:
 13214  		yyDollar = yyS[yypt-2 : yypt+1]
 13215  		var yyLOCAL tree.AlterTableOption
 13216  //line mysql_sql.y:3356
 13217  		{
 13218  			yyLOCAL = &tree.AlterOptionDrop{
 13219  				Typ:  tree.AlterTableDropForeignKey,
 13220  				Name: tree.Identifier(yyDollar[2].cstrUnion().Compare()),
 13221  			}
 13222  		}
 13223  		yyVAL.union = yyLOCAL
 13224  	case 460:
 13225  		yyDollar = yyS[yypt-2 : yypt+1]
 13226  		var yyLOCAL tree.AlterTableOption
 13227  //line mysql_sql.y:3363
 13228  		{
 13229  			var dropType = tree.AlterTableDropPrimaryKey
 13230  			var name = tree.Identifier("")
 13231  			yyLOCAL = tree.NewAlterOptionDrop(dropType, name)
 13232  		}
 13233  		yyVAL.union = yyLOCAL
 13234  	case 461:
 13235  		yyDollar = yyS[yypt-3 : yypt+1]
 13236  		var yyLOCAL tree.AlterTableOption
 13237  //line mysql_sql.y:3371
 13238  		{
 13239  			var indexName = tree.Identifier(yyDollar[2].cstrUnion().Compare())
 13240  			var visibility = yyDollar[3].indexVisibilityUnion()
 13241  			yyLOCAL = tree.NewAlterOptionAlterIndex(indexName, visibility)
 13242  		}
 13243  		yyVAL.union = yyLOCAL
 13244  	case 462:
 13245  		yyDollar = yyS[yypt-6 : yypt+1]
 13246  		var yyLOCAL tree.AlterTableOption
 13247  //line mysql_sql.y:3377
 13248  		{
 13249  			val := int64(yyDollar[6].item.(int64))
 13250  			if val <= 0 {
 13251  				yylex.Error("LISTS should be greater than 0")
 13252  				return 1
 13253  			}
 13254  			var keyType = tree.INDEX_TYPE_IVFFLAT
 13255  			var algoParamList = val
 13256  			var name = tree.Identifier(yyDollar[2].cstrUnion().Compare())
 13257  			yyLOCAL = tree.NewAlterOptionAlterReIndex(name, keyType, algoParamList)
 13258  		}
 13259  		yyVAL.union = yyLOCAL
 13260  	case 463:
 13261  		yyDollar = yyS[yypt-3 : yypt+1]
 13262  		var yyLOCAL tree.AlterTableOption
 13263  //line mysql_sql.y:3389
 13264  		{
 13265  			var checkType = yyDollar[1].str
 13266  			var enforce = yyDollar[3].boolValUnion()
 13267  			yyLOCAL = tree.NewAlterOptionAlterCheck(checkType, enforce)
 13268  		}
 13269  		yyVAL.union = yyLOCAL
 13270  	case 464:
 13271  		yyDollar = yyS[yypt-3 : yypt+1]
 13272  		var yyLOCAL tree.AlterTableOption
 13273  //line mysql_sql.y:3395
 13274  		{
 13275  			var checkType = yyDollar[1].str
 13276  			var enforce = yyDollar[3].boolValUnion()
 13277  			yyLOCAL = tree.NewAlterOptionAlterCheck(checkType, enforce)
 13278  		}
 13279  		yyVAL.union = yyLOCAL
 13280  	case 465:
 13281  		yyDollar = yyS[yypt-1 : yypt+1]
 13282  		var yyLOCAL tree.VisibleType
 13283  //line mysql_sql.y:3403
 13284  		{
 13285  			yyLOCAL = tree.VISIBLE_TYPE_VISIBLE
 13286  		}
 13287  		yyVAL.union = yyLOCAL
 13288  	case 466:
 13289  		yyDollar = yyS[yypt-1 : yypt+1]
 13290  		var yyLOCAL tree.VisibleType
 13291  //line mysql_sql.y:3407
 13292  		{
 13293  			yyLOCAL = tree.VISIBLE_TYPE_INVISIBLE
 13294  		}
 13295  		yyVAL.union = yyLOCAL
 13296  	case 467:
 13297  		yyDollar = yyS[yypt-7 : yypt+1]
 13298  		var yyLOCAL tree.Statement
 13299  //line mysql_sql.y:3414
 13300  		{
 13301  			var ifExists = yyDollar[3].boolValUnion()
 13302  			var name = yyDollar[4].exprUnion()
 13303  			var authOption = yyDollar[5].alterAccountAuthOptionUnion()
 13304  			var statusOption = yyDollar[6].accountStatusUnion()
 13305  			var comment = yyDollar[7].accountCommentUnion()
 13306  
 13307  			yyLOCAL = tree.NewAlterAccount(
 13308  				ifExists,
 13309  				name,
 13310  				authOption,
 13311  				statusOption,
 13312  				comment,
 13313  			)
 13314  		}
 13315  		yyVAL.union = yyLOCAL
 13316  	case 468:
 13317  		yyDollar = yyS[yypt-7 : yypt+1]
 13318  		var yyLOCAL tree.Statement
 13319  //line mysql_sql.y:3432
 13320  		{
 13321  			var accountName = ""
 13322  			var dbName = yyDollar[3].str
 13323  			var isAccountLevel = false
 13324  			var updateConfig = yyDollar[7].str
 13325  
 13326  			yyLOCAL = tree.NewAlterDataBaseConfig(
 13327  				accountName,
 13328  				dbName,
 13329  				isAccountLevel,
 13330  				updateConfig,
 13331  			)
 13332  		}
 13333  		yyVAL.union = yyLOCAL
 13334  	case 469:
 13335  		yyDollar = yyS[yypt-8 : yypt+1]
 13336  		var yyLOCAL tree.Statement
 13337  //line mysql_sql.y:3446
 13338  		{
 13339  			var accountName = yyDollar[4].str
 13340  			var dbName = ""
 13341  			var isAccountLevel = true
 13342  			var updateConfig = yyDollar[8].str
 13343  
 13344  			yyLOCAL = tree.NewAlterDataBaseConfig(
 13345  				accountName,
 13346  				dbName,
 13347  				isAccountLevel,
 13348  				updateConfig,
 13349  			)
 13350  		}
 13351  		yyVAL.union = yyLOCAL
 13352  	case 470:
 13353  		yyDollar = yyS[yypt-8 : yypt+1]
 13354  		var yyLOCAL tree.Statement
 13355  //line mysql_sql.y:3460
 13356  		{
 13357  			assignments := []*tree.VarAssignmentExpr{
 13358  				{
 13359  					System: true,
 13360  					Global: true,
 13361  					Name:   yyDollar[6].str,
 13362  					Value:  yyDollar[8].exprUnion(),
 13363  				},
 13364  			}
 13365  			yyLOCAL = &tree.SetVar{Assignments: assignments}
 13366  		}
 13367  		yyVAL.union = yyLOCAL
 13368  	case 471:
 13369  		yyDollar = yyS[yypt-0 : yypt+1]
 13370  		var yyLOCAL tree.AlterAccountAuthOption
 13371  //line mysql_sql.y:3473
 13372  		{
 13373  			yyLOCAL = tree.AlterAccountAuthOption{
 13374  				Exist: false,
 13375  			}
 13376  		}
 13377  		yyVAL.union = yyLOCAL
 13378  	case 472:
 13379  		yyDollar = yyS[yypt-4 : yypt+1]
 13380  		var yyLOCAL tree.AlterAccountAuthOption
 13381  //line mysql_sql.y:3479
 13382  		{
 13383  			yyLOCAL = tree.AlterAccountAuthOption{
 13384  				Exist:          true,
 13385  				Equal:          yyDollar[2].str,
 13386  				AdminName:      yyDollar[3].exprUnion(),
 13387  				IdentifiedType: yyDollar[4].accountIdentifiedUnion(),
 13388  			}
 13389  		}
 13390  		yyVAL.union = yyLOCAL
 13391  	case 473:
 13392  		yyDollar = yyS[yypt-7 : yypt+1]
 13393  		var yyLOCAL tree.Statement
 13394  //line mysql_sql.y:3490
 13395  		{
 13396  			// Create temporary variables with meaningful names
 13397  			ifExists := yyDollar[3].boolValUnion()
 13398  			users := yyDollar[4].usersUnion()
 13399  			role := yyDollar[5].accountRoleUnion()
 13400  			miscOpt := yyDollar[6].userMiscOptionUnion()
 13401  			commentOrAttribute := yyDollar[7].accountCommentOrAttributeUnion()
 13402  
 13403  			// Use the temporary variables to call the function
 13404  			yyLOCAL = tree.NewAlterUser(ifExists, users, role, miscOpt, commentOrAttribute)
 13405  		}
 13406  		yyVAL.union = yyLOCAL
 13407  	case 474:
 13408  		yyDollar = yyS[yypt-0 : yypt+1]
 13409  		var yyLOCAL *tree.Role
 13410  //line mysql_sql.y:3503
 13411  		{
 13412  			yyLOCAL = nil
 13413  		}
 13414  		yyVAL.union = yyLOCAL
 13415  	case 475:
 13416  		yyDollar = yyS[yypt-3 : yypt+1]
 13417  		var yyLOCAL *tree.Role
 13418  //line mysql_sql.y:3507
 13419  		{
 13420  			var UserName = yyDollar[3].str
 13421  			yyLOCAL = tree.NewRole(
 13422  				UserName,
 13423  			)
 13424  		}
 13425  		yyVAL.union = yyLOCAL
 13426  	case 476:
 13427  		yyDollar = yyS[yypt-0 : yypt+1]
 13428  		var yyLOCAL bool
 13429  //line mysql_sql.y:3515
 13430  		{
 13431  			yyLOCAL = false
 13432  		}
 13433  		yyVAL.union = yyLOCAL
 13434  	case 477:
 13435  		yyDollar = yyS[yypt-2 : yypt+1]
 13436  		var yyLOCAL bool
 13437  //line mysql_sql.y:3519
 13438  		{
 13439  			yyLOCAL = true
 13440  		}
 13441  		yyVAL.union = yyLOCAL
 13442  	case 478:
 13443  		yyDollar = yyS[yypt-0 : yypt+1]
 13444  		var yyLOCAL tree.UserMiscOption
 13445  //line mysql_sql.y:3524
 13446  		{
 13447  			yyLOCAL = nil
 13448  		}
 13449  		yyVAL.union = yyLOCAL
 13450  	case 479:
 13451  		yyDollar = yyS[yypt-1 : yypt+1]
 13452  		var yyLOCAL tree.UserMiscOption
 13453  //line mysql_sql.y:3528
 13454  		{
 13455  			yyLOCAL = yyDollar[1].userMiscOptionUnion()
 13456  		}
 13457  		yyVAL.union = yyLOCAL
 13458  	case 480:
 13459  		yyDollar = yyS[yypt-1 : yypt+1]
 13460  		var yyLOCAL tree.UserMiscOption
 13461  //line mysql_sql.y:3544
 13462  		{
 13463  			yyLOCAL = tree.NewUserMiscOptionAccountUnlock()
 13464  		}
 13465  		yyVAL.union = yyLOCAL
 13466  	case 481:
 13467  		yyDollar = yyS[yypt-1 : yypt+1]
 13468  		var yyLOCAL tree.UserMiscOption
 13469  //line mysql_sql.y:3548
 13470  		{
 13471  			yyLOCAL = tree.NewUserMiscOptionAccountLock()
 13472  		}
 13473  		yyVAL.union = yyLOCAL
 13474  	case 482:
 13475  		yyDollar = yyS[yypt-1 : yypt+1]
 13476  		var yyLOCAL tree.UserMiscOption
 13477  //line mysql_sql.y:3552
 13478  		{
 13479  			yyLOCAL = tree.NewUserMiscOptionPasswordExpireNone()
 13480  		}
 13481  		yyVAL.union = yyLOCAL
 13482  	case 483:
 13483  		yyDollar = yyS[yypt-4 : yypt+1]
 13484  		var yyLOCAL tree.UserMiscOption
 13485  //line mysql_sql.y:3556
 13486  		{
 13487  			var Value = yyDollar[3].item.(int64)
 13488  			yyLOCAL = tree.NewUserMiscOptionPasswordExpireInterval(
 13489  				Value,
 13490  			)
 13491  		}
 13492  		yyVAL.union = yyLOCAL
 13493  	case 484:
 13494  		yyDollar = yyS[yypt-2 : yypt+1]
 13495  		var yyLOCAL tree.UserMiscOption
 13496  //line mysql_sql.y:3563
 13497  		{
 13498  			yyLOCAL = tree.NewUserMiscOptionPasswordExpireNever()
 13499  		}
 13500  		yyVAL.union = yyLOCAL
 13501  	case 485:
 13502  		yyDollar = yyS[yypt-2 : yypt+1]
 13503  		var yyLOCAL tree.UserMiscOption
 13504  //line mysql_sql.y:3567
 13505  		{
 13506  			yyLOCAL = tree.NewUserMiscOptionPasswordExpireDefault()
 13507  		}
 13508  		yyVAL.union = yyLOCAL
 13509  	case 486:
 13510  		yyDollar = yyS[yypt-3 : yypt+1]
 13511  		var yyLOCAL tree.UserMiscOption
 13512  //line mysql_sql.y:3571
 13513  		{
 13514  			yyLOCAL = tree.NewUserMiscOptionPasswordHistoryDefault()
 13515  		}
 13516  		yyVAL.union = yyLOCAL
 13517  	case 487:
 13518  		yyDollar = yyS[yypt-3 : yypt+1]
 13519  		var yyLOCAL tree.UserMiscOption
 13520  //line mysql_sql.y:3575
 13521  		{
 13522  			var Value = yyDollar[3].item.(int64)
 13523  			yyLOCAL = tree.NewUserMiscOptionPasswordHistoryCount(
 13524  				Value,
 13525  			)
 13526  		}
 13527  		yyVAL.union = yyLOCAL
 13528  	case 488:
 13529  		yyDollar = yyS[yypt-4 : yypt+1]
 13530  		var yyLOCAL tree.UserMiscOption
 13531  //line mysql_sql.y:3582
 13532  		{
 13533  			yyLOCAL = tree.NewUserMiscOptionPasswordReuseIntervalDefault()
 13534  		}
 13535  		yyVAL.union = yyLOCAL
 13536  	case 489:
 13537  		yyDollar = yyS[yypt-5 : yypt+1]
 13538  		var yyLOCAL tree.UserMiscOption
 13539  //line mysql_sql.y:3586
 13540  		{
 13541  			var Value = yyDollar[4].item.(int64)
 13542  			yyLOCAL = tree.NewUserMiscOptionPasswordReuseIntervalCount(
 13543  				Value,
 13544  			)
 13545  		}
 13546  		yyVAL.union = yyLOCAL
 13547  	case 490:
 13548  		yyDollar = yyS[yypt-3 : yypt+1]
 13549  		var yyLOCAL tree.UserMiscOption
 13550  //line mysql_sql.y:3593
 13551  		{
 13552  			yyLOCAL = tree.NewUserMiscOptionPasswordRequireCurrentNone()
 13553  		}
 13554  		yyVAL.union = yyLOCAL
 13555  	case 491:
 13556  		yyDollar = yyS[yypt-4 : yypt+1]
 13557  		var yyLOCAL tree.UserMiscOption
 13558  //line mysql_sql.y:3597
 13559  		{
 13560  			yyLOCAL = tree.NewUserMiscOptionPasswordRequireCurrentDefault()
 13561  		}
 13562  		yyVAL.union = yyLOCAL
 13563  	case 492:
 13564  		yyDollar = yyS[yypt-4 : yypt+1]
 13565  		var yyLOCAL tree.UserMiscOption
 13566  //line mysql_sql.y:3601
 13567  		{
 13568  			yyLOCAL = tree.NewUserMiscOptionPasswordRequireCurrentOptional()
 13569  		}
 13570  		yyVAL.union = yyLOCAL
 13571  	case 493:
 13572  		yyDollar = yyS[yypt-2 : yypt+1]
 13573  		var yyLOCAL tree.UserMiscOption
 13574  //line mysql_sql.y:3605
 13575  		{
 13576  			var Value = yyDollar[2].item.(int64)
 13577  			yyLOCAL = tree.NewUserMiscOptionFailedLoginAttempts(
 13578  				Value,
 13579  			)
 13580  		}
 13581  		yyVAL.union = yyLOCAL
 13582  	case 494:
 13583  		yyDollar = yyS[yypt-2 : yypt+1]
 13584  		var yyLOCAL tree.UserMiscOption
 13585  //line mysql_sql.y:3612
 13586  		{
 13587  			var Value = yyDollar[2].item.(int64)
 13588  			yyLOCAL = tree.NewUserMiscOptionPasswordLockTimeCount(
 13589  				Value,
 13590  			)
 13591  		}
 13592  		yyVAL.union = yyLOCAL
 13593  	case 495:
 13594  		yyDollar = yyS[yypt-2 : yypt+1]
 13595  		var yyLOCAL tree.UserMiscOption
 13596  //line mysql_sql.y:3619
 13597  		{
 13598  			yyLOCAL = tree.NewUserMiscOptionPasswordLockTimeUnbounded()
 13599  		}
 13600  		yyVAL.union = yyLOCAL
 13601  	case 496:
 13602  		yyDollar = yyS[yypt-3 : yypt+1]
 13603  //line mysql_sql.y:3625
 13604  		{
 13605  			yyVAL.item = nil
 13606  		}
 13607  	case 497:
 13608  		yyDollar = yyS[yypt-0 : yypt+1]
 13609  //line mysql_sql.y:3630
 13610  		{
 13611  			yyVAL.item = nil
 13612  		}
 13613  	case 531:
 13614  		yyDollar = yyS[yypt-4 : yypt+1]
 13615  		var yyLOCAL tree.Statement
 13616  //line mysql_sql.y:3673
 13617  		{
 13618  			yyLOCAL = &tree.ShowCollation{
 13619  				Like:  yyDollar[3].comparisionExprUnion(),
 13620  				Where: yyDollar[4].whereUnion(),
 13621  			}
 13622  		}
 13623  		yyVAL.union = yyLOCAL
 13624  	case 532:
 13625  		yyDollar = yyS[yypt-3 : yypt+1]
 13626  		var yyLOCAL tree.Statement
 13627  //line mysql_sql.y:3682
 13628  		{
 13629  			yyLOCAL = &tree.ShowStages{
 13630  				Like: yyDollar[3].comparisionExprUnion(),
 13631  			}
 13632  		}
 13633  		yyVAL.union = yyLOCAL
 13634  	case 533:
 13635  		yyDollar = yyS[yypt-3 : yypt+1]
 13636  		var yyLOCAL tree.Statement
 13637  //line mysql_sql.y:3690
 13638  		{
 13639  			yyLOCAL = &tree.ShowSnapShots{
 13640  				Where: yyDollar[3].whereUnion(),
 13641  			}
 13642  		}
 13643  		yyVAL.union = yyLOCAL
 13644  	case 534:
 13645  		yyDollar = yyS[yypt-2 : yypt+1]
 13646  		var yyLOCAL tree.Statement
 13647  //line mysql_sql.y:3698
 13648  		{
 13649  			yyLOCAL = &tree.ShowGrants{ShowGrantType: tree.GrantForUser}
 13650  		}
 13651  		yyVAL.union = yyLOCAL
 13652  	case 535:
 13653  		yyDollar = yyS[yypt-5 : yypt+1]
 13654  		var yyLOCAL tree.Statement
 13655  //line mysql_sql.y:3702
 13656  		{
 13657  			yyLOCAL = &tree.ShowGrants{Username: yyDollar[4].usernameRecordUnion().Username, Hostname: yyDollar[4].usernameRecordUnion().Hostname, Roles: yyDollar[5].rolesUnion(), ShowGrantType: tree.GrantForUser}
 13658  		}
 13659  		yyVAL.union = yyLOCAL
 13660  	case 536:
 13661  		yyDollar = yyS[yypt-5 : yypt+1]
 13662  		var yyLOCAL tree.Statement
 13663  //line mysql_sql.y:3706
 13664  		{
 13665  			s := &tree.ShowGrants{}
 13666  			roles := []*tree.Role{
 13667  				{UserName: yyDollar[5].cstrUnion().Compare()},
 13668  			}
 13669  			s.Roles = roles
 13670  			s.ShowGrantType = tree.GrantForRole
 13671  			yyLOCAL = s
 13672  		}
 13673  		yyVAL.union = yyLOCAL
 13674  	case 537:
 13675  		yyDollar = yyS[yypt-0 : yypt+1]
 13676  		var yyLOCAL []*tree.Role
 13677  //line mysql_sql.y:3717
 13678  		{
 13679  			yyLOCAL = nil
 13680  		}
 13681  		yyVAL.union = yyLOCAL
 13682  	case 538:
 13683  		yyDollar = yyS[yypt-2 : yypt+1]
 13684  		var yyLOCAL []*tree.Role
 13685  //line mysql_sql.y:3721
 13686  		{
 13687  			yyLOCAL = yyDollar[2].rolesUnion()
 13688  		}
 13689  		yyVAL.union = yyLOCAL
 13690  	case 539:
 13691  		yyDollar = yyS[yypt-7 : yypt+1]
 13692  		var yyLOCAL tree.Statement
 13693  //line mysql_sql.y:3727
 13694  		{
 13695  			yyLOCAL = &tree.ShowTableStatus{DbName: yyDollar[5].str, Like: yyDollar[6].comparisionExprUnion(), Where: yyDollar[7].whereUnion()}
 13696  		}
 13697  		yyVAL.union = yyLOCAL
 13698  	case 540:
 13699  		yyDollar = yyS[yypt-0 : yypt+1]
 13700  //line mysql_sql.y:3732
 13701  		{
 13702  		}
 13703  	case 542:
 13704  		yyDollar = yyS[yypt-0 : yypt+1]
 13705  //line mysql_sql.y:3736
 13706  		{
 13707  		}
 13708  	case 544:
 13709  		yyDollar = yyS[yypt-5 : yypt+1]
 13710  		var yyLOCAL tree.Statement
 13711  //line mysql_sql.y:3741
 13712  		{
 13713  			yyLOCAL = &tree.ShowFunctionOrProcedureStatus{
 13714  				Like:       yyDollar[4].comparisionExprUnion(),
 13715  				Where:      yyDollar[5].whereUnion(),
 13716  				IsFunction: true,
 13717  			}
 13718  		}
 13719  		yyVAL.union = yyLOCAL
 13720  	case 545:
 13721  		yyDollar = yyS[yypt-5 : yypt+1]
 13722  		var yyLOCAL tree.Statement
 13723  //line mysql_sql.y:3751
 13724  		{
 13725  			yyLOCAL = &tree.ShowFunctionOrProcedureStatus{
 13726  				Like:       yyDollar[4].comparisionExprUnion(),
 13727  				Where:      yyDollar[5].whereUnion(),
 13728  				IsFunction: false,
 13729  			}
 13730  		}
 13731  		yyVAL.union = yyLOCAL
 13732  	case 546:
 13733  		yyDollar = yyS[yypt-3 : yypt+1]
 13734  		var yyLOCAL tree.Statement
 13735  //line mysql_sql.y:3761
 13736  		{
 13737  			yyLOCAL = &tree.ShowRolesStmt{
 13738  				Like: yyDollar[3].comparisionExprUnion(),
 13739  			}
 13740  		}
 13741  		yyVAL.union = yyLOCAL
 13742  	case 547:
 13743  		yyDollar = yyS[yypt-3 : yypt+1]
 13744  		var yyLOCAL tree.Statement
 13745  //line mysql_sql.y:3769
 13746  		{
 13747  			yyLOCAL = &tree.ShowNodeList{}
 13748  		}
 13749  		yyVAL.union = yyLOCAL
 13750  	case 548:
 13751  		yyDollar = yyS[yypt-2 : yypt+1]
 13752  		var yyLOCAL tree.Statement
 13753  //line mysql_sql.y:3775
 13754  		{
 13755  			yyLOCAL = &tree.ShowLocks{}
 13756  		}
 13757  		yyVAL.union = yyLOCAL
 13758  	case 549:
 13759  		yyDollar = yyS[yypt-4 : yypt+1]
 13760  		var yyLOCAL tree.Statement
 13761  //line mysql_sql.y:3781
 13762  		{
 13763  			yyLOCAL = &tree.ShowTableNumber{DbName: yyDollar[4].str}
 13764  		}
 13765  		yyVAL.union = yyLOCAL
 13766  	case 550:
 13767  		yyDollar = yyS[yypt-4 : yypt+1]
 13768  		var yyLOCAL tree.Statement
 13769  //line mysql_sql.y:3787
 13770  		{
 13771  			yyLOCAL = &tree.ShowColumnNumber{Table: yyDollar[3].unresolvedObjectNameUnion(), DbName: yyDollar[4].str}
 13772  		}
 13773  		yyVAL.union = yyLOCAL
 13774  	case 551:
 13775  		yyDollar = yyS[yypt-4 : yypt+1]
 13776  		var yyLOCAL tree.Statement
 13777  //line mysql_sql.y:3793
 13778  		{
 13779  			yyLOCAL = &tree.ShowTableValues{Table: yyDollar[3].unresolvedObjectNameUnion(), DbName: yyDollar[4].str}
 13780  		}
 13781  		yyVAL.union = yyLOCAL
 13782  	case 552:
 13783  		yyDollar = yyS[yypt-4 : yypt+1]
 13784  		var yyLOCAL tree.Statement
 13785  //line mysql_sql.y:3799
 13786  		{
 13787  			yyLOCAL = &tree.ShowTableSize{Table: yyDollar[3].unresolvedObjectNameUnion(), DbName: yyDollar[4].str}
 13788  		}
 13789  		yyVAL.union = yyLOCAL
 13790  	case 553:
 13791  		yyDollar = yyS[yypt-4 : yypt+1]
 13792  		var yyLOCAL tree.Statement
 13793  //line mysql_sql.y:3805
 13794  		{
 13795  			s := yyDollar[2].statementUnion().(*tree.ShowTarget)
 13796  			s.Like = yyDollar[3].comparisionExprUnion()
 13797  			s.Where = yyDollar[4].whereUnion()
 13798  			yyLOCAL = s
 13799  		}
 13800  		yyVAL.union = yyLOCAL
 13801  	case 554:
 13802  		yyDollar = yyS[yypt-1 : yypt+1]
 13803  		var yyLOCAL tree.Statement
 13804  //line mysql_sql.y:3814
 13805  		{
 13806  			yyLOCAL = &tree.ShowTarget{Type: tree.ShowConfig}
 13807  		}
 13808  		yyVAL.union = yyLOCAL
 13809  	case 555:
 13810  		yyDollar = yyS[yypt-1 : yypt+1]
 13811  		var yyLOCAL tree.Statement
 13812  //line mysql_sql.y:3818
 13813  		{
 13814  			yyLOCAL = &tree.ShowTarget{Type: tree.ShowCharset}
 13815  		}
 13816  		yyVAL.union = yyLOCAL
 13817  	case 556:
 13818  		yyDollar = yyS[yypt-1 : yypt+1]
 13819  		var yyLOCAL tree.Statement
 13820  //line mysql_sql.y:3822
 13821  		{
 13822  			yyLOCAL = &tree.ShowTarget{Type: tree.ShowEngines}
 13823  		}
 13824  		yyVAL.union = yyLOCAL
 13825  	case 557:
 13826  		yyDollar = yyS[yypt-3 : yypt+1]
 13827  		var yyLOCAL tree.Statement
 13828  //line mysql_sql.y:3826
 13829  		{
 13830  			yyLOCAL = &tree.ShowTarget{DbName: yyDollar[3].str, Type: tree.ShowTriggers}
 13831  		}
 13832  		yyVAL.union = yyLOCAL
 13833  	case 558:
 13834  		yyDollar = yyS[yypt-3 : yypt+1]
 13835  		var yyLOCAL tree.Statement
 13836  //line mysql_sql.y:3830
 13837  		{
 13838  			yyLOCAL = &tree.ShowTarget{DbName: yyDollar[3].str, Type: tree.ShowEvents}
 13839  		}
 13840  		yyVAL.union = yyLOCAL
 13841  	case 559:
 13842  		yyDollar = yyS[yypt-1 : yypt+1]
 13843  		var yyLOCAL tree.Statement
 13844  //line mysql_sql.y:3834
 13845  		{
 13846  			yyLOCAL = &tree.ShowTarget{Type: tree.ShowPlugins}
 13847  		}
 13848  		yyVAL.union = yyLOCAL
 13849  	case 560:
 13850  		yyDollar = yyS[yypt-1 : yypt+1]
 13851  		var yyLOCAL tree.Statement
 13852  //line mysql_sql.y:3838
 13853  		{
 13854  			yyLOCAL = &tree.ShowTarget{Type: tree.ShowPrivileges}
 13855  		}
 13856  		yyVAL.union = yyLOCAL
 13857  	case 561:
 13858  		yyDollar = yyS[yypt-1 : yypt+1]
 13859  		var yyLOCAL tree.Statement
 13860  //line mysql_sql.y:3842
 13861  		{
 13862  			yyLOCAL = &tree.ShowTarget{Type: tree.ShowProfiles}
 13863  		}
 13864  		yyVAL.union = yyLOCAL
 13865  	case 562:
 13866  		yyDollar = yyS[yypt-6 : yypt+1]
 13867  		var yyLOCAL tree.Statement
 13868  //line mysql_sql.y:3848
 13869  		{
 13870  			yyLOCAL = &tree.ShowIndex{
 13871  				TableName: yyDollar[4].unresolvedObjectNameUnion(),
 13872  				DbName:    yyDollar[5].str,
 13873  				Where:     yyDollar[6].whereUnion(),
 13874  			}
 13875  		}
 13876  		yyVAL.union = yyLOCAL
 13877  	case 563:
 13878  		yyDollar = yyS[yypt-0 : yypt+1]
 13879  //line mysql_sql.y:3857
 13880  		{
 13881  		}
 13882  	case 564:
 13883  		yyDollar = yyS[yypt-1 : yypt+1]
 13884  //line mysql_sql.y:3859
 13885  		{
 13886  		}
 13887  	case 568:
 13888  		yyDollar = yyS[yypt-5 : yypt+1]
 13889  		var yyLOCAL tree.Statement
 13890  //line mysql_sql.y:3868
 13891  		{
 13892  			yyLOCAL = &tree.ShowVariables{
 13893  				Global: yyDollar[2].boolValUnion(),
 13894  				Like:   yyDollar[4].comparisionExprUnion(),
 13895  				Where:  yyDollar[5].whereUnion(),
 13896  			}
 13897  		}
 13898  		yyVAL.union = yyLOCAL
 13899  	case 569:
 13900  		yyDollar = yyS[yypt-5 : yypt+1]
 13901  		var yyLOCAL tree.Statement
 13902  //line mysql_sql.y:3878
 13903  		{
 13904  			yyLOCAL = &tree.ShowStatus{
 13905  				Global: yyDollar[2].boolValUnion(),
 13906  				Like:   yyDollar[4].comparisionExprUnion(),
 13907  				Where:  yyDollar[5].whereUnion(),
 13908  			}
 13909  		}
 13910  		yyVAL.union = yyLOCAL
 13911  	case 570:
 13912  		yyDollar = yyS[yypt-0 : yypt+1]
 13913  		var yyLOCAL bool
 13914  //line mysql_sql.y:3887
 13915  		{
 13916  			yyLOCAL = false
 13917  		}
 13918  		yyVAL.union = yyLOCAL
 13919  	case 571:
 13920  		yyDollar = yyS[yypt-1 : yypt+1]
 13921  		var yyLOCAL bool
 13922  //line mysql_sql.y:3891
 13923  		{
 13924  			yyLOCAL = true
 13925  		}
 13926  		yyVAL.union = yyLOCAL
 13927  	case 572:
 13928  		yyDollar = yyS[yypt-1 : yypt+1]
 13929  		var yyLOCAL bool
 13930  //line mysql_sql.y:3895
 13931  		{
 13932  			yyLOCAL = false
 13933  		}
 13934  		yyVAL.union = yyLOCAL
 13935  	case 573:
 13936  		yyDollar = yyS[yypt-3 : yypt+1]
 13937  		var yyLOCAL tree.Statement
 13938  //line mysql_sql.y:3901
 13939  		{
 13940  			yyLOCAL = &tree.ShowWarnings{}
 13941  		}
 13942  		yyVAL.union = yyLOCAL
 13943  	case 574:
 13944  		yyDollar = yyS[yypt-3 : yypt+1]
 13945  		var yyLOCAL tree.Statement
 13946  //line mysql_sql.y:3907
 13947  		{
 13948  			yyLOCAL = &tree.ShowErrors{}
 13949  		}
 13950  		yyVAL.union = yyLOCAL
 13951  	case 575:
 13952  		yyDollar = yyS[yypt-3 : yypt+1]
 13953  		var yyLOCAL tree.Statement
 13954  //line mysql_sql.y:3913
 13955  		{
 13956  			yyLOCAL = &tree.ShowProcessList{Full: yyDollar[2].fullOptUnion()}
 13957  		}
 13958  		yyVAL.union = yyLOCAL
 13959  	case 576:
 13960  		yyDollar = yyS[yypt-4 : yypt+1]
 13961  		var yyLOCAL tree.Statement
 13962  //line mysql_sql.y:3919
 13963  		{
 13964  			yyLOCAL = &tree.ShowSequences{
 13965  				DBName: yyDollar[3].str,
 13966  				Where:  yyDollar[4].whereUnion(),
 13967  			}
 13968  		}
 13969  		yyVAL.union = yyLOCAL
 13970  	case 577:
 13971  		yyDollar = yyS[yypt-7 : yypt+1]
 13972  		var yyLOCAL tree.Statement
 13973  //line mysql_sql.y:3928
 13974  		{
 13975  			yyLOCAL = &tree.ShowTables{
 13976  				Open:         false,
 13977  				Full:         yyDollar[2].fullOptUnion(),
 13978  				DBName:       yyDollar[4].str,
 13979  				Like:         yyDollar[5].comparisionExprUnion(),
 13980  				Where:        yyDollar[6].whereUnion(),
 13981  				SnapshotName: yyDollar[7].str,
 13982  			}
 13983  		}
 13984  		yyVAL.union = yyLOCAL
 13985  	case 578:
 13986  		yyDollar = yyS[yypt-7 : yypt+1]
 13987  		var yyLOCAL tree.Statement
 13988  //line mysql_sql.y:3939
 13989  		{
 13990  			yyLOCAL = &tree.ShowTables{
 13991  				Open:   true,
 13992  				Full:   yyDollar[3].fullOptUnion(),
 13993  				DBName: yyDollar[5].str,
 13994  				Like:   yyDollar[6].comparisionExprUnion(),
 13995  				Where:  yyDollar[7].whereUnion(),
 13996  			}
 13997  		}
 13998  		yyVAL.union = yyLOCAL
 13999  	case 579:
 14000  		yyDollar = yyS[yypt-5 : yypt+1]
 14001  		var yyLOCAL tree.Statement
 14002  //line mysql_sql.y:3951
 14003  		{
 14004  			yyLOCAL = &tree.ShowDatabases{
 14005  				Like:         yyDollar[3].comparisionExprUnion(),
 14006  				Where:        yyDollar[4].whereUnion(),
 14007  				SnapshotName: yyDollar[5].str,
 14008  			}
 14009  		}
 14010  		yyVAL.union = yyLOCAL
 14011  	case 580:
 14012  		yyDollar = yyS[yypt-4 : yypt+1]
 14013  		var yyLOCAL tree.Statement
 14014  //line mysql_sql.y:3959
 14015  		{
 14016  			yyLOCAL = &tree.ShowDatabases{Like: yyDollar[3].comparisionExprUnion(), Where: yyDollar[4].whereUnion()}
 14017  		}
 14018  		yyVAL.union = yyLOCAL
 14019  	case 581:
 14020  		yyDollar = yyS[yypt-7 : yypt+1]
 14021  		var yyLOCAL tree.Statement
 14022  //line mysql_sql.y:3965
 14023  		{
 14024  			yyLOCAL = &tree.ShowColumns{
 14025  				Ext:   false,
 14026  				Full:  yyDollar[2].fullOptUnion(),
 14027  				Table: yyDollar[4].unresolvedObjectNameUnion(),
 14028  				// colName: $3,
 14029  				DBName: yyDollar[5].str,
 14030  				Like:   yyDollar[6].comparisionExprUnion(),
 14031  				Where:  yyDollar[7].whereUnion(),
 14032  			}
 14033  		}
 14034  		yyVAL.union = yyLOCAL
 14035  	case 582:
 14036  		yyDollar = yyS[yypt-8 : yypt+1]
 14037  		var yyLOCAL tree.Statement
 14038  //line mysql_sql.y:3977
 14039  		{
 14040  			yyLOCAL = &tree.ShowColumns{
 14041  				Ext:   true,
 14042  				Full:  yyDollar[3].fullOptUnion(),
 14043  				Table: yyDollar[5].unresolvedObjectNameUnion(),
 14044  				// colName: $3,
 14045  				DBName: yyDollar[6].str,
 14046  				Like:   yyDollar[7].comparisionExprUnion(),
 14047  				Where:  yyDollar[8].whereUnion(),
 14048  			}
 14049  		}
 14050  		yyVAL.union = yyLOCAL
 14051  	case 583:
 14052  		yyDollar = yyS[yypt-3 : yypt+1]
 14053  		var yyLOCAL tree.Statement
 14054  //line mysql_sql.y:3991
 14055  		{
 14056  			yyLOCAL = &tree.ShowAccounts{Like: yyDollar[3].comparisionExprUnion()}
 14057  		}
 14058  		yyVAL.union = yyLOCAL
 14059  	case 584:
 14060  		yyDollar = yyS[yypt-3 : yypt+1]
 14061  		var yyLOCAL tree.Statement
 14062  //line mysql_sql.y:3997
 14063  		{
 14064  			yyLOCAL = &tree.ShowPublications{Like: yyDollar[3].comparisionExprUnion()}
 14065  		}
 14066  		yyVAL.union = yyLOCAL
 14067  	case 585:
 14068  		yyDollar = yyS[yypt-2 : yypt+1]
 14069  		var yyLOCAL tree.Statement
 14070  //line mysql_sql.y:4003
 14071  		{
 14072  			yyLOCAL = &tree.ShowAccountUpgrade{}
 14073  		}
 14074  		yyVAL.union = yyLOCAL
 14075  	case 586:
 14076  		yyDollar = yyS[yypt-3 : yypt+1]
 14077  		var yyLOCAL tree.Statement
 14078  //line mysql_sql.y:4010
 14079  		{
 14080  			yyLOCAL = &tree.ShowSubscriptions{Like: yyDollar[3].comparisionExprUnion()}
 14081  		}
 14082  		yyVAL.union = yyLOCAL
 14083  	case 587:
 14084  		yyDollar = yyS[yypt-4 : yypt+1]
 14085  		var yyLOCAL tree.Statement
 14086  //line mysql_sql.y:4014
 14087  		{
 14088  			yyLOCAL = &tree.ShowSubscriptions{All: true, Like: yyDollar[4].comparisionExprUnion()}
 14089  		}
 14090  		yyVAL.union = yyLOCAL
 14091  	case 588:
 14092  		yyDollar = yyS[yypt-0 : yypt+1]
 14093  		var yyLOCAL *tree.ComparisonExpr
 14094  //line mysql_sql.y:4019
 14095  		{
 14096  			yyLOCAL = nil
 14097  		}
 14098  		yyVAL.union = yyLOCAL
 14099  	case 589:
 14100  		yyDollar = yyS[yypt-2 : yypt+1]
 14101  		var yyLOCAL *tree.ComparisonExpr
 14102  //line mysql_sql.y:4023
 14103  		{
 14104  			yyLOCAL = tree.NewComparisonExpr(tree.LIKE, nil, yyDollar[2].exprUnion())
 14105  		}
 14106  		yyVAL.union = yyLOCAL
 14107  	case 590:
 14108  		yyDollar = yyS[yypt-2 : yypt+1]
 14109  		var yyLOCAL *tree.ComparisonExpr
 14110  //line mysql_sql.y:4027
 14111  		{
 14112  			yyLOCAL = tree.NewComparisonExpr(tree.ILIKE, nil, yyDollar[2].exprUnion())
 14113  		}
 14114  		yyVAL.union = yyLOCAL
 14115  	case 591:
 14116  		yyDollar = yyS[yypt-0 : yypt+1]
 14117  //line mysql_sql.y:4032
 14118  		{
 14119  			yyVAL.str = ""
 14120  		}
 14121  	case 592:
 14122  		yyDollar = yyS[yypt-2 : yypt+1]
 14123  //line mysql_sql.y:4036
 14124  		{
 14125  			yyVAL.str = yyDollar[2].cstrUnion().Compare()
 14126  		}
 14127  	case 593:
 14128  		yyDollar = yyS[yypt-2 : yypt+1]
 14129  		var yyLOCAL *tree.UnresolvedObjectName
 14130  //line mysql_sql.y:4042
 14131  		{
 14132  			yyLOCAL = yyDollar[2].unresolvedObjectNameUnion()
 14133  		}
 14134  		yyVAL.union = yyLOCAL
 14135  	case 594:
 14136  		yyDollar = yyS[yypt-0 : yypt+1]
 14137  //line mysql_sql.y:4047
 14138  		{
 14139  			yyVAL.str = ""
 14140  		}
 14141  	case 595:
 14142  		yyDollar = yyS[yypt-5 : yypt+1]
 14143  //line mysql_sql.y:4051
 14144  		{
 14145  			yyVAL.str = yyDollar[4].str
 14146  		}
 14147  	case 600:
 14148  		yyDollar = yyS[yypt-0 : yypt+1]
 14149  		var yyLOCAL bool
 14150  //line mysql_sql.y:4066
 14151  		{
 14152  			yyLOCAL = false
 14153  		}
 14154  		yyVAL.union = yyLOCAL
 14155  	case 601:
 14156  		yyDollar = yyS[yypt-1 : yypt+1]
 14157  		var yyLOCAL bool
 14158  //line mysql_sql.y:4070
 14159  		{
 14160  			yyLOCAL = true
 14161  		}
 14162  		yyVAL.union = yyLOCAL
 14163  	case 602:
 14164  		yyDollar = yyS[yypt-5 : yypt+1]
 14165  		var yyLOCAL tree.Statement
 14166  //line mysql_sql.y:4076
 14167  		{
 14168  			yyLOCAL = &tree.ShowCreateTable{
 14169  				Name:         yyDollar[4].unresolvedObjectNameUnion(),
 14170  				SnapshotName: yyDollar[5].str,
 14171  			}
 14172  		}
 14173  		yyVAL.union = yyLOCAL
 14174  	case 603:
 14175  		yyDollar = yyS[yypt-5 : yypt+1]
 14176  		var yyLOCAL tree.Statement
 14177  //line mysql_sql.y:4084
 14178  		{
 14179  			yyLOCAL = &tree.ShowCreateView{
 14180  				Name:         yyDollar[4].unresolvedObjectNameUnion(),
 14181  				SnapshotName: yyDollar[5].str,
 14182  			}
 14183  		}
 14184  		yyVAL.union = yyLOCAL
 14185  	case 604:
 14186  		yyDollar = yyS[yypt-5 : yypt+1]
 14187  		var yyLOCAL tree.Statement
 14188  //line mysql_sql.y:4091
 14189  		{
 14190  			yyLOCAL = &tree.ShowCreateDatabase{IfNotExists: yyDollar[4].ifNotExistsUnion(), Name: yyDollar[5].str}
 14191  		}
 14192  		yyVAL.union = yyLOCAL
 14193  	case 605:
 14194  		yyDollar = yyS[yypt-4 : yypt+1]
 14195  		var yyLOCAL tree.Statement
 14196  //line mysql_sql.y:4095
 14197  		{
 14198  			yyLOCAL = &tree.ShowCreatePublications{Name: yyDollar[4].str}
 14199  		}
 14200  		yyVAL.union = yyLOCAL
 14201  	case 606:
 14202  		yyDollar = yyS[yypt-3 : yypt+1]
 14203  		var yyLOCAL tree.Statement
 14204  //line mysql_sql.y:4101
 14205  		{
 14206  			yyLOCAL = &tree.ShowBackendServers{}
 14207  		}
 14208  		yyVAL.union = yyLOCAL
 14209  	case 607:
 14210  		yyDollar = yyS[yypt-1 : yypt+1]
 14211  		var yyLOCAL *tree.UnresolvedObjectName
 14212  //line mysql_sql.y:4107
 14213  		{
 14214  			yyLOCAL = tree.SetUnresolvedObjectName(1, [3]string{yyDollar[1].cstrUnion().Compare()})
 14215  		}
 14216  		yyVAL.union = yyLOCAL
 14217  	case 608:
 14218  		yyDollar = yyS[yypt-3 : yypt+1]
 14219  		var yyLOCAL *tree.UnresolvedObjectName
 14220  //line mysql_sql.y:4111
 14221  		{
 14222  			yyLOCAL = tree.SetUnresolvedObjectName(2, [3]string{yyDollar[3].cstrUnion().Compare(), yyDollar[1].cstrUnion().Compare()})
 14223  		}
 14224  		yyVAL.union = yyLOCAL
 14225  	case 609:
 14226  		yyDollar = yyS[yypt-1 : yypt+1]
 14227  //line mysql_sql.y:4117
 14228  		{
 14229  			yyVAL.str = yyDollar[1].cstrUnion().Compare()
 14230  		}
 14231  	case 610:
 14232  		yyDollar = yyS[yypt-1 : yypt+1]
 14233  		var yyLOCAL *tree.UnresolvedObjectName
 14234  //line mysql_sql.y:4123
 14235  		{
 14236  			yyLOCAL = tree.SetUnresolvedObjectName(1, [3]string{yyDollar[1].cstrUnion().Compare()})
 14237  		}
 14238  		yyVAL.union = yyLOCAL
 14239  	case 611:
 14240  		yyDollar = yyS[yypt-3 : yypt+1]
 14241  		var yyLOCAL *tree.UnresolvedObjectName
 14242  //line mysql_sql.y:4127
 14243  		{
 14244  			yyLOCAL = tree.SetUnresolvedObjectName(2, [3]string{yyDollar[3].cstrUnion().Compare(), yyDollar[1].cstrUnion().Compare()})
 14245  		}
 14246  		yyVAL.union = yyLOCAL
 14247  	case 612:
 14248  		yyDollar = yyS[yypt-5 : yypt+1]
 14249  		var yyLOCAL *tree.UnresolvedObjectName
 14250  //line mysql_sql.y:4131
 14251  		{
 14252  			yyLOCAL = tree.SetUnresolvedObjectName(3, [3]string{yyDollar[5].cstrUnion().Compare(), yyDollar[3].cstrUnion().Compare(), yyDollar[1].cstrUnion().Compare()})
 14253  		}
 14254  		yyVAL.union = yyLOCAL
 14255  	case 613:
 14256  		yyDollar = yyS[yypt-2 : yypt+1]
 14257  		var yyLOCAL tree.Statement
 14258  //line mysql_sql.y:4137
 14259  		{
 14260  			yyLOCAL = tree.NewTruncateTable(yyDollar[2].tableNameUnion())
 14261  		}
 14262  		yyVAL.union = yyLOCAL
 14263  	case 614:
 14264  		yyDollar = yyS[yypt-3 : yypt+1]
 14265  		var yyLOCAL tree.Statement
 14266  //line mysql_sql.y:4141
 14267  		{
 14268  			yyLOCAL = tree.NewTruncateTable(yyDollar[3].tableNameUnion())
 14269  		}
 14270  		yyVAL.union = yyLOCAL
 14271  	case 631:
 14272  		yyDollar = yyS[yypt-4 : yypt+1]
 14273  		var yyLOCAL tree.Statement
 14274  //line mysql_sql.y:4167
 14275  		{
 14276  			var ifExists = yyDollar[3].boolValUnion()
 14277  			var name = yyDollar[4].tableNamesUnion()
 14278  			yyLOCAL = tree.NewDropSequence(ifExists, name)
 14279  		}
 14280  		yyVAL.union = yyLOCAL
 14281  	case 632:
 14282  		yyDollar = yyS[yypt-4 : yypt+1]
 14283  		var yyLOCAL tree.Statement
 14284  //line mysql_sql.y:4175
 14285  		{
 14286  			var ifExists = yyDollar[3].boolValUnion()
 14287  			var name = yyDollar[4].exprUnion()
 14288  			yyLOCAL = tree.NewDropAccount(ifExists, name)
 14289  		}
 14290  		yyVAL.union = yyLOCAL
 14291  	case 633:
 14292  		yyDollar = yyS[yypt-4 : yypt+1]
 14293  		var yyLOCAL tree.Statement
 14294  //line mysql_sql.y:4183
 14295  		{
 14296  			var ifExists = yyDollar[3].boolValUnion()
 14297  			var users = yyDollar[4].usersUnion()
 14298  			yyLOCAL = tree.NewDropUser(ifExists, users)
 14299  		}
 14300  		yyVAL.union = yyLOCAL
 14301  	case 634:
 14302  		yyDollar = yyS[yypt-1 : yypt+1]
 14303  		var yyLOCAL []*tree.User
 14304  //line mysql_sql.y:4191
 14305  		{
 14306  			yyLOCAL = []*tree.User{yyDollar[1].userUnion()}
 14307  		}
 14308  		yyVAL.union = yyLOCAL
 14309  	case 635:
 14310  		yyDollar = yyS[yypt-3 : yypt+1]
 14311  		var yyLOCAL []*tree.User
 14312  //line mysql_sql.y:4195
 14313  		{
 14314  			yyLOCAL = append(yyDollar[1].usersUnion(), yyDollar[3].userUnion())
 14315  		}
 14316  		yyVAL.union = yyLOCAL
 14317  	case 636:
 14318  		yyDollar = yyS[yypt-1 : yypt+1]
 14319  		var yyLOCAL *tree.User
 14320  //line mysql_sql.y:4201
 14321  		{
 14322  			var Username = yyDollar[1].usernameRecordUnion().Username
 14323  			var Hostname = yyDollar[1].usernameRecordUnion().Hostname
 14324  			var AuthOption *tree.AccountIdentified
 14325  			yyLOCAL = tree.NewUser(
 14326  				Username,
 14327  				Hostname,
 14328  				AuthOption,
 14329  			)
 14330  		}
 14331  		yyVAL.union = yyLOCAL
 14332  	case 637:
 14333  		yyDollar = yyS[yypt-4 : yypt+1]
 14334  		var yyLOCAL tree.Statement
 14335  //line mysql_sql.y:4214
 14336  		{
 14337  			var ifExists = yyDollar[3].boolValUnion()
 14338  			var roles = yyDollar[4].rolesUnion()
 14339  			yyLOCAL = tree.NewDropRole(ifExists, roles)
 14340  		}
 14341  		yyVAL.union = yyLOCAL
 14342  	case 638:
 14343  		yyDollar = yyS[yypt-6 : yypt+1]
 14344  		var yyLOCAL tree.Statement
 14345  //line mysql_sql.y:4222
 14346  		{
 14347  			var name = tree.Identifier(yyDollar[4].cstrUnion().Compare())
 14348  			var tableName = yyDollar[6].tableNameUnion()
 14349  			var ifExists = yyDollar[3].boolValUnion()
 14350  			yyLOCAL = tree.NewDropIndex(name, tableName, ifExists)
 14351  		}
 14352  		yyVAL.union = yyLOCAL
 14353  	case 639:
 14354  		yyDollar = yyS[yypt-6 : yypt+1]
 14355  		var yyLOCAL tree.Statement
 14356  //line mysql_sql.y:4231
 14357  		{
 14358  			var ifExists = yyDollar[4].boolValUnion()
 14359  			var names = yyDollar[5].tableNamesUnion()
 14360  			yyLOCAL = tree.NewDropTable(ifExists, names)
 14361  		}
 14362  		yyVAL.union = yyLOCAL
 14363  	case 640:
 14364  		yyDollar = yyS[yypt-4 : yypt+1]
 14365  		var yyLOCAL tree.Statement
 14366  //line mysql_sql.y:4237
 14367  		{
 14368  			var ifExists = yyDollar[3].boolValUnion()
 14369  			var names = yyDollar[4].tableNamesUnion()
 14370  			yyLOCAL = tree.NewDropTable(ifExists, names)
 14371  		}
 14372  		yyVAL.union = yyLOCAL
 14373  	case 641:
 14374  		yyDollar = yyS[yypt-4 : yypt+1]
 14375  		var yyLOCAL tree.Statement
 14376  //line mysql_sql.y:4245
 14377  		{
 14378  			var ifExists = yyDollar[3].boolValUnion()
 14379  			var names = yyDollar[4].tableNamesUnion()
 14380  			yyLOCAL = tree.NewDropConnector(ifExists, names)
 14381  		}
 14382  		yyVAL.union = yyLOCAL
 14383  	case 642:
 14384  		yyDollar = yyS[yypt-4 : yypt+1]
 14385  		var yyLOCAL tree.Statement
 14386  //line mysql_sql.y:4253
 14387  		{
 14388  			var ifExists = yyDollar[3].boolValUnion()
 14389  			var names = yyDollar[4].tableNamesUnion()
 14390  			yyLOCAL = tree.NewDropView(ifExists, names)
 14391  		}
 14392  		yyVAL.union = yyLOCAL
 14393  	case 643:
 14394  		yyDollar = yyS[yypt-4 : yypt+1]
 14395  		var yyLOCAL tree.Statement
 14396  //line mysql_sql.y:4261
 14397  		{
 14398  			var name = tree.Identifier(yyDollar[4].cstrUnion().Compare())
 14399  			var ifExists = yyDollar[3].boolValUnion()
 14400  			yyLOCAL = tree.NewDropDatabase(name, ifExists)
 14401  		}
 14402  		yyVAL.union = yyLOCAL
 14403  	case 644:
 14404  		yyDollar = yyS[yypt-4 : yypt+1]
 14405  		var yyLOCAL tree.Statement
 14406  //line mysql_sql.y:4267
 14407  		{
 14408  			var name = tree.Identifier(yyDollar[4].cstrUnion().Compare())
 14409  			var ifExists = yyDollar[3].boolValUnion()
 14410  			yyLOCAL = tree.NewDropDatabase(name, ifExists)
 14411  		}
 14412  		yyVAL.union = yyLOCAL
 14413  	case 645:
 14414  		yyDollar = yyS[yypt-3 : yypt+1]
 14415  		var yyLOCAL tree.Statement
 14416  //line mysql_sql.y:4275
 14417  		{
 14418  			yyLOCAL = tree.NewDeallocate(tree.Identifier(yyDollar[3].str), true)
 14419  		}
 14420  		yyVAL.union = yyLOCAL
 14421  	case 646:
 14422  		yyDollar = yyS[yypt-6 : yypt+1]
 14423  		var yyLOCAL tree.Statement
 14424  //line mysql_sql.y:4281
 14425  		{
 14426  			var name = yyDollar[3].functionNameUnion()
 14427  			var args = yyDollar[5].funcArgsUnion()
 14428  			yyLOCAL = tree.NewDropFunction(name, args)
 14429  		}
 14430  		yyVAL.union = yyLOCAL
 14431  	case 647:
 14432  		yyDollar = yyS[yypt-3 : yypt+1]
 14433  		var yyLOCAL tree.Statement
 14434  //line mysql_sql.y:4289
 14435  		{
 14436  			var name = yyDollar[3].procNameUnion()
 14437  			var ifExists = false
 14438  			yyLOCAL = tree.NewDropProcedure(name, ifExists)
 14439  		}
 14440  		yyVAL.union = yyLOCAL
 14441  	case 648:
 14442  		yyDollar = yyS[yypt-5 : yypt+1]
 14443  		var yyLOCAL tree.Statement
 14444  //line mysql_sql.y:4295
 14445  		{
 14446  			var name = yyDollar[5].procNameUnion()
 14447  			var ifExists = true
 14448  			yyLOCAL = tree.NewDropProcedure(name, ifExists)
 14449  		}
 14450  		yyVAL.union = yyLOCAL
 14451  	case 651:
 14452  		yyDollar = yyS[yypt-2 : yypt+1]
 14453  		var yyLOCAL tree.Statement
 14454  //line mysql_sql.y:4305
 14455  		{
 14456  			yyDollar[2].statementUnion().(*tree.Delete).With = yyDollar[1].withClauseUnion()
 14457  			yyLOCAL = yyDollar[2].statementUnion()
 14458  		}
 14459  		yyVAL.union = yyLOCAL
 14460  	case 652:
 14461  		yyDollar = yyS[yypt-2 : yypt+1]
 14462  		var yyLOCAL tree.Statement
 14463  //line mysql_sql.y:4310
 14464  		{
 14465  			yyDollar[2].statementUnion().(*tree.Delete).With = yyDollar[1].withClauseUnion()
 14466  			yyLOCAL = yyDollar[2].statementUnion()
 14467  		}
 14468  		yyVAL.union = yyLOCAL
 14469  	case 653:
 14470  		yyDollar = yyS[yypt-11 : yypt+1]
 14471  		var yyLOCAL tree.Statement
 14472  //line mysql_sql.y:4317
 14473  		{
 14474  			// Single-Table Syntax
 14475  			t := &tree.AliasedTableExpr{
 14476  				Expr: yyDollar[6].tableNameUnion(),
 14477  				As: tree.AliasClause{
 14478  					Alias: tree.Identifier(yyDollar[8].str),
 14479  				},
 14480  			}
 14481  			yyLOCAL = &tree.Delete{
 14482  				Tables:  tree.TableExprs{t},
 14483  				Where:   yyDollar[9].whereUnion(),
 14484  				OrderBy: yyDollar[10].orderByUnion(),
 14485  				Limit:   yyDollar[11].limitUnion(),
 14486  			}
 14487  		}
 14488  		yyVAL.union = yyLOCAL
 14489  	case 654:
 14490  		yyDollar = yyS[yypt-8 : yypt+1]
 14491  		var yyLOCAL tree.Statement
 14492  //line mysql_sql.y:4333
 14493  		{
 14494  			// Multiple-Table Syntax
 14495  			yyLOCAL = &tree.Delete{
 14496  				Tables:    yyDollar[5].tableExprsUnion(),
 14497  				Where:     yyDollar[8].whereUnion(),
 14498  				TableRefs: tree.TableExprs{yyDollar[7].joinTableExprUnion()},
 14499  			}
 14500  		}
 14501  		yyVAL.union = yyLOCAL
 14502  	case 655:
 14503  		yyDollar = yyS[yypt-9 : yypt+1]
 14504  		var yyLOCAL tree.Statement
 14505  //line mysql_sql.y:4346
 14506  		{
 14507  			// Multiple-Table Syntax
 14508  			yyLOCAL = &tree.Delete{
 14509  				Tables:    yyDollar[6].tableExprsUnion(),
 14510  				Where:     yyDollar[9].whereUnion(),
 14511  				TableRefs: tree.TableExprs{yyDollar[8].joinTableExprUnion()},
 14512  			}
 14513  		}
 14514  		yyVAL.union = yyLOCAL
 14515  	case 656:
 14516  		yyDollar = yyS[yypt-1 : yypt+1]
 14517  		var yyLOCAL tree.TableExprs
 14518  //line mysql_sql.y:4357
 14519  		{
 14520  			yyLOCAL = tree.TableExprs{yyDollar[1].tableNameUnion()}
 14521  		}
 14522  		yyVAL.union = yyLOCAL
 14523  	case 657:
 14524  		yyDollar = yyS[yypt-3 : yypt+1]
 14525  		var yyLOCAL tree.TableExprs
 14526  //line mysql_sql.y:4361
 14527  		{
 14528  			yyLOCAL = append(yyDollar[1].tableExprsUnion(), yyDollar[3].tableNameUnion())
 14529  		}
 14530  		yyVAL.union = yyLOCAL
 14531  	case 658:
 14532  		yyDollar = yyS[yypt-2 : yypt+1]
 14533  		var yyLOCAL *tree.TableName
 14534  //line mysql_sql.y:4367
 14535  		{
 14536  			prefix := tree.ObjectNamePrefix{ExplicitSchema: false}
 14537  			yyLOCAL = tree.NewTableName(tree.Identifier(yyDollar[1].cstrUnion().Compare()), prefix, nil)
 14538  		}
 14539  		yyVAL.union = yyLOCAL
 14540  	case 659:
 14541  		yyDollar = yyS[yypt-4 : yypt+1]
 14542  		var yyLOCAL *tree.TableName
 14543  //line mysql_sql.y:4372
 14544  		{
 14545  			prefix := tree.ObjectNamePrefix{SchemaName: tree.Identifier(yyDollar[1].cstrUnion().Compare()), ExplicitSchema: true}
 14546  			yyLOCAL = tree.NewTableName(tree.Identifier(yyDollar[3].cstrUnion().Compare()), prefix, nil)
 14547  		}
 14548  		yyVAL.union = yyLOCAL
 14549  	case 660:
 14550  		yyDollar = yyS[yypt-0 : yypt+1]
 14551  //line mysql_sql.y:4379
 14552  		{
 14553  		}
 14554  	case 661:
 14555  		yyDollar = yyS[yypt-2 : yypt+1]
 14556  //line mysql_sql.y:4381
 14557  		{
 14558  		}
 14559  	case 662:
 14560  		yyDollar = yyS[yypt-0 : yypt+1]
 14561  //line mysql_sql.y:4384
 14562  		{
 14563  		}
 14564  	case 667:
 14565  		yyDollar = yyS[yypt-0 : yypt+1]
 14566  //line mysql_sql.y:4393
 14567  		{
 14568  		}
 14569  	case 669:
 14570  		yyDollar = yyS[yypt-0 : yypt+1]
 14571  //line mysql_sql.y:4397
 14572  		{
 14573  		}
 14574  	case 671:
 14575  		yyDollar = yyS[yypt-4 : yypt+1]
 14576  		var yyLOCAL tree.Statement
 14577  //line mysql_sql.y:4402
 14578  		{
 14579  			rep := yyDollar[4].replaceUnion()
 14580  			rep.Table = yyDollar[2].tableExprUnion()
 14581  			rep.PartitionNames = yyDollar[3].identifierListUnion()
 14582  			yyLOCAL = rep
 14583  		}
 14584  		yyVAL.union = yyLOCAL
 14585  	case 672:
 14586  		yyDollar = yyS[yypt-2 : yypt+1]
 14587  		var yyLOCAL *tree.Replace
 14588  //line mysql_sql.y:4411
 14589  		{
 14590  			vc := tree.NewValuesClause(yyDollar[2].rowsExprsUnion())
 14591  			yyLOCAL = &tree.Replace{
 14592  				Rows: tree.NewSelect(vc, nil, nil),
 14593  			}
 14594  		}
 14595  		yyVAL.union = yyLOCAL
 14596  	case 673:
 14597  		yyDollar = yyS[yypt-1 : yypt+1]
 14598  		var yyLOCAL *tree.Replace
 14599  //line mysql_sql.y:4418
 14600  		{
 14601  			yyLOCAL = &tree.Replace{
 14602  				Rows: yyDollar[1].selectUnion(),
 14603  			}
 14604  		}
 14605  		yyVAL.union = yyLOCAL
 14606  	case 674:
 14607  		yyDollar = yyS[yypt-5 : yypt+1]
 14608  		var yyLOCAL *tree.Replace
 14609  //line mysql_sql.y:4424
 14610  		{
 14611  			vc := tree.NewValuesClause(yyDollar[5].rowsExprsUnion())
 14612  			yyLOCAL = &tree.Replace{
 14613  				Columns: yyDollar[2].identifierListUnion(),
 14614  				Rows:    tree.NewSelect(vc, nil, nil),
 14615  			}
 14616  		}
 14617  		yyVAL.union = yyLOCAL
 14618  	case 675:
 14619  		yyDollar = yyS[yypt-4 : yypt+1]
 14620  		var yyLOCAL *tree.Replace
 14621  //line mysql_sql.y:4432
 14622  		{
 14623  			vc := tree.NewValuesClause(yyDollar[4].rowsExprsUnion())
 14624  			yyLOCAL = &tree.Replace{
 14625  				Rows: tree.NewSelect(vc, nil, nil),
 14626  			}
 14627  		}
 14628  		yyVAL.union = yyLOCAL
 14629  	case 676:
 14630  		yyDollar = yyS[yypt-4 : yypt+1]
 14631  		var yyLOCAL *tree.Replace
 14632  //line mysql_sql.y:4439
 14633  		{
 14634  			yyLOCAL = &tree.Replace{
 14635  				Columns: yyDollar[2].identifierListUnion(),
 14636  				Rows:    yyDollar[4].selectUnion(),
 14637  			}
 14638  		}
 14639  		yyVAL.union = yyLOCAL
 14640  	case 677:
 14641  		yyDollar = yyS[yypt-2 : yypt+1]
 14642  		var yyLOCAL *tree.Replace
 14643  //line mysql_sql.y:4446
 14644  		{
 14645  			if yyDollar[2].assignmentsUnion() == nil {
 14646  				yylex.Error("the set list of replace can not be empty")
 14647  				goto ret1
 14648  			}
 14649  			var identList tree.IdentifierList
 14650  			var valueList tree.Exprs
 14651  			for _, a := range yyDollar[2].assignmentsUnion() {
 14652  				identList = append(identList, a.Column)
 14653  				valueList = append(valueList, a.Expr)
 14654  			}
 14655  			vc := tree.NewValuesClause([]tree.Exprs{valueList})
 14656  			yyLOCAL = &tree.Replace{
 14657  				Columns: identList,
 14658  				Rows:    tree.NewSelect(vc, nil, nil),
 14659  			}
 14660  		}
 14661  		yyVAL.union = yyLOCAL
 14662  	case 678:
 14663  		yyDollar = yyS[yypt-5 : yypt+1]
 14664  		var yyLOCAL tree.Statement
 14665  //line mysql_sql.y:4466
 14666  		{
 14667  			ins := yyDollar[4].insertUnion()
 14668  			ins.Table = yyDollar[2].tableExprUnion()
 14669  			ins.PartitionNames = yyDollar[3].identifierListUnion()
 14670  			ins.OnDuplicateUpdate = yyDollar[5].updateExprsUnion()
 14671  			yyLOCAL = ins
 14672  		}
 14673  		yyVAL.union = yyLOCAL
 14674  	case 679:
 14675  		yyDollar = yyS[yypt-5 : yypt+1]
 14676  		var yyLOCAL tree.Statement
 14677  //line mysql_sql.y:4474
 14678  		{
 14679  			ins := yyDollar[5].insertUnion()
 14680  			ins.Table = yyDollar[3].tableExprUnion()
 14681  			ins.PartitionNames = yyDollar[4].identifierListUnion()
 14682  			ins.OnDuplicateUpdate = []*tree.UpdateExpr{nil}
 14683  			yyLOCAL = ins
 14684  		}
 14685  		yyVAL.union = yyLOCAL
 14686  	case 680:
 14687  		yyDollar = yyS[yypt-1 : yypt+1]
 14688  		var yyLOCAL tree.IdentifierList
 14689  //line mysql_sql.y:4484
 14690  		{
 14691  			yyLOCAL = tree.IdentifierList{tree.Identifier(yyDollar[1].str)}
 14692  		}
 14693  		yyVAL.union = yyLOCAL
 14694  	case 681:
 14695  		yyDollar = yyS[yypt-3 : yypt+1]
 14696  		var yyLOCAL tree.IdentifierList
 14697  //line mysql_sql.y:4488
 14698  		{
 14699  			yyLOCAL = append(yyDollar[1].identifierListUnion(), tree.Identifier(yyDollar[3].str))
 14700  		}
 14701  		yyVAL.union = yyLOCAL
 14702  	case 682:
 14703  		yyDollar = yyS[yypt-2 : yypt+1]
 14704  		var yyLOCAL *tree.Insert
 14705  //line mysql_sql.y:4494
 14706  		{
 14707  			vc := tree.NewValuesClause(yyDollar[2].rowsExprsUnion())
 14708  			yyLOCAL = &tree.Insert{
 14709  				Rows: tree.NewSelect(vc, nil, nil),
 14710  			}
 14711  		}
 14712  		yyVAL.union = yyLOCAL
 14713  	case 683:
 14714  		yyDollar = yyS[yypt-1 : yypt+1]
 14715  		var yyLOCAL *tree.Insert
 14716  //line mysql_sql.y:4501
 14717  		{
 14718  			yyLOCAL = &tree.Insert{
 14719  				Rows: yyDollar[1].selectUnion(),
 14720  			}
 14721  		}
 14722  		yyVAL.union = yyLOCAL
 14723  	case 684:
 14724  		yyDollar = yyS[yypt-5 : yypt+1]
 14725  		var yyLOCAL *tree.Insert
 14726  //line mysql_sql.y:4507
 14727  		{
 14728  			vc := tree.NewValuesClause(yyDollar[5].rowsExprsUnion())
 14729  			yyLOCAL = &tree.Insert{
 14730  				Columns: yyDollar[2].identifierListUnion(),
 14731  				Rows:    tree.NewSelect(vc, nil, nil),
 14732  			}
 14733  		}
 14734  		yyVAL.union = yyLOCAL
 14735  	case 685:
 14736  		yyDollar = yyS[yypt-4 : yypt+1]
 14737  		var yyLOCAL *tree.Insert
 14738  //line mysql_sql.y:4515
 14739  		{
 14740  			vc := tree.NewValuesClause(yyDollar[4].rowsExprsUnion())
 14741  			yyLOCAL = &tree.Insert{
 14742  				Rows: tree.NewSelect(vc, nil, nil),
 14743  			}
 14744  		}
 14745  		yyVAL.union = yyLOCAL
 14746  	case 686:
 14747  		yyDollar = yyS[yypt-4 : yypt+1]
 14748  		var yyLOCAL *tree.Insert
 14749  //line mysql_sql.y:4522
 14750  		{
 14751  			yyLOCAL = &tree.Insert{
 14752  				Columns: yyDollar[2].identifierListUnion(),
 14753  				Rows:    yyDollar[4].selectUnion(),
 14754  			}
 14755  		}
 14756  		yyVAL.union = yyLOCAL
 14757  	case 687:
 14758  		yyDollar = yyS[yypt-2 : yypt+1]
 14759  		var yyLOCAL *tree.Insert
 14760  //line mysql_sql.y:4529
 14761  		{
 14762  			if yyDollar[2].assignmentsUnion() == nil {
 14763  				yylex.Error("the set list of insert can not be empty")
 14764  				goto ret1
 14765  			}
 14766  			var identList tree.IdentifierList
 14767  			var valueList tree.Exprs
 14768  			for _, a := range yyDollar[2].assignmentsUnion() {
 14769  				identList = append(identList, a.Column)
 14770  				valueList = append(valueList, a.Expr)
 14771  			}
 14772  			vc := tree.NewValuesClause([]tree.Exprs{valueList})
 14773  			yyLOCAL = &tree.Insert{
 14774  				Columns: identList,
 14775  				Rows:    tree.NewSelect(vc, nil, nil),
 14776  			}
 14777  		}
 14778  		yyVAL.union = yyLOCAL
 14779  	case 688:
 14780  		yyDollar = yyS[yypt-0 : yypt+1]
 14781  		var yyLOCAL tree.UpdateExprs
 14782  //line mysql_sql.y:4548
 14783  		{
 14784  			yyLOCAL = []*tree.UpdateExpr{}
 14785  		}
 14786  		yyVAL.union = yyLOCAL
 14787  	case 689:
 14788  		yyDollar = yyS[yypt-5 : yypt+1]
 14789  		var yyLOCAL tree.UpdateExprs
 14790  //line mysql_sql.y:4552
 14791  		{
 14792  			yyLOCAL = yyDollar[5].updateExprsUnion()
 14793  		}
 14794  		yyVAL.union = yyLOCAL
 14795  	case 690:
 14796  		yyDollar = yyS[yypt-4 : yypt+1]
 14797  		var yyLOCAL tree.UpdateExprs
 14798  //line mysql_sql.y:4556
 14799  		{
 14800  			yyLOCAL = []*tree.UpdateExpr{nil}
 14801  		}
 14802  		yyVAL.union = yyLOCAL
 14803  	case 691:
 14804  		yyDollar = yyS[yypt-0 : yypt+1]
 14805  		var yyLOCAL []*tree.Assignment
 14806  //line mysql_sql.y:4561
 14807  		{
 14808  			yyLOCAL = nil
 14809  		}
 14810  		yyVAL.union = yyLOCAL
 14811  	case 692:
 14812  		yyDollar = yyS[yypt-1 : yypt+1]
 14813  		var yyLOCAL []*tree.Assignment
 14814  //line mysql_sql.y:4565
 14815  		{
 14816  			yyLOCAL = []*tree.Assignment{yyDollar[1].assignmentUnion()}
 14817  		}
 14818  		yyVAL.union = yyLOCAL
 14819  	case 693:
 14820  		yyDollar = yyS[yypt-3 : yypt+1]
 14821  		var yyLOCAL []*tree.Assignment
 14822  //line mysql_sql.y:4569
 14823  		{
 14824  			yyLOCAL = append(yyDollar[1].assignmentsUnion(), yyDollar[3].assignmentUnion())
 14825  		}
 14826  		yyVAL.union = yyLOCAL
 14827  	case 694:
 14828  		yyDollar = yyS[yypt-3 : yypt+1]
 14829  		var yyLOCAL *tree.Assignment
 14830  //line mysql_sql.y:4575
 14831  		{
 14832  			yyLOCAL = &tree.Assignment{
 14833  				Column: tree.Identifier(yyDollar[1].str),
 14834  				Expr:   yyDollar[3].exprUnion(),
 14835  			}
 14836  		}
 14837  		yyVAL.union = yyLOCAL
 14838  	case 695:
 14839  		yyDollar = yyS[yypt-1 : yypt+1]
 14840  		var yyLOCAL tree.IdentifierList
 14841  //line mysql_sql.y:4584
 14842  		{
 14843  			yyLOCAL = tree.IdentifierList{tree.Identifier(yyDollar[1].str)}
 14844  		}
 14845  		yyVAL.union = yyLOCAL
 14846  	case 696:
 14847  		yyDollar = yyS[yypt-3 : yypt+1]
 14848  		var yyLOCAL tree.IdentifierList
 14849  //line mysql_sql.y:4588
 14850  		{
 14851  			yyLOCAL = append(yyDollar[1].identifierListUnion(), tree.Identifier(yyDollar[3].str))
 14852  		}
 14853  		yyVAL.union = yyLOCAL
 14854  	case 697:
 14855  		yyDollar = yyS[yypt-1 : yypt+1]
 14856  //line mysql_sql.y:4594
 14857  		{
 14858  			yyVAL.str = yyDollar[1].cstrUnion().Compare()
 14859  		}
 14860  	case 698:
 14861  		yyDollar = yyS[yypt-3 : yypt+1]
 14862  //line mysql_sql.y:4598
 14863  		{
 14864  			yyVAL.str = yyDollar[3].cstrUnion().Compare()
 14865  		}
 14866  	case 699:
 14867  		yyDollar = yyS[yypt-1 : yypt+1]
 14868  		var yyLOCAL []tree.Exprs
 14869  //line mysql_sql.y:4604
 14870  		{
 14871  			yyLOCAL = []tree.Exprs{yyDollar[1].exprsUnion()}
 14872  		}
 14873  		yyVAL.union = yyLOCAL
 14874  	case 700:
 14875  		yyDollar = yyS[yypt-3 : yypt+1]
 14876  		var yyLOCAL []tree.Exprs
 14877  //line mysql_sql.y:4608
 14878  		{
 14879  			yyLOCAL = append(yyDollar[1].rowsExprsUnion(), yyDollar[3].exprsUnion())
 14880  		}
 14881  		yyVAL.union = yyLOCAL
 14882  	case 701:
 14883  		yyDollar = yyS[yypt-4 : yypt+1]
 14884  		var yyLOCAL tree.Exprs
 14885  //line mysql_sql.y:4614
 14886  		{
 14887  			yyLOCAL = yyDollar[3].exprsUnion()
 14888  		}
 14889  		yyVAL.union = yyLOCAL
 14890  	case 702:
 14891  		yyDollar = yyS[yypt-0 : yypt+1]
 14892  //line mysql_sql.y:4619
 14893  		{
 14894  		}
 14895  	case 704:
 14896  		yyDollar = yyS[yypt-0 : yypt+1]
 14897  		var yyLOCAL tree.Exprs
 14898  //line mysql_sql.y:4623
 14899  		{
 14900  			yyLOCAL = nil
 14901  		}
 14902  		yyVAL.union = yyLOCAL
 14903  	case 706:
 14904  		yyDollar = yyS[yypt-1 : yypt+1]
 14905  		var yyLOCAL tree.Exprs
 14906  //line mysql_sql.y:4630
 14907  		{
 14908  			yyLOCAL = tree.Exprs{yyDollar[1].exprUnion()}
 14909  		}
 14910  		yyVAL.union = yyLOCAL
 14911  	case 707:
 14912  		yyDollar = yyS[yypt-3 : yypt+1]
 14913  		var yyLOCAL tree.Exprs
 14914  //line mysql_sql.y:4634
 14915  		{
 14916  			yyLOCAL = append(yyDollar[1].exprsUnion(), yyDollar[3].exprUnion())
 14917  		}
 14918  		yyVAL.union = yyLOCAL
 14919  	case 709:
 14920  		yyDollar = yyS[yypt-1 : yypt+1]
 14921  		var yyLOCAL tree.Expr
 14922  //line mysql_sql.y:4641
 14923  		{
 14924  			yyLOCAL = &tree.DefaultVal{}
 14925  		}
 14926  		yyVAL.union = yyLOCAL
 14927  	case 710:
 14928  		yyDollar = yyS[yypt-0 : yypt+1]
 14929  		var yyLOCAL tree.IdentifierList
 14930  //line mysql_sql.y:4646
 14931  		{
 14932  			yyLOCAL = nil
 14933  		}
 14934  		yyVAL.union = yyLOCAL
 14935  	case 711:
 14936  		yyDollar = yyS[yypt-4 : yypt+1]
 14937  		var yyLOCAL tree.IdentifierList
 14938  //line mysql_sql.y:4650
 14939  		{
 14940  			yyLOCAL = yyDollar[3].identifierListUnion()
 14941  		}
 14942  		yyVAL.union = yyLOCAL
 14943  	case 712:
 14944  		yyDollar = yyS[yypt-1 : yypt+1]
 14945  		var yyLOCAL tree.IdentifierList
 14946  //line mysql_sql.y:4656
 14947  		{
 14948  			yyLOCAL = tree.IdentifierList{tree.Identifier(yyDollar[1].cstrUnion().Compare())}
 14949  		}
 14950  		yyVAL.union = yyLOCAL
 14951  	case 713:
 14952  		yyDollar = yyS[yypt-3 : yypt+1]
 14953  		var yyLOCAL tree.IdentifierList
 14954  //line mysql_sql.y:4660
 14955  		{
 14956  			yyLOCAL = append(yyDollar[1].identifierListUnion(), tree.Identifier(yyDollar[3].cstrUnion().Compare()))
 14957  		}
 14958  		yyVAL.union = yyLOCAL
 14959  	case 714:
 14960  		yyDollar = yyS[yypt-2 : yypt+1]
 14961  		var yyLOCAL tree.TableExpr
 14962  //line mysql_sql.y:4666
 14963  		{
 14964  			yyLOCAL = yyDollar[2].tableNameUnion()
 14965  		}
 14966  		yyVAL.union = yyLOCAL
 14967  	case 715:
 14968  		yyDollar = yyS[yypt-1 : yypt+1]
 14969  		var yyLOCAL tree.TableExpr
 14970  //line mysql_sql.y:4670
 14971  		{
 14972  			yyLOCAL = yyDollar[1].tableNameUnion()
 14973  		}
 14974  		yyVAL.union = yyLOCAL
 14975  	case 716:
 14976  		yyDollar = yyS[yypt-0 : yypt+1]
 14977  		var yyLOCAL *tree.ExportParam
 14978  //line mysql_sql.y:4675
 14979  		{
 14980  			yyLOCAL = nil
 14981  		}
 14982  		yyVAL.union = yyLOCAL
 14983  	case 717:
 14984  		yyDollar = yyS[yypt-8 : yypt+1]
 14985  		var yyLOCAL *tree.ExportParam
 14986  //line mysql_sql.y:4679
 14987  		{
 14988  			yyLOCAL = &tree.ExportParam{
 14989  				Outfile:     true,
 14990  				FilePath:    yyDollar[3].str,
 14991  				Fields:      yyDollar[4].fieldsUnion(),
 14992  				Lines:       yyDollar[5].linesUnion(),
 14993  				Header:      yyDollar[6].unsignedOptUnion(),
 14994  				MaxFileSize: uint64(yyDollar[7].int64ValUnion()) * 1024,
 14995  				ForceQuote:  yyDollar[8].strsUnion(),
 14996  			}
 14997  		}
 14998  		yyVAL.union = yyLOCAL
 14999  	case 718:
 15000  		yyDollar = yyS[yypt-0 : yypt+1]
 15001  		var yyLOCAL *tree.Fields
 15002  //line mysql_sql.y:4692
 15003  		{
 15004  			yyLOCAL = &tree.Fields{
 15005  				Terminated: &tree.Terminated{
 15006  					Value: ",",
 15007  				},
 15008  				EnclosedBy: &tree.EnclosedBy{
 15009  					Value: '"',
 15010  				},
 15011  			}
 15012  		}
 15013  		yyVAL.union = yyLOCAL
 15014  	case 719:
 15015  		yyDollar = yyS[yypt-4 : yypt+1]
 15016  		var yyLOCAL *tree.Fields
 15017  //line mysql_sql.y:4703
 15018  		{
 15019  			yyLOCAL = &tree.Fields{
 15020  				Terminated: &tree.Terminated{
 15021  					Value: yyDollar[4].str,
 15022  				},
 15023  				EnclosedBy: &tree.EnclosedBy{
 15024  					Value: '"',
 15025  				},
 15026  			}
 15027  		}
 15028  		yyVAL.union = yyLOCAL
 15029  	case 720:
 15030  		yyDollar = yyS[yypt-7 : yypt+1]
 15031  		var yyLOCAL *tree.Fields
 15032  //line mysql_sql.y:4714
 15033  		{
 15034  			str := yyDollar[7].str
 15035  			if str != "\\" && len(str) > 1 {
 15036  				yylex.Error("export1 error field terminator")
 15037  				goto ret1
 15038  			}
 15039  			var b byte
 15040  			if len(str) != 0 {
 15041  				b = byte(str[0])
 15042  			} else {
 15043  				b = 0
 15044  			}
 15045  			yyLOCAL = &tree.Fields{
 15046  				Terminated: &tree.Terminated{
 15047  					Value: yyDollar[4].str,
 15048  				},
 15049  				EnclosedBy: &tree.EnclosedBy{
 15050  					Value: b,
 15051  				},
 15052  			}
 15053  		}
 15054  		yyVAL.union = yyLOCAL
 15055  	case 721:
 15056  		yyDollar = yyS[yypt-4 : yypt+1]
 15057  		var yyLOCAL *tree.Fields
 15058  //line mysql_sql.y:4736
 15059  		{
 15060  			str := yyDollar[4].str
 15061  			if str != "\\" && len(str) > 1 {
 15062  				yylex.Error("export2 error field terminator")
 15063  				goto ret1
 15064  			}
 15065  			var b byte
 15066  			if len(str) != 0 {
 15067  				b = byte(str[0])
 15068  			} else {
 15069  				b = 0
 15070  			}
 15071  			yyLOCAL = &tree.Fields{
 15072  				Terminated: &tree.Terminated{
 15073  					Value: ",",
 15074  				},
 15075  				EnclosedBy: &tree.EnclosedBy{
 15076  					Value: b,
 15077  				},
 15078  			}
 15079  		}
 15080  		yyVAL.union = yyLOCAL
 15081  	case 722:
 15082  		yyDollar = yyS[yypt-0 : yypt+1]
 15083  		var yyLOCAL *tree.Lines
 15084  //line mysql_sql.y:4759
 15085  		{
 15086  			yyLOCAL = &tree.Lines{
 15087  				TerminatedBy: &tree.Terminated{
 15088  					Value: "\n",
 15089  				},
 15090  			}
 15091  		}
 15092  		yyVAL.union = yyLOCAL
 15093  	case 723:
 15094  		yyDollar = yyS[yypt-2 : yypt+1]
 15095  		var yyLOCAL *tree.Lines
 15096  //line mysql_sql.y:4767
 15097  		{
 15098  			yyLOCAL = &tree.Lines{
 15099  				TerminatedBy: &tree.Terminated{
 15100  					Value: yyDollar[2].str,
 15101  				},
 15102  			}
 15103  		}
 15104  		yyVAL.union = yyLOCAL
 15105  	case 724:
 15106  		yyDollar = yyS[yypt-0 : yypt+1]
 15107  		var yyLOCAL bool
 15108  //line mysql_sql.y:4776
 15109  		{
 15110  			yyLOCAL = true
 15111  		}
 15112  		yyVAL.union = yyLOCAL
 15113  	case 725:
 15114  		yyDollar = yyS[yypt-2 : yypt+1]
 15115  		var yyLOCAL bool
 15116  //line mysql_sql.y:4780
 15117  		{
 15118  			str := strings.ToLower(yyDollar[2].str)
 15119  			if str == "true" {
 15120  				yyLOCAL = true
 15121  			} else if str == "false" {
 15122  				yyLOCAL = false
 15123  			} else {
 15124  				yylex.Error("error header flag")
 15125  				goto ret1
 15126  			}
 15127  		}
 15128  		yyVAL.union = yyLOCAL
 15129  	case 726:
 15130  		yyDollar = yyS[yypt-0 : yypt+1]
 15131  		var yyLOCAL int64
 15132  //line mysql_sql.y:4793
 15133  		{
 15134  			yyLOCAL = 0
 15135  		}
 15136  		yyVAL.union = yyLOCAL
 15137  	case 727:
 15138  		yyDollar = yyS[yypt-2 : yypt+1]
 15139  		var yyLOCAL int64
 15140  //line mysql_sql.y:4797
 15141  		{
 15142  			yyLOCAL = yyDollar[2].item.(int64)
 15143  		}
 15144  		yyVAL.union = yyLOCAL
 15145  	case 728:
 15146  		yyDollar = yyS[yypt-0 : yypt+1]
 15147  		var yyLOCAL []string
 15148  //line mysql_sql.y:4802
 15149  		{
 15150  			yyLOCAL = []string{}
 15151  		}
 15152  		yyVAL.union = yyLOCAL
 15153  	case 729:
 15154  		yyDollar = yyS[yypt-4 : yypt+1]
 15155  		var yyLOCAL []string
 15156  //line mysql_sql.y:4806
 15157  		{
 15158  			yyLOCAL = yyDollar[3].strsUnion()
 15159  		}
 15160  		yyVAL.union = yyLOCAL
 15161  	case 730:
 15162  		yyDollar = yyS[yypt-1 : yypt+1]
 15163  		var yyLOCAL []string
 15164  //line mysql_sql.y:4813
 15165  		{
 15166  			yyLOCAL = make([]string, 0, 4)
 15167  			yyLOCAL = append(yyLOCAL, yyDollar[1].cstrUnion().Compare())
 15168  		}
 15169  		yyVAL.union = yyLOCAL
 15170  	case 731:
 15171  		yyDollar = yyS[yypt-3 : yypt+1]
 15172  		var yyLOCAL []string
 15173  //line mysql_sql.y:4818
 15174  		{
 15175  			yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].cstrUnion().Compare())
 15176  		}
 15177  		yyVAL.union = yyLOCAL
 15178  	case 733:
 15179  		yyDollar = yyS[yypt-1 : yypt+1]
 15180  		var yyLOCAL *tree.Select
 15181  //line mysql_sql.y:4825
 15182  		{
 15183  			yyLOCAL = &tree.Select{Select: yyDollar[1].selectStatementUnion()}
 15184  		}
 15185  		yyVAL.union = yyLOCAL
 15186  	case 734:
 15187  		yyDollar = yyS[yypt-6 : yypt+1]
 15188  		var yyLOCAL *tree.Select
 15189  //line mysql_sql.y:4831
 15190  		{
 15191  			yyLOCAL = &tree.Select{Select: yyDollar[1].selectStatementUnion(), TimeWindow: yyDollar[2].timeWindowUnion(), OrderBy: yyDollar[3].orderByUnion(), Limit: yyDollar[4].limitUnion(), Ep: yyDollar[5].exportParmUnion(), SelectLockInfo: yyDollar[6].selectLockInfoUnion()}
 15192  		}
 15193  		yyVAL.union = yyLOCAL
 15194  	case 735:
 15195  		yyDollar = yyS[yypt-4 : yypt+1]
 15196  		var yyLOCAL *tree.Select
 15197  //line mysql_sql.y:4835
 15198  		{
 15199  			yyLOCAL = &tree.Select{Select: yyDollar[1].selectStatementUnion(), TimeWindow: yyDollar[2].timeWindowUnion(), OrderBy: yyDollar[3].orderByUnion(), Ep: yyDollar[4].exportParmUnion()}
 15200  		}
 15201  		yyVAL.union = yyLOCAL
 15202  	case 736:
 15203  		yyDollar = yyS[yypt-5 : yypt+1]
 15204  		var yyLOCAL *tree.Select
 15205  //line mysql_sql.y:4839
 15206  		{
 15207  			yyLOCAL = &tree.Select{Select: yyDollar[1].selectStatementUnion(), TimeWindow: yyDollar[2].timeWindowUnion(), OrderBy: yyDollar[3].orderByUnion(), Limit: yyDollar[4].limitUnion(), Ep: yyDollar[5].exportParmUnion()}
 15208  		}
 15209  		yyVAL.union = yyLOCAL
 15210  	case 737:
 15211  		yyDollar = yyS[yypt-7 : yypt+1]
 15212  		var yyLOCAL *tree.Select
 15213  //line mysql_sql.y:4843
 15214  		{
 15215  			yyLOCAL = &tree.Select{Select: yyDollar[2].selectStatementUnion(), TimeWindow: yyDollar[3].timeWindowUnion(), OrderBy: yyDollar[4].orderByUnion(), Limit: yyDollar[5].limitUnion(), Ep: yyDollar[6].exportParmUnion(), SelectLockInfo: yyDollar[7].selectLockInfoUnion(), With: yyDollar[1].withClauseUnion()}
 15216  		}
 15217  		yyVAL.union = yyLOCAL
 15218  	case 738:
 15219  		yyDollar = yyS[yypt-4 : yypt+1]
 15220  		var yyLOCAL *tree.Select
 15221  //line mysql_sql.y:4847
 15222  		{
 15223  			yyLOCAL = &tree.Select{Select: yyDollar[2].selectStatementUnion(), OrderBy: yyDollar[3].orderByUnion(), Ep: yyDollar[4].exportParmUnion(), With: yyDollar[1].withClauseUnion()}
 15224  		}
 15225  		yyVAL.union = yyLOCAL
 15226  	case 739:
 15227  		yyDollar = yyS[yypt-5 : yypt+1]
 15228  		var yyLOCAL *tree.Select
 15229  //line mysql_sql.y:4851
 15230  		{
 15231  			yyLOCAL = &tree.Select{Select: yyDollar[2].selectStatementUnion(), OrderBy: yyDollar[3].orderByUnion(), Limit: yyDollar[4].limitUnion(), Ep: yyDollar[5].exportParmUnion(), With: yyDollar[1].withClauseUnion()}
 15232  		}
 15233  		yyVAL.union = yyLOCAL
 15234  	case 740:
 15235  		yyDollar = yyS[yypt-0 : yypt+1]
 15236  		var yyLOCAL *tree.TimeWindow
 15237  //line mysql_sql.y:4856
 15238  		{
 15239  			yyLOCAL = nil
 15240  		}
 15241  		yyVAL.union = yyLOCAL
 15242  	case 741:
 15243  		yyDollar = yyS[yypt-1 : yypt+1]
 15244  		var yyLOCAL *tree.TimeWindow
 15245  //line mysql_sql.y:4860
 15246  		{
 15247  			yyLOCAL = yyDollar[1].timeWindowUnion()
 15248  		}
 15249  		yyVAL.union = yyLOCAL
 15250  	case 742:
 15251  		yyDollar = yyS[yypt-3 : yypt+1]
 15252  		var yyLOCAL *tree.TimeWindow
 15253  //line mysql_sql.y:4866
 15254  		{
 15255  			yyLOCAL = &tree.TimeWindow{
 15256  				Interval: yyDollar[1].timeIntervalUnion(),
 15257  				Sliding:  yyDollar[2].timeSlidingUnion(),
 15258  				Fill:     yyDollar[3].timeFillUnion(),
 15259  			}
 15260  		}
 15261  		yyVAL.union = yyLOCAL
 15262  	case 743:
 15263  		yyDollar = yyS[yypt-8 : yypt+1]
 15264  		var yyLOCAL *tree.Interval
 15265  //line mysql_sql.y:4876
 15266  		{
 15267  			str := fmt.Sprintf("%v", yyDollar[5].item)
 15268  			v, errStr := util.GetInt64(yyDollar[5].item)
 15269  			if errStr != "" {
 15270  				yylex.Error(errStr)
 15271  				goto ret1
 15272  			}
 15273  			yyLOCAL = &tree.Interval{
 15274  				Col:  yyDollar[3].unresolvedNameUnion(),
 15275  				Val:  tree.NewNumValWithType(constant.MakeInt64(v), str, false, tree.P_int64),
 15276  				Unit: yyDollar[7].str,
 15277  			}
 15278  		}
 15279  		yyVAL.union = yyLOCAL
 15280  	case 744:
 15281  		yyDollar = yyS[yypt-0 : yypt+1]
 15282  		var yyLOCAL *tree.Sliding
 15283  //line mysql_sql.y:4891
 15284  		{
 15285  			yyLOCAL = nil
 15286  		}
 15287  		yyVAL.union = yyLOCAL
 15288  	case 745:
 15289  		yyDollar = yyS[yypt-6 : yypt+1]
 15290  		var yyLOCAL *tree.Sliding
 15291  //line mysql_sql.y:4895
 15292  		{
 15293  			str := fmt.Sprintf("%v", yyDollar[3].item)
 15294  			v, errStr := util.GetInt64(yyDollar[3].item)
 15295  			if errStr != "" {
 15296  				yylex.Error(errStr)
 15297  				goto ret1
 15298  			}
 15299  			yyLOCAL = &tree.Sliding{
 15300  				Val:  tree.NewNumValWithType(constant.MakeInt64(v), str, false, tree.P_int64),
 15301  				Unit: yyDollar[5].str,
 15302  			}
 15303  		}
 15304  		yyVAL.union = yyLOCAL
 15305  	case 746:
 15306  		yyDollar = yyS[yypt-0 : yypt+1]
 15307  		var yyLOCAL *tree.Fill
 15308  //line mysql_sql.y:4909
 15309  		{
 15310  			yyLOCAL = nil
 15311  		}
 15312  		yyVAL.union = yyLOCAL
 15313  	case 747:
 15314  		yyDollar = yyS[yypt-4 : yypt+1]
 15315  		var yyLOCAL *tree.Fill
 15316  //line mysql_sql.y:4913
 15317  		{
 15318  			yyLOCAL = &tree.Fill{
 15319  				Mode: yyDollar[3].fillModeUnion(),
 15320  			}
 15321  		}
 15322  		yyVAL.union = yyLOCAL
 15323  	case 748:
 15324  		yyDollar = yyS[yypt-6 : yypt+1]
 15325  		var yyLOCAL *tree.Fill
 15326  //line mysql_sql.y:4919
 15327  		{
 15328  			yyLOCAL = &tree.Fill{
 15329  				Mode: tree.FillValue,
 15330  				Val:  yyDollar[5].exprUnion(),
 15331  			}
 15332  		}
 15333  		yyVAL.union = yyLOCAL
 15334  	case 749:
 15335  		yyDollar = yyS[yypt-1 : yypt+1]
 15336  		var yyLOCAL tree.FillMode
 15337  //line mysql_sql.y:4928
 15338  		{
 15339  			yyLOCAL = tree.FillPrev
 15340  		}
 15341  		yyVAL.union = yyLOCAL
 15342  	case 750:
 15343  		yyDollar = yyS[yypt-1 : yypt+1]
 15344  		var yyLOCAL tree.FillMode
 15345  //line mysql_sql.y:4932
 15346  		{
 15347  			yyLOCAL = tree.FillNext
 15348  		}
 15349  		yyVAL.union = yyLOCAL
 15350  	case 751:
 15351  		yyDollar = yyS[yypt-1 : yypt+1]
 15352  		var yyLOCAL tree.FillMode
 15353  //line mysql_sql.y:4936
 15354  		{
 15355  			yyLOCAL = tree.FillNone
 15356  		}
 15357  		yyVAL.union = yyLOCAL
 15358  	case 752:
 15359  		yyDollar = yyS[yypt-1 : yypt+1]
 15360  		var yyLOCAL tree.FillMode
 15361  //line mysql_sql.y:4940
 15362  		{
 15363  			yyLOCAL = tree.FillNull
 15364  		}
 15365  		yyVAL.union = yyLOCAL
 15366  	case 753:
 15367  		yyDollar = yyS[yypt-1 : yypt+1]
 15368  		var yyLOCAL tree.FillMode
 15369  //line mysql_sql.y:4944
 15370  		{
 15371  			yyLOCAL = tree.FillLinear
 15372  		}
 15373  		yyVAL.union = yyLOCAL
 15374  	case 754:
 15375  		yyDollar = yyS[yypt-2 : yypt+1]
 15376  		var yyLOCAL *tree.With
 15377  //line mysql_sql.y:4950
 15378  		{
 15379  			yyLOCAL = &tree.With{
 15380  				IsRecursive: false,
 15381  				CTEs:        yyDollar[2].cteListUnion(),
 15382  			}
 15383  		}
 15384  		yyVAL.union = yyLOCAL
 15385  	case 755:
 15386  		yyDollar = yyS[yypt-3 : yypt+1]
 15387  		var yyLOCAL *tree.With
 15388  //line mysql_sql.y:4957
 15389  		{
 15390  			yyLOCAL = &tree.With{
 15391  				IsRecursive: true,
 15392  				CTEs:        yyDollar[3].cteListUnion(),
 15393  			}
 15394  		}
 15395  		yyVAL.union = yyLOCAL
 15396  	case 756:
 15397  		yyDollar = yyS[yypt-1 : yypt+1]
 15398  		var yyLOCAL []*tree.CTE
 15399  //line mysql_sql.y:4966
 15400  		{
 15401  			yyLOCAL = []*tree.CTE{yyDollar[1].cteUnion()}
 15402  		}
 15403  		yyVAL.union = yyLOCAL
 15404  	case 757:
 15405  		yyDollar = yyS[yypt-3 : yypt+1]
 15406  		var yyLOCAL []*tree.CTE
 15407  //line mysql_sql.y:4970
 15408  		{
 15409  			yyLOCAL = append(yyDollar[1].cteListUnion(), yyDollar[3].cteUnion())
 15410  		}
 15411  		yyVAL.union = yyLOCAL
 15412  	case 758:
 15413  		yyDollar = yyS[yypt-6 : yypt+1]
 15414  		var yyLOCAL *tree.CTE
 15415  //line mysql_sql.y:4976
 15416  		{
 15417  			yyLOCAL = &tree.CTE{
 15418  				Name: &tree.AliasClause{Alias: tree.Identifier(yyDollar[1].cstrUnion().Compare()), Cols: yyDollar[2].identifierListUnion()},
 15419  				Stmt: yyDollar[5].statementUnion(),
 15420  			}
 15421  		}
 15422  		yyVAL.union = yyLOCAL
 15423  	case 759:
 15424  		yyDollar = yyS[yypt-0 : yypt+1]
 15425  		var yyLOCAL tree.IdentifierList
 15426  //line mysql_sql.y:4984
 15427  		{
 15428  			yyLOCAL = nil
 15429  		}
 15430  		yyVAL.union = yyLOCAL
 15431  	case 760:
 15432  		yyDollar = yyS[yypt-3 : yypt+1]
 15433  		var yyLOCAL tree.IdentifierList
 15434  //line mysql_sql.y:4988
 15435  		{
 15436  			yyLOCAL = yyDollar[2].identifierListUnion()
 15437  		}
 15438  		yyVAL.union = yyLOCAL
 15439  	case 761:
 15440  		yyDollar = yyS[yypt-0 : yypt+1]
 15441  		var yyLOCAL *tree.Limit
 15442  //line mysql_sql.y:4993
 15443  		{
 15444  			yyLOCAL = nil
 15445  		}
 15446  		yyVAL.union = yyLOCAL
 15447  	case 762:
 15448  		yyDollar = yyS[yypt-1 : yypt+1]
 15449  		var yyLOCAL *tree.Limit
 15450  //line mysql_sql.y:4997
 15451  		{
 15452  			yyLOCAL = yyDollar[1].limitUnion()
 15453  		}
 15454  		yyVAL.union = yyLOCAL
 15455  	case 763:
 15456  		yyDollar = yyS[yypt-2 : yypt+1]
 15457  		var yyLOCAL *tree.Limit
 15458  //line mysql_sql.y:5003
 15459  		{
 15460  			yyLOCAL = &tree.Limit{Count: yyDollar[2].exprUnion()}
 15461  		}
 15462  		yyVAL.union = yyLOCAL
 15463  	case 764:
 15464  		yyDollar = yyS[yypt-4 : yypt+1]
 15465  		var yyLOCAL *tree.Limit
 15466  //line mysql_sql.y:5007
 15467  		{
 15468  			yyLOCAL = &tree.Limit{Offset: yyDollar[2].exprUnion(), Count: yyDollar[4].exprUnion()}
 15469  		}
 15470  		yyVAL.union = yyLOCAL
 15471  	case 765:
 15472  		yyDollar = yyS[yypt-4 : yypt+1]
 15473  		var yyLOCAL *tree.Limit
 15474  //line mysql_sql.y:5011
 15475  		{
 15476  			yyLOCAL = &tree.Limit{Offset: yyDollar[4].exprUnion(), Count: yyDollar[2].exprUnion()}
 15477  		}
 15478  		yyVAL.union = yyLOCAL
 15479  	case 766:
 15480  		yyDollar = yyS[yypt-0 : yypt+1]
 15481  		var yyLOCAL tree.OrderBy
 15482  //line mysql_sql.y:5016
 15483  		{
 15484  			yyLOCAL = nil
 15485  		}
 15486  		yyVAL.union = yyLOCAL
 15487  	case 767:
 15488  		yyDollar = yyS[yypt-1 : yypt+1]
 15489  		var yyLOCAL tree.OrderBy
 15490  //line mysql_sql.y:5020
 15491  		{
 15492  			yyLOCAL = yyDollar[1].orderByUnion()
 15493  		}
 15494  		yyVAL.union = yyLOCAL
 15495  	case 768:
 15496  		yyDollar = yyS[yypt-3 : yypt+1]
 15497  		var yyLOCAL tree.OrderBy
 15498  //line mysql_sql.y:5026
 15499  		{
 15500  			yyLOCAL = yyDollar[3].orderByUnion()
 15501  		}
 15502  		yyVAL.union = yyLOCAL
 15503  	case 769:
 15504  		yyDollar = yyS[yypt-1 : yypt+1]
 15505  		var yyLOCAL tree.OrderBy
 15506  //line mysql_sql.y:5032
 15507  		{
 15508  			yyLOCAL = tree.OrderBy{yyDollar[1].orderUnion()}
 15509  		}
 15510  		yyVAL.union = yyLOCAL
 15511  	case 770:
 15512  		yyDollar = yyS[yypt-3 : yypt+1]
 15513  		var yyLOCAL tree.OrderBy
 15514  //line mysql_sql.y:5036
 15515  		{
 15516  			yyLOCAL = append(yyDollar[1].orderByUnion(), yyDollar[3].orderUnion())
 15517  		}
 15518  		yyVAL.union = yyLOCAL
 15519  	case 771:
 15520  		yyDollar = yyS[yypt-3 : yypt+1]
 15521  		var yyLOCAL *tree.Order
 15522  //line mysql_sql.y:5042
 15523  		{
 15524  			yyLOCAL = &tree.Order{Expr: yyDollar[1].exprUnion(), Direction: yyDollar[2].directionUnion(), NullsPosition: yyDollar[3].nullsPositionUnion()}
 15525  		}
 15526  		yyVAL.union = yyLOCAL
 15527  	case 772:
 15528  		yyDollar = yyS[yypt-0 : yypt+1]
 15529  		var yyLOCAL tree.Direction
 15530  //line mysql_sql.y:5047
 15531  		{
 15532  			yyLOCAL = tree.DefaultDirection
 15533  		}
 15534  		yyVAL.union = yyLOCAL
 15535  	case 773:
 15536  		yyDollar = yyS[yypt-1 : yypt+1]
 15537  		var yyLOCAL tree.Direction
 15538  //line mysql_sql.y:5051
 15539  		{
 15540  			yyLOCAL = tree.Ascending
 15541  		}
 15542  		yyVAL.union = yyLOCAL
 15543  	case 774:
 15544  		yyDollar = yyS[yypt-1 : yypt+1]
 15545  		var yyLOCAL tree.Direction
 15546  //line mysql_sql.y:5055
 15547  		{
 15548  			yyLOCAL = tree.Descending
 15549  		}
 15550  		yyVAL.union = yyLOCAL
 15551  	case 775:
 15552  		yyDollar = yyS[yypt-0 : yypt+1]
 15553  		var yyLOCAL tree.NullsPosition
 15554  //line mysql_sql.y:5060
 15555  		{
 15556  			yyLOCAL = tree.DefaultNullsPosition
 15557  		}
 15558  		yyVAL.union = yyLOCAL
 15559  	case 776:
 15560  		yyDollar = yyS[yypt-2 : yypt+1]
 15561  		var yyLOCAL tree.NullsPosition
 15562  //line mysql_sql.y:5064
 15563  		{
 15564  			yyLOCAL = tree.NullsFirst
 15565  		}
 15566  		yyVAL.union = yyLOCAL
 15567  	case 777:
 15568  		yyDollar = yyS[yypt-2 : yypt+1]
 15569  		var yyLOCAL tree.NullsPosition
 15570  //line mysql_sql.y:5068
 15571  		{
 15572  			yyLOCAL = tree.NullsLast
 15573  		}
 15574  		yyVAL.union = yyLOCAL
 15575  	case 778:
 15576  		yyDollar = yyS[yypt-0 : yypt+1]
 15577  		var yyLOCAL *tree.SelectLockInfo
 15578  //line mysql_sql.y:5073
 15579  		{
 15580  			yyLOCAL = nil
 15581  		}
 15582  		yyVAL.union = yyLOCAL
 15583  	case 779:
 15584  		yyDollar = yyS[yypt-2 : yypt+1]
 15585  		var yyLOCAL *tree.SelectLockInfo
 15586  //line mysql_sql.y:5077
 15587  		{
 15588  			yyLOCAL = &tree.SelectLockInfo{
 15589  				LockType: tree.SelectLockForUpdate,
 15590  			}
 15591  		}
 15592  		yyVAL.union = yyLOCAL
 15593  	case 780:
 15594  		yyDollar = yyS[yypt-3 : yypt+1]
 15595  		var yyLOCAL tree.SelectStatement
 15596  //line mysql_sql.y:5085
 15597  		{
 15598  			yyLOCAL = &tree.ParenSelect{Select: yyDollar[2].selectUnion()}
 15599  		}
 15600  		yyVAL.union = yyLOCAL
 15601  	case 781:
 15602  		yyDollar = yyS[yypt-3 : yypt+1]
 15603  		var yyLOCAL tree.SelectStatement
 15604  //line mysql_sql.y:5089
 15605  		{
 15606  			yyLOCAL = &tree.ParenSelect{Select: &tree.Select{Select: yyDollar[2].selectStatementUnion()}}
 15607  		}
 15608  		yyVAL.union = yyLOCAL
 15609  	case 782:
 15610  		yyDollar = yyS[yypt-3 : yypt+1]
 15611  		var yyLOCAL tree.SelectStatement
 15612  //line mysql_sql.y:5093
 15613  		{
 15614  			valuesStmt := yyDollar[2].statementUnion().(*tree.ValuesStatement)
 15615  			yyLOCAL = &tree.ParenSelect{Select: &tree.Select{
 15616  				Select: &tree.ValuesClause{
 15617  					Rows:    valuesStmt.Rows,
 15618  					RowWord: true,
 15619  				},
 15620  				OrderBy: valuesStmt.OrderBy,
 15621  				Limit:   valuesStmt.Limit,
 15622  			}}
 15623  		}
 15624  		yyVAL.union = yyLOCAL
 15625  	case 783:
 15626  		yyDollar = yyS[yypt-1 : yypt+1]
 15627  		var yyLOCAL tree.SelectStatement
 15628  //line mysql_sql.y:5107
 15629  		{
 15630  			yyLOCAL = yyDollar[1].selectStatementUnion()
 15631  		}
 15632  		yyVAL.union = yyLOCAL
 15633  	case 784:
 15634  		yyDollar = yyS[yypt-3 : yypt+1]
 15635  		var yyLOCAL tree.SelectStatement
 15636  //line mysql_sql.y:5111
 15637  		{
 15638  			yyLOCAL = &tree.UnionClause{
 15639  				Type:     yyDollar[2].unionTypeRecordUnion().Type,
 15640  				Left:     yyDollar[1].selectStatementUnion(),
 15641  				Right:    yyDollar[3].selectStatementUnion(),
 15642  				All:      yyDollar[2].unionTypeRecordUnion().All,
 15643  				Distinct: yyDollar[2].unionTypeRecordUnion().Distinct,
 15644  			}
 15645  		}
 15646  		yyVAL.union = yyLOCAL
 15647  	case 785:
 15648  		yyDollar = yyS[yypt-3 : yypt+1]
 15649  		var yyLOCAL tree.SelectStatement
 15650  //line mysql_sql.y:5121
 15651  		{
 15652  			yyLOCAL = &tree.UnionClause{
 15653  				Type:     yyDollar[2].unionTypeRecordUnion().Type,
 15654  				Left:     yyDollar[1].selectStatementUnion(),
 15655  				Right:    yyDollar[3].selectStatementUnion(),
 15656  				All:      yyDollar[2].unionTypeRecordUnion().All,
 15657  				Distinct: yyDollar[2].unionTypeRecordUnion().Distinct,
 15658  			}
 15659  		}
 15660  		yyVAL.union = yyLOCAL
 15661  	case 786:
 15662  		yyDollar = yyS[yypt-3 : yypt+1]
 15663  		var yyLOCAL tree.SelectStatement
 15664  //line mysql_sql.y:5131
 15665  		{
 15666  			yyLOCAL = &tree.UnionClause{
 15667  				Type:     yyDollar[2].unionTypeRecordUnion().Type,
 15668  				Left:     yyDollar[1].selectStatementUnion(),
 15669  				Right:    yyDollar[3].selectStatementUnion(),
 15670  				All:      yyDollar[2].unionTypeRecordUnion().All,
 15671  				Distinct: yyDollar[2].unionTypeRecordUnion().Distinct,
 15672  			}
 15673  		}
 15674  		yyVAL.union = yyLOCAL
 15675  	case 787:
 15676  		yyDollar = yyS[yypt-3 : yypt+1]
 15677  		var yyLOCAL tree.SelectStatement
 15678  //line mysql_sql.y:5141
 15679  		{
 15680  			yyLOCAL = &tree.UnionClause{
 15681  				Type:     yyDollar[2].unionTypeRecordUnion().Type,
 15682  				Left:     yyDollar[1].selectStatementUnion(),
 15683  				Right:    yyDollar[3].selectStatementUnion(),
 15684  				All:      yyDollar[2].unionTypeRecordUnion().All,
 15685  				Distinct: yyDollar[2].unionTypeRecordUnion().Distinct,
 15686  			}
 15687  		}
 15688  		yyVAL.union = yyLOCAL
 15689  	case 788:
 15690  		yyDollar = yyS[yypt-1 : yypt+1]
 15691  		var yyLOCAL *tree.UnionTypeRecord
 15692  //line mysql_sql.y:5153
 15693  		{
 15694  			yyLOCAL = &tree.UnionTypeRecord{
 15695  				Type:     tree.UNION,
 15696  				All:      false,
 15697  				Distinct: false,
 15698  			}
 15699  		}
 15700  		yyVAL.union = yyLOCAL
 15701  	case 789:
 15702  		yyDollar = yyS[yypt-2 : yypt+1]
 15703  		var yyLOCAL *tree.UnionTypeRecord
 15704  //line mysql_sql.y:5161
 15705  		{
 15706  			yyLOCAL = &tree.UnionTypeRecord{
 15707  				Type:     tree.UNION,
 15708  				All:      true,
 15709  				Distinct: false,
 15710  			}
 15711  		}
 15712  		yyVAL.union = yyLOCAL
 15713  	case 790:
 15714  		yyDollar = yyS[yypt-2 : yypt+1]
 15715  		var yyLOCAL *tree.UnionTypeRecord
 15716  //line mysql_sql.y:5169
 15717  		{
 15718  			yyLOCAL = &tree.UnionTypeRecord{
 15719  				Type:     tree.UNION,
 15720  				All:      false,
 15721  				Distinct: true,
 15722  			}
 15723  		}
 15724  		yyVAL.union = yyLOCAL
 15725  	case 791:
 15726  		yyDollar = yyS[yypt-1 : yypt+1]
 15727  		var yyLOCAL *tree.UnionTypeRecord
 15728  //line mysql_sql.y:5178
 15729  		{
 15730  			yyLOCAL = &tree.UnionTypeRecord{
 15731  				Type:     tree.EXCEPT,
 15732  				All:      false,
 15733  				Distinct: false,
 15734  			}
 15735  		}
 15736  		yyVAL.union = yyLOCAL
 15737  	case 792:
 15738  		yyDollar = yyS[yypt-2 : yypt+1]
 15739  		var yyLOCAL *tree.UnionTypeRecord
 15740  //line mysql_sql.y:5186
 15741  		{
 15742  			yyLOCAL = &tree.UnionTypeRecord{
 15743  				Type:     tree.EXCEPT,
 15744  				All:      true,
 15745  				Distinct: false,
 15746  			}
 15747  		}
 15748  		yyVAL.union = yyLOCAL
 15749  	case 793:
 15750  		yyDollar = yyS[yypt-2 : yypt+1]
 15751  		var yyLOCAL *tree.UnionTypeRecord
 15752  //line mysql_sql.y:5194
 15753  		{
 15754  			yyLOCAL = &tree.UnionTypeRecord{
 15755  				Type:     tree.EXCEPT,
 15756  				All:      false,
 15757  				Distinct: true,
 15758  			}
 15759  		}
 15760  		yyVAL.union = yyLOCAL
 15761  	case 794:
 15762  		yyDollar = yyS[yypt-1 : yypt+1]
 15763  		var yyLOCAL *tree.UnionTypeRecord
 15764  //line mysql_sql.y:5202
 15765  		{
 15766  			yyLOCAL = &tree.UnionTypeRecord{
 15767  				Type:     tree.INTERSECT,
 15768  				All:      false,
 15769  				Distinct: false,
 15770  			}
 15771  		}
 15772  		yyVAL.union = yyLOCAL
 15773  	case 795:
 15774  		yyDollar = yyS[yypt-2 : yypt+1]
 15775  		var yyLOCAL *tree.UnionTypeRecord
 15776  //line mysql_sql.y:5210
 15777  		{
 15778  			yyLOCAL = &tree.UnionTypeRecord{
 15779  				Type:     tree.INTERSECT,
 15780  				All:      true,
 15781  				Distinct: false,
 15782  			}
 15783  		}
 15784  		yyVAL.union = yyLOCAL
 15785  	case 796:
 15786  		yyDollar = yyS[yypt-2 : yypt+1]
 15787  		var yyLOCAL *tree.UnionTypeRecord
 15788  //line mysql_sql.y:5218
 15789  		{
 15790  			yyLOCAL = &tree.UnionTypeRecord{
 15791  				Type:     tree.INTERSECT,
 15792  				All:      false,
 15793  				Distinct: true,
 15794  			}
 15795  		}
 15796  		yyVAL.union = yyLOCAL
 15797  	case 797:
 15798  		yyDollar = yyS[yypt-1 : yypt+1]
 15799  		var yyLOCAL *tree.UnionTypeRecord
 15800  //line mysql_sql.y:5226
 15801  		{
 15802  			yyLOCAL = &tree.UnionTypeRecord{
 15803  				Type:     tree.UT_MINUS,
 15804  				All:      false,
 15805  				Distinct: false,
 15806  			}
 15807  		}
 15808  		yyVAL.union = yyLOCAL
 15809  	case 798:
 15810  		yyDollar = yyS[yypt-2 : yypt+1]
 15811  		var yyLOCAL *tree.UnionTypeRecord
 15812  //line mysql_sql.y:5234
 15813  		{
 15814  			yyLOCAL = &tree.UnionTypeRecord{
 15815  				Type:     tree.UT_MINUS,
 15816  				All:      true,
 15817  				Distinct: false,
 15818  			}
 15819  		}
 15820  		yyVAL.union = yyLOCAL
 15821  	case 799:
 15822  		yyDollar = yyS[yypt-2 : yypt+1]
 15823  		var yyLOCAL *tree.UnionTypeRecord
 15824  //line mysql_sql.y:5242
 15825  		{
 15826  			yyLOCAL = &tree.UnionTypeRecord{
 15827  				Type:     tree.UT_MINUS,
 15828  				All:      false,
 15829  				Distinct: true,
 15830  			}
 15831  		}
 15832  		yyVAL.union = yyLOCAL
 15833  	case 800:
 15834  		yyDollar = yyS[yypt-7 : yypt+1]
 15835  		var yyLOCAL tree.SelectStatement
 15836  //line mysql_sql.y:5252
 15837  		{
 15838  			yyLOCAL = &tree.SelectClause{
 15839  				Distinct: yyDollar[2].boolValUnion(),
 15840  				Exprs:    yyDollar[3].selectExprsUnion(),
 15841  				From:     yyDollar[4].fromUnion(),
 15842  				Where:    yyDollar[5].whereUnion(),
 15843  				GroupBy:  yyDollar[6].groupByUnion(),
 15844  				Having:   yyDollar[7].whereUnion(),
 15845  			}
 15846  		}
 15847  		yyVAL.union = yyLOCAL
 15848  	case 801:
 15849  		yyDollar = yyS[yypt-7 : yypt+1]
 15850  		var yyLOCAL tree.SelectStatement
 15851  //line mysql_sql.y:5263
 15852  		{
 15853  			yyLOCAL = &tree.SelectClause{
 15854  				Distinct: false,
 15855  				Exprs:    yyDollar[3].selectExprsUnion(),
 15856  				From:     yyDollar[4].fromUnion(),
 15857  				Where:    yyDollar[5].whereUnion(),
 15858  				GroupBy:  yyDollar[6].groupByUnion(),
 15859  				Having:   yyDollar[7].whereUnion(),
 15860  				Option:   yyDollar[2].str,
 15861  			}
 15862  		}
 15863  		yyVAL.union = yyLOCAL
 15864  	case 802:
 15865  		yyDollar = yyS[yypt-1 : yypt+1]
 15866  //line mysql_sql.y:5277
 15867  		{
 15868  			yyVAL.str = strings.ToLower(yyDollar[1].str)
 15869  		}
 15870  	case 803:
 15871  		yyDollar = yyS[yypt-1 : yypt+1]
 15872  //line mysql_sql.y:5281
 15873  		{
 15874  			yyVAL.str = strings.ToLower(yyDollar[1].str)
 15875  		}
 15876  	case 804:
 15877  		yyDollar = yyS[yypt-1 : yypt+1]
 15878  //line mysql_sql.y:5285
 15879  		{
 15880  			yyVAL.str = strings.ToLower(yyDollar[1].str)
 15881  		}
 15882  	case 805:
 15883  		yyDollar = yyS[yypt-0 : yypt+1]
 15884  		var yyLOCAL bool
 15885  //line mysql_sql.y:5290
 15886  		{
 15887  			yyLOCAL = false
 15888  		}
 15889  		yyVAL.union = yyLOCAL
 15890  	case 806:
 15891  		yyDollar = yyS[yypt-1 : yypt+1]
 15892  		var yyLOCAL bool
 15893  //line mysql_sql.y:5294
 15894  		{
 15895  			yyLOCAL = false
 15896  		}
 15897  		yyVAL.union = yyLOCAL
 15898  	case 807:
 15899  		yyDollar = yyS[yypt-1 : yypt+1]
 15900  		var yyLOCAL bool
 15901  //line mysql_sql.y:5298
 15902  		{
 15903  			yyLOCAL = true
 15904  		}
 15905  		yyVAL.union = yyLOCAL
 15906  	case 810:
 15907  		yyDollar = yyS[yypt-0 : yypt+1]
 15908  		var yyLOCAL *tree.Where
 15909  //line mysql_sql.y:5307
 15910  		{
 15911  			yyLOCAL = nil
 15912  		}
 15913  		yyVAL.union = yyLOCAL
 15914  	case 811:
 15915  		yyDollar = yyS[yypt-2 : yypt+1]
 15916  		var yyLOCAL *tree.Where
 15917  //line mysql_sql.y:5311
 15918  		{
 15919  			yyLOCAL = &tree.Where{Type: tree.AstHaving, Expr: yyDollar[2].exprUnion()}
 15920  		}
 15921  		yyVAL.union = yyLOCAL
 15922  	case 812:
 15923  		yyDollar = yyS[yypt-0 : yypt+1]
 15924  		var yyLOCAL tree.GroupBy
 15925  //line mysql_sql.y:5316
 15926  		{
 15927  			yyLOCAL = nil
 15928  		}
 15929  		yyVAL.union = yyLOCAL
 15930  	case 813:
 15931  		yyDollar = yyS[yypt-3 : yypt+1]
 15932  		var yyLOCAL tree.GroupBy
 15933  //line mysql_sql.y:5320
 15934  		{
 15935  			yyLOCAL = tree.GroupBy(yyDollar[3].exprsUnion())
 15936  		}
 15937  		yyVAL.union = yyLOCAL
 15938  	case 814:
 15939  		yyDollar = yyS[yypt-0 : yypt+1]
 15940  		var yyLOCAL *tree.Where
 15941  //line mysql_sql.y:5325
 15942  		{
 15943  			yyLOCAL = nil
 15944  		}
 15945  		yyVAL.union = yyLOCAL
 15946  	case 815:
 15947  		yyDollar = yyS[yypt-2 : yypt+1]
 15948  		var yyLOCAL *tree.Where
 15949  //line mysql_sql.y:5329
 15950  		{
 15951  			yyLOCAL = &tree.Where{Type: tree.AstWhere, Expr: yyDollar[2].exprUnion()}
 15952  		}
 15953  		yyVAL.union = yyLOCAL
 15954  	case 816:
 15955  		yyDollar = yyS[yypt-1 : yypt+1]
 15956  		var yyLOCAL tree.SelectExprs
 15957  //line mysql_sql.y:5335
 15958  		{
 15959  			yyLOCAL = tree.SelectExprs{yyDollar[1].selectExprUnion()}
 15960  		}
 15961  		yyVAL.union = yyLOCAL
 15962  	case 817:
 15963  		yyDollar = yyS[yypt-3 : yypt+1]
 15964  		var yyLOCAL tree.SelectExprs
 15965  //line mysql_sql.y:5339
 15966  		{
 15967  			yyLOCAL = append(yyDollar[1].selectExprsUnion(), yyDollar[3].selectExprUnion())
 15968  		}
 15969  		yyVAL.union = yyLOCAL
 15970  	case 818:
 15971  		yyDollar = yyS[yypt-1 : yypt+1]
 15972  		var yyLOCAL tree.SelectExpr
 15973  //line mysql_sql.y:5345
 15974  		{
 15975  			yyLOCAL = tree.SelectExpr{Expr: tree.StarExpr()}
 15976  		}
 15977  		yyVAL.union = yyLOCAL
 15978  	case 819:
 15979  		yyDollar = yyS[yypt-2 : yypt+1]
 15980  		var yyLOCAL tree.SelectExpr
 15981  //line mysql_sql.y:5349
 15982  		{
 15983  			yyDollar[2].cstrUnion().SetConfig(0)
 15984  			yyLOCAL = tree.SelectExpr{Expr: yyDollar[1].exprUnion(), As: yyDollar[2].cstrUnion()}
 15985  		}
 15986  		yyVAL.union = yyLOCAL
 15987  	case 820:
 15988  		yyDollar = yyS[yypt-3 : yypt+1]
 15989  		var yyLOCAL tree.SelectExpr
 15990  //line mysql_sql.y:5354
 15991  		{
 15992  			yyLOCAL = tree.SelectExpr{Expr: tree.SetUnresolvedNameWithStar(yyDollar[1].cstrUnion().Compare())}
 15993  		}
 15994  		yyVAL.union = yyLOCAL
 15995  	case 821:
 15996  		yyDollar = yyS[yypt-5 : yypt+1]
 15997  		var yyLOCAL tree.SelectExpr
 15998  //line mysql_sql.y:5358
 15999  		{
 16000  			yyLOCAL = tree.SelectExpr{Expr: tree.SetUnresolvedNameWithStar(yyDollar[3].cstrUnion().Compare(), yyDollar[1].cstrUnion().Compare())}
 16001  		}
 16002  		yyVAL.union = yyLOCAL
 16003  	case 822:
 16004  		yyDollar = yyS[yypt-0 : yypt+1]
 16005  		var yyLOCAL *tree.From
 16006  //line mysql_sql.y:5363
 16007  		{
 16008  			prefix := tree.ObjectNamePrefix{ExplicitSchema: false}
 16009  			tn := tree.NewTableName(tree.Identifier(""), prefix, nil)
 16010  			yyLOCAL = &tree.From{
 16011  				Tables: tree.TableExprs{&tree.AliasedTableExpr{Expr: tn}},
 16012  			}
 16013  		}
 16014  		yyVAL.union = yyLOCAL
 16015  	case 823:
 16016  		yyDollar = yyS[yypt-1 : yypt+1]
 16017  		var yyLOCAL *tree.From
 16018  //line mysql_sql.y:5371
 16019  		{
 16020  			yyLOCAL = yyDollar[1].fromUnion()
 16021  		}
 16022  		yyVAL.union = yyLOCAL
 16023  	case 824:
 16024  		yyDollar = yyS[yypt-2 : yypt+1]
 16025  		var yyLOCAL *tree.From
 16026  //line mysql_sql.y:5377
 16027  		{
 16028  			yyLOCAL = &tree.From{
 16029  				Tables: tree.TableExprs{yyDollar[2].joinTableExprUnion()},
 16030  			}
 16031  		}
 16032  		yyVAL.union = yyLOCAL
 16033  	case 825:
 16034  		yyDollar = yyS[yypt-1 : yypt+1]
 16035  		var yyLOCAL *tree.JoinTableExpr
 16036  //line mysql_sql.y:5385
 16037  		{
 16038  			if t, ok := yyDollar[1].tableExprUnion().(*tree.JoinTableExpr); ok {
 16039  				yyLOCAL = t
 16040  			} else {
 16041  				yyLOCAL = &tree.JoinTableExpr{Left: yyDollar[1].tableExprUnion(), Right: nil, JoinType: tree.JOIN_TYPE_CROSS}
 16042  			}
 16043  		}
 16044  		yyVAL.union = yyLOCAL
 16045  	case 826:
 16046  		yyDollar = yyS[yypt-3 : yypt+1]
 16047  		var yyLOCAL *tree.JoinTableExpr
 16048  //line mysql_sql.y:5393
 16049  		{
 16050  			yyLOCAL = &tree.JoinTableExpr{Left: yyDollar[1].joinTableExprUnion(), Right: yyDollar[3].tableExprUnion(), JoinType: tree.JOIN_TYPE_CROSS}
 16051  		}
 16052  		yyVAL.union = yyLOCAL
 16053  	case 829:
 16054  		yyDollar = yyS[yypt-1 : yypt+1]
 16055  		var yyLOCAL tree.TableExpr
 16056  //line mysql_sql.y:5403
 16057  		{
 16058  			yyLOCAL = yyDollar[1].joinTableExprUnion()
 16059  		}
 16060  		yyVAL.union = yyLOCAL
 16061  	case 830:
 16062  		yyDollar = yyS[yypt-4 : yypt+1]
 16063  		var yyLOCAL *tree.JoinTableExpr
 16064  //line mysql_sql.y:5409
 16065  		{
 16066  			yyLOCAL = &tree.JoinTableExpr{
 16067  				Left:     yyDollar[1].tableExprUnion(),
 16068  				JoinType: yyDollar[2].str,
 16069  				Right:    yyDollar[3].tableExprUnion(),
 16070  				Cond:     yyDollar[4].joinCondUnion(),
 16071  			}
 16072  		}
 16073  		yyVAL.union = yyLOCAL
 16074  	case 831:
 16075  		yyDollar = yyS[yypt-4 : yypt+1]
 16076  		var yyLOCAL *tree.JoinTableExpr
 16077  //line mysql_sql.y:5418
 16078  		{
 16079  			yyLOCAL = &tree.JoinTableExpr{
 16080  				Left:     yyDollar[1].tableExprUnion(),
 16081  				JoinType: yyDollar[2].str,
 16082  				Right:    yyDollar[3].tableExprUnion(),
 16083  				Cond:     yyDollar[4].joinCondUnion(),
 16084  			}
 16085  		}
 16086  		yyVAL.union = yyLOCAL
 16087  	case 832:
 16088  		yyDollar = yyS[yypt-4 : yypt+1]
 16089  		var yyLOCAL *tree.JoinTableExpr
 16090  //line mysql_sql.y:5427
 16091  		{
 16092  			yyLOCAL = &tree.JoinTableExpr{
 16093  				Left:     yyDollar[1].tableExprUnion(),
 16094  				JoinType: yyDollar[2].str,
 16095  				Right:    yyDollar[3].tableExprUnion(),
 16096  				Cond:     yyDollar[4].joinCondUnion(),
 16097  			}
 16098  		}
 16099  		yyVAL.union = yyLOCAL
 16100  	case 833:
 16101  		yyDollar = yyS[yypt-3 : yypt+1]
 16102  		var yyLOCAL *tree.JoinTableExpr
 16103  //line mysql_sql.y:5436
 16104  		{
 16105  			yyLOCAL = &tree.JoinTableExpr{
 16106  				Left:     yyDollar[1].tableExprUnion(),
 16107  				JoinType: yyDollar[2].str,
 16108  				Right:    yyDollar[3].tableExprUnion(),
 16109  			}
 16110  		}
 16111  		yyVAL.union = yyLOCAL
 16112  	case 834:
 16113  		yyDollar = yyS[yypt-2 : yypt+1]
 16114  //line mysql_sql.y:5446
 16115  		{
 16116  			yyVAL.str = tree.JOIN_TYPE_NATURAL
 16117  		}
 16118  	case 835:
 16119  		yyDollar = yyS[yypt-2 : yypt+1]
 16120  //line mysql_sql.y:5450
 16121  		{
 16122  			if yyDollar[2].str == tree.JOIN_TYPE_LEFT {
 16123  				yyVAL.str = tree.JOIN_TYPE_NATURAL_LEFT
 16124  			} else {
 16125  				yyVAL.str = tree.JOIN_TYPE_NATURAL_RIGHT
 16126  			}
 16127  		}
 16128  	case 836:
 16129  		yyDollar = yyS[yypt-2 : yypt+1]
 16130  //line mysql_sql.y:5460
 16131  		{
 16132  			yyVAL.str = tree.JOIN_TYPE_LEFT
 16133  		}
 16134  	case 837:
 16135  		yyDollar = yyS[yypt-3 : yypt+1]
 16136  //line mysql_sql.y:5464
 16137  		{
 16138  			yyVAL.str = tree.JOIN_TYPE_LEFT
 16139  		}
 16140  	case 838:
 16141  		yyDollar = yyS[yypt-2 : yypt+1]
 16142  //line mysql_sql.y:5468
 16143  		{
 16144  			yyVAL.str = tree.JOIN_TYPE_RIGHT
 16145  		}
 16146  	case 839:
 16147  		yyDollar = yyS[yypt-3 : yypt+1]
 16148  //line mysql_sql.y:5472
 16149  		{
 16150  			yyVAL.str = tree.JOIN_TYPE_RIGHT
 16151  		}
 16152  	case 840:
 16153  		yyDollar = yyS[yypt-4 : yypt+1]
 16154  		var yyLOCAL tree.Statement
 16155  //line mysql_sql.y:5478
 16156  		{
 16157  			yyLOCAL = &tree.ValuesStatement{
 16158  				Rows:    yyDollar[2].rowsExprsUnion(),
 16159  				OrderBy: yyDollar[3].orderByUnion(),
 16160  				Limit:   yyDollar[4].limitUnion(),
 16161  			}
 16162  		}
 16163  		yyVAL.union = yyLOCAL
 16164  	case 841:
 16165  		yyDollar = yyS[yypt-1 : yypt+1]
 16166  		var yyLOCAL []tree.Exprs
 16167  //line mysql_sql.y:5488
 16168  		{
 16169  			yyLOCAL = []tree.Exprs{yyDollar[1].exprsUnion()}
 16170  		}
 16171  		yyVAL.union = yyLOCAL
 16172  	case 842:
 16173  		yyDollar = yyS[yypt-3 : yypt+1]
 16174  		var yyLOCAL []tree.Exprs
 16175  //line mysql_sql.y:5492
 16176  		{
 16177  			yyLOCAL = append(yyDollar[1].rowsExprsUnion(), yyDollar[3].exprsUnion())
 16178  		}
 16179  		yyVAL.union = yyLOCAL
 16180  	case 843:
 16181  		yyDollar = yyS[yypt-4 : yypt+1]
 16182  		var yyLOCAL tree.Exprs
 16183  //line mysql_sql.y:5498
 16184  		{
 16185  			yyLOCAL = yyDollar[3].exprsUnion()
 16186  		}
 16187  		yyVAL.union = yyLOCAL
 16188  	case 844:
 16189  		yyDollar = yyS[yypt-0 : yypt+1]
 16190  		var yyLOCAL tree.JoinCond
 16191  //line mysql_sql.y:5504
 16192  		{
 16193  			yyLOCAL = nil
 16194  		}
 16195  		yyVAL.union = yyLOCAL
 16196  	case 845:
 16197  		yyDollar = yyS[yypt-2 : yypt+1]
 16198  		var yyLOCAL tree.JoinCond
 16199  //line mysql_sql.y:5508
 16200  		{
 16201  			yyLOCAL = &tree.OnJoinCond{Expr: yyDollar[2].exprUnion()}
 16202  		}
 16203  		yyVAL.union = yyLOCAL
 16204  	case 846:
 16205  		yyDollar = yyS[yypt-1 : yypt+1]
 16206  //line mysql_sql.y:5514
 16207  		{
 16208  			yyVAL.str = tree.JOIN_TYPE_STRAIGHT
 16209  		}
 16210  	case 847:
 16211  		yyDollar = yyS[yypt-1 : yypt+1]
 16212  //line mysql_sql.y:5520
 16213  		{
 16214  			yyVAL.str = tree.JOIN_TYPE_INNER
 16215  		}
 16216  	case 848:
 16217  		yyDollar = yyS[yypt-2 : yypt+1]
 16218  //line mysql_sql.y:5524
 16219  		{
 16220  			yyVAL.str = tree.JOIN_TYPE_INNER
 16221  		}
 16222  	case 849:
 16223  		yyDollar = yyS[yypt-2 : yypt+1]
 16224  //line mysql_sql.y:5528
 16225  		{
 16226  			yyVAL.str = tree.JOIN_TYPE_CROSS
 16227  		}
 16228  	case 850:
 16229  		yyDollar = yyS[yypt-0 : yypt+1]
 16230  		var yyLOCAL tree.JoinCond
 16231  //line mysql_sql.y:5534
 16232  		{
 16233  			yyLOCAL = nil
 16234  		}
 16235  		yyVAL.union = yyLOCAL
 16236  	case 851:
 16237  		yyDollar = yyS[yypt-1 : yypt+1]
 16238  		var yyLOCAL tree.JoinCond
 16239  //line mysql_sql.y:5538
 16240  		{
 16241  			yyLOCAL = yyDollar[1].joinCondUnion()
 16242  		}
 16243  		yyVAL.union = yyLOCAL
 16244  	case 852:
 16245  		yyDollar = yyS[yypt-2 : yypt+1]
 16246  		var yyLOCAL tree.JoinCond
 16247  //line mysql_sql.y:5544
 16248  		{
 16249  			yyLOCAL = &tree.OnJoinCond{Expr: yyDollar[2].exprUnion()}
 16250  		}
 16251  		yyVAL.union = yyLOCAL
 16252  	case 853:
 16253  		yyDollar = yyS[yypt-4 : yypt+1]
 16254  		var yyLOCAL tree.JoinCond
 16255  //line mysql_sql.y:5548
 16256  		{
 16257  			yyLOCAL = &tree.UsingJoinCond{Cols: yyDollar[3].identifierListUnion()}
 16258  		}
 16259  		yyVAL.union = yyLOCAL
 16260  	case 854:
 16261  		yyDollar = yyS[yypt-1 : yypt+1]
 16262  		var yyLOCAL tree.IdentifierList
 16263  //line mysql_sql.y:5554
 16264  		{
 16265  			yyLOCAL = tree.IdentifierList{tree.Identifier(yyDollar[1].cstrUnion().Compare())}
 16266  		}
 16267  		yyVAL.union = yyLOCAL
 16268  	case 855:
 16269  		yyDollar = yyS[yypt-3 : yypt+1]
 16270  		var yyLOCAL tree.IdentifierList
 16271  //line mysql_sql.y:5558
 16272  		{
 16273  			yyLOCAL = append(yyDollar[1].identifierListUnion(), tree.Identifier(yyDollar[3].cstrUnion().Compare()))
 16274  		}
 16275  		yyVAL.union = yyLOCAL
 16276  	case 856:
 16277  		yyDollar = yyS[yypt-1 : yypt+1]
 16278  		var yyLOCAL tree.TableExpr
 16279  //line mysql_sql.y:5564
 16280  		{
 16281  			yyLOCAL = yyDollar[1].aliasedTableExprUnion()
 16282  		}
 16283  		yyVAL.union = yyLOCAL
 16284  	case 857:
 16285  		yyDollar = yyS[yypt-3 : yypt+1]
 16286  		var yyLOCAL tree.TableExpr
 16287  //line mysql_sql.y:5568
 16288  		{
 16289  			yyLOCAL = &tree.AliasedTableExpr{
 16290  				Expr: yyDollar[1].parenTableExprUnion(),
 16291  				As: tree.AliasClause{
 16292  					Alias: tree.Identifier(yyDollar[2].str),
 16293  					Cols:  yyDollar[3].identifierListUnion(),
 16294  				},
 16295  			}
 16296  		}
 16297  		yyVAL.union = yyLOCAL
 16298  	case 858:
 16299  		yyDollar = yyS[yypt-2 : yypt+1]
 16300  		var yyLOCAL tree.TableExpr
 16301  //line mysql_sql.y:5578
 16302  		{
 16303  			if yyDollar[2].str != "" {
 16304  				yyLOCAL = &tree.AliasedTableExpr{
 16305  					Expr: yyDollar[1].tableExprUnion(),
 16306  					As: tree.AliasClause{
 16307  						Alias: tree.Identifier(yyDollar[2].str),
 16308  					},
 16309  				}
 16310  			} else {
 16311  				yyLOCAL = yyDollar[1].tableExprUnion()
 16312  			}
 16313  		}
 16314  		yyVAL.union = yyLOCAL
 16315  	case 859:
 16316  		yyDollar = yyS[yypt-3 : yypt+1]
 16317  		var yyLOCAL tree.TableExpr
 16318  //line mysql_sql.y:5591
 16319  		{
 16320  			yyLOCAL = yyDollar[2].joinTableExprUnion()
 16321  		}
 16322  		yyVAL.union = yyLOCAL
 16323  	case 860:
 16324  		yyDollar = yyS[yypt-1 : yypt+1]
 16325  		var yyLOCAL *tree.ParenTableExpr
 16326  //line mysql_sql.y:5597
 16327  		{
 16328  			yyLOCAL = &tree.ParenTableExpr{Expr: yyDollar[1].selectStatementUnion().(*tree.ParenSelect).Select}
 16329  		}
 16330  		yyVAL.union = yyLOCAL
 16331  	case 861:
 16332  		yyDollar = yyS[yypt-4 : yypt+1]
 16333  		var yyLOCAL tree.TableExpr
 16334  //line mysql_sql.y:5603
 16335  		{
 16336  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].cstrUnion().Compare()))
 16337  			yyLOCAL = &tree.TableFunction{
 16338  				Func: &tree.FuncExpr{
 16339  					Func:     tree.FuncName2ResolvableFunctionReference(name),
 16340  					FuncName: tree.NewCStrUseOrigin(yyDollar[1].cstrUnion().Origin(), yylex.(*Lexer).useOrigin),
 16341  					Exprs:    yyDollar[3].exprsUnion(),
 16342  					Type:     tree.FUNC_TYPE_TABLE,
 16343  				},
 16344  			}
 16345  		}
 16346  		yyVAL.union = yyLOCAL
 16347  	case 862:
 16348  		yyDollar = yyS[yypt-3 : yypt+1]
 16349  		var yyLOCAL *tree.AliasedTableExpr
 16350  //line mysql_sql.y:5617
 16351  		{
 16352  			yyLOCAL = &tree.AliasedTableExpr{
 16353  				Expr: yyDollar[1].tableNameUnion(),
 16354  				As: tree.AliasClause{
 16355  					Alias: tree.Identifier(yyDollar[2].str),
 16356  				},
 16357  				IndexHints: yyDollar[3].indexHintListUnion(),
 16358  			}
 16359  		}
 16360  		yyVAL.union = yyLOCAL
 16361  	case 863:
 16362  		yyDollar = yyS[yypt-0 : yypt+1]
 16363  		var yyLOCAL []*tree.IndexHint
 16364  //line mysql_sql.y:5628
 16365  		{
 16366  			yyLOCAL = nil
 16367  		}
 16368  		yyVAL.union = yyLOCAL
 16369  	case 865:
 16370  		yyDollar = yyS[yypt-1 : yypt+1]
 16371  		var yyLOCAL []*tree.IndexHint
 16372  //line mysql_sql.y:5635
 16373  		{
 16374  			yyLOCAL = []*tree.IndexHint{yyDollar[1].indexHintUnion()}
 16375  		}
 16376  		yyVAL.union = yyLOCAL
 16377  	case 866:
 16378  		yyDollar = yyS[yypt-2 : yypt+1]
 16379  		var yyLOCAL []*tree.IndexHint
 16380  //line mysql_sql.y:5639
 16381  		{
 16382  			yyLOCAL = append(yyDollar[1].indexHintListUnion(), yyDollar[2].indexHintUnion())
 16383  		}
 16384  		yyVAL.union = yyLOCAL
 16385  	case 867:
 16386  		yyDollar = yyS[yypt-5 : yypt+1]
 16387  		var yyLOCAL *tree.IndexHint
 16388  //line mysql_sql.y:5645
 16389  		{
 16390  			yyLOCAL = &tree.IndexHint{
 16391  				IndexNames: yyDollar[4].strsUnion(),
 16392  				HintType:   yyDollar[1].indexHintTypeUnion(),
 16393  				HintScope:  yyDollar[2].indexHintScopeUnion(),
 16394  			}
 16395  		}
 16396  		yyVAL.union = yyLOCAL
 16397  	case 868:
 16398  		yyDollar = yyS[yypt-2 : yypt+1]
 16399  		var yyLOCAL tree.IndexHintType
 16400  //line mysql_sql.y:5655
 16401  		{
 16402  			yyLOCAL = tree.HintUse
 16403  		}
 16404  		yyVAL.union = yyLOCAL
 16405  	case 869:
 16406  		yyDollar = yyS[yypt-2 : yypt+1]
 16407  		var yyLOCAL tree.IndexHintType
 16408  //line mysql_sql.y:5659
 16409  		{
 16410  			yyLOCAL = tree.HintIgnore
 16411  		}
 16412  		yyVAL.union = yyLOCAL
 16413  	case 870:
 16414  		yyDollar = yyS[yypt-2 : yypt+1]
 16415  		var yyLOCAL tree.IndexHintType
 16416  //line mysql_sql.y:5663
 16417  		{
 16418  			yyLOCAL = tree.HintForce
 16419  		}
 16420  		yyVAL.union = yyLOCAL
 16421  	case 871:
 16422  		yyDollar = yyS[yypt-0 : yypt+1]
 16423  		var yyLOCAL tree.IndexHintScope
 16424  //line mysql_sql.y:5668
 16425  		{
 16426  			yyLOCAL = tree.HintForScan
 16427  		}
 16428  		yyVAL.union = yyLOCAL
 16429  	case 872:
 16430  		yyDollar = yyS[yypt-2 : yypt+1]
 16431  		var yyLOCAL tree.IndexHintScope
 16432  //line mysql_sql.y:5672
 16433  		{
 16434  			yyLOCAL = tree.HintForJoin
 16435  		}
 16436  		yyVAL.union = yyLOCAL
 16437  	case 873:
 16438  		yyDollar = yyS[yypt-3 : yypt+1]
 16439  		var yyLOCAL tree.IndexHintScope
 16440  //line mysql_sql.y:5676
 16441  		{
 16442  			yyLOCAL = tree.HintForOrderBy
 16443  		}
 16444  		yyVAL.union = yyLOCAL
 16445  	case 874:
 16446  		yyDollar = yyS[yypt-3 : yypt+1]
 16447  		var yyLOCAL tree.IndexHintScope
 16448  //line mysql_sql.y:5680
 16449  		{
 16450  			yyLOCAL = tree.HintForGroupBy
 16451  		}
 16452  		yyVAL.union = yyLOCAL
 16453  	case 875:
 16454  		yyDollar = yyS[yypt-0 : yypt+1]
 16455  		var yyLOCAL []string
 16456  //line mysql_sql.y:5685
 16457  		{
 16458  			yyLOCAL = nil
 16459  		}
 16460  		yyVAL.union = yyLOCAL
 16461  	case 876:
 16462  		yyDollar = yyS[yypt-1 : yypt+1]
 16463  		var yyLOCAL []string
 16464  //line mysql_sql.y:5689
 16465  		{
 16466  			yyLOCAL = []string{yyDollar[1].cstrUnion().Compare()}
 16467  		}
 16468  		yyVAL.union = yyLOCAL
 16469  	case 877:
 16470  		yyDollar = yyS[yypt-3 : yypt+1]
 16471  		var yyLOCAL []string
 16472  //line mysql_sql.y:5693
 16473  		{
 16474  			yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].cstrUnion().Compare())
 16475  		}
 16476  		yyVAL.union = yyLOCAL
 16477  	case 878:
 16478  		yyDollar = yyS[yypt-1 : yypt+1]
 16479  		var yyLOCAL []string
 16480  //line mysql_sql.y:5697
 16481  		{
 16482  			yyLOCAL = []string{yyDollar[1].str}
 16483  		}
 16484  		yyVAL.union = yyLOCAL
 16485  	case 879:
 16486  		yyDollar = yyS[yypt-3 : yypt+1]
 16487  		var yyLOCAL []string
 16488  //line mysql_sql.y:5701
 16489  		{
 16490  			yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].str)
 16491  		}
 16492  		yyVAL.union = yyLOCAL
 16493  	case 880:
 16494  		yyDollar = yyS[yypt-0 : yypt+1]
 16495  //line mysql_sql.y:5706
 16496  		{
 16497  			yyVAL.str = ""
 16498  		}
 16499  	case 881:
 16500  		yyDollar = yyS[yypt-1 : yypt+1]
 16501  //line mysql_sql.y:5710
 16502  		{
 16503  			yyVAL.str = yyDollar[1].str
 16504  		}
 16505  	case 882:
 16506  		yyDollar = yyS[yypt-2 : yypt+1]
 16507  //line mysql_sql.y:5714
 16508  		{
 16509  			yyVAL.str = yyDollar[2].str
 16510  		}
 16511  	case 883:
 16512  		yyDollar = yyS[yypt-1 : yypt+1]
 16513  //line mysql_sql.y:5720
 16514  		{
 16515  			yyVAL.str = yyDollar[1].cstrUnion().Compare()
 16516  		}
 16517  	case 885:
 16518  		yyDollar = yyS[yypt-0 : yypt+1]
 16519  		var yyLOCAL *tree.CStr
 16520  //line mysql_sql.y:5726
 16521  		{
 16522  			yyLOCAL = tree.NewCStr("", yylex.(*Lexer).lower)
 16523  		}
 16524  		yyVAL.union = yyLOCAL
 16525  	case 886:
 16526  		yyDollar = yyS[yypt-1 : yypt+1]
 16527  		var yyLOCAL *tree.CStr
 16528  //line mysql_sql.y:5730
 16529  		{
 16530  			yyLOCAL = yyDollar[1].cstrUnion()
 16531  		}
 16532  		yyVAL.union = yyLOCAL
 16533  	case 887:
 16534  		yyDollar = yyS[yypt-2 : yypt+1]
 16535  		var yyLOCAL *tree.CStr
 16536  //line mysql_sql.y:5734
 16537  		{
 16538  			yyLOCAL = yyDollar[2].cstrUnion()
 16539  		}
 16540  		yyVAL.union = yyLOCAL
 16541  	case 888:
 16542  		yyDollar = yyS[yypt-1 : yypt+1]
 16543  		var yyLOCAL *tree.CStr
 16544  //line mysql_sql.y:5738
 16545  		{
 16546  			yyLOCAL = tree.NewCStr(yyDollar[1].str, yylex.(*Lexer).lower)
 16547  		}
 16548  		yyVAL.union = yyLOCAL
 16549  	case 889:
 16550  		yyDollar = yyS[yypt-2 : yypt+1]
 16551  		var yyLOCAL *tree.CStr
 16552  //line mysql_sql.y:5742
 16553  		{
 16554  			yyLOCAL = tree.NewCStr(yyDollar[2].str, yylex.(*Lexer).lower)
 16555  		}
 16556  		yyVAL.union = yyLOCAL
 16557  	case 890:
 16558  		yyDollar = yyS[yypt-1 : yypt+1]
 16559  //line mysql_sql.y:5748
 16560  		{
 16561  			yyVAL.str = yyDollar[1].cstrUnion().Compare()
 16562  		}
 16563  	case 911:
 16564  		yyDollar = yyS[yypt-7 : yypt+1]
 16565  		var yyLOCAL tree.Statement
 16566  //line mysql_sql.y:5788
 16567  		{
 16568  			var Language = yyDollar[3].str
 16569  			var Name = tree.Identifier(yyDollar[5].str)
 16570  			var Filename = tree.Identifier(yyDollar[7].str)
 16571  			yyLOCAL = tree.NewCreateExtension(
 16572  				Language,
 16573  				Name,
 16574  				Filename,
 16575  			)
 16576  		}
 16577  		yyVAL.union = yyLOCAL
 16578  	case 912:
 16579  		yyDollar = yyS[yypt-1 : yypt+1]
 16580  //line mysql_sql.y:5801
 16581  		{
 16582  			yyVAL.str = yyDollar[1].cstrUnion().Compare()
 16583  		}
 16584  	case 913:
 16585  		yyDollar = yyS[yypt-1 : yypt+1]
 16586  //line mysql_sql.y:5807
 16587  		{
 16588  			yyVAL.str = yyDollar[1].cstrUnion().Compare()
 16589  		}
 16590  	case 914:
 16591  		yyDollar = yyS[yypt-7 : yypt+1]
 16592  		var yyLOCAL tree.Statement
 16593  //line mysql_sql.y:5813
 16594  		{
 16595  			var Name = yyDollar[3].procNameUnion()
 16596  			var Args = yyDollar[5].procArgsUnion()
 16597  			var Body = yyDollar[7].str
 16598  			yyLOCAL = tree.NewCreateProcedure(
 16599  				Name,
 16600  				Args,
 16601  				Body,
 16602  			)
 16603  		}
 16604  		yyVAL.union = yyLOCAL
 16605  	case 915:
 16606  		yyDollar = yyS[yypt-1 : yypt+1]
 16607  		var yyLOCAL *tree.ProcedureName
 16608  //line mysql_sql.y:5826
 16609  		{
 16610  			prefix := tree.ObjectNamePrefix{ExplicitSchema: false}
 16611  			yyLOCAL = tree.NewProcedureName(tree.Identifier(yyDollar[1].cstrUnion().ToLower()), prefix)
 16612  		}
 16613  		yyVAL.union = yyLOCAL
 16614  	case 916:
 16615  		yyDollar = yyS[yypt-3 : yypt+1]
 16616  		var yyLOCAL *tree.ProcedureName
 16617  //line mysql_sql.y:5831
 16618  		{
 16619  			prefix := tree.ObjectNamePrefix{SchemaName: tree.Identifier(yyDollar[1].cstrUnion().ToLower()), ExplicitSchema: true}
 16620  			yyLOCAL = tree.NewProcedureName(tree.Identifier(yyDollar[3].cstrUnion().ToLower()), prefix)
 16621  		}
 16622  		yyVAL.union = yyLOCAL
 16623  	case 917:
 16624  		yyDollar = yyS[yypt-0 : yypt+1]
 16625  		var yyLOCAL tree.ProcedureArgs
 16626  //line mysql_sql.y:5837
 16627  		{
 16628  			yyLOCAL = tree.ProcedureArgs(nil)
 16629  		}
 16630  		yyVAL.union = yyLOCAL
 16631  	case 919:
 16632  		yyDollar = yyS[yypt-1 : yypt+1]
 16633  		var yyLOCAL tree.ProcedureArgs
 16634  //line mysql_sql.y:5844
 16635  		{
 16636  			yyLOCAL = tree.ProcedureArgs{yyDollar[1].procArgUnion()}
 16637  		}
 16638  		yyVAL.union = yyLOCAL
 16639  	case 920:
 16640  		yyDollar = yyS[yypt-3 : yypt+1]
 16641  		var yyLOCAL tree.ProcedureArgs
 16642  //line mysql_sql.y:5848
 16643  		{
 16644  			yyLOCAL = append(yyDollar[1].procArgsUnion(), yyDollar[3].procArgUnion())
 16645  		}
 16646  		yyVAL.union = yyLOCAL
 16647  	case 921:
 16648  		yyDollar = yyS[yypt-1 : yypt+1]
 16649  		var yyLOCAL tree.ProcedureArg
 16650  //line mysql_sql.y:5854
 16651  		{
 16652  			yyLOCAL = tree.ProcedureArg(yyDollar[1].procArgDeclUnion())
 16653  		}
 16654  		yyVAL.union = yyLOCAL
 16655  	case 922:
 16656  		yyDollar = yyS[yypt-3 : yypt+1]
 16657  		var yyLOCAL *tree.ProcedureArgDecl
 16658  //line mysql_sql.y:5860
 16659  		{
 16660  			yyLOCAL = tree.NewProcedureArgDecl(yyDollar[1].procArgTypeUnion(), yyDollar[2].unresolvedNameUnion(), yyDollar[3].columnTypeUnion())
 16661  		}
 16662  		yyVAL.union = yyLOCAL
 16663  	case 923:
 16664  		yyDollar = yyS[yypt-0 : yypt+1]
 16665  		var yyLOCAL tree.InOutArgType
 16666  //line mysql_sql.y:5865
 16667  		{
 16668  			yyLOCAL = tree.TYPE_IN
 16669  		}
 16670  		yyVAL.union = yyLOCAL
 16671  	case 924:
 16672  		yyDollar = yyS[yypt-1 : yypt+1]
 16673  		var yyLOCAL tree.InOutArgType
 16674  //line mysql_sql.y:5869
 16675  		{
 16676  			yyLOCAL = tree.TYPE_IN
 16677  		}
 16678  		yyVAL.union = yyLOCAL
 16679  	case 925:
 16680  		yyDollar = yyS[yypt-1 : yypt+1]
 16681  		var yyLOCAL tree.InOutArgType
 16682  //line mysql_sql.y:5873
 16683  		{
 16684  			yyLOCAL = tree.TYPE_OUT
 16685  		}
 16686  		yyVAL.union = yyLOCAL
 16687  	case 926:
 16688  		yyDollar = yyS[yypt-1 : yypt+1]
 16689  		var yyLOCAL tree.InOutArgType
 16690  //line mysql_sql.y:5877
 16691  		{
 16692  			yyLOCAL = tree.TYPE_INOUT
 16693  		}
 16694  		yyVAL.union = yyLOCAL
 16695  	case 927:
 16696  		yyDollar = yyS[yypt-14 : yypt+1]
 16697  		var yyLOCAL tree.Statement
 16698  //line mysql_sql.y:5884
 16699  		{
 16700  			if yyDollar[13].str == "" {
 16701  				yylex.Error("no function body error")
 16702  				goto ret1
 16703  			}
 16704  			if yyDollar[11].str == "python" && yyDollar[14].str == "" {
 16705  				yylex.Error("no handler error")
 16706  				goto ret1
 16707  			}
 16708  
 16709  			var Replace = yyDollar[2].sourceOptionalUnion()
 16710  			var Name = yyDollar[4].functionNameUnion()
 16711  			var Args = yyDollar[6].funcArgsUnion()
 16712  			var ReturnType = yyDollar[9].funcReturnUnion()
 16713  			var Language = yyDollar[11].str
 16714  			var Import = yyDollar[12].boolValUnion()
 16715  			var Body = yyDollar[13].str
 16716  			var Handler = yyDollar[14].str
 16717  
 16718  			yyLOCAL = tree.NewCreateFunction(
 16719  				Replace,
 16720  				Name,
 16721  				Args,
 16722  				ReturnType,
 16723  				Language,
 16724  				Import,
 16725  				Body,
 16726  				Handler,
 16727  			)
 16728  		}
 16729  		yyVAL.union = yyLOCAL
 16730  	case 928:
 16731  		yyDollar = yyS[yypt-1 : yypt+1]
 16732  		var yyLOCAL *tree.FunctionName
 16733  //line mysql_sql.y:5917
 16734  		{
 16735  			prefix := tree.ObjectNamePrefix{ExplicitSchema: false}
 16736  			yyLOCAL = tree.NewFuncName(tree.Identifier(yyDollar[1].cstrUnion().Compare()), prefix)
 16737  		}
 16738  		yyVAL.union = yyLOCAL
 16739  	case 929:
 16740  		yyDollar = yyS[yypt-3 : yypt+1]
 16741  		var yyLOCAL *tree.FunctionName
 16742  //line mysql_sql.y:5922
 16743  		{
 16744  			prefix := tree.ObjectNamePrefix{SchemaName: tree.Identifier(yyDollar[1].cstrUnion().Compare()), ExplicitSchema: true}
 16745  			yyLOCAL = tree.NewFuncName(tree.Identifier(yyDollar[3].cstrUnion().Compare()), prefix)
 16746  		}
 16747  		yyVAL.union = yyLOCAL
 16748  	case 930:
 16749  		yyDollar = yyS[yypt-0 : yypt+1]
 16750  		var yyLOCAL tree.FunctionArgs
 16751  //line mysql_sql.y:5928
 16752  		{
 16753  			yyLOCAL = tree.FunctionArgs(nil)
 16754  		}
 16755  		yyVAL.union = yyLOCAL
 16756  	case 932:
 16757  		yyDollar = yyS[yypt-1 : yypt+1]
 16758  		var yyLOCAL tree.FunctionArgs
 16759  //line mysql_sql.y:5935
 16760  		{
 16761  			yyLOCAL = tree.FunctionArgs{yyDollar[1].funcArgUnion()}
 16762  		}
 16763  		yyVAL.union = yyLOCAL
 16764  	case 933:
 16765  		yyDollar = yyS[yypt-3 : yypt+1]
 16766  		var yyLOCAL tree.FunctionArgs
 16767  //line mysql_sql.y:5939
 16768  		{
 16769  			yyLOCAL = append(yyDollar[1].funcArgsUnion(), yyDollar[3].funcArgUnion())
 16770  		}
 16771  		yyVAL.union = yyLOCAL
 16772  	case 934:
 16773  		yyDollar = yyS[yypt-1 : yypt+1]
 16774  		var yyLOCAL tree.FunctionArg
 16775  //line mysql_sql.y:5945
 16776  		{
 16777  			yyLOCAL = tree.FunctionArg(yyDollar[1].funcArgDeclUnion())
 16778  		}
 16779  		yyVAL.union = yyLOCAL
 16780  	case 935:
 16781  		yyDollar = yyS[yypt-1 : yypt+1]
 16782  		var yyLOCAL *tree.FunctionArgDecl
 16783  //line mysql_sql.y:5951
 16784  		{
 16785  			yyLOCAL = tree.NewFunctionArgDecl(nil, yyDollar[1].columnTypeUnion(), nil)
 16786  		}
 16787  		yyVAL.union = yyLOCAL
 16788  	case 936:
 16789  		yyDollar = yyS[yypt-2 : yypt+1]
 16790  		var yyLOCAL *tree.FunctionArgDecl
 16791  //line mysql_sql.y:5955
 16792  		{
 16793  			yyLOCAL = tree.NewFunctionArgDecl(yyDollar[1].unresolvedNameUnion(), yyDollar[2].columnTypeUnion(), nil)
 16794  		}
 16795  		yyVAL.union = yyLOCAL
 16796  	case 937:
 16797  		yyDollar = yyS[yypt-4 : yypt+1]
 16798  		var yyLOCAL *tree.FunctionArgDecl
 16799  //line mysql_sql.y:5959
 16800  		{
 16801  			yyLOCAL = tree.NewFunctionArgDecl(yyDollar[1].unresolvedNameUnion(), yyDollar[2].columnTypeUnion(), yyDollar[4].exprUnion())
 16802  		}
 16803  		yyVAL.union = yyLOCAL
 16804  	case 938:
 16805  		yyDollar = yyS[yypt-1 : yypt+1]
 16806  //line mysql_sql.y:5965
 16807  		{
 16808  			yyVAL.str = yyDollar[1].cstrUnion().Compare()
 16809  		}
 16810  	case 939:
 16811  		yyDollar = yyS[yypt-1 : yypt+1]
 16812  		var yyLOCAL *tree.ReturnType
 16813  //line mysql_sql.y:5971
 16814  		{
 16815  			yyLOCAL = tree.NewReturnType(yyDollar[1].columnTypeUnion())
 16816  		}
 16817  		yyVAL.union = yyLOCAL
 16818  	case 940:
 16819  		yyDollar = yyS[yypt-1 : yypt+1]
 16820  		var yyLOCAL bool
 16821  //line mysql_sql.y:5977
 16822  		{
 16823  			yyLOCAL = false
 16824  		}
 16825  		yyVAL.union = yyLOCAL
 16826  	case 941:
 16827  		yyDollar = yyS[yypt-1 : yypt+1]
 16828  		var yyLOCAL bool
 16829  //line mysql_sql.y:5981
 16830  		{
 16831  			yyLOCAL = true
 16832  		}
 16833  		yyVAL.union = yyLOCAL
 16834  	case 942:
 16835  		yyDollar = yyS[yypt-0 : yypt+1]
 16836  //line mysql_sql.y:5987
 16837  		{
 16838  			yyVAL.str = ""
 16839  		}
 16840  	case 944:
 16841  		yyDollar = yyS[yypt-2 : yypt+1]
 16842  //line mysql_sql.y:5994
 16843  		{
 16844  			yyVAL.str = yyDollar[2].str
 16845  		}
 16846  	case 945:
 16847  		yyDollar = yyS[yypt-9 : yypt+1]
 16848  		var yyLOCAL tree.Statement
 16849  //line mysql_sql.y:6000
 16850  		{
 16851  			var Replace bool
 16852  			var Name = yyDollar[5].tableNameUnion()
 16853  			var ColNames = yyDollar[6].identifierListUnion()
 16854  			var AsSource = yyDollar[8].selectUnion()
 16855  			var IfNotExists = yyDollar[4].ifNotExistsUnion()
 16856  			yyLOCAL = tree.NewCreateView(
 16857  				Replace,
 16858  				Name,
 16859  				ColNames,
 16860  				AsSource,
 16861  				IfNotExists,
 16862  			)
 16863  		}
 16864  		yyVAL.union = yyLOCAL
 16865  	case 946:
 16866  		yyDollar = yyS[yypt-9 : yypt+1]
 16867  		var yyLOCAL tree.Statement
 16868  //line mysql_sql.y:6015
 16869  		{
 16870  			var Replace = yyDollar[2].sourceOptionalUnion()
 16871  			var Name = yyDollar[5].tableNameUnion()
 16872  			var ColNames = yyDollar[6].identifierListUnion()
 16873  			var AsSource = yyDollar[8].selectUnion()
 16874  			var IfNotExists = yyDollar[4].ifNotExistsUnion()
 16875  			yyLOCAL = tree.NewCreateView(
 16876  				Replace,
 16877  				Name,
 16878  				ColNames,
 16879  				AsSource,
 16880  				IfNotExists,
 16881  			)
 16882  		}
 16883  		yyVAL.union = yyLOCAL
 16884  	case 947:
 16885  		yyDollar = yyS[yypt-7 : yypt+1]
 16886  		var yyLOCAL tree.Statement
 16887  //line mysql_sql.y:6032
 16888  		{
 16889  			var IfNotExists = yyDollar[3].ifNotExistsUnion()
 16890  			var Name = yyDollar[4].exprUnion()
 16891  			var AuthOption = yyDollar[5].accountAuthOptionUnion()
 16892  			var StatusOption = yyDollar[6].accountStatusUnion()
 16893  			var Comment = yyDollar[7].accountCommentUnion()
 16894  			yyLOCAL = tree.NewCreateAccount(
 16895  				IfNotExists,
 16896  				Name,
 16897  				AuthOption,
 16898  				StatusOption,
 16899  				Comment,
 16900  			)
 16901  		}
 16902  		yyVAL.union = yyLOCAL
 16903  	case 948:
 16904  		yyDollar = yyS[yypt-1 : yypt+1]
 16905  //line mysql_sql.y:6049
 16906  		{
 16907  			yyVAL.str = yyDollar[1].str
 16908  		}
 16909  	case 949:
 16910  		yyDollar = yyS[yypt-2 : yypt+1]
 16911  //line mysql_sql.y:6053
 16912  		{
 16913  			yyVAL.str = yyVAL.str + yyDollar[2].str
 16914  		}
 16915  	case 950:
 16916  		yyDollar = yyS[yypt-3 : yypt+1]
 16917  //line mysql_sql.y:6059
 16918  		{
 16919  			yyVAL.str = "ALGORITHM = " + yyDollar[3].str
 16920  		}
 16921  	case 951:
 16922  		yyDollar = yyS[yypt-3 : yypt+1]
 16923  //line mysql_sql.y:6063
 16924  		{
 16925  			yyVAL.str = "DEFINER = "
 16926  		}
 16927  	case 952:
 16928  		yyDollar = yyS[yypt-3 : yypt+1]
 16929  //line mysql_sql.y:6067
 16930  		{
 16931  			yyVAL.str = "SQL SECURITY " + yyDollar[3].str
 16932  		}
 16933  	case 953:
 16934  		yyDollar = yyS[yypt-0 : yypt+1]
 16935  //line mysql_sql.y:6072
 16936  		{
 16937  			yyVAL.str = ""
 16938  		}
 16939  	case 954:
 16940  		yyDollar = yyS[yypt-4 : yypt+1]
 16941  //line mysql_sql.y:6076
 16942  		{
 16943  			yyVAL.str = "WITH " + yyDollar[2].str + " CHECK OPTION"
 16944  		}
 16945  	case 960:
 16946  		yyDollar = yyS[yypt-0 : yypt+1]
 16947  //line mysql_sql.y:6090
 16948  		{
 16949  			yyVAL.str = ""
 16950  		}
 16951  	case 963:
 16952  		yyDollar = yyS[yypt-1 : yypt+1]
 16953  //line mysql_sql.y:6098
 16954  		{
 16955  			yyVAL.str = yyDollar[1].cstrUnion().Compare()
 16956  		}
 16957  	case 964:
 16958  		yyDollar = yyS[yypt-1 : yypt+1]
 16959  		var yyLOCAL tree.Expr
 16960  //line mysql_sql.y:6104
 16961  		{
 16962  			var Str = yyDollar[1].cstrUnion().Compare()
 16963  			yyLOCAL = tree.NewNumValWithType(constant.MakeString(Str), Str, false, tree.P_char)
 16964  		}
 16965  		yyVAL.union = yyLOCAL
 16966  	case 965:
 16967  		yyDollar = yyS[yypt-1 : yypt+1]
 16968  		var yyLOCAL tree.Expr
 16969  //line mysql_sql.y:6109
 16970  		{
 16971  			yyLOCAL = tree.NewParamExpr(yylex.(*Lexer).GetParamIndex())
 16972  		}
 16973  		yyVAL.union = yyLOCAL
 16974  	case 966:
 16975  		yyDollar = yyS[yypt-4 : yypt+1]
 16976  		var yyLOCAL tree.AccountAuthOption
 16977  //line mysql_sql.y:6115
 16978  		{
 16979  			var Equal = yyDollar[2].str
 16980  			var AdminName = yyDollar[3].exprUnion()
 16981  			var IdentifiedType = yyDollar[4].accountIdentifiedUnion()
 16982  			yyLOCAL = *tree.NewAccountAuthOption(
 16983  				Equal,
 16984  				AdminName,
 16985  				IdentifiedType,
 16986  			)
 16987  		}
 16988  		yyVAL.union = yyLOCAL
 16989  	case 967:
 16990  		yyDollar = yyS[yypt-1 : yypt+1]
 16991  		var yyLOCAL tree.Expr
 16992  //line mysql_sql.y:6128
 16993  		{
 16994  			var Str = yyDollar[1].str
 16995  			yyLOCAL = tree.NewNumValWithType(constant.MakeString(Str), Str, false, tree.P_char)
 16996  		}
 16997  		yyVAL.union = yyLOCAL
 16998  	case 968:
 16999  		yyDollar = yyS[yypt-1 : yypt+1]
 17000  		var yyLOCAL tree.Expr
 17001  //line mysql_sql.y:6133
 17002  		{
 17003  			var Str = yyDollar[1].cstrUnion().Compare()
 17004  			yyLOCAL = tree.NewNumValWithType(constant.MakeString(Str), Str, false, tree.P_char)
 17005  		}
 17006  		yyVAL.union = yyLOCAL
 17007  	case 969:
 17008  		yyDollar = yyS[yypt-1 : yypt+1]
 17009  		var yyLOCAL tree.Expr
 17010  //line mysql_sql.y:6138
 17011  		{
 17012  			yyLOCAL = tree.NewParamExpr(yylex.(*Lexer).GetParamIndex())
 17013  		}
 17014  		yyVAL.union = yyLOCAL
 17015  	case 970:
 17016  		yyDollar = yyS[yypt-3 : yypt+1]
 17017  		var yyLOCAL tree.AccountIdentified
 17018  //line mysql_sql.y:6144
 17019  		{
 17020  			yyLOCAL = *tree.NewAccountIdentified(
 17021  				tree.AccountIdentifiedByPassword,
 17022  				tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), yyDollar[3].str, false, tree.P_char),
 17023  			)
 17024  		}
 17025  		yyVAL.union = yyLOCAL
 17026  	case 971:
 17027  		yyDollar = yyS[yypt-3 : yypt+1]
 17028  		var yyLOCAL tree.AccountIdentified
 17029  //line mysql_sql.y:6151
 17030  		{
 17031  			yyLOCAL = *tree.NewAccountIdentified(
 17032  				tree.AccountIdentifiedByPassword,
 17033  				tree.NewParamExpr(yylex.(*Lexer).GetParamIndex()),
 17034  			)
 17035  		}
 17036  		yyVAL.union = yyLOCAL
 17037  	case 972:
 17038  		yyDollar = yyS[yypt-4 : yypt+1]
 17039  		var yyLOCAL tree.AccountIdentified
 17040  //line mysql_sql.y:6158
 17041  		{
 17042  			yyLOCAL = *tree.NewAccountIdentified(
 17043  				tree.AccountIdentifiedByRandomPassword,
 17044  				nil,
 17045  			)
 17046  		}
 17047  		yyVAL.union = yyLOCAL
 17048  	case 973:
 17049  		yyDollar = yyS[yypt-3 : yypt+1]
 17050  		var yyLOCAL tree.AccountIdentified
 17051  //line mysql_sql.y:6165
 17052  		{
 17053  			yyLOCAL = *tree.NewAccountIdentified(
 17054  				tree.AccountIdentifiedWithSSL,
 17055  				tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), yyDollar[3].str, false, tree.P_char),
 17056  			)
 17057  		}
 17058  		yyVAL.union = yyLOCAL
 17059  	case 974:
 17060  		yyDollar = yyS[yypt-3 : yypt+1]
 17061  		var yyLOCAL tree.AccountIdentified
 17062  //line mysql_sql.y:6172
 17063  		{
 17064  			yyLOCAL = *tree.NewAccountIdentified(
 17065  				tree.AccountIdentifiedWithSSL,
 17066  				tree.NewParamExpr(yylex.(*Lexer).GetParamIndex()),
 17067  			)
 17068  		}
 17069  		yyVAL.union = yyLOCAL
 17070  	case 975:
 17071  		yyDollar = yyS[yypt-0 : yypt+1]
 17072  		var yyLOCAL tree.AccountStatus
 17073  //line mysql_sql.y:6180
 17074  		{
 17075  			as := tree.NewAccountStatus()
 17076  			as.Exist = false
 17077  			yyLOCAL = *as
 17078  		}
 17079  		yyVAL.union = yyLOCAL
 17080  	case 976:
 17081  		yyDollar = yyS[yypt-1 : yypt+1]
 17082  		var yyLOCAL tree.AccountStatus
 17083  //line mysql_sql.y:6186
 17084  		{
 17085  			as := tree.NewAccountStatus()
 17086  			as.Exist = true
 17087  			as.Option = tree.AccountStatusOpen
 17088  			yyLOCAL = *as
 17089  		}
 17090  		yyVAL.union = yyLOCAL
 17091  	case 977:
 17092  		yyDollar = yyS[yypt-1 : yypt+1]
 17093  		var yyLOCAL tree.AccountStatus
 17094  //line mysql_sql.y:6193
 17095  		{
 17096  			as := tree.NewAccountStatus()
 17097  			as.Exist = true
 17098  			as.Option = tree.AccountStatusSuspend
 17099  			yyLOCAL = *as
 17100  		}
 17101  		yyVAL.union = yyLOCAL
 17102  	case 978:
 17103  		yyDollar = yyS[yypt-1 : yypt+1]
 17104  		var yyLOCAL tree.AccountStatus
 17105  //line mysql_sql.y:6200
 17106  		{
 17107  			as := tree.NewAccountStatus()
 17108  			as.Exist = true
 17109  			as.Option = tree.AccountStatusRestricted
 17110  			yyLOCAL = *as
 17111  		}
 17112  		yyVAL.union = yyLOCAL
 17113  	case 979:
 17114  		yyDollar = yyS[yypt-0 : yypt+1]
 17115  		var yyLOCAL tree.AccountComment
 17116  //line mysql_sql.y:6208
 17117  		{
 17118  			ac := tree.NewAccountComment()
 17119  			ac.Exist = false
 17120  			yyLOCAL = *ac
 17121  		}
 17122  		yyVAL.union = yyLOCAL
 17123  	case 980:
 17124  		yyDollar = yyS[yypt-2 : yypt+1]
 17125  		var yyLOCAL tree.AccountComment
 17126  //line mysql_sql.y:6214
 17127  		{
 17128  			ac := tree.NewAccountComment()
 17129  			ac.Exist = true
 17130  			ac.Comment = yyDollar[2].str
 17131  			yyLOCAL = *ac
 17132  		}
 17133  		yyVAL.union = yyLOCAL
 17134  	case 981:
 17135  		yyDollar = yyS[yypt-7 : yypt+1]
 17136  		var yyLOCAL tree.Statement
 17137  //line mysql_sql.y:6223
 17138  		{
 17139  			var IfNotExists = yyDollar[3].ifNotExistsUnion()
 17140  			var Users = yyDollar[4].usersUnion()
 17141  			var Role = yyDollar[5].accountRoleUnion()
 17142  			var MiscOpt = yyDollar[6].userMiscOptionUnion()
 17143  			var CommentOrAttribute = yyDollar[7].accountCommentOrAttributeUnion()
 17144  			yyLOCAL = tree.NewCreateUser(
 17145  				IfNotExists,
 17146  				Users,
 17147  				Role,
 17148  				MiscOpt,
 17149  				CommentOrAttribute,
 17150  			)
 17151  		}
 17152  		yyVAL.union = yyLOCAL
 17153  	case 982:
 17154  		yyDollar = yyS[yypt-8 : yypt+1]
 17155  		var yyLOCAL tree.Statement
 17156  //line mysql_sql.y:6240
 17157  		{
 17158  			var IfNotExists = yyDollar[3].ifNotExistsUnion()
 17159  			var Name = tree.Identifier(yyDollar[4].cstrUnion().Compare())
 17160  			var Database = tree.Identifier(yyDollar[6].cstrUnion().Compare())
 17161  			var Table = tree.Identifier("")
 17162  			var AccountsSet = yyDollar[7].accountsSetOptionUnion()
 17163  			var Comment = yyDollar[8].str
 17164  			yyLOCAL = tree.NewCreatePublication(
 17165  				IfNotExists,
 17166  				Name,
 17167  				Database,
 17168  				Table,
 17169  				AccountsSet,
 17170  				Comment,
 17171  			)
 17172  		}
 17173  		yyVAL.union = yyLOCAL
 17174  	case 983:
 17175  		yyDollar = yyS[yypt-8 : yypt+1]
 17176  		var yyLOCAL tree.Statement
 17177  //line mysql_sql.y:6257
 17178  		{
 17179  			var IfNotExists = yyDollar[3].ifNotExistsUnion()
 17180  			var Name = tree.Identifier(yyDollar[4].cstrUnion().Compare())
 17181  			var Database = tree.Identifier("")
 17182  			var Table = tree.Identifier(yyDollar[6].cstrUnion().Compare())
 17183  			var AccountsSet = yyDollar[7].accountsSetOptionUnion()
 17184  			var Comment = yyDollar[8].str
 17185  			yyLOCAL = tree.NewCreatePublication(
 17186  				IfNotExists,
 17187  				Name,
 17188  				Database,
 17189  				Table,
 17190  				AccountsSet,
 17191  				Comment,
 17192  			)
 17193  		}
 17194  		yyVAL.union = yyLOCAL
 17195  	case 984:
 17196  		yyDollar = yyS[yypt-8 : yypt+1]
 17197  		var yyLOCAL tree.Statement
 17198  //line mysql_sql.y:6276
 17199  		{
 17200  			var IfNotExists = yyDollar[3].ifNotExistsUnion()
 17201  			var Name = tree.Identifier(yyDollar[4].cstrUnion().Compare())
 17202  			var Url = yyDollar[5].str
 17203  			var Credentials = yyDollar[6].stageCredentialsUnion()
 17204  			var Status = yyDollar[7].stageStatusUnion()
 17205  			var Comment = yyDollar[8].stageCommentUnion()
 17206  			yyLOCAL = tree.NewCreateStage(
 17207  				IfNotExists,
 17208  				Name,
 17209  				Url,
 17210  				Credentials,
 17211  				Status,
 17212  				Comment,
 17213  			)
 17214  		}
 17215  		yyVAL.union = yyLOCAL
 17216  	case 985:
 17217  		yyDollar = yyS[yypt-0 : yypt+1]
 17218  		var yyLOCAL tree.StageStatus
 17219  //line mysql_sql.y:6294
 17220  		{
 17221  			yyLOCAL = tree.StageStatus{
 17222  				Exist: false,
 17223  			}
 17224  		}
 17225  		yyVAL.union = yyLOCAL
 17226  	case 986:
 17227  		yyDollar = yyS[yypt-3 : yypt+1]
 17228  		var yyLOCAL tree.StageStatus
 17229  //line mysql_sql.y:6300
 17230  		{
 17231  			yyLOCAL = tree.StageStatus{
 17232  				Exist:  true,
 17233  				Option: tree.StageStatusEnabled,
 17234  			}
 17235  		}
 17236  		yyVAL.union = yyLOCAL
 17237  	case 987:
 17238  		yyDollar = yyS[yypt-3 : yypt+1]
 17239  		var yyLOCAL tree.StageStatus
 17240  //line mysql_sql.y:6307
 17241  		{
 17242  			yyLOCAL = tree.StageStatus{
 17243  				Exist:  true,
 17244  				Option: tree.StageStatusDisabled,
 17245  			}
 17246  		}
 17247  		yyVAL.union = yyLOCAL
 17248  	case 988:
 17249  		yyDollar = yyS[yypt-0 : yypt+1]
 17250  		var yyLOCAL tree.StageComment
 17251  //line mysql_sql.y:6315
 17252  		{
 17253  			yyLOCAL = tree.StageComment{
 17254  				Exist: false,
 17255  			}
 17256  		}
 17257  		yyVAL.union = yyLOCAL
 17258  	case 989:
 17259  		yyDollar = yyS[yypt-3 : yypt+1]
 17260  		var yyLOCAL tree.StageComment
 17261  //line mysql_sql.y:6321
 17262  		{
 17263  			yyLOCAL = tree.StageComment{
 17264  				Exist:   true,
 17265  				Comment: yyDollar[3].str,
 17266  			}
 17267  		}
 17268  		yyVAL.union = yyLOCAL
 17269  	case 990:
 17270  		yyDollar = yyS[yypt-0 : yypt+1]
 17271  		var yyLOCAL tree.StageUrl
 17272  //line mysql_sql.y:6329
 17273  		{
 17274  			yyLOCAL = tree.StageUrl{
 17275  				Exist: false,
 17276  			}
 17277  		}
 17278  		yyVAL.union = yyLOCAL
 17279  	case 991:
 17280  		yyDollar = yyS[yypt-3 : yypt+1]
 17281  		var yyLOCAL tree.StageUrl
 17282  //line mysql_sql.y:6335
 17283  		{
 17284  			yyLOCAL = tree.StageUrl{
 17285  				Exist: true,
 17286  				Url:   yyDollar[3].str,
 17287  			}
 17288  		}
 17289  		yyVAL.union = yyLOCAL
 17290  	case 992:
 17291  		yyDollar = yyS[yypt-0 : yypt+1]
 17292  		var yyLOCAL tree.StageCredentials
 17293  //line mysql_sql.y:6343
 17294  		{
 17295  			yyLOCAL = tree.StageCredentials{
 17296  				Exist: false,
 17297  			}
 17298  		}
 17299  		yyVAL.union = yyLOCAL
 17300  	case 993:
 17301  		yyDollar = yyS[yypt-5 : yypt+1]
 17302  		var yyLOCAL tree.StageCredentials
 17303  //line mysql_sql.y:6349
 17304  		{
 17305  			yyLOCAL = tree.StageCredentials{
 17306  				Exist:       true,
 17307  				Credentials: yyDollar[4].strsUnion(),
 17308  			}
 17309  		}
 17310  		yyVAL.union = yyLOCAL
 17311  	case 994:
 17312  		yyDollar = yyS[yypt-1 : yypt+1]
 17313  		var yyLOCAL []string
 17314  //line mysql_sql.y:6358
 17315  		{
 17316  			yyLOCAL = yyDollar[1].strsUnion()
 17317  		}
 17318  		yyVAL.union = yyLOCAL
 17319  	case 995:
 17320  		yyDollar = yyS[yypt-3 : yypt+1]
 17321  		var yyLOCAL []string
 17322  //line mysql_sql.y:6362
 17323  		{
 17324  			yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].strsUnion()...)
 17325  		}
 17326  		yyVAL.union = yyLOCAL
 17327  	case 996:
 17328  		yyDollar = yyS[yypt-0 : yypt+1]
 17329  		var yyLOCAL []string
 17330  //line mysql_sql.y:6367
 17331  		{
 17332  			yyLOCAL = []string{}
 17333  		}
 17334  		yyVAL.union = yyLOCAL
 17335  	case 997:
 17336  		yyDollar = yyS[yypt-3 : yypt+1]
 17337  		var yyLOCAL []string
 17338  //line mysql_sql.y:6371
 17339  		{
 17340  			yyLOCAL = append(yyLOCAL, yyDollar[1].str)
 17341  			yyLOCAL = append(yyLOCAL, yyDollar[3].str)
 17342  		}
 17343  		yyVAL.union = yyLOCAL
 17344  	case 998:
 17345  		yyDollar = yyS[yypt-3 : yypt+1]
 17346  //line mysql_sql.y:6378
 17347  		{
 17348  			yyVAL.str = yyDollar[3].str
 17349  		}
 17350  	case 999:
 17351  		yyDollar = yyS[yypt-0 : yypt+1]
 17352  //line mysql_sql.y:6383
 17353  		{
 17354  			yyVAL.str = ""
 17355  		}
 17356  	case 1000:
 17357  		yyDollar = yyS[yypt-2 : yypt+1]
 17358  //line mysql_sql.y:6387
 17359  		{
 17360  			yyVAL.str = yyDollar[2].str
 17361  		}
 17362  	case 1001:
 17363  		yyDollar = yyS[yypt-9 : yypt+1]
 17364  		var yyLOCAL tree.Statement
 17365  //line mysql_sql.y:6393
 17366  		{
 17367  			var ifNotExists = yyDollar[3].boolValUnion()
 17368  			var name = tree.Identifier(yyDollar[4].cstrUnion().Compare())
 17369  			var urlOption = yyDollar[6].stageUrlUnion()
 17370  			var credentialsOption = yyDollar[7].stageCredentialsUnion()
 17371  			var statusOption = yyDollar[8].stageStatusUnion()
 17372  			var comment = yyDollar[9].stageCommentUnion()
 17373  			yyLOCAL = tree.NewAlterStage(ifNotExists, name, urlOption, credentialsOption, statusOption, comment)
 17374  		}
 17375  		yyVAL.union = yyLOCAL
 17376  	case 1002:
 17377  		yyDollar = yyS[yypt-7 : yypt+1]
 17378  		var yyLOCAL tree.Statement
 17379  //line mysql_sql.y:6406
 17380  		{
 17381  			var ifExists = yyDollar[3].boolValUnion()
 17382  			var name = tree.Identifier(yyDollar[4].cstrUnion().Compare())
 17383  			var accountsSet = yyDollar[5].accountsSetOptionUnion()
 17384  			var dbName = yyDollar[6].str
 17385  			var comment = yyDollar[7].str
 17386  			yyLOCAL = tree.NewAlterPublication(ifExists, name, accountsSet, dbName, comment)
 17387  		}
 17388  		yyVAL.union = yyLOCAL
 17389  	case 1003:
 17390  		yyDollar = yyS[yypt-0 : yypt+1]
 17391  		var yyLOCAL *tree.AccountsSetOption
 17392  //line mysql_sql.y:6416
 17393  		{
 17394  			yyLOCAL = nil
 17395  		}
 17396  		yyVAL.union = yyLOCAL
 17397  	case 1004:
 17398  		yyDollar = yyS[yypt-2 : yypt+1]
 17399  		var yyLOCAL *tree.AccountsSetOption
 17400  //line mysql_sql.y:6420
 17401  		{
 17402  			yyLOCAL = &tree.AccountsSetOption{
 17403  				All: true,
 17404  			}
 17405  		}
 17406  		yyVAL.union = yyLOCAL
 17407  	case 1005:
 17408  		yyDollar = yyS[yypt-2 : yypt+1]
 17409  		var yyLOCAL *tree.AccountsSetOption
 17410  //line mysql_sql.y:6426
 17411  		{
 17412  			yyLOCAL = &tree.AccountsSetOption{
 17413  				SetAccounts: yyDollar[2].identifierListUnion(),
 17414  			}
 17415  		}
 17416  		yyVAL.union = yyLOCAL
 17417  	case 1006:
 17418  		yyDollar = yyS[yypt-3 : yypt+1]
 17419  		var yyLOCAL *tree.AccountsSetOption
 17420  //line mysql_sql.y:6432
 17421  		{
 17422  			yyLOCAL = &tree.AccountsSetOption{
 17423  				AddAccounts: yyDollar[3].identifierListUnion(),
 17424  			}
 17425  		}
 17426  		yyVAL.union = yyLOCAL
 17427  	case 1007:
 17428  		yyDollar = yyS[yypt-3 : yypt+1]
 17429  		var yyLOCAL *tree.AccountsSetOption
 17430  //line mysql_sql.y:6438
 17431  		{
 17432  			yyLOCAL = &tree.AccountsSetOption{
 17433  				DropAccounts: yyDollar[3].identifierListUnion(),
 17434  			}
 17435  		}
 17436  		yyVAL.union = yyLOCAL
 17437  	case 1008:
 17438  		yyDollar = yyS[yypt-0 : yypt+1]
 17439  //line mysql_sql.y:6445
 17440  		{
 17441  			yyVAL.str = ""
 17442  		}
 17443  	case 1009:
 17444  		yyDollar = yyS[yypt-2 : yypt+1]
 17445  //line mysql_sql.y:6449
 17446  		{
 17447  			yyVAL.str = yyDollar[2].str
 17448  		}
 17449  	case 1010:
 17450  		yyDollar = yyS[yypt-4 : yypt+1]
 17451  		var yyLOCAL tree.Statement
 17452  //line mysql_sql.y:6455
 17453  		{
 17454  			var ifExists = yyDollar[3].boolValUnion()
 17455  			var name = tree.Identifier(yyDollar[4].cstrUnion().Compare())
 17456  			yyLOCAL = tree.NewDropPublication(ifExists, name)
 17457  		}
 17458  		yyVAL.union = yyLOCAL
 17459  	case 1011:
 17460  		yyDollar = yyS[yypt-4 : yypt+1]
 17461  		var yyLOCAL tree.Statement
 17462  //line mysql_sql.y:6463
 17463  		{
 17464  			var ifNotExists = yyDollar[3].boolValUnion()
 17465  			var name = tree.Identifier(yyDollar[4].cstrUnion().Compare())
 17466  			yyLOCAL = tree.NewDropStage(ifNotExists, name)
 17467  		}
 17468  		yyVAL.union = yyLOCAL
 17469  	case 1012:
 17470  		yyDollar = yyS[yypt-4 : yypt+1]
 17471  		var yyLOCAL tree.Statement
 17472  //line mysql_sql.y:6471
 17473  		{
 17474  			var ifExists = yyDollar[3].boolValUnion()
 17475  			var name = tree.Identifier(yyDollar[4].cstrUnion().Compare())
 17476  			yyLOCAL = tree.NewDropSnapShot(ifExists, name)
 17477  		}
 17478  		yyVAL.union = yyLOCAL
 17479  	case 1013:
 17480  		yyDollar = yyS[yypt-1 : yypt+1]
 17481  //line mysql_sql.y:6479
 17482  		{
 17483  			yyVAL.str = yyDollar[1].cstrUnion().Compare()
 17484  		}
 17485  	case 1014:
 17486  		yyDollar = yyS[yypt-0 : yypt+1]
 17487  		var yyLOCAL tree.AccountCommentOrAttribute
 17488  //line mysql_sql.y:6484
 17489  		{
 17490  			var Exist = false
 17491  			var IsComment bool
 17492  			var Str string
 17493  			yyLOCAL = *tree.NewAccountCommentOrAttribute(
 17494  				Exist,
 17495  				IsComment,
 17496  				Str,
 17497  			)
 17498  
 17499  		}
 17500  		yyVAL.union = yyLOCAL
 17501  	case 1015:
 17502  		yyDollar = yyS[yypt-2 : yypt+1]
 17503  		var yyLOCAL tree.AccountCommentOrAttribute
 17504  //line mysql_sql.y:6496
 17505  		{
 17506  			var Exist = true
 17507  			var IsComment = true
 17508  			var Str = yyDollar[2].str
 17509  			yyLOCAL = *tree.NewAccountCommentOrAttribute(
 17510  				Exist,
 17511  				IsComment,
 17512  				Str,
 17513  			)
 17514  		}
 17515  		yyVAL.union = yyLOCAL
 17516  	case 1016:
 17517  		yyDollar = yyS[yypt-2 : yypt+1]
 17518  		var yyLOCAL tree.AccountCommentOrAttribute
 17519  //line mysql_sql.y:6507
 17520  		{
 17521  			var Exist = true
 17522  			var IsComment = false
 17523  			var Str = yyDollar[2].str
 17524  			yyLOCAL = *tree.NewAccountCommentOrAttribute(
 17525  				Exist,
 17526  				IsComment,
 17527  				Str,
 17528  			)
 17529  		}
 17530  		yyVAL.union = yyLOCAL
 17531  	case 1017:
 17532  		yyDollar = yyS[yypt-1 : yypt+1]
 17533  		var yyLOCAL []*tree.User
 17534  //line mysql_sql.y:6616
 17535  		{
 17536  			yyLOCAL = []*tree.User{yyDollar[1].userUnion()}
 17537  		}
 17538  		yyVAL.union = yyLOCAL
 17539  	case 1018:
 17540  		yyDollar = yyS[yypt-3 : yypt+1]
 17541  		var yyLOCAL []*tree.User
 17542  //line mysql_sql.y:6620
 17543  		{
 17544  			yyLOCAL = append(yyDollar[1].usersUnion(), yyDollar[3].userUnion())
 17545  		}
 17546  		yyVAL.union = yyLOCAL
 17547  	case 1019:
 17548  		yyDollar = yyS[yypt-2 : yypt+1]
 17549  		var yyLOCAL *tree.User
 17550  //line mysql_sql.y:6626
 17551  		{
 17552  			var Username = yyDollar[1].usernameRecordUnion().Username
 17553  			var Hostname = yyDollar[1].usernameRecordUnion().Hostname
 17554  			var AuthOption = yyDollar[2].userIdentifiedUnion()
 17555  			yyLOCAL = tree.NewUser(
 17556  				Username,
 17557  				Hostname,
 17558  				AuthOption,
 17559  			)
 17560  		}
 17561  		yyVAL.union = yyLOCAL
 17562  	case 1020:
 17563  		yyDollar = yyS[yypt-1 : yypt+1]
 17564  		var yyLOCAL []*tree.User
 17565  //line mysql_sql.y:6639
 17566  		{
 17567  			yyLOCAL = []*tree.User{yyDollar[1].userUnion()}
 17568  		}
 17569  		yyVAL.union = yyLOCAL
 17570  	case 1021:
 17571  		yyDollar = yyS[yypt-3 : yypt+1]
 17572  		var yyLOCAL []*tree.User
 17573  //line mysql_sql.y:6643
 17574  		{
 17575  			yyLOCAL = append(yyDollar[1].usersUnion(), yyDollar[3].userUnion())
 17576  		}
 17577  		yyVAL.union = yyLOCAL
 17578  	case 1022:
 17579  		yyDollar = yyS[yypt-2 : yypt+1]
 17580  		var yyLOCAL *tree.User
 17581  //line mysql_sql.y:6649
 17582  		{
 17583  			var Username = yyDollar[1].usernameRecordUnion().Username
 17584  			var Hostname = yyDollar[1].usernameRecordUnion().Hostname
 17585  			var AuthOption = yyDollar[2].userIdentifiedUnion()
 17586  			yyLOCAL = tree.NewUser(
 17587  				Username,
 17588  				Hostname,
 17589  				AuthOption,
 17590  			)
 17591  		}
 17592  		yyVAL.union = yyLOCAL
 17593  	case 1023:
 17594  		yyDollar = yyS[yypt-1 : yypt+1]
 17595  		var yyLOCAL *tree.UsernameRecord
 17596  //line mysql_sql.y:6662
 17597  		{
 17598  			yyLOCAL = &tree.UsernameRecord{Username: yyDollar[1].str, Hostname: "%"}
 17599  		}
 17600  		yyVAL.union = yyLOCAL
 17601  	case 1024:
 17602  		yyDollar = yyS[yypt-3 : yypt+1]
 17603  		var yyLOCAL *tree.UsernameRecord
 17604  //line mysql_sql.y:6666
 17605  		{
 17606  			yyLOCAL = &tree.UsernameRecord{Username: yyDollar[1].str, Hostname: yyDollar[3].str}
 17607  		}
 17608  		yyVAL.union = yyLOCAL
 17609  	case 1025:
 17610  		yyDollar = yyS[yypt-2 : yypt+1]
 17611  		var yyLOCAL *tree.UsernameRecord
 17612  //line mysql_sql.y:6670
 17613  		{
 17614  			yyLOCAL = &tree.UsernameRecord{Username: yyDollar[1].str, Hostname: yyDollar[2].str}
 17615  		}
 17616  		yyVAL.union = yyLOCAL
 17617  	case 1026:
 17618  		yyDollar = yyS[yypt-0 : yypt+1]
 17619  		var yyLOCAL *tree.AccountIdentified
 17620  //line mysql_sql.y:6675
 17621  		{
 17622  			yyLOCAL = nil
 17623  		}
 17624  		yyVAL.union = yyLOCAL
 17625  	case 1027:
 17626  		yyDollar = yyS[yypt-1 : yypt+1]
 17627  		var yyLOCAL *tree.AccountIdentified
 17628  //line mysql_sql.y:6679
 17629  		{
 17630  			yyLOCAL = yyDollar[1].userIdentifiedUnion()
 17631  		}
 17632  		yyVAL.union = yyLOCAL
 17633  	case 1028:
 17634  		yyDollar = yyS[yypt-3 : yypt+1]
 17635  		var yyLOCAL *tree.AccountIdentified
 17636  //line mysql_sql.y:6685
 17637  		{
 17638  			yyLOCAL = &tree.AccountIdentified{
 17639  				Typ: tree.AccountIdentifiedByPassword,
 17640  				Str: tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), yyDollar[3].str, false, tree.P_char),
 17641  			}
 17642  		}
 17643  		yyVAL.union = yyLOCAL
 17644  	case 1029:
 17645  		yyDollar = yyS[yypt-4 : yypt+1]
 17646  		var yyLOCAL *tree.AccountIdentified
 17647  //line mysql_sql.y:6692
 17648  		{
 17649  			yyLOCAL = &tree.AccountIdentified{
 17650  				Typ: tree.AccountIdentifiedByRandomPassword,
 17651  			}
 17652  		}
 17653  		yyVAL.union = yyLOCAL
 17654  	case 1030:
 17655  		yyDollar = yyS[yypt-3 : yypt+1]
 17656  		var yyLOCAL *tree.AccountIdentified
 17657  //line mysql_sql.y:6698
 17658  		{
 17659  			yyLOCAL = &tree.AccountIdentified{
 17660  				Typ: tree.AccountIdentifiedWithSSL,
 17661  				Str: tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), yyDollar[3].str, false, tree.P_char),
 17662  			}
 17663  		}
 17664  		yyVAL.union = yyLOCAL
 17665  	case 1031:
 17666  		yyDollar = yyS[yypt-1 : yypt+1]
 17667  //line mysql_sql.y:6707
 17668  		{
 17669  			yyVAL.str = yyDollar[1].cstrUnion().Compare()
 17670  		}
 17671  	case 1033:
 17672  		yyDollar = yyS[yypt-4 : yypt+1]
 17673  		var yyLOCAL tree.Statement
 17674  //line mysql_sql.y:6714
 17675  		{
 17676  			var IfNotExists = yyDollar[3].ifNotExistsUnion()
 17677  			var Roles = yyDollar[4].rolesUnion()
 17678  			yyLOCAL = tree.NewCreateRole(
 17679  				IfNotExists,
 17680  				Roles,
 17681  			)
 17682  		}
 17683  		yyVAL.union = yyLOCAL
 17684  	case 1034:
 17685  		yyDollar = yyS[yypt-1 : yypt+1]
 17686  		var yyLOCAL []*tree.Role
 17687  //line mysql_sql.y:6725
 17688  		{
 17689  			yyLOCAL = []*tree.Role{yyDollar[1].roleUnion()}
 17690  		}
 17691  		yyVAL.union = yyLOCAL
 17692  	case 1035:
 17693  		yyDollar = yyS[yypt-3 : yypt+1]
 17694  		var yyLOCAL []*tree.Role
 17695  //line mysql_sql.y:6729
 17696  		{
 17697  			yyLOCAL = append(yyDollar[1].rolesUnion(), yyDollar[3].roleUnion())
 17698  		}
 17699  		yyVAL.union = yyLOCAL
 17700  	case 1036:
 17701  		yyDollar = yyS[yypt-1 : yypt+1]
 17702  		var yyLOCAL *tree.Role
 17703  //line mysql_sql.y:6735
 17704  		{
 17705  			var UserName = yyDollar[1].cstrUnion().Compare()
 17706  			yyLOCAL = tree.NewRole(
 17707  				UserName,
 17708  			)
 17709  		}
 17710  		yyVAL.union = yyLOCAL
 17711  	case 1037:
 17712  		yyDollar = yyS[yypt-1 : yypt+1]
 17713  		var yyLOCAL *tree.CStr
 17714  //line mysql_sql.y:6744
 17715  		{
 17716  			yyLOCAL = tree.NewCStr(yyDollar[1].str, yylex.(*Lexer).lower)
 17717  		}
 17718  		yyVAL.union = yyLOCAL
 17719  	case 1038:
 17720  		yyDollar = yyS[yypt-1 : yypt+1]
 17721  		var yyLOCAL *tree.CStr
 17722  //line mysql_sql.y:6748
 17723  		{
 17724  			yyLOCAL = tree.NewCStr(yyDollar[1].str, yylex.(*Lexer).lower)
 17725  		}
 17726  		yyVAL.union = yyLOCAL
 17727  	case 1039:
 17728  		yyDollar = yyS[yypt-1 : yypt+1]
 17729  		var yyLOCAL *tree.CStr
 17730  //line mysql_sql.y:6752
 17731  		{
 17732  			yyLOCAL = tree.NewCStr(yyDollar[1].str, yylex.(*Lexer).lower)
 17733  		}
 17734  		yyVAL.union = yyLOCAL
 17735  	case 1040:
 17736  		yyDollar = yyS[yypt-0 : yypt+1]
 17737  		var yyLOCAL tree.IndexCategory
 17738  //line mysql_sql.y:6757
 17739  		{
 17740  			yyLOCAL = tree.INDEX_CATEGORY_NONE
 17741  		}
 17742  		yyVAL.union = yyLOCAL
 17743  	case 1041:
 17744  		yyDollar = yyS[yypt-1 : yypt+1]
 17745  		var yyLOCAL tree.IndexCategory
 17746  //line mysql_sql.y:6761
 17747  		{
 17748  			yyLOCAL = tree.INDEX_CATEGORY_FULLTEXT
 17749  		}
 17750  		yyVAL.union = yyLOCAL
 17751  	case 1042:
 17752  		yyDollar = yyS[yypt-1 : yypt+1]
 17753  		var yyLOCAL tree.IndexCategory
 17754  //line mysql_sql.y:6765
 17755  		{
 17756  			yyLOCAL = tree.INDEX_CATEGORY_SPATIAL
 17757  		}
 17758  		yyVAL.union = yyLOCAL
 17759  	case 1043:
 17760  		yyDollar = yyS[yypt-1 : yypt+1]
 17761  		var yyLOCAL tree.IndexCategory
 17762  //line mysql_sql.y:6769
 17763  		{
 17764  			yyLOCAL = tree.INDEX_CATEGORY_UNIQUE
 17765  		}
 17766  		yyVAL.union = yyLOCAL
 17767  	case 1044:
 17768  		yyDollar = yyS[yypt-11 : yypt+1]
 17769  		var yyLOCAL tree.Statement
 17770  //line mysql_sql.y:6775
 17771  		{
 17772  			var io *tree.IndexOption = nil
 17773  			if yyDollar[11].indexOptionUnion() == nil && yyDollar[5].indexTypeUnion() != tree.INDEX_TYPE_INVALID {
 17774  				io = tree.NewIndexOption()
 17775  				io.IType = yyDollar[5].indexTypeUnion()
 17776  			} else if yyDollar[11].indexOptionUnion() != nil {
 17777  				io = yyDollar[11].indexOptionUnion()
 17778  				io.IType = yyDollar[5].indexTypeUnion()
 17779  			} else {
 17780  				io = tree.NewIndexOption()
 17781  				io.IType = tree.INDEX_TYPE_INVALID
 17782  			}
 17783  			var Name = tree.Identifier(yyDollar[4].cstrUnion().Compare())
 17784  			var Table = yyDollar[7].tableNameUnion()
 17785  			var ifNotExists = false
 17786  			var IndexCat = yyDollar[2].indexCategoryUnion()
 17787  			var KeyParts = yyDollar[9].keyPartsUnion()
 17788  			var IndexOption = io
 17789  			var MiscOption []tree.MiscOption
 17790  			yyLOCAL = tree.NewCreateIndex(
 17791  				Name,
 17792  				Table,
 17793  				ifNotExists,
 17794  				IndexCat,
 17795  				KeyParts,
 17796  				IndexOption,
 17797  				MiscOption,
 17798  			)
 17799  		}
 17800  		yyVAL.union = yyLOCAL
 17801  	case 1045:
 17802  		yyDollar = yyS[yypt-0 : yypt+1]
 17803  		var yyLOCAL *tree.IndexOption
 17804  //line mysql_sql.y:6806
 17805  		{
 17806  			yyLOCAL = nil
 17807  		}
 17808  		yyVAL.union = yyLOCAL
 17809  	case 1046:
 17810  		yyDollar = yyS[yypt-2 : yypt+1]
 17811  		var yyLOCAL *tree.IndexOption
 17812  //line mysql_sql.y:6810
 17813  		{
 17814  			// Merge the options
 17815  			if yyDollar[1].indexOptionUnion() == nil {
 17816  				yyLOCAL = yyDollar[2].indexOptionUnion()
 17817  			} else {
 17818  				opt1 := yyDollar[1].indexOptionUnion()
 17819  				opt2 := yyDollar[2].indexOptionUnion()
 17820  				if len(opt2.Comment) > 0 {
 17821  					opt1.Comment = opt2.Comment
 17822  				} else if opt2.KeyBlockSize > 0 {
 17823  					opt1.KeyBlockSize = opt2.KeyBlockSize
 17824  				} else if len(opt2.ParserName) > 0 {
 17825  					opt1.ParserName = opt2.ParserName
 17826  				} else if opt2.Visible != tree.VISIBLE_TYPE_INVALID {
 17827  					opt1.Visible = opt2.Visible
 17828  				} else if opt2.AlgoParamList > 0 {
 17829  					opt1.AlgoParamList = opt2.AlgoParamList
 17830  				} else if len(opt2.AlgoParamVectorOpType) > 0 {
 17831  					opt1.AlgoParamVectorOpType = opt2.AlgoParamVectorOpType
 17832  				}
 17833  				yyLOCAL = opt1
 17834  			}
 17835  		}
 17836  		yyVAL.union = yyLOCAL
 17837  	case 1047:
 17838  		yyDollar = yyS[yypt-3 : yypt+1]
 17839  		var yyLOCAL *tree.IndexOption
 17840  //line mysql_sql.y:6836
 17841  		{
 17842  			io := tree.NewIndexOption()
 17843  			io.KeyBlockSize = uint64(yyDollar[3].item.(int64))
 17844  			yyLOCAL = io
 17845  		}
 17846  		yyVAL.union = yyLOCAL
 17847  	case 1048:
 17848  		yyDollar = yyS[yypt-3 : yypt+1]
 17849  		var yyLOCAL *tree.IndexOption
 17850  //line mysql_sql.y:6842
 17851  		{
 17852  			val := int64(yyDollar[3].item.(int64))
 17853  			if val <= 0 {
 17854  				yylex.Error("LISTS should be greater than 0")
 17855  				return 1
 17856  			}
 17857  
 17858  			io := tree.NewIndexOption()
 17859  			io.AlgoParamList = val
 17860  			yyLOCAL = io
 17861  		}
 17862  		yyVAL.union = yyLOCAL
 17863  	case 1049:
 17864  		yyDollar = yyS[yypt-2 : yypt+1]
 17865  		var yyLOCAL *tree.IndexOption
 17866  //line mysql_sql.y:6854
 17867  		{
 17868  			io := tree.NewIndexOption()
 17869  			io.AlgoParamVectorOpType = yyDollar[2].str
 17870  			yyLOCAL = io
 17871  		}
 17872  		yyVAL.union = yyLOCAL
 17873  	case 1050:
 17874  		yyDollar = yyS[yypt-2 : yypt+1]
 17875  		var yyLOCAL *tree.IndexOption
 17876  //line mysql_sql.y:6860
 17877  		{
 17878  			io := tree.NewIndexOption()
 17879  			io.Comment = yyDollar[2].str
 17880  			yyLOCAL = io
 17881  		}
 17882  		yyVAL.union = yyLOCAL
 17883  	case 1051:
 17884  		yyDollar = yyS[yypt-3 : yypt+1]
 17885  		var yyLOCAL *tree.IndexOption
 17886  //line mysql_sql.y:6866
 17887  		{
 17888  			io := tree.NewIndexOption()
 17889  			io.ParserName = yyDollar[3].cstrUnion().Compare()
 17890  			yyLOCAL = io
 17891  		}
 17892  		yyVAL.union = yyLOCAL
 17893  	case 1052:
 17894  		yyDollar = yyS[yypt-1 : yypt+1]
 17895  		var yyLOCAL *tree.IndexOption
 17896  //line mysql_sql.y:6872
 17897  		{
 17898  			io := tree.NewIndexOption()
 17899  			io.Visible = tree.VISIBLE_TYPE_VISIBLE
 17900  			yyLOCAL = io
 17901  		}
 17902  		yyVAL.union = yyLOCAL
 17903  	case 1053:
 17904  		yyDollar = yyS[yypt-1 : yypt+1]
 17905  		var yyLOCAL *tree.IndexOption
 17906  //line mysql_sql.y:6878
 17907  		{
 17908  			io := tree.NewIndexOption()
 17909  			io.Visible = tree.VISIBLE_TYPE_INVISIBLE
 17910  			yyLOCAL = io
 17911  		}
 17912  		yyVAL.union = yyLOCAL
 17913  	case 1054:
 17914  		yyDollar = yyS[yypt-1 : yypt+1]
 17915  		var yyLOCAL []*tree.KeyPart
 17916  //line mysql_sql.y:6886
 17917  		{
 17918  			yyLOCAL = []*tree.KeyPart{yyDollar[1].keyPartUnion()}
 17919  		}
 17920  		yyVAL.union = yyLOCAL
 17921  	case 1055:
 17922  		yyDollar = yyS[yypt-3 : yypt+1]
 17923  		var yyLOCAL []*tree.KeyPart
 17924  //line mysql_sql.y:6890
 17925  		{
 17926  			yyLOCAL = append(yyDollar[1].keyPartsUnion(), yyDollar[3].keyPartUnion())
 17927  		}
 17928  		yyVAL.union = yyLOCAL
 17929  	case 1056:
 17930  		yyDollar = yyS[yypt-3 : yypt+1]
 17931  		var yyLOCAL *tree.KeyPart
 17932  //line mysql_sql.y:6896
 17933  		{
 17934  			// Order is parsed but just ignored as MySQL dtree.
 17935  			var ColName = yyDollar[1].unresolvedNameUnion()
 17936  			var Length = int(yyDollar[2].lengthOptUnion())
 17937  			var Direction = yyDollar[3].directionUnion()
 17938  			var Expr tree.Expr
 17939  			yyLOCAL = tree.NewKeyPart(
 17940  				ColName,
 17941  				Length,
 17942  				Direction,
 17943  				Expr,
 17944  			)
 17945  		}
 17946  		yyVAL.union = yyLOCAL
 17947  	case 1057:
 17948  		yyDollar = yyS[yypt-4 : yypt+1]
 17949  		var yyLOCAL *tree.KeyPart
 17950  //line mysql_sql.y:6910
 17951  		{
 17952  			var ColName *tree.UnresolvedName
 17953  			var Length int
 17954  			var Expr = yyDollar[2].exprUnion()
 17955  			var Direction = yyDollar[4].directionUnion()
 17956  			yyLOCAL = tree.NewKeyPart(
 17957  				ColName,
 17958  				Length,
 17959  				Direction,
 17960  				Expr,
 17961  			)
 17962  		}
 17963  		yyVAL.union = yyLOCAL
 17964  	case 1058:
 17965  		yyDollar = yyS[yypt-0 : yypt+1]
 17966  		var yyLOCAL tree.IndexType
 17967  //line mysql_sql.y:6924
 17968  		{
 17969  			yyLOCAL = tree.INDEX_TYPE_INVALID
 17970  		}
 17971  		yyVAL.union = yyLOCAL
 17972  	case 1059:
 17973  		yyDollar = yyS[yypt-2 : yypt+1]
 17974  		var yyLOCAL tree.IndexType
 17975  //line mysql_sql.y:6928
 17976  		{
 17977  			yyLOCAL = tree.INDEX_TYPE_BTREE
 17978  		}
 17979  		yyVAL.union = yyLOCAL
 17980  	case 1060:
 17981  		yyDollar = yyS[yypt-2 : yypt+1]
 17982  		var yyLOCAL tree.IndexType
 17983  //line mysql_sql.y:6932
 17984  		{
 17985  			yyLOCAL = tree.INDEX_TYPE_IVFFLAT
 17986  		}
 17987  		yyVAL.union = yyLOCAL
 17988  	case 1061:
 17989  		yyDollar = yyS[yypt-2 : yypt+1]
 17990  		var yyLOCAL tree.IndexType
 17991  //line mysql_sql.y:6936
 17992  		{
 17993  			yyLOCAL = tree.INDEX_TYPE_MASTER
 17994  		}
 17995  		yyVAL.union = yyLOCAL
 17996  	case 1062:
 17997  		yyDollar = yyS[yypt-2 : yypt+1]
 17998  		var yyLOCAL tree.IndexType
 17999  //line mysql_sql.y:6940
 18000  		{
 18001  			yyLOCAL = tree.INDEX_TYPE_HASH
 18002  		}
 18003  		yyVAL.union = yyLOCAL
 18004  	case 1063:
 18005  		yyDollar = yyS[yypt-2 : yypt+1]
 18006  		var yyLOCAL tree.IndexType
 18007  //line mysql_sql.y:6944
 18008  		{
 18009  			yyLOCAL = tree.INDEX_TYPE_RTREE
 18010  		}
 18011  		yyVAL.union = yyLOCAL
 18012  	case 1064:
 18013  		yyDollar = yyS[yypt-2 : yypt+1]
 18014  		var yyLOCAL tree.IndexType
 18015  //line mysql_sql.y:6948
 18016  		{
 18017  			yyLOCAL = tree.INDEX_TYPE_BSI
 18018  		}
 18019  		yyVAL.union = yyLOCAL
 18020  	case 1065:
 18021  		yyDollar = yyS[yypt-6 : yypt+1]
 18022  		var yyLOCAL tree.Statement
 18023  //line mysql_sql.y:6954
 18024  		{
 18025  			var IfNotExists = yyDollar[3].ifNotExistsUnion()
 18026  			var Name = tree.Identifier(yyDollar[4].cstrUnion().Compare())
 18027  			var SubscriptionOption = yyDollar[5].subscriptionOptionUnion()
 18028  			var CreateOptions = yyDollar[6].createOptionsUnion()
 18029  			yyLOCAL = tree.NewCreateDatabase(
 18030  				IfNotExists,
 18031  				Name,
 18032  				SubscriptionOption,
 18033  				CreateOptions,
 18034  			)
 18035  		}
 18036  		yyVAL.union = yyLOCAL
 18037  	case 1066:
 18038  		yyDollar = yyS[yypt-0 : yypt+1]
 18039  		var yyLOCAL *tree.SubscriptionOption
 18040  //line mysql_sql.y:6969
 18041  		{
 18042  			yyLOCAL = nil
 18043  		}
 18044  		yyVAL.union = yyLOCAL
 18045  	case 1067:
 18046  		yyDollar = yyS[yypt-4 : yypt+1]
 18047  		var yyLOCAL *tree.SubscriptionOption
 18048  //line mysql_sql.y:6973
 18049  		{
 18050  			var From = tree.Identifier(yyDollar[2].str)
 18051  			var Publication = tree.Identifier(yyDollar[4].cstrUnion().Compare())
 18052  			yyLOCAL = tree.NewSubscriptionOption(From, Publication)
 18053  		}
 18054  		yyVAL.union = yyLOCAL
 18055  	case 1070:
 18056  		yyDollar = yyS[yypt-0 : yypt+1]
 18057  		var yyLOCAL bool
 18058  //line mysql_sql.y:6984
 18059  		{
 18060  			yyLOCAL = false
 18061  		}
 18062  		yyVAL.union = yyLOCAL
 18063  	case 1071:
 18064  		yyDollar = yyS[yypt-3 : yypt+1]
 18065  		var yyLOCAL bool
 18066  //line mysql_sql.y:6988
 18067  		{
 18068  			yyLOCAL = true
 18069  		}
 18070  		yyVAL.union = yyLOCAL
 18071  	case 1072:
 18072  		yyDollar = yyS[yypt-0 : yypt+1]
 18073  		var yyLOCAL []tree.CreateOption
 18074  //line mysql_sql.y:6993
 18075  		{
 18076  			yyLOCAL = nil
 18077  		}
 18078  		yyVAL.union = yyLOCAL
 18079  	case 1073:
 18080  		yyDollar = yyS[yypt-1 : yypt+1]
 18081  		var yyLOCAL []tree.CreateOption
 18082  //line mysql_sql.y:6997
 18083  		{
 18084  			yyLOCAL = yyDollar[1].createOptionsUnion()
 18085  		}
 18086  		yyVAL.union = yyLOCAL
 18087  	case 1074:
 18088  		yyDollar = yyS[yypt-1 : yypt+1]
 18089  		var yyLOCAL []tree.CreateOption
 18090  //line mysql_sql.y:7003
 18091  		{
 18092  			yyLOCAL = []tree.CreateOption{yyDollar[1].createOptionUnion()}
 18093  		}
 18094  		yyVAL.union = yyLOCAL
 18095  	case 1075:
 18096  		yyDollar = yyS[yypt-2 : yypt+1]
 18097  		var yyLOCAL []tree.CreateOption
 18098  //line mysql_sql.y:7007
 18099  		{
 18100  			yyLOCAL = append(yyDollar[1].createOptionsUnion(), yyDollar[2].createOptionUnion())
 18101  		}
 18102  		yyVAL.union = yyLOCAL
 18103  	case 1076:
 18104  		yyDollar = yyS[yypt-4 : yypt+1]
 18105  		var yyLOCAL tree.CreateOption
 18106  //line mysql_sql.y:7013
 18107  		{
 18108  			var IsDefault = yyDollar[1].defaultOptionalUnion()
 18109  			var Charset = yyDollar[4].str
 18110  			yyLOCAL = tree.NewCreateOptionCharset(
 18111  				IsDefault,
 18112  				Charset,
 18113  			)
 18114  		}
 18115  		yyVAL.union = yyLOCAL
 18116  	case 1077:
 18117  		yyDollar = yyS[yypt-4 : yypt+1]
 18118  		var yyLOCAL tree.CreateOption
 18119  //line mysql_sql.y:7022
 18120  		{
 18121  			var IsDefault = yyDollar[1].defaultOptionalUnion()
 18122  			var Collate = yyDollar[4].str
 18123  			yyLOCAL = tree.NewCreateOptionCollate(
 18124  				IsDefault,
 18125  				Collate,
 18126  			)
 18127  		}
 18128  		yyVAL.union = yyLOCAL
 18129  	case 1078:
 18130  		yyDollar = yyS[yypt-4 : yypt+1]
 18131  		var yyLOCAL tree.CreateOption
 18132  //line mysql_sql.y:7031
 18133  		{
 18134  			var Encrypt = yyDollar[4].str
 18135  			yyLOCAL = tree.NewCreateOptionEncryption(Encrypt)
 18136  		}
 18137  		yyVAL.union = yyLOCAL
 18138  	case 1079:
 18139  		yyDollar = yyS[yypt-0 : yypt+1]
 18140  		var yyLOCAL bool
 18141  //line mysql_sql.y:7037
 18142  		{
 18143  			yyLOCAL = false
 18144  		}
 18145  		yyVAL.union = yyLOCAL
 18146  	case 1080:
 18147  		yyDollar = yyS[yypt-1 : yypt+1]
 18148  		var yyLOCAL bool
 18149  //line mysql_sql.y:7041
 18150  		{
 18151  			yyLOCAL = true
 18152  		}
 18153  		yyVAL.union = yyLOCAL
 18154  	case 1081:
 18155  		yyDollar = yyS[yypt-8 : yypt+1]
 18156  		var yyLOCAL tree.Statement
 18157  //line mysql_sql.y:7047
 18158  		{
 18159  			var TableName = yyDollar[4].tableNameUnion()
 18160  			var Options = yyDollar[7].connectorOptionsUnion()
 18161  			yyLOCAL = tree.NewCreateConnector(
 18162  				TableName,
 18163  				Options,
 18164  			)
 18165  		}
 18166  		yyVAL.union = yyLOCAL
 18167  	case 1082:
 18168  		yyDollar = yyS[yypt-2 : yypt+1]
 18169  		var yyLOCAL tree.Statement
 18170  //line mysql_sql.y:7058
 18171  		{
 18172  			yyLOCAL = &tree.ShowConnectors{}
 18173  		}
 18174  		yyVAL.union = yyLOCAL
 18175  	case 1083:
 18176  		yyDollar = yyS[yypt-4 : yypt+1]
 18177  		var yyLOCAL tree.Statement
 18178  //line mysql_sql.y:7064
 18179  		{
 18180  			var taskID uint64
 18181  			switch v := yyDollar[4].item.(type) {
 18182  			case uint64:
 18183  				taskID = v
 18184  			case int64:
 18185  				taskID = uint64(v)
 18186  			default:
 18187  				yylex.Error("parse integral fail")
 18188  				goto ret1
 18189  			}
 18190  			yyLOCAL = &tree.PauseDaemonTask{
 18191  				TaskID: taskID,
 18192  			}
 18193  		}
 18194  		yyVAL.union = yyLOCAL
 18195  	case 1084:
 18196  		yyDollar = yyS[yypt-4 : yypt+1]
 18197  		var yyLOCAL tree.Statement
 18198  //line mysql_sql.y:7082
 18199  		{
 18200  			var taskID uint64
 18201  			switch v := yyDollar[4].item.(type) {
 18202  			case uint64:
 18203  				taskID = v
 18204  			case int64:
 18205  				taskID = uint64(v)
 18206  			default:
 18207  				yylex.Error("parse integral fail")
 18208  				goto ret1
 18209  			}
 18210  			yyLOCAL = &tree.CancelDaemonTask{
 18211  				TaskID: taskID,
 18212  			}
 18213  		}
 18214  		yyVAL.union = yyLOCAL
 18215  	case 1085:
 18216  		yyDollar = yyS[yypt-4 : yypt+1]
 18217  		var yyLOCAL tree.Statement
 18218  //line mysql_sql.y:7100
 18219  		{
 18220  			var taskID uint64
 18221  			switch v := yyDollar[4].item.(type) {
 18222  			case uint64:
 18223  				taskID = v
 18224  			case int64:
 18225  				taskID = uint64(v)
 18226  			default:
 18227  				yylex.Error("parse integral fail")
 18228  				goto ret1
 18229  			}
 18230  			yyLOCAL = &tree.ResumeDaemonTask{
 18231  				TaskID: taskID,
 18232  			}
 18233  		}
 18234  		yyVAL.union = yyLOCAL
 18235  	case 1086:
 18236  		yyDollar = yyS[yypt-9 : yypt+1]
 18237  		var yyLOCAL tree.Statement
 18238  //line mysql_sql.y:7118
 18239  		{
 18240  			var Replace = yyDollar[2].sourceOptionalUnion()
 18241  			var IfNotExists = yyDollar[4].ifNotExistsUnion()
 18242  			var SourceName = yyDollar[5].tableNameUnion()
 18243  			var Defs = yyDollar[7].tableDefsUnion()
 18244  			var Options = yyDollar[9].tableOptionsUnion()
 18245  			yyLOCAL = tree.NewCreateSource(
 18246  				Replace,
 18247  				IfNotExists,
 18248  				SourceName,
 18249  				Defs,
 18250  				Options,
 18251  			)
 18252  		}
 18253  		yyVAL.union = yyLOCAL
 18254  	case 1087:
 18255  		yyDollar = yyS[yypt-0 : yypt+1]
 18256  		var yyLOCAL bool
 18257  //line mysql_sql.y:7134
 18258  		{
 18259  			yyLOCAL = false
 18260  		}
 18261  		yyVAL.union = yyLOCAL
 18262  	case 1088:
 18263  		yyDollar = yyS[yypt-2 : yypt+1]
 18264  		var yyLOCAL bool
 18265  //line mysql_sql.y:7138
 18266  		{
 18267  			yyLOCAL = true
 18268  		}
 18269  		yyVAL.union = yyLOCAL
 18270  	case 1089:
 18271  		yyDollar = yyS[yypt-11 : yypt+1]
 18272  		var yyLOCAL tree.Statement
 18273  //line mysql_sql.y:7147
 18274  		{
 18275  			t := tree.NewCreateTable()
 18276  			t.Temporary = yyDollar[2].boolValUnion()
 18277  			t.IfNotExists = yyDollar[4].ifNotExistsUnion()
 18278  			t.Table = *yyDollar[5].tableNameUnion()
 18279  			t.Defs = yyDollar[7].tableDefsUnion()
 18280  			t.Options = yyDollar[9].tableOptionsUnion()
 18281  			t.PartitionOption = yyDollar[10].partitionOptionUnion()
 18282  			t.ClusterByOption = yyDollar[11].clusterByOptionUnion()
 18283  			yyLOCAL = t
 18284  		}
 18285  		yyVAL.union = yyLOCAL
 18286  	case 1090:
 18287  		yyDollar = yyS[yypt-9 : yypt+1]
 18288  		var yyLOCAL tree.Statement
 18289  //line mysql_sql.y:7159
 18290  		{
 18291  			t := tree.NewCreateTable()
 18292  			t.IfNotExists = yyDollar[4].ifNotExistsUnion()
 18293  			t.Table = *yyDollar[5].tableNameUnion()
 18294  			t.Defs = yyDollar[7].tableDefsUnion()
 18295  			t.Param = yyDollar[9].loadParamUnion()
 18296  			yyLOCAL = t
 18297  		}
 18298  		yyVAL.union = yyLOCAL
 18299  	case 1091:
 18300  		yyDollar = yyS[yypt-11 : yypt+1]
 18301  		var yyLOCAL tree.Statement
 18302  //line mysql_sql.y:7168
 18303  		{
 18304  			t := tree.NewCreateTable()
 18305  			t.IsClusterTable = true
 18306  			t.IfNotExists = yyDollar[4].ifNotExistsUnion()
 18307  			t.Table = *yyDollar[5].tableNameUnion()
 18308  			t.Defs = yyDollar[7].tableDefsUnion()
 18309  			t.Options = yyDollar[9].tableOptionsUnion()
 18310  			t.PartitionOption = yyDollar[10].partitionOptionUnion()
 18311  			t.ClusterByOption = yyDollar[11].clusterByOptionUnion()
 18312  			yyLOCAL = t
 18313  		}
 18314  		yyVAL.union = yyLOCAL
 18315  	case 1092:
 18316  		yyDollar = yyS[yypt-8 : yypt+1]
 18317  		var yyLOCAL tree.Statement
 18318  //line mysql_sql.y:7180
 18319  		{
 18320  			t := tree.NewCreateTable()
 18321  			t.IsDynamicTable = true
 18322  			t.IfNotExists = yyDollar[4].ifNotExistsUnion()
 18323  			t.Table = *yyDollar[5].tableNameUnion()
 18324  			t.AsSource = yyDollar[7].selectUnion()
 18325  			t.DTOptions = yyDollar[8].tableOptionsUnion()
 18326  			yyLOCAL = t
 18327  		}
 18328  		yyVAL.union = yyLOCAL
 18329  	case 1093:
 18330  		yyDollar = yyS[yypt-6 : yypt+1]
 18331  		var yyLOCAL tree.Statement
 18332  //line mysql_sql.y:7190
 18333  		{
 18334  			t := tree.NewCreateTable()
 18335  			t.IsAsSelect = true
 18336  			t.Temporary = yyDollar[2].boolValUnion()
 18337  			t.IfNotExists = yyDollar[4].ifNotExistsUnion()
 18338  			t.Table = *yyDollar[5].tableNameUnion()
 18339  			t.AsSource = yyDollar[6].selectUnion()
 18340  			yyLOCAL = t
 18341  		}
 18342  		yyVAL.union = yyLOCAL
 18343  	case 1094:
 18344  		yyDollar = yyS[yypt-9 : yypt+1]
 18345  		var yyLOCAL tree.Statement
 18346  //line mysql_sql.y:7200
 18347  		{
 18348  			t := tree.NewCreateTable()
 18349  			t.IsAsSelect = true
 18350  			t.Temporary = yyDollar[2].boolValUnion()
 18351  			t.IfNotExists = yyDollar[4].ifNotExistsUnion()
 18352  			t.Table = *yyDollar[5].tableNameUnion()
 18353  			t.Defs = yyDollar[7].tableDefsUnion()
 18354  			t.AsSource = yyDollar[9].selectUnion()
 18355  			yyLOCAL = t
 18356  		}
 18357  		yyVAL.union = yyLOCAL
 18358  	case 1095:
 18359  		yyDollar = yyS[yypt-7 : yypt+1]
 18360  		var yyLOCAL tree.Statement
 18361  //line mysql_sql.y:7211
 18362  		{
 18363  			t := tree.NewCreateTable()
 18364  			t.IsAsSelect = true
 18365  			t.Temporary = yyDollar[2].boolValUnion()
 18366  			t.IfNotExists = yyDollar[4].ifNotExistsUnion()
 18367  			t.Table = *yyDollar[5].tableNameUnion()
 18368  			t.AsSource = yyDollar[7].selectUnion()
 18369  			yyLOCAL = t
 18370  		}
 18371  		yyVAL.union = yyLOCAL
 18372  	case 1096:
 18373  		yyDollar = yyS[yypt-10 : yypt+1]
 18374  		var yyLOCAL tree.Statement
 18375  //line mysql_sql.y:7221
 18376  		{
 18377  			t := tree.NewCreateTable()
 18378  			t.IsAsSelect = true
 18379  			t.Temporary = yyDollar[2].boolValUnion()
 18380  			t.IfNotExists = yyDollar[4].ifNotExistsUnion()
 18381  			t.Table = *yyDollar[5].tableNameUnion()
 18382  			t.Defs = yyDollar[7].tableDefsUnion()
 18383  			t.AsSource = yyDollar[10].selectUnion()
 18384  			yyLOCAL = t
 18385  		}
 18386  		yyVAL.union = yyLOCAL
 18387  	case 1097:
 18388  		yyDollar = yyS[yypt-7 : yypt+1]
 18389  		var yyLOCAL tree.Statement
 18390  //line mysql_sql.y:7232
 18391  		{
 18392  			t := tree.NewCreateTable()
 18393  			t.IsAsLike = true
 18394  			t.Table = *yyDollar[5].tableNameUnion()
 18395  			t.LikeTableName = *yyDollar[7].tableNameUnion()
 18396  			yyLOCAL = t
 18397  		}
 18398  		yyVAL.union = yyLOCAL
 18399  	case 1098:
 18400  		yyDollar = yyS[yypt-6 : yypt+1]
 18401  		var yyLOCAL tree.Statement
 18402  //line mysql_sql.y:7240
 18403  		{
 18404  			t := tree.NewCreateTable()
 18405  			t.Temporary = yyDollar[2].boolValUnion()
 18406  			t.IfNotExists = yyDollar[4].ifNotExistsUnion()
 18407  			t.Table = *yyDollar[5].tableNameUnion()
 18408  			t.SubscriptionOption = yyDollar[6].subscriptionOptionUnion()
 18409  			yyLOCAL = t
 18410  		}
 18411  		yyVAL.union = yyLOCAL
 18412  	case 1099:
 18413  		yyDollar = yyS[yypt-2 : yypt+1]
 18414  		var yyLOCAL *tree.ExternParam
 18415  //line mysql_sql.y:7251
 18416  		{
 18417  			yyLOCAL = yyDollar[1].loadParamUnion()
 18418  			yyLOCAL.Tail = yyDollar[2].tailParamUnion()
 18419  		}
 18420  		yyVAL.union = yyLOCAL
 18421  	case 1100:
 18422  		yyDollar = yyS[yypt-2 : yypt+1]
 18423  		var yyLOCAL *tree.ExternParam
 18424  //line mysql_sql.y:7258
 18425  		{
 18426  			yyLOCAL = &tree.ExternParam{
 18427  				ExParamConst: tree.ExParamConst{
 18428  					Filepath:     yyDollar[2].str,
 18429  					CompressType: tree.AUTO,
 18430  					Format:       tree.CSV,
 18431  				},
 18432  			}
 18433  		}
 18434  		yyVAL.union = yyLOCAL
 18435  	case 1101:
 18436  		yyDollar = yyS[yypt-9 : yypt+1]
 18437  		var yyLOCAL *tree.ExternParam
 18438  //line mysql_sql.y:7268
 18439  		{
 18440  			yyLOCAL = &tree.ExternParam{
 18441  				ExParamConst: tree.ExParamConst{
 18442  					ScanType: tree.INLINE,
 18443  					Format:   yyDollar[4].str,
 18444  					Data:     yyDollar[8].str,
 18445  				},
 18446  				ExParam: tree.ExParam{
 18447  					JsonData: yyDollar[9].str,
 18448  				},
 18449  			}
 18450  		}
 18451  		yyVAL.union = yyLOCAL
 18452  	case 1102:
 18453  		yyDollar = yyS[yypt-4 : yypt+1]
 18454  		var yyLOCAL *tree.ExternParam
 18455  //line mysql_sql.y:7281
 18456  		{
 18457  			yyLOCAL = &tree.ExternParam{
 18458  				ExParamConst: tree.ExParamConst{
 18459  					Option: yyDollar[3].strsUnion(),
 18460  				},
 18461  			}
 18462  		}
 18463  		yyVAL.union = yyLOCAL
 18464  	case 1103:
 18465  		yyDollar = yyS[yypt-5 : yypt+1]
 18466  		var yyLOCAL *tree.ExternParam
 18467  //line mysql_sql.y:7289
 18468  		{
 18469  			yyLOCAL = &tree.ExternParam{
 18470  				ExParamConst: tree.ExParamConst{
 18471  					ScanType: tree.S3,
 18472  					Option:   yyDollar[4].strsUnion(),
 18473  				},
 18474  			}
 18475  		}
 18476  		yyVAL.union = yyLOCAL
 18477  	case 1104:
 18478  		yyDollar = yyS[yypt-3 : yypt+1]
 18479  		var yyLOCAL *tree.ExternParam
 18480  //line mysql_sql.y:7298
 18481  		{
 18482  			yyLOCAL = &tree.ExternParam{
 18483  				ExParamConst: tree.ExParamConst{
 18484  					StageName: tree.Identifier(yyDollar[3].cstrUnion().Compare()),
 18485  				},
 18486  			}
 18487  		}
 18488  		yyVAL.union = yyLOCAL
 18489  	case 1105:
 18490  		yyDollar = yyS[yypt-0 : yypt+1]
 18491  //line mysql_sql.y:7307
 18492  		{
 18493  			yyVAL.str = ""
 18494  		}
 18495  	case 1106:
 18496  		yyDollar = yyS[yypt-4 : yypt+1]
 18497  //line mysql_sql.y:7311
 18498  		{
 18499  			yyVAL.str = yyDollar[4].str
 18500  		}
 18501  	case 1107:
 18502  		yyDollar = yyS[yypt-1 : yypt+1]
 18503  		var yyLOCAL []string
 18504  //line mysql_sql.y:7317
 18505  		{
 18506  			yyLOCAL = yyDollar[1].strsUnion()
 18507  		}
 18508  		yyVAL.union = yyLOCAL
 18509  	case 1108:
 18510  		yyDollar = yyS[yypt-3 : yypt+1]
 18511  		var yyLOCAL []string
 18512  //line mysql_sql.y:7321
 18513  		{
 18514  			yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].strsUnion()...)
 18515  		}
 18516  		yyVAL.union = yyLOCAL
 18517  	case 1109:
 18518  		yyDollar = yyS[yypt-0 : yypt+1]
 18519  		var yyLOCAL []string
 18520  //line mysql_sql.y:7326
 18521  		{
 18522  			yyLOCAL = []string{}
 18523  		}
 18524  		yyVAL.union = yyLOCAL
 18525  	case 1110:
 18526  		yyDollar = yyS[yypt-3 : yypt+1]
 18527  		var yyLOCAL []string
 18528  //line mysql_sql.y:7330
 18529  		{
 18530  			yyLOCAL = append(yyLOCAL, yyDollar[1].str)
 18531  			yyLOCAL = append(yyLOCAL, yyDollar[3].str)
 18532  		}
 18533  		yyVAL.union = yyLOCAL
 18534  	case 1111:
 18535  		yyDollar = yyS[yypt-6 : yypt+1]
 18536  		var yyLOCAL *tree.TailParameter
 18537  //line mysql_sql.y:7337
 18538  		{
 18539  			yyLOCAL = &tree.TailParameter{
 18540  				Charset:      yyDollar[1].str,
 18541  				Fields:       yyDollar[2].fieldsUnion(),
 18542  				Lines:        yyDollar[3].linesUnion(),
 18543  				IgnoredLines: uint64(yyDollar[4].int64ValUnion()),
 18544  				ColumnList:   yyDollar[5].loadColumnsUnion(),
 18545  				Assignments:  yyDollar[6].updateExprsUnion(),
 18546  			}
 18547  		}
 18548  		yyVAL.union = yyLOCAL
 18549  	case 1112:
 18550  		yyDollar = yyS[yypt-0 : yypt+1]
 18551  //line mysql_sql.y:7349
 18552  		{
 18553  			yyVAL.str = ""
 18554  		}
 18555  	case 1113:
 18556  		yyDollar = yyS[yypt-2 : yypt+1]
 18557  //line mysql_sql.y:7353
 18558  		{
 18559  			yyVAL.str = yyDollar[2].str
 18560  		}
 18561  	case 1114:
 18562  		yyDollar = yyS[yypt-10 : yypt+1]
 18563  		var yyLOCAL tree.Statement
 18564  //line mysql_sql.y:7359
 18565  		{
 18566  			var Name = yyDollar[4].tableNameUnion()
 18567  			var Type = yyDollar[5].columnTypeUnion()
 18568  			var IfNotExists = yyDollar[3].ifNotExistsUnion()
 18569  			var IncrementBy = yyDollar[6].incrementByOptionUnion()
 18570  			var MinValue = yyDollar[7].minValueOptionUnion()
 18571  			var MaxValue = yyDollar[8].maxValueOptionUnion()
 18572  			var StartWith = yyDollar[9].startWithOptionUnion()
 18573  			var Cycle = yyDollar[10].boolValUnion()
 18574  			yyLOCAL = tree.NewCreateSequence(
 18575  				Name,
 18576  				Type,
 18577  				IfNotExists,
 18578  				IncrementBy,
 18579  				MinValue,
 18580  				MaxValue,
 18581  				StartWith,
 18582  				Cycle,
 18583  			)
 18584  		}
 18585  		yyVAL.union = yyLOCAL
 18586  	case 1115:
 18587  		yyDollar = yyS[yypt-0 : yypt+1]
 18588  		var yyLOCAL *tree.T
 18589  //line mysql_sql.y:7380
 18590  		{
 18591  			locale := ""
 18592  			fstr := "bigint"
 18593  			yyLOCAL = &tree.T{
 18594  				InternalType: tree.InternalType{
 18595  					Family:       tree.IntFamily,
 18596  					FamilyString: fstr,
 18597  					Width:        64,
 18598  					Locale:       &locale,
 18599  					Oid:          uint32(defines.MYSQL_TYPE_LONGLONG),
 18600  				},
 18601  			}
 18602  		}
 18603  		yyVAL.union = yyLOCAL
 18604  	case 1116:
 18605  		yyDollar = yyS[yypt-2 : yypt+1]
 18606  		var yyLOCAL *tree.T
 18607  //line mysql_sql.y:7394
 18608  		{
 18609  			yyLOCAL = yyDollar[2].columnTypeUnion()
 18610  		}
 18611  		yyVAL.union = yyLOCAL
 18612  	case 1117:
 18613  		yyDollar = yyS[yypt-0 : yypt+1]
 18614  		var yyLOCAL *tree.TypeOption
 18615  //line mysql_sql.y:7398
 18616  		{
 18617  			yyLOCAL = nil
 18618  		}
 18619  		yyVAL.union = yyLOCAL
 18620  	case 1118:
 18621  		yyDollar = yyS[yypt-2 : yypt+1]
 18622  		var yyLOCAL *tree.TypeOption
 18623  //line mysql_sql.y:7402
 18624  		{
 18625  			yyLOCAL = &tree.TypeOption{
 18626  				Type: yyDollar[2].columnTypeUnion(),
 18627  			}
 18628  		}
 18629  		yyVAL.union = yyLOCAL
 18630  	case 1119:
 18631  		yyDollar = yyS[yypt-0 : yypt+1]
 18632  		var yyLOCAL *tree.IncrementByOption
 18633  //line mysql_sql.y:7408
 18634  		{
 18635  			yyLOCAL = nil
 18636  		}
 18637  		yyVAL.union = yyLOCAL
 18638  	case 1120:
 18639  		yyDollar = yyS[yypt-3 : yypt+1]
 18640  		var yyLOCAL *tree.IncrementByOption
 18641  //line mysql_sql.y:7412
 18642  		{
 18643  			yyLOCAL = &tree.IncrementByOption{
 18644  				Minus: false,
 18645  				Num:   yyDollar[3].item,
 18646  			}
 18647  		}
 18648  		yyVAL.union = yyLOCAL
 18649  	case 1121:
 18650  		yyDollar = yyS[yypt-2 : yypt+1]
 18651  		var yyLOCAL *tree.IncrementByOption
 18652  //line mysql_sql.y:7419
 18653  		{
 18654  			yyLOCAL = &tree.IncrementByOption{
 18655  				Minus: false,
 18656  				Num:   yyDollar[2].item,
 18657  			}
 18658  		}
 18659  		yyVAL.union = yyLOCAL
 18660  	case 1122:
 18661  		yyDollar = yyS[yypt-4 : yypt+1]
 18662  		var yyLOCAL *tree.IncrementByOption
 18663  //line mysql_sql.y:7426
 18664  		{
 18665  			yyLOCAL = &tree.IncrementByOption{
 18666  				Minus: true,
 18667  				Num:   yyDollar[4].item,
 18668  			}
 18669  		}
 18670  		yyVAL.union = yyLOCAL
 18671  	case 1123:
 18672  		yyDollar = yyS[yypt-3 : yypt+1]
 18673  		var yyLOCAL *tree.IncrementByOption
 18674  //line mysql_sql.y:7433
 18675  		{
 18676  			yyLOCAL = &tree.IncrementByOption{
 18677  				Minus: true,
 18678  				Num:   yyDollar[3].item,
 18679  			}
 18680  		}
 18681  		yyVAL.union = yyLOCAL
 18682  	case 1124:
 18683  		yyDollar = yyS[yypt-0 : yypt+1]
 18684  		var yyLOCAL bool
 18685  //line mysql_sql.y:7440
 18686  		{
 18687  			yyLOCAL = false
 18688  		}
 18689  		yyVAL.union = yyLOCAL
 18690  	case 1125:
 18691  		yyDollar = yyS[yypt-2 : yypt+1]
 18692  		var yyLOCAL bool
 18693  //line mysql_sql.y:7444
 18694  		{
 18695  			yyLOCAL = false
 18696  		}
 18697  		yyVAL.union = yyLOCAL
 18698  	case 1126:
 18699  		yyDollar = yyS[yypt-1 : yypt+1]
 18700  		var yyLOCAL bool
 18701  //line mysql_sql.y:7448
 18702  		{
 18703  			yyLOCAL = true
 18704  		}
 18705  		yyVAL.union = yyLOCAL
 18706  	case 1127:
 18707  		yyDollar = yyS[yypt-0 : yypt+1]
 18708  		var yyLOCAL *tree.MinValueOption
 18709  //line mysql_sql.y:7452
 18710  		{
 18711  			yyLOCAL = nil
 18712  		}
 18713  		yyVAL.union = yyLOCAL
 18714  	case 1128:
 18715  		yyDollar = yyS[yypt-2 : yypt+1]
 18716  		var yyLOCAL *tree.MinValueOption
 18717  //line mysql_sql.y:7456
 18718  		{
 18719  			yyLOCAL = &tree.MinValueOption{
 18720  				Minus: false,
 18721  				Num:   yyDollar[2].item,
 18722  			}
 18723  		}
 18724  		yyVAL.union = yyLOCAL
 18725  	case 1129:
 18726  		yyDollar = yyS[yypt-3 : yypt+1]
 18727  		var yyLOCAL *tree.MinValueOption
 18728  //line mysql_sql.y:7463
 18729  		{
 18730  			yyLOCAL = &tree.MinValueOption{
 18731  				Minus: true,
 18732  				Num:   yyDollar[3].item,
 18733  			}
 18734  		}
 18735  		yyVAL.union = yyLOCAL
 18736  	case 1130:
 18737  		yyDollar = yyS[yypt-0 : yypt+1]
 18738  		var yyLOCAL *tree.MaxValueOption
 18739  //line mysql_sql.y:7470
 18740  		{
 18741  			yyLOCAL = nil
 18742  		}
 18743  		yyVAL.union = yyLOCAL
 18744  	case 1131:
 18745  		yyDollar = yyS[yypt-2 : yypt+1]
 18746  		var yyLOCAL *tree.MaxValueOption
 18747  //line mysql_sql.y:7474
 18748  		{
 18749  			yyLOCAL = &tree.MaxValueOption{
 18750  				Minus: false,
 18751  				Num:   yyDollar[2].item,
 18752  			}
 18753  		}
 18754  		yyVAL.union = yyLOCAL
 18755  	case 1132:
 18756  		yyDollar = yyS[yypt-3 : yypt+1]
 18757  		var yyLOCAL *tree.MaxValueOption
 18758  //line mysql_sql.y:7481
 18759  		{
 18760  			yyLOCAL = &tree.MaxValueOption{
 18761  				Minus: true,
 18762  				Num:   yyDollar[3].item,
 18763  			}
 18764  		}
 18765  		yyVAL.union = yyLOCAL
 18766  	case 1133:
 18767  		yyDollar = yyS[yypt-0 : yypt+1]
 18768  		var yyLOCAL *tree.CycleOption
 18769  //line mysql_sql.y:7488
 18770  		{
 18771  			yyLOCAL = nil
 18772  		}
 18773  		yyVAL.union = yyLOCAL
 18774  	case 1134:
 18775  		yyDollar = yyS[yypt-2 : yypt+1]
 18776  		var yyLOCAL *tree.CycleOption
 18777  //line mysql_sql.y:7492
 18778  		{
 18779  			yyLOCAL = &tree.CycleOption{
 18780  				Cycle: false,
 18781  			}
 18782  		}
 18783  		yyVAL.union = yyLOCAL
 18784  	case 1135:
 18785  		yyDollar = yyS[yypt-1 : yypt+1]
 18786  		var yyLOCAL *tree.CycleOption
 18787  //line mysql_sql.y:7498
 18788  		{
 18789  			yyLOCAL = &tree.CycleOption{
 18790  				Cycle: true,
 18791  			}
 18792  		}
 18793  		yyVAL.union = yyLOCAL
 18794  	case 1136:
 18795  		yyDollar = yyS[yypt-0 : yypt+1]
 18796  		var yyLOCAL *tree.StartWithOption
 18797  //line mysql_sql.y:7504
 18798  		{
 18799  			yyLOCAL = nil
 18800  		}
 18801  		yyVAL.union = yyLOCAL
 18802  	case 1137:
 18803  		yyDollar = yyS[yypt-3 : yypt+1]
 18804  		var yyLOCAL *tree.StartWithOption
 18805  //line mysql_sql.y:7508
 18806  		{
 18807  			yyLOCAL = &tree.StartWithOption{
 18808  				Minus: false,
 18809  				Num:   yyDollar[3].item,
 18810  			}
 18811  		}
 18812  		yyVAL.union = yyLOCAL
 18813  	case 1138:
 18814  		yyDollar = yyS[yypt-2 : yypt+1]
 18815  		var yyLOCAL *tree.StartWithOption
 18816  //line mysql_sql.y:7515
 18817  		{
 18818  			yyLOCAL = &tree.StartWithOption{
 18819  				Minus: false,
 18820  				Num:   yyDollar[2].item,
 18821  			}
 18822  		}
 18823  		yyVAL.union = yyLOCAL
 18824  	case 1139:
 18825  		yyDollar = yyS[yypt-4 : yypt+1]
 18826  		var yyLOCAL *tree.StartWithOption
 18827  //line mysql_sql.y:7522
 18828  		{
 18829  			yyLOCAL = &tree.StartWithOption{
 18830  				Minus: true,
 18831  				Num:   yyDollar[4].item,
 18832  			}
 18833  		}
 18834  		yyVAL.union = yyLOCAL
 18835  	case 1140:
 18836  		yyDollar = yyS[yypt-3 : yypt+1]
 18837  		var yyLOCAL *tree.StartWithOption
 18838  //line mysql_sql.y:7529
 18839  		{
 18840  			yyLOCAL = &tree.StartWithOption{
 18841  				Minus: true,
 18842  				Num:   yyDollar[3].item,
 18843  			}
 18844  		}
 18845  		yyVAL.union = yyLOCAL
 18846  	case 1141:
 18847  		yyDollar = yyS[yypt-0 : yypt+1]
 18848  		var yyLOCAL bool
 18849  //line mysql_sql.y:7536
 18850  		{
 18851  			yyLOCAL = false
 18852  		}
 18853  		yyVAL.union = yyLOCAL
 18854  	case 1142:
 18855  		yyDollar = yyS[yypt-1 : yypt+1]
 18856  		var yyLOCAL bool
 18857  //line mysql_sql.y:7540
 18858  		{
 18859  			yyLOCAL = true
 18860  		}
 18861  		yyVAL.union = yyLOCAL
 18862  	case 1143:
 18863  		yyDollar = yyS[yypt-0 : yypt+1]
 18864  		var yyLOCAL bool
 18865  //line mysql_sql.y:7545
 18866  		{
 18867  			yyLOCAL = true
 18868  		}
 18869  		yyVAL.union = yyLOCAL
 18870  	case 1144:
 18871  		yyDollar = yyS[yypt-1 : yypt+1]
 18872  		var yyLOCAL bool
 18873  //line mysql_sql.y:7549
 18874  		{
 18875  			yyLOCAL = true
 18876  		}
 18877  		yyVAL.union = yyLOCAL
 18878  	case 1145:
 18879  		yyDollar = yyS[yypt-1 : yypt+1]
 18880  		var yyLOCAL bool
 18881  //line mysql_sql.y:7553
 18882  		{
 18883  			yyLOCAL = true
 18884  		}
 18885  		yyVAL.union = yyLOCAL
 18886  	case 1146:
 18887  		yyDollar = yyS[yypt-0 : yypt+1]
 18888  		var yyLOCAL *tree.PartitionOption
 18889  //line mysql_sql.y:7558
 18890  		{
 18891  			yyLOCAL = nil
 18892  		}
 18893  		yyVAL.union = yyLOCAL
 18894  	case 1147:
 18895  		yyDollar = yyS[yypt-6 : yypt+1]
 18896  		var yyLOCAL *tree.PartitionOption
 18897  //line mysql_sql.y:7562
 18898  		{
 18899  			yyDollar[3].partitionByUnion().Num = uint64(yyDollar[4].int64ValUnion())
 18900  			var PartBy = yyDollar[3].partitionByUnion()
 18901  			var SubPartBy = yyDollar[5].partitionByUnion()
 18902  			var Partitions = yyDollar[6].partitionsUnion()
 18903  			yyLOCAL = tree.NewPartitionOption(
 18904  				PartBy,
 18905  				SubPartBy,
 18906  				Partitions,
 18907  			)
 18908  		}
 18909  		yyVAL.union = yyLOCAL
 18910  	case 1148:
 18911  		yyDollar = yyS[yypt-0 : yypt+1]
 18912  		var yyLOCAL *tree.ClusterByOption
 18913  //line mysql_sql.y:7575
 18914  		{
 18915  			yyLOCAL = nil
 18916  		}
 18917  		yyVAL.union = yyLOCAL
 18918  	case 1149:
 18919  		yyDollar = yyS[yypt-3 : yypt+1]
 18920  		var yyLOCAL *tree.ClusterByOption
 18921  //line mysql_sql.y:7579
 18922  		{
 18923  			var ColumnList = []*tree.UnresolvedName{yyDollar[3].unresolvedNameUnion()}
 18924  			yyLOCAL = tree.NewClusterByOption(
 18925  				ColumnList,
 18926  			)
 18927  
 18928  		}
 18929  		yyVAL.union = yyLOCAL
 18930  	case 1150:
 18931  		yyDollar = yyS[yypt-5 : yypt+1]
 18932  		var yyLOCAL *tree.ClusterByOption
 18933  //line mysql_sql.y:7587
 18934  		{
 18935  			var ColumnList = yyDollar[4].unresolveNamesUnion()
 18936  			yyLOCAL = tree.NewClusterByOption(
 18937  				ColumnList,
 18938  			)
 18939  		}
 18940  		yyVAL.union = yyLOCAL
 18941  	case 1151:
 18942  		yyDollar = yyS[yypt-0 : yypt+1]
 18943  		var yyLOCAL *tree.PartitionBy
 18944  //line mysql_sql.y:7595
 18945  		{
 18946  			yyLOCAL = nil
 18947  		}
 18948  		yyVAL.union = yyLOCAL
 18949  	case 1152:
 18950  		yyDollar = yyS[yypt-4 : yypt+1]
 18951  		var yyLOCAL *tree.PartitionBy
 18952  //line mysql_sql.y:7599
 18953  		{
 18954  			var IsSubPartition = true
 18955  			var PType = yyDollar[3].partitionByUnion()
 18956  			var Num = uint64(yyDollar[4].int64ValUnion())
 18957  			yyLOCAL = tree.NewPartitionBy2(
 18958  				IsSubPartition,
 18959  				PType,
 18960  				Num,
 18961  			)
 18962  		}
 18963  		yyVAL.union = yyLOCAL
 18964  	case 1153:
 18965  		yyDollar = yyS[yypt-0 : yypt+1]
 18966  		var yyLOCAL []*tree.Partition
 18967  //line mysql_sql.y:7611
 18968  		{
 18969  			yyLOCAL = nil
 18970  		}
 18971  		yyVAL.union = yyLOCAL
 18972  	case 1154:
 18973  		yyDollar = yyS[yypt-3 : yypt+1]
 18974  		var yyLOCAL []*tree.Partition
 18975  //line mysql_sql.y:7615
 18976  		{
 18977  			yyLOCAL = yyDollar[2].partitionsUnion()
 18978  		}
 18979  		yyVAL.union = yyLOCAL
 18980  	case 1155:
 18981  		yyDollar = yyS[yypt-1 : yypt+1]
 18982  		var yyLOCAL []*tree.Partition
 18983  //line mysql_sql.y:7621
 18984  		{
 18985  			yyLOCAL = []*tree.Partition{yyDollar[1].partitionUnion()}
 18986  		}
 18987  		yyVAL.union = yyLOCAL
 18988  	case 1156:
 18989  		yyDollar = yyS[yypt-3 : yypt+1]
 18990  		var yyLOCAL []*tree.Partition
 18991  //line mysql_sql.y:7625
 18992  		{
 18993  			yyLOCAL = append(yyDollar[1].partitionsUnion(), yyDollar[3].partitionUnion())
 18994  		}
 18995  		yyVAL.union = yyLOCAL
 18996  	case 1157:
 18997  		yyDollar = yyS[yypt-4 : yypt+1]
 18998  		var yyLOCAL *tree.Partition
 18999  //line mysql_sql.y:7631
 19000  		{
 19001  			var Name = tree.Identifier(yyDollar[2].cstrUnion().Compare())
 19002  			var Values = yyDollar[3].valuesUnion()
 19003  			var Options []tree.TableOption
 19004  			var Subs = yyDollar[4].subPartitionsUnion()
 19005  			yyLOCAL = tree.NewPartition(
 19006  				Name,
 19007  				Values,
 19008  				Options,
 19009  				Subs,
 19010  			)
 19011  		}
 19012  		yyVAL.union = yyLOCAL
 19013  	case 1158:
 19014  		yyDollar = yyS[yypt-5 : yypt+1]
 19015  		var yyLOCAL *tree.Partition
 19016  //line mysql_sql.y:7644
 19017  		{
 19018  			var Name = tree.Identifier(yyDollar[2].cstrUnion().Compare())
 19019  			var Values = yyDollar[3].valuesUnion()
 19020  			var Options = yyDollar[4].tableOptionsUnion()
 19021  			var Subs = yyDollar[5].subPartitionsUnion()
 19022  			yyLOCAL = tree.NewPartition(
 19023  				Name,
 19024  				Values,
 19025  				Options,
 19026  				Subs,
 19027  			)
 19028  		}
 19029  		yyVAL.union = yyLOCAL
 19030  	case 1159:
 19031  		yyDollar = yyS[yypt-0 : yypt+1]
 19032  		var yyLOCAL []*tree.SubPartition
 19033  //line mysql_sql.y:7658
 19034  		{
 19035  			yyLOCAL = nil
 19036  		}
 19037  		yyVAL.union = yyLOCAL
 19038  	case 1160:
 19039  		yyDollar = yyS[yypt-3 : yypt+1]
 19040  		var yyLOCAL []*tree.SubPartition
 19041  //line mysql_sql.y:7662
 19042  		{
 19043  			yyLOCAL = yyDollar[2].subPartitionsUnion()
 19044  		}
 19045  		yyVAL.union = yyLOCAL
 19046  	case 1161:
 19047  		yyDollar = yyS[yypt-1 : yypt+1]
 19048  		var yyLOCAL []*tree.SubPartition
 19049  //line mysql_sql.y:7668
 19050  		{
 19051  			yyLOCAL = []*tree.SubPartition{yyDollar[1].subPartitionUnion()}
 19052  		}
 19053  		yyVAL.union = yyLOCAL
 19054  	case 1162:
 19055  		yyDollar = yyS[yypt-3 : yypt+1]
 19056  		var yyLOCAL []*tree.SubPartition
 19057  //line mysql_sql.y:7672
 19058  		{
 19059  			yyLOCAL = append(yyDollar[1].subPartitionsUnion(), yyDollar[3].subPartitionUnion())
 19060  		}
 19061  		yyVAL.union = yyLOCAL
 19062  	case 1163:
 19063  		yyDollar = yyS[yypt-2 : yypt+1]
 19064  		var yyLOCAL *tree.SubPartition
 19065  //line mysql_sql.y:7678
 19066  		{
 19067  			var Name = tree.Identifier(yyDollar[2].cstrUnion().Compare())
 19068  			var Options []tree.TableOption
 19069  			yyLOCAL = tree.NewSubPartition(
 19070  				Name,
 19071  				Options,
 19072  			)
 19073  		}
 19074  		yyVAL.union = yyLOCAL
 19075  	case 1164:
 19076  		yyDollar = yyS[yypt-3 : yypt+1]
 19077  		var yyLOCAL *tree.SubPartition
 19078  //line mysql_sql.y:7687
 19079  		{
 19080  			var Name = tree.Identifier(yyDollar[2].cstrUnion().Compare())
 19081  			var Options = yyDollar[3].tableOptionsUnion()
 19082  			yyLOCAL = tree.NewSubPartition(
 19083  				Name,
 19084  				Options,
 19085  			)
 19086  		}
 19087  		yyVAL.union = yyLOCAL
 19088  	case 1165:
 19089  		yyDollar = yyS[yypt-1 : yypt+1]
 19090  		var yyLOCAL []tree.TableOption
 19091  //line mysql_sql.y:7698
 19092  		{
 19093  			yyLOCAL = []tree.TableOption{yyDollar[1].tableOptionUnion()}
 19094  		}
 19095  		yyVAL.union = yyLOCAL
 19096  	case 1166:
 19097  		yyDollar = yyS[yypt-2 : yypt+1]
 19098  		var yyLOCAL []tree.TableOption
 19099  //line mysql_sql.y:7702
 19100  		{
 19101  			yyLOCAL = append(yyDollar[1].tableOptionsUnion(), yyDollar[2].tableOptionUnion())
 19102  		}
 19103  		yyVAL.union = yyLOCAL
 19104  	case 1167:
 19105  		yyDollar = yyS[yypt-0 : yypt+1]
 19106  		var yyLOCAL tree.Values
 19107  //line mysql_sql.y:7707
 19108  		{
 19109  			yyLOCAL = nil
 19110  		}
 19111  		yyVAL.union = yyLOCAL
 19112  	case 1168:
 19113  		yyDollar = yyS[yypt-4 : yypt+1]
 19114  		var yyLOCAL tree.Values
 19115  //line mysql_sql.y:7711
 19116  		{
 19117  			expr := tree.NewMaxValue()
 19118  			var valueList = tree.Exprs{expr}
 19119  			yyLOCAL = tree.NewValuesLessThan(valueList)
 19120  		}
 19121  		yyVAL.union = yyLOCAL
 19122  	case 1169:
 19123  		yyDollar = yyS[yypt-6 : yypt+1]
 19124  		var yyLOCAL tree.Values
 19125  //line mysql_sql.y:7717
 19126  		{
 19127  			var valueList = yyDollar[5].exprsUnion()
 19128  			yyLOCAL = tree.NewValuesLessThan(valueList)
 19129  		}
 19130  		yyVAL.union = yyLOCAL
 19131  	case 1170:
 19132  		yyDollar = yyS[yypt-5 : yypt+1]
 19133  		var yyLOCAL tree.Values
 19134  //line mysql_sql.y:7722
 19135  		{
 19136  			var valueList = yyDollar[4].exprsUnion()
 19137  			yyLOCAL = tree.NewValuesIn(
 19138  				valueList,
 19139  			)
 19140  		}
 19141  		yyVAL.union = yyLOCAL
 19142  	case 1171:
 19143  		yyDollar = yyS[yypt-0 : yypt+1]
 19144  		var yyLOCAL int64
 19145  //line mysql_sql.y:7730
 19146  		{
 19147  			yyLOCAL = 0
 19148  		}
 19149  		yyVAL.union = yyLOCAL
 19150  	case 1172:
 19151  		yyDollar = yyS[yypt-2 : yypt+1]
 19152  		var yyLOCAL int64
 19153  //line mysql_sql.y:7734
 19154  		{
 19155  			res := yyDollar[2].item.(int64)
 19156  			if res == 0 {
 19157  				yylex.Error("partitions can not be 0")
 19158  				goto ret1
 19159  			}
 19160  			yyLOCAL = res
 19161  		}
 19162  		yyVAL.union = yyLOCAL
 19163  	case 1173:
 19164  		yyDollar = yyS[yypt-0 : yypt+1]
 19165  		var yyLOCAL int64
 19166  //line mysql_sql.y:7744
 19167  		{
 19168  			yyLOCAL = 0
 19169  		}
 19170  		yyVAL.union = yyLOCAL
 19171  	case 1174:
 19172  		yyDollar = yyS[yypt-2 : yypt+1]
 19173  		var yyLOCAL int64
 19174  //line mysql_sql.y:7748
 19175  		{
 19176  			res := yyDollar[2].item.(int64)
 19177  			if res == 0 {
 19178  				yylex.Error("partitions can not be 0")
 19179  				goto ret1
 19180  			}
 19181  			yyLOCAL = res
 19182  		}
 19183  		yyVAL.union = yyLOCAL
 19184  	case 1175:
 19185  		yyDollar = yyS[yypt-4 : yypt+1]
 19186  		var yyLOCAL *tree.PartitionBy
 19187  //line mysql_sql.y:7759
 19188  		{
 19189  			rangeTyp := tree.NewRangeType()
 19190  			rangeTyp.Expr = yyDollar[3].exprUnion()
 19191  			yyLOCAL = tree.NewPartitionBy(
 19192  				rangeTyp,
 19193  			)
 19194  		}
 19195  		yyVAL.union = yyLOCAL
 19196  	case 1176:
 19197  		yyDollar = yyS[yypt-5 : yypt+1]
 19198  		var yyLOCAL *tree.PartitionBy
 19199  //line mysql_sql.y:7767
 19200  		{
 19201  			rangeTyp := tree.NewRangeType()
 19202  			rangeTyp.ColumnList = yyDollar[4].unresolveNamesUnion()
 19203  			yyLOCAL = tree.NewPartitionBy(
 19204  				rangeTyp,
 19205  			)
 19206  		}
 19207  		yyVAL.union = yyLOCAL
 19208  	case 1177:
 19209  		yyDollar = yyS[yypt-4 : yypt+1]
 19210  		var yyLOCAL *tree.PartitionBy
 19211  //line mysql_sql.y:7775
 19212  		{
 19213  			listTyp := tree.NewListType()
 19214  			listTyp.Expr = yyDollar[3].exprUnion()
 19215  			yyLOCAL = tree.NewPartitionBy(
 19216  				listTyp,
 19217  			)
 19218  		}
 19219  		yyVAL.union = yyLOCAL
 19220  	case 1178:
 19221  		yyDollar = yyS[yypt-5 : yypt+1]
 19222  		var yyLOCAL *tree.PartitionBy
 19223  //line mysql_sql.y:7783
 19224  		{
 19225  			listTyp := tree.NewListType()
 19226  			listTyp.ColumnList = yyDollar[4].unresolveNamesUnion()
 19227  			yyLOCAL = tree.NewPartitionBy(
 19228  				listTyp,
 19229  			)
 19230  		}
 19231  		yyVAL.union = yyLOCAL
 19232  	case 1180:
 19233  		yyDollar = yyS[yypt-5 : yypt+1]
 19234  		var yyLOCAL *tree.PartitionBy
 19235  //line mysql_sql.y:7794
 19236  		{
 19237  			keyTyp := tree.NewKeyType()
 19238  			keyTyp.Linear = yyDollar[1].boolValUnion()
 19239  			keyTyp.Algorithm = yyDollar[3].int64ValUnion()
 19240  			yyLOCAL = tree.NewPartitionBy(
 19241  				keyTyp,
 19242  			)
 19243  		}
 19244  		yyVAL.union = yyLOCAL
 19245  	case 1181:
 19246  		yyDollar = yyS[yypt-6 : yypt+1]
 19247  		var yyLOCAL *tree.PartitionBy
 19248  //line mysql_sql.y:7803
 19249  		{
 19250  			keyTyp := tree.NewKeyType()
 19251  			keyTyp.Linear = yyDollar[1].boolValUnion()
 19252  			keyTyp.Algorithm = yyDollar[3].int64ValUnion()
 19253  			keyTyp.ColumnList = yyDollar[5].unresolveNamesUnion()
 19254  			yyLOCAL = tree.NewPartitionBy(
 19255  				keyTyp,
 19256  			)
 19257  		}
 19258  		yyVAL.union = yyLOCAL
 19259  	case 1182:
 19260  		yyDollar = yyS[yypt-5 : yypt+1]
 19261  		var yyLOCAL *tree.PartitionBy
 19262  //line mysql_sql.y:7813
 19263  		{
 19264  			Linear := yyDollar[1].boolValUnion()
 19265  			Expr := yyDollar[4].exprUnion()
 19266  			hashTyp := tree.NewHashType(Linear, Expr)
 19267  			yyLOCAL = tree.NewPartitionBy(
 19268  				hashTyp,
 19269  			)
 19270  		}
 19271  		yyVAL.union = yyLOCAL
 19272  	case 1183:
 19273  		yyDollar = yyS[yypt-0 : yypt+1]
 19274  		var yyLOCAL int64
 19275  //line mysql_sql.y:7823
 19276  		{
 19277  			yyLOCAL = 2
 19278  		}
 19279  		yyVAL.union = yyLOCAL
 19280  	case 1184:
 19281  		yyDollar = yyS[yypt-3 : yypt+1]
 19282  		var yyLOCAL int64
 19283  //line mysql_sql.y:7827
 19284  		{
 19285  			yyLOCAL = yyDollar[3].item.(int64)
 19286  		}
 19287  		yyVAL.union = yyLOCAL
 19288  	case 1185:
 19289  		yyDollar = yyS[yypt-0 : yypt+1]
 19290  		var yyLOCAL bool
 19291  //line mysql_sql.y:7832
 19292  		{
 19293  			yyLOCAL = false
 19294  		}
 19295  		yyVAL.union = yyLOCAL
 19296  	case 1186:
 19297  		yyDollar = yyS[yypt-1 : yypt+1]
 19298  		var yyLOCAL bool
 19299  //line mysql_sql.y:7836
 19300  		{
 19301  			yyLOCAL = true
 19302  		}
 19303  		yyVAL.union = yyLOCAL
 19304  	case 1187:
 19305  		yyDollar = yyS[yypt-1 : yypt+1]
 19306  		var yyLOCAL []*tree.ConnectorOption
 19307  //line mysql_sql.y:7842
 19308  		{
 19309  			yyLOCAL = []*tree.ConnectorOption{yyDollar[1].connectorOptionUnion()}
 19310  		}
 19311  		yyVAL.union = yyLOCAL
 19312  	case 1188:
 19313  		yyDollar = yyS[yypt-3 : yypt+1]
 19314  		var yyLOCAL []*tree.ConnectorOption
 19315  //line mysql_sql.y:7846
 19316  		{
 19317  			yyLOCAL = append(yyDollar[1].connectorOptionsUnion(), yyDollar[3].connectorOptionUnion())
 19318  		}
 19319  		yyVAL.union = yyLOCAL
 19320  	case 1189:
 19321  		yyDollar = yyS[yypt-3 : yypt+1]
 19322  		var yyLOCAL *tree.ConnectorOption
 19323  //line mysql_sql.y:7852
 19324  		{
 19325  			var Key = tree.Identifier(yyDollar[1].cstrUnion().Compare())
 19326  			var Val = yyDollar[3].exprUnion()
 19327  			yyLOCAL = tree.NewConnectorOption(
 19328  				Key,
 19329  				Val,
 19330  			)
 19331  		}
 19332  		yyVAL.union = yyLOCAL
 19333  	case 1190:
 19334  		yyDollar = yyS[yypt-3 : yypt+1]
 19335  		var yyLOCAL *tree.ConnectorOption
 19336  //line mysql_sql.y:7861
 19337  		{
 19338  			var Key = tree.Identifier(yyDollar[1].str)
 19339  			var Val = yyDollar[3].exprUnion()
 19340  			yyLOCAL = tree.NewConnectorOption(
 19341  				Key,
 19342  				Val,
 19343  			)
 19344  		}
 19345  		yyVAL.union = yyLOCAL
 19346  	case 1191:
 19347  		yyDollar = yyS[yypt-0 : yypt+1]
 19348  		var yyLOCAL []tree.TableOption
 19349  //line mysql_sql.y:7871
 19350  		{
 19351  			yyLOCAL = nil
 19352  		}
 19353  		yyVAL.union = yyLOCAL
 19354  	case 1192:
 19355  		yyDollar = yyS[yypt-4 : yypt+1]
 19356  		var yyLOCAL []tree.TableOption
 19357  //line mysql_sql.y:7875
 19358  		{
 19359  			yyLOCAL = yyDollar[3].tableOptionsUnion()
 19360  		}
 19361  		yyVAL.union = yyLOCAL
 19362  	case 1193:
 19363  		yyDollar = yyS[yypt-1 : yypt+1]
 19364  		var yyLOCAL []tree.TableOption
 19365  //line mysql_sql.y:7881
 19366  		{
 19367  			yyLOCAL = []tree.TableOption{yyDollar[1].tableOptionUnion()}
 19368  		}
 19369  		yyVAL.union = yyLOCAL
 19370  	case 1194:
 19371  		yyDollar = yyS[yypt-3 : yypt+1]
 19372  		var yyLOCAL []tree.TableOption
 19373  //line mysql_sql.y:7885
 19374  		{
 19375  			yyLOCAL = append(yyDollar[1].tableOptionsUnion(), yyDollar[3].tableOptionUnion())
 19376  		}
 19377  		yyVAL.union = yyLOCAL
 19378  	case 1195:
 19379  		yyDollar = yyS[yypt-3 : yypt+1]
 19380  		var yyLOCAL tree.TableOption
 19381  //line mysql_sql.y:7891
 19382  		{
 19383  			var Key = tree.Identifier(yyDollar[1].cstrUnion().Compare())
 19384  			var Val = yyDollar[3].exprUnion()
 19385  			yyLOCAL = tree.NewCreateSourceWithOption(
 19386  				Key,
 19387  				Val,
 19388  			)
 19389  		}
 19390  		yyVAL.union = yyLOCAL
 19391  	case 1196:
 19392  		yyDollar = yyS[yypt-3 : yypt+1]
 19393  		var yyLOCAL tree.TableOption
 19394  //line mysql_sql.y:7900
 19395  		{
 19396  			var Key = tree.Identifier(yyDollar[1].str)
 19397  			var Val = yyDollar[3].exprUnion()
 19398  			yyLOCAL = tree.NewCreateSourceWithOption(
 19399  				Key,
 19400  				Val,
 19401  			)
 19402  		}
 19403  		yyVAL.union = yyLOCAL
 19404  	case 1197:
 19405  		yyDollar = yyS[yypt-0 : yypt+1]
 19406  		var yyLOCAL []tree.TableOption
 19407  //line mysql_sql.y:7910
 19408  		{
 19409  			yyLOCAL = nil
 19410  		}
 19411  		yyVAL.union = yyLOCAL
 19412  	case 1198:
 19413  		yyDollar = yyS[yypt-1 : yypt+1]
 19414  		var yyLOCAL []tree.TableOption
 19415  //line mysql_sql.y:7914
 19416  		{
 19417  			yyLOCAL = yyDollar[1].tableOptionsUnion()
 19418  		}
 19419  		yyVAL.union = yyLOCAL
 19420  	case 1199:
 19421  		yyDollar = yyS[yypt-1 : yypt+1]
 19422  		var yyLOCAL []tree.TableOption
 19423  //line mysql_sql.y:7920
 19424  		{
 19425  			yyLOCAL = []tree.TableOption{yyDollar[1].tableOptionUnion()}
 19426  		}
 19427  		yyVAL.union = yyLOCAL
 19428  	case 1200:
 19429  		yyDollar = yyS[yypt-3 : yypt+1]
 19430  		var yyLOCAL []tree.TableOption
 19431  //line mysql_sql.y:7924
 19432  		{
 19433  			yyLOCAL = append(yyDollar[1].tableOptionsUnion(), yyDollar[3].tableOptionUnion())
 19434  		}
 19435  		yyVAL.union = yyLOCAL
 19436  	case 1201:
 19437  		yyDollar = yyS[yypt-2 : yypt+1]
 19438  		var yyLOCAL []tree.TableOption
 19439  //line mysql_sql.y:7928
 19440  		{
 19441  			yyLOCAL = append(yyDollar[1].tableOptionsUnion(), yyDollar[2].tableOptionUnion())
 19442  		}
 19443  		yyVAL.union = yyLOCAL
 19444  	case 1202:
 19445  		yyDollar = yyS[yypt-3 : yypt+1]
 19446  		var yyLOCAL tree.TableOption
 19447  //line mysql_sql.y:7934
 19448  		{
 19449  			yyLOCAL = tree.NewTableOptionAUTOEXTEND_SIZE(uint64(yyDollar[3].item.(int64)))
 19450  		}
 19451  		yyVAL.union = yyLOCAL
 19452  	case 1203:
 19453  		yyDollar = yyS[yypt-3 : yypt+1]
 19454  		var yyLOCAL tree.TableOption
 19455  //line mysql_sql.y:7938
 19456  		{
 19457  			yyLOCAL = tree.NewTableOptionAutoIncrement(uint64(yyDollar[3].item.(int64)))
 19458  		}
 19459  		yyVAL.union = yyLOCAL
 19460  	case 1204:
 19461  		yyDollar = yyS[yypt-3 : yypt+1]
 19462  		var yyLOCAL tree.TableOption
 19463  //line mysql_sql.y:7942
 19464  		{
 19465  			yyLOCAL = tree.NewTableOptionAvgRowLength(uint64(yyDollar[3].item.(int64)))
 19466  		}
 19467  		yyVAL.union = yyLOCAL
 19468  	case 1205:
 19469  		yyDollar = yyS[yypt-4 : yypt+1]
 19470  		var yyLOCAL tree.TableOption
 19471  //line mysql_sql.y:7946
 19472  		{
 19473  			yyLOCAL = tree.NewTableOptionCharset(yyDollar[4].str)
 19474  		}
 19475  		yyVAL.union = yyLOCAL
 19476  	case 1206:
 19477  		yyDollar = yyS[yypt-4 : yypt+1]
 19478  		var yyLOCAL tree.TableOption
 19479  //line mysql_sql.y:7950
 19480  		{
 19481  			yyLOCAL = tree.NewTableOptionCollate(yyDollar[4].str)
 19482  		}
 19483  		yyVAL.union = yyLOCAL
 19484  	case 1207:
 19485  		yyDollar = yyS[yypt-3 : yypt+1]
 19486  		var yyLOCAL tree.TableOption
 19487  //line mysql_sql.y:7954
 19488  		{
 19489  			yyLOCAL = tree.NewTableOptionChecksum(uint64(yyDollar[3].item.(int64)))
 19490  		}
 19491  		yyVAL.union = yyLOCAL
 19492  	case 1208:
 19493  		yyDollar = yyS[yypt-3 : yypt+1]
 19494  		var yyLOCAL tree.TableOption
 19495  //line mysql_sql.y:7958
 19496  		{
 19497  			str := util.DealCommentString(yyDollar[3].str)
 19498  			yyLOCAL = tree.NewTableOptionComment(str)
 19499  		}
 19500  		yyVAL.union = yyLOCAL
 19501  	case 1209:
 19502  		yyDollar = yyS[yypt-3 : yypt+1]
 19503  		var yyLOCAL tree.TableOption
 19504  //line mysql_sql.y:7963
 19505  		{
 19506  			yyLOCAL = tree.NewTableOptionCompression(yyDollar[3].str)
 19507  		}
 19508  		yyVAL.union = yyLOCAL
 19509  	case 1210:
 19510  		yyDollar = yyS[yypt-3 : yypt+1]
 19511  		var yyLOCAL tree.TableOption
 19512  //line mysql_sql.y:7967
 19513  		{
 19514  			yyLOCAL = tree.NewTableOptionConnection(yyDollar[3].str)
 19515  		}
 19516  		yyVAL.union = yyLOCAL
 19517  	case 1211:
 19518  		yyDollar = yyS[yypt-4 : yypt+1]
 19519  		var yyLOCAL tree.TableOption
 19520  //line mysql_sql.y:7971
 19521  		{
 19522  			yyLOCAL = tree.NewTableOptionDataDirectory(yyDollar[4].str)
 19523  		}
 19524  		yyVAL.union = yyLOCAL
 19525  	case 1212:
 19526  		yyDollar = yyS[yypt-4 : yypt+1]
 19527  		var yyLOCAL tree.TableOption
 19528  //line mysql_sql.y:7975
 19529  		{
 19530  			yyLOCAL = tree.NewTableOptionIndexDirectory(yyDollar[4].str)
 19531  		}
 19532  		yyVAL.union = yyLOCAL
 19533  	case 1213:
 19534  		yyDollar = yyS[yypt-3 : yypt+1]
 19535  		var yyLOCAL tree.TableOption
 19536  //line mysql_sql.y:7979
 19537  		{
 19538  			yyLOCAL = tree.NewTableOptionDelayKeyWrite(uint64(yyDollar[3].item.(int64)))
 19539  		}
 19540  		yyVAL.union = yyLOCAL
 19541  	case 1214:
 19542  		yyDollar = yyS[yypt-3 : yypt+1]
 19543  		var yyLOCAL tree.TableOption
 19544  //line mysql_sql.y:7983
 19545  		{
 19546  			yyLOCAL = tree.NewTableOptionEncryption(yyDollar[3].str)
 19547  		}
 19548  		yyVAL.union = yyLOCAL
 19549  	case 1215:
 19550  		yyDollar = yyS[yypt-3 : yypt+1]
 19551  		var yyLOCAL tree.TableOption
 19552  //line mysql_sql.y:7987
 19553  		{
 19554  			yyLOCAL = tree.NewTableOptionEngine(yyDollar[3].str)
 19555  		}
 19556  		yyVAL.union = yyLOCAL
 19557  	case 1216:
 19558  		yyDollar = yyS[yypt-3 : yypt+1]
 19559  		var yyLOCAL tree.TableOption
 19560  //line mysql_sql.y:7991
 19561  		{
 19562  			yyLOCAL = tree.NewTableOptionEngineAttr(yyDollar[3].str)
 19563  		}
 19564  		yyVAL.union = yyLOCAL
 19565  	case 1217:
 19566  		yyDollar = yyS[yypt-3 : yypt+1]
 19567  		var yyLOCAL tree.TableOption
 19568  //line mysql_sql.y:7995
 19569  		{
 19570  			yyLOCAL = tree.NewTableOptionInsertMethod(yyDollar[3].str)
 19571  		}
 19572  		yyVAL.union = yyLOCAL
 19573  	case 1218:
 19574  		yyDollar = yyS[yypt-3 : yypt+1]
 19575  		var yyLOCAL tree.TableOption
 19576  //line mysql_sql.y:7999
 19577  		{
 19578  			yyLOCAL = tree.NewTableOptionKeyBlockSize(uint64(yyDollar[3].item.(int64)))
 19579  		}
 19580  		yyVAL.union = yyLOCAL
 19581  	case 1219:
 19582  		yyDollar = yyS[yypt-3 : yypt+1]
 19583  		var yyLOCAL tree.TableOption
 19584  //line mysql_sql.y:8003
 19585  		{
 19586  			yyLOCAL = tree.NewTableOptionMaxRows(uint64(yyDollar[3].item.(int64)))
 19587  		}
 19588  		yyVAL.union = yyLOCAL
 19589  	case 1220:
 19590  		yyDollar = yyS[yypt-3 : yypt+1]
 19591  		var yyLOCAL tree.TableOption
 19592  //line mysql_sql.y:8007
 19593  		{
 19594  			yyLOCAL = tree.NewTableOptionMinRows(uint64(yyDollar[3].item.(int64)))
 19595  		}
 19596  		yyVAL.union = yyLOCAL
 19597  	case 1221:
 19598  		yyDollar = yyS[yypt-3 : yypt+1]
 19599  		var yyLOCAL tree.TableOption
 19600  //line mysql_sql.y:8011
 19601  		{
 19602  			t := tree.NewTableOptionPackKeys()
 19603  			t.Value = yyDollar[3].item.(int64)
 19604  			yyLOCAL = t
 19605  		}
 19606  		yyVAL.union = yyLOCAL
 19607  	case 1222:
 19608  		yyDollar = yyS[yypt-3 : yypt+1]
 19609  		var yyLOCAL tree.TableOption
 19610  //line mysql_sql.y:8017
 19611  		{
 19612  			t := tree.NewTableOptionPackKeys()
 19613  			t.Default = true
 19614  			yyLOCAL = t
 19615  		}
 19616  		yyVAL.union = yyLOCAL
 19617  	case 1223:
 19618  		yyDollar = yyS[yypt-3 : yypt+1]
 19619  		var yyLOCAL tree.TableOption
 19620  //line mysql_sql.y:8023
 19621  		{
 19622  			yyLOCAL = tree.NewTableOptionPassword(yyDollar[3].str)
 19623  		}
 19624  		yyVAL.union = yyLOCAL
 19625  	case 1224:
 19626  		yyDollar = yyS[yypt-3 : yypt+1]
 19627  		var yyLOCAL tree.TableOption
 19628  //line mysql_sql.y:8027
 19629  		{
 19630  			yyLOCAL = tree.NewTableOptionRowFormat(yyDollar[3].rowFormatTypeUnion())
 19631  		}
 19632  		yyVAL.union = yyLOCAL
 19633  	case 1225:
 19634  		yyDollar = yyS[yypt-2 : yypt+1]
 19635  		var yyLOCAL tree.TableOption
 19636  //line mysql_sql.y:8031
 19637  		{
 19638  			yyLOCAL = tree.NewTTableOptionStartTrans(true)
 19639  		}
 19640  		yyVAL.union = yyLOCAL
 19641  	case 1226:
 19642  		yyDollar = yyS[yypt-3 : yypt+1]
 19643  		var yyLOCAL tree.TableOption
 19644  //line mysql_sql.y:8035
 19645  		{
 19646  			yyLOCAL = tree.NewTTableOptionSecondaryEngineAttr(yyDollar[3].str)
 19647  		}
 19648  		yyVAL.union = yyLOCAL
 19649  	case 1227:
 19650  		yyDollar = yyS[yypt-3 : yypt+1]
 19651  		var yyLOCAL tree.TableOption
 19652  //line mysql_sql.y:8039
 19653  		{
 19654  			t := tree.NewTableOptionStatsAutoRecalc()
 19655  			t.Value = uint64(yyDollar[3].item.(int64))
 19656  			yyLOCAL = t
 19657  		}
 19658  		yyVAL.union = yyLOCAL
 19659  	case 1228:
 19660  		yyDollar = yyS[yypt-3 : yypt+1]
 19661  		var yyLOCAL tree.TableOption
 19662  //line mysql_sql.y:8045
 19663  		{
 19664  			t := tree.NewTableOptionStatsAutoRecalc()
 19665  			t.Default = true
 19666  			yyLOCAL = t
 19667  		}
 19668  		yyVAL.union = yyLOCAL
 19669  	case 1229:
 19670  		yyDollar = yyS[yypt-3 : yypt+1]
 19671  		var yyLOCAL tree.TableOption
 19672  //line mysql_sql.y:8051
 19673  		{
 19674  			t := tree.NewTableOptionStatsPersistent()
 19675  			t.Value = uint64(yyDollar[3].item.(int64))
 19676  			yyLOCAL = t
 19677  		}
 19678  		yyVAL.union = yyLOCAL
 19679  	case 1230:
 19680  		yyDollar = yyS[yypt-3 : yypt+1]
 19681  		var yyLOCAL tree.TableOption
 19682  //line mysql_sql.y:8057
 19683  		{
 19684  			t := tree.NewTableOptionStatsPersistent()
 19685  			t.Default = true
 19686  			yyLOCAL = t
 19687  		}
 19688  		yyVAL.union = yyLOCAL
 19689  	case 1231:
 19690  		yyDollar = yyS[yypt-3 : yypt+1]
 19691  		var yyLOCAL tree.TableOption
 19692  //line mysql_sql.y:8063
 19693  		{
 19694  			t := tree.NewTableOptionStatsSamplePages()
 19695  			t.Value = uint64(yyDollar[3].item.(int64))
 19696  			yyLOCAL = t
 19697  		}
 19698  		yyVAL.union = yyLOCAL
 19699  	case 1232:
 19700  		yyDollar = yyS[yypt-3 : yypt+1]
 19701  		var yyLOCAL tree.TableOption
 19702  //line mysql_sql.y:8069
 19703  		{
 19704  			t := tree.NewTableOptionStatsSamplePages()
 19705  			t.Default = true
 19706  			yyLOCAL = t
 19707  		}
 19708  		yyVAL.union = yyLOCAL
 19709  	case 1233:
 19710  		yyDollar = yyS[yypt-3 : yypt+1]
 19711  		var yyLOCAL tree.TableOption
 19712  //line mysql_sql.y:8075
 19713  		{
 19714  			yyLOCAL = tree.NewTableOptionTablespace(yyDollar[3].cstrUnion().Compare(), "")
 19715  		}
 19716  		yyVAL.union = yyLOCAL
 19717  	case 1234:
 19718  		yyDollar = yyS[yypt-1 : yypt+1]
 19719  		var yyLOCAL tree.TableOption
 19720  //line mysql_sql.y:8079
 19721  		{
 19722  			yyLOCAL = tree.NewTableOptionTablespace("", yyDollar[1].str)
 19723  		}
 19724  		yyVAL.union = yyLOCAL
 19725  	case 1235:
 19726  		yyDollar = yyS[yypt-5 : yypt+1]
 19727  		var yyLOCAL tree.TableOption
 19728  //line mysql_sql.y:8083
 19729  		{
 19730  			yyLOCAL = tree.NewTableOptionUnion(yyDollar[4].tableNamesUnion())
 19731  		}
 19732  		yyVAL.union = yyLOCAL
 19733  	case 1236:
 19734  		yyDollar = yyS[yypt-4 : yypt+1]
 19735  		var yyLOCAL tree.TableOption
 19736  //line mysql_sql.y:8087
 19737  		{
 19738  			var Preperties = yyDollar[3].propertiesUnion()
 19739  			yyLOCAL = tree.NewTableOptionProperties(Preperties)
 19740  		}
 19741  		yyVAL.union = yyLOCAL
 19742  	case 1237:
 19743  		yyDollar = yyS[yypt-1 : yypt+1]
 19744  		var yyLOCAL []tree.Property
 19745  //line mysql_sql.y:8094
 19746  		{
 19747  			yyLOCAL = []tree.Property{yyDollar[1].propertyUnion()}
 19748  		}
 19749  		yyVAL.union = yyLOCAL
 19750  	case 1238:
 19751  		yyDollar = yyS[yypt-3 : yypt+1]
 19752  		var yyLOCAL []tree.Property
 19753  //line mysql_sql.y:8098
 19754  		{
 19755  			yyLOCAL = append(yyDollar[1].propertiesUnion(), yyDollar[3].propertyUnion())
 19756  		}
 19757  		yyVAL.union = yyLOCAL
 19758  	case 1239:
 19759  		yyDollar = yyS[yypt-3 : yypt+1]
 19760  		var yyLOCAL tree.Property
 19761  //line mysql_sql.y:8104
 19762  		{
 19763  			var Key = yyDollar[1].str
 19764  			var Value = yyDollar[3].str
 19765  			yyLOCAL = *tree.NewProperty(
 19766  				Key,
 19767  				Value,
 19768  			)
 19769  		}
 19770  		yyVAL.union = yyLOCAL
 19771  	case 1240:
 19772  		yyDollar = yyS[yypt-2 : yypt+1]
 19773  //line mysql_sql.y:8115
 19774  		{
 19775  			yyVAL.str = " " + yyDollar[1].str + " " + yyDollar[2].str
 19776  		}
 19777  	case 1241:
 19778  		yyDollar = yyS[yypt-2 : yypt+1]
 19779  //line mysql_sql.y:8119
 19780  		{
 19781  			yyVAL.str = " " + yyDollar[1].str + " " + yyDollar[2].str
 19782  		}
 19783  	case 1242:
 19784  		yyDollar = yyS[yypt-1 : yypt+1]
 19785  		var yyLOCAL tree.RowFormatType
 19786  //line mysql_sql.y:8125
 19787  		{
 19788  			yyLOCAL = tree.ROW_FORMAT_DEFAULT
 19789  		}
 19790  		yyVAL.union = yyLOCAL
 19791  	case 1243:
 19792  		yyDollar = yyS[yypt-1 : yypt+1]
 19793  		var yyLOCAL tree.RowFormatType
 19794  //line mysql_sql.y:8129
 19795  		{
 19796  			yyLOCAL = tree.ROW_FORMAT_DYNAMIC
 19797  		}
 19798  		yyVAL.union = yyLOCAL
 19799  	case 1244:
 19800  		yyDollar = yyS[yypt-1 : yypt+1]
 19801  		var yyLOCAL tree.RowFormatType
 19802  //line mysql_sql.y:8133
 19803  		{
 19804  			yyLOCAL = tree.ROW_FORMAT_FIXED
 19805  		}
 19806  		yyVAL.union = yyLOCAL
 19807  	case 1245:
 19808  		yyDollar = yyS[yypt-1 : yypt+1]
 19809  		var yyLOCAL tree.RowFormatType
 19810  //line mysql_sql.y:8137
 19811  		{
 19812  			yyLOCAL = tree.ROW_FORMAT_COMPRESSED
 19813  		}
 19814  		yyVAL.union = yyLOCAL
 19815  	case 1246:
 19816  		yyDollar = yyS[yypt-1 : yypt+1]
 19817  		var yyLOCAL tree.RowFormatType
 19818  //line mysql_sql.y:8141
 19819  		{
 19820  			yyLOCAL = tree.ROW_FORMAT_REDUNDANT
 19821  		}
 19822  		yyVAL.union = yyLOCAL
 19823  	case 1247:
 19824  		yyDollar = yyS[yypt-1 : yypt+1]
 19825  		var yyLOCAL tree.RowFormatType
 19826  //line mysql_sql.y:8145
 19827  		{
 19828  			yyLOCAL = tree.ROW_FORMAT_COMPACT
 19829  		}
 19830  		yyVAL.union = yyLOCAL
 19831  	case 1252:
 19832  		yyDollar = yyS[yypt-1 : yypt+1]
 19833  		var yyLOCAL tree.TableNames
 19834  //line mysql_sql.y:8159
 19835  		{
 19836  			yyLOCAL = tree.TableNames{yyDollar[1].tableNameUnion()}
 19837  		}
 19838  		yyVAL.union = yyLOCAL
 19839  	case 1253:
 19840  		yyDollar = yyS[yypt-3 : yypt+1]
 19841  		var yyLOCAL tree.TableNames
 19842  //line mysql_sql.y:8163
 19843  		{
 19844  			yyLOCAL = append(yyDollar[1].tableNamesUnion(), yyDollar[3].tableNameUnion())
 19845  		}
 19846  		yyVAL.union = yyLOCAL
 19847  	case 1254:
 19848  		yyDollar = yyS[yypt-2 : yypt+1]
 19849  		var yyLOCAL *tree.TableName
 19850  //line mysql_sql.y:8172
 19851  		{
 19852  			prefix := tree.ObjectNamePrefix{ExplicitSchema: false}
 19853  			yyLOCAL = tree.NewTableName(tree.Identifier(yyDollar[1].cstrUnion().Compare()), prefix, yyDollar[2].atTimeStampUnion())
 19854  		}
 19855  		yyVAL.union = yyLOCAL
 19856  	case 1255:
 19857  		yyDollar = yyS[yypt-4 : yypt+1]
 19858  		var yyLOCAL *tree.TableName
 19859  //line mysql_sql.y:8177
 19860  		{
 19861  			prefix := tree.ObjectNamePrefix{SchemaName: tree.Identifier(yyDollar[1].cstrUnion().Compare()), ExplicitSchema: true}
 19862  			yyLOCAL = tree.NewTableName(tree.Identifier(yyDollar[3].cstrUnion().Compare()), prefix, yyDollar[4].atTimeStampUnion())
 19863  		}
 19864  		yyVAL.union = yyLOCAL
 19865  	case 1256:
 19866  		yyDollar = yyS[yypt-0 : yypt+1]
 19867  		var yyLOCAL *tree.AtTimeStamp
 19868  //line mysql_sql.y:8183
 19869  		{
 19870  			yyLOCAL = nil
 19871  		}
 19872  		yyVAL.union = yyLOCAL
 19873  	case 1257:
 19874  		yyDollar = yyS[yypt-2 : yypt+1]
 19875  		var yyLOCAL *tree.AtTimeStamp
 19876  //line mysql_sql.y:8187
 19877  		{
 19878  			yyLOCAL = nil
 19879  		}
 19880  		yyVAL.union = yyLOCAL
 19881  	case 1258:
 19882  		yyDollar = yyS[yypt-5 : yypt+1]
 19883  		var yyLOCAL *tree.AtTimeStamp
 19884  //line mysql_sql.y:8191
 19885  		{
 19886  			yyLOCAL = &tree.AtTimeStamp{
 19887  				Type: tree.ATTIMESTAMPTIME,
 19888  				Expr: yyDollar[4].exprUnion(),
 19889  			}
 19890  		}
 19891  		yyVAL.union = yyLOCAL
 19892  	case 1259:
 19893  		yyDollar = yyS[yypt-5 : yypt+1]
 19894  		var yyLOCAL *tree.AtTimeStamp
 19895  //line mysql_sql.y:8198
 19896  		{
 19897  			yyLOCAL = &tree.AtTimeStamp{
 19898  				Type: tree.ATTIMESTAMPSNAPSHOT,
 19899  				Expr: yyDollar[4].exprUnion(),
 19900  			}
 19901  		}
 19902  		yyVAL.union = yyLOCAL
 19903  	case 1260:
 19904  		yyDollar = yyS[yypt-5 : yypt+1]
 19905  		var yyLOCAL *tree.AtTimeStamp
 19906  //line mysql_sql.y:8205
 19907  		{
 19908  			yyLOCAL = &tree.AtTimeStamp{
 19909  				Type: tree.ATMOTIMESTAMP,
 19910  				Expr: yyDollar[4].exprUnion(),
 19911  			}
 19912  		}
 19913  		yyVAL.union = yyLOCAL
 19914  	case 1261:
 19915  		yyDollar = yyS[yypt-0 : yypt+1]
 19916  		var yyLOCAL tree.TableDefs
 19917  //line mysql_sql.y:8213
 19918  		{
 19919  			yyLOCAL = tree.TableDefs(nil)
 19920  		}
 19921  		yyVAL.union = yyLOCAL
 19922  	case 1263:
 19923  		yyDollar = yyS[yypt-1 : yypt+1]
 19924  		var yyLOCAL tree.TableDefs
 19925  //line mysql_sql.y:8220
 19926  		{
 19927  			yyLOCAL = tree.TableDefs{yyDollar[1].tableDefUnion()}
 19928  		}
 19929  		yyVAL.union = yyLOCAL
 19930  	case 1264:
 19931  		yyDollar = yyS[yypt-3 : yypt+1]
 19932  		var yyLOCAL tree.TableDefs
 19933  //line mysql_sql.y:8224
 19934  		{
 19935  			yyLOCAL = append(yyDollar[1].tableDefsUnion(), yyDollar[3].tableDefUnion())
 19936  		}
 19937  		yyVAL.union = yyLOCAL
 19938  	case 1265:
 19939  		yyDollar = yyS[yypt-1 : yypt+1]
 19940  		var yyLOCAL tree.TableDef
 19941  //line mysql_sql.y:8230
 19942  		{
 19943  			yyLOCAL = tree.TableDef(yyDollar[1].columnTableDefUnion())
 19944  		}
 19945  		yyVAL.union = yyLOCAL
 19946  	case 1266:
 19947  		yyDollar = yyS[yypt-1 : yypt+1]
 19948  		var yyLOCAL tree.TableDef
 19949  //line mysql_sql.y:8234
 19950  		{
 19951  			yyLOCAL = yyDollar[1].tableDefUnion()
 19952  		}
 19953  		yyVAL.union = yyLOCAL
 19954  	case 1267:
 19955  		yyDollar = yyS[yypt-1 : yypt+1]
 19956  		var yyLOCAL tree.TableDef
 19957  //line mysql_sql.y:8238
 19958  		{
 19959  			yyLOCAL = yyDollar[1].tableDefUnion()
 19960  		}
 19961  		yyVAL.union = yyLOCAL
 19962  	case 1268:
 19963  		yyDollar = yyS[yypt-1 : yypt+1]
 19964  		var yyLOCAL tree.TableDef
 19965  //line mysql_sql.y:8244
 19966  		{
 19967  			yyLOCAL = yyDollar[1].tableDefUnion()
 19968  		}
 19969  		yyVAL.union = yyLOCAL
 19970  	case 1269:
 19971  		yyDollar = yyS[yypt-1 : yypt+1]
 19972  		var yyLOCAL tree.TableDef
 19973  //line mysql_sql.y:8248
 19974  		{
 19975  			yyLOCAL = yyDollar[1].tableDefUnion()
 19976  		}
 19977  		yyVAL.union = yyLOCAL
 19978  	case 1270:
 19979  		yyDollar = yyS[yypt-7 : yypt+1]
 19980  		var yyLOCAL tree.TableDef
 19981  //line mysql_sql.y:8254
 19982  		{
 19983  			var KeyParts = yyDollar[5].keyPartsUnion()
 19984  			var Name = yyDollar[3].str
 19985  			var Empty = true
 19986  			var IndexOption = yyDollar[7].indexOptionUnion()
 19987  			yyLOCAL = tree.NewFullTextIndex(
 19988  				KeyParts,
 19989  				Name,
 19990  				Empty,
 19991  				IndexOption,
 19992  			)
 19993  		}
 19994  		yyVAL.union = yyLOCAL
 19995  	case 1271:
 19996  		yyDollar = yyS[yypt-9 : yypt+1]
 19997  		var yyLOCAL tree.TableDef
 19998  //line mysql_sql.y:8267
 19999  		{
 20000  			var KeyParts = yyDollar[5].keyPartsUnion()
 20001  			var Name = yyDollar[3].str
 20002  			var Empty = true
 20003  			var IndexOption = yyDollar[9].indexOptionUnion()
 20004  			yyLOCAL = tree.NewFullTextIndex(
 20005  				KeyParts,
 20006  				Name,
 20007  				Empty,
 20008  				IndexOption,
 20009  			)
 20010  		}
 20011  		yyVAL.union = yyLOCAL
 20012  	case 1272:
 20013  		yyDollar = yyS[yypt-7 : yypt+1]
 20014  		var yyLOCAL tree.TableDef
 20015  //line mysql_sql.y:8280
 20016  		{
 20017  			keyTyp := tree.INDEX_TYPE_INVALID
 20018  			if yyDollar[3].strsUnion()[1] != "" {
 20019  				t := strings.ToLower(yyDollar[3].strsUnion()[1])
 20020  				switch t {
 20021  				case "btree":
 20022  					keyTyp = tree.INDEX_TYPE_BTREE
 20023  				case "ivfflat":
 20024  					keyTyp = tree.INDEX_TYPE_IVFFLAT
 20025  				case "master":
 20026  					keyTyp = tree.INDEX_TYPE_MASTER
 20027  				case "hash":
 20028  					keyTyp = tree.INDEX_TYPE_HASH
 20029  				case "rtree":
 20030  					keyTyp = tree.INDEX_TYPE_RTREE
 20031  				case "zonemap":
 20032  					keyTyp = tree.INDEX_TYPE_ZONEMAP
 20033  				case "bsi":
 20034  					keyTyp = tree.INDEX_TYPE_BSI
 20035  				default:
 20036  					yylex.Error("Invalid the type of index")
 20037  					goto ret1
 20038  				}
 20039  			}
 20040  
 20041  			var IfNotExists = yyDollar[2].ifNotExistsUnion()
 20042  			var KeyParts = yyDollar[5].keyPartsUnion()
 20043  			var Name = yyDollar[3].strsUnion()[0]
 20044  			var KeyType = keyTyp
 20045  			var IndexOption = yyDollar[7].indexOptionUnion()
 20046  			yyLOCAL = tree.NewIndex(
 20047  				IfNotExists,
 20048  				KeyParts,
 20049  				Name,
 20050  				KeyType,
 20051  				IndexOption,
 20052  			)
 20053  		}
 20054  		yyVAL.union = yyLOCAL
 20055  	case 1273:
 20056  		yyDollar = yyS[yypt-9 : yypt+1]
 20057  		var yyLOCAL tree.TableDef
 20058  //line mysql_sql.y:8319
 20059  		{
 20060  			keyTyp := tree.INDEX_TYPE_INVALID
 20061  			if yyDollar[3].strsUnion()[1] != "" {
 20062  				t := strings.ToLower(yyDollar[3].strsUnion()[1])
 20063  				switch t {
 20064  				case "btree":
 20065  					keyTyp = tree.INDEX_TYPE_BTREE
 20066  				case "ivfflat":
 20067  					keyTyp = tree.INDEX_TYPE_IVFFLAT
 20068  				case "master":
 20069  					keyTyp = tree.INDEX_TYPE_MASTER
 20070  				case "hash":
 20071  					keyTyp = tree.INDEX_TYPE_HASH
 20072  				case "rtree":
 20073  					keyTyp = tree.INDEX_TYPE_RTREE
 20074  				case "zonemap":
 20075  					keyTyp = tree.INDEX_TYPE_ZONEMAP
 20076  				case "bsi":
 20077  					keyTyp = tree.INDEX_TYPE_BSI
 20078  				default:
 20079  					yylex.Error("Invalid type of index")
 20080  					goto ret1
 20081  				}
 20082  			}
 20083  			var IfNotExists = yyDollar[2].ifNotExistsUnion()
 20084  			var KeyParts = yyDollar[5].keyPartsUnion()
 20085  			var Name = yyDollar[3].strsUnion()[0]
 20086  			var KeyType = keyTyp
 20087  			var IndexOption = yyDollar[9].indexOptionUnion()
 20088  			yyLOCAL = tree.NewIndex(
 20089  				IfNotExists,
 20090  				KeyParts,
 20091  				Name,
 20092  				KeyType,
 20093  				IndexOption,
 20094  			)
 20095  		}
 20096  		yyVAL.union = yyLOCAL
 20097  	case 1274:
 20098  		yyDollar = yyS[yypt-2 : yypt+1]
 20099  		var yyLOCAL tree.TableDef
 20100  //line mysql_sql.y:8359
 20101  		{
 20102  			if yyDollar[1].str != "" {
 20103  				switch v := yyDollar[2].tableDefUnion().(type) {
 20104  				case *tree.PrimaryKeyIndex:
 20105  					v.ConstraintSymbol = yyDollar[1].str
 20106  				case *tree.ForeignKey:
 20107  					v.ConstraintSymbol = yyDollar[1].str
 20108  				case *tree.UniqueIndex:
 20109  					v.ConstraintSymbol = yyDollar[1].str
 20110  				}
 20111  			}
 20112  			yyLOCAL = yyDollar[2].tableDefUnion()
 20113  		}
 20114  		yyVAL.union = yyLOCAL
 20115  	case 1275:
 20116  		yyDollar = yyS[yypt-1 : yypt+1]
 20117  		var yyLOCAL tree.TableDef
 20118  //line mysql_sql.y:8373
 20119  		{
 20120  			yyLOCAL = yyDollar[1].tableDefUnion()
 20121  		}
 20122  		yyVAL.union = yyLOCAL
 20123  	case 1276:
 20124  		yyDollar = yyS[yypt-7 : yypt+1]
 20125  		var yyLOCAL tree.TableDef
 20126  //line mysql_sql.y:8379
 20127  		{
 20128  			var KeyParts = yyDollar[5].keyPartsUnion()
 20129  			var Name = yyDollar[3].strsUnion()[0]
 20130  			var Empty = yyDollar[3].strsUnion()[1] == ""
 20131  			var IndexOption = yyDollar[7].indexOptionUnion()
 20132  			yyLOCAL = tree.NewPrimaryKeyIndex(
 20133  				KeyParts,
 20134  				Name,
 20135  				Empty,
 20136  				IndexOption,
 20137  			)
 20138  		}
 20139  		yyVAL.union = yyLOCAL
 20140  	case 1277:
 20141  		yyDollar = yyS[yypt-9 : yypt+1]
 20142  		var yyLOCAL tree.TableDef
 20143  //line mysql_sql.y:8392
 20144  		{
 20145  			var KeyParts = yyDollar[5].keyPartsUnion()
 20146  			var Name = yyDollar[3].strsUnion()[0]
 20147  			var Empty = yyDollar[3].strsUnion()[1] == ""
 20148  			var IndexOption = yyDollar[9].indexOptionUnion()
 20149  			yyLOCAL = tree.NewPrimaryKeyIndex(
 20150  				KeyParts,
 20151  				Name,
 20152  				Empty,
 20153  				IndexOption,
 20154  			)
 20155  		}
 20156  		yyVAL.union = yyLOCAL
 20157  	case 1278:
 20158  		yyDollar = yyS[yypt-7 : yypt+1]
 20159  		var yyLOCAL tree.TableDef
 20160  //line mysql_sql.y:8405
 20161  		{
 20162  			var KeyParts = yyDollar[5].keyPartsUnion()
 20163  			var Name = yyDollar[3].strsUnion()[0]
 20164  			var Empty = yyDollar[3].strsUnion()[1] == ""
 20165  			var IndexOption = yyDollar[7].indexOptionUnion()
 20166  			yyLOCAL = tree.NewUniqueIndex(
 20167  				KeyParts,
 20168  				Name,
 20169  				Empty,
 20170  				IndexOption,
 20171  			)
 20172  		}
 20173  		yyVAL.union = yyLOCAL
 20174  	case 1279:
 20175  		yyDollar = yyS[yypt-9 : yypt+1]
 20176  		var yyLOCAL tree.TableDef
 20177  //line mysql_sql.y:8418
 20178  		{
 20179  			var KeyParts = yyDollar[5].keyPartsUnion()
 20180  			var Name = yyDollar[3].strsUnion()[0]
 20181  			var Empty = yyDollar[3].strsUnion()[1] == ""
 20182  			var IndexOption = yyDollar[9].indexOptionUnion()
 20183  			yyLOCAL = tree.NewUniqueIndex(
 20184  				KeyParts,
 20185  				Name,
 20186  				Empty,
 20187  				IndexOption,
 20188  			)
 20189  		}
 20190  		yyVAL.union = yyLOCAL
 20191  	case 1280:
 20192  		yyDollar = yyS[yypt-8 : yypt+1]
 20193  		var yyLOCAL tree.TableDef
 20194  //line mysql_sql.y:8431
 20195  		{
 20196  			var IfNotExists = yyDollar[3].ifNotExistsUnion()
 20197  			var KeyParts = yyDollar[6].keyPartsUnion()
 20198  			var Name = yyDollar[4].str
 20199  			var Refer = yyDollar[8].attributeReferenceUnion()
 20200  			var Empty = true
 20201  			yyLOCAL = tree.NewForeignKey(
 20202  				IfNotExists,
 20203  				KeyParts,
 20204  				Name,
 20205  				Refer,
 20206  				Empty,
 20207  			)
 20208  		}
 20209  		yyVAL.union = yyLOCAL
 20210  	case 1281:
 20211  		yyDollar = yyS[yypt-5 : yypt+1]
 20212  		var yyLOCAL tree.TableDef
 20213  //line mysql_sql.y:8446
 20214  		{
 20215  			var Expr = yyDollar[3].exprUnion()
 20216  			var Enforced = yyDollar[5].boolValUnion()
 20217  			yyLOCAL = tree.NewCheckIndex(
 20218  				Expr,
 20219  				Enforced,
 20220  			)
 20221  		}
 20222  		yyVAL.union = yyLOCAL
 20223  	case 1282:
 20224  		yyDollar = yyS[yypt-0 : yypt+1]
 20225  		var yyLOCAL bool
 20226  //line mysql_sql.y:8456
 20227  		{
 20228  			yyLOCAL = false
 20229  		}
 20230  		yyVAL.union = yyLOCAL
 20231  	case 1284:
 20232  		yyDollar = yyS[yypt-0 : yypt+1]
 20233  //line mysql_sql.y:8462
 20234  		{
 20235  			yyVAL.str = ""
 20236  		}
 20237  	case 1285:
 20238  		yyDollar = yyS[yypt-1 : yypt+1]
 20239  //line mysql_sql.y:8466
 20240  		{
 20241  			yyVAL.str = yyDollar[1].str
 20242  		}
 20243  	case 1288:
 20244  		yyDollar = yyS[yypt-1 : yypt+1]
 20245  		var yyLOCAL []string
 20246  //line mysql_sql.y:8476
 20247  		{
 20248  			yyLOCAL = make([]string, 2)
 20249  			yyLOCAL[0] = yyDollar[1].str
 20250  			yyLOCAL[1] = ""
 20251  		}
 20252  		yyVAL.union = yyLOCAL
 20253  	case 1289:
 20254  		yyDollar = yyS[yypt-3 : yypt+1]
 20255  		var yyLOCAL []string
 20256  //line mysql_sql.y:8482
 20257  		{
 20258  			yyLOCAL = make([]string, 2)
 20259  			yyLOCAL[0] = yyDollar[1].str
 20260  			yyLOCAL[1] = yyDollar[3].str
 20261  		}
 20262  		yyVAL.union = yyLOCAL
 20263  	case 1290:
 20264  		yyDollar = yyS[yypt-3 : yypt+1]
 20265  		var yyLOCAL []string
 20266  //line mysql_sql.y:8488
 20267  		{
 20268  			yyLOCAL = make([]string, 2)
 20269  			yyLOCAL[0] = yyDollar[1].cstrUnion().Compare()
 20270  			yyLOCAL[1] = yyDollar[3].str
 20271  		}
 20272  		yyVAL.union = yyLOCAL
 20273  	case 1301:
 20274  		yyDollar = yyS[yypt-0 : yypt+1]
 20275  //line mysql_sql.y:8509
 20276  		{
 20277  			yyVAL.str = ""
 20278  		}
 20279  	case 1302:
 20280  		yyDollar = yyS[yypt-1 : yypt+1]
 20281  //line mysql_sql.y:8513
 20282  		{
 20283  			yyVAL.str = yyDollar[1].cstrUnion().Compare()
 20284  		}
 20285  	case 1303:
 20286  		yyDollar = yyS[yypt-3 : yypt+1]
 20287  		var yyLOCAL *tree.ColumnTableDef
 20288  //line mysql_sql.y:8519
 20289  		{
 20290  			yyLOCAL = tree.NewColumnTableDef(yyDollar[1].unresolvedNameUnion(), yyDollar[2].columnTypeUnion(), yyDollar[3].columnAttributesUnion())
 20291  		}
 20292  		yyVAL.union = yyLOCAL
 20293  	case 1304:
 20294  		yyDollar = yyS[yypt-1 : yypt+1]
 20295  		var yyLOCAL *tree.UnresolvedName
 20296  //line mysql_sql.y:8525
 20297  		{
 20298  			unResolve := tree.SetUnresolvedName(yyDollar[1].cstrUnion().Compare())
 20299  			unResolve.SetUnresolvedNameCStrParts(yylex.(*Lexer).useOrigin, yyDollar[1].cstrUnion().Origin())
 20300  			yyLOCAL = unResolve
 20301  		}
 20302  		yyVAL.union = yyLOCAL
 20303  	case 1305:
 20304  		yyDollar = yyS[yypt-3 : yypt+1]
 20305  		var yyLOCAL *tree.UnresolvedName
 20306  //line mysql_sql.y:8531
 20307  		{
 20308  			unResolve := tree.SetUnresolvedName(yyDollar[1].cstrUnion().Compare(), yyDollar[3].cstrUnion().Compare())
 20309  			unResolve.SetUnresolvedNameCStrParts(yylex.(*Lexer).useOrigin, yyDollar[1].cstrUnion().Origin(), yyDollar[3].cstrUnion().Origin())
 20310  			yyLOCAL = unResolve
 20311  		}
 20312  		yyVAL.union = yyLOCAL
 20313  	case 1306:
 20314  		yyDollar = yyS[yypt-5 : yypt+1]
 20315  		var yyLOCAL *tree.UnresolvedName
 20316  //line mysql_sql.y:8537
 20317  		{
 20318  			unResolve := tree.SetUnresolvedName(yyDollar[1].cstrUnion().Compare(), yyDollar[3].cstrUnion().Compare(), yyDollar[5].cstrUnion().Compare())
 20319  			unResolve.SetUnresolvedNameCStrParts(yylex.(*Lexer).useOrigin, yyDollar[1].cstrUnion().Origin(), yyDollar[3].cstrUnion().Origin(), yyDollar[5].cstrUnion().Origin())
 20320  			yyLOCAL = unResolve
 20321  		}
 20322  		yyVAL.union = yyLOCAL
 20323  	case 1307:
 20324  		yyDollar = yyS[yypt-1 : yypt+1]
 20325  		var yyLOCAL *tree.CStr
 20326  //line mysql_sql.y:8545
 20327  		{
 20328  			yyLOCAL = tree.NewCStr(yyDollar[1].str, yylex.(*Lexer).lower)
 20329  		}
 20330  		yyVAL.union = yyLOCAL
 20331  	case 1308:
 20332  		yyDollar = yyS[yypt-1 : yypt+1]
 20333  		var yyLOCAL *tree.CStr
 20334  //line mysql_sql.y:8549
 20335  		{
 20336  			yyLOCAL = tree.NewCStr(yyDollar[1].str, yylex.(*Lexer).lower)
 20337  		}
 20338  		yyVAL.union = yyLOCAL
 20339  	case 1309:
 20340  		yyDollar = yyS[yypt-1 : yypt+1]
 20341  		var yyLOCAL *tree.CStr
 20342  //line mysql_sql.y:8553
 20343  		{
 20344  			yyLOCAL = tree.NewCStr(yyDollar[1].str, yylex.(*Lexer).lower)
 20345  		}
 20346  		yyVAL.union = yyLOCAL
 20347  	case 1310:
 20348  		yyDollar = yyS[yypt-1 : yypt+1]
 20349  		var yyLOCAL *tree.CStr
 20350  //line mysql_sql.y:8557
 20351  		{
 20352  			yyLOCAL = tree.NewCStr(yyDollar[1].str, yylex.(*Lexer).lower)
 20353  		}
 20354  		yyVAL.union = yyLOCAL
 20355  	case 1311:
 20356  		yyDollar = yyS[yypt-1 : yypt+1]
 20357  		var yyLOCAL *tree.UnresolvedName
 20358  //line mysql_sql.y:8563
 20359  		{
 20360  			unResolve := tree.SetUnresolvedName(yyDollar[1].cstrUnion().Compare())
 20361  			unResolve.SetUnresolvedNameCStrParts(yylex.(*Lexer).useOrigin, yyDollar[1].cstrUnion().Origin())
 20362  			yyLOCAL = unResolve
 20363  		}
 20364  		yyVAL.union = yyLOCAL
 20365  	case 1312:
 20366  		yyDollar = yyS[yypt-3 : yypt+1]
 20367  		var yyLOCAL *tree.UnresolvedName
 20368  //line mysql_sql.y:8569
 20369  		{
 20370  			unResolve := tree.SetUnresolvedName(yyDollar[1].cstrUnion().Compare(), yyDollar[3].cstrUnion().Compare())
 20371  			unResolve.SetUnresolvedNameCStrParts(yylex.(*Lexer).useOrigin, yyDollar[1].cstrUnion().Origin(), yyDollar[3].cstrUnion().Origin())
 20372  			yyLOCAL = unResolve
 20373  		}
 20374  		yyVAL.union = yyLOCAL
 20375  	case 1313:
 20376  		yyDollar = yyS[yypt-5 : yypt+1]
 20377  		var yyLOCAL *tree.UnresolvedName
 20378  //line mysql_sql.y:8575
 20379  		{
 20380  			unResolve := tree.SetUnresolvedName(yyDollar[1].cstrUnion().Compare(), yyDollar[3].cstrUnion().Compare(), yyDollar[5].cstrUnion().Compare())
 20381  			unResolve.SetUnresolvedNameCStrParts(yylex.(*Lexer).useOrigin, yyDollar[1].cstrUnion().Origin(), yyDollar[3].cstrUnion().Origin(), yyDollar[5].cstrUnion().Origin())
 20382  			yyLOCAL = unResolve
 20383  		}
 20384  		yyVAL.union = yyLOCAL
 20385  	case 1314:
 20386  		yyDollar = yyS[yypt-0 : yypt+1]
 20387  		var yyLOCAL []tree.ColumnAttribute
 20388  //line mysql_sql.y:8582
 20389  		{
 20390  			yyLOCAL = nil
 20391  		}
 20392  		yyVAL.union = yyLOCAL
 20393  	case 1315:
 20394  		yyDollar = yyS[yypt-1 : yypt+1]
 20395  		var yyLOCAL []tree.ColumnAttribute
 20396  //line mysql_sql.y:8586
 20397  		{
 20398  			yyLOCAL = yyDollar[1].columnAttributesUnion()
 20399  		}
 20400  		yyVAL.union = yyLOCAL
 20401  	case 1316:
 20402  		yyDollar = yyS[yypt-1 : yypt+1]
 20403  		var yyLOCAL []tree.ColumnAttribute
 20404  //line mysql_sql.y:8592
 20405  		{
 20406  			yyLOCAL = []tree.ColumnAttribute{yyDollar[1].columnAttributeUnion()}
 20407  		}
 20408  		yyVAL.union = yyLOCAL
 20409  	case 1317:
 20410  		yyDollar = yyS[yypt-2 : yypt+1]
 20411  		var yyLOCAL []tree.ColumnAttribute
 20412  //line mysql_sql.y:8596
 20413  		{
 20414  			yyLOCAL = append(yyDollar[1].columnAttributesUnion(), yyDollar[2].columnAttributeUnion())
 20415  		}
 20416  		yyVAL.union = yyLOCAL
 20417  	case 1318:
 20418  		yyDollar = yyS[yypt-1 : yypt+1]
 20419  		var yyLOCAL tree.ColumnAttribute
 20420  //line mysql_sql.y:8602
 20421  		{
 20422  			yyLOCAL = tree.NewAttributeNull(true)
 20423  		}
 20424  		yyVAL.union = yyLOCAL
 20425  	case 1319:
 20426  		yyDollar = yyS[yypt-2 : yypt+1]
 20427  		var yyLOCAL tree.ColumnAttribute
 20428  //line mysql_sql.y:8606
 20429  		{
 20430  			yyLOCAL = tree.NewAttributeNull(false)
 20431  		}
 20432  		yyVAL.union = yyLOCAL
 20433  	case 1320:
 20434  		yyDollar = yyS[yypt-2 : yypt+1]
 20435  		var yyLOCAL tree.ColumnAttribute
 20436  //line mysql_sql.y:8610
 20437  		{
 20438  			yyLOCAL = tree.NewAttributeDefault(yyDollar[2].exprUnion())
 20439  		}
 20440  		yyVAL.union = yyLOCAL
 20441  	case 1321:
 20442  		yyDollar = yyS[yypt-1 : yypt+1]
 20443  		var yyLOCAL tree.ColumnAttribute
 20444  //line mysql_sql.y:8614
 20445  		{
 20446  			yyLOCAL = tree.NewAttributeAutoIncrement()
 20447  		}
 20448  		yyVAL.union = yyLOCAL
 20449  	case 1322:
 20450  		yyDollar = yyS[yypt-1 : yypt+1]
 20451  		var yyLOCAL tree.ColumnAttribute
 20452  //line mysql_sql.y:8618
 20453  		{
 20454  			yyLOCAL = yyDollar[1].columnAttributeUnion()
 20455  		}
 20456  		yyVAL.union = yyLOCAL
 20457  	case 1323:
 20458  		yyDollar = yyS[yypt-2 : yypt+1]
 20459  		var yyLOCAL tree.ColumnAttribute
 20460  //line mysql_sql.y:8622
 20461  		{
 20462  			str := util.DealCommentString(yyDollar[2].str)
 20463  			yyLOCAL = tree.NewAttributeComment(tree.NewNumValWithType(constant.MakeString(str), str, false, tree.P_char))
 20464  		}
 20465  		yyVAL.union = yyLOCAL
 20466  	case 1324:
 20467  		yyDollar = yyS[yypt-2 : yypt+1]
 20468  		var yyLOCAL tree.ColumnAttribute
 20469  //line mysql_sql.y:8627
 20470  		{
 20471  			yyLOCAL = tree.NewAttributeCollate(yyDollar[2].str)
 20472  		}
 20473  		yyVAL.union = yyLOCAL
 20474  	case 1325:
 20475  		yyDollar = yyS[yypt-2 : yypt+1]
 20476  		var yyLOCAL tree.ColumnAttribute
 20477  //line mysql_sql.y:8631
 20478  		{
 20479  			yyLOCAL = tree.NewAttributeColumnFormat(yyDollar[2].str)
 20480  		}
 20481  		yyVAL.union = yyLOCAL
 20482  	case 1326:
 20483  		yyDollar = yyS[yypt-3 : yypt+1]
 20484  		var yyLOCAL tree.ColumnAttribute
 20485  //line mysql_sql.y:8635
 20486  		{
 20487  			yyLOCAL = nil
 20488  		}
 20489  		yyVAL.union = yyLOCAL
 20490  	case 1327:
 20491  		yyDollar = yyS[yypt-3 : yypt+1]
 20492  		var yyLOCAL tree.ColumnAttribute
 20493  //line mysql_sql.y:8639
 20494  		{
 20495  			yyLOCAL = nil
 20496  		}
 20497  		yyVAL.union = yyLOCAL
 20498  	case 1328:
 20499  		yyDollar = yyS[yypt-2 : yypt+1]
 20500  		var yyLOCAL tree.ColumnAttribute
 20501  //line mysql_sql.y:8643
 20502  		{
 20503  			yyLOCAL = tree.NewAttributeStorage(yyDollar[2].str)
 20504  		}
 20505  		yyVAL.union = yyLOCAL
 20506  	case 1329:
 20507  		yyDollar = yyS[yypt-2 : yypt+1]
 20508  		var yyLOCAL tree.ColumnAttribute
 20509  //line mysql_sql.y:8647
 20510  		{
 20511  			yyLOCAL = tree.NewAttributeAutoRandom(int(yyDollar[2].int64ValUnion()))
 20512  		}
 20513  		yyVAL.union = yyLOCAL
 20514  	case 1330:
 20515  		yyDollar = yyS[yypt-1 : yypt+1]
 20516  		var yyLOCAL tree.ColumnAttribute
 20517  //line mysql_sql.y:8651
 20518  		{
 20519  			yyLOCAL = yyDollar[1].attributeReferenceUnion()
 20520  		}
 20521  		yyVAL.union = yyLOCAL
 20522  	case 1331:
 20523  		yyDollar = yyS[yypt-5 : yypt+1]
 20524  		var yyLOCAL tree.ColumnAttribute
 20525  //line mysql_sql.y:8655
 20526  		{
 20527  			yyLOCAL = tree.NewAttributeCheckConstraint(yyDollar[4].exprUnion(), false, yyDollar[1].str)
 20528  		}
 20529  		yyVAL.union = yyLOCAL
 20530  	case 1332:
 20531  		yyDollar = yyS[yypt-6 : yypt+1]
 20532  		var yyLOCAL tree.ColumnAttribute
 20533  //line mysql_sql.y:8659
 20534  		{
 20535  			yyLOCAL = tree.NewAttributeCheckConstraint(yyDollar[4].exprUnion(), yyDollar[6].boolValUnion(), yyDollar[1].str)
 20536  		}
 20537  		yyVAL.union = yyLOCAL
 20538  	case 1333:
 20539  		yyDollar = yyS[yypt-4 : yypt+1]
 20540  		var yyLOCAL tree.ColumnAttribute
 20541  //line mysql_sql.y:8663
 20542  		{
 20543  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[3].str))
 20544  			var es tree.Exprs = nil
 20545  			if yyDollar[4].exprUnion() != nil {
 20546  				es = append(es, yyDollar[4].exprUnion())
 20547  			}
 20548  			expr := &tree.FuncExpr{
 20549  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 20550  				FuncName: tree.NewCStrUseOrigin(yyDollar[3].str, yylex.(*Lexer).useOrigin),
 20551  				Exprs:    es,
 20552  			}
 20553  			yyLOCAL = tree.NewAttributeOnUpdate(expr)
 20554  		}
 20555  		yyVAL.union = yyLOCAL
 20556  	case 1334:
 20557  		yyDollar = yyS[yypt-1 : yypt+1]
 20558  		var yyLOCAL tree.ColumnAttribute
 20559  //line mysql_sql.y:8677
 20560  		{
 20561  			yyLOCAL = tree.NewAttributeLowCardinality()
 20562  		}
 20563  		yyVAL.union = yyLOCAL
 20564  	case 1335:
 20565  		yyDollar = yyS[yypt-1 : yypt+1]
 20566  		var yyLOCAL tree.ColumnAttribute
 20567  //line mysql_sql.y:8681
 20568  		{
 20569  			yyLOCAL = tree.NewAttributeVisable(true)
 20570  		}
 20571  		yyVAL.union = yyLOCAL
 20572  	case 1336:
 20573  		yyDollar = yyS[yypt-1 : yypt+1]
 20574  		var yyLOCAL tree.ColumnAttribute
 20575  //line mysql_sql.y:8685
 20576  		{
 20577  			yyLOCAL = tree.NewAttributeVisable(false)
 20578  		}
 20579  		yyVAL.union = yyLOCAL
 20580  	case 1337:
 20581  		yyDollar = yyS[yypt-5 : yypt+1]
 20582  		var yyLOCAL tree.ColumnAttribute
 20583  //line mysql_sql.y:8689
 20584  		{
 20585  			yyLOCAL = nil
 20586  		}
 20587  		yyVAL.union = yyLOCAL
 20588  	case 1338:
 20589  		yyDollar = yyS[yypt-4 : yypt+1]
 20590  		var yyLOCAL tree.ColumnAttribute
 20591  //line mysql_sql.y:8693
 20592  		{
 20593  			yyLOCAL = tree.NewAttributeHeader(yyDollar[3].str)
 20594  		}
 20595  		yyVAL.union = yyLOCAL
 20596  	case 1339:
 20597  		yyDollar = yyS[yypt-1 : yypt+1]
 20598  		var yyLOCAL tree.ColumnAttribute
 20599  //line mysql_sql.y:8697
 20600  		{
 20601  			yyLOCAL = tree.NewAttributeHeaders()
 20602  		}
 20603  		yyVAL.union = yyLOCAL
 20604  	case 1340:
 20605  		yyDollar = yyS[yypt-1 : yypt+1]
 20606  		var yyLOCAL bool
 20607  //line mysql_sql.y:8703
 20608  		{
 20609  			yyLOCAL = true
 20610  		}
 20611  		yyVAL.union = yyLOCAL
 20612  	case 1341:
 20613  		yyDollar = yyS[yypt-2 : yypt+1]
 20614  		var yyLOCAL bool
 20615  //line mysql_sql.y:8707
 20616  		{
 20617  			yyLOCAL = false
 20618  		}
 20619  		yyVAL.union = yyLOCAL
 20620  	case 1342:
 20621  		yyDollar = yyS[yypt-0 : yypt+1]
 20622  //line mysql_sql.y:8712
 20623  		{
 20624  			yyVAL.str = ""
 20625  		}
 20626  	case 1343:
 20627  		yyDollar = yyS[yypt-1 : yypt+1]
 20628  //line mysql_sql.y:8716
 20629  		{
 20630  			yyVAL.str = yyDollar[1].str
 20631  		}
 20632  	case 1344:
 20633  		yyDollar = yyS[yypt-1 : yypt+1]
 20634  //line mysql_sql.y:8722
 20635  		{
 20636  			yyVAL.str = ""
 20637  		}
 20638  	case 1345:
 20639  		yyDollar = yyS[yypt-2 : yypt+1]
 20640  //line mysql_sql.y:8726
 20641  		{
 20642  			yyVAL.str = yyDollar[2].cstrUnion().Compare()
 20643  		}
 20644  	case 1346:
 20645  		yyDollar = yyS[yypt-5 : yypt+1]
 20646  		var yyLOCAL *tree.AttributeReference
 20647  //line mysql_sql.y:8732
 20648  		{
 20649  			var TableName = yyDollar[2].tableNameUnion()
 20650  			var KeyParts = yyDollar[3].keyPartsUnion()
 20651  			var Match = yyDollar[4].matchTypeUnion()
 20652  			var OnDelete = yyDollar[5].referenceOnRecordUnion().OnDelete
 20653  			var OnUpdate = yyDollar[5].referenceOnRecordUnion().OnUpdate
 20654  			yyLOCAL = tree.NewAttributeReference(
 20655  				TableName,
 20656  				KeyParts,
 20657  				Match,
 20658  				OnDelete,
 20659  				OnUpdate,
 20660  			)
 20661  		}
 20662  		yyVAL.union = yyLOCAL
 20663  	case 1347:
 20664  		yyDollar = yyS[yypt-0 : yypt+1]
 20665  		var yyLOCAL *tree.ReferenceOnRecord
 20666  //line mysql_sql.y:8749
 20667  		{
 20668  			yyLOCAL = &tree.ReferenceOnRecord{
 20669  				OnDelete: tree.REFERENCE_OPTION_INVALID,
 20670  				OnUpdate: tree.REFERENCE_OPTION_INVALID,
 20671  			}
 20672  		}
 20673  		yyVAL.union = yyLOCAL
 20674  	case 1348:
 20675  		yyDollar = yyS[yypt-1 : yypt+1]
 20676  		var yyLOCAL *tree.ReferenceOnRecord
 20677  //line mysql_sql.y:8756
 20678  		{
 20679  			yyLOCAL = &tree.ReferenceOnRecord{
 20680  				OnDelete: yyDollar[1].referenceOptionTypeUnion(),
 20681  				OnUpdate: tree.REFERENCE_OPTION_INVALID,
 20682  			}
 20683  		}
 20684  		yyVAL.union = yyLOCAL
 20685  	case 1349:
 20686  		yyDollar = yyS[yypt-1 : yypt+1]
 20687  		var yyLOCAL *tree.ReferenceOnRecord
 20688  //line mysql_sql.y:8763
 20689  		{
 20690  			yyLOCAL = &tree.ReferenceOnRecord{
 20691  				OnDelete: tree.REFERENCE_OPTION_INVALID,
 20692  				OnUpdate: yyDollar[1].referenceOptionTypeUnion(),
 20693  			}
 20694  		}
 20695  		yyVAL.union = yyLOCAL
 20696  	case 1350:
 20697  		yyDollar = yyS[yypt-2 : yypt+1]
 20698  		var yyLOCAL *tree.ReferenceOnRecord
 20699  //line mysql_sql.y:8770
 20700  		{
 20701  			yyLOCAL = &tree.ReferenceOnRecord{
 20702  				OnDelete: yyDollar[1].referenceOptionTypeUnion(),
 20703  				OnUpdate: yyDollar[2].referenceOptionTypeUnion(),
 20704  			}
 20705  		}
 20706  		yyVAL.union = yyLOCAL
 20707  	case 1351:
 20708  		yyDollar = yyS[yypt-2 : yypt+1]
 20709  		var yyLOCAL *tree.ReferenceOnRecord
 20710  //line mysql_sql.y:8777
 20711  		{
 20712  			yyLOCAL = &tree.ReferenceOnRecord{
 20713  				OnDelete: yyDollar[2].referenceOptionTypeUnion(),
 20714  				OnUpdate: yyDollar[1].referenceOptionTypeUnion(),
 20715  			}
 20716  		}
 20717  		yyVAL.union = yyLOCAL
 20718  	case 1352:
 20719  		yyDollar = yyS[yypt-3 : yypt+1]
 20720  		var yyLOCAL tree.ReferenceOptionType
 20721  //line mysql_sql.y:8786
 20722  		{
 20723  			yyLOCAL = yyDollar[3].referenceOptionTypeUnion()
 20724  		}
 20725  		yyVAL.union = yyLOCAL
 20726  	case 1353:
 20727  		yyDollar = yyS[yypt-3 : yypt+1]
 20728  		var yyLOCAL tree.ReferenceOptionType
 20729  //line mysql_sql.y:8792
 20730  		{
 20731  			yyLOCAL = yyDollar[3].referenceOptionTypeUnion()
 20732  		}
 20733  		yyVAL.union = yyLOCAL
 20734  	case 1354:
 20735  		yyDollar = yyS[yypt-1 : yypt+1]
 20736  		var yyLOCAL tree.ReferenceOptionType
 20737  //line mysql_sql.y:8798
 20738  		{
 20739  			yyLOCAL = tree.REFERENCE_OPTION_RESTRICT
 20740  		}
 20741  		yyVAL.union = yyLOCAL
 20742  	case 1355:
 20743  		yyDollar = yyS[yypt-1 : yypt+1]
 20744  		var yyLOCAL tree.ReferenceOptionType
 20745  //line mysql_sql.y:8802
 20746  		{
 20747  			yyLOCAL = tree.REFERENCE_OPTION_CASCADE
 20748  		}
 20749  		yyVAL.union = yyLOCAL
 20750  	case 1356:
 20751  		yyDollar = yyS[yypt-2 : yypt+1]
 20752  		var yyLOCAL tree.ReferenceOptionType
 20753  //line mysql_sql.y:8806
 20754  		{
 20755  			yyLOCAL = tree.REFERENCE_OPTION_SET_NULL
 20756  		}
 20757  		yyVAL.union = yyLOCAL
 20758  	case 1357:
 20759  		yyDollar = yyS[yypt-2 : yypt+1]
 20760  		var yyLOCAL tree.ReferenceOptionType
 20761  //line mysql_sql.y:8810
 20762  		{
 20763  			yyLOCAL = tree.REFERENCE_OPTION_NO_ACTION
 20764  		}
 20765  		yyVAL.union = yyLOCAL
 20766  	case 1358:
 20767  		yyDollar = yyS[yypt-2 : yypt+1]
 20768  		var yyLOCAL tree.ReferenceOptionType
 20769  //line mysql_sql.y:8814
 20770  		{
 20771  			yyLOCAL = tree.REFERENCE_OPTION_SET_DEFAULT
 20772  		}
 20773  		yyVAL.union = yyLOCAL
 20774  	case 1359:
 20775  		yyDollar = yyS[yypt-0 : yypt+1]
 20776  		var yyLOCAL tree.MatchType
 20777  //line mysql_sql.y:8819
 20778  		{
 20779  			yyLOCAL = tree.MATCH_INVALID
 20780  		}
 20781  		yyVAL.union = yyLOCAL
 20782  	case 1361:
 20783  		yyDollar = yyS[yypt-2 : yypt+1]
 20784  		var yyLOCAL tree.MatchType
 20785  //line mysql_sql.y:8826
 20786  		{
 20787  			yyLOCAL = tree.MATCH_FULL
 20788  		}
 20789  		yyVAL.union = yyLOCAL
 20790  	case 1362:
 20791  		yyDollar = yyS[yypt-2 : yypt+1]
 20792  		var yyLOCAL tree.MatchType
 20793  //line mysql_sql.y:8830
 20794  		{
 20795  			yyLOCAL = tree.MATCH_PARTIAL
 20796  		}
 20797  		yyVAL.union = yyLOCAL
 20798  	case 1363:
 20799  		yyDollar = yyS[yypt-2 : yypt+1]
 20800  		var yyLOCAL tree.MatchType
 20801  //line mysql_sql.y:8834
 20802  		{
 20803  			yyLOCAL = tree.MATCH_SIMPLE
 20804  		}
 20805  		yyVAL.union = yyLOCAL
 20806  	case 1364:
 20807  		yyDollar = yyS[yypt-0 : yypt+1]
 20808  		var yyLOCAL []*tree.KeyPart
 20809  //line mysql_sql.y:8839
 20810  		{
 20811  			yyLOCAL = nil
 20812  		}
 20813  		yyVAL.union = yyLOCAL
 20814  	case 1365:
 20815  		yyDollar = yyS[yypt-3 : yypt+1]
 20816  		var yyLOCAL []*tree.KeyPart
 20817  //line mysql_sql.y:8843
 20818  		{
 20819  			yyLOCAL = yyDollar[2].keyPartsUnion()
 20820  		}
 20821  		yyVAL.union = yyLOCAL
 20822  	case 1366:
 20823  		yyDollar = yyS[yypt-0 : yypt+1]
 20824  		var yyLOCAL int64
 20825  //line mysql_sql.y:8848
 20826  		{
 20827  			yyLOCAL = -1
 20828  		}
 20829  		yyVAL.union = yyLOCAL
 20830  	case 1367:
 20831  		yyDollar = yyS[yypt-3 : yypt+1]
 20832  		var yyLOCAL int64
 20833  //line mysql_sql.y:8852
 20834  		{
 20835  			yyLOCAL = yyDollar[2].item.(int64)
 20836  		}
 20837  		yyVAL.union = yyLOCAL
 20838  	case 1374:
 20839  		yyDollar = yyS[yypt-1 : yypt+1]
 20840  		var yyLOCAL *tree.Subquery
 20841  //line mysql_sql.y:8868
 20842  		{
 20843  			yyLOCAL = &tree.Subquery{Select: yyDollar[1].selectStatementUnion(), Exists: false}
 20844  		}
 20845  		yyVAL.union = yyLOCAL
 20846  	case 1375:
 20847  		yyDollar = yyS[yypt-3 : yypt+1]
 20848  		var yyLOCAL tree.Expr
 20849  //line mysql_sql.y:8874
 20850  		{
 20851  			yyLOCAL = tree.NewBinaryExpr(tree.BIT_AND, yyDollar[1].exprUnion(), yyDollar[3].exprUnion())
 20852  		}
 20853  		yyVAL.union = yyLOCAL
 20854  	case 1376:
 20855  		yyDollar = yyS[yypt-3 : yypt+1]
 20856  		var yyLOCAL tree.Expr
 20857  //line mysql_sql.y:8878
 20858  		{
 20859  			yyLOCAL = tree.NewBinaryExpr(tree.BIT_OR, yyDollar[1].exprUnion(), yyDollar[3].exprUnion())
 20860  		}
 20861  		yyVAL.union = yyLOCAL
 20862  	case 1377:
 20863  		yyDollar = yyS[yypt-3 : yypt+1]
 20864  		var yyLOCAL tree.Expr
 20865  //line mysql_sql.y:8882
 20866  		{
 20867  			yyLOCAL = tree.NewBinaryExpr(tree.BIT_XOR, yyDollar[1].exprUnion(), yyDollar[3].exprUnion())
 20868  		}
 20869  		yyVAL.union = yyLOCAL
 20870  	case 1378:
 20871  		yyDollar = yyS[yypt-3 : yypt+1]
 20872  		var yyLOCAL tree.Expr
 20873  //line mysql_sql.y:8886
 20874  		{
 20875  			yyLOCAL = tree.NewBinaryExpr(tree.PLUS, yyDollar[1].exprUnion(), yyDollar[3].exprUnion())
 20876  		}
 20877  		yyVAL.union = yyLOCAL
 20878  	case 1379:
 20879  		yyDollar = yyS[yypt-3 : yypt+1]
 20880  		var yyLOCAL tree.Expr
 20881  //line mysql_sql.y:8890
 20882  		{
 20883  			yyLOCAL = tree.NewBinaryExpr(tree.MINUS, yyDollar[1].exprUnion(), yyDollar[3].exprUnion())
 20884  		}
 20885  		yyVAL.union = yyLOCAL
 20886  	case 1380:
 20887  		yyDollar = yyS[yypt-3 : yypt+1]
 20888  		var yyLOCAL tree.Expr
 20889  //line mysql_sql.y:8894
 20890  		{
 20891  			yyLOCAL = tree.NewBinaryExpr(tree.MULTI, yyDollar[1].exprUnion(), yyDollar[3].exprUnion())
 20892  		}
 20893  		yyVAL.union = yyLOCAL
 20894  	case 1381:
 20895  		yyDollar = yyS[yypt-3 : yypt+1]
 20896  		var yyLOCAL tree.Expr
 20897  //line mysql_sql.y:8898
 20898  		{
 20899  			yyLOCAL = tree.NewBinaryExpr(tree.DIV, yyDollar[1].exprUnion(), yyDollar[3].exprUnion())
 20900  		}
 20901  		yyVAL.union = yyLOCAL
 20902  	case 1382:
 20903  		yyDollar = yyS[yypt-3 : yypt+1]
 20904  		var yyLOCAL tree.Expr
 20905  //line mysql_sql.y:8902
 20906  		{
 20907  			yyLOCAL = tree.NewBinaryExpr(tree.INTEGER_DIV, yyDollar[1].exprUnion(), yyDollar[3].exprUnion())
 20908  		}
 20909  		yyVAL.union = yyLOCAL
 20910  	case 1383:
 20911  		yyDollar = yyS[yypt-3 : yypt+1]
 20912  		var yyLOCAL tree.Expr
 20913  //line mysql_sql.y:8906
 20914  		{
 20915  			yyLOCAL = tree.NewBinaryExpr(tree.MOD, yyDollar[1].exprUnion(), yyDollar[3].exprUnion())
 20916  		}
 20917  		yyVAL.union = yyLOCAL
 20918  	case 1384:
 20919  		yyDollar = yyS[yypt-3 : yypt+1]
 20920  		var yyLOCAL tree.Expr
 20921  //line mysql_sql.y:8910
 20922  		{
 20923  			yyLOCAL = tree.NewBinaryExpr(tree.MOD, yyDollar[1].exprUnion(), yyDollar[3].exprUnion())
 20924  		}
 20925  		yyVAL.union = yyLOCAL
 20926  	case 1385:
 20927  		yyDollar = yyS[yypt-3 : yypt+1]
 20928  		var yyLOCAL tree.Expr
 20929  //line mysql_sql.y:8914
 20930  		{
 20931  			yyLOCAL = tree.NewBinaryExpr(tree.LEFT_SHIFT, yyDollar[1].exprUnion(), yyDollar[3].exprUnion())
 20932  		}
 20933  		yyVAL.union = yyLOCAL
 20934  	case 1386:
 20935  		yyDollar = yyS[yypt-3 : yypt+1]
 20936  		var yyLOCAL tree.Expr
 20937  //line mysql_sql.y:8918
 20938  		{
 20939  			yyLOCAL = tree.NewBinaryExpr(tree.RIGHT_SHIFT, yyDollar[1].exprUnion(), yyDollar[3].exprUnion())
 20940  		}
 20941  		yyVAL.union = yyLOCAL
 20942  	case 1387:
 20943  		yyDollar = yyS[yypt-1 : yypt+1]
 20944  		var yyLOCAL tree.Expr
 20945  //line mysql_sql.y:8922
 20946  		{
 20947  			yyLOCAL = yyDollar[1].exprUnion()
 20948  		}
 20949  		yyVAL.union = yyLOCAL
 20950  	case 1388:
 20951  		yyDollar = yyS[yypt-1 : yypt+1]
 20952  		var yyLOCAL tree.Expr
 20953  //line mysql_sql.y:8928
 20954  		{
 20955  			yyLOCAL = yyDollar[1].unresolvedNameUnion()
 20956  		}
 20957  		yyVAL.union = yyLOCAL
 20958  	case 1389:
 20959  		yyDollar = yyS[yypt-1 : yypt+1]
 20960  		var yyLOCAL tree.Expr
 20961  //line mysql_sql.y:8932
 20962  		{
 20963  			yyLOCAL = yyDollar[1].varExprUnion()
 20964  		}
 20965  		yyVAL.union = yyLOCAL
 20966  	case 1390:
 20967  		yyDollar = yyS[yypt-1 : yypt+1]
 20968  		var yyLOCAL tree.Expr
 20969  //line mysql_sql.y:8936
 20970  		{
 20971  			yyLOCAL = yyDollar[1].exprUnion()
 20972  		}
 20973  		yyVAL.union = yyLOCAL
 20974  	case 1391:
 20975  		yyDollar = yyS[yypt-3 : yypt+1]
 20976  		var yyLOCAL tree.Expr
 20977  //line mysql_sql.y:8940
 20978  		{
 20979  			yyLOCAL = tree.NewParentExpr(yyDollar[2].exprUnion())
 20980  		}
 20981  		yyVAL.union = yyLOCAL
 20982  	case 1392:
 20983  		yyDollar = yyS[yypt-5 : yypt+1]
 20984  		var yyLOCAL tree.Expr
 20985  //line mysql_sql.y:8944
 20986  		{
 20987  			yyLOCAL = tree.NewTuple(append(yyDollar[2].exprsUnion(), yyDollar[4].exprUnion()))
 20988  		}
 20989  		yyVAL.union = yyLOCAL
 20990  	case 1393:
 20991  		yyDollar = yyS[yypt-2 : yypt+1]
 20992  		var yyLOCAL tree.Expr
 20993  //line mysql_sql.y:8948
 20994  		{
 20995  			yyLOCAL = tree.NewUnaryExpr(tree.UNARY_PLUS, yyDollar[2].exprUnion())
 20996  		}
 20997  		yyVAL.union = yyLOCAL
 20998  	case 1394:
 20999  		yyDollar = yyS[yypt-2 : yypt+1]
 21000  		var yyLOCAL tree.Expr
 21001  //line mysql_sql.y:8952
 21002  		{
 21003  			yyLOCAL = tree.NewUnaryExpr(tree.UNARY_MINUS, yyDollar[2].exprUnion())
 21004  		}
 21005  		yyVAL.union = yyLOCAL
 21006  	case 1395:
 21007  		yyDollar = yyS[yypt-2 : yypt+1]
 21008  		var yyLOCAL tree.Expr
 21009  //line mysql_sql.y:8956
 21010  		{
 21011  			yyLOCAL = tree.NewUnaryExpr(tree.UNARY_TILDE, yyDollar[2].exprUnion())
 21012  		}
 21013  		yyVAL.union = yyLOCAL
 21014  	case 1396:
 21015  		yyDollar = yyS[yypt-2 : yypt+1]
 21016  		var yyLOCAL tree.Expr
 21017  //line mysql_sql.y:8960
 21018  		{
 21019  			yyLOCAL = tree.NewUnaryExpr(tree.UNARY_MARK, yyDollar[2].exprUnion())
 21020  		}
 21021  		yyVAL.union = yyLOCAL
 21022  	case 1397:
 21023  		yyDollar = yyS[yypt-4 : yypt+1]
 21024  		var yyLOCAL tree.Expr
 21025  //line mysql_sql.y:8964
 21026  		{
 21027  			hint := strings.ToLower(yyDollar[2].cstrUnion().Compare())
 21028  			switch hint {
 21029  			case "d":
 21030  				locale := ""
 21031  				t := &tree.T{
 21032  					InternalType: tree.InternalType{
 21033  						Family:       tree.TimestampFamily,
 21034  						FamilyString: "DATETIME",
 21035  						Locale:       &locale,
 21036  						Oid:          uint32(defines.MYSQL_TYPE_DATETIME),
 21037  					},
 21038  				}
 21039  				yyLOCAL = tree.NewCastExpr(yyDollar[3].exprUnion(), t)
 21040  			case "t":
 21041  				locale := ""
 21042  				t := &tree.T{
 21043  					InternalType: tree.InternalType{
 21044  						Family:       tree.TimeFamily,
 21045  						FamilyString: "TIME",
 21046  						Locale:       &locale,
 21047  						Oid:          uint32(defines.MYSQL_TYPE_TIME),
 21048  					},
 21049  				}
 21050  				yyLOCAL = tree.NewCastExpr(yyDollar[3].exprUnion(), t)
 21051  			case "ts":
 21052  				locale := ""
 21053  				t := &tree.T{
 21054  					InternalType: tree.InternalType{
 21055  						Family:       tree.TimestampFamily,
 21056  						FamilyString: "TIMESTAMP",
 21057  						Locale:       &locale,
 21058  						Oid:          uint32(defines.MYSQL_TYPE_TIMESTAMP),
 21059  					},
 21060  				}
 21061  				yyLOCAL = tree.NewCastExpr(yyDollar[3].exprUnion(), t)
 21062  			default:
 21063  				yylex.Error("Invalid type")
 21064  				return 1
 21065  			}
 21066  		}
 21067  		yyVAL.union = yyLOCAL
 21068  	case 1398:
 21069  		yyDollar = yyS[yypt-1 : yypt+1]
 21070  		var yyLOCAL tree.Expr
 21071  //line mysql_sql.y:9006
 21072  		{
 21073  			yyLOCAL = yyDollar[1].exprUnion()
 21074  		}
 21075  		yyVAL.union = yyLOCAL
 21076  	case 1399:
 21077  		yyDollar = yyS[yypt-1 : yypt+1]
 21078  		var yyLOCAL tree.Expr
 21079  //line mysql_sql.y:9010
 21080  		{
 21081  			yyLOCAL = yyDollar[1].subqueryUnion()
 21082  		}
 21083  		yyVAL.union = yyLOCAL
 21084  	case 1400:
 21085  		yyDollar = yyS[yypt-2 : yypt+1]
 21086  		var yyLOCAL tree.Expr
 21087  //line mysql_sql.y:9014
 21088  		{
 21089  			yyDollar[2].subqueryUnion().Exists = true
 21090  			yyLOCAL = yyDollar[2].subqueryUnion()
 21091  		}
 21092  		yyVAL.union = yyLOCAL
 21093  	case 1401:
 21094  		yyDollar = yyS[yypt-5 : yypt+1]
 21095  		var yyLOCAL tree.Expr
 21096  //line mysql_sql.y:9019
 21097  		{
 21098  			yyLOCAL = &tree.CaseExpr{
 21099  				Expr:  yyDollar[2].exprUnion(),
 21100  				Whens: yyDollar[3].whenClauseListUnion(),
 21101  				Else:  yyDollar[4].exprUnion(),
 21102  			}
 21103  		}
 21104  		yyVAL.union = yyLOCAL
 21105  	case 1402:
 21106  		yyDollar = yyS[yypt-6 : yypt+1]
 21107  		var yyLOCAL tree.Expr
 21108  //line mysql_sql.y:9027
 21109  		{
 21110  			yyLOCAL = tree.NewCastExpr(yyDollar[3].exprUnion(), yyDollar[5].columnTypeUnion())
 21111  		}
 21112  		yyVAL.union = yyLOCAL
 21113  	case 1403:
 21114  		yyDollar = yyS[yypt-8 : yypt+1]
 21115  		var yyLOCAL tree.Expr
 21116  //line mysql_sql.y:9031
 21117  		{
 21118  			yyLOCAL = tree.NewSerialExtractExpr(yyDollar[3].exprUnion(), yyDollar[5].exprUnion(), yyDollar[7].columnTypeUnion())
 21119  		}
 21120  		yyVAL.union = yyLOCAL
 21121  	case 1404:
 21122  		yyDollar = yyS[yypt-6 : yypt+1]
 21123  		var yyLOCAL tree.Expr
 21124  //line mysql_sql.y:9035
 21125  		{
 21126  			yyLOCAL = tree.NewBitCastExpr(yyDollar[3].exprUnion(), yyDollar[5].columnTypeUnion())
 21127  		}
 21128  		yyVAL.union = yyLOCAL
 21129  	case 1405:
 21130  		yyDollar = yyS[yypt-6 : yypt+1]
 21131  		var yyLOCAL tree.Expr
 21132  //line mysql_sql.y:9039
 21133  		{
 21134  			yyLOCAL = tree.NewCastExpr(yyDollar[3].exprUnion(), yyDollar[5].columnTypeUnion())
 21135  		}
 21136  		yyVAL.union = yyLOCAL
 21137  	case 1406:
 21138  		yyDollar = yyS[yypt-6 : yypt+1]
 21139  		var yyLOCAL tree.Expr
 21140  //line mysql_sql.y:9043
 21141  		{
 21142  			name := tree.SetUnresolvedName("convert")
 21143  			es := tree.NewNumValWithType(constant.MakeString(yyDollar[5].str), yyDollar[5].str, false, tree.P_char)
 21144  			yyLOCAL = &tree.FuncExpr{
 21145  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 21146  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 21147  				Exprs:    tree.Exprs{yyDollar[3].exprUnion(), es},
 21148  			}
 21149  		}
 21150  		yyVAL.union = yyLOCAL
 21151  	case 1407:
 21152  		yyDollar = yyS[yypt-1 : yypt+1]
 21153  		var yyLOCAL tree.Expr
 21154  //line mysql_sql.y:9053
 21155  		{
 21156  			yyLOCAL = yyDollar[1].funcExprUnion()
 21157  		}
 21158  		yyVAL.union = yyLOCAL
 21159  	case 1408:
 21160  		yyDollar = yyS[yypt-1 : yypt+1]
 21161  		var yyLOCAL tree.Expr
 21162  //line mysql_sql.y:9057
 21163  		{
 21164  			yyLOCAL = yyDollar[1].funcExprUnion()
 21165  		}
 21166  		yyVAL.union = yyLOCAL
 21167  	case 1409:
 21168  		yyDollar = yyS[yypt-1 : yypt+1]
 21169  		var yyLOCAL tree.Expr
 21170  //line mysql_sql.y:9061
 21171  		{
 21172  			yyLOCAL = yyDollar[1].funcExprUnion()
 21173  		}
 21174  		yyVAL.union = yyLOCAL
 21175  	case 1410:
 21176  		yyDollar = yyS[yypt-1 : yypt+1]
 21177  		var yyLOCAL tree.Expr
 21178  //line mysql_sql.y:9065
 21179  		{
 21180  			yyLOCAL = yyDollar[1].funcExprUnion()
 21181  		}
 21182  		yyVAL.union = yyLOCAL
 21183  	case 1411:
 21184  		yyDollar = yyS[yypt-1 : yypt+1]
 21185  		var yyLOCAL tree.Expr
 21186  //line mysql_sql.y:9069
 21187  		{
 21188  			yyLOCAL = yyDollar[1].funcExprUnion()
 21189  		}
 21190  		yyVAL.union = yyLOCAL
 21191  	case 1412:
 21192  		yyDollar = yyS[yypt-1 : yypt+1]
 21193  		var yyLOCAL tree.Expr
 21194  //line mysql_sql.y:9073
 21195  		{
 21196  			yyLOCAL = yyDollar[1].exprUnion()
 21197  		}
 21198  		yyVAL.union = yyLOCAL
 21199  	case 1413:
 21200  		yyDollar = yyS[yypt-3 : yypt+1]
 21201  		var yyLOCAL tree.Expr
 21202  //line mysql_sql.y:9077
 21203  		{
 21204  			yyLOCAL = yyDollar[1].exprUnion()
 21205  		}
 21206  		yyVAL.union = yyLOCAL
 21207  	case 1414:
 21208  		yyDollar = yyS[yypt-4 : yypt+1]
 21209  		var yyLOCAL *tree.FuncExpr
 21210  //line mysql_sql.y:9083
 21211  		{
 21212  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 21213  			yyLOCAL = &tree.FuncExpr{
 21214  				Func:       tree.FuncName2ResolvableFunctionReference(name),
 21215  				FuncName:   tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 21216  				WindowSpec: yyDollar[4].windowSpecUnion(),
 21217  			}
 21218  		}
 21219  		yyVAL.union = yyLOCAL
 21220  	case 1415:
 21221  		yyDollar = yyS[yypt-4 : yypt+1]
 21222  		var yyLOCAL *tree.FuncExpr
 21223  //line mysql_sql.y:9092
 21224  		{
 21225  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 21226  			yyLOCAL = &tree.FuncExpr{
 21227  				Func:       tree.FuncName2ResolvableFunctionReference(name),
 21228  				FuncName:   tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 21229  				WindowSpec: yyDollar[4].windowSpecUnion(),
 21230  			}
 21231  		}
 21232  		yyVAL.union = yyLOCAL
 21233  	case 1416:
 21234  		yyDollar = yyS[yypt-4 : yypt+1]
 21235  		var yyLOCAL *tree.FuncExpr
 21236  //line mysql_sql.y:9101
 21237  		{
 21238  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 21239  			yyLOCAL = &tree.FuncExpr{
 21240  				Func:       tree.FuncName2ResolvableFunctionReference(name),
 21241  				FuncName:   tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 21242  				WindowSpec: yyDollar[4].windowSpecUnion(),
 21243  			}
 21244  		}
 21245  		yyVAL.union = yyLOCAL
 21246  	case 1417:
 21247  		yyDollar = yyS[yypt-7 : yypt+1]
 21248  		var yyLOCAL tree.Expr
 21249  //line mysql_sql.y:9112
 21250  		{
 21251  			v := int(yyDollar[5].item.(int64))
 21252  			val, err := tree.NewSampleRowsFuncExpression(v, true, nil, "block")
 21253  			if err != nil {
 21254  				yylex.Error(err.Error())
 21255  				goto ret1
 21256  			}
 21257  			yyLOCAL = val
 21258  		}
 21259  		yyVAL.union = yyLOCAL
 21260  	case 1418:
 21261  		yyDollar = yyS[yypt-9 : yypt+1]
 21262  		var yyLOCAL tree.Expr
 21263  //line mysql_sql.y:9122
 21264  		{
 21265  			v := int(yyDollar[5].item.(int64))
 21266  			val, err := tree.NewSampleRowsFuncExpression(v, true, nil, yyDollar[8].str)
 21267  			if err != nil {
 21268  				yylex.Error(err.Error())
 21269  				goto ret1
 21270  			}
 21271  			yyLOCAL = val
 21272  		}
 21273  		yyVAL.union = yyLOCAL
 21274  	case 1419:
 21275  		yyDollar = yyS[yypt-7 : yypt+1]
 21276  		var yyLOCAL tree.Expr
 21277  //line mysql_sql.y:9132
 21278  		{
 21279  			val, err := tree.NewSamplePercentFuncExpression1(yyDollar[5].item.(int64), true, nil)
 21280  			if err != nil {
 21281  				yylex.Error(err.Error())
 21282  				goto ret1
 21283  			}
 21284  			yyLOCAL = val
 21285  		}
 21286  		yyVAL.union = yyLOCAL
 21287  	case 1420:
 21288  		yyDollar = yyS[yypt-7 : yypt+1]
 21289  		var yyLOCAL tree.Expr
 21290  //line mysql_sql.y:9141
 21291  		{
 21292  			val, err := tree.NewSamplePercentFuncExpression2(yyDollar[5].item.(float64), true, nil)
 21293  			if err != nil {
 21294  				yylex.Error(err.Error())
 21295  				goto ret1
 21296  			}
 21297  			yyLOCAL = val
 21298  		}
 21299  		yyVAL.union = yyLOCAL
 21300  	case 1421:
 21301  		yyDollar = yyS[yypt-7 : yypt+1]
 21302  		var yyLOCAL tree.Expr
 21303  //line mysql_sql.y:9151
 21304  		{
 21305  			v := int(yyDollar[5].item.(int64))
 21306  			val, err := tree.NewSampleRowsFuncExpression(v, false, yyDollar[3].exprsUnion(), "block")
 21307  			if err != nil {
 21308  				yylex.Error(err.Error())
 21309  				goto ret1
 21310  			}
 21311  			yyLOCAL = val
 21312  		}
 21313  		yyVAL.union = yyLOCAL
 21314  	case 1422:
 21315  		yyDollar = yyS[yypt-9 : yypt+1]
 21316  		var yyLOCAL tree.Expr
 21317  //line mysql_sql.y:9161
 21318  		{
 21319  			v := int(yyDollar[5].item.(int64))
 21320  			val, err := tree.NewSampleRowsFuncExpression(v, false, yyDollar[3].exprsUnion(), yyDollar[8].str)
 21321  			if err != nil {
 21322  				yylex.Error(err.Error())
 21323  				goto ret1
 21324  			}
 21325  			yyLOCAL = val
 21326  		}
 21327  		yyVAL.union = yyLOCAL
 21328  	case 1423:
 21329  		yyDollar = yyS[yypt-7 : yypt+1]
 21330  		var yyLOCAL tree.Expr
 21331  //line mysql_sql.y:9171
 21332  		{
 21333  			val, err := tree.NewSamplePercentFuncExpression1(yyDollar[5].item.(int64), false, yyDollar[3].exprsUnion())
 21334  			if err != nil {
 21335  				yylex.Error(err.Error())
 21336  				goto ret1
 21337  			}
 21338  			yyLOCAL = val
 21339  		}
 21340  		yyVAL.union = yyLOCAL
 21341  	case 1424:
 21342  		yyDollar = yyS[yypt-7 : yypt+1]
 21343  		var yyLOCAL tree.Expr
 21344  //line mysql_sql.y:9180
 21345  		{
 21346  			val, err := tree.NewSamplePercentFuncExpression2(yyDollar[5].item.(float64), false, yyDollar[3].exprsUnion())
 21347  			if err != nil {
 21348  				yylex.Error(err.Error())
 21349  				goto ret1
 21350  			}
 21351  			yyLOCAL = val
 21352  		}
 21353  		yyVAL.union = yyLOCAL
 21354  	case 1425:
 21355  		yyDollar = yyS[yypt-0 : yypt+1]
 21356  		var yyLOCAL tree.Expr
 21357  //line mysql_sql.y:9190
 21358  		{
 21359  			yyLOCAL = nil
 21360  		}
 21361  		yyVAL.union = yyLOCAL
 21362  	case 1426:
 21363  		yyDollar = yyS[yypt-2 : yypt+1]
 21364  		var yyLOCAL tree.Expr
 21365  //line mysql_sql.y:9194
 21366  		{
 21367  			yyLOCAL = yyDollar[2].exprUnion()
 21368  		}
 21369  		yyVAL.union = yyLOCAL
 21370  	case 1427:
 21371  		yyDollar = yyS[yypt-0 : yypt+1]
 21372  		var yyLOCAL tree.Expr
 21373  //line mysql_sql.y:9199
 21374  		{
 21375  			yyLOCAL = nil
 21376  		}
 21377  		yyVAL.union = yyLOCAL
 21378  	case 1428:
 21379  		yyDollar = yyS[yypt-1 : yypt+1]
 21380  		var yyLOCAL tree.Expr
 21381  //line mysql_sql.y:9203
 21382  		{
 21383  			yyLOCAL = yyDollar[1].exprUnion()
 21384  		}
 21385  		yyVAL.union = yyLOCAL
 21386  	case 1429:
 21387  		yyDollar = yyS[yypt-1 : yypt+1]
 21388  		var yyLOCAL []*tree.When
 21389  //line mysql_sql.y:9209
 21390  		{
 21391  			yyLOCAL = []*tree.When{yyDollar[1].whenClauseUnion()}
 21392  		}
 21393  		yyVAL.union = yyLOCAL
 21394  	case 1430:
 21395  		yyDollar = yyS[yypt-2 : yypt+1]
 21396  		var yyLOCAL []*tree.When
 21397  //line mysql_sql.y:9213
 21398  		{
 21399  			yyLOCAL = append(yyDollar[1].whenClauseListUnion(), yyDollar[2].whenClauseUnion())
 21400  		}
 21401  		yyVAL.union = yyLOCAL
 21402  	case 1431:
 21403  		yyDollar = yyS[yypt-4 : yypt+1]
 21404  		var yyLOCAL *tree.When
 21405  //line mysql_sql.y:9219
 21406  		{
 21407  			yyLOCAL = &tree.When{
 21408  				Cond: yyDollar[2].exprUnion(),
 21409  				Val:  yyDollar[4].exprUnion(),
 21410  			}
 21411  		}
 21412  		yyVAL.union = yyLOCAL
 21413  	case 1432:
 21414  		yyDollar = yyS[yypt-1 : yypt+1]
 21415  //line mysql_sql.y:9228
 21416  		{
 21417  			t := yyVAL.columnTypeUnion()
 21418  			str := strings.ToLower(t.InternalType.FamilyString)
 21419  			if str == "binary" {
 21420  				t.InternalType.Scale = -1
 21421  			} else if str == "char" {
 21422  				if t.InternalType.DisplayWith == -1 {
 21423  					t.InternalType.FamilyString = "varchar"
 21424  					t.InternalType.Oid = uint32(defines.MYSQL_TYPE_VARCHAR)
 21425  				}
 21426  			}
 21427  		}
 21428  	case 1433:
 21429  		yyDollar = yyS[yypt-2 : yypt+1]
 21430  		var yyLOCAL *tree.T
 21431  //line mysql_sql.y:9240
 21432  		{
 21433  			name := yyDollar[1].str
 21434  			if yyDollar[2].str != "" {
 21435  				name = yyDollar[2].str
 21436  			}
 21437  			locale := ""
 21438  			yyLOCAL = &tree.T{
 21439  				InternalType: tree.InternalType{
 21440  					Family:       tree.IntFamily,
 21441  					FamilyString: name,
 21442  					Width:        64,
 21443  					Locale:       &locale,
 21444  					Oid:          uint32(defines.MYSQL_TYPE_LONGLONG),
 21445  				},
 21446  			}
 21447  		}
 21448  		yyVAL.union = yyLOCAL
 21449  	case 1434:
 21450  		yyDollar = yyS[yypt-2 : yypt+1]
 21451  		var yyLOCAL *tree.T
 21452  //line mysql_sql.y:9257
 21453  		{
 21454  			locale := ""
 21455  			yyLOCAL = &tree.T{
 21456  				InternalType: tree.InternalType{
 21457  					Family:       tree.IntFamily,
 21458  					FamilyString: yyDollar[2].str,
 21459  					Width:        64,
 21460  					Locale:       &locale,
 21461  					Unsigned:     true,
 21462  					Oid:          uint32(defines.MYSQL_TYPE_LONGLONG),
 21463  				},
 21464  			}
 21465  		}
 21466  		yyVAL.union = yyLOCAL
 21467  	case 1436:
 21468  		yyDollar = yyS[yypt-2 : yypt+1]
 21469  		var yyLOCAL *tree.T
 21470  //line mysql_sql.y:9274
 21471  		{
 21472  			locale := ""
 21473  			yyLOCAL = &tree.T{
 21474  				InternalType: tree.InternalType{
 21475  					Family:       tree.StringFamily,
 21476  					FamilyString: yyDollar[1].str,
 21477  					Locale:       &locale,
 21478  					Oid:          uint32(defines.MYSQL_TYPE_VARCHAR),
 21479  					DisplayWith:  yyDollar[2].lengthOptUnion(),
 21480  				},
 21481  			}
 21482  		}
 21483  		yyVAL.union = yyLOCAL
 21484  	case 1437:
 21485  		yyDollar = yyS[yypt-2 : yypt+1]
 21486  		var yyLOCAL *tree.T
 21487  //line mysql_sql.y:9287
 21488  		{
 21489  			locale := ""
 21490  			yyLOCAL = &tree.T{
 21491  				InternalType: tree.InternalType{
 21492  					Family:       tree.StringFamily,
 21493  					FamilyString: yyDollar[1].str,
 21494  					Locale:       &locale,
 21495  					Oid:          uint32(defines.MYSQL_TYPE_VARCHAR),
 21496  					DisplayWith:  yyDollar[2].lengthOptUnion(),
 21497  				},
 21498  			}
 21499  		}
 21500  		yyVAL.union = yyLOCAL
 21501  	case 1438:
 21502  		yyDollar = yyS[yypt-1 : yypt+1]
 21503  		var yyLOCAL *tree.T
 21504  //line mysql_sql.y:9300
 21505  		{
 21506  			locale := ""
 21507  			yyLOCAL = &tree.T{
 21508  				InternalType: tree.InternalType{
 21509  					Family:       tree.DateFamily,
 21510  					FamilyString: yyDollar[1].str,
 21511  					Locale:       &locale,
 21512  					Oid:          uint32(defines.MYSQL_TYPE_DATE),
 21513  				},
 21514  			}
 21515  		}
 21516  		yyVAL.union = yyLOCAL
 21517  	case 1439:
 21518  		yyDollar = yyS[yypt-2 : yypt+1]
 21519  		var yyLOCAL *tree.T
 21520  //line mysql_sql.y:9312
 21521  		{
 21522  			locale := ""
 21523  			yyLOCAL = &tree.T{
 21524  				InternalType: tree.InternalType{
 21525  					Family:       tree.IntFamily,
 21526  					FamilyString: yyDollar[1].str,
 21527  					DisplayWith:  yyDollar[2].lengthOptUnion(),
 21528  					Width:        16,
 21529  					Locale:       &locale,
 21530  					Oid:          uint32(defines.MYSQL_TYPE_YEAR),
 21531  				},
 21532  			}
 21533  		}
 21534  		yyVAL.union = yyLOCAL
 21535  	case 1440:
 21536  		yyDollar = yyS[yypt-2 : yypt+1]
 21537  		var yyLOCAL *tree.T
 21538  //line mysql_sql.y:9326
 21539  		{
 21540  			locale := ""
 21541  			yyLOCAL = &tree.T{
 21542  				InternalType: tree.InternalType{
 21543  					Family:             tree.TimestampFamily,
 21544  					Scale:              yyDollar[2].lengthOptUnion(),
 21545  					FamilyString:       yyDollar[1].str,
 21546  					DisplayWith:        yyDollar[2].lengthOptUnion(),
 21547  					TimePrecisionIsSet: false,
 21548  					Locale:             &locale,
 21549  					Oid:                uint32(defines.MYSQL_TYPE_DATETIME),
 21550  				},
 21551  			}
 21552  		}
 21553  		yyVAL.union = yyLOCAL
 21554  	case 1441:
 21555  		yyDollar = yyS[yypt-2 : yypt+1]
 21556  		var yyLOCAL *tree.T
 21557  //line mysql_sql.y:9341
 21558  		{
 21559  			locale := ""
 21560  			yyLOCAL = &tree.T{
 21561  				InternalType: tree.InternalType{
 21562  					Family:             tree.TimeFamily,
 21563  					FamilyString:       yyDollar[1].str,
 21564  					DisplayWith:        yyDollar[2].lengthOptUnion(),
 21565  					Scale:              yyDollar[2].lengthOptUnion(),
 21566  					TimePrecisionIsSet: false,
 21567  					Locale:             &locale,
 21568  					Oid:                uint32(defines.MYSQL_TYPE_TIME),
 21569  				},
 21570  			}
 21571  		}
 21572  		yyVAL.union = yyLOCAL
 21573  	case 1442:
 21574  		yyDollar = yyS[yypt-2 : yypt+1]
 21575  		var yyLOCAL *tree.T
 21576  //line mysql_sql.y:9356
 21577  		{
 21578  			name := yyDollar[1].str
 21579  			if yyDollar[2].str != "" {
 21580  				name = yyDollar[2].str
 21581  			}
 21582  			locale := ""
 21583  			yyLOCAL = &tree.T{
 21584  				InternalType: tree.InternalType{
 21585  					Family:       tree.IntFamily,
 21586  					FamilyString: name,
 21587  					Width:        64,
 21588  					Locale:       &locale,
 21589  					Oid:          uint32(defines.MYSQL_TYPE_LONGLONG),
 21590  				},
 21591  			}
 21592  		}
 21593  		yyVAL.union = yyLOCAL
 21594  	case 1443:
 21595  		yyDollar = yyS[yypt-2 : yypt+1]
 21596  		var yyLOCAL *tree.T
 21597  //line mysql_sql.y:9373
 21598  		{
 21599  			locale := ""
 21600  			yyLOCAL = &tree.T{
 21601  				InternalType: tree.InternalType{
 21602  					Family:       tree.IntFamily,
 21603  					FamilyString: yyDollar[2].str,
 21604  					Width:        64,
 21605  					Locale:       &locale,
 21606  					Unsigned:     true,
 21607  					Oid:          uint32(defines.MYSQL_TYPE_LONGLONG),
 21608  				},
 21609  			}
 21610  		}
 21611  		yyVAL.union = yyLOCAL
 21612  	case 1444:
 21613  		yyDollar = yyS[yypt-0 : yypt+1]
 21614  //line mysql_sql.y:9388
 21615  		{
 21616  		}
 21617  	case 1448:
 21618  		yyDollar = yyS[yypt-2 : yypt+1]
 21619  		var yyLOCAL *tree.FrameBound
 21620  //line mysql_sql.y:9395
 21621  		{
 21622  			yyLOCAL = &tree.FrameBound{Type: tree.Following, UnBounded: true}
 21623  		}
 21624  		yyVAL.union = yyLOCAL
 21625  	case 1449:
 21626  		yyDollar = yyS[yypt-2 : yypt+1]
 21627  		var yyLOCAL *tree.FrameBound
 21628  //line mysql_sql.y:9399
 21629  		{
 21630  			yyLOCAL = &tree.FrameBound{Type: tree.Following, Expr: yyDollar[1].exprUnion()}
 21631  		}
 21632  		yyVAL.union = yyLOCAL
 21633  	case 1450:
 21634  		yyDollar = yyS[yypt-2 : yypt+1]
 21635  		var yyLOCAL *tree.FrameBound
 21636  //line mysql_sql.y:9403
 21637  		{
 21638  			yyLOCAL = &tree.FrameBound{Type: tree.Following, Expr: yyDollar[1].exprUnion()}
 21639  		}
 21640  		yyVAL.union = yyLOCAL
 21641  	case 1451:
 21642  		yyDollar = yyS[yypt-2 : yypt+1]
 21643  		var yyLOCAL *tree.FrameBound
 21644  //line mysql_sql.y:9409
 21645  		{
 21646  			yyLOCAL = &tree.FrameBound{Type: tree.CurrentRow}
 21647  		}
 21648  		yyVAL.union = yyLOCAL
 21649  	case 1452:
 21650  		yyDollar = yyS[yypt-2 : yypt+1]
 21651  		var yyLOCAL *tree.FrameBound
 21652  //line mysql_sql.y:9413
 21653  		{
 21654  			yyLOCAL = &tree.FrameBound{Type: tree.Preceding, UnBounded: true}
 21655  		}
 21656  		yyVAL.union = yyLOCAL
 21657  	case 1453:
 21658  		yyDollar = yyS[yypt-2 : yypt+1]
 21659  		var yyLOCAL *tree.FrameBound
 21660  //line mysql_sql.y:9417
 21661  		{
 21662  			yyLOCAL = &tree.FrameBound{Type: tree.Preceding, Expr: yyDollar[1].exprUnion()}
 21663  		}
 21664  		yyVAL.union = yyLOCAL
 21665  	case 1454:
 21666  		yyDollar = yyS[yypt-2 : yypt+1]
 21667  		var yyLOCAL *tree.FrameBound
 21668  //line mysql_sql.y:9421
 21669  		{
 21670  			yyLOCAL = &tree.FrameBound{Type: tree.Preceding, Expr: yyDollar[1].exprUnion()}
 21671  		}
 21672  		yyVAL.union = yyLOCAL
 21673  	case 1455:
 21674  		yyDollar = yyS[yypt-1 : yypt+1]
 21675  		var yyLOCAL tree.FrameType
 21676  //line mysql_sql.y:9427
 21677  		{
 21678  			yyLOCAL = tree.Rows
 21679  		}
 21680  		yyVAL.union = yyLOCAL
 21681  	case 1456:
 21682  		yyDollar = yyS[yypt-1 : yypt+1]
 21683  		var yyLOCAL tree.FrameType
 21684  //line mysql_sql.y:9431
 21685  		{
 21686  			yyLOCAL = tree.Range
 21687  		}
 21688  		yyVAL.union = yyLOCAL
 21689  	case 1457:
 21690  		yyDollar = yyS[yypt-1 : yypt+1]
 21691  		var yyLOCAL tree.FrameType
 21692  //line mysql_sql.y:9435
 21693  		{
 21694  			yyLOCAL = tree.Groups
 21695  		}
 21696  		yyVAL.union = yyLOCAL
 21697  	case 1458:
 21698  		yyDollar = yyS[yypt-2 : yypt+1]
 21699  		var yyLOCAL *tree.FrameClause
 21700  //line mysql_sql.y:9441
 21701  		{
 21702  			yyLOCAL = &tree.FrameClause{
 21703  				Type:  yyDollar[1].frameTypeUnion(),
 21704  				Start: yyDollar[2].frameBoundUnion(),
 21705  				End:   &tree.FrameBound{Type: tree.CurrentRow},
 21706  			}
 21707  		}
 21708  		yyVAL.union = yyLOCAL
 21709  	case 1459:
 21710  		yyDollar = yyS[yypt-5 : yypt+1]
 21711  		var yyLOCAL *tree.FrameClause
 21712  //line mysql_sql.y:9449
 21713  		{
 21714  			yyLOCAL = &tree.FrameClause{
 21715  				Type:   yyDollar[1].frameTypeUnion(),
 21716  				HasEnd: true,
 21717  				Start:  yyDollar[3].frameBoundUnion(),
 21718  				End:    yyDollar[5].frameBoundUnion(),
 21719  			}
 21720  		}
 21721  		yyVAL.union = yyLOCAL
 21722  	case 1460:
 21723  		yyDollar = yyS[yypt-0 : yypt+1]
 21724  		var yyLOCAL *tree.FrameClause
 21725  //line mysql_sql.y:9459
 21726  		{
 21727  			yyLOCAL = nil
 21728  		}
 21729  		yyVAL.union = yyLOCAL
 21730  	case 1461:
 21731  		yyDollar = yyS[yypt-1 : yypt+1]
 21732  		var yyLOCAL *tree.FrameClause
 21733  //line mysql_sql.y:9463
 21734  		{
 21735  			yyLOCAL = yyDollar[1].frameClauseUnion()
 21736  		}
 21737  		yyVAL.union = yyLOCAL
 21738  	case 1462:
 21739  		yyDollar = yyS[yypt-3 : yypt+1]
 21740  		var yyLOCAL tree.Exprs
 21741  //line mysql_sql.y:9470
 21742  		{
 21743  			yyLOCAL = yyDollar[3].exprsUnion()
 21744  		}
 21745  		yyVAL.union = yyLOCAL
 21746  	case 1463:
 21747  		yyDollar = yyS[yypt-0 : yypt+1]
 21748  		var yyLOCAL tree.Exprs
 21749  //line mysql_sql.y:9475
 21750  		{
 21751  			yyLOCAL = nil
 21752  		}
 21753  		yyVAL.union = yyLOCAL
 21754  	case 1464:
 21755  		yyDollar = yyS[yypt-1 : yypt+1]
 21756  		var yyLOCAL tree.Exprs
 21757  //line mysql_sql.y:9479
 21758  		{
 21759  			yyLOCAL = yyDollar[1].exprsUnion()
 21760  		}
 21761  		yyVAL.union = yyLOCAL
 21762  	case 1465:
 21763  		yyDollar = yyS[yypt-0 : yypt+1]
 21764  //line mysql_sql.y:9484
 21765  		{
 21766  			yyVAL.str = ","
 21767  		}
 21768  	case 1466:
 21769  		yyDollar = yyS[yypt-2 : yypt+1]
 21770  //line mysql_sql.y:9488
 21771  		{
 21772  			yyVAL.str = yyDollar[2].str
 21773  		}
 21774  	case 1467:
 21775  		yyDollar = yyS[yypt-0 : yypt+1]
 21776  //line mysql_sql.y:9493
 21777  		{
 21778  			yyVAL.str = "1,vector_l2_ops,random,false"
 21779  		}
 21780  	case 1468:
 21781  		yyDollar = yyS[yypt-2 : yypt+1]
 21782  //line mysql_sql.y:9497
 21783  		{
 21784  			yyVAL.str = yyDollar[2].str
 21785  		}
 21786  	case 1469:
 21787  		yyDollar = yyS[yypt-0 : yypt+1]
 21788  		var yyLOCAL *tree.WindowSpec
 21789  //line mysql_sql.y:9502
 21790  		{
 21791  			yyLOCAL = nil
 21792  		}
 21793  		yyVAL.union = yyLOCAL
 21794  	case 1471:
 21795  		yyDollar = yyS[yypt-6 : yypt+1]
 21796  		var yyLOCAL *tree.WindowSpec
 21797  //line mysql_sql.y:9509
 21798  		{
 21799  			hasFrame := true
 21800  			var f *tree.FrameClause
 21801  			if yyDollar[5].frameClauseUnion() != nil {
 21802  				f = yyDollar[5].frameClauseUnion()
 21803  			} else {
 21804  				hasFrame = false
 21805  				f = &tree.FrameClause{Type: tree.Range}
 21806  				if yyDollar[4].orderByUnion() == nil {
 21807  					f.Start = &tree.FrameBound{Type: tree.Preceding, UnBounded: true}
 21808  					f.End = &tree.FrameBound{Type: tree.Following, UnBounded: true}
 21809  				} else {
 21810  					f.Start = &tree.FrameBound{Type: tree.Preceding, UnBounded: true}
 21811  					f.End = &tree.FrameBound{Type: tree.CurrentRow}
 21812  				}
 21813  			}
 21814  			yyLOCAL = &tree.WindowSpec{
 21815  				PartitionBy: yyDollar[3].exprsUnion(),
 21816  				OrderBy:     yyDollar[4].orderByUnion(),
 21817  				Frame:       f,
 21818  				HasFrame:    hasFrame,
 21819  			}
 21820  		}
 21821  		yyVAL.union = yyLOCAL
 21822  	case 1472:
 21823  		yyDollar = yyS[yypt-8 : yypt+1]
 21824  		var yyLOCAL *tree.FuncExpr
 21825  //line mysql_sql.y:9535
 21826  		{
 21827  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 21828  			yyLOCAL = &tree.FuncExpr{
 21829  				Func:       tree.FuncName2ResolvableFunctionReference(name),
 21830  				FuncName:   tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 21831  				Exprs:      append(yyDollar[4].exprsUnion(), tree.NewNumValWithType(constant.MakeString(yyDollar[6].str), yyDollar[6].str, false, tree.P_char)),
 21832  				Type:       yyDollar[3].funcTypeUnion(),
 21833  				WindowSpec: yyDollar[8].windowSpecUnion(),
 21834  				OrderBy:    yyDollar[5].orderByUnion(),
 21835  			}
 21836  		}
 21837  		yyVAL.union = yyLOCAL
 21838  	case 1473:
 21839  		yyDollar = yyS[yypt-8 : yypt+1]
 21840  		var yyLOCAL *tree.FuncExpr
 21841  //line mysql_sql.y:9547
 21842  		{
 21843  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 21844  			yyLOCAL = &tree.FuncExpr{
 21845  				Func:       tree.FuncName2ResolvableFunctionReference(name),
 21846  				FuncName:   tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 21847  				Exprs:      append(yyDollar[4].exprsUnion(), tree.NewNumValWithType(constant.MakeString(yyDollar[6].str), yyDollar[6].str, false, tree.P_char)),
 21848  				Type:       yyDollar[3].funcTypeUnion(),
 21849  				WindowSpec: yyDollar[8].windowSpecUnion(),
 21850  				OrderBy:    yyDollar[5].orderByUnion(),
 21851  			}
 21852  		}
 21853  		yyVAL.union = yyLOCAL
 21854  	case 1474:
 21855  		yyDollar = yyS[yypt-6 : yypt+1]
 21856  		var yyLOCAL *tree.FuncExpr
 21857  //line mysql_sql.y:9559
 21858  		{
 21859  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 21860  			yyLOCAL = &tree.FuncExpr{
 21861  				Func:       tree.FuncName2ResolvableFunctionReference(name),
 21862  				FuncName:   tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 21863  				Exprs:      tree.Exprs{yyDollar[4].exprUnion()},
 21864  				Type:       yyDollar[3].funcTypeUnion(),
 21865  				WindowSpec: yyDollar[6].windowSpecUnion(),
 21866  			}
 21867  		}
 21868  		yyVAL.union = yyLOCAL
 21869  	case 1475:
 21870  		yyDollar = yyS[yypt-6 : yypt+1]
 21871  		var yyLOCAL *tree.FuncExpr
 21872  //line mysql_sql.y:9570
 21873  		{
 21874  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 21875  			yyLOCAL = &tree.FuncExpr{
 21876  				Func:       tree.FuncName2ResolvableFunctionReference(name),
 21877  				FuncName:   tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 21878  				Exprs:      yyDollar[4].exprsUnion(),
 21879  				Type:       yyDollar[3].funcTypeUnion(),
 21880  				WindowSpec: yyDollar[6].windowSpecUnion(),
 21881  			}
 21882  		}
 21883  		yyVAL.union = yyLOCAL
 21884  	case 1476:
 21885  		yyDollar = yyS[yypt-5 : yypt+1]
 21886  		var yyLOCAL *tree.FuncExpr
 21887  //line mysql_sql.y:9581
 21888  		{
 21889  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 21890  			es := tree.NewNumValWithType(constant.MakeString("*"), "*", false, tree.P_char)
 21891  			yyLOCAL = &tree.FuncExpr{
 21892  				Func:       tree.FuncName2ResolvableFunctionReference(name),
 21893  				FuncName:   tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 21894  				Exprs:      tree.Exprs{es},
 21895  				WindowSpec: yyDollar[5].windowSpecUnion(),
 21896  			}
 21897  		}
 21898  		yyVAL.union = yyLOCAL
 21899  	case 1477:
 21900  		yyDollar = yyS[yypt-5 : yypt+1]
 21901  		var yyLOCAL *tree.FuncExpr
 21902  //line mysql_sql.y:9592
 21903  		{
 21904  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 21905  			yyLOCAL = &tree.FuncExpr{
 21906  				Func:       tree.FuncName2ResolvableFunctionReference(name),
 21907  				FuncName:   tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 21908  				Exprs:      yyDollar[3].exprsUnion(),
 21909  				WindowSpec: yyDollar[5].windowSpecUnion(),
 21910  			}
 21911  		}
 21912  		yyVAL.union = yyLOCAL
 21913  	case 1478:
 21914  		yyDollar = yyS[yypt-5 : yypt+1]
 21915  		var yyLOCAL *tree.FuncExpr
 21916  //line mysql_sql.y:9602
 21917  		{
 21918  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 21919  			yyLOCAL = &tree.FuncExpr{
 21920  				Func:       tree.FuncName2ResolvableFunctionReference(name),
 21921  				FuncName:   tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 21922  				Exprs:      yyDollar[3].exprsUnion(),
 21923  				WindowSpec: yyDollar[5].windowSpecUnion(),
 21924  			}
 21925  		}
 21926  		yyVAL.union = yyLOCAL
 21927  	case 1479:
 21928  		yyDollar = yyS[yypt-6 : yypt+1]
 21929  		var yyLOCAL *tree.FuncExpr
 21930  //line mysql_sql.y:9612
 21931  		{
 21932  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 21933  			yyLOCAL = &tree.FuncExpr{
 21934  				Func:       tree.FuncName2ResolvableFunctionReference(name),
 21935  				FuncName:   tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 21936  				Exprs:      tree.Exprs{yyDollar[4].exprUnion()},
 21937  				Type:       yyDollar[3].funcTypeUnion(),
 21938  				WindowSpec: yyDollar[6].windowSpecUnion(),
 21939  			}
 21940  		}
 21941  		yyVAL.union = yyLOCAL
 21942  	case 1480:
 21943  		yyDollar = yyS[yypt-6 : yypt+1]
 21944  		var yyLOCAL *tree.FuncExpr
 21945  //line mysql_sql.y:9623
 21946  		{
 21947  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 21948  			yyLOCAL = &tree.FuncExpr{
 21949  				Func:       tree.FuncName2ResolvableFunctionReference(name),
 21950  				FuncName:   tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 21951  				Exprs:      tree.Exprs{yyDollar[4].exprUnion()},
 21952  				Type:       yyDollar[3].funcTypeUnion(),
 21953  				WindowSpec: yyDollar[6].windowSpecUnion(),
 21954  			}
 21955  		}
 21956  		yyVAL.union = yyLOCAL
 21957  	case 1481:
 21958  		yyDollar = yyS[yypt-6 : yypt+1]
 21959  		var yyLOCAL *tree.FuncExpr
 21960  //line mysql_sql.y:9634
 21961  		{
 21962  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 21963  			yyLOCAL = &tree.FuncExpr{
 21964  				Func:       tree.FuncName2ResolvableFunctionReference(name),
 21965  				FuncName:   tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 21966  				Exprs:      tree.Exprs{yyDollar[4].exprUnion()},
 21967  				Type:       yyDollar[3].funcTypeUnion(),
 21968  				WindowSpec: yyDollar[6].windowSpecUnion(),
 21969  			}
 21970  		}
 21971  		yyVAL.union = yyLOCAL
 21972  	case 1482:
 21973  		yyDollar = yyS[yypt-6 : yypt+1]
 21974  		var yyLOCAL *tree.FuncExpr
 21975  //line mysql_sql.y:9645
 21976  		{
 21977  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 21978  			yyLOCAL = &tree.FuncExpr{
 21979  				Func:       tree.FuncName2ResolvableFunctionReference(name),
 21980  				FuncName:   tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 21981  				Exprs:      yyDollar[4].exprsUnion(),
 21982  				Type:       yyDollar[3].funcTypeUnion(),
 21983  				WindowSpec: yyDollar[6].windowSpecUnion(),
 21984  			}
 21985  		}
 21986  		yyVAL.union = yyLOCAL
 21987  	case 1483:
 21988  		yyDollar = yyS[yypt-5 : yypt+1]
 21989  		var yyLOCAL *tree.FuncExpr
 21990  //line mysql_sql.y:9656
 21991  		{
 21992  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 21993  			es := tree.NewNumValWithType(constant.MakeString("*"), "*", false, tree.P_char)
 21994  			yyLOCAL = &tree.FuncExpr{
 21995  				Func:       tree.FuncName2ResolvableFunctionReference(name),
 21996  				FuncName:   tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 21997  				Exprs:      tree.Exprs{es},
 21998  				WindowSpec: yyDollar[5].windowSpecUnion(),
 21999  			}
 22000  		}
 22001  		yyVAL.union = yyLOCAL
 22002  	case 1484:
 22003  		yyDollar = yyS[yypt-6 : yypt+1]
 22004  		var yyLOCAL *tree.FuncExpr
 22005  //line mysql_sql.y:9667
 22006  		{
 22007  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22008  			yyLOCAL = &tree.FuncExpr{
 22009  				Func:       tree.FuncName2ResolvableFunctionReference(name),
 22010  				FuncName:   tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22011  				Exprs:      tree.Exprs{yyDollar[4].exprUnion()},
 22012  				Type:       yyDollar[3].funcTypeUnion(),
 22013  				WindowSpec: yyDollar[6].windowSpecUnion(),
 22014  			}
 22015  		}
 22016  		yyVAL.union = yyLOCAL
 22017  	case 1485:
 22018  		yyDollar = yyS[yypt-6 : yypt+1]
 22019  		var yyLOCAL *tree.FuncExpr
 22020  //line mysql_sql.y:9678
 22021  		{
 22022  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22023  			yyLOCAL = &tree.FuncExpr{
 22024  				Func:       tree.FuncName2ResolvableFunctionReference(name),
 22025  				FuncName:   tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22026  				Exprs:      tree.Exprs{yyDollar[4].exprUnion()},
 22027  				Type:       yyDollar[3].funcTypeUnion(),
 22028  				WindowSpec: yyDollar[6].windowSpecUnion(),
 22029  			}
 22030  		}
 22031  		yyVAL.union = yyLOCAL
 22032  	case 1486:
 22033  		yyDollar = yyS[yypt-6 : yypt+1]
 22034  		var yyLOCAL *tree.FuncExpr
 22035  //line mysql_sql.y:9689
 22036  		{
 22037  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22038  			yyLOCAL = &tree.FuncExpr{
 22039  				Func:       tree.FuncName2ResolvableFunctionReference(name),
 22040  				FuncName:   tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22041  				Exprs:      tree.Exprs{yyDollar[4].exprUnion()},
 22042  				Type:       yyDollar[3].funcTypeUnion(),
 22043  				WindowSpec: yyDollar[6].windowSpecUnion(),
 22044  			}
 22045  		}
 22046  		yyVAL.union = yyLOCAL
 22047  	case 1487:
 22048  		yyDollar = yyS[yypt-6 : yypt+1]
 22049  		var yyLOCAL *tree.FuncExpr
 22050  //line mysql_sql.y:9700
 22051  		{
 22052  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22053  			yyLOCAL = &tree.FuncExpr{
 22054  				Func:       tree.FuncName2ResolvableFunctionReference(name),
 22055  				FuncName:   tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22056  				Exprs:      tree.Exprs{yyDollar[4].exprUnion()},
 22057  				Type:       yyDollar[3].funcTypeUnion(),
 22058  				WindowSpec: yyDollar[6].windowSpecUnion(),
 22059  			}
 22060  		}
 22061  		yyVAL.union = yyLOCAL
 22062  	case 1488:
 22063  		yyDollar = yyS[yypt-6 : yypt+1]
 22064  		var yyLOCAL *tree.FuncExpr
 22065  //line mysql_sql.y:9711
 22066  		{
 22067  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22068  			yyLOCAL = &tree.FuncExpr{
 22069  				Func:       tree.FuncName2ResolvableFunctionReference(name),
 22070  				FuncName:   tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22071  				Exprs:      tree.Exprs{yyDollar[4].exprUnion()},
 22072  				Type:       yyDollar[3].funcTypeUnion(),
 22073  				WindowSpec: yyDollar[6].windowSpecUnion(),
 22074  			}
 22075  		}
 22076  		yyVAL.union = yyLOCAL
 22077  	case 1489:
 22078  		yyDollar = yyS[yypt-6 : yypt+1]
 22079  		var yyLOCAL *tree.FuncExpr
 22080  //line mysql_sql.y:9722
 22081  		{
 22082  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22083  			yyLOCAL = &tree.FuncExpr{
 22084  				Func:       tree.FuncName2ResolvableFunctionReference(name),
 22085  				FuncName:   tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22086  				Exprs:      tree.Exprs{yyDollar[4].exprUnion()},
 22087  				Type:       yyDollar[3].funcTypeUnion(),
 22088  				WindowSpec: yyDollar[6].windowSpecUnion(),
 22089  			}
 22090  		}
 22091  		yyVAL.union = yyLOCAL
 22092  	case 1490:
 22093  		yyDollar = yyS[yypt-6 : yypt+1]
 22094  		var yyLOCAL *tree.FuncExpr
 22095  //line mysql_sql.y:9733
 22096  		{
 22097  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22098  			yyLOCAL = &tree.FuncExpr{
 22099  				Func:       tree.FuncName2ResolvableFunctionReference(name),
 22100  				FuncName:   tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22101  				Exprs:      tree.Exprs{yyDollar[4].exprUnion()},
 22102  				Type:       yyDollar[3].funcTypeUnion(),
 22103  				WindowSpec: yyDollar[6].windowSpecUnion(),
 22104  			}
 22105  		}
 22106  		yyVAL.union = yyLOCAL
 22107  	case 1491:
 22108  		yyDollar = yyS[yypt-6 : yypt+1]
 22109  		var yyLOCAL *tree.FuncExpr
 22110  //line mysql_sql.y:9744
 22111  		{
 22112  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22113  			yyLOCAL = &tree.FuncExpr{
 22114  				Func:       tree.FuncName2ResolvableFunctionReference(name),
 22115  				FuncName:   tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22116  				Exprs:      tree.Exprs{yyDollar[4].exprUnion()},
 22117  				Type:       yyDollar[3].funcTypeUnion(),
 22118  				WindowSpec: yyDollar[6].windowSpecUnion(),
 22119  			}
 22120  		}
 22121  		yyVAL.union = yyLOCAL
 22122  	case 1492:
 22123  		yyDollar = yyS[yypt-6 : yypt+1]
 22124  		var yyLOCAL *tree.FuncExpr
 22125  //line mysql_sql.y:9755
 22126  		{
 22127  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22128  			yyLOCAL = &tree.FuncExpr{
 22129  				Func:       tree.FuncName2ResolvableFunctionReference(name),
 22130  				FuncName:   tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22131  				Exprs:      tree.Exprs{yyDollar[4].exprUnion()},
 22132  				Type:       yyDollar[3].funcTypeUnion(),
 22133  				WindowSpec: yyDollar[6].windowSpecUnion(),
 22134  			}
 22135  		}
 22136  		yyVAL.union = yyLOCAL
 22137  	case 1493:
 22138  		yyDollar = yyS[yypt-6 : yypt+1]
 22139  		var yyLOCAL *tree.FuncExpr
 22140  //line mysql_sql.y:9766
 22141  		{
 22142  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22143  			yyLOCAL = &tree.FuncExpr{
 22144  				Func:       tree.FuncName2ResolvableFunctionReference(name),
 22145  				FuncName:   tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22146  				Exprs:      tree.Exprs{yyDollar[4].exprUnion()},
 22147  				Type:       yyDollar[3].funcTypeUnion(),
 22148  				WindowSpec: yyDollar[6].windowSpecUnion(),
 22149  			}
 22150  		}
 22151  		yyVAL.union = yyLOCAL
 22152  	case 1497:
 22153  		yyDollar = yyS[yypt-4 : yypt+1]
 22154  		var yyLOCAL *tree.FuncExpr
 22155  //line mysql_sql.y:9784
 22156  		{
 22157  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22158  			yyLOCAL = &tree.FuncExpr{
 22159  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22160  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22161  				Exprs:    yyDollar[3].exprsUnion(),
 22162  			}
 22163  		}
 22164  		yyVAL.union = yyLOCAL
 22165  	case 1498:
 22166  		yyDollar = yyS[yypt-4 : yypt+1]
 22167  		var yyLOCAL *tree.FuncExpr
 22168  //line mysql_sql.y:9793
 22169  		{
 22170  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22171  			yyLOCAL = &tree.FuncExpr{
 22172  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22173  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22174  				Exprs:    yyDollar[3].exprsUnion(),
 22175  			}
 22176  		}
 22177  		yyVAL.union = yyLOCAL
 22178  	case 1499:
 22179  		yyDollar = yyS[yypt-6 : yypt+1]
 22180  		var yyLOCAL *tree.FuncExpr
 22181  //line mysql_sql.y:9802
 22182  		{
 22183  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22184  			yyLOCAL = &tree.FuncExpr{
 22185  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22186  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22187  				Exprs:    tree.Exprs{yyDollar[3].exprUnion(), yyDollar[5].exprUnion()},
 22188  			}
 22189  		}
 22190  		yyVAL.union = yyLOCAL
 22191  	case 1500:
 22192  		yyDollar = yyS[yypt-8 : yypt+1]
 22193  		var yyLOCAL *tree.FuncExpr
 22194  //line mysql_sql.y:9811
 22195  		{
 22196  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22197  			yyLOCAL = &tree.FuncExpr{
 22198  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22199  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22200  				Exprs:    tree.Exprs{yyDollar[3].exprUnion(), yyDollar[5].exprUnion(), yyDollar[7].exprUnion()},
 22201  			}
 22202  		}
 22203  		yyVAL.union = yyLOCAL
 22204  	case 1501:
 22205  		yyDollar = yyS[yypt-6 : yypt+1]
 22206  		var yyLOCAL *tree.FuncExpr
 22207  //line mysql_sql.y:9820
 22208  		{
 22209  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22210  			str := strings.ToLower(yyDollar[3].str)
 22211  			timeUinit := tree.NewNumValWithType(constant.MakeString(str), str, false, tree.P_char)
 22212  			yyLOCAL = &tree.FuncExpr{
 22213  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22214  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22215  				Exprs:    tree.Exprs{timeUinit, yyDollar[5].exprUnion()},
 22216  			}
 22217  		}
 22218  		yyVAL.union = yyLOCAL
 22219  	case 1502:
 22220  		yyDollar = yyS[yypt-4 : yypt+1]
 22221  		var yyLOCAL *tree.FuncExpr
 22222  //line mysql_sql.y:9831
 22223  		{
 22224  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22225  			yyLOCAL = &tree.FuncExpr{
 22226  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22227  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22228  				Exprs:    yyDollar[3].exprsUnion(),
 22229  			}
 22230  		}
 22231  		yyVAL.union = yyLOCAL
 22232  	case 1503:
 22233  		yyDollar = yyS[yypt-5 : yypt+1]
 22234  		var yyLOCAL *tree.FuncExpr
 22235  //line mysql_sql.y:9840
 22236  		{
 22237  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22238  			yyLOCAL = &tree.FuncExpr{
 22239  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22240  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22241  				Exprs:    tree.Exprs{yyDollar[4].exprUnion()},
 22242  				Type:     yyDollar[3].funcTypeUnion(),
 22243  			}
 22244  		}
 22245  		yyVAL.union = yyLOCAL
 22246  	case 1504:
 22247  		yyDollar = yyS[yypt-4 : yypt+1]
 22248  		var yyLOCAL *tree.FuncExpr
 22249  //line mysql_sql.y:9850
 22250  		{
 22251  			name := tree.SetUnresolvedName("nextval")
 22252  			yyLOCAL = &tree.FuncExpr{
 22253  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22254  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22255  				Exprs:    yyDollar[3].exprsUnion(),
 22256  			}
 22257  		}
 22258  		yyVAL.union = yyLOCAL
 22259  	case 1505:
 22260  		yyDollar = yyS[yypt-4 : yypt+1]
 22261  		var yyLOCAL *tree.FuncExpr
 22262  //line mysql_sql.y:9859
 22263  		{
 22264  			name := tree.SetUnresolvedName("setval")
 22265  			yyLOCAL = &tree.FuncExpr{
 22266  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22267  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22268  				Exprs:    yyDollar[3].exprsUnion(),
 22269  			}
 22270  		}
 22271  		yyVAL.union = yyLOCAL
 22272  	case 1506:
 22273  		yyDollar = yyS[yypt-4 : yypt+1]
 22274  		var yyLOCAL *tree.FuncExpr
 22275  //line mysql_sql.y:9868
 22276  		{
 22277  			name := tree.SetUnresolvedName("currval")
 22278  			yyLOCAL = &tree.FuncExpr{
 22279  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22280  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22281  				Exprs:    yyDollar[3].exprsUnion(),
 22282  			}
 22283  		}
 22284  		yyVAL.union = yyLOCAL
 22285  	case 1507:
 22286  		yyDollar = yyS[yypt-3 : yypt+1]
 22287  		var yyLOCAL *tree.FuncExpr
 22288  //line mysql_sql.y:9877
 22289  		{
 22290  			name := tree.SetUnresolvedName("lastval")
 22291  			yyLOCAL = &tree.FuncExpr{
 22292  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22293  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22294  				Exprs:    nil,
 22295  			}
 22296  		}
 22297  		yyVAL.union = yyLOCAL
 22298  	case 1508:
 22299  		yyDollar = yyS[yypt-4 : yypt+1]
 22300  		var yyLOCAL *tree.FuncExpr
 22301  //line mysql_sql.y:9886
 22302  		{
 22303  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22304  			arg0 := tree.NewNumValWithType(constant.MakeInt64(0), "0", false, tree.P_int64)
 22305  			arg1 := tree.NewNumValWithType(constant.MakeString("both"), "both", false, tree.P_char)
 22306  			arg2 := tree.NewNumValWithType(constant.MakeString(" "), " ", false, tree.P_char)
 22307  			yyLOCAL = &tree.FuncExpr{
 22308  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22309  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22310  				Exprs:    tree.Exprs{arg0, arg1, arg2, yyDollar[3].exprUnion()},
 22311  			}
 22312  		}
 22313  		yyVAL.union = yyLOCAL
 22314  	case 1509:
 22315  		yyDollar = yyS[yypt-6 : yypt+1]
 22316  		var yyLOCAL *tree.FuncExpr
 22317  //line mysql_sql.y:9898
 22318  		{
 22319  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22320  			arg0 := tree.NewNumValWithType(constant.MakeInt64(1), "1", false, tree.P_int64)
 22321  			arg1 := tree.NewNumValWithType(constant.MakeString("both"), "both", false, tree.P_char)
 22322  			yyLOCAL = &tree.FuncExpr{
 22323  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22324  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22325  				Exprs:    tree.Exprs{arg0, arg1, yyDollar[3].exprUnion(), yyDollar[5].exprUnion()},
 22326  			}
 22327  		}
 22328  		yyVAL.union = yyLOCAL
 22329  	case 1510:
 22330  		yyDollar = yyS[yypt-6 : yypt+1]
 22331  		var yyLOCAL *tree.FuncExpr
 22332  //line mysql_sql.y:9909
 22333  		{
 22334  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22335  			arg0 := tree.NewNumValWithType(constant.MakeInt64(2), "2", false, tree.P_int64)
 22336  			str := strings.ToLower(yyDollar[3].str)
 22337  			arg1 := tree.NewNumValWithType(constant.MakeString(str), str, false, tree.P_char)
 22338  			arg2 := tree.NewNumValWithType(constant.MakeString(" "), " ", false, tree.P_char)
 22339  			yyLOCAL = &tree.FuncExpr{
 22340  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22341  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22342  				Exprs:    tree.Exprs{arg0, arg1, arg2, yyDollar[5].exprUnion()},
 22343  			}
 22344  		}
 22345  		yyVAL.union = yyLOCAL
 22346  	case 1511:
 22347  		yyDollar = yyS[yypt-7 : yypt+1]
 22348  		var yyLOCAL *tree.FuncExpr
 22349  //line mysql_sql.y:9922
 22350  		{
 22351  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22352  			arg0 := tree.NewNumValWithType(constant.MakeInt64(3), "3", false, tree.P_int64)
 22353  			str := strings.ToLower(yyDollar[3].str)
 22354  			arg1 := tree.NewNumValWithType(constant.MakeString(str), str, false, tree.P_char)
 22355  			yyLOCAL = &tree.FuncExpr{
 22356  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22357  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22358  				Exprs:    tree.Exprs{arg0, arg1, yyDollar[4].exprUnion(), yyDollar[6].exprUnion()},
 22359  			}
 22360  		}
 22361  		yyVAL.union = yyLOCAL
 22362  	case 1512:
 22363  		yyDollar = yyS[yypt-4 : yypt+1]
 22364  		var yyLOCAL *tree.FuncExpr
 22365  //line mysql_sql.y:9934
 22366  		{
 22367  			column := tree.SetUnresolvedName(strings.ToLower(yyDollar[3].str))
 22368  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22369  			yyLOCAL = &tree.FuncExpr{
 22370  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22371  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22372  				Exprs:    tree.Exprs{column},
 22373  			}
 22374  		}
 22375  		yyVAL.union = yyLOCAL
 22376  	case 1519:
 22377  		yyDollar = yyS[yypt-1 : yypt+1]
 22378  //line mysql_sql.y:9957
 22379  		{
 22380  			yyVAL.str = yyDollar[1].str
 22381  		}
 22382  	case 1548:
 22383  		yyDollar = yyS[yypt-2 : yypt+1]
 22384  		var yyLOCAL *tree.FuncExpr
 22385  //line mysql_sql.y:9993
 22386  		{
 22387  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22388  			var es tree.Exprs = nil
 22389  			if yyDollar[2].exprUnion() != nil {
 22390  				es = append(es, yyDollar[2].exprUnion())
 22391  			}
 22392  			yyLOCAL = &tree.FuncExpr{
 22393  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22394  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22395  				Exprs:    es,
 22396  			}
 22397  		}
 22398  		yyVAL.union = yyLOCAL
 22399  	case 1549:
 22400  		yyDollar = yyS[yypt-2 : yypt+1]
 22401  		var yyLOCAL *tree.FuncExpr
 22402  //line mysql_sql.y:10006
 22403  		{
 22404  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22405  			var es tree.Exprs = nil
 22406  			if yyDollar[2].exprUnion() != nil {
 22407  				es = append(es, yyDollar[2].exprUnion())
 22408  			}
 22409  			yyLOCAL = &tree.FuncExpr{
 22410  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22411  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22412  				Exprs:    es,
 22413  			}
 22414  		}
 22415  		yyVAL.union = yyLOCAL
 22416  	case 1550:
 22417  		yyDollar = yyS[yypt-8 : yypt+1]
 22418  		var yyLOCAL *tree.FuncExpr
 22419  //line mysql_sql.y:10019
 22420  		{
 22421  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22422  			str := strings.ToLower(yyDollar[3].str)
 22423  			arg1 := tree.NewNumValWithType(constant.MakeString(str), str, false, tree.P_char)
 22424  			yyLOCAL = &tree.FuncExpr{
 22425  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22426  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22427  				Exprs:    tree.Exprs{arg1, yyDollar[5].exprUnion(), yyDollar[7].exprUnion()},
 22428  			}
 22429  		}
 22430  		yyVAL.union = yyLOCAL
 22431  	case 1551:
 22432  		yyDollar = yyS[yypt-4 : yypt+1]
 22433  		var yyLOCAL *tree.FuncExpr
 22434  //line mysql_sql.y:10031
 22435  		{
 22436  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22437  			yyLOCAL = &tree.FuncExpr{
 22438  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22439  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22440  				Exprs:    yyDollar[3].exprsUnion(),
 22441  			}
 22442  		}
 22443  		yyVAL.union = yyLOCAL
 22444  	case 1552:
 22445  		yyDollar = yyS[yypt-2 : yypt+1]
 22446  		var yyLOCAL *tree.FuncExpr
 22447  //line mysql_sql.y:10040
 22448  		{
 22449  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22450  			yyLOCAL = &tree.FuncExpr{
 22451  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22452  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22453  			}
 22454  		}
 22455  		yyVAL.union = yyLOCAL
 22456  	case 1553:
 22457  		yyDollar = yyS[yypt-3 : yypt+1]
 22458  		var yyLOCAL *tree.FuncExpr
 22459  //line mysql_sql.y:10048
 22460  		{
 22461  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22462  			yyLOCAL = &tree.FuncExpr{
 22463  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22464  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22465  			}
 22466  		}
 22467  		yyVAL.union = yyLOCAL
 22468  	case 1554:
 22469  		yyDollar = yyS[yypt-2 : yypt+1]
 22470  		var yyLOCAL *tree.FuncExpr
 22471  //line mysql_sql.y:10056
 22472  		{
 22473  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22474  			var es tree.Exprs = nil
 22475  			if yyDollar[2].exprUnion() != nil {
 22476  				es = append(es, yyDollar[2].exprUnion())
 22477  			}
 22478  			yyLOCAL = &tree.FuncExpr{
 22479  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22480  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22481  				Exprs:    es,
 22482  			}
 22483  		}
 22484  		yyVAL.union = yyLOCAL
 22485  	case 1555:
 22486  		yyDollar = yyS[yypt-4 : yypt+1]
 22487  		var yyLOCAL *tree.FuncExpr
 22488  //line mysql_sql.y:10069
 22489  		{
 22490  			name := tree.SetUnresolvedName("binary")
 22491  			yyLOCAL = &tree.FuncExpr{
 22492  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22493  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22494  				Exprs:    yyDollar[3].exprsUnion(),
 22495  			}
 22496  		}
 22497  		yyVAL.union = yyLOCAL
 22498  	case 1556:
 22499  		yyDollar = yyS[yypt-2 : yypt+1]
 22500  		var yyLOCAL *tree.FuncExpr
 22501  //line mysql_sql.y:10078
 22502  		{
 22503  			name := tree.SetUnresolvedName("binary")
 22504  			exprs := make([]tree.Expr, 1)
 22505  			exprs[0] = yyDollar[2].exprUnion()
 22506  			yyLOCAL = &tree.FuncExpr{
 22507  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22508  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22509  				Exprs:    exprs,
 22510  			}
 22511  		}
 22512  		yyVAL.union = yyLOCAL
 22513  	case 1557:
 22514  		yyDollar = yyS[yypt-2 : yypt+1]
 22515  		var yyLOCAL *tree.FuncExpr
 22516  //line mysql_sql.y:10089
 22517  		{
 22518  			name := tree.SetUnresolvedName("binary")
 22519  			exprs := make([]tree.Expr, 1)
 22520  			exprs[0] = yyDollar[2].unresolvedNameUnion()
 22521  			yyLOCAL = &tree.FuncExpr{
 22522  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22523  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22524  				Exprs:    exprs,
 22525  			}
 22526  		}
 22527  		yyVAL.union = yyLOCAL
 22528  	case 1558:
 22529  		yyDollar = yyS[yypt-4 : yypt+1]
 22530  		var yyLOCAL *tree.FuncExpr
 22531  //line mysql_sql.y:10100
 22532  		{
 22533  			name := tree.SetUnresolvedName("char")
 22534  			yyLOCAL = &tree.FuncExpr{
 22535  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22536  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22537  				Exprs:    yyDollar[3].exprsUnion(),
 22538  			}
 22539  		}
 22540  		yyVAL.union = yyLOCAL
 22541  	case 1559:
 22542  		yyDollar = yyS[yypt-6 : yypt+1]
 22543  		var yyLOCAL *tree.FuncExpr
 22544  //line mysql_sql.y:10109
 22545  		{
 22546  			cn := tree.NewNumValWithType(constant.MakeString(yyDollar[5].str), yyDollar[5].str, false, tree.P_char)
 22547  			es := yyDollar[3].exprsUnion()
 22548  			es = append(es, cn)
 22549  			name := tree.SetUnresolvedName("char")
 22550  			yyLOCAL = &tree.FuncExpr{
 22551  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22552  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22553  				Exprs:    es,
 22554  			}
 22555  		}
 22556  		yyVAL.union = yyLOCAL
 22557  	case 1560:
 22558  		yyDollar = yyS[yypt-2 : yypt+1]
 22559  		var yyLOCAL *tree.FuncExpr
 22560  //line mysql_sql.y:10121
 22561  		{
 22562  			val := tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char)
 22563  			name := tree.SetUnresolvedName("date")
 22564  			yyLOCAL = &tree.FuncExpr{
 22565  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22566  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22567  				Exprs:    tree.Exprs{val},
 22568  			}
 22569  		}
 22570  		yyVAL.union = yyLOCAL
 22571  	case 1561:
 22572  		yyDollar = yyS[yypt-2 : yypt+1]
 22573  		var yyLOCAL *tree.FuncExpr
 22574  //line mysql_sql.y:10131
 22575  		{
 22576  			val := tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char)
 22577  			name := tree.SetUnresolvedName("time")
 22578  			yyLOCAL = &tree.FuncExpr{
 22579  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22580  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22581  				Exprs:    tree.Exprs{val},
 22582  			}
 22583  		}
 22584  		yyVAL.union = yyLOCAL
 22585  	case 1562:
 22586  		yyDollar = yyS[yypt-4 : yypt+1]
 22587  		var yyLOCAL *tree.FuncExpr
 22588  //line mysql_sql.y:10141
 22589  		{
 22590  			name := tree.SetUnresolvedName("insert")
 22591  			yyLOCAL = &tree.FuncExpr{
 22592  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22593  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22594  				Exprs:    yyDollar[3].exprsUnion(),
 22595  			}
 22596  		}
 22597  		yyVAL.union = yyLOCAL
 22598  	case 1563:
 22599  		yyDollar = yyS[yypt-6 : yypt+1]
 22600  		var yyLOCAL *tree.FuncExpr
 22601  //line mysql_sql.y:10150
 22602  		{
 22603  			es := tree.Exprs{yyDollar[3].exprUnion()}
 22604  			es = append(es, yyDollar[5].exprUnion())
 22605  			name := tree.SetUnresolvedName("mod")
 22606  			yyLOCAL = &tree.FuncExpr{
 22607  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22608  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22609  				Exprs:    es,
 22610  			}
 22611  		}
 22612  		yyVAL.union = yyLOCAL
 22613  	case 1564:
 22614  		yyDollar = yyS[yypt-4 : yypt+1]
 22615  		var yyLOCAL *tree.FuncExpr
 22616  //line mysql_sql.y:10161
 22617  		{
 22618  			name := tree.SetUnresolvedName("password")
 22619  			yyLOCAL = &tree.FuncExpr{
 22620  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22621  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22622  				Exprs:    yyDollar[3].exprsUnion(),
 22623  			}
 22624  		}
 22625  		yyVAL.union = yyLOCAL
 22626  	case 1565:
 22627  		yyDollar = yyS[yypt-2 : yypt+1]
 22628  		var yyLOCAL *tree.FuncExpr
 22629  //line mysql_sql.y:10170
 22630  		{
 22631  			val := tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char)
 22632  			name := tree.SetUnresolvedName("timestamp")
 22633  			yyLOCAL = &tree.FuncExpr{
 22634  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22635  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22636  				Exprs:    tree.Exprs{val},
 22637  			}
 22638  		}
 22639  		yyVAL.union = yyLOCAL
 22640  	case 1566:
 22641  		yyDollar = yyS[yypt-4 : yypt+1]
 22642  		var yyLOCAL *tree.FuncExpr
 22643  //line mysql_sql.y:10180
 22644  		{
 22645  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22646  			yyLOCAL = &tree.FuncExpr{
 22647  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22648  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22649  				Exprs:    yyDollar[3].exprsUnion(),
 22650  			}
 22651  		}
 22652  		yyVAL.union = yyLOCAL
 22653  	case 1567:
 22654  		yyDollar = yyS[yypt-4 : yypt+1]
 22655  		var yyLOCAL *tree.FuncExpr
 22656  //line mysql_sql.y:10189
 22657  		{
 22658  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22659  			yyLOCAL = &tree.FuncExpr{
 22660  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22661  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22662  				Exprs:    yyDollar[3].exprsUnion(),
 22663  			}
 22664  		}
 22665  		yyVAL.union = yyLOCAL
 22666  	case 1568:
 22667  		yyDollar = yyS[yypt-4 : yypt+1]
 22668  		var yyLOCAL *tree.FuncExpr
 22669  //line mysql_sql.y:10198
 22670  		{
 22671  			name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str))
 22672  			yyLOCAL = &tree.FuncExpr{
 22673  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22674  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22675  				Exprs:    yyDollar[3].exprsUnion(),
 22676  			}
 22677  		}
 22678  		yyVAL.union = yyLOCAL
 22679  	case 1569:
 22680  		yyDollar = yyS[yypt-0 : yypt+1]
 22681  		var yyLOCAL tree.Expr
 22682  //line mysql_sql.y:10208
 22683  		{
 22684  			yyLOCAL = nil
 22685  		}
 22686  		yyVAL.union = yyLOCAL
 22687  	case 1570:
 22688  		yyDollar = yyS[yypt-1 : yypt+1]
 22689  		var yyLOCAL tree.Expr
 22690  //line mysql_sql.y:10212
 22691  		{
 22692  			yyLOCAL = yyDollar[1].exprUnion()
 22693  		}
 22694  		yyVAL.union = yyLOCAL
 22695  	case 1571:
 22696  		yyDollar = yyS[yypt-2 : yypt+1]
 22697  		var yyLOCAL tree.Expr
 22698  //line mysql_sql.y:10218
 22699  		{
 22700  			yyLOCAL = nil
 22701  		}
 22702  		yyVAL.union = yyLOCAL
 22703  	case 1572:
 22704  		yyDollar = yyS[yypt-3 : yypt+1]
 22705  		var yyLOCAL tree.Expr
 22706  //line mysql_sql.y:10222
 22707  		{
 22708  			ival, errStr := util.GetInt64(yyDollar[2].item)
 22709  			if errStr != "" {
 22710  				yylex.Error(errStr)
 22711  				goto ret1
 22712  			}
 22713  			str := fmt.Sprintf("%v", yyDollar[2].item)
 22714  			yyLOCAL = tree.NewNumValWithType(constant.MakeInt64(ival), str, false, tree.P_int64)
 22715  		}
 22716  		yyVAL.union = yyLOCAL
 22717  	case 1579:
 22718  		yyDollar = yyS[yypt-0 : yypt+1]
 22719  //line mysql_sql.y:10241
 22720  		{
 22721  		}
 22722  	case 1580:
 22723  		yyDollar = yyS[yypt-2 : yypt+1]
 22724  //line mysql_sql.y:10243
 22725  		{
 22726  		}
 22727  	case 1614:
 22728  		yyDollar = yyS[yypt-3 : yypt+1]
 22729  		var yyLOCAL tree.Expr
 22730  //line mysql_sql.y:10284
 22731  		{
 22732  			name := tree.SetUnresolvedName("interval")
 22733  			str := strings.ToLower(yyDollar[3].str)
 22734  			arg2 := tree.NewNumValWithType(constant.MakeString(str), str, false, tree.P_char)
 22735  			yyLOCAL = &tree.FuncExpr{
 22736  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22737  				FuncName: tree.NewCStrUseOrigin(yyDollar[1].str, yylex.(*Lexer).useOrigin),
 22738  				Exprs:    tree.Exprs{yyDollar[2].exprUnion(), arg2},
 22739  			}
 22740  		}
 22741  		yyVAL.union = yyLOCAL
 22742  	case 1615:
 22743  		yyDollar = yyS[yypt-0 : yypt+1]
 22744  		var yyLOCAL tree.FuncType
 22745  //line mysql_sql.y:10296
 22746  		{
 22747  			yyLOCAL = tree.FUNC_TYPE_DEFAULT
 22748  		}
 22749  		yyVAL.union = yyLOCAL
 22750  	case 1616:
 22751  		yyDollar = yyS[yypt-1 : yypt+1]
 22752  		var yyLOCAL tree.FuncType
 22753  //line mysql_sql.y:10300
 22754  		{
 22755  			yyLOCAL = tree.FUNC_TYPE_DISTINCT
 22756  		}
 22757  		yyVAL.union = yyLOCAL
 22758  	case 1617:
 22759  		yyDollar = yyS[yypt-1 : yypt+1]
 22760  		var yyLOCAL tree.FuncType
 22761  //line mysql_sql.y:10304
 22762  		{
 22763  			yyLOCAL = tree.FUNC_TYPE_ALL
 22764  		}
 22765  		yyVAL.union = yyLOCAL
 22766  	case 1618:
 22767  		yyDollar = yyS[yypt-3 : yypt+1]
 22768  		var yyLOCAL *tree.Tuple
 22769  //line mysql_sql.y:10310
 22770  		{
 22771  			yyLOCAL = tree.NewTuple(yyDollar[2].exprsUnion())
 22772  		}
 22773  		yyVAL.union = yyLOCAL
 22774  	case 1619:
 22775  		yyDollar = yyS[yypt-0 : yypt+1]
 22776  		var yyLOCAL tree.Exprs
 22777  //line mysql_sql.y:10315
 22778  		{
 22779  			yyLOCAL = nil
 22780  		}
 22781  		yyVAL.union = yyLOCAL
 22782  	case 1620:
 22783  		yyDollar = yyS[yypt-1 : yypt+1]
 22784  		var yyLOCAL tree.Exprs
 22785  //line mysql_sql.y:10319
 22786  		{
 22787  			yyLOCAL = yyDollar[1].exprsUnion()
 22788  		}
 22789  		yyVAL.union = yyLOCAL
 22790  	case 1621:
 22791  		yyDollar = yyS[yypt-1 : yypt+1]
 22792  		var yyLOCAL tree.Exprs
 22793  //line mysql_sql.y:10325
 22794  		{
 22795  			yyLOCAL = tree.Exprs{yyDollar[1].exprUnion()}
 22796  		}
 22797  		yyVAL.union = yyLOCAL
 22798  	case 1622:
 22799  		yyDollar = yyS[yypt-3 : yypt+1]
 22800  		var yyLOCAL tree.Exprs
 22801  //line mysql_sql.y:10329
 22802  		{
 22803  			yyLOCAL = append(yyDollar[1].exprsUnion(), yyDollar[3].exprUnion())
 22804  		}
 22805  		yyVAL.union = yyLOCAL
 22806  	case 1623:
 22807  		yyDollar = yyS[yypt-1 : yypt+1]
 22808  		var yyLOCAL tree.Exprs
 22809  //line mysql_sql.y:10335
 22810  		{
 22811  			yyLOCAL = tree.Exprs{yyDollar[1].exprUnion()}
 22812  		}
 22813  		yyVAL.union = yyLOCAL
 22814  	case 1624:
 22815  		yyDollar = yyS[yypt-3 : yypt+1]
 22816  		var yyLOCAL tree.Exprs
 22817  //line mysql_sql.y:10339
 22818  		{
 22819  			yyLOCAL = append(yyDollar[1].exprsUnion(), yyDollar[3].exprUnion())
 22820  		}
 22821  		yyVAL.union = yyLOCAL
 22822  	case 1625:
 22823  		yyDollar = yyS[yypt-3 : yypt+1]
 22824  		var yyLOCAL tree.Expr
 22825  //line mysql_sql.y:10346
 22826  		{
 22827  			yyLOCAL = tree.NewAndExpr(yyDollar[1].exprUnion(), yyDollar[3].exprUnion())
 22828  		}
 22829  		yyVAL.union = yyLOCAL
 22830  	case 1626:
 22831  		yyDollar = yyS[yypt-3 : yypt+1]
 22832  		var yyLOCAL tree.Expr
 22833  //line mysql_sql.y:10350
 22834  		{
 22835  			yyLOCAL = tree.NewOrExpr(yyDollar[1].exprUnion(), yyDollar[3].exprUnion())
 22836  		}
 22837  		yyVAL.union = yyLOCAL
 22838  	case 1627:
 22839  		yyDollar = yyS[yypt-3 : yypt+1]
 22840  		var yyLOCAL tree.Expr
 22841  //line mysql_sql.y:10354
 22842  		{
 22843  			name := tree.SetUnresolvedName(strings.ToLower("concat"))
 22844  			yyLOCAL = &tree.FuncExpr{
 22845  				Func:     tree.FuncName2ResolvableFunctionReference(name),
 22846  				FuncName: tree.NewCStrUseOrigin("concat", yylex.(*Lexer).useOrigin),
 22847  				Exprs:    tree.Exprs{yyDollar[1].exprUnion(), yyDollar[3].exprUnion()},
 22848  			}
 22849  		}
 22850  		yyVAL.union = yyLOCAL
 22851  	case 1628:
 22852  		yyDollar = yyS[yypt-3 : yypt+1]
 22853  		var yyLOCAL tree.Expr
 22854  //line mysql_sql.y:10363
 22855  		{
 22856  			yyLOCAL = tree.NewXorExpr(yyDollar[1].exprUnion(), yyDollar[3].exprUnion())
 22857  		}
 22858  		yyVAL.union = yyLOCAL
 22859  	case 1629:
 22860  		yyDollar = yyS[yypt-2 : yypt+1]
 22861  		var yyLOCAL tree.Expr
 22862  //line mysql_sql.y:10367
 22863  		{
 22864  			yyLOCAL = tree.NewNotExpr(yyDollar[2].exprUnion())
 22865  		}
 22866  		yyVAL.union = yyLOCAL
 22867  	case 1630:
 22868  		yyDollar = yyS[yypt-1 : yypt+1]
 22869  		var yyLOCAL tree.Expr
 22870  //line mysql_sql.y:10371
 22871  		{
 22872  			yyLOCAL = yyDollar[1].exprUnion()
 22873  		}
 22874  		yyVAL.union = yyLOCAL
 22875  	case 1631:
 22876  		yyDollar = yyS[yypt-1 : yypt+1]
 22877  		var yyLOCAL tree.Expr
 22878  //line mysql_sql.y:10376
 22879  		{
 22880  			yyLOCAL = yyDollar[1].exprUnion()
 22881  		}
 22882  		yyVAL.union = yyLOCAL
 22883  	case 1632:
 22884  		yyDollar = yyS[yypt-1 : yypt+1]
 22885  		var yyLOCAL tree.Expr
 22886  //line mysql_sql.y:10380
 22887  		{
 22888  			yyLOCAL = tree.NewMaxValue()
 22889  		}
 22890  		yyVAL.union = yyLOCAL
 22891  	case 1633:
 22892  		yyDollar = yyS[yypt-3 : yypt+1]
 22893  		var yyLOCAL tree.Expr
 22894  //line mysql_sql.y:10386
 22895  		{
 22896  			yyLOCAL = tree.NewIsNullExpr(yyDollar[1].exprUnion())
 22897  		}
 22898  		yyVAL.union = yyLOCAL
 22899  	case 1634:
 22900  		yyDollar = yyS[yypt-4 : yypt+1]
 22901  		var yyLOCAL tree.Expr
 22902  //line mysql_sql.y:10390
 22903  		{
 22904  			yyLOCAL = tree.NewIsNotNullExpr(yyDollar[1].exprUnion())
 22905  		}
 22906  		yyVAL.union = yyLOCAL
 22907  	case 1635:
 22908  		yyDollar = yyS[yypt-3 : yypt+1]
 22909  		var yyLOCAL tree.Expr
 22910  //line mysql_sql.y:10394
 22911  		{
 22912  			yyLOCAL = tree.NewIsUnknownExpr(yyDollar[1].exprUnion())
 22913  		}
 22914  		yyVAL.union = yyLOCAL
 22915  	case 1636:
 22916  		yyDollar = yyS[yypt-4 : yypt+1]
 22917  		var yyLOCAL tree.Expr
 22918  //line mysql_sql.y:10398
 22919  		{
 22920  			yyLOCAL = tree.NewIsNotUnknownExpr(yyDollar[1].exprUnion())
 22921  		}
 22922  		yyVAL.union = yyLOCAL
 22923  	case 1637:
 22924  		yyDollar = yyS[yypt-3 : yypt+1]
 22925  		var yyLOCAL tree.Expr
 22926  //line mysql_sql.y:10402
 22927  		{
 22928  			yyLOCAL = tree.NewIsTrueExpr(yyDollar[1].exprUnion())
 22929  		}
 22930  		yyVAL.union = yyLOCAL
 22931  	case 1638:
 22932  		yyDollar = yyS[yypt-4 : yypt+1]
 22933  		var yyLOCAL tree.Expr
 22934  //line mysql_sql.y:10406
 22935  		{
 22936  			yyLOCAL = tree.NewIsNotTrueExpr(yyDollar[1].exprUnion())
 22937  		}
 22938  		yyVAL.union = yyLOCAL
 22939  	case 1639:
 22940  		yyDollar = yyS[yypt-3 : yypt+1]
 22941  		var yyLOCAL tree.Expr
 22942  //line mysql_sql.y:10410
 22943  		{
 22944  			yyLOCAL = tree.NewIsFalseExpr(yyDollar[1].exprUnion())
 22945  		}
 22946  		yyVAL.union = yyLOCAL
 22947  	case 1640:
 22948  		yyDollar = yyS[yypt-4 : yypt+1]
 22949  		var yyLOCAL tree.Expr
 22950  //line mysql_sql.y:10414
 22951  		{
 22952  			yyLOCAL = tree.NewIsNotFalseExpr(yyDollar[1].exprUnion())
 22953  		}
 22954  		yyVAL.union = yyLOCAL
 22955  	case 1641:
 22956  		yyDollar = yyS[yypt-3 : yypt+1]
 22957  		var yyLOCAL tree.Expr
 22958  //line mysql_sql.y:10418
 22959  		{
 22960  			yyLOCAL = tree.NewComparisonExpr(yyDollar[2].comparisonOpUnion(), yyDollar[1].exprUnion(), yyDollar[3].exprUnion())
 22961  		}
 22962  		yyVAL.union = yyLOCAL
 22963  	case 1642:
 22964  		yyDollar = yyS[yypt-4 : yypt+1]
 22965  		var yyLOCAL tree.Expr
 22966  //line mysql_sql.y:10422
 22967  		{
 22968  			yyLOCAL = tree.NewSubqueryComparisonExpr(yyDollar[2].comparisonOpUnion(), yyDollar[3].comparisonOpUnion(), yyDollar[1].exprUnion(), yyDollar[4].subqueryUnion())
 22969  			yyLOCAL = tree.NewSubqueryComparisonExpr(yyDollar[2].comparisonOpUnion(), yyDollar[3].comparisonOpUnion(), yyDollar[1].exprUnion(), yyDollar[4].subqueryUnion())
 22970  		}
 22971  		yyVAL.union = yyLOCAL
 22972  	case 1644:
 22973  		yyDollar = yyS[yypt-3 : yypt+1]
 22974  		var yyLOCAL tree.Expr
 22975  //line mysql_sql.y:10430
 22976  		{
 22977  			yyLOCAL = tree.NewComparisonExpr(tree.IN, yyDollar[1].exprUnion(), yyDollar[3].exprUnion())
 22978  		}
 22979  		yyVAL.union = yyLOCAL
 22980  	case 1645:
 22981  		yyDollar = yyS[yypt-4 : yypt+1]
 22982  		var yyLOCAL tree.Expr
 22983  //line mysql_sql.y:10434
 22984  		{
 22985  			yyLOCAL = tree.NewComparisonExpr(tree.NOT_IN, yyDollar[1].exprUnion(), yyDollar[4].exprUnion())
 22986  		}
 22987  		yyVAL.union = yyLOCAL
 22988  	case 1646:
 22989  		yyDollar = yyS[yypt-4 : yypt+1]
 22990  		var yyLOCAL tree.Expr
 22991  //line mysql_sql.y:10438
 22992  		{
 22993  			yyLOCAL = tree.NewComparisonExprWithEscape(tree.LIKE, yyDollar[1].exprUnion(), yyDollar[3].exprUnion(), yyDollar[4].exprUnion())
 22994  		}
 22995  		yyVAL.union = yyLOCAL
 22996  	case 1647:
 22997  		yyDollar = yyS[yypt-5 : yypt+1]
 22998  		var yyLOCAL tree.Expr
 22999  //line mysql_sql.y:10442
 23000  		{
 23001  			yyLOCAL = tree.NewComparisonExprWithEscape(tree.NOT_LIKE, yyDollar[1].exprUnion(), yyDollar[4].exprUnion(), yyDollar[5].exprUnion())
 23002  		}
 23003  		yyVAL.union = yyLOCAL
 23004  	case 1648:
 23005  		yyDollar = yyS[yypt-4 : yypt+1]
 23006  		var yyLOCAL tree.Expr
 23007  //line mysql_sql.y:10446
 23008  		{
 23009  			yyLOCAL = tree.NewComparisonExprWithEscape(tree.ILIKE, yyDollar[1].exprUnion(), yyDollar[3].exprUnion(), yyDollar[4].exprUnion())
 23010  		}
 23011  		yyVAL.union = yyLOCAL
 23012  	case 1649:
 23013  		yyDollar = yyS[yypt-5 : yypt+1]
 23014  		var yyLOCAL tree.Expr
 23015  //line mysql_sql.y:10450
 23016  		{
 23017  			yyLOCAL = tree.NewComparisonExprWithEscape(tree.NOT_ILIKE, yyDollar[1].exprUnion(), yyDollar[4].exprUnion(), yyDollar[5].exprUnion())
 23018  		}
 23019  		yyVAL.union = yyLOCAL
 23020  	case 1650:
 23021  		yyDollar = yyS[yypt-3 : yypt+1]
 23022  		var yyLOCAL tree.Expr
 23023  //line mysql_sql.y:10454
 23024  		{
 23025  			yyLOCAL = tree.NewComparisonExpr(tree.REG_MATCH, yyDollar[1].exprUnion(), yyDollar[3].exprUnion())
 23026  		}
 23027  		yyVAL.union = yyLOCAL
 23028  	case 1651:
 23029  		yyDollar = yyS[yypt-4 : yypt+1]
 23030  		var yyLOCAL tree.Expr
 23031  //line mysql_sql.y:10458
 23032  		{
 23033  			yyLOCAL = tree.NewComparisonExpr(tree.NOT_REG_MATCH, yyDollar[1].exprUnion(), yyDollar[4].exprUnion())
 23034  		}
 23035  		yyVAL.union = yyLOCAL
 23036  	case 1652:
 23037  		yyDollar = yyS[yypt-5 : yypt+1]
 23038  		var yyLOCAL tree.Expr
 23039  //line mysql_sql.y:10462
 23040  		{
 23041  			yyLOCAL = tree.NewRangeCond(false, yyDollar[1].exprUnion(), yyDollar[3].exprUnion(), yyDollar[5].exprUnion())
 23042  		}
 23043  		yyVAL.union = yyLOCAL
 23044  	case 1653:
 23045  		yyDollar = yyS[yypt-6 : yypt+1]
 23046  		var yyLOCAL tree.Expr
 23047  //line mysql_sql.y:10466
 23048  		{
 23049  			yyLOCAL = tree.NewRangeCond(true, yyDollar[1].exprUnion(), yyDollar[4].exprUnion(), yyDollar[6].exprUnion())
 23050  		}
 23051  		yyVAL.union = yyLOCAL
 23052  	case 1655:
 23053  		yyDollar = yyS[yypt-0 : yypt+1]
 23054  		var yyLOCAL tree.Expr
 23055  //line mysql_sql.y:10472
 23056  		{
 23057  			yyLOCAL = nil
 23058  		}
 23059  		yyVAL.union = yyLOCAL
 23060  	case 1656:
 23061  		yyDollar = yyS[yypt-2 : yypt+1]
 23062  		var yyLOCAL tree.Expr
 23063  //line mysql_sql.y:10476
 23064  		{
 23065  			yyLOCAL = yyDollar[2].exprUnion()
 23066  		}
 23067  		yyVAL.union = yyLOCAL
 23068  	case 1657:
 23069  		yyDollar = yyS[yypt-1 : yypt+1]
 23070  		var yyLOCAL tree.Expr
 23071  //line mysql_sql.y:10482
 23072  		{
 23073  			yyLOCAL = yyDollar[1].tupleUnion()
 23074  		}
 23075  		yyVAL.union = yyLOCAL
 23076  	case 1658:
 23077  		yyDollar = yyS[yypt-1 : yypt+1]
 23078  		var yyLOCAL tree.Expr
 23079  //line mysql_sql.y:10486
 23080  		{
 23081  			yyLOCAL = yyDollar[1].subqueryUnion()
 23082  		}
 23083  		yyVAL.union = yyLOCAL
 23084  	case 1659:
 23085  		yyDollar = yyS[yypt-1 : yypt+1]
 23086  		var yyLOCAL tree.ComparisonOp
 23087  //line mysql_sql.y:10493
 23088  		{
 23089  			yyLOCAL = tree.ALL
 23090  		}
 23091  		yyVAL.union = yyLOCAL
 23092  	case 1660:
 23093  		yyDollar = yyS[yypt-1 : yypt+1]
 23094  		var yyLOCAL tree.ComparisonOp
 23095  //line mysql_sql.y:10497
 23096  		{
 23097  			yyLOCAL = tree.ANY
 23098  		}
 23099  		yyVAL.union = yyLOCAL
 23100  	case 1661:
 23101  		yyDollar = yyS[yypt-1 : yypt+1]
 23102  		var yyLOCAL tree.ComparisonOp
 23103  //line mysql_sql.y:10501
 23104  		{
 23105  			yyLOCAL = tree.SOME
 23106  		}
 23107  		yyVAL.union = yyLOCAL
 23108  	case 1662:
 23109  		yyDollar = yyS[yypt-1 : yypt+1]
 23110  		var yyLOCAL tree.ComparisonOp
 23111  //line mysql_sql.y:10507
 23112  		{
 23113  			yyLOCAL = tree.EQUAL
 23114  		}
 23115  		yyVAL.union = yyLOCAL
 23116  	case 1663:
 23117  		yyDollar = yyS[yypt-1 : yypt+1]
 23118  		var yyLOCAL tree.ComparisonOp
 23119  //line mysql_sql.y:10511
 23120  		{
 23121  			yyLOCAL = tree.LESS_THAN
 23122  		}
 23123  		yyVAL.union = yyLOCAL
 23124  	case 1664:
 23125  		yyDollar = yyS[yypt-1 : yypt+1]
 23126  		var yyLOCAL tree.ComparisonOp
 23127  //line mysql_sql.y:10515
 23128  		{
 23129  			yyLOCAL = tree.GREAT_THAN
 23130  		}
 23131  		yyVAL.union = yyLOCAL
 23132  	case 1665:
 23133  		yyDollar = yyS[yypt-1 : yypt+1]
 23134  		var yyLOCAL tree.ComparisonOp
 23135  //line mysql_sql.y:10519
 23136  		{
 23137  			yyLOCAL = tree.LESS_THAN_EQUAL
 23138  		}
 23139  		yyVAL.union = yyLOCAL
 23140  	case 1666:
 23141  		yyDollar = yyS[yypt-1 : yypt+1]
 23142  		var yyLOCAL tree.ComparisonOp
 23143  //line mysql_sql.y:10523
 23144  		{
 23145  			yyLOCAL = tree.GREAT_THAN_EQUAL
 23146  		}
 23147  		yyVAL.union = yyLOCAL
 23148  	case 1667:
 23149  		yyDollar = yyS[yypt-1 : yypt+1]
 23150  		var yyLOCAL tree.ComparisonOp
 23151  //line mysql_sql.y:10527
 23152  		{
 23153  			yyLOCAL = tree.NOT_EQUAL
 23154  		}
 23155  		yyVAL.union = yyLOCAL
 23156  	case 1668:
 23157  		yyDollar = yyS[yypt-1 : yypt+1]
 23158  		var yyLOCAL tree.ComparisonOp
 23159  //line mysql_sql.y:10531
 23160  		{
 23161  			yyLOCAL = tree.NULL_SAFE_EQUAL
 23162  		}
 23163  		yyVAL.union = yyLOCAL
 23164  	case 1669:
 23165  		yyDollar = yyS[yypt-2 : yypt+1]
 23166  		var yyLOCAL tree.ColumnAttribute
 23167  //line mysql_sql.y:10537
 23168  		{
 23169  			yyLOCAL = tree.NewAttributePrimaryKey()
 23170  		}
 23171  		yyVAL.union = yyLOCAL
 23172  	case 1670:
 23173  		yyDollar = yyS[yypt-2 : yypt+1]
 23174  		var yyLOCAL tree.ColumnAttribute
 23175  //line mysql_sql.y:10541
 23176  		{
 23177  			yyLOCAL = tree.NewAttributeUniqueKey()
 23178  		}
 23179  		yyVAL.union = yyLOCAL
 23180  	case 1671:
 23181  		yyDollar = yyS[yypt-1 : yypt+1]
 23182  		var yyLOCAL tree.ColumnAttribute
 23183  //line mysql_sql.y:10545
 23184  		{
 23185  			yyLOCAL = tree.NewAttributeUnique()
 23186  		}
 23187  		yyVAL.union = yyLOCAL
 23188  	case 1672:
 23189  		yyDollar = yyS[yypt-1 : yypt+1]
 23190  		var yyLOCAL tree.ColumnAttribute
 23191  //line mysql_sql.y:10549
 23192  		{
 23193  			yyLOCAL = tree.NewAttributeKey()
 23194  		}
 23195  		yyVAL.union = yyLOCAL
 23196  	case 1673:
 23197  		yyDollar = yyS[yypt-1 : yypt+1]
 23198  		var yyLOCAL tree.Expr
 23199  //line mysql_sql.y:10555
 23200  		{
 23201  			str := fmt.Sprintf("%v", yyDollar[1].item)
 23202  			switch v := yyDollar[1].item.(type) {
 23203  			case uint64:
 23204  				yyLOCAL = tree.NewNumValWithType(constant.MakeUint64(v), str, false, tree.P_uint64)
 23205  			case int64:
 23206  				yyLOCAL = tree.NewNumValWithType(constant.MakeInt64(v), str, false, tree.P_int64)
 23207  			default:
 23208  				yylex.Error("parse integral fail")
 23209  				goto ret1
 23210  			}
 23211  		}
 23212  		yyVAL.union = yyLOCAL
 23213  	case 1674:
 23214  		yyDollar = yyS[yypt-1 : yypt+1]
 23215  		var yyLOCAL tree.Expr
 23216  //line mysql_sql.y:10568
 23217  		{
 23218  			fval := yyDollar[1].item.(float64)
 23219  			yyLOCAL = tree.NewNumValWithType(constant.MakeFloat64(fval), yylex.(*Lexer).scanner.LastToken, false, tree.P_float64)
 23220  		}
 23221  		yyVAL.union = yyLOCAL
 23222  	case 1675:
 23223  		yyDollar = yyS[yypt-1 : yypt+1]
 23224  		var yyLOCAL tree.Expr
 23225  //line mysql_sql.y:10573
 23226  		{
 23227  			yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[1].str), yyDollar[1].str, false, tree.P_decimal)
 23228  		}
 23229  		yyVAL.union = yyLOCAL
 23230  	case 1676:
 23231  		yyDollar = yyS[yypt-1 : yypt+1]
 23232  		var yyLOCAL tree.Expr
 23233  //line mysql_sql.y:10579
 23234  		{
 23235  			yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[1].str), yyDollar[1].str, false, tree.P_char)
 23236  		}
 23237  		yyVAL.union = yyLOCAL
 23238  	case 1677:
 23239  		yyDollar = yyS[yypt-1 : yypt+1]
 23240  		var yyLOCAL tree.Expr
 23241  //line mysql_sql.y:10583
 23242  		{
 23243  			str := fmt.Sprintf("%v", yyDollar[1].item)
 23244  			switch v := yyDollar[1].item.(type) {
 23245  			case uint64:
 23246  				yyLOCAL = tree.NewNumValWithType(constant.MakeUint64(v), str, false, tree.P_uint64)
 23247  			case int64:
 23248  				yyLOCAL = tree.NewNumValWithType(constant.MakeInt64(v), str, false, tree.P_int64)
 23249  			default:
 23250  				yylex.Error("parse integral fail")
 23251  				goto ret1
 23252  			}
 23253  		}
 23254  		yyVAL.union = yyLOCAL
 23255  	case 1678:
 23256  		yyDollar = yyS[yypt-1 : yypt+1]
 23257  		var yyLOCAL tree.Expr
 23258  //line mysql_sql.y:10596
 23259  		{
 23260  			fval := yyDollar[1].item.(float64)
 23261  			yyLOCAL = tree.NewNumValWithType(constant.MakeFloat64(fval), yylex.(*Lexer).scanner.LastToken, false, tree.P_float64)
 23262  		}
 23263  		yyVAL.union = yyLOCAL
 23264  	case 1679:
 23265  		yyDollar = yyS[yypt-1 : yypt+1]
 23266  		var yyLOCAL tree.Expr
 23267  //line mysql_sql.y:10601
 23268  		{
 23269  			yyLOCAL = tree.NewNumValWithType(constant.MakeBool(true), "true", false, tree.P_bool)
 23270  		}
 23271  		yyVAL.union = yyLOCAL
 23272  	case 1680:
 23273  		yyDollar = yyS[yypt-1 : yypt+1]
 23274  		var yyLOCAL tree.Expr
 23275  //line mysql_sql.y:10605
 23276  		{
 23277  			yyLOCAL = tree.NewNumValWithType(constant.MakeBool(false), "false", false, tree.P_bool)
 23278  		}
 23279  		yyVAL.union = yyLOCAL
 23280  	case 1681:
 23281  		yyDollar = yyS[yypt-1 : yypt+1]
 23282  		var yyLOCAL tree.Expr
 23283  //line mysql_sql.y:10609
 23284  		{
 23285  			yyLOCAL = tree.NewNumValWithType(constant.MakeUnknown(), "null", false, tree.P_null)
 23286  		}
 23287  		yyVAL.union = yyLOCAL
 23288  	case 1682:
 23289  		yyDollar = yyS[yypt-1 : yypt+1]
 23290  		var yyLOCAL tree.Expr
 23291  //line mysql_sql.y:10613
 23292  		{
 23293  			yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[1].str), yyDollar[1].str, false, tree.P_hexnum)
 23294  		}
 23295  		yyVAL.union = yyLOCAL
 23296  	case 1683:
 23297  		yyDollar = yyS[yypt-2 : yypt+1]
 23298  		var yyLOCAL tree.Expr
 23299  //line mysql_sql.y:10617
 23300  		{
 23301  			if strings.HasPrefix(yyDollar[2].str, "0x") {
 23302  				yyDollar[2].str = yyDollar[2].str[2:]
 23303  			}
 23304  			yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_bit)
 23305  		}
 23306  		yyVAL.union = yyLOCAL
 23307  	case 1684:
 23308  		yyDollar = yyS[yypt-1 : yypt+1]
 23309  		var yyLOCAL tree.Expr
 23310  //line mysql_sql.y:10624
 23311  		{
 23312  			yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[1].str), yyDollar[1].str, false, tree.P_decimal)
 23313  		}
 23314  		yyVAL.union = yyLOCAL
 23315  	case 1685:
 23316  		yyDollar = yyS[yypt-1 : yypt+1]
 23317  		var yyLOCAL tree.Expr
 23318  //line mysql_sql.y:10628
 23319  		{
 23320  			yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[1].str), yyDollar[1].str, false, tree.P_bit)
 23321  		}
 23322  		yyVAL.union = yyLOCAL
 23323  	case 1686:
 23324  		yyDollar = yyS[yypt-1 : yypt+1]
 23325  		var yyLOCAL tree.Expr
 23326  //line mysql_sql.y:10632
 23327  		{
 23328  			yyLOCAL = tree.NewParamExpr(yylex.(*Lexer).GetParamIndex())
 23329  		}
 23330  		yyVAL.union = yyLOCAL
 23331  	case 1687:
 23332  		yyDollar = yyS[yypt-2 : yypt+1]
 23333  		var yyLOCAL tree.Expr
 23334  //line mysql_sql.y:10636
 23335  		{
 23336  			yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_ScoreBinary)
 23337  		}
 23338  		yyVAL.union = yyLOCAL
 23339  	case 1688:
 23340  		yyDollar = yyS[yypt-3 : yypt+1]
 23341  		var yyLOCAL *tree.T
 23342  //line mysql_sql.y:10643
 23343  		{
 23344  			yyLOCAL = yyDollar[1].columnTypeUnion()
 23345  			yyLOCAL.InternalType.Unsigned = yyDollar[2].unsignedOptUnion()
 23346  			yyLOCAL.InternalType.Zerofill = yyDollar[3].zeroFillOptUnion()
 23347  		}
 23348  		yyVAL.union = yyLOCAL
 23349  	case 1692:
 23350  		yyDollar = yyS[yypt-2 : yypt+1]
 23351  		var yyLOCAL *tree.T
 23352  //line mysql_sql.y:10654
 23353  		{
 23354  			yyLOCAL = yyDollar[1].columnTypeUnion()
 23355  			yyLOCAL.InternalType.DisplayWith = yyDollar[2].lengthOptUnion()
 23356  		}
 23357  		yyVAL.union = yyLOCAL
 23358  	case 1693:
 23359  		yyDollar = yyS[yypt-1 : yypt+1]
 23360  		var yyLOCAL *tree.T
 23361  //line mysql_sql.y:10659
 23362  		{
 23363  			yyLOCAL = yyDollar[1].columnTypeUnion()
 23364  		}
 23365  		yyVAL.union = yyLOCAL
 23366  	case 1694:
 23367  		yyDollar = yyS[yypt-1 : yypt+1]
 23368  		var yyLOCAL *tree.T
 23369  //line mysql_sql.y:10665
 23370  		{
 23371  			locale := ""
 23372  			yyLOCAL = &tree.T{
 23373  				InternalType: tree.InternalType{
 23374  					Family:       tree.BitFamily,
 23375  					FamilyString: yyDollar[1].str,
 23376  					Locale:       &locale,
 23377  					Oid:          uint32(defines.MYSQL_TYPE_BIT),
 23378  				},
 23379  			}
 23380  		}
 23381  		yyVAL.union = yyLOCAL
 23382  	case 1695:
 23383  		yyDollar = yyS[yypt-1 : yypt+1]
 23384  		var yyLOCAL *tree.T
 23385  //line mysql_sql.y:10677
 23386  		{
 23387  			locale := ""
 23388  			yyLOCAL = &tree.T{
 23389  				InternalType: tree.InternalType{
 23390  					Family:       tree.BoolFamily,
 23391  					FamilyString: yyDollar[1].str,
 23392  					Locale:       &locale,
 23393  					Oid:          uint32(defines.MYSQL_TYPE_BOOL),
 23394  				},
 23395  			}
 23396  		}
 23397  		yyVAL.union = yyLOCAL
 23398  	case 1696:
 23399  		yyDollar = yyS[yypt-1 : yypt+1]
 23400  		var yyLOCAL *tree.T
 23401  //line mysql_sql.y:10689
 23402  		{
 23403  			locale := ""
 23404  			yyLOCAL = &tree.T{
 23405  				InternalType: tree.InternalType{
 23406  					Family:       tree.BoolFamily,
 23407  					FamilyString: yyDollar[1].str,
 23408  					Locale:       &locale,
 23409  					Oid:          uint32(defines.MYSQL_TYPE_BOOL),
 23410  				},
 23411  			}
 23412  		}
 23413  		yyVAL.union = yyLOCAL
 23414  	case 1697:
 23415  		yyDollar = yyS[yypt-1 : yypt+1]
 23416  		var yyLOCAL *tree.T
 23417  //line mysql_sql.y:10701
 23418  		{
 23419  			locale := ""
 23420  			yyLOCAL = &tree.T{
 23421  				InternalType: tree.InternalType{
 23422  					Family:       tree.IntFamily,
 23423  					FamilyString: yyDollar[1].str,
 23424  					Width:        8,
 23425  					Locale:       &locale,
 23426  					Oid:          uint32(defines.MYSQL_TYPE_TINY),
 23427  				},
 23428  			}
 23429  		}
 23430  		yyVAL.union = yyLOCAL
 23431  	case 1698:
 23432  		yyDollar = yyS[yypt-1 : yypt+1]
 23433  		var yyLOCAL *tree.T
 23434  //line mysql_sql.y:10714
 23435  		{
 23436  			locale := ""
 23437  			yyLOCAL = &tree.T{
 23438  				InternalType: tree.InternalType{
 23439  					Family:       tree.IntFamily,
 23440  					FamilyString: yyDollar[1].str,
 23441  					Width:        8,
 23442  					Locale:       &locale,
 23443  					Oid:          uint32(defines.MYSQL_TYPE_TINY),
 23444  				},
 23445  			}
 23446  		}
 23447  		yyVAL.union = yyLOCAL
 23448  	case 1699:
 23449  		yyDollar = yyS[yypt-1 : yypt+1]
 23450  		var yyLOCAL *tree.T
 23451  //line mysql_sql.y:10727
 23452  		{
 23453  			locale := ""
 23454  			yyLOCAL = &tree.T{
 23455  				InternalType: tree.InternalType{
 23456  					Family:       tree.IntFamily,
 23457  					FamilyString: yyDollar[1].str,
 23458  					Width:        16,
 23459  					Locale:       &locale,
 23460  					Oid:          uint32(defines.MYSQL_TYPE_SHORT),
 23461  				},
 23462  			}
 23463  		}
 23464  		yyVAL.union = yyLOCAL
 23465  	case 1700:
 23466  		yyDollar = yyS[yypt-1 : yypt+1]
 23467  		var yyLOCAL *tree.T
 23468  //line mysql_sql.y:10740
 23469  		{
 23470  			locale := ""
 23471  			yyLOCAL = &tree.T{
 23472  				InternalType: tree.InternalType{
 23473  					Family:       tree.IntFamily,
 23474  					FamilyString: yyDollar[1].str,
 23475  					Width:        16,
 23476  					Locale:       &locale,
 23477  					Oid:          uint32(defines.MYSQL_TYPE_SHORT),
 23478  				},
 23479  			}
 23480  		}
 23481  		yyVAL.union = yyLOCAL
 23482  	case 1701:
 23483  		yyDollar = yyS[yypt-1 : yypt+1]
 23484  		var yyLOCAL *tree.T
 23485  //line mysql_sql.y:10753
 23486  		{
 23487  			locale := ""
 23488  			yyLOCAL = &tree.T{
 23489  				InternalType: tree.InternalType{
 23490  					Family:       tree.IntFamily,
 23491  					FamilyString: yyDollar[1].str,
 23492  					Width:        24,
 23493  					Locale:       &locale,
 23494  					Oid:          uint32(defines.MYSQL_TYPE_INT24),
 23495  				},
 23496  			}
 23497  		}
 23498  		yyVAL.union = yyLOCAL
 23499  	case 1702:
 23500  		yyDollar = yyS[yypt-1 : yypt+1]
 23501  		var yyLOCAL *tree.T
 23502  //line mysql_sql.y:10766
 23503  		{
 23504  			locale := ""
 23505  			yyLOCAL = &tree.T{
 23506  				InternalType: tree.InternalType{
 23507  					Family:       tree.IntFamily,
 23508  					FamilyString: yyDollar[1].str,
 23509  					Width:        24,
 23510  					Locale:       &locale,
 23511  					Oid:          uint32(defines.MYSQL_TYPE_INT24),
 23512  				},
 23513  			}
 23514  		}
 23515  		yyVAL.union = yyLOCAL
 23516  	case 1703:
 23517  		yyDollar = yyS[yypt-1 : yypt+1]
 23518  		var yyLOCAL *tree.T
 23519  //line mysql_sql.y:10779
 23520  		{
 23521  			locale := ""
 23522  			yyLOCAL = &tree.T{
 23523  				InternalType: tree.InternalType{
 23524  					Family:       tree.IntFamily,
 23525  					FamilyString: yyDollar[1].str,
 23526  					Width:        32,
 23527  					Locale:       &locale,
 23528  					Oid:          uint32(defines.MYSQL_TYPE_LONG),
 23529  				},
 23530  			}
 23531  		}
 23532  		yyVAL.union = yyLOCAL
 23533  	case 1704:
 23534  		yyDollar = yyS[yypt-1 : yypt+1]
 23535  		var yyLOCAL *tree.T
 23536  //line mysql_sql.y:10792
 23537  		{
 23538  			locale := ""
 23539  			yyLOCAL = &tree.T{
 23540  				InternalType: tree.InternalType{
 23541  					Family:       tree.IntFamily,
 23542  					FamilyString: yyDollar[1].str,
 23543  					Width:        32,
 23544  					Locale:       &locale,
 23545  					Oid:          uint32(defines.MYSQL_TYPE_LONG),
 23546  				},
 23547  			}
 23548  		}
 23549  		yyVAL.union = yyLOCAL
 23550  	case 1705:
 23551  		yyDollar = yyS[yypt-1 : yypt+1]
 23552  		var yyLOCAL *tree.T
 23553  //line mysql_sql.y:10805
 23554  		{
 23555  			locale := ""
 23556  			yyLOCAL = &tree.T{
 23557  				InternalType: tree.InternalType{
 23558  					Family:       tree.IntFamily,
 23559  					FamilyString: yyDollar[1].str,
 23560  					Width:        32,
 23561  					Locale:       &locale,
 23562  					Oid:          uint32(defines.MYSQL_TYPE_LONG),
 23563  				},
 23564  			}
 23565  		}
 23566  		yyVAL.union = yyLOCAL
 23567  	case 1706:
 23568  		yyDollar = yyS[yypt-1 : yypt+1]
 23569  		var yyLOCAL *tree.T
 23570  //line mysql_sql.y:10818
 23571  		{
 23572  			locale := ""
 23573  			yyLOCAL = &tree.T{
 23574  				InternalType: tree.InternalType{
 23575  					Family:       tree.IntFamily,
 23576  					FamilyString: yyDollar[1].str,
 23577  					Width:        64,
 23578  					Locale:       &locale,
 23579  					Oid:          uint32(defines.MYSQL_TYPE_LONGLONG),
 23580  				},
 23581  			}
 23582  		}
 23583  		yyVAL.union = yyLOCAL
 23584  	case 1707:
 23585  		yyDollar = yyS[yypt-1 : yypt+1]
 23586  		var yyLOCAL *tree.T
 23587  //line mysql_sql.y:10831
 23588  		{
 23589  			locale := ""
 23590  			yyLOCAL = &tree.T{
 23591  				InternalType: tree.InternalType{
 23592  					Family:       tree.IntFamily,
 23593  					FamilyString: yyDollar[1].str,
 23594  					Width:        64,
 23595  					Locale:       &locale,
 23596  					Oid:          uint32(defines.MYSQL_TYPE_LONGLONG),
 23597  				},
 23598  			}
 23599  		}
 23600  		yyVAL.union = yyLOCAL
 23601  	case 1708:
 23602  		yyDollar = yyS[yypt-2 : yypt+1]
 23603  		var yyLOCAL *tree.T
 23604  //line mysql_sql.y:10846
 23605  		{
 23606  			locale := ""
 23607  			if yyDollar[2].lengthScaleOptUnion().DisplayWith > 255 {
 23608  				yylex.Error("Display width for double out of range (max = 255)")
 23609  				goto ret1
 23610  			}
 23611  			if yyDollar[2].lengthScaleOptUnion().Scale > 30 {
 23612  				yylex.Error("Display scale for double out of range (max = 30)")
 23613  				goto ret1
 23614  			}
 23615  			if yyDollar[2].lengthScaleOptUnion().Scale != tree.NotDefineDec && yyDollar[2].lengthScaleOptUnion().Scale > yyDollar[2].lengthScaleOptUnion().DisplayWith {
 23616  				yylex.Error("For float(M,D), double(M,D) or decimal(M,D), M must be >= D (column 'a'))")
 23617  				goto ret1
 23618  			}
 23619  			yyLOCAL = &tree.T{
 23620  				InternalType: tree.InternalType{
 23621  					Family:       tree.FloatFamily,
 23622  					FamilyString: yyDollar[1].str,
 23623  					Width:        64,
 23624  					Locale:       &locale,
 23625  					Oid:          uint32(defines.MYSQL_TYPE_DOUBLE),
 23626  					DisplayWith:  yyDollar[2].lengthScaleOptUnion().DisplayWith,
 23627  					Scale:        yyDollar[2].lengthScaleOptUnion().Scale,
 23628  				},
 23629  			}
 23630  		}
 23631  		yyVAL.union = yyLOCAL
 23632  	case 1709:
 23633  		yyDollar = yyS[yypt-2 : yypt+1]
 23634  		var yyLOCAL *tree.T
 23635  //line mysql_sql.y:10873
 23636  		{
 23637  			locale := ""
 23638  			if yyDollar[2].lengthScaleOptUnion().DisplayWith > 255 {
 23639  				yylex.Error("Display width for float out of range (max = 255)")
 23640  				goto ret1
 23641  			}
 23642  			if yyDollar[2].lengthScaleOptUnion().Scale > 30 {
 23643  				yylex.Error("Display scale for float out of range (max = 30)")
 23644  				goto ret1
 23645  			}
 23646  			if yyDollar[2].lengthScaleOptUnion().Scale != tree.NotDefineDec && yyDollar[2].lengthScaleOptUnion().Scale > yyDollar[2].lengthScaleOptUnion().DisplayWith {
 23647  				yylex.Error("For float(M,D), double(M,D) or decimal(M,D), M must be >= D (column 'a'))")
 23648  				goto ret1
 23649  			}
 23650  			if yyDollar[2].lengthScaleOptUnion().DisplayWith >= 24 {
 23651  				yyLOCAL = &tree.T{
 23652  					InternalType: tree.InternalType{
 23653  						Family:       tree.FloatFamily,
 23654  						FamilyString: yyDollar[1].str,
 23655  						Width:        64,
 23656  						Locale:       &locale,
 23657  						Oid:          uint32(defines.MYSQL_TYPE_DOUBLE),
 23658  						DisplayWith:  yyDollar[2].lengthScaleOptUnion().DisplayWith,
 23659  						Scale:        yyDollar[2].lengthScaleOptUnion().Scale,
 23660  					},
 23661  				}
 23662  			} else {
 23663  				yyLOCAL = &tree.T{
 23664  					InternalType: tree.InternalType{
 23665  						Family:       tree.FloatFamily,
 23666  						FamilyString: yyDollar[1].str,
 23667  						Width:        32,
 23668  						Locale:       &locale,
 23669  						Oid:          uint32(defines.MYSQL_TYPE_FLOAT),
 23670  						DisplayWith:  yyDollar[2].lengthScaleOptUnion().DisplayWith,
 23671  						Scale:        yyDollar[2].lengthScaleOptUnion().Scale,
 23672  					},
 23673  				}
 23674  			}
 23675  		}
 23676  		yyVAL.union = yyLOCAL
 23677  	case 1710:
 23678  		yyDollar = yyS[yypt-2 : yypt+1]
 23679  		var yyLOCAL *tree.T
 23680  //line mysql_sql.y:10915
 23681  		{
 23682  			locale := ""
 23683  			if yyDollar[2].lengthScaleOptUnion().Scale != tree.NotDefineDec && yyDollar[2].lengthScaleOptUnion().Scale > yyDollar[2].lengthScaleOptUnion().DisplayWith {
 23684  				yylex.Error("For float(M,D), double(M,D) or decimal(M,D), M must be >= D (column 'a'))")
 23685  				goto ret1
 23686  			}
 23687  			if yyDollar[2].lengthScaleOptUnion().DisplayWith > 38 || yyDollar[2].lengthScaleOptUnion().DisplayWith < 0 {
 23688  				yylex.Error("For decimal(M), M must between 0 and 38.")
 23689  				goto ret1
 23690  			} else if yyDollar[2].lengthScaleOptUnion().DisplayWith <= 16 {
 23691  				yyLOCAL = &tree.T{
 23692  					InternalType: tree.InternalType{
 23693  						Family:       tree.FloatFamily,
 23694  						FamilyString: yyDollar[1].str,
 23695  						Width:        64,
 23696  						Locale:       &locale,
 23697  						Oid:          uint32(defines.MYSQL_TYPE_DECIMAL),
 23698  						DisplayWith:  yyDollar[2].lengthScaleOptUnion().DisplayWith,
 23699  						Scale:        yyDollar[2].lengthScaleOptUnion().Scale,
 23700  					},
 23701  				}
 23702  			} else {
 23703  				yyLOCAL = &tree.T{
 23704  					InternalType: tree.InternalType{
 23705  						Family:       tree.FloatFamily,
 23706  						FamilyString: yyDollar[1].str,
 23707  						Width:        128,
 23708  						Locale:       &locale,
 23709  						Oid:          uint32(defines.MYSQL_TYPE_DECIMAL),
 23710  						DisplayWith:  yyDollar[2].lengthScaleOptUnion().DisplayWith,
 23711  						Scale:        yyDollar[2].lengthScaleOptUnion().Scale,
 23712  					},
 23713  				}
 23714  			}
 23715  		}
 23716  		yyVAL.union = yyLOCAL
 23717  	case 1711:
 23718  		yyDollar = yyS[yypt-2 : yypt+1]
 23719  		var yyLOCAL *tree.T
 23720  //line mysql_sql.y:10951
 23721  		{
 23722  			locale := ""
 23723  			if yyDollar[2].lengthScaleOptUnion().Scale != tree.NotDefineDec && yyDollar[2].lengthScaleOptUnion().Scale > yyDollar[2].lengthScaleOptUnion().DisplayWith {
 23724  				yylex.Error("For float(M,D), double(M,D) or decimal(M,D), M must be >= D (column 'a'))")
 23725  				goto ret1
 23726  			}
 23727  			if yyDollar[2].lengthScaleOptUnion().DisplayWith > 38 || yyDollar[2].lengthScaleOptUnion().DisplayWith < 0 {
 23728  				yylex.Error("For decimal(M), M must between 0 and 38.")
 23729  				goto ret1
 23730  			} else if yyDollar[2].lengthScaleOptUnion().DisplayWith <= 16 {
 23731  				yyLOCAL = &tree.T{
 23732  					InternalType: tree.InternalType{
 23733  						Family:       tree.FloatFamily,
 23734  						FamilyString: yyDollar[1].str,
 23735  						Width:        64,
 23736  						Locale:       &locale,
 23737  						Oid:          uint32(defines.MYSQL_TYPE_DECIMAL),
 23738  						DisplayWith:  yyDollar[2].lengthScaleOptUnion().DisplayWith,
 23739  						Scale:        yyDollar[2].lengthScaleOptUnion().Scale,
 23740  					},
 23741  				}
 23742  			} else {
 23743  				yyLOCAL = &tree.T{
 23744  					InternalType: tree.InternalType{
 23745  						Family:       tree.FloatFamily,
 23746  						FamilyString: yyDollar[1].str,
 23747  						Width:        128,
 23748  						Locale:       &locale,
 23749  						Oid:          uint32(defines.MYSQL_TYPE_DECIMAL),
 23750  						DisplayWith:  yyDollar[2].lengthScaleOptUnion().DisplayWith,
 23751  						Scale:        yyDollar[2].lengthScaleOptUnion().Scale,
 23752  					},
 23753  				}
 23754  			}
 23755  		}
 23756  		yyVAL.union = yyLOCAL
 23757  	case 1712:
 23758  		yyDollar = yyS[yypt-2 : yypt+1]
 23759  		var yyLOCAL *tree.T
 23760  //line mysql_sql.y:10987
 23761  		{
 23762  			locale := ""
 23763  			yyLOCAL = &tree.T{
 23764  				InternalType: tree.InternalType{
 23765  					Family:       tree.FloatFamily,
 23766  					FamilyString: yyDollar[1].str,
 23767  					Width:        64,
 23768  					Locale:       &locale,
 23769  					Oid:          uint32(defines.MYSQL_TYPE_DOUBLE),
 23770  					DisplayWith:  yyDollar[2].lengthScaleOptUnion().DisplayWith,
 23771  					Scale:        yyDollar[2].lengthScaleOptUnion().Scale,
 23772  				},
 23773  			}
 23774  		}
 23775  		yyVAL.union = yyLOCAL
 23776  	case 1713:
 23777  		yyDollar = yyS[yypt-1 : yypt+1]
 23778  		var yyLOCAL *tree.T
 23779  //line mysql_sql.y:11004
 23780  		{
 23781  			locale := ""
 23782  			yyLOCAL = &tree.T{
 23783  				InternalType: tree.InternalType{
 23784  					Family:       tree.DateFamily,
 23785  					FamilyString: yyDollar[1].str,
 23786  					Locale:       &locale,
 23787  					Oid:          uint32(defines.MYSQL_TYPE_DATE),
 23788  				},
 23789  			}
 23790  		}
 23791  		yyVAL.union = yyLOCAL
 23792  	case 1714:
 23793  		yyDollar = yyS[yypt-2 : yypt+1]
 23794  		var yyLOCAL *tree.T
 23795  //line mysql_sql.y:11016
 23796  		{
 23797  			locale := ""
 23798  			if yyDollar[2].lengthOptUnion() < 0 || yyDollar[2].lengthOptUnion() > 6 {
 23799  				yylex.Error("For Time(fsp), fsp must in [0, 6]")
 23800  				goto ret1
 23801  			} else {
 23802  				yyLOCAL = &tree.T{
 23803  					InternalType: tree.InternalType{
 23804  						Family:             tree.TimeFamily,
 23805  						Scale:              yyDollar[2].lengthOptUnion(),
 23806  						FamilyString:       yyDollar[1].str,
 23807  						DisplayWith:        yyDollar[2].lengthOptUnion(),
 23808  						TimePrecisionIsSet: true,
 23809  						Locale:             &locale,
 23810  						Oid:                uint32(defines.MYSQL_TYPE_TIME),
 23811  					},
 23812  				}
 23813  			}
 23814  		}
 23815  		yyVAL.union = yyLOCAL
 23816  	case 1715:
 23817  		yyDollar = yyS[yypt-2 : yypt+1]
 23818  		var yyLOCAL *tree.T
 23819  //line mysql_sql.y:11036
 23820  		{
 23821  			locale := ""
 23822  			if yyDollar[2].lengthOptUnion() < 0 || yyDollar[2].lengthOptUnion() > 6 {
 23823  				yylex.Error("For Timestamp(fsp), fsp must in [0, 6]")
 23824  				goto ret1
 23825  			} else {
 23826  				yyLOCAL = &tree.T{
 23827  					InternalType: tree.InternalType{
 23828  						Family:             tree.TimestampFamily,
 23829  						Scale:              yyDollar[2].lengthOptUnion(),
 23830  						FamilyString:       yyDollar[1].str,
 23831  						DisplayWith:        yyDollar[2].lengthOptUnion(),
 23832  						TimePrecisionIsSet: true,
 23833  						Locale:             &locale,
 23834  						Oid:                uint32(defines.MYSQL_TYPE_TIMESTAMP),
 23835  					},
 23836  				}
 23837  			}
 23838  		}
 23839  		yyVAL.union = yyLOCAL
 23840  	case 1716:
 23841  		yyDollar = yyS[yypt-2 : yypt+1]
 23842  		var yyLOCAL *tree.T
 23843  //line mysql_sql.y:11056
 23844  		{
 23845  			locale := ""
 23846  			if yyDollar[2].lengthOptUnion() < 0 || yyDollar[2].lengthOptUnion() > 6 {
 23847  				yylex.Error("For Datetime(fsp), fsp must in [0, 6]")
 23848  				goto ret1
 23849  			} else {
 23850  				yyLOCAL = &tree.T{
 23851  					InternalType: tree.InternalType{
 23852  						Family:             tree.TimestampFamily,
 23853  						Scale:              yyDollar[2].lengthOptUnion(),
 23854  						FamilyString:       yyDollar[1].str,
 23855  						DisplayWith:        yyDollar[2].lengthOptUnion(),
 23856  						TimePrecisionIsSet: true,
 23857  						Locale:             &locale,
 23858  						Oid:                uint32(defines.MYSQL_TYPE_DATETIME),
 23859  					},
 23860  				}
 23861  			}
 23862  		}
 23863  		yyVAL.union = yyLOCAL
 23864  	case 1717:
 23865  		yyDollar = yyS[yypt-2 : yypt+1]
 23866  		var yyLOCAL *tree.T
 23867  //line mysql_sql.y:11076
 23868  		{
 23869  			locale := ""
 23870  			yyLOCAL = &tree.T{
 23871  				InternalType: tree.InternalType{
 23872  					Family:       tree.IntFamily,
 23873  					FamilyString: yyDollar[1].str,
 23874  					DisplayWith:  yyDollar[2].lengthOptUnion(),
 23875  					Width:        16,
 23876  					Locale:       &locale,
 23877  					Oid:          uint32(defines.MYSQL_TYPE_YEAR),
 23878  				},
 23879  			}
 23880  		}
 23881  		yyVAL.union = yyLOCAL
 23882  	case 1718:
 23883  		yyDollar = yyS[yypt-2 : yypt+1]
 23884  		var yyLOCAL *tree.T
 23885  //line mysql_sql.y:11092
 23886  		{
 23887  			locale := ""
 23888  			yyLOCAL = &tree.T{
 23889  				InternalType: tree.InternalType{
 23890  					Family:       tree.StringFamily,
 23891  					FamilyString: yyDollar[1].str,
 23892  					Locale:       &locale,
 23893  					Oid:          uint32(defines.MYSQL_TYPE_STRING),
 23894  					DisplayWith:  yyDollar[2].lengthOptUnion(),
 23895  				},
 23896  			}
 23897  		}
 23898  		yyVAL.union = yyLOCAL
 23899  	case 1719:
 23900  		yyDollar = yyS[yypt-2 : yypt+1]
 23901  		var yyLOCAL *tree.T
 23902  //line mysql_sql.y:11105
 23903  		{
 23904  			locale := ""
 23905  			yyLOCAL = &tree.T{
 23906  				InternalType: tree.InternalType{
 23907  					Family:       tree.StringFamily,
 23908  					Locale:       &locale,
 23909  					FamilyString: yyDollar[1].str,
 23910  					DisplayWith:  yyDollar[2].lengthOptUnion(),
 23911  					Oid:          uint32(defines.MYSQL_TYPE_VARCHAR),
 23912  				},
 23913  			}
 23914  		}
 23915  		yyVAL.union = yyLOCAL
 23916  	case 1720:
 23917  		yyDollar = yyS[yypt-2 : yypt+1]
 23918  		var yyLOCAL *tree.T
 23919  //line mysql_sql.y:11118
 23920  		{
 23921  			locale := ""
 23922  			yyLOCAL = &tree.T{
 23923  				InternalType: tree.InternalType{
 23924  					Family:       tree.StringFamily,
 23925  					FamilyString: yyDollar[1].str,
 23926  					Locale:       &locale,
 23927  					Oid:          uint32(defines.MYSQL_TYPE_VARCHAR),
 23928  					DisplayWith:  yyDollar[2].lengthOptUnion(),
 23929  				},
 23930  			}
 23931  		}
 23932  		yyVAL.union = yyLOCAL
 23933  	case 1721:
 23934  		yyDollar = yyS[yypt-2 : yypt+1]
 23935  		var yyLOCAL *tree.T
 23936  //line mysql_sql.y:11131
 23937  		{
 23938  			locale := ""
 23939  			yyLOCAL = &tree.T{
 23940  				InternalType: tree.InternalType{
 23941  					Family:       tree.StringFamily,
 23942  					Locale:       &locale,
 23943  					FamilyString: yyDollar[1].str,
 23944  					DisplayWith:  yyDollar[2].lengthOptUnion(),
 23945  					Oid:          uint32(defines.MYSQL_TYPE_VARCHAR),
 23946  				},
 23947  			}
 23948  		}
 23949  		yyVAL.union = yyLOCAL
 23950  	case 1722:
 23951  		yyDollar = yyS[yypt-1 : yypt+1]
 23952  		var yyLOCAL *tree.T
 23953  //line mysql_sql.y:11144
 23954  		{
 23955  			locale := ""
 23956  			yyLOCAL = &tree.T{
 23957  				InternalType: tree.InternalType{
 23958  					Family:       tree.BlobFamily,
 23959  					FamilyString: yyDollar[1].str,
 23960  					Locale:       &locale,
 23961  					Oid:          uint32(defines.MYSQL_TYPE_TEXT),
 23962  				},
 23963  			}
 23964  		}
 23965  		yyVAL.union = yyLOCAL
 23966  	case 1723:
 23967  		yyDollar = yyS[yypt-1 : yypt+1]
 23968  		var yyLOCAL *tree.T
 23969  //line mysql_sql.y:11156
 23970  		{
 23971  			locale := ""
 23972  			yyLOCAL = &tree.T{
 23973  				InternalType: tree.InternalType{
 23974  					Family:       tree.BlobFamily,
 23975  					FamilyString: yyDollar[1].str,
 23976  					Locale:       &locale,
 23977  					Oid:          uint32(defines.MYSQL_TYPE_TEXT),
 23978  				},
 23979  			}
 23980  		}
 23981  		yyVAL.union = yyLOCAL
 23982  	case 1724:
 23983  		yyDollar = yyS[yypt-1 : yypt+1]
 23984  		var yyLOCAL *tree.T
 23985  //line mysql_sql.y:11168
 23986  		{
 23987  			locale := ""
 23988  			yyLOCAL = &tree.T{
 23989  				InternalType: tree.InternalType{
 23990  					Family:       tree.BlobFamily,
 23991  					FamilyString: yyDollar[1].str,
 23992  					Locale:       &locale,
 23993  					Oid:          uint32(defines.MYSQL_TYPE_TEXT),
 23994  				},
 23995  			}
 23996  		}
 23997  		yyVAL.union = yyLOCAL
 23998  	case 1725:
 23999  		yyDollar = yyS[yypt-1 : yypt+1]
 24000  		var yyLOCAL *tree.T
 24001  //line mysql_sql.y:11180
 24002  		{
 24003  			locale := ""
 24004  			yyLOCAL = &tree.T{
 24005  				InternalType: tree.InternalType{
 24006  					Family:       tree.BlobFamily,
 24007  					FamilyString: yyDollar[1].str,
 24008  					Locale:       &locale,
 24009  					Oid:          uint32(defines.MYSQL_TYPE_TEXT),
 24010  				},
 24011  			}
 24012  		}
 24013  		yyVAL.union = yyLOCAL
 24014  	case 1726:
 24015  		yyDollar = yyS[yypt-1 : yypt+1]
 24016  		var yyLOCAL *tree.T
 24017  //line mysql_sql.y:11192
 24018  		{
 24019  			locale := ""
 24020  			yyLOCAL = &tree.T{
 24021  				InternalType: tree.InternalType{
 24022  					Family:       tree.BlobFamily,
 24023  					FamilyString: yyDollar[1].str,
 24024  					Locale:       &locale,
 24025  					Oid:          uint32(defines.MYSQL_TYPE_BLOB),
 24026  				},
 24027  			}
 24028  		}
 24029  		yyVAL.union = yyLOCAL
 24030  	case 1727:
 24031  		yyDollar = yyS[yypt-1 : yypt+1]
 24032  		var yyLOCAL *tree.T
 24033  //line mysql_sql.y:11204
 24034  		{
 24035  			locale := ""
 24036  			yyLOCAL = &tree.T{
 24037  				InternalType: tree.InternalType{
 24038  					Family:       tree.BlobFamily,
 24039  					FamilyString: yyDollar[1].str,
 24040  					Locale:       &locale,
 24041  					Oid:          uint32(defines.MYSQL_TYPE_TINY_BLOB),
 24042  				},
 24043  			}
 24044  		}
 24045  		yyVAL.union = yyLOCAL
 24046  	case 1728:
 24047  		yyDollar = yyS[yypt-1 : yypt+1]
 24048  		var yyLOCAL *tree.T
 24049  //line mysql_sql.y:11216
 24050  		{
 24051  			locale := ""
 24052  			yyLOCAL = &tree.T{
 24053  				InternalType: tree.InternalType{
 24054  					Family:       tree.BlobFamily,
 24055  					FamilyString: yyDollar[1].str,
 24056  					Locale:       &locale,
 24057  					Oid:          uint32(defines.MYSQL_TYPE_MEDIUM_BLOB),
 24058  				},
 24059  			}
 24060  		}
 24061  		yyVAL.union = yyLOCAL
 24062  	case 1729:
 24063  		yyDollar = yyS[yypt-1 : yypt+1]
 24064  		var yyLOCAL *tree.T
 24065  //line mysql_sql.y:11228
 24066  		{
 24067  			locale := ""
 24068  			yyLOCAL = &tree.T{
 24069  				InternalType: tree.InternalType{
 24070  					Family:       tree.BlobFamily,
 24071  					FamilyString: yyDollar[1].str,
 24072  					Locale:       &locale,
 24073  					Oid:          uint32(defines.MYSQL_TYPE_LONG_BLOB),
 24074  				},
 24075  			}
 24076  		}
 24077  		yyVAL.union = yyLOCAL
 24078  	case 1730:
 24079  		yyDollar = yyS[yypt-1 : yypt+1]
 24080  		var yyLOCAL *tree.T
 24081  //line mysql_sql.y:11240
 24082  		{
 24083  			locale := ""
 24084  			yyLOCAL = &tree.T{
 24085  				InternalType: tree.InternalType{
 24086  					Family:       tree.JsonFamily,
 24087  					FamilyString: yyDollar[1].str,
 24088  					Locale:       &locale,
 24089  					Oid:          uint32(defines.MYSQL_TYPE_JSON),
 24090  				},
 24091  			}
 24092  		}
 24093  		yyVAL.union = yyLOCAL
 24094  	case 1731:
 24095  		yyDollar = yyS[yypt-2 : yypt+1]
 24096  		var yyLOCAL *tree.T
 24097  //line mysql_sql.y:11252
 24098  		{
 24099  			locale := ""
 24100  			yyLOCAL = &tree.T{
 24101  				InternalType: tree.InternalType{
 24102  					Family:       tree.ArrayFamily,
 24103  					Locale:       &locale,
 24104  					FamilyString: yyDollar[1].str,
 24105  					DisplayWith:  yyDollar[2].lengthOptUnion(),
 24106  					Oid:          uint32(defines.MYSQL_TYPE_VARCHAR),
 24107  				},
 24108  			}
 24109  		}
 24110  		yyVAL.union = yyLOCAL
 24111  	case 1732:
 24112  		yyDollar = yyS[yypt-2 : yypt+1]
 24113  		var yyLOCAL *tree.T
 24114  //line mysql_sql.y:11265
 24115  		{
 24116  			locale := ""
 24117  			yyLOCAL = &tree.T{
 24118  				InternalType: tree.InternalType{
 24119  					Family:       tree.ArrayFamily,
 24120  					Locale:       &locale,
 24121  					FamilyString: yyDollar[1].str,
 24122  					DisplayWith:  yyDollar[2].lengthOptUnion(),
 24123  					Oid:          uint32(defines.MYSQL_TYPE_VARCHAR),
 24124  				},
 24125  			}
 24126  		}
 24127  		yyVAL.union = yyLOCAL
 24128  	case 1733:
 24129  		yyDollar = yyS[yypt-4 : yypt+1]
 24130  		var yyLOCAL *tree.T
 24131  //line mysql_sql.y:11278
 24132  		{
 24133  			locale := ""
 24134  			yyLOCAL = &tree.T{
 24135  				InternalType: tree.InternalType{
 24136  					Family:       tree.EnumFamily,
 24137  					FamilyString: yyDollar[1].str,
 24138  					Locale:       &locale,
 24139  					Oid:          uint32(defines.MYSQL_TYPE_ENUM),
 24140  					EnumValues:   yyDollar[3].strsUnion(),
 24141  				},
 24142  			}
 24143  		}
 24144  		yyVAL.union = yyLOCAL
 24145  	case 1734:
 24146  		yyDollar = yyS[yypt-4 : yypt+1]
 24147  		var yyLOCAL *tree.T
 24148  //line mysql_sql.y:11291
 24149  		{
 24150  			locale := ""
 24151  			yyLOCAL = &tree.T{
 24152  				InternalType: tree.InternalType{
 24153  					Family:       tree.SetFamily,
 24154  					FamilyString: yyDollar[1].str,
 24155  					Locale:       &locale,
 24156  					Oid:          uint32(defines.MYSQL_TYPE_SET),
 24157  					EnumValues:   yyDollar[3].strsUnion(),
 24158  				},
 24159  			}
 24160  		}
 24161  		yyVAL.union = yyLOCAL
 24162  	case 1735:
 24163  		yyDollar = yyS[yypt-1 : yypt+1]
 24164  		var yyLOCAL *tree.T
 24165  //line mysql_sql.y:11304
 24166  		{
 24167  			locale := ""
 24168  			yyLOCAL = &tree.T{
 24169  				InternalType: tree.InternalType{
 24170  					Family:       tree.UuidFamily,
 24171  					FamilyString: yyDollar[1].str,
 24172  					Width:        128,
 24173  					Locale:       &locale,
 24174  					Oid:          uint32(defines.MYSQL_TYPE_UUID),
 24175  				},
 24176  			}
 24177  		}
 24178  		yyVAL.union = yyLOCAL
 24179  	case 1736:
 24180  		yyDollar = yyS[yypt-2 : yypt+1]
 24181  		var yyLOCAL tree.Statement
 24182  //line mysql_sql.y:11319
 24183  		{
 24184  			yyLOCAL = &tree.Do{
 24185  				Exprs: yyDollar[2].exprsUnion(),
 24186  			}
 24187  		}
 24188  		yyVAL.union = yyLOCAL
 24189  	case 1737:
 24190  		yyDollar = yyS[yypt-3 : yypt+1]
 24191  		var yyLOCAL tree.Statement
 24192  //line mysql_sql.y:11327
 24193  		{
 24194  			yyLOCAL = &tree.Declare{
 24195  				Variables:  yyDollar[2].strsUnion(),
 24196  				ColumnType: yyDollar[3].columnTypeUnion(),
 24197  				DefaultVal: tree.NewNumValWithType(constant.MakeUnknown(), "null", false, tree.P_null),
 24198  			}
 24199  		}
 24200  		yyVAL.union = yyLOCAL
 24201  	case 1738:
 24202  		yyDollar = yyS[yypt-5 : yypt+1]
 24203  		var yyLOCAL tree.Statement
 24204  //line mysql_sql.y:11336
 24205  		{
 24206  			yyLOCAL = &tree.Declare{
 24207  				Variables:  yyDollar[2].strsUnion(),
 24208  				ColumnType: yyDollar[3].columnTypeUnion(),
 24209  				DefaultVal: yyDollar[5].exprUnion(),
 24210  			}
 24211  		}
 24212  		yyVAL.union = yyLOCAL
 24213  	case 1739:
 24214  		yyDollar = yyS[yypt-1 : yypt+1]
 24215  		var yyLOCAL *tree.T
 24216  //line mysql_sql.y:11346
 24217  		{
 24218  			locale := ""
 24219  			yyLOCAL = &tree.T{
 24220  				InternalType: tree.InternalType{
 24221  					Family:       tree.GeometryFamily,
 24222  					FamilyString: yyDollar[1].str,
 24223  					Locale:       &locale,
 24224  					Oid:          uint32(defines.MYSQL_TYPE_GEOMETRY),
 24225  				},
 24226  			}
 24227  		}
 24228  		yyVAL.union = yyLOCAL
 24229  	case 1740:
 24230  		yyDollar = yyS[yypt-1 : yypt+1]
 24231  		var yyLOCAL []string
 24232  //line mysql_sql.y:11369
 24233  		{
 24234  			yyLOCAL = make([]string, 0, 4)
 24235  			yyLOCAL = append(yyLOCAL, yyDollar[1].str)
 24236  		}
 24237  		yyVAL.union = yyLOCAL
 24238  	case 1741:
 24239  		yyDollar = yyS[yypt-3 : yypt+1]
 24240  		var yyLOCAL []string
 24241  //line mysql_sql.y:11374
 24242  		{
 24243  			yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].str)
 24244  		}
 24245  		yyVAL.union = yyLOCAL
 24246  	case 1742:
 24247  		yyDollar = yyS[yypt-0 : yypt+1]
 24248  		var yyLOCAL int32
 24249  //line mysql_sql.y:11380
 24250  		{
 24251  			yyLOCAL = 0
 24252  		}
 24253  		yyVAL.union = yyLOCAL
 24254  	case 1744:
 24255  		yyDollar = yyS[yypt-0 : yypt+1]
 24256  		var yyLOCAL int32
 24257  //line mysql_sql.y:11387
 24258  		{
 24259  			yyLOCAL = 0
 24260  		}
 24261  		yyVAL.union = yyLOCAL
 24262  	case 1745:
 24263  		yyDollar = yyS[yypt-3 : yypt+1]
 24264  		var yyLOCAL int32
 24265  //line mysql_sql.y:11391
 24266  		{
 24267  			yyLOCAL = int32(yyDollar[2].item.(int64))
 24268  		}
 24269  		yyVAL.union = yyLOCAL
 24270  	case 1746:
 24271  		yyDollar = yyS[yypt-0 : yypt+1]
 24272  		var yyLOCAL int32
 24273  //line mysql_sql.y:11396
 24274  		{
 24275  			yyLOCAL = int32(-1)
 24276  		}
 24277  		yyVAL.union = yyLOCAL
 24278  	case 1747:
 24279  		yyDollar = yyS[yypt-3 : yypt+1]
 24280  		var yyLOCAL int32
 24281  //line mysql_sql.y:11400
 24282  		{
 24283  			yyLOCAL = int32(yyDollar[2].item.(int64))
 24284  		}
 24285  		yyVAL.union = yyLOCAL
 24286  	case 1748:
 24287  		yyDollar = yyS[yypt-3 : yypt+1]
 24288  		var yyLOCAL int32
 24289  //line mysql_sql.y:11406
 24290  		{
 24291  			yyLOCAL = tree.GetDisplayWith(int32(yyDollar[2].item.(int64)))
 24292  		}
 24293  		yyVAL.union = yyLOCAL
 24294  	case 1749:
 24295  		yyDollar = yyS[yypt-0 : yypt+1]
 24296  		var yyLOCAL tree.LengthScaleOpt
 24297  //line mysql_sql.y:11412
 24298  		{
 24299  			yyLOCAL = tree.LengthScaleOpt{
 24300  				DisplayWith: tree.NotDefineDisplayWidth,
 24301  				Scale:       tree.NotDefineDec,
 24302  			}
 24303  		}
 24304  		yyVAL.union = yyLOCAL
 24305  	case 1750:
 24306  		yyDollar = yyS[yypt-3 : yypt+1]
 24307  		var yyLOCAL tree.LengthScaleOpt
 24308  //line mysql_sql.y:11419
 24309  		{
 24310  			yyLOCAL = tree.LengthScaleOpt{
 24311  				DisplayWith: tree.GetDisplayWith(int32(yyDollar[2].item.(int64))),
 24312  				Scale:       tree.NotDefineDec,
 24313  			}
 24314  		}
 24315  		yyVAL.union = yyLOCAL
 24316  	case 1751:
 24317  		yyDollar = yyS[yypt-5 : yypt+1]
 24318  		var yyLOCAL tree.LengthScaleOpt
 24319  //line mysql_sql.y:11426
 24320  		{
 24321  			yyLOCAL = tree.LengthScaleOpt{
 24322  				DisplayWith: tree.GetDisplayWith(int32(yyDollar[2].item.(int64))),
 24323  				Scale:       int32(yyDollar[4].item.(int64)),
 24324  			}
 24325  		}
 24326  		yyVAL.union = yyLOCAL
 24327  	case 1752:
 24328  		yyDollar = yyS[yypt-0 : yypt+1]
 24329  		var yyLOCAL tree.LengthScaleOpt
 24330  //line mysql_sql.y:11435
 24331  		{
 24332  			yyLOCAL = tree.LengthScaleOpt{
 24333  				DisplayWith: 38, // this is the default precision for decimal
 24334  				Scale:       0,
 24335  			}
 24336  		}
 24337  		yyVAL.union = yyLOCAL
 24338  	case 1753:
 24339  		yyDollar = yyS[yypt-3 : yypt+1]
 24340  		var yyLOCAL tree.LengthScaleOpt
 24341  //line mysql_sql.y:11442
 24342  		{
 24343  			yyLOCAL = tree.LengthScaleOpt{
 24344  				DisplayWith: tree.GetDisplayWith(int32(yyDollar[2].item.(int64))),
 24345  				Scale:       0,
 24346  			}
 24347  		}
 24348  		yyVAL.union = yyLOCAL
 24349  	case 1754:
 24350  		yyDollar = yyS[yypt-5 : yypt+1]
 24351  		var yyLOCAL tree.LengthScaleOpt
 24352  //line mysql_sql.y:11449
 24353  		{
 24354  			yyLOCAL = tree.LengthScaleOpt{
 24355  				DisplayWith: tree.GetDisplayWith(int32(yyDollar[2].item.(int64))),
 24356  				Scale:       int32(yyDollar[4].item.(int64)),
 24357  			}
 24358  		}
 24359  		yyVAL.union = yyLOCAL
 24360  	case 1755:
 24361  		yyDollar = yyS[yypt-0 : yypt+1]
 24362  		var yyLOCAL bool
 24363  //line mysql_sql.y:11458
 24364  		{
 24365  			yyLOCAL = false
 24366  		}
 24367  		yyVAL.union = yyLOCAL
 24368  	case 1756:
 24369  		yyDollar = yyS[yypt-1 : yypt+1]
 24370  		var yyLOCAL bool
 24371  //line mysql_sql.y:11462
 24372  		{
 24373  			yyLOCAL = true
 24374  		}
 24375  		yyVAL.union = yyLOCAL
 24376  	case 1757:
 24377  		yyDollar = yyS[yypt-1 : yypt+1]
 24378  		var yyLOCAL bool
 24379  //line mysql_sql.y:11466
 24380  		{
 24381  			yyLOCAL = false
 24382  		}
 24383  		yyVAL.union = yyLOCAL
 24384  	case 1758:
 24385  		yyDollar = yyS[yypt-0 : yypt+1]
 24386  //line mysql_sql.y:11472
 24387  		{
 24388  		}
 24389  	case 1759:
 24390  		yyDollar = yyS[yypt-1 : yypt+1]
 24391  		var yyLOCAL bool
 24392  //line mysql_sql.y:11474
 24393  		{
 24394  			yyLOCAL = true
 24395  		}
 24396  		yyVAL.union = yyLOCAL
 24397  	case 1763:
 24398  		yyDollar = yyS[yypt-0 : yypt+1]
 24399  //line mysql_sql.y:11484
 24400  		{
 24401  			yyVAL.str = ""
 24402  		}
 24403  	case 1764:
 24404  		yyDollar = yyS[yypt-1 : yypt+1]
 24405  //line mysql_sql.y:11488
 24406  		{
 24407  			yyVAL.str = string(yyDollar[1].str)
 24408  		}
 24409  	}
 24410  	goto yystack /* stack new state and value */
 24411  }