modernc.org/ql@v1.4.7/parser.go (about)

     1  // Code generated by goyacc - DO NOT EDIT.
     2  
     3  // Copyright (c) 2014 The ql Authors. All rights reserved.
     4  // Use of this source code is governed by a BSD-style
     5  // license that can be found in the LICENSE file.
     6  
     7  // Initial yacc source generated by ebnf2y[1]
     8  // at 2013-10-04 23:10:47.861401015 +0200 CEST
     9  //
    10  //  $ ebnf2y -o ql.y -oe ql.ebnf -start StatementList -pkg ql -p _
    11  //
    12  //   [1]: http://modernc.org/ebnf2y
    13  
    14  package ql
    15  
    16  import __yyfmt__ "fmt"
    17  
    18  import (
    19  	"fmt"
    20  
    21  	"modernc.org/mathutil"
    22  )
    23  
    24  type yySymType struct {
    25  	yys  int
    26  	line int
    27  	col  int
    28  	item interface{}
    29  	list []interface{}
    30  }
    31  
    32  type yyXError struct {
    33  	state, xsym int
    34  }
    35  
    36  const (
    37  	yyDefault       = 57437
    38  	yyEOFCode       = 57344
    39  	add             = 57352
    40  	alter           = 57353
    41  	and             = 57354
    42  	andand          = 57355
    43  	andnot          = 57356
    44  	as              = 57357
    45  	asc             = 57358
    46  	begin           = 57359
    47  	between         = 57360
    48  	bigIntType      = 57361
    49  	bigRatType      = 57362
    50  	blobType        = 57363
    51  	boolType        = 57364
    52  	by              = 57365
    53  	byteType        = 57366
    54  	column          = 57367
    55  	commit          = 57368
    56  	complex128Type  = 57369
    57  	complex64Type   = 57370
    58  	create          = 57371
    59  	defaultKwd      = 57372
    60  	deleteKwd       = 57373
    61  	desc            = 57374
    62  	distinct        = 57375
    63  	drop            = 57376
    64  	durationType    = 57377
    65  	eq              = 57378
    66  	yyErrCode       = 57345
    67  	exists          = 57379
    68  	explain         = 57380
    69  	falseKwd        = 57381
    70  	float32Type     = 57383
    71  	float64Type     = 57384
    72  	floatLit        = 57346
    73  	floatType       = 57382
    74  	from            = 57385
    75  	full            = 57386
    76  	ge              = 57387
    77  	group           = 57388
    78  	identifier      = 57347
    79  	ifKwd           = 57389
    80  	imaginaryLit    = 57348
    81  	in              = 57390
    82  	index           = 57391
    83  	insert          = 57392
    84  	int16Type       = 57394
    85  	int32Type       = 57395
    86  	int64Type       = 57396
    87  	int8Type        = 57397
    88  	intLit          = 57349
    89  	intType         = 57393
    90  	into            = 57398
    91  	is              = 57399
    92  	join            = 57400
    93  	le              = 57401
    94  	left            = 57402
    95  	like            = 57403
    96  	limit           = 57404
    97  	lsh             = 57405
    98  	neq             = 57406
    99  	not             = 57407
   100  	null            = 57408
   101  	offset          = 57409
   102  	on              = 57410
   103  	or              = 57411
   104  	order           = 57412
   105  	oror            = 57413
   106  	outer           = 57414
   107  	parseExpression = 57436
   108  	qlParam         = 57350
   109  	right           = 57415
   110  	rollback        = 57416
   111  	rsh             = 57417
   112  	runeType        = 57418
   113  	selectKwd       = 57419
   114  	set             = 57420
   115  	stringLit       = 57351
   116  	stringType      = 57421
   117  	tableKwd        = 57422
   118  	timeType        = 57423
   119  	transaction     = 57424
   120  	trueKwd         = 57425
   121  	truncate        = 57426
   122  	uint16Type      = 57428
   123  	uint32Type      = 57429
   124  	uint64Type      = 57430
   125  	uint8Type       = 57431
   126  	uintType        = 57427
   127  	unique          = 57432
   128  	update          = 57433
   129  	values          = 57434
   130  	where           = 57435
   131  
   132  	yyMaxDepth = 200
   133  	yyTabOfs   = -224
   134  )
   135  
   136  var (
   137  	yyPrec = map[int]int{}
   138  
   139  	yyXLAT = map[int]int{
   140  		59:    0,   // ';' (204x)
   141  		57344: 1,   // $end (203x)
   142  		41:    2,   // ')' (178x)
   143  		43:    3,   // '+' (135x)
   144  		45:    4,   // '-' (135x)
   145  		94:    5,   // '^' (135x)
   146  		40:    6,   // '(' (131x)
   147  		44:    7,   // ',' (130x)
   148  		57347: 8,   // identifier (118x)
   149  		57409: 9,   // offset (115x)
   150  		57404: 10,  // limit (113x)
   151  		57412: 11,  // order (102x)
   152  		57435: 12,  // where (97x)
   153  		57372: 13,  // defaultKwd (94x)
   154  		57388: 14,  // group (93x)
   155  		57408: 15,  // null (86x)
   156  		57361: 16,  // bigIntType (85x)
   157  		57362: 17,  // bigRatType (85x)
   158  		57363: 18,  // blobType (85x)
   159  		57364: 19,  // boolType (85x)
   160  		57366: 20,  // byteType (85x)
   161  		57369: 21,  // complex128Type (85x)
   162  		57370: 22,  // complex64Type (85x)
   163  		57377: 23,  // durationType (85x)
   164  		57383: 24,  // float32Type (85x)
   165  		57384: 25,  // float64Type (85x)
   166  		57382: 26,  // floatType (85x)
   167  		57386: 27,  // full (85x)
   168  		57394: 28,  // int16Type (85x)
   169  		57395: 29,  // int32Type (85x)
   170  		57396: 30,  // int64Type (85x)
   171  		57397: 31,  // int8Type (85x)
   172  		57393: 32,  // intType (85x)
   173  		57402: 33,  // left (85x)
   174  		57415: 34,  // right (85x)
   175  		57418: 35,  // runeType (85x)
   176  		57421: 36,  // stringType (85x)
   177  		57423: 37,  // timeType (85x)
   178  		57428: 38,  // uint16Type (85x)
   179  		57429: 39,  // uint32Type (85x)
   180  		57430: 40,  // uint64Type (85x)
   181  		57431: 41,  // uint8Type (85x)
   182  		57427: 42,  // uintType (85x)
   183  		57381: 43,  // falseKwd (83x)
   184  		57346: 44,  // floatLit (83x)
   185  		57348: 45,  // imaginaryLit (83x)
   186  		57349: 46,  // intLit (83x)
   187  		57407: 47,  // not (83x)
   188  		57350: 48,  // qlParam (83x)
   189  		57351: 49,  // stringLit (83x)
   190  		57425: 50,  // trueKwd (83x)
   191  		57411: 51,  // or (81x)
   192  		57413: 52,  // oror (81x)
   193  		33:    53,  // '!' (79x)
   194  		57385: 54,  // from (75x)
   195  		57358: 55,  // asc (71x)
   196  		57374: 56,  // desc (71x)
   197  		93:    57,  // ']' (70x)
   198  		57357: 58,  // as (69x)
   199  		58:    59,  // ':' (67x)
   200  		57354: 60,  // and (67x)
   201  		57355: 61,  // andand (65x)
   202  		124:   62,  // '|' (56x)
   203  		61:    63,  // '=' (55x)
   204  		57360: 64,  // between (54x)
   205  		57390: 65,  // in (54x)
   206  		60:    66,  // '<' (53x)
   207  		62:    67,  // '>' (53x)
   208  		57378: 68,  // eq (53x)
   209  		57387: 69,  // ge (53x)
   210  		57399: 70,  // is (53x)
   211  		57401: 71,  // le (53x)
   212  		57403: 72,  // like (53x)
   213  		57406: 73,  // neq (53x)
   214  		57516: 74,  // Type (52x)
   215  		57453: 75,  // Conversion (51x)
   216  		57485: 76,  // Literal (51x)
   217  		57486: 77,  // Operand (51x)
   218  		57490: 78,  // PrimaryExpression (51x)
   219  		57493: 79,  // QualifiedIdent (51x)
   220  		42:    80,  // '*' (48x)
   221  		57517: 81,  // UnaryExpr (47x)
   222  		37:    82,  // '%' (44x)
   223  		38:    83,  // '&' (44x)
   224  		47:    84,  // '/' (44x)
   225  		57356: 85,  // andnot (44x)
   226  		57405: 86,  // lsh (44x)
   227  		57417: 87,  // rsh (44x)
   228  		57492: 88,  // PrimaryTerm (40x)
   229  		57491: 89,  // PrimaryFactor (36x)
   230  		91:    90,  // '[' (31x)
   231  		57471: 91,  // Factor (25x)
   232  		57472: 92,  // Factor1 (25x)
   233  		57514: 93,  // Term (24x)
   234  		57468: 94,  // Expression (23x)
   235  		57522: 95,  // logOr (16x)
   236  		57419: 96,  // selectKwd (14x)
   237  		57446: 97,  // ColumnName (10x)
   238  		57499: 98,  // SelectStmt (9x)
   239  		57513: 99,  // TableName (9x)
   240  		57449: 100, // CommaOpt (7x)
   241  		57379: 101, // exists (7x)
   242  		57469: 102, // ExpressionList (7x)
   243  		57410: 103, // on (7x)
   244  		57389: 104, // ifKwd (6x)
   245  		57400: 105, // join (6x)
   246  		57434: 106, // values (6x)
   247  		57443: 107, // Call (5x)
   248  		57376: 108, // drop (5x)
   249  		57477: 109, // Index (5x)
   250  		57509: 110, // Slice (5x)
   251  		57445: 111, // ColumnDef (4x)
   252  		57391: 112, // index (4x)
   253  		57414: 113, // outer (4x)
   254  		57422: 114, // tableKwd (4x)
   255  		57353: 115, // alter (3x)
   256  		57438: 116, // AlterTableStmt (3x)
   257  		57359: 117, // begin (3x)
   258  		57442: 118, // BeginTransactionStmt (3x)
   259  		57368: 119, // commit (3x)
   260  		57450: 120, // CommitStmt (3x)
   261  		57371: 121, // create (3x)
   262  		57455: 122, // CreateIndexStmt (3x)
   263  		57457: 123, // CreateTableStmt (3x)
   264  		57461: 124, // DeleteFromStmt (3x)
   265  		57373: 125, // deleteKwd (3x)
   266  		57463: 126, // DropIndexStmt (3x)
   267  		57464: 127, // DropTableStmt (3x)
   268  		57465: 128, // EmptyStmt (3x)
   269  		57380: 129, // explain (3x)
   270  		57467: 130, // ExplainStmt (3x)
   271  		57392: 131, // insert (3x)
   272  		57478: 132, // InsertIntoStmt (3x)
   273  		57494: 133, // RecordSet (3x)
   274  		57495: 134, // RecordSet1 (3x)
   275  		57416: 135, // rollback (3x)
   276  		57498: 136, // RollbackStmt (3x)
   277  		57523: 137, // semiOpt (3x)
   278  		57511: 138, // Statement (3x)
   279  		57426: 139, // truncate (3x)
   280  		57515: 140, // TruncateTableStmt (3x)
   281  		57433: 141, // update (3x)
   282  		57518: 142, // UpdateStmt (3x)
   283  		57520: 143, // WhereClause (3x)
   284  		57352: 144, // add (2x)
   285  		57439: 145, // Assignment (2x)
   286  		57365: 146, // by (2x)
   287  		57447: 147, // ColumnNameList (2x)
   288  		57458: 148, // CreateTableStmt1 (2x)
   289  		57473: 149, // Field (2x)
   290  		57521: 150, // logAnd (2x)
   291  		57420: 151, // set (2x)
   292  		46:    152, // '.' (1x)
   293  		57440: 153, // AssignmentList (1x)
   294  		57441: 154, // AssignmentList1 (1x)
   295  		57444: 155, // Call1 (1x)
   296  		57367: 156, // column (1x)
   297  		57448: 157, // ColumnNameList1 (1x)
   298  		57451: 158, // Constraint (1x)
   299  		57452: 159, // ConstraintOpt (1x)
   300  		57454: 160, // CreateIndexIfNotExists (1x)
   301  		57456: 161, // CreateIndexStmtUnique (1x)
   302  		57459: 162, // Default (1x)
   303  		57460: 163, // DefaultOpt (1x)
   304  		57375: 164, // distinct (1x)
   305  		57462: 165, // DropIndexIfExists (1x)
   306  		57466: 166, // Eq (1x)
   307  		57470: 167, // ExpressionList1 (1x)
   308  		57474: 168, // Field1 (1x)
   309  		57475: 169, // FieldList (1x)
   310  		57476: 170, // GroupByClause (1x)
   311  		57479: 171, // InsertIntoStmt0 (1x)
   312  		57480: 172, // InsertIntoStmt1 (1x)
   313  		57481: 173, // InsertIntoStmt2 (1x)
   314  		57398: 174, // into (1x)
   315  		57482: 175, // JoinClause (1x)
   316  		57483: 176, // JoinClauseOpt (1x)
   317  		57484: 177, // JoinType (1x)
   318  		57487: 178, // OrderBy (1x)
   319  		57488: 179, // OrderBy1 (1x)
   320  		57489: 180, // OuterOpt (1x)
   321  		57436: 181, // parseExpression (1x)
   322  		57496: 182, // RecordSet2 (1x)
   323  		57497: 183, // RecordSetList (1x)
   324  		57500: 184, // SelectStmtDistinct (1x)
   325  		57501: 185, // SelectStmtFieldList (1x)
   326  		57502: 186, // SelectStmtFrom (1x)
   327  		57503: 187, // SelectStmtGroup (1x)
   328  		57504: 188, // SelectStmtLimit (1x)
   329  		57505: 189, // SelectStmtOffset (1x)
   330  		57506: 190, // SelectStmtOrder (1x)
   331  		57507: 191, // SelectStmtWhere (1x)
   332  		57508: 192, // SetOpt (1x)
   333  		57510: 193, // Start (1x)
   334  		57512: 194, // StatementList (1x)
   335  		57424: 195, // transaction (1x)
   336  		57432: 196, // unique (1x)
   337  		57519: 197, // UpdateStmt1 (1x)
   338  		57437: 198, // $default (0x)
   339  		57345: 199, // error (0x)
   340  	}
   341  
   342  	yySymNames = []string{
   343  		"';'",
   344  		"$end",
   345  		"')'",
   346  		"'+'",
   347  		"'-'",
   348  		"'^'",
   349  		"'('",
   350  		"','",
   351  		"identifier",
   352  		"offset",
   353  		"limit",
   354  		"order",
   355  		"where",
   356  		"defaultKwd",
   357  		"group",
   358  		"null",
   359  		"bigIntType",
   360  		"bigRatType",
   361  		"blobType",
   362  		"boolType",
   363  		"byteType",
   364  		"complex128Type",
   365  		"complex64Type",
   366  		"durationType",
   367  		"float32Type",
   368  		"float64Type",
   369  		"floatType",
   370  		"full",
   371  		"int16Type",
   372  		"int32Type",
   373  		"int64Type",
   374  		"int8Type",
   375  		"intType",
   376  		"left",
   377  		"right",
   378  		"runeType",
   379  		"stringType",
   380  		"timeType",
   381  		"uint16Type",
   382  		"uint32Type",
   383  		"uint64Type",
   384  		"uint8Type",
   385  		"uintType",
   386  		"falseKwd",
   387  		"floatLit",
   388  		"imaginaryLit",
   389  		"intLit",
   390  		"not",
   391  		"qlParam",
   392  		"stringLit",
   393  		"trueKwd",
   394  		"or",
   395  		"oror",
   396  		"'!'",
   397  		"from",
   398  		"asc",
   399  		"desc",
   400  		"']'",
   401  		"as",
   402  		"':'",
   403  		"and",
   404  		"andand",
   405  		"'|'",
   406  		"'='",
   407  		"between",
   408  		"in",
   409  		"'<'",
   410  		"'>'",
   411  		"eq",
   412  		"ge",
   413  		"is",
   414  		"le",
   415  		"like",
   416  		"neq",
   417  		"Type",
   418  		"Conversion",
   419  		"Literal",
   420  		"Operand",
   421  		"PrimaryExpression",
   422  		"QualifiedIdent",
   423  		"'*'",
   424  		"UnaryExpr",
   425  		"'%'",
   426  		"'&'",
   427  		"'/'",
   428  		"andnot",
   429  		"lsh",
   430  		"rsh",
   431  		"PrimaryTerm",
   432  		"PrimaryFactor",
   433  		"'['",
   434  		"Factor",
   435  		"Factor1",
   436  		"Term",
   437  		"Expression",
   438  		"logOr",
   439  		"selectKwd",
   440  		"ColumnName",
   441  		"SelectStmt",
   442  		"TableName",
   443  		"CommaOpt",
   444  		"exists",
   445  		"ExpressionList",
   446  		"on",
   447  		"ifKwd",
   448  		"join",
   449  		"values",
   450  		"Call",
   451  		"drop",
   452  		"Index",
   453  		"Slice",
   454  		"ColumnDef",
   455  		"index",
   456  		"outer",
   457  		"tableKwd",
   458  		"alter",
   459  		"AlterTableStmt",
   460  		"begin",
   461  		"BeginTransactionStmt",
   462  		"commit",
   463  		"CommitStmt",
   464  		"create",
   465  		"CreateIndexStmt",
   466  		"CreateTableStmt",
   467  		"DeleteFromStmt",
   468  		"deleteKwd",
   469  		"DropIndexStmt",
   470  		"DropTableStmt",
   471  		"EmptyStmt",
   472  		"explain",
   473  		"ExplainStmt",
   474  		"insert",
   475  		"InsertIntoStmt",
   476  		"RecordSet",
   477  		"RecordSet1",
   478  		"rollback",
   479  		"RollbackStmt",
   480  		"semiOpt",
   481  		"Statement",
   482  		"truncate",
   483  		"TruncateTableStmt",
   484  		"update",
   485  		"UpdateStmt",
   486  		"WhereClause",
   487  		"add",
   488  		"Assignment",
   489  		"by",
   490  		"ColumnNameList",
   491  		"CreateTableStmt1",
   492  		"Field",
   493  		"logAnd",
   494  		"set",
   495  		"'.'",
   496  		"AssignmentList",
   497  		"AssignmentList1",
   498  		"Call1",
   499  		"column",
   500  		"ColumnNameList1",
   501  		"Constraint",
   502  		"ConstraintOpt",
   503  		"CreateIndexIfNotExists",
   504  		"CreateIndexStmtUnique",
   505  		"Default",
   506  		"DefaultOpt",
   507  		"distinct",
   508  		"DropIndexIfExists",
   509  		"Eq",
   510  		"ExpressionList1",
   511  		"Field1",
   512  		"FieldList",
   513  		"GroupByClause",
   514  		"InsertIntoStmt0",
   515  		"InsertIntoStmt1",
   516  		"InsertIntoStmt2",
   517  		"into",
   518  		"JoinClause",
   519  		"JoinClauseOpt",
   520  		"JoinType",
   521  		"OrderBy",
   522  		"OrderBy1",
   523  		"OuterOpt",
   524  		"parseExpression",
   525  		"RecordSet2",
   526  		"RecordSetList",
   527  		"SelectStmtDistinct",
   528  		"SelectStmtFieldList",
   529  		"SelectStmtFrom",
   530  		"SelectStmtGroup",
   531  		"SelectStmtLimit",
   532  		"SelectStmtOffset",
   533  		"SelectStmtOrder",
   534  		"SelectStmtWhere",
   535  		"SetOpt",
   536  		"Start",
   537  		"StatementList",
   538  		"transaction",
   539  		"unique",
   540  		"UpdateStmt1",
   541  		"$default",
   542  		"error",
   543  	}
   544  
   545  	yyTokenLiteralStrings = map[int]string{
   546  		57347: "identifier",
   547  		57409: "OFFSET",
   548  		57404: "LIMIT",
   549  		57412: "ORDER",
   550  		57435: "WHERE",
   551  		57372: "DEFAULT",
   552  		57388: "GROUP",
   553  		57408: "NULL",
   554  		57361: "bigint",
   555  		57362: "bigrat",
   556  		57363: "blob",
   557  		57364: "bool",
   558  		57366: "byte",
   559  		57369: "complex128",
   560  		57370: "complex64",
   561  		57377: "duration",
   562  		57383: "float32",
   563  		57384: "float64",
   564  		57382: "float",
   565  		57386: "FULL",
   566  		57394: "int16",
   567  		57395: "int32",
   568  		57396: "int64",
   569  		57397: "int8",
   570  		57393: "int",
   571  		57402: "LEFT",
   572  		57415: "RIGHT",
   573  		57418: "rune",
   574  		57421: "string",
   575  		57423: "time",
   576  		57428: "uint16",
   577  		57429: "uint32",
   578  		57430: "uint64",
   579  		57431: "uint8",
   580  		57427: "uint",
   581  		57381: "false",
   582  		57346: "floating-point literal",
   583  		57348: "imaginary literal",
   584  		57349: "integer literal",
   585  		57407: "NOT",
   586  		57350: "QL parameter",
   587  		57351: "string literal",
   588  		57425: "true",
   589  		57411: "OR",
   590  		57413: "||",
   591  		57385: "FROM",
   592  		57358: "ASC",
   593  		57374: "DESC",
   594  		57357: "AS",
   595  		57354: "AND",
   596  		57355: "&&",
   597  		57360: "BETWEEN",
   598  		57390: "IN",
   599  		57378: "==",
   600  		57387: ">=",
   601  		57399: "IS",
   602  		57401: "<=",
   603  		57403: "LIKE",
   604  		57406: "!=",
   605  		57356: "&^",
   606  		57405: "<<",
   607  		57417: ">>",
   608  		57419: "SELECT",
   609  		57379: "EXISTS",
   610  		57410: "ON",
   611  		57389: "IF",
   612  		57400: "JOIN",
   613  		57434: "VALUES",
   614  		57376: "DROP",
   615  		57391: "INDEX",
   616  		57414: "OUTER",
   617  		57422: "TABLE",
   618  		57353: "ALTER",
   619  		57359: "BEGIN",
   620  		57368: "COMMIT",
   621  		57371: "CREATE",
   622  		57373: "DELETE",
   623  		57380: "EXPLAIN",
   624  		57392: "INSERT",
   625  		57416: "ROLLBACK",
   626  		57426: "TRUNCATE",
   627  		57433: "UPDATE",
   628  		57352: "ADD",
   629  		57365: "BY",
   630  		57420: "SET",
   631  		57367: "COLUMN",
   632  		57375: "DISTINCT",
   633  		57398: "INTO",
   634  		57436: "parse expression prefix",
   635  		57424: "TRANSACTION",
   636  		57432: "UNIQUE",
   637  	}
   638  
   639  	yyReductions = map[int]struct{ xsym, components int }{
   640  		0:   {0, 1},
   641  		1:   {193, 1},
   642  		2:   {193, 2},
   643  		3:   {116, 5},
   644  		4:   {116, 6},
   645  		5:   {145, 3},
   646  		6:   {153, 3},
   647  		7:   {154, 0},
   648  		8:   {154, 3},
   649  		9:   {118, 2},
   650  		10:  {107, 3},
   651  		11:  {107, 3},
   652  		12:  {155, 0},
   653  		13:  {155, 1},
   654  		14:  {111, 4},
   655  		15:  {97, 1},
   656  		16:  {147, 3},
   657  		17:  {157, 0},
   658  		18:  {157, 3},
   659  		19:  {120, 1},
   660  		20:  {158, 2},
   661  		21:  {158, 1},
   662  		22:  {159, 0},
   663  		23:  {159, 1},
   664  		24:  {75, 4},
   665  		25:  {122, 10},
   666  		26:  {160, 0},
   667  		27:  {160, 3},
   668  		28:  {161, 0},
   669  		29:  {161, 1},
   670  		30:  {123, 8},
   671  		31:  {123, 11},
   672  		32:  {148, 0},
   673  		33:  {148, 3},
   674  		34:  {162, 2},
   675  		35:  {163, 0},
   676  		36:  {163, 1},
   677  		37:  {124, 3},
   678  		38:  {124, 4},
   679  		39:  {126, 4},
   680  		40:  {165, 0},
   681  		41:  {165, 2},
   682  		42:  {127, 3},
   683  		43:  {127, 5},
   684  		44:  {128, 0},
   685  		45:  {130, 2},
   686  		46:  {94, 1},
   687  		47:  {94, 3},
   688  		48:  {95, 1},
   689  		49:  {95, 1},
   690  		50:  {166, 1},
   691  		51:  {166, 1},
   692  		52:  {102, 3},
   693  		53:  {167, 0},
   694  		54:  {167, 3},
   695  		55:  {91, 1},
   696  		56:  {91, 5},
   697  		57:  {91, 6},
   698  		58:  {91, 6},
   699  		59:  {91, 7},
   700  		60:  {91, 5},
   701  		61:  {91, 6},
   702  		62:  {91, 3},
   703  		63:  {91, 4},
   704  		64:  {92, 1},
   705  		65:  {92, 3},
   706  		66:  {92, 3},
   707  		67:  {92, 3},
   708  		68:  {92, 3},
   709  		69:  {92, 3},
   710  		70:  {92, 3},
   711  		71:  {92, 3},
   712  		72:  {149, 2},
   713  		73:  {168, 0},
   714  		74:  {168, 2},
   715  		75:  {169, 1},
   716  		76:  {169, 3},
   717  		77:  {170, 3},
   718  		78:  {109, 3},
   719  		79:  {132, 11},
   720  		80:  {132, 6},
   721  		81:  {171, 0},
   722  		82:  {171, 3},
   723  		83:  {172, 0},
   724  		84:  {172, 3},
   725  		85:  {173, 0},
   726  		86:  {173, 5},
   727  		87:  {76, 1},
   728  		88:  {76, 1},
   729  		89:  {76, 1},
   730  		90:  {76, 1},
   731  		91:  {76, 1},
   732  		92:  {76, 1},
   733  		93:  {76, 1},
   734  		94:  {77, 1},
   735  		95:  {77, 1},
   736  		96:  {77, 1},
   737  		97:  {77, 3},
   738  		98:  {178, 4},
   739  		99:  {179, 0},
   740  		100: {179, 1},
   741  		101: {179, 1},
   742  		102: {78, 1},
   743  		103: {78, 1},
   744  		104: {78, 2},
   745  		105: {78, 2},
   746  		106: {78, 2},
   747  		107: {89, 1},
   748  		108: {89, 3},
   749  		109: {89, 3},
   750  		110: {89, 3},
   751  		111: {89, 3},
   752  		112: {88, 1},
   753  		113: {88, 3},
   754  		114: {88, 3},
   755  		115: {88, 3},
   756  		116: {88, 3},
   757  		117: {88, 3},
   758  		118: {88, 3},
   759  		119: {88, 3},
   760  		120: {79, 1},
   761  		121: {79, 3},
   762  		122: {133, 2},
   763  		123: {134, 1},
   764  		124: {134, 4},
   765  		125: {137, 0},
   766  		126: {137, 1},
   767  		127: {182, 0},
   768  		128: {182, 2},
   769  		129: {183, 1},
   770  		130: {183, 3},
   771  		131: {136, 1},
   772  		132: {177, 1},
   773  		133: {177, 1},
   774  		134: {177, 1},
   775  		135: {180, 0},
   776  		136: {180, 1},
   777  		137: {175, 6},
   778  		138: {176, 0},
   779  		139: {176, 1},
   780  		140: {98, 10},
   781  		141: {186, 0},
   782  		142: {186, 3},
   783  		143: {188, 0},
   784  		144: {188, 2},
   785  		145: {189, 0},
   786  		146: {189, 2},
   787  		147: {184, 0},
   788  		148: {184, 1},
   789  		149: {185, 1},
   790  		150: {185, 1},
   791  		151: {185, 2},
   792  		152: {191, 0},
   793  		153: {191, 1},
   794  		154: {187, 0},
   795  		155: {187, 1},
   796  		156: {190, 0},
   797  		157: {190, 1},
   798  		158: {110, 3},
   799  		159: {110, 4},
   800  		160: {110, 4},
   801  		161: {110, 5},
   802  		162: {138, 1},
   803  		163: {138, 1},
   804  		164: {138, 1},
   805  		165: {138, 1},
   806  		166: {138, 1},
   807  		167: {138, 1},
   808  		168: {138, 1},
   809  		169: {138, 1},
   810  		170: {138, 1},
   811  		171: {138, 1},
   812  		172: {138, 1},
   813  		173: {138, 1},
   814  		174: {138, 1},
   815  		175: {138, 1},
   816  		176: {138, 1},
   817  		177: {194, 1},
   818  		178: {194, 3},
   819  		179: {99, 1},
   820  		180: {93, 1},
   821  		181: {93, 3},
   822  		182: {150, 1},
   823  		183: {150, 1},
   824  		184: {140, 3},
   825  		185: {74, 1},
   826  		186: {74, 1},
   827  		187: {74, 1},
   828  		188: {74, 1},
   829  		189: {74, 1},
   830  		190: {74, 1},
   831  		191: {74, 1},
   832  		192: {74, 1},
   833  		193: {74, 1},
   834  		194: {74, 1},
   835  		195: {74, 1},
   836  		196: {74, 1},
   837  		197: {74, 1},
   838  		198: {74, 1},
   839  		199: {74, 1},
   840  		200: {74, 1},
   841  		201: {74, 1},
   842  		202: {74, 1},
   843  		203: {74, 1},
   844  		204: {74, 1},
   845  		205: {74, 1},
   846  		206: {74, 1},
   847  		207: {74, 1},
   848  		208: {74, 1},
   849  		209: {142, 5},
   850  		210: {197, 0},
   851  		211: {197, 1},
   852  		212: {81, 1},
   853  		213: {81, 2},
   854  		214: {81, 2},
   855  		215: {81, 2},
   856  		216: {81, 2},
   857  		217: {143, 2},
   858  		218: {143, 5},
   859  		219: {143, 6},
   860  		220: {192, 0},
   861  		221: {192, 1},
   862  		222: {100, 0},
   863  		223: {100, 1},
   864  	}
   865  
   866  	yyXErrors = map[yyXError]string{
   867  		{1, -1}:   "expected $end",
   868  		{43, -1}:  "expected '('",
   869  		{94, -1}:  "expected '('",
   870  		{96, -1}:  "expected '('",
   871  		{168, -1}: "expected '('",
   872  		{192, -1}: "expected '('",
   873  		{297, -1}: "expected '('",
   874  		{325, -1}: "expected '('",
   875  		{329, -1}: "expected '('",
   876  		{360, -1}: "expected '('",
   877  		{98, -1}:  "expected ')'",
   878  		{101, -1}: "expected ')'",
   879  		{127, -1}: "expected ')'",
   880  		{128, -1}: "expected ')'",
   881  		{129, -1}: "expected ')'",
   882  		{198, -1}: "expected ')'",
   883  		{200, -1}: "expected ')'",
   884  		{201, -1}: "expected ')'",
   885  		{205, -1}: "expected ')'",
   886  		{207, -1}: "expected ')'",
   887  		{239, -1}: "expected ')'",
   888  		{295, -1}: "expected ')'",
   889  		{300, -1}: "expected ')'",
   890  		{306, -1}: "expected ')'",
   891  		{334, -1}: "expected ')'",
   892  		{351, -1}: "expected ')'",
   893  		{362, -1}: "expected ')'",
   894  		{36, -1}:  "expected '='",
   895  		{252, -1}: "expected BY",
   896  		{255, -1}: "expected BY",
   897  		{368, -1}: "expected COLUMN",
   898  		{7, -1}:   "expected CREATE INDEX optional UNIQUE clause or one of [INDEX, TABLE, UNIQUE]",
   899  		{353, -1}: "expected CREATE INDEX statement optional IF NOT EXISTS cluse or one of [IF, identifier]",
   900  		{332, -1}: "expected CREATE TABLE statement colum definition list or optional comma or one of [')', ',']",
   901  		{349, -1}: "expected CREATE TABLE statement colum definition list or optional comma or one of [')', ',']",
   902  		{309, -1}: "expected DROP INDEX statement optional IF EXISTS clause or one of [IF, identifier]",
   903  		{95, -1}:  "expected EXISTS",
   904  		{291, -1}: "expected EXISTS",
   905  		{312, -1}: "expected EXISTS",
   906  		{316, -1}: "expected EXISTS",
   907  		{327, -1}: "expected EXISTS",
   908  		{356, -1}: "expected EXISTS",
   909  		{46, -1}:  "expected Eq or one of [!=, $end, &&, ')', ',', ':', ';', '<', '=', '>', ']', <=, ==, >=, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
   910  		{8, -1}:   "expected FROM",
   911  		{322, -1}: "expected INDEX",
   912  		{323, -1}: "expected INDEX",
   913  		{288, -1}: "expected INSERT INTO statement optional column list clause or INSERT INTO statement optional if not exists clause or SELECT statement or one of ['(', IF, SELECT, VALUES]",
   914  		{289, -1}: "expected INSERT INTO statement optional column list clause or SELECT statement or one of ['(', SELECT, VALUES]",
   915  		{301, -1}: "expected INSERT INTO statement optional values list or optional comma or one of [$end, ',', ';']",
   916  		{11, -1}:  "expected INTO",
   917  		{276, -1}: "expected JOIN",
   918  		{277, -1}: "expected JOIN",
   919  		{290, -1}: "expected NOT",
   920  		{326, -1}: "expected NOT",
   921  		{355, -1}: "expected NOT",
   922  		{187, -1}: "expected NULL",
   923  		{340, -1}: "expected NULL",
   924  		{279, -1}: "expected ON",
   925  		{358, -1}: "expected ON",
   926  		{265, -1}: "expected ORDER BY clause optional collation specification or one of [$end, ')', ';', ASC, DESC, LIMIT, OFFSET]",
   927  		{229, -1}: "expected RecordSetList or one of ['(', identifier]",
   928  		{13, -1}:  "expected SELECT statement field list or SELECT statement optional DISTINCT clause or one of ['!', '(', '*', '+', '-', '^', DISTINCT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
   929  		{221, -1}: "expected SELECT statement field list or one of ['!', '(', '*', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
   930  		{226, -1}: "expected SELECT statement optional FROM clause or SELECT statement optional GROUP BY clause or SELECT statement optional JOIN clause or SELECT statement optional LIMIT clause or SELECT statement optional OFFSET clause or SELECT statement optional ORDER BY clause or SELECT statement optional WHERE clause or one of [$end, ')', ';', FROM, FULL, GROUP, LEFT, LIMIT, OFFSET, ORDER, RIGHT, WHERE]",
   931  		{228, -1}: "expected SELECT statement optional GROUP BY clause or SELECT statement optional JOIN clause or SELECT statement optional LIMIT clause or SELECT statement optional OFFSET clause or SELECT statement optional ORDER BY clause or SELECT statement optional WHERE clause or one of [$end, ')', ';', FULL, GROUP, LEFT, LIMIT, OFFSET, ORDER, RIGHT, WHERE]",
   932  		{249, -1}: "expected SELECT statement optional GROUP BY clause or SELECT statement optional LIMIT clause or SELECT statement optional OFFSET clause or SELECT statement optional ORDER BY clause or SELECT statement optional WHERE clause or one of [$end, ')', ';', GROUP, LIMIT, OFFSET, ORDER, WHERE]",
   933  		{250, -1}: "expected SELECT statement optional GROUP BY clause or SELECT statement optional LIMIT clause or SELECT statement optional OFFSET clause or SELECT statement optional ORDER BY clause or one of [$end, ')', ';', GROUP, LIMIT, OFFSET, ORDER]",
   934  		{253, -1}: "expected SELECT statement optional LIMIT clause or SELECT statement optional OFFSET clause or SELECT statement optional ORDER BY clause or one of [$end, ')', ';', LIMIT, OFFSET, ORDER]",
   935  		{256, -1}: "expected SELECT statement optional LIMIT clause or SELECT statement optional OFFSET clause or one of [$end, ')', ';', LIMIT, OFFSET]",
   936  		{258, -1}: "expected SELECT statement optional OFFSET clause or one of [$end, ')', ';', OFFSET]",
   937  		{97, -1}:  "expected SELECT statement or SELECT",
   938  		{100, -1}: "expected SELECT statement or SELECT",
   939  		{232, -1}: "expected SELECT statement or SELECT",
   940  		{197, -1}: "expected SELECT statement or expression list or one of ['!', '(', '+', '-', '^', NULL, QL parameter, SELECT, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
   941  		{204, -1}: "expected SELECT statement or expression list or one of ['!', '(', '+', '-', '^', NULL, QL parameter, SELECT, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
   942  		{293, -1}: "expected SELECT statement or one of [SELECT, VALUES]",
   943  		{33, -1}:  "expected SetOpt or assignment list or one of [SET, identifier]",
   944  		{0, -1}:   "expected Start or one of [$end, ';', ALTER, BEGIN, COMMIT, CREATE, DELETE, DROP, EXPLAIN, INSERT, ROLLBACK, SELECT, TRUNCATE, UPDATE, parse expression prefix]",
   945  		{4, -1}:   "expected TABLE",
   946  		{30, -1}:  "expected TABLE",
   947  		{5, -1}:   "expected TRANSACTION",
   948  		{39, -1}:  "expected UPDATE statement optional WHERE clause or one of [$end, ';', WHERE]",
   949  		{320, -1}: "expected WHERE clause or one of [$end, ';', WHERE]",
   950  		{37, -1}:  "expected assignment list optional trailing comma or optional comma or one of [$end, ',', ';', WHERE]",
   951  		{34, -1}:  "expected assignment list or identifier",
   952  		{215, -1}: "expected assignment or one of [$end, ';', WHERE, identifier]",
   953  		{269, -1}: "expected column name list or identifier",
   954  		{294, -1}: "expected column name list or identifier",
   955  		{270, -1}: "expected column name list with optional trailing comma or optional comma or one of [$end, ')', ',', ';', LIMIT, OFFSET, ORDER]",
   956  		{369, -1}: "expected column name or identifier",
   957  		{274, -1}: "expected column name or one of [$end, ')', ';', LIMIT, OFFSET, ORDER, identifier]",
   958  		{118, -1}: "expected expression factor or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
   959  		{130, -1}: "expected expression list expression or logical or operator or optional comma or one of [$end, ')', ',', ';', ASC, DESC, LIMIT, OFFSET, OR, ||]",
   960  		{264, -1}: "expected expression list or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
   961  		{299, -1}: "expected expression list or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
   962  		{305, -1}: "expected expression list or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
   963  		{361, -1}: "expected expression list or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
   964  		{133, -1}: "expected expression or one of [$end, '!', '(', ')', '+', '-', ';', '^', ASC, DESC, LIMIT, NULL, OFFSET, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
   965  		{105, -1}: "expected expression or one of ['!', '(', '+', '-', ':', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
   966  		{110, -1}: "expected expression or one of ['!', '(', '+', '-', ']', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
   967  		{123, -1}: "expected expression or one of ['!', '(', '+', '-', ']', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
   968  		{42, -1}:  "expected expression or one of ['!', '(', '+', '-', '^', EXISTS, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
   969  		{3, -1}:   "expected expression or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
   970  		{58, -1}:  "expected expression or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
   971  		{210, -1}: "expected expression or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
   972  		{217, -1}: "expected expression or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
   973  		{259, -1}: "expected expression or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
   974  		{262, -1}: "expected expression or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
   975  		{280, -1}: "expected expression or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
   976  		{345, -1}: "expected expression or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
   977  		{113, -1}: "expected expression term or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
   978  		{223, -1}: "expected field expression optional AS clause or logical or operator or one of [$end, ')', ',', ';', AS, FROM, FULL, GROUP, LEFT, LIMIT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
   979  		{282, -1}: "expected field expression or one of [$end, '!', '(', ')', '+', '-', ';', '^', FROM, FULL, GROUP, LEFT, LIMIT, NULL, OFFSET, ORDER, QL parameter, RIGHT, WHERE, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
   980  		{104, -1}: "expected function call optional argument list or one of ['!', '(', ')', '*', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
   981  		{61, -1}:  "expected function call or string index or string slice or one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
   982  		{103, -1}: "expected function call or string index or string slice or one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
   983  		{137, -1}: "expected function call or string index or string slice or one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
   984  		{138, -1}: "expected function call or string index or string slice or one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
   985  		{139, -1}: "expected function call or string index or string slice or one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
   986  		{35, -1}:  "expected identifier",
   987  		{140, -1}: "expected identifier",
   988  		{242, -1}: "expected identifier",
   989  		{285, -1}: "expected identifier",
   990  		{315, -1}: "expected identifier",
   991  		{317, -1}: "expected identifier",
   992  		{354, -1}: "expected identifier",
   993  		{357, -1}: "expected identifier",
   994  		{359, -1}: "expected identifier",
   995  		{44, -1}:  "expected logical and operator or one of [$end, &&, ')', ',', ':', ';', ']', AND, AS, ASC, DEFAULT, DESC, FROM, FULL, GROUP, LEFT, LIMIT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
   996  		{117, -1}: "expected logical and operator or one of [$end, &&, ')', ',', ':', ';', ']', AND, AS, ASC, DEFAULT, DESC, FROM, FULL, GROUP, LEFT, LIMIT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
   997  		{134, -1}: "expected logical or operator or one of [$end, ')', ',', ';', ASC, DESC, LIMIT, OFFSET, OR, ||]",
   998  		{341, -1}: "expected logical or operator or one of [$end, ')', ',', ';', DEFAULT, OR, ||]",
   999  		{347, -1}: "expected logical or operator or one of [$end, ')', ',', ';', OR, ||]",
  1000  		{281, -1}: "expected logical or operator or one of [$end, ')', ';', GROUP, LIMIT, OFFSET, OR, ORDER, WHERE, ||]",
  1001  		{45, -1}:  "expected logical or operator or one of [$end, ')', ';', GROUP, LIMIT, OFFSET, OR, ORDER, ||]",
  1002  		{260, -1}: "expected logical or operator or one of [$end, ')', ';', OFFSET, OR, ||]",
  1003  		{263, -1}: "expected logical or operator or one of [$end, ')', ';', OR, ||]",
  1004  		{218, -1}: "expected logical or operator or one of [$end, ',', ';', OR, WHERE, ||]",
  1005  		{372, -1}: "expected logical or operator or one of [$end, OR, ||]",
  1006  		{156, -1}: "expected logical or operator or one of [')', OR, ||]",
  1007  		{211, -1}: "expected logical or operator or one of [')', OR, ||]",
  1008  		{109, -1}: "expected logical or operator or one of [':', ']', OR, ||]",
  1009  		{111, -1}: "expected logical or operator or one of [']', OR, ||]",
  1010  		{124, -1}: "expected logical or operator or one of [']', OR, ||]",
  1011  		{64, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1012  		{48, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1013  		{49, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1014  		{50, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1015  		{51, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1016  		{52, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1017  		{53, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1018  		{54, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1019  		{55, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1020  		{56, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1021  		{57, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1022  		{59, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1023  		{60, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1024  		{106, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1025  		{107, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1026  		{108, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1027  		{112, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1028  		{116, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1029  		{122, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1030  		{125, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1031  		{126, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1032  		{135, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1033  		{136, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1034  		{141, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1035  		{157, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1036  		{212, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1037  		{62, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1038  		{63, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1039  		{149, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1040  		{150, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1041  		{151, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1042  		{152, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1043  		{153, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1044  		{154, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1045  		{155, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1046  		{162, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1047  		{163, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1048  		{164, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1049  		{165, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1050  		{47, -1}:  "expected one of [!=, $end, &&, ')', '+', ',', '-', ':', ';', '<', '=', '>', ']', '^', '|', <=, ==, >=, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1051  		{179, -1}: "expected one of [!=, $end, &&, ')', '+', ',', '-', ':', ';', '<', '=', '>', ']', '^', '|', <=, ==, >=, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1052  		{180, -1}: "expected one of [!=, $end, &&, ')', '+', ',', '-', ':', ';', '<', '=', '>', ']', '^', '|', <=, ==, >=, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1053  		{181, -1}: "expected one of [!=, $end, &&, ')', '+', ',', '-', ':', ';', '<', '=', '>', ']', '^', '|', <=, ==, >=, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1054  		{182, -1}: "expected one of [!=, $end, &&, ')', '+', ',', '-', ':', ';', '<', '=', '>', ']', '^', '|', <=, ==, >=, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1055  		{183, -1}: "expected one of [!=, $end, &&, ')', '+', ',', '-', ':', ';', '<', '=', '>', ']', '^', '|', <=, ==, >=, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1056  		{184, -1}: "expected one of [!=, $end, &&, ')', '+', ',', '-', ':', ';', '<', '=', '>', ']', '^', '|', <=, ==, >=, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1057  		{185, -1}: "expected one of [!=, $end, &&, ')', '+', ',', '-', ':', ';', '<', '=', '>', ']', '^', '|', <=, ==, >=, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, FULL, GROUP, IN, IS, LEFT, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1058  		{191, -1}: "expected one of [$end, &&, ')', '+', ',', '-', ':', ';', ']', '^', '|', AND, AS, ASC, DEFAULT, DESC, FROM, FULL, GROUP, LEFT, LIMIT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1059  		{196, -1}: "expected one of [$end, &&, ')', '+', ',', '-', ':', ';', ']', '^', '|', AND, AS, ASC, DEFAULT, DESC, FROM, FULL, GROUP, LEFT, LIMIT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1060  		{65, -1}:  "expected one of [$end, &&, ')', ',', ':', ';', ']', AND, AS, ASC, DEFAULT, DESC, FROM, FULL, GROUP, LEFT, LIMIT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1061  		{121, -1}: "expected one of [$end, &&, ')', ',', ':', ';', ']', AND, AS, ASC, DEFAULT, DESC, FROM, FULL, GROUP, LEFT, LIMIT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1062  		{186, -1}: "expected one of [$end, &&, ')', ',', ':', ';', ']', AND, AS, ASC, DEFAULT, DESC, FROM, FULL, GROUP, LEFT, LIMIT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1063  		{188, -1}: "expected one of [$end, &&, ')', ',', ':', ';', ']', AND, AS, ASC, DEFAULT, DESC, FROM, FULL, GROUP, LEFT, LIMIT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1064  		{202, -1}: "expected one of [$end, &&, ')', ',', ':', ';', ']', AND, AS, ASC, DEFAULT, DESC, FROM, FULL, GROUP, LEFT, LIMIT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1065  		{203, -1}: "expected one of [$end, &&, ')', ',', ':', ';', ']', AND, AS, ASC, DEFAULT, DESC, FROM, FULL, GROUP, LEFT, LIMIT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1066  		{208, -1}: "expected one of [$end, &&, ')', ',', ':', ';', ']', AND, AS, ASC, DEFAULT, DESC, FROM, FULL, GROUP, LEFT, LIMIT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1067  		{209, -1}: "expected one of [$end, &&, ')', ',', ':', ';', ']', AND, AS, ASC, DEFAULT, DESC, FROM, FULL, GROUP, LEFT, LIMIT, OFFSET, OR, ORDER, RIGHT, WHERE, ||]",
  1068  		{66, -1}:  "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1069  		{67, -1}:  "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1070  		{68, -1}:  "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1071  		{69, -1}:  "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1072  		{70, -1}:  "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1073  		{71, -1}:  "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1074  		{72, -1}:  "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1075  		{73, -1}:  "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1076  		{74, -1}:  "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1077  		{75, -1}:  "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1078  		{76, -1}:  "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1079  		{77, -1}:  "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1080  		{78, -1}:  "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1081  		{79, -1}:  "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1082  		{80, -1}:  "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1083  		{81, -1}:  "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1084  		{82, -1}:  "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1085  		{83, -1}:  "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1086  		{84, -1}:  "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1087  		{85, -1}:  "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1088  		{86, -1}:  "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1089  		{87, -1}:  "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1090  		{88, -1}:  "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1091  		{89, -1}:  "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1092  		{32, -1}:  "expected one of [$end, '(', ';', ADD, DROP, IF, SELECT, SET, VALUES, WHERE, identifier]",
  1093  		{304, -1}: "expected one of [$end, '(', ';']",
  1094  		{38, -1}:  "expected one of [$end, ')', ',', ';', '=', LIMIT, OFFSET, ORDER, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, float, float32, float64, int, int16, int32, int64, int8, rune, string, time, uint, uint16, uint32, uint64, uint8]",
  1095  		{231, -1}: "expected one of [$end, ')', ',', ';', AS, FULL, GROUP, LEFT, LIMIT, OFFSET, ON, ORDER, RIGHT, WHERE]",
  1096  		{240, -1}: "expected one of [$end, ')', ',', ';', AS, FULL, GROUP, LEFT, LIMIT, OFFSET, ON, ORDER, RIGHT, WHERE]",
  1097  		{342, -1}: "expected one of [$end, ')', ',', ';', DEFAULT]",
  1098  		{343, -1}: "expected one of [$end, ')', ',', ';', DEFAULT]",
  1099  		{224, -1}: "expected one of [$end, ')', ',', ';', FROM, FULL, GROUP, LEFT, LIMIT, OFFSET, ORDER, RIGHT, WHERE]",
  1100  		{225, -1}: "expected one of [$end, ')', ',', ';', FROM, FULL, GROUP, LEFT, LIMIT, OFFSET, ORDER, RIGHT, WHERE]",
  1101  		{283, -1}: "expected one of [$end, ')', ',', ';', FROM, FULL, GROUP, LEFT, LIMIT, OFFSET, ORDER, RIGHT, WHERE]",
  1102  		{284, -1}: "expected one of [$end, ')', ',', ';', FROM, FULL, GROUP, LEFT, LIMIT, OFFSET, ORDER, RIGHT, WHERE]",
  1103  		{286, -1}: "expected one of [$end, ')', ',', ';', FROM, FULL, GROUP, LEFT, LIMIT, OFFSET, ORDER, RIGHT, WHERE]",
  1104  		{241, -1}: "expected one of [$end, ')', ',', ';', FULL, GROUP, LEFT, LIMIT, OFFSET, ON, ORDER, RIGHT, WHERE]",
  1105  		{243, -1}: "expected one of [$end, ')', ',', ';', FULL, GROUP, LEFT, LIMIT, OFFSET, ON, ORDER, RIGHT, WHERE]",
  1106  		{233, -1}: "expected one of [$end, ')', ',', ';', FULL, GROUP, LEFT, LIMIT, OFFSET, ORDER, RIGHT, WHERE]",
  1107  		{237, -1}: "expected one of [$end, ')', ',', ';', FULL, GROUP, LEFT, LIMIT, OFFSET, ORDER, RIGHT, WHERE]",
  1108  		{275, -1}: "expected one of [$end, ')', ',', ';', LIMIT, OFFSET, ORDER]",
  1109  		{344, -1}: "expected one of [$end, ')', ',', ';']",
  1110  		{346, -1}: "expected one of [$end, ')', ',', ';']",
  1111  		{132, -1}: "expected one of [$end, ')', ';', ASC, DESC, LIMIT, OFFSET]",
  1112  		{227, -1}: "expected one of [$end, ')', ';', FROM, FULL, GROUP, LEFT, LIMIT, OFFSET, ORDER, RIGHT, WHERE]",
  1113  		{236, -1}: "expected one of [$end, ')', ';', FULL, GROUP, LEFT, LIMIT, OFFSET, ORDER, RIGHT, WHERE]",
  1114  		{248, -1}: "expected one of [$end, ')', ';', GROUP, LIMIT, OFFSET, ORDER, WHERE]",
  1115  		{99, -1}:  "expected one of [$end, ')', ';', GROUP, LIMIT, OFFSET, ORDER]",
  1116  		{102, -1}: "expected one of [$end, ')', ';', GROUP, LIMIT, OFFSET, ORDER]",
  1117  		{251, -1}: "expected one of [$end, ')', ';', GROUP, LIMIT, OFFSET, ORDER]",
  1118  		{254, -1}: "expected one of [$end, ')', ';', LIMIT, OFFSET, ORDER]",
  1119  		{271, -1}: "expected one of [$end, ')', ';', LIMIT, OFFSET, ORDER]",
  1120  		{273, -1}: "expected one of [$end, ')', ';', LIMIT, OFFSET, ORDER]",
  1121  		{257, -1}: "expected one of [$end, ')', ';', LIMIT, OFFSET]",
  1122  		{266, -1}: "expected one of [$end, ')', ';', LIMIT, OFFSET]",
  1123  		{267, -1}: "expected one of [$end, ')', ';', LIMIT, OFFSET]",
  1124  		{268, -1}: "expected one of [$end, ')', ';', LIMIT, OFFSET]",
  1125  		{261, -1}: "expected one of [$end, ')', ';']",
  1126  		{216, -1}: "expected one of [$end, ',', ';', WHERE]",
  1127  		{307, -1}: "expected one of [$end, ',', ';']",
  1128  		{214, -1}: "expected one of [$end, ';', WHERE]",
  1129  		{2, -1}:   "expected one of [$end, ';']",
  1130  		{6, -1}:   "expected one of [$end, ';']",
  1131  		{12, -1}:  "expected one of [$end, ';']",
  1132  		{14, -1}:  "expected one of [$end, ';']",
  1133  		{15, -1}:  "expected one of [$end, ';']",
  1134  		{16, -1}:  "expected one of [$end, ';']",
  1135  		{17, -1}:  "expected one of [$end, ';']",
  1136  		{18, -1}:  "expected one of [$end, ';']",
  1137  		{19, -1}:  "expected one of [$end, ';']",
  1138  		{20, -1}:  "expected one of [$end, ';']",
  1139  		{21, -1}:  "expected one of [$end, ';']",
  1140  		{22, -1}:  "expected one of [$end, ';']",
  1141  		{23, -1}:  "expected one of [$end, ';']",
  1142  		{24, -1}:  "expected one of [$end, ';']",
  1143  		{25, -1}:  "expected one of [$end, ';']",
  1144  		{26, -1}:  "expected one of [$end, ';']",
  1145  		{27, -1}:  "expected one of [$end, ';']",
  1146  		{28, -1}:  "expected one of [$end, ';']",
  1147  		{29, -1}:  "expected one of [$end, ';']",
  1148  		{40, -1}:  "expected one of [$end, ';']",
  1149  		{41, -1}:  "expected one of [$end, ';']",
  1150  		{220, -1}: "expected one of [$end, ';']",
  1151  		{298, -1}: "expected one of [$end, ';']",
  1152  		{303, -1}: "expected one of [$end, ';']",
  1153  		{308, -1}: "expected one of [$end, ';']",
  1154  		{311, -1}: "expected one of [$end, ';']",
  1155  		{314, -1}: "expected one of [$end, ';']",
  1156  		{318, -1}: "expected one of [$end, ';']",
  1157  		{321, -1}: "expected one of [$end, ';']",
  1158  		{337, -1}: "expected one of [$end, ';']",
  1159  		{352, -1}: "expected one of [$end, ';']",
  1160  		{363, -1}: "expected one of [$end, ';']",
  1161  		{364, -1}: "expected one of [$end, ';']",
  1162  		{370, -1}: "expected one of [$end, ';']",
  1163  		{371, -1}: "expected one of [$end, ';']",
  1164  		{374, -1}: "expected one of [$end, ';']",
  1165  		{222, -1}: "expected one of ['!', '(', '*', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1166  		{114, -1}: "expected one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1167  		{115, -1}: "expected one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1168  		{119, -1}: "expected one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1169  		{120, -1}: "expected one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1170  		{166, -1}: "expected one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1171  		{167, -1}: "expected one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1172  		{292, -1}: "expected one of ['(', SELECT, VALUES]",
  1173  		{336, -1}: "expected one of [')', ',']",
  1174  		{189, -1}: "expected one of ['+', '-', '^', '|', AND]",
  1175  		{194, -1}: "expected one of ['+', '-', '^', '|', AND]",
  1176  		{366, -1}: "expected one of [ADD, DROP]",
  1177  		{169, -1}: "expected one of [BETWEEN, IN]",
  1178  		{9, -1}:   "expected one of [INDEX, TABLE]",
  1179  		{244, -1}: "expected one of [JOIN, OUTER]",
  1180  		{245, -1}: "expected one of [JOIN, OUTER]",
  1181  		{246, -1}: "expected one of [JOIN, OUTER]",
  1182  		{171, -1}: "expected one of [NOT, NULL]",
  1183  		{296, -1}: "expected one of [SELECT, VALUES]",
  1184  		{339, -1}: "expected optional DEFAULT clause or one of [$end, ')', ',', ';', DEFAULT]",
  1185  		{338, -1}: "expected optional DEFAULT clause or optional column value constraint or one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1186  		{247, -1}: "expected optional OUTER clause or one of [JOIN, OUTER]",
  1187  		{131, -1}: "expected optional comma or one of [$end, ')', ',', ';', ASC, DESC, LIMIT, OFFSET]",
  1188  		{234, -1}: "expected optional comma or one of [$end, ')', ',', ';', FULL, GROUP, LEFT, LIMIT, OFFSET, ORDER, RIGHT, WHERE]",
  1189  		{272, -1}: "expected optional comma or one of [$end, ')', ',', ';', LIMIT, OFFSET, ORDER]",
  1190  		{213, -1}: "expected optional comma or one of [$end, ',', ';', WHERE]",
  1191  		{302, -1}: "expected optional comma or one of [$end, ',', ';']",
  1192  		{333, -1}: "expected optional comma or one of [')', ',']",
  1193  		{350, -1}: "expected optional comma or one of [')', ',']",
  1194  		{170, -1}: "expected primary expression factor or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1195  		{172, -1}: "expected primary expression factor or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1196  		{173, -1}: "expected primary expression factor or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1197  		{174, -1}: "expected primary expression factor or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1198  		{175, -1}: "expected primary expression factor or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1199  		{176, -1}: "expected primary expression factor or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1200  		{177, -1}: "expected primary expression factor or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1201  		{178, -1}: "expected primary expression factor or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1202  		{190, -1}: "expected primary expression factor or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1203  		{193, -1}: "expected primary expression factor or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1204  		{195, -1}: "expected primary expression factor or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1205  		{90, -1}:  "expected primary expression or one of ['(', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1206  		{91, -1}:  "expected primary expression or one of ['(', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1207  		{92, -1}:  "expected primary expression or one of ['(', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1208  		{93, -1}:  "expected primary expression or one of ['(', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1209  		{158, -1}: "expected primary expression term or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1210  		{159, -1}: "expected primary expression term or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1211  		{160, -1}: "expected primary expression term or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1212  		{161, -1}: "expected primary expression term or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1213  		{230, -1}: "expected record set optional AS clause or one of [$end, ')', ',', ';', AS, FULL, GROUP, LEFT, LIMIT, OFFSET, ON, ORDER, RIGHT, WHERE]",
  1214  		{235, -1}: "expected record set or one of [$end, '(', ')', ';', FULL, GROUP, LEFT, LIMIT, OFFSET, ORDER, RIGHT, WHERE, identifier]",
  1215  		{278, -1}: "expected record set or one of ['(', identifier]",
  1216  		{199, -1}: "expected semiOpt or one of [')', ';']",
  1217  		{206, -1}: "expected semiOpt or one of [')', ';']",
  1218  		{238, -1}: "expected semiOpt or one of [')', ';']",
  1219  		{10, -1}:  "expected statement or one of [$end, ';', ALTER, BEGIN, COMMIT, CREATE, DELETE, DROP, EXPLAIN, INSERT, ROLLBACK, SELECT, TRUNCATE, UPDATE]",
  1220  		{373, -1}: "expected statement or one of [$end, ';', ALTER, BEGIN, COMMIT, CREATE, DELETE, DROP, EXPLAIN, INSERT, ROLLBACK, SELECT, TRUNCATE, UPDATE]",
  1221  		{330, -1}: "expected table column definition or identifier",
  1222  		{348, -1}: "expected table column definition or identifier",
  1223  		{367, -1}: "expected table column definition or identifier",
  1224  		{335, -1}: "expected table column definition or one of [')', identifier]",
  1225  		{31, -1}:  "expected table name or identifier",
  1226  		{219, -1}: "expected table name or identifier",
  1227  		{287, -1}: "expected table name or identifier",
  1228  		{313, -1}: "expected table name or identifier",
  1229  		{319, -1}: "expected table name or identifier",
  1230  		{328, -1}: "expected table name or identifier",
  1231  		{365, -1}: "expected table name or identifier",
  1232  		{310, -1}: "expected table name or one of [IF, identifier]",
  1233  		{324, -1}: "expected table name or one of [IF, identifier]",
  1234  		{331, -1}: "expected type or one of [bigint, bigrat, blob, bool, byte, complex128, complex64, duration, float, float32, float64, int, int16, int32, int64, int8, rune, string, time, uint, uint16, uint32, uint64, uint8]",
  1235  		{142, -1}: "expected unary expression or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1236  		{143, -1}: "expected unary expression or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1237  		{144, -1}: "expected unary expression or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1238  		{145, -1}: "expected unary expression or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1239  		{146, -1}: "expected unary expression or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1240  		{147, -1}: "expected unary expression or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1241  		{148, -1}: "expected unary expression or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
  1242  	}
  1243  
  1244  	yyParseTab = [375][]uint16{
  1245  		// 0
  1246  		{180, 180, 96: 237, 98: 250, 108: 233, 115: 228, 239, 229, 240, 230, 241, 231, 242, 243, 244, 232, 245, 246, 238, 234, 247, 235, 248, 135: 236, 249, 138: 253, 254, 251, 255, 252, 181: 227, 193: 225, 226},
  1247  		{1: 224},
  1248  		{597, 223},
  1249  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 271, 91: 289, 270, 268, 596},
  1250  		{114: 589},
  1251  		// 5
  1252  		{195: 588},
  1253  		{205, 205},
  1254  		{112: 196, 114: 548, 161: 546, 196: 547},
  1255  		{54: 543},
  1256  		{112: 533, 114: 534},
  1257  		// 10
  1258  		{180, 180, 96: 237, 98: 250, 108: 233, 115: 228, 239, 229, 240, 230, 241, 231, 242, 243, 244, 232, 245, 246, 238, 234, 247, 235, 248, 135: 236, 249, 138: 532, 254, 251, 255, 252},
  1259  		{174: 511},
  1260  		{93, 93},
  1261  		{3: 77, 77, 77, 77, 8: 77, 15: 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 28: 77, 77, 77, 77, 77, 35: 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 48: 77, 77, 77, 53: 77, 80: 77, 164: 446, 184: 445},
  1262  		{62, 62},
  1263  		// 15
  1264  		{61, 61},
  1265  		{60, 60},
  1266  		{59, 59},
  1267  		{58, 58},
  1268  		{57, 57},
  1269  		// 20
  1270  		{56, 56},
  1271  		{55, 55},
  1272  		{54, 54},
  1273  		{53, 53},
  1274  		{52, 52},
  1275  		// 25
  1276  		{51, 51},
  1277  		{50, 50},
  1278  		{49, 49},
  1279  		{48, 48},
  1280  		{47, 47},
  1281  		// 30
  1282  		{114: 443},
  1283  		{8: 256, 99: 257},
  1284  		{45, 45, 6: 45, 8: 45, 12: 45, 96: 45, 104: 45, 106: 45, 108: 45, 144: 45, 151: 45},
  1285  		{8: 4, 151: 259, 192: 258},
  1286  		{8: 262, 97: 260, 145: 261, 153: 263},
  1287  		// 35
  1288  		{8: 3},
  1289  		{63: 441},
  1290  		{217, 217, 7: 217, 12: 217, 154: 437},
  1291  		{209, 209, 209, 7: 209, 9: 209, 209, 209, 16: 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 28: 209, 209, 209, 209, 209, 35: 209, 209, 209, 209, 209, 209, 209, 209, 63: 209},
  1292  		{14, 14, 12: 266, 143: 265, 197: 264},
  1293  		// 40
  1294  		{15, 15},
  1295  		{13, 13},
  1296  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 319, 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 271, 91: 289, 270, 268, 269, 101: 318},
  1297  		{6: 434},
  1298  		{178, 178, 178, 7: 178, 9: 178, 178, 178, 178, 178, 178, 27: 178, 33: 178, 178, 51: 178, 178, 54: 178, 178, 178, 178, 178, 178, 344, 343, 150: 342},
  1299  		// 45
  1300  		{7, 7, 7, 9: 7, 7, 7, 14: 7, 51: 339, 338, 95: 337},
  1301  		{169, 169, 169, 7: 169, 9: 169, 169, 169, 169, 169, 169, 27: 169, 33: 169, 169, 47: 393, 51: 169, 169, 54: 169, 169, 169, 169, 169, 169, 169, 169, 63: 391, 394, 392, 399, 397, 390, 396, 395, 398, 402, 400, 166: 401},
  1302  		{160, 160, 160, 385, 384, 382, 7: 160, 9: 160, 160, 160, 160, 160, 160, 27: 160, 33: 160, 160, 47: 160, 51: 160, 160, 54: 160, 160, 160, 160, 160, 160, 160, 160, 383, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160},
  1303  		{137, 137, 137, 137, 137, 137, 137, 137, 9: 137, 137, 137, 137, 137, 137, 27: 137, 33: 137, 137, 47: 137, 51: 137, 137, 54: 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 80: 137, 82: 137, 137, 137, 137, 137, 137, 90: 137},
  1304  		{136, 136, 136, 136, 136, 136, 136, 136, 9: 136, 136, 136, 136, 136, 136, 27: 136, 33: 136, 136, 47: 136, 51: 136, 136, 54: 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 80: 136, 82: 136, 136, 136, 136, 136, 136, 90: 136},
  1305  		// 50
  1306  		{135, 135, 135, 135, 135, 135, 135, 135, 9: 135, 135, 135, 135, 135, 135, 27: 135, 33: 135, 135, 47: 135, 51: 135, 135, 54: 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 80: 135, 82: 135, 135, 135, 135, 135, 135, 90: 135},
  1307  		{134, 134, 134, 134, 134, 134, 134, 134, 9: 134, 134, 134, 134, 134, 134, 27: 134, 33: 134, 134, 47: 134, 51: 134, 134, 54: 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 80: 134, 82: 134, 134, 134, 134, 134, 134, 90: 134},
  1308  		{133, 133, 133, 133, 133, 133, 133, 133, 9: 133, 133, 133, 133, 133, 133, 27: 133, 33: 133, 133, 47: 133, 51: 133, 133, 54: 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 80: 133, 82: 133, 133, 133, 133, 133, 133, 90: 133},
  1309  		{132, 132, 132, 132, 132, 132, 132, 132, 9: 132, 132, 132, 132, 132, 132, 27: 132, 33: 132, 132, 47: 132, 51: 132, 132, 54: 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 80: 132, 82: 132, 132, 132, 132, 132, 132, 90: 132},
  1310  		{131, 131, 131, 131, 131, 131, 131, 131, 9: 131, 131, 131, 131, 131, 131, 27: 131, 33: 131, 131, 47: 131, 51: 131, 131, 54: 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 80: 131, 82: 131, 131, 131, 131, 131, 131, 90: 131},
  1311  		// 55
  1312  		{130, 130, 130, 130, 130, 130, 130, 130, 9: 130, 130, 130, 130, 130, 130, 27: 130, 33: 130, 130, 47: 130, 51: 130, 130, 54: 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 80: 130, 82: 130, 130, 130, 130, 130, 130, 90: 130},
  1313  		{129, 129, 129, 129, 129, 129, 129, 129, 9: 129, 129, 129, 129, 129, 129, 27: 129, 33: 129, 129, 47: 129, 51: 129, 129, 54: 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 80: 129, 82: 129, 129, 129, 129, 129, 129, 90: 129},
  1314  		{128, 128, 128, 128, 128, 128, 128, 128, 9: 128, 128, 128, 128, 128, 128, 27: 128, 33: 128, 128, 47: 128, 51: 128, 128, 54: 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 80: 128, 82: 128, 128, 128, 128, 128, 128, 90: 128},
  1315  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 271, 91: 289, 270, 268, 380},
  1316  		{122, 122, 122, 122, 122, 122, 122, 122, 9: 122, 122, 122, 122, 122, 122, 27: 122, 33: 122, 122, 47: 122, 51: 122, 122, 54: 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 80: 122, 82: 122, 122, 122, 122, 122, 122, 90: 122},
  1317  		// 60
  1318  		{121, 121, 121, 121, 121, 121, 121, 121, 9: 121, 121, 121, 121, 121, 121, 27: 121, 33: 121, 121, 47: 121, 51: 121, 121, 54: 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 80: 121, 82: 121, 121, 121, 121, 121, 121, 90: 121},
  1319  		{12, 12, 12, 12, 12, 12, 328, 12, 9: 12, 12, 12, 12, 12, 12, 27: 12, 33: 12, 12, 47: 12, 51: 12, 12, 54: 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 80: 12, 82: 12, 12, 12, 12, 12, 12, 90: 329, 107: 332, 109: 330, 331},
  1320  		{117, 117, 117, 117, 117, 117, 7: 117, 9: 117, 117, 117, 117, 117, 117, 27: 117, 33: 117, 117, 47: 117, 51: 117, 117, 54: 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 80: 372, 82: 370, 367, 371, 366, 368, 369},
  1321  		{112, 112, 112, 112, 112, 112, 7: 112, 9: 112, 112, 112, 112, 112, 112, 27: 112, 33: 112, 112, 47: 112, 51: 112, 112, 54: 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 80: 112, 82: 112, 112, 112, 112, 112, 112},
  1322  		{104, 104, 104, 104, 104, 104, 104, 104, 9: 104, 104, 104, 104, 104, 104, 27: 104, 33: 104, 104, 47: 104, 51: 104, 104, 54: 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 80: 104, 82: 104, 104, 104, 104, 104, 104, 90: 104, 152: 364},
  1323  		// 65
  1324  		{44, 44, 44, 7: 44, 9: 44, 44, 44, 44, 44, 44, 27: 44, 33: 44, 44, 51: 44, 44, 54: 44, 44, 44, 44, 44, 44, 44, 44},
  1325  		{39, 39, 39, 39, 39, 39, 39, 39, 39, 13: 39, 15: 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 28: 39, 39, 39, 39, 39, 35: 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 53: 39},
  1326  		{38, 38, 38, 38, 38, 38, 38, 38, 38, 13: 38, 15: 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 28: 38, 38, 38, 38, 38, 35: 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 53: 38},
  1327  		{37, 37, 37, 37, 37, 37, 37, 37, 37, 13: 37, 15: 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 28: 37, 37, 37, 37, 37, 35: 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 53: 37},
  1328  		{36, 36, 36, 36, 36, 36, 36, 36, 36, 13: 36, 15: 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 28: 36, 36, 36, 36, 36, 35: 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 53: 36},
  1329  		// 70
  1330  		{35, 35, 35, 35, 35, 35, 35, 35, 35, 13: 35, 15: 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 28: 35, 35, 35, 35, 35, 35: 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 53: 35},
  1331  		{34, 34, 34, 34, 34, 34, 34, 34, 34, 13: 34, 15: 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 28: 34, 34, 34, 34, 34, 35: 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 53: 34},
  1332  		{33, 33, 33, 33, 33, 33, 33, 33, 33, 13: 33, 15: 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 28: 33, 33, 33, 33, 33, 35: 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 53: 33},
  1333  		{32, 32, 32, 32, 32, 32, 32, 32, 32, 13: 32, 15: 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 28: 32, 32, 32, 32, 32, 35: 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 53: 32},
  1334  		{31, 31, 31, 31, 31, 31, 31, 31, 31, 13: 31, 15: 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 28: 31, 31, 31, 31, 31, 35: 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 53: 31},
  1335  		// 75
  1336  		{30, 30, 30, 30, 30, 30, 30, 30, 30, 13: 30, 15: 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 28: 30, 30, 30, 30, 30, 35: 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 53: 30},
  1337  		{29, 29, 29, 29, 29, 29, 29, 29, 29, 13: 29, 15: 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 28: 29, 29, 29, 29, 29, 35: 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 53: 29},
  1338  		{28, 28, 28, 28, 28, 28, 28, 28, 28, 13: 28, 15: 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28: 28, 28, 28, 28, 28, 35: 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 53: 28},
  1339  		{27, 27, 27, 27, 27, 27, 27, 27, 27, 13: 27, 15: 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28: 27, 27, 27, 27, 27, 35: 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 53: 27},
  1340  		{26, 26, 26, 26, 26, 26, 26, 26, 26, 13: 26, 15: 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 28: 26, 26, 26, 26, 26, 35: 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 53: 26},
  1341  		// 80
  1342  		{25, 25, 25, 25, 25, 25, 25, 25, 25, 13: 25, 15: 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 28: 25, 25, 25, 25, 25, 35: 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 53: 25},
  1343  		{24, 24, 24, 24, 24, 24, 24, 24, 24, 13: 24, 15: 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 28: 24, 24, 24, 24, 24, 35: 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 53: 24},
  1344  		{23, 23, 23, 23, 23, 23, 23, 23, 23, 13: 23, 15: 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 28: 23, 23, 23, 23, 23, 35: 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 53: 23},
  1345  		{22, 22, 22, 22, 22, 22, 22, 22, 22, 13: 22, 15: 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 28: 22, 22, 22, 22, 22, 35: 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 53: 22},
  1346  		{21, 21, 21, 21, 21, 21, 21, 21, 21, 13: 21, 15: 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 28: 21, 21, 21, 21, 21, 35: 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 53: 21},
  1347  		// 85
  1348  		{20, 20, 20, 20, 20, 20, 20, 20, 20, 13: 20, 15: 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 28: 20, 20, 20, 20, 20, 35: 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 53: 20},
  1349  		{19, 19, 19, 19, 19, 19, 19, 19, 19, 13: 19, 15: 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 28: 19, 19, 19, 19, 19, 35: 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 53: 19},
  1350  		{18, 18, 18, 18, 18, 18, 18, 18, 18, 13: 18, 15: 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 28: 18, 18, 18, 18, 18, 35: 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 53: 18},
  1351  		{17, 17, 17, 17, 17, 17, 17, 17, 17, 13: 17, 15: 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 28: 17, 17, 17, 17, 17, 35: 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 53: 17},
  1352  		{16, 16, 16, 16, 16, 16, 16, 16, 16, 13: 16, 15: 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 28: 16, 16, 16, 16, 16, 35: 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 53: 16},
  1353  		// 90
  1354  		{6: 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 74: 267, 284, 279, 283, 363, 281},
  1355  		{6: 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 74: 267, 284, 279, 283, 362, 281},
  1356  		{6: 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 74: 267, 284, 279, 283, 361, 281},
  1357  		{6: 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 74: 267, 284, 279, 283, 327, 281},
  1358  		{6: 324},
  1359  		// 95
  1360  		{101: 320},
  1361  		{6: 321},
  1362  		{96: 237, 98: 322},
  1363  		{2: 323},
  1364  		{5, 5, 5, 9: 5, 5, 5, 14: 5},
  1365  		// 100
  1366  		{96: 237, 98: 325},
  1367  		{2: 326},
  1368  		{6, 6, 6, 9: 6, 6, 6, 14: 6},
  1369  		{8, 8, 8, 8, 8, 8, 328, 8, 9: 8, 8, 8, 8, 8, 8, 27: 8, 33: 8, 8, 47: 8, 51: 8, 8, 54: 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 80: 8, 82: 8, 8, 8, 8, 8, 8, 90: 329, 107: 332, 109: 330, 331},
  1370  		{2: 212, 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 352, 287, 88: 286, 271, 91: 289, 270, 268, 354, 102: 353, 155: 351},
  1371  		// 105
  1372  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 59: 334, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 271, 91: 289, 270, 268, 333},
  1373  		{120, 120, 120, 120, 120, 120, 120, 120, 9: 120, 120, 120, 120, 120, 120, 27: 120, 33: 120, 120, 47: 120, 51: 120, 120, 54: 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 80: 120, 82: 120, 120, 120, 120, 120, 120, 90: 120},
  1374  		{119, 119, 119, 119, 119, 119, 119, 119, 9: 119, 119, 119, 119, 119, 119, 27: 119, 33: 119, 119, 47: 119, 51: 119, 119, 54: 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 80: 119, 82: 119, 119, 119, 119, 119, 119, 90: 119},
  1375  		{118, 118, 118, 118, 118, 118, 118, 118, 9: 118, 118, 118, 118, 118, 118, 27: 118, 33: 118, 118, 47: 118, 51: 118, 118, 54: 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 80: 118, 82: 118, 118, 118, 118, 118, 118, 90: 118},
  1376  		{51: 339, 338, 57: 346, 59: 347, 95: 337},
  1377  		// 110
  1378  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 57: 336, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 271, 91: 289, 270, 268, 335},
  1379  		{51: 339, 338, 57: 340, 95: 337},
  1380  		{66, 66, 66, 66, 66, 66, 66, 66, 9: 66, 66, 66, 66, 66, 66, 27: 66, 33: 66, 66, 47: 66, 51: 66, 66, 54: 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 80: 66, 82: 66, 66, 66, 66, 66, 66, 90: 66},
  1381  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 271, 91: 289, 270, 341},
  1382  		{3: 176, 176, 176, 176, 8: 176, 15: 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 28: 176, 176, 176, 176, 176, 35: 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 48: 176, 176, 176, 53: 176},
  1383  		// 115
  1384  		{3: 175, 175, 175, 175, 8: 175, 15: 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 28: 175, 175, 175, 175, 175, 35: 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 48: 175, 175, 175, 53: 175},
  1385  		{65, 65, 65, 65, 65, 65, 65, 65, 9: 65, 65, 65, 65, 65, 65, 27: 65, 33: 65, 65, 47: 65, 51: 65, 65, 54: 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 80: 65, 82: 65, 65, 65, 65, 65, 65, 90: 65},
  1386  		{177, 177, 177, 7: 177, 9: 177, 177, 177, 177, 177, 177, 27: 177, 33: 177, 177, 51: 177, 177, 54: 177, 177, 177, 177, 177, 177, 344, 343, 150: 342},
  1387  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 271, 91: 345, 270},
  1388  		{3: 42, 42, 42, 42, 8: 42, 15: 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 28: 42, 42, 42, 42, 42, 35: 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 48: 42, 42, 42, 53: 42},
  1389  		// 120
  1390  		{3: 41, 41, 41, 41, 8: 41, 15: 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 28: 41, 41, 41, 41, 41, 35: 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 48: 41, 41, 41, 53: 41},
  1391  		{43, 43, 43, 7: 43, 9: 43, 43, 43, 43, 43, 43, 27: 43, 33: 43, 43, 51: 43, 43, 54: 43, 43, 43, 43, 43, 43, 43, 43},
  1392  		{146, 146, 146, 146, 146, 146, 146, 146, 9: 146, 146, 146, 146, 146, 146, 27: 146, 33: 146, 146, 47: 146, 51: 146, 146, 54: 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 80: 146, 82: 146, 146, 146, 146, 146, 146, 90: 146},
  1393  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 57: 349, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 271, 91: 289, 270, 268, 348},
  1394  		{51: 339, 338, 57: 350, 95: 337},
  1395  		// 125
  1396  		{64, 64, 64, 64, 64, 64, 64, 64, 9: 64, 64, 64, 64, 64, 64, 27: 64, 33: 64, 64, 47: 64, 51: 64, 64, 54: 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 80: 64, 82: 64, 64, 64, 64, 64, 64, 90: 64},
  1397  		{63, 63, 63, 63, 63, 63, 63, 63, 9: 63, 63, 63, 63, 63, 63, 27: 63, 33: 63, 63, 47: 63, 51: 63, 63, 54: 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 80: 63, 82: 63, 63, 63, 63, 63, 63, 90: 63},
  1398  		{2: 360},
  1399  		{2: 359},
  1400  		{2: 211},
  1401  		// 130
  1402  		{171, 171, 171, 7: 171, 9: 171, 171, 51: 339, 338, 55: 171, 171, 95: 337, 167: 355},
  1403  		{2, 2, 2, 7: 357, 9: 2, 2, 55: 2, 2, 100: 356},
  1404  		{172, 172, 172, 9: 172, 172, 55: 172, 172},
  1405  		{1, 1, 1, 317, 316, 314, 282, 8: 288, 1, 1, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 55: 1, 1, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 271, 91: 289, 270, 268, 358},
  1406  		{170, 170, 170, 7: 170, 9: 170, 170, 51: 339, 338, 55: 170, 170, 95: 337},
  1407  		// 135
  1408  		{213, 213, 213, 213, 213, 213, 213, 213, 9: 213, 213, 213, 213, 213, 213, 27: 213, 33: 213, 213, 47: 213, 51: 213, 213, 54: 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 80: 213, 82: 213, 213, 213, 213, 213, 213, 90: 213},
  1409  		{214, 214, 214, 214, 214, 214, 214, 214, 9: 214, 214, 214, 214, 214, 214, 27: 214, 33: 214, 214, 47: 214, 51: 214, 214, 54: 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 80: 214, 82: 214, 214, 214, 214, 214, 214, 90: 214},
  1410  		{9, 9, 9, 9, 9, 9, 328, 9, 9: 9, 9, 9, 9, 9, 9, 27: 9, 33: 9, 9, 47: 9, 51: 9, 9, 54: 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 80: 9, 82: 9, 9, 9, 9, 9, 9, 90: 329, 107: 332, 109: 330, 331},
  1411  		{10, 10, 10, 10, 10, 10, 328, 10, 9: 10, 10, 10, 10, 10, 10, 27: 10, 33: 10, 10, 47: 10, 51: 10, 10, 54: 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 80: 10, 82: 10, 10, 10, 10, 10, 10, 90: 329, 107: 332, 109: 330, 331},
  1412  		{11, 11, 11, 11, 11, 11, 328, 11, 9: 11, 11, 11, 11, 11, 11, 27: 11, 33: 11, 11, 47: 11, 51: 11, 11, 54: 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 80: 11, 82: 11, 11, 11, 11, 11, 11, 90: 329, 107: 332, 109: 330, 331},
  1413  		// 140
  1414  		{8: 365},
  1415  		{103, 103, 103, 103, 103, 103, 103, 103, 9: 103, 103, 103, 103, 103, 103, 27: 103, 33: 103, 103, 47: 103, 51: 103, 103, 54: 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 80: 103, 82: 103, 103, 103, 103, 103, 103, 90: 103},
  1416  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 379},
  1417  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 378},
  1418  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 377},
  1419  		// 145
  1420  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 376},
  1421  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 375},
  1422  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 374},
  1423  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 373},
  1424  		{105, 105, 105, 105, 105, 105, 7: 105, 9: 105, 105, 105, 105, 105, 105, 27: 105, 33: 105, 105, 47: 105, 51: 105, 105, 54: 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 80: 105, 82: 105, 105, 105, 105, 105, 105},
  1425  		// 150
  1426  		{106, 106, 106, 106, 106, 106, 7: 106, 9: 106, 106, 106, 106, 106, 106, 27: 106, 33: 106, 106, 47: 106, 51: 106, 106, 54: 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 80: 106, 82: 106, 106, 106, 106, 106, 106},
  1427  		{107, 107, 107, 107, 107, 107, 7: 107, 9: 107, 107, 107, 107, 107, 107, 27: 107, 33: 107, 107, 47: 107, 51: 107, 107, 54: 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 80: 107, 82: 107, 107, 107, 107, 107, 107},
  1428  		{108, 108, 108, 108, 108, 108, 7: 108, 9: 108, 108, 108, 108, 108, 108, 27: 108, 33: 108, 108, 47: 108, 51: 108, 108, 54: 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 80: 108, 82: 108, 108, 108, 108, 108, 108},
  1429  		{109, 109, 109, 109, 109, 109, 7: 109, 9: 109, 109, 109, 109, 109, 109, 27: 109, 33: 109, 109, 47: 109, 51: 109, 109, 54: 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 80: 109, 82: 109, 109, 109, 109, 109, 109},
  1430  		{110, 110, 110, 110, 110, 110, 7: 110, 9: 110, 110, 110, 110, 110, 110, 27: 110, 33: 110, 110, 47: 110, 51: 110, 110, 54: 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 80: 110, 82: 110, 110, 110, 110, 110, 110},
  1431  		// 155
  1432  		{111, 111, 111, 111, 111, 111, 7: 111, 9: 111, 111, 111, 111, 111, 111, 27: 111, 33: 111, 111, 47: 111, 51: 111, 111, 54: 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 80: 111, 82: 111, 111, 111, 111, 111, 111},
  1433  		{2: 381, 51: 339, 338, 95: 337},
  1434  		{127, 127, 127, 127, 127, 127, 127, 127, 9: 127, 127, 127, 127, 127, 127, 27: 127, 33: 127, 127, 47: 127, 51: 127, 127, 54: 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 80: 127, 82: 127, 127, 127, 127, 127, 127, 90: 127},
  1435  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 389},
  1436  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 388},
  1437  		// 160
  1438  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 387},
  1439  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 386},
  1440  		{113, 113, 113, 113, 113, 113, 7: 113, 9: 113, 113, 113, 113, 113, 113, 27: 113, 33: 113, 113, 47: 113, 51: 113, 113, 54: 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 80: 372, 82: 370, 367, 371, 366, 368, 369},
  1441  		{114, 114, 114, 114, 114, 114, 7: 114, 9: 114, 114, 114, 114, 114, 114, 27: 114, 33: 114, 114, 47: 114, 51: 114, 114, 54: 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 80: 372, 82: 370, 367, 371, 366, 368, 369},
  1442  		{115, 115, 115, 115, 115, 115, 7: 115, 9: 115, 115, 115, 115, 115, 115, 27: 115, 33: 115, 115, 47: 115, 51: 115, 115, 54: 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 80: 372, 82: 370, 367, 371, 366, 368, 369},
  1443  		// 165
  1444  		{116, 116, 116, 116, 116, 116, 7: 116, 9: 116, 116, 116, 116, 116, 116, 27: 116, 33: 116, 116, 47: 116, 51: 116, 116, 54: 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 80: 372, 82: 370, 367, 371, 366, 368, 369},
  1445  		{3: 174, 174, 174, 174, 8: 174, 15: 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 28: 174, 174, 174, 174, 174, 35: 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 48: 174, 174, 174, 53: 174},
  1446  		{3: 173, 173, 173, 173, 8: 173, 15: 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 28: 173, 173, 173, 173, 173, 35: 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 48: 173, 173, 173, 53: 173},
  1447  		{6: 428},
  1448  		{64: 417, 416},
  1449  		// 170
  1450  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 413},
  1451  		{15: 410, 47: 411},
  1452  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 409},
  1453  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 408},
  1454  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 407},
  1455  		// 175
  1456  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 406},
  1457  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 405},
  1458  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 404},
  1459  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 403},
  1460  		{153, 153, 153, 385, 384, 382, 7: 153, 9: 153, 153, 153, 153, 153, 153, 27: 153, 33: 153, 153, 47: 153, 51: 153, 153, 54: 153, 153, 153, 153, 153, 153, 153, 153, 383, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153},
  1461  		// 180
  1462  		{154, 154, 154, 385, 384, 382, 7: 154, 9: 154, 154, 154, 154, 154, 154, 27: 154, 33: 154, 154, 47: 154, 51: 154, 154, 54: 154, 154, 154, 154, 154, 154, 154, 154, 383, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154},
  1463  		{155, 155, 155, 385, 384, 382, 7: 155, 9: 155, 155, 155, 155, 155, 155, 27: 155, 33: 155, 155, 47: 155, 51: 155, 155, 54: 155, 155, 155, 155, 155, 155, 155, 155, 383, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155},
  1464  		{156, 156, 156, 385, 384, 382, 7: 156, 9: 156, 156, 156, 156, 156, 156, 27: 156, 33: 156, 156, 47: 156, 51: 156, 156, 54: 156, 156, 156, 156, 156, 156, 156, 156, 383, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156},
  1465  		{157, 157, 157, 385, 384, 382, 7: 157, 9: 157, 157, 157, 157, 157, 157, 27: 157, 33: 157, 157, 47: 157, 51: 157, 157, 54: 157, 157, 157, 157, 157, 157, 157, 157, 383, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157},
  1466  		{158, 158, 158, 385, 384, 382, 7: 158, 9: 158, 158, 158, 158, 158, 158, 27: 158, 33: 158, 158, 47: 158, 51: 158, 158, 54: 158, 158, 158, 158, 158, 158, 158, 158, 383, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158},
  1467  		// 185
  1468  		{159, 159, 159, 385, 384, 382, 7: 159, 9: 159, 159, 159, 159, 159, 159, 27: 159, 33: 159, 159, 47: 159, 51: 159, 159, 54: 159, 159, 159, 159, 159, 159, 159, 159, 383, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159},
  1469  		{162, 162, 162, 7: 162, 9: 162, 162, 162, 162, 162, 162, 27: 162, 33: 162, 162, 51: 162, 162, 54: 162, 162, 162, 162, 162, 162, 162, 162},
  1470  		{15: 412},
  1471  		{161, 161, 161, 7: 161, 9: 161, 161, 161, 161, 161, 161, 27: 161, 33: 161, 161, 51: 161, 161, 54: 161, 161, 161, 161, 161, 161, 161, 161},
  1472  		{3: 385, 384, 382, 60: 414, 62: 383},
  1473  		// 190
  1474  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 415},
  1475  		{164, 164, 164, 385, 384, 382, 7: 164, 9: 164, 164, 164, 164, 164, 164, 27: 164, 33: 164, 164, 51: 164, 164, 54: 164, 164, 164, 164, 164, 164, 164, 164, 383},
  1476  		{6: 421},
  1477  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 418},
  1478  		{3: 385, 384, 382, 60: 419, 62: 383},
  1479  		// 195
  1480  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 420},
  1481  		{163, 163, 163, 385, 384, 382, 7: 163, 9: 163, 163, 163, 163, 163, 163, 27: 163, 33: 163, 163, 51: 163, 163, 54: 163, 163, 163, 163, 163, 163, 163, 163, 383},
  1482  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 271, 91: 289, 270, 268, 354, 96: 237, 98: 423, 102: 422},
  1483  		{2: 427},
  1484  		{425, 2: 99, 137: 424},
  1485  		// 200
  1486  		{2: 426},
  1487  		{2: 98},
  1488  		{165, 165, 165, 7: 165, 9: 165, 165, 165, 165, 165, 165, 27: 165, 33: 165, 165, 51: 165, 165, 54: 165, 165, 165, 165, 165, 165, 165, 165},
  1489  		{167, 167, 167, 7: 167, 9: 167, 167, 167, 167, 167, 167, 27: 167, 33: 167, 167, 51: 167, 167, 54: 167, 167, 167, 167, 167, 167, 167, 167},
  1490  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 271, 91: 289, 270, 268, 354, 96: 237, 98: 430, 102: 429},
  1491  		// 205
  1492  		{2: 433},
  1493  		{425, 2: 99, 137: 431},
  1494  		{2: 432},
  1495  		{166, 166, 166, 7: 166, 9: 166, 166, 166, 166, 166, 166, 27: 166, 33: 166, 166, 51: 166, 166, 54: 166, 166, 166, 166, 166, 166, 166, 166},
  1496  		{168, 168, 168, 7: 168, 9: 168, 168, 168, 168, 168, 168, 27: 168, 33: 168, 168, 51: 168, 168, 54: 168, 168, 168, 168, 168, 168, 168, 168},
  1497  		// 210
  1498  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 271, 91: 289, 270, 268, 435},
  1499  		{2: 436, 51: 339, 338, 95: 337},
  1500  		{200, 200, 200, 200, 200, 200, 200, 200, 9: 200, 200, 200, 200, 200, 200, 27: 200, 33: 200, 200, 47: 200, 51: 200, 200, 54: 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 80: 200, 82: 200, 200, 200, 200, 200, 200, 90: 200},
  1501  		{2, 2, 7: 439, 12: 2, 100: 438},
  1502  		{218, 218, 12: 218},
  1503  		// 215
  1504  		{1, 1, 8: 262, 12: 1, 97: 260, 145: 440},
  1505  		{216, 216, 7: 216, 12: 216},
  1506  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 271, 91: 289, 270, 268, 442},
  1507  		{219, 219, 7: 219, 12: 219, 51: 339, 338, 95: 337},
  1508  		{8: 256, 99: 444},
  1509  		// 220
  1510  		{40, 40},
  1511  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 451, 287, 88: 286, 271, 91: 289, 270, 268, 447, 149: 448, 169: 449, 185: 450},
  1512  		{3: 76, 76, 76, 76, 8: 76, 15: 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 28: 76, 76, 76, 76, 76, 35: 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 48: 76, 76, 76, 53: 76, 80: 76},
  1513  		{151, 151, 151, 7: 151, 9: 151, 151, 151, 151, 14: 151, 27: 151, 33: 151, 151, 51: 339, 338, 54: 151, 58: 509, 95: 337, 168: 508},
  1514  		{149, 149, 149, 7: 149, 9: 149, 149, 149, 149, 14: 149, 27: 149, 33: 149, 149, 54: 149},
  1515  		// 225
  1516  		{74, 74, 74, 7: 506, 9: 74, 74, 74, 74, 14: 74, 27: 74, 33: 74, 74, 54: 74},
  1517  		{83, 83, 83, 9: 83, 83, 83, 83, 14: 83, 27: 83, 33: 83, 83, 54: 453, 186: 452},
  1518  		{75, 75, 75, 9: 75, 75, 75, 75, 14: 75, 27: 75, 33: 75, 75, 54: 75},
  1519  		{86, 86, 86, 9: 86, 86, 86, 86, 14: 86, 27: 470, 33: 468, 469, 175: 472, 473, 471},
  1520  		{6: 456, 8: 455, 133: 457, 454, 183: 458},
  1521  		// 230
  1522  		{97, 97, 97, 7: 97, 9: 97, 97, 97, 97, 14: 97, 27: 97, 33: 97, 97, 58: 466, 103: 97, 182: 465},
  1523  		{101, 101, 101, 7: 101, 9: 101, 101, 101, 101, 14: 101, 27: 101, 33: 101, 101, 58: 101, 103: 101},
  1524  		{96: 237, 98: 462},
  1525  		{95, 95, 95, 7: 95, 9: 95, 95, 95, 95, 14: 95, 27: 95, 33: 95, 95},
  1526  		{2, 2, 2, 7: 459, 9: 2, 2, 2, 2, 14: 2, 27: 2, 33: 2, 2, 100: 460},
  1527  		// 235
  1528  		{1, 1, 1, 6: 456, 8: 455, 1, 1, 1, 1, 14: 1, 27: 1, 33: 1, 1, 133: 461, 454},
  1529  		{82, 82, 82, 9: 82, 82, 82, 82, 14: 82, 27: 82, 33: 82, 82},
  1530  		{94, 94, 94, 7: 94, 9: 94, 94, 94, 94, 14: 94, 27: 94, 33: 94, 94},
  1531  		{425, 2: 99, 137: 463},
  1532  		{2: 464},
  1533  		// 240
  1534  		{100, 100, 100, 7: 100, 9: 100, 100, 100, 100, 14: 100, 27: 100, 33: 100, 100, 58: 100, 103: 100},
  1535  		{102, 102, 102, 7: 102, 9: 102, 102, 102, 102, 14: 102, 27: 102, 33: 102, 102, 103: 102},
  1536  		{8: 467},
  1537  		{96, 96, 96, 7: 96, 9: 96, 96, 96, 96, 14: 96, 27: 96, 33: 96, 96, 103: 96},
  1538  		{105: 92, 113: 92},
  1539  		// 245
  1540  		{105: 91, 113: 91},
  1541  		{105: 90, 113: 90},
  1542  		{105: 89, 113: 500, 180: 501},
  1543  		{85, 85, 85, 9: 85, 85, 85, 85, 14: 85},
  1544  		{72, 72, 72, 9: 72, 72, 72, 266, 14: 72, 143: 475, 191: 474},
  1545  		// 250
  1546  		{70, 70, 70, 9: 70, 70, 70, 14: 476, 170: 478, 187: 477},
  1547  		{71, 71, 71, 9: 71, 71, 71, 14: 71},
  1548  		{146: 493},
  1549  		{68, 68, 68, 9: 68, 68, 479, 178: 481, 190: 480},
  1550  		{69, 69, 69, 9: 69, 69, 69},
  1551  		// 255
  1552  		{146: 488},
  1553  		{81, 81, 81, 9: 81, 483, 188: 482},
  1554  		{67, 67, 67, 9: 67, 67},
  1555  		{79, 79, 79, 9: 486, 189: 485},
  1556  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 271, 91: 289, 270, 268, 484},
  1557  		// 260
  1558  		{80, 80, 80, 9: 80, 51: 339, 338, 95: 337},
  1559  		{84, 84, 84},
  1560  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 271, 91: 289, 270, 268, 487},
  1561  		{78, 78, 78, 51: 339, 338, 95: 337},
  1562  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 271, 91: 289, 270, 268, 354, 102: 489},
  1563  		// 265
  1564  		{125, 125, 125, 9: 125, 125, 55: 491, 492, 179: 490},
  1565  		{126, 126, 126, 9: 126, 126},
  1566  		{124, 124, 124, 9: 124, 124},
  1567  		{123, 123, 123, 9: 123, 123},
  1568  		{8: 262, 97: 494, 147: 495},
  1569  		// 270
  1570  		{207, 207, 207, 7: 207, 9: 207, 207, 207, 157: 496},
  1571  		{147, 147, 147, 9: 147, 147, 147},
  1572  		{2, 2, 2, 7: 498, 9: 2, 2, 2, 100: 497},
  1573  		{208, 208, 208, 9: 208, 208, 208},
  1574  		{1, 1, 1, 8: 262, 1, 1, 1, 97: 499},
  1575  		// 275
  1576  		{206, 206, 206, 7: 206, 9: 206, 206, 206},
  1577  		{105: 88},
  1578  		{105: 502},
  1579  		{6: 456, 8: 455, 133: 503, 454},
  1580  		{103: 504},
  1581  		// 280
  1582  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 271, 91: 289, 270, 268, 505},
  1583  		{87, 87, 87, 9: 87, 87, 87, 87, 14: 87, 51: 339, 338, 95: 337},
  1584  		{73, 73, 73, 317, 316, 314, 282, 8: 288, 73, 73, 73, 73, 14: 73, 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 73, 302, 303, 304, 305, 301, 73, 73, 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 73, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 271, 91: 289, 270, 268, 447, 149: 507},
  1585  		{148, 148, 148, 7: 148, 9: 148, 148, 148, 148, 14: 148, 27: 148, 33: 148, 148, 54: 148},
  1586  		{152, 152, 152, 7: 152, 9: 152, 152, 152, 152, 14: 152, 27: 152, 33: 152, 152, 54: 152},
  1587  		// 285
  1588  		{8: 510},
  1589  		{150, 150, 150, 7: 150, 9: 150, 150, 150, 150, 14: 150, 27: 150, 33: 150, 150, 54: 150},
  1590  		{8: 256, 99: 512},
  1591  		{6: 143, 96: 143, 104: 514, 106: 143, 171: 513},
  1592  		{6: 518, 96: 141, 106: 141, 172: 517},
  1593  		// 290
  1594  		{47: 515},
  1595  		{101: 516},
  1596  		{6: 142, 96: 142, 106: 142},
  1597  		{96: 237, 98: 522, 106: 521},
  1598  		{8: 262, 97: 494, 147: 519},
  1599  		// 295
  1600  		{2: 520},
  1601  		{96: 140, 106: 140},
  1602  		{6: 523},
  1603  		{144, 144},
  1604  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 271, 91: 289, 270, 268, 354, 102: 524},
  1605  		// 300
  1606  		{2: 525},
  1607  		{139, 139, 7: 139, 173: 526},
  1608  		{2, 2, 7: 528, 100: 527},
  1609  		{145, 145},
  1610  		{1, 1, 6: 529},
  1611  		// 305
  1612  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 271, 91: 289, 270, 268, 354, 102: 530},
  1613  		{2: 531},
  1614  		{138, 138, 7: 138},
  1615  		{179, 179},
  1616  		{8: 184, 104: 540, 165: 539},
  1617  		// 310
  1618  		{8: 256, 99: 535, 104: 536},
  1619  		{182, 182},
  1620  		{101: 537},
  1621  		{8: 256, 99: 538},
  1622  		{181, 181},
  1623  		// 315
  1624  		{8: 542},
  1625  		{101: 541},
  1626  		{8: 183},
  1627  		{185, 185},
  1628  		{8: 256, 99: 544},
  1629  		// 320
  1630  		{187, 187, 12: 266, 143: 545},
  1631  		{186, 186},
  1632  		{112: 577},
  1633  		{112: 195},
  1634  		{8: 256, 99: 549, 104: 550},
  1635  		// 325
  1636  		{6: 572},
  1637  		{47: 551},
  1638  		{101: 552},
  1639  		{8: 256, 99: 553},
  1640  		{6: 554},
  1641  		// 330
  1642  		{8: 262, 97: 555, 111: 556},
  1643  		{16: 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 74: 562},
  1644  		{2: 192, 7: 192, 148: 557},
  1645  		{2: 2, 7: 559, 100: 558},
  1646  		{2: 561},
  1647  		// 335
  1648  		{2: 1, 8: 262, 97: 555, 111: 560},
  1649  		{2: 191, 7: 191},
  1650  		{193, 193},
  1651  		{202, 202, 202, 317, 316, 314, 282, 202, 288, 13: 202, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 564, 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 271, 91: 289, 270, 268, 565, 158: 566, 563},
  1652  		{189, 189, 189, 7: 189, 13: 569, 162: 570, 568},
  1653  		// 340
  1654  		{15: 567},
  1655  		{203, 203, 203, 7: 203, 13: 203, 51: 339, 338, 95: 337},
  1656  		{201, 201, 201, 7: 201, 13: 201},
  1657  		{204, 204, 204, 7: 204, 13: 204},
  1658  		{210, 210, 210, 7: 210},
  1659  		// 345
  1660  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 271, 91: 289, 270, 268, 571},
  1661  		{188, 188, 188, 7: 188},
  1662  		{190, 190, 190, 7: 190, 51: 339, 338, 95: 337},
  1663  		{8: 262, 97: 555, 111: 573},
  1664  		{2: 192, 7: 192, 148: 574},
  1665  		// 350
  1666  		{2: 2, 7: 559, 100: 575},
  1667  		{2: 576},
  1668  		{194, 194},
  1669  		{8: 198, 104: 579, 160: 578},
  1670  		{8: 582},
  1671  		// 355
  1672  		{47: 580},
  1673  		{101: 581},
  1674  		{8: 197},
  1675  		{103: 583},
  1676  		{8: 584},
  1677  		// 360
  1678  		{6: 585},
  1679  		{3: 317, 316, 314, 282, 8: 288, 15: 273, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 298, 28: 302, 303, 304, 305, 301, 35: 306, 307, 308, 310, 311, 312, 313, 309, 272, 275, 276, 277, 48: 280, 278, 274, 53: 315, 74: 267, 284, 279, 283, 285, 281, 81: 287, 88: 286, 271, 91: 289, 270, 268, 354, 102: 586},
  1680  		{2: 587},
  1681  		{199, 199},
  1682  		{215, 215},
  1683  		// 365
  1684  		{8: 256, 99: 590},
  1685  		{108: 592, 144: 591},
  1686  		{8: 262, 97: 555, 111: 595},
  1687  		{156: 593},
  1688  		{8: 262, 97: 594},
  1689  		// 370
  1690  		{220, 220},
  1691  		{221, 221},
  1692  		{1: 222, 51: 339, 338, 95: 337},
  1693  		{180, 180, 96: 237, 98: 250, 108: 233, 115: 228, 239, 229, 240, 230, 241, 231, 242, 243, 244, 232, 245, 246, 238, 234, 247, 235, 248, 135: 236, 249, 138: 598, 254, 251, 255, 252},
  1694  		{46, 46},
  1695  	}
  1696  )
  1697  
  1698  var yyDebug = 0
  1699  
  1700  type yyLexer interface {
  1701  	Lex(lval *yySymType) int
  1702  	Error(s string)
  1703  }
  1704  
  1705  type yyLexerEx interface {
  1706  	yyLexer
  1707  	Reduced(rule, state int, lval *yySymType) bool
  1708  }
  1709  
  1710  func yySymName(c int) (s string) {
  1711  	x, ok := yyXLAT[c]
  1712  	if ok {
  1713  		return yySymNames[x]
  1714  	}
  1715  
  1716  	if c < 0x7f {
  1717  		return __yyfmt__.Sprintf("%q", c)
  1718  	}
  1719  
  1720  	return __yyfmt__.Sprintf("%d", c)
  1721  }
  1722  
  1723  func yylex1(yylex yyLexer, lval *yySymType) (n int) {
  1724  	n = yylex.Lex(lval)
  1725  	if n <= 0 {
  1726  		n = yyEOFCode
  1727  	}
  1728  	if yyDebug >= 3 {
  1729  		__yyfmt__.Printf("\nlex %s(%#x %d), lval: %+v\n", yySymName(n), n, n, lval)
  1730  	}
  1731  	return n
  1732  }
  1733  
  1734  func yyParse(yylex yyLexer) int {
  1735  	const yyError = 199
  1736  
  1737  	yyEx, _ := yylex.(yyLexerEx)
  1738  	var yyn int
  1739  	var yylval yySymType
  1740  	var yyVAL yySymType
  1741  	yyS := make([]yySymType, 200)
  1742  
  1743  	Nerrs := 0   /* number of errors */
  1744  	Errflag := 0 /* error recovery flag */
  1745  	yyerrok := func() {
  1746  		if yyDebug >= 2 {
  1747  			__yyfmt__.Printf("yyerrok()\n")
  1748  		}
  1749  		Errflag = 0
  1750  	}
  1751  	_ = yyerrok
  1752  	yystate := 0
  1753  	yychar := -1
  1754  	var yyxchar int
  1755  	var yyshift int
  1756  	yyp := -1
  1757  	goto yystack
  1758  
  1759  ret0:
  1760  	return 0
  1761  
  1762  ret1:
  1763  	return 1
  1764  
  1765  yystack:
  1766  	/* put a state and value onto the stack */
  1767  	yyp++
  1768  	if yyp >= len(yyS) {
  1769  		nyys := make([]yySymType, len(yyS)*2)
  1770  		copy(nyys, yyS)
  1771  		yyS = nyys
  1772  	}
  1773  	yyS[yyp] = yyVAL
  1774  	yyS[yyp].yys = yystate
  1775  
  1776  yynewstate:
  1777  	if yychar < 0 {
  1778  		yylval.yys = yystate
  1779  		yychar = yylex1(yylex, &yylval)
  1780  		var ok bool
  1781  		if yyxchar, ok = yyXLAT[yychar]; !ok {
  1782  			yyxchar = len(yySymNames) // > tab width
  1783  		}
  1784  	}
  1785  	if yyDebug >= 4 {
  1786  		var a []int
  1787  		for _, v := range yyS[:yyp+1] {
  1788  			a = append(a, v.yys)
  1789  		}
  1790  		__yyfmt__.Printf("state stack %v\n", a)
  1791  	}
  1792  	row := yyParseTab[yystate]
  1793  	yyn = 0
  1794  	if yyxchar < len(row) {
  1795  		if yyn = int(row[yyxchar]); yyn != 0 {
  1796  			yyn += yyTabOfs
  1797  		}
  1798  	}
  1799  	switch {
  1800  	case yyn > 0: // shift
  1801  		yychar = -1
  1802  		yyVAL = yylval
  1803  		yystate = yyn
  1804  		yyshift = yyn
  1805  		if yyDebug >= 2 {
  1806  			__yyfmt__.Printf("shift, and goto state %d\n", yystate)
  1807  		}
  1808  		if Errflag > 0 {
  1809  			Errflag--
  1810  		}
  1811  		goto yystack
  1812  	case yyn < 0: // reduce
  1813  	case yystate == 1: // accept
  1814  		if yyDebug >= 2 {
  1815  			__yyfmt__.Println("accept")
  1816  		}
  1817  		goto ret0
  1818  	}
  1819  
  1820  	if yyn == 0 {
  1821  		/* error ... attempt to resume parsing */
  1822  		switch Errflag {
  1823  		case 0: /* brand new error */
  1824  			if yyDebug >= 1 {
  1825  				__yyfmt__.Printf("no action for %s in state %d\n", yySymName(yychar), yystate)
  1826  			}
  1827  			msg, ok := yyXErrors[yyXError{yystate, yyxchar}]
  1828  			if !ok {
  1829  				msg, ok = yyXErrors[yyXError{yystate, -1}]
  1830  			}
  1831  			if !ok && yyshift != 0 {
  1832  				msg, ok = yyXErrors[yyXError{yyshift, yyxchar}]
  1833  			}
  1834  			if !ok {
  1835  				msg, ok = yyXErrors[yyXError{yyshift, -1}]
  1836  			}
  1837  			if yychar > 0 {
  1838  				ls := yyTokenLiteralStrings[yychar]
  1839  				if ls == "" {
  1840  					ls = yySymName(yychar)
  1841  				}
  1842  				if ls != "" {
  1843  					switch {
  1844  					case msg == "":
  1845  						msg = __yyfmt__.Sprintf("unexpected %s", ls)
  1846  					default:
  1847  						msg = __yyfmt__.Sprintf("unexpected %s, %s", ls, msg)
  1848  					}
  1849  				}
  1850  			}
  1851  			if msg == "" {
  1852  				msg = "syntax error"
  1853  			}
  1854  			yylex.Error(msg)
  1855  			Nerrs++
  1856  			fallthrough
  1857  
  1858  		case 1, 2: /* incompletely recovered error ... try again */
  1859  			Errflag = 3
  1860  
  1861  			/* find a state where "error" is a legal shift action */
  1862  			for yyp >= 0 {
  1863  				row := yyParseTab[yyS[yyp].yys]
  1864  				if yyError < len(row) {
  1865  					yyn = int(row[yyError]) + yyTabOfs
  1866  					if yyn > 0 { // hit
  1867  						if yyDebug >= 2 {
  1868  							__yyfmt__.Printf("error recovery found error shift in state %d\n", yyS[yyp].yys)
  1869  						}
  1870  						yystate = yyn /* simulate a shift of "error" */
  1871  						goto yystack
  1872  					}
  1873  				}
  1874  
  1875  				/* the current p has no shift on "error", pop stack */
  1876  				if yyDebug >= 2 {
  1877  					__yyfmt__.Printf("error recovery pops state %d\n", yyS[yyp].yys)
  1878  				}
  1879  				yyp--
  1880  			}
  1881  			/* there is no state on the stack with an error shift ... abort */
  1882  			if yyDebug >= 2 {
  1883  				__yyfmt__.Printf("error recovery failed\n")
  1884  			}
  1885  			goto ret1
  1886  
  1887  		case 3: /* no shift yet; clobber input char */
  1888  			if yyDebug >= 2 {
  1889  				__yyfmt__.Printf("error recovery discards %s\n", yySymName(yychar))
  1890  			}
  1891  			if yychar == yyEOFCode {
  1892  				goto ret1
  1893  			}
  1894  
  1895  			yychar = -1
  1896  			goto yynewstate /* try again in the same state */
  1897  		}
  1898  	}
  1899  
  1900  	r := -yyn
  1901  	x0 := yyReductions[r]
  1902  	x, n := x0.xsym, x0.components
  1903  	yypt := yyp
  1904  	_ = yypt // guard against "declared and not used"
  1905  
  1906  	yyp -= n
  1907  	if yyp+1 >= len(yyS) {
  1908  		nyys := make([]yySymType, len(yyS)*2)
  1909  		copy(nyys, yyS)
  1910  		yyS = nyys
  1911  	}
  1912  	yyVAL = yyS[yyp+1]
  1913  
  1914  	/* consult goto table to find next state */
  1915  	exState := yystate
  1916  	yystate = int(yyParseTab[yyS[yyp].yys][x]) + yyTabOfs
  1917  	/* reduction by production r */
  1918  	if yyDebug >= 2 {
  1919  		__yyfmt__.Printf("reduce using rule %v (%s), and goto state %d\n", r, yySymNames[x], yystate)
  1920  	}
  1921  
  1922  	switch r {
  1923  	case 2:
  1924  		{
  1925  			yylex.(*lexer).expr = expr(yyS[yypt-0].item)
  1926  		}
  1927  	case 3:
  1928  		{
  1929  			yyVAL.item = &alterTableAddStmt{tableName: yyS[yypt-2].item.(string), c: yyS[yypt-0].item.(*col)}
  1930  		}
  1931  	case 4:
  1932  		{
  1933  			yyVAL.item = &alterTableDropColumnStmt{tableName: yyS[yypt-3].item.(string), colName: yyS[yypt-0].item.(string)}
  1934  		}
  1935  	case 5:
  1936  		{
  1937  			yyVAL.item = assignment{colName: yyS[yypt-2].item.(string), expr: expr(yyS[yypt-0].item)}
  1938  		}
  1939  	case 6:
  1940  		{
  1941  			yyVAL.item = append([]assignment{yyS[yypt-2].item.(assignment)}, yyS[yypt-1].item.([]assignment)...)
  1942  		}
  1943  	case 7:
  1944  		{
  1945  			yyVAL.item = []assignment{}
  1946  		}
  1947  	case 8:
  1948  		{
  1949  			yyVAL.item = append(yyS[yypt-2].item.([]assignment), yyS[yypt-0].item.(assignment))
  1950  		}
  1951  	case 9:
  1952  		{
  1953  			yyVAL.item = beginTransactionStmt{}
  1954  		}
  1955  	case 10:
  1956  		{
  1957  			yyVAL.item = yyS[yypt-1].item
  1958  		}
  1959  	case 11:
  1960  		{
  1961  			yyVAL.item = '*'
  1962  		}
  1963  	case 12:
  1964  		{
  1965  			yyVAL.item = []expression{}
  1966  		}
  1967  	case 14:
  1968  		{
  1969  			x := &col{name: yyS[yypt-3].item.(string), typ: yyS[yypt-2].item.(int), constraint: yyS[yypt-1].item.(*constraint)}
  1970  			if yyS[yypt-0].item != nil {
  1971  				x.dflt = expr(yyS[yypt-0].item)
  1972  			}
  1973  			yyVAL.item = x
  1974  		}
  1975  	case 16:
  1976  		{
  1977  			yyVAL.item = append([]string{yyS[yypt-2].item.(string)}, yyS[yypt-1].item.([]string)...)
  1978  		}
  1979  	case 17:
  1980  		{
  1981  			yyVAL.item = []string{}
  1982  		}
  1983  	case 18:
  1984  		{
  1985  			yyVAL.item = append(yyS[yypt-2].item.([]string), yyS[yypt-0].item.(string))
  1986  		}
  1987  	case 19:
  1988  		{
  1989  			yyVAL.item = commitStmt{}
  1990  		}
  1991  	case 20:
  1992  		{
  1993  			yyVAL.item = &constraint{}
  1994  		}
  1995  	case 21:
  1996  		{
  1997  			yyVAL.item = &constraint{expr(yyS[yypt-0].item)}
  1998  		}
  1999  	case 22:
  2000  		{
  2001  			yyVAL.item = (*constraint)(nil)
  2002  		}
  2003  	case 24:
  2004  		{
  2005  			yyVAL.item = &conversion{typ: yyS[yypt-3].item.(int), val: expr(yyS[yypt-1].item)}
  2006  		}
  2007  	case 25:
  2008  		{
  2009  			indexName, tableName, exprList := yyS[yypt-5].item.(string), yyS[yypt-3].item.(string), yyS[yypt-1].item.([]expression)
  2010  			simpleIndex := len(exprList) == 1
  2011  			var columnName string
  2012  			if simpleIndex {
  2013  				expr := exprList[0]
  2014  				switch x := expr.(type) {
  2015  				case *ident:
  2016  					columnName = x.s
  2017  				case *call:
  2018  					if x.f == "id" && len(x.arg) == 0 {
  2019  						columnName = "id()"
  2020  						break
  2021  					}
  2022  
  2023  					simpleIndex = false
  2024  				default:
  2025  					simpleIndex = false
  2026  				}
  2027  			}
  2028  
  2029  			if !simpleIndex {
  2030  				columnName = ""
  2031  			}
  2032  			yyVAL.item = &createIndexStmt{unique: yyS[yypt-8].item.(bool), ifNotExists: yyS[yypt-6].item.(bool), indexName: indexName, tableName: tableName, colName: columnName, exprList: exprList}
  2033  
  2034  			if indexName == tableName || indexName == columnName {
  2035  				yylex.(*lexer).err("index name collision: %s", indexName)
  2036  				return 1
  2037  			}
  2038  
  2039  			if yylex.(*lexer).root {
  2040  				break
  2041  			}
  2042  
  2043  			if isSystemName[indexName] || isSystemName[tableName] {
  2044  				yylex.(*lexer).err("name is used for system tables: %s", indexName)
  2045  				return 1
  2046  			}
  2047  		}
  2048  	case 26:
  2049  		{
  2050  			yyVAL.item = false
  2051  		}
  2052  	case 27:
  2053  		{
  2054  			yyVAL.item = true
  2055  		}
  2056  	case 28:
  2057  		{
  2058  			yyVAL.item = false
  2059  		}
  2060  	case 29:
  2061  		{
  2062  			yyVAL.item = true
  2063  		}
  2064  	case 30:
  2065  		{
  2066  			nm := yyS[yypt-5].item.(string)
  2067  			yyVAL.item = &createTableStmt{tableName: nm, cols: append([]*col{yyS[yypt-3].item.(*col)}, yyS[yypt-2].item.([]*col)...)}
  2068  
  2069  			if yylex.(*lexer).root {
  2070  				break
  2071  			}
  2072  
  2073  			if isSystemName[nm] {
  2074  				yylex.(*lexer).err("name is used for system tables: %s", nm)
  2075  				return 1
  2076  			}
  2077  		}
  2078  	case 31:
  2079  		{
  2080  			nm := yyS[yypt-5].item.(string)
  2081  			yyVAL.item = &createTableStmt{ifNotExists: true, tableName: nm, cols: append([]*col{yyS[yypt-3].item.(*col)}, yyS[yypt-2].item.([]*col)...)}
  2082  
  2083  			if yylex.(*lexer).root {
  2084  				break
  2085  			}
  2086  
  2087  			if isSystemName[nm] {
  2088  				yylex.(*lexer).err("name is used for system tables: %s", nm)
  2089  				return 1
  2090  			}
  2091  		}
  2092  	case 32:
  2093  		{
  2094  			yyVAL.item = []*col{}
  2095  		}
  2096  	case 33:
  2097  		{
  2098  			yyVAL.item = append(yyS[yypt-2].item.([]*col), yyS[yypt-0].item.(*col))
  2099  		}
  2100  	case 34:
  2101  		{
  2102  			yyVAL.item = yyS[yypt-0].item
  2103  		}
  2104  	case 35:
  2105  		{
  2106  			yyVAL.item = nil
  2107  		}
  2108  	case 37:
  2109  		{
  2110  			yyVAL.item = &truncateTableStmt{yyS[yypt-0].item.(string)}
  2111  
  2112  			if yylex.(*lexer).root {
  2113  				break
  2114  			}
  2115  
  2116  			if isSystemName[yyS[yypt-0].item.(string)] {
  2117  				yylex.(*lexer).err("name is used for system tables: %s", yyS[yypt-0].item.(string))
  2118  				return 1
  2119  			}
  2120  		}
  2121  	case 38:
  2122  		{
  2123  			yyVAL.item = &deleteStmt{tableName: yyS[yypt-1].item.(string), where: yyS[yypt-0].item.(*whereRset).expr}
  2124  
  2125  			if yylex.(*lexer).root {
  2126  				break
  2127  			}
  2128  
  2129  			if isSystemName[yyS[yypt-1].item.(string)] {
  2130  				yylex.(*lexer).err("name is used for system tables: %s", yyS[yypt-1].item.(string))
  2131  				return 1
  2132  			}
  2133  		}
  2134  	case 39:
  2135  		{
  2136  			yyVAL.item = &dropIndexStmt{ifExists: yyS[yypt-1].item.(bool), indexName: yyS[yypt-0].item.(string)}
  2137  		}
  2138  	case 40:
  2139  		{
  2140  			yyVAL.item = false
  2141  		}
  2142  	case 41:
  2143  		{
  2144  			yyVAL.item = true
  2145  		}
  2146  	case 42:
  2147  		{
  2148  			nm := yyS[yypt-0].item.(string)
  2149  			yyVAL.item = &dropTableStmt{tableName: nm}
  2150  
  2151  			if yylex.(*lexer).root {
  2152  				break
  2153  			}
  2154  
  2155  			if isSystemName[nm] {
  2156  				yylex.(*lexer).err("name is used for system tables: %s", nm)
  2157  				return 1
  2158  			}
  2159  		}
  2160  	case 43:
  2161  		{
  2162  			nm := yyS[yypt-0].item.(string)
  2163  			yyVAL.item = &dropTableStmt{ifExists: true, tableName: nm}
  2164  
  2165  			if yylex.(*lexer).root {
  2166  				break
  2167  			}
  2168  
  2169  			if isSystemName[nm] {
  2170  				yylex.(*lexer).err("name is used for system tables: %s", nm)
  2171  				return 1
  2172  			}
  2173  		}
  2174  	case 44:
  2175  		{
  2176  			yyVAL.item = nil
  2177  		}
  2178  	case 45:
  2179  		{
  2180  			yyVAL.item = &explainStmt{yyS[yypt-0].item.(stmt)}
  2181  		}
  2182  	case 47:
  2183  		{
  2184  			var err error
  2185  			if yyVAL.item, err = newBinaryOperation(oror, yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
  2186  				yylex.(*lexer).err("%v", err)
  2187  				return 1
  2188  			}
  2189  		}
  2190  	case 52:
  2191  		{
  2192  			yyVAL.item = append([]expression{expr(yyS[yypt-2].item)}, yyS[yypt-1].item.([]expression)...)
  2193  		}
  2194  	case 53:
  2195  		{
  2196  			yyVAL.item = []expression(nil)
  2197  		}
  2198  	case 54:
  2199  		{
  2200  			yyVAL.item = append(yyS[yypt-2].item.([]expression), expr(yyS[yypt-0].item))
  2201  		}
  2202  	case 56:
  2203  		{
  2204  			yyVAL.item = &pIn{expr: yyS[yypt-4].item.(expression), list: yyS[yypt-1].item.([]expression)}
  2205  		}
  2206  	case 57:
  2207  		{
  2208  			yyVAL.item = &pIn{expr: yyS[yypt-5].item.(expression), not: true, list: yyS[yypt-1].item.([]expression)}
  2209  		}
  2210  	case 58:
  2211  		{
  2212  			yyVAL.item = &pIn{expr: yyS[yypt-5].item.(expression), sel: yyS[yypt-2].item.(*selectStmt)}
  2213  		}
  2214  	case 59:
  2215  		{
  2216  			yyVAL.item = &pIn{expr: yyS[yypt-6].item.(expression), not: true, sel: yyS[yypt-2].item.(*selectStmt)}
  2217  		}
  2218  	case 60:
  2219  		{
  2220  			var err error
  2221  			if yyVAL.item, err = newBetween(yyS[yypt-4].item, yyS[yypt-2].item, yyS[yypt-0].item, false); err != nil {
  2222  				yylex.(*lexer).err("%v", err)
  2223  				return 1
  2224  			}
  2225  		}
  2226  	case 61:
  2227  		{
  2228  			var err error
  2229  			if yyVAL.item, err = newBetween(yyS[yypt-5].item, yyS[yypt-2].item, yyS[yypt-0].item, true); err != nil {
  2230  				yylex.(*lexer).err("%v", err)
  2231  				return 1
  2232  			}
  2233  		}
  2234  	case 62:
  2235  		{
  2236  			yyVAL.item = &isNull{expr: yyS[yypt-2].item.(expression)}
  2237  		}
  2238  	case 63:
  2239  		{
  2240  			yyVAL.item = &isNull{expr: yyS[yypt-3].item.(expression), not: true}
  2241  		}
  2242  	case 65:
  2243  		{
  2244  			var err error
  2245  			if yyVAL.item, err = newBinaryOperation(ge, yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
  2246  				yylex.(*lexer).err("%v", err)
  2247  				return 1
  2248  			}
  2249  		}
  2250  	case 66:
  2251  		{
  2252  			var err error
  2253  			if yyVAL.item, err = newBinaryOperation('>', yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
  2254  				yylex.(*lexer).err("%v", err)
  2255  				return 1
  2256  			}
  2257  		}
  2258  	case 67:
  2259  		{
  2260  			var err error
  2261  			if yyVAL.item, err = newBinaryOperation(le, yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
  2262  				yylex.(*lexer).err("%v", err)
  2263  				return 1
  2264  			}
  2265  		}
  2266  	case 68:
  2267  		{
  2268  			var err error
  2269  			if yyVAL.item, err = newBinaryOperation('<', yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
  2270  				yylex.(*lexer).err("%v", err)
  2271  				return 1
  2272  			}
  2273  		}
  2274  	case 69:
  2275  		{
  2276  			var err error
  2277  			if yyVAL.item, err = newBinaryOperation(neq, yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
  2278  				yylex.(*lexer).err("%v", err)
  2279  				return 1
  2280  			}
  2281  		}
  2282  	case 70:
  2283  		{
  2284  			var err error
  2285  			if yyVAL.item, err = newBinaryOperation(eq, yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
  2286  				yylex.(*lexer).err("%v", err)
  2287  				return 1
  2288  			}
  2289  		}
  2290  	case 71:
  2291  		{
  2292  			yyVAL.item = &pLike{expr: yyS[yypt-2].item.(expression), pattern: yyS[yypt-0].item.(expression)}
  2293  		}
  2294  	case 72:
  2295  		{
  2296  			expr, name := expr(yyS[yypt-1].item), yyS[yypt-0].item.(string)
  2297  			if name == "" {
  2298  				s, ok := expr.(*ident)
  2299  				if ok {
  2300  					name = s.s
  2301  				}
  2302  			}
  2303  			yyVAL.item = &fld{expr: expr, name: name}
  2304  		}
  2305  	case 73:
  2306  		{
  2307  			yyVAL.item = ""
  2308  		}
  2309  	case 74:
  2310  		{
  2311  			yyVAL.item = yyS[yypt-0].item
  2312  		}
  2313  	case 75:
  2314  		{
  2315  			yyVAL.item = []*fld{yyS[yypt-0].item.(*fld)}
  2316  		}
  2317  	case 76:
  2318  		{
  2319  			l, f := yyS[yypt-2].item.([]*fld), yyS[yypt-0].item.(*fld)
  2320  			if f.name != "" {
  2321  				if f := findFld(l, f.name); f != nil {
  2322  					yylex.(*lexer).err("duplicate field name %q", f.name)
  2323  					return 1
  2324  				}
  2325  			}
  2326  
  2327  			yyVAL.item = append(yyS[yypt-2].item.([]*fld), yyS[yypt-0].item.(*fld))
  2328  		}
  2329  	case 77:
  2330  		{
  2331  			yyVAL.item = &groupByRset{colNames: yyS[yypt-0].item.([]string)}
  2332  		}
  2333  	case 78:
  2334  		{
  2335  			yyVAL.item = yyS[yypt-1].item
  2336  		}
  2337  	case 79:
  2338  		{
  2339  			yyVAL.item = &insertIntoStmt{tableName: yyS[yypt-8].item.(string), ifNotExists: yyS[yypt-7].item.(bool), colNames: yyS[yypt-6].item.([]string), lists: append([][]expression{yyS[yypt-3].item.([]expression)}, yyS[yypt-1].item.([][]expression)...)}
  2340  
  2341  			if yylex.(*lexer).root {
  2342  				break
  2343  			}
  2344  
  2345  			if isSystemName[yyS[yypt-8].item.(string)] {
  2346  				yylex.(*lexer).err("name is used for system tables: %s", yyS[yypt-8].item.(string))
  2347  				return 1
  2348  			}
  2349  		}
  2350  	case 80:
  2351  		{
  2352  			yyVAL.item = &insertIntoStmt{tableName: yyS[yypt-3].item.(string), ifNotExists: yyS[yypt-2].item.(bool), colNames: yyS[yypt-1].item.([]string), sel: yyS[yypt-0].item.(*selectStmt)}
  2353  		}
  2354  	case 81:
  2355  		{
  2356  			yyVAL.item = false
  2357  		}
  2358  	case 82:
  2359  		{
  2360  			yyVAL.item = true
  2361  		}
  2362  	case 83:
  2363  		{
  2364  			yyVAL.item = []string{}
  2365  		}
  2366  	case 84:
  2367  		{
  2368  			yyVAL.item = yyS[yypt-1].item
  2369  		}
  2370  	case 85:
  2371  		{
  2372  			yyVAL.item = [][]expression{}
  2373  		}
  2374  	case 86:
  2375  		{
  2376  			yyVAL.item = append(yyS[yypt-4].item.([][]expression), yyS[yypt-1].item.([]expression))
  2377  		}
  2378  	case 94:
  2379  		{
  2380  			yyVAL.item = value{yyS[yypt-0].item}
  2381  		}
  2382  	case 95:
  2383  		{
  2384  			n := yyS[yypt-0].item.(int)
  2385  			yyVAL.item = parameter{n}
  2386  			l := yylex.(*lexer)
  2387  			l.params = mathutil.Max(l.params, n)
  2388  			if n == 0 {
  2389  				l.err("parameter number must be non zero")
  2390  				return 1
  2391  			}
  2392  		}
  2393  	case 96:
  2394  		{
  2395  			yyVAL.item = &ident{yyS[yypt-0].item.(string)}
  2396  		}
  2397  	case 97:
  2398  		{
  2399  			yyVAL.item = &pexpr{expr: expr(yyS[yypt-1].item)}
  2400  		}
  2401  	case 98:
  2402  		{
  2403  			yyVAL.item = &orderByRset{by: yyS[yypt-1].item.([]expression), asc: yyS[yypt-0].item.(bool)}
  2404  		}
  2405  	case 99:
  2406  		{
  2407  			yyVAL.item = true // ASC by default
  2408  		}
  2409  	case 100:
  2410  		{
  2411  			yyVAL.item = true
  2412  		}
  2413  	case 101:
  2414  		{
  2415  			yyVAL.item = false
  2416  		}
  2417  	case 104:
  2418  		{
  2419  			var err error
  2420  			if yyVAL.item, err = newIndex(yyS[yypt-1].item.(expression), expr(yyS[yypt-0].item)); err != nil {
  2421  				yylex.(*lexer).err("%v", err)
  2422  				return 1
  2423  			}
  2424  		}
  2425  	case 105:
  2426  		{
  2427  			var err error
  2428  			s := yyS[yypt-0].item.([2]*expression)
  2429  			if yyVAL.item, err = newSlice(yyS[yypt-1].item.(expression), s[0], s[1]); err != nil {
  2430  				yylex.(*lexer).err("%v", err)
  2431  				return 1
  2432  			}
  2433  		}
  2434  	case 106:
  2435  		{
  2436  			x := yylex.(*lexer)
  2437  			f, ok := yyS[yypt-1].item.(*ident)
  2438  			if !ok {
  2439  				x.err("expected identifier or qualified identifier")
  2440  				return 1
  2441  			}
  2442  
  2443  			if r, ok := yyS[yypt-0].item.(rune); ok {
  2444  				if f.isQualified() || f.s != "count" || r != '*' {
  2445  					x.err(fmt.Sprintf("invalid expression %s(%c)", f, r))
  2446  					return 1
  2447  				}
  2448  
  2449  				yyS[yypt-0].item = []expression(nil)
  2450  			}
  2451  
  2452  			var err error
  2453  			var agg bool
  2454  			if yyVAL.item, agg, err = newCall(f.s, yyS[yypt-0].item.([]expression)); err != nil {
  2455  				x.err("%v", err)
  2456  				return 1
  2457  			}
  2458  			if n := len(x.agg); n > 0 {
  2459  				x.agg[n-1] = x.agg[n-1] || agg
  2460  			}
  2461  		}
  2462  	case 108:
  2463  		{
  2464  			var err error
  2465  			if yyVAL.item, err = newBinaryOperation('^', yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
  2466  				yylex.(*lexer).err("%v", err)
  2467  				return 1
  2468  			}
  2469  		}
  2470  	case 109:
  2471  		{
  2472  			var err error
  2473  			if yyVAL.item, err = newBinaryOperation('|', yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
  2474  				yylex.(*lexer).err("%v", err)
  2475  				return 1
  2476  			}
  2477  		}
  2478  	case 110:
  2479  		{
  2480  			var err error
  2481  			if yyVAL.item, err = newBinaryOperation('-', yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
  2482  				yylex.(*lexer).err("%v", err)
  2483  				return 1
  2484  			}
  2485  		}
  2486  	case 111:
  2487  		{
  2488  			var err error
  2489  			yyVAL.item, err = newBinaryOperation('+', yyS[yypt-2].item, yyS[yypt-0].item)
  2490  			if err != nil {
  2491  				yylex.(*lexer).err("%v", err)
  2492  				return 1
  2493  			}
  2494  		}
  2495  	case 113:
  2496  		{
  2497  			var err error
  2498  			yyVAL.item, err = newBinaryOperation(andnot, yyS[yypt-2].item, yyS[yypt-0].item)
  2499  			if err != nil {
  2500  				yylex.(*lexer).err("%v", err)
  2501  				return 1
  2502  			}
  2503  		}
  2504  	case 114:
  2505  		{
  2506  			var err error
  2507  			yyVAL.item, err = newBinaryOperation('&', yyS[yypt-2].item, yyS[yypt-0].item)
  2508  			if err != nil {
  2509  				yylex.(*lexer).err("%v", err)
  2510  				return 1
  2511  			}
  2512  		}
  2513  	case 115:
  2514  		{
  2515  			var err error
  2516  			yyVAL.item, err = newBinaryOperation(lsh, yyS[yypt-2].item, yyS[yypt-0].item)
  2517  			if err != nil {
  2518  				yylex.(*lexer).err("%v", err)
  2519  				return 1
  2520  			}
  2521  		}
  2522  	case 116:
  2523  		{
  2524  			var err error
  2525  			yyVAL.item, err = newBinaryOperation(rsh, yyS[yypt-2].item, yyS[yypt-0].item)
  2526  			if err != nil {
  2527  				yylex.(*lexer).err("%v", err)
  2528  				return 1
  2529  			}
  2530  		}
  2531  	case 117:
  2532  		{
  2533  			var err error
  2534  			yyVAL.item, err = newBinaryOperation('%', yyS[yypt-2].item, yyS[yypt-0].item)
  2535  			if err != nil {
  2536  				yylex.(*lexer).err("%v", err)
  2537  				return 1
  2538  			}
  2539  		}
  2540  	case 118:
  2541  		{
  2542  			var err error
  2543  			yyVAL.item, err = newBinaryOperation('/', yyS[yypt-2].item, yyS[yypt-0].item)
  2544  			if err != nil {
  2545  				yylex.(*lexer).err("%v", err)
  2546  				return 1
  2547  			}
  2548  		}
  2549  	case 119:
  2550  		{
  2551  			var err error
  2552  			yyVAL.item, err = newBinaryOperation('*', yyS[yypt-2].item, yyS[yypt-0].item)
  2553  			if err != nil {
  2554  				yylex.(*lexer).err("%v", err)
  2555  				return 1
  2556  			}
  2557  		}
  2558  	case 121:
  2559  		{
  2560  			yyVAL.item = fmt.Sprintf("%s.%s", yyS[yypt-2].item.(string), yyS[yypt-0].item.(string))
  2561  		}
  2562  	case 122:
  2563  		{
  2564  			yyVAL.item = []interface{}{yyS[yypt-1].item, yyS[yypt-0].item}
  2565  		}
  2566  	case 124:
  2567  		{
  2568  			yyVAL.item = yyS[yypt-2].item
  2569  		}
  2570  	case 127:
  2571  		{
  2572  			yyVAL.item = ""
  2573  		}
  2574  	case 128:
  2575  		{
  2576  			yyVAL.item = yyS[yypt-0].item
  2577  		}
  2578  	case 129:
  2579  		{
  2580  			yyVAL.list = []interface{}{yyS[yypt-0].item}
  2581  		}
  2582  	case 130:
  2583  		{
  2584  			yyVAL.list = append(yyS[yypt-2].list, yyS[yypt-0].item)
  2585  		}
  2586  	case 131:
  2587  		{
  2588  			yyVAL.item = rollbackStmt{}
  2589  		}
  2590  	case 132:
  2591  		{
  2592  			yyVAL.item = leftJoin
  2593  		}
  2594  	case 133:
  2595  		{
  2596  			yyVAL.item = rightJoin
  2597  		}
  2598  	case 134:
  2599  		{
  2600  			yyVAL.item = fullJoin
  2601  		}
  2602  	case 135:
  2603  		{
  2604  			yyVAL.item = nil
  2605  		}
  2606  	case 137:
  2607  		{
  2608  			yyVAL.item = []interface{}{yyS[yypt-5].item, yyS[yypt-2].item, yyS[yypt-0].item}
  2609  		}
  2610  	case 138:
  2611  		{
  2612  			yyVAL.item = nil
  2613  		}
  2614  	case 140:
  2615  		{
  2616  			x := yylex.(*lexer)
  2617  			n := len(x.agg)
  2618  			join := &joinRset{sources: yyS[yypt-6].list}
  2619  			if o := yyS[yypt-5].item; o != nil {
  2620  				o := o.([]interface{})
  2621  				join.typ = o[0].(int)
  2622  				join.sources = append(join.sources, o[1].([]interface{}))
  2623  				join.on = o[2].(expression)
  2624  			}
  2625  			yyVAL.item = &selectStmt{
  2626  				distinct:      yyS[yypt-8].item.(bool),
  2627  				flds:          yyS[yypt-7].item.([]*fld),
  2628  				from:          join,
  2629  				hasAggregates: x.agg[n-1],
  2630  				where:         yyS[yypt-4].item.(*whereRset),
  2631  				group:         yyS[yypt-3].item.(*groupByRset),
  2632  				order:         yyS[yypt-2].item.(*orderByRset),
  2633  				limit:         yyS[yypt-1].item.(*limitRset),
  2634  				offset:        yyS[yypt-0].item.(*offsetRset),
  2635  			}
  2636  			x.agg = x.agg[:n-1]
  2637  		}
  2638  	case 141:
  2639  		{
  2640  			yyVAL.list = nil
  2641  		}
  2642  	case 142:
  2643  		{
  2644  			yyVAL.list = yyS[yypt-1].list
  2645  		}
  2646  	case 143:
  2647  		{
  2648  			yyVAL.item = (*limitRset)(nil)
  2649  		}
  2650  	case 144:
  2651  		{
  2652  			yyVAL.item = &limitRset{expr: expr(yyS[yypt-0].item)}
  2653  		}
  2654  	case 145:
  2655  		{
  2656  			yyVAL.item = (*offsetRset)(nil)
  2657  		}
  2658  	case 146:
  2659  		{
  2660  			yyVAL.item = &offsetRset{expr: expr(yyS[yypt-0].item)}
  2661  		}
  2662  	case 147:
  2663  		{
  2664  			yyVAL.item = false
  2665  		}
  2666  	case 148:
  2667  		{
  2668  			yyVAL.item = true
  2669  		}
  2670  	case 149:
  2671  		{
  2672  			yyVAL.item = []*fld{}
  2673  		}
  2674  	case 150:
  2675  		{
  2676  			yyVAL.item = yyS[yypt-0].item
  2677  		}
  2678  	case 151:
  2679  		{
  2680  			yyVAL.item = yyS[yypt-1].item
  2681  		}
  2682  	case 152:
  2683  		{
  2684  			yyVAL.item = (*whereRset)(nil)
  2685  		}
  2686  	case 154:
  2687  		{
  2688  			yyVAL.item = (*groupByRset)(nil)
  2689  		}
  2690  	case 156:
  2691  		{
  2692  			yyVAL.item = (*orderByRset)(nil)
  2693  		}
  2694  	case 158:
  2695  		{
  2696  			yyVAL.item = [2]*expression{nil, nil}
  2697  		}
  2698  	case 159:
  2699  		{
  2700  			hi := expr(yyS[yypt-1].item)
  2701  			yyVAL.item = [2]*expression{nil, &hi}
  2702  		}
  2703  	case 160:
  2704  		{
  2705  			lo := expr(yyS[yypt-2].item)
  2706  			yyVAL.item = [2]*expression{&lo, nil}
  2707  		}
  2708  	case 161:
  2709  		{
  2710  			lo := expr(yyS[yypt-3].item)
  2711  			hi := expr(yyS[yypt-1].item)
  2712  			yyVAL.item = [2]*expression{&lo, &hi}
  2713  		}
  2714  	case 177:
  2715  		{
  2716  			if yyS[yypt-0].item != nil {
  2717  				yylex.(*lexer).list = []stmt{yyS[yypt-0].item.(stmt)}
  2718  			}
  2719  		}
  2720  	case 178:
  2721  		{
  2722  			if yyS[yypt-0].item != nil {
  2723  				yylex.(*lexer).list = append(yylex.(*lexer).list, yyS[yypt-0].item.(stmt))
  2724  			}
  2725  		}
  2726  	case 181:
  2727  		{
  2728  			var err error
  2729  			if yyVAL.item, err = newBinaryOperation(andand, yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
  2730  				yylex.(*lexer).err("%v", err)
  2731  				return 1
  2732  			}
  2733  		}
  2734  	case 184:
  2735  		{
  2736  			yyVAL.item = &truncateTableStmt{tableName: yyS[yypt-0].item.(string)}
  2737  		}
  2738  	case 209:
  2739  		{
  2740  			var expr expression
  2741  			if w := yyS[yypt-0].item; w != nil {
  2742  				expr = w.(*whereRset).expr
  2743  			}
  2744  			yyVAL.item = &updateStmt{tableName: yyS[yypt-3].item.(string), list: yyS[yypt-1].item.([]assignment), where: expr}
  2745  
  2746  			if yylex.(*lexer).root {
  2747  				break
  2748  			}
  2749  
  2750  			if isSystemName[yyS[yypt-3].item.(string)] {
  2751  				yylex.(*lexer).err("name is used for system tables: %s", yyS[yypt-3].item.(string))
  2752  				return 1
  2753  			}
  2754  		}
  2755  	case 210:
  2756  		{
  2757  			yyVAL.item = nil
  2758  		}
  2759  	case 213:
  2760  		{
  2761  			var err error
  2762  			yyVAL.item, err = newUnaryOperation('^', yyS[yypt-0].item)
  2763  			if err != nil {
  2764  				yylex.(*lexer).err("%v", err)
  2765  				return 1
  2766  			}
  2767  		}
  2768  	case 214:
  2769  		{
  2770  			var err error
  2771  			yyVAL.item, err = newUnaryOperation('!', yyS[yypt-0].item)
  2772  			if err != nil {
  2773  				yylex.(*lexer).err("%v", err)
  2774  				return 1
  2775  			}
  2776  		}
  2777  	case 215:
  2778  		{
  2779  			var err error
  2780  			yyVAL.item, err = newUnaryOperation('-', yyS[yypt-0].item)
  2781  			if err != nil {
  2782  				yylex.(*lexer).err("%v", err)
  2783  				return 1
  2784  			}
  2785  		}
  2786  	case 216:
  2787  		{
  2788  			var err error
  2789  			yyVAL.item, err = newUnaryOperation('+', yyS[yypt-0].item)
  2790  			if err != nil {
  2791  				yylex.(*lexer).err("%v", err)
  2792  				return 1
  2793  			}
  2794  		}
  2795  	case 217:
  2796  		{
  2797  			yyVAL.item = &whereRset{expr: expr(yyS[yypt-0].item)}
  2798  		}
  2799  	case 218:
  2800  		{
  2801  			yyVAL.item = &whereRset{exists: true, sel: (yyS[yypt-1].item.(*selectStmt))}
  2802  		}
  2803  	case 219:
  2804  		{
  2805  			yyVAL.item = &whereRset{sel: (yyS[yypt-1].item.(*selectStmt))}
  2806  		}
  2807  
  2808  	}
  2809  
  2810  	if yyEx != nil && yyEx.Reduced(r, exState, &yyVAL) {
  2811  		return -1
  2812  	}
  2813  	goto yystack /* stack new state and value */
  2814  }
  2815  
  2816  func expr(v interface{}) expression {
  2817  	e := v.(expression)
  2818  	for {
  2819  		x, ok := e.(*pexpr)
  2820  		if !ok {
  2821  			return e
  2822  		}
  2823  		e = x.expr
  2824  	}
  2825  }