com.github.harbby.dsxparser.antlr4.SqlBase.interp Maven / Gradle / Ivy
The newest version!
token literal names:
null
'('
','
')'
'?'
'['
']'
'.'
'IN'
'ADD'
'ALL'
'ALTER'
'ANALYZE'
'AND'
'ANY'
'ARRAY'
'AS'
'ASC'
'AT'
'BERNOULLI'
'BETWEEN'
'BY'
'CALL'
'CASCADE'
'CASE'
'CAST'
'CATALOGS'
'COLUMN'
'COLUMNS'
'COMMENT'
'COMMIT'
'COMMITTED'
'CONSTRAINT'
'CREATE'
'CROSS'
'CUBE'
'CURRENT'
'CURRENT_PATH'
'CURRENT_USER'
'DATA'
'DATE'
'DAY'
'DEALLOCATE'
'DELETE'
'DESC'
'DESCRIBE'
'DISTINCT'
'DISTRIBUTED'
'DROP'
'ELSE'
'END'
'ESCAPE'
'EXCEPT'
'EXCLUDING'
'EXECUTE'
'EXISTS'
'EXPLAIN'
'FALSE'
'FILTER'
'FIRST'
'FOLLOWING'
'FOR'
'FORMAT'
'FROM'
'WINDOW'
'SECONDS'
'LATE'
'DELAY'
'EVERY'
'TRIGGER'
'BATCH'
'FUNCTION'
'EXTEND'
'WATERMARK'
'FULL'
'FUNCTIONS'
'GRANT'
'GRANTS'
'GRAPHVIZ'
'HOUR'
'IF'
'INCLUDING'
'INNER'
'INPUT'
'INSERT'
'INTERSECT'
'INTERVAL'
'INTO'
'IS'
'ISOLATION'
'JOIN'
'LAST'
'LATERAL'
'LEVEL'
'LIKE'
'LIMIT'
'LOCALTIME'
'LOCALTIMESTAMP'
'LOGICAL'
'MAP'
'MINUTE'
'MONTH'
'NATURAL'
'NFC'
'NFD'
'NFKC'
'NFKD'
'NO'
'NORMALIZE'
'NOT'
'NULL'
'NULLIF'
'NULLS'
'ON'
'ONLY'
'OPTION'
'OR'
'ORDER'
'ORDINALITY'
'OUTER'
'OUTPUT'
'OVER'
'PARTITION'
'PARTITIONS'
'PATH'
'POSITION'
'PRECEDING'
'PREPARE'
'PRIVILEGES'
'PROPERTIES'
'PUBLIC'
'RANGE'
'READ'
'RECURSIVE'
'RENAME'
'REPEATABLE'
'REPLACE'
'RESET'
'RESTRICT'
'REVOKE'
'ROLLBACK'
'ROLLUP'
'ROW'
'ROWS'
'SCHEMA'
'SCHEMAS'
'SECOND'
'SELECT'
'SERIALIZABLE'
'SESSION'
'SET'
'SETS'
'SHOW'
'SOME'
'START'
'STATS'
'SUBSTRING'
'SYSTEM'
'TABLE'
'TABLES'
'TABLESAMPLE'
'TEXT'
'THEN'
'TIME'
'TIMESTAMP'
'TO'
'TRANSACTION'
'TRUE'
'TRY_CAST'
'TYPE'
'UESCAPE'
'UNBOUNDED'
'UNCOMMITTED'
'UNION'
'UNNEST'
'USE'
'USING'
'VALIDATE'
'VALUES'
'VERBOSE'
'VIEW'
'WHEN'
'WHERE'
'WITH'
'WORK'
'WRITE'
'YEAR'
'ZONE'
'='
null
'<'
'<='
'>'
'>='
'+'
'-'
'*'
'/'
'%'
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
token symbolic names:
null
null
null
null
null
null
null
null
IN
ADD
ALL
ALTER
ANALYZE
AND
ANY
ARRAY
AS
ASC
AT
BERNOULLI
BETWEEN
BY
CALL
CASCADE
CASE
CAST
CATALOGS
COLUMN
COLUMNS
COMMENT
COMMIT
COMMITTED
CONSTRAINT
CREATE
CROSS
CUBE
CURRENT
CURRENT_PATH
CURRENT_USER
DATA
DATE
DAY
DEALLOCATE
DELETE
DESC
DESCRIBE
DISTINCT
DISTRIBUTED
DROP
ELSE
END
ESCAPE
EXCEPT
EXCLUDING
EXECUTE
EXISTS
EXPLAIN
FALSE
FILTER
FIRST
FOLLOWING
FOR
FORMAT
FROM
WINDOW
SECONDS
LATE
DELAY
EVERY
TRIGGER
BATCH
FUNCTION
EXTEND
WATERMARK
FULL
FUNCTIONS
GRANT
GRANTS
GRAPHVIZ
HOUR
IF
INCLUDING
INNER
INPUT
INSERT
INTERSECT
INTERVAL
INTO
IS
ISOLATION
JOIN
LAST
LATERAL
LEVEL
LIKE
LIMIT
LOCALTIME
LOCALTIMESTAMP
LOGICAL
MAP
MINUTE
MONTH
NATURAL
NFC
NFD
NFKC
NFKD
NO
NORMALIZE
NOT
NULL
NULLIF
NULLS
ON
ONLY
OPTION
OR
ORDER
ORDINALITY
OUTER
OUTPUT
OVER
PARTITION
PARTITIONS
PATH
POSITION
PRECEDING
PREPARE
PRIVILEGES
PROPERTIES
PUBLIC
RANGE
READ
RECURSIVE
RENAME
REPEATABLE
REPLACE
RESET
RESTRICT
REVOKE
ROLLBACK
ROLLUP
ROW
ROWS
SCHEMA
SCHEMAS
SECOND
SELECT
SERIALIZABLE
SESSION
SET
SETS
SHOW
SOME
START
STATS
SUBSTRING
SYSTEM
TABLE
TABLES
TABLESAMPLE
TEXT
THEN
TIME
TIMESTAMP
TO
TRANSACTION
TRUE
TRY_CAST
TYPE
UESCAPE
UNBOUNDED
UNCOMMITTED
UNION
UNNEST
USE
USING
VALIDATE
VALUES
VERBOSE
VIEW
WHEN
WHERE
WITH
WORK
WRITE
YEAR
ZONE
EQ
NEQ
LT
LTE
GT
GTE
PLUS
MINUS
ASTERISK
SLASH
PERCENT
CONCAT
STRING
UNICODE_STRING
BINARY_LITERAL
INTEGER_VALUE
DECIMAL_VALUE
DOUBLE_VALUE
IDENTIFIER
DIGIT_IDENTIFIER
QUOTED_IDENTIFIER
BACKQUOTED_IDENTIFIER
TIME_WITH_TIME_ZONE
TIMESTAMP_WITH_TIME_ZONE
DOUBLE_PRECISION
SIMPLE_COMMENT
BRACKETED_COMMENT
WS
UNRECOGNIZED
DELIMITER
rule names:
singleExpression
sampleType
expression
whenClause
booleanExpression
predicate
valueExpression
setQuantifier
primaryExpression
string
comparisonOperator
comparisonQuantifier
booleanValue
normalForm
type
typeParameter
baseType
pathElement
pathSpecification
privilege
qualifiedName
identifier
number
nonReserved
atn:
[4, 1, 217, 378, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 64, 8, 3, 1, 4, 1, 4, 1, 4, 3, 4, 69, 8, 4, 1, 4, 1, 4, 3, 4, 73, 8, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 5, 4, 81, 8, 4, 10, 4, 12, 4, 84, 9, 4, 1, 5, 1, 5, 1, 5, 1, 5, 3, 5, 90, 8, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 3, 5, 98, 8, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 5, 5, 105, 8, 5, 10, 5, 12, 5, 108, 9, 5, 1, 5, 1, 5, 1, 5, 1, 5, 3, 5, 114, 8, 5, 1, 5, 3, 5, 117, 8, 5, 1, 6, 1, 6, 1, 6, 1, 6, 3, 6, 123, 8, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 5, 6, 134, 8, 6, 10, 6, 12, 6, 137, 9, 6, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 5, 8, 165, 8, 8, 10, 8, 12, 8, 168, 9, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 3, 8, 181, 8, 8, 1, 8, 1, 8, 1, 8, 5, 8, 186, 8, 8, 10, 8, 12, 8, 189, 9, 8, 3, 8, 191, 8, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 5, 8, 200, 8, 8, 10, 8, 12, 8, 203, 9, 8, 3, 8, 205, 8, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 3, 8, 213, 8, 8, 1, 8, 1, 8, 1, 8, 1, 8, 3, 8, 219, 8, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 3, 8, 228, 8, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 3, 8, 236, 8, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 5, 8, 253, 8, 8, 10, 8, 12, 8, 256, 9, 8, 1, 9, 1, 9, 1, 9, 1, 9, 3, 9, 262, 8, 9, 3, 9, 264, 8, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 12, 1, 12, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 5, 14, 295, 8, 14, 10, 14, 12, 14, 298, 9, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 5, 14, 307, 8, 14, 10, 14, 12, 14, 310, 9, 14, 1, 14, 1, 14, 3, 14, 314, 8, 14, 3, 14, 316, 8, 14, 1, 14, 1, 14, 5, 14, 320, 8, 14, 10, 14, 12, 14, 323, 9, 14, 1, 15, 1, 15, 3, 15, 327, 8, 15, 1, 16, 1, 16, 1, 16, 1, 16, 3, 16, 333, 8, 16, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 3, 17, 340, 8, 17, 1, 18, 1, 18, 1, 18, 5, 18, 345, 8, 18, 10, 18, 12, 18, 348, 9, 18, 1, 19, 1, 19, 1, 19, 1, 19, 3, 19, 354, 8, 19, 1, 20, 1, 20, 1, 20, 5, 20, 359, 8, 20, 10, 20, 12, 20, 362, 9, 20, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 3, 21, 369, 8, 21, 1, 22, 1, 22, 1, 22, 3, 22, 374, 8, 22, 1, 23, 1, 23, 1, 23, 0, 4, 8, 12, 16, 28, 24, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 0, 9, 2, 0, 19, 19, 157, 157, 1, 0, 194, 195, 1, 0, 196, 198, 2, 0, 10, 10, 46, 46, 1, 0, 188, 193, 3, 0, 10, 10, 14, 14, 153, 153, 2, 0, 57, 57, 167, 167, 1, 0, 103, 106, 37, 0, 8, 10, 12, 12, 14, 15, 17, 19, 22, 23, 26, 31, 36, 36, 39, 41, 43, 44, 47, 47, 53, 53, 56, 56, 58, 60, 62, 62, 75, 81, 83, 84, 86, 86, 89, 89, 91, 93, 95, 95, 98, 101, 103, 107, 111, 112, 114, 115, 118, 118, 120, 126, 128, 132, 134, 140, 142, 146, 148, 161, 163, 166, 168, 169, 171, 172, 175, 175, 177, 177, 179, 180, 184, 187, 425, 0, 48, 1, 0, 0, 0, 2, 51, 1, 0, 0, 0, 4, 53, 1, 0, 0, 0, 6, 63, 1, 0, 0, 0, 8, 72, 1, 0, 0, 0, 10, 116, 1, 0, 0, 0, 12, 122, 1, 0, 0, 0, 14, 138, 1, 0, 0, 0, 16, 235, 1, 0, 0, 0, 18, 263, 1, 0, 0, 0, 20, 265, 1, 0, 0, 0, 22, 267, 1, 0, 0, 0, 24, 269, 1, 0, 0, 0, 26, 271, 1, 0, 0, 0, 28, 315, 1, 0, 0, 0, 30, 326, 1, 0, 0, 0, 32, 332, 1, 0, 0, 0, 34, 339, 1, 0, 0, 0, 36, 341, 1, 0, 0, 0, 38, 353, 1, 0, 0, 0, 40, 355, 1, 0, 0, 0, 42, 368, 1, 0, 0, 0, 44, 373, 1, 0, 0, 0, 46, 375, 1, 0, 0, 0, 48, 49, 3, 4, 2, 0, 49, 50, 5, 0, 0, 1, 50, 1, 1, 0, 0, 0, 51, 52, 7, 0, 0, 0, 52, 3, 1, 0, 0, 0, 53, 54, 3, 8, 4, 0, 54, 5, 1, 0, 0, 0, 55, 64, 5, 181, 0, 0, 56, 57, 5, 49, 0, 0, 57, 58, 5, 80, 0, 0, 58, 59, 1, 0, 0, 0, 59, 60, 3, 8, 4, 0, 60, 61, 5, 162, 0, 0, 61, 62, 3, 4, 2, 0, 62, 64, 1, 0, 0, 0, 63, 55, 1, 0, 0, 0, 63, 56, 1, 0, 0, 0, 64, 7, 1, 0, 0, 0, 65, 66, 6, 4, -1, 0, 66, 68, 3, 12, 6, 0, 67, 69, 3, 10, 5, 0, 68, 67, 1, 0, 0, 0, 68, 69, 1, 0, 0, 0, 69, 73, 1, 0, 0, 0, 70, 71, 5, 109, 0, 0, 71, 73, 3, 8, 4, 3, 72, 65, 1, 0, 0, 0, 72, 70, 1, 0, 0, 0, 73, 82, 1, 0, 0, 0, 74, 75, 10, 2, 0, 0, 75, 76, 5, 13, 0, 0, 76, 81, 3, 8, 4, 3, 77, 78, 10, 1, 0, 0, 78, 79, 5, 116, 0, 0, 79, 81, 3, 8, 4, 2, 80, 74, 1, 0, 0, 0, 80, 77, 1, 0, 0, 0, 81, 84, 1, 0, 0, 0, 82, 80, 1, 0, 0, 0, 82, 83, 1, 0, 0, 0, 83, 9, 1, 0, 0, 0, 84, 82, 1, 0, 0, 0, 85, 86, 3, 20, 10, 0, 86, 87, 3, 12, 6, 0, 87, 117, 1, 0, 0, 0, 88, 90, 5, 109, 0, 0, 89, 88, 1, 0, 0, 0, 89, 90, 1, 0, 0, 0, 90, 91, 1, 0, 0, 0, 91, 92, 5, 20, 0, 0, 92, 93, 3, 12, 6, 0, 93, 94, 5, 13, 0, 0, 94, 95, 3, 12, 6, 0, 95, 117, 1, 0, 0, 0, 96, 98, 5, 109, 0, 0, 97, 96, 1, 0, 0, 0, 97, 98, 1, 0, 0, 0, 98, 99, 1, 0, 0, 0, 99, 100, 5, 8, 0, 0, 100, 101, 5, 1, 0, 0, 101, 106, 3, 4, 2, 0, 102, 103, 5, 2, 0, 0, 103, 105, 3, 4, 2, 0, 104, 102, 1, 0, 0, 0, 105, 108, 1, 0, 0, 0, 106, 104, 1, 0, 0, 0, 106, 107, 1, 0, 0, 0, 107, 109, 1, 0, 0, 0, 108, 106, 1, 0, 0, 0, 109, 110, 5, 3, 0, 0, 110, 117, 1, 0, 0, 0, 111, 113, 5, 88, 0, 0, 112, 114, 5, 109, 0, 0, 113, 112, 1, 0, 0, 0, 113, 114, 1, 0, 0, 0, 114, 115, 1, 0, 0, 0, 115, 117, 5, 110, 0, 0, 116, 85, 1, 0, 0, 0, 116, 89, 1, 0, 0, 0, 116, 97, 1, 0, 0, 0, 116, 111, 1, 0, 0, 0, 117, 11, 1, 0, 0, 0, 118, 119, 6, 6, -1, 0, 119, 123, 3, 16, 8, 0, 120, 121, 7, 1, 0, 0, 121, 123, 3, 12, 6, 4, 122, 118, 1, 0, 0, 0, 122, 120, 1, 0, 0, 0, 123, 135, 1, 0, 0, 0, 124, 125, 10, 3, 0, 0, 125, 126, 7, 2, 0, 0, 126, 134, 3, 12, 6, 4, 127, 128, 10, 2, 0, 0, 128, 129, 7, 1, 0, 0, 129, 134, 3, 12, 6, 3, 130, 131, 10, 1, 0, 0, 131, 132, 5, 199, 0, 0, 132, 134, 3, 12, 6, 2, 133, 124, 1, 0, 0, 0, 133, 127, 1, 0, 0, 0, 133, 130, 1, 0, 0, 0, 134, 137, 1, 0, 0, 0, 135, 133, 1, 0, 0, 0, 135, 136, 1, 0, 0, 0, 136, 13, 1, 0, 0, 0, 137, 135, 1, 0, 0, 0, 138, 139, 7, 3, 0, 0, 139, 15, 1, 0, 0, 0, 140, 141, 6, 8, -1, 0, 141, 236, 5, 110, 0, 0, 142, 143, 3, 42, 21, 0, 143, 144, 3, 18, 9, 0, 144, 236, 1, 0, 0, 0, 145, 146, 5, 212, 0, 0, 146, 236, 3, 18, 9, 0, 147, 236, 3, 44, 22, 0, 148, 236, 3, 24, 12, 0, 149, 236, 3, 18, 9, 0, 150, 236, 5, 202, 0, 0, 151, 236, 5, 4, 0, 0, 152, 153, 5, 125, 0, 0, 153, 154, 5, 1, 0, 0, 154, 155, 3, 12, 6, 0, 155, 156, 5, 8, 0, 0, 156, 157, 3, 12, 6, 0, 157, 158, 5, 3, 0, 0, 158, 236, 1, 0, 0, 0, 159, 160, 5, 80, 0, 0, 160, 161, 3, 8, 4, 0, 161, 162, 5, 162, 0, 0, 162, 166, 3, 4, 2, 0, 163, 165, 3, 6, 3, 0, 164, 163, 1, 0, 0, 0, 165, 168, 1, 0, 0, 0, 166, 164, 1, 0, 0, 0, 166, 167, 1, 0, 0, 0, 167, 169, 1, 0, 0, 0, 168, 166, 1, 0, 0, 0, 169, 170, 5, 49, 0, 0, 170, 171, 3, 4, 2, 0, 171, 236, 1, 0, 0, 0, 172, 173, 3, 40, 20, 0, 173, 174, 5, 1, 0, 0, 174, 175, 5, 196, 0, 0, 175, 176, 5, 3, 0, 0, 176, 236, 1, 0, 0, 0, 177, 178, 3, 40, 20, 0, 178, 190, 5, 1, 0, 0, 179, 181, 3, 14, 7, 0, 180, 179, 1, 0, 0, 0, 180, 181, 1, 0, 0, 0, 181, 182, 1, 0, 0, 0, 182, 187, 3, 4, 2, 0, 183, 184, 5, 2, 0, 0, 184, 186, 3, 4, 2, 0, 185, 183, 1, 0, 0, 0, 186, 189, 1, 0, 0, 0, 187, 185, 1, 0, 0, 0, 187, 188, 1, 0, 0, 0, 188, 191, 1, 0, 0, 0, 189, 187, 1, 0, 0, 0, 190, 180, 1, 0, 0, 0, 190, 191, 1, 0, 0, 0, 191, 192, 1, 0, 0, 0, 192, 193, 5, 3, 0, 0, 193, 236, 1, 0, 0, 0, 194, 195, 5, 15, 0, 0, 195, 204, 5, 5, 0, 0, 196, 201, 3, 4, 2, 0, 197, 198, 5, 2, 0, 0, 198, 200, 3, 4, 2, 0, 199, 197, 1, 0, 0, 0, 200, 203, 1, 0, 0, 0, 201, 199, 1, 0, 0, 0, 201, 202, 1, 0, 0, 0, 202, 205, 1, 0, 0, 0, 203, 201, 1, 0, 0, 0, 204, 196, 1, 0, 0, 0, 204, 205, 1, 0, 0, 0, 205, 206, 1, 0, 0, 0, 206, 236, 5, 6, 0, 0, 207, 236, 3, 42, 21, 0, 208, 212, 5, 96, 0, 0, 209, 210, 5, 1, 0, 0, 210, 211, 5, 203, 0, 0, 211, 213, 5, 3, 0, 0, 212, 209, 1, 0, 0, 0, 212, 213, 1, 0, 0, 0, 213, 236, 1, 0, 0, 0, 214, 218, 5, 97, 0, 0, 215, 216, 5, 1, 0, 0, 216, 217, 5, 203, 0, 0, 217, 219, 5, 3, 0, 0, 218, 215, 1, 0, 0, 0, 218, 219, 1, 0, 0, 0, 219, 236, 1, 0, 0, 0, 220, 236, 5, 38, 0, 0, 221, 236, 5, 37, 0, 0, 222, 223, 5, 108, 0, 0, 223, 224, 5, 1, 0, 0, 224, 227, 3, 12, 6, 0, 225, 226, 5, 2, 0, 0, 226, 228, 3, 26, 13, 0, 227, 225, 1, 0, 0, 0, 227, 228, 1, 0, 0, 0, 228, 229, 1, 0, 0, 0, 229, 230, 5, 3, 0, 0, 230, 236, 1, 0, 0, 0, 231, 232, 5, 1, 0, 0, 232, 233, 3, 4, 2, 0, 233, 234, 5, 3, 0, 0, 234, 236, 1, 0, 0, 0, 235, 140, 1, 0, 0, 0, 235, 142, 1, 0, 0, 0, 235, 145, 1, 0, 0, 0, 235, 147, 1, 0, 0, 0, 235, 148, 1, 0, 0, 0, 235, 149, 1, 0, 0, 0, 235, 150, 1, 0, 0, 0, 235, 151, 1, 0, 0, 0, 235, 152, 1, 0, 0, 0, 235, 159, 1, 0, 0, 0, 235, 172, 1, 0, 0, 0, 235, 177, 1, 0, 0, 0, 235, 194, 1, 0, 0, 0, 235, 207, 1, 0, 0, 0, 235, 208, 1, 0, 0, 0, 235, 214, 1, 0, 0, 0, 235, 220, 1, 0, 0, 0, 235, 221, 1, 0, 0, 0, 235, 222, 1, 0, 0, 0, 235, 231, 1, 0, 0, 0, 236, 254, 1, 0, 0, 0, 237, 238, 10, 10, 0, 0, 238, 239, 5, 5, 0, 0, 239, 240, 3, 12, 6, 0, 240, 241, 5, 6, 0, 0, 241, 253, 1, 0, 0, 0, 242, 243, 10, 9, 0, 0, 243, 244, 5, 5, 0, 0, 244, 245, 3, 12, 6, 0, 245, 246, 5, 2, 0, 0, 246, 247, 3, 12, 6, 0, 247, 248, 5, 6, 0, 0, 248, 253, 1, 0, 0, 0, 249, 250, 10, 7, 0, 0, 250, 251, 5, 7, 0, 0, 251, 253, 3, 42, 21, 0, 252, 237, 1, 0, 0, 0, 252, 242, 1, 0, 0, 0, 252, 249, 1, 0, 0, 0, 253, 256, 1, 0, 0, 0, 254, 252, 1, 0, 0, 0, 254, 255, 1, 0, 0, 0, 255, 17, 1, 0, 0, 0, 256, 254, 1, 0, 0, 0, 257, 264, 5, 200, 0, 0, 258, 261, 5, 201, 0, 0, 259, 260, 5, 170, 0, 0, 260, 262, 5, 200, 0, 0, 261, 259, 1, 0, 0, 0, 261, 262, 1, 0, 0, 0, 262, 264, 1, 0, 0, 0, 263, 257, 1, 0, 0, 0, 263, 258, 1, 0, 0, 0, 264, 19, 1, 0, 0, 0, 265, 266, 7, 4, 0, 0, 266, 21, 1, 0, 0, 0, 267, 268, 7, 5, 0, 0, 268, 23, 1, 0, 0, 0, 269, 270, 7, 6, 0, 0, 270, 25, 1, 0, 0, 0, 271, 272, 7, 7, 0, 0, 272, 27, 1, 0, 0, 0, 273, 274, 6, 14, -1, 0, 274, 275, 5, 15, 0, 0, 275, 276, 5, 190, 0, 0, 276, 277, 3, 28, 14, 0, 277, 278, 5, 192, 0, 0, 278, 316, 1, 0, 0, 0, 279, 280, 5, 99, 0, 0, 280, 281, 5, 190, 0, 0, 281, 282, 3, 28, 14, 0, 282, 283, 5, 2, 0, 0, 283, 284, 3, 28, 14, 0, 284, 285, 5, 192, 0, 0, 285, 316, 1, 0, 0, 0, 286, 287, 5, 142, 0, 0, 287, 288, 5, 1, 0, 0, 288, 289, 3, 42, 21, 0, 289, 296, 3, 28, 14, 0, 290, 291, 5, 2, 0, 0, 291, 292, 3, 42, 21, 0, 292, 293, 3, 28, 14, 0, 293, 295, 1, 0, 0, 0, 294, 290, 1, 0, 0, 0, 295, 298, 1, 0, 0, 0, 296, 294, 1, 0, 0, 0, 296, 297, 1, 0, 0, 0, 297, 299, 1, 0, 0, 0, 298, 296, 1, 0, 0, 0, 299, 300, 5, 3, 0, 0, 300, 316, 1, 0, 0, 0, 301, 313, 3, 32, 16, 0, 302, 303, 5, 1, 0, 0, 303, 308, 3, 30, 15, 0, 304, 305, 5, 2, 0, 0, 305, 307, 3, 30, 15, 0, 306, 304, 1, 0, 0, 0, 307, 310, 1, 0, 0, 0, 308, 306, 1, 0, 0, 0, 308, 309, 1, 0, 0, 0, 309, 311, 1, 0, 0, 0, 310, 308, 1, 0, 0, 0, 311, 312, 5, 3, 0, 0, 312, 314, 1, 0, 0, 0, 313, 302, 1, 0, 0, 0, 313, 314, 1, 0, 0, 0, 314, 316, 1, 0, 0, 0, 315, 273, 1, 0, 0, 0, 315, 279, 1, 0, 0, 0, 315, 286, 1, 0, 0, 0, 315, 301, 1, 0, 0, 0, 316, 321, 1, 0, 0, 0, 317, 318, 10, 5, 0, 0, 318, 320, 5, 15, 0, 0, 319, 317, 1, 0, 0, 0, 320, 323, 1, 0, 0, 0, 321, 319, 1, 0, 0, 0, 321, 322, 1, 0, 0, 0, 322, 29, 1, 0, 0, 0, 323, 321, 1, 0, 0, 0, 324, 327, 5, 203, 0, 0, 325, 327, 3, 28, 14, 0, 326, 324, 1, 0, 0, 0, 326, 325, 1, 0, 0, 0, 327, 31, 1, 0, 0, 0, 328, 333, 5, 210, 0, 0, 329, 333, 5, 211, 0, 0, 330, 333, 5, 212, 0, 0, 331, 333, 3, 42, 21, 0, 332, 328, 1, 0, 0, 0, 332, 329, 1, 0, 0, 0, 332, 330, 1, 0, 0, 0, 332, 331, 1, 0, 0, 0, 333, 33, 1, 0, 0, 0, 334, 335, 3, 42, 21, 0, 335, 336, 5, 7, 0, 0, 336, 337, 3, 42, 21, 0, 337, 340, 1, 0, 0, 0, 338, 340, 3, 42, 21, 0, 339, 334, 1, 0, 0, 0, 339, 338, 1, 0, 0, 0, 340, 35, 1, 0, 0, 0, 341, 346, 3, 34, 17, 0, 342, 343, 5, 2, 0, 0, 343, 345, 3, 34, 17, 0, 344, 342, 1, 0, 0, 0, 345, 348, 1, 0, 0, 0, 346, 344, 1, 0, 0, 0, 346, 347, 1, 0, 0, 0, 347, 37, 1, 0, 0, 0, 348, 346, 1, 0, 0, 0, 349, 354, 5, 147, 0, 0, 350, 354, 5, 43, 0, 0, 351, 354, 5, 84, 0, 0, 352, 354, 3, 42, 21, 0, 353, 349, 1, 0, 0, 0, 353, 350, 1, 0, 0, 0, 353, 351, 1, 0, 0, 0, 353, 352, 1, 0, 0, 0, 354, 39, 1, 0, 0, 0, 355, 360, 3, 42, 21, 0, 356, 357, 5, 7, 0, 0, 357, 359, 3, 42, 21, 0, 358, 356, 1, 0, 0, 0, 359, 362, 1, 0, 0, 0, 360, 358, 1, 0, 0, 0, 360, 361, 1, 0, 0, 0, 361, 41, 1, 0, 0, 0, 362, 360, 1, 0, 0, 0, 363, 369, 5, 206, 0, 0, 364, 369, 5, 208, 0, 0, 365, 369, 3, 46, 23, 0, 366, 369, 5, 209, 0, 0, 367, 369, 5, 207, 0, 0, 368, 363, 1, 0, 0, 0, 368, 364, 1, 0, 0, 0, 368, 365, 1, 0, 0, 0, 368, 366, 1, 0, 0, 0, 368, 367, 1, 0, 0, 0, 369, 43, 1, 0, 0, 0, 370, 374, 5, 204, 0, 0, 371, 374, 5, 205, 0, 0, 372, 374, 5, 203, 0, 0, 373, 370, 1, 0, 0, 0, 373, 371, 1, 0, 0, 0, 373, 372, 1, 0, 0, 0, 374, 45, 1, 0, 0, 0, 375, 376, 7, 8, 0, 0, 376, 47, 1, 0, 0, 0, 40, 63, 68, 72, 80, 82, 89, 97, 106, 113, 116, 122, 133, 135, 166, 180, 187, 190, 201, 204, 212, 218, 227, 235, 252, 254, 261, 263, 296, 308, 313, 315, 321, 326, 332, 339, 346, 353, 360, 368, 373]