From c7400a0b038f04facc55a29785b1371906e639e8 Mon Sep 17 00:00:00 2001 From: Nuo Xu <44099579+chrisxu333@users.noreply.github.com> Date: Mon, 19 Dec 2022 21:47:09 -0800 Subject: [PATCH] add parser support for udf (#6968) add parser support for user-defined function grammar / query logic handling Approved by: @daviszhen, @fengttt, @heni02, @iamlinjunhong --- pkg/frontend/authenticate.go | 16 + pkg/frontend/authenticate_test.go | 54 + pkg/frontend/mysql_cmd_executor.go | 22 + pkg/sql/parsers/dialect/mysql/keywords.go | 2 + pkg/sql/parsers/dialect/mysql/mysql_sql.go | 13316 ++++++++-------- pkg/sql/parsers/dialect/mysql/mysql_sql.y | 133 +- .../parsers/dialect/mysql/mysql_sql_test.go | 36 + pkg/sql/parsers/tree/extension.go | 41 + pkg/sql/parsers/tree/function.go | 148 + test/distributed/cases/function/udf.result | 8 + test/distributed/cases/function/udf.sql | 43 + 11 files changed, 7382 insertions(+), 6437 deletions(-) create mode 100644 pkg/sql/parsers/tree/extension.go create mode 100644 pkg/sql/parsers/tree/function.go create mode 100644 test/distributed/cases/function/udf.result create mode 100644 test/distributed/cases/function/udf.sql diff --git a/pkg/frontend/authenticate.go b/pkg/frontend/authenticate.go index 3102d1c67fb2..5e2069d6ddca 100644 --- a/pkg/frontend/authenticate.go +++ b/pkg/frontend/authenticate.go @@ -2379,6 +2379,10 @@ handleFailed: return err } +func doDropFunction(ctx context.Context, ses *Session, df *tree.DropFunction) error { + return nil +} + // doRevokePrivilege accomplishes the RevokePrivilege statement func doRevokePrivilege(ctx context.Context, ses *Session, rp *tree.RevokePrivilege) error { var err error @@ -3331,6 +3335,10 @@ func determinePrivilegeSetOfStatement(stmt tree.Statement) *privilege { if st.Name != nil { dbName = string(st.Name.SchemaName) } + case *tree.CreateFunction: + objType = objectTypeDatabase + typs = append(typs, PrivilegeTypeCreateView, PrivilegeTypeDatabaseAll, PrivilegeTypeDatabaseOwnership) + writeDatabaseAndTableDirectly = true case *tree.DropTable: objType = objectTypeDatabase typs = append(typs, PrivilegeTypeDropTable, PrivilegeTypeDropObject, PrivilegeTypeDatabaseAll, PrivilegeTypeDatabaseOwnership) @@ -3345,6 +3353,10 @@ func determinePrivilegeSetOfStatement(stmt tree.Statement) *privilege { if len(st.Names) != 0 { dbName = string(st.Names[0].SchemaName) } + case *tree.DropFunction: + objType = objectTypeDatabase + typs = append(typs, PrivilegeTypeCreateView, PrivilegeTypeDatabaseAll, PrivilegeTypeDatabaseOwnership) + writeDatabaseAndTableDirectly = true case *tree.Select, *tree.Do: objType = objectTypeTable typs = append(typs, PrivilegeTypeSelect, PrivilegeTypeTableAll, PrivilegeTypeTableOwnership) @@ -5549,3 +5561,7 @@ handleFailed: } return err } + +func InitFunction(ctx context.Context, ses *Session, tenant *TenantInfo, cf *tree.CreateFunction) error { + return nil +} diff --git a/pkg/frontend/authenticate_test.go b/pkg/frontend/authenticate_test.go index e2f596aaae59..599f0e2ea0ce 100644 --- a/pkg/frontend/authenticate_test.go +++ b/pkg/frontend/authenticate_test.go @@ -379,6 +379,39 @@ func Test_checkUserExistsOrNot(t *testing.T) { }) } +func Test_initFunction(t *testing.T) { + convey.Convey("init function", t, func() { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + pu := config.NewParameterUnit(&config.FrontendParameters{}, nil, nil, nil, nil) + pu.SV.SetDefaultValues() + + ctx := context.WithValue(context.TODO(), config.ParameterUnitKey, pu) + + cu := &tree.CreateFunction{ + Name: tree.NewFuncName("testFunc"), + Args: nil, + ReturnType: tree.NewReturnType("int"), + Body: "", + Language: "sql", + } + + tenant := &TenantInfo{ + Tenant: sysAccountName, + User: rootName, + DefaultRole: moAdminRoleName, + TenantID: sysAccountID, + UserID: rootID, + DefaultRoleID: moAdminRoleID, + } + + ses := &Session{} + err := InitFunction(ctx, ses, tenant, cu) + convey.So(err, convey.ShouldBeNil) + }) +} + func Test_initUser(t *testing.T) { convey.Convey("init user", t, func() { ctrl := gomock.NewController(t) @@ -5452,6 +5485,27 @@ func Test_doRevokePrivilege(t *testing.T) { }) } +func Test_doDropFunction(t *testing.T) { + convey.Convey("drop function", t, func() { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + pu := config.NewParameterUnit(&config.FrontendParameters{}, nil, nil, nil, nil) + pu.SV.SetDefaultValues() + + ctx := context.WithValue(context.TODO(), config.ParameterUnitKey, pu) + + cu := &tree.DropFunction{ + Name: tree.NewFuncName("testFunc"), + Args: nil, + } + + ses := &Session{} + err := doDropFunction(ctx, ses, cu) + convey.So(err, convey.ShouldBeNil) + }) +} + func Test_doDropRole(t *testing.T) { convey.Convey("drop role succ", t, func() { ctrl := gomock.NewController(t) diff --git a/pkg/frontend/mysql_cmd_executor.go b/pkg/frontend/mysql_cmd_executor.go index 96b50d05325d..b1eae352a611 100644 --- a/pkg/frontend/mysql_cmd_executor.go +++ b/pkg/frontend/mysql_cmd_executor.go @@ -1990,6 +1990,17 @@ func (mce *MysqlCmdExecutor) handleDropRole(ctx context.Context, dr *tree.DropRo return doDropRole(ctx, mce.GetSession(), dr) } +func (mce *MysqlCmdExecutor) handleCreateFunction(ctx context.Context, cf *tree.CreateFunction) error { + ses := mce.GetSession() + tenant := ses.GetTenantInfo() + + return InitFunction(ctx, ses, tenant, cf) +} + +func (mce *MysqlCmdExecutor) handleDropFunction(ctx context.Context, df *tree.DropFunction) error { + return doDropFunction(ctx, mce.GetSession(), df) +} + // handleGrantRole grants the role func (mce *MysqlCmdExecutor) handleGrantRole(ctx context.Context, gr *tree.GrantRole) error { return doGrantRole(ctx, mce.GetSession(), gr) @@ -3383,6 +3394,16 @@ func (mce *MysqlCmdExecutor) doComQuery(requestCtx context.Context, sql string) if err = mce.handleDropRole(requestCtx, st); err != nil { goto handleFailed } + case *tree.CreateFunction: + selfHandle = true + if err = mce.handleCreateFunction(requestCtx, st); err != nil { + goto handleFailed + } + case *tree.DropFunction: + selfHandle = true + if err = mce.handleDropFunction(requestCtx, st); err != nil { + goto handleFailed + } case *tree.Grant: selfHandle = true ses.InvalidatePrivilegeCache() @@ -3704,6 +3725,7 @@ func (mce *MysqlCmdExecutor) doComQuery(requestCtx context.Context, sql string) *tree.CreateIndex, *tree.DropIndex, *tree.Insert, *tree.Update, *tree.CreateView, *tree.DropView, *tree.Load, *tree.MoDump, *tree.CreateAccount, *tree.DropAccount, *tree.AlterAccount, + *tree.CreateFunction, *tree.DropFunction, *tree.CreateUser, *tree.DropUser, *tree.AlterUser, *tree.CreateRole, *tree.DropRole, *tree.Revoke, *tree.Grant, *tree.SetDefaultRole, *tree.SetRole, *tree.SetPassword, *tree.Delete, *tree.TruncateTable, *tree.Use, diff --git a/pkg/sql/parsers/dialect/mysql/keywords.go b/pkg/sql/parsers/dialect/mysql/keywords.go index 802c901a5340..02e6d110c6cd 100644 --- a/pkg/sql/parsers/dialect/mysql/keywords.go +++ b/pkg/sql/parsers/dialect/mysql/keywords.go @@ -526,5 +526,7 @@ func init() { "preceding": PRECEDING, "following": FOLLOWING, "groups": GROUPS, + "returns": RETURNS, + "extension": EXTENSION, } } diff --git a/pkg/sql/parsers/dialect/mysql/mysql_sql.go b/pkg/sql/parsers/dialect/mysql/mysql_sql.go index 0861d626303e..a253386156b3 100644 --- a/pkg/sql/parsers/dialect/mysql/mysql_sql.go +++ b/pkg/sql/parsers/dialect/mysql/mysql_sql.go @@ -208,316 +208,318 @@ const DROP = 57530 const RENAME = 57531 const ANALYZE = 57532 const ADD = 57533 -const SCHEMA = 57534 -const TABLE = 57535 -const INDEX = 57536 -const VIEW = 57537 -const TO = 57538 -const IGNORE = 57539 -const IF = 57540 -const PRIMARY = 57541 -const COLUMN = 57542 -const CONSTRAINT = 57543 -const SPATIAL = 57544 -const FULLTEXT = 57545 -const FOREIGN = 57546 -const KEY_BLOCK_SIZE = 57547 -const SHOW = 57548 -const DESCRIBE = 57549 -const EXPLAIN = 57550 -const DATE = 57551 -const ESCAPE = 57552 -const REPAIR = 57553 -const OPTIMIZE = 57554 -const TRUNCATE = 57555 -const MAXVALUE = 57556 -const PARTITION = 57557 -const REORGANIZE = 57558 -const LESS = 57559 -const THAN = 57560 -const PROCEDURE = 57561 -const TRIGGER = 57562 -const STATUS = 57563 -const VARIABLES = 57564 -const ROLE = 57565 -const PROXY = 57566 -const AVG_ROW_LENGTH = 57567 -const STORAGE = 57568 -const DISK = 57569 -const MEMORY = 57570 -const CHECKSUM = 57571 -const COMPRESSION = 57572 -const DATA = 57573 -const DIRECTORY = 57574 -const DELAY_KEY_WRITE = 57575 -const ENCRYPTION = 57576 -const ENGINE = 57577 -const MAX_ROWS = 57578 -const MIN_ROWS = 57579 -const PACK_KEYS = 57580 -const ROW_FORMAT = 57581 -const STATS_AUTO_RECALC = 57582 -const STATS_PERSISTENT = 57583 -const STATS_SAMPLE_PAGES = 57584 -const DYNAMIC = 57585 -const COMPRESSED = 57586 -const REDUNDANT = 57587 -const COMPACT = 57588 -const FIXED = 57589 -const COLUMN_FORMAT = 57590 -const AUTO_RANDOM = 57591 -const RESTRICT = 57592 -const CASCADE = 57593 -const ACTION = 57594 -const PARTIAL = 57595 -const SIMPLE = 57596 -const CHECK = 57597 -const ENFORCED = 57598 -const RANGE = 57599 -const LIST = 57600 -const ALGORITHM = 57601 -const LINEAR = 57602 -const PARTITIONS = 57603 -const SUBPARTITION = 57604 -const SUBPARTITIONS = 57605 -const CLUSTER = 57606 -const TYPE = 57607 -const ANY = 57608 -const SOME = 57609 -const EXTERNAL = 57610 -const LOCALFILE = 57611 -const URL = 57612 -const PREPARE = 57613 -const DEALLOCATE = 57614 -const RESET = 57615 -const PROPERTIES = 57616 -const PARSER = 57617 -const VISIBLE = 57618 -const INVISIBLE = 57619 -const BTREE = 57620 -const HASH = 57621 -const RTREE = 57622 -const BSI = 57623 -const ZONEMAP = 57624 -const LEADING = 57625 -const BOTH = 57626 -const TRAILING = 57627 -const UNKNOWN = 57628 -const EXPIRE = 57629 -const ACCOUNT = 57630 -const ACCOUNTS = 57631 -const UNLOCK = 57632 -const DAY = 57633 -const NEVER = 57634 -const PUMP = 57635 -const SECOND = 57636 -const ASCII = 57637 -const COALESCE = 57638 -const COLLATION = 57639 -const HOUR = 57640 -const MICROSECOND = 57641 -const MINUTE = 57642 -const MONTH = 57643 -const QUARTER = 57644 -const REPEAT = 57645 -const REVERSE = 57646 -const ROW_COUNT = 57647 -const WEEK = 57648 -const REVOKE = 57649 -const FUNCTION = 57650 -const PRIVILEGES = 57651 -const TABLESPACE = 57652 -const EXECUTE = 57653 -const SUPER = 57654 -const GRANT = 57655 -const OPTION = 57656 -const REFERENCES = 57657 -const REPLICATION = 57658 -const SLAVE = 57659 -const CLIENT = 57660 -const USAGE = 57661 -const RELOAD = 57662 -const FILE = 57663 -const TEMPORARY = 57664 -const ROUTINE = 57665 -const EVENT = 57666 -const SHUTDOWN = 57667 -const NULLX = 57668 -const AUTO_INCREMENT = 57669 -const APPROXNUM = 57670 -const SIGNED = 57671 -const UNSIGNED = 57672 -const ZEROFILL = 57673 -const ENGINES = 57674 -const LOW_CARDINALITY = 57675 -const ADMIN_NAME = 57676 -const RANDOM = 57677 -const SUSPEND = 57678 -const ATTRIBUTE = 57679 -const HISTORY = 57680 -const REUSE = 57681 -const CURRENT = 57682 -const OPTIONAL = 57683 -const FAILED_LOGIN_ATTEMPTS = 57684 -const PASSWORD_LOCK_TIME = 57685 -const UNBOUNDED = 57686 -const SECONDARY = 57687 -const USER = 57688 -const IDENTIFIED = 57689 -const CIPHER = 57690 -const ISSUER = 57691 -const X509 = 57692 -const SUBJECT = 57693 -const SAN = 57694 -const REQUIRE = 57695 -const SSL = 57696 -const NONE = 57697 -const PASSWORD = 57698 -const MAX_QUERIES_PER_HOUR = 57699 -const MAX_UPDATES_PER_HOUR = 57700 -const MAX_CONNECTIONS_PER_HOUR = 57701 -const MAX_USER_CONNECTIONS = 57702 -const FORMAT = 57703 -const VERBOSE = 57704 -const CONNECTION = 57705 -const TRIGGERS = 57706 -const PROFILES = 57707 -const LOAD = 57708 -const INFILE = 57709 -const TERMINATED = 57710 -const OPTIONALLY = 57711 -const ENCLOSED = 57712 -const ESCAPED = 57713 -const STARTING = 57714 -const LINES = 57715 -const ROWS = 57716 -const IMPORT = 57717 -const MODUMP = 57718 -const OVER = 57719 -const PRECEDING = 57720 -const FOLLOWING = 57721 -const GROUPS = 57722 -const DATABASES = 57723 -const TABLES = 57724 -const EXTENDED = 57725 -const FULL = 57726 -const PROCESSLIST = 57727 -const FIELDS = 57728 -const COLUMNS = 57729 -const OPEN = 57730 -const ERRORS = 57731 -const WARNINGS = 57732 -const INDEXES = 57733 -const SCHEMAS = 57734 -const NODE = 57735 -const LOCKS = 57736 -const NAMES = 57737 -const GLOBAL = 57738 -const SESSION = 57739 -const ISOLATION = 57740 -const LEVEL = 57741 -const READ = 57742 -const WRITE = 57743 -const ONLY = 57744 -const REPEATABLE = 57745 -const COMMITTED = 57746 -const UNCOMMITTED = 57747 -const SERIALIZABLE = 57748 -const LOCAL = 57749 -const EVENTS = 57750 -const PLUGINS = 57751 -const CURRENT_TIMESTAMP = 57752 -const DATABASE = 57753 -const CURRENT_TIME = 57754 -const LOCALTIME = 57755 -const LOCALTIMESTAMP = 57756 -const UTC_DATE = 57757 -const UTC_TIME = 57758 -const UTC_TIMESTAMP = 57759 -const REPLACE = 57760 -const CONVERT = 57761 -const SEPARATOR = 57762 -const TIMESTAMPDIFF = 57763 -const CURRENT_DATE = 57764 -const CURRENT_USER = 57765 -const CURRENT_ROLE = 57766 -const SECOND_MICROSECOND = 57767 -const MINUTE_MICROSECOND = 57768 -const MINUTE_SECOND = 57769 -const HOUR_MICROSECOND = 57770 -const HOUR_SECOND = 57771 -const HOUR_MINUTE = 57772 -const DAY_MICROSECOND = 57773 -const DAY_SECOND = 57774 -const DAY_MINUTE = 57775 -const DAY_HOUR = 57776 -const YEAR_MONTH = 57777 -const SQL_TSI_HOUR = 57778 -const SQL_TSI_DAY = 57779 -const SQL_TSI_WEEK = 57780 -const SQL_TSI_MONTH = 57781 -const SQL_TSI_QUARTER = 57782 -const SQL_TSI_YEAR = 57783 -const SQL_TSI_SECOND = 57784 -const SQL_TSI_MINUTE = 57785 -const RECURSIVE = 57786 -const CONFIG = 57787 -const DRAINER = 57788 -const MATCH = 57789 -const AGAINST = 57790 -const BOOLEAN = 57791 -const LANGUAGE = 57792 -const WITH = 57793 -const QUERY = 57794 -const EXPANSION = 57795 -const ADDDATE = 57796 -const BIT_AND = 57797 -const BIT_OR = 57798 -const BIT_XOR = 57799 -const CAST = 57800 -const COUNT = 57801 -const APPROX_COUNT_DISTINCT = 57802 -const APPROX_PERCENTILE = 57803 -const CURDATE = 57804 -const CURTIME = 57805 -const DATE_ADD = 57806 -const DATE_SUB = 57807 -const EXTRACT = 57808 -const GROUP_CONCAT = 57809 -const MAX = 57810 -const MID = 57811 -const MIN = 57812 -const NOW = 57813 -const POSITION = 57814 -const SESSION_USER = 57815 -const STD = 57816 -const STDDEV = 57817 -const MEDIAN = 57818 -const STDDEV_POP = 57819 -const STDDEV_SAMP = 57820 -const SUBDATE = 57821 -const SUBSTR = 57822 -const SUBSTRING = 57823 -const SUM = 57824 -const SYSDATE = 57825 -const SYSTEM_USER = 57826 -const TRANSLATE = 57827 -const TRIM = 57828 -const VARIANCE = 57829 -const VAR_POP = 57830 -const VAR_SAMP = 57831 -const AVG = 57832 -const ARROW = 57833 -const ROW = 57834 -const OUTFILE = 57835 -const HEADER = 57836 -const MAX_FILE_SIZE = 57837 -const FORCE_QUOTE = 57838 -const UNUSED = 57839 -const BINDINGS = 57840 -const DO = 57841 -const DECLARE = 57842 -const KILL = 57843 +const RETURNS = 57534 +const SCHEMA = 57535 +const TABLE = 57536 +const INDEX = 57537 +const VIEW = 57538 +const TO = 57539 +const IGNORE = 57540 +const IF = 57541 +const PRIMARY = 57542 +const COLUMN = 57543 +const CONSTRAINT = 57544 +const SPATIAL = 57545 +const FULLTEXT = 57546 +const FOREIGN = 57547 +const KEY_BLOCK_SIZE = 57548 +const SHOW = 57549 +const DESCRIBE = 57550 +const EXPLAIN = 57551 +const DATE = 57552 +const ESCAPE = 57553 +const REPAIR = 57554 +const OPTIMIZE = 57555 +const TRUNCATE = 57556 +const MAXVALUE = 57557 +const PARTITION = 57558 +const REORGANIZE = 57559 +const LESS = 57560 +const THAN = 57561 +const PROCEDURE = 57562 +const TRIGGER = 57563 +const STATUS = 57564 +const VARIABLES = 57565 +const ROLE = 57566 +const PROXY = 57567 +const AVG_ROW_LENGTH = 57568 +const STORAGE = 57569 +const DISK = 57570 +const MEMORY = 57571 +const CHECKSUM = 57572 +const COMPRESSION = 57573 +const DATA = 57574 +const DIRECTORY = 57575 +const DELAY_KEY_WRITE = 57576 +const ENCRYPTION = 57577 +const ENGINE = 57578 +const MAX_ROWS = 57579 +const MIN_ROWS = 57580 +const PACK_KEYS = 57581 +const ROW_FORMAT = 57582 +const STATS_AUTO_RECALC = 57583 +const STATS_PERSISTENT = 57584 +const STATS_SAMPLE_PAGES = 57585 +const DYNAMIC = 57586 +const COMPRESSED = 57587 +const REDUNDANT = 57588 +const COMPACT = 57589 +const FIXED = 57590 +const COLUMN_FORMAT = 57591 +const AUTO_RANDOM = 57592 +const RESTRICT = 57593 +const CASCADE = 57594 +const ACTION = 57595 +const PARTIAL = 57596 +const SIMPLE = 57597 +const CHECK = 57598 +const ENFORCED = 57599 +const RANGE = 57600 +const LIST = 57601 +const ALGORITHM = 57602 +const LINEAR = 57603 +const PARTITIONS = 57604 +const SUBPARTITION = 57605 +const SUBPARTITIONS = 57606 +const CLUSTER = 57607 +const TYPE = 57608 +const ANY = 57609 +const SOME = 57610 +const EXTERNAL = 57611 +const LOCALFILE = 57612 +const URL = 57613 +const PREPARE = 57614 +const DEALLOCATE = 57615 +const RESET = 57616 +const EXTENSION = 57617 +const PROPERTIES = 57618 +const PARSER = 57619 +const VISIBLE = 57620 +const INVISIBLE = 57621 +const BTREE = 57622 +const HASH = 57623 +const RTREE = 57624 +const BSI = 57625 +const ZONEMAP = 57626 +const LEADING = 57627 +const BOTH = 57628 +const TRAILING = 57629 +const UNKNOWN = 57630 +const EXPIRE = 57631 +const ACCOUNT = 57632 +const ACCOUNTS = 57633 +const UNLOCK = 57634 +const DAY = 57635 +const NEVER = 57636 +const PUMP = 57637 +const SECOND = 57638 +const ASCII = 57639 +const COALESCE = 57640 +const COLLATION = 57641 +const HOUR = 57642 +const MICROSECOND = 57643 +const MINUTE = 57644 +const MONTH = 57645 +const QUARTER = 57646 +const REPEAT = 57647 +const REVERSE = 57648 +const ROW_COUNT = 57649 +const WEEK = 57650 +const REVOKE = 57651 +const FUNCTION = 57652 +const PRIVILEGES = 57653 +const TABLESPACE = 57654 +const EXECUTE = 57655 +const SUPER = 57656 +const GRANT = 57657 +const OPTION = 57658 +const REFERENCES = 57659 +const REPLICATION = 57660 +const SLAVE = 57661 +const CLIENT = 57662 +const USAGE = 57663 +const RELOAD = 57664 +const FILE = 57665 +const TEMPORARY = 57666 +const ROUTINE = 57667 +const EVENT = 57668 +const SHUTDOWN = 57669 +const NULLX = 57670 +const AUTO_INCREMENT = 57671 +const APPROXNUM = 57672 +const SIGNED = 57673 +const UNSIGNED = 57674 +const ZEROFILL = 57675 +const ENGINES = 57676 +const LOW_CARDINALITY = 57677 +const ADMIN_NAME = 57678 +const RANDOM = 57679 +const SUSPEND = 57680 +const ATTRIBUTE = 57681 +const HISTORY = 57682 +const REUSE = 57683 +const CURRENT = 57684 +const OPTIONAL = 57685 +const FAILED_LOGIN_ATTEMPTS = 57686 +const PASSWORD_LOCK_TIME = 57687 +const UNBOUNDED = 57688 +const SECONDARY = 57689 +const USER = 57690 +const IDENTIFIED = 57691 +const CIPHER = 57692 +const ISSUER = 57693 +const X509 = 57694 +const SUBJECT = 57695 +const SAN = 57696 +const REQUIRE = 57697 +const SSL = 57698 +const NONE = 57699 +const PASSWORD = 57700 +const MAX_QUERIES_PER_HOUR = 57701 +const MAX_UPDATES_PER_HOUR = 57702 +const MAX_CONNECTIONS_PER_HOUR = 57703 +const MAX_USER_CONNECTIONS = 57704 +const FORMAT = 57705 +const VERBOSE = 57706 +const CONNECTION = 57707 +const TRIGGERS = 57708 +const PROFILES = 57709 +const LOAD = 57710 +const INFILE = 57711 +const TERMINATED = 57712 +const OPTIONALLY = 57713 +const ENCLOSED = 57714 +const ESCAPED = 57715 +const STARTING = 57716 +const LINES = 57717 +const ROWS = 57718 +const IMPORT = 57719 +const MODUMP = 57720 +const OVER = 57721 +const PRECEDING = 57722 +const FOLLOWING = 57723 +const GROUPS = 57724 +const DATABASES = 57725 +const TABLES = 57726 +const EXTENDED = 57727 +const FULL = 57728 +const PROCESSLIST = 57729 +const FIELDS = 57730 +const COLUMNS = 57731 +const OPEN = 57732 +const ERRORS = 57733 +const WARNINGS = 57734 +const INDEXES = 57735 +const SCHEMAS = 57736 +const NODE = 57737 +const LOCKS = 57738 +const NAMES = 57739 +const GLOBAL = 57740 +const SESSION = 57741 +const ISOLATION = 57742 +const LEVEL = 57743 +const READ = 57744 +const WRITE = 57745 +const ONLY = 57746 +const REPEATABLE = 57747 +const COMMITTED = 57748 +const UNCOMMITTED = 57749 +const SERIALIZABLE = 57750 +const LOCAL = 57751 +const EVENTS = 57752 +const PLUGINS = 57753 +const CURRENT_TIMESTAMP = 57754 +const DATABASE = 57755 +const CURRENT_TIME = 57756 +const LOCALTIME = 57757 +const LOCALTIMESTAMP = 57758 +const UTC_DATE = 57759 +const UTC_TIME = 57760 +const UTC_TIMESTAMP = 57761 +const REPLACE = 57762 +const CONVERT = 57763 +const SEPARATOR = 57764 +const TIMESTAMPDIFF = 57765 +const CURRENT_DATE = 57766 +const CURRENT_USER = 57767 +const CURRENT_ROLE = 57768 +const SECOND_MICROSECOND = 57769 +const MINUTE_MICROSECOND = 57770 +const MINUTE_SECOND = 57771 +const HOUR_MICROSECOND = 57772 +const HOUR_SECOND = 57773 +const HOUR_MINUTE = 57774 +const DAY_MICROSECOND = 57775 +const DAY_SECOND = 57776 +const DAY_MINUTE = 57777 +const DAY_HOUR = 57778 +const YEAR_MONTH = 57779 +const SQL_TSI_HOUR = 57780 +const SQL_TSI_DAY = 57781 +const SQL_TSI_WEEK = 57782 +const SQL_TSI_MONTH = 57783 +const SQL_TSI_QUARTER = 57784 +const SQL_TSI_YEAR = 57785 +const SQL_TSI_SECOND = 57786 +const SQL_TSI_MINUTE = 57787 +const RECURSIVE = 57788 +const CONFIG = 57789 +const DRAINER = 57790 +const MATCH = 57791 +const AGAINST = 57792 +const BOOLEAN = 57793 +const LANGUAGE = 57794 +const WITH = 57795 +const QUERY = 57796 +const EXPANSION = 57797 +const ADDDATE = 57798 +const BIT_AND = 57799 +const BIT_OR = 57800 +const BIT_XOR = 57801 +const CAST = 57802 +const COUNT = 57803 +const APPROX_COUNT_DISTINCT = 57804 +const APPROX_PERCENTILE = 57805 +const CURDATE = 57806 +const CURTIME = 57807 +const DATE_ADD = 57808 +const DATE_SUB = 57809 +const EXTRACT = 57810 +const GROUP_CONCAT = 57811 +const MAX = 57812 +const MID = 57813 +const MIN = 57814 +const NOW = 57815 +const POSITION = 57816 +const SESSION_USER = 57817 +const STD = 57818 +const STDDEV = 57819 +const MEDIAN = 57820 +const STDDEV_POP = 57821 +const STDDEV_SAMP = 57822 +const SUBDATE = 57823 +const SUBSTR = 57824 +const SUBSTRING = 57825 +const SUM = 57826 +const SYSDATE = 57827 +const SYSTEM_USER = 57828 +const TRANSLATE = 57829 +const TRIM = 57830 +const VARIANCE = 57831 +const VAR_POP = 57832 +const VAR_SAMP = 57833 +const AVG = 57834 +const ARROW = 57835 +const ROW = 57836 +const OUTFILE = 57837 +const HEADER = 57838 +const MAX_FILE_SIZE = 57839 +const FORCE_QUOTE = 57840 +const UNUSED = 57841 +const BINDINGS = 57842 +const DO = 57843 +const DECLARE = 57844 +const KILL = 57845 var yyToknames = [...]string{ "$end", @@ -728,6 +730,7 @@ var yyToknames = [...]string{ "RENAME", "ANALYZE", "ADD", + "RETURNS", "SCHEMA", "TABLE", "INDEX", @@ -810,6 +813,7 @@ var yyToknames = [...]string{ "PREPARE", "DEALLOCATE", "RESET", + "EXTENSION", "PROPERTIES", "PARSER", "VISIBLE", @@ -1050,3088 +1054,3343 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line mysql_sql.y:8153 +//line mysql_sql.y:8280 //line yacctab:1 var yyExca = [...]int{ -1, 1, 1, -1, -2, 0, - -1, 86, - 21, 518, - -2, 499, - -1, 92, - 211, 699, - -2, 746, - -1, 110, - 42, 353, - 211, 353, - 238, 360, - 239, 360, - 408, 353, - -2, 381, - -1, 473, - 67, 1112, - -2, 1621, - -1, 474, - 67, 1130, - -2, 1592, - -1, 479, - 67, 1131, - -2, 1620, - -1, 500, - 67, 1044, - -2, 1668, - -1, 501, - 67, 1045, - -2, 1667, - -1, 502, - 67, 1046, - -2, 1657, - -1, 503, - 67, 1632, - -2, 1652, - -1, 504, - 67, 1633, - -2, 1653, - -1, 505, - 67, 1634, - -2, 1659, - -1, 506, - 67, 1635, + -1, 87, + 21, 522, + -2, 503, + -1, 95, + 212, 720, + -2, 767, + -1, 114, + 42, 355, + 212, 355, + 239, 362, + 240, 362, + 410, 355, + -2, 383, + -1, 421, + 288, 88, + 386, 88, + -2, 1503, + -1, 480, + 67, 1133, + -2, 1643, + -1, 481, + 67, 1151, + -2, 1614, + -1, 486, + 67, 1152, -2, 1642, -1, 507, - 67, 1636, - -2, 1650, + 67, 1065, + -2, 1691, -1, 508, - 67, 1637, - -2, 1660, + 67, 1066, + -2, 1690, -1, 509, - 67, 1638, - -2, 1661, + 67, 1067, + -2, 1680, -1, 510, - 67, 1639, - -2, 1666, + 67, 1655, + -2, 1675, -1, 511, - 67, 1640, - -2, 1671, + 67, 1656, + -2, 1676, -1, 512, - 67, 1641, - -2, 1672, + 67, 1657, + -2, 1682, + -1, 513, + 67, 1658, + -2, 1665, -1, 514, - 67, 1109, - -2, 1473, + 67, 1659, + -2, 1673, + -1, 515, + 67, 1660, + -2, 1683, + -1, 516, + 67, 1661, + -2, 1684, + -1, 517, + 67, 1662, + -2, 1689, + -1, 518, + 67, 1663, + -2, 1694, + -1, 519, + 67, 1664, + -2, 1695, -1, 521, - 67, 1118, - -2, 1499, - -1, 525, - 67, 1122, - -2, 1538, - -1, 526, - 67, 1123, - -2, 1616, - -1, 534, - 67, 1133, - -2, 1601, - -1, 536, - 67, 1135, - -2, 1611, - -1, 548, - 67, 1025, - -2, 1662, - -1, 549, - 67, 1026, - -2, 1663, - -1, 550, - 67, 1027, - -2, 1664, + 67, 1130, + -2, 1495, + -1, 528, + 67, 1139, + -2, 1521, + -1, 532, + 67, 1143, + -2, 1560, + -1, 533, + 67, 1144, + -2, 1638, + -1, 541, + 67, 1154, + -2, 1623, + -1, 543, + 67, 1156, + -2, 1633, + -1, 555, + 67, 1046, + -2, 1685, + -1, 556, + 67, 1047, + -2, 1686, -1, 557, - 21, 519, - -2, 482, - -1, 606, - 403, 381, - 404, 381, - -2, 354, - -1, 648, - 103, 1473, - 114, 1473, - 133, 1473, - -2, 1271, - -1, 685, - 21, 519, - -2, 482, - -1, 784, - 21, 518, - -2, 936, - -1, 1092, - 67, 1178, - -2, 1618, - -1, 1093, - 67, 1179, - -2, 1619, - -1, 1249, - 1, 725, - 68, 725, - 519, 725, - -2, 732, - -1, 1368, - 133, 1281, - -2, 1279, - -1, 1370, - 133, 642, - -2, 1276, - -1, 1371, - 133, 643, - -2, 1277, - -1, 1665, - 1, 726, - 68, 726, - 519, 726, - -2, 732, - -1, 1720, - 21, 518, - -2, 609, - -1, 1892, - 65, 425, - 134, 425, - -2, 841, - -1, 2159, - 87, 732, - 129, 732, - 166, 732, - 169, 732, - -2, 789, - -1, 2161, - 272, 904, - -2, 883, - -1, 2189, - 87, 732, - 129, 732, - 166, 732, - 169, 732, - -2, 789, - -1, 2192, - 65, 425, - 134, 425, - -2, 842, + 67, 1048, + -2, 1687, + -1, 564, + 21, 523, + -2, 486, + -1, 615, + 405, 383, + 406, 383, + -2, 356, + -1, 657, + 103, 1495, + 114, 1495, + 133, 1495, + -2, 1292, + -1, 695, + 21, 523, + -2, 486, + -1, 794, + 21, 522, + -2, 957, + -1, 1107, + 67, 1199, + -2, 1640, + -1, 1108, + 67, 1200, + -2, 1641, + -1, 1266, + 1, 746, + 68, 746, + 521, 746, + -2, 753, + -1, 1386, + 133, 1302, + -2, 1300, + -1, 1388, + 133, 646, + -2, 1297, + -1, 1389, + 133, 647, + -2, 1298, + -1, 1678, + 68, 1278, + 134, 1278, + -2, 1625, + -1, 1679, + 68, 1274, + 134, 1274, + -2, 1624, + -1, 1680, + 68, 1256, + 134, 1256, + -2, 1611, + -1, 1681, + 68, 1257, + 134, 1257, + -2, 1616, + -1, 1682, + 68, 1258, + 134, 1258, + -2, 1548, + -1, 1683, + 68, 1259, + 134, 1259, + -2, 1542, + -1, 1684, + 68, 1260, + 134, 1260, + -2, 1486, + -1, 1685, + 68, 1261, + 134, 1261, + -2, 1613, + -1, 1686, + 68, 1262, + 134, 1262, + -2, 1546, + -1, 1687, + 68, 1263, + 134, 1263, + -2, 1541, + -1, 1688, + 68, 1264, + 134, 1264, + -2, 1534, + -1, 1690, + 68, 1247, + 134, 1247, + -2, 1643, + -1, 1691, + 68, 1276, + 134, 1276, + -2, 1614, + -1, 1692, + 68, 1276, + 134, 1276, + -2, 1642, + -1, 1693, + 68, 1276, + 134, 1276, + -2, 1504, + -1, 1694, + 68, 1274, + 134, 1274, + -2, 1633, + -1, 1695, + 68, 1271, + 134, 1271, + -2, 1526, + -1, 1696, + 67, 1229, + 68, 1229, + 134, 1229, + 348, 1229, + 349, 1229, + 350, 1229, + -2, 1485, + -1, 1697, + 67, 1230, + 68, 1230, + 134, 1230, + 348, 1230, + 349, 1230, + 350, 1230, + -2, 1487, + -1, 1698, + 67, 1233, + 68, 1233, + 134, 1233, + 348, 1233, + 349, 1233, + 350, 1233, + -2, 1615, + -1, 1699, + 67, 1235, + 68, 1235, + 134, 1235, + 348, 1235, + 349, 1235, + 350, 1235, + -2, 1598, + -1, 1700, + 67, 1237, + 68, 1237, + 134, 1237, + 348, 1237, + 349, 1237, + 350, 1237, + -2, 1547, + -1, 1701, + 67, 1239, + 68, 1239, + 134, 1239, + 348, 1239, + 349, 1239, + 350, 1239, + -2, 1530, + -1, 1702, + 67, 1240, + 68, 1240, + 134, 1240, + 348, 1240, + 349, 1240, + 350, 1240, + -2, 1531, + -1, 1703, + 67, 1242, + 68, 1242, + 134, 1242, + 348, 1242, + 349, 1242, + 350, 1242, + -2, 1484, + -1, 1704, + 68, 1281, + 134, 1281, + 348, 1281, + 349, 1281, + 350, 1281, + -2, 1509, + -1, 1705, + 68, 1281, + 134, 1281, + 348, 1281, + 349, 1281, + 350, 1281, + -2, 1522, + -1, 1706, + 68, 1284, + 134, 1284, + 348, 1284, + 349, 1284, + 350, 1284, + -2, 1505, + -1, 1707, + 68, 1281, + 134, 1281, + 348, 1281, + 349, 1281, + 350, 1281, + -2, 1583, + -1, 1721, + 1, 747, + 68, 747, + 521, 747, + -2, 753, + -1, 1776, + 21, 522, + -2, 613, + -1, 1953, + 65, 429, + 134, 429, + -2, 862, + -1, 2228, + 87, 753, + 129, 753, + 166, 753, + 169, 753, + -2, 810, -1, 2230, - 87, 732, - 129, 732, - 166, 732, - 169, 732, - -2, 790, + 273, 925, + -2, 904, -1, 2258, - 272, 904, - -2, 884, - -1, 2669, - 68, 761, - 134, 761, - -2, 732, - -1, 2673, - 68, 761, - 134, 761, - -2, 732, - -1, 2687, - 68, 765, - 134, 765, - -2, 732, - -1, 2692, - 68, 766, - 134, 766, - -2, 732, + 87, 753, + 129, 753, + 166, 753, + 169, 753, + -2, 810, + -1, 2261, + 65, 429, + 134, 429, + -2, 863, + -1, 2300, + 87, 753, + 129, 753, + 166, 753, + 169, 753, + -2, 811, + -1, 2328, + 273, 925, + -2, 905, + -1, 2743, + 68, 782, + 134, 782, + -2, 753, + -1, 2747, + 68, 782, + 134, 782, + -2, 753, + -1, 2761, + 68, 786, + 134, 786, + -2, 753, + -1, 2766, + 68, 787, + 134, 787, + -2, 753, } const yyPrivate = 57344 -const yyLast = 28694 +const yyLast = 29586 var yyAct = [...]int{ - 444, 2231, 1156, 2673, 2672, 2649, 2681, 2514, 1072, 2297, - 426, 2595, 2638, 446, 2270, 2551, 2579, 2480, 2580, 1717, - 2413, 2460, 2217, 2295, 1649, 2226, 1328, 419, 811, 984, - 2484, 2421, 2153, 2468, 471, 1713, 2296, 2315, 128, 128, - 558, 1068, 368, 30, 128, 363, 370, 938, 2280, 370, - 2215, 1203, 1867, 2332, 2184, 2046, 2259, 647, 1255, 1895, - 2229, 911, 1294, 1354, 1075, 2279, 2042, 1747, 1014, 923, - 1360, 375, 1912, 131, 2172, 1316, 841, 1286, 1786, 1712, - 2051, 2165, 424, 2047, 553, 418, 1555, 1753, 1257, 2120, - 1933, 2103, 2062, 1754, 2059, 590, 2057, 381, 2040, 1993, - 127, 127, 1673, 423, 679, 1946, 354, 459, 86, 1551, - 1213, 1206, 1785, 1365, 1368, 1227, 1309, 1355, 553, 1361, - 1362, 1550, 1289, 651, 1911, 1267, 1701, 128, 1155, 1287, - 1268, 925, 1672, 2234, 847, 1869, 1827, 1666, 367, 19, - 3, 1864, 1245, 1235, 674, 1583, 366, 7, 1066, 353, - 1006, 425, 86, 1313, 1552, 1658, 85, 1280, 1269, 649, - 356, 427, 1279, 364, 8, 673, 30, 1071, 609, 654, - 41, 365, 6, 1562, 1637, 1120, 435, 1566, 1106, 1057, - 1715, 1349, 1332, 359, 1065, 639, 1722, 1275, 1244, 681, - 976, 953, 696, 589, 963, 555, 1218, 1126, 675, 384, - 383, 640, 16, 9, 892, 1125, 4, 939, 369, 1005, - 557, 121, 587, 1986, 41, 1986, 1788, 118, 1569, 1559, - 123, 2328, 1748, 2152, 1231, 2502, 1357, 653, 556, 812, - 566, 86, 122, 602, 2288, 122, 716, 37, 112, 93, - 122, 122, 122, 37, 112, 93, 122, 1781, 37, 112, - 93, 122, 1024, 1773, 122, 965, 1556, 373, 2532, 352, - 909, 1567, 19, 124, 672, 1058, 750, 1062, 1021, 122, - 7, 2542, 950, 1855, 951, 935, 652, 862, 2129, 1297, - 1298, 1866, 2568, 749, 2566, 552, 619, 8, 743, 1023, - 1963, 1061, 119, 41, 1271, 6, 1828, 1017, 119, 119, - 944, 945, 1074, 119, 1042, 748, 966, 731, 119, 732, - 543, 119, 542, 544, 545, 2313, 546, 547, 942, 567, - 1011, 941, 944, 945, 2406, 378, 119, 2583, 2584, 2503, - 2504, 2033, 2324, 1865, 2555, 2556, 2034, 734, 2035, 2409, - 754, 755, 756, 753, 2316, 2317, 2318, 2319, 2330, 2154, - 1077, 1768, 690, 2483, 380, 2137, 128, 689, 1310, 2173, - 1063, 699, 1146, 1563, 1302, 1053, 688, 2293, 2180, 1696, - 559, 1656, 370, 370, 1634, 128, 2073, 850, 1202, 1201, - 1060, 2277, 746, 747, 2063, 623, 719, 1979, 1758, 1778, - 2389, 1981, 745, 684, 686, 870, 874, 876, 878, 880, - 881, 883, 729, 887, 884, 885, 886, 2392, 2290, 865, - 866, 867, 868, 848, 849, 871, 2541, 851, 687, 852, - 853, 854, 855, 856, 857, 858, 859, 860, 861, 863, - 869, 2593, 786, 2071, 92, 372, 120, 707, 873, 875, - 877, 879, 882, 624, 933, 371, 2067, 1076, 757, 2323, - 2383, 2422, 1306, 683, 110, 2325, 2666, 785, 2582, 2682, - 730, 2604, 724, 2565, 726, 793, 699, 2516, 86, 86, - 653, 2570, 2611, 864, 741, 742, 711, 685, 930, 579, - 2539, 1872, 1568, 1059, 2068, 2069, 798, 2544, 2545, 650, - 952, 414, 727, 2376, 415, 1880, 1881, 1882, 1883, 2070, - 1573, 1575, 1576, 2512, 2513, 1142, 2516, 2482, 1139, 2660, - 2345, 910, 1141, 1138, 1140, 1144, 1145, 2344, 417, 652, - 1143, 659, 658, 660, 416, 733, 2641, 2522, 2367, 1878, - 41, 41, 701, 700, 2572, 2573, 1016, 784, 2065, 1084, - 1087, 1088, 972, 971, 692, 693, 937, 936, 957, 709, - 1085, 657, 2469, 2470, 2471, 2473, 2472, 720, 929, 928, - 2683, 2689, 2650, 2371, 2333, 1584, 2677, 2148, 680, 912, - 1557, 1935, 1937, 379, 2404, 964, 708, 1774, 1729, 722, - 704, 705, 787, 788, 789, 790, 652, 1557, 1560, 590, - 1557, 725, 728, 1801, 1802, 889, 1239, 915, 1989, 662, - 581, 2141, 1984, 1985, 694, 716, 918, 917, 374, 2055, - 578, 577, 1571, 791, 920, 721, 655, 1939, 944, 945, - 944, 945, 1161, 1728, 1727, 943, 1995, 1994, 2052, 2055, - 820, 571, 913, 914, 1726, 916, 969, 701, 700, 1300, - 2642, 934, 553, 553, 553, 2505, 2506, 988, 988, 940, - 1149, 1150, 1151, 1152, 1153, 1154, 1147, 1148, 1311, 2074, - 38, 2064, 2543, 370, 1009, 1009, 1570, 897, 1558, 2390, - 1982, 38, 575, 1301, 656, 2445, 574, 990, 2571, 1725, - 723, 1012, 2289, 1019, 715, 2294, 2481, 2676, 986, 986, - 94, 1008, 1008, 94, 1299, 1782, 569, 992, 94, 94, - 94, 751, 626, 1040, 94, 1303, 1054, 1035, 1036, 94, - 822, 823, 94, 872, 627, 2066, 988, 2084, 988, 689, - 1574, 2623, 1015, 650, 1936, 2688, 1022, 94, 1073, 931, - 576, 2056, 1025, 710, 967, 968, 947, 948, 1660, 661, - 752, 1761, 954, 1765, 954, 716, 1049, 1871, 2369, 2160, - 1893, 2056, 2368, 1749, 570, 2695, 2049, 630, 994, 1086, - 2050, 2053, 353, 2639, 2640, 2694, 894, 2372, 2373, 2179, - 1643, 896, 665, 670, 671, 1258, 1055, 557, 1710, 1773, - 1079, 1080, 1081, 1082, 1083, 1711, 1894, 86, 584, 585, - 586, 86, 1335, 1305, 560, 1039, 1738, 1124, 2647, 1875, - 1876, 922, 86, 1038, 629, 958, 620, 1171, 632, 631, - 2685, 86, 2054, 1874, 2667, 1611, 1078, 1177, 1610, 580, - 1556, 752, 1122, 1123, 1648, 2662, 2653, 1070, 1158, 1183, - 1184, 752, 1659, 1165, 970, 982, 983, 946, 2652, 620, - 949, 553, 1048, 979, 980, 981, 714, 2627, 1886, 1738, - 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, - 1104, 1105, 993, 1089, 41, 1115, 1116, 1045, 1051, 1894, - 1056, 1004, 352, 41, 1010, 1044, 2686, 1258, 1031, 1615, - 1565, 2339, 1711, 1067, 752, 622, 2599, 2597, 621, 1224, - 1026, 2663, 1565, 1711, 1027, 2446, 2448, 2449, 2450, 2447, - 2590, 1179, 1209, 1210, 1565, 1547, 1047, 1046, 557, 890, - 1043, 1333, 1242, 1565, 988, 1064, 1069, 1249, 622, 1229, - 1217, 621, 590, 1233, 921, 1256, 1236, 1170, 988, 1157, - 2585, 1160, 1118, 1114, 2574, 1248, 1172, 1225, 667, 668, - 669, 973, 2560, 736, 2195, 737, 1178, 2085, 1180, 961, - 962, 1276, 1276, 2598, 1281, 2537, 1108, 713, 955, 1281, - 2536, 1208, 1242, 988, 1296, 1593, 2394, 1228, 1948, 2535, - 1887, 1240, 1274, 739, 553, 1647, 988, 1215, 1216, 1250, - 1251, 997, 998, 999, 1000, 1001, 1002, 1003, 2534, 716, - 754, 755, 756, 753, 2524, 2100, 2394, 1896, 1242, 988, - 1738, 1327, 128, 128, 1229, 1241, 2401, 1159, 2561, 1337, - 1229, 1229, 1247, 128, 1278, 1776, 1775, 2400, 1171, 1353, - 1263, 2394, 1181, 674, 1171, 1171, 2394, 714, 2393, 1330, - 1767, 1693, 2213, 1322, 1592, 2394, 1272, 1273, 735, 1343, - 1953, 1930, 1198, 754, 755, 756, 753, 1851, 1370, 754, - 755, 756, 753, 1256, 2394, 1283, 956, 988, 1849, 954, - 2525, 1262, 1847, 1264, 1329, 1329, 1845, 1833, 1265, 1266, - 1307, 1295, 2402, 740, 1270, 1329, 682, 675, 1259, 1790, - 1607, 1246, 1220, 1677, 1223, 1312, 1226, 1646, 1771, 1763, - 1759, 1324, 1755, 2014, 2394, 1260, 738, 1326, 1954, 1232, - 1594, 1676, 1371, 1546, 1340, 955, 1954, 1711, 1028, 1644, - 1618, 1548, 1578, 1852, 1252, 1253, 1617, 888, 1564, 1032, - 1261, 1282, 1724, 769, 1850, 653, 796, 1978, 1846, 702, - 1246, 653, 1846, 752, 682, 1554, 1320, 1321, 1351, 1277, - 86, 1163, 1162, 628, 1351, 752, 1586, 2089, 1976, 1590, - 1285, 1284, 2636, 975, 1677, 1756, 1760, 977, 1756, 1308, - 772, 773, 774, 775, 776, 769, 1067, 1677, 978, 1331, - 1317, 1318, 1319, 926, 652, 1643, 752, 582, 1977, 2624, - 652, 1868, 752, 1325, 1565, 1033, 1553, 2526, 682, 1600, - 2101, 1622, 1601, 1341, 1605, 1581, 1582, 1323, 1987, 1766, - 1731, 691, 41, 956, 1796, 1358, 1121, 1121, 1589, 1369, - 1616, 1862, 2559, 1619, 1620, 1621, 1544, 784, 1624, 1625, - 1626, 1627, 1628, 1629, 1630, 1631, 1545, 1632, 1113, 1243, - 1363, 1189, 1364, 974, 753, 1549, 754, 755, 756, 753, - 128, 128, 1591, 1111, 1112, 1110, 756, 753, 1805, 2379, - 2378, 128, 128, 1674, 2169, 2164, 1572, 1952, 2362, 2456, - 633, 2671, 1281, 1580, 2656, 1684, 652, 1577, 1175, 2621, - 2605, 363, 2494, 2462, 887, 884, 885, 886, 1176, 1281, - 1810, 2659, 1809, 1808, 1806, 2440, 1678, 1108, 674, 1579, - 625, 2439, 2438, 2435, 1296, 1588, 2429, 2455, 754, 755, - 756, 753, 1652, 1654, 770, 771, 772, 773, 774, 775, - 776, 769, 2007, 1669, 1670, 760, 761, 762, 763, 764, - 765, 766, 758, 988, 2658, 2454, 2426, 1683, 754, 755, - 756, 753, 2452, 2425, 1009, 2442, 1296, 1798, 2291, 1742, - 2177, 1744, 675, 2176, 1807, 1229, 1229, 1229, 1171, 1242, - 2072, 1682, 1650, 1651, 1685, 1686, 2031, 2006, 2030, 1972, - 1950, 1008, 1642, 2453, 1736, 1718, 1718, 2577, 1718, 1603, - 2451, 1721, 1719, 2441, 1723, 862, 2292, 2592, 2178, 754, - 755, 756, 753, 1667, 1641, 1640, 1636, 1639, 1635, 754, - 755, 756, 753, 1029, 2058, 1689, 907, 1691, 2576, 1687, - 2461, 1720, 676, 677, 678, 1270, 754, 755, 756, 753, - 1751, 2227, 414, 1741, 1821, 415, 2557, 2520, 1752, 1757, - 1661, 1739, 1602, 2519, 1681, 2443, 2436, 1164, 2432, 2431, - 1746, 1690, 2430, 1692, 1688, 2391, 1694, 2364, 2329, 2225, - 1697, 2223, 2187, 1295, 754, 755, 756, 753, 1182, 2175, - 652, 1185, 1186, 1187, 1188, 1190, 1191, 1192, 1193, 1194, - 1195, 1196, 1197, 2487, 1811, 1812, 1597, 820, 2687, 2174, - 2171, 1732, 1733, 1734, 2140, 850, 1787, 2029, 1983, 840, - 1951, 1942, 499, 498, 1740, 754, 755, 756, 753, 754, - 755, 756, 753, 870, 874, 876, 878, 880, 881, 883, - 1645, 887, 884, 885, 886, 1638, 1342, 865, 866, 867, - 868, 848, 849, 871, 1238, 851, 1030, 852, 853, 854, - 855, 856, 857, 858, 859, 860, 861, 863, 869, 2388, - 821, 816, 815, 797, 2664, 2076, 873, 875, 877, 879, - 882, 754, 755, 756, 753, 2219, 122, 1769, 2527, 112, - 93, 754, 755, 756, 753, 2412, 2189, 988, 2188, 988, - 2159, 988, 2150, 2149, 2133, 2119, 689, 754, 755, 756, - 753, 864, 2118, 2090, 2012, 1783, 2005, 768, 767, 777, - 778, 770, 771, 772, 773, 774, 775, 776, 769, 1997, - 1992, 2218, 1848, 1844, 988, 1814, 1613, 2144, 1843, 1623, - 1779, 1614, 1612, 119, 2617, 2010, 1609, 1608, 1822, 1606, - 1599, 1596, 988, 754, 755, 756, 753, 1797, 1595, 754, - 755, 756, 753, 1813, 2009, 1815, 1816, 754, 755, 756, - 753, 1819, 1820, 2008, 1174, 986, 1173, 995, 122, 1842, - 2684, 1823, 2635, 1825, 2629, 2612, 754, 755, 756, 753, - 2609, 2607, 813, 986, 2493, 754, 755, 756, 753, 2478, - 988, 754, 755, 756, 753, 2466, 2463, 2458, 1800, 2418, - 1205, 1229, 1892, 2386, 1856, 1857, 1236, 2385, 1898, 2384, - 2381, 2375, 1780, 2360, 924, 561, 562, 563, 564, 1794, - 2110, 1841, 2205, 2203, 1907, 119, 1824, 2182, 560, 689, - 1296, 1296, 1296, 1296, 1772, 1777, 2170, 2016, 1913, 1770, - 1214, 689, 1296, 754, 755, 756, 753, 1207, 30, 1853, - 1913, 1840, 1861, 1958, 1067, 1885, 1791, 1804, 2382, 1839, - 988, 1889, 1888, 1863, 1890, 1762, 1793, 1730, 128, 128, - 1838, 1675, 1109, 754, 755, 756, 753, 996, 119, 1909, - 1929, 754, 755, 756, 753, 1829, 1348, 1171, 1219, 1222, - 1834, 1959, 754, 755, 756, 753, 1171, 1212, 1211, 1052, - 1018, 891, 1901, 1837, 988, 839, 1903, 838, 1899, 837, - 836, 835, 1928, 86, 834, 833, 832, 1970, 1718, 831, - 1229, 830, 1858, 829, 1229, 754, 755, 756, 753, 1667, - 1944, 1945, 1877, 1884, 1891, 828, 1964, 1295, 1295, 1295, - 1295, 872, 827, 1900, 19, 1902, 1897, 826, 1906, 1295, - 825, 1904, 7, 1905, 1955, 824, 1991, 1246, 1965, 1914, - 1915, 1916, 1917, 1910, 1927, 1926, 1925, 1908, 1228, 8, - 819, 1971, 1967, 818, 557, 41, 817, 6, 1943, 2011, - 814, 1940, 1949, 1938, 810, 809, 807, 1998, 806, 805, - 2000, 804, 2002, 803, 689, 802, 801, 1980, 2061, 800, - 799, 86, 1975, 2045, 795, 794, 718, 1956, 1962, 1960, - 128, 1968, 1969, 1974, 1680, 1966, 2104, 2105, 2615, 689, - 689, 1836, 1663, 706, 1296, 1674, 1990, 2088, 2045, 2045, - 2581, 1988, 1996, 2092, 780, 2107, 783, 1879, 1737, 1345, - 2061, 2003, 2004, 754, 755, 756, 753, 717, 1999, 1922, - 2001, 781, 782, 779, 1923, 768, 767, 777, 778, 770, - 771, 772, 773, 774, 775, 776, 769, 2109, 2078, 2079, - 2080, 1919, 2077, 2670, 1703, 1706, 1707, 1708, 1704, 1814, - 1705, 1709, 1920, 1918, 1957, 1242, 1764, 1921, 1835, 1242, - 2036, 2037, 1924, 2015, 1707, 1708, 1860, 2017, 2018, 2019, - 2020, 2086, 2021, 2022, 2023, 2024, 2025, 2026, 2027, 2028, - 754, 755, 756, 753, 2208, 128, 2207, 2081, 2082, 2091, - 128, 1347, 69, 2093, 2094, 2083, 2127, 2087, 2130, 1668, - 2099, 1295, 1199, 2098, 2097, 2096, 1832, 1346, 2108, 40, - 1750, 39, 1789, 1650, 1651, 2111, 2115, 2116, 2117, 2125, - 2206, 2131, 1784, 2112, 893, 125, 2039, 2134, 754, 755, - 756, 753, 1831, 1657, 349, 2143, 712, 2331, 2095, 2124, - 128, 2657, 2145, 2038, 1830, 1254, 2132, 2138, 2128, 2163, - 1826, 350, 2142, 351, 754, 755, 756, 753, 1163, 1162, - 2548, 86, 2136, 86, 348, 2139, 754, 755, 756, 753, - 960, 2135, 754, 755, 756, 753, 905, 906, 959, 988, - 988, 2157, 1818, 903, 904, 1296, 2192, 744, 768, 767, - 777, 778, 770, 771, 772, 773, 774, 775, 776, 769, - 2114, 689, 2158, 895, 754, 755, 756, 753, 2183, 1543, - 1913, 901, 902, 2167, 1817, 899, 900, 927, 2630, 1795, - 986, 2185, 2161, 2510, 2498, 2210, 2496, 1171, 1117, 1229, - 2162, 2166, 2202, 2166, 2168, 2204, 754, 755, 756, 753, - 2199, 754, 755, 756, 753, 2423, 86, 2419, 2194, 2209, - 754, 755, 756, 753, 2411, 2410, 2408, 1718, 2310, 2309, - 2224, 689, 2191, 2190, 2221, 2281, 2283, 2156, 2281, 2281, - 2045, 560, 2198, 2200, 2155, 2193, 1258, 2201, 2122, 898, - 2121, 2196, 1947, 689, 2197, 1973, 1698, 2220, 2633, 2619, - 2618, 2618, 1295, 2212, 1598, 703, 2619, 2211, 2287, 2377, - 2126, 932, 48, 1, 1256, 1237, 2307, 2214, 565, 1703, - 1706, 1707, 1708, 1704, 2282, 1705, 1709, 2278, 1344, 2222, - 1931, 1932, 2113, 1934, 2326, 1561, 1695, 2256, 2228, 1655, - 2075, 2286, 2335, 2284, 2285, 768, 767, 777, 778, 770, - 771, 772, 773, 774, 775, 776, 769, 2304, 919, 583, - 2301, 1166, 2194, 2300, 908, 1037, 664, 698, 1034, 697, - 695, 1119, 2305, 461, 1356, 2311, 2459, 988, 777, 778, - 770, 771, 772, 773, 774, 775, 776, 769, 128, 2302, - 2303, 2306, 2547, 2594, 2492, 2336, 2337, 2283, 2340, 2341, - 2342, 2343, 2338, 2550, 2346, 2347, 2348, 2349, 2350, 2351, - 2352, 2353, 2354, 2355, 2356, 2357, 2358, 2359, 2185, 561, - 562, 563, 564, 2631, 2278, 2361, 1050, 445, 2403, 2032, - 2312, 2365, 560, 2405, 2314, 1854, 2396, 2216, 1961, 598, - 493, 469, 808, 1020, 1013, 2387, 2424, 666, 468, 2181, - 2380, 1873, 568, 2399, 663, 2363, 599, 1633, 2151, 2395, - 2417, 2397, 2407, 1200, 1221, 2398, 1204, 2680, 2669, 2457, - 768, 767, 777, 778, 770, 771, 772, 773, 774, 775, - 776, 769, 2648, 2628, 2420, 2515, 2665, 2564, 2610, 2322, - 2320, 2321, 689, 2603, 2437, 689, 689, 689, 2511, 385, - 1304, 2427, 2428, 551, 637, 689, 2479, 2433, 2434, 386, - 1679, 2540, 2465, 2490, 572, 2467, 1662, 573, 2475, 2476, - 2477, 1665, 2464, 1664, 1090, 759, 1107, 2474, 2146, 2508, - 2486, 2147, 1718, 792, 422, 1587, 434, 428, 988, 988, - 2488, 2485, 1870, 2271, 2497, 2501, 2499, 2500, 2495, 86, - 1941, 47, 2417, 46, 45, 2509, 44, 2489, 1336, 1366, - 463, 130, 1367, 2507, 2327, 2552, 443, 2517, 2518, 128, - 442, 441, 440, 1702, 1700, 1699, 1291, 689, 1290, 986, - 986, 1334, 2578, 2530, 2531, 2374, 2444, 2370, 2366, 689, - 2521, 2230, 2257, 2258, 2264, 2523, 846, 842, 844, 845, - 2533, 2528, 843, 2529, 2554, 1803, 1799, 2043, 2044, 2041, - 2106, 2102, 2538, 1352, 1234, 1859, 1292, 2553, 1288, 2299, - 554, 689, 2546, 31, 5, 29, 28, 27, 14, 15, - 2562, 1329, 13, 1041, 2558, 12, 18, 26, 25, 24, - 23, 77, 76, 75, 74, 2567, 2569, 22, 11, 73, - 72, 71, 21, 20, 66, 67, 58, 2575, 767, 777, - 778, 770, 771, 772, 773, 774, 775, 776, 769, 2596, - 57, 56, 2601, 65, 689, 2586, 2587, 2588, 2589, 64, - 63, 597, 2602, 1073, 55, 54, 53, 52, 62, 61, - 2600, 60, 59, 51, 50, 49, 91, 2417, 90, 89, - 88, 32, 33, 34, 2591, 2613, 35, 2616, 2614, 2554, - 2626, 101, 100, 102, 98, 2620, 2013, 96, 689, 99, - 689, 97, 2553, 2622, 2625, 95, 2632, 1073, 2634, 1073, - 768, 767, 777, 778, 770, 771, 772, 773, 774, 775, - 776, 769, 2643, 42, 2596, 2644, 689, 10, 2651, 17, - 2, 0, 0, 0, 2655, 1073, 0, 0, 2661, 2606, - 0, 2608, 2646, 768, 767, 777, 778, 770, 771, 772, - 773, 774, 775, 776, 769, 0, 0, 0, 0, 2668, - 0, 2675, 0, 0, 0, 2679, 0, 0, 2678, 0, - 0, 0, 0, 0, 0, 0, 0, 2690, 0, 2675, - 0, 2692, 2693, 2691, 2679, 2637, 1482, 1524, 0, 0, - 1471, 298, 1429, 1484, 1402, 1418, 1492, 1419, 1420, 1457, - 1381, 1439, 260, 1416, 0, 0, 0, 0, 0, 0, - 1474, 1373, 1405, 1406, 1375, 1412, 1376, 1403, 1431, 205, - 1401, 1442, 230, 1454, 1415, 1436, 1490, 0, 0, 290, - 244, 0, 0, 1434, 1476, 1437, 1462, 1428, 1458, 1389, - 1450, 1485, 1417, 0, 1455, 1486, 0, 0, 0, 0, - 676, 677, 678, 0, 0, 0, 0, 186, 0, 0, - 0, 0, 0, 1453, 1480, 1414, 0, 189, 1483, 1435, - 1456, 0, 0, 1374, 1451, 0, 1379, 1382, 1491, 1478, - 1409, 1410, 0, 0, 0, 0, 0, 0, 0, 0, - 1432, 1438, 1459, 1425, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1407, 0, 1447, 0, 0, 0, 1384, - 1380, 0, 1430, 0, 0, 177, 295, 311, 187, 286, - 324, 192, 293, 182, 259, 282, 0, 1523, 179, 309, - 292, 241, 224, 225, 178, 0, 277, 203, 216, 199, - 257, 0, 308, 336, 198, 327, 1383, 319, 181, 1518, - 318, 256, 305, 310, 242, 236, 180, 307, 240, 235, - 228, 207, 0, 220, 268, 234, 269, 221, 246, 245, - 247, 1502, 1503, 1504, 1505, 1506, 347, 1514, 1515, 0, - 1519, 1520, 1521, 1388, 0, 1408, 1460, 0, 1372, 1469, - 1477, 1427, 321, 1479, 1424, 1423, 1509, 0, 1508, 294, - 1510, 1511, 229, 1475, 1404, 1413, 337, 1411, 280, 262, - 1481, 1446, 1522, 278, 232, 306, 270, 312, 296, 320, - 274, 271, 172, 297, 201, 243, 183, 185, 197, 204, - 206, 208, 209, 252, 253, 265, 285, 299, 300, 301, - 200, 193, 279, 194, 218, 195, 173, 287, 196, 175, - 266, 304, 1507, 214, 275, 239, 176, 238, 267, 303, - 302, 184, 328, 334, 335, 339, 0, 340, 0, 0, - 0, 0, 0, 0, 0, 0, 342, 0, 0, 0, - 1516, 0, 1517, 333, 212, 169, 170, 316, 0, 258, - 0, 1472, 1377, 1387, 1385, 1421, 1448, 1449, 254, 332, - 1464, 1468, 1465, 1493, 283, 0, 0, 0, 0, 0, - 223, 264, 1466, 284, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1378, 0, 291, 314, 326, 343, - 346, 1525, 1526, 1527, 174, 345, 1528, 1529, 1530, 1531, - 1532, 1533, 1534, 317, 1422, 1395, 1433, 325, 1398, 1396, - 1463, 1397, 1452, 341, 248, 249, 250, 251, 215, 0, - 191, 344, 273, 1443, 1426, 1495, 1496, 1497, 1498, 1499, - 1500, 1501, 1444, 1536, 1537, 1538, 1539, 1540, 1400, 338, - 211, 217, 0, 219, 190, 263, 213, 323, 226, 1470, - 1541, 1542, 255, 222, 288, 227, 233, 276, 322, 261, - 281, 188, 313, 289, 237, 1792, 0, 1394, 1399, 1393, - 1440, 1441, 1487, 1488, 1489, 1461, 1386, 1473, 0, 1390, - 1392, 1391, 0, 0, 0, 0, 0, 768, 767, 777, - 778, 770, 771, 772, 773, 774, 775, 776, 769, 0, - 0, 1467, 298, 475, 1445, 171, 0, 231, 1494, 272, - 210, 0, 0, 260, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 436, 0, 0, 0, - 205, 0, 0, 230, 0, 0, 0, 467, 0, 0, - 290, 244, 0, 0, 0, 0, 522, 530, 0, 1512, - 1513, 329, 330, 331, 315, 0, 202, 1535, 429, 0, - 0, 460, 499, 498, 447, 456, 0, 1585, 186, 448, - 0, 455, 449, 453, 452, 450, 451, 0, 514, 0, - 0, 0, 0, 0, 0, 420, 433, 2414, 437, 768, - 767, 777, 778, 770, 771, 772, 773, 774, 775, 776, - 769, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 430, 431, 0, 0, 0, 0, 476, 0, 432, 0, - 0, 478, 457, 458, 0, 0, 177, 295, 311, 187, - 286, 324, 192, 293, 182, 259, 282, 0, 0, 179, - 309, 292, 241, 224, 225, 178, 0, 277, 203, 216, - 199, 257, 454, 474, 479, 198, 536, 472, 319, 181, - 0, 318, 256, 305, 310, 242, 236, 180, 307, 240, - 235, 228, 207, 537, 220, 268, 234, 269, 221, 246, - 245, 247, 0, 0, 0, 0, 0, 347, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 470, 0, 0, 321, 0, 0, 520, 0, 0, 0, - 294, 0, 0, 229, 0, 0, 0, 473, 0, 280, - 262, 533, 421, 0, 278, 232, 306, 270, 312, 296, - 320, 274, 271, 172, 297, 201, 243, 183, 185, 197, - 204, 206, 208, 209, 252, 253, 265, 285, 299, 300, - 301, 200, 193, 279, 194, 218, 195, 173, 287, 196, - 175, 266, 304, 0, 214, 275, 239, 176, 238, 267, - 303, 302, 184, 328, 334, 335, 339, 0, 340, 0, - 0, 0, 0, 0, 0, 0, 0, 342, 0, 0, - 0, 0, 0, 0, 333, 212, 169, 170, 316, 518, - 258, 0, 532, 513, 515, 516, 519, 523, 524, 525, - 526, 527, 529, 531, 535, 283, 0, 0, 0, 0, - 0, 223, 264, 0, 284, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 291, 314, 326, - 343, 346, 0, 0, 0, 174, 345, 0, 2415, 0, - 0, 0, 2416, 0, 534, 0, 0, 0, 325, 0, - 0, 0, 0, 0, 477, 248, 249, 250, 251, 521, - 0, 191, 344, 273, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 338, 211, 217, 0, 219, 190, 263, 213, 323, 226, - 0, 0, 0, 255, 222, 288, 227, 233, 276, 322, - 261, 281, 188, 313, 289, 237, 0, 0, 543, 517, - 542, 544, 545, 541, 546, 547, 528, 439, 0, 482, - 539, 538, 540, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 171, 0, 231, 0, - 272, 210, 506, 486, 487, 488, 438, 489, 484, 485, - 507, 480, 503, 504, 462, 465, 490, 502, 491, 505, - 508, 509, 548, 549, 497, 550, 494, 510, 501, 500, - 492, 481, 511, 512, 466, 464, 495, 496, 483, 298, - 475, 0, 329, 330, 331, 315, 0, 202, 0, 0, - 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 436, 0, 0, 0, 205, 0, 0, - 230, 0, 0, 0, 467, 0, 0, 290, 244, 0, - 0, 0, 0, 522, 530, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 429, 0, 0, 460, 499, - 498, 447, 456, 0, 0, 186, 448, 0, 455, 449, - 453, 452, 450, 451, 0, 514, 0, 0, 0, 0, - 0, 0, 420, 433, 0, 437, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 430, 431, 0, - 0, 0, 0, 476, 0, 432, 0, 0, 478, 457, - 458, 0, 0, 177, 295, 311, 187, 286, 324, 192, - 293, 182, 259, 282, 0, 0, 179, 309, 292, 241, - 224, 225, 178, 0, 277, 203, 216, 199, 257, 454, - 474, 479, 198, 536, 472, 319, 181, 0, 318, 256, - 305, 310, 242, 236, 180, 307, 240, 235, 228, 207, - 537, 220, 268, 234, 269, 221, 246, 245, 247, 0, - 0, 0, 0, 0, 347, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 470, 0, 0, - 321, 0, 0, 520, 0, 0, 0, 294, 0, 0, - 229, 0, 0, 0, 473, 0, 280, 262, 533, 421, - 0, 278, 232, 306, 270, 312, 296, 320, 274, 271, - 172, 297, 201, 243, 183, 185, 197, 204, 206, 208, - 209, 252, 253, 265, 285, 299, 300, 301, 200, 193, - 279, 194, 218, 195, 173, 287, 196, 175, 266, 304, - 0, 214, 275, 239, 176, 238, 267, 303, 302, 184, - 328, 334, 335, 339, 0, 340, 0, 0, 0, 0, - 0, 0, 0, 0, 342, 0, 0, 0, 1168, 1167, - 1169, 333, 212, 169, 170, 316, 518, 258, 0, 532, - 513, 515, 516, 519, 523, 524, 525, 526, 527, 529, - 531, 535, 283, 0, 0, 0, 0, 0, 223, 264, - 0, 284, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 291, 314, 326, 343, 346, 0, - 0, 0, 174, 345, 0, 0, 0, 0, 0, 0, - 0, 534, 0, 0, 0, 325, 0, 0, 0, 0, - 0, 477, 248, 249, 250, 251, 521, 0, 191, 344, - 273, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 338, 211, 217, - 0, 219, 190, 263, 213, 323, 226, 0, 0, 0, - 255, 222, 288, 227, 233, 276, 322, 261, 281, 188, - 313, 289, 237, 0, 0, 543, 517, 542, 544, 545, - 541, 546, 547, 528, 439, 0, 482, 539, 538, 540, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 171, 0, 231, 0, 272, 210, 506, - 486, 487, 488, 438, 489, 484, 485, 507, 480, 503, - 504, 462, 465, 490, 502, 491, 505, 508, 509, 548, - 549, 497, 550, 494, 510, 501, 500, 492, 481, 511, - 512, 466, 464, 495, 496, 483, 298, 475, 0, 329, - 330, 331, 315, 0, 202, 0, 0, 260, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 436, 0, 0, 0, 205, 0, 0, 230, 0, 0, - 0, 467, 0, 0, 290, 244, 0, 0, 0, 0, - 522, 530, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 429, 0, 0, 460, 499, 498, 447, 456, - 0, 0, 186, 448, 0, 455, 449, 453, 452, 450, - 451, 0, 514, 0, 0, 0, 0, 0, 0, 420, - 433, 0, 437, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 430, 431, 0, 0, 0, 0, - 476, 0, 432, 0, 0, 478, 457, 458, 0, 0, - 177, 295, 311, 187, 286, 324, 192, 293, 182, 259, - 282, 0, 0, 179, 309, 292, 241, 224, 225, 178, - 0, 277, 203, 216, 199, 257, 454, 474, 479, 198, - 536, 472, 319, 181, 0, 318, 256, 305, 310, 242, - 236, 180, 307, 240, 235, 228, 207, 537, 220, 268, - 234, 269, 221, 246, 245, 247, 0, 0, 0, 0, - 0, 347, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 470, 0, 0, 321, 0, 0, - 520, 0, 0, 0, 294, 0, 0, 229, 0, 0, - 0, 473, 0, 280, 262, 533, 421, 0, 278, 232, - 306, 270, 312, 296, 320, 274, 271, 172, 297, 201, - 243, 183, 185, 197, 204, 206, 208, 209, 252, 253, - 265, 285, 299, 300, 301, 200, 193, 279, 194, 218, - 195, 173, 287, 196, 175, 266, 304, 0, 214, 275, - 239, 176, 238, 267, 303, 302, 184, 328, 334, 335, - 339, 0, 340, 0, 0, 0, 0, 0, 0, 0, - 0, 342, 0, 0, 0, 0, 0, 0, 333, 212, - 169, 170, 316, 518, 258, 0, 532, 513, 515, 516, - 519, 523, 524, 525, 526, 527, 529, 531, 535, 283, - 0, 0, 0, 0, 0, 223, 264, 0, 284, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 291, 314, 326, 343, 346, 0, 0, 0, 174, - 345, 0, 2415, 0, 0, 0, 2416, 0, 534, 0, - 0, 0, 325, 0, 0, 0, 0, 0, 477, 248, - 249, 250, 251, 521, 0, 191, 344, 273, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 338, 211, 217, 0, 219, 190, - 263, 213, 323, 226, 0, 0, 0, 255, 222, 288, - 227, 233, 276, 322, 261, 281, 188, 313, 289, 237, - 0, 0, 543, 517, 542, 544, 545, 541, 546, 547, - 528, 439, 0, 482, 539, 538, 540, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 171, 0, 231, 0, 272, 210, 506, 486, 487, 488, - 438, 489, 484, 485, 507, 480, 503, 504, 462, 465, - 490, 502, 491, 505, 508, 509, 548, 549, 497, 550, - 494, 510, 501, 500, 492, 481, 511, 512, 466, 464, - 495, 496, 483, 298, 475, 0, 329, 330, 331, 315, - 0, 202, 0, 0, 260, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 436, 0, 0, - 0, 205, 1230, 0, 230, 0, 0, 0, 467, 0, - 0, 290, 244, 0, 0, 0, 0, 522, 530, 0, - 0, 0, 0, 0, 0, 0, 1314, 0, 0, 429, - 0, 0, 460, 499, 498, 447, 456, 0, 0, 186, - 448, 0, 455, 449, 453, 452, 450, 451, 0, 514, - 0, 0, 0, 0, 0, 0, 420, 433, 0, 437, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 430, 431, 0, 0, 0, 0, 476, 0, 432, - 0, 0, 1315, 457, 458, 0, 0, 177, 295, 311, - 187, 286, 324, 192, 293, 182, 259, 282, 0, 0, - 179, 309, 292, 241, 224, 225, 178, 0, 277, 203, - 216, 199, 257, 454, 474, 479, 198, 536, 472, 319, - 181, 0, 318, 256, 305, 310, 242, 236, 180, 307, - 240, 235, 228, 207, 537, 220, 268, 234, 269, 221, - 246, 245, 247, 0, 0, 0, 0, 0, 347, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 470, 0, 0, 321, 0, 0, 520, 0, 0, - 0, 294, 0, 0, 229, 0, 0, 0, 473, 0, - 280, 262, 533, 421, 0, 278, 232, 306, 270, 312, - 296, 320, 274, 271, 172, 297, 201, 243, 183, 185, - 197, 204, 206, 208, 209, 252, 253, 265, 285, 299, - 300, 301, 200, 193, 279, 194, 218, 195, 173, 287, - 196, 175, 266, 304, 0, 214, 275, 239, 176, 238, - 267, 303, 302, 184, 328, 334, 335, 339, 0, 340, - 0, 0, 0, 0, 0, 0, 0, 0, 342, 0, - 0, 0, 0, 0, 0, 333, 212, 169, 170, 316, - 518, 258, 0, 532, 513, 515, 516, 519, 523, 524, - 525, 526, 527, 529, 531, 535, 283, 0, 0, 0, - 0, 0, 223, 264, 0, 284, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 291, 314, - 326, 343, 346, 0, 0, 0, 174, 345, 0, 0, - 0, 0, 0, 0, 0, 534, 0, 0, 0, 325, - 0, 0, 0, 0, 0, 477, 248, 249, 250, 251, - 521, 0, 191, 344, 273, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 338, 211, 217, 0, 219, 190, 263, 213, 323, - 226, 0, 0, 0, 255, 222, 288, 227, 233, 276, - 322, 261, 281, 188, 313, 289, 237, 0, 0, 543, - 517, 542, 544, 545, 541, 546, 547, 528, 439, 0, - 482, 539, 538, 540, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 171, 0, 231, - 0, 272, 210, 506, 486, 487, 488, 438, 489, 484, - 485, 507, 480, 503, 504, 462, 465, 490, 502, 491, - 505, 508, 509, 548, 549, 497, 550, 494, 510, 501, - 500, 492, 481, 511, 512, 466, 464, 495, 496, 483, - 122, 298, 475, 329, 330, 331, 315, 0, 202, 0, - 0, 0, 260, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 436, 0, 0, 0, 205, - 0, 0, 230, 0, 0, 0, 467, 0, 0, 290, - 244, 0, 0, 0, 0, 522, 530, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 429, 0, 0, - 460, 499, 498, 447, 456, 0, 0, 186, 448, 0, - 455, 449, 453, 452, 450, 451, 0, 514, 0, 0, - 0, 0, 0, 0, 420, 433, 0, 437, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 430, - 431, 0, 0, 0, 0, 476, 0, 432, 0, 0, - 478, 457, 458, 0, 0, 177, 295, 311, 187, 286, - 324, 192, 293, 182, 259, 282, 0, 0, 179, 309, - 292, 241, 224, 225, 178, 0, 277, 203, 216, 199, - 257, 454, 474, 479, 198, 536, 472, 319, 181, 0, - 318, 256, 305, 310, 242, 236, 180, 307, 240, 235, - 228, 207, 537, 220, 268, 234, 269, 221, 246, 245, - 247, 0, 0, 0, 0, 0, 347, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 470, - 0, 0, 321, 0, 0, 520, 0, 0, 0, 294, - 0, 0, 229, 0, 0, 0, 473, 0, 280, 262, - 533, 421, 0, 278, 232, 306, 270, 312, 296, 320, - 274, 271, 172, 297, 201, 243, 183, 185, 197, 204, - 206, 208, 209, 252, 253, 265, 285, 299, 300, 301, - 200, 193, 279, 194, 218, 195, 173, 287, 196, 175, - 266, 304, 0, 214, 275, 239, 176, 238, 267, 303, - 302, 184, 328, 334, 335, 339, 0, 340, 0, 0, - 0, 0, 0, 0, 0, 0, 342, 0, 0, 0, - 0, 0, 0, 333, 212, 169, 170, 316, 518, 258, - 0, 532, 513, 515, 516, 519, 523, 524, 525, 526, - 527, 529, 531, 535, 283, 0, 0, 0, 0, 0, - 223, 264, 0, 284, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 291, 314, 326, 343, - 346, 0, 0, 0, 174, 345, 0, 0, 0, 0, - 0, 0, 0, 534, 0, 0, 0, 325, 0, 0, - 0, 0, 0, 477, 248, 249, 250, 251, 521, 0, - 191, 344, 273, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 338, - 211, 217, 0, 219, 190, 263, 213, 323, 226, 0, - 0, 0, 255, 222, 288, 227, 233, 276, 322, 261, - 281, 188, 313, 289, 237, 0, 0, 543, 517, 542, - 544, 545, 541, 546, 547, 528, 439, 0, 482, 539, - 538, 540, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 171, 0, 231, 94, 272, - 210, 506, 486, 487, 488, 438, 489, 484, 485, 507, - 480, 503, 504, 462, 465, 490, 502, 491, 505, 508, - 509, 548, 549, 497, 550, 494, 510, 501, 500, 492, - 481, 511, 512, 466, 464, 495, 496, 483, 298, 475, - 0, 329, 330, 331, 315, 0, 202, 0, 0, 260, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 436, 0, 0, 0, 205, 2645, 0, 230, - 0, 0, 0, 467, 0, 0, 290, 244, 0, 0, - 0, 0, 522, 530, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 429, 0, 0, 460, 499, 498, - 447, 456, 0, 0, 186, 448, 0, 455, 449, 453, - 452, 450, 451, 0, 514, 0, 0, 0, 0, 0, - 0, 420, 433, 0, 437, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 430, 431, 0, 0, - 0, 0, 476, 0, 432, 0, 0, 478, 457, 458, - 0, 0, 177, 295, 311, 187, 286, 324, 192, 293, - 182, 259, 282, 0, 0, 179, 309, 292, 241, 224, - 225, 178, 0, 277, 203, 216, 199, 257, 454, 474, - 479, 198, 536, 472, 319, 181, 0, 318, 256, 305, - 310, 242, 236, 180, 307, 240, 235, 228, 207, 537, - 220, 268, 234, 269, 221, 246, 245, 247, 0, 0, - 0, 0, 0, 347, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 470, 0, 0, 321, - 0, 0, 520, 0, 0, 0, 294, 0, 0, 229, - 0, 0, 0, 473, 0, 280, 262, 533, 421, 0, - 278, 232, 306, 270, 312, 296, 320, 274, 271, 172, - 297, 201, 243, 183, 185, 197, 204, 206, 208, 209, - 252, 253, 265, 285, 299, 300, 301, 200, 193, 279, - 194, 218, 195, 173, 287, 196, 175, 266, 304, 0, - 214, 275, 239, 176, 238, 267, 303, 302, 184, 328, - 334, 335, 339, 0, 340, 0, 0, 0, 0, 0, - 0, 0, 0, 342, 0, 0, 0, 0, 0, 0, - 333, 212, 169, 170, 316, 518, 258, 0, 532, 513, - 515, 516, 519, 523, 524, 525, 526, 527, 529, 531, - 535, 283, 0, 0, 0, 0, 0, 223, 264, 0, - 284, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 291, 314, 326, 343, 346, 0, 0, - 0, 174, 345, 0, 0, 0, 0, 0, 0, 0, - 534, 0, 0, 0, 325, 0, 0, 0, 0, 0, - 477, 248, 249, 250, 251, 521, 0, 191, 344, 273, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 338, 211, 217, 0, - 219, 190, 263, 213, 323, 226, 0, 0, 0, 255, - 222, 288, 227, 233, 276, 322, 261, 281, 188, 313, - 289, 237, 0, 0, 543, 517, 542, 544, 545, 541, - 546, 547, 528, 439, 0, 482, 539, 538, 540, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 171, 0, 231, 0, 272, 210, 506, 486, - 487, 488, 438, 489, 484, 485, 507, 480, 503, 504, - 462, 465, 490, 502, 491, 505, 508, 509, 548, 549, - 497, 550, 494, 510, 501, 500, 492, 481, 511, 512, - 466, 464, 495, 496, 483, 298, 475, 0, 329, 330, - 331, 315, 0, 202, 0, 0, 260, 0, 0, 0, + 451, 2301, 1171, 2747, 2746, 2723, 2755, 1087, 431, 2588, + 2367, 433, 2712, 2669, 453, 2340, 2653, 2625, 2654, 2485, + 1773, 2557, 2533, 2553, 2295, 2286, 1668, 821, 1345, 1083, + 2541, 2219, 952, 998, 2385, 1769, 2366, 478, 2365, 132, + 132, 2494, 565, 373, 31, 132, 368, 375, 2404, 2350, + 375, 2284, 1272, 2299, 656, 1956, 1225, 2253, 1090, 2108, + 937, 1804, 135, 1029, 2112, 1311, 2329, 1928, 2349, 1372, + 1378, 2117, 380, 1333, 1303, 1973, 2234, 435, 1843, 2241, + 386, 2113, 423, 1994, 1811, 560, 425, 925, 1810, 1768, + 1574, 2186, 2128, 2169, 2125, 1676, 2123, 1729, 599, 689, + 1884, 1674, 1223, 1228, 131, 131, 2106, 2055, 1842, 430, + 359, 1383, 1386, 1570, 1242, 1379, 1380, 1569, 1326, 2008, + 1373, 660, 560, 1972, 1306, 1930, 1284, 1285, 1757, 1925, + 3, 132, 1722, 663, 42, 372, 19, 1086, 1274, 369, + 8, 371, 7, 1304, 1728, 370, 6, 2304, 857, 684, + 1262, 1250, 466, 87, 1602, 1233, 1081, 1571, 434, 1021, + 1672, 1286, 86, 1714, 1330, 658, 1297, 939, 361, 618, + 1296, 31, 432, 1581, 683, 422, 1656, 1135, 1121, 42, + 1585, 426, 1072, 364, 442, 706, 902, 1367, 1771, 1350, + 1080, 685, 648, 1778, 1292, 358, 691, 1261, 87, 967, + 977, 562, 598, 953, 388, 16, 1141, 9, 4, 564, + 1140, 1020, 920, 990, 389, 374, 122, 611, 649, 1588, + 596, 1845, 127, 2398, 2048, 2048, 1578, 383, 1805, 2218, + 1246, 1170, 2575, 1375, 563, 573, 822, 2616, 2358, 1838, + 2297, 125, 726, 1830, 1575, 979, 2606, 1586, 128, 923, + 760, 759, 964, 1927, 965, 126, 126, 126, 682, 357, + 1912, 42, 126, 19, 2642, 378, 628, 8, 2640, 7, + 126, 949, 126, 6, 753, 126, 662, 38, 116, 96, + 87, 1314, 1315, 958, 959, 872, 661, 126, 1288, 38, + 116, 96, 1039, 2195, 1089, 550, 980, 549, 551, 552, + 758, 553, 554, 559, 1885, 1926, 2025, 126, 1036, 38, + 116, 96, 1032, 123, 123, 2383, 1026, 956, 2095, 123, + 955, 958, 959, 2478, 574, 2657, 2658, 123, 1073, 1038, + 1077, 2481, 123, 764, 765, 766, 763, 2096, 1057, 2097, + 764, 765, 766, 763, 123, 2576, 2577, 2629, 2630, 2386, + 2387, 2388, 2389, 2400, 1076, 2394, 2220, 385, 709, 1825, + 1092, 132, 699, 700, 123, 2556, 2203, 2242, 1582, 1161, + 2249, 2129, 698, 1752, 1712, 1319, 1653, 375, 375, 1327, + 132, 2347, 566, 2615, 1918, 860, 2139, 1835, 1068, 850, + 1217, 1216, 2041, 632, 756, 757, 755, 1176, 729, 2464, + 694, 696, 2461, 880, 884, 886, 888, 890, 891, 893, + 2360, 897, 894, 895, 896, 1161, 2363, 875, 876, 877, + 878, 858, 859, 881, 1078, 861, 697, 862, 863, 864, + 865, 866, 867, 868, 869, 870, 871, 873, 879, 796, + 2137, 947, 1323, 1815, 1075, 717, 883, 885, 887, 889, + 892, 633, 2667, 693, 377, 2618, 2619, 2656, 1091, 709, + 376, 751, 752, 2043, 721, 668, 667, 669, 95, 1587, + 124, 966, 2455, 2393, 2542, 2543, 2544, 2546, 2545, 2395, + 695, 419, 874, 2644, 420, 1933, 2756, 2495, 2740, 114, + 2133, 2134, 2135, 2678, 2639, 666, 2613, 944, 2590, 42, + 42, 924, 2685, 2448, 2734, 659, 2136, 1941, 1942, 1943, + 1944, 2417, 2586, 2587, 1157, 2590, 2416, 1154, 87, 87, + 662, 1156, 1153, 1155, 1159, 1160, 741, 2596, 742, 1158, + 661, 711, 710, 2439, 424, 2646, 2647, 1099, 1102, 1103, + 1592, 1594, 1595, 671, 1939, 986, 2443, 1074, 1100, 702, + 703, 985, 719, 1031, 2724, 971, 744, 943, 2555, 942, + 1157, 664, 2757, 1154, 951, 950, 2405, 1156, 1153, 1155, + 1159, 1160, 2214, 690, 1603, 1158, 919, 921, 1576, 1576, + 1576, 672, 2131, 926, 384, 2476, 978, 1831, 1785, 794, + 929, 1579, 714, 715, 1256, 2763, 718, 2051, 599, 661, + 2046, 2101, 958, 959, 899, 1590, 958, 959, 932, 767, + 797, 798, 799, 800, 2207, 2047, 1996, 1998, 795, 665, + 2751, 931, 739, 2121, 379, 734, 803, 736, 801, 934, + 2617, 2000, 711, 710, 1782, 2715, 983, 957, 1317, 948, + 2578, 2579, 1318, 954, 2118, 2121, 1781, 808, 2057, 2056, + 2130, 560, 560, 560, 851, 737, 1002, 1002, 830, 1164, + 1165, 1166, 1167, 1168, 1169, 1162, 1163, 927, 928, 1589, + 930, 2140, 375, 921, 1024, 1024, 761, 1577, 704, 1027, + 740, 1328, 1316, 2462, 670, 1000, 1000, 2518, 2359, 1839, + 1004, 1006, 2645, 1034, 1142, 1143, 1144, 1145, 1146, 1147, + 1148, 1149, 1150, 1151, 1152, 1164, 1165, 1166, 1167, 1168, + 1169, 1162, 1163, 1055, 39, 97, 97, 97, 1320, 907, + 726, 730, 97, 882, 832, 833, 1002, 1040, 1002, 699, + 97, 1069, 97, 1030, 39, 97, 2364, 1037, 2554, 1088, + 659, 720, 2750, 732, 2044, 743, 2122, 97, 968, 2716, + 968, 2444, 2445, 1932, 2441, 735, 738, 1064, 2440, 1101, + 2762, 2132, 1593, 593, 594, 595, 635, 97, 2122, 904, + 1997, 1784, 1783, 2115, 945, 981, 982, 2116, 2119, 731, + 636, 961, 962, 2697, 564, 1322, 1109, 1110, 1111, 1112, + 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 762, 2721, + 725, 1130, 1131, 1766, 1954, 1936, 1937, 1139, 906, 1818, + 1822, 2769, 1008, 726, 2229, 2768, 358, 1186, 936, 1935, + 1093, 1716, 972, 2759, 1353, 2741, 1662, 1192, 1806, 2120, + 960, 1830, 1767, 963, 675, 680, 681, 1194, 42, 1198, + 1199, 1085, 87, 1071, 733, 1920, 87, 42, 629, 1063, + 1794, 560, 2736, 1060, 2727, 1023, 1023, 87, 984, 1059, + 975, 976, 1575, 1082, 1050, 1051, 87, 996, 997, 993, + 994, 995, 629, 2713, 2714, 1066, 746, 762, 747, 1104, + 357, 762, 1041, 2726, 2150, 1019, 1025, 1018, 1046, 2760, + 2411, 1584, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1239, + 1042, 1007, 1630, 2701, 2671, 1629, 749, 1767, 2519, 2521, + 2522, 2523, 2520, 1218, 1947, 1715, 564, 1224, 2737, 1062, + 1584, 1061, 1058, 1955, 1794, 2664, 1259, 631, 1002, 1079, + 630, 1266, 1240, 1185, 1275, 1232, 599, 2659, 2648, 1273, + 2634, 1084, 1002, 1351, 1094, 1095, 1096, 1097, 1098, 1584, + 1265, 631, 1054, 1955, 630, 764, 765, 766, 763, 1275, + 1053, 1221, 726, 2611, 1129, 1293, 1293, 1667, 1298, 1584, + 2672, 762, 745, 1298, 1123, 1243, 1259, 1002, 1313, 1634, + 1230, 1231, 2610, 1566, 639, 935, 1137, 1138, 560, 1291, + 1002, 2466, 1173, 567, 1133, 987, 2609, 1180, 2248, 2076, + 677, 678, 679, 2466, 1794, 2608, 2635, 750, 2673, 1264, + 1258, 1257, 1259, 1002, 2264, 1344, 132, 132, 2151, 1267, + 1268, 2010, 1174, 2598, 1355, 1070, 2473, 1957, 132, 2466, + 748, 638, 2472, 1186, 1371, 641, 640, 1948, 684, 1186, + 1186, 1196, 1172, 2465, 1175, 1347, 2282, 969, 2466, 1187, + 2015, 1235, 1767, 1238, 1295, 1666, 1361, 1833, 723, 1193, + 1300, 1195, 2466, 1991, 1388, 1263, 1908, 1324, 1273, 1213, + 968, 2466, 1002, 1906, 1281, 1904, 1339, 2166, 1902, 1277, + 685, 1346, 1346, 1244, 1280, 1287, 1890, 1248, 1847, 2599, + 1251, 1247, 2474, 1346, 1343, 724, 1341, 1828, 1733, 1832, + 1289, 1290, 1241, 1329, 1820, 1824, 1389, 1816, 900, 2466, + 1812, 1279, 2016, 1276, 1263, 779, 2016, 1732, 1282, 1283, + 1567, 1663, 1637, 764, 765, 766, 763, 1597, 724, 1767, + 1312, 1636, 1909, 1583, 1269, 1749, 1600, 1601, 1270, 1907, + 2155, 1903, 1278, 1299, 1903, 970, 1626, 1047, 1780, 1369, + 1082, 2038, 762, 2040, 762, 1369, 1613, 1565, 1358, 1043, + 1294, 1337, 1338, 1733, 898, 692, 1573, 1665, 806, 591, + 1813, 1302, 1244, 1817, 1301, 969, 1813, 712, 1244, 1244, + 1325, 42, 940, 1733, 692, 662, 637, 1662, 762, 2710, + 2698, 662, 1348, 1340, 1612, 661, 1929, 762, 989, 1584, + 87, 661, 2600, 1342, 2039, 991, 1641, 1334, 1335, 1336, + 1178, 1177, 1179, 1048, 692, 1359, 992, 1572, 2167, 764, + 765, 766, 763, 2049, 1823, 1787, 1376, 1381, 701, 1382, + 1136, 1563, 1387, 1197, 1564, 1128, 1200, 1201, 1202, 1203, + 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1853, 1923, + 1126, 1127, 1125, 1568, 2451, 423, 699, 132, 132, 1136, + 1260, 1608, 2633, 1611, 766, 763, 1677, 763, 132, 132, + 1730, 1669, 1670, 970, 1591, 2450, 2238, 794, 988, 1298, + 2233, 2014, 1740, 2434, 2745, 1190, 634, 661, 368, 2730, + 1596, 764, 765, 766, 763, 1191, 1298, 2695, 2529, 1599, + 1204, 601, 2679, 1862, 1598, 2567, 684, 642, 2069, 2535, + 1123, 1313, 1607, 2733, 2513, 1605, 2512, 2527, 1609, 2511, + 2508, 2502, 1708, 1710, 2499, 764, 765, 766, 763, 897, + 894, 895, 896, 1725, 1726, 1867, 2528, 1866, 1865, 1863, + 1002, 782, 783, 784, 785, 786, 779, 1739, 685, 2498, + 699, 2124, 1024, 2068, 1313, 2526, 2732, 1799, 1619, 1801, + 1677, 1620, 629, 1624, 2525, 2515, 1186, 1259, 2361, 1792, + 588, 1774, 1774, 2246, 1774, 764, 765, 766, 763, 1635, + 2245, 2138, 1638, 1639, 1640, 1777, 2093, 1643, 1644, 1645, + 1646, 1647, 1648, 1649, 1650, 2092, 1651, 2034, 2012, 1775, + 1864, 1779, 2524, 2514, 1658, 1622, 2362, 1661, 872, 1660, + 1610, 2247, 2601, 1745, 1723, 1747, 1659, 1655, 1738, 1287, + 1654, 1741, 1742, 2651, 764, 765, 766, 763, 1798, 1044, + 1671, 917, 1814, 1855, 1808, 2666, 1809, 1717, 686, 687, + 688, 631, 2650, 2534, 630, 764, 765, 766, 763, 1737, + 2296, 419, 1743, 1748, 420, 2631, 1746, 1734, 1621, 2594, + 1744, 2593, 1750, 1776, 2583, 1753, 764, 765, 766, 763, + 2516, 2560, 2509, 661, 2505, 2504, 2484, 2503, 616, 2463, + 764, 765, 766, 763, 2436, 2399, 602, 2294, 2292, 1796, + 2256, 2244, 590, 764, 765, 766, 763, 2243, 1803, 1788, + 1789, 1790, 587, 586, 2240, 830, 1312, 2206, 860, 1844, + 1795, 1797, 621, 2100, 2091, 2045, 1244, 1244, 1244, 2013, + 2003, 1868, 1869, 580, 506, 505, 880, 884, 886, 888, + 890, 891, 893, 1023, 897, 894, 895, 896, 1664, 1657, + 875, 876, 877, 878, 858, 859, 881, 1360, 861, 1253, + 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, + 873, 879, 1045, 831, 584, 826, 1826, 825, 583, 883, + 885, 887, 889, 892, 575, 2460, 1002, 807, 1002, 2761, + 1002, 568, 569, 570, 571, 699, 2738, 2142, 2258, 578, + 2257, 600, 2228, 2216, 567, 1840, 1878, 764, 765, 766, + 763, 2215, 603, 624, 2199, 874, 2185, 1836, 2184, 576, + 454, 463, 2156, 1002, 1871, 455, 2074, 462, 456, 460, + 459, 457, 458, 585, 2067, 2059, 619, 1879, 2054, 2007, + 1919, 1002, 780, 781, 782, 783, 784, 785, 786, 779, + 1905, 1881, 1000, 1010, 1901, 1900, 1870, 579, 787, 788, + 780, 781, 782, 783, 784, 785, 786, 779, 620, 625, + 1000, 1642, 1633, 1631, 1880, 1628, 1627, 1625, 464, 1616, + 2288, 764, 765, 766, 763, 613, 126, 615, 628, 116, + 96, 1618, 612, 610, 609, 2287, 614, 604, 605, 1615, + 626, 627, 764, 765, 766, 763, 1614, 1837, 461, 1189, + 1188, 1009, 622, 623, 126, 2758, 1857, 764, 765, 766, + 763, 2709, 589, 1082, 1851, 2703, 1002, 770, 771, 772, + 773, 774, 775, 776, 768, 1827, 1829, 2686, 1953, 2683, + 2681, 823, 1834, 123, 1959, 2566, 1910, 2551, 1886, 617, + 2539, 2536, 2531, 1891, 764, 765, 766, 763, 2490, 1220, + 1968, 1232, 2458, 2457, 1848, 699, 1313, 1313, 1313, 1313, + 1861, 123, 2456, 2453, 2447, 1974, 2432, 699, 1313, 1922, + 938, 2274, 2272, 1921, 2251, 31, 1850, 1974, 1946, 2239, + 2078, 1229, 1222, 2020, 2454, 2210, 1002, 1950, 1949, 1924, + 1854, 1234, 1237, 1951, 132, 132, 1230, 1231, 1872, 1873, + 1226, 2691, 2072, 1819, 1876, 1877, 1990, 764, 765, 766, + 763, 2689, 2071, 1786, 1186, 1731, 1882, 1960, 2021, 1915, + 1970, 1124, 123, 1186, 764, 765, 766, 763, 1366, 1989, + 1349, 1002, 1255, 1774, 764, 765, 766, 763, 1227, 1067, + 1033, 901, 849, 848, 1244, 2032, 882, 1913, 1914, 1251, + 847, 846, 845, 1263, 1945, 844, 843, 842, 841, 2005, + 2006, 1235, 1958, 1238, 2026, 42, 1938, 19, 1963, 1723, + 840, 8, 1952, 7, 839, 1967, 2017, 6, 1962, 1971, + 838, 1969, 1964, 837, 87, 836, 835, 2033, 834, 829, + 1987, 2027, 1988, 1243, 1986, 828, 827, 2029, 564, 1975, + 1976, 1977, 1978, 2001, 824, 1961, 2004, 820, 1312, 1312, + 1312, 1312, 2037, 1965, 819, 1966, 817, 816, 815, 2060, + 1312, 699, 2062, 2011, 2064, 699, 814, 813, 2042, 2127, + 2018, 1677, 812, 811, 2024, 2111, 2030, 2031, 2028, 2022, + 810, 132, 809, 805, 2036, 804, 728, 2170, 2171, 1736, + 699, 699, 1719, 716, 2050, 1313, 1730, 2070, 2154, 2052, + 2111, 2111, 2655, 2173, 2158, 1940, 2061, 2058, 1793, 1363, + 2063, 2127, 727, 87, 2176, 2175, 2065, 2066, 1983, 764, + 765, 766, 763, 1984, 2077, 1899, 1980, 1365, 2079, 2080, + 2081, 2082, 1979, 2083, 2084, 2085, 2086, 2087, 2088, 2089, + 2090, 1244, 1898, 1364, 2744, 1244, 2143, 764, 765, 766, + 763, 1871, 1999, 2019, 2144, 2145, 2146, 1259, 1897, 2098, + 2099, 1259, 2102, 1981, 764, 765, 766, 763, 1982, 2152, + 1821, 1917, 1759, 1762, 1763, 1764, 1760, 2053, 1761, 1765, + 764, 765, 766, 763, 2103, 1724, 1985, 132, 1763, 1764, + 70, 2149, 132, 2153, 1214, 1807, 2147, 2148, 1846, 2193, + 2073, 2196, 129, 1841, 2164, 2163, 2162, 41, 2181, 2182, + 2183, 2174, 1669, 1670, 1896, 2191, 40, 2178, 777, 787, + 788, 780, 781, 782, 783, 784, 785, 786, 779, 2197, + 903, 2105, 1713, 354, 722, 2200, 764, 765, 766, 763, + 2157, 2194, 353, 2190, 2159, 2160, 132, 1312, 1895, 2198, + 355, 2165, 2204, 2492, 1894, 2232, 2201, 2208, 1893, 356, + 2403, 2104, 1271, 1254, 1178, 1177, 2177, 2205, 2202, 2622, + 764, 765, 766, 763, 974, 2161, 764, 765, 766, 763, + 764, 765, 766, 763, 973, 1002, 1002, 2277, 2226, 2276, + 754, 1313, 2261, 778, 777, 787, 788, 780, 781, 782, + 783, 784, 785, 786, 779, 2180, 2731, 699, 87, 1562, + 87, 2227, 1632, 941, 1000, 2254, 1892, 1974, 2252, 915, + 916, 2225, 905, 2275, 913, 914, 911, 912, 2235, 2704, + 2235, 2279, 2584, 1186, 2231, 2237, 2571, 2224, 764, 765, + 766, 763, 909, 910, 1889, 2236, 2569, 2230, 2268, 2496, + 2263, 2491, 1774, 778, 777, 787, 788, 780, 781, 782, + 783, 784, 785, 786, 779, 2260, 764, 765, 766, 763, + 699, 2483, 2482, 2480, 2351, 2353, 2380, 2351, 2351, 2259, + 2111, 2270, 2269, 2267, 2379, 2293, 2290, 1888, 2009, 2222, + 2221, 2209, 699, 2188, 908, 2289, 567, 87, 2211, 2187, + 1275, 2693, 2692, 2280, 2035, 2281, 1617, 713, 2283, 764, + 765, 766, 763, 1273, 2692, 2377, 2693, 2449, 2192, 2291, + 946, 49, 1, 1252, 2352, 1887, 572, 1362, 2298, 2326, + 1992, 2262, 1993, 2396, 2179, 2348, 1883, 2265, 2402, 1995, + 2266, 2374, 2407, 1312, 1754, 2354, 2355, 764, 765, 766, + 763, 1580, 2371, 1751, 1711, 2141, 2370, 2263, 764, 765, + 766, 763, 1875, 933, 592, 2375, 2356, 1759, 1762, 1763, + 1764, 1760, 1181, 1761, 1765, 2381, 922, 1002, 1874, 1052, + 674, 2435, 708, 1049, 764, 765, 766, 763, 132, 1244, + 707, 705, 2271, 1134, 468, 2273, 1374, 2353, 2532, 2410, + 764, 765, 766, 763, 2376, 2621, 2254, 2668, 2565, 2278, + 2408, 2409, 2624, 2412, 2413, 2414, 2415, 1065, 1852, 2418, + 2419, 2420, 2421, 2422, 2423, 2424, 2425, 2426, 2427, 2428, + 2429, 2430, 2431, 2348, 2437, 2433, 452, 2475, 2372, 2373, + 764, 765, 766, 763, 1132, 2094, 2459, 2382, 2497, 2477, + 1849, 2384, 1911, 2452, 2285, 2471, 2023, 607, 500, 2479, + 2470, 2357, 2469, 476, 2467, 818, 764, 765, 766, 763, + 1035, 2530, 778, 777, 787, 788, 780, 781, 782, 783, + 784, 785, 786, 779, 1028, 676, 475, 2493, 568, 569, + 570, 571, 2250, 1934, 699, 577, 2510, 699, 699, 699, + 673, 567, 608, 1652, 2217, 1215, 1236, 699, 1219, 2754, + 2707, 2743, 2722, 2702, 2589, 2563, 2739, 2638, 2500, 2501, + 2684, 2392, 2390, 1774, 2506, 2507, 2547, 2537, 2391, 2677, + 2585, 2581, 2540, 390, 2559, 2548, 2549, 2550, 1321, 558, + 646, 1002, 1002, 2558, 2562, 2570, 2574, 2572, 2573, 2568, + 2552, 391, 2561, 1735, 2614, 2538, 2582, 778, 777, 787, + 788, 780, 781, 782, 783, 784, 785, 786, 779, 581, + 1000, 1000, 132, 1718, 2591, 2592, 582, 1721, 1720, 1105, + 699, 769, 1122, 2212, 2213, 802, 429, 1606, 441, 1931, + 2468, 2705, 699, 2341, 2002, 48, 87, 47, 46, 45, + 2597, 1354, 1384, 470, 134, 2603, 1385, 2628, 2580, 2397, + 2626, 450, 449, 448, 2489, 447, 1758, 1756, 2607, 1755, + 1308, 2627, 1307, 1352, 2652, 699, 2604, 2620, 2605, 2446, + 2612, 2517, 2442, 2438, 2595, 2636, 2632, 1346, 778, 777, + 787, 788, 780, 781, 782, 783, 784, 785, 786, 779, + 2300, 2327, 2641, 2643, 2328, 2334, 856, 852, 854, 855, + 853, 1860, 2649, 1856, 2109, 2110, 2107, 918, 2401, 2223, + 2660, 2661, 2662, 2663, 2670, 1675, 2675, 1673, 699, 2172, + 2168, 1370, 1249, 1916, 1309, 2676, 1305, 2369, 1088, 2680, + 561, 2682, 32, 2674, 778, 777, 787, 788, 780, 781, + 782, 783, 784, 785, 786, 779, 27, 5, 2489, 30, + 29, 2690, 2688, 2628, 2700, 2687, 2075, 28, 14, 15, + 2694, 13, 699, 2665, 699, 1056, 12, 2627, 2696, 2706, + 2699, 2708, 1088, 18, 1088, 2711, 26, 25, 24, 23, + 78, 77, 76, 75, 22, 11, 2717, 74, 73, 2670, + 699, 2718, 72, 21, 2725, 20, 67, 2729, 2602, 68, + 1088, 59, 2735, 778, 777, 787, 788, 780, 781, 782, + 783, 784, 785, 786, 779, 58, 57, 66, 65, 64, + 606, 56, 55, 2742, 54, 2749, 53, 63, 62, 2753, + 61, 60, 2752, 52, 51, 50, 94, 93, 92, 91, + 90, 2764, 89, 2749, 33, 2766, 2767, 2765, 2753, 1500, + 1542, 34, 35, 1489, 302, 1447, 1502, 1420, 1436, 1510, + 1437, 1438, 1475, 1399, 1457, 264, 1434, 36, 104, 103, + 105, 106, 101, 1492, 1391, 1423, 1424, 1393, 1430, 1394, + 1421, 1449, 209, 1419, 1460, 234, 1472, 1433, 1454, 1508, + 99, 102, 294, 248, 100, 2489, 1452, 1494, 1455, 1480, + 1446, 1476, 1407, 1468, 1503, 1435, 98, 1473, 1504, 43, + 10, 17, 2, 686, 687, 688, 0, 0, 0, 0, + 190, 0, 0, 0, 0, 0, 1471, 1498, 1432, 0, + 193, 1501, 1453, 1474, 0, 0, 1392, 1469, 0, 1397, + 1400, 1509, 1496, 1427, 1428, 0, 0, 0, 0, 0, + 0, 0, 0, 1450, 1456, 1477, 1443, 0, 0, 0, + 2720, 0, 0, 0, 0, 0, 1425, 0, 1465, 0, + 0, 0, 1402, 1398, 0, 1448, 0, 0, 181, 299, + 315, 191, 290, 328, 196, 297, 186, 263, 286, 0, + 1541, 183, 313, 296, 245, 228, 229, 182, 0, 281, + 207, 220, 203, 261, 0, 312, 340, 202, 331, 1401, + 323, 185, 1536, 322, 260, 309, 314, 246, 240, 184, + 311, 244, 239, 232, 211, 0, 224, 272, 238, 273, + 225, 250, 249, 251, 1520, 1521, 1522, 1523, 1524, 351, + 1532, 1533, 0, 1537, 1538, 1539, 1406, 0, 1426, 1478, + 0, 1390, 1561, 1487, 1495, 1445, 325, 1497, 1442, 1441, + 1527, 0, 1526, 298, 1528, 1529, 233, 1493, 1422, 1431, + 341, 1429, 284, 266, 1499, 1464, 1540, 282, 236, 310, + 274, 316, 300, 324, 278, 275, 176, 301, 205, 247, + 187, 189, 201, 208, 210, 212, 213, 256, 257, 269, + 289, 303, 304, 305, 204, 197, 283, 198, 222, 199, + 177, 291, 200, 179, 270, 308, 1525, 218, 279, 243, + 180, 242, 271, 307, 306, 188, 332, 338, 339, 343, + 0, 344, 0, 0, 0, 352, 0, 0, 0, 0, + 0, 346, 0, 0, 0, 1534, 0, 1535, 337, 216, + 173, 174, 320, 0, 262, 0, 1490, 1395, 1405, 1403, + 1439, 1466, 1467, 258, 336, 1482, 1486, 1483, 1511, 287, + 0, 0, 0, 0, 0, 227, 268, 1484, 288, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1396, + 0, 295, 318, 330, 347, 350, 1543, 1544, 1545, 178, + 349, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 321, 1440, + 1413, 1451, 329, 1416, 1414, 1481, 1415, 1470, 345, 252, + 253, 254, 255, 219, 0, 195, 348, 277, 1461, 1444, + 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1462, 1554, 1555, + 1556, 1557, 1558, 1418, 342, 215, 221, 0, 223, 194, + 267, 217, 327, 230, 1488, 1559, 1560, 259, 226, 292, + 231, 237, 280, 326, 265, 285, 192, 317, 293, 241, + 1604, 0, 1412, 1417, 1411, 1458, 1459, 1505, 1506, 1507, + 1479, 1404, 1491, 0, 1408, 1410, 1409, 0, 0, 0, + 0, 0, 778, 777, 787, 788, 780, 781, 782, 783, + 784, 785, 786, 779, 0, 0, 1485, 302, 482, 1463, + 175, 0, 235, 1512, 276, 214, 0, 0, 264, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 443, 0, 0, 0, 209, 0, 0, 234, 0, + 0, 0, 474, 0, 0, 294, 248, 0, 0, 0, + 0, 529, 537, 0, 1530, 1531, 333, 334, 335, 319, + 0, 206, 1553, 436, 0, 0, 467, 506, 505, 454, + 463, 0, 0, 190, 455, 0, 462, 456, 460, 459, + 457, 458, 790, 521, 793, 0, 0, 0, 0, 0, + 427, 440, 2486, 444, 0, 0, 0, 0, 0, 791, + 792, 789, 0, 778, 777, 787, 788, 780, 781, 782, + 783, 784, 785, 786, 779, 437, 438, 0, 0, 0, + 0, 483, 0, 439, 0, 0, 485, 464, 465, 0, + 0, 181, 299, 315, 191, 290, 328, 196, 297, 186, + 263, 286, 0, 0, 183, 313, 296, 245, 228, 229, + 182, 0, 281, 207, 220, 203, 261, 461, 481, 486, + 202, 543, 479, 323, 185, 0, 322, 260, 309, 314, + 246, 240, 184, 311, 244, 239, 232, 211, 544, 224, + 272, 238, 273, 225, 250, 249, 251, 0, 0, 0, + 0, 0, 351, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 477, 0, 0, 325, + 0, 0, 527, 0, 0, 0, 298, 0, 0, 233, + 0, 0, 0, 480, 0, 284, 266, 540, 428, 0, + 282, 236, 310, 274, 316, 300, 324, 278, 275, 176, + 301, 205, 247, 187, 189, 201, 208, 210, 212, 213, + 256, 257, 269, 289, 303, 304, 305, 204, 197, 283, + 198, 222, 199, 177, 291, 200, 179, 270, 308, 0, + 218, 279, 243, 180, 242, 271, 307, 306, 188, 332, + 338, 339, 343, 0, 344, 0, 0, 0, 352, 0, + 0, 0, 0, 0, 346, 0, 0, 0, 0, 0, + 0, 337, 216, 173, 174, 320, 525, 262, 0, 539, + 520, 522, 523, 526, 530, 531, 532, 533, 534, 536, + 538, 542, 287, 0, 0, 0, 0, 0, 227, 268, + 0, 288, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 295, 318, 330, 347, 350, 0, + 0, 0, 178, 349, 0, 2487, 0, 0, 0, 2488, + 0, 541, 0, 0, 0, 329, 0, 0, 0, 0, + 0, 484, 252, 253, 254, 255, 528, 0, 195, 348, + 277, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 342, 215, 221, + 0, 223, 194, 267, 217, 327, 230, 0, 0, 0, + 259, 226, 292, 231, 237, 280, 326, 265, 285, 192, + 317, 293, 241, 0, 0, 550, 524, 549, 551, 552, + 548, 553, 554, 535, 446, 0, 489, 546, 545, 547, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 175, 0, 235, 0, 276, 214, 513, + 493, 494, 495, 445, 496, 491, 492, 514, 487, 510, + 511, 469, 472, 497, 509, 498, 512, 515, 516, 555, + 556, 504, 557, 501, 517, 508, 507, 499, 488, 518, + 519, 473, 471, 502, 503, 490, 302, 482, 0, 333, + 334, 335, 319, 0, 206, 0, 0, 264, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 443, 0, 0, 0, 209, 0, 0, 234, 0, 0, + 0, 474, 0, 0, 294, 248, 0, 0, 0, 0, + 529, 537, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 436, 0, 0, 467, 506, 505, 454, 463, + 0, 0, 190, 455, 0, 462, 456, 460, 459, 457, + 458, 0, 521, 0, 0, 0, 0, 0, 0, 427, + 440, 0, 444, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 437, 438, 0, 0, 0, 0, + 483, 0, 439, 0, 0, 485, 464, 465, 0, 0, + 181, 299, 315, 191, 290, 328, 196, 297, 186, 263, + 286, 0, 0, 183, 313, 296, 245, 228, 229, 182, + 0, 281, 207, 220, 203, 261, 461, 481, 486, 202, + 543, 479, 323, 185, 0, 322, 260, 309, 314, 246, + 240, 184, 311, 244, 239, 232, 211, 544, 224, 272, + 238, 273, 225, 250, 249, 251, 0, 0, 0, 0, + 0, 351, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 477, 0, 0, 325, 0, + 0, 527, 0, 0, 0, 298, 0, 0, 233, 0, + 0, 0, 480, 0, 284, 266, 540, 428, 0, 282, + 236, 310, 274, 316, 300, 324, 278, 275, 176, 301, + 205, 247, 187, 189, 201, 208, 210, 212, 213, 256, + 257, 269, 289, 303, 304, 305, 204, 197, 283, 198, + 222, 199, 177, 291, 200, 179, 270, 308, 0, 218, + 279, 243, 180, 242, 271, 307, 306, 188, 332, 338, + 339, 343, 0, 344, 0, 0, 0, 352, 0, 0, + 0, 0, 0, 346, 0, 0, 0, 1183, 1182, 1184, + 337, 216, 173, 174, 320, 525, 262, 0, 539, 520, + 522, 523, 526, 530, 531, 532, 533, 534, 536, 538, + 542, 287, 0, 0, 0, 0, 0, 227, 268, 0, + 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 295, 318, 330, 347, 350, 0, 0, + 0, 178, 349, 0, 0, 0, 0, 0, 0, 0, + 541, 0, 0, 0, 329, 0, 0, 0, 0, 0, + 484, 252, 253, 254, 255, 528, 0, 195, 348, 277, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 342, 215, 221, 0, + 223, 194, 267, 217, 327, 230, 0, 0, 0, 259, + 226, 292, 231, 237, 280, 326, 265, 285, 192, 317, + 293, 241, 0, 0, 550, 524, 549, 551, 552, 548, + 553, 554, 535, 446, 0, 489, 546, 545, 547, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 175, 0, 235, 0, 276, 214, 513, 493, + 494, 495, 445, 496, 491, 492, 514, 487, 510, 511, + 469, 472, 497, 509, 498, 512, 515, 516, 555, 556, + 504, 557, 501, 517, 508, 507, 499, 488, 518, 519, + 473, 471, 502, 503, 490, 302, 482, 0, 333, 334, + 335, 319, 0, 206, 0, 0, 264, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 443, + 0, 0, 0, 209, 0, 0, 234, 0, 0, 0, + 474, 0, 0, 294, 248, 0, 0, 0, 0, 529, + 537, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 436, 0, 0, 467, 506, 505, 454, 463, 0, + 0, 190, 455, 0, 462, 456, 460, 459, 457, 458, + 0, 521, 0, 0, 0, 0, 0, 0, 427, 440, + 0, 444, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 437, 438, 0, 0, 0, 0, 483, + 0, 439, 0, 0, 485, 464, 465, 0, 0, 181, + 299, 315, 191, 290, 328, 196, 297, 186, 263, 286, + 0, 0, 183, 313, 296, 245, 228, 229, 182, 0, + 281, 207, 220, 203, 261, 461, 481, 486, 202, 543, + 479, 323, 185, 0, 322, 260, 309, 314, 246, 240, + 184, 311, 244, 239, 232, 211, 544, 224, 272, 238, + 273, 225, 250, 249, 251, 0, 0, 0, 0, 0, + 351, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 477, 0, 0, 325, 0, 0, + 527, 0, 0, 0, 298, 0, 0, 233, 0, 0, + 0, 480, 0, 284, 266, 540, 428, 0, 282, 236, + 310, 274, 316, 300, 324, 278, 275, 176, 301, 205, + 247, 187, 189, 201, 208, 210, 212, 213, 256, 257, + 269, 289, 303, 304, 305, 204, 197, 283, 198, 222, + 199, 177, 291, 200, 179, 270, 308, 0, 218, 279, + 243, 180, 242, 271, 307, 306, 188, 332, 338, 339, + 343, 0, 344, 0, 0, 0, 352, 0, 0, 0, + 0, 0, 346, 0, 0, 0, 0, 0, 0, 337, + 216, 173, 174, 320, 525, 262, 0, 539, 520, 522, + 523, 526, 530, 531, 532, 533, 534, 536, 538, 542, + 287, 0, 0, 0, 0, 0, 227, 268, 0, 288, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 295, 318, 330, 347, 350, 0, 0, 0, + 178, 349, 0, 2487, 0, 0, 0, 2488, 0, 541, + 0, 0, 0, 329, 0, 0, 0, 0, 0, 484, + 252, 253, 254, 255, 528, 0, 195, 348, 277, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 342, 215, 221, 0, 223, + 194, 267, 217, 327, 230, 0, 0, 0, 259, 226, + 292, 231, 237, 280, 326, 265, 285, 192, 317, 293, + 241, 0, 0, 550, 524, 549, 551, 552, 548, 553, + 554, 535, 446, 0, 489, 546, 545, 547, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 175, 0, 235, 0, 276, 214, 513, 493, 494, + 495, 445, 496, 491, 492, 514, 487, 510, 511, 469, + 472, 497, 509, 498, 512, 515, 516, 555, 556, 504, + 557, 501, 517, 508, 507, 499, 488, 518, 519, 473, + 471, 502, 503, 490, 302, 482, 0, 333, 334, 335, + 319, 0, 206, 0, 0, 264, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 443, 0, + 0, 0, 209, 1245, 0, 234, 0, 0, 0, 474, + 0, 0, 294, 248, 0, 0, 0, 0, 529, 537, + 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, + 436, 0, 0, 467, 506, 505, 454, 463, 0, 0, + 190, 455, 0, 462, 456, 460, 459, 457, 458, 0, + 521, 0, 0, 0, 0, 0, 0, 427, 440, 0, + 444, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 437, 438, 0, 0, 0, 0, 483, 0, + 439, 0, 0, 1332, 464, 465, 0, 0, 181, 299, + 315, 191, 290, 328, 196, 297, 186, 263, 286, 0, + 0, 183, 313, 296, 245, 228, 229, 182, 0, 281, + 207, 220, 203, 261, 461, 481, 486, 202, 543, 479, + 323, 185, 0, 322, 260, 309, 314, 246, 240, 184, + 311, 244, 239, 232, 211, 544, 224, 272, 238, 273, + 225, 250, 249, 251, 0, 0, 0, 0, 0, 351, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 477, 0, 0, 325, 0, 0, 527, + 0, 0, 0, 298, 0, 0, 233, 0, 0, 0, + 480, 0, 284, 266, 540, 428, 0, 282, 236, 310, + 274, 316, 300, 324, 278, 275, 176, 301, 205, 247, + 187, 189, 201, 208, 210, 212, 213, 256, 257, 269, + 289, 303, 304, 305, 204, 197, 283, 198, 222, 199, + 177, 291, 200, 179, 270, 308, 0, 218, 279, 243, + 180, 242, 271, 307, 306, 188, 332, 338, 339, 343, + 0, 344, 0, 0, 0, 352, 0, 0, 0, 0, + 0, 346, 0, 0, 0, 0, 0, 0, 337, 216, + 173, 174, 320, 525, 262, 0, 539, 520, 522, 523, + 526, 530, 531, 532, 533, 534, 536, 538, 542, 287, + 0, 0, 0, 0, 0, 227, 268, 0, 288, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 295, 318, 330, 347, 350, 0, 0, 0, 178, + 349, 0, 0, 0, 0, 0, 0, 0, 541, 0, + 0, 0, 329, 0, 0, 0, 0, 0, 484, 252, + 253, 254, 255, 528, 0, 195, 348, 277, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 342, 215, 221, 0, 223, 194, + 267, 217, 327, 230, 0, 0, 0, 259, 226, 292, + 231, 237, 280, 326, 265, 285, 192, 317, 293, 241, + 0, 0, 550, 524, 549, 551, 552, 548, 553, 554, + 535, 446, 0, 489, 546, 545, 547, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 175, 0, 235, 0, 276, 214, 513, 493, 494, 495, + 445, 496, 491, 492, 514, 487, 510, 511, 469, 472, + 497, 509, 498, 512, 515, 516, 555, 556, 504, 557, + 501, 517, 508, 507, 499, 488, 518, 519, 473, 471, + 502, 503, 490, 126, 302, 482, 333, 334, 335, 319, + 0, 206, 0, 0, 0, 264, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 443, 0, + 0, 0, 209, 0, 0, 234, 0, 0, 0, 474, + 0, 0, 294, 248, 0, 0, 0, 0, 529, 537, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 436, 0, 0, 467, 506, 505, 454, 463, 0, 0, + 190, 455, 0, 462, 456, 460, 459, 457, 458, 0, + 521, 0, 0, 0, 0, 0, 0, 427, 440, 0, + 444, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 437, 438, 0, 0, 0, 0, 483, 0, + 439, 0, 0, 485, 464, 465, 0, 0, 181, 299, + 315, 191, 290, 328, 196, 297, 186, 263, 286, 0, + 0, 183, 313, 296, 245, 228, 229, 182, 0, 281, + 207, 220, 203, 261, 461, 481, 486, 202, 543, 479, + 323, 185, 0, 322, 260, 309, 314, 246, 240, 184, + 311, 244, 239, 232, 211, 544, 224, 272, 238, 273, + 225, 250, 249, 251, 0, 0, 0, 0, 0, 351, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 477, 0, 0, 325, 0, 0, 527, + 0, 0, 0, 298, 0, 0, 233, 0, 0, 0, + 480, 0, 284, 266, 540, 428, 0, 282, 236, 310, + 274, 316, 300, 324, 278, 275, 176, 301, 205, 247, + 187, 189, 201, 208, 210, 212, 213, 256, 257, 269, + 289, 303, 304, 305, 204, 197, 283, 198, 222, 199, + 177, 291, 200, 179, 270, 308, 0, 218, 279, 243, + 180, 242, 271, 307, 306, 188, 332, 338, 339, 343, + 0, 344, 0, 0, 0, 352, 0, 0, 0, 0, + 0, 346, 0, 0, 0, 0, 0, 0, 337, 216, + 173, 174, 320, 525, 262, 0, 539, 520, 522, 523, + 526, 530, 531, 532, 533, 534, 536, 538, 542, 287, + 0, 0, 0, 0, 0, 227, 268, 0, 288, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 295, 318, 330, 347, 350, 0, 0, 0, 178, + 349, 0, 0, 0, 0, 0, 0, 0, 541, 0, + 0, 0, 329, 0, 0, 0, 0, 0, 484, 252, + 253, 254, 255, 528, 0, 195, 348, 277, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 342, 215, 221, 0, 223, 194, + 267, 217, 327, 230, 0, 0, 0, 259, 226, 292, + 231, 237, 280, 326, 265, 285, 192, 317, 293, 241, + 0, 0, 550, 524, 549, 551, 552, 548, 553, 554, + 535, 446, 0, 489, 546, 545, 547, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 175, 0, 235, 97, 276, 214, 513, 493, 494, 495, + 445, 496, 491, 492, 514, 487, 510, 511, 469, 472, + 497, 509, 498, 512, 515, 516, 555, 556, 504, 557, + 501, 517, 508, 507, 499, 488, 518, 519, 473, 471, + 502, 503, 490, 302, 482, 0, 333, 334, 335, 319, + 0, 206, 0, 0, 264, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 443, 0, 0, + 0, 209, 2719, 0, 234, 0, 0, 0, 474, 0, + 0, 294, 248, 0, 0, 0, 0, 529, 537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 436, - 0, 0, 0, 205, 1230, 0, 230, 0, 0, 0, - 467, 0, 0, 290, 244, 0, 0, 0, 0, 522, - 530, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 429, 0, 0, 460, 499, 498, 447, 456, 0, - 0, 186, 448, 0, 455, 449, 453, 452, 450, 451, - 0, 514, 0, 0, 0, 0, 0, 0, 420, 433, - 0, 437, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 430, 431, 0, 0, 0, 0, 476, - 0, 432, 0, 0, 478, 457, 458, 0, 0, 177, - 295, 311, 187, 286, 324, 192, 293, 182, 259, 282, - 0, 0, 179, 309, 292, 241, 224, 225, 178, 0, - 277, 203, 216, 199, 257, 454, 474, 479, 198, 536, - 472, 319, 181, 0, 318, 256, 305, 310, 242, 236, - 180, 307, 240, 235, 228, 207, 537, 220, 268, 234, - 269, 221, 246, 245, 247, 0, 0, 0, 0, 0, - 347, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 470, 0, 0, 321, 0, 0, 520, - 0, 0, 0, 294, 0, 0, 229, 0, 0, 0, - 473, 0, 280, 262, 533, 421, 0, 278, 232, 306, - 270, 312, 296, 320, 274, 271, 172, 297, 201, 243, - 183, 185, 197, 204, 206, 208, 209, 252, 253, 265, - 285, 299, 300, 301, 200, 193, 279, 194, 218, 195, - 173, 287, 196, 175, 266, 304, 0, 214, 275, 239, - 176, 238, 267, 303, 302, 184, 328, 334, 335, 339, - 0, 340, 0, 0, 0, 0, 0, 0, 0, 0, - 342, 0, 0, 0, 0, 0, 0, 333, 212, 169, - 170, 316, 518, 258, 0, 532, 513, 515, 516, 519, - 523, 524, 525, 526, 527, 529, 531, 535, 283, 0, - 0, 0, 0, 0, 223, 264, 0, 284, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 291, 314, 326, 343, 346, 0, 0, 0, 174, 345, - 0, 0, 0, 0, 0, 0, 0, 534, 0, 0, - 0, 325, 0, 0, 0, 0, 0, 477, 248, 249, - 250, 251, 521, 0, 191, 344, 273, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 338, 211, 217, 0, 219, 190, 263, - 213, 323, 226, 0, 0, 0, 255, 222, 288, 227, - 233, 276, 322, 261, 281, 188, 313, 289, 237, 0, - 0, 543, 517, 542, 544, 545, 541, 546, 547, 528, - 439, 0, 482, 539, 538, 540, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 171, - 0, 231, 0, 272, 210, 506, 486, 487, 488, 438, - 489, 484, 485, 507, 480, 503, 504, 462, 465, 490, - 502, 491, 505, 508, 509, 548, 549, 497, 550, 494, - 510, 501, 500, 492, 481, 511, 512, 466, 464, 495, - 496, 483, 298, 475, 0, 329, 330, 331, 315, 0, - 202, 0, 0, 260, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 436, 0, 0, 0, - 205, 0, 0, 230, 0, 0, 0, 467, 0, 0, - 290, 244, 0, 0, 0, 0, 522, 530, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 429, 0, - 0, 460, 499, 498, 447, 456, 0, 0, 186, 448, - 0, 455, 449, 453, 452, 450, 451, 0, 514, 0, - 0, 0, 0, 0, 0, 420, 433, 0, 437, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 430, 431, 1007, 0, 0, 0, 476, 0, 432, 0, - 0, 478, 457, 458, 0, 0, 177, 295, 311, 187, - 286, 324, 192, 293, 182, 259, 282, 0, 0, 179, - 309, 292, 241, 224, 225, 178, 0, 277, 203, 216, - 199, 257, 454, 474, 479, 198, 536, 472, 319, 181, - 0, 318, 256, 305, 310, 242, 236, 180, 307, 240, - 235, 228, 207, 537, 220, 268, 234, 269, 221, 246, - 245, 247, 0, 0, 0, 0, 0, 347, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 470, 0, 0, 321, 0, 0, 520, 0, 0, 0, - 294, 0, 0, 229, 0, 0, 0, 473, 0, 280, - 262, 533, 421, 0, 278, 232, 306, 270, 312, 296, - 320, 274, 271, 172, 297, 201, 243, 183, 185, 197, - 204, 206, 208, 209, 252, 253, 265, 285, 299, 300, - 301, 200, 193, 279, 194, 218, 195, 173, 287, 196, - 175, 266, 304, 0, 214, 275, 239, 176, 238, 267, - 303, 302, 184, 328, 334, 335, 339, 0, 340, 0, - 0, 0, 0, 0, 0, 0, 0, 342, 0, 0, - 0, 0, 0, 0, 333, 212, 169, 170, 316, 518, - 258, 0, 532, 513, 515, 516, 519, 523, 524, 525, - 526, 527, 529, 531, 535, 283, 0, 0, 0, 0, - 0, 223, 264, 0, 284, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 291, 314, 326, - 343, 346, 0, 0, 0, 174, 345, 0, 0, 0, - 0, 0, 0, 0, 534, 0, 0, 0, 325, 0, - 0, 0, 0, 0, 477, 248, 249, 250, 251, 521, - 0, 191, 344, 273, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 338, 211, 217, 0, 219, 190, 263, 213, 323, 226, - 0, 0, 0, 255, 222, 288, 227, 233, 276, 322, - 261, 281, 188, 313, 289, 237, 0, 0, 543, 517, - 542, 544, 545, 541, 546, 547, 528, 439, 0, 482, - 539, 538, 540, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 171, 0, 231, 0, - 272, 210, 506, 486, 487, 488, 438, 489, 484, 485, - 507, 480, 503, 504, 462, 465, 490, 502, 491, 505, - 508, 509, 548, 549, 497, 550, 494, 510, 501, 500, - 492, 481, 511, 512, 466, 464, 495, 496, 483, 0, - 0, 0, 329, 330, 331, 315, 0, 202, 298, 475, - 0, 0, 1604, 0, 0, 0, 0, 0, 0, 260, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 436, 0, 0, 0, 205, 0, 0, 230, - 0, 0, 0, 467, 0, 0, 290, 244, 0, 0, - 0, 0, 522, 530, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 429, 0, 0, 460, 499, 498, - 447, 456, 0, 0, 186, 448, 0, 455, 449, 453, - 452, 450, 451, 0, 514, 0, 0, 0, 0, 0, - 0, 420, 433, 0, 437, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 430, 431, 0, 0, - 0, 0, 476, 0, 432, 0, 0, 478, 457, 458, - 0, 0, 177, 295, 311, 187, 286, 324, 192, 293, - 182, 259, 282, 0, 0, 179, 309, 292, 241, 224, - 225, 178, 0, 277, 203, 216, 199, 257, 454, 474, - 479, 198, 536, 472, 319, 181, 0, 318, 256, 305, - 310, 242, 236, 180, 307, 240, 235, 228, 207, 537, - 220, 268, 234, 269, 221, 246, 245, 247, 0, 0, - 0, 0, 0, 347, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 470, 0, 0, 321, - 0, 0, 520, 0, 0, 0, 294, 0, 0, 229, - 0, 0, 0, 473, 0, 280, 262, 533, 421, 0, - 278, 232, 306, 270, 312, 296, 320, 274, 271, 172, - 297, 201, 243, 183, 185, 197, 204, 206, 208, 209, - 252, 253, 265, 285, 299, 300, 301, 200, 193, 279, - 194, 218, 195, 173, 287, 196, 175, 266, 304, 0, - 214, 275, 239, 176, 238, 267, 303, 302, 184, 328, - 334, 335, 339, 0, 340, 0, 0, 0, 0, 0, - 0, 0, 0, 342, 0, 0, 0, 0, 0, 0, - 333, 212, 169, 170, 316, 518, 258, 0, 532, 513, - 515, 516, 519, 523, 524, 525, 526, 527, 529, 531, - 535, 283, 0, 0, 0, 0, 0, 223, 264, 0, - 284, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 291, 314, 326, 343, 346, 0, 0, - 0, 174, 345, 0, 0, 0, 0, 0, 0, 0, - 534, 0, 0, 0, 325, 0, 0, 0, 0, 0, - 477, 248, 249, 250, 251, 521, 0, 191, 344, 273, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 338, 211, 217, 0, - 219, 190, 263, 213, 323, 226, 0, 0, 0, 255, - 222, 288, 227, 233, 276, 322, 261, 281, 188, 313, - 289, 237, 0, 0, 543, 517, 542, 544, 545, 541, - 546, 547, 528, 439, 0, 482, 539, 538, 540, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 171, 0, 231, 0, 272, 210, 506, 486, - 487, 488, 438, 489, 484, 485, 507, 480, 503, 504, - 462, 465, 490, 502, 491, 505, 508, 509, 548, 549, - 497, 550, 494, 510, 501, 500, 492, 481, 511, 512, - 466, 464, 495, 496, 483, 298, 475, 0, 329, 330, - 331, 315, 0, 202, 0, 0, 260, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 436, - 0, 0, 0, 205, 0, 0, 230, 0, 0, 0, - 467, 0, 0, 290, 244, 0, 0, 0, 0, 522, - 530, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 429, 0, 0, 460, 499, 498, 447, 456, 0, - 0, 186, 448, 0, 455, 449, 453, 452, 450, 451, - 0, 514, 0, 0, 0, 0, 0, 0, 420, 433, - 0, 437, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 430, 431, 0, 0, 0, 0, 476, - 0, 432, 0, 0, 478, 457, 458, 0, 0, 177, - 295, 311, 187, 286, 324, 192, 293, 182, 259, 282, - 0, 0, 179, 309, 292, 241, 224, 225, 178, 0, - 277, 203, 216, 199, 257, 454, 474, 479, 198, 536, - 472, 319, 181, 0, 318, 256, 305, 310, 242, 236, - 180, 307, 240, 235, 228, 207, 537, 220, 268, 234, - 269, 221, 246, 245, 247, 0, 0, 0, 0, 0, - 347, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 470, 0, 0, 321, 0, 0, 520, - 0, 0, 0, 294, 0, 0, 229, 0, 0, 0, - 473, 0, 280, 262, 533, 421, 0, 278, 232, 306, - 270, 312, 296, 320, 274, 271, 172, 297, 201, 243, - 183, 185, 197, 204, 206, 208, 209, 252, 253, 265, - 285, 299, 300, 301, 200, 193, 279, 194, 218, 195, - 173, 287, 196, 175, 266, 304, 0, 214, 275, 239, - 176, 238, 267, 303, 302, 184, 328, 334, 335, 339, - 0, 340, 0, 0, 0, 0, 0, 0, 0, 0, - 342, 0, 0, 0, 0, 0, 0, 333, 212, 169, - 170, 316, 518, 258, 0, 532, 513, 515, 516, 519, - 523, 524, 525, 526, 527, 529, 531, 535, 283, 0, - 0, 0, 0, 0, 223, 264, 0, 284, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 291, 314, 326, 343, 346, 0, 0, 0, 174, 345, - 0, 0, 0, 0, 0, 0, 0, 534, 0, 0, - 0, 325, 0, 0, 0, 0, 0, 477, 248, 249, - 250, 251, 521, 0, 191, 344, 273, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 338, 211, 217, 0, 219, 190, 263, - 213, 323, 226, 0, 0, 0, 255, 222, 288, 227, - 233, 276, 322, 261, 281, 188, 313, 289, 237, 0, - 0, 543, 517, 542, 544, 545, 541, 546, 547, 528, - 439, 0, 482, 539, 538, 540, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 171, - 0, 231, 0, 272, 210, 506, 486, 487, 488, 438, - 489, 484, 485, 507, 480, 503, 504, 462, 465, 490, - 502, 491, 505, 508, 509, 548, 549, 497, 550, 494, - 510, 501, 500, 492, 481, 511, 512, 466, 464, 495, - 496, 483, 298, 475, 0, 329, 330, 331, 315, 0, - 202, 0, 0, 260, 0, 0, 0, 0, 0, 0, - 0, 0, 1091, 0, 0, 0, 436, 0, 0, 0, - 205, 0, 0, 230, 0, 0, 0, 467, 0, 0, - 290, 244, 0, 0, 0, 0, 522, 530, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 429, 0, - 0, 460, 499, 498, 447, 456, 0, 0, 186, 448, - 0, 455, 449, 453, 452, 450, 451, 0, 514, 0, - 0, 0, 0, 0, 0, 0, 433, 0, 437, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 430, 431, 0, 0, 0, 0, 476, 0, 432, 0, - 0, 478, 457, 458, 0, 0, 177, 295, 311, 187, - 286, 324, 192, 293, 182, 259, 282, 0, 0, 179, - 309, 292, 241, 224, 225, 178, 0, 277, 203, 216, - 199, 257, 454, 474, 479, 198, 536, 472, 319, 181, - 0, 318, 256, 305, 310, 242, 236, 180, 307, 240, - 235, 228, 207, 537, 220, 268, 234, 269, 221, 246, - 245, 247, 0, 0, 0, 0, 0, 347, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 470, 0, 0, 321, 0, 0, 520, 0, 0, 0, - 294, 0, 0, 229, 0, 0, 0, 473, 0, 280, - 262, 533, 0, 0, 278, 232, 306, 270, 312, 296, - 320, 274, 271, 172, 297, 201, 243, 183, 185, 197, - 204, 206, 208, 209, 252, 253, 265, 285, 299, 300, - 301, 200, 193, 279, 194, 218, 195, 173, 287, 196, - 175, 266, 304, 0, 214, 275, 239, 176, 238, 267, - 303, 302, 184, 328, 1092, 1093, 339, 0, 340, 0, - 0, 0, 0, 0, 0, 0, 0, 342, 0, 0, - 0, 0, 0, 0, 333, 212, 169, 170, 316, 518, - 258, 0, 532, 513, 515, 516, 519, 523, 524, 525, - 526, 527, 529, 531, 535, 283, 0, 0, 0, 0, - 0, 223, 264, 0, 284, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 291, 314, 326, - 343, 346, 0, 0, 0, 174, 345, 0, 0, 0, - 0, 0, 0, 0, 534, 0, 0, 0, 325, 0, - 0, 0, 0, 0, 477, 248, 249, 250, 251, 521, - 0, 191, 344, 273, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 338, 211, 217, 0, 219, 190, 263, 213, 323, 226, - 0, 0, 0, 255, 222, 288, 227, 233, 276, 322, - 261, 281, 188, 313, 289, 237, 0, 0, 543, 517, - 542, 544, 545, 541, 546, 547, 528, 439, 0, 482, - 539, 538, 540, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 171, 0, 231, 0, - 272, 210, 506, 486, 487, 488, 438, 489, 484, 485, - 507, 480, 503, 504, 462, 465, 490, 502, 491, 505, - 508, 509, 548, 549, 497, 550, 494, 510, 501, 500, - 492, 481, 511, 512, 466, 464, 495, 496, 483, 298, - 475, 0, 329, 330, 331, 315, 0, 202, 0, 0, - 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 436, 0, 0, 0, 205, 0, 0, - 230, 0, 0, 0, 467, 0, 0, 290, 244, 0, - 0, 0, 0, 522, 530, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 460, 499, - 498, 447, 456, 0, 0, 186, 448, 0, 455, 449, - 453, 452, 450, 451, 0, 514, 0, 0, 0, 0, - 0, 0, 420, 433, 0, 437, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 430, 431, 0, - 0, 0, 0, 476, 0, 432, 0, 0, 478, 457, - 458, 0, 0, 177, 295, 311, 187, 286, 324, 192, - 293, 182, 259, 282, 0, 0, 179, 309, 292, 241, - 224, 225, 178, 0, 277, 203, 216, 199, 257, 454, - 474, 479, 198, 536, 472, 319, 181, 0, 318, 256, - 305, 310, 242, 236, 180, 307, 240, 235, 228, 207, - 537, 220, 268, 234, 269, 221, 246, 245, 247, 0, - 0, 0, 0, 0, 347, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 470, 0, 0, - 321, 0, 0, 520, 0, 0, 0, 294, 0, 0, - 229, 0, 0, 0, 473, 0, 280, 262, 533, 421, - 0, 278, 232, 306, 270, 312, 296, 320, 274, 271, - 172, 297, 201, 243, 183, 185, 197, 204, 206, 208, - 209, 252, 253, 265, 285, 299, 300, 301, 200, 193, - 279, 194, 218, 195, 173, 287, 196, 175, 266, 304, - 0, 214, 275, 239, 176, 238, 267, 303, 302, 184, - 328, 334, 335, 339, 0, 340, 0, 0, 0, 0, - 0, 0, 0, 0, 342, 0, 0, 0, 0, 0, - 0, 333, 212, 169, 170, 316, 518, 258, 0, 532, - 513, 515, 516, 519, 523, 524, 525, 526, 527, 529, - 531, 535, 283, 0, 0, 0, 0, 0, 223, 264, - 0, 284, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 291, 314, 326, 343, 346, 0, - 0, 0, 174, 345, 0, 0, 0, 0, 0, 0, - 0, 534, 0, 0, 0, 325, 0, 0, 0, 0, - 0, 477, 248, 249, 250, 251, 521, 0, 191, 344, - 273, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 338, 211, 217, - 0, 219, 190, 263, 213, 323, 226, 0, 0, 0, - 255, 222, 288, 227, 233, 276, 322, 261, 281, 188, - 313, 289, 237, 0, 0, 543, 517, 542, 544, 545, - 541, 546, 547, 528, 439, 0, 482, 539, 538, 540, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 171, 0, 231, 0, 272, 210, 506, - 486, 487, 488, 438, 489, 484, 485, 507, 480, 503, - 504, 462, 465, 490, 502, 491, 505, 508, 509, 548, - 549, 497, 550, 494, 510, 501, 500, 492, 481, 511, - 512, 466, 464, 495, 496, 483, 298, 475, 0, 329, - 330, 331, 315, 0, 202, 0, 0, 260, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 436, 0, 0, 0, 205, 0, 0, 230, 0, 0, - 0, 467, 0, 0, 290, 244, 0, 0, 0, 0, - 522, 530, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 429, 0, 0, 460, 499, 498, 447, 456, - 0, 0, 186, 448, 0, 455, 449, 453, 452, 450, - 451, 0, 514, 0, 0, 0, 0, 0, 0, 0, - 433, 0, 437, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 430, 431, 0, 0, 0, 0, - 476, 0, 432, 0, 0, 478, 457, 458, 0, 0, - 177, 295, 311, 187, 286, 324, 192, 293, 182, 259, - 282, 0, 0, 179, 309, 292, 241, 224, 225, 178, - 0, 277, 203, 216, 199, 257, 454, 474, 479, 198, - 536, 472, 319, 181, 0, 318, 256, 305, 310, 242, - 236, 180, 307, 240, 235, 228, 207, 537, 220, 268, - 234, 269, 221, 246, 245, 247, 0, 0, 0, 0, - 0, 347, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 470, 0, 0, 321, 0, 0, - 520, 0, 0, 0, 294, 0, 0, 229, 0, 0, - 0, 473, 0, 280, 262, 533, 0, 0, 278, 232, - 306, 270, 312, 296, 320, 274, 271, 172, 297, 201, - 243, 183, 185, 197, 204, 206, 208, 209, 252, 253, - 265, 285, 299, 300, 301, 200, 193, 279, 194, 218, - 195, 173, 287, 196, 175, 266, 304, 0, 214, 275, - 239, 176, 238, 267, 303, 302, 184, 328, 334, 335, - 339, 0, 340, 0, 0, 0, 0, 0, 0, 0, - 0, 342, 0, 0, 0, 0, 0, 0, 333, 212, - 169, 170, 316, 518, 258, 0, 532, 513, 515, 516, - 519, 523, 524, 525, 526, 527, 529, 531, 535, 283, - 0, 0, 0, 0, 0, 223, 264, 0, 284, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 291, 314, 326, 343, 346, 0, 0, 0, 174, - 345, 0, 0, 0, 0, 0, 0, 0, 534, 0, - 0, 0, 325, 0, 0, 0, 0, 0, 477, 248, - 249, 250, 251, 521, 0, 191, 344, 273, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 338, 211, 217, 0, 219, 190, - 263, 213, 323, 226, 0, 0, 0, 255, 222, 288, - 227, 233, 276, 322, 261, 281, 188, 313, 289, 237, - 0, 0, 543, 517, 542, 544, 545, 541, 546, 547, - 528, 439, 0, 482, 539, 538, 540, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 171, 0, 231, 0, 272, 210, 506, 486, 487, 488, - 438, 489, 484, 485, 507, 480, 503, 504, 462, 465, - 490, 502, 491, 505, 508, 509, 548, 549, 497, 550, - 494, 510, 501, 500, 492, 481, 511, 512, 466, 464, - 495, 496, 483, 0, 0, 0, 329, 330, 331, 315, - 0, 202, 122, 298, 37, 112, 93, 0, 0, 0, - 0, 0, 0, 0, 260, 357, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 205, 0, 0, 230, 0, 0, 0, 0, 0, - 0, 290, 244, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, - 0, 0, 129, 0, 0, 0, 0, 0, 0, 186, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 177, 295, 311, - 187, 286, 324, 192, 293, 182, 259, 282, 0, 0, - 179, 309, 292, 241, 224, 225, 178, 0, 277, 203, - 216, 199, 257, 0, 308, 336, 198, 327, 0, 319, - 181, 0, 318, 256, 305, 310, 242, 236, 180, 307, - 240, 235, 228, 207, 0, 220, 268, 234, 269, 221, - 246, 245, 247, 0, 0, 0, 0, 0, 347, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 361, - 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, - 0, 294, 0, 0, 229, 0, 0, 0, 337, 0, - 280, 262, 0, 0, 0, 278, 232, 306, 270, 312, - 296, 320, 274, 271, 172, 297, 201, 243, 183, 185, - 197, 204, 206, 208, 209, 252, 253, 265, 285, 299, - 300, 301, 200, 193, 279, 194, 218, 195, 173, 287, - 196, 175, 266, 304, 0, 214, 275, 239, 176, 238, - 267, 303, 302, 184, 328, 334, 335, 339, 0, 340, - 0, 0, 0, 0, 0, 0, 0, 0, 342, 0, - 0, 0, 0, 0, 0, 333, 212, 169, 170, 316, - 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, - 254, 332, 0, 0, 0, 0, 283, 0, 0, 0, - 0, 0, 223, 264, 0, 284, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 291, 314, - 326, 343, 346, 0, 0, 0, 174, 345, 0, 0, - 0, 0, 0, 0, 0, 317, 0, 0, 0, 325, - 0, 0, 0, 0, 0, 341, 248, 249, 250, 251, - 358, 360, 191, 344, 273, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 338, 211, 217, 0, 219, 190, 263, 213, 323, - 226, 0, 0, 0, 255, 222, 288, 227, 233, 276, - 322, 261, 281, 188, 313, 289, 237, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, - 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 171, 0, 231, - 94, 272, 210, 132, 133, 134, 135, 136, 137, 138, - 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, - 149, 150, 151, 152, 153, 0, 154, 155, 156, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 298, 0, 0, 329, 330, 331, 315, 0, 202, 0, - 0, 260, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 205, 0, - 0, 230, 0, 0, 0, 0, 0, 0, 290, 244, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, - 0, 0, 0, 0, 0, 0, 186, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 189, 2052, 2055, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 177, 295, 311, 187, 286, 324, - 192, 293, 182, 259, 282, 0, 0, 179, 309, 292, - 241, 224, 225, 178, 0, 277, 203, 216, 199, 257, - 0, 308, 336, 198, 327, 0, 319, 181, 0, 318, - 256, 305, 310, 242, 236, 180, 307, 240, 235, 228, - 207, 0, 220, 268, 234, 269, 221, 246, 245, 247, - 0, 0, 0, 0, 0, 347, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2056, 321, 0, 0, 0, 2049, 0, 2048, 294, 2050, - 2053, 229, 0, 0, 0, 337, 0, 280, 262, 0, - 0, 0, 278, 232, 306, 270, 312, 296, 320, 274, - 271, 172, 297, 201, 243, 183, 185, 197, 204, 206, - 208, 209, 252, 253, 265, 285, 299, 300, 301, 200, - 193, 279, 194, 218, 195, 173, 287, 196, 175, 266, - 304, 2054, 214, 275, 239, 176, 238, 267, 303, 302, - 184, 328, 334, 335, 339, 0, 340, 0, 0, 0, - 0, 0, 0, 0, 0, 342, 0, 0, 0, 0, - 0, 0, 333, 212, 169, 170, 316, 0, 258, 0, - 0, 0, 0, 0, 0, 0, 0, 254, 332, 0, - 0, 0, 0, 283, 0, 0, 0, 0, 0, 223, - 264, 0, 284, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 291, 314, 326, 343, 346, - 0, 0, 0, 174, 345, 0, 0, 0, 0, 0, - 0, 0, 317, 0, 0, 0, 325, 0, 0, 0, - 0, 0, 341, 248, 249, 250, 251, 215, 0, 191, - 344, 273, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 338, 211, - 217, 0, 219, 190, 263, 213, 323, 226, 0, 0, - 0, 255, 222, 288, 227, 233, 276, 322, 261, 281, - 188, 313, 289, 237, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 171, 0, 231, 0, 272, 210, - 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, - 152, 153, 0, 154, 155, 156, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 298, 0, 0, - 329, 330, 331, 315, 0, 202, 0, 0, 260, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1338, 0, 0, 0, 0, 205, 0, 0, 230, 0, - 0, 0, 0, 0, 0, 290, 244, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 129, 0, 0, 1339, - 0, 0, 0, 186, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 189, 0, 0, 754, 755, 756, 753, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 177, 295, 311, 187, 286, 324, 192, 293, 182, - 259, 282, 0, 0, 179, 309, 292, 241, 224, 225, - 178, 0, 277, 203, 216, 199, 257, 0, 308, 336, - 198, 327, 0, 319, 181, 0, 318, 256, 305, 310, - 242, 236, 180, 307, 240, 235, 228, 207, 0, 220, - 268, 234, 269, 221, 246, 245, 247, 0, 0, 0, - 0, 0, 347, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, - 0, 0, 0, 0, 0, 294, 0, 0, 229, 0, - 0, 0, 337, 0, 280, 262, 0, 0, 0, 278, - 232, 306, 270, 312, 296, 320, 274, 271, 172, 297, - 201, 243, 183, 185, 197, 204, 206, 208, 209, 252, - 253, 265, 285, 299, 300, 301, 200, 193, 279, 194, - 218, 195, 173, 287, 196, 175, 266, 304, 0, 214, - 275, 239, 176, 238, 267, 303, 302, 184, 328, 334, - 335, 339, 0, 340, 0, 0, 0, 0, 0, 0, - 0, 0, 342, 0, 0, 0, 0, 0, 0, 333, - 212, 169, 170, 316, 1146, 258, 0, 0, 0, 0, - 0, 0, 0, 0, 254, 332, 0, 0, 0, 0, - 283, 0, 0, 0, 0, 0, 223, 264, 0, 284, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 291, 314, 326, 343, 346, 0, 0, 0, - 174, 345, 0, 0, 0, 0, 0, 0, 0, 317, - 0, 0, 0, 325, 0, 0, 0, 0, 0, 341, - 248, 249, 250, 251, 215, 0, 191, 344, 273, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 338, 211, 217, 0, 219, - 190, 263, 213, 323, 226, 0, 0, 0, 255, 222, - 288, 227, 233, 276, 322, 261, 281, 188, 313, 289, - 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 168, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1142, 0, 0, - 1139, 0, 0, 0, 1141, 1138, 1140, 1144, 1145, 0, - 0, 171, 1143, 231, 0, 272, 210, 132, 133, 134, - 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 153, 0, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 298, 0, 0, 329, 330, 331, - 315, 0, 202, 0, 0, 260, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 205, 636, 0, 230, 0, 0, 0, 0, - 0, 0, 290, 244, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 129, 644, 645, 0, 0, 0, 0, - 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 648, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, - 1136, 1137, 1149, 1150, 1151, 1152, 1153, 1154, 1147, 1148, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 177, 295, - 311, 187, 286, 324, 192, 293, 182, 259, 282, 0, - 0, 179, 309, 292, 241, 224, 225, 178, 0, 277, - 203, 216, 199, 257, 0, 308, 336, 198, 327, 622, - 319, 181, 621, 318, 256, 305, 310, 242, 236, 180, - 307, 240, 235, 228, 207, 0, 220, 268, 234, 269, - 221, 246, 245, 247, 0, 0, 0, 0, 0, 347, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, - 0, 0, 294, 0, 0, 229, 0, 0, 0, 337, - 0, 280, 262, 0, 0, 0, 278, 232, 306, 270, - 312, 296, 320, 634, 271, 172, 297, 201, 243, 183, - 185, 197, 204, 206, 208, 209, 252, 253, 265, 285, - 299, 300, 301, 200, 193, 279, 194, 218, 195, 173, - 287, 196, 175, 266, 304, 0, 214, 275, 239, 176, - 238, 267, 303, 302, 184, 328, 334, 335, 339, 0, - 340, 0, 0, 0, 0, 0, 0, 0, 0, 342, - 0, 0, 0, 0, 0, 0, 333, 212, 169, 170, - 316, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 254, 332, 0, 0, 0, 0, 283, 0, 0, - 0, 0, 0, 223, 264, 0, 284, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 291, - 314, 326, 343, 346, 0, 0, 0, 174, 345, 0, - 0, 0, 0, 0, 0, 635, 317, 0, 0, 0, - 325, 0, 0, 0, 0, 0, 638, 248, 249, 250, - 251, 215, 0, 191, 344, 273, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 338, 211, 217, 0, 219, 190, 263, 213, - 323, 226, 0, 0, 0, 646, 641, 642, 227, 233, - 276, 322, 261, 281, 188, 313, 289, 643, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 168, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 171, 0, - 231, 0, 272, 210, 132, 133, 134, 135, 136, 137, - 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, - 148, 149, 150, 151, 152, 153, 0, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 122, 298, 0, 329, 330, 331, 315, 0, 202, - 0, 0, 0, 260, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 205, 0, 0, 230, 0, 0, 0, 0, 0, 0, - 290, 244, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 119, 1359, - 0, 129, 0, 0, 0, 0, 0, 0, 186, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 189, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 177, 295, 311, 187, - 286, 324, 192, 293, 182, 259, 282, 0, 0, 179, - 309, 292, 241, 224, 225, 178, 0, 277, 203, 216, - 199, 257, 0, 308, 336, 198, 327, 0, 319, 181, - 0, 318, 256, 305, 310, 242, 236, 180, 307, 240, - 235, 228, 207, 0, 220, 268, 234, 269, 221, 246, - 245, 247, 0, 0, 0, 0, 0, 347, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, - 294, 0, 0, 229, 0, 0, 0, 337, 0, 280, - 262, 0, 0, 0, 278, 232, 306, 270, 312, 296, - 320, 274, 271, 172, 297, 201, 243, 183, 185, 197, - 204, 206, 208, 209, 252, 253, 265, 285, 299, 300, - 301, 200, 193, 279, 194, 218, 195, 173, 287, 196, - 175, 266, 304, 0, 214, 275, 239, 176, 238, 267, - 303, 302, 184, 328, 334, 335, 339, 0, 340, 0, - 0, 0, 0, 0, 0, 0, 0, 342, 0, 0, - 0, 0, 0, 0, 333, 212, 169, 170, 316, 0, - 258, 0, 0, 0, 0, 0, 0, 0, 0, 254, - 332, 0, 0, 0, 0, 283, 0, 0, 0, 0, - 0, 223, 264, 0, 284, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 291, 314, 326, - 343, 346, 0, 0, 0, 174, 345, 0, 0, 0, - 0, 0, 0, 0, 317, 0, 0, 0, 325, 0, - 0, 0, 0, 0, 341, 248, 249, 250, 251, 215, - 0, 191, 344, 273, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 338, 211, 217, 0, 219, 190, 263, 213, 323, 226, - 0, 0, 0, 255, 222, 288, 227, 233, 276, 322, - 261, 281, 188, 313, 289, 237, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 171, 0, 231, 94, - 272, 210, 132, 133, 134, 135, 136, 137, 138, 139, - 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, - 150, 151, 152, 153, 0, 154, 155, 156, 157, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 122, - 298, 0, 329, 330, 331, 315, 0, 202, 0, 0, - 0, 260, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 205, 0, - 0, 230, 0, 0, 0, 0, 0, 0, 290, 244, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 119, 1350, 0, 129, - 0, 0, 0, 0, 0, 0, 186, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 189, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 177, 295, 311, 187, 286, 324, - 192, 293, 182, 259, 282, 0, 0, 179, 309, 292, - 241, 224, 225, 178, 0, 277, 203, 216, 199, 257, - 0, 308, 336, 198, 327, 0, 319, 181, 0, 318, - 256, 305, 310, 242, 236, 180, 307, 240, 235, 228, - 207, 0, 220, 268, 234, 269, 221, 246, 245, 247, - 0, 0, 0, 0, 0, 347, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 321, 0, 0, 0, 0, 0, 0, 294, 0, - 0, 229, 0, 0, 0, 337, 0, 280, 262, 0, - 0, 0, 278, 232, 306, 270, 312, 296, 320, 274, - 271, 172, 297, 201, 243, 183, 185, 197, 204, 206, - 208, 209, 252, 253, 265, 285, 299, 300, 301, 200, - 193, 279, 194, 218, 195, 173, 287, 196, 175, 266, - 304, 0, 214, 275, 239, 176, 238, 267, 303, 302, - 184, 328, 334, 335, 339, 0, 340, 0, 0, 0, - 0, 0, 0, 0, 0, 342, 0, 0, 0, 0, - 0, 0, 333, 212, 169, 170, 316, 0, 258, 0, - 0, 0, 0, 0, 0, 0, 0, 254, 332, 0, - 0, 0, 0, 283, 0, 0, 0, 0, 0, 223, - 264, 0, 284, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 291, 314, 326, 343, 346, - 0, 0, 0, 174, 345, 0, 0, 0, 0, 0, - 0, 0, 317, 0, 0, 0, 325, 0, 0, 0, - 0, 0, 341, 248, 249, 250, 251, 215, 0, 191, - 344, 273, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 338, 211, - 217, 0, 219, 190, 263, 213, 323, 226, 0, 0, - 0, 255, 222, 288, 227, 233, 276, 322, 261, 281, - 188, 313, 289, 237, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 171, 0, 231, 94, 272, 210, - 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, - 152, 153, 0, 154, 155, 156, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 298, 0, 0, - 329, 330, 331, 315, 0, 202, 0, 0, 260, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 205, 0, 0, 230, 0, - 0, 0, 0, 0, 0, 290, 244, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 129, 644, 645, 0, - 0, 0, 0, 186, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 648, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 177, 295, 311, 187, 286, 324, 192, 293, 182, - 259, 282, 0, 0, 179, 309, 292, 241, 224, 225, - 178, 0, 277, 203, 216, 199, 257, 0, 308, 336, - 198, 327, 622, 319, 181, 621, 318, 256, 305, 310, - 242, 236, 180, 307, 240, 235, 228, 207, 0, 220, - 268, 234, 269, 221, 246, 245, 247, 0, 0, 0, - 0, 0, 347, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, - 0, 0, 0, 0, 0, 294, 0, 0, 229, 0, - 0, 0, 337, 0, 280, 262, 0, 0, 0, 278, - 232, 306, 270, 312, 296, 320, 274, 271, 172, 297, - 201, 243, 183, 185, 197, 204, 206, 208, 209, 252, - 253, 265, 285, 299, 300, 301, 200, 193, 279, 194, - 218, 195, 173, 287, 196, 175, 266, 304, 0, 214, - 275, 239, 176, 238, 267, 303, 302, 184, 328, 334, - 335, 339, 0, 340, 0, 0, 0, 0, 0, 0, - 0, 0, 342, 0, 0, 0, 0, 0, 0, 333, - 212, 169, 170, 316, 0, 258, 0, 0, 0, 0, - 0, 0, 0, 0, 254, 332, 0, 0, 0, 0, - 283, 0, 0, 0, 0, 0, 223, 264, 0, 284, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 291, 314, 326, 343, 346, 0, 0, 0, - 174, 345, 0, 0, 0, 0, 0, 0, 0, 317, - 0, 0, 0, 325, 0, 0, 0, 0, 0, 341, - 248, 249, 250, 251, 215, 0, 191, 344, 273, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 338, 211, 217, 0, 219, - 190, 263, 213, 323, 226, 0, 0, 0, 646, 641, - 642, 227, 233, 276, 322, 261, 281, 188, 313, 289, - 643, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 168, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 171, 0, 231, 0, 272, 210, 132, 133, 134, - 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 153, 0, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 122, 298, 0, 329, 330, 331, - 315, 0, 202, 0, 0, 0, 260, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 205, 0, 0, 230, 0, 0, 0, - 0, 0, 0, 290, 244, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1293, 0, 0, 129, 0, 0, 0, 0, 0, - 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 189, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, - 295, 311, 187, 286, 324, 192, 293, 182, 259, 282, - 0, 0, 179, 309, 292, 241, 224, 225, 178, 0, - 277, 203, 216, 199, 257, 0, 308, 336, 198, 327, - 0, 319, 181, 0, 318, 256, 305, 310, 242, 236, - 180, 307, 240, 235, 228, 207, 0, 220, 268, 234, - 269, 221, 246, 245, 247, 0, 0, 0, 0, 0, - 347, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, - 0, 0, 0, 294, 0, 0, 229, 0, 0, 0, - 337, 0, 280, 262, 0, 0, 0, 278, 232, 306, - 270, 312, 296, 320, 274, 271, 172, 297, 201, 243, - 183, 185, 197, 204, 206, 208, 209, 252, 253, 265, - 285, 299, 300, 301, 200, 193, 279, 194, 218, 195, - 173, 287, 196, 175, 266, 304, 0, 214, 275, 239, - 176, 238, 267, 303, 302, 184, 328, 334, 335, 339, - 0, 340, 0, 0, 0, 0, 0, 0, 0, 0, - 342, 0, 0, 0, 0, 0, 0, 333, 212, 169, - 170, 316, 0, 258, 0, 0, 0, 0, 0, 0, - 0, 0, 254, 332, 0, 0, 0, 0, 283, 0, - 0, 0, 0, 0, 223, 264, 0, 284, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 291, 314, 326, 343, 346, 0, 0, 0, 174, 345, - 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, - 0, 325, 0, 0, 0, 0, 0, 341, 248, 249, - 250, 251, 215, 0, 191, 344, 273, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 338, 211, 217, 0, 219, 190, 263, - 213, 323, 226, 0, 0, 0, 255, 222, 288, 227, - 233, 276, 322, 261, 281, 188, 313, 289, 237, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 168, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 171, - 0, 231, 94, 272, 210, 132, 133, 134, 135, 136, - 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, - 147, 148, 149, 150, 151, 152, 153, 0, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 298, 0, 0, 329, 330, 331, 315, 0, - 202, 0, 0, 260, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 205, 991, 0, 230, 0, 0, 0, 0, 0, 0, - 290, 244, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 129, 0, 0, 989, 0, 0, 0, 186, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 189, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 987, 0, 0, 0, 0, 177, 295, 311, 187, - 286, 324, 192, 293, 182, 259, 282, 0, 0, 179, - 309, 292, 241, 224, 225, 178, 0, 277, 203, 216, - 199, 257, 0, 308, 336, 198, 327, 0, 319, 181, - 0, 318, 256, 305, 310, 242, 236, 180, 307, 240, - 235, 228, 207, 0, 220, 268, 234, 269, 221, 246, - 245, 247, 0, 0, 0, 0, 0, 347, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, - 294, 0, 0, 229, 0, 0, 0, 337, 0, 280, - 262, 0, 0, 0, 278, 232, 306, 270, 312, 296, - 320, 274, 271, 172, 297, 201, 243, 183, 185, 197, - 204, 206, 208, 209, 252, 253, 265, 285, 299, 300, - 301, 200, 193, 279, 194, 218, 195, 173, 287, 196, - 175, 266, 304, 0, 214, 275, 239, 176, 238, 267, - 303, 302, 184, 328, 334, 335, 339, 0, 340, 0, - 0, 0, 0, 0, 0, 0, 0, 342, 0, 0, - 0, 0, 0, 0, 333, 212, 169, 170, 316, 0, - 258, 0, 0, 0, 0, 0, 0, 0, 0, 254, - 332, 0, 0, 0, 0, 283, 0, 0, 0, 0, - 0, 223, 264, 0, 284, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 291, 314, 326, - 343, 346, 0, 0, 0, 174, 345, 0, 0, 0, - 0, 0, 0, 0, 317, 0, 0, 0, 325, 0, - 0, 0, 0, 0, 341, 248, 249, 250, 251, 215, - 0, 191, 344, 273, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 338, 211, 217, 0, 219, 190, 263, 213, 323, 226, - 0, 0, 0, 255, 222, 288, 227, 233, 276, 322, - 261, 281, 188, 313, 289, 237, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 171, 0, 231, 0, - 272, 210, 132, 133, 134, 135, 136, 137, 138, 139, + 0, 0, 467, 506, 505, 454, 463, 0, 0, 190, + 455, 0, 462, 456, 460, 459, 457, 458, 0, 521, + 0, 0, 0, 0, 0, 0, 427, 440, 0, 444, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 437, 438, 0, 0, 0, 0, 483, 0, 439, + 0, 0, 485, 464, 465, 0, 0, 181, 299, 315, + 191, 290, 328, 196, 297, 186, 263, 286, 0, 0, + 183, 313, 296, 245, 228, 229, 182, 0, 281, 207, + 220, 203, 261, 461, 481, 486, 202, 543, 479, 323, + 185, 0, 322, 260, 309, 314, 246, 240, 184, 311, + 244, 239, 232, 211, 544, 224, 272, 238, 273, 225, + 250, 249, 251, 0, 0, 0, 0, 0, 351, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 477, 0, 0, 325, 0, 0, 527, 0, + 0, 0, 298, 0, 0, 233, 0, 0, 0, 480, + 0, 284, 266, 540, 428, 0, 282, 236, 310, 274, + 316, 300, 324, 278, 275, 176, 301, 205, 247, 187, + 189, 201, 208, 210, 212, 213, 256, 257, 269, 289, + 303, 304, 305, 204, 197, 283, 198, 222, 199, 177, + 291, 200, 179, 270, 308, 0, 218, 279, 243, 180, + 242, 271, 307, 306, 188, 332, 338, 339, 343, 0, + 344, 0, 0, 0, 352, 0, 0, 0, 0, 0, + 346, 0, 0, 0, 0, 0, 0, 337, 216, 173, + 174, 320, 525, 262, 0, 539, 520, 522, 523, 526, + 530, 531, 532, 533, 534, 536, 538, 542, 287, 0, + 0, 0, 0, 0, 227, 268, 0, 288, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 295, 318, 330, 347, 350, 0, 0, 0, 178, 349, + 0, 0, 0, 0, 0, 0, 0, 541, 0, 0, + 0, 329, 0, 0, 0, 0, 0, 484, 252, 253, + 254, 255, 528, 0, 195, 348, 277, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 342, 215, 221, 0, 223, 194, 267, + 217, 327, 230, 0, 0, 0, 259, 226, 292, 231, + 237, 280, 326, 265, 285, 192, 317, 293, 241, 0, + 0, 550, 524, 549, 551, 552, 548, 553, 554, 535, + 446, 0, 489, 546, 545, 547, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, + 0, 235, 0, 276, 214, 513, 493, 494, 495, 445, + 496, 491, 492, 514, 487, 510, 511, 469, 472, 497, + 509, 498, 512, 515, 516, 555, 556, 504, 557, 501, + 517, 508, 507, 499, 488, 518, 519, 473, 471, 502, + 503, 490, 302, 482, 0, 333, 334, 335, 319, 0, + 206, 0, 0, 264, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 443, 0, 0, 0, + 209, 1245, 0, 234, 0, 0, 0, 474, 0, 0, + 294, 248, 0, 0, 0, 0, 529, 537, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 436, 0, + 0, 467, 506, 505, 454, 463, 0, 0, 190, 455, + 0, 462, 456, 460, 459, 457, 458, 0, 521, 0, + 0, 0, 0, 0, 0, 427, 440, 0, 444, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 437, 438, 0, 0, 0, 0, 483, 0, 439, 0, + 0, 485, 464, 465, 0, 0, 181, 299, 315, 191, + 290, 328, 196, 297, 186, 263, 286, 0, 0, 183, + 313, 296, 245, 228, 229, 182, 0, 281, 207, 220, + 203, 261, 461, 481, 486, 202, 543, 479, 323, 185, + 0, 322, 260, 309, 314, 246, 240, 184, 311, 244, + 239, 232, 211, 544, 224, 272, 238, 273, 225, 250, + 249, 251, 0, 0, 0, 0, 0, 351, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 477, 0, 0, 325, 0, 0, 527, 0, 0, + 0, 298, 0, 0, 233, 0, 0, 0, 480, 0, + 284, 266, 540, 428, 0, 282, 236, 310, 274, 316, + 300, 324, 278, 275, 176, 301, 205, 247, 187, 189, + 201, 208, 210, 212, 213, 256, 257, 269, 289, 303, + 304, 305, 204, 197, 283, 198, 222, 199, 177, 291, + 200, 179, 270, 308, 0, 218, 279, 243, 180, 242, + 271, 307, 306, 188, 332, 338, 339, 343, 0, 344, + 0, 0, 0, 352, 0, 0, 0, 0, 0, 346, + 0, 0, 0, 0, 0, 0, 337, 216, 173, 174, + 320, 525, 262, 0, 539, 520, 522, 523, 526, 530, + 531, 532, 533, 534, 536, 538, 542, 287, 0, 0, + 0, 0, 0, 227, 268, 0, 288, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, + 318, 330, 347, 350, 0, 0, 0, 178, 349, 0, + 0, 0, 0, 0, 0, 0, 541, 0, 0, 0, + 329, 0, 0, 0, 0, 0, 484, 252, 253, 254, + 255, 528, 0, 195, 348, 277, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 342, 215, 221, 0, 223, 194, 267, 217, + 327, 230, 0, 0, 0, 259, 226, 292, 231, 237, + 280, 326, 265, 285, 192, 317, 293, 241, 0, 0, + 550, 524, 549, 551, 552, 548, 553, 554, 535, 446, + 0, 489, 546, 545, 547, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 175, 0, + 235, 0, 276, 214, 513, 493, 494, 495, 445, 496, + 491, 492, 514, 487, 510, 511, 469, 472, 497, 509, + 498, 512, 515, 516, 555, 556, 504, 557, 501, 517, + 508, 507, 499, 488, 518, 519, 473, 471, 502, 503, + 490, 302, 482, 0, 333, 334, 335, 319, 0, 206, + 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 443, 0, 0, 0, 209, + 0, 0, 234, 0, 0, 0, 474, 0, 0, 294, + 248, 0, 0, 0, 0, 529, 537, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 436, 0, 0, + 467, 506, 505, 454, 463, 0, 0, 190, 455, 0, + 462, 456, 460, 459, 457, 458, 0, 521, 0, 0, + 0, 0, 0, 0, 427, 440, 0, 444, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 437, + 438, 1022, 0, 0, 0, 483, 0, 439, 0, 0, + 485, 464, 465, 0, 0, 181, 299, 315, 191, 290, + 328, 196, 297, 186, 263, 286, 0, 0, 183, 313, + 296, 245, 228, 229, 182, 0, 281, 207, 220, 203, + 261, 461, 481, 486, 202, 543, 479, 323, 185, 0, + 322, 260, 309, 314, 246, 240, 184, 311, 244, 239, + 232, 211, 544, 224, 272, 238, 273, 225, 250, 249, + 251, 0, 0, 0, 0, 0, 351, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 477, 0, 0, 325, 0, 0, 527, 0, 0, 0, + 298, 0, 0, 233, 0, 0, 0, 480, 0, 284, + 266, 540, 428, 0, 282, 236, 310, 274, 316, 300, + 324, 278, 275, 176, 301, 205, 247, 187, 189, 201, + 208, 210, 212, 213, 256, 257, 269, 289, 303, 304, + 305, 204, 197, 283, 198, 222, 199, 177, 291, 200, + 179, 270, 308, 0, 218, 279, 243, 180, 242, 271, + 307, 306, 188, 332, 338, 339, 343, 0, 344, 0, + 0, 0, 352, 0, 0, 0, 0, 0, 346, 0, + 0, 0, 0, 0, 0, 337, 216, 173, 174, 320, + 525, 262, 0, 539, 520, 522, 523, 526, 530, 531, + 532, 533, 534, 536, 538, 542, 287, 0, 0, 0, + 0, 0, 227, 268, 0, 288, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 295, 318, + 330, 347, 350, 0, 0, 0, 178, 349, 0, 0, + 0, 0, 0, 0, 0, 541, 0, 0, 0, 329, + 0, 0, 0, 0, 0, 484, 252, 253, 254, 255, + 528, 0, 195, 348, 277, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 342, 215, 221, 0, 223, 194, 267, 217, 327, + 230, 0, 0, 0, 259, 226, 292, 231, 237, 280, + 326, 265, 285, 192, 317, 293, 241, 0, 0, 550, + 524, 549, 551, 552, 548, 553, 554, 535, 446, 0, + 489, 546, 545, 547, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 175, 0, 235, + 0, 276, 214, 513, 493, 494, 495, 445, 496, 491, + 492, 514, 487, 510, 511, 469, 472, 497, 509, 498, + 512, 515, 516, 555, 556, 504, 557, 501, 517, 508, + 507, 499, 488, 518, 519, 473, 471, 502, 503, 490, + 0, 0, 0, 333, 334, 335, 319, 0, 206, 302, + 482, 0, 0, 1623, 0, 0, 0, 0, 0, 0, + 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 443, 0, 0, 0, 209, 0, 0, + 234, 0, 0, 0, 474, 0, 0, 294, 248, 0, + 0, 0, 0, 529, 537, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 436, 0, 0, 467, 506, + 505, 454, 463, 0, 0, 190, 455, 0, 462, 456, + 460, 459, 457, 458, 0, 521, 0, 0, 0, 0, + 0, 0, 427, 440, 0, 444, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 437, 438, 0, + 0, 0, 0, 483, 0, 439, 0, 0, 485, 464, + 465, 0, 0, 181, 299, 315, 191, 290, 328, 196, + 297, 186, 263, 286, 0, 0, 183, 313, 296, 245, + 228, 229, 182, 0, 281, 207, 220, 203, 261, 461, + 481, 486, 202, 543, 479, 323, 185, 0, 322, 260, + 309, 314, 246, 240, 184, 311, 244, 239, 232, 211, + 544, 224, 272, 238, 273, 225, 250, 249, 251, 0, + 0, 0, 0, 0, 351, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 477, 0, + 0, 325, 0, 0, 527, 0, 0, 0, 298, 0, + 0, 233, 0, 0, 0, 480, 0, 284, 266, 540, + 428, 0, 282, 236, 310, 274, 316, 300, 324, 278, + 275, 176, 301, 205, 247, 187, 189, 201, 208, 210, + 212, 213, 256, 257, 269, 289, 303, 304, 305, 204, + 197, 283, 198, 222, 199, 177, 291, 200, 179, 270, + 308, 0, 218, 279, 243, 180, 242, 271, 307, 306, + 188, 332, 338, 339, 343, 0, 344, 0, 0, 0, + 352, 0, 0, 0, 0, 0, 346, 0, 0, 0, + 0, 0, 0, 337, 216, 173, 174, 320, 525, 262, + 0, 539, 520, 522, 523, 526, 530, 531, 532, 533, + 534, 536, 538, 542, 287, 0, 0, 0, 0, 0, + 227, 268, 0, 288, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 295, 318, 330, 347, + 350, 0, 0, 0, 178, 349, 0, 0, 0, 0, + 0, 0, 0, 541, 0, 0, 0, 329, 0, 0, + 0, 0, 0, 484, 252, 253, 254, 255, 528, 0, + 195, 348, 277, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 342, + 215, 221, 0, 223, 194, 267, 217, 327, 230, 0, + 0, 0, 259, 226, 292, 231, 237, 280, 326, 265, + 285, 192, 317, 293, 241, 0, 0, 550, 524, 549, + 551, 552, 548, 553, 554, 535, 446, 0, 489, 546, + 545, 547, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 175, 0, 235, 0, 276, + 214, 513, 493, 494, 495, 445, 496, 491, 492, 514, + 487, 510, 511, 469, 472, 497, 509, 498, 512, 515, + 516, 555, 556, 504, 557, 501, 517, 508, 507, 499, + 488, 518, 519, 473, 471, 502, 503, 490, 302, 482, + 0, 333, 334, 335, 319, 0, 206, 0, 0, 264, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 443, 0, 0, 0, 209, 0, 0, 234, + 0, 0, 0, 474, 0, 0, 294, 248, 0, 0, + 0, 0, 529, 537, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 436, 0, 0, 467, 506, 505, + 454, 463, 0, 0, 190, 455, 0, 462, 456, 460, + 459, 457, 458, 0, 521, 0, 0, 0, 0, 0, + 0, 427, 440, 0, 444, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 437, 438, 0, 0, + 0, 0, 483, 0, 439, 0, 0, 485, 464, 465, + 0, 0, 181, 299, 315, 191, 290, 328, 196, 297, + 186, 263, 286, 0, 0, 183, 313, 296, 245, 228, + 229, 182, 0, 281, 207, 220, 203, 261, 461, 481, + 486, 202, 543, 479, 323, 185, 0, 322, 260, 309, + 314, 246, 240, 184, 311, 244, 239, 232, 211, 544, + 224, 272, 238, 273, 225, 250, 249, 251, 0, 0, + 0, 0, 0, 351, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 477, 0, 0, + 325, 0, 0, 527, 0, 0, 0, 298, 0, 0, + 233, 0, 0, 0, 480, 0, 284, 266, 540, 428, + 0, 282, 236, 310, 274, 316, 300, 324, 278, 275, + 176, 301, 205, 247, 187, 189, 201, 208, 210, 212, + 213, 256, 257, 269, 289, 303, 304, 305, 204, 197, + 283, 198, 222, 199, 177, 291, 200, 179, 270, 308, + 0, 218, 279, 243, 180, 242, 271, 307, 306, 188, + 332, 338, 339, 343, 0, 344, 0, 0, 0, 352, + 0, 0, 0, 0, 0, 346, 0, 0, 0, 0, + 0, 0, 337, 216, 173, 174, 320, 525, 262, 0, + 539, 520, 522, 523, 526, 530, 531, 532, 533, 534, + 536, 538, 542, 287, 0, 0, 0, 0, 0, 227, + 268, 0, 288, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 295, 318, 330, 347, 350, + 0, 0, 0, 178, 349, 0, 0, 0, 0, 0, + 0, 0, 541, 0, 0, 0, 329, 0, 0, 0, + 0, 0, 484, 252, 253, 254, 255, 528, 0, 195, + 348, 277, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 342, 215, + 221, 0, 223, 194, 267, 217, 327, 230, 0, 0, + 0, 259, 226, 292, 231, 237, 280, 326, 265, 285, + 192, 317, 293, 241, 0, 0, 550, 524, 549, 551, + 552, 548, 553, 554, 535, 446, 0, 489, 546, 545, + 547, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 175, 0, 235, 0, 276, 214, + 513, 493, 494, 495, 445, 496, 491, 492, 514, 487, + 510, 511, 469, 472, 497, 509, 498, 512, 515, 516, + 555, 556, 504, 557, 501, 517, 508, 507, 499, 488, + 518, 519, 473, 471, 502, 503, 490, 302, 482, 0, + 333, 334, 335, 319, 0, 206, 0, 0, 264, 0, + 0, 0, 0, 0, 0, 0, 0, 1106, 0, 0, + 0, 443, 0, 0, 0, 209, 0, 0, 234, 0, + 0, 0, 474, 0, 0, 294, 248, 0, 0, 0, + 0, 529, 537, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 436, 0, 0, 467, 506, 505, 454, + 463, 0, 0, 190, 455, 0, 462, 456, 460, 459, + 457, 458, 0, 521, 0, 0, 0, 0, 0, 0, + 0, 440, 0, 444, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 437, 438, 0, 0, 0, + 0, 483, 0, 439, 0, 0, 485, 464, 465, 0, + 0, 181, 299, 315, 191, 290, 328, 196, 297, 186, + 263, 286, 0, 0, 183, 313, 296, 245, 228, 229, + 182, 0, 281, 207, 220, 203, 261, 461, 481, 486, + 202, 543, 479, 323, 185, 0, 322, 260, 309, 314, + 246, 240, 184, 311, 244, 239, 232, 211, 544, 224, + 272, 238, 273, 225, 250, 249, 251, 0, 0, 0, + 0, 0, 351, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 477, 0, 0, 325, + 0, 0, 527, 0, 0, 0, 298, 0, 0, 233, + 0, 0, 0, 480, 0, 284, 266, 540, 0, 0, + 282, 236, 310, 274, 316, 300, 324, 278, 275, 176, + 301, 205, 247, 187, 189, 201, 208, 210, 212, 213, + 256, 257, 269, 289, 303, 304, 305, 204, 197, 283, + 198, 222, 199, 177, 291, 200, 179, 270, 308, 0, + 218, 279, 243, 180, 242, 271, 307, 306, 188, 332, + 1107, 1108, 343, 0, 344, 0, 0, 0, 352, 0, + 0, 0, 0, 0, 346, 0, 0, 0, 0, 0, + 0, 337, 216, 173, 174, 320, 525, 262, 0, 539, + 520, 522, 523, 526, 530, 531, 532, 533, 534, 536, + 538, 542, 287, 0, 0, 0, 0, 0, 227, 268, + 0, 288, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 295, 318, 330, 347, 350, 0, + 0, 0, 178, 349, 0, 0, 0, 0, 0, 0, + 0, 541, 0, 0, 0, 329, 0, 0, 0, 0, + 0, 484, 252, 253, 254, 255, 528, 0, 195, 348, + 277, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 342, 215, 221, + 0, 223, 194, 267, 217, 327, 230, 0, 0, 0, + 259, 226, 292, 231, 237, 280, 326, 265, 285, 192, + 317, 293, 241, 0, 0, 550, 524, 549, 551, 552, + 548, 553, 554, 535, 446, 0, 489, 546, 545, 547, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 175, 0, 235, 0, 276, 214, 513, + 493, 494, 495, 445, 496, 491, 492, 514, 487, 510, + 511, 469, 472, 497, 509, 498, 512, 515, 516, 555, + 556, 504, 557, 501, 517, 508, 507, 499, 488, 518, + 519, 473, 471, 502, 503, 490, 302, 482, 0, 333, + 334, 335, 319, 0, 206, 0, 0, 264, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 443, 0, 0, 0, 209, 0, 0, 234, 0, 0, + 0, 474, 0, 0, 294, 248, 0, 0, 0, 0, + 529, 537, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 467, 506, 505, 454, 463, + 0, 0, 190, 455, 0, 462, 456, 460, 459, 457, + 458, 0, 521, 0, 0, 0, 0, 0, 0, 427, + 440, 0, 444, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 437, 438, 0, 0, 0, 0, + 483, 0, 439, 0, 0, 485, 464, 465, 0, 0, + 181, 299, 315, 191, 290, 328, 196, 297, 186, 263, + 286, 0, 0, 183, 313, 296, 245, 228, 229, 182, + 0, 281, 207, 220, 203, 261, 461, 481, 486, 202, + 543, 479, 323, 185, 0, 322, 260, 309, 314, 246, + 240, 184, 311, 244, 239, 232, 211, 544, 224, 272, + 238, 273, 225, 250, 249, 251, 0, 0, 0, 0, + 0, 351, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 477, 0, 0, 325, 0, + 0, 527, 0, 0, 0, 298, 0, 0, 233, 0, + 0, 0, 480, 0, 284, 266, 540, 428, 0, 282, + 236, 310, 274, 316, 300, 324, 278, 275, 176, 301, + 205, 247, 187, 189, 201, 208, 210, 212, 213, 256, + 257, 269, 289, 303, 304, 305, 204, 197, 283, 198, + 222, 199, 177, 291, 200, 179, 270, 308, 0, 218, + 279, 243, 180, 242, 271, 307, 306, 188, 332, 338, + 339, 343, 0, 344, 0, 0, 0, 352, 0, 0, + 0, 0, 0, 346, 0, 0, 0, 0, 0, 0, + 337, 216, 173, 174, 320, 525, 262, 0, 539, 520, + 522, 523, 526, 530, 531, 532, 533, 534, 536, 538, + 542, 287, 0, 0, 0, 0, 0, 227, 268, 0, + 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 295, 318, 330, 347, 350, 0, 0, + 0, 178, 349, 0, 0, 0, 0, 0, 0, 0, + 541, 0, 0, 0, 329, 0, 0, 0, 0, 0, + 484, 252, 253, 254, 255, 528, 0, 195, 348, 277, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 342, 215, 221, 0, + 223, 194, 267, 217, 327, 230, 0, 0, 0, 259, + 226, 292, 231, 237, 280, 326, 265, 285, 192, 317, + 293, 241, 0, 0, 550, 524, 549, 551, 552, 548, + 553, 554, 535, 446, 0, 489, 546, 545, 547, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 175, 0, 235, 0, 276, 214, 513, 493, + 494, 495, 445, 496, 491, 492, 514, 487, 510, 511, + 469, 472, 497, 509, 498, 512, 515, 516, 555, 556, + 504, 557, 501, 517, 508, 507, 499, 488, 518, 519, + 473, 471, 502, 503, 490, 302, 482, 0, 333, 334, + 335, 319, 0, 206, 0, 0, 264, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 443, + 0, 0, 0, 209, 0, 0, 234, 0, 0, 0, + 474, 0, 0, 294, 248, 0, 0, 0, 0, 529, + 537, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 436, 0, 0, 467, 506, 505, 454, 463, 0, + 0, 190, 455, 0, 462, 456, 460, 459, 457, 458, + 0, 521, 0, 0, 0, 0, 0, 0, 0, 440, + 0, 444, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 437, 438, 0, 0, 0, 0, 483, + 0, 439, 0, 0, 485, 464, 465, 0, 0, 181, + 299, 315, 191, 290, 328, 196, 297, 186, 263, 286, + 0, 0, 183, 313, 296, 245, 228, 229, 182, 0, + 281, 207, 220, 203, 261, 461, 481, 486, 202, 543, + 479, 323, 185, 0, 322, 260, 309, 314, 246, 240, + 184, 311, 244, 239, 232, 211, 544, 224, 272, 238, + 273, 225, 250, 249, 251, 0, 0, 0, 0, 0, + 351, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 477, 0, 0, 325, 0, 0, + 527, 0, 0, 0, 298, 0, 0, 233, 0, 0, + 0, 480, 0, 284, 266, 540, 0, 0, 282, 236, + 310, 274, 316, 300, 324, 278, 275, 176, 301, 205, + 247, 187, 189, 201, 208, 210, 212, 213, 256, 257, + 269, 289, 303, 304, 305, 204, 197, 283, 198, 222, + 199, 177, 291, 200, 179, 270, 308, 0, 218, 279, + 243, 180, 242, 271, 307, 306, 188, 332, 338, 339, + 343, 0, 344, 0, 0, 0, 352, 0, 0, 0, + 0, 0, 346, 0, 0, 0, 0, 0, 0, 337, + 216, 173, 174, 320, 525, 262, 0, 539, 520, 522, + 523, 526, 530, 531, 532, 533, 534, 536, 538, 542, + 287, 0, 0, 0, 0, 0, 227, 268, 0, 288, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 295, 318, 330, 347, 350, 0, 0, 0, + 178, 349, 0, 0, 0, 0, 0, 0, 0, 541, + 0, 0, 0, 329, 0, 0, 0, 0, 0, 484, + 252, 253, 254, 255, 528, 0, 195, 348, 277, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 342, 215, 221, 0, 223, + 194, 267, 217, 327, 230, 0, 0, 0, 259, 226, + 292, 231, 237, 280, 326, 265, 285, 192, 317, 293, + 241, 0, 0, 550, 524, 549, 551, 552, 548, 553, + 554, 535, 446, 0, 489, 546, 545, 547, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 175, 0, 235, 0, 276, 214, 513, 493, 494, + 495, 445, 496, 491, 492, 514, 487, 510, 511, 469, + 472, 497, 509, 498, 512, 515, 516, 555, 556, 504, + 557, 501, 517, 508, 507, 499, 488, 518, 519, 473, + 471, 502, 503, 490, 302, 0, 0, 333, 334, 335, + 319, 0, 206, 0, 0, 264, 0, 0, 0, 0, + 0, 0, 0, 872, 0, 0, 0, 0, 0, 0, + 0, 0, 209, 0, 0, 234, 0, 0, 0, 0, + 0, 0, 294, 248, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 133, 0, 0, 0, 0, 0, 0, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 860, 0, 0, 0, 0, 181, 299, + 315, 191, 290, 328, 196, 297, 186, 263, 286, 0, + 0, 1696, 1698, 1699, 1700, 1701, 1702, 1703, 0, 1707, + 1704, 1705, 1706, 261, 0, 1691, 1692, 1693, 1694, 858, + 1678, 1697, 0, 1679, 260, 1680, 1681, 1682, 1683, 1684, + 1685, 1686, 1687, 1688, 1689, 873, 1695, 272, 238, 273, + 225, 250, 249, 251, 883, 885, 887, 889, 892, 351, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 325, 0, 0, 0, + 0, 0, 0, 298, 0, 0, 233, 0, 0, 0, + 1690, 0, 284, 266, 0, 0, 0, 282, 236, 310, + 274, 316, 300, 324, 278, 275, 176, 301, 205, 247, + 187, 189, 201, 208, 210, 212, 213, 256, 257, 269, + 289, 303, 304, 305, 204, 197, 283, 198, 222, 199, + 177, 291, 200, 179, 270, 308, 0, 218, 279, 243, + 180, 242, 271, 307, 306, 188, 332, 338, 339, 343, + 0, 344, 0, 0, 0, 352, 0, 0, 0, 0, + 0, 346, 0, 0, 0, 0, 0, 0, 337, 216, + 173, 174, 320, 0, 262, 0, 0, 0, 0, 0, + 0, 0, 0, 258, 336, 0, 0, 0, 0, 287, + 0, 0, 0, 0, 0, 227, 268, 0, 288, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 295, 318, 330, 347, 350, 0, 0, 0, 178, + 349, 0, 0, 0, 0, 0, 0, 0, 321, 0, + 0, 0, 329, 0, 0, 0, 0, 0, 345, 252, + 253, 254, 255, 219, 0, 195, 348, 277, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 342, 215, 221, 0, 223, 194, + 267, 217, 327, 230, 0, 0, 0, 259, 226, 292, + 231, 237, 280, 326, 265, 285, 192, 317, 293, 241, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 172, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 175, 882, 235, 0, 276, 214, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, - 150, 151, 152, 153, 0, 154, 155, 156, 157, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 298, - 0, 0, 329, 330, 331, 315, 0, 202, 0, 0, - 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 205, 985, 0, - 230, 0, 0, 0, 0, 0, 0, 290, 244, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, - 0, 989, 0, 0, 0, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 189, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 987, 0, - 0, 0, 0, 177, 295, 311, 187, 286, 324, 192, - 293, 182, 259, 282, 0, 0, 179, 309, 292, 241, - 224, 225, 178, 0, 277, 203, 216, 199, 257, 0, - 308, 336, 198, 327, 0, 319, 181, 0, 318, 256, - 305, 310, 242, 236, 180, 307, 240, 235, 228, 207, - 0, 220, 268, 234, 269, 221, 246, 245, 247, 0, - 0, 0, 0, 0, 347, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 321, 0, 0, 0, 0, 0, 0, 294, 0, 0, - 229, 0, 0, 0, 337, 0, 280, 262, 0, 0, - 0, 278, 232, 306, 270, 312, 296, 320, 274, 271, - 172, 297, 201, 243, 183, 185, 197, 204, 206, 208, - 209, 252, 253, 265, 285, 299, 300, 301, 200, 193, - 279, 194, 218, 195, 173, 287, 196, 175, 266, 304, - 0, 214, 275, 239, 176, 238, 267, 303, 302, 184, - 328, 334, 335, 339, 0, 340, 0, 0, 0, 0, - 0, 0, 0, 0, 342, 0, 0, 0, 0, 0, - 0, 333, 212, 169, 170, 316, 0, 258, 0, 0, - 0, 0, 0, 0, 0, 0, 254, 332, 0, 0, - 0, 0, 283, 0, 0, 0, 0, 0, 223, 264, - 0, 284, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 291, 314, 326, 343, 346, 0, - 0, 0, 174, 345, 0, 0, 0, 0, 0, 0, - 0, 317, 0, 0, 0, 325, 0, 0, 0, 0, - 0, 341, 248, 249, 250, 251, 215, 0, 191, 344, - 273, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 338, 211, 217, - 0, 219, 190, 263, 213, 323, 226, 0, 0, 0, - 255, 222, 288, 227, 233, 276, 322, 261, 281, 188, - 313, 289, 237, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 168, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 171, 0, 231, 0, 272, 210, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, - 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, - 153, 0, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 298, 0, 0, 329, - 330, 331, 315, 0, 202, 0, 0, 260, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 205, 0, 0, 230, 0, 0, - 0, 0, 0, 0, 290, 244, 0, 0, 0, 0, + 150, 151, 152, 153, 154, 155, 156, 157, 0, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 0, 0, 0, 333, 334, 335, 319, + 0, 206, 126, 302, 38, 116, 96, 0, 0, 0, + 0, 0, 0, 0, 264, 362, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 209, 0, 0, 234, 0, 0, 0, 0, 0, + 0, 294, 248, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, + 0, 0, 133, 0, 0, 0, 0, 0, 0, 190, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 181, 299, 315, + 191, 290, 328, 196, 297, 186, 263, 286, 0, 0, + 183, 313, 296, 245, 228, 229, 182, 0, 281, 207, + 220, 203, 261, 0, 312, 340, 202, 331, 0, 323, + 185, 0, 322, 260, 309, 314, 246, 240, 184, 311, + 244, 239, 232, 211, 0, 224, 272, 238, 273, 225, + 250, 249, 251, 0, 0, 0, 0, 0, 351, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 366, + 0, 0, 0, 0, 0, 325, 0, 0, 0, 0, + 0, 0, 298, 0, 0, 233, 0, 0, 0, 341, + 0, 284, 266, 0, 0, 0, 282, 236, 310, 274, + 316, 300, 324, 278, 275, 176, 301, 205, 247, 187, + 189, 201, 208, 210, 212, 213, 256, 257, 269, 289, + 303, 304, 305, 204, 197, 283, 198, 222, 199, 177, + 291, 200, 179, 270, 308, 0, 218, 279, 243, 180, + 242, 271, 307, 306, 188, 332, 338, 339, 343, 0, + 344, 0, 0, 0, 352, 0, 0, 0, 0, 0, + 346, 0, 0, 0, 0, 0, 0, 337, 216, 173, + 174, 320, 0, 262, 0, 0, 0, 0, 0, 0, + 0, 0, 258, 336, 0, 0, 0, 0, 287, 0, + 0, 0, 0, 0, 227, 268, 0, 288, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 295, 318, 330, 347, 350, 0, 0, 0, 178, 349, + 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, + 0, 329, 0, 0, 0, 0, 0, 345, 252, 253, + 254, 255, 363, 365, 195, 348, 277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2549, 0, 129, 499, 0, 0, 0, - 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 189, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 342, 215, 221, 0, 223, 194, 267, + 217, 327, 230, 0, 0, 0, 259, 226, 292, 231, + 237, 280, 326, 265, 285, 192, 317, 293, 241, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, + 0, 0, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, + 0, 235, 97, 276, 214, 136, 137, 138, 139, 140, + 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 0, 158, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 302, 0, 0, 333, 334, 335, 319, 0, + 206, 0, 0, 264, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 209, 0, 0, 234, 0, 0, 0, 0, 0, 0, + 294, 248, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 133, 0, 0, 0, 0, 0, 0, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 193, 2118, + 2121, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 181, 299, 315, 191, + 290, 328, 196, 297, 186, 263, 286, 0, 0, 183, + 313, 296, 245, 228, 229, 182, 0, 281, 207, 220, + 203, 261, 0, 312, 340, 202, 331, 0, 323, 185, + 0, 322, 260, 309, 314, 246, 240, 184, 311, 244, + 239, 232, 211, 0, 224, 272, 238, 273, 225, 250, + 249, 251, 0, 0, 0, 0, 0, 351, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2122, 325, 0, 0, 0, 2115, 0, + 2114, 298, 2116, 2119, 233, 0, 0, 0, 341, 0, + 284, 266, 0, 0, 0, 282, 236, 310, 274, 316, + 300, 324, 278, 275, 176, 301, 205, 247, 187, 189, + 201, 208, 210, 212, 213, 256, 257, 269, 289, 303, + 304, 305, 204, 197, 283, 198, 222, 199, 177, 291, + 200, 179, 270, 308, 2120, 218, 279, 243, 180, 242, + 271, 307, 306, 188, 332, 338, 339, 343, 0, 344, + 0, 0, 0, 352, 0, 0, 0, 0, 0, 346, + 0, 0, 0, 0, 0, 0, 337, 216, 173, 174, + 320, 0, 262, 0, 0, 0, 0, 0, 0, 0, + 0, 258, 336, 0, 0, 0, 0, 287, 0, 0, + 0, 0, 0, 227, 268, 0, 288, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, + 318, 330, 347, 350, 0, 0, 0, 178, 349, 0, + 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, + 329, 0, 0, 0, 0, 0, 345, 252, 253, 254, + 255, 219, 0, 195, 348, 277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 342, 215, 221, 0, 223, 194, 267, 217, + 327, 230, 0, 0, 0, 259, 226, 292, 231, 237, + 280, 326, 265, 285, 192, 317, 293, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 177, 295, 311, 187, 286, 324, 192, 293, 182, 259, - 282, 0, 0, 179, 309, 292, 241, 224, 225, 178, - 0, 277, 203, 216, 199, 257, 0, 308, 336, 198, - 327, 0, 319, 181, 0, 318, 256, 305, 310, 242, - 236, 180, 307, 240, 235, 228, 207, 0, 220, 268, - 234, 269, 221, 246, 245, 247, 0, 0, 0, 0, - 0, 347, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, - 0, 0, 0, 0, 294, 0, 0, 229, 0, 0, - 0, 337, 0, 280, 262, 0, 0, 0, 278, 232, - 306, 270, 312, 296, 320, 274, 271, 172, 297, 201, - 243, 183, 185, 197, 204, 206, 208, 209, 252, 253, - 265, 285, 299, 300, 301, 200, 193, 279, 194, 218, - 195, 173, 287, 196, 175, 266, 304, 0, 214, 275, - 239, 176, 238, 267, 303, 302, 184, 328, 334, 335, - 339, 0, 340, 0, 0, 0, 0, 0, 0, 0, - 0, 342, 0, 0, 0, 0, 0, 0, 333, 212, - 169, 170, 316, 0, 258, 0, 0, 0, 0, 0, - 0, 0, 0, 254, 332, 0, 0, 0, 0, 283, - 0, 0, 0, 0, 0, 223, 264, 0, 284, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 291, 314, 326, 343, 346, 0, 0, 0, 174, - 345, 0, 0, 0, 0, 0, 0, 0, 317, 0, - 0, 0, 325, 0, 0, 0, 0, 0, 341, 248, - 249, 250, 251, 215, 0, 191, 344, 273, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 338, 211, 217, 0, 219, 190, - 263, 213, 323, 226, 0, 0, 0, 255, 222, 288, - 227, 233, 276, 322, 261, 281, 188, 313, 289, 237, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 168, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 171, 0, 231, 0, 272, 210, 132, 133, 134, 135, + 0, 0, 0, 0, 0, 0, 0, 0, 175, 0, + 235, 0, 276, 214, 136, 137, 138, 139, 140, 141, + 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, 0, 158, 159, 160, + 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, + 171, 302, 0, 0, 333, 334, 335, 319, 0, 206, + 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1356, 0, 0, 0, 0, 209, + 0, 0, 234, 0, 0, 0, 0, 0, 0, 294, + 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 133, 0, 0, 1357, 0, 0, 0, 190, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 193, 0, 0, + 764, 765, 766, 763, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 181, 299, 315, 191, 290, + 328, 196, 297, 186, 263, 286, 0, 0, 183, 313, + 296, 245, 228, 229, 182, 0, 281, 207, 220, 203, + 261, 0, 312, 340, 202, 331, 0, 323, 185, 0, + 322, 260, 309, 314, 246, 240, 184, 311, 244, 239, + 232, 211, 0, 224, 272, 238, 273, 225, 250, 249, + 251, 0, 0, 0, 0, 0, 351, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 325, 0, 0, 0, 0, 0, 0, + 298, 0, 0, 233, 0, 0, 0, 341, 0, 284, + 266, 0, 0, 0, 282, 236, 310, 274, 316, 300, + 324, 278, 275, 176, 301, 205, 247, 187, 189, 201, + 208, 210, 212, 213, 256, 257, 269, 289, 303, 304, + 305, 204, 197, 283, 198, 222, 199, 177, 291, 200, + 179, 270, 308, 0, 218, 279, 243, 180, 242, 271, + 307, 306, 188, 332, 338, 339, 343, 0, 344, 0, + 0, 0, 352, 0, 0, 0, 0, 0, 346, 0, + 0, 0, 0, 0, 0, 337, 216, 173, 174, 320, + 1161, 262, 0, 0, 0, 0, 0, 0, 0, 0, + 258, 336, 0, 0, 0, 0, 287, 0, 0, 0, + 0, 0, 227, 268, 0, 288, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 295, 318, + 330, 347, 350, 0, 0, 0, 178, 349, 0, 0, + 0, 0, 0, 0, 0, 321, 0, 0, 0, 329, + 0, 0, 0, 0, 0, 345, 252, 253, 254, 255, + 219, 0, 195, 348, 277, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 342, 215, 221, 0, 223, 194, 267, 217, 327, + 230, 0, 0, 0, 259, 226, 292, 231, 237, 280, + 326, 265, 285, 192, 317, 293, 241, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1157, 0, 0, 1154, 0, + 0, 0, 1156, 1153, 1155, 1159, 1160, 175, 0, 235, + 1158, 276, 214, 136, 137, 138, 139, 140, 141, 142, + 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 0, 158, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 302, 0, 0, 333, 334, 335, 319, 0, 206, 0, + 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 209, 645, + 0, 234, 0, 0, 0, 0, 0, 0, 294, 248, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, + 653, 654, 0, 0, 0, 0, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 657, 0, 0, 1142, + 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, + 1164, 1165, 1166, 1167, 1168, 1169, 1162, 1163, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 181, 299, 315, 191, 290, 328, + 196, 297, 186, 263, 286, 0, 0, 183, 313, 296, + 245, 228, 229, 182, 0, 281, 207, 220, 203, 261, + 0, 312, 340, 202, 331, 631, 323, 185, 630, 322, + 260, 309, 314, 246, 240, 184, 311, 244, 239, 232, + 211, 0, 224, 272, 238, 273, 225, 250, 249, 251, + 0, 0, 0, 0, 0, 351, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 325, 0, 0, 0, 0, 0, 0, 298, + 0, 0, 233, 0, 0, 0, 341, 0, 284, 266, + 0, 0, 0, 282, 236, 310, 274, 316, 300, 324, + 643, 275, 176, 301, 205, 247, 187, 189, 201, 208, + 210, 212, 213, 256, 257, 269, 289, 303, 304, 305, + 204, 197, 283, 198, 222, 199, 177, 291, 200, 179, + 270, 308, 0, 218, 279, 243, 180, 242, 271, 307, + 306, 188, 332, 338, 339, 343, 0, 344, 0, 0, + 0, 352, 0, 0, 0, 0, 0, 346, 0, 0, + 0, 0, 0, 0, 337, 216, 173, 174, 320, 0, + 262, 0, 0, 0, 0, 0, 0, 0, 0, 258, + 336, 0, 0, 0, 0, 287, 0, 0, 0, 0, + 0, 227, 268, 0, 288, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 295, 318, 330, + 347, 350, 0, 0, 0, 178, 349, 0, 0, 0, + 0, 0, 0, 644, 321, 0, 0, 0, 329, 0, + 0, 0, 0, 0, 647, 252, 253, 254, 255, 219, + 0, 195, 348, 277, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 342, 215, 221, 0, 223, 194, 267, 217, 327, 230, + 0, 0, 0, 655, 650, 651, 231, 237, 280, 326, + 265, 285, 192, 317, 293, 652, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 175, 0, 235, 0, + 276, 214, 136, 137, 138, 139, 140, 141, 142, 143, + 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, + 154, 155, 156, 157, 0, 158, 159, 160, 161, 162, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 126, + 302, 0, 333, 334, 335, 319, 0, 206, 0, 0, + 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 209, 0, + 0, 234, 0, 0, 0, 0, 0, 0, 294, 248, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 123, 1377, 0, 133, + 0, 0, 0, 0, 0, 0, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 193, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 181, 299, 315, 191, 290, 328, + 196, 297, 186, 263, 286, 0, 0, 183, 313, 296, + 245, 228, 229, 182, 0, 281, 207, 220, 203, 261, + 0, 312, 340, 202, 331, 0, 323, 185, 0, 322, + 260, 309, 314, 246, 240, 184, 311, 244, 239, 232, + 211, 0, 224, 272, 238, 273, 225, 250, 249, 251, + 0, 0, 0, 0, 0, 351, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 325, 0, 0, 0, 0, 0, 0, 298, + 0, 0, 233, 0, 0, 0, 341, 0, 284, 266, + 0, 0, 0, 282, 236, 310, 274, 316, 300, 324, + 278, 275, 176, 301, 205, 247, 187, 189, 201, 208, + 210, 212, 213, 256, 257, 269, 289, 303, 304, 305, + 204, 197, 283, 198, 222, 199, 177, 291, 200, 179, + 270, 308, 0, 218, 279, 243, 180, 242, 271, 307, + 306, 188, 332, 338, 339, 343, 0, 344, 0, 0, + 0, 352, 0, 0, 0, 0, 0, 346, 0, 0, + 0, 0, 0, 0, 337, 216, 173, 174, 320, 0, + 262, 0, 0, 0, 0, 0, 0, 0, 0, 258, + 336, 0, 0, 0, 0, 287, 0, 0, 0, 0, + 0, 227, 268, 0, 288, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 295, 318, 330, + 347, 350, 0, 0, 0, 178, 349, 0, 0, 0, + 0, 0, 0, 0, 321, 0, 0, 0, 329, 0, + 0, 0, 0, 0, 345, 252, 253, 254, 255, 219, + 0, 195, 348, 277, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 342, 215, 221, 0, 223, 194, 267, 217, 327, 230, + 0, 0, 0, 259, 226, 292, 231, 237, 280, 326, + 265, 285, 192, 317, 293, 241, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 175, 0, 235, 97, + 276, 214, 136, 137, 138, 139, 140, 141, 142, 143, + 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, + 154, 155, 156, 157, 0, 158, 159, 160, 161, 162, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 126, + 302, 0, 333, 334, 335, 319, 0, 206, 0, 0, + 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 209, 0, + 0, 234, 0, 0, 0, 0, 0, 0, 294, 248, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 123, 1368, 0, 133, + 0, 0, 0, 0, 0, 0, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 193, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 181, 299, 315, 191, 290, 328, + 196, 297, 186, 263, 286, 0, 0, 183, 313, 296, + 245, 228, 229, 182, 0, 281, 207, 220, 203, 261, + 0, 312, 340, 202, 331, 0, 323, 185, 0, 322, + 260, 309, 314, 246, 240, 184, 311, 244, 239, 232, + 211, 0, 224, 272, 238, 273, 225, 250, 249, 251, + 0, 0, 0, 0, 0, 351, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 325, 0, 0, 0, 0, 0, 0, 298, + 0, 0, 233, 0, 0, 0, 341, 0, 284, 266, + 0, 0, 0, 282, 236, 310, 274, 316, 300, 324, + 278, 275, 176, 301, 205, 247, 187, 189, 201, 208, + 210, 212, 213, 256, 257, 269, 289, 303, 304, 305, + 204, 197, 283, 198, 222, 199, 177, 291, 200, 179, + 270, 308, 0, 218, 279, 243, 180, 242, 271, 307, + 306, 188, 332, 338, 339, 343, 0, 344, 0, 0, + 0, 352, 0, 0, 0, 0, 0, 346, 0, 0, + 0, 0, 0, 0, 337, 216, 173, 174, 320, 0, + 262, 0, 0, 0, 0, 0, 0, 0, 0, 258, + 336, 0, 0, 0, 0, 287, 0, 0, 0, 0, + 0, 227, 268, 0, 288, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 295, 318, 330, + 347, 350, 0, 0, 0, 178, 349, 0, 0, 0, + 0, 0, 0, 0, 321, 0, 0, 0, 329, 0, + 0, 0, 0, 0, 345, 252, 253, 254, 255, 219, + 0, 195, 348, 277, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 342, 215, 221, 0, 223, 194, 267, 217, 327, 230, + 0, 0, 0, 259, 226, 292, 231, 237, 280, 326, + 265, 285, 192, 317, 293, 241, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 175, 0, 235, 97, + 276, 214, 136, 137, 138, 139, 140, 141, 142, 143, + 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, + 154, 155, 156, 157, 0, 158, 159, 160, 161, 162, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 302, + 0, 0, 333, 334, 335, 319, 0, 206, 0, 0, + 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 209, 0, 0, + 234, 0, 0, 0, 0, 0, 0, 294, 248, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 133, 653, + 654, 0, 0, 0, 0, 190, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 657, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 181, 299, 315, 191, 290, 328, 196, + 297, 186, 263, 286, 0, 0, 183, 313, 296, 245, + 228, 229, 182, 0, 281, 207, 220, 203, 261, 0, + 312, 340, 202, 331, 631, 323, 185, 630, 322, 260, + 309, 314, 246, 240, 184, 311, 244, 239, 232, 211, + 0, 224, 272, 238, 273, 225, 250, 249, 251, 0, + 0, 0, 0, 0, 351, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 325, 0, 0, 0, 0, 0, 0, 298, 0, + 0, 233, 0, 0, 0, 341, 0, 284, 266, 0, + 0, 0, 282, 236, 310, 274, 316, 300, 324, 278, + 275, 176, 301, 205, 247, 187, 189, 201, 208, 210, + 212, 213, 256, 257, 269, 289, 303, 304, 305, 204, + 197, 283, 198, 222, 199, 177, 291, 200, 179, 270, + 308, 0, 218, 279, 243, 180, 242, 271, 307, 306, + 188, 332, 338, 339, 343, 0, 344, 0, 0, 0, + 352, 0, 0, 0, 0, 0, 346, 0, 0, 0, + 0, 0, 0, 337, 216, 173, 174, 320, 0, 262, + 0, 0, 0, 0, 0, 0, 0, 0, 258, 336, + 0, 0, 0, 0, 287, 0, 0, 0, 0, 0, + 227, 268, 0, 288, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 295, 318, 330, 347, + 350, 0, 0, 0, 178, 349, 0, 0, 0, 0, + 0, 0, 0, 321, 0, 0, 0, 329, 0, 0, + 0, 0, 0, 345, 252, 253, 254, 255, 219, 0, + 195, 348, 277, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 342, + 215, 221, 0, 223, 194, 267, 217, 327, 230, 0, + 0, 0, 655, 650, 651, 231, 237, 280, 326, 265, + 285, 192, 317, 293, 652, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 175, 0, 235, 0, 276, + 214, 136, 137, 138, 139, 140, 141, 142, 143, 144, + 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 0, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 126, 302, + 0, 333, 334, 335, 319, 0, 206, 0, 0, 0, + 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 209, 0, 0, + 234, 0, 0, 0, 0, 0, 0, 294, 248, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1310, 0, 0, 133, 0, + 0, 0, 0, 0, 0, 190, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 193, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 181, 299, 315, 191, 290, 328, 196, + 297, 186, 263, 286, 0, 0, 183, 313, 296, 245, + 228, 229, 182, 0, 281, 207, 220, 203, 261, 0, + 312, 340, 202, 331, 0, 323, 185, 0, 322, 260, + 309, 314, 246, 240, 184, 311, 244, 239, 232, 211, + 0, 224, 272, 238, 273, 225, 250, 249, 251, 0, + 0, 0, 0, 0, 351, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 325, 0, 0, 0, 0, 0, 0, 298, 0, + 0, 233, 0, 0, 0, 341, 0, 284, 266, 0, + 0, 0, 282, 236, 310, 274, 316, 300, 324, 278, + 275, 176, 301, 205, 247, 187, 189, 201, 208, 210, + 212, 213, 256, 257, 269, 289, 303, 304, 305, 204, + 197, 283, 198, 222, 199, 177, 291, 200, 179, 270, + 308, 0, 218, 279, 243, 180, 242, 271, 307, 306, + 188, 332, 338, 339, 343, 0, 344, 0, 0, 0, + 352, 0, 0, 0, 0, 0, 346, 0, 0, 0, + 0, 0, 0, 337, 216, 173, 174, 320, 0, 262, + 0, 0, 0, 0, 0, 0, 0, 0, 258, 336, + 0, 0, 0, 0, 287, 0, 0, 0, 0, 0, + 227, 268, 0, 288, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 295, 318, 330, 347, + 350, 0, 0, 0, 178, 349, 0, 0, 0, 0, + 0, 0, 0, 321, 0, 0, 0, 329, 0, 0, + 0, 0, 0, 345, 252, 253, 254, 255, 219, 0, + 195, 348, 277, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 342, + 215, 221, 0, 223, 194, 267, 217, 327, 230, 0, + 0, 0, 259, 226, 292, 231, 237, 280, 326, 265, + 285, 192, 317, 293, 241, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 175, 0, 235, 97, 276, + 214, 136, 137, 138, 139, 140, 141, 142, 143, 144, + 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 0, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 302, 0, + 0, 333, 334, 335, 319, 0, 206, 0, 0, 264, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 209, 1005, 0, 234, + 0, 0, 0, 0, 0, 0, 294, 248, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, + 1003, 0, 0, 0, 190, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1001, 0, 0, + 0, 0, 181, 299, 315, 191, 290, 328, 196, 297, + 186, 263, 286, 0, 0, 183, 313, 296, 245, 228, + 229, 182, 0, 281, 207, 220, 203, 261, 0, 312, + 340, 202, 331, 0, 323, 185, 0, 322, 260, 309, + 314, 246, 240, 184, 311, 244, 239, 232, 211, 0, + 224, 272, 238, 273, 225, 250, 249, 251, 0, 0, + 0, 0, 0, 351, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 325, 0, 0, 0, 0, 0, 0, 298, 0, 0, + 233, 0, 0, 0, 341, 0, 284, 266, 0, 0, + 0, 282, 236, 310, 274, 316, 300, 324, 278, 275, + 176, 301, 205, 247, 187, 189, 201, 208, 210, 212, + 213, 256, 257, 269, 289, 303, 304, 305, 204, 197, + 283, 198, 222, 199, 177, 291, 200, 179, 270, 308, + 0, 218, 279, 243, 180, 242, 271, 307, 306, 188, + 332, 338, 339, 343, 0, 344, 0, 0, 0, 352, + 0, 0, 0, 0, 0, 346, 0, 0, 0, 0, + 0, 0, 337, 216, 173, 174, 320, 0, 262, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 336, 0, + 0, 0, 0, 287, 0, 0, 0, 0, 0, 227, + 268, 0, 288, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 295, 318, 330, 347, 350, + 0, 0, 0, 178, 349, 0, 0, 0, 0, 0, + 0, 0, 321, 0, 0, 0, 329, 0, 0, 0, + 0, 0, 345, 252, 253, 254, 255, 219, 0, 195, + 348, 277, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 342, 215, + 221, 0, 223, 194, 267, 217, 327, 230, 0, 0, + 0, 259, 226, 292, 231, 237, 280, 326, 265, 285, + 192, 317, 293, 241, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 175, 0, 235, 0, 276, 214, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, - 146, 147, 148, 149, 150, 151, 152, 153, 0, 154, - 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 298, 0, 0, 329, 330, 331, 315, - 0, 202, 0, 0, 260, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 205, 0, 0, 230, 0, 0, 0, 0, 0, - 0, 290, 244, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 129, 0, 0, 989, 0, 0, 0, 186, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 987, 0, 0, 0, 0, 177, 295, 311, - 187, 286, 324, 192, 293, 182, 259, 282, 0, 0, - 179, 309, 292, 241, 224, 225, 178, 0, 277, 203, - 216, 199, 257, 0, 308, 336, 198, 327, 0, 319, - 181, 0, 318, 256, 305, 310, 242, 236, 180, 307, - 240, 235, 228, 207, 0, 220, 268, 234, 269, 221, - 246, 245, 247, 0, 0, 0, 0, 0, 347, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, - 0, 294, 0, 0, 229, 0, 0, 0, 337, 0, - 280, 262, 0, 0, 0, 278, 232, 306, 270, 312, - 296, 320, 274, 271, 172, 297, 201, 243, 183, 185, - 197, 204, 206, 208, 209, 252, 253, 265, 285, 299, - 300, 301, 200, 193, 279, 194, 218, 195, 173, 287, - 196, 175, 266, 304, 0, 214, 275, 239, 176, 238, - 267, 303, 302, 184, 328, 334, 335, 339, 0, 340, - 0, 0, 0, 0, 0, 0, 0, 0, 342, 0, - 0, 0, 0, 0, 0, 333, 212, 169, 170, 316, - 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, - 254, 332, 0, 0, 0, 0, 283, 0, 0, 0, - 0, 0, 223, 264, 0, 284, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 291, 314, - 326, 343, 346, 0, 0, 0, 174, 345, 0, 0, - 0, 0, 0, 0, 0, 317, 0, 0, 0, 325, - 0, 0, 0, 0, 0, 341, 248, 249, 250, 251, - 215, 0, 191, 344, 273, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 338, 211, 217, 0, 219, 190, 263, 213, 323, - 226, 0, 0, 0, 255, 222, 288, 227, 233, 276, - 322, 261, 281, 188, 313, 289, 237, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 171, 0, 231, - 0, 272, 210, 132, 133, 134, 135, 136, 137, 138, + 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 0, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 302, 0, 0, + 333, 334, 335, 319, 0, 206, 0, 0, 264, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 209, 999, 0, 234, 0, + 0, 0, 0, 0, 0, 294, 248, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 133, 0, 0, 1003, + 0, 0, 0, 190, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 193, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1001, 0, 0, 0, + 0, 181, 299, 315, 191, 290, 328, 196, 297, 186, + 263, 286, 0, 0, 183, 313, 296, 245, 228, 229, + 182, 0, 281, 207, 220, 203, 261, 0, 312, 340, + 202, 331, 0, 323, 185, 0, 322, 260, 309, 314, + 246, 240, 184, 311, 244, 239, 232, 211, 0, 224, + 272, 238, 273, 225, 250, 249, 251, 0, 0, 0, + 0, 0, 351, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, + 0, 0, 0, 0, 0, 0, 298, 0, 0, 233, + 0, 0, 0, 341, 0, 284, 266, 0, 0, 0, + 282, 236, 310, 274, 316, 300, 324, 278, 275, 176, + 301, 205, 247, 187, 189, 201, 208, 210, 212, 213, + 256, 257, 269, 289, 303, 304, 305, 204, 197, 283, + 198, 222, 199, 177, 291, 200, 179, 270, 308, 0, + 218, 279, 243, 180, 242, 271, 307, 306, 188, 332, + 338, 339, 343, 0, 344, 0, 0, 0, 352, 0, + 0, 0, 0, 0, 346, 0, 0, 0, 0, 0, + 0, 337, 216, 173, 174, 320, 0, 262, 0, 0, + 0, 0, 0, 0, 0, 0, 258, 336, 0, 0, + 0, 0, 287, 0, 0, 0, 0, 0, 227, 268, + 0, 288, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 295, 318, 330, 347, 350, 0, + 0, 0, 178, 349, 0, 0, 0, 0, 0, 0, + 0, 321, 0, 0, 0, 329, 0, 0, 0, 0, + 0, 345, 252, 253, 254, 255, 219, 0, 195, 348, + 277, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 342, 215, 221, + 0, 223, 194, 267, 217, 327, 230, 0, 0, 0, + 259, 226, 292, 231, 237, 280, 326, 265, 285, 192, + 317, 293, 241, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 172, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 175, 0, 235, 0, 276, 214, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, + 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 0, 158, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 302, 0, 0, 333, + 334, 335, 319, 0, 206, 0, 0, 264, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 209, 0, 0, 234, 0, 0, + 0, 0, 0, 0, 294, 248, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2623, 0, 133, 506, 0, 0, 0, + 0, 0, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 193, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 181, 299, 315, 191, 290, 328, 196, 297, 186, 263, + 286, 0, 0, 183, 313, 296, 245, 228, 229, 182, + 0, 281, 207, 220, 203, 261, 0, 312, 340, 202, + 331, 0, 323, 185, 0, 322, 260, 309, 314, 246, + 240, 184, 311, 244, 239, 232, 211, 0, 224, 272, + 238, 273, 225, 250, 249, 251, 0, 0, 0, 0, + 0, 351, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 325, 0, + 0, 0, 0, 0, 0, 298, 0, 0, 233, 0, + 0, 0, 341, 0, 284, 266, 0, 0, 0, 282, + 236, 310, 274, 316, 300, 324, 278, 275, 176, 301, + 205, 247, 187, 189, 201, 208, 210, 212, 213, 256, + 257, 269, 289, 303, 304, 305, 204, 197, 283, 198, + 222, 199, 177, 291, 200, 179, 270, 308, 0, 218, + 279, 243, 180, 242, 271, 307, 306, 188, 332, 338, + 339, 343, 0, 344, 0, 0, 0, 352, 0, 0, + 0, 0, 0, 346, 0, 0, 0, 0, 0, 0, + 337, 216, 173, 174, 320, 0, 262, 0, 0, 0, + 0, 0, 0, 0, 0, 258, 336, 0, 0, 0, + 0, 287, 0, 0, 0, 0, 0, 227, 268, 0, + 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 295, 318, 330, 347, 350, 0, 0, + 0, 178, 349, 0, 0, 0, 0, 0, 0, 0, + 321, 0, 0, 0, 329, 0, 0, 0, 0, 0, + 345, 252, 253, 254, 255, 219, 0, 195, 348, 277, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 342, 215, 221, 0, + 223, 194, 267, 217, 327, 230, 0, 0, 0, 259, + 226, 292, 231, 237, 280, 326, 265, 285, 192, 317, + 293, 241, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 172, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 175, 0, 235, 0, 276, 214, 136, 137, + 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, + 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, + 0, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 302, 0, 0, 333, 334, + 335, 319, 0, 206, 0, 0, 264, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 209, 0, 0, 234, 0, 0, 0, + 0, 0, 0, 294, 248, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 133, 0, 0, 1003, 0, 0, + 0, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1001, 0, 0, 0, 0, 181, + 299, 315, 191, 290, 328, 196, 297, 186, 263, 286, + 0, 0, 183, 313, 296, 245, 228, 229, 182, 0, + 281, 207, 220, 203, 261, 0, 312, 340, 202, 331, + 0, 323, 185, 0, 322, 260, 309, 314, 246, 240, + 184, 311, 244, 239, 232, 211, 0, 224, 272, 238, + 273, 225, 250, 249, 251, 0, 0, 0, 0, 0, + 351, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 325, 0, 0, + 0, 0, 0, 0, 298, 0, 0, 233, 0, 0, + 0, 341, 0, 284, 266, 0, 0, 0, 282, 236, + 310, 274, 316, 300, 324, 278, 275, 176, 301, 205, + 247, 187, 189, 201, 208, 210, 212, 213, 256, 257, + 269, 289, 303, 304, 305, 204, 197, 283, 198, 222, + 199, 177, 291, 200, 179, 270, 308, 0, 218, 279, + 243, 180, 242, 271, 307, 306, 188, 332, 338, 339, + 343, 0, 344, 0, 0, 0, 352, 0, 0, 0, + 0, 0, 346, 0, 0, 0, 0, 0, 0, 337, + 216, 173, 174, 320, 0, 262, 0, 0, 0, 0, + 0, 0, 0, 0, 258, 336, 0, 0, 0, 0, + 287, 0, 0, 0, 0, 0, 227, 268, 0, 288, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 295, 318, 330, 347, 350, 0, 0, 0, + 178, 349, 0, 0, 0, 0, 0, 0, 0, 321, + 0, 0, 0, 329, 0, 0, 0, 0, 0, 345, + 252, 253, 254, 255, 219, 0, 195, 348, 277, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 342, 215, 221, 0, 223, + 194, 267, 217, 327, 230, 0, 0, 0, 259, 226, + 292, 231, 237, 280, 326, 265, 285, 192, 317, 293, + 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 172, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 175, 0, 235, 0, 276, 214, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, - 149, 150, 151, 152, 153, 0, 154, 155, 156, 157, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 0, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 298, 0, 0, 329, 330, 331, 315, 0, 202, 0, - 0, 260, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 205, 0, - 0, 230, 0, 0, 0, 0, 0, 0, 290, 244, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, - 0, 0, 989, 0, 0, 0, 186, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 189, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2186, - 0, 0, 0, 0, 177, 295, 311, 187, 286, 324, - 192, 293, 182, 259, 282, 0, 0, 179, 309, 292, - 241, 224, 225, 178, 0, 277, 203, 216, 199, 257, - 0, 308, 336, 198, 327, 0, 319, 181, 0, 318, - 256, 305, 310, 242, 236, 180, 307, 240, 235, 228, - 207, 0, 220, 268, 234, 269, 221, 246, 245, 247, - 0, 0, 0, 0, 0, 347, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 321, 0, 0, 0, 0, 0, 0, 294, 0, - 0, 229, 0, 0, 0, 337, 0, 280, 262, 0, - 0, 0, 278, 232, 306, 270, 312, 296, 320, 274, - 271, 172, 297, 201, 243, 183, 185, 197, 204, 206, - 208, 209, 252, 253, 265, 285, 299, 300, 301, 200, - 193, 279, 194, 218, 195, 173, 287, 196, 175, 266, - 304, 0, 214, 275, 239, 176, 238, 267, 303, 302, - 184, 328, 334, 335, 339, 0, 340, 0, 0, 0, - 0, 0, 0, 0, 0, 342, 0, 0, 0, 0, - 0, 0, 333, 212, 169, 170, 316, 0, 258, 0, - 0, 0, 0, 0, 0, 0, 0, 254, 332, 0, - 0, 0, 0, 283, 0, 0, 0, 0, 0, 223, - 264, 0, 284, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 291, 314, 326, 343, 346, - 0, 0, 0, 174, 345, 0, 0, 0, 0, 0, - 0, 0, 317, 0, 0, 0, 325, 0, 0, 0, - 0, 0, 341, 248, 249, 250, 251, 215, 0, 191, - 344, 273, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 338, 211, - 217, 0, 219, 190, 263, 213, 323, 226, 0, 0, - 0, 255, 222, 288, 227, 233, 276, 322, 261, 281, - 188, 313, 289, 237, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 171, 0, 231, 0, 272, 210, - 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, - 152, 153, 0, 154, 155, 156, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 298, 0, 0, - 329, 330, 331, 315, 0, 202, 0, 0, 260, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 205, 1735, 0, 230, 0, - 0, 0, 0, 0, 0, 290, 244, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 129, 0, 0, 989, - 0, 0, 0, 186, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 189, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 177, 295, 311, 187, 286, 324, 192, 293, 182, - 259, 282, 0, 0, 179, 309, 292, 241, 224, 225, - 178, 0, 277, 203, 216, 199, 257, 0, 308, 336, - 198, 327, 0, 319, 181, 0, 318, 256, 305, 310, - 242, 236, 180, 307, 240, 235, 228, 207, 0, 220, - 268, 234, 269, 221, 246, 245, 247, 0, 0, 0, - 0, 0, 347, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, - 0, 0, 0, 0, 0, 294, 0, 0, 229, 0, - 0, 0, 337, 0, 280, 262, 0, 0, 0, 278, - 232, 306, 270, 312, 296, 320, 274, 271, 172, 297, - 201, 243, 183, 185, 197, 204, 206, 208, 209, 252, - 253, 265, 285, 299, 300, 301, 200, 193, 279, 194, - 218, 195, 173, 287, 196, 175, 266, 304, 0, 214, - 275, 239, 176, 238, 267, 303, 302, 184, 328, 334, - 335, 339, 0, 340, 0, 0, 0, 0, 0, 0, - 0, 0, 342, 0, 0, 0, 0, 0, 0, 333, - 212, 169, 170, 316, 0, 258, 0, 0, 0, 0, - 0, 0, 0, 0, 254, 332, 0, 0, 0, 0, - 283, 0, 0, 0, 0, 0, 223, 264, 0, 284, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 291, 314, 326, 343, 346, 0, 0, 0, - 174, 345, 0, 0, 0, 0, 0, 0, 0, 317, - 0, 0, 0, 325, 0, 0, 0, 0, 0, 341, - 248, 249, 250, 251, 215, 0, 191, 344, 273, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 338, 211, 217, 0, 219, - 190, 263, 213, 323, 226, 0, 0, 0, 255, 222, - 288, 227, 233, 276, 322, 261, 281, 188, 313, 289, - 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 168, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 171, 0, 231, 0, 272, 210, 132, 133, 134, - 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 153, 0, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 298, 0, 0, 329, 330, 331, - 315, 0, 202, 0, 0, 260, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 205, 0, 0, 230, 0, 0, 0, 0, - 0, 0, 290, 244, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2654, 0, 129, 0, 0, 0, 0, 0, 0, - 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 177, 295, - 311, 187, 286, 324, 192, 293, 182, 259, 282, 0, - 0, 179, 309, 292, 241, 224, 225, 178, 0, 277, - 203, 216, 199, 257, 0, 308, 336, 198, 327, 0, - 319, 181, 0, 318, 256, 305, 310, 242, 236, 180, - 307, 240, 235, 228, 207, 0, 220, 268, 234, 269, - 221, 246, 245, 247, 0, 0, 0, 0, 0, 347, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, - 0, 0, 294, 0, 0, 229, 0, 0, 0, 337, - 0, 280, 262, 0, 0, 0, 278, 232, 306, 270, - 312, 296, 320, 274, 271, 172, 297, 201, 243, 183, - 185, 197, 204, 206, 208, 209, 252, 253, 265, 285, - 299, 300, 301, 200, 193, 279, 194, 218, 195, 173, - 287, 196, 175, 266, 304, 0, 214, 275, 239, 176, - 238, 267, 303, 302, 184, 328, 334, 335, 339, 0, - 340, 0, 0, 0, 0, 0, 0, 0, 0, 342, - 0, 0, 0, 0, 0, 0, 333, 212, 169, 170, - 316, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 254, 332, 0, 0, 0, 0, 283, 0, 0, - 0, 0, 0, 223, 264, 0, 284, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 291, - 314, 326, 343, 346, 0, 0, 0, 174, 345, 0, - 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, - 325, 0, 0, 0, 0, 0, 341, 248, 249, 250, - 251, 215, 0, 191, 344, 273, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 338, 211, 217, 0, 219, 190, 263, 213, - 323, 226, 0, 0, 0, 255, 222, 288, 227, 233, - 276, 322, 261, 281, 188, 313, 289, 237, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 168, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 171, 0, - 231, 0, 272, 210, 132, 133, 134, 135, 136, 137, - 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, - 148, 149, 150, 151, 152, 153, 0, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 298, 0, 0, 329, 330, 331, 315, 0, 202, - 0, 0, 260, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, - 0, 0, 230, 0, 0, 0, 0, 0, 0, 290, - 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 129, 499, 0, 0, 0, 0, 0, 186, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 189, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 177, 295, 311, 187, 286, - 324, 192, 293, 182, 259, 282, 0, 0, 179, 309, - 292, 241, 224, 225, 178, 0, 277, 203, 216, 199, - 257, 0, 308, 336, 198, 327, 0, 319, 181, 0, - 318, 256, 305, 310, 242, 236, 180, 307, 240, 235, - 228, 207, 0, 220, 268, 234, 269, 221, 246, 245, - 247, 0, 0, 0, 0, 0, 347, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 321, 0, 0, 0, 0, 0, 0, 294, - 0, 0, 229, 0, 0, 0, 337, 0, 280, 262, - 0, 0, 0, 278, 232, 306, 270, 312, 296, 320, - 274, 271, 172, 297, 201, 243, 183, 185, 197, 204, - 206, 208, 209, 252, 253, 265, 285, 299, 300, 301, - 200, 193, 279, 194, 218, 195, 173, 287, 196, 175, - 266, 304, 0, 214, 275, 239, 176, 238, 267, 303, - 302, 184, 328, 334, 335, 339, 0, 340, 0, 0, - 0, 0, 0, 0, 0, 0, 342, 0, 0, 0, - 0, 0, 0, 333, 212, 169, 170, 316, 0, 258, - 0, 0, 0, 0, 0, 0, 0, 0, 254, 332, - 0, 0, 0, 0, 283, 0, 0, 0, 0, 0, - 223, 264, 0, 284, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 291, 314, 326, 343, - 346, 0, 0, 0, 174, 345, 0, 0, 0, 0, - 0, 0, 0, 317, 0, 0, 0, 325, 0, 0, - 0, 0, 0, 341, 248, 249, 250, 251, 215, 0, - 191, 344, 273, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 338, - 211, 217, 0, 219, 190, 263, 213, 323, 226, 0, - 0, 0, 255, 222, 288, 227, 233, 276, 322, 261, - 281, 188, 313, 289, 237, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 168, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 171, 0, 231, 0, 272, - 210, 132, 133, 134, 135, 136, 137, 138, 139, 140, - 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, - 151, 152, 153, 0, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 298, 0, - 0, 329, 330, 331, 315, 0, 202, 0, 0, 260, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 205, 0, 0, 230, - 0, 0, 0, 0, 0, 0, 290, 244, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2563, 0, 0, 129, 0, 0, - 0, 0, 0, 0, 186, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 189, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 177, 295, 311, 187, 286, 324, 192, 293, - 182, 259, 282, 0, 0, 179, 309, 292, 241, 224, - 225, 178, 0, 277, 203, 216, 199, 257, 0, 308, - 336, 198, 327, 0, 319, 181, 0, 318, 256, 305, - 310, 242, 236, 180, 307, 240, 235, 228, 207, 0, - 220, 268, 234, 269, 221, 246, 245, 247, 0, 0, - 0, 0, 0, 347, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, - 0, 0, 0, 0, 0, 0, 294, 0, 0, 229, - 0, 0, 0, 337, 0, 280, 262, 0, 0, 0, - 278, 232, 306, 270, 312, 296, 320, 274, 271, 172, - 297, 201, 243, 183, 185, 197, 204, 206, 208, 209, - 252, 253, 265, 285, 299, 300, 301, 200, 193, 279, - 194, 218, 195, 173, 287, 196, 175, 266, 304, 0, - 214, 275, 239, 176, 238, 267, 303, 302, 184, 328, - 334, 335, 339, 0, 340, 0, 0, 0, 0, 0, - 0, 0, 0, 342, 0, 0, 0, 0, 0, 0, - 333, 212, 169, 170, 316, 0, 258, 0, 0, 0, - 0, 0, 0, 0, 0, 254, 332, 0, 0, 0, - 0, 283, 0, 0, 0, 0, 0, 223, 264, 0, - 284, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 291, 314, 326, 343, 346, 0, 0, - 0, 174, 345, 0, 0, 0, 0, 0, 0, 0, - 317, 0, 0, 0, 325, 0, 0, 0, 0, 0, - 341, 248, 249, 250, 251, 215, 0, 191, 344, 273, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 338, 211, 217, 0, - 219, 190, 263, 213, 323, 226, 0, 0, 0, 255, - 222, 288, 227, 233, 276, 322, 261, 281, 188, 313, - 289, 237, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 168, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 171, 0, 231, 0, 272, 210, 132, 133, - 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, - 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, - 0, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 298, 0, 0, 329, 330, - 331, 315, 0, 202, 0, 0, 260, 0, 0, 0, + 168, 169, 170, 171, 302, 0, 0, 333, 334, 335, + 319, 0, 206, 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 205, 0, 0, 230, 0, 0, 0, - 0, 0, 0, 290, 244, 0, 0, 0, 0, 0, + 0, 0, 209, 0, 0, 234, 0, 0, 0, 0, + 0, 0, 294, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2298, 0, 0, 129, 0, 0, 0, 0, 0, - 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 189, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 133, 0, 0, 1003, 0, 0, 0, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, - 295, 311, 187, 286, 324, 192, 293, 182, 259, 282, - 0, 0, 179, 309, 292, 241, 224, 225, 178, 0, - 277, 203, 216, 199, 257, 0, 308, 336, 198, 327, - 0, 319, 181, 0, 318, 256, 305, 310, 242, 236, - 180, 307, 240, 235, 228, 207, 0, 220, 268, 234, - 269, 221, 246, 245, 247, 0, 0, 0, 0, 0, - 347, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, - 0, 0, 0, 294, 0, 0, 229, 0, 0, 0, - 337, 0, 280, 262, 0, 0, 0, 278, 232, 306, - 270, 312, 296, 320, 274, 271, 172, 297, 201, 243, - 183, 185, 197, 204, 206, 208, 209, 252, 253, 265, - 285, 299, 300, 301, 200, 193, 279, 194, 218, 195, - 173, 287, 196, 175, 266, 304, 0, 214, 275, 239, - 176, 238, 267, 303, 302, 184, 328, 334, 335, 339, - 0, 340, 0, 0, 0, 0, 0, 0, 0, 0, - 342, 0, 0, 0, 0, 0, 0, 333, 212, 169, - 170, 316, 0, 258, 0, 0, 0, 0, 0, 0, - 0, 0, 254, 332, 0, 0, 0, 0, 283, 0, - 0, 0, 0, 0, 223, 264, 0, 284, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 291, 314, 326, 343, 346, 0, 0, 0, 174, 345, - 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, - 0, 325, 0, 0, 0, 0, 0, 341, 248, 249, - 250, 251, 215, 0, 191, 344, 273, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 338, 211, 217, 0, 219, 190, 263, - 213, 323, 226, 0, 0, 0, 255, 222, 288, 227, - 233, 276, 322, 261, 281, 188, 313, 289, 237, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 168, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 171, - 0, 231, 0, 272, 210, 132, 133, 134, 135, 136, - 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, - 147, 148, 149, 150, 151, 152, 153, 0, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 298, 0, 0, 329, 330, 331, 315, 0, - 202, 0, 0, 260, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 205, 0, 0, 230, 0, 0, 0, 0, 0, 0, - 290, 244, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 129, 0, 0, 0, 0, 0, 0, 186, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 189, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 177, 295, 311, 187, - 286, 324, 192, 293, 182, 259, 282, 0, 0, 179, - 309, 292, 241, 224, 225, 178, 0, 277, 203, 216, - 199, 257, 0, 308, 336, 198, 327, 0, 319, 181, - 0, 318, 256, 305, 310, 242, 236, 180, 307, 240, - 235, 228, 207, 0, 220, 268, 234, 269, 221, 246, - 245, 247, 0, 0, 0, 0, 0, 347, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 321, 0, 0, 0, 2491, 0, 0, - 294, 0, 0, 229, 0, 0, 0, 337, 0, 280, - 262, 0, 0, 0, 278, 232, 306, 270, 312, 296, - 320, 274, 271, 172, 297, 201, 243, 183, 185, 197, - 204, 206, 208, 209, 252, 253, 265, 285, 299, 300, - 301, 200, 193, 279, 194, 218, 195, 173, 287, 196, - 175, 266, 304, 0, 214, 275, 239, 176, 238, 267, - 303, 302, 184, 328, 334, 335, 339, 0, 340, 0, - 0, 0, 0, 0, 0, 0, 0, 342, 0, 0, - 0, 0, 0, 0, 333, 212, 169, 170, 316, 0, - 258, 0, 0, 0, 0, 0, 0, 0, 0, 254, - 332, 0, 0, 0, 0, 283, 0, 0, 0, 0, - 0, 223, 264, 0, 284, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 291, 314, 326, - 343, 346, 0, 0, 0, 174, 345, 0, 0, 0, - 0, 0, 0, 0, 317, 0, 0, 0, 325, 0, - 0, 0, 0, 0, 341, 248, 249, 250, 251, 215, - 0, 191, 344, 273, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 338, 211, 217, 0, 219, 190, 263, 213, 323, 226, - 0, 0, 0, 255, 222, 288, 227, 233, 276, 322, - 261, 281, 188, 313, 289, 237, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 171, 0, 231, 0, - 272, 210, 132, 133, 134, 135, 136, 137, 138, 139, + 0, 0, 0, 2255, 0, 0, 0, 0, 181, 299, + 315, 191, 290, 328, 196, 297, 186, 263, 286, 0, + 0, 183, 313, 296, 245, 228, 229, 182, 0, 281, + 207, 220, 203, 261, 0, 312, 340, 202, 331, 0, + 323, 185, 0, 322, 260, 309, 314, 246, 240, 184, + 311, 244, 239, 232, 211, 0, 224, 272, 238, 273, + 225, 250, 249, 251, 0, 0, 0, 0, 0, 351, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 325, 0, 0, 0, + 0, 0, 0, 298, 0, 0, 233, 0, 0, 0, + 341, 0, 284, 266, 0, 0, 0, 282, 236, 310, + 274, 316, 300, 324, 278, 275, 176, 301, 205, 247, + 187, 189, 201, 208, 210, 212, 213, 256, 257, 269, + 289, 303, 304, 305, 204, 197, 283, 198, 222, 199, + 177, 291, 200, 179, 270, 308, 0, 218, 279, 243, + 180, 242, 271, 307, 306, 188, 332, 338, 339, 343, + 0, 344, 0, 0, 0, 352, 0, 0, 0, 0, + 0, 346, 0, 0, 0, 0, 0, 0, 337, 216, + 173, 174, 320, 0, 262, 0, 0, 0, 0, 0, + 0, 0, 0, 258, 336, 0, 0, 0, 0, 287, + 0, 0, 0, 0, 0, 227, 268, 0, 288, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 295, 318, 330, 347, 350, 0, 0, 0, 178, + 349, 0, 0, 0, 0, 0, 0, 0, 321, 0, + 0, 0, 329, 0, 0, 0, 0, 0, 345, 252, + 253, 254, 255, 219, 0, 195, 348, 277, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 342, 215, 221, 0, 223, 194, + 267, 217, 327, 230, 0, 0, 0, 259, 226, 292, + 231, 237, 280, 326, 265, 285, 192, 317, 293, 241, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 172, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 175, 0, 235, 0, 276, 214, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, - 150, 151, 152, 153, 0, 154, 155, 156, 157, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 298, - 0, 0, 329, 330, 331, 315, 0, 202, 0, 0, - 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 205, 0, 0, - 230, 0, 0, 0, 0, 0, 0, 290, 244, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, - 0, 0, 0, 0, 0, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 189, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 177, 295, 311, 187, 286, 324, 192, - 293, 182, 259, 282, 0, 0, 179, 309, 292, 241, - 224, 225, 178, 0, 277, 203, 216, 199, 257, 0, - 308, 336, 198, 327, 0, 319, 181, 0, 318, 256, - 305, 310, 242, 236, 180, 307, 240, 235, 228, 207, - 0, 220, 268, 234, 269, 221, 246, 245, 247, 0, - 0, 0, 0, 0, 347, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 321, 0, 0, 0, 2308, 0, 0, 294, 0, 0, - 229, 0, 0, 0, 337, 0, 280, 262, 0, 0, - 0, 278, 232, 306, 270, 312, 296, 320, 274, 271, - 172, 297, 201, 243, 183, 185, 197, 204, 206, 208, - 209, 252, 253, 265, 285, 299, 300, 301, 200, 193, - 279, 194, 218, 195, 173, 287, 196, 175, 266, 304, - 0, 214, 275, 239, 176, 238, 267, 303, 302, 184, - 328, 334, 335, 339, 0, 340, 0, 0, 0, 0, - 0, 0, 0, 0, 342, 0, 0, 0, 0, 0, - 0, 333, 212, 169, 170, 316, 0, 258, 0, 0, - 0, 0, 0, 0, 0, 0, 254, 332, 0, 0, - 0, 0, 283, 0, 0, 0, 0, 0, 223, 264, - 0, 284, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 291, 314, 326, 343, 346, 0, - 0, 0, 174, 345, 0, 0, 0, 0, 0, 0, - 0, 317, 0, 0, 0, 325, 0, 0, 0, 0, - 0, 341, 248, 249, 250, 251, 215, 0, 191, 344, - 273, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 338, 211, 217, - 0, 219, 190, 263, 213, 323, 226, 0, 0, 0, - 255, 222, 288, 227, 233, 276, 322, 261, 281, 188, - 313, 289, 237, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 168, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 171, 0, 231, 0, 272, 210, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, - 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, - 153, 0, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 298, 0, 0, 329, - 330, 331, 315, 0, 202, 0, 0, 260, 0, 0, + 150, 151, 152, 153, 154, 155, 156, 157, 0, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 302, 0, 0, 333, 334, 335, 319, + 0, 206, 0, 0, 264, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 209, 1791, 0, 234, 0, 0, 0, 0, 0, + 0, 294, 248, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 133, 0, 0, 1003, 0, 0, 0, 190, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 205, 0, 0, 230, 0, 0, - 0, 0, 0, 0, 290, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 129, 0, 0, 0, 0, - 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2089, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 181, 299, 315, + 191, 290, 328, 196, 297, 186, 263, 286, 0, 0, + 183, 313, 296, 245, 228, 229, 182, 0, 281, 207, + 220, 203, 261, 0, 312, 340, 202, 331, 0, 323, + 185, 0, 322, 260, 309, 314, 246, 240, 184, 311, + 244, 239, 232, 211, 0, 224, 272, 238, 273, 225, + 250, 249, 251, 0, 0, 0, 0, 0, 351, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 177, 295, 311, 187, 286, 324, 192, 293, 182, 259, - 282, 0, 0, 179, 309, 292, 241, 224, 225, 178, - 0, 277, 203, 216, 199, 257, 0, 308, 336, 198, - 327, 0, 319, 181, 0, 318, 256, 305, 310, 242, - 236, 180, 307, 240, 235, 228, 207, 0, 220, 268, - 234, 269, 221, 246, 245, 247, 0, 0, 0, 0, - 0, 347, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 325, 0, 0, 0, 0, + 0, 0, 298, 0, 0, 233, 0, 0, 0, 341, + 0, 284, 266, 0, 0, 0, 282, 236, 310, 274, + 316, 300, 324, 278, 275, 176, 301, 205, 247, 187, + 189, 201, 208, 210, 212, 213, 256, 257, 269, 289, + 303, 304, 305, 204, 197, 283, 198, 222, 199, 177, + 291, 200, 179, 270, 308, 0, 218, 279, 243, 180, + 242, 271, 307, 306, 188, 332, 338, 339, 343, 0, + 344, 0, 0, 0, 352, 0, 0, 0, 0, 0, + 346, 0, 0, 0, 0, 0, 0, 337, 216, 173, + 174, 320, 0, 262, 0, 0, 0, 0, 0, 0, + 0, 0, 258, 336, 0, 0, 0, 0, 287, 0, + 0, 0, 0, 0, 227, 268, 0, 288, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 295, 318, 330, 347, 350, 0, 0, 0, 178, 349, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, - 0, 0, 0, 0, 294, 0, 0, 229, 0, 0, - 0, 337, 0, 280, 262, 0, 0, 0, 278, 232, - 306, 270, 312, 296, 320, 274, 271, 172, 297, 201, - 243, 183, 185, 197, 204, 206, 208, 209, 252, 253, - 265, 285, 299, 300, 301, 200, 193, 279, 194, 218, - 195, 173, 287, 196, 175, 266, 304, 0, 214, 275, - 239, 176, 238, 267, 303, 302, 184, 328, 334, 335, - 339, 0, 340, 0, 0, 0, 0, 0, 0, 0, - 0, 342, 0, 0, 0, 0, 0, 0, 333, 212, - 169, 170, 316, 0, 258, 0, 0, 0, 0, 0, - 0, 0, 0, 254, 332, 0, 0, 0, 0, 283, - 0, 0, 0, 0, 0, 223, 264, 0, 284, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 291, 314, 326, 343, 346, 0, 0, 0, 174, - 345, 0, 0, 0, 0, 0, 0, 0, 317, 0, - 0, 0, 325, 0, 0, 0, 0, 0, 341, 248, - 249, 250, 251, 215, 0, 191, 344, 273, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 338, 211, 217, 0, 219, 190, - 263, 213, 323, 226, 0, 0, 0, 255, 222, 288, - 227, 233, 276, 322, 261, 281, 188, 313, 289, 237, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 168, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 171, 0, 231, 0, 272, 210, 132, 133, 134, 135, + 0, 329, 0, 0, 0, 0, 0, 345, 252, 253, + 254, 255, 219, 0, 195, 348, 277, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 342, 215, 221, 0, 223, 194, 267, + 217, 327, 230, 0, 0, 0, 259, 226, 292, 231, + 237, 280, 326, 265, 285, 192, 317, 293, 241, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 172, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, + 0, 235, 0, 276, 214, 136, 137, 138, 139, 140, + 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 0, 158, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 302, 0, 0, 333, 334, 335, 319, 0, + 206, 0, 0, 264, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 209, 0, 0, 234, 0, 0, 0, 0, 0, 0, + 294, 248, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2728, + 0, 133, 0, 0, 0, 0, 0, 0, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 193, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 181, 299, 315, 191, + 290, 328, 196, 297, 186, 263, 286, 0, 0, 183, + 313, 296, 245, 228, 229, 182, 0, 281, 207, 220, + 203, 261, 0, 312, 340, 202, 331, 0, 323, 185, + 0, 322, 260, 309, 314, 246, 240, 184, 311, 244, + 239, 232, 211, 0, 224, 272, 238, 273, 225, 250, + 249, 251, 0, 0, 0, 0, 0, 351, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 325, 0, 0, 0, 0, 0, + 0, 298, 0, 0, 233, 0, 0, 0, 341, 0, + 284, 266, 0, 0, 0, 282, 236, 310, 274, 316, + 300, 324, 278, 275, 176, 301, 205, 247, 187, 189, + 201, 208, 210, 212, 213, 256, 257, 269, 289, 303, + 304, 305, 204, 197, 283, 198, 222, 199, 177, 291, + 200, 179, 270, 308, 0, 218, 279, 243, 180, 242, + 271, 307, 306, 188, 332, 338, 339, 343, 0, 344, + 0, 0, 0, 352, 0, 0, 0, 0, 0, 346, + 0, 0, 0, 0, 0, 0, 337, 216, 173, 174, + 320, 0, 262, 0, 0, 0, 0, 0, 0, 0, + 0, 258, 336, 0, 0, 0, 0, 287, 0, 0, + 0, 0, 0, 227, 268, 0, 288, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, + 318, 330, 347, 350, 0, 0, 0, 178, 349, 0, + 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, + 329, 0, 0, 0, 0, 0, 345, 252, 253, 254, + 255, 219, 0, 195, 348, 277, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 342, 215, 221, 0, 223, 194, 267, 217, + 327, 230, 0, 0, 0, 259, 226, 292, 231, 237, + 280, 326, 265, 285, 192, 317, 293, 241, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 172, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 175, 0, + 235, 0, 276, 214, 136, 137, 138, 139, 140, 141, + 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, 0, 158, 159, 160, + 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, + 171, 302, 0, 0, 333, 334, 335, 319, 0, 206, + 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 209, + 0, 0, 234, 0, 0, 0, 0, 0, 0, 294, + 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 133, 506, 0, 0, 0, 0, 0, 190, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 193, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 181, 299, 315, 191, 290, + 328, 196, 297, 186, 263, 286, 0, 0, 183, 313, + 296, 245, 228, 229, 182, 0, 281, 207, 220, 203, + 261, 0, 312, 340, 202, 331, 0, 323, 185, 0, + 322, 260, 309, 314, 246, 240, 184, 311, 244, 239, + 232, 211, 0, 224, 272, 238, 273, 225, 250, 249, + 251, 0, 0, 0, 0, 0, 351, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 325, 0, 0, 0, 0, 0, 0, + 298, 0, 0, 233, 0, 0, 0, 341, 0, 284, + 266, 0, 0, 0, 282, 236, 310, 274, 316, 300, + 324, 278, 275, 176, 301, 205, 247, 187, 189, 201, + 208, 210, 212, 213, 256, 257, 269, 289, 303, 304, + 305, 204, 197, 283, 198, 222, 199, 177, 291, 200, + 179, 270, 308, 0, 218, 279, 243, 180, 242, 271, + 307, 306, 188, 332, 338, 339, 343, 0, 344, 0, + 0, 0, 352, 0, 0, 0, 0, 0, 346, 0, + 0, 0, 0, 0, 0, 337, 216, 173, 174, 320, + 0, 262, 0, 0, 0, 0, 0, 0, 0, 0, + 258, 336, 0, 0, 0, 0, 287, 0, 0, 0, + 0, 0, 227, 268, 0, 288, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 295, 318, + 330, 347, 350, 0, 0, 0, 178, 349, 0, 0, + 0, 0, 0, 0, 0, 321, 0, 0, 0, 329, + 0, 0, 0, 0, 0, 345, 252, 253, 254, 255, + 219, 0, 195, 348, 277, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 342, 215, 221, 0, 223, 194, 267, 217, 327, + 230, 0, 0, 0, 259, 226, 292, 231, 237, 280, + 326, 265, 285, 192, 317, 293, 241, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 175, 0, 235, + 0, 276, 214, 136, 137, 138, 139, 140, 141, 142, + 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 0, 158, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 302, 0, 0, 333, 334, 335, 319, 0, 206, 0, + 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 209, 0, + 0, 234, 0, 0, 0, 0, 0, 0, 294, 248, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2637, 0, 0, 133, + 0, 0, 0, 0, 0, 0, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 193, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 181, 299, 315, 191, 290, 328, + 196, 297, 186, 263, 286, 0, 0, 183, 313, 296, + 245, 228, 229, 182, 0, 281, 207, 220, 203, 261, + 0, 312, 340, 202, 331, 0, 323, 185, 0, 322, + 260, 309, 314, 246, 240, 184, 311, 244, 239, 232, + 211, 0, 224, 272, 238, 273, 225, 250, 249, 251, + 0, 0, 0, 0, 0, 351, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 325, 0, 0, 0, 0, 0, 0, 298, + 0, 0, 233, 0, 0, 0, 341, 0, 284, 266, + 0, 0, 0, 282, 236, 310, 274, 316, 300, 324, + 278, 275, 176, 301, 205, 247, 187, 189, 201, 208, + 210, 212, 213, 256, 257, 269, 289, 303, 304, 305, + 204, 197, 283, 198, 222, 199, 177, 291, 200, 179, + 270, 308, 0, 218, 279, 243, 180, 242, 271, 307, + 306, 188, 332, 338, 339, 343, 0, 344, 0, 0, + 0, 352, 0, 0, 0, 0, 0, 346, 0, 0, + 0, 0, 0, 0, 337, 216, 173, 174, 320, 0, + 262, 0, 0, 0, 0, 0, 0, 0, 0, 258, + 336, 0, 0, 0, 0, 287, 0, 0, 0, 0, + 0, 227, 268, 0, 288, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 295, 318, 330, + 347, 350, 0, 0, 0, 178, 349, 0, 0, 0, + 0, 0, 0, 0, 321, 0, 0, 0, 329, 0, + 0, 0, 0, 0, 345, 252, 253, 254, 255, 219, + 0, 195, 348, 277, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 342, 215, 221, 0, 223, 194, 267, 217, 327, 230, + 0, 0, 0, 259, 226, 292, 231, 237, 280, 326, + 265, 285, 192, 317, 293, 241, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 175, 0, 235, 0, + 276, 214, 136, 137, 138, 139, 140, 141, 142, 143, + 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, + 154, 155, 156, 157, 0, 158, 159, 160, 161, 162, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 302, + 0, 0, 333, 334, 335, 319, 0, 206, 0, 0, + 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 209, 0, 0, + 234, 0, 0, 0, 0, 0, 0, 294, 248, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2368, 0, 0, 133, 0, + 0, 0, 0, 0, 0, 190, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 193, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 181, 299, 315, 191, 290, 328, 196, + 297, 186, 263, 286, 0, 0, 183, 313, 296, 245, + 228, 229, 182, 0, 281, 207, 220, 203, 261, 0, + 312, 340, 202, 331, 0, 323, 185, 0, 322, 260, + 309, 314, 246, 240, 184, 311, 244, 239, 232, 211, + 0, 224, 272, 238, 273, 225, 250, 249, 251, 0, + 0, 0, 0, 0, 351, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 325, 0, 0, 0, 0, 0, 0, 298, 0, + 0, 233, 0, 0, 0, 341, 0, 284, 266, 0, + 0, 0, 282, 236, 310, 274, 316, 300, 324, 278, + 275, 176, 301, 205, 247, 187, 189, 201, 208, 210, + 212, 213, 256, 257, 269, 289, 303, 304, 305, 204, + 197, 283, 198, 222, 199, 177, 291, 200, 179, 270, + 308, 0, 218, 279, 243, 180, 242, 271, 307, 306, + 188, 332, 338, 339, 343, 0, 344, 0, 0, 0, + 352, 0, 0, 0, 0, 0, 346, 0, 0, 0, + 0, 0, 0, 337, 216, 173, 174, 320, 0, 262, + 0, 0, 0, 0, 0, 0, 0, 0, 258, 336, + 0, 0, 0, 0, 287, 0, 0, 0, 0, 0, + 227, 268, 0, 288, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 295, 318, 330, 347, + 350, 0, 0, 0, 178, 349, 0, 0, 0, 0, + 0, 0, 0, 321, 0, 0, 0, 329, 0, 0, + 0, 0, 0, 345, 252, 253, 254, 255, 219, 0, + 195, 348, 277, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 342, + 215, 221, 0, 223, 194, 267, 217, 327, 230, 0, + 0, 0, 259, 226, 292, 231, 237, 280, 326, 265, + 285, 192, 317, 293, 241, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 175, 0, 235, 0, 276, + 214, 136, 137, 138, 139, 140, 141, 142, 143, 144, + 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 0, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 302, 0, + 0, 333, 334, 335, 319, 0, 206, 0, 0, 264, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 209, 0, 0, 234, + 0, 0, 0, 0, 0, 0, 294, 248, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, + 0, 0, 0, 0, 190, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 181, 299, 315, 191, 290, 328, 196, 297, + 186, 263, 286, 0, 0, 183, 313, 296, 245, 228, + 229, 182, 0, 281, 207, 220, 203, 261, 0, 312, + 340, 202, 331, 0, 323, 185, 0, 322, 260, 309, + 314, 246, 240, 184, 311, 244, 239, 232, 211, 0, + 224, 272, 238, 273, 225, 250, 249, 251, 0, 0, + 0, 0, 0, 351, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 325, 0, 0, 0, 2564, 0, 0, 298, 0, 0, + 233, 0, 0, 0, 341, 0, 284, 266, 0, 0, + 0, 282, 236, 310, 274, 316, 300, 324, 278, 275, + 176, 301, 205, 247, 187, 189, 201, 208, 210, 212, + 213, 256, 257, 269, 289, 303, 304, 305, 204, 197, + 283, 198, 222, 199, 177, 291, 200, 179, 270, 308, + 0, 218, 279, 243, 180, 242, 271, 307, 306, 188, + 332, 338, 339, 343, 0, 344, 0, 0, 0, 352, + 0, 0, 0, 0, 0, 346, 0, 0, 0, 0, + 0, 0, 337, 216, 173, 174, 320, 0, 262, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 336, 0, + 0, 0, 0, 287, 0, 0, 0, 0, 0, 227, + 268, 0, 288, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 295, 318, 330, 347, 350, + 0, 0, 0, 178, 349, 0, 0, 0, 0, 0, + 0, 0, 321, 0, 0, 0, 329, 0, 0, 0, + 0, 0, 345, 252, 253, 254, 255, 219, 0, 195, + 348, 277, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 342, 215, + 221, 0, 223, 194, 267, 217, 327, 230, 0, 0, + 0, 259, 226, 292, 231, 237, 280, 326, 265, 285, + 192, 317, 293, 241, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 175, 0, 235, 0, 276, 214, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, - 146, 147, 148, 149, 150, 151, 152, 153, 0, 154, - 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 298, 0, 0, 329, 330, 331, 315, - 0, 202, 0, 0, 260, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 205, 0, 0, 230, 0, 0, 0, 0, 0, - 0, 290, 244, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1293, - 0, 0, 129, 0, 0, 0, 0, 0, 0, 186, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 177, 295, 311, - 187, 286, 324, 192, 293, 182, 259, 282, 0, 0, - 179, 309, 292, 241, 224, 225, 178, 0, 277, 203, - 216, 199, 257, 0, 308, 336, 198, 327, 0, 319, - 181, 0, 318, 256, 305, 310, 242, 236, 180, 307, - 240, 235, 228, 207, 0, 220, 268, 234, 269, 221, - 246, 245, 247, 0, 0, 0, 0, 0, 347, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, - 0, 294, 0, 0, 229, 0, 0, 0, 337, 0, - 280, 262, 0, 0, 0, 278, 232, 306, 270, 312, - 296, 320, 274, 271, 172, 297, 201, 243, 183, 185, - 197, 204, 206, 208, 209, 252, 253, 265, 285, 299, - 300, 301, 200, 193, 279, 194, 218, 195, 173, 287, - 196, 175, 266, 304, 0, 214, 275, 239, 176, 238, - 267, 303, 302, 184, 328, 334, 335, 339, 0, 340, - 0, 0, 0, 0, 0, 0, 0, 0, 342, 0, - 0, 0, 0, 0, 0, 333, 212, 169, 170, 316, - 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, - 254, 332, 0, 0, 0, 0, 283, 0, 0, 0, - 0, 0, 223, 264, 0, 284, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 291, 314, - 326, 343, 346, 0, 0, 0, 174, 345, 0, 0, - 0, 0, 0, 0, 0, 317, 0, 0, 0, 325, - 0, 0, 0, 0, 0, 341, 248, 249, 250, 251, - 215, 0, 191, 344, 273, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 338, 211, 217, 0, 219, 190, 263, 213, 323, - 226, 0, 0, 0, 255, 222, 288, 227, 233, 276, - 322, 261, 281, 188, 313, 289, 237, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 171, 0, 231, - 0, 272, 210, 132, 133, 134, 135, 136, 137, 138, + 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 0, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 302, 0, 0, + 333, 334, 335, 319, 0, 206, 0, 0, 264, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 209, 0, 0, 234, 0, + 0, 0, 0, 0, 0, 294, 248, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 133, 0, 0, 0, + 0, 0, 0, 190, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 193, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 181, 299, 315, 191, 290, 328, 196, 297, 186, + 263, 286, 0, 0, 183, 313, 296, 245, 228, 229, + 182, 0, 281, 207, 220, 203, 261, 0, 312, 340, + 202, 331, 0, 323, 185, 0, 322, 260, 309, 314, + 246, 240, 184, 311, 244, 239, 232, 211, 0, 224, + 272, 238, 273, 225, 250, 249, 251, 0, 0, 0, + 0, 0, 351, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, + 0, 0, 0, 2378, 0, 0, 298, 0, 0, 233, + 0, 0, 0, 341, 0, 284, 266, 0, 0, 0, + 282, 236, 310, 274, 316, 300, 324, 278, 275, 176, + 301, 205, 247, 187, 189, 201, 208, 210, 212, 213, + 256, 257, 269, 289, 303, 304, 305, 204, 197, 283, + 198, 222, 199, 177, 291, 200, 179, 270, 308, 0, + 218, 279, 243, 180, 242, 271, 307, 306, 188, 332, + 338, 339, 343, 0, 344, 0, 0, 0, 352, 0, + 0, 0, 0, 0, 346, 0, 0, 0, 0, 0, + 0, 337, 216, 173, 174, 320, 0, 262, 0, 0, + 0, 0, 0, 0, 0, 0, 258, 336, 0, 0, + 0, 0, 287, 0, 0, 0, 0, 0, 227, 268, + 0, 288, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 295, 318, 330, 347, 350, 0, + 0, 0, 178, 349, 0, 0, 0, 0, 0, 0, + 0, 321, 0, 0, 0, 329, 0, 0, 0, 0, + 0, 345, 252, 253, 254, 255, 219, 0, 195, 348, + 277, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 342, 215, 221, + 0, 223, 194, 267, 217, 327, 230, 0, 0, 0, + 259, 226, 292, 231, 237, 280, 326, 265, 285, 192, + 317, 293, 241, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 172, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 175, 0, 235, 0, 276, 214, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, + 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 0, 158, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 302, 0, 0, 333, + 334, 335, 319, 0, 206, 0, 0, 264, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 209, 0, 0, 234, 0, 0, + 0, 0, 0, 0, 294, 248, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 133, 0, 0, 0, 0, + 0, 0, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 193, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2155, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 181, 299, 315, 191, 290, 328, 196, 297, 186, 263, + 286, 0, 0, 183, 313, 296, 245, 228, 229, 182, + 0, 281, 207, 220, 203, 261, 0, 312, 340, 202, + 331, 0, 323, 185, 0, 322, 260, 309, 314, 246, + 240, 184, 311, 244, 239, 232, 211, 0, 224, 272, + 238, 273, 225, 250, 249, 251, 0, 0, 0, 0, + 0, 351, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 325, 0, + 0, 0, 0, 0, 0, 298, 0, 0, 233, 0, + 0, 0, 341, 0, 284, 266, 0, 0, 0, 282, + 236, 310, 274, 316, 300, 324, 278, 275, 176, 301, + 205, 247, 187, 189, 201, 208, 210, 212, 213, 256, + 257, 269, 289, 303, 304, 305, 204, 197, 283, 198, + 222, 199, 177, 291, 200, 179, 270, 308, 0, 218, + 279, 243, 180, 242, 271, 307, 306, 188, 332, 338, + 339, 343, 0, 344, 0, 0, 0, 352, 0, 0, + 0, 0, 0, 346, 0, 0, 0, 0, 0, 0, + 337, 216, 173, 174, 320, 0, 262, 0, 0, 0, + 0, 0, 0, 0, 0, 258, 336, 0, 0, 0, + 0, 287, 0, 0, 0, 0, 0, 227, 268, 0, + 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 295, 318, 330, 347, 350, 0, 0, + 0, 178, 349, 0, 0, 0, 0, 0, 0, 0, + 321, 0, 0, 0, 329, 0, 0, 0, 0, 0, + 345, 252, 253, 254, 255, 219, 0, 195, 348, 277, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 342, 215, 221, 0, + 223, 194, 267, 217, 327, 230, 0, 0, 0, 259, + 226, 292, 231, 237, 280, 326, 265, 285, 192, 317, + 293, 241, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 172, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 175, 0, 235, 0, 276, 214, 136, 137, + 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, + 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, + 0, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 302, 0, 0, 333, 334, + 335, 319, 0, 206, 0, 0, 264, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 209, 0, 0, 234, 0, 0, 0, + 0, 0, 0, 294, 248, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1310, 0, 0, 133, 0, 0, 0, 0, 0, + 0, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, + 299, 315, 191, 290, 328, 196, 297, 186, 263, 286, + 0, 0, 183, 313, 296, 245, 228, 229, 182, 0, + 281, 207, 220, 203, 261, 0, 312, 340, 202, 331, + 0, 323, 185, 0, 322, 260, 309, 314, 246, 240, + 184, 311, 244, 239, 232, 211, 0, 224, 272, 238, + 273, 225, 250, 249, 251, 0, 0, 0, 0, 0, + 351, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 325, 0, 0, + 0, 0, 0, 0, 298, 0, 0, 233, 0, 0, + 0, 341, 0, 284, 266, 0, 0, 0, 282, 236, + 310, 274, 316, 300, 324, 278, 275, 176, 301, 205, + 247, 187, 189, 201, 208, 210, 212, 213, 256, 257, + 269, 289, 303, 304, 305, 204, 197, 283, 198, 222, + 199, 177, 291, 200, 179, 270, 308, 0, 218, 279, + 243, 180, 242, 271, 307, 306, 188, 332, 338, 339, + 343, 0, 344, 0, 0, 0, 352, 0, 0, 0, + 0, 0, 346, 0, 0, 0, 0, 0, 0, 337, + 216, 173, 174, 320, 0, 262, 0, 0, 0, 0, + 0, 0, 0, 0, 258, 336, 0, 0, 0, 0, + 287, 0, 0, 0, 0, 0, 227, 268, 0, 288, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 295, 318, 330, 347, 350, 0, 0, 0, + 178, 349, 0, 0, 0, 0, 0, 0, 0, 321, + 0, 0, 0, 329, 0, 0, 0, 0, 0, 345, + 252, 253, 254, 255, 219, 0, 195, 348, 277, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 342, 215, 221, 0, 223, + 194, 267, 217, 327, 230, 0, 0, 0, 259, 226, + 292, 231, 237, 280, 326, 265, 285, 192, 317, 293, + 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 172, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 175, 0, 235, 0, 276, 214, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, - 149, 150, 151, 152, 153, 0, 154, 155, 156, 157, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 0, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 298, 0, 0, 329, 330, 331, 315, 0, 202, 0, - 0, 260, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 205, 0, - 0, 230, 0, 0, 0, 0, 0, 0, 290, 244, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, - 0, 0, 0, 0, 0, 0, 186, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 189, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2123, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 177, 295, 311, 187, 286, 324, - 192, 293, 182, 259, 282, 0, 0, 179, 309, 292, - 241, 224, 225, 178, 0, 277, 203, 216, 199, 257, - 0, 308, 336, 198, 327, 0, 319, 181, 0, 318, - 256, 305, 310, 242, 236, 180, 307, 240, 235, 228, - 207, 0, 220, 268, 234, 269, 221, 246, 245, 247, - 0, 0, 0, 0, 0, 347, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 321, 0, 0, 0, 0, 0, 0, 294, 0, - 0, 229, 0, 0, 0, 337, 0, 280, 262, 0, - 0, 0, 278, 232, 306, 270, 312, 296, 320, 274, - 271, 172, 297, 201, 243, 183, 185, 197, 204, 206, - 208, 209, 252, 253, 265, 285, 299, 300, 301, 200, - 193, 279, 194, 218, 195, 173, 287, 196, 175, 266, - 304, 0, 214, 275, 239, 176, 238, 267, 303, 302, - 184, 328, 334, 335, 339, 0, 340, 0, 0, 0, - 0, 0, 0, 0, 0, 342, 0, 0, 0, 0, - 0, 0, 333, 212, 169, 170, 316, 0, 258, 0, - 0, 0, 0, 0, 0, 0, 0, 254, 332, 0, - 0, 0, 0, 283, 0, 0, 0, 0, 0, 223, - 264, 0, 284, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 291, 314, 326, 343, 346, - 0, 0, 0, 174, 345, 0, 0, 0, 0, 0, - 0, 0, 317, 0, 0, 0, 325, 0, 0, 0, - 0, 0, 341, 248, 249, 250, 251, 215, 0, 191, - 344, 273, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 338, 211, - 217, 0, 219, 190, 263, 213, 323, 226, 0, 0, - 0, 255, 222, 288, 227, 233, 276, 322, 261, 281, - 188, 313, 289, 237, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 171, 0, 231, 0, 272, 210, - 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, - 152, 153, 0, 154, 155, 156, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 298, 0, 0, - 329, 330, 331, 315, 0, 202, 0, 0, 260, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 205, 0, 0, 230, 0, - 0, 0, 0, 0, 0, 290, 244, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 129, 0, 0, 2060, - 0, 0, 0, 186, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 189, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 177, 295, 311, 187, 286, 324, 192, 293, 182, - 259, 282, 0, 0, 179, 309, 292, 241, 224, 225, - 178, 0, 277, 203, 216, 199, 257, 0, 308, 336, - 198, 327, 0, 319, 181, 0, 318, 256, 305, 310, - 242, 236, 180, 307, 240, 235, 228, 207, 0, 220, - 268, 234, 269, 221, 246, 245, 247, 0, 0, 0, - 0, 0, 347, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, - 0, 0, 0, 0, 0, 294, 0, 0, 229, 0, - 0, 0, 337, 0, 280, 262, 0, 0, 0, 278, - 232, 306, 270, 312, 296, 320, 274, 271, 172, 297, - 201, 243, 183, 185, 197, 204, 206, 208, 209, 252, - 253, 265, 285, 299, 300, 301, 200, 193, 279, 194, - 218, 195, 173, 287, 196, 175, 266, 304, 0, 214, - 275, 239, 176, 238, 267, 303, 302, 184, 328, 334, - 335, 339, 0, 340, 0, 0, 0, 0, 0, 0, - 0, 0, 342, 0, 0, 0, 0, 0, 0, 333, - 212, 169, 170, 316, 0, 258, 0, 0, 0, 0, - 0, 0, 0, 0, 254, 332, 0, 0, 0, 0, - 283, 0, 0, 0, 0, 0, 223, 264, 0, 284, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 291, 314, 326, 343, 346, 0, 0, 0, - 174, 345, 0, 0, 0, 0, 0, 0, 0, 317, - 0, 0, 0, 325, 0, 0, 0, 0, 0, 341, - 248, 249, 250, 251, 215, 0, 191, 344, 273, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 338, 211, 217, 0, 219, - 190, 263, 213, 323, 226, 0, 0, 0, 255, 222, - 288, 227, 233, 276, 322, 261, 281, 188, 313, 289, - 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 168, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 171, 0, 231, 0, 272, 210, 132, 133, 134, - 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 153, 0, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 298, 0, 0, 329, 330, 331, - 315, 0, 202, 0, 0, 260, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 205, 0, 0, 230, 0, 0, 0, 0, - 0, 0, 290, 244, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 129, 0, 0, 989, 0, 0, 0, - 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 177, 295, - 311, 187, 286, 324, 192, 293, 182, 259, 282, 0, - 0, 179, 309, 292, 241, 224, 225, 178, 0, 277, - 203, 216, 199, 257, 0, 308, 336, 198, 327, 0, - 319, 181, 0, 318, 256, 305, 310, 242, 236, 180, - 307, 240, 235, 228, 207, 0, 220, 268, 234, 269, - 221, 246, 245, 247, 0, 0, 0, 0, 0, 347, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, - 0, 0, 294, 0, 0, 229, 0, 0, 0, 337, - 0, 280, 262, 0, 0, 0, 278, 232, 306, 270, - 312, 296, 320, 274, 271, 172, 297, 201, 243, 183, - 185, 197, 204, 206, 208, 209, 252, 253, 265, 285, - 299, 300, 301, 200, 193, 279, 194, 218, 195, 173, - 287, 196, 175, 266, 304, 0, 214, 275, 239, 176, - 238, 267, 303, 302, 184, 328, 334, 335, 339, 0, - 340, 0, 0, 0, 0, 0, 0, 0, 0, 342, - 0, 0, 0, 0, 0, 0, 333, 212, 169, 170, - 316, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 254, 332, 0, 0, 0, 0, 283, 0, 0, - 0, 0, 0, 223, 264, 0, 284, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 291, - 314, 326, 343, 346, 0, 0, 0, 174, 345, 0, - 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, - 325, 0, 0, 0, 0, 0, 341, 248, 249, 250, - 251, 215, 0, 191, 344, 273, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 338, 211, 217, 0, 219, 190, 263, 213, - 323, 226, 0, 0, 0, 255, 222, 288, 227, 233, - 276, 322, 261, 281, 188, 313, 289, 237, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 168, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 171, 0, - 231, 0, 272, 210, 132, 133, 134, 135, 136, 137, - 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, - 148, 149, 150, 151, 152, 153, 0, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 298, 0, 0, 329, 330, 331, 315, 0, 202, - 0, 0, 260, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, - 0, 0, 230, 0, 0, 0, 0, 0, 0, 290, - 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 129, 0, 0, 0, 0, 0, 0, 186, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 189, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1745, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 177, 295, 311, 187, 286, - 324, 192, 293, 182, 259, 282, 0, 0, 179, 309, - 292, 241, 224, 225, 178, 0, 277, 203, 216, 199, - 257, 0, 308, 336, 198, 327, 0, 319, 181, 0, - 318, 256, 305, 310, 242, 236, 180, 307, 240, 235, - 228, 207, 0, 220, 268, 234, 269, 221, 246, 245, - 247, 0, 0, 0, 0, 0, 347, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 321, 0, 0, 0, 0, 0, 0, 294, - 0, 0, 229, 0, 0, 0, 337, 0, 280, 262, - 0, 0, 0, 278, 232, 306, 270, 312, 296, 320, - 274, 271, 172, 297, 201, 243, 183, 185, 197, 204, - 206, 208, 209, 252, 253, 265, 285, 299, 300, 301, - 200, 193, 279, 194, 218, 195, 173, 287, 196, 175, - 266, 304, 0, 214, 275, 239, 176, 238, 267, 303, - 302, 184, 328, 334, 335, 339, 0, 340, 0, 0, - 0, 0, 0, 0, 0, 0, 342, 0, 0, 0, - 0, 0, 0, 333, 212, 169, 170, 316, 0, 258, - 0, 0, 0, 0, 0, 0, 0, 0, 254, 332, - 0, 0, 0, 0, 283, 0, 0, 0, 0, 0, - 223, 264, 0, 284, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 291, 314, 326, 343, - 346, 0, 0, 0, 174, 345, 0, 0, 0, 0, - 0, 0, 0, 317, 0, 0, 0, 325, 0, 0, - 0, 0, 0, 341, 248, 249, 250, 251, 215, 0, - 191, 344, 273, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 338, - 211, 217, 0, 219, 190, 263, 213, 323, 226, 0, - 0, 0, 255, 222, 288, 227, 233, 276, 322, 261, - 281, 188, 313, 289, 237, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 168, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 171, 0, 231, 0, 272, - 210, 132, 133, 134, 135, 136, 137, 138, 139, 140, - 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, - 151, 152, 153, 0, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 298, 0, - 0, 329, 330, 331, 315, 0, 202, 0, 0, 260, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 205, 0, 0, 230, - 0, 0, 0, 0, 0, 0, 290, 244, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, - 1743, 0, 0, 0, 186, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 189, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 177, 295, 311, 187, 286, 324, 192, 293, - 182, 259, 282, 0, 0, 179, 309, 292, 241, 224, - 225, 178, 0, 277, 203, 216, 199, 257, 0, 308, - 336, 198, 327, 0, 319, 181, 0, 318, 256, 305, - 310, 242, 236, 180, 307, 240, 235, 228, 207, 0, - 220, 268, 234, 269, 221, 246, 245, 247, 0, 0, - 0, 0, 0, 347, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, - 0, 0, 0, 0, 0, 0, 294, 0, 0, 229, - 0, 0, 0, 337, 0, 280, 262, 0, 0, 0, - 278, 232, 306, 270, 312, 296, 320, 274, 271, 172, - 297, 201, 243, 183, 185, 197, 204, 206, 208, 209, - 252, 253, 265, 285, 299, 300, 301, 200, 193, 279, - 194, 218, 195, 173, 287, 196, 175, 266, 304, 0, - 214, 275, 239, 176, 238, 267, 303, 302, 184, 328, - 334, 335, 339, 0, 340, 0, 0, 0, 0, 0, - 0, 0, 0, 342, 0, 0, 0, 0, 0, 0, - 333, 212, 169, 170, 316, 0, 258, 0, 0, 0, - 0, 0, 0, 0, 0, 254, 332, 0, 0, 0, - 0, 283, 0, 0, 0, 0, 0, 223, 264, 0, - 284, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 291, 314, 326, 343, 346, 0, 0, - 0, 174, 345, 0, 0, 0, 0, 0, 0, 0, - 317, 0, 0, 0, 325, 0, 0, 0, 0, 0, - 341, 248, 249, 250, 251, 215, 0, 191, 344, 273, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 338, 211, 217, 0, - 219, 190, 263, 213, 323, 226, 0, 0, 0, 255, - 222, 288, 227, 233, 276, 322, 261, 281, 188, 313, - 289, 237, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 168, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 171, 0, 231, 0, 272, 210, 132, 133, - 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, - 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, - 0, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 0, 0, 0, 329, 330, - 331, 315, 298, 202, 0, 0, 1671, 0, 0, 0, - 0, 0, 0, 260, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 205, 0, 0, 230, 0, 0, 0, 0, 0, 0, - 290, 244, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 129, 0, 0, 0, 0, 0, 0, 186, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 189, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 177, 295, 311, 187, - 286, 324, 192, 293, 182, 259, 282, 0, 0, 179, - 309, 292, 241, 224, 225, 178, 0, 277, 203, 216, - 199, 257, 0, 308, 336, 198, 327, 0, 319, 181, - 0, 318, 256, 305, 310, 242, 236, 180, 307, 240, - 235, 228, 207, 0, 220, 268, 234, 269, 221, 246, - 245, 247, 0, 0, 0, 0, 0, 347, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, - 294, 0, 0, 229, 0, 0, 0, 337, 0, 280, - 262, 0, 0, 0, 278, 232, 306, 270, 312, 296, - 320, 274, 271, 172, 297, 201, 243, 183, 185, 197, - 204, 206, 208, 209, 252, 253, 265, 285, 299, 300, - 301, 200, 193, 279, 194, 218, 195, 173, 287, 196, - 175, 266, 304, 0, 214, 275, 239, 176, 238, 267, - 303, 302, 184, 328, 334, 335, 339, 0, 340, 0, - 0, 0, 0, 0, 0, 0, 0, 342, 0, 0, - 0, 0, 0, 0, 333, 212, 169, 170, 316, 0, - 258, 0, 0, 0, 0, 0, 0, 0, 0, 254, - 332, 0, 0, 0, 0, 283, 0, 0, 0, 0, - 0, 223, 264, 0, 284, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 291, 314, 326, - 343, 346, 0, 0, 0, 174, 345, 0, 0, 0, - 0, 0, 0, 0, 317, 0, 0, 0, 325, 0, - 0, 0, 0, 0, 341, 248, 249, 250, 251, 215, - 0, 191, 344, 273, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 338, 211, 217, 0, 219, 190, 263, 213, 323, 226, - 0, 0, 0, 255, 222, 288, 227, 233, 276, 322, - 261, 281, 188, 313, 289, 237, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 171, 0, 231, 0, - 272, 210, 132, 133, 134, 135, 136, 137, 138, 139, + 168, 169, 170, 171, 302, 0, 0, 333, 334, 335, + 319, 0, 206, 0, 0, 264, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 209, 0, 0, 234, 0, 0, 0, 0, + 0, 0, 294, 248, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 133, 0, 0, 0, 0, 0, 0, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2189, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 181, 299, + 315, 191, 290, 328, 196, 297, 186, 263, 286, 0, + 0, 183, 313, 296, 245, 228, 229, 182, 0, 281, + 207, 220, 203, 261, 0, 312, 340, 202, 331, 0, + 323, 185, 0, 322, 260, 309, 314, 246, 240, 184, + 311, 244, 239, 232, 211, 0, 224, 272, 238, 273, + 225, 250, 249, 251, 0, 0, 0, 0, 0, 351, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 325, 0, 0, 0, + 0, 0, 0, 298, 0, 0, 233, 0, 0, 0, + 341, 0, 284, 266, 0, 0, 0, 282, 236, 310, + 274, 316, 300, 324, 278, 275, 176, 301, 205, 247, + 187, 189, 201, 208, 210, 212, 213, 256, 257, 269, + 289, 303, 304, 305, 204, 197, 283, 198, 222, 199, + 177, 291, 200, 179, 270, 308, 0, 218, 279, 243, + 180, 242, 271, 307, 306, 188, 332, 338, 339, 343, + 0, 344, 0, 0, 0, 352, 0, 0, 0, 0, + 0, 346, 0, 0, 0, 0, 0, 0, 337, 216, + 173, 174, 320, 0, 262, 0, 0, 0, 0, 0, + 0, 0, 0, 258, 336, 0, 0, 0, 0, 287, + 0, 0, 0, 0, 0, 227, 268, 0, 288, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 295, 318, 330, 347, 350, 0, 0, 0, 178, + 349, 0, 0, 0, 0, 0, 0, 0, 321, 0, + 0, 0, 329, 0, 0, 0, 0, 0, 345, 252, + 253, 254, 255, 219, 0, 195, 348, 277, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 342, 215, 221, 0, 223, 194, + 267, 217, 327, 230, 0, 0, 0, 259, 226, 292, + 231, 237, 280, 326, 265, 285, 192, 317, 293, 241, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 172, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 175, 0, 235, 0, 276, 214, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, - 150, 151, 152, 153, 0, 154, 155, 156, 157, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 298, - 0, 0, 329, 330, 331, 315, 0, 202, 0, 0, - 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 205, 0, 0, - 230, 0, 0, 0, 0, 0, 0, 290, 244, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, - 0, 0, 0, 0, 0, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 189, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 177, 295, 311, 187, 286, 324, 192, - 293, 182, 259, 282, 0, 0, 179, 309, 292, 241, - 224, 225, 178, 0, 277, 203, 216, 199, 257, 0, - 308, 336, 198, 327, 0, 319, 181, 0, 318, 256, - 305, 310, 242, 236, 180, 307, 240, 235, 228, 207, - 0, 220, 268, 234, 269, 221, 246, 245, 247, 0, - 0, 0, 0, 0, 347, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 321, 0, 0, 1653, 0, 0, 0, 294, 0, 0, - 229, 0, 0, 0, 337, 0, 280, 262, 0, 0, - 0, 278, 232, 306, 270, 312, 296, 320, 274, 271, - 172, 297, 201, 243, 183, 185, 197, 204, 206, 208, - 209, 252, 253, 265, 285, 299, 300, 301, 200, 193, - 279, 194, 218, 195, 173, 287, 196, 175, 266, 304, - 0, 214, 275, 239, 176, 238, 267, 303, 302, 184, - 328, 334, 335, 339, 0, 340, 0, 0, 0, 0, - 0, 0, 0, 0, 342, 0, 0, 0, 0, 0, - 0, 333, 212, 169, 170, 316, 0, 258, 0, 0, - 0, 0, 0, 0, 0, 0, 254, 332, 0, 0, - 0, 0, 283, 0, 0, 0, 0, 0, 223, 264, - 0, 284, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 291, 314, 326, 343, 346, 0, - 0, 0, 174, 345, 0, 0, 0, 0, 0, 0, - 0, 317, 0, 0, 0, 325, 0, 0, 0, 0, - 0, 341, 248, 249, 250, 251, 215, 0, 191, 344, - 273, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 338, 211, 217, - 0, 219, 190, 263, 213, 323, 226, 0, 0, 0, - 255, 222, 288, 227, 233, 276, 322, 261, 281, 188, - 313, 289, 237, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 168, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 171, 0, 231, 0, 272, 210, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, - 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, - 153, 0, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 298, 0, 0, 329, - 330, 331, 315, 0, 202, 0, 0, 260, 0, 0, + 150, 151, 152, 153, 154, 155, 156, 157, 0, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 302, 0, 0, 333, 334, 335, 319, + 0, 206, 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 205, 0, 0, 230, 0, 0, - 0, 0, 0, 0, 290, 244, 0, 0, 0, 0, + 0, 209, 0, 0, 234, 0, 0, 0, 0, 0, + 0, 294, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 129, 0, 0, 0, 0, - 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 189, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 133, 0, 0, 2126, 0, 0, 0, 190, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 177, 295, 311, 187, 286, 324, 192, 293, 182, 259, - 282, 0, 0, 179, 309, 292, 241, 224, 225, 178, - 0, 277, 203, 216, 199, 257, 0, 308, 336, 198, - 327, 0, 319, 181, 0, 318, 256, 305, 310, 242, - 236, 180, 307, 240, 235, 228, 207, 0, 220, 268, - 234, 269, 221, 246, 245, 247, 0, 0, 0, 0, - 0, 347, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 181, 299, 315, + 191, 290, 328, 196, 297, 186, 263, 286, 0, 0, + 183, 313, 296, 245, 228, 229, 182, 0, 281, 207, + 220, 203, 261, 0, 312, 340, 202, 331, 0, 323, + 185, 0, 322, 260, 309, 314, 246, 240, 184, 311, + 244, 239, 232, 211, 0, 224, 272, 238, 273, 225, + 250, 249, 251, 0, 0, 0, 0, 0, 351, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 325, 0, 0, 0, 0, + 0, 0, 298, 0, 0, 233, 0, 0, 0, 341, + 0, 284, 266, 0, 0, 0, 282, 236, 310, 274, + 316, 300, 324, 278, 275, 176, 301, 205, 247, 187, + 189, 201, 208, 210, 212, 213, 256, 257, 269, 289, + 303, 304, 305, 204, 197, 283, 198, 222, 199, 177, + 291, 200, 179, 270, 308, 0, 218, 279, 243, 180, + 242, 271, 307, 306, 188, 332, 338, 339, 343, 0, + 344, 0, 0, 0, 352, 0, 0, 0, 0, 0, + 346, 0, 0, 0, 0, 0, 0, 337, 216, 173, + 174, 320, 0, 262, 0, 0, 0, 0, 0, 0, + 0, 0, 258, 336, 0, 0, 0, 0, 287, 0, + 0, 0, 0, 0, 227, 268, 0, 288, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 295, 318, 330, 347, 350, 0, 0, 0, 178, 349, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, - 0, 0, 0, 0, 294, 0, 0, 229, 0, 0, - 0, 337, 0, 280, 262, 0, 0, 0, 278, 232, - 306, 270, 312, 296, 320, 274, 271, 172, 297, 201, - 243, 183, 185, 197, 204, 206, 208, 209, 252, 253, - 265, 285, 299, 300, 301, 200, 193, 279, 194, 218, - 195, 173, 287, 196, 175, 266, 304, 0, 214, 275, - 239, 176, 238, 267, 303, 302, 184, 328, 334, 335, - 339, 0, 340, 0, 0, 0, 0, 0, 0, 0, - 0, 342, 0, 0, 0, 0, 0, 0, 333, 212, - 169, 170, 316, 0, 258, 0, 0, 0, 0, 0, - 0, 0, 0, 254, 332, 0, 0, 0, 0, 283, - 0, 0, 0, 0, 0, 223, 264, 0, 284, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 291, 314, 326, 343, 346, 0, 0, 0, 174, - 345, 0, 0, 0, 0, 0, 0, 0, 317, 0, - 0, 0, 325, 0, 0, 0, 0, 0, 341, 248, - 249, 250, 251, 215, 0, 191, 344, 273, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 338, 211, 217, 0, 219, 190, - 263, 213, 323, 226, 0, 0, 0, 255, 222, 288, - 227, 233, 276, 322, 261, 281, 188, 313, 289, 237, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 168, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 588, 0, 0, 0, - 171, 0, 231, 0, 272, 210, 132, 133, 134, 135, - 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, - 146, 147, 148, 149, 150, 151, 152, 153, 0, 154, - 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 298, 0, 0, 329, 330, 331, 315, - 0, 202, 0, 0, 260, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 205, 0, 0, 230, 0, 0, 0, 0, 0, - 0, 290, 244, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 129, 0, 0, 0, 0, 0, 0, 186, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 177, 295, 311, - 187, 286, 324, 192, 293, 182, 259, 282, 0, 0, - 179, 309, 292, 241, 224, 225, 178, 0, 277, 203, - 216, 199, 257, 0, 308, 336, 198, 327, 0, 319, - 181, 0, 318, 256, 305, 310, 242, 236, 180, 307, - 240, 235, 228, 207, 0, 220, 268, 234, 269, 221, - 246, 245, 247, 0, 0, 0, 0, 0, 347, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, - 0, 294, 0, 0, 229, 0, 0, 0, 337, 0, - 280, 262, 0, 0, 0, 278, 232, 306, 270, 312, - 296, 320, 376, 271, 172, 297, 201, 243, 183, 185, - 197, 204, 206, 208, 209, 252, 253, 265, 285, 299, - 300, 301, 200, 193, 279, 194, 218, 195, 173, 287, - 196, 175, 266, 304, 0, 214, 275, 239, 176, 238, - 267, 303, 302, 184, 328, 334, 335, 339, 0, 340, - 0, 0, 0, 0, 0, 0, 0, 0, 342, 0, - 0, 0, 0, 0, 0, 333, 212, 169, 170, 316, - 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, - 254, 332, 0, 0, 0, 0, 283, 0, 0, 0, - 0, 0, 223, 264, 0, 284, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 291, 314, - 326, 343, 346, 0, 0, 0, 174, 345, 0, 0, - 0, 0, 0, 0, 377, 317, 0, 0, 0, 325, - 0, 0, 0, 0, 0, 341, 248, 249, 250, 251, - 215, 0, 191, 344, 273, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 338, 211, 217, 0, 219, 190, 263, 213, 323, - 226, 0, 0, 0, 255, 222, 288, 227, 233, 276, - 322, 261, 281, 188, 313, 289, 237, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 171, 0, 231, - 0, 272, 210, 132, 133, 134, 135, 136, 137, 138, - 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, - 149, 150, 151, 152, 153, 0, 154, 155, 156, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 298, 0, 0, 329, 330, 331, 315, 0, 202, 0, - 0, 260, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 205, 0, - 0, 230, 0, 0, 0, 0, 0, 0, 290, 244, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, - 0, 0, 0, 0, 0, 0, 186, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 189, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 177, 295, 311, 187, 286, 324, - 192, 293, 182, 259, 282, 0, 0, 179, 309, 292, - 241, 224, 225, 178, 0, 277, 203, 216, 199, 257, - 0, 308, 336, 198, 327, 0, 319, 181, 0, 318, - 256, 305, 310, 242, 236, 180, 307, 240, 235, 228, - 207, 0, 220, 268, 234, 269, 221, 246, 245, 247, - 0, 0, 0, 0, 0, 347, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 355, - 0, 321, 0, 0, 0, 0, 0, 0, 294, 0, - 0, 229, 0, 0, 0, 337, 0, 280, 262, 0, - 0, 0, 278, 232, 306, 270, 312, 296, 320, 274, - 271, 172, 297, 201, 243, 183, 185, 197, 204, 206, - 208, 209, 252, 253, 265, 285, 299, 300, 301, 200, - 193, 279, 194, 218, 195, 173, 287, 196, 175, 266, - 304, 0, 214, 275, 239, 176, 238, 267, 303, 302, - 184, 328, 334, 335, 339, 0, 340, 0, 0, 0, - 0, 0, 0, 0, 0, 342, 0, 0, 0, 0, - 0, 0, 333, 212, 169, 170, 316, 0, 258, 0, - 0, 0, 0, 0, 0, 0, 0, 254, 332, 0, - 0, 0, 0, 283, 0, 0, 0, 0, 0, 223, - 264, 0, 284, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 291, 314, 326, 343, 346, - 0, 0, 0, 174, 345, 0, 0, 0, 0, 0, - 0, 0, 317, 0, 0, 0, 325, 0, 0, 0, - 0, 0, 341, 248, 249, 250, 251, 215, 0, 191, - 344, 273, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 338, 211, - 217, 0, 219, 190, 263, 213, 323, 226, 0, 0, - 0, 255, 222, 288, 227, 233, 276, 322, 261, 281, - 188, 313, 289, 237, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 171, 0, 231, 0, 272, 210, - 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, + 0, 329, 0, 0, 0, 0, 0, 345, 252, 253, + 254, 255, 219, 0, 195, 348, 277, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 342, 215, 221, 0, 223, 194, 267, + 217, 327, 230, 0, 0, 0, 259, 226, 292, 231, + 237, 280, 326, 265, 285, 192, 317, 293, 241, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 172, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, + 0, 235, 0, 276, 214, 136, 137, 138, 139, 140, + 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 0, 158, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 302, 0, 0, 333, 334, 335, 319, 0, + 206, 0, 0, 264, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 209, 0, 0, 234, 0, 0, 0, 0, 0, 0, + 294, 248, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 133, 0, 0, 1003, 0, 0, 0, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 193, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 181, 299, 315, 191, + 290, 328, 196, 297, 186, 263, 286, 0, 0, 183, + 313, 296, 245, 228, 229, 182, 0, 281, 207, 220, + 203, 261, 0, 312, 340, 202, 331, 0, 323, 185, + 0, 322, 260, 309, 314, 246, 240, 184, 311, 244, + 239, 232, 211, 0, 224, 272, 238, 273, 225, 250, + 249, 251, 0, 0, 0, 0, 0, 351, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 325, 0, 0, 0, 0, 0, + 0, 298, 0, 0, 233, 0, 0, 0, 341, 0, + 284, 266, 0, 0, 0, 282, 236, 310, 274, 316, + 300, 324, 278, 275, 176, 301, 205, 247, 187, 189, + 201, 208, 210, 212, 213, 256, 257, 269, 289, 303, + 304, 305, 204, 197, 283, 198, 222, 199, 177, 291, + 200, 179, 270, 308, 0, 218, 279, 243, 180, 242, + 271, 307, 306, 188, 332, 338, 339, 343, 0, 344, + 0, 0, 0, 352, 0, 0, 0, 0, 0, 346, + 0, 0, 0, 0, 0, 0, 337, 216, 173, 174, + 320, 0, 262, 0, 0, 0, 0, 0, 0, 0, + 0, 258, 336, 0, 0, 0, 0, 287, 0, 0, + 0, 0, 0, 227, 268, 0, 288, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, + 318, 330, 347, 350, 0, 0, 0, 178, 349, 0, + 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, + 329, 0, 0, 0, 0, 0, 345, 252, 253, 254, + 255, 219, 0, 195, 348, 277, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 342, 215, 221, 0, 223, 194, 267, 217, + 327, 230, 0, 0, 0, 259, 226, 292, 231, 237, + 280, 326, 265, 285, 192, 317, 293, 241, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 172, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 175, 0, + 235, 0, 276, 214, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, - 152, 153, 0, 154, 155, 156, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 298, 0, 0, - 329, 330, 331, 315, 0, 202, 0, 0, 260, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 126, 205, 0, 0, 230, 0, - 0, 0, 0, 0, 0, 290, 244, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 129, 0, 0, 0, - 0, 0, 0, 186, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 189, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 177, 295, 311, 187, 286, 324, 192, 293, 182, - 259, 282, 0, 0, 179, 309, 292, 241, 224, 225, - 178, 0, 277, 203, 216, 199, 257, 0, 308, 336, - 198, 327, 0, 319, 181, 0, 318, 256, 305, 310, - 242, 236, 180, 307, 240, 235, 228, 207, 0, 220, - 268, 234, 269, 221, 246, 245, 247, 0, 0, 0, - 0, 0, 347, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, - 0, 0, 0, 0, 0, 294, 0, 0, 229, 0, - 0, 0, 337, 0, 280, 262, 0, 0, 0, 278, - 232, 306, 270, 312, 296, 320, 274, 271, 172, 297, - 201, 243, 183, 185, 197, 204, 206, 208, 209, 252, - 253, 265, 285, 299, 300, 301, 200, 193, 279, 194, - 218, 195, 173, 287, 196, 175, 266, 304, 0, 214, - 275, 239, 176, 238, 267, 303, 302, 184, 328, 334, - 335, 339, 0, 340, 0, 0, 0, 0, 0, 0, - 0, 0, 342, 0, 0, 0, 0, 0, 0, 333, - 212, 169, 170, 316, 0, 258, 0, 0, 0, 0, - 0, 0, 0, 0, 254, 332, 0, 0, 0, 0, - 283, 0, 0, 0, 0, 0, 223, 264, 0, 284, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 291, 314, 326, 343, 346, 0, 0, 0, - 174, 345, 0, 0, 0, 0, 0, 0, 0, 317, - 0, 0, 0, 325, 0, 0, 0, 0, 0, 341, - 248, 249, 250, 251, 215, 0, 191, 344, 273, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 338, 211, 217, 0, 219, - 190, 263, 213, 323, 226, 0, 0, 0, 255, 222, - 288, 227, 233, 276, 322, 261, 281, 188, 313, 289, - 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 168, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 171, 0, 231, 0, 272, 210, 132, 133, 134, - 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 153, 0, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 298, 0, 0, 329, 330, 331, - 315, 0, 202, 0, 0, 260, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 205, 0, 0, 230, 0, 0, 0, 0, - 0, 0, 290, 244, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 129, 0, 0, 0, 0, 0, 0, - 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 177, 295, - 311, 187, 286, 324, 192, 293, 182, 259, 282, 0, - 0, 179, 309, 292, 241, 224, 225, 178, 0, 277, - 203, 216, 199, 257, 0, 308, 336, 198, 327, 0, - 319, 181, 0, 318, 256, 305, 310, 242, 236, 180, - 307, 240, 235, 228, 207, 0, 220, 268, 234, 269, - 221, 246, 245, 247, 0, 0, 0, 0, 0, 347, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, - 0, 0, 294, 0, 0, 229, 0, 0, 0, 337, - 0, 280, 262, 0, 0, 0, 278, 232, 306, 270, - 312, 296, 320, 274, 271, 172, 297, 201, 243, 183, - 185, 197, 204, 206, 208, 209, 252, 253, 265, 285, - 299, 300, 301, 200, 193, 279, 194, 218, 195, 173, - 287, 196, 175, 266, 304, 0, 214, 275, 239, 176, - 238, 267, 303, 302, 184, 328, 334, 335, 339, 0, - 340, 0, 0, 0, 0, 0, 0, 0, 0, 342, - 0, 0, 0, 0, 0, 0, 333, 212, 169, 170, - 316, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 254, 332, 0, 0, 0, 0, 283, 0, 0, - 0, 0, 0, 223, 264, 0, 284, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 291, - 314, 326, 343, 346, 0, 0, 0, 174, 345, 0, - 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, - 325, 0, 0, 0, 0, 0, 341, 248, 249, 250, - 251, 215, 0, 191, 344, 273, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 338, 211, 217, 0, 219, 190, 263, 213, - 323, 226, 0, 0, 0, 255, 222, 288, 227, 233, - 276, 322, 261, 281, 188, 313, 289, 237, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 168, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 171, 0, - 231, 0, 272, 210, 132, 133, 134, 135, 136, 137, + 152, 153, 154, 155, 156, 157, 0, 158, 159, 160, + 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, + 171, 302, 0, 0, 333, 334, 335, 319, 0, 206, + 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 209, + 0, 0, 234, 0, 0, 0, 0, 0, 0, 294, + 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 133, 0, 0, 0, 0, 0, 0, 190, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 193, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1802, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 181, 299, 315, 191, 290, + 328, 196, 297, 186, 263, 286, 0, 0, 183, 313, + 296, 245, 228, 229, 182, 0, 281, 207, 220, 203, + 261, 0, 312, 340, 202, 331, 0, 323, 185, 0, + 322, 260, 309, 314, 246, 240, 184, 311, 244, 239, + 232, 211, 0, 224, 272, 238, 273, 225, 250, 249, + 251, 0, 0, 0, 0, 0, 351, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 325, 0, 0, 0, 0, 0, 0, + 298, 0, 0, 233, 0, 0, 0, 341, 0, 284, + 266, 0, 0, 0, 282, 236, 310, 274, 316, 300, + 324, 278, 275, 176, 301, 205, 247, 187, 189, 201, + 208, 210, 212, 213, 256, 257, 269, 289, 303, 304, + 305, 204, 197, 283, 198, 222, 199, 177, 291, 200, + 179, 270, 308, 0, 218, 279, 243, 180, 242, 271, + 307, 306, 188, 332, 338, 339, 343, 0, 344, 0, + 0, 0, 352, 0, 0, 0, 0, 0, 346, 0, + 0, 0, 0, 0, 0, 337, 216, 173, 174, 320, + 0, 262, 0, 0, 0, 0, 0, 0, 0, 0, + 258, 336, 0, 0, 0, 0, 287, 0, 0, 0, + 0, 0, 227, 268, 0, 288, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 295, 318, + 330, 347, 350, 0, 0, 0, 178, 349, 0, 0, + 0, 0, 0, 0, 0, 321, 0, 0, 0, 329, + 0, 0, 0, 0, 0, 345, 252, 253, 254, 255, + 219, 0, 195, 348, 277, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 342, 215, 221, 0, 223, 194, 267, 217, 327, + 230, 0, 0, 0, 259, 226, 292, 231, 237, 280, + 326, 265, 285, 192, 317, 293, 241, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 175, 0, 235, + 0, 276, 214, 136, 137, 138, 139, 140, 141, 142, + 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 0, 158, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 302, 0, 0, 333, 334, 335, 319, 0, 206, 0, + 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 209, 0, + 0, 234, 0, 0, 0, 0, 0, 0, 294, 248, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, + 0, 0, 1800, 0, 0, 0, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 193, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 181, 299, 315, 191, 290, 328, + 196, 297, 186, 263, 286, 0, 0, 183, 313, 296, + 245, 228, 229, 182, 0, 281, 207, 220, 203, 261, + 0, 312, 340, 202, 331, 0, 323, 185, 0, 322, + 260, 309, 314, 246, 240, 184, 311, 244, 239, 232, + 211, 0, 224, 272, 238, 273, 225, 250, 249, 251, + 0, 0, 0, 0, 0, 351, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 325, 0, 0, 0, 0, 0, 0, 298, + 0, 0, 233, 0, 0, 0, 341, 0, 284, 266, + 0, 0, 0, 282, 236, 310, 274, 316, 300, 324, + 278, 275, 176, 301, 205, 247, 187, 189, 201, 208, + 210, 212, 213, 256, 257, 269, 289, 303, 304, 305, + 204, 197, 283, 198, 222, 199, 177, 291, 200, 179, + 270, 308, 0, 218, 279, 243, 180, 242, 271, 307, + 306, 188, 332, 338, 339, 343, 0, 344, 0, 0, + 0, 352, 0, 0, 0, 0, 0, 346, 0, 0, + 0, 0, 0, 0, 337, 216, 173, 174, 320, 0, + 262, 0, 0, 0, 0, 0, 0, 0, 0, 258, + 336, 0, 0, 0, 0, 287, 0, 0, 0, 0, + 0, 227, 268, 0, 288, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 295, 318, 330, + 347, 350, 0, 0, 0, 178, 349, 0, 0, 0, + 0, 0, 0, 0, 321, 0, 0, 0, 329, 0, + 0, 0, 0, 0, 345, 252, 253, 254, 255, 219, + 0, 195, 348, 277, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 342, 215, 221, 0, 223, 194, 267, 217, 327, 230, + 0, 0, 0, 259, 226, 292, 231, 237, 280, 326, + 265, 285, 192, 317, 293, 241, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 175, 0, 235, 0, + 276, 214, 136, 137, 138, 139, 140, 141, 142, 143, + 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, + 154, 155, 156, 157, 0, 158, 159, 160, 161, 162, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 0, + 0, 0, 333, 334, 335, 319, 302, 206, 0, 0, + 1727, 0, 0, 0, 0, 0, 0, 264, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 209, 0, 0, 234, 0, 0, + 0, 0, 0, 0, 294, 248, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 133, 0, 0, 0, 0, + 0, 0, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 193, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 181, 299, 315, 191, 290, 328, 196, 297, 186, 263, + 286, 0, 0, 183, 313, 296, 245, 228, 229, 182, + 0, 281, 207, 220, 203, 261, 0, 312, 340, 202, + 331, 0, 323, 185, 0, 322, 260, 309, 314, 246, + 240, 184, 311, 244, 239, 232, 211, 0, 224, 272, + 238, 273, 225, 250, 249, 251, 0, 0, 0, 0, + 0, 351, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 325, 0, + 0, 0, 0, 0, 0, 298, 0, 0, 233, 0, + 0, 0, 341, 0, 284, 266, 0, 0, 0, 282, + 236, 310, 274, 316, 300, 324, 278, 275, 176, 301, + 205, 247, 187, 189, 201, 208, 210, 212, 213, 256, + 257, 269, 289, 303, 304, 305, 204, 197, 283, 198, + 222, 199, 177, 291, 200, 179, 270, 308, 0, 218, + 279, 243, 180, 242, 271, 307, 306, 188, 332, 338, + 339, 343, 0, 344, 0, 0, 0, 352, 0, 0, + 0, 0, 0, 346, 0, 0, 0, 0, 0, 0, + 337, 216, 173, 174, 320, 0, 262, 0, 0, 0, + 0, 0, 0, 0, 0, 258, 336, 0, 0, 0, + 0, 287, 0, 0, 0, 0, 0, 227, 268, 0, + 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 295, 318, 330, 347, 350, 0, 0, + 0, 178, 349, 0, 0, 0, 0, 0, 0, 0, + 321, 0, 0, 0, 329, 0, 0, 0, 0, 0, + 345, 252, 253, 254, 255, 219, 0, 195, 348, 277, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 342, 215, 221, 0, + 223, 194, 267, 217, 327, 230, 0, 0, 0, 259, + 226, 292, 231, 237, 280, 326, 265, 285, 192, 317, + 293, 241, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 172, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 175, 0, 235, 0, 276, 214, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, - 148, 149, 150, 151, 152, 153, 0, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 298, 0, 0, 329, 330, 331, 315, 0, 202, - 0, 0, 260, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1714, 0, 0, 0, 0, 205, - 0, 0, 230, 0, 0, 0, 0, 0, 0, 290, - 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 676, 677, 678, 1716, 0, 0, 0, 186, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 189, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 177, 295, 311, 187, 286, - 324, 192, 293, 182, 259, 282, 0, 0, 179, 309, - 292, 241, 224, 225, 178, 0, 277, 203, 216, 199, - 257, 0, 308, 336, 198, 327, 0, 319, 181, 0, - 318, 256, 305, 310, 242, 236, 180, 307, 240, 235, - 228, 207, 0, 220, 268, 234, 269, 221, 246, 245, - 247, 0, 0, 0, 0, 0, 347, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 321, 0, 0, 0, 0, 0, 0, 294, - 0, 0, 229, 0, 0, 0, 337, 0, 280, 262, - 0, 0, 0, 278, 232, 306, 270, 312, 296, 320, - 274, 271, 172, 297, 201, 243, 183, 185, 197, 204, - 206, 208, 209, 252, 253, 265, 285, 299, 300, 301, - 200, 193, 279, 194, 218, 195, 173, 287, 196, 175, - 266, 304, 0, 214, 275, 239, 176, 238, 267, 303, - 302, 184, 328, 334, 335, 339, 0, 340, 0, 0, - 0, 0, 0, 0, 0, 0, 342, 0, 0, 0, - 0, 0, 0, 333, 212, 169, 170, 316, 0, 258, - 0, 0, 0, 0, 0, 0, 0, 0, 254, 332, - 0, 0, 0, 0, 283, 0, 0, 0, 0, 0, - 223, 264, 0, 284, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 291, 314, 326, 343, - 346, 0, 0, 0, 174, 345, 0, 0, 0, 0, - 0, 0, 0, 317, 0, 0, 0, 325, 0, 0, - 0, 0, 0, 341, 248, 249, 250, 251, 215, 0, - 191, 344, 273, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 298, 338, - 211, 217, 0, 219, 190, 263, 213, 323, 226, 260, - 0, 0, 255, 222, 288, 227, 233, 276, 322, 261, - 281, 188, 313, 289, 237, 0, 205, 0, 0, 230, - 0, 0, 0, 0, 0, 0, 290, 244, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 676, 677, 678, - 1716, 0, 0, 0, 186, 171, 0, 231, 0, 272, - 210, 0, 0, 0, 189, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 329, 330, 331, 315, 0, 202, 0, 0, 0, - 0, 0, 177, 295, 311, 187, 286, 324, 192, 293, - 182, 259, 282, 0, 0, 179, 309, 292, 241, 224, - 225, 178, 0, 277, 203, 216, 199, 257, 0, 308, - 336, 198, 327, 0, 319, 181, 0, 318, 256, 305, - 310, 242, 236, 180, 307, 240, 235, 228, 207, 0, - 220, 268, 234, 269, 221, 246, 245, 247, 0, 0, - 0, 0, 0, 347, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, - 0, 0, 0, 0, 0, 0, 294, 0, 0, 229, - 0, 0, 0, 337, 0, 280, 262, 0, 0, 0, - 278, 232, 306, 270, 312, 296, 320, 274, 271, 172, - 297, 201, 243, 183, 185, 197, 204, 206, 208, 209, - 252, 253, 265, 285, 299, 300, 301, 200, 193, 279, - 194, 218, 195, 173, 287, 196, 175, 266, 304, 0, - 214, 275, 239, 176, 238, 267, 303, 302, 184, 328, - 334, 335, 339, 0, 340, 0, 0, 0, 0, 0, - 0, 0, 0, 342, 0, 0, 0, 0, 0, 0, - 333, 212, 169, 170, 316, 0, 258, 0, 0, 0, - 0, 0, 0, 0, 0, 254, 332, 0, 0, 0, - 0, 283, 0, 0, 0, 0, 0, 223, 264, 0, - 284, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 291, 314, 326, 343, 346, 0, 0, - 0, 174, 345, 0, 0, 0, 0, 0, 0, 0, - 317, 0, 0, 0, 325, 0, 0, 0, 0, 0, - 341, 248, 249, 250, 251, 215, 0, 191, 344, 273, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 298, 338, 211, 217, 0, - 219, 190, 263, 213, 323, 226, 260, 0, 0, 255, - 222, 288, 227, 233, 276, 322, 261, 281, 188, 313, - 289, 237, 0, 205, 0, 0, 230, 0, 0, 0, - 0, 0, 0, 290, 244, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 676, 677, 678, 0, 0, 0, - 0, 186, 171, 0, 231, 0, 272, 210, 0, 0, - 0, 189, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, - 331, 315, 0, 202, 0, 0, 0, 0, 0, 177, - 295, 311, 187, 286, 324, 192, 293, 182, 259, 282, - 0, 0, 179, 309, 292, 241, 224, 225, 178, 0, - 277, 203, 216, 199, 257, 0, 308, 336, 198, 327, - 0, 319, 181, 0, 318, 256, 305, 310, 242, 236, - 180, 307, 240, 235, 228, 207, 0, 220, 268, 234, - 269, 221, 246, 245, 247, 0, 0, 0, 0, 0, - 347, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, + 0, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 302, 0, 0, 333, 334, + 335, 319, 0, 206, 0, 0, 264, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 209, 0, 0, 234, 0, 0, 0, + 0, 0, 0, 294, 248, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 133, 0, 0, 0, 0, 0, + 0, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, + 299, 315, 191, 290, 328, 196, 297, 186, 263, 286, + 0, 0, 183, 313, 296, 245, 228, 229, 182, 0, + 281, 207, 220, 203, 261, 0, 312, 340, 202, 331, + 0, 323, 185, 0, 322, 260, 309, 314, 246, 240, + 184, 311, 244, 239, 232, 211, 0, 224, 272, 238, + 273, 225, 250, 249, 251, 0, 0, 0, 0, 0, + 351, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 325, 0, 0, + 1709, 0, 0, 0, 298, 0, 0, 233, 0, 0, + 0, 341, 0, 284, 266, 0, 0, 0, 282, 236, + 310, 274, 316, 300, 324, 278, 275, 176, 301, 205, + 247, 187, 189, 201, 208, 210, 212, 213, 256, 257, + 269, 289, 303, 304, 305, 204, 197, 283, 198, 222, + 199, 177, 291, 200, 179, 270, 308, 0, 218, 279, + 243, 180, 242, 271, 307, 306, 188, 332, 338, 339, + 343, 0, 344, 0, 0, 0, 352, 0, 0, 0, + 0, 0, 346, 0, 0, 0, 0, 0, 0, 337, + 216, 173, 174, 320, 0, 262, 0, 0, 0, 0, + 0, 0, 0, 0, 258, 336, 0, 0, 0, 0, + 287, 0, 0, 0, 0, 0, 227, 268, 0, 288, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 295, 318, 330, 347, 350, 0, 0, 0, + 178, 349, 0, 0, 0, 0, 0, 0, 0, 321, + 0, 0, 0, 329, 0, 0, 0, 0, 0, 345, + 252, 253, 254, 255, 219, 0, 195, 348, 277, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 342, 215, 221, 0, 223, + 194, 267, 217, 327, 230, 0, 0, 0, 259, 226, + 292, 231, 237, 280, 326, 265, 285, 192, 317, 293, + 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 172, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 175, 0, 235, 0, 276, 214, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 0, + 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 302, 0, 0, 333, 334, 335, + 319, 0, 206, 0, 0, 264, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 209, 0, 0, 234, 0, 0, 0, 0, + 0, 0, 294, 248, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 133, 0, 0, 0, 0, 0, 0, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 181, 299, + 315, 191, 290, 328, 196, 297, 186, 263, 286, 0, + 0, 183, 313, 296, 245, 228, 229, 182, 0, 281, + 207, 220, 203, 261, 0, 312, 340, 202, 331, 0, + 323, 185, 0, 322, 260, 309, 314, 246, 240, 184, + 311, 244, 239, 232, 211, 0, 224, 272, 238, 273, + 225, 250, 249, 251, 0, 0, 0, 0, 0, 351, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 325, 0, 0, 0, + 0, 0, 0, 298, 0, 0, 233, 0, 0, 0, + 341, 0, 284, 266, 0, 0, 0, 282, 236, 310, + 274, 316, 300, 324, 278, 275, 176, 301, 205, 247, + 187, 189, 201, 208, 210, 212, 213, 256, 257, 269, + 289, 303, 304, 305, 204, 197, 283, 198, 222, 199, + 177, 291, 200, 179, 270, 308, 0, 218, 279, 243, + 180, 242, 271, 307, 306, 188, 332, 338, 339, 343, + 0, 344, 0, 0, 0, 352, 0, 0, 0, 0, + 0, 346, 0, 0, 0, 0, 0, 0, 337, 216, + 173, 174, 320, 0, 262, 0, 0, 0, 0, 0, + 0, 0, 0, 258, 336, 0, 0, 0, 0, 287, + 0, 0, 0, 0, 0, 227, 268, 0, 288, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 295, 318, 330, 347, 350, 0, 0, 0, 178, + 349, 0, 0, 0, 0, 0, 0, 0, 321, 0, + 0, 0, 329, 0, 0, 0, 0, 0, 345, 252, + 253, 254, 255, 219, 0, 195, 348, 277, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 342, 215, 221, 0, 223, 194, + 267, 217, 327, 230, 0, 0, 0, 259, 226, 292, + 231, 237, 280, 326, 265, 285, 192, 317, 293, 241, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 172, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 597, 0, 0, 0, + 175, 0, 235, 0, 276, 214, 136, 137, 138, 139, + 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, + 150, 151, 152, 153, 154, 155, 156, 157, 0, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 302, 0, 0, 333, 334, 335, 319, + 0, 206, 0, 0, 264, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 209, 0, 0, 234, 0, 0, 0, 0, 0, + 0, 294, 248, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 133, 0, 0, 0, 0, 0, 0, 190, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 181, 299, 315, + 191, 290, 328, 196, 297, 186, 263, 286, 0, 0, + 183, 313, 296, 245, 228, 229, 182, 0, 281, 207, + 220, 203, 261, 0, 312, 340, 202, 331, 0, 323, + 185, 0, 322, 260, 309, 314, 246, 240, 184, 311, + 244, 239, 232, 211, 0, 224, 272, 238, 273, 225, + 250, 249, 251, 0, 0, 0, 0, 0, 351, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 325, 0, 0, 0, 0, + 0, 0, 298, 0, 0, 233, 0, 0, 0, 341, + 0, 284, 266, 0, 0, 0, 282, 236, 310, 274, + 316, 300, 324, 381, 275, 176, 301, 205, 247, 187, + 189, 201, 208, 210, 212, 213, 256, 257, 269, 289, + 303, 304, 305, 204, 197, 283, 198, 222, 199, 177, + 291, 200, 179, 270, 308, 0, 218, 279, 243, 180, + 242, 271, 307, 306, 188, 332, 338, 339, 343, 0, + 344, 0, 0, 0, 352, 0, 0, 0, 0, 0, + 346, 0, 0, 0, 0, 0, 0, 337, 216, 173, + 174, 320, 0, 262, 0, 0, 0, 0, 0, 0, + 0, 0, 258, 336, 0, 0, 0, 0, 287, 0, + 0, 0, 0, 0, 227, 268, 0, 288, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 295, 318, 330, 347, 350, 0, 0, 0, 178, 349, + 0, 0, 0, 0, 0, 0, 382, 321, 0, 0, + 0, 329, 0, 0, 0, 0, 0, 345, 252, 253, + 254, 255, 219, 0, 195, 348, 277, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 342, 215, 221, 0, 223, 194, 267, + 217, 327, 230, 0, 0, 0, 259, 226, 292, 231, + 237, 280, 326, 265, 285, 192, 317, 293, 241, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 172, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, + 0, 235, 0, 276, 214, 136, 137, 138, 139, 140, + 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 0, 158, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 302, 0, 0, 333, 334, 335, 319, 0, + 206, 0, 0, 264, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 209, 0, 0, 234, 0, 0, 0, 0, 0, 0, + 294, 248, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 133, 0, 0, 0, 0, 0, 0, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 193, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 181, 299, 315, 191, + 290, 328, 196, 297, 186, 263, 286, 0, 0, 183, + 313, 296, 245, 228, 229, 182, 0, 281, 207, 220, + 203, 261, 0, 312, 340, 202, 331, 0, 323, 185, + 0, 322, 260, 309, 314, 246, 240, 184, 311, 244, + 239, 232, 211, 0, 224, 272, 238, 273, 225, 250, + 249, 251, 0, 0, 0, 0, 0, 351, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 360, 0, 325, 0, 0, 0, 0, 0, + 0, 298, 0, 0, 233, 0, 0, 0, 341, 0, + 284, 266, 0, 0, 0, 282, 236, 310, 274, 316, + 300, 324, 278, 275, 176, 301, 205, 247, 187, 189, + 201, 208, 210, 212, 213, 256, 257, 269, 289, 303, + 304, 305, 204, 197, 283, 198, 222, 199, 177, 291, + 200, 179, 270, 308, 0, 218, 279, 243, 180, 242, + 271, 307, 306, 188, 332, 338, 339, 343, 0, 344, + 0, 0, 0, 352, 0, 0, 0, 0, 0, 346, + 0, 0, 0, 0, 0, 0, 337, 216, 173, 174, + 320, 0, 262, 0, 0, 0, 0, 0, 0, 0, + 0, 258, 336, 0, 0, 0, 0, 287, 0, 0, + 0, 0, 0, 227, 268, 0, 288, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, + 318, 330, 347, 350, 0, 0, 0, 178, 349, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, - 0, 0, 0, 294, 0, 0, 229, 0, 0, 0, - 337, 0, 280, 262, 0, 0, 0, 278, 232, 306, - 270, 312, 296, 320, 274, 271, 172, 297, 201, 243, - 183, 185, 197, 204, 206, 208, 209, 252, 253, 265, - 285, 299, 300, 301, 200, 193, 279, 194, 218, 195, - 173, 287, 196, 175, 266, 304, 0, 214, 275, 239, - 176, 238, 267, 303, 302, 184, 328, 334, 335, 339, - 0, 340, 0, 0, 0, 0, 0, 0, 0, 0, - 342, 0, 0, 0, 0, 0, 0, 333, 212, 169, - 170, 316, 122, 258, 37, 112, 93, 0, 0, 0, - 0, 0, 254, 332, 0, 0, 0, 0, 283, 0, - 0, 0, 117, 0, 223, 264, 0, 284, 0, 105, - 0, 0, 0, 0, 0, 0, 0, 0, 84, 0, - 291, 314, 326, 343, 346, 0, 0, 0, 174, 345, - 0, 0, 0, 70, 0, 0, 0, 317, 0, 119, - 0, 325, 0, 0, 0, 0, 0, 341, 248, 249, - 250, 251, 215, 0, 191, 344, 273, 754, 755, 756, - 753, 0, 0, 0, 0, 2254, 0, 0, 0, 0, - 0, 0, 0, 338, 211, 217, 0, 219, 190, 263, - 213, 323, 226, 0, 0, 0, 255, 222, 288, 227, - 233, 276, 322, 261, 281, 188, 313, 289, 237, 1668, - 0, 0, 0, 862, 0, 0, 0, 113, 114, 0, - 115, 116, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2674, 0, 0, 0, - 0, 0, 1146, 0, 0, 0, 2236, 0, 0, 171, - 0, 231, 0, 272, 210, 0, 0, 0, 592, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 92, 111, 120, 0, 68, - 0, 0, 0, 0, 0, 329, 330, 331, 315, 0, - 202, 0, 0, 0, 0, 110, 104, 103, 0, 0, - 0, 0, 43, 850, 0, 0, 0, 0, 0, 620, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 870, 874, 876, 878, 880, 881, 883, 0, 887, - 884, 885, 886, 0, 0, 865, 866, 867, 868, 848, - 849, 871, 0, 851, 0, 852, 853, 854, 855, 856, - 857, 858, 859, 860, 861, 863, 869, 0, 0, 0, - 106, 107, 108, 0, 873, 875, 877, 879, 882, 0, - 2240, 0, 0, 0, 0, 1142, 0, 0, 1139, 0, - 0, 2244, 1141, 1138, 1140, 1144, 1145, 0, 622, 0, - 1143, 621, 0, 0, 0, 0, 78, 0, 0, 864, - 109, 2233, 79, 0, 0, 2235, 2237, 2239, 0, 2241, - 2242, 2243, 2245, 2246, 2247, 2249, 2250, 2251, 2252, 0, - 0, 0, 0, 0, 0, 607, 0, 0, 0, 2254, - 0, 0, 593, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2255, 0, 0, 0, 0, 80, 0, 0, 612, 0, - 0, 0, 0, 1668, 81, 36, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2253, 0, 0, 0, - 0, 0, 0, 0, 2254, 0, 0, 0, 0, 0, - 2236, 0, 0, 2232, 0, 0, 0, 38, 0, 1127, - 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, - 1149, 1150, 1151, 1152, 1153, 1154, 1147, 1148, 1668, 0, - 0, 0, 2248, 0, 0, 0, 591, 0, 0, 2238, - 94, 0, 0, 0, 0, 0, 0, 594, 615, 0, - 0, 0, 0, 0, 0, 0, 0, 2334, 0, 0, - 0, 0, 0, 0, 0, 2236, 0, 0, 0, 0, - 0, 610, 0, 0, 0, 0, 0, 396, 0, 395, - 402, 392, 0, 0, 0, 0, 0, 0, 82, 83, - 87, 399, 400, 0, 401, 405, 0, 0, 387, 0, - 0, 0, 0, 611, 616, 0, 0, 0, 410, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 604, 0, 606, 619, 0, 0, 0, 603, 601, 600, - 0, 605, 595, 596, 2240, 617, 618, 414, 0, 872, - 415, 0, 0, 0, 0, 2244, 0, 613, 614, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2262, 0, 2233, 0, 0, 0, 2235, - 2237, 2239, 0, 2241, 2242, 2243, 2245, 2246, 2247, 2249, - 2250, 2251, 2252, 0, 608, 0, 0, 2272, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2240, - 2265, 0, 0, 0, 0, 0, 2260, 0, 0, 0, - 2244, 2275, 2276, 0, 2255, 0, 0, 2261, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2233, 0, 0, 0, 2235, 2237, 2239, 0, 2241, 2242, - 2243, 2245, 2246, 2247, 2249, 2250, 2251, 2252, 0, 0, - 2253, 0, 2266, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2232, 0, 0, - 388, 390, 389, 0, 0, 0, 0, 0, 394, 2255, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 398, 0, 0, 0, 0, 0, 2248, 413, 0, 0, - 0, 0, 0, 2238, 391, 0, 0, 396, 382, 395, - 402, 392, 0, 0, 0, 2253, 0, 0, 0, 0, - 0, 399, 400, 0, 401, 405, 0, 0, 387, 0, - 0, 396, 2232, 395, 402, 392, 0, 0, 410, 2274, - 0, 2048, 0, 0, 0, 399, 400, 0, 401, 405, - 0, 0, 387, 0, 0, 0, 0, 0, 0, 0, - 0, 2248, 410, 0, 0, 0, 2268, 414, 2238, 0, - 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2267, 2269, - 0, 0, 0, 0, 0, 393, 397, 403, 0, 404, - 406, 0, 0, 407, 408, 409, 0, 0, 411, 412, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2277, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2263, 0, 0, - 0, 0, 0, 2273, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 388, 390, 389, 0, 0, 0, 0, 0, 394, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 398, 0, 0, 0, 388, 390, 389, 413, 0, 0, - 0, 0, 394, 0, 391, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 398, 0, 0, 0, 0, 0, - 0, 413, 0, 0, 0, 0, 0, 0, 391, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 393, 397, 403, 0, 404, - 406, 0, 0, 407, 408, 409, 0, 0, 411, 412, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 393, - 397, 403, 0, 404, 406, 0, 0, 407, 408, 409, - 0, 0, 411, 412, + 329, 0, 0, 0, 0, 0, 345, 252, 253, 254, + 255, 219, 0, 195, 348, 277, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 342, 215, 221, 0, 223, 194, 267, 217, + 327, 230, 0, 0, 0, 259, 226, 292, 231, 237, + 280, 326, 265, 285, 192, 317, 293, 241, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 172, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 175, 0, + 235, 0, 276, 214, 136, 137, 138, 139, 140, 141, + 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, 0, 158, 159, 160, + 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, + 171, 302, 0, 0, 333, 334, 335, 319, 0, 206, + 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 130, 209, + 0, 0, 234, 0, 0, 0, 0, 0, 0, 294, + 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 133, 0, 0, 0, 0, 0, 0, 190, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 193, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 181, 299, 315, 191, 290, + 328, 196, 297, 186, 263, 286, 0, 0, 183, 313, + 296, 245, 228, 229, 182, 0, 281, 207, 220, 203, + 261, 0, 312, 340, 202, 331, 0, 323, 185, 0, + 322, 260, 309, 314, 246, 240, 184, 311, 244, 239, + 232, 211, 0, 224, 272, 238, 273, 225, 250, 249, + 251, 0, 0, 0, 0, 0, 351, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 325, 0, 0, 0, 0, 0, 0, + 298, 0, 0, 233, 0, 0, 0, 341, 0, 284, + 266, 0, 0, 0, 282, 236, 310, 274, 316, 300, + 324, 278, 275, 176, 301, 205, 247, 187, 189, 201, + 208, 210, 212, 213, 256, 257, 269, 289, 303, 304, + 305, 204, 197, 283, 198, 222, 199, 177, 291, 200, + 179, 270, 308, 0, 218, 279, 243, 180, 242, 271, + 307, 306, 188, 332, 338, 339, 343, 0, 344, 0, + 0, 0, 352, 0, 0, 0, 0, 0, 346, 0, + 0, 0, 0, 0, 0, 337, 216, 173, 174, 320, + 0, 262, 0, 0, 0, 0, 0, 0, 0, 0, + 258, 336, 0, 0, 0, 0, 287, 0, 0, 0, + 0, 0, 227, 268, 0, 288, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 295, 318, + 330, 347, 350, 0, 0, 0, 178, 349, 0, 0, + 0, 0, 0, 0, 0, 321, 0, 0, 0, 329, + 0, 0, 0, 0, 0, 345, 252, 253, 254, 255, + 219, 0, 195, 348, 277, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 342, 215, 221, 0, 223, 194, 267, 217, 327, + 230, 0, 0, 0, 259, 226, 292, 231, 237, 280, + 326, 265, 285, 192, 317, 293, 241, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 175, 0, 235, + 0, 276, 214, 136, 137, 138, 139, 140, 141, 142, + 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 0, 158, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 302, 0, 0, 333, 334, 335, 319, 0, 206, 0, + 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 209, 0, + 0, 234, 0, 0, 0, 0, 0, 0, 294, 248, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, + 0, 0, 0, 0, 0, 0, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 193, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 181, 299, 315, 191, 290, 328, + 196, 297, 186, 263, 286, 0, 0, 183, 313, 296, + 245, 228, 229, 182, 0, 281, 207, 220, 203, 261, + 0, 312, 340, 202, 331, 0, 323, 185, 0, 322, + 260, 309, 314, 246, 240, 184, 311, 244, 239, 232, + 211, 0, 224, 272, 238, 273, 225, 250, 249, 251, + 0, 0, 0, 0, 0, 351, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 325, 0, 0, 0, 0, 0, 0, 298, + 0, 0, 233, 0, 0, 0, 341, 0, 284, 266, + 0, 0, 0, 282, 236, 310, 274, 316, 300, 324, + 278, 275, 176, 301, 205, 247, 187, 189, 201, 208, + 210, 212, 213, 256, 257, 269, 289, 303, 304, 305, + 204, 197, 283, 198, 222, 199, 177, 291, 200, 179, + 270, 308, 0, 218, 279, 243, 180, 242, 271, 307, + 306, 188, 332, 338, 339, 343, 0, 344, 0, 0, + 0, 352, 0, 0, 0, 0, 0, 346, 0, 0, + 0, 0, 0, 0, 337, 216, 173, 174, 320, 0, + 262, 0, 0, 0, 0, 0, 0, 0, 0, 258, + 336, 0, 0, 0, 0, 287, 0, 0, 0, 0, + 0, 227, 268, 0, 288, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 295, 318, 330, + 347, 350, 0, 0, 0, 178, 349, 0, 0, 0, + 0, 0, 0, 0, 321, 0, 0, 0, 329, 0, + 0, 0, 0, 0, 345, 252, 253, 254, 255, 219, + 0, 195, 348, 277, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 342, 215, 221, 0, 223, 194, 267, 217, 327, 230, + 0, 0, 0, 259, 226, 292, 231, 237, 280, 326, + 265, 285, 192, 317, 293, 241, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 175, 0, 235, 0, + 276, 214, 136, 137, 138, 139, 140, 141, 142, 143, + 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, + 154, 155, 156, 157, 0, 158, 159, 160, 161, 162, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 302, + 0, 0, 333, 334, 335, 319, 0, 206, 0, 0, + 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 209, 0, 0, + 234, 0, 0, 0, 0, 0, 0, 294, 248, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, + 0, 0, 0, 0, 0, 190, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 193, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 181, 299, 315, 191, 290, 328, 196, + 297, 186, 263, 286, 0, 0, 183, 313, 296, 245, + 228, 229, 182, 0, 281, 207, 220, 203, 261, 0, + 312, 340, 202, 331, 0, 323, 185, 0, 322, 260, + 309, 314, 246, 240, 184, 311, 244, 239, 232, 211, + 0, 224, 272, 238, 273, 225, 250, 249, 251, 0, + 0, 0, 0, 0, 351, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 325, 0, 0, 0, 0, 0, 0, 298, 0, + 0, 233, 0, 0, 0, 341, 0, 284, 266, 0, + 0, 0, 282, 236, 310, 274, 316, 300, 324, 278, + 275, 176, 301, 205, 247, 187, 189, 421, 208, 210, + 212, 213, 256, 257, 269, 289, 303, 304, 305, 204, + 197, 283, 198, 222, 199, 177, 291, 200, 179, 270, + 308, 0, 218, 279, 243, 180, 242, 271, 307, 306, + 188, 332, 338, 339, 343, 0, 344, 0, 0, 0, + 352, 0, 0, 0, 0, 0, 346, 0, 0, 0, + 0, 0, 0, 337, 216, 173, 174, 320, 0, 262, + 0, 0, 0, 0, 0, 0, 0, 0, 258, 336, + 0, 0, 0, 0, 287, 0, 0, 0, 0, 0, + 227, 268, 0, 288, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 295, 318, 330, 347, + 350, 0, 0, 0, 178, 349, 0, 0, 0, 0, + 0, 0, 0, 321, 0, 0, 0, 329, 0, 0, + 0, 0, 0, 345, 252, 253, 254, 255, 219, 0, + 195, 348, 277, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 342, + 215, 221, 0, 223, 194, 267, 217, 327, 230, 0, + 0, 0, 259, 226, 292, 231, 237, 280, 326, 265, + 285, 192, 317, 293, 241, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 175, 0, 235, 0, 276, + 214, 136, 137, 138, 139, 140, 141, 142, 143, 144, + 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 0, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 302, 0, + 0, 333, 334, 335, 319, 0, 206, 0, 0, 264, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1770, 0, 0, 0, 0, 209, 0, 0, 234, + 0, 0, 0, 0, 0, 0, 294, 248, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 686, 687, 688, + 1772, 0, 0, 0, 190, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 181, 299, 315, 191, 290, 328, 196, 297, + 186, 263, 286, 0, 0, 183, 313, 296, 245, 228, + 229, 182, 0, 281, 207, 220, 203, 261, 0, 312, + 340, 202, 331, 0, 323, 185, 0, 322, 260, 309, + 314, 246, 240, 184, 311, 244, 239, 232, 211, 0, + 224, 272, 238, 273, 225, 250, 249, 251, 0, 0, + 0, 0, 0, 351, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 325, 0, 0, 0, 0, 0, 0, 298, 0, 0, + 233, 0, 0, 0, 341, 0, 284, 266, 0, 0, + 0, 282, 236, 310, 274, 316, 300, 324, 278, 275, + 176, 301, 205, 247, 187, 189, 201, 208, 210, 212, + 213, 256, 257, 269, 289, 303, 304, 305, 204, 197, + 283, 198, 222, 199, 177, 291, 200, 179, 270, 308, + 0, 218, 279, 243, 180, 242, 271, 307, 306, 188, + 332, 338, 339, 343, 0, 344, 0, 0, 0, 352, + 0, 0, 0, 0, 0, 346, 0, 0, 0, 0, + 0, 0, 337, 216, 173, 174, 320, 0, 262, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 336, 0, + 0, 0, 0, 287, 0, 0, 0, 0, 0, 227, + 268, 0, 288, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 295, 318, 330, 347, 350, + 0, 0, 0, 178, 349, 0, 0, 0, 0, 0, + 0, 0, 321, 0, 0, 0, 329, 0, 0, 0, + 0, 0, 345, 252, 253, 254, 255, 219, 0, 195, + 348, 277, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 302, 342, 215, + 221, 0, 223, 194, 267, 217, 327, 230, 264, 0, + 0, 259, 226, 292, 231, 237, 280, 326, 265, 285, + 192, 317, 293, 241, 0, 209, 0, 0, 234, 0, + 0, 0, 0, 0, 0, 294, 248, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 686, 687, 688, 1772, + 0, 0, 0, 190, 175, 0, 235, 0, 276, 214, + 0, 0, 0, 193, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 333, 334, 335, 319, 0, 206, 0, 0, 0, 0, + 0, 181, 299, 315, 191, 290, 328, 196, 297, 186, + 263, 286, 0, 0, 183, 313, 296, 245, 228, 229, + 182, 0, 281, 207, 220, 203, 261, 0, 312, 340, + 202, 331, 0, 323, 185, 0, 322, 260, 309, 314, + 246, 240, 184, 311, 244, 239, 232, 211, 0, 224, + 272, 238, 273, 225, 250, 249, 251, 0, 0, 0, + 0, 0, 351, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, + 0, 0, 0, 0, 0, 0, 298, 0, 0, 233, + 0, 0, 0, 341, 0, 284, 266, 0, 0, 0, + 282, 236, 310, 274, 316, 300, 324, 278, 275, 176, + 301, 205, 247, 187, 189, 201, 208, 210, 212, 213, + 256, 257, 269, 289, 303, 304, 305, 204, 197, 283, + 198, 222, 199, 177, 291, 200, 179, 270, 308, 0, + 218, 279, 243, 180, 242, 271, 307, 306, 188, 332, + 338, 339, 343, 0, 344, 0, 0, 0, 352, 0, + 0, 0, 0, 0, 346, 0, 0, 0, 0, 0, + 0, 337, 216, 173, 174, 320, 0, 262, 0, 0, + 0, 0, 0, 0, 0, 0, 258, 336, 0, 0, + 0, 0, 287, 0, 0, 0, 0, 0, 227, 268, + 0, 288, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 295, 318, 330, 347, 350, 0, + 0, 0, 178, 349, 0, 0, 0, 0, 0, 0, + 0, 321, 0, 0, 0, 329, 0, 0, 0, 0, + 0, 345, 252, 253, 254, 255, 219, 0, 195, 348, + 277, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 302, 342, 215, 221, + 0, 223, 194, 267, 217, 327, 230, 264, 0, 0, + 259, 226, 292, 231, 237, 280, 326, 265, 285, 192, + 317, 293, 241, 0, 209, 0, 0, 234, 0, 0, + 0, 0, 0, 0, 294, 248, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 686, 687, 688, 0, 0, + 0, 0, 190, 175, 0, 235, 0, 276, 214, 0, + 0, 0, 193, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, + 334, 335, 319, 0, 206, 0, 0, 0, 0, 0, + 181, 299, 315, 191, 290, 328, 196, 297, 186, 263, + 286, 0, 0, 183, 313, 296, 245, 228, 229, 182, + 0, 281, 207, 220, 203, 261, 0, 312, 340, 202, + 331, 0, 323, 185, 0, 322, 260, 309, 314, 246, + 240, 184, 311, 244, 239, 232, 211, 0, 224, 272, + 238, 273, 225, 250, 249, 251, 0, 0, 0, 0, + 0, 351, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 325, 0, + 0, 0, 0, 0, 0, 298, 0, 0, 233, 0, + 0, 0, 341, 0, 284, 266, 0, 0, 0, 282, + 236, 310, 274, 316, 300, 324, 278, 275, 176, 301, + 205, 247, 187, 189, 201, 208, 210, 212, 213, 256, + 257, 269, 289, 303, 304, 305, 204, 197, 283, 198, + 222, 199, 177, 291, 200, 179, 270, 308, 0, 218, + 279, 243, 180, 242, 271, 307, 306, 188, 332, 338, + 339, 343, 0, 344, 0, 0, 0, 352, 0, 0, + 0, 0, 0, 346, 0, 0, 0, 0, 0, 0, + 337, 216, 173, 174, 320, 126, 262, 38, 116, 96, + 0, 0, 0, 0, 0, 258, 336, 0, 0, 0, + 0, 287, 0, 0, 0, 121, 0, 227, 268, 0, + 288, 0, 109, 0, 0, 0, 0, 0, 0, 0, + 0, 85, 0, 295, 318, 330, 347, 350, 0, 0, + 0, 178, 349, 0, 0, 0, 71, 0, 0, 0, + 321, 0, 123, 0, 329, 0, 0, 0, 0, 0, + 345, 252, 253, 254, 255, 219, 0, 195, 348, 277, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2324, 0, 342, 215, 221, 0, + 223, 194, 267, 217, 327, 230, 0, 0, 0, 259, + 226, 292, 231, 237, 280, 326, 265, 285, 192, 317, + 293, 241, 0, 0, 0, 0, 0, 872, 1724, 0, + 117, 118, 0, 119, 120, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2324, 2748, 0, 0, 0, 0, + 0, 0, 175, 0, 235, 2306, 276, 214, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1724, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 95, 115, + 124, 0, 69, 0, 0, 0, 0, 0, 333, 334, + 335, 319, 0, 206, 0, 0, 0, 0, 0, 114, + 108, 107, 0, 0, 0, 2306, 44, 860, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 880, 884, 886, 888, 890, + 891, 893, 0, 897, 894, 895, 896, 0, 0, 875, + 876, 877, 878, 858, 859, 881, 0, 861, 0, 862, + 863, 864, 865, 866, 867, 868, 869, 870, 871, 873, + 879, 0, 2406, 0, 110, 111, 112, 0, 883, 885, + 887, 889, 892, 0, 2324, 0, 0, 0, 0, 0, + 2310, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2314, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 79, 0, 0, 874, 113, 0, 80, 1724, 0, + 2332, 2303, 0, 0, 0, 2305, 2307, 2309, 0, 2311, + 2312, 2313, 2315, 2316, 2317, 2319, 2320, 2321, 2322, 0, + 0, 0, 0, 0, 2342, 0, 0, 0, 0, 0, + 2310, 0, 0, 0, 0, 2306, 0, 2335, 0, 0, + 0, 2314, 0, 2330, 0, 0, 0, 0, 2345, 2346, + 81, 2325, 0, 0, 2331, 0, 0, 0, 0, 82, + 37, 2303, 0, 0, 0, 2305, 2307, 2309, 0, 2311, + 2312, 2313, 2315, 2316, 2317, 2319, 2320, 2321, 2322, 401, + 0, 400, 407, 397, 0, 0, 0, 2323, 0, 2336, + 0, 0, 0, 404, 405, 0, 406, 410, 0, 0, + 392, 0, 39, 401, 2302, 400, 407, 397, 0, 0, + 415, 2325, 0, 0, 0, 1858, 1859, 404, 405, 0, + 406, 410, 0, 0, 392, 0, 0, 0, 0, 0, + 0, 0, 0, 2318, 415, 97, 0, 0, 0, 419, + 2308, 401, 420, 400, 407, 397, 0, 2323, 0, 0, + 0, 0, 0, 0, 0, 404, 405, 0, 406, 410, + 0, 0, 392, 419, 2302, 0, 420, 0, 0, 0, + 2310, 0, 415, 0, 0, 0, 0, 2344, 0, 2114, + 0, 2314, 0, 83, 84, 88, 0, 0, 0, 0, + 0, 0, 0, 2318, 0, 0, 0, 0, 0, 0, + 2308, 2303, 0, 0, 2338, 2305, 2307, 2309, 0, 2311, + 2312, 2313, 2315, 2316, 2317, 2319, 2320, 2321, 2322, 0, + 0, 0, 0, 0, 0, 0, 2337, 2339, 0, 0, + 0, 0, 0, 0, 0, 882, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2325, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 393, 395, 394, 0, 0, 0, 0, 0, + 0, 399, 0, 0, 0, 0, 0, 2323, 0, 0, + 0, 0, 0, 403, 2347, 0, 393, 395, 394, 0, + 418, 0, 0, 0, 2302, 399, 2333, 396, 0, 0, + 0, 387, 2343, 0, 0, 0, 0, 403, 0, 0, + 0, 0, 0, 0, 418, 0, 0, 0, 0, 0, + 0, 396, 0, 2318, 393, 395, 394, 0, 0, 0, + 2308, 0, 0, 399, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 403, 0, 0, 0, 0, + 0, 0, 418, 0, 0, 0, 0, 0, 0, 396, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 398, + 402, 408, 0, 409, 411, 0, 0, 412, 413, 414, + 0, 0, 416, 417, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 398, 402, 408, 0, 409, 411, 0, + 0, 412, 413, 414, 0, 0, 416, 417, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 398, 402, 408, 0, 409, 411, 0, 0, 412, + 413, 414, 0, 0, 416, 417, } var yyPact = [...]int{ - 27602, -1000, -299, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 28775, -1000, -299, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -182, 26200, 26200, + -1000, -1000, 1666, -1000, 25701, 10222, 26699, 171, 165, 26699, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -165, 25536, 25536, -1000, - -1000, 1536, -1000, 25039, 9622, 26033, 157, 147, 26033, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 413, + -1000, 25202, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 368, + 29179, 27198, 285, 7717, 26699, -277, -1000, 2442, -147, -1000, + -1000, -1000, -1000, -1000, -1000, 1282, 563, 24703, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 398, -1000, - 24542, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 358, 28097, - 276, 270, 7624, 26033, -281, -1000, 2303, -150, -1000, -1000, - -1000, -1000, 391, 588, 24045, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 1275, 86, 563, 626, 643, 891, + 891, 11719, 2442, 246, 254, -1000, 803, 28775, 28475, 340, + 26699, -1000, 1051, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 27752, 80, 588, 562, 577, 664, 664, 11113, 2303, 241, - 311, -1000, 741, 27602, 27304, 336, 26033, -1000, 1001, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -4152,110 +4411,111 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 340, -1000, -1000, -1000, 2442, 2442, -1000, + 26699, 26699, -19, 1125, -1000, 277, 297, 252, 1044, -1000, + -1000, -1000, -1000, -1000, 2252, -1000, 26699, 26699, 1888, 26699, + -1000, 1381, 311, 29203, 2059, 994, 586, 1908, -1000, -1000, + 1879, -1000, 70, 414, 315, 665, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 61, -1000, 2124, -1000, -1000, 63, -1000, + -1000, 58, -1000, -1000, -1000, -101, -1000, -1000, -1000, -1000, + -1000, -176, -1000, -1000, -176, 664, 1201, 7717, -1000, 1614, + -1000, 3208, -1000, -1000, -1000, -1000, 5213, 9214, 9214, 9214, + 9214, -1000, -1000, 1755, 7717, 1878, 1876, -1000, -1000, -1000, + -1000, 1035, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 1504, 8715, -1000, 1875, 1873, 1866, + 1865, 1860, 1859, 1851, 1850, 1849, 1847, 1840, 1664, 1837, + 1494, 1492, 1829, 1828, 1822, 9214, 1490, 1664, 1664, 1821, + 1819, 1818, 1816, 1813, 1807, 1803, 1791, 1790, 1789, 1788, + 1785, 1784, 1783, 1776, 1775, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 336, -1000, - -1000, -1000, 2303, 2303, -1000, 26033, 26033, -28, 1098, -1000, - 236, 225, 259, 996, -1000, -1000, -1000, -1000, -1000, 2180, - -1000, 26033, 26033, 1828, 26033, -1000, 1342, 309, 28327, 2001, - 893, 471, 1853, -1000, -1000, 1809, -1000, 60, 252, 97, - 733, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 76, -1000, - 2061, -1000, -1000, 61, -1000, -1000, 48, -1000, -1000, -1000, - -94, -1000, -1000, -1000, -1000, -1000, -158, -158, 606, 1146, - 7624, -1000, 1212, -1000, 1810, -1000, -1000, -1000, -1000, 5130, - 9115, 9115, 9115, 9115, -1000, -1000, 1681, 7624, 1808, 1807, - -1000, -1000, -1000, -1000, 993, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1460, 8618, -1000, - 1803, 1802, 1799, 1798, 1796, 1794, 1792, 1791, 1789, 1788, - 1787, 1585, 1783, 1459, 1458, 1779, 1776, 1773, 9115, 1457, - 1585, 1585, 1758, 1753, 1750, 1745, 1738, 1726, 1724, 1722, - 1719, 1718, 1717, 1714, 1713, 1712, 1710, 1708, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 255, -1000, + 1031, 974, -1000, 1774, 2052, 2161, 1694, 2234, 2171, 2155, + 2153, 2148, 1353, -1000, -1000, 26699, 26699, 38, 367, 367, + 367, 378, 367, 410, 397, -1000, -1000, -1000, -1000, -1000, + -1000, 482, -1000, -1000, -1000, -1000, 851, 26699, -1000, 1703, + 1071, 2150, 320, 318, 221, -1000, 1071, 229, 325, 2161, + 2161, -84, -137, 1071, 1071, -137, 41, -1000, -1000, -1000, + 1160, 316, 1160, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 2114, 2104, 368, 368, 371, -1000, -174, -1000, -1000, 632, + -1000, 491, -1000, 1381, 310, 304, 861, 1175, -1000, 1102, + 26699, 26699, 26699, 1102, 1102, 14716, 14217, -1000, 2161, 1694, + -1000, 1633, 1575, 1694, 368, 368, 368, 368, 368, 368, + 368, 26699, 26699, 6710, 6710, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 278, -1000, -1000, -1000, -1000, -1000, 245, + 1773, -1000, 26699, 262, 2161, 2052, 2161, -1000, -1000, 1026, + 1351, 1489, -1000, -1000, 277, 1079, -1000, 780, -1000, -1000, + -1000, -1000, 26699, 265, -1000, -1000, 1453, 1772, -1000, 357, + 961, 828, -1000, 117, 29241, 22201, 1381, 22201, 26699, -1000, + -1000, -1000, -1000, -1000, -1000, -107, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 72, + -1000, 72, 7717, 7717, 7717, 7717, 7717, -1000, 454, 8216, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 9214, 9214, 9214, + 9214, 9214, 9214, 9214, 9214, 9214, 9214, 9214, 9214, 1754, + 1139, 9214, 9214, 9214, 1575, 2336, 860, -1000, -1000, -1000, + -1000, -1000, 1132, 1201, 7717, 7717, 26699, -1000, 250, 7717, + 7717, 11365, 7717, 2093, 2093, 3715, 26699, 7717, -1000, 1632, + 1631, -1000, -1000, 1217, 7717, -1000, -1000, 7717, 9214, 7717, + -1000, -1000, -1000, -1000, 204, 2093, 7717, 7717, 2093, 2093, + 2093, 1179, 2093, 2093, 2093, 2093, 2093, 2093, 2093, 2093, + 26699, 2014, 42, -1000, -1000, -1000, 1682, -1000, 1715, 1715, + 1682, 1682, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 1733, 1771, -1000, -1000, 1714, 1714, 1714, 1682, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 1345, -1000, 984, 775, -1000, 1704, 1986, 2082, 1628, - 2159, 2084, 2080, 2052, 2045, 1318, -1000, -1000, 50, 354, - 354, 354, 386, 354, 397, 396, -1000, -1000, -1000, -1000, - -1000, -1000, 467, -1000, -1000, -1000, -1000, 790, 26033, -1000, - 1617, 1062, 2094, 321, 320, 203, -1000, 1062, 233, 308, - 2082, 2082, -81, -115, 1062, 1062, -115, 62, -1000, -1000, - -1000, 1090, 310, 1090, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 2048, 2040, 358, 358, 361, -1000, -162, -1000, -1000, - 591, -1000, 491, -1000, 1342, 303, 302, 807, 1130, -1000, - 1054, 26033, 26033, 26033, 1054, 1054, 14098, 13601, -1000, 2082, - 1628, -1000, 1569, 1679, 1628, 358, 358, 358, 358, 358, - 358, 358, 26033, 6621, 6621, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 282, -1000, -1000, -1000, -1000, -1000, 230, - 1703, -1000, 26033, 222, 2082, 1986, 2082, -1000, -1000, 975, - 1315, 1443, -1000, -1000, 236, 1051, -1000, 623, -1000, -1000, - -1000, -1000, 26033, 231, -1000, -1000, 1411, 1702, -1000, 334, - 712, 855, -1000, 55, 28351, 21553, 1342, 21553, 26033, -1000, - -1000, -1000, -1000, -1000, -1000, -97, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 1724, 1724, 1725, 1724, 26699, 2161, + -277, 6211, -1000, -282, 2052, 7717, -1000, -1000, 7717, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1476, 2089, -1000, + 1765, -1000, 381, 367, -1000, 26699, 1166, 22201, 1381, 1368, + 26699, 367, 367, 371, -1000, 26699, 851, 2088, 26699, 2244, + 9214, 22201, 1160, 1071, -1000, 2244, 1160, -1000, -1000, -1000, + 1071, 1071, -1000, -1000, -1000, -1000, 1160, 1160, -1000, -1000, + -113, 2244, 2244, -122, 26699, 26699, 367, 26699, -1000, -1000, + -1000, -1000, 26699, -1000, -1000, 26699, 22201, 20704, -1000, -139, + 541, 494, 499, -1000, -1000, 344, 411, 13218, 306, 22201, + 4713, -1000, -1000, 1102, 1102, 1102, 4713, 4713, 947, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 2052, -1000, -1000, -1000, + -1000, 26699, 22201, 1381, 26699, 26699, 26699, 28475, -1000, 1763, + 809, -1000, -1000, 11220, 1025, 809, 1474, 26699, 1905, 1957, + -1000, 1761, 12719, 26699, -1000, -1000, -278, -1000, 12219, 26699, + 2052, -1000, 2052, 2763, -1000, 2146, -1000, 277, 151, -1000, + -1000, -1000, -1000, -1000, -1000, 1024, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 849, -1000, 26699, -1000, -1000, + 117, 22201, 1096, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 110, -1000, -1000, 155, -1000, 377, 2, 1065, -1000, -1000, + 32, 146, 409, 32, 1201, -1000, 1172, 1172, 1174, -1000, + 457, -1000, -1000, -1000, -1000, 1755, -1000, -1000, -1000, 1531, + 1962, -1000, 1220, 1220, 989, 989, 989, 989, 989, 1513, + 1513, -1000, -1000, -1000, 5213, 1754, 9214, 9214, 9214, 346, + 2539, 3097, -1000, 7717, 1161, -1000, 7717, 1376, 1129, 1023, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 63, - -1000, 63, 7624, 7624, 7624, 7624, 7624, -1000, 456, 8121, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 9115, 9115, 9115, - 9115, 9115, 9115, 9115, 9115, 9115, 9115, 9115, 9115, 1675, - 1132, 9115, 9115, 9115, 1679, 2060, 798, -1000, -1000, -1000, - -1000, -1000, 1109, 1146, 7624, 7624, 26033, -1000, 27597, 7624, - 7624, 10759, 7624, 2027, 2027, 3638, 26033, 7624, -1000, 1568, - 1566, -1000, -1000, 1200, 7624, -1000, -1000, 7624, 9115, 7624, - -1000, -1000, -1000, -1000, 197, 2027, 7624, 7624, 2027, 2027, - 2027, 1110, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, - 26033, 1962, 32, -1000, -1000, -1000, 1603, -1000, 1650, 1650, - 1603, 1603, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 1701, 1700, -1000, -1000, 1643, 1643, 1643, 1603, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 1691, 1691, 1692, 1691, 26033, 2082, - -281, 6124, -1000, -286, 1986, 7624, -1000, -1000, 7624, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1441, 384, 354, - -1000, 26033, 1135, 21553, 1342, 1332, 26033, 354, 354, 361, - -1000, 26033, 790, 2011, 26033, 2160, 9115, 21553, 1090, 1062, - -1000, 2160, 1090, -1000, -1000, -1000, 1062, 1062, -1000, -1000, - -1000, -1000, 1090, 1090, -1000, -1000, -105, 2160, 2160, -103, - 26033, 26033, 354, 26033, -1000, -1000, -1000, -1000, 26033, -1000, - -1000, 26033, 21553, 20062, -1000, -139, 553, 495, 530, -1000, - -1000, 333, 421, 12606, 285, 21553, 4632, -1000, -1000, 1054, - 1054, 1054, 4632, 4632, 904, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 1986, -1000, -1000, -1000, -1000, 26033, 21553, 1342, - 26033, 26033, 26033, 27304, -1000, 777, -1000, -1000, 10616, 971, - 777, 1433, 26033, 1845, 1961, -1000, 1689, 12109, 26033, -1000, - -1000, -283, -1000, 11611, 26033, 1986, -1000, 1986, 2690, -1000, - 2086, -1000, 236, 154, -1000, -1000, -1000, -1000, -1000, -1000, - 970, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 771, -1000, 26033, -1000, -1000, 55, 21553, 1065, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 122, -1000, -1000, 148, -1000, - 375, -1, 1050, -1000, -1000, 47, 145, 416, 47, 1146, - -1000, 1154, 1154, 1141, -1000, 417, -1000, -1000, -1000, -1000, - 1681, -1000, -1000, -1000, 2151, 2432, -1000, 1039, 1039, 997, - 997, 997, 997, 997, 1185, 1185, -1000, -1000, -1000, 5130, - 1675, 9115, 9115, 9115, 338, 2505, 3124, -1000, 7624, 1108, - -1000, 7624, 1208, 900, 967, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 1628, 664, 1621, 1654, 2251, 1613, 7717, -1000, -1000, 7717, + 1390, 7218, -1000, -1000, -1000, 1599, 1013, 1598, -1000, -1000, + -1000, 1597, 837, 1595, 2038, 1594, 845, 7717, 1063, 1054, + 7717, 7717, 7717, 7717, 1593, 7717, 7717, 7717, 7717, 7717, + 7717, 7717, 7717, -1000, 7717, 26, -1000, -1000, -1000, -1000, + 1342, -1000, 1339, -1000, -1000, -1000, 1466, 1466, -1000, 1338, + -1000, -1000, -1000, -1000, 1331, -1000, -1000, 1329, -1000, -1000, + -1000, -1000, 1053, -1000, 1201, -1000, 1465, -1000, 1033, 833, + -1000, 1235, -1000, -1000, 26699, 9713, 24204, 26699, 21, -1000, + 2057, 781, -1000, 2, 679, 1887, 2005, 26699, 26699, 23705, + -1000, 1748, 1049, -1000, -1000, 7717, -1000, 1884, 26699, 2244, + -1000, 26699, 2244, 2244, 1071, 28475, 1160, 26699, 1160, -1000, + -1000, 1160, -1000, 1002, -1000, 26699, -1000, -1000, -1000, -1000, + 20, 781, 2274, 773, -1000, -1000, -1000, -1000, 27697, 27697, + 13718, 27697, -1000, 1081, -1000, -1000, 504, 489, 627, -1000, + -1000, 374, -1000, -1000, 679, -1000, -1000, -1000, 1746, 1122, + -1000, -1000, 9214, -1000, 4713, 4713, 4713, -1000, -1000, 16712, + -1000, -1000, 728, 679, 1904, 716, -1000, 716, -1000, 9713, + 2244, 6710, -1000, 20704, -1000, -1000, 23199, -1000, 22700, 2244, + -286, 790, -1000, 2016, -278, 26699, 26699, 1042, 135, -1000, + 1039, -1000, 675, -1000, 1736, -1000, 1036, 1984, 676, -1000, + 1121, -1000, -1000, -1000, 972, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 1550, 606, 1543, 1451, 2179, - 1542, 7624, -1000, -1000, 7624, 1354, 7127, -1000, -1000, -1000, - 1541, 947, 1539, -1000, -1000, -1000, 1538, 750, 1534, 1462, - 1533, 745, 7624, 1048, 1042, 7624, 7624, 7624, 7624, 1531, - 7624, 7624, 7624, 7624, 7624, 7624, 7624, 7624, -1000, 7624, - 26, -1000, -1000, -1000, -1000, 1310, -1000, 1308, -1000, -1000, - -1000, 1432, 1432, -1000, 1307, -1000, -1000, -1000, -1000, 1306, - -1000, -1000, 1284, -1000, -1000, -1000, -1000, 1041, -1000, 1146, - -1000, 1427, -1000, 953, 690, -1000, 1316, -1000, -1000, 23548, - 26033, 20, -1000, 1998, 698, -1000, -1, 611, 1827, 1959, - 26033, 26033, 23051, -1000, 1674, 1033, -1000, -1000, 7624, -1000, - 1819, 26033, 2160, -1000, 26033, 2160, 2160, 1062, 27304, 1090, - 26033, 1090, -1000, -1000, 1090, -1000, 898, -1000, 26033, -1000, - -1000, -1000, -1000, 18, 698, 2156, 748, -1000, -1000, -1000, - -1000, 26530, 26530, 13104, 26530, -1000, 1055, -1000, -1000, 537, - 489, 479, -1000, -1000, 365, -1000, -1000, 611, -1000, -1000, - -1000, 1670, 1097, -1000, -1000, 9115, -1000, 4632, 4632, 4632, - -1000, -1000, 16086, -1000, -1000, 686, 611, 1844, 662, -1000, - 662, -1000, 2160, 6621, -1000, 20062, -1000, -1000, 22547, -1000, - 22050, 2160, -290, 715, -1000, 1971, -283, 26033, 26033, 1024, - 82, -1000, 1022, -1000, 607, -1000, 1668, -1000, 1021, 1910, - 609, -1000, 1096, -1000, -1000, -1000, 897, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -4272,171 +4532,176 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -23, -1000, -1000, 26699, 1453, 1029, 1096, 697, + -1000, 373, 966, 924, -1000, 22201, 55, 22201, -1000, 22201, + -1000, -1000, 219, -1000, 26699, 2025, -1000, -1000, -1000, 1436, + -302, 2020, -1000, -1000, -1000, -1000, -1000, 1020, -1000, 346, + 2539, 2317, -1000, 9214, 9214, 2310, 1147, -1000, 7717, 1334, + 28877, 1173, 15714, 26699, -1000, -1000, 7717, 7717, -1000, 2270, + 2254, -1000, 7717, 7717, 1581, -1000, 26699, -1000, -1000, -1000, + 15714, -1000, 9214, -1000, 7717, 2228, -92, -92, 2217, 2179, + 2136, 1018, -92, 2108, 2050, 2046, 2040, 2006, 1950, 1934, + 1917, 1201, -1000, -1000, 1577, 1576, 1010, -1000, 1007, 1572, + 1005, 998, 6211, -1000, -145, 7717, 7717, 7717, 1988, -1000, + -1000, 44, 1562, 711, -1000, -1000, -1000, 1378, 1715, 1682, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1733, + -1000, 1714, 1714, 1714, 1682, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 1724, 1724, 1725, 1724, 1703, 1155, + 1722, -102, 1093, -1000, 444, 22201, 303, -1000, 1901, 210, + -1000, 2005, -1000, 785, -1000, 1721, 1720, 26699, 789, -1000, + 894, 28775, -1000, 26699, 1201, -1000, 1381, 1071, -1000, 2244, + 1032, -1000, -1000, 2244, -1000, 1071, -1000, 1071, 1160, 26699, + -1000, -102, 1093, 444, 26699, 20704, 20704, 20704, 20704, -1000, + 1939, 1933, -1000, 1970, 1925, 1993, 26699, 20704, 1703, -1000, + 28086, -1000, -1000, -1000, -1000, -1000, 1575, 995, 1979, 555, + 7717, -1000, -1000, -1000, 486, 22201, 1447, 306, -1000, -1000, + -1000, -1000, -1000, 26699, 26699, 1561, 2231, -1000, 698, -1000, + -1000, 888, -1000, 2231, -1000, 1320, 1446, 1192, 675, 676, + 982, -1000, 135, 26699, 1967, 1716, -1000, 26699, -278, 6211, + 260, -278, 26699, 6211, 2763, 1319, -1000, -1000, -1000, 2249, + 22201, 1381, 1030, 1083, -1000, 59, -1000, 109, 390, 1442, + -1000, 389, 91, -1000, 1120, 1436, 386, -1000, -1000, 9214, + -1000, -1000, -1000, -1000, 1201, 7717, 1560, -1000, 496, 496, + 1557, -1000, 1682, 1715, -1000, 1682, 1714, 1682, 496, 496, + 1556, -1000, 1285, 1889, -1000, -1000, 1744, 1734, 7717, -1000, + 1548, 2608, 865, -92, -1000, 1713, -1000, -92, -92, -92, + -92, -1000, -92, -92, -92, -92, -92, -92, -92, -92, + -1000, -1000, -1000, 1441, -1000, -1000, -1000, 1317, -1000, 1308, + -1000, -74, -50, 1201, 1201, -1000, -1000, 1975, 1440, 392, + 9713, 2004, 2087, 2056, 10721, 1274, -1000, -1000, 21702, -1000, + 294, -1000, -1000, -1000, 450, 134, 1303, 308, -1000, 1517, + 26699, -1000, -1000, -1000, -1000, -1000, 1093, 1093, 1093, 10721, + 10721, 340, 819, 885, 20704, 26699, -1000, 20205, 1544, -1000, + 679, 2244, -1000, 26699, -1000, 2244, 2244, 1071, -1000, 1274, + 21702, 294, 943, -1000, 1115, 1883, 1899, 1883, -1000, -1000, + -1000, -1000, 1922, -1000, 1921, -1000, -1000, 943, -1000, -1000, + -1000, -1000, -1000, 555, -1000, 2142, 534, 534, 534, 1540, + -1000, 697, 1538, -1000, -1000, -1000, -1000, -1000, 2241, 2233, + 21203, 2241, -1000, -286, 2265, 246, 26699, 247, -1000, -278, + 26699, -1000, -1000, 1536, 692, -278, -1000, 675, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 1381, -1000, 108, -1000, -1000, + -1000, -1000, -1000, -1000, -9, -1000, 26699, -1000, 1436, 1434, + 90, 26699, -1000, 1201, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 7717, + -1000, -1000, -1000, 1717, -1000, -1000, 7717, -1000, 339, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -29, -1000, -1000, 26033, 1411, 1020, 1065, - 645, -1000, 364, 883, 882, -1000, 21553, 59, 21553, -1000, - 21553, -1000, -1000, 227, -1000, 26033, 1984, -1000, -1000, -1000, - 1403, -305, 1974, -1000, -1000, -1000, -1000, -1000, 1011, -1000, - 338, 2505, 3022, -1000, 9115, 9115, 2051, 1103, -1000, 7624, - 1238, 247, 1118, 15092, 26033, -1000, -1000, 7624, 7624, -1000, - 2046, 2014, -1000, 7624, 7624, 1399, -1000, 26033, -1000, -1000, - -1000, 15092, -1000, 9115, -1000, 7624, 1982, -98, -98, 1976, - 1964, 1938, 999, -98, 1890, 1823, 1705, 1672, 1661, 1653, - 1623, 1571, 1146, -1000, -1000, 1530, 1525, 998, -1000, 994, - 1524, 990, 979, 6124, -1000, -130, 7624, 7624, 7624, 1923, - -1000, -1000, 1617, 1117, 1666, -72, 1078, -1000, 440, 21553, - 289, -1000, 1843, 200, -1000, 1959, -1000, 719, -1000, 1665, - 1664, 26033, 735, -1000, 864, 27602, -1000, 26033, 1146, -1000, - 1342, 1062, -1000, 2160, 943, -1000, -1000, 2160, -1000, 1062, - -1000, 1062, 1090, 26033, -1000, -72, 1078, 440, 26033, 20062, - 20062, 20062, 20062, -1000, 1900, 1888, -1000, 1899, 1866, 1909, - 26033, 20062, 1617, -1000, 26917, -1000, -1000, -1000, -1000, -1000, - 1679, 973, 1891, 510, 7624, -1000, -1000, -1000, 472, 21553, - 1408, 285, -1000, -1000, -1000, -1000, -1000, 26033, 26033, 2165, - -1000, 651, -1000, -1000, 835, -1000, 2165, -1000, 1282, 1407, - 1168, 607, 609, 972, -1000, 82, 26033, 1908, 1656, -1000, - 26033, -283, 6124, 244, -283, 26033, 6124, 2690, 1281, -1000, - -1000, -1000, 2170, 21553, 1342, 1027, 1057, -1000, 56, -1000, - 119, 318, 1405, -1000, 392, 81, -1000, 1095, 1403, 388, - -1000, -1000, 9115, -1000, -1000, -1000, -1000, 1146, 7624, 1522, - -1000, 474, 474, 1521, -1000, 1603, 1650, -1000, 1603, 1643, - 1603, 474, 474, 1508, -1000, 1289, 1565, -1000, -1000, 1556, - 1537, 7624, -1000, 1506, 2538, 959, -98, -1000, 1640, -1000, - -98, -98, -98, -98, -1000, -98, -98, -98, -98, -98, - -98, -98, -98, -1000, -1000, -1000, 1404, -1000, -1000, -1000, - 1280, -1000, 1278, -1000, -59, -49, 1146, 1146, -1000, -1000, - 1916, 2009, 1991, 10119, 1317, -1000, -1000, 21056, -1000, 307, - -1000, -1000, -1000, 406, 129, 1272, 298, -1000, 1465, 26033, - -1000, -1000, -1000, -1000, -1000, 1078, 1078, 1078, 10119, 10119, - 336, 652, 814, 20062, 26033, -1000, 19565, 1505, -1000, 611, - 2160, -1000, 26033, -1000, 2160, 2160, 1062, -1000, 1317, 21056, - 307, 861, -1000, 1087, 1822, 1841, 1822, -1000, -1000, -1000, - -1000, 1884, -1000, 1637, -1000, -1000, 861, -1000, -1000, -1000, - -1000, -1000, 510, -1000, 2077, 520, 520, 520, 1504, -1000, - 645, 1497, -1000, -1000, -1000, -1000, 2162, 2158, 20559, 2162, - -1000, -290, 2187, 241, 26033, 232, -1000, -283, 26033, -1000, - -1000, 1496, 636, -283, -1000, 607, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 1342, -1000, 102, -1000, -1000, -1000, -1000, - -1000, -1000, -18, -1000, 26033, -1000, 1403, 1401, 79, 26033, - -1000, 1146, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 7624, -1000, -1000, - -1000, 1529, -1000, -1000, 7624, -1000, 335, -1000, -1000, -1000, + -1000, -1000, 1533, 1525, -284, -31, 2230, 2229, -1000, -1000, + -1000, 1378, -1000, 1537, 246, 26699, 1524, 680, -1000, -1000, + -1000, 1378, 556, -1000, 26699, 1191, 534, 367, 534, 1187, + 1712, -1000, -1000, -1000, 1431, 1, -1000, -1000, -1000, 1424, + 1418, 1302, -1000, -1000, 1333, 866, 11, -1000, -1000, -1000, + -1000, -1000, -1000, 1707, 15714, 16213, 1417, 1522, 1520, 27697, + 20704, 20205, 918, -1000, 881, -1000, -1000, -1000, 2244, -1000, + -1000, 2244, -1000, 1, -1000, 2237, 26699, 6211, -1000, -1000, + 7717, 1705, -1000, 7717, -1000, -1000, -1000, -1000, -1000, 1704, + 2130, -1000, -1000, -1000, -1000, -1000, -1000, 7717, 7717, -1000, + -1000, -1000, 26699, -1000, -1000, -278, -1000, 675, 978, -1000, + 675, 679, -1000, -1000, 135, -1000, -1000, -1000, -122, 1617, + -1000, 1602, 2237, -1000, 2226, -1000, -1000, -286, 1415, -1000, + 2225, 1414, 1377, -229, -1000, -1000, -1000, 1703, 29068, 10721, + 29070, -1000, -1000, 26699, 26699, -1000, 26699, 26699, 367, 7717, + -1000, -1000, 218, -1000, -1000, 100, -1000, -1000, 1328, 376, + -1000, 18708, -1000, -1000, -1000, -1000, -1000, 72, 29068, 2244, + 918, 881, -1000, -1000, 1019, -1000, -1000, -1000, 2161, -1000, + -1000, 1201, 26699, 1201, 19706, -1000, 2224, 2216, 1201, 664, + 676, 675, -1000, -122, -1000, -77, -38, -1000, -1000, 80, + 7717, -292, -1000, 1412, -36, -1000, -1000, 26699, 2086, 333, + 28928, -1000, 1093, 1093, 761, 1093, 1093, 1093, 1093, 266, + 261, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, + 1093, 1093, 1093, 1093, 1093, 1699, -1000, -1000, 29070, -1000, + -1000, 1200, 9214, -1000, -1000, 1411, 16213, 493, 506, 1697, + -1000, 230, 2264, -1000, 1186, 1165, -1000, 26699, -1000, 1696, + 1719, 189, 1695, -1000, 1686, 1685, 26699, 1507, 329, 1406, + -1000, -1000, 89, -1000, -1000, 975, -1000, 1682, 7717, -1000, + -122, 333, 2237, -1000, -1000, 964, 958, -1000, -1000, -1000, + -1000, -1000, 370, -68, -38, -1000, 2213, -58, 2212, 2211, + 1408, -1000, 3216, -1000, -1000, -1000, 664, -1000, 1681, -1000, + 2191, 2079, -1000, 246, 205, 2189, 29068, -1000, 1271, 1246, + 1093, 1093, 1243, 1404, 1402, 1401, 1093, 1093, 1242, 1399, + 28086, 1241, 1238, 1236, 1325, 1397, 647, 1324, 1277, 1258, + 26699, 1675, 1370, -1000, -1000, 2539, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1231, 1674, -134, + -1000, -1000, 1673, 18708, 177, 177, 18708, 18708, 18708, 1670, + 464, -1000, -10, -1000, -1000, -1000, 18708, 2036, 1403, -1000, + 205, 2161, -1000, -1000, 19207, 1668, 1227, -31, 2186, -1000, + 1377, 2176, 1377, 1377, -1000, -1000, 4214, -279, -52, 243, + 26699, 1377, 1391, -1000, -1000, 2172, 237, -1000, -1000, -1000, + 15714, 15714, -1000, -1000, -1000, -1000, 1388, 1386, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 1495, 1494, -288, -36, 2154, 2147, -1000, -1000, 241, 26033, - 1492, 615, -1000, -1000, -1000, 27703, 540, -1000, 26033, 1166, - 520, 354, 520, 1165, 1639, -1000, -1000, -1000, 1397, -5, - -1000, -1000, -1000, 1396, 1376, 1265, -1000, -1000, 1300, 637, - 11, -1000, -1000, -1000, -1000, -1000, -1000, 1630, 15092, 15589, - 1369, 1490, 1488, 26530, 20062, 19565, 759, -1000, 811, -1000, - -1000, -1000, 2160, -1000, -1000, 2160, -1000, -5, -1000, 2152, - 26033, 6124, -1000, -1000, 7624, 1626, -1000, 7624, -1000, -1000, - -1000, -1000, -1000, 1625, 1967, -1000, -1000, -1000, -1000, -1000, - -1000, 7624, 7624, -1000, -1000, -1000, 26033, -1000, -1000, -283, - -1000, 607, 964, -1000, 607, 611, -1000, -1000, 82, -1000, - -1000, -1000, -103, 1523, -1000, 1477, 2152, -1000, 2144, -1000, - -1000, -290, 1368, -1000, 2140, 1366, 1338, -1000, 1617, 28018, - 10119, 28153, -1000, -1000, 26033, 26033, -1000, 26033, 26033, 354, - 7624, -1000, -1000, 214, -1000, -1000, 100, -1000, -1000, 1298, - 327, -1000, 18074, -1000, -1000, -1000, -1000, -1000, 63, 28018, - 2160, 759, 811, -1000, -1000, 1026, -1000, -1000, -1000, 2082, - -1000, -1000, 1146, 26033, 1146, 19068, -1000, 2139, 2138, 1146, - 606, 609, 607, -1000, -103, -1000, -75, -41, -1000, -1000, - 58, 7624, -292, -1000, 1365, -39, -1000, -1000, 2003, 332, - 27953, -1000, 1078, 1078, 752, 1078, 1078, 1078, 1078, 268, - 261, 1078, 1078, 1078, 1078, 1078, 1078, 1078, 1078, 1078, - 1078, 1078, 1078, 1078, 1078, 1616, -1000, -1000, 28153, -1000, - -1000, 1175, 9115, -1000, -1000, 1364, 15589, 488, 523, 1614, - -1000, 221, 2186, -1000, 1161, 1160, -1000, 26033, -1000, 1613, - 1663, 168, 1612, -1000, 1610, 1606, 26033, 1461, 317, 1362, - -1000, -1000, 99, -1000, -1000, 960, -1000, 1603, 7624, -1000, - -103, 332, 2152, -1000, -1000, 949, 938, -1000, -1000, -1000, - -1000, -1000, 360, -65, -41, -1000, 2136, -48, 2135, 2134, - 1487, -1000, 3141, -1000, -1000, -1000, 606, -1000, 1602, -1000, - 2127, 241, 170, 2125, 28018, -1000, 1255, 1248, 1078, 1078, - 1218, 1359, 1356, 1355, 1078, 1078, 1215, 1353, 26917, 1214, - 1213, 1207, 1295, 1352, 635, 1292, 1285, 1219, 26033, 1600, - 1327, -1000, -1000, 2505, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 1195, 1599, -117, -1000, -1000, - 1598, 18074, 257, 257, 18074, 18074, 18074, 1592, 413, -1000, - -20, -1000, -1000, -1000, 18074, 1977, 1395, -1000, 170, 2082, - -1000, -1000, 18571, 1587, 1194, -36, 2106, -1000, 1338, 2104, - 1338, 1338, -1000, -1000, 4135, -284, -66, 250, 26033, 1338, - -1000, -1000, 2103, 229, -1000, -1000, -1000, 15092, 15092, -1000, - -1000, -1000, -1000, 1350, 1344, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 284, 26033, 926, - -1000, 1084, 1480, 7624, 1585, -206, 18074, 920, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 901, 892, 887, 18074, -1000, - -1000, -1000, 207, -1000, 194, -1000, -1000, 1977, -1000, -1000, - -1000, -1000, 2030, 14595, -56, -1000, 1343, -1000, 1338, -1000, - -1000, 1119, -1000, -1000, -1000, -1000, -1000, 874, -1000, -1000, - 17577, 185, 217, 215, -1000, 382, -1000, -1000, -1000, -1000, - -1000, -1000, 290, 866, -1000, 1327, 1325, -1000, 1299, -1000, - 1836, -1000, 57, 862, -1000, -1000, -1000, -1000, 832, -1000, - -1000, 1078, 1304, 139, -1000, -1000, -1000, -1000, 26033, -1000, - 819, -1000, -1000, -1000, 753, -1000, -1000, -1000, -1000, 4135, - -1000, 26033, -1000, 26033, 182, 1192, 9115, 1584, 9115, 1583, - 196, 1578, -1000, -1000, -1000, -1000, -1000, 413, -1000, 1824, - 1540, 2176, -1000, -1000, -1000, -1000, 194, 194, 194, 194, - 49, 1191, -1000, 1332, 587, -1000, 1076, -1000, 17080, 26033, - -1000, -1000, 779, 1577, 2098, -1000, 2245, 26033, 2120, 26033, - 1575, 1049, 9115, -1000, -1000, 2183, -1000, 2177, 496, 496, - -1000, -1000, -1000, 26033, 5627, -1000, 665, -1000, -1000, 330, - 190, -1000, 770, -1000, 758, 16583, 1186, 1973, -1000, -1000, - -1000, 1241, 240, -1000, -1000, -1000, 1146, 26033, 757, -1000, - 1464, 176, -1000, -1000, -1000, 746, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 330, 1897, -1000, 1183, -1000, -1000, 27689, - 453, -1000, -1000, 27689, 180, -1000, 325, 1573, -1000, -1000, - 742, -1000, 1398, 494, 7624, -1000, 180, 28018, -1000, 7624, - 697, -1000, 28018, 687, -1000, -1000, + 283, 26699, 955, -1000, 1099, 1344, 7717, 1664, -220, 18708, + 937, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 928, 914, + 895, 18708, -1000, -1000, -1000, 222, -1000, 160, -1000, -1000, + 2036, -1000, -1000, -1000, -1000, 2099, 15215, -45, -1000, 1382, + -1000, 1377, -1000, -1000, 1169, -1000, -1000, -1000, -1000, -1000, + 872, -1000, -1000, -1000, 18209, 215, 201, 197, -1000, 394, + -1000, -1000, -1000, -1000, -1000, -1000, 290, 870, -1000, 1370, + 1369, -1000, 1355, -1000, 1898, -1000, 54, 869, -1000, -1000, + -1000, -1000, 857, -1000, -1000, 1093, 1362, 158, -1000, -1000, + -1000, -1000, 26699, -1000, 836, -1000, -1000, -1000, 875, -1000, + -1000, -1000, -1000, 4214, -1000, 26699, -1000, 26699, 213, 1224, + 9214, 1663, 9214, 1662, 225, 1660, -1000, -1000, -1000, -1000, + -1000, 464, -1000, 1747, 1737, 2248, -1000, -1000, -1000, -1000, + 160, 160, 160, 160, 47, 1219, -1000, 1368, 649, -1000, + 1087, -1000, 17710, 26699, -1000, -1000, 835, 1648, 2169, -1000, + 2483, 26699, 2402, 26699, 1644, 1086, 9214, -1000, -1000, 2263, + -1000, 2260, 605, 605, -1000, -1000, -1000, 26699, 5712, -1000, + 666, -1000, -1000, 321, 220, -1000, 815, -1000, 786, 17211, + 1211, 2098, -1000, -1000, -1000, 1273, 234, -1000, -1000, -1000, + 1201, 26699, 784, -1000, 1516, 207, -1000, -1000, -1000, 757, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 321, 1958, -1000, + 1206, -1000, -1000, 28868, 507, -1000, -1000, 28868, 206, -1000, + 326, 1638, -1000, -1000, 755, -1000, 1509, 528, 7717, -1000, + 206, 29068, -1000, 7717, 747, -1000, 29068, 743, -1000, -1000, } var yyPgo = [...]int{ - 0, 140, 2640, 206, 171, 163, 203, 2639, 2637, 2011, - 2009, 2633, 2615, 2611, 2609, 2607, 2604, 2603, 2602, 2601, - 2596, 2593, 2592, 2591, 2590, 2589, 2588, 2586, 202, 2585, - 2584, 2583, 2582, 2581, 2579, 2578, 2577, 2576, 2575, 2574, - 2571, 2570, 2569, 2563, 2561, 2560, 2546, 2545, 2544, 138, - 2543, 1992, 2542, 2541, 2540, 2539, 2538, 183, 2537, 2534, - 2533, 2532, 2531, 2530, 2529, 2528, 2527, 2526, 2525, 2523, - 2522, 2519, 2518, 146, 2517, 2516, 2515, 2514, 2513, 2510, - 195, 204, 64, 2509, 50, 42, 156, 217, 107, 211, - 209, 150, 132, 77, 2508, 2025, 2506, 129, 186, 122, - 24, 2505, 143, 2504, 123, 40, 47, 207, 120, 58, - 69, 104, 2503, 181, 68, 87, 91, 2501, 2500, 98, - 2499, 66, 2498, 83, 62, 102, 26, 2497, 2496, 2495, - 76, 2492, 2489, 2488, 2487, 134, 2486, 99, 56, 2484, - 2483, 2482, 60, 2481, 29, 2480, 54, 2478, 2477, 2476, - 2475, 67, 2474, 2473, 12, 16, 18, 2472, 14, 1, - 2471, 182, 88, 89, 105, 2468, 370, 2466, 2465, 2464, - 126, 2463, 622, 2462, 2461, 2460, 2456, 9, 2455, 174, - 2454, 2453, 78, 112, 2452, 57, 157, 162, 2451, 2450, - 114, 73, 52, 113, 2449, 2448, 79, 180, 19, 41, - 0, 165, 35, 2446, 2444, 2443, 208, 2441, 160, 158, - 187, 131, 233, 125, 2440, 2433, 55, 2432, 135, 2427, - 103, 82, 2426, 151, 2425, 27, 145, 2424, 178, 2423, - 128, 2, 117, 2421, 2418, 28, 229, 2416, 2415, 2414, - 137, 2413, 2411, 61, 133, 2407, 2406, 2404, 23, 2402, - 36, 30, 2401, 97, 2400, 199, 2399, 167, 109, 148, - 142, 121, 184, 188, 72, 124, 1143, 116, 86, 17, - 2396, 185, 2394, 201, 190, 2393, 153, 2390, 200, 354, - 179, 2389, 154, 8, 53, 31, 2388, 7, 2383, 136, - 2381, 2380, 20, 2379, 22, 2378, 2377, 2376, 2375, 5, - 2373, 2372, 2358, 3, 6, 2357, 4, 176, 51, 111, - 2356, 110, 196, 2354, 2353, 2348, 2347, 2346, 325, 2344, - 2342, 2341, 2339, 2338, 2337, 2334, 2333, 63, 34, 2332, - 2331, 2330, 2329, 75, 115, 2328, 283, 177, 2327, 37, - 2325, 2324, 25, 2323, 32, 2320, 2319, 2318, 13, 161, - 2317, 2316, 15, 2293, 2284, 10, 11, 2283, 2282, 65, - 2281, 48, 33, 81, 80, 2266, 21, 70, 119, 2264, - 2263, 205, 197, 175, 2261, 169, 193, 212, 2260, 192, - 2259, 2258, 2257, 2256, 2255, 2254, 2251, 1177, 2249, 2248, - 194, 59, 93, 94, 2230, 2229, 2226, 74, 141, 96, - 92, 173, 2225, 155, 2223, 2222, 90, 2221, 2220, 2218, - 2208, 2205, 2203, 2202, 191, 130, 2201, + 0, 130, 2832, 208, 145, 139, 207, 2831, 2830, 2076, + 2067, 2829, 2826, 2814, 2811, 2810, 2792, 2791, 2790, 2789, + 2788, 2787, 2772, 2771, 2764, 2762, 2760, 2759, 2758, 2757, + 2756, 205, 2755, 2754, 2753, 2751, 2750, 2748, 2747, 2746, + 2744, 2742, 2741, 2740, 2739, 2738, 2737, 2736, 2735, 2721, + 2719, 2716, 135, 2715, 2050, 2713, 2712, 2708, 2707, 2705, + 183, 2704, 2703, 2702, 2701, 2700, 2699, 2698, 2697, 2696, + 2693, 2686, 2685, 2681, 2679, 2678, 141, 2677, 2670, 2669, + 2667, 2666, 2652, 2650, 201, 186, 58, 2647, 51, 43, + 162, 216, 152, 241, 211, 159, 144, 74, 2646, 2062, + 2644, 143, 193, 124, 26, 2643, 151, 2642, 121, 42, + 32, 203, 116, 52, 60, 99, 2641, 187, 63, 88, + 93, 2640, 2639, 212, 160, 2637, 101, 2635, 2629, 2628, + 2627, 175, 106, 2626, 59, 2625, 81, 65, 97, 28, + 2624, 2623, 2621, 95, 2620, 2619, 2618, 2617, 148, 2616, + 107, 66, 2615, 2614, 2611, 53, 2610, 33, 2594, 57, + 2593, 2592, 2591, 2589, 61, 2588, 2586, 12, 16, 18, + 2584, 15, 1, 2583, 189, 138, 91, 119, 2582, 382, + 2580, 2579, 2577, 128, 2576, 397, 2575, 2573, 2572, 2571, + 10, 2570, 176, 2569, 2568, 78, 108, 2566, 54, 166, + 170, 2564, 2563, 112, 62, 67, 111, 2562, 2561, 89, + 188, 20, 29, 0, 174, 35, 2559, 2558, 2557, 215, + 2555, 168, 161, 194, 167, 217, 126, 2554, 2553, 64, + 2549, 125, 77, 109, 8, 2548, 172, 2547, 181, 154, + 2546, 178, 2545, 231, 2, 120, 2544, 2543, 27, 236, + 2542, 2541, 2539, 132, 2538, 2537, 87, 147, 2536, 2533, + 2529, 38, 2515, 36, 21, 2514, 80, 2513, 214, 2511, + 137, 113, 156, 150, 117, 190, 197, 75, 123, 1186, + 118, 90, 23, 2510, 192, 2500, 218, 213, 2499, 164, + 2498, 204, 357, 182, 2493, 157, 7, 48, 41, 2490, + 9, 2489, 100, 2488, 2482, 19, 2481, 25, 2480, 2477, + 2476, 2474, 5, 2473, 2472, 2471, 3, 6, 2469, 4, + 184, 56, 102, 2468, 103, 155, 2466, 2465, 2464, 2463, + 2462, 227, 2460, 2455, 2453, 2452, 2446, 2445, 2444, 2430, + 69, 37, 2425, 2423, 2418, 2417, 73, 114, 2416, 251, + 180, 2414, 34, 2412, 2411, 24, 2409, 31, 2407, 2405, + 2397, 14, 158, 2396, 2377, 17, 2372, 2368, 11, 13, + 2367, 2365, 68, 2364, 49, 30, 76, 71, 2358, 22, + 70, 115, 2356, 2354, 210, 206, 177, 2353, 133, 202, + 220, 2351, 185, 2350, 2343, 2342, 2340, 2339, 2336, 2332, + 1169, 2324, 2323, 200, 55, 84, 94, 2315, 2314, 2313, + 79, 129, 96, 92, 173, 2311, 163, 2299, 2294, 83, + 2292, 2290, 2287, 2286, 2283, 2282, 2281, 199, 127, 2280, } -//line mysql_sql.y:8153 +//line mysql_sql.y:8280 type yySymType struct { union interface{} id int @@ -4635,16 +4900,41 @@ func (st *yySymType) fullOptUnion() bool { return v } +func (st *yySymType) funcArgUnion() tree.FunctionArg { + v, _ := st.union.(tree.FunctionArg) + return v +} + +func (st *yySymType) funcArgDeclUnion() *tree.FunctionArgDecl { + v, _ := st.union.(*tree.FunctionArgDecl) + return v +} + +func (st *yySymType) funcArgsUnion() tree.FunctionArgs { + v, _ := st.union.(tree.FunctionArgs) + return v +} + func (st *yySymType) funcExprUnion() *tree.FuncExpr { v, _ := st.union.(*tree.FuncExpr) return v } +func (st *yySymType) funcReturnUnion() *tree.ReturnType { + v, _ := st.union.(*tree.ReturnType) + return v +} + func (st *yySymType) funcTypeUnion() tree.FuncType { v, _ := st.union.(tree.FuncType) return v } +func (st *yySymType) functionNameUnion() *tree.FunctionName { + v, _ := st.union.(*tree.FunctionName) + return v +} + func (st *yySymType) groupByUnion() tree.GroupBy { v, _ := st.union.(tree.GroupBy) return v @@ -5166,305 +5456,311 @@ func (st *yySymType) zeroFillOptUnion() bool { } var yyR1 = [...]int{ - 0, 412, 2, 2, 1, 1, 1, 1, 1, 1, + 0, 425, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 78, 410, 410, 410, 411, 411, 77, - 77, 66, 65, 358, 358, 357, 357, 356, 356, 355, - 355, 355, 354, 354, 354, 353, 353, 352, 352, 351, - 351, 349, 349, 350, 348, 347, 347, 347, 345, 345, - 343, 343, 344, 344, 338, 338, 341, 341, 339, 339, - 339, 339, 342, 337, 337, 337, 336, 336, 64, 64, - 64, 268, 268, 63, 63, 282, 282, 282, 282, 282, - 280, 280, 280, 280, 280, 280, 279, 279, 278, 278, - 283, 283, 281, 281, 281, 281, 281, 281, 281, 281, - 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, - 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, - 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, - 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, - 281, 281, 58, 58, 58, 58, 61, 61, 61, 62, - 277, 277, 277, 59, 60, 60, 267, 267, 272, 272, - 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, - 271, 271, 276, 276, 276, 274, 274, 273, 273, 275, - 275, 52, 52, 52, 55, 54, 266, 266, 266, 266, - 266, 266, 266, 266, 266, 53, 53, 53, 53, 53, - 53, 50, 50, 50, 50, 50, 49, 49, 51, 51, - 265, 265, 264, 69, 69, 69, 69, 69, 69, 69, - 68, 68, 71, 71, 70, 72, 57, 57, 57, 57, - 57, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 382, 382, 382, 384, 384, 204, 205, 413, 207, 203, - 203, 203, 378, 378, 379, 380, 381, 381, 381, 67, - 7, 7, 47, 396, 396, 48, 403, 403, 318, 318, - 218, 218, 217, 217, 217, 217, 217, 217, 217, 217, - 217, 217, 217, 217, 217, 217, 217, 217, 321, 322, - 214, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 35, 34, - 34, 254, 254, 33, 414, 414, 187, 187, 41, 42, - 43, 32, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 46, 46, 332, 332, 416, 416, 416, 44, 45, - 317, 317, 317, 39, 38, 37, 36, 36, 31, 31, - 30, 30, 211, 211, 213, 213, 209, 415, 415, 294, - 294, 212, 212, 29, 29, 29, 210, 210, 186, 208, - 208, 208, 8, 8, 6, 11, 11, 11, 11, 11, - 11, 11, 11, 17, 19, 262, 262, 259, 18, 14, - 13, 16, 12, 15, 5, 5, 5, 5, 9, 9, - 10, 92, 92, 125, 125, 391, 391, 387, 387, 388, - 388, 388, 389, 389, 390, 390, 73, 326, 326, 326, - 326, 326, 326, 4, 114, 114, 115, 115, 325, 325, - 325, 325, 325, 325, 325, 409, 409, 367, 367, 367, - 368, 113, 113, 108, 108, 327, 327, 232, 369, 369, - 335, 335, 334, 334, 333, 333, 111, 111, 112, 112, - 95, 95, 81, 81, 340, 340, 340, 340, 346, 346, - 315, 315, 151, 151, 180, 180, 181, 181, 85, 85, - 86, 86, 86, 86, 86, 86, 375, 375, 377, 377, - 376, 110, 110, 106, 106, 107, 107, 107, 105, 105, - 104, 103, 103, 102, 100, 100, 100, 101, 101, 101, - 88, 88, 87, 87, 87, 87, 87, 166, 166, 166, - 166, 166, 166, 166, 166, 166, 166, 166, 166, 89, - 89, 383, 383, 383, 319, 319, 319, 324, 324, 163, - 163, 164, 164, 162, 162, 90, 90, 91, 91, 91, - 91, 161, 161, 160, 93, 93, 99, 98, 98, 94, - 94, 94, 94, 171, 171, 170, 170, 170, 170, 76, - 79, 79, 80, 118, 118, 169, 168, 168, 168, 117, - 117, 116, 116, 109, 109, 97, 97, 97, 97, 167, - 96, 165, 408, 408, 407, 407, 406, 404, 404, 404, - 405, 405, 405, 405, 360, 360, 360, 360, 360, 196, - 196, 196, 202, 202, 195, 195, 195, 195, 195, 206, - 201, 201, 197, 197, 198, 198, 198, 3, 3, 3, - 3, 23, 23, 23, 23, 27, 27, 385, 385, 20, - 392, 395, 393, 393, 397, 397, 397, 398, 398, 398, - 399, 399, 21, 394, 400, 400, 400, 263, 263, 260, - 261, 261, 258, 257, 257, 257, 402, 402, 401, 401, - 401, 199, 199, 22, 253, 253, 255, 256, 256, 247, - 247, 247, 247, 26, 251, 251, 252, 252, 252, 252, - 252, 248, 248, 250, 250, 246, 246, 246, 246, 246, - 25, 245, 245, 243, 243, 241, 241, 242, 242, 240, - 240, 240, 244, 244, 24, 24, 24, 83, 82, 82, - 82, 183, 183, 182, 182, 84, 320, 320, 284, 284, - 285, 285, 285, 288, 288, 300, 300, 301, 301, 299, - 299, 306, 306, 305, 305, 304, 304, 303, 303, 302, - 302, 302, 302, 297, 297, 296, 296, 286, 286, 286, - 286, 286, 287, 287, 287, 295, 295, 298, 298, 142, - 142, 143, 143, 143, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 365, 365, 366, 145, 145, 145, 149, - 149, 149, 149, 149, 149, 144, 144, 146, 146, 126, - 126, 124, 124, 119, 119, 120, 120, 121, 121, 122, - 122, 123, 123, 123, 123, 123, 123, 270, 270, 363, - 363, 364, 364, 359, 359, 359, 362, 362, 362, 362, - 362, 361, 361, 127, 178, 178, 178, 200, 200, 200, - 177, 177, 177, 141, 141, 140, 140, 138, 138, 138, - 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, - 138, 138, 269, 269, 215, 215, 216, 216, 158, 157, - 157, 157, 157, 157, 155, 156, 154, 154, 154, 154, - 154, 153, 153, 152, 152, 152, 249, 249, 150, 150, - 148, 148, 148, 147, 147, 147, 307, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, - 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, - 224, 224, 229, 229, 374, 374, 373, 128, 128, 128, - 129, 129, 129, 129, 129, 129, 129, 129, 129, 137, - 137, 137, 292, 292, 292, 292, 292, 293, 293, 293, - 290, 290, 291, 291, 233, 234, 234, 289, 289, 176, - 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, - 176, 176, 176, 176, 176, 331, 331, 331, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 386, 386, 386, 370, 370, 370, 371, 371, 371, - 371, 371, 371, 371, 371, 371, 371, 371, 371, 372, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 372, 372, 372, 175, 175, 175, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 235, 235, 236, 236, 328, 328, 328, 328, - 328, 328, 329, 329, 330, 330, 330, 330, 323, 323, - 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, - 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, - 323, 323, 323, 323, 323, 323, 323, 222, 172, 172, - 172, 237, 230, 230, 231, 231, 225, 225, 225, 225, - 225, 225, 225, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 220, 220, 220, 220, 220, 220, - 220, 220, 220, 226, 226, 228, 228, 239, 239, 239, - 238, 238, 238, 238, 238, 238, 238, 139, 139, 139, - 139, 219, 219, 219, 219, 219, 219, 219, 219, 219, - 219, 219, 130, 130, 130, 130, 134, 134, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 135, 135, 135, 135, 133, 133, 133, 133, - 133, 131, 131, 131, 131, 131, 131, 131, 131, 131, - 131, 131, 131, 131, 131, 131, 131, 74, 75, 75, - 132, 179, 179, 308, 308, 311, 311, 309, 309, 310, - 312, 312, 312, 313, 313, 313, 314, 314, 314, 316, - 316, 185, 185, 185, 192, 192, 184, 184, 193, 193, - 194, 194, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, + 1, 1, 1, 1, 82, 423, 423, 423, 424, 424, + 80, 80, 69, 68, 81, 371, 371, 370, 370, 369, + 369, 368, 368, 368, 367, 367, 367, 366, 366, 365, + 365, 364, 364, 362, 362, 363, 361, 360, 360, 360, + 358, 358, 356, 356, 357, 357, 351, 351, 354, 354, + 352, 352, 352, 352, 355, 350, 350, 350, 349, 349, + 67, 67, 67, 281, 281, 66, 66, 295, 295, 295, + 295, 295, 293, 293, 293, 293, 293, 293, 292, 292, + 291, 291, 296, 296, 294, 294, 294, 294, 294, 294, + 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, + 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, + 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, + 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, + 294, 294, 294, 294, 61, 61, 61, 61, 64, 64, + 64, 65, 290, 290, 290, 62, 63, 63, 280, 280, + 285, 285, 284, 284, 284, 284, 284, 284, 284, 284, + 284, 284, 284, 284, 289, 289, 289, 287, 287, 286, + 286, 288, 288, 55, 55, 55, 58, 57, 279, 279, + 279, 279, 279, 279, 279, 279, 279, 56, 56, 56, + 56, 56, 56, 53, 53, 53, 53, 53, 52, 52, + 54, 54, 278, 278, 277, 72, 72, 72, 72, 72, + 72, 72, 71, 71, 74, 74, 73, 75, 60, 60, + 60, 60, 60, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 395, 395, 395, 397, 397, 217, 218, 426, + 220, 216, 216, 216, 391, 391, 392, 393, 394, 394, + 394, 70, 7, 7, 50, 409, 409, 51, 416, 416, + 331, 331, 231, 231, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 334, 335, 227, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 38, 37, 37, 267, 267, 36, 427, 427, 200, 200, + 44, 45, 46, 35, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 49, 49, 345, 345, 429, 429, 429, + 47, 48, 330, 330, 330, 42, 41, 40, 39, 39, + 34, 34, 33, 33, 224, 224, 226, 226, 222, 428, + 428, 307, 307, 225, 225, 32, 32, 32, 223, 223, + 199, 221, 221, 221, 8, 8, 6, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 18, 20, 275, 275, + 272, 19, 14, 13, 16, 12, 15, 17, 5, 5, + 5, 5, 9, 9, 10, 96, 96, 138, 138, 404, + 404, 400, 400, 401, 401, 401, 402, 402, 403, 403, + 76, 339, 339, 339, 339, 339, 339, 4, 118, 118, + 119, 119, 338, 338, 338, 338, 338, 338, 338, 422, + 422, 380, 380, 380, 381, 117, 117, 112, 112, 340, + 340, 245, 382, 382, 348, 348, 347, 347, 346, 346, + 115, 115, 116, 116, 99, 99, 85, 85, 353, 353, + 353, 353, 359, 359, 328, 328, 164, 164, 193, 193, + 194, 194, 89, 89, 90, 90, 90, 90, 90, 90, + 388, 388, 390, 390, 389, 114, 114, 110, 110, 111, + 111, 111, 109, 109, 108, 107, 107, 106, 104, 104, + 104, 105, 105, 105, 92, 92, 91, 91, 91, 91, + 91, 179, 179, 179, 179, 179, 179, 179, 179, 179, + 179, 179, 179, 93, 93, 396, 396, 396, 332, 332, + 332, 337, 337, 176, 176, 177, 177, 175, 175, 94, + 94, 95, 95, 95, 95, 174, 174, 173, 97, 97, + 103, 102, 102, 98, 98, 98, 98, 184, 184, 183, + 183, 183, 183, 79, 83, 83, 84, 122, 122, 182, + 181, 181, 181, 121, 121, 120, 120, 113, 113, 101, + 101, 101, 101, 180, 100, 178, 421, 421, 420, 420, + 419, 417, 417, 417, 418, 418, 418, 418, 373, 373, + 373, 373, 373, 209, 209, 209, 215, 215, 208, 208, + 208, 208, 208, 219, 214, 214, 210, 210, 211, 211, + 211, 3, 3, 3, 3, 24, 24, 24, 24, 24, + 24, 30, 130, 131, 29, 123, 124, 124, 125, 125, + 126, 127, 127, 127, 129, 128, 28, 28, 398, 398, + 21, 405, 408, 406, 406, 410, 410, 410, 411, 411, + 411, 412, 412, 22, 407, 413, 413, 413, 276, 276, + 273, 274, 274, 271, 270, 270, 270, 415, 415, 414, + 414, 414, 212, 212, 23, 266, 266, 268, 269, 269, + 260, 260, 260, 260, 27, 264, 264, 265, 265, 265, + 265, 265, 261, 261, 263, 263, 259, 259, 259, 259, + 259, 26, 258, 258, 256, 256, 254, 254, 255, 255, + 253, 253, 253, 257, 257, 25, 25, 25, 87, 86, + 86, 86, 196, 196, 195, 195, 88, 333, 333, 297, + 297, 298, 298, 298, 301, 301, 313, 313, 314, 314, + 312, 312, 319, 319, 318, 318, 317, 317, 316, 316, + 315, 315, 315, 315, 310, 310, 309, 309, 299, 299, + 299, 299, 299, 300, 300, 300, 308, 308, 311, 311, + 155, 155, 156, 156, 156, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 378, 378, 379, 158, 158, 158, + 162, 162, 162, 162, 162, 162, 157, 157, 159, 159, + 139, 139, 137, 137, 132, 132, 133, 133, 134, 134, + 135, 135, 136, 136, 136, 136, 136, 136, 283, 283, + 376, 376, 377, 377, 372, 372, 372, 375, 375, 375, + 375, 375, 374, 374, 140, 191, 191, 191, 213, 213, + 213, 190, 190, 190, 154, 154, 153, 153, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 282, 282, 228, 228, 229, 229, 171, + 170, 170, 170, 170, 170, 168, 169, 167, 167, 167, + 167, 167, 166, 166, 165, 165, 165, 262, 262, 163, + 163, 161, 161, 161, 160, 160, 160, 320, 234, 234, + 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, + 234, 236, 236, 236, 236, 236, 236, 236, 236, 236, + 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, + 236, 237, 237, 242, 242, 387, 387, 386, 141, 141, + 141, 142, 142, 142, 142, 142, 142, 142, 142, 142, + 150, 150, 150, 305, 305, 305, 305, 305, 306, 306, + 306, 303, 303, 304, 304, 246, 247, 247, 302, 302, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 344, 344, 344, 186, + 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, + 186, 186, 399, 399, 399, 383, 383, 383, 384, 384, + 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, + 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, + 385, 385, 385, 385, 385, 385, 385, 188, 188, 188, + 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 187, 248, 248, 249, 249, 341, 341, 341, + 341, 341, 341, 342, 342, 343, 343, 343, 343, 336, + 336, 336, 336, 336, 336, 336, 336, 336, 336, 336, + 336, 336, 336, 336, 336, 336, 336, 336, 336, 336, + 336, 336, 336, 336, 336, 336, 336, 336, 235, 185, + 185, 185, 250, 243, 243, 244, 244, 238, 238, 238, + 238, 238, 238, 238, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 233, 233, 233, 233, 233, + 233, 233, 233, 233, 239, 239, 241, 241, 252, 252, + 252, 251, 251, 251, 251, 251, 251, 251, 152, 152, + 152, 152, 232, 232, 232, 232, 232, 232, 232, 232, + 232, 232, 232, 143, 143, 143, 143, 147, 147, 149, + 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, + 149, 149, 149, 148, 148, 148, 148, 146, 146, 146, + 146, 146, 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, 77, 78, + 78, 145, 192, 192, 321, 321, 324, 324, 322, 322, + 323, 325, 325, 325, 326, 326, 326, 327, 327, 327, + 329, 329, 198, 198, 198, 205, 205, 197, 197, 206, + 206, 207, 207, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 202, 202, 202, 202, 202, + 202, 202, 202, 202, 202, 201, 201, 201, 201, 201, + 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, + 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, + 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, + 201, 201, } var yyR2 = [...]int{ 0, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 0, 4, 0, 1, 1, 0, 1, 6, - 8, 9, 10, 0, 2, 1, 3, 3, 3, 1, - 3, 5, 0, 2, 3, 1, 3, 1, 1, 1, - 3, 1, 1, 1, 1, 0, 3, 3, 0, 3, - 0, 3, 0, 3, 0, 2, 1, 2, 3, 4, - 3, 3, 1, 0, 1, 1, 0, 1, 8, 5, - 7, 0, 3, 8, 5, 1, 3, 3, 3, 1, - 1, 1, 1, 1, 1, 1, 1, 3, 1, 4, - 1, 3, 1, 2, 2, 2, 2, 2, 2, 1, - 2, 2, 2, 2, 1, 1, 2, 2, 1, 1, - 1, 1, 1, 2, 2, 2, 1, 2, 1, 2, - 2, 1, 2, 1, 1, 2, 2, 1, 1, 1, - 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, - 1, 1, 1, 1, 1, 1, 3, 4, 4, 6, - 1, 1, 1, 2, 4, 6, 1, 4, 1, 3, - 3, 4, 4, 4, 3, 3, 2, 4, 4, 2, - 2, 2, 1, 1, 1, 1, 1, 1, 3, 1, - 3, 1, 1, 1, 2, 2, 0, 1, 4, 2, - 4, 1, 5, 3, 2, 1, 2, 2, 4, 4, - 5, 2, 1, 3, 4, 4, 1, 2, 9, 7, - 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, - 4, 4, 2, 4, 3, 3, 1, 1, 1, 1, - 1, 2, 3, 4, 7, 2, 3, 3, 4, 5, + 1, 1, 1, 0, 4, 0, 1, 1, 0, 1, + 6, 8, 9, 10, 2, 0, 2, 1, 3, 3, + 3, 1, 3, 5, 0, 2, 3, 1, 3, 1, + 1, 1, 3, 1, 1, 1, 1, 0, 3, 3, + 0, 3, 0, 3, 0, 3, 0, 2, 1, 2, + 3, 4, 3, 3, 1, 0, 1, 1, 0, 1, + 8, 5, 7, 0, 3, 8, 5, 1, 3, 3, + 3, 1, 1, 1, 1, 1, 1, 1, 1, 3, + 1, 4, 1, 3, 1, 2, 2, 2, 2, 2, + 2, 1, 2, 2, 2, 2, 1, 1, 2, 2, + 1, 1, 1, 1, 1, 2, 2, 2, 1, 2, + 1, 2, 2, 1, 2, 1, 1, 2, 2, 1, + 1, 1, 3, 2, 2, 2, 2, 2, 2, 2, + 2, 1, 1, 1, 1, 1, 1, 1, 3, 4, + 4, 6, 1, 1, 1, 2, 4, 6, 1, 4, + 1, 3, 3, 4, 4, 4, 3, 3, 2, 4, + 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, + 3, 1, 3, 1, 1, 1, 2, 2, 0, 1, + 4, 2, 4, 1, 5, 3, 2, 1, 2, 2, + 4, 4, 5, 2, 1, 3, 4, 4, 1, 2, + 9, 7, 1, 3, 3, 1, 1, 1, 1, 1, + 1, 1, 4, 4, 2, 4, 3, 3, 1, 1, + 1, 1, 1, 2, 3, 4, 7, 2, 3, 3, + 4, 5, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 3, 2, 1, 1, 1, + 1, 6, 1, 1, 7, 0, 4, 7, 0, 3, + 0, 2, 0, 1, 1, 1, 1, 4, 2, 2, + 3, 3, 4, 5, 3, 4, 4, 2, 2, 2, + 3, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 3, 2, 1, 1, 1, 1, 6, - 1, 1, 7, 0, 4, 7, 0, 3, 0, 2, - 0, 1, 1, 1, 1, 4, 2, 2, 3, 3, - 4, 5, 3, 4, 4, 2, 2, 2, 3, 0, + 4, 2, 5, 0, 2, 7, 0, 1, 0, 1, + 5, 3, 2, 4, 1, 1, 1, 3, 2, 3, + 1, 1, 1, 6, 8, 0, 1, 1, 1, 1, + 5, 5, 0, 1, 1, 3, 3, 3, 6, 7, + 4, 4, 7, 8, 0, 2, 0, 2, 2, 1, + 1, 1, 1, 0, 1, 4, 4, 5, 1, 3, + 1, 1, 3, 5, 2, 3, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 4, 4, 1, 3, + 1, 4, 6, 4, 4, 4, 3, 6, 1, 1, + 2, 2, 11, 8, 9, 1, 3, 2, 4, 0, + 2, 0, 1, 1, 1, 1, 0, 1, 0, 1, + 4, 2, 1, 5, 4, 4, 2, 5, 0, 4, + 1, 3, 3, 1, 5, 6, 5, 5, 3, 0, + 5, 0, 1, 3, 3, 1, 3, 1, 3, 1, + 3, 4, 0, 1, 0, 1, 1, 3, 1, 1, + 0, 4, 1, 3, 2, 1, 0, 8, 0, 4, + 7, 4, 0, 2, 0, 2, 0, 2, 0, 4, + 1, 3, 1, 1, 4, 3, 4, 5, 4, 5, + 2, 3, 1, 3, 6, 0, 3, 0, 1, 2, + 4, 4, 0, 1, 3, 1, 3, 3, 0, 1, + 1, 0, 2, 2, 3, 3, 1, 3, 3, 3, + 3, 1, 2, 2, 1, 2, 2, 1, 2, 2, + 1, 2, 2, 7, 7, 1, 1, 1, 0, 1, + 1, 1, 1, 0, 2, 0, 3, 0, 2, 1, + 3, 1, 2, 3, 5, 0, 1, 2, 1, 3, + 1, 1, 1, 4, 4, 4, 3, 2, 2, 2, + 3, 2, 3, 4, 1, 3, 4, 0, 2, 1, + 1, 2, 2, 0, 1, 2, 4, 1, 3, 1, + 3, 2, 3, 1, 4, 3, 0, 1, 1, 2, + 5, 2, 2, 2, 0, 2, 3, 3, 0, 1, + 3, 1, 3, 0, 1, 2, 1, 1, 0, 1, + 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 4, 2, - 5, 0, 2, 7, 0, 1, 0, 1, 5, 3, - 2, 4, 1, 1, 1, 3, 2, 3, 1, 1, - 1, 6, 8, 0, 1, 1, 1, 1, 5, 5, - 0, 1, 1, 3, 3, 3, 6, 7, 4, 4, - 7, 8, 0, 2, 0, 2, 2, 1, 1, 1, - 1, 0, 1, 4, 4, 5, 1, 3, 1, 1, - 3, 5, 2, 3, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 4, 4, 1, 3, 1, 4, 6, - 4, 4, 4, 3, 1, 1, 2, 2, 11, 8, - 9, 1, 3, 2, 4, 0, 2, 0, 1, 1, - 1, 1, 0, 1, 0, 1, 4, 2, 1, 5, - 4, 4, 2, 5, 0, 4, 1, 3, 3, 1, - 5, 6, 5, 5, 3, 0, 5, 0, 1, 3, - 3, 1, 3, 1, 3, 1, 3, 4, 0, 1, - 0, 1, 1, 3, 1, 1, 0, 4, 1, 3, - 2, 1, 0, 8, 0, 4, 7, 4, 0, 2, - 0, 2, 0, 2, 0, 4, 1, 3, 1, 1, - 4, 3, 4, 5, 4, 5, 2, 3, 1, 3, - 6, 0, 3, 0, 1, 2, 4, 4, 0, 1, - 3, 1, 3, 3, 0, 1, 1, 0, 2, 2, - 3, 3, 1, 3, 3, 3, 3, 1, 2, 2, - 1, 2, 2, 1, 2, 2, 1, 2, 2, 7, - 7, 1, 1, 1, 0, 1, 1, 1, 1, 0, - 2, 0, 3, 0, 2, 1, 3, 1, 2, 3, - 5, 0, 1, 2, 1, 3, 1, 1, 1, 4, - 4, 4, 3, 2, 2, 2, 3, 2, 3, 4, - 1, 3, 4, 0, 2, 1, 1, 2, 2, 0, - 1, 2, 4, 1, 3, 1, 3, 2, 3, 1, - 4, 3, 0, 1, 1, 2, 5, 2, 2, 2, - 0, 2, 3, 3, 0, 1, 3, 1, 3, 0, - 1, 2, 1, 1, 0, 1, 2, 1, 2, 1, + 1, 7, 1, 1, 12, 1, 0, 1, 1, 3, + 1, 1, 2, 4, 1, 1, 8, 11, 0, 1, + 7, 1, 4, 1, 1, 3, 4, 3, 0, 1, + 1, 0, 2, 7, 1, 0, 2, 2, 1, 3, + 2, 1, 3, 2, 1, 3, 2, 0, 1, 3, + 4, 3, 1, 1, 4, 1, 3, 1, 1, 1, + 0, 1, 1, 1, 11, 0, 2, 3, 2, 3, + 1, 1, 1, 3, 3, 4, 0, 2, 2, 2, + 2, 5, 1, 1, 0, 3, 0, 1, 1, 2, + 4, 4, 4, 0, 1, 11, 9, 11, 2, 2, + 4, 5, 1, 3, 0, 3, 5, 0, 1, 0, + 6, 0, 3, 5, 0, 4, 0, 3, 1, 3, + 4, 5, 0, 3, 1, 3, 2, 3, 1, 2, + 0, 4, 6, 5, 0, 2, 0, 2, 4, 5, + 4, 5, 1, 5, 6, 5, 0, 3, 0, 1, + 0, 1, 1, 3, 2, 3, 3, 4, 4, 3, + 3, 3, 3, 4, 4, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 4, 5, 4, 1, 3, 3, 0, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 8, 11, 0, 1, 7, - 1, 4, 1, 1, 3, 4, 3, 0, 1, 1, - 0, 2, 7, 1, 0, 2, 2, 1, 3, 2, - 1, 3, 2, 1, 3, 2, 0, 1, 3, 4, - 3, 1, 1, 4, 1, 3, 1, 1, 1, 0, - 1, 1, 1, 11, 0, 2, 3, 2, 3, 1, - 1, 1, 3, 3, 4, 0, 2, 2, 2, 2, - 5, 1, 1, 0, 3, 0, 1, 1, 2, 4, - 4, 4, 0, 1, 11, 9, 11, 2, 2, 4, - 5, 1, 3, 0, 3, 5, 0, 1, 0, 6, - 0, 3, 5, 0, 4, 0, 3, 1, 3, 4, - 5, 0, 3, 1, 3, 2, 3, 1, 2, 0, - 4, 6, 5, 0, 2, 0, 2, 4, 5, 4, - 5, 1, 5, 6, 5, 0, 3, 0, 1, 0, - 1, 1, 3, 2, 3, 3, 4, 4, 3, 3, - 3, 3, 4, 4, 3, 3, 3, 3, 3, 3, + 1, 3, 1, 3, 0, 1, 1, 3, 1, 1, + 2, 1, 7, 7, 7, 7, 8, 5, 0, 1, + 0, 1, 1, 1, 1, 3, 3, 1, 1, 1, + 1, 1, 0, 1, 3, 1, 3, 5, 1, 1, + 1, 1, 3, 5, 0, 1, 1, 2, 1, 2, + 2, 1, 1, 2, 2, 2, 2, 2, 1, 5, + 6, 4, 1, 1, 2, 0, 1, 1, 2, 5, + 0, 1, 1, 2, 2, 3, 3, 1, 1, 2, + 2, 2, 0, 1, 2, 2, 2, 0, 3, 0, + 3, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 4, 5, 4, 1, 3, 3, 0, 2, 2, 1, + 1, 1, 1, 1, 3, 5, 2, 2, 2, 2, + 1, 1, 2, 5, 6, 6, 6, 1, 1, 1, + 1, 0, 2, 0, 1, 1, 2, 4, 1, 2, + 2, 1, 2, 2, 1, 2, 2, 2, 2, 2, + 0, 1, 1, 2, 2, 2, 2, 2, 1, 1, + 1, 2, 5, 0, 1, 3, 0, 1, 0, 6, + 6, 5, 5, 6, 6, 6, 6, 5, 6, 6, + 6, 6, 6, 6, 6, 6, 1, 1, 1, 4, + 4, 6, 8, 6, 4, 5, 5, 4, 6, 6, + 7, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 3, 1, 3, 0, 1, 1, 3, 1, 1, 2, - 1, 7, 7, 7, 7, 8, 5, 0, 1, 0, - 1, 1, 1, 1, 3, 3, 1, 1, 1, 1, - 1, 0, 1, 3, 1, 3, 5, 1, 1, 1, - 1, 3, 5, 0, 1, 1, 2, 1, 2, 2, - 1, 1, 2, 2, 2, 2, 2, 1, 5, 6, - 4, 1, 1, 2, 0, 1, 1, 2, 5, 0, - 1, 1, 2, 2, 3, 3, 1, 1, 2, 2, - 2, 0, 1, 2, 2, 2, 0, 3, 0, 3, - 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, - 1, 1, 1, 3, 5, 2, 2, 2, 2, 1, - 1, 2, 5, 6, 6, 6, 1, 1, 1, 1, - 0, 2, 0, 1, 1, 2, 4, 1, 2, 2, - 1, 2, 2, 1, 2, 2, 2, 2, 2, 0, - 1, 1, 2, 2, 2, 2, 2, 1, 1, 1, - 2, 5, 0, 1, 3, 0, 1, 0, 6, 6, - 5, 5, 6, 6, 6, 6, 5, 6, 6, 6, - 6, 6, 6, 6, 6, 1, 1, 1, 4, 4, - 6, 8, 6, 4, 5, 5, 4, 6, 6, 7, - 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 2, 2, 8, + 4, 2, 3, 2, 4, 6, 2, 2, 4, 6, + 4, 2, 2, 0, 1, 2, 3, 1, 1, 1, + 1, 1, 1, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 2, 2, 8, 4, - 2, 3, 2, 4, 6, 2, 2, 4, 6, 4, - 2, 2, 0, 1, 2, 3, 1, 1, 1, 1, - 1, 1, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 3, 0, + 1, 1, 3, 0, 1, 1, 3, 3, 3, 3, + 3, 2, 1, 1, 3, 4, 3, 4, 3, 4, + 3, 4, 3, 4, 1, 3, 4, 4, 5, 3, + 4, 5, 6, 1, 0, 2, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 3, 0, 1, - 1, 3, 0, 1, 1, 3, 3, 3, 3, 3, - 2, 1, 1, 3, 4, 3, 4, 3, 4, 3, - 4, 3, 4, 1, 3, 4, 4, 5, 3, 4, - 5, 6, 1, 0, 2, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, + 1, 1, 2, 3, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 3, 1, 1, 1, 2, 1, 1, 1, + 1, 1, 1, 2, 2, 2, 2, 1, 2, 2, + 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 4, 4, 1, 2, 3, + 5, 1, 1, 3, 0, 1, 0, 3, 0, 3, + 3, 0, 3, 5, 0, 3, 5, 0, 1, 1, + 0, 1, 1, 2, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 2, 2, 2, 2, 1, 2, 2, 2, - 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 4, 4, 1, 2, 3, 5, - 1, 1, 3, 0, 1, 0, 3, 0, 3, 3, - 0, 3, 5, 0, 3, 5, 0, 1, 1, 0, - 1, 1, 2, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -5504,553 +5800,567 @@ var yyR2 = [...]int{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, } var yyChk = [...]int{ - -1000, -412, -2, -1, -3, -77, -4, -73, -5, -6, - -8, -56, -68, -70, -72, -71, -28, -7, -67, -49, - -50, -52, -58, -63, -64, -65, -66, -74, -75, -76, - -85, -78, -23, -22, -21, -20, 393, 12, 435, -9, - -10, -375, -11, 230, -203, -204, -205, -207, -413, -29, - -30, -31, -36, -37, -38, -39, -44, -45, -46, -32, - -33, -34, -35, -41, -42, -43, -48, -47, 207, -51, - 61, -53, -54, -55, -59, -60, -61, -62, 324, 330, - 383, 392, 516, 517, 46, -86, -88, 518, -24, -25, - -26, -27, 203, 14, 468, -12, -15, -13, -16, -14, - -18, -19, -17, 225, 224, 37, 288, 289, 290, 328, - 223, 204, 13, 135, 136, 138, 139, 30, -87, 67, - 205, -89, 10, 519, 428, -95, 38, -124, -200, 70, - -188, -191, 471, 472, 473, 474, 475, 476, 477, 478, - 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 504, 505, 506, 507, 438, 305, - 306, 465, 242, 266, 354, 269, 276, 135, 154, 148, - 176, 168, 143, 246, 281, 247, 77, 138, 421, 87, - 404, 380, 141, 261, 263, 265, 268, 248, 164, 159, - 260, 244, 516, 157, 249, 39, 250, 181, 251, 252, - 470, 400, 304, 406, 273, 378, 158, 401, 264, 403, - 183, 187, 413, 330, 152, 153, 408, 415, 180, 222, - 42, 467, 234, 416, 185, 179, 175, 424, 277, 275, - 178, 151, 174, 245, 50, 189, 188, 190, 374, 375, - 376, 377, 253, 254, 318, 412, 171, 160, 309, 144, - 22, 419, 229, 405, 331, 255, 270, 278, 184, 186, - 236, 241, 469, 382, 240, 274, 417, 156, 233, 262, - 228, 420, 145, 324, 333, 256, 139, 267, 414, 423, - 49, 346, 150, 142, 219, 136, 238, 243, 11, 257, - 258, 259, 280, 279, 271, 172, 235, 177, 162, 149, - 173, 137, 237, 422, 347, 514, 307, 363, 170, 167, - 239, 212, 418, 407, 140, 367, 348, 165, 282, 511, - 512, 513, 319, 303, 283, 284, 163, 226, 399, 285, - 287, 373, 296, 349, 381, 355, 350, 196, -95, -51, - -10, -9, -87, -88, -124, 210, -208, 23, 378, -57, - 379, 207, 67, -200, -5, -4, -73, -49, -85, -206, - -200, 288, 288, -206, 210, -200, 240, 362, -318, 215, - -279, -253, 241, -278, -255, -281, -256, 31, 203, 205, - 204, 237, 14, 328, 211, 12, 10, 329, 223, 24, - 25, 27, 13, 330, 332, 28, 333, 336, 337, 338, - 41, 341, 342, 230, 70, 73, 248, 248, -231, -225, - 94, 231, -227, -220, -221, -223, -355, -349, -219, 67, - 119, 120, 127, 95, -222, -307, 35, 97, 475, 436, - -173, -174, -175, -176, -200, -350, -348, 73, 78, 81, - 84, 85, 83, 82, 161, 80, 74, 131, 132, -88, - 70, -370, 483, -189, 504, 484, 503, 46, -323, -330, - 209, -328, 166, 226, 162, 12, 125, 373, 130, 163, - 480, 500, 438, 507, 477, 478, 472, 473, 474, 476, - 485, 487, 499, -331, 495, 505, 506, 493, 72, 71, - 498, 497, 486, 481, 482, 488, 471, 479, 489, 490, - 496, 501, 502, 312, 87, 313, 314, 428, 308, 315, - 215, 378, 55, 316, 317, 318, 319, 320, 435, 321, - 56, 322, 311, 230, 363, 323, 165, 182, 440, 439, - 441, 432, 429, 427, 430, 431, 433, 434, 491, 492, - 494, -275, -273, -200, -79, -80, 509, -104, -105, -166, - 19, 6, 7, 8, 9, -410, 380, 469, -320, 305, - 363, 240, -247, -245, 285, 281, 339, 220, 219, 88, - 428, 209, -387, -388, 200, 201, 202, -377, 461, -376, - -200, 314, 26, 210, 325, 410, 411, -40, -332, -317, - 407, 406, -212, 405, 398, 409, 400, 203, 462, -185, - 349, 381, 236, 425, 426, 326, 382, 413, 414, 401, - 87, 169, 166, 305, 363, -387, 140, 137, -266, 140, - 93, 145, 144, -266, 240, 362, 40, -272, 373, -271, - -273, 413, 414, 424, 71, 72, 412, -185, 87, -105, - -166, -104, -86, -88, -375, 305, 363, 240, 211, 210, - 212, 428, 288, -319, -383, 31, -324, 197, 198, 199, - 32, 33, -1, -201, -198, -191, 70, 71, 72, -111, - 232, -124, 133, -111, -105, -104, -105, -124, -177, -200, - 380, 103, -57, -57, 379, -378, -379, -380, -382, 207, - 379, 378, 133, 15, -206, -206, 65, -124, -255, 240, - -279, -253, 35, 64, 134, 213, 134, 64, 67, 326, - 305, 363, 327, 428, 210, 339, 212, 240, 340, 305, - 363, 210, 212, 428, 240, 305, 210, 212, 363, 240, - 340, 398, 399, 212, 26, 331, 334, 335, 399, -336, - 424, -336, 134, 93, 90, 91, 92, -225, 110, -238, + -1000, -425, -2, -1, -3, -80, -4, -76, -5, -6, + -8, -59, -71, -73, -75, -74, -31, -7, -70, -52, + -53, -55, -61, -66, -67, -68, -69, -81, -77, -78, + -79, -89, -82, -24, -23, -22, -21, 395, 12, 437, + -9, -10, -388, -11, 231, -216, -217, -218, -220, -426, + -32, -33, -34, -39, -40, -41, -42, -47, -48, -49, + -35, -36, -37, -38, -44, -45, -46, -51, -50, 207, + -54, 61, -56, -57, -58, -62, -63, -64, -65, 326, + 332, 385, 394, 518, 519, 46, -90, -92, 520, -25, + -26, -27, -28, -29, -30, 203, 14, 470, -12, -15, + -13, -16, -14, -19, -20, -18, -17, 226, 225, 37, + 289, 290, 291, 330, 224, 204, 13, 135, 136, 138, + 139, 30, -91, 67, 205, -93, 10, 521, 430, -99, + 38, -137, -213, 70, -201, -204, 473, 474, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 493, 494, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 440, 307, 308, 467, 243, 267, 356, 270, + 277, 135, 154, 148, 176, 168, 143, 247, 282, 248, + 77, 138, 423, 87, 406, 382, 141, 262, 264, 266, + 269, 249, 164, 159, 261, 245, 518, 157, 250, 39, + 251, 181, 252, 253, 472, 402, 306, 408, 274, 380, + 158, 403, 265, 405, 183, 187, 415, 332, 152, 153, + 410, 417, 180, 223, 42, 469, 235, 418, 185, 179, + 175, 426, 278, 276, 178, 151, 174, 246, 50, 189, + 188, 190, 376, 377, 378, 379, 254, 255, 320, 414, + 171, 160, 311, 144, 22, 421, 230, 407, 333, 256, + 271, 279, 184, 186, 237, 242, 471, 384, 241, 275, + 419, 156, 234, 263, 229, 422, 145, 326, 335, 257, + 139, 268, 416, 425, 49, 348, 150, 142, 220, 136, + 239, 244, 11, 258, 259, 260, 281, 280, 272, 172, + 236, 177, 162, 149, 173, 137, 238, 424, 349, 516, + 309, 365, 170, 167, 240, 213, 420, 409, 140, 369, + 350, 165, 283, 513, 514, 515, 321, 305, 284, 285, + 163, 227, 401, 286, 288, 375, 298, 351, 383, 357, + 352, 196, 292, -99, -54, -10, -9, -91, -92, -137, + 211, -221, 23, 380, -60, 381, 207, 67, -213, -5, + -4, -76, -52, -89, -219, -213, 289, 289, -219, 211, + -213, 241, 364, -331, 216, -292, -266, 242, -291, -268, + -294, -269, 31, 203, 205, 204, 238, 14, 330, 212, + 12, 10, 331, 224, 24, 25, 27, 13, 332, 334, + 28, 335, 338, 339, 340, 41, 343, 344, 231, 70, + 73, 249, -131, -213, 249, -244, -238, 94, 232, -240, + -233, -234, -236, -368, -362, -232, 67, 119, 120, 127, + 95, -235, -320, 35, 97, 477, 438, -186, -187, -188, + -189, -213, -363, -361, 73, 78, 81, 84, 85, 83, + 82, 161, 80, 74, 131, 132, -92, 70, -383, 485, + -202, 506, 486, 505, 46, -336, -343, 210, -341, 166, + 227, 162, 12, 125, 375, 130, 163, 482, 502, 440, + 509, 479, 480, 474, 475, 476, 478, 487, 489, 501, + -344, 497, 507, 508, 495, 72, 71, 500, 499, 488, + 483, 484, 490, 473, 481, 491, 492, 498, 503, 504, + 314, 87, 315, 316, 430, 310, 317, 216, 380, 55, + 318, 319, 320, 321, 322, 437, 323, 56, 324, 313, + 231, 365, 325, 165, 182, 442, 441, 443, 434, 431, + 429, 432, 433, 435, 436, 493, 494, 496, -288, -286, + -213, -83, -84, 511, -108, -109, -179, 19, 6, 7, + 8, 9, -423, 382, 471, 292, 327, -333, 307, 365, + 241, -260, -258, 286, 282, 341, 221, 220, 88, 430, + 210, -400, -401, 200, 201, 202, -390, 463, -389, -213, + 316, 26, 211, 327, 412, 413, -43, -345, -330, 409, + 408, -225, 407, 400, 411, 402, 203, 464, -198, 351, + 383, 237, 427, 428, 328, 384, 415, 416, 403, 87, + 169, 166, 307, 365, -400, 140, 137, -279, 140, 93, + 145, 144, -279, 241, 364, 40, -285, 375, -284, -286, + 415, 416, 426, 71, 72, 414, -198, 87, -109, -179, + -108, -90, -92, -388, 307, 365, 241, 212, 211, 213, + 430, 289, 327, -332, -396, 31, -337, 197, 198, 199, + 32, 33, -1, -214, -211, -204, 70, 71, 72, -115, + 233, -137, 133, -115, -109, -108, -109, -137, -190, -213, + 382, 103, -60, -60, 381, -391, -392, -393, -395, 207, + 381, 380, 133, 15, -219, -219, 65, -137, -268, 241, + -292, -266, 35, 64, 134, 214, 134, 64, 67, 328, + 307, 365, 329, 430, 211, 341, 213, 241, 342, 307, + 365, 211, 213, 430, 241, 307, 211, 213, 365, 241, + 342, 400, 401, 213, 26, 333, 336, 337, 401, -349, + 426, -349, 134, 93, 90, 91, 92, -238, 110, -251, 103, 104, 105, 106, 107, 108, 109, 116, 115, 126, 119, 120, 121, 122, 123, 124, 125, 117, 118, 113, - 94, 111, 112, 96, -88, -225, -231, -223, -223, -223, - -223, -307, -229, -225, 67, 67, 133, 73, -225, 67, - 67, 67, 67, 67, 67, 67, 67, 67, -329, 67, - 67, -235, -236, 67, 67, 73, 73, 67, 67, 67, - -223, 73, -236, -236, 67, 67, 67, 67, 67, 67, + 94, 111, 112, 96, -92, -238, -244, -236, -236, -236, + -236, -320, -242, -238, 67, 67, 133, 73, -238, 67, + 67, 67, 67, 67, 67, 67, 67, 67, -342, 67, + 67, -248, -249, 67, 67, 73, 73, 67, 67, 67, + -236, 73, -249, -249, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 134, -130, -134, -131, -133, -132, -136, -135, 166, 167, + 134, -143, -147, -144, -146, -145, -149, -148, 166, 167, 130, 170, 172, 173, 174, 175, 176, 177, 178, 179, - 180, 181, 30, 182, 226, 162, 163, 164, 165, 183, - 148, 168, 466, 191, 149, 192, 150, 193, 151, 194, - 152, 153, 195, 154, 157, 158, 159, 156, 133, -105, - 134, 67, -81, 38, -107, 21, -89, -88, 20, 31, - 32, 31, 32, 31, 32, 31, 32, 78, -385, 210, - 461, -243, 215, -243, -243, 211, -243, 210, 210, -389, - 147, 134, -377, -110, 67, -211, 111, 23, 238, 238, - 275, -211, -416, 211, 408, 42, 239, 238, -106, -107, - -106, 402, 399, -294, 403, 404, -212, -211, -211, -212, - 210, 212, 428, -414, -415, 15, 113, 238, -414, 30, - 30, -318, -318, -390, 214, 417, 468, 143, 144, 145, - -255, 240, 240, 134, 103, 23, -274, 103, 114, -273, - -273, -273, -274, -274, -144, 40, -199, 130, -200, 73, - -144, 40, -106, -89, -88, 68, 68, -318, -318, -318, - -318, -318, -318, -318, -206, -90, -91, 121, -225, -200, - -90, 38, 399, -325, -114, -85, 306, 67, 67, -200, - -326, 46, -85, 67, 30, -106, -81, -107, 133, 78, - 73, -57, 68, 134, -381, 84, 85, -384, 180, 172, - -200, -69, 73, -3, -4, -5, -6, -28, -49, -85, - -351, -349, 67, 31, 372, 64, 15, -280, 210, 428, - 325, 236, 212, 305, -278, -262, -259, -257, -199, -255, - -258, -257, -283, -177, 399, -82, 384, 287, -82, -225, - -225, -225, -225, -225, 83, 94, 303, 84, 85, -220, - -239, 31, 283, 284, -221, -221, -221, -221, -221, -221, - -221, -221, -221, -221, -221, -221, -228, -237, -307, 67, - 113, 111, 112, 96, -223, -221, -221, 68, 134, -374, - -373, 98, -225, -225, -200, -371, -372, 442, 443, 444, - 445, 446, 447, 448, 449, 450, 451, 452, 316, 311, - 317, 315, 308, 323, 318, 319, 165, 459, 460, 453, - 454, 455, 456, 457, 458, -230, -231, -230, -225, -371, - -230, -172, 32, 31, -172, -225, -386, 301, 300, 302, - -108, -200, -230, 68, 68, 68, 78, -231, -230, -221, - -230, -372, -172, -231, -231, -172, -172, -172, -172, 121, - -172, -172, -172, -172, -172, -172, -172, -172, -273, 40, - -314, 347, 346, -308, -310, 67, -309, 67, -309, -308, - -308, 67, 67, -311, 67, -311, -311, -308, -312, 67, - -312, -313, 67, -312, -200, -106, -80, -334, -333, -225, - 40, 510, -81, -225, -103, -102, -225, -411, 73, 212, - -243, -392, -200, 94, -263, -260, -257, -253, -198, -200, - -243, -243, -390, -376, 34, -109, -200, -162, 16, -223, - -257, -414, -211, -162, -415, -211, -211, -213, -415, -209, - -415, 399, -162, -162, -294, -210, -200, -210, -243, -187, - -186, -200, -187, -392, -263, -98, -93, -97, -94, -99, - -165, -167, -96, 67, -124, -88, -200, 418, 419, 141, - 144, 143, 31, 372, -277, 372, 31, -253, -271, -267, - 73, 373, -258, -276, 64, 130, -333, -274, -274, -274, - -276, -276, 129, -81, -392, -262, -253, -200, -126, -124, - -126, -201, -161, 134, -160, 15, -195, -200, 34, 73, - 133, -161, 73, -126, -409, 64, 46, 30, 67, -113, - 68, -108, -112, -200, -327, -232, -369, 509, -113, 68, - -367, -368, -108, -81, -81, -193, -194, -184, -190, -197, - -198, -191, 208, 31, 93, 34, 36, 312, 344, 96, - 130, 20, 97, 166, 129, 314, 436, 313, 203, 59, - 439, 441, 440, 429, 427, 365, 369, 371, 368, 428, - 398, 40, 14, 37, 224, 32, 33, 123, 205, 100, - 101, 227, 35, 225, 85, 44, 23, 62, 15, 17, - 18, 315, 364, 215, 214, 113, 384, 211, 57, 12, - 132, 38, 110, 366, 53, 89, 45, 55, 111, 21, - 430, 431, 41, 383, 392, 464, 231, 125, 316, 317, - 60, 94, 372, 83, 43, 64, 90, 19, 58, 112, - 206, 435, 56, 370, 320, 322, 332, 461, 321, 209, - 409, 10, 311, 437, 30, 223, 54, 210, 99, 213, - 84, 230, 6, 88, 13, 61, 65, 432, 433, 434, - 46, 98, 16, 323, 468, 385, 386, 387, 388, 389, - 390, 391, 191, 192, 193, 194, 195, 272, 218, 216, - 220, 221, 509, 510, 197, 198, 300, 302, 169, 200, - 201, 202, 232, 147, 7, 351, 352, 353, 356, 357, - 358, 359, 360, 361, 362, 517, 393, 394, 395, 396, - 397, 410, 411, 23, -57, -379, 133, 134, -109, -280, - -261, -258, -282, 121, 70, -268, 134, 468, 520, 71, - 213, -402, -401, 364, 68, 134, -337, 214, 435, 73, - 521, 196, -337, 83, 303, 84, 85, -307, -231, -228, - -223, -221, -221, -226, 227, 93, -225, -224, -373, 100, - -225, 34, 134, 65, 133, 68, 68, 15, 15, 68, - -225, -225, 68, 15, 15, -225, 68, 133, 68, 68, - 68, 65, 68, 134, 68, 134, -225, 68, 68, -225, - -225, -225, -231, 68, -225, -225, -225, -225, -225, -225, - -225, -225, -225, -316, 348, 78, 78, -179, 73, -179, - 78, 78, 78, 134, 68, 73, 134, 22, 134, -100, - 36, 37, -124, 215, -124, -395, 351, 35, -403, 134, - 40, -401, -246, 65, -241, -242, -240, -244, 40, -124, - -124, 15, -92, -125, -200, 67, 68, 134, -225, -254, - 65, -187, -162, -124, -200, -162, -162, -211, -201, -213, - -208, -213, -209, 133, -186, -396, 351, -403, 30, -168, - -169, -170, -171, 53, 57, 59, 54, 55, 56, 60, - 30, 134, -196, -202, 34, -197, 73, -198, -191, -196, - -88, -93, -98, -196, 67, 142, 145, 145, 144, 213, - 67, 103, -276, -276, -276, 40, -199, 64, 134, -162, - -91, -93, -200, 73, -200, 121, -162, -151, 512, 38, - 39, -327, -367, -115, -392, 68, 134, -114, 306, 68, - 134, 134, 67, 68, 46, 134, 103, 133, 380, -200, - -349, 68, -282, 134, 213, 133, 133, -259, 330, -199, - -261, 20, 468, -177, 38, -183, -182, 73, 521, 38, - 68, -226, 93, -223, -220, 68, 101, -225, 99, -128, - -130, 346, 347, -129, -135, 130, 166, 226, 165, 164, - 162, 346, 347, -144, -200, -225, -225, 68, 68, -225, - -225, 15, -200, -144, -221, -225, 68, -289, 394, -289, - 68, 68, 68, 68, -289, 68, 68, 68, 68, 68, - 68, 68, 68, 68, 68, 68, 134, 68, 68, 68, - 134, 68, 134, -333, -340, 403, -225, -225, -102, -101, - 43, -110, 94, 67, -398, 405, 353, -192, 103, -218, - -217, 307, 41, -321, 373, 359, 360, -260, 240, 64, - 295, 296, 297, 298, -240, -185, 129, 251, 67, 67, - -124, -92, -200, 15, 134, -391, 133, -1, -200, -253, - -211, -162, -415, -162, -211, -211, -213, -200, -398, -192, - -218, -265, -264, -177, -97, -97, -97, -97, 53, 53, - 53, 58, 53, 58, 53, -170, -265, -99, -110, -202, - 68, -408, -407, -406, -404, 61, 214, 62, -230, 145, - -261, -214, 73, -267, -124, -124, -164, 17, 133, -164, - 78, 73, 89, 68, 134, -114, -108, 46, 67, -200, - -232, -335, -334, 46, -85, -327, -368, -333, -193, -190, - -198, -191, 78, 15, -258, -253, 121, 121, 70, 331, - -268, 73, 352, 73, 210, 522, 134, 103, -183, 210, - -220, -225, 68, -137, 153, 152, -137, 68, -308, -309, - -308, -311, -308, -137, -137, 68, 68, 23, 68, 68, - 68, -225, 68, 68, 134, -289, 67, -289, -289, -289, - -289, -289, -289, -289, -289, -289, -289, -289, -289, 73, - 78, 78, -346, 390, 385, 387, 44, 45, 34, 35, - -119, -120, -121, -127, -122, -177, -216, -123, 218, 216, - 220, -364, 88, 221, 272, 89, 211, -399, 77, -393, - 73, -200, -400, 77, 354, 132, 309, 40, 355, 356, - 370, 304, 78, 78, 361, -394, 70, -124, -192, -192, - -192, -119, -119, -111, 65, 133, -93, -125, -200, 121, - 68, -162, -200, -162, -162, -211, -399, -393, -400, -162, - 134, 103, -117, -116, 64, 65, -118, 64, -116, 53, - 53, -162, -406, -405, 23, -364, -364, -364, 68, 68, - -163, 18, 20, 121, -163, -151, 13, -85, -392, 46, - -85, -327, -115, 68, -327, -253, -268, 373, -124, -182, - 73, 522, -124, -225, 68, -225, -234, -233, 232, 68, - 68, -315, 511, -344, 385, 20, 20, -85, -124, 68, - 134, -130, -123, -200, 89, -363, -364, -243, -363, 89, - 67, 73, -397, 364, 73, 73, 78, 40, 78, 132, - 357, -322, 67, -144, -146, -199, 130, 73, 68, 68, - -196, -93, -200, -162, -391, 133, -162, -162, -397, -105, - -264, -333, -225, 67, -225, 67, 53, 19, 17, -225, - -231, -367, -327, 68, -114, -84, -338, -294, 68, 68, - -105, 20, -151, 73, 20, 73, -342, 73, -110, -142, - -143, -159, 344, 242, -244, 246, 77, 247, 380, 248, - 211, 250, 251, 252, 222, 253, 254, 255, 373, 256, - 257, 258, 259, 327, 6, 291, -121, -141, -140, -138, - 83, 94, 40, 344, -139, 77, 129, 265, 243, 266, - -158, -215, 64, 350, 216, 88, 89, 332, -216, -359, - -361, -200, -361, -200, -359, -359, -243, -225, 20, 468, - 308, 40, 78, 40, 358, -248, -250, -177, 67, -83, - -82, -142, -162, -162, -106, -109, -360, -200, 216, 20, - 20, -84, -345, 390, -341, -339, 385, 386, 387, 388, - -291, -290, -293, 391, 274, 397, -231, -180, 513, 73, - 387, 34, -284, 232, 134, -159, -192, -192, -185, 129, - -192, -192, -192, -192, 249, 249, -192, -192, -192, -192, - -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, - 67, -138, 83, -221, 73, -146, -147, 40, 264, 260, - -148, 40, 244, 245, -150, 67, 272, 13, 89, 89, - -124, 67, 65, 282, 67, 67, 67, -361, 68, 73, - 352, 73, 308, 68, 134, -308, -225, -84, -284, -105, - 68, 68, 134, -347, 214, -343, 389, -339, 20, 387, - 20, 20, 68, -292, 96, 357, 361, -225, 67, 20, - -85, -285, 281, 20, -159, 78, 78, -192, -192, 78, - 73, 73, 73, -192, -192, 78, 73, -202, 78, 78, - 78, 78, 40, 73, -149, 40, 260, 264, 261, 262, - 263, 78, 40, 78, 40, 78, 40, -200, 67, -365, - -366, 73, 78, 67, -328, -249, 67, -248, -362, 295, - 296, 297, 299, 298, -362, -248, -248, -248, 67, -270, - -269, 273, 94, 373, -251, -250, -100, 68, -285, -106, - -200, 216, -354, 67, 78, -344, 20, -342, 20, -342, - -342, -292, 509, 395, 396, 395, 396, -181, -200, -342, - 20, -286, 274, 275, -287, -298, 277, -144, -144, 73, - 73, -145, 243, -126, 68, 134, 103, 68, -225, -235, - -153, -152, 464, -248, 68, 68, 68, 68, -248, 273, - -252, 222, 77, 468, 293, 294, -100, -358, 30, 68, - -353, -352, -178, -348, -200, 390, 391, 73, -342, 93, - 68, 134, -177, 67, -296, 278, 67, -294, 67, -294, - 89, 296, 244, 245, 68, -366, 73, 68, -157, -155, - -156, 64, 401, 270, 271, 68, -251, -251, -251, -251, - 68, -192, 73, 292, -357, -356, -355, 68, 134, 133, - -292, -200, -283, -288, 279, 78, -221, 67, -221, 67, - -295, 276, 67, -269, -156, 64, -155, 64, 14, 13, - -158, 78, -198, 134, 103, -352, -200, 68, -300, 67, - 20, 68, -283, 68, -283, 67, 103, -221, -154, 267, - 268, 30, 144, -154, -356, 40, -225, 133, -301, -299, - 232, -287, 68, 68, 68, -283, 78, 68, 83, 40, - 269, -200, 68, 134, 70, -297, 280, 68, -299, -302, - 46, 78, -306, -303, 67, -159, 234, 113, -306, -159, - -305, -304, 279, 235, 67, 68, 134, 70, 231, 67, - -231, -304, -303, -231, 68, 68, + 180, 181, 30, 182, 227, 162, 163, 164, 165, 183, + 148, 168, 468, 191, 149, 192, 150, 193, 151, 194, + 152, 153, 195, 154, 157, 158, 159, 156, 133, -109, + 134, 67, -85, 38, -111, 21, -93, -92, 20, 31, + 32, 31, 32, 31, 32, 31, 32, 78, -130, -213, + -123, -213, -398, 211, 463, -256, 216, -256, -256, 212, + -256, 211, 211, -402, 147, 134, -390, -114, 67, -224, + 111, 23, 239, 239, 276, -224, -429, 212, 410, 42, + 240, 239, -110, -111, -110, 404, 401, -307, 405, 406, + -225, -224, -224, -225, 211, 213, 430, -427, -428, 15, + 113, 239, -427, 30, 30, -331, -331, -403, 215, 419, + 470, 143, 144, 145, -268, 241, 241, 134, 103, 23, + -287, 103, 114, -286, -286, -286, -287, -287, -157, 40, + -212, 130, -213, 73, -157, 40, -110, -93, -92, 68, + 68, -331, -331, -331, -331, -331, -331, -331, -219, -123, + -94, -95, 121, -238, -213, -94, 38, 401, -338, -118, + -89, 308, 67, 67, -213, -339, 46, -89, 67, 30, + -110, -85, -111, 133, 78, 73, -60, 68, 134, -394, + 84, 85, -397, 180, 172, -213, -72, 73, -3, -4, + -5, -6, -31, -52, -89, -364, -362, 67, 31, 374, + 64, 15, -293, 211, 430, 327, 237, 213, 307, -291, + -275, -272, -270, -212, -268, -271, -270, -296, -190, 401, + -86, 386, 288, -86, -238, -238, -238, -238, -238, 83, + 94, 305, 84, 85, -233, -252, 31, 284, 285, -234, + -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, + -234, -241, -250, -320, 67, 113, 111, 112, 96, -236, + -234, -234, 68, 134, -387, -386, 98, -238, -238, -213, + -384, -385, 444, 445, 446, 447, 448, 449, 450, 451, + 452, 453, 454, 318, 313, 319, 317, 310, 325, 320, + 321, 165, 461, 462, 455, 456, 457, 458, 459, 460, + -243, -244, -243, -238, -384, -243, -185, 32, 31, -185, + -238, -399, 303, 302, 304, -112, -213, -243, 68, 68, + 68, 78, -244, -243, -234, -243, -385, -185, -244, -244, + -185, -185, -185, -185, 121, -185, -185, -185, -185, -185, + -185, -185, -185, -286, 40, -327, 349, 348, -321, -323, + 67, -322, 67, -322, -321, -321, 67, 67, -324, 67, + -324, -324, -321, -325, 67, -325, -326, 67, -325, -213, + -110, -84, -347, -346, -238, 40, 512, -85, -238, -107, + -106, -238, -424, 73, 34, 67, 213, -256, -405, -213, + 94, -276, -273, -270, -266, -211, -213, -256, -256, -403, + -389, 34, -113, -213, -175, 16, -236, -270, -427, -224, + -175, -428, -224, -224, -226, -428, -222, -428, 401, -175, + -175, -307, -223, -213, -223, -256, -200, -199, -213, -200, + -405, -276, -102, -97, -101, -98, -103, -178, -180, -100, + 67, -137, -92, -213, 420, 421, 141, 144, 143, 31, + 374, -290, 374, 31, -266, -284, -280, 73, 375, -271, + -289, 64, 130, -346, -287, -287, -287, -289, -289, 129, + -85, -405, -275, -266, -213, -139, -137, -139, -214, 67, + -174, 134, -173, 15, -208, -213, 34, 73, 133, -174, + 73, -139, -422, 64, 46, 30, 67, -117, 68, -112, + -116, -213, -340, -245, -382, 511, -117, 68, -380, -381, + -112, -85, -85, -206, -207, -197, -203, -210, -211, -204, + 208, 31, 93, 34, 36, 314, 346, 96, 130, 20, + 97, 166, 129, 316, 438, 315, 203, 59, 441, 443, + 442, 431, 429, 367, 371, 373, 370, 430, 400, 40, + 14, 37, 225, 32, 33, 123, 205, 100, 101, 228, + 35, 226, 85, 44, 23, 62, 15, 17, 18, 317, + 366, 216, 215, 113, 386, 212, 57, 12, 132, 38, + 110, 368, 53, 89, 45, 55, 111, 21, 432, 433, + 41, 385, 394, 466, 232, 125, 318, 319, 60, 94, + 374, 83, 43, 64, 90, 19, 58, 112, 206, 437, + 56, 372, 322, 324, 334, 463, 323, 210, 411, 10, + 313, 439, 30, 224, 54, 211, 99, 214, 84, 231, + 6, 88, 13, 61, 65, 434, 435, 436, 46, 98, + 16, 325, 470, 387, 388, 389, 390, 391, 392, 393, + 191, 192, 193, 194, 195, 273, 219, 217, 221, 222, + 511, 512, 197, 198, 302, 304, 169, 200, 201, 202, + 233, 147, 7, 353, 354, 355, 358, 359, 360, 361, + 362, 363, 364, 519, 395, 396, 397, 398, 399, 412, + 413, 209, 23, -60, -392, 133, 134, -113, -293, -274, + -271, -295, 121, 70, -281, 134, 470, 522, 71, 214, + -415, -414, 366, 68, 134, -350, 215, 437, 73, 523, + 196, -350, 83, 305, 84, 85, -320, -244, -241, -236, + -234, -234, -239, 228, 93, -238, -237, -386, 100, -238, + 34, 134, 65, 133, 68, 68, 15, 15, 68, -238, + -238, 68, 15, 15, -238, 68, 133, 68, 68, 68, + 65, 68, 134, 68, 134, -238, 68, 68, -238, -238, + -238, -244, 68, -238, -238, -238, -238, -238, -238, -238, + -238, -238, -329, 350, 78, 78, -192, 73, -192, 78, + 78, 78, 134, 68, 73, 134, 22, 134, -104, 36, + 37, -131, -124, -125, -126, -127, -143, -190, 167, 170, + 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, + 227, 162, 163, 164, 165, 183, 148, 168, 149, 150, + 151, 152, 153, 154, 157, 158, 159, 156, -137, 216, + -137, -408, 353, 35, -416, 134, 40, -414, -259, 65, + -254, -255, -253, -257, 40, -137, -137, 15, -96, -138, + -213, 67, 68, 134, -238, -267, 65, -200, -175, -137, + -213, -175, -175, -224, -214, -226, -221, -226, -222, 133, + -199, -409, 353, -416, 30, -181, -182, -183, -184, 53, + 57, 59, 54, 55, 56, 60, 30, 134, -209, -215, + 34, -210, 73, -211, -204, -209, -92, -97, -102, -209, + 67, 142, 145, 145, 144, 214, 67, 103, -289, -289, + -289, 40, -212, 64, 134, -124, -175, -95, -97, -213, + 73, -213, 121, -175, -164, 514, 38, 39, -340, -380, + -119, -405, 68, 134, -118, 308, 68, 134, 134, 67, + 68, 46, 134, 103, 133, 382, -213, -362, 68, -295, + 134, 214, 133, 133, -272, 332, -212, -274, 20, 470, + -190, 38, -196, -195, 73, 523, 38, 68, -239, 93, + -236, -233, 68, 101, -238, 99, -141, -143, 348, 349, + -142, -148, 130, 166, 227, 165, 164, 162, 348, 349, + -157, -213, -238, -238, 68, 68, -238, -238, 15, -213, + -157, -234, -238, 68, -302, 396, -302, 68, 68, 68, + 68, -302, 68, 68, 68, 68, 68, 68, 68, 68, + 68, 68, 68, 134, 68, 68, 68, 134, 68, 134, + -346, -353, 405, -238, -238, -106, -105, 43, 340, 68, + 134, -143, -114, 94, 67, -411, 407, 355, -205, 103, + -231, -230, 309, 41, -334, 375, 361, 362, -273, 241, + 64, 297, 298, 299, 300, -253, -198, 129, 252, 67, + 67, -137, -96, -213, 15, 134, -404, 133, -1, -213, + -266, -224, -175, -428, -175, -224, -224, -226, -213, -411, + -205, -231, -278, -277, -190, -101, -101, -101, -101, 53, + 53, 53, 58, 53, 58, 53, -183, -278, -103, -114, + -215, 68, -421, -420, -419, -417, 61, 215, 62, -243, + 145, -274, -227, 73, -280, -137, -137, 68, -177, 17, + 133, -177, 78, 73, 89, 68, 134, -118, -112, 46, + 67, -213, -245, -348, -347, 46, -89, -340, -381, -346, + -206, -203, -211, -204, 78, 15, -271, -266, 121, 121, + 70, 333, -281, 73, 354, 73, 211, 524, 134, 103, + -196, 211, -233, -238, 68, -150, 153, 152, -150, 68, + -321, -322, -321, -324, -321, -150, -150, 68, 68, 23, + 68, 68, 68, -238, 68, 68, 134, -302, 67, -302, + -302, -302, -302, -302, -302, -302, -302, -302, -302, -302, + -302, 73, 78, 78, -359, 392, 387, 389, 44, 45, + 73, 209, -126, 40, 34, 35, -132, -133, -134, -140, + -135, -190, -229, -136, 219, 217, 221, -377, 88, 222, + 273, 89, 212, -412, 77, -406, 73, -213, -413, 77, + 356, 132, 311, 40, 357, 358, 372, 306, 78, 78, + 363, -407, 70, -137, -205, -205, -205, -132, -132, -115, + 65, 133, -97, -138, -213, 121, 68, -175, -213, -175, + -175, -224, -412, -406, -413, -175, 134, 103, -121, -120, + 64, 65, -122, 64, -120, 53, 53, -175, -419, -418, + 23, -377, -377, -377, 68, 68, -176, 18, 20, 121, + -176, -164, 13, -89, -405, 46, -89, -340, -119, 68, + -340, -266, -281, 375, -137, -195, 73, 524, -137, -238, + 68, -238, -247, -246, 233, 68, 68, -328, 513, -357, + 387, 20, 20, -128, -143, -232, -89, -137, 68, 134, + -143, -136, -213, 89, -376, -377, -256, -376, 89, 67, + 73, -410, 366, 73, 73, 78, 40, 78, 132, 359, + -335, 67, -157, -159, -212, 130, 73, 68, 68, -209, + -97, -213, -175, -404, 133, -175, -175, -410, -109, -277, + -346, -238, 67, -238, 67, 53, 19, 17, -238, -244, + -380, -340, 68, -118, -88, -351, -307, 68, 68, -109, + 20, -164, 73, 20, 73, -355, 73, 469, -114, -155, + -156, -172, 346, 243, -257, 247, 77, 248, 382, 249, + 212, 251, 252, 253, 223, 254, 255, 256, 375, 257, + 258, 259, 260, 329, 6, 293, -134, -154, -153, -151, + 83, 94, 40, 346, -152, 77, 129, 266, 244, 267, + -171, -228, 64, 352, 217, 88, 89, 334, -229, -372, + -374, -213, -374, -213, -372, -372, -256, -238, 20, 470, + 310, 40, 78, 40, 360, -261, -263, -190, 67, -87, + -86, -155, -175, -175, -110, -113, -373, -213, 217, 20, + 20, -88, -358, 392, -354, -352, 387, 388, 389, 390, + -304, -303, -306, 393, 275, 399, -244, -193, 515, 73, + 389, -129, -213, 34, -297, 233, 134, -172, -205, -205, + -198, 129, -205, -205, -205, -205, 250, 250, -205, -205, + -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, + -205, -205, 67, -151, 83, -234, 73, -159, -160, 40, + 265, 261, -161, 40, 245, 246, -163, 67, 273, 13, + 89, 89, -137, 67, 65, 283, 67, 67, 67, -374, + 68, 73, 354, 73, 310, 68, 134, -321, -238, -88, + -297, -109, 68, 68, 134, -360, 215, -356, 391, -352, + 20, 389, 20, 20, 68, -305, 96, 359, 363, -238, + 67, 20, 34, -89, -298, 282, 20, -172, 78, 78, + -205, -205, 78, 73, 73, 73, -205, -205, 78, 73, + -215, 78, 78, 78, 78, 40, 73, -162, 40, 261, + 265, 262, 263, 264, 78, 40, 78, 40, 78, 40, + -213, 67, -378, -379, 73, 78, 67, -341, -262, 67, + -261, -375, 297, 298, 299, 301, 300, -375, -261, -261, + -261, 67, -283, -282, 274, 94, 375, -264, -263, -104, + 68, -298, -110, -213, 217, -367, 67, 78, -357, 20, + -355, 20, -355, -355, -305, 511, 397, 398, 397, 398, + -194, -213, -355, 73, 20, -299, 275, 276, -300, -311, + 278, -157, -157, 73, 73, -158, 244, -139, 68, 134, + 103, 68, -238, -248, -166, -165, 466, -261, 68, 68, + 68, 68, -261, 274, -265, 223, 77, 470, 295, 296, + -104, -371, 30, 68, -366, -365, -191, -361, -213, 392, + 393, 73, -355, 93, 68, 134, -190, 67, -309, 279, + 67, -307, 67, -307, 89, 298, 245, 246, 68, -379, + 73, 68, -170, -168, -169, 64, 403, 271, 272, 68, + -264, -264, -264, -264, 68, -205, 73, 294, -370, -369, + -368, 68, 134, 133, -305, -213, -296, -301, 280, 78, + -234, 67, -234, 67, -308, 277, 67, -282, -169, 64, + -168, 64, 14, 13, -171, 78, -211, 134, 103, -365, + -213, 68, -313, 67, 20, 68, -296, 68, -296, 67, + 103, -234, -167, 268, 269, 30, 144, -167, -369, 40, + -238, 133, -314, -312, 233, -300, 68, 68, 68, -296, + 78, 68, 83, 40, 270, -213, 68, 134, 70, -310, + 281, 68, -312, -315, 46, 78, -319, -316, 67, -172, + 235, 113, -319, -172, -318, -317, 280, 236, 67, 68, + 134, 70, 232, 67, -244, -317, -316, -244, 68, 68, } var yyDef = [...]int{ - 32, -2, 1, 2, 4, 5, 6, 7, 8, 9, + 33, -2, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 647, 648, 649, 650, 0, 0, 0, 414, - 415, 0, 394, 0, 0, 0, 0, 0, 0, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, - 322, 323, 324, 325, 326, 327, 280, 281, 0, 226, - 222, 201, 202, 203, 162, 163, 164, 165, 288, 0, - 0, 0, 0, 0, 0, 498, -2, 34, 651, 652, - 653, 654, -2, 427, 0, 395, 396, 397, 398, 399, - 400, 401, 402, 269, 270, 271, 265, 266, 268, 267, - -2, 0, 427, 215, 0, 206, 206, 0, 518, 0, - 0, 532, 554, 32, 0, 476, 0, 481, 841, 877, - 878, 879, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, - 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, - 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, - 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1453, - 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, - 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, - 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, - 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, - 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, - 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, - 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, - 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, - 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, - 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, - 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, - 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, - 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, - 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, - 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, - 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, - 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, - 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 476, 227, - 416, 417, 518, 518, 392, 0, 251, 0, 1499, 255, - 0, 0, 0, 389, 246, 247, 248, 249, 250, 0, - 639, 0, 0, 242, 0, 221, 1558, 0, 0, 0, - 0, 0, 0, 106, 694, 108, 696, 112, 119, 0, - 0, 124, 125, 128, 129, 130, 131, 132, 0, 136, - 0, 138, 141, 0, 143, 144, 0, 147, 148, 149, - 0, 159, 160, 161, 697, 698, 86, 86, 1247, 1144, - 0, 1151, 1152, 1163, 1172, 949, 950, 951, 952, 0, - 0, 0, 0, 0, 959, 960, 0, 972, 1646, 0, - 966, 967, 968, 969, 49, 61, 62, 1191, 1192, 1193, - 1194, 1195, 1196, 1197, 1198, 1199, 1200, 0, 1117, 936, - 877, 0, 1654, 0, 1674, 1655, 1673, 0, 0, 1102, - 0, 1092, 0, -2, -2, 0, 0, 1625, 0, -2, - 1651, 1670, 1678, 1677, 1648, 1649, 1643, 1644, 1645, 1647, - 1656, 1658, 1669, 0, 1665, 1675, 1676, 0, 63, 64, + 30, 31, 32, 651, 652, 653, 654, 0, 0, 0, + 418, 419, 0, 396, 0, 0, 0, 0, 0, 0, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 282, 283, 0, + 228, 224, 203, 204, 205, 164, 165, 166, 167, 290, + 0, 0, 0, 0, 0, 0, 502, -2, 35, 655, + 656, 657, 658, 659, 660, -2, 431, 0, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 271, 272, 273, + 267, 268, 270, 269, -2, 0, 431, 217, 0, 208, + 208, 0, 522, 0, 0, 536, 558, 33, 0, 480, + 0, 485, 862, 898, 899, 900, 1665, 1666, 1667, 1668, + 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, + 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, + 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, + 1699, 1700, 1701, 1475, 1476, 1477, 1478, 1479, 1480, 1481, + 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, + 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, + 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, + 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, + 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, + 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, + 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, + 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, + 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, + 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, + 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, + 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, + 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, + 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, + 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, + 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, + 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, + 1652, 1653, 1654, 480, 229, 420, 421, 522, 522, 394, + 0, 253, 0, 1521, 257, 0, 0, 0, 391, 248, + 249, 250, 251, 252, 0, 643, 0, 0, 244, 0, + 223, 1580, 0, 0, 0, 0, 0, 0, 108, 715, + 110, 717, 114, 121, 0, 0, 126, 127, 130, 131, + 132, 133, 134, 0, 138, 0, 140, 143, 0, 145, + 146, 0, 149, 150, 151, 0, 161, 162, 163, 718, + 719, -2, 44, 663, 88, 1268, 1165, 0, 1172, 1173, + 1184, 1193, 970, 971, 972, 973, 0, 0, 0, 0, + 0, 980, 981, 0, 993, 1669, 0, 987, 988, 989, + 990, 51, 63, 64, 1212, 1213, 1214, 1215, 1216, 1217, + 1218, 1219, 1220, 1221, 0, 1138, 957, 898, 0, 1677, + 0, 1697, 1678, 1696, 0, 0, 1123, 0, 1113, 0, + -2, -2, 0, 0, 1647, 0, -2, 1674, 1693, 1701, + 1700, 1671, 1672, 1666, 1667, 1668, 1670, 1679, 1681, 1692, + 0, 1688, 1698, 1699, 0, 65, 66, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, - -2, -2, -2, 1108, -2, 1110, 1111, 1113, 1114, 1115, - 1116, -2, 1119, 1120, 1121, -2, -2, 1124, 1125, 1126, - 1127, 1128, 1129, 1132, -2, 1134, -2, 1136, 1104, 1105, - 1106, 1107, 1096, 1097, 1098, 1099, 1100, 1101, -2, -2, - -2, 0, 199, 197, 518, 590, 0, -2, 0, 0, - 0, 537, 540, 543, 546, 0, 35, 36, 657, 723, - 723, 723, 0, 723, 0, 0, 747, 700, 701, 702, - 721, 722, 432, 428, 429, 430, 431, 506, 0, 508, - 511, 372, 329, 0, 0, 0, 340, 372, 0, 0, - 513, 513, 0, 381, 372, 372, -2, 0, 342, 343, - 344, 334, 0, 334, 348, 349, 350, 361, 362, 382, - 1271, 0, 0, 288, 288, 434, 216, 217, 205, 207, - 0, 211, 0, 204, 1558, 0, 0, 173, 1625, 178, - 0, 1506, 1572, 1521, 0, 0, 1539, 0, -2, 513, - 0, 519, 0, 518, 0, 288, 288, 288, 288, 288, - 288, 288, 0, 0, 0, 555, 556, 551, 552, 553, - 557, 558, 3, 0, 640, 641, 644, 645, 646, 444, - 0, 480, 0, 0, 513, -2, 0, 393, 252, 880, - 0, 0, 256, 257, 0, 0, 272, 0, 275, 260, - 261, 262, 0, 0, 244, 245, 0, 0, 223, 0, - 0, 0, 289, 0, 0, 0, 0, 0, 0, 116, - 113, 120, 123, 133, 140, 0, 152, 154, 157, 114, - 121, 126, 127, 134, 155, 115, 117, 118, 122, 156, - 158, 135, 139, 153, 137, 142, 145, 146, 151, 0, - 87, 0, 0, 0, 0, 0, 0, 1150, 0, 0, - 1180, 1181, 1182, 1183, 1184, 1185, 1186, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -2, 1144, 0, 955, 956, 957, - 958, 961, 0, 973, 0, 0, 0, 1201, 0, 1142, - 1142, 0, 1142, 1138, 1138, 0, 0, 1142, 1080, 0, - 0, 1082, 1093, 0, 0, 1085, 1086, 1142, 0, 1142, - 1090, 1091, 1076, 1077, 0, 1138, 0, 0, 1138, 1138, - 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, - 0, 1248, 1266, 1203, 1204, 1205, 1253, 1207, 1257, 1257, - 1253, 1253, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, - 1243, 0, 0, 1246, 1226, 1255, 1255, 1255, 1253, 1250, - 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, - 1218, 1219, 1220, 1221, 1260, 1260, 1263, 1260, 0, 513, - 0, 0, 501, 0, 482, 0, 534, 536, 0, 538, - 539, 541, 542, 544, 545, 547, 548, 37, 0, 723, - 658, 0, 0, 0, 0, 0, 0, 723, 723, 434, - 433, 0, 507, 0, 0, 563, 0, 0, 334, 372, - 339, 563, 0, 355, 356, 357, 372, 372, 363, 514, - 364, 365, 374, 0, 379, 380, 0, 563, 563, 0, - 0, 0, 723, 336, 335, 377, 378, 346, 336, 1272, - 1273, 0, 0, 0, 435, 0, 0, 209, 0, 214, - 166, 0, 0, 0, 0, 0, 0, 195, 196, 0, - 0, 0, 0, 0, 186, 189, 835, 836, 691, 692, - 190, 191, 482, 533, 535, 530, 531, 0, 0, 0, - 0, 0, 0, 0, 413, 571, 565, 567, 634, 49, - 571, 0, 0, 455, 0, 449, 0, 0, 0, 842, - 436, 468, 438, 0, 457, 482, 504, 482, 0, 253, - 0, 258, 0, 0, 274, 276, 277, 278, 263, 264, - 390, 240, 241, 233, 234, 235, 236, 237, 238, 239, - 243, 59, 0, 224, 225, 0, 0, 0, 100, 101, - 102, 103, 104, 105, 107, 91, 405, 407, 683, 695, - 0, 686, 0, 110, 150, 83, 0, 0, 83, 1145, - 1146, 1147, 1148, 1149, 1153, 0, 1155, 1157, 1159, 1161, - 0, 1177, -2, -2, 937, 938, 939, 940, 941, 942, - 943, 944, 945, 946, 947, 948, 1164, 1175, 1176, 0, - 0, 0, 0, 0, 1173, 1168, 0, 953, 0, 970, - 974, 0, 0, 0, 50, 1137, 1047, 1048, 1049, 1050, - 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, - 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, - 1071, 1072, 1073, 1074, 1075, 0, 1143, 0, 1144, 0, - 0, 0, 1139, 1140, 0, 0, 0, 1041, 1042, 1043, - 0, 463, 0, 1103, 1081, 1094, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, - 1269, 1267, 1268, 1206, 1254, 0, 1231, 0, 1232, 1233, - 1234, 0, 0, 1227, 0, 1228, 1229, 1230, 1222, 0, - 1223, 1224, 0, 1225, 198, 589, 591, 0, 472, 474, - 475, 0, 502, 515, 520, 521, 524, 33, 38, 0, - 0, 0, 660, 0, 286, 677, 0, 693, 715, -2, - 0, 0, 0, 509, 0, 0, 603, 328, 0, 373, - 331, 336, 563, 341, 0, 563, 563, 372, 0, 374, - 0, 374, 368, 369, 0, 383, 386, 384, 0, 345, - 337, 388, 347, 283, 286, 576, 0, 577, 578, 574, - 605, 629, 629, 0, 629, 609, 841, 218, 219, 0, - 0, 213, 167, 168, 0, 170, 171, 172, 179, 174, - 176, 0, 0, 180, 192, 193, 194, 0, 0, 0, - 184, 185, 0, 500, 403, 404, 408, 0, 410, 839, - 411, 412, 563, 0, 572, 0, 568, 635, 0, 637, - 0, 563, 492, 0, 443, 0, 468, 457, 0, 0, - 444, 461, 0, 478, 437, 465, 0, 469, 0, 0, - 442, 458, 0, 503, 505, 881, 0, 1278, -2, 1280, - -2, -2, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, - 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, - 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, - 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, - 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, - 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, - 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, - 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, - 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, - 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, - 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, - 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, - 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, - 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, - 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, - 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, - 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, - 1450, 1451, 1452, 0, 259, 273, 0, 0, 0, 0, - 94, 680, 0, 95, 99, 89, 0, 0, 0, 685, - 0, 682, 687, 0, 109, 0, 0, 84, 85, 738, - 743, 0, 0, 1154, 1156, 1158, 1160, 1162, 0, 1165, - 1173, 1169, 0, 1166, 0, 0, 1145, 0, 975, 0, - 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 1033, - 0, 0, 1036, 0, 0, 0, 1040, 0, 1079, 1095, - 1083, 0, 1087, 0, 1089, 0, 0, 1007, 1007, 0, - 0, 0, 0, 1007, 0, 0, 0, 0, 0, 0, - 0, 0, 1249, 1202, 1270, 0, 0, 0, 1251, 0, - 0, 0, 0, 0, 592, 484, 0, 0, 0, 527, - 525, 526, 511, 0, 0, 667, 1274, 724, 290, 0, - 0, 679, 0, 0, 720, -2, 727, 0, 733, 0, - 0, 0, 0, 421, 425, 32, 512, 0, 564, 330, - 0, 372, 338, 563, 841, 358, 359, 563, 375, 372, - 376, 372, 374, 0, 385, 667, 1274, 290, 0, 0, - 0, 0, 0, 596, 0, 0, 595, 0, 0, 0, - 0, 0, 511, 630, 0, 632, 633, 642, 643, 607, - -2, 0, 576, 612, 1142, 220, 208, 210, 0, 0, - 0, 0, 181, 182, 183, 187, 188, 0, 0, 561, - 566, 573, 636, 638, 50, 569, 561, 39, 0, 0, - 0, 448, 454, 0, 446, 444, 0, 0, 0, 477, - 0, 468, 470, 0, 468, 0, 0, 0, 0, 391, - 60, 279, 0, 0, 0, 0, 0, 406, 0, 684, - 91, 0, 0, 111, 0, 0, 741, 0, 743, 0, - 1141, 1167, 0, 1174, 1170, 954, 962, 971, 0, 0, - 977, 989, 989, 0, 980, 1253, 1257, 983, 1253, 1255, - 1253, 989, 989, 0, 51, 0, 0, 1034, 1035, 0, - 0, 0, 464, 0, 0, 0, 1007, 1010, 0, 1011, - 1007, 1007, 1007, 1007, 1016, 1007, 1007, 1007, 1007, 1007, - 1007, 1007, 1007, 1259, 1258, 1244, 0, 1245, 1256, 1261, - 0, 1264, 0, 473, 488, 0, 516, 517, 522, 523, - 0, 0, 0, 843, 670, 668, 669, 0, 1275, 674, - 291, 292, 293, 294, 0, 0, 0, 678, 0, 0, - 716, 717, 718, 719, 728, 1274, 1274, 1274, 843, 843, - 476, 0, -2, 0, 0, 423, 0, 0, 604, 332, - 563, 351, 0, 366, 563, 563, 372, 387, 670, 0, - 674, 563, 230, 0, 599, 593, 0, 582, 597, 598, - 585, 0, 587, 0, 583, 584, 563, 575, 606, 631, - 608, 611, 613, 614, 620, 0, 0, 0, 0, 212, - 169, 0, 310, 175, 409, 840, 559, 0, 0, 559, - 493, 492, 0, 445, 0, 0, 462, 468, 0, 479, - 466, 0, 471, 468, 441, 440, 459, 460, 882, 1279, - 1276, 1277, 254, 0, 681, 91, 96, 97, 98, 92, - 90, 688, 0, 690, 0, 739, 743, 0, 0, 0, - 1171, 976, 963, 978, 990, 991, 979, 964, 981, 982, - 984, 985, 986, 987, 988, 965, 1030, 0, 1032, 1037, - 1038, 0, 1084, 1088, 0, 1009, 1005, 1012, 1013, 1014, - 1015, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1252, - 0, 0, 490, 72, 0, 0, 528, 529, 0, 0, - 0, 844, 845, 847, 848, 0, 0, 850, 906, 0, - 859, 723, 859, 0, 0, 861, 862, 659, 0, 0, - 662, 663, 672, 0, 0, 0, 296, 297, 0, 0, - 0, 309, 305, 306, 307, 287, 673, 0, 0, 0, - 0, 0, 0, 629, 0, 0, 563, 422, 425, 426, - 510, 333, 563, 370, 367, 563, 282, 0, 285, 518, - 0, 0, 579, 600, 0, 0, 580, 0, 581, 586, - 588, 229, 615, 0, 0, 617, 618, 619, 610, 177, - 549, 0, 0, 570, 550, 40, 457, 450, 447, 468, - 453, 452, 0, 467, 439, 93, 88, 689, 444, 742, - 744, 740, 74, 0, 1039, 0, 518, 1006, 0, 1262, - 1265, 492, 0, 489, 0, 0, 0, 655, 511, -2, - 0, -2, 849, 907, 871, 871, 860, 871, 871, 723, - 0, 671, 661, 0, 675, 676, 0, 298, 299, 0, - 302, 308, 0, 729, 730, 837, 838, 731, 0, -2, - 563, 563, -2, 419, 424, 0, 352, 371, 284, 513, - 231, 232, 601, 0, 594, 624, 621, 0, 0, 560, - 562, 456, 451, 445, 74, 41, 68, 0, 1031, 1078, - 1002, 0, 494, 491, 0, 485, 487, 82, 0, 748, - -2, 791, 1274, 1274, 0, 1274, 1274, 1274, 1274, 0, - 0, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, - 1274, 1274, 1274, 1274, 1274, 0, 846, 873, -2, 885, - 887, 0, 0, 890, 891, 0, 0, 0, 0, 928, - 897, 0, 0, 901, 0, 1189, 1190, 0, 905, 0, - 863, 872, 0, 872, 0, 0, 871, 0, 0, 0, - 295, 300, 0, 303, 304, 0, 711, 1253, 0, 735, - 74, 748, 518, 420, 228, 0, 0, 625, 627, 622, - 623, 42, 65, 70, 75, 76, 0, 0, 0, 0, - 0, 1003, 0, 997, 998, 999, 1004, 483, 0, 73, - 0, 0, 750, 0, 732, 793, 0, 0, 1274, 1274, - 0, 0, 0, 0, 1274, 1274, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 886, 888, 889, 892, 893, 894, 933, 934, 935, - 895, 930, 931, 932, 896, 0, 0, 0, 1187, 1188, - 926, 0, 0, 0, 0, 0, 0, 0, 857, 664, - 0, 666, 301, 704, 0, 524, 0, 737, 750, 513, - 602, 616, 0, 52, 0, 72, 0, 77, 0, 0, - 0, 0, 1008, 1000, 0, 0, 0, 0, 0, 0, - 656, 734, 0, 787, 792, 794, 795, 0, 0, 798, - 799, 800, 801, 0, 0, 804, 805, 806, 807, 808, - 809, 810, 811, 812, 813, 829, 830, 831, 832, 833, - 834, 814, 815, 816, 817, 818, 819, 826, 0, 0, - 823, 0, 0, 0, 1092, 921, 0, 0, 864, 866, - 867, 868, 869, 870, 865, 0, 0, 0, 0, 856, - 858, 902, 0, 665, 703, 712, 713, 524, 736, 418, - 626, 628, 43, 0, 0, 69, 0, 78, 0, 80, - 81, 0, 992, 993, 995, 994, 996, 0, 496, 486, - 0, 775, 0, 0, 781, 0, 788, 796, 797, 802, - 803, 820, 0, 0, 822, 0, 0, 929, 0, 900, - 909, 922, 0, 0, 704, 704, 704, 704, 0, 903, - 705, 1274, 0, 0, 709, 710, 714, 745, 0, 53, - 0, 55, 57, 58, 874, 66, 67, 71, 79, 0, - 495, 0, 751, 0, 753, 0, 0, 0, 0, 0, - 785, 0, 827, 828, 821, 824, 825, 898, 908, 910, - 911, 0, 923, 924, 925, 927, 851, 852, 853, 854, - 0, 0, 707, 0, 44, 45, 0, 54, 0, 0, - 1001, 497, 0, 755, 0, 776, 0, 0, 0, 0, - 0, 0, 0, 899, 912, 0, 913, 0, 0, 0, - 855, 706, 708, 0, 0, 56, 875, 752, 749, 0, - 787, 777, 0, 779, 0, 0, 0, 0, 914, 916, - 917, 0, 0, 915, 46, 47, 48, 0, 0, 757, - 0, 773, 778, 780, 782, 0, 786, 784, 918, 920, - 919, 876, 756, 0, 769, 754, 0, 783, 758, -2, - 0, 774, 759, -2, 0, 767, 0, 0, 760, 768, - 0, 763, 0, 0, 0, 762, 0, -2, 770, 0, - 0, 764, -2, 0, 772, 771, + 1129, -2, 1131, 1132, 1134, 1135, 1136, 1137, -2, 1140, + 1141, 1142, -2, -2, 1145, 1146, 1147, 1148, 1149, 1150, + 1153, -2, 1155, -2, 1157, 1125, 1126, 1127, 1128, 1117, + 1118, 1119, 1120, 1121, 1122, -2, -2, -2, 0, 201, + 199, 522, 594, 0, -2, 0, 0, 0, 541, 544, + 547, 550, 0, 36, 37, 0, 0, 678, 744, 744, + 744, 0, 744, 0, 0, 768, 721, 722, 723, 742, + 743, 436, 432, 433, 434, 435, 510, 0, 512, 515, + 374, 331, 0, 0, 0, 342, 374, 0, 0, 517, + 517, 0, 383, 374, 374, -2, 0, 344, 345, 346, + 336, 0, 336, 350, 351, 352, 363, 364, 384, 1292, + 0, 0, 290, 290, 438, 218, 219, 207, 209, 0, + 213, 0, 206, 1580, 0, 0, 175, 1647, 180, 0, + 1528, 1594, 1543, 0, 0, 1561, 0, -2, 517, 0, + 523, 0, 522, 0, 290, 290, 290, 290, 290, 290, + 290, 0, 0, 0, 0, 559, 560, 555, 556, 557, + 561, 562, 3, 0, 644, 645, 648, 649, 650, 448, + 0, 484, 0, 0, 517, -2, 0, 395, 254, 901, + 0, 0, 258, 259, 0, 0, 274, 0, 277, 262, + 263, 264, 0, 0, 246, 247, 0, 0, 225, 0, + 0, 0, 291, 0, 0, 0, 0, 0, 0, 118, + 115, 122, 125, 135, 142, 0, 154, 156, 159, 116, + 123, 128, 129, 136, 157, 117, 119, 120, 124, 158, + 160, 137, 141, 155, 139, 144, 147, 148, 153, 0, + 89, 0, 0, 0, 0, 0, 0, 1171, 0, 0, + 1201, 1202, 1203, 1204, 1205, 1206, 1207, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -2, 1165, 0, 976, 977, 978, + 979, 982, 0, 994, 0, 0, 0, 1222, 0, 1163, + 1163, 0, 1163, 1159, 1159, 0, 0, 1163, 1101, 0, + 0, 1103, 1114, 0, 0, 1106, 1107, 1163, 0, 1163, + 1111, 1112, 1097, 1098, 0, 1159, 0, 0, 1159, 1159, + 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, + 0, 1269, 1287, 1224, 1225, 1226, 1274, 1228, 1278, 1278, + 1274, 1274, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, + 1264, 0, 0, 1267, 1247, 1276, 1276, 1276, 1274, 1271, + 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, + 1239, 1240, 1241, 1242, 1281, 1281, 1284, 1281, 0, 517, + 0, 0, 505, 0, 486, 0, 538, 540, 0, 542, + 543, 545, 546, 548, 549, 551, 552, 38, 0, 662, + 0, 665, 0, 744, 679, 0, 0, 0, 0, 0, + 0, 744, 744, 438, 437, 0, 511, 0, 0, 567, + 0, 0, 336, 374, 341, 567, 0, 357, 358, 359, + 374, 374, 365, 518, 366, 367, 376, 0, 381, 382, + 0, 567, 567, 0, 0, 0, 744, 338, 337, 379, + 380, 348, 338, 1293, 1294, 0, 0, 0, 439, 0, + 0, 211, 0, 216, 168, 0, 0, 0, 0, 0, + 0, 197, 198, 0, 0, 0, 0, 0, 188, 191, + 856, 857, 712, 713, 192, 193, 486, 537, 539, 534, + 535, 0, 0, 0, 0, 0, 0, 0, 416, 0, + 575, 569, 571, 638, 51, 575, 0, 0, 459, 0, + 453, 0, 0, 0, 863, 440, 472, 442, 0, 461, + 486, 508, 486, 0, 255, 0, 260, 0, 0, 276, + 278, 279, 280, 265, 266, 392, 242, 243, 235, 236, + 237, 238, 239, 240, 241, 245, 61, 0, 226, 227, + 0, 0, 0, 102, 103, 104, 105, 106, 107, 109, + 93, 408, 410, 704, 716, 0, 707, 0, 112, 152, + 85, 0, 0, 85, 1166, 1167, 1168, 1169, 1170, 1174, + 0, 1176, 1178, 1180, 1182, 0, 1198, -2, -2, 958, + 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, + 969, 1185, 1196, 1197, 0, 0, 0, 0, 0, 1194, + 1189, 0, 974, 0, 991, 995, 0, 0, 0, 52, + 1158, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, + 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, + 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, + 0, 1164, 0, 1165, 0, 0, 0, 1160, 1161, 0, + 0, 0, 1062, 1063, 1064, 0, 467, 0, 1124, 1102, + 1115, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 202, 0, 1290, 1288, 1289, 1227, 1275, + 0, 1252, 0, 1253, 1254, 1255, 0, 0, 1248, 0, + 1249, 1250, 1251, 1243, 0, 1244, 1245, 0, 1246, 200, + 593, 595, 0, 476, 478, 479, 0, 506, 519, 524, + 525, 528, 34, 39, 0, 666, 0, 0, 0, 681, + 0, 288, 698, 0, 714, 736, -2, 0, 0, 0, + 513, 0, 0, 607, 330, 0, 375, 333, 338, 567, + 343, 0, 567, 567, 374, 0, 376, 0, 376, 370, + 371, 0, 385, 388, 386, 0, 347, 339, 390, 349, + 285, 288, 580, 0, 581, 582, 578, 609, 633, 633, + 0, 633, 613, 862, 220, 221, 0, 0, 215, 169, + 170, 0, 172, 173, 174, 181, 176, 178, 0, 0, + 182, 194, 195, 196, 0, 0, 0, 186, 187, 0, + 504, 406, 407, 411, 0, 413, 860, 414, 415, 666, + 567, 0, 576, 0, 572, 639, 0, 641, 0, 567, + 496, 0, 447, 0, 472, 461, 0, 0, 448, 465, + 0, 482, 441, 469, 0, 473, 0, 0, 446, 462, + 0, 507, 509, 902, 0, 1299, -2, 1301, -2, -2, + 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, + 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, + 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, + 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, + 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, + 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, + 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, + 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, + 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, + 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, + 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, + 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, + 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, + 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, + 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, + 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, + 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, + 1473, 1474, 0, 261, 275, 0, 0, 0, 0, 96, + 701, 0, 97, 101, 91, 0, 0, 0, 706, 0, + 703, 708, 0, 111, 0, 0, 86, 87, 759, 764, + 0, 0, 1175, 1177, 1179, 1181, 1183, 0, 1186, 1194, + 1190, 0, 1187, 0, 0, 1166, 0, 996, 0, 0, + 0, 0, 0, 0, 1049, 1050, 0, 0, 1054, 0, + 0, 1057, 0, 0, 0, 1061, 0, 1100, 1116, 1104, + 0, 1108, 0, 1110, 0, 0, 1028, 1028, 0, 0, + 0, 0, 1028, 0, 0, 0, 0, 0, 0, 0, + 0, 1270, 1223, 1291, 0, 0, 0, 1272, 0, 0, + 0, 0, 0, 596, 488, 0, 0, 0, 531, 529, + 530, 0, 0, 667, 668, 670, 671, 0, -2, -2, + -2, -2, -2, -2, -2, -2, -2, -2, -2, 1513, + -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, + -2, -2, -2, -2, -2, -2, -2, -2, 515, 0, + 0, 688, 1295, 745, 292, 0, 0, 700, 0, 0, + 741, -2, 748, 0, 754, 0, 0, 0, 0, 425, + 429, 33, 516, 0, 568, 332, 0, 374, 340, 567, + 862, 360, 361, 567, 377, 374, 378, 374, 376, 0, + 387, 688, 1295, 292, 0, 0, 0, 0, 0, 600, + 0, 0, 599, 0, 0, 0, 0, 0, 515, 634, + 0, 636, 637, 646, 647, 611, -2, 0, 580, 616, + 1163, 222, 210, 212, 0, 0, 0, 0, 183, 184, + 185, 189, 190, 0, 0, 0, 565, 570, 577, 640, + 642, 52, 573, 565, 40, 0, 0, 0, 452, 458, + 0, 450, 448, 0, 0, 0, 481, 0, 472, 474, + 0, 472, 0, 0, 0, 0, 393, 62, 281, 0, + 0, 0, 0, 0, 409, 0, 705, 93, 0, 0, + 113, 0, 0, 762, 0, 764, 0, 1162, 1188, 0, + 1195, 1191, 975, 983, 992, 0, 0, 998, 1010, 1010, + 0, 1001, 1274, 1278, 1004, 1274, 1276, 1274, 1010, 1010, + 0, 53, 0, 0, 1055, 1056, 0, 0, 0, 468, + 0, 0, 0, 1028, 1031, 0, 1032, 1028, 1028, 1028, + 1028, 1037, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, + 1280, 1279, 1265, 0, 1266, 1277, 1282, 0, 1285, 0, + 477, 492, 0, 520, 521, 526, 527, 0, 0, 0, + 0, 672, 0, 0, 864, 691, 689, 690, 0, 1296, + 695, 293, 294, 295, 296, 0, 0, 0, 699, 0, + 0, 737, 738, 739, 740, 749, 1295, 1295, 1295, 864, + 864, 480, 0, -2, 0, 0, 427, 0, 0, 608, + 334, 567, 353, 0, 368, 567, 567, 374, 389, 691, + 0, 695, 567, 232, 0, 603, 597, 0, 586, 601, + 602, 589, 0, 591, 0, 587, 588, 567, 579, 610, + 635, 612, 615, 617, 618, 624, 0, 0, 0, 0, + 214, 171, 0, 312, 177, 412, 861, 417, 563, 0, + 0, 563, 497, 496, 0, 449, 0, 0, 466, 472, + 0, 483, 470, 0, 475, 472, 445, 444, 463, 464, + 903, 1300, 1297, 1298, 256, 0, 702, 93, 98, 99, + 100, 94, 92, 709, 0, 711, 0, 760, 764, 0, + 0, 0, 1192, 997, 984, 999, 1011, 1012, 1000, 985, + 1002, 1003, 1005, 1006, 1007, 1008, 1009, 986, 1051, 0, + 1053, 1058, 1059, 0, 1105, 1109, 0, 1030, 1026, 1033, + 1034, 1035, 1036, 1038, 1039, 1040, 1041, 1042, 1043, 1044, + 1045, 1273, 0, 0, 494, 74, 0, 0, 532, 533, + 661, 0, 669, 0, 0, 0, 0, 865, 866, 868, + 869, 0, 0, 871, 927, 0, 880, 744, 880, 0, + 0, 882, 883, 680, 0, 0, 683, 684, 693, 0, + 0, 0, 298, 299, 0, 0, 0, 311, 307, 308, + 309, 289, 694, 0, 0, 0, 0, 0, 0, 633, + 0, 0, 567, 426, 429, 430, 514, 335, 567, 372, + 369, 567, 284, 0, 287, 522, 0, 0, 583, 604, + 0, 0, 584, 0, 585, 590, 592, 231, 619, 0, + 0, 621, 622, 623, 614, 179, 553, 0, 0, 574, + 554, 41, 461, 454, 451, 472, 457, 456, 0, 471, + 443, 95, 90, 710, 448, 763, 765, 761, 76, 0, + 1060, 0, 522, 1027, 0, 1283, 1286, 496, 0, 493, + 0, 0, 0, 0, 675, 673, 676, 515, -2, 0, + -2, 870, 928, 892, 892, 881, 892, 892, 744, 0, + 692, 682, 0, 696, 697, 0, 300, 301, 0, 304, + 310, 0, 750, 751, 858, 859, 752, 0, -2, 567, + 567, -2, 423, 428, 0, 354, 373, 286, 517, 233, + 234, 605, 0, 598, 628, 625, 0, 0, 564, 566, + 460, 455, 449, 76, 42, 70, 0, 1052, 1099, 1023, + 0, 498, 495, 0, 489, 491, 84, 0, 0, 769, + -2, 812, 1295, 1295, 0, 1295, 1295, 1295, 1295, 0, + 0, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, + 1295, 1295, 1295, 1295, 1295, 0, 867, 894, -2, 906, + 908, 0, 0, 911, 912, 0, 0, 0, 0, 949, + 918, 0, 0, 922, 0, 1210, 1211, 0, 926, 0, + 884, 893, 0, 893, 0, 0, 892, 0, 0, 0, + 297, 302, 0, 305, 306, 0, 732, 1274, 0, 756, + 76, 769, 522, 424, 230, 0, 0, 629, 631, 626, + 627, 43, 67, 72, 77, 78, 0, 0, 0, 0, + 0, 1024, 0, 1018, 1019, 1020, 1025, 487, 0, 75, + 0, 0, 674, 0, 771, 0, 753, 814, 0, 0, + 1295, 1295, 0, 0, 0, 0, 1295, 1295, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 907, 909, 910, 913, 914, 915, 954, + 955, 956, 916, 951, 952, 953, 917, 0, 0, 0, + 1208, 1209, 947, 0, 0, 0, 0, 0, 0, 0, + 878, 685, 0, 687, 303, 725, 0, 528, 0, 758, + 771, 517, 606, 620, 0, 54, 0, 74, 0, 79, + 0, 0, 0, 0, 1029, 1021, 0, 0, 0, 0, + 0, 0, 0, 677, 755, 0, 808, 813, 815, 816, + 0, 0, 819, 820, 821, 822, 0, 0, 825, 826, + 827, 828, 829, 830, 831, 832, 833, 834, 850, 851, + 852, 853, 854, 855, 835, 836, 837, 838, 839, 840, + 847, 0, 0, 844, 0, 0, 0, 1113, 942, 0, + 0, 885, 887, 888, 889, 890, 891, 886, 0, 0, + 0, 0, 877, 879, 923, 0, 686, 724, 733, 734, + 528, 757, 422, 630, 632, 45, 0, 0, 71, 0, + 80, 0, 82, 83, 0, 1013, 1014, 1016, 1015, 1017, + 0, 500, 490, 664, 0, 796, 0, 0, 802, 0, + 809, 817, 818, 823, 824, 841, 0, 0, 843, 0, + 0, 950, 0, 921, 930, 943, 0, 0, 725, 725, + 725, 725, 0, 924, 726, 1295, 0, 0, 730, 731, + 735, 766, 0, 55, 0, 57, 59, 60, 895, 68, + 69, 73, 81, 0, 499, 0, 772, 0, 774, 0, + 0, 0, 0, 0, 806, 0, 848, 849, 842, 845, + 846, 919, 929, 931, 932, 0, 944, 945, 946, 948, + 872, 873, 874, 875, 0, 0, 728, 0, 46, 47, + 0, 56, 0, 0, 1022, 501, 0, 776, 0, 797, + 0, 0, 0, 0, 0, 0, 0, 920, 933, 0, + 934, 0, 0, 0, 876, 727, 729, 0, 0, 58, + 896, 773, 770, 0, 808, 798, 0, 800, 0, 0, + 0, 0, 935, 937, 938, 0, 0, 936, 48, 49, + 50, 0, 0, 778, 0, 794, 799, 801, 803, 0, + 807, 805, 939, 941, 940, 897, 777, 0, 790, 775, + 0, 804, 779, -2, 0, 795, 780, -2, 0, 788, + 0, 0, 781, 789, 0, 784, 0, 0, 0, 783, + 0, -2, 791, 0, 0, 785, -2, 0, 793, 792, } var yyTok1 = [...]int{ @@ -6059,14 +6369,14 @@ var yyTok1 = [...]int{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 95, 3, 3, 3, 124, 116, 3, 67, 68, 121, 119, 134, 120, 133, 122, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 519, - 104, 103, 105, 3, 520, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 521, + 104, 103, 105, 3, 522, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 126, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 521, 115, 522, 127, + 3, 3, 3, 523, 115, 524, 127, } var yyTok2 = [...]int{ @@ -6147,7 +6457,8 @@ var yyTok3 = [...]int{ 57825, 500, 57826, 501, 57827, 502, 57828, 503, 57829, 504, 57830, 505, 57831, 506, 57832, 507, 57833, 508, 57834, 509, 57835, 510, 57836, 511, 57837, 512, 57838, 513, 57839, 514, - 57840, 515, 57841, 516, 57842, 517, 57843, 518, 0, + 57840, 515, 57841, 516, 57842, 517, 57843, 518, 57844, 519, + 57845, 520, 0, } var yyErrorMessages = [...]struct { @@ -6497,7 +6808,7 @@ yydefault: case 2: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:603 +//line mysql_sql.y:618 { if yyDollar[1].statementUnion() != nil { yylex.(*Lexer).AppendStmt(yyDollar[1].statementUnion()) @@ -6505,32 +6816,32 @@ yydefault: } case 3: yyDollar = yyS[yypt-3 : yypt+1] -//line mysql_sql.y:609 +//line mysql_sql.y:624 { if yyDollar[3].statementUnion() != nil { yylex.(*Lexer).AppendStmt(yyDollar[3].statementUnion()) } } - case 30: + case 31: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:643 +//line mysql_sql.y:659 { yyLOCAL = yyDollar[1].selectUnion() } yyVAL.union = yyLOCAL - case 32: + case 33: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:648 +//line mysql_sql.y:664 { yyLOCAL = tree.Statement(nil) } yyVAL.union = yyLOCAL - case 33: + case 34: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:654 +//line mysql_sql.y:670 { var connectionId uint64 switch v := yyDollar[3].item.(type) { @@ -6550,20 +6861,20 @@ yydefault: } } yyVAL.union = yyLOCAL - case 34: + case 35: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.KillOption -//line mysql_sql.y:674 +//line mysql_sql.y:690 { yyLOCAL = tree.KillOption{ Exist: false, } } yyVAL.union = yyLOCAL - case 35: + case 36: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.KillOption -//line mysql_sql.y:680 +//line mysql_sql.y:696 { yyLOCAL = tree.KillOption{ Exist: true, @@ -6571,10 +6882,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 36: + case 37: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.KillOption -//line mysql_sql.y:687 +//line mysql_sql.y:703 { yyLOCAL = tree.KillOption{ Exist: true, @@ -6582,20 +6893,20 @@ yydefault: } } yyVAL.union = yyLOCAL - case 37: + case 38: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.StatementOption -//line mysql_sql.y:695 +//line mysql_sql.y:711 { yyLOCAL = tree.StatementOption{ Exist: false, } } yyVAL.union = yyLOCAL - case 38: + case 39: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.StatementOption -//line mysql_sql.y:701 +//line mysql_sql.y:717 { yyLOCAL = tree.StatementOption{ Exist: true, @@ -6603,10 +6914,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 39: + case 40: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:710 +//line mysql_sql.y:726 { yyLOCAL = &tree.MoDump{ Database: tree.Identifier(yyDollar[3].str), @@ -6615,10 +6926,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 40: + case 41: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:718 +//line mysql_sql.y:734 { yyLOCAL = &tree.MoDump{ Database: tree.Identifier(yyDollar[3].str), @@ -6628,10 +6939,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 41: + case 42: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:731 +//line mysql_sql.y:747 { yyLOCAL = &tree.Import{ Local: yyDollar[3].boolValUnion(), @@ -6642,10 +6953,10 @@ yydefault: yyLOCAL.(*tree.Import).Param.Tail = yyDollar[9].tailParamUnion() } yyVAL.union = yyLOCAL - case 42: + case 43: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:743 +//line mysql_sql.y:759 { yyLOCAL = &tree.Load{ Local: yyDollar[3].boolValUnion(), @@ -6657,42 +6968,52 @@ yydefault: yyLOCAL.(*tree.Load).Param.Tail = yyDollar[10].tailParamUnion() } yyVAL.union = yyLOCAL - case 43: + case 44: + yyDollar = yyS[yypt-2 : yypt+1] + var yyLOCAL tree.Statement +//line mysql_sql.y:772 + { + yyLOCAL = &tree.LoadExtension{ + Name: tree.Identifier(yyDollar[2].str), + } + } + yyVAL.union = yyLOCAL + case 45: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.UpdateExprs -//line mysql_sql.y:755 +//line mysql_sql.y:779 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 44: + case 46: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.UpdateExprs -//line mysql_sql.y:759 +//line mysql_sql.y:783 { yyLOCAL = yyDollar[2].updateExprsUnion() } yyVAL.union = yyLOCAL - case 45: + case 47: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.UpdateExprs -//line mysql_sql.y:765 +//line mysql_sql.y:789 { yyLOCAL = tree.UpdateExprs{yyDollar[1].updateExprUnion()} } yyVAL.union = yyLOCAL - case 46: + case 48: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.UpdateExprs -//line mysql_sql.y:769 +//line mysql_sql.y:793 { yyLOCAL = append(yyDollar[1].updateExprsUnion(), yyDollar[3].updateExprUnion()) } yyVAL.union = yyLOCAL - case 47: + case 49: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.UpdateExpr -//line mysql_sql.y:775 +//line mysql_sql.y:799 { yyLOCAL = &tree.UpdateExpr{ Names: []*tree.UnresolvedName{yyDollar[1].unresolvedNameUnion()}, @@ -6700,10 +7021,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 48: + case 50: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.UpdateExpr -//line mysql_sql.y:782 +//line mysql_sql.y:806 { yyLOCAL = &tree.UpdateExpr{ Names: []*tree.UnresolvedName{yyDollar[1].unresolvedNameUnion()}, @@ -6711,58 +7032,58 @@ yydefault: } } yyVAL.union = yyLOCAL - case 49: + case 51: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.UnresolvedName -//line mysql_sql.y:791 +//line mysql_sql.y:815 { yyLOCAL = tree.SetUnresolvedName(yyDollar[1].str) } yyVAL.union = yyLOCAL - case 50: + case 52: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.UnresolvedName -//line mysql_sql.y:795 +//line mysql_sql.y:819 { yyLOCAL = tree.SetUnresolvedName(yyDollar[1].str, yyDollar[3].str) } yyVAL.union = yyLOCAL - case 51: + case 53: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.UnresolvedName -//line mysql_sql.y:799 +//line mysql_sql.y:823 { yyLOCAL = tree.SetUnresolvedName(yyDollar[1].str, yyDollar[3].str, yyDollar[5].str) } yyVAL.union = yyLOCAL - case 52: + case 54: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []tree.LoadColumn -//line mysql_sql.y:804 +//line mysql_sql.y:828 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 53: + case 55: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []tree.LoadColumn -//line mysql_sql.y:808 +//line mysql_sql.y:832 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 54: + case 56: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []tree.LoadColumn -//line mysql_sql.y:812 +//line mysql_sql.y:836 { yyLOCAL = yyDollar[2].loadColumnsUnion() } yyVAL.union = yyLOCAL - case 55: + case 57: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.LoadColumn -//line mysql_sql.y:818 +//line mysql_sql.y:842 { switch yyDollar[1].loadColumnUnion().(type) { case *tree.UnresolvedName: @@ -6772,10 +7093,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 56: + case 58: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []tree.LoadColumn -//line mysql_sql.y:827 +//line mysql_sql.y:851 { switch yyDollar[3].loadColumnUnion().(type) { case *tree.UnresolvedName: @@ -6785,58 +7106,58 @@ yydefault: } } yyVAL.union = yyLOCAL - case 57: + case 59: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.LoadColumn -//line mysql_sql.y:838 +//line mysql_sql.y:862 { yyLOCAL = yyDollar[1].unresolvedNameUnion() } yyVAL.union = yyLOCAL - case 58: + case 60: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.LoadColumn -//line mysql_sql.y:842 +//line mysql_sql.y:866 { yyLOCAL = yyDollar[1].varExprUnion() } yyVAL.union = yyLOCAL - case 59: + case 61: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.VarExpr -//line mysql_sql.y:848 +//line mysql_sql.y:872 { yyLOCAL = []*tree.VarExpr{yyDollar[1].varExprUnion()} } yyVAL.union = yyLOCAL - case 60: + case 62: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.VarExpr -//line mysql_sql.y:852 +//line mysql_sql.y:876 { yyLOCAL = append(yyDollar[1].varExprsUnion(), yyDollar[3].varExprUnion()) } yyVAL.union = yyLOCAL - case 61: + case 63: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.VarExpr -//line mysql_sql.y:858 +//line mysql_sql.y:882 { yyLOCAL = yyDollar[1].varExprUnion() } yyVAL.union = yyLOCAL - case 62: + case 64: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.VarExpr -//line mysql_sql.y:862 +//line mysql_sql.y:886 { yyLOCAL = yyDollar[1].varExprUnion() } yyVAL.union = yyLOCAL - case 63: + case 65: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.VarExpr -//line mysql_sql.y:868 +//line mysql_sql.y:892 { vs := strings.Split(yyDollar[1].str, ".") var isGlobal bool @@ -6859,10 +7180,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 64: + case 66: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.VarExpr -//line mysql_sql.y:892 +//line mysql_sql.y:916 { // vs := strings.Split($1, ".") // var r string @@ -6881,42 +7202,42 @@ yydefault: } } yyVAL.union = yyLOCAL - case 65: + case 67: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:911 +//line mysql_sql.y:935 { yyLOCAL = 0 } yyVAL.union = yyLOCAL - case 66: + case 68: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:915 +//line mysql_sql.y:939 { yyLOCAL = yyDollar[2].item.(int64) } yyVAL.union = yyLOCAL - case 67: + case 69: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:919 +//line mysql_sql.y:943 { yyLOCAL = yyDollar[2].item.(int64) } yyVAL.union = yyLOCAL - case 68: + case 70: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.Lines -//line mysql_sql.y:924 +//line mysql_sql.y:948 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 69: + case 71: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.Lines -//line mysql_sql.y:928 +//line mysql_sql.y:952 { yyLOCAL = &tree.Lines{ StartingBy: yyDollar[2].str, @@ -6924,42 +7245,42 @@ yydefault: } } yyVAL.union = yyLOCAL - case 70: + case 72: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:936 +//line mysql_sql.y:960 { yyVAL.str = "" } - case 71: + case 73: yyDollar = yyS[yypt-3 : yypt+1] -//line mysql_sql.y:940 +//line mysql_sql.y:964 { yyVAL.str = yyDollar[3].str } - case 72: + case 74: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:945 +//line mysql_sql.y:969 { yyVAL.str = "\n" } - case 73: + case 75: yyDollar = yyS[yypt-3 : yypt+1] -//line mysql_sql.y:949 +//line mysql_sql.y:973 { yyVAL.str = yyDollar[3].str } - case 74: + case 76: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.Fields -//line mysql_sql.y:954 +//line mysql_sql.y:978 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 75: + case 77: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.Fields -//line mysql_sql.y:958 +//line mysql_sql.y:982 { res := &tree.Fields{ Terminated: "\t", @@ -6982,36 +7303,36 @@ yydefault: yyLOCAL = res } yyVAL.union = yyLOCAL - case 76: + case 78: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.Fields -//line mysql_sql.y:982 +//line mysql_sql.y:1006 { yyLOCAL = []*tree.Fields{yyDollar[1].fieldsUnion()} } yyVAL.union = yyLOCAL - case 77: + case 79: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []*tree.Fields -//line mysql_sql.y:986 +//line mysql_sql.y:1010 { yyLOCAL = append(yyDollar[1].fieldsListUnion(), yyDollar[2].fieldsUnion()) } yyVAL.union = yyLOCAL - case 78: + case 80: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.Fields -//line mysql_sql.y:992 +//line mysql_sql.y:1016 { yyLOCAL = &tree.Fields{ Terminated: yyDollar[3].str, } } yyVAL.union = yyLOCAL - case 79: + case 81: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.Fields -//line mysql_sql.y:998 +//line mysql_sql.y:1022 { str := yyDollar[4].str if str != "\\" && len(str) > 1 { @@ -7030,10 +7351,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 80: + case 82: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.Fields -//line mysql_sql.y:1016 +//line mysql_sql.y:1040 { str := yyDollar[3].str if str != "\\" && len(str) > 1 { @@ -7051,10 +7372,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 81: + case 83: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.Fields -//line mysql_sql.y:1033 +//line mysql_sql.y:1057 { str := yyDollar[3].str if str != "\\" && len(str) > 1 { @@ -7072,50 +7393,50 @@ yydefault: } } yyVAL.union = yyLOCAL - case 83: + case 85: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.DuplicateKey -//line mysql_sql.y:1056 +//line mysql_sql.y:1080 { yyLOCAL = &tree.DuplicateKeyError{} } yyVAL.union = yyLOCAL - case 84: + case 86: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.DuplicateKey -//line mysql_sql.y:1060 +//line mysql_sql.y:1084 { yyLOCAL = &tree.DuplicateKeyIgnore{} } yyVAL.union = yyLOCAL - case 85: + case 87: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.DuplicateKey -//line mysql_sql.y:1064 +//line mysql_sql.y:1088 { yyLOCAL = &tree.DuplicateKeyReplace{} } yyVAL.union = yyLOCAL - case 86: + case 88: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:1069 +//line mysql_sql.y:1093 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 87: + case 89: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:1073 +//line mysql_sql.y:1097 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 88: + case 90: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1079 +//line mysql_sql.y:1103 { yyLOCAL = &tree.Grant{ Typ: tree.GrantTypePrivilege, @@ -7129,10 +7450,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 89: + case 91: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1092 +//line mysql_sql.y:1116 { yyLOCAL = &tree.Grant{ Typ: tree.GrantTypeRole, @@ -7144,10 +7465,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 90: + case 92: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1103 +//line mysql_sql.y:1127 { yyLOCAL = &tree.Grant{ Typ: tree.GrantTypeProxy, @@ -7160,26 +7481,26 @@ yydefault: } yyVAL.union = yyLOCAL - case 91: + case 93: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:1116 +//line mysql_sql.y:1140 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 92: + case 94: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:1120 +//line mysql_sql.y:1144 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 93: + case 95: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1130 +//line mysql_sql.y:1154 { yyLOCAL = &tree.Revoke{ Typ: tree.RevokeTypePrivilege, @@ -7193,10 +7514,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 94: + case 96: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1143 +//line mysql_sql.y:1167 { yyLOCAL = &tree.Revoke{ Typ: tree.RevokeTypeRole, @@ -7208,30 +7529,30 @@ yydefault: } } yyVAL.union = yyLOCAL - case 95: + case 97: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.PrivilegeLevel -//line mysql_sql.y:1156 +//line mysql_sql.y:1180 { yyLOCAL = &tree.PrivilegeLevel{ Level: tree.PRIVILEGE_LEVEL_TYPE_STAR, } } yyVAL.union = yyLOCAL - case 96: + case 98: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.PrivilegeLevel -//line mysql_sql.y:1162 +//line mysql_sql.y:1186 { yyLOCAL = &tree.PrivilegeLevel{ Level: tree.PRIVILEGE_LEVEL_TYPE_STAR_STAR, } } yyVAL.union = yyLOCAL - case 97: + case 99: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.PrivilegeLevel -//line mysql_sql.y:1168 +//line mysql_sql.y:1192 { yyLOCAL = &tree.PrivilegeLevel{ Level: tree.PRIVILEGE_LEVEL_TYPE_DATABASE_STAR, @@ -7239,10 +7560,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 98: + case 100: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.PrivilegeLevel -//line mysql_sql.y:1175 +//line mysql_sql.y:1199 { yyLOCAL = &tree.PrivilegeLevel{ Level: tree.PRIVILEGE_LEVEL_TYPE_DATABASE_TABLE, @@ -7251,10 +7572,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 99: + case 101: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.PrivilegeLevel -//line mysql_sql.y:1183 +//line mysql_sql.y:1207 { yyLOCAL = &tree.PrivilegeLevel{ Level: tree.PRIVILEGE_LEVEL_TYPE_TABLE, @@ -7262,74 +7583,74 @@ yydefault: } } yyVAL.union = yyLOCAL - case 100: + case 102: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ObjectType -//line mysql_sql.y:1192 +//line mysql_sql.y:1216 { yyLOCAL = tree.OBJECT_TYPE_TABLE } yyVAL.union = yyLOCAL - case 101: + case 103: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ObjectType -//line mysql_sql.y:1196 +//line mysql_sql.y:1220 { yyLOCAL = tree.OBJECT_TYPE_DATABASE } yyVAL.union = yyLOCAL - case 102: + case 104: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ObjectType -//line mysql_sql.y:1200 +//line mysql_sql.y:1224 { yyLOCAL = tree.OBJECT_TYPE_FUNCTION } yyVAL.union = yyLOCAL - case 103: + case 105: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ObjectType -//line mysql_sql.y:1204 +//line mysql_sql.y:1228 { yyLOCAL = tree.OBJECT_TYPE_PROCEDURE } yyVAL.union = yyLOCAL - case 104: + case 106: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ObjectType -//line mysql_sql.y:1208 +//line mysql_sql.y:1232 { yyLOCAL = tree.OBJECT_TYPE_VIEW } yyVAL.union = yyLOCAL - case 105: + case 107: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ObjectType -//line mysql_sql.y:1212 +//line mysql_sql.y:1236 { yyLOCAL = tree.OBJECT_TYPE_ACCOUNT } yyVAL.union = yyLOCAL - case 106: + case 108: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.Privilege -//line mysql_sql.y:1219 +//line mysql_sql.y:1243 { yyLOCAL = []*tree.Privilege{yyDollar[1].privilegeUnion()} } yyVAL.union = yyLOCAL - case 107: + case 109: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.Privilege -//line mysql_sql.y:1223 +//line mysql_sql.y:1247 { yyLOCAL = append(yyDollar[1].privilegesUnion(), yyDollar[3].privilegeUnion()) } yyVAL.union = yyLOCAL - case 108: + case 110: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.Privilege -//line mysql_sql.y:1229 +//line mysql_sql.y:1253 { yyLOCAL = &tree.Privilege{ Type: yyDollar[1].privilegeTypeUnion(), @@ -7337,10 +7658,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 109: + case 111: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.Privilege -//line mysql_sql.y:1236 +//line mysql_sql.y:1260 { yyLOCAL = &tree.Privilege{ Type: yyDollar[1].privilegeTypeUnion(), @@ -7348,426 +7669,426 @@ yydefault: } } yyVAL.union = yyLOCAL - case 110: + case 112: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.UnresolvedName -//line mysql_sql.y:1245 +//line mysql_sql.y:1269 { yyLOCAL = []*tree.UnresolvedName{yyDollar[1].unresolvedNameUnion()} } yyVAL.union = yyLOCAL - case 111: + case 113: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.UnresolvedName -//line mysql_sql.y:1249 +//line mysql_sql.y:1273 { yyLOCAL = append(yyDollar[1].unresolveNamesUnion(), yyDollar[3].unresolvedNameUnion()) } yyVAL.union = yyLOCAL - case 112: + case 114: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1255 +//line mysql_sql.y:1279 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALL } yyVAL.union = yyLOCAL - case 113: + case 115: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1259 +//line mysql_sql.y:1283 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_ACCOUNT } yyVAL.union = yyLOCAL - case 114: + case 116: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1263 +//line mysql_sql.y:1287 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DROP_ACCOUNT } yyVAL.union = yyLOCAL - case 115: + case 117: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1267 +//line mysql_sql.y:1291 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALTER_ACCOUNT } yyVAL.union = yyLOCAL - case 116: + case 118: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1271 +//line mysql_sql.y:1295 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALL } yyVAL.union = yyLOCAL - case 117: + case 119: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1275 +//line mysql_sql.y:1299 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALTER_TABLE } yyVAL.union = yyLOCAL - case 118: + case 120: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1279 +//line mysql_sql.y:1303 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALTER_VIEW } yyVAL.union = yyLOCAL - case 119: + case 121: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1283 +//line mysql_sql.y:1307 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE } yyVAL.union = yyLOCAL - case 120: + case 122: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1287 +//line mysql_sql.y:1311 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_USER } yyVAL.union = yyLOCAL - case 121: + case 123: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1291 +//line mysql_sql.y:1315 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DROP_USER } yyVAL.union = yyLOCAL - case 122: + case 124: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1295 +//line mysql_sql.y:1319 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALTER_USER } yyVAL.union = yyLOCAL - case 123: + case 125: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1299 +//line mysql_sql.y:1323 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_TABLESPACE } yyVAL.union = yyLOCAL - case 124: + case 126: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1303 +//line mysql_sql.y:1327 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_TRIGGER } yyVAL.union = yyLOCAL - case 125: + case 127: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1307 +//line mysql_sql.y:1331 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DELETE } yyVAL.union = yyLOCAL - case 126: + case 128: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1311 +//line mysql_sql.y:1335 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DROP_TABLE } yyVAL.union = yyLOCAL - case 127: + case 129: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1315 +//line mysql_sql.y:1339 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DROP_VIEW } yyVAL.union = yyLOCAL - case 128: + case 130: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1319 +//line mysql_sql.y:1343 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_EXECUTE } yyVAL.union = yyLOCAL - case 129: + case 131: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1323 +//line mysql_sql.y:1347 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_INDEX } yyVAL.union = yyLOCAL - case 130: + case 132: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1327 +//line mysql_sql.y:1351 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_INSERT } yyVAL.union = yyLOCAL - case 131: + case 133: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1331 +//line mysql_sql.y:1355 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_SELECT } yyVAL.union = yyLOCAL - case 132: + case 134: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1335 +//line mysql_sql.y:1359 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_SUPER } yyVAL.union = yyLOCAL - case 133: + case 135: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1339 +//line mysql_sql.y:1363 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_DATABASE } yyVAL.union = yyLOCAL - case 134: + case 136: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1343 +//line mysql_sql.y:1367 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DROP_DATABASE } yyVAL.union = yyLOCAL - case 135: + case 137: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1347 +//line mysql_sql.y:1371 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_SHOW_DATABASES } yyVAL.union = yyLOCAL - case 136: + case 138: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1351 +//line mysql_sql.y:1375 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CONNECT } yyVAL.union = yyLOCAL - case 137: + case 139: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1355 +//line mysql_sql.y:1379 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_MANAGE_GRANTS } yyVAL.union = yyLOCAL - case 138: + case 140: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1359 +//line mysql_sql.y:1383 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_OWNERSHIP } yyVAL.union = yyLOCAL - case 139: + case 141: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1363 +//line mysql_sql.y:1387 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_SHOW_TABLES } yyVAL.union = yyLOCAL - case 140: + case 142: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1367 +//line mysql_sql.y:1391 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_TABLE } yyVAL.union = yyLOCAL - case 141: + case 143: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1371 +//line mysql_sql.y:1395 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_UPDATE } yyVAL.union = yyLOCAL - case 142: + case 144: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1375 +//line mysql_sql.y:1399 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_GRANT_OPTION } yyVAL.union = yyLOCAL - case 143: + case 145: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1379 +//line mysql_sql.y:1403 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_REFERENCES } yyVAL.union = yyLOCAL - case 144: + case 146: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1383 +//line mysql_sql.y:1407 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_REFERENCE } yyVAL.union = yyLOCAL - case 145: + case 147: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1387 +//line mysql_sql.y:1411 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_REPLICATION_SLAVE } yyVAL.union = yyLOCAL - case 146: + case 148: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1391 +//line mysql_sql.y:1415 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_REPLICATION_CLIENT } yyVAL.union = yyLOCAL - case 147: + case 149: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1395 +//line mysql_sql.y:1419 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_USAGE } yyVAL.union = yyLOCAL - case 148: + case 150: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1399 +//line mysql_sql.y:1423 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_RELOAD } yyVAL.union = yyLOCAL - case 149: + case 151: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1403 +//line mysql_sql.y:1427 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_FILE } yyVAL.union = yyLOCAL - case 150: + case 152: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1407 +//line mysql_sql.y:1431 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_TEMPORARY_TABLES } yyVAL.union = yyLOCAL - case 151: + case 153: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1411 +//line mysql_sql.y:1435 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_LOCK_TABLES } yyVAL.union = yyLOCAL - case 152: + case 154: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1415 +//line mysql_sql.y:1439 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_VIEW } yyVAL.union = yyLOCAL - case 153: + case 155: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1419 +//line mysql_sql.y:1443 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_SHOW_VIEW } yyVAL.union = yyLOCAL - case 154: + case 156: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1423 +//line mysql_sql.y:1447 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_ROLE } yyVAL.union = yyLOCAL - case 155: + case 157: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1427 +//line mysql_sql.y:1451 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DROP_ROLE } yyVAL.union = yyLOCAL - case 156: + case 158: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1431 +//line mysql_sql.y:1455 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALTER_ROLE } yyVAL.union = yyLOCAL - case 157: + case 159: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1435 +//line mysql_sql.y:1459 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_ROUTINE } yyVAL.union = yyLOCAL - case 158: + case 160: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1439 +//line mysql_sql.y:1463 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALTER_ROUTINE } yyVAL.union = yyLOCAL - case 159: + case 161: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1443 +//line mysql_sql.y:1467 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_EVENT } yyVAL.union = yyLOCAL - case 160: + case 162: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1447 +//line mysql_sql.y:1471 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_SHUTDOWN } yyVAL.union = yyLOCAL - case 161: + case 163: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:1451 +//line mysql_sql.y:1475 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_TRUNCATE } yyVAL.union = yyLOCAL - case 166: + case 168: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1463 +//line mysql_sql.y:1487 { yyLOCAL = &tree.SetRole{ SecondaryRole: false, @@ -7775,10 +8096,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 167: + case 169: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1470 +//line mysql_sql.y:1494 { yyLOCAL = &tree.SetRole{ SecondaryRole: true, @@ -7786,10 +8107,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 168: + case 170: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1477 +//line mysql_sql.y:1501 { yyLOCAL = &tree.SetRole{ SecondaryRole: true, @@ -7797,90 +8118,90 @@ yydefault: } } yyVAL.union = yyLOCAL - case 169: + case 171: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1486 +//line mysql_sql.y:1510 { dr := yyDollar[4].setDefaultRoleUnion() dr.Users = yyDollar[6].usersUnion() yyLOCAL = dr } yyVAL.union = yyLOCAL - case 170: + case 172: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.SetDefaultRole -//line mysql_sql.y:1516 +//line mysql_sql.y:1540 { yyLOCAL = &tree.SetDefaultRole{Type: tree.SET_DEFAULT_ROLE_TYPE_NONE, Roles: nil} } yyVAL.union = yyLOCAL - case 171: + case 173: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.SetDefaultRole -//line mysql_sql.y:1520 +//line mysql_sql.y:1544 { yyLOCAL = &tree.SetDefaultRole{Type: tree.SET_DEFAULT_ROLE_TYPE_ALL, Roles: nil} } yyVAL.union = yyLOCAL - case 172: + case 174: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.SetDefaultRole -//line mysql_sql.y:1524 +//line mysql_sql.y:1548 { yyLOCAL = &tree.SetDefaultRole{Type: tree.SET_DEFAULT_ROLE_TYPE_NORMAL, Roles: yyDollar[1].rolesUnion()} } yyVAL.union = yyLOCAL - case 173: + case 175: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1530 +//line mysql_sql.y:1554 { yyLOCAL = &tree.SetVar{Assignments: yyDollar[2].varAssignmentExprsUnion()} } yyVAL.union = yyLOCAL - case 174: + case 176: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1536 +//line mysql_sql.y:1560 { yyLOCAL = &tree.SetPassword{Password: yyDollar[4].str} } yyVAL.union = yyLOCAL - case 175: + case 177: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1540 +//line mysql_sql.y:1564 { yyLOCAL = &tree.SetPassword{User: yyDollar[4].userUnion(), Password: yyDollar[6].str} } yyVAL.union = yyLOCAL - case 177: + case 179: yyDollar = yyS[yypt-4 : yypt+1] -//line mysql_sql.y:1547 +//line mysql_sql.y:1571 { yyVAL.str = yyDollar[3].str } - case 178: + case 180: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.VarAssignmentExpr -//line mysql_sql.y:1553 +//line mysql_sql.y:1577 { yyLOCAL = []*tree.VarAssignmentExpr{yyDollar[1].varAssignmentExprUnion()} } yyVAL.union = yyLOCAL - case 179: + case 181: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.VarAssignmentExpr -//line mysql_sql.y:1557 +//line mysql_sql.y:1581 { yyLOCAL = append(yyDollar[1].varAssignmentExprsUnion(), yyDollar[3].varAssignmentExprUnion()) } yyVAL.union = yyLOCAL - case 180: + case 182: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.VarAssignmentExpr -//line mysql_sql.y:1563 +//line mysql_sql.y:1587 { yyLOCAL = &tree.VarAssignmentExpr{ System: true, @@ -7889,10 +8210,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 181: + case 183: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.VarAssignmentExpr -//line mysql_sql.y:1571 +//line mysql_sql.y:1595 { yyLOCAL = &tree.VarAssignmentExpr{ System: true, @@ -7902,10 +8223,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 182: + case 184: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.VarAssignmentExpr -//line mysql_sql.y:1580 +//line mysql_sql.y:1604 { yyLOCAL = &tree.VarAssignmentExpr{ System: true, @@ -7914,10 +8235,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 183: + case 185: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.VarAssignmentExpr -//line mysql_sql.y:1588 +//line mysql_sql.y:1612 { yyLOCAL = &tree.VarAssignmentExpr{ System: true, @@ -7926,10 +8247,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 184: + case 186: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.VarAssignmentExpr -//line mysql_sql.y:1596 +//line mysql_sql.y:1620 { vs := strings.Split(yyDollar[1].str, ".") var isGlobal bool @@ -7953,10 +8274,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 185: + case 187: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.VarAssignmentExpr -//line mysql_sql.y:1619 +//line mysql_sql.y:1643 { vs := strings.Split(yyDollar[1].str, ".") var isGlobal bool @@ -7980,10 +8301,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 186: + case 188: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.VarAssignmentExpr -//line mysql_sql.y:1642 +//line mysql_sql.y:1666 { yyLOCAL = &tree.VarAssignmentExpr{ Name: yyDollar[1].str, @@ -7991,10 +8312,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 187: + case 189: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.VarAssignmentExpr -//line mysql_sql.y:1649 +//line mysql_sql.y:1673 { yyLOCAL = &tree.VarAssignmentExpr{ Name: yyDollar[1].str, @@ -8002,10 +8323,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 188: + case 190: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.VarAssignmentExpr -//line mysql_sql.y:1656 +//line mysql_sql.y:1680 { yyLOCAL = &tree.VarAssignmentExpr{ Name: yyDollar[1].str, @@ -8014,10 +8335,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 189: + case 191: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.VarAssignmentExpr -//line mysql_sql.y:1664 +//line mysql_sql.y:1688 { yyLOCAL = &tree.VarAssignmentExpr{ Name: yyDollar[1].str, @@ -8025,10 +8346,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 190: + case 192: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.VarAssignmentExpr -//line mysql_sql.y:1671 +//line mysql_sql.y:1695 { yyLOCAL = &tree.VarAssignmentExpr{ Name: yyDollar[1].str, @@ -8036,10 +8357,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 191: + case 193: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.VarAssignmentExpr -//line mysql_sql.y:1678 +//line mysql_sql.y:1702 { yyLOCAL = &tree.VarAssignmentExpr{ Name: yyDollar[1].str, @@ -8047,206 +8368,206 @@ yydefault: } } yyVAL.union = yyLOCAL - case 192: + case 194: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:1687 +//line mysql_sql.y:1711 { yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[1].str), yyDollar[1].str, false, tree.P_char) } yyVAL.union = yyLOCAL - case 193: + case 195: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:1691 +//line mysql_sql.y:1715 { yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[1].str), yyDollar[1].str, false, tree.P_char) } yyVAL.union = yyLOCAL - case 194: + case 196: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:1695 +//line mysql_sql.y:1719 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 195: + case 197: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:1701 +//line mysql_sql.y:1725 { yyVAL.str = string(yyDollar[1].str) } - case 196: + case 198: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:1705 +//line mysql_sql.y:1729 { yyVAL.str = yyDollar[1].str } - case 198: + case 200: yyDollar = yyS[yypt-3 : yypt+1] -//line mysql_sql.y:1712 +//line mysql_sql.y:1736 { yyVAL.str = yyDollar[1].str + "." + yyDollar[3].str } - case 199: + case 201: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:1718 +//line mysql_sql.y:1742 { yyLOCAL = []string{yyDollar[1].str} } yyVAL.union = yyLOCAL - case 200: + case 202: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:1722 +//line mysql_sql.y:1746 { yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].str) } yyVAL.union = yyLOCAL - case 204: + case 206: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1733 +//line mysql_sql.y:1757 { yyLOCAL = &tree.RollbackTransaction{Type: yyDollar[2].completionTypeUnion()} } yyVAL.union = yyLOCAL - case 205: + case 207: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1739 +//line mysql_sql.y:1763 { yyLOCAL = &tree.CommitTransaction{Type: yyDollar[2].completionTypeUnion()} } yyVAL.union = yyLOCAL - case 206: + case 208: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.CompletionType -//line mysql_sql.y:1744 +//line mysql_sql.y:1768 { yyLOCAL = tree.COMPLETION_TYPE_NO_CHAIN } yyVAL.union = yyLOCAL - case 207: + case 209: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.CompletionType -//line mysql_sql.y:1748 +//line mysql_sql.y:1772 { yyLOCAL = tree.COMPLETION_TYPE_NO_CHAIN } yyVAL.union = yyLOCAL - case 208: + case 210: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.CompletionType -//line mysql_sql.y:1752 +//line mysql_sql.y:1776 { yyLOCAL = tree.COMPLETION_TYPE_CHAIN } yyVAL.union = yyLOCAL - case 209: + case 211: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.CompletionType -//line mysql_sql.y:1756 +//line mysql_sql.y:1780 { yyLOCAL = tree.COMPLETION_TYPE_CHAIN } yyVAL.union = yyLOCAL - case 210: + case 212: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.CompletionType -//line mysql_sql.y:1760 +//line mysql_sql.y:1784 { yyLOCAL = tree.COMPLETION_TYPE_RELEASE } yyVAL.union = yyLOCAL - case 211: + case 213: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.CompletionType -//line mysql_sql.y:1764 +//line mysql_sql.y:1788 { yyLOCAL = tree.COMPLETION_TYPE_RELEASE } yyVAL.union = yyLOCAL - case 212: + case 214: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.CompletionType -//line mysql_sql.y:1768 +//line mysql_sql.y:1792 { yyLOCAL = tree.COMPLETION_TYPE_NO_CHAIN } yyVAL.union = yyLOCAL - case 213: + case 215: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.CompletionType -//line mysql_sql.y:1772 +//line mysql_sql.y:1796 { yyLOCAL = tree.COMPLETION_TYPE_NO_CHAIN } yyVAL.union = yyLOCAL - case 214: + case 216: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.CompletionType -//line mysql_sql.y:1776 +//line mysql_sql.y:1800 { yyLOCAL = tree.COMPLETION_TYPE_NO_CHAIN } yyVAL.union = yyLOCAL - case 215: + case 217: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1782 +//line mysql_sql.y:1806 { yyLOCAL = &tree.BeginTransaction{} } yyVAL.union = yyLOCAL - case 216: + case 218: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1786 +//line mysql_sql.y:1810 { yyLOCAL = &tree.BeginTransaction{} } yyVAL.union = yyLOCAL - case 217: + case 219: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1790 +//line mysql_sql.y:1814 { yyLOCAL = &tree.BeginTransaction{} } yyVAL.union = yyLOCAL - case 218: + case 220: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1794 +//line mysql_sql.y:1818 { m := tree.MakeTransactionModes(tree.READ_WRITE_MODE_READ_WRITE) yyLOCAL = &tree.BeginTransaction{Modes: m} } yyVAL.union = yyLOCAL - case 219: + case 221: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1799 +//line mysql_sql.y:1823 { m := tree.MakeTransactionModes(tree.READ_WRITE_MODE_READ_ONLY) yyLOCAL = &tree.BeginTransaction{Modes: m} } yyVAL.union = yyLOCAL - case 220: + case 222: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1804 +//line mysql_sql.y:1828 { yyLOCAL = &tree.BeginTransaction{} } yyVAL.union = yyLOCAL - case 221: + case 223: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1810 +//line mysql_sql.y:1834 { yyLOCAL = &tree.Use{ SecondaryRole: false, @@ -8254,20 +8575,20 @@ yydefault: } } yyVAL.union = yyLOCAL - case 222: + case 224: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1817 +//line mysql_sql.y:1841 { yyLOCAL = &tree.Use{ SecondaryRole: false, } } yyVAL.union = yyLOCAL - case 223: + case 225: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1823 +//line mysql_sql.y:1847 { yyLOCAL = &tree.Use{ SecondaryRole: false, @@ -8275,10 +8596,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 224: + case 226: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1830 +//line mysql_sql.y:1854 { yyLOCAL = &tree.Use{ SecondaryRole: true, @@ -8286,10 +8607,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 225: + case 227: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1837 +//line mysql_sql.y:1861 { yyLOCAL = &tree.Use{ SecondaryRole: true, @@ -8297,19 +8618,19 @@ yydefault: } } yyVAL.union = yyLOCAL - case 227: + case 229: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1847 +//line mysql_sql.y:1871 { yyDollar[2].statementUnion().(*tree.Update).With = yyDollar[1].withClauseUnion() yyLOCAL = yyDollar[2].statementUnion() } yyVAL.union = yyLOCAL - case 228: + case 230: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1854 +//line mysql_sql.y:1878 { // Single-table syntax yyLOCAL = &tree.Update{ @@ -8321,10 +8642,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 229: + case 231: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1865 +//line mysql_sql.y:1889 { // Multiple-table syntax yyLOCAL = &tree.Update{ @@ -8334,138 +8655,138 @@ yydefault: } } yyVAL.union = yyLOCAL - case 230: + case 232: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.UpdateExprs -//line mysql_sql.y:1876 +//line mysql_sql.y:1900 { yyLOCAL = tree.UpdateExprs{yyDollar[1].updateExprUnion()} } yyVAL.union = yyLOCAL - case 231: + case 233: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.UpdateExprs -//line mysql_sql.y:1880 +//line mysql_sql.y:1904 { yyLOCAL = append(yyDollar[1].updateExprsUnion(), yyDollar[3].updateExprUnion()) } yyVAL.union = yyLOCAL - case 232: + case 234: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.UpdateExpr -//line mysql_sql.y:1886 +//line mysql_sql.y:1910 { yyLOCAL = &tree.UpdateExpr{Names: []*tree.UnresolvedName{yyDollar[1].unresolvedNameUnion()}, Expr: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 239: + case 241: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1898 +//line mysql_sql.y:1922 { yyLOCAL = yyDollar[1].selectUnion() } yyVAL.union = yyLOCAL - case 240: + case 242: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1904 +//line mysql_sql.y:1928 { yyLOCAL = tree.NewPrepareStmt(tree.Identifier(yyDollar[2].str), yyDollar[4].statementUnion()) } yyVAL.union = yyLOCAL - case 241: + case 243: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1908 +//line mysql_sql.y:1932 { yyLOCAL = tree.NewPrepareString(tree.Identifier(yyDollar[2].str), yyDollar[4].str) } yyVAL.union = yyLOCAL - case 242: + case 244: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1914 +//line mysql_sql.y:1938 { yyLOCAL = tree.NewExecute(tree.Identifier(yyDollar[2].str)) } yyVAL.union = yyLOCAL - case 243: + case 245: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1918 +//line mysql_sql.y:1942 { yyLOCAL = tree.NewExecuteWithVariables(tree.Identifier(yyDollar[2].str), yyDollar[4].varExprsUnion()) } yyVAL.union = yyLOCAL - case 244: + case 246: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1924 +//line mysql_sql.y:1948 { yyLOCAL = tree.NewDeallocate(tree.Identifier(yyDollar[3].str), false) } yyVAL.union = yyLOCAL - case 245: + case 247: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1930 +//line mysql_sql.y:1954 { yyLOCAL = tree.NewReset(tree.Identifier(yyDollar[3].str)) } yyVAL.union = yyLOCAL - case 250: + case 252: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1940 +//line mysql_sql.y:1964 { yyLOCAL = yyDollar[1].selectUnion() } yyVAL.union = yyLOCAL - case 251: + case 253: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1946 +//line mysql_sql.y:1970 { yyLOCAL = &tree.ShowColumns{Table: yyDollar[2].unresolvedObjectNameUnion()} } yyVAL.union = yyLOCAL - case 252: + case 254: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1950 +//line mysql_sql.y:1974 { yyLOCAL = &tree.ShowColumns{Table: yyDollar[2].unresolvedObjectNameUnion(), ColName: yyDollar[3].unresolvedNameUnion()} } yyVAL.union = yyLOCAL - case 253: + case 255: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1954 +//line mysql_sql.y:1978 { yyLOCAL = tree.NewExplainFor("", uint64(yyDollar[4].item.(int64))) } yyVAL.union = yyLOCAL - case 254: + case 256: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1958 +//line mysql_sql.y:1982 { yyLOCAL = tree.NewExplainFor(yyDollar[4].str, uint64(yyDollar[7].item.(int64))) } yyVAL.union = yyLOCAL - case 255: + case 257: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1962 +//line mysql_sql.y:1986 { yyLOCAL = tree.NewExplainStmt(yyDollar[2].statementUnion(), "text") } yyVAL.union = yyLOCAL - case 256: + case 258: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1966 +//line mysql_sql.y:1990 { explainStmt := tree.NewExplainStmt(yyDollar[3].statementUnion(), "text") optionElem := tree.MakeOptionElem("verbose", "NULL") @@ -8474,10 +8795,10 @@ yydefault: yyLOCAL = explainStmt } yyVAL.union = yyLOCAL - case 257: + case 259: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1974 +//line mysql_sql.y:1998 { explainStmt := tree.NewExplainAnalyze(yyDollar[3].statementUnion(), "text") optionElem := tree.MakeOptionElem("analyze", "NULL") @@ -8486,10 +8807,10 @@ yydefault: yyLOCAL = explainStmt } yyVAL.union = yyLOCAL - case 258: + case 260: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1982 +//line mysql_sql.y:2006 { explainStmt := tree.NewExplainAnalyze(yyDollar[4].statementUnion(), "text") optionElem1 := tree.MakeOptionElem("analyze", "NULL") @@ -8500,10 +8821,10 @@ yydefault: yyLOCAL = explainStmt } yyVAL.union = yyLOCAL - case 259: + case 261: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1992 +//line mysql_sql.y:2016 { if tree.IsContainAnalyze(yyDollar[3].epxlainOptionsUnion()) { explainStmt := tree.NewExplainAnalyze(yyDollar[5].statementUnion(), "text") @@ -8516,66 +8837,66 @@ yydefault: } } yyVAL.union = yyLOCAL - case 272: + case 274: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.OptionElem -//line mysql_sql.y:2033 +//line mysql_sql.y:2057 { yyLOCAL = tree.MakeOptions(yyDollar[1].epxlainOptionUnion()) } yyVAL.union = yyLOCAL - case 273: + case 275: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []tree.OptionElem -//line mysql_sql.y:2037 +//line mysql_sql.y:2061 { yyLOCAL = append(yyDollar[1].epxlainOptionsUnion(), yyDollar[3].epxlainOptionUnion()) } yyVAL.union = yyLOCAL - case 274: + case 276: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.OptionElem -//line mysql_sql.y:2043 +//line mysql_sql.y:2067 { yyLOCAL = tree.MakeOptionElem(yyDollar[1].str, yyDollar[2].str) } yyVAL.union = yyLOCAL - case 275: + case 277: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:2049 +//line mysql_sql.y:2073 { yyVAL.str = yyDollar[1].str } - case 276: + case 278: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:2054 +//line mysql_sql.y:2078 { yyVAL.str = "true" } - case 277: + case 279: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:2055 +//line mysql_sql.y:2079 { yyVAL.str = "false" } - case 278: + case 280: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:2056 +//line mysql_sql.y:2080 { yyVAL.str = yyDollar[1].str } - case 279: + case 281: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2061 +//line mysql_sql.y:2085 { yyLOCAL = tree.NewAnalyzeStmt(yyDollar[3].tableNameUnion(), yyDollar[5].identifierListUnion()) } yyVAL.union = yyLOCAL - case 282: + case 284: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2072 +//line mysql_sql.y:2096 { yyLOCAL = &tree.AlterAccount{ IfExists: yyDollar[3].boolValUnion(), @@ -8586,20 +8907,20 @@ yydefault: } } yyVAL.union = yyLOCAL - case 283: + case 285: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.AlterAccountAuthOption -//line mysql_sql.y:2083 +//line mysql_sql.y:2107 { yyLOCAL = tree.AlterAccountAuthOption{ Exist: false, } } yyVAL.union = yyLOCAL - case 284: + case 286: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.AlterAccountAuthOption -//line mysql_sql.y:2089 +//line mysql_sql.y:2113 { yyLOCAL = tree.AlterAccountAuthOption{ Exist: true, @@ -8609,10 +8930,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 285: + case 287: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2100 +//line mysql_sql.y:2124 { yyLOCAL = &tree.AlterUser{ IfExists: yyDollar[3].boolValUnion(), @@ -8623,256 +8944,256 @@ yydefault: } } yyVAL.union = yyLOCAL - case 286: + case 288: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.Role -//line mysql_sql.y:2111 +//line mysql_sql.y:2135 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 287: + case 289: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.Role -//line mysql_sql.y:2115 +//line mysql_sql.y:2139 { yyLOCAL = &tree.Role{UserName: yyDollar[3].str} } yyVAL.union = yyLOCAL - case 288: + case 290: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:2120 +//line mysql_sql.y:2144 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 289: + case 291: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:2124 +//line mysql_sql.y:2148 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 290: + case 292: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:2129 +//line mysql_sql.y:2153 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 291: + case 293: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:2133 +//line mysql_sql.y:2157 { yyLOCAL = yyDollar[1].userMiscOptionUnion() } yyVAL.union = yyLOCAL - case 292: + case 294: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:2149 +//line mysql_sql.y:2173 { yyLOCAL = &tree.UserMiscOptionAccountUnlock{} } yyVAL.union = yyLOCAL - case 293: + case 295: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:2153 +//line mysql_sql.y:2177 { yyLOCAL = &tree.UserMiscOptionAccountLock{} } yyVAL.union = yyLOCAL - case 294: + case 296: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:2157 +//line mysql_sql.y:2181 { yyLOCAL = &tree.UserMiscOptionPasswordExpireNone{} } yyVAL.union = yyLOCAL - case 295: + case 297: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:2161 +//line mysql_sql.y:2185 { yyLOCAL = &tree.UserMiscOptionPasswordExpireInterval{Value: yyDollar[3].item.(int64)} } yyVAL.union = yyLOCAL - case 296: + case 298: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:2165 +//line mysql_sql.y:2189 { yyLOCAL = &tree.UserMiscOptionPasswordExpireNever{} } yyVAL.union = yyLOCAL - case 297: + case 299: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:2169 +//line mysql_sql.y:2193 { yyLOCAL = &tree.UserMiscOptionPasswordExpireDefault{} } yyVAL.union = yyLOCAL - case 298: + case 300: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:2173 +//line mysql_sql.y:2197 { yyLOCAL = &tree.UserMiscOptionPasswordHistoryDefault{} } yyVAL.union = yyLOCAL - case 299: + case 301: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:2177 +//line mysql_sql.y:2201 { yyLOCAL = &tree.UserMiscOptionPasswordHistoryCount{Value: yyDollar[3].item.(int64)} } yyVAL.union = yyLOCAL - case 300: + case 302: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:2181 +//line mysql_sql.y:2205 { yyLOCAL = &tree.UserMiscOptionPasswordReuseIntervalDefault{} } yyVAL.union = yyLOCAL - case 301: + case 303: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:2185 +//line mysql_sql.y:2209 { yyLOCAL = &tree.UserMiscOptionPasswordReuseIntervalCount{Value: yyDollar[4].item.(int64)} } yyVAL.union = yyLOCAL - case 302: + case 304: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:2189 +//line mysql_sql.y:2213 { yyLOCAL = &tree.UserMiscOptionPasswordRequireCurrentNone{} } yyVAL.union = yyLOCAL - case 303: + case 305: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:2193 +//line mysql_sql.y:2217 { yyLOCAL = &tree.UserMiscOptionPasswordRequireCurrentDefault{} } yyVAL.union = yyLOCAL - case 304: + case 306: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:2197 +//line mysql_sql.y:2221 { yyLOCAL = &tree.UserMiscOptionPasswordRequireCurrentOptional{} } yyVAL.union = yyLOCAL - case 305: + case 307: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:2201 +//line mysql_sql.y:2225 { yyLOCAL = &tree.UserMiscOptionFailedLoginAttempts{Value: yyDollar[2].item.(int64)} } yyVAL.union = yyLOCAL - case 306: + case 308: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:2205 +//line mysql_sql.y:2229 { yyLOCAL = &tree.UserMiscOptionPasswordLockTimeCount{Value: yyDollar[2].item.(int64)} } yyVAL.union = yyLOCAL - case 307: + case 309: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:2209 +//line mysql_sql.y:2233 { yyLOCAL = &tree.UserMiscOptionPasswordLockTimeUnbounded{} } yyVAL.union = yyLOCAL - case 308: + case 310: yyDollar = yyS[yypt-3 : yypt+1] -//line mysql_sql.y:2215 +//line mysql_sql.y:2239 { yyVAL.item = nil } - case 309: + case 311: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:2220 +//line mysql_sql.y:2244 { yyVAL.item = nil } - case 328: + case 330: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2248 +//line mysql_sql.y:2272 { yyLOCAL = &tree.ShowCollation{} } yyVAL.union = yyLOCAL - case 329: + case 331: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2253 +//line mysql_sql.y:2277 { yyLOCAL = &tree.ShowGrants{} } yyVAL.union = yyLOCAL - case 330: + case 332: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2257 +//line mysql_sql.y:2281 { yyLOCAL = &tree.ShowGrants{Username: yyDollar[4].usernameRecordUnion().Username, Hostname: yyDollar[4].usernameRecordUnion().Hostname, Roles: yyDollar[5].rolesUnion()} } yyVAL.union = yyLOCAL - case 331: + case 333: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*tree.Role -//line mysql_sql.y:2262 +//line mysql_sql.y:2286 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 332: + case 334: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []*tree.Role -//line mysql_sql.y:2266 +//line mysql_sql.y:2290 { yyLOCAL = yyDollar[2].rolesUnion() } yyVAL.union = yyLOCAL - case 333: + case 335: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2272 +//line mysql_sql.y:2296 { yyLOCAL = &tree.ShowTableStatus{DbName: yyDollar[5].str, Like: yyDollar[6].comparisionExprUnion(), Where: yyDollar[7].whereUnion()} } yyVAL.union = yyLOCAL - case 334: + case 336: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:2277 +//line mysql_sql.y:2301 { } - case 336: + case 338: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:2281 +//line mysql_sql.y:2305 { } - case 338: + case 340: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2286 +//line mysql_sql.y:2310 { yyLOCAL = &tree.ShowFunctionStatus{ Like: yyDollar[4].comparisionExprUnion(), @@ -8880,26 +9201,26 @@ yydefault: } } yyVAL.union = yyLOCAL - case 339: + case 341: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2295 +//line mysql_sql.y:2319 { yyLOCAL = &tree.ShowNodeList{} } yyVAL.union = yyLOCAL - case 340: + case 342: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2301 +//line mysql_sql.y:2325 { yyLOCAL = &tree.ShowLocks{} } yyVAL.union = yyLOCAL - case 341: + case 343: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2307 +//line mysql_sql.y:2331 { s := yyDollar[2].statementUnion().(*tree.ShowTarget) s.Like = yyDollar[3].comparisionExprUnion() @@ -8907,82 +9228,82 @@ yydefault: yyLOCAL = s } yyVAL.union = yyLOCAL - case 342: + case 344: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2316 +//line mysql_sql.y:2340 { yyLOCAL = &tree.ShowTarget{Type: tree.ShowConfig} } yyVAL.union = yyLOCAL - case 343: + case 345: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2320 +//line mysql_sql.y:2344 { yyLOCAL = &tree.ShowTarget{Type: tree.ShowCharset} } yyVAL.union = yyLOCAL - case 344: + case 346: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2324 +//line mysql_sql.y:2348 { yyLOCAL = &tree.ShowTarget{Type: tree.ShowEngines} } yyVAL.union = yyLOCAL - case 345: + case 347: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2328 +//line mysql_sql.y:2352 { yyLOCAL = &tree.ShowTarget{DbName: yyDollar[3].str, Type: tree.ShowTriggers} } yyVAL.union = yyLOCAL - case 346: + case 348: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2332 +//line mysql_sql.y:2356 { yyLOCAL = &tree.ShowTarget{Type: tree.ShowProcedureStatus} } yyVAL.union = yyLOCAL - case 347: + case 349: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2336 +//line mysql_sql.y:2360 { yyLOCAL = &tree.ShowTarget{DbName: yyDollar[3].str, Type: tree.ShowEvents} } yyVAL.union = yyLOCAL - case 348: + case 350: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2340 +//line mysql_sql.y:2364 { yyLOCAL = &tree.ShowTarget{Type: tree.ShowPlugins} } yyVAL.union = yyLOCAL - case 349: + case 351: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2344 +//line mysql_sql.y:2368 { yyLOCAL = &tree.ShowTarget{Type: tree.ShowPrivileges} } yyVAL.union = yyLOCAL - case 350: + case 352: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2348 +//line mysql_sql.y:2372 { yyLOCAL = &tree.ShowTarget{Type: tree.ShowProfiles} } yyVAL.union = yyLOCAL - case 351: + case 353: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2354 +//line mysql_sql.y:2378 { yyLOCAL = &tree.ShowIndex{ TableName: *yyDollar[5].tableNameUnion(), @@ -8990,10 +9311,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 352: + case 354: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2361 +//line mysql_sql.y:2385 { prefix := tree.ObjectNamePrefix{SchemaName: tree.Identifier(yyDollar[7].str), ExplicitSchema: true} tbl := tree.NewTableName(tree.Identifier(yyDollar[5].str), prefix) @@ -9003,20 +9324,20 @@ yydefault: } } yyVAL.union = yyLOCAL - case 353: + case 355: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:2371 +//line mysql_sql.y:2395 { } - case 354: + case 356: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:2373 +//line mysql_sql.y:2397 { } - case 358: + case 360: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2382 +//line mysql_sql.y:2406 { yyLOCAL = &tree.ShowVariables{ Global: yyDollar[2].boolValUnion(), @@ -9025,10 +9346,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 359: + case 361: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2392 +//line mysql_sql.y:2416 { yyLOCAL = &tree.ShowStatus{ Global: yyDollar[2].boolValUnion(), @@ -9037,58 +9358,58 @@ yydefault: } } yyVAL.union = yyLOCAL - case 360: + case 362: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:2401 +//line mysql_sql.y:2425 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 361: + case 363: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:2405 +//line mysql_sql.y:2429 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 362: + case 364: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:2409 +//line mysql_sql.y:2433 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 363: + case 365: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2415 +//line mysql_sql.y:2439 { yyLOCAL = &tree.ShowWarnings{} } yyVAL.union = yyLOCAL - case 364: + case 366: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2421 +//line mysql_sql.y:2445 { yyLOCAL = &tree.ShowErrors{} } yyVAL.union = yyLOCAL - case 365: + case 367: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2427 +//line mysql_sql.y:2451 { yyLOCAL = &tree.ShowProcessList{Full: yyDollar[2].fullOptUnion()} } yyVAL.union = yyLOCAL - case 366: + case 368: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2433 +//line mysql_sql.y:2457 { yyLOCAL = &tree.ShowTables{ Open: false, @@ -9099,10 +9420,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 367: + case 369: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2443 +//line mysql_sql.y:2467 { yyLOCAL = &tree.ShowTables{ Open: true, @@ -9113,26 +9434,26 @@ yydefault: } } yyVAL.union = yyLOCAL - case 368: + case 370: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2455 +//line mysql_sql.y:2479 { yyLOCAL = &tree.ShowDatabases{Like: yyDollar[3].comparisionExprUnion(), Where: yyDollar[4].whereUnion()} } yyVAL.union = yyLOCAL - case 369: + case 371: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2459 +//line mysql_sql.y:2483 { yyLOCAL = &tree.ShowDatabases{Like: yyDollar[3].comparisionExprUnion(), Where: yyDollar[4].whereUnion()} } yyVAL.union = yyLOCAL - case 370: + case 372: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2465 +//line mysql_sql.y:2489 { yyLOCAL = &tree.ShowColumns{ Ext: false, @@ -9145,10 +9466,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 371: + case 373: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2477 +//line mysql_sql.y:2501 { yyLOCAL = &tree.ShowColumns{ Ext: true, @@ -9161,142 +9482,142 @@ yydefault: } } yyVAL.union = yyLOCAL - case 372: + case 374: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.ComparisonExpr -//line mysql_sql.y:2490 +//line mysql_sql.y:2514 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 373: + case 375: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.ComparisonExpr -//line mysql_sql.y:2494 +//line mysql_sql.y:2518 { yyLOCAL = tree.NewComparisonExpr(tree.LIKE, nil, yyDollar[2].exprUnion()) } yyVAL.union = yyLOCAL - case 374: + case 376: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:2499 +//line mysql_sql.y:2523 { yyVAL.str = "" } - case 375: + case 377: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:2503 +//line mysql_sql.y:2527 { yyVAL.str = yyDollar[2].str } - case 376: + case 378: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.UnresolvedObjectName -//line mysql_sql.y:2509 +//line mysql_sql.y:2533 { yyLOCAL = yyDollar[2].unresolvedObjectNameUnion() } yyVAL.union = yyLOCAL - case 381: + case 383: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:2522 +//line mysql_sql.y:2546 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 382: + case 384: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:2526 +//line mysql_sql.y:2550 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 383: + case 385: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2532 +//line mysql_sql.y:2556 { yyLOCAL = &tree.ShowCreateTable{Name: yyDollar[4].unresolvedObjectNameUnion()} } yyVAL.union = yyLOCAL - case 384: + case 386: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2537 +//line mysql_sql.y:2561 { yyLOCAL = &tree.ShowCreateView{Name: yyDollar[4].unresolvedObjectNameUnion()} } yyVAL.union = yyLOCAL - case 385: + case 387: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2541 +//line mysql_sql.y:2565 { yyLOCAL = &tree.ShowCreateDatabase{IfNotExists: yyDollar[4].ifNotExistsUnion(), Name: yyDollar[5].str} } yyVAL.union = yyLOCAL - case 386: + case 388: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.UnresolvedObjectName -//line mysql_sql.y:2547 +//line mysql_sql.y:2571 { yyLOCAL = tree.SetUnresolvedObjectName(1, [3]string{yyDollar[1].str}) } yyVAL.union = yyLOCAL - case 387: + case 389: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.UnresolvedObjectName -//line mysql_sql.y:2551 +//line mysql_sql.y:2575 { yyLOCAL = tree.SetUnresolvedObjectName(2, [3]string{yyDollar[3].str, yyDollar[1].str}) } yyVAL.union = yyLOCAL - case 389: + case 391: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.UnresolvedObjectName -//line mysql_sql.y:2560 +//line mysql_sql.y:2584 { yyLOCAL = tree.SetUnresolvedObjectName(1, [3]string{yyDollar[1].str}) } yyVAL.union = yyLOCAL - case 390: + case 392: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.UnresolvedObjectName -//line mysql_sql.y:2564 +//line mysql_sql.y:2588 { yyLOCAL = tree.SetUnresolvedObjectName(2, [3]string{yyDollar[3].str, yyDollar[1].str}) } yyVAL.union = yyLOCAL - case 391: + case 393: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.UnresolvedObjectName -//line mysql_sql.y:2568 +//line mysql_sql.y:2592 { yyLOCAL = tree.SetUnresolvedObjectName(3, [3]string{yyDollar[5].str, yyDollar[3].str, yyDollar[1].str}) } yyVAL.union = yyLOCAL - case 392: + case 394: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2574 +//line mysql_sql.y:2598 { yyLOCAL = tree.NewTruncateTable(yyDollar[2].tableNameUnion()) } yyVAL.union = yyLOCAL - case 393: + case 395: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2578 +//line mysql_sql.y:2602 { yyLOCAL = tree.NewTruncateTable(yyDollar[3].tableNameUnion()) } yyVAL.union = yyLOCAL - case 403: + case 406: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2597 +//line mysql_sql.y:2622 { yyLOCAL = &tree.DropAccount{ IfExists: yyDollar[3].boolValUnion(), @@ -9304,10 +9625,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 404: + case 407: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2606 +//line mysql_sql.y:2631 { yyLOCAL = &tree.DropUser{ IfExists: yyDollar[3].boolValUnion(), @@ -9315,26 +9636,26 @@ yydefault: } } yyVAL.union = yyLOCAL - case 405: + case 408: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.User -//line mysql_sql.y:2615 +//line mysql_sql.y:2640 { yyLOCAL = []*tree.User{yyDollar[1].userUnion()} } yyVAL.union = yyLOCAL - case 406: + case 409: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.User -//line mysql_sql.y:2619 +//line mysql_sql.y:2644 { yyLOCAL = append(yyDollar[1].usersUnion(), yyDollar[3].userUnion()) } yyVAL.union = yyLOCAL - case 407: + case 410: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.User -//line mysql_sql.y:2625 +//line mysql_sql.y:2650 { yyLOCAL = &tree.User{ Username: yyDollar[1].usernameRecordUnion().Username, @@ -9342,10 +9663,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 408: + case 411: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2634 +//line mysql_sql.y:2659 { yyLOCAL = &tree.DropRole{ IfExists: yyDollar[3].boolValUnion(), @@ -9353,10 +9674,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 409: + case 412: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2643 +//line mysql_sql.y:2668 { yyLOCAL = &tree.DropIndex{ Name: tree.Identifier(yyDollar[4].str), @@ -9365,60 +9686,71 @@ yydefault: } } yyVAL.union = yyLOCAL - case 410: + case 413: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2653 +//line mysql_sql.y:2678 { yyLOCAL = &tree.DropTable{IfExists: yyDollar[3].boolValUnion(), Names: yyDollar[4].tableNamesUnion()} } yyVAL.union = yyLOCAL - case 411: + case 414: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2659 +//line mysql_sql.y:2684 { yyLOCAL = &tree.DropView{IfExists: yyDollar[3].boolValUnion(), Names: yyDollar[4].tableNamesUnion()} } yyVAL.union = yyLOCAL - case 412: + case 415: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2665 +//line mysql_sql.y:2690 { yyLOCAL = &tree.DropDatabase{Name: tree.Identifier(yyDollar[4].str), IfExists: yyDollar[3].boolValUnion()} } yyVAL.union = yyLOCAL - case 413: + case 416: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2671 +//line mysql_sql.y:2696 { yyLOCAL = tree.NewDeallocate(tree.Identifier(yyDollar[3].str), true) } yyVAL.union = yyLOCAL - case 416: + case 417: + yyDollar = yyS[yypt-6 : yypt+1] + var yyLOCAL tree.Statement +//line mysql_sql.y:2702 + { + yyLOCAL = &tree.DropFunction{ + Name: yyDollar[3].functionNameUnion(), + Args: yyDollar[5].funcArgsUnion(), + } + } + yyVAL.union = yyLOCAL + case 420: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2679 +//line mysql_sql.y:2713 { yyDollar[2].statementUnion().(*tree.Delete).With = yyDollar[1].withClauseUnion() yyLOCAL = yyDollar[2].statementUnion() } yyVAL.union = yyLOCAL - case 417: + case 421: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2684 +//line mysql_sql.y:2718 { yyDollar[2].statementUnion().(*tree.Delete).With = yyDollar[1].withClauseUnion() yyLOCAL = yyDollar[2].statementUnion() } yyVAL.union = yyLOCAL - case 418: + case 422: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2691 +//line mysql_sql.y:2725 { // Single-Table Syntax t := &tree.AliasedTableExpr{ @@ -9435,10 +9767,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 419: + case 423: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2707 +//line mysql_sql.y:2741 { // Multiple-Table Syntax yyLOCAL = &tree.Delete{ @@ -9448,10 +9780,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 420: + case 424: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2720 +//line mysql_sql.y:2754 { // Multiple-Table Syntax yyLOCAL = &tree.Delete{ @@ -9461,69 +9793,69 @@ yydefault: } } yyVAL.union = yyLOCAL - case 421: + case 425: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableExprs -//line mysql_sql.y:2731 +//line mysql_sql.y:2765 { yyLOCAL = tree.TableExprs{yyDollar[1].tableNameUnion()} } yyVAL.union = yyLOCAL - case 422: + case 426: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableExprs -//line mysql_sql.y:2735 +//line mysql_sql.y:2769 { yyLOCAL = append(yyDollar[1].tableExprsUnion(), yyDollar[3].tableNameUnion()) } yyVAL.union = yyLOCAL - case 423: + case 427: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.TableName -//line mysql_sql.y:2741 +//line mysql_sql.y:2775 { prefix := tree.ObjectNamePrefix{ExplicitSchema: false} yyLOCAL = tree.NewTableName(tree.Identifier(yyDollar[1].str), prefix) } yyVAL.union = yyLOCAL - case 424: + case 428: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.TableName -//line mysql_sql.y:2746 +//line mysql_sql.y:2780 { prefix := tree.ObjectNamePrefix{SchemaName: tree.Identifier(yyDollar[1].str), ExplicitSchema: true} yyLOCAL = tree.NewTableName(tree.Identifier(yyDollar[3].str), prefix) } yyVAL.union = yyLOCAL - case 425: + case 429: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:2753 +//line mysql_sql.y:2787 { } - case 426: + case 430: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:2755 +//line mysql_sql.y:2789 { } - case 427: + case 431: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:2758 +//line mysql_sql.y:2792 { } - case 432: + case 436: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:2767 +//line mysql_sql.y:2801 { } - case 434: + case 438: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:2771 +//line mysql_sql.y:2805 { } - case 436: + case 440: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2776 +//line mysql_sql.y:2810 { rep := yyDollar[4].replaceUnion() rep.Table = yyDollar[2].tableExprUnion() @@ -9531,10 +9863,10 @@ yydefault: yyLOCAL = rep } yyVAL.union = yyLOCAL - case 437: + case 441: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.Replace -//line mysql_sql.y:2785 +//line mysql_sql.y:2819 { vc := tree.NewValuesClause(yyDollar[2].rowsExprsUnion()) yyLOCAL = &tree.Replace{ @@ -9542,20 +9874,20 @@ yydefault: } } yyVAL.union = yyLOCAL - case 438: + case 442: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.Replace -//line mysql_sql.y:2792 +//line mysql_sql.y:2826 { yyLOCAL = &tree.Replace{ Rows: yyDollar[1].selectUnion(), } } yyVAL.union = yyLOCAL - case 439: + case 443: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.Replace -//line mysql_sql.y:2798 +//line mysql_sql.y:2832 { vc := tree.NewValuesClause(yyDollar[5].rowsExprsUnion()) yyLOCAL = &tree.Replace{ @@ -9564,10 +9896,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 440: + case 444: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.Replace -//line mysql_sql.y:2806 +//line mysql_sql.y:2840 { vc := tree.NewValuesClause(yyDollar[4].rowsExprsUnion()) yyLOCAL = &tree.Replace{ @@ -9575,10 +9907,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 441: + case 445: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.Replace -//line mysql_sql.y:2813 +//line mysql_sql.y:2847 { yyLOCAL = &tree.Replace{ Columns: yyDollar[2].identifierListUnion(), @@ -9586,10 +9918,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 442: + case 446: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.Replace -//line mysql_sql.y:2820 +//line mysql_sql.y:2854 { if yyDollar[2].assignmentsUnion() == nil { yylex.Error("the set list of replace can not be empty") @@ -9608,10 +9940,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 443: + case 447: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2840 +//line mysql_sql.y:2874 { ins := yyDollar[4].insertUnion() ins.Table = yyDollar[2].tableExprUnion() @@ -9620,42 +9952,42 @@ yydefault: yyLOCAL = ins } yyVAL.union = yyLOCAL - case 444: + case 448: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:2849 +//line mysql_sql.y:2883 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 445: + case 449: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:2853 +//line mysql_sql.y:2887 { yyLOCAL = yyDollar[3].identifierListUnion() } yyVAL.union = yyLOCAL - case 446: + case 450: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:2859 +//line mysql_sql.y:2893 { yyLOCAL = tree.IdentifierList{tree.Identifier(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 447: + case 451: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:2863 +//line mysql_sql.y:2897 { yyLOCAL = append(yyDollar[1].identifierListUnion(), tree.Identifier(yyDollar[3].str)) } yyVAL.union = yyLOCAL - case 448: + case 452: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.Insert -//line mysql_sql.y:2869 +//line mysql_sql.y:2903 { vc := tree.NewValuesClause(yyDollar[3].rowsExprsUnion()) yyLOCAL = &tree.Insert{ @@ -9664,20 +9996,20 @@ yydefault: } } yyVAL.union = yyLOCAL - case 449: + case 453: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.Insert -//line mysql_sql.y:2877 +//line mysql_sql.y:2911 { yyLOCAL = &tree.Insert{ Rows: yyDollar[1].selectUnion(), } } yyVAL.union = yyLOCAL - case 450: + case 454: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.Insert -//line mysql_sql.y:2883 +//line mysql_sql.y:2917 { yyLOCAL = &tree.Insert{ Accounts: yyDollar[3].identifierListUnion(), @@ -9685,10 +10017,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 451: + case 455: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.Insert -//line mysql_sql.y:2890 +//line mysql_sql.y:2924 { vc := tree.NewValuesClause(yyDollar[6].rowsExprsUnion()) yyLOCAL = &tree.Insert{ @@ -9698,10 +10030,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 452: + case 456: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.Insert -//line mysql_sql.y:2899 +//line mysql_sql.y:2933 { vc := tree.NewValuesClause(yyDollar[5].rowsExprsUnion()) yyLOCAL = &tree.Insert{ @@ -9710,10 +10042,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 453: + case 457: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.Insert -//line mysql_sql.y:2907 +//line mysql_sql.y:2941 { yyLOCAL = &tree.Insert{ Columns: yyDollar[2].identifierListUnion(), @@ -9722,10 +10054,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 454: + case 458: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.Insert -//line mysql_sql.y:2915 +//line mysql_sql.y:2949 { if yyDollar[3].assignmentsUnion() == nil { yylex.Error("the set list of insert can not be empty") @@ -9745,18 +10077,18 @@ yydefault: } } yyVAL.union = yyLOCAL - case 455: + case 459: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.UpdateList -//line mysql_sql.y:2935 +//line mysql_sql.y:2969 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 456: + case 460: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.UpdateList -//line mysql_sql.y:2939 +//line mysql_sql.y:2973 { if yyDollar[5].assignmentsUnion() == nil { yylex.Error("the ON DUPLICATE KEY UPDATE list can not be empty") @@ -9775,34 +10107,34 @@ yydefault: } } yyVAL.union = yyLOCAL - case 457: + case 461: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*tree.Assignment -//line mysql_sql.y:2958 +//line mysql_sql.y:2992 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 458: + case 462: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.Assignment -//line mysql_sql.y:2962 +//line mysql_sql.y:2996 { yyLOCAL = []*tree.Assignment{yyDollar[1].assignmentUnion()} } yyVAL.union = yyLOCAL - case 459: + case 463: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.Assignment -//line mysql_sql.y:2966 +//line mysql_sql.y:3000 { yyLOCAL = append(yyDollar[1].assignmentsUnion(), yyDollar[3].assignmentUnion()) } yyVAL.union = yyLOCAL - case 460: + case 464: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.Assignment -//line mysql_sql.y:2972 +//line mysql_sql.y:3006 { yyLOCAL = &tree.Assignment{ Column: tree.Identifier(yyDollar[1].str), @@ -9810,155 +10142,155 @@ yydefault: } } yyVAL.union = yyLOCAL - case 461: + case 465: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:2981 +//line mysql_sql.y:3015 { yyLOCAL = tree.IdentifierList{tree.Identifier(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 462: + case 466: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:2985 +//line mysql_sql.y:3019 { yyLOCAL = append(yyDollar[1].identifierListUnion(), tree.Identifier(yyDollar[3].str)) } yyVAL.union = yyLOCAL - case 463: + case 467: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:2991 +//line mysql_sql.y:3025 { yyVAL.str = yyDollar[1].str } - case 464: + case 468: yyDollar = yyS[yypt-3 : yypt+1] -//line mysql_sql.y:2995 +//line mysql_sql.y:3029 { yyVAL.str = yyDollar[3].str } - case 465: + case 469: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.Exprs -//line mysql_sql.y:3001 +//line mysql_sql.y:3035 { yyLOCAL = []tree.Exprs{yyDollar[1].exprsUnion()} } yyVAL.union = yyLOCAL - case 466: + case 470: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []tree.Exprs -//line mysql_sql.y:3005 +//line mysql_sql.y:3039 { yyLOCAL = append(yyDollar[1].rowsExprsUnion(), yyDollar[3].exprsUnion()) } yyVAL.union = yyLOCAL - case 467: + case 471: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:3011 +//line mysql_sql.y:3045 { yyLOCAL = yyDollar[3].exprsUnion() } yyVAL.union = yyLOCAL - case 468: + case 472: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:3016 +//line mysql_sql.y:3050 { } - case 470: + case 474: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:3020 +//line mysql_sql.y:3054 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 472: + case 476: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:3027 +//line mysql_sql.y:3061 { yyLOCAL = tree.Exprs{yyDollar[1].exprUnion()} } yyVAL.union = yyLOCAL - case 473: + case 477: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:3031 +//line mysql_sql.y:3065 { yyLOCAL = append(yyDollar[1].exprsUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 475: + case 479: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:3038 +//line mysql_sql.y:3072 { yyLOCAL = &tree.DefaultVal{} } yyVAL.union = yyLOCAL - case 476: + case 480: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:3043 +//line mysql_sql.y:3077 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 477: + case 481: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:3047 +//line mysql_sql.y:3081 { yyLOCAL = yyDollar[3].identifierListUnion() } yyVAL.union = yyLOCAL - case 478: + case 482: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:3053 +//line mysql_sql.y:3087 { yyLOCAL = tree.IdentifierList{tree.Identifier(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 479: + case 483: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:3057 +//line mysql_sql.y:3091 { yyLOCAL = append(yyDollar[1].identifierListUnion(), tree.Identifier(yyDollar[3].str)) } yyVAL.union = yyLOCAL - case 480: + case 484: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.TableExpr -//line mysql_sql.y:3063 +//line mysql_sql.y:3097 { yyLOCAL = yyDollar[2].tableNameUnion() } yyVAL.union = yyLOCAL - case 481: + case 485: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableExpr -//line mysql_sql.y:3067 +//line mysql_sql.y:3101 { yyLOCAL = yyDollar[1].tableNameUnion() } yyVAL.union = yyLOCAL - case 482: + case 486: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.ExportParam -//line mysql_sql.y:3072 +//line mysql_sql.y:3106 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 483: + case 487: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *tree.ExportParam -//line mysql_sql.y:3076 +//line mysql_sql.y:3110 { yyLOCAL = &tree.ExportParam{ Outfile: true, @@ -9971,10 +10303,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 484: + case 488: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.Fields -//line mysql_sql.y:3089 +//line mysql_sql.y:3123 { yyLOCAL = &tree.Fields{ Terminated: ",", @@ -9982,10 +10314,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 485: + case 489: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.Fields -//line mysql_sql.y:3096 +//line mysql_sql.y:3130 { yyLOCAL = &tree.Fields{ Terminated: yyDollar[4].str, @@ -9993,10 +10325,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 486: + case 490: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *tree.Fields -//line mysql_sql.y:3103 +//line mysql_sql.y:3137 { str := yyDollar[7].str if str != "\\" && len(str) > 1 { @@ -10015,10 +10347,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 487: + case 491: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.Fields -//line mysql_sql.y:3121 +//line mysql_sql.y:3155 { str := yyDollar[4].str if str != "\\" && len(str) > 1 { @@ -10037,38 +10369,38 @@ yydefault: } } yyVAL.union = yyLOCAL - case 488: + case 492: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.Lines -//line mysql_sql.y:3140 +//line mysql_sql.y:3174 { yyLOCAL = &tree.Lines{ TerminatedBy: "\n", } } yyVAL.union = yyLOCAL - case 489: + case 493: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.Lines -//line mysql_sql.y:3146 +//line mysql_sql.y:3180 { yyLOCAL = &tree.Lines{ TerminatedBy: yyDollar[2].str, } } yyVAL.union = yyLOCAL - case 490: + case 494: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:3153 +//line mysql_sql.y:3187 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 491: + case 495: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:3157 +//line mysql_sql.y:3191 { str := strings.ToLower(yyDollar[2].str) if str == "true" { @@ -10081,115 +10413,115 @@ yydefault: } } yyVAL.union = yyLOCAL - case 492: + case 496: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:3170 +//line mysql_sql.y:3204 { yyLOCAL = 0 } yyVAL.union = yyLOCAL - case 493: + case 497: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:3174 +//line mysql_sql.y:3208 { yyLOCAL = yyDollar[2].item.(int64) } yyVAL.union = yyLOCAL - case 494: + case 498: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:3179 +//line mysql_sql.y:3213 { yyLOCAL = []string{} } yyVAL.union = yyLOCAL - case 495: + case 499: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:3183 +//line mysql_sql.y:3217 { yyLOCAL = yyDollar[3].strsUnion() } yyVAL.union = yyLOCAL - case 496: + case 500: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:3190 +//line mysql_sql.y:3224 { yyLOCAL = make([]string, 0, 4) yyLOCAL = append(yyLOCAL, yyDollar[1].str) } yyVAL.union = yyLOCAL - case 497: + case 501: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:3195 +//line mysql_sql.y:3229 { yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].str) } yyVAL.union = yyLOCAL - case 499: + case 503: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.Select -//line mysql_sql.y:3202 +//line mysql_sql.y:3236 { yyLOCAL = &tree.Select{Select: yyDollar[1].selectStatementUnion()} } yyVAL.union = yyLOCAL - case 500: + case 504: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.Select -//line mysql_sql.y:3208 +//line mysql_sql.y:3242 { yyLOCAL = &tree.Select{Select: yyDollar[1].selectStatementUnion(), OrderBy: yyDollar[2].orderByUnion(), Limit: yyDollar[3].limitUnion(), Ep: yyDollar[4].exportParmUnion()} } yyVAL.union = yyLOCAL - case 501: + case 505: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.Select -//line mysql_sql.y:3212 +//line mysql_sql.y:3246 { yyLOCAL = &tree.Select{Select: yyDollar[1].selectStatementUnion(), OrderBy: yyDollar[2].orderByUnion(), Ep: yyDollar[3].exportParmUnion()} } yyVAL.union = yyLOCAL - case 502: + case 506: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.Select -//line mysql_sql.y:3216 +//line mysql_sql.y:3250 { yyLOCAL = &tree.Select{Select: yyDollar[1].selectStatementUnion(), OrderBy: yyDollar[2].orderByUnion(), Limit: yyDollar[3].limitUnion(), Ep: yyDollar[4].exportParmUnion()} } yyVAL.union = yyLOCAL - case 503: + case 507: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.Select -//line mysql_sql.y:3220 +//line mysql_sql.y:3254 { yyLOCAL = &tree.Select{Select: yyDollar[2].selectStatementUnion(), OrderBy: yyDollar[3].orderByUnion(), Limit: yyDollar[4].limitUnion(), Ep: yyDollar[5].exportParmUnion(), With: yyDollar[1].withClauseUnion()} } yyVAL.union = yyLOCAL - case 504: + case 508: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.Select -//line mysql_sql.y:3224 +//line mysql_sql.y:3258 { yyLOCAL = &tree.Select{Select: yyDollar[2].selectStatementUnion(), OrderBy: yyDollar[3].orderByUnion(), Ep: yyDollar[4].exportParmUnion(), With: yyDollar[1].withClauseUnion()} } yyVAL.union = yyLOCAL - case 505: + case 509: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.Select -//line mysql_sql.y:3228 +//line mysql_sql.y:3262 { yyLOCAL = &tree.Select{Select: yyDollar[2].selectStatementUnion(), OrderBy: yyDollar[3].orderByUnion(), Limit: yyDollar[4].limitUnion(), Ep: yyDollar[5].exportParmUnion(), With: yyDollar[1].withClauseUnion()} } yyVAL.union = yyLOCAL - case 506: + case 510: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.With -//line mysql_sql.y:3234 +//line mysql_sql.y:3268 { yyLOCAL = &tree.With{ IsRecursive: false, @@ -10197,10 +10529,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 507: + case 511: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.With -//line mysql_sql.y:3241 +//line mysql_sql.y:3275 { yyLOCAL = &tree.With{ IsRecursive: true, @@ -10208,26 +10540,26 @@ yydefault: } } yyVAL.union = yyLOCAL - case 508: + case 512: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.CTE -//line mysql_sql.y:3250 +//line mysql_sql.y:3284 { yyLOCAL = []*tree.CTE{yyDollar[1].cteUnion()} } yyVAL.union = yyLOCAL - case 509: + case 513: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.CTE -//line mysql_sql.y:3254 +//line mysql_sql.y:3288 { yyLOCAL = append(yyDollar[1].cteListUnion(), yyDollar[3].cteUnion()) } yyVAL.union = yyLOCAL - case 510: + case 514: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.CTE -//line mysql_sql.y:3260 +//line mysql_sql.y:3294 { yyLOCAL = &tree.CTE{ Name: &tree.AliasClause{Alias: tree.Identifier(yyDollar[1].str), Cols: yyDollar[2].identifierListUnion()}, @@ -10235,186 +10567,186 @@ yydefault: } } yyVAL.union = yyLOCAL - case 511: + case 515: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:3268 +//line mysql_sql.y:3302 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 512: + case 516: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:3272 +//line mysql_sql.y:3306 { yyLOCAL = yyDollar[2].identifierListUnion() } yyVAL.union = yyLOCAL - case 513: + case 517: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.Limit -//line mysql_sql.y:3277 +//line mysql_sql.y:3311 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 514: + case 518: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.Limit -//line mysql_sql.y:3281 +//line mysql_sql.y:3315 { yyLOCAL = yyDollar[1].limitUnion() } yyVAL.union = yyLOCAL - case 515: + case 519: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.Limit -//line mysql_sql.y:3287 +//line mysql_sql.y:3321 { yyLOCAL = &tree.Limit{Count: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 516: + case 520: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.Limit -//line mysql_sql.y:3291 +//line mysql_sql.y:3325 { yyLOCAL = &tree.Limit{Offset: yyDollar[2].exprUnion(), Count: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 517: + case 521: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.Limit -//line mysql_sql.y:3295 +//line mysql_sql.y:3329 { yyLOCAL = &tree.Limit{Offset: yyDollar[4].exprUnion(), Count: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 518: + case 522: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.OrderBy -//line mysql_sql.y:3300 +//line mysql_sql.y:3334 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 519: + case 523: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.OrderBy -//line mysql_sql.y:3304 +//line mysql_sql.y:3338 { yyLOCAL = yyDollar[1].orderByUnion() } yyVAL.union = yyLOCAL - case 520: + case 524: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.OrderBy -//line mysql_sql.y:3310 +//line mysql_sql.y:3344 { yyLOCAL = yyDollar[3].orderByUnion() } yyVAL.union = yyLOCAL - case 521: + case 525: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.OrderBy -//line mysql_sql.y:3316 +//line mysql_sql.y:3350 { yyLOCAL = tree.OrderBy{yyDollar[1].orderUnion()} } yyVAL.union = yyLOCAL - case 522: + case 526: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.OrderBy -//line mysql_sql.y:3320 +//line mysql_sql.y:3354 { yyLOCAL = append(yyDollar[1].orderByUnion(), yyDollar[3].orderUnion()) } yyVAL.union = yyLOCAL - case 523: + case 527: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.Order -//line mysql_sql.y:3326 +//line mysql_sql.y:3360 { yyLOCAL = &tree.Order{Expr: yyDollar[1].exprUnion(), Direction: yyDollar[2].directionUnion(), NullsPosition: yyDollar[3].nullsPositionUnion()} } yyVAL.union = yyLOCAL - case 524: + case 528: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Direction -//line mysql_sql.y:3331 +//line mysql_sql.y:3365 { yyLOCAL = tree.DefaultDirection } yyVAL.union = yyLOCAL - case 525: + case 529: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Direction -//line mysql_sql.y:3335 +//line mysql_sql.y:3369 { yyLOCAL = tree.Ascending } yyVAL.union = yyLOCAL - case 526: + case 530: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Direction -//line mysql_sql.y:3339 +//line mysql_sql.y:3373 { yyLOCAL = tree.Descending } yyVAL.union = yyLOCAL - case 527: + case 531: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.NullsPosition -//line mysql_sql.y:3344 +//line mysql_sql.y:3378 { yyLOCAL = tree.DefaultNullsPosition } yyVAL.union = yyLOCAL - case 528: + case 532: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.NullsPosition -//line mysql_sql.y:3348 +//line mysql_sql.y:3382 { yyLOCAL = tree.NullsFirst } yyVAL.union = yyLOCAL - case 529: + case 533: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.NullsPosition -//line mysql_sql.y:3352 +//line mysql_sql.y:3386 { yyLOCAL = tree.NullsLast } yyVAL.union = yyLOCAL - case 530: + case 534: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.SelectStatement -//line mysql_sql.y:3358 +//line mysql_sql.y:3392 { yyLOCAL = &tree.ParenSelect{Select: yyDollar[2].selectUnion()} } yyVAL.union = yyLOCAL - case 531: + case 535: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.SelectStatement -//line mysql_sql.y:3362 +//line mysql_sql.y:3396 { yyLOCAL = &tree.ParenSelect{Select: &tree.Select{Select: yyDollar[2].selectStatementUnion()}} } yyVAL.union = yyLOCAL - case 532: + case 536: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.SelectStatement -//line mysql_sql.y:3368 +//line mysql_sql.y:3402 { yyLOCAL = yyDollar[1].selectStatementUnion() } yyVAL.union = yyLOCAL - case 533: + case 537: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.SelectStatement -//line mysql_sql.y:3372 +//line mysql_sql.y:3406 { yyLOCAL = &tree.UnionClause{ Type: yyDollar[2].unionTypeRecordUnion().Type, @@ -10425,10 +10757,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 534: + case 538: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.SelectStatement -//line mysql_sql.y:3382 +//line mysql_sql.y:3416 { yyLOCAL = &tree.UnionClause{ Type: yyDollar[2].unionTypeRecordUnion().Type, @@ -10439,10 +10771,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 535: + case 539: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.SelectStatement -//line mysql_sql.y:3392 +//line mysql_sql.y:3426 { yyLOCAL = &tree.UnionClause{ Type: yyDollar[2].unionTypeRecordUnion().Type, @@ -10453,10 +10785,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 536: + case 540: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.SelectStatement -//line mysql_sql.y:3402 +//line mysql_sql.y:3436 { yyLOCAL = &tree.UnionClause{ Type: yyDollar[2].unionTypeRecordUnion().Type, @@ -10467,10 +10799,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 537: + case 541: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.UnionTypeRecord -//line mysql_sql.y:3414 +//line mysql_sql.y:3448 { yyLOCAL = &tree.UnionTypeRecord{ Type: tree.UNION, @@ -10479,10 +10811,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 538: + case 542: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.UnionTypeRecord -//line mysql_sql.y:3422 +//line mysql_sql.y:3456 { yyLOCAL = &tree.UnionTypeRecord{ Type: tree.UNION, @@ -10491,10 +10823,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 539: + case 543: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.UnionTypeRecord -//line mysql_sql.y:3430 +//line mysql_sql.y:3464 { yyLOCAL = &tree.UnionTypeRecord{ Type: tree.UNION, @@ -10503,10 +10835,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 540: + case 544: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.UnionTypeRecord -//line mysql_sql.y:3439 +//line mysql_sql.y:3473 { yyLOCAL = &tree.UnionTypeRecord{ Type: tree.EXCEPT, @@ -10515,10 +10847,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 541: + case 545: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.UnionTypeRecord -//line mysql_sql.y:3447 +//line mysql_sql.y:3481 { yyLOCAL = &tree.UnionTypeRecord{ Type: tree.EXCEPT, @@ -10527,10 +10859,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 542: + case 546: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.UnionTypeRecord -//line mysql_sql.y:3455 +//line mysql_sql.y:3489 { yyLOCAL = &tree.UnionTypeRecord{ Type: tree.EXCEPT, @@ -10539,10 +10871,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 543: + case 547: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.UnionTypeRecord -//line mysql_sql.y:3463 +//line mysql_sql.y:3497 { yyLOCAL = &tree.UnionTypeRecord{ Type: tree.INTERSECT, @@ -10551,10 +10883,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 544: + case 548: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.UnionTypeRecord -//line mysql_sql.y:3471 +//line mysql_sql.y:3505 { yyLOCAL = &tree.UnionTypeRecord{ Type: tree.INTERSECT, @@ -10563,10 +10895,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 545: + case 549: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.UnionTypeRecord -//line mysql_sql.y:3479 +//line mysql_sql.y:3513 { yyLOCAL = &tree.UnionTypeRecord{ Type: tree.INTERSECT, @@ -10575,10 +10907,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 546: + case 550: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.UnionTypeRecord -//line mysql_sql.y:3487 +//line mysql_sql.y:3521 { yyLOCAL = &tree.UnionTypeRecord{ Type: tree.UT_MINUS, @@ -10587,10 +10919,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 547: + case 551: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.UnionTypeRecord -//line mysql_sql.y:3495 +//line mysql_sql.y:3529 { yyLOCAL = &tree.UnionTypeRecord{ Type: tree.UT_MINUS, @@ -10599,10 +10931,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 548: + case 552: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.UnionTypeRecord -//line mysql_sql.y:3503 +//line mysql_sql.y:3537 { yyLOCAL = &tree.UnionTypeRecord{ Type: tree.UT_MINUS, @@ -10611,10 +10943,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 549: + case 553: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.SelectStatement -//line mysql_sql.y:3513 +//line mysql_sql.y:3547 { yyLOCAL = &tree.SelectClause{ Distinct: yyDollar[2].boolValUnion(), @@ -10626,10 +10958,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 550: + case 554: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.SelectStatement -//line mysql_sql.y:3524 +//line mysql_sql.y:3558 { yyLOCAL = &tree.SelectClause{ Distinct: false, @@ -10642,130 +10974,130 @@ yydefault: } } yyVAL.union = yyLOCAL - case 554: + case 558: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:3542 +//line mysql_sql.y:3576 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 555: + case 559: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:3546 +//line mysql_sql.y:3580 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 556: + case 560: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:3550 +//line mysql_sql.y:3584 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 559: + case 563: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.Where -//line mysql_sql.y:3559 +//line mysql_sql.y:3593 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 560: + case 564: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.Where -//line mysql_sql.y:3563 +//line mysql_sql.y:3597 { yyLOCAL = &tree.Where{Type: tree.AstHaving, Expr: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 561: + case 565: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.GroupBy -//line mysql_sql.y:3568 +//line mysql_sql.y:3602 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 562: + case 566: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.GroupBy -//line mysql_sql.y:3572 +//line mysql_sql.y:3606 { yyLOCAL = tree.GroupBy(yyDollar[3].exprsUnion()) } yyVAL.union = yyLOCAL - case 563: + case 567: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.Where -//line mysql_sql.y:3577 +//line mysql_sql.y:3611 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 564: + case 568: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.Where -//line mysql_sql.y:3581 +//line mysql_sql.y:3615 { yyLOCAL = &tree.Where{Type: tree.AstWhere, Expr: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 565: + case 569: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.SelectExprs -//line mysql_sql.y:3587 +//line mysql_sql.y:3621 { yyLOCAL = tree.SelectExprs{yyDollar[1].selectExprUnion()} } yyVAL.union = yyLOCAL - case 566: + case 570: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.SelectExprs -//line mysql_sql.y:3591 +//line mysql_sql.y:3625 { yyLOCAL = append(yyDollar[1].selectExprsUnion(), yyDollar[3].selectExprUnion()) } yyVAL.union = yyLOCAL - case 567: + case 571: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.SelectExpr -//line mysql_sql.y:3597 +//line mysql_sql.y:3631 { yyLOCAL = tree.SelectExpr{Expr: tree.StarExpr()} } yyVAL.union = yyLOCAL - case 568: + case 572: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.SelectExpr -//line mysql_sql.y:3601 +//line mysql_sql.y:3635 { yyLOCAL = tree.SelectExpr{Expr: yyDollar[1].exprUnion(), As: tree.UnrestrictedIdentifier(yyDollar[2].str)} } yyVAL.union = yyLOCAL - case 569: + case 573: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.SelectExpr -//line mysql_sql.y:3605 +//line mysql_sql.y:3639 { yyLOCAL = tree.SelectExpr{Expr: tree.SetUnresolvedNameWithStar(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 570: + case 574: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.SelectExpr -//line mysql_sql.y:3609 +//line mysql_sql.y:3643 { yyLOCAL = tree.SelectExpr{Expr: tree.SetUnresolvedNameWithStar(yyDollar[3].str, yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 571: + case 575: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.From -//line mysql_sql.y:3614 +//line mysql_sql.y:3648 { prefix := tree.ObjectNamePrefix{ExplicitSchema: false} tn := tree.NewTableName(tree.Identifier(""), prefix) @@ -10774,28 +11106,28 @@ yydefault: } } yyVAL.union = yyLOCAL - case 572: + case 576: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.From -//line mysql_sql.y:3622 +//line mysql_sql.y:3656 { yyLOCAL = yyDollar[1].fromUnion() } yyVAL.union = yyLOCAL - case 573: + case 577: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.From -//line mysql_sql.y:3628 +//line mysql_sql.y:3662 { yyLOCAL = &tree.From{ Tables: tree.TableExprs{yyDollar[2].joinTableExprUnion()}, } } yyVAL.union = yyLOCAL - case 574: + case 578: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.JoinTableExpr -//line mysql_sql.y:3636 +//line mysql_sql.y:3670 { if t, ok := yyDollar[1].tableExprUnion().(*tree.JoinTableExpr); ok { yyLOCAL = t @@ -10804,26 +11136,26 @@ yydefault: } } yyVAL.union = yyLOCAL - case 575: + case 579: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.JoinTableExpr -//line mysql_sql.y:3644 +//line mysql_sql.y:3678 { yyLOCAL = &tree.JoinTableExpr{Left: yyDollar[1].joinTableExprUnion(), Right: yyDollar[3].tableExprUnion(), JoinType: tree.JOIN_TYPE_CROSS} } yyVAL.union = yyLOCAL - case 578: + case 582: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableExpr -//line mysql_sql.y:3654 +//line mysql_sql.y:3688 { yyLOCAL = yyDollar[1].joinTableExprUnion() } yyVAL.union = yyLOCAL - case 579: + case 583: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.JoinTableExpr -//line mysql_sql.y:3660 +//line mysql_sql.y:3694 { yyLOCAL = &tree.JoinTableExpr{ Left: yyDollar[1].tableExprUnion(), @@ -10833,10 +11165,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 580: + case 584: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.JoinTableExpr -//line mysql_sql.y:3669 +//line mysql_sql.y:3703 { yyLOCAL = &tree.JoinTableExpr{ Left: yyDollar[1].tableExprUnion(), @@ -10846,10 +11178,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 581: + case 585: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.JoinTableExpr -//line mysql_sql.y:3678 +//line mysql_sql.y:3712 { yyLOCAL = &tree.JoinTableExpr{ Left: yyDollar[1].tableExprUnion(), @@ -10859,10 +11191,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 582: + case 586: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.JoinTableExpr -//line mysql_sql.y:3687 +//line mysql_sql.y:3721 { yyLOCAL = &tree.JoinTableExpr{ Left: yyDollar[1].tableExprUnion(), @@ -10871,15 +11203,15 @@ yydefault: } } yyVAL.union = yyLOCAL - case 583: + case 587: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:3697 +//line mysql_sql.y:3731 { yyVAL.str = tree.JOIN_TYPE_NATURAL } - case 584: + case 588: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:3701 +//line mysql_sql.y:3735 { if yyDollar[2].str == tree.JOIN_TYPE_LEFT { yyVAL.str = tree.JOIN_TYPE_NATURAL_LEFT @@ -10887,34 +11219,34 @@ yydefault: yyVAL.str = tree.JOIN_TYPE_NATURAL_RIGHT } } - case 585: + case 589: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:3711 +//line mysql_sql.y:3745 { yyVAL.str = tree.JOIN_TYPE_LEFT } - case 586: + case 590: yyDollar = yyS[yypt-3 : yypt+1] -//line mysql_sql.y:3715 +//line mysql_sql.y:3749 { yyVAL.str = tree.JOIN_TYPE_LEFT } - case 587: + case 591: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:3719 +//line mysql_sql.y:3753 { yyVAL.str = tree.JOIN_TYPE_RIGHT } - case 588: + case 592: yyDollar = yyS[yypt-3 : yypt+1] -//line mysql_sql.y:3723 +//line mysql_sql.y:3757 { yyVAL.str = tree.JOIN_TYPE_RIGHT } - case 589: + case 593: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3729 +//line mysql_sql.y:3763 { yyLOCAL = &tree.ValuesStatement{ Rows: yyDollar[2].rowsExprsUnion(), @@ -10923,130 +11255,130 @@ yydefault: } } yyVAL.union = yyLOCAL - case 590: + case 594: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.Exprs -//line mysql_sql.y:3739 +//line mysql_sql.y:3773 { yyLOCAL = []tree.Exprs{yyDollar[1].exprsUnion()} } yyVAL.union = yyLOCAL - case 591: + case 595: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []tree.Exprs -//line mysql_sql.y:3743 +//line mysql_sql.y:3777 { yyLOCAL = append(yyDollar[1].rowsExprsUnion(), yyDollar[3].exprsUnion()) } yyVAL.union = yyLOCAL - case 592: + case 596: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:3749 +//line mysql_sql.y:3783 { yyLOCAL = yyDollar[3].exprsUnion() } yyVAL.union = yyLOCAL - case 593: + case 597: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.JoinCond -//line mysql_sql.y:3755 +//line mysql_sql.y:3789 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 594: + case 598: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.JoinCond -//line mysql_sql.y:3759 +//line mysql_sql.y:3793 { yyLOCAL = &tree.OnJoinCond{Expr: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 595: + case 599: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:3765 +//line mysql_sql.y:3799 { yyVAL.str = tree.JOIN_TYPE_STRAIGHT } - case 596: + case 600: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:3771 +//line mysql_sql.y:3805 { yyVAL.str = tree.JOIN_TYPE_INNER } - case 597: + case 601: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:3775 +//line mysql_sql.y:3809 { yyVAL.str = tree.JOIN_TYPE_INNER } - case 598: + case 602: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:3779 +//line mysql_sql.y:3813 { yyVAL.str = tree.JOIN_TYPE_CROSS } - case 599: + case 603: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.JoinCond -//line mysql_sql.y:3785 +//line mysql_sql.y:3819 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 600: + case 604: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.JoinCond -//line mysql_sql.y:3789 +//line mysql_sql.y:3823 { yyLOCAL = yyDollar[1].joinCondUnion() } yyVAL.union = yyLOCAL - case 601: + case 605: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.JoinCond -//line mysql_sql.y:3795 +//line mysql_sql.y:3829 { yyLOCAL = &tree.OnJoinCond{Expr: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 602: + case 606: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.JoinCond -//line mysql_sql.y:3799 +//line mysql_sql.y:3833 { yyLOCAL = &tree.UsingJoinCond{Cols: yyDollar[3].identifierListUnion()} } yyVAL.union = yyLOCAL - case 603: + case 607: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:3805 +//line mysql_sql.y:3839 { yyLOCAL = tree.IdentifierList{tree.Identifier(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 604: + case 608: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:3809 +//line mysql_sql.y:3843 { yyLOCAL = append(yyDollar[1].identifierListUnion(), tree.Identifier(yyDollar[3].str)) } yyVAL.union = yyLOCAL - case 605: + case 609: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableExpr -//line mysql_sql.y:3815 +//line mysql_sql.y:3849 { yyLOCAL = yyDollar[1].aliasedTableExprUnion() } yyVAL.union = yyLOCAL - case 606: + case 610: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableExpr -//line mysql_sql.y:3819 +//line mysql_sql.y:3853 { yyLOCAL = &tree.AliasedTableExpr{ Expr: yyDollar[1].parenTableExprUnion(), @@ -11057,10 +11389,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 607: + case 611: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.TableExpr -//line mysql_sql.y:3829 +//line mysql_sql.y:3863 { if yyDollar[2].str != "" { yyLOCAL = &tree.AliasedTableExpr{ @@ -11074,26 +11406,26 @@ yydefault: } } yyVAL.union = yyLOCAL - case 608: + case 612: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableExpr -//line mysql_sql.y:3842 +//line mysql_sql.y:3876 { yyLOCAL = yyDollar[2].joinTableExprUnion() } yyVAL.union = yyLOCAL - case 609: + case 613: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.ParenTableExpr -//line mysql_sql.y:3848 +//line mysql_sql.y:3882 { yyLOCAL = &tree.ParenTableExpr{Expr: yyDollar[1].selectStatementUnion().(*tree.ParenSelect).Select} } yyVAL.union = yyLOCAL - case 610: + case 614: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.TableExpr -//line mysql_sql.y:3854 +//line mysql_sql.y:3888 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.TableFunction{ @@ -11105,10 +11437,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 611: + case 615: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.AliasedTableExpr -//line mysql_sql.y:3867 +//line mysql_sql.y:3901 { yyLOCAL = &tree.AliasedTableExpr{ Expr: yyDollar[1].tableNameUnion(), @@ -11119,34 +11451,34 @@ yydefault: } } yyVAL.union = yyLOCAL - case 612: + case 616: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*tree.IndexHint -//line mysql_sql.y:3878 +//line mysql_sql.y:3912 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 614: + case 618: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.IndexHint -//line mysql_sql.y:3885 +//line mysql_sql.y:3919 { yyLOCAL = []*tree.IndexHint{yyDollar[1].indexHintUnion()} } yyVAL.union = yyLOCAL - case 615: + case 619: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []*tree.IndexHint -//line mysql_sql.y:3889 +//line mysql_sql.y:3923 { yyLOCAL = append(yyDollar[1].indexHintListUnion(), yyDollar[2].indexHintUnion()) } yyVAL.union = yyLOCAL - case 616: + case 620: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.IndexHint -//line mysql_sql.y:3895 +//line mysql_sql.y:3929 { yyLOCAL = &tree.IndexHint{ IndexNames: yyDollar[4].strsUnion(), @@ -11155,154 +11487,270 @@ yydefault: } } yyVAL.union = yyLOCAL - case 617: + case 621: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.IndexHintType -//line mysql_sql.y:3905 +//line mysql_sql.y:3939 { yyLOCAL = tree.HintUse } yyVAL.union = yyLOCAL - case 618: + case 622: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.IndexHintType -//line mysql_sql.y:3909 +//line mysql_sql.y:3943 { yyLOCAL = tree.HintIgnore } yyVAL.union = yyLOCAL - case 619: + case 623: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.IndexHintType -//line mysql_sql.y:3913 +//line mysql_sql.y:3947 { yyLOCAL = tree.HintForce } yyVAL.union = yyLOCAL - case 620: + case 624: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.IndexHintScope -//line mysql_sql.y:3918 +//line mysql_sql.y:3952 { yyLOCAL = tree.HintForScan } yyVAL.union = yyLOCAL - case 621: + case 625: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.IndexHintScope -//line mysql_sql.y:3922 +//line mysql_sql.y:3956 { yyLOCAL = tree.HintForJoin } yyVAL.union = yyLOCAL - case 622: + case 626: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.IndexHintScope -//line mysql_sql.y:3926 +//line mysql_sql.y:3960 { yyLOCAL = tree.HintForOrderBy } yyVAL.union = yyLOCAL - case 623: + case 627: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.IndexHintScope -//line mysql_sql.y:3930 +//line mysql_sql.y:3964 { yyLOCAL = tree.HintForGroupBy } yyVAL.union = yyLOCAL - case 624: + case 628: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:3935 +//line mysql_sql.y:3969 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 625: + case 629: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:3939 +//line mysql_sql.y:3973 { yyLOCAL = []string{yyDollar[1].str} } yyVAL.union = yyLOCAL - case 626: + case 630: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:3943 +//line mysql_sql.y:3977 { yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].str) } yyVAL.union = yyLOCAL - case 627: + case 631: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:3947 +//line mysql_sql.y:3981 { yyLOCAL = []string{yyDollar[1].str} } yyVAL.union = yyLOCAL - case 628: + case 632: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:3951 +//line mysql_sql.y:3985 { yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].str) } yyVAL.union = yyLOCAL - case 629: + case 633: + yyDollar = yyS[yypt-0 : yypt+1] +//line mysql_sql.y:3990 + { + yyVAL.str = "" + } + case 634: + yyDollar = yyS[yypt-1 : yypt+1] +//line mysql_sql.y:3994 + { + yyVAL.str = yyDollar[1].str + } + case 635: + yyDollar = yyS[yypt-2 : yypt+1] +//line mysql_sql.y:3998 + { + yyVAL.str = yyDollar[2].str + } + case 638: + yyDollar = yyS[yypt-0 : yypt+1] +//line mysql_sql.y:4007 + { + yyVAL.str = "" + } + case 639: + yyDollar = yyS[yypt-1 : yypt+1] +//line mysql_sql.y:4011 + { + yyVAL.str = yyDollar[1].str + } + case 640: + yyDollar = yyS[yypt-2 : yypt+1] +//line mysql_sql.y:4015 + { + yyVAL.str = yyDollar[2].str + } + case 641: + yyDollar = yyS[yypt-1 : yypt+1] +//line mysql_sql.y:4019 + { + yyVAL.str = yyDollar[1].str + } + case 642: + yyDollar = yyS[yypt-2 : yypt+1] +//line mysql_sql.y:4023 + { + yyVAL.str = yyDollar[2].str + } + case 661: + yyDollar = yyS[yypt-7 : yypt+1] + var yyLOCAL tree.Statement +//line mysql_sql.y:4059 + { + yyLOCAL = &tree.CreateExtension{ + Language: yyDollar[3].str, + Name: tree.Identifier(yyDollar[5].str), + Filename: tree.Identifier(yyDollar[7].str), + } + } + yyVAL.union = yyLOCAL + case 662: + yyDollar = yyS[yypt-1 : yypt+1] +//line mysql_sql.y:4069 + { + yyVAL.str = yyDollar[1].str + } + case 663: + yyDollar = yyS[yypt-1 : yypt+1] +//line mysql_sql.y:4075 + { + yyVAL.str = yyDollar[1].str + } + case 664: + yyDollar = yyS[yypt-12 : yypt+1] + var yyLOCAL tree.Statement +//line mysql_sql.y:4082 + { + yyLOCAL = &tree.CreateFunction{ + Name: yyDollar[3].functionNameUnion(), + Args: yyDollar[5].funcArgsUnion(), + ReturnType: yyDollar[8].funcReturnUnion(), + Language: yyDollar[10].str, + Body: yyDollar[12].str, + } + } + yyVAL.union = yyLOCAL + case 665: + yyDollar = yyS[yypt-1 : yypt+1] + var yyLOCAL *tree.FunctionName +//line mysql_sql.y:4094 + { + yyLOCAL = tree.NewFuncName(tree.Identifier(yyDollar[1].str)) + } + yyVAL.union = yyLOCAL + case 666: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:3956 + var yyLOCAL tree.FunctionArgs +//line mysql_sql.y:4099 { - yyVAL.str = "" + yyLOCAL = tree.FunctionArgs(nil) } - case 630: + yyVAL.union = yyLOCAL + case 668: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:3960 + var yyLOCAL tree.FunctionArgs +//line mysql_sql.y:4106 { - yyVAL.str = yyDollar[1].str + yyLOCAL = tree.FunctionArgs{yyDollar[1].funcArgUnion()} } - case 631: - yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:3964 + yyVAL.union = yyLOCAL + case 669: + yyDollar = yyS[yypt-3 : yypt+1] + var yyLOCAL tree.FunctionArgs +//line mysql_sql.y:4110 { - yyVAL.str = yyDollar[2].str + yyLOCAL = append(yyDollar[1].funcArgsUnion(), yyDollar[3].funcArgUnion()) } - case 634: - yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:3973 + yyVAL.union = yyLOCAL + case 670: + yyDollar = yyS[yypt-1 : yypt+1] + var yyLOCAL tree.FunctionArg +//line mysql_sql.y:4116 { - yyVAL.str = "" + yyLOCAL = tree.FunctionArg(yyDollar[1].funcArgDeclUnion()) } - case 635: + yyVAL.union = yyLOCAL + case 671: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:3977 + var yyLOCAL *tree.FunctionArgDecl +//line mysql_sql.y:4122 { - yyVAL.str = yyDollar[1].str + yyLOCAL = tree.NewFunctionArgDecl(nil, yyDollar[1].columnTypeUnion(), nil) } - case 636: + yyVAL.union = yyLOCAL + case 672: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:3981 + var yyLOCAL *tree.FunctionArgDecl +//line mysql_sql.y:4126 { - yyVAL.str = yyDollar[2].str + yyLOCAL = tree.NewFunctionArgDecl(yyDollar[1].unresolvedNameUnion(), yyDollar[2].columnTypeUnion(), nil) + } + yyVAL.union = yyLOCAL + case 673: + yyDollar = yyS[yypt-4 : yypt+1] + var yyLOCAL *tree.FunctionArgDecl +//line mysql_sql.y:4130 + { + yyLOCAL = tree.NewFunctionArgDecl(yyDollar[1].unresolvedNameUnion(), yyDollar[2].columnTypeUnion(), yyDollar[4].exprUnion()) } - case 637: + yyVAL.union = yyLOCAL + case 674: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:3985 +//line mysql_sql.y:4136 { yyVAL.str = yyDollar[1].str } - case 638: - yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:3989 + case 675: + yyDollar = yyS[yypt-1 : yypt+1] + var yyLOCAL *tree.ReturnType +//line mysql_sql.y:4142 { - yyVAL.str = yyDollar[2].str + yyLOCAL = tree.NewReturnType(yyDollar[1].columnTypeUnion()) } - case 655: + yyVAL.union = yyLOCAL + case 676: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4023 +//line mysql_sql.y:4148 { yyLOCAL = &tree.CreateView{ Name: yyDollar[5].tableNameUnion(), @@ -11313,10 +11761,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 656: + case 677: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4033 +//line mysql_sql.y:4158 { yyLOCAL = &tree.CreateView{ Name: yyDollar[8].tableNameUnion(), @@ -11327,15 +11775,15 @@ yydefault: } } yyVAL.union = yyLOCAL - case 657: + case 678: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:4044 +//line mysql_sql.y:4169 { } - case 659: + case 680: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4049 +//line mysql_sql.y:4174 { yyLOCAL = &tree.CreateAccount{ IfNotExists: yyDollar[3].ifNotExistsUnion(), @@ -11346,16 +11794,16 @@ yydefault: } } yyVAL.union = yyLOCAL - case 660: + case 681: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:4061 +//line mysql_sql.y:4186 { yyVAL.str = yyDollar[1].str } - case 661: + case 682: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.AccountAuthOption -//line mysql_sql.y:4067 +//line mysql_sql.y:4192 { yyLOCAL = tree.AccountAuthOption{ Equal: yyDollar[2].str, @@ -11364,22 +11812,22 @@ yydefault: } } yyVAL.union = yyLOCAL - case 662: + case 683: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:4077 +//line mysql_sql.y:4202 { yyVAL.str = yyDollar[1].str } - case 663: + case 684: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:4081 +//line mysql_sql.y:4206 { yyVAL.str = yyDollar[1].str } - case 664: + case 685: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.AccountIdentified -//line mysql_sql.y:4087 +//line mysql_sql.y:4212 { yyLOCAL = tree.AccountIdentified{ Typ: tree.AccountIdentifiedByPassword, @@ -11387,20 +11835,20 @@ yydefault: } } yyVAL.union = yyLOCAL - case 665: + case 686: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.AccountIdentified -//line mysql_sql.y:4094 +//line mysql_sql.y:4219 { yyLOCAL = tree.AccountIdentified{ Typ: tree.AccountIdentifiedByRandomPassword, } } yyVAL.union = yyLOCAL - case 666: + case 687: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.AccountIdentified -//line mysql_sql.y:4100 +//line mysql_sql.y:4225 { yyLOCAL = tree.AccountIdentified{ Typ: tree.AccountIdentifiedWithSSL, @@ -11408,20 +11856,20 @@ yydefault: } } yyVAL.union = yyLOCAL - case 667: + case 688: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.AccountStatus -//line mysql_sql.y:4108 +//line mysql_sql.y:4233 { yyLOCAL = tree.AccountStatus{ Exist: false, } } yyVAL.union = yyLOCAL - case 668: + case 689: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.AccountStatus -//line mysql_sql.y:4114 +//line mysql_sql.y:4239 { yyLOCAL = tree.AccountStatus{ Exist: true, @@ -11429,10 +11877,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 669: + case 690: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.AccountStatus -//line mysql_sql.y:4121 +//line mysql_sql.y:4246 { yyLOCAL = tree.AccountStatus{ Exist: true, @@ -11440,20 +11888,20 @@ yydefault: } } yyVAL.union = yyLOCAL - case 670: + case 691: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.AccountComment -//line mysql_sql.y:4129 +//line mysql_sql.y:4254 { yyLOCAL = tree.AccountComment{ Exist: false, } } yyVAL.union = yyLOCAL - case 671: + case 692: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.AccountComment -//line mysql_sql.y:4135 +//line mysql_sql.y:4260 { yyLOCAL = tree.AccountComment{ Exist: true, @@ -11461,10 +11909,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 672: + case 693: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4144 +//line mysql_sql.y:4269 { yyLOCAL = &tree.CreateUser{ IfNotExists: yyDollar[3].ifNotExistsUnion(), @@ -11475,26 +11923,26 @@ yydefault: } } yyVAL.union = yyLOCAL - case 673: + case 694: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:4156 +//line mysql_sql.y:4281 { yyVAL.str = yyDollar[1].str } - case 674: + case 695: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.AccountCommentOrAttribute -//line mysql_sql.y:4161 +//line mysql_sql.y:4286 { yyLOCAL = tree.AccountCommentOrAttribute{ Exist: false, } } yyVAL.union = yyLOCAL - case 675: + case 696: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.AccountCommentOrAttribute -//line mysql_sql.y:4167 +//line mysql_sql.y:4292 { yyLOCAL = tree.AccountCommentOrAttribute{ Exist: true, @@ -11503,10 +11951,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 676: + case 697: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.AccountCommentOrAttribute -//line mysql_sql.y:4175 +//line mysql_sql.y:4300 { yyLOCAL = tree.AccountCommentOrAttribute{ Exist: true, @@ -11515,26 +11963,26 @@ yydefault: } } yyVAL.union = yyLOCAL - case 677: + case 698: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.User -//line mysql_sql.y:4281 +//line mysql_sql.y:4406 { yyLOCAL = []*tree.User{yyDollar[1].userUnion()} } yyVAL.union = yyLOCAL - case 678: + case 699: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.User -//line mysql_sql.y:4285 +//line mysql_sql.y:4410 { yyLOCAL = append(yyDollar[1].usersUnion(), yyDollar[3].userUnion()) } yyVAL.union = yyLOCAL - case 679: + case 700: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.User -//line mysql_sql.y:4291 +//line mysql_sql.y:4416 { yyLOCAL = &tree.User{ Username: yyDollar[1].usernameRecordUnion().Username, @@ -11543,26 +11991,26 @@ yydefault: } } yyVAL.union = yyLOCAL - case 680: + case 701: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.User -//line mysql_sql.y:4301 +//line mysql_sql.y:4426 { yyLOCAL = []*tree.User{yyDollar[1].userUnion()} } yyVAL.union = yyLOCAL - case 681: + case 702: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.User -//line mysql_sql.y:4305 +//line mysql_sql.y:4430 { yyLOCAL = append(yyDollar[1].usersUnion(), yyDollar[3].userUnion()) } yyVAL.union = yyLOCAL - case 682: + case 703: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.User -//line mysql_sql.y:4311 +//line mysql_sql.y:4436 { yyLOCAL = &tree.User{ Username: yyDollar[1].usernameRecordUnion().Username, @@ -11571,50 +12019,50 @@ yydefault: } } yyVAL.union = yyLOCAL - case 683: + case 704: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.UsernameRecord -//line mysql_sql.y:4321 +//line mysql_sql.y:4446 { yyLOCAL = &tree.UsernameRecord{Username: yyDollar[1].str, Hostname: "%"} } yyVAL.union = yyLOCAL - case 684: + case 705: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.UsernameRecord -//line mysql_sql.y:4325 +//line mysql_sql.y:4450 { yyLOCAL = &tree.UsernameRecord{Username: yyDollar[1].str, Hostname: yyDollar[3].str} } yyVAL.union = yyLOCAL - case 685: + case 706: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.UsernameRecord -//line mysql_sql.y:4329 +//line mysql_sql.y:4454 { yyLOCAL = &tree.UsernameRecord{Username: yyDollar[1].str, Hostname: yyDollar[2].str} } yyVAL.union = yyLOCAL - case 686: + case 707: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.AccountIdentified -//line mysql_sql.y:4334 +//line mysql_sql.y:4459 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 687: + case 708: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.AccountIdentified -//line mysql_sql.y:4338 +//line mysql_sql.y:4463 { yyLOCAL = yyDollar[1].userIdentifiedUnion() } yyVAL.union = yyLOCAL - case 688: + case 709: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.AccountIdentified -//line mysql_sql.y:4344 +//line mysql_sql.y:4469 { yyLOCAL = &tree.AccountIdentified{ Typ: tree.AccountIdentifiedByPassword, @@ -11622,20 +12070,20 @@ yydefault: } } yyVAL.union = yyLOCAL - case 689: + case 710: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.AccountIdentified -//line mysql_sql.y:4351 +//line mysql_sql.y:4476 { yyLOCAL = &tree.AccountIdentified{ Typ: tree.AccountIdentifiedByRandomPassword, } } yyVAL.union = yyLOCAL - case 690: + case 711: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.AccountIdentified -//line mysql_sql.y:4357 +//line mysql_sql.y:4482 { yyLOCAL = &tree.AccountIdentified{ Typ: tree.AccountIdentifiedWithSSL, @@ -11643,10 +12091,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 693: + case 714: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4370 +//line mysql_sql.y:4495 { yyLOCAL = &tree.CreateRole{ IfNotExists: yyDollar[3].ifNotExistsUnion(), @@ -11654,66 +12102,66 @@ yydefault: } } yyVAL.union = yyLOCAL - case 694: + case 715: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.Role -//line mysql_sql.y:4379 +//line mysql_sql.y:4504 { yyLOCAL = []*tree.Role{yyDollar[1].roleUnion()} } yyVAL.union = yyLOCAL - case 695: + case 716: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.Role -//line mysql_sql.y:4383 +//line mysql_sql.y:4508 { yyLOCAL = append(yyDollar[1].rolesUnion(), yyDollar[3].roleUnion()) } yyVAL.union = yyLOCAL - case 696: + case 717: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.Role -//line mysql_sql.y:4389 +//line mysql_sql.y:4514 { yyLOCAL = &tree.Role{UserName: yyDollar[1].str} } yyVAL.union = yyLOCAL - case 699: + case 720: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.IndexCategory -//line mysql_sql.y:4406 +//line mysql_sql.y:4531 { yyLOCAL = tree.INDEX_CATEGORY_NONE } yyVAL.union = yyLOCAL - case 700: + case 721: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.IndexCategory -//line mysql_sql.y:4410 +//line mysql_sql.y:4535 { yyLOCAL = tree.INDEX_CATEGORY_FULLTEXT } yyVAL.union = yyLOCAL - case 701: + case 722: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.IndexCategory -//line mysql_sql.y:4414 +//line mysql_sql.y:4539 { yyLOCAL = tree.INDEX_CATEGORY_SPATIAL } yyVAL.union = yyLOCAL - case 702: + case 723: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.IndexCategory -//line mysql_sql.y:4418 +//line mysql_sql.y:4543 { yyLOCAL = tree.INDEX_CATEGORY_UNIQUE } yyVAL.union = yyLOCAL - case 703: + case 724: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4424 +//line mysql_sql.y:4549 { var io *tree.IndexOption = nil if yyDollar[11].indexOptionUnion() == nil && yyDollar[5].indexTypeUnion() != tree.INDEX_TYPE_INVALID { @@ -11732,18 +12180,18 @@ yydefault: } } yyVAL.union = yyLOCAL - case 704: + case 725: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.IndexOption -//line mysql_sql.y:4443 +//line mysql_sql.y:4568 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 705: + case 726: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.IndexOption -//line mysql_sql.y:4447 +//line mysql_sql.y:4572 { // Merge the options if yyDollar[1].indexOptionUnion() == nil { @@ -11764,123 +12212,123 @@ yydefault: } } yyVAL.union = yyLOCAL - case 706: + case 727: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.IndexOption -//line mysql_sql.y:4469 +//line mysql_sql.y:4594 { yyLOCAL = &tree.IndexOption{KeyBlockSize: uint64(yyDollar[3].item.(int64))} } yyVAL.union = yyLOCAL - case 707: + case 728: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.IndexOption -//line mysql_sql.y:4473 +//line mysql_sql.y:4598 { yyLOCAL = &tree.IndexOption{Comment: yyDollar[2].str} } yyVAL.union = yyLOCAL - case 708: + case 729: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.IndexOption -//line mysql_sql.y:4477 +//line mysql_sql.y:4602 { yyLOCAL = &tree.IndexOption{ParserName: yyDollar[3].str} } yyVAL.union = yyLOCAL - case 709: + case 730: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.IndexOption -//line mysql_sql.y:4481 +//line mysql_sql.y:4606 { yyLOCAL = &tree.IndexOption{Visible: tree.VISIBLE_TYPE_VISIBLE} } yyVAL.union = yyLOCAL - case 710: + case 731: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.IndexOption -//line mysql_sql.y:4485 +//line mysql_sql.y:4610 { yyLOCAL = &tree.IndexOption{Visible: tree.VISIBLE_TYPE_INVISIBLE} } yyVAL.union = yyLOCAL - case 711: + case 732: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.KeyPart -//line mysql_sql.y:4491 +//line mysql_sql.y:4616 { yyLOCAL = []*tree.KeyPart{yyDollar[1].keyPartUnion()} } yyVAL.union = yyLOCAL - case 712: + case 733: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.KeyPart -//line mysql_sql.y:4495 +//line mysql_sql.y:4620 { yyLOCAL = append(yyDollar[1].keyPartsUnion(), yyDollar[3].keyPartUnion()) } yyVAL.union = yyLOCAL - case 713: + case 734: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.KeyPart -//line mysql_sql.y:4501 +//line mysql_sql.y:4626 { // Order is parsed but just ignored as MySQL did. yyLOCAL = &tree.KeyPart{ColName: yyDollar[1].unresolvedNameUnion(), Length: int(yyDollar[2].lengthOptUnion()), Direction: yyDollar[3].directionUnion()} } yyVAL.union = yyLOCAL - case 714: + case 735: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.KeyPart -//line mysql_sql.y:4506 +//line mysql_sql.y:4631 { yyLOCAL = &tree.KeyPart{Expr: yyDollar[2].exprUnion(), Direction: yyDollar[4].directionUnion()} } yyVAL.union = yyLOCAL - case 715: + case 736: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.IndexType -//line mysql_sql.y:4511 +//line mysql_sql.y:4636 { yyLOCAL = tree.INDEX_TYPE_INVALID } yyVAL.union = yyLOCAL - case 716: + case 737: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.IndexType -//line mysql_sql.y:4515 +//line mysql_sql.y:4640 { yyLOCAL = tree.INDEX_TYPE_BTREE } yyVAL.union = yyLOCAL - case 717: + case 738: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.IndexType -//line mysql_sql.y:4519 +//line mysql_sql.y:4644 { yyLOCAL = tree.INDEX_TYPE_HASH } yyVAL.union = yyLOCAL - case 718: + case 739: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.IndexType -//line mysql_sql.y:4523 +//line mysql_sql.y:4648 { yyLOCAL = tree.INDEX_TYPE_RTREE } yyVAL.union = yyLOCAL - case 719: + case 740: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.IndexType -//line mysql_sql.y:4527 +//line mysql_sql.y:4652 { yyLOCAL = tree.INDEX_TYPE_BSI } yyVAL.union = yyLOCAL - case 720: + case 741: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4533 +//line mysql_sql.y:4658 { yyLOCAL = &tree.CreateDatabase{ IfNotExists: yyDollar[3].ifNotExistsUnion(), @@ -11889,98 +12337,98 @@ yydefault: } } yyVAL.union = yyLOCAL - case 723: + case 744: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:4547 +//line mysql_sql.y:4672 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 724: + case 745: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:4551 +//line mysql_sql.y:4676 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 725: + case 746: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []tree.CreateOption -//line mysql_sql.y:4556 +//line mysql_sql.y:4681 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 726: + case 747: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.CreateOption -//line mysql_sql.y:4560 +//line mysql_sql.y:4685 { yyLOCAL = yyDollar[1].createOptionsUnion() } yyVAL.union = yyLOCAL - case 727: + case 748: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.CreateOption -//line mysql_sql.y:4566 +//line mysql_sql.y:4691 { yyLOCAL = []tree.CreateOption{yyDollar[1].createOptionUnion()} } yyVAL.union = yyLOCAL - case 728: + case 749: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []tree.CreateOption -//line mysql_sql.y:4570 +//line mysql_sql.y:4695 { yyLOCAL = append(yyDollar[1].createOptionsUnion(), yyDollar[2].createOptionUnion()) } yyVAL.union = yyLOCAL - case 729: + case 750: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.CreateOption -//line mysql_sql.y:4576 +//line mysql_sql.y:4701 { yyLOCAL = &tree.CreateOptionCharset{IsDefault: yyDollar[1].defaultOptionalUnion(), Charset: yyDollar[4].str} } yyVAL.union = yyLOCAL - case 730: + case 751: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.CreateOption -//line mysql_sql.y:4580 +//line mysql_sql.y:4705 { yyLOCAL = &tree.CreateOptionCollate{IsDefault: yyDollar[1].defaultOptionalUnion(), Collate: yyDollar[4].str} } yyVAL.union = yyLOCAL - case 731: + case 752: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.CreateOption -//line mysql_sql.y:4584 +//line mysql_sql.y:4709 { yyLOCAL = &tree.CreateOptionEncryption{Encrypt: yyDollar[4].str} } yyVAL.union = yyLOCAL - case 732: + case 753: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:4589 +//line mysql_sql.y:4714 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 733: + case 754: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:4593 +//line mysql_sql.y:4718 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 734: + case 755: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4599 +//line mysql_sql.y:4724 { yyLOCAL = &tree.CreateTable{ Temporary: yyDollar[2].boolValUnion(), @@ -11993,10 +12441,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 735: + case 756: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4611 +//line mysql_sql.y:4736 { yyLOCAL = &tree.CreateTable{ IfNotExists: yyDollar[4].ifNotExistsUnion(), @@ -12006,10 +12454,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 736: + case 757: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4620 +//line mysql_sql.y:4745 { yyLOCAL = &tree.CreateTable{ IsClusterTable: true, @@ -12022,19 +12470,19 @@ yydefault: } } yyVAL.union = yyLOCAL - case 737: + case 758: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.ExternParam -//line mysql_sql.y:4633 +//line mysql_sql.y:4758 { yyLOCAL = yyDollar[1].loadParamUnion() yyLOCAL.Tail = yyDollar[2].tailParamUnion() } yyVAL.union = yyLOCAL - case 738: + case 759: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.ExternParam -//line mysql_sql.y:4640 +//line mysql_sql.y:4765 { yyLOCAL = &tree.ExternParam{ Filepath: yyDollar[2].str, @@ -12043,20 +12491,20 @@ yydefault: } } yyVAL.union = yyLOCAL - case 739: + case 760: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.ExternParam -//line mysql_sql.y:4648 +//line mysql_sql.y:4773 { yyLOCAL = &tree.ExternParam{ Option: yyDollar[3].strsUnion(), } } yyVAL.union = yyLOCAL - case 740: + case 761: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.ExternParam -//line mysql_sql.y:4654 +//line mysql_sql.y:4779 { yyLOCAL = &tree.ExternParam{ ScanType: tree.S3, @@ -12064,43 +12512,43 @@ yydefault: } } yyVAL.union = yyLOCAL - case 741: + case 762: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:4663 +//line mysql_sql.y:4788 { yyLOCAL = yyDollar[1].strsUnion() } yyVAL.union = yyLOCAL - case 742: + case 763: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:4667 +//line mysql_sql.y:4792 { yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].strsUnion()...) } yyVAL.union = yyLOCAL - case 743: + case 764: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:4672 +//line mysql_sql.y:4797 { yyLOCAL = []string{} } yyVAL.union = yyLOCAL - case 744: + case 765: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:4676 +//line mysql_sql.y:4801 { yyLOCAL = append(yyLOCAL, yyDollar[1].str) yyLOCAL = append(yyLOCAL, yyDollar[3].str) } yyVAL.union = yyLOCAL - case 745: + case 766: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.TailParameter -//line mysql_sql.y:4683 +//line mysql_sql.y:4808 { yyLOCAL = &tree.TailParameter{ Fields: yyDollar[1].fieldsUnion(), @@ -12111,34 +12559,34 @@ yydefault: } } yyVAL.union = yyLOCAL - case 746: + case 767: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:4694 +//line mysql_sql.y:4819 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 747: + case 768: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:4698 +//line mysql_sql.y:4823 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 748: + case 769: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.PartitionOption -//line mysql_sql.y:4703 +//line mysql_sql.y:4828 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 749: + case 770: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.PartitionOption -//line mysql_sql.y:4707 +//line mysql_sql.y:4832 { yyDollar[3].partitionByUnion().Num = uint64(yyDollar[4].int64ValUnion()) yyLOCAL = &tree.PartitionOption{ @@ -12148,18 +12596,18 @@ yydefault: } } yyVAL.union = yyLOCAL - case 750: + case 771: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.ClusterByOption -//line mysql_sql.y:4717 +//line mysql_sql.y:4842 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 751: + case 772: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.ClusterByOption -//line mysql_sql.y:4721 +//line mysql_sql.y:4846 { yyLOCAL = &tree.ClusterByOption{ ColumnList: []*tree.UnresolvedName{yyDollar[3].unresolvedNameUnion()}, @@ -12167,28 +12615,28 @@ yydefault: } yyVAL.union = yyLOCAL - case 752: + case 773: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.ClusterByOption -//line mysql_sql.y:4728 +//line mysql_sql.y:4853 { yyLOCAL = &tree.ClusterByOption{ ColumnList: yyDollar[4].unresolveNamesUnion(), } } yyVAL.union = yyLOCAL - case 753: + case 774: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:4735 +//line mysql_sql.y:4860 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 754: + case 775: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:4739 +//line mysql_sql.y:4864 { yyLOCAL = &tree.PartitionBy{ IsSubPartition: true, @@ -12197,42 +12645,42 @@ yydefault: } } yyVAL.union = yyLOCAL - case 755: + case 776: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*tree.Partition -//line mysql_sql.y:4748 +//line mysql_sql.y:4873 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 756: + case 777: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.Partition -//line mysql_sql.y:4752 +//line mysql_sql.y:4877 { yyLOCAL = yyDollar[2].partitionsUnion() } yyVAL.union = yyLOCAL - case 757: + case 778: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.Partition -//line mysql_sql.y:4758 +//line mysql_sql.y:4883 { yyLOCAL = []*tree.Partition{yyDollar[1].partitionUnion()} } yyVAL.union = yyLOCAL - case 758: + case 779: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.Partition -//line mysql_sql.y:4762 +//line mysql_sql.y:4887 { yyLOCAL = append(yyDollar[1].partitionsUnion(), yyDollar[3].partitionUnion()) } yyVAL.union = yyLOCAL - case 759: + case 780: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.Partition -//line mysql_sql.y:4768 +//line mysql_sql.y:4893 { yyLOCAL = &tree.Partition{ Name: tree.Identifier(yyDollar[2].str), @@ -12242,10 +12690,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 760: + case 781: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.Partition -//line mysql_sql.y:4777 +//line mysql_sql.y:4902 { yyLOCAL = &tree.Partition{ Name: tree.Identifier(yyDollar[2].str), @@ -12255,42 +12703,42 @@ yydefault: } } yyVAL.union = yyLOCAL - case 761: + case 782: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*tree.SubPartition -//line mysql_sql.y:4787 +//line mysql_sql.y:4912 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 762: + case 783: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.SubPartition -//line mysql_sql.y:4791 +//line mysql_sql.y:4916 { yyLOCAL = yyDollar[2].subPartitionsUnion() } yyVAL.union = yyLOCAL - case 763: + case 784: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.SubPartition -//line mysql_sql.y:4797 +//line mysql_sql.y:4922 { yyLOCAL = []*tree.SubPartition{yyDollar[1].subPartitionUnion()} } yyVAL.union = yyLOCAL - case 764: + case 785: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.SubPartition -//line mysql_sql.y:4801 +//line mysql_sql.y:4926 { yyLOCAL = append(yyDollar[1].subPartitionsUnion(), yyDollar[3].subPartitionUnion()) } yyVAL.union = yyLOCAL - case 765: + case 786: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.SubPartition -//line mysql_sql.y:4807 +//line mysql_sql.y:4932 { yyLOCAL = &tree.SubPartition{ Name: tree.Identifier(yyDollar[2].str), @@ -12298,10 +12746,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 766: + case 787: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.SubPartition -//line mysql_sql.y:4814 +//line mysql_sql.y:4939 { yyLOCAL = &tree.SubPartition{ Name: tree.Identifier(yyDollar[2].str), @@ -12309,67 +12757,67 @@ yydefault: } } yyVAL.union = yyLOCAL - case 767: + case 788: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:4823 +//line mysql_sql.y:4948 { yyLOCAL = []tree.TableOption{yyDollar[1].tableOptionUnion()} } yyVAL.union = yyLOCAL - case 768: + case 789: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:4827 +//line mysql_sql.y:4952 { yyLOCAL = append(yyDollar[1].tableOptionsUnion(), yyDollar[2].tableOptionUnion()) } yyVAL.union = yyLOCAL - case 769: + case 790: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Values -//line mysql_sql.y:4832 +//line mysql_sql.y:4957 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 770: + case 791: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Values -//line mysql_sql.y:4836 +//line mysql_sql.y:4961 { expr := tree.NewMaxValue() yyLOCAL = &tree.ValuesLessThan{ValueList: tree.Exprs{expr}} } yyVAL.union = yyLOCAL - case 771: + case 792: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Values -//line mysql_sql.y:4841 +//line mysql_sql.y:4966 { yyLOCAL = &tree.ValuesLessThan{ValueList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 772: + case 793: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Values -//line mysql_sql.y:4845 +//line mysql_sql.y:4970 { yyLOCAL = &tree.ValuesIn{ValueList: yyDollar[4].exprsUnion()} } yyVAL.union = yyLOCAL - case 773: + case 794: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:4850 +//line mysql_sql.y:4975 { yyLOCAL = 0 } yyVAL.union = yyLOCAL - case 774: + case 795: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:4854 +//line mysql_sql.y:4979 { res := yyDollar[2].item.(int64) if res == 0 { @@ -12379,18 +12827,18 @@ yydefault: yyLOCAL = res } yyVAL.union = yyLOCAL - case 775: + case 796: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:4864 +//line mysql_sql.y:4989 { yyLOCAL = 0 } yyVAL.union = yyLOCAL - case 776: + case 797: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:4868 +//line mysql_sql.y:4993 { res := yyDollar[2].item.(int64) if res == 0 { @@ -12400,10 +12848,10 @@ yydefault: yyLOCAL = res } yyVAL.union = yyLOCAL - case 777: + case 798: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:4879 +//line mysql_sql.y:5004 { yyLOCAL = &tree.PartitionBy{ PType: &tree.RangeType{ @@ -12412,10 +12860,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 778: + case 799: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:4887 +//line mysql_sql.y:5012 { yyLOCAL = &tree.PartitionBy{ PType: &tree.RangeType{ @@ -12424,10 +12872,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 779: + case 800: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:4895 +//line mysql_sql.y:5020 { yyLOCAL = &tree.PartitionBy{ PType: &tree.ListType{ @@ -12436,10 +12884,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 780: + case 801: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:4903 +//line mysql_sql.y:5028 { yyLOCAL = &tree.PartitionBy{ PType: &tree.ListType{ @@ -12448,10 +12896,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 782: + case 803: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:4914 +//line mysql_sql.y:5039 { yyLOCAL = &tree.PartitionBy{ PType: &tree.KeyType{ @@ -12461,10 +12909,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 783: + case 804: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:4923 +//line mysql_sql.y:5048 { yyLOCAL = &tree.PartitionBy{ PType: &tree.KeyType{ @@ -12475,10 +12923,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 784: + case 805: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:4933 +//line mysql_sql.y:5058 { yyLOCAL = &tree.PartitionBy{ PType: &tree.HashType{ @@ -12488,478 +12936,478 @@ yydefault: } } yyVAL.union = yyLOCAL - case 785: + case 806: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:4943 +//line mysql_sql.y:5068 { yyLOCAL = 2 } yyVAL.union = yyLOCAL - case 786: + case 807: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:4947 +//line mysql_sql.y:5072 { yyLOCAL = yyDollar[3].item.(int64) } yyVAL.union = yyLOCAL - case 787: + case 808: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:4952 +//line mysql_sql.y:5077 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 788: + case 809: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:4956 +//line mysql_sql.y:5081 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 789: + case 810: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:4961 +//line mysql_sql.y:5086 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 790: + case 811: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:4965 +//line mysql_sql.y:5090 { yyLOCAL = yyDollar[1].tableOptionsUnion() } yyVAL.union = yyLOCAL - case 791: + case 812: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:4971 +//line mysql_sql.y:5096 { yyLOCAL = []tree.TableOption{yyDollar[1].tableOptionUnion()} } yyVAL.union = yyLOCAL - case 792: + case 813: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:4975 +//line mysql_sql.y:5100 { yyLOCAL = append(yyDollar[1].tableOptionsUnion(), yyDollar[3].tableOptionUnion()) } yyVAL.union = yyLOCAL - case 793: + case 814: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:4979 +//line mysql_sql.y:5104 { yyLOCAL = append(yyDollar[1].tableOptionsUnion(), yyDollar[2].tableOptionUnion()) } yyVAL.union = yyLOCAL - case 794: + case 815: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4985 +//line mysql_sql.y:5110 { yyLOCAL = tree.NewTableOptionAutoIncrement(uint64(yyDollar[3].item.(int64))) } yyVAL.union = yyLOCAL - case 795: + case 816: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4989 +//line mysql_sql.y:5114 { yyLOCAL = tree.NewTableOptionAvgRowLength(uint64(yyDollar[3].item.(int64))) } yyVAL.union = yyLOCAL - case 796: + case 817: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4993 +//line mysql_sql.y:5118 { yyLOCAL = tree.NewTableOptionCharset(yyDollar[4].str) } yyVAL.union = yyLOCAL - case 797: + case 818: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4997 +//line mysql_sql.y:5122 { yyLOCAL = tree.NewTableOptionCollate(yyDollar[4].str) } yyVAL.union = yyLOCAL - case 798: + case 819: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:5001 +//line mysql_sql.y:5126 { yyLOCAL = tree.NewTableOptionChecksum(uint64(yyDollar[3].item.(int64))) } yyVAL.union = yyLOCAL - case 799: + case 820: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:5005 +//line mysql_sql.y:5130 { yyLOCAL = tree.NewTableOptionComment(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 800: + case 821: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:5009 +//line mysql_sql.y:5134 { yyLOCAL = tree.NewTableOptionCompression(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 801: + case 822: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:5013 +//line mysql_sql.y:5138 { yyLOCAL = tree.NewTableOptionConnection(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 802: + case 823: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:5017 +//line mysql_sql.y:5142 { yyLOCAL = tree.NewTableOptionDataDirectory(yyDollar[4].str) } yyVAL.union = yyLOCAL - case 803: + case 824: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:5021 +//line mysql_sql.y:5146 { yyLOCAL = tree.NewTableOptionIndexDirectory(yyDollar[4].str) } yyVAL.union = yyLOCAL - case 804: + case 825: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:5025 +//line mysql_sql.y:5150 { yyLOCAL = tree.NewTableOptionDelayKeyWrite(uint64(yyDollar[3].item.(int64))) } yyVAL.union = yyLOCAL - case 805: + case 826: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:5029 +//line mysql_sql.y:5154 { yyLOCAL = tree.NewTableOptionEncryption(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 806: + case 827: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:5033 +//line mysql_sql.y:5158 { yyLOCAL = tree.NewTableOptionEngine(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 807: + case 828: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:5037 +//line mysql_sql.y:5162 { yyLOCAL = tree.NewTableOptionKeyBlockSize(uint64(yyDollar[3].item.(int64))) } yyVAL.union = yyLOCAL - case 808: + case 829: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:5041 +//line mysql_sql.y:5166 { yyLOCAL = tree.NewTableOptionMaxRows(uint64(yyDollar[3].item.(int64))) } yyVAL.union = yyLOCAL - case 809: + case 830: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:5045 +//line mysql_sql.y:5170 { yyLOCAL = tree.NewTableOptionMinRows(uint64(yyDollar[3].item.(int64))) } yyVAL.union = yyLOCAL - case 810: + case 831: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:5049 +//line mysql_sql.y:5174 { yyLOCAL = &tree.TableOptionPackKeys{Value: yyDollar[3].item.(int64)} } yyVAL.union = yyLOCAL - case 811: + case 832: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:5053 +//line mysql_sql.y:5178 { yyLOCAL = &tree.TableOptionPackKeys{Default: true} } yyVAL.union = yyLOCAL - case 812: + case 833: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:5057 +//line mysql_sql.y:5182 { yyLOCAL = tree.NewTableOptionPassword(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 813: + case 834: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:5061 +//line mysql_sql.y:5186 { yyLOCAL = tree.NewTableOptionRowFormat(yyDollar[3].rowFormatTypeUnion()) } yyVAL.union = yyLOCAL - case 814: + case 835: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:5065 +//line mysql_sql.y:5190 { yyLOCAL = &tree.TableOptionStatsAutoRecalc{Value: uint64(yyDollar[3].item.(int64))} } yyVAL.union = yyLOCAL - case 815: + case 836: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:5069 +//line mysql_sql.y:5194 { yyLOCAL = &tree.TableOptionStatsAutoRecalc{Default: true} } yyVAL.union = yyLOCAL - case 816: + case 837: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:5073 +//line mysql_sql.y:5198 { yyLOCAL = &tree.TableOptionStatsPersistent{Value: uint64(yyDollar[3].item.(int64))} } yyVAL.union = yyLOCAL - case 817: + case 838: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:5077 +//line mysql_sql.y:5202 { yyLOCAL = &tree.TableOptionStatsPersistent{Default: true} } yyVAL.union = yyLOCAL - case 818: + case 839: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:5081 +//line mysql_sql.y:5206 { yyLOCAL = &tree.TableOptionStatsSamplePages{Value: uint64(yyDollar[3].item.(int64))} } yyVAL.union = yyLOCAL - case 819: + case 840: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:5085 +//line mysql_sql.y:5210 { yyLOCAL = &tree.TableOptionStatsSamplePages{Default: true} } yyVAL.union = yyLOCAL - case 820: + case 841: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:5089 +//line mysql_sql.y:5214 { yyLOCAL = tree.NewTableOptionTablespace(yyDollar[3].str, yyDollar[4].str) } yyVAL.union = yyLOCAL - case 821: + case 842: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:5093 +//line mysql_sql.y:5218 { yyLOCAL = tree.NewTableOptionUnion(yyDollar[4].tableNamesUnion()) } yyVAL.union = yyLOCAL - case 822: + case 843: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:5097 +//line mysql_sql.y:5222 { yyLOCAL = &tree.TableOptionProperties{Preperties: yyDollar[3].propertiesUnion()} } yyVAL.union = yyLOCAL - case 823: + case 844: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.Property -//line mysql_sql.y:5104 +//line mysql_sql.y:5229 { yyLOCAL = []tree.Property{yyDollar[1].propertyUnion()} } yyVAL.union = yyLOCAL - case 824: + case 845: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []tree.Property -//line mysql_sql.y:5108 +//line mysql_sql.y:5233 { yyLOCAL = append(yyDollar[1].propertiesUnion(), yyDollar[3].propertyUnion()) } yyVAL.union = yyLOCAL - case 825: + case 846: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Property -//line mysql_sql.y:5114 +//line mysql_sql.y:5239 { yyLOCAL = tree.Property{Key: yyDollar[1].str, Value: yyDollar[3].str} } yyVAL.union = yyLOCAL - case 826: + case 847: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:5119 +//line mysql_sql.y:5244 { yyVAL.str = "" } - case 827: + case 848: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:5123 +//line mysql_sql.y:5248 { yyVAL.str = " " + yyDollar[1].str + " " + yyDollar[2].str } - case 828: + case 849: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:5127 +//line mysql_sql.y:5252 { yyVAL.str = " " + yyDollar[1].str + " " + yyDollar[2].str } - case 829: + case 850: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.RowFormatType -//line mysql_sql.y:5133 +//line mysql_sql.y:5258 { yyLOCAL = tree.ROW_FORMAT_DEFAULT } yyVAL.union = yyLOCAL - case 830: + case 851: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.RowFormatType -//line mysql_sql.y:5137 +//line mysql_sql.y:5262 { yyLOCAL = tree.ROW_FORMAT_DYNAMIC } yyVAL.union = yyLOCAL - case 831: + case 852: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.RowFormatType -//line mysql_sql.y:5141 +//line mysql_sql.y:5266 { yyLOCAL = tree.ROW_FORMAT_FIXED } yyVAL.union = yyLOCAL - case 832: + case 853: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.RowFormatType -//line mysql_sql.y:5145 +//line mysql_sql.y:5270 { yyLOCAL = tree.ROW_FORMAT_COMPRESSED } yyVAL.union = yyLOCAL - case 833: + case 854: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.RowFormatType -//line mysql_sql.y:5149 +//line mysql_sql.y:5274 { yyLOCAL = tree.ROW_FORMAT_REDUNDANT } yyVAL.union = yyLOCAL - case 834: + case 855: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.RowFormatType -//line mysql_sql.y:5153 +//line mysql_sql.y:5278 { yyLOCAL = tree.ROW_FORMAT_COMPACT } yyVAL.union = yyLOCAL - case 839: + case 860: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableNames -//line mysql_sql.y:5167 +//line mysql_sql.y:5292 { yyLOCAL = tree.TableNames{yyDollar[1].tableNameUnion()} } yyVAL.union = yyLOCAL - case 840: + case 861: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableNames -//line mysql_sql.y:5171 +//line mysql_sql.y:5296 { yyLOCAL = append(yyDollar[1].tableNamesUnion(), yyDollar[3].tableNameUnion()) } yyVAL.union = yyLOCAL - case 841: + case 862: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.TableName -//line mysql_sql.y:5180 +//line mysql_sql.y:5305 { prefix := tree.ObjectNamePrefix{ExplicitSchema: false} yyLOCAL = tree.NewTableName(tree.Identifier(yyDollar[1].str), prefix) } yyVAL.union = yyLOCAL - case 842: + case 863: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.TableName -//line mysql_sql.y:5185 +//line mysql_sql.y:5310 { prefix := tree.ObjectNamePrefix{SchemaName: tree.Identifier(yyDollar[1].str), ExplicitSchema: true} yyLOCAL = tree.NewTableName(tree.Identifier(yyDollar[3].str), prefix) } yyVAL.union = yyLOCAL - case 843: + case 864: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.TableDefs -//line mysql_sql.y:5191 +//line mysql_sql.y:5316 { yyLOCAL = tree.TableDefs(nil) } yyVAL.union = yyLOCAL - case 845: + case 866: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableDefs -//line mysql_sql.y:5198 +//line mysql_sql.y:5323 { yyLOCAL = tree.TableDefs{yyDollar[1].tableDefUnion()} } yyVAL.union = yyLOCAL - case 846: + case 867: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableDefs -//line mysql_sql.y:5202 +//line mysql_sql.y:5327 { yyLOCAL = append(yyDollar[1].tableDefsUnion(), yyDollar[3].tableDefUnion()) } yyVAL.union = yyLOCAL - case 847: + case 868: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:5208 +//line mysql_sql.y:5333 { yyLOCAL = tree.TableDef(yyDollar[1].columnTableDefUnion()) } yyVAL.union = yyLOCAL - case 848: + case 869: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:5212 +//line mysql_sql.y:5337 { yyLOCAL = yyDollar[1].tableDefUnion() } yyVAL.union = yyLOCAL - case 849: + case 870: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:5218 +//line mysql_sql.y:5343 { if yyDollar[1].str != "" { switch v := yyDollar[2].tableDefUnion().(type) { @@ -12970,18 +13418,18 @@ yydefault: yyLOCAL = yyDollar[2].tableDefUnion() } yyVAL.union = yyLOCAL - case 850: + case 871: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:5228 +//line mysql_sql.y:5353 { yyLOCAL = yyDollar[1].tableDefUnion() } yyVAL.union = yyLOCAL - case 851: + case 872: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:5234 +//line mysql_sql.y:5359 { yyLOCAL = &tree.PrimaryKeyIndex{ KeyParts: yyDollar[5].keyPartsUnion(), @@ -12991,10 +13439,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 852: + case 873: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:5243 +//line mysql_sql.y:5368 { yyLOCAL = &tree.FullTextIndex{ KeyParts: yyDollar[5].keyPartsUnion(), @@ -13004,10 +13452,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 853: + case 874: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:5252 +//line mysql_sql.y:5377 { keyTyp := tree.INDEX_TYPE_INVALID if yyDollar[3].strsUnion()[1] != "" { @@ -13031,10 +13479,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 854: + case 875: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:5275 +//line mysql_sql.y:5400 { yyLOCAL = &tree.UniqueIndex{ KeyParts: yyDollar[5].keyPartsUnion(), @@ -13044,10 +13492,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 855: + case 876: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:5284 +//line mysql_sql.y:5409 { yyLOCAL = &tree.ForeignKey{ IfNotExists: yyDollar[3].ifNotExistsUnion(), @@ -13058,10 +13506,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 856: + case 877: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:5294 +//line mysql_sql.y:5419 { yyLOCAL = &tree.CheckIndex{ Expr: yyDollar[3].exprUnion(), @@ -13069,258 +13517,258 @@ yydefault: } } yyVAL.union = yyLOCAL - case 857: + case 878: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:5302 +//line mysql_sql.y:5427 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 859: + case 880: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:5308 +//line mysql_sql.y:5433 { yyVAL.str = "" } - case 860: + case 881: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:5312 +//line mysql_sql.y:5437 { yyVAL.str = yyDollar[1].str } - case 863: + case 884: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:5322 +//line mysql_sql.y:5447 { yyLOCAL = make([]string, 2) yyLOCAL[0] = yyDollar[1].str yyLOCAL[1] = "" } yyVAL.union = yyLOCAL - case 864: + case 885: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:5328 +//line mysql_sql.y:5453 { yyLOCAL = make([]string, 2) yyLOCAL[0] = yyDollar[1].str yyLOCAL[1] = yyDollar[3].str } yyVAL.union = yyLOCAL - case 865: + case 886: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:5334 +//line mysql_sql.y:5459 { yyLOCAL = make([]string, 2) yyLOCAL[0] = yyDollar[1].str yyLOCAL[1] = yyDollar[3].str } yyVAL.union = yyLOCAL - case 871: + case 892: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:5348 +//line mysql_sql.y:5473 { yyVAL.str = "" } - case 873: + case 894: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.ColumnTableDef -//line mysql_sql.y:5355 +//line mysql_sql.y:5480 { yyLOCAL = tree.NewColumnTableDef(yyDollar[1].unresolvedNameUnion(), yyDollar[2].columnTypeUnion(), yyDollar[3].columnAttributesUnion()) } yyVAL.union = yyLOCAL - case 874: + case 895: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.UnresolvedName -//line mysql_sql.y:5361 +//line mysql_sql.y:5486 { yyLOCAL = tree.SetUnresolvedName(yyDollar[1].str) } yyVAL.union = yyLOCAL - case 875: + case 896: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.UnresolvedName -//line mysql_sql.y:5365 +//line mysql_sql.y:5490 { yyLOCAL = tree.SetUnresolvedName(yyDollar[1].str, yyDollar[3].str) } yyVAL.union = yyLOCAL - case 876: + case 897: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.UnresolvedName -//line mysql_sql.y:5369 +//line mysql_sql.y:5494 { yyLOCAL = tree.SetUnresolvedName(yyDollar[1].str, yyDollar[3].str, yyDollar[5].str) } yyVAL.union = yyLOCAL - case 880: + case 901: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.UnresolvedName -//line mysql_sql.y:5380 +//line mysql_sql.y:5505 { yyLOCAL = tree.SetUnresolvedName(yyDollar[1].str) } yyVAL.union = yyLOCAL - case 881: + case 902: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.UnresolvedName -//line mysql_sql.y:5384 +//line mysql_sql.y:5509 { yyLOCAL = tree.SetUnresolvedName(yyDollar[1].str, yyDollar[3].str) } yyVAL.union = yyLOCAL - case 882: + case 903: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.UnresolvedName -//line mysql_sql.y:5388 +//line mysql_sql.y:5513 { yyLOCAL = tree.SetUnresolvedName(yyDollar[1].str, yyDollar[3].str, yyDollar[5].str) } yyVAL.union = yyLOCAL - case 883: + case 904: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []tree.ColumnAttribute -//line mysql_sql.y:5393 +//line mysql_sql.y:5518 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 884: + case 905: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.ColumnAttribute -//line mysql_sql.y:5397 +//line mysql_sql.y:5522 { yyLOCAL = yyDollar[1].columnAttributesUnion() } yyVAL.union = yyLOCAL - case 885: + case 906: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.ColumnAttribute -//line mysql_sql.y:5403 +//line mysql_sql.y:5528 { yyLOCAL = []tree.ColumnAttribute{yyDollar[1].columnAttributeUnion()} } yyVAL.union = yyLOCAL - case 886: + case 907: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []tree.ColumnAttribute -//line mysql_sql.y:5407 +//line mysql_sql.y:5532 { yyLOCAL = append(yyDollar[1].columnAttributesUnion(), yyDollar[2].columnAttributeUnion()) } yyVAL.union = yyLOCAL - case 887: + case 908: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:5413 +//line mysql_sql.y:5538 { yyLOCAL = tree.NewAttributeNull(true) } yyVAL.union = yyLOCAL - case 888: + case 909: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:5417 +//line mysql_sql.y:5542 { yyLOCAL = tree.NewAttributeNull(false) } yyVAL.union = yyLOCAL - case 889: + case 910: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:5421 +//line mysql_sql.y:5546 { yyLOCAL = tree.NewAttributeDefault(yyDollar[2].exprUnion()) } yyVAL.union = yyLOCAL - case 890: + case 911: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:5425 +//line mysql_sql.y:5550 { yyLOCAL = tree.NewAttributeAutoIncrement() } yyVAL.union = yyLOCAL - case 891: + case 912: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:5429 +//line mysql_sql.y:5554 { yyLOCAL = yyDollar[1].columnAttributeUnion() } yyVAL.union = yyLOCAL - case 892: + case 913: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:5433 +//line mysql_sql.y:5558 { yyLOCAL = tree.NewAttributeComment(tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char)) } yyVAL.union = yyLOCAL - case 893: + case 914: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:5437 +//line mysql_sql.y:5562 { yyLOCAL = tree.NewAttributeCollate(yyDollar[2].str) } yyVAL.union = yyLOCAL - case 894: + case 915: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:5441 +//line mysql_sql.y:5566 { yyLOCAL = tree.NewAttributeColumnFormat(yyDollar[2].str) } yyVAL.union = yyLOCAL - case 895: + case 916: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:5445 +//line mysql_sql.y:5570 { yyLOCAL = tree.NewAttributeStorage(yyDollar[2].str) } yyVAL.union = yyLOCAL - case 896: + case 917: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:5449 +//line mysql_sql.y:5574 { yyLOCAL = tree.NewAttributeAutoRandom(int(yyDollar[2].int64ValUnion())) } yyVAL.union = yyLOCAL - case 897: + case 918: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:5453 +//line mysql_sql.y:5578 { yyLOCAL = yyDollar[1].attributeReferenceUnion() } yyVAL.union = yyLOCAL - case 898: + case 919: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:5457 +//line mysql_sql.y:5582 { yyLOCAL = tree.NewAttributeCheck(yyDollar[4].exprUnion(), false, yyDollar[1].str) } yyVAL.union = yyLOCAL - case 899: + case 920: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:5461 +//line mysql_sql.y:5586 { yyLOCAL = tree.NewAttributeCheck(yyDollar[4].exprUnion(), yyDollar[6].boolValUnion(), yyDollar[1].str) } yyVAL.union = yyLOCAL - case 900: + case 921: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:5465 +//line mysql_sql.y:5590 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[3].str)) var es tree.Exprs = nil @@ -13334,58 +13782,58 @@ yydefault: yyLOCAL = tree.NewAttributeOnUpdate(expr) } yyVAL.union = yyLOCAL - case 901: + case 922: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:5478 +//line mysql_sql.y:5603 { yyLOCAL = tree.NewAttributeLowCardinality() } yyVAL.union = yyLOCAL - case 902: + case 923: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:5484 +//line mysql_sql.y:5609 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 903: + case 924: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:5488 +//line mysql_sql.y:5613 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 904: + case 925: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:5493 +//line mysql_sql.y:5618 { yyVAL.str = "" } - case 905: + case 926: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:5497 +//line mysql_sql.y:5622 { yyVAL.str = yyDollar[1].str } - case 906: + case 927: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:5503 +//line mysql_sql.y:5628 { yyVAL.str = "" } - case 907: + case 928: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:5507 +//line mysql_sql.y:5632 { yyVAL.str = yyDollar[2].str } - case 908: + case 929: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.AttributeReference -//line mysql_sql.y:5513 +//line mysql_sql.y:5638 { yyLOCAL = &tree.AttributeReference{ TableName: yyDollar[2].tableNameUnion(), @@ -13396,10 +13844,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 909: + case 930: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.ReferenceOnRecord -//line mysql_sql.y:5525 +//line mysql_sql.y:5650 { yyLOCAL = &tree.ReferenceOnRecord{ OnDelete: tree.REFERENCE_OPTION_INVALID, @@ -13407,10 +13855,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 910: + case 931: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.ReferenceOnRecord -//line mysql_sql.y:5532 +//line mysql_sql.y:5657 { yyLOCAL = &tree.ReferenceOnRecord{ OnDelete: yyDollar[1].referenceOptionTypeUnion(), @@ -13418,10 +13866,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 911: + case 932: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.ReferenceOnRecord -//line mysql_sql.y:5539 +//line mysql_sql.y:5664 { yyLOCAL = &tree.ReferenceOnRecord{ OnDelete: tree.REFERENCE_OPTION_INVALID, @@ -13429,10 +13877,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 912: + case 933: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.ReferenceOnRecord -//line mysql_sql.y:5546 +//line mysql_sql.y:5671 { yyLOCAL = &tree.ReferenceOnRecord{ OnDelete: yyDollar[1].referenceOptionTypeUnion(), @@ -13440,10 +13888,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 913: + case 934: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.ReferenceOnRecord -//line mysql_sql.y:5553 +//line mysql_sql.y:5678 { yyLOCAL = &tree.ReferenceOnRecord{ OnDelete: yyDollar[2].referenceOptionTypeUnion(), @@ -13451,339 +13899,339 @@ yydefault: } } yyVAL.union = yyLOCAL - case 914: + case 935: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.ReferenceOptionType -//line mysql_sql.y:5562 +//line mysql_sql.y:5687 { yyLOCAL = yyDollar[3].referenceOptionTypeUnion() } yyVAL.union = yyLOCAL - case 915: + case 936: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.ReferenceOptionType -//line mysql_sql.y:5568 +//line mysql_sql.y:5693 { yyLOCAL = yyDollar[3].referenceOptionTypeUnion() } yyVAL.union = yyLOCAL - case 916: + case 937: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ReferenceOptionType -//line mysql_sql.y:5574 +//line mysql_sql.y:5699 { yyLOCAL = tree.REFERENCE_OPTION_RESTRICT } yyVAL.union = yyLOCAL - case 917: + case 938: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ReferenceOptionType -//line mysql_sql.y:5578 +//line mysql_sql.y:5703 { yyLOCAL = tree.REFERENCE_OPTION_CASCADE } yyVAL.union = yyLOCAL - case 918: + case 939: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ReferenceOptionType -//line mysql_sql.y:5582 +//line mysql_sql.y:5707 { yyLOCAL = tree.REFERENCE_OPTION_SET_NULL } yyVAL.union = yyLOCAL - case 919: + case 940: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ReferenceOptionType -//line mysql_sql.y:5586 +//line mysql_sql.y:5711 { yyLOCAL = tree.REFERENCE_OPTION_NO_ACTION } yyVAL.union = yyLOCAL - case 920: + case 941: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ReferenceOptionType -//line mysql_sql.y:5590 +//line mysql_sql.y:5715 { yyLOCAL = tree.REFERENCE_OPTION_SET_DEFAULT } yyVAL.union = yyLOCAL - case 921: + case 942: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.MatchType -//line mysql_sql.y:5595 +//line mysql_sql.y:5720 { yyLOCAL = tree.MATCH_INVALID } yyVAL.union = yyLOCAL - case 923: + case 944: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.MatchType -//line mysql_sql.y:5602 +//line mysql_sql.y:5727 { yyLOCAL = tree.MATCH_FULL } yyVAL.union = yyLOCAL - case 924: + case 945: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.MatchType -//line mysql_sql.y:5606 +//line mysql_sql.y:5731 { yyLOCAL = tree.MATCH_PARTIAL } yyVAL.union = yyLOCAL - case 925: + case 946: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.MatchType -//line mysql_sql.y:5610 +//line mysql_sql.y:5735 { yyLOCAL = tree.MATCH_SIMPLE } yyVAL.union = yyLOCAL - case 926: + case 947: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*tree.KeyPart -//line mysql_sql.y:5615 +//line mysql_sql.y:5740 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 927: + case 948: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.KeyPart -//line mysql_sql.y:5619 +//line mysql_sql.y:5744 { yyLOCAL = yyDollar[2].keyPartsUnion() } yyVAL.union = yyLOCAL - case 928: + case 949: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:5624 +//line mysql_sql.y:5749 { yyLOCAL = -1 } yyVAL.union = yyLOCAL - case 929: + case 950: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:5628 +//line mysql_sql.y:5753 { yyLOCAL = yyDollar[2].item.(int64) } yyVAL.union = yyLOCAL - case 936: + case 957: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.Subquery -//line mysql_sql.y:5644 +//line mysql_sql.y:5769 { yyLOCAL = &tree.Subquery{Select: yyDollar[1].selectStatementUnion(), Exists: false} } yyVAL.union = yyLOCAL - case 937: + case 958: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5650 +//line mysql_sql.y:5775 { yyLOCAL = tree.NewBinaryExpr(tree.BIT_AND, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 938: + case 959: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5654 +//line mysql_sql.y:5779 { yyLOCAL = tree.NewBinaryExpr(tree.BIT_OR, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 939: + case 960: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5658 +//line mysql_sql.y:5783 { yyLOCAL = tree.NewBinaryExpr(tree.BIT_XOR, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 940: + case 961: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5662 +//line mysql_sql.y:5787 { yyLOCAL = tree.NewBinaryExpr(tree.PLUS, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 941: + case 962: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5666 +//line mysql_sql.y:5791 { yyLOCAL = tree.NewBinaryExpr(tree.MINUS, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 942: + case 963: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5670 +//line mysql_sql.y:5795 { yyLOCAL = tree.NewBinaryExpr(tree.MULTI, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 943: + case 964: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5674 +//line mysql_sql.y:5799 { yyLOCAL = tree.NewBinaryExpr(tree.DIV, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 944: + case 965: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5678 +//line mysql_sql.y:5803 { yyLOCAL = tree.NewBinaryExpr(tree.INTEGER_DIV, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 945: + case 966: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5682 +//line mysql_sql.y:5807 { yyLOCAL = tree.NewBinaryExpr(tree.MOD, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 946: + case 967: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5686 +//line mysql_sql.y:5811 { yyLOCAL = tree.NewBinaryExpr(tree.MOD, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 947: + case 968: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5690 +//line mysql_sql.y:5815 { yyLOCAL = tree.NewBinaryExpr(tree.LEFT_SHIFT, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 948: + case 969: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5694 +//line mysql_sql.y:5819 { yyLOCAL = tree.NewBinaryExpr(tree.RIGHT_SHIFT, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 949: + case 970: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5698 +//line mysql_sql.y:5823 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 950: + case 971: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5704 +//line mysql_sql.y:5829 { yyLOCAL = yyDollar[1].unresolvedNameUnion() } yyVAL.union = yyLOCAL - case 951: + case 972: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5708 +//line mysql_sql.y:5833 { yyLOCAL = yyDollar[1].varExprUnion() } yyVAL.union = yyLOCAL - case 952: + case 973: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5712 +//line mysql_sql.y:5837 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 953: + case 974: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5716 +//line mysql_sql.y:5841 { yyLOCAL = tree.NewParenExpr(yyDollar[2].exprUnion()) } yyVAL.union = yyLOCAL - case 954: + case 975: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5720 +//line mysql_sql.y:5845 { yyLOCAL = tree.NewTuple(append(yyDollar[2].exprsUnion(), yyDollar[4].exprUnion())) } yyVAL.union = yyLOCAL - case 955: + case 976: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5724 +//line mysql_sql.y:5849 { yyLOCAL = tree.NewUnaryExpr(tree.UNARY_PLUS, yyDollar[2].exprUnion()) } yyVAL.union = yyLOCAL - case 956: + case 977: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5728 +//line mysql_sql.y:5853 { yyLOCAL = tree.NewUnaryExpr(tree.UNARY_MINUS, yyDollar[2].exprUnion()) } yyVAL.union = yyLOCAL - case 957: + case 978: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5732 +//line mysql_sql.y:5857 { yyLOCAL = tree.NewUnaryExpr(tree.UNARY_TILDE, yyDollar[2].exprUnion()) } yyVAL.union = yyLOCAL - case 958: + case 979: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5736 +//line mysql_sql.y:5861 { yyLOCAL = tree.NewUnaryExpr(tree.UNARY_MARK, yyDollar[2].exprUnion()) } yyVAL.union = yyLOCAL - case 959: + case 980: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5740 +//line mysql_sql.y:5865 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 960: + case 981: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5744 +//line mysql_sql.y:5869 { yyLOCAL = yyDollar[1].subqueryUnion() } yyVAL.union = yyLOCAL - case 961: + case 982: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5748 +//line mysql_sql.y:5873 { yyDollar[2].subqueryUnion().Exists = true yyLOCAL = yyDollar[2].subqueryUnion() } yyVAL.union = yyLOCAL - case 962: + case 983: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5753 +//line mysql_sql.y:5878 { yyLOCAL = &tree.CaseExpr{ Expr: yyDollar[2].exprUnion(), @@ -13792,26 +14240,26 @@ yydefault: } } yyVAL.union = yyLOCAL - case 963: + case 984: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5761 +//line mysql_sql.y:5886 { yyLOCAL = tree.NewCastExpr(yyDollar[3].exprUnion(), yyDollar[5].columnTypeUnion()) } yyVAL.union = yyLOCAL - case 964: + case 985: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5765 +//line mysql_sql.y:5890 { yyLOCAL = tree.NewCastExpr(yyDollar[3].exprUnion(), yyDollar[5].columnTypeUnion()) } yyVAL.union = yyLOCAL - case 965: + case 986: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5769 +//line mysql_sql.y:5894 { name := tree.SetUnresolvedName("convert") es := tree.NewNumValWithType(constant.MakeString(yyDollar[5].str), yyDollar[5].str, false, tree.P_char) @@ -13821,90 +14269,90 @@ yydefault: } } yyVAL.union = yyLOCAL - case 966: + case 987: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5778 +//line mysql_sql.y:5903 { yyLOCAL = yyDollar[1].funcExprUnion() } yyVAL.union = yyLOCAL - case 967: + case 988: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5782 +//line mysql_sql.y:5907 { yyLOCAL = yyDollar[1].funcExprUnion() } yyVAL.union = yyLOCAL - case 968: + case 989: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5786 +//line mysql_sql.y:5911 { yyLOCAL = yyDollar[1].funcExprUnion() } yyVAL.union = yyLOCAL - case 969: + case 990: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5790 +//line mysql_sql.y:5915 { yyLOCAL = yyDollar[1].funcExprUnion() } yyVAL.union = yyLOCAL - case 970: + case 991: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5795 +//line mysql_sql.y:5920 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 971: + case 992: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5799 +//line mysql_sql.y:5924 { yyLOCAL = yyDollar[2].exprUnion() } yyVAL.union = yyLOCAL - case 972: + case 993: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5804 +//line mysql_sql.y:5929 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 973: + case 994: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5808 +//line mysql_sql.y:5933 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 974: + case 995: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.When -//line mysql_sql.y:5814 +//line mysql_sql.y:5939 { yyLOCAL = []*tree.When{yyDollar[1].whenClauseUnion()} } yyVAL.union = yyLOCAL - case 975: + case 996: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []*tree.When -//line mysql_sql.y:5818 +//line mysql_sql.y:5943 { yyLOCAL = append(yyDollar[1].whenClauseListUnion(), yyDollar[2].whenClauseUnion()) } yyVAL.union = yyLOCAL - case 976: + case 997: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.When -//line mysql_sql.y:5824 +//line mysql_sql.y:5949 { yyLOCAL = &tree.When{ Cond: yyDollar[2].exprUnion(), @@ -13912,10 +14360,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 978: + case 999: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:5834 +//line mysql_sql.y:5959 { name := yyDollar[1].str if yyDollar[2].str != "" { @@ -13933,10 +14381,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 979: + case 1000: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:5851 +//line mysql_sql.y:5976 { locale := "" yyLOCAL = &tree.T{ @@ -13951,10 +14399,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 981: + case 1002: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:5868 +//line mysql_sql.y:5993 { locale := "" yyLOCAL = &tree.T{ @@ -13968,10 +14416,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 982: + case 1003: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:5881 +//line mysql_sql.y:6006 { locale := "" yyLOCAL = &tree.T{ @@ -13985,10 +14433,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 983: + case 1004: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:5894 +//line mysql_sql.y:6019 { locale := "" yyLOCAL = &tree.T{ @@ -14001,10 +14449,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 984: + case 1005: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:5906 +//line mysql_sql.y:6031 { locale := "" yyLOCAL = &tree.T{ @@ -14019,10 +14467,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 985: + case 1006: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:5920 +//line mysql_sql.y:6045 { locale := "" yyLOCAL = &tree.T{ @@ -14038,10 +14486,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 986: + case 1007: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:5935 +//line mysql_sql.y:6060 { locale := "" yyLOCAL = &tree.T{ @@ -14057,10 +14505,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 987: + case 1008: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:5950 +//line mysql_sql.y:6075 { name := yyDollar[1].str if yyDollar[2].str != "" { @@ -14078,10 +14526,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 988: + case 1009: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:5967 +//line mysql_sql.y:6092 { locale := "" yyLOCAL = &tree.T{ @@ -14096,83 +14544,83 @@ yydefault: } } yyVAL.union = yyLOCAL - case 989: + case 1010: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:5982 +//line mysql_sql.y:6107 { } - case 992: + case 1013: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.WindowFrameBound -//line mysql_sql.y:5988 +//line mysql_sql.y:6113 { yyLOCAL = &tree.WindowFrameBoundCurrentRow{} } yyVAL.union = yyLOCAL - case 993: + case 1014: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.WindowFrameBound -//line mysql_sql.y:5992 +//line mysql_sql.y:6117 { yyLOCAL = &tree.WindowFrameBoundPreceding{} } yyVAL.union = yyLOCAL - case 994: + case 1015: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.WindowFrameBound -//line mysql_sql.y:5996 +//line mysql_sql.y:6121 { yyLOCAL = &tree.WindowFrameBoundPreceding{ Expr: yyDollar[1].exprUnion(), } } yyVAL.union = yyLOCAL - case 995: + case 1016: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.WindowFrameBound -//line mysql_sql.y:6002 +//line mysql_sql.y:6127 { yyLOCAL = &tree.WindowFrameBoundFollowing{} } yyVAL.union = yyLOCAL - case 996: + case 1017: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.WindowFrameBound -//line mysql_sql.y:6006 +//line mysql_sql.y:6131 { yyLOCAL = &tree.WindowFrameBoundFollowing{ Expr: yyDollar[1].exprUnion(), } } yyVAL.union = yyLOCAL - case 997: + case 1018: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.WindowFrameUnits -//line mysql_sql.y:6014 +//line mysql_sql.y:6139 { yyLOCAL = tree.WIN_FRAME_UNIT_ROWS } yyVAL.union = yyLOCAL - case 998: + case 1019: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.WindowFrameUnits -//line mysql_sql.y:6018 +//line mysql_sql.y:6143 { yyLOCAL = tree.WIN_FRAME_UNIT_RANGE } yyVAL.union = yyLOCAL - case 999: + case 1020: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.WindowFrameUnits -//line mysql_sql.y:6022 +//line mysql_sql.y:6147 { yyLOCAL = tree.WIN_FRAME_UNIT_GROUPS } yyVAL.union = yyLOCAL - case 1000: + case 1021: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.WindowFrame -//line mysql_sql.y:6028 +//line mysql_sql.y:6153 { yyLOCAL = &tree.WindowFrame{ Unit: yyDollar[1].windowFrameUnitUnion(), @@ -14180,10 +14628,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1001: + case 1022: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.WindowFrame -//line mysql_sql.y:6035 +//line mysql_sql.y:6160 { yyLOCAL = &tree.WindowFrame{ Unit: yyDollar[1].windowFrameUnitUnion(), @@ -14192,58 +14640,58 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1002: + case 1023: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.WindowFrame -//line mysql_sql.y:6044 +//line mysql_sql.y:6169 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1003: + case 1024: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.WindowFrame -//line mysql_sql.y:6048 +//line mysql_sql.y:6173 { yyLOCAL = yyDollar[1].windowFrameUnion() } yyVAL.union = yyLOCAL - case 1004: + case 1025: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:6055 +//line mysql_sql.y:6180 { yyLOCAL = yyDollar[3].exprsUnion() } yyVAL.union = yyLOCAL - case 1005: + case 1026: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:6060 +//line mysql_sql.y:6185 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1006: + case 1027: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:6064 +//line mysql_sql.y:6189 { yyLOCAL = yyDollar[1].exprsUnion() } yyVAL.union = yyLOCAL - case 1007: + case 1028: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.WindowSpec -//line mysql_sql.y:6069 +//line mysql_sql.y:6194 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1008: + case 1029: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.WindowSpec -//line mysql_sql.y:6073 +//line mysql_sql.y:6198 { yyLOCAL = &tree.WindowSpec{ PartitionBy: yyDollar[3].exprsUnion(), @@ -14252,10 +14700,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1009: + case 1030: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6083 +//line mysql_sql.y:6208 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -14266,10 +14714,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1010: + case 1031: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6093 +//line mysql_sql.y:6218 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -14279,10 +14727,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1011: + case 1032: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6102 +//line mysql_sql.y:6227 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -14292,10 +14740,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1012: + case 1033: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6111 +//line mysql_sql.y:6236 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -14306,10 +14754,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1013: + case 1034: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6121 +//line mysql_sql.y:6246 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -14320,10 +14768,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1014: + case 1035: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6131 +//line mysql_sql.y:6256 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -14334,10 +14782,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1015: + case 1036: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6141 +//line mysql_sql.y:6266 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -14348,10 +14796,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1016: + case 1037: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6151 +//line mysql_sql.y:6276 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) es := tree.NewNumValWithType(constant.MakeString("*"), "*", false, tree.P_char) @@ -14362,10 +14810,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1017: + case 1038: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6161 +//line mysql_sql.y:6286 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -14376,10 +14824,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1018: + case 1039: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6171 +//line mysql_sql.y:6296 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -14390,10 +14838,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1019: + case 1040: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6181 +//line mysql_sql.y:6306 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -14404,10 +14852,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1020: + case 1041: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6191 +//line mysql_sql.y:6316 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -14418,10 +14866,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1021: + case 1042: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6201 +//line mysql_sql.y:6326 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -14432,10 +14880,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1022: + case 1043: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6211 +//line mysql_sql.y:6336 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -14446,10 +14894,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1023: + case 1044: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6221 +//line mysql_sql.y:6346 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -14460,10 +14908,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1024: + case 1045: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6231 +//line mysql_sql.y:6356 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -14474,10 +14922,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1028: + case 1049: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6248 +//line mysql_sql.y:6373 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -14486,10 +14934,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1029: + case 1050: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6256 +//line mysql_sql.y:6381 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -14498,10 +14946,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1030: + case 1051: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6264 +//line mysql_sql.y:6389 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -14510,10 +14958,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1031: + case 1052: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6272 +//line mysql_sql.y:6397 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -14522,10 +14970,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1032: + case 1053: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6280 +//line mysql_sql.y:6405 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) timeUinit := tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), yyDollar[3].str, false, tree.P_char) @@ -14535,10 +14983,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1033: + case 1054: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6289 +//line mysql_sql.y:6414 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -14547,10 +14995,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1034: + case 1055: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6297 +//line mysql_sql.y:6422 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -14560,10 +15008,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1035: + case 1056: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6306 +//line mysql_sql.y:6431 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -14573,10 +15021,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1036: + case 1057: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6315 +//line mysql_sql.y:6440 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -14585,10 +15033,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1037: + case 1058: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6323 +//line mysql_sql.y:6448 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -14597,10 +15045,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1038: + case 1059: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6331 +//line mysql_sql.y:6456 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) arg1 := tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), yyDollar[3].str, false, tree.P_char) @@ -14610,10 +15058,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1039: + case 1060: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6340 +//line mysql_sql.y:6465 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) arg1 := tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), yyDollar[3].str, false, tree.P_char) @@ -14623,10 +15071,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1040: + case 1061: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6349 +//line mysql_sql.y:6474 { column := tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), yyDollar[3].str, false, tree.P_char) name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) @@ -14636,16 +15084,16 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1047: + case 1068: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:6371 +//line mysql_sql.y:6496 { yyVAL.str = yyDollar[1].str } - case 1076: + case 1097: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6407 +//line mysql_sql.y:6532 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) var es tree.Exprs = nil @@ -14658,10 +15106,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1077: + case 1098: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6419 +//line mysql_sql.y:6544 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) var es tree.Exprs = nil @@ -14674,10 +15122,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1078: + case 1099: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6431 +//line mysql_sql.y:6556 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) arg1 := tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), yyDollar[3].str, false, tree.P_char) @@ -14687,10 +15135,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1079: + case 1100: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6441 +//line mysql_sql.y:6566 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -14699,10 +15147,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1080: + case 1101: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6449 +//line mysql_sql.y:6574 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -14710,10 +15158,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1081: + case 1102: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6456 +//line mysql_sql.y:6581 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -14721,10 +15169,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1082: + case 1103: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6463 +//line mysql_sql.y:6588 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) var es tree.Exprs = nil @@ -14737,10 +15185,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1083: + case 1104: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6475 +//line mysql_sql.y:6600 { name := tree.SetUnresolvedName("char") yyLOCAL = &tree.FuncExpr{ @@ -14749,10 +15197,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1084: + case 1105: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6483 +//line mysql_sql.y:6608 { cn := tree.NewNumValWithType(constant.MakeString(yyDollar[5].str), yyDollar[5].str, false, tree.P_char) es := yyDollar[3].exprsUnion() @@ -14764,10 +15212,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1085: + case 1106: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6494 +//line mysql_sql.y:6619 { val := tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char) name := tree.SetUnresolvedName("date") @@ -14777,10 +15225,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1086: + case 1107: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6503 +//line mysql_sql.y:6628 { val := tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char) name := tree.SetUnresolvedName("time") @@ -14790,10 +15238,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1087: + case 1108: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6512 +//line mysql_sql.y:6637 { name := tree.SetUnresolvedName("insert") yyLOCAL = &tree.FuncExpr{ @@ -14802,10 +15250,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1088: + case 1109: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6520 +//line mysql_sql.y:6645 { es := tree.Exprs{yyDollar[3].exprUnion()} es = append(es, yyDollar[5].exprUnion()) @@ -14816,10 +15264,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1089: + case 1110: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6530 +//line mysql_sql.y:6655 { name := tree.SetUnresolvedName("password") yyLOCAL = &tree.FuncExpr{ @@ -14828,10 +15276,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1090: + case 1111: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6538 +//line mysql_sql.y:6663 { name := tree.SetUnresolvedName("binary") yyLOCAL = &tree.FuncExpr{ @@ -14840,10 +15288,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1091: + case 1112: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:6546 +//line mysql_sql.y:6671 { val := tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char) name := tree.SetUnresolvedName("timestamp") @@ -14853,34 +15301,34 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1092: + case 1113: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6556 +//line mysql_sql.y:6681 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1093: + case 1114: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6560 +//line mysql_sql.y:6685 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1094: + case 1115: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6566 +//line mysql_sql.y:6691 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1095: + case 1116: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6570 +//line mysql_sql.y:6695 { ival, errStr := util.GetInt64(yyDollar[2].item) if errStr != "" { @@ -14891,20 +15339,20 @@ yydefault: yyLOCAL = tree.NewNumValWithType(constant.MakeInt64(ival), str, false, tree.P_int64) } yyVAL.union = yyLOCAL - case 1102: + case 1123: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:6589 +//line mysql_sql.y:6714 { } - case 1103: + case 1124: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:6591 +//line mysql_sql.y:6716 { } - case 1137: + case 1158: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6632 +//line mysql_sql.y:6757 { name := tree.SetUnresolvedName("interval") arg2 := tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), yyDollar[3].str, false, tree.P_char) @@ -14914,90 +15362,90 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1138: + case 1159: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.FuncType -//line mysql_sql.y:6642 +//line mysql_sql.y:6767 { yyLOCAL = tree.FUNC_TYPE_DEFAULT } yyVAL.union = yyLOCAL - case 1139: + case 1160: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.FuncType -//line mysql_sql.y:6646 +//line mysql_sql.y:6771 { yyLOCAL = tree.FUNC_TYPE_DISTINCT } yyVAL.union = yyLOCAL - case 1140: + case 1161: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.FuncType -//line mysql_sql.y:6650 +//line mysql_sql.y:6775 { yyLOCAL = tree.FUNC_TYPE_ALL } yyVAL.union = yyLOCAL - case 1141: + case 1162: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.Tuple -//line mysql_sql.y:6656 +//line mysql_sql.y:6781 { yyLOCAL = tree.NewTuple(yyDollar[2].exprsUnion()) } yyVAL.union = yyLOCAL - case 1142: + case 1163: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:6661 +//line mysql_sql.y:6786 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1143: + case 1164: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:6665 +//line mysql_sql.y:6790 { yyLOCAL = yyDollar[1].exprsUnion() } yyVAL.union = yyLOCAL - case 1144: + case 1165: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:6671 +//line mysql_sql.y:6796 { yyLOCAL = tree.Exprs{yyDollar[1].exprUnion()} } yyVAL.union = yyLOCAL - case 1145: + case 1166: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:6675 +//line mysql_sql.y:6800 { yyLOCAL = append(yyDollar[1].exprsUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1146: + case 1167: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6682 +//line mysql_sql.y:6807 { yyLOCAL = tree.NewAndExpr(yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1147: + case 1168: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6686 +//line mysql_sql.y:6811 { yyLOCAL = tree.NewOrExpr(yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1148: + case 1169: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6690 +//line mysql_sql.y:6815 { name := tree.SetUnresolvedName(strings.ToLower("concat")) yyLOCAL = &tree.FuncExpr{ @@ -15006,339 +15454,339 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1149: + case 1170: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6698 +//line mysql_sql.y:6823 { yyLOCAL = tree.NewXorExpr(yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1150: + case 1171: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6702 +//line mysql_sql.y:6827 { yyLOCAL = tree.NewNotExpr(yyDollar[2].exprUnion()) } yyVAL.union = yyLOCAL - case 1151: + case 1172: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6706 +//line mysql_sql.y:6831 { yyLOCAL = tree.NewMaxValue() } yyVAL.union = yyLOCAL - case 1152: + case 1173: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6710 +//line mysql_sql.y:6835 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1153: + case 1174: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6716 +//line mysql_sql.y:6841 { yyLOCAL = tree.NewIsNullExpr(yyDollar[1].exprUnion()) } yyVAL.union = yyLOCAL - case 1154: + case 1175: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6720 +//line mysql_sql.y:6845 { yyLOCAL = tree.NewIsNotNullExpr(yyDollar[1].exprUnion()) } yyVAL.union = yyLOCAL - case 1155: + case 1176: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6724 +//line mysql_sql.y:6849 { yyLOCAL = tree.NewIsUnknownExpr(yyDollar[1].exprUnion()) } yyVAL.union = yyLOCAL - case 1156: + case 1177: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6728 +//line mysql_sql.y:6853 { yyLOCAL = tree.NewIsNotUnknownExpr(yyDollar[1].exprUnion()) } yyVAL.union = yyLOCAL - case 1157: + case 1178: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6732 +//line mysql_sql.y:6857 { yyLOCAL = tree.NewIsTrueExpr(yyDollar[1].exprUnion()) } yyVAL.union = yyLOCAL - case 1158: + case 1179: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6736 +//line mysql_sql.y:6861 { yyLOCAL = tree.NewIsNotTrueExpr(yyDollar[1].exprUnion()) } yyVAL.union = yyLOCAL - case 1159: + case 1180: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6740 +//line mysql_sql.y:6865 { yyLOCAL = tree.NewIsFalseExpr(yyDollar[1].exprUnion()) } yyVAL.union = yyLOCAL - case 1160: + case 1181: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6744 +//line mysql_sql.y:6869 { yyLOCAL = tree.NewIsNotFalseExpr(yyDollar[1].exprUnion()) } yyVAL.union = yyLOCAL - case 1161: + case 1182: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6748 +//line mysql_sql.y:6873 { yyLOCAL = tree.NewComparisonExpr(yyDollar[2].comparisonOpUnion(), yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1162: + case 1183: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6752 +//line mysql_sql.y:6877 { yyLOCAL = tree.NewSubqueryComparisonExpr(yyDollar[2].comparisonOpUnion(), yyDollar[3].comparisonOpUnion(), yyDollar[1].exprUnion(), yyDollar[4].subqueryUnion()) yyLOCAL = tree.NewSubqueryComparisonExpr(yyDollar[2].comparisonOpUnion(), yyDollar[3].comparisonOpUnion(), yyDollar[1].exprUnion(), yyDollar[4].subqueryUnion()) } yyVAL.union = yyLOCAL - case 1164: + case 1185: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6760 +//line mysql_sql.y:6885 { yyLOCAL = tree.NewComparisonExpr(tree.IN, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1165: + case 1186: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6764 +//line mysql_sql.y:6889 { yyLOCAL = tree.NewComparisonExpr(tree.NOT_IN, yyDollar[1].exprUnion(), yyDollar[4].exprUnion()) } yyVAL.union = yyLOCAL - case 1166: + case 1187: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6768 +//line mysql_sql.y:6893 { yyLOCAL = tree.NewComparisonExprWithEscape(tree.LIKE, yyDollar[1].exprUnion(), yyDollar[3].exprUnion(), yyDollar[4].exprUnion()) } yyVAL.union = yyLOCAL - case 1167: + case 1188: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6772 +//line mysql_sql.y:6897 { yyLOCAL = tree.NewComparisonExprWithEscape(tree.NOT_LIKE, yyDollar[1].exprUnion(), yyDollar[4].exprUnion(), yyDollar[5].exprUnion()) } yyVAL.union = yyLOCAL - case 1168: + case 1189: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6776 +//line mysql_sql.y:6901 { yyLOCAL = tree.NewComparisonExpr(tree.REG_MATCH, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1169: + case 1190: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6780 +//line mysql_sql.y:6905 { yyLOCAL = tree.NewComparisonExpr(tree.NOT_REG_MATCH, yyDollar[1].exprUnion(), yyDollar[4].exprUnion()) } yyVAL.union = yyLOCAL - case 1170: + case 1191: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6784 +//line mysql_sql.y:6909 { yyLOCAL = tree.NewRangeCond(false, yyDollar[1].exprUnion(), yyDollar[3].exprUnion(), yyDollar[5].exprUnion()) } yyVAL.union = yyLOCAL - case 1171: + case 1192: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6788 +//line mysql_sql.y:6913 { yyLOCAL = tree.NewRangeCond(true, yyDollar[1].exprUnion(), yyDollar[4].exprUnion(), yyDollar[6].exprUnion()) } yyVAL.union = yyLOCAL - case 1173: + case 1194: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6794 +//line mysql_sql.y:6919 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1174: + case 1195: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6798 +//line mysql_sql.y:6923 { yyLOCAL = yyDollar[2].exprUnion() } yyVAL.union = yyLOCAL - case 1175: + case 1196: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6804 +//line mysql_sql.y:6929 { yyLOCAL = yyDollar[1].tupleUnion() } yyVAL.union = yyLOCAL - case 1176: + case 1197: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6808 +//line mysql_sql.y:6933 { yyLOCAL = yyDollar[1].subqueryUnion() } yyVAL.union = yyLOCAL - case 1177: + case 1198: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:6815 +//line mysql_sql.y:6940 { yyLOCAL = tree.ALL } yyVAL.union = yyLOCAL - case 1178: + case 1199: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:6819 +//line mysql_sql.y:6944 { yyLOCAL = tree.ANY } yyVAL.union = yyLOCAL - case 1179: + case 1200: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:6823 +//line mysql_sql.y:6948 { yyLOCAL = tree.SOME } yyVAL.union = yyLOCAL - case 1180: + case 1201: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:6829 +//line mysql_sql.y:6954 { yyLOCAL = tree.EQUAL } yyVAL.union = yyLOCAL - case 1181: + case 1202: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:6833 +//line mysql_sql.y:6958 { yyLOCAL = tree.LESS_THAN } yyVAL.union = yyLOCAL - case 1182: + case 1203: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:6837 +//line mysql_sql.y:6962 { yyLOCAL = tree.GREAT_THAN } yyVAL.union = yyLOCAL - case 1183: + case 1204: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:6841 +//line mysql_sql.y:6966 { yyLOCAL = tree.LESS_THAN_EQUAL } yyVAL.union = yyLOCAL - case 1184: + case 1205: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:6845 +//line mysql_sql.y:6970 { yyLOCAL = tree.GREAT_THAN_EQUAL } yyVAL.union = yyLOCAL - case 1185: + case 1206: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:6849 +//line mysql_sql.y:6974 { yyLOCAL = tree.NOT_EQUAL } yyVAL.union = yyLOCAL - case 1186: + case 1207: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:6853 +//line mysql_sql.y:6978 { yyLOCAL = tree.NULL_SAFE_EQUAL } yyVAL.union = yyLOCAL - case 1187: + case 1208: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:6859 +//line mysql_sql.y:6984 { yyLOCAL = tree.NewAttributePrimaryKey() } yyVAL.union = yyLOCAL - case 1188: + case 1209: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:6863 +//line mysql_sql.y:6988 { yyLOCAL = tree.NewAttributeUniqueKey() } yyVAL.union = yyLOCAL - case 1189: + case 1210: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:6867 +//line mysql_sql.y:6992 { yyLOCAL = tree.NewAttributeUnique() } yyVAL.union = yyLOCAL - case 1190: + case 1211: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:6871 +//line mysql_sql.y:6996 { yyLOCAL = tree.NewAttributeKey() } yyVAL.union = yyLOCAL - case 1191: + case 1212: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6877 +//line mysql_sql.y:7002 { yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[1].str), yyDollar[1].str, false, tree.P_char) } yyVAL.union = yyLOCAL - case 1192: + case 1213: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6881 +//line mysql_sql.y:7006 { str := fmt.Sprintf("%v", yyDollar[1].item) switch v := yyDollar[1].item.(type) { @@ -15352,59 +15800,59 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1193: + case 1214: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6894 +//line mysql_sql.y:7019 { fval := yyDollar[1].item.(float64) yyLOCAL = tree.NewNumValWithType(constant.MakeFloat64(fval), yylex.(*Lexer).scanner.LastToken, false, tree.P_float64) } yyVAL.union = yyLOCAL - case 1194: + case 1215: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6899 +//line mysql_sql.y:7024 { yyLOCAL = tree.NewNumValWithType(constant.MakeBool(true), "true", false, tree.P_bool) } yyVAL.union = yyLOCAL - case 1195: + case 1216: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6903 +//line mysql_sql.y:7028 { yyLOCAL = tree.NewNumValWithType(constant.MakeBool(false), "false", false, tree.P_bool) } yyVAL.union = yyLOCAL - case 1196: + case 1217: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6907 +//line mysql_sql.y:7032 { yyLOCAL = tree.NewNumValWithType(constant.MakeUnknown(), "null", false, tree.P_null) } yyVAL.union = yyLOCAL - case 1197: + case 1218: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6911 +//line mysql_sql.y:7036 { yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[1].str), yyDollar[1].str, false, tree.P_hexnum) } yyVAL.union = yyLOCAL - case 1198: + case 1219: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6915 +//line mysql_sql.y:7040 { yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[1].str), yyDollar[1].str, false, tree.P_decimal) } yyVAL.union = yyLOCAL - case 1199: + case 1220: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6919 +//line mysql_sql.y:7044 { switch v := yyDollar[1].item.(type) { case uint64: @@ -15419,53 +15867,53 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1200: + case 1221: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6933 +//line mysql_sql.y:7058 { yyLOCAL = tree.NewParamExpr(yylex.(*Lexer).GetParamIndex()) } yyVAL.union = yyLOCAL - case 1201: + case 1222: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6937 +//line mysql_sql.y:7062 { yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_ScoreBinary) } yyVAL.union = yyLOCAL - case 1202: + case 1223: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6944 +//line mysql_sql.y:7069 { yyLOCAL = yyDollar[1].columnTypeUnion() yyLOCAL.InternalType.Unsigned = yyDollar[2].unsignedOptUnion() yyLOCAL.InternalType.Zerofill = yyDollar[3].zeroFillOptUnion() } yyVAL.union = yyLOCAL - case 1206: + case 1227: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6955 +//line mysql_sql.y:7080 { yyLOCAL = yyDollar[1].columnTypeUnion() yyLOCAL.InternalType.DisplayWith = yyDollar[2].lengthOptUnion() } yyVAL.union = yyLOCAL - case 1207: + case 1228: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6960 +//line mysql_sql.y:7085 { yyLOCAL = yyDollar[1].columnTypeUnion() } yyVAL.union = yyLOCAL - case 1208: + case 1229: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6966 +//line mysql_sql.y:7091 { locale := "" yyLOCAL = &tree.T{ @@ -15478,10 +15926,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1209: + case 1230: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6978 +//line mysql_sql.y:7103 { locale := "" yyLOCAL = &tree.T{ @@ -15494,10 +15942,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1210: + case 1231: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6990 +//line mysql_sql.y:7115 { locale := "" yyLOCAL = &tree.T{ @@ -15510,10 +15958,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1211: + case 1232: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7002 +//line mysql_sql.y:7127 { locale := "" yyLOCAL = &tree.T{ @@ -15527,10 +15975,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1212: + case 1233: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7015 +//line mysql_sql.y:7140 { locale := "" yyLOCAL = &tree.T{ @@ -15544,10 +15992,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1213: + case 1234: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7028 +//line mysql_sql.y:7153 { locale := "" yyLOCAL = &tree.T{ @@ -15561,10 +16009,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1214: + case 1235: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7041 +//line mysql_sql.y:7166 { locale := "" yyLOCAL = &tree.T{ @@ -15578,10 +16026,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1215: + case 1236: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7054 +//line mysql_sql.y:7179 { locale := "" yyLOCAL = &tree.T{ @@ -15595,10 +16043,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1216: + case 1237: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7067 +//line mysql_sql.y:7192 { locale := "" yyLOCAL = &tree.T{ @@ -15612,10 +16060,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1217: + case 1238: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7080 +//line mysql_sql.y:7205 { locale := "" yyLOCAL = &tree.T{ @@ -15629,10 +16077,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1218: + case 1239: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7093 +//line mysql_sql.y:7218 { locale := "" yyLOCAL = &tree.T{ @@ -15646,10 +16094,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1219: + case 1240: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7106 +//line mysql_sql.y:7231 { locale := "" yyLOCAL = &tree.T{ @@ -15663,10 +16111,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1220: + case 1241: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7119 +//line mysql_sql.y:7244 { locale := "" yyLOCAL = &tree.T{ @@ -15680,10 +16128,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1221: + case 1242: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7132 +//line mysql_sql.y:7257 { locale := "" yyLOCAL = &tree.T{ @@ -15697,10 +16145,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1222: + case 1243: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7147 +//line mysql_sql.y:7272 { locale := "" if yyDollar[2].lengthScaleOptUnion().DisplayWith > 255 { @@ -15724,10 +16172,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1223: + case 1244: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7170 +//line mysql_sql.y:7295 { locale := "" if yyDollar[2].lengthScaleOptUnion().Precision != tree.NotDefineDec && yyDollar[2].lengthScaleOptUnion().Precision > yyDollar[2].lengthScaleOptUnion().DisplayWith { @@ -15761,10 +16209,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1224: + case 1245: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7204 +//line mysql_sql.y:7329 { locale := "" if yyDollar[2].lengthScaleOptUnion().Precision != tree.NotDefineDec && yyDollar[2].lengthScaleOptUnion().Precision > yyDollar[2].lengthScaleOptUnion().DisplayWith { @@ -15801,10 +16249,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1225: + case 1246: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7252 +//line mysql_sql.y:7377 { locale := "" yyLOCAL = &tree.T{ @@ -15820,10 +16268,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1226: + case 1247: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7269 +//line mysql_sql.y:7394 { locale := "" yyLOCAL = &tree.T{ @@ -15836,10 +16284,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1227: + case 1248: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7281 +//line mysql_sql.y:7406 { locale := "" if yyDollar[2].lengthOptUnion() < 0 || yyDollar[2].lengthOptUnion() > 6 { @@ -15860,10 +16308,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1228: + case 1249: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7301 +//line mysql_sql.y:7426 { locale := "" if yyDollar[2].lengthOptUnion() < 0 || yyDollar[2].lengthOptUnion() > 6 { @@ -15884,10 +16332,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1229: + case 1250: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7321 +//line mysql_sql.y:7446 { locale := "" if yyDollar[2].lengthOptUnion() < 0 || yyDollar[2].lengthOptUnion() > 6 { @@ -15908,10 +16356,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1230: + case 1251: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7341 +//line mysql_sql.y:7466 { locale := "" yyLOCAL = &tree.T{ @@ -15926,10 +16374,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1231: + case 1252: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7357 +//line mysql_sql.y:7482 { locale := "" yyLOCAL = &tree.T{ @@ -15943,10 +16391,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1232: + case 1253: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7370 +//line mysql_sql.y:7495 { locale := "" yyLOCAL = &tree.T{ @@ -15960,10 +16408,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1233: + case 1254: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7383 +//line mysql_sql.y:7508 { locale := "" yyLOCAL = &tree.T{ @@ -15977,10 +16425,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1234: + case 1255: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7396 +//line mysql_sql.y:7521 { locale := "" yyLOCAL = &tree.T{ @@ -15994,10 +16442,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1235: + case 1256: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7409 +//line mysql_sql.y:7534 { locale := "" yyLOCAL = &tree.T{ @@ -16010,10 +16458,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1236: + case 1257: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7421 +//line mysql_sql.y:7546 { locale := "" yyLOCAL = &tree.T{ @@ -16026,10 +16474,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1237: + case 1258: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7433 +//line mysql_sql.y:7558 { locale := "" yyLOCAL = &tree.T{ @@ -16042,10 +16490,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1238: + case 1259: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7445 +//line mysql_sql.y:7570 { locale := "" yyLOCAL = &tree.T{ @@ -16058,10 +16506,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1239: + case 1260: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7457 +//line mysql_sql.y:7582 { locale := "" yyLOCAL = &tree.T{ @@ -16074,10 +16522,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1240: + case 1261: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7469 +//line mysql_sql.y:7594 { locale := "" yyLOCAL = &tree.T{ @@ -16090,10 +16538,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1241: + case 1262: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7481 +//line mysql_sql.y:7606 { locale := "" yyLOCAL = &tree.T{ @@ -16106,10 +16554,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1242: + case 1263: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7493 +//line mysql_sql.y:7618 { locale := "" yyLOCAL = &tree.T{ @@ -16122,10 +16570,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1243: + case 1264: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7505 +//line mysql_sql.y:7630 { locale := "" yyLOCAL = &tree.T{ @@ -16138,10 +16586,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1244: + case 1265: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7517 +//line mysql_sql.y:7642 { locale := "" yyLOCAL = &tree.T{ @@ -16155,10 +16603,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1245: + case 1266: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7530 +//line mysql_sql.y:7655 { locale := "" yyLOCAL = &tree.T{ @@ -16172,10 +16620,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1246: + case 1267: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7543 +//line mysql_sql.y:7668 { locale := "" yyLOCAL = &tree.T{ @@ -16189,20 +16637,20 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1247: + case 1268: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:7558 +//line mysql_sql.y:7683 { yyLOCAL = &tree.Do{ Exprs: yyDollar[2].exprsUnion(), } } yyVAL.union = yyLOCAL - case 1248: + case 1269: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:7566 +//line mysql_sql.y:7691 { yyLOCAL = &tree.Declare{ Variables: yyDollar[2].strsUnion(), @@ -16211,10 +16659,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1249: + case 1270: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:7575 +//line mysql_sql.y:7700 { yyLOCAL = &tree.Declare{ Variables: yyDollar[2].strsUnion(), @@ -16223,10 +16671,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1250: + case 1271: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:7585 +//line mysql_sql.y:7710 { locale := "" yyLOCAL = &tree.T{ @@ -16239,75 +16687,75 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1251: + case 1272: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:7608 +//line mysql_sql.y:7733 { yyLOCAL = make([]string, 0, 4) yyLOCAL = append(yyLOCAL, yyDollar[1].str) } yyVAL.union = yyLOCAL - case 1252: + case 1273: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:7613 +//line mysql_sql.y:7738 { yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1253: + case 1274: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int32 -//line mysql_sql.y:7619 +//line mysql_sql.y:7744 { yyLOCAL = 0 } yyVAL.union = yyLOCAL - case 1255: + case 1276: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int32 -//line mysql_sql.y:7626 +//line mysql_sql.y:7751 { yyLOCAL = 0 } yyVAL.union = yyLOCAL - case 1256: + case 1277: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int32 -//line mysql_sql.y:7630 +//line mysql_sql.y:7755 { yyLOCAL = int32(yyDollar[2].item.(int64)) } yyVAL.union = yyLOCAL - case 1257: + case 1278: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int32 -//line mysql_sql.y:7635 +//line mysql_sql.y:7760 { yyLOCAL = int32(-1) } yyVAL.union = yyLOCAL - case 1258: + case 1279: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int32 -//line mysql_sql.y:7639 +//line mysql_sql.y:7764 { yyLOCAL = int32(yyDollar[2].item.(int64)) } yyVAL.union = yyLOCAL - case 1259: + case 1280: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int32 -//line mysql_sql.y:7645 +//line mysql_sql.y:7770 { yyLOCAL = tree.GetDisplayWith(int32(yyDollar[2].item.(int64))) } yyVAL.union = yyLOCAL - case 1260: + case 1281: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.LengthScaleOpt -//line mysql_sql.y:7651 +//line mysql_sql.y:7776 { yyLOCAL = tree.LengthScaleOpt{ DisplayWith: tree.NotDefineDisplayWidth, @@ -16315,10 +16763,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1261: + case 1282: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.LengthScaleOpt -//line mysql_sql.y:7658 +//line mysql_sql.y:7783 { yyLOCAL = tree.LengthScaleOpt{ DisplayWith: tree.GetDisplayWith(int32(yyDollar[2].item.(int64))), @@ -16326,10 +16774,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1262: + case 1283: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.LengthScaleOpt -//line mysql_sql.y:7665 +//line mysql_sql.y:7790 { yyLOCAL = tree.LengthScaleOpt{ DisplayWith: tree.GetDisplayWith(int32(yyDollar[2].item.(int64))), @@ -16337,10 +16785,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1263: + case 1284: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.LengthScaleOpt -//line mysql_sql.y:7674 +//line mysql_sql.y:7799 { yyLOCAL = tree.LengthScaleOpt{ DisplayWith: 34, // this is the default precision for decimal @@ -16348,10 +16796,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1264: + case 1285: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.LengthScaleOpt -//line mysql_sql.y:7681 +//line mysql_sql.y:7806 { yyLOCAL = tree.LengthScaleOpt{ DisplayWith: tree.GetDisplayWith(int32(yyDollar[2].item.(int64))), @@ -16359,10 +16807,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1265: + case 1286: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.LengthScaleOpt -//line mysql_sql.y:7688 +//line mysql_sql.y:7813 { yyLOCAL = tree.LengthScaleOpt{ DisplayWith: tree.GetDisplayWith(int32(yyDollar[2].item.(int64))), @@ -16370,52 +16818,52 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1266: + case 1287: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:7697 +//line mysql_sql.y:7822 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1267: + case 1288: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:7701 +//line mysql_sql.y:7826 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1268: + case 1289: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:7705 +//line mysql_sql.y:7830 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1269: + case 1290: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:7711 +//line mysql_sql.y:7836 { } - case 1270: + case 1291: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:7713 +//line mysql_sql.y:7838 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1274: + case 1295: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:7723 +//line mysql_sql.y:7848 { yyVAL.str = "" } - case 1275: + case 1296: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:7727 +//line mysql_sql.y:7852 { yyVAL.str = string(yyDollar[1].str) } diff --git a/pkg/sql/parsers/dialect/mysql/mysql_sql.y b/pkg/sql/parsers/dialect/mysql/mysql_sql.y index 51f56ff6b6f7..7b183539c4bb 100644 --- a/pkg/sql/parsers/dialect/mysql/mysql_sql.y +++ b/pkg/sql/parsers/dialect/mysql/mysql_sql.y @@ -51,6 +51,12 @@ import ( loadParam *tree.ExternParam tailParam *tree.TailParameter + functionName *tree.FunctionName + funcArg tree.FunctionArg + funcArgs tree.FunctionArgs + funcArgDecl *tree.FunctionArgDecl + funcReturn *tree.ReturnType + from *tree.From where *tree.Where groupBy tree.GroupBy @@ -256,7 +262,7 @@ import ( %token LOW_PRIORITY HIGH_PRIORITY DELAYED // Create Table -%token CREATE ALTER DROP RENAME ANALYZE ADD +%token CREATE ALTER DROP RENAME ANALYZE ADD RETURNS %token SCHEMA TABLE INDEX VIEW TO IGNORE IF PRIMARY COLUMN CONSTRAINT SPATIAL FULLTEXT FOREIGN KEY_BLOCK_SIZE %token SHOW DESCRIBE EXPLAIN DATE ESCAPE REPAIR OPTIMIZE TRUNCATE %token MAXVALUE PARTITION REORGANIZE LESS THAN PROCEDURE TRIGGER @@ -268,6 +274,7 @@ import ( %token RANGE LIST ALGORITHM LINEAR PARTITIONS SUBPARTITION SUBPARTITIONS CLUSTER %token TYPE ANY SOME EXTERNAL LOCALFILE URL %token PREPARE DEALLOCATE RESET +%token EXTENSION // MO table option %token PROPERTIES @@ -361,10 +368,10 @@ import ( %type stmt_list %type create_stmt insert_stmt delete_stmt drop_stmt alter_stmt truncate_table_stmt %type delete_without_using_stmt delete_with_using_stmt -%type drop_ddl_stmt drop_database_stmt drop_table_stmt drop_index_stmt drop_prepare_stmt drop_view_stmt +%type drop_ddl_stmt drop_database_stmt drop_table_stmt drop_index_stmt drop_prepare_stmt drop_view_stmt drop_function_stmt %type drop_account_stmt drop_role_stmt drop_user_stmt %type create_account_stmt create_user_stmt create_role_stmt -%type create_ddl_stmt create_table_stmt create_database_stmt create_index_stmt create_view_stmt +%type create_ddl_stmt create_table_stmt create_database_stmt create_index_stmt create_view_stmt create_function_stmt create_extension_stmt %type show_stmt show_create_stmt show_columns_stmt show_databases_stmt show_target_filter_stmt show_table_status_stmt show_grants_stmt show_collation_stmt %type show_tables_stmt show_process_stmt show_errors_stmt show_warnings_stmt show_target %type show_function_status_stmt show_node_list_stmt show_locks_stmt @@ -382,6 +389,7 @@ import ( %type declare_stmt %type values_stmt %type mo_dump_stmt +%type load_extension_stmt %type kill_stmt %type row_constructor_list %type row_constructor @@ -405,6 +413,13 @@ import ( %type column_list column_list_opt partition_clause_opt partition_id_list insert_column_list accounts_opt accounts_list %type join_condition join_condition_opt on_expression_opt +%type func_name +%type func_args_list_opt func_args_list +%type func_arg +%type func_arg_decl +%type func_return +%type func_lang extension_lang extension_name + %type table_elem_list_opt table_elem_list %type table_elem constaint_def constraint_elem %type table_name table_name_opt_wild @@ -636,6 +651,7 @@ stmt: | grant_stmt | load_data_stmt | import_data_stmt +| load_extension_stmt | do_stmt | declare_stmt | values_stmt @@ -751,6 +767,14 @@ load_data_stmt: $$.(*tree.Load).Param.Tail = $10 } +load_extension_stmt: + LOAD extension_name + { + $$ = &tree.LoadExtension{ + Name: tree.Identifier($2), + } + } + load_set_spec_opt: { $$ = nil @@ -2591,6 +2615,7 @@ drop_ddl_stmt: | drop_role_stmt | drop_user_stmt | drop_account_stmt +| drop_function_stmt drop_account_stmt: DROP ACCOUNT exists_opt account_name @@ -2672,6 +2697,15 @@ drop_prepare_stmt: $$ = tree.NewDeallocate(tree.Identifier($3), true) } +drop_function_stmt: + DROP FUNCTION func_name '(' func_args_list_opt ')' + { + $$ = &tree.DropFunction{ + Name: $3, + Args: $5, + } + } + delete_stmt: delete_without_using_stmt | delete_with_using_stmt @@ -4017,6 +4051,97 @@ create_ddl_stmt: | create_database_stmt | create_index_stmt | create_view_stmt +| create_function_stmt +| create_extension_stmt + +create_extension_stmt: + CREATE EXTENSION extension_lang AS extension_name FILE STRING + { + $$ = &tree.CreateExtension{ + Language: $3, + Name: tree.Identifier($5), + Filename: tree.Identifier($7), + } + } + +extension_lang: + ident + { + $$ = $1 + } + +extension_name: + ident + { + $$ = $1 + } + + +create_function_stmt: + CREATE FUNCTION func_name '(' func_args_list_opt ')' RETURNS func_return LANGUAGE func_lang AS STRING + { + $$ = &tree.CreateFunction{ + Name: $3, + Args: $5, + ReturnType: $8, + Language: $10, + Body: $12, + } + } + +func_name: + ident + { + $$ = tree.NewFuncName(tree.Identifier($1)) + } + +func_args_list_opt: + { + $$ = tree.FunctionArgs(nil) + } +| func_args_list + +func_args_list: + func_arg + { + $$ = tree.FunctionArgs{$1} + } +| func_args_list ',' func_arg + { + $$ = append($1, $3) + } + +func_arg: + func_arg_decl + { + $$ = tree.FunctionArg($1) + } + +func_arg_decl: + column_type + { + $$ = tree.NewFunctionArgDecl(nil, $1, nil) + } +| column_name column_type + { + $$ = tree.NewFunctionArgDecl($1, $2, nil) + } +| column_name column_type DEFAULT literal + { + $$ = tree.NewFunctionArgDecl($1, $2, $4) + } + +func_lang: + ident + { + $$ = $1 + } + +func_return: + column_type + { + $$ = tree.NewReturnType($1) + } create_view_stmt: CREATE temporary_opt view_recursive_opt VIEW table_name column_list_opt AS select_stmt @@ -7912,6 +8037,7 @@ reserved_keyword: | GROUPS | NODE | LOCKS +| RETURNS non_reserved_keyword: ACCOUNT @@ -8093,6 +8219,7 @@ non_reserved_keyword: | HISTORY | LOW_CARDINALITY | S3OPTION +| EXTENSION func_not_keyword: DATE_ADD diff --git a/pkg/sql/parsers/dialect/mysql/mysql_sql_test.go b/pkg/sql/parsers/dialect/mysql/mysql_sql_test.go index 81390576768d..e5cbde03b29a 100644 --- a/pkg/sql/parsers/dialect/mysql/mysql_sql_test.go +++ b/pkg/sql/parsers/dialect/mysql/mysql_sql_test.go @@ -1778,6 +1778,42 @@ var ( input: "load data infile 'data.txt' into table db.a accounts(a1, a2) fields terminated by '\t' escaped by '\t'", output: "load data infile data.txt into table db.a accounts(a1, a2) fields terminated by \t escaped by \t", }, + { + input: `create function helloworld () returns int language sql as 'select id from test_table limit 1'`, + output: `create function helloworld () returns int language sql as 'select id from test_table limit 1'`, + }, + { + input: `create function twosum (x int, y int) returns int language sql as 'select $1 + $2'`, + output: `create function twosum (x int, y int) returns int language sql as 'select $1 + $2'`, + }, + { + input: `create function charat (x int) returns char language sql as 'select $1'`, + output: `create function charat (x int) returns char language sql as 'select $1'`, + }, + { + input: `create function charat (x int default 15) returns char language sql as 'select $1'`, + output: `create function charat (x int default 15) returns char language sql as 'select $1'`, + }, + { + input: `drop function helloworld ()`, + output: `drop function helloworld ()`, + }, + { + input: `drop function charat (int)`, + output: `drop function charat (int)`, + }, + { + input: `drop function twosum (int, int)`, + output: `drop function twosum (int, int)`, + }, + { + input: `create extension python as strutil file 'stringutils.whl'`, + output: `create extension python as strutil file stringutils.whl`, + }, + { + input: `load strutil`, + output: `load strutil`, + }, } ) diff --git a/pkg/sql/parsers/tree/extension.go b/pkg/sql/parsers/tree/extension.go new file mode 100644 index 000000000000..af3bdcfb92ea --- /dev/null +++ b/pkg/sql/parsers/tree/extension.go @@ -0,0 +1,41 @@ +// Copyright 2021 Matrix Origin +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package tree + +type CreateExtension struct { + statementImpl + Language string + Name Identifier + Filename Identifier +} + +type LoadExtension struct { + statementImpl + Name Identifier +} + +func (node *CreateExtension) Format(ctx *FmtCtx) { + ctx.WriteString("create extension ") + ctx.WriteString(node.Language) + ctx.WriteString(" as ") + node.Name.Format(ctx) + ctx.WriteString(" file ") + node.Filename.Format(ctx) +} + +func (node *LoadExtension) Format(ctx *FmtCtx) { + ctx.WriteString("load ") + node.Name.Format(ctx) +} diff --git a/pkg/sql/parsers/tree/function.go b/pkg/sql/parsers/tree/function.go new file mode 100644 index 000000000000..b9bf390bc350 --- /dev/null +++ b/pkg/sql/parsers/tree/function.go @@ -0,0 +1,148 @@ +// Copyright 2021 Matrix Origin +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package tree + +type FunctionArg interface { + NodeFormatter + Expr +} + +type FunctionArgImpl struct { + FunctionArg +} + +// container holding list of arguments in udf +type FunctionArgs []FunctionArg + +type FunctionArgDecl struct { + FunctionArgImpl + Name *UnresolvedName + Type ResolvableTypeReference + DefaultVal Expr +} + +type ReturnType struct { + Type ResolvableTypeReference +} + +func (node *FunctionArgDecl) Format(ctx *FmtCtx) { + if node.Name != nil { + node.Name.Format(ctx) + ctx.WriteByte(' ') + } + node.Type.(*T).InternalType.Format(ctx) + if node.DefaultVal != nil { + ctx.WriteString(" default ") + ctx.PrintExpr(node, node.DefaultVal, true) + } +} + +func (node *ReturnType) Format(ctx *FmtCtx) { + node.Type.(*T).InternalType.Format(ctx) +} + +type FunctionName struct { + Name Identifier +} + +type CreateFunction struct { + statementImpl + Name *FunctionName + Args FunctionArgs + ReturnType *ReturnType + Body string + Language string +} + +type DropFunction struct { + statementImpl + Name *FunctionName + Args FunctionArgs +} + +func (node *FunctionName) Format(ctx *FmtCtx) { + node.Name.Format(ctx) +} + +func (node *CreateFunction) Format(ctx *FmtCtx) { + ctx.WriteString("create function ") + + node.Name.Format(ctx) + + ctx.WriteString(" (") + + for i, def := range node.Args { + if i != 0 { + ctx.WriteString(",") + ctx.WriteByte(' ') + } + def.Format(ctx) + } + + ctx.WriteString(")") + ctx.WriteString(" returns ") + + node.ReturnType.Format(ctx) + + ctx.WriteString(" language ") + ctx.WriteString(node.Language) + + ctx.WriteString(" as '") + + ctx.WriteString(node.Body) + ctx.WriteString("'") +} + +func (node *DropFunction) Format(ctx *FmtCtx) { + ctx.WriteString("drop function ") + node.Name.Format(ctx) + ctx.WriteString(" (") + + for i, def := range node.Args { + if i != 0 { + ctx.WriteString(",") + ctx.WriteByte(' ') + } + def.Format(ctx) + } + + ctx.WriteString(")") +} + +func NewFunctionArgDecl(n *UnresolvedName, t ResolvableTypeReference, d Expr) *FunctionArgDecl { + return &FunctionArgDecl{ + Name: n, + Type: t, + DefaultVal: d, + } +} + +func NewFuncName(name Identifier) *FunctionName { + return &FunctionName{ + Name: name, + } +} + +func NewReturnType(t ResolvableTypeReference) *ReturnType { + return &ReturnType{ + Type: t, + } +} + +func (node *CreateFunction) GetStatementType() string { return "CreateFunction" } +func (node *CreateFunction) GetQueryType() string { return QueryTypeDDL } + +func (node *DropFunction) GetStatementType() string { return "DropFunction" } +func (node *DropFunction) GetQueryType() string { return QueryTypeDDL } diff --git a/test/distributed/cases/function/udf.result b/test/distributed/cases/function/udf.result new file mode 100644 index 000000000000..517a39643fff --- /dev/null +++ b/test/distributed/cases/function/udf.result @@ -0,0 +1,8 @@ +create function helloworld () returns int language sql as 'select id from test_table limit 1'; +create function twosum (x int, y int) returns int language sql as 'select $1 + $2' ; +create function twosum (x float, y float) returns float language sql as 'select $1 + $2' ; +create function twosum (x int) returns int language sql as 'select $1 + 10' ; +drop function helloWorld (); +drop function twosum (int, int); +drop function twosum (int); +drop function twosum (float, float); \ No newline at end of file diff --git a/test/distributed/cases/function/udf.sql b/test/distributed/cases/function/udf.sql new file mode 100644 index 000000000000..587e1d0c1299 --- /dev/null +++ b/test/distributed/cases/function/udf.sql @@ -0,0 +1,43 @@ +-- @suite +-- @setup + +-- @case +-- @desc:test for create function (no arg) +-- @label:bvt +create function helloworld () returns int language sql as 'select id from test_table limit 1'; + +-- @case +-- @desc:test for create function (multiple args) +-- @label:bvt +create function twosum (x int, y int) returns int language sql as 'select $1 + $2' ; + +-- @case +-- @desc:test for create function (duplicate function name with different argument types) +-- @label:bvt +create function twosum (x float, y float) returns float language sql as 'select $1 + $2' ; + +-- @case +-- @desc:test for create function (duplicate function name with different argument numbers) +-- @label:bvt +create function twosum (x int) returns int language sql as 'select $1 + 10' ; + +-- @case +-- @desc:test for drop function (no arg) +-- @label:bvt +drop function helloWorld (); + +-- @case +-- @desc:test for drop function (multiple args) +-- @label:bvt +drop function twosum (int, int); + +-- @case +-- @desc:test for drop function (duplicate function name with different argument numbers) +-- @label:bvt +drop function twosum (int); + +-- @case +-- @desc:test for drop function (duplicate function name with different argument types) +-- @label:bvt +drop function twosum (float, float); +