From a07c5910a0cd899b8dae1fc28a9038fc25f74901 Mon Sep 17 00:00:00 2001 From: Cao Kai Date: Mon, 1 Jun 2026 14:40:02 +0800 Subject: [PATCH 1/3] feat(parser): add TTL table option grammar (#24552) First step of native table-level TTL (auto-expiry), parser layer only, syntax aligned with TiDB: CREATE TABLE t (id INT, ts TIMESTAMP) TTL = `ts` + INTERVAL 7 DAY TTL_ENABLE = 'ON' TTL_JOB_INTERVAL = '1h'; ALTER TABLE t TTL = `ts` + INTERVAL 30 DAY; ALTER TABLE t REMOVE TTL; Changes: - New non-reserved keywords TTL / TTL_ENABLE / TTL_JOB_INTERVAL - table_option branches for the three options; the TTL expression is stored as a `col + INTERVAL n unit` binary expression - alter_option `REMOVE TTL` (table_option already flows into alter_option, so set/modify works for ALTER without extra nodes) - tree nodes TableOptionTTL / TableOptionTTLEnable / TableOptionTTLJobInterval and AlterTableRemoveTTL - unit tests: dialect roundtrip + AST assertions + tree Format/Free The plan layer still rejects these options as not-supported; persistence to TableDef and the background expiry job land in later PRs. Co-Authored-By: Claude Opus 4.8 --- pkg/sql/parsers/dialect/mysql/keywords.go | 3 + pkg/sql/parsers/dialect/mysql/mysql_sql.go | 23232 ++++++++-------- pkg/sql/parsers/dialect/mysql/mysql_sql.y | 23 + .../parsers/dialect/mysql/mysql_sql_test.go | 98 + pkg/sql/parsers/tree/alter.go | 35 + pkg/sql/parsers/tree/create.go | 121 + pkg/sql/parsers/tree/ttl_test.go | 55 + 7 files changed, 11988 insertions(+), 11579 deletions(-) create mode 100644 pkg/sql/parsers/tree/ttl_test.go diff --git a/pkg/sql/parsers/dialect/mysql/keywords.go b/pkg/sql/parsers/dialect/mysql/keywords.go index bbab06a975f7d..5e5d18d121c4f 100644 --- a/pkg/sql/parsers/dialect/mysql/keywords.go +++ b/pkg/sql/parsers/dialect/mysql/keywords.go @@ -377,6 +377,9 @@ func init() { "procedure": PROCEDURE, "proxy": PROXY, "properties": PROPERTIES, + "ttl": TTL, + "ttl_enable": TTL_ENABLE, + "ttl_job_interval": TTL_JOB_INTERVAL, "privileges": PRIVILEGES, "prev": PREV, "plugins": PLUGINS, diff --git a/pkg/sql/parsers/dialect/mysql/mysql_sql.go b/pkg/sql/parsers/dialect/mysql/mysql_sql.go index ee0670667e674..2e42831c9540a 100644 --- a/pkg/sql/parsers/dialect/mysql/mysql_sql.go +++ b/pkg/sql/parsers/dialect/mysql/mysql_sql.go @@ -405,348 +405,351 @@ const SYNC = 57693 const COVERAGE = 57694 const CCPR = 57695 const PROPERTIES = 57696 -const PARSER = 57697 -const VISIBLE = 57698 -const INVISIBLE = 57699 -const BTREE = 57700 -const HASH = 57701 -const RTREE = 57702 -const BSI = 57703 -const IVFFLAT = 57704 -const MASTER = 57705 -const HNSW = 57706 -const ZONEMAP = 57707 -const LEADING = 57708 -const BOTH = 57709 -const TRAILING = 57710 -const UNKNOWN = 57711 -const LISTS = 57712 -const OP_TYPE = 57713 -const REINDEX = 57714 -const EF_SEARCH = 57715 -const EF_CONSTRUCTION = 57716 -const M = 57717 -const ASYNC = 57718 -const FORCE_SYNC = 57719 -const AUTO_UPDATE = 57720 -const EXPIRE = 57721 -const ACCOUNT = 57722 -const ACCOUNTS = 57723 -const UNLOCK = 57724 -const DAY = 57725 -const NEVER = 57726 -const PUMP = 57727 -const MYSQL_COMPATIBILITY_MODE = 57728 -const UNIQUE_CHECK_ON_AUTOINCR = 57729 -const MODIFY = 57730 -const CHANGE = 57731 -const SECOND = 57732 -const ASCII = 57733 -const COALESCE = 57734 -const COLLATION = 57735 -const HOUR = 57736 -const MICROSECOND = 57737 -const MINUTE = 57738 -const MONTH = 57739 -const QUARTER = 57740 -const REPEAT = 57741 -const REVERSE = 57742 -const ROW_COUNT = 57743 -const WEEK = 57744 -const REVOKE = 57745 -const FUNCTION = 57746 -const PRIVILEGES = 57747 -const TABLESPACE = 57748 -const EXECUTE = 57749 -const SUPER = 57750 -const GRANT = 57751 -const OPTION = 57752 -const REFERENCES = 57753 -const REPLICATION = 57754 -const SLAVE = 57755 -const CLIENT = 57756 -const USAGE = 57757 -const RELOAD = 57758 -const FILE = 57759 -const FILES = 57760 -const TEMPORARY = 57761 -const ROUTINE = 57762 -const EVENT = 57763 -const SHUTDOWN = 57764 -const NULLX = 57765 -const AUTO_INCREMENT = 57766 -const APPROXNUM = 57767 -const ENGINES = 57768 -const LOW_CARDINALITY = 57769 -const AUTOEXTEND_SIZE = 57770 -const ADMIN_NAME = 57771 -const RANDOM = 57772 -const SUSPEND = 57773 -const ATTRIBUTE = 57774 -const HISTORY = 57775 -const REUSE = 57776 -const CURRENT = 57777 -const OPTIONAL = 57778 -const FAILED_LOGIN_ATTEMPTS = 57779 -const PASSWORD_LOCK_TIME = 57780 -const UNBOUNDED = 57781 -const SECONDARY = 57782 -const RESTRICTED = 57783 -const USER = 57784 -const IDENTIFIED = 57785 -const CIPHER = 57786 -const ISSUER = 57787 -const X509 = 57788 -const SUBJECT = 57789 -const SAN = 57790 -const REQUIRE = 57791 -const SSL = 57792 -const NONE = 57793 -const PASSWORD = 57794 -const SHARED = 57795 -const EXCLUSIVE = 57796 -const MAX_QUERIES_PER_HOUR = 57797 -const MAX_UPDATES_PER_HOUR = 57798 -const MAX_CONNECTIONS_PER_HOUR = 57799 -const MAX_USER_CONNECTIONS = 57800 -const FORMAT = 57801 -const VERBOSE = 57802 -const CONNECTION = 57803 -const TRIGGERS = 57804 -const PROFILES = 57805 -const LOAD = 57806 -const INLINE = 57807 -const INFILE = 57808 -const TERMINATED = 57809 -const OPTIONALLY = 57810 -const ENCLOSED = 57811 -const ESCAPED = 57812 -const STARTING = 57813 -const LINES = 57814 -const ROWS = 57815 -const IMPORT = 57816 -const DISCARD = 57817 -const JSONTYPE = 57818 -const MODUMP = 57819 -const OVER = 57820 -const PRECEDING = 57821 -const FOLLOWING = 57822 -const GROUPS = 57823 -const DATABASES = 57824 -const TABLES = 57825 -const SEQUENCES = 57826 -const EXTENDED = 57827 -const FULL = 57828 -const PROCESSLIST = 57829 -const FIELDS = 57830 -const COLUMNS = 57831 -const OPEN = 57832 -const ERRORS = 57833 -const WARNINGS = 57834 -const INDEXES = 57835 -const SCHEMAS = 57836 -const NODE = 57837 -const LOCKS = 57838 -const ROLES = 57839 -const RULE = 57840 -const RULES = 57841 -const TABLE_NUMBER = 57842 -const COLUMN_NUMBER = 57843 -const TABLE_VALUES = 57844 -const TABLE_SIZE = 57845 -const TASKS = 57846 -const RUNS = 57847 -const NAMES = 57848 -const GLOBAL = 57849 -const PERSIST = 57850 -const SESSION = 57851 -const ISOLATION = 57852 -const LEVEL = 57853 -const READ = 57854 -const WRITE = 57855 -const ONLY = 57856 -const REPEATABLE = 57857 -const COMMITTED = 57858 -const UNCOMMITTED = 57859 -const SERIALIZABLE = 57860 -const LOCAL = 57861 -const EVENTS = 57862 -const PLUGINS = 57863 -const CURRENT_TIMESTAMP = 57864 -const DATABASE = 57865 -const CURRENT_TIME = 57866 -const LOCALTIME = 57867 -const LOCALTIMESTAMP = 57868 -const UTC_DATE = 57869 -const UTC_TIME = 57870 -const UTC_TIMESTAMP = 57871 -const REPLACE = 57872 -const CONVERT = 57873 -const SEPARATOR = 57874 -const TIMESTAMPDIFF = 57875 -const TIMESTAMPADD = 57876 -const CURRENT_DATE = 57877 -const CURRENT_USER = 57878 -const CURRENT_ROLE = 57879 -const SECOND_MICROSECOND = 57880 -const MINUTE_MICROSECOND = 57881 -const MINUTE_SECOND = 57882 -const HOUR_MICROSECOND = 57883 -const HOUR_SECOND = 57884 -const HOUR_MINUTE = 57885 -const DAY_MICROSECOND = 57886 -const DAY_SECOND = 57887 -const DAY_MINUTE = 57888 -const DAY_HOUR = 57889 -const YEAR_MONTH = 57890 -const SQL_TSI_HOUR = 57891 -const SQL_TSI_DAY = 57892 -const SQL_TSI_WEEK = 57893 -const SQL_TSI_MONTH = 57894 -const SQL_TSI_QUARTER = 57895 -const SQL_TSI_YEAR = 57896 -const SQL_TSI_SECOND = 57897 -const SQL_TSI_MINUTE = 57898 -const RECURSIVE = 57899 -const CONFIG = 57900 -const DRAINER = 57901 -const SOURCE = 57902 -const STREAM = 57903 -const HEADERS = 57904 -const CONNECTOR = 57905 -const CONNECTORS = 57906 -const DAEMON = 57907 -const PAUSE = 57908 -const CANCEL = 57909 -const TASK = 57910 -const RESUME = 57911 -const SCHEDULE = 57912 -const TIMEZONE = 57913 -const TIMEOUT = 57914 -const MATCH = 57915 -const AGAINST = 57916 -const BOOLEAN = 57917 -const LANGUAGE = 57918 -const QUERY = 57919 -const EXPANSION = 57920 -const WITHOUT = 57921 -const VALIDATION = 57922 -const UPGRADE = 57923 -const RETRY = 57924 -const ADDDATE = 57925 -const BIT_AND = 57926 -const BIT_OR = 57927 -const BIT_XOR = 57928 -const CAST = 57929 -const COUNT = 57930 -const APPROX_COUNT = 57931 -const APPROX_COUNT_DISTINCT = 57932 -const SERIAL_EXTRACT = 57933 -const APPROX_PERCENTILE = 57934 -const CURDATE = 57935 -const CURTIME = 57936 -const DATE_ADD = 57937 -const DATE_SUB = 57938 -const EXTRACT = 57939 -const GROUP_CONCAT = 57940 -const MAX = 57941 -const MID = 57942 -const MIN = 57943 -const NOW = 57944 -const POSITION = 57945 -const SESSION_USER = 57946 -const STD = 57947 -const STDDEV = 57948 -const MEDIAN = 57949 -const CLUSTER_CENTERS = 57950 -const KMEANS = 57951 -const STDDEV_POP = 57952 -const STDDEV_SAMP = 57953 -const SUBDATE = 57954 -const SUBSTR = 57955 -const SUBSTRING = 57956 -const SUM = 57957 -const SYSDATE = 57958 -const SYSTEM_USER = 57959 -const TRANSLATE = 57960 -const TRIM = 57961 -const VARIANCE = 57962 -const VAR_POP = 57963 -const VAR_SAMP = 57964 -const AVG = 57965 -const RANK = 57966 -const ROW_NUMBER = 57967 -const DENSE_RANK = 57968 -const CUME_DIST = 57969 -const BIT_CAST = 57970 -const LAG = 57971 -const LEAD = 57972 -const FIRST_VALUE = 57973 -const LAST_VALUE = 57974 -const NTH_VALUE = 57975 -const NTILE = 57976 -const PERCENT_RANK = 57977 -const BITMAP_BIT_POSITION = 57978 -const BITMAP_BUCKET_NUMBER = 57979 -const BITMAP_COUNT = 57980 -const BITMAP_CONSTRUCT_AGG = 57981 -const BITMAP_OR_AGG = 57982 -const GET_FORMAT = 57983 -const SRID = 57984 -const NEXTVAL = 57985 -const SETVAL = 57986 -const CURRVAL = 57987 -const LASTVAL = 57988 -const ROW = 57989 -const OUTFILE = 57990 -const HEADER = 57991 -const MAX_FILE_SIZE = 57992 -const FORCE_QUOTE = 57993 -const PARALLEL = 57994 -const STRICT = 57995 -const SPLITSIZE = 57996 -const UNUSED = 57997 -const BINDINGS = 57998 -const GENERATED = 57999 -const ALWAYS = 58000 -const STORED = 58001 -const VIRTUAL = 58002 -const DO = 58003 -const DECLARE = 58004 -const LOOP = 58005 -const WHILE = 58006 -const LEAVE = 58007 -const ITERATE = 58008 -const UNTIL = 58009 -const CALL = 58010 -const PREV = 58011 -const SLIDING = 58012 -const FILL = 58013 -const SPBEGIN = 58014 -const BACKEND = 58015 -const SERVERS = 58016 -const HANDLER = 58017 -const PERCENT = 58018 -const SAMPLE = 58019 -const MO_TS = 58020 -const PITR = 58021 -const RECOVERY_WINDOW = 58022 -const INTERNAL = 58023 -const CDC = 58024 -const GROUPING = 58025 -const SETS = 58026 -const CUBE = 58027 -const ROLLUP = 58028 -const LOGSERVICE = 58029 -const REPLICAS = 58030 -const STORES = 58031 -const SETTINGS = 58032 -const KILL = 58033 -const BACKUP = 58034 -const FILESYSTEM = 58035 -const PARALLELISM = 58036 -const RESTORE = 58037 -const QUERY_RESULT = 58038 +const TTL = 57697 +const TTL_ENABLE = 57698 +const TTL_JOB_INTERVAL = 57699 +const PARSER = 57700 +const VISIBLE = 57701 +const INVISIBLE = 57702 +const BTREE = 57703 +const HASH = 57704 +const RTREE = 57705 +const BSI = 57706 +const IVFFLAT = 57707 +const MASTER = 57708 +const HNSW = 57709 +const ZONEMAP = 57710 +const LEADING = 57711 +const BOTH = 57712 +const TRAILING = 57713 +const UNKNOWN = 57714 +const LISTS = 57715 +const OP_TYPE = 57716 +const REINDEX = 57717 +const EF_SEARCH = 57718 +const EF_CONSTRUCTION = 57719 +const M = 57720 +const ASYNC = 57721 +const FORCE_SYNC = 57722 +const AUTO_UPDATE = 57723 +const EXPIRE = 57724 +const ACCOUNT = 57725 +const ACCOUNTS = 57726 +const UNLOCK = 57727 +const DAY = 57728 +const NEVER = 57729 +const PUMP = 57730 +const MYSQL_COMPATIBILITY_MODE = 57731 +const UNIQUE_CHECK_ON_AUTOINCR = 57732 +const MODIFY = 57733 +const CHANGE = 57734 +const SECOND = 57735 +const ASCII = 57736 +const COALESCE = 57737 +const COLLATION = 57738 +const HOUR = 57739 +const MICROSECOND = 57740 +const MINUTE = 57741 +const MONTH = 57742 +const QUARTER = 57743 +const REPEAT = 57744 +const REVERSE = 57745 +const ROW_COUNT = 57746 +const WEEK = 57747 +const REVOKE = 57748 +const FUNCTION = 57749 +const PRIVILEGES = 57750 +const TABLESPACE = 57751 +const EXECUTE = 57752 +const SUPER = 57753 +const GRANT = 57754 +const OPTION = 57755 +const REFERENCES = 57756 +const REPLICATION = 57757 +const SLAVE = 57758 +const CLIENT = 57759 +const USAGE = 57760 +const RELOAD = 57761 +const FILE = 57762 +const FILES = 57763 +const TEMPORARY = 57764 +const ROUTINE = 57765 +const EVENT = 57766 +const SHUTDOWN = 57767 +const NULLX = 57768 +const AUTO_INCREMENT = 57769 +const APPROXNUM = 57770 +const ENGINES = 57771 +const LOW_CARDINALITY = 57772 +const AUTOEXTEND_SIZE = 57773 +const ADMIN_NAME = 57774 +const RANDOM = 57775 +const SUSPEND = 57776 +const ATTRIBUTE = 57777 +const HISTORY = 57778 +const REUSE = 57779 +const CURRENT = 57780 +const OPTIONAL = 57781 +const FAILED_LOGIN_ATTEMPTS = 57782 +const PASSWORD_LOCK_TIME = 57783 +const UNBOUNDED = 57784 +const SECONDARY = 57785 +const RESTRICTED = 57786 +const USER = 57787 +const IDENTIFIED = 57788 +const CIPHER = 57789 +const ISSUER = 57790 +const X509 = 57791 +const SUBJECT = 57792 +const SAN = 57793 +const REQUIRE = 57794 +const SSL = 57795 +const NONE = 57796 +const PASSWORD = 57797 +const SHARED = 57798 +const EXCLUSIVE = 57799 +const MAX_QUERIES_PER_HOUR = 57800 +const MAX_UPDATES_PER_HOUR = 57801 +const MAX_CONNECTIONS_PER_HOUR = 57802 +const MAX_USER_CONNECTIONS = 57803 +const FORMAT = 57804 +const VERBOSE = 57805 +const CONNECTION = 57806 +const TRIGGERS = 57807 +const PROFILES = 57808 +const LOAD = 57809 +const INLINE = 57810 +const INFILE = 57811 +const TERMINATED = 57812 +const OPTIONALLY = 57813 +const ENCLOSED = 57814 +const ESCAPED = 57815 +const STARTING = 57816 +const LINES = 57817 +const ROWS = 57818 +const IMPORT = 57819 +const DISCARD = 57820 +const JSONTYPE = 57821 +const MODUMP = 57822 +const OVER = 57823 +const PRECEDING = 57824 +const FOLLOWING = 57825 +const GROUPS = 57826 +const DATABASES = 57827 +const TABLES = 57828 +const SEQUENCES = 57829 +const EXTENDED = 57830 +const FULL = 57831 +const PROCESSLIST = 57832 +const FIELDS = 57833 +const COLUMNS = 57834 +const OPEN = 57835 +const ERRORS = 57836 +const WARNINGS = 57837 +const INDEXES = 57838 +const SCHEMAS = 57839 +const NODE = 57840 +const LOCKS = 57841 +const ROLES = 57842 +const RULE = 57843 +const RULES = 57844 +const TABLE_NUMBER = 57845 +const COLUMN_NUMBER = 57846 +const TABLE_VALUES = 57847 +const TABLE_SIZE = 57848 +const TASKS = 57849 +const RUNS = 57850 +const NAMES = 57851 +const GLOBAL = 57852 +const PERSIST = 57853 +const SESSION = 57854 +const ISOLATION = 57855 +const LEVEL = 57856 +const READ = 57857 +const WRITE = 57858 +const ONLY = 57859 +const REPEATABLE = 57860 +const COMMITTED = 57861 +const UNCOMMITTED = 57862 +const SERIALIZABLE = 57863 +const LOCAL = 57864 +const EVENTS = 57865 +const PLUGINS = 57866 +const CURRENT_TIMESTAMP = 57867 +const DATABASE = 57868 +const CURRENT_TIME = 57869 +const LOCALTIME = 57870 +const LOCALTIMESTAMP = 57871 +const UTC_DATE = 57872 +const UTC_TIME = 57873 +const UTC_TIMESTAMP = 57874 +const REPLACE = 57875 +const CONVERT = 57876 +const SEPARATOR = 57877 +const TIMESTAMPDIFF = 57878 +const TIMESTAMPADD = 57879 +const CURRENT_DATE = 57880 +const CURRENT_USER = 57881 +const CURRENT_ROLE = 57882 +const SECOND_MICROSECOND = 57883 +const MINUTE_MICROSECOND = 57884 +const MINUTE_SECOND = 57885 +const HOUR_MICROSECOND = 57886 +const HOUR_SECOND = 57887 +const HOUR_MINUTE = 57888 +const DAY_MICROSECOND = 57889 +const DAY_SECOND = 57890 +const DAY_MINUTE = 57891 +const DAY_HOUR = 57892 +const YEAR_MONTH = 57893 +const SQL_TSI_HOUR = 57894 +const SQL_TSI_DAY = 57895 +const SQL_TSI_WEEK = 57896 +const SQL_TSI_MONTH = 57897 +const SQL_TSI_QUARTER = 57898 +const SQL_TSI_YEAR = 57899 +const SQL_TSI_SECOND = 57900 +const SQL_TSI_MINUTE = 57901 +const RECURSIVE = 57902 +const CONFIG = 57903 +const DRAINER = 57904 +const SOURCE = 57905 +const STREAM = 57906 +const HEADERS = 57907 +const CONNECTOR = 57908 +const CONNECTORS = 57909 +const DAEMON = 57910 +const PAUSE = 57911 +const CANCEL = 57912 +const TASK = 57913 +const RESUME = 57914 +const SCHEDULE = 57915 +const TIMEZONE = 57916 +const TIMEOUT = 57917 +const MATCH = 57918 +const AGAINST = 57919 +const BOOLEAN = 57920 +const LANGUAGE = 57921 +const QUERY = 57922 +const EXPANSION = 57923 +const WITHOUT = 57924 +const VALIDATION = 57925 +const UPGRADE = 57926 +const RETRY = 57927 +const ADDDATE = 57928 +const BIT_AND = 57929 +const BIT_OR = 57930 +const BIT_XOR = 57931 +const CAST = 57932 +const COUNT = 57933 +const APPROX_COUNT = 57934 +const APPROX_COUNT_DISTINCT = 57935 +const SERIAL_EXTRACT = 57936 +const APPROX_PERCENTILE = 57937 +const CURDATE = 57938 +const CURTIME = 57939 +const DATE_ADD = 57940 +const DATE_SUB = 57941 +const EXTRACT = 57942 +const GROUP_CONCAT = 57943 +const MAX = 57944 +const MID = 57945 +const MIN = 57946 +const NOW = 57947 +const POSITION = 57948 +const SESSION_USER = 57949 +const STD = 57950 +const STDDEV = 57951 +const MEDIAN = 57952 +const CLUSTER_CENTERS = 57953 +const KMEANS = 57954 +const STDDEV_POP = 57955 +const STDDEV_SAMP = 57956 +const SUBDATE = 57957 +const SUBSTR = 57958 +const SUBSTRING = 57959 +const SUM = 57960 +const SYSDATE = 57961 +const SYSTEM_USER = 57962 +const TRANSLATE = 57963 +const TRIM = 57964 +const VARIANCE = 57965 +const VAR_POP = 57966 +const VAR_SAMP = 57967 +const AVG = 57968 +const RANK = 57969 +const ROW_NUMBER = 57970 +const DENSE_RANK = 57971 +const CUME_DIST = 57972 +const BIT_CAST = 57973 +const LAG = 57974 +const LEAD = 57975 +const FIRST_VALUE = 57976 +const LAST_VALUE = 57977 +const NTH_VALUE = 57978 +const NTILE = 57979 +const PERCENT_RANK = 57980 +const BITMAP_BIT_POSITION = 57981 +const BITMAP_BUCKET_NUMBER = 57982 +const BITMAP_COUNT = 57983 +const BITMAP_CONSTRUCT_AGG = 57984 +const BITMAP_OR_AGG = 57985 +const GET_FORMAT = 57986 +const SRID = 57987 +const NEXTVAL = 57988 +const SETVAL = 57989 +const CURRVAL = 57990 +const LASTVAL = 57991 +const ROW = 57992 +const OUTFILE = 57993 +const HEADER = 57994 +const MAX_FILE_SIZE = 57995 +const FORCE_QUOTE = 57996 +const PARALLEL = 57997 +const STRICT = 57998 +const SPLITSIZE = 57999 +const UNUSED = 58000 +const BINDINGS = 58001 +const GENERATED = 58002 +const ALWAYS = 58003 +const STORED = 58004 +const VIRTUAL = 58005 +const DO = 58006 +const DECLARE = 58007 +const LOOP = 58008 +const WHILE = 58009 +const LEAVE = 58010 +const ITERATE = 58011 +const UNTIL = 58012 +const CALL = 58013 +const PREV = 58014 +const SLIDING = 58015 +const FILL = 58016 +const SPBEGIN = 58017 +const BACKEND = 58018 +const SERVERS = 58019 +const HANDLER = 58020 +const PERCENT = 58021 +const SAMPLE = 58022 +const MO_TS = 58023 +const PITR = 58024 +const RECOVERY_WINDOW = 58025 +const INTERNAL = 58026 +const CDC = 58027 +const GROUPING = 58028 +const SETS = 58029 +const CUBE = 58030 +const ROLLUP = 58031 +const LOGSERVICE = 58032 +const REPLICAS = 58033 +const STORES = 58034 +const SETTINGS = 58035 +const KILL = 58036 +const BACKUP = 58037 +const FILESYSTEM = 58038 +const PARALLELISM = 58039 +const RESTORE = 58040 +const QUERY_RESULT = 58041 var yyToknames = [...]string{ "$end", @@ -1120,6 +1123,9 @@ var yyToknames = [...]string{ "COVERAGE", "CCPR", "PROPERTIES", + "TTL", + "TTL_ENABLE", + "TTL_JOB_INTERVAL", "PARSER", "VISIBLE", "INVISIBLE", @@ -1475,7 +1481,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line mysql_sql.y:14196 +//line mysql_sql.y:14219 //line yacctab:1 var yyExca = [...]int{ @@ -1483,6973 +1489,7002 @@ var yyExca = [...]int{ 1, -1, -2, 0, -1, 155, - 11, 870, - 24, 870, - -2, 863, + 11, 871, + 24, 871, + -2, 864, -1, 181, - 259, 1376, - 261, 1232, - -2, 1293, + 259, 1377, + 261, 1233, + -2, 1294, -1, 211, - 46, 681, - 261, 681, - 288, 688, - 289, 688, - 510, 681, - -2, 719, + 46, 682, + 261, 682, + 288, 689, + 289, 689, + 513, 682, + -2, 720, -1, 251, - 717, 2200, - -2, 568, - -1, 583, - 717, 2327, + 720, 2207, + -2, 569, + -1, 586, + 720, 2334, -2, 430, - -1, 641, - 717, 2386, + -1, 644, + 720, 2393, -2, 428, - -1, 642, - 717, 2387, + -1, 645, + 720, 2394, -2, 429, - -1, 643, - 717, 2388, + -1, 646, + 720, 2395, -2, 431, - -1, 801, + -1, 804, 340, 195, - 482, 195, - 483, 195, - -2, 2092, - -1, 868, - 88, 1862, - -2, 2263, - -1, 869, - 88, 1880, - -2, 2232, - -1, 873, - 88, 1881, - -2, 2262, - -1, 917, - 88, 1783, - -2, 2477, - -1, 918, - 88, 1784, - -2, 2476, - -1, 919, - 88, 1785, - -2, 2466, + 485, 195, + 486, 195, + -2, 2099, + -1, 871, + 88, 1866, + -2, 2270, + -1, 872, + 88, 1884, + -2, 2239, + -1, 876, + 88, 1885, + -2, 2269, -1, 920, - 88, 2438, - -2, 2459, + 88, 1787, + -2, 2484, -1, 921, - 88, 2439, - -2, 2460, + 88, 1788, + -2, 2483, -1, 922, - 88, 2440, - -2, 2468, + 88, 1789, + -2, 2473, -1, 923, - 88, 2441, - -2, 2448, + 88, 2445, + -2, 2466, -1, 924, - 88, 2442, - -2, 2457, + 88, 2446, + -2, 2467, -1, 925, - 88, 2443, - -2, 2469, + 88, 2447, + -2, 2475, -1, 926, - 88, 2444, - -2, 2470, + 88, 2448, + -2, 2455, -1, 927, - 88, 2445, - -2, 2475, + 88, 2449, + -2, 2464, -1, 928, - 88, 2446, - -2, 2480, + 88, 2450, + -2, 2476, -1, 929, - 88, 2447, - -2, 2481, + 88, 2451, + -2, 2477, -1, 930, - 88, 1858, - -2, 2301, + 88, 2452, + -2, 2482, -1, 931, - 88, 1859, - -2, 2072, + 88, 2453, + -2, 2487, -1, 932, - 88, 1860, - -2, 2310, + 88, 2454, + -2, 2488, -1, 933, - 88, 1861, - -2, 2085, + 88, 1862, + -2, 2308, + -1, 934, + 88, 1863, + -2, 2079, -1, 935, 88, 1864, - -2, 2094, - -1, 937, - 88, 1866, - -2, 2335, - -1, 939, + -2, 2317, + -1, 936, + 88, 1865, + -2, 2092, + -1, 938, 88, 1868, - -2, 2115, - -1, 941, + -2, 2101, + -1, 940, 88, 1870, - -2, 2347, + -2, 2342, -1, 942, - 88, 1871, - -2, 2346, - -1, 943, 88, 1872, - -2, 2162, + -2, 2122, -1, 944, - 88, 1873, - -2, 2258, - -1, 947, + 88, 1874, + -2, 2354, + -1, 945, + 88, 1875, + -2, 2353, + -1, 946, 88, 1876, - -2, 2358, - -1, 949, - 88, 1878, - -2, 2361, + -2, 2169, + -1, 947, + 88, 1877, + -2, 2265, -1, 950, - 88, 1879, - -2, 2363, - -1, 951, - 88, 1882, - -2, 2370, + 88, 1880, + -2, 2365, -1, 952, - 88, 1883, - -2, 2241, + 88, 1882, + -2, 2368, -1, 953, - 88, 1884, - -2, 2288, + 88, 1883, + -2, 2370, -1, 954, - 88, 1885, - -2, 2252, - -1, 955, 88, 1886, - -2, 2278, - -1, 966, - 88, 1761, - -2, 2471, - -1, 967, - 88, 1762, - -2, 2472, - -1, 968, - 88, 1763, - -2, 2473, - -1, 1082, - 505, 719, - 506, 719, - -2, 682, - -1, 1137, - 130, 2072, - 141, 2072, - 173, 2072, - -2, 2042, - -1, 1260, - 24, 899, - -2, 842, - -1, 1382, - 11, 870, - 24, 870, - -2, 1623, - -1, 1476, - 24, 899, - -2, 842, - -1, 1858, - 88, 1933, - -2, 2260, - -1, 1859, - 88, 1934, - -2, 2261, - -1, 2547, - 89, 1088, - -2, 1094, - -1, 2564, - 113, 1285, - 160, 1285, - 207, 1285, - 210, 1285, - 301, 1285, - -2, 1278, - -1, 2749, - 11, 870, - 24, 870, - -2, 1015, - -1, 2783, - 89, 2028, - 174, 2028, - -2, 2243, - -1, 2784, - 89, 2028, - 174, 2028, - -2, 2242, - -1, 2785, - 89, 1996, - 174, 1996, - -2, 2229, - -1, 2786, - 89, 1997, - 174, 1997, - -2, 2234, - -1, 2787, - 89, 1998, - 174, 1998, - -2, 2150, - -1, 2788, - 89, 1999, - 174, 1999, - -2, 2143, - -1, 2789, + -2, 2377, + -1, 955, + 88, 1887, + -2, 2248, + -1, 956, + 88, 1888, + -2, 2295, + -1, 957, + 88, 1889, + -2, 2259, + -1, 958, + 88, 1890, + -2, 2285, + -1, 969, + 88, 1765, + -2, 2478, + -1, 970, + 88, 1766, + -2, 2479, + -1, 971, + 88, 1767, + -2, 2480, + -1, 1085, + 508, 720, + 509, 720, + -2, 683, + -1, 1140, + 130, 2079, + 141, 2079, + 173, 2079, + -2, 2046, + -1, 1263, + 24, 900, + -2, 843, + -1, 1385, + 11, 871, + 24, 871, + -2, 1627, + -1, 1479, + 24, 900, + -2, 843, + -1, 1861, + 88, 1937, + -2, 2267, + -1, 1862, + 88, 1938, + -2, 2268, + -1, 2554, + 89, 1089, + -2, 1095, + -1, 2571, + 113, 1286, + 160, 1286, + 207, 1286, + 210, 1286, + 301, 1286, + -2, 1279, + -1, 2760, + 11, 871, + 24, 871, + -2, 1016, + -1, 2794, + 89, 2032, + 174, 2032, + -2, 2250, + -1, 2795, + 89, 2032, + 174, 2032, + -2, 2249, + -1, 2796, 89, 2000, 174, 2000, - -2, 2060, - -1, 2790, + -2, 2236, + -1, 2797, 89, 2001, 174, 2001, - -2, 2231, - -1, 2791, + -2, 2241, + -1, 2798, 89, 2002, 174, 2002, - -2, 2148, - -1, 2792, + -2, 2157, + -1, 2799, 89, 2003, 174, 2003, - -2, 2142, - -1, 2793, + -2, 2150, + -1, 2800, 89, 2004, 174, 2004, - -2, 2130, - -1, 2794, - 89, 2028, - 174, 2028, - -2, 2131, - -1, 2795, - 89, 2028, - 174, 2028, - -2, 2132, - -1, 2797, - 89, 2009, - 174, 2009, - -2, 2278, - -1, 2798, - 89, 1986, - 174, 1986, - -2, 2263, - -1, 2799, - 89, 2026, - 174, 2026, - -2, 2232, - -1, 2800, - 89, 2026, - 174, 2026, - -2, 2262, + -2, 2067, -1, 2801, - 89, 2026, - 174, 2026, - -2, 2095, + 89, 2005, + 174, 2005, + -2, 2238, -1, 2802, - 89, 2024, - 174, 2024, - -2, 2252, + 89, 2006, + 174, 2006, + -2, 2155, -1, 2803, - 88, 1967, - 89, 1967, - 163, 1967, - 164, 1967, - 166, 1967, - 174, 1967, - -2, 2059, + 89, 2007, + 174, 2007, + -2, 2149, -1, 2804, - 88, 1968, - 89, 1968, - 163, 1968, - 164, 1968, - 166, 1968, - 174, 1968, - -2, 2061, + 89, 2008, + 174, 2008, + -2, 2137, -1, 2805, - 88, 1969, - 89, 1969, - 163, 1969, - 164, 1969, - 166, 1969, - 174, 1969, - -2, 2306, + 89, 2032, + 174, 2032, + -2, 2138, -1, 2806, + 89, 2032, + 174, 2032, + -2, 2139, + -1, 2808, + 89, 2013, + 174, 2013, + -2, 2285, + -1, 2809, + 89, 1990, + 174, 1990, + -2, 2270, + -1, 2810, + 89, 2030, + 174, 2030, + -2, 2239, + -1, 2811, + 89, 2030, + 174, 2030, + -2, 2269, + -1, 2812, + 89, 2030, + 174, 2030, + -2, 2102, + -1, 2813, + 89, 2028, + 174, 2028, + -2, 2259, + -1, 2814, 88, 1971, 89, 1971, 163, 1971, 164, 1971, 166, 1971, 174, 1971, - -2, 2233, - -1, 2807, + -2, 2066, + -1, 2815, + 88, 1972, + 89, 1972, + 163, 1972, + 164, 1972, + 166, 1972, + 174, 1972, + -2, 2068, + -1, 2816, 88, 1973, 89, 1973, 163, 1973, 164, 1973, 166, 1973, 174, 1973, - -2, 2210, - -1, 2808, + -2, 2313, + -1, 2817, 88, 1975, 89, 1975, 163, 1975, 164, 1975, 166, 1975, 174, 1975, - -2, 2149, - -1, 2809, + -2, 2240, + -1, 2818, 88, 1977, 89, 1977, 163, 1977, 164, 1977, 166, 1977, 174, 1977, - -2, 2126, - -1, 2810, - 88, 1978, - 89, 1978, - 163, 1978, - 164, 1978, - 166, 1978, - 174, 1978, - -2, 2127, - -1, 2811, - 88, 1980, - 89, 1980, - 163, 1980, - 164, 1980, - 166, 1980, - 174, 1980, - -2, 2058, - -1, 2812, - 89, 2031, - 163, 2031, - 164, 2031, - 166, 2031, - 174, 2031, - -2, 2100, - -1, 2813, - 89, 2031, - 163, 2031, - 164, 2031, - 166, 2031, - 174, 2031, - -2, 2116, - -1, 2814, - 89, 2034, - 163, 2034, - 164, 2034, - 166, 2034, - 174, 2034, - -2, 2096, - -1, 2815, - 89, 2034, - 163, 2034, - 164, 2034, - 166, 2034, - 174, 2034, - -2, 2165, - -1, 2816, - 89, 2031, - 163, 2031, - 164, 2031, - 166, 2031, - 174, 2031, - -2, 2192, - -1, 2817, - 89, 2014, - 174, 2014, - -2, 2120, - -1, 2818, - 89, 2015, - 174, 2015, - -2, 2179, + -2, 2217, -1, 2819, - 89, 2016, - 174, 2016, - -2, 2140, + 88, 1979, + 89, 1979, + 163, 1979, + 164, 1979, + 166, 1979, + 174, 1979, + -2, 2156, -1, 2820, - 89, 2017, - 174, 2017, - -2, 2180, + 88, 1981, + 89, 1981, + 163, 1981, + 164, 1981, + 166, 1981, + 174, 1981, + -2, 2133, -1, 2821, + 88, 1982, + 89, 1982, + 163, 1982, + 164, 1982, + 166, 1982, + 174, 1982, + -2, 2134, + -1, 2822, + 88, 1984, + 89, 1984, + 163, 1984, + 164, 1984, + 166, 1984, + 174, 1984, + -2, 2065, + -1, 2823, + 89, 2035, + 163, 2035, + 164, 2035, + 166, 2035, + 174, 2035, + -2, 2107, + -1, 2824, + 89, 2035, + 163, 2035, + 164, 2035, + 166, 2035, + 174, 2035, + -2, 2123, + -1, 2825, + 89, 2038, + 163, 2038, + 164, 2038, + 166, 2038, + 174, 2038, + -2, 2103, + -1, 2826, + 89, 2038, + 163, 2038, + 164, 2038, + 166, 2038, + 174, 2038, + -2, 2172, + -1, 2827, + 89, 2035, + 163, 2035, + 164, 2035, + 166, 2035, + 174, 2035, + -2, 2199, + -1, 2828, 89, 2018, 174, 2018, - -2, 2121, - -1, 2822, + -2, 2127, + -1, 2829, 89, 2019, 174, 2019, - -2, 2154, - -1, 2823, + -2, 2186, + -1, 2830, 89, 2020, 174, 2020, - -2, 2153, - -1, 2824, + -2, 2147, + -1, 2831, 89, 2021, 174, 2021, - -2, 2155, - -1, 3072, - 113, 1285, - 160, 1285, - 207, 1285, - 210, 1285, - 301, 1285, - -2, 1279, - -1, 3099, - 86, 784, - 174, 784, - -2, 1491, - -1, 3565, - 210, 1285, - 325, 1586, - -2, 1552, - -1, 3608, - 11, 870, - 24, 870, - -2, 1623, - -1, 3797, - 113, 1285, - 160, 1285, - 207, 1285, - 210, 1285, - -2, 1432, - -1, 3801, - 113, 1285, - 160, 1285, - 207, 1285, - 210, 1285, - -2, 1432, + -2, 2187, + -1, 2832, + 89, 2022, + 174, 2022, + -2, 2128, + -1, 2833, + 89, 2023, + 174, 2023, + -2, 2161, + -1, 2834, + 89, 2024, + 174, 2024, + -2, 2160, + -1, 2835, + 89, 2025, + 174, 2025, + -2, 2162, + -1, 3083, + 113, 1286, + 160, 1286, + 207, 1286, + 210, 1286, + 301, 1286, + -2, 1280, + -1, 3110, + 86, 785, + 174, 785, + -2, 1495, + -1, 3579, + 210, 1286, + 325, 1590, + -2, 1556, + -1, 3623, + 11, 871, + 24, 871, + -2, 1627, + -1, 3812, + 113, 1286, + 160, 1286, + 207, 1286, + 210, 1286, + -2, 1433, -1, 3816, - 86, 784, - 174, 784, - -2, 1491, - -1, 3837, - 210, 1285, - 325, 1586, - -2, 1553, - -1, 4030, - 113, 1285, - 160, 1285, - 207, 1285, - 210, 1285, + 113, 1286, + 160, 1286, + 207, 1286, + 210, 1286, -2, 1433, - -1, 4058, - 89, 1394, - 174, 1394, - -2, 1285, - -1, 4245, - 89, 1394, - 174, 1394, - -2, 1285, - -1, 4446, - 89, 1398, - 174, 1398, - -2, 1285, - -1, 4500, + -1, 3831, + 86, 785, + 174, 785, + -2, 1495, + -1, 3852, + 210, 1286, + 325, 1590, + -2, 1557, + -1, 4046, + 113, 1286, + 160, 1286, + 207, 1286, + 210, 1286, + -2, 1434, + -1, 4074, + 89, 1395, + 174, 1395, + -2, 1286, + -1, 4261, + 89, 1395, + 174, 1395, + -2, 1286, + -1, 4462, 89, 1399, 174, 1399, - -2, 1285, + -2, 1286, + -1, 4516, + 89, 1400, + 174, 1400, + -2, 1286, } const yyPrivate = 57344 -const yyLast = 64598 +const yyLast = 64884 var yyAct = [...]int{ - 835, 3129, 811, 837, 4549, 4523, 240, 4541, 1763, 4456, - 4450, 2168, 1838, 3933, 3822, 3586, 4460, 4449, 4461, 4358, - 4245, 2286, 3551, 4308, 3445, 3883, 4407, 820, 3674, 4143, - 4089, 3851, 4223, 1673, 813, 3447, 3123, 4183, 4299, 3928, - 3675, 1418, 4335, 4017, 3672, 1904, 4244, 3768, 3024, 1599, - 694, 3126, 865, 1261, 3938, 1136, 38, 4213, 227, 3, - 3776, 4309, 3320, 4311, 3782, 3560, 2107, 2626, 713, 4027, - 1605, 1891, 724, 3838, 4038, 1834, 1764, 724, 737, 746, - 3249, 3102, 746, 1841, 3516, 3998, 3499, 4032, 3474, 2860, - 3802, 3250, 2953, 154, 1888, 3730, 2273, 2235, 3248, 1266, - 225, 2289, 3218, 3580, 3152, 70, 3569, 3804, 3766, 3503, - 3562, 2350, 2743, 3032, 2270, 3605, 3724, 3245, 2313, 1887, - 2779, 759, 764, 2382, 3656, 1909, 2629, 3481, 3634, 3479, - 3060, 3464, 3280, 1906, 743, 3477, 3476, 3527, 2867, 1263, - 755, 3568, 2126, 3475, 2512, 3073, 3472, 2586, 37, 3429, - 1752, 1666, 803, 3236, 808, 2511, 2358, 2016, 2348, 2351, - 2378, 2416, 1748, 1768, 2359, 2842, 1753, 1007, 1756, 2266, - 2318, 2744, 2239, 2726, 2377, 3042, 1741, 2236, 3048, 3154, - 2721, 3089, 1560, 724, 1045, 3134, 236, 8, 6, 2627, - 2078, 2158, 2564, 2585, 1905, 1837, 2777, 235, 7, 1199, - 2412, 2379, 812, 1832, 1130, 1715, 2345, 1682, 1651, 1645, - 2555, 2125, 2622, 2357, 2099, 802, 694, 2354, 712, 2514, - 810, 2558, 1823, 1898, 1284, 2334, 821, 1874, 24, 804, - 1722, 1129, 2073, 752, 1831, 2751, 1588, 2077, 1044, 1705, - 240, 2722, 240, 728, 1190, 1191, 1650, 1609, 1647, 1600, - 970, 724, 1910, 761, 693, 25, 218, 26, 1498, 226, - 17, 762, 10, 1584, 1170, 1024, 222, 1093, 721, 1474, - 1077, 1042, 1030, 1503, 1419, 758, 745, 972, 2386, 973, - 1347, 1348, 1349, 1346, 28, 4320, 4209, 1187, 1061, 2998, - 1570, 2753, 2998, 2998, 1574, 1347, 1348, 1349, 1346, 1347, - 1348, 1349, 1346, 3819, 3688, 3539, 3439, 1608, 3438, 756, - 3343, 1525, 3342, 1142, 2396, 2039, 1499, 3981, 1267, 3785, - 16, 1268, 3667, 2905, 2848, 1145, 2846, 719, 2843, 2845, - 804, 1500, 2029, 1729, 1725, 1182, 15, 1183, 224, 714, - 1186, 2510, 1188, 1493, 1566, 1567, 1568, 34, 1649, 4286, - 2287, 1459, 3436, 994, 731, 991, 1782, 2524, 750, 1183, - 1057, 1058, 742, 1183, 2517, 2036, 1502, 3422, 1144, 3419, - 3424, 1103, 14, 3421, 1165, 4535, 1267, 809, 1625, 5, - 2990, 2988, 2023, 1489, 3926, 3316, 1115, 1727, 1347, 1348, - 1349, 1346, 3314, 2323, 1347, 1348, 1349, 1346, 738, 4458, - 4457, 4082, 3681, 4294, 4150, 4144, 3929, 3673, 2344, 1413, - 2952, 8, 4313, 1181, 741, 2353, 971, 2865, 3393, 3462, - 2340, 2667, 7, 2701, 2992, 739, 183, 223, 182, 214, - 184, 4555, 4307, 982, 4532, 4158, 4305, 4195, 4156, 3757, - 2932, 2531, 4371, 3752, 3465, 2545, 215, 1690, 1510, 2261, - 740, 1040, 2218, 206, 1508, 1507, 1504, 216, 1166, 3970, - 995, 3391, 992, 1146, 1552, 1105, 1534, 3243, 1104, 2559, - 757, 4197, 793, 3968, 2771, 795, 153, 2049, 1344, 961, - 794, 960, 962, 963, 2772, 964, 965, 989, 2250, 2251, - 1532, 139, 1824, 3288, 3289, 1828, 1140, 1652, 1141, 1654, - 219, 3287, 1780, 2394, 2047, 793, 2758, 1089, 795, 2757, - 2054, 2055, 2759, 794, 2283, 2249, 1565, 1062, 793, 1827, - 1517, 795, 1779, 2707, 2706, 1621, 794, 1596, 1622, 3555, - 1606, 1607, 1159, 1154, 1149, 1153, 1157, 3044, 1944, 3444, - 1324, 2861, 1102, 1325, 1064, 1108, 1106, 3045, 1107, 983, - 3553, 4464, 4465, 183, 223, 182, 214, 184, 2140, 3955, - 1162, 3023, 1337, 1840, 1152, 995, 1342, 992, 3019, 2119, - 3423, 1327, 3420, 1139, 1138, 3269, 1111, 2735, 2736, 183, - 223, 182, 214, 184, 183, 223, 182, 214, 184, 162, - 163, 4316, 164, 165, 4316, 4421, 3043, 166, 4315, 4420, - 167, 183, 223, 182, 214, 184, 4314, 4419, 1604, 4315, - 4314, 2659, 1603, 1606, 1607, 1160, 2489, 4489, 3676, 4433, - 4297, 1085, 4409, 1087, 1084, 1533, 3321, 219, 1088, 1624, - 1829, 183, 223, 182, 214, 184, 3021, 1163, 183, 223, - 182, 214, 184, 3016, 1164, 2993, 1635, 4527, 4528, 1116, - 1279, 1728, 1726, 219, 1826, 4409, 1083, 3322, 219, 3323, - 4412, 181, 212, 221, 213, 75, 137, 1789, 1056, 3676, - 4147, 1150, 2886, 1844, 1273, 219, 3173, 3326, 1322, 1063, - 1098, 3493, 993, 1112, 990, 211, 205, 204, 2398, 2716, - 2267, 4331, 76, 1287, 1290, 1161, 3691, 1276, 2257, 3020, - 3767, 1094, 1819, 2390, 3495, 219, 3017, 2117, 3774, 1036, - 161, 2709, 219, 4199, 4200, 2553, 916, 725, 1804, 4009, - 3866, 3029, 3954, 724, 2896, 3356, 2665, 986, 724, 1272, - 3956, 4463, 3237, 1151, 4435, 3490, 3491, 1095, 1099, 3683, - 1323, 3354, 1594, 1340, 1341, 1114, 1339, 1312, 746, 746, - 1298, 3492, 724, 207, 208, 209, 210, 1080, 2050, 1078, - 1082, 1102, 3051, 3927, 1291, 1079, 1076, 1075, 3315, 1081, - 1066, 1067, 1065, 1825, 1055, 1068, 1069, 1070, 1071, 1052, - 1638, 1535, 1100, 2991, 1101, 2048, 2395, 1193, 3231, 743, - 743, 743, 2711, 1282, 3972, 1096, 1097, 2281, 2282, 1335, - 1336, 4205, 987, 2712, 2713, 4006, 1623, 4300, 4301, 4302, - 4303, 217, 3966, 1492, 1158, 1843, 1842, 3489, 183, 223, - 1390, 1326, 2774, 3500, 3882, 3501, 1113, 4319, 4208, 1142, - 3000, 3694, 149, 1092, 3360, 2997, 210, 2719, 150, 1091, - 1334, 1145, 3022, 1053, 4166, 1268, 4167, 1268, 711, 3018, - 2118, 1155, 3557, 3584, 1156, 3585, 1086, 3582, 3583, 1148, - 1268, 3878, 1271, 3581, 4272, 988, 2216, 1272, 153, 3969, - 1616, 1110, 1710, 181, 212, 221, 213, 3769, 1304, 1509, - 3344, 1506, 2260, 4323, 1144, 4166, 2700, 4167, 2703, 2723, - 4186, 1384, 219, 151, 4033, 3341, 3982, 211, 2702, 2421, - 3791, 1422, 3528, 4161, 2385, 3660, 68, 3514, 1142, 1183, - 3047, 1183, 849, 1183, 1183, 1289, 1288, 4351, 1268, 4235, - 1145, 1183, 1183, 1850, 1853, 1854, 2730, 2734, 2735, 2736, - 2731, 2740, 2732, 2738, 1851, 2397, 2733, 4346, 2739, 2401, - 2403, 2404, 4168, 3090, 4198, 3487, 1606, 1607, 1090, 3734, - 2844, 4227, 4157, 849, 1059, 1060, 1730, 1051, 3736, 71, - 996, 3501, 1054, 1144, 4138, 1292, 748, 1606, 1607, 2566, - 1167, 1619, 1620, 1147, 4090, 4091, 4092, 4096, 4094, 4095, - 4097, 4093, 1109, 4168, 747, 971, 1495, 1497, 3871, 1501, - 1260, 1595, 3974, 3975, 3976, 159, 220, 1259, 160, 1141, - 1423, 2989, 3241, 3430, 2217, 1521, 1505, 2737, 985, 1524, - 66, 1500, 1500, 1781, 1531, 1301, 1281, 742, 742, 742, - 744, 2561, 4336, 1472, 1296, 1297, 1477, 796, 797, 798, - 799, 800, 1303, 4353, 3823, 1516, 1386, 1387, 1388, 1389, - 3971, 4359, 724, 2715, 1045, 3501, 744, 1278, 3128, 1391, - 3552, 744, 3830, 738, 738, 738, 3496, 1583, 1287, 1290, - 796, 797, 798, 799, 800, 2268, 4201, 2632, 744, 741, - 741, 741, 4434, 796, 797, 798, 799, 800, 3357, 4192, - 739, 739, 739, 3238, 3588, 3990, 71, 1275, 1277, 1280, - 152, 49, 1038, 4236, 1039, 2542, 3745, 67, 744, 3748, - 3174, 5, 3175, 3176, 2390, 740, 740, 740, 3884, 724, - 3457, 1634, 71, 3558, 1640, 2699, 3050, 71, 724, 4330, - 156, 157, 694, 694, 158, 4228, 1602, 4077, 4010, 1291, - 2774, 2258, 694, 694, 71, 1820, 1677, 1677, 4561, 724, - 3124, 3125, 2677, 3128, 2730, 2734, 2735, 2736, 2731, 2740, - 2732, 2738, 1434, 1435, 2733, 2676, 2739, 3941, 1512, 2645, - 1294, 746, 1706, 713, 71, 2625, 2648, 3747, 4544, 1718, - 1679, 3054, 3055, 1103, 3488, 2697, 2698, 183, 223, 3057, - 1556, 3202, 3085, 2112, 240, 1662, 3053, 1661, 1598, 1597, - 3582, 3583, 4162, 694, 1684, 1329, 4310, 1514, 1330, 1302, - 1852, 3081, 4072, 1581, 4066, 1580, 1579, 1814, 220, 4360, - 1815, 1675, 1675, 4448, 4214, 3561, 2402, 1264, 3805, 2631, - 3510, 4249, 3413, 2647, 2633, 2668, 1332, 2625, 1381, 1380, - 1975, 1977, 1976, 4162, 1636, 3924, 1539, 4163, 1526, 757, - 1478, 3811, 1476, 3064, 3068, 3069, 3070, 3065, 3067, 3066, - 4406, 3079, 1648, 1760, 2642, 3731, 1639, 1309, 1765, 3282, - 3284, 3609, 3577, 2892, 2763, 2705, 2663, 1105, 1778, 2515, - 1104, 2387, 2256, 2233, 1523, 1544, 3298, 3299, 2634, 2032, - 1289, 1288, 2635, 3894, 3624, 1671, 1672, 2646, 1537, 3611, - 3587, 3359, 3760, 1550, 1802, 1536, 1549, 2565, 1548, 1805, - 1547, 3082, 1117, 1974, 751, 3225, 4080, 1590, 1591, 1677, - 1557, 1677, 1272, 1767, 3171, 1559, 1585, 1589, 1589, 1589, - 1774, 4545, 1527, 1528, 1529, 1564, 1656, 1658, 1538, 1540, - 1541, 1542, 1543, 1328, 1545, 743, 1669, 1670, 743, 743, - 1551, 2399, 2400, 1585, 1585, 2413, 1308, 3578, 1573, 1736, - 1610, 3725, 1813, 1613, 1576, 1046, 1582, 2883, 2737, 1626, - 1627, 3511, 1037, 1592, 1563, 4248, 1048, 1049, 1050, 1145, - 3013, 1611, 1612, 1333, 1614, 1615, 2535, 1739, 1617, 1742, - 1743, 1707, 1677, 1520, 1750, 1751, 1660, 1103, 2057, 1511, - 2058, 1744, 1745, 2222, 2220, 1331, 2543, 1731, 2221, 1272, - 1908, 2689, 719, 3738, 1518, 1519, 4447, 1755, 1685, 2534, - 1759, 1758, 1939, 1940, 1957, 1943, 1630, 1631, 1008, 1633, - 1698, 1691, 1637, 1958, 1641, 1642, 1643, 1001, 2636, 2037, - 2632, 2635, 2056, 2031, 1719, 997, 1965, 1704, 1967, 4039, - 1968, 1969, 1970, 1720, 3283, 1839, 998, 3203, 3205, 3206, - 3207, 3204, 4073, 4074, 4542, 4543, 3538, 1892, 1692, 1693, - 1694, 1695, 1696, 1697, 4557, 1699, 1700, 1701, 1702, 1703, - 4068, 1836, 4563, 1709, 4067, 1711, 1712, 1713, 4416, 2641, - 4551, 1105, 1526, 2639, 1104, 1947, 1948, 1949, 3812, 4137, - 1000, 1272, 1513, 1515, 3631, 1003, 1002, 2384, 1963, 2537, - 2536, 1964, 1817, 2040, 1833, 1787, 2041, 1855, 1790, 2044, - 3084, 1770, 3630, 1575, 724, 724, 724, 3193, 3194, 2033, - 1983, 1984, 2014, 2059, 2061, 1345, 2062, 4538, 2064, 2065, - 2066, 1942, 2455, 713, 1706, 2454, 4502, 1001, 2774, 2074, - 2557, 1677, 2080, 2081, 3101, 2083, 1640, 724, 2013, 2392, - 4475, 1811, 724, 1807, 1262, 1677, 1810, 1799, 1806, 1045, - 3035, 1830, 2108, 742, 3579, 4552, 742, 742, 4472, 1575, - 1118, 1835, 2017, 1796, 1797, 4466, 2737, 2636, 1956, 1677, - 1812, 2870, 2631, 2625, 2630, 1640, 2628, 2633, 3626, 1309, - 737, 3763, 2384, 1872, 1873, 3036, 3037, 1883, 1884, 738, - 1005, 1876, 738, 738, 1575, 1003, 1002, 4444, 3100, 3693, - 2139, 1103, 4503, 2101, 4399, 741, 1809, 1640, 741, 741, - 1345, 4503, 2148, 2148, 2025, 1640, 739, 1640, 1640, 739, - 739, 724, 724, 1788, 2215, 4476, 1791, 1792, 2074, 2226, - 2020, 2634, 1677, 2230, 2231, 3416, 2504, 2430, 2246, 1345, - 694, 740, 2891, 4473, 740, 740, 3192, 1309, 2662, 2312, - 2431, 3592, 1145, 3590, 694, 2082, 1677, 3631, 1808, 4398, - 2556, 1262, 1347, 1348, 1349, 1346, 1801, 1347, 1348, 1349, - 1346, 1004, 3468, 3428, 2143, 1800, 1821, 4381, 2084, 1971, - 1972, 1306, 4445, 2288, 724, 2074, 1677, 2104, 2294, 1345, - 724, 724, 724, 755, 755, 1105, 4354, 2384, 1104, 4342, - 2304, 4284, 2306, 2307, 2308, 4283, 2741, 1345, 2314, 4264, - 2170, 805, 4263, 2742, 2015, 240, 3426, 2021, 240, 240, - 3417, 240, 2742, 3301, 2284, 2429, 2079, 2224, 1860, 1861, - 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871, - 2095, 2068, 2891, 2030, 1345, 2034, 1885, 1886, 3631, 2144, - 2038, 2632, 2635, 3101, 4262, 2875, 2994, 2151, 975, 976, - 977, 978, 2431, 2069, 2120, 1307, 1957, 1957, 2361, 2866, - 1307, 4261, 2605, 4239, 2262, 2368, 2276, 2277, 2383, 2248, - 2618, 2392, 2114, 2115, 4343, 4238, 4285, 2105, 2509, 4211, - 2583, 2296, 2297, 2298, 2431, 4180, 1966, 2431, 2253, 4177, - 2255, 2109, 3889, 2503, 2310, 3832, 1930, 2343, 2293, 2108, - 3793, 2274, 2275, 1677, 2381, 2322, 2269, 1585, 2325, 2326, - 2132, 2328, 2502, 2128, 1473, 2464, 2463, 2229, 2152, 2153, - 3717, 1589, 2137, 2122, 2462, 1822, 2070, 2071, 2072, 2431, - 743, 1688, 2374, 1589, 2247, 2279, 2742, 2232, 3713, 2086, - 2087, 2088, 2089, 2147, 2149, 2113, 2431, 2383, 2392, 1142, - 2223, 2123, 2124, 1347, 1348, 1349, 1346, 3600, 2362, 2228, - 2392, 1145, 3277, 2234, 2431, 2375, 1558, 2131, 2133, 2134, - 1345, 1833, 3414, 1895, 2583, 2263, 2127, 2774, 2129, 2130, - 3833, 1663, 2252, 2138, 2254, 3794, 2141, 2142, 2636, 2145, - 4570, 4553, 2136, 2631, 2625, 2630, 4281, 2628, 2633, 1347, - 1348, 1349, 1346, 4126, 1144, 3718, 3093, 2291, 2497, 2620, - 2292, 2604, 838, 848, 980, 2150, 2299, 2300, 1317, 3819, - 2356, 1319, 839, 3714, 840, 844, 847, 843, 841, 842, - 2971, 3306, 2319, 2959, 2406, 1347, 1348, 1349, 1346, 1184, - 1185, 2951, 3601, 3103, 1189, 3003, 4005, 2742, 2907, 1320, - 2894, 1142, 2634, 2336, 2893, 2495, 3773, 3415, 1978, 1979, - 1980, 1981, 2885, 1145, 1985, 1986, 1987, 1988, 1990, 1991, - 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2889, - 1309, 2108, 1347, 1348, 1349, 1346, 2612, 2450, 2295, 845, - 1926, 2873, 2331, 2498, 2435, 2373, 2317, 1923, 2370, 2372, - 2305, 1925, 1922, 1924, 1928, 1929, 1144, 2302, 2877, 1927, - 2035, 1784, 2516, 1399, 2518, 2583, 2520, 2521, 1345, 2872, - 846, 1293, 1257, 1252, 2376, 999, 1345, 2857, 724, 1640, - 724, 1640, 2419, 1345, 2855, 2465, 2466, 2433, 2468, 2389, - 2496, 2538, 2853, 4124, 2851, 2475, 3887, 2487, 803, 2418, - 2417, 724, 724, 724, 2582, 2505, 1313, 2554, 742, 1347, - 1348, 1349, 1346, 2405, 2583, 2414, 2278, 724, 724, 724, - 724, 2928, 2929, 2367, 2488, 2490, 2491, 2492, 2922, 2494, - 2408, 2409, 1315, 1957, 1957, 1876, 2407, 2471, 1362, 2470, - 2587, 3543, 2590, 2878, 738, 1318, 1321, 2453, 2592, 2593, - 2594, 2423, 2597, 1640, 2873, 1243, 1239, 1240, 1241, 1242, - 741, 2927, 2858, 2926, 2925, 2923, 2444, 3388, 1314, 2856, - 2443, 739, 1347, 1348, 1349, 1346, 2442, 2852, 2371, 2852, - 3351, 1640, 1178, 1179, 1180, 1347, 1348, 1349, 1346, 2583, - 2504, 2101, 1347, 1348, 1349, 1346, 740, 2432, 2654, 975, - 976, 977, 978, 1735, 1734, 1618, 1933, 1934, 1935, 1936, - 1937, 1938, 1931, 1932, 2391, 1793, 1177, 1381, 1380, 1174, - 4347, 2528, 1345, 2530, 1345, 1667, 1142, 1571, 4564, 4531, - 3387, 1572, 1345, 3945, 2924, 2660, 1668, 4040, 1145, 4229, - 1145, 1006, 2576, 2501, 4321, 1946, 1945, 1946, 1945, 1316, - 2427, 1345, 3808, 1586, 3529, 1345, 2661, 4276, 2506, 3806, - 4210, 1345, 1665, 724, 2148, 2591, 4348, 4154, 4112, 4106, - 4070, 2609, 2746, 2746, 2246, 2746, 4069, 2611, 3665, 2613, - 4055, 1144, 2431, 4041, 2519, 2914, 4013, 3784, 2523, 2410, - 2411, 1347, 1348, 1349, 1346, 694, 694, 2356, 3809, 2392, - 1794, 3632, 3668, 1272, 3622, 3807, 3614, 3602, 1571, 1677, - 724, 3505, 1572, 2546, 1363, 1364, 1365, 1366, 1367, 1368, - 1369, 1362, 1882, 2614, 3234, 3233, 724, 2624, 2623, 4230, - 2837, 3062, 1272, 2825, 713, 3530, 2999, 1422, 1879, 1881, - 1878, 1718, 1880, 2246, 2904, 2876, 2833, 2579, 2835, 2580, - 2577, 240, 4111, 1365, 1366, 1367, 1368, 1369, 1362, 3944, - 2829, 1989, 2765, 1982, 2598, 980, 1664, 1142, 2617, 2522, - 2365, 2750, 2704, 2364, 1587, 4231, 2363, 1554, 1553, 1145, - 1274, 3531, 2320, 2843, 2769, 2748, 1899, 2752, 2424, 1171, - 1172, 1173, 1176, 3449, 1175, 2880, 3446, 1723, 2760, 2320, - 2761, 3027, 1899, 3449, 2887, 2637, 2638, 2381, 2643, 3307, - 2610, 1349, 1346, 4418, 1677, 2063, 1677, 4179, 1677, 2766, - 2767, 1589, 1144, 1272, 4178, 1346, 2781, 2776, 4085, 2754, - 2941, 2906, 1347, 1348, 1349, 1346, 1423, 4084, 3532, 3163, - 2832, 3161, 3140, 2847, 1347, 1348, 1349, 1346, 2599, 2600, - 3138, 2838, 4061, 3666, 4388, 4389, 4480, 2606, 2602, 2603, - 4007, 1677, 1272, 4266, 4267, 2782, 2935, 1401, 4505, 2714, - 2601, 3446, 2720, 4014, 4015, 2607, 4560, 3771, 2608, 3448, - 1400, 2942, 1347, 1348, 1349, 1346, 1677, 2755, 4443, 4442, - 1723, 2897, 4391, 4390, 2930, 1347, 1348, 1349, 1346, 1656, - 1658, 1361, 1360, 1370, 1371, 1372, 1373, 1363, 1364, 1365, - 1366, 1367, 1368, 1369, 1362, 3061, 2981, 2770, 2982, 2943, - 4008, 2773, 1347, 1348, 1349, 1346, 4108, 1347, 1348, 1349, - 1346, 2916, 2457, 3214, 3212, 3210, 1675, 3772, 3199, 2864, - 4387, 4559, 1347, 1348, 1349, 1346, 2831, 4386, 3001, 2948, - 2949, 2839, 2826, 3005, 4385, 3007, 2901, 4383, 1350, 2868, - 2869, 1675, 724, 724, 724, 4382, 1383, 1353, 1354, 1355, - 1356, 1357, 1358, 1359, 1351, 1393, 2917, 4349, 2919, 1272, - 2862, 3025, 4252, 2903, 4242, 4232, 4204, 1677, 4176, 4145, - 1640, 3777, 2898, 3213, 3211, 3209, 1640, 2226, 3198, 3380, - 2912, 1402, 2933, 1347, 1348, 1349, 1346, 2888, 2890, 1833, - 4079, 1961, 1724, 4043, 3096, 3099, 2973, 2895, 2974, 4042, - 2976, 3824, 2978, 2979, 3810, 3105, 1962, 4113, 4114, 3366, - 3770, 2985, 3753, 3494, 2830, 1347, 1348, 1349, 1346, 2908, - 2909, 4109, 4110, 3115, 4117, 4116, 4115, 4118, 4119, 4120, - 3347, 3319, 3318, 1272, 4121, 3080, 2931, 3223, 3197, 2921, - 3196, 3137, 3379, 3195, 2911, 4122, 3187, 3181, 1272, 1272, - 1272, 2148, 1783, 2781, 1272, 3180, 3147, 3148, 3149, 3150, - 1272, 3157, 3074, 3158, 3159, 3179, 3160, 3178, 3162, 1347, - 1348, 1349, 1346, 3104, 2995, 3077, 2859, 2762, 3091, 3157, - 2986, 4453, 2508, 2339, 1145, 2338, 2337, 1347, 1348, 1349, - 1346, 2746, 2782, 1370, 1371, 1372, 1373, 1363, 1364, 1365, - 1366, 1367, 1368, 1369, 1362, 3215, 2333, 2332, 1347, 1348, - 1349, 1346, 3058, 2285, 2046, 2043, 2170, 1785, 3075, 4368, - 1491, 3118, 694, 3783, 3116, 3480, 4202, 4203, 3106, 4556, - 2226, 1255, 4554, 3934, 1272, 2246, 2246, 2246, 2246, 2246, - 2246, 4529, 3039, 4495, 3041, 4430, 1347, 1348, 1349, 1346, - 4428, 4184, 1272, 2246, 2438, 3038, 2746, 3056, 3220, 4404, - 4333, 4018, 2079, 4327, 4318, 3135, 3132, 4304, 4295, 3135, - 4271, 3083, 3285, 2446, 1677, 4270, 3131, 4256, 8, 4251, - 3095, 3132, 3143, 3144, 4250, 724, 724, 3146, 3098, 7, - 1254, 3142, 4207, 3153, 4191, 4189, 4175, 2666, 4146, 4063, - 2669, 2670, 2671, 2672, 2673, 2674, 2675, 3117, 4022, 2678, - 2679, 2680, 2681, 2682, 2683, 2684, 2685, 2686, 2687, 2688, - 3120, 2690, 2691, 2692, 2693, 2694, 3133, 2695, 3139, 1659, - 4011, 3145, 3273, 3995, 3994, 3992, 3962, 3987, 3226, 3303, - 2428, 3130, 3985, 2445, 3965, 2944, 3964, 3959, 4562, 3961, - 240, 1347, 1348, 1349, 1346, 240, 3960, 3936, 3177, 3932, - 3930, 3900, 3189, 1347, 1348, 1349, 1346, 3251, 3897, 3891, - 1347, 1348, 1349, 1346, 1347, 1348, 1349, 1346, 3219, 3286, - 3239, 3765, 3755, 3740, 1957, 3251, 1957, 3302, 3726, 3340, - 3705, 2954, 2955, 3703, 3229, 3697, 3346, 2960, 3682, 3107, - 1717, 3643, 1677, 3235, 3620, 3353, 3108, 4517, 3112, 3113, - 3619, 3111, 3252, 3253, 3254, 3255, 3256, 3257, 1347, 1348, - 1349, 1346, 3270, 3617, 3616, 3274, 3232, 3276, 3114, 3603, - 3598, 3597, 2910, 3506, 3466, 3460, 3275, 3450, 3440, 3335, - 3435, 3433, 2513, 4243, 3361, 3293, 3358, 3294, 3290, 3345, - 3308, 3136, 3317, 3292, 3227, 3312, 1361, 1360, 1370, 1371, - 1372, 1373, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1362, - 3224, 1743, 3221, 1750, 1751, 3208, 3200, 3190, 2017, 3188, - 3184, 1744, 1745, 3339, 1347, 1348, 1349, 1346, 1145, 3183, - 1755, 3182, 3028, 1759, 1758, 3014, 3337, 1361, 1360, 1370, - 1371, 1372, 1373, 1363, 1364, 1365, 1366, 1367, 1368, 1369, - 1362, 3434, 3004, 2996, 3437, 916, 915, 3310, 2884, 724, - 1640, 3309, 2863, 2827, 3350, 3958, 2539, 2526, 3451, 3453, - 3454, 3456, 3355, 3458, 3459, 3328, 3324, 3948, 2525, 3333, - 3331, 2342, 3338, 2335, 2146, 1272, 2076, 2045, 3336, 2042, - 2028, 1272, 1347, 1348, 1349, 1346, 2027, 3483, 3485, 1786, - 1430, 1426, 3349, 1425, 1347, 1348, 1349, 1346, 3498, 1258, - 984, 3362, 183, 223, 724, 3363, 3947, 1845, 1846, 1847, - 1848, 1849, 4366, 3378, 183, 223, 3371, 3513, 3373, 3517, - 1272, 3946, 4362, 724, 4181, 724, 2226, 1272, 1272, 3372, - 3374, 3375, 2244, 1347, 1348, 1349, 1346, 4172, 4171, 3369, - 3370, 2246, 2587, 4159, 3542, 4155, 3993, 3963, 1347, 1348, - 1349, 1346, 1896, 3942, 3911, 3892, 1900, 1901, 1902, 1903, - 3427, 3801, 3800, 2654, 3533, 3797, 1941, 3875, 3762, 2426, - 3509, 3722, 3720, 3719, 1951, 3567, 219, 3570, 3520, 3570, - 3570, 3716, 3715, 3432, 1272, 3526, 3502, 3431, 219, 4516, - 3534, 3699, 3442, 3704, 1347, 1348, 1349, 1346, 3702, 3686, - 3074, 3671, 3593, 3670, 723, 3046, 3589, 3655, 3469, 726, - 1677, 1677, 3654, 1142, 3132, 3512, 3550, 3536, 1347, 1348, - 1349, 1346, 183, 223, 3077, 1145, 2005, 1145, 2007, 2008, - 2009, 2010, 2011, 3470, 1145, 3554, 3556, 2018, 3540, 1145, - 3467, 3425, 3486, 3594, 3595, 4052, 3535, 1347, 1348, 1349, - 1346, 3545, 3385, 3132, 3376, 3368, 3367, 724, 3508, 3365, - 3132, 3132, 3300, 2854, 2850, 1145, 3519, 3565, 1144, 2849, - 2476, 3483, 3334, 3524, 3525, 2469, 2461, 3537, 2460, 2459, - 2458, 3566, 2456, 2452, 1640, 1675, 1675, 2226, 2226, 3541, - 183, 223, 2451, 3575, 2449, 3549, 219, 2624, 2623, 1361, - 1360, 1370, 1371, 1372, 1373, 1363, 1364, 1365, 1366, 1367, - 1368, 1369, 1362, 3169, 3170, 723, 2440, 3132, 850, 155, - 3571, 3572, 3418, 2437, 155, 2436, 2341, 3576, 3185, 3186, - 2006, 2004, 3591, 223, 182, 214, 184, 2116, 2003, 2002, - 153, 2001, 1272, 1960, 1959, 2415, 1950, 2935, 1689, 1347, - 1348, 1349, 1346, 1687, 4479, 3669, 3607, 3389, 3599, 223, - 4397, 3230, 4367, 2135, 219, 1420, 4361, 4290, 1145, 1361, - 1360, 1370, 1371, 1372, 1373, 1363, 1364, 1365, 1366, 1367, - 1368, 1369, 1362, 726, 1347, 1348, 1349, 1346, 4287, 720, - 4260, 4253, 4140, 3604, 4139, 4101, 155, 4083, 3613, 3612, - 724, 3394, 3395, 4081, 3627, 3628, 219, 3396, 3397, 3398, - 3399, 3621, 3400, 3401, 3402, 3403, 3404, 3405, 3406, 3407, - 3408, 3409, 3410, 3639, 3615, 3640, 3625, 3383, 2018, 3618, - 4509, 3382, 219, 2018, 2018, 4076, 2781, 3381, 4054, 4037, - 4380, 2970, 3544, 3912, 3909, 3548, 3873, 3546, 3547, 3651, - 3652, 3653, 3648, 3872, 1347, 1348, 1349, 1346, 1347, 1348, - 1349, 1346, 3658, 3869, 1347, 1348, 1349, 1346, 1347, 1348, - 1349, 1346, 3868, 4378, 2969, 2782, 3831, 3728, 4507, 2968, - 3828, 2314, 3826, 3786, 3739, 2321, 3687, 3735, 2324, 3679, - 2967, 2327, 3573, 3741, 2329, 3743, 3463, 3377, 1738, 1749, - 3749, 1347, 1348, 1349, 1346, 3706, 1347, 1348, 1349, 1346, - 3689, 1740, 3737, 1754, 3690, 1757, 1746, 1347, 1348, 1349, - 1346, 1561, 3750, 3262, 3222, 3216, 3695, 3141, 3087, 3086, - 3078, 3040, 2972, 2349, 2871, 2764, 2696, 2581, 1143, 2548, - 2547, 724, 2226, 155, 3744, 2507, 3746, 3708, 1877, 3710, - 219, 3712, 2301, 2024, 1818, 3792, 183, 223, 155, 1777, - 155, 4462, 2966, 1747, 3799, 183, 223, 1490, 3761, 1475, - 1471, 1470, 1469, 1468, 1467, 3764, 2103, 1466, 2746, 2246, - 3816, 1465, 3732, 2965, 3629, 1776, 1464, 1463, 3727, 1347, - 1348, 1349, 1346, 1462, 3723, 1461, 1460, 3607, 2964, 3729, - 1459, 1458, 3834, 3781, 3759, 1272, 2100, 1457, 3647, 1145, - 1347, 1348, 1349, 1346, 3567, 1773, 2963, 1145, 1272, 3754, - 1456, 1455, 3758, 1454, 1145, 1347, 1348, 1349, 1346, 1453, - 2102, 1272, 1452, 3886, 1451, 1450, 1449, 1677, 1448, 1775, - 1447, 1446, 3778, 1347, 1348, 1349, 1346, 1445, 3790, 3638, - 2962, 1444, 3895, 3272, 2961, 1443, 1442, 2420, 3798, 3780, - 1441, 2425, 1440, 1439, 3818, 724, 1438, 2226, 1437, 2434, - 3888, 2246, 1272, 3867, 4376, 2958, 3815, 1347, 1348, 1349, - 1346, 1347, 1348, 1349, 1346, 3813, 1436, 3610, 2957, 1433, - 3814, 1432, 1431, 3858, 1429, 1428, 1427, 3821, 1424, 1417, - 1416, 3918, 1347, 1348, 1349, 1346, 2441, 240, 1414, 1413, - 1412, 1411, 1675, 1410, 2448, 1347, 1348, 1349, 1346, 1409, - 3874, 1408, 3879, 3904, 3901, 1407, 1406, 3876, 1405, 1404, - 1403, 1398, 1397, 1396, 3917, 3885, 1395, 1394, 3835, 1311, - 1256, 4374, 2467, 3870, 3890, 3635, 3636, 2472, 2473, 2474, - 2596, 3877, 2477, 2478, 2479, 2480, 2481, 2482, 2483, 2484, - 2485, 2486, 3896, 3906, 3153, 3903, 3902, 2956, 3905, 3907, - 3898, 3899, 3893, 2563, 1299, 3228, 2108, 3063, 2775, 3977, - 3920, 2575, 1569, 3983, 1310, 3267, 3265, 3260, 3940, 3989, - 3268, 3266, 3646, 3645, 1347, 1348, 1349, 1346, 3259, 3914, - 3937, 3263, 3644, 3641, 1272, 3251, 3264, 3925, 3271, 3915, - 3935, 1360, 1370, 1371, 1372, 1373, 1363, 1364, 1365, 1366, - 1367, 1368, 1369, 1362, 3957, 3258, 138, 1272, 1677, 1677, - 73, 72, 4023, 4417, 3986, 3517, 3988, 69, 4306, 4059, - 3094, 2874, 3973, 1555, 2097, 2098, 2092, 2093, 2094, 4031, - 3504, 3330, 1272, 4031, 2664, 1265, 3979, 3880, 3659, 3913, - 1270, 4020, 2207, 3563, 4048, 3564, 1732, 1272, 3967, 1272, - 4025, 4026, 4019, 3980, 3092, 3817, 3684, 3685, 1769, 4051, - 2902, 4053, 2533, 3820, 1300, 1145, 1677, 2532, 2950, 1766, - 4002, 2540, 4001, 4000, 4028, 3997, 2303, 715, 2938, 2219, - 4021, 716, 717, 1675, 1892, 4012, 1305, 724, 718, 1272, - 1272, 4036, 4257, 1272, 1272, 1347, 1348, 1349, 1346, 4024, - 3991, 2868, 2869, 3478, 4035, 1347, 1348, 1349, 1346, 3471, - 3119, 4103, 4044, 3088, 2616, 4125, 4047, 3132, 3818, 4057, - 2573, 2106, 4098, 1145, 2067, 3867, 3657, 4105, 2934, 1338, - 2108, 4060, 4520, 4132, 4087, 4088, 2362, 4064, 4099, 4100, - 2913, 1892, 1946, 1945, 4255, 3858, 3596, 4141, 4142, 2500, - 2717, 3825, 2710, 3827, 2366, 1347, 1348, 1349, 1346, 1486, - 1487, 1677, 2227, 2499, 3165, 3251, 1629, 1347, 1348, 1349, - 1346, 3166, 3167, 3168, 4128, 1628, 1347, 1348, 1349, 1346, - 1839, 2493, 1839, 3650, 4127, 1894, 2541, 4173, 2369, 724, - 1347, 1348, 1349, 1346, 4153, 2018, 4130, 2018, 1484, 1485, - 2111, 4165, 1578, 4185, 1577, 4187, 1482, 1483, 1347, 1348, - 1349, 1346, 1347, 1348, 1349, 1346, 2018, 2018, 4148, 1480, - 1481, 1546, 1601, 2589, 4486, 4484, 4436, 4188, 4414, 4190, - 4152, 155, 155, 155, 1143, 4160, 1675, 4164, 1361, 1360, - 1370, 1371, 1372, 1373, 1363, 1364, 1365, 1366, 1367, 1368, - 1369, 1362, 1717, 4413, 4219, 4004, 2900, 4411, 4224, 4193, - 4337, 4291, 4217, 4135, 4003, 2899, 4134, 4049, 3931, 3707, - 4194, 4169, 4170, 3678, 3677, 1272, 3663, 2346, 2649, 2619, - 1771, 3662, 3305, 1575, 4511, 4510, 4510, 4241, 3984, 3742, - 4247, 4212, 3348, 4206, 3009, 3008, 3002, 2828, 2439, 1295, - 1269, 4511, 4078, 3916, 4490, 2879, 4215, 2882, 4218, 3999, - 4220, 3940, 3803, 1382, 4221, 975, 976, 977, 978, 4233, - 1262, 4237, 1272, 1593, 3327, 2567, 1762, 1262, 81, 4045, - 4046, 2, 4533, 3949, 4534, 3950, 1, 2987, 2022, 1488, - 979, 3787, 3788, 3789, 1677, 974, 1653, 4282, 2756, 3795, - 3796, 4254, 2280, 1681, 723, 1145, 2026, 981, 3278, 3279, - 3649, 3281, 3015, 2388, 3240, 2708, 2915, 4265, 2552, 2918, - 3497, 1562, 1047, 1952, 1798, 1286, 1795, 4279, 1285, 1283, - 2936, 2937, 1897, 1973, 852, 2352, 3217, 3191, 2939, 2940, - 4131, 4519, 4548, 4478, 4522, 1816, 836, 4405, 3680, 4317, - 3325, 4296, 4482, 4298, 2945, 2946, 2947, 4322, 1839, 4312, - 4151, 2393, 1343, 4292, 3332, 1073, 4329, 895, 863, 1675, - 4129, 1632, 1415, 1772, 3392, 3390, 862, 3775, 3052, 4056, - 1646, 4324, 4136, 4325, 3297, 4226, 4288, 4289, 2975, 4062, - 2977, 1074, 2330, 2980, 4293, 1845, 2018, 4149, 4338, 1733, - 1737, 1683, 2615, 4234, 4357, 4058, 3559, 4334, 3127, 1761, - 4352, 4326, 3829, 3953, 3951, 3952, 763, 2259, 692, 1127, - 4102, 2574, 1479, 4332, 2595, 4107, 4104, 4356, 4259, 1021, - 3756, 1272, 2562, 1022, 4341, 1014, 3072, 4340, 3071, 1856, - 1352, 1875, 3411, 4384, 3412, 1392, 807, 2422, 3049, 3852, - 3291, 1677, 4393, 4350, 80, 79, 4394, 4373, 4375, 4377, - 4379, 4401, 4355, 78, 77, 248, 4364, 854, 247, 4182, - 4016, 4400, 4524, 833, 832, 4402, 4372, 831, 830, 829, - 828, 2728, 2729, 2727, 4392, 2725, 2724, 2241, 2240, 3304, - 1347, 1348, 1349, 1346, 4429, 3661, 3109, 3110, 2309, 2311, - 3515, 3156, 4403, 3881, 3151, 2159, 2157, 4410, 4408, 1644, - 1677, 4426, 4422, 4424, 4224, 2644, 2651, 2156, 4459, 4431, - 3696, 3943, 4369, 4423, 4425, 4370, 1675, 4075, 4427, 3201, - 4446, 3939, 2091, 1375, 2640, 1379, 4454, 2176, 3172, 2173, - 2172, 3164, 4071, 4438, 4437, 4065, 4439, 2204, 4222, 4440, - 4441, 1376, 1378, 1374, 4030, 1377, 1361, 1360, 1370, 1371, - 1372, 1373, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1362, - 3836, 3837, 3843, 1224, 2572, 4467, 4474, 4468, 1198, 4469, - 1930, 4470, 1194, 4471, 1196, 1675, 1197, 1195, 2920, 3623, - 1686, 2621, 3473, 3034, 720, 4485, 3033, 4487, 4488, 3031, - 3030, 1530, 4328, 4477, 4432, 4483, 4481, 1272, 3996, 2780, - 2778, 1253, 4491, 3637, 3633, 3443, 4312, 1038, 4492, 1039, - 4493, 1496, 4494, 1494, 2360, 3642, 3261, 2347, 4247, 3329, - 4498, 2242, 155, 2238, 2237, 4499, 4501, 4500, 1169, 4504, - 1168, 1714, 3733, 48, 3242, 2718, 2018, 4518, 4508, 4506, - 4526, 4196, 2096, 4525, 1015, 2560, 117, 42, 1019, 133, - 116, 201, 63, 4512, 4513, 4514, 4515, 200, 1272, 4123, - 4530, 62, 1033, 18, 1029, 131, 198, 61, 47, 46, - 4536, 196, 4356, 4537, 4539, 4540, 111, 110, 109, 4546, - 108, 130, 195, 4550, 60, 4547, 232, 231, 234, 233, - 230, 2840, 2841, 229, 1721, 228, 4415, 4034, 4396, 4558, - 969, 45, 155, 44, 202, 43, 118, 64, 41, 40, - 2588, 3461, 2110, 4526, 4566, 3751, 4525, 155, 4565, 3026, - 155, 155, 2544, 39, 35, 3311, 4550, 3313, 4567, 13, - 4496, 4571, 1010, 12, 155, 36, 23, 22, 1803, 21, - 27, 33, 183, 223, 182, 214, 184, 32, 2349, 148, - 147, 31, 146, 2018, 145, 144, 143, 142, 2018, 141, - 140, 30, 215, 20, 1926, 55, 2051, 2052, 2053, 206, - 54, 1923, 53, 216, 52, 1925, 1922, 1924, 1928, 1929, - 51, 50, 9, 1927, 136, 134, 129, 127, 3862, 29, - 128, 1839, 153, 125, 3841, 126, 121, 120, 3364, 2085, - 119, 114, 112, 92, 2090, 91, 1035, 139, 1028, 90, - 105, 104, 103, 102, 101, 100, 219, 1032, 1031, 98, - 99, 1072, 89, 3384, 88, 87, 86, 85, 122, 107, - 115, 113, 96, 106, 97, 3853, 95, 94, 1020, 93, - 84, 83, 82, 124, 123, 135, 203, 65, 3844, 180, - 179, 178, 177, 176, 174, 175, 173, 172, 1027, 3839, - 171, 170, 169, 168, 3864, 3865, 56, 57, 58, 59, - 3840, 191, 190, 192, 194, 197, 193, 1037, 199, 188, - 4268, 4269, 1026, 2154, 2155, 186, 1025, 4273, 4274, 4275, - 189, 187, 1013, 4277, 4278, 185, 4280, 74, 11, 132, - 19, 4050, 4, 0, 0, 162, 163, 0, 164, 165, - 3845, 1018, 0, 166, 0, 0, 167, 0, 0, 1911, - 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, - 1933, 1934, 1935, 1936, 1937, 1938, 1931, 1932, 0, 0, - 0, 0, 0, 0, 0, 1016, 2290, 0, 0, 0, - 0, 0, 2290, 2290, 2290, 1361, 1360, 1370, 1371, 1372, - 1373, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1362, 0, - 0, 0, 0, 0, 3386, 0, 0, 181, 212, 221, - 213, 75, 137, 0, 1036, 0, 0, 0, 0, 0, - 4339, 0, 0, 0, 0, 155, 4344, 4345, 0, 0, - 0, 211, 205, 204, 0, 0, 0, 1017, 76, 0, - 0, 0, 0, 0, 0, 0, 3863, 0, 2630, 0, - 0, 0, 0, 3574, 0, 0, 161, 4365, 1361, 1360, - 1370, 1371, 1372, 1373, 1363, 1364, 1365, 1366, 1367, 1368, - 1369, 1362, 0, 3849, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3846, 3850, 3848, 3847, 207, - 208, 209, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2245, 0, 1034, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3606, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3856, 3857, 0, 0, 217, 1023, 0, - 0, 0, 0, 1012, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 149, 0, - 0, 0, 210, 0, 150, 0, 0, 775, 774, 781, - 771, 0, 0, 155, 0, 0, 155, 155, 0, 155, - 778, 779, 0, 780, 784, 0, 0, 765, 3866, 0, - 0, 0, 0, 0, 0, 0, 0, 789, 0, 0, - 0, 3842, 0, 0, 3855, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 151, - 775, 774, 781, 771, 1143, 0, 0, 0, 0, 0, - 0, 0, 68, 778, 779, 0, 780, 784, 0, 0, - 765, 0, 155, 793, 0, 0, 795, 0, 0, 0, - 789, 794, 0, 0, 1011, 0, 0, 1009, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3698, 0, 0, 0, 0, 0, 0, 3700, - 3701, 0, 0, 0, 0, 71, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 793, 0, 0, 795, - 0, 0, 0, 0, 794, 1930, 0, 3709, 0, 3711, - 2527, 0, 2529, 0, 0, 0, 0, 0, 3721, 0, - 0, 159, 220, 0, 160, 0, 1382, 0, 0, 0, - 0, 0, 0, 2549, 2550, 2551, 66, 0, 0, 3860, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2568, - 2569, 2570, 2571, 0, 0, 3606, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 766, 768, 767, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 773, 0, 0, 152, 49, 0, 3854, - 0, 0, 0, 67, 0, 777, 3859, 0, 0, 0, - 0, 0, 792, 0, 3861, 0, 0, 0, 0, 770, - 0, 0, 0, 760, 0, 0, 156, 157, 0, 0, - 158, 0, 0, 0, 766, 768, 767, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 773, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 777, 0, - 0, 0, 0, 0, 0, 792, 0, 0, 0, 0, - 0, 0, 770, 0, 0, 1646, 0, 0, 0, 1926, - 0, 0, 0, 0, 0, 0, 1923, 2018, 0, 0, - 1925, 1922, 1924, 1928, 1929, 0, 1217, 0, 1927, 0, - 0, 0, 0, 0, 2018, 0, 0, 3908, 0, 0, - 3910, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1683, 0, 0, 0, 0, 0, 0, 0, - 0, 1143, 0, 155, 3919, 0, 0, 0, 2290, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 772, 776, 782, 0, - 783, 785, 0, 0, 786, 787, 788, 0, 0, 0, - 790, 791, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 772, - 776, 782, 0, 783, 785, 0, 0, 786, 787, 788, - 0, 0, 0, 790, 791, 1889, 1890, 0, 0, 0, - 1235, 1236, 1202, 0, 1911, 1912, 1913, 1914, 1915, 1916, - 1917, 1918, 1919, 1920, 1921, 1933, 1934, 1935, 1936, 1937, - 1938, 1931, 1932, 1225, 1229, 1231, 1233, 1238, 0, 1243, - 1239, 1240, 1241, 1242, 0, 1220, 1221, 1222, 1223, 1200, - 1201, 1226, 2749, 1203, 0, 1205, 1206, 1207, 1208, 1204, - 1209, 1210, 1211, 1212, 1213, 1216, 1218, 1214, 1215, 1244, - 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1228, 1230, 1232, - 1234, 1237, 0, 0, 0, 1217, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 769, 0, 0, 0, 0, 0, 0, 0, 1219, 0, - 0, 2245, 0, 0, 0, 0, 2205, 0, 0, 155, - 0, 2166, 0, 0, 2213, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3010, 3011, 3012, 0, 796, 797, - 798, 799, 800, 769, 2207, 2175, 0, 0, 0, 0, - 0, 0, 0, 0, 2208, 2209, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2174, 0, 0, 0, 0, 0, 0, 3097, 0, 0, - 0, 796, 797, 798, 799, 800, 0, 0, 2182, 1235, - 1236, 1202, 0, 0, 0, 1192, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1225, 1229, 1231, 1233, 1238, 0, 1243, 1239, - 1240, 1241, 1242, 0, 1220, 1221, 1222, 1223, 1200, 1201, - 1226, 0, 1203, 0, 1205, 1206, 1207, 1208, 1204, 1209, - 1210, 1211, 1212, 1213, 1216, 1218, 1214, 1215, 1244, 1245, - 1246, 1247, 1248, 1249, 1250, 1251, 1228, 1230, 1232, 1234, - 1237, 0, 0, 0, 0, 0, 0, 0, 2198, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1219, 0, 0, - 0, 0, 0, 0, 0, 4258, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2165, 2167, 2164, 0, 0, 0, 2161, 155, 0, 0, - 0, 2186, 0, 0, 0, 0, 0, 0, 0, 0, - 155, 0, 2192, 0, 0, 0, 0, 3295, 3296, 0, - 2177, 0, 2160, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2180, 2214, 0, 0, 2181, 2183, 2185, 0, - 2187, 2188, 2189, 2193, 2194, 2195, 2197, 2200, 2201, 2202, - 0, 0, 0, 0, 1227, 0, 0, 2190, 2199, 2191, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2169, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2206, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 4363, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2162, 2163, 0, 0, 0, - 0, 0, 0, 2245, 2245, 2245, 2245, 2245, 2245, 0, - 0, 0, 0, 2203, 0, 0, 0, 0, 0, 0, - 0, 2245, 0, 0, 2205, 0, 0, 0, 0, 2166, - 0, 2179, 2213, 0, 0, 2178, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1217, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2196, - 0, 0, 2207, 2175, 0, 0, 0, 0, 2184, 0, - 0, 0, 2208, 2209, 0, 0, 0, 0, 0, 0, - 0, 2211, 2210, 4451, 0, 0, 0, 0, 0, 4455, - 0, 0, 0, 0, 775, 774, 781, 771, 2174, 0, - 0, 3441, 0, 0, 0, 0, 0, 778, 779, 2205, - 780, 784, 0, 1227, 765, 0, 2182, 0, 155, 0, - 0, 0, 0, 155, 789, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2171, 0, - 0, 0, 0, 0, 0, 0, 0, 2207, 0, 0, - 0, 155, 0, 0, 0, 0, 3507, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4451, 0, 0, 0, 0, 3521, 0, 3522, 0, 0, - 0, 1235, 1236, 1202, 0, 0, 2212, 0, 0, 0, - 0, 4246, 0, 0, 0, 0, 2198, 0, 0, 0, - 0, 2182, 0, 0, 1225, 1229, 1231, 1233, 1238, 0, - 1243, 1239, 1240, 1241, 1242, 0, 1220, 1221, 1222, 1223, - 1200, 1201, 1226, 0, 1203, 4451, 1205, 1206, 1207, 1208, - 1204, 1209, 1210, 1211, 1212, 1213, 1216, 1218, 1214, 1215, - 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1228, 1230, - 1232, 1234, 1237, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2165, 3122, - 2164, 0, 0, 0, 3121, 0, 0, 0, 0, 2186, - 0, 2198, 0, 0, 0, 0, 4569, 0, 0, 1219, - 2192, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2290, - 2180, 2214, 0, 0, 2181, 2183, 2185, 0, 2187, 2188, - 2189, 2193, 2194, 2195, 2197, 2200, 2201, 2202, 766, 768, - 767, 0, 0, 0, 0, 2190, 2199, 2191, 0, 0, - 773, 0, 0, 0, 0, 0, 0, 2169, 0, 0, - 0, 0, 777, 2205, 0, 0, 0, 0, 1143, 792, - 155, 183, 223, 0, 2186, 0, 770, 155, 0, 0, - 0, 0, 155, 0, 0, 2192, 0, 0, 0, 2245, - 0, 0, 0, 0, 0, 4029, 0, 0, 0, 2206, - 0, 2207, 0, 0, 0, 2180, 2214, 0, 155, 2181, - 2183, 2185, 2205, 2187, 2188, 2189, 2193, 2194, 2195, 2197, - 2200, 2201, 2202, 0, 0, 0, 0, 0, 0, 0, - 2190, 2199, 2191, 2162, 2163, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 219, 0, 0, 0, 0, - 2207, 2203, 0, 0, 0, 2182, 0, 0, 0, 0, - 0, 0, 3692, 0, 0, 0, 0, 0, 0, 2179, - 0, 0, 0, 2178, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2206, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2196, 0, 0, - 0, 0, 0, 0, 2182, 0, 2184, 0, 0, 0, - 0, 3608, 0, 772, 776, 782, 0, 783, 785, 2211, - 2210, 786, 787, 788, 0, 0, 0, 790, 791, 0, - 0, 0, 0, 0, 0, 2198, 2203, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2179, 0, 0, 0, 2178, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2171, 0, 0, 0, - 4216, 0, 2196, 0, 2198, 0, 0, 0, 0, 0, - 0, 2184, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2290, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1227, 0, 0, 2186, 0, - 0, 0, 0, 0, 2212, 0, 0, 0, 0, 2192, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2180, - 2214, 0, 0, 2181, 2183, 2185, 0, 2187, 2188, 2189, - 2193, 2194, 2195, 2197, 2200, 2201, 2202, 2186, 0, 0, - 0, 0, 0, 0, 2190, 2199, 2191, 0, 2192, 0, - 0, 0, 0, 0, 0, 0, 0, 769, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2180, 2214, - 0, 0, 2181, 2183, 2185, 0, 2187, 2188, 2189, 2193, - 2194, 2195, 2197, 2200, 2201, 2202, 0, 0, 0, 0, - 0, 0, 0, 2190, 2199, 2191, 0, 2290, 2206, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3608, 0, 0, 0, 0, 0, 0, 0, - 155, 0, 0, 0, 0, 0, 0, 155, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2206, 0, 0, - 2203, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2179, 0, - 0, 0, 2178, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2196, 2245, 0, 2203, - 0, 0, 0, 0, 0, 2184, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2179, 0, 0, - 0, 2178, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2196, 0, 0, 0, 0, - 0, 0, 0, 0, 2184, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2245, + 838, 814, 4565, 840, 4539, 3140, 240, 4557, 2171, 4472, + 4466, 3837, 1766, 1841, 4476, 3949, 3600, 4477, 4465, 4261, + 3565, 2293, 4374, 823, 3459, 3898, 4324, 4423, 4159, 4239, + 3689, 3134, 4105, 3866, 816, 3461, 4199, 4315, 3944, 3690, + 4351, 4033, 3687, 1421, 868, 1676, 4260, 1907, 3783, 1837, + 697, 3035, 1139, 1264, 3137, 4229, 3791, 3954, 227, 3, + 4325, 4327, 3334, 1608, 38, 1602, 3797, 1894, 716, 2110, + 2633, 3853, 727, 1269, 3113, 4054, 1767, 727, 740, 749, + 4043, 3574, 749, 3530, 1844, 4014, 3745, 3513, 1891, 3488, + 2871, 3817, 2242, 2964, 3262, 3264, 154, 3517, 3229, 4048, + 3263, 3781, 3576, 2296, 767, 3163, 225, 3594, 3583, 3819, + 2754, 3043, 3620, 2320, 3259, 2280, 3739, 1890, 762, 2357, + 3671, 2790, 2277, 2389, 2636, 3294, 1912, 3649, 3071, 3493, + 3478, 1669, 3495, 3491, 3490, 3541, 3582, 3250, 2593, 3489, + 758, 2385, 746, 2878, 2519, 3084, 1755, 3443, 1266, 3486, + 37, 2366, 806, 2518, 811, 2365, 2019, 2853, 1744, 2358, + 2355, 2325, 2273, 1759, 3053, 1751, 2423, 1010, 2246, 2755, + 2384, 2737, 3165, 1563, 3059, 3145, 1771, 2732, 2634, 1756, + 3100, 2161, 2592, 727, 1048, 2571, 1528, 236, 8, 6, + 1909, 2081, 2129, 235, 7, 2788, 1908, 1202, 2419, 2386, + 815, 1718, 1835, 2352, 1685, 1654, 715, 1648, 1611, 2562, + 2629, 2102, 2128, 805, 2364, 1901, 697, 2521, 2361, 1826, + 1591, 2565, 824, 1877, 1287, 2341, 755, 1840, 1834, 807, + 1725, 24, 1132, 2076, 2080, 1653, 2762, 2733, 731, 1047, + 240, 1708, 240, 973, 1193, 1194, 1501, 765, 1650, 1913, + 764, 727, 1173, 25, 26, 17, 1027, 10, 1587, 226, + 222, 1577, 1506, 70, 1096, 724, 1045, 748, 1033, 1603, + 1477, 1422, 218, 761, 975, 976, 2393, 4336, 813, 4225, + 3009, 1612, 1064, 1573, 28, 1350, 1351, 1352, 1349, 1350, + 1351, 1352, 1349, 3009, 3009, 2764, 1080, 1190, 3703, 16, + 3834, 3453, 3553, 1133, 3452, 14, 3357, 3356, 183, 223, + 182, 214, 184, 2403, 2042, 1502, 1145, 15, 1350, 1351, + 1352, 1349, 2963, 1270, 2243, 3997, 3800, 1271, 215, 2916, + 807, 2856, 34, 3682, 1503, 206, 2859, 734, 2857, 216, + 2854, 2032, 1732, 722, 1728, 1185, 1189, 1186, 1191, 753, + 224, 717, 2517, 696, 1060, 1061, 1496, 1652, 153, 4302, + 997, 1186, 745, 1168, 1462, 1106, 1569, 1570, 1571, 994, + 1147, 1118, 1186, 139, 2294, 3450, 2531, 741, 2524, 2039, + 1270, 1505, 219, 743, 3436, 3433, 1785, 3438, 3435, 4551, + 1628, 5, 812, 2026, 1492, 744, 3942, 1730, 3330, 3001, + 2999, 1350, 1351, 1352, 1349, 3328, 2330, 4474, 4473, 1041, + 742, 1042, 8, 4098, 1184, 3696, 4310, 4166, 7, 1350, + 1351, 1352, 1349, 4160, 3945, 3688, 2351, 4329, 1416, 2360, + 974, 2876, 3407, 2712, 3476, 2347, 2675, 4571, 4323, 985, + 4548, 4174, 4321, 3003, 4211, 3772, 4172, 1169, 1043, 2268, + 1022, 2943, 2538, 4387, 3767, 3479, 2225, 2552, 1693, 1108, + 1513, 1511, 1107, 1507, 1036, 1510, 1032, 998, 995, 1149, + 760, 162, 163, 3986, 164, 165, 1537, 3405, 1555, 166, + 3257, 2052, 167, 1148, 2401, 2566, 2782, 3984, 183, 223, + 182, 214, 184, 1143, 1144, 1347, 2050, 4213, 3302, 3303, + 1535, 1092, 2783, 992, 2769, 796, 3301, 2768, 798, 1568, + 2770, 1065, 964, 797, 963, 965, 966, 2256, 967, 968, + 3569, 1162, 1157, 1152, 1156, 1160, 3034, 3030, 2718, 1947, + 1111, 1109, 1783, 1110, 1013, 2257, 2258, 1827, 1067, 1655, + 1831, 1657, 2122, 181, 212, 221, 213, 75, 137, 1165, + 2057, 2058, 1782, 1155, 1792, 986, 2717, 3567, 1520, 1609, + 1610, 1114, 219, 3458, 1830, 2872, 1105, 211, 205, 204, + 796, 2290, 3055, 798, 76, 998, 1624, 2143, 797, 1625, + 1843, 1345, 3056, 1327, 995, 1607, 1328, 3437, 3434, 1606, + 1609, 1610, 161, 3283, 1599, 2746, 2747, 796, 1142, 1141, + 798, 3032, 3027, 4332, 1163, 797, 4332, 4437, 1038, 1340, + 1031, 3971, 4480, 4481, 1330, 1088, 4331, 1090, 1087, 1035, + 1034, 4330, 1091, 4331, 4436, 4313, 1166, 4330, 4435, 2496, + 4505, 3054, 4449, 1167, 1119, 207, 208, 209, 1536, 3335, + 1023, 183, 223, 182, 214, 184, 183, 223, 182, 214, + 184, 4543, 4544, 1086, 183, 223, 182, 214, 184, 4425, + 1030, 1731, 1729, 1153, 3004, 1059, 3691, 3031, 3028, 4428, + 4425, 1115, 4316, 4317, 4318, 4319, 1066, 1101, 1832, 1040, + 1627, 4163, 1847, 2120, 1029, 3691, 2264, 1164, 1028, 2897, + 3782, 3336, 996, 3337, 1016, 4347, 217, 1276, 1097, 2274, + 3340, 993, 1829, 2405, 3706, 2727, 2397, 1282, 3789, 2720, + 1822, 2560, 1279, 1021, 3184, 219, 3509, 149, 1039, 728, + 219, 210, 3370, 150, 1325, 1154, 727, 3040, 219, 3881, + 4451, 727, 1275, 1117, 1098, 1102, 3062, 3698, 4025, 4182, + 3368, 4183, 1342, 989, 1638, 183, 223, 182, 214, 184, + 1019, 749, 749, 1301, 1083, 727, 1081, 1085, 1105, 3251, + 2907, 3507, 1082, 1079, 1078, 2053, 1084, 1069, 1070, 1068, + 2402, 1058, 1071, 1072, 1073, 1074, 1055, 3970, 151, 1103, + 2051, 1104, 759, 1641, 1196, 3972, 1326, 2667, 210, 1039, + 2673, 68, 1099, 1100, 1538, 4479, 1343, 1344, 183, 223, + 746, 746, 746, 1315, 3943, 3002, 1161, 852, 3988, 1597, + 3033, 3029, 1020, 3329, 1116, 3504, 3505, 3245, 990, 219, + 3503, 1828, 4335, 1393, 4224, 3709, 2121, 1846, 1845, 1495, + 1095, 3506, 2723, 2724, 4221, 1145, 1094, 4184, 3374, 3008, + 1056, 2722, 4022, 1158, 71, 1271, 1159, 1271, 153, 1338, + 1339, 1151, 3514, 1089, 2785, 3982, 3515, 2288, 2289, 1113, + 1626, 4215, 4216, 3011, 2730, 1337, 714, 1329, 1271, 3897, + 1275, 3893, 219, 2223, 3598, 1933, 3599, 4288, 1307, 2666, + 159, 220, 1619, 160, 991, 2267, 3985, 3571, 3358, 1147, + 1713, 3784, 3355, 1037, 1387, 66, 2408, 2410, 2411, 2711, + 2652, 2714, 1622, 1623, 1425, 2392, 2632, 2655, 1290, 1293, + 1512, 2713, 3542, 1509, 1145, 1320, 4339, 3749, 1322, 4202, + 4049, 2428, 1274, 1186, 3998, 1271, 1186, 3806, 1186, 1186, + 3596, 3597, 3675, 1026, 1186, 1186, 3595, 2404, 1015, 3528, + 1609, 1610, 3058, 4367, 4362, 1093, 1323, 3101, 3501, 3751, + 999, 1062, 1063, 4251, 1054, 3990, 3991, 3992, 747, 1057, + 2573, 751, 1170, 4173, 2654, 1150, 2855, 750, 1147, 3255, + 1112, 1295, 3886, 4214, 2568, 152, 49, 1609, 1610, 1294, + 4154, 3444, 67, 4352, 1733, 1285, 5, 3139, 4369, 1498, + 1500, 3838, 1504, 3515, 1263, 4243, 4375, 1262, 1144, 3566, + 3135, 3136, 1148, 3139, 1304, 156, 157, 974, 1524, 158, + 3845, 2224, 1527, 1503, 1503, 1586, 1508, 1534, 1299, 1300, + 745, 745, 745, 3000, 71, 2549, 1475, 988, 2748, 1480, + 1041, 2653, 1042, 1306, 4208, 741, 741, 741, 1290, 1293, + 3763, 743, 743, 743, 4006, 727, 1784, 1048, 1394, 1014, + 3760, 3602, 1012, 744, 744, 744, 1316, 3987, 4346, 3471, + 1426, 1598, 2726, 799, 800, 801, 802, 803, 742, 742, + 742, 3510, 1929, 1278, 1280, 1283, 1519, 2275, 3371, 1926, + 3515, 1148, 1318, 1928, 1925, 1927, 1931, 1932, 4450, 1332, + 4178, 1930, 1333, 3061, 4326, 1321, 1324, 1389, 1390, 1391, + 1392, 183, 223, 182, 214, 184, 2710, 1281, 3762, 1294, + 2639, 747, 727, 3252, 1637, 3899, 747, 1643, 1317, 4093, + 1335, 727, 2265, 2397, 747, 697, 697, 4252, 799, 800, + 801, 802, 803, 1292, 1291, 697, 697, 4577, 4082, 1680, + 1680, 3185, 727, 3186, 3187, 1605, 1823, 1515, 3065, 3066, + 4026, 3572, 1437, 1438, 2685, 799, 800, 801, 802, 803, + 1853, 1856, 1857, 3064, 749, 1709, 716, 4560, 3957, 4244, + 2684, 1854, 1721, 1297, 3068, 219, 2409, 71, 2115, 919, + 3502, 1807, 71, 2785, 1665, 1682, 1517, 240, 1678, 1678, + 71, 3213, 1559, 2708, 2709, 1664, 697, 1687, 1305, 1319, + 1530, 1531, 1532, 3596, 3597, 1584, 1541, 1543, 1544, 1545, + 1546, 1284, 1548, 1601, 1600, 747, 1583, 4217, 1554, 1639, + 4088, 1582, 2741, 2745, 2746, 2747, 2742, 2751, 2743, 2749, + 1331, 4376, 2744, 1539, 2750, 4230, 2734, 1481, 1936, 1937, + 1938, 1939, 1940, 1941, 1934, 1935, 1479, 4106, 4107, 4108, + 4112, 4110, 4111, 4113, 4109, 4265, 1763, 3601, 3575, 4464, + 1267, 1768, 2638, 1292, 1291, 3427, 2676, 2640, 1674, 1675, + 1336, 1781, 3820, 2741, 2745, 2746, 2747, 2742, 2751, 2743, + 2749, 71, 2632, 2744, 3940, 2750, 1529, 1540, 2572, 760, + 1384, 1383, 1334, 3826, 1593, 1594, 2649, 1805, 1106, 4422, + 1040, 1542, 1808, 1651, 3746, 3624, 3591, 2903, 1312, 1642, + 1560, 2774, 1680, 1562, 1680, 1275, 1770, 1567, 2716, 2671, + 4561, 2641, 3296, 3298, 1579, 2522, 2550, 183, 223, 3312, + 3313, 1777, 3096, 2394, 2263, 2240, 181, 212, 221, 213, + 1526, 2642, 1547, 3910, 1576, 3524, 746, 1004, 1739, 746, + 746, 3092, 1585, 1588, 1592, 1592, 1592, 1629, 1630, 1595, + 211, 2035, 1742, 1816, 1745, 1746, 3639, 1614, 1615, 3626, + 1617, 1618, 1710, 3373, 1620, 1663, 1747, 1748, 1514, 1613, + 1588, 1588, 1616, 1553, 1552, 1680, 1551, 1550, 2229, 2227, + 1753, 1754, 1108, 2228, 4182, 1107, 4183, 1311, 1120, 4264, + 754, 3090, 1275, 1911, 4084, 1688, 3775, 2420, 4083, 1761, + 1008, 3239, 4177, 1694, 1701, 1006, 1005, 1960, 1049, 1942, + 1943, 722, 1946, 1758, 4096, 1722, 1762, 3592, 1659, 1661, + 1961, 1707, 2406, 2407, 1895, 1978, 1980, 1979, 1672, 1673, + 1855, 3182, 3740, 1968, 808, 1970, 1723, 1971, 1972, 1973, + 2894, 3093, 4463, 4558, 4559, 1839, 1566, 3214, 3216, 3217, + 3218, 3215, 852, 3075, 3079, 3080, 3081, 3076, 3078, 3077, + 4089, 4090, 3024, 1051, 1052, 1053, 3204, 3205, 1106, 2544, + 2543, 1516, 1518, 2542, 1523, 2060, 3525, 2643, 1950, 1951, + 1952, 1007, 4184, 2061, 1275, 1521, 1522, 1011, 3753, 1734, + 2541, 1966, 2040, 1820, 1967, 1842, 2043, 3297, 1977, 2044, + 1858, 1790, 2047, 2059, 1793, 2034, 1000, 727, 727, 727, + 2697, 2648, 1001, 1986, 1987, 2646, 2062, 2064, 4055, 2065, + 1148, 2067, 2068, 2069, 1773, 1945, 716, 1709, 4579, 1836, + 3827, 2017, 2077, 4432, 1680, 2083, 2084, 1529, 2086, 1643, + 727, 2016, 1814, 1810, 1813, 727, 1809, 3646, 1680, 4153, + 1838, 1833, 1048, 3645, 1578, 2111, 745, 4573, 1959, 745, + 745, 1348, 1108, 2462, 1106, 1107, 2461, 4567, 3430, 2785, + 2881, 741, 1680, 1815, 741, 741, 3641, 743, 1643, 2752, + 743, 743, 2391, 740, 2020, 1802, 4554, 1312, 1812, 744, + 1879, 2036, 744, 744, 1811, 1350, 1351, 1352, 1349, 1004, + 3778, 1799, 1800, 2142, 742, 3203, 1578, 742, 742, 1791, + 1643, 2670, 1794, 1795, 2104, 2151, 2151, 4518, 1643, 1578, + 1643, 1643, 2391, 1121, 727, 727, 1265, 2222, 2564, 3552, + 3708, 2077, 2233, 2511, 3593, 1680, 2237, 2238, 4491, 2902, + 3046, 2253, 2399, 697, 1875, 1876, 2023, 2748, 1886, 1887, + 3095, 1348, 4568, 3431, 4586, 2085, 3111, 697, 1108, 1680, + 4488, 1107, 1003, 1817, 220, 2319, 1818, 1006, 1005, 3606, + 2146, 4519, 1187, 1188, 2028, 3047, 3048, 1192, 4482, 1974, + 1975, 3604, 978, 979, 980, 981, 2295, 727, 2077, 1680, + 1824, 2301, 4460, 727, 727, 727, 758, 758, 2748, 2107, + 4415, 4414, 4519, 2311, 1804, 2313, 2314, 2315, 3646, 1348, + 2018, 2321, 2391, 1803, 2073, 2074, 2075, 3112, 240, 2753, + 4397, 240, 240, 4492, 240, 2174, 2231, 2089, 2090, 2091, + 2092, 2087, 2071, 4370, 2033, 4178, 2037, 4358, 4300, 4179, + 2024, 2041, 1312, 2291, 4299, 4489, 1863, 1864, 1865, 1866, + 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 2563, 1825, + 2753, 2082, 3482, 2438, 1888, 1889, 4128, 1309, 2072, 1960, + 1960, 2368, 3442, 3646, 2269, 2098, 4280, 4461, 2375, 1310, + 3440, 2260, 2902, 2262, 2753, 1348, 1348, 2283, 2284, 1348, + 2130, 2108, 2132, 2133, 2281, 2282, 2303, 2304, 2305, 2123, + 2276, 3315, 2147, 2153, 2112, 2438, 2139, 2135, 2300, 2437, + 2154, 3112, 2111, 1148, 1969, 2886, 1680, 2388, 2399, 2140, + 2317, 2131, 4359, 4301, 2329, 2116, 2350, 2332, 2333, 2590, + 2335, 2125, 2155, 2156, 3005, 2877, 2639, 2642, 2390, 1350, + 1351, 1352, 1349, 2117, 2118, 2369, 1265, 2134, 983, 2255, + 4127, 746, 2150, 2152, 1588, 4279, 1310, 2126, 2127, 2612, + 2625, 2438, 2236, 2141, 2230, 1145, 2144, 2145, 1592, 2235, + 2516, 2510, 2390, 2509, 2136, 2137, 4278, 2241, 2471, 2470, + 1592, 2382, 1633, 1634, 2259, 1636, 2261, 2469, 1640, 2270, + 1644, 1645, 1646, 2381, 2286, 2148, 2338, 2436, 2239, 1364, + 1363, 1373, 1374, 1375, 1376, 1366, 1367, 1368, 1369, 1370, + 1371, 1372, 1365, 1561, 1312, 1898, 1836, 2299, 4277, 1147, + 2363, 2298, 2306, 2307, 1695, 1696, 1697, 1698, 1699, 1700, + 2464, 1702, 1703, 1704, 1705, 1706, 1666, 4255, 4254, 1712, + 2438, 1714, 1715, 1716, 4569, 2326, 2254, 2413, 4227, 4297, + 1350, 1351, 1352, 1349, 4196, 1350, 1351, 1352, 1349, 4142, + 4193, 2438, 1981, 1982, 1983, 1984, 2343, 1145, 1988, 1989, + 1990, 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, + 2001, 2002, 2003, 2643, 2639, 2642, 3834, 3320, 2638, 2632, + 2637, 3114, 2635, 2640, 2111, 1350, 1351, 1352, 1349, 1350, + 1351, 1352, 1349, 2438, 2627, 3014, 2905, 1365, 2611, 1476, + 2904, 2896, 2379, 3402, 2377, 2619, 2457, 3904, 2442, 2380, + 2324, 1147, 2399, 2399, 4124, 2523, 2309, 2525, 2038, 2527, + 2528, 1787, 1148, 2438, 2383, 978, 979, 980, 981, 1348, + 3847, 727, 1643, 727, 1643, 2590, 2440, 2641, 2472, 2473, + 2426, 2475, 2396, 3401, 2545, 1402, 4021, 2508, 2482, 1296, + 1260, 806, 1255, 2494, 727, 727, 727, 852, 3808, 3732, + 2561, 745, 2412, 1181, 1182, 1183, 2421, 3788, 3728, 3614, + 727, 727, 727, 727, 2425, 2424, 741, 4140, 2495, 2497, + 2498, 2499, 743, 2501, 1879, 2414, 1960, 1960, 1350, 1351, + 1352, 1349, 2785, 2594, 744, 2597, 2430, 1180, 3902, 3291, + 1177, 2599, 2600, 2601, 2285, 2604, 1643, 3104, 1691, 742, + 2982, 2970, 2962, 3557, 2378, 3848, 2918, 3365, 4129, 4130, + 2900, 2643, 1002, 3617, 1148, 4580, 2638, 2632, 2637, 2888, + 2635, 2640, 4125, 4126, 1643, 4133, 4132, 4131, 4134, 4135, + 4136, 2415, 2416, 3809, 3733, 4137, 2434, 4547, 841, 851, + 3961, 2661, 2104, 3729, 3615, 2883, 4138, 4245, 842, 3428, + 843, 847, 850, 846, 844, 845, 1738, 1737, 3543, 2868, + 2866, 1384, 1383, 4363, 2864, 1574, 2862, 2589, 2512, 1575, + 2478, 4056, 1145, 2504, 2753, 2641, 1350, 1351, 1352, 1349, + 2668, 983, 2884, 1949, 1948, 2590, 1348, 1348, 2616, 2477, + 2598, 1348, 2460, 2583, 2618, 2590, 2620, 2669, 2513, 4337, + 1350, 1351, 1352, 1349, 2889, 1668, 4292, 2451, 2854, 4364, + 727, 2151, 2450, 3823, 2535, 848, 2537, 4057, 2449, 2757, + 2757, 2253, 2757, 1589, 1353, 2526, 1147, 2363, 4226, 2530, + 2884, 1621, 1386, 2439, 3429, 2398, 1796, 4246, 4170, 3544, + 3821, 1396, 697, 697, 2869, 2867, 849, 2417, 2418, 2863, + 1275, 2863, 2590, 2511, 2553, 1348, 1680, 727, 2505, 3824, + 1174, 1175, 1176, 1179, 4122, 1178, 3960, 1405, 2631, 2630, + 4086, 1670, 4085, 727, 1348, 1949, 1948, 1348, 1009, 1275, + 2836, 716, 1671, 4247, 1425, 3545, 3822, 4071, 1721, 2587, + 2253, 2586, 1348, 2844, 2584, 2846, 2502, 1348, 240, 1992, + 4029, 2715, 2624, 1348, 3799, 2780, 3647, 2840, 2605, 1667, + 3637, 1885, 3629, 2761, 2608, 3616, 2621, 1145, 2438, 2614, + 2399, 1797, 2615, 1350, 1351, 1352, 1349, 1882, 1884, 1881, + 2759, 1883, 2763, 3519, 1574, 3248, 3247, 2617, 1575, 1148, + 3073, 1148, 2891, 3010, 1590, 2915, 2644, 2645, 2887, 2650, + 2776, 2898, 2529, 2771, 2388, 2772, 2765, 2372, 2606, 2607, + 2371, 1680, 2370, 1680, 3680, 1680, 1557, 2792, 2609, 2610, + 1275, 1147, 1556, 1277, 2777, 2778, 2787, 2925, 2917, 2848, + 2327, 2503, 2843, 1366, 1367, 1368, 1369, 1370, 1371, 1372, + 1365, 1985, 3463, 2613, 1350, 1351, 1352, 1349, 1592, 1350, + 1351, 1352, 1349, 3460, 2849, 3683, 3038, 3463, 1680, 1275, + 2858, 1902, 2908, 2946, 1902, 2725, 2431, 2731, 1368, 1369, + 1370, 1371, 1372, 1365, 1350, 1351, 1352, 1349, 2953, 3321, + 4434, 2766, 1726, 1680, 1726, 4195, 2327, 2939, 2940, 2066, + 1426, 2879, 2880, 4194, 2933, 1356, 1357, 1358, 1359, 1360, + 1361, 1362, 1354, 2941, 2302, 1352, 1349, 1678, 1349, 4101, + 4100, 2781, 3546, 4521, 3174, 2784, 2312, 3172, 3151, 2793, + 3460, 1246, 1242, 1243, 1244, 1245, 4077, 2938, 2954, 2937, + 2936, 2934, 1678, 3462, 1148, 3149, 3394, 2837, 1404, 2842, + 1350, 1351, 1352, 1349, 2952, 3012, 2959, 2960, 1786, 2875, + 3016, 1403, 3018, 1350, 1351, 1352, 1349, 4023, 4496, 727, + 727, 727, 3681, 1350, 1351, 1352, 1349, 1350, 1351, 1352, + 1349, 2928, 2927, 2930, 2873, 2992, 1275, 2993, 2914, 1350, + 1351, 1352, 1349, 4576, 1680, 2909, 3786, 1643, 2850, 2374, + 4404, 4405, 3225, 1643, 2233, 1659, 1661, 2923, 2841, 3393, + 2935, 3223, 2899, 2901, 2944, 4459, 1350, 1351, 1352, 1349, + 2912, 3107, 3110, 2906, 2984, 1727, 2985, 4024, 2987, 3221, + 2989, 2990, 3116, 3380, 4282, 4283, 1350, 1351, 1352, 1349, + 2453, 4030, 4031, 4458, 2919, 2920, 1720, 4407, 1836, 4406, + 3126, 1350, 1351, 1352, 1349, 3210, 3787, 2996, 4575, 2445, + 1275, 4403, 3224, 4402, 2932, 2942, 4401, 1964, 3148, 4399, + 3091, 3222, 4398, 4365, 2792, 1275, 1275, 1275, 2151, 3036, + 4268, 1275, 1965, 3158, 3159, 3160, 3161, 1275, 3168, 3220, + 3169, 3170, 4258, 3171, 4469, 3173, 4248, 4220, 3088, 3102, + 4192, 3085, 1350, 1351, 1352, 1349, 4161, 3168, 4095, 3072, + 2452, 1350, 1351, 1352, 1349, 3209, 4384, 4059, 4058, 2757, + 2997, 1350, 1351, 1352, 1349, 3127, 3839, 3825, 3785, 2922, + 3768, 3792, 3508, 3226, 3361, 3333, 1275, 1350, 1351, 1352, + 1349, 3332, 3129, 1350, 1351, 1352, 1349, 3237, 3208, 3207, + 3978, 3206, 3117, 697, 3198, 2174, 1350, 1351, 1352, 1349, + 3050, 2233, 3052, 3192, 3191, 1275, 2253, 2253, 2253, 2253, + 2253, 2253, 3190, 3975, 3189, 3115, 2793, 1350, 1351, 1352, + 1349, 3049, 3006, 1275, 2253, 3067, 2870, 2757, 3798, 3069, + 3146, 3094, 3234, 2773, 3146, 3086, 2515, 2346, 2345, 3142, + 1350, 1351, 1352, 1349, 3109, 1680, 8, 3299, 3106, 2344, + 2340, 3974, 7, 2339, 3153, 2292, 727, 727, 2049, 3964, + 2046, 2082, 1788, 1848, 1849, 1850, 1851, 1852, 1494, 3494, + 2965, 2966, 3963, 3128, 4218, 4219, 2971, 3131, 1350, 1351, + 1352, 1349, 3144, 1258, 4572, 3150, 1350, 1351, 1352, 1349, + 3143, 3240, 4570, 3147, 3950, 3156, 3125, 4545, 4511, 1350, + 1351, 1352, 1349, 4446, 4444, 3143, 3154, 3155, 1899, 1148, + 3317, 3157, 1903, 1904, 1905, 1906, 4200, 3164, 4420, 3188, + 3962, 240, 1944, 3287, 4349, 1662, 240, 2955, 3200, 4034, + 1954, 4343, 853, 155, 3890, 3253, 4334, 4320, 155, 3141, + 3119, 2435, 1257, 4311, 4287, 3122, 4286, 1350, 1351, 1352, + 1349, 3714, 3316, 4272, 3243, 1960, 4578, 1960, 3300, 3118, + 3354, 1350, 1351, 1352, 1349, 4267, 3231, 3360, 3123, 3124, + 3249, 4266, 3432, 1680, 4223, 4207, 3367, 3403, 1350, 1351, + 1352, 1349, 2008, 4205, 2010, 2011, 2012, 2013, 2014, 4191, + 4162, 3284, 3288, 2021, 4079, 3265, 3290, 4533, 3289, 1350, + 1351, 1352, 1349, 723, 1350, 1351, 1352, 1349, 2433, 3307, + 155, 4038, 4027, 3265, 4011, 3304, 4010, 4008, 3349, 1350, + 1351, 1352, 1349, 4003, 1746, 4001, 3981, 3322, 3980, 3977, + 3976, 3308, 3326, 3952, 1747, 1748, 3948, 2674, 3946, 3916, + 2677, 2678, 2679, 2680, 2681, 2682, 2683, 1753, 1754, 2686, + 2687, 2688, 2689, 2690, 2691, 2692, 2693, 2694, 2695, 2696, + 1761, 2698, 2699, 2700, 2701, 2702, 3913, 2703, 2020, 2705, + 2706, 2707, 3906, 3353, 1758, 3351, 3230, 1762, 3780, 3770, + 3324, 3755, 3448, 3323, 3741, 3451, 1350, 1351, 1352, 1349, + 727, 1643, 3364, 2119, 3720, 3718, 3246, 3397, 3712, 3465, + 3467, 3468, 3470, 3369, 3472, 3473, 3350, 3697, 3342, 3347, + 3658, 3345, 3352, 3635, 3363, 3634, 1275, 3632, 3631, 2138, + 3338, 3396, 1275, 3618, 1350, 1351, 1352, 1349, 3497, 3499, + 3266, 3267, 3268, 3269, 3270, 3271, 3612, 2251, 3611, 3512, + 3376, 3520, 3480, 3474, 3464, 727, 3377, 3454, 1350, 1351, + 1352, 1349, 1146, 3385, 3449, 3387, 3447, 155, 3527, 3392, + 3531, 1275, 3383, 3384, 727, 3395, 727, 2233, 1275, 1275, + 2981, 2520, 155, 3386, 155, 4396, 3388, 3389, 3375, 3372, + 3359, 3331, 2253, 2594, 2021, 3556, 3306, 3241, 3238, 2021, + 2021, 3235, 1350, 1351, 1352, 1349, 3233, 1350, 1351, 1352, + 1349, 3232, 3441, 3219, 2661, 3211, 3201, 3199, 3523, 726, + 3195, 3194, 3193, 3039, 729, 3025, 3581, 1148, 3584, 3015, + 3584, 3584, 3007, 2895, 3446, 1275, 3445, 3534, 3516, 2874, + 3526, 919, 918, 4532, 3540, 2838, 2546, 2533, 2532, 3548, + 2349, 2328, 2342, 3607, 2331, 2149, 2079, 2334, 3603, 2980, + 2336, 1680, 1680, 3085, 3286, 2048, 2045, 1145, 2979, 2031, + 2030, 3088, 1789, 2978, 1433, 3564, 3559, 3500, 4495, 3568, + 3570, 1429, 1428, 1261, 3554, 987, 1350, 1351, 1352, 1349, + 4382, 4378, 4197, 3456, 4188, 1350, 1351, 1352, 1349, 2356, + 1350, 1351, 1352, 1349, 4187, 3549, 3608, 3609, 727, 3522, + 1678, 1678, 3579, 4175, 4171, 4009, 3483, 3979, 3958, 3927, + 3533, 1147, 3143, 183, 223, 3497, 3908, 3538, 3539, 3816, + 726, 3555, 3815, 3812, 3580, 3777, 3589, 3551, 1643, 3737, + 3735, 2233, 2233, 3734, 3563, 3731, 2631, 2630, 1363, 1373, + 1374, 1375, 1376, 1366, 1367, 1368, 1369, 1370, 1371, 1372, + 1365, 3143, 2977, 3730, 3408, 3409, 3585, 3586, 3143, 3143, + 3410, 3411, 3412, 3413, 3590, 3414, 3415, 3416, 3417, 3418, + 3419, 3420, 3421, 3422, 3423, 3424, 3719, 2976, 3605, 1350, + 1351, 1352, 1349, 3717, 3701, 3686, 1275, 219, 729, 3685, + 3670, 2946, 2975, 3669, 3550, 3484, 3481, 3439, 3399, 3684, + 2974, 3613, 3390, 3622, 1350, 1351, 1352, 1349, 3587, 3382, + 3381, 3379, 2973, 2427, 3314, 3143, 2865, 2432, 3057, 1350, + 1351, 1352, 1349, 2861, 1148, 2441, 1148, 1350, 1351, 1352, + 1349, 2972, 2860, 1148, 2483, 2476, 3619, 2468, 1148, 1350, + 1351, 1352, 1349, 3627, 727, 3642, 3643, 3628, 3630, 2467, + 3558, 2466, 2465, 3636, 2969, 3560, 3561, 3633, 1350, 1351, + 1352, 1349, 2448, 2463, 1148, 2459, 3654, 2968, 3655, 2458, + 2455, 2456, 2967, 2447, 2792, 2444, 183, 223, 2443, 3562, + 2348, 1350, 1351, 1352, 1349, 2009, 2007, 2006, 2005, 3663, + 2004, 3666, 3667, 3668, 1350, 1351, 1352, 1349, 2474, 1350, + 1351, 1352, 1349, 2479, 2480, 2481, 2961, 3673, 2484, 2485, + 2486, 2487, 2488, 2489, 2490, 2491, 2492, 2493, 2949, 1963, + 3640, 3743, 1962, 183, 223, 2321, 3547, 3180, 3181, 3694, + 1953, 1692, 2945, 1350, 1351, 1352, 1349, 3756, 3702, 3758, + 1690, 4413, 3196, 3197, 3764, 1350, 1351, 1352, 1349, 3721, + 219, 3704, 2924, 223, 4383, 1423, 3752, 4377, 3705, 1350, + 1351, 1352, 1349, 4306, 4303, 4276, 3765, 4269, 3710, 4156, + 1148, 183, 223, 3348, 2507, 4155, 2793, 4117, 3244, 1350, + 1351, 1352, 1349, 2506, 4099, 727, 2233, 2500, 4097, 4092, + 4070, 3759, 3723, 3761, 3725, 3644, 3727, 219, 4053, 3807, + 3747, 1350, 1351, 1352, 1349, 4525, 1897, 3928, 3814, 3925, + 1350, 1351, 1352, 1349, 1350, 1351, 1352, 1349, 3888, 3662, + 3776, 153, 2757, 2253, 3831, 3887, 219, 3779, 183, 223, + 183, 223, 3742, 1350, 1351, 1352, 1349, 3884, 3744, 3738, + 3883, 3846, 3774, 3796, 3622, 219, 3849, 3843, 2106, 1275, + 1779, 223, 182, 214, 184, 3841, 3801, 3754, 3581, 3750, + 3769, 3477, 1275, 3391, 3773, 1741, 1752, 1743, 155, 155, + 155, 1146, 1757, 1760, 1749, 1275, 1564, 3901, 2103, 3276, + 1776, 1680, 3236, 3805, 3227, 3152, 3098, 3097, 3793, 3089, + 3051, 2983, 2882, 3813, 2775, 2704, 2588, 3911, 2555, 2554, + 3795, 3833, 2105, 2514, 1778, 1880, 219, 2308, 2027, 1821, + 727, 3907, 2233, 1780, 1750, 3830, 2253, 1275, 1493, 1478, + 3882, 1474, 1473, 1472, 219, 1471, 3903, 1470, 1469, 1468, + 1678, 1467, 3829, 1466, 1465, 1464, 1463, 3828, 1462, 1461, + 1460, 1459, 1458, 3836, 1457, 1456, 3934, 1455, 1454, 3873, + 1385, 1453, 240, 1452, 1451, 1450, 1449, 1448, 1447, 1446, + 1445, 1444, 1443, 3891, 1442, 3917, 3889, 1441, 3920, 1440, + 3894, 1439, 1436, 1435, 1434, 2021, 1432, 2021, 1431, 3933, + 3900, 1430, 1427, 1420, 3905, 1419, 1417, 1416, 1415, 1414, + 1413, 1412, 1411, 1410, 1409, 1408, 2021, 2021, 1407, 3909, + 3912, 1406, 1401, 1400, 3915, 1399, 3919, 1398, 3921, 1397, + 1314, 1148, 3922, 3918, 1259, 3650, 3651, 4394, 4392, 1148, + 4390, 2111, 3885, 3914, 3993, 3936, 1148, 2603, 3999, 2570, + 3956, 1302, 1720, 3923, 4005, 4523, 4478, 3653, 3625, 3850, + 3242, 3074, 2786, 2582, 1572, 3953, 1313, 3661, 3274, 1275, + 3281, 3660, 3892, 3659, 3656, 3282, 3951, 3279, 3941, 3273, + 3930, 3277, 3280, 1268, 3285, 3164, 3278, 3272, 1273, 3973, + 3931, 138, 1275, 1680, 1680, 4433, 4322, 4039, 4075, 73, + 3531, 3105, 4002, 2885, 4004, 2890, 3832, 2893, 1558, 3518, + 3989, 4047, 1303, 72, 3835, 4047, 2672, 1275, 2100, 2101, + 69, 3995, 3895, 3577, 3983, 3578, 3344, 3265, 3674, 1482, + 3699, 3700, 1275, 4064, 1275, 4041, 4042, 2214, 4036, 4035, + 3929, 3996, 1678, 1895, 1735, 4067, 3103, 4069, 2095, 2096, + 2097, 1680, 1772, 2913, 4013, 4018, 3176, 4273, 4017, 4016, + 2540, 4037, 718, 3177, 3178, 3179, 2926, 4044, 2539, 2929, + 719, 4028, 727, 1769, 1275, 1275, 2879, 2880, 1275, 1275, + 2947, 2948, 2547, 4040, 720, 2310, 2226, 4052, 2950, 2951, + 4051, 721, 1308, 4007, 3492, 2369, 3833, 4119, 3485, 3130, + 1895, 4141, 4063, 3099, 2956, 2957, 2958, 2623, 2580, 4114, + 2109, 2070, 4121, 3882, 4076, 4536, 2111, 4060, 4080, 4148, + 4073, 4103, 4104, 1949, 1948, 4115, 4116, 1489, 1490, 1487, + 1488, 1485, 1486, 4157, 4158, 1483, 1484, 4271, 2986, 3610, + 2988, 2728, 3873, 2991, 2721, 1848, 2021, 1680, 2234, 1632, + 3840, 1631, 3842, 1341, 2373, 3672, 3665, 2548, 2376, 3143, + 1373, 1374, 1375, 1376, 1366, 1367, 1368, 1369, 1370, 1371, + 1372, 1365, 4143, 4189, 2114, 727, 4144, 1581, 1580, 1549, + 1604, 4020, 2596, 4181, 2911, 4146, 4502, 4500, 4452, 4201, + 4019, 4203, 4169, 2910, 4430, 4429, 1678, 1689, 4427, 4353, + 4307, 723, 4151, 4150, 4164, 4065, 3947, 3265, 1148, 4168, + 3722, 3693, 3692, 4204, 3678, 4206, 2353, 2656, 2626, 1774, + 4176, 4180, 1842, 3677, 1842, 3319, 1578, 4527, 4526, 4526, + 3965, 4000, 3966, 3757, 3362, 3020, 3019, 3013, 2839, 155, + 4235, 2446, 1298, 1272, 4240, 4233, 3120, 3121, 4209, 4527, + 4094, 3932, 978, 979, 980, 981, 4210, 1265, 4185, 4186, + 1596, 1275, 4506, 4015, 3818, 3341, 1148, 2574, 1765, 1265, + 81, 2, 4549, 4263, 4257, 4222, 4550, 1, 4228, 2998, + 2025, 4061, 4062, 1491, 982, 977, 1656, 2767, 2287, 1684, + 2029, 4234, 984, 3292, 3956, 3293, 3664, 3295, 4237, 4236, + 4231, 3026, 726, 2395, 3254, 4249, 2719, 2559, 1275, 3511, + 4253, 1565, 1050, 1955, 1801, 1289, 1798, 1288, 1286, 155, + 1900, 1976, 855, 2359, 3228, 3202, 4147, 4535, 4564, 4270, + 1680, 4494, 4538, 4298, 155, 1819, 839, 155, 155, 4421, + 3695, 3339, 4312, 4498, 4314, 4167, 2400, 1346, 3346, 4259, + 1076, 155, 898, 866, 1418, 4281, 1775, 3406, 3404, 865, + 3790, 3063, 4152, 3311, 4242, 1077, 2337, 4309, 4165, 1635, + 1736, 1740, 2622, 4145, 4250, 4295, 4373, 4074, 1649, 1678, + 3573, 3138, 1764, 4368, 3844, 4333, 3969, 3967, 3968, 766, + 2266, 4328, 695, 4338, 1130, 4118, 2581, 4308, 2602, 1686, + 2021, 4123, 4345, 1364, 1363, 1373, 1374, 1375, 1376, 1366, + 1367, 1368, 1369, 1370, 1371, 1372, 1365, 4340, 4275, 4341, + 1024, 3771, 4304, 4305, 2569, 1025, 1017, 3083, 3082, 4072, + 1859, 4354, 1355, 1878, 3425, 3426, 1395, 810, 2429, 4078, + 3060, 3867, 3305, 4350, 80, 79, 78, 77, 248, 857, + 4342, 1842, 247, 4198, 4032, 4416, 4540, 4348, 836, 835, + 4372, 834, 833, 832, 831, 2739, 2740, 1275, 4357, 2738, + 2736, 2735, 2248, 2247, 4356, 3318, 4120, 3676, 2316, 4400, + 2318, 3529, 3167, 3896, 3162, 2162, 2160, 1680, 4409, 3325, + 1647, 3327, 4410, 4389, 4391, 4393, 4395, 4417, 4371, 1148, + 2651, 3802, 3803, 3804, 4380, 4366, 2658, 2159, 4475, 3810, + 3811, 3711, 2356, 4418, 4388, 3959, 4385, 2021, 4386, 4091, + 3212, 3955, 2021, 2094, 2647, 2180, 3183, 2177, 2176, 3175, + 4445, 4087, 4408, 4081, 2208, 4238, 1678, 4419, 4046, 3851, + 3852, 3858, 4426, 4424, 1227, 2579, 1680, 4442, 4438, 4440, + 4240, 1201, 1197, 1199, 1200, 4447, 1198, 2931, 3638, 4439, + 4441, 2628, 3378, 4443, 3487, 3045, 4462, 3044, 3042, 3041, + 1533, 4344, 4470, 4448, 1378, 4453, 1382, 4012, 2791, 4455, + 2789, 1256, 3652, 3648, 3457, 4456, 4457, 3398, 1499, 1497, + 2367, 4454, 1379, 1381, 1377, 1678, 1380, 1364, 1363, 1373, + 1374, 1375, 1376, 1366, 1367, 1368, 1369, 1370, 1371, 1372, + 1365, 3657, 155, 4483, 3275, 4484, 4490, 4485, 2354, 4486, + 3343, 4487, 2249, 2245, 2244, 1172, 1171, 1717, 3748, 48, + 3256, 2729, 4212, 4501, 2099, 4503, 4504, 1018, 4493, 2567, + 117, 42, 4499, 1275, 4497, 133, 116, 201, 4328, 63, + 200, 4507, 62, 18, 4508, 131, 4509, 198, 4510, 61, + 47, 4263, 46, 196, 4514, 111, 110, 109, 108, 130, + 195, 60, 4516, 4517, 4515, 232, 4520, 231, 234, 233, + 230, 2851, 4524, 4534, 4522, 2852, 4542, 229, 1724, 4541, + 228, 183, 223, 182, 214, 184, 4431, 4050, 4412, 4528, + 4529, 4530, 4531, 2252, 1275, 972, 45, 44, 4546, 202, + 43, 215, 118, 64, 41, 4372, 4553, 4552, 206, 40, + 4555, 4556, 216, 2595, 3475, 4562, 2113, 3766, 4566, 3037, + 2551, 39, 35, 13, 12, 4563, 36, 23, 22, 1806, + 21, 153, 27, 33, 32, 148, 3877, 147, 31, 4574, + 146, 145, 3856, 144, 143, 142, 139, 141, 140, 4542, + 4582, 30, 4541, 4581, 20, 219, 55, 54, 53, 52, + 51, 4566, 4583, 50, 2054, 2055, 2056, 4587, 9, 136, + 155, 4068, 134, 155, 155, 129, 155, 3588, 127, 29, + 128, 125, 126, 3868, 121, 120, 119, 114, 112, 92, + 91, 90, 105, 104, 103, 102, 3859, 2088, 101, 100, + 98, 99, 2093, 1075, 89, 88, 87, 3854, 86, 85, + 122, 107, 3879, 3880, 115, 113, 96, 106, 3855, 97, + 95, 1146, 94, 4512, 93, 1364, 1363, 1373, 1374, 1375, + 1376, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1365, 155, + 4066, 84, 83, 82, 162, 163, 124, 164, 165, 123, + 135, 203, 166, 65, 180, 167, 179, 178, 3860, 177, + 176, 3621, 174, 175, 173, 172, 171, 170, 169, 168, + 4139, 3400, 56, 57, 58, 59, 191, 190, 192, 194, + 197, 2157, 2158, 193, 1842, 199, 188, 186, 189, 187, + 185, 74, 11, 132, 1364, 1363, 1373, 1374, 1375, 1376, + 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1365, 19, 4, + 0, 0, 0, 0, 0, 0, 181, 212, 221, 213, + 75, 137, 0, 1385, 0, 1364, 1363, 1373, 1374, 1375, + 1376, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1365, 0, + 211, 205, 204, 0, 2297, 0, 0, 76, 0, 0, + 2297, 2297, 2297, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3878, 161, 2637, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 778, 777, 784, 774, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 781, + 782, 3864, 783, 787, 0, 0, 768, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 792, 0, 207, 208, + 209, 0, 0, 3861, 3865, 3863, 3862, 0, 0, 3713, + 0, 0, 0, 0, 0, 0, 3715, 3716, 0, 0, + 0, 778, 777, 784, 774, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 781, 782, 0, 783, 787, 0, + 0, 768, 796, 0, 3724, 798, 3726, 0, 0, 0, + 797, 792, 0, 0, 0, 3736, 0, 0, 0, 217, + 0, 0, 0, 0, 3871, 3872, 1364, 1363, 1373, 1374, + 1375, 1376, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1365, + 149, 0, 4284, 4285, 210, 0, 150, 0, 0, 4289, + 4290, 4291, 3621, 0, 0, 4293, 4294, 796, 4296, 0, + 798, 0, 0, 0, 0, 797, 1933, 0, 0, 0, + 0, 0, 0, 0, 1350, 1351, 1352, 1349, 0, 3881, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3857, 0, 0, 3870, 0, 0, 1146, 0, + 155, 151, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 778, 777, 784, 774, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 781, 782, 0, + 783, 787, 0, 0, 768, 0, 0, 0, 0, 0, + 0, 0, 4355, 0, 792, 0, 0, 0, 4360, 4361, + 769, 771, 770, 0, 1933, 0, 0, 71, 0, 0, + 0, 0, 776, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 780, 0, 0, 0, 0, 4381, + 0, 795, 0, 0, 0, 0, 0, 0, 773, 0, + 0, 0, 763, 159, 220, 2021, 160, 0, 0, 0, + 0, 0, 0, 0, 0, 769, 771, 770, 66, 0, + 0, 0, 2021, 0, 0, 3924, 0, 776, 3926, 0, + 3875, 0, 0, 0, 0, 0, 0, 0, 0, 780, + 0, 0, 0, 2760, 0, 0, 795, 0, 2534, 0, + 2536, 0, 3935, 773, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1929, 0, 0, 0, 0, 0, 0, + 1926, 2556, 2557, 2558, 1928, 1925, 1927, 1931, 1932, 0, + 0, 0, 1930, 0, 0, 0, 0, 2575, 2576, 2577, + 2578, 0, 0, 0, 0, 0, 0, 0, 152, 49, + 0, 0, 0, 0, 0, 67, 0, 0, 0, 0, + 3869, 0, 2252, 0, 0, 0, 0, 3874, 0, 0, + 155, 0, 0, 0, 0, 3876, 0, 0, 156, 157, + 0, 0, 158, 0, 0, 0, 0, 0, 775, 779, + 785, 0, 786, 788, 0, 0, 789, 790, 791, 0, + 0, 0, 793, 794, 0, 0, 0, 0, 769, 771, + 770, 1929, 0, 0, 0, 0, 0, 0, 1926, 0, + 776, 0, 1928, 1925, 1927, 1931, 1932, 0, 0, 0, + 1930, 0, 780, 0, 0, 0, 0, 0, 0, 795, + 0, 0, 0, 775, 779, 785, 773, 786, 788, 0, + 0, 789, 790, 791, 2209, 0, 0, 793, 794, 2169, + 0, 0, 2220, 0, 0, 0, 0, 0, 1914, 1915, + 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1924, 1936, + 1937, 1938, 1939, 1940, 1941, 1934, 1935, 1649, 2921, 0, + 0, 0, 2214, 2179, 0, 0, 0, 0, 0, 0, + 0, 0, 2215, 2216, 0, 0, 0, 0, 0, 0, + 0, 0, 1364, 1363, 1373, 1374, 1375, 1376, 1366, 1367, + 1368, 1369, 1370, 1371, 1372, 1365, 0, 0, 2178, 0, + 0, 0, 0, 0, 1686, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2186, 0, 0, 0, + 2297, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 772, 0, 0, 0, 1914, 1915, 1916, 1917, + 1918, 1919, 1920, 1921, 1922, 1923, 1924, 1936, 1937, 1938, + 1939, 1940, 1941, 1934, 1935, 0, 775, 779, 785, 0, + 786, 788, 0, 0, 789, 790, 791, 0, 0, 0, + 793, 794, 0, 0, 0, 0, 0, 0, 2422, 0, + 799, 800, 801, 802, 803, 0, 0, 772, 155, 0, + 0, 0, 0, 0, 0, 0, 2202, 0, 0, 0, + 0, 155, 1364, 1363, 1373, 1374, 1375, 1376, 1366, 1367, + 1368, 1369, 1370, 1371, 1372, 1365, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 799, 800, 801, 802, 803, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2168, 2170, + 2167, 2172, 0, 0, 2164, 0, 0, 0, 0, 2190, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2196, 0, 0, 0, 4274, 0, 0, 0, 2181, 0, + 2163, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2184, 2221, 0, 0, 2185, 2187, 2189, 0, 2191, 2192, + 2193, 2197, 2198, 2199, 2201, 2204, 2205, 2206, 0, 0, + 772, 0, 2209, 0, 0, 2194, 2203, 2195, 0, 0, + 183, 223, 0, 0, 0, 0, 0, 2173, 2252, 2252, + 2252, 2252, 2252, 2252, 0, 0, 3021, 3022, 3023, 0, + 0, 0, 0, 0, 4045, 0, 2252, 0, 0, 0, + 2214, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2210, + 2211, 2212, 2213, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3108, + 0, 0, 0, 0, 219, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2186, 0, 2165, 2166, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2207, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2183, 155, 4379, 0, 2182, 0, 155, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2200, 0, 2209, 0, 0, 0, 155, 2169, 0, 2188, + 2220, 0, 0, 0, 2202, 0, 0, 0, 0, 0, + 0, 0, 2218, 2217, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2214, 2179, 0, 0, 0, 0, 0, 0, 0, 0, + 2215, 2216, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2178, 0, 0, 2175, + 0, 0, 4467, 0, 0, 0, 0, 0, 4471, 0, + 0, 0, 0, 0, 2186, 0, 0, 2190, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2196, 0, + 0, 0, 0, 3309, 3310, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2219, 2184, 2221, + 0, 0, 2185, 2187, 2189, 0, 2191, 2192, 2193, 2197, + 2198, 2199, 2201, 2204, 2205, 2206, 0, 0, 0, 0, + 0, 0, 0, 2194, 2203, 2195, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 4467, + 0, 0, 0, 0, 2202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2210, 2211, 2212, + 2213, 0, 0, 1146, 0, 155, 0, 0, 0, 0, + 0, 0, 155, 0, 4467, 0, 0, 155, 0, 0, + 0, 0, 0, 0, 2252, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2168, 3133, 2167, 2172, + 0, 0, 3132, 155, 0, 0, 0, 2190, 0, 0, + 0, 0, 2207, 0, 0, 0, 0, 0, 2196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 155, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 870, 0, 0, 0, 4086, - 0, 0, 0, 0, 429, 0, 0, 567, 601, 590, - 675, 555, 0, 0, 0, 0, 0, 0, 822, 0, - 0, 0, 364, 0, 0, 397, 605, 586, 597, 587, - 572, 573, 574, 581, 376, 575, 576, 577, 547, 578, - 548, 579, 580, 861, 604, 554, 466, 413, 0, 621, - 0, 0, 940, 948, 0, 0, 0, 0, 3608, 0, - 0, 0, 936, 0, 0, 0, 0, 814, 0, 0, - 851, 916, 915, 838, 848, 0, 0, 333, 246, 549, - 671, 551, 550, 839, 0, 840, 844, 847, 843, 841, - 842, 0, 931, 0, 0, 0, 0, 0, 0, 806, - 818, 4174, 823, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 155, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 815, 816, - 0, 0, 0, 0, 871, 0, 817, 0, 0, 0, - 0, 0, 467, 496, 0, 509, 0, 387, 388, 866, - 845, 849, 0, 0, 0, 0, 321, 474, 493, 334, - 461, 507, 339, 469, 486, 329, 428, 458, 0, 0, - 323, 491, 468, 410, 322, 0, 452, 362, 378, 359, - 426, 846, 869, 873, 358, 954, 867, 501, 325, 0, - 500, 425, 487, 492, 411, 404, 0, 324, 489, 409, - 403, 391, 368, 955, 392, 393, 382, 440, 401, 441, - 383, 415, 414, 416, 0, 0, 0, 0, 0, 531, - 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 664, 864, 0, 668, - 0, 503, 0, 0, 938, 0, 0, 0, 472, 0, - 0, 394, 0, 0, 0, 868, 0, 455, 431, 951, - 0, 0, 453, 399, 488, 442, 494, 475, 502, 447, - 443, 315, 476, 361, 412, 330, 332, 696, 363, 365, - 369, 370, 421, 422, 436, 460, 479, 480, 481, 360, - 344, 454, 345, 379, 346, 316, 352, 350, 353, 462, - 354, 318, 437, 485, 0, 375, 450, 407, 319, 406, - 438, 484, 483, 331, 511, 518, 519, 609, 0, 524, - 707, 708, 709, 533, 0, 444, 327, 326, 0, 0, - 0, 356, 439, 340, 342, 343, 341, 434, 435, 538, - 539, 540, 542, 0, 543, 544, 0, 0, 155, 0, - 545, 610, 626, 594, 563, 526, 618, 560, 564, 565, - 385, 629, 1954, 1953, 1955, 517, 395, 396, 0, 367, - 366, 408, 320, 0, 0, 373, 311, 312, 702, 935, - 427, 631, 666, 667, 556, 0, 950, 930, 932, 933, - 937, 941, 942, 943, 944, 945, 947, 949, 953, 701, - 0, 611, 625, 705, 624, 698, 433, 0, 459, 622, - 569, 0, 615, 588, 589, 0, 616, 584, 620, 0, - 558, 0, 527, 530, 559, 644, 645, 646, 317, 529, - 648, 649, 650, 651, 652, 653, 654, 647, 952, 592, - 568, 595, 508, 571, 570, 0, 0, 606, 872, 607, - 608, 417, 418, 419, 420, 939, 632, 338, 528, 446, - 0, 593, 0, 0, 0, 0, 0, 0, 0, 0, - 598, 599, 596, 710, 0, 655, 656, 0, 0, 522, - 523, 372, 0, 541, 380, 337, 432, 374, 506, 389, - 0, 534, 600, 535, 448, 449, 658, 663, 659, 660, - 662, 682, 424, 384, 386, 463, 390, 400, 451, 505, - 430, 456, 335, 495, 465, 405, 585, 613, 961, 934, - 960, 962, 963, 959, 964, 965, 946, 827, 0, 879, - 880, 957, 956, 958, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 640, 639, 638, 637, 636, - 635, 634, 633, 0, 0, 582, 482, 351, 305, 347, - 348, 355, 699, 695, 661, 700, 683, 686, 685, 834, - 313, 562, 398, 445, 371, 627, 628, 0, 681, 923, - 888, 889, 890, 824, 891, 885, 886, 825, 887, 924, - 877, 920, 921, 853, 882, 892, 919, 893, 922, 925, - 926, 966, 967, 899, 883, 275, 968, 896, 927, 918, - 917, 894, 878, 928, 929, 860, 855, 897, 898, 884, - 903, 904, 905, 908, 826, 909, 910, 911, 912, 913, - 907, 906, 874, 875, 876, 900, 901, 881, 473, 856, - 857, 858, 859, 0, 0, 512, 513, 514, 537, 0, - 515, 497, 561, 381, 314, 477, 504, 697, 0, 0, - 0, 0, 0, 0, 0, 612, 623, 657, 0, 669, - 670, 672, 674, 914, 676, 470, 471, 684, 0, 902, - 679, 680, 677, 402, 457, 478, 464, 0, 703, 552, - 553, 704, 665, 0, 819, 183, 223, 870, 0, 0, - 0, 0, 0, 0, 0, 0, 429, 0, 0, 567, - 601, 590, 675, 555, 0, 0, 0, 0, 0, 0, - 822, 0, 0, 0, 364, 0, 0, 397, 605, 586, - 597, 587, 572, 573, 574, 581, 376, 575, 576, 577, - 547, 578, 548, 579, 580, 861, 604, 554, 466, 413, - 0, 621, 0, 0, 940, 948, 0, 0, 0, 0, - 0, 0, 0, 0, 936, 0, 0, 0, 0, 814, - 0, 0, 851, 916, 915, 838, 848, 0, 0, 333, - 246, 549, 671, 551, 550, 839, 0, 840, 844, 847, - 843, 841, 842, 0, 931, 0, 0, 0, 0, 0, - 0, 806, 818, 0, 823, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 815, 816, 0, 0, 0, 0, 871, 0, 817, 0, - 0, 0, 0, 0, 467, 496, 0, 509, 0, 387, - 388, 866, 845, 849, 0, 0, 0, 0, 321, 474, - 493, 334, 461, 507, 339, 469, 486, 329, 428, 458, - 0, 0, 323, 491, 468, 410, 322, 0, 452, 362, - 378, 359, 426, 846, 869, 873, 358, 954, 867, 501, - 325, 0, 500, 425, 487, 492, 411, 404, 0, 324, - 489, 409, 403, 391, 368, 955, 392, 393, 382, 440, - 401, 441, 383, 415, 414, 416, 0, 0, 0, 0, - 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 664, 864, - 0, 668, 0, 503, 0, 0, 938, 0, 0, 0, - 472, 0, 0, 394, 0, 0, 0, 868, 0, 455, - 431, 951, 0, 0, 453, 399, 488, 442, 494, 475, - 502, 447, 443, 315, 476, 361, 412, 330, 332, 696, - 363, 365, 369, 370, 421, 422, 436, 460, 479, 480, - 481, 360, 344, 454, 345, 379, 346, 316, 352, 350, - 353, 462, 354, 318, 437, 485, 0, 375, 450, 407, - 319, 406, 438, 484, 483, 331, 511, 518, 519, 609, - 0, 524, 707, 708, 709, 533, 0, 444, 327, 326, - 0, 0, 0, 356, 439, 340, 342, 343, 341, 434, - 435, 538, 539, 540, 542, 0, 543, 544, 0, 0, - 0, 0, 545, 610, 626, 594, 563, 526, 618, 560, - 564, 565, 385, 629, 0, 0, 0, 517, 395, 396, - 0, 367, 366, 408, 320, 0, 0, 373, 311, 312, - 702, 935, 427, 631, 666, 667, 556, 0, 950, 930, - 932, 933, 937, 941, 942, 943, 944, 945, 947, 949, - 953, 701, 0, 611, 625, 705, 624, 698, 433, 0, - 459, 622, 569, 0, 615, 588, 589, 0, 616, 584, - 620, 0, 558, 0, 527, 530, 559, 644, 645, 646, - 317, 529, 648, 649, 650, 651, 652, 653, 654, 647, - 952, 592, 568, 595, 508, 571, 570, 0, 0, 606, - 872, 607, 608, 417, 418, 419, 420, 939, 632, 338, - 528, 446, 0, 593, 0, 0, 0, 0, 0, 0, - 0, 0, 598, 599, 596, 710, 0, 655, 656, 0, - 0, 522, 523, 372, 0, 541, 380, 337, 432, 374, - 506, 389, 0, 534, 600, 535, 448, 449, 658, 663, - 659, 660, 662, 682, 424, 384, 386, 463, 390, 400, - 451, 505, 430, 456, 335, 495, 465, 405, 585, 613, - 961, 934, 960, 962, 963, 959, 964, 965, 946, 827, - 0, 879, 880, 957, 956, 958, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 640, 639, 638, - 637, 636, 635, 634, 633, 0, 0, 582, 482, 351, - 305, 347, 348, 355, 699, 695, 661, 700, 683, 686, - 685, 834, 313, 562, 398, 445, 371, 627, 628, 0, - 681, 923, 888, 889, 890, 824, 891, 885, 886, 825, - 887, 924, 877, 920, 921, 853, 882, 892, 919, 893, - 922, 925, 926, 966, 967, 899, 883, 275, 968, 896, - 927, 918, 917, 894, 878, 928, 929, 860, 855, 897, - 898, 884, 903, 904, 905, 908, 826, 909, 910, 911, - 912, 913, 907, 906, 874, 875, 876, 900, 901, 881, - 473, 856, 857, 858, 859, 0, 0, 512, 513, 514, - 537, 0, 515, 497, 561, 381, 314, 477, 504, 697, - 0, 0, 0, 0, 0, 0, 0, 612, 623, 657, - 0, 669, 670, 672, 674, 914, 676, 470, 471, 684, - 0, 902, 679, 680, 677, 402, 457, 478, 464, 870, - 703, 552, 553, 704, 665, 0, 819, 0, 429, 0, - 0, 567, 601, 590, 675, 555, 0, 0, 0, 0, - 0, 0, 822, 0, 0, 0, 364, 2019, 0, 397, - 605, 586, 597, 587, 572, 573, 574, 581, 376, 575, - 576, 577, 547, 578, 548, 579, 580, 861, 604, 554, - 466, 413, 0, 621, 0, 0, 940, 948, 0, 0, - 0, 0, 0, 0, 0, 0, 936, 0, 2271, 0, - 0, 814, 0, 0, 851, 916, 915, 838, 848, 0, - 0, 333, 246, 549, 671, 551, 550, 839, 0, 840, - 844, 847, 843, 841, 842, 0, 931, 0, 0, 0, - 0, 0, 0, 806, 818, 0, 823, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 815, 816, 0, 0, 0, 0, 871, 0, - 817, 0, 0, 0, 0, 0, 467, 496, 0, 509, - 0, 387, 388, 2272, 845, 849, 0, 0, 0, 0, - 321, 474, 493, 334, 461, 507, 339, 469, 486, 329, - 428, 458, 0, 0, 323, 491, 468, 410, 322, 0, - 452, 362, 378, 359, 426, 846, 869, 873, 358, 954, - 867, 501, 325, 0, 500, 425, 487, 492, 411, 404, - 0, 324, 489, 409, 403, 391, 368, 955, 392, 393, - 382, 440, 401, 441, 383, 415, 414, 416, 0, 0, - 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 664, 864, 0, 668, 0, 503, 0, 0, 938, 0, - 0, 0, 472, 0, 0, 394, 0, 0, 0, 868, - 0, 455, 431, 951, 0, 0, 453, 399, 488, 442, - 494, 475, 502, 447, 443, 315, 476, 361, 412, 330, - 332, 696, 363, 365, 369, 370, 421, 422, 436, 460, - 479, 480, 481, 360, 344, 454, 345, 379, 346, 316, - 352, 350, 353, 462, 354, 318, 437, 485, 0, 375, - 450, 407, 319, 406, 438, 484, 483, 331, 511, 518, - 519, 609, 0, 524, 707, 708, 709, 533, 0, 444, - 327, 326, 0, 0, 0, 356, 439, 340, 342, 343, - 341, 434, 435, 538, 539, 540, 542, 0, 543, 544, - 0, 0, 0, 0, 545, 610, 626, 594, 563, 526, - 618, 560, 564, 565, 385, 629, 0, 0, 0, 517, - 395, 396, 0, 367, 366, 408, 320, 0, 0, 373, - 311, 312, 702, 935, 427, 631, 666, 667, 556, 0, - 950, 930, 932, 933, 937, 941, 942, 943, 944, 945, - 947, 949, 953, 701, 0, 611, 625, 705, 624, 698, - 433, 0, 459, 622, 569, 0, 615, 588, 589, 0, - 616, 584, 620, 0, 558, 0, 527, 530, 559, 644, - 645, 646, 317, 529, 648, 649, 650, 651, 652, 653, - 654, 647, 952, 592, 568, 595, 508, 571, 570, 0, - 0, 606, 872, 607, 608, 417, 418, 419, 420, 939, - 632, 338, 528, 446, 0, 593, 0, 0, 0, 0, - 0, 0, 0, 0, 598, 599, 596, 710, 0, 655, - 656, 0, 0, 522, 523, 372, 0, 541, 380, 337, - 432, 374, 506, 389, 0, 534, 600, 535, 448, 449, - 658, 663, 659, 660, 662, 682, 424, 384, 386, 463, - 390, 400, 451, 505, 430, 456, 335, 495, 465, 405, - 585, 613, 961, 934, 960, 962, 963, 959, 964, 965, - 946, 827, 0, 879, 880, 957, 956, 958, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 640, - 639, 638, 637, 636, 635, 634, 633, 0, 0, 582, - 482, 351, 305, 347, 348, 355, 699, 695, 661, 700, - 683, 686, 685, 834, 313, 562, 398, 445, 371, 627, - 628, 0, 681, 923, 888, 889, 890, 824, 891, 885, - 886, 825, 887, 924, 877, 920, 921, 853, 882, 892, - 919, 893, 922, 925, 926, 966, 967, 899, 883, 275, - 968, 896, 927, 918, 917, 894, 878, 928, 929, 860, - 855, 897, 898, 884, 903, 904, 905, 908, 826, 909, - 910, 911, 912, 913, 907, 906, 874, 875, 876, 900, - 901, 881, 473, 856, 857, 858, 859, 0, 0, 512, - 513, 514, 537, 0, 515, 497, 561, 381, 314, 477, - 504, 697, 0, 0, 0, 0, 0, 0, 0, 612, - 623, 657, 0, 669, 670, 672, 674, 914, 676, 470, - 471, 684, 0, 902, 679, 680, 677, 402, 457, 478, - 464, 0, 703, 552, 553, 704, 665, 0, 819, 183, - 223, 870, 0, 0, 0, 0, 0, 0, 0, 0, - 429, 0, 0, 567, 601, 590, 675, 555, 0, 0, - 0, 0, 0, 0, 822, 0, 0, 0, 364, 0, - 0, 397, 605, 586, 597, 587, 572, 573, 574, 581, - 376, 575, 576, 577, 547, 578, 548, 579, 580, 1385, - 604, 554, 466, 413, 0, 621, 0, 0, 940, 948, - 0, 0, 0, 0, 0, 0, 0, 0, 936, 0, - 0, 0, 0, 814, 0, 0, 851, 916, 915, 838, - 848, 0, 0, 333, 246, 549, 671, 551, 550, 839, - 0, 840, 844, 847, 843, 841, 842, 0, 931, 0, - 0, 0, 0, 0, 0, 806, 818, 0, 823, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 815, 816, 0, 0, 0, 0, - 871, 0, 817, 0, 0, 0, 0, 0, 467, 496, - 0, 509, 0, 387, 388, 866, 845, 849, 0, 0, - 0, 0, 321, 474, 493, 334, 461, 507, 339, 469, - 486, 329, 428, 458, 0, 0, 323, 491, 468, 410, - 322, 0, 452, 362, 378, 359, 426, 846, 869, 873, - 358, 954, 867, 501, 325, 0, 500, 425, 487, 492, - 411, 404, 0, 324, 489, 409, 403, 391, 368, 955, - 392, 393, 382, 440, 401, 441, 383, 415, 414, 416, - 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 664, 864, 0, 668, 0, 503, 0, 0, - 938, 0, 0, 0, 472, 0, 0, 394, 0, 0, - 0, 868, 0, 455, 431, 951, 0, 0, 453, 399, - 488, 442, 494, 475, 502, 447, 443, 315, 476, 361, - 412, 330, 332, 696, 363, 365, 369, 370, 421, 422, - 436, 460, 479, 480, 481, 360, 344, 454, 345, 379, - 346, 316, 352, 350, 353, 462, 354, 318, 437, 485, - 0, 375, 450, 407, 319, 406, 438, 484, 483, 331, - 511, 518, 519, 609, 0, 524, 707, 708, 709, 533, - 0, 444, 327, 326, 0, 0, 0, 356, 439, 340, - 342, 343, 341, 434, 435, 538, 539, 540, 542, 0, - 543, 544, 0, 0, 0, 0, 545, 610, 626, 594, - 563, 526, 618, 560, 564, 565, 385, 629, 0, 0, - 0, 517, 395, 396, 0, 367, 366, 408, 320, 0, - 0, 373, 311, 312, 702, 935, 427, 631, 666, 667, - 556, 0, 950, 930, 932, 933, 937, 941, 942, 943, - 944, 945, 947, 949, 953, 701, 0, 611, 625, 705, - 624, 698, 433, 0, 459, 622, 569, 0, 615, 588, - 589, 0, 616, 584, 620, 0, 558, 0, 527, 530, - 559, 644, 645, 646, 317, 529, 648, 649, 650, 651, - 652, 653, 654, 647, 952, 592, 568, 595, 508, 571, - 570, 0, 0, 606, 872, 607, 608, 417, 418, 419, - 420, 939, 632, 338, 528, 446, 0, 593, 0, 0, - 0, 0, 0, 0, 0, 0, 598, 599, 596, 710, - 0, 655, 656, 0, 0, 522, 523, 372, 0, 541, - 380, 337, 432, 374, 506, 389, 0, 534, 600, 535, - 448, 449, 658, 663, 659, 660, 662, 682, 424, 384, - 386, 463, 390, 400, 451, 505, 430, 456, 335, 495, - 465, 405, 585, 613, 961, 934, 960, 962, 963, 959, - 964, 965, 946, 827, 0, 879, 880, 957, 956, 958, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 640, 639, 638, 637, 636, 635, 634, 633, 0, - 0, 582, 482, 351, 305, 347, 348, 355, 699, 695, - 661, 700, 683, 686, 685, 834, 313, 562, 398, 445, - 371, 627, 628, 0, 681, 923, 888, 889, 890, 824, - 891, 885, 886, 825, 887, 924, 877, 920, 921, 853, - 882, 892, 919, 893, 922, 925, 926, 966, 967, 899, - 883, 275, 968, 896, 927, 918, 917, 894, 878, 928, - 929, 860, 855, 897, 898, 884, 903, 904, 905, 908, - 826, 909, 910, 911, 912, 913, 907, 906, 874, 875, - 876, 900, 901, 881, 473, 856, 857, 858, 859, 0, - 0, 512, 513, 514, 537, 0, 515, 497, 561, 381, - 314, 477, 504, 697, 0, 0, 0, 0, 0, 0, - 0, 612, 623, 657, 0, 669, 670, 672, 674, 914, - 676, 470, 471, 684, 0, 902, 679, 680, 677, 402, - 457, 478, 464, 870, 703, 552, 553, 704, 665, 0, - 819, 0, 429, 0, 0, 567, 601, 590, 675, 555, - 0, 0, 0, 0, 0, 0, 822, 0, 0, 0, - 364, 4568, 0, 397, 605, 586, 597, 587, 572, 573, - 574, 581, 376, 575, 576, 577, 547, 578, 548, 579, - 580, 861, 604, 554, 466, 413, 0, 621, 0, 0, - 940, 948, 0, 0, 0, 0, 0, 0, 0, 0, - 936, 0, 0, 0, 0, 814, 0, 0, 851, 916, - 915, 838, 848, 0, 0, 333, 246, 549, 671, 551, - 550, 839, 0, 840, 844, 847, 843, 841, 842, 0, - 931, 0, 0, 0, 0, 0, 0, 806, 818, 0, - 823, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 815, 816, 0, 0, - 0, 0, 871, 0, 817, 0, 0, 0, 0, 0, - 467, 496, 0, 509, 0, 387, 388, 866, 845, 849, - 0, 0, 0, 0, 321, 474, 493, 334, 461, 507, - 339, 469, 486, 329, 428, 458, 0, 0, 323, 491, - 468, 410, 322, 0, 452, 362, 378, 359, 426, 846, - 869, 873, 358, 954, 867, 501, 325, 0, 500, 425, - 487, 492, 411, 404, 0, 324, 489, 409, 403, 391, - 368, 955, 392, 393, 382, 440, 401, 441, 383, 415, - 414, 416, 0, 0, 0, 0, 0, 531, 532, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 664, 864, 0, 668, 0, 503, - 0, 0, 938, 0, 0, 0, 472, 0, 0, 394, - 0, 0, 0, 868, 0, 455, 431, 951, 0, 0, - 453, 399, 488, 442, 494, 475, 502, 447, 443, 315, - 476, 361, 412, 330, 332, 696, 363, 365, 369, 370, - 421, 422, 436, 460, 479, 480, 481, 360, 344, 454, - 345, 379, 346, 316, 352, 350, 353, 462, 354, 318, - 437, 485, 0, 375, 450, 407, 319, 406, 438, 484, - 483, 331, 511, 518, 519, 609, 0, 524, 707, 708, - 709, 533, 0, 444, 327, 326, 0, 0, 0, 356, - 439, 340, 342, 343, 341, 434, 435, 538, 539, 540, - 542, 0, 543, 544, 0, 0, 0, 0, 545, 610, - 626, 594, 563, 526, 618, 560, 564, 565, 385, 629, - 0, 0, 0, 517, 395, 396, 0, 367, 366, 408, - 320, 0, 0, 373, 311, 312, 702, 935, 427, 631, - 666, 667, 556, 0, 950, 930, 932, 933, 937, 941, - 942, 943, 944, 945, 947, 949, 953, 701, 0, 611, - 625, 705, 624, 698, 433, 0, 459, 622, 569, 0, - 615, 588, 589, 0, 616, 584, 620, 0, 558, 0, - 527, 530, 559, 644, 645, 646, 317, 529, 648, 649, - 650, 651, 652, 653, 654, 647, 952, 592, 568, 595, - 508, 571, 570, 0, 0, 606, 872, 607, 608, 417, - 418, 419, 420, 939, 632, 338, 528, 446, 0, 593, - 0, 0, 0, 0, 0, 0, 0, 0, 598, 599, - 596, 710, 0, 655, 656, 0, 0, 522, 523, 372, - 0, 541, 380, 337, 432, 374, 506, 389, 0, 534, - 600, 535, 448, 449, 658, 663, 659, 660, 662, 682, - 424, 384, 386, 463, 390, 400, 451, 505, 430, 456, - 335, 495, 465, 405, 585, 613, 961, 934, 960, 962, - 963, 959, 964, 965, 946, 827, 0, 879, 880, 957, - 956, 958, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 640, 639, 638, 637, 636, 635, 634, - 633, 0, 0, 582, 482, 351, 305, 347, 348, 355, - 699, 695, 661, 700, 683, 686, 685, 834, 313, 562, - 398, 445, 371, 627, 628, 0, 681, 923, 888, 889, - 890, 824, 891, 885, 886, 825, 887, 924, 877, 920, - 921, 853, 882, 892, 919, 893, 922, 925, 926, 966, - 967, 899, 883, 275, 968, 896, 927, 918, 917, 894, - 878, 928, 929, 860, 855, 897, 898, 884, 903, 904, - 905, 908, 826, 909, 910, 911, 912, 913, 907, 906, - 874, 875, 876, 900, 901, 881, 473, 856, 857, 858, - 859, 0, 0, 512, 513, 514, 537, 0, 515, 497, - 561, 381, 314, 477, 504, 697, 0, 0, 0, 0, - 0, 0, 0, 612, 623, 657, 0, 669, 670, 672, - 674, 914, 676, 470, 471, 684, 0, 902, 679, 680, - 677, 402, 457, 478, 464, 870, 703, 552, 553, 704, - 665, 0, 819, 0, 429, 0, 0, 567, 601, 590, - 675, 555, 0, 0, 0, 0, 0, 0, 822, 0, - 0, 0, 364, 0, 0, 397, 605, 586, 597, 587, - 572, 573, 574, 581, 376, 575, 576, 577, 547, 578, - 548, 579, 580, 861, 604, 554, 466, 413, 0, 621, - 0, 0, 940, 948, 0, 0, 0, 0, 0, 0, - 0, 0, 936, 0, 0, 0, 0, 814, 0, 0, - 851, 916, 915, 838, 848, 0, 0, 333, 246, 549, - 671, 551, 550, 839, 0, 840, 844, 847, 843, 841, - 842, 0, 931, 0, 0, 0, 0, 0, 0, 806, - 818, 0, 823, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 815, 816, - 0, 0, 0, 0, 871, 0, 817, 0, 0, 0, - 0, 0, 467, 496, 0, 509, 0, 387, 388, 866, - 845, 849, 0, 0, 0, 0, 321, 474, 493, 334, - 461, 507, 339, 469, 486, 329, 428, 458, 0, 0, - 323, 491, 468, 410, 322, 0, 452, 362, 378, 359, - 426, 846, 869, 873, 358, 954, 867, 501, 325, 0, - 500, 425, 487, 492, 411, 404, 0, 324, 489, 409, - 403, 391, 368, 955, 392, 393, 382, 440, 401, 441, - 383, 415, 414, 416, 0, 0, 0, 0, 0, 531, - 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 664, 864, 0, 668, - 0, 503, 0, 0, 938, 0, 0, 0, 472, 0, - 0, 394, 0, 0, 0, 868, 0, 455, 431, 951, - 4452, 0, 453, 399, 488, 442, 494, 475, 502, 447, - 443, 315, 476, 361, 412, 330, 332, 696, 363, 365, - 369, 370, 421, 422, 436, 460, 479, 480, 481, 360, - 344, 454, 345, 379, 346, 316, 352, 350, 353, 462, - 354, 318, 437, 485, 0, 375, 450, 407, 319, 406, - 438, 484, 483, 331, 511, 518, 519, 609, 0, 524, - 707, 708, 709, 533, 0, 444, 327, 326, 0, 0, - 0, 356, 439, 340, 342, 343, 341, 434, 435, 538, - 539, 540, 542, 0, 543, 544, 0, 0, 0, 0, - 545, 610, 626, 594, 563, 526, 618, 560, 564, 565, - 385, 629, 0, 0, 0, 517, 395, 396, 0, 367, - 366, 408, 320, 0, 0, 373, 311, 312, 702, 935, - 427, 631, 666, 667, 556, 0, 950, 930, 932, 933, - 937, 941, 942, 943, 944, 945, 947, 949, 953, 701, - 0, 611, 625, 705, 624, 698, 433, 0, 459, 622, - 569, 0, 615, 588, 589, 0, 616, 584, 620, 0, - 558, 0, 527, 530, 559, 644, 645, 646, 317, 529, - 648, 649, 650, 651, 652, 653, 654, 647, 952, 592, - 568, 595, 508, 571, 570, 0, 0, 606, 872, 607, - 608, 417, 418, 419, 420, 939, 632, 338, 528, 446, - 0, 593, 0, 0, 0, 0, 0, 0, 0, 0, - 598, 599, 596, 710, 0, 655, 656, 0, 0, 522, - 523, 372, 0, 541, 380, 337, 432, 374, 506, 389, - 0, 534, 600, 535, 448, 449, 658, 663, 659, 660, - 662, 682, 424, 384, 386, 463, 390, 400, 451, 505, - 430, 456, 335, 495, 465, 405, 585, 613, 961, 934, - 960, 962, 963, 959, 964, 965, 946, 827, 0, 879, - 880, 957, 956, 958, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 640, 639, 638, 637, 636, - 635, 634, 633, 0, 0, 582, 482, 351, 305, 347, - 348, 355, 699, 695, 661, 700, 683, 686, 685, 834, - 313, 562, 398, 445, 371, 627, 628, 0, 681, 923, - 888, 889, 890, 824, 891, 885, 886, 825, 887, 924, - 877, 920, 921, 853, 882, 892, 919, 893, 922, 925, - 926, 966, 967, 899, 883, 275, 968, 896, 927, 918, - 917, 894, 878, 928, 929, 860, 855, 897, 898, 884, - 903, 904, 905, 908, 826, 909, 910, 911, 912, 913, - 907, 906, 874, 875, 876, 900, 901, 881, 473, 856, - 857, 858, 859, 0, 0, 512, 513, 514, 537, 0, - 515, 497, 561, 381, 314, 477, 504, 697, 0, 0, - 0, 0, 0, 0, 0, 612, 623, 657, 0, 669, - 670, 672, 674, 914, 676, 470, 471, 684, 0, 902, - 679, 680, 677, 402, 457, 478, 464, 870, 703, 552, - 553, 704, 665, 0, 819, 0, 429, 0, 0, 567, - 601, 590, 675, 555, 0, 0, 0, 0, 0, 0, - 822, 0, 0, 0, 364, 2019, 0, 397, 605, 586, - 597, 587, 572, 573, 574, 581, 376, 575, 576, 577, - 547, 578, 548, 579, 580, 861, 604, 554, 466, 413, - 0, 621, 0, 0, 940, 948, 0, 0, 0, 0, - 0, 0, 0, 0, 936, 0, 0, 0, 0, 814, - 0, 0, 851, 916, 915, 838, 848, 0, 0, 333, - 246, 549, 671, 551, 550, 839, 0, 840, 844, 847, - 843, 841, 842, 0, 931, 0, 0, 0, 0, 0, - 0, 806, 818, 0, 823, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 815, 816, 0, 0, 0, 0, 871, 0, 817, 0, - 0, 0, 0, 0, 467, 496, 0, 509, 0, 387, - 388, 866, 845, 849, 0, 0, 0, 0, 321, 474, - 493, 334, 461, 507, 339, 469, 486, 329, 428, 458, - 0, 0, 323, 491, 468, 410, 322, 0, 452, 362, - 378, 359, 426, 846, 869, 873, 358, 954, 867, 501, - 325, 0, 500, 425, 487, 492, 411, 404, 0, 324, - 489, 409, 403, 391, 368, 955, 392, 393, 382, 440, - 401, 441, 383, 415, 414, 416, 0, 0, 0, 0, - 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 664, 864, - 0, 668, 0, 503, 0, 0, 938, 0, 0, 0, - 472, 0, 0, 394, 0, 0, 0, 868, 0, 455, - 431, 951, 0, 0, 453, 399, 488, 442, 494, 475, - 502, 447, 443, 315, 476, 361, 412, 330, 332, 696, - 363, 365, 369, 370, 421, 422, 436, 460, 479, 480, - 481, 360, 344, 454, 345, 379, 346, 316, 352, 350, - 353, 462, 354, 318, 437, 485, 0, 375, 450, 407, - 319, 406, 438, 484, 483, 331, 511, 518, 519, 609, - 0, 524, 707, 708, 709, 533, 0, 444, 327, 326, - 0, 0, 0, 356, 439, 340, 342, 343, 341, 434, - 435, 538, 539, 540, 542, 0, 543, 544, 0, 0, - 0, 0, 545, 610, 626, 594, 563, 526, 618, 560, - 564, 565, 385, 629, 0, 0, 0, 517, 395, 396, - 0, 367, 366, 408, 320, 0, 0, 373, 311, 312, - 702, 935, 427, 631, 666, 667, 556, 0, 950, 930, - 932, 933, 937, 941, 942, 943, 944, 945, 947, 949, - 953, 701, 0, 611, 625, 705, 624, 698, 433, 0, - 459, 622, 569, 0, 615, 588, 589, 0, 616, 584, - 620, 0, 558, 0, 527, 530, 559, 644, 645, 646, - 317, 529, 648, 649, 650, 651, 652, 653, 654, 647, - 952, 592, 568, 595, 508, 571, 570, 0, 0, 606, - 872, 607, 608, 417, 418, 419, 420, 939, 632, 338, - 528, 446, 0, 593, 0, 0, 0, 0, 0, 0, - 0, 0, 598, 599, 596, 710, 0, 655, 656, 0, - 0, 522, 523, 372, 0, 541, 380, 337, 432, 374, - 506, 389, 0, 534, 600, 535, 448, 449, 658, 663, - 659, 660, 662, 682, 424, 384, 386, 463, 390, 400, - 451, 505, 430, 456, 335, 495, 465, 405, 585, 613, - 961, 934, 960, 962, 963, 959, 964, 965, 946, 827, - 0, 879, 880, 957, 956, 958, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 640, 639, 638, - 637, 636, 635, 634, 633, 0, 0, 582, 482, 351, - 305, 347, 348, 355, 699, 695, 661, 700, 683, 686, - 685, 834, 313, 562, 398, 445, 371, 627, 628, 0, - 681, 923, 888, 889, 890, 824, 891, 885, 886, 825, - 887, 924, 877, 920, 921, 853, 882, 892, 919, 893, - 922, 925, 926, 966, 967, 899, 883, 275, 968, 896, - 927, 918, 917, 894, 878, 928, 929, 860, 855, 897, - 898, 884, 903, 904, 905, 908, 826, 909, 910, 911, - 912, 913, 907, 906, 874, 875, 876, 900, 901, 881, - 473, 856, 857, 858, 859, 0, 0, 512, 513, 514, - 537, 0, 515, 497, 561, 381, 314, 477, 504, 697, - 0, 0, 0, 0, 0, 0, 0, 612, 623, 657, - 0, 669, 670, 672, 674, 914, 676, 470, 471, 684, - 0, 902, 679, 680, 677, 402, 457, 478, 464, 870, - 703, 552, 553, 704, 665, 0, 819, 0, 429, 0, - 0, 567, 601, 590, 675, 555, 0, 0, 0, 0, - 0, 0, 822, 0, 0, 0, 364, 0, 0, 397, - 605, 586, 597, 587, 572, 573, 574, 581, 376, 575, - 576, 577, 547, 578, 548, 579, 580, 861, 604, 554, - 466, 413, 0, 621, 0, 0, 940, 948, 0, 0, - 0, 0, 0, 0, 0, 0, 936, 0, 0, 0, - 0, 814, 0, 0, 851, 916, 915, 838, 848, 0, - 0, 333, 246, 549, 671, 551, 550, 839, 0, 840, - 844, 847, 843, 841, 842, 0, 931, 0, 0, 0, - 0, 0, 0, 806, 818, 0, 823, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 815, 816, 1716, 0, 0, 0, 871, 0, - 817, 0, 0, 0, 0, 0, 467, 496, 0, 509, - 0, 387, 388, 866, 845, 849, 0, 0, 0, 0, - 321, 474, 493, 334, 461, 507, 339, 469, 486, 329, - 428, 458, 0, 0, 323, 491, 468, 410, 322, 0, - 452, 362, 378, 359, 426, 846, 869, 873, 358, 954, - 867, 501, 325, 0, 500, 425, 487, 492, 411, 404, - 0, 324, 489, 409, 403, 391, 368, 955, 392, 393, - 382, 440, 401, 441, 383, 415, 414, 416, 0, 0, - 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 664, 864, 0, 668, 0, 503, 0, 0, 938, 0, - 0, 0, 472, 0, 0, 394, 0, 0, 0, 868, - 0, 455, 431, 951, 0, 0, 453, 399, 488, 442, - 494, 475, 502, 447, 443, 315, 476, 361, 412, 330, - 332, 696, 363, 365, 369, 370, 421, 422, 436, 460, - 479, 480, 481, 360, 344, 454, 345, 379, 346, 316, - 352, 350, 353, 462, 354, 318, 437, 485, 0, 375, - 450, 407, 319, 406, 438, 484, 483, 331, 511, 518, - 519, 609, 0, 524, 707, 708, 709, 533, 0, 444, - 327, 326, 0, 0, 0, 356, 439, 340, 342, 343, - 341, 434, 435, 538, 539, 540, 542, 0, 543, 544, - 0, 0, 0, 0, 545, 610, 626, 594, 563, 526, - 618, 560, 564, 565, 385, 629, 0, 0, 0, 517, - 395, 396, 0, 367, 366, 408, 320, 0, 0, 373, - 311, 312, 702, 935, 427, 631, 666, 667, 556, 0, - 950, 930, 932, 933, 937, 941, 942, 943, 944, 945, - 947, 949, 953, 701, 0, 611, 625, 705, 624, 698, - 433, 0, 459, 622, 569, 0, 615, 588, 589, 0, - 616, 584, 620, 0, 558, 0, 527, 530, 559, 644, - 645, 646, 317, 529, 648, 649, 650, 651, 652, 653, - 654, 647, 952, 592, 568, 595, 508, 571, 570, 0, - 0, 606, 872, 607, 608, 417, 418, 419, 420, 939, - 632, 338, 528, 446, 0, 593, 0, 0, 0, 0, - 0, 0, 0, 0, 598, 599, 596, 710, 0, 655, - 656, 0, 0, 522, 523, 372, 0, 541, 380, 337, - 432, 374, 506, 389, 0, 534, 600, 535, 448, 449, - 658, 663, 659, 660, 662, 682, 424, 384, 386, 463, - 390, 400, 451, 505, 430, 456, 335, 495, 465, 405, - 585, 613, 961, 934, 960, 962, 963, 959, 964, 965, - 946, 827, 0, 879, 880, 957, 956, 958, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 640, - 639, 638, 637, 636, 635, 634, 633, 0, 0, 582, - 482, 351, 305, 347, 348, 355, 699, 695, 661, 700, - 683, 686, 685, 834, 313, 562, 398, 445, 371, 627, - 628, 0, 681, 923, 888, 889, 890, 824, 891, 885, - 886, 825, 887, 924, 877, 920, 921, 853, 882, 892, - 919, 893, 922, 925, 926, 966, 967, 899, 883, 275, - 968, 896, 927, 918, 917, 894, 878, 928, 929, 860, - 855, 897, 898, 884, 903, 904, 905, 908, 826, 909, - 910, 911, 912, 913, 907, 906, 874, 875, 876, 900, - 901, 881, 473, 856, 857, 858, 859, 0, 0, 512, - 513, 514, 537, 0, 515, 497, 561, 381, 314, 477, - 504, 697, 0, 0, 0, 0, 0, 0, 0, 612, - 623, 657, 0, 669, 670, 672, 674, 914, 676, 470, - 471, 684, 0, 902, 679, 680, 677, 402, 457, 478, - 464, 0, 703, 552, 553, 704, 665, 870, 819, 0, - 2447, 0, 0, 0, 0, 0, 429, 0, 0, 567, - 601, 590, 675, 555, 0, 0, 0, 0, 0, 0, - 822, 0, 0, 0, 364, 0, 0, 397, 605, 586, - 597, 587, 572, 573, 574, 581, 376, 575, 576, 577, - 547, 578, 548, 579, 580, 861, 604, 554, 466, 413, - 0, 621, 0, 0, 940, 948, 0, 0, 0, 0, - 0, 0, 0, 0, 936, 0, 0, 0, 0, 814, - 0, 0, 851, 916, 915, 838, 848, 0, 0, 333, - 246, 549, 671, 551, 550, 839, 0, 840, 844, 847, - 843, 841, 842, 0, 931, 0, 0, 0, 0, 0, - 0, 806, 818, 0, 823, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 815, 816, 0, 0, 0, 0, 871, 0, 817, 0, - 0, 0, 0, 0, 467, 496, 0, 509, 0, 387, - 388, 866, 845, 849, 0, 0, 0, 0, 321, 474, - 493, 334, 461, 507, 339, 469, 486, 329, 428, 458, - 0, 0, 323, 491, 468, 410, 322, 0, 452, 362, - 378, 359, 426, 846, 869, 873, 358, 954, 867, 501, - 325, 0, 500, 425, 487, 492, 411, 404, 0, 324, - 489, 409, 403, 391, 368, 955, 392, 393, 382, 440, - 401, 441, 383, 415, 414, 416, 0, 0, 0, 0, - 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 664, 864, - 0, 668, 0, 503, 0, 0, 938, 0, 0, 0, - 472, 0, 0, 394, 0, 0, 0, 868, 0, 455, - 431, 951, 0, 0, 453, 399, 488, 442, 494, 475, - 502, 447, 443, 315, 476, 361, 412, 330, 332, 696, - 363, 365, 369, 370, 421, 422, 436, 460, 479, 480, - 481, 360, 344, 454, 345, 379, 346, 316, 352, 350, - 353, 462, 354, 318, 437, 485, 0, 375, 450, 407, - 319, 406, 438, 484, 483, 331, 511, 518, 519, 609, - 0, 524, 707, 708, 709, 533, 0, 444, 327, 326, - 0, 0, 0, 356, 439, 340, 342, 343, 341, 434, - 435, 538, 539, 540, 542, 0, 543, 544, 0, 0, - 0, 0, 545, 610, 626, 594, 563, 526, 618, 560, - 564, 565, 385, 629, 0, 0, 0, 517, 395, 396, - 0, 367, 366, 408, 320, 0, 0, 373, 311, 312, - 702, 935, 427, 631, 666, 667, 556, 0, 950, 930, - 932, 933, 937, 941, 942, 943, 944, 945, 947, 949, - 953, 701, 0, 611, 625, 705, 624, 698, 433, 0, - 459, 622, 569, 0, 615, 588, 589, 0, 616, 584, - 620, 0, 558, 0, 527, 530, 559, 644, 645, 646, - 317, 529, 648, 649, 650, 651, 652, 653, 654, 647, - 952, 592, 568, 595, 508, 571, 570, 0, 0, 606, - 872, 607, 608, 417, 418, 419, 420, 939, 632, 338, - 528, 446, 0, 593, 0, 0, 0, 0, 0, 0, - 0, 0, 598, 599, 596, 710, 0, 655, 656, 0, - 0, 522, 523, 372, 0, 541, 380, 337, 432, 374, - 506, 389, 0, 534, 600, 535, 448, 449, 658, 663, - 659, 660, 662, 682, 424, 384, 386, 463, 390, 400, - 451, 505, 430, 456, 335, 495, 465, 405, 585, 613, - 961, 934, 960, 962, 963, 959, 964, 965, 946, 827, - 0, 879, 880, 957, 956, 958, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 640, 639, 638, - 637, 636, 635, 634, 633, 0, 0, 582, 482, 351, - 305, 347, 348, 355, 699, 695, 661, 700, 683, 686, - 685, 834, 313, 562, 398, 445, 371, 627, 628, 0, - 681, 923, 888, 889, 890, 824, 891, 885, 886, 825, - 887, 924, 877, 920, 921, 853, 882, 892, 919, 893, - 922, 925, 926, 966, 967, 899, 883, 275, 968, 896, - 927, 918, 917, 894, 878, 928, 929, 860, 855, 897, - 898, 884, 903, 904, 905, 908, 826, 909, 910, 911, - 912, 913, 907, 906, 874, 875, 876, 900, 901, 881, - 473, 856, 857, 858, 859, 0, 0, 512, 513, 514, - 537, 0, 515, 497, 561, 381, 314, 477, 504, 697, - 0, 0, 0, 0, 0, 0, 0, 612, 623, 657, - 0, 669, 670, 672, 674, 914, 676, 470, 471, 684, - 0, 902, 679, 680, 677, 402, 457, 478, 464, 870, - 703, 552, 553, 704, 665, 0, 819, 0, 429, 0, - 0, 567, 601, 590, 675, 555, 0, 0, 0, 0, - 0, 0, 822, 0, 0, 0, 364, 0, 0, 397, - 605, 586, 597, 587, 572, 573, 574, 581, 376, 575, - 576, 577, 547, 578, 548, 579, 580, 861, 604, 554, - 466, 413, 0, 621, 0, 0, 940, 948, 0, 0, - 0, 0, 0, 0, 0, 0, 936, 0, 0, 0, - 0, 814, 0, 0, 851, 916, 915, 838, 848, 0, - 0, 333, 246, 549, 671, 551, 550, 839, 0, 840, - 844, 847, 843, 841, 842, 0, 931, 0, 0, 0, - 0, 0, 0, 806, 818, 0, 823, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 815, 816, 2012, 0, 0, 0, 871, 0, - 817, 0, 0, 0, 0, 0, 467, 496, 0, 509, - 0, 387, 388, 866, 845, 849, 0, 0, 0, 0, - 321, 474, 493, 334, 461, 507, 339, 469, 486, 329, - 428, 458, 0, 0, 323, 491, 468, 410, 322, 0, - 452, 362, 378, 359, 426, 846, 869, 873, 358, 954, - 867, 501, 325, 0, 500, 425, 487, 492, 411, 404, - 0, 324, 489, 409, 403, 391, 368, 955, 392, 393, - 382, 440, 401, 441, 383, 415, 414, 416, 0, 0, - 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 664, 864, 0, 668, 0, 503, 0, 0, 938, 0, - 0, 0, 472, 0, 0, 394, 0, 0, 0, 868, - 0, 455, 431, 951, 0, 0, 453, 399, 488, 442, - 494, 475, 502, 447, 443, 315, 476, 361, 412, 330, - 332, 696, 363, 365, 369, 370, 421, 422, 436, 460, - 479, 480, 481, 360, 344, 454, 345, 379, 346, 316, - 352, 350, 353, 462, 354, 318, 437, 485, 0, 375, - 450, 407, 319, 406, 438, 484, 483, 331, 511, 518, - 519, 609, 0, 524, 707, 708, 709, 533, 0, 444, - 327, 326, 0, 0, 0, 356, 439, 340, 342, 343, - 341, 434, 435, 538, 539, 540, 542, 0, 543, 544, - 0, 0, 0, 0, 545, 610, 626, 594, 563, 526, - 618, 560, 564, 565, 385, 629, 0, 0, 0, 517, - 395, 396, 0, 367, 366, 408, 320, 0, 0, 373, - 311, 312, 702, 935, 427, 631, 666, 667, 556, 0, - 950, 930, 932, 933, 937, 941, 942, 943, 944, 945, - 947, 949, 953, 701, 0, 611, 625, 705, 624, 698, - 433, 0, 459, 622, 569, 0, 615, 588, 589, 0, - 616, 584, 620, 0, 558, 0, 527, 530, 559, 644, - 645, 646, 317, 529, 648, 649, 650, 651, 652, 653, - 654, 647, 952, 592, 568, 595, 508, 571, 570, 0, - 0, 606, 872, 607, 608, 417, 418, 419, 420, 939, - 632, 338, 528, 446, 0, 593, 0, 0, 0, 0, - 0, 0, 0, 0, 598, 599, 596, 710, 0, 655, - 656, 0, 0, 522, 523, 372, 0, 541, 380, 337, - 432, 374, 506, 389, 0, 534, 600, 535, 448, 449, - 658, 663, 659, 660, 662, 682, 424, 384, 386, 463, - 390, 400, 451, 505, 430, 456, 335, 495, 465, 405, - 585, 613, 961, 934, 960, 962, 963, 959, 964, 965, - 946, 827, 0, 879, 880, 957, 956, 958, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 640, - 639, 638, 637, 636, 635, 634, 633, 0, 0, 582, - 482, 351, 305, 347, 348, 355, 699, 695, 661, 700, - 683, 686, 685, 834, 313, 562, 398, 445, 371, 627, - 628, 0, 681, 923, 888, 889, 890, 824, 891, 885, - 886, 825, 887, 924, 877, 920, 921, 853, 882, 892, - 919, 893, 922, 925, 926, 966, 967, 899, 883, 275, - 968, 896, 927, 918, 917, 894, 878, 928, 929, 860, - 855, 897, 898, 884, 903, 904, 905, 908, 826, 909, - 910, 911, 912, 913, 907, 906, 874, 875, 876, 900, - 901, 881, 473, 856, 857, 858, 859, 0, 0, 512, - 513, 514, 537, 0, 515, 497, 561, 381, 314, 477, - 504, 697, 0, 0, 0, 0, 0, 0, 0, 612, - 623, 657, 0, 669, 670, 672, 674, 914, 676, 470, - 471, 684, 0, 902, 679, 680, 677, 402, 457, 478, - 464, 870, 703, 552, 553, 704, 665, 0, 819, 0, - 429, 0, 0, 567, 601, 590, 675, 555, 0, 0, - 0, 0, 0, 0, 822, 0, 0, 0, 364, 0, - 0, 397, 605, 586, 597, 587, 572, 573, 574, 581, - 376, 575, 576, 577, 547, 578, 548, 579, 580, 861, - 604, 554, 466, 413, 0, 621, 0, 0, 940, 948, - 0, 0, 0, 0, 0, 0, 0, 0, 936, 0, - 0, 0, 0, 814, 0, 0, 851, 916, 915, 838, - 848, 0, 0, 333, 246, 549, 671, 551, 550, 839, - 0, 840, 844, 847, 843, 841, 842, 0, 931, 0, - 0, 0, 0, 0, 0, 806, 818, 0, 823, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 815, 816, 0, 0, 0, 0, - 871, 0, 817, 0, 0, 0, 0, 0, 467, 496, - 0, 509, 0, 387, 388, 866, 845, 849, 0, 0, - 0, 0, 321, 474, 493, 334, 461, 507, 339, 469, - 486, 329, 428, 458, 0, 0, 323, 491, 468, 410, - 322, 0, 452, 362, 378, 359, 426, 846, 869, 873, - 358, 954, 867, 501, 325, 0, 500, 425, 487, 492, - 411, 404, 0, 324, 489, 409, 403, 391, 368, 955, - 392, 393, 382, 440, 401, 441, 383, 415, 414, 416, - 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 664, 864, 0, 668, 0, 503, 0, 0, - 938, 0, 0, 0, 472, 0, 0, 394, 0, 0, - 0, 868, 0, 455, 431, 951, 0, 0, 453, 399, - 488, 442, 494, 475, 502, 447, 443, 315, 476, 361, - 412, 330, 332, 696, 363, 365, 369, 370, 421, 422, - 436, 460, 479, 480, 481, 360, 344, 454, 345, 379, - 346, 316, 352, 350, 353, 462, 354, 318, 437, 485, - 0, 375, 450, 407, 319, 406, 438, 484, 483, 331, - 511, 518, 519, 609, 0, 524, 707, 708, 709, 533, - 0, 444, 327, 326, 0, 0, 0, 356, 439, 340, - 342, 343, 341, 434, 435, 538, 539, 540, 542, 0, - 543, 544, 0, 0, 0, 0, 545, 610, 626, 594, - 563, 526, 618, 560, 564, 565, 385, 629, 0, 0, - 0, 517, 395, 396, 0, 367, 366, 408, 320, 0, - 0, 373, 311, 312, 702, 935, 427, 631, 666, 667, - 556, 0, 950, 930, 932, 933, 937, 941, 942, 943, - 944, 945, 947, 949, 953, 701, 0, 611, 625, 705, - 624, 698, 433, 0, 459, 622, 569, 0, 615, 588, - 589, 0, 616, 584, 620, 0, 558, 0, 527, 530, - 559, 644, 645, 646, 317, 529, 648, 649, 650, 651, - 652, 653, 654, 647, 952, 592, 568, 595, 508, 571, - 570, 0, 0, 606, 872, 607, 608, 417, 418, 419, - 420, 939, 632, 338, 528, 446, 0, 593, 0, 0, - 0, 0, 0, 0, 0, 0, 598, 599, 596, 710, - 0, 655, 656, 0, 0, 522, 523, 372, 0, 541, - 380, 337, 432, 374, 506, 389, 0, 534, 600, 535, - 448, 449, 658, 663, 659, 660, 662, 682, 424, 384, - 386, 463, 390, 400, 451, 505, 430, 456, 335, 495, - 465, 405, 585, 613, 961, 934, 960, 962, 963, 959, - 964, 965, 946, 827, 0, 879, 880, 957, 956, 958, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 640, 639, 638, 637, 636, 635, 634, 633, 0, - 0, 582, 482, 351, 305, 347, 348, 355, 699, 695, - 661, 700, 683, 686, 685, 834, 313, 562, 398, 445, - 371, 627, 628, 0, 681, 923, 888, 889, 890, 824, - 891, 885, 886, 825, 887, 924, 877, 920, 921, 853, - 882, 892, 919, 893, 922, 925, 926, 966, 967, 899, - 883, 275, 968, 896, 927, 918, 917, 894, 878, 928, - 929, 860, 855, 897, 898, 884, 903, 904, 905, 908, - 826, 909, 910, 911, 912, 913, 907, 906, 874, 875, - 876, 900, 901, 881, 473, 856, 857, 858, 859, 0, - 0, 512, 513, 514, 537, 0, 515, 497, 561, 381, - 314, 477, 504, 697, 0, 0, 0, 0, 0, 0, - 0, 612, 623, 657, 0, 669, 670, 672, 674, 914, - 676, 470, 471, 684, 0, 902, 679, 680, 677, 402, - 457, 478, 464, 870, 703, 552, 553, 704, 665, 0, - 819, 0, 429, 0, 0, 567, 601, 590, 675, 555, - 0, 0, 0, 0, 0, 0, 822, 0, 0, 0, - 364, 0, 0, 397, 605, 586, 597, 587, 572, 573, - 574, 581, 376, 575, 576, 577, 547, 578, 548, 579, - 580, 861, 604, 554, 466, 413, 0, 621, 0, 0, - 940, 948, 0, 0, 0, 0, 0, 0, 0, 0, - 936, 0, 0, 0, 0, 814, 0, 0, 851, 916, - 915, 838, 848, 0, 0, 333, 246, 549, 671, 551, - 550, 839, 0, 840, 844, 847, 843, 841, 842, 0, - 931, 0, 0, 0, 0, 0, 0, 806, 818, 0, - 823, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 815, 816, 0, 0, - 0, 0, 871, 0, 817, 0, 0, 0, 0, 0, - 467, 496, 0, 509, 0, 387, 388, 866, 845, 849, - 0, 0, 0, 0, 321, 474, 493, 334, 461, 507, - 339, 469, 486, 329, 428, 458, 0, 0, 323, 491, - 468, 410, 322, 0, 452, 362, 378, 359, 426, 846, - 869, 873, 358, 954, 867, 501, 325, 0, 500, 425, - 487, 492, 411, 404, 0, 324, 489, 409, 403, 391, - 368, 955, 392, 393, 382, 440, 401, 441, 383, 415, - 414, 416, 0, 0, 0, 0, 0, 531, 532, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 664, 864, 0, 668, 0, 503, - 0, 0, 938, 0, 0, 0, 472, 0, 0, 394, - 0, 0, 0, 868, 0, 455, 431, 951, 0, 0, - 453, 399, 488, 442, 494, 475, 502, 447, 443, 315, - 476, 361, 412, 330, 332, 696, 363, 365, 369, 370, - 421, 422, 436, 460, 479, 480, 481, 360, 344, 454, - 345, 379, 346, 316, 352, 350, 353, 462, 354, 318, - 437, 485, 0, 375, 450, 407, 319, 406, 438, 484, - 483, 331, 511, 518, 519, 609, 0, 524, 707, 708, - 709, 533, 0, 444, 327, 326, 0, 0, 0, 356, - 439, 340, 342, 343, 341, 434, 435, 538, 539, 540, - 542, 0, 543, 544, 0, 0, 0, 0, 545, 610, - 626, 594, 563, 526, 618, 560, 564, 565, 385, 629, - 0, 0, 0, 517, 395, 396, 0, 367, 366, 408, - 320, 0, 0, 373, 311, 312, 702, 935, 427, 631, - 666, 667, 556, 0, 950, 930, 932, 933, 937, 941, - 942, 943, 944, 945, 947, 949, 953, 701, 0, 611, - 625, 705, 624, 698, 433, 0, 459, 622, 569, 0, - 615, 588, 589, 0, 616, 584, 620, 0, 558, 0, - 527, 530, 559, 644, 645, 646, 317, 529, 648, 649, - 650, 651, 652, 653, 654, 647, 952, 592, 568, 595, - 508, 571, 570, 0, 0, 606, 872, 607, 608, 417, - 418, 419, 420, 939, 632, 338, 528, 446, 0, 593, - 0, 0, 0, 0, 0, 0, 0, 0, 598, 599, - 596, 710, 0, 655, 656, 0, 0, 522, 523, 372, - 0, 541, 380, 337, 432, 374, 506, 389, 0, 534, - 600, 535, 448, 449, 658, 663, 659, 660, 662, 682, - 424, 384, 386, 463, 390, 400, 451, 505, 430, 456, - 335, 495, 465, 405, 585, 613, 961, 934, 960, 962, - 963, 959, 964, 965, 946, 827, 0, 879, 880, 957, - 956, 958, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 640, 639, 638, 637, 636, 635, 634, - 633, 0, 0, 582, 482, 351, 305, 347, 348, 355, - 699, 695, 661, 700, 683, 686, 685, 834, 313, 562, - 398, 445, 371, 627, 628, 0, 681, 923, 888, 889, - 890, 824, 891, 885, 886, 825, 887, 924, 877, 920, - 921, 853, 882, 892, 919, 893, 922, 925, 926, 966, - 967, 899, 883, 275, 968, 896, 927, 918, 917, 894, - 878, 928, 929, 860, 855, 897, 898, 884, 903, 904, - 905, 908, 826, 909, 910, 911, 912, 913, 907, 906, - 874, 875, 876, 900, 901, 881, 473, 856, 857, 858, - 859, 0, 0, 512, 513, 514, 537, 0, 515, 497, - 561, 381, 314, 477, 504, 697, 0, 0, 0, 0, - 0, 0, 0, 612, 623, 657, 0, 669, 670, 672, - 674, 914, 676, 470, 471, 684, 0, 3921, 679, 3922, - 3923, 402, 457, 478, 464, 870, 703, 552, 553, 704, - 665, 0, 819, 0, 429, 0, 0, 567, 601, 590, - 675, 555, 0, 0, 0, 0, 0, 0, 822, 0, - 0, 0, 364, 0, 0, 397, 605, 586, 597, 587, - 572, 573, 574, 581, 376, 575, 576, 577, 547, 578, - 548, 579, 580, 861, 604, 554, 466, 413, 0, 621, - 0, 0, 940, 948, 0, 0, 0, 0, 0, 0, - 0, 0, 936, 0, 0, 0, 0, 814, 0, 0, - 851, 916, 915, 838, 848, 0, 0, 333, 246, 549, - 671, 551, 550, 2983, 0, 2984, 844, 847, 843, 841, - 842, 0, 931, 0, 0, 0, 0, 0, 0, 806, - 818, 0, 823, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 815, 816, - 0, 0, 0, 0, 871, 0, 817, 0, 0, 0, - 0, 0, 467, 496, 0, 509, 0, 387, 388, 866, - 845, 849, 0, 0, 0, 0, 321, 474, 493, 334, - 461, 507, 339, 469, 486, 329, 428, 458, 0, 0, - 323, 491, 468, 410, 322, 0, 452, 362, 378, 359, - 426, 846, 869, 873, 358, 954, 867, 501, 325, 0, - 500, 425, 487, 492, 411, 404, 0, 324, 489, 409, - 403, 391, 368, 955, 392, 393, 382, 440, 401, 441, - 383, 415, 414, 416, 0, 0, 0, 0, 0, 531, - 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 664, 864, 0, 668, - 0, 503, 0, 0, 938, 0, 0, 0, 472, 0, - 0, 394, 0, 0, 0, 868, 0, 455, 431, 951, - 0, 0, 453, 399, 488, 442, 494, 475, 502, 447, - 443, 315, 476, 361, 412, 330, 332, 696, 363, 365, - 369, 370, 421, 422, 436, 460, 479, 480, 481, 360, - 344, 454, 345, 379, 346, 316, 352, 350, 353, 462, - 354, 318, 437, 485, 0, 375, 450, 407, 319, 406, - 438, 484, 483, 331, 511, 518, 519, 609, 0, 524, - 707, 708, 709, 533, 0, 444, 327, 326, 0, 0, - 0, 356, 439, 340, 342, 343, 341, 434, 435, 538, - 539, 540, 542, 0, 543, 544, 0, 0, 0, 0, - 545, 610, 626, 594, 563, 526, 618, 560, 564, 565, - 385, 629, 0, 0, 0, 517, 395, 396, 0, 367, - 366, 408, 320, 0, 0, 373, 311, 312, 702, 935, - 427, 631, 666, 667, 556, 0, 950, 930, 932, 933, - 937, 941, 942, 943, 944, 945, 947, 949, 953, 701, - 0, 611, 625, 705, 624, 698, 433, 0, 459, 622, - 569, 0, 615, 588, 589, 0, 616, 584, 620, 0, - 558, 0, 527, 530, 559, 644, 645, 646, 317, 529, - 648, 649, 650, 651, 652, 653, 654, 647, 952, 592, - 568, 595, 508, 571, 570, 0, 0, 606, 872, 607, - 608, 417, 418, 419, 420, 939, 632, 338, 528, 446, - 0, 593, 0, 0, 0, 0, 0, 0, 0, 0, - 598, 599, 596, 710, 0, 655, 656, 0, 0, 522, - 523, 372, 0, 541, 380, 337, 432, 374, 506, 389, - 0, 534, 600, 535, 448, 449, 658, 663, 659, 660, - 662, 682, 424, 384, 386, 463, 390, 400, 451, 505, - 430, 456, 335, 495, 465, 405, 585, 613, 961, 934, - 960, 962, 963, 959, 964, 965, 946, 827, 0, 879, - 880, 957, 956, 958, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 640, 639, 638, 637, 636, - 635, 634, 633, 0, 0, 582, 482, 351, 305, 347, - 348, 355, 699, 695, 661, 700, 683, 686, 685, 834, - 313, 562, 398, 445, 371, 627, 628, 0, 681, 923, - 888, 889, 890, 824, 891, 885, 886, 825, 887, 924, - 877, 920, 921, 853, 882, 892, 919, 893, 922, 925, - 926, 966, 967, 899, 883, 275, 968, 896, 927, 918, - 917, 894, 878, 928, 929, 860, 855, 897, 898, 884, - 903, 904, 905, 908, 826, 909, 910, 911, 912, 913, - 907, 906, 874, 875, 876, 900, 901, 881, 473, 856, - 857, 858, 859, 0, 0, 512, 513, 514, 537, 0, - 515, 497, 561, 381, 314, 477, 504, 697, 0, 0, - 0, 0, 0, 0, 0, 612, 623, 657, 0, 669, - 670, 672, 674, 914, 676, 470, 471, 684, 0, 902, - 679, 680, 677, 402, 457, 478, 464, 870, 703, 552, - 553, 704, 665, 0, 819, 0, 429, 0, 0, 567, - 601, 590, 675, 555, 0, 0, 1857, 0, 0, 0, - 822, 0, 0, 0, 364, 0, 0, 397, 605, 586, - 597, 587, 572, 573, 574, 581, 376, 575, 576, 577, - 547, 578, 548, 579, 580, 861, 604, 554, 466, 413, - 0, 621, 0, 0, 940, 948, 0, 0, 0, 0, - 0, 0, 0, 0, 936, 0, 0, 0, 0, 814, - 0, 0, 851, 916, 915, 838, 848, 0, 0, 333, - 246, 549, 671, 551, 550, 839, 0, 840, 844, 847, - 843, 841, 842, 0, 931, 0, 0, 0, 0, 0, - 0, 0, 818, 0, 823, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 815, 816, 0, 0, 0, 0, 871, 0, 817, 0, - 0, 0, 0, 0, 467, 496, 0, 509, 0, 387, - 388, 866, 845, 849, 0, 0, 0, 0, 321, 474, - 493, 334, 461, 507, 339, 469, 486, 329, 428, 458, - 0, 0, 323, 491, 468, 410, 322, 0, 452, 362, - 378, 359, 426, 846, 869, 873, 358, 954, 867, 501, - 325, 0, 500, 425, 487, 492, 411, 404, 0, 324, - 489, 409, 403, 391, 368, 955, 392, 393, 382, 440, - 401, 441, 383, 415, 414, 416, 0, 0, 0, 0, - 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 664, 864, - 0, 668, 0, 503, 0, 0, 938, 0, 0, 0, - 472, 0, 0, 394, 0, 0, 0, 868, 0, 455, - 431, 951, 0, 0, 453, 399, 488, 442, 494, 475, - 502, 447, 443, 315, 476, 361, 412, 330, 332, 696, - 363, 365, 369, 370, 421, 422, 436, 460, 479, 480, - 481, 360, 344, 454, 345, 379, 346, 316, 352, 350, - 353, 462, 354, 318, 437, 485, 0, 375, 450, 407, - 319, 406, 438, 484, 483, 331, 511, 1858, 1859, 609, - 0, 524, 707, 708, 709, 533, 0, 444, 327, 326, - 0, 0, 0, 356, 439, 340, 342, 343, 341, 434, - 435, 538, 539, 540, 542, 0, 543, 544, 0, 0, - 0, 0, 545, 610, 626, 594, 563, 526, 618, 560, - 564, 565, 385, 629, 0, 0, 0, 517, 395, 396, - 0, 367, 366, 408, 320, 0, 0, 373, 311, 312, - 702, 935, 427, 631, 666, 667, 556, 0, 950, 930, - 932, 933, 937, 941, 942, 943, 944, 945, 947, 949, - 953, 701, 0, 611, 625, 705, 624, 698, 433, 0, - 459, 622, 569, 0, 615, 588, 589, 0, 616, 584, - 620, 0, 558, 0, 527, 530, 559, 644, 645, 646, - 317, 529, 648, 649, 650, 651, 652, 653, 654, 647, - 952, 592, 568, 595, 508, 571, 570, 0, 0, 606, - 872, 607, 608, 417, 418, 419, 420, 939, 632, 338, - 528, 446, 0, 593, 0, 0, 0, 0, 0, 0, - 0, 0, 598, 599, 596, 710, 0, 655, 656, 0, - 0, 522, 523, 372, 0, 541, 380, 337, 432, 374, - 506, 389, 0, 534, 600, 535, 448, 449, 658, 663, - 659, 660, 662, 682, 424, 384, 386, 463, 390, 400, - 451, 505, 430, 456, 335, 495, 465, 405, 585, 613, - 961, 934, 960, 962, 963, 959, 964, 965, 946, 827, - 0, 879, 880, 957, 956, 958, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 640, 639, 638, - 637, 636, 635, 634, 633, 0, 0, 582, 482, 351, - 305, 347, 348, 355, 699, 695, 661, 700, 683, 686, - 685, 834, 313, 562, 398, 445, 371, 627, 628, 0, - 681, 923, 888, 889, 890, 824, 891, 885, 886, 825, - 887, 924, 877, 920, 921, 853, 882, 892, 919, 893, - 922, 925, 926, 966, 967, 899, 883, 275, 968, 896, - 927, 918, 917, 894, 878, 928, 929, 860, 855, 897, - 898, 884, 903, 904, 905, 908, 826, 909, 910, 911, - 912, 913, 907, 906, 874, 875, 876, 900, 901, 881, - 473, 856, 857, 858, 859, 0, 0, 512, 513, 514, - 537, 0, 515, 497, 561, 381, 314, 477, 504, 697, - 0, 0, 0, 0, 0, 0, 0, 612, 623, 657, - 0, 669, 670, 672, 674, 914, 676, 470, 471, 684, - 0, 902, 679, 680, 677, 402, 457, 478, 464, 870, - 703, 552, 553, 704, 665, 0, 819, 0, 429, 0, - 0, 567, 601, 590, 675, 555, 0, 0, 0, 0, - 0, 0, 822, 0, 0, 0, 364, 0, 0, 397, - 605, 586, 597, 587, 572, 573, 574, 581, 376, 575, - 576, 577, 547, 578, 548, 579, 580, 861, 604, 554, - 466, 413, 0, 621, 0, 0, 940, 948, 0, 0, - 0, 0, 0, 0, 0, 0, 936, 0, 0, 0, - 0, 814, 0, 0, 851, 916, 915, 838, 848, 0, - 0, 333, 246, 549, 671, 551, 550, 839, 0, 840, - 844, 847, 843, 841, 842, 0, 931, 0, 0, 0, - 0, 0, 0, 0, 818, 0, 823, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 815, 816, 0, 0, 0, 0, 871, 0, - 817, 0, 0, 0, 0, 0, 467, 496, 0, 509, - 0, 387, 388, 866, 845, 849, 0, 0, 0, 0, - 321, 474, 493, 334, 461, 507, 339, 469, 486, 329, - 428, 458, 0, 0, 323, 491, 468, 410, 322, 0, - 452, 362, 378, 359, 426, 846, 869, 873, 358, 954, - 867, 501, 325, 0, 500, 425, 487, 492, 411, 404, - 0, 324, 489, 409, 403, 391, 368, 955, 392, 393, - 382, 440, 401, 441, 383, 415, 414, 416, 0, 0, - 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 664, 864, 0, 668, 0, 503, 0, 0, 938, 0, - 0, 0, 472, 0, 0, 394, 0, 0, 0, 868, - 0, 455, 431, 951, 0, 0, 453, 399, 488, 442, - 494, 475, 502, 447, 443, 315, 476, 361, 412, 330, - 332, 696, 363, 365, 369, 370, 421, 422, 436, 460, - 479, 480, 481, 360, 344, 454, 345, 379, 346, 316, - 352, 350, 353, 462, 354, 318, 437, 485, 0, 375, - 450, 407, 319, 406, 438, 484, 483, 331, 511, 518, - 519, 609, 0, 524, 707, 708, 709, 533, 0, 444, - 327, 326, 0, 0, 0, 356, 439, 340, 342, 343, - 341, 434, 435, 538, 539, 540, 542, 0, 543, 544, - 0, 0, 0, 0, 545, 610, 626, 594, 563, 526, - 618, 560, 564, 565, 385, 629, 0, 0, 0, 517, - 395, 396, 0, 367, 366, 408, 320, 0, 0, 373, - 311, 312, 702, 935, 427, 631, 666, 667, 556, 0, - 950, 930, 932, 933, 937, 941, 942, 943, 944, 945, - 947, 949, 953, 701, 0, 611, 625, 705, 624, 698, - 433, 0, 459, 622, 569, 0, 615, 588, 589, 0, - 616, 584, 620, 0, 558, 0, 527, 530, 559, 644, - 645, 646, 317, 529, 648, 649, 650, 651, 652, 653, - 654, 647, 952, 592, 568, 595, 508, 571, 570, 0, - 0, 606, 872, 607, 608, 417, 418, 419, 420, 939, - 632, 338, 528, 446, 0, 593, 0, 0, 0, 0, - 0, 0, 0, 0, 598, 599, 596, 710, 0, 655, - 656, 0, 0, 522, 523, 372, 0, 541, 380, 337, - 432, 374, 506, 389, 0, 534, 600, 535, 448, 449, - 658, 663, 659, 660, 662, 682, 424, 384, 386, 463, - 390, 400, 451, 505, 430, 456, 335, 495, 465, 405, - 585, 613, 961, 934, 960, 962, 963, 959, 964, 965, - 946, 827, 0, 879, 880, 957, 956, 958, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 640, - 639, 638, 637, 636, 635, 634, 633, 0, 0, 582, - 482, 351, 305, 347, 348, 355, 699, 695, 661, 700, - 683, 686, 685, 834, 313, 562, 398, 445, 371, 627, - 628, 0, 681, 923, 888, 889, 890, 824, 891, 885, - 886, 825, 887, 924, 877, 920, 921, 853, 882, 892, - 919, 893, 922, 925, 926, 966, 967, 899, 883, 275, - 968, 896, 927, 918, 917, 894, 878, 928, 929, 860, - 855, 897, 898, 884, 903, 904, 905, 908, 826, 909, - 910, 911, 912, 913, 907, 906, 874, 875, 876, 900, - 901, 881, 473, 856, 857, 858, 859, 0, 0, 512, - 513, 514, 537, 0, 515, 497, 561, 381, 314, 477, - 504, 697, 0, 0, 0, 0, 0, 0, 0, 612, - 623, 657, 0, 669, 670, 672, 674, 914, 676, 470, - 471, 684, 0, 902, 679, 680, 677, 402, 457, 478, - 464, 0, 703, 552, 553, 704, 665, 0, 819, 183, - 223, 182, 214, 184, 0, 0, 0, 0, 0, 0, - 429, 0, 0, 567, 601, 590, 675, 555, 0, 215, - 0, 0, 0, 0, 0, 0, 206, 0, 364, 0, - 216, 397, 605, 586, 597, 587, 572, 573, 574, 581, - 376, 575, 576, 577, 547, 578, 548, 579, 580, 153, - 604, 554, 466, 413, 0, 621, 0, 0, 0, 0, - 0, 0, 0, 0, 139, 0, 0, 0, 0, 0, - 0, 0, 0, 219, 0, 0, 245, 0, 0, 0, - 0, 0, 0, 333, 246, 549, 671, 551, 550, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 336, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 237, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 467, 496, - 0, 509, 0, 387, 388, 0, 0, 0, 0, 0, - 0, 0, 321, 474, 493, 334, 461, 507, 339, 469, - 486, 329, 428, 458, 0, 0, 323, 491, 468, 410, - 322, 0, 452, 362, 378, 359, 426, 0, 490, 520, - 358, 510, 0, 501, 325, 0, 500, 425, 487, 492, - 411, 404, 0, 324, 489, 409, 403, 391, 368, 536, - 392, 393, 382, 440, 401, 441, 383, 415, 414, 416, - 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, - 0, 0, 0, 0, 181, 212, 221, 213, 75, 137, - 0, 0, 664, 0, 0, 668, 0, 503, 0, 0, - 238, 0, 0, 0, 472, 0, 0, 394, 211, 205, - 204, 521, 0, 455, 431, 250, 0, 0, 453, 399, - 488, 442, 494, 475, 502, 447, 443, 315, 476, 361, - 412, 330, 332, 258, 363, 365, 369, 370, 421, 422, - 436, 460, 479, 480, 481, 360, 344, 454, 345, 379, - 346, 316, 352, 350, 353, 462, 354, 318, 437, 485, - 0, 375, 450, 407, 319, 406, 438, 484, 483, 331, - 511, 518, 519, 609, 0, 524, 641, 642, 643, 533, - 0, 444, 327, 326, 0, 0, 0, 356, 439, 340, - 342, 343, 341, 434, 435, 538, 539, 540, 542, 0, - 543, 544, 0, 0, 0, 0, 545, 610, 626, 594, - 563, 526, 618, 560, 564, 565, 385, 629, 0, 0, - 0, 517, 395, 396, 0, 367, 366, 408, 320, 0, - 0, 373, 311, 312, 498, 357, 427, 631, 666, 667, - 556, 0, 619, 557, 566, 349, 591, 603, 602, 423, - 516, 241, 614, 617, 546, 251, 0, 611, 625, 583, - 624, 252, 433, 0, 459, 622, 569, 0, 615, 588, - 589, 0, 616, 584, 620, 0, 558, 0, 527, 530, - 559, 644, 645, 646, 317, 529, 648, 649, 650, 651, - 652, 653, 654, 647, 499, 592, 568, 595, 508, 571, - 570, 0, 0, 606, 525, 607, 608, 417, 418, 419, - 420, 377, 632, 338, 528, 446, 151, 593, 0, 0, - 0, 0, 0, 0, 0, 0, 598, 599, 596, 249, - 0, 655, 656, 0, 0, 522, 523, 372, 0, 541, - 380, 337, 432, 374, 506, 389, 0, 534, 600, 535, - 448, 449, 658, 663, 659, 660, 662, 682, 424, 384, - 386, 463, 390, 400, 451, 505, 430, 456, 335, 495, - 465, 405, 585, 613, 0, 0, 0, 0, 0, 0, - 0, 0, 71, 0, 0, 298, 299, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 640, 639, 638, 637, 636, 635, 634, 633, 0, - 0, 582, 482, 351, 305, 347, 348, 355, 256, 328, - 661, 257, 683, 686, 685, 0, 313, 562, 398, 445, - 371, 627, 628, 66, 681, 259, 260, 261, 262, 263, - 264, 265, 266, 306, 267, 268, 269, 270, 271, 272, - 273, 276, 277, 278, 279, 280, 281, 282, 283, 630, - 274, 275, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, - 307, 687, 688, 689, 690, 691, 0, 0, 308, 309, - 310, 0, 0, 300, 473, 301, 302, 303, 304, 0, - 0, 512, 513, 514, 537, 0, 515, 497, 561, 381, - 314, 477, 504, 253, 49, 239, 242, 244, 243, 0, - 67, 612, 623, 657, 5, 669, 670, 672, 674, 673, - 676, 470, 471, 684, 0, 678, 679, 680, 677, 402, - 457, 478, 464, 156, 254, 552, 553, 255, 665, 183, - 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 429, 0, 0, 567, 601, 590, 675, 555, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 364, 0, - 0, 397, 605, 586, 597, 587, 572, 573, 574, 581, - 376, 575, 576, 577, 547, 578, 548, 579, 580, 153, - 604, 554, 466, 413, 0, 621, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 219, 0, 0, 245, 0, 0, 0, - 0, 0, 0, 333, 246, 549, 671, 551, 550, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 336, 2632, - 2635, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 467, 496, - 0, 509, 0, 387, 388, 0, 0, 0, 0, 0, - 0, 0, 321, 474, 493, 334, 461, 507, 339, 469, - 486, 329, 428, 458, 0, 0, 323, 491, 468, 410, - 322, 0, 452, 362, 378, 359, 426, 0, 490, 520, - 358, 510, 0, 501, 325, 0, 500, 425, 487, 492, - 411, 404, 0, 324, 489, 409, 403, 391, 368, 536, - 392, 393, 382, 440, 401, 441, 383, 415, 414, 416, - 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 664, 0, 0, 668, 2636, 503, 0, 0, - 0, 2631, 0, 2630, 472, 2628, 2633, 394, 0, 0, - 0, 521, 0, 455, 431, 706, 0, 0, 453, 399, - 488, 442, 494, 475, 502, 447, 443, 315, 476, 361, - 412, 330, 332, 696, 363, 365, 369, 370, 421, 422, - 436, 460, 479, 480, 481, 360, 344, 454, 345, 379, - 346, 316, 352, 350, 353, 462, 354, 318, 437, 485, - 2634, 375, 450, 407, 319, 406, 438, 484, 483, 331, - 511, 518, 519, 609, 0, 524, 707, 708, 709, 533, - 0, 444, 327, 326, 0, 0, 0, 356, 439, 340, - 342, 343, 341, 434, 435, 538, 539, 540, 542, 0, - 543, 544, 0, 0, 0, 0, 545, 610, 626, 594, - 563, 526, 618, 560, 564, 565, 385, 629, 0, 0, - 0, 517, 395, 396, 0, 367, 366, 408, 320, 0, - 0, 373, 311, 312, 702, 357, 427, 631, 666, 667, - 556, 0, 619, 557, 566, 349, 591, 603, 602, 423, - 516, 0, 614, 617, 546, 701, 0, 611, 625, 705, - 624, 698, 433, 0, 459, 622, 569, 0, 615, 588, - 589, 0, 616, 584, 620, 0, 558, 0, 527, 530, - 559, 644, 645, 646, 317, 529, 648, 649, 650, 651, - 652, 653, 654, 647, 499, 592, 568, 595, 508, 571, - 570, 0, 0, 606, 525, 607, 608, 417, 418, 419, - 420, 377, 632, 338, 528, 446, 0, 593, 0, 0, - 0, 0, 0, 0, 0, 0, 598, 599, 596, 710, - 0, 655, 656, 0, 0, 522, 523, 372, 0, 541, - 380, 337, 432, 374, 506, 389, 0, 534, 600, 535, - 448, 449, 658, 663, 659, 660, 662, 682, 424, 384, - 386, 463, 390, 400, 451, 505, 430, 456, 335, 495, - 465, 405, 585, 613, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, + 2183, 0, 0, 0, 2182, 4585, 0, 0, 2184, 2221, + 0, 0, 2185, 2187, 2189, 0, 2191, 2192, 2193, 2197, + 2198, 2199, 2201, 2204, 2205, 2206, 0, 0, 2200, 0, + 0, 0, 0, 2194, 2203, 2195, 0, 2188, 0, 0, + 0, 0, 0, 0, 0, 2173, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1220, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3455, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3623, + 0, 0, 0, 0, 0, 0, 0, 2210, 2211, 2212, + 2213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 640, 639, 638, 637, 636, 635, 634, 633, 0, - 0, 582, 482, 351, 305, 347, 348, 355, 699, 695, - 661, 700, 683, 686, 685, 0, 313, 562, 398, 445, - 371, 627, 628, 0, 681, 259, 260, 261, 262, 263, - 264, 265, 266, 306, 267, 268, 269, 270, 271, 272, - 273, 276, 277, 278, 279, 280, 281, 282, 283, 630, - 274, 275, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, - 307, 687, 688, 689, 690, 691, 0, 0, 308, 309, - 310, 0, 0, 300, 473, 301, 302, 303, 304, 0, - 0, 512, 513, 514, 537, 0, 515, 497, 561, 381, - 314, 477, 504, 697, 0, 0, 0, 0, 0, 0, - 0, 612, 623, 657, 0, 669, 670, 672, 674, 673, - 676, 470, 471, 684, 0, 678, 679, 680, 677, 402, - 457, 478, 464, 0, 703, 552, 553, 704, 665, 429, - 0, 0, 567, 601, 590, 675, 555, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 364, 0, 0, - 397, 605, 586, 597, 587, 572, 573, 574, 581, 376, - 575, 576, 577, 547, 578, 548, 579, 580, 0, 604, - 554, 466, 413, 0, 621, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1421, 0, 0, 245, 0, 0, 838, 848, - 0, 0, 333, 246, 549, 671, 551, 550, 839, 0, - 840, 844, 847, 843, 841, 842, 0, 336, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 467, 496, 0, - 509, 0, 387, 388, 0, 845, 0, 0, 0, 0, - 0, 321, 474, 493, 334, 461, 507, 339, 469, 486, - 329, 428, 458, 0, 0, 323, 491, 468, 410, 322, - 0, 452, 362, 378, 359, 426, 846, 490, 520, 358, - 510, 0, 501, 325, 0, 500, 425, 487, 492, 411, - 404, 0, 324, 489, 409, 403, 391, 368, 536, 392, - 393, 382, 440, 401, 441, 383, 415, 414, 416, 0, - 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 664, 0, 0, 668, 0, 503, 0, 0, 0, - 0, 0, 0, 472, 0, 0, 394, 0, 0, 0, - 521, 0, 455, 431, 706, 0, 0, 453, 399, 488, - 442, 494, 475, 502, 447, 443, 315, 476, 361, 412, - 330, 332, 696, 363, 365, 369, 370, 421, 422, 436, - 460, 479, 480, 481, 360, 344, 454, 345, 379, 346, - 316, 352, 350, 353, 462, 354, 318, 437, 485, 0, - 375, 450, 407, 319, 406, 438, 484, 483, 331, 511, - 518, 519, 609, 0, 524, 707, 708, 709, 533, 0, - 444, 327, 326, 0, 0, 0, 356, 439, 340, 342, - 343, 341, 434, 435, 538, 539, 540, 542, 0, 543, - 544, 0, 0, 0, 0, 545, 610, 626, 594, 563, - 526, 618, 560, 564, 565, 385, 629, 0, 0, 0, - 517, 395, 396, 0, 367, 366, 408, 320, 0, 0, - 373, 311, 312, 702, 357, 427, 631, 666, 667, 556, - 0, 619, 557, 566, 349, 591, 603, 602, 423, 516, - 0, 614, 617, 546, 701, 0, 611, 625, 705, 624, - 698, 433, 0, 459, 622, 569, 0, 615, 588, 589, - 0, 616, 584, 620, 0, 558, 0, 527, 530, 559, - 644, 645, 646, 317, 529, 648, 649, 650, 651, 652, - 653, 654, 647, 499, 592, 568, 595, 508, 571, 570, - 0, 0, 606, 525, 607, 608, 417, 418, 419, 420, - 377, 632, 338, 528, 446, 0, 593, 0, 0, 0, - 0, 0, 0, 0, 0, 598, 599, 596, 710, 0, - 655, 656, 0, 0, 522, 523, 372, 0, 541, 380, - 337, 432, 374, 506, 389, 0, 534, 600, 535, 448, - 449, 658, 663, 659, 660, 662, 682, 424, 384, 386, - 463, 390, 400, 451, 505, 430, 456, 335, 495, 465, - 405, 585, 613, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 640, 639, 638, 637, 636, 635, 634, 633, 0, 0, - 582, 482, 351, 305, 347, 348, 355, 699, 695, 661, - 700, 683, 686, 685, 0, 313, 562, 398, 445, 371, - 627, 628, 0, 681, 259, 260, 261, 262, 263, 264, - 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, - 276, 277, 278, 279, 280, 281, 282, 283, 630, 274, - 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 0, 0, 0, 0, 307, - 687, 688, 689, 690, 691, 0, 0, 308, 309, 310, - 0, 0, 300, 473, 301, 302, 303, 304, 0, 0, - 512, 513, 514, 537, 0, 515, 497, 561, 381, 314, - 477, 504, 697, 0, 0, 0, 0, 0, 0, 0, - 612, 623, 657, 0, 669, 670, 672, 674, 673, 676, - 470, 471, 684, 0, 678, 679, 680, 677, 402, 457, - 478, 464, 0, 703, 552, 553, 704, 665, 183, 223, - 182, 214, 184, 0, 0, 0, 0, 0, 0, 429, - 729, 0, 567, 601, 590, 675, 555, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 364, 0, 0, - 397, 605, 586, 597, 587, 572, 573, 574, 581, 376, - 575, 576, 577, 547, 578, 548, 579, 580, 0, 604, - 554, 466, 413, 0, 621, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 736, 0, 0, 0, 0, 0, - 0, 0, 735, 0, 0, 245, 0, 0, 0, 0, - 0, 0, 333, 246, 549, 671, 551, 550, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 336, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 467, 496, 0, - 509, 0, 387, 388, 0, 0, 0, 0, 0, 0, - 0, 321, 474, 493, 334, 461, 507, 339, 469, 486, - 329, 428, 458, 0, 0, 323, 491, 468, 410, 322, - 0, 452, 362, 378, 359, 426, 0, 490, 520, 358, - 510, 0, 501, 325, 0, 500, 425, 487, 492, 411, - 404, 0, 324, 489, 409, 403, 391, 368, 536, 392, - 393, 382, 440, 401, 441, 383, 415, 414, 416, 0, - 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 733, 734, - 0, 664, 0, 0, 668, 0, 503, 0, 0, 0, - 0, 0, 0, 472, 0, 0, 394, 0, 0, 0, - 521, 0, 455, 431, 706, 0, 0, 453, 399, 488, - 442, 494, 475, 502, 447, 443, 315, 476, 361, 412, - 330, 332, 696, 363, 365, 369, 370, 421, 422, 436, - 460, 479, 480, 481, 360, 344, 454, 345, 379, 346, - 316, 352, 350, 353, 462, 354, 318, 437, 485, 0, - 375, 450, 407, 319, 406, 438, 484, 483, 331, 511, - 518, 519, 609, 0, 524, 707, 708, 709, 533, 0, - 444, 327, 326, 0, 0, 0, 356, 439, 340, 342, - 343, 341, 434, 435, 538, 539, 540, 542, 0, 543, - 544, 0, 0, 0, 0, 545, 610, 626, 594, 563, - 526, 618, 560, 564, 565, 385, 629, 0, 0, 0, - 517, 395, 396, 0, 367, 366, 408, 320, 0, 0, - 373, 311, 312, 702, 357, 427, 631, 666, 667, 556, - 0, 619, 557, 566, 349, 591, 603, 602, 423, 516, - 0, 614, 617, 546, 701, 0, 611, 625, 705, 624, - 698, 433, 0, 459, 622, 569, 0, 615, 588, 589, - 0, 616, 584, 620, 0, 558, 0, 527, 530, 559, - 644, 645, 646, 317, 529, 648, 649, 650, 651, 652, - 653, 654, 647, 499, 592, 568, 595, 508, 571, 570, - 0, 0, 606, 525, 607, 608, 417, 418, 419, 420, - 730, 732, 338, 528, 446, 744, 593, 0, 0, 0, - 0, 0, 0, 0, 0, 598, 599, 596, 710, 0, - 655, 656, 0, 0, 522, 523, 372, 0, 541, 380, - 337, 432, 374, 506, 389, 0, 534, 600, 535, 448, - 449, 658, 663, 659, 660, 662, 682, 424, 384, 386, - 463, 390, 400, 451, 505, 430, 456, 335, 495, 465, - 405, 585, 613, 0, 0, 0, 0, 0, 0, 0, - 0, 71, 0, 0, 298, 299, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 640, 639, 638, 637, 636, 635, 634, 633, 0, 0, - 582, 482, 351, 305, 347, 348, 355, 699, 695, 661, - 700, 683, 686, 685, 0, 313, 562, 398, 445, 371, - 627, 628, 0, 681, 259, 260, 261, 262, 263, 264, - 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, - 276, 277, 278, 279, 280, 281, 282, 283, 630, 274, - 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 0, 0, 0, 0, 307, - 687, 688, 689, 690, 691, 0, 0, 308, 309, 310, - 0, 0, 300, 473, 301, 302, 303, 304, 0, 0, - 512, 513, 514, 537, 0, 515, 497, 561, 381, 314, - 477, 504, 697, 0, 0, 0, 0, 0, 0, 0, - 612, 623, 657, 0, 669, 670, 672, 674, 673, 676, - 470, 471, 684, 0, 678, 679, 680, 677, 402, 457, - 478, 464, 0, 703, 552, 553, 704, 665, 429, 0, - 0, 567, 601, 590, 675, 555, 0, 1217, 0, 0, - 0, 0, 0, 0, 0, 0, 364, 0, 0, 397, - 605, 586, 597, 587, 572, 573, 574, 581, 376, 575, - 576, 577, 547, 578, 548, 579, 580, 0, 604, 554, - 466, 413, 0, 621, 0, 0, 0, 0, 0, 0, + 0, 0, 3521, 0, 2165, 2166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 245, 0, 0, 0, 0, 0, - 0, 333, 246, 549, 671, 551, 550, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 336, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 467, 496, 0, 509, - 0, 2809, 2810, 1202, 0, 0, 0, 0, 0, 0, - 321, 474, 493, 334, 461, 507, 339, 469, 486, 329, - 428, 458, 0, 0, 2803, 2806, 2807, 2808, 2811, 0, - 2816, 2812, 2813, 2814, 2815, 0, 2799, 2800, 2801, 2802, - 1200, 2783, 2804, 0, 2784, 425, 2785, 2786, 2787, 2788, - 1204, 2789, 2790, 2791, 2792, 2793, 2796, 2797, 2794, 2795, - 2817, 2818, 2819, 2820, 2821, 2822, 2823, 2824, 1228, 1230, - 1232, 1234, 1237, 531, 532, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 664, 0, 0, 668, 0, 503, 0, 0, 0, 0, - 0, 0, 472, 0, 0, 394, 0, 0, 0, 2798, - 0, 455, 431, 706, 0, 0, 453, 399, 488, 442, - 494, 475, 502, 447, 443, 315, 476, 361, 412, 330, - 332, 696, 363, 365, 369, 370, 421, 422, 436, 460, - 479, 480, 481, 360, 344, 454, 345, 379, 346, 316, - 352, 350, 353, 462, 354, 318, 437, 485, 0, 375, - 450, 407, 319, 406, 438, 484, 483, 331, 511, 518, - 519, 609, 0, 524, 707, 708, 709, 533, 0, 444, - 327, 326, 0, 0, 0, 356, 439, 340, 342, 343, - 341, 434, 435, 538, 539, 540, 542, 0, 543, 544, - 0, 0, 0, 0, 545, 610, 626, 594, 563, 526, - 618, 560, 564, 565, 385, 629, 0, 0, 0, 517, - 395, 396, 0, 367, 366, 408, 320, 0, 0, 373, - 311, 312, 702, 357, 427, 631, 666, 667, 556, 0, - 619, 557, 566, 349, 591, 603, 602, 423, 516, 0, - 614, 617, 546, 701, 0, 611, 625, 705, 624, 698, - 433, 0, 459, 622, 569, 0, 615, 588, 589, 0, - 616, 584, 620, 0, 558, 0, 527, 530, 559, 644, - 645, 646, 317, 529, 648, 649, 650, 651, 652, 653, - 654, 647, 499, 592, 568, 595, 508, 571, 570, 0, - 0, 606, 525, 607, 608, 417, 418, 419, 420, 377, - 632, 338, 528, 446, 0, 593, 0, 0, 0, 0, - 0, 0, 0, 0, 598, 599, 596, 710, 0, 655, - 656, 0, 0, 522, 523, 372, 0, 541, 380, 337, - 432, 374, 506, 389, 0, 534, 600, 535, 448, 449, - 658, 663, 659, 660, 662, 682, 424, 384, 386, 463, - 390, 400, 451, 505, 430, 456, 335, 495, 465, 405, - 585, 613, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 640, - 639, 638, 637, 636, 635, 634, 633, 0, 0, 582, - 482, 351, 305, 347, 348, 355, 699, 695, 661, 700, - 683, 686, 685, 0, 313, 2805, 398, 445, 371, 627, - 628, 0, 681, 259, 260, 261, 262, 263, 264, 265, - 266, 306, 267, 268, 269, 270, 271, 272, 273, 276, - 277, 278, 279, 280, 281, 282, 283, 630, 274, 275, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 0, 0, 0, 0, 307, 687, - 688, 689, 690, 691, 0, 0, 308, 309, 310, 0, - 0, 300, 473, 301, 302, 303, 304, 0, 0, 512, - 513, 514, 537, 0, 515, 497, 561, 381, 314, 477, - 504, 697, 0, 0, 0, 0, 0, 0, 0, 612, - 623, 657, 0, 669, 670, 672, 674, 673, 676, 470, - 471, 684, 0, 678, 679, 680, 677, 402, 457, 478, - 464, 0, 703, 552, 553, 704, 665, 429, 0, 0, - 567, 601, 590, 675, 555, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 364, 0, 0, 397, 605, - 586, 597, 587, 572, 573, 574, 581, 376, 575, 576, - 577, 547, 578, 548, 579, 580, 0, 604, 554, 466, - 413, 0, 621, 0, 0, 0, 0, 0, 0, 0, + 0, 3535, 2207, 3536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 245, 0, 0, 0, 0, 0, 0, - 333, 246, 549, 671, 551, 550, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 336, 2632, 2635, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 467, 496, 0, 509, 0, - 387, 388, 0, 0, 0, 0, 0, 0, 0, 321, - 474, 493, 334, 461, 507, 339, 469, 486, 329, 428, - 458, 0, 0, 323, 491, 468, 410, 322, 0, 452, - 362, 378, 359, 426, 0, 490, 520, 358, 510, 0, - 501, 325, 0, 500, 425, 487, 492, 411, 404, 0, - 324, 489, 409, 403, 391, 368, 536, 392, 393, 382, - 440, 401, 441, 383, 415, 414, 416, 0, 0, 0, - 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, - 0, 0, 668, 2636, 503, 0, 0, 0, 2631, 0, - 2630, 472, 2628, 2633, 394, 0, 0, 0, 521, 0, - 455, 431, 706, 0, 0, 453, 399, 488, 442, 494, - 475, 502, 447, 443, 315, 476, 361, 412, 330, 332, - 696, 363, 365, 369, 370, 421, 422, 436, 460, 479, - 480, 481, 360, 344, 454, 345, 379, 346, 316, 352, - 350, 353, 462, 354, 318, 437, 485, 2634, 375, 450, - 407, 319, 406, 438, 484, 483, 331, 511, 518, 519, - 609, 0, 524, 707, 708, 709, 533, 0, 444, 327, - 326, 0, 0, 0, 356, 439, 340, 342, 343, 341, - 434, 435, 538, 539, 540, 542, 0, 543, 544, 0, - 0, 0, 0, 545, 610, 626, 594, 563, 526, 618, - 560, 564, 565, 385, 629, 0, 0, 0, 517, 395, - 396, 0, 367, 366, 408, 320, 0, 0, 373, 311, - 312, 702, 357, 427, 631, 666, 667, 556, 0, 619, - 557, 566, 349, 591, 603, 602, 423, 516, 0, 614, - 617, 546, 701, 0, 611, 625, 705, 624, 698, 433, - 0, 459, 622, 569, 0, 615, 588, 589, 0, 616, - 584, 620, 0, 558, 0, 527, 530, 559, 644, 645, - 646, 317, 529, 648, 649, 650, 651, 652, 653, 654, - 647, 499, 592, 568, 595, 508, 571, 570, 0, 0, - 606, 525, 607, 608, 417, 418, 419, 420, 377, 632, - 338, 528, 446, 0, 593, 0, 0, 0, 0, 0, - 0, 0, 0, 598, 599, 596, 710, 0, 655, 656, - 0, 0, 522, 523, 372, 0, 541, 380, 337, 432, - 374, 506, 389, 0, 534, 600, 535, 448, 449, 658, - 663, 659, 660, 662, 682, 424, 384, 386, 463, 390, - 400, 451, 505, 430, 456, 335, 495, 465, 405, 585, - 613, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 640, 639, - 638, 637, 636, 635, 634, 633, 0, 0, 582, 482, - 351, 305, 347, 348, 355, 699, 695, 661, 700, 683, - 686, 685, 0, 313, 562, 398, 445, 371, 627, 628, - 0, 681, 259, 260, 261, 262, 263, 264, 265, 266, - 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, - 278, 279, 280, 281, 282, 283, 630, 274, 275, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 0, 0, 0, 0, 307, 687, 688, - 689, 690, 691, 0, 0, 308, 309, 310, 0, 0, - 300, 473, 301, 302, 303, 304, 0, 0, 512, 513, - 514, 537, 0, 515, 497, 561, 381, 314, 477, 504, - 697, 0, 0, 0, 0, 0, 0, 0, 612, 623, - 657, 0, 669, 670, 672, 674, 673, 676, 470, 471, - 684, 0, 678, 679, 680, 677, 402, 457, 478, 464, - 0, 703, 552, 553, 704, 665, 429, 0, 0, 567, - 601, 590, 675, 555, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 364, 0, 0, 397, 605, 586, - 597, 587, 572, 573, 574, 581, 376, 575, 576, 577, - 547, 578, 548, 579, 580, 0, 604, 554, 466, 413, - 0, 621, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 245, 0, 0, 0, 0, 0, 0, 333, - 246, 549, 671, 551, 550, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 336, 0, 2653, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 467, 496, 0, 509, 0, 387, - 388, 0, 0, 0, 0, 0, 0, 0, 321, 474, - 493, 334, 461, 507, 339, 469, 486, 329, 428, 458, - 0, 0, 323, 491, 468, 410, 322, 0, 452, 362, - 378, 359, 426, 0, 490, 520, 358, 510, 0, 501, - 325, 0, 500, 425, 487, 492, 411, 404, 0, 324, - 489, 409, 403, 391, 368, 536, 392, 393, 382, 440, - 401, 441, 383, 415, 414, 416, 0, 0, 0, 0, - 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, - 0, 668, 2652, 503, 0, 0, 0, 2658, 2655, 2657, - 472, 0, 2656, 394, 0, 0, 0, 521, 0, 455, - 431, 706, 0, 2650, 453, 399, 488, 442, 494, 475, - 502, 447, 443, 315, 476, 361, 412, 330, 332, 696, - 363, 365, 369, 370, 421, 422, 436, 460, 479, 480, - 481, 360, 344, 454, 345, 379, 346, 316, 352, 350, - 353, 462, 354, 318, 437, 485, 0, 375, 450, 407, - 319, 406, 438, 484, 483, 331, 511, 518, 519, 609, - 0, 524, 707, 708, 709, 533, 0, 444, 327, 326, - 0, 0, 0, 356, 439, 340, 342, 343, 341, 434, - 435, 538, 539, 540, 542, 0, 543, 544, 0, 0, - 0, 0, 545, 610, 626, 594, 563, 526, 618, 560, - 564, 565, 385, 629, 0, 0, 0, 517, 395, 396, - 0, 367, 366, 408, 320, 0, 0, 373, 311, 312, - 702, 357, 427, 631, 666, 667, 556, 0, 619, 557, - 566, 349, 591, 603, 602, 423, 516, 0, 614, 617, - 546, 701, 0, 611, 625, 705, 624, 698, 433, 0, - 459, 622, 569, 0, 615, 588, 589, 0, 616, 584, - 620, 0, 558, 0, 527, 530, 559, 644, 645, 646, - 317, 529, 648, 649, 650, 651, 652, 653, 654, 647, - 499, 592, 568, 595, 508, 571, 570, 0, 0, 606, - 525, 607, 608, 417, 418, 419, 420, 377, 632, 338, - 528, 446, 0, 593, 0, 0, 0, 0, 0, 0, - 0, 0, 598, 599, 596, 710, 0, 655, 656, 0, - 0, 522, 523, 372, 0, 541, 380, 337, 432, 374, - 506, 389, 0, 534, 600, 535, 448, 449, 658, 663, - 659, 660, 662, 682, 424, 384, 386, 463, 390, 400, - 451, 505, 430, 456, 335, 495, 465, 405, 585, 613, + 2183, 0, 0, 0, 2182, 0, 0, 0, 0, 0, + 0, 0, 0, 1220, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1892, 1893, 0, 0, 2200, 1238, + 1239, 1205, 0, 0, 0, 0, 0, 2188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 640, 639, 638, - 637, 636, 635, 634, 633, 0, 0, 582, 482, 351, - 305, 347, 348, 355, 699, 695, 661, 700, 683, 686, - 685, 0, 313, 562, 398, 445, 371, 627, 628, 0, - 681, 259, 260, 261, 262, 263, 264, 265, 266, 306, - 267, 268, 269, 270, 271, 272, 273, 276, 277, 278, - 279, 280, 281, 282, 283, 630, 274, 275, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 0, 0, 0, 0, 307, 687, 688, 689, - 690, 691, 0, 0, 308, 309, 310, 0, 0, 300, - 473, 301, 302, 303, 304, 0, 0, 512, 513, 514, - 537, 0, 515, 497, 561, 381, 314, 477, 504, 697, - 0, 0, 0, 0, 0, 0, 0, 612, 623, 657, - 0, 669, 670, 672, 674, 673, 676, 470, 471, 684, - 0, 678, 679, 680, 677, 402, 457, 478, 464, 0, - 703, 552, 553, 704, 665, 429, 0, 0, 567, 601, - 590, 675, 555, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 364, 0, 0, 397, 605, 586, 597, - 587, 572, 573, 574, 581, 376, 575, 576, 577, 547, - 578, 548, 579, 580, 0, 604, 554, 466, 413, 0, - 621, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 245, 0, 0, 0, 0, 0, 0, 333, 246, - 549, 671, 551, 550, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 336, 0, 2653, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 467, 496, 0, 509, 0, 387, 388, - 0, 0, 0, 0, 0, 0, 0, 321, 474, 493, - 334, 461, 507, 339, 469, 486, 329, 428, 458, 0, - 0, 323, 491, 468, 410, 322, 0, 452, 362, 378, - 359, 426, 0, 490, 520, 358, 510, 0, 501, 325, - 0, 500, 425, 487, 492, 411, 404, 0, 324, 489, - 409, 403, 391, 368, 536, 392, 393, 382, 440, 401, - 441, 383, 415, 414, 416, 0, 0, 0, 0, 0, - 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, - 668, 2652, 503, 0, 0, 0, 2658, 2655, 2657, 472, - 0, 2656, 394, 0, 0, 0, 521, 0, 455, 431, - 706, 0, 0, 453, 399, 488, 442, 494, 475, 502, - 447, 443, 315, 476, 361, 412, 330, 332, 696, 363, - 365, 369, 370, 421, 422, 436, 460, 479, 480, 481, - 360, 344, 454, 345, 379, 346, 316, 352, 350, 353, - 462, 354, 318, 437, 485, 0, 375, 450, 407, 319, - 406, 438, 484, 483, 331, 511, 518, 519, 609, 0, - 524, 707, 708, 709, 533, 0, 444, 327, 326, 0, - 0, 0, 356, 439, 340, 342, 343, 341, 434, 435, - 538, 539, 540, 542, 0, 543, 544, 0, 0, 0, - 0, 545, 610, 626, 594, 563, 526, 618, 560, 564, - 565, 385, 629, 0, 0, 0, 517, 395, 396, 0, - 367, 366, 408, 320, 0, 0, 373, 311, 312, 702, - 357, 427, 631, 666, 667, 556, 0, 619, 557, 566, - 349, 591, 603, 602, 423, 516, 0, 614, 617, 546, - 701, 0, 611, 625, 705, 624, 698, 433, 0, 459, - 622, 569, 0, 615, 588, 589, 0, 616, 584, 620, - 0, 558, 0, 527, 530, 559, 644, 645, 646, 317, - 529, 648, 649, 650, 651, 652, 653, 654, 647, 499, - 592, 568, 595, 508, 571, 570, 0, 0, 606, 525, - 607, 608, 417, 418, 419, 420, 377, 632, 338, 528, - 446, 0, 593, 0, 0, 0, 0, 0, 0, 0, - 0, 598, 599, 596, 710, 0, 655, 656, 0, 0, - 522, 523, 372, 0, 541, 380, 337, 432, 374, 506, - 389, 0, 534, 600, 535, 448, 449, 658, 663, 659, - 660, 662, 682, 424, 384, 386, 463, 390, 400, 451, - 505, 430, 456, 335, 495, 465, 405, 585, 613, 0, + 2218, 2217, 1228, 1232, 1234, 1236, 1241, 0, 1246, 1242, + 1243, 1244, 1245, 0, 1223, 1224, 1225, 1226, 1203, 1204, + 1229, 0, 1206, 0, 1208, 1209, 1210, 1211, 1207, 1212, + 1213, 1214, 1215, 1216, 1219, 1221, 1217, 1218, 1247, 1248, + 1249, 1250, 1251, 1252, 1253, 1254, 1231, 1233, 1235, 1237, + 1240, 0, 0, 0, 0, 1220, 0, 2175, 0, 0, + 0, 0, 0, 0, 0, 2297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 640, 639, 638, 637, - 636, 635, 634, 633, 0, 0, 582, 482, 351, 305, - 347, 348, 355, 699, 695, 661, 700, 683, 686, 685, - 0, 313, 562, 398, 445, 371, 627, 628, 0, 681, - 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, - 268, 269, 270, 271, 272, 273, 276, 277, 278, 279, - 280, 281, 282, 283, 630, 274, 275, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 0, 0, 0, 0, 307, 687, 688, 689, 690, - 691, 0, 0, 308, 309, 310, 0, 0, 300, 473, - 301, 302, 303, 304, 0, 0, 512, 513, 514, 537, - 0, 515, 497, 561, 381, 314, 477, 504, 697, 0, - 0, 0, 0, 0, 0, 0, 612, 623, 657, 0, - 669, 670, 672, 674, 673, 676, 470, 471, 684, 0, - 678, 679, 680, 677, 402, 457, 478, 464, 0, 703, - 552, 553, 704, 665, 429, 0, 0, 567, 601, 590, - 675, 555, 0, 0, 0, 0, 0, 2315, 0, 0, - 0, 0, 364, 0, 0, 397, 605, 586, 597, 587, - 572, 573, 574, 581, 376, 575, 576, 577, 547, 578, - 548, 579, 580, 0, 604, 554, 466, 413, 0, 621, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 245, 0, 0, 2316, 0, 0, 0, 333, 246, 549, - 671, 551, 550, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 0, 1347, 1348, 1349, 1346, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 467, 496, 0, 509, 0, 387, 388, 0, - 0, 0, 0, 0, 0, 0, 321, 474, 493, 334, - 461, 507, 339, 469, 486, 329, 428, 458, 0, 0, - 323, 491, 468, 410, 322, 0, 452, 362, 378, 359, - 426, 0, 490, 520, 358, 510, 0, 501, 325, 0, - 500, 425, 487, 492, 411, 404, 0, 324, 489, 409, - 403, 391, 368, 536, 392, 393, 382, 440, 401, 441, - 383, 415, 414, 416, 0, 0, 0, 0, 0, 531, - 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 664, 0, 0, 668, - 0, 503, 0, 0, 0, 0, 0, 0, 472, 0, - 0, 394, 0, 0, 0, 521, 0, 455, 431, 706, - 0, 0, 453, 399, 488, 442, 494, 475, 502, 447, - 443, 315, 476, 361, 412, 330, 332, 696, 363, 365, - 369, 370, 421, 422, 436, 460, 479, 480, 481, 360, - 344, 454, 345, 379, 346, 316, 352, 350, 353, 462, - 354, 318, 437, 485, 0, 375, 450, 407, 319, 406, - 438, 484, 483, 331, 511, 518, 519, 609, 0, 524, - 707, 708, 709, 533, 0, 444, 327, 326, 0, 0, - 0, 356, 439, 340, 342, 343, 341, 434, 435, 538, - 539, 540, 542, 0, 543, 544, 0, 0, 0, 0, - 545, 610, 626, 594, 563, 526, 618, 560, 564, 565, - 385, 629, 0, 0, 0, 517, 395, 396, 0, 367, - 366, 408, 320, 0, 0, 373, 311, 312, 702, 357, - 427, 631, 666, 667, 556, 0, 619, 557, 566, 349, - 591, 603, 602, 423, 516, 0, 614, 617, 546, 701, - 0, 611, 625, 705, 624, 698, 433, 0, 459, 622, - 569, 0, 615, 588, 589, 0, 616, 584, 620, 0, - 558, 0, 527, 530, 559, 644, 645, 646, 317, 529, - 648, 649, 650, 651, 652, 653, 654, 647, 499, 592, - 568, 595, 508, 571, 570, 0, 0, 606, 525, 607, - 608, 417, 418, 419, 420, 377, 632, 338, 528, 446, - 0, 593, 0, 0, 0, 0, 0, 0, 0, 0, - 598, 599, 596, 710, 0, 655, 656, 0, 0, 522, - 523, 372, 0, 541, 380, 337, 432, 374, 506, 389, - 0, 534, 600, 535, 448, 449, 658, 663, 659, 660, - 662, 682, 424, 384, 386, 463, 390, 400, 451, 505, - 430, 456, 335, 495, 465, 405, 585, 613, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, - 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 640, 639, 638, 637, 636, - 635, 634, 633, 0, 0, 582, 482, 351, 305, 347, - 348, 355, 699, 695, 661, 700, 683, 686, 685, 0, - 313, 562, 398, 445, 371, 627, 628, 0, 681, 259, - 260, 261, 262, 263, 264, 265, 266, 306, 267, 268, - 269, 270, 271, 272, 273, 276, 277, 278, 279, 280, - 281, 282, 283, 630, 274, 275, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 0, 0, 0, 0, 307, 687, 688, 689, 690, 691, - 0, 0, 308, 309, 310, 0, 0, 300, 473, 301, - 302, 303, 304, 0, 0, 512, 513, 514, 537, 0, - 515, 497, 561, 381, 314, 477, 504, 697, 0, 0, - 0, 0, 0, 0, 0, 612, 623, 657, 0, 669, - 670, 672, 674, 673, 676, 470, 471, 684, 0, 678, - 679, 680, 677, 402, 457, 478, 464, 0, 703, 552, - 553, 704, 665, 183, 223, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 429, 0, 0, 567, 601, 590, - 675, 555, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 364, 0, 0, 397, 605, 586, 597, 587, - 572, 573, 574, 581, 376, 575, 576, 577, 547, 578, - 548, 579, 580, 153, 604, 554, 466, 413, 0, 621, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 219, 2578, 0, - 245, 0, 0, 0, 0, 0, 0, 333, 246, 549, - 671, 551, 550, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 467, 496, 0, 509, 0, 387, 388, 0, - 0, 0, 0, 0, 0, 0, 321, 474, 493, 334, - 461, 507, 339, 469, 486, 329, 428, 458, 0, 0, - 323, 491, 468, 410, 322, 0, 452, 362, 378, 359, - 426, 0, 490, 520, 358, 510, 0, 501, 325, 0, - 500, 425, 487, 492, 411, 404, 0, 324, 489, 409, - 403, 391, 368, 536, 392, 393, 382, 440, 401, 441, - 383, 415, 414, 416, 0, 0, 0, 0, 0, 531, - 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 664, 0, 0, 668, - 0, 503, 0, 0, 0, 0, 0, 0, 472, 0, - 0, 394, 0, 0, 0, 521, 0, 455, 431, 706, - 0, 0, 453, 399, 488, 442, 494, 475, 502, 447, - 443, 315, 476, 361, 412, 330, 332, 696, 363, 365, - 369, 370, 421, 422, 436, 460, 479, 480, 481, 360, - 344, 454, 345, 379, 346, 316, 352, 350, 353, 462, - 354, 318, 437, 485, 0, 375, 450, 407, 319, 406, - 438, 484, 483, 331, 511, 518, 519, 609, 0, 524, - 707, 708, 709, 533, 0, 444, 327, 326, 0, 0, - 0, 356, 439, 340, 342, 343, 341, 434, 435, 538, - 539, 540, 542, 0, 543, 544, 0, 0, 0, 0, - 545, 610, 626, 594, 563, 526, 618, 560, 564, 565, - 385, 629, 0, 0, 0, 517, 395, 396, 0, 367, - 366, 408, 320, 0, 0, 373, 311, 312, 702, 357, - 427, 631, 666, 667, 556, 0, 619, 557, 566, 349, - 591, 603, 602, 423, 516, 0, 614, 617, 546, 701, - 0, 611, 625, 705, 624, 698, 433, 0, 459, 622, - 569, 0, 615, 588, 589, 0, 616, 584, 620, 0, - 558, 0, 527, 530, 559, 644, 645, 646, 317, 529, - 648, 649, 650, 651, 652, 653, 654, 647, 499, 592, - 568, 595, 508, 571, 570, 0, 0, 606, 525, 607, - 608, 417, 418, 419, 420, 377, 632, 338, 528, 446, - 0, 593, 0, 0, 0, 0, 0, 0, 0, 0, - 598, 599, 596, 710, 0, 655, 656, 0, 0, 522, - 523, 372, 0, 541, 380, 337, 432, 374, 506, 389, - 0, 534, 600, 535, 448, 449, 658, 663, 659, 660, - 662, 682, 424, 384, 386, 463, 390, 400, 451, 505, - 430, 456, 335, 495, 465, 405, 585, 613, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, + 0, 0, 0, 0, 0, 0, 0, 1222, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1238, 1239, 1205, + 0, 0, 0, 1195, 0, 2219, 0, 0, 0, 0, + 3623, 0, 0, 0, 0, 0, 0, 0, 155, 0, + 1228, 1232, 1234, 1236, 1241, 155, 1246, 1242, 1243, 1244, + 1245, 0, 1223, 1224, 1225, 1226, 1203, 1204, 1229, 0, + 1206, 0, 1208, 1209, 1210, 1211, 1207, 1212, 1213, 1214, + 1215, 1216, 1219, 1221, 1217, 1218, 1247, 1248, 1249, 1250, + 1251, 1252, 1253, 1254, 1231, 1233, 1235, 1237, 1240, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2252, 0, 0, 0, 1238, + 1239, 1205, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1222, 0, 0, 0, 0, + 0, 3707, 1228, 1232, 1234, 1236, 1241, 0, 1246, 1242, + 1243, 1244, 1245, 0, 1223, 1224, 1225, 1226, 1203, 1204, + 1229, 0, 1206, 0, 1208, 1209, 1210, 1211, 1207, 1212, + 1213, 1214, 1215, 1216, 1219, 1221, 1217, 1218, 1247, 1248, + 1249, 1250, 1251, 1252, 1253, 1254, 1231, 1233, 1235, 1237, + 1240, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2252, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1222, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 155, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2297, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3623, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1230, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 155, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2297, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1230, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 873, 0, 0, 0, 0, 0, 0, 0, 0, + 432, 0, 0, 570, 604, 593, 678, 558, 0, 0, + 0, 0, 0, 0, 825, 0, 0, 0, 367, 0, + 0, 400, 608, 589, 600, 590, 575, 576, 577, 584, + 379, 578, 579, 580, 550, 581, 551, 582, 583, 864, + 607, 557, 469, 416, 0, 624, 1230, 0, 943, 951, + 0, 0, 0, 0, 0, 0, 0, 0, 939, 0, + 0, 0, 0, 817, 0, 0, 854, 919, 918, 841, + 851, 0, 0, 336, 246, 552, 674, 554, 553, 842, + 0, 843, 847, 850, 846, 844, 845, 0, 934, 0, + 0, 0, 0, 0, 0, 809, 821, 0, 826, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 155, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 818, 819, 0, 0, 0, 0, + 874, 0, 820, 0, 0, 0, 0, 0, 470, 499, + 0, 512, 0, 390, 391, 869, 848, 852, 0, 4102, + 0, 0, 324, 477, 496, 337, 464, 510, 342, 472, + 489, 332, 431, 461, 0, 0, 326, 494, 471, 413, + 325, 0, 455, 365, 381, 362, 429, 849, 872, 876, + 361, 957, 870, 504, 328, 0, 503, 428, 490, 495, + 414, 407, 0, 327, 492, 412, 406, 394, 371, 958, + 395, 396, 385, 443, 404, 444, 386, 418, 417, 419, + 0, 0, 0, 0, 0, 534, 535, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 667, 867, 0, 671, 0, 506, 0, 0, + 941, 0, 0, 0, 475, 0, 0, 397, 0, 0, + 0, 871, 4190, 458, 434, 954, 0, 0, 456, 402, + 491, 445, 497, 478, 505, 450, 446, 315, 479, 364, + 415, 333, 335, 699, 366, 368, 372, 373, 424, 425, + 439, 463, 482, 483, 484, 363, 347, 457, 348, 382, + 349, 319, 355, 353, 356, 465, 357, 321, 440, 488, + 0, 378, 453, 410, 322, 409, 441, 487, 486, 334, + 514, 521, 522, 612, 0, 527, 710, 711, 712, 536, + 0, 447, 330, 329, 0, 0, 0, 359, 442, 343, + 345, 346, 344, 437, 438, 541, 542, 543, 545, 0, + 546, 547, 0, 0, 0, 0, 548, 316, 317, 318, + 613, 629, 597, 566, 529, 621, 563, 567, 568, 388, + 632, 1957, 1956, 1958, 520, 398, 399, 0, 370, 369, + 411, 323, 0, 0, 376, 311, 312, 705, 938, 430, + 634, 669, 670, 559, 0, 953, 933, 935, 936, 940, + 944, 945, 946, 947, 948, 950, 952, 956, 704, 0, + 614, 628, 708, 627, 701, 436, 0, 462, 625, 572, + 0, 618, 591, 592, 0, 619, 587, 623, 0, 561, + 0, 530, 533, 562, 647, 648, 649, 320, 532, 651, + 652, 653, 654, 655, 656, 657, 650, 955, 595, 571, + 598, 511, 574, 573, 0, 0, 609, 875, 610, 611, + 420, 421, 422, 423, 942, 635, 341, 531, 449, 0, + 596, 0, 0, 0, 0, 0, 0, 0, 0, 601, + 602, 599, 713, 0, 658, 659, 0, 0, 525, 526, + 375, 0, 544, 383, 340, 435, 377, 509, 392, 0, + 537, 603, 538, 451, 452, 661, 666, 662, 663, 665, + 685, 427, 387, 389, 466, 393, 403, 454, 508, 433, + 459, 338, 498, 468, 408, 588, 616, 964, 937, 963, + 965, 966, 962, 967, 968, 949, 830, 0, 882, 883, + 960, 959, 961, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 643, 642, 641, 640, 639, 638, + 637, 636, 0, 0, 585, 485, 354, 305, 350, 351, + 358, 702, 698, 664, 703, 686, 689, 688, 837, 313, + 565, 401, 448, 374, 630, 631, 0, 684, 926, 891, + 892, 893, 827, 894, 888, 889, 828, 890, 927, 880, + 923, 924, 856, 885, 895, 922, 896, 925, 928, 929, + 969, 970, 902, 886, 275, 971, 899, 930, 921, 920, + 897, 881, 931, 932, 863, 858, 900, 901, 887, 906, + 907, 908, 911, 829, 912, 913, 914, 915, 916, 910, + 909, 877, 878, 879, 903, 904, 884, 476, 859, 860, + 861, 862, 0, 0, 515, 516, 517, 540, 0, 518, + 500, 564, 384, 314, 480, 507, 700, 0, 0, 0, + 0, 0, 0, 0, 615, 626, 660, 0, 672, 673, + 675, 677, 917, 679, 473, 474, 687, 0, 905, 682, + 683, 680, 405, 460, 481, 467, 0, 706, 555, 556, + 707, 668, 0, 822, 183, 223, 873, 0, 0, 0, + 0, 0, 0, 0, 0, 432, 0, 0, 570, 604, + 593, 678, 558, 0, 0, 0, 0, 0, 0, 825, + 0, 0, 0, 367, 0, 0, 400, 608, 589, 600, + 590, 575, 576, 577, 584, 379, 578, 579, 580, 550, + 581, 551, 582, 583, 864, 607, 557, 469, 416, 0, + 624, 0, 0, 943, 951, 0, 0, 0, 0, 0, + 0, 0, 0, 939, 0, 0, 0, 0, 817, 0, + 0, 854, 919, 918, 841, 851, 0, 0, 336, 246, + 552, 674, 554, 553, 842, 0, 843, 847, 850, 846, + 844, 845, 0, 934, 0, 0, 0, 0, 0, 0, + 809, 821, 0, 826, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 818, + 819, 0, 0, 0, 0, 874, 0, 820, 0, 0, + 0, 0, 0, 470, 499, 0, 512, 0, 390, 391, + 869, 848, 852, 0, 0, 0, 0, 324, 477, 496, + 337, 464, 510, 342, 472, 489, 332, 431, 461, 0, + 0, 326, 494, 471, 413, 325, 0, 455, 365, 381, + 362, 429, 849, 872, 876, 361, 957, 870, 504, 328, + 0, 503, 428, 490, 495, 414, 407, 0, 327, 492, + 412, 406, 394, 371, 958, 395, 396, 385, 443, 404, + 444, 386, 418, 417, 419, 0, 0, 0, 0, 0, + 534, 535, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 667, 867, 0, + 671, 0, 506, 0, 0, 941, 0, 0, 0, 475, + 0, 0, 397, 0, 0, 0, 871, 0, 458, 434, + 954, 0, 0, 456, 402, 491, 445, 497, 478, 505, + 450, 446, 315, 479, 364, 415, 333, 335, 699, 366, + 368, 372, 373, 424, 425, 439, 463, 482, 483, 484, + 363, 347, 457, 348, 382, 349, 319, 355, 353, 356, + 465, 357, 321, 440, 488, 0, 378, 453, 410, 322, + 409, 441, 487, 486, 334, 514, 521, 522, 612, 0, + 527, 710, 711, 712, 536, 0, 447, 330, 329, 0, + 0, 0, 359, 442, 343, 345, 346, 344, 437, 438, + 541, 542, 543, 545, 0, 546, 547, 0, 0, 0, + 0, 548, 316, 317, 318, 613, 629, 597, 566, 529, + 621, 563, 567, 568, 388, 632, 0, 0, 0, 520, + 398, 399, 0, 370, 369, 411, 323, 0, 0, 376, + 311, 312, 705, 938, 430, 634, 669, 670, 559, 0, + 953, 933, 935, 936, 940, 944, 945, 946, 947, 948, + 950, 952, 956, 704, 0, 614, 628, 708, 627, 701, + 436, 0, 462, 625, 572, 0, 618, 591, 592, 0, + 619, 587, 623, 0, 561, 0, 530, 533, 562, 647, + 648, 649, 320, 532, 651, 652, 653, 654, 655, 656, + 657, 650, 955, 595, 571, 598, 511, 574, 573, 0, + 0, 609, 875, 610, 611, 420, 421, 422, 423, 942, + 635, 341, 531, 449, 0, 596, 0, 0, 0, 0, + 0, 0, 0, 0, 601, 602, 599, 713, 0, 658, + 659, 0, 0, 525, 526, 375, 0, 544, 383, 340, + 435, 377, 509, 392, 0, 537, 603, 538, 451, 452, + 661, 666, 662, 663, 665, 685, 427, 387, 389, 466, + 393, 403, 454, 508, 433, 459, 338, 498, 468, 408, + 588, 616, 964, 937, 963, 965, 966, 962, 967, 968, + 949, 830, 0, 882, 883, 960, 959, 961, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 643, + 642, 641, 640, 639, 638, 637, 636, 0, 0, 585, + 485, 354, 305, 350, 351, 358, 702, 698, 664, 703, + 686, 689, 688, 837, 313, 565, 401, 448, 374, 630, + 631, 0, 684, 926, 891, 892, 893, 827, 894, 888, + 889, 828, 890, 927, 880, 923, 924, 856, 885, 895, + 922, 896, 925, 928, 929, 969, 970, 902, 886, 275, + 971, 899, 930, 921, 920, 897, 881, 931, 932, 863, + 858, 900, 901, 887, 906, 907, 908, 911, 829, 912, + 913, 914, 915, 916, 910, 909, 877, 878, 879, 903, + 904, 884, 476, 859, 860, 861, 862, 0, 0, 515, + 516, 517, 540, 0, 518, 500, 564, 384, 314, 480, + 507, 700, 0, 0, 0, 0, 0, 0, 0, 615, + 626, 660, 0, 672, 673, 675, 677, 917, 679, 473, + 474, 687, 0, 905, 682, 683, 680, 405, 460, 481, + 467, 873, 706, 555, 556, 707, 668, 0, 822, 0, + 432, 0, 0, 570, 604, 593, 678, 558, 0, 0, + 0, 0, 0, 0, 825, 0, 0, 0, 367, 2022, + 0, 400, 608, 589, 600, 590, 575, 576, 577, 584, + 379, 578, 579, 580, 550, 581, 551, 582, 583, 864, + 607, 557, 469, 416, 0, 624, 0, 0, 943, 951, + 0, 0, 0, 0, 0, 0, 0, 0, 939, 0, + 2278, 0, 0, 817, 0, 0, 854, 919, 918, 841, + 851, 0, 0, 336, 246, 552, 674, 554, 553, 842, + 0, 843, 847, 850, 846, 844, 845, 0, 934, 0, + 0, 0, 0, 0, 0, 809, 821, 0, 826, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 818, 819, 0, 0, 0, 0, + 874, 0, 820, 0, 0, 0, 0, 0, 470, 499, + 0, 512, 0, 390, 391, 2279, 848, 852, 0, 0, + 0, 0, 324, 477, 496, 337, 464, 510, 342, 472, + 489, 332, 431, 461, 0, 0, 326, 494, 471, 413, + 325, 0, 455, 365, 381, 362, 429, 849, 872, 876, + 361, 957, 870, 504, 328, 0, 503, 428, 490, 495, + 414, 407, 0, 327, 492, 412, 406, 394, 371, 958, + 395, 396, 385, 443, 404, 444, 386, 418, 417, 419, + 0, 0, 0, 0, 0, 534, 535, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 667, 867, 0, 671, 0, 506, 0, 0, + 941, 0, 0, 0, 475, 0, 0, 397, 0, 0, + 0, 871, 0, 458, 434, 954, 0, 0, 456, 402, + 491, 445, 497, 478, 505, 450, 446, 315, 479, 364, + 415, 333, 335, 699, 366, 368, 372, 373, 424, 425, + 439, 463, 482, 483, 484, 363, 347, 457, 348, 382, + 349, 319, 355, 353, 356, 465, 357, 321, 440, 488, + 0, 378, 453, 410, 322, 409, 441, 487, 486, 334, + 514, 521, 522, 612, 0, 527, 710, 711, 712, 536, + 0, 447, 330, 329, 0, 0, 0, 359, 442, 343, + 345, 346, 344, 437, 438, 541, 542, 543, 545, 0, + 546, 547, 0, 0, 0, 0, 548, 316, 317, 318, + 613, 629, 597, 566, 529, 621, 563, 567, 568, 388, + 632, 0, 0, 0, 520, 398, 399, 0, 370, 369, + 411, 323, 0, 0, 376, 311, 312, 705, 938, 430, + 634, 669, 670, 559, 0, 953, 933, 935, 936, 940, + 944, 945, 946, 947, 948, 950, 952, 956, 704, 0, + 614, 628, 708, 627, 701, 436, 0, 462, 625, 572, + 0, 618, 591, 592, 0, 619, 587, 623, 0, 561, + 0, 530, 533, 562, 647, 648, 649, 320, 532, 651, + 652, 653, 654, 655, 656, 657, 650, 955, 595, 571, + 598, 511, 574, 573, 0, 0, 609, 875, 610, 611, + 420, 421, 422, 423, 942, 635, 341, 531, 449, 0, + 596, 0, 0, 0, 0, 0, 0, 0, 0, 601, + 602, 599, 713, 0, 658, 659, 0, 0, 525, 526, + 375, 0, 544, 383, 340, 435, 377, 509, 392, 0, + 537, 603, 538, 451, 452, 661, 666, 662, 663, 665, + 685, 427, 387, 389, 466, 393, 403, 454, 508, 433, + 459, 338, 498, 468, 408, 588, 616, 964, 937, 963, + 965, 966, 962, 967, 968, 949, 830, 0, 882, 883, + 960, 959, 961, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 643, 642, 641, 640, 639, 638, + 637, 636, 0, 0, 585, 485, 354, 305, 350, 351, + 358, 702, 698, 664, 703, 686, 689, 688, 837, 313, + 565, 401, 448, 374, 630, 631, 0, 684, 926, 891, + 892, 893, 827, 894, 888, 889, 828, 890, 927, 880, + 923, 924, 856, 885, 895, 922, 896, 925, 928, 929, + 969, 970, 902, 886, 275, 971, 899, 930, 921, 920, + 897, 881, 931, 932, 863, 858, 900, 901, 887, 906, + 907, 908, 911, 829, 912, 913, 914, 915, 916, 910, + 909, 877, 878, 879, 903, 904, 884, 476, 859, 860, + 861, 862, 0, 0, 515, 516, 517, 540, 0, 518, + 500, 564, 384, 314, 480, 507, 700, 0, 0, 0, + 0, 0, 0, 0, 615, 626, 660, 0, 672, 673, + 675, 677, 917, 679, 473, 474, 687, 0, 905, 682, + 683, 680, 405, 460, 481, 467, 0, 706, 555, 556, + 707, 668, 0, 822, 183, 223, 873, 0, 0, 0, + 0, 0, 0, 0, 0, 432, 0, 0, 570, 604, + 593, 678, 558, 0, 0, 0, 0, 0, 0, 825, + 0, 0, 0, 367, 0, 0, 400, 608, 589, 600, + 590, 575, 576, 577, 584, 379, 578, 579, 580, 550, + 581, 551, 582, 583, 1388, 607, 557, 469, 416, 0, + 624, 0, 0, 943, 951, 0, 0, 0, 0, 0, + 0, 0, 0, 939, 0, 0, 0, 0, 817, 0, + 0, 854, 919, 918, 841, 851, 0, 0, 336, 246, + 552, 674, 554, 553, 842, 0, 843, 847, 850, 846, + 844, 845, 0, 934, 0, 0, 0, 0, 0, 0, + 809, 821, 0, 826, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 818, + 819, 0, 0, 0, 0, 874, 0, 820, 0, 0, + 0, 0, 0, 470, 499, 0, 512, 0, 390, 391, + 869, 848, 852, 0, 0, 0, 0, 324, 477, 496, + 337, 464, 510, 342, 472, 489, 332, 431, 461, 0, + 0, 326, 494, 471, 413, 325, 0, 455, 365, 381, + 362, 429, 849, 872, 876, 361, 957, 870, 504, 328, + 0, 503, 428, 490, 495, 414, 407, 0, 327, 492, + 412, 406, 394, 371, 958, 395, 396, 385, 443, 404, + 444, 386, 418, 417, 419, 0, 0, 0, 0, 0, + 534, 535, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 667, 867, 0, + 671, 0, 506, 0, 0, 941, 0, 0, 0, 475, + 0, 0, 397, 0, 0, 0, 871, 0, 458, 434, + 954, 0, 0, 456, 402, 491, 445, 497, 478, 505, + 450, 446, 315, 479, 364, 415, 333, 335, 699, 366, + 368, 372, 373, 424, 425, 439, 463, 482, 483, 484, + 363, 347, 457, 348, 382, 349, 319, 355, 353, 356, + 465, 357, 321, 440, 488, 0, 378, 453, 410, 322, + 409, 441, 487, 486, 334, 514, 521, 522, 612, 0, + 527, 710, 711, 712, 536, 0, 447, 330, 329, 0, + 0, 0, 359, 442, 343, 345, 346, 344, 437, 438, + 541, 542, 543, 545, 0, 546, 547, 0, 0, 0, + 0, 548, 316, 317, 318, 613, 629, 597, 566, 529, + 621, 563, 567, 568, 388, 632, 0, 0, 0, 520, + 398, 399, 0, 370, 369, 411, 323, 0, 0, 376, + 311, 312, 705, 938, 430, 634, 669, 670, 559, 0, + 953, 933, 935, 936, 940, 944, 945, 946, 947, 948, + 950, 952, 956, 704, 0, 614, 628, 708, 627, 701, + 436, 0, 462, 625, 572, 0, 618, 591, 592, 0, + 619, 587, 623, 0, 561, 0, 530, 533, 562, 647, + 648, 649, 320, 532, 651, 652, 653, 654, 655, 656, + 657, 650, 955, 595, 571, 598, 511, 574, 573, 0, + 0, 609, 875, 610, 611, 420, 421, 422, 423, 942, + 635, 341, 531, 449, 0, 596, 0, 0, 0, 0, + 0, 0, 0, 0, 601, 602, 599, 713, 0, 658, + 659, 0, 0, 525, 526, 375, 0, 544, 383, 340, + 435, 377, 509, 392, 0, 537, 603, 538, 451, 452, + 661, 666, 662, 663, 665, 685, 427, 387, 389, 466, + 393, 403, 454, 508, 433, 459, 338, 498, 468, 408, + 588, 616, 964, 937, 963, 965, 966, 962, 967, 968, + 949, 830, 0, 882, 883, 960, 959, 961, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 643, + 642, 641, 640, 639, 638, 637, 636, 0, 0, 585, + 485, 354, 305, 350, 351, 358, 702, 698, 664, 703, + 686, 689, 688, 837, 313, 565, 401, 448, 374, 630, + 631, 0, 684, 926, 891, 892, 893, 827, 894, 888, + 889, 828, 890, 927, 880, 923, 924, 856, 885, 895, + 922, 896, 925, 928, 929, 969, 970, 902, 886, 275, + 971, 899, 930, 921, 920, 897, 881, 931, 932, 863, + 858, 900, 901, 887, 906, 907, 908, 911, 829, 912, + 913, 914, 915, 916, 910, 909, 877, 878, 879, 903, + 904, 884, 476, 859, 860, 861, 862, 0, 0, 515, + 516, 517, 540, 0, 518, 500, 564, 384, 314, 480, + 507, 700, 0, 0, 0, 0, 0, 0, 0, 615, + 626, 660, 0, 672, 673, 675, 677, 917, 679, 473, + 474, 687, 0, 905, 682, 683, 680, 405, 460, 481, + 467, 873, 706, 555, 556, 707, 668, 0, 822, 0, + 432, 0, 0, 570, 604, 593, 678, 558, 0, 0, + 0, 0, 0, 0, 825, 0, 0, 0, 367, 4584, + 0, 400, 608, 589, 600, 590, 575, 576, 577, 584, + 379, 578, 579, 580, 550, 581, 551, 582, 583, 864, + 607, 557, 469, 416, 0, 624, 0, 0, 943, 951, + 0, 0, 0, 0, 0, 0, 0, 0, 939, 0, + 0, 0, 0, 817, 0, 0, 854, 919, 918, 841, + 851, 0, 0, 336, 246, 552, 674, 554, 553, 842, + 0, 843, 847, 850, 846, 844, 845, 0, 934, 0, + 0, 0, 0, 0, 0, 809, 821, 0, 826, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 818, 819, 0, 0, 0, 0, + 874, 0, 820, 0, 0, 0, 0, 0, 470, 499, + 0, 512, 0, 390, 391, 869, 848, 852, 0, 0, + 0, 0, 324, 477, 496, 337, 464, 510, 342, 472, + 489, 332, 431, 461, 0, 0, 326, 494, 471, 413, + 325, 0, 455, 365, 381, 362, 429, 849, 872, 876, + 361, 957, 870, 504, 328, 0, 503, 428, 490, 495, + 414, 407, 0, 327, 492, 412, 406, 394, 371, 958, + 395, 396, 385, 443, 404, 444, 386, 418, 417, 419, + 0, 0, 0, 0, 0, 534, 535, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 667, 867, 0, 671, 0, 506, 0, 0, + 941, 0, 0, 0, 475, 0, 0, 397, 0, 0, + 0, 871, 0, 458, 434, 954, 0, 0, 456, 402, + 491, 445, 497, 478, 505, 450, 446, 315, 479, 364, + 415, 333, 335, 699, 366, 368, 372, 373, 424, 425, + 439, 463, 482, 483, 484, 363, 347, 457, 348, 382, + 349, 319, 355, 353, 356, 465, 357, 321, 440, 488, + 0, 378, 453, 410, 322, 409, 441, 487, 486, 334, + 514, 521, 522, 612, 0, 527, 710, 711, 712, 536, + 0, 447, 330, 329, 0, 0, 0, 359, 442, 343, + 345, 346, 344, 437, 438, 541, 542, 543, 545, 0, + 546, 547, 0, 0, 0, 0, 548, 316, 317, 318, + 613, 629, 597, 566, 529, 621, 563, 567, 568, 388, + 632, 0, 0, 0, 520, 398, 399, 0, 370, 369, + 411, 323, 0, 0, 376, 311, 312, 705, 938, 430, + 634, 669, 670, 559, 0, 953, 933, 935, 936, 940, + 944, 945, 946, 947, 948, 950, 952, 956, 704, 0, + 614, 628, 708, 627, 701, 436, 0, 462, 625, 572, + 0, 618, 591, 592, 0, 619, 587, 623, 0, 561, + 0, 530, 533, 562, 647, 648, 649, 320, 532, 651, + 652, 653, 654, 655, 656, 657, 650, 955, 595, 571, + 598, 511, 574, 573, 0, 0, 609, 875, 610, 611, + 420, 421, 422, 423, 942, 635, 341, 531, 449, 0, + 596, 0, 0, 0, 0, 0, 0, 0, 0, 601, + 602, 599, 713, 0, 658, 659, 0, 0, 525, 526, + 375, 0, 544, 383, 340, 435, 377, 509, 392, 0, + 537, 603, 538, 451, 452, 661, 666, 662, 663, 665, + 685, 427, 387, 389, 466, 393, 403, 454, 508, 433, + 459, 338, 498, 468, 408, 588, 616, 964, 937, 963, + 965, 966, 962, 967, 968, 949, 830, 0, 882, 883, + 960, 959, 961, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 643, 642, 641, 640, 639, 638, + 637, 636, 0, 0, 585, 485, 354, 305, 350, 351, + 358, 702, 698, 664, 703, 686, 689, 688, 837, 313, + 565, 401, 448, 374, 630, 631, 0, 684, 926, 891, + 892, 893, 827, 894, 888, 889, 828, 890, 927, 880, + 923, 924, 856, 885, 895, 922, 896, 925, 928, 929, + 969, 970, 902, 886, 275, 971, 899, 930, 921, 920, + 897, 881, 931, 932, 863, 858, 900, 901, 887, 906, + 907, 908, 911, 829, 912, 913, 914, 915, 916, 910, + 909, 877, 878, 879, 903, 904, 884, 476, 859, 860, + 861, 862, 0, 0, 515, 516, 517, 540, 0, 518, + 500, 564, 384, 314, 480, 507, 700, 0, 0, 0, + 0, 0, 0, 0, 615, 626, 660, 0, 672, 673, + 675, 677, 917, 679, 473, 474, 687, 0, 905, 682, + 683, 680, 405, 460, 481, 467, 873, 706, 555, 556, + 707, 668, 0, 822, 0, 432, 0, 0, 570, 604, + 593, 678, 558, 0, 0, 0, 0, 0, 0, 825, + 0, 0, 0, 367, 0, 0, 400, 608, 589, 600, + 590, 575, 576, 577, 584, 379, 578, 579, 580, 550, + 581, 551, 582, 583, 864, 607, 557, 469, 416, 0, + 624, 0, 0, 943, 951, 0, 0, 0, 0, 0, + 0, 0, 0, 939, 0, 0, 0, 0, 817, 0, + 0, 854, 919, 918, 841, 851, 0, 0, 336, 246, + 552, 674, 554, 553, 842, 0, 843, 847, 850, 846, + 844, 845, 0, 934, 0, 0, 0, 0, 0, 0, + 809, 821, 0, 826, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 818, + 819, 0, 0, 0, 0, 874, 0, 820, 0, 0, + 0, 0, 0, 470, 499, 0, 512, 0, 390, 391, + 869, 848, 852, 0, 0, 0, 0, 324, 477, 496, + 337, 464, 510, 342, 472, 489, 332, 431, 461, 0, + 0, 326, 494, 471, 413, 325, 0, 455, 365, 381, + 362, 429, 849, 872, 876, 361, 957, 870, 504, 328, + 0, 503, 428, 490, 495, 414, 407, 0, 327, 492, + 412, 406, 394, 371, 958, 395, 396, 385, 443, 404, + 444, 386, 418, 417, 419, 0, 0, 0, 0, 0, + 534, 535, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 667, 867, 0, + 671, 0, 506, 0, 0, 941, 0, 0, 0, 475, + 0, 0, 397, 0, 0, 0, 871, 0, 458, 434, + 954, 4468, 0, 456, 402, 491, 445, 497, 478, 505, + 450, 446, 315, 479, 364, 415, 333, 335, 699, 366, + 368, 372, 373, 424, 425, 439, 463, 482, 483, 484, + 363, 347, 457, 348, 382, 349, 319, 355, 353, 356, + 465, 357, 321, 440, 488, 0, 378, 453, 410, 322, + 409, 441, 487, 486, 334, 514, 521, 522, 612, 0, + 527, 710, 711, 712, 536, 0, 447, 330, 329, 0, + 0, 0, 359, 442, 343, 345, 346, 344, 437, 438, + 541, 542, 543, 545, 0, 546, 547, 0, 0, 0, + 0, 548, 316, 317, 318, 613, 629, 597, 566, 529, + 621, 563, 567, 568, 388, 632, 0, 0, 0, 520, + 398, 399, 0, 370, 369, 411, 323, 0, 0, 376, + 311, 312, 705, 938, 430, 634, 669, 670, 559, 0, + 953, 933, 935, 936, 940, 944, 945, 946, 947, 948, + 950, 952, 956, 704, 0, 614, 628, 708, 627, 701, + 436, 0, 462, 625, 572, 0, 618, 591, 592, 0, + 619, 587, 623, 0, 561, 0, 530, 533, 562, 647, + 648, 649, 320, 532, 651, 652, 653, 654, 655, 656, + 657, 650, 955, 595, 571, 598, 511, 574, 573, 0, + 0, 609, 875, 610, 611, 420, 421, 422, 423, 942, + 635, 341, 531, 449, 0, 596, 0, 0, 0, 0, + 0, 0, 0, 0, 601, 602, 599, 713, 0, 658, + 659, 0, 0, 525, 526, 375, 0, 544, 383, 340, + 435, 377, 509, 392, 0, 537, 603, 538, 451, 452, + 661, 666, 662, 663, 665, 685, 427, 387, 389, 466, + 393, 403, 454, 508, 433, 459, 338, 498, 468, 408, + 588, 616, 964, 937, 963, 965, 966, 962, 967, 968, + 949, 830, 0, 882, 883, 960, 959, 961, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 643, + 642, 641, 640, 639, 638, 637, 636, 0, 0, 585, + 485, 354, 305, 350, 351, 358, 702, 698, 664, 703, + 686, 689, 688, 837, 313, 565, 401, 448, 374, 630, + 631, 0, 684, 926, 891, 892, 893, 827, 894, 888, + 889, 828, 890, 927, 880, 923, 924, 856, 885, 895, + 922, 896, 925, 928, 929, 969, 970, 902, 886, 275, + 971, 899, 930, 921, 920, 897, 881, 931, 932, 863, + 858, 900, 901, 887, 906, 907, 908, 911, 829, 912, + 913, 914, 915, 916, 910, 909, 877, 878, 879, 903, + 904, 884, 476, 859, 860, 861, 862, 0, 0, 515, + 516, 517, 540, 0, 518, 500, 564, 384, 314, 480, + 507, 700, 0, 0, 0, 0, 0, 0, 0, 615, + 626, 660, 0, 672, 673, 675, 677, 917, 679, 473, + 474, 687, 0, 905, 682, 683, 680, 405, 460, 481, + 467, 873, 706, 555, 556, 707, 668, 0, 822, 0, + 432, 0, 0, 570, 604, 593, 678, 558, 0, 0, + 0, 0, 0, 0, 825, 0, 0, 0, 367, 2022, + 0, 400, 608, 589, 600, 590, 575, 576, 577, 584, + 379, 578, 579, 580, 550, 581, 551, 582, 583, 864, + 607, 557, 469, 416, 0, 624, 0, 0, 943, 951, + 0, 0, 0, 0, 0, 0, 0, 0, 939, 0, + 0, 0, 0, 817, 0, 0, 854, 919, 918, 841, + 851, 0, 0, 336, 246, 552, 674, 554, 553, 842, + 0, 843, 847, 850, 846, 844, 845, 0, 934, 0, + 0, 0, 0, 0, 0, 809, 821, 0, 826, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 818, 819, 0, 0, 0, 0, + 874, 0, 820, 0, 0, 0, 0, 0, 470, 499, + 0, 512, 0, 390, 391, 869, 848, 852, 0, 0, + 0, 0, 324, 477, 496, 337, 464, 510, 342, 472, + 489, 332, 431, 461, 0, 0, 326, 494, 471, 413, + 325, 0, 455, 365, 381, 362, 429, 849, 872, 876, + 361, 957, 870, 504, 328, 0, 503, 428, 490, 495, + 414, 407, 0, 327, 492, 412, 406, 394, 371, 958, + 395, 396, 385, 443, 404, 444, 386, 418, 417, 419, + 0, 0, 0, 0, 0, 534, 535, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 667, 867, 0, 671, 0, 506, 0, 0, + 941, 0, 0, 0, 475, 0, 0, 397, 0, 0, + 0, 871, 0, 458, 434, 954, 0, 0, 456, 402, + 491, 445, 497, 478, 505, 450, 446, 315, 479, 364, + 415, 333, 335, 699, 366, 368, 372, 373, 424, 425, + 439, 463, 482, 483, 484, 363, 347, 457, 348, 382, + 349, 319, 355, 353, 356, 465, 357, 321, 440, 488, + 0, 378, 453, 410, 322, 409, 441, 487, 486, 334, + 514, 521, 522, 612, 0, 527, 710, 711, 712, 536, + 0, 447, 330, 329, 0, 0, 0, 359, 442, 343, + 345, 346, 344, 437, 438, 541, 542, 543, 545, 0, + 546, 547, 0, 0, 0, 0, 548, 316, 317, 318, + 613, 629, 597, 566, 529, 621, 563, 567, 568, 388, + 632, 0, 0, 0, 520, 398, 399, 0, 370, 369, + 411, 323, 0, 0, 376, 311, 312, 705, 938, 430, + 634, 669, 670, 559, 0, 953, 933, 935, 936, 940, + 944, 945, 946, 947, 948, 950, 952, 956, 704, 0, + 614, 628, 708, 627, 701, 436, 0, 462, 625, 572, + 0, 618, 591, 592, 0, 619, 587, 623, 0, 561, + 0, 530, 533, 562, 647, 648, 649, 320, 532, 651, + 652, 653, 654, 655, 656, 657, 650, 955, 595, 571, + 598, 511, 574, 573, 0, 0, 609, 875, 610, 611, + 420, 421, 422, 423, 942, 635, 341, 531, 449, 0, + 596, 0, 0, 0, 0, 0, 0, 0, 0, 601, + 602, 599, 713, 0, 658, 659, 0, 0, 525, 526, + 375, 0, 544, 383, 340, 435, 377, 509, 392, 0, + 537, 603, 538, 451, 452, 661, 666, 662, 663, 665, + 685, 427, 387, 389, 466, 393, 403, 454, 508, 433, + 459, 338, 498, 468, 408, 588, 616, 964, 937, 963, + 965, 966, 962, 967, 968, 949, 830, 0, 882, 883, + 960, 959, 961, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 643, 642, 641, 640, 639, 638, + 637, 636, 0, 0, 585, 485, 354, 305, 350, 351, + 358, 702, 698, 664, 703, 686, 689, 688, 837, 313, + 565, 401, 448, 374, 630, 631, 0, 684, 926, 891, + 892, 893, 827, 894, 888, 889, 828, 890, 927, 880, + 923, 924, 856, 885, 895, 922, 896, 925, 928, 929, + 969, 970, 902, 886, 275, 971, 899, 930, 921, 920, + 897, 881, 931, 932, 863, 858, 900, 901, 887, 906, + 907, 908, 911, 829, 912, 913, 914, 915, 916, 910, + 909, 877, 878, 879, 903, 904, 884, 476, 859, 860, + 861, 862, 0, 0, 515, 516, 517, 540, 0, 518, + 500, 564, 384, 314, 480, 507, 700, 0, 0, 0, + 0, 0, 0, 0, 615, 626, 660, 0, 672, 673, + 675, 677, 917, 679, 473, 474, 687, 0, 905, 682, + 683, 680, 405, 460, 481, 467, 873, 706, 555, 556, + 707, 668, 0, 822, 0, 432, 0, 0, 570, 604, + 593, 678, 558, 0, 0, 0, 0, 0, 0, 825, + 0, 0, 0, 367, 0, 0, 400, 608, 589, 600, + 590, 575, 576, 577, 584, 379, 578, 579, 580, 550, + 581, 551, 582, 583, 864, 607, 557, 469, 416, 0, + 624, 0, 0, 943, 951, 0, 0, 0, 0, 0, + 0, 0, 0, 939, 0, 0, 0, 0, 817, 0, + 0, 854, 919, 918, 841, 851, 0, 0, 336, 246, + 552, 674, 554, 553, 842, 0, 843, 847, 850, 846, + 844, 845, 0, 934, 0, 0, 0, 0, 0, 0, + 809, 821, 0, 826, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 818, + 819, 1719, 0, 0, 0, 874, 0, 820, 0, 0, + 0, 0, 0, 470, 499, 0, 512, 0, 390, 391, + 869, 848, 852, 0, 0, 0, 0, 324, 477, 496, + 337, 464, 510, 342, 472, 489, 332, 431, 461, 0, + 0, 326, 494, 471, 413, 325, 0, 455, 365, 381, + 362, 429, 849, 872, 876, 361, 957, 870, 504, 328, + 0, 503, 428, 490, 495, 414, 407, 0, 327, 492, + 412, 406, 394, 371, 958, 395, 396, 385, 443, 404, + 444, 386, 418, 417, 419, 0, 0, 0, 0, 0, + 534, 535, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 667, 867, 0, + 671, 0, 506, 0, 0, 941, 0, 0, 0, 475, + 0, 0, 397, 0, 0, 0, 871, 0, 458, 434, + 954, 0, 0, 456, 402, 491, 445, 497, 478, 505, + 450, 446, 315, 479, 364, 415, 333, 335, 699, 366, + 368, 372, 373, 424, 425, 439, 463, 482, 483, 484, + 363, 347, 457, 348, 382, 349, 319, 355, 353, 356, + 465, 357, 321, 440, 488, 0, 378, 453, 410, 322, + 409, 441, 487, 486, 334, 514, 521, 522, 612, 0, + 527, 710, 711, 712, 536, 0, 447, 330, 329, 0, + 0, 0, 359, 442, 343, 345, 346, 344, 437, 438, + 541, 542, 543, 545, 0, 546, 547, 0, 0, 0, + 0, 548, 316, 317, 318, 613, 629, 597, 566, 529, + 621, 563, 567, 568, 388, 632, 0, 0, 0, 520, + 398, 399, 0, 370, 369, 411, 323, 0, 0, 376, + 311, 312, 705, 938, 430, 634, 669, 670, 559, 0, + 953, 933, 935, 936, 940, 944, 945, 946, 947, 948, + 950, 952, 956, 704, 0, 614, 628, 708, 627, 701, + 436, 0, 462, 625, 572, 0, 618, 591, 592, 0, + 619, 587, 623, 0, 561, 0, 530, 533, 562, 647, + 648, 649, 320, 532, 651, 652, 653, 654, 655, 656, + 657, 650, 955, 595, 571, 598, 511, 574, 573, 0, + 0, 609, 875, 610, 611, 420, 421, 422, 423, 942, + 635, 341, 531, 449, 0, 596, 0, 0, 0, 0, + 0, 0, 0, 0, 601, 602, 599, 713, 0, 658, + 659, 0, 0, 525, 526, 375, 0, 544, 383, 340, + 435, 377, 509, 392, 0, 537, 603, 538, 451, 452, + 661, 666, 662, 663, 665, 685, 427, 387, 389, 466, + 393, 403, 454, 508, 433, 459, 338, 498, 468, 408, + 588, 616, 964, 937, 963, 965, 966, 962, 967, 968, + 949, 830, 0, 882, 883, 960, 959, 961, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 643, + 642, 641, 640, 639, 638, 637, 636, 0, 0, 585, + 485, 354, 305, 350, 351, 358, 702, 698, 664, 703, + 686, 689, 688, 837, 313, 565, 401, 448, 374, 630, + 631, 0, 684, 926, 891, 892, 893, 827, 894, 888, + 889, 828, 890, 927, 880, 923, 924, 856, 885, 895, + 922, 896, 925, 928, 929, 969, 970, 902, 886, 275, + 971, 899, 930, 921, 920, 897, 881, 931, 932, 863, + 858, 900, 901, 887, 906, 907, 908, 911, 829, 912, + 913, 914, 915, 916, 910, 909, 877, 878, 879, 903, + 904, 884, 476, 859, 860, 861, 862, 0, 0, 515, + 516, 517, 540, 0, 518, 500, 564, 384, 314, 480, + 507, 700, 0, 0, 0, 0, 0, 0, 0, 615, + 626, 660, 0, 672, 673, 675, 677, 917, 679, 473, + 474, 687, 0, 905, 682, 683, 680, 405, 460, 481, + 467, 0, 706, 555, 556, 707, 668, 873, 822, 0, + 2454, 0, 0, 0, 0, 0, 432, 0, 0, 570, + 604, 593, 678, 558, 0, 0, 0, 0, 0, 0, + 825, 0, 0, 0, 367, 0, 0, 400, 608, 589, + 600, 590, 575, 576, 577, 584, 379, 578, 579, 580, + 550, 581, 551, 582, 583, 864, 607, 557, 469, 416, + 0, 624, 0, 0, 943, 951, 0, 0, 0, 0, + 0, 0, 0, 0, 939, 0, 0, 0, 0, 817, + 0, 0, 854, 919, 918, 841, 851, 0, 0, 336, + 246, 552, 674, 554, 553, 842, 0, 843, 847, 850, + 846, 844, 845, 0, 934, 0, 0, 0, 0, 0, + 0, 809, 821, 0, 826, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 818, 819, 0, 0, 0, 0, 874, 0, 820, 0, + 0, 0, 0, 0, 470, 499, 0, 512, 0, 390, + 391, 869, 848, 852, 0, 0, 0, 0, 324, 477, + 496, 337, 464, 510, 342, 472, 489, 332, 431, 461, + 0, 0, 326, 494, 471, 413, 325, 0, 455, 365, + 381, 362, 429, 849, 872, 876, 361, 957, 870, 504, + 328, 0, 503, 428, 490, 495, 414, 407, 0, 327, + 492, 412, 406, 394, 371, 958, 395, 396, 385, 443, + 404, 444, 386, 418, 417, 419, 0, 0, 0, 0, + 0, 534, 535, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 667, 867, + 0, 671, 0, 506, 0, 0, 941, 0, 0, 0, + 475, 0, 0, 397, 0, 0, 0, 871, 0, 458, + 434, 954, 0, 0, 456, 402, 491, 445, 497, 478, + 505, 450, 446, 315, 479, 364, 415, 333, 335, 699, + 366, 368, 372, 373, 424, 425, 439, 463, 482, 483, + 484, 363, 347, 457, 348, 382, 349, 319, 355, 353, + 356, 465, 357, 321, 440, 488, 0, 378, 453, 410, + 322, 409, 441, 487, 486, 334, 514, 521, 522, 612, + 0, 527, 710, 711, 712, 536, 0, 447, 330, 329, + 0, 0, 0, 359, 442, 343, 345, 346, 344, 437, + 438, 541, 542, 543, 545, 0, 546, 547, 0, 0, + 0, 0, 548, 316, 317, 318, 613, 629, 597, 566, + 529, 621, 563, 567, 568, 388, 632, 0, 0, 0, + 520, 398, 399, 0, 370, 369, 411, 323, 0, 0, + 376, 311, 312, 705, 938, 430, 634, 669, 670, 559, + 0, 953, 933, 935, 936, 940, 944, 945, 946, 947, + 948, 950, 952, 956, 704, 0, 614, 628, 708, 627, + 701, 436, 0, 462, 625, 572, 0, 618, 591, 592, + 0, 619, 587, 623, 0, 561, 0, 530, 533, 562, + 647, 648, 649, 320, 532, 651, 652, 653, 654, 655, + 656, 657, 650, 955, 595, 571, 598, 511, 574, 573, + 0, 0, 609, 875, 610, 611, 420, 421, 422, 423, + 942, 635, 341, 531, 449, 0, 596, 0, 0, 0, + 0, 0, 0, 0, 0, 601, 602, 599, 713, 0, + 658, 659, 0, 0, 525, 526, 375, 0, 544, 383, + 340, 435, 377, 509, 392, 0, 537, 603, 538, 451, + 452, 661, 666, 662, 663, 665, 685, 427, 387, 389, + 466, 393, 403, 454, 508, 433, 459, 338, 498, 468, + 408, 588, 616, 964, 937, 963, 965, 966, 962, 967, + 968, 949, 830, 0, 882, 883, 960, 959, 961, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 643, 642, 641, 640, 639, 638, 637, 636, 0, 0, + 585, 485, 354, 305, 350, 351, 358, 702, 698, 664, + 703, 686, 689, 688, 837, 313, 565, 401, 448, 374, + 630, 631, 0, 684, 926, 891, 892, 893, 827, 894, + 888, 889, 828, 890, 927, 880, 923, 924, 856, 885, + 895, 922, 896, 925, 928, 929, 969, 970, 902, 886, + 275, 971, 899, 930, 921, 920, 897, 881, 931, 932, + 863, 858, 900, 901, 887, 906, 907, 908, 911, 829, + 912, 913, 914, 915, 916, 910, 909, 877, 878, 879, + 903, 904, 884, 476, 859, 860, 861, 862, 0, 0, + 515, 516, 517, 540, 0, 518, 500, 564, 384, 314, + 480, 507, 700, 0, 0, 0, 0, 0, 0, 0, + 615, 626, 660, 0, 672, 673, 675, 677, 917, 679, + 473, 474, 687, 0, 905, 682, 683, 680, 405, 460, + 481, 467, 873, 706, 555, 556, 707, 668, 0, 822, + 0, 432, 0, 0, 570, 604, 593, 678, 558, 0, + 0, 0, 0, 0, 0, 825, 0, 0, 0, 367, + 0, 0, 400, 608, 589, 600, 590, 575, 576, 577, + 584, 379, 578, 579, 580, 550, 581, 551, 582, 583, + 864, 607, 557, 469, 416, 0, 624, 0, 0, 943, + 951, 0, 0, 0, 0, 0, 0, 0, 0, 939, + 0, 0, 0, 0, 817, 0, 0, 854, 919, 918, + 841, 851, 0, 0, 336, 246, 552, 674, 554, 553, + 842, 0, 843, 847, 850, 846, 844, 845, 0, 934, + 0, 0, 0, 0, 0, 0, 809, 821, 0, 826, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 818, 819, 2015, 0, 0, + 0, 874, 0, 820, 0, 0, 0, 0, 0, 470, + 499, 0, 512, 0, 390, 391, 869, 848, 852, 0, + 0, 0, 0, 324, 477, 496, 337, 464, 510, 342, + 472, 489, 332, 431, 461, 0, 0, 326, 494, 471, + 413, 325, 0, 455, 365, 381, 362, 429, 849, 872, + 876, 361, 957, 870, 504, 328, 0, 503, 428, 490, + 495, 414, 407, 0, 327, 492, 412, 406, 394, 371, + 958, 395, 396, 385, 443, 404, 444, 386, 418, 417, + 419, 0, 0, 0, 0, 0, 534, 535, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 667, 867, 0, 671, 0, 506, 0, + 0, 941, 0, 0, 0, 475, 0, 0, 397, 0, + 0, 0, 871, 0, 458, 434, 954, 0, 0, 456, + 402, 491, 445, 497, 478, 505, 450, 446, 315, 479, + 364, 415, 333, 335, 699, 366, 368, 372, 373, 424, + 425, 439, 463, 482, 483, 484, 363, 347, 457, 348, + 382, 349, 319, 355, 353, 356, 465, 357, 321, 440, + 488, 0, 378, 453, 410, 322, 409, 441, 487, 486, + 334, 514, 521, 522, 612, 0, 527, 710, 711, 712, + 536, 0, 447, 330, 329, 0, 0, 0, 359, 442, + 343, 345, 346, 344, 437, 438, 541, 542, 543, 545, + 0, 546, 547, 0, 0, 0, 0, 548, 316, 317, + 318, 613, 629, 597, 566, 529, 621, 563, 567, 568, + 388, 632, 0, 0, 0, 520, 398, 399, 0, 370, + 369, 411, 323, 0, 0, 376, 311, 312, 705, 938, + 430, 634, 669, 670, 559, 0, 953, 933, 935, 936, + 940, 944, 945, 946, 947, 948, 950, 952, 956, 704, + 0, 614, 628, 708, 627, 701, 436, 0, 462, 625, + 572, 0, 618, 591, 592, 0, 619, 587, 623, 0, + 561, 0, 530, 533, 562, 647, 648, 649, 320, 532, + 651, 652, 653, 654, 655, 656, 657, 650, 955, 595, + 571, 598, 511, 574, 573, 0, 0, 609, 875, 610, + 611, 420, 421, 422, 423, 942, 635, 341, 531, 449, + 0, 596, 0, 0, 0, 0, 0, 0, 0, 0, + 601, 602, 599, 713, 0, 658, 659, 0, 0, 525, + 526, 375, 0, 544, 383, 340, 435, 377, 509, 392, + 0, 537, 603, 538, 451, 452, 661, 666, 662, 663, + 665, 685, 427, 387, 389, 466, 393, 403, 454, 508, + 433, 459, 338, 498, 468, 408, 588, 616, 964, 937, + 963, 965, 966, 962, 967, 968, 949, 830, 0, 882, + 883, 960, 959, 961, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 643, 642, 641, 640, 639, + 638, 637, 636, 0, 0, 585, 485, 354, 305, 350, + 351, 358, 702, 698, 664, 703, 686, 689, 688, 837, + 313, 565, 401, 448, 374, 630, 631, 0, 684, 926, + 891, 892, 893, 827, 894, 888, 889, 828, 890, 927, + 880, 923, 924, 856, 885, 895, 922, 896, 925, 928, + 929, 969, 970, 902, 886, 275, 971, 899, 930, 921, + 920, 897, 881, 931, 932, 863, 858, 900, 901, 887, + 906, 907, 908, 911, 829, 912, 913, 914, 915, 916, + 910, 909, 877, 878, 879, 903, 904, 884, 476, 859, + 860, 861, 862, 0, 0, 515, 516, 517, 540, 0, + 518, 500, 564, 384, 314, 480, 507, 700, 0, 0, + 0, 0, 0, 0, 0, 615, 626, 660, 0, 672, + 673, 675, 677, 917, 679, 473, 474, 687, 0, 905, + 682, 683, 680, 405, 460, 481, 467, 873, 706, 555, + 556, 707, 668, 0, 822, 0, 432, 0, 0, 570, + 604, 593, 678, 558, 0, 0, 0, 0, 0, 0, + 825, 0, 0, 0, 367, 0, 0, 400, 608, 589, + 600, 590, 575, 576, 577, 584, 379, 578, 579, 580, + 550, 581, 551, 582, 583, 864, 607, 557, 469, 416, + 0, 624, 0, 0, 943, 951, 0, 0, 0, 0, + 0, 0, 0, 0, 939, 0, 0, 0, 0, 817, + 0, 0, 854, 919, 918, 841, 851, 0, 0, 336, + 246, 552, 674, 554, 553, 842, 0, 843, 847, 850, + 846, 844, 845, 0, 934, 0, 0, 0, 0, 0, + 0, 809, 821, 0, 826, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 818, 819, 0, 0, 0, 0, 874, 0, 820, 0, + 0, 0, 0, 0, 470, 499, 0, 512, 0, 390, + 391, 869, 848, 852, 0, 0, 0, 0, 324, 477, + 496, 337, 464, 510, 342, 472, 489, 332, 431, 461, + 0, 0, 326, 494, 471, 413, 325, 0, 455, 365, + 381, 362, 429, 849, 872, 876, 361, 957, 870, 504, + 328, 0, 503, 428, 490, 495, 414, 407, 0, 327, + 492, 412, 406, 394, 371, 958, 395, 396, 385, 443, + 404, 444, 386, 418, 417, 419, 0, 0, 0, 0, + 0, 534, 535, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 667, 867, + 0, 671, 0, 506, 0, 0, 941, 0, 0, 0, + 475, 0, 0, 397, 0, 0, 0, 871, 0, 458, + 434, 954, 0, 0, 456, 402, 491, 445, 497, 478, + 505, 450, 446, 315, 479, 364, 415, 333, 335, 699, + 366, 368, 372, 373, 424, 425, 439, 463, 482, 483, + 484, 363, 347, 457, 348, 382, 349, 319, 355, 353, + 356, 465, 357, 321, 440, 488, 0, 378, 453, 410, + 322, 409, 441, 487, 486, 334, 514, 521, 522, 612, + 0, 527, 710, 711, 712, 536, 0, 447, 330, 329, + 0, 0, 0, 359, 442, 343, 345, 346, 344, 437, + 438, 541, 542, 543, 545, 0, 546, 547, 0, 0, + 0, 0, 548, 316, 317, 318, 613, 629, 597, 566, + 529, 621, 563, 567, 568, 388, 632, 0, 0, 0, + 520, 398, 399, 0, 370, 369, 411, 323, 0, 0, + 376, 311, 312, 705, 938, 430, 634, 669, 670, 559, + 0, 953, 933, 935, 936, 940, 944, 945, 946, 947, + 948, 950, 952, 956, 704, 0, 614, 628, 708, 627, + 701, 436, 0, 462, 625, 572, 0, 618, 591, 592, + 0, 619, 587, 623, 0, 561, 0, 530, 533, 562, + 647, 648, 649, 320, 532, 651, 652, 653, 654, 655, + 656, 657, 650, 955, 595, 571, 598, 511, 574, 573, + 0, 0, 609, 875, 610, 611, 420, 421, 422, 423, + 942, 635, 341, 531, 449, 0, 596, 0, 0, 0, + 0, 0, 0, 0, 0, 601, 602, 599, 713, 0, + 658, 659, 0, 0, 525, 526, 375, 0, 544, 383, + 340, 435, 377, 509, 392, 0, 537, 603, 538, 451, + 452, 661, 666, 662, 663, 665, 685, 427, 387, 389, + 466, 393, 403, 454, 508, 433, 459, 338, 498, 468, + 408, 588, 616, 964, 937, 963, 965, 966, 962, 967, + 968, 949, 830, 0, 882, 883, 960, 959, 961, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 643, 642, 641, 640, 639, 638, 637, 636, 0, 0, + 585, 485, 354, 305, 350, 351, 358, 702, 698, 664, + 703, 686, 689, 688, 837, 313, 565, 401, 448, 374, + 630, 631, 0, 684, 926, 891, 892, 893, 827, 894, + 888, 889, 828, 890, 927, 880, 923, 924, 856, 885, + 895, 922, 896, 925, 928, 929, 969, 970, 902, 886, + 275, 971, 899, 930, 921, 920, 897, 881, 931, 932, + 863, 858, 900, 901, 887, 906, 907, 908, 911, 829, + 912, 913, 914, 915, 916, 910, 909, 877, 878, 879, + 903, 904, 884, 476, 859, 860, 861, 862, 0, 0, + 515, 516, 517, 540, 0, 518, 500, 564, 384, 314, + 480, 507, 700, 0, 0, 0, 0, 0, 0, 0, + 615, 626, 660, 0, 672, 673, 675, 677, 917, 679, + 473, 474, 687, 0, 905, 682, 683, 680, 405, 460, + 481, 467, 873, 706, 555, 556, 707, 668, 0, 822, + 0, 432, 0, 0, 570, 604, 593, 678, 558, 0, + 0, 0, 0, 0, 0, 825, 0, 0, 0, 367, + 0, 0, 400, 608, 589, 600, 590, 575, 576, 577, + 584, 379, 578, 579, 580, 550, 581, 551, 582, 583, + 864, 607, 557, 469, 416, 0, 624, 0, 0, 943, + 951, 0, 0, 0, 0, 0, 0, 0, 0, 939, + 0, 0, 0, 0, 817, 0, 0, 854, 919, 918, + 841, 851, 0, 0, 336, 246, 552, 674, 554, 553, + 842, 0, 843, 847, 850, 846, 844, 845, 0, 934, + 0, 0, 0, 0, 0, 0, 809, 821, 0, 826, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 818, 819, 0, 0, 0, + 0, 874, 0, 820, 0, 0, 0, 0, 0, 470, + 499, 0, 512, 0, 390, 391, 869, 848, 852, 0, + 0, 0, 0, 324, 477, 496, 337, 464, 510, 342, + 472, 489, 332, 431, 461, 0, 0, 326, 494, 471, + 413, 325, 0, 455, 365, 381, 362, 429, 849, 872, + 876, 361, 957, 870, 504, 328, 0, 503, 428, 490, + 495, 414, 407, 0, 327, 492, 412, 406, 394, 371, + 958, 395, 396, 385, 443, 404, 444, 386, 418, 417, + 419, 0, 0, 0, 0, 0, 534, 535, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 667, 867, 0, 671, 0, 506, 0, + 0, 941, 0, 0, 0, 475, 0, 0, 397, 0, + 0, 0, 871, 0, 458, 434, 954, 0, 0, 456, + 402, 491, 445, 497, 478, 505, 450, 446, 315, 479, + 364, 415, 333, 335, 699, 366, 368, 372, 373, 424, + 425, 439, 463, 482, 483, 484, 363, 347, 457, 348, + 382, 349, 319, 355, 353, 356, 465, 357, 321, 440, + 488, 0, 378, 453, 410, 322, 409, 441, 487, 486, + 334, 514, 521, 522, 612, 0, 527, 710, 711, 712, + 536, 0, 447, 330, 329, 0, 0, 0, 359, 442, + 343, 345, 346, 344, 437, 438, 541, 542, 543, 545, + 0, 546, 547, 0, 0, 0, 0, 548, 316, 317, + 318, 613, 629, 597, 566, 529, 621, 563, 567, 568, + 388, 632, 0, 0, 0, 520, 398, 399, 0, 370, + 369, 411, 323, 0, 0, 376, 311, 312, 705, 938, + 430, 634, 669, 670, 559, 0, 953, 933, 935, 936, + 940, 944, 945, 946, 947, 948, 950, 952, 956, 704, + 0, 614, 628, 708, 627, 701, 436, 0, 462, 625, + 572, 0, 618, 591, 592, 0, 619, 587, 623, 0, + 561, 0, 530, 533, 562, 647, 648, 649, 320, 532, + 651, 652, 653, 654, 655, 656, 657, 650, 955, 595, + 571, 598, 511, 574, 573, 0, 0, 609, 875, 610, + 611, 420, 421, 422, 423, 942, 635, 341, 531, 449, + 0, 596, 0, 0, 0, 0, 0, 0, 0, 0, + 601, 602, 599, 713, 0, 658, 659, 0, 0, 525, + 526, 375, 0, 544, 383, 340, 435, 377, 509, 392, + 0, 537, 603, 538, 451, 452, 661, 666, 662, 663, + 665, 685, 427, 387, 389, 466, 393, 403, 454, 508, + 433, 459, 338, 498, 468, 408, 588, 616, 964, 937, + 963, 965, 966, 962, 967, 968, 949, 830, 0, 882, + 883, 960, 959, 961, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 643, 642, 641, 640, 639, + 638, 637, 636, 0, 0, 585, 485, 354, 305, 350, + 351, 358, 702, 698, 664, 703, 686, 689, 688, 837, + 313, 565, 401, 448, 374, 630, 631, 0, 684, 926, + 891, 892, 893, 827, 894, 888, 889, 828, 890, 927, + 880, 923, 924, 856, 885, 895, 922, 896, 925, 928, + 929, 969, 970, 902, 886, 275, 971, 899, 930, 921, + 920, 897, 881, 931, 932, 863, 858, 900, 901, 887, + 906, 907, 908, 911, 829, 912, 913, 914, 915, 916, + 910, 909, 877, 878, 879, 903, 904, 884, 476, 859, + 860, 861, 862, 0, 0, 515, 516, 517, 540, 0, + 518, 500, 564, 384, 314, 480, 507, 700, 0, 0, + 0, 0, 0, 0, 0, 615, 626, 660, 0, 672, + 673, 675, 677, 917, 679, 473, 474, 687, 0, 3937, + 682, 3938, 3939, 405, 460, 481, 467, 873, 706, 555, + 556, 707, 668, 0, 822, 0, 432, 0, 0, 570, + 604, 593, 678, 558, 0, 0, 0, 0, 0, 0, + 825, 0, 0, 0, 367, 0, 0, 400, 608, 589, + 600, 590, 575, 576, 577, 584, 379, 578, 579, 580, + 550, 581, 551, 582, 583, 864, 607, 557, 469, 416, + 0, 624, 0, 0, 943, 951, 0, 0, 0, 0, + 0, 0, 0, 0, 939, 0, 0, 0, 0, 817, + 0, 0, 854, 919, 918, 841, 851, 0, 0, 336, + 246, 552, 674, 554, 553, 2994, 0, 2995, 847, 850, + 846, 844, 845, 0, 934, 0, 0, 0, 0, 0, + 0, 809, 821, 0, 826, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 818, 819, 0, 0, 0, 0, 874, 0, 820, 0, + 0, 0, 0, 0, 470, 499, 0, 512, 0, 390, + 391, 869, 848, 852, 0, 0, 0, 0, 324, 477, + 496, 337, 464, 510, 342, 472, 489, 332, 431, 461, + 0, 0, 326, 494, 471, 413, 325, 0, 455, 365, + 381, 362, 429, 849, 872, 876, 361, 957, 870, 504, + 328, 0, 503, 428, 490, 495, 414, 407, 0, 327, + 492, 412, 406, 394, 371, 958, 395, 396, 385, 443, + 404, 444, 386, 418, 417, 419, 0, 0, 0, 0, + 0, 534, 535, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 667, 867, + 0, 671, 0, 506, 0, 0, 941, 0, 0, 0, + 475, 0, 0, 397, 0, 0, 0, 871, 0, 458, + 434, 954, 0, 0, 456, 402, 491, 445, 497, 478, + 505, 450, 446, 315, 479, 364, 415, 333, 335, 699, + 366, 368, 372, 373, 424, 425, 439, 463, 482, 483, + 484, 363, 347, 457, 348, 382, 349, 319, 355, 353, + 356, 465, 357, 321, 440, 488, 0, 378, 453, 410, + 322, 409, 441, 487, 486, 334, 514, 521, 522, 612, + 0, 527, 710, 711, 712, 536, 0, 447, 330, 329, + 0, 0, 0, 359, 442, 343, 345, 346, 344, 437, + 438, 541, 542, 543, 545, 0, 546, 547, 0, 0, + 0, 0, 548, 316, 317, 318, 613, 629, 597, 566, + 529, 621, 563, 567, 568, 388, 632, 0, 0, 0, + 520, 398, 399, 0, 370, 369, 411, 323, 0, 0, + 376, 311, 312, 705, 938, 430, 634, 669, 670, 559, + 0, 953, 933, 935, 936, 940, 944, 945, 946, 947, + 948, 950, 952, 956, 704, 0, 614, 628, 708, 627, + 701, 436, 0, 462, 625, 572, 0, 618, 591, 592, + 0, 619, 587, 623, 0, 561, 0, 530, 533, 562, + 647, 648, 649, 320, 532, 651, 652, 653, 654, 655, + 656, 657, 650, 955, 595, 571, 598, 511, 574, 573, + 0, 0, 609, 875, 610, 611, 420, 421, 422, 423, + 942, 635, 341, 531, 449, 0, 596, 0, 0, 0, + 0, 0, 0, 0, 0, 601, 602, 599, 713, 0, + 658, 659, 0, 0, 525, 526, 375, 0, 544, 383, + 340, 435, 377, 509, 392, 0, 537, 603, 538, 451, + 452, 661, 666, 662, 663, 665, 685, 427, 387, 389, + 466, 393, 403, 454, 508, 433, 459, 338, 498, 468, + 408, 588, 616, 964, 937, 963, 965, 966, 962, 967, + 968, 949, 830, 0, 882, 883, 960, 959, 961, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 643, 642, 641, 640, 639, 638, 637, 636, 0, 0, + 585, 485, 354, 305, 350, 351, 358, 702, 698, 664, + 703, 686, 689, 688, 837, 313, 565, 401, 448, 374, + 630, 631, 0, 684, 926, 891, 892, 893, 827, 894, + 888, 889, 828, 890, 927, 880, 923, 924, 856, 885, + 895, 922, 896, 925, 928, 929, 969, 970, 902, 886, + 275, 971, 899, 930, 921, 920, 897, 881, 931, 932, + 863, 858, 900, 901, 887, 906, 907, 908, 911, 829, + 912, 913, 914, 915, 916, 910, 909, 877, 878, 879, + 903, 904, 884, 476, 859, 860, 861, 862, 0, 0, + 515, 516, 517, 540, 0, 518, 500, 564, 384, 314, + 480, 507, 700, 0, 0, 0, 0, 0, 0, 0, + 615, 626, 660, 0, 672, 673, 675, 677, 917, 679, + 473, 474, 687, 0, 905, 682, 683, 680, 405, 460, + 481, 467, 873, 706, 555, 556, 707, 668, 0, 822, + 0, 432, 0, 0, 570, 604, 593, 678, 558, 0, + 0, 1860, 0, 0, 0, 825, 0, 0, 0, 367, + 0, 0, 400, 608, 589, 600, 590, 575, 576, 577, + 584, 379, 578, 579, 580, 550, 581, 551, 582, 583, + 864, 607, 557, 469, 416, 0, 624, 0, 0, 943, + 951, 0, 0, 0, 0, 0, 0, 0, 0, 939, + 0, 0, 0, 0, 817, 0, 0, 854, 919, 918, + 841, 851, 0, 0, 336, 246, 552, 674, 554, 553, + 842, 0, 843, 847, 850, 846, 844, 845, 0, 934, + 0, 0, 0, 0, 0, 0, 0, 821, 0, 826, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 818, 819, 0, 0, 0, + 0, 874, 0, 820, 0, 0, 0, 0, 0, 470, + 499, 0, 512, 0, 390, 391, 869, 848, 852, 0, + 0, 0, 0, 324, 477, 496, 337, 464, 510, 342, + 472, 489, 332, 431, 461, 0, 0, 326, 494, 471, + 413, 325, 0, 455, 365, 381, 362, 429, 849, 872, + 876, 361, 957, 870, 504, 328, 0, 503, 428, 490, + 495, 414, 407, 0, 327, 492, 412, 406, 394, 371, + 958, 395, 396, 385, 443, 404, 444, 386, 418, 417, + 419, 0, 0, 0, 0, 0, 534, 535, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 667, 867, 0, 671, 0, 506, 0, + 0, 941, 0, 0, 0, 475, 0, 0, 397, 0, + 0, 0, 871, 0, 458, 434, 954, 0, 0, 456, + 402, 491, 445, 497, 478, 505, 450, 446, 315, 479, + 364, 415, 333, 335, 699, 366, 368, 372, 373, 424, + 425, 439, 463, 482, 483, 484, 363, 347, 457, 348, + 382, 349, 319, 355, 353, 356, 465, 357, 321, 440, + 488, 0, 378, 453, 410, 322, 409, 441, 487, 486, + 334, 514, 1861, 1862, 612, 0, 527, 710, 711, 712, + 536, 0, 447, 330, 329, 0, 0, 0, 359, 442, + 343, 345, 346, 344, 437, 438, 541, 542, 543, 545, + 0, 546, 547, 0, 0, 0, 0, 548, 316, 317, + 318, 613, 629, 597, 566, 529, 621, 563, 567, 568, + 388, 632, 0, 0, 0, 520, 398, 399, 0, 370, + 369, 411, 323, 0, 0, 376, 311, 312, 705, 938, + 430, 634, 669, 670, 559, 0, 953, 933, 935, 936, + 940, 944, 945, 946, 947, 948, 950, 952, 956, 704, + 0, 614, 628, 708, 627, 701, 436, 0, 462, 625, + 572, 0, 618, 591, 592, 0, 619, 587, 623, 0, + 561, 0, 530, 533, 562, 647, 648, 649, 320, 532, + 651, 652, 653, 654, 655, 656, 657, 650, 955, 595, + 571, 598, 511, 574, 573, 0, 0, 609, 875, 610, + 611, 420, 421, 422, 423, 942, 635, 341, 531, 449, + 0, 596, 0, 0, 0, 0, 0, 0, 0, 0, + 601, 602, 599, 713, 0, 658, 659, 0, 0, 525, + 526, 375, 0, 544, 383, 340, 435, 377, 509, 392, + 0, 537, 603, 538, 451, 452, 661, 666, 662, 663, + 665, 685, 427, 387, 389, 466, 393, 403, 454, 508, + 433, 459, 338, 498, 468, 408, 588, 616, 964, 937, + 963, 965, 966, 962, 967, 968, 949, 830, 0, 882, + 883, 960, 959, 961, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 643, 642, 641, 640, 639, + 638, 637, 636, 0, 0, 585, 485, 354, 305, 350, + 351, 358, 702, 698, 664, 703, 686, 689, 688, 837, + 313, 565, 401, 448, 374, 630, 631, 0, 684, 926, + 891, 892, 893, 827, 894, 888, 889, 828, 890, 927, + 880, 923, 924, 856, 885, 895, 922, 896, 925, 928, + 929, 969, 970, 902, 886, 275, 971, 899, 930, 921, + 920, 897, 881, 931, 932, 863, 858, 900, 901, 887, + 906, 907, 908, 911, 829, 912, 913, 914, 915, 916, + 910, 909, 877, 878, 879, 903, 904, 884, 476, 859, + 860, 861, 862, 0, 0, 515, 516, 517, 540, 0, + 518, 500, 564, 384, 314, 480, 507, 700, 0, 0, + 0, 0, 0, 0, 0, 615, 626, 660, 0, 672, + 673, 675, 677, 917, 679, 473, 474, 687, 0, 905, + 682, 683, 680, 405, 460, 481, 467, 873, 706, 555, + 556, 707, 668, 0, 822, 0, 432, 0, 0, 570, + 604, 593, 678, 558, 0, 0, 0, 0, 0, 0, + 825, 0, 0, 0, 367, 0, 0, 400, 608, 589, + 600, 590, 575, 576, 577, 584, 379, 578, 579, 580, + 550, 581, 551, 582, 583, 864, 607, 557, 469, 416, + 0, 624, 0, 0, 943, 951, 0, 0, 0, 0, + 0, 0, 0, 0, 939, 0, 0, 0, 0, 817, + 0, 0, 854, 919, 918, 841, 851, 0, 0, 336, + 246, 552, 674, 554, 553, 842, 0, 843, 847, 850, + 846, 844, 845, 0, 934, 0, 0, 0, 0, 0, + 0, 0, 821, 0, 826, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 818, 819, 0, 0, 0, 0, 874, 0, 820, 0, + 0, 0, 0, 0, 470, 499, 0, 512, 0, 390, + 391, 869, 848, 852, 0, 0, 0, 0, 324, 477, + 496, 337, 464, 510, 342, 472, 489, 332, 431, 461, + 0, 0, 326, 494, 471, 413, 325, 0, 455, 365, + 381, 362, 429, 849, 872, 876, 361, 957, 870, 504, + 328, 0, 503, 428, 490, 495, 414, 407, 0, 327, + 492, 412, 406, 394, 371, 958, 395, 396, 385, 443, + 404, 444, 386, 418, 417, 419, 0, 0, 0, 0, + 0, 534, 535, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 667, 867, + 0, 671, 0, 506, 0, 0, 941, 0, 0, 0, + 475, 0, 0, 397, 0, 0, 0, 871, 0, 458, + 434, 954, 0, 0, 456, 402, 491, 445, 497, 478, + 505, 450, 446, 315, 479, 364, 415, 333, 335, 699, + 366, 368, 372, 373, 424, 425, 439, 463, 482, 483, + 484, 363, 347, 457, 348, 382, 349, 319, 355, 353, + 356, 465, 357, 321, 440, 488, 0, 378, 453, 410, + 322, 409, 441, 487, 486, 334, 514, 521, 522, 612, + 0, 527, 710, 711, 712, 536, 0, 447, 330, 329, + 0, 0, 0, 359, 442, 343, 345, 346, 344, 437, + 438, 541, 542, 543, 545, 0, 546, 547, 0, 0, + 0, 0, 548, 316, 317, 318, 613, 629, 597, 566, + 529, 621, 563, 567, 568, 388, 632, 0, 0, 0, + 520, 398, 399, 0, 370, 369, 411, 323, 0, 0, + 376, 311, 312, 705, 938, 430, 634, 669, 670, 559, + 0, 953, 933, 935, 936, 940, 944, 945, 946, 947, + 948, 950, 952, 956, 704, 0, 614, 628, 708, 627, + 701, 436, 0, 462, 625, 572, 0, 618, 591, 592, + 0, 619, 587, 623, 0, 561, 0, 530, 533, 562, + 647, 648, 649, 320, 532, 651, 652, 653, 654, 655, + 656, 657, 650, 955, 595, 571, 598, 511, 574, 573, + 0, 0, 609, 875, 610, 611, 420, 421, 422, 423, + 942, 635, 341, 531, 449, 0, 596, 0, 0, 0, + 0, 0, 0, 0, 0, 601, 602, 599, 713, 0, + 658, 659, 0, 0, 525, 526, 375, 0, 544, 383, + 340, 435, 377, 509, 392, 0, 537, 603, 538, 451, + 452, 661, 666, 662, 663, 665, 685, 427, 387, 389, + 466, 393, 403, 454, 508, 433, 459, 338, 498, 468, + 408, 588, 616, 964, 937, 963, 965, 966, 962, 967, + 968, 949, 830, 0, 882, 883, 960, 959, 961, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 643, 642, 641, 640, 639, 638, 637, 636, 0, 0, + 585, 485, 354, 305, 350, 351, 358, 702, 698, 664, + 703, 686, 689, 688, 837, 313, 565, 401, 448, 374, + 630, 631, 0, 684, 926, 891, 892, 893, 827, 894, + 888, 889, 828, 890, 927, 880, 923, 924, 856, 885, + 895, 922, 896, 925, 928, 929, 969, 970, 902, 886, + 275, 971, 899, 930, 921, 920, 897, 881, 931, 932, + 863, 858, 900, 901, 887, 906, 907, 908, 911, 829, + 912, 913, 914, 915, 916, 910, 909, 877, 878, 879, + 903, 904, 884, 476, 859, 860, 861, 862, 0, 0, + 515, 516, 517, 540, 0, 518, 500, 564, 384, 314, + 480, 507, 700, 0, 0, 0, 0, 0, 0, 0, + 615, 626, 660, 0, 672, 673, 675, 677, 917, 679, + 473, 474, 687, 0, 905, 682, 683, 680, 405, 460, + 481, 467, 0, 706, 555, 556, 707, 668, 0, 822, + 183, 223, 182, 214, 184, 0, 0, 0, 0, 0, + 0, 432, 0, 0, 570, 604, 593, 678, 558, 0, + 215, 0, 0, 0, 0, 0, 0, 206, 0, 367, + 0, 216, 400, 608, 589, 600, 590, 575, 576, 577, + 584, 379, 578, 579, 580, 550, 581, 551, 582, 583, + 153, 607, 557, 469, 416, 0, 624, 0, 0, 0, + 0, 0, 0, 0, 0, 139, 0, 0, 0, 0, + 0, 0, 0, 0, 219, 0, 0, 245, 0, 0, + 0, 0, 0, 0, 336, 246, 552, 674, 554, 553, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 339, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 470, + 499, 0, 512, 0, 390, 391, 0, 0, 0, 0, + 0, 0, 0, 324, 477, 496, 337, 464, 510, 342, + 472, 489, 332, 431, 461, 0, 0, 326, 494, 471, + 413, 325, 0, 455, 365, 381, 362, 429, 0, 493, + 523, 361, 513, 0, 504, 328, 0, 503, 428, 490, + 495, 414, 407, 0, 327, 492, 412, 406, 394, 371, + 539, 395, 396, 385, 443, 404, 444, 386, 418, 417, + 419, 0, 0, 0, 0, 0, 534, 535, 0, 0, + 0, 0, 0, 0, 0, 181, 212, 221, 213, 75, + 137, 0, 0, 667, 0, 0, 671, 0, 506, 0, + 0, 238, 0, 0, 0, 475, 0, 0, 397, 211, + 205, 204, 524, 0, 458, 434, 250, 0, 0, 456, + 402, 491, 445, 497, 478, 505, 450, 446, 315, 479, + 364, 415, 333, 335, 258, 366, 368, 372, 373, 424, + 425, 439, 463, 482, 483, 484, 363, 347, 457, 348, + 382, 349, 319, 355, 353, 356, 465, 357, 321, 440, + 488, 0, 378, 453, 410, 322, 409, 441, 487, 486, + 334, 514, 521, 522, 612, 0, 527, 644, 645, 646, + 536, 0, 447, 330, 329, 0, 0, 0, 359, 442, + 343, 345, 346, 344, 437, 438, 541, 542, 543, 545, + 0, 546, 547, 0, 0, 0, 0, 548, 316, 317, + 318, 613, 629, 597, 566, 529, 621, 563, 567, 568, + 388, 632, 0, 0, 0, 520, 398, 399, 0, 370, + 369, 411, 323, 0, 0, 376, 311, 312, 501, 360, + 430, 634, 669, 670, 559, 0, 622, 560, 569, 352, + 594, 606, 605, 426, 519, 241, 617, 620, 549, 251, + 0, 614, 628, 586, 627, 252, 436, 0, 462, 625, + 572, 0, 618, 591, 592, 0, 619, 587, 623, 0, + 561, 0, 530, 533, 562, 647, 648, 649, 320, 532, + 651, 652, 653, 654, 655, 656, 657, 650, 502, 595, + 571, 598, 511, 574, 573, 0, 0, 609, 528, 610, + 611, 420, 421, 422, 423, 380, 635, 341, 531, 449, + 151, 596, 0, 0, 0, 0, 0, 0, 0, 0, + 601, 602, 599, 249, 0, 658, 659, 0, 0, 525, + 526, 375, 0, 544, 383, 340, 435, 377, 509, 392, + 0, 537, 603, 538, 451, 452, 661, 666, 662, 663, + 665, 685, 427, 387, 389, 466, 393, 403, 454, 508, + 433, 459, 338, 498, 468, 408, 588, 616, 0, 0, + 0, 0, 0, 0, 0, 0, 71, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 640, 639, 638, 637, 636, - 635, 634, 633, 0, 0, 582, 482, 351, 305, 347, - 348, 355, 699, 695, 661, 700, 683, 686, 685, 0, - 313, 562, 398, 445, 371, 627, 628, 0, 681, 259, + 0, 0, 0, 0, 0, 643, 642, 641, 640, 639, + 638, 637, 636, 0, 0, 585, 485, 354, 305, 350, + 351, 358, 256, 331, 664, 257, 686, 689, 688, 0, + 313, 565, 401, 448, 374, 630, 631, 66, 684, 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, 278, 279, 280, - 281, 282, 283, 630, 274, 275, 284, 285, 286, 287, + 281, 282, 283, 633, 274, 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 0, 0, 0, 0, 307, 687, 688, 689, 690, 691, - 0, 0, 308, 309, 310, 0, 0, 300, 473, 301, - 302, 303, 304, 0, 0, 512, 513, 514, 537, 0, - 515, 497, 561, 381, 314, 477, 504, 697, 0, 0, - 0, 0, 0, 0, 0, 612, 623, 657, 0, 669, - 670, 672, 674, 673, 676, 470, 471, 684, 0, 678, - 679, 680, 677, 402, 457, 478, 464, 0, 703, 552, - 553, 704, 665, 183, 223, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 429, 0, 0, 567, 601, 590, - 675, 555, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 364, 0, 0, 397, 605, 586, 597, 587, - 572, 573, 574, 581, 376, 575, 576, 577, 547, 578, - 548, 579, 580, 153, 604, 554, 466, 413, 0, 621, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 219, 2355, 0, - 245, 0, 0, 0, 0, 0, 0, 333, 246, 549, - 671, 551, 550, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 467, 496, 0, 509, 0, 387, 388, 0, - 0, 0, 0, 0, 0, 0, 321, 474, 493, 334, - 461, 507, 339, 469, 486, 329, 428, 458, 0, 0, - 323, 491, 468, 410, 322, 0, 452, 362, 378, 359, - 426, 0, 490, 520, 358, 510, 0, 501, 325, 0, - 500, 425, 487, 492, 411, 404, 0, 324, 489, 409, - 403, 391, 368, 536, 392, 393, 382, 440, 401, 441, - 383, 415, 414, 416, 0, 0, 0, 0, 0, 531, - 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 664, 0, 0, 668, - 0, 503, 0, 0, 0, 0, 0, 0, 472, 0, - 0, 394, 0, 0, 0, 521, 0, 455, 431, 706, - 0, 0, 453, 399, 488, 442, 494, 475, 502, 447, - 443, 315, 476, 361, 412, 330, 332, 696, 363, 365, - 369, 370, 421, 422, 436, 460, 479, 480, 481, 360, - 344, 454, 345, 379, 346, 316, 352, 350, 353, 462, - 354, 318, 437, 485, 0, 375, 450, 407, 319, 406, - 438, 484, 483, 331, 511, 518, 519, 609, 0, 524, - 707, 708, 709, 533, 0, 444, 327, 326, 0, 0, - 0, 356, 439, 340, 342, 343, 341, 434, 435, 538, - 539, 540, 542, 0, 543, 544, 0, 0, 0, 0, - 545, 610, 626, 594, 563, 526, 618, 560, 564, 565, - 385, 629, 0, 0, 0, 517, 395, 396, 0, 367, - 366, 408, 320, 0, 0, 373, 311, 312, 702, 357, - 427, 631, 666, 667, 556, 0, 619, 557, 566, 349, - 591, 603, 602, 423, 516, 0, 614, 617, 546, 701, - 0, 611, 625, 705, 624, 698, 433, 0, 459, 622, - 569, 0, 615, 588, 589, 0, 616, 584, 620, 0, - 558, 0, 527, 530, 559, 644, 645, 646, 317, 529, - 648, 649, 650, 651, 652, 653, 654, 647, 499, 592, - 568, 595, 508, 571, 570, 0, 0, 606, 525, 607, - 608, 417, 418, 419, 420, 377, 632, 338, 528, 446, - 0, 593, 0, 0, 0, 0, 0, 0, 0, 0, - 598, 599, 596, 710, 0, 655, 656, 0, 0, 522, - 523, 372, 0, 541, 380, 337, 432, 374, 506, 389, - 0, 534, 600, 535, 448, 449, 658, 663, 659, 660, - 662, 682, 424, 384, 386, 463, 390, 400, 451, 505, - 430, 456, 335, 495, 465, 405, 585, 613, 0, 0, + 0, 0, 0, 0, 307, 690, 691, 692, 693, 694, + 0, 0, 308, 309, 310, 0, 0, 300, 476, 301, + 302, 303, 304, 0, 0, 515, 516, 517, 540, 0, + 518, 500, 564, 384, 314, 480, 507, 253, 49, 239, + 242, 244, 243, 0, 67, 615, 626, 660, 5, 672, + 673, 675, 677, 676, 679, 473, 474, 687, 0, 681, + 682, 683, 680, 405, 460, 481, 467, 156, 254, 555, + 556, 255, 668, 183, 223, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 432, 0, 0, 570, 604, 593, + 678, 558, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 367, 0, 0, 400, 608, 589, 600, 590, + 575, 576, 577, 584, 379, 578, 579, 580, 550, 581, + 551, 582, 583, 153, 607, 557, 469, 416, 0, 624, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 219, 0, 0, + 245, 0, 0, 0, 0, 0, 0, 336, 246, 552, + 674, 554, 553, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 339, 2639, 2642, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 470, 499, 0, 512, 0, 390, 391, 0, + 0, 0, 0, 0, 0, 0, 324, 477, 496, 337, + 464, 510, 342, 472, 489, 332, 431, 461, 0, 0, + 326, 494, 471, 413, 325, 0, 455, 365, 381, 362, + 429, 0, 493, 523, 361, 513, 0, 504, 328, 0, + 503, 428, 490, 495, 414, 407, 0, 327, 492, 412, + 406, 394, 371, 539, 395, 396, 385, 443, 404, 444, + 386, 418, 417, 419, 0, 0, 0, 0, 0, 534, + 535, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 667, 0, 0, 671, + 2643, 506, 0, 0, 0, 2638, 0, 2637, 475, 2635, + 2640, 397, 0, 0, 0, 524, 0, 458, 434, 709, + 0, 0, 456, 402, 491, 445, 497, 478, 505, 450, + 446, 315, 479, 364, 415, 333, 335, 699, 366, 368, + 372, 373, 424, 425, 439, 463, 482, 483, 484, 363, + 347, 457, 348, 382, 349, 319, 355, 353, 356, 465, + 357, 321, 440, 488, 2641, 378, 453, 410, 322, 409, + 441, 487, 486, 334, 514, 521, 522, 612, 0, 527, + 710, 711, 712, 536, 0, 447, 330, 329, 0, 0, + 0, 359, 442, 343, 345, 346, 344, 437, 438, 541, + 542, 543, 545, 0, 546, 547, 0, 0, 0, 0, + 548, 316, 317, 318, 613, 629, 597, 566, 529, 621, + 563, 567, 568, 388, 632, 0, 0, 0, 520, 398, + 399, 0, 370, 369, 411, 323, 0, 0, 376, 311, + 312, 705, 360, 430, 634, 669, 670, 559, 0, 622, + 560, 569, 352, 594, 606, 605, 426, 519, 0, 617, + 620, 549, 704, 0, 614, 628, 708, 627, 701, 436, + 0, 462, 625, 572, 0, 618, 591, 592, 0, 619, + 587, 623, 0, 561, 0, 530, 533, 562, 647, 648, + 649, 320, 532, 651, 652, 653, 654, 655, 656, 657, + 650, 502, 595, 571, 598, 511, 574, 573, 0, 0, + 609, 528, 610, 611, 420, 421, 422, 423, 380, 635, + 341, 531, 449, 0, 596, 0, 0, 0, 0, 0, + 0, 0, 0, 601, 602, 599, 713, 0, 658, 659, + 0, 0, 525, 526, 375, 0, 544, 383, 340, 435, + 377, 509, 392, 0, 537, 603, 538, 451, 452, 661, + 666, 662, 663, 665, 685, 427, 387, 389, 466, 393, + 403, 454, 508, 433, 459, 338, 498, 468, 408, 588, + 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 643, 642, + 641, 640, 639, 638, 637, 636, 0, 0, 585, 485, + 354, 305, 350, 351, 358, 702, 698, 664, 703, 686, + 689, 688, 0, 313, 565, 401, 448, 374, 630, 631, + 0, 684, 259, 260, 261, 262, 263, 264, 265, 266, + 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, + 278, 279, 280, 281, 282, 283, 633, 274, 275, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 0, 0, 0, 0, 307, 690, 691, + 692, 693, 694, 0, 0, 308, 309, 310, 0, 0, + 300, 476, 301, 302, 303, 304, 0, 0, 515, 516, + 517, 540, 0, 518, 500, 564, 384, 314, 480, 507, + 700, 0, 0, 0, 0, 0, 0, 0, 615, 626, + 660, 0, 672, 673, 675, 677, 676, 679, 473, 474, + 687, 0, 681, 682, 683, 680, 405, 460, 481, 467, + 0, 706, 555, 556, 707, 668, 432, 0, 0, 570, + 604, 593, 678, 558, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 367, 0, 0, 400, 608, 589, + 600, 590, 575, 576, 577, 584, 379, 578, 579, 580, + 550, 581, 551, 582, 583, 0, 607, 557, 469, 416, + 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1424, + 0, 0, 245, 0, 0, 841, 851, 0, 0, 336, + 246, 552, 674, 554, 553, 842, 0, 843, 847, 850, + 846, 844, 845, 0, 339, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 470, 499, 0, 512, 0, 390, + 391, 0, 848, 0, 0, 0, 0, 0, 324, 477, + 496, 337, 464, 510, 342, 472, 489, 332, 431, 461, + 0, 0, 326, 494, 471, 413, 325, 0, 455, 365, + 381, 362, 429, 849, 493, 523, 361, 513, 0, 504, + 328, 0, 503, 428, 490, 495, 414, 407, 0, 327, + 492, 412, 406, 394, 371, 539, 395, 396, 385, 443, + 404, 444, 386, 418, 417, 419, 0, 0, 0, 0, + 0, 534, 535, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 667, 0, + 0, 671, 0, 506, 0, 0, 0, 0, 0, 0, + 475, 0, 0, 397, 0, 0, 0, 524, 0, 458, + 434, 709, 0, 0, 456, 402, 491, 445, 497, 478, + 505, 450, 446, 315, 479, 364, 415, 333, 335, 699, + 366, 368, 372, 373, 424, 425, 439, 463, 482, 483, + 484, 363, 347, 457, 348, 382, 349, 319, 355, 353, + 356, 465, 357, 321, 440, 488, 0, 378, 453, 410, + 322, 409, 441, 487, 486, 334, 514, 521, 522, 612, + 0, 527, 710, 711, 712, 536, 0, 447, 330, 329, + 0, 0, 0, 359, 442, 343, 345, 346, 344, 437, + 438, 541, 542, 543, 545, 0, 546, 547, 0, 0, + 0, 0, 548, 316, 317, 318, 613, 629, 597, 566, + 529, 621, 563, 567, 568, 388, 632, 0, 0, 0, + 520, 398, 399, 0, 370, 369, 411, 323, 0, 0, + 376, 311, 312, 705, 360, 430, 634, 669, 670, 559, + 0, 622, 560, 569, 352, 594, 606, 605, 426, 519, + 0, 617, 620, 549, 704, 0, 614, 628, 708, 627, + 701, 436, 0, 462, 625, 572, 0, 618, 591, 592, + 0, 619, 587, 623, 0, 561, 0, 530, 533, 562, + 647, 648, 649, 320, 532, 651, 652, 653, 654, 655, + 656, 657, 650, 502, 595, 571, 598, 511, 574, 573, + 0, 0, 609, 528, 610, 611, 420, 421, 422, 423, + 380, 635, 341, 531, 449, 0, 596, 0, 0, 0, + 0, 0, 0, 0, 0, 601, 602, 599, 713, 0, + 658, 659, 0, 0, 525, 526, 375, 0, 544, 383, + 340, 435, 377, 509, 392, 0, 537, 603, 538, 451, + 452, 661, 666, 662, 663, 665, 685, 427, 387, 389, + 466, 393, 403, 454, 508, 433, 459, 338, 498, 468, + 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 643, 642, 641, 640, 639, 638, 637, 636, 0, 0, + 585, 485, 354, 305, 350, 351, 358, 702, 698, 664, + 703, 686, 689, 688, 0, 313, 565, 401, 448, 374, + 630, 631, 0, 684, 259, 260, 261, 262, 263, 264, + 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, + 276, 277, 278, 279, 280, 281, 282, 283, 633, 274, + 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 0, 0, 0, 0, 307, + 690, 691, 692, 693, 694, 0, 0, 308, 309, 310, + 0, 0, 300, 476, 301, 302, 303, 304, 0, 0, + 515, 516, 517, 540, 0, 518, 500, 564, 384, 314, + 480, 507, 700, 0, 0, 0, 0, 0, 0, 0, + 615, 626, 660, 0, 672, 673, 675, 677, 676, 679, + 473, 474, 687, 0, 681, 682, 683, 680, 405, 460, + 481, 467, 0, 706, 555, 556, 707, 668, 183, 223, + 182, 214, 184, 0, 0, 0, 0, 0, 0, 432, + 732, 0, 570, 604, 593, 678, 558, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 367, 0, 0, + 400, 608, 589, 600, 590, 575, 576, 577, 584, 379, + 578, 579, 580, 550, 581, 551, 582, 583, 0, 607, + 557, 469, 416, 0, 624, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 739, 0, 0, 0, 0, 0, + 0, 0, 738, 0, 0, 245, 0, 0, 0, 0, + 0, 0, 336, 246, 552, 674, 554, 553, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 339, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 470, 499, 0, + 512, 0, 390, 391, 0, 0, 0, 0, 0, 0, + 0, 324, 477, 496, 337, 464, 510, 342, 472, 489, + 332, 431, 461, 0, 0, 326, 494, 471, 413, 325, + 0, 455, 365, 381, 362, 429, 0, 493, 523, 361, + 513, 0, 504, 328, 0, 503, 428, 490, 495, 414, + 407, 0, 327, 492, 412, 406, 394, 371, 539, 395, + 396, 385, 443, 404, 444, 386, 418, 417, 419, 0, + 0, 0, 0, 0, 534, 535, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 736, 737, + 0, 667, 0, 0, 671, 0, 506, 0, 0, 0, + 0, 0, 0, 475, 0, 0, 397, 0, 0, 0, + 524, 0, 458, 434, 709, 0, 0, 456, 402, 491, + 445, 497, 478, 505, 450, 446, 315, 479, 364, 415, + 333, 335, 699, 366, 368, 372, 373, 424, 425, 439, + 463, 482, 483, 484, 363, 347, 457, 348, 382, 349, + 319, 355, 353, 356, 465, 357, 321, 440, 488, 0, + 378, 453, 410, 322, 409, 441, 487, 486, 334, 514, + 521, 522, 612, 0, 527, 710, 711, 712, 536, 0, + 447, 330, 329, 0, 0, 0, 359, 442, 343, 345, + 346, 344, 437, 438, 541, 542, 543, 545, 0, 546, + 547, 0, 0, 0, 0, 548, 316, 317, 318, 613, + 629, 597, 566, 529, 621, 563, 567, 568, 388, 632, + 0, 0, 0, 520, 398, 399, 0, 370, 369, 411, + 323, 0, 0, 376, 311, 312, 705, 360, 430, 634, + 669, 670, 559, 0, 622, 560, 569, 352, 594, 606, + 605, 426, 519, 0, 617, 620, 549, 704, 0, 614, + 628, 708, 627, 701, 436, 0, 462, 625, 572, 0, + 618, 591, 592, 0, 619, 587, 623, 0, 561, 0, + 530, 533, 562, 647, 648, 649, 320, 532, 651, 652, + 653, 654, 655, 656, 657, 650, 502, 595, 571, 598, + 511, 574, 573, 0, 0, 609, 528, 610, 611, 420, + 421, 422, 423, 733, 735, 341, 531, 449, 747, 596, + 0, 0, 0, 0, 0, 0, 0, 0, 601, 602, + 599, 713, 0, 658, 659, 0, 0, 525, 526, 375, + 0, 544, 383, 340, 435, 377, 509, 392, 0, 537, + 603, 538, 451, 452, 661, 666, 662, 663, 665, 685, + 427, 387, 389, 466, 393, 403, 454, 508, 433, 459, + 338, 498, 468, 408, 588, 616, 0, 0, 0, 0, + 0, 0, 0, 0, 71, 0, 0, 298, 299, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 643, 642, 641, 640, 639, 638, 637, + 636, 0, 0, 585, 485, 354, 305, 350, 351, 358, + 702, 698, 664, 703, 686, 689, 688, 0, 313, 565, + 401, 448, 374, 630, 631, 0, 684, 259, 260, 261, + 262, 263, 264, 265, 266, 306, 267, 268, 269, 270, + 271, 272, 273, 276, 277, 278, 279, 280, 281, 282, + 283, 633, 274, 275, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, + 0, 0, 307, 690, 691, 692, 693, 694, 0, 0, + 308, 309, 310, 0, 0, 300, 476, 301, 302, 303, + 304, 0, 0, 515, 516, 517, 540, 0, 518, 500, + 564, 384, 314, 480, 507, 700, 0, 0, 0, 0, + 0, 0, 0, 615, 626, 660, 0, 672, 673, 675, + 677, 676, 679, 473, 474, 687, 0, 681, 682, 683, + 680, 405, 460, 481, 467, 0, 706, 555, 556, 707, + 668, 432, 0, 0, 570, 604, 593, 678, 558, 0, + 1220, 0, 0, 0, 0, 0, 0, 0, 0, 367, + 0, 0, 400, 608, 589, 600, 590, 575, 576, 577, + 584, 379, 578, 579, 580, 550, 581, 551, 582, 583, + 0, 607, 557, 469, 416, 0, 624, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 245, 0, 0, + 0, 0, 0, 0, 336, 246, 552, 674, 554, 553, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 339, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 470, + 499, 0, 512, 0, 2820, 2821, 1205, 0, 0, 0, + 0, 0, 0, 324, 477, 496, 337, 464, 510, 342, + 472, 489, 332, 431, 461, 0, 0, 2814, 2817, 2818, + 2819, 2822, 0, 2827, 2823, 2824, 2825, 2826, 0, 2810, + 2811, 2812, 2813, 1203, 2794, 2815, 0, 2795, 428, 2796, + 2797, 2798, 2799, 1207, 2800, 2801, 2802, 2803, 2804, 2807, + 2808, 2805, 2806, 2828, 2829, 2830, 2831, 2832, 2833, 2834, + 2835, 1231, 1233, 1235, 1237, 1240, 534, 535, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 667, 0, 0, 671, 0, 506, 0, + 0, 0, 0, 0, 0, 475, 0, 0, 397, 0, + 0, 0, 2809, 0, 458, 434, 709, 0, 0, 456, + 402, 491, 445, 497, 478, 505, 450, 446, 315, 479, + 364, 415, 333, 335, 699, 366, 368, 372, 373, 424, + 425, 439, 463, 482, 483, 484, 363, 347, 457, 348, + 382, 349, 319, 355, 353, 356, 465, 357, 321, 440, + 488, 0, 378, 453, 410, 322, 409, 441, 487, 486, + 334, 514, 521, 522, 612, 0, 527, 710, 711, 712, + 536, 0, 447, 330, 329, 0, 0, 0, 359, 442, + 343, 345, 346, 344, 437, 438, 541, 542, 543, 545, + 0, 546, 547, 0, 0, 0, 0, 548, 316, 317, + 318, 613, 629, 597, 566, 529, 621, 563, 567, 568, + 388, 632, 0, 0, 0, 520, 398, 399, 0, 370, + 369, 411, 323, 0, 0, 376, 311, 312, 705, 360, + 430, 634, 669, 670, 559, 0, 622, 560, 569, 352, + 594, 606, 605, 426, 519, 0, 617, 620, 549, 704, + 0, 614, 628, 708, 627, 701, 436, 0, 462, 625, + 572, 0, 618, 591, 592, 0, 619, 587, 623, 0, + 561, 0, 530, 533, 562, 647, 648, 649, 320, 532, + 651, 652, 653, 654, 655, 656, 657, 650, 502, 595, + 571, 598, 511, 574, 573, 0, 0, 609, 528, 610, + 611, 420, 421, 422, 423, 380, 635, 341, 531, 449, + 0, 596, 0, 0, 0, 0, 0, 0, 0, 0, + 601, 602, 599, 713, 0, 658, 659, 0, 0, 525, + 526, 375, 0, 544, 383, 340, 435, 377, 509, 392, + 0, 537, 603, 538, 451, 452, 661, 666, 662, 663, + 665, 685, 427, 387, 389, 466, 393, 403, 454, 508, + 433, 459, 338, 498, 468, 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 640, 639, 638, 637, 636, - 635, 634, 633, 0, 0, 582, 482, 351, 305, 347, - 348, 355, 699, 695, 661, 700, 683, 686, 685, 0, - 313, 562, 398, 445, 371, 627, 628, 0, 681, 259, + 0, 0, 0, 0, 0, 643, 642, 641, 640, 639, + 638, 637, 636, 0, 0, 585, 485, 354, 305, 350, + 351, 358, 702, 698, 664, 703, 686, 689, 688, 0, + 313, 2816, 401, 448, 374, 630, 631, 0, 684, 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, 278, 279, 280, - 281, 282, 283, 630, 274, 275, 284, 285, 286, 287, + 281, 282, 283, 633, 274, 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 0, 0, 0, 0, 307, 687, 688, 689, 690, 691, - 0, 0, 308, 309, 310, 0, 0, 300, 473, 301, - 302, 303, 304, 0, 0, 512, 513, 514, 537, 0, - 515, 497, 561, 381, 314, 477, 504, 697, 0, 0, - 0, 0, 0, 0, 0, 612, 623, 657, 0, 669, - 670, 672, 674, 673, 676, 470, 471, 684, 0, 678, - 679, 680, 677, 402, 457, 478, 464, 0, 703, 552, - 553, 704, 665, 429, 0, 0, 567, 601, 590, 675, - 555, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 364, 1126, 0, 397, 605, 586, 597, 587, 572, - 573, 574, 581, 376, 575, 576, 577, 547, 578, 548, - 579, 580, 0, 604, 554, 466, 413, 0, 621, 0, + 0, 0, 0, 0, 307, 690, 691, 692, 693, 694, + 0, 0, 308, 309, 310, 0, 0, 300, 476, 301, + 302, 303, 304, 0, 0, 515, 516, 517, 540, 0, + 518, 500, 564, 384, 314, 480, 507, 700, 0, 0, + 0, 0, 0, 0, 0, 615, 626, 660, 0, 672, + 673, 675, 677, 676, 679, 473, 474, 687, 0, 681, + 682, 683, 680, 405, 460, 481, 467, 0, 706, 555, + 556, 707, 668, 432, 0, 0, 570, 604, 593, 678, + 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 367, 0, 0, 400, 608, 589, 600, 590, 575, + 576, 577, 584, 379, 578, 579, 580, 550, 581, 551, + 582, 583, 0, 607, 557, 469, 416, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, - 1133, 1134, 0, 0, 0, 0, 333, 246, 549, 671, - 551, 550, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1137, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 467, 496, 0, 509, 0, 387, 388, 0, 0, - 0, 0, 0, 0, 0, 321, 474, 1120, 334, 461, - 507, 339, 469, 486, 329, 428, 458, 0, 0, 323, - 491, 468, 410, 322, 0, 452, 362, 378, 359, 426, - 0, 490, 520, 358, 510, 1105, 501, 325, 1104, 500, - 425, 487, 492, 411, 404, 0, 324, 489, 409, 403, - 391, 368, 536, 392, 393, 382, 440, 401, 441, 383, - 415, 414, 416, 0, 0, 0, 0, 0, 531, 532, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 664, 0, 0, 668, 0, - 503, 0, 0, 0, 0, 0, 0, 472, 0, 0, - 394, 0, 0, 0, 521, 0, 455, 431, 706, 0, - 0, 453, 399, 488, 442, 494, 475, 502, 1124, 443, - 315, 476, 361, 412, 330, 332, 696, 363, 365, 369, - 370, 421, 422, 436, 460, 479, 480, 481, 360, 344, - 454, 345, 379, 346, 316, 352, 350, 353, 462, 354, - 318, 437, 485, 0, 375, 450, 407, 319, 406, 438, - 484, 483, 331, 511, 518, 519, 609, 0, 524, 707, - 708, 709, 533, 0, 444, 327, 326, 0, 0, 0, - 356, 439, 340, 342, 343, 341, 434, 435, 538, 539, - 540, 542, 0, 543, 544, 0, 0, 0, 0, 545, - 610, 626, 594, 563, 526, 618, 560, 564, 565, 385, - 629, 0, 0, 0, 517, 395, 396, 0, 367, 366, - 408, 320, 0, 0, 373, 311, 312, 702, 357, 427, - 631, 666, 667, 556, 0, 619, 557, 566, 349, 591, - 603, 602, 423, 516, 0, 614, 617, 546, 701, 0, - 611, 625, 705, 624, 698, 433, 0, 459, 622, 569, - 0, 615, 588, 589, 0, 616, 584, 620, 0, 558, - 0, 527, 530, 559, 644, 645, 646, 317, 529, 648, - 649, 650, 651, 652, 653, 1125, 647, 499, 592, 568, - 595, 508, 571, 570, 0, 0, 606, 1128, 607, 608, - 417, 418, 419, 420, 377, 632, 1123, 528, 446, 0, - 593, 0, 0, 0, 0, 0, 0, 0, 0, 598, - 599, 596, 710, 0, 655, 656, 0, 0, 522, 523, - 372, 0, 541, 380, 337, 432, 374, 506, 389, 0, - 534, 600, 535, 448, 449, 658, 663, 659, 660, 662, - 682, 1135, 1121, 1131, 1122, 390, 400, 451, 505, 430, - 456, 335, 495, 465, 1132, 585, 613, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 298, 299, + 0, 0, 0, 0, 0, 0, 336, 246, 552, 674, + 554, 553, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 339, 2639, 2642, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 470, 499, 0, 512, 0, 390, 391, 0, 0, + 0, 0, 0, 0, 0, 324, 477, 496, 337, 464, + 510, 342, 472, 489, 332, 431, 461, 0, 0, 326, + 494, 471, 413, 325, 0, 455, 365, 381, 362, 429, + 0, 493, 523, 361, 513, 0, 504, 328, 0, 503, + 428, 490, 495, 414, 407, 0, 327, 492, 412, 406, + 394, 371, 539, 395, 396, 385, 443, 404, 444, 386, + 418, 417, 419, 0, 0, 0, 0, 0, 534, 535, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 667, 0, 0, 671, 2643, + 506, 0, 0, 0, 2638, 0, 2637, 475, 2635, 2640, + 397, 0, 0, 0, 524, 0, 458, 434, 709, 0, + 0, 456, 402, 491, 445, 497, 478, 505, 450, 446, + 315, 479, 364, 415, 333, 335, 699, 366, 368, 372, + 373, 424, 425, 439, 463, 482, 483, 484, 363, 347, + 457, 348, 382, 349, 319, 355, 353, 356, 465, 357, + 321, 440, 488, 2641, 378, 453, 410, 322, 409, 441, + 487, 486, 334, 514, 521, 522, 612, 0, 527, 710, + 711, 712, 536, 0, 447, 330, 329, 0, 0, 0, + 359, 442, 343, 345, 346, 344, 437, 438, 541, 542, + 543, 545, 0, 546, 547, 0, 0, 0, 0, 548, + 316, 317, 318, 613, 629, 597, 566, 529, 621, 563, + 567, 568, 388, 632, 0, 0, 0, 520, 398, 399, + 0, 370, 369, 411, 323, 0, 0, 376, 311, 312, + 705, 360, 430, 634, 669, 670, 559, 0, 622, 560, + 569, 352, 594, 606, 605, 426, 519, 0, 617, 620, + 549, 704, 0, 614, 628, 708, 627, 701, 436, 0, + 462, 625, 572, 0, 618, 591, 592, 0, 619, 587, + 623, 0, 561, 0, 530, 533, 562, 647, 648, 649, + 320, 532, 651, 652, 653, 654, 655, 656, 657, 650, + 502, 595, 571, 598, 511, 574, 573, 0, 0, 609, + 528, 610, 611, 420, 421, 422, 423, 380, 635, 341, + 531, 449, 0, 596, 0, 0, 0, 0, 0, 0, + 0, 0, 601, 602, 599, 713, 0, 658, 659, 0, + 0, 525, 526, 375, 0, 544, 383, 340, 435, 377, + 509, 392, 0, 537, 603, 538, 451, 452, 661, 666, + 662, 663, 665, 685, 427, 387, 389, 466, 393, 403, + 454, 508, 433, 459, 338, 498, 468, 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 640, 639, 638, 637, 636, 635, - 634, 633, 0, 0, 582, 482, 351, 305, 347, 348, - 355, 699, 695, 661, 700, 683, 686, 685, 0, 313, - 562, 398, 445, 371, 627, 628, 0, 681, 259, 260, - 261, 262, 263, 264, 265, 266, 306, 267, 268, 269, - 270, 271, 272, 273, 276, 277, 278, 279, 280, 281, - 282, 283, 630, 274, 275, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, - 0, 0, 0, 307, 687, 688, 689, 690, 691, 0, - 0, 308, 309, 310, 0, 0, 300, 473, 301, 302, - 303, 304, 0, 0, 512, 513, 514, 537, 0, 515, - 497, 561, 381, 314, 477, 504, 697, 0, 0, 0, - 0, 0, 0, 0, 612, 623, 657, 0, 669, 670, - 672, 674, 673, 676, 470, 471, 684, 0, 678, 679, - 680, 677, 1119, 457, 478, 464, 0, 703, 552, 553, - 704, 665, 183, 223, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 429, 0, 0, 567, 601, 590, 675, - 555, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 364, 0, 0, 397, 605, 586, 597, 587, 572, - 573, 574, 581, 376, 575, 576, 577, 547, 578, 548, - 579, 580, 153, 604, 554, 466, 413, 0, 621, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2243, 0, 0, 245, - 0, 0, 0, 0, 0, 0, 333, 246, 549, 671, - 551, 550, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 336, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 467, 496, 0, 509, 0, 387, 388, 0, 0, - 0, 0, 0, 0, 0, 321, 474, 493, 334, 461, - 507, 339, 469, 486, 329, 428, 458, 0, 0, 323, - 491, 468, 410, 322, 0, 452, 362, 378, 359, 426, - 0, 490, 520, 358, 510, 0, 501, 325, 0, 500, - 425, 487, 492, 411, 404, 0, 324, 489, 409, 403, - 391, 368, 536, 392, 393, 382, 440, 401, 441, 383, - 415, 414, 416, 0, 0, 0, 0, 0, 531, 532, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 664, 0, 0, 668, 0, - 503, 0, 0, 0, 0, 0, 0, 472, 0, 0, - 394, 0, 0, 0, 521, 0, 455, 431, 706, 0, - 0, 453, 399, 488, 442, 494, 475, 502, 447, 443, - 315, 476, 361, 412, 330, 332, 696, 363, 365, 369, - 370, 421, 422, 436, 460, 479, 480, 481, 360, 344, - 454, 345, 379, 346, 316, 352, 350, 353, 462, 354, - 318, 437, 485, 0, 375, 450, 407, 319, 406, 438, - 484, 483, 331, 511, 518, 519, 609, 0, 524, 707, - 708, 709, 533, 0, 444, 327, 326, 0, 0, 0, - 356, 439, 340, 342, 343, 341, 434, 435, 538, 539, - 540, 542, 0, 543, 544, 0, 0, 0, 0, 545, - 610, 626, 594, 563, 526, 618, 560, 564, 565, 385, - 629, 0, 0, 0, 517, 395, 396, 0, 367, 366, - 408, 320, 0, 0, 373, 311, 312, 702, 357, 427, - 631, 666, 667, 556, 0, 619, 557, 566, 349, 591, - 603, 602, 423, 516, 0, 614, 617, 546, 701, 0, - 611, 625, 705, 624, 698, 433, 0, 459, 622, 569, - 0, 615, 588, 589, 0, 616, 584, 620, 0, 558, - 0, 527, 530, 559, 644, 645, 646, 317, 529, 648, - 649, 650, 651, 652, 653, 654, 647, 499, 592, 568, - 595, 508, 571, 570, 0, 0, 606, 525, 607, 608, - 417, 418, 419, 420, 377, 632, 338, 528, 446, 0, - 593, 0, 0, 0, 0, 0, 0, 0, 0, 598, - 599, 596, 710, 0, 655, 656, 0, 0, 522, 523, - 372, 0, 541, 380, 337, 432, 374, 506, 389, 0, - 534, 600, 535, 448, 449, 658, 663, 659, 660, 662, - 682, 424, 384, 386, 463, 390, 400, 451, 505, 430, - 456, 335, 495, 465, 405, 585, 613, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 298, 299, + 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 643, 642, 641, + 640, 639, 638, 637, 636, 0, 0, 585, 485, 354, + 305, 350, 351, 358, 702, 698, 664, 703, 686, 689, + 688, 0, 313, 565, 401, 448, 374, 630, 631, 0, + 684, 259, 260, 261, 262, 263, 264, 265, 266, 306, + 267, 268, 269, 270, 271, 272, 273, 276, 277, 278, + 279, 280, 281, 282, 283, 633, 274, 275, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 0, 0, 0, 0, 307, 690, 691, 692, + 693, 694, 0, 0, 308, 309, 310, 0, 0, 300, + 476, 301, 302, 303, 304, 0, 0, 515, 516, 517, + 540, 0, 518, 500, 564, 384, 314, 480, 507, 700, + 0, 0, 0, 0, 0, 0, 0, 615, 626, 660, + 0, 672, 673, 675, 677, 676, 679, 473, 474, 687, + 0, 681, 682, 683, 680, 405, 460, 481, 467, 0, + 706, 555, 556, 707, 668, 432, 0, 0, 570, 604, + 593, 678, 558, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 367, 0, 0, 400, 608, 589, 600, + 590, 575, 576, 577, 584, 379, 578, 579, 580, 550, + 581, 551, 582, 583, 0, 607, 557, 469, 416, 0, + 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 245, 0, 0, 0, 0, 0, 0, 336, 246, + 552, 674, 554, 553, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 339, 0, 2660, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 470, 499, 0, 512, 0, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 324, 477, 496, + 337, 464, 510, 342, 472, 489, 332, 431, 461, 0, + 0, 326, 494, 471, 413, 325, 0, 455, 365, 381, + 362, 429, 0, 493, 523, 361, 513, 0, 504, 328, + 0, 503, 428, 490, 495, 414, 407, 0, 327, 492, + 412, 406, 394, 371, 539, 395, 396, 385, 443, 404, + 444, 386, 418, 417, 419, 0, 0, 0, 0, 0, + 534, 535, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 667, 0, 0, + 671, 2659, 506, 0, 0, 0, 2665, 2662, 2664, 475, + 0, 2663, 397, 0, 0, 0, 524, 0, 458, 434, + 709, 0, 2657, 456, 402, 491, 445, 497, 478, 505, + 450, 446, 315, 479, 364, 415, 333, 335, 699, 366, + 368, 372, 373, 424, 425, 439, 463, 482, 483, 484, + 363, 347, 457, 348, 382, 349, 319, 355, 353, 356, + 465, 357, 321, 440, 488, 0, 378, 453, 410, 322, + 409, 441, 487, 486, 334, 514, 521, 522, 612, 0, + 527, 710, 711, 712, 536, 0, 447, 330, 329, 0, + 0, 0, 359, 442, 343, 345, 346, 344, 437, 438, + 541, 542, 543, 545, 0, 546, 547, 0, 0, 0, + 0, 548, 316, 317, 318, 613, 629, 597, 566, 529, + 621, 563, 567, 568, 388, 632, 0, 0, 0, 520, + 398, 399, 0, 370, 369, 411, 323, 0, 0, 376, + 311, 312, 705, 360, 430, 634, 669, 670, 559, 0, + 622, 560, 569, 352, 594, 606, 605, 426, 519, 0, + 617, 620, 549, 704, 0, 614, 628, 708, 627, 701, + 436, 0, 462, 625, 572, 0, 618, 591, 592, 0, + 619, 587, 623, 0, 561, 0, 530, 533, 562, 647, + 648, 649, 320, 532, 651, 652, 653, 654, 655, 656, + 657, 650, 502, 595, 571, 598, 511, 574, 573, 0, + 0, 609, 528, 610, 611, 420, 421, 422, 423, 380, + 635, 341, 531, 449, 0, 596, 0, 0, 0, 0, + 0, 0, 0, 0, 601, 602, 599, 713, 0, 658, + 659, 0, 0, 525, 526, 375, 0, 544, 383, 340, + 435, 377, 509, 392, 0, 537, 603, 538, 451, 452, + 661, 666, 662, 663, 665, 685, 427, 387, 389, 466, + 393, 403, 454, 508, 433, 459, 338, 498, 468, 408, + 588, 616, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 643, + 642, 641, 640, 639, 638, 637, 636, 0, 0, 585, + 485, 354, 305, 350, 351, 358, 702, 698, 664, 703, + 686, 689, 688, 0, 313, 565, 401, 448, 374, 630, + 631, 0, 684, 259, 260, 261, 262, 263, 264, 265, + 266, 306, 267, 268, 269, 270, 271, 272, 273, 276, + 277, 278, 279, 280, 281, 282, 283, 633, 274, 275, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 0, 0, 0, 0, 307, 690, + 691, 692, 693, 694, 0, 0, 308, 309, 310, 0, + 0, 300, 476, 301, 302, 303, 304, 0, 0, 515, + 516, 517, 540, 0, 518, 500, 564, 384, 314, 480, + 507, 700, 0, 0, 0, 0, 0, 0, 0, 615, + 626, 660, 0, 672, 673, 675, 677, 676, 679, 473, + 474, 687, 0, 681, 682, 683, 680, 405, 460, 481, + 467, 0, 706, 555, 556, 707, 668, 432, 0, 0, + 570, 604, 593, 678, 558, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 367, 0, 0, 400, 608, + 589, 600, 590, 575, 576, 577, 584, 379, 578, 579, + 580, 550, 581, 551, 582, 583, 0, 607, 557, 469, + 416, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 640, 639, 638, 637, 636, 635, - 634, 633, 0, 0, 582, 482, 351, 305, 347, 348, - 355, 699, 695, 661, 700, 683, 686, 685, 0, 313, - 562, 398, 445, 371, 627, 628, 0, 681, 259, 260, - 261, 262, 263, 264, 265, 266, 306, 267, 268, 269, - 270, 271, 272, 273, 276, 277, 278, 279, 280, 281, - 282, 283, 630, 274, 275, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, - 0, 0, 0, 307, 687, 688, 689, 690, 691, 0, - 0, 308, 309, 310, 0, 0, 300, 473, 301, 302, - 303, 304, 0, 0, 512, 513, 514, 537, 0, 515, - 497, 561, 381, 314, 477, 504, 697, 0, 0, 0, - 0, 0, 0, 0, 612, 623, 657, 0, 669, 670, - 672, 674, 673, 676, 470, 471, 684, 0, 678, 679, - 680, 677, 402, 457, 478, 464, 0, 703, 552, 553, - 704, 665, 429, 0, 0, 567, 601, 590, 675, 555, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 364, 0, 0, 397, 605, 586, 597, 587, 572, 573, - 574, 581, 376, 575, 576, 577, 547, 578, 548, 579, - 580, 0, 604, 554, 466, 413, 0, 621, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 245, 1133, - 1134, 0, 0, 0, 0, 333, 246, 549, 671, 551, - 550, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1137, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 467, 496, 0, 509, 0, 387, 388, 0, 0, 0, - 0, 0, 0, 0, 321, 474, 493, 334, 461, 507, - 339, 469, 486, 329, 428, 458, 0, 0, 323, 491, - 468, 410, 322, 0, 452, 362, 378, 359, 426, 0, - 490, 520, 358, 510, 1105, 501, 325, 1104, 500, 425, - 487, 492, 411, 404, 0, 324, 489, 409, 403, 391, - 368, 536, 392, 393, 382, 440, 401, 441, 383, 415, - 414, 416, 0, 0, 0, 0, 0, 531, 532, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 664, 0, 0, 668, 0, 503, - 0, 0, 0, 0, 0, 0, 472, 0, 0, 394, - 0, 0, 0, 521, 0, 455, 431, 706, 0, 0, - 453, 399, 488, 442, 494, 475, 502, 447, 443, 315, - 476, 361, 412, 330, 332, 696, 363, 365, 369, 370, - 421, 422, 436, 460, 479, 480, 481, 360, 344, 454, - 345, 379, 346, 316, 352, 350, 353, 462, 354, 318, - 437, 485, 0, 375, 450, 407, 319, 406, 438, 484, - 483, 331, 511, 518, 519, 609, 0, 524, 707, 708, - 709, 533, 0, 444, 327, 326, 0, 0, 0, 356, - 439, 340, 342, 343, 341, 434, 435, 538, 539, 540, - 542, 0, 543, 544, 0, 0, 0, 0, 545, 610, - 626, 594, 563, 526, 618, 560, 564, 565, 385, 629, - 0, 0, 0, 517, 395, 396, 0, 367, 366, 408, - 320, 0, 0, 373, 311, 312, 702, 357, 427, 631, - 666, 667, 556, 0, 619, 557, 566, 349, 591, 603, - 602, 423, 516, 0, 614, 617, 546, 701, 0, 611, - 625, 705, 624, 698, 433, 0, 459, 622, 569, 0, - 615, 588, 589, 0, 616, 584, 620, 0, 558, 0, - 527, 530, 559, 644, 645, 646, 317, 529, 648, 649, - 650, 651, 652, 653, 654, 647, 499, 592, 568, 595, - 508, 571, 570, 0, 0, 606, 525, 607, 608, 417, - 418, 419, 420, 377, 632, 338, 528, 446, 0, 593, - 0, 0, 0, 0, 0, 0, 0, 0, 598, 599, - 596, 710, 0, 655, 656, 0, 0, 522, 523, 372, - 0, 541, 380, 337, 432, 374, 506, 389, 0, 534, - 600, 535, 448, 449, 658, 663, 659, 660, 662, 682, - 1135, 2264, 1131, 2265, 390, 400, 451, 505, 430, 456, - 335, 495, 465, 1132, 585, 613, 0, 0, 0, 0, + 0, 0, 0, 245, 0, 0, 0, 0, 0, 0, + 336, 246, 552, 674, 554, 553, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 339, 0, 2660, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 470, 499, 0, 512, 0, + 390, 391, 0, 0, 0, 0, 0, 0, 0, 324, + 477, 496, 337, 464, 510, 342, 472, 489, 332, 431, + 461, 0, 0, 326, 494, 471, 413, 325, 0, 455, + 365, 381, 362, 429, 0, 493, 523, 361, 513, 0, + 504, 328, 0, 503, 428, 490, 495, 414, 407, 0, + 327, 492, 412, 406, 394, 371, 539, 395, 396, 385, + 443, 404, 444, 386, 418, 417, 419, 0, 0, 0, + 0, 0, 534, 535, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 667, + 0, 0, 671, 2659, 506, 0, 0, 0, 2665, 2662, + 2664, 475, 0, 2663, 397, 0, 0, 0, 524, 0, + 458, 434, 709, 0, 0, 456, 402, 491, 445, 497, + 478, 505, 450, 446, 315, 479, 364, 415, 333, 335, + 699, 366, 368, 372, 373, 424, 425, 439, 463, 482, + 483, 484, 363, 347, 457, 348, 382, 349, 319, 355, + 353, 356, 465, 357, 321, 440, 488, 0, 378, 453, + 410, 322, 409, 441, 487, 486, 334, 514, 521, 522, + 612, 0, 527, 710, 711, 712, 536, 0, 447, 330, + 329, 0, 0, 0, 359, 442, 343, 345, 346, 344, + 437, 438, 541, 542, 543, 545, 0, 546, 547, 0, + 0, 0, 0, 548, 316, 317, 318, 613, 629, 597, + 566, 529, 621, 563, 567, 568, 388, 632, 0, 0, + 0, 520, 398, 399, 0, 370, 369, 411, 323, 0, + 0, 376, 311, 312, 705, 360, 430, 634, 669, 670, + 559, 0, 622, 560, 569, 352, 594, 606, 605, 426, + 519, 0, 617, 620, 549, 704, 0, 614, 628, 708, + 627, 701, 436, 0, 462, 625, 572, 0, 618, 591, + 592, 0, 619, 587, 623, 0, 561, 0, 530, 533, + 562, 647, 648, 649, 320, 532, 651, 652, 653, 654, + 655, 656, 657, 650, 502, 595, 571, 598, 511, 574, + 573, 0, 0, 609, 528, 610, 611, 420, 421, 422, + 423, 380, 635, 341, 531, 449, 0, 596, 0, 0, + 0, 0, 0, 0, 0, 0, 601, 602, 599, 713, + 0, 658, 659, 0, 0, 525, 526, 375, 0, 544, + 383, 340, 435, 377, 509, 392, 0, 537, 603, 538, + 451, 452, 661, 666, 662, 663, 665, 685, 427, 387, + 389, 466, 393, 403, 454, 508, 433, 459, 338, 498, + 468, 408, 588, 616, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 643, 642, 641, 640, 639, 638, 637, 636, 0, + 0, 585, 485, 354, 305, 350, 351, 358, 702, 698, + 664, 703, 686, 689, 688, 0, 313, 565, 401, 448, + 374, 630, 631, 0, 684, 259, 260, 261, 262, 263, + 264, 265, 266, 306, 267, 268, 269, 270, 271, 272, + 273, 276, 277, 278, 279, 280, 281, 282, 283, 633, + 274, 275, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, + 307, 690, 691, 692, 693, 694, 0, 0, 308, 309, + 310, 0, 0, 300, 476, 301, 302, 303, 304, 0, + 0, 515, 516, 517, 540, 0, 518, 500, 564, 384, + 314, 480, 507, 700, 0, 0, 0, 0, 0, 0, + 0, 615, 626, 660, 0, 672, 673, 675, 677, 676, + 679, 473, 474, 687, 0, 681, 682, 683, 680, 405, + 460, 481, 467, 0, 706, 555, 556, 707, 668, 432, + 0, 0, 570, 604, 593, 678, 558, 0, 0, 0, + 0, 0, 2322, 0, 0, 0, 0, 367, 0, 0, + 400, 608, 589, 600, 590, 575, 576, 577, 584, 379, + 578, 579, 580, 550, 581, 551, 582, 583, 0, 607, + 557, 469, 416, 0, 624, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 245, 0, 0, 2323, 0, + 0, 0, 336, 246, 552, 674, 554, 553, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 339, 0, 0, + 1350, 1351, 1352, 1349, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 470, 499, 0, + 512, 0, 390, 391, 0, 0, 0, 0, 0, 0, + 0, 324, 477, 496, 337, 464, 510, 342, 472, 489, + 332, 431, 461, 0, 0, 326, 494, 471, 413, 325, + 0, 455, 365, 381, 362, 429, 0, 493, 523, 361, + 513, 0, 504, 328, 0, 503, 428, 490, 495, 414, + 407, 0, 327, 492, 412, 406, 394, 371, 539, 395, + 396, 385, 443, 404, 444, 386, 418, 417, 419, 0, + 0, 0, 0, 0, 534, 535, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 667, 0, 0, 671, 0, 506, 0, 0, 0, + 0, 0, 0, 475, 0, 0, 397, 0, 0, 0, + 524, 0, 458, 434, 709, 0, 0, 456, 402, 491, + 445, 497, 478, 505, 450, 446, 315, 479, 364, 415, + 333, 335, 699, 366, 368, 372, 373, 424, 425, 439, + 463, 482, 483, 484, 363, 347, 457, 348, 382, 349, + 319, 355, 353, 356, 465, 357, 321, 440, 488, 0, + 378, 453, 410, 322, 409, 441, 487, 486, 334, 514, + 521, 522, 612, 0, 527, 710, 711, 712, 536, 0, + 447, 330, 329, 0, 0, 0, 359, 442, 343, 345, + 346, 344, 437, 438, 541, 542, 543, 545, 0, 546, + 547, 0, 0, 0, 0, 548, 316, 317, 318, 613, + 629, 597, 566, 529, 621, 563, 567, 568, 388, 632, + 0, 0, 0, 520, 398, 399, 0, 370, 369, 411, + 323, 0, 0, 376, 311, 312, 705, 360, 430, 634, + 669, 670, 559, 0, 622, 560, 569, 352, 594, 606, + 605, 426, 519, 0, 617, 620, 549, 704, 0, 614, + 628, 708, 627, 701, 436, 0, 462, 625, 572, 0, + 618, 591, 592, 0, 619, 587, 623, 0, 561, 0, + 530, 533, 562, 647, 648, 649, 320, 532, 651, 652, + 653, 654, 655, 656, 657, 650, 502, 595, 571, 598, + 511, 574, 573, 0, 0, 609, 528, 610, 611, 420, + 421, 422, 423, 380, 635, 341, 531, 449, 0, 596, + 0, 0, 0, 0, 0, 0, 0, 0, 601, 602, + 599, 713, 0, 658, 659, 0, 0, 525, 526, 375, + 0, 544, 383, 340, 435, 377, 509, 392, 0, 537, + 603, 538, 451, 452, 661, 666, 662, 663, 665, 685, + 427, 387, 389, 466, 393, 403, 454, 508, 433, 459, + 338, 498, 468, 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 640, 639, 638, 637, 636, 635, 634, - 633, 0, 0, 582, 482, 351, 305, 347, 348, 355, - 699, 695, 661, 700, 683, 686, 685, 0, 313, 562, - 398, 445, 371, 627, 628, 0, 681, 259, 260, 261, + 0, 0, 0, 643, 642, 641, 640, 639, 638, 637, + 636, 0, 0, 585, 485, 354, 305, 350, 351, 358, + 702, 698, 664, 703, 686, 689, 688, 0, 313, 565, + 401, 448, 374, 630, 631, 0, 684, 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, 278, 279, 280, 281, 282, - 283, 630, 274, 275, 284, 285, 286, 287, 288, 289, + 283, 633, 274, 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, - 0, 0, 307, 687, 688, 689, 690, 691, 0, 0, - 308, 309, 310, 0, 0, 300, 473, 301, 302, 303, - 304, 0, 0, 512, 513, 514, 537, 0, 515, 497, - 561, 381, 314, 477, 504, 697, 0, 0, 0, 0, - 0, 0, 0, 612, 623, 657, 0, 669, 670, 672, - 674, 673, 676, 470, 471, 684, 0, 678, 679, 680, - 677, 402, 457, 478, 464, 0, 703, 552, 553, 704, - 665, 429, 0, 0, 567, 601, 590, 675, 555, 0, - 0, 3244, 0, 0, 0, 0, 0, 0, 0, 364, - 0, 0, 397, 605, 586, 597, 587, 572, 573, 574, - 581, 376, 575, 576, 577, 547, 578, 548, 579, 580, - 0, 604, 554, 466, 413, 0, 621, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 245, 0, 0, - 0, 0, 0, 0, 333, 246, 549, 671, 551, 550, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 336, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, - 496, 0, 509, 0, 387, 388, 0, 0, 0, 0, - 0, 0, 0, 321, 474, 493, 334, 461, 507, 339, - 469, 486, 329, 428, 458, 0, 0, 323, 491, 468, - 410, 322, 0, 452, 362, 378, 359, 426, 0, 490, - 520, 358, 510, 0, 501, 325, 0, 500, 425, 487, - 492, 411, 404, 0, 324, 489, 409, 403, 391, 368, - 536, 392, 393, 382, 440, 401, 441, 383, 415, 414, - 416, 0, 0, 0, 0, 0, 531, 532, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3247, 0, 0, - 0, 0, 3246, 664, 0, 0, 668, 0, 503, 0, - 0, 0, 0, 0, 0, 472, 0, 0, 394, 0, - 0, 0, 521, 0, 455, 431, 706, 0, 0, 453, - 399, 488, 442, 494, 475, 502, 447, 443, 315, 476, - 361, 412, 330, 332, 696, 363, 365, 369, 370, 421, - 422, 436, 460, 479, 480, 481, 360, 344, 454, 345, - 379, 346, 316, 352, 350, 353, 462, 354, 318, 437, - 485, 0, 375, 450, 407, 319, 406, 438, 484, 483, - 331, 511, 518, 519, 609, 0, 524, 707, 708, 709, - 533, 0, 444, 327, 326, 0, 0, 0, 356, 439, - 340, 342, 343, 341, 434, 435, 538, 539, 540, 542, - 0, 543, 544, 0, 0, 0, 0, 545, 610, 626, - 594, 563, 526, 618, 560, 564, 565, 385, 629, 0, - 0, 0, 517, 395, 396, 0, 367, 366, 408, 320, - 0, 0, 373, 311, 312, 702, 357, 427, 631, 666, - 667, 556, 0, 619, 557, 566, 349, 591, 603, 602, - 423, 516, 0, 614, 617, 546, 701, 0, 611, 625, - 705, 624, 698, 433, 0, 459, 622, 569, 0, 615, - 588, 589, 0, 616, 584, 620, 0, 558, 0, 527, - 530, 559, 644, 645, 646, 317, 529, 648, 649, 650, - 651, 652, 653, 654, 647, 499, 592, 568, 595, 508, - 571, 570, 0, 0, 606, 525, 607, 608, 417, 418, - 419, 420, 377, 632, 338, 528, 446, 0, 593, 0, - 0, 0, 0, 0, 0, 0, 0, 598, 599, 596, - 710, 0, 655, 656, 0, 0, 522, 523, 372, 0, - 541, 380, 337, 432, 374, 506, 389, 0, 534, 600, - 535, 448, 449, 658, 663, 659, 660, 662, 682, 424, - 384, 386, 463, 390, 400, 451, 505, 430, 456, 335, - 495, 465, 405, 585, 613, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, + 0, 0, 307, 690, 691, 692, 693, 694, 0, 0, + 308, 309, 310, 0, 0, 300, 476, 301, 302, 303, + 304, 0, 0, 515, 516, 517, 540, 0, 518, 500, + 564, 384, 314, 480, 507, 700, 0, 0, 0, 0, + 0, 0, 0, 615, 626, 660, 0, 672, 673, 675, + 677, 676, 679, 473, 474, 687, 0, 681, 682, 683, + 680, 405, 460, 481, 467, 0, 706, 555, 556, 707, + 668, 183, 223, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 432, 0, 0, 570, 604, 593, 678, 558, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 367, 0, 0, 400, 608, 589, 600, 590, 575, 576, + 577, 584, 379, 578, 579, 580, 550, 581, 551, 582, + 583, 153, 607, 557, 469, 416, 0, 624, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 219, 2585, 0, 245, 0, + 0, 0, 0, 0, 0, 336, 246, 552, 674, 554, + 553, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 339, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 470, 499, 0, 512, 0, 390, 391, 0, 0, 0, + 0, 0, 0, 0, 324, 477, 496, 337, 464, 510, + 342, 472, 489, 332, 431, 461, 0, 0, 326, 494, + 471, 413, 325, 0, 455, 365, 381, 362, 429, 0, + 493, 523, 361, 513, 0, 504, 328, 0, 503, 428, + 490, 495, 414, 407, 0, 327, 492, 412, 406, 394, + 371, 539, 395, 396, 385, 443, 404, 444, 386, 418, + 417, 419, 0, 0, 0, 0, 0, 534, 535, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 667, 0, 0, 671, 0, 506, + 0, 0, 0, 0, 0, 0, 475, 0, 0, 397, + 0, 0, 0, 524, 0, 458, 434, 709, 0, 0, + 456, 402, 491, 445, 497, 478, 505, 450, 446, 315, + 479, 364, 415, 333, 335, 699, 366, 368, 372, 373, + 424, 425, 439, 463, 482, 483, 484, 363, 347, 457, + 348, 382, 349, 319, 355, 353, 356, 465, 357, 321, + 440, 488, 0, 378, 453, 410, 322, 409, 441, 487, + 486, 334, 514, 521, 522, 612, 0, 527, 710, 711, + 712, 536, 0, 447, 330, 329, 0, 0, 0, 359, + 442, 343, 345, 346, 344, 437, 438, 541, 542, 543, + 545, 0, 546, 547, 0, 0, 0, 0, 548, 316, + 317, 318, 613, 629, 597, 566, 529, 621, 563, 567, + 568, 388, 632, 0, 0, 0, 520, 398, 399, 0, + 370, 369, 411, 323, 0, 0, 376, 311, 312, 705, + 360, 430, 634, 669, 670, 559, 0, 622, 560, 569, + 352, 594, 606, 605, 426, 519, 0, 617, 620, 549, + 704, 0, 614, 628, 708, 627, 701, 436, 0, 462, + 625, 572, 0, 618, 591, 592, 0, 619, 587, 623, + 0, 561, 0, 530, 533, 562, 647, 648, 649, 320, + 532, 651, 652, 653, 654, 655, 656, 657, 650, 502, + 595, 571, 598, 511, 574, 573, 0, 0, 609, 528, + 610, 611, 420, 421, 422, 423, 380, 635, 341, 531, + 449, 0, 596, 0, 0, 0, 0, 0, 0, 0, + 0, 601, 602, 599, 713, 0, 658, 659, 0, 0, + 525, 526, 375, 0, 544, 383, 340, 435, 377, 509, + 392, 0, 537, 603, 538, 451, 452, 661, 666, 662, + 663, 665, 685, 427, 387, 389, 466, 393, 403, 454, + 508, 433, 459, 338, 498, 468, 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 640, 639, 638, 637, 636, 635, 634, 633, - 0, 0, 582, 482, 351, 305, 347, 348, 355, 699, - 695, 661, 700, 683, 686, 685, 0, 313, 562, 398, - 445, 371, 627, 628, 0, 681, 259, 260, 261, 262, - 263, 264, 265, 266, 306, 267, 268, 269, 270, 271, - 272, 273, 276, 277, 278, 279, 280, 281, 282, 283, - 630, 274, 275, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 0, 0, 0, - 0, 307, 687, 688, 689, 690, 691, 0, 0, 308, - 309, 310, 0, 0, 300, 473, 301, 302, 303, 304, - 0, 0, 512, 513, 514, 537, 0, 515, 497, 561, - 381, 314, 477, 504, 697, 0, 0, 0, 0, 0, - 0, 0, 612, 623, 657, 0, 669, 670, 672, 674, - 673, 676, 470, 471, 684, 0, 678, 679, 680, 677, - 402, 457, 478, 464, 0, 703, 552, 553, 704, 665, - 429, 0, 0, 567, 601, 590, 675, 555, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 364, 1680, - 0, 397, 605, 586, 597, 587, 572, 573, 574, 581, - 376, 575, 576, 577, 547, 578, 548, 579, 580, 0, - 604, 554, 466, 413, 0, 621, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 245, 0, 0, 1678, - 0, 0, 0, 333, 246, 549, 671, 551, 550, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 336, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 467, 496, - 0, 509, 0, 387, 388, 1676, 0, 0, 0, 0, - 0, 0, 321, 474, 493, 334, 461, 507, 339, 469, - 486, 329, 428, 458, 0, 0, 323, 491, 468, 410, - 322, 0, 452, 362, 378, 359, 426, 0, 490, 520, - 358, 510, 0, 501, 325, 0, 500, 425, 487, 492, - 411, 404, 0, 324, 489, 409, 403, 391, 368, 536, - 392, 393, 382, 440, 401, 441, 383, 415, 414, 416, - 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 664, 0, 0, 668, 0, 503, 0, 0, - 0, 0, 0, 0, 472, 0, 0, 394, 0, 0, - 0, 521, 0, 455, 431, 706, 0, 0, 453, 399, - 488, 442, 494, 475, 502, 447, 443, 315, 476, 361, - 412, 330, 332, 696, 363, 365, 369, 370, 421, 422, - 436, 460, 479, 480, 481, 360, 344, 454, 345, 379, - 346, 316, 352, 350, 353, 462, 354, 318, 437, 485, - 0, 375, 450, 407, 319, 406, 438, 484, 483, 331, - 511, 518, 519, 609, 0, 524, 707, 708, 709, 533, - 0, 444, 327, 326, 0, 0, 0, 356, 439, 340, - 342, 343, 341, 434, 435, 538, 539, 540, 542, 0, - 543, 544, 0, 0, 0, 0, 545, 610, 626, 594, - 563, 526, 618, 560, 564, 565, 385, 629, 0, 0, - 0, 517, 395, 396, 0, 367, 366, 408, 320, 0, - 0, 373, 311, 312, 702, 357, 427, 631, 666, 667, - 556, 0, 619, 557, 566, 349, 591, 603, 602, 423, - 516, 0, 614, 617, 546, 701, 0, 611, 625, 705, - 624, 698, 433, 0, 459, 622, 569, 0, 615, 588, - 589, 0, 616, 584, 620, 0, 558, 0, 527, 530, - 559, 644, 645, 646, 317, 529, 648, 649, 650, 651, - 652, 653, 654, 647, 499, 592, 568, 595, 508, 571, - 570, 0, 0, 606, 525, 607, 608, 417, 418, 419, - 420, 377, 632, 338, 528, 446, 0, 593, 0, 0, - 0, 0, 0, 0, 0, 0, 598, 599, 596, 710, - 0, 655, 656, 0, 0, 522, 523, 372, 0, 541, - 380, 337, 432, 374, 506, 389, 0, 534, 600, 535, - 448, 449, 658, 663, 659, 660, 662, 682, 424, 384, - 386, 463, 390, 400, 451, 505, 430, 456, 335, 495, - 465, 405, 585, 613, 0, 0, 0, 0, 0, 0, + 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 643, 642, 641, 640, + 639, 638, 637, 636, 0, 0, 585, 485, 354, 305, + 350, 351, 358, 702, 698, 664, 703, 686, 689, 688, + 0, 313, 565, 401, 448, 374, 630, 631, 0, 684, + 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, + 268, 269, 270, 271, 272, 273, 276, 277, 278, 279, + 280, 281, 282, 283, 633, 274, 275, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 0, 0, 0, 0, 307, 690, 691, 692, 693, + 694, 0, 0, 308, 309, 310, 0, 0, 300, 476, + 301, 302, 303, 304, 0, 0, 515, 516, 517, 540, + 0, 518, 500, 564, 384, 314, 480, 507, 700, 0, + 0, 0, 0, 0, 0, 0, 615, 626, 660, 0, + 672, 673, 675, 677, 676, 679, 473, 474, 687, 0, + 681, 682, 683, 680, 405, 460, 481, 467, 0, 706, + 555, 556, 707, 668, 183, 223, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 432, 0, 0, 570, 604, + 593, 678, 558, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 367, 0, 0, 400, 608, 589, 600, + 590, 575, 576, 577, 584, 379, 578, 579, 580, 550, + 581, 551, 582, 583, 153, 607, 557, 469, 416, 0, + 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 219, 2362, + 0, 245, 0, 0, 0, 0, 0, 0, 336, 246, + 552, 674, 554, 553, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 339, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 470, 499, 0, 512, 0, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 324, 477, 496, + 337, 464, 510, 342, 472, 489, 332, 431, 461, 0, + 0, 326, 494, 471, 413, 325, 0, 455, 365, 381, + 362, 429, 0, 493, 523, 361, 513, 0, 504, 328, + 0, 503, 428, 490, 495, 414, 407, 0, 327, 492, + 412, 406, 394, 371, 539, 395, 396, 385, 443, 404, + 444, 386, 418, 417, 419, 0, 0, 0, 0, 0, + 534, 535, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 667, 0, 0, + 671, 0, 506, 0, 0, 0, 0, 0, 0, 475, + 0, 0, 397, 0, 0, 0, 524, 0, 458, 434, + 709, 0, 0, 456, 402, 491, 445, 497, 478, 505, + 450, 446, 315, 479, 364, 415, 333, 335, 699, 366, + 368, 372, 373, 424, 425, 439, 463, 482, 483, 484, + 363, 347, 457, 348, 382, 349, 319, 355, 353, 356, + 465, 357, 321, 440, 488, 0, 378, 453, 410, 322, + 409, 441, 487, 486, 334, 514, 521, 522, 612, 0, + 527, 710, 711, 712, 536, 0, 447, 330, 329, 0, + 0, 0, 359, 442, 343, 345, 346, 344, 437, 438, + 541, 542, 543, 545, 0, 546, 547, 0, 0, 0, + 0, 548, 316, 317, 318, 613, 629, 597, 566, 529, + 621, 563, 567, 568, 388, 632, 0, 0, 0, 520, + 398, 399, 0, 370, 369, 411, 323, 0, 0, 376, + 311, 312, 705, 360, 430, 634, 669, 670, 559, 0, + 622, 560, 569, 352, 594, 606, 605, 426, 519, 0, + 617, 620, 549, 704, 0, 614, 628, 708, 627, 701, + 436, 0, 462, 625, 572, 0, 618, 591, 592, 0, + 619, 587, 623, 0, 561, 0, 530, 533, 562, 647, + 648, 649, 320, 532, 651, 652, 653, 654, 655, 656, + 657, 650, 502, 595, 571, 598, 511, 574, 573, 0, + 0, 609, 528, 610, 611, 420, 421, 422, 423, 380, + 635, 341, 531, 449, 0, 596, 0, 0, 0, 0, + 0, 0, 0, 0, 601, 602, 599, 713, 0, 658, + 659, 0, 0, 525, 526, 375, 0, 544, 383, 340, + 435, 377, 509, 392, 0, 537, 603, 538, 451, 452, + 661, 666, 662, 663, 665, 685, 427, 387, 389, 466, + 393, 403, 454, 508, 433, 459, 338, 498, 468, 408, + 588, 616, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 643, + 642, 641, 640, 639, 638, 637, 636, 0, 0, 585, + 485, 354, 305, 350, 351, 358, 702, 698, 664, 703, + 686, 689, 688, 0, 313, 565, 401, 448, 374, 630, + 631, 0, 684, 259, 260, 261, 262, 263, 264, 265, + 266, 306, 267, 268, 269, 270, 271, 272, 273, 276, + 277, 278, 279, 280, 281, 282, 283, 633, 274, 275, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 0, 0, 0, 0, 307, 690, + 691, 692, 693, 694, 0, 0, 308, 309, 310, 0, + 0, 300, 476, 301, 302, 303, 304, 0, 0, 515, + 516, 517, 540, 0, 518, 500, 564, 384, 314, 480, + 507, 700, 0, 0, 0, 0, 0, 0, 0, 615, + 626, 660, 0, 672, 673, 675, 677, 676, 679, 473, + 474, 687, 0, 681, 682, 683, 680, 405, 460, 481, + 467, 0, 706, 555, 556, 707, 668, 432, 0, 0, + 570, 604, 593, 678, 558, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 367, 1129, 0, 400, 608, + 589, 600, 590, 575, 576, 577, 584, 379, 578, 579, + 580, 550, 581, 551, 582, 583, 0, 607, 557, 469, + 416, 0, 624, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 245, 1136, 1137, 0, 0, 0, 0, + 336, 246, 552, 674, 554, 553, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1140, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 470, 499, 0, 512, 0, + 390, 391, 0, 0, 0, 0, 0, 0, 0, 324, + 477, 1123, 337, 464, 510, 342, 472, 489, 332, 431, + 461, 0, 0, 326, 494, 471, 413, 325, 0, 455, + 365, 381, 362, 429, 0, 493, 523, 361, 513, 1108, + 504, 328, 1107, 503, 428, 490, 495, 414, 407, 0, + 327, 492, 412, 406, 394, 371, 539, 395, 396, 385, + 443, 404, 444, 386, 418, 417, 419, 0, 0, 0, + 0, 0, 534, 535, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 667, + 0, 0, 671, 0, 506, 0, 0, 0, 0, 0, + 0, 475, 0, 0, 397, 0, 0, 0, 524, 0, + 458, 434, 709, 0, 0, 456, 402, 491, 445, 497, + 478, 505, 1127, 446, 315, 479, 364, 415, 333, 335, + 699, 366, 368, 372, 373, 424, 425, 439, 463, 482, + 483, 484, 363, 347, 457, 348, 382, 349, 319, 355, + 353, 356, 465, 357, 321, 440, 488, 0, 378, 453, + 410, 322, 409, 441, 487, 486, 334, 514, 521, 522, + 612, 0, 527, 710, 711, 712, 536, 0, 447, 330, + 329, 0, 0, 0, 359, 442, 343, 345, 346, 344, + 437, 438, 541, 542, 543, 545, 0, 546, 547, 0, + 0, 0, 0, 548, 316, 317, 318, 613, 629, 597, + 566, 529, 621, 563, 567, 568, 388, 632, 0, 0, + 0, 520, 398, 399, 0, 370, 369, 411, 323, 0, + 0, 376, 311, 312, 705, 360, 430, 634, 669, 670, + 559, 0, 622, 560, 569, 352, 594, 606, 605, 426, + 519, 0, 617, 620, 549, 704, 0, 614, 628, 708, + 627, 701, 436, 0, 462, 625, 572, 0, 618, 591, + 592, 0, 619, 587, 623, 0, 561, 0, 530, 533, + 562, 647, 648, 649, 320, 532, 651, 652, 653, 654, + 655, 656, 1128, 650, 502, 595, 571, 598, 511, 574, + 573, 0, 0, 609, 1131, 610, 611, 420, 421, 422, + 423, 380, 635, 1126, 531, 449, 0, 596, 0, 0, + 0, 0, 0, 0, 0, 0, 601, 602, 599, 713, + 0, 658, 659, 0, 0, 525, 526, 375, 0, 544, + 383, 340, 435, 377, 509, 392, 0, 537, 603, 538, + 451, 452, 661, 666, 662, 663, 665, 685, 1138, 1124, + 1134, 1125, 393, 403, 454, 508, 433, 459, 338, 498, + 468, 1135, 588, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 640, 639, 638, 637, 636, 635, 634, 633, 0, - 0, 582, 482, 351, 305, 347, 348, 355, 699, 695, - 661, 700, 683, 686, 685, 0, 313, 562, 398, 445, - 371, 627, 628, 0, 681, 259, 260, 261, 262, 263, + 0, 643, 642, 641, 640, 639, 638, 637, 636, 0, + 0, 585, 485, 354, 305, 350, 351, 358, 702, 698, + 664, 703, 686, 689, 688, 0, 313, 565, 401, 448, + 374, 630, 631, 0, 684, 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, 268, 269, 270, 271, 272, - 273, 276, 277, 278, 279, 280, 281, 282, 283, 630, + 273, 276, 277, 278, 279, 280, 281, 282, 283, 633, 274, 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, - 307, 687, 688, 689, 690, 691, 0, 0, 308, 309, - 310, 0, 0, 300, 473, 301, 302, 303, 304, 0, - 0, 512, 513, 514, 537, 0, 515, 497, 561, 381, - 314, 477, 504, 697, 0, 0, 0, 0, 0, 0, - 0, 612, 623, 657, 0, 669, 670, 672, 674, 673, - 676, 470, 471, 684, 0, 678, 679, 680, 677, 402, - 457, 478, 464, 0, 703, 552, 553, 704, 665, 429, - 0, 0, 567, 601, 590, 675, 555, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 364, 1674, 0, - 397, 605, 586, 597, 587, 572, 573, 574, 581, 376, - 575, 576, 577, 547, 578, 548, 579, 580, 0, 604, - 554, 466, 413, 0, 621, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 245, 0, 0, 1678, 0, - 0, 0, 333, 246, 549, 671, 551, 550, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 336, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 467, 496, 0, - 509, 0, 387, 388, 1676, 0, 0, 0, 0, 0, - 0, 321, 474, 493, 334, 461, 507, 339, 469, 486, - 329, 428, 458, 0, 0, 323, 491, 468, 410, 322, - 0, 452, 362, 378, 359, 426, 0, 490, 520, 358, - 510, 0, 501, 325, 0, 500, 425, 487, 492, 411, - 404, 0, 324, 489, 409, 403, 391, 368, 536, 392, - 393, 382, 440, 401, 441, 383, 415, 414, 416, 0, - 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 664, 0, 0, 668, 0, 503, 0, 0, 0, - 0, 0, 0, 472, 0, 0, 394, 0, 0, 0, - 521, 0, 455, 431, 706, 0, 0, 453, 399, 488, - 442, 494, 475, 502, 447, 443, 315, 476, 361, 412, - 330, 332, 696, 363, 365, 369, 370, 421, 422, 436, - 460, 479, 480, 481, 360, 344, 454, 345, 379, 346, - 316, 352, 350, 353, 462, 354, 318, 437, 485, 0, - 375, 450, 407, 319, 406, 438, 484, 483, 331, 511, - 518, 519, 609, 0, 524, 707, 708, 709, 533, 0, - 444, 327, 326, 0, 0, 0, 356, 439, 340, 342, - 343, 341, 434, 435, 538, 539, 540, 542, 0, 543, - 544, 0, 0, 0, 0, 545, 610, 626, 594, 563, - 526, 618, 560, 564, 565, 385, 629, 0, 0, 0, - 517, 395, 396, 0, 367, 366, 408, 320, 0, 0, - 373, 311, 312, 702, 357, 427, 631, 666, 667, 556, - 0, 619, 557, 566, 349, 591, 603, 602, 423, 516, - 0, 614, 617, 546, 701, 0, 611, 625, 705, 624, - 698, 433, 0, 459, 622, 569, 0, 615, 588, 589, - 0, 616, 584, 620, 0, 558, 0, 527, 530, 559, - 644, 645, 646, 317, 529, 648, 649, 650, 651, 652, - 653, 654, 647, 499, 592, 568, 595, 508, 571, 570, - 0, 0, 606, 525, 607, 608, 417, 418, 419, 420, - 377, 632, 338, 528, 446, 0, 593, 0, 0, 0, - 0, 0, 0, 0, 0, 598, 599, 596, 710, 0, - 655, 656, 0, 0, 522, 523, 372, 0, 541, 380, - 337, 432, 374, 506, 389, 0, 534, 600, 535, 448, - 449, 658, 663, 659, 660, 662, 682, 424, 384, 386, - 463, 390, 400, 451, 505, 430, 456, 335, 495, 465, - 405, 585, 613, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 640, 639, 638, 637, 636, 635, 634, 633, 0, 0, - 582, 482, 351, 305, 347, 348, 355, 699, 695, 661, - 700, 683, 686, 685, 0, 313, 562, 398, 445, 371, - 627, 628, 0, 681, 259, 260, 261, 262, 263, 264, - 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, - 276, 277, 278, 279, 280, 281, 282, 283, 630, 274, - 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 0, 0, 0, 0, 307, - 687, 688, 689, 690, 691, 0, 0, 308, 309, 310, - 0, 0, 300, 473, 301, 302, 303, 304, 0, 0, - 512, 513, 514, 537, 0, 515, 497, 561, 381, 314, - 477, 504, 697, 0, 0, 0, 0, 0, 0, 0, - 612, 623, 657, 0, 669, 670, 672, 674, 673, 676, - 470, 471, 684, 0, 678, 679, 680, 677, 402, 457, - 478, 464, 0, 703, 552, 553, 704, 665, 429, 0, - 0, 567, 601, 590, 675, 555, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 364, 0, 0, 397, - 605, 586, 597, 587, 572, 573, 574, 581, 376, 575, - 576, 577, 547, 578, 548, 579, 580, 0, 604, 554, - 466, 413, 0, 621, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4521, 0, 245, 916, 0, 0, 0, 0, - 0, 333, 246, 549, 671, 551, 550, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 336, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 467, 496, 0, 509, - 0, 387, 388, 0, 0, 0, 0, 0, 0, 0, - 321, 474, 493, 334, 461, 507, 339, 469, 486, 329, - 428, 458, 0, 0, 323, 491, 468, 410, 322, 0, - 452, 362, 378, 359, 426, 0, 490, 520, 358, 510, - 0, 501, 325, 0, 500, 425, 487, 492, 411, 404, - 0, 324, 489, 409, 403, 391, 368, 536, 392, 393, - 382, 440, 401, 441, 383, 415, 414, 416, 0, 0, - 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 664, 0, 0, 668, 0, 503, 0, 0, 0, 0, - 0, 0, 472, 0, 0, 394, 0, 0, 0, 521, - 0, 455, 431, 706, 0, 0, 453, 399, 488, 442, - 494, 475, 502, 447, 443, 315, 476, 361, 412, 330, - 332, 696, 363, 365, 369, 370, 421, 422, 436, 460, - 479, 480, 481, 360, 344, 454, 345, 379, 346, 316, - 352, 350, 353, 462, 354, 318, 437, 485, 0, 375, - 450, 407, 319, 406, 438, 484, 483, 331, 511, 518, - 519, 609, 0, 524, 707, 708, 709, 533, 0, 444, - 327, 326, 0, 0, 0, 356, 439, 340, 342, 343, - 341, 434, 435, 538, 539, 540, 542, 0, 543, 544, - 0, 0, 0, 0, 545, 610, 626, 594, 563, 526, - 618, 560, 564, 565, 385, 629, 0, 0, 0, 517, - 395, 396, 0, 367, 366, 408, 320, 0, 0, 373, - 311, 312, 702, 357, 427, 631, 666, 667, 556, 0, - 619, 557, 566, 349, 591, 603, 602, 423, 516, 0, - 614, 617, 546, 701, 0, 611, 625, 705, 624, 698, - 433, 0, 459, 622, 569, 0, 615, 588, 589, 0, - 616, 584, 620, 0, 558, 0, 527, 530, 559, 644, - 645, 646, 317, 529, 648, 649, 650, 651, 652, 653, - 654, 647, 499, 592, 568, 595, 508, 571, 570, 0, - 0, 606, 525, 607, 608, 417, 418, 419, 420, 377, - 632, 338, 528, 446, 0, 593, 0, 0, 0, 0, - 0, 0, 0, 0, 598, 599, 596, 710, 0, 655, - 656, 0, 0, 522, 523, 372, 0, 541, 380, 337, - 432, 374, 506, 389, 0, 534, 600, 535, 448, 449, - 658, 663, 659, 660, 662, 682, 424, 384, 386, 463, - 390, 400, 451, 505, 430, 456, 335, 495, 465, 405, - 585, 613, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 640, - 639, 638, 637, 636, 635, 634, 633, 0, 0, 582, - 482, 351, 305, 347, 348, 355, 699, 695, 661, 700, - 683, 686, 685, 0, 313, 562, 398, 445, 371, 627, - 628, 0, 681, 259, 260, 261, 262, 263, 264, 265, - 266, 306, 267, 268, 269, 270, 271, 272, 273, 276, - 277, 278, 279, 280, 281, 282, 283, 630, 274, 275, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 0, 0, 0, 0, 307, 687, - 688, 689, 690, 691, 0, 0, 308, 309, 310, 0, - 0, 300, 473, 301, 302, 303, 304, 0, 0, 512, - 513, 514, 537, 0, 515, 497, 561, 381, 314, 477, - 504, 697, 0, 0, 0, 0, 0, 0, 0, 612, - 623, 657, 0, 669, 670, 672, 674, 673, 676, 470, - 471, 684, 0, 678, 679, 680, 677, 402, 457, 478, - 464, 0, 703, 552, 553, 704, 665, 429, 0, 0, - 567, 601, 590, 675, 555, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 364, 0, 0, 397, 605, - 586, 597, 587, 572, 573, 574, 581, 376, 575, 576, - 577, 547, 578, 548, 579, 580, 0, 604, 554, 466, - 413, 0, 621, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 245, 0, 0, 1678, 0, 0, 0, - 333, 246, 549, 671, 551, 550, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 336, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 467, 496, 0, 509, 0, - 387, 388, 1676, 0, 0, 0, 0, 0, 0, 321, - 474, 493, 334, 461, 507, 339, 469, 486, 329, 428, - 458, 0, 0, 323, 491, 468, 410, 322, 0, 452, - 362, 378, 359, 426, 0, 490, 520, 358, 510, 0, - 501, 325, 0, 500, 425, 487, 492, 411, 404, 0, - 324, 489, 409, 403, 391, 368, 536, 392, 393, 382, - 440, 401, 441, 383, 415, 414, 416, 0, 0, 0, - 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, - 0, 0, 668, 0, 503, 0, 0, 0, 0, 0, - 0, 472, 0, 0, 394, 0, 0, 0, 521, 0, - 455, 431, 706, 0, 0, 453, 399, 488, 442, 494, - 475, 502, 447, 443, 315, 476, 361, 412, 330, 332, - 696, 363, 365, 369, 370, 421, 422, 436, 460, 479, - 480, 481, 360, 344, 454, 345, 379, 346, 316, 352, - 350, 353, 462, 354, 318, 437, 485, 0, 375, 450, - 407, 319, 406, 438, 484, 483, 331, 511, 518, 519, - 609, 0, 524, 707, 708, 709, 533, 0, 444, 327, - 326, 0, 0, 0, 356, 439, 340, 342, 343, 341, - 434, 435, 538, 539, 540, 542, 0, 543, 544, 0, - 0, 0, 0, 545, 610, 626, 594, 563, 526, 618, - 560, 564, 565, 385, 629, 0, 0, 0, 517, 395, - 396, 0, 367, 366, 408, 320, 0, 0, 373, 311, - 312, 702, 357, 427, 631, 666, 667, 556, 0, 619, - 557, 566, 349, 591, 603, 602, 423, 516, 0, 614, - 617, 546, 701, 0, 611, 625, 705, 624, 698, 433, - 0, 459, 622, 569, 0, 615, 588, 589, 0, 616, - 584, 620, 0, 558, 0, 527, 530, 559, 644, 645, - 646, 317, 529, 648, 649, 650, 651, 652, 653, 654, - 647, 499, 592, 568, 595, 508, 571, 570, 0, 0, - 606, 525, 607, 608, 417, 418, 419, 420, 377, 632, - 338, 528, 446, 0, 593, 0, 0, 0, 0, 0, - 0, 0, 0, 598, 599, 596, 710, 0, 655, 656, - 0, 0, 522, 523, 372, 0, 541, 380, 337, 432, - 374, 506, 389, 0, 534, 600, 535, 448, 449, 658, - 663, 659, 660, 662, 682, 424, 384, 386, 463, 390, - 400, 451, 505, 430, 456, 335, 495, 465, 405, 585, - 613, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 640, 639, - 638, 637, 636, 635, 634, 633, 0, 0, 582, 482, - 351, 305, 347, 348, 355, 699, 695, 661, 700, 683, - 686, 685, 0, 313, 562, 398, 445, 371, 627, 628, - 0, 681, 259, 260, 261, 262, 263, 264, 265, 266, - 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, - 278, 279, 280, 281, 282, 283, 630, 274, 275, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 0, 0, 0, 0, 307, 687, 688, - 689, 690, 691, 0, 0, 308, 309, 310, 0, 0, - 300, 473, 301, 302, 303, 304, 0, 0, 512, 513, - 514, 537, 0, 515, 497, 561, 381, 314, 477, 504, - 697, 0, 0, 0, 0, 0, 0, 0, 612, 623, - 657, 0, 669, 670, 672, 674, 673, 676, 470, 471, - 684, 0, 678, 679, 680, 677, 402, 457, 478, 464, - 0, 703, 552, 553, 704, 665, 429, 0, 0, 567, - 601, 590, 675, 555, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 364, 0, 0, 397, 605, 586, - 597, 587, 572, 573, 574, 581, 376, 575, 576, 577, - 547, 578, 548, 579, 580, 0, 604, 554, 466, 413, - 0, 621, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 245, 0, 0, 1678, 0, 0, 0, 333, - 246, 549, 671, 551, 550, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 336, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 467, 496, 0, 509, 0, 387, - 388, 1893, 0, 0, 0, 0, 0, 0, 321, 474, - 493, 334, 461, 507, 339, 469, 486, 329, 428, 458, - 0, 0, 323, 491, 468, 410, 322, 0, 452, 362, - 378, 359, 426, 0, 490, 520, 358, 510, 0, 501, - 325, 0, 500, 425, 487, 492, 411, 404, 0, 324, - 489, 409, 403, 391, 368, 536, 392, 393, 382, 440, - 401, 441, 383, 415, 414, 416, 0, 0, 0, 0, - 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, - 0, 668, 0, 503, 0, 0, 0, 0, 0, 0, - 472, 0, 0, 394, 0, 0, 0, 521, 0, 455, - 431, 706, 0, 0, 453, 399, 488, 442, 494, 475, - 502, 447, 443, 315, 476, 361, 412, 330, 332, 696, - 363, 365, 369, 370, 421, 422, 436, 460, 479, 480, - 481, 360, 344, 454, 345, 379, 346, 316, 352, 350, - 353, 462, 354, 318, 437, 485, 0, 375, 450, 407, - 319, 406, 438, 484, 483, 331, 511, 518, 519, 609, - 0, 524, 707, 708, 709, 533, 0, 444, 327, 326, - 0, 0, 0, 356, 439, 340, 342, 343, 341, 434, - 435, 538, 539, 540, 542, 0, 543, 544, 0, 0, - 0, 0, 545, 610, 626, 594, 563, 526, 618, 560, - 564, 565, 385, 629, 0, 0, 0, 517, 395, 396, - 0, 367, 366, 408, 320, 0, 0, 373, 311, 312, - 702, 357, 427, 631, 666, 667, 556, 0, 619, 557, - 566, 349, 591, 603, 602, 423, 516, 0, 614, 617, - 546, 701, 0, 611, 625, 705, 624, 698, 433, 0, - 459, 622, 569, 0, 615, 588, 589, 0, 616, 584, - 620, 0, 558, 0, 527, 530, 559, 644, 645, 646, - 317, 529, 648, 649, 650, 651, 652, 653, 654, 647, - 499, 592, 568, 595, 508, 571, 570, 0, 0, 606, - 525, 607, 608, 417, 418, 419, 420, 377, 632, 338, - 528, 446, 0, 593, 0, 0, 0, 0, 0, 0, - 0, 0, 598, 599, 596, 710, 0, 655, 656, 0, - 0, 522, 523, 372, 0, 541, 380, 337, 432, 374, - 506, 389, 0, 534, 600, 535, 448, 449, 658, 663, - 659, 660, 662, 682, 424, 384, 386, 463, 390, 400, - 451, 505, 430, 456, 335, 495, 465, 405, 585, 613, + 307, 690, 691, 692, 693, 694, 0, 0, 308, 309, + 310, 0, 0, 300, 476, 301, 302, 303, 304, 0, + 0, 515, 516, 517, 540, 0, 518, 500, 564, 384, + 314, 480, 507, 700, 0, 0, 0, 0, 0, 0, + 0, 615, 626, 660, 0, 672, 673, 675, 677, 676, + 679, 473, 474, 687, 0, 681, 682, 683, 680, 1122, + 460, 481, 467, 0, 706, 555, 556, 707, 668, 183, + 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 432, 0, 0, 570, 604, 593, 678, 558, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, + 0, 400, 608, 589, 600, 590, 575, 576, 577, 584, + 379, 578, 579, 580, 550, 581, 551, 582, 583, 153, + 607, 557, 469, 416, 0, 624, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2250, 0, 0, 245, 0, 0, 0, + 0, 0, 0, 336, 246, 552, 674, 554, 553, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 339, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 470, 499, + 0, 512, 0, 390, 391, 0, 0, 0, 0, 0, + 0, 0, 324, 477, 496, 337, 464, 510, 342, 472, + 489, 332, 431, 461, 0, 0, 326, 494, 471, 413, + 325, 0, 455, 365, 381, 362, 429, 0, 493, 523, + 361, 513, 0, 504, 328, 0, 503, 428, 490, 495, + 414, 407, 0, 327, 492, 412, 406, 394, 371, 539, + 395, 396, 385, 443, 404, 444, 386, 418, 417, 419, + 0, 0, 0, 0, 0, 534, 535, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 667, 0, 0, 671, 0, 506, 0, 0, + 0, 0, 0, 0, 475, 0, 0, 397, 0, 0, + 0, 524, 0, 458, 434, 709, 0, 0, 456, 402, + 491, 445, 497, 478, 505, 450, 446, 315, 479, 364, + 415, 333, 335, 699, 366, 368, 372, 373, 424, 425, + 439, 463, 482, 483, 484, 363, 347, 457, 348, 382, + 349, 319, 355, 353, 356, 465, 357, 321, 440, 488, + 0, 378, 453, 410, 322, 409, 441, 487, 486, 334, + 514, 521, 522, 612, 0, 527, 710, 711, 712, 536, + 0, 447, 330, 329, 0, 0, 0, 359, 442, 343, + 345, 346, 344, 437, 438, 541, 542, 543, 545, 0, + 546, 547, 0, 0, 0, 0, 548, 316, 317, 318, + 613, 629, 597, 566, 529, 621, 563, 567, 568, 388, + 632, 0, 0, 0, 520, 398, 399, 0, 370, 369, + 411, 323, 0, 0, 376, 311, 312, 705, 360, 430, + 634, 669, 670, 559, 0, 622, 560, 569, 352, 594, + 606, 605, 426, 519, 0, 617, 620, 549, 704, 0, + 614, 628, 708, 627, 701, 436, 0, 462, 625, 572, + 0, 618, 591, 592, 0, 619, 587, 623, 0, 561, + 0, 530, 533, 562, 647, 648, 649, 320, 532, 651, + 652, 653, 654, 655, 656, 657, 650, 502, 595, 571, + 598, 511, 574, 573, 0, 0, 609, 528, 610, 611, + 420, 421, 422, 423, 380, 635, 341, 531, 449, 0, + 596, 0, 0, 0, 0, 0, 0, 0, 0, 601, + 602, 599, 713, 0, 658, 659, 0, 0, 525, 526, + 375, 0, 544, 383, 340, 435, 377, 509, 392, 0, + 537, 603, 538, 451, 452, 661, 666, 662, 663, 665, + 685, 427, 387, 389, 466, 393, 403, 454, 508, 433, + 459, 338, 498, 468, 408, 588, 616, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 640, 639, 638, - 637, 636, 635, 634, 633, 0, 0, 582, 482, 351, - 305, 347, 348, 355, 699, 695, 661, 700, 683, 686, - 685, 0, 313, 562, 398, 445, 371, 627, 628, 0, - 681, 259, 260, 261, 262, 263, 264, 265, 266, 306, - 267, 268, 269, 270, 271, 272, 273, 276, 277, 278, - 279, 280, 281, 282, 283, 630, 274, 275, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 0, 0, 0, 0, 307, 687, 688, 689, - 690, 691, 0, 0, 308, 309, 310, 0, 0, 300, - 473, 301, 302, 303, 304, 0, 0, 512, 513, 514, - 537, 0, 515, 497, 561, 381, 314, 477, 504, 697, - 0, 0, 0, 0, 0, 0, 0, 612, 623, 657, - 0, 669, 670, 672, 674, 673, 676, 470, 471, 684, - 0, 678, 679, 680, 677, 402, 457, 478, 464, 0, - 703, 552, 553, 704, 665, 429, 0, 0, 567, 601, - 590, 675, 555, 0, 0, 0, 0, 0, 2745, 0, - 0, 0, 0, 364, 0, 0, 397, 605, 586, 597, - 587, 572, 573, 574, 581, 376, 575, 576, 577, 547, - 578, 548, 579, 580, 0, 604, 554, 466, 413, 0, - 621, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 245, 0, 0, 2747, 0, 0, 0, 333, 246, - 549, 671, 551, 550, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 336, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 467, 496, 0, 509, 0, 387, 388, - 0, 0, 0, 0, 0, 0, 0, 321, 474, 493, - 334, 461, 507, 339, 469, 486, 329, 428, 458, 0, - 0, 323, 491, 468, 410, 322, 0, 452, 362, 378, - 359, 426, 0, 490, 520, 358, 510, 0, 501, 325, - 0, 500, 425, 487, 492, 411, 404, 0, 324, 489, - 409, 403, 391, 368, 536, 392, 393, 382, 440, 401, - 441, 383, 415, 414, 416, 0, 0, 0, 0, 0, - 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, - 668, 0, 503, 0, 0, 0, 0, 0, 0, 472, - 0, 0, 394, 0, 0, 0, 521, 0, 455, 431, - 706, 0, 0, 453, 399, 488, 442, 494, 475, 502, - 447, 443, 315, 476, 361, 412, 330, 332, 696, 363, - 365, 369, 370, 421, 422, 436, 460, 479, 480, 481, - 360, 344, 454, 345, 379, 346, 316, 352, 350, 353, - 462, 354, 318, 437, 485, 0, 375, 450, 407, 319, - 406, 438, 484, 483, 331, 511, 518, 519, 609, 0, - 524, 707, 708, 709, 533, 0, 444, 327, 326, 0, - 0, 0, 356, 439, 340, 342, 343, 341, 434, 435, - 538, 539, 540, 542, 0, 543, 544, 0, 0, 0, - 0, 545, 610, 626, 594, 563, 526, 618, 560, 564, - 565, 385, 629, 0, 0, 0, 517, 395, 396, 0, - 367, 366, 408, 320, 0, 0, 373, 311, 312, 702, - 357, 427, 631, 666, 667, 556, 0, 619, 557, 566, - 349, 591, 603, 602, 423, 516, 0, 614, 617, 546, - 701, 0, 611, 625, 705, 624, 698, 433, 0, 459, - 622, 569, 0, 615, 588, 589, 0, 616, 584, 620, - 0, 558, 0, 527, 530, 559, 644, 645, 646, 317, - 529, 648, 649, 650, 651, 652, 653, 654, 647, 499, - 592, 568, 595, 508, 571, 570, 0, 0, 606, 525, - 607, 608, 417, 418, 419, 420, 377, 632, 338, 528, - 446, 0, 593, 0, 0, 0, 0, 0, 0, 0, - 0, 598, 599, 596, 710, 0, 655, 656, 0, 0, - 522, 523, 372, 0, 541, 380, 337, 432, 374, 506, - 389, 0, 534, 600, 535, 448, 449, 658, 663, 659, - 660, 662, 682, 424, 384, 386, 463, 390, 400, 451, - 505, 430, 456, 335, 495, 465, 405, 585, 613, 0, + 0, 0, 0, 0, 643, 642, 641, 640, 639, 638, + 637, 636, 0, 0, 585, 485, 354, 305, 350, 351, + 358, 702, 698, 664, 703, 686, 689, 688, 0, 313, + 565, 401, 448, 374, 630, 631, 0, 684, 259, 260, + 261, 262, 263, 264, 265, 266, 306, 267, 268, 269, + 270, 271, 272, 273, 276, 277, 278, 279, 280, 281, + 282, 283, 633, 274, 275, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, + 0, 0, 0, 307, 690, 691, 692, 693, 694, 0, + 0, 308, 309, 310, 0, 0, 300, 476, 301, 302, + 303, 304, 0, 0, 515, 516, 517, 540, 0, 518, + 500, 564, 384, 314, 480, 507, 700, 0, 0, 0, + 0, 0, 0, 0, 615, 626, 660, 0, 672, 673, + 675, 677, 676, 679, 473, 474, 687, 0, 681, 682, + 683, 680, 405, 460, 481, 467, 0, 706, 555, 556, + 707, 668, 432, 0, 0, 570, 604, 593, 678, 558, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 367, 0, 0, 400, 608, 589, 600, 590, 575, 576, + 577, 584, 379, 578, 579, 580, 550, 581, 551, 582, + 583, 0, 607, 557, 469, 416, 0, 624, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 245, 1136, + 1137, 0, 0, 0, 0, 336, 246, 552, 674, 554, + 553, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1140, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 470, 499, 0, 512, 0, 390, 391, 0, 0, 0, + 0, 0, 0, 0, 324, 477, 496, 337, 464, 510, + 342, 472, 489, 332, 431, 461, 0, 0, 326, 494, + 471, 413, 325, 0, 455, 365, 381, 362, 429, 0, + 493, 523, 361, 513, 1108, 504, 328, 1107, 503, 428, + 490, 495, 414, 407, 0, 327, 492, 412, 406, 394, + 371, 539, 395, 396, 385, 443, 404, 444, 386, 418, + 417, 419, 0, 0, 0, 0, 0, 534, 535, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 667, 0, 0, 671, 0, 506, + 0, 0, 0, 0, 0, 0, 475, 0, 0, 397, + 0, 0, 0, 524, 0, 458, 434, 709, 0, 0, + 456, 402, 491, 445, 497, 478, 505, 450, 446, 315, + 479, 364, 415, 333, 335, 699, 366, 368, 372, 373, + 424, 425, 439, 463, 482, 483, 484, 363, 347, 457, + 348, 382, 349, 319, 355, 353, 356, 465, 357, 321, + 440, 488, 0, 378, 453, 410, 322, 409, 441, 487, + 486, 334, 514, 521, 522, 612, 0, 527, 710, 711, + 712, 536, 0, 447, 330, 329, 0, 0, 0, 359, + 442, 343, 345, 346, 344, 437, 438, 541, 542, 543, + 545, 0, 546, 547, 0, 0, 0, 0, 548, 316, + 317, 318, 613, 629, 597, 566, 529, 621, 563, 567, + 568, 388, 632, 0, 0, 0, 520, 398, 399, 0, + 370, 369, 411, 323, 0, 0, 376, 311, 312, 705, + 360, 430, 634, 669, 670, 559, 0, 622, 560, 569, + 352, 594, 606, 605, 426, 519, 0, 617, 620, 549, + 704, 0, 614, 628, 708, 627, 701, 436, 0, 462, + 625, 572, 0, 618, 591, 592, 0, 619, 587, 623, + 0, 561, 0, 530, 533, 562, 647, 648, 649, 320, + 532, 651, 652, 653, 654, 655, 656, 657, 650, 502, + 595, 571, 598, 511, 574, 573, 0, 0, 609, 528, + 610, 611, 420, 421, 422, 423, 380, 635, 341, 531, + 449, 0, 596, 0, 0, 0, 0, 0, 0, 0, + 0, 601, 602, 599, 713, 0, 658, 659, 0, 0, + 525, 526, 375, 0, 544, 383, 340, 435, 377, 509, + 392, 0, 537, 603, 538, 451, 452, 661, 666, 662, + 663, 665, 685, 1138, 2271, 1134, 2272, 393, 403, 454, + 508, 433, 459, 338, 498, 468, 1135, 588, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 640, 639, 638, 637, - 636, 635, 634, 633, 0, 0, 582, 482, 351, 305, - 347, 348, 355, 699, 695, 661, 700, 683, 686, 685, - 0, 313, 562, 398, 445, 371, 627, 628, 0, 681, + 0, 0, 0, 0, 0, 0, 643, 642, 641, 640, + 639, 638, 637, 636, 0, 0, 585, 485, 354, 305, + 350, 351, 358, 702, 698, 664, 703, 686, 689, 688, + 0, 313, 565, 401, 448, 374, 630, 631, 0, 684, 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, 278, 279, - 280, 281, 282, 283, 630, 274, 275, 284, 285, 286, + 280, 281, 282, 283, 633, 274, 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 0, 0, 0, 0, 307, 687, 688, 689, 690, - 691, 0, 0, 308, 309, 310, 0, 0, 300, 473, - 301, 302, 303, 304, 0, 0, 512, 513, 514, 537, - 0, 515, 497, 561, 381, 314, 477, 504, 697, 0, - 0, 0, 0, 0, 0, 0, 612, 623, 657, 0, - 669, 670, 672, 674, 673, 676, 470, 471, 684, 0, - 678, 679, 680, 677, 402, 457, 478, 464, 0, 703, - 552, 553, 704, 665, 429, 0, 0, 567, 601, 590, - 675, 555, 0, 0, 0, 0, 0, 2315, 0, 0, - 0, 0, 364, 0, 0, 397, 605, 586, 597, 587, - 572, 573, 574, 581, 376, 575, 576, 577, 547, 578, - 548, 579, 580, 0, 604, 554, 466, 413, 0, 621, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 245, 0, 0, 2316, 0, 0, 0, 333, 246, 549, - 671, 551, 550, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 467, 496, 0, 509, 0, 387, 388, 0, - 0, 0, 0, 0, 0, 0, 321, 474, 493, 334, - 461, 507, 339, 469, 486, 329, 428, 458, 0, 0, - 323, 491, 468, 410, 322, 0, 452, 362, 378, 359, - 426, 0, 490, 520, 358, 510, 0, 501, 325, 0, - 500, 425, 487, 492, 411, 404, 0, 324, 489, 409, - 403, 391, 368, 536, 392, 393, 382, 440, 401, 441, - 383, 415, 414, 416, 0, 0, 0, 0, 0, 531, - 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 664, 0, 0, 668, - 0, 503, 0, 0, 0, 0, 0, 0, 472, 0, - 0, 394, 0, 0, 0, 521, 0, 455, 431, 706, - 0, 0, 453, 399, 488, 442, 494, 475, 502, 447, - 443, 315, 476, 361, 412, 330, 332, 696, 363, 365, - 369, 370, 421, 422, 436, 460, 479, 480, 481, 360, - 344, 454, 345, 379, 346, 316, 352, 350, 353, 462, - 354, 318, 437, 485, 0, 375, 450, 407, 319, 406, - 438, 484, 483, 331, 511, 518, 519, 609, 0, 524, - 707, 708, 709, 533, 0, 444, 327, 326, 0, 0, - 0, 356, 439, 340, 342, 343, 341, 434, 435, 538, - 539, 540, 542, 0, 543, 544, 0, 0, 0, 0, - 545, 610, 626, 594, 563, 526, 618, 560, 564, 565, - 385, 629, 0, 0, 0, 517, 395, 396, 0, 367, - 366, 408, 320, 0, 0, 373, 311, 312, 702, 357, - 427, 631, 666, 667, 556, 0, 619, 557, 566, 349, - 591, 603, 602, 423, 516, 0, 614, 617, 546, 701, - 0, 611, 625, 705, 624, 698, 433, 0, 459, 622, - 569, 0, 615, 588, 589, 0, 616, 584, 620, 0, - 558, 0, 527, 530, 559, 644, 645, 646, 317, 529, - 648, 649, 650, 651, 652, 653, 654, 647, 499, 592, - 568, 595, 508, 571, 570, 0, 0, 606, 525, 607, - 608, 417, 418, 419, 420, 377, 632, 338, 528, 446, - 0, 593, 0, 0, 0, 0, 0, 0, 0, 0, - 598, 599, 596, 710, 0, 655, 656, 0, 0, 522, - 523, 372, 0, 541, 380, 337, 432, 374, 506, 389, - 0, 534, 600, 535, 448, 449, 658, 663, 659, 660, - 662, 682, 424, 384, 386, 463, 390, 400, 451, 505, - 430, 456, 335, 495, 465, 405, 585, 613, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, - 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 640, 639, 638, 637, 636, - 635, 634, 633, 0, 0, 582, 482, 351, 305, 347, - 348, 355, 699, 695, 661, 700, 683, 686, 685, 0, - 313, 562, 398, 445, 371, 627, 628, 0, 681, 259, - 260, 261, 262, 263, 264, 265, 266, 306, 267, 268, - 269, 270, 271, 272, 273, 276, 277, 278, 279, 280, - 281, 282, 283, 630, 274, 275, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 0, 0, 0, 0, 307, 687, 688, 689, 690, 691, - 0, 0, 308, 309, 310, 0, 0, 300, 473, 301, - 302, 303, 304, 0, 0, 512, 513, 514, 537, 0, - 515, 497, 561, 381, 314, 477, 504, 697, 0, 0, - 0, 0, 0, 0, 0, 612, 623, 657, 0, 669, - 670, 672, 674, 673, 676, 470, 471, 684, 0, 678, - 679, 680, 677, 402, 457, 478, 464, 0, 703, 552, - 553, 704, 665, 429, 0, 0, 567, 601, 590, 675, - 555, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 364, 0, 0, 397, 605, 586, 597, 587, 572, - 573, 574, 581, 376, 575, 576, 577, 547, 578, 548, - 579, 580, 0, 604, 554, 466, 413, 0, 621, 0, + 297, 0, 0, 0, 0, 307, 690, 691, 692, 693, + 694, 0, 0, 308, 309, 310, 0, 0, 300, 476, + 301, 302, 303, 304, 0, 0, 515, 516, 517, 540, + 0, 518, 500, 564, 384, 314, 480, 507, 700, 0, + 0, 0, 0, 0, 0, 0, 615, 626, 660, 0, + 672, 673, 675, 677, 676, 679, 473, 474, 687, 0, + 681, 682, 683, 680, 405, 460, 481, 467, 0, 706, + 555, 556, 707, 668, 432, 0, 0, 570, 604, 593, + 678, 558, 0, 0, 3258, 0, 0, 0, 0, 0, + 0, 0, 367, 0, 0, 400, 608, 589, 600, 590, + 575, 576, 577, 584, 379, 578, 579, 580, 550, 581, + 551, 582, 583, 0, 607, 557, 469, 416, 0, 624, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 245, 0, 0, 0, 0, 0, 0, 336, 246, 552, + 674, 554, 553, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 339, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 470, 499, 0, 512, 0, 390, 391, 0, + 0, 0, 0, 0, 0, 0, 324, 477, 496, 337, + 464, 510, 342, 472, 489, 332, 431, 461, 0, 0, + 326, 494, 471, 413, 325, 0, 455, 365, 381, 362, + 429, 0, 493, 523, 361, 513, 0, 504, 328, 0, + 503, 428, 490, 495, 414, 407, 0, 327, 492, 412, + 406, 394, 371, 539, 395, 396, 385, 443, 404, 444, + 386, 418, 417, 419, 0, 0, 0, 0, 0, 534, + 535, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3261, 0, 0, 0, 0, 3260, 667, 0, 0, 671, + 0, 506, 0, 0, 0, 0, 0, 0, 475, 0, + 0, 397, 0, 0, 0, 524, 0, 458, 434, 709, + 0, 0, 456, 402, 491, 445, 497, 478, 505, 450, + 446, 315, 479, 364, 415, 333, 335, 699, 366, 368, + 372, 373, 424, 425, 439, 463, 482, 483, 484, 363, + 347, 457, 348, 382, 349, 319, 355, 353, 356, 465, + 357, 321, 440, 488, 0, 378, 453, 410, 322, 409, + 441, 487, 486, 334, 514, 521, 522, 612, 0, 527, + 710, 711, 712, 536, 0, 447, 330, 329, 0, 0, + 0, 359, 442, 343, 345, 346, 344, 437, 438, 541, + 542, 543, 545, 0, 546, 547, 0, 0, 0, 0, + 548, 316, 317, 318, 613, 629, 597, 566, 529, 621, + 563, 567, 568, 388, 632, 0, 0, 0, 520, 398, + 399, 0, 370, 369, 411, 323, 0, 0, 376, 311, + 312, 705, 360, 430, 634, 669, 670, 559, 0, 622, + 560, 569, 352, 594, 606, 605, 426, 519, 0, 617, + 620, 549, 704, 0, 614, 628, 708, 627, 701, 436, + 0, 462, 625, 572, 0, 618, 591, 592, 0, 619, + 587, 623, 0, 561, 0, 530, 533, 562, 647, 648, + 649, 320, 532, 651, 652, 653, 654, 655, 656, 657, + 650, 502, 595, 571, 598, 511, 574, 573, 0, 0, + 609, 528, 610, 611, 420, 421, 422, 423, 380, 635, + 341, 531, 449, 0, 596, 0, 0, 0, 0, 0, + 0, 0, 0, 601, 602, 599, 713, 0, 658, 659, + 0, 0, 525, 526, 375, 0, 544, 383, 340, 435, + 377, 509, 392, 0, 537, 603, 538, 451, 452, 661, + 666, 662, 663, 665, 685, 427, 387, 389, 466, 393, + 403, 454, 508, 433, 459, 338, 498, 468, 408, 588, + 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 643, 642, + 641, 640, 639, 638, 637, 636, 0, 0, 585, 485, + 354, 305, 350, 351, 358, 702, 698, 664, 703, 686, + 689, 688, 0, 313, 565, 401, 448, 374, 630, 631, + 0, 684, 259, 260, 261, 262, 263, 264, 265, 266, + 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, + 278, 279, 280, 281, 282, 283, 633, 274, 275, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 0, 0, 0, 0, 307, 690, 691, + 692, 693, 694, 0, 0, 308, 309, 310, 0, 0, + 300, 476, 301, 302, 303, 304, 0, 0, 515, 516, + 517, 540, 0, 518, 500, 564, 384, 314, 480, 507, + 700, 0, 0, 0, 0, 0, 0, 0, 615, 626, + 660, 0, 672, 673, 675, 677, 676, 679, 473, 474, + 687, 0, 681, 682, 683, 680, 405, 460, 481, 467, + 0, 706, 555, 556, 707, 668, 432, 0, 0, 570, + 604, 593, 678, 558, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 367, 1683, 0, 400, 608, 589, + 600, 590, 575, 576, 577, 584, 379, 578, 579, 580, + 550, 581, 551, 582, 583, 0, 607, 557, 469, 416, + 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 245, 0, 0, 1681, 0, 0, 0, 336, + 246, 552, 674, 554, 553, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 339, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 470, 499, 0, 512, 0, 390, + 391, 1679, 0, 0, 0, 0, 0, 0, 324, 477, + 496, 337, 464, 510, 342, 472, 489, 332, 431, 461, + 0, 0, 326, 494, 471, 413, 325, 0, 455, 365, + 381, 362, 429, 0, 493, 523, 361, 513, 0, 504, + 328, 0, 503, 428, 490, 495, 414, 407, 0, 327, + 492, 412, 406, 394, 371, 539, 395, 396, 385, 443, + 404, 444, 386, 418, 417, 419, 0, 0, 0, 0, + 0, 534, 535, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 667, 0, + 0, 671, 0, 506, 0, 0, 0, 0, 0, 0, + 475, 0, 0, 397, 0, 0, 0, 524, 0, 458, + 434, 709, 0, 0, 456, 402, 491, 445, 497, 478, + 505, 450, 446, 315, 479, 364, 415, 333, 335, 699, + 366, 368, 372, 373, 424, 425, 439, 463, 482, 483, + 484, 363, 347, 457, 348, 382, 349, 319, 355, 353, + 356, 465, 357, 321, 440, 488, 0, 378, 453, 410, + 322, 409, 441, 487, 486, 334, 514, 521, 522, 612, + 0, 527, 710, 711, 712, 536, 0, 447, 330, 329, + 0, 0, 0, 359, 442, 343, 345, 346, 344, 437, + 438, 541, 542, 543, 545, 0, 546, 547, 0, 0, + 0, 0, 548, 316, 317, 318, 613, 629, 597, 566, + 529, 621, 563, 567, 568, 388, 632, 0, 0, 0, + 520, 398, 399, 0, 370, 369, 411, 323, 0, 0, + 376, 311, 312, 705, 360, 430, 634, 669, 670, 559, + 0, 622, 560, 569, 352, 594, 606, 605, 426, 519, + 0, 617, 620, 549, 704, 0, 614, 628, 708, 627, + 701, 436, 0, 462, 625, 572, 0, 618, 591, 592, + 0, 619, 587, 623, 0, 561, 0, 530, 533, 562, + 647, 648, 649, 320, 532, 651, 652, 653, 654, 655, + 656, 657, 650, 502, 595, 571, 598, 511, 574, 573, + 0, 0, 609, 528, 610, 611, 420, 421, 422, 423, + 380, 635, 341, 531, 449, 0, 596, 0, 0, 0, + 0, 0, 0, 0, 0, 601, 602, 599, 713, 0, + 658, 659, 0, 0, 525, 526, 375, 0, 544, 383, + 340, 435, 377, 509, 392, 0, 537, 603, 538, 451, + 452, 661, 666, 662, 663, 665, 685, 427, 387, 389, + 466, 393, 403, 454, 508, 433, 459, 338, 498, 468, + 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, - 0, 0, 3482, 3484, 0, 0, 333, 246, 549, 671, - 551, 550, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 336, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 467, 496, 0, 509, 0, 387, 388, 0, 0, - 0, 0, 0, 0, 0, 321, 474, 493, 334, 461, - 507, 339, 469, 486, 329, 428, 458, 0, 0, 323, - 491, 468, 410, 322, 0, 452, 362, 378, 359, 426, - 0, 490, 520, 358, 510, 0, 501, 325, 0, 500, - 425, 487, 492, 411, 404, 0, 324, 489, 409, 403, - 391, 368, 536, 392, 393, 382, 440, 401, 441, 383, - 415, 414, 416, 0, 0, 0, 0, 0, 531, 532, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 664, 0, 0, 668, 0, - 503, 0, 0, 0, 0, 0, 0, 472, 0, 0, - 394, 0, 0, 0, 521, 0, 455, 431, 706, 0, - 0, 453, 399, 488, 442, 494, 475, 502, 447, 443, - 315, 476, 361, 412, 330, 332, 696, 363, 365, 369, - 370, 421, 422, 436, 460, 479, 480, 481, 360, 344, - 454, 345, 379, 346, 316, 352, 350, 353, 462, 354, - 318, 437, 485, 0, 375, 450, 407, 319, 406, 438, - 484, 483, 331, 511, 518, 519, 609, 0, 524, 707, - 708, 709, 533, 0, 444, 327, 326, 0, 0, 0, - 356, 439, 340, 342, 343, 341, 434, 435, 538, 539, - 540, 542, 0, 543, 544, 0, 0, 0, 0, 545, - 610, 626, 594, 563, 526, 618, 560, 564, 565, 385, - 629, 0, 0, 0, 517, 395, 396, 0, 367, 366, - 408, 320, 0, 0, 373, 311, 312, 702, 357, 427, - 631, 666, 667, 556, 0, 619, 557, 566, 349, 591, - 603, 602, 423, 516, 0, 614, 617, 546, 701, 0, - 611, 625, 705, 624, 698, 433, 0, 459, 622, 569, - 0, 615, 588, 589, 0, 616, 584, 620, 0, 558, - 0, 527, 530, 559, 644, 645, 646, 317, 529, 648, - 649, 650, 651, 652, 653, 654, 647, 499, 592, 568, - 595, 508, 571, 570, 0, 0, 606, 525, 607, 608, - 417, 418, 419, 420, 377, 632, 338, 528, 446, 0, - 593, 0, 0, 0, 0, 0, 0, 0, 0, 598, - 599, 596, 710, 0, 655, 656, 0, 0, 522, 523, - 372, 0, 541, 380, 337, 432, 374, 506, 389, 0, - 534, 600, 535, 448, 449, 658, 663, 659, 660, 662, - 682, 424, 384, 386, 463, 390, 400, 451, 505, 430, - 456, 335, 495, 465, 405, 585, 613, 0, 0, 0, + 643, 642, 641, 640, 639, 638, 637, 636, 0, 0, + 585, 485, 354, 305, 350, 351, 358, 702, 698, 664, + 703, 686, 689, 688, 0, 313, 565, 401, 448, 374, + 630, 631, 0, 684, 259, 260, 261, 262, 263, 264, + 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, + 276, 277, 278, 279, 280, 281, 282, 283, 633, 274, + 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 0, 0, 0, 0, 307, + 690, 691, 692, 693, 694, 0, 0, 308, 309, 310, + 0, 0, 300, 476, 301, 302, 303, 304, 0, 0, + 515, 516, 517, 540, 0, 518, 500, 564, 384, 314, + 480, 507, 700, 0, 0, 0, 0, 0, 0, 0, + 615, 626, 660, 0, 672, 673, 675, 677, 676, 679, + 473, 474, 687, 0, 681, 682, 683, 680, 405, 460, + 481, 467, 0, 706, 555, 556, 707, 668, 432, 0, + 0, 570, 604, 593, 678, 558, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 367, 1677, 0, 400, + 608, 589, 600, 590, 575, 576, 577, 584, 379, 578, + 579, 580, 550, 581, 551, 582, 583, 0, 607, 557, + 469, 416, 0, 624, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 245, 0, 0, 1681, 0, 0, + 0, 336, 246, 552, 674, 554, 553, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 339, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 470, 499, 0, 512, + 0, 390, 391, 1679, 0, 0, 0, 0, 0, 0, + 324, 477, 496, 337, 464, 510, 342, 472, 489, 332, + 431, 461, 0, 0, 326, 494, 471, 413, 325, 0, + 455, 365, 381, 362, 429, 0, 493, 523, 361, 513, + 0, 504, 328, 0, 503, 428, 490, 495, 414, 407, + 0, 327, 492, 412, 406, 394, 371, 539, 395, 396, + 385, 443, 404, 444, 386, 418, 417, 419, 0, 0, + 0, 0, 0, 534, 535, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 667, 0, 0, 671, 0, 506, 0, 0, 0, 0, + 0, 0, 475, 0, 0, 397, 0, 0, 0, 524, + 0, 458, 434, 709, 0, 0, 456, 402, 491, 445, + 497, 478, 505, 450, 446, 315, 479, 364, 415, 333, + 335, 699, 366, 368, 372, 373, 424, 425, 439, 463, + 482, 483, 484, 363, 347, 457, 348, 382, 349, 319, + 355, 353, 356, 465, 357, 321, 440, 488, 0, 378, + 453, 410, 322, 409, 441, 487, 486, 334, 514, 521, + 522, 612, 0, 527, 710, 711, 712, 536, 0, 447, + 330, 329, 0, 0, 0, 359, 442, 343, 345, 346, + 344, 437, 438, 541, 542, 543, 545, 0, 546, 547, + 0, 0, 0, 0, 548, 316, 317, 318, 613, 629, + 597, 566, 529, 621, 563, 567, 568, 388, 632, 0, + 0, 0, 520, 398, 399, 0, 370, 369, 411, 323, + 0, 0, 376, 311, 312, 705, 360, 430, 634, 669, + 670, 559, 0, 622, 560, 569, 352, 594, 606, 605, + 426, 519, 0, 617, 620, 549, 704, 0, 614, 628, + 708, 627, 701, 436, 0, 462, 625, 572, 0, 618, + 591, 592, 0, 619, 587, 623, 0, 561, 0, 530, + 533, 562, 647, 648, 649, 320, 532, 651, 652, 653, + 654, 655, 656, 657, 650, 502, 595, 571, 598, 511, + 574, 573, 0, 0, 609, 528, 610, 611, 420, 421, + 422, 423, 380, 635, 341, 531, 449, 0, 596, 0, + 0, 0, 0, 0, 0, 0, 0, 601, 602, 599, + 713, 0, 658, 659, 0, 0, 525, 526, 375, 0, + 544, 383, 340, 435, 377, 509, 392, 0, 537, 603, + 538, 451, 452, 661, 666, 662, 663, 665, 685, 427, + 387, 389, 466, 393, 403, 454, 508, 433, 459, 338, + 498, 468, 408, 588, 616, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 643, 642, 641, 640, 639, 638, 637, 636, + 0, 0, 585, 485, 354, 305, 350, 351, 358, 702, + 698, 664, 703, 686, 689, 688, 0, 313, 565, 401, + 448, 374, 630, 631, 0, 684, 259, 260, 261, 262, + 263, 264, 265, 266, 306, 267, 268, 269, 270, 271, + 272, 273, 276, 277, 278, 279, 280, 281, 282, 283, + 633, 274, 275, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 0, 0, 0, + 0, 307, 690, 691, 692, 693, 694, 0, 0, 308, + 309, 310, 0, 0, 300, 476, 301, 302, 303, 304, + 0, 0, 515, 516, 517, 540, 0, 518, 500, 564, + 384, 314, 480, 507, 700, 0, 0, 0, 0, 0, + 0, 0, 615, 626, 660, 0, 672, 673, 675, 677, + 676, 679, 473, 474, 687, 0, 681, 682, 683, 680, + 405, 460, 481, 467, 0, 706, 555, 556, 707, 668, + 432, 0, 0, 570, 604, 593, 678, 558, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, + 0, 400, 608, 589, 600, 590, 575, 576, 577, 584, + 379, 578, 579, 580, 550, 581, 551, 582, 583, 0, + 607, 557, 469, 416, 0, 624, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4537, 0, 245, 919, 0, 0, + 0, 0, 0, 336, 246, 552, 674, 554, 553, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 339, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 470, 499, + 0, 512, 0, 390, 391, 0, 0, 0, 0, 0, + 0, 0, 324, 477, 496, 337, 464, 510, 342, 472, + 489, 332, 431, 461, 0, 0, 326, 494, 471, 413, + 325, 0, 455, 365, 381, 362, 429, 0, 493, 523, + 361, 513, 0, 504, 328, 0, 503, 428, 490, 495, + 414, 407, 0, 327, 492, 412, 406, 394, 371, 539, + 395, 396, 385, 443, 404, 444, 386, 418, 417, 419, + 0, 0, 0, 0, 0, 534, 535, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 667, 0, 0, 671, 0, 506, 0, 0, + 0, 0, 0, 0, 475, 0, 0, 397, 0, 0, + 0, 524, 0, 458, 434, 709, 0, 0, 456, 402, + 491, 445, 497, 478, 505, 450, 446, 315, 479, 364, + 415, 333, 335, 699, 366, 368, 372, 373, 424, 425, + 439, 463, 482, 483, 484, 363, 347, 457, 348, 382, + 349, 319, 355, 353, 356, 465, 357, 321, 440, 488, + 0, 378, 453, 410, 322, 409, 441, 487, 486, 334, + 514, 521, 522, 612, 0, 527, 710, 711, 712, 536, + 0, 447, 330, 329, 0, 0, 0, 359, 442, 343, + 345, 346, 344, 437, 438, 541, 542, 543, 545, 0, + 546, 547, 0, 0, 0, 0, 548, 316, 317, 318, + 613, 629, 597, 566, 529, 621, 563, 567, 568, 388, + 632, 0, 0, 0, 520, 398, 399, 0, 370, 369, + 411, 323, 0, 0, 376, 311, 312, 705, 360, 430, + 634, 669, 670, 559, 0, 622, 560, 569, 352, 594, + 606, 605, 426, 519, 0, 617, 620, 549, 704, 0, + 614, 628, 708, 627, 701, 436, 0, 462, 625, 572, + 0, 618, 591, 592, 0, 619, 587, 623, 0, 561, + 0, 530, 533, 562, 647, 648, 649, 320, 532, 651, + 652, 653, 654, 655, 656, 657, 650, 502, 595, 571, + 598, 511, 574, 573, 0, 0, 609, 528, 610, 611, + 420, 421, 422, 423, 380, 635, 341, 531, 449, 0, + 596, 0, 0, 0, 0, 0, 0, 0, 0, 601, + 602, 599, 713, 0, 658, 659, 0, 0, 525, 526, + 375, 0, 544, 383, 340, 435, 377, 509, 392, 0, + 537, 603, 538, 451, 452, 661, 666, 662, 663, 665, + 685, 427, 387, 389, 466, 393, 403, 454, 508, 433, + 459, 338, 498, 468, 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 640, 639, 638, 637, 636, 635, - 634, 633, 0, 0, 582, 482, 351, 305, 347, 348, - 355, 699, 695, 661, 700, 683, 686, 685, 0, 313, - 562, 398, 445, 371, 627, 628, 0, 681, 259, 260, + 0, 0, 0, 0, 643, 642, 641, 640, 639, 638, + 637, 636, 0, 0, 585, 485, 354, 305, 350, 351, + 358, 702, 698, 664, 703, 686, 689, 688, 0, 313, + 565, 401, 448, 374, 630, 631, 0, 684, 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, 278, 279, 280, 281, - 282, 283, 630, 274, 275, 284, 285, 286, 287, 288, + 282, 283, 633, 274, 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, - 0, 0, 0, 307, 687, 688, 689, 690, 691, 0, - 0, 308, 309, 310, 0, 0, 300, 473, 301, 302, - 303, 304, 0, 0, 512, 513, 514, 537, 0, 515, - 497, 561, 381, 314, 477, 504, 697, 0, 0, 0, - 0, 0, 0, 0, 612, 623, 657, 0, 669, 670, - 672, 674, 673, 676, 470, 471, 684, 0, 678, 679, - 680, 677, 402, 457, 478, 464, 0, 703, 552, 553, - 704, 665, 429, 0, 0, 567, 601, 590, 675, 555, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 364, 2768, 0, 397, 605, 586, 597, 587, 572, 573, - 574, 581, 376, 575, 576, 577, 547, 578, 548, 579, - 580, 0, 604, 554, 466, 413, 0, 621, 0, 0, + 0, 0, 0, 307, 690, 691, 692, 693, 694, 0, + 0, 308, 309, 310, 0, 0, 300, 476, 301, 302, + 303, 304, 0, 0, 515, 516, 517, 540, 0, 518, + 500, 564, 384, 314, 480, 507, 700, 0, 0, 0, + 0, 0, 0, 0, 615, 626, 660, 0, 672, 673, + 675, 677, 676, 679, 473, 474, 687, 0, 681, 682, + 683, 680, 405, 460, 481, 467, 0, 706, 555, 556, + 707, 668, 432, 0, 0, 570, 604, 593, 678, 558, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 367, 0, 0, 400, 608, 589, 600, 590, 575, 576, + 577, 584, 379, 578, 579, 580, 550, 581, 551, 582, + 583, 0, 607, 557, 469, 416, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, 0, - 0, 1678, 0, 0, 0, 333, 246, 549, 671, 551, - 550, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 467, 496, 0, 509, 0, 387, 388, 0, 0, 0, - 0, 0, 0, 0, 321, 474, 493, 334, 461, 507, - 339, 469, 486, 329, 428, 458, 0, 0, 323, 491, - 468, 410, 322, 0, 452, 362, 378, 359, 426, 0, - 490, 520, 358, 510, 0, 501, 325, 0, 500, 425, - 487, 492, 411, 404, 0, 324, 489, 409, 403, 391, - 368, 536, 392, 393, 382, 440, 401, 441, 383, 415, - 414, 416, 0, 0, 0, 0, 0, 531, 532, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 664, 0, 0, 668, 0, 503, - 0, 0, 0, 0, 0, 0, 472, 0, 0, 394, - 0, 0, 0, 521, 0, 455, 431, 706, 0, 0, - 453, 399, 488, 442, 494, 475, 502, 447, 443, 315, - 476, 361, 412, 330, 332, 696, 363, 365, 369, 370, - 421, 422, 436, 460, 479, 480, 481, 360, 344, 454, - 345, 379, 346, 316, 352, 350, 353, 462, 354, 318, - 437, 485, 0, 375, 450, 407, 319, 406, 438, 484, - 483, 331, 511, 518, 519, 609, 0, 524, 707, 708, - 709, 533, 0, 444, 327, 326, 0, 0, 0, 356, - 439, 340, 342, 343, 341, 434, 435, 538, 539, 540, - 542, 0, 543, 544, 0, 0, 0, 0, 545, 610, - 626, 594, 563, 526, 618, 560, 564, 565, 385, 629, - 0, 0, 0, 517, 395, 396, 0, 367, 366, 408, - 320, 0, 0, 373, 311, 312, 702, 357, 427, 631, - 666, 667, 556, 0, 619, 557, 566, 349, 591, 603, - 602, 423, 516, 0, 614, 617, 546, 701, 0, 611, - 625, 705, 624, 698, 433, 0, 459, 622, 569, 0, - 615, 588, 589, 0, 616, 584, 620, 0, 558, 0, - 527, 530, 559, 644, 645, 646, 317, 529, 648, 649, - 650, 651, 652, 653, 654, 647, 499, 592, 568, 595, - 508, 571, 570, 0, 0, 606, 525, 607, 608, 417, - 418, 419, 420, 377, 632, 338, 528, 446, 0, 593, - 0, 0, 0, 0, 0, 0, 0, 0, 598, 599, - 596, 710, 0, 655, 656, 0, 0, 522, 523, 372, - 0, 541, 380, 337, 432, 374, 506, 389, 0, 534, - 600, 535, 448, 449, 658, 663, 659, 660, 662, 682, - 424, 384, 386, 463, 390, 400, 451, 505, 430, 456, - 335, 495, 465, 405, 585, 613, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 298, 299, 0, + 0, 1681, 0, 0, 0, 336, 246, 552, 674, 554, + 553, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 339, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 470, 499, 0, 512, 0, 390, 391, 1679, 0, 0, + 0, 0, 0, 0, 324, 477, 496, 337, 464, 510, + 342, 472, 489, 332, 431, 461, 0, 0, 326, 494, + 471, 413, 325, 0, 455, 365, 381, 362, 429, 0, + 493, 523, 361, 513, 0, 504, 328, 0, 503, 428, + 490, 495, 414, 407, 0, 327, 492, 412, 406, 394, + 371, 539, 395, 396, 385, 443, 404, 444, 386, 418, + 417, 419, 0, 0, 0, 0, 0, 534, 535, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 667, 0, 0, 671, 0, 506, + 0, 0, 0, 0, 0, 0, 475, 0, 0, 397, + 0, 0, 0, 524, 0, 458, 434, 709, 0, 0, + 456, 402, 491, 445, 497, 478, 505, 450, 446, 315, + 479, 364, 415, 333, 335, 699, 366, 368, 372, 373, + 424, 425, 439, 463, 482, 483, 484, 363, 347, 457, + 348, 382, 349, 319, 355, 353, 356, 465, 357, 321, + 440, 488, 0, 378, 453, 410, 322, 409, 441, 487, + 486, 334, 514, 521, 522, 612, 0, 527, 710, 711, + 712, 536, 0, 447, 330, 329, 0, 0, 0, 359, + 442, 343, 345, 346, 344, 437, 438, 541, 542, 543, + 545, 0, 546, 547, 0, 0, 0, 0, 548, 316, + 317, 318, 613, 629, 597, 566, 529, 621, 563, 567, + 568, 388, 632, 0, 0, 0, 520, 398, 399, 0, + 370, 369, 411, 323, 0, 0, 376, 311, 312, 705, + 360, 430, 634, 669, 670, 559, 0, 622, 560, 569, + 352, 594, 606, 605, 426, 519, 0, 617, 620, 549, + 704, 0, 614, 628, 708, 627, 701, 436, 0, 462, + 625, 572, 0, 618, 591, 592, 0, 619, 587, 623, + 0, 561, 0, 530, 533, 562, 647, 648, 649, 320, + 532, 651, 652, 653, 654, 655, 656, 657, 650, 502, + 595, 571, 598, 511, 574, 573, 0, 0, 609, 528, + 610, 611, 420, 421, 422, 423, 380, 635, 341, 531, + 449, 0, 596, 0, 0, 0, 0, 0, 0, 0, + 0, 601, 602, 599, 713, 0, 658, 659, 0, 0, + 525, 526, 375, 0, 544, 383, 340, 435, 377, 509, + 392, 0, 537, 603, 538, 451, 452, 661, 666, 662, + 663, 665, 685, 427, 387, 389, 466, 393, 403, 454, + 508, 433, 459, 338, 498, 468, 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 640, 639, 638, 637, 636, 635, 634, - 633, 0, 0, 582, 482, 351, 305, 347, 348, 355, - 699, 695, 661, 700, 683, 686, 685, 0, 313, 562, - 398, 445, 371, 627, 628, 0, 681, 259, 260, 261, - 262, 263, 264, 265, 266, 306, 267, 268, 269, 270, - 271, 272, 273, 276, 277, 278, 279, 280, 281, 282, - 283, 630, 274, 275, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, - 0, 0, 307, 687, 688, 689, 690, 691, 0, 0, - 308, 309, 310, 0, 0, 300, 473, 301, 302, 303, - 304, 0, 0, 512, 513, 514, 537, 0, 515, 497, - 561, 381, 314, 477, 504, 697, 0, 0, 0, 0, - 0, 0, 0, 612, 623, 657, 0, 669, 670, 672, - 674, 673, 676, 470, 471, 684, 0, 678, 679, 680, - 677, 402, 457, 478, 464, 0, 703, 552, 553, 704, - 665, 429, 0, 0, 567, 601, 590, 675, 555, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 722, 364, - 0, 0, 397, 605, 586, 597, 587, 572, 573, 574, - 581, 376, 575, 576, 577, 547, 578, 548, 579, 580, - 0, 604, 554, 466, 413, 0, 621, 0, 0, 0, + 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 643, 642, 641, 640, + 639, 638, 637, 636, 0, 0, 585, 485, 354, 305, + 350, 351, 358, 702, 698, 664, 703, 686, 689, 688, + 0, 313, 565, 401, 448, 374, 630, 631, 0, 684, + 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, + 268, 269, 270, 271, 272, 273, 276, 277, 278, 279, + 280, 281, 282, 283, 633, 274, 275, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 0, 0, 0, 0, 307, 690, 691, 692, 693, + 694, 0, 0, 308, 309, 310, 0, 0, 300, 476, + 301, 302, 303, 304, 0, 0, 515, 516, 517, 540, + 0, 518, 500, 564, 384, 314, 480, 507, 700, 0, + 0, 0, 0, 0, 0, 0, 615, 626, 660, 0, + 672, 673, 675, 677, 676, 679, 473, 474, 687, 0, + 681, 682, 683, 680, 405, 460, 481, 467, 0, 706, + 555, 556, 707, 668, 432, 0, 0, 570, 604, 593, + 678, 558, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 367, 0, 0, 400, 608, 589, 600, 590, + 575, 576, 577, 584, 379, 578, 579, 580, 550, 581, + 551, 582, 583, 0, 607, 557, 469, 416, 0, 624, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 245, 0, 0, 1681, 0, 0, 0, 336, 246, 552, + 674, 554, 553, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 339, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 470, 499, 0, 512, 0, 390, 391, 1896, + 0, 0, 0, 0, 0, 0, 324, 477, 496, 337, + 464, 510, 342, 472, 489, 332, 431, 461, 0, 0, + 326, 494, 471, 413, 325, 0, 455, 365, 381, 362, + 429, 0, 493, 523, 361, 513, 0, 504, 328, 0, + 503, 428, 490, 495, 414, 407, 0, 327, 492, 412, + 406, 394, 371, 539, 395, 396, 385, 443, 404, 444, + 386, 418, 417, 419, 0, 0, 0, 0, 0, 534, + 535, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 667, 0, 0, 671, + 0, 506, 0, 0, 0, 0, 0, 0, 475, 0, + 0, 397, 0, 0, 0, 524, 0, 458, 434, 709, + 0, 0, 456, 402, 491, 445, 497, 478, 505, 450, + 446, 315, 479, 364, 415, 333, 335, 699, 366, 368, + 372, 373, 424, 425, 439, 463, 482, 483, 484, 363, + 347, 457, 348, 382, 349, 319, 355, 353, 356, 465, + 357, 321, 440, 488, 0, 378, 453, 410, 322, 409, + 441, 487, 486, 334, 514, 521, 522, 612, 0, 527, + 710, 711, 712, 536, 0, 447, 330, 329, 0, 0, + 0, 359, 442, 343, 345, 346, 344, 437, 438, 541, + 542, 543, 545, 0, 546, 547, 0, 0, 0, 0, + 548, 316, 317, 318, 613, 629, 597, 566, 529, 621, + 563, 567, 568, 388, 632, 0, 0, 0, 520, 398, + 399, 0, 370, 369, 411, 323, 0, 0, 376, 311, + 312, 705, 360, 430, 634, 669, 670, 559, 0, 622, + 560, 569, 352, 594, 606, 605, 426, 519, 0, 617, + 620, 549, 704, 0, 614, 628, 708, 627, 701, 436, + 0, 462, 625, 572, 0, 618, 591, 592, 0, 619, + 587, 623, 0, 561, 0, 530, 533, 562, 647, 648, + 649, 320, 532, 651, 652, 653, 654, 655, 656, 657, + 650, 502, 595, 571, 598, 511, 574, 573, 0, 0, + 609, 528, 610, 611, 420, 421, 422, 423, 380, 635, + 341, 531, 449, 0, 596, 0, 0, 0, 0, 0, + 0, 0, 0, 601, 602, 599, 713, 0, 658, 659, + 0, 0, 525, 526, 375, 0, 544, 383, 340, 435, + 377, 509, 392, 0, 537, 603, 538, 451, 452, 661, + 666, 662, 663, 665, 685, 427, 387, 389, 466, 393, + 403, 454, 508, 433, 459, 338, 498, 468, 408, 588, + 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 643, 642, + 641, 640, 639, 638, 637, 636, 0, 0, 585, 485, + 354, 305, 350, 351, 358, 702, 698, 664, 703, 686, + 689, 688, 0, 313, 565, 401, 448, 374, 630, 631, + 0, 684, 259, 260, 261, 262, 263, 264, 265, 266, + 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, + 278, 279, 280, 281, 282, 283, 633, 274, 275, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 0, 0, 0, 0, 307, 690, 691, + 692, 693, 694, 0, 0, 308, 309, 310, 0, 0, + 300, 476, 301, 302, 303, 304, 0, 0, 515, 516, + 517, 540, 0, 518, 500, 564, 384, 314, 480, 507, + 700, 0, 0, 0, 0, 0, 0, 0, 615, 626, + 660, 0, 672, 673, 675, 677, 676, 679, 473, 474, + 687, 0, 681, 682, 683, 680, 405, 460, 481, 467, + 0, 706, 555, 556, 707, 668, 432, 0, 0, 570, + 604, 593, 678, 558, 0, 0, 0, 0, 0, 2756, + 0, 0, 0, 0, 367, 0, 0, 400, 608, 589, + 600, 590, 575, 576, 577, 584, 379, 578, 579, 580, + 550, 581, 551, 582, 583, 0, 607, 557, 469, 416, + 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 245, 0, 0, 2758, 0, 0, 0, 336, + 246, 552, 674, 554, 553, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 339, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 470, 499, 0, 512, 0, 390, + 391, 0, 0, 0, 0, 0, 0, 0, 324, 477, + 496, 337, 464, 510, 342, 472, 489, 332, 431, 461, + 0, 0, 326, 494, 471, 413, 325, 0, 455, 365, + 381, 362, 429, 0, 493, 523, 361, 513, 0, 504, + 328, 0, 503, 428, 490, 495, 414, 407, 0, 327, + 492, 412, 406, 394, 371, 539, 395, 396, 385, 443, + 404, 444, 386, 418, 417, 419, 0, 0, 0, 0, + 0, 534, 535, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 667, 0, + 0, 671, 0, 506, 0, 0, 0, 0, 0, 0, + 475, 0, 0, 397, 0, 0, 0, 524, 0, 458, + 434, 709, 0, 0, 456, 402, 491, 445, 497, 478, + 505, 450, 446, 315, 479, 364, 415, 333, 335, 699, + 366, 368, 372, 373, 424, 425, 439, 463, 482, 483, + 484, 363, 347, 457, 348, 382, 349, 319, 355, 353, + 356, 465, 357, 321, 440, 488, 0, 378, 453, 410, + 322, 409, 441, 487, 486, 334, 514, 521, 522, 612, + 0, 527, 710, 711, 712, 536, 0, 447, 330, 329, + 0, 0, 0, 359, 442, 343, 345, 346, 344, 437, + 438, 541, 542, 543, 545, 0, 546, 547, 0, 0, + 0, 0, 548, 316, 317, 318, 613, 629, 597, 566, + 529, 621, 563, 567, 568, 388, 632, 0, 0, 0, + 520, 398, 399, 0, 370, 369, 411, 323, 0, 0, + 376, 311, 312, 705, 360, 430, 634, 669, 670, 559, + 0, 622, 560, 569, 352, 594, 606, 605, 426, 519, + 0, 617, 620, 549, 704, 0, 614, 628, 708, 627, + 701, 436, 0, 462, 625, 572, 0, 618, 591, 592, + 0, 619, 587, 623, 0, 561, 0, 530, 533, 562, + 647, 648, 649, 320, 532, 651, 652, 653, 654, 655, + 656, 657, 650, 502, 595, 571, 598, 511, 574, 573, + 0, 0, 609, 528, 610, 611, 420, 421, 422, 423, + 380, 635, 341, 531, 449, 0, 596, 0, 0, 0, + 0, 0, 0, 0, 0, 601, 602, 599, 713, 0, + 658, 659, 0, 0, 525, 526, 375, 0, 544, 383, + 340, 435, 377, 509, 392, 0, 537, 603, 538, 451, + 452, 661, 666, 662, 663, 665, 685, 427, 387, 389, + 466, 393, 403, 454, 508, 433, 459, 338, 498, 468, + 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 245, 0, 0, - 0, 0, 0, 0, 333, 246, 549, 671, 551, 550, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 336, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, - 496, 0, 509, 0, 387, 388, 0, 0, 0, 0, - 0, 0, 0, 321, 474, 493, 334, 461, 507, 339, - 469, 486, 329, 428, 458, 0, 0, 323, 491, 468, - 410, 322, 0, 452, 362, 378, 359, 426, 0, 490, - 520, 358, 510, 0, 501, 325, 0, 500, 425, 487, - 492, 411, 404, 0, 324, 489, 409, 403, 391, 368, - 536, 392, 393, 382, 440, 401, 441, 383, 415, 414, - 416, 0, 0, 0, 0, 0, 531, 532, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 664, 0, 0, 668, 0, 503, 0, - 1041, 0, 0, 0, 0, 472, 0, 0, 394, 0, - 0, 0, 521, 0, 455, 431, 706, 0, 0, 453, - 399, 488, 442, 494, 475, 502, 447, 443, 315, 476, - 361, 412, 330, 332, 696, 363, 365, 369, 370, 421, - 422, 436, 460, 479, 480, 481, 360, 344, 454, 345, - 379, 346, 316, 352, 350, 353, 462, 354, 318, 437, - 485, 0, 375, 450, 407, 319, 406, 438, 484, 483, - 331, 511, 518, 519, 609, 0, 524, 707, 708, 709, - 533, 0, 444, 327, 326, 0, 0, 0, 356, 439, - 340, 342, 343, 341, 434, 435, 538, 539, 540, 542, - 0, 543, 544, 0, 0, 0, 0, 545, 610, 626, - 594, 563, 526, 618, 560, 564, 565, 385, 629, 0, - 0, 0, 517, 395, 396, 0, 367, 366, 408, 320, - 0, 0, 373, 311, 312, 702, 357, 427, 631, 666, - 667, 556, 0, 619, 557, 566, 349, 591, 603, 602, - 423, 516, 0, 614, 617, 546, 701, 0, 611, 625, - 705, 624, 698, 433, 0, 459, 622, 569, 0, 615, - 588, 589, 0, 616, 584, 620, 0, 558, 0, 527, - 530, 559, 644, 645, 646, 317, 529, 648, 649, 650, - 651, 652, 653, 654, 647, 499, 592, 568, 595, 508, - 571, 570, 0, 0, 606, 525, 607, 608, 417, 418, - 419, 420, 377, 632, 338, 528, 446, 0, 593, 0, - 0, 0, 0, 0, 0, 0, 0, 598, 599, 596, - 710, 0, 655, 656, 0, 0, 522, 523, 372, 0, - 541, 380, 337, 432, 374, 506, 389, 0, 534, 600, - 535, 448, 449, 658, 663, 659, 660, 662, 682, 424, - 384, 386, 463, 390, 400, 451, 505, 430, 456, 335, - 495, 465, 405, 585, 613, 0, 0, 0, 0, 0, + 643, 642, 641, 640, 639, 638, 637, 636, 0, 0, + 585, 485, 354, 305, 350, 351, 358, 702, 698, 664, + 703, 686, 689, 688, 0, 313, 565, 401, 448, 374, + 630, 631, 0, 684, 259, 260, 261, 262, 263, 264, + 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, + 276, 277, 278, 279, 280, 281, 282, 283, 633, 274, + 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 0, 0, 0, 0, 307, + 690, 691, 692, 693, 694, 0, 0, 308, 309, 310, + 0, 0, 300, 476, 301, 302, 303, 304, 0, 0, + 515, 516, 517, 540, 0, 518, 500, 564, 384, 314, + 480, 507, 700, 0, 0, 0, 0, 0, 0, 0, + 615, 626, 660, 0, 672, 673, 675, 677, 676, 679, + 473, 474, 687, 0, 681, 682, 683, 680, 405, 460, + 481, 467, 0, 706, 555, 556, 707, 668, 432, 0, + 0, 570, 604, 593, 678, 558, 0, 0, 0, 0, + 0, 2322, 0, 0, 0, 0, 367, 0, 0, 400, + 608, 589, 600, 590, 575, 576, 577, 584, 379, 578, + 579, 580, 550, 581, 551, 582, 583, 0, 607, 557, + 469, 416, 0, 624, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 245, 0, 0, 2323, 0, 0, + 0, 336, 246, 552, 674, 554, 553, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 339, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 470, 499, 0, 512, + 0, 390, 391, 0, 0, 0, 0, 0, 0, 0, + 324, 477, 496, 337, 464, 510, 342, 472, 489, 332, + 431, 461, 0, 0, 326, 494, 471, 413, 325, 0, + 455, 365, 381, 362, 429, 0, 493, 523, 361, 513, + 0, 504, 328, 0, 503, 428, 490, 495, 414, 407, + 0, 327, 492, 412, 406, 394, 371, 539, 395, 396, + 385, 443, 404, 444, 386, 418, 417, 419, 0, 0, + 0, 0, 0, 534, 535, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 667, 0, 0, 671, 0, 506, 0, 0, 0, 0, + 0, 0, 475, 0, 0, 397, 0, 0, 0, 524, + 0, 458, 434, 709, 0, 0, 456, 402, 491, 445, + 497, 478, 505, 450, 446, 315, 479, 364, 415, 333, + 335, 699, 366, 368, 372, 373, 424, 425, 439, 463, + 482, 483, 484, 363, 347, 457, 348, 382, 349, 319, + 355, 353, 356, 465, 357, 321, 440, 488, 0, 378, + 453, 410, 322, 409, 441, 487, 486, 334, 514, 521, + 522, 612, 0, 527, 710, 711, 712, 536, 0, 447, + 330, 329, 0, 0, 0, 359, 442, 343, 345, 346, + 344, 437, 438, 541, 542, 543, 545, 0, 546, 547, + 0, 0, 0, 0, 548, 316, 317, 318, 613, 629, + 597, 566, 529, 621, 563, 567, 568, 388, 632, 0, + 0, 0, 520, 398, 399, 0, 370, 369, 411, 323, + 0, 0, 376, 311, 312, 705, 360, 430, 634, 669, + 670, 559, 0, 622, 560, 569, 352, 594, 606, 605, + 426, 519, 0, 617, 620, 549, 704, 0, 614, 628, + 708, 627, 701, 436, 0, 462, 625, 572, 0, 618, + 591, 592, 0, 619, 587, 623, 0, 561, 0, 530, + 533, 562, 647, 648, 649, 320, 532, 651, 652, 653, + 654, 655, 656, 657, 650, 502, 595, 571, 598, 511, + 574, 573, 0, 0, 609, 528, 610, 611, 420, 421, + 422, 423, 380, 635, 341, 531, 449, 0, 596, 0, + 0, 0, 0, 0, 0, 0, 0, 601, 602, 599, + 713, 0, 658, 659, 0, 0, 525, 526, 375, 0, + 544, 383, 340, 435, 377, 509, 392, 0, 537, 603, + 538, 451, 452, 661, 666, 662, 663, 665, 685, 427, + 387, 389, 466, 393, 403, 454, 508, 433, 459, 338, + 498, 468, 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 640, 639, 638, 637, 636, 635, 634, 633, - 0, 0, 582, 482, 351, 305, 347, 348, 355, 699, - 695, 661, 700, 683, 686, 685, 0, 313, 562, 398, - 445, 371, 627, 628, 0, 681, 259, 260, 261, 262, + 0, 0, 643, 642, 641, 640, 639, 638, 637, 636, + 0, 0, 585, 485, 354, 305, 350, 351, 358, 702, + 698, 664, 703, 686, 689, 688, 0, 313, 565, 401, + 448, 374, 630, 631, 0, 684, 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, 278, 279, 280, 281, 282, 283, - 630, 274, 275, 284, 285, 286, 287, 288, 289, 290, + 633, 274, 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 0, - 0, 307, 687, 688, 689, 690, 691, 0, 0, 308, - 309, 310, 0, 0, 300, 473, 301, 302, 303, 304, - 0, 0, 512, 513, 514, 537, 0, 515, 497, 561, - 381, 314, 477, 504, 697, 0, 0, 0, 0, 0, - 0, 0, 612, 623, 657, 0, 669, 670, 672, 674, - 673, 676, 470, 471, 684, 0, 678, 679, 680, 677, - 402, 457, 478, 464, 0, 703, 552, 553, 704, 665, - 429, 0, 0, 567, 601, 590, 675, 555, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 364, 0, - 0, 397, 605, 586, 597, 587, 572, 573, 574, 581, - 376, 575, 576, 577, 547, 578, 548, 579, 580, 0, - 604, 554, 466, 413, 0, 621, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 245, 916, 0, 0, - 0, 0, 0, 333, 246, 549, 671, 551, 550, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 336, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 467, 496, - 0, 509, 0, 387, 388, 0, 0, 0, 0, 0, - 0, 0, 321, 474, 493, 334, 461, 507, 339, 469, - 486, 329, 428, 458, 0, 0, 323, 491, 468, 410, - 322, 0, 452, 362, 378, 359, 426, 0, 490, 520, - 358, 510, 0, 501, 325, 0, 500, 425, 487, 492, - 411, 404, 0, 324, 489, 409, 403, 391, 368, 536, - 392, 393, 382, 440, 401, 441, 383, 415, 414, 416, - 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 664, 0, 0, 668, 0, 503, 0, 0, - 0, 0, 0, 0, 472, 0, 0, 394, 0, 0, - 0, 521, 0, 455, 431, 706, 0, 0, 453, 399, - 488, 442, 494, 475, 502, 447, 443, 315, 476, 361, - 412, 330, 332, 696, 363, 365, 369, 370, 421, 422, - 436, 460, 479, 480, 481, 360, 344, 454, 345, 379, - 346, 316, 352, 350, 353, 462, 354, 318, 437, 485, - 0, 375, 450, 407, 319, 406, 438, 484, 483, 331, - 511, 518, 519, 609, 0, 524, 707, 708, 709, 533, - 0, 444, 327, 326, 0, 0, 0, 356, 439, 340, - 342, 343, 341, 434, 435, 538, 539, 540, 542, 0, - 543, 544, 0, 0, 0, 0, 545, 610, 626, 594, - 563, 526, 618, 560, 564, 565, 385, 629, 0, 0, - 0, 517, 395, 396, 0, 367, 366, 408, 320, 0, - 0, 373, 311, 312, 702, 357, 427, 631, 666, 667, - 556, 0, 619, 557, 566, 349, 591, 603, 602, 423, - 516, 0, 614, 617, 546, 701, 0, 611, 625, 705, - 624, 698, 433, 0, 459, 622, 569, 0, 615, 588, - 589, 0, 616, 584, 620, 0, 558, 0, 527, 530, - 559, 644, 645, 646, 317, 529, 648, 649, 650, 651, - 652, 653, 654, 647, 499, 592, 568, 595, 508, 571, - 570, 0, 0, 606, 525, 607, 608, 417, 418, 419, - 420, 377, 632, 338, 528, 446, 0, 593, 0, 0, - 0, 0, 0, 0, 0, 0, 598, 599, 596, 710, - 0, 655, 656, 0, 0, 522, 523, 372, 0, 541, - 380, 337, 432, 374, 506, 389, 0, 534, 600, 535, - 448, 449, 658, 663, 659, 660, 662, 682, 424, 384, - 386, 463, 390, 400, 451, 505, 430, 456, 335, 495, - 465, 405, 585, 613, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 640, 639, 638, 637, 636, 635, 634, 633, 0, - 0, 582, 482, 351, 305, 347, 348, 355, 699, 695, - 661, 700, 683, 686, 685, 0, 313, 562, 398, 445, - 371, 627, 628, 0, 681, 259, 260, 261, 262, 263, - 264, 265, 266, 306, 267, 268, 269, 270, 271, 272, - 273, 276, 277, 278, 279, 280, 281, 282, 283, 630, - 274, 275, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, - 307, 687, 688, 689, 690, 691, 0, 0, 308, 309, - 310, 0, 0, 300, 473, 301, 302, 303, 304, 0, - 0, 512, 513, 514, 537, 0, 515, 497, 561, 381, - 314, 477, 504, 697, 0, 0, 0, 0, 0, 0, - 0, 612, 623, 657, 0, 669, 670, 672, 674, 673, - 676, 470, 471, 684, 0, 678, 679, 680, 677, 402, - 457, 478, 464, 0, 703, 552, 553, 704, 665, 429, - 0, 0, 567, 601, 590, 675, 555, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 364, 0, 0, - 397, 605, 586, 597, 587, 572, 573, 574, 581, 376, - 575, 576, 577, 547, 578, 548, 579, 580, 0, 604, - 554, 466, 413, 0, 621, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4497, 0, 0, 245, 0, 0, 0, 0, - 0, 0, 333, 246, 549, 671, 551, 550, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 336, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 467, 496, 0, - 509, 0, 387, 388, 0, 0, 0, 0, 0, 0, - 0, 321, 474, 493, 334, 461, 507, 339, 469, 486, - 329, 428, 458, 0, 0, 323, 491, 468, 410, 322, - 0, 452, 362, 378, 359, 426, 0, 490, 520, 358, - 510, 0, 501, 325, 0, 500, 425, 487, 492, 411, - 404, 0, 324, 489, 409, 403, 391, 368, 536, 392, - 393, 382, 440, 401, 441, 383, 415, 414, 416, 0, - 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 664, 0, 0, 668, 0, 503, 0, 0, 0, - 0, 0, 0, 472, 0, 0, 394, 0, 0, 0, - 521, 0, 455, 431, 706, 0, 0, 453, 399, 488, - 442, 494, 475, 502, 447, 443, 315, 476, 361, 412, - 330, 332, 696, 363, 365, 369, 370, 421, 422, 436, - 460, 479, 480, 481, 360, 344, 454, 345, 379, 346, - 316, 352, 350, 353, 462, 354, 318, 437, 485, 0, - 375, 450, 407, 319, 406, 438, 484, 483, 331, 511, - 518, 519, 609, 0, 524, 707, 708, 709, 533, 0, - 444, 327, 326, 0, 0, 0, 356, 439, 340, 342, - 343, 341, 434, 435, 538, 539, 540, 542, 0, 543, - 544, 0, 0, 0, 0, 545, 610, 626, 594, 563, - 526, 618, 560, 564, 565, 385, 629, 0, 0, 0, - 517, 395, 396, 0, 367, 366, 408, 320, 0, 0, - 373, 311, 312, 702, 357, 427, 631, 666, 667, 556, - 0, 619, 557, 566, 349, 591, 603, 602, 423, 516, - 0, 614, 617, 546, 701, 0, 611, 625, 705, 624, - 698, 433, 0, 459, 622, 569, 0, 615, 588, 589, - 0, 616, 584, 620, 0, 558, 0, 527, 530, 559, - 644, 645, 646, 317, 529, 648, 649, 650, 651, 652, - 653, 654, 647, 499, 592, 568, 595, 508, 571, 570, - 0, 0, 606, 525, 607, 608, 417, 418, 419, 420, - 377, 632, 338, 528, 446, 0, 593, 0, 0, 0, - 0, 0, 0, 0, 0, 598, 599, 596, 710, 0, - 655, 656, 0, 0, 522, 523, 372, 0, 541, 380, - 337, 432, 374, 506, 389, 0, 534, 600, 535, 448, - 449, 658, 663, 659, 660, 662, 682, 424, 384, 386, - 463, 390, 400, 451, 505, 430, 456, 335, 495, 465, - 405, 585, 613, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 640, 639, 638, 637, 636, 635, 634, 633, 0, 0, - 582, 482, 351, 305, 347, 348, 355, 699, 695, 661, - 700, 683, 686, 685, 0, 313, 562, 398, 445, 371, - 627, 628, 0, 681, 259, 260, 261, 262, 263, 264, - 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, - 276, 277, 278, 279, 280, 281, 282, 283, 630, 274, - 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 0, 0, 0, 0, 307, - 687, 688, 689, 690, 691, 0, 0, 308, 309, 310, - 0, 0, 300, 473, 301, 302, 303, 304, 0, 0, - 512, 513, 514, 537, 0, 515, 497, 561, 381, 314, - 477, 504, 697, 0, 0, 0, 0, 0, 0, 0, - 612, 623, 657, 0, 669, 670, 672, 674, 673, 676, - 470, 471, 684, 0, 678, 679, 680, 677, 402, 457, - 478, 464, 0, 703, 552, 553, 704, 665, 429, 0, - 0, 567, 601, 590, 675, 555, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 364, 0, 0, 397, - 605, 586, 597, 587, 572, 573, 574, 581, 376, 575, - 576, 577, 547, 578, 548, 579, 580, 0, 604, 554, - 466, 413, 0, 621, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 245, 0, 0, 4225, 0, 0, - 0, 333, 246, 549, 671, 551, 550, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 336, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 467, 496, 0, 509, - 0, 387, 388, 0, 0, 0, 0, 0, 0, 0, - 321, 474, 493, 334, 461, 507, 339, 469, 486, 329, - 428, 458, 0, 0, 323, 491, 468, 410, 322, 0, - 452, 362, 378, 359, 426, 0, 490, 520, 358, 510, - 0, 501, 325, 0, 500, 425, 487, 492, 411, 404, - 0, 324, 489, 409, 403, 391, 368, 536, 392, 393, - 382, 440, 401, 441, 383, 415, 414, 416, 0, 0, - 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 664, 0, 0, 668, 0, 503, 0, 0, 0, 0, - 0, 0, 472, 0, 0, 394, 0, 0, 0, 521, - 0, 455, 431, 706, 0, 0, 453, 399, 488, 442, - 494, 475, 502, 447, 443, 315, 476, 361, 412, 330, - 332, 696, 363, 365, 369, 370, 421, 422, 436, 460, - 479, 480, 481, 360, 344, 454, 345, 379, 346, 316, - 352, 350, 353, 462, 354, 318, 437, 485, 0, 375, - 450, 407, 319, 406, 438, 484, 483, 331, 511, 518, - 519, 609, 0, 524, 707, 708, 709, 533, 0, 444, - 327, 326, 0, 0, 0, 356, 439, 340, 342, 343, - 341, 434, 435, 538, 539, 540, 542, 0, 543, 544, - 0, 0, 0, 0, 545, 610, 626, 594, 563, 526, - 618, 560, 564, 565, 385, 629, 0, 0, 0, 517, - 395, 396, 0, 367, 366, 408, 320, 0, 0, 373, - 311, 312, 702, 357, 427, 631, 666, 667, 556, 0, - 619, 557, 566, 349, 591, 603, 602, 423, 516, 0, - 614, 617, 546, 701, 0, 611, 625, 705, 624, 698, - 433, 0, 459, 622, 569, 0, 615, 588, 589, 0, - 616, 584, 620, 0, 558, 0, 527, 530, 559, 644, - 645, 646, 317, 529, 648, 649, 650, 651, 652, 653, - 654, 647, 499, 592, 568, 595, 508, 571, 570, 0, - 0, 606, 525, 607, 608, 417, 418, 419, 420, 377, - 632, 338, 528, 446, 0, 593, 0, 0, 0, 0, - 0, 0, 0, 0, 598, 599, 596, 710, 0, 655, - 656, 0, 0, 522, 523, 372, 0, 541, 380, 337, - 432, 374, 506, 389, 0, 534, 600, 535, 448, 449, - 658, 663, 659, 660, 662, 682, 424, 384, 386, 463, - 390, 400, 451, 505, 430, 456, 335, 495, 465, 405, - 585, 613, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 640, - 639, 638, 637, 636, 635, 634, 633, 0, 0, 582, - 482, 351, 305, 347, 348, 355, 699, 695, 661, 700, - 683, 686, 685, 0, 313, 562, 398, 445, 371, 627, - 628, 0, 681, 259, 260, 261, 262, 263, 264, 265, - 266, 306, 267, 268, 269, 270, 271, 272, 273, 276, - 277, 278, 279, 280, 281, 282, 283, 630, 274, 275, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 0, 0, 0, 0, 307, 687, - 688, 689, 690, 691, 0, 0, 308, 309, 310, 0, - 0, 300, 473, 301, 302, 303, 304, 0, 0, 512, - 513, 514, 537, 0, 515, 497, 561, 381, 314, 477, - 504, 697, 0, 0, 0, 0, 0, 0, 0, 612, - 623, 657, 0, 669, 670, 672, 674, 673, 676, 470, - 471, 684, 0, 678, 679, 680, 677, 402, 457, 478, - 464, 0, 703, 552, 553, 704, 665, 429, 0, 0, - 567, 601, 590, 675, 555, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 364, 0, 0, 397, 605, - 586, 597, 587, 572, 573, 574, 581, 376, 575, 576, - 577, 547, 578, 548, 579, 580, 0, 604, 554, 466, - 413, 0, 621, 0, 0, 0, 0, 0, 0, 0, + 0, 307, 690, 691, 692, 693, 694, 0, 0, 308, + 309, 310, 0, 0, 300, 476, 301, 302, 303, 304, + 0, 0, 515, 516, 517, 540, 0, 518, 500, 564, + 384, 314, 480, 507, 700, 0, 0, 0, 0, 0, + 0, 0, 615, 626, 660, 0, 672, 673, 675, 677, + 676, 679, 473, 474, 687, 0, 681, 682, 683, 680, + 405, 460, 481, 467, 0, 706, 555, 556, 707, 668, + 432, 0, 0, 570, 604, 593, 678, 558, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, + 0, 400, 608, 589, 600, 590, 575, 576, 577, 584, + 379, 578, 579, 580, 550, 581, 551, 582, 583, 0, + 607, 557, 469, 416, 0, 624, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 245, 0, 0, 3496, + 3498, 0, 0, 336, 246, 552, 674, 554, 553, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 339, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 470, 499, + 0, 512, 0, 390, 391, 0, 0, 0, 0, 0, + 0, 0, 324, 477, 496, 337, 464, 510, 342, 472, + 489, 332, 431, 461, 0, 0, 326, 494, 471, 413, + 325, 0, 455, 365, 381, 362, 429, 0, 493, 523, + 361, 513, 0, 504, 328, 0, 503, 428, 490, 495, + 414, 407, 0, 327, 492, 412, 406, 394, 371, 539, + 395, 396, 385, 443, 404, 444, 386, 418, 417, 419, + 0, 0, 0, 0, 0, 534, 535, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 667, 0, 0, 671, 0, 506, 0, 0, + 0, 0, 0, 0, 475, 0, 0, 397, 0, 0, + 0, 524, 0, 458, 434, 709, 0, 0, 456, 402, + 491, 445, 497, 478, 505, 450, 446, 315, 479, 364, + 415, 333, 335, 699, 366, 368, 372, 373, 424, 425, + 439, 463, 482, 483, 484, 363, 347, 457, 348, 382, + 349, 319, 355, 353, 356, 465, 357, 321, 440, 488, + 0, 378, 453, 410, 322, 409, 441, 487, 486, 334, + 514, 521, 522, 612, 0, 527, 710, 711, 712, 536, + 0, 447, 330, 329, 0, 0, 0, 359, 442, 343, + 345, 346, 344, 437, 438, 541, 542, 543, 545, 0, + 546, 547, 0, 0, 0, 0, 548, 316, 317, 318, + 613, 629, 597, 566, 529, 621, 563, 567, 568, 388, + 632, 0, 0, 0, 520, 398, 399, 0, 370, 369, + 411, 323, 0, 0, 376, 311, 312, 705, 360, 430, + 634, 669, 670, 559, 0, 622, 560, 569, 352, 594, + 606, 605, 426, 519, 0, 617, 620, 549, 704, 0, + 614, 628, 708, 627, 701, 436, 0, 462, 625, 572, + 0, 618, 591, 592, 0, 619, 587, 623, 0, 561, + 0, 530, 533, 562, 647, 648, 649, 320, 532, 651, + 652, 653, 654, 655, 656, 657, 650, 502, 595, 571, + 598, 511, 574, 573, 0, 0, 609, 528, 610, 611, + 420, 421, 422, 423, 380, 635, 341, 531, 449, 0, + 596, 0, 0, 0, 0, 0, 0, 0, 0, 601, + 602, 599, 713, 0, 658, 659, 0, 0, 525, 526, + 375, 0, 544, 383, 340, 435, 377, 509, 392, 0, + 537, 603, 538, 451, 452, 661, 666, 662, 663, 665, + 685, 427, 387, 389, 466, 393, 403, 454, 508, 433, + 459, 338, 498, 468, 408, 588, 616, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 245, 0, 0, 0, 0, 0, 0, - 333, 246, 549, 671, 551, 550, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 336, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 467, 496, 0, 509, 0, - 387, 388, 0, 0, 0, 0, 0, 0, 0, 321, - 474, 493, 334, 461, 507, 339, 469, 486, 329, 428, - 458, 0, 0, 323, 491, 468, 410, 322, 0, 452, - 362, 378, 359, 426, 0, 490, 520, 358, 510, 0, - 501, 325, 0, 500, 425, 487, 492, 411, 404, 0, - 324, 489, 409, 403, 391, 368, 536, 392, 393, 382, - 440, 401, 441, 383, 415, 414, 416, 0, 0, 0, - 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, - 0, 0, 668, 0, 503, 0, 0, 0, 4395, 0, - 0, 472, 0, 0, 394, 0, 0, 0, 521, 0, - 455, 431, 706, 0, 0, 453, 399, 488, 442, 494, - 475, 502, 447, 443, 315, 476, 361, 412, 330, 332, - 696, 363, 365, 369, 370, 421, 422, 436, 460, 479, - 480, 481, 360, 344, 454, 345, 379, 346, 316, 352, - 350, 353, 462, 354, 318, 437, 485, 0, 375, 450, - 407, 319, 406, 438, 484, 483, 331, 511, 518, 519, - 609, 0, 524, 707, 708, 709, 533, 0, 444, 327, - 326, 0, 0, 0, 356, 439, 340, 342, 343, 341, - 434, 435, 538, 539, 540, 542, 0, 543, 544, 0, - 0, 0, 0, 545, 610, 626, 594, 563, 526, 618, - 560, 564, 565, 385, 629, 0, 0, 0, 517, 395, - 396, 0, 367, 366, 408, 320, 0, 0, 373, 311, - 312, 702, 357, 427, 631, 666, 667, 556, 0, 619, - 557, 566, 349, 591, 603, 602, 423, 516, 0, 614, - 617, 546, 701, 0, 611, 625, 705, 624, 698, 433, - 0, 459, 622, 569, 0, 615, 588, 589, 0, 616, - 584, 620, 0, 558, 0, 527, 530, 559, 644, 645, - 646, 317, 529, 648, 649, 650, 651, 652, 653, 654, - 647, 499, 592, 568, 595, 508, 571, 570, 0, 0, - 606, 525, 607, 608, 417, 418, 419, 420, 377, 632, - 338, 528, 446, 0, 593, 0, 0, 0, 0, 0, - 0, 0, 0, 598, 599, 596, 710, 0, 655, 656, - 0, 0, 522, 523, 372, 0, 541, 380, 337, 432, - 374, 506, 389, 0, 534, 600, 535, 448, 449, 658, - 663, 659, 660, 662, 682, 424, 384, 386, 463, 390, - 400, 451, 505, 430, 456, 335, 495, 465, 405, 585, - 613, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 640, 639, - 638, 637, 636, 635, 634, 633, 0, 0, 582, 482, - 351, 305, 347, 348, 355, 699, 695, 661, 700, 683, - 686, 685, 0, 313, 562, 398, 445, 371, 627, 628, - 0, 681, 259, 260, 261, 262, 263, 264, 265, 266, - 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, - 278, 279, 280, 281, 282, 283, 630, 274, 275, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 0, 0, 0, 0, 307, 687, 688, - 689, 690, 691, 0, 0, 308, 309, 310, 0, 0, - 300, 473, 301, 302, 303, 304, 0, 0, 512, 513, - 514, 537, 0, 515, 497, 561, 381, 314, 477, 504, - 697, 0, 0, 0, 0, 0, 0, 0, 612, 623, - 657, 0, 669, 670, 672, 674, 673, 676, 470, 471, - 684, 0, 678, 679, 680, 677, 402, 457, 478, 464, - 0, 703, 552, 553, 704, 665, 429, 0, 0, 567, - 601, 590, 675, 555, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 364, 0, 0, 397, 605, 586, - 597, 587, 572, 573, 574, 581, 376, 575, 576, 577, - 547, 578, 548, 579, 580, 0, 604, 554, 466, 413, - 0, 621, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1907, - 0, 0, 245, 0, 0, 0, 0, 0, 0, 333, - 246, 549, 671, 551, 550, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 336, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 467, 496, 0, 509, 0, 387, - 388, 0, 0, 0, 0, 0, 0, 0, 321, 474, - 493, 334, 461, 507, 339, 469, 486, 329, 428, 458, - 0, 0, 323, 491, 468, 410, 322, 0, 452, 362, - 378, 359, 426, 0, 490, 520, 358, 510, 0, 501, - 325, 0, 500, 425, 487, 492, 411, 404, 0, 324, - 489, 409, 403, 391, 368, 536, 392, 393, 382, 440, - 401, 441, 383, 415, 414, 416, 0, 0, 0, 0, - 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, - 0, 668, 0, 503, 0, 0, 0, 0, 0, 0, - 472, 0, 0, 394, 0, 0, 0, 521, 0, 455, - 431, 706, 0, 0, 453, 399, 488, 442, 494, 475, - 502, 447, 443, 315, 476, 361, 412, 330, 332, 696, - 363, 365, 369, 370, 421, 422, 436, 460, 479, 480, - 481, 360, 344, 454, 345, 379, 346, 316, 352, 350, - 353, 462, 354, 318, 437, 485, 0, 375, 450, 407, - 319, 406, 438, 484, 483, 331, 511, 518, 519, 609, - 0, 524, 707, 708, 709, 533, 0, 444, 327, 326, - 0, 0, 0, 356, 439, 340, 342, 343, 341, 434, - 435, 538, 539, 540, 542, 0, 543, 544, 0, 0, - 0, 0, 545, 610, 626, 594, 563, 526, 618, 560, - 564, 565, 385, 629, 0, 0, 0, 517, 395, 396, - 0, 367, 366, 408, 320, 0, 0, 373, 311, 312, - 702, 357, 427, 631, 666, 667, 556, 0, 619, 557, - 566, 349, 591, 603, 602, 423, 516, 0, 614, 617, - 546, 701, 0, 611, 625, 705, 624, 698, 433, 0, - 459, 622, 569, 0, 615, 588, 589, 0, 616, 584, - 620, 0, 558, 0, 527, 530, 559, 644, 645, 646, - 317, 529, 648, 649, 650, 651, 652, 653, 654, 647, - 499, 592, 568, 595, 508, 571, 570, 0, 0, 606, - 525, 607, 608, 417, 418, 419, 420, 377, 632, 338, - 528, 446, 0, 593, 0, 0, 0, 0, 0, 0, - 0, 0, 598, 599, 596, 710, 0, 655, 656, 0, - 0, 522, 523, 372, 0, 541, 380, 337, 432, 374, - 506, 389, 0, 534, 600, 535, 448, 449, 658, 663, - 659, 660, 662, 682, 424, 384, 386, 463, 390, 400, - 451, 505, 430, 456, 335, 495, 465, 405, 585, 613, + 0, 0, 0, 0, 643, 642, 641, 640, 639, 638, + 637, 636, 0, 0, 585, 485, 354, 305, 350, 351, + 358, 702, 698, 664, 703, 686, 689, 688, 0, 313, + 565, 401, 448, 374, 630, 631, 0, 684, 259, 260, + 261, 262, 263, 264, 265, 266, 306, 267, 268, 269, + 270, 271, 272, 273, 276, 277, 278, 279, 280, 281, + 282, 283, 633, 274, 275, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, + 0, 0, 0, 307, 690, 691, 692, 693, 694, 0, + 0, 308, 309, 310, 0, 0, 300, 476, 301, 302, + 303, 304, 0, 0, 515, 516, 517, 540, 0, 518, + 500, 564, 384, 314, 480, 507, 700, 0, 0, 0, + 0, 0, 0, 0, 615, 626, 660, 0, 672, 673, + 675, 677, 676, 679, 473, 474, 687, 0, 681, 682, + 683, 680, 405, 460, 481, 467, 0, 706, 555, 556, + 707, 668, 432, 0, 0, 570, 604, 593, 678, 558, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 367, 2779, 0, 400, 608, 589, 600, 590, 575, 576, + 577, 584, 379, 578, 579, 580, 550, 581, 551, 582, + 583, 0, 607, 557, 469, 416, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 640, 639, 638, - 637, 636, 635, 634, 633, 0, 0, 582, 482, 351, - 305, 347, 348, 355, 699, 695, 661, 700, 683, 686, - 685, 0, 313, 562, 398, 445, 371, 627, 628, 0, - 681, 259, 260, 261, 262, 263, 264, 265, 266, 306, - 267, 268, 269, 270, 271, 272, 273, 276, 277, 278, - 279, 280, 281, 282, 283, 630, 274, 275, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 0, 0, 0, 0, 307, 687, 688, 689, - 690, 691, 0, 0, 308, 309, 310, 0, 0, 300, - 473, 301, 302, 303, 304, 0, 0, 512, 513, 514, - 537, 0, 515, 497, 561, 381, 314, 477, 504, 697, - 0, 0, 0, 0, 0, 0, 0, 612, 623, 657, - 0, 669, 670, 672, 674, 673, 676, 470, 471, 684, - 0, 678, 679, 680, 677, 402, 457, 478, 464, 0, - 703, 552, 553, 704, 665, 429, 0, 0, 567, 601, - 590, 675, 555, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 364, 0, 0, 397, 605, 586, 597, - 587, 572, 573, 574, 581, 376, 575, 576, 577, 547, - 578, 548, 579, 580, 0, 604, 554, 466, 413, 0, - 621, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 4240, - 0, 245, 0, 0, 0, 0, 0, 0, 333, 246, - 549, 671, 551, 550, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 336, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 467, 496, 0, 509, 0, 387, 388, - 0, 0, 0, 0, 0, 0, 0, 321, 474, 493, - 334, 461, 507, 339, 469, 486, 329, 428, 458, 0, - 0, 323, 491, 468, 410, 322, 0, 452, 362, 378, - 359, 426, 0, 490, 520, 358, 510, 0, 501, 325, - 0, 500, 425, 487, 492, 411, 404, 0, 324, 489, - 409, 403, 391, 368, 536, 392, 393, 382, 440, 401, - 441, 383, 415, 414, 416, 0, 0, 0, 0, 0, - 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, - 668, 0, 503, 0, 0, 0, 0, 0, 0, 472, - 0, 0, 394, 0, 0, 0, 521, 0, 455, 431, - 706, 0, 0, 453, 399, 488, 442, 494, 475, 502, - 447, 443, 315, 476, 361, 412, 330, 332, 696, 363, - 365, 369, 370, 421, 422, 436, 460, 479, 480, 481, - 360, 344, 454, 345, 379, 346, 316, 352, 350, 353, - 462, 354, 318, 437, 485, 0, 375, 450, 407, 319, - 406, 438, 484, 483, 331, 511, 518, 519, 609, 0, - 524, 707, 708, 709, 533, 0, 444, 327, 326, 0, - 0, 0, 356, 439, 340, 342, 343, 341, 434, 435, - 538, 539, 540, 542, 0, 543, 544, 0, 0, 0, - 0, 545, 610, 626, 594, 563, 526, 618, 560, 564, - 565, 385, 629, 0, 0, 0, 517, 395, 396, 0, - 367, 366, 408, 320, 0, 0, 373, 311, 312, 702, - 357, 427, 631, 666, 667, 556, 0, 619, 557, 566, - 349, 591, 603, 602, 423, 516, 0, 614, 617, 546, - 701, 0, 611, 625, 705, 624, 698, 433, 0, 459, - 622, 569, 0, 615, 588, 589, 0, 616, 584, 620, - 0, 558, 0, 527, 530, 559, 644, 645, 646, 317, - 529, 648, 649, 650, 651, 652, 653, 654, 647, 499, - 592, 568, 595, 508, 571, 570, 0, 0, 606, 525, - 607, 608, 417, 418, 419, 420, 377, 632, 338, 528, - 446, 0, 593, 0, 0, 0, 0, 0, 0, 0, - 0, 598, 599, 596, 710, 0, 655, 656, 0, 0, - 522, 523, 372, 0, 541, 380, 337, 432, 374, 506, - 389, 0, 534, 600, 535, 448, 449, 658, 663, 659, - 660, 662, 682, 424, 384, 386, 463, 390, 400, 451, - 505, 430, 456, 335, 495, 465, 405, 585, 613, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 245, 0, + 0, 1681, 0, 0, 0, 336, 246, 552, 674, 554, + 553, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 339, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 470, 499, 0, 512, 0, 390, 391, 0, 0, 0, + 0, 0, 0, 0, 324, 477, 496, 337, 464, 510, + 342, 472, 489, 332, 431, 461, 0, 0, 326, 494, + 471, 413, 325, 0, 455, 365, 381, 362, 429, 0, + 493, 523, 361, 513, 0, 504, 328, 0, 503, 428, + 490, 495, 414, 407, 0, 327, 492, 412, 406, 394, + 371, 539, 395, 396, 385, 443, 404, 444, 386, 418, + 417, 419, 0, 0, 0, 0, 0, 534, 535, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 667, 0, 0, 671, 0, 506, + 0, 0, 0, 0, 0, 0, 475, 0, 0, 397, + 0, 0, 0, 524, 0, 458, 434, 709, 0, 0, + 456, 402, 491, 445, 497, 478, 505, 450, 446, 315, + 479, 364, 415, 333, 335, 699, 366, 368, 372, 373, + 424, 425, 439, 463, 482, 483, 484, 363, 347, 457, + 348, 382, 349, 319, 355, 353, 356, 465, 357, 321, + 440, 488, 0, 378, 453, 410, 322, 409, 441, 487, + 486, 334, 514, 521, 522, 612, 0, 527, 710, 711, + 712, 536, 0, 447, 330, 329, 0, 0, 0, 359, + 442, 343, 345, 346, 344, 437, 438, 541, 542, 543, + 545, 0, 546, 547, 0, 0, 0, 0, 548, 316, + 317, 318, 613, 629, 597, 566, 529, 621, 563, 567, + 568, 388, 632, 0, 0, 0, 520, 398, 399, 0, + 370, 369, 411, 323, 0, 0, 376, 311, 312, 705, + 360, 430, 634, 669, 670, 559, 0, 622, 560, 569, + 352, 594, 606, 605, 426, 519, 0, 617, 620, 549, + 704, 0, 614, 628, 708, 627, 701, 436, 0, 462, + 625, 572, 0, 618, 591, 592, 0, 619, 587, 623, + 0, 561, 0, 530, 533, 562, 647, 648, 649, 320, + 532, 651, 652, 653, 654, 655, 656, 657, 650, 502, + 595, 571, 598, 511, 574, 573, 0, 0, 609, 528, + 610, 611, 420, 421, 422, 423, 380, 635, 341, 531, + 449, 0, 596, 0, 0, 0, 0, 0, 0, 0, + 0, 601, 602, 599, 713, 0, 658, 659, 0, 0, + 525, 526, 375, 0, 544, 383, 340, 435, 377, 509, + 392, 0, 537, 603, 538, 451, 452, 661, 666, 662, + 663, 665, 685, 427, 387, 389, 466, 393, 403, 454, + 508, 433, 459, 338, 498, 468, 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 640, 639, 638, 637, - 636, 635, 634, 633, 0, 0, 582, 482, 351, 305, - 347, 348, 355, 699, 695, 661, 700, 683, 686, 685, - 0, 313, 562, 398, 445, 371, 627, 628, 0, 681, + 0, 0, 0, 0, 0, 0, 643, 642, 641, 640, + 639, 638, 637, 636, 0, 0, 585, 485, 354, 305, + 350, 351, 358, 702, 698, 664, 703, 686, 689, 688, + 0, 313, 565, 401, 448, 374, 630, 631, 0, 684, 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, 278, 279, - 280, 281, 282, 283, 630, 274, 275, 284, 285, 286, + 280, 281, 282, 283, 633, 274, 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 0, 0, 0, 0, 307, 687, 688, 689, 690, - 691, 0, 0, 308, 309, 310, 0, 0, 300, 473, - 301, 302, 303, 304, 0, 0, 512, 513, 514, 537, - 0, 515, 497, 561, 381, 314, 477, 504, 697, 0, - 0, 0, 0, 0, 0, 0, 612, 623, 657, 0, - 669, 670, 672, 674, 673, 676, 470, 471, 684, 0, - 678, 679, 680, 677, 402, 457, 478, 464, 0, 703, - 552, 553, 704, 665, 429, 0, 0, 567, 601, 590, - 675, 555, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 364, 0, 0, 397, 605, 586, 597, 587, - 572, 573, 574, 581, 376, 575, 576, 577, 547, 578, - 548, 579, 580, 0, 604, 554, 466, 413, 0, 621, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 245, 0, 0, 0, 0, 0, 0, 333, 246, 549, - 671, 551, 550, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 467, 496, 0, 509, 0, 387, 388, 0, - 0, 0, 0, 0, 0, 0, 321, 474, 493, 334, - 461, 507, 339, 469, 486, 329, 428, 458, 0, 0, - 323, 491, 468, 410, 322, 0, 452, 362, 378, 359, - 426, 0, 490, 520, 358, 510, 0, 501, 325, 0, - 500, 425, 487, 492, 411, 404, 0, 324, 489, 409, - 403, 391, 368, 536, 392, 393, 382, 440, 401, 441, - 383, 415, 414, 416, 0, 0, 0, 0, 0, 531, - 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 664, 0, 0, 668, - 0, 503, 0, 0, 0, 4133, 0, 0, 472, 0, - 0, 394, 0, 0, 0, 521, 0, 455, 431, 706, - 0, 0, 453, 399, 488, 442, 494, 475, 502, 447, - 443, 315, 476, 361, 412, 330, 332, 696, 363, 365, - 369, 370, 421, 422, 436, 460, 479, 480, 481, 360, - 344, 454, 345, 379, 346, 316, 352, 350, 353, 462, - 354, 318, 437, 485, 0, 375, 450, 407, 319, 406, - 438, 484, 483, 331, 511, 518, 519, 609, 0, 524, - 707, 708, 709, 533, 0, 444, 327, 326, 0, 0, - 0, 356, 439, 340, 342, 343, 341, 434, 435, 538, - 539, 540, 542, 0, 543, 544, 0, 0, 0, 0, - 545, 610, 626, 594, 563, 526, 618, 560, 564, 565, - 385, 629, 0, 0, 0, 517, 395, 396, 0, 367, - 366, 408, 320, 0, 0, 373, 311, 312, 702, 357, - 427, 631, 666, 667, 556, 0, 619, 557, 566, 349, - 591, 603, 602, 423, 516, 0, 614, 617, 546, 701, - 0, 611, 625, 705, 624, 698, 433, 0, 459, 622, - 569, 0, 615, 588, 589, 0, 616, 584, 620, 0, - 558, 0, 527, 530, 559, 644, 645, 646, 317, 529, - 648, 649, 650, 651, 652, 653, 654, 647, 499, 592, - 568, 595, 508, 571, 570, 0, 0, 606, 525, 607, - 608, 417, 418, 419, 420, 377, 632, 338, 528, 446, - 0, 593, 0, 0, 0, 0, 0, 0, 0, 0, - 598, 599, 596, 710, 0, 655, 656, 0, 0, 522, - 523, 372, 0, 541, 380, 337, 432, 374, 506, 389, - 0, 534, 600, 535, 448, 449, 658, 663, 659, 660, - 662, 682, 424, 384, 386, 463, 390, 400, 451, 505, - 430, 456, 335, 495, 465, 405, 585, 613, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, - 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 640, 639, 638, 637, 636, - 635, 634, 633, 0, 0, 582, 482, 351, 305, 347, - 348, 355, 699, 695, 661, 700, 683, 686, 685, 0, - 313, 562, 398, 445, 371, 627, 628, 0, 681, 259, - 260, 261, 262, 263, 264, 265, 266, 306, 267, 268, - 269, 270, 271, 272, 273, 276, 277, 278, 279, 280, - 281, 282, 283, 630, 274, 275, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 0, 0, 0, 0, 307, 687, 688, 689, 690, 691, - 0, 0, 308, 309, 310, 0, 0, 300, 473, 301, - 302, 303, 304, 0, 0, 512, 513, 514, 537, 0, - 515, 497, 561, 381, 314, 477, 504, 697, 0, 0, - 0, 0, 0, 0, 0, 612, 623, 657, 0, 669, - 670, 672, 674, 673, 676, 470, 471, 684, 0, 678, - 679, 680, 677, 402, 457, 478, 464, 0, 703, 552, - 553, 704, 665, 429, 0, 0, 567, 601, 590, 675, - 555, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 364, 0, 0, 397, 605, 586, 597, 587, 572, - 573, 574, 581, 376, 575, 576, 577, 547, 578, 548, - 579, 580, 0, 604, 554, 466, 413, 0, 621, 0, + 297, 0, 0, 0, 0, 307, 690, 691, 692, 693, + 694, 0, 0, 308, 309, 310, 0, 0, 300, 476, + 301, 302, 303, 304, 0, 0, 515, 516, 517, 540, + 0, 518, 500, 564, 384, 314, 480, 507, 700, 0, + 0, 0, 0, 0, 0, 0, 615, 626, 660, 0, + 672, 673, 675, 677, 676, 679, 473, 474, 687, 0, + 681, 682, 683, 680, 405, 460, 481, 467, 0, 706, + 555, 556, 707, 668, 432, 0, 0, 570, 604, 593, + 678, 558, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 725, 367, 0, 0, 400, 608, 589, 600, 590, + 575, 576, 577, 584, 379, 578, 579, 580, 550, 581, + 551, 582, 583, 0, 607, 557, 469, 416, 0, 624, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 245, 0, 0, 0, 0, 0, 0, 336, 246, 552, + 674, 554, 553, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 339, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 470, 499, 0, 512, 0, 390, 391, 0, + 0, 0, 0, 0, 0, 0, 324, 477, 496, 337, + 464, 510, 342, 472, 489, 332, 431, 461, 0, 0, + 326, 494, 471, 413, 325, 0, 455, 365, 381, 362, + 429, 0, 493, 523, 361, 513, 0, 504, 328, 0, + 503, 428, 490, 495, 414, 407, 0, 327, 492, 412, + 406, 394, 371, 539, 395, 396, 385, 443, 404, 444, + 386, 418, 417, 419, 0, 0, 0, 0, 0, 534, + 535, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 667, 0, 0, 671, + 0, 506, 0, 1044, 0, 0, 0, 0, 475, 0, + 0, 397, 0, 0, 0, 524, 0, 458, 434, 709, + 0, 0, 456, 402, 491, 445, 497, 478, 505, 450, + 446, 315, 479, 364, 415, 333, 335, 699, 366, 368, + 372, 373, 424, 425, 439, 463, 482, 483, 484, 363, + 347, 457, 348, 382, 349, 319, 355, 353, 356, 465, + 357, 321, 440, 488, 0, 378, 453, 410, 322, 409, + 441, 487, 486, 334, 514, 521, 522, 612, 0, 527, + 710, 711, 712, 536, 0, 447, 330, 329, 0, 0, + 0, 359, 442, 343, 345, 346, 344, 437, 438, 541, + 542, 543, 545, 0, 546, 547, 0, 0, 0, 0, + 548, 316, 317, 318, 613, 629, 597, 566, 529, 621, + 563, 567, 568, 388, 632, 0, 0, 0, 520, 398, + 399, 0, 370, 369, 411, 323, 0, 0, 376, 311, + 312, 705, 360, 430, 634, 669, 670, 559, 0, 622, + 560, 569, 352, 594, 606, 605, 426, 519, 0, 617, + 620, 549, 704, 0, 614, 628, 708, 627, 701, 436, + 0, 462, 625, 572, 0, 618, 591, 592, 0, 619, + 587, 623, 0, 561, 0, 530, 533, 562, 647, 648, + 649, 320, 532, 651, 652, 653, 654, 655, 656, 657, + 650, 502, 595, 571, 598, 511, 574, 573, 0, 0, + 609, 528, 610, 611, 420, 421, 422, 423, 380, 635, + 341, 531, 449, 0, 596, 0, 0, 0, 0, 0, + 0, 0, 0, 601, 602, 599, 713, 0, 658, 659, + 0, 0, 525, 526, 375, 0, 544, 383, 340, 435, + 377, 509, 392, 0, 537, 603, 538, 451, 452, 661, + 666, 662, 663, 665, 685, 427, 387, 389, 466, 393, + 403, 454, 508, 433, 459, 338, 498, 468, 408, 588, + 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 643, 642, + 641, 640, 639, 638, 637, 636, 0, 0, 585, 485, + 354, 305, 350, 351, 358, 702, 698, 664, 703, 686, + 689, 688, 0, 313, 565, 401, 448, 374, 630, 631, + 0, 684, 259, 260, 261, 262, 263, 264, 265, 266, + 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, + 278, 279, 280, 281, 282, 283, 633, 274, 275, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 0, 0, 0, 0, 307, 690, 691, + 692, 693, 694, 0, 0, 308, 309, 310, 0, 0, + 300, 476, 301, 302, 303, 304, 0, 0, 515, 516, + 517, 540, 0, 518, 500, 564, 384, 314, 480, 507, + 700, 0, 0, 0, 0, 0, 0, 0, 615, 626, + 660, 0, 672, 673, 675, 677, 676, 679, 473, 474, + 687, 0, 681, 682, 683, 680, 405, 460, 481, 467, + 0, 706, 555, 556, 707, 668, 432, 0, 0, 570, + 604, 593, 678, 558, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 367, 0, 0, 400, 608, 589, + 600, 590, 575, 576, 577, 584, 379, 578, 579, 580, + 550, 581, 551, 582, 583, 0, 607, 557, 469, 416, + 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 245, 919, 0, 0, 0, 0, 0, 336, + 246, 552, 674, 554, 553, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 339, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 470, 499, 0, 512, 0, 390, + 391, 0, 0, 0, 0, 0, 0, 0, 324, 477, + 496, 337, 464, 510, 342, 472, 489, 332, 431, 461, + 0, 0, 326, 494, 471, 413, 325, 0, 455, 365, + 381, 362, 429, 0, 493, 523, 361, 513, 0, 504, + 328, 0, 503, 428, 490, 495, 414, 407, 0, 327, + 492, 412, 406, 394, 371, 539, 395, 396, 385, 443, + 404, 444, 386, 418, 417, 419, 0, 0, 0, 0, + 0, 534, 535, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 667, 0, + 0, 671, 0, 506, 0, 0, 0, 0, 0, 0, + 475, 0, 0, 397, 0, 0, 0, 524, 0, 458, + 434, 709, 0, 0, 456, 402, 491, 445, 497, 478, + 505, 450, 446, 315, 479, 364, 415, 333, 335, 699, + 366, 368, 372, 373, 424, 425, 439, 463, 482, 483, + 484, 363, 347, 457, 348, 382, 349, 319, 355, 353, + 356, 465, 357, 321, 440, 488, 0, 378, 453, 410, + 322, 409, 441, 487, 486, 334, 514, 521, 522, 612, + 0, 527, 710, 711, 712, 536, 0, 447, 330, 329, + 0, 0, 0, 359, 442, 343, 345, 346, 344, 437, + 438, 541, 542, 543, 545, 0, 546, 547, 0, 0, + 0, 0, 548, 316, 317, 318, 613, 629, 597, 566, + 529, 621, 563, 567, 568, 388, 632, 0, 0, 0, + 520, 398, 399, 0, 370, 369, 411, 323, 0, 0, + 376, 311, 312, 705, 360, 430, 634, 669, 670, 559, + 0, 622, 560, 569, 352, 594, 606, 605, 426, 519, + 0, 617, 620, 549, 704, 0, 614, 628, 708, 627, + 701, 436, 0, 462, 625, 572, 0, 618, 591, 592, + 0, 619, 587, 623, 0, 561, 0, 530, 533, 562, + 647, 648, 649, 320, 532, 651, 652, 653, 654, 655, + 656, 657, 650, 502, 595, 571, 598, 511, 574, 573, + 0, 0, 609, 528, 610, 611, 420, 421, 422, 423, + 380, 635, 341, 531, 449, 0, 596, 0, 0, 0, + 0, 0, 0, 0, 0, 601, 602, 599, 713, 0, + 658, 659, 0, 0, 525, 526, 375, 0, 544, 383, + 340, 435, 377, 509, 392, 0, 537, 603, 538, 451, + 452, 661, 666, 662, 663, 665, 685, 427, 387, 389, + 466, 393, 403, 454, 508, 433, 459, 338, 498, 468, + 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, - 0, 0, 3518, 0, 0, 0, 333, 246, 549, 671, - 551, 550, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 336, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 467, 496, 0, 509, 0, 387, 388, 0, 0, - 0, 0, 0, 0, 0, 321, 474, 493, 334, 461, - 507, 339, 469, 486, 329, 428, 458, 0, 0, 323, - 491, 468, 410, 322, 0, 452, 362, 378, 359, 426, - 0, 490, 520, 358, 510, 0, 501, 325, 0, 500, - 425, 487, 492, 411, 404, 0, 324, 489, 409, 403, - 391, 368, 536, 392, 393, 382, 440, 401, 441, 383, - 415, 414, 416, 0, 0, 0, 0, 0, 531, 532, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 664, 0, 0, 668, 0, - 503, 0, 0, 0, 0, 0, 0, 472, 0, 0, - 394, 0, 0, 0, 521, 0, 455, 431, 706, 0, - 0, 453, 399, 488, 442, 494, 475, 502, 447, 443, - 315, 476, 361, 412, 330, 332, 696, 363, 365, 369, - 370, 421, 422, 436, 460, 479, 480, 481, 360, 344, - 454, 345, 379, 346, 316, 352, 350, 353, 462, 354, - 318, 437, 485, 0, 375, 450, 407, 319, 406, 438, - 484, 483, 331, 511, 518, 519, 609, 0, 524, 707, - 708, 709, 533, 0, 444, 327, 326, 0, 0, 0, - 356, 439, 340, 342, 343, 341, 434, 435, 538, 539, - 540, 542, 0, 543, 544, 0, 0, 0, 0, 545, - 610, 626, 594, 563, 526, 618, 560, 564, 565, 385, - 629, 0, 0, 0, 517, 395, 396, 0, 367, 366, - 408, 320, 0, 0, 373, 311, 312, 702, 357, 427, - 631, 666, 667, 556, 0, 619, 557, 566, 349, 591, - 603, 602, 423, 516, 0, 614, 617, 546, 701, 0, - 611, 625, 705, 624, 698, 433, 0, 459, 622, 569, - 0, 615, 588, 589, 0, 616, 584, 620, 0, 558, - 0, 527, 530, 559, 644, 645, 646, 317, 529, 648, - 649, 650, 651, 652, 653, 654, 647, 499, 592, 568, - 595, 508, 571, 570, 0, 0, 606, 525, 607, 608, - 417, 418, 419, 420, 377, 632, 338, 528, 446, 0, - 593, 0, 0, 0, 0, 0, 0, 0, 0, 598, - 599, 596, 710, 0, 655, 656, 0, 0, 522, 523, - 372, 0, 541, 380, 337, 432, 374, 506, 389, 0, - 534, 600, 535, 448, 449, 658, 663, 659, 660, 662, - 682, 424, 384, 386, 463, 390, 400, 451, 505, 430, - 456, 335, 495, 465, 405, 585, 613, 0, 0, 0, + 643, 642, 641, 640, 639, 638, 637, 636, 0, 0, + 585, 485, 354, 305, 350, 351, 358, 702, 698, 664, + 703, 686, 689, 688, 0, 313, 565, 401, 448, 374, + 630, 631, 0, 684, 259, 260, 261, 262, 263, 264, + 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, + 276, 277, 278, 279, 280, 281, 282, 283, 633, 274, + 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 0, 0, 0, 0, 307, + 690, 691, 692, 693, 694, 0, 0, 308, 309, 310, + 0, 0, 300, 476, 301, 302, 303, 304, 0, 0, + 515, 516, 517, 540, 0, 518, 500, 564, 384, 314, + 480, 507, 700, 0, 0, 0, 0, 0, 0, 0, + 615, 626, 660, 0, 672, 673, 675, 677, 676, 679, + 473, 474, 687, 0, 681, 682, 683, 680, 405, 460, + 481, 467, 0, 706, 555, 556, 707, 668, 432, 0, + 0, 570, 604, 593, 678, 558, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 367, 0, 0, 400, + 608, 589, 600, 590, 575, 576, 577, 584, 379, 578, + 579, 580, 550, 581, 551, 582, 583, 0, 607, 557, + 469, 416, 0, 624, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 4513, 0, 0, 245, 0, 0, 0, 0, 0, + 0, 336, 246, 552, 674, 554, 553, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 339, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 470, 499, 0, 512, + 0, 390, 391, 0, 0, 0, 0, 0, 0, 0, + 324, 477, 496, 337, 464, 510, 342, 472, 489, 332, + 431, 461, 0, 0, 326, 494, 471, 413, 325, 0, + 455, 365, 381, 362, 429, 0, 493, 523, 361, 513, + 0, 504, 328, 0, 503, 428, 490, 495, 414, 407, + 0, 327, 492, 412, 406, 394, 371, 539, 395, 396, + 385, 443, 404, 444, 386, 418, 417, 419, 0, 0, + 0, 0, 0, 534, 535, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 667, 0, 0, 671, 0, 506, 0, 0, 0, 0, + 0, 0, 475, 0, 0, 397, 0, 0, 0, 524, + 0, 458, 434, 709, 0, 0, 456, 402, 491, 445, + 497, 478, 505, 450, 446, 315, 479, 364, 415, 333, + 335, 699, 366, 368, 372, 373, 424, 425, 439, 463, + 482, 483, 484, 363, 347, 457, 348, 382, 349, 319, + 355, 353, 356, 465, 357, 321, 440, 488, 0, 378, + 453, 410, 322, 409, 441, 487, 486, 334, 514, 521, + 522, 612, 0, 527, 710, 711, 712, 536, 0, 447, + 330, 329, 0, 0, 0, 359, 442, 343, 345, 346, + 344, 437, 438, 541, 542, 543, 545, 0, 546, 547, + 0, 0, 0, 0, 548, 316, 317, 318, 613, 629, + 597, 566, 529, 621, 563, 567, 568, 388, 632, 0, + 0, 0, 520, 398, 399, 0, 370, 369, 411, 323, + 0, 0, 376, 311, 312, 705, 360, 430, 634, 669, + 670, 559, 0, 622, 560, 569, 352, 594, 606, 605, + 426, 519, 0, 617, 620, 549, 704, 0, 614, 628, + 708, 627, 701, 436, 0, 462, 625, 572, 0, 618, + 591, 592, 0, 619, 587, 623, 0, 561, 0, 530, + 533, 562, 647, 648, 649, 320, 532, 651, 652, 653, + 654, 655, 656, 657, 650, 502, 595, 571, 598, 511, + 574, 573, 0, 0, 609, 528, 610, 611, 420, 421, + 422, 423, 380, 635, 341, 531, 449, 0, 596, 0, + 0, 0, 0, 0, 0, 0, 0, 601, 602, 599, + 713, 0, 658, 659, 0, 0, 525, 526, 375, 0, + 544, 383, 340, 435, 377, 509, 392, 0, 537, 603, + 538, 451, 452, 661, 666, 662, 663, 665, 685, 427, + 387, 389, 466, 393, 403, 454, 508, 433, 459, 338, + 498, 468, 408, 588, 616, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 643, 642, 641, 640, 639, 638, 637, 636, + 0, 0, 585, 485, 354, 305, 350, 351, 358, 702, + 698, 664, 703, 686, 689, 688, 0, 313, 565, 401, + 448, 374, 630, 631, 0, 684, 259, 260, 261, 262, + 263, 264, 265, 266, 306, 267, 268, 269, 270, 271, + 272, 273, 276, 277, 278, 279, 280, 281, 282, 283, + 633, 274, 275, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 0, 0, 0, + 0, 307, 690, 691, 692, 693, 694, 0, 0, 308, + 309, 310, 0, 0, 300, 476, 301, 302, 303, 304, + 0, 0, 515, 516, 517, 540, 0, 518, 500, 564, + 384, 314, 480, 507, 700, 0, 0, 0, 0, 0, + 0, 0, 615, 626, 660, 0, 672, 673, 675, 677, + 676, 679, 473, 474, 687, 0, 681, 682, 683, 680, + 405, 460, 481, 467, 0, 706, 555, 556, 707, 668, + 432, 0, 0, 570, 604, 593, 678, 558, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, + 0, 400, 608, 589, 600, 590, 575, 576, 577, 584, + 379, 578, 579, 580, 550, 581, 551, 582, 583, 0, + 607, 557, 469, 416, 0, 624, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 245, 0, 0, 4241, + 0, 0, 0, 336, 246, 552, 674, 554, 553, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 339, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 470, 499, + 0, 512, 0, 390, 391, 0, 0, 0, 0, 0, + 0, 0, 324, 477, 496, 337, 464, 510, 342, 472, + 489, 332, 431, 461, 0, 0, 326, 494, 471, 413, + 325, 0, 455, 365, 381, 362, 429, 0, 493, 523, + 361, 513, 0, 504, 328, 0, 503, 428, 490, 495, + 414, 407, 0, 327, 492, 412, 406, 394, 371, 539, + 395, 396, 385, 443, 404, 444, 386, 418, 417, 419, + 0, 0, 0, 0, 0, 534, 535, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 667, 0, 0, 671, 0, 506, 0, 0, + 0, 0, 0, 0, 475, 0, 0, 397, 0, 0, + 0, 524, 0, 458, 434, 709, 0, 0, 456, 402, + 491, 445, 497, 478, 505, 450, 446, 315, 479, 364, + 415, 333, 335, 699, 366, 368, 372, 373, 424, 425, + 439, 463, 482, 483, 484, 363, 347, 457, 348, 382, + 349, 319, 355, 353, 356, 465, 357, 321, 440, 488, + 0, 378, 453, 410, 322, 409, 441, 487, 486, 334, + 514, 521, 522, 612, 0, 527, 710, 711, 712, 536, + 0, 447, 330, 329, 0, 0, 0, 359, 442, 343, + 345, 346, 344, 437, 438, 541, 542, 543, 545, 0, + 546, 547, 0, 0, 0, 0, 548, 316, 317, 318, + 613, 629, 597, 566, 529, 621, 563, 567, 568, 388, + 632, 0, 0, 0, 520, 398, 399, 0, 370, 369, + 411, 323, 0, 0, 376, 311, 312, 705, 360, 430, + 634, 669, 670, 559, 0, 622, 560, 569, 352, 594, + 606, 605, 426, 519, 0, 617, 620, 549, 704, 0, + 614, 628, 708, 627, 701, 436, 0, 462, 625, 572, + 0, 618, 591, 592, 0, 619, 587, 623, 0, 561, + 0, 530, 533, 562, 647, 648, 649, 320, 532, 651, + 652, 653, 654, 655, 656, 657, 650, 502, 595, 571, + 598, 511, 574, 573, 0, 0, 609, 528, 610, 611, + 420, 421, 422, 423, 380, 635, 341, 531, 449, 0, + 596, 0, 0, 0, 0, 0, 0, 0, 0, 601, + 602, 599, 713, 0, 658, 659, 0, 0, 525, 526, + 375, 0, 544, 383, 340, 435, 377, 509, 392, 0, + 537, 603, 538, 451, 452, 661, 666, 662, 663, 665, + 685, 427, 387, 389, 466, 393, 403, 454, 508, 433, + 459, 338, 498, 468, 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 640, 639, 638, 637, 636, 635, - 634, 633, 0, 0, 582, 482, 351, 305, 347, 348, - 355, 699, 695, 661, 700, 683, 686, 685, 0, 313, - 562, 398, 445, 371, 627, 628, 0, 681, 259, 260, + 0, 0, 0, 0, 643, 642, 641, 640, 639, 638, + 637, 636, 0, 0, 585, 485, 354, 305, 350, 351, + 358, 702, 698, 664, 703, 686, 689, 688, 0, 313, + 565, 401, 448, 374, 630, 631, 0, 684, 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, 278, 279, 280, 281, - 282, 283, 630, 274, 275, 284, 285, 286, 287, 288, + 282, 283, 633, 274, 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, - 0, 0, 0, 307, 687, 688, 689, 690, 691, 0, - 0, 308, 309, 310, 0, 0, 300, 473, 301, 302, - 303, 304, 0, 0, 512, 513, 514, 537, 0, 515, - 497, 561, 381, 314, 477, 504, 697, 0, 0, 0, - 0, 0, 0, 0, 612, 623, 657, 0, 669, 670, - 672, 674, 673, 676, 470, 471, 684, 0, 678, 679, - 680, 677, 402, 457, 478, 464, 0, 703, 552, 553, - 704, 665, 429, 0, 0, 567, 601, 590, 675, 555, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 364, 0, 0, 397, 605, 586, 597, 587, 572, 573, - 574, 581, 376, 575, 576, 577, 547, 578, 548, 579, - 580, 0, 604, 554, 466, 413, 0, 621, 0, 0, + 0, 0, 0, 307, 690, 691, 692, 693, 694, 0, + 0, 308, 309, 310, 0, 0, 300, 476, 301, 302, + 303, 304, 0, 0, 515, 516, 517, 540, 0, 518, + 500, 564, 384, 314, 480, 507, 700, 0, 0, 0, + 0, 0, 0, 0, 615, 626, 660, 0, 672, 673, + 675, 677, 676, 679, 473, 474, 687, 0, 681, 682, + 683, 680, 405, 460, 481, 467, 0, 706, 555, 556, + 707, 668, 432, 0, 0, 570, 604, 593, 678, 558, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 367, 0, 0, 400, 608, 589, 600, 590, 575, 576, + 577, 584, 379, 578, 579, 580, 550, 581, 551, 582, + 583, 0, 607, 557, 469, 416, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, 0, - 0, 3978, 0, 0, 0, 333, 246, 549, 671, 551, - 550, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 467, 496, 0, 509, 0, 387, 388, 0, 0, 0, - 0, 0, 0, 0, 321, 474, 493, 334, 461, 507, - 339, 469, 486, 329, 428, 458, 0, 0, 323, 491, - 468, 410, 322, 0, 452, 362, 378, 359, 426, 0, - 490, 520, 358, 510, 0, 501, 325, 0, 500, 425, - 487, 492, 411, 404, 0, 324, 489, 409, 403, 391, - 368, 536, 392, 393, 382, 440, 401, 441, 383, 415, - 414, 416, 0, 0, 0, 0, 0, 531, 532, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 664, 0, 0, 668, 0, 503, - 0, 0, 0, 0, 0, 0, 472, 0, 0, 394, - 0, 0, 0, 521, 0, 455, 431, 706, 0, 0, - 453, 399, 488, 442, 494, 475, 502, 447, 443, 315, - 476, 361, 412, 330, 332, 696, 363, 365, 369, 370, - 421, 422, 436, 460, 479, 480, 481, 360, 344, 454, - 345, 379, 346, 316, 352, 350, 353, 462, 354, 318, - 437, 485, 0, 375, 450, 407, 319, 406, 438, 484, - 483, 331, 511, 518, 519, 609, 0, 524, 707, 708, - 709, 533, 0, 444, 327, 326, 0, 0, 0, 356, - 439, 340, 342, 343, 341, 434, 435, 538, 539, 540, - 542, 0, 543, 544, 0, 0, 0, 0, 545, 610, - 626, 594, 563, 526, 618, 560, 564, 565, 385, 629, - 0, 0, 0, 517, 395, 396, 0, 367, 366, 408, - 320, 0, 0, 373, 311, 312, 702, 357, 427, 631, - 666, 667, 556, 0, 619, 557, 566, 349, 591, 603, - 602, 423, 516, 0, 614, 617, 546, 701, 0, 611, - 625, 705, 624, 698, 433, 0, 459, 622, 569, 0, - 615, 588, 589, 0, 616, 584, 620, 0, 558, 0, - 527, 530, 559, 644, 645, 646, 317, 529, 648, 649, - 650, 651, 652, 653, 654, 647, 499, 592, 568, 595, - 508, 571, 570, 0, 0, 606, 525, 607, 608, 417, - 418, 419, 420, 377, 632, 338, 528, 446, 0, 593, - 0, 0, 0, 0, 0, 0, 0, 0, 598, 599, - 596, 710, 0, 655, 656, 0, 0, 522, 523, 372, - 0, 541, 380, 337, 432, 374, 506, 389, 0, 534, - 600, 535, 448, 449, 658, 663, 659, 660, 662, 682, - 424, 384, 386, 463, 390, 400, 451, 505, 430, 456, - 335, 495, 465, 405, 585, 613, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 298, 299, 0, + 0, 0, 0, 0, 0, 336, 246, 552, 674, 554, + 553, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 339, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 470, 499, 0, 512, 0, 390, 391, 0, 0, 0, + 0, 0, 0, 0, 324, 477, 496, 337, 464, 510, + 342, 472, 489, 332, 431, 461, 0, 0, 326, 494, + 471, 413, 325, 0, 455, 365, 381, 362, 429, 0, + 493, 523, 361, 513, 0, 504, 328, 0, 503, 428, + 490, 495, 414, 407, 0, 327, 492, 412, 406, 394, + 371, 539, 395, 396, 385, 443, 404, 444, 386, 418, + 417, 419, 0, 0, 0, 0, 0, 534, 535, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 667, 0, 0, 671, 0, 506, + 0, 0, 0, 4411, 0, 0, 475, 0, 0, 397, + 0, 0, 0, 524, 0, 458, 434, 709, 0, 0, + 456, 402, 491, 445, 497, 478, 505, 450, 446, 315, + 479, 364, 415, 333, 335, 699, 366, 368, 372, 373, + 424, 425, 439, 463, 482, 483, 484, 363, 347, 457, + 348, 382, 349, 319, 355, 353, 356, 465, 357, 321, + 440, 488, 0, 378, 453, 410, 322, 409, 441, 487, + 486, 334, 514, 521, 522, 612, 0, 527, 710, 711, + 712, 536, 0, 447, 330, 329, 0, 0, 0, 359, + 442, 343, 345, 346, 344, 437, 438, 541, 542, 543, + 545, 0, 546, 547, 0, 0, 0, 0, 548, 316, + 317, 318, 613, 629, 597, 566, 529, 621, 563, 567, + 568, 388, 632, 0, 0, 0, 520, 398, 399, 0, + 370, 369, 411, 323, 0, 0, 376, 311, 312, 705, + 360, 430, 634, 669, 670, 559, 0, 622, 560, 569, + 352, 594, 606, 605, 426, 519, 0, 617, 620, 549, + 704, 0, 614, 628, 708, 627, 701, 436, 0, 462, + 625, 572, 0, 618, 591, 592, 0, 619, 587, 623, + 0, 561, 0, 530, 533, 562, 647, 648, 649, 320, + 532, 651, 652, 653, 654, 655, 656, 657, 650, 502, + 595, 571, 598, 511, 574, 573, 0, 0, 609, 528, + 610, 611, 420, 421, 422, 423, 380, 635, 341, 531, + 449, 0, 596, 0, 0, 0, 0, 0, 0, 0, + 0, 601, 602, 599, 713, 0, 658, 659, 0, 0, + 525, 526, 375, 0, 544, 383, 340, 435, 377, 509, + 392, 0, 537, 603, 538, 451, 452, 661, 666, 662, + 663, 665, 685, 427, 387, 389, 466, 393, 403, 454, + 508, 433, 459, 338, 498, 468, 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 640, 639, 638, 637, 636, 635, 634, - 633, 0, 0, 582, 482, 351, 305, 347, 348, 355, - 699, 695, 661, 700, 683, 686, 685, 0, 313, 562, - 398, 445, 371, 627, 628, 0, 681, 259, 260, 261, - 262, 263, 264, 265, 266, 306, 267, 268, 269, 270, - 271, 272, 273, 276, 277, 278, 279, 280, 281, 282, - 283, 630, 274, 275, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, - 0, 0, 307, 687, 688, 689, 690, 691, 0, 0, - 308, 309, 310, 0, 0, 300, 473, 301, 302, 303, - 304, 0, 0, 512, 513, 514, 537, 0, 515, 497, - 561, 381, 314, 477, 504, 697, 0, 0, 0, 0, - 0, 0, 0, 612, 623, 657, 0, 669, 670, 672, - 674, 673, 676, 470, 471, 684, 0, 678, 679, 680, - 677, 402, 457, 478, 464, 0, 703, 552, 553, 704, - 665, 429, 0, 0, 567, 601, 590, 675, 555, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, - 0, 0, 397, 605, 586, 597, 587, 572, 573, 574, - 581, 376, 575, 576, 577, 547, 578, 548, 579, 580, - 0, 604, 554, 466, 413, 0, 621, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2243, 0, 0, 245, 0, 0, - 0, 0, 0, 0, 333, 246, 549, 671, 551, 550, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 336, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, - 496, 0, 509, 0, 387, 388, 0, 0, 0, 0, - 0, 0, 0, 321, 474, 493, 334, 461, 507, 339, - 469, 486, 329, 428, 458, 0, 0, 323, 491, 468, - 410, 322, 0, 452, 362, 378, 359, 426, 0, 490, - 520, 358, 510, 0, 501, 325, 0, 500, 425, 487, - 492, 411, 404, 0, 324, 489, 409, 403, 391, 368, - 536, 392, 393, 382, 440, 401, 441, 383, 415, 414, - 416, 0, 0, 0, 0, 0, 531, 532, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 664, 0, 0, 668, 0, 503, 0, - 0, 0, 0, 0, 0, 472, 0, 0, 394, 0, - 0, 0, 521, 0, 455, 431, 706, 0, 0, 453, - 399, 488, 442, 494, 475, 502, 447, 443, 315, 476, - 361, 412, 330, 332, 696, 363, 365, 369, 370, 421, - 422, 436, 460, 479, 480, 481, 360, 344, 454, 345, - 379, 346, 316, 352, 350, 353, 462, 354, 318, 437, - 485, 0, 375, 450, 407, 319, 406, 438, 484, 483, - 331, 511, 518, 519, 609, 0, 524, 707, 708, 709, - 533, 0, 444, 327, 326, 0, 0, 0, 356, 439, - 340, 342, 343, 341, 434, 435, 538, 539, 540, 542, - 0, 543, 544, 0, 0, 0, 0, 545, 610, 626, - 594, 563, 526, 618, 560, 564, 565, 385, 629, 0, - 0, 0, 517, 395, 396, 0, 367, 366, 408, 320, - 0, 0, 373, 311, 312, 702, 357, 427, 631, 666, - 667, 556, 0, 619, 557, 566, 349, 591, 603, 602, - 423, 516, 0, 614, 617, 546, 701, 0, 611, 625, - 705, 624, 698, 433, 0, 459, 622, 569, 0, 615, - 588, 589, 0, 616, 584, 620, 0, 558, 0, 527, - 530, 559, 644, 645, 646, 317, 529, 648, 649, 650, - 651, 652, 653, 654, 647, 499, 592, 568, 595, 508, - 571, 570, 0, 0, 606, 525, 607, 608, 417, 418, - 419, 420, 377, 632, 338, 528, 446, 0, 593, 0, - 0, 0, 0, 0, 0, 0, 0, 598, 599, 596, - 710, 0, 655, 656, 0, 0, 522, 523, 372, 0, - 541, 380, 337, 432, 374, 506, 389, 0, 534, 600, - 535, 448, 449, 658, 663, 659, 660, 662, 682, 424, - 384, 386, 463, 390, 400, 451, 505, 430, 456, 335, - 495, 465, 405, 585, 613, 0, 0, 0, 0, 0, + 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 643, 642, 641, 640, + 639, 638, 637, 636, 0, 0, 585, 485, 354, 305, + 350, 351, 358, 702, 698, 664, 703, 686, 689, 688, + 0, 313, 565, 401, 448, 374, 630, 631, 0, 684, + 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, + 268, 269, 270, 271, 272, 273, 276, 277, 278, 279, + 280, 281, 282, 283, 633, 274, 275, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 0, 0, 0, 0, 307, 690, 691, 692, 693, + 694, 0, 0, 308, 309, 310, 0, 0, 300, 476, + 301, 302, 303, 304, 0, 0, 515, 516, 517, 540, + 0, 518, 500, 564, 384, 314, 480, 507, 700, 0, + 0, 0, 0, 0, 0, 0, 615, 626, 660, 0, + 672, 673, 675, 677, 676, 679, 473, 474, 687, 0, + 681, 682, 683, 680, 405, 460, 481, 467, 0, 706, + 555, 556, 707, 668, 432, 0, 0, 570, 604, 593, + 678, 558, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 367, 0, 0, 400, 608, 589, 600, 590, + 575, 576, 577, 584, 379, 578, 579, 580, 550, 581, + 551, 582, 583, 0, 607, 557, 469, 416, 0, 624, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1910, 0, 0, + 245, 0, 0, 0, 0, 0, 0, 336, 246, 552, + 674, 554, 553, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 339, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 470, 499, 0, 512, 0, 390, 391, 0, + 0, 0, 0, 0, 0, 0, 324, 477, 496, 337, + 464, 510, 342, 472, 489, 332, 431, 461, 0, 0, + 326, 494, 471, 413, 325, 0, 455, 365, 381, 362, + 429, 0, 493, 523, 361, 513, 0, 504, 328, 0, + 503, 428, 490, 495, 414, 407, 0, 327, 492, 412, + 406, 394, 371, 539, 395, 396, 385, 443, 404, 444, + 386, 418, 417, 419, 0, 0, 0, 0, 0, 534, + 535, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 667, 0, 0, 671, + 0, 506, 0, 0, 0, 0, 0, 0, 475, 0, + 0, 397, 0, 0, 0, 524, 0, 458, 434, 709, + 0, 0, 456, 402, 491, 445, 497, 478, 505, 450, + 446, 315, 479, 364, 415, 333, 335, 699, 366, 368, + 372, 373, 424, 425, 439, 463, 482, 483, 484, 363, + 347, 457, 348, 382, 349, 319, 355, 353, 356, 465, + 357, 321, 440, 488, 0, 378, 453, 410, 322, 409, + 441, 487, 486, 334, 514, 521, 522, 612, 0, 527, + 710, 711, 712, 536, 0, 447, 330, 329, 0, 0, + 0, 359, 442, 343, 345, 346, 344, 437, 438, 541, + 542, 543, 545, 0, 546, 547, 0, 0, 0, 0, + 548, 316, 317, 318, 613, 629, 597, 566, 529, 621, + 563, 567, 568, 388, 632, 0, 0, 0, 520, 398, + 399, 0, 370, 369, 411, 323, 0, 0, 376, 311, + 312, 705, 360, 430, 634, 669, 670, 559, 0, 622, + 560, 569, 352, 594, 606, 605, 426, 519, 0, 617, + 620, 549, 704, 0, 614, 628, 708, 627, 701, 436, + 0, 462, 625, 572, 0, 618, 591, 592, 0, 619, + 587, 623, 0, 561, 0, 530, 533, 562, 647, 648, + 649, 320, 532, 651, 652, 653, 654, 655, 656, 657, + 650, 502, 595, 571, 598, 511, 574, 573, 0, 0, + 609, 528, 610, 611, 420, 421, 422, 423, 380, 635, + 341, 531, 449, 0, 596, 0, 0, 0, 0, 0, + 0, 0, 0, 601, 602, 599, 713, 0, 658, 659, + 0, 0, 525, 526, 375, 0, 544, 383, 340, 435, + 377, 509, 392, 0, 537, 603, 538, 451, 452, 661, + 666, 662, 663, 665, 685, 427, 387, 389, 466, 393, + 403, 454, 508, 433, 459, 338, 498, 468, 408, 588, + 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 643, 642, + 641, 640, 639, 638, 637, 636, 0, 0, 585, 485, + 354, 305, 350, 351, 358, 702, 698, 664, 703, 686, + 689, 688, 0, 313, 565, 401, 448, 374, 630, 631, + 0, 684, 259, 260, 261, 262, 263, 264, 265, 266, + 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, + 278, 279, 280, 281, 282, 283, 633, 274, 275, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 0, 0, 0, 0, 307, 690, 691, + 692, 693, 694, 0, 0, 308, 309, 310, 0, 0, + 300, 476, 301, 302, 303, 304, 0, 0, 515, 516, + 517, 540, 0, 518, 500, 564, 384, 314, 480, 507, + 700, 0, 0, 0, 0, 0, 0, 0, 615, 626, + 660, 0, 672, 673, 675, 677, 676, 679, 473, 474, + 687, 0, 681, 682, 683, 680, 405, 460, 481, 467, + 0, 706, 555, 556, 707, 668, 432, 0, 0, 570, + 604, 593, 678, 558, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 367, 0, 0, 400, 608, 589, + 600, 590, 575, 576, 577, 584, 379, 578, 579, 580, + 550, 581, 551, 582, 583, 0, 607, 557, 469, 416, + 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4256, 0, 245, 0, 0, 0, 0, 0, 0, 336, + 246, 552, 674, 554, 553, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 339, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 470, 499, 0, 512, 0, 390, + 391, 0, 0, 0, 0, 0, 0, 0, 324, 477, + 496, 337, 464, 510, 342, 472, 489, 332, 431, 461, + 0, 0, 326, 494, 471, 413, 325, 0, 455, 365, + 381, 362, 429, 0, 493, 523, 361, 513, 0, 504, + 328, 0, 503, 428, 490, 495, 414, 407, 0, 327, + 492, 412, 406, 394, 371, 539, 395, 396, 385, 443, + 404, 444, 386, 418, 417, 419, 0, 0, 0, 0, + 0, 534, 535, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 667, 0, + 0, 671, 0, 506, 0, 0, 0, 0, 0, 0, + 475, 0, 0, 397, 0, 0, 0, 524, 0, 458, + 434, 709, 0, 0, 456, 402, 491, 445, 497, 478, + 505, 450, 446, 315, 479, 364, 415, 333, 335, 699, + 366, 368, 372, 373, 424, 425, 439, 463, 482, 483, + 484, 363, 347, 457, 348, 382, 349, 319, 355, 353, + 356, 465, 357, 321, 440, 488, 0, 378, 453, 410, + 322, 409, 441, 487, 486, 334, 514, 521, 522, 612, + 0, 527, 710, 711, 712, 536, 0, 447, 330, 329, + 0, 0, 0, 359, 442, 343, 345, 346, 344, 437, + 438, 541, 542, 543, 545, 0, 546, 547, 0, 0, + 0, 0, 548, 316, 317, 318, 613, 629, 597, 566, + 529, 621, 563, 567, 568, 388, 632, 0, 0, 0, + 520, 398, 399, 0, 370, 369, 411, 323, 0, 0, + 376, 311, 312, 705, 360, 430, 634, 669, 670, 559, + 0, 622, 560, 569, 352, 594, 606, 605, 426, 519, + 0, 617, 620, 549, 704, 0, 614, 628, 708, 627, + 701, 436, 0, 462, 625, 572, 0, 618, 591, 592, + 0, 619, 587, 623, 0, 561, 0, 530, 533, 562, + 647, 648, 649, 320, 532, 651, 652, 653, 654, 655, + 656, 657, 650, 502, 595, 571, 598, 511, 574, 573, + 0, 0, 609, 528, 610, 611, 420, 421, 422, 423, + 380, 635, 341, 531, 449, 0, 596, 0, 0, 0, + 0, 0, 0, 0, 0, 601, 602, 599, 713, 0, + 658, 659, 0, 0, 525, 526, 375, 0, 544, 383, + 340, 435, 377, 509, 392, 0, 537, 603, 538, 451, + 452, 661, 666, 662, 663, 665, 685, 427, 387, 389, + 466, 393, 403, 454, 508, 433, 459, 338, 498, 468, + 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 643, 642, 641, 640, 639, 638, 637, 636, 0, 0, + 585, 485, 354, 305, 350, 351, 358, 702, 698, 664, + 703, 686, 689, 688, 0, 313, 565, 401, 448, 374, + 630, 631, 0, 684, 259, 260, 261, 262, 263, 264, + 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, + 276, 277, 278, 279, 280, 281, 282, 283, 633, 274, + 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 0, 0, 0, 0, 307, + 690, 691, 692, 693, 694, 0, 0, 308, 309, 310, + 0, 0, 300, 476, 301, 302, 303, 304, 0, 0, + 515, 516, 517, 540, 0, 518, 500, 564, 384, 314, + 480, 507, 700, 0, 0, 0, 0, 0, 0, 0, + 615, 626, 660, 0, 672, 673, 675, 677, 676, 679, + 473, 474, 687, 0, 681, 682, 683, 680, 405, 460, + 481, 467, 0, 706, 555, 556, 707, 668, 432, 0, + 0, 570, 604, 593, 678, 558, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 367, 0, 0, 400, + 608, 589, 600, 590, 575, 576, 577, 584, 379, 578, + 579, 580, 550, 581, 551, 582, 583, 0, 607, 557, + 469, 416, 0, 624, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 245, 0, 0, 0, 0, 0, + 0, 336, 246, 552, 674, 554, 553, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 339, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 470, 499, 0, 512, + 0, 390, 391, 0, 0, 0, 0, 0, 0, 0, + 324, 477, 496, 337, 464, 510, 342, 472, 489, 332, + 431, 461, 0, 0, 326, 494, 471, 413, 325, 0, + 455, 365, 381, 362, 429, 0, 493, 523, 361, 513, + 0, 504, 328, 0, 503, 428, 490, 495, 414, 407, + 0, 327, 492, 412, 406, 394, 371, 539, 395, 396, + 385, 443, 404, 444, 386, 418, 417, 419, 0, 0, + 0, 0, 0, 534, 535, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 667, 0, 0, 671, 0, 506, 0, 0, 0, 4149, + 0, 0, 475, 0, 0, 397, 0, 0, 0, 524, + 0, 458, 434, 709, 0, 0, 456, 402, 491, 445, + 497, 478, 505, 450, 446, 315, 479, 364, 415, 333, + 335, 699, 366, 368, 372, 373, 424, 425, 439, 463, + 482, 483, 484, 363, 347, 457, 348, 382, 349, 319, + 355, 353, 356, 465, 357, 321, 440, 488, 0, 378, + 453, 410, 322, 409, 441, 487, 486, 334, 514, 521, + 522, 612, 0, 527, 710, 711, 712, 536, 0, 447, + 330, 329, 0, 0, 0, 359, 442, 343, 345, 346, + 344, 437, 438, 541, 542, 543, 545, 0, 546, 547, + 0, 0, 0, 0, 548, 316, 317, 318, 613, 629, + 597, 566, 529, 621, 563, 567, 568, 388, 632, 0, + 0, 0, 520, 398, 399, 0, 370, 369, 411, 323, + 0, 0, 376, 311, 312, 705, 360, 430, 634, 669, + 670, 559, 0, 622, 560, 569, 352, 594, 606, 605, + 426, 519, 0, 617, 620, 549, 704, 0, 614, 628, + 708, 627, 701, 436, 0, 462, 625, 572, 0, 618, + 591, 592, 0, 619, 587, 623, 0, 561, 0, 530, + 533, 562, 647, 648, 649, 320, 532, 651, 652, 653, + 654, 655, 656, 657, 650, 502, 595, 571, 598, 511, + 574, 573, 0, 0, 609, 528, 610, 611, 420, 421, + 422, 423, 380, 635, 341, 531, 449, 0, 596, 0, + 0, 0, 0, 0, 0, 0, 0, 601, 602, 599, + 713, 0, 658, 659, 0, 0, 525, 526, 375, 0, + 544, 383, 340, 435, 377, 509, 392, 0, 537, 603, + 538, 451, 452, 661, 666, 662, 663, 665, 685, 427, + 387, 389, 466, 393, 403, 454, 508, 433, 459, 338, + 498, 468, 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 640, 639, 638, 637, 636, 635, 634, 633, - 0, 0, 582, 482, 351, 305, 347, 348, 355, 699, - 695, 661, 700, 683, 686, 685, 0, 313, 562, 398, - 445, 371, 627, 628, 0, 681, 259, 260, 261, 262, + 0, 0, 643, 642, 641, 640, 639, 638, 637, 636, + 0, 0, 585, 485, 354, 305, 350, 351, 358, 702, + 698, 664, 703, 686, 689, 688, 0, 313, 565, 401, + 448, 374, 630, 631, 0, 684, 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, 278, 279, 280, 281, 282, 283, - 630, 274, 275, 284, 285, 286, 287, 288, 289, 290, + 633, 274, 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 0, - 0, 307, 687, 688, 689, 690, 691, 0, 0, 308, - 309, 310, 0, 0, 300, 473, 301, 302, 303, 304, - 0, 0, 512, 513, 514, 537, 0, 515, 497, 561, - 381, 314, 477, 504, 697, 0, 0, 0, 0, 0, - 0, 0, 612, 623, 657, 0, 669, 670, 672, 674, - 673, 676, 470, 471, 684, 0, 678, 679, 680, 677, - 402, 457, 478, 464, 0, 703, 552, 553, 704, 665, - 429, 0, 0, 567, 601, 590, 675, 555, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 364, 0, - 0, 397, 605, 586, 597, 587, 572, 573, 574, 581, - 376, 575, 576, 577, 547, 578, 548, 579, 580, 0, - 604, 554, 466, 413, 0, 621, 0, 0, 0, 0, + 0, 307, 690, 691, 692, 693, 694, 0, 0, 308, + 309, 310, 0, 0, 300, 476, 301, 302, 303, 304, + 0, 0, 515, 516, 517, 540, 0, 518, 500, 564, + 384, 314, 480, 507, 700, 0, 0, 0, 0, 0, + 0, 0, 615, 626, 660, 0, 672, 673, 675, 677, + 676, 679, 473, 474, 687, 0, 681, 682, 683, 680, + 405, 460, 481, 467, 0, 706, 555, 556, 707, 668, + 432, 0, 0, 570, 604, 593, 678, 558, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, + 0, 400, 608, 589, 600, 590, 575, 576, 577, 584, + 379, 578, 579, 580, 550, 581, 551, 582, 583, 0, + 607, 557, 469, 416, 0, 624, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 245, 0, 0, 3532, + 0, 0, 0, 336, 246, 552, 674, 554, 553, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 339, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 470, 499, + 0, 512, 0, 390, 391, 0, 0, 0, 0, 0, + 0, 0, 324, 477, 496, 337, 464, 510, 342, 472, + 489, 332, 431, 461, 0, 0, 326, 494, 471, 413, + 325, 0, 455, 365, 381, 362, 429, 0, 493, 523, + 361, 513, 0, 504, 328, 0, 503, 428, 490, 495, + 414, 407, 0, 327, 492, 412, 406, 394, 371, 539, + 395, 396, 385, 443, 404, 444, 386, 418, 417, 419, + 0, 0, 0, 0, 0, 534, 535, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 667, 0, 0, 671, 0, 506, 0, 0, + 0, 0, 0, 0, 475, 0, 0, 397, 0, 0, + 0, 524, 0, 458, 434, 709, 0, 0, 456, 402, + 491, 445, 497, 478, 505, 450, 446, 315, 479, 364, + 415, 333, 335, 699, 366, 368, 372, 373, 424, 425, + 439, 463, 482, 483, 484, 363, 347, 457, 348, 382, + 349, 319, 355, 353, 356, 465, 357, 321, 440, 488, + 0, 378, 453, 410, 322, 409, 441, 487, 486, 334, + 514, 521, 522, 612, 0, 527, 710, 711, 712, 536, + 0, 447, 330, 329, 0, 0, 0, 359, 442, 343, + 345, 346, 344, 437, 438, 541, 542, 543, 545, 0, + 546, 547, 0, 0, 0, 0, 548, 316, 317, 318, + 613, 629, 597, 566, 529, 621, 563, 567, 568, 388, + 632, 0, 0, 0, 520, 398, 399, 0, 370, 369, + 411, 323, 0, 0, 376, 311, 312, 705, 360, 430, + 634, 669, 670, 559, 0, 622, 560, 569, 352, 594, + 606, 605, 426, 519, 0, 617, 620, 549, 704, 0, + 614, 628, 708, 627, 701, 436, 0, 462, 625, 572, + 0, 618, 591, 592, 0, 619, 587, 623, 0, 561, + 0, 530, 533, 562, 647, 648, 649, 320, 532, 651, + 652, 653, 654, 655, 656, 657, 650, 502, 595, 571, + 598, 511, 574, 573, 0, 0, 609, 528, 610, 611, + 420, 421, 422, 423, 380, 635, 341, 531, 449, 0, + 596, 0, 0, 0, 0, 0, 0, 0, 0, 601, + 602, 599, 713, 0, 658, 659, 0, 0, 525, 526, + 375, 0, 544, 383, 340, 435, 377, 509, 392, 0, + 537, 603, 538, 451, 452, 661, 666, 662, 663, 665, + 685, 427, 387, 389, 466, 393, 403, 454, 508, 433, + 459, 338, 498, 468, 408, 588, 616, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 245, 0, 0, 0, - 0, 0, 0, 333, 246, 549, 671, 551, 550, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 336, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3543, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 467, 496, - 0, 509, 0, 387, 388, 0, 0, 0, 0, 0, - 0, 0, 321, 474, 493, 334, 461, 507, 339, 469, - 486, 329, 428, 458, 0, 0, 323, 491, 468, 410, - 322, 0, 452, 362, 378, 359, 426, 0, 490, 520, - 358, 510, 0, 501, 325, 0, 500, 425, 487, 492, - 411, 404, 0, 324, 489, 409, 403, 391, 368, 536, - 392, 393, 382, 440, 401, 441, 383, 415, 414, 416, - 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 664, 0, 0, 668, 0, 503, 0, 0, - 0, 0, 0, 0, 472, 0, 0, 394, 0, 0, - 0, 521, 0, 455, 431, 706, 0, 0, 453, 399, - 488, 442, 494, 475, 502, 447, 443, 315, 476, 361, - 412, 330, 332, 696, 363, 365, 369, 370, 421, 422, - 436, 460, 479, 480, 481, 360, 344, 454, 345, 379, - 346, 316, 352, 350, 353, 462, 354, 318, 437, 485, - 0, 375, 450, 407, 319, 406, 438, 484, 483, 331, - 511, 518, 519, 609, 0, 524, 707, 708, 709, 533, - 0, 444, 327, 326, 0, 0, 0, 356, 439, 340, - 342, 343, 341, 434, 435, 538, 539, 540, 542, 0, - 543, 544, 0, 0, 0, 0, 545, 610, 626, 594, - 563, 526, 618, 560, 564, 565, 385, 629, 0, 0, - 0, 517, 395, 396, 0, 367, 366, 408, 320, 0, - 0, 373, 311, 312, 702, 357, 427, 631, 666, 667, - 556, 0, 619, 557, 566, 349, 591, 603, 602, 423, - 516, 0, 614, 617, 546, 701, 0, 611, 625, 705, - 624, 698, 433, 0, 459, 622, 569, 0, 615, 588, - 589, 0, 616, 584, 620, 0, 558, 0, 527, 530, - 559, 644, 645, 646, 317, 529, 648, 649, 650, 651, - 652, 653, 654, 647, 499, 592, 568, 595, 508, 571, - 570, 0, 0, 606, 525, 607, 608, 417, 418, 419, - 420, 377, 632, 338, 528, 446, 0, 593, 0, 0, - 0, 0, 0, 0, 0, 0, 598, 599, 596, 710, - 0, 655, 656, 0, 0, 522, 523, 372, 0, 541, - 380, 337, 432, 374, 506, 389, 0, 534, 600, 535, - 448, 449, 658, 663, 659, 660, 662, 682, 424, 384, - 386, 463, 390, 400, 451, 505, 430, 456, 335, 495, - 465, 405, 585, 613, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, + 0, 0, 0, 0, 643, 642, 641, 640, 639, 638, + 637, 636, 0, 0, 585, 485, 354, 305, 350, 351, + 358, 702, 698, 664, 703, 686, 689, 688, 0, 313, + 565, 401, 448, 374, 630, 631, 0, 684, 259, 260, + 261, 262, 263, 264, 265, 266, 306, 267, 268, 269, + 270, 271, 272, 273, 276, 277, 278, 279, 280, 281, + 282, 283, 633, 274, 275, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, + 0, 0, 0, 307, 690, 691, 692, 693, 694, 0, + 0, 308, 309, 310, 0, 0, 300, 476, 301, 302, + 303, 304, 0, 0, 515, 516, 517, 540, 0, 518, + 500, 564, 384, 314, 480, 507, 700, 0, 0, 0, + 0, 0, 0, 0, 615, 626, 660, 0, 672, 673, + 675, 677, 676, 679, 473, 474, 687, 0, 681, 682, + 683, 680, 405, 460, 481, 467, 0, 706, 555, 556, + 707, 668, 432, 0, 0, 570, 604, 593, 678, 558, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 367, 0, 0, 400, 608, 589, 600, 590, 575, 576, + 577, 584, 379, 578, 579, 580, 550, 581, 551, 582, + 583, 0, 607, 557, 469, 416, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 640, 639, 638, 637, 636, 635, 634, 633, 0, - 0, 582, 482, 351, 305, 347, 348, 355, 699, 695, - 661, 700, 683, 686, 685, 0, 313, 562, 398, 445, - 371, 627, 628, 0, 681, 259, 260, 261, 262, 263, - 264, 265, 266, 306, 267, 268, 269, 270, 271, 272, - 273, 276, 277, 278, 279, 280, 281, 282, 283, 630, - 274, 275, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, - 307, 687, 688, 689, 690, 691, 0, 0, 308, 309, - 310, 0, 0, 300, 473, 301, 302, 303, 304, 0, - 0, 512, 513, 514, 537, 0, 515, 497, 561, 381, - 314, 477, 504, 697, 0, 0, 0, 0, 0, 0, - 0, 612, 623, 657, 0, 669, 670, 672, 674, 673, - 676, 470, 471, 684, 0, 678, 679, 680, 677, 402, - 457, 478, 464, 0, 703, 552, 553, 704, 665, 429, - 0, 0, 567, 601, 590, 675, 555, 0, 0, 3779, - 0, 0, 0, 0, 0, 0, 0, 364, 0, 0, - 397, 605, 586, 597, 587, 572, 573, 574, 581, 376, - 575, 576, 577, 547, 578, 548, 579, 580, 0, 604, - 554, 466, 413, 0, 621, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 245, 0, 0, 0, 0, - 0, 0, 333, 246, 549, 671, 551, 550, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 336, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 467, 496, 0, - 509, 0, 387, 388, 0, 0, 0, 0, 0, 0, - 0, 321, 474, 493, 334, 461, 507, 339, 469, 486, - 329, 428, 458, 0, 0, 323, 491, 468, 410, 322, - 0, 452, 362, 378, 359, 426, 0, 490, 520, 358, - 510, 0, 501, 325, 0, 500, 425, 487, 492, 411, - 404, 0, 324, 489, 409, 403, 391, 368, 536, 392, - 393, 382, 440, 401, 441, 383, 415, 414, 416, 0, - 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 664, 0, 0, 668, 0, 503, 0, 0, 0, - 0, 0, 0, 472, 0, 0, 394, 0, 0, 0, - 521, 0, 455, 431, 706, 0, 0, 453, 399, 488, - 442, 494, 475, 502, 447, 443, 315, 476, 361, 412, - 330, 332, 696, 363, 365, 369, 370, 421, 422, 436, - 460, 479, 480, 481, 360, 344, 454, 345, 379, 346, - 316, 352, 350, 353, 462, 354, 318, 437, 485, 0, - 375, 450, 407, 319, 406, 438, 484, 483, 331, 511, - 518, 519, 609, 0, 524, 707, 708, 709, 533, 0, - 444, 327, 326, 0, 0, 0, 356, 439, 340, 342, - 343, 341, 434, 435, 538, 539, 540, 542, 0, 543, - 544, 0, 0, 0, 0, 545, 610, 626, 594, 563, - 526, 618, 560, 564, 565, 385, 629, 0, 0, 0, - 517, 395, 396, 0, 367, 366, 408, 320, 0, 0, - 373, 311, 312, 702, 357, 427, 631, 666, 667, 556, - 0, 619, 557, 566, 349, 591, 603, 602, 423, 516, - 0, 614, 617, 546, 701, 0, 611, 625, 705, 624, - 698, 433, 0, 459, 622, 569, 0, 615, 588, 589, - 0, 616, 584, 620, 0, 558, 0, 527, 530, 559, - 644, 645, 646, 317, 529, 648, 649, 650, 651, 652, - 653, 654, 647, 499, 592, 568, 595, 508, 571, 570, - 0, 0, 606, 525, 607, 608, 417, 418, 419, 420, - 377, 632, 338, 528, 446, 0, 593, 0, 0, 0, - 0, 0, 0, 0, 0, 598, 599, 596, 710, 0, - 655, 656, 0, 0, 522, 523, 372, 0, 541, 380, - 337, 432, 374, 506, 389, 0, 534, 600, 535, 448, - 449, 658, 663, 659, 660, 662, 682, 424, 384, 386, - 463, 390, 400, 451, 505, 430, 456, 335, 495, 465, - 405, 585, 613, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 245, 0, + 0, 3994, 0, 0, 0, 336, 246, 552, 674, 554, + 553, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 339, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 470, 499, 0, 512, 0, 390, 391, 0, 0, 0, + 0, 0, 0, 0, 324, 477, 496, 337, 464, 510, + 342, 472, 489, 332, 431, 461, 0, 0, 326, 494, + 471, 413, 325, 0, 455, 365, 381, 362, 429, 0, + 493, 523, 361, 513, 0, 504, 328, 0, 503, 428, + 490, 495, 414, 407, 0, 327, 492, 412, 406, 394, + 371, 539, 395, 396, 385, 443, 404, 444, 386, 418, + 417, 419, 0, 0, 0, 0, 0, 534, 535, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 667, 0, 0, 671, 0, 506, + 0, 0, 0, 0, 0, 0, 475, 0, 0, 397, + 0, 0, 0, 524, 0, 458, 434, 709, 0, 0, + 456, 402, 491, 445, 497, 478, 505, 450, 446, 315, + 479, 364, 415, 333, 335, 699, 366, 368, 372, 373, + 424, 425, 439, 463, 482, 483, 484, 363, 347, 457, + 348, 382, 349, 319, 355, 353, 356, 465, 357, 321, + 440, 488, 0, 378, 453, 410, 322, 409, 441, 487, + 486, 334, 514, 521, 522, 612, 0, 527, 710, 711, + 712, 536, 0, 447, 330, 329, 0, 0, 0, 359, + 442, 343, 345, 346, 344, 437, 438, 541, 542, 543, + 545, 0, 546, 547, 0, 0, 0, 0, 548, 316, + 317, 318, 613, 629, 597, 566, 529, 621, 563, 567, + 568, 388, 632, 0, 0, 0, 520, 398, 399, 0, + 370, 369, 411, 323, 0, 0, 376, 311, 312, 705, + 360, 430, 634, 669, 670, 559, 0, 622, 560, 569, + 352, 594, 606, 605, 426, 519, 0, 617, 620, 549, + 704, 0, 614, 628, 708, 627, 701, 436, 0, 462, + 625, 572, 0, 618, 591, 592, 0, 619, 587, 623, + 0, 561, 0, 530, 533, 562, 647, 648, 649, 320, + 532, 651, 652, 653, 654, 655, 656, 657, 650, 502, + 595, 571, 598, 511, 574, 573, 0, 0, 609, 528, + 610, 611, 420, 421, 422, 423, 380, 635, 341, 531, + 449, 0, 596, 0, 0, 0, 0, 0, 0, 0, + 0, 601, 602, 599, 713, 0, 658, 659, 0, 0, + 525, 526, 375, 0, 544, 383, 340, 435, 377, 509, + 392, 0, 537, 603, 538, 451, 452, 661, 666, 662, + 663, 665, 685, 427, 387, 389, 466, 393, 403, 454, + 508, 433, 459, 338, 498, 468, 408, 588, 616, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 643, 642, 641, 640, + 639, 638, 637, 636, 0, 0, 585, 485, 354, 305, + 350, 351, 358, 702, 698, 664, 703, 686, 689, 688, + 0, 313, 565, 401, 448, 374, 630, 631, 0, 684, + 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, + 268, 269, 270, 271, 272, 273, 276, 277, 278, 279, + 280, 281, 282, 283, 633, 274, 275, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 0, 0, 0, 0, 307, 690, 691, 692, 693, + 694, 0, 0, 308, 309, 310, 0, 0, 300, 476, + 301, 302, 303, 304, 0, 0, 515, 516, 517, 540, + 0, 518, 500, 564, 384, 314, 480, 507, 700, 0, + 0, 0, 0, 0, 0, 0, 615, 626, 660, 0, + 672, 673, 675, 677, 676, 679, 473, 474, 687, 0, + 681, 682, 683, 680, 405, 460, 481, 467, 0, 706, + 555, 556, 707, 668, 432, 0, 0, 570, 604, 593, + 678, 558, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 367, 0, 0, 400, 608, 589, 600, 590, + 575, 576, 577, 584, 379, 578, 579, 580, 550, 581, + 551, 582, 583, 0, 607, 557, 469, 416, 0, 624, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2250, 0, 0, + 245, 0, 0, 0, 0, 0, 0, 336, 246, 552, + 674, 554, 553, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 339, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 470, 499, 0, 512, 0, 390, 391, 0, + 0, 0, 0, 0, 0, 0, 324, 477, 496, 337, + 464, 510, 342, 472, 489, 332, 431, 461, 0, 0, + 326, 494, 471, 413, 325, 0, 455, 365, 381, 362, + 429, 0, 493, 523, 361, 513, 0, 504, 328, 0, + 503, 428, 490, 495, 414, 407, 0, 327, 492, 412, + 406, 394, 371, 539, 395, 396, 385, 443, 404, 444, + 386, 418, 417, 419, 0, 0, 0, 0, 0, 534, + 535, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 667, 0, 0, 671, + 0, 506, 0, 0, 0, 0, 0, 0, 475, 0, + 0, 397, 0, 0, 0, 524, 0, 458, 434, 709, + 0, 0, 456, 402, 491, 445, 497, 478, 505, 450, + 446, 315, 479, 364, 415, 333, 335, 699, 366, 368, + 372, 373, 424, 425, 439, 463, 482, 483, 484, 363, + 347, 457, 348, 382, 349, 319, 355, 353, 356, 465, + 357, 321, 440, 488, 0, 378, 453, 410, 322, 409, + 441, 487, 486, 334, 514, 521, 522, 612, 0, 527, + 710, 711, 712, 536, 0, 447, 330, 329, 0, 0, + 0, 359, 442, 343, 345, 346, 344, 437, 438, 541, + 542, 543, 545, 0, 546, 547, 0, 0, 0, 0, + 548, 316, 317, 318, 613, 629, 597, 566, 529, 621, + 563, 567, 568, 388, 632, 0, 0, 0, 520, 398, + 399, 0, 370, 369, 411, 323, 0, 0, 376, 311, + 312, 705, 360, 430, 634, 669, 670, 559, 0, 622, + 560, 569, 352, 594, 606, 605, 426, 519, 0, 617, + 620, 549, 704, 0, 614, 628, 708, 627, 701, 436, + 0, 462, 625, 572, 0, 618, 591, 592, 0, 619, + 587, 623, 0, 561, 0, 530, 533, 562, 647, 648, + 649, 320, 532, 651, 652, 653, 654, 655, 656, 657, + 650, 502, 595, 571, 598, 511, 574, 573, 0, 0, + 609, 528, 610, 611, 420, 421, 422, 423, 380, 635, + 341, 531, 449, 0, 596, 0, 0, 0, 0, 0, + 0, 0, 0, 601, 602, 599, 713, 0, 658, 659, + 0, 0, 525, 526, 375, 0, 544, 383, 340, 435, + 377, 509, 392, 0, 537, 603, 538, 451, 452, 661, + 666, 662, 663, 665, 685, 427, 387, 389, 466, 393, + 403, 454, 508, 433, 459, 338, 498, 468, 408, 588, + 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 643, 642, + 641, 640, 639, 638, 637, 636, 0, 0, 585, 485, + 354, 305, 350, 351, 358, 702, 698, 664, 703, 686, + 689, 688, 0, 313, 565, 401, 448, 374, 630, 631, + 0, 684, 259, 260, 261, 262, 263, 264, 265, 266, + 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, + 278, 279, 280, 281, 282, 283, 633, 274, 275, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 0, 0, 0, 0, 307, 690, 691, + 692, 693, 694, 0, 0, 308, 309, 310, 0, 0, + 300, 476, 301, 302, 303, 304, 0, 0, 515, 516, + 517, 540, 0, 518, 500, 564, 384, 314, 480, 507, + 700, 0, 0, 0, 0, 0, 0, 0, 615, 626, + 660, 0, 672, 673, 675, 677, 676, 679, 473, 474, + 687, 0, 681, 682, 683, 680, 405, 460, 481, 467, + 0, 706, 555, 556, 707, 668, 432, 0, 0, 570, + 604, 593, 678, 558, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 367, 0, 0, 400, 608, 589, + 600, 590, 575, 576, 577, 584, 379, 578, 579, 580, + 550, 581, 551, 582, 583, 0, 607, 557, 469, 416, + 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 245, 0, 0, 0, 0, 0, 0, 336, + 246, 552, 674, 554, 553, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 339, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3557, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 470, 499, 0, 512, 0, 390, + 391, 0, 0, 0, 0, 0, 0, 0, 324, 477, + 496, 337, 464, 510, 342, 472, 489, 332, 431, 461, + 0, 0, 326, 494, 471, 413, 325, 0, 455, 365, + 381, 362, 429, 0, 493, 523, 361, 513, 0, 504, + 328, 0, 503, 428, 490, 495, 414, 407, 0, 327, + 492, 412, 406, 394, 371, 539, 395, 396, 385, 443, + 404, 444, 386, 418, 417, 419, 0, 0, 0, 0, + 0, 534, 535, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 667, 0, + 0, 671, 0, 506, 0, 0, 0, 0, 0, 0, + 475, 0, 0, 397, 0, 0, 0, 524, 0, 458, + 434, 709, 0, 0, 456, 402, 491, 445, 497, 478, + 505, 450, 446, 315, 479, 364, 415, 333, 335, 699, + 366, 368, 372, 373, 424, 425, 439, 463, 482, 483, + 484, 363, 347, 457, 348, 382, 349, 319, 355, 353, + 356, 465, 357, 321, 440, 488, 0, 378, 453, 410, + 322, 409, 441, 487, 486, 334, 514, 521, 522, 612, + 0, 527, 710, 711, 712, 536, 0, 447, 330, 329, + 0, 0, 0, 359, 442, 343, 345, 346, 344, 437, + 438, 541, 542, 543, 545, 0, 546, 547, 0, 0, + 0, 0, 548, 316, 317, 318, 613, 629, 597, 566, + 529, 621, 563, 567, 568, 388, 632, 0, 0, 0, + 520, 398, 399, 0, 370, 369, 411, 323, 0, 0, + 376, 311, 312, 705, 360, 430, 634, 669, 670, 559, + 0, 622, 560, 569, 352, 594, 606, 605, 426, 519, + 0, 617, 620, 549, 704, 0, 614, 628, 708, 627, + 701, 436, 0, 462, 625, 572, 0, 618, 591, 592, + 0, 619, 587, 623, 0, 561, 0, 530, 533, 562, + 647, 648, 649, 320, 532, 651, 652, 653, 654, 655, + 656, 657, 650, 502, 595, 571, 598, 511, 574, 573, + 0, 0, 609, 528, 610, 611, 420, 421, 422, 423, + 380, 635, 341, 531, 449, 0, 596, 0, 0, 0, + 0, 0, 0, 0, 0, 601, 602, 599, 713, 0, + 658, 659, 0, 0, 525, 526, 375, 0, 544, 383, + 340, 435, 377, 509, 392, 0, 537, 603, 538, 451, + 452, 661, 666, 662, 663, 665, 685, 427, 387, 389, + 466, 393, 403, 454, 508, 433, 459, 338, 498, 468, + 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 640, 639, 638, 637, 636, 635, 634, 633, 0, 0, - 582, 482, 351, 305, 347, 348, 355, 699, 695, 661, - 700, 683, 686, 685, 0, 313, 562, 398, 445, 371, - 627, 628, 0, 681, 259, 260, 261, 262, 263, 264, + 643, 642, 641, 640, 639, 638, 637, 636, 0, 0, + 585, 485, 354, 305, 350, 351, 358, 702, 698, 664, + 703, 686, 689, 688, 0, 313, 565, 401, 448, 374, + 630, 631, 0, 684, 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, - 276, 277, 278, 279, 280, 281, 282, 283, 630, 274, + 276, 277, 278, 279, 280, 281, 282, 283, 633, 274, 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, 307, - 687, 688, 689, 690, 691, 0, 0, 308, 309, 310, - 0, 0, 300, 473, 301, 302, 303, 304, 0, 0, - 512, 513, 514, 537, 0, 515, 497, 561, 381, 314, - 477, 504, 697, 0, 0, 0, 0, 0, 0, 0, - 612, 623, 657, 0, 669, 670, 672, 674, 673, 676, - 470, 471, 684, 0, 678, 679, 680, 677, 402, 457, - 478, 464, 0, 703, 552, 553, 704, 665, 429, 0, - 0, 567, 601, 590, 675, 555, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 364, 0, 0, 397, - 605, 586, 597, 587, 572, 573, 574, 581, 376, 575, - 576, 577, 547, 578, 548, 579, 580, 0, 604, 554, - 466, 413, 0, 621, 0, 0, 0, 0, 0, 0, + 690, 691, 692, 693, 694, 0, 0, 308, 309, 310, + 0, 0, 300, 476, 301, 302, 303, 304, 0, 0, + 515, 516, 517, 540, 0, 518, 500, 564, 384, 314, + 480, 507, 700, 0, 0, 0, 0, 0, 0, 0, + 615, 626, 660, 0, 672, 673, 675, 677, 676, 679, + 473, 474, 687, 0, 681, 682, 683, 680, 405, 460, + 481, 467, 0, 706, 555, 556, 707, 668, 432, 0, + 0, 570, 604, 593, 678, 558, 0, 0, 3794, 0, + 0, 0, 0, 0, 0, 0, 367, 0, 0, 400, + 608, 589, 600, 590, 575, 576, 577, 584, 379, 578, + 579, 580, 550, 581, 551, 582, 583, 0, 607, 557, + 469, 416, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, 0, 0, 0, 0, 0, - 0, 333, 246, 549, 671, 551, 550, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 336, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3664, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 467, 496, 0, 509, - 0, 387, 388, 0, 0, 0, 0, 0, 0, 0, - 321, 474, 493, 334, 461, 507, 339, 469, 486, 329, - 428, 458, 0, 0, 323, 491, 468, 410, 322, 0, - 452, 362, 378, 359, 426, 0, 490, 520, 358, 510, - 0, 501, 325, 0, 500, 425, 487, 492, 411, 404, - 0, 324, 489, 409, 403, 391, 368, 536, 392, 393, - 382, 440, 401, 441, 383, 415, 414, 416, 0, 0, - 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 664, 0, 0, 668, 0, 503, 0, 0, 0, 0, - 0, 0, 472, 0, 0, 394, 0, 0, 0, 521, - 0, 455, 431, 706, 0, 0, 453, 399, 488, 442, - 494, 475, 502, 447, 443, 315, 476, 361, 412, 330, - 332, 696, 363, 365, 369, 370, 421, 422, 436, 460, - 479, 480, 481, 360, 344, 454, 345, 379, 346, 316, - 352, 350, 353, 462, 354, 318, 437, 485, 0, 375, - 450, 407, 319, 406, 438, 484, 483, 331, 511, 518, - 519, 609, 0, 524, 707, 708, 709, 533, 0, 444, - 327, 326, 0, 0, 0, 356, 439, 340, 342, 343, - 341, 434, 435, 538, 539, 540, 542, 0, 543, 544, - 0, 0, 0, 0, 545, 610, 626, 594, 563, 526, - 618, 560, 564, 565, 385, 629, 0, 0, 0, 517, - 395, 396, 0, 367, 366, 408, 320, 0, 0, 373, - 311, 312, 702, 357, 427, 631, 666, 667, 556, 0, - 619, 557, 566, 349, 591, 603, 602, 423, 516, 0, - 614, 617, 546, 701, 0, 611, 625, 705, 624, 698, - 433, 0, 459, 622, 569, 0, 615, 588, 589, 0, - 616, 584, 620, 0, 558, 0, 527, 530, 559, 644, - 645, 646, 317, 529, 648, 649, 650, 651, 652, 653, - 654, 647, 499, 592, 568, 595, 508, 571, 570, 0, - 0, 606, 525, 607, 608, 417, 418, 419, 420, 377, - 632, 338, 528, 446, 0, 593, 0, 0, 0, 0, - 0, 0, 0, 0, 598, 599, 596, 710, 0, 655, - 656, 0, 0, 522, 523, 372, 0, 541, 380, 337, - 432, 374, 506, 389, 0, 534, 600, 535, 448, 449, - 658, 663, 659, 660, 662, 682, 424, 384, 386, 463, - 390, 400, 451, 505, 430, 456, 335, 495, 465, 405, - 585, 613, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 640, - 639, 638, 637, 636, 635, 634, 633, 0, 0, 582, - 482, 351, 305, 347, 348, 355, 699, 695, 661, 700, - 683, 686, 685, 0, 313, 562, 398, 445, 371, 627, - 628, 0, 681, 259, 260, 261, 262, 263, 264, 265, - 266, 306, 267, 268, 269, 270, 271, 272, 273, 276, - 277, 278, 279, 280, 281, 282, 283, 630, 274, 275, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 0, 0, 0, 0, 307, 687, - 688, 689, 690, 691, 0, 0, 308, 309, 310, 0, - 0, 300, 473, 301, 302, 303, 304, 0, 0, 512, - 513, 514, 537, 0, 515, 497, 561, 381, 314, 477, - 504, 697, 0, 0, 0, 0, 0, 0, 0, 612, - 623, 657, 0, 669, 670, 672, 674, 673, 676, 470, - 471, 684, 0, 678, 679, 680, 677, 402, 457, 478, - 464, 0, 703, 552, 553, 704, 665, 429, 0, 0, - 567, 601, 590, 675, 555, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 364, 0, 0, 397, 605, - 586, 597, 587, 572, 573, 574, 581, 376, 575, 576, - 577, 547, 578, 548, 579, 580, 0, 604, 554, 466, - 413, 0, 621, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 245, 0, 0, 3523, 0, 0, 0, - 333, 246, 549, 671, 551, 550, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 336, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 467, 496, 0, 509, 0, - 387, 388, 0, 0, 0, 0, 0, 0, 0, 321, - 474, 493, 334, 461, 507, 339, 469, 486, 329, 428, - 458, 0, 0, 323, 491, 468, 410, 322, 0, 452, - 362, 378, 359, 426, 0, 490, 520, 358, 510, 0, - 501, 325, 0, 500, 425, 487, 492, 411, 404, 0, - 324, 489, 409, 403, 391, 368, 536, 392, 393, 382, - 440, 401, 441, 383, 415, 414, 416, 0, 0, 0, - 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, - 0, 0, 668, 0, 503, 0, 0, 0, 0, 0, - 0, 472, 0, 0, 394, 0, 0, 0, 521, 0, - 455, 431, 706, 0, 0, 453, 399, 488, 442, 494, - 475, 502, 447, 443, 315, 476, 361, 412, 330, 332, - 696, 363, 365, 369, 370, 421, 422, 436, 460, 479, - 480, 481, 360, 344, 454, 345, 379, 346, 316, 352, - 350, 353, 462, 354, 318, 437, 485, 0, 375, 450, - 407, 319, 406, 438, 484, 483, 331, 511, 518, 519, - 609, 0, 524, 707, 708, 709, 533, 0, 444, 327, - 326, 0, 0, 0, 356, 439, 340, 342, 343, 341, - 434, 435, 538, 539, 540, 542, 0, 543, 544, 0, - 0, 0, 0, 545, 610, 626, 594, 563, 526, 618, - 560, 564, 565, 385, 629, 0, 0, 0, 517, 395, - 396, 0, 367, 366, 408, 320, 0, 0, 373, 311, - 312, 702, 357, 427, 631, 666, 667, 556, 0, 619, - 557, 566, 349, 591, 603, 602, 423, 516, 0, 614, - 617, 546, 701, 0, 611, 625, 705, 624, 698, 433, - 0, 459, 622, 569, 0, 615, 588, 589, 0, 616, - 584, 620, 0, 558, 0, 527, 530, 559, 644, 645, - 646, 317, 529, 648, 649, 650, 651, 652, 653, 654, - 647, 499, 592, 568, 595, 508, 571, 570, 0, 0, - 606, 525, 607, 608, 417, 418, 419, 420, 377, 632, - 338, 528, 446, 0, 593, 0, 0, 0, 0, 0, - 0, 0, 0, 598, 599, 596, 710, 0, 655, 656, - 0, 0, 522, 523, 372, 0, 541, 380, 337, 432, - 374, 506, 389, 0, 534, 600, 535, 448, 449, 658, - 663, 659, 660, 662, 682, 424, 384, 386, 463, 390, - 400, 451, 505, 430, 456, 335, 495, 465, 405, 585, - 613, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 640, 639, - 638, 637, 636, 635, 634, 633, 0, 0, 582, 482, - 351, 305, 347, 348, 355, 699, 695, 661, 700, 683, - 686, 685, 0, 313, 562, 398, 445, 371, 627, 628, - 0, 681, 259, 260, 261, 262, 263, 264, 265, 266, - 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, - 278, 279, 280, 281, 282, 283, 630, 274, 275, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 0, 0, 0, 0, 307, 687, 688, - 689, 690, 691, 0, 0, 308, 309, 310, 0, 0, - 300, 473, 301, 302, 303, 304, 0, 0, 512, 513, - 514, 537, 0, 515, 497, 561, 381, 314, 477, 504, - 697, 0, 0, 0, 0, 0, 0, 0, 612, 623, - 657, 0, 669, 670, 672, 674, 673, 676, 470, 471, - 684, 0, 678, 679, 680, 677, 402, 457, 478, 464, - 3452, 703, 552, 553, 704, 665, 429, 0, 0, 567, - 601, 590, 675, 555, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 364, 0, 0, 397, 605, 586, - 597, 587, 572, 573, 574, 581, 376, 575, 576, 577, - 547, 578, 548, 579, 580, 0, 604, 554, 466, 413, - 0, 621, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 245, 0, 0, 0, 0, 0, 0, 333, - 246, 549, 671, 551, 550, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 336, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 467, 496, 0, 509, 0, 387, - 388, 0, 0, 0, 0, 0, 0, 0, 321, 474, - 493, 334, 461, 507, 339, 469, 486, 329, 428, 458, - 0, 0, 323, 491, 468, 410, 322, 0, 452, 362, - 378, 359, 426, 0, 490, 520, 358, 510, 0, 501, - 325, 0, 500, 425, 487, 492, 411, 404, 0, 324, - 489, 409, 403, 391, 368, 536, 392, 393, 382, 440, - 401, 441, 383, 415, 414, 416, 0, 0, 0, 0, - 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, - 0, 668, 0, 503, 0, 0, 0, 0, 0, 0, - 472, 0, 0, 394, 0, 0, 0, 521, 0, 455, - 431, 706, 0, 0, 453, 399, 488, 442, 494, 475, - 502, 447, 443, 315, 476, 361, 412, 330, 332, 696, - 363, 365, 369, 370, 421, 422, 436, 460, 479, 480, - 481, 360, 344, 454, 345, 379, 346, 316, 352, 350, - 353, 462, 354, 318, 437, 485, 0, 375, 450, 407, - 319, 406, 438, 484, 483, 331, 511, 518, 519, 609, - 0, 524, 707, 708, 709, 533, 0, 444, 327, 326, - 0, 0, 0, 356, 439, 340, 342, 343, 341, 434, - 435, 538, 539, 540, 542, 0, 543, 544, 0, 0, - 0, 0, 545, 610, 626, 594, 563, 526, 618, 560, - 564, 565, 385, 629, 0, 0, 0, 517, 395, 396, - 0, 367, 366, 408, 320, 0, 0, 373, 311, 312, - 702, 357, 427, 631, 666, 667, 556, 0, 619, 557, - 566, 349, 591, 603, 602, 423, 516, 0, 614, 617, - 546, 701, 0, 611, 625, 705, 624, 698, 433, 0, - 459, 622, 569, 0, 615, 588, 589, 0, 616, 584, - 620, 0, 558, 0, 527, 530, 559, 644, 645, 646, - 317, 529, 648, 649, 650, 651, 652, 653, 654, 647, - 499, 592, 568, 595, 508, 571, 570, 0, 0, 606, - 525, 607, 608, 417, 418, 419, 420, 377, 632, 338, - 528, 446, 0, 593, 0, 0, 0, 0, 0, 0, - 0, 0, 598, 599, 596, 710, 0, 655, 656, 0, - 0, 522, 523, 372, 0, 541, 380, 337, 432, 374, - 506, 389, 0, 534, 600, 535, 448, 449, 658, 663, - 659, 660, 662, 682, 424, 384, 386, 463, 390, 400, - 451, 505, 430, 456, 335, 495, 465, 405, 585, 613, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 640, 639, 638, - 637, 636, 635, 634, 633, 0, 0, 582, 482, 351, - 305, 347, 348, 355, 699, 695, 661, 700, 683, 686, - 685, 0, 313, 562, 398, 445, 371, 627, 628, 0, - 681, 259, 260, 261, 262, 263, 264, 265, 266, 306, - 267, 268, 269, 270, 271, 272, 273, 276, 277, 278, - 279, 280, 281, 282, 283, 630, 274, 275, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 0, 0, 0, 0, 307, 687, 688, 689, - 690, 691, 0, 0, 308, 309, 310, 0, 0, 300, - 473, 301, 302, 303, 304, 0, 0, 512, 513, 514, - 537, 0, 515, 497, 561, 381, 314, 477, 504, 697, - 0, 0, 0, 0, 0, 0, 0, 612, 623, 657, - 0, 669, 670, 672, 674, 673, 676, 470, 471, 684, - 0, 678, 679, 680, 677, 402, 457, 478, 464, 0, - 703, 552, 553, 704, 665, 429, 0, 0, 567, 601, - 590, 675, 555, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 364, 0, 0, 397, 605, 586, 597, - 587, 572, 573, 574, 581, 376, 575, 576, 577, 547, - 578, 548, 579, 580, 0, 604, 554, 466, 413, 0, - 621, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 245, 0, 0, 0, 0, 0, 0, 333, 246, - 549, 671, 551, 550, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 336, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3352, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 467, 496, 0, 509, 0, 387, 388, - 0, 0, 0, 0, 0, 0, 0, 321, 474, 493, - 334, 461, 507, 339, 469, 486, 329, 428, 458, 0, - 0, 323, 491, 468, 410, 322, 0, 452, 362, 378, - 359, 426, 0, 490, 520, 358, 510, 0, 501, 325, - 0, 500, 425, 487, 492, 411, 404, 0, 324, 489, - 409, 403, 391, 368, 536, 392, 393, 382, 440, 401, - 441, 383, 415, 414, 416, 0, 0, 0, 0, 0, - 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, - 668, 0, 503, 0, 0, 0, 0, 0, 0, 472, - 0, 0, 394, 0, 0, 0, 521, 0, 455, 431, - 706, 0, 0, 453, 399, 488, 442, 494, 475, 502, - 447, 443, 315, 476, 361, 412, 330, 332, 696, 363, - 365, 369, 370, 421, 422, 436, 460, 479, 480, 481, - 360, 344, 454, 345, 379, 346, 316, 352, 350, 353, - 462, 354, 318, 437, 485, 0, 375, 450, 407, 319, - 406, 438, 484, 483, 331, 511, 518, 519, 609, 0, - 524, 707, 708, 709, 533, 0, 444, 327, 326, 0, - 0, 0, 356, 439, 340, 342, 343, 341, 434, 435, - 538, 539, 540, 542, 0, 543, 544, 0, 0, 0, - 0, 545, 610, 626, 594, 563, 526, 618, 560, 564, - 565, 385, 629, 0, 0, 0, 517, 395, 396, 0, - 367, 366, 408, 320, 0, 0, 373, 311, 312, 702, - 357, 427, 631, 666, 667, 556, 0, 619, 557, 566, - 349, 591, 603, 602, 423, 516, 0, 614, 617, 546, - 701, 0, 611, 625, 705, 624, 698, 433, 0, 459, - 622, 569, 0, 615, 588, 589, 0, 616, 584, 620, - 0, 558, 0, 527, 530, 559, 644, 645, 646, 317, - 529, 648, 649, 650, 651, 652, 653, 654, 647, 499, - 592, 568, 595, 508, 571, 570, 0, 0, 606, 525, - 607, 608, 417, 418, 419, 420, 377, 632, 338, 528, - 446, 0, 593, 0, 0, 0, 0, 0, 0, 0, - 0, 598, 599, 596, 710, 0, 655, 656, 0, 0, - 522, 523, 372, 0, 541, 380, 337, 432, 374, 506, - 389, 0, 534, 600, 535, 448, 449, 658, 663, 659, - 660, 662, 682, 424, 384, 386, 463, 390, 400, 451, - 505, 430, 456, 335, 495, 465, 405, 585, 613, 0, + 0, 336, 246, 552, 674, 554, 553, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 339, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 470, 499, 0, 512, + 0, 390, 391, 0, 0, 0, 0, 0, 0, 0, + 324, 477, 496, 337, 464, 510, 342, 472, 489, 332, + 431, 461, 0, 0, 326, 494, 471, 413, 325, 0, + 455, 365, 381, 362, 429, 0, 493, 523, 361, 513, + 0, 504, 328, 0, 503, 428, 490, 495, 414, 407, + 0, 327, 492, 412, 406, 394, 371, 539, 395, 396, + 385, 443, 404, 444, 386, 418, 417, 419, 0, 0, + 0, 0, 0, 534, 535, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 667, 0, 0, 671, 0, 506, 0, 0, 0, 0, + 0, 0, 475, 0, 0, 397, 0, 0, 0, 524, + 0, 458, 434, 709, 0, 0, 456, 402, 491, 445, + 497, 478, 505, 450, 446, 315, 479, 364, 415, 333, + 335, 699, 366, 368, 372, 373, 424, 425, 439, 463, + 482, 483, 484, 363, 347, 457, 348, 382, 349, 319, + 355, 353, 356, 465, 357, 321, 440, 488, 0, 378, + 453, 410, 322, 409, 441, 487, 486, 334, 514, 521, + 522, 612, 0, 527, 710, 711, 712, 536, 0, 447, + 330, 329, 0, 0, 0, 359, 442, 343, 345, 346, + 344, 437, 438, 541, 542, 543, 545, 0, 546, 547, + 0, 0, 0, 0, 548, 316, 317, 318, 613, 629, + 597, 566, 529, 621, 563, 567, 568, 388, 632, 0, + 0, 0, 520, 398, 399, 0, 370, 369, 411, 323, + 0, 0, 376, 311, 312, 705, 360, 430, 634, 669, + 670, 559, 0, 622, 560, 569, 352, 594, 606, 605, + 426, 519, 0, 617, 620, 549, 704, 0, 614, 628, + 708, 627, 701, 436, 0, 462, 625, 572, 0, 618, + 591, 592, 0, 619, 587, 623, 0, 561, 0, 530, + 533, 562, 647, 648, 649, 320, 532, 651, 652, 653, + 654, 655, 656, 657, 650, 502, 595, 571, 598, 511, + 574, 573, 0, 0, 609, 528, 610, 611, 420, 421, + 422, 423, 380, 635, 341, 531, 449, 0, 596, 0, + 0, 0, 0, 0, 0, 0, 0, 601, 602, 599, + 713, 0, 658, 659, 0, 0, 525, 526, 375, 0, + 544, 383, 340, 435, 377, 509, 392, 0, 537, 603, + 538, 451, 452, 661, 666, 662, 663, 665, 685, 427, + 387, 389, 466, 393, 403, 454, 508, 433, 459, 338, + 498, 468, 408, 588, 616, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 640, 639, 638, 637, - 636, 635, 634, 633, 0, 0, 582, 482, 351, 305, - 347, 348, 355, 699, 695, 661, 700, 683, 686, 685, - 0, 313, 562, 398, 445, 371, 627, 628, 0, 681, - 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, - 268, 269, 270, 271, 272, 273, 276, 277, 278, 279, - 280, 281, 282, 283, 630, 274, 275, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 0, 0, 0, 0, 307, 687, 688, 689, 690, - 691, 0, 0, 308, 309, 310, 0, 0, 300, 473, - 301, 302, 303, 304, 0, 0, 512, 513, 514, 537, - 0, 515, 497, 561, 381, 314, 477, 504, 697, 0, - 0, 0, 0, 0, 0, 0, 612, 623, 657, 0, - 669, 670, 672, 674, 673, 676, 470, 471, 684, 0, - 678, 679, 680, 677, 402, 457, 478, 464, 0, 703, - 552, 553, 704, 665, 429, 0, 0, 567, 601, 590, - 675, 555, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 364, 0, 0, 397, 605, 586, 597, 587, - 572, 573, 574, 581, 376, 575, 576, 577, 547, 578, - 548, 579, 580, 0, 604, 554, 466, 413, 0, 621, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 245, 0, 0, 1678, 0, 0, 0, 333, 246, 549, - 671, 551, 550, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 467, 496, 0, 509, 0, 387, 388, 0, - 0, 0, 0, 0, 0, 0, 321, 474, 493, 334, - 461, 507, 339, 469, 486, 329, 428, 458, 0, 0, - 323, 491, 468, 410, 322, 0, 452, 362, 378, 359, - 426, 0, 490, 520, 358, 510, 0, 501, 325, 0, - 500, 425, 487, 492, 411, 404, 0, 324, 489, 409, - 403, 391, 368, 536, 392, 393, 382, 440, 401, 441, - 383, 415, 414, 416, 0, 0, 0, 0, 0, 531, - 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 664, 0, 0, 668, - 0, 503, 0, 0, 0, 0, 0, 0, 472, 0, - 0, 394, 0, 0, 0, 521, 0, 455, 431, 706, - 0, 0, 453, 399, 488, 442, 494, 475, 502, 447, - 443, 315, 476, 361, 412, 330, 332, 696, 363, 365, - 369, 370, 421, 422, 436, 460, 479, 480, 481, 360, - 344, 454, 345, 379, 346, 316, 352, 350, 353, 462, - 354, 318, 437, 485, 0, 375, 450, 407, 319, 406, - 438, 484, 483, 331, 511, 518, 519, 609, 0, 524, - 707, 708, 709, 533, 0, 444, 327, 326, 0, 0, - 0, 356, 439, 340, 342, 343, 341, 434, 435, 538, - 539, 540, 542, 0, 543, 544, 0, 0, 0, 0, - 545, 610, 626, 594, 563, 526, 618, 560, 564, 565, - 385, 629, 0, 0, 0, 517, 395, 396, 0, 367, - 366, 408, 320, 0, 0, 373, 311, 312, 702, 357, - 427, 631, 666, 667, 556, 0, 619, 557, 566, 349, - 591, 603, 602, 423, 516, 0, 614, 617, 546, 701, - 0, 611, 625, 705, 624, 698, 433, 0, 459, 622, - 569, 0, 615, 588, 589, 0, 616, 584, 620, 0, - 558, 0, 527, 530, 559, 644, 645, 646, 317, 529, - 648, 649, 650, 651, 652, 653, 654, 647, 499, 592, - 568, 595, 508, 571, 570, 0, 0, 606, 525, 607, - 608, 417, 418, 419, 420, 377, 632, 338, 528, 446, - 0, 593, 0, 0, 0, 0, 0, 0, 0, 0, - 598, 599, 596, 710, 0, 655, 656, 0, 0, 522, - 523, 372, 0, 541, 380, 337, 432, 374, 506, 389, - 0, 534, 600, 535, 448, 449, 658, 663, 659, 660, - 662, 682, 424, 384, 386, 463, 390, 400, 451, 505, - 430, 456, 335, 495, 465, 405, 585, 613, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, - 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 640, 639, 638, 637, 636, - 635, 634, 633, 0, 0, 582, 482, 351, 305, 347, - 348, 355, 699, 695, 661, 700, 683, 686, 685, 0, - 313, 562, 398, 445, 371, 627, 628, 0, 681, 259, - 260, 261, 262, 263, 264, 265, 266, 306, 267, 268, - 269, 270, 271, 272, 273, 276, 277, 278, 279, 280, - 281, 282, 283, 630, 274, 275, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 0, 0, 0, 0, 307, 687, 688, 689, 690, 691, - 0, 0, 308, 309, 310, 0, 0, 300, 473, 301, - 302, 303, 304, 0, 0, 512, 513, 514, 537, 0, - 515, 497, 561, 381, 314, 477, 504, 697, 0, 0, - 0, 0, 0, 0, 0, 612, 623, 657, 0, 669, - 670, 672, 674, 673, 676, 470, 471, 684, 0, 678, - 679, 680, 677, 402, 457, 478, 464, 0, 703, 552, - 553, 704, 665, 429, 0, 0, 567, 601, 590, 675, - 555, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 364, 0, 0, 397, 605, 586, 597, 587, 572, - 573, 574, 581, 376, 575, 576, 577, 547, 578, 548, - 579, 580, 0, 604, 554, 466, 413, 0, 621, 0, + 0, 0, 643, 642, 641, 640, 639, 638, 637, 636, + 0, 0, 585, 485, 354, 305, 350, 351, 358, 702, + 698, 664, 703, 686, 689, 688, 0, 313, 565, 401, + 448, 374, 630, 631, 0, 684, 259, 260, 261, 262, + 263, 264, 265, 266, 306, 267, 268, 269, 270, 271, + 272, 273, 276, 277, 278, 279, 280, 281, 282, 283, + 633, 274, 275, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 0, 0, 0, + 0, 307, 690, 691, 692, 693, 694, 0, 0, 308, + 309, 310, 0, 0, 300, 476, 301, 302, 303, 304, + 0, 0, 515, 516, 517, 540, 0, 518, 500, 564, + 384, 314, 480, 507, 700, 0, 0, 0, 0, 0, + 0, 0, 615, 626, 660, 0, 672, 673, 675, 677, + 676, 679, 473, 474, 687, 0, 681, 682, 683, 680, + 405, 460, 481, 467, 0, 706, 555, 556, 707, 668, + 432, 0, 0, 570, 604, 593, 678, 558, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, + 0, 400, 608, 589, 600, 590, 575, 576, 577, 584, + 379, 578, 579, 580, 550, 581, 551, 582, 583, 0, + 607, 557, 469, 416, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, - 0, 0, 2747, 0, 0, 0, 333, 246, 549, 671, - 551, 550, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 336, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 467, 496, 0, 509, 0, 387, 388, 0, 0, - 0, 0, 0, 0, 0, 321, 474, 493, 334, 461, - 507, 339, 469, 486, 329, 428, 458, 0, 0, 323, - 491, 468, 410, 322, 0, 452, 362, 378, 359, 426, - 0, 490, 520, 358, 510, 0, 501, 325, 0, 500, - 425, 487, 492, 411, 404, 0, 324, 489, 409, 403, - 391, 368, 536, 392, 393, 382, 440, 401, 441, 383, - 415, 414, 416, 0, 0, 0, 0, 0, 531, 532, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 664, 0, 0, 668, 0, - 503, 0, 0, 0, 0, 0, 0, 472, 0, 0, - 394, 0, 0, 0, 521, 0, 455, 431, 706, 0, - 0, 453, 399, 488, 442, 494, 475, 502, 447, 443, - 315, 476, 361, 412, 330, 332, 696, 363, 365, 369, - 370, 421, 422, 436, 460, 479, 480, 481, 360, 344, - 454, 345, 379, 346, 316, 352, 350, 353, 462, 354, - 318, 437, 485, 0, 375, 450, 407, 319, 406, 438, - 484, 483, 331, 511, 518, 519, 609, 0, 524, 707, - 708, 709, 533, 0, 444, 327, 326, 0, 0, 0, - 356, 439, 340, 342, 343, 341, 434, 435, 538, 539, - 540, 542, 0, 543, 544, 0, 0, 0, 0, 545, - 610, 626, 594, 563, 526, 618, 560, 564, 565, 385, - 629, 0, 0, 0, 517, 395, 396, 0, 367, 366, - 408, 320, 0, 0, 373, 311, 312, 702, 357, 427, - 631, 666, 667, 556, 0, 619, 557, 566, 349, 591, - 603, 602, 423, 516, 0, 614, 617, 546, 701, 0, - 611, 625, 705, 624, 698, 433, 0, 459, 622, 569, - 0, 615, 588, 589, 0, 616, 584, 620, 0, 558, - 0, 527, 530, 559, 644, 645, 646, 317, 529, 648, - 649, 650, 651, 652, 653, 654, 647, 499, 592, 568, - 595, 508, 571, 570, 0, 0, 606, 525, 607, 608, - 417, 418, 419, 420, 377, 632, 338, 528, 446, 0, - 593, 0, 0, 0, 0, 0, 0, 0, 0, 598, - 599, 596, 710, 0, 655, 656, 0, 0, 522, 523, - 372, 0, 541, 380, 337, 432, 374, 506, 389, 0, - 534, 600, 535, 448, 449, 658, 663, 659, 660, 662, - 682, 424, 384, 386, 463, 390, 400, 451, 505, 430, - 456, 335, 495, 465, 405, 585, 613, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 245, 0, 0, 0, + 0, 0, 0, 336, 246, 552, 674, 554, 553, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 339, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3679, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 470, 499, + 0, 512, 0, 390, 391, 0, 0, 0, 0, 0, + 0, 0, 324, 477, 496, 337, 464, 510, 342, 472, + 489, 332, 431, 461, 0, 0, 326, 494, 471, 413, + 325, 0, 455, 365, 381, 362, 429, 0, 493, 523, + 361, 513, 0, 504, 328, 0, 503, 428, 490, 495, + 414, 407, 0, 327, 492, 412, 406, 394, 371, 539, + 395, 396, 385, 443, 404, 444, 386, 418, 417, 419, + 0, 0, 0, 0, 0, 534, 535, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 667, 0, 0, 671, 0, 506, 0, 0, + 0, 0, 0, 0, 475, 0, 0, 397, 0, 0, + 0, 524, 0, 458, 434, 709, 0, 0, 456, 402, + 491, 445, 497, 478, 505, 450, 446, 315, 479, 364, + 415, 333, 335, 699, 366, 368, 372, 373, 424, 425, + 439, 463, 482, 483, 484, 363, 347, 457, 348, 382, + 349, 319, 355, 353, 356, 465, 357, 321, 440, 488, + 0, 378, 453, 410, 322, 409, 441, 487, 486, 334, + 514, 521, 522, 612, 0, 527, 710, 711, 712, 536, + 0, 447, 330, 329, 0, 0, 0, 359, 442, 343, + 345, 346, 344, 437, 438, 541, 542, 543, 545, 0, + 546, 547, 0, 0, 0, 0, 548, 316, 317, 318, + 613, 629, 597, 566, 529, 621, 563, 567, 568, 388, + 632, 0, 0, 0, 520, 398, 399, 0, 370, 369, + 411, 323, 0, 0, 376, 311, 312, 705, 360, 430, + 634, 669, 670, 559, 0, 622, 560, 569, 352, 594, + 606, 605, 426, 519, 0, 617, 620, 549, 704, 0, + 614, 628, 708, 627, 701, 436, 0, 462, 625, 572, + 0, 618, 591, 592, 0, 619, 587, 623, 0, 561, + 0, 530, 533, 562, 647, 648, 649, 320, 532, 651, + 652, 653, 654, 655, 656, 657, 650, 502, 595, 571, + 598, 511, 574, 573, 0, 0, 609, 528, 610, 611, + 420, 421, 422, 423, 380, 635, 341, 531, 449, 0, + 596, 0, 0, 0, 0, 0, 0, 0, 0, 601, + 602, 599, 713, 0, 658, 659, 0, 0, 525, 526, + 375, 0, 544, 383, 340, 435, 377, 509, 392, 0, + 537, 603, 538, 451, 452, 661, 666, 662, 663, 665, + 685, 427, 387, 389, 466, 393, 403, 454, 508, 433, + 459, 338, 498, 468, 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 640, 639, 638, 637, 636, 635, - 634, 633, 0, 0, 582, 482, 351, 305, 347, 348, - 355, 699, 695, 661, 700, 683, 686, 685, 0, 313, - 562, 398, 445, 371, 627, 628, 0, 681, 259, 260, + 0, 0, 0, 0, 643, 642, 641, 640, 639, 638, + 637, 636, 0, 0, 585, 485, 354, 305, 350, 351, + 358, 702, 698, 664, 703, 686, 689, 688, 0, 313, + 565, 401, 448, 374, 630, 631, 0, 684, 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, 278, 279, 280, 281, - 282, 283, 630, 274, 275, 284, 285, 286, 287, 288, + 282, 283, 633, 274, 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, - 0, 0, 0, 307, 687, 688, 689, 690, 691, 0, - 0, 308, 309, 310, 0, 0, 300, 473, 301, 302, - 303, 304, 0, 0, 512, 513, 514, 537, 0, 515, - 497, 561, 381, 314, 477, 504, 697, 0, 0, 0, - 0, 0, 0, 0, 612, 623, 657, 0, 669, 670, - 672, 674, 673, 676, 470, 471, 684, 0, 678, 679, - 680, 677, 402, 457, 478, 464, 0, 703, 552, 553, - 704, 665, 429, 0, 0, 567, 601, 590, 675, 555, - 0, 0, 3155, 0, 0, 0, 0, 0, 0, 0, - 364, 0, 0, 397, 605, 586, 597, 587, 572, 573, - 574, 581, 376, 575, 576, 577, 547, 578, 548, 579, - 580, 0, 604, 554, 466, 413, 0, 621, 0, 0, + 0, 0, 0, 307, 690, 691, 692, 693, 694, 0, + 0, 308, 309, 310, 0, 0, 300, 476, 301, 302, + 303, 304, 0, 0, 515, 516, 517, 540, 0, 518, + 500, 564, 384, 314, 480, 507, 700, 0, 0, 0, + 0, 0, 0, 0, 615, 626, 660, 0, 672, 673, + 675, 677, 676, 679, 473, 474, 687, 0, 681, 682, + 683, 680, 405, 460, 481, 467, 0, 706, 555, 556, + 707, 668, 432, 0, 0, 570, 604, 593, 678, 558, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 367, 0, 0, 400, 608, 589, 600, 590, 575, 576, + 577, 584, 379, 578, 579, 580, 550, 581, 551, 582, + 583, 0, 607, 557, 469, 416, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, 0, - 0, 0, 0, 0, 0, 333, 246, 549, 671, 551, - 550, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 467, 496, 0, 509, 0, 387, 388, 0, 0, 0, - 0, 0, 0, 0, 321, 474, 493, 334, 461, 507, - 339, 469, 486, 329, 428, 458, 0, 0, 323, 491, - 468, 410, 322, 0, 452, 362, 378, 359, 426, 0, - 490, 520, 358, 510, 0, 501, 325, 0, 500, 425, - 487, 492, 411, 404, 0, 324, 489, 409, 403, 391, - 368, 536, 392, 393, 382, 440, 401, 441, 383, 415, - 414, 416, 0, 0, 0, 0, 0, 531, 532, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 664, 0, 0, 668, 0, 503, - 0, 0, 0, 0, 0, 0, 472, 0, 0, 394, - 0, 0, 0, 521, 0, 455, 431, 706, 0, 0, - 453, 399, 488, 442, 494, 475, 502, 447, 443, 315, - 476, 361, 412, 330, 332, 696, 363, 365, 369, 370, - 421, 422, 436, 460, 479, 480, 481, 360, 344, 454, - 345, 379, 346, 316, 352, 350, 353, 462, 354, 318, - 437, 485, 0, 375, 450, 407, 319, 406, 438, 484, - 483, 331, 511, 518, 519, 609, 0, 524, 707, 708, - 709, 533, 0, 444, 327, 326, 0, 0, 0, 356, - 439, 340, 342, 343, 341, 434, 435, 538, 539, 540, - 542, 0, 543, 544, 0, 0, 0, 0, 545, 610, - 626, 594, 563, 526, 618, 560, 564, 565, 385, 629, - 0, 0, 0, 517, 395, 396, 0, 367, 366, 408, - 320, 0, 0, 373, 311, 312, 702, 357, 427, 631, - 666, 667, 556, 0, 619, 557, 566, 349, 591, 603, - 602, 423, 516, 0, 614, 617, 546, 701, 0, 611, - 625, 705, 624, 698, 433, 0, 459, 622, 569, 0, - 615, 588, 589, 0, 616, 584, 620, 0, 558, 0, - 527, 530, 559, 644, 645, 646, 317, 529, 648, 649, - 650, 651, 652, 653, 654, 647, 499, 592, 568, 595, - 508, 571, 570, 0, 0, 606, 525, 607, 608, 417, - 418, 419, 420, 377, 632, 338, 528, 446, 0, 593, - 0, 0, 0, 0, 0, 0, 0, 0, 598, 599, - 596, 710, 0, 655, 656, 0, 0, 522, 523, 372, - 0, 541, 380, 337, 432, 374, 506, 389, 0, 534, - 600, 535, 448, 449, 658, 663, 659, 660, 662, 682, - 424, 384, 386, 463, 390, 400, 451, 505, 430, 456, - 335, 495, 465, 405, 585, 613, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 298, 299, 0, + 0, 3537, 0, 0, 0, 336, 246, 552, 674, 554, + 553, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 339, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 470, 499, 0, 512, 0, 390, 391, 0, 0, 0, + 0, 0, 0, 0, 324, 477, 496, 337, 464, 510, + 342, 472, 489, 332, 431, 461, 0, 0, 326, 494, + 471, 413, 325, 0, 455, 365, 381, 362, 429, 0, + 493, 523, 361, 513, 0, 504, 328, 0, 503, 428, + 490, 495, 414, 407, 0, 327, 492, 412, 406, 394, + 371, 539, 395, 396, 385, 443, 404, 444, 386, 418, + 417, 419, 0, 0, 0, 0, 0, 534, 535, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 667, 0, 0, 671, 0, 506, + 0, 0, 0, 0, 0, 0, 475, 0, 0, 397, + 0, 0, 0, 524, 0, 458, 434, 709, 0, 0, + 456, 402, 491, 445, 497, 478, 505, 450, 446, 315, + 479, 364, 415, 333, 335, 699, 366, 368, 372, 373, + 424, 425, 439, 463, 482, 483, 484, 363, 347, 457, + 348, 382, 349, 319, 355, 353, 356, 465, 357, 321, + 440, 488, 0, 378, 453, 410, 322, 409, 441, 487, + 486, 334, 514, 521, 522, 612, 0, 527, 710, 711, + 712, 536, 0, 447, 330, 329, 0, 0, 0, 359, + 442, 343, 345, 346, 344, 437, 438, 541, 542, 543, + 545, 0, 546, 547, 0, 0, 0, 0, 548, 316, + 317, 318, 613, 629, 597, 566, 529, 621, 563, 567, + 568, 388, 632, 0, 0, 0, 520, 398, 399, 0, + 370, 369, 411, 323, 0, 0, 376, 311, 312, 705, + 360, 430, 634, 669, 670, 559, 0, 622, 560, 569, + 352, 594, 606, 605, 426, 519, 0, 617, 620, 549, + 704, 0, 614, 628, 708, 627, 701, 436, 0, 462, + 625, 572, 0, 618, 591, 592, 0, 619, 587, 623, + 0, 561, 0, 530, 533, 562, 647, 648, 649, 320, + 532, 651, 652, 653, 654, 655, 656, 657, 650, 502, + 595, 571, 598, 511, 574, 573, 0, 0, 609, 528, + 610, 611, 420, 421, 422, 423, 380, 635, 341, 531, + 449, 0, 596, 0, 0, 0, 0, 0, 0, 0, + 0, 601, 602, 599, 713, 0, 658, 659, 0, 0, + 525, 526, 375, 0, 544, 383, 340, 435, 377, 509, + 392, 0, 537, 603, 538, 451, 452, 661, 666, 662, + 663, 665, 685, 427, 387, 389, 466, 393, 403, 454, + 508, 433, 459, 338, 498, 468, 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 640, 639, 638, 637, 636, 635, 634, - 633, 0, 0, 582, 482, 351, 305, 347, 348, 355, - 699, 695, 661, 700, 683, 686, 685, 0, 313, 562, - 398, 445, 371, 627, 628, 0, 681, 259, 260, 261, - 262, 263, 264, 265, 266, 306, 267, 268, 269, 270, - 271, 272, 273, 276, 277, 278, 279, 280, 281, 282, - 283, 630, 274, 275, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, - 0, 0, 307, 687, 688, 689, 690, 691, 0, 0, - 308, 309, 310, 0, 0, 300, 473, 301, 302, 303, - 304, 0, 0, 512, 513, 514, 537, 0, 515, 497, - 561, 381, 314, 477, 504, 697, 0, 0, 0, 0, - 0, 0, 0, 612, 623, 657, 0, 669, 670, 672, - 674, 673, 676, 470, 471, 684, 0, 678, 679, 680, - 677, 402, 457, 478, 464, 0, 703, 552, 553, 704, - 665, 429, 0, 0, 567, 601, 590, 675, 555, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, - 0, 0, 397, 605, 586, 597, 587, 572, 573, 574, - 581, 376, 575, 576, 577, 547, 578, 548, 579, 580, - 0, 604, 554, 466, 413, 0, 621, 0, 0, 0, + 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 643, 642, 641, 640, + 639, 638, 637, 636, 0, 0, 585, 485, 354, 305, + 350, 351, 358, 702, 698, 664, 703, 686, 689, 688, + 0, 313, 565, 401, 448, 374, 630, 631, 0, 684, + 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, + 268, 269, 270, 271, 272, 273, 276, 277, 278, 279, + 280, 281, 282, 283, 633, 274, 275, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 0, 0, 0, 0, 307, 690, 691, 692, 693, + 694, 0, 0, 308, 309, 310, 0, 0, 300, 476, + 301, 302, 303, 304, 0, 0, 515, 516, 517, 540, + 0, 518, 500, 564, 384, 314, 480, 507, 700, 0, + 0, 0, 0, 0, 0, 0, 615, 626, 660, 0, + 672, 673, 675, 677, 676, 679, 473, 474, 687, 0, + 681, 682, 683, 680, 405, 460, 481, 467, 3466, 706, + 555, 556, 707, 668, 432, 0, 0, 570, 604, 593, + 678, 558, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 367, 0, 0, 400, 608, 589, 600, 590, + 575, 576, 577, 584, 379, 578, 579, 580, 550, 581, + 551, 582, 583, 0, 607, 557, 469, 416, 0, 624, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 245, 0, 0, 0, 0, 0, 0, 336, 246, 552, + 674, 554, 553, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 339, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 470, 499, 0, 512, 0, 390, 391, 0, + 0, 0, 0, 0, 0, 0, 324, 477, 496, 337, + 464, 510, 342, 472, 489, 332, 431, 461, 0, 0, + 326, 494, 471, 413, 325, 0, 455, 365, 381, 362, + 429, 0, 493, 523, 361, 513, 0, 504, 328, 0, + 503, 428, 490, 495, 414, 407, 0, 327, 492, 412, + 406, 394, 371, 539, 395, 396, 385, 443, 404, 444, + 386, 418, 417, 419, 0, 0, 0, 0, 0, 534, + 535, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 667, 0, 0, 671, + 0, 506, 0, 0, 0, 0, 0, 0, 475, 0, + 0, 397, 0, 0, 0, 524, 0, 458, 434, 709, + 0, 0, 456, 402, 491, 445, 497, 478, 505, 450, + 446, 315, 479, 364, 415, 333, 335, 699, 366, 368, + 372, 373, 424, 425, 439, 463, 482, 483, 484, 363, + 347, 457, 348, 382, 349, 319, 355, 353, 356, 465, + 357, 321, 440, 488, 0, 378, 453, 410, 322, 409, + 441, 487, 486, 334, 514, 521, 522, 612, 0, 527, + 710, 711, 712, 536, 0, 447, 330, 329, 0, 0, + 0, 359, 442, 343, 345, 346, 344, 437, 438, 541, + 542, 543, 545, 0, 546, 547, 0, 0, 0, 0, + 548, 316, 317, 318, 613, 629, 597, 566, 529, 621, + 563, 567, 568, 388, 632, 0, 0, 0, 520, 398, + 399, 0, 370, 369, 411, 323, 0, 0, 376, 311, + 312, 705, 360, 430, 634, 669, 670, 559, 0, 622, + 560, 569, 352, 594, 606, 605, 426, 519, 0, 617, + 620, 549, 704, 0, 614, 628, 708, 627, 701, 436, + 0, 462, 625, 572, 0, 618, 591, 592, 0, 619, + 587, 623, 0, 561, 0, 530, 533, 562, 647, 648, + 649, 320, 532, 651, 652, 653, 654, 655, 656, 657, + 650, 502, 595, 571, 598, 511, 574, 573, 0, 0, + 609, 528, 610, 611, 420, 421, 422, 423, 380, 635, + 341, 531, 449, 0, 596, 0, 0, 0, 0, 0, + 0, 0, 0, 601, 602, 599, 713, 0, 658, 659, + 0, 0, 525, 526, 375, 0, 544, 383, 340, 435, + 377, 509, 392, 0, 537, 603, 538, 451, 452, 661, + 666, 662, 663, 665, 685, 427, 387, 389, 466, 393, + 403, 454, 508, 433, 459, 338, 498, 468, 408, 588, + 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 643, 642, + 641, 640, 639, 638, 637, 636, 0, 0, 585, 485, + 354, 305, 350, 351, 358, 702, 698, 664, 703, 686, + 689, 688, 0, 313, 565, 401, 448, 374, 630, 631, + 0, 684, 259, 260, 261, 262, 263, 264, 265, 266, + 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, + 278, 279, 280, 281, 282, 283, 633, 274, 275, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 0, 0, 0, 0, 307, 690, 691, + 692, 693, 694, 0, 0, 308, 309, 310, 0, 0, + 300, 476, 301, 302, 303, 304, 0, 0, 515, 516, + 517, 540, 0, 518, 500, 564, 384, 314, 480, 507, + 700, 0, 0, 0, 0, 0, 0, 0, 615, 626, + 660, 0, 672, 673, 675, 677, 676, 679, 473, 474, + 687, 0, 681, 682, 683, 680, 405, 460, 481, 467, + 0, 706, 555, 556, 707, 668, 432, 0, 0, 570, + 604, 593, 678, 558, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 367, 0, 0, 400, 608, 589, + 600, 590, 575, 576, 577, 584, 379, 578, 579, 580, + 550, 581, 551, 582, 583, 0, 607, 557, 469, 416, + 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 245, 0, 0, 0, 0, 0, 0, 336, + 246, 552, 674, 554, 553, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 339, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3366, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 470, 499, 0, 512, 0, 390, + 391, 0, 0, 0, 0, 0, 0, 0, 324, 477, + 496, 337, 464, 510, 342, 472, 489, 332, 431, 461, + 0, 0, 326, 494, 471, 413, 325, 0, 455, 365, + 381, 362, 429, 0, 493, 523, 361, 513, 0, 504, + 328, 0, 503, 428, 490, 495, 414, 407, 0, 327, + 492, 412, 406, 394, 371, 539, 395, 396, 385, 443, + 404, 444, 386, 418, 417, 419, 0, 0, 0, 0, + 0, 534, 535, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 667, 0, + 0, 671, 0, 506, 0, 0, 0, 0, 0, 0, + 475, 0, 0, 397, 0, 0, 0, 524, 0, 458, + 434, 709, 0, 0, 456, 402, 491, 445, 497, 478, + 505, 450, 446, 315, 479, 364, 415, 333, 335, 699, + 366, 368, 372, 373, 424, 425, 439, 463, 482, 483, + 484, 363, 347, 457, 348, 382, 349, 319, 355, 353, + 356, 465, 357, 321, 440, 488, 0, 378, 453, 410, + 322, 409, 441, 487, 486, 334, 514, 521, 522, 612, + 0, 527, 710, 711, 712, 536, 0, 447, 330, 329, + 0, 0, 0, 359, 442, 343, 345, 346, 344, 437, + 438, 541, 542, 543, 545, 0, 546, 547, 0, 0, + 0, 0, 548, 316, 317, 318, 613, 629, 597, 566, + 529, 621, 563, 567, 568, 388, 632, 0, 0, 0, + 520, 398, 399, 0, 370, 369, 411, 323, 0, 0, + 376, 311, 312, 705, 360, 430, 634, 669, 670, 559, + 0, 622, 560, 569, 352, 594, 606, 605, 426, 519, + 0, 617, 620, 549, 704, 0, 614, 628, 708, 627, + 701, 436, 0, 462, 625, 572, 0, 618, 591, 592, + 0, 619, 587, 623, 0, 561, 0, 530, 533, 562, + 647, 648, 649, 320, 532, 651, 652, 653, 654, 655, + 656, 657, 650, 502, 595, 571, 598, 511, 574, 573, + 0, 0, 609, 528, 610, 611, 420, 421, 422, 423, + 380, 635, 341, 531, 449, 0, 596, 0, 0, 0, + 0, 0, 0, 0, 0, 601, 602, 599, 713, 0, + 658, 659, 0, 0, 525, 526, 375, 0, 544, 383, + 340, 435, 377, 509, 392, 0, 537, 603, 538, 451, + 452, 661, 666, 662, 663, 665, 685, 427, 387, 389, + 466, 393, 403, 454, 508, 433, 459, 338, 498, 468, + 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 245, 0, 0, - 3076, 0, 0, 0, 333, 246, 549, 671, 551, 550, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 336, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, - 496, 0, 509, 0, 387, 388, 0, 0, 0, 0, - 0, 0, 0, 321, 474, 493, 334, 461, 507, 339, - 469, 486, 329, 428, 458, 0, 0, 323, 491, 468, - 410, 322, 0, 452, 362, 378, 359, 426, 0, 490, - 520, 358, 510, 0, 501, 325, 0, 500, 425, 487, - 492, 411, 404, 0, 324, 489, 409, 403, 391, 368, - 536, 392, 393, 382, 440, 401, 441, 383, 415, 414, - 416, 0, 0, 0, 0, 0, 531, 532, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 664, 0, 0, 668, 0, 503, 0, - 0, 0, 0, 0, 0, 472, 0, 0, 394, 0, - 0, 0, 521, 0, 455, 431, 706, 0, 0, 453, - 399, 488, 442, 494, 475, 502, 447, 443, 315, 476, - 361, 412, 330, 332, 696, 363, 365, 369, 370, 421, - 422, 436, 460, 479, 480, 481, 360, 344, 454, 345, - 379, 346, 316, 352, 350, 353, 462, 354, 318, 437, - 485, 0, 375, 450, 407, 319, 406, 438, 484, 483, - 331, 511, 518, 519, 609, 0, 524, 707, 708, 709, - 533, 0, 444, 327, 326, 0, 0, 0, 356, 439, - 340, 342, 343, 341, 434, 435, 538, 539, 540, 542, - 0, 543, 544, 0, 0, 0, 0, 545, 610, 626, - 594, 563, 526, 618, 560, 564, 565, 385, 629, 0, - 0, 0, 517, 395, 396, 0, 367, 366, 408, 320, - 0, 0, 373, 311, 312, 702, 357, 427, 631, 666, - 667, 556, 0, 619, 557, 566, 349, 591, 603, 602, - 423, 516, 0, 614, 617, 546, 701, 0, 611, 625, - 705, 624, 698, 433, 0, 459, 622, 569, 0, 615, - 588, 589, 0, 616, 584, 620, 0, 558, 0, 527, - 530, 559, 644, 645, 646, 317, 529, 648, 649, 650, - 651, 652, 653, 654, 647, 499, 592, 568, 595, 508, - 571, 570, 0, 0, 606, 525, 607, 608, 417, 418, - 419, 420, 377, 632, 338, 528, 446, 0, 593, 0, - 0, 0, 0, 0, 0, 0, 0, 598, 599, 596, - 710, 0, 655, 656, 0, 0, 522, 523, 372, 0, - 541, 380, 337, 432, 374, 506, 389, 0, 534, 600, - 535, 448, 449, 658, 663, 659, 660, 662, 682, 424, - 384, 386, 463, 390, 400, 451, 505, 430, 456, 335, - 495, 465, 405, 585, 613, 0, 0, 0, 0, 0, + 643, 642, 641, 640, 639, 638, 637, 636, 0, 0, + 585, 485, 354, 305, 350, 351, 358, 702, 698, 664, + 703, 686, 689, 688, 0, 313, 565, 401, 448, 374, + 630, 631, 0, 684, 259, 260, 261, 262, 263, 264, + 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, + 276, 277, 278, 279, 280, 281, 282, 283, 633, 274, + 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 0, 0, 0, 0, 307, + 690, 691, 692, 693, 694, 0, 0, 308, 309, 310, + 0, 0, 300, 476, 301, 302, 303, 304, 0, 0, + 515, 516, 517, 540, 0, 518, 500, 564, 384, 314, + 480, 507, 700, 0, 0, 0, 0, 0, 0, 0, + 615, 626, 660, 0, 672, 673, 675, 677, 676, 679, + 473, 474, 687, 0, 681, 682, 683, 680, 405, 460, + 481, 467, 0, 706, 555, 556, 707, 668, 432, 0, + 0, 570, 604, 593, 678, 558, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 367, 0, 0, 400, + 608, 589, 600, 590, 575, 576, 577, 584, 379, 578, + 579, 580, 550, 581, 551, 582, 583, 0, 607, 557, + 469, 416, 0, 624, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 245, 0, 0, 1681, 0, 0, + 0, 336, 246, 552, 674, 554, 553, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 339, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 470, 499, 0, 512, + 0, 390, 391, 0, 0, 0, 0, 0, 0, 0, + 324, 477, 496, 337, 464, 510, 342, 472, 489, 332, + 431, 461, 0, 0, 326, 494, 471, 413, 325, 0, + 455, 365, 381, 362, 429, 0, 493, 523, 361, 513, + 0, 504, 328, 0, 503, 428, 490, 495, 414, 407, + 0, 327, 492, 412, 406, 394, 371, 539, 395, 396, + 385, 443, 404, 444, 386, 418, 417, 419, 0, 0, + 0, 0, 0, 534, 535, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 667, 0, 0, 671, 0, 506, 0, 0, 0, 0, + 0, 0, 475, 0, 0, 397, 0, 0, 0, 524, + 0, 458, 434, 709, 0, 0, 456, 402, 491, 445, + 497, 478, 505, 450, 446, 315, 479, 364, 415, 333, + 335, 699, 366, 368, 372, 373, 424, 425, 439, 463, + 482, 483, 484, 363, 347, 457, 348, 382, 349, 319, + 355, 353, 356, 465, 357, 321, 440, 488, 0, 378, + 453, 410, 322, 409, 441, 487, 486, 334, 514, 521, + 522, 612, 0, 527, 710, 711, 712, 536, 0, 447, + 330, 329, 0, 0, 0, 359, 442, 343, 345, 346, + 344, 437, 438, 541, 542, 543, 545, 0, 546, 547, + 0, 0, 0, 0, 548, 316, 317, 318, 613, 629, + 597, 566, 529, 621, 563, 567, 568, 388, 632, 0, + 0, 0, 520, 398, 399, 0, 370, 369, 411, 323, + 0, 0, 376, 311, 312, 705, 360, 430, 634, 669, + 670, 559, 0, 622, 560, 569, 352, 594, 606, 605, + 426, 519, 0, 617, 620, 549, 704, 0, 614, 628, + 708, 627, 701, 436, 0, 462, 625, 572, 0, 618, + 591, 592, 0, 619, 587, 623, 0, 561, 0, 530, + 533, 562, 647, 648, 649, 320, 532, 651, 652, 653, + 654, 655, 656, 657, 650, 502, 595, 571, 598, 511, + 574, 573, 0, 0, 609, 528, 610, 611, 420, 421, + 422, 423, 380, 635, 341, 531, 449, 0, 596, 0, + 0, 0, 0, 0, 0, 0, 0, 601, 602, 599, + 713, 0, 658, 659, 0, 0, 525, 526, 375, 0, + 544, 383, 340, 435, 377, 509, 392, 0, 537, 603, + 538, 451, 452, 661, 666, 662, 663, 665, 685, 427, + 387, 389, 466, 393, 403, 454, 508, 433, 459, 338, + 498, 468, 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 640, 639, 638, 637, 636, 635, 634, 633, - 0, 0, 582, 482, 351, 305, 347, 348, 355, 699, - 695, 661, 700, 683, 686, 685, 0, 313, 562, 398, - 445, 371, 627, 628, 0, 681, 259, 260, 261, 262, + 0, 0, 643, 642, 641, 640, 639, 638, 637, 636, + 0, 0, 585, 485, 354, 305, 350, 351, 358, 702, + 698, 664, 703, 686, 689, 688, 0, 313, 565, 401, + 448, 374, 630, 631, 0, 684, 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, 278, 279, 280, 281, 282, 283, - 630, 274, 275, 284, 285, 286, 287, 288, 289, 290, + 633, 274, 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 0, - 0, 307, 687, 688, 689, 690, 691, 0, 0, 308, - 309, 310, 0, 0, 300, 473, 301, 302, 303, 304, - 0, 0, 512, 513, 514, 537, 0, 515, 497, 561, - 381, 314, 477, 504, 697, 0, 0, 0, 0, 0, - 0, 0, 612, 623, 657, 0, 669, 670, 672, 674, - 673, 676, 470, 471, 684, 0, 678, 679, 680, 677, - 402, 457, 478, 464, 0, 703, 552, 553, 704, 665, - 429, 0, 0, 567, 601, 590, 675, 555, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 364, 0, - 0, 397, 605, 586, 597, 587, 572, 573, 574, 581, - 376, 575, 576, 577, 547, 578, 548, 579, 580, 0, - 604, 554, 466, 413, 0, 621, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 245, 0, 0, 0, - 0, 0, 0, 333, 246, 549, 671, 551, 550, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 336, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3059, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 467, 496, - 0, 509, 0, 387, 388, 0, 0, 0, 0, 0, - 0, 0, 321, 474, 493, 334, 461, 507, 339, 469, - 486, 329, 428, 458, 0, 0, 323, 491, 468, 410, - 322, 0, 452, 362, 378, 359, 426, 0, 490, 520, - 358, 510, 0, 501, 325, 0, 500, 425, 487, 492, - 411, 404, 0, 324, 489, 409, 403, 391, 368, 536, - 392, 393, 382, 440, 401, 441, 383, 415, 414, 416, - 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 664, 0, 0, 668, 0, 503, 0, 0, - 0, 0, 0, 0, 472, 0, 0, 394, 0, 0, - 0, 521, 0, 455, 431, 706, 0, 0, 453, 399, - 488, 442, 494, 475, 502, 447, 443, 315, 476, 361, - 412, 330, 332, 696, 363, 365, 369, 370, 421, 422, - 436, 460, 479, 480, 481, 360, 344, 454, 345, 379, - 346, 316, 352, 350, 353, 462, 354, 318, 437, 485, - 0, 375, 450, 407, 319, 406, 438, 484, 483, 331, - 511, 518, 519, 609, 0, 524, 707, 708, 709, 533, - 0, 444, 327, 326, 0, 0, 0, 356, 439, 340, - 342, 343, 341, 434, 435, 538, 539, 540, 542, 0, - 543, 544, 0, 0, 0, 0, 545, 610, 626, 594, - 563, 526, 618, 560, 564, 565, 385, 629, 0, 0, - 0, 517, 395, 396, 0, 367, 366, 408, 320, 0, - 0, 373, 311, 312, 702, 357, 427, 631, 666, 667, - 556, 0, 619, 557, 566, 349, 591, 603, 602, 423, - 516, 0, 614, 617, 546, 701, 0, 611, 625, 705, - 624, 698, 433, 0, 459, 622, 569, 0, 615, 588, - 589, 0, 616, 584, 620, 0, 558, 0, 527, 530, - 559, 644, 645, 646, 317, 529, 648, 649, 650, 651, - 652, 653, 654, 647, 499, 592, 568, 595, 508, 571, - 570, 0, 0, 606, 525, 607, 608, 417, 418, 419, - 420, 377, 632, 338, 528, 446, 0, 593, 0, 0, - 0, 0, 0, 0, 0, 0, 598, 599, 596, 710, - 0, 655, 656, 0, 0, 522, 523, 372, 0, 541, - 380, 337, 432, 374, 506, 389, 0, 534, 600, 535, - 448, 449, 658, 663, 659, 660, 662, 682, 424, 384, - 386, 463, 390, 400, 451, 505, 430, 456, 335, 495, - 465, 405, 585, 613, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, + 0, 307, 690, 691, 692, 693, 694, 0, 0, 308, + 309, 310, 0, 0, 300, 476, 301, 302, 303, 304, + 0, 0, 515, 516, 517, 540, 0, 518, 500, 564, + 384, 314, 480, 507, 700, 0, 0, 0, 0, 0, + 0, 0, 615, 626, 660, 0, 672, 673, 675, 677, + 676, 679, 473, 474, 687, 0, 681, 682, 683, 680, + 405, 460, 481, 467, 0, 706, 555, 556, 707, 668, + 432, 0, 0, 570, 604, 593, 678, 558, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, + 0, 400, 608, 589, 600, 590, 575, 576, 577, 584, + 379, 578, 579, 580, 550, 581, 551, 582, 583, 0, + 607, 557, 469, 416, 0, 624, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 245, 0, 0, 2758, + 0, 0, 0, 336, 246, 552, 674, 554, 553, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 339, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 470, 499, + 0, 512, 0, 390, 391, 0, 0, 0, 0, 0, + 0, 0, 324, 477, 496, 337, 464, 510, 342, 472, + 489, 332, 431, 461, 0, 0, 326, 494, 471, 413, + 325, 0, 455, 365, 381, 362, 429, 0, 493, 523, + 361, 513, 0, 504, 328, 0, 503, 428, 490, 495, + 414, 407, 0, 327, 492, 412, 406, 394, 371, 539, + 395, 396, 385, 443, 404, 444, 386, 418, 417, 419, + 0, 0, 0, 0, 0, 534, 535, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 667, 0, 0, 671, 0, 506, 0, 0, + 0, 0, 0, 0, 475, 0, 0, 397, 0, 0, + 0, 524, 0, 458, 434, 709, 0, 0, 456, 402, + 491, 445, 497, 478, 505, 450, 446, 315, 479, 364, + 415, 333, 335, 699, 366, 368, 372, 373, 424, 425, + 439, 463, 482, 483, 484, 363, 347, 457, 348, 382, + 349, 319, 355, 353, 356, 465, 357, 321, 440, 488, + 0, 378, 453, 410, 322, 409, 441, 487, 486, 334, + 514, 521, 522, 612, 0, 527, 710, 711, 712, 536, + 0, 447, 330, 329, 0, 0, 0, 359, 442, 343, + 345, 346, 344, 437, 438, 541, 542, 543, 545, 0, + 546, 547, 0, 0, 0, 0, 548, 316, 317, 318, + 613, 629, 597, 566, 529, 621, 563, 567, 568, 388, + 632, 0, 0, 0, 520, 398, 399, 0, 370, 369, + 411, 323, 0, 0, 376, 311, 312, 705, 360, 430, + 634, 669, 670, 559, 0, 622, 560, 569, 352, 594, + 606, 605, 426, 519, 0, 617, 620, 549, 704, 0, + 614, 628, 708, 627, 701, 436, 0, 462, 625, 572, + 0, 618, 591, 592, 0, 619, 587, 623, 0, 561, + 0, 530, 533, 562, 647, 648, 649, 320, 532, 651, + 652, 653, 654, 655, 656, 657, 650, 502, 595, 571, + 598, 511, 574, 573, 0, 0, 609, 528, 610, 611, + 420, 421, 422, 423, 380, 635, 341, 531, 449, 0, + 596, 0, 0, 0, 0, 0, 0, 0, 0, 601, + 602, 599, 713, 0, 658, 659, 0, 0, 525, 526, + 375, 0, 544, 383, 340, 435, 377, 509, 392, 0, + 537, 603, 538, 451, 452, 661, 666, 662, 663, 665, + 685, 427, 387, 389, 466, 393, 403, 454, 508, 433, + 459, 338, 498, 468, 408, 588, 616, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 640, 639, 638, 637, 636, 635, 634, 633, 0, - 0, 582, 482, 351, 305, 347, 348, 355, 699, 695, - 661, 700, 683, 686, 685, 0, 313, 562, 398, 445, - 371, 627, 628, 0, 681, 259, 260, 261, 262, 263, - 264, 265, 266, 306, 267, 268, 269, 270, 271, 272, - 273, 276, 277, 278, 279, 280, 281, 282, 283, 630, - 274, 275, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, - 307, 687, 688, 689, 690, 691, 0, 0, 308, 309, - 310, 0, 0, 300, 473, 301, 302, 303, 304, 0, - 0, 512, 513, 514, 537, 0, 515, 497, 561, 381, - 314, 477, 504, 697, 0, 0, 0, 0, 0, 0, - 0, 612, 623, 657, 0, 669, 670, 672, 674, 673, - 676, 470, 471, 684, 0, 678, 679, 680, 677, 402, - 457, 478, 464, 0, 703, 552, 553, 704, 665, 429, - 0, 0, 567, 601, 590, 675, 555, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 364, 0, 0, - 397, 605, 586, 597, 587, 572, 573, 574, 581, 376, - 575, 576, 577, 547, 578, 548, 579, 580, 0, 604, - 554, 466, 413, 0, 621, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 245, 0, 0, 3006, 0, - 0, 0, 333, 246, 549, 671, 551, 550, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 336, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 467, 496, 0, - 509, 0, 387, 388, 0, 0, 0, 0, 0, 0, - 0, 321, 474, 493, 334, 461, 507, 339, 469, 486, - 329, 428, 458, 0, 0, 323, 491, 468, 410, 322, - 0, 452, 362, 378, 359, 426, 0, 490, 520, 358, - 510, 0, 501, 325, 0, 500, 425, 487, 492, 411, - 404, 0, 324, 489, 409, 403, 391, 368, 536, 392, - 393, 382, 440, 401, 441, 383, 415, 414, 416, 0, - 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 664, 0, 0, 668, 0, 503, 0, 0, 0, - 0, 0, 0, 472, 0, 0, 394, 0, 0, 0, - 521, 0, 455, 431, 706, 0, 0, 453, 399, 488, - 442, 494, 475, 502, 447, 443, 315, 476, 361, 412, - 330, 332, 696, 363, 365, 369, 370, 421, 422, 436, - 460, 479, 480, 481, 360, 344, 454, 345, 379, 346, - 316, 352, 350, 353, 462, 354, 318, 437, 485, 0, - 375, 450, 407, 319, 406, 438, 484, 483, 331, 511, - 518, 519, 609, 0, 524, 707, 708, 709, 533, 0, - 444, 327, 326, 0, 0, 0, 356, 439, 340, 342, - 343, 341, 434, 435, 538, 539, 540, 542, 0, 543, - 544, 0, 0, 0, 0, 545, 610, 626, 594, 563, - 526, 618, 560, 564, 565, 385, 629, 0, 0, 0, - 517, 395, 396, 0, 367, 366, 408, 320, 0, 0, - 373, 311, 312, 702, 357, 427, 631, 666, 667, 556, - 0, 619, 557, 566, 349, 591, 603, 602, 423, 516, - 0, 614, 617, 546, 701, 0, 611, 625, 705, 624, - 698, 433, 0, 459, 622, 569, 0, 615, 588, 589, - 0, 616, 584, 620, 0, 558, 0, 527, 530, 559, - 644, 645, 646, 317, 529, 648, 649, 650, 651, 652, - 653, 654, 647, 499, 592, 568, 595, 508, 571, 570, - 0, 0, 606, 525, 607, 608, 417, 418, 419, 420, - 377, 632, 338, 528, 446, 0, 593, 0, 0, 0, - 0, 0, 0, 0, 0, 598, 599, 596, 710, 0, - 655, 656, 0, 0, 522, 523, 372, 0, 541, 380, - 337, 432, 374, 506, 389, 0, 534, 600, 535, 448, - 449, 658, 663, 659, 660, 662, 682, 424, 384, 386, - 463, 390, 400, 451, 505, 430, 456, 335, 495, 465, - 405, 585, 613, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, + 0, 0, 0, 0, 643, 642, 641, 640, 639, 638, + 637, 636, 0, 0, 585, 485, 354, 305, 350, 351, + 358, 702, 698, 664, 703, 686, 689, 688, 0, 313, + 565, 401, 448, 374, 630, 631, 0, 684, 259, 260, + 261, 262, 263, 264, 265, 266, 306, 267, 268, 269, + 270, 271, 272, 273, 276, 277, 278, 279, 280, 281, + 282, 283, 633, 274, 275, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, + 0, 0, 0, 307, 690, 691, 692, 693, 694, 0, + 0, 308, 309, 310, 0, 0, 300, 476, 301, 302, + 303, 304, 0, 0, 515, 516, 517, 540, 0, 518, + 500, 564, 384, 314, 480, 507, 700, 0, 0, 0, + 0, 0, 0, 0, 615, 626, 660, 0, 672, 673, + 675, 677, 676, 679, 473, 474, 687, 0, 681, 682, + 683, 680, 405, 460, 481, 467, 0, 706, 555, 556, + 707, 668, 432, 0, 0, 570, 604, 593, 678, 558, + 0, 0, 3166, 0, 0, 0, 0, 0, 0, 0, + 367, 0, 0, 400, 608, 589, 600, 590, 575, 576, + 577, 584, 379, 578, 579, 580, 550, 581, 551, 582, + 583, 0, 607, 557, 469, 416, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 640, 639, 638, 637, 636, 635, 634, 633, 0, 0, - 582, 482, 351, 305, 347, 348, 355, 699, 695, 661, - 700, 683, 686, 685, 0, 313, 562, 398, 445, 371, - 627, 628, 0, 681, 259, 260, 261, 262, 263, 264, - 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, - 276, 277, 278, 279, 280, 281, 282, 283, 630, 274, - 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 0, 0, 0, 0, 307, - 687, 688, 689, 690, 691, 0, 0, 308, 309, 310, - 0, 0, 300, 473, 301, 302, 303, 304, 0, 0, - 512, 513, 514, 537, 0, 515, 497, 561, 381, 314, - 477, 504, 697, 0, 0, 0, 0, 0, 0, 0, - 612, 623, 657, 0, 669, 670, 672, 674, 673, 676, - 470, 471, 684, 0, 678, 679, 680, 677, 402, 457, - 478, 464, 0, 703, 552, 553, 704, 665, 429, 0, - 0, 567, 601, 590, 675, 555, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 364, 0, 0, 397, - 605, 586, 597, 587, 572, 573, 574, 581, 376, 575, - 576, 577, 547, 578, 548, 579, 580, 0, 604, 554, - 466, 413, 0, 621, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 245, 0, + 0, 0, 0, 0, 0, 336, 246, 552, 674, 554, + 553, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 339, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 470, 499, 0, 512, 0, 390, 391, 0, 0, 0, + 0, 0, 0, 0, 324, 477, 496, 337, 464, 510, + 342, 472, 489, 332, 431, 461, 0, 0, 326, 494, + 471, 413, 325, 0, 455, 365, 381, 362, 429, 0, + 493, 523, 361, 513, 0, 504, 328, 0, 503, 428, + 490, 495, 414, 407, 0, 327, 492, 412, 406, 394, + 371, 539, 395, 396, 385, 443, 404, 444, 386, 418, + 417, 419, 0, 0, 0, 0, 0, 534, 535, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 667, 0, 0, 671, 0, 506, + 0, 0, 0, 0, 0, 0, 475, 0, 0, 397, + 0, 0, 0, 524, 0, 458, 434, 709, 0, 0, + 456, 402, 491, 445, 497, 478, 505, 450, 446, 315, + 479, 364, 415, 333, 335, 699, 366, 368, 372, 373, + 424, 425, 439, 463, 482, 483, 484, 363, 347, 457, + 348, 382, 349, 319, 355, 353, 356, 465, 357, 321, + 440, 488, 0, 378, 453, 410, 322, 409, 441, 487, + 486, 334, 514, 521, 522, 612, 0, 527, 710, 711, + 712, 536, 0, 447, 330, 329, 0, 0, 0, 359, + 442, 343, 345, 346, 344, 437, 438, 541, 542, 543, + 545, 0, 546, 547, 0, 0, 0, 0, 548, 316, + 317, 318, 613, 629, 597, 566, 529, 621, 563, 567, + 568, 388, 632, 0, 0, 0, 520, 398, 399, 0, + 370, 369, 411, 323, 0, 0, 376, 311, 312, 705, + 360, 430, 634, 669, 670, 559, 0, 622, 560, 569, + 352, 594, 606, 605, 426, 519, 0, 617, 620, 549, + 704, 0, 614, 628, 708, 627, 701, 436, 0, 462, + 625, 572, 0, 618, 591, 592, 0, 619, 587, 623, + 0, 561, 0, 530, 533, 562, 647, 648, 649, 320, + 532, 651, 652, 653, 654, 655, 656, 657, 650, 502, + 595, 571, 598, 511, 574, 573, 0, 0, 609, 528, + 610, 611, 420, 421, 422, 423, 380, 635, 341, 531, + 449, 0, 596, 0, 0, 0, 0, 0, 0, 0, + 0, 601, 602, 599, 713, 0, 658, 659, 0, 0, + 525, 526, 375, 0, 544, 383, 340, 435, 377, 509, + 392, 0, 537, 603, 538, 451, 452, 661, 666, 662, + 663, 665, 685, 427, 387, 389, 466, 393, 403, 454, + 508, 433, 459, 338, 498, 468, 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 245, 0, 0, 0, 0, 0, - 0, 333, 246, 549, 671, 551, 550, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 336, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2380, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 467, 496, 0, 509, - 0, 387, 388, 0, 0, 0, 0, 0, 0, 0, - 321, 474, 493, 334, 461, 507, 339, 469, 486, 329, - 428, 458, 0, 0, 323, 491, 468, 410, 322, 0, - 452, 362, 378, 359, 426, 0, 490, 520, 358, 510, - 0, 501, 325, 0, 500, 425, 487, 492, 411, 404, - 0, 324, 489, 409, 403, 391, 368, 536, 392, 393, - 382, 440, 401, 441, 383, 415, 414, 416, 0, 0, - 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 664, 0, 0, 668, 0, 503, 0, 0, 0, 0, - 0, 0, 472, 0, 0, 394, 0, 0, 0, 521, - 0, 455, 431, 706, 0, 0, 453, 399, 488, 442, - 494, 475, 502, 447, 443, 315, 476, 361, 412, 330, - 332, 696, 363, 365, 369, 370, 421, 422, 436, 460, - 479, 480, 481, 360, 344, 454, 345, 379, 346, 316, - 352, 350, 353, 462, 354, 318, 437, 485, 0, 375, - 450, 407, 319, 406, 438, 484, 483, 331, 511, 518, - 519, 609, 0, 524, 707, 708, 709, 533, 0, 444, - 327, 326, 0, 0, 0, 356, 439, 340, 342, 343, - 341, 434, 435, 538, 539, 540, 542, 0, 543, 544, - 0, 0, 0, 0, 545, 610, 626, 594, 563, 526, - 618, 560, 564, 565, 385, 629, 0, 0, 0, 517, - 395, 396, 0, 367, 366, 408, 320, 0, 0, 373, - 311, 312, 702, 357, 427, 631, 666, 667, 556, 0, - 619, 557, 566, 349, 591, 603, 602, 423, 516, 0, - 614, 617, 546, 701, 0, 611, 625, 705, 624, 698, - 433, 0, 459, 622, 569, 0, 615, 588, 589, 0, - 616, 584, 620, 0, 558, 0, 527, 530, 559, 644, - 645, 646, 317, 529, 648, 649, 650, 651, 652, 653, - 654, 647, 499, 592, 568, 595, 508, 571, 570, 0, - 0, 606, 525, 607, 608, 417, 418, 419, 420, 377, - 632, 338, 528, 446, 0, 593, 0, 0, 0, 0, - 0, 0, 0, 0, 598, 599, 596, 710, 0, 655, - 656, 0, 0, 522, 523, 372, 0, 541, 380, 337, - 432, 374, 506, 389, 0, 534, 600, 535, 448, 449, - 658, 663, 659, 660, 662, 682, 424, 384, 386, 463, - 390, 400, 451, 505, 430, 456, 335, 495, 465, 405, - 585, 613, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 640, - 639, 638, 637, 636, 635, 634, 633, 0, 0, 582, - 482, 351, 305, 347, 348, 355, 699, 695, 661, 700, - 683, 686, 685, 0, 313, 562, 398, 445, 371, 627, - 628, 0, 681, 259, 260, 261, 262, 263, 264, 265, - 266, 306, 267, 268, 269, 270, 271, 272, 273, 276, - 277, 278, 279, 280, 281, 282, 283, 630, 274, 275, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 0, 0, 0, 0, 307, 687, - 688, 689, 690, 691, 0, 0, 308, 309, 310, 0, - 0, 300, 473, 301, 302, 303, 304, 0, 0, 512, - 513, 514, 537, 0, 515, 497, 561, 381, 314, 477, - 504, 697, 0, 0, 0, 0, 0, 0, 0, 612, - 623, 657, 0, 669, 670, 672, 674, 673, 676, 470, - 471, 684, 0, 678, 679, 680, 677, 402, 457, 478, - 464, 0, 703, 552, 553, 704, 665, 429, 0, 0, - 567, 601, 590, 675, 555, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 364, 0, 0, 397, 605, - 586, 597, 587, 572, 573, 574, 581, 376, 575, 576, - 577, 547, 578, 548, 579, 580, 0, 604, 554, 466, - 413, 0, 621, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 245, 0, 0, 2881, 0, 0, 0, - 333, 246, 549, 671, 551, 550, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 336, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 467, 496, 0, 509, 0, - 387, 388, 0, 0, 0, 0, 0, 0, 0, 321, - 474, 493, 334, 461, 507, 339, 469, 486, 329, 428, - 458, 0, 0, 323, 491, 468, 410, 322, 0, 452, - 362, 378, 359, 426, 0, 490, 520, 358, 510, 0, - 501, 325, 0, 500, 425, 487, 492, 411, 404, 0, - 324, 489, 409, 403, 391, 368, 536, 392, 393, 382, - 440, 401, 441, 383, 415, 414, 416, 0, 0, 0, - 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, - 0, 0, 668, 0, 503, 0, 0, 0, 0, 0, - 0, 472, 0, 0, 394, 0, 0, 0, 521, 0, - 455, 431, 706, 0, 0, 453, 399, 488, 442, 494, - 475, 502, 447, 443, 315, 476, 361, 412, 330, 332, - 696, 363, 365, 369, 370, 421, 422, 436, 460, 479, - 480, 481, 360, 344, 454, 345, 379, 346, 316, 352, - 350, 353, 462, 354, 318, 437, 485, 0, 375, 450, - 407, 319, 406, 438, 484, 483, 331, 511, 518, 519, - 609, 0, 524, 707, 708, 709, 533, 0, 444, 327, - 326, 0, 0, 0, 356, 439, 340, 342, 343, 341, - 434, 435, 538, 539, 540, 542, 0, 543, 544, 0, - 0, 0, 0, 545, 610, 626, 594, 563, 526, 618, - 560, 564, 565, 385, 629, 0, 0, 0, 517, 395, - 396, 0, 367, 366, 408, 320, 0, 0, 373, 311, - 312, 702, 357, 427, 631, 666, 667, 556, 0, 619, - 557, 566, 349, 591, 603, 602, 423, 516, 0, 614, - 617, 546, 701, 0, 611, 625, 705, 624, 698, 433, - 0, 459, 622, 569, 0, 615, 588, 589, 0, 616, - 584, 620, 0, 558, 0, 527, 530, 559, 644, 645, - 646, 317, 529, 648, 649, 650, 651, 652, 653, 654, - 647, 499, 592, 568, 595, 508, 571, 570, 0, 0, - 606, 525, 607, 608, 417, 418, 419, 420, 377, 632, - 338, 528, 446, 0, 593, 0, 0, 0, 0, 0, - 0, 0, 0, 598, 599, 596, 710, 0, 655, 656, - 0, 0, 522, 523, 372, 0, 541, 380, 337, 432, - 374, 506, 389, 0, 534, 600, 535, 448, 449, 658, - 663, 659, 660, 662, 682, 424, 384, 386, 463, 390, - 400, 451, 505, 430, 456, 335, 495, 465, 405, 585, - 613, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 643, 642, 641, 640, + 639, 638, 637, 636, 0, 0, 585, 485, 354, 305, + 350, 351, 358, 702, 698, 664, 703, 686, 689, 688, + 0, 313, 565, 401, 448, 374, 630, 631, 0, 684, + 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, + 268, 269, 270, 271, 272, 273, 276, 277, 278, 279, + 280, 281, 282, 283, 633, 274, 275, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 0, 0, 0, 0, 307, 690, 691, 692, 693, + 694, 0, 0, 308, 309, 310, 0, 0, 300, 476, + 301, 302, 303, 304, 0, 0, 515, 516, 517, 540, + 0, 518, 500, 564, 384, 314, 480, 507, 700, 0, + 0, 0, 0, 0, 0, 0, 615, 626, 660, 0, + 672, 673, 675, 677, 676, 679, 473, 474, 687, 0, + 681, 682, 683, 680, 405, 460, 481, 467, 0, 706, + 555, 556, 707, 668, 432, 0, 0, 570, 604, 593, + 678, 558, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 367, 0, 0, 400, 608, 589, 600, 590, + 575, 576, 577, 584, 379, 578, 579, 580, 550, 581, + 551, 582, 583, 0, 607, 557, 469, 416, 0, 624, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 245, 0, 0, 3087, 0, 0, 0, 336, 246, 552, + 674, 554, 553, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 339, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 470, 499, 0, 512, 0, 390, 391, 0, + 0, 0, 0, 0, 0, 0, 324, 477, 496, 337, + 464, 510, 342, 472, 489, 332, 431, 461, 0, 0, + 326, 494, 471, 413, 325, 0, 455, 365, 381, 362, + 429, 0, 493, 523, 361, 513, 0, 504, 328, 0, + 503, 428, 490, 495, 414, 407, 0, 327, 492, 412, + 406, 394, 371, 539, 395, 396, 385, 443, 404, 444, + 386, 418, 417, 419, 0, 0, 0, 0, 0, 534, + 535, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 667, 0, 0, 671, + 0, 506, 0, 0, 0, 0, 0, 0, 475, 0, + 0, 397, 0, 0, 0, 524, 0, 458, 434, 709, + 0, 0, 456, 402, 491, 445, 497, 478, 505, 450, + 446, 315, 479, 364, 415, 333, 335, 699, 366, 368, + 372, 373, 424, 425, 439, 463, 482, 483, 484, 363, + 347, 457, 348, 382, 349, 319, 355, 353, 356, 465, + 357, 321, 440, 488, 0, 378, 453, 410, 322, 409, + 441, 487, 486, 334, 514, 521, 522, 612, 0, 527, + 710, 711, 712, 536, 0, 447, 330, 329, 0, 0, + 0, 359, 442, 343, 345, 346, 344, 437, 438, 541, + 542, 543, 545, 0, 546, 547, 0, 0, 0, 0, + 548, 316, 317, 318, 613, 629, 597, 566, 529, 621, + 563, 567, 568, 388, 632, 0, 0, 0, 520, 398, + 399, 0, 370, 369, 411, 323, 0, 0, 376, 311, + 312, 705, 360, 430, 634, 669, 670, 559, 0, 622, + 560, 569, 352, 594, 606, 605, 426, 519, 0, 617, + 620, 549, 704, 0, 614, 628, 708, 627, 701, 436, + 0, 462, 625, 572, 0, 618, 591, 592, 0, 619, + 587, 623, 0, 561, 0, 530, 533, 562, 647, 648, + 649, 320, 532, 651, 652, 653, 654, 655, 656, 657, + 650, 502, 595, 571, 598, 511, 574, 573, 0, 0, + 609, 528, 610, 611, 420, 421, 422, 423, 380, 635, + 341, 531, 449, 0, 596, 0, 0, 0, 0, 0, + 0, 0, 0, 601, 602, 599, 713, 0, 658, 659, + 0, 0, 525, 526, 375, 0, 544, 383, 340, 435, + 377, 509, 392, 0, 537, 603, 538, 451, 452, 661, + 666, 662, 663, 665, 685, 427, 387, 389, 466, 393, + 403, 454, 508, 433, 459, 338, 498, 468, 408, 588, + 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 640, 639, - 638, 637, 636, 635, 634, 633, 0, 0, 582, 482, - 351, 305, 347, 348, 355, 699, 695, 661, 700, 683, - 686, 685, 0, 313, 562, 398, 445, 371, 627, 628, - 0, 681, 259, 260, 261, 262, 263, 264, 265, 266, + 0, 0, 0, 0, 0, 0, 0, 0, 643, 642, + 641, 640, 639, 638, 637, 636, 0, 0, 585, 485, + 354, 305, 350, 351, 358, 702, 698, 664, 703, 686, + 689, 688, 0, 313, 565, 401, 448, 374, 630, 631, + 0, 684, 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, - 278, 279, 280, 281, 282, 283, 630, 274, 275, 284, + 278, 279, 280, 281, 282, 283, 633, 274, 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 0, 0, 0, 0, 307, 687, 688, - 689, 690, 691, 0, 0, 308, 309, 310, 0, 0, - 300, 473, 301, 302, 303, 304, 0, 0, 512, 513, - 514, 537, 0, 515, 497, 561, 381, 314, 477, 504, - 697, 0, 0, 0, 0, 0, 0, 0, 612, 623, - 657, 0, 669, 670, 672, 674, 673, 676, 470, 471, - 684, 0, 678, 679, 680, 677, 402, 457, 478, 464, - 0, 703, 552, 553, 704, 665, 429, 0, 0, 567, - 601, 590, 675, 555, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 364, 0, 0, 397, 605, 586, - 597, 587, 572, 573, 574, 581, 376, 575, 576, 577, - 547, 578, 548, 579, 580, 0, 604, 554, 466, 413, - 0, 621, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 245, 0, 0, 0, 0, 0, 0, 333, - 246, 549, 671, 551, 550, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 336, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2836, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 467, 496, 0, 509, 0, 387, - 388, 0, 0, 0, 0, 0, 0, 0, 321, 474, - 493, 334, 461, 507, 339, 469, 486, 329, 428, 458, - 0, 0, 323, 491, 468, 410, 322, 0, 452, 362, - 378, 359, 426, 0, 490, 520, 358, 510, 0, 501, - 325, 0, 500, 425, 487, 492, 411, 404, 0, 324, - 489, 409, 403, 391, 368, 536, 392, 393, 382, 440, - 401, 441, 383, 415, 414, 416, 0, 0, 0, 0, - 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, - 0, 668, 0, 503, 0, 0, 0, 0, 0, 0, - 472, 0, 0, 394, 0, 0, 0, 521, 0, 455, - 431, 706, 0, 0, 453, 399, 488, 442, 494, 475, - 502, 447, 443, 315, 476, 361, 412, 330, 332, 696, - 363, 365, 369, 370, 421, 422, 436, 460, 479, 480, - 481, 360, 344, 454, 345, 379, 346, 316, 352, 350, - 353, 462, 354, 318, 437, 485, 0, 375, 450, 407, - 319, 406, 438, 484, 483, 331, 511, 518, 519, 609, - 0, 524, 707, 708, 709, 533, 0, 444, 327, 326, - 0, 0, 0, 356, 439, 340, 342, 343, 341, 434, - 435, 538, 539, 540, 542, 0, 543, 544, 0, 0, - 0, 0, 545, 610, 626, 594, 563, 526, 618, 560, - 564, 565, 385, 629, 0, 0, 0, 517, 395, 396, - 0, 367, 366, 408, 320, 0, 0, 373, 311, 312, - 702, 357, 427, 631, 666, 667, 556, 0, 619, 557, - 566, 349, 591, 603, 602, 423, 516, 0, 614, 617, - 546, 701, 0, 611, 625, 705, 624, 698, 433, 0, - 459, 622, 569, 0, 615, 588, 589, 0, 616, 584, - 620, 0, 558, 0, 527, 530, 559, 644, 645, 646, - 317, 529, 648, 649, 650, 651, 652, 653, 654, 647, - 499, 592, 568, 595, 508, 571, 570, 0, 0, 606, - 525, 607, 608, 417, 418, 419, 420, 377, 632, 338, - 528, 446, 0, 593, 0, 0, 0, 0, 0, 0, - 0, 0, 598, 599, 596, 710, 0, 655, 656, 0, - 0, 522, 523, 372, 0, 541, 380, 337, 432, 374, - 506, 389, 0, 534, 600, 535, 448, 449, 658, 663, - 659, 660, 662, 682, 424, 384, 386, 463, 390, 400, - 451, 505, 430, 456, 335, 495, 465, 405, 585, 613, + 295, 296, 297, 0, 0, 0, 0, 307, 690, 691, + 692, 693, 694, 0, 0, 308, 309, 310, 0, 0, + 300, 476, 301, 302, 303, 304, 0, 0, 515, 516, + 517, 540, 0, 518, 500, 564, 384, 314, 480, 507, + 700, 0, 0, 0, 0, 0, 0, 0, 615, 626, + 660, 0, 672, 673, 675, 677, 676, 679, 473, 474, + 687, 0, 681, 682, 683, 680, 405, 460, 481, 467, + 0, 706, 555, 556, 707, 668, 432, 0, 0, 570, + 604, 593, 678, 558, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 367, 0, 0, 400, 608, 589, + 600, 590, 575, 576, 577, 584, 379, 578, 579, 580, + 550, 581, 551, 582, 583, 0, 607, 557, 469, 416, + 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 245, 0, 0, 0, 0, 0, 0, 336, + 246, 552, 674, 554, 553, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 339, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3070, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 470, 499, 0, 512, 0, 390, + 391, 0, 0, 0, 0, 0, 0, 0, 324, 477, + 496, 337, 464, 510, 342, 472, 489, 332, 431, 461, + 0, 0, 326, 494, 471, 413, 325, 0, 455, 365, + 381, 362, 429, 0, 493, 523, 361, 513, 0, 504, + 328, 0, 503, 428, 490, 495, 414, 407, 0, 327, + 492, 412, 406, 394, 371, 539, 395, 396, 385, 443, + 404, 444, 386, 418, 417, 419, 0, 0, 0, 0, + 0, 534, 535, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 667, 0, + 0, 671, 0, 506, 0, 0, 0, 0, 0, 0, + 475, 0, 0, 397, 0, 0, 0, 524, 0, 458, + 434, 709, 0, 0, 456, 402, 491, 445, 497, 478, + 505, 450, 446, 315, 479, 364, 415, 333, 335, 699, + 366, 368, 372, 373, 424, 425, 439, 463, 482, 483, + 484, 363, 347, 457, 348, 382, 349, 319, 355, 353, + 356, 465, 357, 321, 440, 488, 0, 378, 453, 410, + 322, 409, 441, 487, 486, 334, 514, 521, 522, 612, + 0, 527, 710, 711, 712, 536, 0, 447, 330, 329, + 0, 0, 0, 359, 442, 343, 345, 346, 344, 437, + 438, 541, 542, 543, 545, 0, 546, 547, 0, 0, + 0, 0, 548, 316, 317, 318, 613, 629, 597, 566, + 529, 621, 563, 567, 568, 388, 632, 0, 0, 0, + 520, 398, 399, 0, 370, 369, 411, 323, 0, 0, + 376, 311, 312, 705, 360, 430, 634, 669, 670, 559, + 0, 622, 560, 569, 352, 594, 606, 605, 426, 519, + 0, 617, 620, 549, 704, 0, 614, 628, 708, 627, + 701, 436, 0, 462, 625, 572, 0, 618, 591, 592, + 0, 619, 587, 623, 0, 561, 0, 530, 533, 562, + 647, 648, 649, 320, 532, 651, 652, 653, 654, 655, + 656, 657, 650, 502, 595, 571, 598, 511, 574, 573, + 0, 0, 609, 528, 610, 611, 420, 421, 422, 423, + 380, 635, 341, 531, 449, 0, 596, 0, 0, 0, + 0, 0, 0, 0, 0, 601, 602, 599, 713, 0, + 658, 659, 0, 0, 525, 526, 375, 0, 544, 383, + 340, 435, 377, 509, 392, 0, 537, 603, 538, 451, + 452, 661, 666, 662, 663, 665, 685, 427, 387, 389, + 466, 393, 403, 454, 508, 433, 459, 338, 498, 468, + 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 640, 639, 638, - 637, 636, 635, 634, 633, 0, 0, 582, 482, 351, - 305, 347, 348, 355, 699, 695, 661, 700, 683, 686, - 685, 0, 313, 562, 398, 445, 371, 627, 628, 0, - 681, 259, 260, 261, 262, 263, 264, 265, 266, 306, - 267, 268, 269, 270, 271, 272, 273, 276, 277, 278, - 279, 280, 281, 282, 283, 630, 274, 275, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 0, 0, 0, 0, 307, 687, 688, 689, - 690, 691, 0, 0, 308, 309, 310, 0, 0, 300, - 473, 301, 302, 303, 304, 0, 0, 512, 513, 514, - 537, 0, 515, 497, 561, 381, 314, 477, 504, 697, - 0, 0, 0, 0, 0, 0, 0, 612, 623, 657, - 0, 669, 670, 672, 674, 673, 676, 470, 471, 684, - 0, 678, 679, 680, 677, 402, 457, 478, 464, 0, - 703, 552, 553, 704, 665, 429, 0, 0, 567, 601, - 590, 675, 555, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 364, 0, 0, 397, 605, 586, 597, - 587, 572, 573, 574, 581, 376, 575, 576, 577, 547, - 578, 548, 579, 580, 0, 604, 554, 466, 413, 0, - 621, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 245, 0, 0, 2834, 0, 0, 0, 333, 246, - 549, 671, 551, 550, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 336, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 467, 496, 0, 509, 0, 387, 388, - 0, 0, 0, 0, 0, 0, 0, 321, 474, 493, - 334, 461, 507, 339, 469, 486, 329, 428, 458, 0, - 0, 323, 491, 468, 410, 322, 0, 452, 362, 378, - 359, 426, 0, 490, 520, 358, 510, 0, 501, 325, - 0, 500, 425, 487, 492, 411, 404, 0, 324, 489, - 409, 403, 391, 368, 536, 392, 393, 382, 440, 401, - 441, 383, 415, 414, 416, 0, 0, 0, 0, 0, - 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, - 668, 0, 503, 0, 0, 0, 0, 0, 0, 472, - 0, 0, 394, 0, 0, 0, 521, 0, 455, 431, - 706, 0, 0, 453, 399, 488, 442, 494, 475, 502, - 447, 443, 315, 476, 361, 412, 330, 332, 696, 363, - 365, 369, 370, 421, 422, 436, 460, 479, 480, 481, - 360, 344, 454, 345, 379, 346, 316, 352, 350, 353, - 462, 354, 318, 437, 485, 0, 375, 450, 407, 319, - 406, 438, 484, 483, 331, 511, 518, 519, 609, 0, - 524, 707, 708, 709, 533, 0, 444, 327, 326, 0, - 0, 0, 356, 439, 340, 342, 343, 341, 434, 435, - 538, 539, 540, 542, 0, 543, 544, 0, 0, 0, - 0, 545, 610, 626, 594, 563, 526, 618, 560, 564, - 565, 385, 629, 0, 0, 0, 517, 395, 396, 0, - 367, 366, 408, 320, 0, 0, 373, 311, 312, 702, - 357, 427, 631, 666, 667, 556, 0, 619, 557, 566, - 349, 591, 603, 602, 423, 516, 0, 614, 617, 546, - 701, 0, 611, 625, 705, 624, 698, 433, 0, 459, - 622, 569, 0, 615, 588, 589, 0, 616, 584, 620, - 0, 558, 0, 527, 530, 559, 644, 645, 646, 317, - 529, 648, 649, 650, 651, 652, 653, 654, 647, 499, - 592, 568, 595, 508, 571, 570, 0, 0, 606, 525, - 607, 608, 417, 418, 419, 420, 377, 632, 338, 528, - 446, 0, 593, 0, 0, 0, 0, 0, 0, 0, - 0, 598, 599, 596, 710, 0, 655, 656, 0, 0, - 522, 523, 372, 0, 541, 380, 337, 432, 374, 506, - 389, 0, 534, 600, 535, 448, 449, 658, 663, 659, - 660, 662, 682, 424, 384, 386, 463, 390, 400, 451, - 505, 430, 456, 335, 495, 465, 405, 585, 613, 0, + 643, 642, 641, 640, 639, 638, 637, 636, 0, 0, + 585, 485, 354, 305, 350, 351, 358, 702, 698, 664, + 703, 686, 689, 688, 0, 313, 565, 401, 448, 374, + 630, 631, 0, 684, 259, 260, 261, 262, 263, 264, + 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, + 276, 277, 278, 279, 280, 281, 282, 283, 633, 274, + 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 0, 0, 0, 0, 307, + 690, 691, 692, 693, 694, 0, 0, 308, 309, 310, + 0, 0, 300, 476, 301, 302, 303, 304, 0, 0, + 515, 516, 517, 540, 0, 518, 500, 564, 384, 314, + 480, 507, 700, 0, 0, 0, 0, 0, 0, 0, + 615, 626, 660, 0, 672, 673, 675, 677, 676, 679, + 473, 474, 687, 0, 681, 682, 683, 680, 405, 460, + 481, 467, 0, 706, 555, 556, 707, 668, 432, 0, + 0, 570, 604, 593, 678, 558, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 367, 0, 0, 400, + 608, 589, 600, 590, 575, 576, 577, 584, 379, 578, + 579, 580, 550, 581, 551, 582, 583, 0, 607, 557, + 469, 416, 0, 624, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 245, 0, 0, 3017, 0, 0, + 0, 336, 246, 552, 674, 554, 553, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 339, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 470, 499, 0, 512, + 0, 390, 391, 0, 0, 0, 0, 0, 0, 0, + 324, 477, 496, 337, 464, 510, 342, 472, 489, 332, + 431, 461, 0, 0, 326, 494, 471, 413, 325, 0, + 455, 365, 381, 362, 429, 0, 493, 523, 361, 513, + 0, 504, 328, 0, 503, 428, 490, 495, 414, 407, + 0, 327, 492, 412, 406, 394, 371, 539, 395, 396, + 385, 443, 404, 444, 386, 418, 417, 419, 0, 0, + 0, 0, 0, 534, 535, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 667, 0, 0, 671, 0, 506, 0, 0, 0, 0, + 0, 0, 475, 0, 0, 397, 0, 0, 0, 524, + 0, 458, 434, 709, 0, 0, 456, 402, 491, 445, + 497, 478, 505, 450, 446, 315, 479, 364, 415, 333, + 335, 699, 366, 368, 372, 373, 424, 425, 439, 463, + 482, 483, 484, 363, 347, 457, 348, 382, 349, 319, + 355, 353, 356, 465, 357, 321, 440, 488, 0, 378, + 453, 410, 322, 409, 441, 487, 486, 334, 514, 521, + 522, 612, 0, 527, 710, 711, 712, 536, 0, 447, + 330, 329, 0, 0, 0, 359, 442, 343, 345, 346, + 344, 437, 438, 541, 542, 543, 545, 0, 546, 547, + 0, 0, 0, 0, 548, 316, 317, 318, 613, 629, + 597, 566, 529, 621, 563, 567, 568, 388, 632, 0, + 0, 0, 520, 398, 399, 0, 370, 369, 411, 323, + 0, 0, 376, 311, 312, 705, 360, 430, 634, 669, + 670, 559, 0, 622, 560, 569, 352, 594, 606, 605, + 426, 519, 0, 617, 620, 549, 704, 0, 614, 628, + 708, 627, 701, 436, 0, 462, 625, 572, 0, 618, + 591, 592, 0, 619, 587, 623, 0, 561, 0, 530, + 533, 562, 647, 648, 649, 320, 532, 651, 652, 653, + 654, 655, 656, 657, 650, 502, 595, 571, 598, 511, + 574, 573, 0, 0, 609, 528, 610, 611, 420, 421, + 422, 423, 380, 635, 341, 531, 449, 0, 596, 0, + 0, 0, 0, 0, 0, 0, 0, 601, 602, 599, + 713, 0, 658, 659, 0, 0, 525, 526, 375, 0, + 544, 383, 340, 435, 377, 509, 392, 0, 537, 603, + 538, 451, 452, 661, 666, 662, 663, 665, 685, 427, + 387, 389, 466, 393, 403, 454, 508, 433, 459, 338, + 498, 468, 408, 588, 616, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 640, 639, 638, 637, - 636, 635, 634, 633, 0, 0, 582, 482, 351, 305, - 347, 348, 355, 699, 695, 661, 700, 683, 686, 685, - 0, 313, 562, 398, 445, 371, 627, 628, 0, 681, - 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, - 268, 269, 270, 271, 272, 273, 276, 277, 278, 279, - 280, 281, 282, 283, 630, 274, 275, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 0, 0, 0, 0, 307, 687, 688, 689, 690, - 691, 0, 0, 308, 309, 310, 0, 0, 300, 473, - 301, 302, 303, 304, 0, 0, 512, 513, 514, 537, - 0, 515, 497, 561, 381, 314, 477, 504, 697, 0, - 0, 0, 0, 0, 0, 0, 612, 623, 657, 0, - 669, 670, 672, 674, 673, 676, 470, 471, 684, 0, - 678, 679, 680, 677, 402, 457, 478, 464, 2584, 703, - 552, 553, 704, 665, 429, 0, 0, 567, 601, 590, - 675, 555, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 364, 0, 0, 397, 605, 586, 597, 587, - 572, 573, 574, 581, 376, 575, 576, 577, 547, 578, - 548, 579, 580, 0, 604, 554, 466, 413, 0, 621, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 245, 0, 0, 0, 0, 0, 0, 333, 246, 549, - 671, 551, 550, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 467, 496, 0, 509, 0, 387, 388, 0, - 0, 0, 0, 0, 0, 0, 321, 474, 493, 334, - 461, 507, 339, 469, 486, 329, 428, 458, 0, 0, - 323, 491, 468, 410, 322, 0, 452, 362, 378, 359, - 426, 0, 490, 520, 358, 510, 0, 501, 325, 0, - 500, 425, 487, 492, 411, 404, 0, 324, 489, 409, - 403, 391, 368, 536, 392, 393, 382, 440, 401, 441, - 383, 415, 414, 416, 0, 0, 0, 0, 0, 531, - 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 664, 0, 0, 668, - 0, 503, 0, 0, 0, 0, 0, 0, 472, 0, - 0, 394, 0, 0, 0, 521, 0, 455, 431, 706, - 0, 0, 453, 399, 488, 442, 494, 475, 502, 447, - 443, 315, 476, 361, 412, 330, 332, 696, 363, 365, - 369, 370, 421, 422, 436, 460, 479, 480, 481, 360, - 344, 454, 345, 379, 346, 316, 352, 350, 353, 462, - 354, 318, 437, 485, 0, 375, 450, 407, 319, 406, - 438, 484, 483, 331, 511, 518, 519, 609, 0, 524, - 707, 708, 709, 533, 0, 444, 327, 326, 0, 0, - 0, 356, 439, 340, 342, 343, 341, 434, 435, 538, - 539, 540, 542, 0, 543, 544, 0, 0, 0, 0, - 545, 610, 626, 594, 563, 526, 618, 560, 564, 565, - 385, 629, 0, 0, 0, 517, 395, 396, 0, 367, - 366, 408, 320, 0, 0, 373, 311, 312, 702, 357, - 427, 631, 666, 667, 556, 0, 619, 557, 566, 349, - 591, 603, 602, 423, 516, 0, 614, 617, 546, 701, - 0, 611, 625, 705, 624, 698, 433, 0, 459, 622, - 569, 0, 615, 588, 589, 0, 616, 584, 620, 0, - 558, 0, 527, 530, 559, 644, 645, 646, 317, 529, - 648, 649, 650, 651, 652, 653, 654, 647, 499, 592, - 568, 595, 508, 571, 570, 0, 0, 606, 525, 607, - 608, 417, 418, 419, 420, 377, 632, 338, 528, 446, - 0, 593, 0, 0, 0, 0, 0, 0, 0, 0, - 598, 599, 596, 710, 0, 655, 656, 0, 0, 522, - 523, 372, 0, 541, 380, 337, 432, 374, 506, 389, - 0, 534, 600, 535, 448, 449, 658, 663, 659, 660, - 662, 682, 424, 384, 386, 463, 390, 400, 451, 505, - 430, 456, 335, 495, 465, 405, 585, 613, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, - 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 640, 639, 638, 637, 636, - 635, 634, 633, 0, 0, 582, 482, 351, 305, 347, - 348, 355, 699, 695, 661, 700, 683, 686, 685, 0, - 313, 562, 398, 445, 371, 627, 628, 0, 681, 259, - 260, 261, 262, 263, 264, 265, 266, 306, 267, 268, - 269, 270, 271, 272, 273, 276, 277, 278, 279, 280, - 281, 282, 283, 630, 274, 275, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 0, 0, 0, 0, 307, 687, 688, 689, 690, 691, - 0, 0, 308, 309, 310, 0, 0, 300, 473, 301, - 302, 303, 304, 0, 0, 512, 513, 514, 537, 0, - 515, 497, 561, 381, 314, 477, 504, 697, 0, 0, - 0, 0, 0, 0, 0, 612, 623, 657, 0, 669, - 670, 672, 674, 673, 676, 470, 471, 684, 0, 678, - 679, 680, 677, 402, 457, 478, 464, 0, 703, 552, - 553, 704, 665, 429, 0, 0, 567, 601, 590, 675, - 555, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 364, 0, 0, 397, 605, 586, 597, 587, 572, - 573, 574, 581, 376, 575, 576, 577, 547, 578, 548, - 579, 580, 0, 604, 554, 466, 413, 0, 621, 0, + 0, 0, 643, 642, 641, 640, 639, 638, 637, 636, + 0, 0, 585, 485, 354, 305, 350, 351, 358, 702, + 698, 664, 703, 686, 689, 688, 0, 313, 565, 401, + 448, 374, 630, 631, 0, 684, 259, 260, 261, 262, + 263, 264, 265, 266, 306, 267, 268, 269, 270, 271, + 272, 273, 276, 277, 278, 279, 280, 281, 282, 283, + 633, 274, 275, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 0, 0, 0, + 0, 307, 690, 691, 692, 693, 694, 0, 0, 308, + 309, 310, 0, 0, 300, 476, 301, 302, 303, 304, + 0, 0, 515, 516, 517, 540, 0, 518, 500, 564, + 384, 314, 480, 507, 700, 0, 0, 0, 0, 0, + 0, 0, 615, 626, 660, 0, 672, 673, 675, 677, + 676, 679, 473, 474, 687, 0, 681, 682, 683, 680, + 405, 460, 481, 467, 0, 706, 555, 556, 707, 668, + 432, 0, 0, 570, 604, 593, 678, 558, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, + 0, 400, 608, 589, 600, 590, 575, 576, 577, 584, + 379, 578, 579, 580, 550, 581, 551, 582, 583, 0, + 607, 557, 469, 416, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, - 0, 0, 0, 2075, 0, 0, 333, 246, 549, 671, - 551, 550, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 336, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 467, 496, 0, 509, 0, 387, 388, 0, 0, - 0, 0, 0, 0, 0, 321, 474, 493, 334, 461, - 507, 339, 469, 486, 329, 428, 458, 0, 0, 323, - 491, 468, 410, 322, 0, 452, 362, 378, 359, 426, - 0, 490, 520, 358, 510, 0, 501, 325, 0, 500, - 425, 487, 492, 411, 404, 0, 324, 489, 409, 403, - 391, 368, 536, 392, 393, 382, 440, 401, 441, 383, - 415, 414, 416, 0, 0, 0, 0, 0, 531, 532, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 664, 0, 0, 668, 0, - 503, 0, 0, 0, 0, 0, 0, 472, 0, 0, - 394, 0, 0, 0, 521, 0, 455, 431, 706, 0, - 0, 453, 399, 488, 442, 494, 475, 502, 447, 443, - 315, 476, 361, 412, 330, 332, 696, 363, 365, 369, - 370, 421, 422, 436, 460, 479, 480, 481, 360, 344, - 454, 345, 379, 346, 316, 352, 350, 353, 462, 354, - 318, 437, 485, 0, 375, 450, 407, 319, 406, 438, - 484, 483, 331, 511, 518, 519, 609, 0, 524, 707, - 708, 709, 533, 0, 444, 327, 326, 0, 0, 0, - 356, 439, 340, 342, 343, 341, 434, 435, 538, 539, - 540, 542, 0, 543, 544, 0, 0, 0, 0, 545, - 610, 626, 594, 563, 526, 618, 560, 564, 565, 385, - 629, 0, 0, 0, 517, 395, 396, 0, 367, 366, - 408, 320, 0, 0, 373, 311, 312, 702, 357, 427, - 631, 666, 667, 556, 0, 619, 557, 566, 349, 591, - 603, 602, 423, 516, 0, 614, 617, 546, 701, 0, - 611, 625, 705, 624, 698, 433, 0, 459, 622, 569, - 0, 615, 588, 589, 0, 616, 584, 620, 0, 558, - 0, 527, 530, 559, 644, 645, 646, 317, 529, 648, - 649, 650, 651, 652, 653, 654, 647, 499, 592, 568, - 595, 508, 571, 570, 0, 0, 606, 525, 607, 608, - 417, 418, 419, 420, 377, 632, 338, 528, 446, 0, - 593, 0, 0, 0, 0, 0, 0, 0, 0, 598, - 599, 596, 710, 0, 655, 656, 0, 0, 522, 523, - 372, 0, 541, 380, 337, 432, 374, 506, 389, 0, - 534, 600, 535, 448, 449, 658, 663, 659, 660, 662, - 682, 424, 384, 386, 463, 390, 400, 451, 505, 430, - 456, 335, 495, 465, 405, 585, 613, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 245, 0, 0, 0, + 0, 0, 0, 336, 246, 552, 674, 554, 553, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 339, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2387, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 470, 499, + 0, 512, 0, 390, 391, 0, 0, 0, 0, 0, + 0, 0, 324, 477, 496, 337, 464, 510, 342, 472, + 489, 332, 431, 461, 0, 0, 326, 494, 471, 413, + 325, 0, 455, 365, 381, 362, 429, 0, 493, 523, + 361, 513, 0, 504, 328, 0, 503, 428, 490, 495, + 414, 407, 0, 327, 492, 412, 406, 394, 371, 539, + 395, 396, 385, 443, 404, 444, 386, 418, 417, 419, + 0, 0, 0, 0, 0, 534, 535, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 667, 0, 0, 671, 0, 506, 0, 0, + 0, 0, 0, 0, 475, 0, 0, 397, 0, 0, + 0, 524, 0, 458, 434, 709, 0, 0, 456, 402, + 491, 445, 497, 478, 505, 450, 446, 315, 479, 364, + 415, 333, 335, 699, 366, 368, 372, 373, 424, 425, + 439, 463, 482, 483, 484, 363, 347, 457, 348, 382, + 349, 319, 355, 353, 356, 465, 357, 321, 440, 488, + 0, 378, 453, 410, 322, 409, 441, 487, 486, 334, + 514, 521, 522, 612, 0, 527, 710, 711, 712, 536, + 0, 447, 330, 329, 0, 0, 0, 359, 442, 343, + 345, 346, 344, 437, 438, 541, 542, 543, 545, 0, + 546, 547, 0, 0, 0, 0, 548, 316, 317, 318, + 613, 629, 597, 566, 529, 621, 563, 567, 568, 388, + 632, 0, 0, 0, 520, 398, 399, 0, 370, 369, + 411, 323, 0, 0, 376, 311, 312, 705, 360, 430, + 634, 669, 670, 559, 0, 622, 560, 569, 352, 594, + 606, 605, 426, 519, 0, 617, 620, 549, 704, 0, + 614, 628, 708, 627, 701, 436, 0, 462, 625, 572, + 0, 618, 591, 592, 0, 619, 587, 623, 0, 561, + 0, 530, 533, 562, 647, 648, 649, 320, 532, 651, + 652, 653, 654, 655, 656, 657, 650, 502, 595, 571, + 598, 511, 574, 573, 0, 0, 609, 528, 610, 611, + 420, 421, 422, 423, 380, 635, 341, 531, 449, 0, + 596, 0, 0, 0, 0, 0, 0, 0, 0, 601, + 602, 599, 713, 0, 658, 659, 0, 0, 525, 526, + 375, 0, 544, 383, 340, 435, 377, 509, 392, 0, + 537, 603, 538, 451, 452, 661, 666, 662, 663, 665, + 685, 427, 387, 389, 466, 393, 403, 454, 508, 433, + 459, 338, 498, 468, 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 640, 639, 638, 637, 636, 635, - 634, 633, 0, 0, 582, 482, 351, 305, 347, 348, - 355, 699, 695, 661, 700, 683, 686, 685, 0, 313, - 562, 398, 445, 371, 627, 628, 0, 681, 259, 260, + 0, 0, 0, 0, 643, 642, 641, 640, 639, 638, + 637, 636, 0, 0, 585, 485, 354, 305, 350, 351, + 358, 702, 698, 664, 703, 686, 689, 688, 0, 313, + 565, 401, 448, 374, 630, 631, 0, 684, 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, 278, 279, 280, 281, - 282, 283, 630, 274, 275, 284, 285, 286, 287, 288, + 282, 283, 633, 274, 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, - 0, 0, 0, 307, 687, 688, 689, 690, 691, 0, - 0, 308, 309, 310, 0, 0, 300, 473, 301, 302, - 303, 304, 0, 0, 512, 513, 514, 537, 0, 515, - 497, 561, 381, 314, 477, 504, 697, 0, 0, 0, - 0, 0, 0, 0, 612, 623, 657, 0, 669, 670, - 672, 674, 673, 676, 470, 471, 684, 0, 678, 679, - 680, 677, 402, 457, 478, 464, 0, 703, 552, 553, - 704, 665, 429, 0, 0, 567, 601, 590, 675, 555, - 0, 2225, 0, 0, 0, 0, 0, 0, 0, 0, - 364, 0, 0, 397, 605, 586, 597, 587, 572, 573, - 574, 581, 376, 575, 576, 577, 547, 578, 548, 579, - 580, 0, 604, 554, 466, 413, 0, 621, 0, 0, + 0, 0, 0, 307, 690, 691, 692, 693, 694, 0, + 0, 308, 309, 310, 0, 0, 300, 476, 301, 302, + 303, 304, 0, 0, 515, 516, 517, 540, 0, 518, + 500, 564, 384, 314, 480, 507, 700, 0, 0, 0, + 0, 0, 0, 0, 615, 626, 660, 0, 672, 673, + 675, 677, 676, 679, 473, 474, 687, 0, 681, 682, + 683, 680, 405, 460, 481, 467, 0, 706, 555, 556, + 707, 668, 432, 0, 0, 570, 604, 593, 678, 558, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 367, 0, 0, 400, 608, 589, 600, 590, 575, 576, + 577, 584, 379, 578, 579, 580, 550, 581, 551, 582, + 583, 0, 607, 557, 469, 416, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, 0, - 0, 0, 0, 0, 0, 333, 246, 549, 671, 551, - 550, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 467, 496, 0, 509, 0, 387, 388, 0, 0, 0, - 0, 0, 0, 0, 321, 474, 493, 334, 461, 507, - 339, 469, 486, 329, 428, 458, 0, 0, 323, 491, - 468, 410, 322, 0, 452, 362, 378, 359, 426, 0, - 490, 520, 358, 510, 0, 501, 325, 0, 500, 425, - 487, 492, 411, 404, 0, 324, 489, 409, 403, 391, - 368, 536, 392, 393, 382, 440, 401, 441, 383, 415, - 414, 416, 0, 0, 0, 0, 0, 531, 532, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 664, 0, 0, 668, 0, 503, - 0, 0, 0, 0, 0, 0, 472, 0, 0, 394, - 0, 0, 0, 521, 0, 455, 431, 706, 0, 0, - 453, 399, 488, 442, 494, 475, 502, 447, 443, 315, - 476, 361, 412, 330, 332, 696, 363, 365, 369, 370, - 421, 422, 436, 460, 479, 480, 481, 360, 344, 454, - 345, 379, 346, 316, 352, 350, 353, 462, 354, 318, - 437, 485, 0, 375, 450, 407, 319, 406, 438, 484, - 483, 331, 511, 518, 519, 609, 0, 524, 707, 708, - 709, 533, 0, 444, 327, 326, 0, 0, 0, 356, - 439, 340, 342, 343, 341, 434, 435, 538, 539, 540, - 542, 0, 543, 544, 0, 0, 0, 0, 545, 610, - 626, 594, 563, 526, 618, 560, 564, 565, 385, 629, - 0, 0, 0, 517, 395, 396, 0, 367, 366, 408, - 320, 0, 0, 373, 311, 312, 702, 357, 427, 631, - 666, 667, 556, 0, 619, 557, 566, 349, 591, 603, - 602, 423, 516, 0, 614, 617, 546, 701, 0, 611, - 625, 705, 624, 698, 433, 0, 459, 622, 569, 0, - 615, 588, 589, 0, 616, 584, 620, 0, 558, 0, - 527, 530, 559, 644, 645, 646, 317, 529, 648, 649, - 650, 651, 652, 653, 654, 647, 499, 592, 568, 595, - 508, 571, 570, 0, 0, 606, 525, 607, 608, 417, - 418, 419, 420, 377, 632, 338, 528, 446, 0, 593, - 0, 0, 0, 0, 0, 0, 0, 0, 598, 599, - 596, 710, 0, 655, 656, 0, 0, 522, 523, 372, - 0, 541, 380, 337, 432, 374, 506, 389, 0, 534, - 600, 535, 448, 449, 658, 663, 659, 660, 662, 682, - 424, 384, 386, 463, 390, 400, 451, 505, 430, 456, - 335, 495, 465, 405, 585, 613, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 298, 299, 0, + 0, 2892, 0, 0, 0, 336, 246, 552, 674, 554, + 553, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 339, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 470, 499, 0, 512, 0, 390, 391, 0, 0, 0, + 0, 0, 0, 0, 324, 477, 496, 337, 464, 510, + 342, 472, 489, 332, 431, 461, 0, 0, 326, 494, + 471, 413, 325, 0, 455, 365, 381, 362, 429, 0, + 493, 523, 361, 513, 0, 504, 328, 0, 503, 428, + 490, 495, 414, 407, 0, 327, 492, 412, 406, 394, + 371, 539, 395, 396, 385, 443, 404, 444, 386, 418, + 417, 419, 0, 0, 0, 0, 0, 534, 535, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 667, 0, 0, 671, 0, 506, + 0, 0, 0, 0, 0, 0, 475, 0, 0, 397, + 0, 0, 0, 524, 0, 458, 434, 709, 0, 0, + 456, 402, 491, 445, 497, 478, 505, 450, 446, 315, + 479, 364, 415, 333, 335, 699, 366, 368, 372, 373, + 424, 425, 439, 463, 482, 483, 484, 363, 347, 457, + 348, 382, 349, 319, 355, 353, 356, 465, 357, 321, + 440, 488, 0, 378, 453, 410, 322, 409, 441, 487, + 486, 334, 514, 521, 522, 612, 0, 527, 710, 711, + 712, 536, 0, 447, 330, 329, 0, 0, 0, 359, + 442, 343, 345, 346, 344, 437, 438, 541, 542, 543, + 545, 0, 546, 547, 0, 0, 0, 0, 548, 316, + 317, 318, 613, 629, 597, 566, 529, 621, 563, 567, + 568, 388, 632, 0, 0, 0, 520, 398, 399, 0, + 370, 369, 411, 323, 0, 0, 376, 311, 312, 705, + 360, 430, 634, 669, 670, 559, 0, 622, 560, 569, + 352, 594, 606, 605, 426, 519, 0, 617, 620, 549, + 704, 0, 614, 628, 708, 627, 701, 436, 0, 462, + 625, 572, 0, 618, 591, 592, 0, 619, 587, 623, + 0, 561, 0, 530, 533, 562, 647, 648, 649, 320, + 532, 651, 652, 653, 654, 655, 656, 657, 650, 502, + 595, 571, 598, 511, 574, 573, 0, 0, 609, 528, + 610, 611, 420, 421, 422, 423, 380, 635, 341, 531, + 449, 0, 596, 0, 0, 0, 0, 0, 0, 0, + 0, 601, 602, 599, 713, 0, 658, 659, 0, 0, + 525, 526, 375, 0, 544, 383, 340, 435, 377, 509, + 392, 0, 537, 603, 538, 451, 452, 661, 666, 662, + 663, 665, 685, 427, 387, 389, 466, 393, 403, 454, + 508, 433, 459, 338, 498, 468, 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 640, 639, 638, 637, 636, 635, 634, - 633, 0, 0, 582, 482, 351, 305, 347, 348, 355, - 699, 695, 661, 700, 683, 686, 685, 0, 313, 562, - 398, 445, 371, 627, 628, 0, 681, 259, 260, 261, - 262, 263, 264, 265, 266, 306, 267, 268, 269, 270, - 271, 272, 273, 276, 277, 278, 279, 280, 281, 282, - 283, 630, 274, 275, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, - 0, 0, 307, 687, 688, 689, 690, 691, 0, 0, - 308, 309, 310, 0, 0, 300, 473, 301, 302, 303, - 304, 0, 0, 512, 513, 514, 537, 0, 515, 497, - 561, 381, 314, 477, 504, 697, 0, 0, 0, 0, - 0, 0, 0, 612, 623, 657, 0, 669, 670, 672, - 674, 673, 676, 470, 471, 684, 0, 678, 679, 680, - 677, 402, 457, 478, 464, 0, 703, 552, 553, 704, - 665, 429, 0, 0, 567, 601, 590, 675, 555, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, - 0, 0, 397, 605, 586, 597, 587, 572, 573, 574, - 581, 376, 575, 576, 577, 547, 578, 548, 579, 580, - 0, 604, 554, 466, 413, 0, 621, 0, 0, 0, + 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 643, 642, 641, 640, + 639, 638, 637, 636, 0, 0, 585, 485, 354, 305, + 350, 351, 358, 702, 698, 664, 703, 686, 689, 688, + 0, 313, 565, 401, 448, 374, 630, 631, 0, 684, + 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, + 268, 269, 270, 271, 272, 273, 276, 277, 278, 279, + 280, 281, 282, 283, 633, 274, 275, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 0, 0, 0, 0, 307, 690, 691, 692, 693, + 694, 0, 0, 308, 309, 310, 0, 0, 300, 476, + 301, 302, 303, 304, 0, 0, 515, 516, 517, 540, + 0, 518, 500, 564, 384, 314, 480, 507, 700, 0, + 0, 0, 0, 0, 0, 0, 615, 626, 660, 0, + 672, 673, 675, 677, 676, 679, 473, 474, 687, 0, + 681, 682, 683, 680, 405, 460, 481, 467, 0, 706, + 555, 556, 707, 668, 432, 0, 0, 570, 604, 593, + 678, 558, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 367, 0, 0, 400, 608, 589, 600, 590, + 575, 576, 577, 584, 379, 578, 579, 580, 550, 581, + 551, 582, 583, 0, 607, 557, 469, 416, 0, 624, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 245, 0, 0, 0, 0, 0, 0, 336, 246, 552, + 674, 554, 553, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 339, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2847, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 470, 499, 0, 512, 0, 390, 391, 0, + 0, 0, 0, 0, 0, 0, 324, 477, 496, 337, + 464, 510, 342, 472, 489, 332, 431, 461, 0, 0, + 326, 494, 471, 413, 325, 0, 455, 365, 381, 362, + 429, 0, 493, 523, 361, 513, 0, 504, 328, 0, + 503, 428, 490, 495, 414, 407, 0, 327, 492, 412, + 406, 394, 371, 539, 395, 396, 385, 443, 404, 444, + 386, 418, 417, 419, 0, 0, 0, 0, 0, 534, + 535, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 667, 0, 0, 671, + 0, 506, 0, 0, 0, 0, 0, 0, 475, 0, + 0, 397, 0, 0, 0, 524, 0, 458, 434, 709, + 0, 0, 456, 402, 491, 445, 497, 478, 505, 450, + 446, 315, 479, 364, 415, 333, 335, 699, 366, 368, + 372, 373, 424, 425, 439, 463, 482, 483, 484, 363, + 347, 457, 348, 382, 349, 319, 355, 353, 356, 465, + 357, 321, 440, 488, 0, 378, 453, 410, 322, 409, + 441, 487, 486, 334, 514, 521, 522, 612, 0, 527, + 710, 711, 712, 536, 0, 447, 330, 329, 0, 0, + 0, 359, 442, 343, 345, 346, 344, 437, 438, 541, + 542, 543, 545, 0, 546, 547, 0, 0, 0, 0, + 548, 316, 317, 318, 613, 629, 597, 566, 529, 621, + 563, 567, 568, 388, 632, 0, 0, 0, 520, 398, + 399, 0, 370, 369, 411, 323, 0, 0, 376, 311, + 312, 705, 360, 430, 634, 669, 670, 559, 0, 622, + 560, 569, 352, 594, 606, 605, 426, 519, 0, 617, + 620, 549, 704, 0, 614, 628, 708, 627, 701, 436, + 0, 462, 625, 572, 0, 618, 591, 592, 0, 619, + 587, 623, 0, 561, 0, 530, 533, 562, 647, 648, + 649, 320, 532, 651, 652, 653, 654, 655, 656, 657, + 650, 502, 595, 571, 598, 511, 574, 573, 0, 0, + 609, 528, 610, 611, 420, 421, 422, 423, 380, 635, + 341, 531, 449, 0, 596, 0, 0, 0, 0, 0, + 0, 0, 0, 601, 602, 599, 713, 0, 658, 659, + 0, 0, 525, 526, 375, 0, 544, 383, 340, 435, + 377, 509, 392, 0, 537, 603, 538, 451, 452, 661, + 666, 662, 663, 665, 685, 427, 387, 389, 466, 393, + 403, 454, 508, 433, 459, 338, 498, 468, 408, 588, + 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 643, 642, + 641, 640, 639, 638, 637, 636, 0, 0, 585, 485, + 354, 305, 350, 351, 358, 702, 698, 664, 703, 686, + 689, 688, 0, 313, 565, 401, 448, 374, 630, 631, + 0, 684, 259, 260, 261, 262, 263, 264, 265, 266, + 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, + 278, 279, 280, 281, 282, 283, 633, 274, 275, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 0, 0, 0, 0, 307, 690, 691, + 692, 693, 694, 0, 0, 308, 309, 310, 0, 0, + 300, 476, 301, 302, 303, 304, 0, 0, 515, 516, + 517, 540, 0, 518, 500, 564, 384, 314, 480, 507, + 700, 0, 0, 0, 0, 0, 0, 0, 615, 626, + 660, 0, 672, 673, 675, 677, 676, 679, 473, 474, + 687, 0, 681, 682, 683, 680, 405, 460, 481, 467, + 0, 706, 555, 556, 707, 668, 432, 0, 0, 570, + 604, 593, 678, 558, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 367, 0, 0, 400, 608, 589, + 600, 590, 575, 576, 577, 584, 379, 578, 579, 580, + 550, 581, 551, 582, 583, 0, 607, 557, 469, 416, + 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 245, 0, 0, 2845, 0, 0, 0, 336, + 246, 552, 674, 554, 553, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 339, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 470, 499, 0, 512, 0, 390, + 391, 0, 0, 0, 0, 0, 0, 0, 324, 477, + 496, 337, 464, 510, 342, 472, 489, 332, 431, 461, + 0, 0, 326, 494, 471, 413, 325, 0, 455, 365, + 381, 362, 429, 0, 493, 523, 361, 513, 0, 504, + 328, 0, 503, 428, 490, 495, 414, 407, 0, 327, + 492, 412, 406, 394, 371, 539, 395, 396, 385, 443, + 404, 444, 386, 418, 417, 419, 0, 0, 0, 0, + 0, 534, 535, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 667, 0, + 0, 671, 0, 506, 0, 0, 0, 0, 0, 0, + 475, 0, 0, 397, 0, 0, 0, 524, 0, 458, + 434, 709, 0, 0, 456, 402, 491, 445, 497, 478, + 505, 450, 446, 315, 479, 364, 415, 333, 335, 699, + 366, 368, 372, 373, 424, 425, 439, 463, 482, 483, + 484, 363, 347, 457, 348, 382, 349, 319, 355, 353, + 356, 465, 357, 321, 440, 488, 0, 378, 453, 410, + 322, 409, 441, 487, 486, 334, 514, 521, 522, 612, + 0, 527, 710, 711, 712, 536, 0, 447, 330, 329, + 0, 0, 0, 359, 442, 343, 345, 346, 344, 437, + 438, 541, 542, 543, 545, 0, 546, 547, 0, 0, + 0, 0, 548, 316, 317, 318, 613, 629, 597, 566, + 529, 621, 563, 567, 568, 388, 632, 0, 0, 0, + 520, 398, 399, 0, 370, 369, 411, 323, 0, 0, + 376, 311, 312, 705, 360, 430, 634, 669, 670, 559, + 0, 622, 560, 569, 352, 594, 606, 605, 426, 519, + 0, 617, 620, 549, 704, 0, 614, 628, 708, 627, + 701, 436, 0, 462, 625, 572, 0, 618, 591, 592, + 0, 619, 587, 623, 0, 561, 0, 530, 533, 562, + 647, 648, 649, 320, 532, 651, 652, 653, 654, 655, + 656, 657, 650, 502, 595, 571, 598, 511, 574, 573, + 0, 0, 609, 528, 610, 611, 420, 421, 422, 423, + 380, 635, 341, 531, 449, 0, 596, 0, 0, 0, + 0, 0, 0, 0, 0, 601, 602, 599, 713, 0, + 658, 659, 0, 0, 525, 526, 375, 0, 544, 383, + 340, 435, 377, 509, 392, 0, 537, 603, 538, 451, + 452, 661, 666, 662, 663, 665, 685, 427, 387, 389, + 466, 393, 403, 454, 508, 433, 459, 338, 498, 468, + 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 245, 0, 0, - 1678, 0, 0, 0, 333, 246, 549, 671, 551, 550, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 336, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, - 496, 0, 509, 0, 387, 388, 0, 0, 0, 0, - 0, 0, 0, 321, 474, 493, 334, 461, 507, 339, - 469, 486, 329, 428, 458, 0, 0, 323, 491, 468, - 410, 322, 0, 452, 362, 378, 359, 426, 0, 490, - 520, 358, 510, 0, 501, 325, 0, 500, 425, 487, - 492, 411, 404, 0, 324, 489, 409, 403, 391, 368, - 536, 392, 393, 382, 440, 401, 441, 383, 415, 414, - 416, 0, 0, 0, 0, 0, 531, 532, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 664, 0, 0, 668, 0, 503, 0, - 0, 0, 0, 0, 0, 472, 0, 0, 394, 0, - 0, 0, 521, 0, 455, 431, 706, 0, 0, 453, - 399, 488, 442, 494, 475, 502, 2121, 443, 315, 476, - 361, 412, 330, 332, 696, 363, 365, 369, 370, 421, - 422, 436, 460, 479, 480, 481, 360, 344, 454, 345, - 379, 346, 316, 352, 350, 353, 462, 354, 318, 437, - 485, 0, 375, 450, 407, 319, 406, 438, 484, 483, - 331, 511, 518, 519, 609, 0, 524, 707, 708, 709, - 533, 0, 444, 327, 326, 0, 0, 0, 356, 439, - 340, 342, 343, 341, 434, 435, 538, 539, 540, 542, - 0, 543, 544, 0, 0, 0, 0, 545, 610, 626, - 594, 563, 526, 618, 560, 564, 565, 385, 629, 0, - 0, 0, 517, 395, 396, 0, 367, 366, 408, 320, - 0, 0, 373, 311, 312, 702, 357, 427, 631, 666, - 667, 556, 0, 619, 557, 566, 349, 591, 603, 602, - 423, 516, 0, 614, 617, 546, 701, 0, 611, 625, - 705, 624, 698, 433, 0, 459, 622, 569, 0, 615, - 588, 589, 0, 616, 584, 620, 0, 558, 0, 527, - 530, 559, 644, 645, 646, 317, 529, 648, 649, 650, - 651, 652, 653, 654, 647, 499, 592, 568, 595, 508, - 571, 570, 0, 0, 606, 525, 607, 608, 417, 418, - 419, 420, 377, 632, 338, 528, 446, 0, 593, 0, - 0, 0, 0, 0, 0, 0, 0, 598, 599, 596, - 710, 0, 655, 656, 0, 0, 522, 523, 372, 0, - 541, 380, 337, 432, 374, 506, 389, 0, 534, 600, - 535, 448, 449, 658, 663, 659, 660, 662, 682, 424, - 384, 386, 463, 390, 400, 451, 505, 430, 456, 335, - 495, 465, 405, 585, 613, 0, 0, 0, 0, 0, + 643, 642, 641, 640, 639, 638, 637, 636, 0, 0, + 585, 485, 354, 305, 350, 351, 358, 702, 698, 664, + 703, 686, 689, 688, 0, 313, 565, 401, 448, 374, + 630, 631, 0, 684, 259, 260, 261, 262, 263, 264, + 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, + 276, 277, 278, 279, 280, 281, 282, 283, 633, 274, + 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 0, 0, 0, 0, 307, + 690, 691, 692, 693, 694, 0, 0, 308, 309, 310, + 0, 0, 300, 476, 301, 302, 303, 304, 0, 0, + 515, 516, 517, 540, 0, 518, 500, 564, 384, 314, + 480, 507, 700, 0, 0, 0, 0, 0, 0, 0, + 615, 626, 660, 0, 672, 673, 675, 677, 676, 679, + 473, 474, 687, 0, 681, 682, 683, 680, 405, 460, + 481, 467, 2591, 706, 555, 556, 707, 668, 432, 0, + 0, 570, 604, 593, 678, 558, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 367, 0, 0, 400, + 608, 589, 600, 590, 575, 576, 577, 584, 379, 578, + 579, 580, 550, 581, 551, 582, 583, 0, 607, 557, + 469, 416, 0, 624, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 245, 0, 0, 0, 0, 0, + 0, 336, 246, 552, 674, 554, 553, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 339, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 470, 499, 0, 512, + 0, 390, 391, 0, 0, 0, 0, 0, 0, 0, + 324, 477, 496, 337, 464, 510, 342, 472, 489, 332, + 431, 461, 0, 0, 326, 494, 471, 413, 325, 0, + 455, 365, 381, 362, 429, 0, 493, 523, 361, 513, + 0, 504, 328, 0, 503, 428, 490, 495, 414, 407, + 0, 327, 492, 412, 406, 394, 371, 539, 395, 396, + 385, 443, 404, 444, 386, 418, 417, 419, 0, 0, + 0, 0, 0, 534, 535, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 667, 0, 0, 671, 0, 506, 0, 0, 0, 0, + 0, 0, 475, 0, 0, 397, 0, 0, 0, 524, + 0, 458, 434, 709, 0, 0, 456, 402, 491, 445, + 497, 478, 505, 450, 446, 315, 479, 364, 415, 333, + 335, 699, 366, 368, 372, 373, 424, 425, 439, 463, + 482, 483, 484, 363, 347, 457, 348, 382, 349, 319, + 355, 353, 356, 465, 357, 321, 440, 488, 0, 378, + 453, 410, 322, 409, 441, 487, 486, 334, 514, 521, + 522, 612, 0, 527, 710, 711, 712, 536, 0, 447, + 330, 329, 0, 0, 0, 359, 442, 343, 345, 346, + 344, 437, 438, 541, 542, 543, 545, 0, 546, 547, + 0, 0, 0, 0, 548, 316, 317, 318, 613, 629, + 597, 566, 529, 621, 563, 567, 568, 388, 632, 0, + 0, 0, 520, 398, 399, 0, 370, 369, 411, 323, + 0, 0, 376, 311, 312, 705, 360, 430, 634, 669, + 670, 559, 0, 622, 560, 569, 352, 594, 606, 605, + 426, 519, 0, 617, 620, 549, 704, 0, 614, 628, + 708, 627, 701, 436, 0, 462, 625, 572, 0, 618, + 591, 592, 0, 619, 587, 623, 0, 561, 0, 530, + 533, 562, 647, 648, 649, 320, 532, 651, 652, 653, + 654, 655, 656, 657, 650, 502, 595, 571, 598, 511, + 574, 573, 0, 0, 609, 528, 610, 611, 420, 421, + 422, 423, 380, 635, 341, 531, 449, 0, 596, 0, + 0, 0, 0, 0, 0, 0, 0, 601, 602, 599, + 713, 0, 658, 659, 0, 0, 525, 526, 375, 0, + 544, 383, 340, 435, 377, 509, 392, 0, 537, 603, + 538, 451, 452, 661, 666, 662, 663, 665, 685, 427, + 387, 389, 466, 393, 403, 454, 508, 433, 459, 338, + 498, 468, 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 640, 639, 638, 637, 636, 635, 634, 633, - 0, 0, 582, 482, 351, 305, 347, 348, 355, 699, - 695, 661, 700, 683, 686, 685, 0, 313, 562, 398, - 445, 371, 627, 628, 0, 681, 259, 260, 261, 262, + 0, 0, 643, 642, 641, 640, 639, 638, 637, 636, + 0, 0, 585, 485, 354, 305, 350, 351, 358, 702, + 698, 664, 703, 686, 689, 688, 0, 313, 565, 401, + 448, 374, 630, 631, 0, 684, 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, 278, 279, 280, 281, 282, 283, - 630, 274, 275, 284, 285, 286, 287, 288, 289, 290, + 633, 274, 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 0, - 0, 307, 687, 688, 689, 690, 691, 0, 0, 308, - 309, 310, 0, 0, 300, 473, 301, 302, 303, 304, - 0, 0, 512, 513, 514, 537, 0, 515, 497, 561, - 381, 314, 477, 504, 697, 0, 0, 0, 0, 0, - 0, 0, 612, 623, 657, 0, 669, 670, 672, 674, - 673, 676, 470, 471, 684, 0, 678, 679, 680, 677, - 402, 457, 478, 464, 0, 703, 552, 553, 704, 665, - 429, 0, 0, 567, 601, 590, 675, 555, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 364, 0, - 0, 397, 605, 586, 597, 587, 572, 573, 574, 581, - 376, 575, 576, 577, 547, 578, 548, 579, 580, 0, - 604, 554, 466, 413, 0, 621, 0, 0, 0, 0, + 0, 307, 690, 691, 692, 693, 694, 0, 0, 308, + 309, 310, 0, 0, 300, 476, 301, 302, 303, 304, + 0, 0, 515, 516, 517, 540, 0, 518, 500, 564, + 384, 314, 480, 507, 700, 0, 0, 0, 0, 0, + 0, 0, 615, 626, 660, 0, 672, 673, 675, 677, + 676, 679, 473, 474, 687, 0, 681, 682, 683, 680, + 405, 460, 481, 467, 0, 706, 555, 556, 707, 668, + 432, 0, 0, 570, 604, 593, 678, 558, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, + 0, 400, 608, 589, 600, 590, 575, 576, 577, 584, + 379, 578, 579, 580, 550, 581, 551, 582, 583, 0, + 607, 557, 469, 416, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, 0, 0, 0, - 0, 0, 0, 333, 246, 549, 671, 551, 550, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 336, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 467, 496, - 0, 509, 0, 387, 388, 0, 0, 0, 0, 0, - 0, 0, 321, 474, 493, 334, 461, 507, 339, 469, - 486, 329, 428, 458, 0, 0, 323, 491, 468, 410, - 322, 0, 452, 362, 378, 359, 426, 0, 490, 520, - 358, 510, 0, 501, 325, 0, 500, 425, 487, 492, - 411, 404, 0, 324, 489, 409, 403, 391, 368, 536, - 392, 393, 382, 440, 401, 441, 383, 415, 414, 416, - 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 664, 0, 0, 668, 0, 503, 0, 0, - 1708, 0, 0, 0, 472, 0, 0, 394, 0, 0, - 0, 521, 0, 455, 431, 706, 0, 0, 453, 399, - 488, 442, 494, 475, 502, 447, 443, 315, 476, 361, - 412, 330, 332, 696, 363, 365, 369, 370, 421, 422, - 436, 460, 479, 480, 481, 360, 344, 454, 345, 379, - 346, 316, 352, 350, 353, 462, 354, 318, 437, 485, - 0, 375, 450, 407, 319, 406, 438, 484, 483, 331, - 511, 518, 519, 609, 0, 524, 707, 708, 709, 533, - 0, 444, 327, 326, 0, 0, 0, 356, 439, 340, - 342, 343, 341, 434, 435, 538, 539, 540, 542, 0, - 543, 544, 0, 0, 0, 0, 545, 610, 626, 594, - 563, 526, 618, 560, 564, 565, 385, 629, 0, 0, - 0, 517, 395, 396, 0, 367, 366, 408, 320, 0, - 0, 373, 311, 312, 702, 357, 427, 631, 666, 667, - 556, 0, 619, 557, 566, 349, 591, 603, 602, 423, - 516, 0, 614, 617, 546, 701, 0, 611, 625, 705, - 624, 698, 433, 0, 459, 622, 569, 0, 615, 588, - 589, 0, 616, 584, 620, 0, 558, 0, 527, 530, - 559, 644, 645, 646, 317, 529, 648, 649, 650, 651, - 652, 653, 654, 647, 499, 592, 568, 595, 508, 571, - 570, 0, 0, 606, 525, 607, 608, 417, 418, 419, - 420, 377, 632, 338, 528, 446, 0, 593, 0, 0, - 0, 0, 0, 0, 0, 0, 598, 599, 596, 710, - 0, 655, 656, 0, 0, 522, 523, 372, 0, 541, - 380, 337, 432, 374, 506, 389, 0, 534, 600, 535, - 448, 449, 658, 663, 659, 660, 662, 682, 424, 384, - 386, 463, 390, 400, 451, 505, 430, 456, 335, 495, - 465, 405, 585, 613, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, + 2078, 0, 0, 336, 246, 552, 674, 554, 553, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 339, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 470, 499, + 0, 512, 0, 390, 391, 0, 0, 0, 0, 0, + 0, 0, 324, 477, 496, 337, 464, 510, 342, 472, + 489, 332, 431, 461, 0, 0, 326, 494, 471, 413, + 325, 0, 455, 365, 381, 362, 429, 0, 493, 523, + 361, 513, 0, 504, 328, 0, 503, 428, 490, 495, + 414, 407, 0, 327, 492, 412, 406, 394, 371, 539, + 395, 396, 385, 443, 404, 444, 386, 418, 417, 419, + 0, 0, 0, 0, 0, 534, 535, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 667, 0, 0, 671, 0, 506, 0, 0, + 0, 0, 0, 0, 475, 0, 0, 397, 0, 0, + 0, 524, 0, 458, 434, 709, 0, 0, 456, 402, + 491, 445, 497, 478, 505, 450, 446, 315, 479, 364, + 415, 333, 335, 699, 366, 368, 372, 373, 424, 425, + 439, 463, 482, 483, 484, 363, 347, 457, 348, 382, + 349, 319, 355, 353, 356, 465, 357, 321, 440, 488, + 0, 378, 453, 410, 322, 409, 441, 487, 486, 334, + 514, 521, 522, 612, 0, 527, 710, 711, 712, 536, + 0, 447, 330, 329, 0, 0, 0, 359, 442, 343, + 345, 346, 344, 437, 438, 541, 542, 543, 545, 0, + 546, 547, 0, 0, 0, 0, 548, 316, 317, 318, + 613, 629, 597, 566, 529, 621, 563, 567, 568, 388, + 632, 0, 0, 0, 520, 398, 399, 0, 370, 369, + 411, 323, 0, 0, 376, 311, 312, 705, 360, 430, + 634, 669, 670, 559, 0, 622, 560, 569, 352, 594, + 606, 605, 426, 519, 0, 617, 620, 549, 704, 0, + 614, 628, 708, 627, 701, 436, 0, 462, 625, 572, + 0, 618, 591, 592, 0, 619, 587, 623, 0, 561, + 0, 530, 533, 562, 647, 648, 649, 320, 532, 651, + 652, 653, 654, 655, 656, 657, 650, 502, 595, 571, + 598, 511, 574, 573, 0, 0, 609, 528, 610, 611, + 420, 421, 422, 423, 380, 635, 341, 531, 449, 0, + 596, 0, 0, 0, 0, 0, 0, 0, 0, 601, + 602, 599, 713, 0, 658, 659, 0, 0, 525, 526, + 375, 0, 544, 383, 340, 435, 377, 509, 392, 0, + 537, 603, 538, 451, 452, 661, 666, 662, 663, 665, + 685, 427, 387, 389, 466, 393, 403, 454, 508, 433, + 459, 338, 498, 468, 408, 588, 616, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 640, 639, 638, 637, 636, 635, 634, 633, 0, - 0, 582, 482, 351, 305, 347, 348, 355, 699, 695, - 661, 700, 683, 686, 685, 0, 313, 562, 398, 445, - 371, 627, 628, 0, 681, 259, 260, 261, 262, 263, - 264, 265, 266, 306, 267, 268, 269, 270, 271, 272, - 273, 276, 277, 278, 279, 280, 281, 282, 283, 630, - 274, 275, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, - 307, 687, 688, 689, 690, 691, 0, 0, 308, 309, - 310, 0, 0, 300, 473, 301, 302, 303, 304, 0, - 0, 512, 513, 514, 537, 0, 515, 497, 561, 381, - 314, 477, 504, 697, 0, 0, 0, 0, 0, 0, - 0, 612, 623, 657, 0, 669, 670, 672, 674, 673, - 676, 470, 471, 684, 0, 678, 679, 680, 677, 402, - 457, 478, 464, 0, 703, 552, 553, 704, 665, 429, - 0, 0, 567, 601, 590, 675, 555, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 722, 364, 0, 0, - 397, 605, 586, 597, 587, 572, 573, 574, 581, 376, - 575, 576, 577, 547, 578, 548, 579, 580, 0, 604, - 554, 466, 413, 0, 621, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 245, 0, 0, 0, 0, - 0, 0, 333, 246, 549, 671, 551, 550, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 336, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 467, 496, 0, - 509, 0, 387, 388, 0, 0, 0, 0, 0, 0, - 0, 321, 474, 493, 334, 461, 507, 339, 469, 486, - 329, 428, 458, 0, 0, 323, 491, 468, 410, 322, - 0, 452, 362, 378, 359, 426, 0, 490, 520, 358, - 510, 0, 501, 325, 0, 500, 425, 487, 492, 411, - 404, 0, 324, 489, 409, 403, 391, 368, 536, 392, - 393, 382, 440, 401, 441, 383, 415, 414, 416, 0, - 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 664, 0, 0, 668, 0, 503, 0, 0, 0, - 0, 0, 0, 472, 0, 0, 394, 0, 0, 0, - 521, 0, 455, 431, 706, 0, 0, 453, 399, 488, - 442, 494, 475, 502, 447, 443, 315, 476, 361, 412, - 330, 332, 696, 363, 365, 369, 370, 421, 422, 436, - 460, 479, 480, 481, 360, 344, 454, 345, 379, 346, - 316, 352, 350, 353, 462, 354, 318, 437, 485, 0, - 375, 450, 407, 319, 406, 438, 484, 483, 331, 511, - 518, 519, 609, 0, 524, 707, 708, 709, 533, 0, - 444, 327, 326, 0, 0, 0, 356, 439, 340, 342, - 343, 341, 434, 435, 538, 539, 540, 542, 0, 543, - 544, 0, 0, 0, 0, 545, 610, 626, 594, 563, - 526, 618, 560, 564, 565, 385, 629, 0, 0, 0, - 517, 395, 396, 0, 367, 366, 408, 320, 0, 0, - 373, 311, 312, 702, 357, 427, 631, 666, 667, 556, - 0, 619, 557, 566, 349, 591, 603, 602, 423, 516, - 0, 614, 617, 546, 701, 0, 611, 625, 705, 624, - 698, 433, 0, 459, 622, 569, 0, 615, 588, 589, - 0, 616, 584, 620, 0, 558, 0, 527, 530, 559, - 644, 645, 646, 317, 529, 648, 649, 650, 651, 652, - 653, 654, 647, 499, 592, 568, 595, 508, 571, 570, - 0, 0, 606, 525, 607, 608, 417, 418, 419, 420, - 377, 632, 338, 528, 446, 0, 593, 0, 0, 0, - 0, 0, 0, 0, 0, 598, 599, 596, 710, 0, - 655, 656, 0, 0, 522, 523, 372, 0, 541, 380, - 337, 432, 374, 506, 389, 0, 534, 600, 535, 448, - 449, 658, 663, 659, 660, 662, 682, 424, 384, 386, - 463, 390, 400, 451, 505, 430, 456, 335, 495, 465, - 405, 585, 613, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 643, 642, 641, 640, 639, 638, + 637, 636, 0, 0, 585, 485, 354, 305, 350, 351, + 358, 702, 698, 664, 703, 686, 689, 688, 0, 313, + 565, 401, 448, 374, 630, 631, 0, 684, 259, 260, + 261, 262, 263, 264, 265, 266, 306, 267, 268, 269, + 270, 271, 272, 273, 276, 277, 278, 279, 280, 281, + 282, 283, 633, 274, 275, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, + 0, 0, 0, 307, 690, 691, 692, 693, 694, 0, + 0, 308, 309, 310, 0, 0, 300, 476, 301, 302, + 303, 304, 0, 0, 515, 516, 517, 540, 0, 518, + 500, 564, 384, 314, 480, 507, 700, 0, 0, 0, + 0, 0, 0, 0, 615, 626, 660, 0, 672, 673, + 675, 677, 676, 679, 473, 474, 687, 0, 681, 682, + 683, 680, 405, 460, 481, 467, 0, 706, 555, 556, + 707, 668, 432, 0, 0, 570, 604, 593, 678, 558, + 0, 2232, 0, 0, 0, 0, 0, 0, 0, 0, + 367, 0, 0, 400, 608, 589, 600, 590, 575, 576, + 577, 584, 379, 578, 579, 580, 550, 581, 551, 582, + 583, 0, 607, 557, 469, 416, 0, 624, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 245, 0, + 0, 0, 0, 0, 0, 336, 246, 552, 674, 554, + 553, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 339, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 470, 499, 0, 512, 0, 390, 391, 0, 0, 0, + 0, 0, 0, 0, 324, 477, 496, 337, 464, 510, + 342, 472, 489, 332, 431, 461, 0, 0, 326, 494, + 471, 413, 325, 0, 455, 365, 381, 362, 429, 0, + 493, 523, 361, 513, 0, 504, 328, 0, 503, 428, + 490, 495, 414, 407, 0, 327, 492, 412, 406, 394, + 371, 539, 395, 396, 385, 443, 404, 444, 386, 418, + 417, 419, 0, 0, 0, 0, 0, 534, 535, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 667, 0, 0, 671, 0, 506, + 0, 0, 0, 0, 0, 0, 475, 0, 0, 397, + 0, 0, 0, 524, 0, 458, 434, 709, 0, 0, + 456, 402, 491, 445, 497, 478, 505, 450, 446, 315, + 479, 364, 415, 333, 335, 699, 366, 368, 372, 373, + 424, 425, 439, 463, 482, 483, 484, 363, 347, 457, + 348, 382, 349, 319, 355, 353, 356, 465, 357, 321, + 440, 488, 0, 378, 453, 410, 322, 409, 441, 487, + 486, 334, 514, 521, 522, 612, 0, 527, 710, 711, + 712, 536, 0, 447, 330, 329, 0, 0, 0, 359, + 442, 343, 345, 346, 344, 437, 438, 541, 542, 543, + 545, 0, 546, 547, 0, 0, 0, 0, 548, 316, + 317, 318, 613, 629, 597, 566, 529, 621, 563, 567, + 568, 388, 632, 0, 0, 0, 520, 398, 399, 0, + 370, 369, 411, 323, 0, 0, 376, 311, 312, 705, + 360, 430, 634, 669, 670, 559, 0, 622, 560, 569, + 352, 594, 606, 605, 426, 519, 0, 617, 620, 549, + 704, 0, 614, 628, 708, 627, 701, 436, 0, 462, + 625, 572, 0, 618, 591, 592, 0, 619, 587, 623, + 0, 561, 0, 530, 533, 562, 647, 648, 649, 320, + 532, 651, 652, 653, 654, 655, 656, 657, 650, 502, + 595, 571, 598, 511, 574, 573, 0, 0, 609, 528, + 610, 611, 420, 421, 422, 423, 380, 635, 341, 531, + 449, 0, 596, 0, 0, 0, 0, 0, 0, 0, + 0, 601, 602, 599, 713, 0, 658, 659, 0, 0, + 525, 526, 375, 0, 544, 383, 340, 435, 377, 509, + 392, 0, 537, 603, 538, 451, 452, 661, 666, 662, + 663, 665, 685, 427, 387, 389, 466, 393, 403, 454, + 508, 433, 459, 338, 498, 468, 408, 588, 616, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 643, 642, 641, 640, + 639, 638, 637, 636, 0, 0, 585, 485, 354, 305, + 350, 351, 358, 702, 698, 664, 703, 686, 689, 688, + 0, 313, 565, 401, 448, 374, 630, 631, 0, 684, + 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, + 268, 269, 270, 271, 272, 273, 276, 277, 278, 279, + 280, 281, 282, 283, 633, 274, 275, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 0, 0, 0, 0, 307, 690, 691, 692, 693, + 694, 0, 0, 308, 309, 310, 0, 0, 300, 476, + 301, 302, 303, 304, 0, 0, 515, 516, 517, 540, + 0, 518, 500, 564, 384, 314, 480, 507, 700, 0, + 0, 0, 0, 0, 0, 0, 615, 626, 660, 0, + 672, 673, 675, 677, 676, 679, 473, 474, 687, 0, + 681, 682, 683, 680, 405, 460, 481, 467, 0, 706, + 555, 556, 707, 668, 432, 0, 0, 570, 604, 593, + 678, 558, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 367, 0, 0, 400, 608, 589, 600, 590, + 575, 576, 577, 584, 379, 578, 579, 580, 550, 581, + 551, 582, 583, 0, 607, 557, 469, 416, 0, 624, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 245, 0, 0, 1681, 0, 0, 0, 336, 246, 552, + 674, 554, 553, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 339, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 470, 499, 0, 512, 0, 390, 391, 0, + 0, 0, 0, 0, 0, 0, 324, 477, 496, 337, + 464, 510, 342, 472, 489, 332, 431, 461, 0, 0, + 326, 494, 471, 413, 325, 0, 455, 365, 381, 362, + 429, 0, 493, 523, 361, 513, 0, 504, 328, 0, + 503, 428, 490, 495, 414, 407, 0, 327, 492, 412, + 406, 394, 371, 539, 395, 396, 385, 443, 404, 444, + 386, 418, 417, 419, 0, 0, 0, 0, 0, 534, + 535, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 667, 0, 0, 671, + 0, 506, 0, 0, 0, 0, 0, 0, 475, 0, + 0, 397, 0, 0, 0, 524, 0, 458, 434, 709, + 0, 0, 456, 402, 491, 445, 497, 478, 505, 2124, + 446, 315, 479, 364, 415, 333, 335, 699, 366, 368, + 372, 373, 424, 425, 439, 463, 482, 483, 484, 363, + 347, 457, 348, 382, 349, 319, 355, 353, 356, 465, + 357, 321, 440, 488, 0, 378, 453, 410, 322, 409, + 441, 487, 486, 334, 514, 521, 522, 612, 0, 527, + 710, 711, 712, 536, 0, 447, 330, 329, 0, 0, + 0, 359, 442, 343, 345, 346, 344, 437, 438, 541, + 542, 543, 545, 0, 546, 547, 0, 0, 0, 0, + 548, 316, 317, 318, 613, 629, 597, 566, 529, 621, + 563, 567, 568, 388, 632, 0, 0, 0, 520, 398, + 399, 0, 370, 369, 411, 323, 0, 0, 376, 311, + 312, 705, 360, 430, 634, 669, 670, 559, 0, 622, + 560, 569, 352, 594, 606, 605, 426, 519, 0, 617, + 620, 549, 704, 0, 614, 628, 708, 627, 701, 436, + 0, 462, 625, 572, 0, 618, 591, 592, 0, 619, + 587, 623, 0, 561, 0, 530, 533, 562, 647, 648, + 649, 320, 532, 651, 652, 653, 654, 655, 656, 657, + 650, 502, 595, 571, 598, 511, 574, 573, 0, 0, + 609, 528, 610, 611, 420, 421, 422, 423, 380, 635, + 341, 531, 449, 0, 596, 0, 0, 0, 0, 0, + 0, 0, 0, 601, 602, 599, 713, 0, 658, 659, + 0, 0, 525, 526, 375, 0, 544, 383, 340, 435, + 377, 509, 392, 0, 537, 603, 538, 451, 452, 661, + 666, 662, 663, 665, 685, 427, 387, 389, 466, 393, + 403, 454, 508, 433, 459, 338, 498, 468, 408, 588, + 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 643, 642, + 641, 640, 639, 638, 637, 636, 0, 0, 585, 485, + 354, 305, 350, 351, 358, 702, 698, 664, 703, 686, + 689, 688, 0, 313, 565, 401, 448, 374, 630, 631, + 0, 684, 259, 260, 261, 262, 263, 264, 265, 266, + 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, + 278, 279, 280, 281, 282, 283, 633, 274, 275, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 0, 0, 0, 0, 307, 690, 691, + 692, 693, 694, 0, 0, 308, 309, 310, 0, 0, + 300, 476, 301, 302, 303, 304, 0, 0, 515, 516, + 517, 540, 0, 518, 500, 564, 384, 314, 480, 507, + 700, 0, 0, 0, 0, 0, 0, 0, 615, 626, + 660, 0, 672, 673, 675, 677, 676, 679, 473, 474, + 687, 0, 681, 682, 683, 680, 405, 460, 481, 467, + 0, 706, 555, 556, 707, 668, 432, 0, 0, 570, + 604, 593, 678, 558, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 367, 0, 0, 400, 608, 589, + 600, 590, 575, 576, 577, 584, 379, 578, 579, 580, + 550, 581, 551, 582, 583, 0, 607, 557, 469, 416, + 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 245, 0, 0, 0, 0, 0, 0, 336, + 246, 552, 674, 554, 553, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 339, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 470, 499, 0, 512, 0, 390, + 391, 0, 0, 0, 0, 0, 0, 0, 324, 477, + 496, 337, 464, 510, 342, 472, 489, 332, 431, 461, + 0, 0, 326, 494, 471, 413, 325, 0, 455, 365, + 381, 362, 429, 0, 493, 523, 361, 513, 0, 504, + 328, 0, 503, 428, 490, 495, 414, 407, 0, 327, + 492, 412, 406, 394, 371, 539, 395, 396, 385, 443, + 404, 444, 386, 418, 417, 419, 0, 0, 0, 0, + 0, 534, 535, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 667, 0, + 0, 671, 0, 506, 0, 0, 1711, 0, 0, 0, + 475, 0, 0, 397, 0, 0, 0, 524, 0, 458, + 434, 709, 0, 0, 456, 402, 491, 445, 497, 478, + 505, 450, 446, 315, 479, 364, 415, 333, 335, 699, + 366, 368, 372, 373, 424, 425, 439, 463, 482, 483, + 484, 363, 347, 457, 348, 382, 349, 319, 355, 353, + 356, 465, 357, 321, 440, 488, 0, 378, 453, 410, + 322, 409, 441, 487, 486, 334, 514, 521, 522, 612, + 0, 527, 710, 711, 712, 536, 0, 447, 330, 329, + 0, 0, 0, 359, 442, 343, 345, 346, 344, 437, + 438, 541, 542, 543, 545, 0, 546, 547, 0, 0, + 0, 0, 548, 316, 317, 318, 613, 629, 597, 566, + 529, 621, 563, 567, 568, 388, 632, 0, 0, 0, + 520, 398, 399, 0, 370, 369, 411, 323, 0, 0, + 376, 311, 312, 705, 360, 430, 634, 669, 670, 559, + 0, 622, 560, 569, 352, 594, 606, 605, 426, 519, + 0, 617, 620, 549, 704, 0, 614, 628, 708, 627, + 701, 436, 0, 462, 625, 572, 0, 618, 591, 592, + 0, 619, 587, 623, 0, 561, 0, 530, 533, 562, + 647, 648, 649, 320, 532, 651, 652, 653, 654, 655, + 656, 657, 650, 502, 595, 571, 598, 511, 574, 573, + 0, 0, 609, 528, 610, 611, 420, 421, 422, 423, + 380, 635, 341, 531, 449, 0, 596, 0, 0, 0, + 0, 0, 0, 0, 0, 601, 602, 599, 713, 0, + 658, 659, 0, 0, 525, 526, 375, 0, 544, 383, + 340, 435, 377, 509, 392, 0, 537, 603, 538, 451, + 452, 661, 666, 662, 663, 665, 685, 427, 387, 389, + 466, 393, 403, 454, 508, 433, 459, 338, 498, 468, + 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 640, 639, 638, 637, 636, 635, 634, 633, 0, 0, - 582, 482, 351, 305, 347, 348, 355, 699, 695, 661, - 700, 683, 686, 685, 0, 313, 562, 398, 445, 371, - 627, 628, 0, 681, 259, 260, 261, 262, 263, 264, + 643, 642, 641, 640, 639, 638, 637, 636, 0, 0, + 585, 485, 354, 305, 350, 351, 358, 702, 698, 664, + 703, 686, 689, 688, 0, 313, 565, 401, 448, 374, + 630, 631, 0, 684, 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, - 276, 277, 278, 279, 280, 281, 282, 283, 630, 274, + 276, 277, 278, 279, 280, 281, 282, 283, 633, 274, 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, 307, - 687, 688, 689, 690, 691, 0, 0, 308, 309, 310, - 0, 0, 300, 473, 301, 302, 303, 304, 0, 0, - 512, 513, 514, 537, 0, 515, 497, 561, 381, 314, - 477, 504, 697, 0, 0, 0, 0, 0, 0, 0, - 612, 623, 657, 0, 669, 670, 672, 674, 673, 676, - 470, 471, 684, 0, 678, 679, 680, 677, 402, 457, - 478, 464, 0, 703, 552, 553, 704, 665, 429, 0, - 0, 567, 601, 590, 675, 555, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 364, 0, 0, 397, - 605, 586, 597, 587, 572, 573, 574, 581, 376, 575, - 576, 577, 547, 578, 548, 579, 580, 0, 604, 554, - 466, 413, 0, 621, 0, 0, 0, 0, 0, 0, + 690, 691, 692, 693, 694, 0, 0, 308, 309, 310, + 0, 0, 300, 476, 301, 302, 303, 304, 0, 0, + 515, 516, 517, 540, 0, 518, 500, 564, 384, 314, + 480, 507, 700, 0, 0, 0, 0, 0, 0, 0, + 615, 626, 660, 0, 672, 673, 675, 677, 676, 679, + 473, 474, 687, 0, 681, 682, 683, 680, 405, 460, + 481, 467, 0, 706, 555, 556, 707, 668, 432, 0, + 0, 570, 604, 593, 678, 558, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 725, 367, 0, 0, 400, + 608, 589, 600, 590, 575, 576, 577, 584, 379, 578, + 579, 580, 550, 581, 551, 582, 583, 0, 607, 557, + 469, 416, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, 0, 0, 0, 0, 0, - 0, 333, 246, 549, 671, 551, 550, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 336, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 467, 496, 0, 509, - 0, 387, 388, 0, 0, 0, 0, 0, 0, 0, - 321, 474, 493, 334, 461, 507, 339, 469, 486, 329, - 428, 458, 0, 0, 323, 491, 468, 410, 322, 0, - 452, 362, 378, 359, 426, 0, 490, 520, 358, 510, - 0, 501, 325, 0, 500, 425, 487, 492, 411, 404, - 0, 324, 489, 409, 403, 391, 368, 536, 392, 393, - 382, 440, 401, 441, 383, 415, 414, 416, 0, 0, - 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 664, 0, 727, 668, 0, 503, 0, 0, 0, 0, - 0, 0, 472, 0, 0, 394, 0, 0, 0, 521, - 0, 455, 431, 706, 0, 0, 453, 399, 488, 442, - 494, 475, 502, 447, 443, 315, 476, 361, 412, 330, - 332, 696, 363, 365, 369, 370, 421, 422, 436, 460, - 479, 480, 481, 360, 344, 454, 345, 379, 346, 316, - 352, 350, 353, 462, 354, 318, 437, 485, 0, 375, - 450, 407, 319, 406, 438, 484, 483, 331, 511, 518, - 519, 609, 0, 524, 707, 708, 709, 533, 0, 444, - 327, 326, 0, 0, 0, 356, 439, 340, 342, 343, - 341, 434, 435, 538, 539, 540, 542, 0, 543, 544, - 0, 0, 0, 0, 545, 610, 626, 594, 563, 526, - 618, 560, 564, 565, 385, 629, 0, 0, 0, 517, - 395, 396, 0, 367, 366, 408, 320, 0, 0, 373, - 311, 312, 702, 357, 427, 631, 666, 667, 556, 0, - 619, 557, 566, 349, 591, 603, 602, 423, 516, 0, - 614, 617, 546, 701, 0, 611, 625, 705, 624, 698, - 433, 0, 459, 622, 569, 0, 615, 588, 589, 0, - 616, 584, 620, 0, 558, 0, 527, 530, 559, 644, - 645, 646, 317, 529, 648, 649, 650, 651, 652, 653, - 654, 647, 499, 592, 568, 595, 508, 571, 570, 0, - 0, 606, 525, 607, 608, 417, 418, 419, 420, 377, - 632, 338, 528, 446, 0, 593, 0, 0, 0, 0, - 0, 0, 0, 0, 598, 599, 596, 710, 0, 655, - 656, 0, 0, 522, 523, 372, 0, 541, 380, 337, - 432, 374, 506, 389, 0, 534, 600, 535, 448, 449, - 658, 663, 659, 660, 662, 682, 424, 384, 386, 463, - 390, 400, 451, 505, 430, 456, 335, 495, 465, 405, - 585, 613, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 640, - 639, 638, 637, 636, 635, 634, 633, 0, 0, 582, - 482, 351, 305, 347, 348, 355, 699, 695, 661, 700, - 683, 686, 685, 0, 313, 562, 398, 445, 371, 627, - 628, 0, 681, 259, 260, 261, 262, 263, 264, 265, - 266, 306, 267, 268, 269, 270, 271, 272, 273, 276, - 277, 278, 279, 280, 281, 282, 283, 630, 274, 275, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 0, 0, 0, 0, 307, 687, - 688, 689, 690, 691, 0, 0, 308, 309, 310, 0, - 0, 300, 473, 301, 302, 303, 304, 0, 0, 512, - 513, 514, 537, 0, 515, 497, 561, 381, 314, 477, - 504, 697, 0, 0, 0, 0, 0, 0, 0, 612, - 623, 657, 0, 669, 670, 672, 674, 673, 676, 470, - 471, 684, 0, 678, 679, 680, 677, 402, 457, 478, - 464, 0, 703, 552, 553, 704, 665, 429, 0, 0, - 567, 601, 590, 675, 555, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 364, 0, 0, 397, 605, - 586, 597, 587, 572, 573, 574, 581, 376, 575, 576, - 577, 547, 578, 548, 579, 580, 0, 604, 554, 466, - 413, 0, 621, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 245, 0, 0, 0, 0, 0, 0, - 333, 246, 549, 671, 551, 550, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 336, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 467, 496, 0, 509, 0, - 387, 388, 0, 0, 0, 0, 0, 0, 0, 321, - 474, 493, 334, 461, 507, 339, 469, 486, 329, 428, - 458, 0, 0, 323, 491, 468, 410, 322, 0, 452, - 362, 378, 359, 426, 0, 490, 520, 358, 510, 0, - 501, 325, 0, 500, 425, 487, 492, 411, 404, 0, - 324, 489, 409, 403, 391, 368, 536, 392, 393, 382, - 440, 401, 441, 383, 415, 414, 416, 0, 0, 0, - 0, 0, 531, 532, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, - 0, 0, 668, 0, 503, 0, 0, 0, 0, 0, - 0, 472, 0, 0, 394, 0, 0, 0, 521, 0, - 455, 431, 706, 0, 0, 453, 399, 488, 442, 494, - 475, 502, 447, 443, 315, 476, 361, 412, 330, 332, - 696, 363, 365, 369, 370, 421, 422, 436, 460, 479, - 480, 481, 360, 344, 454, 345, 379, 346, 316, 352, - 350, 353, 462, 354, 318, 437, 485, 0, 375, 450, - 407, 319, 406, 438, 484, 483, 331, 511, 518, 519, - 609, 0, 524, 707, 708, 709, 533, 0, 444, 327, - 326, 0, 0, 0, 356, 439, 340, 342, 343, 341, - 434, 435, 538, 539, 540, 542, 0, 543, 544, 0, - 0, 0, 0, 545, 610, 626, 594, 563, 526, 618, - 560, 564, 565, 385, 629, 0, 0, 0, 517, 395, - 396, 0, 367, 366, 408, 320, 0, 0, 373, 311, - 312, 702, 357, 427, 631, 666, 667, 556, 0, 619, - 557, 566, 349, 591, 603, 602, 423, 516, 0, 614, - 617, 546, 701, 0, 611, 625, 705, 624, 698, 433, - 0, 459, 622, 569, 0, 615, 588, 589, 0, 616, - 584, 620, 0, 558, 0, 527, 530, 559, 644, 645, - 646, 317, 529, 648, 649, 650, 651, 652, 653, 654, - 647, 499, 592, 568, 595, 508, 571, 570, 0, 0, - 606, 525, 607, 608, 417, 418, 419, 420, 377, 632, - 338, 528, 446, 0, 593, 0, 0, 0, 0, 0, - 0, 0, 0, 598, 599, 596, 710, 0, 655, 656, - 0, 0, 522, 523, 372, 0, 541, 380, 337, 432, - 374, 506, 389, 0, 534, 600, 535, 448, 449, 658, - 663, 659, 660, 662, 682, 424, 384, 386, 463, 390, - 400, 451, 505, 430, 456, 335, 495, 465, 405, 585, - 613, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 640, 639, - 638, 637, 636, 635, 634, 633, 1043, 0, 582, 482, - 351, 305, 347, 348, 355, 699, 695, 661, 700, 683, - 686, 685, 0, 313, 562, 398, 445, 371, 627, 628, - 0, 681, 259, 260, 261, 262, 263, 264, 265, 266, - 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, - 278, 279, 280, 281, 282, 283, 630, 274, 275, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 0, 0, 0, 0, 307, 687, 688, - 689, 690, 691, 0, 0, 308, 309, 310, 0, 0, - 300, 473, 301, 302, 303, 304, 0, 0, 512, 513, - 514, 537, 0, 515, 497, 561, 381, 314, 477, 504, - 697, 0, 0, 0, 0, 0, 0, 0, 612, 623, - 657, 0, 669, 670, 672, 674, 673, 676, 470, 471, - 684, 0, 678, 679, 680, 677, 402, 457, 478, 464, - 0, 703, 552, 553, 704, 665, 429, 0, 0, 567, - 601, 590, 675, 555, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 364, 0, 0, 397, 605, 586, - 597, 587, 572, 573, 574, 581, 376, 575, 576, 577, - 547, 578, 548, 579, 580, 0, 604, 554, 466, 413, - 0, 621, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 245, 0, 0, 0, 0, 0, 0, 333, - 246, 549, 671, 551, 550, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 336, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 467, 496, 0, 509, 0, 387, - 388, 0, 0, 0, 0, 0, 0, 0, 321, 474, - 493, 334, 461, 507, 339, 469, 486, 329, 428, 458, - 0, 0, 323, 491, 468, 410, 322, 0, 452, 362, - 378, 359, 426, 0, 490, 520, 358, 510, 0, 501, - 325, 0, 500, 425, 487, 492, 411, 404, 0, 324, - 489, 409, 403, 391, 368, 536, 392, 393, 382, 440, - 401, 441, 383, 415, 414, 416, 0, 0, 0, 0, - 0, 531, 532, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, - 0, 668, 0, 503, 0, 0, 0, 0, 0, 0, - 472, 0, 0, 394, 0, 0, 0, 521, 0, 455, - 431, 706, 0, 0, 453, 399, 488, 442, 494, 475, - 502, 447, 443, 315, 476, 361, 412, 330, 332, 696, - 363, 365, 369, 370, 421, 422, 436, 460, 479, 480, - 481, 360, 344, 454, 345, 379, 346, 316, 352, 350, - 353, 462, 354, 318, 437, 485, 0, 375, 450, 407, - 319, 406, 438, 484, 483, 331, 511, 518, 519, 609, - 0, 524, 707, 708, 709, 533, 0, 444, 327, 326, - 0, 0, 0, 356, 439, 340, 342, 343, 341, 434, - 435, 538, 539, 540, 542, 0, 543, 544, 0, 0, - 0, 0, 545, 610, 626, 594, 563, 526, 618, 560, - 564, 565, 385, 629, 0, 0, 0, 517, 395, 396, - 0, 367, 366, 408, 320, 0, 0, 373, 311, 312, - 702, 357, 427, 631, 666, 667, 556, 0, 619, 557, - 566, 349, 591, 603, 602, 423, 516, 0, 614, 617, - 546, 701, 0, 611, 625, 705, 624, 698, 433, 0, - 459, 622, 569, 0, 615, 588, 589, 0, 616, 584, - 620, 0, 558, 0, 527, 530, 559, 644, 645, 646, - 317, 529, 648, 649, 650, 651, 652, 653, 654, 647, - 499, 592, 568, 595, 508, 571, 570, 0, 0, 606, - 525, 607, 608, 417, 418, 419, 420, 377, 632, 338, - 528, 446, 0, 593, 0, 0, 0, 0, 0, 0, - 0, 0, 598, 599, 596, 710, 0, 655, 656, 0, - 0, 522, 523, 372, 0, 541, 380, 337, 432, 374, - 506, 389, 0, 534, 600, 535, 448, 449, 658, 663, - 659, 660, 662, 682, 424, 384, 386, 463, 390, 400, - 451, 505, 430, 456, 335, 495, 465, 405, 585, 613, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 640, 639, 638, - 637, 636, 635, 634, 633, 0, 0, 582, 482, 351, - 305, 347, 348, 355, 699, 695, 661, 700, 683, 686, - 685, 0, 313, 562, 398, 445, 371, 627, 628, 0, - 681, 259, 260, 261, 262, 263, 264, 265, 266, 306, - 267, 268, 269, 270, 271, 272, 273, 276, 277, 278, - 279, 280, 281, 282, 283, 630, 274, 275, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 0, 0, 0, 0, 307, 687, 688, 689, - 690, 691, 0, 0, 308, 309, 310, 0, 0, 300, - 473, 301, 302, 303, 304, 0, 0, 512, 513, 514, - 537, 0, 515, 497, 561, 381, 314, 477, 504, 697, - 0, 0, 0, 0, 0, 0, 0, 612, 623, 657, - 0, 669, 670, 672, 674, 673, 676, 470, 471, 684, - 0, 678, 679, 680, 677, 402, 457, 478, 464, 0, - 703, 552, 553, 704, 665, 429, 0, 0, 567, 601, - 590, 675, 555, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 364, 0, 0, 397, 605, 586, 597, - 587, 572, 573, 574, 581, 376, 575, 576, 577, 547, - 578, 548, 579, 580, 0, 604, 554, 466, 413, 0, - 621, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 245, 0, 0, 0, 0, 0, 0, 333, 246, - 549, 671, 551, 550, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 336, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 467, 496, 0, 509, 0, 387, 388, - 0, 0, 0, 0, 0, 0, 0, 321, 474, 493, - 334, 461, 507, 339, 469, 486, 329, 428, 458, 0, - 0, 323, 491, 468, 410, 322, 0, 452, 362, 378, - 359, 426, 0, 490, 520, 358, 510, 0, 501, 325, - 0, 500, 425, 487, 492, 411, 404, 0, 324, 489, - 409, 403, 391, 368, 536, 392, 393, 382, 440, 401, - 441, 383, 415, 414, 416, 0, 0, 0, 0, 0, - 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, - 668, 0, 503, 0, 0, 0, 0, 0, 0, 472, - 0, 0, 394, 0, 0, 0, 521, 0, 455, 431, - 706, 0, 0, 453, 399, 488, 442, 494, 475, 502, - 447, 443, 315, 476, 361, 412, 330, 332, 696, 363, - 365, 369, 370, 421, 422, 436, 460, 479, 480, 481, - 360, 344, 454, 345, 379, 346, 316, 352, 350, 353, - 462, 354, 318, 437, 485, 0, 375, 3455, 407, 319, - 406, 438, 484, 483, 331, 511, 518, 519, 609, 0, - 524, 707, 708, 709, 533, 0, 444, 327, 326, 0, - 0, 0, 356, 439, 340, 342, 343, 341, 434, 435, - 538, 539, 540, 542, 0, 543, 544, 0, 0, 0, - 0, 545, 610, 626, 594, 563, 526, 618, 560, 564, - 565, 385, 629, 0, 0, 0, 517, 395, 396, 0, - 367, 366, 408, 320, 0, 0, 373, 311, 312, 702, - 357, 427, 631, 666, 667, 556, 0, 619, 557, 566, - 349, 591, 603, 602, 423, 516, 0, 614, 617, 546, - 701, 0, 611, 625, 705, 624, 698, 433, 0, 459, - 622, 569, 0, 615, 588, 589, 0, 616, 584, 620, - 0, 558, 0, 527, 530, 559, 644, 645, 646, 317, - 529, 648, 649, 650, 651, 652, 653, 654, 647, 499, - 592, 568, 595, 508, 571, 570, 0, 0, 606, 525, - 607, 608, 417, 418, 419, 420, 377, 632, 338, 528, - 446, 0, 593, 0, 0, 0, 0, 0, 0, 0, - 0, 598, 599, 596, 710, 0, 655, 656, 0, 0, - 522, 523, 372, 0, 541, 380, 337, 432, 374, 506, - 389, 0, 534, 600, 535, 448, 449, 658, 663, 659, - 660, 662, 682, 424, 384, 386, 463, 390, 400, 451, - 505, 430, 456, 335, 495, 465, 405, 585, 613, 0, + 0, 336, 246, 552, 674, 554, 553, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 339, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 470, 499, 0, 512, + 0, 390, 391, 0, 0, 0, 0, 0, 0, 0, + 324, 477, 496, 337, 464, 510, 342, 472, 489, 332, + 431, 461, 0, 0, 326, 494, 471, 413, 325, 0, + 455, 365, 381, 362, 429, 0, 493, 523, 361, 513, + 0, 504, 328, 0, 503, 428, 490, 495, 414, 407, + 0, 327, 492, 412, 406, 394, 371, 539, 395, 396, + 385, 443, 404, 444, 386, 418, 417, 419, 0, 0, + 0, 0, 0, 534, 535, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 667, 0, 0, 671, 0, 506, 0, 0, 0, 0, + 0, 0, 475, 0, 0, 397, 0, 0, 0, 524, + 0, 458, 434, 709, 0, 0, 456, 402, 491, 445, + 497, 478, 505, 450, 446, 315, 479, 364, 415, 333, + 335, 699, 366, 368, 372, 373, 424, 425, 439, 463, + 482, 483, 484, 363, 347, 457, 348, 382, 349, 319, + 355, 353, 356, 465, 357, 321, 440, 488, 0, 378, + 453, 410, 322, 409, 441, 487, 486, 334, 514, 521, + 522, 612, 0, 527, 710, 711, 712, 536, 0, 447, + 330, 329, 0, 0, 0, 359, 442, 343, 345, 346, + 344, 437, 438, 541, 542, 543, 545, 0, 546, 547, + 0, 0, 0, 0, 548, 316, 317, 318, 613, 629, + 597, 566, 529, 621, 563, 567, 568, 388, 632, 0, + 0, 0, 520, 398, 399, 0, 370, 369, 411, 323, + 0, 0, 376, 311, 312, 705, 360, 430, 634, 669, + 670, 559, 0, 622, 560, 569, 352, 594, 606, 605, + 426, 519, 0, 617, 620, 549, 704, 0, 614, 628, + 708, 627, 701, 436, 0, 462, 625, 572, 0, 618, + 591, 592, 0, 619, 587, 623, 0, 561, 0, 530, + 533, 562, 647, 648, 649, 320, 532, 651, 652, 653, + 654, 655, 656, 657, 650, 502, 595, 571, 598, 511, + 574, 573, 0, 0, 609, 528, 610, 611, 420, 421, + 422, 423, 380, 635, 341, 531, 449, 0, 596, 0, + 0, 0, 0, 0, 0, 0, 0, 601, 602, 599, + 713, 0, 658, 659, 0, 0, 525, 526, 375, 0, + 544, 383, 340, 435, 377, 509, 392, 0, 537, 603, + 538, 451, 452, 661, 666, 662, 663, 665, 685, 427, + 387, 389, 466, 393, 403, 454, 508, 433, 459, 338, + 498, 468, 408, 588, 616, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 640, 639, 638, 637, - 636, 635, 634, 633, 0, 0, 582, 482, 351, 305, - 347, 348, 355, 699, 695, 661, 700, 683, 686, 685, - 0, 313, 562, 398, 445, 371, 627, 628, 0, 681, - 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, - 268, 269, 270, 271, 272, 273, 276, 277, 278, 279, - 280, 281, 282, 283, 630, 274, 275, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 0, 0, 0, 0, 307, 687, 688, 689, 690, - 691, 0, 0, 308, 309, 310, 0, 0, 300, 473, - 301, 302, 303, 304, 0, 0, 512, 513, 514, 537, - 0, 515, 497, 561, 381, 314, 477, 504, 697, 0, - 0, 0, 0, 0, 0, 0, 612, 623, 657, 0, - 669, 670, 672, 674, 673, 676, 470, 471, 684, 0, - 678, 679, 680, 677, 402, 457, 478, 464, 0, 703, - 552, 553, 704, 665, 429, 0, 0, 567, 601, 590, - 675, 555, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 364, 0, 0, 397, 605, 586, 597, 587, - 572, 573, 574, 581, 376, 575, 576, 577, 547, 578, - 548, 579, 580, 0, 604, 554, 466, 413, 0, 621, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 245, 0, 0, 0, 0, 0, 0, 333, 246, 549, - 671, 551, 550, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 467, 496, 0, 509, 0, 387, 388, 0, - 0, 0, 0, 0, 0, 0, 321, 474, 493, 334, - 461, 507, 339, 469, 2060, 329, 428, 458, 0, 0, - 323, 491, 468, 410, 322, 0, 452, 362, 378, 359, - 426, 0, 490, 520, 358, 510, 0, 501, 325, 0, - 500, 425, 487, 492, 411, 404, 0, 324, 489, 409, - 403, 391, 368, 536, 392, 393, 382, 440, 401, 441, - 383, 415, 414, 416, 0, 0, 0, 0, 0, 531, - 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 664, 0, 0, 668, - 0, 503, 0, 0, 0, 0, 0, 0, 472, 0, - 0, 394, 0, 0, 0, 521, 0, 455, 431, 706, - 0, 0, 453, 399, 488, 442, 494, 475, 502, 447, - 443, 315, 476, 361, 412, 330, 332, 696, 363, 365, - 369, 370, 421, 422, 436, 460, 479, 480, 481, 360, - 344, 454, 345, 379, 346, 316, 352, 350, 353, 462, - 354, 318, 437, 485, 0, 375, 450, 407, 319, 406, - 438, 484, 483, 331, 511, 518, 519, 609, 0, 524, - 707, 708, 709, 533, 0, 444, 327, 326, 0, 0, - 0, 356, 439, 340, 342, 343, 341, 434, 435, 538, - 539, 540, 542, 0, 543, 544, 0, 0, 0, 0, - 545, 610, 626, 594, 563, 526, 618, 560, 564, 565, - 385, 629, 0, 0, 0, 517, 395, 396, 0, 367, - 366, 408, 320, 0, 0, 373, 311, 312, 702, 357, - 427, 631, 666, 667, 556, 0, 619, 557, 566, 349, - 591, 603, 602, 423, 516, 0, 614, 617, 546, 701, - 0, 611, 625, 705, 624, 698, 433, 0, 459, 622, - 569, 0, 615, 588, 589, 0, 616, 584, 620, 0, - 558, 0, 527, 530, 559, 644, 645, 646, 317, 529, - 648, 649, 650, 651, 652, 653, 654, 647, 499, 592, - 568, 595, 508, 571, 570, 0, 0, 606, 525, 607, - 608, 417, 418, 419, 420, 377, 632, 338, 528, 446, - 0, 593, 0, 0, 0, 0, 0, 0, 0, 0, - 598, 599, 596, 710, 0, 655, 656, 0, 0, 522, - 523, 372, 0, 541, 380, 337, 432, 374, 506, 389, - 0, 534, 600, 535, 448, 449, 658, 663, 659, 660, - 662, 682, 424, 384, 386, 463, 390, 400, 451, 505, - 430, 456, 335, 495, 465, 405, 585, 613, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, - 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 640, 639, 638, 637, 636, - 635, 634, 633, 0, 0, 582, 482, 351, 305, 347, - 348, 355, 699, 695, 661, 700, 683, 686, 685, 0, - 313, 562, 398, 445, 371, 627, 628, 0, 681, 259, - 260, 261, 262, 263, 264, 265, 266, 306, 267, 268, - 269, 270, 271, 272, 273, 276, 277, 278, 279, 280, - 281, 282, 283, 630, 274, 275, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 0, 0, 0, 0, 307, 687, 688, 689, 690, 691, - 0, 0, 308, 309, 310, 0, 0, 300, 473, 301, - 302, 303, 304, 0, 0, 512, 513, 514, 537, 0, - 515, 497, 561, 381, 314, 477, 504, 697, 0, 0, - 0, 0, 0, 0, 0, 612, 623, 657, 0, 669, - 670, 672, 674, 673, 676, 470, 471, 684, 0, 678, - 679, 680, 677, 402, 457, 478, 464, 0, 703, 552, - 553, 704, 665, 429, 0, 0, 567, 601, 590, 675, - 555, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 364, 0, 0, 397, 605, 586, 597, 587, 572, - 573, 574, 581, 376, 575, 576, 577, 547, 578, 548, - 579, 580, 0, 604, 554, 466, 413, 0, 621, 0, + 0, 0, 643, 642, 641, 640, 639, 638, 637, 636, + 0, 0, 585, 485, 354, 305, 350, 351, 358, 702, + 698, 664, 703, 686, 689, 688, 0, 313, 565, 401, + 448, 374, 630, 631, 0, 684, 259, 260, 261, 262, + 263, 264, 265, 266, 306, 267, 268, 269, 270, 271, + 272, 273, 276, 277, 278, 279, 280, 281, 282, 283, + 633, 274, 275, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 0, 0, 0, + 0, 307, 690, 691, 692, 693, 694, 0, 0, 308, + 309, 310, 0, 0, 300, 476, 301, 302, 303, 304, + 0, 0, 515, 516, 517, 540, 0, 518, 500, 564, + 384, 314, 480, 507, 700, 0, 0, 0, 0, 0, + 0, 0, 615, 626, 660, 0, 672, 673, 675, 677, + 676, 679, 473, 474, 687, 0, 681, 682, 683, 680, + 405, 460, 481, 467, 0, 706, 555, 556, 707, 668, + 432, 0, 0, 570, 604, 593, 678, 558, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, + 0, 400, 608, 589, 600, 590, 575, 576, 577, 584, + 379, 578, 579, 580, 550, 581, 551, 582, 583, 0, + 607, 557, 469, 416, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, - 0, 0, 0, 0, 0, 0, 333, 246, 549, 671, - 551, 550, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 336, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 467, 496, 0, 509, 0, 387, 388, 0, 0, - 0, 0, 0, 0, 0, 321, 474, 1657, 334, 461, - 507, 339, 469, 486, 329, 428, 458, 0, 0, 323, - 491, 468, 410, 322, 0, 452, 362, 378, 359, 426, - 0, 490, 520, 358, 510, 0, 501, 325, 0, 500, - 425, 487, 492, 411, 404, 0, 324, 489, 409, 403, - 391, 368, 536, 392, 393, 382, 440, 401, 441, 383, - 415, 414, 416, 0, 0, 0, 0, 0, 531, 532, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 664, 0, 0, 668, 0, - 503, 0, 0, 0, 0, 0, 0, 472, 0, 0, - 394, 0, 0, 0, 521, 0, 455, 431, 706, 0, - 0, 453, 399, 488, 442, 494, 475, 502, 447, 443, - 315, 476, 361, 412, 330, 332, 696, 363, 365, 369, - 370, 421, 422, 436, 460, 479, 480, 481, 360, 344, - 454, 345, 379, 346, 316, 352, 350, 353, 462, 354, - 318, 437, 485, 0, 375, 450, 407, 319, 406, 438, - 484, 483, 331, 511, 518, 519, 609, 0, 524, 707, - 708, 709, 533, 0, 444, 327, 326, 0, 0, 0, - 356, 439, 340, 342, 343, 341, 434, 435, 538, 539, - 540, 542, 0, 543, 544, 0, 0, 0, 0, 545, - 610, 626, 594, 563, 526, 618, 560, 564, 565, 385, - 629, 0, 0, 0, 517, 395, 396, 0, 367, 366, - 408, 320, 0, 0, 373, 311, 312, 702, 357, 427, - 631, 666, 667, 556, 0, 619, 557, 566, 349, 591, - 603, 602, 423, 516, 0, 614, 617, 546, 701, 0, - 611, 625, 705, 624, 698, 433, 0, 459, 622, 569, - 0, 615, 588, 589, 0, 616, 584, 620, 0, 558, - 0, 527, 530, 559, 644, 645, 646, 317, 529, 648, - 649, 650, 651, 652, 653, 654, 647, 499, 592, 568, - 595, 508, 571, 570, 0, 0, 606, 525, 607, 608, - 417, 418, 419, 420, 377, 632, 338, 528, 446, 0, - 593, 0, 0, 0, 0, 0, 0, 0, 0, 598, - 599, 596, 710, 0, 655, 656, 0, 0, 522, 523, - 372, 0, 541, 380, 337, 432, 374, 506, 389, 0, - 534, 600, 535, 448, 449, 658, 663, 659, 660, 662, - 682, 424, 384, 386, 463, 390, 400, 451, 505, 430, - 456, 335, 495, 465, 405, 585, 613, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 245, 0, 0, 0, + 0, 0, 0, 336, 246, 552, 674, 554, 553, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 339, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 470, 499, + 0, 512, 0, 390, 391, 0, 0, 0, 0, 0, + 0, 0, 324, 477, 496, 337, 464, 510, 342, 472, + 489, 332, 431, 461, 0, 0, 326, 494, 471, 413, + 325, 0, 455, 365, 381, 362, 429, 0, 493, 523, + 361, 513, 0, 504, 328, 0, 503, 428, 490, 495, + 414, 407, 0, 327, 492, 412, 406, 394, 371, 539, + 395, 396, 385, 443, 404, 444, 386, 418, 417, 419, + 0, 0, 0, 0, 0, 534, 535, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 667, 0, 730, 671, 0, 506, 0, 0, + 0, 0, 0, 0, 475, 0, 0, 397, 0, 0, + 0, 524, 0, 458, 434, 709, 0, 0, 456, 402, + 491, 445, 497, 478, 505, 450, 446, 315, 479, 364, + 415, 333, 335, 699, 366, 368, 372, 373, 424, 425, + 439, 463, 482, 483, 484, 363, 347, 457, 348, 382, + 349, 319, 355, 353, 356, 465, 357, 321, 440, 488, + 0, 378, 453, 410, 322, 409, 441, 487, 486, 334, + 514, 521, 522, 612, 0, 527, 710, 711, 712, 536, + 0, 447, 330, 329, 0, 0, 0, 359, 442, 343, + 345, 346, 344, 437, 438, 541, 542, 543, 545, 0, + 546, 547, 0, 0, 0, 0, 548, 316, 317, 318, + 613, 629, 597, 566, 529, 621, 563, 567, 568, 388, + 632, 0, 0, 0, 520, 398, 399, 0, 370, 369, + 411, 323, 0, 0, 376, 311, 312, 705, 360, 430, + 634, 669, 670, 559, 0, 622, 560, 569, 352, 594, + 606, 605, 426, 519, 0, 617, 620, 549, 704, 0, + 614, 628, 708, 627, 701, 436, 0, 462, 625, 572, + 0, 618, 591, 592, 0, 619, 587, 623, 0, 561, + 0, 530, 533, 562, 647, 648, 649, 320, 532, 651, + 652, 653, 654, 655, 656, 657, 650, 502, 595, 571, + 598, 511, 574, 573, 0, 0, 609, 528, 610, 611, + 420, 421, 422, 423, 380, 635, 341, 531, 449, 0, + 596, 0, 0, 0, 0, 0, 0, 0, 0, 601, + 602, 599, 713, 0, 658, 659, 0, 0, 525, 526, + 375, 0, 544, 383, 340, 435, 377, 509, 392, 0, + 537, 603, 538, 451, 452, 661, 666, 662, 663, 665, + 685, 427, 387, 389, 466, 393, 403, 454, 508, 433, + 459, 338, 498, 468, 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 640, 639, 638, 637, 636, 635, - 634, 633, 0, 0, 582, 482, 351, 305, 347, 348, - 355, 699, 695, 661, 700, 683, 686, 685, 0, 313, - 562, 398, 445, 371, 627, 628, 0, 681, 259, 260, + 0, 0, 0, 0, 643, 642, 641, 640, 639, 638, + 637, 636, 0, 0, 585, 485, 354, 305, 350, 351, + 358, 702, 698, 664, 703, 686, 689, 688, 0, 313, + 565, 401, 448, 374, 630, 631, 0, 684, 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, 278, 279, 280, 281, - 282, 283, 630, 274, 275, 284, 285, 286, 287, 288, + 282, 283, 633, 274, 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, - 0, 0, 0, 307, 687, 688, 689, 690, 691, 0, - 0, 308, 309, 310, 0, 0, 300, 473, 301, 302, - 303, 304, 0, 0, 512, 513, 514, 537, 0, 515, - 497, 561, 381, 314, 477, 504, 697, 0, 0, 0, - 0, 0, 0, 0, 612, 623, 657, 0, 669, 670, - 672, 674, 673, 676, 470, 471, 684, 0, 678, 679, - 680, 677, 402, 457, 478, 464, 0, 703, 552, 553, - 704, 665, 429, 0, 0, 567, 601, 590, 675, 555, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 364, 0, 0, 397, 605, 586, 597, 587, 572, 573, - 574, 581, 376, 575, 576, 577, 547, 578, 548, 579, - 580, 0, 604, 554, 466, 413, 0, 621, 0, 0, + 0, 0, 0, 307, 690, 691, 692, 693, 694, 0, + 0, 308, 309, 310, 0, 0, 300, 476, 301, 302, + 303, 304, 0, 0, 515, 516, 517, 540, 0, 518, + 500, 564, 384, 314, 480, 507, 700, 0, 0, 0, + 0, 0, 0, 0, 615, 626, 660, 0, 672, 673, + 675, 677, 676, 679, 473, 474, 687, 0, 681, 682, + 683, 680, 405, 460, 481, 467, 0, 706, 555, 556, + 707, 668, 432, 0, 0, 570, 604, 593, 678, 558, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 367, 0, 0, 400, 608, 589, 600, 590, 575, 576, + 577, 584, 379, 578, 579, 580, 550, 581, 551, 582, + 583, 0, 607, 557, 469, 416, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, 0, - 0, 0, 0, 0, 0, 333, 246, 549, 671, 551, - 550, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 467, 496, 0, 509, 0, 387, 388, 0, 0, 0, - 0, 0, 0, 0, 321, 474, 1655, 334, 461, 507, - 339, 469, 486, 329, 428, 458, 0, 0, 323, 491, - 468, 410, 322, 0, 452, 362, 378, 359, 426, 0, - 490, 520, 358, 510, 0, 501, 325, 0, 500, 425, - 487, 492, 411, 404, 0, 324, 489, 409, 403, 391, - 368, 536, 392, 393, 382, 440, 401, 441, 383, 415, - 414, 416, 0, 0, 0, 0, 0, 531, 532, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 664, 0, 0, 668, 0, 503, - 0, 0, 0, 0, 0, 0, 472, 0, 0, 394, - 0, 0, 0, 521, 0, 455, 431, 706, 0, 0, - 453, 399, 488, 442, 494, 475, 502, 447, 443, 315, - 476, 361, 412, 330, 332, 696, 363, 365, 369, 370, - 421, 422, 436, 460, 479, 480, 481, 360, 344, 454, - 345, 379, 346, 316, 352, 350, 353, 462, 354, 318, - 437, 485, 0, 375, 450, 407, 319, 406, 438, 484, - 483, 331, 511, 518, 519, 609, 0, 524, 707, 708, - 709, 533, 0, 444, 327, 326, 0, 0, 0, 356, - 439, 340, 342, 343, 341, 434, 435, 538, 539, 540, - 542, 0, 543, 544, 0, 0, 0, 0, 545, 610, - 626, 594, 563, 526, 618, 560, 564, 565, 385, 629, - 0, 0, 0, 517, 395, 396, 0, 367, 366, 408, - 320, 0, 0, 373, 311, 312, 702, 357, 427, 631, - 666, 667, 556, 0, 619, 557, 566, 349, 591, 603, - 602, 423, 516, 0, 614, 617, 546, 701, 0, 611, - 625, 705, 624, 698, 433, 0, 459, 622, 569, 0, - 615, 588, 589, 0, 616, 584, 620, 0, 558, 0, - 527, 530, 559, 644, 645, 646, 317, 529, 648, 649, - 650, 651, 652, 653, 654, 647, 499, 592, 568, 595, - 508, 571, 570, 0, 0, 606, 525, 607, 608, 417, - 418, 419, 420, 377, 632, 338, 528, 446, 0, 593, - 0, 0, 0, 0, 0, 0, 0, 0, 598, 599, - 596, 710, 0, 655, 656, 0, 0, 522, 523, 372, - 0, 541, 380, 337, 432, 374, 506, 389, 0, 534, - 600, 535, 448, 449, 658, 663, 659, 660, 662, 682, - 424, 384, 386, 463, 390, 400, 451, 505, 430, 456, - 335, 495, 465, 405, 585, 613, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 298, 299, 0, + 0, 0, 0, 0, 0, 336, 246, 552, 674, 554, + 553, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 339, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 470, 499, 0, 512, 0, 390, 391, 0, 0, 0, + 0, 0, 0, 0, 324, 477, 496, 337, 464, 510, + 342, 472, 489, 332, 431, 461, 0, 0, 326, 494, + 471, 413, 325, 0, 455, 365, 381, 362, 429, 0, + 493, 523, 361, 513, 0, 504, 328, 0, 503, 428, + 490, 495, 414, 407, 0, 327, 492, 412, 406, 394, + 371, 539, 395, 396, 385, 443, 404, 444, 386, 418, + 417, 419, 0, 0, 0, 0, 0, 534, 535, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 667, 0, 0, 671, 0, 506, + 0, 0, 0, 0, 0, 0, 475, 0, 0, 397, + 0, 0, 0, 524, 0, 458, 434, 709, 0, 0, + 456, 402, 491, 445, 497, 478, 505, 450, 446, 315, + 479, 364, 415, 333, 335, 699, 366, 368, 372, 373, + 424, 425, 439, 463, 482, 483, 484, 363, 347, 457, + 348, 382, 349, 319, 355, 353, 356, 465, 357, 321, + 440, 488, 0, 378, 453, 410, 322, 409, 441, 487, + 486, 334, 514, 521, 522, 612, 0, 527, 710, 711, + 712, 536, 0, 447, 330, 329, 0, 0, 0, 359, + 442, 343, 345, 346, 344, 437, 438, 541, 542, 543, + 545, 0, 546, 547, 0, 0, 0, 0, 548, 316, + 317, 318, 613, 629, 597, 566, 529, 621, 563, 567, + 568, 388, 632, 0, 0, 0, 520, 398, 399, 0, + 370, 369, 411, 323, 0, 0, 376, 311, 312, 705, + 360, 430, 634, 669, 670, 559, 0, 622, 560, 569, + 352, 594, 606, 605, 426, 519, 0, 617, 620, 549, + 704, 0, 614, 628, 708, 627, 701, 436, 0, 462, + 625, 572, 0, 618, 591, 592, 0, 619, 587, 623, + 0, 561, 0, 530, 533, 562, 647, 648, 649, 320, + 532, 651, 652, 653, 654, 655, 656, 657, 650, 502, + 595, 571, 598, 511, 574, 573, 0, 0, 609, 528, + 610, 611, 420, 421, 422, 423, 380, 635, 341, 531, + 449, 0, 596, 0, 0, 0, 0, 0, 0, 0, + 0, 601, 602, 599, 713, 0, 658, 659, 0, 0, + 525, 526, 375, 0, 544, 383, 340, 435, 377, 509, + 392, 0, 537, 603, 538, 451, 452, 661, 666, 662, + 663, 665, 685, 427, 387, 389, 466, 393, 403, 454, + 508, 433, 459, 338, 498, 468, 408, 588, 616, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 643, 642, 641, 640, + 639, 638, 637, 636, 1046, 0, 585, 485, 354, 305, + 350, 351, 358, 702, 698, 664, 703, 686, 689, 688, + 0, 313, 565, 401, 448, 374, 630, 631, 0, 684, + 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, + 268, 269, 270, 271, 272, 273, 276, 277, 278, 279, + 280, 281, 282, 283, 633, 274, 275, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 0, 0, 0, 0, 307, 690, 691, 692, 693, + 694, 0, 0, 308, 309, 310, 0, 0, 300, 476, + 301, 302, 303, 304, 0, 0, 515, 516, 517, 540, + 0, 518, 500, 564, 384, 314, 480, 507, 700, 0, + 0, 0, 0, 0, 0, 0, 615, 626, 660, 0, + 672, 673, 675, 677, 676, 679, 473, 474, 687, 0, + 681, 682, 683, 680, 405, 460, 481, 467, 0, 706, + 555, 556, 707, 668, 432, 0, 0, 570, 604, 593, + 678, 558, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 367, 0, 0, 400, 608, 589, 600, 590, + 575, 576, 577, 584, 379, 578, 579, 580, 550, 581, + 551, 582, 583, 0, 607, 557, 469, 416, 0, 624, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 245, 0, 0, 0, 0, 0, 0, 336, 246, 552, + 674, 554, 553, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 339, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 470, 499, 0, 512, 0, 390, 391, 0, + 0, 0, 0, 0, 0, 0, 324, 477, 496, 337, + 464, 510, 342, 472, 489, 332, 431, 461, 0, 0, + 326, 494, 471, 413, 325, 0, 455, 365, 381, 362, + 429, 0, 493, 523, 361, 513, 0, 504, 328, 0, + 503, 428, 490, 495, 414, 407, 0, 327, 492, 412, + 406, 394, 371, 539, 395, 396, 385, 443, 404, 444, + 386, 418, 417, 419, 0, 0, 0, 0, 0, 534, + 535, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 667, 0, 0, 671, + 0, 506, 0, 0, 0, 0, 0, 0, 475, 0, + 0, 397, 0, 0, 0, 524, 0, 458, 434, 709, + 0, 0, 456, 402, 491, 445, 497, 478, 505, 450, + 446, 315, 479, 364, 415, 333, 335, 699, 366, 368, + 372, 373, 424, 425, 439, 463, 482, 483, 484, 363, + 347, 457, 348, 382, 349, 319, 355, 353, 356, 465, + 357, 321, 440, 488, 0, 378, 453, 410, 322, 409, + 441, 487, 486, 334, 514, 521, 522, 612, 0, 527, + 710, 711, 712, 536, 0, 447, 330, 329, 0, 0, + 0, 359, 442, 343, 345, 346, 344, 437, 438, 541, + 542, 543, 545, 0, 546, 547, 0, 0, 0, 0, + 548, 316, 317, 318, 613, 629, 597, 566, 529, 621, + 563, 567, 568, 388, 632, 0, 0, 0, 520, 398, + 399, 0, 370, 369, 411, 323, 0, 0, 376, 311, + 312, 705, 360, 430, 634, 669, 670, 559, 0, 622, + 560, 569, 352, 594, 606, 605, 426, 519, 0, 617, + 620, 549, 704, 0, 614, 628, 708, 627, 701, 436, + 0, 462, 625, 572, 0, 618, 591, 592, 0, 619, + 587, 623, 0, 561, 0, 530, 533, 562, 647, 648, + 649, 320, 532, 651, 652, 653, 654, 655, 656, 657, + 650, 502, 595, 571, 598, 511, 574, 573, 0, 0, + 609, 528, 610, 611, 420, 421, 422, 423, 380, 635, + 341, 531, 449, 0, 596, 0, 0, 0, 0, 0, + 0, 0, 0, 601, 602, 599, 713, 0, 658, 659, + 0, 0, 525, 526, 375, 0, 544, 383, 340, 435, + 377, 509, 392, 0, 537, 603, 538, 451, 452, 661, + 666, 662, 663, 665, 685, 427, 387, 389, 466, 393, + 403, 454, 508, 433, 459, 338, 498, 468, 408, 588, + 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 643, 642, + 641, 640, 639, 638, 637, 636, 0, 0, 585, 485, + 354, 305, 350, 351, 358, 702, 698, 664, 703, 686, + 689, 688, 0, 313, 565, 401, 448, 374, 630, 631, + 0, 684, 259, 260, 261, 262, 263, 264, 265, 266, + 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, + 278, 279, 280, 281, 282, 283, 633, 274, 275, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 0, 0, 0, 0, 307, 690, 691, + 692, 693, 694, 0, 0, 308, 309, 310, 0, 0, + 300, 476, 301, 302, 303, 304, 0, 0, 515, 516, + 517, 540, 0, 518, 500, 564, 384, 314, 480, 507, + 700, 0, 0, 0, 0, 0, 0, 0, 615, 626, + 660, 0, 672, 673, 675, 677, 676, 679, 473, 474, + 687, 0, 681, 682, 683, 680, 405, 460, 481, 467, + 0, 706, 555, 556, 707, 668, 432, 0, 0, 570, + 604, 593, 678, 558, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 367, 0, 0, 400, 608, 589, + 600, 590, 575, 576, 577, 584, 379, 578, 579, 580, + 550, 581, 551, 582, 583, 0, 607, 557, 469, 416, + 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 245, 0, 0, 0, 0, 0, 0, 336, + 246, 552, 674, 554, 553, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 339, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 470, 499, 0, 512, 0, 390, + 391, 0, 0, 0, 0, 0, 0, 0, 324, 477, + 496, 337, 464, 510, 342, 472, 489, 332, 431, 461, + 0, 0, 326, 494, 471, 413, 325, 0, 455, 365, + 381, 362, 429, 0, 493, 523, 361, 513, 0, 504, + 328, 0, 503, 428, 490, 495, 414, 407, 0, 327, + 492, 412, 406, 394, 371, 539, 395, 396, 385, 443, + 404, 444, 386, 418, 417, 419, 0, 0, 0, 0, + 0, 534, 535, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 667, 0, + 0, 671, 0, 506, 0, 0, 0, 0, 0, 0, + 475, 0, 0, 397, 0, 0, 0, 524, 0, 458, + 434, 709, 0, 0, 456, 402, 491, 445, 497, 478, + 505, 450, 446, 315, 479, 364, 415, 333, 335, 699, + 366, 368, 372, 373, 424, 425, 439, 463, 482, 483, + 484, 363, 347, 457, 348, 382, 349, 319, 355, 353, + 356, 465, 357, 321, 440, 488, 0, 378, 3469, 410, + 322, 409, 441, 487, 486, 334, 514, 521, 522, 612, + 0, 527, 710, 711, 712, 536, 0, 447, 330, 329, + 0, 0, 0, 359, 442, 343, 345, 346, 344, 437, + 438, 541, 542, 543, 545, 0, 546, 547, 0, 0, + 0, 0, 548, 316, 317, 318, 613, 629, 597, 566, + 529, 621, 563, 567, 568, 388, 632, 0, 0, 0, + 520, 398, 399, 0, 370, 369, 411, 323, 0, 0, + 376, 311, 312, 705, 360, 430, 634, 669, 670, 559, + 0, 622, 560, 569, 352, 594, 606, 605, 426, 519, + 0, 617, 620, 549, 704, 0, 614, 628, 708, 627, + 701, 436, 0, 462, 625, 572, 0, 618, 591, 592, + 0, 619, 587, 623, 0, 561, 0, 530, 533, 562, + 647, 648, 649, 320, 532, 651, 652, 653, 654, 655, + 656, 657, 650, 502, 595, 571, 598, 511, 574, 573, + 0, 0, 609, 528, 610, 611, 420, 421, 422, 423, + 380, 635, 341, 531, 449, 0, 596, 0, 0, 0, + 0, 0, 0, 0, 0, 601, 602, 599, 713, 0, + 658, 659, 0, 0, 525, 526, 375, 0, 544, 383, + 340, 435, 377, 509, 392, 0, 537, 603, 538, 451, + 452, 661, 666, 662, 663, 665, 685, 427, 387, 389, + 466, 393, 403, 454, 508, 433, 459, 338, 498, 468, + 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 640, 639, 638, 637, 636, 635, 634, - 633, 0, 0, 582, 482, 351, 305, 347, 348, 355, - 699, 695, 661, 700, 683, 686, 685, 0, 313, 562, - 398, 445, 371, 627, 628, 0, 681, 259, 260, 261, - 262, 263, 264, 265, 266, 306, 267, 268, 269, 270, - 271, 272, 273, 276, 277, 278, 279, 280, 281, 282, - 283, 630, 274, 275, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, - 0, 0, 307, 687, 688, 689, 690, 691, 0, 0, - 308, 309, 310, 0, 0, 300, 473, 301, 302, 303, - 304, 0, 0, 512, 513, 514, 537, 0, 515, 497, - 561, 381, 314, 477, 504, 697, 0, 0, 0, 0, - 0, 0, 0, 612, 623, 657, 0, 669, 670, 672, - 674, 673, 676, 470, 471, 684, 0, 678, 679, 680, - 677, 402, 457, 478, 464, 0, 703, 552, 553, 704, - 665, 429, 0, 0, 567, 601, 590, 675, 555, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, - 0, 0, 397, 605, 586, 597, 587, 572, 573, 574, - 581, 376, 575, 576, 577, 547, 578, 548, 579, 580, - 0, 604, 554, 466, 413, 0, 621, 0, 0, 0, + 643, 642, 641, 640, 639, 638, 637, 636, 0, 0, + 585, 485, 354, 305, 350, 351, 358, 702, 698, 664, + 703, 686, 689, 688, 0, 313, 565, 401, 448, 374, + 630, 631, 0, 684, 259, 260, 261, 262, 263, 264, + 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, + 276, 277, 278, 279, 280, 281, 282, 283, 633, 274, + 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 0, 0, 0, 0, 307, + 690, 691, 692, 693, 694, 0, 0, 308, 309, 310, + 0, 0, 300, 476, 301, 302, 303, 304, 0, 0, + 515, 516, 517, 540, 0, 518, 500, 564, 384, 314, + 480, 507, 700, 0, 0, 0, 0, 0, 0, 0, + 615, 626, 660, 0, 672, 673, 675, 677, 676, 679, + 473, 474, 687, 0, 681, 682, 683, 680, 405, 460, + 481, 467, 0, 706, 555, 556, 707, 668, 432, 0, + 0, 570, 604, 593, 678, 558, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 367, 0, 0, 400, + 608, 589, 600, 590, 575, 576, 577, 584, 379, 578, + 579, 580, 550, 581, 551, 582, 583, 0, 607, 557, + 469, 416, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 245, 0, 0, - 0, 0, 0, 0, 333, 246, 549, 671, 551, 550, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 336, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, - 496, 0, 509, 0, 387, 388, 0, 0, 0, 0, - 0, 0, 0, 321, 474, 493, 334, 461, 507, 339, - 469, 1522, 329, 428, 458, 0, 0, 323, 491, 468, - 410, 322, 0, 452, 362, 378, 359, 426, 0, 490, - 520, 358, 510, 0, 501, 325, 0, 500, 425, 487, - 492, 411, 404, 0, 324, 489, 409, 403, 391, 368, - 536, 392, 393, 382, 440, 401, 441, 383, 415, 414, - 416, 0, 0, 0, 0, 0, 531, 532, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 664, 0, 0, 668, 0, 503, 0, - 0, 0, 0, 0, 0, 472, 0, 0, 394, 0, - 0, 0, 521, 0, 455, 431, 706, 0, 0, 453, - 399, 488, 442, 494, 475, 502, 447, 443, 315, 476, - 361, 412, 330, 332, 696, 363, 365, 369, 370, 421, - 422, 436, 460, 479, 480, 481, 360, 344, 454, 345, - 379, 346, 316, 352, 350, 353, 462, 354, 318, 437, - 485, 0, 375, 450, 407, 319, 406, 438, 484, 483, - 331, 511, 518, 519, 609, 0, 524, 707, 708, 709, - 533, 0, 444, 327, 326, 0, 0, 0, 356, 439, - 340, 342, 343, 341, 434, 435, 538, 539, 540, 542, - 0, 543, 544, 0, 0, 0, 0, 545, 610, 626, - 594, 563, 526, 618, 560, 564, 565, 385, 629, 0, - 0, 0, 517, 395, 396, 0, 367, 366, 408, 320, - 0, 0, 373, 311, 312, 702, 357, 427, 631, 666, - 667, 556, 0, 619, 557, 566, 349, 591, 603, 602, - 423, 516, 0, 614, 617, 546, 701, 0, 611, 625, - 705, 624, 698, 433, 0, 459, 622, 569, 0, 615, - 588, 589, 0, 616, 584, 620, 0, 558, 0, 527, - 530, 559, 644, 645, 646, 317, 529, 648, 649, 650, - 651, 652, 653, 654, 647, 499, 592, 568, 595, 508, - 571, 570, 0, 0, 606, 525, 607, 608, 417, 418, - 419, 420, 377, 632, 338, 528, 446, 0, 593, 0, - 0, 0, 0, 0, 0, 0, 0, 598, 599, 596, - 710, 0, 655, 656, 0, 0, 522, 523, 372, 0, - 541, 380, 337, 432, 374, 506, 389, 0, 534, 600, - 535, 448, 449, 658, 663, 659, 660, 662, 682, 424, - 384, 386, 463, 390, 400, 451, 505, 430, 456, 335, - 495, 465, 405, 585, 613, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 245, 0, 0, 0, 0, 0, + 0, 336, 246, 552, 674, 554, 553, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 339, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 470, 499, 0, 512, + 0, 390, 391, 0, 0, 0, 0, 0, 0, 0, + 324, 477, 496, 337, 464, 510, 342, 472, 2063, 332, + 431, 461, 0, 0, 326, 494, 471, 413, 325, 0, + 455, 365, 381, 362, 429, 0, 493, 523, 361, 513, + 0, 504, 328, 0, 503, 428, 490, 495, 414, 407, + 0, 327, 492, 412, 406, 394, 371, 539, 395, 396, + 385, 443, 404, 444, 386, 418, 417, 419, 0, 0, + 0, 0, 0, 534, 535, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 667, 0, 0, 671, 0, 506, 0, 0, 0, 0, + 0, 0, 475, 0, 0, 397, 0, 0, 0, 524, + 0, 458, 434, 709, 0, 0, 456, 402, 491, 445, + 497, 478, 505, 450, 446, 315, 479, 364, 415, 333, + 335, 699, 366, 368, 372, 373, 424, 425, 439, 463, + 482, 483, 484, 363, 347, 457, 348, 382, 349, 319, + 355, 353, 356, 465, 357, 321, 440, 488, 0, 378, + 453, 410, 322, 409, 441, 487, 486, 334, 514, 521, + 522, 612, 0, 527, 710, 711, 712, 536, 0, 447, + 330, 329, 0, 0, 0, 359, 442, 343, 345, 346, + 344, 437, 438, 541, 542, 543, 545, 0, 546, 547, + 0, 0, 0, 0, 548, 316, 317, 318, 613, 629, + 597, 566, 529, 621, 563, 567, 568, 388, 632, 0, + 0, 0, 520, 398, 399, 0, 370, 369, 411, 323, + 0, 0, 376, 311, 312, 705, 360, 430, 634, 669, + 670, 559, 0, 622, 560, 569, 352, 594, 606, 605, + 426, 519, 0, 617, 620, 549, 704, 0, 614, 628, + 708, 627, 701, 436, 0, 462, 625, 572, 0, 618, + 591, 592, 0, 619, 587, 623, 0, 561, 0, 530, + 533, 562, 647, 648, 649, 320, 532, 651, 652, 653, + 654, 655, 656, 657, 650, 502, 595, 571, 598, 511, + 574, 573, 0, 0, 609, 528, 610, 611, 420, 421, + 422, 423, 380, 635, 341, 531, 449, 0, 596, 0, + 0, 0, 0, 0, 0, 0, 0, 601, 602, 599, + 713, 0, 658, 659, 0, 0, 525, 526, 375, 0, + 544, 383, 340, 435, 377, 509, 392, 0, 537, 603, + 538, 451, 452, 661, 666, 662, 663, 665, 685, 427, + 387, 389, 466, 393, 403, 454, 508, 433, 459, 338, + 498, 468, 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 640, 639, 638, 637, 636, 635, 634, 633, - 0, 0, 582, 482, 351, 305, 347, 348, 355, 699, - 695, 661, 700, 683, 686, 685, 0, 313, 562, 398, - 445, 371, 627, 628, 0, 681, 259, 260, 261, 262, + 0, 0, 643, 642, 641, 640, 639, 638, 637, 636, + 0, 0, 585, 485, 354, 305, 350, 351, 358, 702, + 698, 664, 703, 686, 689, 688, 0, 313, 565, 401, + 448, 374, 630, 631, 0, 684, 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, 278, 279, 280, 281, 282, 283, - 630, 274, 275, 284, 285, 286, 287, 288, 289, 290, + 633, 274, 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 0, - 0, 307, 687, 688, 689, 690, 691, 0, 0, 308, - 309, 310, 0, 0, 300, 473, 301, 302, 303, 304, - 0, 0, 512, 513, 514, 537, 0, 515, 497, 561, - 381, 314, 477, 504, 697, 0, 0, 0, 0, 0, - 0, 0, 612, 623, 657, 0, 669, 670, 672, 674, - 673, 676, 470, 471, 684, 0, 678, 679, 680, 677, - 402, 457, 478, 464, 0, 703, 552, 553, 704, 665, - 429, 0, 0, 567, 601, 590, 675, 555, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 364, 0, - 0, 397, 605, 586, 597, 587, 572, 573, 574, 581, - 376, 575, 576, 577, 547, 578, 548, 579, 580, 0, - 604, 554, 466, 413, 0, 621, 0, 0, 0, 0, + 0, 307, 690, 691, 692, 693, 694, 0, 0, 308, + 309, 310, 0, 0, 300, 476, 301, 302, 303, 304, + 0, 0, 515, 516, 517, 540, 0, 518, 500, 564, + 384, 314, 480, 507, 700, 0, 0, 0, 0, 0, + 0, 0, 615, 626, 660, 0, 672, 673, 675, 677, + 676, 679, 473, 474, 687, 0, 681, 682, 683, 680, + 405, 460, 481, 467, 0, 706, 555, 556, 707, 668, + 432, 0, 0, 570, 604, 593, 678, 558, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, + 0, 400, 608, 589, 600, 590, 575, 576, 577, 584, + 379, 578, 579, 580, 550, 581, 551, 582, 583, 0, + 607, 557, 469, 416, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, 0, 0, 0, - 0, 0, 0, 333, 246, 549, 671, 551, 550, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 336, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 467, 496, - 0, 509, 0, 387, 388, 0, 0, 0, 0, 0, - 0, 0, 321, 474, 493, 334, 461, 507, 339, 469, - 486, 329, 428, 458, 0, 0, 323, 491, 468, 410, - 322, 0, 452, 362, 378, 359, 426, 0, 490, 520, - 358, 510, 0, 501, 325, 0, 500, 425, 487, 492, - 411, 404, 0, 324, 489, 409, 403, 391, 368, 536, - 392, 393, 382, 440, 401, 441, 383, 415, 414, 416, - 0, 0, 0, 0, 0, 531, 532, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 664, 0, 0, 668, 0, 503, 0, 0, - 0, 0, 0, 0, 472, 0, 0, 394, 0, 0, - 0, 521, 0, 455, 431, 706, 0, 0, 453, 399, - 488, 442, 494, 475, 502, 447, 443, 315, 476, 361, - 412, 330, 332, 801, 363, 365, 369, 370, 421, 422, - 436, 460, 479, 480, 481, 360, 344, 454, 345, 379, - 346, 316, 352, 350, 353, 462, 354, 318, 437, 485, - 0, 375, 450, 407, 319, 406, 438, 484, 483, 331, - 511, 518, 519, 609, 0, 524, 707, 708, 709, 533, - 0, 444, 327, 326, 0, 0, 0, 356, 439, 340, - 342, 343, 341, 434, 435, 538, 539, 540, 542, 0, - 543, 544, 0, 0, 0, 0, 545, 610, 626, 594, - 563, 526, 618, 560, 564, 565, 385, 629, 0, 0, - 0, 517, 395, 396, 0, 367, 366, 408, 320, 0, - 0, 373, 311, 312, 702, 357, 427, 631, 666, 667, - 556, 0, 619, 557, 566, 349, 591, 603, 602, 423, - 516, 0, 614, 617, 546, 701, 0, 611, 625, 705, - 624, 698, 433, 0, 459, 622, 569, 0, 615, 588, - 589, 0, 616, 584, 620, 0, 558, 0, 527, 530, - 559, 644, 645, 646, 317, 529, 648, 649, 650, 651, - 652, 653, 654, 647, 499, 592, 568, 595, 508, 571, - 570, 0, 0, 606, 525, 607, 608, 417, 418, 419, - 420, 377, 632, 338, 528, 446, 0, 593, 0, 0, - 0, 0, 0, 0, 0, 0, 598, 599, 596, 710, - 0, 655, 656, 0, 0, 522, 523, 372, 0, 541, - 380, 337, 432, 374, 506, 389, 0, 534, 600, 535, - 448, 449, 658, 663, 659, 660, 662, 682, 424, 384, - 386, 463, 390, 400, 451, 505, 430, 456, 335, 495, - 465, 405, 585, 613, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, + 0, 0, 0, 336, 246, 552, 674, 554, 553, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 339, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 470, 499, + 0, 512, 0, 390, 391, 0, 0, 0, 0, 0, + 0, 0, 324, 477, 1660, 337, 464, 510, 342, 472, + 489, 332, 431, 461, 0, 0, 326, 494, 471, 413, + 325, 0, 455, 365, 381, 362, 429, 0, 493, 523, + 361, 513, 0, 504, 328, 0, 503, 428, 490, 495, + 414, 407, 0, 327, 492, 412, 406, 394, 371, 539, + 395, 396, 385, 443, 404, 444, 386, 418, 417, 419, + 0, 0, 0, 0, 0, 534, 535, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 667, 0, 0, 671, 0, 506, 0, 0, + 0, 0, 0, 0, 475, 0, 0, 397, 0, 0, + 0, 524, 0, 458, 434, 709, 0, 0, 456, 402, + 491, 445, 497, 478, 505, 450, 446, 315, 479, 364, + 415, 333, 335, 699, 366, 368, 372, 373, 424, 425, + 439, 463, 482, 483, 484, 363, 347, 457, 348, 382, + 349, 319, 355, 353, 356, 465, 357, 321, 440, 488, + 0, 378, 453, 410, 322, 409, 441, 487, 486, 334, + 514, 521, 522, 612, 0, 527, 710, 711, 712, 536, + 0, 447, 330, 329, 0, 0, 0, 359, 442, 343, + 345, 346, 344, 437, 438, 541, 542, 543, 545, 0, + 546, 547, 0, 0, 0, 0, 548, 316, 317, 318, + 613, 629, 597, 566, 529, 621, 563, 567, 568, 388, + 632, 0, 0, 0, 520, 398, 399, 0, 370, 369, + 411, 323, 0, 0, 376, 311, 312, 705, 360, 430, + 634, 669, 670, 559, 0, 622, 560, 569, 352, 594, + 606, 605, 426, 519, 0, 617, 620, 549, 704, 0, + 614, 628, 708, 627, 701, 436, 0, 462, 625, 572, + 0, 618, 591, 592, 0, 619, 587, 623, 0, 561, + 0, 530, 533, 562, 647, 648, 649, 320, 532, 651, + 652, 653, 654, 655, 656, 657, 650, 502, 595, 571, + 598, 511, 574, 573, 0, 0, 609, 528, 610, 611, + 420, 421, 422, 423, 380, 635, 341, 531, 449, 0, + 596, 0, 0, 0, 0, 0, 0, 0, 0, 601, + 602, 599, 713, 0, 658, 659, 0, 0, 525, 526, + 375, 0, 544, 383, 340, 435, 377, 509, 392, 0, + 537, 603, 538, 451, 452, 661, 666, 662, 663, 665, + 685, 427, 387, 389, 466, 393, 403, 454, 508, 433, + 459, 338, 498, 468, 408, 588, 616, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 640, 639, 638, 637, 636, 635, 634, 633, 0, - 0, 582, 482, 351, 305, 347, 348, 355, 699, 695, - 661, 700, 683, 686, 685, 0, 313, 562, 398, 445, - 371, 627, 628, 0, 681, 259, 260, 261, 262, 263, - 264, 265, 266, 306, 267, 268, 269, 270, 271, 272, - 273, 276, 277, 278, 279, 280, 281, 282, 283, 630, - 274, 275, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, - 307, 687, 688, 689, 690, 691, 0, 0, 308, 309, - 310, 0, 0, 300, 473, 301, 302, 303, 304, 0, - 0, 512, 513, 514, 537, 0, 515, 497, 561, 381, - 314, 477, 504, 697, 0, 0, 0, 0, 0, 0, - 0, 612, 623, 657, 0, 669, 670, 672, 674, 673, - 676, 470, 471, 684, 0, 678, 679, 680, 677, 402, - 457, 478, 464, 0, 703, 552, 553, 704, 665, 429, - 0, 0, 567, 601, 590, 675, 555, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 364, 0, 0, - 397, 605, 586, 597, 587, 572, 573, 574, 581, 376, - 575, 576, 577, 547, 578, 548, 579, 580, 0, 604, - 554, 466, 413, 0, 621, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 245, 0, 0, 0, 0, - 0, 0, 333, 246, 549, 671, 551, 550, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 336, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 467, 496, 0, - 509, 0, 387, 388, 0, 0, 0, 0, 0, 0, - 0, 321, 474, 493, 334, 461, 507, 339, 469, 486, - 329, 428, 458, 0, 0, 323, 491, 468, 410, 322, - 0, 452, 362, 378, 359, 426, 0, 490, 520, 358, - 510, 0, 501, 325, 0, 500, 425, 487, 492, 411, - 404, 0, 324, 489, 409, 403, 391, 368, 536, 392, - 393, 382, 440, 401, 441, 383, 415, 414, 416, 0, - 0, 0, 0, 0, 531, 532, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 664, 0, 0, 668, 0, 503, 0, 0, 0, - 0, 0, 0, 472, 0, 0, 394, 0, 0, 0, - 521, 0, 455, 431, 706, 0, 0, 453, 399, 488, - 442, 494, 475, 502, 753, 443, 315, 476, 361, 412, - 330, 332, 696, 363, 365, 369, 370, 421, 422, 436, - 460, 479, 480, 481, 360, 344, 454, 345, 379, 346, - 316, 352, 350, 353, 462, 354, 318, 437, 485, 0, - 375, 450, 407, 319, 406, 438, 484, 483, 331, 511, - 518, 519, 609, 0, 524, 707, 708, 709, 533, 0, - 444, 327, 326, 0, 0, 0, 356, 439, 340, 342, - 343, 341, 434, 435, 538, 539, 540, 542, 0, 543, - 544, 0, 0, 0, 0, 545, 610, 626, 594, 563, - 526, 618, 560, 564, 565, 385, 629, 0, 0, 0, - 517, 395, 396, 0, 367, 366, 408, 320, 0, 0, - 373, 311, 312, 702, 357, 427, 631, 666, 667, 556, - 0, 619, 557, 566, 349, 591, 603, 602, 423, 516, - 0, 614, 617, 546, 701, 0, 611, 625, 705, 624, - 698, 433, 0, 459, 622, 569, 0, 615, 588, 589, - 0, 616, 584, 620, 0, 558, 0, 527, 530, 559, - 644, 645, 646, 317, 529, 648, 649, 650, 651, 652, - 653, 754, 647, 499, 592, 568, 595, 508, 571, 570, - 0, 0, 606, 525, 607, 608, 417, 418, 419, 420, - 377, 632, 338, 528, 446, 0, 593, 0, 0, 0, - 0, 0, 0, 0, 0, 598, 599, 596, 710, 0, - 655, 656, 0, 0, 522, 523, 372, 0, 541, 380, - 337, 432, 374, 506, 389, 0, 534, 600, 535, 448, - 449, 658, 663, 659, 660, 662, 682, 424, 384, 386, - 463, 390, 400, 451, 505, 430, 456, 335, 495, 465, - 405, 585, 613, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 643, 642, 641, 640, 639, 638, + 637, 636, 0, 0, 585, 485, 354, 305, 350, 351, + 358, 702, 698, 664, 703, 686, 689, 688, 0, 313, + 565, 401, 448, 374, 630, 631, 0, 684, 259, 260, + 261, 262, 263, 264, 265, 266, 306, 267, 268, 269, + 270, 271, 272, 273, 276, 277, 278, 279, 280, 281, + 282, 283, 633, 274, 275, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, + 0, 0, 0, 307, 690, 691, 692, 693, 694, 0, + 0, 308, 309, 310, 0, 0, 300, 476, 301, 302, + 303, 304, 0, 0, 515, 516, 517, 540, 0, 518, + 500, 564, 384, 314, 480, 507, 700, 0, 0, 0, + 0, 0, 0, 0, 615, 626, 660, 0, 672, 673, + 675, 677, 676, 679, 473, 474, 687, 0, 681, 682, + 683, 680, 405, 460, 481, 467, 0, 706, 555, 556, + 707, 668, 432, 0, 0, 570, 604, 593, 678, 558, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 367, 0, 0, 400, 608, 589, 600, 590, 575, 576, + 577, 584, 379, 578, 579, 580, 550, 581, 551, 582, + 583, 0, 607, 557, 469, 416, 0, 624, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 245, 0, + 0, 0, 0, 0, 0, 336, 246, 552, 674, 554, + 553, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 339, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 470, 499, 0, 512, 0, 390, 391, 0, 0, 0, + 0, 0, 0, 0, 324, 477, 1658, 337, 464, 510, + 342, 472, 489, 332, 431, 461, 0, 0, 326, 494, + 471, 413, 325, 0, 455, 365, 381, 362, 429, 0, + 493, 523, 361, 513, 0, 504, 328, 0, 503, 428, + 490, 495, 414, 407, 0, 327, 492, 412, 406, 394, + 371, 539, 395, 396, 385, 443, 404, 444, 386, 418, + 417, 419, 0, 0, 0, 0, 0, 534, 535, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 667, 0, 0, 671, 0, 506, + 0, 0, 0, 0, 0, 0, 475, 0, 0, 397, + 0, 0, 0, 524, 0, 458, 434, 709, 0, 0, + 456, 402, 491, 445, 497, 478, 505, 450, 446, 315, + 479, 364, 415, 333, 335, 699, 366, 368, 372, 373, + 424, 425, 439, 463, 482, 483, 484, 363, 347, 457, + 348, 382, 349, 319, 355, 353, 356, 465, 357, 321, + 440, 488, 0, 378, 453, 410, 322, 409, 441, 487, + 486, 334, 514, 521, 522, 612, 0, 527, 710, 711, + 712, 536, 0, 447, 330, 329, 0, 0, 0, 359, + 442, 343, 345, 346, 344, 437, 438, 541, 542, 543, + 545, 0, 546, 547, 0, 0, 0, 0, 548, 316, + 317, 318, 613, 629, 597, 566, 529, 621, 563, 567, + 568, 388, 632, 0, 0, 0, 520, 398, 399, 0, + 370, 369, 411, 323, 0, 0, 376, 311, 312, 705, + 360, 430, 634, 669, 670, 559, 0, 622, 560, 569, + 352, 594, 606, 605, 426, 519, 0, 617, 620, 549, + 704, 0, 614, 628, 708, 627, 701, 436, 0, 462, + 625, 572, 0, 618, 591, 592, 0, 619, 587, 623, + 0, 561, 0, 530, 533, 562, 647, 648, 649, 320, + 532, 651, 652, 653, 654, 655, 656, 657, 650, 502, + 595, 571, 598, 511, 574, 573, 0, 0, 609, 528, + 610, 611, 420, 421, 422, 423, 380, 635, 341, 531, + 449, 0, 596, 0, 0, 0, 0, 0, 0, 0, + 0, 601, 602, 599, 713, 0, 658, 659, 0, 0, + 525, 526, 375, 0, 544, 383, 340, 435, 377, 509, + 392, 0, 537, 603, 538, 451, 452, 661, 666, 662, + 663, 665, 685, 427, 387, 389, 466, 393, 403, 454, + 508, 433, 459, 338, 498, 468, 408, 588, 616, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 643, 642, 641, 640, + 639, 638, 637, 636, 0, 0, 585, 485, 354, 305, + 350, 351, 358, 702, 698, 664, 703, 686, 689, 688, + 0, 313, 565, 401, 448, 374, 630, 631, 0, 684, + 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, + 268, 269, 270, 271, 272, 273, 276, 277, 278, 279, + 280, 281, 282, 283, 633, 274, 275, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 0, 0, 0, 0, 307, 690, 691, 692, 693, + 694, 0, 0, 308, 309, 310, 0, 0, 300, 476, + 301, 302, 303, 304, 0, 0, 515, 516, 517, 540, + 0, 518, 500, 564, 384, 314, 480, 507, 700, 0, + 0, 0, 0, 0, 0, 0, 615, 626, 660, 0, + 672, 673, 675, 677, 676, 679, 473, 474, 687, 0, + 681, 682, 683, 680, 405, 460, 481, 467, 0, 706, + 555, 556, 707, 668, 432, 0, 0, 570, 604, 593, + 678, 558, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 367, 0, 0, 400, 608, 589, 600, 590, + 575, 576, 577, 584, 379, 578, 579, 580, 550, 581, + 551, 582, 583, 0, 607, 557, 469, 416, 0, 624, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 245, 0, 0, 0, 0, 0, 0, 336, 246, 552, + 674, 554, 553, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 339, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 470, 499, 0, 512, 0, 390, 391, 0, + 0, 0, 0, 0, 0, 0, 324, 477, 496, 337, + 464, 510, 342, 472, 1525, 332, 431, 461, 0, 0, + 326, 494, 471, 413, 325, 0, 455, 365, 381, 362, + 429, 0, 493, 523, 361, 513, 0, 504, 328, 0, + 503, 428, 490, 495, 414, 407, 0, 327, 492, 412, + 406, 394, 371, 539, 395, 396, 385, 443, 404, 444, + 386, 418, 417, 419, 0, 0, 0, 0, 0, 534, + 535, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 667, 0, 0, 671, + 0, 506, 0, 0, 0, 0, 0, 0, 475, 0, + 0, 397, 0, 0, 0, 524, 0, 458, 434, 709, + 0, 0, 456, 402, 491, 445, 497, 478, 505, 450, + 446, 315, 479, 364, 415, 333, 335, 699, 366, 368, + 372, 373, 424, 425, 439, 463, 482, 483, 484, 363, + 347, 457, 348, 382, 349, 319, 355, 353, 356, 465, + 357, 321, 440, 488, 0, 378, 453, 410, 322, 409, + 441, 487, 486, 334, 514, 521, 522, 612, 0, 527, + 710, 711, 712, 536, 0, 447, 330, 329, 0, 0, + 0, 359, 442, 343, 345, 346, 344, 437, 438, 541, + 542, 543, 545, 0, 546, 547, 0, 0, 0, 0, + 548, 316, 317, 318, 613, 629, 597, 566, 529, 621, + 563, 567, 568, 388, 632, 0, 0, 0, 520, 398, + 399, 0, 370, 369, 411, 323, 0, 0, 376, 311, + 312, 705, 360, 430, 634, 669, 670, 559, 0, 622, + 560, 569, 352, 594, 606, 605, 426, 519, 0, 617, + 620, 549, 704, 0, 614, 628, 708, 627, 701, 436, + 0, 462, 625, 572, 0, 618, 591, 592, 0, 619, + 587, 623, 0, 561, 0, 530, 533, 562, 647, 648, + 649, 320, 532, 651, 652, 653, 654, 655, 656, 657, + 650, 502, 595, 571, 598, 511, 574, 573, 0, 0, + 609, 528, 610, 611, 420, 421, 422, 423, 380, 635, + 341, 531, 449, 0, 596, 0, 0, 0, 0, 0, + 0, 0, 0, 601, 602, 599, 713, 0, 658, 659, + 0, 0, 525, 526, 375, 0, 544, 383, 340, 435, + 377, 509, 392, 0, 537, 603, 538, 451, 452, 661, + 666, 662, 663, 665, 685, 427, 387, 389, 466, 393, + 403, 454, 508, 433, 459, 338, 498, 468, 408, 588, + 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 643, 642, + 641, 640, 639, 638, 637, 636, 0, 0, 585, 485, + 354, 305, 350, 351, 358, 702, 698, 664, 703, 686, + 689, 688, 0, 313, 565, 401, 448, 374, 630, 631, + 0, 684, 259, 260, 261, 262, 263, 264, 265, 266, + 306, 267, 268, 269, 270, 271, 272, 273, 276, 277, + 278, 279, 280, 281, 282, 283, 633, 274, 275, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 0, 0, 0, 0, 307, 690, 691, + 692, 693, 694, 0, 0, 308, 309, 310, 0, 0, + 300, 476, 301, 302, 303, 304, 0, 0, 515, 516, + 517, 540, 0, 518, 500, 564, 384, 314, 480, 507, + 700, 0, 0, 0, 0, 0, 0, 0, 615, 626, + 660, 0, 672, 673, 675, 677, 676, 679, 473, 474, + 687, 0, 681, 682, 683, 680, 405, 460, 481, 467, + 0, 706, 555, 556, 707, 668, 432, 0, 0, 570, + 604, 593, 678, 558, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 367, 0, 0, 400, 608, 589, + 600, 590, 575, 576, 577, 584, 379, 578, 579, 580, + 550, 581, 551, 582, 583, 0, 607, 557, 469, 416, + 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 245, 0, 0, 0, 0, 0, 0, 336, + 246, 552, 674, 554, 553, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 339, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 470, 499, 0, 512, 0, 390, + 391, 0, 0, 0, 0, 0, 0, 0, 324, 477, + 496, 337, 464, 510, 342, 472, 489, 332, 431, 461, + 0, 0, 326, 494, 471, 413, 325, 0, 455, 365, + 381, 362, 429, 0, 493, 523, 361, 513, 0, 504, + 328, 0, 503, 428, 490, 495, 414, 407, 0, 327, + 492, 412, 406, 394, 371, 539, 395, 396, 385, 443, + 404, 444, 386, 418, 417, 419, 0, 0, 0, 0, + 0, 534, 535, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 667, 0, + 0, 671, 0, 506, 0, 0, 0, 0, 0, 0, + 475, 0, 0, 397, 0, 0, 0, 524, 0, 458, + 434, 709, 0, 0, 456, 402, 491, 445, 497, 478, + 505, 450, 446, 315, 479, 364, 415, 333, 335, 804, + 366, 368, 372, 373, 424, 425, 439, 463, 482, 483, + 484, 363, 347, 457, 348, 382, 349, 319, 355, 353, + 356, 465, 357, 321, 440, 488, 0, 378, 453, 410, + 322, 409, 441, 487, 486, 334, 514, 521, 522, 612, + 0, 527, 710, 711, 712, 536, 0, 447, 330, 329, + 0, 0, 0, 359, 442, 343, 345, 346, 344, 437, + 438, 541, 542, 543, 545, 0, 546, 547, 0, 0, + 0, 0, 548, 316, 317, 318, 613, 629, 597, 566, + 529, 621, 563, 567, 568, 388, 632, 0, 0, 0, + 520, 398, 399, 0, 370, 369, 411, 323, 0, 0, + 376, 311, 312, 705, 360, 430, 634, 669, 670, 559, + 0, 622, 560, 569, 352, 594, 606, 605, 426, 519, + 0, 617, 620, 549, 704, 0, 614, 628, 708, 627, + 701, 436, 0, 462, 625, 572, 0, 618, 591, 592, + 0, 619, 587, 623, 0, 561, 0, 530, 533, 562, + 647, 648, 649, 320, 532, 651, 652, 653, 654, 655, + 656, 657, 650, 502, 595, 571, 598, 511, 574, 573, + 0, 0, 609, 528, 610, 611, 420, 421, 422, 423, + 380, 635, 341, 531, 449, 0, 596, 0, 0, 0, + 0, 0, 0, 0, 0, 601, 602, 599, 713, 0, + 658, 659, 0, 0, 525, 526, 375, 0, 544, 383, + 340, 435, 377, 509, 392, 0, 537, 603, 538, 451, + 452, 661, 666, 662, 663, 665, 685, 427, 387, 389, + 466, 393, 403, 454, 508, 433, 459, 338, 498, 468, + 408, 588, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 640, 639, 638, 637, 636, 635, 634, 633, 0, 0, - 582, 482, 351, 305, 347, 348, 355, 699, 695, 661, - 700, 683, 686, 685, 0, 313, 562, 398, 445, 371, - 627, 628, 0, 681, 259, 260, 261, 262, 263, 264, + 643, 642, 641, 640, 639, 638, 637, 636, 0, 0, + 585, 485, 354, 305, 350, 351, 358, 702, 698, 664, + 703, 686, 689, 688, 0, 313, 565, 401, 448, 374, + 630, 631, 0, 684, 259, 260, 261, 262, 263, 264, 265, 266, 306, 267, 268, 269, 270, 271, 272, 273, - 276, 277, 278, 279, 280, 281, 282, 283, 630, 274, + 276, 277, 278, 279, 280, 281, 282, 283, 633, 274, 275, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 0, 0, 307, - 687, 688, 689, 690, 691, 0, 0, 308, 309, 310, - 0, 0, 300, 473, 301, 302, 303, 304, 0, 0, - 512, 513, 514, 537, 0, 515, 497, 561, 381, 314, - 477, 504, 697, 0, 0, 0, 0, 0, 0, 0, - 612, 623, 657, 0, 669, 670, 672, 674, 673, 676, - 470, 471, 684, 0, 678, 679, 680, 677, 402, 457, - 478, 464, 0, 703, 552, 553, 704, 665, 429, 0, - 0, 567, 601, 590, 675, 555, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 364, 0, 0, 397, - 605, 586, 597, 587, 572, 573, 574, 581, 376, 575, - 576, 577, 547, 578, 548, 579, 580, 0, 604, 554, - 466, 413, 0, 621, 0, 0, 0, 0, 0, 0, + 690, 691, 692, 693, 694, 0, 0, 308, 309, 310, + 0, 0, 300, 476, 301, 302, 303, 304, 0, 0, + 515, 516, 517, 540, 0, 518, 500, 564, 384, 314, + 480, 507, 700, 0, 0, 0, 0, 0, 0, 0, + 615, 626, 660, 0, 672, 673, 675, 677, 676, 679, + 473, 474, 687, 0, 681, 682, 683, 680, 405, 460, + 481, 467, 0, 706, 555, 556, 707, 668, 432, 0, + 0, 570, 604, 593, 678, 558, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 367, 0, 0, 400, + 608, 589, 600, 590, 575, 576, 577, 584, 379, 578, + 579, 580, 550, 581, 551, 582, 583, 0, 607, 557, + 469, 416, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, 0, 0, 0, 0, 0, - 0, 333, 246, 549, 671, 551, 550, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 336, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 467, 496, 0, 509, - 0, 387, 388, 0, 0, 0, 0, 0, 0, 0, - 321, 474, 493, 334, 461, 507, 339, 469, 486, 329, - 428, 458, 0, 0, 323, 491, 468, 410, 322, 0, - 452, 362, 378, 359, 426, 0, 490, 520, 358, 510, - 0, 501, 325, 0, 500, 425, 487, 492, 411, 404, - 0, 324, 489, 409, 403, 391, 368, 536, 392, 393, - 382, 440, 401, 441, 383, 415, 414, 416, 0, 0, - 0, 0, 0, 531, 532, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 664, 0, 0, 668, 0, 503, 0, 0, 0, 0, - 0, 0, 472, 0, 0, 394, 0, 0, 0, 521, - 0, 455, 431, 706, 0, 0, 453, 399, 488, 442, - 494, 475, 502, 447, 443, 315, 476, 361, 412, 330, - 332, 696, 363, 365, 369, 370, 421, 422, 436, 460, - 479, 480, 481, 360, 344, 454, 345, 379, 346, 316, - 352, 350, 353, 462, 354, 318, 437, 485, 0, 375, - 450, 407, 319, 406, 438, 484, 483, 331, 511, 518, - 519, 609, 0, 524, 707, 708, 709, 533, 0, 444, - 327, 326, 0, 0, 0, 356, 439, 340, 342, 343, - 341, 434, 435, 538, 539, 540, 542, 0, 543, 544, - 0, 0, 0, 0, 545, 610, 626, 594, 563, 526, - 618, 560, 564, 565, 385, 629, 0, 0, 0, 517, - 395, 396, 0, 367, 366, 408, 320, 0, 0, 373, - 311, 312, 702, 357, 427, 631, 666, 667, 556, 0, - 619, 557, 566, 349, 591, 603, 602, 423, 516, 0, - 614, 617, 546, 701, 0, 611, 625, 705, 624, 698, - 433, 0, 459, 622, 569, 0, 615, 588, 589, 0, - 616, 584, 620, 0, 558, 0, 527, 530, 559, 644, - 645, 646, 317, 529, 648, 649, 650, 651, 652, 653, - 654, 647, 499, 592, 568, 595, 508, 571, 570, 0, - 0, 606, 525, 607, 608, 417, 418, 419, 420, 377, - 632, 338, 528, 446, 0, 593, 0, 0, 0, 0, - 0, 0, 0, 0, 598, 599, 596, 710, 0, 655, - 656, 0, 0, 522, 523, 372, 0, 541, 380, 337, - 432, 374, 506, 389, 0, 534, 600, 535, 448, 449, - 658, 663, 659, 660, 662, 682, 424, 384, 386, 463, - 390, 400, 451, 505, 430, 456, 335, 495, 465, 405, - 585, 613, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 299, 2205, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 640, - 639, 638, 637, 636, 635, 634, 633, 0, 0, 582, - 482, 351, 305, 347, 348, 355, 699, 695, 749, 700, - 683, 686, 685, 2207, 313, 562, 398, 445, 371, 627, - 628, 0, 681, 259, 260, 261, 262, 263, 264, 265, - 266, 306, 267, 268, 269, 270, 271, 272, 273, 276, - 277, 278, 279, 280, 281, 282, 283, 630, 274, 275, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 0, 0, 0, 2182, 307, 687, - 688, 689, 690, 691, 0, 0, 308, 309, 310, 0, - 0, 300, 473, 301, 302, 303, 304, 0, 0, 512, - 513, 514, 537, 0, 515, 497, 561, 381, 314, 477, - 504, 697, 0, 0, 0, 0, 0, 0, 0, 612, - 623, 657, 0, 669, 670, 672, 674, 673, 676, 470, - 471, 684, 0, 678, 679, 680, 677, 402, 457, 478, - 464, 0, 703, 552, 553, 704, 665, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2198, 0, 0, + 0, 336, 246, 552, 674, 554, 553, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 339, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 470, 499, 0, 512, + 0, 390, 391, 0, 0, 0, 0, 0, 0, 0, + 324, 477, 496, 337, 464, 510, 342, 472, 489, 332, + 431, 461, 0, 0, 326, 494, 471, 413, 325, 0, + 455, 365, 381, 362, 429, 0, 493, 523, 361, 513, + 0, 504, 328, 0, 503, 428, 490, 495, 414, 407, + 0, 327, 492, 412, 406, 394, 371, 539, 395, 396, + 385, 443, 404, 444, 386, 418, 417, 419, 0, 0, + 0, 0, 0, 534, 535, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 667, 0, 0, 671, 0, 506, 0, 0, 0, 0, + 0, 0, 475, 0, 0, 397, 0, 0, 0, 524, + 0, 458, 434, 709, 0, 0, 456, 402, 491, 445, + 497, 478, 505, 756, 446, 315, 479, 364, 415, 333, + 335, 699, 366, 368, 372, 373, 424, 425, 439, 463, + 482, 483, 484, 363, 347, 457, 348, 382, 349, 319, + 355, 353, 356, 465, 357, 321, 440, 488, 0, 378, + 453, 410, 322, 409, 441, 487, 486, 334, 514, 521, + 522, 612, 0, 527, 710, 711, 712, 536, 0, 447, + 330, 329, 0, 0, 0, 359, 442, 343, 345, 346, + 344, 437, 438, 541, 542, 543, 545, 0, 546, 547, + 0, 0, 0, 0, 548, 316, 317, 318, 613, 629, + 597, 566, 529, 621, 563, 567, 568, 388, 632, 0, + 0, 0, 520, 398, 399, 0, 370, 369, 411, 323, + 0, 0, 376, 311, 312, 705, 360, 430, 634, 669, + 670, 559, 0, 622, 560, 569, 352, 594, 606, 605, + 426, 519, 0, 617, 620, 549, 704, 0, 614, 628, + 708, 627, 701, 436, 0, 462, 625, 572, 0, 618, + 591, 592, 0, 619, 587, 623, 0, 561, 0, 530, + 533, 562, 647, 648, 649, 320, 532, 651, 652, 653, + 654, 655, 656, 757, 650, 502, 595, 571, 598, 511, + 574, 573, 0, 0, 609, 528, 610, 611, 420, 421, + 422, 423, 380, 635, 341, 531, 449, 0, 596, 0, + 0, 0, 0, 0, 0, 0, 0, 601, 602, 599, + 713, 0, 658, 659, 0, 0, 525, 526, 375, 0, + 544, 383, 340, 435, 377, 509, 392, 0, 537, 603, + 538, 451, 452, 661, 666, 662, 663, 665, 685, 427, + 387, 389, 466, 393, 403, 454, 508, 433, 459, 338, + 498, 468, 408, 588, 616, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 298, 299, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 643, 642, 641, 640, 639, 638, 637, 636, + 0, 0, 585, 485, 354, 305, 350, 351, 358, 702, + 698, 664, 703, 686, 689, 688, 0, 313, 565, 401, + 448, 374, 630, 631, 0, 684, 259, 260, 261, 262, + 263, 264, 265, 266, 306, 267, 268, 269, 270, 271, + 272, 273, 276, 277, 278, 279, 280, 281, 282, 283, + 633, 274, 275, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 0, 0, 0, + 0, 307, 690, 691, 692, 693, 694, 0, 0, 308, + 309, 310, 0, 0, 300, 476, 301, 302, 303, 304, + 0, 0, 515, 516, 517, 540, 0, 518, 500, 564, + 384, 314, 480, 507, 700, 0, 0, 0, 0, 0, + 0, 0, 615, 626, 660, 0, 672, 673, 675, 677, + 676, 679, 473, 474, 687, 0, 681, 682, 683, 680, + 405, 460, 481, 467, 0, 706, 555, 556, 707, 668, + 432, 0, 0, 570, 604, 593, 678, 558, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, + 0, 400, 608, 589, 600, 590, 575, 576, 577, 584, + 379, 578, 579, 580, 550, 581, 551, 582, 583, 0, + 607, 557, 469, 416, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 245, 0, 0, 0, + 0, 0, 0, 336, 246, 552, 674, 554, 553, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 339, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 470, 499, + 0, 512, 0, 390, 391, 0, 0, 0, 0, 0, + 0, 0, 324, 477, 496, 337, 464, 510, 342, 472, + 489, 332, 431, 461, 0, 0, 326, 494, 471, 413, + 325, 0, 455, 365, 381, 362, 429, 0, 493, 523, + 361, 513, 0, 504, 328, 0, 503, 428, 490, 495, + 414, 407, 0, 327, 492, 412, 406, 394, 371, 539, + 395, 396, 385, 443, 404, 444, 386, 418, 417, 419, + 0, 0, 0, 0, 0, 534, 535, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 667, 0, 0, 671, 0, 506, 0, 0, + 0, 0, 0, 0, 475, 0, 0, 397, 0, 0, + 0, 524, 0, 458, 434, 709, 0, 0, 456, 402, + 491, 445, 497, 478, 505, 450, 446, 315, 479, 364, + 415, 333, 335, 699, 366, 368, 372, 373, 424, 425, + 439, 463, 482, 483, 484, 363, 347, 457, 348, 382, + 349, 319, 355, 353, 356, 465, 357, 321, 440, 488, + 0, 378, 453, 410, 322, 409, 441, 487, 486, 334, + 514, 521, 522, 612, 0, 527, 710, 711, 712, 536, + 0, 447, 330, 329, 0, 0, 0, 359, 442, 343, + 345, 346, 344, 437, 438, 541, 542, 543, 545, 0, + 546, 547, 0, 0, 0, 0, 548, 316, 317, 318, + 613, 629, 597, 566, 529, 621, 563, 567, 568, 388, + 632, 0, 0, 0, 520, 398, 399, 0, 370, 369, + 411, 323, 0, 0, 376, 311, 312, 705, 360, 430, + 634, 669, 670, 559, 0, 622, 560, 569, 352, 594, + 606, 605, 426, 519, 0, 617, 620, 549, 704, 0, + 614, 628, 708, 627, 701, 436, 0, 462, 625, 572, + 0, 618, 591, 592, 0, 619, 587, 623, 0, 561, + 0, 530, 533, 562, 647, 648, 649, 320, 532, 651, + 652, 653, 654, 655, 656, 657, 650, 502, 595, 571, + 598, 511, 574, 573, 0, 0, 609, 528, 610, 611, + 420, 421, 422, 423, 380, 635, 341, 531, 449, 0, + 596, 0, 0, 0, 0, 0, 0, 0, 0, 601, + 602, 599, 713, 0, 658, 659, 0, 0, 525, 526, + 375, 0, 544, 383, 340, 435, 377, 509, 392, 0, + 537, 603, 538, 451, 452, 661, 666, 662, 663, 665, + 685, 427, 387, 389, 466, 393, 403, 454, 508, 433, + 459, 338, 498, 468, 408, 588, 616, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 299, + 0, 0, 0, 0, 0, 0, 0, 0, 2209, 0, + 0, 0, 0, 0, 643, 642, 641, 640, 639, 638, + 637, 636, 0, 0, 585, 485, 354, 305, 350, 351, + 358, 702, 698, 752, 703, 686, 689, 688, 0, 313, + 565, 401, 448, 374, 630, 631, 2214, 684, 259, 260, + 261, 262, 263, 264, 265, 266, 306, 267, 268, 269, + 270, 271, 272, 273, 276, 277, 278, 279, 280, 281, + 282, 283, 633, 274, 275, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, + 4262, 0, 2209, 307, 690, 691, 692, 693, 694, 0, + 2186, 308, 309, 310, 0, 0, 300, 476, 301, 302, + 303, 304, 0, 0, 515, 516, 517, 540, 0, 518, + 500, 564, 384, 314, 480, 507, 700, 0, 0, 0, + 2214, 0, 0, 0, 615, 626, 660, 0, 672, 673, + 675, 677, 676, 679, 473, 474, 687, 0, 681, 682, + 683, 680, 405, 460, 481, 467, 0, 706, 555, 556, + 707, 668, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2202, 0, 0, 0, 2186, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4232, 0, 0, 2190, 2202, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2186, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2192, 0, 0, 0, 0, 0, 0, 0, 0, + 2186, 0, 0, 0, 2184, 2221, 0, 0, 2185, 2187, + 2189, 0, 2191, 2192, 2193, 2197, 2198, 2199, 2201, 2204, + 2205, 2206, 0, 0, 0, 0, 0, 0, 0, 2194, + 2203, 2195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2180, 2214, 0, 0, 2181, 2183, 2185, 0, 2187, - 2188, 2189, 2193, 2194, 2195, 2197, 2200, 2201, 2202, 0, - 0, 0, 0, 0, 0, 0, 2190, 2199, 2191, 0, + 0, 0, 0, 0, 0, 0, 0, 2190, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2202, 0, 0, 2210, 2211, 2212, 2213, 0, 2184, 2221, + 0, 0, 2185, 2187, 2189, 0, 2191, 2192, 2193, 2197, + 2198, 2199, 2201, 2204, 2205, 2206, 0, 0, 0, 0, + 0, 0, 0, 2194, 2203, 2195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2183, 0, 0, 0, + 2182, 0, 0, 2190, 0, 0, 0, 2210, 2211, 2212, + 2213, 0, 0, 0, 2196, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2200, 0, 0, 0, 0, 0, + 0, 0, 0, 2188, 2184, 2221, 0, 0, 2185, 2187, + 2189, 0, 2191, 2192, 2193, 2197, 2198, 2199, 2201, 2204, + 2205, 2206, 0, 0, 0, 0, 0, 0, 0, 2194, + 2203, 2195, 2207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2183, 0, 0, 0, 2182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2206, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2200, 0, + 0, 0, 0, 2210, 2211, 2212, 2213, 2188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2203, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2179, 0, 0, 0, 2178, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2183, 0, 0, 0, + 2182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2196, 0, - 0, 0, 0, 0, 0, 0, 0, 2184, + 0, 0, 0, 0, 2200, 0, 0, 0, 0, 0, + 0, 0, 0, 2188, } var yyPact = [...]int{ - 412, -1000, -1000, -1000, -376, 17355, -1000, -1000, -1000, -1000, + 294, -1000, -1000, -1000, -367, 17236, -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, -1000, -1000, -1000, 58061, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 58119, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 451, 58061, -374, -1000, - 3278, 55994, -1000, -1000, -1000, 282, 56683, 19444, 58061, 643, - 625, 63573, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 466, 58119, -365, -1000, + 3566, 56043, -1000, -1000, -1000, 281, 56735, 19334, 58119, 626, + 620, 63655, -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, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1045, -1000, 62884, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 974, - 4982, 62195, 13885, -248, -1000, 2163, -45, 2966, 468, -15, - -17, 612, 1253, 1267, 1308, 1418, 58061, 1233, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1141, -1000, 62963, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1024, + 4781, 62271, 13751, -237, -1000, 1686, -42, 3111, 484, -1, + -10, 602, 1334, 1343, 1490, 1228, 58119, 1312, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 4388, 33946, 57372, 1120, -1000, -1000, -1000, -1000, -1000, + -1000, 350, 33899, 57427, 1227, -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, 258, 286, 1043, 1120, 24978, 74, 73, 2163, 3236, - -119, 274, -1000, 2117, 4568, 208, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 13885, 13885, 17355, - -430, 17355, 13885, 58061, 58061, -1000, -1000, -1000, -1000, -374, - 56683, 974, 4982, 13885, 2966, 468, -15, -17, 612, -1000, + -1000, 252, 271, 1139, 1227, 24892, 96, 95, 1686, 3487, + -116, 263, -1000, 2048, 4487, 218, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 13751, 13751, 17236, + -423, 17236, 13751, 58119, 58119, -1000, -1000, -1000, -1000, -365, + 56735, 1024, 4781, 13751, 3111, 484, -1, -10, 602, -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, -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, -119, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -116, -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, @@ -8465,8 +8500,8 @@ 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, -1000, -1000, -1000, -1000, -1000, 73, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 95, -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, @@ -8485,468 +8520,469 @@ 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, 5521, -1000, 1870, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 6159, -1000, 1899, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 2686, 3612, 1869, 2965, -1000, -1000, -1000, -1000, 2163, - 4089, 935, 58061, -1000, 145, 4061, -1000, 58061, 58061, 196, - 2220, -1000, 617, 570, 539, 804, 332, 1868, -1000, -1000, - -1000, -1000, -1000, -1000, 862, 4060, -1000, 58061, 58061, 58061, - 3648, 58061, -1000, 427, 909, -1000, 5035, 3827, 1606, 1083, - 3659, -1000, -1000, 3611, -1000, 325, 1679, 281, 936, 443, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 300, -1000, 3879, - -1000, -1000, 319, -1000, -1000, 313, -1000, -1000, -1000, 66, + -1000, -1000, -1000, -1000, 2778, 3656, 1897, 3109, -1000, -1000, + -1000, -1000, 1686, 4056, 978, 58119, -1000, 150, 4034, -1000, + 58119, 58119, 216, 2273, -1000, 632, 627, 731, 784, 361, + 1896, -1000, -1000, -1000, -1000, -1000, -1000, 875, 4033, -1000, + 58119, 58119, 58119, 3675, 58119, -1000, 506, 908, -1000, 4836, + 3863, 1692, 1134, 3691, -1000, -1000, 3652, -1000, 378, 656, + 324, 830, 465, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 347, -1000, 3933, -1000, -1000, 312, -1000, -1000, 363, -1000, + -1000, -1000, 78, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -44, -1000, -1000, 1397, 2556, 13751, + 2345, -1000, 4264, 2031, -1000, -1000, -1000, 8880, 16531, 16531, + 16531, 16531, 58119, -1000, -1000, 3548, 13751, 3651, 3649, 3647, + 3645, -1000, -1000, -1000, -1000, -1000, -1000, 3644, 1892, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 2424, -1000, + -1000, -1000, 13751, -1000, 3643, 3640, 3637, 3636, 3635, 3634, + 3633, 3632, 3631, 3630, 3629, 3628, 3627, 3625, 3397, 18631, + 3624, 3108, 3107, 3623, 3620, 3618, 3100, 3616, 3615, 3614, + 3397, 3397, 3613, 3611, 3609, 3606, 3604, 3603, 3602, 3601, + 3600, 3599, 3598, 3597, 3596, 3595, 3593, 3590, 3589, 3587, + 3586, 3584, 3583, 3582, 3581, 3580, 3578, 3577, 3576, 3575, + 3573, 3571, 3570, 3569, 3567, 3565, 3564, 3563, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -58, -1000, -1000, 1351, 2858, 13885, 2407, -1000, 4243, - 2027, -1000, -1000, -1000, 9035, 16653, 16653, 16653, 16653, 58061, - -1000, -1000, 3422, 13885, 3609, 3608, 3605, 3604, -1000, -1000, - -1000, -1000, -1000, -1000, 3603, 1860, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 2343, -1000, -1000, -1000, 13885, - -1000, 3602, 3601, 3600, 3598, 3597, 3593, 3591, 3585, 3583, - 3582, 3581, 3580, 3572, 3571, 3237, 18744, 3570, 2959, 2957, - 3568, 3567, 3566, 2956, 3564, 3563, 3561, 3237, 3237, 3558, - 3540, 3538, 3535, 3534, 3532, 3528, 3527, 3523, 3519, 3513, - 3512, 3510, 3508, 3507, 3506, 3504, 3501, 3495, 3493, 3492, - 3479, 3473, 3472, 3468, 3467, 3465, 3459, 3458, 3453, 3449, - 3446, 3445, 3444, 3443, 3442, -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, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1660, - -1000, 3441, 4096, 3304, -1000, 3964, 3951, 3943, 3904, -304, - 3439, 2606, -1000, -1000, 103, 58061, 58061, 297, 58061, -330, - 421, 517, -130, -131, 515, -137, 1140, -1000, 506, -1000, - -1000, 1218, -1000, 1195, 61506, 1011, -1000, -1000, 58061, 973, - 973, 973, 973, 58061, 204, 1033, 1217, 973, 973, 973, - 973, 1014, 973, 3975, 1041, 1039, 1037, 1034, 973, -83, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 2218, 2217, 3741, - 935, 55994, 1712, 58061, -1000, 3393, 1174, -1000, -1000, -1000, - -1000, 421, -1000, -6, -361, 3657, 2059, 2059, 4043, 4043, - 3958, 3956, 918, 917, 915, 2059, 729, -1000, 2204, 2204, - 2204, 2204, 2059, 481, 900, 3978, 3978, 108, 2204, 39, - 2059, 2059, 39, 2059, 2059, 501, -1000, 2140, 607, 266, - -313, -1000, -1000, -1000, -1000, 2204, 2204, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 3921, 3912, 974, 974, 58061, 974, - 58061, 381, 205, 58061, 974, 974, 974, 58061, 988, -359, - -30, 60817, 60128, 2728, 427, 897, 895, 1727, 2206, -1000, - 2065, 58061, 58061, 2065, 2065, 28434, 27745, -1000, 58061, -1000, - 4096, 3304, 3224, 1762, 3219, 3304, -138, 421, 974, 974, - 974, 974, 974, 974, 273, 974, 974, 974, 974, 974, - 58061, 58061, 55305, 974, 508, 974, 974, 974, 11803, 2117, + -1000, -1000, 1845, -1000, 3561, 4068, 3468, -1000, 3910, 3906, + 3904, 3902, -296, 3560, 2694, -1000, -1000, 116, 58119, 58119, + 296, 58119, -318, 428, 549, -123, -127, 546, -128, 1129, + -1000, 544, -1000, -1000, 1309, -1000, 1296, 61579, 1077, -1000, + -1000, 58119, 1021, 1021, 1021, 1021, 58119, 214, 971, 1282, + 1021, 1021, 1021, 1021, 1081, 1021, 3963, 1128, 1127, 1125, + 1124, 1021, -72, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 2272, 2266, 3756, 978, 56043, 1749, 58119, -1000, 3518, 1266, + -1000, -1000, -1000, -1000, 428, -1000, -16, -342, 3689, 2057, + 2057, 4016, 4016, 3962, 3961, 933, 928, 917, 2057, 687, + -1000, 2234, 2234, 2234, 2234, 2057, 548, 925, 3966, 3966, + 82, 2234, 60, 2057, 2057, 60, 2057, 2057, 513, -1000, + 2226, 538, 317, -304, -1000, -1000, -1000, -1000, 2234, 2234, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 3927, 3925, 1024, + 1024, 58119, 1024, 58119, 479, 205, 58119, 1024, 1024, 1024, + 58119, 1039, -353, 9, 60887, 60195, 2764, 506, 905, 894, + 1772, 2209, -1000, 2171, 58119, 58119, 2171, 2171, 28363, 27671, + -1000, 58119, -1000, 4068, 3468, 3381, 2039, 3372, 3468, -130, + 428, 1024, 1024, 1024, 1024, 1024, 1024, 279, 1024, 1024, + 1024, 1024, 1024, 58119, 58119, 55351, 1024, 526, 1024, 1024, + 1024, 11660, 2048, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 17236, 2338, 2470, 217, + -22, -345, 303, -1000, -1000, 58119, 3810, 2023, -1000, -1000, + -1000, 3507, -1000, 3509, 3509, 3509, 3509, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 3509, 3509, 3516, + 3556, -1000, -1000, 3508, 3508, 3508, 3507, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 17355, 2336, 2457, 207, -29, -351, 278, - -1000, -1000, 58061, 3782, 2010, -1000, -1000, -1000, 3370, -1000, - 3383, 3383, 3383, 3383, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 3383, 3383, 3388, 3435, -1000, -1000, - 3371, 3371, 3371, 3370, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 3385, - 3385, 3387, 3387, 3385, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 58061, 4092, -1000, -1000, 13885, 58061, 3807, 4096, - 3796, 3978, 4037, 3511, 3431, -1000, -1000, 58061, 318, 2542, - -1000, -1000, 1858, 2603, 2955, -1000, 332, -1000, 587, 332, - -1000, 565, 565, 2096, -1000, 1463, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 58061, -58, 624, -1000, -1000, -1000, 2913, - 3426, -1000, 667, 1601, 1826, -1000, 233, 6079, 45659, 427, - 45659, 58061, -1000, -1000, -1000, -1000, -1000, -1000, 63, -1000, + -1000, -1000, 3514, 3514, 3515, 3515, 3514, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 58119, 4064, -1000, -1000, 13751, + 58119, 3841, 4068, 3820, 3966, 4006, 3546, 3555, -1000, -1000, + 58119, 348, 2428, -1000, -1000, 1868, 2688, 3098, -1000, 361, + -1000, 474, 361, -1000, 640, 640, 2177, -1000, 1501, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 58119, -44, 1087, -1000, + -1000, -1000, 3069, 3551, -1000, 675, 1615, 1750, -1000, 278, + 4979, 45663, 506, 45663, 58119, -1000, -1000, -1000, -1000, -1000, + -1000, 77, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 342, -1000, 13751, 13751, + 13751, 13751, 13751, -1000, 1051, 15836, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 16531, 16531, 16531, 16531, 16531, 16531, 16531, + 16531, 16531, 16531, 16531, 16531, 16531, 16531, 3547, 2219, 16531, + 16531, 16531, 16531, 6041, 30439, 2039, 3447, 1751, 340, 2031, + 2031, 2031, 2031, 13751, -1000, 2317, 2556, 13751, 13751, 13751, + 13751, 37359, 58119, -1000, -1000, 4828, 13751, 13751, 4730, 13751, + 3898, 13751, 13751, 13751, 3371, 6775, 58119, 13751, -1000, 3363, + 3360, -1000, -1000, 2548, 13751, -1000, -1000, 13751, -1000, -1000, + 13751, 16531, 13751, -1000, 13751, 13751, 13751, -1000, -1000, 669, + 669, 1232, 3898, 3898, 3898, 2270, 13751, 13751, 3898, 3898, + 3898, 2178, 3898, 3898, 3898, 3898, 3898, 3898, 3898, 3898, + 3898, 3898, 3898, 3331, 3329, 3328, 3327, 13751, 3326, 13751, + 13751, 13751, 13751, 13751, 13056, 3966, -237, -1000, 10965, 3820, + 3966, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -298, 3550, 58119, 3096, 3095, -377, -384, 1342, -384, + 1865, -1000, -320, 1318, 295, 58119, -1000, -1000, 58119, 3092, + 2686, 58119, 3091, 2684, 237, 222, 58119, 58119, 58119, 17, + 1330, 1298, 1307, -1000, -1000, 58119, 59503, -1000, 58119, 2349, + 58119, 58119, 58119, 3883, -1000, 58119, 58119, 1021, 1021, 1021, + -1000, 53275, 3082, 45663, 58119, 58119, 506, 58119, 58119, 58119, + 1021, 1021, 1021, 1021, 58119, -1000, 3802, 45663, 3769, 3544, + 978, 58119, 1749, 3882, 58119, 1039, -1000, -1000, 3958, -1000, + -1000, -1000, 888, 4016, 16531, 16531, -1000, -1000, 13751, -1000, + 283, 54659, 2234, 2057, 2057, -1000, -1000, 58119, -1000, -1000, + -1000, 2234, 58119, 2234, 2234, 4016, 2234, -1000, -1000, -1000, + 2057, 2057, -1000, -1000, 13751, -1000, -1000, 2234, 2234, -1000, + -1000, 4016, 58119, 74, 4016, 4016, 51, -1000, -1000, 58119, + -1000, 2057, 3081, -1000, 58119, 58119, 1021, 58119, -1000, 58119, + 58119, -1000, -1000, 58119, 58119, 5268, 58119, 422, 3857, 1137, + 53275, 53967, 3924, -1000, 45663, 58119, 58119, 1734, -1000, 1072, + 40819, -1000, 58119, 1685, -1000, -14, -1000, 2, 9, 2171, + 9, 2171, 1071, -1000, 651, 414, 26287, 605, 45663, 8175, + -1000, -1000, 2171, 2171, 8175, 8175, 1964, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 1730, -1000, 325, 3966, -1000, -1000, + -1000, -1000, -1000, 2681, -327, 58119, 58119, 53275, 45663, 506, + 58119, 1024, 58119, 58119, 58119, 58119, 58119, -1000, 3549, 1863, + -1000, 3856, 58119, 1024, 58119, 58119, 58119, 1656, -1000, -1000, + 22794, 1857, -1000, -1000, 2340, -1000, 13751, 17236, -277, 13751, + 17236, 17236, 13751, 17236, -1000, 13751, 1740, -1000, -1000, -1000, + -1000, 2679, -1000, 2676, -1000, -1000, -1000, -1000, -1000, 3078, + 3078, -1000, 2675, -1000, -1000, -1000, -1000, 2664, -1000, -1000, + 2663, -1000, -1000, -1000, -1000, -167, 3321, 1397, -1000, 3076, + 3966, -1000, -242, 4003, 13751, -1000, -238, -1000, 24200, 58119, + 58119, -391, 2262, 2260, 2257, 3937, 1024, 58119, -1000, 3942, + -1000, -1000, 361, -1000, -1000, -1000, 640, 654, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 1856, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -117, -118, 1729, + -1000, 58119, -1000, -1000, 278, 45663, 49815, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 1708, -1000, -1000, 184, -1000, 1070, + 243, 2176, -1000, -1000, 220, 219, 224, 1192, 2556, -1000, + 2367, 2367, 2369, -1000, 787, -1000, -1000, -1000, -1000, 3548, + -1000, -1000, -1000, 3825, 3124, -1000, 2297, 2297, 1861, 1861, + 1861, 1861, 1861, 2264, 2264, 2031, 2031, -1000, -1000, -1000, + 8880, 3547, 16531, 16531, 16531, 16531, 1130, 1130, 4753, 5309, + -1000, -1000, 1926, 1926, -1000, -1000, -1000, -1000, 13751, 202, + 2320, -1000, 13751, 2900, 1992, 2833, 1733, 2174, -1000, 3507, + 13751, 1855, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 333, -1000, 13885, 13885, 13885, 13885, 13885, - -1000, 814, 15961, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 16653, 16653, 16653, 16653, 16653, 16653, 16653, 16653, 16653, 16653, - 16653, 16653, 16653, 16653, 3420, 2170, 16653, 16653, 16653, 16653, - 5312, 30501, 1762, 3876, 1719, 321, 2027, 2027, 2027, 2027, - 13885, -1000, 2248, 2858, 13885, 13885, 13885, 13885, 37391, 58061, - -1000, -1000, 4204, 13885, 13885, 4929, 13885, 3887, 13885, 13885, - 13885, 3217, 6939, 58061, 13885, -1000, 3215, 3214, -1000, -1000, - 2492, 13885, -1000, -1000, 13885, -1000, -1000, 13885, 16653, 13885, - -1000, 13885, 13885, 13885, -1000, -1000, 1610, 1610, 1027, 3887, - 3887, 3887, 2182, 13885, 13885, 3887, 3887, 3887, 2180, 3887, - 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, - 3212, 3210, 3209, 3202, 13885, 3201, 13885, 13885, 13885, 13885, - 13885, 13193, 3978, -248, -1000, 11111, 3796, 3978, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -306, 3425, - 58061, 2952, 2946, -383, -384, 1260, -384, 1857, -1000, -331, - 1245, 296, 58061, -1000, -1000, 58061, 2945, 2601, 58061, 2943, - 2600, 245, 218, 58061, 58061, 58061, -20, 1249, 1201, 1204, - -1000, -1000, 58061, 59439, -1000, 58061, 2265, 58061, 58061, 58061, - 3866, -1000, 58061, 58061, 973, 973, 973, -1000, 53238, 2942, - 45659, 58061, 58061, 427, 58061, 58061, 58061, 973, 973, 973, - 973, 58061, -1000, 3750, 45659, 3745, 3502, 935, 58061, 1712, - 3863, 58061, 988, -1000, -1000, 3954, -1000, -1000, -1000, 893, - 4043, 16653, 16653, -1000, -1000, 13885, -1000, 310, 54616, 2204, - 2059, 2059, -1000, -1000, 58061, -1000, -1000, -1000, 2204, 58061, - 2204, 2204, 4043, 2204, -1000, -1000, -1000, 2059, 2059, -1000, - -1000, 13885, -1000, -1000, 2204, 2204, -1000, -1000, 4043, 58061, - 58, 4043, 4043, 25, -1000, -1000, 58061, -1000, 2059, 2940, - -1000, 58061, 58061, 973, 58061, -1000, 58061, 58061, -1000, -1000, - 58061, 58061, 5590, 58061, 418, 3820, 1142, 53238, 53927, 3908, - -1000, 45659, 58061, 58061, 1683, -1000, 1010, 40836, -1000, 58061, - 1615, -1000, -13, -1000, -42, -30, 2065, -30, 2065, 1009, - -1000, 663, 414, 26367, 596, 45659, 8333, -1000, -1000, 2065, - 2065, 8333, 8333, 1926, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 1681, -1000, 268, 3978, -1000, -1000, -1000, -1000, -1000, - 2599, -348, 58061, 58061, 53238, 45659, 427, 58061, 974, 58061, - 58061, 58061, 58061, 58061, -1000, 3424, 1854, -1000, 3817, 58061, - 974, 58061, 58061, 58061, 1640, -1000, -1000, 22889, 1843, -1000, - -1000, 2243, -1000, 13885, 17355, -287, 13885, 17355, 17355, 13885, - 17355, -1000, 13885, 1846, -1000, -1000, -1000, -1000, 2593, -1000, - 2592, -1000, -1000, -1000, -1000, -1000, 2939, 2939, -1000, 2572, - -1000, -1000, -1000, -1000, 2571, -1000, -1000, 2569, -1000, -1000, - -1000, -1000, -179, 3197, 1351, -1000, 2937, 3978, -1000, -257, - 4034, 13885, -1000, -249, -1000, 24289, 58061, 58061, -394, 2216, - 2213, 2210, 3907, 974, 58061, -1000, 3942, -1000, -1000, 332, - -1000, -1000, -1000, 565, 439, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 1842, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -120, -122, 1678, -1000, 58061, -1000, - -1000, 233, 45659, 49793, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 1693, -1000, -1000, 186, -1000, 1008, 243, 2095, -1000, - -1000, 239, 220, 212, 1101, 2858, -1000, 2263, 2263, 2276, - -1000, 830, -1000, -1000, -1000, -1000, 3422, -1000, -1000, -1000, - 2538, 3627, -1000, 2172, 2172, 1952, 1952, 1952, 1952, 1952, - 2135, 2135, 2027, 2027, -1000, -1000, -1000, 9035, 3420, 16653, - 16653, 16653, 16653, 1068, 1068, 3875, 3186, -1000, -1000, 1901, - 1901, -1000, -1000, -1000, -1000, 13885, 183, 2232, -1000, 13885, - 3091, 2046, 2792, 1561, 2078, -1000, 3370, 13885, 1841, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 3319, 3316, 2610, 4032, 3314, 13751, -1000, -1000, + 2159, 2153, 2148, -1000, 2591, 12361, -1000, -1000, -1000, 3312, + 1853, 3310, -1000, -1000, -1000, 3306, 2133, 1487, 3304, 1766, + 3293, 3292, 3290, 3278, 1723, 1715, 1714, -1000, -1000, -1000, + -1000, 13751, 13751, 13751, 13751, 3276, 2130, 2111, 13751, 13751, + 13751, 13751, 3275, 13751, 13751, 13751, 13751, 13751, 13751, 13751, + 13751, 13751, 13751, 58119, 131, 131, 131, 131, 3428, 131, + 2237, 2114, 3424, 3415, 1893, 1709, 1707, -1000, -1000, 2109, + -1000, 2556, -1000, -1000, 4003, -1000, 3545, 2662, 1706, -1000, + -1000, -362, 3007, 1062, 58119, -321, 58119, 1062, 58119, 58119, + 2252, 1062, -323, 3074, -1000, -1000, -1000, 3073, -1000, -1000, + 58119, 58119, 58119, 58119, -142, 3836, 3828, -1000, -1000, 1316, + 1295, 1292, -1000, 58119, -1000, 3072, 3853, 3941, 999, -133, + 58119, 3541, 3540, 58119, 58119, 58119, 262, -1000, -1000, 58119, + 1594, -1000, 243, -58, 634, 1423, 3673, 941, 4063, 58119, + 58119, 58119, 58119, 3880, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 3688, -238, -1000, 23497, 58119, 3544, -1000, 3538, + 2108, -1000, 52583, 3968, 58119, 506, -1000, 2031, 2031, 2556, + 58119, 58119, 58119, 3671, 58119, 58119, 4016, 4016, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 2234, 4016, 4016, 1844, 2057, + 2234, -1000, -1000, 2234, -391, -1000, 2234, -1000, -1000, -1000, + -391, 1852, -391, 58119, -1000, -1000, -1000, 3879, 3518, 1696, + -1000, -1000, -1000, 4005, 1732, 1015, 1015, 1258, 639, 4004, + 21410, -1000, 507, 2080, 1461, 1056, 3780, 364, -1000, 2080, + -164, 984, 2080, 2080, 2080, 2080, 2080, 2080, 2080, 871, + 855, 2080, 2080, 2080, 2080, 2080, 2080, 2080, 2080, 2080, + 2080, 2080, 1341, 2080, 2080, 2080, 2080, 2080, -1000, 2080, + 3537, 2080, 2080, 2080, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 899, 779, -1000, -1000, 309, 506, 1055, 38, 10, + 260, 3920, 435, -1000, 426, 1594, 660, 3917, 464, 58119, + 58119, 1202, 1555, -1000, -1000, -1000, -1000, -1000, 31131, 31131, + 25595, 31131, -1000, 207, 2171, 9, -28, -1000, -1000, 1685, + 8175, 1685, 8175, 2659, -1000, -1000, 1048, -1000, -1000, 1423, + -1000, 58119, 58119, -1000, -1000, 3536, 2250, -1000, -1000, 18631, + -1000, 8175, 8175, -1000, -1000, 33207, 58119, -1000, -53, -1000, + -31, 4003, -1000, -1000, -1000, -1000, 1405, -1000, -1000, 1674, + 1423, 3687, 58119, 1405, 1405, 1405, -1000, -1000, 20026, 58119, + 58119, -1000, 3071, -1000, 4029, -327, 4016, 11660, -1000, 40819, + -1000, -1000, 51891, -1000, 51199, 2282, -1000, 17236, 2443, 212, + -1000, 285, -356, 211, 2313, 209, 2556, -1000, -1000, 3273, + 3264, 2107, -1000, 2105, 3257, 2101, 2100, 2652, -1000, 57, + 4003, 3065, 3820, -213, 1671, -1000, 2431, 1406, -1000, 3534, + -1000, 2086, 3749, -1000, 1651, -1000, 2248, 2060, -1000, -1000, + 13751, 50507, 13751, 1246, 3059, 1848, 208, -1000, -1000, -1000, + 58119, 3069, 2051, 49815, 1475, -1000, 1044, 1847, 1843, -1000, + 45663, 331, 45663, -1000, 45663, -1000, -1000, 3980, -1000, 58119, + 3821, -1000, -1000, -1000, 3007, 2245, -389, 58119, -1000, -1000, + -1000, -1000, -1000, 2047, -1000, 1130, 1130, 4753, 5189, -1000, + 16531, -1000, 16531, -1000, -1000, -1000, -1000, 3393, -1000, 2280, + -1000, 13751, 2427, 6041, 13751, 6041, 2304, 29747, 37359, -143, + 3846, 3373, 58119, -1000, -1000, 13751, 13751, -1000, 3359, -1000, + -1000, -1000, -1000, 13751, 13751, 2505, -1000, 58119, -1000, -1000, + -1000, -1000, 29747, -1000, 16531, -1000, -1000, -1000, -1000, 13751, + 13751, 13751, 1625, 1625, 3347, 2043, 131, 131, 131, 3313, + 3308, 3295, 2042, 131, 3272, 3253, 3241, 3233, 3218, 3193, + 3104, 3099, 3090, 3011, 2041, -1000, 3533, -1000, -1000, -1000, + 131, -1000, 131, 13751, 131, 13751, 131, 131, 13751, 2451, + 15141, 10965, -1000, 3820, 334, 1670, 2648, 3058, 120, -1000, + 2243, -1000, 463, -1000, 58119, 4028, -1000, 1842, 3055, 49123, + -1000, 58119, -1000, -1000, 4027, 4026, -1000, -1000, 58119, 58119, + 58119, -1000, -1000, -1000, 1284, -1000, 3051, -1000, 268, 267, + 2545, 2312, 3049, 290, 1510, 20026, 3518, 3532, 3518, 121, + 2080, 579, 691, 45663, 884, -1000, 48431, 2578, 2240, 3686, + 1085, 3803, 58119, 47739, 3531, 1313, 3529, 3528, 3875, 587, + 6251, -1000, 3813, 1406, 2038, 3747, 1651, -1000, 4487, -1000, + 58119, 58119, 1647, -1000, 1828, -1000, 2641, -1000, -1000, -1000, + -1000, 58119, -1000, 506, -1000, 2057, -1000, -1000, 4016, -1000, + -1000, 13751, 13751, 4016, 2057, 2057, -1000, 2234, -1000, 58119, + -1000, -391, 587, 6251, 3871, 5736, 673, 2781, -1000, 58119, + -1000, -1000, -1000, 996, -1000, 1226, 1021, 58119, 2400, 1226, + 2383, 3527, -1000, -1000, 58119, 58119, 58119, 58119, -1000, -1000, + 58119, -1000, 58119, 58119, 58119, 58119, 58119, 47047, -1000, 58119, + 58119, -1000, 58119, 2382, 58119, 2379, -1000, 3822, -1000, 2080, + 2080, 1231, -1000, -1000, 670, -1000, 47047, 2640, 2638, 2630, + 2629, 3048, 3047, 3046, 2080, 2080, 2620, 3043, 46355, 3042, + 1428, 2617, 2615, 2614, 2581, 3041, 1147, -1000, 3039, 2555, + 2537, 2528, 58119, 3526, 2912, 58119, 3037, 3032, -1000, -1000, + 2545, 3027, 3524, 2613, 3024, 1159, 506, 3023, 3685, 121, + 2080, 411, 58119, 2236, 2235, 691, 661, 661, 629, -63, + 26979, -1000, -1000, -1000, 58119, 40819, 40819, 40819, 40819, 40819, + 40819, -1000, 3726, 3707, 3521, -1000, 3720, 3716, 3709, 522, + 3723, 3102, 58119, 40819, 3518, -1000, 46355, -1000, -1000, -1000, + 2039, 2030, 1151, 1243, 13751, 8175, -1000, -1000, -26, -38, + -1000, -1000, -1000, -1000, 45663, 3022, 605, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 3820, 58119, 58119, 1009, 3255, 1637, + -1000, -1000, -1000, 6251, 3509, 3509, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 3509, 3509, 3516, -1000, -1000, + 3508, 3508, 3508, 3507, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 3514, 3514, 3515, 3515, 3514, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 58119, + -1000, 4014, -1000, 1620, -1000, -1000, 1824, -1000, 2336, -370, + 17236, 2284, 2110, -1000, 13751, 17236, 13751, -278, 394, -286, + -1000, -1000, -1000, 3017, -1000, -1000, -1000, 2607, -1000, 2601, + -1000, 147, 204, 3820, 221, -1000, 4061, 13751, 3789, -1000, + -1000, -238, 10965, 3439, 58119, -238, 58119, 10965, -1000, 58119, + 173, -412, -413, 169, 3016, -1000, 58119, 2600, -1000, -1000, + -1000, 4025, 45663, 506, 1986, 44971, -1000, 310, -1000, 1618, + 628, 3015, -1000, 1114, 119, 3014, 3007, -1000, -1000, -1000, + -1000, 16531, 2031, -1000, -1000, -1000, 2556, 13751, 3252, 2565, + 3251, 3250, -1000, 3509, 3509, -1000, 3507, 3508, 3507, 1926, + 1926, 3243, -1000, 3505, -1000, 3846, -1000, 2490, 3006, -1000, + 2962, 2938, 13751, -1000, 3239, 4602, 1889, 1849, 2818, -75, + -197, 131, 131, -1000, -1000, -1000, -1000, 131, 131, 131, + 131, -1000, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 983, -1000, -1000, 2090, -1000, 1489, -1000, + -1000, 2813, -108, -308, -109, -309, -1000, -1000, 3238, 1616, + -1000, -1000, -1000, -1000, -1000, 4730, 1608, 646, 646, 3007, + 2992, 58119, 2990, -324, 58119, -1000, -415, -418, 2983, 58119, + 58119, 54, 2309, 2391, -1000, 2980, -1000, -1000, 44279, 58119, + 58119, 58811, 732, 58119, 58119, 2979, -1000, -168, 3503, -136, + 2978, 3237, 1598, -1000, -1000, 58119, -1000, -1000, -1000, 3236, + 3870, 20718, 3866, 2701, -1000, -1000, -1000, 32515, 58119, 661, + -1000, -1000, -1000, 776, 362, 2598, 612, -1000, 58119, 593, + 456, 3764, 2233, 2977, 58119, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 3803, -1000, 1185, -391, 58119, 576, 39435, + 17939, -1000, 3229, 58119, -1000, 58119, 43587, 20718, 20718, 3229, + 550, 2165, -1000, 2377, 3392, -238, 3235, -1000, 978, 1553, + 129, 40819, 58119, -1000, 41511, -1000, -1000, 1423, 4016, -1000, + 2556, 2556, -391, 4016, 4016, 2057, -1000, -1000, 550, -1000, + 3229, -1000, 1880, 22102, 668, 469, 432, -1000, 772, -1000, + -1000, 976, 3785, 6251, -1000, 58119, -1000, 58119, -1000, 58119, + 58119, 1021, 13751, 3785, 58119, 1043, -1000, 1393, 554, 492, + 931, 931, 1517, -1000, 3846, -1000, -1000, 1505, -1000, -1000, + -1000, -1000, 58119, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 29747, 29747, 3915, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 2974, 2972, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 3196, - 3194, 2725, 4059, 3187, 13885, -1000, -1000, 2057, 2051, 2047, - -1000, 2744, 12501, -1000, -1000, -1000, 3165, 1834, 3163, -1000, - -1000, -1000, 3154, 2028, 1446, 3153, 2328, 3151, 3150, 3149, - 3147, 1670, 1662, 1661, -1000, -1000, -1000, -1000, 13885, 13885, - 13885, 13885, 3146, 2020, 2018, 13885, 13885, 13885, 13885, 3141, - 13885, 13885, 13885, 13885, 13885, 13885, 13885, 13885, 13885, 13885, - 58061, 121, 121, 121, 121, 3872, 121, 1886, 1839, 3854, - 3840, 2039, 1658, 1639, -1000, -1000, 1986, -1000, 2858, -1000, - -1000, 4034, -1000, 3417, 2568, 1624, -1000, -1000, -370, 2838, - 1006, 58061, -332, 58061, 1006, 58061, 58061, 2209, 1006, -339, - 2934, -1000, -1000, -1000, 2923, -1000, -1000, 58061, 58061, 58061, - 58061, -150, 3805, 3800, -1000, -1000, 1225, 1188, 1312, -1000, - 58061, -1000, 2922, 3812, 3940, 1069, -142, 58061, 3412, 3411, - 58061, 58061, 58061, 269, -1000, -1000, 58061, 1496, -1000, 243, - -71, 681, 1415, 3647, 950, 4091, 58061, 58061, 58061, 58061, - 3862, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 3656, - -249, -1000, 23589, 58061, 3502, -1000, 3409, 1985, -1000, 52549, - 3979, 58061, 427, -1000, 2027, 2027, 2858, 58061, 58061, 58061, - 3624, 58061, 58061, 4043, 4043, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 2204, 4043, 4043, 1757, 2059, 2204, -1000, -1000, - 2204, -394, -1000, 2204, -1000, -1000, -1000, -394, 1833, -394, - 58061, -1000, -1000, -1000, 3856, 3393, 1616, -1000, -1000, -1000, - 4036, 1647, 960, 960, 1216, 898, 4035, 21511, -1000, 2075, - 1498, 1003, 3768, 303, -1000, 2075, -176, 943, 2075, 2075, - 2075, 2075, 2075, 2075, 2075, 856, 843, 2075, 2075, 2075, - 2075, 2075, 2075, 2075, 2075, 2075, 2075, 2075, 1222, 2075, - 2075, 2075, 2075, 2075, -1000, 2075, 3408, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 881, 788, -1000, -1000, 299, 427, - 1002, 9, 8, 265, 3898, 389, -1000, 400, 1496, 644, - 3896, 440, 58061, 58061, 855, 1682, -1000, -1000, -1000, -1000, - -1000, 31190, 31190, 25678, 31190, -1000, 203, 2065, -30, -23, - -1000, -1000, 1615, 8333, 1615, 8333, 2563, -1000, -1000, 1001, - -1000, -1000, 1415, -1000, 58061, 58061, -1000, -1000, 3407, 2202, - -1000, -1000, 18744, -1000, 8333, 8333, -1000, -1000, 33257, 58061, - -1000, -62, -1000, -46, 4034, -1000, -1000, -1000, -1000, 1364, - -1000, -1000, 1614, 1415, 3653, 58061, 1364, 1364, 1364, -1000, - -1000, 20133, 58061, 58061, -1000, 2919, -1000, 4058, -348, 4043, - 11803, -1000, 40836, -1000, -1000, 51860, -1000, 51171, 2173, -1000, - 17355, 2396, 200, -1000, 272, -355, 199, 2286, 197, 2858, - -1000, -1000, 3140, 3135, 1975, -1000, 1973, 3134, 1965, 1958, - 2562, -1000, 36, 4034, 2918, 3796, -224, 1605, -1000, 2489, - 1407, -1000, 3406, -1000, 1950, 3737, -1000, 1591, -1000, 2185, - 1939, -1000, -1000, 13885, 50482, 13885, 1153, 2914, 1809, 194, - -1000, -1000, -1000, 58061, 2913, 1910, 49793, 1478, -1000, 1000, - 1801, 1797, -1000, 45659, 298, 45659, -1000, 45659, -1000, -1000, - 4022, -1000, 58061, 3798, -1000, -1000, -1000, 2838, 2184, -392, - 58061, -1000, -1000, -1000, -1000, -1000, 1879, -1000, 1068, 1068, - 3875, 2803, -1000, 16653, -1000, 16653, -1000, -1000, -1000, -1000, - 3831, -1000, 2128, -1000, 13885, 2376, 5312, 13885, 5312, 1928, - 29812, 37391, -151, 3841, 3819, 58061, -1000, -1000, 13885, 13885, - -1000, 3769, -1000, -1000, -1000, -1000, 13885, 13885, 2381, -1000, - 58061, -1000, -1000, -1000, -1000, 29812, -1000, 16653, -1000, -1000, - -1000, -1000, 13885, 13885, 13885, 1543, 1543, 3759, 1872, 121, - 121, 121, 3638, 3559, 3546, 1864, 121, 3525, 3521, 3487, - 3469, 3454, 3433, 3361, 3350, 3345, 3312, 1861, -1000, 3404, - -1000, -1000, -1000, 121, -1000, 121, 13885, 121, 13885, 121, - 121, 13885, 2382, 15269, 11111, -1000, 3796, 315, 1592, 2560, - 2909, 119, -1000, 2176, -1000, 433, -1000, 58061, 4057, -1000, - 1792, 2908, 49104, -1000, 58061, -1000, -1000, 4056, 4055, -1000, - -1000, 58061, 58061, 58061, -1000, -1000, -1000, 1182, -1000, 2891, - -1000, 309, 302, 2447, 2247, 2888, 287, 1420, 20133, 3393, - 3403, 3393, 89, 2075, 547, 717, 45659, 889, -1000, 48415, - 2384, 2171, 3652, 868, 3778, 58061, 47726, 3402, 1163, 3401, - 3400, 3855, 583, 6013, -1000, 3791, 1407, 1837, 3736, 1591, - -1000, 4568, -1000, 58061, 58061, 1589, -1000, 1790, -1000, 2559, - -1000, -1000, -1000, -1000, 58061, -1000, 427, -1000, 2059, -1000, - -1000, 4043, -1000, -1000, 13885, 13885, 4043, 2059, 2059, -1000, - 2204, -1000, 58061, -1000, -394, 583, 6013, 3852, 6018, 813, - 2743, -1000, 58061, -1000, -1000, -1000, 953, -1000, 1167, 973, - 58061, 2305, 1167, 2297, 3399, -1000, -1000, 58061, 58061, 58061, - 58061, -1000, -1000, 58061, -1000, 58061, 58061, 58061, 58061, 58061, - 47037, -1000, 58061, 58061, -1000, 58061, 2296, 58061, 2294, 3900, - -1000, 2075, 2075, 1104, -1000, -1000, 632, -1000, 47037, 2553, - 2551, 2541, 2533, 2887, 2885, 2876, 2075, 2075, 2532, 2875, - 46348, 2873, 1469, 2529, 2526, 2524, 2464, 2872, 1137, -1000, - 2871, 2461, 2460, 2459, 58061, 3397, 2774, -1000, -1000, 2447, - 2868, 3396, 2523, 2866, 1053, 427, 2850, 3650, 89, 2075, - 385, 58061, 2165, 2164, 717, 634, 634, 662, -73, 27056, - -1000, -1000, -1000, 58061, 40836, 40836, 40836, 40836, 40836, 40836, - -1000, 3714, 3676, 3395, -1000, 3690, 3675, 3674, 504, 3697, - 3531, 58061, 40836, 3393, -1000, 46348, -1000, -1000, -1000, 1762, - 1793, 1073, 1180, 13885, 8333, -1000, -1000, -28, -40, -1000, - -1000, -1000, -1000, 45659, 2849, 596, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 3796, 58061, 58061, 956, 3133, 1559, -1000, - -1000, -1000, 6013, 3383, 3383, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 3383, 3383, 3388, -1000, -1000, 3371, - 3371, 3371, 3370, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 3385, 3385, 3387, 3387, 3385, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 58061, -1000, - 4041, -1000, 1558, -1000, -1000, 1778, -1000, 2256, -377, 17355, - 2226, 2225, -1000, 13885, 17355, 13885, -288, 352, -296, -1000, - -1000, -1000, 2848, -1000, -1000, -1000, 2518, -1000, 2517, -1000, - 137, 173, 3796, 201, -1000, 4090, 13885, 3764, -1000, -1000, - -249, 11111, 3168, 58061, -249, 58061, 11111, -1000, 58061, 179, - -404, -406, 164, 2845, -1000, 58061, 2516, -1000, -1000, -1000, - 4053, 45659, 427, 1999, 44970, -1000, 314, -1000, 1578, 631, - 2842, -1000, 1032, 118, 2840, 2838, -1000, -1000, -1000, -1000, - 16653, 2027, -1000, -1000, -1000, 2858, 13885, 3130, 2561, 3127, - 3126, -1000, 3383, 3383, -1000, 3370, 3371, 3370, 1901, 1901, - 3125, -1000, 3369, -1000, 3841, -1000, 2543, 3308, -1000, 3302, - 3298, 13885, -1000, 3123, 4725, 2026, 1963, 3228, -88, -208, - 121, 121, -1000, -1000, -1000, -1000, 121, 121, 121, 121, - -1000, 121, 121, 121, 121, 121, 121, 121, 121, 121, - 121, 121, 940, -1000, -1000, 1803, -1000, 1556, -1000, -1000, - 3193, -121, -320, -123, -323, -1000, -1000, 3112, 1552, -1000, - -1000, -1000, -1000, -1000, 4929, 1509, 668, 668, 2838, 2837, - 58061, 2836, -344, 58061, -1000, -408, -410, 2834, 58061, 58061, - 33, 2242, 2327, -1000, 2833, -1000, -1000, 44281, 58061, 58061, - 58750, 783, 58061, 58061, 2831, -1000, -180, 3368, -144, 2830, - 3111, 1508, -1000, -1000, 58061, -1000, -1000, -1000, 3104, 3851, - 20822, 3845, 2617, -1000, -1000, -1000, 32568, 58061, 634, -1000, - -1000, -1000, 773, 285, 2499, 600, -1000, 58061, 564, 428, - 3755, 2151, 2829, 58061, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 3778, -1000, 1060, -394, 58061, 544, 39458, 18055, - -1000, 3048, 58061, -1000, 58061, 43592, 20822, 20822, 3048, 540, - 2201, -1000, 2293, 3060, -249, 3088, -1000, 935, 1370, 132, - 40836, 58061, -1000, 41525, -1000, -1000, 1415, 4043, -1000, 2858, - 2858, -394, 4043, 4043, 2059, -1000, -1000, 540, -1000, 3048, - -1000, 1316, 22200, 719, 462, 441, -1000, 737, -1000, -1000, - 933, 3775, 6013, -1000, 58061, -1000, 58061, -1000, 58061, 58061, - 973, 13885, 3775, 58061, 999, -1000, 1313, 484, 474, 964, - 964, 1489, -1000, 3841, -1000, -1000, 1487, -1000, -1000, -1000, - -1000, 58061, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 29812, - 29812, 3892, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 2827, 2826, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 58119, 2000, -1000, + 2215, 1994, -1000, -1000, 2959, -136, 7480, -1000, -1000, 1042, + -1000, 3683, 1110, 2701, 32515, 2212, 2171, 2954, 2953, 661, + -1000, 2951, 2949, -1000, 2578, 2210, 1107, 58119, -1000, 1412, + 58119, 58119, -1000, 1544, -1000, 2206, 3660, 3682, 3660, -1000, + 3660, -1000, -1000, -1000, -1000, 3713, 2946, -1000, 3712, -1000, + 3710, -1000, 3706, -1000, -1000, -1000, -1000, 1609, -1000, -1000, + -1000, -1000, -1000, 1243, -1000, 3940, 1226, 1226, 1226, 3234, + -1000, -1000, -1000, -1000, 1475, 3231, -1000, -1000, 3939, -1000, + -1000, -1000, -1000, -1000, -1000, 20026, 3794, 569, 4011, 4001, + 42895, -1000, -370, 2267, -1000, 2417, 206, 2308, 58119, -1000, + -1000, -1000, 3230, 3226, -244, 198, 3999, 3998, 3939, -259, + 2943, 307, -1000, -1000, 3792, -1000, 3225, 1469, -238, -1000, + -1000, 1406, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -421, + -1000, -1000, 506, -1000, 1578, -1000, -1000, -1000, -1000, -1000, + -1000, 232, -1000, 58119, -1000, 1466, 106, -1000, 2556, -1000, + 6041, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 2934, -1000, -1000, 13751, -1000, -1000, -1000, 2792, -1000, + -1000, 13751, 13751, -1000, 3224, 2931, 3217, 2930, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 58061, 1788, -1000, 2147, - 2825, -144, 7641, -1000, -1000, 998, -1000, 3562, 1030, 2617, - 32568, 2146, 2065, 2820, 2819, 634, -1000, 2806, 2800, -1000, - 2384, 2144, 1025, 58061, -1000, 1414, 58061, 58061, -1000, 1493, - -1000, 2141, 3620, 3524, 3620, -1000, 3620, -1000, -1000, -1000, - -1000, 3692, 2797, -1000, 3691, -1000, 3682, -1000, 3681, -1000, - -1000, -1000, -1000, 1584, -1000, -1000, -1000, -1000, -1000, 1180, - -1000, 3937, 1167, 1167, 1167, 3083, -1000, -1000, -1000, -1000, - 1478, 3078, -1000, -1000, 3880, -1000, -1000, -1000, -1000, -1000, - -1000, 20133, 3774, 542, 4039, 4033, 42903, -1000, -377, 2121, - -1000, 2298, 195, 2145, 58061, -1000, -1000, -1000, 3074, 3072, - -259, 185, 4031, 4030, 3880, -269, 2794, 312, -1000, -1000, - 3788, -1000, 3070, 1472, -249, -1000, -1000, 1407, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -412, -1000, -1000, 427, -1000, - 1483, -1000, -1000, -1000, -1000, -1000, -1000, 227, -1000, 58061, - -1000, 1435, 115, -1000, 2858, -1000, 5312, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 2791, -1000, -1000, - 13885, -1000, -1000, -1000, 3062, -1000, -1000, 13885, 13885, -1000, - 3069, 2789, 3064, 2786, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 4068, -1000, 3997, 131, 13751, + 131, 13751, 131, 1999, 3194, 3176, 1990, 3174, 3171, -1000, + 13751, 3170, 4730, 1238, 2920, 1238, -1000, -1000, -1000, -1000, + 58119, -1000, -1000, -1000, 31823, 1041, -391, 559, 3501, -1000, + 595, 2309, 1314, 3499, 2917, -1000, 58119, 4024, 58119, 2545, + 723, 2545, 781, 58119, -327, -138, 2596, 7480, -1000, 2915, + -1000, -151, 1510, 6251, 1149, 3229, 3166, 1436, -1000, -1000, + -1000, -1000, 3229, -1000, 2914, 227, -1000, -1000, -1000, 523, + -1000, 2594, -1000, -1000, 2522, 1915, 253, -1000, -1000, -1000, + -1000, -1000, -1000, 2603, 58119, 42203, 2603, 2660, 2204, -392, + -1000, 3498, -1000, 2080, 2080, 2080, 1041, 564, 58119, 1989, + -1000, 2080, 2080, 3164, -1000, -1000, 1041, 58119, 3163, 3160, + 4060, 991, 2166, 2139, -1000, 2593, 1276, -238, -1000, 1406, + -1000, 31131, 40819, 41511, 1596, -1000, 1823, -1000, -1000, -1000, + -1000, -1000, 4016, 991, -1000, 659, 2592, 16531, 3497, 16531, + 3489, 681, 3483, 1961, -1000, 58119, -1000, -1000, 58119, 4518, + 3482, -1000, 3479, 3666, 637, 3467, 3460, 58119, 2775, -1000, + 3785, 58119, 827, 3788, -1000, 471, -1000, -1000, -1000, -1000, + -1000, -1000, 789, -1000, 58119, -1000, 58119, -1000, 1958, -1000, + 29747, -1000, -1000, 1938, -1000, 2912, 2908, 1905, -1000, -1000, + 3157, 2556, -1000, 1686, 506, 1084, 58119, -1000, 227, 2902, + 8175, -1000, -1000, -1000, -1000, -1000, 3764, 2875, 2603, 58119, + -1000, 58119, 1412, 1412, 4068, 40819, 58119, 10965, -1000, -1000, + 13751, 3451, -1000, 13751, -1000, -1000, -1000, 3150, -1000, -1000, + -1000, -1000, -1000, -1000, 3449, 3779, -1000, -1000, -1000, -1000, + -1000, -1000, 4044, -1000, 2074, 58119, -1000, 13751, 14446, -1000, + 1019, 17236, -288, 385, -1000, -1000, -1000, -246, 2874, -1000, + -1000, 3993, 2872, 2730, -1000, 57, 2869, -1000, 13751, -1000, + -1000, -1000, 1406, -1000, 1423, -1000, -1000, 1365, 870, -1000, + 3149, 2156, -1000, 2761, -1000, 2713, 2700, 131, -1000, 131, + -1000, 284, 13751, -1000, 2692, -1000, 2654, -1000, -1000, 2866, + -1000, -1000, -1000, 2865, -1000, -1000, 2631, -1000, 3148, -1000, + 2864, -1000, -1000, 2862, -1000, -1000, 455, 1041, -1000, 449, + 58119, 600, -1000, 40127, 7480, -393, 561, 58119, 4022, 2861, + 2545, 2859, 2545, 58119, 717, -1000, 3865, 2853, -1000, 3146, + -1000, 2852, 2850, -1000, -1000, 6251, 4059, 4060, 20718, 4059, + -1000, -1000, 3977, -1000, 1894, 439, -1000, -1000, 2493, 694, + -1000, -1000, 2848, 680, -1000, 1412, -1000, -1000, 2200, 2501, + 2765, 37359, 29747, 30439, 2847, -1000, 58119, -1000, -1000, 39435, + 2074, 2074, 5576, -1000, 557, 342, 64402, -1000, 3440, 1350, + 2097, -1000, 2584, -1000, 2583, -1000, 58119, -1000, 1406, 4016, + 1596, 127, -1000, -1000, 1982, -1000, 1350, 2781, 3992, -1000, + 4571, 58119, 4502, 58119, 3432, 2187, 16531, -1000, 976, 3744, + -1000, -1000, 4518, -1000, -1000, 2397, 16531, -1000, -1000, 2830, + 30439, 1094, 2172, 2170, 1176, 3431, -1000, 794, 4043, 2574, + -1000, -1000, -1000, 1214, 3430, -1000, -265, 3426, 2375, 2374, + -1000, 58119, -1000, 37359, 37359, 869, 869, 37359, 37359, 3419, + 931, -1000, -1000, 16531, -1000, -1000, -1000, 2164, 1762, -1000, + -1000, -1000, 2080, 1937, -1000, -1000, -1000, -1000, -1000, -1000, + 58119, 1796, -1000, -1000, -1000, 2660, -1000, -1000, 1405, -1000, + 3966, 1596, -1000, -1000, 2556, 58119, 2556, -1000, 38743, -1000, + 3990, 3989, -1000, -1000, -1000, 2556, 1545, 276, 3417, 3411, + -1000, -370, 58119, 58119, -248, 2572, -1000, 2826, 192, -1000, + -1000, 147, -1000, 1397, -255, 51, 29747, 2138, -1000, 3145, + 368, -156, -1000, -1000, -1000, -1000, -1000, 3144, -1000, 1290, + -1000, -1000, -1000, 1397, 131, 131, 3135, 3125, -1000, -1000, + -1000, -1000, 58119, -1000, 58119, 2825, 2566, -1000, -1000, 1881, + -1000, -1000, -1000, 2354, 2346, 1875, 3123, 2752, 58119, 556, + 58119, -327, 2819, -327, 2811, 707, 2545, -301, -1000, -1000, + -1000, -1000, -152, -1000, -1000, 434, -1000, -1000, -1000, 767, + 2710, 2563, -1000, -1000, 431, -1000, -1000, -1000, 2603, 2810, + -1000, -1000, 105, -1000, 2128, 1869, -1000, -1000, -1000, 523, + -1000, -1000, -1000, 953, -1000, 3229, 64296, -1000, 1461, 58119, + -1000, 1365, 953, 35975, 808, 2163, -1000, 2562, -1000, -1000, + 1383, 4068, -1000, 766, -1000, 657, -1000, 1859, -1000, 1858, + 38051, 2558, 4070, -1000, 64212, 1115, -1000, -1000, 4753, -1000, + -1000, -1000, -1000, -1000, -1000, 2807, 2801, -1000, -1000, -1000, + -1000, -1000, 2546, 3409, -30, -1000, 3913, 2789, 3829, 13751, + -1000, -1000, 3407, 1839, 1797, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 1776, 1697, 37359, -1000, -1000, + 4753, 1762, 2494, -1000, 2080, 2080, 2782, 2780, 502, -1000, + -1000, 2080, 2080, 2080, -1000, -1000, 2106, 2080, 2080, 29747, + 2080, 1786, 58119, -1000, -1000, -1000, 1665, 1659, -1000, -1000, + -1000, -1000, -1000, -347, 3406, 13751, 13751, -1000, -1000, -1000, + 3405, -1000, -1000, 3987, -244, -257, 2779, 133, 185, -1000, + 2773, -1000, -154, 3738, -160, -1000, -1000, 635, -240, 122, + 117, 104, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 58119, 2772, -1000, -1000, 103, -1000, + 2099, -1000, 58119, 553, -1000, -327, -1000, -327, 2545, 2767, + -1000, 58119, 733, -1000, -1000, -1000, -1000, 223, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 2765, 2760, -1000, -1000, 649, + 3986, -1000, 64402, -1000, 2080, 523, -1000, 649, 1658, -1000, + 2080, 2080, -1000, 583, -1000, 2089, -1000, 2539, -1000, 3966, + -1000, 582, -1000, 655, -1000, -1000, -1000, 1654, -1000, -1000, + -1000, 64212, 664, -1000, 946, 3399, -1000, -1000, 3122, 13751, + 3397, 2080, 3121, 3396, 2597, -140, 37359, 3664, 3662, 3661, + 3019, 1641, -1000, -1000, 2538, 2535, -1000, -1000, 58119, 2532, + 2529, 2527, 2460, 2515, 2513, -1000, 29747, 58119, -1000, -1000, + -1000, 36667, -1000, 3383, 1622, 1621, 58119, 2730, -246, -1000, + 2754, -1000, 1035, 179, 185, -1000, 3985, 180, 3982, 3981, + 1369, 3737, -1000, -1000, 2341, -1000, 128, 124, 107, -1000, + -1000, -1000, -1000, 2376, 2376, -327, 2752, 2740, -1000, 58119, + -1000, -1000, 2739, -327, 594, -1000, 300, -1000, -1000, -1000, + 1762, -1000, 3975, 673, -1000, 29747, -1000, -1000, -1000, 35975, + 2074, 2074, -1000, -1000, 2509, -1000, -1000, -1000, -1000, 2481, + -1000, -1000, -1000, 1613, -1000, 58119, 1171, 10270, -1000, 2575, + -1000, 58119, -1000, 13751, -272, 3681, -1000, 289, 1599, 1762, + 869, 1762, 869, 1762, 869, 1762, 869, 298, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 4096, -1000, 4026, 121, 13885, 121, 13885, 121, 1769, - 3053, 3052, 1751, 3044, 3043, -1000, 13885, 3042, 4929, 1147, - 2784, 1147, -1000, -1000, -1000, -1000, 58061, -1000, -1000, -1000, - 31879, 992, -394, 591, 3359, -1000, 604, 2242, 1219, 3356, - 2779, -1000, 58061, 4050, 58061, 2447, 769, 2447, 840, 58061, - -348, -146, 2498, 7641, -1000, 2778, -1000, -154, 1420, 6013, - 1035, 3048, 3039, 1417, -1000, -1000, -1000, -1000, 3048, -1000, - 2777, 240, -1000, -1000, -1000, 509, -1000, 2496, -1000, -1000, - 2403, 1804, 256, -1000, -1000, -1000, -1000, -1000, -1000, 2463, - 58061, 42214, 2463, 2615, 2127, -396, -1000, 3355, -1000, 2075, - 2075, 2075, 992, 537, 58061, 1731, -1000, 2075, 2075, 3036, - -1000, -1000, 992, 58061, 3033, 3032, 4078, 937, 2125, 2118, - -1000, 2490, 1224, -249, -1000, 1407, -1000, 31190, 40836, 41525, - 1549, -1000, 1766, -1000, -1000, -1000, -1000, -1000, 4043, 937, - -1000, 702, 2487, 16653, 3354, 16653, 3352, 723, 3348, 1726, - -1000, 58061, -1000, -1000, 58061, 4590, 3344, -1000, 3335, 3617, - 653, 3325, 3318, 58061, 3038, -1000, 3775, 58061, 817, 3773, - -1000, 429, -1000, -1000, -1000, -1000, -1000, -1000, 782, -1000, - 58061, -1000, 58061, -1000, 1906, -1000, 29812, -1000, -1000, 1723, - -1000, 2774, 2765, -1000, -1000, 3026, 2858, -1000, 2163, 427, - 1024, 58061, -1000, 240, 2764, 8333, -1000, -1000, -1000, -1000, - -1000, 3755, 2757, 2463, 58061, -1000, 58061, 1414, 1414, 4096, - 40836, 58061, 11111, -1000, -1000, 13885, 3316, -1000, 13885, -1000, - -1000, -1000, 3025, -1000, -1000, -1000, -1000, -1000, -1000, 3315, - 3748, -1000, -1000, -1000, -1000, -1000, -1000, 4066, -1000, 1838, - 58061, -1000, 13885, 14577, -1000, 970, 17355, -297, 347, -1000, - -1000, -1000, -261, 2756, -1000, -1000, 4025, 2755, 2629, -1000, - 36, 2753, -1000, 13885, -1000, -1000, -1000, 1407, -1000, 1415, - -1000, -1000, 1274, 859, -1000, 3024, 2189, -1000, 2992, -1000, - 2977, 2938, 121, -1000, 121, -1000, 232, 13885, -1000, 2926, - -1000, 2748, -1000, -1000, 2752, -1000, -1000, -1000, 2745, -1000, - -1000, 2737, -1000, 3018, -1000, 2742, -1000, -1000, 2740, -1000, - -1000, 415, 992, -1000, 435, 58061, 637, -1000, 40147, 7641, - -398, 533, 58061, 4049, 2738, 2447, 2733, 2447, 58061, 758, - -1000, 3842, 2731, -1000, 3017, -1000, 2730, 2729, -1000, -1000, - 6013, 4075, 4078, 20822, 4075, -1000, -1000, 4021, -1000, 1794, - 405, -1000, -1000, 2386, 675, -1000, -1000, 2726, 648, -1000, - 1414, -1000, -1000, 2126, 2333, 2657, 37391, 29812, 30501, 2704, - -1000, 58061, -1000, -1000, 39458, 1838, 1838, 6347, -1000, 531, - 333, 64119, -1000, 3311, 1261, 2103, -1000, 2485, -1000, 2479, - -1000, 58061, -1000, 1407, 4043, 1549, 130, -1000, -1000, 1960, - -1000, 1261, 2743, 4024, -1000, 4652, 58061, 3116, 58061, 3310, - 2120, 16653, -1000, 933, 3735, -1000, -1000, 4590, -1000, -1000, - 2313, 16653, -1000, -1000, 2695, 30501, 1160, 2116, 2110, 1158, - 3307, -1000, 802, 4065, 2476, -1000, -1000, -1000, 1096, 3275, - -1000, -274, 3269, 2292, 2283, -1000, 58061, -1000, 37391, 37391, - 599, 599, 37391, 37391, 3267, 964, -1000, -1000, 16653, -1000, - -1000, -1000, 2109, 2224, -1000, -1000, -1000, 2075, 1903, -1000, - -1000, -1000, -1000, -1000, 58061, 1750, -1000, -1000, -1000, 2615, - -1000, -1000, 1364, -1000, 3978, 1549, -1000, -1000, 2858, 58061, - 2858, -1000, 38769, -1000, 4023, 4020, -1000, -1000, -1000, 2858, - 1475, 263, 3266, 3264, -1000, -377, 58061, 58061, -263, 2455, - -1000, 2694, 184, -1000, -1000, 137, -1000, 1351, -265, 25, - 29812, 2107, -1000, 3016, 360, -159, -1000, -1000, -1000, -1000, - -1000, 3014, -1000, 781, -1000, -1000, -1000, 1351, 121, 121, - 3009, 3008, -1000, -1000, -1000, -1000, 58061, -1000, 58061, 2692, - 2454, -1000, -1000, 1720, -1000, -1000, -1000, 2275, 2268, 1716, - 2995, 2647, 58061, 527, 58061, -348, 2691, -348, 2690, 752, - 2447, -310, -1000, -1000, -1000, -1000, -156, -1000, -1000, 408, - -1000, -1000, -1000, 619, 2622, 2452, -1000, -1000, 401, -1000, - -1000, -1000, 2463, 2688, -1000, -1000, 112, -1000, 2100, 1710, - -1000, -1000, -1000, 509, -1000, -1000, -1000, 932, -1000, 3048, - 6396, -1000, 1498, 58061, -1000, 1274, 932, 36013, 764, 2195, - -1000, 2451, -1000, -1000, 1320, 4096, -1000, 732, -1000, 718, - -1000, 1706, -1000, 1694, 38080, 2450, 2844, -1000, 6103, 1081, - -1000, -1000, 3875, -1000, -1000, -1000, -1000, -1000, -1000, 2680, - 2675, -1000, -1000, -1000, -1000, -1000, 2448, 3263, -60, -1000, - 3890, 2673, 3834, 13885, -1000, -1000, 3262, 1692, 1675, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1633, - 1630, 37391, -1000, -1000, 3875, 2224, 2323, -1000, 2075, 2075, - 2671, 2666, 492, -1000, -1000, 2075, 2075, 2075, -1000, -1000, - 2097, 2075, 2075, 29812, 2075, 1743, 58061, -1000, -1000, -1000, - 1626, 1622, -1000, -1000, -1000, -1000, -1000, -354, 3260, 13885, - 13885, -1000, -1000, -1000, 3239, -1000, -1000, 4018, -259, -267, - 2664, 131, 323, -1000, 2663, -1000, -157, 3730, -163, -1000, - -1000, 740, -252, 114, 113, 95, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 58061, 2660, - -1000, -1000, 111, -1000, 2084, -1000, 58061, 520, -1000, -348, - -1000, -348, 2447, 2659, -1000, 58061, 794, -1000, -1000, -1000, - -1000, 222, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 2657, - 2656, -1000, -1000, 688, 4017, -1000, 64119, -1000, 2075, 509, - -1000, 688, 1620, -1000, 2075, 2075, -1000, 576, -1000, 2086, - -1000, 2443, -1000, 3978, -1000, 556, -1000, 700, -1000, -1000, - -1000, 1617, -1000, -1000, -1000, 6103, 709, -1000, 924, 3238, - -1000, -1000, 2993, 13885, 3237, 2075, 2983, 3234, 2620, -148, - 37391, 3615, 3548, 3347, 3314, 1598, -1000, -1000, 2431, 2423, - -1000, -1000, 58061, 2420, 2413, 2406, 2314, 2359, 2358, -1000, - 29812, 58061, -1000, -1000, -1000, 36702, -1000, 3232, 1580, 1525, - 58061, 2629, -261, -1000, 2655, -1000, 986, 134, 323, -1000, - 4014, 174, 4010, 3985, 1304, 3725, -1000, -1000, 2264, -1000, - 110, 102, 98, -1000, -1000, -1000, -1000, 2317, 2317, -348, - 2647, 2646, -1000, 58061, -1000, -1000, 2641, -348, 581, -1000, - 307, -1000, -1000, -1000, 2224, -1000, 3983, 813, -1000, 29812, - -1000, -1000, -1000, 36013, 1838, 1838, -1000, -1000, 2355, -1000, - -1000, -1000, -1000, 2354, -1000, -1000, -1000, 1518, -1000, 58061, - 1125, 10419, -1000, 2582, -1000, 58061, -1000, 13885, -277, 3436, - -1000, 228, 1486, 2224, 599, 2224, 599, 2224, 599, 2224, - 599, 292, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 1479, 13885, -1000, -1000, - 1461, -1000, -1000, -263, -1000, 3226, 2322, 185, 167, 3982, - -1000, 2629, 3981, 2629, 2629, -1000, 124, 4070, 740, -1000, - -1000, -1000, -1000, 2242, -1000, 2242, -1000, -1000, -1000, -1000, - -348, -1000, 2639, -1000, -1000, -1000, 35324, 719, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 709, 64119, -1000, 10419, 1447, - -1000, 2858, -1000, 964, -1000, 2349, -1000, -1000, -1000, -1000, - 3353, 3305, 4047, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 3061, 2808, -1000, 58061, -1000, 3878, 29123, - 158, -1000, -1000, -1000, 2637, -1000, 2629, -1000, -1000, 2069, - -160, -1000, -1000, -1000, -1000, -317, -1000, 58061, 702, -1000, - 64119, 1438, -1000, 10419, -1000, -277, -1000, 4064, -1000, 4048, - 1134, 1134, 2224, 2224, 2224, 2224, 13885, -1000, -1000, -1000, - 58061, -1000, 1391, -1000, -1000, -1000, 1738, -1000, -1000, -1000, - -1000, 2628, -164, -1000, -1000, 2625, 1375, 2743, -1000, -1000, - -1000, -1000, -1000, -1000, 2402, 816, -1000, 2749, 1298, -1000, - 2068, -1000, 34635, 58061, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 58061, 9727, -1000, 1737, -1000, -1000, 2858, - 58061, -1000, + -1000, -1000, 1581, 13751, -1000, -1000, 1559, -1000, -1000, -248, + -1000, 3110, 2434, 198, 168, 3974, -1000, 2730, 3973, 2730, + 2730, -1000, 134, 4058, 635, -1000, -1000, -1000, -1000, 2309, + -1000, 2309, -1000, -1000, -1000, -1000, -327, -1000, 2734, -1000, + -1000, -1000, 35283, 668, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 664, 64402, -1000, 10270, 1538, -1000, 2556, -1000, 931, + -1000, 2404, -1000, -1000, -1000, -1000, 3680, 3450, 4020, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 3075, + 2838, -1000, 58119, -1000, 3891, 29055, 159, -1000, -1000, -1000, + 2733, -1000, 2730, -1000, -1000, 2037, -157, -1000, -1000, -1000, + -1000, -306, -1000, 58119, 659, -1000, 64402, 1507, -1000, 10270, + -1000, -272, -1000, 4042, -1000, 4021, 1133, 1133, 1762, 1762, + 1762, 1762, 13751, -1000, -1000, -1000, 58119, -1000, 1488, -1000, + -1000, -1000, 1781, -1000, -1000, -1000, -1000, 2728, -161, -1000, + -1000, 2720, 1478, 2781, -1000, -1000, -1000, -1000, -1000, -1000, + 2519, 815, -1000, 2797, 1364, -1000, 2015, -1000, 34591, 58119, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 58119, + 9575, -1000, 1491, -1000, -1000, 2556, 58119, -1000, } var yyPgo = [...]int{ - 0, 188, 58, 259, 197, 4742, 100, 262, 372, 3797, - 320, 260, 257, 4740, 4739, 4738, 3791, 3790, 4737, 4735, - 4731, 4730, 4725, 4719, 4718, 4716, 4715, 4714, 4713, 4712, - 4711, 4709, 4708, 4707, 4706, 4703, 4702, 4701, 4700, 4697, - 4696, 4695, 4694, 4693, 4692, 4691, 4690, 4689, 4687, 4686, - 4685, 4684, 4683, 255, 4682, 4681, 4680, 4679, 4677, 4676, - 4674, 4673, 4672, 4671, 4670, 4669, 4668, 4667, 4666, 4665, - 4664, 4662, 4661, 4660, 4659, 4655, 4654, 4653, 4652, 4651, - 4650, 4649, 4645, 4643, 4642, 4641, 4640, 4637, 4636, 4635, - 4633, 4630, 284, 4629, 3786, 4627, 4626, 4625, 4624, 4622, - 4621, 4620, 4614, 4612, 4610, 4605, 4603, 354, 4601, 4600, - 4599, 4597, 4596, 4595, 4594, 4592, 4591, 4590, 4589, 4587, - 4581, 347, 4580, 4579, 4578, 4577, 228, 4576, 336, 4575, - 186, 148, 4573, 4569, 4564, 4563, 4562, 4559, 115, 131, - 4555, 4552, 4551, 4550, 4549, 4548, 4547, 4546, 4545, 4544, - 4543, 4541, 4540, 4538, 250, 163, 83, 4537, 54, 4536, - 258, 219, 4535, 230, 4534, 170, 4533, 165, 4532, 4531, - 4530, 4529, 4528, 4527, 4526, 4524, 4522, 4521, 4520, 4518, - 4517, 4516, 4511, 4509, 4508, 4507, 4506, 4505, 4503, 4501, - 4497, 4492, 4491, 4490, 4489, 4487, 4486, 4485, 60, 4484, - 272, 4482, 85, 4481, 192, 4475, 86, 4474, 4473, 95, - 24, 35, 4472, 56, 93, 256, 3278, 266, 4471, 205, - 4470, 4468, 264, 193, 4464, 4463, 268, 4461, 177, 235, - 172, 97, 138, 4459, 158, 4457, 269, 53, 49, 249, - 206, 164, 4456, 4455, 66, 182, 139, 4454, 217, 117, - 4453, 4451, 4445, 128, 4444, 4443, 124, 4441, 239, 196, - 4440, 120, 4439, 4438, 4434, 21, 4432, 4431, 215, 218, - 4430, 4429, 113, 4426, 4423, 99, 146, 4422, 88, 136, - 189, 135, 4421, 3092, 147, 101, 4419, 143, 119, 4418, - 94, 4417, 4416, 4414, 4412, 199, 4408, 4404, 161, 4403, - 73, 4402, 4401, 4400, 69, 4384, 90, 4378, 33, 4377, - 71, 4375, 4372, 4371, 4370, 4369, 4368, 4367, 4364, 4362, - 4361, 4359, 4357, 39, 4355, 4352, 4351, 4350, 7, 16, - 18, 4348, 31, 4347, 191, 4346, 4345, 180, 4339, 209, - 4336, 4335, 110, 104, 4334, 103, 4333, 179, 4331, 11, - 32, 84, 4330, 4329, 4328, 294, 4325, 4319, 4318, 279, - 4317, 4316, 4315, 173, 4313, 4312, 4311, 538, 4310, 4309, - 4308, 4307, 4304, 4303, 133, 4302, 2, 225, 29, 4301, - 144, 155, 4300, 43, 37, 4299, 55, 142, 211, 149, - 116, 4298, 4297, 4295, 611, 212, 112, 75, 0, 118, - 233, 171, 4294, 4293, 4285, 276, 4284, 243, 236, 241, - 290, 270, 307, 4280, 4279, 67, 4278, 178, 34, 63, - 154, 377, 27, 220, 4277, 1721, 10, 200, 4276, 227, - 4275, 8, 17, 76, 159, 4274, 4272, 41, 274, 4271, - 4270, 4269, 145, 4268, 4266, 311, 87, 4265, 4263, 4262, - 4260, 4259, 45, 4258, 194, 25, 4255, 121, 4254, 261, - 122, 195, 160, 203, 190, 174, 234, 237, 91, 80, - 4251, 2045, 169, 123, 15, 4250, 9, 231, 4249, 204, - 151, 4248, 114, 4247, 253, 275, 222, 4246, 201, 12, - 57, 42, 36, 51, 14, 410, 92, 4245, 4244, 23, - 61, 4243, 70, 4242, 22, 4240, 4239, 48, 47, 4238, - 65, 1, 4236, 4235, 20, 19, 4234, 46, 226, 181, - 137, 107, 74, 4233, 4232, 150, 176, 4230, 162, 166, - 168, 4229, 44, 4227, 4224, 4222, 4221, 309, 265, 4215, - 4214, 4212, 4208, 4207, 4206, 4205, 4204, 214, 4203, 111, - 52, 4202, 4198, 4197, 4195, 96, 157, 4194, 4192, 4191, - 4190, 38, 89, 4183, 13, 4182, 28, 26, 40, 4181, - 62, 4180, 4178, 4177, 3, 202, 4176, 4175, 5, 4174, - 4173, 4, 4172, 4171, 141, 4170, 106, 30, 185, 126, - 4167, 4166, 102, 213, 156, 4165, 4164, 125, 252, 4163, - 223, 4162, 105, 238, 271, 4159, 224, 4158, 4156, 4155, - 4154, 4153, 1355, 4152, 4151, 248, 81, 98, 4150, 232, - 127, 4148, 4145, 108, 175, 129, 153, 64, 109, 4144, - 130, 221, 4143, 210, 4142, 273, 4141, 4140, 132, 4139, - 4138, 4137, 4136, 207, 4133, 4132, 208, 246, 4128, 4126, - 277, 4125, 4120, 4119, 4118, 4117, 4116, 4114, 4112, 4111, - 4108, 263, 247, 4103, + 0, 189, 58, 259, 193, 4729, 106, 257, 305, 3830, + 299, 255, 254, 4728, 4713, 4712, 3823, 3809, 4711, 4710, + 4709, 4708, 4707, 4706, 4705, 4703, 4700, 4699, 4698, 4697, + 4696, 4695, 4694, 4693, 4692, 4689, 4688, 4687, 4686, 4685, + 4684, 4683, 4682, 4680, 4679, 4677, 4676, 4674, 4673, 4671, + 4670, 4669, 4666, 253, 4663, 4662, 4661, 4644, 4642, 4640, + 4639, 4637, 4636, 4635, 4634, 4631, 4630, 4629, 4628, 4626, + 4625, 4624, 4623, 4621, 4620, 4619, 4618, 4615, 4614, 4613, + 4612, 4611, 4610, 4609, 4608, 4607, 4606, 4605, 4604, 4602, + 4601, 4600, 284, 4599, 3801, 4598, 4595, 4592, 4589, 4588, + 4583, 4580, 4579, 4578, 4577, 4576, 4574, 337, 4571, 4568, + 4567, 4565, 4564, 4563, 4561, 4560, 4558, 4557, 4555, 4554, + 4553, 332, 4552, 4550, 4549, 4548, 231, 4547, 317, 4546, + 187, 150, 4544, 4543, 4542, 4541, 4540, 4539, 112, 130, + 4537, 4536, 4534, 4533, 4529, 4524, 4523, 4522, 4520, 4519, + 4517, 4516, 4515, 4508, 243, 176, 84, 4507, 57, 4506, + 246, 217, 4500, 230, 4498, 161, 4497, 157, 4495, 4491, + 4490, 4489, 4488, 4487, 4485, 4481, 4480, 4479, 4478, 4477, + 4476, 4475, 4473, 4472, 4470, 4469, 4467, 4465, 4463, 4462, + 4460, 4459, 4457, 4456, 4455, 4451, 4450, 4449, 56, 4447, + 268, 4444, 85, 4442, 185, 4441, 87, 4440, 4439, 86, + 24, 35, 4438, 64, 96, 272, 2862, 260, 4437, 201, + 4436, 4435, 252, 182, 4434, 4433, 265, 4432, 324, 236, + 168, 92, 143, 4430, 160, 4428, 270, 53, 65, 269, + 203, 151, 4424, 4421, 69, 173, 148, 4400, 218, 114, + 4399, 4398, 4394, 127, 4393, 4392, 120, 4391, 241, 195, + 4390, 121, 4388, 4387, 4383, 21, 4381, 4380, 213, 206, + 4379, 4378, 111, 4377, 4375, 73, 149, 4374, 89, 134, + 178, 133, 4371, 3067, 138, 103, 4368, 139, 117, 4367, + 88, 4366, 4364, 4363, 4362, 197, 4361, 4355, 166, 4354, + 71, 4351, 4350, 4349, 80, 4348, 91, 4345, 45, 4344, + 67, 4343, 4341, 4339, 4338, 4337, 4336, 4335, 4334, 4333, + 4331, 4330, 4329, 38, 4328, 4326, 4325, 4321, 7, 14, + 17, 4318, 33, 4317, 181, 4316, 4310, 177, 4300, 207, + 4296, 4295, 102, 105, 4294, 107, 4293, 172, 4292, 8, + 29, 83, 4291, 4290, 4288, 261, 4287, 4285, 4283, 275, + 4282, 4281, 4280, 171, 4279, 4276, 4275, 529, 4274, 4273, + 4272, 4271, 4269, 4268, 190, 4266, 1, 225, 28, 4265, + 144, 153, 4264, 41, 36, 4263, 52, 192, 212, 147, + 116, 4262, 4259, 4258, 787, 210, 110, 49, 0, 113, + 226, 169, 4257, 4256, 4255, 267, 4254, 238, 220, 237, + 283, 296, 208, 4252, 4251, 70, 4250, 174, 34, 61, + 154, 392, 23, 278, 4248, 1444, 10, 198, 4247, 223, + 4246, 12, 18, 76, 159, 4245, 4244, 43, 271, 4243, + 4242, 4240, 145, 4238, 4237, 186, 99, 4236, 4235, 4234, + 4231, 4230, 47, 4228, 196, 25, 4211, 118, 4208, 247, + 104, 227, 141, 202, 191, 170, 228, 234, 95, 100, + 4206, 2142, 162, 123, 16, 4205, 9, 232, 4204, 303, + 131, 4202, 122, 4200, 250, 273, 219, 4199, 199, 13, + 55, 40, 31, 54, 11, 322, 93, 4198, 4197, 26, + 60, 4196, 63, 4194, 20, 4193, 4192, 51, 48, 4191, + 81, 5, 4190, 4187, 19, 22, 4186, 46, 222, 180, + 135, 109, 75, 4184, 4182, 146, 158, 4181, 165, 179, + 163, 4180, 42, 4178, 4177, 4176, 4175, 782, 256, 4174, + 4173, 4172, 4171, 4170, 4169, 4168, 4167, 211, 4166, 119, + 44, 4164, 4163, 4162, 4160, 115, 156, 4158, 4157, 4156, + 4155, 37, 90, 4154, 15, 4153, 30, 27, 39, 4152, + 62, 4151, 4150, 4149, 3, 200, 4146, 4145, 4, 4142, + 4141, 2, 4138, 4137, 136, 4136, 108, 32, 175, 124, + 4135, 4134, 98, 214, 155, 4133, 4132, 126, 249, 4131, + 215, 4130, 263, 239, 266, 4128, 224, 4127, 4126, 4125, + 4124, 4123, 1418, 4122, 4121, 248, 74, 94, 4119, 233, + 132, 4117, 4116, 101, 164, 129, 137, 66, 97, 4114, + 128, 221, 4113, 209, 4111, 262, 4107, 4106, 125, 4105, + 4103, 4102, 4100, 204, 4099, 4098, 205, 235, 4097, 4096, + 274, 4095, 4094, 4093, 4090, 4089, 4087, 4086, 4082, 4081, + 4080, 258, 281, 4070, } -//line mysql_sql.y:14196 +//line mysql_sql.y:14219 type yySymType struct { union interface{} id int @@ -10072,160 +10108,161 @@ var yyR1 = [...]int{ 97, 97, 97, 97, 341, 341, 341, 347, 347, 348, 348, 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, - 334, 334, 334, 318, 318, 318, 313, 313, 313, 313, - 314, 314, 315, 315, 316, 316, 316, 316, 317, 317, - 395, 395, 342, 342, 342, 344, 344, 343, 337, 335, - 335, 335, 335, 335, 335, 335, 336, 336, 336, 336, - 336, 336, 345, 345, 346, 346, 89, 95, 95, 95, - 95, 622, 622, 90, 90, 90, 633, 633, 537, 537, - 417, 417, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 542, 543, - 413, 53, 53, 53, 53, 53, 53, 53, 53, 53, + 334, 334, 334, 334, 318, 318, 318, 313, 313, 313, + 313, 314, 314, 315, 315, 316, 316, 316, 316, 317, + 317, 395, 395, 342, 342, 342, 344, 344, 343, 337, + 335, 335, 335, 335, 335, 335, 335, 336, 336, 336, + 336, 336, 336, 345, 345, 346, 346, 89, 95, 95, + 95, 95, 622, 622, 90, 90, 90, 633, 633, 537, + 537, 417, 417, 416, 416, 416, 416, 416, 416, 416, + 416, 416, 416, 416, 416, 416, 416, 416, 416, 542, + 543, 413, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 51, 52, 141, 141, 143, 143, - 86, 87, 88, 66, 60, 63, 64, 193, 196, 196, - 196, 196, 59, 59, 59, 458, 458, 58, 661, 661, - 388, 388, 74, 73, 62, 75, 76, 77, 78, 79, - 80, 57, 72, 72, 72, 72, 72, 72, 72, 72, - 83, 554, 554, 663, 663, 663, 81, 82, 536, 536, - 536, 71, 70, 69, 68, 67, 67, 56, 56, 55, - 55, 61, 178, 180, 65, 179, 179, 181, 181, 410, - 410, 410, 412, 412, 408, 662, 662, 502, 502, 411, - 411, 54, 54, 54, 54, 84, 409, 409, 387, 407, - 407, 407, 13, 13, 11, 18, 18, 18, 18, 18, + 53, 53, 53, 53, 53, 51, 52, 141, 141, 143, + 143, 86, 87, 88, 66, 60, 63, 64, 193, 196, + 196, 196, 196, 59, 59, 59, 458, 458, 58, 661, + 661, 388, 388, 74, 73, 62, 75, 76, 77, 78, + 79, 80, 57, 72, 72, 72, 72, 72, 72, 72, + 72, 83, 554, 554, 663, 663, 663, 81, 82, 536, + 536, 536, 71, 70, 69, 68, 67, 67, 56, 56, + 55, 55, 61, 178, 180, 65, 179, 179, 181, 181, + 410, 410, 410, 412, 412, 408, 662, 662, 502, 502, + 411, 411, 54, 54, 54, 54, 84, 409, 409, 387, + 407, 407, 407, 13, 13, 11, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 49, 27, 28, 30, 466, 466, - 463, 29, 21, 20, 20, 24, 23, 19, 19, 22, - 25, 26, 26, 10, 10, 10, 10, 16, 16, 17, - 223, 223, 284, 284, 616, 616, 612, 612, 613, 613, - 613, 614, 614, 615, 615, 128, 548, 548, 548, 548, - 548, 548, 8, 8, 9, 9, 249, 249, 547, 547, - 547, 547, 547, 547, 470, 470, 470, 593, 593, 593, - 594, 248, 248, 241, 241, 549, 549, 434, 595, 595, - 557, 557, 556, 556, 555, 555, 246, 246, 247, 247, - 226, 226, 155, 155, 571, 571, 572, 572, 562, 562, - 562, 562, 570, 570, 532, 532, 323, 323, 378, 378, - 379, 379, 213, 213, 214, 214, 214, 214, 214, 214, - 650, 650, 651, 652, 653, 653, 654, 654, 654, 655, - 655, 655, 655, 655, 602, 602, 604, 604, 603, 245, - 245, 238, 238, 239, 239, 239, 240, 240, 237, 237, - 236, 235, 235, 234, 232, 232, 232, 233, 233, 233, - 256, 256, 216, 216, 216, 215, 215, 215, 215, 215, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 217, 220, 220, 221, 221, 222, 222, 222, - 222, 222, 222, 222, 222, 222, 222, 356, 356, 357, - 357, 357, 357, 357, 153, 153, 541, 541, 355, 355, - 218, 218, 219, 219, 219, 219, 354, 354, 353, 231, - 231, 230, 229, 229, 229, 224, 224, 224, 224, 224, - 225, 365, 365, 364, 364, 363, 363, 363, 363, 363, - 363, 366, 131, 152, 152, 154, 255, 255, 243, 242, - 362, 361, 361, 361, 361, 254, 254, 253, 253, 244, - 244, 228, 228, 228, 228, 360, 227, 358, 640, 640, - 639, 639, 638, 636, 636, 636, 637, 637, 637, 637, - 585, 585, 585, 585, 585, 396, 396, 396, 401, 401, - 399, 399, 399, 399, 399, 405, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 48, - 136, 136, 139, 139, 137, 137, 138, 138, 142, 142, - 140, 140, 40, 267, 268, 41, 269, 269, 270, 270, - 271, 271, 272, 273, 274, 274, 274, 274, 450, 450, - 39, 258, 258, 259, 259, 260, 260, 261, 262, 262, - 262, 266, 263, 264, 264, 658, 658, 657, 38, 38, - 31, 31, 199, 199, 200, 200, 200, 202, 202, 319, - 319, 319, 201, 201, 203, 203, 203, 617, 619, 619, - 621, 620, 620, 620, 623, 623, 623, 623, 623, 624, - 624, 624, 624, 625, 625, 32, 175, 175, 175, 206, - 206, 185, 628, 628, 628, 627, 627, 508, 508, 629, - 629, 630, 630, 382, 382, 383, 383, 197, 198, 198, - 187, 177, 205, 205, 205, 205, 205, 207, 207, 286, - 286, 176, 182, 183, 184, 186, 188, 190, 190, 192, - 618, 626, 626, 626, 467, 467, 464, 465, 465, 462, - 461, 461, 461, 632, 632, 631, 631, 631, 397, 397, - 33, 457, 457, 459, 460, 460, 460, 460, 460, 460, - 460, 460, 451, 451, 451, 451, 37, 455, 455, 456, + 18, 18, 18, 18, 18, 49, 27, 28, 30, 466, + 466, 463, 29, 21, 20, 20, 24, 23, 19, 19, + 22, 25, 26, 26, 10, 10, 10, 10, 16, 16, + 17, 223, 223, 284, 284, 616, 616, 612, 612, 613, + 613, 613, 614, 614, 615, 615, 128, 548, 548, 548, + 548, 548, 548, 8, 8, 9, 9, 249, 249, 547, + 547, 547, 547, 547, 547, 470, 470, 470, 593, 593, + 593, 594, 248, 248, 241, 241, 549, 549, 434, 595, + 595, 557, 557, 556, 556, 555, 555, 246, 246, 247, + 247, 226, 226, 155, 155, 571, 571, 572, 572, 562, + 562, 562, 562, 570, 570, 532, 532, 323, 323, 378, + 378, 379, 379, 213, 213, 214, 214, 214, 214, 214, + 214, 650, 650, 651, 652, 653, 653, 654, 654, 654, + 655, 655, 655, 655, 655, 602, 602, 604, 604, 603, + 245, 245, 238, 238, 239, 239, 239, 240, 240, 237, + 237, 236, 235, 235, 234, 232, 232, 232, 233, 233, + 233, 256, 256, 216, 216, 216, 215, 215, 215, 215, + 215, 359, 359, 359, 359, 359, 359, 359, 359, 359, + 359, 359, 359, 217, 220, 220, 221, 221, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 356, 356, + 357, 357, 357, 357, 357, 153, 153, 541, 541, 355, + 355, 218, 218, 219, 219, 219, 219, 354, 354, 353, + 231, 231, 230, 229, 229, 229, 224, 224, 224, 224, + 224, 225, 365, 365, 364, 364, 363, 363, 363, 363, + 363, 363, 366, 131, 152, 152, 154, 255, 255, 243, + 242, 362, 361, 361, 361, 361, 254, 254, 253, 253, + 244, 244, 228, 228, 228, 228, 360, 227, 358, 640, + 640, 639, 639, 638, 636, 636, 636, 637, 637, 637, + 637, 585, 585, 585, 585, 585, 396, 396, 396, 401, + 401, 399, 399, 399, 399, 399, 405, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 48, 136, 136, 139, 139, 137, 137, 138, 138, 142, + 142, 140, 140, 40, 267, 268, 41, 269, 269, 270, + 270, 271, 271, 272, 273, 274, 274, 274, 274, 450, + 450, 39, 258, 258, 259, 259, 260, 260, 261, 262, + 262, 262, 266, 263, 264, 264, 658, 658, 657, 38, + 38, 31, 31, 199, 199, 200, 200, 200, 202, 202, + 319, 319, 319, 201, 201, 203, 203, 203, 617, 619, + 619, 621, 620, 620, 620, 623, 623, 623, 623, 623, + 624, 624, 624, 624, 625, 625, 32, 175, 175, 175, + 206, 206, 185, 628, 628, 628, 627, 627, 508, 508, + 629, 629, 630, 630, 382, 382, 383, 383, 197, 198, + 198, 187, 177, 205, 205, 205, 205, 205, 207, 207, + 286, 286, 176, 182, 183, 184, 186, 188, 190, 190, + 192, 618, 626, 626, 626, 467, 467, 464, 465, 465, + 462, 461, 461, 461, 632, 632, 631, 631, 631, 397, + 397, 33, 457, 457, 459, 460, 460, 460, 460, 460, + 460, 460, 460, 451, 451, 451, 451, 37, 455, 455, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 452, 452, 454, 454, 449, - 449, 449, 449, 449, 449, 449, 449, 36, 36, 36, - 204, 204, 448, 448, 445, 445, 265, 265, 443, 443, - 444, 444, 442, 442, 442, 446, 446, 44, 85, 45, - 46, 47, 43, 447, 447, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 252, 252, 212, 212, - 212, 212, 212, 212, 210, 210, 210, 210, 211, 211, - 209, 209, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 157, 156, 156, 156, 156, 156, - 159, 159, 381, 381, 380, 380, 158, 320, 320, 42, - 297, 297, 524, 524, 519, 519, 519, 519, 519, 539, - 539, 539, 520, 520, 520, 521, 521, 521, 523, 523, - 523, 522, 522, 522, 522, 522, 538, 538, 540, 540, - 540, 490, 490, 491, 491, 491, 494, 494, 511, 511, - 512, 512, 510, 510, 517, 517, 516, 516, 515, 515, - 514, 514, 513, 513, 513, 513, 505, 505, 504, 504, - 492, 492, 492, 492, 492, 493, 493, 493, 503, 503, - 509, 509, 352, 352, 351, 351, 306, 306, 307, 307, - 350, 350, 304, 304, 305, 305, 305, 349, 349, 349, + 456, 456, 456, 456, 456, 456, 452, 452, 454, 454, + 449, 449, 449, 449, 449, 449, 449, 449, 36, 36, + 36, 204, 204, 448, 448, 445, 445, 265, 265, 443, + 443, 444, 444, 442, 442, 442, 446, 446, 44, 85, + 45, 46, 47, 43, 447, 447, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 252, 252, 212, + 212, 212, 212, 212, 212, 210, 210, 210, 210, 211, + 211, 209, 209, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 157, 156, 156, 156, 156, + 156, 159, 159, 381, 381, 380, 380, 158, 320, 320, + 42, 297, 297, 524, 524, 519, 519, 519, 519, 519, + 539, 539, 539, 520, 520, 520, 521, 521, 521, 523, + 523, 523, 522, 522, 522, 522, 522, 538, 538, 540, + 540, 540, 490, 490, 491, 491, 491, 494, 494, 511, + 511, 512, 512, 510, 510, 517, 517, 516, 516, 515, + 515, 514, 514, 513, 513, 513, 513, 505, 505, 504, + 504, 492, 492, 492, 492, 492, 493, 493, 493, 503, + 503, 509, 509, 352, 352, 351, 351, 306, 306, 307, + 307, 350, 350, 304, 304, 305, 305, 305, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, - 349, 349, 591, 591, 592, 309, 309, 321, 321, 321, - 321, 321, 321, 308, 308, 310, 310, 285, 285, 283, - 283, 275, 275, 275, 275, 275, 275, 276, 276, 277, - 277, 278, 278, 278, 282, 282, 281, 281, 281, 281, - 279, 279, 280, 280, 280, 280, 280, 280, 475, 475, - 588, 588, 589, 589, 584, 584, 584, 587, 587, 587, - 587, 587, 587, 587, 587, 590, 590, 590, 586, 586, - 287, 375, 375, 375, 398, 398, 398, 398, 400, 374, - 374, 374, 303, 303, 302, 302, 300, 300, 300, 300, + 349, 349, 349, 349, 349, 349, 591, 591, 592, 309, + 309, 321, 321, 321, 321, 321, 321, 308, 308, 310, + 310, 285, 285, 283, 283, 275, 275, 275, 275, 275, + 275, 276, 276, 277, 277, 278, 278, 278, 282, 282, + 281, 281, 281, 281, 279, 279, 280, 280, 280, 280, + 280, 280, 475, 475, 588, 588, 589, 589, 584, 584, + 584, 587, 587, 587, 587, 587, 587, 587, 587, 590, + 590, 590, 586, 586, 287, 375, 375, 375, 398, 398, + 398, 398, 400, 374, 374, 374, 303, 303, 302, 302, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 476, 476, 476, 474, 474, 414, 414, 415, 415, - 332, 331, 331, 331, 331, 331, 329, 330, 328, 328, - 328, 328, 328, 325, 325, 324, 324, 324, 326, 326, - 326, 326, 326, 453, 453, 322, 322, 312, 312, 312, - 311, 311, 311, 518, 421, 421, 421, 421, 421, 421, - 421, 421, 421, 421, 421, 421, 421, 421, 421, 423, + 300, 300, 300, 300, 300, 476, 476, 476, 474, 474, + 414, 414, 415, 415, 332, 331, 331, 331, 331, 331, + 329, 330, 328, 328, 328, 328, 328, 325, 325, 324, + 324, 324, 326, 326, 326, 326, 326, 453, 453, 322, + 322, 312, 312, 312, 311, 311, 311, 518, 421, 421, + 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, + 421, 421, 421, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, - 423, 423, 423, 423, 423, 423, 423, 327, 372, 372, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 373, 373, 373, 373, 373, 373, 373, - 373, 424, 424, 430, 430, 601, 601, 600, 288, 288, - 288, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 298, 298, 298, 499, 499, 499, 499, 500, 500, 500, - 500, 501, 501, 501, 497, 497, 498, 498, 435, 436, - 436, 545, 545, 546, 546, 495, 495, 496, 371, 371, + 423, 327, 372, 372, 372, 372, 372, 372, 372, 372, + 372, 372, 372, 372, 372, 372, 372, 373, 373, 373, + 373, 373, 373, 373, 373, 424, 424, 430, 430, 601, + 601, 600, 288, 288, 288, 289, 289, 289, 289, 289, + 289, 289, 289, 289, 298, 298, 298, 499, 499, 499, + 499, 500, 500, 500, 500, 501, 501, 501, 497, 497, + 498, 498, 435, 436, 436, 545, 545, 546, 546, 495, + 495, 496, 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, - 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, - 371, 553, 553, 553, 368, 368, 368, 368, 368, 368, + 371, 371, 371, 371, 371, 553, 553, 553, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, - 611, 611, 611, 596, 596, 596, 597, 597, 597, 597, - 597, 597, 597, 597, 597, 597, 597, 597, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 599, 599, 599, 599, 370, - 370, 370, 370, 370, 369, 369, 369, 369, 369, 369, + 368, 368, 368, 368, 611, 611, 611, 596, 596, 596, + 597, 597, 597, 597, 597, 597, 597, 597, 597, 597, + 597, 597, 598, 598, 598, 598, 598, 598, 598, 598, + 598, 598, 598, 598, 598, 598, 598, 598, 598, 599, + 599, 599, 599, 370, 370, 370, 370, 370, 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, - 369, 369, 437, 437, 438, 438, 550, 550, 550, 550, - 550, 550, 551, 551, 552, 552, 552, 552, 544, 544, + 369, 369, 369, 369, 369, 369, 437, 437, 438, 438, + 550, 550, 550, 550, 550, 550, 551, 551, 552, 552, + 552, 552, 544, 544, 544, 544, 544, 544, 544, 544, 544, 544, 544, 544, 544, 544, 544, 544, 544, 544, 544, 544, 544, 544, 544, 544, 544, 544, 544, 544, - 544, 544, 544, 544, 544, 544, 544, 422, 367, 367, - 367, 439, 431, 431, 432, 432, 433, 433, 425, 425, - 425, 425, 425, 425, 426, 426, 428, 428, 428, 428, - 428, 428, 428, 428, 428, 428, 428, 420, 420, 420, - 420, 420, 420, 420, 420, 420, 420, 420, 427, 427, - 429, 429, 441, 441, 441, 440, 440, 440, 440, 440, - 440, 440, 301, 301, 301, 301, 419, 419, 419, 418, - 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, - 418, 290, 290, 290, 290, 294, 294, 296, 296, 296, - 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, - 296, 295, 295, 295, 295, 295, 293, 293, 293, 293, - 293, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 544, 422, 367, 367, 367, 439, 431, 431, 432, 432, + 433, 433, 425, 425, 425, 425, 425, 425, 426, 426, + 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, + 428, 420, 420, 420, 420, 420, 420, 420, 420, 420, + 420, 420, 427, 427, 429, 429, 441, 441, 441, 440, + 440, 440, 440, 440, 440, 440, 301, 301, 301, 301, + 419, 419, 419, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 290, 290, 290, 290, 294, + 294, 296, 296, 296, 296, 296, 296, 296, 296, 296, + 296, 296, 296, 296, 296, 295, 295, 295, 295, 295, + 293, 293, 293, 293, 293, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 129, 130, 130, 292, 299, 299, 299, 299, 299, 299, - 299, 299, 377, 377, 525, 525, 528, 528, 526, 526, - 527, 529, 529, 529, 530, 530, 530, 531, 531, 531, - 535, 535, 386, 386, 386, 394, 394, 393, 393, 393, + 291, 291, 291, 291, 129, 130, 130, 292, 299, 299, + 299, 299, 299, 299, 299, 299, 377, 377, 525, 525, + 528, 528, 526, 526, 527, 529, 529, 529, 530, 530, + 530, 531, 531, 531, 535, 535, 386, 386, 386, 394, + 394, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, @@ -10264,13 +10301,13 @@ var yyR1 = [...]int{ 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, - 393, 393, 393, 393, 393, 393, 393, 393, 392, 392, - 392, 392, 392, 392, 392, 392, 392, 392, 391, 391, - 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 393, 393, 393, 393, 393, 392, 392, 392, 392, 392, + 392, 392, 392, 392, 392, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 391, } var yyR2 = [...]int{ @@ -10324,161 +10361,161 @@ var yyR2 = [...]int{ 3, 1, 6, 7, 4, 4, 7, 8, 6, 6, 8, 6, 11, 10, 3, 3, 3, 1, 1, 1, 3, 2, 4, 5, 5, 6, 5, 5, 3, 2, - 2, 1, 3, 4, 3, 7, 5, 8, 2, 2, - 1, 3, 2, 0, 1, 1, 1, 1, 1, 1, + 2, 1, 2, 3, 4, 3, 7, 5, 8, 2, + 2, 1, 3, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 1, 0, 1, 2, 1, 3, 2, 1, 2, - 2, 1, 2, 3, 2, 2, 3, 5, 4, 3, - 3, 3, 1, 1, 3, 3, 7, 7, 7, 8, - 8, 0, 4, 7, 6, 6, 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, 0, 1, 0, 1, 2, 1, 3, 2, 1, + 2, 2, 1, 2, 3, 2, 2, 3, 5, 4, + 3, 3, 3, 1, 1, 3, 3, 7, 7, 7, + 8, 8, 0, 4, 7, 6, 6, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 5, 0, 2, 0, + 2, 3, 3, 3, 5, 4, 3, 3, 3, 4, + 5, 6, 5, 2, 5, 5, 0, 2, 7, 0, + 1, 0, 1, 5, 5, 3, 3, 2, 4, 4, + 4, 4, 4, 1, 1, 1, 3, 3, 1, 1, + 1, 6, 0, 1, 1, 1, 1, 5, 5, 0, + 1, 1, 3, 3, 3, 4, 7, 7, 5, 4, + 7, 8, 3, 3, 4, 2, 3, 4, 4, 3, + 0, 2, 2, 0, 2, 2, 1, 1, 1, 1, + 0, 1, 5, 5, 6, 4, 3, 1, 3, 1, + 1, 3, 5, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 2, 5, 0, 2, 0, 2, - 3, 3, 3, 5, 4, 3, 3, 3, 4, 5, - 6, 5, 2, 5, 5, 0, 2, 7, 0, 1, - 0, 1, 5, 5, 3, 3, 2, 4, 4, 4, - 4, 4, 1, 1, 1, 3, 3, 1, 1, 1, - 6, 0, 1, 1, 1, 1, 5, 5, 0, 1, - 1, 3, 3, 3, 4, 7, 7, 5, 4, 7, - 8, 3, 3, 4, 2, 3, 4, 4, 3, 0, - 2, 2, 0, 2, 2, 1, 1, 1, 1, 0, - 1, 5, 5, 6, 4, 3, 1, 3, 1, 1, - 3, 5, 2, 3, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 4, 4, 4, 4, 1, + 3, 1, 4, 6, 6, 4, 4, 4, 4, 4, + 3, 6, 3, 5, 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, 1, 2, 5, 5, 1, 3, 2, + 1, 5, 4, 4, 2, 0, 5, 4, 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, 10, 0, 2, 0, 2, 0, + 4, 7, 4, 0, 2, 0, 2, 0, 2, 0, + 4, 1, 3, 1, 1, 7, 4, 6, 8, 4, + 6, 0, 1, 3, 8, 0, 6, 0, 4, 6, + 1, 1, 1, 1, 1, 2, 3, 1, 3, 6, + 0, 3, 0, 1, 2, 4, 4, 0, 5, 0, + 1, 3, 1, 3, 3, 0, 1, 1, 0, 2, + 2, 0, 2, 3, 3, 3, 1, 3, 3, 3, + 3, 1, 2, 2, 1, 2, 2, 1, 2, 2, + 1, 2, 2, 7, 0, 1, 1, 2, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, + 0, 4, 7, 6, 6, 3, 5, 0, 2, 0, + 2, 1, 3, 1, 2, 3, 5, 0, 1, 2, + 1, 3, 1, 1, 1, 1, 4, 4, 4, 3, + 4, 3, 2, 2, 2, 2, 2, 3, 2, 3, + 2, 3, 2, 4, 1, 3, 4, 0, 2, 1, + 3, 1, 1, 2, 2, 3, 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, 4, 4, 4, 4, 1, 3, - 1, 4, 6, 6, 4, 4, 4, 4, 4, 3, - 6, 3, 5, 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, 1, 2, 5, 5, 1, 3, 2, 1, - 5, 4, 4, 2, 0, 5, 4, 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, 10, 0, 2, 0, 2, 0, 4, - 7, 4, 0, 2, 0, 2, 0, 2, 0, 4, - 1, 3, 1, 1, 7, 4, 6, 8, 4, 6, - 0, 1, 3, 8, 0, 6, 0, 4, 6, 1, - 1, 1, 1, 1, 2, 3, 1, 3, 6, 0, - 3, 0, 1, 2, 4, 4, 0, 5, 0, 1, - 3, 1, 3, 3, 0, 1, 1, 0, 2, 2, - 0, 2, 3, 3, 3, 1, 3, 3, 3, 3, - 1, 2, 2, 1, 2, 2, 1, 2, 2, 1, - 2, 2, 7, 0, 1, 1, 2, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 2, 0, - 4, 7, 6, 6, 3, 5, 0, 2, 0, 2, - 1, 3, 1, 2, 3, 5, 0, 1, 2, 1, - 3, 1, 1, 1, 1, 4, 4, 4, 3, 4, - 3, 2, 2, 2, 2, 2, 3, 2, 3, 2, - 3, 2, 4, 1, 3, 4, 0, 2, 1, 3, - 1, 1, 2, 2, 3, 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, 10, - 0, 3, 0, 2, 0, 4, 1, 1, 0, 2, - 0, 2, 7, 1, 1, 9, 1, 3, 0, 1, - 1, 3, 1, 3, 0, 1, 1, 1, 0, 2, - 14, 1, 3, 0, 1, 1, 3, 1, 1, 2, - 4, 1, 1, 1, 1, 0, 1, 2, 9, 9, - 7, 8, 1, 2, 3, 3, 3, 0, 4, 1, - 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, - 4, 1, 1, 1, 3, 3, 4, 3, 3, 0, - 1, 1, 1, 0, 2, 7, 8, 10, 8, 2, - 2, 8, 0, 3, 3, 0, 3, 0, 3, 0, - 3, 0, 5, 1, 3, 0, 3, 3, 0, 2, - 9, 8, 0, 2, 2, 3, 3, 0, 2, 0, - 2, 4, 5, 4, 4, 4, 6, 4, 8, 5, - 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, 1, 1, 1, 1, - 1, 1, 0, 1, 1, 1, 11, 0, 2, 3, - 3, 2, 2, 3, 1, 1, 3, 3, 3, 1, - 1, 3, 3, 3, 3, 1, 3, 3, 4, 0, - 2, 2, 2, 2, 2, 2, 2, 6, 8, 10, - 0, 4, 1, 1, 0, 3, 0, 1, 0, 1, - 1, 2, 4, 4, 4, 0, 1, 8, 2, 4, - 4, 4, 9, 0, 2, 8, 9, 5, 5, 8, - 7, 8, 12, 12, 13, 13, 0, 4, 0, 3, - 3, 3, 2, 2, 0, 3, 3, 3, 4, 4, - 0, 3, 11, 9, 11, 8, 6, 9, 7, 10, - 7, 6, 8, 11, 2, 2, 9, 4, 5, 3, - 0, 4, 1, 3, 0, 3, 6, 0, 2, 10, - 0, 2, 0, 2, 0, 3, 2, 4, 3, 0, - 2, 1, 0, 2, 3, 0, 2, 3, 0, 2, - 1, 0, 3, 2, 4, 3, 0, 1, 0, 1, - 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, 1, 3, 3, 3, 0, 4, 1, 3, - 3, 3, 0, 1, 1, 3, 2, 3, 3, 3, - 4, 4, 3, 3, 3, 3, 4, 4, 3, 3, + 10, 0, 3, 0, 2, 0, 4, 1, 1, 0, + 2, 0, 2, 7, 1, 1, 9, 1, 3, 0, + 1, 1, 3, 1, 3, 0, 1, 1, 1, 0, + 2, 14, 1, 3, 0, 1, 1, 3, 1, 1, + 2, 4, 1, 1, 1, 1, 0, 1, 2, 9, + 9, 7, 8, 1, 2, 3, 3, 3, 0, 4, + 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, + 1, 4, 1, 1, 1, 3, 3, 4, 3, 3, + 0, 1, 1, 1, 0, 2, 7, 8, 10, 8, + 2, 2, 8, 0, 3, 3, 0, 3, 0, 3, + 0, 3, 0, 5, 1, 3, 0, 3, 3, 0, + 2, 9, 8, 0, 2, 2, 3, 3, 0, 2, + 0, 2, 4, 5, 4, 4, 4, 6, 4, 8, + 5, 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, 1, 1, 1, + 1, 1, 1, 0, 1, 1, 1, 11, 0, 2, + 3, 3, 2, 2, 3, 1, 1, 3, 3, 3, + 1, 1, 3, 3, 3, 3, 1, 3, 3, 4, + 0, 2, 2, 2, 2, 2, 2, 2, 6, 8, + 10, 0, 4, 1, 1, 0, 3, 0, 1, 0, + 1, 1, 2, 4, 4, 4, 0, 1, 8, 2, + 4, 4, 4, 9, 0, 2, 8, 9, 5, 5, + 8, 7, 8, 12, 12, 13, 13, 0, 4, 0, + 3, 3, 3, 2, 2, 0, 3, 3, 3, 4, + 4, 0, 3, 11, 9, 11, 8, 6, 9, 7, + 10, 7, 6, 8, 11, 2, 2, 9, 4, 5, + 3, 0, 4, 1, 3, 0, 3, 6, 0, 2, + 10, 0, 2, 0, 2, 0, 3, 2, 4, 3, + 0, 2, 1, 0, 2, 3, 0, 2, 3, 0, + 2, 1, 0, 3, 2, 4, 3, 0, 1, 0, + 1, 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, 1, 3, 3, 3, 0, 4, 1, + 3, 3, 3, 0, 1, 1, 3, 2, 3, 3, + 3, 4, 4, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 2, 3, 3, 3, 3, 3, 3, 3, 3, 1, - 5, 4, 1, 3, 3, 2, 2, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, - 4, 0, 5, 5, 5, 5, 6, 0, 1, 1, - 3, 1, 1, 1, 1, 1, 7, 9, 7, 9, - 2, 1, 7, 9, 7, 9, 8, 5, 0, 1, - 0, 1, 1, 1, 1, 3, 3, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, - 3, 1, 3, 5, 1, 1, 1, 1, 1, 1, - 3, 5, 0, 1, 1, 2, 1, 2, 2, 1, - 1, 2, 2, 2, 3, 3, 2, 2, 1, 5, - 6, 4, 2, 1, 1, 1, 5, 4, 1, 7, - 5, 0, 1, 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, 4, - 7, 3, 3, 0, 3, 0, 3, 1, 1, 1, - 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, - 1, 1, 3, 5, 2, 2, 2, 2, 4, 1, - 1, 2, 5, 6, 8, 6, 3, 6, 6, 1, - 1, 1, 1, 1, 1, 3, 9, 1, 4, 4, - 4, 4, 5, 4, 5, 7, 9, 5, 7, 9, - 5, 5, 7, 7, 9, 7, 7, 7, 9, 7, - 7, 0, 2, 0, 1, 1, 2, 4, 1, 2, - 2, 1, 2, 2, 1, 2, 2, 2, 2, 2, - 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, - 2, 1, 1, 1, 2, 5, 0, 1, 3, 0, - 1, 0, 2, 0, 2, 0, 1, 6, 8, 8, - 6, 6, 5, 5, 5, 6, 6, 6, 6, 5, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 1, 1, 1, 4, 4, 6, 8, 6, 4, - 5, 4, 4, 4, 3, 4, 6, 6, 7, 4, + 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, + 1, 5, 4, 5, 3, 3, 1, 3, 3, 2, + 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 3, 2, 4, 0, 5, 5, 5, 5, + 6, 0, 1, 1, 3, 1, 1, 1, 1, 1, + 7, 9, 7, 9, 2, 1, 7, 9, 7, 9, + 8, 5, 0, 1, 0, 1, 1, 1, 1, 3, + 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 0, 1, 3, 1, 3, 5, 1, 1, + 1, 1, 1, 1, 3, 5, 0, 1, 1, 2, + 1, 2, 2, 1, 1, 2, 2, 2, 3, 3, + 2, 2, 1, 5, 6, 4, 2, 1, 1, 1, + 5, 4, 1, 7, 5, 0, 1, 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, 4, 7, 3, 3, 0, 3, 0, + 3, 1, 1, 1, 1, 1, 1, 1, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 1, 1, 1, 1, 3, 5, 2, 2, + 2, 2, 4, 1, 1, 2, 5, 6, 8, 6, + 3, 6, 6, 1, 1, 1, 1, 1, 1, 3, + 9, 1, 4, 4, 4, 4, 5, 4, 5, 7, + 9, 5, 7, 9, 5, 5, 7, 7, 9, 7, + 7, 7, 9, 7, 7, 0, 2, 0, 1, 1, + 2, 4, 1, 2, 2, 1, 2, 2, 1, 2, + 2, 2, 2, 2, 0, 1, 1, 1, 2, 2, + 2, 2, 2, 2, 2, 1, 1, 1, 2, 5, + 0, 1, 3, 0, 1, 0, 2, 0, 2, 0, + 1, 6, 8, 8, 6, 6, 5, 5, 5, 6, + 6, 6, 6, 5, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 1, 1, 1, 4, 4, + 6, 8, 6, 4, 5, 4, 4, 4, 3, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, - 2, 8, 8, 6, 4, 2, 3, 2, 4, 2, - 2, 4, 6, 2, 2, 4, 6, 4, 2, 4, - 4, 4, 0, 1, 2, 3, 1, 1, 1, 1, - 1, 1, 0, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 2, 2, 8, 8, 6, 4, 2, + 3, 2, 4, 2, 2, 4, 6, 2, 2, 4, + 6, 4, 2, 4, 4, 4, 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, 1, 1, 1, 1, 1, 3, 0, 1, - 1, 3, 0, 1, 1, 3, 1, 3, 3, 3, - 3, 3, 2, 1, 1, 1, 3, 4, 3, 4, - 3, 4, 3, 4, 3, 4, 1, 3, 4, 4, - 5, 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, 2, 1, 1, 1, - 2, 3, 1, 1, 1, 2, 1, 1, 1, 1, + 1, 3, 0, 1, 1, 3, 0, 1, 1, 3, + 1, 3, 3, 3, 3, 3, 2, 1, 1, 1, + 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, + 1, 3, 4, 4, 5, 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, + 2, 1, 1, 1, 2, 3, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 2, 2, 2, 2, 1, 2, 2, 2, - 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 2, 2, 4, 4, 1, - 2, 3, 5, 1, 1, 1, 1, 1, 1, 1, - 1, 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, 2, 2, 2, 2, 2, + 1, 2, 2, 2, 2, 2, 2, 2, 2, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, + 2, 4, 4, 1, 2, 3, 5, 1, 1, 1, + 1, 1, 1, 1, 1, 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, @@ -10524,467 +10561,469 @@ 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, } var yyChk = [...]int{ - -1000, -656, -659, -2, -5, 689, -1, -4, -130, -99, + -1000, -656, -659, -2, -5, 692, -1, -4, -130, -99, -7, -15, -132, -133, -8, -128, -10, -11, -188, -13, -106, -123, -125, -127, -126, -53, -12, -122, -92, -93, -108, -116, -119, -120, -121, -134, -129, -131, -213, -135, - -144, -145, -195, -148, -150, -151, -183, -184, -208, 679, + -144, -145, -195, -148, -150, -151, -183, -184, -208, 682, -100, -101, -102, -103, -104, -105, -34, -33, -32, -31, - -175, -185, -189, -191, -146, -48, 598, 685, 494, -9, - -602, 547, -16, -17, -18, 253, 280, -402, -403, -404, + -175, -185, -189, -191, -146, -48, 601, 688, 497, -9, + -602, 550, -16, -17, -18, 253, 280, -402, -403, -404, -406, -660, -54, -55, -56, -67, -68, -69, -70, -71, -81, -82, -83, -57, -58, -59, -62, -60, -74, -73, -75, -76, -77, -78, -79, -80, -61, -65, -178, -179, -180, -181, -84, -63, -85, -64, -193, -196, -147, -86, -87, -88, -66, -51, -52, -90, -89, -95, -91, -96, -177, -187, -14, -194, -97, -50, -98, 254, -94, 79, - -109, -110, -111, -112, -113, -114, -115, -117, -118, 420, - 426, 481, 678, 64, -214, -216, 708, 709, 712, 583, - 586, 298, 177, 178, 180, 181, 185, 188, -35, -36, + -109, -110, -111, -112, -113, -114, -115, -117, -118, 423, + 429, 484, 681, 64, -214, -216, 711, 712, 715, 586, + 589, 298, 177, 178, 180, 181, 185, 188, -35, -36, -37, -38, -39, -40, -42, -41, -43, -44, -45, -46, -47, 249, 16, 14, 18, -19, -22, -20, -23, -21, -29, -30, -28, -25, -27, -176, -182, -26, -186, -24, -190, -192, -149, -49, 275, 274, 41, 341, 342, 343, - 424, 273, 250, 252, 17, 34, 45, 399, -215, 88, - 584, 251, -217, 15, 714, -6, -3, -2, -162, -166, - -170, -173, -174, -171, -172, -4, -130, 123, 265, 680, - -398, 416, 681, 683, 682, 91, 99, -391, -393, 494, - 280, 420, 426, 678, 709, 712, 583, 586, 298, 600, - 601, 602, 603, 604, 605, 606, 607, 609, 610, 611, - 612, 613, 614, 615, 625, 626, 616, 617, 618, 619, - 620, 621, 622, 623, 627, 628, 629, 630, 631, 632, - 633, 634, 635, 636, 637, 638, 639, 640, 550, 551, - 658, 660, 661, 662, 663, 579, 608, 645, 653, 654, - 655, 397, 398, 591, 675, 292, 316, 449, 322, 329, - 393, 177, 195, 191, 218, 209, 348, 347, 584, 186, - 296, 334, 297, 98, 180, 533, 113, 506, 478, 183, - 354, 357, 355, 356, 311, 313, 315, 580, 581, 410, - 318, 578, 317, 319, 321, 582, 352, 400, 205, 200, - 310, 294, 198, 299, 43, 300, 391, 390, 223, 301, - 302, 595, 502, 396, 508, 326, 55, 476, 199, 314, - 505, 674, 227, 231, 524, 381, 525, 168, 169, 510, - 527, 222, 225, 226, 272, 387, 388, 46, 593, 284, - 528, 229, 704, 221, 216, 536, 330, 328, 392, 220, - 194, 215, 295, 68, 233, 232, 234, 472, 473, 474, - 475, 303, 304, 414, 523, 212, 201, 401, 187, 25, - 531, 279, 507, 427, 358, 359, 305, 323, 331, 353, - 228, 230, 286, 291, 346, 594, 480, 290, 515, 516, - 327, 529, 197, 283, 312, 278, 532, 705, 188, 429, - 306, 181, 320, 526, 707, 535, 67, 163, 193, 184, - 696, 697, 269, 659, 178, 288, 293, 676, 706, 307, - 308, 309, 577, 333, 332, 324, 185, 213, 285, 219, - 203, 192, 214, 179, 287, 534, 164, 672, 399, 459, - 211, 208, 289, 262, 677, 530, 509, 182, 463, 166, - 206, 335, 666, 667, 668, 671, 415, 386, 336, 337, - 204, 276, 500, 501, 340, 469, 376, 443, 479, 450, - 444, 240, 241, 344, 512, 514, 224, 669, 360, 361, - 362, 504, 363, 365, 366, 371, 419, 59, 61, 100, - 103, 102, 710, 711, 66, 32, 405, 408, 441, 445, - 378, 673, 592, 375, 379, 380, 409, 28, 461, 431, - 465, 464, 51, 52, 53, 56, 57, 58, 60, 62, - 63, 54, 576, 424, 438, 537, 48, 50, 434, 435, - 30, 411, 460, 482, 374, 462, 493, 49, 491, 492, - 513, 29, 413, 412, 65, 47, 468, 470, 471, 338, - 372, 422, 686, 538, 417, 433, 437, 418, 377, 407, - 439, 70, 430, 687, 425, 423, 373, 596, 597, 382, - 624, 402, 477, 573, 572, 571, 570, 569, 568, 567, - 566, 341, 342, 343, 446, 447, 448, 458, 451, 452, - 453, 454, 455, 456, 457, 496, 497, 688, 517, 519, - 520, 585, 521, 518, 257, 713, 403, 404, 260, 690, - 691, 101, 692, 694, 693, 31, 695, 703, 700, 701, - 702, 599, 522, 587, 698, 589, 588, 646, 647, 648, - 649, 650, -481, -479, -398, 584, 298, 678, 426, 583, - 586, 420, 399, 709, 712, 424, 280, 341, 342, 343, - 494, 397, -269, -398, 713, -94, -17, -16, -9, -215, - -216, -226, 42, -283, -398, 435, -283, 259, -407, 26, - 476, -107, 477, 254, 255, 88, 80, -398, -10, -121, - -8, -128, -92, -213, 481, -405, -398, 341, 341, 585, - -405, 259, -400, 290, 457, -398, -537, 265, -485, -457, - 291, -484, -459, -487, -460, 35, 249, 251, 250, 598, - 287, 18, 424, 261, 16, 15, 425, 273, 28, 29, - 31, 17, 426, 428, 32, 429, 432, 433, 434, 45, - 438, 439, 280, 91, 99, 94, 646, 647, 648, 649, - 650, 298, -268, -398, -433, -425, 120, -428, -420, -421, - -423, -376, -575, -418, 88, 149, 150, 157, 121, 715, - -422, -518, 39, 123, 604, 608, 645, 548, -368, -369, - -370, -371, -372, -373, 590, -398, -576, -574, 94, 104, - 106, 110, 111, 109, 107, 171, 202, 108, 95, 172, - -216, 91, -596, 614, -392, 637, 660, 661, 662, 663, - 636, 64, -544, -552, 258, -550, 170, 207, 276, 203, - 16, 155, 469, 204, 653, 654, 655, 611, 633, 550, - 551, 658, 615, 625, 640, 606, 607, 609, 601, 602, - 603, 605, 616, 618, 632, -553, 628, 638, 639, 624, - 656, 657, 700, 641, 642, 643, 652, 651, 644, 646, - 647, 648, 649, 650, 694, 93, 92, 631, 630, 617, - 612, 613, 619, 600, 610, 620, 621, 629, 634, 635, - 408, 113, 409, 410, 540, 400, 83, 411, 265, 476, - 73, 412, 413, 414, 415, 416, 547, 417, 74, 418, - 407, 280, 459, 419, 206, 224, 553, 552, 554, 544, - 541, 539, 542, 543, 545, 546, 622, 623, 627, -152, - -154, 664, -650, -359, -651, 6, 7, 8, 9, -652, - 172, -641, 478, 594, 94, 540, 259, 334, 397, 19, - 699, 370, 582, 699, 370, 582, 348, 182, 179, -471, - 182, 119, 188, 187, 263, 182, -471, -398, 185, 699, - 184, 696, 585, 344, -447, -199, 397, 459, 363, 100, - 290, -451, -448, 580, -538, 338, 334, 310, 260, 116, - -200, 270, 269, 114, 540, 258, 436, 329, 59, 61, - -226, 264, -604, 574, -603, -398, -612, -613, 246, 247, - 248, 699, 521, 585, 704, 516, 410, 102, 103, 696, - 697, 30, 259, 421, 286, 514, 512, 513, 517, 518, - 519, 520, -72, -554, -536, 509, 508, -411, 501, 507, - 499, 511, 502, 398, 366, 363, 598, 365, 370, 249, - 690, 581, 575, -386, 443, 479, 537, 538, 422, 480, - 524, 526, 503, 113, 210, 207, 260, 262, 259, 696, - 585, 290, 397, 540, 459, 100, 363, 259, -612, 704, - 179, 524, 526, 478, 290, 457, 44, -478, 469, -477, - -479, 525, 536, 92, 93, 523, -386, 113, 500, 500, - -650, -359, -214, -216, -131, -602, 582, 699, 585, 260, - 397, 459, 290, 261, 259, 577, 580, 262, 540, 258, - 341, 421, 286, 363, 370, 100, 184, 696, -220, -221, - -222, 242, 243, 244, 72, 247, 245, 69, 35, 36, - 37, -1, 127, 714, -425, -425, -6, 717, -6, -425, - -398, -398, 174, -290, -294, -291, -293, -292, -296, -295, - 207, 208, 170, 211, 217, 213, 214, 215, 216, 218, - 219, 220, 221, 222, 225, 226, 223, 34, 224, 276, - 203, 204, 205, 206, -299, 191, 209, 592, 235, 192, - 236, 193, 237, 194, 238, 168, 169, 239, 195, 198, - 199, 200, 201, 197, 227, 228, 229, 230, 231, 232, - 233, 234, 173, -257, 94, 35, 88, 173, 94, -650, - -236, -237, 11, -246, 282, -283, -275, 173, 715, 19, - -283, -374, -398, 478, 130, -107, 80, -107, 477, 80, - -107, 477, 254, -605, -606, -607, -609, 254, 477, 476, - 255, 325, -126, 173, 298, 19, -405, -405, -398, 86, - -283, -459, 290, -485, -457, 39, 85, 174, 263, 174, - 85, 88, 422, 397, 459, 423, 540, 259, 436, 262, - 290, 437, 397, 459, 259, 262, 540, 290, 397, 259, - 262, 459, 290, 437, 397, 499, 500, 262, 30, 427, - 430, 431, 500, -558, 536, 174, 119, 116, 117, 118, - -425, 137, -440, 130, 131, 132, 133, 134, 135, 136, - 144, 143, 156, 149, 150, 151, 152, 153, 154, 155, - 145, 146, 147, 148, 140, 120, 138, 142, 139, 122, - 161, 160, -216, -425, -433, 64, -423, -423, -423, -423, - -398, -518, -430, -425, 88, 88, 88, 88, 88, 173, - 107, 94, -425, 88, 88, 88, 88, 88, 88, 88, - 88, 88, 88, 88, 88, -551, 88, 88, -437, -438, - 88, 88, -418, -374, 88, 94, 94, 88, 88, 88, - 94, 88, 88, 88, -438, -438, 88, 88, 88, 88, + 427, 273, 250, 252, 17, 34, 45, 402, -215, 88, + 587, 251, -217, 15, 717, -6, -3, -2, -162, -166, + -170, -173, -174, -171, -172, -4, -130, 123, 265, 683, + -398, 419, 684, 686, 685, 91, 99, -391, -393, 497, + 280, 423, 429, 681, 712, 715, 586, 589, 298, 603, + 604, 605, 606, 607, 608, 609, 610, 612, 613, 614, + 615, 616, 617, 618, 628, 629, 619, 620, 621, 622, + 623, 624, 625, 626, 630, 631, 632, 633, 634, 635, + 636, 637, 638, 639, 640, 641, 642, 643, 553, 554, + 661, 663, 664, 665, 666, 582, 611, 648, 656, 657, + 658, 400, 401, 594, 678, 292, 372, 373, 374, 316, + 452, 322, 329, 396, 177, 195, 191, 218, 209, 348, + 347, 587, 186, 296, 334, 297, 98, 180, 536, 113, + 509, 481, 183, 354, 357, 355, 356, 311, 313, 315, + 583, 584, 413, 318, 581, 317, 319, 321, 585, 352, + 403, 205, 200, 310, 294, 198, 299, 43, 300, 394, + 393, 223, 301, 302, 598, 505, 399, 511, 326, 55, + 479, 199, 314, 508, 677, 227, 231, 527, 384, 528, + 168, 169, 513, 530, 222, 225, 226, 272, 390, 391, + 46, 596, 284, 531, 229, 707, 221, 216, 539, 330, + 328, 395, 220, 194, 215, 295, 68, 233, 232, 234, + 475, 476, 477, 478, 303, 304, 417, 526, 212, 201, + 404, 187, 25, 534, 279, 510, 430, 358, 359, 305, + 323, 331, 353, 228, 230, 286, 291, 346, 597, 483, + 290, 518, 519, 327, 532, 197, 283, 312, 278, 535, + 708, 188, 432, 306, 181, 320, 529, 710, 538, 67, + 163, 193, 184, 699, 700, 269, 662, 178, 288, 293, + 679, 709, 307, 308, 309, 580, 333, 332, 324, 185, + 213, 285, 219, 203, 192, 214, 179, 287, 537, 164, + 675, 402, 462, 211, 208, 289, 262, 680, 533, 512, + 182, 466, 166, 206, 335, 669, 670, 671, 674, 418, + 389, 336, 337, 204, 276, 503, 504, 340, 472, 379, + 446, 482, 453, 447, 240, 241, 344, 515, 517, 224, + 672, 360, 361, 362, 507, 363, 365, 366, 371, 422, + 59, 61, 100, 103, 102, 713, 714, 66, 32, 408, + 411, 444, 448, 381, 676, 595, 378, 382, 383, 412, + 28, 464, 434, 468, 467, 51, 52, 53, 56, 57, + 58, 60, 62, 63, 54, 579, 427, 441, 540, 48, + 50, 437, 438, 30, 414, 463, 485, 377, 465, 496, + 49, 494, 495, 516, 29, 416, 415, 65, 47, 471, + 473, 474, 338, 375, 425, 689, 541, 420, 436, 440, + 421, 380, 410, 442, 70, 433, 690, 428, 426, 376, + 599, 600, 385, 627, 405, 480, 576, 575, 574, 573, + 572, 571, 570, 569, 341, 342, 343, 449, 450, 451, + 461, 454, 455, 456, 457, 458, 459, 460, 499, 500, + 691, 520, 522, 523, 588, 524, 521, 257, 716, 406, + 407, 260, 693, 694, 101, 695, 697, 696, 31, 698, + 706, 703, 704, 705, 602, 525, 590, 701, 592, 591, + 649, 650, 651, 652, 653, -481, -479, -398, 587, 298, + 681, 429, 586, 589, 423, 402, 712, 715, 427, 280, + 341, 342, 343, 497, 400, -269, -398, 716, -94, -17, + -16, -9, -215, -216, -226, 42, -283, -398, 438, -283, + 259, -407, 26, 479, -107, 480, 254, 255, 88, 80, + -398, -10, -121, -8, -128, -92, -213, 484, -405, -398, + 341, 341, 588, -405, 259, -400, 290, 460, -398, -537, + 265, -485, -457, 291, -484, -459, -487, -460, 35, 249, + 251, 250, 601, 287, 18, 427, 261, 16, 15, 428, + 273, 28, 29, 31, 17, 429, 431, 32, 432, 435, + 436, 437, 45, 441, 442, 280, 91, 99, 94, 649, + 650, 651, 652, 653, 298, -268, -398, -433, -425, 120, + -428, -420, -421, -423, -376, -575, -418, 88, 149, 150, + 157, 121, 718, -422, -518, 39, 123, 607, 611, 648, + 551, -368, -369, -370, -371, -372, -373, 593, -398, -576, + -574, 94, 104, 106, 110, 111, 109, 107, 171, 202, + 108, 95, 172, -216, 91, -596, 617, -392, 640, 663, + 664, 665, 666, 639, 64, -544, -552, 258, -550, 170, + 207, 276, 203, 16, 155, 472, 204, 656, 657, 658, + 614, 636, 553, 554, 661, 618, 628, 643, 609, 610, + 612, 604, 605, 606, 608, 619, 621, 635, -553, 631, + 641, 642, 627, 659, 660, 703, 644, 645, 646, 655, + 654, 647, 649, 650, 651, 652, 653, 697, 93, 92, + 634, 633, 620, 615, 616, 622, 603, 613, 623, 624, + 632, 637, 638, 411, 113, 412, 413, 543, 403, 83, + 414, 265, 479, 73, 415, 416, 417, 418, 419, 550, + 420, 74, 421, 410, 280, 462, 422, 206, 224, 556, + 555, 557, 547, 544, 542, 545, 546, 548, 549, 625, + 626, 630, -152, -154, 667, -650, -359, -651, 6, 7, + 8, 9, -652, 172, -641, 481, 597, 94, 543, 259, + 334, 400, 19, 702, 370, 585, 702, 370, 585, 348, + 182, 179, -471, 182, 119, 188, 187, 263, 182, -471, + -398, 185, 702, 184, 699, 588, 344, -447, -199, 400, + 462, 363, 100, 290, -451, -448, 583, -538, 338, 334, + 310, 260, 116, -200, 270, 269, 114, 543, 258, 439, + 329, 59, 61, -226, 264, -604, 577, -603, -398, -612, + -613, 246, 247, 248, 702, 524, 588, 707, 519, 413, + 102, 103, 699, 700, 30, 259, 424, 286, 517, 515, + 516, 520, 521, 522, 523, -72, -554, -536, 512, 511, + -411, 504, 510, 502, 514, 505, 401, 366, 363, 601, + 365, 370, 249, 693, 584, 578, -386, 446, 482, 540, + 541, 425, 483, 527, 529, 506, 113, 210, 207, 260, + 262, 259, 699, 588, 290, 400, 543, 462, 100, 363, + 259, -612, 707, 179, 527, 529, 481, 290, 460, 44, + -478, 472, -477, -479, 528, 539, 92, 93, 526, -386, + 113, 503, 503, -650, -359, -214, -216, -131, -602, 585, + 702, 588, 260, 400, 462, 290, 261, 259, 580, 583, + 262, 543, 258, 341, 424, 286, 363, 370, 100, 184, + 699, -220, -221, -222, 242, 243, 244, 72, 247, 245, + 69, 35, 36, 37, -1, 127, 717, -425, -425, -6, + 720, -6, -425, -398, -398, 174, -290, -294, -291, -293, + -292, -296, -295, 207, 208, 170, 211, 217, 213, 214, + 215, 216, 218, 219, 220, 221, 222, 225, 226, 223, + 34, 224, 276, 203, 204, 205, 206, -299, 191, 209, + 595, 235, 192, 236, 193, 237, 194, 238, 168, 169, + 239, 195, 198, 199, 200, 201, 197, 227, 228, 229, + 230, 231, 232, 233, 234, 173, -257, 94, 35, 88, + 173, 94, -650, -236, -237, 11, -246, 282, -283, -275, + 173, 718, 19, -283, -374, -398, 481, 130, -107, 80, + -107, 480, 80, -107, 480, 254, -605, -606, -607, -609, + 254, 480, 479, 255, 325, -126, 173, 298, 19, -405, + -405, -398, 86, -283, -459, 290, -485, -457, 39, 85, + 174, 263, 174, 85, 88, 425, 400, 462, 426, 543, + 259, 439, 262, 290, 440, 400, 462, 259, 262, 543, + 290, 400, 259, 262, 462, 290, 440, 400, 502, 503, + 262, 30, 430, 433, 434, 503, -558, 539, 174, 119, + 116, 117, 118, -425, 137, -440, 130, 131, 132, 133, + 134, 135, 136, 144, 143, 156, 149, 150, 151, 152, + 153, 154, 155, 145, 146, 147, 148, 140, 120, 138, + 142, 139, 122, 161, 160, -216, -425, -433, 64, -423, + -423, -423, -423, -398, -518, -430, -425, 88, 88, 88, + 88, 88, 173, 107, 94, -425, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, -551, 88, + 88, -437, -438, 88, 88, -418, -374, 88, 94, 94, + 88, 88, 88, 94, 88, 88, 88, -438, -438, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, - 88, 88, -237, 174, -236, 88, -236, -237, -217, -216, - 35, 36, 35, 36, 35, 36, 35, 36, -653, 687, - 88, 104, 710, 240, -250, -398, -251, -398, -160, 19, - 715, -398, 696, -635, 35, 585, 364, 585, 585, 364, - 585, 249, 18, 352, 57, 353, 529, 14, 186, 187, - 188, -398, 185, 263, -398, -445, 265, -445, -445, -445, - -267, -398, 286, 421, 262, 577, 262, -200, -445, 19, - -445, -445, -445, -445, 261, -445, 26, 259, 259, 259, - 259, -445, 547, 130, 130, 62, -246, -226, 174, -604, - -245, 88, -614, 190, -635, 522, 705, 706, 707, 85, - -410, 138, 142, -410, -355, 20, -355, 26, 26, 288, - 288, 288, -410, 328, -661, -662, 19, 140, -408, -662, - -408, -408, -410, -663, 261, 510, 46, 289, 288, -238, - -239, 24, -238, 504, 500, -502, 505, 506, -412, -662, - -411, -410, -410, -411, -410, -410, 369, -410, 35, 364, - 365, 259, 262, 540, 363, 691, -661, -661, 34, 34, - -537, -537, -283, -537, -398, 265, -460, -537, 575, -387, - -398, -537, -537, -537, -338, -339, -283, -615, 264, 707, - -647, -646, 527, -649, 529, 179, -479, 179, -479, 91, - -459, 290, 290, 174, 130, 26, -480, 130, 141, -479, - -479, -480, -480, -308, 44, -397, 170, -398, 94, -308, - 44, -644, -643, -283, -237, -217, -216, 89, 89, 89, - 585, -635, -537, -537, -537, -537, -537, -537, -538, -537, - -537, -537, -537, -537, -405, -258, -398, -269, 265, -537, - 364, -537, -537, -537, -218, -219, 151, -425, -398, -222, - -3, -164, -163, 124, 125, 127, 681, 416, 680, 684, - 678, -479, 44, -531, 164, 163, -525, -527, 88, -526, - 88, -526, -526, -526, -526, -526, 88, 88, -528, 88, - -528, -528, -525, -529, 88, -529, -530, 88, -530, -529, - -398, -506, 14, -431, -433, -398, 42, -237, -155, 42, - -239, 23, -548, 64, -213, 88, 34, 88, -398, 204, - 184, 695, 38, 100, 173, 104, 94, -126, -107, 80, - -126, -107, -107, 89, 174, -608, 110, 111, -610, 94, - 222, 213, -398, -124, 94, -574, -7, -12, -8, -10, - -11, -53, -92, -213, 583, 586, -577, -575, 88, 35, - 468, 85, 19, -486, 259, 540, 421, 286, 262, 397, - -484, -466, -463, -461, -397, -459, -462, -461, -489, -374, - 500, -156, 483, 482, 340, -425, -425, -425, -425, -425, - 109, 120, 386, 110, 111, -420, -441, 35, 336, 337, - -421, -421, -421, -421, -421, -421, -421, -421, -421, -421, - -421, -421, -423, -423, -429, -439, -518, 88, 140, 138, - 142, 139, 122, -423, -423, -421, -421, -288, -290, 163, - 164, -310, -397, 170, 89, 174, -425, -601, -600, 124, - -425, -425, -425, -425, -452, -454, -374, 88, -398, -597, - -598, 555, 556, 557, 558, 559, 560, 561, 562, 563, - 564, 565, 412, 407, 413, 411, 400, 419, 414, 415, - 206, 572, 573, 566, 567, 568, 569, 570, 571, -431, - -431, -425, -597, -431, -367, 36, 35, -433, -433, -433, - 89, -425, -611, 384, 383, 385, -241, -398, -431, 89, - 89, 89, 104, -433, -433, -431, -421, -431, -431, -431, - -431, -598, -598, -599, 276, 203, 205, 204, -367, -367, - -367, -367, 151, -433, -433, -367, -367, -367, -367, 151, - -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, - -367, 89, 89, 89, 89, -425, 89, -425, -425, -425, - -425, -425, 151, -433, -238, -154, -556, -555, -425, 44, - -155, -239, -654, 688, 88, -374, -642, 94, 94, 715, - -160, 173, 19, 259, -160, 173, 696, 184, -160, 19, - -398, -398, 94, 104, -398, 94, 104, 259, 540, 259, - 540, -283, -283, -283, 530, 531, 183, 187, 186, -398, - 185, -398, -398, 120, -398, -398, -398, 38, -269, -258, - -445, -445, -445, -619, -398, 95, 94, -467, -464, -461, - -398, -398, -457, -398, -387, -283, -445, -445, -445, -445, - -283, -319, 56, 57, 58, -461, -201, 59, 60, -547, - 64, -213, 88, 34, -246, -603, 38, -244, -398, -615, - -141, 26, 290, -355, -423, -423, -425, 397, 540, 259, - -461, 290, -661, -410, -410, -388, -387, -412, -407, -412, - -412, -355, -408, -410, -410, -425, -412, -408, -355, -398, - 500, -355, -355, -502, -387, -410, 94, -409, -398, -409, - -445, -387, -388, -388, -283, -283, -333, -340, -334, -341, - 282, 256, 405, 406, 252, 250, 11, 251, -349, 329, - -446, 548, -314, -315, 80, 45, -317, 280, 445, 441, - 292, 296, 98, 297, 478, 298, 261, 300, 301, 302, - 317, 319, 272, 303, 304, 305, 469, 306, 178, 318, - 307, 308, 309, 423, -309, 6, 371, 44, 54, 55, - 492, 491, 596, 14, 293, -398, 448, 586, 34, 39, - 252, 256, 251, -619, -617, 34, -398, 34, -467, -461, - -398, -398, 174, 263, -229, -231, -228, -224, -225, -230, - -358, -360, -227, 88, -283, -216, -398, -479, 174, 528, - 530, 531, -647, -480, -647, -480, 263, 35, 468, -483, - 468, 35, -457, -477, 524, 526, -472, 94, 469, -462, - -482, 85, 170, -555, -480, -480, -482, -482, 160, 174, - -645, 529, 530, 246, -238, 104, -265, 698, -398, -285, - -283, -619, -466, -457, -398, -537, -285, -285, -285, -400, - -400, 88, 173, 39, -398, -537, -398, -398, -398, -354, - 174, -353, 19, -399, -398, 38, 94, 173, -165, -163, - 126, -425, -6, 680, -425, -6, -6, -425, -6, -425, - -535, 166, 104, 104, -377, 94, -377, 104, 104, 104, - 599, 89, 94, -238, 665, -240, 23, -235, -234, -425, - -549, -434, -595, 664, -248, 89, -241, -593, -594, -241, - -247, -398, -275, 130, 130, 130, 27, -537, -398, 26, - -126, -107, -606, 173, 174, -244, -486, -465, -462, -488, - 151, -398, -473, 174, 14, 718, 92, 263, -632, -631, - 460, 89, 174, -559, 264, 547, 94, 715, 476, 240, - 241, 109, 386, 110, 111, -518, -433, -429, -423, -423, - -421, -421, -427, 277, -427, 119, -298, 169, 168, -298, - -425, 716, -424, -600, 126, -425, 38, 174, 38, 174, - 86, 174, 89, -525, -425, 173, 89, 89, 19, 19, - 89, -425, 89, 89, 89, 89, 19, 19, -425, 89, - 173, 89, 89, 89, 89, 86, 89, 174, 89, 89, - 89, 89, 174, 174, 174, -433, -433, -425, -433, 89, - 89, 89, -425, -425, -425, -433, 89, -425, -425, -425, - -425, -425, -425, -425, -425, -425, -425, -244, -496, 495, - -496, -496, -496, 89, -496, 89, 174, 89, 174, 89, - 89, 174, 174, 174, 174, 89, -240, 88, 104, 174, - 711, -381, -380, 94, -161, 263, -398, 696, -398, -161, - -398, -398, 130, -161, 696, 94, 94, -283, -387, -283, - -387, 591, 42, 42, 184, 188, 188, 187, -398, 94, - 39, 26, 26, 327, -136, 587, -268, 88, 88, -283, - -283, -283, -621, 446, -398, -633, 174, 44, -631, 540, - -197, 340, -449, 86, -204, 347, 19, 14, -283, -283, - -283, -283, -297, 38, -470, 85, -549, -248, 89, -593, - -547, 88, 89, 174, 19, -223, -284, -398, -143, 24, - -398, -460, -398, -398, -398, -458, 86, -398, -388, -355, - -355, -412, -355, -355, 174, 25, -410, -412, -412, -275, - -408, -275, 173, -275, -387, -524, 38, -245, 174, 23, - 282, -282, -395, -279, -281, 267, -415, -280, 270, -589, - 268, 266, 114, 271, 325, 115, 261, -395, -395, 267, - -318, 263, 38, -395, -336, 261, 389, 325, 268, 23, - 282, -335, 261, 115, -398, 267, 271, 268, 266, -394, - 130, -386, 160, 263, 46, 423, -394, 597, 282, -394, - -394, -394, -394, -394, -394, -394, 299, 299, -394, -394, - -394, -394, -394, -394, -394, -394, -394, -394, -394, 179, - -394, -394, -394, -394, -394, -394, 88, 294, 295, 327, - 587, 124, 599, 589, -460, 263, 515, 515, -622, 446, - 34, 403, 403, 404, -633, 399, 45, 34, -205, 397, - -339, -337, -409, 34, -361, -362, -363, -364, -366, -365, - 71, 75, 77, 81, 72, 73, 74, 503, 78, 83, - 76, 34, 174, -396, -401, 38, -398, 94, -396, -216, - -231, -229, -396, 88, -480, -646, -648, 532, 529, 535, - -482, -482, 104, 263, 88, 130, -482, -482, 44, -397, - -643, 536, 530, -240, 174, 85, -285, -259, -260, -261, - -262, -290, -374, 208, 211, 213, 214, 215, 216, 218, - 219, 220, 221, 222, 225, 226, 223, 224, 276, 203, - 204, 205, 206, 191, 209, 592, 192, 193, 194, 168, - 169, 195, 198, 199, 200, 201, 197, 227, 228, 229, - 230, 231, 232, 233, 234, -398, -269, 94, 19, -265, - -355, -219, -231, -398, 94, -398, 151, 127, -6, 125, - -169, -168, -167, 128, 678, 684, 127, 127, 127, 89, - 89, 89, 174, 89, 89, 89, 174, 89, 174, 104, - -562, 505, -240, 94, -155, 641, 174, -232, 40, 41, - 174, 88, 89, 174, 64, 174, 130, 89, 174, -425, - -398, 94, -425, 204, 94, 173, 478, -398, -575, 89, - -488, 174, 263, 173, 173, -463, 426, -397, -465, 23, - 14, -374, 42, -381, 130, 715, -398, 89, -427, -427, - 119, -423, -420, 89, 127, -425, 125, -288, -425, -288, - -289, -295, 170, 207, 276, 206, 205, 203, 163, 164, - -308, -454, 591, -232, 89, -398, -425, -425, 89, -425, - -425, 19, -398, -308, -421, -425, -425, -425, -237, -237, - 89, 89, -495, -496, -495, -495, 89, 89, 89, 89, - -495, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 88, -496, -496, -425, -496, -425, -496, -496, - -425, 104, 106, 104, 106, -555, -155, -655, 66, 686, - 65, 468, 109, 330, 174, 104, 94, 716, 174, 130, - 397, -398, 19, 173, 94, -398, 94, -398, 19, 19, - -283, -283, -283, 188, 94, -634, 334, 397, 540, 259, - 397, 334, 540, 259, -507, 104, -137, 124, 94, 434, - -270, -271, -272, -273, -274, 140, 175, 176, -259, -245, - 88, -245, -624, 507, 448, 458, -394, 363, -417, -416, - 399, 45, -542, 469, 454, 455, -464, 290, -387, 151, - -630, 101, 130, 85, 375, 379, 381, 380, 376, 377, - 378, -443, -444, -442, -446, -387, 94, -617, 88, 88, - -213, 38, 138, -204, 347, 19, 88, 88, 38, -519, - 360, -290, 43, 89, 64, -1, -398, -283, -223, -398, - 19, 174, -616, 173, 104, -398, -457, -410, -355, -425, - -425, -355, -410, -410, -412, -398, -275, -519, -290, 38, - -334, 256, 251, -492, 327, 328, -493, -509, 330, -511, - 88, -287, -374, -280, -588, -589, -445, -398, 115, -588, - 115, 88, -287, -374, -374, -337, -374, -398, -398, -398, - -398, -344, -343, -374, -347, 35, -348, -398, -398, -398, - -398, 115, -398, 115, -313, 44, 51, 52, 53, -394, - -394, 210, -316, 44, 468, 470, 471, -347, 104, 104, - 104, 104, 94, 94, 94, -394, -394, 104, 94, -401, - 94, -590, 187, 48, 49, 104, 104, 104, 104, 44, - 94, -321, 44, 310, 314, 311, 312, 313, 94, 104, - 44, 104, 44, 104, 44, -398, 88, -591, -592, 94, - -507, 94, 88, 104, 94, 252, -460, 94, 85, -624, - -394, 403, -479, 130, 130, -417, -626, 98, 449, -626, - -629, 340, -207, 540, 35, -249, 256, 251, -617, -469, - -468, -374, -228, -228, -228, -228, -228, -228, 71, 82, - 71, -242, 88, 71, 76, 71, 76, 71, 76, 71, - -363, 71, 82, -469, -230, -245, -401, 89, -640, -639, - -638, -636, 79, 264, 80, -431, -482, 529, 533, 534, - -465, -413, 94, -472, -155, -283, -283, -540, 320, 321, - 89, 174, -290, -398, -357, 21, 173, 123, -6, -165, - -167, -425, -6, -425, 680, 416, 681, 94, 104, 104, - -570, 489, 484, 486, -155, -571, 476, 14, -234, -233, - 47, -434, -557, -556, 64, -213, -241, -549, -594, -555, - -398, 716, 716, 716, 716, 94, -398, 104, 19, -462, - -457, 151, 151, -398, 427, -473, 94, 447, 94, 259, - 716, 94, -381, -420, -425, 89, 38, 89, 89, -526, - -526, -525, -528, -525, -298, -298, 89, 88, -232, 89, - 26, 89, 89, 89, -425, 89, 89, 174, 174, 89, - -545, 549, -546, 626, -495, -495, -495, -495, -495, -495, + 88, 88, 88, 88, 88, -237, 174, -236, 88, -236, + -237, -217, -216, 35, 36, 35, 36, 35, 36, 35, + 36, -653, 690, 88, 104, 713, 240, -250, -398, -251, + -398, -160, 19, 718, -398, 699, -635, 35, 588, 364, + 588, 588, 364, 588, 249, 18, 352, 57, 353, 532, + 14, 186, 187, 188, -398, 185, 263, -398, -445, 265, + -445, -445, -445, -267, -398, 286, 424, 262, 580, 262, + -200, -445, 19, -445, -445, -445, -445, 261, -445, 26, + 259, 259, 259, 259, -445, 550, 130, 130, 62, -246, + -226, 174, -604, -245, 88, -614, 190, -635, 525, 708, + 709, 710, 85, -410, 138, 142, -410, -355, 20, -355, + 26, 26, 288, 288, 288, -410, 328, -661, -662, 19, + 140, -408, -662, -408, -408, -410, -663, 261, 513, 46, + 289, 288, -238, -239, 24, -238, 507, 503, -502, 508, + 509, -412, -662, -411, -410, -410, -411, -410, -410, 369, + -410, 35, 364, 365, 259, 262, 543, 363, 694, -661, + -661, 34, 34, -537, -537, -283, -537, -398, 265, -460, + -537, 578, -387, -398, -537, -537, -537, -338, -339, -283, + -615, 264, 710, -647, -646, 530, -649, 532, 179, -479, + 179, -479, 91, -459, 290, 290, 174, 130, 26, -480, + 130, 141, -479, -479, -480, -480, -308, 44, -397, 170, + -398, 94, -308, 44, -644, -643, -283, -237, -217, -216, + 89, 89, 89, 588, -635, -537, -537, -537, -537, -537, + -537, -538, -537, -537, -537, -537, -537, -405, -258, -398, + -269, 265, -537, 364, -537, -537, -537, -218, -219, 151, + -425, -398, -222, -3, -164, -163, 124, 125, 127, 684, + 419, 683, 687, 681, -479, 44, -531, 164, 163, -525, + -527, 88, -526, 88, -526, -526, -526, -526, -526, 88, + 88, -528, 88, -528, -528, -525, -529, 88, -529, -530, + 88, -530, -529, -398, -506, 14, -431, -433, -398, 42, + -237, -155, 42, -239, 23, -548, 64, -213, 88, 34, + 88, -398, 204, 184, 698, 38, 100, 173, 104, 94, + -126, -107, 80, -126, -107, -107, 89, 174, -608, 110, + 111, -610, 94, 222, 213, -398, -124, 94, -574, -7, + -12, -8, -10, -11, -53, -92, -213, 586, 589, -577, + -575, 88, 35, 471, 85, 19, -486, 259, 543, 424, + 286, 262, 400, -484, -466, -463, -461, -397, -459, -462, + -461, -489, -374, 503, -156, 486, 485, 340, -425, -425, + -425, -425, -425, 109, 120, 389, 110, 111, -420, -441, + 35, 336, 337, -421, -421, -421, -421, -421, -421, -421, + -421, -421, -421, -421, -421, -423, -423, -429, -439, -518, + 88, 140, 138, 142, 139, 122, -423, -423, -421, -421, + -288, -290, 163, 164, -310, -397, 170, 89, 174, -425, + -601, -600, 124, -425, -425, -425, -425, -452, -454, -374, + 88, -398, -597, -598, 558, 559, 560, 561, 562, 563, + 564, 565, 566, 567, 568, 415, 410, 416, 414, 403, + 422, 417, 418, 206, 575, 576, 569, 570, 571, 572, + 573, 574, -431, -431, -425, -597, -431, -367, 36, 35, + -433, -433, -433, 89, -425, -611, 387, 386, 388, -241, + -398, -431, 89, 89, 89, 104, -433, -433, -431, -421, + -431, -431, -431, -431, -598, -598, -599, 276, 203, 205, + 204, -367, -367, -367, -367, 151, -433, -433, -367, -367, + -367, -367, 151, -367, -367, -367, -367, -367, -367, -367, + -367, -367, -367, -367, 89, 89, 89, 89, -425, 89, + -425, -425, -425, -425, -425, 151, -433, -238, -154, -556, + -555, -425, 44, -155, -239, -654, 691, 88, -374, -642, + 94, 94, 718, -160, 173, 19, 259, -160, 173, 699, + 184, -160, 19, -398, -398, 94, 104, -398, 94, 104, + 259, 543, 259, 543, -283, -283, -283, 533, 534, 183, + 187, 186, -398, 185, -398, -398, 120, -398, -398, -398, + 38, -269, -258, -445, -445, -445, -619, -398, 95, 94, + -467, -464, -461, -398, -398, -457, -398, -387, -283, -445, + -445, -445, -445, -283, -319, 56, 57, 58, -461, -201, + 59, 60, -547, 64, -213, 88, 34, -246, -603, 38, + -244, -398, -615, -141, 26, 290, -355, -423, -423, -425, + 400, 543, 259, -461, 290, -661, -410, -410, -388, -387, + -412, -407, -412, -412, -355, -408, -410, -410, -425, -412, + -408, -355, -398, 503, -355, -355, -502, -387, -410, 94, + -409, -398, -409, -445, -387, -388, -388, -283, -283, -333, + -340, -334, -341, 282, 256, 408, 409, 252, 250, 11, + 251, -349, 253, 329, -446, 551, -314, -315, 80, 45, + -317, 280, 448, 444, 292, 296, 98, 297, 481, 298, + 261, 300, 301, 302, 317, 319, 272, 303, 304, 305, + 472, 306, 178, 318, 307, 308, 309, 426, -309, 6, + 371, 372, 373, 374, 44, 54, 55, 495, 494, 599, + 14, 293, -398, 451, 589, 34, 39, 252, 256, 251, + -619, -617, 34, -398, 34, -467, -461, -398, -398, 174, + 263, -229, -231, -228, -224, -225, -230, -358, -360, -227, + 88, -283, -216, -398, -479, 174, 531, 533, 534, -647, + -480, -647, -480, 263, 35, 471, -483, 471, 35, -457, + -477, 527, 529, -472, 94, 472, -462, -482, 85, 170, + -555, -480, -480, -482, -482, 160, 174, -645, 532, 533, + 246, -238, 104, -265, 701, -398, -285, -283, -619, -466, + -457, -398, -537, -285, -285, -285, -400, -400, 88, 173, + 39, -398, -537, -398, -398, -398, -354, 174, -353, 19, + -399, -398, 38, 94, 173, -165, -163, 126, -425, -6, + 683, -425, -6, -6, -425, -6, -425, -535, 166, 104, + 104, -377, 94, -377, 104, 104, 104, 602, 89, 94, + -238, 668, -240, 23, -235, -234, -425, -549, -434, -595, + 667, -248, 89, -241, -593, -594, -241, -247, -398, -275, + 130, 130, 130, 27, -537, -398, 26, -126, -107, -606, + 173, 174, -244, -486, -465, -462, -488, 151, -398, -473, + 174, 14, 721, 92, 263, -632, -631, 463, 89, 174, + -559, 264, 550, 94, 718, 479, 240, 241, 109, 389, + 110, 111, -518, -433, -429, -423, -423, -421, -421, -427, + 277, -427, 119, -298, 169, 168, -298, -425, 719, -424, + -600, 126, -425, 38, 174, 38, 174, 86, 174, 89, + -525, -425, 173, 89, 89, 19, 19, 89, -425, 89, + 89, 89, 89, 19, 19, -425, 89, 173, 89, 89, + 89, 89, 86, 89, 174, 89, 89, 89, 89, 174, + 174, 174, -433, -433, -425, -433, 89, 89, 89, -425, + -425, -425, -433, 89, -425, -425, -425, -425, -425, -425, + -425, -425, -425, -425, -244, -496, 498, -496, -496, -496, + 89, -496, 89, 174, 89, 174, 89, 89, 174, 174, + 174, 174, 89, -240, 88, 104, 174, 714, -381, -380, + 94, -161, 263, -398, 699, -398, -161, -398, -398, 130, + -161, 699, 94, 94, -283, -387, -283, -387, 594, 42, + 42, 184, 188, 188, 187, -398, 94, 39, 26, 26, + 327, -136, 590, -268, 88, 88, -283, -283, -283, -621, + 449, -398, -633, 174, 44, -631, 543, -197, 340, -449, + 86, -204, 347, 19, 14, -283, -283, -283, -283, -297, + 38, -470, 85, -549, -248, 89, -593, -547, 88, 89, + 174, 19, -223, -284, -398, -143, 24, -398, -460, -398, + -398, -398, -458, 86, -398, -388, -355, -355, -412, -355, + -355, 174, 25, -410, -412, -412, -275, -408, -275, 173, + -275, -387, -524, 38, -245, 174, 23, 282, -282, -395, + -279, -281, 267, -415, -280, 270, -589, 268, 266, 114, + 271, 325, 115, 261, -395, -395, 267, -318, 263, 38, + -395, -336, 261, 392, 325, 268, 23, 282, -335, 261, + 115, -398, 267, 271, 268, 266, 372, -394, 130, -386, + 160, 263, 46, 426, -394, 600, 282, -394, -394, -394, + -394, -394, -394, -394, 299, 299, -394, -394, -394, -394, + -394, -394, -394, -394, -394, -394, -394, 179, -394, -394, + -394, -394, -394, -394, 88, -394, -394, -394, 294, 295, + 327, 590, 124, 602, 592, -460, 263, 518, 518, -622, + 449, 34, 406, 406, 407, -633, 402, 45, 34, -205, + 400, -339, -337, -409, 34, -361, -362, -363, -364, -366, + -365, 71, 75, 77, 81, 72, 73, 74, 506, 78, + 83, 76, 34, 174, -396, -401, 38, -398, 94, -396, + -216, -231, -229, -396, 88, -480, -646, -648, 535, 532, + 538, -482, -482, 104, 263, 88, 130, -482, -482, 44, + -397, -643, 539, 533, -240, 174, 85, -285, -259, -260, + -261, -262, -290, -374, 208, 211, 213, 214, 215, 216, + 218, 219, 220, 221, 222, 225, 226, 223, 224, 276, + 203, 204, 205, 206, 191, 209, 595, 192, 193, 194, + 168, 169, 195, 198, 199, 200, 201, 197, 227, 228, + 229, 230, 231, 232, 233, 234, -398, -269, 94, 19, + -265, -355, -219, -231, -398, 94, -398, 151, 127, -6, + 125, -169, -168, -167, 128, 681, 687, 127, 127, 127, + 89, 89, 89, 174, 89, 89, 89, 174, 89, 174, + 104, -562, 508, -240, 94, -155, 644, 174, -232, 40, + 41, 174, 88, 89, 174, 64, 174, 130, 89, 174, + -425, -398, 94, -425, 204, 94, 173, 481, -398, -575, + 89, -488, 174, 263, 173, 173, -463, 429, -397, -465, + 23, 14, -374, 42, -381, 130, 718, -398, 89, -427, + -427, 119, -423, -420, 89, 127, -425, 125, -288, -425, + -288, -289, -295, 170, 207, 276, 206, 205, 203, 163, + 164, -308, -454, 594, -232, 89, -398, -425, -425, 89, + -425, -425, 19, -398, -308, -421, -425, -425, -425, -237, + -237, 89, 89, -495, -496, -495, -495, 89, 89, 89, + 89, -495, 89, 89, 89, 89, 89, 89, 89, 89, + 89, 89, 89, 88, -496, -496, -425, -496, -425, -496, + -496, -425, 104, 106, 104, 106, -555, -155, -655, 66, + 689, 65, 471, 109, 330, 174, 104, 94, 719, 174, + 130, 400, -398, 19, 173, 94, -398, 94, -398, 19, + 19, -283, -283, -283, 188, 94, -634, 334, 400, 543, + 259, 400, 334, 543, 259, -507, 104, -137, 124, 94, + 437, -270, -271, -272, -273, -274, 140, 175, 176, -259, + -245, 88, -245, -624, 510, 451, 461, -394, 363, -417, + -416, 402, 45, -542, 472, 457, 458, -464, 290, -387, + 151, -630, 101, 130, 85, 378, 382, 384, 383, 379, + 380, 381, -443, -444, -442, -446, -387, 94, -617, 88, + 88, -213, 38, 138, -204, 347, 19, 88, 88, 38, + -519, 360, -290, 43, 89, 64, -1, -398, -283, -223, + -398, 19, 174, -616, 173, 104, -398, -457, -410, -355, + -425, -425, -355, -410, -410, -412, -398, -275, -519, -290, + 38, -334, 256, 251, -492, 327, 328, -493, -509, 330, + -511, 88, -287, -374, -280, -588, -589, -445, -398, 115, + -588, 115, 88, -287, -374, -374, -337, -374, -398, -398, + -398, -398, -344, -343, -374, -347, 35, -348, -398, -398, + -398, -398, 115, -398, 115, -313, 44, 51, 52, 53, + -394, -394, 210, -316, 44, 471, 473, 474, -347, 104, + 104, 104, 104, 94, 94, 94, -394, -394, 104, 94, + -401, 94, -590, 187, 48, 49, 104, 104, 104, 104, + 44, 94, -321, 44, 310, 314, 311, 312, 313, 94, + 104, 44, 104, 44, 104, 44, -398, 88, -591, -592, + 94, -374, 94, 94, -507, 94, 88, 104, 94, 252, + -460, 94, 85, -624, -394, 406, -479, 130, 130, -417, + -626, 98, 452, -626, -629, 340, -207, 543, 35, -249, + 256, 251, -617, -469, -468, -374, -228, -228, -228, -228, + -228, -228, 71, 82, 71, -242, 88, 71, 76, 71, + 76, 71, 76, 71, -363, 71, 82, -469, -230, -245, + -401, 89, -640, -639, -638, -636, 79, 264, 80, -431, + -482, 532, 536, 537, -465, -413, 94, -472, -155, -283, + -283, -540, 320, 321, 89, 174, -290, -398, -357, 21, + 173, 123, -6, -165, -167, -425, -6, -425, 683, 419, + 684, 94, 104, 104, -570, 492, 487, 489, -155, -571, + 479, 14, -234, -233, 47, -434, -557, -556, 64, -213, + -241, -549, -594, -555, -398, 719, 719, 719, 719, 94, + -398, 104, 19, -462, -457, 151, 151, -398, 430, -473, + 94, 450, 94, 259, 719, 94, -381, -420, -425, 89, + 38, 89, 89, -526, -526, -525, -528, -525, -298, -298, + 89, 88, -232, 89, 26, 89, 89, 89, -425, 89, + 89, 174, 174, 89, -545, 552, -546, 629, -495, -495, -495, -495, -495, -495, -495, -495, -495, -495, -495, -495, - -495, -436, -435, 282, 89, 174, 89, 174, 89, 490, - 693, 693, 490, 693, 693, 89, 174, -597, 174, -389, - 335, -389, -380, 94, -398, 94, 696, -398, 716, 716, - 94, -283, -387, -252, 506, -210, 124, -211, 122, 46, - 94, -398, 19, -398, -398, 327, -398, 327, -398, -398, - 94, -142, 599, 88, -139, 588, 94, 89, 174, -374, - 89, 38, -276, -277, -278, -287, -279, -281, 38, -625, - 98, -620, 94, -398, 95, -398, -626, 172, 401, 44, - 450, 451, 466, 396, 104, 104, 456, -618, -398, -206, - 259, 397, -206, -628, 55, 130, 94, -283, -442, -386, - 160, 301, -275, -398, 363, -352, -351, -398, 94, -276, - -213, -283, -283, 94, -276, -276, -213, -520, 362, 23, - 104, 150, 115, 64, -213, -549, 89, -246, 86, 173, - -231, -284, -398, 151, -355, -275, -355, -355, -410, -520, - -213, -504, 331, 88, -502, 88, -502, 115, 376, -512, - -510, 282, -342, 48, 50, -290, -586, -398, -584, -586, - -398, -584, -584, -445, -425, -342, -287, 263, 34, 251, - -345, 379, 373, 374, 379, 381, -474, 326, 120, -474, - 174, -232, 174, -398, -308, -308, 34, 94, 94, -285, - 89, 174, 130, 94, -139, -138, -425, -214, -216, 263, - 85, 259, -625, -620, 130, -480, 94, 94, -626, 94, - 94, -630, 130, -286, 259, -387, 174, -249, -249, -355, - 19, 174, 130, -254, -253, 85, 86, -255, 85, -253, - -253, 71, -243, 94, 71, 71, 71, -355, -638, -637, - 26, -589, -589, -589, 89, 89, -256, 26, -261, 44, - 363, -356, 22, 23, 151, 127, 125, 127, 127, -398, - 89, 89, -532, 666, -566, -568, 484, 23, 23, -256, - -572, 671, 94, 427, 48, 49, 89, -549, 716, -457, - -473, 469, -283, 174, 716, -288, -327, 94, -425, 89, - -425, -425, 89, 94, 89, 94, -237, 23, -496, -425, - -496, -425, -496, 89, 174, 89, 89, 89, 174, 89, - 89, -425, 89, -597, -390, 204, 94, -390, -398, -399, - -209, 263, -275, -212, 358, 88, 354, -210, 184, 88, - 94, -398, 19, -398, -507, 327, -507, 327, 259, -398, - -265, -140, 589, 104, -138, 94, -450, 593, -272, -290, - 257, -213, 89, 174, -213, 94, -623, 460, -508, 368, - 104, 44, 104, 172, 452, -543, -198, 98, -285, 35, - -249, -198, -627, 98, 130, 715, 88, -394, -394, -394, - -209, 363, -398, 89, 174, -394, -394, 89, -209, -398, - 89, 89, -306, 14, -521, 281, 104, 150, 104, 150, - 104, 17, 264, -549, -396, -231, -398, -355, -616, 173, - -355, -521, -494, 332, 104, -421, 88, -421, 88, -503, - 329, 88, 89, 174, -398, -374, -303, -302, -300, 109, - 120, 44, 441, -301, 98, 160, 315, 318, 317, 293, - 316, -332, -414, 85, 659, 444, 373, 374, -446, 666, - 579, 674, 38, 266, 114, 115, 428, -415, 88, 88, - 86, 335, 88, 88, -586, 89, -342, -374, 44, -345, - 44, -346, 395, -455, 326, -343, -398, 160, -308, 89, - -592, 94, 89, -460, 259, -398, -623, 94, -482, -628, - 94, -198, -285, -617, -237, -231, -468, -555, -425, 88, - -425, 89, 88, 71, 11, 21, 17, -418, -398, -425, - -433, 700, 702, 703, 265, -6, 681, 416, -323, 667, - 94, 23, 94, -564, 94, -562, 94, -433, -158, -320, - -386, 298, 89, -326, 140, 14, 89, 89, 89, -495, - -495, -498, -497, -501, 490, 327, 498, -433, 89, 89, - 94, 94, 89, 89, 94, 94, 397, -209, 38, 434, - 24, 605, 359, -244, 355, 356, 357, -398, 94, -433, - -214, 715, 363, -398, 19, 94, -507, 94, -507, -398, - 327, 38, 94, 89, 94, 94, -263, -290, -202, 14, - -306, -278, -202, 23, 14, 172, 400, 44, 104, 44, - 453, 94, -206, 130, 110, 111, -382, -383, 94, -452, - -308, -310, 94, -398, -351, -418, -418, -304, -213, 38, - -305, -349, -446, 363, -157, -156, -304, 88, -522, 178, - 104, 150, 104, 104, -469, -355, -355, -522, -511, 23, - 89, -489, 89, -489, 88, 130, -421, -510, -513, 64, - -300, 109, -421, 94, -310, -311, 44, 314, 310, 130, - 130, -312, 44, 294, 295, -322, 88, 325, 17, 104, - 210, 88, 675, 88, 115, 115, -283, -452, -452, -587, - 375, 376, 377, 382, 379, 380, 378, 381, -587, -452, - -452, 88, -475, -474, -421, -455, 130, -456, 272, 387, - 388, 98, 14, 373, 374, 392, 391, 390, 393, 394, - 395, 400, 411, -394, 160, -398, 173, -627, -238, -355, - -244, -585, -398, 266, 23, 23, -541, 14, 701, 88, - 88, -398, -398, -378, 668, 104, 94, 486, -570, -533, - 669, -560, -502, -308, 130, 89, 78, 592, 594, 89, - -500, 122, 452, 456, -419, -422, 104, 106, 202, -496, - -496, 89, 89, -398, -283, 94, 104, 89, 119, 119, - 89, 89, -385, -384, 94, -398, 363, -398, -265, 94, - -265, 94, 327, -507, -2, 593, -203, 63, 536, 94, - 95, 447, 94, 95, 104, 400, -198, 94, 716, 174, - 130, 89, -508, -490, 282, -213, 174, -349, -386, -398, - -158, -490, -307, -350, -398, 94, -539, 187, 361, 14, - 104, 150, 104, -237, -523, 187, 361, -493, 89, 89, - 89, -489, 104, 89, -517, -514, 88, -349, 284, 140, - 94, 94, 104, 88, -550, 34, 94, 38, -425, -453, - 88, 89, 89, 89, 89, -452, 110, 111, -394, -394, - 94, 94, 372, -394, -394, -394, 130, -394, -394, -308, - -394, 173, -398, 89, 89, 174, 703, 88, -433, -433, - 88, 23, -532, -534, 670, 94, -569, 489, -563, -561, - 484, 485, 486, 487, 94, 593, 68, 595, -499, -500, - 456, -419, -422, 664, 496, 496, 496, -398, 94, 716, - 174, 130, -398, 363, -265, -265, -507, 94, -266, -398, - 325, 469, -383, 94, -455, -491, 334, 23, -349, -394, - -508, -491, 89, 174, -394, -394, 361, 104, 150, 104, - -238, 361, -505, 333, 89, -517, -349, -516, -515, 332, - 285, 88, 89, -425, -437, -394, 89, 88, 89, -325, - -324, 590, -452, -455, 86, -455, 86, -455, 86, -455, - 86, 89, 104, 104, -398, 104, 104, 104, 110, 111, - 104, 104, -308, -398, -398, 266, -153, 88, 89, 89, - -379, -398, -564, -323, 94, -573, 264, -567, -568, 488, - -561, 23, 486, 23, 23, -159, 174, 68, 119, 497, - 497, 497, -210, -211, -210, -211, -265, -384, 94, -398, - 94, -265, -264, 38, 491, 427, 23, -492, -308, -350, - -418, -418, 104, 104, 89, 174, -398, 281, 88, -432, - -426, -425, 281, 89, -398, -425, -476, 677, 676, -331, - -329, -330, 85, 503, 323, 324, 89, -587, -587, -587, - -587, -332, 89, 174, -431, 89, 174, -378, -580, 88, - 104, -566, -565, -567, 23, -564, 23, -564, -564, 493, - 14, -499, -210, -210, -265, 94, -374, 88, -504, -515, - -514, -432, 89, 174, -474, 89, -330, 85, -329, 85, - 18, 17, -455, -455, -455, -455, 88, 89, -398, -583, - 34, 89, -579, -578, -375, -574, -398, 489, 490, 94, - -564, 130, 594, -658, -657, 692, -489, -494, 89, -426, - -476, -328, 320, 321, 34, 187, -328, -431, -582, -581, - -376, 89, 174, 173, 94, 595, 94, 89, -511, 109, - 44, 322, 89, 174, 130, -578, -398, -581, 44, -425, - 173, -398, + -495, -495, -495, -495, -495, -436, -435, 282, 89, 174, + 89, 174, 89, 493, 696, 696, 493, 696, 696, 89, + 174, -597, 174, -389, 335, -389, -380, 94, -398, 94, + 699, -398, 719, 719, 94, -283, -387, -252, 509, -210, + 124, -211, 122, 46, 94, -398, 19, -398, -398, 327, + -398, 327, -398, -398, 94, -142, 602, 88, -139, 591, + 94, 89, 174, -374, 89, 38, -276, -277, -278, -287, + -279, -281, 38, -625, 98, -620, 94, -398, 95, -398, + -626, 172, 404, 44, 453, 454, 469, 399, 104, 104, + 459, -618, -398, -206, 259, 400, -206, -628, 55, 130, + 94, -283, -442, -386, 160, 301, -275, -398, 363, -352, + -351, -398, 94, -276, -213, -283, -283, 94, -276, -276, + -213, -520, 362, 23, 104, 150, 115, 64, -213, -549, + 89, -246, 86, 173, -231, -284, -398, 151, -355, -275, + -355, -355, -410, -520, -213, -504, 331, 88, -502, 88, + -502, 115, 379, -512, -510, 282, -342, 48, 50, -290, + -586, -398, -584, -586, -398, -584, -584, -445, -425, -342, + -287, 263, 34, 251, -345, 382, 376, 377, 382, 384, + -474, 326, 120, -474, 174, -232, 174, -398, -308, -308, + 34, 94, 94, -285, 89, 174, 130, 149, 94, -139, + -138, -425, -214, -216, 263, 85, 259, -625, -620, 130, + -480, 94, 94, -626, 94, 94, -630, 130, -286, 259, + -387, 174, -249, -249, -355, 19, 174, 130, -254, -253, + 85, 86, -255, 85, -253, -253, 71, -243, 94, 71, + 71, 71, -355, -638, -637, 26, -589, -589, -589, 89, + 89, -256, 26, -261, 44, 363, -356, 22, 23, 151, + 127, 125, 127, 127, -398, 89, 89, -532, 669, -566, + -568, 487, 23, 23, -256, -572, 674, 94, 430, 48, + 49, 89, -549, 719, -457, -473, 472, -283, 174, 719, + -288, -327, 94, -425, 89, -425, -425, 89, 94, 89, + 94, -237, 23, -496, -425, -496, -425, -496, 89, 174, + 89, 89, 89, 174, 89, 89, -425, 89, -597, -390, + 204, 94, -390, -398, -399, -209, 263, -275, -212, 358, + 88, 354, -210, 184, 88, 94, -398, 19, -398, -507, + 327, -507, 327, 259, -398, -265, -140, 592, 104, -138, + 94, -450, 596, -272, -290, 257, -213, 89, 174, -213, + 94, -623, 463, -508, 368, 104, 44, 104, 172, 455, + -543, -198, 98, -285, 35, -249, -198, -627, 98, 130, + 718, 88, -394, -394, -394, -209, 363, -398, 89, 174, + -394, -394, 89, -209, -398, 89, 89, -306, 14, -521, + 281, 104, 150, 104, 150, 104, 17, 264, -549, -396, + -231, -398, -355, -616, 173, -355, -521, -494, 332, 104, + -421, 88, -421, 88, -503, 329, 88, 89, 174, -398, + -374, -303, -302, -300, 109, 120, 44, 444, -301, 98, + 160, 315, 318, 317, 293, 316, -332, -414, 85, 662, + 447, 376, 377, -446, 669, 582, 677, 38, 266, 114, + 115, 431, -415, 88, 88, 86, 335, 88, 88, -586, + 89, -342, -374, 44, -345, 44, -346, 398, -455, 326, + -343, -398, 160, -308, 89, -592, 94, -422, 89, -460, + 259, -398, -623, 94, -482, -628, 94, -198, -285, -617, + -237, -231, -468, -555, -425, 88, -425, 89, 88, 71, + 11, 21, 17, -418, -398, -425, -433, 703, 705, 706, + 265, -6, 684, 419, -323, 670, 94, 23, 94, -564, + 94, -562, 94, -433, -158, -320, -386, 298, 89, -326, + 140, 14, 89, 89, 89, -495, -495, -498, -497, -501, + 493, 327, 501, -433, 89, 89, 94, 94, 89, 89, + 94, 94, 400, -209, 38, 437, 24, 608, 359, -244, + 355, 356, 357, -398, 94, -433, -214, 718, 363, -398, + 19, 94, -507, 94, -507, -398, 327, 38, 94, 89, + 94, 94, -263, -290, -202, 14, -306, -278, -202, 23, + 14, 172, 403, 44, 104, 44, 456, 94, -206, 130, + 110, 111, -382, -383, 94, -452, -308, -310, 94, -398, + -351, -418, -418, -304, -213, 38, -305, -349, -446, 363, + -157, -156, -304, 88, -522, 178, 104, 150, 104, 104, + -469, -355, -355, -522, -511, 23, 89, -489, 89, -489, + 88, 130, -421, -510, -513, 64, -300, 109, -421, 94, + -310, -311, 44, 314, 310, 130, 130, -312, 44, 294, + 295, -322, 88, 325, 17, 104, 210, 88, 678, 88, + 115, 115, -283, -452, -452, -587, 378, 379, 380, 385, + 382, 383, 381, 384, -587, -452, -452, 88, -475, -474, + -421, -455, 130, -456, 272, 390, 391, 98, 14, 376, + 377, 395, 394, 393, 396, 397, 398, 403, 414, -394, + 160, -398, 173, -627, -238, -355, -244, -585, -398, 266, + 23, 23, -541, 14, 704, 88, 88, -398, -398, -378, + 671, 104, 94, 489, -570, -533, 672, -560, -502, -308, + 130, 89, 78, 595, 597, 89, -500, 122, 455, 459, + -419, -422, 104, 106, 202, -496, -496, 89, 89, -398, + -283, 94, 104, 89, 119, 119, 89, 89, -385, -384, + 94, -398, 363, -398, -265, 94, -265, 94, 327, -507, + -2, 596, -203, 63, 539, 94, 95, 450, 94, 95, + 104, 403, -198, 94, 719, 174, 130, 89, -508, -490, + 282, -213, 174, -349, -386, -398, -158, -490, -307, -350, + -398, 94, -539, 187, 361, 14, 104, 150, 104, -237, + -523, 187, 361, -493, 89, 89, 89, -489, 104, 89, + -517, -514, 88, -349, 284, 140, 94, 94, 104, 88, + -550, 34, 94, 38, -425, -453, 88, 89, 89, 89, + 89, -452, 110, 111, -394, -394, 94, 94, 375, -394, + -394, -394, 130, -394, -394, -308, -394, 173, -398, 89, + 89, 174, 706, 88, -433, -433, 88, 23, -532, -534, + 673, 94, -569, 492, -563, -561, 487, 488, 489, 490, + 94, 596, 68, 598, -499, -500, 459, -419, -422, 667, + 499, 499, 499, -398, 94, 719, 174, 130, -398, 363, + -265, -265, -507, 94, -266, -398, 325, 472, -383, 94, + -455, -491, 334, 23, -349, -394, -508, -491, 89, 174, + -394, -394, 361, 104, 150, 104, -238, 361, -505, 333, + 89, -517, -349, -516, -515, 332, 285, 88, 89, -425, + -437, -394, 89, 88, 89, -325, -324, 593, -452, -455, + 86, -455, 86, -455, 86, -455, 86, 89, 104, 104, + -398, 104, 104, 104, 110, 111, 104, 104, -308, -398, + -398, 266, -153, 88, 89, 89, -379, -398, -564, -323, + 94, -573, 264, -567, -568, 491, -561, 23, 489, 23, + 23, -159, 174, 68, 119, 500, 500, 500, -210, -211, + -210, -211, -265, -384, 94, -398, 94, -265, -264, 38, + 494, 430, 23, -492, -308, -350, -418, -418, 104, 104, + 89, 174, -398, 281, 88, -432, -426, -425, 281, 89, + -398, -425, -476, 680, 679, -331, -329, -330, 85, 506, + 323, 324, 89, -587, -587, -587, -587, -332, 89, 174, + -431, 89, 174, -378, -580, 88, 104, -566, -565, -567, + 23, -564, 23, -564, -564, 496, 14, -499, -210, -210, + -265, 94, -374, 88, -504, -515, -514, -432, 89, 174, + -474, 89, -330, 85, -329, 85, 18, 17, -455, -455, + -455, -455, 88, 89, -398, -583, 34, 89, -579, -578, + -375, -574, -398, 492, 493, 94, -564, 130, 597, -658, + -657, 695, -489, -494, 89, -426, -476, -328, 320, 321, + 34, 187, -328, -431, -582, -581, -376, 89, 174, 173, + 94, 598, 94, 89, -511, 109, 44, 322, 89, 174, + 130, -578, -398, -581, 44, -425, 173, -398, } var yyDef = [...]int{ @@ -10993,459 +11032,460 @@ var yyDef = [...]int{ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 0, - 330, 331, 332, 333, 334, 335, 1046, 1047, 1048, 1049, - 1050, 1051, 1052, 1053, 1054, 1055, 0, 0, 0, 802, - 0, 0, 773, 774, 734, 0, 0, 0, 0, 0, - 0, 0, 591, 592, 593, 594, 595, 596, 597, 598, - 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, - 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, - 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, - 629, 630, 631, 632, 633, 449, 450, 451, 452, 453, + 330, 331, 332, 333, 334, 335, 1047, 1048, 1049, 1050, + 1051, 1052, 1053, 1054, 1055, 1056, 0, 0, 0, 803, + 0, 0, 774, 775, 735, 0, 0, 0, 0, 0, + 0, 0, 592, 593, 594, 595, 596, 597, 598, 599, + 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, + 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, + 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, + 630, 631, 632, 633, 634, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 0, 364, 360, - 272, 273, 274, 275, 276, 277, 278, 372, 373, 568, - 0, 0, 0, 0, 862, -2, 116, 0, 0, 0, - 0, 0, 353, 0, 344, 344, 0, 0, 1056, 1057, - 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, - 1068, -2, 0, 0, 786, 735, 736, 737, 738, 739, - 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, - 750, 751, 752, 753, 432, 433, 434, 428, 429, 431, - 430, -2, 0, 0, 786, 0, 0, 0, 870, 0, - 0, 0, 915, 933, 23, 0, 7, 9, 10, 11, + 272, 273, 274, 275, 276, 277, 278, 372, 373, 569, + 0, 0, 0, 0, 863, -2, 116, 0, 0, 0, + 0, 0, 353, 0, 344, 344, 0, 0, 1057, 1058, + 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, + 1069, -2, 0, 0, 787, 736, 737, 738, 739, 740, + 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, + 751, 752, 753, 754, 432, 433, 434, 428, 429, 431, + 430, -2, 0, 0, 787, 0, 0, 0, 871, 0, + 0, 0, 916, 934, 23, 0, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 0, 0, 19, - 0, 19, 0, 0, 0, 1544, 1545, 1546, 1547, 2400, - 2370, -2, 2125, 2099, 2294, 2295, 2185, 2199, 2092, 2448, - 2449, 2450, 2451, 2452, 2453, 2454, 2455, 2456, 2457, 2458, - 2459, 2460, 2461, 2462, 2463, 2464, 2465, 2466, 2467, 2468, - 2469, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2477, 2478, - 2479, 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, 2488, - 2489, 2490, 2491, 2492, 2493, 2494, 2495, 2496, 2497, 2498, - 2499, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2055, - 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064, 2065, - 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, - 2076, 2077, 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2085, - 2086, 2087, 2088, 2089, 2090, 2091, 2093, 2094, 2095, 2096, - 2097, 2098, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, - 2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, - 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2126, 2127, 2128, - 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, - 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, 2148, - 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2156, 2157, 2158, - 2159, 2160, 2161, 2162, 2163, 2164, 2165, 2166, 2167, 2168, - 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2177, 2178, - 2179, 2180, 2181, 2182, 2183, 2184, 2186, 2187, 2188, 2189, - 2190, 2191, 2192, 2193, 2194, 2195, 2196, 2197, 2198, 2201, - 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, - 2212, 2213, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, - 2222, 2223, 2224, 2225, 2226, 2227, 2228, 2229, 2230, 2231, - 2232, 2233, 2234, 2235, 2236, 2237, 2238, 2239, 2240, 2241, - 2242, 2243, 2244, 2245, 2246, 2247, 2248, 2249, 2250, 2251, - 2252, 2253, 2254, 2255, 2256, 2257, 2258, 2259, 2260, 2261, - 2262, 2263, 2264, 2265, 2266, 2267, 2268, 2269, 2270, 2271, - 2272, 2273, 2274, 2275, 2276, 2277, 2278, 2279, 2280, 2281, - 2282, 2283, 2284, 2285, 2286, 2287, 2288, 2289, 2290, 2291, - 2292, 2293, 2296, 2297, 2298, 2299, 2300, 2301, 2302, 2303, - 2304, 2305, 2306, 2307, 2308, 2309, 2310, 2311, 2312, 2313, - 2314, 2315, 2316, 2317, 2318, 2319, 2320, 2321, 2322, 2323, - 2324, 2325, 2326, -2, 2328, 2329, 2330, 2331, 2332, 2333, - 2334, 2335, 2336, 2337, 2338, 2339, 2340, 2341, 2342, 2343, - 2344, 2345, 2346, 2347, 2348, 2349, 2350, 2351, 2352, 2353, - 2354, 2355, 2356, 2357, 2358, 2359, 2360, 2361, 2362, 2363, - 2364, 2365, 2366, 2367, 2368, 2369, 2371, 2372, 2373, 2374, - 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2384, - 2385, -2, -2, -2, 2389, 2390, 2391, 2392, 2393, 2394, - 2395, 2396, 2397, 2398, 2399, 2401, 2402, 2403, 2404, 2405, - 2406, 2407, 2408, 2409, 2410, 2411, 2412, 2413, 2414, 2415, - 2416, 2417, 2418, 2419, 2420, 2421, 2422, 2423, 2424, 2425, - 2426, 2427, 2428, 2429, 2430, 2431, 2432, 2433, 2434, 2435, - 2436, 2437, 0, 328, 326, 2064, 2092, 2099, 2125, 2185, - 2199, 2200, 2240, 2294, 2295, 2327, 2370, 2386, 2387, 2388, - 2400, 0, 0, 1086, 0, 365, 775, 776, 803, 870, - 898, 836, 0, 841, 1491, 0, 732, 0, 405, 0, - 2115, 409, 2377, 0, 0, 0, 0, 729, 399, 400, - 401, 402, 403, 404, 0, 0, 1045, 0, 0, 2407, - 395, 0, 359, 2187, 2399, 1548, 0, 0, 0, 0, - 0, 215, 1221, 217, 1223, 221, 229, 0, 0, 0, - 234, 235, 238, 239, 240, 241, 242, 0, 246, 0, - 248, 251, 0, 253, 254, 0, 257, 258, 259, 0, - 269, 270, 271, 1224, 1225, 1226, 1227, 1228, 1229, 1230, - 1231, -2, 144, 1084, 2010, 1896, 0, 1903, 1916, 1927, - 1638, 1639, 1640, 1641, 0, 0, 0, 0, 0, 0, - 1649, 1650, 0, 1693, 2452, 2495, 2496, 0, 1659, 1660, - 1661, 1662, 1663, 1664, 0, 155, 167, 168, 1949, 1950, - 1951, 1952, 1953, 1954, 1955, 0, 1957, 1958, 1959, 0, - 1623, 1544, 0, 2461, 0, 2483, 2490, 2491, 2492, 2493, - 2482, 0, 0, 1852, 0, 1842, 0, 0, -2, -2, - 0, 0, 2267, -2, 2497, 2498, 2499, 2458, 2479, 2487, - 2488, 2489, 2462, 2463, 2486, 2454, 2455, 2456, 2449, 2450, - 2451, 2453, 2465, 2467, 2478, 0, 2474, 2484, 2485, 2375, - 0, 0, 2424, 0, 0, 0, 0, 0, 0, 2433, - 2434, 2435, 2436, 2437, 2419, 169, 170, -2, -2, -2, + 0, 19, 0, 0, 0, 1548, 1549, 1550, 1551, 2407, + 2377, -2, 2132, 2106, 2301, 2302, 2192, 2206, 2099, 2455, + 2456, 2457, 2458, 2459, 2460, 2461, 2462, 2463, 2464, 2465, + 2466, 2467, 2468, 2469, 2470, 2471, 2472, 2473, 2474, 2475, + 2476, 2477, 2478, 2479, 2480, 2481, 2482, 2483, 2484, 2485, + 2486, 2487, 2488, 2489, 2490, 2491, 2492, 2493, 2494, 2495, + 2496, 2497, 2498, 2499, 2500, 2501, 2502, 2503, 2504, 2505, + 2506, 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059, + 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2069, + 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2079, + 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087, 2088, 2089, + 2090, 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2098, 2100, + 2101, 2102, 2103, 2104, 2105, 2107, 2108, 2109, 2110, 2111, + 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119, 2120, 2121, + 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131, + 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, + 2143, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2152, + 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162, + 2163, 2164, 2165, 2166, 2167, 2168, 2169, 2170, 2171, 2172, + 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180, 2181, 2182, + 2183, 2184, 2185, 2186, 2187, 2188, 2189, 2190, 2191, 2193, + 2194, 2195, 2196, 2197, 2198, 2199, 2200, 2201, 2202, 2203, + 2204, 2205, 2208, 2209, 2210, 2211, 2212, 2213, 2214, 2215, + 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224, 2225, + 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2233, 2234, 2235, + 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2243, 2244, 2245, + 2246, 2247, 2248, 2249, 2250, 2251, 2252, 2253, 2254, 2255, + 2256, 2257, 2258, 2259, 2260, 2261, 2262, 2263, 2264, 2265, + 2266, 2267, 2268, 2269, 2270, 2271, 2272, 2273, 2274, 2275, + 2276, 2277, 2278, 2279, 2280, 2281, 2282, 2283, 2284, 2285, + 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2295, + 2296, 2297, 2298, 2299, 2300, 2303, 2304, 2305, 2306, 2307, + 2308, 2309, 2310, 2311, 2312, 2313, 2314, 2315, 2316, 2317, + 2318, 2319, 2320, 2321, 2322, 2323, 2324, 2325, 2326, 2327, + 2328, 2329, 2330, 2331, 2332, 2333, -2, 2335, 2336, 2337, + 2338, 2339, 2340, 2341, 2342, 2343, 2344, 2345, 2346, 2347, + 2348, 2349, 2350, 2351, 2352, 2353, 2354, 2355, 2356, 2357, + 2358, 2359, 2360, 2361, 2362, 2363, 2364, 2365, 2366, 2367, + 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2378, + 2379, 2380, 2381, 2382, 2383, 2384, 2385, 2386, 2387, 2388, + 2389, 2390, 2391, 2392, -2, -2, -2, 2396, 2397, 2398, + 2399, 2400, 2401, 2402, 2403, 2404, 2405, 2406, 2408, 2409, + 2410, 2411, 2412, 2413, 2414, 2415, 2416, 2417, 2418, 2419, + 2420, 2421, 2422, 2423, 2424, 2425, 2426, 2427, 2428, 2429, + 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2437, 2438, 2439, + 2440, 2441, 2442, 2443, 2444, 0, 328, 326, 2071, 2099, + 2106, 2132, 2192, 2206, 2207, 2247, 2301, 2302, 2334, 2377, + 2393, 2394, 2395, 2407, 0, 0, 1087, 0, 365, 776, + 777, 804, 871, 899, 837, 0, 842, 1495, 0, 733, + 0, 405, 0, 2122, 409, 2384, 0, 0, 0, 0, + 730, 399, 400, 401, 402, 403, 404, 0, 0, 1046, + 0, 0, 2414, 395, 0, 359, 2194, 2406, 1552, 0, + 0, 0, 0, 0, 215, 1222, 217, 1224, 221, 229, + 0, 0, 0, 234, 235, 238, 239, 240, 241, 242, + 0, 246, 0, 248, 251, 0, 253, 254, 0, 257, + 258, 259, 0, 269, 270, 271, 1225, 1226, 1227, 1228, + 1229, 1230, 1231, 1232, -2, 144, 1085, 2014, 1900, 0, + 1907, 1920, 1931, 1642, 1643, 1644, 1645, 0, 0, 0, + 0, 0, 0, 1653, 1654, 0, 1697, 2459, 2502, 2503, + 0, 1663, 1664, 1665, 1666, 1667, 1668, 0, 155, 167, + 168, 1953, 1954, 1955, 1956, 1957, 1958, 1959, 0, 1961, + 1962, 1963, 0, 1627, 1548, 0, 2468, 0, 2490, 2497, + 2498, 2499, 2500, 2489, 0, 0, 1856, 0, 1846, 0, + 0, -2, -2, 0, 0, 2274, -2, 2504, 2505, 2506, + 2465, 2486, 2494, 2495, 2496, 2469, 2470, 2493, 2461, 2462, + 2463, 2456, 2457, 2458, 2460, 2472, 2474, 2485, 0, 2481, + 2491, 2492, 2382, 0, 0, 2431, 0, 0, 0, 0, + 0, 0, 2440, 2441, 2442, 2443, 2444, 2426, 169, 170, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, - -2, -2, -2, -2, 1863, -2, 1865, -2, 1867, -2, - 1869, -2, -2, -2, -2, 1874, 1875, -2, 1877, -2, - -2, -2, -2, -2, -2, -2, 1854, 1855, 1856, 1857, - 1846, 1847, 1848, 1849, 1850, 1851, -2, -2, -2, 898, - 993, 0, 898, 0, 871, 920, 923, 926, 929, 874, - 0, 0, 117, 118, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 354, 355, 343, - 345, 0, 349, 0, 0, 345, 342, 336, 0, 1274, - 1274, 1274, 1274, 0, 0, 0, 1274, 1274, 1274, 1274, - 1274, 0, 1274, 0, 0, 0, 0, 0, 1274, 0, - 1122, 1233, 1234, 1235, 1272, 1273, 1377, 0, 0, 0, - 836, 0, 884, 0, 886, 889, 791, 787, 788, 789, - 790, 0, 634, 0, 0, 0, 709, 709, 958, 958, - 0, 652, 0, 0, 0, 709, 0, 666, 658, 0, - 0, 0, 709, 0, 0, 891, 891, 0, 712, 719, - 709, 709, -2, 709, 709, 0, 704, 709, 0, 0, - 0, 1288, 672, 673, 674, 658, 658, 677, 678, 679, - 689, 690, 720, 2042, 0, 0, 568, 568, 0, 568, - 0, 0, 568, 0, 568, 568, 568, 0, 793, 2141, - 2235, 2122, 2205, 2074, 2187, 2399, 0, 301, 2267, 306, - 0, 2124, 2144, 0, 0, 2163, 0, -2, 0, 382, - 898, 0, 0, 870, 0, 0, 0, 0, 568, 568, - 568, 568, 568, 568, 1376, 568, 568, 568, 568, 568, - 0, 0, 0, 568, 0, 568, 568, 568, 0, 934, - 935, 937, 938, 939, 940, 941, 942, 943, 944, 945, - 946, 5, 6, 19, 0, 0, 0, 0, 0, 0, - 123, 122, 0, 2011, 2037, 1962, 1963, 1964, 2024, 1966, - 2028, 2028, 2028, 2028, 1995, 1996, 1997, 1998, 1999, 2000, - 2001, 2002, 2003, 2004, 2028, 2028, 0, 0, 2009, 1986, - 2026, 2026, 2026, 2024, 2013, 1967, 1968, 1969, 1970, 1971, - 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 2031, - 2031, 2034, 2034, 2031, 2014, 2015, 2016, 2017, 2018, 2019, - 2020, 2021, 0, 447, 445, 446, 1892, 0, 0, 898, - -2, 0, 0, 0, 0, 840, 1489, 0, 0, 0, - 733, 406, 1549, 0, 0, 410, 0, 411, 0, 0, - 413, 0, 0, 0, 435, 0, 438, 421, 422, 423, - 424, 425, 417, 0, 195, 0, 397, 398, 394, 0, - 0, 361, 0, 0, 0, 569, 0, 0, 0, 0, - 0, 0, 226, 222, 230, 233, 243, 250, 0, 262, - 264, 267, 223, 231, 236, 237, 244, 265, 224, 227, - 228, 232, 266, 268, 225, 245, 249, 263, 247, 252, - 255, 256, 261, 0, 196, 0, 0, 0, 0, 0, - 1902, 0, 0, 1935, 1936, 1937, 1938, 1939, 1940, 1941, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -2, 1896, 0, 0, 1644, 1645, 1646, 1647, - 0, 1651, 0, 1694, 0, 0, 0, 0, 0, 0, - 1956, 1960, 0, 1892, 1892, 0, 1892, 1888, 0, 0, - 0, 0, 0, 0, 1892, 1825, 0, 0, 1827, 1843, - 0, 0, 1829, 1830, 0, 1833, 1834, 1892, 0, 1892, - 1838, 1892, 1892, 1892, 1819, 1820, 0, 0, 0, 1888, - 1888, 1888, 1888, 0, 0, 1888, 1888, 1888, 1888, 1888, - 1888, 1888, 1888, 1888, 1888, 1888, 1888, 1888, 1888, 1888, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 891, 0, 899, 0, -2, 0, 917, 919, - 921, 922, 924, 925, 927, 928, 930, 931, 876, 0, - 0, 119, 0, 0, 0, 102, 0, 0, 100, 0, - 0, 0, 0, 75, 77, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 347, 0, - 352, 338, 2228, 0, 337, 0, 0, 0, 0, 0, - 0, 1083, 0, 0, 1274, 1274, 1274, 1123, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1274, 1274, 1274, - 1274, 0, 1294, 0, 0, 0, 0, 836, 0, 885, - 0, 0, 793, 792, 74, 636, 640, 641, 642, 0, - 958, 0, 0, 645, 646, 0, 647, 0, 0, 658, - 709, 709, 664, 665, 660, 659, 715, 716, 712, 0, - 712, 712, 958, 0, 683, 684, 685, 709, 709, 691, - 892, 0, 692, 693, 712, 0, 717, 718, 958, 0, - 0, 958, 958, 0, 701, 702, 0, 705, 709, 0, - 708, 0, 0, 1274, 0, 725, 660, 660, 2043, 2044, - 0, 0, 1285, 0, 0, 0, 0, 0, 0, 0, - 728, 0, 0, 0, 465, 466, 0, 0, 794, 0, - 280, 284, 0, 287, 0, 2235, 0, 2235, 0, 0, - 294, 0, 0, 0, 0, 0, 0, 324, 325, 0, - 0, 0, 0, 315, 318, 1483, 1484, 1218, 1219, 319, - 320, 374, 375, 0, 891, 916, 918, 912, 913, 914, - 0, 1276, 0, 0, 0, 0, 0, 0, 568, 0, - 0, 0, 0, 0, 769, 0, 1101, 771, 0, 0, - 568, 0, 0, 0, 966, 960, 962, 1040, 155, 936, - 8, 140, 137, 0, 19, 0, 0, 19, 19, 0, - 19, 329, 0, 2040, 2038, 2039, 1965, 2025, 0, 1991, - 0, 1992, 1993, 1994, 2005, 2006, 0, 0, 1987, 0, - 1988, 1989, 1990, 1981, 0, 1982, 1983, 0, 1984, 1985, - 327, 444, 0, 0, 1893, 1087, 0, 891, 868, 0, - 896, 0, 795, 828, 797, 0, 817, 0, 1491, 0, - 0, 0, 0, 568, 0, 407, 0, 418, 412, 0, - 419, 414, 415, 0, 0, 437, 439, 440, 441, 442, - 426, 427, 730, 391, 392, 393, 383, 384, 385, 386, - 387, 388, 389, 390, 0, 0, 396, 165, 0, 362, - 363, 0, 0, 0, 209, 210, 211, 212, 213, 214, - 216, 200, 758, 760, 1210, 1222, 0, 1213, 0, 219, - 260, 192, 0, 0, 0, 1897, 1898, 1899, 1900, 1901, - 1906, 0, 1908, 1910, 1912, 1914, 0, 1932, -2, -2, - 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, - 1634, 1635, 1636, 1637, 1917, 1930, 1931, 0, 0, 0, - 0, 0, 0, 1928, 1928, 1923, 0, 1656, 1698, 1710, - 1710, 1665, 1485, 1486, 1642, 0, 0, 1691, 1695, 0, - 0, 0, 0, 0, 0, 1255, 2024, 0, 156, 1887, - 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, - 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805, - 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 0, - 0, 1896, 0, 0, 0, 1889, 1890, 0, 0, 0, - 1774, 0, 0, 1780, 1781, 1782, 0, 823, 0, 1853, - 1826, 1844, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1815, 1816, 1817, 1818, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 992, 994, 0, 832, 834, 835, - 865, 896, 872, 0, 0, 0, 115, 120, 0, 1344, - 108, 0, 0, 0, 108, 0, 0, 0, 108, 0, - 0, 78, 1194, 1289, 79, 1193, 1291, 0, 0, 0, - 0, 0, 0, 0, 356, 357, 0, 0, 351, 339, - 2228, 341, 0, 0, 0, 0, 1070, 0, 0, 0, - 0, 0, 0, 0, 1138, 1139, 0, 566, 1204, 0, - 0, 0, 1220, 1259, 1270, 0, 0, 0, 0, 0, - 1350, 1124, 1129, 1130, 1131, 1125, 1126, 1132, 1133, 814, - 828, 809, 0, 817, 0, 887, 0, 0, 1009, 0, - 638, 0, 0, 644, 710, 711, 959, 648, 0, 0, - 655, 2187, 660, 958, 958, 667, 661, 668, 714, 669, - 670, 671, 712, 958, 958, 893, 709, 712, 694, 713, - 712, 1491, 698, 0, 703, 706, 707, 1491, 726, 1491, - 0, 724, 675, 676, 1352, 889, 463, 464, 469, 471, - 0, 530, 530, 530, 513, 530, 0, 0, 501, 2045, - 0, 0, 0, 0, 510, 2045, 0, 0, 2045, 2045, - 2045, 2045, 2045, 2045, 2045, 0, 0, 2045, 2045, 2045, - 2045, 2045, 2045, 2045, 2045, 2045, 2045, 2045, 0, 2045, - 2045, 2045, 2045, 2045, 1469, 2045, 0, 1286, 520, 521, - 522, 523, 528, 529, 0, 0, 474, 475, 0, 0, - 0, 0, 0, 561, 0, 0, 1137, 0, 566, 0, - 0, 1182, 0, 0, 971, 0, 972, 973, 974, 969, - 1011, 1035, 1035, 0, 1035, 1015, 1491, 0, 0, 0, - 292, 293, 281, 0, 282, 0, 0, 295, 296, 0, - 298, 299, 300, 307, 2122, 2205, 302, 304, 0, 0, - 308, 321, 322, 323, 0, 0, 313, 314, 0, 0, - 377, 378, 380, 0, 896, 1290, 76, 1277, 754, 755, - 1487, 756, 757, 761, 0, 0, 764, 765, 766, 767, - 768, 1103, 0, 0, 1191, 0, 1195, 1197, 1276, 958, - 0, 967, 0, 963, 1041, 0, 1043, 0, 0, 138, - 19, 0, 131, 128, 0, 0, 0, 0, 0, 2012, - 1961, 2041, 0, 0, 0, 2022, 0, 0, 0, 0, - 0, 121, 848, 896, 0, 842, 0, 900, 901, 904, - 796, 825, 0, 829, 0, 0, 821, 801, 818, 0, - 0, 838, 1490, 0, 0, 0, 0, 0, 1550, 0, - 420, 416, 436, 0, 0, 0, 0, 203, 1207, 0, - 204, 208, 198, 0, 0, 0, 1212, 0, 1209, 1214, - 0, 218, 0, 0, 193, 194, 1335, 1344, 0, 0, - 0, 1907, 1909, 1911, 1913, 1915, 0, 1918, 1928, 1928, - 1924, 0, 1919, 0, 1921, 0, 1699, 1711, 1712, 1700, - 1897, 1648, 0, 1696, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 904, 0, 0, 1764, 1765, 0, 0, - 1769, 0, 1771, 1772, 1773, 1775, 0, 0, 0, 1779, - 0, 1824, 1845, 1828, 1831, 0, 1835, 0, 1837, 1839, - 1840, 1841, 0, 0, 0, 898, 898, 0, 0, 1735, - 1735, 1735, 0, 0, 0, 0, 1735, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1668, 0, - 1669, 1670, 1671, 0, 1673, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 995, 842, 0, 0, 0, - 0, 0, 1342, 0, 98, 0, 103, 0, 0, 99, - 104, 0, 0, 101, 0, 110, 80, 0, 0, 1297, - 1298, 0, 0, 0, 358, 346, 348, 0, 340, 0, - 1275, 0, 0, 0, 1074, 0, 0, -2, 1103, 889, - 0, 889, 1149, 2045, 0, 570, 0, 0, 1206, 0, - 1171, 0, 0, 0, -2, 0, 0, 0, 1270, 0, - 0, 0, 1354, 0, 804, 0, 808, 0, 0, 813, - 805, 23, 890, 0, 0, 0, 780, 784, 635, 0, - 637, 643, 651, 649, 0, 653, 0, 654, 709, 662, - 663, 958, 686, 687, 0, 0, 958, 709, 709, 697, - 712, 721, 0, 722, 1491, 1354, 0, 0, 1285, 1420, - 1388, 491, 0, 1504, 1505, 531, 0, 1511, 1520, 1274, - 1588, 0, 1520, 0, 0, 1522, 1523, 0, 0, 0, - 0, 514, 515, 0, 500, 0, 0, 0, 0, 0, - 0, 499, 0, 0, 541, 0, 0, 0, 0, 0, - 2046, 2045, 2045, 0, 508, 509, 0, 512, 0, 0, - 0, 0, 0, 0, 0, 0, 2045, 2045, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1460, - 0, 0, 0, 0, 0, 0, 0, 1475, 1476, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1149, 2045, - 0, 0, 0, 0, 570, 1201, 1201, 1169, 1187, 0, - 467, 468, 538, 0, 0, 0, 0, 0, 0, 0, - 1001, 0, 0, 0, 1000, 0, 0, 0, 0, 0, - 0, 0, 0, 889, 1036, 0, 1038, 1039, 1013, -2, - 0, 971, 1018, 1892, 0, 285, 286, 0, 0, 291, - 309, 311, 283, 0, 0, 0, 310, 312, 316, 317, - 376, 379, 381, 842, 0, 0, 1378, 0, 1104, 1105, - 1107, 1108, 0, -2, -2, -2, -2, -2, -2, -2, - -2, -2, -2, -2, -2, -2, 2106, -2, -2, -2, + -2, -2, -2, -2, -2, -2, -2, 1867, -2, 1869, + -2, 1871, -2, 1873, -2, -2, -2, -2, 1878, 1879, + -2, 1881, -2, -2, -2, -2, -2, -2, -2, 1858, + 1859, 1860, 1861, 1850, 1851, 1852, 1853, 1854, 1855, -2, + -2, -2, 899, 994, 0, 899, 0, 872, 921, 924, + 927, 930, 875, 0, 0, 117, 118, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 354, 355, 343, 345, 0, 349, 0, 0, 345, 342, + 336, 0, 1275, 1275, 1275, 1275, 0, 0, 0, 1275, + 1275, 1275, 1275, 1275, 0, 1275, 0, 0, 0, 0, + 0, 1275, 0, 1123, 1234, 1235, 1236, 1273, 1274, 1378, + 0, 0, 0, 837, 0, 885, 0, 887, 890, 792, + 788, 789, 790, 791, 0, 635, 0, 0, 0, 710, + 710, 959, 959, 0, 653, 0, 0, 0, 710, 0, + 667, 659, 0, 0, 0, 710, 0, 0, 892, 892, + 0, 713, 720, 710, 710, -2, 710, 710, 0, 705, + 710, 0, 0, 0, 1289, 673, 674, 675, 659, 659, + 678, 679, 680, 690, 691, 721, 2046, 0, 0, 569, + 569, 0, 569, 0, 0, 569, 0, 569, 569, 569, + 0, 794, 2148, 2242, 2129, 2212, 2081, 2194, 2406, 0, + 301, 2274, 306, 0, 2131, 2151, 0, 0, 2170, 0, + -2, 0, 382, 899, 0, 0, 871, 0, 0, 0, + 0, 569, 569, 569, 569, 569, 569, 1377, 569, 569, + 569, 569, 569, 0, 0, 0, 569, 0, 569, 569, + 569, 0, 935, 936, 938, 939, 940, 941, 942, 943, + 944, 945, 946, 947, 5, 6, 19, 0, 0, 0, + 0, 0, 0, 123, 122, 0, 2015, 2041, 1966, 1967, + 1968, 2028, 1970, 2032, 2032, 2032, 2032, 1999, 2000, 2001, + 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2032, 2032, 0, + 0, 2013, 1990, 2030, 2030, 2030, 2028, 2017, 1971, 1972, + 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, + 1983, 1984, 2035, 2035, 2038, 2038, 2035, 2018, 2019, 2020, + 2021, 2022, 2023, 2024, 2025, 0, 447, 445, 446, 1896, + 0, 0, 899, -2, 0, 0, 0, 0, 841, 1493, + 0, 0, 0, 734, 406, 1553, 0, 0, 410, 0, + 411, 0, 0, 413, 0, 0, 0, 435, 0, 438, + 421, 422, 423, 424, 425, 417, 0, 195, 0, 397, + 398, 394, 0, 0, 361, 0, 0, 0, 570, 0, + 0, 0, 0, 0, 0, 226, 222, 230, 233, 243, + 250, 0, 262, 264, 267, 223, 231, 236, 237, 244, + 265, 224, 227, 228, 232, 266, 268, 225, 245, 249, + 263, 247, 252, 255, 256, 261, 0, 196, 0, 0, + 0, 0, 0, 1906, 0, 0, 1939, 1940, 1941, 1942, + 1943, 1944, 1945, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -2, 1900, 0, 0, 1648, + 1649, 1650, 1651, 0, 1655, 0, 1698, 0, 0, 0, + 0, 0, 0, 1960, 1964, 0, 1896, 1896, 0, 1896, + 1892, 0, 0, 0, 0, 0, 0, 1896, 1829, 0, + 0, 1831, 1847, 0, 0, 1833, 1834, 0, 1837, 1838, + 1896, 0, 1896, 1842, 1896, 1896, 1896, 1823, 1824, 0, + 0, 0, 1892, 1892, 1892, 1892, 0, 0, 1892, 1892, + 1892, 1892, 1892, 1892, 1892, 1892, 1892, 1892, 1892, 1892, + 1892, 1892, 1892, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 892, 0, 900, 0, -2, + 0, 918, 920, 922, 923, 925, 926, 928, 929, 931, + 932, 877, 0, 0, 119, 0, 0, 0, 102, 0, + 0, 100, 0, 0, 0, 0, 75, 77, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 347, 0, 352, 338, 2235, 0, 337, 0, 0, + 0, 0, 0, 0, 1084, 0, 0, 1275, 1275, 1275, + 1124, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1275, 1275, 1275, 1275, 0, 1295, 0, 0, 0, 0, + 837, 0, 886, 0, 0, 794, 793, 74, 637, 641, + 642, 643, 0, 959, 0, 0, 646, 647, 0, 648, + 0, 0, 659, 710, 710, 665, 666, 661, 660, 716, + 717, 713, 0, 713, 713, 959, 0, 684, 685, 686, + 710, 710, 692, 893, 0, 693, 694, 713, 0, 718, + 719, 959, 0, 0, 959, 959, 0, 702, 703, 0, + 706, 710, 0, 709, 0, 0, 1275, 0, 726, 661, + 661, 2047, 2048, 0, 0, 1286, 0, 0, 0, 0, + 0, 0, 0, 729, 0, 0, 0, 465, 466, 0, + 0, 795, 0, 280, 284, 0, 287, 0, 2242, 0, + 2242, 0, 0, 294, 0, 0, 0, 0, 0, 0, + 324, 325, 0, 0, 0, 0, 315, 318, 1487, 1488, + 1219, 1220, 319, 320, 374, 375, 0, 892, 917, 919, + 913, 914, 915, 0, 1277, 0, 0, 0, 0, 0, + 0, 569, 0, 0, 0, 0, 0, 770, 0, 1102, + 772, 0, 0, 569, 0, 0, 0, 967, 961, 963, + 1041, 155, 937, 8, 140, 137, 0, 19, 0, 0, + 19, 19, 0, 19, 329, 0, 2044, 2042, 2043, 1969, + 2029, 0, 1995, 0, 1996, 1997, 1998, 2009, 2010, 0, + 0, 1991, 0, 1992, 1993, 1994, 1985, 0, 1986, 1987, + 0, 1988, 1989, 327, 444, 0, 0, 1897, 1088, 0, + 892, 869, 0, 897, 0, 796, 829, 798, 0, 818, + 0, 1495, 0, 0, 0, 0, 569, 0, 407, 0, + 418, 412, 0, 419, 414, 415, 0, 0, 437, 439, + 440, 441, 442, 426, 427, 731, 391, 392, 393, 383, + 384, 385, 386, 387, 388, 389, 390, 0, 0, 396, + 165, 0, 362, 363, 0, 0, 0, 209, 210, 211, + 212, 213, 214, 216, 200, 759, 761, 1211, 1223, 0, + 1214, 0, 219, 260, 192, 0, 0, 0, 1901, 1902, + 1903, 1904, 1905, 1910, 0, 1912, 1914, 1916, 1918, 0, + 1936, -2, -2, 1628, 1629, 1630, 1631, 1632, 1633, 1634, + 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1921, 1934, 1935, + 0, 0, 0, 0, 0, 0, 1932, 1932, 1927, 0, + 1660, 1702, 1714, 1714, 1669, 1489, 1490, 1646, 0, 0, + 1695, 1699, 0, 0, 0, 0, 0, 0, 1256, 2028, + 0, 156, 1891, 1790, 1791, 1792, 1793, 1794, 1795, 1796, + 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805, 1806, + 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, + 1817, 1818, 0, 0, 1900, 0, 0, 0, 1893, 1894, + 0, 0, 0, 1778, 0, 0, 1784, 1785, 1786, 0, + 824, 0, 1857, 1830, 1848, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1819, 1820, 1821, + 1822, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 993, 995, 0, + 833, 835, 836, 866, 897, 873, 0, 0, 0, 115, + 120, 0, 1345, 108, 0, 0, 0, 108, 0, 0, + 0, 108, 0, 0, 78, 1195, 1290, 79, 1194, 1292, + 0, 0, 0, 0, 0, 0, 0, 356, 357, 0, + 0, 351, 339, 2235, 341, 0, 0, 0, 0, 1071, + 0, 0, 0, 0, 0, 0, 0, 1139, 1140, 0, + 567, 1205, 0, 0, 0, 1221, 1260, 1271, 0, 0, + 0, 0, 0, 1351, 1125, 1130, 1131, 1132, 1126, 1127, + 1133, 1134, 815, 829, 810, 0, 818, 0, 888, 0, + 0, 1010, 0, 639, 0, 0, 645, 711, 712, 960, + 649, 0, 0, 656, 2194, 661, 959, 959, 668, 662, + 669, 715, 670, 671, 672, 713, 959, 959, 894, 710, + 713, 695, 714, 713, 1495, 699, 0, 704, 707, 708, + 1495, 727, 1495, 0, 725, 676, 677, 1353, 890, 463, + 464, 469, 471, 0, 531, 531, 531, 514, 531, 0, + 0, 501, 0, 2049, 0, 0, 0, 0, 511, 2049, + 0, 0, 2049, 2049, 2049, 2049, 2049, 2049, 2049, 0, + 0, 2049, 2049, 2049, 2049, 2049, 2049, 2049, 2049, 2049, + 2049, 2049, 0, 2049, 2049, 2049, 2049, 2049, 1470, 2049, + 0, 2049, 2049, 2049, 1287, 521, 522, 523, 524, 529, + 530, 0, 0, 474, 475, 0, 0, 0, 0, 0, + 562, 0, 0, 1138, 0, 567, 0, 0, 1183, 0, + 0, 972, 0, 973, 974, 975, 970, 1012, 1036, 1036, + 0, 1036, 1016, 1495, 0, 0, 0, 292, 293, 281, + 0, 282, 0, 0, 295, 296, 0, 298, 299, 300, + 307, 2129, 2212, 302, 304, 0, 0, 308, 321, 322, + 323, 0, 0, 313, 314, 0, 0, 377, 378, 380, + 0, 897, 1291, 76, 1278, 755, 756, 1491, 757, 758, + 762, 0, 0, 765, 766, 767, 768, 769, 1104, 0, + 0, 1192, 0, 1196, 1198, 1277, 959, 0, 968, 0, + 964, 1042, 0, 1044, 0, 0, 138, 19, 0, 131, + 128, 0, 0, 0, 0, 0, 2016, 1965, 2045, 0, + 0, 0, 2026, 0, 0, 0, 0, 0, 121, 849, + 897, 0, 843, 0, 901, 902, 905, 797, 826, 0, + 830, 0, 0, 822, 802, 819, 0, 0, 839, 1494, + 0, 0, 0, 0, 0, 1554, 0, 420, 416, 436, + 0, 0, 0, 0, 203, 1208, 0, 204, 208, 198, + 0, 0, 0, 1213, 0, 1210, 1215, 0, 218, 0, + 0, 193, 194, 1336, 1345, 0, 0, 0, 1911, 1913, + 1915, 1917, 1919, 0, 1922, 1932, 1932, 1928, 0, 1923, + 0, 1925, 0, 1703, 1715, 1716, 1704, 1901, 1652, 0, + 1700, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 905, 0, 0, 1768, 1769, 0, 0, 1773, 0, 1775, + 1776, 1777, 1779, 0, 0, 0, 1783, 0, 1828, 1849, + 1832, 1835, 0, 1839, 0, 1841, 1843, 1844, 1845, 0, + 0, 0, 899, 899, 0, 0, 1739, 1739, 1739, 0, + 0, 0, 0, 1739, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1672, 0, 1673, 1674, 1675, + 0, 1677, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 996, 843, 0, 0, 0, 0, 0, 1343, + 0, 98, 0, 103, 0, 0, 99, 104, 0, 0, + 101, 0, 110, 80, 0, 0, 1298, 1299, 0, 0, + 0, 358, 346, 348, 0, 340, 0, 1276, 0, 0, + 0, 1075, 0, 0, -2, 1104, 890, 0, 890, 1150, + 2049, 0, 571, 0, 0, 1207, 0, 1172, 0, 0, + 0, -2, 0, 0, 0, 1271, 0, 0, 0, 1355, + 0, 805, 0, 809, 0, 0, 814, 806, 23, 891, + 0, 0, 0, 781, 785, 636, 0, 638, 644, 652, + 650, 0, 654, 0, 655, 710, 663, 664, 959, 687, + 688, 0, 0, 959, 710, 710, 698, 713, 722, 0, + 723, 1495, 1355, 0, 0, 1286, 1421, 1389, 491, 0, + 1508, 1509, 532, 0, 1515, 1524, 1275, 1592, 0, 1524, + 0, 0, 1526, 1527, 0, 0, 0, 0, 515, 516, + 0, 500, 0, 0, 0, 0, 0, 0, 499, 0, + 0, 542, 0, 0, 0, 0, 502, 0, 2050, 2049, + 2049, 0, 509, 510, 0, 513, 0, 0, 0, 0, + 0, 0, 0, 0, 2049, 2049, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1461, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1479, 1480, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1150, + 2049, 0, 0, 0, 0, 571, 1202, 1202, 1170, 1188, + 0, 467, 468, 539, 0, 0, 0, 0, 0, 0, + 0, 1002, 0, 0, 0, 1001, 0, 0, 0, 0, + 0, 0, 0, 0, 890, 1037, 0, 1039, 1040, 1014, + -2, 0, 972, 1019, 1896, 0, 285, 286, 0, 0, + 291, 309, 311, 283, 0, 0, 0, 310, 312, 316, + 317, 376, 379, 381, 843, 0, 0, 1379, 0, 1105, + 1106, 1108, 1109, 0, -2, -2, -2, -2, -2, -2, + -2, -2, -2, -2, -2, -2, -2, 2113, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, - -2, -2, -2, -2, -2, 1102, 772, 1192, 0, 1199, - 949, 961, 968, 1042, 1044, 156, 964, 0, 141, 19, - 140, 132, 133, 0, 19, 0, 0, 0, 0, 2030, - 2029, 2007, 0, 2008, 2027, 2032, 0, 2035, 0, 448, - 852, 0, 842, 844, 869, 0, 0, 907, 905, 906, - 828, 830, 0, 0, 828, 0, 0, 837, 0, 0, - 0, 0, 0, 0, 1196, 0, 0, 731, 166, 443, - 0, 0, 0, 0, 0, 759, 0, 1211, 200, 0, - 0, 220, 0, 0, 0, 1344, 1339, 1891, 1920, 1922, - 0, 1929, 1925, 1643, 1652, 1692, 0, 0, 0, 0, - 0, 1701, 2028, 2028, 1704, 2024, 2026, 2024, 1710, 1710, - 0, 1256, 0, 1257, 904, 157, 0, 0, 1770, 0, - 0, 0, 824, 0, 0, 0, 0, 0, 1731, 1733, - 1735, 1735, 1742, 1736, 1743, 1744, 1735, 1735, 1735, 1735, - 1749, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, - 1735, 1735, 1729, 1672, 1674, 0, 1677, 0, 1680, 1681, - 0, 0, 0, 1950, 1951, 833, 866, 0, 0, 879, - 880, 881, 882, 883, 0, 0, 65, 65, 1344, 0, - 0, 0, 0, 0, 114, 0, 0, 0, 0, 0, - 1306, 1314, 0, 350, 0, 81, 82, 84, 0, 0, - 0, 0, 0, 0, 0, 97, 1078, 0, 1072, 0, - 0, 1089, 1090, 1092, 0, 1095, 1096, 1097, 0, 0, - 1497, 0, 1153, 1150, 1151, 1152, 0, 0, 1201, 571, - 572, 573, 574, 0, 0, 0, 1205, 0, 0, 0, - 1162, 0, 0, 0, 1260, 1261, 1262, 1263, 1264, 1265, - 1266, 1267, -2, 1280, 0, 1491, 0, 0, 0, 1497, - 1326, 0, 0, 1331, 0, 0, 1497, 1497, 0, 1362, - 0, 1351, 0, 0, 828, 0, 1010, 836, 0, -2, - 0, 0, 782, 0, 639, 650, 656, 958, 680, 894, - 895, 1491, 958, 958, 709, 727, 723, 1362, 1353, 0, - 470, 530, 0, 1408, 0, 0, 1414, 0, 1421, 484, - 0, 532, 0, 1510, 1538, 1521, 1538, 1589, 1538, 1538, - 1274, 0, 532, 0, 0, 502, 0, 0, 0, 0, - 0, 498, 535, 904, 485, 487, 488, 489, 539, 540, - 542, 0, 544, 545, 504, 516, 517, 518, 519, 0, - 0, 0, 511, 524, 525, 526, 527, 486, 1437, 1438, - 1439, 1442, 1443, 1444, 1445, 0, 0, 1448, 1449, 1450, - 1451, 1452, 1535, 1536, 1537, 1453, 1454, 1455, 1456, 1457, - 1458, 1459, 1477, 1478, 1479, 1480, 1481, 1482, 1461, 1462, - 1463, 1464, 1465, 1466, 1467, 1468, 0, 0, 1472, 0, - 0, 1072, 0, 478, 479, 0, 481, 0, 0, 1153, - 0, 0, 0, 0, 0, 1201, 564, 0, 0, 565, - 1171, 0, 1189, 0, 1183, 1184, 0, 0, 806, 958, - 369, 0, 1005, 996, 0, 978, 0, 980, 1002, 981, - 1003, 0, 0, 985, 0, 987, 0, 989, 0, 983, - 984, 991, 982, 958, 970, 1012, 1037, 1014, 1017, 1019, - 1020, 1026, 0, 0, 0, 0, 279, 288, 289, 290, - 297, 0, 590, 303, 910, 1488, 762, 763, 1379, 1380, - 770, 0, 1109, 0, 947, 0, 0, 136, 139, 0, - 134, 0, 0, 0, 0, 126, 124, 2023, 0, 0, - 854, 180, 0, 0, 910, 846, 0, 0, 902, 903, - 0, 826, 0, 831, 828, 800, 822, 799, 819, 820, - 839, 1492, 1493, 1494, 1495, 0, 1551, 408, 0, 1208, - 200, 205, 206, 207, 201, 199, 1215, 0, 1217, 0, - 1337, 0, 0, 1926, 1697, 1653, 0, 1655, 1657, 1702, - 1703, 1705, 1706, 1707, 1708, 1709, 1658, 0, 1258, 1766, - 0, 1768, 1776, 1777, 0, 1832, 1836, 0, 0, 1823, - 0, 0, 0, 0, 1740, 1741, 1745, 1746, 1747, 1748, - 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, - 1760, 898, 1730, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 877, 0, 0, 0, 67, - 0, 67, 1343, 1345, 109, 111, 0, 105, 106, 107, - 1040, 1320, 1491, 1308, 0, 1300, 0, 1314, 0, 0, - 0, 83, 0, 85, 0, 2190, 0, 0, 0, 0, - 1276, 1080, 0, 0, 1071, 0, 1082, 1098, 1094, 0, - 0, 0, 0, 1498, 1499, 1501, 1502, 1503, 0, 1120, - 0, 0, 1141, 1142, 1143, 1167, 1155, 0, 576, 577, - 0, 0, 0, 589, 585, 586, 587, 567, 1200, 1178, - 0, 0, 1178, 1165, 0, 0, 1177, 0, 1281, 2045, - 2045, 2045, 1320, 0, 0, 0, 1422, 2045, 2045, 0, - 1328, 1330, 1320, 0, 0, 0, 1426, 1365, 0, 0, - 1356, 0, 0, 828, 812, 811, 888, 1035, 0, 0, - 958, 781, 784, 785, 657, 695, 699, 696, 958, 1365, - 462, 1386, 0, 0, 0, 0, 0, 1418, 0, 0, - 1390, 0, 503, 533, 0, -2, 0, 1539, 0, 1524, - 1539, 0, 0, 1538, 0, 492, 532, 0, 0, 0, - 546, 0, 552, 553, 1237, 549, 550, 1584, 0, 551, - 0, 537, 0, 543, 1440, 1441, 0, 1446, 1447, 0, - 1471, 0, 0, 473, 476, 0, 1076, 1077, -2, 0, - 0, 0, 556, 0, 0, 0, 557, 558, 563, 1202, - 1203, 1162, 0, 1178, 0, 1188, 0, 1185, 1186, 898, - 0, 0, 0, 975, 1006, 0, 0, 976, 0, 977, - 979, 1004, 0, 998, 986, 988, 990, 367, 1021, 0, - 0, 1023, 1024, 1025, 1016, 305, 864, 0, 1106, 0, - 0, 932, 0, 0, 965, 0, 19, 0, 0, 129, - 2033, 2036, 856, 0, 853, 181, 0, 0, 0, 867, - 848, 0, 845, 0, 908, 909, 827, 798, 1496, 202, - 197, 1216, 1347, 0, 1338, 0, 1608, 1667, 0, 1778, - 0, 0, 1735, 1732, 1735, 1734, 1726, 0, 1675, 0, - 1678, 0, 1682, 1683, 0, 1685, 1686, 1687, 0, 1689, - 1690, 0, 875, 0, 63, 0, 66, 64, 0, 113, - 1295, 0, 1320, 1299, 0, 0, 0, 1301, 0, 0, - 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, - 95, 0, 0, 1079, 0, 1073, 0, 0, 1091, 1093, - 0, 1127, 1426, 0, 1127, 1154, 1140, 0, 1121, 0, - 0, 578, 579, 0, 582, 588, 1156, 0, 0, 1159, - 1160, 1158, 1161, 0, 0, 1175, 0, 0, 0, 0, - 1268, 0, 1271, 1287, 0, 0, 0, -2, 1332, 0, - 0, -2, 1325, 0, 1371, 0, 1363, 0, 1355, 0, - 1358, 0, 816, 810, 958, 958, -2, 778, 783, 0, - 700, 1371, 1388, 0, 1409, 0, 0, 0, 0, 0, - 0, 0, 1389, 0, 1402, 534, 1540, -2, 1554, 1556, - 0, 1286, 1559, 1560, 0, 0, 0, 0, 0, 0, - 1615, 1568, 0, 0, 0, 1573, 1574, 1575, 0, 0, - 1578, 0, 0, 0, 1944, 1945, 0, 1587, 0, 0, - 0, 0, 0, 0, 0, 1518, 493, 494, 0, 496, - 497, 1237, 0, 548, 1585, 536, 490, 2045, 506, 1470, - 1473, 1474, 477, 480, 0, 0, 562, 559, 560, 1165, - 1170, 1181, 1190, 807, 891, 958, 370, 371, 1007, 0, - 997, 999, 1030, 1027, 0, 0, 911, 1110, 1198, 948, - 956, 2424, 2426, 2423, 130, 135, 0, 0, 858, 0, - 855, 0, 849, 851, 191, 852, 847, 897, 151, 183, - 0, 0, 1654, 0, 0, 0, 1767, 1821, 1822, 1738, - 1739, 0, 1727, 0, 1721, 1722, 1723, 1728, 0, 0, - 0, 0, 878, 873, 68, 112, 0, 1296, 0, 0, - 0, 1312, 1313, 0, 1315, 1316, 1317, 0, 0, 0, - 0, 72, 0, 0, 0, 1276, 0, 1276, 0, 0, - 0, 0, 1081, 1075, 1085, 1099, 0, 1112, 1119, 1134, - 1292, 1500, 1118, 0, 0, 0, 575, 580, 0, 583, - 584, 1179, 1178, 0, 1163, 1164, 0, 1173, 0, 0, - 1282, 1283, 1284, 1167, 1423, 1424, 1425, 1381, 1327, 0, - -2, 1434, 0, 0, 1323, 1347, 1381, 0, 1359, 0, - 1366, 0, 1364, 1357, 815, 898, 779, 1368, 472, 1420, - 1410, 0, 1412, 0, 0, 0, 0, 1391, -2, 0, - 1555, 1557, 1558, 1561, 1562, 1563, 1620, 1621, 1622, 0, - 0, 1566, 1617, 1618, 1619, 1567, 0, 0, 0, 1572, - 0, 0, 0, 0, 1942, 1943, 1613, 0, 0, 1525, - 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1526, 0, - 0, 0, 1517, 1519, 495, 547, 0, 1238, 2045, 2045, - 0, 0, 0, 1244, 1245, 2045, 2045, 2045, 1249, 1250, - 0, 2045, 2045, 0, 2045, 0, 0, 1180, 366, 368, - 0, 0, 1031, 1033, 1028, 1029, 950, 0, 0, 0, - 0, 125, 127, 142, 0, 857, 182, 0, 854, 153, - 0, 174, 0, 1348, 0, 1666, 0, 0, 0, 1737, - 1724, 0, 0, 0, 0, 0, 1946, 1947, 1948, 1676, - 1679, 1684, 1688, 1321, 1309, 1310, 1311, 1307, 0, 0, - 1318, 1319, 0, 70, 0, 89, 0, 0, 90, 1276, - 91, 1276, 0, 0, 1069, 0, 0, 1135, 1136, 1144, - 1145, 0, 1147, 1148, 1168, 581, 1157, 1166, 1172, 1175, - 0, 1237, 1269, 1383, 0, 1329, 1285, 1436, 2045, 1167, - 1334, 1383, 0, 1428, 2045, 2045, 1349, 0, 1361, 0, - 1373, 0, 1367, 891, 461, 0, 1370, 1406, 1411, 1413, - 1415, 0, 1419, 1417, 1392, -2, 0, 1400, 0, 0, - 1564, 1565, 0, 0, 1842, 2045, 0, 0, 0, 1603, - 0, 1237, 1237, 1237, 1237, 0, 554, 555, 0, 0, - 1241, 1242, 0, 0, 0, 0, 0, 0, 0, 505, - 0, 0, 483, 1008, 1022, 0, 957, 0, 0, 0, - 0, 0, 856, 143, 0, 152, 171, 0, 184, 185, - 0, 0, 0, 0, 1340, 0, 1611, 1612, 0, 1713, - 0, 0, 0, 1717, 1718, 1719, 1720, 1314, 1314, 1276, - 72, 0, 88, 0, 92, 93, 0, 1276, 0, 1111, - 0, 1146, 1174, 1176, 1236, 1322, 0, 1420, 1435, 0, - 1333, 1324, 1427, 0, 0, 0, 1360, 1372, 0, 1375, - 777, 1369, 1387, 0, 1416, 1393, 1401, 0, 1396, 0, - 0, 0, 1616, 0, 1571, 0, 1577, 0, 1581, 1591, - 1604, 0, 0, 1506, 0, 1508, 0, 1512, 0, 1514, - 0, 0, 1239, 1240, 1243, 1246, 1247, 1248, 1251, 1252, - 1253, 1254, 507, 482, 1032, 1034, 0, 1892, 952, 953, - 0, 860, 850, 858, 154, 158, 0, 180, 177, 0, - 186, 0, 0, 0, 0, 1336, 0, 1609, 0, 1714, - 1715, 1716, 1302, 1314, 1303, 1314, 69, 71, 73, 87, - 1276, 94, 0, 1113, 1114, 1128, 0, 1408, 1440, 1429, - 1430, 1431, 1374, 1407, 1395, 0, -2, 1403, 0, 0, - 1894, 1904, 1905, 1569, 1576, 0, 1580, 1582, 1583, 1590, - 1592, 1593, 0, 1605, 1606, 1607, 1614, 1237, 1237, 1237, - 1237, 1516, 951, 0, 0, 859, 0, 843, 145, 0, - 0, 175, 176, 178, 0, 187, 0, 189, 190, 0, - 0, 1725, 1304, 1305, 96, 1115, 1384, 0, 1386, 1397, - -2, 0, 1405, 0, 1570, 1581, 1594, 0, 1595, 0, - 0, 0, 1507, 1509, 1513, 1515, 1892, 954, 861, 1346, - 0, 159, 0, 161, 163, 164, 1541, 172, 173, 179, - 188, 0, 0, 1100, 1116, 0, 0, 1388, 1404, 1895, - 1579, 1596, 1598, 1599, 0, 0, 1597, 0, 146, 147, - 0, 160, 0, 0, 1341, 1610, 1117, 1385, 1382, 1600, - 1602, 1601, 955, 0, 0, 162, 1542, 148, 149, 150, - 0, 1543, + -2, -2, -2, -2, -2, -2, 1103, 773, 1193, 0, + 1200, 950, 962, 969, 1043, 1045, 156, 965, 0, 141, + 19, 140, 132, 133, 0, 19, 0, 0, 0, 0, + 2034, 2033, 2011, 0, 2012, 2031, 2036, 0, 2039, 0, + 448, 853, 0, 843, 845, 870, 0, 0, 908, 906, + 907, 829, 831, 0, 0, 829, 0, 0, 838, 0, + 0, 0, 0, 0, 0, 1197, 0, 0, 732, 166, + 443, 0, 0, 0, 0, 0, 760, 0, 1212, 200, + 0, 0, 220, 0, 0, 0, 1345, 1340, 1895, 1924, + 1926, 0, 1933, 1929, 1647, 1656, 1696, 0, 0, 0, + 0, 0, 1705, 2032, 2032, 1708, 2028, 2030, 2028, 1714, + 1714, 0, 1257, 0, 1258, 905, 157, 0, 0, 1774, + 0, 0, 0, 825, 0, 0, 0, 0, 0, 1735, + 1737, 1739, 1739, 1746, 1740, 1747, 1748, 1739, 1739, 1739, + 1739, 1753, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, + 1739, 1739, 1739, 1733, 1676, 1678, 0, 1681, 0, 1684, + 1685, 0, 0, 0, 1954, 1955, 834, 867, 0, 0, + 880, 881, 882, 883, 884, 0, 0, 65, 65, 1345, + 0, 0, 0, 0, 0, 114, 0, 0, 0, 0, + 0, 1307, 1315, 0, 350, 0, 81, 82, 84, 0, + 0, 0, 0, 0, 0, 0, 97, 1079, 0, 1073, + 0, 0, 1090, 1091, 1093, 0, 1096, 1097, 1098, 0, + 0, 1501, 0, 1154, 1151, 1152, 1153, 0, 0, 1202, + 572, 573, 574, 575, 0, 0, 0, 1206, 0, 0, + 0, 1163, 0, 0, 0, 1261, 1262, 1263, 1264, 1265, + 1266, 1267, 1268, -2, 1281, 0, 1495, 0, 0, 0, + 1501, 1327, 0, 0, 1332, 0, 0, 1501, 1501, 0, + 1363, 0, 1352, 0, 0, 829, 0, 1011, 837, 0, + -2, 0, 0, 783, 0, 640, 651, 657, 959, 681, + 895, 896, 1495, 959, 959, 710, 728, 724, 1363, 1354, + 0, 470, 531, 0, 1409, 0, 0, 1415, 0, 1422, + 484, 0, 533, 0, 1514, 1542, 1525, 1542, 1593, 1542, + 1542, 1275, 0, 533, 0, 0, 503, 0, 0, 0, + 0, 0, 498, 536, 905, 485, 487, 488, 489, 540, + 541, 543, 0, 545, 546, 505, 517, 518, 519, 520, + 0, 0, 0, 512, 525, 526, 527, 528, 486, 1438, + 1439, 1440, 1443, 1444, 1445, 1446, 0, 0, 1449, 1450, + 1451, 1452, 1453, 1539, 1540, 1541, 1454, 1455, 1456, 1457, + 1458, 1459, 1460, 1481, 1482, 1483, 1484, 1485, 1486, 1462, + 1463, 1464, 1465, 1466, 1467, 1468, 1469, 0, 0, 1476, + 0, 0, 1474, 1475, 0, 1073, 0, 478, 479, 0, + 481, 0, 0, 1154, 0, 0, 0, 0, 0, 1202, + 565, 0, 0, 566, 1172, 0, 1190, 0, 1184, 1185, + 0, 0, 807, 959, 369, 0, 1006, 997, 0, 979, + 0, 981, 1003, 982, 1004, 0, 0, 986, 0, 988, + 0, 990, 0, 984, 985, 992, 983, 959, 971, 1013, + 1038, 1015, 1018, 1020, 1021, 1027, 0, 0, 0, 0, + 279, 288, 289, 290, 297, 0, 591, 303, 911, 1492, + 763, 764, 1380, 1381, 771, 0, 1110, 0, 948, 0, + 0, 136, 139, 0, 134, 0, 0, 0, 0, 126, + 124, 2027, 0, 0, 855, 180, 0, 0, 911, 847, + 0, 0, 903, 904, 0, 827, 0, 832, 829, 801, + 823, 800, 820, 821, 840, 1496, 1497, 1498, 1499, 0, + 1555, 408, 0, 1209, 200, 205, 206, 207, 201, 199, + 1216, 0, 1218, 0, 1338, 0, 0, 1930, 1701, 1657, + 0, 1659, 1661, 1706, 1707, 1709, 1710, 1711, 1712, 1713, + 1662, 0, 1259, 1770, 0, 1772, 1780, 1781, 0, 1836, + 1840, 0, 0, 1827, 0, 0, 0, 0, 1744, 1745, + 1749, 1750, 1751, 1752, 1754, 1755, 1756, 1757, 1758, 1759, + 1760, 1761, 1762, 1763, 1764, 899, 1734, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 878, + 0, 0, 0, 67, 0, 67, 1344, 1346, 109, 111, + 0, 105, 106, 107, 1041, 1321, 1495, 1309, 0, 1301, + 0, 1315, 0, 0, 0, 83, 0, 85, 0, 2197, + 0, 0, 0, 0, 1277, 1081, 0, 0, 1072, 0, + 1083, 1099, 1095, 0, 0, 0, 0, 1502, 1503, 1505, + 1506, 1507, 0, 1121, 0, 0, 1142, 1143, 1144, 1168, + 1156, 0, 577, 578, 0, 0, 0, 590, 586, 587, + 588, 568, 1201, 1179, 0, 0, 1179, 1166, 0, 0, + 1178, 0, 1282, 2049, 2049, 2049, 1321, 0, 0, 0, + 1423, 2049, 2049, 0, 1329, 1331, 1321, 0, 0, 0, + 1427, 1366, 0, 0, 1357, 0, 0, 829, 813, 812, + 889, 1036, 0, 0, 959, 782, 785, 786, 658, 696, + 700, 697, 959, 1366, 462, 1387, 0, 0, 0, 0, + 0, 1419, 0, 0, 1391, 0, 504, 534, 0, -2, + 0, 1543, 0, 1528, 1543, 0, 0, 1542, 0, 492, + 533, 0, 0, 0, 547, 0, 553, 554, 1238, 550, + 551, 1588, 0, 552, 0, 538, 0, 544, 1441, 1442, + 0, 1447, 1448, 0, 1472, 0, 0, 0, 473, 476, + 0, 1077, 1078, -2, 0, 0, 0, 557, 0, 0, + 0, 558, 559, 564, 1203, 1204, 1163, 0, 1179, 0, + 1189, 0, 1186, 1187, 899, 0, 0, 0, 976, 1007, + 0, 0, 977, 0, 978, 980, 1005, 0, 999, 987, + 989, 991, 367, 1022, 0, 0, 1024, 1025, 1026, 1017, + 305, 865, 0, 1107, 0, 0, 933, 0, 0, 966, + 0, 19, 0, 0, 129, 2037, 2040, 857, 0, 854, + 181, 0, 0, 0, 868, 849, 0, 846, 0, 909, + 910, 828, 799, 1500, 202, 197, 1217, 1348, 0, 1339, + 0, 1612, 1671, 0, 1782, 0, 0, 1739, 1736, 1739, + 1738, 1730, 0, 1679, 0, 1682, 0, 1686, 1687, 0, + 1689, 1690, 1691, 0, 1693, 1694, 0, 876, 0, 63, + 0, 66, 64, 0, 113, 1296, 0, 1321, 1300, 0, + 0, 0, 1302, 0, 0, 0, 0, 0, 86, 0, + 0, 0, 0, 0, 0, 95, 0, 0, 1080, 0, + 1074, 0, 0, 1092, 1094, 0, 1128, 1427, 0, 1128, + 1155, 1141, 0, 1122, 0, 0, 579, 580, 0, 583, + 589, 1157, 0, 0, 1160, 1161, 1159, 1162, 0, 0, + 1176, 0, 0, 0, 0, 1269, 0, 1272, 1288, 0, + 0, 0, -2, 1333, 0, 0, -2, 1326, 0, 1372, + 0, 1364, 0, 1356, 0, 1359, 0, 817, 811, 959, + 959, -2, 779, 784, 0, 701, 1372, 1389, 0, 1410, + 0, 0, 0, 0, 0, 0, 0, 1390, 0, 1403, + 535, 1544, -2, 1558, 1560, 0, 1287, 1563, 1564, 0, + 0, 0, 0, 0, 0, 1619, 1572, 0, 0, 0, + 1577, 1578, 1579, 0, 0, 1582, 0, 0, 0, 1948, + 1949, 0, 1591, 0, 0, 0, 0, 0, 0, 0, + 1522, 493, 494, 0, 496, 497, 1238, 0, 549, 1589, + 537, 490, 2049, 507, 1471, 1477, 1478, 1473, 477, 480, + 0, 0, 563, 560, 561, 1166, 1171, 1182, 1191, 808, + 892, 959, 370, 371, 1008, 0, 998, 1000, 1031, 1028, + 0, 0, 912, 1111, 1199, 949, 957, 2431, 2433, 2430, + 130, 135, 0, 0, 859, 0, 856, 0, 850, 852, + 191, 853, 848, 898, 151, 183, 0, 0, 1658, 0, + 0, 0, 1771, 1825, 1826, 1742, 1743, 0, 1731, 0, + 1725, 1726, 1727, 1732, 0, 0, 0, 0, 879, 874, + 68, 112, 0, 1297, 0, 0, 0, 1313, 1314, 0, + 1316, 1317, 1318, 0, 0, 0, 0, 72, 0, 0, + 0, 1277, 0, 1277, 0, 0, 0, 0, 1082, 1076, + 1086, 1100, 0, 1113, 1120, 1135, 1293, 1504, 1119, 0, + 0, 0, 576, 581, 0, 584, 585, 1180, 1179, 0, + 1164, 1165, 0, 1174, 0, 0, 1283, 1284, 1285, 1168, + 1424, 1425, 1426, 1382, 1328, 0, -2, 1435, 0, 0, + 1324, 1348, 1382, 0, 1360, 0, 1367, 0, 1365, 1358, + 816, 899, 780, 1369, 472, 1421, 1411, 0, 1413, 0, + 0, 0, 0, 1392, -2, 0, 1559, 1561, 1562, 1565, + 1566, 1567, 1624, 1625, 1626, 0, 0, 1570, 1621, 1622, + 1623, 1571, 0, 0, 0, 1576, 0, 0, 0, 0, + 1946, 1947, 1617, 0, 0, 1529, 1531, 1532, 1533, 1534, + 1535, 1536, 1537, 1538, 1530, 0, 0, 0, 1521, 1523, + 495, 548, 0, 1239, 2049, 2049, 0, 0, 0, 1245, + 1246, 2049, 2049, 2049, 1250, 1251, 0, 2049, 2049, 0, + 2049, 0, 0, 1181, 366, 368, 0, 0, 1032, 1034, + 1029, 1030, 951, 0, 0, 0, 0, 125, 127, 142, + 0, 858, 182, 0, 855, 153, 0, 174, 0, 1349, + 0, 1670, 0, 0, 0, 1741, 1728, 0, 0, 0, + 0, 0, 1950, 1951, 1952, 1680, 1683, 1688, 1692, 1322, + 1310, 1311, 1312, 1308, 0, 0, 1319, 1320, 0, 70, + 0, 89, 0, 0, 90, 1277, 91, 1277, 0, 0, + 1070, 0, 0, 1136, 1137, 1145, 1146, 0, 1148, 1149, + 1169, 582, 1158, 1167, 1173, 1176, 0, 1238, 1270, 1384, + 0, 1330, 1286, 1437, 2049, 1168, 1335, 1384, 0, 1429, + 2049, 2049, 1350, 0, 1362, 0, 1374, 0, 1368, 892, + 461, 0, 1371, 1407, 1412, 1414, 1416, 0, 1420, 1418, + 1393, -2, 0, 1401, 0, 0, 1568, 1569, 0, 0, + 1846, 2049, 0, 0, 0, 1607, 0, 1238, 1238, 1238, + 1238, 0, 555, 556, 0, 0, 1242, 1243, 0, 0, + 0, 0, 0, 0, 0, 506, 0, 0, 483, 1009, + 1023, 0, 958, 0, 0, 0, 0, 0, 857, 143, + 0, 152, 171, 0, 184, 185, 0, 0, 0, 0, + 1341, 0, 1615, 1616, 0, 1717, 0, 0, 0, 1721, + 1722, 1723, 1724, 1315, 1315, 1277, 72, 0, 88, 0, + 92, 93, 0, 1277, 0, 1112, 0, 1147, 1175, 1177, + 1237, 1323, 0, 1421, 1436, 0, 1334, 1325, 1428, 0, + 0, 0, 1361, 1373, 0, 1376, 778, 1370, 1388, 0, + 1417, 1394, 1402, 0, 1397, 0, 0, 0, 1620, 0, + 1575, 0, 1581, 0, 1585, 1595, 1608, 0, 0, 1510, + 0, 1512, 0, 1516, 0, 1518, 0, 0, 1240, 1241, + 1244, 1247, 1248, 1249, 1252, 1253, 1254, 1255, 508, 482, + 1033, 1035, 0, 1896, 953, 954, 0, 861, 851, 859, + 154, 158, 0, 180, 177, 0, 186, 0, 0, 0, + 0, 1337, 0, 1613, 0, 1718, 1719, 1720, 1303, 1315, + 1304, 1315, 69, 71, 73, 87, 1277, 94, 0, 1114, + 1115, 1129, 0, 1409, 1441, 1430, 1431, 1432, 1375, 1408, + 1396, 0, -2, 1404, 0, 0, 1898, 1908, 1909, 1573, + 1580, 0, 1584, 1586, 1587, 1594, 1596, 1597, 0, 1609, + 1610, 1611, 1618, 1238, 1238, 1238, 1238, 1520, 952, 0, + 0, 860, 0, 844, 145, 0, 0, 175, 176, 178, + 0, 187, 0, 189, 190, 0, 0, 1729, 1305, 1306, + 96, 1116, 1385, 0, 1387, 1398, -2, 0, 1406, 0, + 1574, 1585, 1598, 0, 1599, 0, 0, 0, 1511, 1513, + 1517, 1519, 1896, 955, 862, 1347, 0, 159, 0, 161, + 163, 164, 1545, 172, 173, 179, 188, 0, 0, 1101, + 1117, 0, 0, 1389, 1405, 1899, 1583, 1600, 1602, 1603, + 0, 0, 1601, 0, 146, 147, 0, 160, 0, 0, + 1342, 1614, 1118, 1386, 1383, 1604, 1606, 1605, 956, 0, + 0, 162, 1546, 148, 149, 150, 0, 1547, } var yyTok1 = [...]int{ @@ -11454,14 +11494,14 @@ var yyTok1 = [...]int{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 121, 3, 3, 3, 154, 144, 3, 88, 89, 151, 149, 174, 150, 173, 152, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 717, 714, - 131, 130, 132, 3, 718, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 720, 717, + 131, 130, 132, 3, 721, 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, 156, 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, 715, 143, 716, 157, + 3, 3, 3, 718, 143, 719, 157, } var yyTok2 = [...]int{ @@ -11581,7 +11621,8 @@ var yyTok3 = [...]int{ 58020, 695, 58021, 696, 58022, 697, 58023, 698, 58024, 699, 58025, 700, 58026, 701, 58027, 702, 58028, 703, 58029, 704, 58030, 705, 58031, 706, 58032, 707, 58033, 708, 58034, 709, - 58035, 710, 58036, 711, 58037, 712, 58038, 713, 0, + 58035, 710, 58036, 711, 58037, 712, 58038, 713, 58039, 714, + 58040, 715, 58041, 716, 0, } var yyErrorMessages = [...]struct { @@ -11931,13 +11972,13 @@ yydefault: case 2: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:916 +//line mysql_sql.y:919 { yylex.(*Lexer).AppendStmt(yyDollar[1].statementUnion()) } case 4: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:923 +//line mysql_sql.y:926 { if yyDollar[1].statementUnion() != nil { yylex.(*Lexer).AppendStmt(yyDollar[1].statementUnion()) @@ -11945,7 +11986,7 @@ yydefault: } case 5: yyDollar = yyS[yypt-3 : yypt+1] -//line mysql_sql.y:929 +//line mysql_sql.y:932 { if yyDollar[3].statementUnion() != nil { yylex.(*Lexer).AppendStmt(yyDollar[3].statementUnion()) @@ -11954,7 +11995,7 @@ yydefault: case 6: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:937 +//line mysql_sql.y:940 { yyLOCAL = tree.NewCompoundStmt(yyDollar[2].statementsUnion()) } @@ -11962,7 +12003,7 @@ yydefault: case 7: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.Statement -//line mysql_sql.y:943 +//line mysql_sql.y:946 { yyLOCAL = []tree.Statement{yyDollar[1].statementUnion()} } @@ -11970,7 +12011,7 @@ yydefault: case 8: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []tree.Statement -//line mysql_sql.y:947 +//line mysql_sql.y:950 { yyLOCAL = append(yyDollar[1].statementsUnion(), yyDollar[3].statementUnion()) } @@ -11978,7 +12019,7 @@ yydefault: case 18: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:962 +//line mysql_sql.y:965 { yyLOCAL = yyDollar[1].statementUnion() } @@ -11986,7 +12027,7 @@ yydefault: case 19: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:966 +//line mysql_sql.y:969 { yyLOCAL = tree.Statement(nil) } @@ -11994,7 +12035,7 @@ yydefault: case 20: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:972 +//line mysql_sql.y:975 { yyLOCAL = yyDollar[1].statementUnion() } @@ -12002,7 +12043,7 @@ yydefault: case 22: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:977 +//line mysql_sql.y:980 { yyLOCAL = yyDollar[1].statementUnion() } @@ -12010,7 +12051,7 @@ yydefault: case 23: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:981 +//line mysql_sql.y:984 { yyLOCAL = tree.Statement(nil) } @@ -12018,7 +12059,7 @@ yydefault: case 52: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1015 +//line mysql_sql.y:1018 { yyLOCAL = yyDollar[1].selectUnion() } @@ -12026,7 +12067,7 @@ yydefault: case 63: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1031 +//line mysql_sql.y:1034 { var timestamp = yyDollar[2].str var isS3 = false @@ -12041,7 +12082,7 @@ yydefault: case 64: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1042 +//line mysql_sql.y:1045 { var timestamp = yyDollar[2].str var isS3 = true @@ -12055,32 +12096,32 @@ yydefault: yyVAL.union = yyLOCAL case 65: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:1054 +//line mysql_sql.y:1057 { yyVAL.str = "" } case 66: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:1058 +//line mysql_sql.y:1061 { yyVAL.str = yyDollar[2].str } case 67: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:1063 +//line mysql_sql.y:1066 { yyVAL.str = "" } case 68: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:1067 +//line mysql_sql.y:1070 { yyVAL.str = yyDollar[2].str } case 69: yyDollar = yyS[yypt-12 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1073 +//line mysql_sql.y:1076 { yyLOCAL = &tree.CreateCDC{ IfNotExists: yyDollar[3].ifNotExistsUnion(), @@ -12097,7 +12138,7 @@ yydefault: case 70: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:1088 +//line mysql_sql.y:1091 { yyLOCAL = yyDollar[1].strsUnion() } @@ -12105,7 +12146,7 @@ yydefault: case 71: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:1092 +//line mysql_sql.y:1095 { yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].strsUnion()...) } @@ -12113,7 +12154,7 @@ yydefault: case 72: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:1096 +//line mysql_sql.y:1099 { yyLOCAL = []string{} } @@ -12121,7 +12162,7 @@ yydefault: case 73: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:1100 +//line mysql_sql.y:1103 { yyLOCAL = append(yyLOCAL, yyDollar[1].str) yyLOCAL = append(yyLOCAL, yyDollar[3].str) @@ -12130,7 +12171,7 @@ yydefault: case 74: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1107 +//line mysql_sql.y:1110 { yyLOCAL = &tree.ShowCDC{ Option: yyDollar[3].allCDCOptionUnion(), @@ -12140,7 +12181,7 @@ yydefault: case 75: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1115 +//line mysql_sql.y:1118 { yyLOCAL = &tree.PauseCDC{ Option: yyDollar[3].allCDCOptionUnion(), @@ -12150,7 +12191,7 @@ yydefault: case 76: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1123 +//line mysql_sql.y:1126 { yyLOCAL = tree.NewDropCDC(yyDollar[3].allCDCOptionUnion(), yyDollar[4].boolValUnion()) } @@ -12158,7 +12199,7 @@ yydefault: case 77: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.AllOrNotCDC -//line mysql_sql.y:1129 +//line mysql_sql.y:1132 { yyLOCAL = &tree.AllOrNotCDC{ All: true, @@ -12169,7 +12210,7 @@ yydefault: case 78: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.AllOrNotCDC -//line mysql_sql.y:1136 +//line mysql_sql.y:1139 { yyLOCAL = &tree.AllOrNotCDC{ All: false, @@ -12180,7 +12221,7 @@ yydefault: case 79: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1145 +//line mysql_sql.y:1148 { yyLOCAL = &tree.ResumeCDC{ TaskName: tree.Identifier(yyDollar[4].cstrUnion().Compare()), @@ -12190,7 +12231,7 @@ yydefault: case 80: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1153 +//line mysql_sql.y:1156 { yyLOCAL = &tree.RestartCDC{ TaskName: tree.Identifier(yyDollar[4].cstrUnion().Compare()), @@ -12200,7 +12241,7 @@ yydefault: case 81: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1161 +//line mysql_sql.y:1164 { yyLOCAL = &tree.CreateSnapShot{ IfNotExists: yyDollar[3].ifNotExistsUnion(), @@ -12212,7 +12253,7 @@ yydefault: case 82: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ObjectInfo -//line mysql_sql.y:1171 +//line mysql_sql.y:1174 { spLevel := tree.SnapshotLevelType{ Level: tree.SNAPSHOTLEVELCLUSTER, @@ -12226,7 +12267,7 @@ yydefault: case 83: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ObjectInfo -//line mysql_sql.y:1181 +//line mysql_sql.y:1184 { spLevel := tree.SnapshotLevelType{ Level: tree.SNAPSHOTLEVELACCOUNT, @@ -12240,7 +12281,7 @@ yydefault: case 84: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ObjectInfo -//line mysql_sql.y:1191 +//line mysql_sql.y:1194 { spLevel := tree.SnapshotLevelType{ Level: tree.SNAPSHOTLEVELACCOUNT, @@ -12254,7 +12295,7 @@ yydefault: case 85: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ObjectInfo -//line mysql_sql.y:1201 +//line mysql_sql.y:1204 { spLevel := tree.SnapshotLevelType{ Level: tree.SNAPSHOTLEVELDATABASE, @@ -12268,7 +12309,7 @@ yydefault: case 86: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.ObjectInfo -//line mysql_sql.y:1211 +//line mysql_sql.y:1214 { spLevel := tree.SnapshotLevelType{ Level: tree.SNAPSHOTLEVELTABLE, @@ -12282,7 +12323,7 @@ yydefault: case 87: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.ObjectInfo -//line mysql_sql.y:1221 +//line mysql_sql.y:1224 { spLevel := tree.SnapshotLevelType{ Level: tree.SNAPSHOTLEVELTABLE, @@ -12298,7 +12339,7 @@ yydefault: case 88: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.ObjectInfo -//line mysql_sql.y:1233 +//line mysql_sql.y:1236 { spLevel := tree.SnapshotLevelType{ Level: tree.SNAPSHOTLEVELDATABASE, @@ -12314,7 +12355,7 @@ yydefault: case 89: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.ObjectInfo -//line mysql_sql.y:1245 +//line mysql_sql.y:1248 { spLevel := tree.SnapshotLevelType{ Level: tree.SNAPSHOTLEVELACCOUNT, @@ -12329,7 +12370,7 @@ yydefault: case 90: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1258 +//line mysql_sql.y:1261 { yyLOCAL = &tree.CreatePitr{ IfNotExists: yyDollar[3].ifNotExistsUnion(), @@ -12344,7 +12385,7 @@ yydefault: case 91: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1269 +//line mysql_sql.y:1272 { yyLOCAL = &tree.CreatePitr{ IfNotExists: yyDollar[3].ifNotExistsUnion(), @@ -12359,7 +12400,7 @@ yydefault: case 92: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1280 +//line mysql_sql.y:1283 { yyLOCAL = &tree.CreatePitr{ IfNotExists: yyDollar[3].ifNotExistsUnion(), @@ -12375,7 +12416,7 @@ yydefault: case 93: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1292 +//line mysql_sql.y:1295 { yyLOCAL = &tree.CreatePitr{ IfNotExists: yyDollar[3].ifNotExistsUnion(), @@ -12391,7 +12432,7 @@ yydefault: case 94: yyDollar = yyS[yypt-12 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1304 +//line mysql_sql.y:1307 { yyLOCAL = &tree.CreatePitr{ IfNotExists: yyDollar[3].ifNotExistsUnion(), @@ -12408,7 +12449,7 @@ yydefault: case 95: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1317 +//line mysql_sql.y:1320 { yyLOCAL = &tree.CreatePitr{ IfNotExists: yyDollar[3].ifNotExistsUnion(), @@ -12423,7 +12464,7 @@ yydefault: case 96: yyDollar = yyS[yypt-13 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1328 +//line mysql_sql.y:1331 { yyLOCAL = &tree.CreatePitr{ IfNotExists: yyDollar[3].ifNotExistsUnion(), @@ -12440,7 +12481,7 @@ yydefault: case 97: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:1343 +//line mysql_sql.y:1346 { yyLOCAL = yyDollar[1].item.(int64) } @@ -12448,7 +12489,7 @@ yydefault: case 98: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1350 +//line mysql_sql.y:1353 { var account tree.Identifier var database tree.Identifier @@ -12484,7 +12525,7 @@ yydefault: case 99: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1382 +//line mysql_sql.y:1385 { var account tree.Identifier var database tree.Identifier @@ -12525,7 +12566,7 @@ yydefault: case 100: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1419 +//line mysql_sql.y:1422 { yyLOCAL = &tree.RestoreSnapShot{ Level: tree.RESTORELEVELCLUSTER, @@ -12536,7 +12577,7 @@ yydefault: case 101: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1426 +//line mysql_sql.y:1429 { result := &tree.RestoreSnapShot{ Level: tree.RESTORELEVELACCOUNT, @@ -12554,7 +12595,7 @@ yydefault: case 102: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:1442 +//line mysql_sql.y:1445 { yyLOCAL = tree.IdentifierList{tree.Identifier(yyDollar[1].cstrUnion().Compare())} } @@ -12562,7 +12603,7 @@ yydefault: case 103: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:1446 +//line mysql_sql.y:1449 { yyLOCAL = tree.IdentifierList{ tree.Identifier(yyDollar[1].cstrUnion().Compare()), @@ -12573,7 +12614,7 @@ yydefault: case 104: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:1455 +//line mysql_sql.y:1458 { yyLOCAL = tree.IdentifierList{ tree.Identifier(yyDollar[1].cstrUnion().Compare()), @@ -12584,7 +12625,7 @@ yydefault: case 105: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:1462 +//line mysql_sql.y:1465 { yyLOCAL = tree.IdentifierList{ tree.Identifier(yyDollar[1].cstrUnion().Compare()), @@ -12595,32 +12636,32 @@ yydefault: yyVAL.union = yyLOCAL case 106: yyDollar = yyS[yypt-5 : yypt+1] -//line mysql_sql.y:1472 +//line mysql_sql.y:1475 { yyVAL.str = yyDollar[4].cstrUnion().Compare() } case 107: yyDollar = yyS[yypt-5 : yypt+1] -//line mysql_sql.y:1476 +//line mysql_sql.y:1479 { yyVAL.str = strings.ToLower(yyDollar[4].str) } case 108: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:1481 +//line mysql_sql.y:1484 { yyVAL.str = "" } case 109: yyDollar = yyS[yypt-3 : yypt+1] -//line mysql_sql.y:1485 +//line mysql_sql.y:1488 { yyVAL.str = yyDollar[3].cstrUnion().Compare() } case 110: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1491 +//line mysql_sql.y:1494 { yyLOCAL = &tree.RestorePitr{ Level: tree.RESTORELEVELACCOUNT, @@ -12632,7 +12673,7 @@ yydefault: case 111: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1499 +//line mysql_sql.y:1502 { yyLOCAL = &tree.RestorePitr{ Level: tree.RESTORELEVELDATABASE, @@ -12645,7 +12686,7 @@ yydefault: case 112: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1508 +//line mysql_sql.y:1511 { yyLOCAL = &tree.RestorePitr{ Level: tree.RESTORELEVELTABLE, @@ -12659,7 +12700,7 @@ yydefault: case 113: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1518 +//line mysql_sql.y:1521 { yyLOCAL = &tree.RestorePitr{ Level: tree.RESTORELEVELACCOUNT, @@ -12673,7 +12714,7 @@ yydefault: case 114: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1528 +//line mysql_sql.y:1531 { yyLOCAL = &tree.RestorePitr{ Level: tree.RESTORELEVELCLUSTER, @@ -12685,7 +12726,7 @@ yydefault: case 115: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1538 +//line mysql_sql.y:1541 { var connectionId uint64 switch v := yyDollar[3].item.(type) { @@ -12708,7 +12749,7 @@ yydefault: case 116: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.KillOption -//line mysql_sql.y:1558 +//line mysql_sql.y:1561 { yyLOCAL = tree.KillOption{ Exist: false, @@ -12718,7 +12759,7 @@ yydefault: case 117: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.KillOption -//line mysql_sql.y:1564 +//line mysql_sql.y:1567 { yyLOCAL = tree.KillOption{ Exist: true, @@ -12729,7 +12770,7 @@ yydefault: case 118: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.KillOption -//line mysql_sql.y:1571 +//line mysql_sql.y:1574 { yyLOCAL = tree.KillOption{ Exist: true, @@ -12740,7 +12781,7 @@ yydefault: case 119: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.StatementOption -//line mysql_sql.y:1579 +//line mysql_sql.y:1582 { yyLOCAL = tree.StatementOption{ Exist: false, @@ -12750,7 +12791,7 @@ yydefault: case 120: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.StatementOption -//line mysql_sql.y:1585 +//line mysql_sql.y:1588 { yyLOCAL = tree.StatementOption{ Exist: true, @@ -12761,7 +12802,7 @@ yydefault: case 121: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1594 +//line mysql_sql.y:1597 { yyLOCAL = &tree.CallStmt{ Name: yyDollar[2].procNameUnion(), @@ -12772,7 +12813,7 @@ yydefault: case 122: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1603 +//line mysql_sql.y:1606 { yyLOCAL = &tree.LeaveStmt{ Name: tree.Identifier(yyDollar[2].cstrUnion().Compare()), @@ -12782,7 +12823,7 @@ yydefault: case 123: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1611 +//line mysql_sql.y:1614 { yyLOCAL = &tree.IterateStmt{ Name: tree.Identifier(yyDollar[2].cstrUnion().Compare()), @@ -12792,7 +12833,7 @@ yydefault: case 124: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1619 +//line mysql_sql.y:1622 { yyLOCAL = &tree.WhileStmt{ Name: "", @@ -12804,7 +12845,7 @@ yydefault: case 125: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1627 +//line mysql_sql.y:1630 { yyLOCAL = &tree.WhileStmt{ Name: tree.Identifier(yyDollar[1].cstrUnion().Compare()), @@ -12816,7 +12857,7 @@ yydefault: case 126: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1637 +//line mysql_sql.y:1640 { yyLOCAL = &tree.RepeatStmt{ Name: "", @@ -12828,7 +12869,7 @@ yydefault: case 127: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1645 +//line mysql_sql.y:1648 { yyLOCAL = &tree.RepeatStmt{ Name: tree.Identifier(yyDollar[1].cstrUnion().Compare()), @@ -12840,7 +12881,7 @@ yydefault: case 128: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1655 +//line mysql_sql.y:1658 { yyLOCAL = &tree.LoopStmt{ Name: "", @@ -12851,7 +12892,7 @@ yydefault: case 129: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1662 +//line mysql_sql.y:1665 { yyLOCAL = &tree.LoopStmt{ Name: tree.Identifier(yyDollar[1].cstrUnion().Compare()), @@ -12862,7 +12903,7 @@ yydefault: case 130: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1671 +//line mysql_sql.y:1674 { yyLOCAL = &tree.IfStmt{ Cond: yyDollar[2].exprUnion(), @@ -12875,7 +12916,7 @@ yydefault: case 131: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*tree.ElseIfStmt -//line mysql_sql.y:1681 +//line mysql_sql.y:1684 { yyLOCAL = nil } @@ -12883,7 +12924,7 @@ yydefault: case 132: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.ElseIfStmt -//line mysql_sql.y:1685 +//line mysql_sql.y:1688 { yyLOCAL = yyDollar[1].elseIfClauseListUnion() } @@ -12891,7 +12932,7 @@ yydefault: case 133: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.ElseIfStmt -//line mysql_sql.y:1691 +//line mysql_sql.y:1694 { yyLOCAL = []*tree.ElseIfStmt{yyDollar[1].elseIfClauseUnion()} } @@ -12899,7 +12940,7 @@ yydefault: case 134: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []*tree.ElseIfStmt -//line mysql_sql.y:1695 +//line mysql_sql.y:1698 { yyLOCAL = append(yyDollar[1].elseIfClauseListUnion(), yyDollar[2].elseIfClauseUnion()) } @@ -12907,7 +12948,7 @@ yydefault: case 135: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.ElseIfStmt -//line mysql_sql.y:1701 +//line mysql_sql.y:1704 { yyLOCAL = &tree.ElseIfStmt{ Cond: yyDollar[2].exprUnion(), @@ -12918,7 +12959,7 @@ yydefault: case 136: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1710 +//line mysql_sql.y:1713 { yyLOCAL = &tree.CaseStmt{ Expr: yyDollar[2].exprUnion(), @@ -12930,7 +12971,7 @@ yydefault: case 137: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.WhenStmt -//line mysql_sql.y:1720 +//line mysql_sql.y:1723 { yyLOCAL = []*tree.WhenStmt{yyDollar[1].whenClause2Union()} } @@ -12938,7 +12979,7 @@ yydefault: case 138: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []*tree.WhenStmt -//line mysql_sql.y:1724 +//line mysql_sql.y:1727 { yyLOCAL = append(yyDollar[1].whenClauseList2Union(), yyDollar[2].whenClause2Union()) } @@ -12946,7 +12987,7 @@ yydefault: case 139: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.WhenStmt -//line mysql_sql.y:1730 +//line mysql_sql.y:1733 { yyLOCAL = &tree.WhenStmt{ Cond: yyDollar[2].exprUnion(), @@ -12957,7 +12998,7 @@ yydefault: case 140: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []tree.Statement -//line mysql_sql.y:1739 +//line mysql_sql.y:1742 { yyLOCAL = nil } @@ -12965,7 +13006,7 @@ yydefault: case 141: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []tree.Statement -//line mysql_sql.y:1743 +//line mysql_sql.y:1746 { yyLOCAL = yyDollar[2].statementsUnion() } @@ -12973,7 +13014,7 @@ yydefault: case 142: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1749 +//line mysql_sql.y:1752 { ep := &tree.ExportParam{ Outfile: true, @@ -12993,7 +13034,7 @@ yydefault: case 143: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1767 +//line mysql_sql.y:1770 { yyLOCAL = &tree.Load{ Local: yyDollar[3].boolValUnion(), @@ -13009,7 +13050,7 @@ yydefault: case 144: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:1781 +//line mysql_sql.y:1784 { yyLOCAL = &tree.LoadExtension{ Name: tree.Identifier(yyDollar[2].str), @@ -13019,7 +13060,7 @@ yydefault: case 145: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.UpdateExprs -//line mysql_sql.y:1788 +//line mysql_sql.y:1791 { yyLOCAL = nil } @@ -13027,7 +13068,7 @@ yydefault: case 146: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.UpdateExprs -//line mysql_sql.y:1792 +//line mysql_sql.y:1795 { yyLOCAL = yyDollar[2].updateExprsUnion() } @@ -13035,7 +13076,7 @@ yydefault: case 147: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.UpdateExprs -//line mysql_sql.y:1798 +//line mysql_sql.y:1801 { yyLOCAL = tree.UpdateExprs{yyDollar[1].updateExprUnion()} } @@ -13043,7 +13084,7 @@ yydefault: case 148: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.UpdateExprs -//line mysql_sql.y:1802 +//line mysql_sql.y:1805 { yyLOCAL = append(yyDollar[1].updateExprsUnion(), yyDollar[3].updateExprUnion()) } @@ -13051,7 +13092,7 @@ yydefault: case 149: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.UpdateExpr -//line mysql_sql.y:1808 +//line mysql_sql.y:1811 { yyLOCAL = &tree.UpdateExpr{ Names: []*tree.UnresolvedName{yyDollar[1].unresolvedNameUnion()}, @@ -13062,7 +13103,7 @@ yydefault: case 150: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.UpdateExpr -//line mysql_sql.y:1815 +//line mysql_sql.y:1818 { yyLOCAL = &tree.UpdateExpr{ Names: []*tree.UnresolvedName{yyDollar[1].unresolvedNameUnion()}, @@ -13073,7 +13114,7 @@ yydefault: case 151: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:1823 +//line mysql_sql.y:1826 { yyLOCAL = false } @@ -13081,7 +13122,7 @@ yydefault: case 152: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:1827 +//line mysql_sql.y:1830 { str := strings.ToLower(yyDollar[2].str) if str == "true" { @@ -13097,7 +13138,7 @@ yydefault: case 153: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:1839 +//line mysql_sql.y:1842 { yyLOCAL = true } @@ -13105,7 +13146,7 @@ yydefault: case 154: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:1843 +//line mysql_sql.y:1846 { str := strings.ToLower(yyDollar[2].str) if str == "true" { @@ -13121,7 +13162,7 @@ yydefault: case 155: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.UnresolvedName -//line mysql_sql.y:1857 +//line mysql_sql.y:1860 { yyLOCAL = tree.NewUnresolvedName(yyDollar[1].cstrUnion()) } @@ -13129,7 +13170,7 @@ yydefault: case 156: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.UnresolvedName -//line mysql_sql.y:1861 +//line mysql_sql.y:1864 { tblNameCStr := yylex.(*Lexer).GetDbOrTblNameCStr(yyDollar[1].cstrUnion().Origin()) yyLOCAL = tree.NewUnresolvedName(tblNameCStr, yyDollar[3].cstrUnion()) @@ -13138,7 +13179,7 @@ yydefault: case 157: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.UnresolvedName -//line mysql_sql.y:1866 +//line mysql_sql.y:1869 { dbNameCStr := yylex.(*Lexer).GetDbOrTblNameCStr(yyDollar[1].cstrUnion().Origin()) tblNameCStr := yylex.(*Lexer).GetDbOrTblNameCStr(yyDollar[3].cstrUnion().Origin()) @@ -13148,7 +13189,7 @@ yydefault: case 158: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []tree.LoadColumn -//line mysql_sql.y:1873 +//line mysql_sql.y:1876 { yyLOCAL = nil } @@ -13156,7 +13197,7 @@ yydefault: case 159: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []tree.LoadColumn -//line mysql_sql.y:1877 +//line mysql_sql.y:1880 { yyLOCAL = nil } @@ -13164,7 +13205,7 @@ yydefault: case 160: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []tree.LoadColumn -//line mysql_sql.y:1881 +//line mysql_sql.y:1884 { yyLOCAL = yyDollar[2].loadColumnsUnion() } @@ -13172,7 +13213,7 @@ yydefault: case 161: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.LoadColumn -//line mysql_sql.y:1887 +//line mysql_sql.y:1890 { switch yyDollar[1].loadColumnUnion().(type) { case *tree.UnresolvedName: @@ -13185,7 +13226,7 @@ yydefault: case 162: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []tree.LoadColumn -//line mysql_sql.y:1896 +//line mysql_sql.y:1899 { switch yyDollar[3].loadColumnUnion().(type) { case *tree.UnresolvedName: @@ -13198,7 +13239,7 @@ yydefault: case 163: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.LoadColumn -//line mysql_sql.y:1907 +//line mysql_sql.y:1910 { yyLOCAL = yyDollar[1].unresolvedNameUnion() } @@ -13206,7 +13247,7 @@ yydefault: case 164: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.LoadColumn -//line mysql_sql.y:1911 +//line mysql_sql.y:1914 { yyLOCAL = yyDollar[1].varExprUnion() } @@ -13214,7 +13255,7 @@ yydefault: case 165: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.VarExpr -//line mysql_sql.y:1917 +//line mysql_sql.y:1920 { yyLOCAL = []*tree.VarExpr{yyDollar[1].varExprUnion()} } @@ -13222,7 +13263,7 @@ yydefault: case 166: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.VarExpr -//line mysql_sql.y:1921 +//line mysql_sql.y:1924 { yyLOCAL = append(yyDollar[1].varExprsUnion(), yyDollar[3].varExprUnion()) } @@ -13230,7 +13271,7 @@ yydefault: case 167: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.VarExpr -//line mysql_sql.y:1927 +//line mysql_sql.y:1930 { yyLOCAL = yyDollar[1].varExprUnion() } @@ -13238,7 +13279,7 @@ yydefault: case 168: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.VarExpr -//line mysql_sql.y:1931 +//line mysql_sql.y:1934 { yyLOCAL = yyDollar[1].varExprUnion() } @@ -13246,7 +13287,7 @@ yydefault: case 169: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.VarExpr -//line mysql_sql.y:1937 +//line mysql_sql.y:1940 { v := strings.ToLower(yyDollar[1].str) var isGlobal bool @@ -13268,7 +13309,7 @@ yydefault: case 170: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.VarExpr -//line mysql_sql.y:1957 +//line mysql_sql.y:1960 { // vs := strings.Split($1, ".") // var r string @@ -13290,7 +13331,7 @@ yydefault: case 171: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:1976 +//line mysql_sql.y:1979 { yyLOCAL = 0 } @@ -13298,7 +13339,7 @@ yydefault: case 172: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:1980 +//line mysql_sql.y:1983 { yyLOCAL = yyDollar[2].item.(int64) } @@ -13306,7 +13347,7 @@ yydefault: case 173: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:1984 +//line mysql_sql.y:1987 { yyLOCAL = yyDollar[2].item.(int64) } @@ -13314,7 +13355,7 @@ yydefault: case 174: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.Lines -//line mysql_sql.y:1989 +//line mysql_sql.y:1992 { yyLOCAL = nil } @@ -13322,7 +13363,7 @@ yydefault: case 175: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.Lines -//line mysql_sql.y:1993 +//line mysql_sql.y:1996 { yyLOCAL = &tree.Lines{ StartingBy: yyDollar[2].str, @@ -13335,7 +13376,7 @@ yydefault: case 176: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.Lines -//line mysql_sql.y:2002 +//line mysql_sql.y:2005 { yyLOCAL = &tree.Lines{ StartingBy: yyDollar[3].str, @@ -13347,32 +13388,32 @@ yydefault: yyVAL.union = yyLOCAL case 177: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:2012 +//line mysql_sql.y:2015 { yyVAL.str = "" } case 179: yyDollar = yyS[yypt-3 : yypt+1] -//line mysql_sql.y:2019 +//line mysql_sql.y:2022 { yyVAL.str = yyDollar[3].str } case 180: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:2024 +//line mysql_sql.y:2027 { yyVAL.str = "\n" } case 182: yyDollar = yyS[yypt-3 : yypt+1] -//line mysql_sql.y:2031 +//line mysql_sql.y:2034 { yyVAL.str = yyDollar[3].str } case 183: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.Fields -//line mysql_sql.y:2036 +//line mysql_sql.y:2039 { yyLOCAL = nil } @@ -13380,7 +13421,7 @@ yydefault: case 184: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.Fields -//line mysql_sql.y:2040 +//line mysql_sql.y:2043 { res := &tree.Fields{ Terminated: &tree.Terminated{ @@ -13410,7 +13451,7 @@ yydefault: case 185: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.Fields -//line mysql_sql.y:2068 +//line mysql_sql.y:2071 { yyLOCAL = []*tree.Fields{yyDollar[1].fieldsUnion()} } @@ -13418,7 +13459,7 @@ yydefault: case 186: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []*tree.Fields -//line mysql_sql.y:2072 +//line mysql_sql.y:2075 { yyLOCAL = append(yyDollar[1].fieldsListUnion(), yyDollar[2].fieldsUnion()) } @@ -13426,7 +13467,7 @@ yydefault: case 187: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.Fields -//line mysql_sql.y:2078 +//line mysql_sql.y:2081 { yyLOCAL = &tree.Fields{ Terminated: &tree.Terminated{ @@ -13438,7 +13479,7 @@ yydefault: case 188: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.Fields -//line mysql_sql.y:2086 +//line mysql_sql.y:2089 { str := yyDollar[4].str if str != "\\" && len(str) > 1 { @@ -13462,7 +13503,7 @@ yydefault: case 189: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.Fields -//line mysql_sql.y:2106 +//line mysql_sql.y:2109 { str := yyDollar[3].str if str != "\\" && len(str) > 1 { @@ -13485,7 +13526,7 @@ yydefault: case 190: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.Fields -//line mysql_sql.y:2125 +//line mysql_sql.y:2128 { str := yyDollar[3].str if str != "\\" && len(str) > 1 { @@ -13508,7 +13549,7 @@ yydefault: case 192: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.DuplicateKey -//line mysql_sql.y:2150 +//line mysql_sql.y:2153 { yyLOCAL = &tree.DuplicateKeyError{} } @@ -13516,7 +13557,7 @@ yydefault: case 193: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.DuplicateKey -//line mysql_sql.y:2154 +//line mysql_sql.y:2157 { yyLOCAL = &tree.DuplicateKeyIgnore{} } @@ -13524,7 +13565,7 @@ yydefault: case 194: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.DuplicateKey -//line mysql_sql.y:2158 +//line mysql_sql.y:2161 { yyLOCAL = &tree.DuplicateKeyReplace{} } @@ -13532,7 +13573,7 @@ yydefault: case 195: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:2163 +//line mysql_sql.y:2166 { yyLOCAL = false } @@ -13540,7 +13581,7 @@ yydefault: case 196: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:2167 +//line mysql_sql.y:2170 { yyLOCAL = true } @@ -13548,7 +13589,7 @@ yydefault: case 197: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2173 +//line mysql_sql.y:2176 { yyLOCAL = &tree.Grant{ Typ: tree.GrantTypePrivilege, @@ -13565,7 +13606,7 @@ yydefault: case 198: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2186 +//line mysql_sql.y:2189 { yyLOCAL = &tree.Grant{ Typ: tree.GrantTypeRole, @@ -13580,7 +13621,7 @@ yydefault: case 199: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2197 +//line mysql_sql.y:2200 { yyLOCAL = &tree.Grant{ Typ: tree.GrantTypeProxy, @@ -13596,7 +13637,7 @@ yydefault: case 200: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:2210 +//line mysql_sql.y:2213 { yyLOCAL = false } @@ -13604,7 +13645,7 @@ yydefault: case 201: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:2214 +//line mysql_sql.y:2217 { yyLOCAL = true } @@ -13612,7 +13653,7 @@ yydefault: case 202: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2224 +//line mysql_sql.y:2227 { yyLOCAL = &tree.Revoke{ Typ: tree.RevokeTypePrivilege, @@ -13629,7 +13670,7 @@ yydefault: case 203: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2237 +//line mysql_sql.y:2240 { yyLOCAL = &tree.Revoke{ Typ: tree.RevokeTypeRole, @@ -13644,7 +13685,7 @@ yydefault: case 204: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.PrivilegeLevel -//line mysql_sql.y:2250 +//line mysql_sql.y:2253 { yyLOCAL = &tree.PrivilegeLevel{ Level: tree.PRIVILEGE_LEVEL_TYPE_STAR, @@ -13654,7 +13695,7 @@ yydefault: case 205: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.PrivilegeLevel -//line mysql_sql.y:2256 +//line mysql_sql.y:2259 { yyLOCAL = &tree.PrivilegeLevel{ Level: tree.PRIVILEGE_LEVEL_TYPE_STAR_STAR, @@ -13664,7 +13705,7 @@ yydefault: case 206: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.PrivilegeLevel -//line mysql_sql.y:2262 +//line mysql_sql.y:2265 { tblName := yylex.(*Lexer).GetDbOrTblName(yyDollar[1].cstrUnion().Origin()) yyLOCAL = &tree.PrivilegeLevel{ @@ -13676,7 +13717,7 @@ yydefault: case 207: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.PrivilegeLevel -//line mysql_sql.y:2270 +//line mysql_sql.y:2273 { dbName := yylex.(*Lexer).GetDbOrTblName(yyDollar[1].cstrUnion().Origin()) tblName := yylex.(*Lexer).GetDbOrTblName(yyDollar[3].cstrUnion().Origin()) @@ -13690,7 +13731,7 @@ yydefault: case 208: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.PrivilegeLevel -//line mysql_sql.y:2280 +//line mysql_sql.y:2283 { tblName := yylex.(*Lexer).GetDbOrTblName(yyDollar[1].cstrUnion().Origin()) yyLOCAL = &tree.PrivilegeLevel{ @@ -13702,7 +13743,7 @@ yydefault: case 209: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ObjectType -//line mysql_sql.y:2290 +//line mysql_sql.y:2293 { yyLOCAL = tree.OBJECT_TYPE_TABLE } @@ -13710,7 +13751,7 @@ yydefault: case 210: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ObjectType -//line mysql_sql.y:2294 +//line mysql_sql.y:2297 { yyLOCAL = tree.OBJECT_TYPE_DATABASE } @@ -13718,7 +13759,7 @@ yydefault: case 211: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ObjectType -//line mysql_sql.y:2298 +//line mysql_sql.y:2301 { yyLOCAL = tree.OBJECT_TYPE_FUNCTION } @@ -13726,7 +13767,7 @@ yydefault: case 212: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ObjectType -//line mysql_sql.y:2302 +//line mysql_sql.y:2305 { yyLOCAL = tree.OBJECT_TYPE_PROCEDURE } @@ -13734,7 +13775,7 @@ yydefault: case 213: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ObjectType -//line mysql_sql.y:2306 +//line mysql_sql.y:2309 { yyLOCAL = tree.OBJECT_TYPE_VIEW } @@ -13742,7 +13783,7 @@ yydefault: case 214: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ObjectType -//line mysql_sql.y:2310 +//line mysql_sql.y:2313 { yyLOCAL = tree.OBJECT_TYPE_ACCOUNT } @@ -13750,7 +13791,7 @@ yydefault: case 215: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.Privilege -//line mysql_sql.y:2316 +//line mysql_sql.y:2319 { yyLOCAL = []*tree.Privilege{yyDollar[1].privilegeUnion()} } @@ -13758,7 +13799,7 @@ yydefault: case 216: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.Privilege -//line mysql_sql.y:2320 +//line mysql_sql.y:2323 { yyLOCAL = append(yyDollar[1].privilegesUnion(), yyDollar[3].privilegeUnion()) } @@ -13766,7 +13807,7 @@ yydefault: case 217: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.Privilege -//line mysql_sql.y:2326 +//line mysql_sql.y:2329 { yyLOCAL = &tree.Privilege{ Type: yyDollar[1].privilegeTypeUnion(), @@ -13777,7 +13818,7 @@ yydefault: case 218: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.Privilege -//line mysql_sql.y:2333 +//line mysql_sql.y:2336 { yyLOCAL = &tree.Privilege{ Type: yyDollar[1].privilegeTypeUnion(), @@ -13788,7 +13829,7 @@ yydefault: case 219: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.UnresolvedName -//line mysql_sql.y:2342 +//line mysql_sql.y:2345 { yyLOCAL = []*tree.UnresolvedName{yyDollar[1].unresolvedNameUnion()} } @@ -13796,7 +13837,7 @@ yydefault: case 220: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.UnresolvedName -//line mysql_sql.y:2346 +//line mysql_sql.y:2349 { yyLOCAL = append(yyDollar[1].unresolveNamesUnion(), yyDollar[3].unresolvedNameUnion()) } @@ -13804,7 +13845,7 @@ yydefault: case 221: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2352 +//line mysql_sql.y:2355 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALL } @@ -13812,7 +13853,7 @@ yydefault: case 222: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2356 +//line mysql_sql.y:2359 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_ACCOUNT } @@ -13820,7 +13861,7 @@ yydefault: case 223: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2360 +//line mysql_sql.y:2363 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DROP_ACCOUNT } @@ -13828,7 +13869,7 @@ yydefault: case 224: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2364 +//line mysql_sql.y:2367 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALTER_ACCOUNT } @@ -13836,7 +13877,7 @@ yydefault: case 225: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2368 +//line mysql_sql.y:2371 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_UPGRADE_ACCOUNT } @@ -13844,7 +13885,7 @@ yydefault: case 226: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2372 +//line mysql_sql.y:2375 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALL } @@ -13852,7 +13893,7 @@ yydefault: case 227: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2376 +//line mysql_sql.y:2379 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALTER_TABLE } @@ -13860,7 +13901,7 @@ yydefault: case 228: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2380 +//line mysql_sql.y:2383 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALTER_VIEW } @@ -13868,7 +13909,7 @@ yydefault: case 229: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2384 +//line mysql_sql.y:2387 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE } @@ -13876,7 +13917,7 @@ yydefault: case 230: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2388 +//line mysql_sql.y:2391 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_USER } @@ -13884,7 +13925,7 @@ yydefault: case 231: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2392 +//line mysql_sql.y:2395 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DROP_USER } @@ -13892,7 +13933,7 @@ yydefault: case 232: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2396 +//line mysql_sql.y:2399 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALTER_USER } @@ -13900,7 +13941,7 @@ yydefault: case 233: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2400 +//line mysql_sql.y:2403 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_TABLESPACE } @@ -13908,7 +13949,7 @@ yydefault: case 234: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2404 +//line mysql_sql.y:2407 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_TRIGGER } @@ -13916,7 +13957,7 @@ yydefault: case 235: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2408 +//line mysql_sql.y:2411 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DELETE } @@ -13924,7 +13965,7 @@ yydefault: case 236: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2412 +//line mysql_sql.y:2415 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DROP_TABLE } @@ -13932,7 +13973,7 @@ yydefault: case 237: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2416 +//line mysql_sql.y:2419 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DROP_VIEW } @@ -13940,7 +13981,7 @@ yydefault: case 238: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2420 +//line mysql_sql.y:2423 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_EXECUTE } @@ -13948,7 +13989,7 @@ yydefault: case 239: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2424 +//line mysql_sql.y:2427 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_INDEX } @@ -13956,7 +13997,7 @@ yydefault: case 240: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2428 +//line mysql_sql.y:2431 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_INSERT } @@ -13964,7 +14005,7 @@ yydefault: case 241: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2432 +//line mysql_sql.y:2435 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_SELECT } @@ -13972,7 +14013,7 @@ yydefault: case 242: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2436 +//line mysql_sql.y:2439 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_SUPER } @@ -13980,7 +14021,7 @@ yydefault: case 243: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2440 +//line mysql_sql.y:2443 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_DATABASE } @@ -13988,7 +14029,7 @@ yydefault: case 244: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2444 +//line mysql_sql.y:2447 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DROP_DATABASE } @@ -13996,7 +14037,7 @@ yydefault: case 245: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2448 +//line mysql_sql.y:2451 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_SHOW_DATABASES } @@ -14004,7 +14045,7 @@ yydefault: case 246: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2452 +//line mysql_sql.y:2455 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CONNECT } @@ -14012,7 +14053,7 @@ yydefault: case 247: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2456 +//line mysql_sql.y:2459 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_MANAGE_GRANTS } @@ -14020,7 +14061,7 @@ yydefault: case 248: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2460 +//line mysql_sql.y:2463 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_OWNERSHIP } @@ -14028,7 +14069,7 @@ yydefault: case 249: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2464 +//line mysql_sql.y:2467 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_SHOW_TABLES } @@ -14036,7 +14077,7 @@ yydefault: case 250: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2468 +//line mysql_sql.y:2471 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_TABLE } @@ -14044,7 +14085,7 @@ yydefault: case 251: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2472 +//line mysql_sql.y:2475 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_UPDATE } @@ -14052,7 +14093,7 @@ yydefault: case 252: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2476 +//line mysql_sql.y:2479 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_GRANT_OPTION } @@ -14060,7 +14101,7 @@ yydefault: case 253: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2480 +//line mysql_sql.y:2483 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_REFERENCES } @@ -14068,7 +14109,7 @@ yydefault: case 254: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2484 +//line mysql_sql.y:2487 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_REFERENCE } @@ -14076,7 +14117,7 @@ yydefault: case 255: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2488 +//line mysql_sql.y:2491 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_REPLICATION_SLAVE } @@ -14084,7 +14125,7 @@ yydefault: case 256: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2492 +//line mysql_sql.y:2495 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_REPLICATION_CLIENT } @@ -14092,7 +14133,7 @@ yydefault: case 257: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2496 +//line mysql_sql.y:2499 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_USAGE } @@ -14100,7 +14141,7 @@ yydefault: case 258: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2500 +//line mysql_sql.y:2503 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_RELOAD } @@ -14108,7 +14149,7 @@ yydefault: case 259: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2504 +//line mysql_sql.y:2507 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_FILE } @@ -14116,7 +14157,7 @@ yydefault: case 260: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2508 +//line mysql_sql.y:2511 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_TEMPORARY_TABLES } @@ -14124,7 +14165,7 @@ yydefault: case 261: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2512 +//line mysql_sql.y:2515 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_LOCK_TABLES } @@ -14132,7 +14173,7 @@ yydefault: case 262: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2516 +//line mysql_sql.y:2519 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_VIEW } @@ -14140,7 +14181,7 @@ yydefault: case 263: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2520 +//line mysql_sql.y:2523 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_SHOW_VIEW } @@ -14148,7 +14189,7 @@ yydefault: case 264: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2524 +//line mysql_sql.y:2527 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_ROLE } @@ -14156,7 +14197,7 @@ yydefault: case 265: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2528 +//line mysql_sql.y:2531 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DROP_ROLE } @@ -14164,7 +14205,7 @@ yydefault: case 266: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2532 +//line mysql_sql.y:2535 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALTER_ROLE } @@ -14172,7 +14213,7 @@ yydefault: case 267: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2536 +//line mysql_sql.y:2539 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_ROUTINE } @@ -14180,7 +14221,7 @@ yydefault: case 268: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2540 +//line mysql_sql.y:2543 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALTER_ROUTINE } @@ -14188,7 +14229,7 @@ yydefault: case 269: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2544 +//line mysql_sql.y:2547 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_EVENT } @@ -14196,7 +14237,7 @@ yydefault: case 270: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2548 +//line mysql_sql.y:2551 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_SHUTDOWN } @@ -14204,7 +14245,7 @@ yydefault: case 271: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.PrivilegeType -//line mysql_sql.y:2552 +//line mysql_sql.y:2555 { yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_TRUNCATE } @@ -14212,7 +14253,7 @@ yydefault: case 279: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2567 +//line mysql_sql.y:2570 { yyLOCAL = &tree.SetLogserviceSettings{ Name: yyDollar[4].str, @@ -14223,7 +14264,7 @@ yydefault: case 280: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2576 +//line mysql_sql.y:2579 { yyLOCAL = &tree.SetTransaction{ Global: false, @@ -14234,7 +14275,7 @@ yydefault: case 281: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2583 +//line mysql_sql.y:2586 { yyLOCAL = &tree.SetTransaction{ Global: true, @@ -14245,7 +14286,7 @@ yydefault: case 282: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2590 +//line mysql_sql.y:2593 { yyLOCAL = &tree.SetTransaction{ Global: false, @@ -14256,7 +14297,7 @@ yydefault: case 283: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2599 +//line mysql_sql.y:2602 { var connID uint32 switch v := yyDollar[5].item.(type) { @@ -14276,7 +14317,7 @@ yydefault: case 284: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.TransactionCharacteristic -//line mysql_sql.y:2617 +//line mysql_sql.y:2620 { yyLOCAL = []*tree.TransactionCharacteristic{yyDollar[1].transactionCharacteristicUnion()} } @@ -14284,7 +14325,7 @@ yydefault: case 285: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.TransactionCharacteristic -//line mysql_sql.y:2621 +//line mysql_sql.y:2624 { yyLOCAL = append(yyDollar[1].transactionCharacteristicListUnion(), yyDollar[3].transactionCharacteristicUnion()) } @@ -14292,7 +14333,7 @@ yydefault: case 286: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.TransactionCharacteristic -//line mysql_sql.y:2627 +//line mysql_sql.y:2630 { yyLOCAL = &tree.TransactionCharacteristic{ IsLevel: true, @@ -14303,7 +14344,7 @@ yydefault: case 287: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.TransactionCharacteristic -//line mysql_sql.y:2634 +//line mysql_sql.y:2637 { yyLOCAL = &tree.TransactionCharacteristic{ Access: yyDollar[1].accessModeUnion(), @@ -14313,7 +14354,7 @@ yydefault: case 288: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.IsolationLevelType -//line mysql_sql.y:2642 +//line mysql_sql.y:2645 { yyLOCAL = tree.ISOLATION_LEVEL_REPEATABLE_READ } @@ -14321,7 +14362,7 @@ yydefault: case 289: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.IsolationLevelType -//line mysql_sql.y:2646 +//line mysql_sql.y:2649 { yyLOCAL = tree.ISOLATION_LEVEL_READ_COMMITTED } @@ -14329,7 +14370,7 @@ yydefault: case 290: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.IsolationLevelType -//line mysql_sql.y:2650 +//line mysql_sql.y:2653 { yyLOCAL = tree.ISOLATION_LEVEL_READ_UNCOMMITTED } @@ -14337,7 +14378,7 @@ yydefault: case 291: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.IsolationLevelType -//line mysql_sql.y:2654 +//line mysql_sql.y:2657 { yyLOCAL = tree.ISOLATION_LEVEL_SERIALIZABLE } @@ -14345,7 +14386,7 @@ yydefault: case 292: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.AccessModeType -//line mysql_sql.y:2660 +//line mysql_sql.y:2663 { yyLOCAL = tree.ACCESS_MODE_READ_WRITE } @@ -14353,7 +14394,7 @@ yydefault: case 293: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.AccessModeType -//line mysql_sql.y:2664 +//line mysql_sql.y:2667 { yyLOCAL = tree.ACCESS_MODE_READ_ONLY } @@ -14361,7 +14402,7 @@ yydefault: case 294: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2670 +//line mysql_sql.y:2673 { yyLOCAL = &tree.SetRole{ SecondaryRole: false, @@ -14372,7 +14413,7 @@ yydefault: case 295: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2677 +//line mysql_sql.y:2680 { yyLOCAL = &tree.SetRole{ SecondaryRole: true, @@ -14383,7 +14424,7 @@ yydefault: case 296: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2684 +//line mysql_sql.y:2687 { yyLOCAL = &tree.SetRole{ SecondaryRole: true, @@ -14394,7 +14435,7 @@ yydefault: case 297: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2693 +//line mysql_sql.y:2696 { dr := yyDollar[4].setDefaultRoleUnion() dr.Users = yyDollar[6].usersUnion() @@ -14404,7 +14445,7 @@ yydefault: case 298: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.SetDefaultRole -//line mysql_sql.y:2723 +//line mysql_sql.y:2726 { yyLOCAL = &tree.SetDefaultRole{Type: tree.SET_DEFAULT_ROLE_TYPE_NONE, Roles: nil} } @@ -14412,7 +14453,7 @@ yydefault: case 299: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.SetDefaultRole -//line mysql_sql.y:2727 +//line mysql_sql.y:2730 { yyLOCAL = &tree.SetDefaultRole{Type: tree.SET_DEFAULT_ROLE_TYPE_ALL, Roles: nil} } @@ -14420,7 +14461,7 @@ yydefault: case 300: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.SetDefaultRole -//line mysql_sql.y:2731 +//line mysql_sql.y:2734 { yyLOCAL = &tree.SetDefaultRole{Type: tree.SET_DEFAULT_ROLE_TYPE_NORMAL, Roles: yyDollar[1].rolesUnion()} } @@ -14428,7 +14469,7 @@ yydefault: case 301: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2737 +//line mysql_sql.y:2740 { yyLOCAL = &tree.SetVar{Assignments: yyDollar[2].varAssignmentExprsUnion()} } @@ -14436,7 +14477,7 @@ yydefault: case 302: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2743 +//line mysql_sql.y:2746 { yyLOCAL = &tree.SetPassword{Password: yyDollar[4].str} } @@ -14444,21 +14485,21 @@ yydefault: case 303: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2747 +//line mysql_sql.y:2750 { yyLOCAL = &tree.SetPassword{User: yyDollar[4].userUnion(), Password: yyDollar[6].str} } yyVAL.union = yyLOCAL case 305: yyDollar = yyS[yypt-4 : yypt+1] -//line mysql_sql.y:2754 +//line mysql_sql.y:2757 { yyVAL.str = yyDollar[3].str } case 306: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.VarAssignmentExpr -//line mysql_sql.y:2760 +//line mysql_sql.y:2763 { yyLOCAL = []*tree.VarAssignmentExpr{yyDollar[1].varAssignmentExprUnion()} } @@ -14466,7 +14507,7 @@ yydefault: case 307: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.VarAssignmentExpr -//line mysql_sql.y:2764 +//line mysql_sql.y:2767 { yyLOCAL = append(yyDollar[1].varAssignmentExprsUnion(), yyDollar[3].varAssignmentExprUnion()) } @@ -14474,7 +14515,7 @@ yydefault: case 308: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.VarAssignmentExpr -//line mysql_sql.y:2770 +//line mysql_sql.y:2773 { yyLOCAL = &tree.VarAssignmentExpr{ System: true, @@ -14486,7 +14527,7 @@ yydefault: case 309: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.VarAssignmentExpr -//line mysql_sql.y:2778 +//line mysql_sql.y:2781 { yyLOCAL = &tree.VarAssignmentExpr{ System: true, @@ -14499,7 +14540,7 @@ yydefault: case 310: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.VarAssignmentExpr -//line mysql_sql.y:2787 +//line mysql_sql.y:2790 { yyLOCAL = &tree.VarAssignmentExpr{ System: true, @@ -14512,7 +14553,7 @@ yydefault: case 311: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.VarAssignmentExpr -//line mysql_sql.y:2796 +//line mysql_sql.y:2799 { yyLOCAL = &tree.VarAssignmentExpr{ System: true, @@ -14524,7 +14565,7 @@ yydefault: case 312: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.VarAssignmentExpr -//line mysql_sql.y:2804 +//line mysql_sql.y:2807 { yyLOCAL = &tree.VarAssignmentExpr{ System: true, @@ -14536,7 +14577,7 @@ yydefault: case 313: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.VarAssignmentExpr -//line mysql_sql.y:2812 +//line mysql_sql.y:2815 { vs := strings.Split(yyDollar[1].str, ".") var isGlobal bool @@ -14563,7 +14604,7 @@ yydefault: case 314: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.VarAssignmentExpr -//line mysql_sql.y:2835 +//line mysql_sql.y:2838 { v := strings.ToLower(yyDollar[1].str) var isGlobal bool @@ -14586,7 +14627,7 @@ yydefault: case 315: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.VarAssignmentExpr -//line mysql_sql.y:2854 +//line mysql_sql.y:2857 { yyLOCAL = &tree.VarAssignmentExpr{ Name: strings.ToLower(yyDollar[1].str), @@ -14597,7 +14638,7 @@ yydefault: case 316: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.VarAssignmentExpr -//line mysql_sql.y:2861 +//line mysql_sql.y:2864 { yyLOCAL = &tree.VarAssignmentExpr{ Name: strings.ToLower(yyDollar[1].str), @@ -14608,7 +14649,7 @@ yydefault: case 317: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.VarAssignmentExpr -//line mysql_sql.y:2868 +//line mysql_sql.y:2871 { yyLOCAL = &tree.VarAssignmentExpr{ Name: strings.ToLower(yyDollar[1].str), @@ -14620,7 +14661,7 @@ yydefault: case 318: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.VarAssignmentExpr -//line mysql_sql.y:2876 +//line mysql_sql.y:2879 { yyLOCAL = &tree.VarAssignmentExpr{ Name: strings.ToLower(yyDollar[1].str), @@ -14631,7 +14672,7 @@ yydefault: case 319: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.VarAssignmentExpr -//line mysql_sql.y:2883 +//line mysql_sql.y:2886 { yyLOCAL = &tree.VarAssignmentExpr{ Name: strings.ToLower(yyDollar[1].str), @@ -14642,7 +14683,7 @@ yydefault: case 320: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.VarAssignmentExpr -//line mysql_sql.y:2890 +//line mysql_sql.y:2893 { yyLOCAL = &tree.VarAssignmentExpr{ Name: strings.ToLower(yyDollar[1].str), @@ -14653,7 +14694,7 @@ yydefault: case 321: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:2899 +//line mysql_sql.y:2902 { yyLOCAL = tree.NewNumVal(yyDollar[1].str, yyDollar[1].str, false, tree.P_char) } @@ -14661,7 +14702,7 @@ yydefault: case 322: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:2903 +//line mysql_sql.y:2906 { yyLOCAL = tree.NewNumVal(yyDollar[1].str, yyDollar[1].str, false, tree.P_char) } @@ -14669,39 +14710,39 @@ yydefault: case 323: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:2907 +//line mysql_sql.y:2910 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL case 324: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:2913 +//line mysql_sql.y:2916 { yyVAL.str = string(yyDollar[1].str) } case 325: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:2917 +//line mysql_sql.y:2920 { yyVAL.str = yyDollar[1].str } case 326: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:2923 +//line mysql_sql.y:2926 { yyVAL.str = yyDollar[1].cstrUnion().Compare() } case 327: yyDollar = yyS[yypt-3 : yypt+1] -//line mysql_sql.y:2927 +//line mysql_sql.y:2930 { yyVAL.str = yyDollar[1].cstrUnion().Compare() + "." + yyDollar[3].cstrUnion().Compare() } case 328: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:2933 +//line mysql_sql.y:2936 { yyLOCAL = []string{yyDollar[1].str} } @@ -14709,7 +14750,7 @@ yydefault: case 329: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:2937 +//line mysql_sql.y:2940 { yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].str) } @@ -14717,7 +14758,7 @@ yydefault: case 336: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2951 +//line mysql_sql.y:2954 { yyLOCAL = &tree.SavePoint{Name: tree.Identifier(yyDollar[2].cstrUnion().Compare())} } @@ -14725,7 +14766,7 @@ yydefault: case 337: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2957 +//line mysql_sql.y:2960 { yyLOCAL = &tree.ReleaseSavePoint{Name: tree.Identifier(yyDollar[3].cstrUnion().Compare())} } @@ -14733,7 +14774,7 @@ yydefault: case 338: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2963 +//line mysql_sql.y:2966 { yyLOCAL = &tree.RollbackToSavePoint{Name: tree.Identifier(yyDollar[3].cstrUnion().Compare())} } @@ -14741,7 +14782,7 @@ yydefault: case 339: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2968 +//line mysql_sql.y:2971 { yyLOCAL = &tree.RollbackToSavePoint{Name: tree.Identifier(yyDollar[4].cstrUnion().Compare())} } @@ -14749,7 +14790,7 @@ yydefault: case 340: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2973 +//line mysql_sql.y:2976 { yyLOCAL = &tree.RollbackToSavePoint{Name: tree.Identifier(yyDollar[5].cstrUnion().Compare())} } @@ -14757,7 +14798,7 @@ yydefault: case 341: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2978 +//line mysql_sql.y:2981 { yyLOCAL = &tree.RollbackToSavePoint{Name: tree.Identifier(yyDollar[4].cstrUnion().Compare())} } @@ -14765,7 +14806,7 @@ yydefault: case 342: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2984 +//line mysql_sql.y:2987 { yyLOCAL = &tree.RollbackTransaction{Type: yyDollar[2].completionTypeUnion()} } @@ -14773,7 +14814,7 @@ yydefault: case 343: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:2990 +//line mysql_sql.y:2993 { yyLOCAL = &tree.CommitTransaction{Type: yyDollar[2].completionTypeUnion()} } @@ -14781,7 +14822,7 @@ yydefault: case 344: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.CompletionType -//line mysql_sql.y:2995 +//line mysql_sql.y:2998 { yyLOCAL = tree.COMPLETION_TYPE_NO_CHAIN } @@ -14789,7 +14830,7 @@ yydefault: case 345: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.CompletionType -//line mysql_sql.y:2999 +//line mysql_sql.y:3002 { yyLOCAL = tree.COMPLETION_TYPE_NO_CHAIN } @@ -14797,7 +14838,7 @@ yydefault: case 346: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.CompletionType -//line mysql_sql.y:3003 +//line mysql_sql.y:3006 { yyLOCAL = tree.COMPLETION_TYPE_CHAIN } @@ -14805,7 +14846,7 @@ yydefault: case 347: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.CompletionType -//line mysql_sql.y:3007 +//line mysql_sql.y:3010 { yyLOCAL = tree.COMPLETION_TYPE_CHAIN } @@ -14813,7 +14854,7 @@ yydefault: case 348: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.CompletionType -//line mysql_sql.y:3011 +//line mysql_sql.y:3014 { yyLOCAL = tree.COMPLETION_TYPE_RELEASE } @@ -14821,7 +14862,7 @@ yydefault: case 349: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.CompletionType -//line mysql_sql.y:3015 +//line mysql_sql.y:3018 { yyLOCAL = tree.COMPLETION_TYPE_RELEASE } @@ -14829,7 +14870,7 @@ yydefault: case 350: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.CompletionType -//line mysql_sql.y:3019 +//line mysql_sql.y:3022 { yyLOCAL = tree.COMPLETION_TYPE_NO_CHAIN } @@ -14837,7 +14878,7 @@ yydefault: case 351: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.CompletionType -//line mysql_sql.y:3023 +//line mysql_sql.y:3026 { yyLOCAL = tree.COMPLETION_TYPE_NO_CHAIN } @@ -14845,7 +14886,7 @@ yydefault: case 352: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.CompletionType -//line mysql_sql.y:3027 +//line mysql_sql.y:3030 { yyLOCAL = tree.COMPLETION_TYPE_NO_CHAIN } @@ -14853,7 +14894,7 @@ yydefault: case 353: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3033 +//line mysql_sql.y:3036 { yyLOCAL = &tree.BeginTransaction{} } @@ -14861,7 +14902,7 @@ yydefault: case 354: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3037 +//line mysql_sql.y:3040 { yyLOCAL = &tree.BeginTransaction{} } @@ -14869,7 +14910,7 @@ yydefault: case 355: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3041 +//line mysql_sql.y:3044 { yyLOCAL = &tree.BeginTransaction{} } @@ -14877,7 +14918,7 @@ yydefault: case 356: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3045 +//line mysql_sql.y:3048 { m := tree.MakeTransactionModes(tree.READ_WRITE_MODE_READ_WRITE) yyLOCAL = &tree.BeginTransaction{Modes: m} @@ -14886,7 +14927,7 @@ yydefault: case 357: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3050 +//line mysql_sql.y:3053 { m := tree.MakeTransactionModes(tree.READ_WRITE_MODE_READ_ONLY) yyLOCAL = &tree.BeginTransaction{Modes: m} @@ -14895,7 +14936,7 @@ yydefault: case 358: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3055 +//line mysql_sql.y:3058 { yyLOCAL = &tree.BeginTransaction{} } @@ -14903,7 +14944,7 @@ yydefault: case 359: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3061 +//line mysql_sql.y:3064 { name := yyDollar[2].cstrUnion() secondaryRole := false @@ -14920,7 +14961,7 @@ yydefault: case 360: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3074 +//line mysql_sql.y:3077 { name := yylex.(*Lexer).GetDbOrTblNameCStr("") secondaryRole := false @@ -14937,7 +14978,7 @@ yydefault: case 361: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3087 +//line mysql_sql.y:3090 { name := yylex.(*Lexer).GetDbOrTblNameCStr("") secondaryRole := false @@ -14954,7 +14995,7 @@ yydefault: case 362: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3100 +//line mysql_sql.y:3103 { name := yylex.(*Lexer).GetDbOrTblNameCStr("") secondaryRole := true @@ -14971,7 +15012,7 @@ yydefault: case 363: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3113 +//line mysql_sql.y:3116 { name := yylex.(*Lexer).GetDbOrTblNameCStr("") secondaryRole := true @@ -14988,7 +15029,7 @@ yydefault: case 365: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3129 +//line mysql_sql.y:3132 { yyDollar[2].statementUnion().(*tree.Update).With = yyDollar[1].withClauseUnion() yyLOCAL = yyDollar[2].statementUnion() @@ -14997,7 +15038,7 @@ yydefault: case 366: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3136 +//line mysql_sql.y:3139 { // Single-table syntax yyLOCAL = &tree.Update{ @@ -15012,7 +15053,7 @@ yydefault: case 367: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3147 +//line mysql_sql.y:3150 { // Multiple-table syntax yyLOCAL = &tree.Update{ @@ -15025,7 +15066,7 @@ yydefault: case 368: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3156 +//line mysql_sql.y:3159 { // PostgreSQL-style UPDATE target SET ... FROM source_tables WHERE ... // The target table is kept in Tables; FROM-clause sources are stored @@ -15042,7 +15083,7 @@ yydefault: case 369: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.UpdateExprs -//line mysql_sql.y:3171 +//line mysql_sql.y:3174 { yyLOCAL = tree.UpdateExprs{yyDollar[1].updateExprUnion()} } @@ -15050,7 +15091,7 @@ yydefault: case 370: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.UpdateExprs -//line mysql_sql.y:3175 +//line mysql_sql.y:3178 { yyLOCAL = append(yyDollar[1].updateExprsUnion(), yyDollar[3].updateExprUnion()) } @@ -15058,7 +15099,7 @@ yydefault: case 371: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.UpdateExpr -//line mysql_sql.y:3181 +//line mysql_sql.y:3184 { yyLOCAL = &tree.UpdateExpr{Names: []*tree.UnresolvedName{yyDollar[1].unresolvedNameUnion()}, Expr: yyDollar[3].exprUnion()} } @@ -15066,7 +15107,7 @@ yydefault: case 374: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3191 +//line mysql_sql.y:3194 { yyLOCAL = &tree.LockTableStmt{TableLocks: yyDollar[3].tableLocksUnion()} } @@ -15074,7 +15115,7 @@ yydefault: case 375: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.TableLock -//line mysql_sql.y:3197 +//line mysql_sql.y:3200 { yyLOCAL = []tree.TableLock{yyDollar[1].tableLockUnion()} } @@ -15082,7 +15123,7 @@ yydefault: case 376: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []tree.TableLock -//line mysql_sql.y:3201 +//line mysql_sql.y:3204 { yyLOCAL = append(yyDollar[1].tableLocksUnion(), yyDollar[3].tableLockUnion()) } @@ -15090,7 +15131,7 @@ yydefault: case 377: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.TableLock -//line mysql_sql.y:3207 +//line mysql_sql.y:3210 { yyLOCAL = tree.TableLock{Table: *yyDollar[1].tableNameUnion(), LockType: yyDollar[2].tableLockTypeUnion()} } @@ -15098,7 +15139,7 @@ yydefault: case 378: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableLockType -//line mysql_sql.y:3213 +//line mysql_sql.y:3216 { yyLOCAL = tree.TableLockRead } @@ -15106,7 +15147,7 @@ yydefault: case 379: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.TableLockType -//line mysql_sql.y:3217 +//line mysql_sql.y:3220 { yyLOCAL = tree.TableLockReadLocal } @@ -15114,7 +15155,7 @@ yydefault: case 380: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableLockType -//line mysql_sql.y:3221 +//line mysql_sql.y:3224 { yyLOCAL = tree.TableLockWrite } @@ -15122,7 +15163,7 @@ yydefault: case 381: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.TableLockType -//line mysql_sql.y:3225 +//line mysql_sql.y:3228 { yyLOCAL = tree.TableLockLowPriorityWrite } @@ -15130,7 +15171,7 @@ yydefault: case 382: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3231 +//line mysql_sql.y:3234 { yyLOCAL = &tree.UnLockTableStmt{} } @@ -15138,7 +15179,7 @@ yydefault: case 390: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3244 +//line mysql_sql.y:3247 { yyLOCAL = yyDollar[1].selectUnion() } @@ -15146,7 +15187,7 @@ yydefault: case 391: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3250 +//line mysql_sql.y:3253 { yyLOCAL = tree.NewPrepareStmt(tree.Identifier(yyDollar[2].str), yyDollar[4].statementUnion()) } @@ -15154,7 +15195,7 @@ yydefault: case 392: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3254 +//line mysql_sql.y:3257 { yyLOCAL = tree.NewPrepareString(tree.Identifier(yyDollar[2].str), yyDollar[4].str) } @@ -15162,7 +15203,7 @@ yydefault: case 393: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3258 +//line mysql_sql.y:3261 { yyLOCAL = tree.NewPrepareVar(tree.Identifier(yyDollar[2].str), yyDollar[4].varExprUnion()) } @@ -15170,7 +15211,7 @@ yydefault: case 394: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3264 +//line mysql_sql.y:3267 { yyLOCAL = &tree.ExecuteSQLTask{ Name: tree.Identifier(yyDollar[3].cstrUnion().Compare()), @@ -15180,7 +15221,7 @@ yydefault: case 395: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3270 +//line mysql_sql.y:3273 { yyLOCAL = tree.NewExecute(tree.Identifier(yyDollar[2].str)) } @@ -15188,7 +15229,7 @@ yydefault: case 396: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3274 +//line mysql_sql.y:3277 { yyLOCAL = tree.NewExecuteWithVariables(tree.Identifier(yyDollar[2].str), yyDollar[4].varExprsUnion()) } @@ -15196,7 +15237,7 @@ yydefault: case 397: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3280 +//line mysql_sql.y:3283 { yyLOCAL = tree.NewDeallocate(tree.Identifier(yyDollar[3].str), false) } @@ -15204,7 +15245,7 @@ yydefault: case 398: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3286 +//line mysql_sql.y:3289 { yyLOCAL = tree.NewReset(tree.Identifier(yyDollar[3].str)) } @@ -15212,7 +15253,7 @@ yydefault: case 404: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3297 +//line mysql_sql.y:3300 { yyLOCAL = yyDollar[1].selectUnion() } @@ -15220,7 +15261,7 @@ yydefault: case 405: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3303 +//line mysql_sql.y:3306 { yyLOCAL = &tree.ShowColumns{Table: yyDollar[2].unresolvedObjectNameUnion()} } @@ -15228,7 +15269,7 @@ yydefault: case 406: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3307 +//line mysql_sql.y:3310 { yyLOCAL = &tree.ShowColumns{Table: yyDollar[2].unresolvedObjectNameUnion(), ColName: yyDollar[3].unresolvedNameUnion()} } @@ -15236,7 +15277,7 @@ yydefault: case 407: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3311 +//line mysql_sql.y:3314 { yyLOCAL = tree.NewExplainFor("", uint64(yyDollar[4].item.(int64))) } @@ -15244,7 +15285,7 @@ yydefault: case 408: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3315 +//line mysql_sql.y:3318 { yyLOCAL = tree.NewExplainFor(yyDollar[4].str, uint64(yyDollar[7].item.(int64))) } @@ -15252,7 +15293,7 @@ yydefault: case 409: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3319 +//line mysql_sql.y:3322 { yyLOCAL = tree.NewExplainStmt(yyDollar[2].statementUnion(), "text") } @@ -15260,7 +15301,7 @@ yydefault: case 410: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3323 +//line mysql_sql.y:3326 { options := []tree.OptionElem{ tree.MakeOptionElem(tree.VerboseOption, "NULL"), @@ -15271,7 +15312,7 @@ yydefault: case 411: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3330 +//line mysql_sql.y:3333 { options := []tree.OptionElem{ tree.MakeOptionElem(tree.AnalyzeOption, "NULL"), @@ -15282,7 +15323,7 @@ yydefault: case 412: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3337 +//line mysql_sql.y:3340 { options := []tree.OptionElem{ tree.MakeOptionElem(tree.AnalyzeOption, "NULL"), @@ -15294,7 +15335,7 @@ yydefault: case 413: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3345 +//line mysql_sql.y:3348 { options := []tree.OptionElem{ tree.MakeOptionElem(tree.PhyPlanOption, "NULL"), @@ -15305,7 +15346,7 @@ yydefault: case 414: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3352 +//line mysql_sql.y:3355 { options := []tree.OptionElem{ tree.MakeOptionElem(tree.PhyPlanOption, "NULL"), @@ -15317,7 +15358,7 @@ yydefault: case 415: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3360 +//line mysql_sql.y:3363 { options := []tree.OptionElem{ tree.MakeOptionElem(tree.PhyPlanOption, "NULL"), @@ -15329,7 +15370,7 @@ yydefault: case 416: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3368 +//line mysql_sql.y:3371 { yyLOCAL = tree.MakeExplainStmt(yyDollar[5].statementUnion(), yyDollar[3].explainOptionsUnion()) } @@ -15337,7 +15378,7 @@ yydefault: case 417: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3372 +//line mysql_sql.y:3375 { yyLOCAL = tree.MakeExplainStmt(yyDollar[3].statementUnion(), nil) } @@ -15345,7 +15386,7 @@ yydefault: case 418: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3376 +//line mysql_sql.y:3379 { options := []tree.OptionElem{ tree.MakeOptionElem(tree.VerboseOption, "NULL"), @@ -15356,7 +15397,7 @@ yydefault: case 419: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3383 +//line mysql_sql.y:3386 { options := []tree.OptionElem{ tree.MakeOptionElem(tree.AnalyzeOption, "NULL"), @@ -15367,7 +15408,7 @@ yydefault: case 420: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3390 +//line mysql_sql.y:3393 { options := []tree.OptionElem{ tree.MakeOptionElem(tree.AnalyzeOption, "NULL"), @@ -15379,7 +15420,7 @@ yydefault: case 435: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.OptionElem -//line mysql_sql.y:3428 +//line mysql_sql.y:3431 { yyLOCAL = []tree.OptionElem{yyDollar[1].explainOptionUnion()} } @@ -15387,7 +15428,7 @@ yydefault: case 436: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []tree.OptionElem -//line mysql_sql.y:3432 +//line mysql_sql.y:3435 { yyLOCAL = append(yyDollar[1].explainOptionsUnion(), yyDollar[3].explainOptionUnion()) } @@ -15395,45 +15436,45 @@ yydefault: case 437: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.OptionElem -//line mysql_sql.y:3438 +//line mysql_sql.y:3441 { yyLOCAL = tree.MakeOptionElem(yyDollar[1].str, yyDollar[2].str) } yyVAL.union = yyLOCAL case 438: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:3444 +//line mysql_sql.y:3447 { yyVAL.str = yyDollar[1].str } case 439: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:3449 +//line mysql_sql.y:3452 { yyVAL.str = "true" } case 440: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:3450 +//line mysql_sql.y:3453 { yyVAL.str = "false" } case 441: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:3451 +//line mysql_sql.y:3454 { yyVAL.str = yyDollar[1].str } case 442: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:3452 +//line mysql_sql.y:3455 { yyVAL.str = yyDollar[1].str } case 443: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3456 +//line mysql_sql.y:3459 { yyLOCAL = tree.NewAnalyzeStmt(yyDollar[3].tableNameUnion(), yyDollar[5].identifierListUnion()) } @@ -15441,7 +15482,7 @@ yydefault: case 444: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3462 +//line mysql_sql.y:3465 { yyLOCAL = &tree.UpgradeStatement{ Target: yyDollar[3].upgrade_targetUnion(), @@ -15452,7 +15493,7 @@ yydefault: case 445: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.Target -//line mysql_sql.y:3471 +//line mysql_sql.y:3474 { yyLOCAL = &tree.Target{ AccountName: yyDollar[1].str, @@ -15463,7 +15504,7 @@ yydefault: case 446: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.Target -//line mysql_sql.y:3478 +//line mysql_sql.y:3481 { yyLOCAL = &tree.Target{ AccountName: "", @@ -15474,7 +15515,7 @@ yydefault: case 447: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:3486 +//line mysql_sql.y:3489 { yyLOCAL = -1 } @@ -15482,7 +15523,7 @@ yydefault: case 448: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:3490 +//line mysql_sql.y:3493 { res := yyDollar[3].item.(int64) if res <= 0 { @@ -15495,7 +15536,7 @@ yydefault: case 461: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3516 +//line mysql_sql.y:3519 { var ifExists = yyDollar[3].boolValUnion() var name = yyDollar[4].tableNameUnion() @@ -15520,7 +15561,7 @@ yydefault: case 462: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3539 +//line mysql_sql.y:3542 { var ifExists = yyDollar[3].boolValUnion() var name = yyDollar[4].tableNameUnion() @@ -15532,7 +15573,7 @@ yydefault: case 463: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3549 +//line mysql_sql.y:3552 { var table = yyDollar[3].tableNameUnion() alterTable := tree.NewAlterTable(table) @@ -15543,7 +15584,7 @@ yydefault: case 464: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3556 +//line mysql_sql.y:3559 { var table = yyDollar[3].tableNameUnion() alterTable := tree.NewAlterTable(table) @@ -15554,7 +15595,7 @@ yydefault: case 465: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3565 +//line mysql_sql.y:3568 { alterTables := yyDollar[3].renameTableOptionsUnion() renameTables := tree.NewRenameTable(alterTables) @@ -15564,7 +15605,7 @@ yydefault: case 466: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.AlterTable -//line mysql_sql.y:3573 +//line mysql_sql.y:3576 { yyLOCAL = []*tree.AlterTable{yyDollar[1].renameTableOptionUnion()} } @@ -15572,7 +15613,7 @@ yydefault: case 467: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.AlterTable -//line mysql_sql.y:3577 +//line mysql_sql.y:3580 { yyLOCAL = append(yyDollar[1].renameTableOptionsUnion(), yyDollar[3].renameTableOptionUnion()) } @@ -15580,7 +15621,7 @@ yydefault: case 468: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.AlterTable -//line mysql_sql.y:3583 +//line mysql_sql.y:3586 { var table = yyDollar[1].tableNameUnion() alterTable := tree.NewAlterTable(table) @@ -15592,7 +15633,7 @@ yydefault: case 469: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.AlterTableOptions -//line mysql_sql.y:3593 +//line mysql_sql.y:3596 { yyLOCAL = []tree.AlterTableOption{yyDollar[1].alterTableOptionUnion()} } @@ -15600,7 +15641,7 @@ yydefault: case 470: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.AlterTableOptions -//line mysql_sql.y:3597 +//line mysql_sql.y:3600 { yyLOCAL = append(yyDollar[1].alterTableOptionsUnion(), yyDollar[3].alterTableOptionUnion()) } @@ -15608,7 +15649,7 @@ yydefault: case 471: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.AlterPartitionOption -//line mysql_sql.y:3603 +//line mysql_sql.y:3606 { yyLOCAL = yyDollar[1].alterPartitionOptionUnion() } @@ -15616,7 +15657,7 @@ yydefault: case 472: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.AlterPartitionOption -//line mysql_sql.y:3607 +//line mysql_sql.y:3610 { yyDollar[3].partitionByUnion().Num = uint64(yyDollar[4].int64ValUnion()) var PartBy = yyDollar[3].partitionByUnion() @@ -15642,7 +15683,7 @@ yydefault: case 473: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3631 +//line mysql_sql.y:3634 { var ifExists = yyDollar[3].boolValUnion() var name = tree.Identifier(yyDollar[4].cstrUnion().Compare()) @@ -15654,7 +15695,7 @@ yydefault: case 474: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3641 +//line mysql_sql.y:3644 { yyLOCAL = &tree.AlterSQLTask{ Name: tree.Identifier(yyDollar[3].cstrUnion().Compare()), @@ -15665,7 +15706,7 @@ yydefault: case 475: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3648 +//line mysql_sql.y:3651 { yyLOCAL = &tree.AlterSQLTask{ Name: tree.Identifier(yyDollar[3].cstrUnion().Compare()), @@ -15676,7 +15717,7 @@ yydefault: case 476: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3655 +//line mysql_sql.y:3658 { yyLOCAL = &tree.AlterSQLTask{ Name: tree.Identifier(yyDollar[3].cstrUnion().Compare()), @@ -15689,7 +15730,7 @@ yydefault: case 477: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3664 +//line mysql_sql.y:3667 { yyLOCAL = &tree.AlterSQLTask{ Name: tree.Identifier(yyDollar[3].cstrUnion().Compare()), @@ -15701,7 +15742,7 @@ yydefault: case 478: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3672 +//line mysql_sql.y:3675 { yyLOCAL = &tree.AlterSQLTask{ Name: tree.Identifier(yyDollar[3].cstrUnion().Compare()), @@ -15713,7 +15754,7 @@ yydefault: case 479: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3680 +//line mysql_sql.y:3683 { yyLOCAL = &tree.AlterSQLTask{ Name: tree.Identifier(yyDollar[3].cstrUnion().Compare()), @@ -15725,7 +15766,7 @@ yydefault: case 480: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3690 +//line mysql_sql.y:3693 { var oldName = yyDollar[5].cstrUnion().Compare() var newName = yyDollar[8].cstrUnion().Compare() @@ -15735,7 +15776,7 @@ yydefault: case 481: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3696 +//line mysql_sql.y:3699 { var oldName = yyDollar[3].cstrUnion().Compare() var newName = yyDollar[6].cstrUnion().Compare() @@ -15745,7 +15786,7 @@ yydefault: case 482: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3702 +//line mysql_sql.y:3705 { var roleName = yyDollar[3].cstrUnion().Compare() var ruleSQL = yyDollar[6].str @@ -15758,7 +15799,7 @@ yydefault: case 483: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:3711 +//line mysql_sql.y:3714 { var roleName = yyDollar[3].cstrUnion().Compare() var dbName = yyDollar[8].cstrUnion().Compare() @@ -15769,7 +15810,7 @@ yydefault: case 484: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.AlterPartitionOption -//line mysql_sql.y:3720 +//line mysql_sql.y:3723 { var typ = tree.AlterPartitionAddPartition var partitions = yyDollar[3].partitionsUnion() @@ -15783,7 +15824,7 @@ yydefault: case 485: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.AlterPartitionOption -//line mysql_sql.y:3730 +//line mysql_sql.y:3733 { var typ = tree.AlterPartitionDropPartition var partitionNames = yyDollar[3].PartitionNamesUnion() @@ -15803,7 +15844,7 @@ yydefault: case 486: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.AlterPartitionOption -//line mysql_sql.y:3746 +//line mysql_sql.y:3749 { var typ = tree.AlterPartitionTruncatePartition var partitionNames = yyDollar[3].PartitionNamesUnion() @@ -15823,7 +15864,7 @@ yydefault: case 487: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:3764 +//line mysql_sql.y:3767 { yyLOCAL = nil } @@ -15831,7 +15872,7 @@ yydefault: case 488: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:3768 +//line mysql_sql.y:3771 { yyLOCAL = yyDollar[1].PartitionNamesUnion() } @@ -15839,7 +15880,7 @@ yydefault: case 489: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:3774 +//line mysql_sql.y:3777 { yyLOCAL = tree.IdentifierList{tree.Identifier(yyDollar[1].cstrUnion().Compare())} } @@ -15847,7 +15888,7 @@ yydefault: case 490: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:3778 +//line mysql_sql.y:3781 { yyLOCAL = append(yyDollar[1].PartitionNamesUnion(), tree.Identifier(yyDollar[3].cstrUnion().Compare())) } @@ -15855,7 +15896,7 @@ yydefault: case 491: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:3784 +//line mysql_sql.y:3787 { var def = yyDollar[2].tableDefUnion() opt := tree.NewAlterOptionAdd(def) @@ -15865,7 +15906,7 @@ yydefault: case 492: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:3790 +//line mysql_sql.y:3793 { var typ = tree.AlterTableModifyColumn var newColumn = yyDollar[3].columnTableDefUnion() @@ -15877,7 +15918,7 @@ yydefault: case 493: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:3798 +//line mysql_sql.y:3801 { // Type OldColumnName NewColumn Position var typ = tree.AlterTableChangeColumn @@ -15891,7 +15932,7 @@ yydefault: case 494: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:3808 +//line mysql_sql.y:3811 { var typ = tree.AlterTableRenameColumn var oldColumnName = yyDollar[3].unresolvedNameUnion() @@ -15903,7 +15944,7 @@ yydefault: case 495: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:3816 +//line mysql_sql.y:3819 { var typ = tree.AlterTableAlterColumn var columnName = yyDollar[3].unresolvedNameUnion() @@ -15917,7 +15958,7 @@ yydefault: case 496: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:3826 +//line mysql_sql.y:3829 { var typ = tree.AlterTableAlterColumn var columnName = yyDollar[3].unresolvedNameUnion() @@ -15931,7 +15972,7 @@ yydefault: case 497: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:3836 +//line mysql_sql.y:3839 { var typ = tree.AlterTableAlterColumn var columnName = yyDollar[3].unresolvedNameUnion() @@ -15945,7 +15986,7 @@ yydefault: case 498: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:3846 +//line mysql_sql.y:3849 { var orderByClauseType = tree.AlterTableOrderByColumn var orderByColumnList = yyDollar[3].alterColumnOrderByUnion() @@ -15956,7 +15997,7 @@ yydefault: case 499: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:3853 +//line mysql_sql.y:3856 { yyLOCAL = tree.AlterTableOption(yyDollar[2].alterTableOptionUnion()) } @@ -15964,7 +16005,7 @@ yydefault: case 500: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:3857 +//line mysql_sql.y:3860 { yyLOCAL = tree.AlterTableOption(yyDollar[2].alterTableOptionUnion()) } @@ -15972,23 +16013,31 @@ yydefault: case 501: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:3861 +//line mysql_sql.y:3864 { yyLOCAL = tree.AlterTableOption(yyDollar[1].tableOptionUnion()) } yyVAL.union = yyLOCAL case 502: + yyDollar = yyS[yypt-2 : yypt+1] + var yyLOCAL tree.AlterTableOption +//line mysql_sql.y:3868 + { + yyLOCAL = tree.AlterTableOption(tree.NewAlterTableRemoveTTL()) + } + yyVAL.union = yyLOCAL + case 503: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:3865 +//line mysql_sql.y:3872 { yyLOCAL = tree.AlterTableOption(yyDollar[3].alterTableOptionUnion()) } yyVAL.union = yyLOCAL - case 503: + case 504: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:3869 +//line mysql_sql.y:3876 { var column = yyDollar[3].columnTableDefUnion() var position = yyDollar[4].alterColPositionUnion() @@ -15996,207 +16045,207 @@ yydefault: yyLOCAL = tree.AlterTableOption(opt) } yyVAL.union = yyLOCAL - case 504: + case 505: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:3876 +//line mysql_sql.y:3883 { var checkType = yyDollar[1].str var enforce bool yyLOCAL = tree.NewAlterOptionAlterCheck(checkType, enforce) } yyVAL.union = yyLOCAL - case 505: + case 506: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:3882 +//line mysql_sql.y:3889 { yyLOCAL = tree.NewTableOptionCharset(yyDollar[4].str) } yyVAL.union = yyLOCAL - case 506: + case 507: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:3886 +//line mysql_sql.y:3893 { yyLOCAL = tree.NewTableOptionCharset(yyDollar[5].str) } yyVAL.union = yyLOCAL - case 507: + case 508: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:3890 +//line mysql_sql.y:3897 { yyLOCAL = tree.NewTableOptionCharset(yyDollar[5].str) } yyVAL.union = yyLOCAL - case 508: + case 509: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:3894 +//line mysql_sql.y:3901 { yyLOCAL = tree.NewTableOptionCharset(yyDollar[1].str) } yyVAL.union = yyLOCAL - case 509: + case 510: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:3898 +//line mysql_sql.y:3905 { yyLOCAL = tree.NewTableOptionCharset(yyDollar[1].str) } yyVAL.union = yyLOCAL - case 510: + case 511: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:3902 +//line mysql_sql.y:3909 { yyLOCAL = tree.NewTableOptionCharset(yyDollar[1].str) } yyVAL.union = yyLOCAL - case 511: + case 512: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:3906 +//line mysql_sql.y:3913 { yyLOCAL = tree.NewTableOptionCharset(yyDollar[1].str) } yyVAL.union = yyLOCAL - case 512: + case 513: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:3910 +//line mysql_sql.y:3917 { yyLOCAL = tree.NewTableOptionCharset(yyDollar[1].str) } yyVAL.union = yyLOCAL - case 513: + case 514: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:3915 +//line mysql_sql.y:3922 { yyVAL.str = "" } - case 530: + case 531: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:3946 +//line mysql_sql.y:3953 { yyVAL.str = "" } - case 531: + case 532: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:3950 +//line mysql_sql.y:3957 { yyVAL.str = string("COLUMN") } - case 532: + case 533: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.ColumnPosition -//line mysql_sql.y:3955 +//line mysql_sql.y:3962 { var typ = tree.ColumnPositionNone var relativeColumn *tree.UnresolvedName yyLOCAL = tree.NewColumnPosition(typ, relativeColumn) } yyVAL.union = yyLOCAL - case 533: + case 534: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.ColumnPosition -//line mysql_sql.y:3961 +//line mysql_sql.y:3968 { var typ = tree.ColumnPositionFirst var relativeColumn *tree.UnresolvedName yyLOCAL = tree.NewColumnPosition(typ, relativeColumn) } yyVAL.union = yyLOCAL - case 534: + case 535: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.ColumnPosition -//line mysql_sql.y:3967 +//line mysql_sql.y:3974 { var typ = tree.ColumnPositionAfter var relativeColumn = yyDollar[2].unresolvedNameUnion() yyLOCAL = tree.NewColumnPosition(typ, relativeColumn) } yyVAL.union = yyLOCAL - case 535: + case 536: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.AlterColumnOrder -//line mysql_sql.y:3975 +//line mysql_sql.y:3982 { yyLOCAL = []*tree.AlterColumnOrder{yyDollar[1].alterColumnOrderUnion()} } yyVAL.union = yyLOCAL - case 536: + case 537: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.AlterColumnOrder -//line mysql_sql.y:3979 +//line mysql_sql.y:3986 { yyLOCAL = append(yyDollar[1].alterColumnOrderByUnion(), yyDollar[3].alterColumnOrderUnion()) } yyVAL.union = yyLOCAL - case 537: + case 538: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.AlterColumnOrder -//line mysql_sql.y:3985 +//line mysql_sql.y:3992 { var column = yyDollar[1].unresolvedNameUnion() var direction = yyDollar[2].directionUnion() yyLOCAL = tree.NewAlterColumnOrder(column, direction) } yyVAL.union = yyLOCAL - case 538: + case 539: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:3993 +//line mysql_sql.y:4000 { var name = yyDollar[1].unresolvedObjectNameUnion() yyLOCAL = tree.NewAlterOptionTableName(name) } yyVAL.union = yyLOCAL - case 539: + case 540: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:4000 +//line mysql_sql.y:4007 { var dropType = tree.AlterTableDropIndex var name = tree.Identifier(yyDollar[2].cstrUnion().Compare()) yyLOCAL = tree.NewAlterOptionDrop(dropType, name) } yyVAL.union = yyLOCAL - case 540: + case 541: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:4006 +//line mysql_sql.y:4013 { var dropType = tree.AlterTableDropKey var name = tree.Identifier(yyDollar[2].cstrUnion().Compare()) yyLOCAL = tree.NewAlterOptionDrop(dropType, name) } yyVAL.union = yyLOCAL - case 541: + case 542: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:4012 +//line mysql_sql.y:4019 { var dropType = tree.AlterTableDropColumn var name = tree.Identifier(yyDollar[1].cstrUnion().Compare()) yyLOCAL = tree.NewAlterOptionDrop(dropType, name) } yyVAL.union = yyLOCAL - case 542: + case 543: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:4018 +//line mysql_sql.y:4025 { var dropType = tree.AlterTableDropColumn var name = tree.Identifier(yyDollar[2].cstrUnion().Compare()) yyLOCAL = tree.NewAlterOptionDrop(dropType, name) } yyVAL.union = yyLOCAL - case 543: + case 544: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:4024 +//line mysql_sql.y:4031 { var dropType = tree.AlterTableDropForeignKey var name = tree.Identifier(yyDollar[3].cstrUnion().Compare()) @@ -16204,10 +16253,10 @@ yydefault: } yyVAL.union = yyLOCAL - case 544: + case 545: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:4031 +//line mysql_sql.y:4038 { yyLOCAL = &tree.AlterOptionDrop{ Typ: tree.AlterTableDropForeignKey, @@ -16215,30 +16264,30 @@ yydefault: } } yyVAL.union = yyLOCAL - case 545: + case 546: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:4038 +//line mysql_sql.y:4045 { var dropType = tree.AlterTableDropPrimaryKey var name = tree.Identifier("") yyLOCAL = tree.NewAlterOptionDrop(dropType, name) } yyVAL.union = yyLOCAL - case 546: + case 547: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:4046 +//line mysql_sql.y:4053 { var indexName = tree.Identifier(yyDollar[2].cstrUnion().Compare()) var visibility = yyDollar[3].indexVisibilityUnion() yyLOCAL = tree.NewAlterOptionAlterIndex(indexName, visibility) } yyVAL.union = yyLOCAL - case 547: + case 548: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:4052 +//line mysql_sql.y:4059 { var io *tree.IndexOption = nil if yyDollar[5].indexOptionUnion() == nil { @@ -16254,10 +16303,10 @@ yydefault: yyLOCAL = tree.NewAlterOptionAlterAutoUpdate(name, io) } yyVAL.union = yyLOCAL - case 548: + case 549: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:4067 +//line mysql_sql.y:4074 { var io *tree.IndexOption = nil if yyDollar[4].indexOptionUnion() == nil { @@ -16271,10 +16320,10 @@ yydefault: yyLOCAL = tree.NewAlterOptionAlterReIndex(name, io) } yyVAL.union = yyLOCAL - case 549: + case 550: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:4080 +//line mysql_sql.y:4087 { var io *tree.IndexOption = nil @@ -16284,62 +16333,62 @@ yydefault: yyLOCAL = tree.NewAlterOptionAlterReIndex(name, io) } yyVAL.union = yyLOCAL - case 550: + case 551: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:4089 +//line mysql_sql.y:4096 { var checkType = yyDollar[1].str var enforce = yyDollar[3].boolValUnion() yyLOCAL = tree.NewAlterOptionAlterCheck(checkType, enforce) } yyVAL.union = yyLOCAL - case 551: + case 552: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.AlterTableOption -//line mysql_sql.y:4095 +//line mysql_sql.y:4102 { var checkType = yyDollar[1].str var enforce = yyDollar[3].boolValUnion() yyLOCAL = tree.NewAlterOptionAlterCheck(checkType, enforce) } yyVAL.union = yyLOCAL - case 552: + case 553: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.VisibleType -//line mysql_sql.y:4103 +//line mysql_sql.y:4110 { yyLOCAL = tree.VISIBLE_TYPE_VISIBLE } yyVAL.union = yyLOCAL - case 553: + case 554: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.VisibleType -//line mysql_sql.y:4107 +//line mysql_sql.y:4114 { yyLOCAL = tree.VISIBLE_TYPE_INVISIBLE } yyVAL.union = yyLOCAL - case 554: + case 555: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:4113 +//line mysql_sql.y:4120 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 555: + case 556: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:4117 +//line mysql_sql.y:4124 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 556: + case 557: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4123 +//line mysql_sql.y:4130 { var ifExists = yyDollar[3].boolValUnion() var name = yyDollar[4].exprUnion() @@ -16356,10 +16405,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 557: + case 558: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4141 +//line mysql_sql.y:4148 { var accountName = "" var dbName = yyDollar[3].str @@ -16375,10 +16424,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 558: + case 559: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4156 +//line mysql_sql.y:4163 { var accountName = "" var dbName = yyDollar[3].str @@ -16394,10 +16443,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 559: + case 560: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4171 +//line mysql_sql.y:4178 { var accountName = yyDollar[4].str var dbName = "" @@ -16413,10 +16462,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 560: + case 561: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4186 +//line mysql_sql.y:4193 { assignments := []*tree.VarAssignmentExpr{ { @@ -16429,20 +16478,20 @@ yydefault: yyLOCAL = &tree.SetVar{Assignments: assignments} } yyVAL.union = yyLOCAL - case 561: + case 562: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.AlterAccountAuthOption -//line mysql_sql.y:4199 +//line mysql_sql.y:4206 { yyLOCAL = tree.AlterAccountAuthOption{ Exist: false, } } yyVAL.union = yyLOCAL - case 562: + case 563: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.AlterAccountAuthOption -//line mysql_sql.y:4205 +//line mysql_sql.y:4212 { yyLOCAL = tree.AlterAccountAuthOption{ Exist: true, @@ -16452,10 +16501,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 563: + case 564: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4216 +//line mysql_sql.y:4223 { // Create temporary variables with meaningful names ifExists := yyDollar[3].boolValUnion() @@ -16468,10 +16517,10 @@ yydefault: yyLOCAL = tree.NewAlterUser(ifExists, users, role, miscOpt, commentOrAttribute) } yyVAL.union = yyLOCAL - case 564: + case 565: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4228 +//line mysql_sql.y:4235 { ifExists := yyDollar[3].boolValUnion() var Username = yyDollar[4].usernameRecordUnion().Username @@ -16483,10 +16532,10 @@ yydefault: yyLOCAL = tree.NewAlterUser(ifExists, users, nil, miscOpt, commentOrAttribute) } yyVAL.union = yyLOCAL - case 565: + case 566: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4239 +//line mysql_sql.y:4246 { ifExists := yyDollar[3].boolValUnion() var Username = yyDollar[4].usernameRecordUnion().Username @@ -16498,18 +16547,18 @@ yydefault: yyLOCAL = tree.NewAlterUser(ifExists, users, nil, miscOpt, commentOrAttribute) } yyVAL.union = yyLOCAL - case 566: + case 567: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.Role -//line mysql_sql.y:4251 +//line mysql_sql.y:4258 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 567: + case 568: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.Role -//line mysql_sql.y:4255 +//line mysql_sql.y:4262 { var UserName = yyDollar[3].str yyLOCAL = tree.NewRole( @@ -16517,66 +16566,66 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 568: + case 569: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:4263 +//line mysql_sql.y:4270 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 569: + case 570: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:4267 +//line mysql_sql.y:4274 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 570: + case 571: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:4272 +//line mysql_sql.y:4279 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 571: + case 572: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:4276 +//line mysql_sql.y:4283 { yyLOCAL = yyDollar[1].userMiscOptionUnion() } yyVAL.union = yyLOCAL - case 572: + case 573: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:4292 +//line mysql_sql.y:4299 { yyLOCAL = tree.NewUserMiscOptionAccountUnlock() } yyVAL.union = yyLOCAL - case 573: + case 574: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:4296 +//line mysql_sql.y:4303 { yyLOCAL = tree.NewUserMiscOptionAccountLock() } yyVAL.union = yyLOCAL - case 574: + case 575: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:4300 +//line mysql_sql.y:4307 { yyLOCAL = tree.NewUserMiscOptionPasswordExpireNone() } yyVAL.union = yyLOCAL - case 575: + case 576: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:4304 +//line mysql_sql.y:4311 { var Value = yyDollar[3].item.(int64) yyLOCAL = tree.NewUserMiscOptionPasswordExpireInterval( @@ -16584,34 +16633,34 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 576: + case 577: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:4311 +//line mysql_sql.y:4318 { yyLOCAL = tree.NewUserMiscOptionPasswordExpireNever() } yyVAL.union = yyLOCAL - case 577: + case 578: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:4315 +//line mysql_sql.y:4322 { yyLOCAL = tree.NewUserMiscOptionPasswordExpireDefault() } yyVAL.union = yyLOCAL - case 578: + case 579: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:4319 +//line mysql_sql.y:4326 { yyLOCAL = tree.NewUserMiscOptionPasswordHistoryDefault() } yyVAL.union = yyLOCAL - case 579: + case 580: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:4323 +//line mysql_sql.y:4330 { var Value = yyDollar[3].item.(int64) yyLOCAL = tree.NewUserMiscOptionPasswordHistoryCount( @@ -16619,18 +16668,18 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 580: + case 581: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:4330 +//line mysql_sql.y:4337 { yyLOCAL = tree.NewUserMiscOptionPasswordReuseIntervalDefault() } yyVAL.union = yyLOCAL - case 581: + case 582: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:4334 +//line mysql_sql.y:4341 { var Value = yyDollar[4].item.(int64) yyLOCAL = tree.NewUserMiscOptionPasswordReuseIntervalCount( @@ -16638,34 +16687,34 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 582: + case 583: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:4341 +//line mysql_sql.y:4348 { yyLOCAL = tree.NewUserMiscOptionPasswordRequireCurrentNone() } yyVAL.union = yyLOCAL - case 583: + case 584: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:4345 +//line mysql_sql.y:4352 { yyLOCAL = tree.NewUserMiscOptionPasswordRequireCurrentDefault() } yyVAL.union = yyLOCAL - case 584: + case 585: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:4349 +//line mysql_sql.y:4356 { yyLOCAL = tree.NewUserMiscOptionPasswordRequireCurrentOptional() } yyVAL.union = yyLOCAL - case 585: + case 586: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:4353 +//line mysql_sql.y:4360 { var Value = yyDollar[2].item.(int64) yyLOCAL = tree.NewUserMiscOptionFailedLoginAttempts( @@ -16673,10 +16722,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 586: + case 587: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:4360 +//line mysql_sql.y:4367 { var Value = yyDollar[2].item.(int64) yyLOCAL = tree.NewUserMiscOptionPasswordLockTimeCount( @@ -16684,38 +16733,38 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 587: + case 588: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.UserMiscOption -//line mysql_sql.y:4367 +//line mysql_sql.y:4374 { yyLOCAL = tree.NewUserMiscOptionPasswordLockTimeUnbounded() } yyVAL.union = yyLOCAL - case 588: + case 589: yyDollar = yyS[yypt-3 : yypt+1] -//line mysql_sql.y:4373 +//line mysql_sql.y:4380 { yyVAL.item = nil } - case 589: + case 590: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:4378 +//line mysql_sql.y:4385 { yyVAL.item = nil } - case 634: + case 635: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4432 +//line mysql_sql.y:4439 { yyLOCAL = &tree.ShowSQLTasks{} } yyVAL.union = yyLOCAL - case 635: + case 636: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4438 +//line mysql_sql.y:4445 { stmt := &tree.ShowSQLTaskRuns{} if yyDollar[4].str != "" { @@ -16729,72 +16778,72 @@ yydefault: yyLOCAL = stmt } yyVAL.union = yyLOCAL - case 636: + case 637: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:4452 +//line mysql_sql.y:4459 { yyVAL.str = "" } - case 637: + case 638: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:4456 +//line mysql_sql.y:4463 { yyVAL.str = yyDollar[2].cstrUnion().Compare() } - case 638: + case 639: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:4461 +//line mysql_sql.y:4468 { yyLOCAL = -1 } yyVAL.union = yyLOCAL - case 639: + case 640: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:4465 +//line mysql_sql.y:4472 { yyLOCAL = sqlTaskInt64(yyDollar[2].item) } yyVAL.union = yyLOCAL - case 640: + case 641: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4471 +//line mysql_sql.y:4478 { yyLOCAL = &tree.ShowLogserviceReplicas{} } yyVAL.union = yyLOCAL - case 641: + case 642: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4477 +//line mysql_sql.y:4484 { yyLOCAL = &tree.ShowLogserviceStores{} } yyVAL.union = yyLOCAL - case 642: + case 643: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4483 +//line mysql_sql.y:4490 { yyLOCAL = &tree.ShowLogserviceSettings{} } yyVAL.union = yyLOCAL - case 643: + case 644: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4489 +//line mysql_sql.y:4496 { yyLOCAL = &tree.ShowRules{ RoleName: yyDollar[5].cstrUnion().Compare(), } } yyVAL.union = yyLOCAL - case 644: + case 645: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4497 +//line mysql_sql.y:4504 { yyLOCAL = &tree.ShowCollation{ Like: yyDollar[3].comparisionExprUnion(), @@ -16802,50 +16851,50 @@ yydefault: } } yyVAL.union = yyLOCAL - case 645: + case 646: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4506 +//line mysql_sql.y:4513 { yyLOCAL = &tree.ShowStages{ Like: yyDollar[3].comparisionExprUnion(), } } yyVAL.union = yyLOCAL - case 646: + case 647: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4514 +//line mysql_sql.y:4521 { yyLOCAL = &tree.ShowSnapShots{ Where: yyDollar[3].whereUnion(), } } yyVAL.union = yyLOCAL - case 647: + case 648: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4522 +//line mysql_sql.y:4529 { yyLOCAL = &tree.ShowPitr{ Where: yyDollar[3].whereUnion(), } } yyVAL.union = yyLOCAL - case 648: + case 649: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4530 +//line mysql_sql.y:4537 { yyLOCAL = &tree.ShowRecoveryWindow{ Level: tree.RECOVERYWINDOWLEVELACCOUNT, } } yyVAL.union = yyLOCAL - case 649: + case 650: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4536 +//line mysql_sql.y:4543 { yyLOCAL = &tree.ShowRecoveryWindow{ Level: tree.RECOVERYWINDOWLEVELDATABASE, @@ -16853,10 +16902,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 650: + case 651: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4543 +//line mysql_sql.y:4550 { yyLOCAL = &tree.ShowRecoveryWindow{ Level: tree.RECOVERYWINDOWLEVELTABLE, @@ -16865,10 +16914,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 651: + case 652: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4551 +//line mysql_sql.y:4558 { yyLOCAL = &tree.ShowRecoveryWindow{ Level: tree.RECOVERYWINDOWLEVELACCOUNT, @@ -16876,26 +16925,26 @@ yydefault: } } yyVAL.union = yyLOCAL - case 652: + case 653: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4560 +//line mysql_sql.y:4567 { yyLOCAL = &tree.ShowGrants{ShowGrantType: tree.GrantForUser} } yyVAL.union = yyLOCAL - case 653: + case 654: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4564 +//line mysql_sql.y:4571 { yyLOCAL = &tree.ShowGrants{Username: yyDollar[4].usernameRecordUnion().Username, Hostname: yyDollar[4].usernameRecordUnion().Hostname, Roles: yyDollar[5].rolesUnion(), ShowGrantType: tree.GrantForUser} } yyVAL.union = yyLOCAL - case 654: + case 655: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4568 +//line mysql_sql.y:4575 { s := &tree.ShowGrants{} roles := []*tree.Role{ @@ -16906,44 +16955,44 @@ yydefault: yyLOCAL = s } yyVAL.union = yyLOCAL - case 655: + case 656: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*tree.Role -//line mysql_sql.y:4579 +//line mysql_sql.y:4586 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 656: + case 657: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []*tree.Role -//line mysql_sql.y:4583 +//line mysql_sql.y:4590 { yyLOCAL = yyDollar[2].rolesUnion() } yyVAL.union = yyLOCAL - case 657: + case 658: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4589 +//line mysql_sql.y:4596 { yyLOCAL = &tree.ShowTableStatus{DbName: yyDollar[5].str, Like: yyDollar[6].comparisionExprUnion(), Where: yyDollar[7].whereUnion()} } yyVAL.union = yyLOCAL - case 658: + case 659: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:4594 +//line mysql_sql.y:4601 { } - case 660: + case 661: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:4598 +//line mysql_sql.y:4605 { } - case 662: + case 663: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4603 +//line mysql_sql.y:4610 { yyLOCAL = &tree.ShowFunctionOrProcedureStatus{ Like: yyDollar[4].comparisionExprUnion(), @@ -16952,10 +17001,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 663: + case 664: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4613 +//line mysql_sql.y:4620 { yyLOCAL = &tree.ShowFunctionOrProcedureStatus{ Like: yyDollar[4].comparisionExprUnion(), @@ -16964,68 +17013,68 @@ yydefault: } } yyVAL.union = yyLOCAL - case 664: + case 665: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4623 +//line mysql_sql.y:4630 { yyLOCAL = &tree.ShowRolesStmt{ Like: yyDollar[3].comparisionExprUnion(), } } yyVAL.union = yyLOCAL - case 665: + case 666: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4631 +//line mysql_sql.y:4638 { yyLOCAL = &tree.ShowNodeList{} } yyVAL.union = yyLOCAL - case 666: + case 667: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4637 +//line mysql_sql.y:4644 { yyLOCAL = &tree.ShowLocks{} } yyVAL.union = yyLOCAL - case 667: + case 668: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4643 +//line mysql_sql.y:4650 { yyLOCAL = &tree.ShowTableNumber{DbName: yyDollar[4].str} } yyVAL.union = yyLOCAL - case 668: + case 669: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4649 +//line mysql_sql.y:4656 { yyLOCAL = &tree.ShowColumnNumber{Table: yyDollar[3].unresolvedObjectNameUnion(), DbName: yyDollar[4].str} } yyVAL.union = yyLOCAL - case 669: + case 670: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4655 +//line mysql_sql.y:4662 { yyLOCAL = &tree.ShowTableValues{Table: yyDollar[3].unresolvedObjectNameUnion(), DbName: yyDollar[4].str} } yyVAL.union = yyLOCAL - case 670: + case 671: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4661 +//line mysql_sql.y:4668 { yyLOCAL = &tree.ShowTableSize{Table: yyDollar[3].unresolvedObjectNameUnion(), DbName: yyDollar[4].str} } yyVAL.union = yyLOCAL - case 671: + case 672: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4667 +//line mysql_sql.y:4674 { s := yyDollar[2].statementUnion().(*tree.ShowTarget) s.Like = yyDollar[3].comparisionExprUnion() @@ -17033,74 +17082,74 @@ yydefault: yyLOCAL = s } yyVAL.union = yyLOCAL - case 672: + case 673: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4676 +//line mysql_sql.y:4683 { yyLOCAL = &tree.ShowTarget{Type: tree.ShowConfig} } yyVAL.union = yyLOCAL - case 673: + case 674: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4680 +//line mysql_sql.y:4687 { yyLOCAL = &tree.ShowTarget{Type: tree.ShowCharset} } yyVAL.union = yyLOCAL - case 674: + case 675: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4684 +//line mysql_sql.y:4691 { yyLOCAL = &tree.ShowTarget{Type: tree.ShowEngines} } yyVAL.union = yyLOCAL - case 675: + case 676: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4688 +//line mysql_sql.y:4695 { yyLOCAL = &tree.ShowTarget{DbName: yyDollar[3].str, Type: tree.ShowTriggers} } yyVAL.union = yyLOCAL - case 676: + case 677: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4692 +//line mysql_sql.y:4699 { yyLOCAL = &tree.ShowTarget{DbName: yyDollar[3].str, Type: tree.ShowEvents} } yyVAL.union = yyLOCAL - case 677: + case 678: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4696 +//line mysql_sql.y:4703 { yyLOCAL = &tree.ShowTarget{Type: tree.ShowPlugins} } yyVAL.union = yyLOCAL - case 678: + case 679: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4700 +//line mysql_sql.y:4707 { yyLOCAL = &tree.ShowTarget{Type: tree.ShowPrivileges} } yyVAL.union = yyLOCAL - case 679: + case 680: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4704 +//line mysql_sql.y:4711 { yyLOCAL = &tree.ShowTarget{Type: tree.ShowProfiles} } yyVAL.union = yyLOCAL - case 680: + case 681: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4710 +//line mysql_sql.y:4717 { yyLOCAL = &tree.ShowIndex{ TableName: yyDollar[4].unresolvedObjectNameUnion(), @@ -17109,20 +17158,20 @@ yydefault: } } yyVAL.union = yyLOCAL - case 681: + case 682: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:4719 +//line mysql_sql.y:4726 { } - case 682: + case 683: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:4721 +//line mysql_sql.y:4728 { } - case 686: + case 687: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4730 +//line mysql_sql.y:4737 { yyLOCAL = &tree.ShowVariables{ Global: yyDollar[2].boolValUnion(), @@ -17131,10 +17180,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 687: + case 688: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4740 +//line mysql_sql.y:4747 { yyLOCAL = &tree.ShowStatus{ Global: yyDollar[2].boolValUnion(), @@ -17143,58 +17192,58 @@ yydefault: } } yyVAL.union = yyLOCAL - case 688: + case 689: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:4749 +//line mysql_sql.y:4756 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 689: + case 690: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:4753 +//line mysql_sql.y:4760 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 690: + case 691: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:4757 +//line mysql_sql.y:4764 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 691: + case 692: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4763 +//line mysql_sql.y:4770 { yyLOCAL = &tree.ShowWarnings{} } yyVAL.union = yyLOCAL - case 692: + case 693: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4769 +//line mysql_sql.y:4776 { yyLOCAL = &tree.ShowErrors{} } yyVAL.union = yyLOCAL - case 693: + case 694: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4775 +//line mysql_sql.y:4782 { yyLOCAL = &tree.ShowProcessList{Full: yyDollar[2].fullOptUnion()} } yyVAL.union = yyLOCAL - case 694: + case 695: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4781 +//line mysql_sql.y:4788 { yyLOCAL = &tree.ShowSequences{ DBName: yyDollar[3].str, @@ -17202,10 +17251,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 695: + case 696: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4790 +//line mysql_sql.y:4797 { yyLOCAL = &tree.ShowTables{ Open: false, @@ -17217,10 +17266,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 696: + case 697: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4801 +//line mysql_sql.y:4808 { yyLOCAL = &tree.ShowTables{ Open: true, @@ -17231,10 +17280,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 697: + case 698: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4813 +//line mysql_sql.y:4820 { yyLOCAL = &tree.ShowDatabases{ Like: yyDollar[3].comparisionExprUnion(), @@ -17243,18 +17292,18 @@ yydefault: } } yyVAL.union = yyLOCAL - case 698: + case 699: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4821 +//line mysql_sql.y:4828 { yyLOCAL = &tree.ShowDatabases{Like: yyDollar[3].comparisionExprUnion(), Where: yyDollar[4].whereUnion()} } yyVAL.union = yyLOCAL - case 699: + case 700: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4827 +//line mysql_sql.y:4834 { yyLOCAL = &tree.ShowColumns{ Ext: false, @@ -17267,10 +17316,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 700: + case 701: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4839 +//line mysql_sql.y:4846 { yyLOCAL = &tree.ShowColumns{ Ext: true, @@ -17283,134 +17332,134 @@ yydefault: } } yyVAL.union = yyLOCAL - case 701: + case 702: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4853 +//line mysql_sql.y:4860 { yyLOCAL = &tree.ShowAccounts{Like: yyDollar[3].comparisionExprUnion()} } yyVAL.union = yyLOCAL - case 702: + case 703: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4859 +//line mysql_sql.y:4866 { yyLOCAL = &tree.ShowPublications{Like: yyDollar[3].comparisionExprUnion()} } yyVAL.union = yyLOCAL - case 703: + case 704: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4865 +//line mysql_sql.y:4872 { yyLOCAL = &tree.ShowPublicationCoverage{Name: yyDollar[4].str} } yyVAL.union = yyLOCAL - case 704: + case 705: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4871 +//line mysql_sql.y:4878 { yyLOCAL = &tree.ShowAccountUpgrade{} } yyVAL.union = yyLOCAL - case 705: + case 706: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4877 +//line mysql_sql.y:4884 { yyLOCAL = &tree.ShowSubscriptions{Like: yyDollar[3].comparisionExprUnion()} } yyVAL.union = yyLOCAL - case 706: + case 707: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4881 +//line mysql_sql.y:4888 { yyLOCAL = &tree.ShowSubscriptions{All: true, Like: yyDollar[4].comparisionExprUnion()} } yyVAL.union = yyLOCAL - case 707: + case 708: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4887 +//line mysql_sql.y:4894 { yyLOCAL = &tree.ShowCcprSubscriptions{TaskId: yyDollar[4].str} } yyVAL.union = yyLOCAL - case 708: + case 709: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4891 +//line mysql_sql.y:4898 { yyLOCAL = &tree.ShowCcprSubscriptions{} } yyVAL.union = yyLOCAL - case 709: + case 710: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.ComparisonExpr -//line mysql_sql.y:4896 +//line mysql_sql.y:4903 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 710: + case 711: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.ComparisonExpr -//line mysql_sql.y:4900 +//line mysql_sql.y:4907 { yyLOCAL = tree.NewComparisonExpr(tree.LIKE, nil, yyDollar[2].exprUnion()) } yyVAL.union = yyLOCAL - case 711: + case 712: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.ComparisonExpr -//line mysql_sql.y:4904 +//line mysql_sql.y:4911 { yyLOCAL = tree.NewComparisonExpr(tree.ILIKE, nil, yyDollar[2].exprUnion()) } yyVAL.union = yyLOCAL - case 712: + case 713: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:4909 +//line mysql_sql.y:4916 { yyVAL.str = "" } - case 713: + case 714: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:4913 +//line mysql_sql.y:4920 { yyVAL.str = yyDollar[2].cstrUnion().Compare() } - case 714: + case 715: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.UnresolvedObjectName -//line mysql_sql.y:4919 +//line mysql_sql.y:4926 { yyLOCAL = yyDollar[2].unresolvedObjectNameUnion() } yyVAL.union = yyLOCAL - case 719: + case 720: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:4932 +//line mysql_sql.y:4939 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 720: + case 721: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:4936 +//line mysql_sql.y:4943 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 721: + case 722: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4942 +//line mysql_sql.y:4949 { yyLOCAL = &tree.ShowCreateTable{ Name: yyDollar[4].unresolvedObjectNameUnion(), @@ -17418,10 +17467,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 722: + case 723: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4950 +//line mysql_sql.y:4957 { yyLOCAL = &tree.ShowCreateView{ Name: yyDollar[4].unresolvedObjectNameUnion(), @@ -17429,10 +17478,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 723: + case 724: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4957 +//line mysql_sql.y:4964 { yyLOCAL = &tree.ShowCreateDatabase{ IfNotExists: yyDollar[4].ifNotExistsUnion(), @@ -17441,94 +17490,94 @@ yydefault: } } yyVAL.union = yyLOCAL - case 724: + case 725: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4965 +//line mysql_sql.y:4972 { yyLOCAL = &tree.ShowCreatePublications{Name: yyDollar[4].str} } yyVAL.union = yyLOCAL - case 725: + case 726: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:4971 +//line mysql_sql.y:4978 { yyLOCAL = &tree.ShowBackendServers{} } yyVAL.union = yyLOCAL - case 726: + case 727: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.UnresolvedObjectName -//line mysql_sql.y:4977 +//line mysql_sql.y:4984 { tblName := yylex.(*Lexer).GetDbOrTblName(yyDollar[1].cstrUnion().Origin()) yyLOCAL = tree.NewUnresolvedObjectName(tblName) } yyVAL.union = yyLOCAL - case 727: + case 728: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.UnresolvedObjectName -//line mysql_sql.y:4982 +//line mysql_sql.y:4989 { dbName := yylex.(*Lexer).GetDbOrTblName(yyDollar[1].cstrUnion().Origin()) tblName := yylex.(*Lexer).GetDbOrTblName(yyDollar[3].cstrUnion().Origin()) yyLOCAL = tree.NewUnresolvedObjectName(dbName, tblName) } yyVAL.union = yyLOCAL - case 728: + case 729: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:4990 +//line mysql_sql.y:4997 { yyVAL.str = yylex.(*Lexer).GetDbOrTblName(yyDollar[1].cstrUnion().Origin()) } - case 729: + case 730: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.UnresolvedObjectName -//line mysql_sql.y:4996 +//line mysql_sql.y:5003 { tblName := yylex.(*Lexer).GetDbOrTblName(yyDollar[1].cstrUnion().Origin()) yyLOCAL = tree.NewUnresolvedObjectName(tblName) } yyVAL.union = yyLOCAL - case 730: + case 731: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.UnresolvedObjectName -//line mysql_sql.y:5001 +//line mysql_sql.y:5008 { dbName := yylex.(*Lexer).GetDbOrTblName(yyDollar[1].cstrUnion().Origin()) tblName := yylex.(*Lexer).GetDbOrTblName(yyDollar[3].cstrUnion().Origin()) yyLOCAL = tree.NewUnresolvedObjectName(dbName, tblName) } yyVAL.union = yyLOCAL - case 731: + case 732: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.UnresolvedObjectName -//line mysql_sql.y:5007 +//line mysql_sql.y:5014 { yyLOCAL = tree.NewUnresolvedObjectName(yyDollar[1].cstrUnion().Compare(), yyDollar[3].cstrUnion().Compare(), yyDollar[5].cstrUnion().Compare()) } yyVAL.union = yyLOCAL - case 732: + case 733: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:5013 +//line mysql_sql.y:5020 { yyLOCAL = tree.NewTruncateTable(yyDollar[2].tableNameUnion()) } yyVAL.union = yyLOCAL - case 733: + case 734: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:5017 +//line mysql_sql.y:5024 { yyLOCAL = tree.NewTruncateTable(yyDollar[3].tableNameUnion()) } yyVAL.union = yyLOCAL - case 754: + case 755: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:5047 +//line mysql_sql.y:5054 { yyLOCAL = &tree.DropSQLTask{ IfExists: yyDollar[3].boolValUnion(), @@ -17536,56 +17585,56 @@ yydefault: } } yyVAL.union = yyLOCAL - case 755: + case 756: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:5056 +//line mysql_sql.y:5063 { var ifExists = yyDollar[3].boolValUnion() var name = yyDollar[4].tableNamesUnion() yyLOCAL = tree.NewDropSequence(ifExists, name) } yyVAL.union = yyLOCAL - case 756: + case 757: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:5064 +//line mysql_sql.y:5071 { var ifExists = yyDollar[3].boolValUnion() var name = yyDollar[4].exprUnion() yyLOCAL = tree.NewDropAccount(ifExists, name) } yyVAL.union = yyLOCAL - case 757: + case 758: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:5072 +//line mysql_sql.y:5079 { var ifExists = yyDollar[3].boolValUnion() var users = yyDollar[4].usersUnion() yyLOCAL = tree.NewDropUser(ifExists, users) } yyVAL.union = yyLOCAL - case 758: + case 759: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.User -//line mysql_sql.y:5080 +//line mysql_sql.y:5087 { yyLOCAL = []*tree.User{yyDollar[1].userUnion()} } yyVAL.union = yyLOCAL - case 759: + case 760: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.User -//line mysql_sql.y:5084 +//line mysql_sql.y:5091 { yyLOCAL = append(yyDollar[1].usersUnion(), yyDollar[3].userUnion()) } yyVAL.union = yyLOCAL - case 760: + case 761: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.User -//line mysql_sql.y:5090 +//line mysql_sql.y:5097 { var Username = yyDollar[1].usernameRecordUnion().Username var Hostname = yyDollar[1].usernameRecordUnion().Hostname @@ -17597,20 +17646,20 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 761: + case 762: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:5103 +//line mysql_sql.y:5110 { var ifExists = yyDollar[3].boolValUnion() var roles = yyDollar[4].rolesUnion() yyLOCAL = tree.NewDropRole(ifExists, roles) } yyVAL.union = yyLOCAL - case 762: + case 763: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:5111 +//line mysql_sql.y:5118 { var name = tree.Identifier(yyDollar[4].cstrUnion().Compare()) var tableName = yyDollar[6].tableNameUnion() @@ -17618,126 +17667,126 @@ yydefault: yyLOCAL = tree.NewDropIndex(name, tableName, ifExists) } yyVAL.union = yyLOCAL - case 763: + case 764: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:5120 +//line mysql_sql.y:5127 { var ifExists = yyDollar[4].boolValUnion() var names = yyDollar[5].tableNamesUnion() yyLOCAL = tree.NewDropTable(ifExists, names) } yyVAL.union = yyLOCAL - case 764: + case 765: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:5126 +//line mysql_sql.y:5133 { var ifExists = yyDollar[3].boolValUnion() var names = yyDollar[4].tableNamesUnion() yyLOCAL = tree.NewDropTable(ifExists, names) } yyVAL.union = yyLOCAL - case 765: + case 766: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:5134 +//line mysql_sql.y:5141 { var ifExists = yyDollar[3].boolValUnion() var names = yyDollar[4].tableNamesUnion() yyLOCAL = tree.NewDropConnector(ifExists, names) } yyVAL.union = yyLOCAL - case 766: + case 767: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:5142 +//line mysql_sql.y:5149 { var ifExists = yyDollar[3].boolValUnion() var names = yyDollar[4].tableNamesUnion() yyLOCAL = tree.NewDropView(ifExists, names) } yyVAL.union = yyLOCAL - case 767: + case 768: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:5150 +//line mysql_sql.y:5157 { var name = tree.Identifier(yyDollar[4].cstrUnion().Compare()) var ifExists = yyDollar[3].boolValUnion() yyLOCAL = tree.NewDropDatabase(name, ifExists) } yyVAL.union = yyLOCAL - case 768: + case 769: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:5156 +//line mysql_sql.y:5163 { var name = tree.Identifier(yyDollar[4].cstrUnion().Compare()) var ifExists = yyDollar[3].boolValUnion() yyLOCAL = tree.NewDropDatabase(name, ifExists) } yyVAL.union = yyLOCAL - case 769: + case 770: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:5164 +//line mysql_sql.y:5171 { yyLOCAL = tree.NewDeallocate(tree.Identifier(yyDollar[3].str), true) } yyVAL.union = yyLOCAL - case 770: + case 771: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:5170 +//line mysql_sql.y:5177 { var name = yyDollar[3].functionNameUnion() var args = yyDollar[5].funcArgsUnion() yyLOCAL = tree.NewDropFunction(name, args) } yyVAL.union = yyLOCAL - case 771: + case 772: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:5178 +//line mysql_sql.y:5185 { var name = yyDollar[3].procNameUnion() var ifExists = false yyLOCAL = tree.NewDropProcedure(name, ifExists) } yyVAL.union = yyLOCAL - case 772: + case 773: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:5184 +//line mysql_sql.y:5191 { var name = yyDollar[5].procNameUnion() var ifExists = true yyLOCAL = tree.NewDropProcedure(name, ifExists) } yyVAL.union = yyLOCAL - case 775: + case 776: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:5194 +//line mysql_sql.y:5201 { yyDollar[2].statementUnion().(*tree.Delete).With = yyDollar[1].withClauseUnion() yyLOCAL = yyDollar[2].statementUnion() } yyVAL.union = yyLOCAL - case 776: + case 777: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:5199 +//line mysql_sql.y:5206 { yyDollar[2].statementUnion().(*tree.Delete).With = yyDollar[1].withClauseUnion() yyLOCAL = yyDollar[2].statementUnion() } yyVAL.union = yyLOCAL - case 777: + case 778: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:5206 +//line mysql_sql.y:5213 { // Single-Table Syntax t := &tree.AliasedTableExpr{ @@ -17754,10 +17803,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 778: + case 779: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:5222 +//line mysql_sql.y:5229 { // Multiple-Table Syntax yyLOCAL = &tree.Delete{ @@ -17767,10 +17816,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 779: + case 780: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:5233 +//line mysql_sql.y:5240 { // Multiple-Table Syntax yyLOCAL = &tree.Delete{ @@ -17780,36 +17829,36 @@ yydefault: } } yyVAL.union = yyLOCAL - case 780: + case 781: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableExprs -//line mysql_sql.y:5244 +//line mysql_sql.y:5251 { yyLOCAL = tree.TableExprs{yyDollar[1].tableNameUnion()} } yyVAL.union = yyLOCAL - case 781: + case 782: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableExprs -//line mysql_sql.y:5248 +//line mysql_sql.y:5255 { yyLOCAL = append(yyDollar[1].tableExprsUnion(), yyDollar[3].tableNameUnion()) } yyVAL.union = yyLOCAL - case 782: + case 783: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.TableName -//line mysql_sql.y:5254 +//line mysql_sql.y:5261 { tblName := yylex.(*Lexer).GetDbOrTblName(yyDollar[1].cstrUnion().Origin()) prefix := tree.ObjectNamePrefix{ExplicitSchema: false} yyLOCAL = tree.NewTableName(tree.Identifier(tblName), prefix, nil) } yyVAL.union = yyLOCAL - case 783: + case 784: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.TableName -//line mysql_sql.y:5260 +//line mysql_sql.y:5267 { dbName := yylex.(*Lexer).GetDbOrTblName(yyDollar[1].cstrUnion().Origin()) tblName := yylex.(*Lexer).GetDbOrTblName(yyDollar[3].cstrUnion().Origin()) @@ -17817,35 +17866,35 @@ yydefault: yyLOCAL = tree.NewTableName(tree.Identifier(tblName), prefix, nil) } yyVAL.union = yyLOCAL - case 784: + case 785: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:5269 +//line mysql_sql.y:5276 { } - case 785: + case 786: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:5271 +//line mysql_sql.y:5278 { } - case 786: + case 787: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:5274 +//line mysql_sql.y:5281 { } - case 791: + case 792: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:5283 +//line mysql_sql.y:5290 { } - case 793: + case 794: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:5287 +//line mysql_sql.y:5294 { } - case 795: + case 796: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:5292 +//line mysql_sql.y:5299 { rep := yyDollar[4].replaceUnion() rep.Table = yyDollar[2].tableExprUnion() @@ -17853,10 +17902,10 @@ yydefault: yyLOCAL = rep } yyVAL.union = yyLOCAL - case 796: + case 797: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.Replace -//line mysql_sql.y:5301 +//line mysql_sql.y:5308 { vc := tree.NewValuesClause(yyDollar[2].rowsExprsUnion()) yyLOCAL = &tree.Replace{ @@ -17864,20 +17913,20 @@ yydefault: } } yyVAL.union = yyLOCAL - case 797: + case 798: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.Replace -//line mysql_sql.y:5308 +//line mysql_sql.y:5315 { yyLOCAL = &tree.Replace{ Rows: yyDollar[1].selectUnion(), } } yyVAL.union = yyLOCAL - case 798: + case 799: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.Replace -//line mysql_sql.y:5314 +//line mysql_sql.y:5321 { vc := tree.NewValuesClause(yyDollar[5].rowsExprsUnion()) yyLOCAL = &tree.Replace{ @@ -17886,10 +17935,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 799: + case 800: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.Replace -//line mysql_sql.y:5322 +//line mysql_sql.y:5329 { vc := tree.NewValuesClause(yyDollar[4].rowsExprsUnion()) yyLOCAL = &tree.Replace{ @@ -17897,10 +17946,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 800: + case 801: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.Replace -//line mysql_sql.y:5329 +//line mysql_sql.y:5336 { yyLOCAL = &tree.Replace{ Columns: yyDollar[2].identifierListUnion(), @@ -17908,10 +17957,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 801: + case 802: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.Replace -//line mysql_sql.y:5336 +//line mysql_sql.y:5343 { if yyDollar[2].assignmentsUnion() == nil { yylex.Error("the set list of replace can not be empty") @@ -17930,19 +17979,19 @@ yydefault: } } yyVAL.union = yyLOCAL - case 803: + case 804: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:5357 +//line mysql_sql.y:5364 { yyDollar[2].statementUnion().(*tree.Insert).With = yyDollar[1].withClauseUnion() yyLOCAL = yyDollar[2].statementUnion() } yyVAL.union = yyLOCAL - case 804: + case 805: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:5364 +//line mysql_sql.y:5371 { ins := yyDollar[4].insertUnion() ins.Table = yyDollar[2].tableExprUnion() @@ -17951,10 +18000,10 @@ yydefault: yyLOCAL = ins } yyVAL.union = yyLOCAL - case 805: + case 806: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:5372 +//line mysql_sql.y:5379 { ins := yyDollar[5].insertUnion() ins.Table = yyDollar[3].tableExprUnion() @@ -17963,26 +18012,26 @@ yydefault: yyLOCAL = ins } yyVAL.union = yyLOCAL - case 806: + case 807: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:5382 +//line mysql_sql.y:5389 { yyLOCAL = tree.IdentifierList{tree.Identifier(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 807: + case 808: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:5386 +//line mysql_sql.y:5393 { yyLOCAL = append(yyDollar[1].identifierListUnion(), tree.Identifier(yyDollar[3].str)) } yyVAL.union = yyLOCAL - case 808: + case 809: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.Insert -//line mysql_sql.y:5392 +//line mysql_sql.y:5399 { vc := tree.NewValuesClause(yyDollar[2].rowsExprsUnion()) yyLOCAL = &tree.Insert{ @@ -17990,20 +18039,20 @@ yydefault: } } yyVAL.union = yyLOCAL - case 809: + case 810: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.Insert -//line mysql_sql.y:5399 +//line mysql_sql.y:5406 { yyLOCAL = &tree.Insert{ Rows: yyDollar[1].selectUnion(), } } yyVAL.union = yyLOCAL - case 810: + case 811: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.Insert -//line mysql_sql.y:5405 +//line mysql_sql.y:5412 { vc := tree.NewValuesClause(yyDollar[5].rowsExprsUnion()) yyLOCAL = &tree.Insert{ @@ -18012,10 +18061,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 811: + case 812: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.Insert -//line mysql_sql.y:5413 +//line mysql_sql.y:5420 { vc := tree.NewValuesClause(yyDollar[4].rowsExprsUnion()) yyLOCAL = &tree.Insert{ @@ -18023,10 +18072,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 812: + case 813: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.Insert -//line mysql_sql.y:5420 +//line mysql_sql.y:5427 { yyLOCAL = &tree.Insert{ Columns: yyDollar[2].identifierListUnion(), @@ -18034,10 +18083,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 813: + case 814: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.Insert -//line mysql_sql.y:5427 +//line mysql_sql.y:5434 { if yyDollar[2].assignmentsUnion() == nil { yylex.Error("the set list of insert can not be empty") @@ -18056,58 +18105,58 @@ yydefault: } } yyVAL.union = yyLOCAL - case 814: + case 815: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.UpdateExprs -//line mysql_sql.y:5446 +//line mysql_sql.y:5453 { yyLOCAL = []*tree.UpdateExpr{} } yyVAL.union = yyLOCAL - case 815: + case 816: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.UpdateExprs -//line mysql_sql.y:5450 +//line mysql_sql.y:5457 { yyLOCAL = yyDollar[5].updateExprsUnion() } yyVAL.union = yyLOCAL - case 816: + case 817: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.UpdateExprs -//line mysql_sql.y:5454 +//line mysql_sql.y:5461 { yyLOCAL = []*tree.UpdateExpr{nil} } yyVAL.union = yyLOCAL - case 817: + case 818: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*tree.Assignment -//line mysql_sql.y:5459 +//line mysql_sql.y:5466 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 818: + case 819: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.Assignment -//line mysql_sql.y:5463 +//line mysql_sql.y:5470 { yyLOCAL = []*tree.Assignment{yyDollar[1].assignmentUnion()} } yyVAL.union = yyLOCAL - case 819: + case 820: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.Assignment -//line mysql_sql.y:5467 +//line mysql_sql.y:5474 { yyLOCAL = append(yyDollar[1].assignmentsUnion(), yyDollar[3].assignmentUnion()) } yyVAL.union = yyLOCAL - case 820: + case 821: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.Assignment -//line mysql_sql.y:5473 +//line mysql_sql.y:5480 { yyLOCAL = &tree.Assignment{ Column: tree.Identifier(yyDollar[1].str), @@ -18115,155 +18164,155 @@ yydefault: } } yyVAL.union = yyLOCAL - case 821: + case 822: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:5482 +//line mysql_sql.y:5489 { yyLOCAL = tree.IdentifierList{tree.Identifier(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 822: + case 823: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:5486 +//line mysql_sql.y:5493 { yyLOCAL = append(yyDollar[1].identifierListUnion(), tree.Identifier(yyDollar[3].str)) } yyVAL.union = yyLOCAL - case 823: + case 824: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:5492 +//line mysql_sql.y:5499 { yyVAL.str = yylex.(*Lexer).GetDbOrTblName(yyDollar[1].cstrUnion().Origin()) } - case 824: + case 825: yyDollar = yyS[yypt-3 : yypt+1] -//line mysql_sql.y:5496 +//line mysql_sql.y:5503 { yyVAL.str = yylex.(*Lexer).GetDbOrTblName(yyDollar[3].cstrUnion().Origin()) } - case 825: + case 826: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.Exprs -//line mysql_sql.y:5502 +//line mysql_sql.y:5509 { yyLOCAL = []tree.Exprs{yyDollar[1].exprsUnion()} } yyVAL.union = yyLOCAL - case 826: + case 827: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []tree.Exprs -//line mysql_sql.y:5506 +//line mysql_sql.y:5513 { yyLOCAL = append(yyDollar[1].rowsExprsUnion(), yyDollar[3].exprsUnion()) } yyVAL.union = yyLOCAL - case 827: + case 828: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:5512 +//line mysql_sql.y:5519 { yyLOCAL = yyDollar[3].exprsUnion() } yyVAL.union = yyLOCAL - case 828: + case 829: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:5517 +//line mysql_sql.y:5524 { } - case 830: + case 831: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:5521 +//line mysql_sql.y:5528 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 832: + case 833: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:5528 +//line mysql_sql.y:5535 { yyLOCAL = tree.Exprs{yyDollar[1].exprUnion()} } yyVAL.union = yyLOCAL - case 833: + case 834: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:5532 +//line mysql_sql.y:5539 { yyLOCAL = append(yyDollar[1].exprsUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 835: + case 836: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5539 +//line mysql_sql.y:5546 { yyLOCAL = &tree.DefaultVal{} } yyVAL.union = yyLOCAL - case 836: + case 837: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:5544 +//line mysql_sql.y:5551 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 837: + case 838: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:5548 +//line mysql_sql.y:5555 { yyLOCAL = yyDollar[3].identifierListUnion() } yyVAL.union = yyLOCAL - case 838: + case 839: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:5554 +//line mysql_sql.y:5561 { yyLOCAL = tree.IdentifierList{tree.Identifier(yyDollar[1].cstrUnion().Compare())} } yyVAL.union = yyLOCAL - case 839: + case 840: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:5558 +//line mysql_sql.y:5565 { yyLOCAL = append(yyDollar[1].identifierListUnion(), tree.Identifier(yyDollar[3].cstrUnion().Compare())) } yyVAL.union = yyLOCAL - case 840: + case 841: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.TableExpr -//line mysql_sql.y:5564 +//line mysql_sql.y:5571 { yyLOCAL = yyDollar[2].tableNameUnion() } yyVAL.union = yyLOCAL - case 841: + case 842: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableExpr -//line mysql_sql.y:5568 +//line mysql_sql.y:5575 { yyLOCAL = yyDollar[1].tableNameUnion() } yyVAL.union = yyLOCAL - case 842: + case 843: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.ExportParam -//line mysql_sql.y:5573 +//line mysql_sql.y:5580 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 843: + case 844: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL *tree.ExportParam -//line mysql_sql.y:5577 +//line mysql_sql.y:5584 { yyLOCAL = &tree.ExportParam{ Outfile: true, @@ -18278,15 +18327,15 @@ yydefault: } } yyVAL.union = yyLOCAL - case 844: + case 845: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:5592 +//line mysql_sql.y:5599 { yyVAL.str = "" } - case 845: + case 846: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:5596 +//line mysql_sql.y:5603 { str := strings.ToLower(yyDollar[2].str) if str != "csv" && str != "jsonline" && str != "parquet" { @@ -18295,18 +18344,18 @@ yydefault: } yyVAL.str = str } - case 846: + case 847: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL uint64 -//line mysql_sql.y:5606 +//line mysql_sql.y:5613 { yyLOCAL = uint64(0) } yyVAL.union = yyLOCAL - case 847: + case 848: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL uint64 -//line mysql_sql.y:5610 +//line mysql_sql.y:5617 { size, err := util.ParseDataSize(yyDollar[2].str) if err != nil { @@ -18316,10 +18365,10 @@ yydefault: yyLOCAL = size } yyVAL.union = yyLOCAL - case 848: + case 849: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.Fields -//line mysql_sql.y:5620 +//line mysql_sql.y:5627 { yyLOCAL = &tree.Fields{ Terminated: &tree.Terminated{ @@ -18331,10 +18380,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 849: + case 850: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.Fields -//line mysql_sql.y:5631 +//line mysql_sql.y:5638 { yyLOCAL = &tree.Fields{ Terminated: &tree.Terminated{ @@ -18346,10 +18395,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 850: + case 851: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *tree.Fields -//line mysql_sql.y:5642 +//line mysql_sql.y:5649 { str := yyDollar[7].str if str != "\\" && len(str) > 1 { @@ -18372,10 +18421,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 851: + case 852: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.Fields -//line mysql_sql.y:5664 +//line mysql_sql.y:5671 { str := yyDollar[4].str if str != "\\" && len(str) > 1 { @@ -18398,10 +18447,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 852: + case 853: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.Lines -//line mysql_sql.y:5687 +//line mysql_sql.y:5694 { yyLOCAL = &tree.Lines{ TerminatedBy: &tree.Terminated{ @@ -18410,10 +18459,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 853: + case 854: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.Lines -//line mysql_sql.y:5695 +//line mysql_sql.y:5702 { yyLOCAL = &tree.Lines{ TerminatedBy: &tree.Terminated{ @@ -18422,18 +18471,18 @@ yydefault: } } yyVAL.union = yyLOCAL - case 854: + case 855: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:5704 +//line mysql_sql.y:5711 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 855: + case 856: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:5708 +//line mysql_sql.y:5715 { str := strings.ToLower(yyDollar[2].str) if str == "true" { @@ -18446,131 +18495,131 @@ yydefault: } } yyVAL.union = yyLOCAL - case 856: + case 857: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:5721 +//line mysql_sql.y:5728 { yyLOCAL = 0 } yyVAL.union = yyLOCAL - case 857: + case 858: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:5725 +//line mysql_sql.y:5732 { yyLOCAL = yyDollar[2].item.(int64) } yyVAL.union = yyLOCAL - case 858: + case 859: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:5730 +//line mysql_sql.y:5737 { yyLOCAL = []string{} } yyVAL.union = yyLOCAL - case 859: + case 860: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:5734 +//line mysql_sql.y:5741 { yyLOCAL = yyDollar[3].strsUnion() } yyVAL.union = yyLOCAL - case 860: + case 861: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:5740 +//line mysql_sql.y:5747 { yyLOCAL = make([]string, 0, 4) yyLOCAL = append(yyLOCAL, yyDollar[1].cstrUnion().Compare()) } yyVAL.union = yyLOCAL - case 861: + case 862: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:5745 +//line mysql_sql.y:5752 { yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].cstrUnion().Compare()) } yyVAL.union = yyLOCAL - case 863: + case 864: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.Select -//line mysql_sql.y:5752 +//line mysql_sql.y:5759 { yyLOCAL = &tree.Select{Select: yyDollar[1].selectStatementUnion()} } yyVAL.union = yyLOCAL - case 864: + case 865: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *tree.Select -//line mysql_sql.y:5758 +//line mysql_sql.y:5765 { yyLOCAL = &tree.Select{Select: yyDollar[1].selectStatementUnion(), TimeWindow: yyDollar[2].timeWindowUnion(), OrderBy: yyDollar[3].orderByUnion(), Limit: yyDollar[4].limitUnion(), RankOption: yyDollar[5].rankOptionUnion(), Ep: yyDollar[6].exportParmUnion(), SelectLockInfo: yyDollar[7].selectLockInfoUnion()} } yyVAL.union = yyLOCAL - case 865: + case 866: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.Select -//line mysql_sql.y:5762 +//line mysql_sql.y:5769 { yyLOCAL = &tree.Select{Select: yyDollar[1].selectStatementUnion(), TimeWindow: yyDollar[2].timeWindowUnion(), OrderBy: yyDollar[3].orderByUnion(), Ep: yyDollar[4].exportParmUnion()} } yyVAL.union = yyLOCAL - case 866: + case 867: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.Select -//line mysql_sql.y:5766 +//line mysql_sql.y:5773 { yyLOCAL = &tree.Select{Select: yyDollar[1].selectStatementUnion(), TimeWindow: yyDollar[2].timeWindowUnion(), OrderBy: yyDollar[3].orderByUnion(), Limit: yyDollar[4].limitUnion(), RankOption: yyDollar[5].rankOptionUnion(), Ep: yyDollar[6].exportParmUnion()} } yyVAL.union = yyLOCAL - case 867: + case 868: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *tree.Select -//line mysql_sql.y:5770 +//line mysql_sql.y:5777 { yyLOCAL = &tree.Select{Select: yyDollar[2].selectStatementUnion(), TimeWindow: yyDollar[3].timeWindowUnion(), OrderBy: yyDollar[4].orderByUnion(), Limit: yyDollar[5].limitUnion(), RankOption: yyDollar[6].rankOptionUnion(), Ep: yyDollar[7].exportParmUnion(), SelectLockInfo: yyDollar[8].selectLockInfoUnion(), With: yyDollar[1].withClauseUnion()} } yyVAL.union = yyLOCAL - case 868: + case 869: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.Select -//line mysql_sql.y:5774 +//line mysql_sql.y:5781 { yyLOCAL = &tree.Select{Select: yyDollar[2].selectStatementUnion(), OrderBy: yyDollar[3].orderByUnion(), Ep: yyDollar[4].exportParmUnion(), With: yyDollar[1].withClauseUnion()} } yyVAL.union = yyLOCAL - case 869: + case 870: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.Select -//line mysql_sql.y:5778 +//line mysql_sql.y:5785 { yyLOCAL = &tree.Select{Select: yyDollar[2].selectStatementUnion(), OrderBy: yyDollar[3].orderByUnion(), Limit: yyDollar[4].limitUnion(), RankOption: yyDollar[5].rankOptionUnion(), Ep: yyDollar[6].exportParmUnion(), With: yyDollar[1].withClauseUnion()} } yyVAL.union = yyLOCAL - case 870: + case 871: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.TimeWindow -//line mysql_sql.y:5783 +//line mysql_sql.y:5790 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 871: + case 872: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.TimeWindow -//line mysql_sql.y:5787 +//line mysql_sql.y:5794 { yyLOCAL = yyDollar[1].timeWindowUnion() } yyVAL.union = yyLOCAL - case 872: + case 873: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.TimeWindow -//line mysql_sql.y:5793 +//line mysql_sql.y:5800 { yyLOCAL = &tree.TimeWindow{ Interval: yyDollar[1].timeIntervalUnion(), @@ -18579,10 +18628,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 873: + case 874: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *tree.Interval -//line mysql_sql.y:5803 +//line mysql_sql.y:5810 { str := fmt.Sprintf("%v", yyDollar[5].item) v, errStr := util.GetInt64(yyDollar[5].item) @@ -18597,18 +18646,18 @@ yydefault: } } yyVAL.union = yyLOCAL - case 874: + case 875: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.Sliding -//line mysql_sql.y:5818 +//line mysql_sql.y:5825 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 875: + case 876: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.Sliding -//line mysql_sql.y:5822 +//line mysql_sql.y:5829 { str := fmt.Sprintf("%v", yyDollar[3].item) v, errStr := util.GetInt64(yyDollar[3].item) @@ -18622,28 +18671,28 @@ yydefault: } } yyVAL.union = yyLOCAL - case 876: + case 877: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.Fill -//line mysql_sql.y:5836 +//line mysql_sql.y:5843 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 877: + case 878: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.Fill -//line mysql_sql.y:5840 +//line mysql_sql.y:5847 { yyLOCAL = &tree.Fill{ Mode: yyDollar[3].fillModeUnion(), } } yyVAL.union = yyLOCAL - case 878: + case 879: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.Fill -//line mysql_sql.y:5846 +//line mysql_sql.y:5853 { yyLOCAL = &tree.Fill{ Mode: tree.FillValue, @@ -18651,50 +18700,50 @@ yydefault: } } yyVAL.union = yyLOCAL - case 879: + case 880: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.FillMode -//line mysql_sql.y:5855 +//line mysql_sql.y:5862 { yyLOCAL = tree.FillPrev } yyVAL.union = yyLOCAL - case 880: + case 881: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.FillMode -//line mysql_sql.y:5859 +//line mysql_sql.y:5866 { yyLOCAL = tree.FillNext } yyVAL.union = yyLOCAL - case 881: + case 882: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.FillMode -//line mysql_sql.y:5863 +//line mysql_sql.y:5870 { yyLOCAL = tree.FillNone } yyVAL.union = yyLOCAL - case 882: + case 883: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.FillMode -//line mysql_sql.y:5867 +//line mysql_sql.y:5874 { yyLOCAL = tree.FillNull } yyVAL.union = yyLOCAL - case 883: + case 884: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.FillMode -//line mysql_sql.y:5871 +//line mysql_sql.y:5878 { yyLOCAL = tree.FillLinear } yyVAL.union = yyLOCAL - case 884: + case 885: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.With -//line mysql_sql.y:5877 +//line mysql_sql.y:5884 { yyLOCAL = &tree.With{ IsRecursive: false, @@ -18702,10 +18751,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 885: + case 886: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.With -//line mysql_sql.y:5884 +//line mysql_sql.y:5891 { yyLOCAL = &tree.With{ IsRecursive: true, @@ -18713,26 +18762,26 @@ yydefault: } } yyVAL.union = yyLOCAL - case 886: + case 887: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.CTE -//line mysql_sql.y:5893 +//line mysql_sql.y:5900 { yyLOCAL = []*tree.CTE{yyDollar[1].cteUnion()} } yyVAL.union = yyLOCAL - case 887: + case 888: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.CTE -//line mysql_sql.y:5897 +//line mysql_sql.y:5904 { yyLOCAL = append(yyDollar[1].cteListUnion(), yyDollar[3].cteUnion()) } yyVAL.union = yyLOCAL - case 888: + case 889: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.CTE -//line mysql_sql.y:5903 +//line mysql_sql.y:5910 { yyLOCAL = &tree.CTE{ Name: &tree.AliasClause{Alias: tree.Identifier(yyDollar[1].cstrUnion().Compare()), Cols: yyDollar[2].identifierListUnion()}, @@ -18740,74 +18789,74 @@ yydefault: } } yyVAL.union = yyLOCAL - case 889: + case 890: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:5911 +//line mysql_sql.y:5918 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 890: + case 891: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:5915 +//line mysql_sql.y:5922 { yyLOCAL = yyDollar[2].identifierListUnion() } yyVAL.union = yyLOCAL - case 891: + case 892: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.Limit -//line mysql_sql.y:5920 +//line mysql_sql.y:5927 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 892: + case 893: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.Limit -//line mysql_sql.y:5924 +//line mysql_sql.y:5931 { yyLOCAL = yyDollar[1].limitUnion() } yyVAL.union = yyLOCAL - case 893: + case 894: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.Limit -//line mysql_sql.y:5930 +//line mysql_sql.y:5937 { yyLOCAL = &tree.Limit{Count: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 894: + case 895: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.Limit -//line mysql_sql.y:5934 +//line mysql_sql.y:5941 { yyLOCAL = &tree.Limit{Offset: yyDollar[2].exprUnion(), Count: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 895: + case 896: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.Limit -//line mysql_sql.y:5938 +//line mysql_sql.y:5945 { yyLOCAL = &tree.Limit{Offset: yyDollar[4].exprUnion(), Count: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 896: + case 897: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.RankOption -//line mysql_sql.y:5943 +//line mysql_sql.y:5950 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 897: + case 898: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.RankOption -//line mysql_sql.y:5947 +//line mysql_sql.y:5954 { // Parse option strings to extract key=value pairs into a map optionMap := make(map[string]string) @@ -18842,140 +18891,140 @@ yydefault: } } yyVAL.union = yyLOCAL - case 898: + case 899: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.OrderBy -//line mysql_sql.y:5982 +//line mysql_sql.y:5989 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 899: + case 900: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.OrderBy -//line mysql_sql.y:5986 +//line mysql_sql.y:5993 { yyLOCAL = yyDollar[1].orderByUnion() } yyVAL.union = yyLOCAL - case 900: + case 901: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.OrderBy -//line mysql_sql.y:5992 +//line mysql_sql.y:5999 { yyLOCAL = yyDollar[3].orderByUnion() } yyVAL.union = yyLOCAL - case 901: + case 902: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.OrderBy -//line mysql_sql.y:5998 +//line mysql_sql.y:6005 { yyLOCAL = tree.OrderBy{yyDollar[1].orderUnion()} } yyVAL.union = yyLOCAL - case 902: + case 903: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.OrderBy -//line mysql_sql.y:6002 +//line mysql_sql.y:6009 { yyLOCAL = append(yyDollar[1].orderByUnion(), yyDollar[3].orderUnion()) } yyVAL.union = yyLOCAL - case 903: + case 904: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.Order -//line mysql_sql.y:6008 +//line mysql_sql.y:6015 { yyLOCAL = &tree.Order{Expr: yyDollar[1].exprUnion(), Direction: yyDollar[2].directionUnion(), NullsPosition: yyDollar[3].nullsPositionUnion()} } yyVAL.union = yyLOCAL - case 904: + case 905: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Direction -//line mysql_sql.y:6013 +//line mysql_sql.y:6020 { yyLOCAL = tree.DefaultDirection } yyVAL.union = yyLOCAL - case 905: + case 906: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Direction -//line mysql_sql.y:6017 +//line mysql_sql.y:6024 { yyLOCAL = tree.Ascending } yyVAL.union = yyLOCAL - case 906: + case 907: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Direction -//line mysql_sql.y:6021 +//line mysql_sql.y:6028 { yyLOCAL = tree.Descending } yyVAL.union = yyLOCAL - case 907: + case 908: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.NullsPosition -//line mysql_sql.y:6026 +//line mysql_sql.y:6033 { yyLOCAL = tree.DefaultNullsPosition } yyVAL.union = yyLOCAL - case 908: + case 909: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.NullsPosition -//line mysql_sql.y:6030 +//line mysql_sql.y:6037 { yyLOCAL = tree.NullsFirst } yyVAL.union = yyLOCAL - case 909: + case 910: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.NullsPosition -//line mysql_sql.y:6034 +//line mysql_sql.y:6041 { yyLOCAL = tree.NullsLast } yyVAL.union = yyLOCAL - case 910: + case 911: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.SelectLockInfo -//line mysql_sql.y:6039 +//line mysql_sql.y:6046 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 911: + case 912: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.SelectLockInfo -//line mysql_sql.y:6043 +//line mysql_sql.y:6050 { yyLOCAL = &tree.SelectLockInfo{ LockType: tree.SelectLockForUpdate, } } yyVAL.union = yyLOCAL - case 912: + case 913: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.SelectStatement -//line mysql_sql.y:6051 +//line mysql_sql.y:6058 { yyLOCAL = &tree.ParenSelect{Select: yyDollar[2].selectUnion()} } yyVAL.union = yyLOCAL - case 913: + case 914: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.SelectStatement -//line mysql_sql.y:6055 +//line mysql_sql.y:6062 { yyLOCAL = &tree.ParenSelect{Select: &tree.Select{Select: yyDollar[2].selectStatementUnion()}} } yyVAL.union = yyLOCAL - case 914: + case 915: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.SelectStatement -//line mysql_sql.y:6059 +//line mysql_sql.y:6066 { valuesStmt := yyDollar[2].statementUnion().(*tree.ValuesStatement) yyLOCAL = &tree.ParenSelect{Select: &tree.Select{ @@ -18988,18 +19037,18 @@ yydefault: }} } yyVAL.union = yyLOCAL - case 915: + case 916: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.SelectStatement -//line mysql_sql.y:6073 +//line mysql_sql.y:6080 { yyLOCAL = yyDollar[1].selectStatementUnion() } yyVAL.union = yyLOCAL - case 916: + case 917: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.SelectStatement -//line mysql_sql.y:6077 +//line mysql_sql.y:6084 { yyLOCAL = &tree.UnionClause{ Type: yyDollar[2].unionTypeRecordUnion().Type, @@ -19010,10 +19059,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 917: + case 918: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.SelectStatement -//line mysql_sql.y:6087 +//line mysql_sql.y:6094 { yyLOCAL = &tree.UnionClause{ Type: yyDollar[2].unionTypeRecordUnion().Type, @@ -19024,10 +19073,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 918: + case 919: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.SelectStatement -//line mysql_sql.y:6097 +//line mysql_sql.y:6104 { yyLOCAL = &tree.UnionClause{ Type: yyDollar[2].unionTypeRecordUnion().Type, @@ -19038,10 +19087,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 919: + case 920: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.SelectStatement -//line mysql_sql.y:6107 +//line mysql_sql.y:6114 { yyLOCAL = &tree.UnionClause{ Type: yyDollar[2].unionTypeRecordUnion().Type, @@ -19052,10 +19101,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 920: + case 921: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.UnionTypeRecord -//line mysql_sql.y:6119 +//line mysql_sql.y:6126 { yyLOCAL = &tree.UnionTypeRecord{ Type: tree.UNION, @@ -19064,10 +19113,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 921: + case 922: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.UnionTypeRecord -//line mysql_sql.y:6127 +//line mysql_sql.y:6134 { yyLOCAL = &tree.UnionTypeRecord{ Type: tree.UNION, @@ -19076,10 +19125,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 922: + case 923: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.UnionTypeRecord -//line mysql_sql.y:6135 +//line mysql_sql.y:6142 { yyLOCAL = &tree.UnionTypeRecord{ Type: tree.UNION, @@ -19088,10 +19137,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 923: + case 924: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.UnionTypeRecord -//line mysql_sql.y:6144 +//line mysql_sql.y:6151 { yyLOCAL = &tree.UnionTypeRecord{ Type: tree.EXCEPT, @@ -19100,10 +19149,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 924: + case 925: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.UnionTypeRecord -//line mysql_sql.y:6152 +//line mysql_sql.y:6159 { yyLOCAL = &tree.UnionTypeRecord{ Type: tree.EXCEPT, @@ -19112,10 +19161,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 925: + case 926: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.UnionTypeRecord -//line mysql_sql.y:6160 +//line mysql_sql.y:6167 { yyLOCAL = &tree.UnionTypeRecord{ Type: tree.EXCEPT, @@ -19124,10 +19173,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 926: + case 927: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.UnionTypeRecord -//line mysql_sql.y:6168 +//line mysql_sql.y:6175 { yyLOCAL = &tree.UnionTypeRecord{ Type: tree.INTERSECT, @@ -19136,10 +19185,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 927: + case 928: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.UnionTypeRecord -//line mysql_sql.y:6176 +//line mysql_sql.y:6183 { yyLOCAL = &tree.UnionTypeRecord{ Type: tree.INTERSECT, @@ -19148,10 +19197,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 928: + case 929: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.UnionTypeRecord -//line mysql_sql.y:6184 +//line mysql_sql.y:6191 { yyLOCAL = &tree.UnionTypeRecord{ Type: tree.INTERSECT, @@ -19160,10 +19209,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 929: + case 930: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.UnionTypeRecord -//line mysql_sql.y:6192 +//line mysql_sql.y:6199 { yyLOCAL = &tree.UnionTypeRecord{ Type: tree.UT_MINUS, @@ -19172,10 +19221,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 930: + case 931: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.UnionTypeRecord -//line mysql_sql.y:6200 +//line mysql_sql.y:6207 { yyLOCAL = &tree.UnionTypeRecord{ Type: tree.UT_MINUS, @@ -19184,10 +19233,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 931: + case 932: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.UnionTypeRecord -//line mysql_sql.y:6208 +//line mysql_sql.y:6215 { yyLOCAL = &tree.UnionTypeRecord{ Type: tree.UT_MINUS, @@ -19196,10 +19245,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 932: + case 933: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.SelectStatement -//line mysql_sql.y:6218 +//line mysql_sql.y:6225 { yyLOCAL = &tree.SelectClause{ Distinct: tree.QuerySpecOptionDistinct&yyDollar[2].selectOptionsUnion() != 0, @@ -19212,146 +19261,146 @@ yydefault: } } yyVAL.union = yyLOCAL - case 933: + case 934: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL uint64 -//line mysql_sql.y:6232 +//line mysql_sql.y:6239 { yyLOCAL = tree.QuerySpecOptionNone } yyVAL.union = yyLOCAL - case 934: + case 935: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL uint64 -//line mysql_sql.y:6236 +//line mysql_sql.y:6243 { yyLOCAL = yyDollar[1].selectOptionsUnion() } yyVAL.union = yyLOCAL - case 935: + case 936: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL uint64 -//line mysql_sql.y:6242 +//line mysql_sql.y:6249 { yyLOCAL = yyDollar[1].selectOptionUnion() } yyVAL.union = yyLOCAL - case 936: + case 937: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL uint64 -//line mysql_sql.y:6246 +//line mysql_sql.y:6253 { yyLOCAL = yyDollar[1].selectOptionsUnion() | yyDollar[2].selectOptionUnion() } yyVAL.union = yyLOCAL - case 937: + case 938: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL uint64 -//line mysql_sql.y:6252 +//line mysql_sql.y:6259 { yyLOCAL = tree.QuerySpecOptionSqlSmallResult } yyVAL.union = yyLOCAL - case 938: + case 939: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL uint64 -//line mysql_sql.y:6256 +//line mysql_sql.y:6263 { yyLOCAL = tree.QuerySpecOptionSqlBigResult } yyVAL.union = yyLOCAL - case 939: + case 940: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL uint64 -//line mysql_sql.y:6260 +//line mysql_sql.y:6267 { yyLOCAL = tree.QuerySpecOptionSqlBufferResult } yyVAL.union = yyLOCAL - case 940: + case 941: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL uint64 -//line mysql_sql.y:6264 +//line mysql_sql.y:6271 { yyLOCAL = tree.QuerySpecOptionStraightJoin } yyVAL.union = yyLOCAL - case 941: + case 942: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL uint64 -//line mysql_sql.y:6268 +//line mysql_sql.y:6275 { yyLOCAL = tree.QuerySpecOptionHighPriority } yyVAL.union = yyLOCAL - case 942: + case 943: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL uint64 -//line mysql_sql.y:6272 +//line mysql_sql.y:6279 { yyLOCAL = tree.QuerySpecOptionSqlCalcFoundRows } yyVAL.union = yyLOCAL - case 943: + case 944: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL uint64 -//line mysql_sql.y:6276 +//line mysql_sql.y:6283 { yyLOCAL = tree.QuerySpecOptionSqlNoCache } yyVAL.union = yyLOCAL - case 944: + case 945: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL uint64 -//line mysql_sql.y:6280 +//line mysql_sql.y:6287 { yyLOCAL = tree.QuerySpecOptionAll } yyVAL.union = yyLOCAL - case 945: + case 946: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL uint64 -//line mysql_sql.y:6284 +//line mysql_sql.y:6291 { yyLOCAL = tree.QuerySpecOptionDistinct } yyVAL.union = yyLOCAL - case 946: + case 947: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL uint64 -//line mysql_sql.y:6288 +//line mysql_sql.y:6295 { yyLOCAL = tree.QuerySpecOptionDistinctRow } yyVAL.union = yyLOCAL - case 947: + case 948: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.Where -//line mysql_sql.y:6310 +//line mysql_sql.y:6317 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 948: + case 949: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.Where -//line mysql_sql.y:6314 +//line mysql_sql.y:6321 { yyLOCAL = &tree.Where{Type: tree.AstHaving, Expr: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 949: + case 950: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.GroupByClause -//line mysql_sql.y:6319 +//line mysql_sql.y:6326 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 950: + case 951: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.GroupByClause -//line mysql_sql.y:6323 +//line mysql_sql.y:6330 { exprsList := []tree.Exprs{yyDollar[3].exprsUnion()} yyLOCAL = &tree.GroupByClause{ @@ -19362,10 +19411,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 951: + case 952: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *tree.GroupByClause -//line mysql_sql.y:6333 +//line mysql_sql.y:6340 { yyLOCAL = &tree.GroupByClause{ GroupByExprsList: yyDollar[6].rowsExprsUnion(), @@ -19375,10 +19424,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 952: + case 953: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.GroupByClause -//line mysql_sql.y:6342 +//line mysql_sql.y:6349 { yyLOCAL = &tree.GroupByClause{ GroupByExprsList: []tree.Exprs{yyDollar[5].exprsUnion()}, @@ -19388,10 +19437,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 953: + case 954: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.GroupByClause -//line mysql_sql.y:6351 +//line mysql_sql.y:6358 { yyLOCAL = &tree.GroupByClause{ GroupByExprsList: []tree.Exprs{yyDollar[5].exprsUnion()}, @@ -19401,106 +19450,106 @@ yydefault: } } yyVAL.union = yyLOCAL - case 954: + case 955: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []tree.Exprs -//line mysql_sql.y:6362 +//line mysql_sql.y:6369 { yyLOCAL = []tree.Exprs{yyDollar[2].exprsUnion()} } yyVAL.union = yyLOCAL - case 955: + case 956: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL []tree.Exprs -//line mysql_sql.y:6366 +//line mysql_sql.y:6373 { yyLOCAL = append(yyDollar[1].rowsExprsUnion(), yyDollar[4].exprsUnion()) } yyVAL.union = yyLOCAL - case 956: + case 957: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:6372 +//line mysql_sql.y:6379 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 957: + case 958: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:6376 +//line mysql_sql.y:6383 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 958: + case 959: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.Where -//line mysql_sql.y:6381 +//line mysql_sql.y:6388 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 959: + case 960: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.Where -//line mysql_sql.y:6385 +//line mysql_sql.y:6392 { yyLOCAL = &tree.Where{Type: tree.AstWhere, Expr: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 960: + case 961: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.SelectExprs -//line mysql_sql.y:6391 +//line mysql_sql.y:6398 { yyLOCAL = tree.SelectExprs{yyDollar[1].selectExprUnion()} } yyVAL.union = yyLOCAL - case 961: + case 962: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.SelectExprs -//line mysql_sql.y:6395 +//line mysql_sql.y:6402 { yyLOCAL = append(yyDollar[1].selectExprsUnion(), yyDollar[3].selectExprUnion()) } yyVAL.union = yyLOCAL - case 962: + case 963: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.SelectExpr -//line mysql_sql.y:6401 +//line mysql_sql.y:6408 { yyLOCAL = tree.SelectExpr{Expr: tree.StarExpr()} } yyVAL.union = yyLOCAL - case 963: + case 964: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.SelectExpr -//line mysql_sql.y:6405 +//line mysql_sql.y:6412 { yyLOCAL = tree.SelectExpr{Expr: yyDollar[1].exprUnion(), As: yyDollar[2].cstrUnion()} } yyVAL.union = yyLOCAL - case 964: + case 965: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.SelectExpr -//line mysql_sql.y:6409 +//line mysql_sql.y:6416 { yyLOCAL = tree.SelectExpr{Expr: tree.NewUnresolvedNameWithStar(yyDollar[1].cstrUnion())} } yyVAL.union = yyLOCAL - case 965: + case 966: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.SelectExpr -//line mysql_sql.y:6413 +//line mysql_sql.y:6420 { yyLOCAL = tree.SelectExpr{Expr: tree.NewUnresolvedNameWithStar(yyDollar[1].cstrUnion(), yyDollar[3].cstrUnion())} } yyVAL.union = yyLOCAL - case 966: + case 967: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.From -//line mysql_sql.y:6418 +//line mysql_sql.y:6425 { prefix := tree.ObjectNamePrefix{ExplicitSchema: false} tn := tree.NewTableName(tree.Identifier(""), prefix, nil) @@ -19509,28 +19558,28 @@ yydefault: } } yyVAL.union = yyLOCAL - case 967: + case 968: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.From -//line mysql_sql.y:6426 +//line mysql_sql.y:6433 { yyLOCAL = yyDollar[1].fromUnion() } yyVAL.union = yyLOCAL - case 968: + case 969: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.From -//line mysql_sql.y:6432 +//line mysql_sql.y:6439 { yyLOCAL = &tree.From{ Tables: tree.TableExprs{yyDollar[2].tableExprUnion()}, } } yyVAL.union = yyLOCAL - case 969: + case 970: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableExpr -//line mysql_sql.y:6440 +//line mysql_sql.y:6447 { if t, ok := yyDollar[1].tableExprUnion().(*tree.JoinTableExpr); ok { yyLOCAL = t @@ -19541,34 +19590,34 @@ yydefault: } } yyVAL.union = yyLOCAL - case 970: + case 971: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableExpr -//line mysql_sql.y:6450 +//line mysql_sql.y:6457 { yyLOCAL = &tree.JoinTableExpr{Left: yyDollar[1].tableExprUnion(), Right: yyDollar[3].tableExprUnion(), JoinType: tree.JOIN_TYPE_CROSS} } yyVAL.union = yyLOCAL - case 973: + case 974: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableExpr -//line mysql_sql.y:6460 +//line mysql_sql.y:6467 { yyLOCAL = yyDollar[1].joinTableExprUnion() } yyVAL.union = yyLOCAL - case 974: + case 975: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableExpr -//line mysql_sql.y:6464 +//line mysql_sql.y:6471 { yyLOCAL = yyDollar[1].applyTableExprUnion() } yyVAL.union = yyLOCAL - case 975: + case 976: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.JoinTableExpr -//line mysql_sql.y:6470 +//line mysql_sql.y:6477 { if strings.Contains(yyDollar[2].str, ":") { ss := strings.SplitN(yyDollar[2].str, ":", 2) @@ -19589,10 +19638,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 976: + case 977: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.JoinTableExpr -//line mysql_sql.y:6490 +//line mysql_sql.y:6497 { yyLOCAL = &tree.JoinTableExpr{ Left: yyDollar[1].tableExprUnion(), @@ -19602,10 +19651,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 977: + case 978: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.JoinTableExpr -//line mysql_sql.y:6499 +//line mysql_sql.y:6506 { yyLOCAL = &tree.JoinTableExpr{ Left: yyDollar[1].tableExprUnion(), @@ -19615,10 +19664,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 978: + case 979: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.JoinTableExpr -//line mysql_sql.y:6508 +//line mysql_sql.y:6515 { yyLOCAL = &tree.JoinTableExpr{ Left: yyDollar[1].tableExprUnion(), @@ -19627,10 +19676,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 979: + case 980: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.JoinTableExpr -//line mysql_sql.y:6516 +//line mysql_sql.y:6523 { yyLOCAL = &tree.JoinTableExpr{ Left: yyDollar[1].tableExprUnion(), @@ -19640,10 +19689,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 980: + case 981: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.ApplyTableExpr -//line mysql_sql.y:6527 +//line mysql_sql.y:6534 { yyLOCAL = &tree.ApplyTableExpr{ Left: yyDollar[1].tableExprUnion(), @@ -19652,27 +19701,27 @@ yydefault: } } yyVAL.union = yyLOCAL - case 981: + case 982: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:6537 +//line mysql_sql.y:6544 { yyVAL.str = tree.APPLY_TYPE_CROSS } - case 982: + case 983: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:6541 +//line mysql_sql.y:6548 { yyVAL.str = tree.APPLY_TYPE_OUTER } - case 983: + case 984: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:6547 +//line mysql_sql.y:6554 { yyVAL.str = tree.JOIN_TYPE_NATURAL } - case 984: + case 985: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:6551 +//line mysql_sql.y:6558 { switch yyDollar[2].str { case tree.JOIN_TYPE_LEFT: @@ -19683,52 +19732,52 @@ yydefault: yyVAL.str = tree.JOIN_TYPE_NATURAL_FULL } } - case 985: + case 986: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:6564 +//line mysql_sql.y:6571 { yyVAL.str = tree.JOIN_TYPE_LEFT } - case 986: + case 987: yyDollar = yyS[yypt-3 : yypt+1] -//line mysql_sql.y:6568 +//line mysql_sql.y:6575 { yyVAL.str = tree.JOIN_TYPE_LEFT } - case 987: + case 988: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:6572 +//line mysql_sql.y:6579 { yyVAL.str = tree.JOIN_TYPE_RIGHT } - case 988: + case 989: yyDollar = yyS[yypt-3 : yypt+1] -//line mysql_sql.y:6576 +//line mysql_sql.y:6583 { yyVAL.str = tree.JOIN_TYPE_RIGHT } - case 989: + case 990: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:6580 +//line mysql_sql.y:6587 { yyVAL.str = tree.JOIN_TYPE_FULL } - case 990: + case 991: yyDollar = yyS[yypt-3 : yypt+1] -//line mysql_sql.y:6584 +//line mysql_sql.y:6591 { yyVAL.str = tree.JOIN_TYPE_FULL } - case 991: + case 992: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:6590 +//line mysql_sql.y:6597 { yyVAL.str = tree.JOIN_TYPE_DEDUP } - case 992: + case 993: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:6596 +//line mysql_sql.y:6603 { yyLOCAL = &tree.ValuesStatement{ Rows: yyDollar[2].rowsExprsUnion(), @@ -19737,148 +19786,148 @@ yydefault: } } yyVAL.union = yyLOCAL - case 993: + case 994: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.Exprs -//line mysql_sql.y:6606 +//line mysql_sql.y:6613 { yyLOCAL = []tree.Exprs{yyDollar[1].exprsUnion()} } yyVAL.union = yyLOCAL - case 994: + case 995: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []tree.Exprs -//line mysql_sql.y:6610 +//line mysql_sql.y:6617 { yyLOCAL = append(yyDollar[1].rowsExprsUnion(), yyDollar[3].exprsUnion()) } yyVAL.union = yyLOCAL - case 995: + case 996: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:6616 +//line mysql_sql.y:6623 { yyLOCAL = yyDollar[3].exprsUnion() } yyVAL.union = yyLOCAL - case 996: + case 997: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.JoinCond -//line mysql_sql.y:6622 +//line mysql_sql.y:6629 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 997: + case 998: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.JoinCond -//line mysql_sql.y:6626 +//line mysql_sql.y:6633 { yyLOCAL = &tree.OnJoinCond{Expr: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 998: + case 999: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:6632 +//line mysql_sql.y:6639 { yyVAL.str = yyDollar[1].str } - case 999: + case 1000: yyDollar = yyS[yypt-3 : yypt+1] -//line mysql_sql.y:6638 +//line mysql_sql.y:6645 { yyVAL.str = yyDollar[2].str } - case 1000: + case 1001: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:6644 +//line mysql_sql.y:6651 { yyVAL.str = tree.JOIN_TYPE_STRAIGHT } - case 1001: + case 1002: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:6650 +//line mysql_sql.y:6657 { yyVAL.str = tree.JOIN_TYPE_INNER } - case 1002: + case 1003: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:6654 +//line mysql_sql.y:6661 { yyVAL.str = tree.JOIN_TYPE_INNER } - case 1003: + case 1004: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:6658 +//line mysql_sql.y:6665 { yyVAL.str = tree.JOIN_TYPE_CROSS } - case 1004: + case 1005: yyDollar = yyS[yypt-3 : yypt+1] -//line mysql_sql.y:6662 +//line mysql_sql.y:6669 { yyVAL.str = tree.JOIN_TYPE_CENTROIDX + ":" + yyDollar[2].str } - case 1005: + case 1006: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.JoinCond -//line mysql_sql.y:6668 +//line mysql_sql.y:6675 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1006: + case 1007: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.JoinCond -//line mysql_sql.y:6672 +//line mysql_sql.y:6679 { yyLOCAL = yyDollar[1].joinCondUnion() } yyVAL.union = yyLOCAL - case 1007: + case 1008: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.JoinCond -//line mysql_sql.y:6678 +//line mysql_sql.y:6685 { yyLOCAL = &tree.OnJoinCond{Expr: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1008: + case 1009: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.JoinCond -//line mysql_sql.y:6682 +//line mysql_sql.y:6689 { yyLOCAL = &tree.UsingJoinCond{Cols: yyDollar[3].identifierListUnion()} } yyVAL.union = yyLOCAL - case 1009: + case 1010: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:6688 +//line mysql_sql.y:6695 { yyLOCAL = tree.IdentifierList{tree.Identifier(yyDollar[1].cstrUnion().Compare())} } yyVAL.union = yyLOCAL - case 1010: + case 1011: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:6692 +//line mysql_sql.y:6699 { yyLOCAL = append(yyDollar[1].identifierListUnion(), tree.Identifier(yyDollar[3].cstrUnion().Compare())) } yyVAL.union = yyLOCAL - case 1011: + case 1012: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableExpr -//line mysql_sql.y:6698 +//line mysql_sql.y:6705 { yyLOCAL = yyDollar[1].aliasedTableExprUnion() } yyVAL.union = yyLOCAL - case 1012: + case 1013: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableExpr -//line mysql_sql.y:6702 +//line mysql_sql.y:6709 { yyLOCAL = &tree.AliasedTableExpr{ Expr: yyDollar[1].parenTableExprUnion(), @@ -19889,10 +19938,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1013: + case 1014: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.TableExpr -//line mysql_sql.y:6712 +//line mysql_sql.y:6719 { if yyDollar[2].str != "" { yyLOCAL = &tree.AliasedTableExpr{ @@ -19906,26 +19955,26 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1014: + case 1015: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableExpr -//line mysql_sql.y:6725 +//line mysql_sql.y:6732 { yyLOCAL = yyDollar[2].tableExprUnion() } yyVAL.union = yyLOCAL - case 1015: + case 1016: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.ParenTableExpr -//line mysql_sql.y:6731 +//line mysql_sql.y:6738 { yyLOCAL = &tree.ParenTableExpr{Expr: yyDollar[1].selectStatementUnion().(*tree.ParenSelect).Select} } yyVAL.union = yyLOCAL - case 1016: + case 1017: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.TableExpr -//line mysql_sql.y:6737 +//line mysql_sql.y:6744 { name := tree.NewUnresolvedName(yyDollar[1].cstrUnion()) yyLOCAL = &tree.TableFunction{ @@ -19938,10 +19987,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1017: + case 1018: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.AliasedTableExpr -//line mysql_sql.y:6751 +//line mysql_sql.y:6758 { yyLOCAL = &tree.AliasedTableExpr{ Expr: yyDollar[1].tableNameUnion(), @@ -19952,34 +20001,34 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1018: + case 1019: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*tree.IndexHint -//line mysql_sql.y:6762 +//line mysql_sql.y:6769 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1020: + case 1021: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.IndexHint -//line mysql_sql.y:6769 +//line mysql_sql.y:6776 { yyLOCAL = []*tree.IndexHint{yyDollar[1].indexHintUnion()} } yyVAL.union = yyLOCAL - case 1021: + case 1022: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []*tree.IndexHint -//line mysql_sql.y:6773 +//line mysql_sql.y:6780 { yyLOCAL = append(yyDollar[1].indexHintListUnion(), yyDollar[2].indexHintUnion()) } yyVAL.union = yyLOCAL - case 1022: + case 1023: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.IndexHint -//line mysql_sql.y:6779 +//line mysql_sql.y:6786 { yyLOCAL = &tree.IndexHint{ IndexNames: yyDollar[4].strsUnion(), @@ -19988,182 +20037,182 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1023: + case 1024: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.IndexHintType -//line mysql_sql.y:6789 +//line mysql_sql.y:6796 { yyLOCAL = tree.HintUse } yyVAL.union = yyLOCAL - case 1024: + case 1025: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.IndexHintType -//line mysql_sql.y:6793 +//line mysql_sql.y:6800 { yyLOCAL = tree.HintIgnore } yyVAL.union = yyLOCAL - case 1025: + case 1026: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.IndexHintType -//line mysql_sql.y:6797 +//line mysql_sql.y:6804 { yyLOCAL = tree.HintForce } yyVAL.union = yyLOCAL - case 1026: + case 1027: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.IndexHintScope -//line mysql_sql.y:6802 +//line mysql_sql.y:6809 { yyLOCAL = tree.HintForScan } yyVAL.union = yyLOCAL - case 1027: + case 1028: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.IndexHintScope -//line mysql_sql.y:6806 +//line mysql_sql.y:6813 { yyLOCAL = tree.HintForJoin } yyVAL.union = yyLOCAL - case 1028: + case 1029: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.IndexHintScope -//line mysql_sql.y:6810 +//line mysql_sql.y:6817 { yyLOCAL = tree.HintForOrderBy } yyVAL.union = yyLOCAL - case 1029: + case 1030: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.IndexHintScope -//line mysql_sql.y:6814 +//line mysql_sql.y:6821 { yyLOCAL = tree.HintForGroupBy } yyVAL.union = yyLOCAL - case 1030: + case 1031: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:6819 +//line mysql_sql.y:6826 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1031: + case 1032: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:6823 +//line mysql_sql.y:6830 { yyLOCAL = []string{yyDollar[1].cstrUnion().Compare()} } yyVAL.union = yyLOCAL - case 1032: + case 1033: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:6827 +//line mysql_sql.y:6834 { yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].cstrUnion().Compare()) } yyVAL.union = yyLOCAL - case 1033: + case 1034: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:6831 +//line mysql_sql.y:6838 { yyLOCAL = []string{yyDollar[1].str} } yyVAL.union = yyLOCAL - case 1034: + case 1035: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:6835 +//line mysql_sql.y:6842 { yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1035: + case 1036: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:6840 +//line mysql_sql.y:6847 { yyVAL.str = "" } - case 1036: + case 1037: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:6844 +//line mysql_sql.y:6851 { yyVAL.str = yyDollar[1].str } - case 1037: + case 1038: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:6848 +//line mysql_sql.y:6855 { yyVAL.str = yyDollar[2].str } - case 1038: + case 1039: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:6854 +//line mysql_sql.y:6861 { yyVAL.str = yylex.(*Lexer).GetDbOrTblName(yyDollar[1].cstrUnion().Origin()) } - case 1039: + case 1040: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:6858 +//line mysql_sql.y:6865 { yyVAL.str = yylex.(*Lexer).GetDbOrTblName(yyDollar[1].str) } - case 1040: + case 1041: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.CStr -//line mysql_sql.y:6863 +//line mysql_sql.y:6870 { yyLOCAL = tree.NewCStr("", 1) } yyVAL.union = yyLOCAL - case 1041: + case 1042: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.CStr -//line mysql_sql.y:6867 +//line mysql_sql.y:6874 { yyLOCAL = yyDollar[1].cstrUnion() } yyVAL.union = yyLOCAL - case 1042: + case 1043: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.CStr -//line mysql_sql.y:6871 +//line mysql_sql.y:6878 { yyLOCAL = yyDollar[2].cstrUnion() } yyVAL.union = yyLOCAL - case 1043: + case 1044: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.CStr -//line mysql_sql.y:6875 +//line mysql_sql.y:6882 { yyLOCAL = tree.NewCStr(yyDollar[1].str, 1) } yyVAL.union = yyLOCAL - case 1044: + case 1045: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.CStr -//line mysql_sql.y:6879 +//line mysql_sql.y:6886 { yyLOCAL = tree.NewCStr(yyDollar[2].str, 1) } yyVAL.union = yyLOCAL - case 1045: + case 1046: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:6885 +//line mysql_sql.y:6892 { yyVAL.str = yyDollar[1].cstrUnion().Compare() } - case 1069: + case 1070: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:6928 +//line mysql_sql.y:6935 { cronExpr := "" timezone := "" @@ -20183,18 +20232,18 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1070: + case 1071: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.SQLTaskSchedule -//line mysql_sql.y:6948 +//line mysql_sql.y:6955 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1071: + case 1072: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.SQLTaskSchedule -//line mysql_sql.y:6952 +//line mysql_sql.y:6959 { yyLOCAL = &tree.SQLTaskSchedule{ CronExpr: yyDollar[2].str, @@ -20202,82 +20251,82 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1072: + case 1073: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:6960 +//line mysql_sql.y:6967 { yyVAL.str = "" } - case 1073: + case 1074: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:6964 +//line mysql_sql.y:6971 { yyVAL.str = yyDollar[2].str } - case 1074: + case 1075: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6969 +//line mysql_sql.y:6976 { yyLOCAL = tree.Expr(nil) } yyVAL.union = yyLOCAL - case 1075: + case 1076: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6973 +//line mysql_sql.y:6980 { yyLOCAL = yyDollar[3].exprUnion() } yyVAL.union = yyLOCAL - case 1076: + case 1077: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6979 +//line mysql_sql.y:6986 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1077: + case 1078: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6983 +//line mysql_sql.y:6990 { yyLOCAL = tree.NewSubquery(yyDollar[1].selectUnion(), false) } yyVAL.union = yyLOCAL - case 1078: + case 1079: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:6988 +//line mysql_sql.y:6995 { yyLOCAL = 0 } yyVAL.union = yyLOCAL - case 1079: + case 1080: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:6992 +//line mysql_sql.y:6999 { yyLOCAL = sqlTaskInt64(yyDollar[2].item) } yyVAL.union = yyLOCAL - case 1080: + case 1081: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:6997 +//line mysql_sql.y:7004 { yyVAL.str = "" } - case 1081: + case 1082: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:7001 +//line mysql_sql.y:7008 { yyVAL.str = yyDollar[2].str } - case 1082: + case 1083: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:7007 +//line mysql_sql.y:7014 { var Language = yyDollar[3].str var Name = tree.Identifier(yyDollar[5].str) @@ -20289,135 +20338,135 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1083: + case 1084: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:7020 +//line mysql_sql.y:7027 { yyVAL.str = yyDollar[1].cstrUnion().Compare() } - case 1084: + case 1085: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:7026 +//line mysql_sql.y:7033 { yyVAL.str = yyDollar[1].cstrUnion().Compare() } - case 1085: + case 1086: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:7032 +//line mysql_sql.y:7039 { yyLOCAL = tree.NewCreateProcedure( yyDollar[2].sourceOptionalUnion(), yyDollar[4].procNameUnion(), yyDollar[6].procArgsUnion(), yyDollar[8].str, yyDollar[9].str, ) } yyVAL.union = yyLOCAL - case 1086: + case 1087: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.ProcedureName -//line mysql_sql.y:7040 +//line mysql_sql.y:7047 { prefix := tree.ObjectNamePrefix{ExplicitSchema: false} yyLOCAL = tree.NewProcedureName(tree.Identifier(yyDollar[1].cstrUnion().Compare()), prefix) } yyVAL.union = yyLOCAL - case 1087: + case 1088: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.ProcedureName -//line mysql_sql.y:7045 +//line mysql_sql.y:7052 { dbName := yylex.(*Lexer).GetDbOrTblName(yyDollar[1].cstrUnion().Origin()) prefix := tree.ObjectNamePrefix{SchemaName: tree.Identifier(dbName), ExplicitSchema: true} yyLOCAL = tree.NewProcedureName(tree.Identifier(yyDollar[3].cstrUnion().Compare()), prefix) } yyVAL.union = yyLOCAL - case 1088: + case 1089: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.ProcedureArgs -//line mysql_sql.y:7052 +//line mysql_sql.y:7059 { yyLOCAL = tree.ProcedureArgs(nil) } yyVAL.union = yyLOCAL - case 1090: + case 1091: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ProcedureArgs -//line mysql_sql.y:7059 +//line mysql_sql.y:7066 { yyLOCAL = tree.ProcedureArgs{yyDollar[1].procArgUnion()} } yyVAL.union = yyLOCAL - case 1091: + case 1092: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.ProcedureArgs -//line mysql_sql.y:7063 +//line mysql_sql.y:7070 { yyLOCAL = append(yyDollar[1].procArgsUnion(), yyDollar[3].procArgUnion()) } yyVAL.union = yyLOCAL - case 1092: + case 1093: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ProcedureArg -//line mysql_sql.y:7069 +//line mysql_sql.y:7076 { yyLOCAL = tree.ProcedureArg(yyDollar[1].procArgDeclUnion()) } yyVAL.union = yyLOCAL - case 1093: + case 1094: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.ProcedureArgDecl -//line mysql_sql.y:7075 +//line mysql_sql.y:7082 { yyLOCAL = tree.NewProcedureArgDecl(yyDollar[1].procArgTypeUnion(), yyDollar[2].unresolvedNameUnion(), yyDollar[3].columnTypeUnion()) } yyVAL.union = yyLOCAL - case 1094: + case 1095: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.InOutArgType -//line mysql_sql.y:7080 +//line mysql_sql.y:7087 { yyLOCAL = tree.TYPE_IN } yyVAL.union = yyLOCAL - case 1095: + case 1096: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.InOutArgType -//line mysql_sql.y:7084 +//line mysql_sql.y:7091 { yyLOCAL = tree.TYPE_IN } yyVAL.union = yyLOCAL - case 1096: + case 1097: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.InOutArgType -//line mysql_sql.y:7088 +//line mysql_sql.y:7095 { yyLOCAL = tree.TYPE_OUT } yyVAL.union = yyLOCAL - case 1097: + case 1098: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.InOutArgType -//line mysql_sql.y:7092 +//line mysql_sql.y:7099 { yyLOCAL = tree.TYPE_INOUT } yyVAL.union = yyLOCAL - case 1098: + case 1099: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:7097 +//line mysql_sql.y:7104 { yyVAL.str = "sql" } - case 1099: + case 1100: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:7101 +//line mysql_sql.y:7108 { yyVAL.str = yyDollar[2].str } - case 1100: + case 1101: yyDollar = yyS[yypt-14 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:7107 +//line mysql_sql.y:7114 { if yyDollar[13].str == "" { yylex.Error("no function body error") @@ -20449,127 +20498,127 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1101: + case 1102: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.FunctionName -//line mysql_sql.y:7140 +//line mysql_sql.y:7147 { prefix := tree.ObjectNamePrefix{ExplicitSchema: false} yyLOCAL = tree.NewFuncName(tree.Identifier(yyDollar[1].cstrUnion().Compare()), prefix) } yyVAL.union = yyLOCAL - case 1102: + case 1103: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.FunctionName -//line mysql_sql.y:7145 +//line mysql_sql.y:7152 { dbName := yylex.(*Lexer).GetDbOrTblName(yyDollar[1].cstrUnion().Origin()) prefix := tree.ObjectNamePrefix{SchemaName: tree.Identifier(dbName), ExplicitSchema: true} yyLOCAL = tree.NewFuncName(tree.Identifier(yyDollar[3].cstrUnion().Compare()), prefix) } yyVAL.union = yyLOCAL - case 1103: + case 1104: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.FunctionArgs -//line mysql_sql.y:7152 +//line mysql_sql.y:7159 { yyLOCAL = tree.FunctionArgs(nil) } yyVAL.union = yyLOCAL - case 1105: + case 1106: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.FunctionArgs -//line mysql_sql.y:7159 +//line mysql_sql.y:7166 { yyLOCAL = tree.FunctionArgs{yyDollar[1].funcArgUnion()} } yyVAL.union = yyLOCAL - case 1106: + case 1107: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.FunctionArgs -//line mysql_sql.y:7163 +//line mysql_sql.y:7170 { yyLOCAL = append(yyDollar[1].funcArgsUnion(), yyDollar[3].funcArgUnion()) } yyVAL.union = yyLOCAL - case 1107: + case 1108: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.FunctionArg -//line mysql_sql.y:7169 +//line mysql_sql.y:7176 { yyLOCAL = tree.FunctionArg(yyDollar[1].funcArgDeclUnion()) } yyVAL.union = yyLOCAL - case 1108: + case 1109: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.FunctionArgDecl -//line mysql_sql.y:7175 +//line mysql_sql.y:7182 { yyLOCAL = tree.NewFunctionArgDecl(nil, yyDollar[1].columnTypeUnion(), nil) } yyVAL.union = yyLOCAL - case 1109: + case 1110: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FunctionArgDecl -//line mysql_sql.y:7179 +//line mysql_sql.y:7186 { yyLOCAL = tree.NewFunctionArgDecl(yyDollar[1].unresolvedNameUnion(), yyDollar[2].columnTypeUnion(), nil) } yyVAL.union = yyLOCAL - case 1110: + case 1111: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FunctionArgDecl -//line mysql_sql.y:7183 +//line mysql_sql.y:7190 { yyLOCAL = tree.NewFunctionArgDecl(yyDollar[1].unresolvedNameUnion(), yyDollar[2].columnTypeUnion(), yyDollar[4].exprUnion()) } yyVAL.union = yyLOCAL - case 1111: + case 1112: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:7189 +//line mysql_sql.y:7196 { yyVAL.str = yyDollar[1].cstrUnion().Compare() } - case 1112: + case 1113: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.ReturnType -//line mysql_sql.y:7195 +//line mysql_sql.y:7202 { yyLOCAL = tree.NewReturnType(yyDollar[1].columnTypeUnion()) } yyVAL.union = yyLOCAL - case 1113: + case 1114: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:7201 +//line mysql_sql.y:7208 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1114: + case 1115: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:7205 +//line mysql_sql.y:7212 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1115: + case 1116: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:7210 +//line mysql_sql.y:7217 { yyVAL.str = "" } - case 1117: + case 1118: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:7217 +//line mysql_sql.y:7224 { yyVAL.str = yyDollar[2].str } - case 1118: + case 1119: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:7223 +//line mysql_sql.y:7230 { var Replace bool var Name = yyDollar[5].tableNameUnion() @@ -20585,10 +20634,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1119: + case 1120: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:7238 +//line mysql_sql.y:7245 { var Replace = yyDollar[2].sourceOptionalUnion() var Name = yyDollar[5].tableNameUnion() @@ -20604,10 +20653,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1120: + case 1121: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:7255 +//line mysql_sql.y:7262 { var IfNotExists = yyDollar[3].ifNotExistsUnion() var Name = yyDollar[4].exprUnion() @@ -20623,10 +20672,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1121: + case 1122: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:7270 +//line mysql_sql.y:7277 { var FromUri = yyDollar[4].str var SubscriptionAccountName = yyDollar[5].cstrUnion().Compare() @@ -20644,81 +20693,81 @@ yydefault: yyLOCAL = cs } yyVAL.union = yyLOCAL - case 1122: + case 1123: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:7289 +//line mysql_sql.y:7296 { yyVAL.str = yyDollar[1].str } - case 1123: + case 1124: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:7293 +//line mysql_sql.y:7300 { yyVAL.str = yyVAL.str + yyDollar[2].str } - case 1124: + case 1125: yyDollar = yyS[yypt-3 : yypt+1] -//line mysql_sql.y:7299 +//line mysql_sql.y:7306 { yyVAL.str = "ALGORITHM = " + yyDollar[3].str } - case 1125: + case 1126: yyDollar = yyS[yypt-3 : yypt+1] -//line mysql_sql.y:7303 +//line mysql_sql.y:7310 { yyVAL.str = "DEFINER = " } - case 1126: + case 1127: yyDollar = yyS[yypt-3 : yypt+1] -//line mysql_sql.y:7307 +//line mysql_sql.y:7314 { yyVAL.str = "SQL SECURITY " + yyDollar[3].str } - case 1127: + case 1128: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:7312 +//line mysql_sql.y:7319 { yyVAL.str = "" } - case 1128: + case 1129: yyDollar = yyS[yypt-4 : yypt+1] -//line mysql_sql.y:7316 +//line mysql_sql.y:7323 { yyVAL.str = "WITH " + yyDollar[2].str + " CHECK OPTION" } - case 1134: + case 1135: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:7330 +//line mysql_sql.y:7337 { yyVAL.str = "" } - case 1137: + case 1138: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:7338 +//line mysql_sql.y:7345 { yyVAL.str = yyDollar[1].cstrUnion().Compare() } - case 1138: + case 1139: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:7344 +//line mysql_sql.y:7351 { var str = yyDollar[1].cstrUnion().Compare() yyLOCAL = tree.NewNumVal(str, str, false, tree.P_char) } yyVAL.union = yyLOCAL - case 1139: + case 1140: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:7349 +//line mysql_sql.y:7356 { yyLOCAL = tree.NewParamExpr(yylex.(*Lexer).GetParamIndex()) } yyVAL.union = yyLOCAL - case 1140: + case 1141: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.AccountAuthOption -//line mysql_sql.y:7355 +//line mysql_sql.y:7362 { var Equal = yyDollar[2].str var AdminName = yyDollar[3].exprUnion() @@ -20730,36 +20779,36 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1141: + case 1142: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:7368 +//line mysql_sql.y:7375 { var str = yyDollar[1].str yyLOCAL = tree.NewNumVal(str, str, false, tree.P_char) } yyVAL.union = yyLOCAL - case 1142: + case 1143: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:7373 +//line mysql_sql.y:7380 { var str = yyDollar[1].cstrUnion().Compare() yyLOCAL = tree.NewNumVal(str, str, false, tree.P_char) } yyVAL.union = yyLOCAL - case 1143: + case 1144: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:7378 +//line mysql_sql.y:7385 { yyLOCAL = tree.NewParamExpr(yylex.(*Lexer).GetParamIndex()) } yyVAL.union = yyLOCAL - case 1144: + case 1145: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.AccountIdentified -//line mysql_sql.y:7384 +//line mysql_sql.y:7391 { yyLOCAL = *tree.NewAccountIdentified( tree.AccountIdentifiedByPassword, @@ -20767,10 +20816,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1145: + case 1146: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.AccountIdentified -//line mysql_sql.y:7391 +//line mysql_sql.y:7398 { yyLOCAL = *tree.NewAccountIdentified( tree.AccountIdentifiedByPassword, @@ -20778,10 +20827,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1146: + case 1147: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.AccountIdentified -//line mysql_sql.y:7398 +//line mysql_sql.y:7405 { yyLOCAL = *tree.NewAccountIdentified( tree.AccountIdentifiedByRandomPassword, @@ -20789,10 +20838,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1147: + case 1148: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.AccountIdentified -//line mysql_sql.y:7405 +//line mysql_sql.y:7412 { yyLOCAL = *tree.NewAccountIdentified( tree.AccountIdentifiedWithSSL, @@ -20800,10 +20849,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1148: + case 1149: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.AccountIdentified -//line mysql_sql.y:7412 +//line mysql_sql.y:7419 { yyLOCAL = *tree.NewAccountIdentified( tree.AccountIdentifiedWithSSL, @@ -20811,20 +20860,20 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1149: + case 1150: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.AccountStatus -//line mysql_sql.y:7420 +//line mysql_sql.y:7427 { as := tree.NewAccountStatus() as.Exist = false yyLOCAL = *as } yyVAL.union = yyLOCAL - case 1150: + case 1151: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.AccountStatus -//line mysql_sql.y:7426 +//line mysql_sql.y:7433 { as := tree.NewAccountStatus() as.Exist = true @@ -20832,10 +20881,10 @@ yydefault: yyLOCAL = *as } yyVAL.union = yyLOCAL - case 1151: + case 1152: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.AccountStatus -//line mysql_sql.y:7433 +//line mysql_sql.y:7440 { as := tree.NewAccountStatus() as.Exist = true @@ -20843,10 +20892,10 @@ yydefault: yyLOCAL = *as } yyVAL.union = yyLOCAL - case 1152: + case 1153: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.AccountStatus -//line mysql_sql.y:7440 +//line mysql_sql.y:7447 { as := tree.NewAccountStatus() as.Exist = true @@ -20854,20 +20903,20 @@ yydefault: yyLOCAL = *as } yyVAL.union = yyLOCAL - case 1153: + case 1154: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.AccountComment -//line mysql_sql.y:7448 +//line mysql_sql.y:7455 { ac := tree.NewAccountComment() ac.Exist = false yyLOCAL = *ac } yyVAL.union = yyLOCAL - case 1154: + case 1155: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.AccountComment -//line mysql_sql.y:7454 +//line mysql_sql.y:7461 { ac := tree.NewAccountComment() ac.Exist = true @@ -20875,10 +20924,10 @@ yydefault: yyLOCAL = *ac } yyVAL.union = yyLOCAL - case 1155: + case 1156: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:7463 +//line mysql_sql.y:7470 { var IfNotExists = yyDollar[3].ifNotExistsUnion() var Users = yyDollar[4].usersUnion() @@ -20894,10 +20943,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1156: + case 1157: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:7480 +//line mysql_sql.y:7487 { var IfNotExists = yyDollar[3].ifNotExistsUnion() var Name = tree.Identifier(yyDollar[4].cstrUnion().Compare()) @@ -20914,10 +20963,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1157: + case 1158: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:7496 +//line mysql_sql.y:7503 { var IfNotExists = yyDollar[3].ifNotExistsUnion() var Name = tree.Identifier(yyDollar[4].cstrUnion().Compare()) @@ -20935,10 +20984,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1158: + case 1159: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:7513 +//line mysql_sql.y:7520 { var IfNotExists = yyDollar[3].ifNotExistsUnion() var Name = tree.Identifier(yyDollar[4].cstrUnion().Compare()) @@ -20955,30 +21004,30 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1159: + case 1160: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.AccountsSetOption -//line mysql_sql.y:7531 +//line mysql_sql.y:7538 { yyLOCAL = &tree.AccountsSetOption{ All: true, } } yyVAL.union = yyLOCAL - case 1160: + case 1161: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.AccountsSetOption -//line mysql_sql.y:7537 +//line mysql_sql.y:7544 { yyLOCAL = &tree.AccountsSetOption{ SetAccounts: yyDollar[2].identifierListUnion(), } } yyVAL.union = yyLOCAL - case 1161: + case 1162: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:7545 +//line mysql_sql.y:7552 { var IfNotExists = yyDollar[3].ifNotExistsUnion() var Name = tree.Identifier(yyDollar[4].cstrUnion().Compare()) @@ -20996,20 +21045,20 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1162: + case 1163: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.StageStatus -//line mysql_sql.y:7563 +//line mysql_sql.y:7570 { yyLOCAL = tree.StageStatus{ Exist: false, } } yyVAL.union = yyLOCAL - case 1163: + case 1164: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.StageStatus -//line mysql_sql.y:7569 +//line mysql_sql.y:7576 { yyLOCAL = tree.StageStatus{ Exist: true, @@ -21017,10 +21066,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1164: + case 1165: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.StageStatus -//line mysql_sql.y:7576 +//line mysql_sql.y:7583 { yyLOCAL = tree.StageStatus{ Exist: true, @@ -21028,20 +21077,20 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1165: + case 1166: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.StageComment -//line mysql_sql.y:7584 +//line mysql_sql.y:7591 { yyLOCAL = tree.StageComment{ Exist: false, } } yyVAL.union = yyLOCAL - case 1166: + case 1167: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.StageComment -//line mysql_sql.y:7590 +//line mysql_sql.y:7597 { yyLOCAL = tree.StageComment{ Exist: true, @@ -21049,18 +21098,18 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1167: + case 1168: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:7599 +//line mysql_sql.y:7606 { yyLOCAL = int64(0) } yyVAL.union = yyLOCAL - case 1168: + case 1169: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:7603 +//line mysql_sql.y:7610 { switch v := yyDollar[3].item.(type) { case int64: @@ -21072,20 +21121,20 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1169: + case 1170: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.StageUrl -//line mysql_sql.y:7615 +//line mysql_sql.y:7622 { yyLOCAL = tree.StageUrl{ Exist: false, } } yyVAL.union = yyLOCAL - case 1170: + case 1171: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.StageUrl -//line mysql_sql.y:7621 +//line mysql_sql.y:7628 { yyLOCAL = tree.StageUrl{ Exist: true, @@ -21093,20 +21142,20 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1171: + case 1172: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.StageCredentials -//line mysql_sql.y:7629 +//line mysql_sql.y:7636 { yyLOCAL = tree.StageCredentials{ Exist: false, } } yyVAL.union = yyLOCAL - case 1172: + case 1173: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.StageCredentials -//line mysql_sql.y:7635 +//line mysql_sql.y:7642 { yyLOCAL = tree.StageCredentials{ Exist: true, @@ -21114,61 +21163,61 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1173: + case 1174: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:7644 +//line mysql_sql.y:7651 { yyLOCAL = yyDollar[1].strsUnion() } yyVAL.union = yyLOCAL - case 1174: + case 1175: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:7648 +//line mysql_sql.y:7655 { yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].strsUnion()...) } yyVAL.union = yyLOCAL - case 1175: + case 1176: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:7653 +//line mysql_sql.y:7660 { yyLOCAL = []string{} } yyVAL.union = yyLOCAL - case 1176: + case 1177: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:7657 +//line mysql_sql.y:7664 { yyLOCAL = append(yyLOCAL, yyDollar[1].str) yyLOCAL = append(yyLOCAL, yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1177: + case 1178: yyDollar = yyS[yypt-3 : yypt+1] -//line mysql_sql.y:7664 +//line mysql_sql.y:7671 { yyVAL.str = yyDollar[3].str } - case 1178: + case 1179: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:7669 +//line mysql_sql.y:7676 { yyVAL.str = "" } - case 1179: + case 1180: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:7673 +//line mysql_sql.y:7680 { yyVAL.str = yyDollar[2].str } - case 1180: + case 1181: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:7679 +//line mysql_sql.y:7686 { var ifNotExists = yyDollar[3].boolValUnion() var name = tree.Identifier(yyDollar[4].cstrUnion().Compare()) @@ -21179,10 +21228,10 @@ yydefault: yyLOCAL = tree.NewAlterStage(ifNotExists, name, urlOption, credentialsOption, statusOption, comment) } yyVAL.union = yyLOCAL - case 1181: + case 1182: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:7691 +//line mysql_sql.y:7698 { var ifExists = yyDollar[3].boolValUnion() var name = tree.Identifier(yyDollar[4].cstrUnion().Compare()) @@ -21193,154 +21242,154 @@ yydefault: yyLOCAL = tree.NewAlterPublication(ifExists, name, accountsSet, dbName, table, comment) } yyVAL.union = yyLOCAL - case 1182: + case 1183: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.AccountsSetOption -//line mysql_sql.y:7702 +//line mysql_sql.y:7709 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1183: + case 1184: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.AccountsSetOption -//line mysql_sql.y:7706 +//line mysql_sql.y:7713 { yyLOCAL = &tree.AccountsSetOption{ All: true, } } yyVAL.union = yyLOCAL - case 1184: + case 1185: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.AccountsSetOption -//line mysql_sql.y:7712 +//line mysql_sql.y:7719 { yyLOCAL = &tree.AccountsSetOption{ SetAccounts: yyDollar[2].identifierListUnion(), } } yyVAL.union = yyLOCAL - case 1185: + case 1186: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.AccountsSetOption -//line mysql_sql.y:7718 +//line mysql_sql.y:7725 { yyLOCAL = &tree.AccountsSetOption{ AddAccounts: yyDollar[3].identifierListUnion(), } } yyVAL.union = yyLOCAL - case 1186: + case 1187: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.AccountsSetOption -//line mysql_sql.y:7724 +//line mysql_sql.y:7731 { yyLOCAL = &tree.AccountsSetOption{ DropAccounts: yyDollar[3].identifierListUnion(), } } yyVAL.union = yyLOCAL - case 1187: + case 1188: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:7731 +//line mysql_sql.y:7738 { yyVAL.str = "" } - case 1188: + case 1189: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:7735 +//line mysql_sql.y:7742 { yyVAL.str = yyDollar[2].str } - case 1189: + case 1190: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.TableNames -//line mysql_sql.y:7740 +//line mysql_sql.y:7747 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1190: + case 1191: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.TableNames -//line mysql_sql.y:7744 +//line mysql_sql.y:7751 { yyLOCAL = yyDollar[2].tableNamesUnion() } yyVAL.union = yyLOCAL - case 1191: + case 1192: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:7750 +//line mysql_sql.y:7757 { var ifExists = yyDollar[3].boolValUnion() var name = tree.Identifier(yyDollar[4].cstrUnion().Compare()) yyLOCAL = tree.NewDropPublication(ifExists, name) } yyVAL.union = yyLOCAL - case 1192: + case 1193: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:7758 +//line mysql_sql.y:7765 { var ifExists = yyDollar[4].boolValUnion() var taskID = yyDollar[5].str yyLOCAL = tree.NewDropCcprSubscription(ifExists, taskID) } yyVAL.union = yyLOCAL - case 1193: + case 1194: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:7766 +//line mysql_sql.y:7773 { var taskID = yyDollar[4].str yyLOCAL = tree.NewResumeCcprSubscription(taskID) } yyVAL.union = yyLOCAL - case 1194: + case 1195: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:7773 +//line mysql_sql.y:7780 { var taskID = yyDollar[4].str yyLOCAL = tree.NewPauseCcprSubscription(taskID) } yyVAL.union = yyLOCAL - case 1195: + case 1196: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:7780 +//line mysql_sql.y:7787 { var ifNotExists = yyDollar[3].boolValUnion() var name = tree.Identifier(yyDollar[4].cstrUnion().Compare()) yyLOCAL = tree.NewDropStage(ifNotExists, name) } yyVAL.union = yyLOCAL - case 1196: + case 1197: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:7788 +//line mysql_sql.y:7795 { var ifExists = yyDollar[5].boolValUnion() var path = yyDollar[6].str yyLOCAL = tree.NewRemoveStageFiles(ifExists, path) } yyVAL.union = yyLOCAL - case 1197: + case 1198: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:7796 +//line mysql_sql.y:7803 { var ifExists = yyDollar[3].boolValUnion() var name = tree.Identifier(yyDollar[4].cstrUnion().Compare()) yyLOCAL = tree.NewDropSnapShot(ifExists, name, "", "") } yyVAL.union = yyLOCAL - case 1198: + case 1199: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:7802 +//line mysql_sql.y:7809 { var ifExists = yyDollar[3].boolValUnion() var name = tree.Identifier(yyDollar[4].cstrUnion().Compare()) @@ -21349,10 +21398,10 @@ yydefault: yyLOCAL = tree.NewDropSnapShot(ifExists, name, accountName, pubName) } yyVAL.union = yyLOCAL - case 1199: + case 1200: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:7812 +//line mysql_sql.y:7819 { var ifExists = yyDollar[3].boolValUnion() var name = tree.Identifier(yyDollar[4].cstrUnion().Compare()) @@ -21364,16 +21413,16 @@ yydefault: } yyVAL.union = yyLOCAL - case 1200: + case 1201: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:7825 +//line mysql_sql.y:7832 { yyVAL.str = yyDollar[1].cstrUnion().Compare() } - case 1201: + case 1202: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.AccountCommentOrAttribute -//line mysql_sql.y:7830 +//line mysql_sql.y:7837 { var Exist = false var IsComment bool @@ -21386,10 +21435,10 @@ yydefault: } yyVAL.union = yyLOCAL - case 1202: + case 1203: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.AccountCommentOrAttribute -//line mysql_sql.y:7842 +//line mysql_sql.y:7849 { var Exist = true var IsComment = true @@ -21401,10 +21450,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1203: + case 1204: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.AccountCommentOrAttribute -//line mysql_sql.y:7853 +//line mysql_sql.y:7860 { var Exist = true var IsComment = false @@ -21416,26 +21465,26 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1204: + case 1205: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.User -//line mysql_sql.y:7961 +//line mysql_sql.y:7968 { yyLOCAL = []*tree.User{yyDollar[1].userUnion()} } yyVAL.union = yyLOCAL - case 1205: + case 1206: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.User -//line mysql_sql.y:7965 +//line mysql_sql.y:7972 { yyLOCAL = append(yyDollar[1].usersUnion(), yyDollar[3].userUnion()) } yyVAL.union = yyLOCAL - case 1206: + case 1207: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.User -//line mysql_sql.y:7971 +//line mysql_sql.y:7978 { var Username = yyDollar[1].usernameRecordUnion().Username var Hostname = yyDollar[1].usernameRecordUnion().Hostname @@ -21447,26 +21496,26 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1207: + case 1208: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.User -//line mysql_sql.y:7984 +//line mysql_sql.y:7991 { yyLOCAL = []*tree.User{yyDollar[1].userUnion()} } yyVAL.union = yyLOCAL - case 1208: + case 1209: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.User -//line mysql_sql.y:7988 +//line mysql_sql.y:7995 { yyLOCAL = append(yyDollar[1].usersUnion(), yyDollar[3].userUnion()) } yyVAL.union = yyLOCAL - case 1209: + case 1210: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.User -//line mysql_sql.y:7994 +//line mysql_sql.y:8001 { var Username = yyDollar[1].usernameRecordUnion().Username var Hostname = yyDollar[1].usernameRecordUnion().Hostname @@ -21478,50 +21527,50 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1210: + case 1211: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.UsernameRecord -//line mysql_sql.y:8007 +//line mysql_sql.y:8014 { yyLOCAL = &tree.UsernameRecord{Username: yyDollar[1].str, Hostname: "%"} } yyVAL.union = yyLOCAL - case 1211: + case 1212: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.UsernameRecord -//line mysql_sql.y:8011 +//line mysql_sql.y:8018 { yyLOCAL = &tree.UsernameRecord{Username: yyDollar[1].str, Hostname: yyDollar[3].str} } yyVAL.union = yyLOCAL - case 1212: + case 1213: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.UsernameRecord -//line mysql_sql.y:8015 +//line mysql_sql.y:8022 { yyLOCAL = &tree.UsernameRecord{Username: yyDollar[1].str, Hostname: yyDollar[2].str} } yyVAL.union = yyLOCAL - case 1213: + case 1214: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.AccountIdentified -//line mysql_sql.y:8020 +//line mysql_sql.y:8027 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1214: + case 1215: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.AccountIdentified -//line mysql_sql.y:8024 +//line mysql_sql.y:8031 { yyLOCAL = yyDollar[1].userIdentifiedUnion() } yyVAL.union = yyLOCAL - case 1215: + case 1216: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.AccountIdentified -//line mysql_sql.y:8030 +//line mysql_sql.y:8037 { yyLOCAL = &tree.AccountIdentified{ Typ: tree.AccountIdentifiedByPassword, @@ -21529,20 +21578,20 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1216: + case 1217: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.AccountIdentified -//line mysql_sql.y:8037 +//line mysql_sql.y:8044 { yyLOCAL = &tree.AccountIdentified{ Typ: tree.AccountIdentifiedByRandomPassword, } } yyVAL.union = yyLOCAL - case 1217: + case 1218: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.AccountIdentified -//line mysql_sql.y:8043 +//line mysql_sql.y:8050 { yyLOCAL = &tree.AccountIdentified{ Typ: tree.AccountIdentifiedWithSSL, @@ -21550,16 +21599,16 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1218: + case 1219: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:8052 +//line mysql_sql.y:8059 { yyVAL.str = yyDollar[1].cstrUnion().Compare() } - case 1220: + case 1221: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8059 +//line mysql_sql.y:8066 { var IfNotExists = yyDollar[3].ifNotExistsUnion() var Roles = yyDollar[4].rolesUnion() @@ -21569,26 +21618,26 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1221: + case 1222: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.Role -//line mysql_sql.y:8070 +//line mysql_sql.y:8077 { yyLOCAL = []*tree.Role{yyDollar[1].roleUnion()} } yyVAL.union = yyLOCAL - case 1222: + case 1223: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.Role -//line mysql_sql.y:8074 +//line mysql_sql.y:8081 { yyLOCAL = append(yyDollar[1].rolesUnion(), yyDollar[3].roleUnion()) } yyVAL.union = yyLOCAL - case 1223: + case 1224: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.Role -//line mysql_sql.y:8080 +//line mysql_sql.y:8087 { var UserName = yyDollar[1].cstrUnion().Compare() yyLOCAL = tree.NewRole( @@ -21596,106 +21645,106 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1224: + case 1225: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.CStr -//line mysql_sql.y:8089 +//line mysql_sql.y:8096 { yyLOCAL = tree.NewCStr(yyDollar[1].str, 1) } yyVAL.union = yyLOCAL - case 1225: + case 1226: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.CStr -//line mysql_sql.y:8093 +//line mysql_sql.y:8100 { yyLOCAL = tree.NewCStr(yyDollar[1].str, 1) } yyVAL.union = yyLOCAL - case 1226: + case 1227: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.CStr -//line mysql_sql.y:8097 +//line mysql_sql.y:8104 { yyLOCAL = tree.NewCStr(yyDollar[1].str, 1) } yyVAL.union = yyLOCAL - case 1227: + case 1228: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.CStr -//line mysql_sql.y:8101 +//line mysql_sql.y:8108 { yyLOCAL = tree.NewCStr("lag", 1) } yyVAL.union = yyLOCAL - case 1228: + case 1229: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.CStr -//line mysql_sql.y:8105 +//line mysql_sql.y:8112 { yyLOCAL = tree.NewCStr("lead", 1) } yyVAL.union = yyLOCAL - case 1229: + case 1230: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.CStr -//line mysql_sql.y:8109 +//line mysql_sql.y:8116 { yyLOCAL = tree.NewCStr("first_value", 1) } yyVAL.union = yyLOCAL - case 1230: + case 1231: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.CStr -//line mysql_sql.y:8113 +//line mysql_sql.y:8120 { yyLOCAL = tree.NewCStr("last_value", 1) } yyVAL.union = yyLOCAL - case 1231: + case 1232: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.CStr -//line mysql_sql.y:8117 +//line mysql_sql.y:8124 { yyLOCAL = tree.NewCStr("nth_value", 1) } yyVAL.union = yyLOCAL - case 1232: + case 1233: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.IndexCategory -//line mysql_sql.y:8122 +//line mysql_sql.y:8129 { yyLOCAL = tree.INDEX_CATEGORY_NONE } yyVAL.union = yyLOCAL - case 1233: + case 1234: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.IndexCategory -//line mysql_sql.y:8126 +//line mysql_sql.y:8133 { yyLOCAL = tree.INDEX_CATEGORY_FULLTEXT } yyVAL.union = yyLOCAL - case 1234: + case 1235: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.IndexCategory -//line mysql_sql.y:8130 +//line mysql_sql.y:8137 { yyLOCAL = tree.INDEX_CATEGORY_SPATIAL } yyVAL.union = yyLOCAL - case 1235: + case 1236: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.IndexCategory -//line mysql_sql.y:8134 +//line mysql_sql.y:8141 { yyLOCAL = tree.INDEX_CATEGORY_UNIQUE } yyVAL.union = yyLOCAL - case 1236: + case 1237: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8140 +//line mysql_sql.y:8147 { var io *tree.IndexOption = nil if yyDollar[11].indexOptionUnion() == nil && yyDollar[5].indexTypeUnion() != tree.INDEX_TYPE_INVALID { @@ -21726,18 +21775,18 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1237: + case 1238: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.IndexOption -//line mysql_sql.y:8171 +//line mysql_sql.y:8178 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1238: + case 1239: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.IndexOption -//line mysql_sql.y:8175 +//line mysql_sql.y:8182 { // Merge the options if yyDollar[1].indexOptionUnion() == nil { @@ -21778,20 +21827,20 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1239: + case 1240: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.IndexOption -//line mysql_sql.y:8217 +//line mysql_sql.y:8224 { io := tree.NewIndexOption() io.KeyBlockSize = uint64(yyDollar[3].item.(int64)) yyLOCAL = io } yyVAL.union = yyLOCAL - case 1240: + case 1241: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.IndexOption -//line mysql_sql.y:8223 +//line mysql_sql.y:8230 { val := int64(yyDollar[3].item.(int64)) if val <= 0 { @@ -21804,60 +21853,60 @@ yydefault: yyLOCAL = io } yyVAL.union = yyLOCAL - case 1241: + case 1242: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.IndexOption -//line mysql_sql.y:8235 +//line mysql_sql.y:8242 { io := tree.NewIndexOption() io.AlgoParamVectorOpType = yyDollar[2].str yyLOCAL = io } yyVAL.union = yyLOCAL - case 1242: + case 1243: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.IndexOption -//line mysql_sql.y:8241 +//line mysql_sql.y:8248 { io := tree.NewIndexOption() io.Comment = yyDollar[2].str yyLOCAL = io } yyVAL.union = yyLOCAL - case 1243: + case 1244: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.IndexOption -//line mysql_sql.y:8247 +//line mysql_sql.y:8254 { io := tree.NewIndexOption() io.ParserName = yyDollar[3].cstrUnion().Compare() yyLOCAL = io } yyVAL.union = yyLOCAL - case 1244: + case 1245: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.IndexOption -//line mysql_sql.y:8253 +//line mysql_sql.y:8260 { io := tree.NewIndexOption() io.Visible = tree.VISIBLE_TYPE_VISIBLE yyLOCAL = io } yyVAL.union = yyLOCAL - case 1245: + case 1246: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.IndexOption -//line mysql_sql.y:8259 +//line mysql_sql.y:8266 { io := tree.NewIndexOption() io.Visible = tree.VISIBLE_TYPE_INVISIBLE yyLOCAL = io } yyVAL.union = yyLOCAL - case 1246: + case 1247: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.IndexOption -//line mysql_sql.y:8265 +//line mysql_sql.y:8272 { val := int64(yyDollar[3].item.(int64)) if val <= 0 { @@ -21869,10 +21918,10 @@ yydefault: yyLOCAL = io } yyVAL.union = yyLOCAL - case 1247: + case 1248: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.IndexOption -//line mysql_sql.y:8276 +//line mysql_sql.y:8283 { val := int64(yyDollar[3].item.(int64)) if val <= 0 { @@ -21884,10 +21933,10 @@ yydefault: yyLOCAL = io } yyVAL.union = yyLOCAL - case 1248: + case 1249: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.IndexOption -//line mysql_sql.y:8287 +//line mysql_sql.y:8294 { val := int64(yyDollar[3].item.(int64)) if val <= 0 { @@ -21899,50 +21948,50 @@ yydefault: yyLOCAL = io } yyVAL.union = yyLOCAL - case 1249: + case 1250: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.IndexOption -//line mysql_sql.y:8298 +//line mysql_sql.y:8305 { io := tree.NewIndexOption() io.Async = true yyLOCAL = io } yyVAL.union = yyLOCAL - case 1250: + case 1251: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.IndexOption -//line mysql_sql.y:8304 +//line mysql_sql.y:8311 { io := tree.NewIndexOption() io.ForceSync = true yyLOCAL = io } yyVAL.union = yyLOCAL - case 1251: + case 1252: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.IndexOption -//line mysql_sql.y:8310 +//line mysql_sql.y:8317 { io := tree.NewIndexOption() io.AutoUpdate = true yyLOCAL = io } yyVAL.union = yyLOCAL - case 1252: + case 1253: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.IndexOption -//line mysql_sql.y:8316 +//line mysql_sql.y:8323 { io := tree.NewIndexOption() io.AutoUpdate = false yyLOCAL = io } yyVAL.union = yyLOCAL - case 1253: + case 1254: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.IndexOption -//line mysql_sql.y:8322 +//line mysql_sql.y:8329 { val := int64(yyDollar[3].item.(int64)) if val < 0 { @@ -21954,10 +22003,10 @@ yydefault: yyLOCAL = io } yyVAL.union = yyLOCAL - case 1254: + case 1255: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.IndexOption -//line mysql_sql.y:8333 +//line mysql_sql.y:8340 { val := int64(yyDollar[3].item.(int64)) if val < 0 || val > 23 { @@ -21969,26 +22018,26 @@ yydefault: yyLOCAL = io } yyVAL.union = yyLOCAL - case 1255: + case 1256: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.KeyPart -//line mysql_sql.y:8347 +//line mysql_sql.y:8354 { yyLOCAL = []*tree.KeyPart{yyDollar[1].keyPartUnion()} } yyVAL.union = yyLOCAL - case 1256: + case 1257: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.KeyPart -//line mysql_sql.y:8351 +//line mysql_sql.y:8358 { yyLOCAL = append(yyDollar[1].keyPartsUnion(), yyDollar[3].keyPartUnion()) } yyVAL.union = yyLOCAL - case 1257: + case 1258: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.KeyPart -//line mysql_sql.y:8357 +//line mysql_sql.y:8364 { // Order is parsed but just ignored as MySQL dtree. var ColName = yyDollar[1].unresolvedNameUnion() @@ -22003,10 +22052,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1258: + case 1259: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.KeyPart -//line mysql_sql.y:8371 +//line mysql_sql.y:8378 { var ColName *tree.UnresolvedName var Length int @@ -22020,74 +22069,74 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1259: + case 1260: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.IndexType -//line mysql_sql.y:8385 +//line mysql_sql.y:8392 { yyLOCAL = tree.INDEX_TYPE_INVALID } yyVAL.union = yyLOCAL - case 1260: + case 1261: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.IndexType -//line mysql_sql.y:8389 +//line mysql_sql.y:8396 { yyLOCAL = tree.INDEX_TYPE_BTREE } yyVAL.union = yyLOCAL - case 1261: + case 1262: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.IndexType -//line mysql_sql.y:8393 +//line mysql_sql.y:8400 { yyLOCAL = tree.INDEX_TYPE_IVFFLAT } yyVAL.union = yyLOCAL - case 1262: + case 1263: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.IndexType -//line mysql_sql.y:8397 +//line mysql_sql.y:8404 { yyLOCAL = tree.INDEX_TYPE_HNSW } yyVAL.union = yyLOCAL - case 1263: + case 1264: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.IndexType -//line mysql_sql.y:8401 +//line mysql_sql.y:8408 { yyLOCAL = tree.INDEX_TYPE_MASTER } yyVAL.union = yyLOCAL - case 1264: + case 1265: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.IndexType -//line mysql_sql.y:8405 +//line mysql_sql.y:8412 { yyLOCAL = tree.INDEX_TYPE_HASH } yyVAL.union = yyLOCAL - case 1265: + case 1266: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.IndexType -//line mysql_sql.y:8409 +//line mysql_sql.y:8416 { yyLOCAL = tree.INDEX_TYPE_RTREE } yyVAL.union = yyLOCAL - case 1266: + case 1267: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.IndexType -//line mysql_sql.y:8413 +//line mysql_sql.y:8420 { yyLOCAL = tree.INDEX_TYPE_BSI } yyVAL.union = yyLOCAL - case 1267: + case 1268: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8419 +//line mysql_sql.y:8426 { var IfNotExists = yyDollar[3].ifNotExistsUnion() var Name = tree.Identifier(yyDollar[4].str) @@ -22101,10 +22150,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1268: + case 1269: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8433 +//line mysql_sql.y:8440 { var t = tree.NewCloneDatabase() t.DstDatabase = tree.Identifier(yyDollar[4].str) @@ -22114,10 +22163,10 @@ yydefault: yyLOCAL = t } yyVAL.union = yyLOCAL - case 1269: + case 1270: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8442 +//line mysql_sql.y:8449 { var DbName = tree.Identifier(yyDollar[4].str) var FromUri = yyDollar[6].str @@ -22135,92 +22184,92 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1270: + case 1271: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.SubscriptionOption -//line mysql_sql.y:8460 +//line mysql_sql.y:8467 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1271: + case 1272: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.SubscriptionOption -//line mysql_sql.y:8464 +//line mysql_sql.y:8471 { var From = tree.Identifier(yyDollar[2].str) var Publication = tree.Identifier(yyDollar[4].cstrUnion().Compare()) yyLOCAL = tree.NewSubscriptionOption(From, Publication) } yyVAL.union = yyLOCAL - case 1274: + case 1275: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:8475 +//line mysql_sql.y:8482 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1275: + case 1276: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:8479 +//line mysql_sql.y:8486 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1276: + case 1277: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:8484 +//line mysql_sql.y:8491 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1277: + case 1278: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:8488 +//line mysql_sql.y:8495 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1278: + case 1279: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []tree.CreateOption -//line mysql_sql.y:8493 +//line mysql_sql.y:8500 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1279: + case 1280: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.CreateOption -//line mysql_sql.y:8497 +//line mysql_sql.y:8504 { yyLOCAL = yyDollar[1].createOptionsUnion() } yyVAL.union = yyLOCAL - case 1280: + case 1281: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.CreateOption -//line mysql_sql.y:8503 +//line mysql_sql.y:8510 { yyLOCAL = []tree.CreateOption{yyDollar[1].createOptionUnion()} } yyVAL.union = yyLOCAL - case 1281: + case 1282: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []tree.CreateOption -//line mysql_sql.y:8507 +//line mysql_sql.y:8514 { yyLOCAL = append(yyDollar[1].createOptionsUnion(), yyDollar[2].createOptionUnion()) } yyVAL.union = yyLOCAL - case 1282: + case 1283: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.CreateOption -//line mysql_sql.y:8513 +//line mysql_sql.y:8520 { var IsDefault = yyDollar[1].defaultOptionalUnion() var Charset = yyDollar[4].str @@ -22230,10 +22279,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1283: + case 1284: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.CreateOption -//line mysql_sql.y:8522 +//line mysql_sql.y:8529 { var IsDefault = yyDollar[1].defaultOptionalUnion() var Collate = yyDollar[4].str @@ -22243,35 +22292,35 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1284: + case 1285: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.CreateOption -//line mysql_sql.y:8531 +//line mysql_sql.y:8538 { var Encrypt = yyDollar[4].str yyLOCAL = tree.NewCreateOptionEncryption(Encrypt) } yyVAL.union = yyLOCAL - case 1285: + case 1286: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:8537 +//line mysql_sql.y:8544 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1286: + case 1287: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:8541 +//line mysql_sql.y:8548 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1287: + case 1288: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8547 +//line mysql_sql.y:8554 { var TableName = yyDollar[4].tableNameUnion() var Options = yyDollar[7].connectorOptionsUnion() @@ -22281,18 +22330,18 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1288: + case 1289: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8558 +//line mysql_sql.y:8565 { yyLOCAL = &tree.ShowConnectors{} } yyVAL.union = yyLOCAL - case 1289: + case 1290: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8564 +//line mysql_sql.y:8571 { var taskID uint64 switch v := yyDollar[4].item.(type) { @@ -22309,10 +22358,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1290: + case 1291: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8582 +//line mysql_sql.y:8589 { var taskID uint64 switch v := yyDollar[4].item.(type) { @@ -22329,10 +22378,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1291: + case 1292: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8600 +//line mysql_sql.y:8607 { var taskID uint64 switch v := yyDollar[4].item.(type) { @@ -22349,10 +22398,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1292: + case 1293: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8618 +//line mysql_sql.y:8625 { var Replace = yyDollar[2].sourceOptionalUnion() var IfNotExists = yyDollar[4].ifNotExistsUnion() @@ -22368,26 +22417,26 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1293: + case 1294: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:8634 +//line mysql_sql.y:8641 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1294: + case 1295: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:8638 +//line mysql_sql.y:8645 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1295: + case 1296: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8644 +//line mysql_sql.y:8651 { t := tree.NewDataBranchCreateTable() t.CreateTable.Table = *yyDollar[5].tableNameUnion() @@ -22398,10 +22447,10 @@ yydefault: yyLOCAL = t } yyVAL.union = yyLOCAL - case 1296: + case 1297: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8654 +//line mysql_sql.y:8661 { t := tree.NewDataBranchCreateDatabase() t.DstDatabase = tree.Identifier(yyDollar[5].str) @@ -22411,30 +22460,30 @@ yydefault: yyLOCAL = t } yyVAL.union = yyLOCAL - case 1297: + case 1298: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8663 +//line mysql_sql.y:8670 { t := tree.NewDataBranchDeleteTable() t.TableName = *yyDollar[5].tableNameUnion() yyLOCAL = t } yyVAL.union = yyLOCAL - case 1298: + case 1299: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8669 +//line mysql_sql.y:8676 { t := tree.NewDataBranchDeleteDatabase() t.DatabaseName = tree.Identifier(yyDollar[5].str) yyLOCAL = t } yyVAL.union = yyLOCAL - case 1299: + case 1300: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8675 +//line mysql_sql.y:8682 { t := tree.NewDataBranchDiff() t.TargetTable = *yyDollar[4].tableNameUnion() @@ -22444,10 +22493,10 @@ yydefault: yyLOCAL = t } yyVAL.union = yyLOCAL - case 1300: + case 1301: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8684 +//line mysql_sql.y:8691 { t := tree.NewDataBranchMerge() t.SrcTable = *yyDollar[4].tableNameUnion() @@ -22456,10 +22505,10 @@ yydefault: yyLOCAL = t } yyVAL.union = yyLOCAL - case 1301: + case 1302: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8692 +//line mysql_sql.y:8699 { t := tree.NewDataBranchPick() t.SrcTable = *yyDollar[4].tableNameUnion() @@ -22469,10 +22518,10 @@ yydefault: yyLOCAL = t } yyVAL.union = yyLOCAL - case 1302: + case 1303: yyDollar = yyS[yypt-12 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8701 +//line mysql_sql.y:8708 { t := tree.NewDataBranchPick() t.SrcTable = *yyDollar[4].tableNameUnion() @@ -22483,10 +22532,10 @@ yydefault: yyLOCAL = t } yyVAL.union = yyLOCAL - case 1303: + case 1304: yyDollar = yyS[yypt-12 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8711 +//line mysql_sql.y:8718 { t := tree.NewDataBranchPick() t.SrcTable = *yyDollar[4].tableNameUnion() @@ -22497,10 +22546,10 @@ yydefault: yyLOCAL = t } yyVAL.union = yyLOCAL - case 1304: + case 1305: yyDollar = yyS[yypt-13 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8721 +//line mysql_sql.y:8728 { t := tree.NewDataBranchPick() t.SrcTable = *yyDollar[4].tableNameUnion() @@ -22512,10 +22561,10 @@ yydefault: yyLOCAL = t } yyVAL.union = yyLOCAL - case 1305: + case 1306: yyDollar = yyS[yypt-13 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8732 +//line mysql_sql.y:8739 { t := tree.NewDataBranchPick() t.SrcTable = *yyDollar[4].tableNameUnion() @@ -22527,54 +22576,54 @@ yydefault: yyLOCAL = t } yyVAL.union = yyLOCAL - case 1306: + case 1307: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:8744 +//line mysql_sql.y:8751 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1307: + case 1308: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.IdentifierList -//line mysql_sql.y:8748 +//line mysql_sql.y:8755 { yyLOCAL = yyDollar[3].identifierListUnion() } yyVAL.union = yyLOCAL - case 1308: + case 1309: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.DiffOutputOpt -//line mysql_sql.y:8753 +//line mysql_sql.y:8760 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1309: + case 1310: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.DiffOutputOpt -//line mysql_sql.y:8757 +//line mysql_sql.y:8764 { yyLOCAL = &tree.DiffOutputOpt{ As: *yyDollar[3].tableNameUnion(), } } yyVAL.union = yyLOCAL - case 1310: + case 1311: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.DiffOutputOpt -//line mysql_sql.y:8763 +//line mysql_sql.y:8770 { yyLOCAL = &tree.DiffOutputOpt{ DirPath: yyDollar[3].str, } } yyVAL.union = yyLOCAL - case 1311: + case 1312: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.DiffOutputOpt -//line mysql_sql.y:8769 +//line mysql_sql.y:8776 { x := yyDollar[3].item.(int64) yyLOCAL = &tree.DiffOutputOpt{ @@ -22582,68 +22631,68 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1312: + case 1313: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.DiffOutputOpt -//line mysql_sql.y:8776 +//line mysql_sql.y:8783 { yyLOCAL = &tree.DiffOutputOpt{ Count: true, } } yyVAL.union = yyLOCAL - case 1313: + case 1314: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.DiffOutputOpt -//line mysql_sql.y:8782 +//line mysql_sql.y:8789 { yyLOCAL = &tree.DiffOutputOpt{ Summary: true, } } yyVAL.union = yyLOCAL - case 1314: + case 1315: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.ConflictOpt -//line mysql_sql.y:8790 +//line mysql_sql.y:8797 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1315: + case 1316: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.ConflictOpt -//line mysql_sql.y:8794 +//line mysql_sql.y:8801 { yyLOCAL = &tree.ConflictOpt{ Opt: tree.CONFLICT_FAIL, } } yyVAL.union = yyLOCAL - case 1316: + case 1317: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.ConflictOpt -//line mysql_sql.y:8800 +//line mysql_sql.y:8807 { yyLOCAL = &tree.ConflictOpt{ Opt: tree.CONFLICT_SKIP, } } yyVAL.union = yyLOCAL - case 1317: + case 1318: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.ConflictOpt -//line mysql_sql.y:8806 +//line mysql_sql.y:8813 { yyLOCAL = &tree.ConflictOpt{ Opt: tree.CONFLICT_ACCEPT, } } yyVAL.union = yyLOCAL - case 1318: + case 1319: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.PickKeys -//line mysql_sql.y:8814 +//line mysql_sql.y:8821 { yyLOCAL = &tree.PickKeys{ Type: tree.PickKeysValues, @@ -22651,10 +22700,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1319: + case 1320: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.PickKeys -//line mysql_sql.y:8821 +//line mysql_sql.y:8828 { yyLOCAL = &tree.PickKeys{ Type: tree.PickKeysSubquery, @@ -22662,28 +22711,28 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1320: + case 1321: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.ToAccountOpt -//line mysql_sql.y:8830 +//line mysql_sql.y:8837 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1321: + case 1322: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.ToAccountOpt -//line mysql_sql.y:8834 +//line mysql_sql.y:8841 { yyLOCAL = &tree.ToAccountOpt{ AccountName: tree.Identifier(yyDollar[3].cstrUnion().Compare()), } } yyVAL.union = yyLOCAL - case 1322: + case 1323: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8842 +//line mysql_sql.y:8849 { t := tree.NewCreateTable() t.Temporary = yyDollar[2].boolValUnion() @@ -22696,10 +22745,10 @@ yydefault: yyLOCAL = t } yyVAL.union = yyLOCAL - case 1323: + case 1324: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8854 +//line mysql_sql.y:8861 { t := tree.NewCreateTable() t.IfNotExists = yyDollar[4].ifNotExistsUnion() @@ -22709,10 +22758,10 @@ yydefault: yyLOCAL = t } yyVAL.union = yyLOCAL - case 1324: + case 1325: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8863 +//line mysql_sql.y:8870 { t := tree.NewCreateTable() t.IsClusterTable = true @@ -22725,10 +22774,10 @@ yydefault: yyLOCAL = t } yyVAL.union = yyLOCAL - case 1325: + case 1326: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8875 +//line mysql_sql.y:8882 { t := tree.NewCreateTable() t.IsDynamicTable = true @@ -22739,10 +22788,10 @@ yydefault: yyLOCAL = t } yyVAL.union = yyLOCAL - case 1326: + case 1327: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8885 +//line mysql_sql.y:8892 { t := tree.NewCreateTable() t.IsAsSelect = true @@ -22753,10 +22802,10 @@ yydefault: yyLOCAL = t } yyVAL.union = yyLOCAL - case 1327: + case 1328: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8895 +//line mysql_sql.y:8902 { t := tree.NewCreateTable() t.IsAsSelect = true @@ -22768,10 +22817,10 @@ yydefault: yyLOCAL = t } yyVAL.union = yyLOCAL - case 1328: + case 1329: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8906 +//line mysql_sql.y:8913 { t := tree.NewCreateTable() t.IsAsSelect = true @@ -22782,10 +22831,10 @@ yydefault: yyLOCAL = t } yyVAL.union = yyLOCAL - case 1329: + case 1330: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8916 +//line mysql_sql.y:8923 { t := tree.NewCreateTable() t.IsAsSelect = true @@ -22797,10 +22846,10 @@ yydefault: yyLOCAL = t } yyVAL.union = yyLOCAL - case 1330: + case 1331: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8927 +//line mysql_sql.y:8934 { t := tree.NewCreateTable() t.IsAsLike = true @@ -22809,10 +22858,10 @@ yydefault: yyLOCAL = t } yyVAL.union = yyLOCAL - case 1331: + case 1332: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8935 +//line mysql_sql.y:8942 { t := tree.NewCreateTable() t.Temporary = yyDollar[2].boolValUnion() @@ -22822,10 +22871,10 @@ yydefault: yyLOCAL = t } yyVAL.union = yyLOCAL - case 1332: + case 1333: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8944 +//line mysql_sql.y:8951 { t := tree.NewCloneTable() t.CreateTable.Table = *yyDollar[5].tableNameUnion() @@ -22836,10 +22885,10 @@ yydefault: yyLOCAL = t } yyVAL.union = yyLOCAL - case 1333: + case 1334: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:8954 +//line mysql_sql.y:8961 { var TableName = yyDollar[5].tableNameUnion() var FromUri = yyDollar[7].str @@ -22863,19 +22912,19 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1334: + case 1335: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.ExternParam -//line mysql_sql.y:8979 +//line mysql_sql.y:8986 { yyLOCAL = yyDollar[1].loadParamUnion() yyLOCAL.Tail = yyDollar[2].tailParamUnion() } yyVAL.union = yyLOCAL - case 1335: + case 1336: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.ExternParam -//line mysql_sql.y:8986 +//line mysql_sql.y:8993 { yyLOCAL = &tree.ExternParam{ ExParamConst: tree.ExParamConst{ @@ -22886,10 +22935,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1336: + case 1337: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL *tree.ExternParam -//line mysql_sql.y:8996 +//line mysql_sql.y:9003 { yyLOCAL = &tree.ExternParam{ ExParamConst: tree.ExParamConst{ @@ -22903,10 +22952,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1337: + case 1338: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.ExternParam -//line mysql_sql.y:9009 +//line mysql_sql.y:9016 { yyLOCAL = &tree.ExternParam{ ExParamConst: tree.ExParamConst{ @@ -22915,10 +22964,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1338: + case 1339: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.ExternParam -//line mysql_sql.y:9017 +//line mysql_sql.y:9024 { yyLOCAL = &tree.ExternParam{ ExParamConst: tree.ExParamConst{ @@ -22928,10 +22977,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1339: + case 1340: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.ExternParam -//line mysql_sql.y:9026 +//line mysql_sql.y:9033 { yyLOCAL = &tree.ExternParam{ ExParamConst: tree.ExParamConst{ @@ -22940,55 +22989,55 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1340: + case 1341: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:9035 +//line mysql_sql.y:9042 { yyVAL.str = "" } - case 1341: + case 1342: yyDollar = yyS[yypt-4 : yypt+1] -//line mysql_sql.y:9039 +//line mysql_sql.y:9046 { yyVAL.str = yyDollar[4].str } - case 1342: + case 1343: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:9045 +//line mysql_sql.y:9052 { yyLOCAL = yyDollar[1].strsUnion() } yyVAL.union = yyLOCAL - case 1343: + case 1344: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:9049 +//line mysql_sql.y:9056 { yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].strsUnion()...) } yyVAL.union = yyLOCAL - case 1344: + case 1345: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:9054 +//line mysql_sql.y:9061 { yyLOCAL = []string{} } yyVAL.union = yyLOCAL - case 1345: + case 1346: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:9058 +//line mysql_sql.y:9065 { yyLOCAL = append(yyLOCAL, yyDollar[1].str) yyLOCAL = append(yyLOCAL, yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1346: + case 1347: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.TailParameter -//line mysql_sql.y:9065 +//line mysql_sql.y:9072 { yyLOCAL = &tree.TailParameter{ Charset: yyDollar[1].str, @@ -23000,22 +23049,22 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1347: + case 1348: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:9077 +//line mysql_sql.y:9084 { yyVAL.str = "" } - case 1348: + case 1349: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:9081 +//line mysql_sql.y:9088 { yyVAL.str = yyDollar[2].str } - case 1349: + case 1350: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:9087 +//line mysql_sql.y:9094 { var Name = yyDollar[4].tableNameUnion() var Type = yyDollar[5].columnTypeUnion() @@ -23037,10 +23086,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1350: + case 1351: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:9108 +//line mysql_sql.y:9115 { locale := "" fstr := "bigint" @@ -23055,44 +23104,44 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1351: + case 1352: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:9122 +//line mysql_sql.y:9129 { yyLOCAL = yyDollar[2].columnTypeUnion() } yyVAL.union = yyLOCAL - case 1352: + case 1353: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.TypeOption -//line mysql_sql.y:9126 +//line mysql_sql.y:9133 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1353: + case 1354: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.TypeOption -//line mysql_sql.y:9130 +//line mysql_sql.y:9137 { yyLOCAL = &tree.TypeOption{ Type: yyDollar[2].columnTypeUnion(), } } yyVAL.union = yyLOCAL - case 1354: + case 1355: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.IncrementByOption -//line mysql_sql.y:9136 +//line mysql_sql.y:9143 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1355: + case 1356: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.IncrementByOption -//line mysql_sql.y:9140 +//line mysql_sql.y:9147 { yyLOCAL = &tree.IncrementByOption{ Minus: false, @@ -23100,10 +23149,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1356: + case 1357: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.IncrementByOption -//line mysql_sql.y:9147 +//line mysql_sql.y:9154 { yyLOCAL = &tree.IncrementByOption{ Minus: false, @@ -23111,10 +23160,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1357: + case 1358: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.IncrementByOption -//line mysql_sql.y:9154 +//line mysql_sql.y:9161 { yyLOCAL = &tree.IncrementByOption{ Minus: true, @@ -23122,10 +23171,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1358: + case 1359: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.IncrementByOption -//line mysql_sql.y:9161 +//line mysql_sql.y:9168 { yyLOCAL = &tree.IncrementByOption{ Minus: true, @@ -23133,42 +23182,42 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1359: + case 1360: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:9168 +//line mysql_sql.y:9175 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1360: + case 1361: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:9172 +//line mysql_sql.y:9179 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1361: + case 1362: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:9176 +//line mysql_sql.y:9183 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1362: + case 1363: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.MinValueOption -//line mysql_sql.y:9180 +//line mysql_sql.y:9187 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1363: + case 1364: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.MinValueOption -//line mysql_sql.y:9184 +//line mysql_sql.y:9191 { yyLOCAL = &tree.MinValueOption{ Minus: false, @@ -23176,10 +23225,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1364: + case 1365: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.MinValueOption -//line mysql_sql.y:9191 +//line mysql_sql.y:9198 { yyLOCAL = &tree.MinValueOption{ Minus: true, @@ -23187,18 +23236,18 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1365: + case 1366: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.MaxValueOption -//line mysql_sql.y:9198 +//line mysql_sql.y:9205 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1366: + case 1367: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.MaxValueOption -//line mysql_sql.y:9202 +//line mysql_sql.y:9209 { yyLOCAL = &tree.MaxValueOption{ Minus: false, @@ -23206,10 +23255,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1367: + case 1368: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.MaxValueOption -//line mysql_sql.y:9209 +//line mysql_sql.y:9216 { yyLOCAL = &tree.MaxValueOption{ Minus: true, @@ -23217,46 +23266,46 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1368: + case 1369: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.CycleOption -//line mysql_sql.y:9216 +//line mysql_sql.y:9223 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1369: + case 1370: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.CycleOption -//line mysql_sql.y:9220 +//line mysql_sql.y:9227 { yyLOCAL = &tree.CycleOption{ Cycle: false, } } yyVAL.union = yyLOCAL - case 1370: + case 1371: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.CycleOption -//line mysql_sql.y:9226 +//line mysql_sql.y:9233 { yyLOCAL = &tree.CycleOption{ Cycle: true, } } yyVAL.union = yyLOCAL - case 1371: + case 1372: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.StartWithOption -//line mysql_sql.y:9232 +//line mysql_sql.y:9239 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1372: + case 1373: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.StartWithOption -//line mysql_sql.y:9236 +//line mysql_sql.y:9243 { yyLOCAL = &tree.StartWithOption{ Minus: false, @@ -23264,10 +23313,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1373: + case 1374: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.StartWithOption -//line mysql_sql.y:9243 +//line mysql_sql.y:9250 { yyLOCAL = &tree.StartWithOption{ Minus: false, @@ -23275,10 +23324,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1374: + case 1375: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.StartWithOption -//line mysql_sql.y:9250 +//line mysql_sql.y:9257 { yyLOCAL = &tree.StartWithOption{ Minus: true, @@ -23286,10 +23335,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1375: + case 1376: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.StartWithOption -//line mysql_sql.y:9257 +//line mysql_sql.y:9264 { yyLOCAL = &tree.StartWithOption{ Minus: true, @@ -23297,58 +23346,58 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1376: + case 1377: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:9264 +//line mysql_sql.y:9271 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1377: + case 1378: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:9268 +//line mysql_sql.y:9275 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1378: + case 1379: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:9273 +//line mysql_sql.y:9280 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1379: + case 1380: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:9277 +//line mysql_sql.y:9284 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1380: + case 1381: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:9281 +//line mysql_sql.y:9288 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1381: + case 1382: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.PartitionOption -//line mysql_sql.y:9286 +//line mysql_sql.y:9293 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1382: + case 1383: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.PartitionOption -//line mysql_sql.y:9290 +//line mysql_sql.y:9297 { yyDollar[3].partitionByUnion().Num = uint64(yyDollar[4].int64ValUnion()) var PartBy = yyDollar[3].partitionByUnion() @@ -23361,18 +23410,18 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1383: + case 1384: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.ClusterByOption -//line mysql_sql.y:9303 +//line mysql_sql.y:9310 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1384: + case 1385: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.ClusterByOption -//line mysql_sql.y:9307 +//line mysql_sql.y:9314 { var ColumnList = []*tree.UnresolvedName{yyDollar[3].unresolvedNameUnion()} yyLOCAL = tree.NewClusterByOption( @@ -23381,10 +23430,10 @@ yydefault: } yyVAL.union = yyLOCAL - case 1385: + case 1386: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.ClusterByOption -//line mysql_sql.y:9315 +//line mysql_sql.y:9322 { var ColumnList = yyDollar[4].unresolveNamesUnion() yyLOCAL = tree.NewClusterByOption( @@ -23392,18 +23441,18 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1386: + case 1387: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:9323 +//line mysql_sql.y:9330 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1387: + case 1388: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:9327 +//line mysql_sql.y:9334 { var IsSubPartition = true var PType = yyDollar[3].partitionByUnion().PType @@ -23417,42 +23466,42 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1388: + case 1389: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*tree.Partition -//line mysql_sql.y:9341 +//line mysql_sql.y:9348 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1389: + case 1390: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.Partition -//line mysql_sql.y:9345 +//line mysql_sql.y:9352 { yyLOCAL = yyDollar[2].partitionsUnion() } yyVAL.union = yyLOCAL - case 1390: + case 1391: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.Partition -//line mysql_sql.y:9351 +//line mysql_sql.y:9358 { yyLOCAL = []*tree.Partition{yyDollar[1].partitionUnion()} } yyVAL.union = yyLOCAL - case 1391: + case 1392: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.Partition -//line mysql_sql.y:9355 +//line mysql_sql.y:9362 { yyLOCAL = append(yyDollar[1].partitionsUnion(), yyDollar[3].partitionUnion()) } yyVAL.union = yyLOCAL - case 1392: + case 1393: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.Partition -//line mysql_sql.y:9361 +//line mysql_sql.y:9368 { var Name = tree.Identifier(yyDollar[2].cstrUnion().Compare()) var Values = yyDollar[3].valuesUnion() @@ -23466,10 +23515,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1393: + case 1394: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.Partition -//line mysql_sql.y:9374 +//line mysql_sql.y:9381 { var Name = tree.Identifier(yyDollar[2].cstrUnion().Compare()) var Values = yyDollar[3].valuesUnion() @@ -23483,42 +23532,42 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1394: + case 1395: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*tree.SubPartition -//line mysql_sql.y:9388 +//line mysql_sql.y:9395 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1395: + case 1396: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.SubPartition -//line mysql_sql.y:9392 +//line mysql_sql.y:9399 { yyLOCAL = yyDollar[2].subPartitionsUnion() } yyVAL.union = yyLOCAL - case 1396: + case 1397: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.SubPartition -//line mysql_sql.y:9398 +//line mysql_sql.y:9405 { yyLOCAL = []*tree.SubPartition{yyDollar[1].subPartitionUnion()} } yyVAL.union = yyLOCAL - case 1397: + case 1398: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.SubPartition -//line mysql_sql.y:9402 +//line mysql_sql.y:9409 { yyLOCAL = append(yyDollar[1].subPartitionsUnion(), yyDollar[3].subPartitionUnion()) } yyVAL.union = yyLOCAL - case 1398: + case 1399: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.SubPartition -//line mysql_sql.y:9408 +//line mysql_sql.y:9415 { var Name = tree.Identifier(yyDollar[2].cstrUnion().Compare()) var Options []tree.TableOption @@ -23528,10 +23577,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1399: + case 1400: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.SubPartition -//line mysql_sql.y:9417 +//line mysql_sql.y:9424 { var Name = tree.Identifier(yyDollar[2].cstrUnion().Compare()) var Options = yyDollar[3].tableOptionsUnion() @@ -23541,53 +23590,53 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1400: + case 1401: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:9428 +//line mysql_sql.y:9435 { yyLOCAL = []tree.TableOption{yyDollar[1].tableOptionUnion()} } yyVAL.union = yyLOCAL - case 1401: + case 1402: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:9432 +//line mysql_sql.y:9439 { yyLOCAL = append(yyDollar[1].tableOptionsUnion(), yyDollar[2].tableOptionUnion()) } yyVAL.union = yyLOCAL - case 1402: + case 1403: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Values -//line mysql_sql.y:9437 +//line mysql_sql.y:9444 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1403: + case 1404: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Values -//line mysql_sql.y:9441 +//line mysql_sql.y:9448 { expr := tree.NewMaxValue() var valueList = tree.Exprs{expr} yyLOCAL = tree.NewValuesLessThan(valueList) } yyVAL.union = yyLOCAL - case 1404: + case 1405: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Values -//line mysql_sql.y:9447 +//line mysql_sql.y:9454 { var valueList = yyDollar[5].exprsUnion() yyLOCAL = tree.NewValuesLessThan(valueList) } yyVAL.union = yyLOCAL - case 1405: + case 1406: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Values -//line mysql_sql.y:9452 +//line mysql_sql.y:9459 { var valueList = yyDollar[4].exprsUnion() yyLOCAL = tree.NewValuesIn( @@ -23595,18 +23644,18 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1406: + case 1407: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:9460 +//line mysql_sql.y:9467 { yyLOCAL = 0 } yyVAL.union = yyLOCAL - case 1407: + case 1408: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:9464 +//line mysql_sql.y:9471 { res := yyDollar[2].item.(int64) if res == 0 { @@ -23616,18 +23665,18 @@ yydefault: yyLOCAL = res } yyVAL.union = yyLOCAL - case 1408: + case 1409: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:9474 +//line mysql_sql.y:9481 { yyLOCAL = 0 } yyVAL.union = yyLOCAL - case 1409: + case 1410: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:9478 +//line mysql_sql.y:9485 { res := yyDollar[2].item.(int64) if res == 0 { @@ -23637,10 +23686,10 @@ yydefault: yyLOCAL = res } yyVAL.union = yyLOCAL - case 1410: + case 1411: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:9489 +//line mysql_sql.y:9496 { rangeTyp := tree.NewRangeType() rangeTyp.Expr = yyDollar[3].exprUnion() @@ -23649,10 +23698,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1411: + case 1412: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:9497 +//line mysql_sql.y:9504 { rangeTyp := tree.NewRangeType() rangeTyp.ColumnList = yyDollar[4].unresolveNamesUnion() @@ -23661,10 +23710,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1412: + case 1413: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:9505 +//line mysql_sql.y:9512 { listTyp := tree.NewListType() listTyp.Expr = yyDollar[3].exprUnion() @@ -23673,10 +23722,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1413: + case 1414: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:9513 +//line mysql_sql.y:9520 { listTyp := tree.NewListType() listTyp.ColumnList = yyDollar[4].unresolveNamesUnion() @@ -23685,10 +23734,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1415: + case 1416: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:9524 +//line mysql_sql.y:9531 { keyTyp := tree.NewKeyType() keyTyp.Linear = yyDollar[1].boolValUnion() @@ -23698,10 +23747,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1416: + case 1417: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:9533 +//line mysql_sql.y:9540 { keyTyp := tree.NewKeyType() keyTyp.Linear = yyDollar[1].boolValUnion() @@ -23712,10 +23761,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1417: + case 1418: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:9543 +//line mysql_sql.y:9550 { Linear := yyDollar[1].boolValUnion() Expr := yyDollar[4].exprUnion() @@ -23725,58 +23774,58 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1418: + case 1419: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:9553 +//line mysql_sql.y:9560 { yyLOCAL = 2 } yyVAL.union = yyLOCAL - case 1419: + case 1420: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:9557 +//line mysql_sql.y:9564 { yyLOCAL = yyDollar[3].item.(int64) } yyVAL.union = yyLOCAL - case 1420: + case 1421: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:9562 +//line mysql_sql.y:9569 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1421: + case 1422: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:9566 +//line mysql_sql.y:9573 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1422: + case 1423: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.ConnectorOption -//line mysql_sql.y:9572 +//line mysql_sql.y:9579 { yyLOCAL = []*tree.ConnectorOption{yyDollar[1].connectorOptionUnion()} } yyVAL.union = yyLOCAL - case 1423: + case 1424: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.ConnectorOption -//line mysql_sql.y:9576 +//line mysql_sql.y:9583 { yyLOCAL = append(yyDollar[1].connectorOptionsUnion(), yyDollar[3].connectorOptionUnion()) } yyVAL.union = yyLOCAL - case 1424: + case 1425: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.ConnectorOption -//line mysql_sql.y:9582 +//line mysql_sql.y:9589 { var Key = tree.Identifier(yyDollar[1].cstrUnion().Compare()) var Val = yyDollar[3].exprUnion() @@ -23786,10 +23835,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1425: + case 1426: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.ConnectorOption -//line mysql_sql.y:9591 +//line mysql_sql.y:9598 { var Key = tree.Identifier(yyDollar[1].str) var Val = yyDollar[3].exprUnion() @@ -23799,42 +23848,42 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1426: + case 1427: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:9601 +//line mysql_sql.y:9608 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1427: + case 1428: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:9605 +//line mysql_sql.y:9612 { yyLOCAL = yyDollar[3].tableOptionsUnion() } yyVAL.union = yyLOCAL - case 1428: + case 1429: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:9611 +//line mysql_sql.y:9618 { yyLOCAL = []tree.TableOption{yyDollar[1].tableOptionUnion()} } yyVAL.union = yyLOCAL - case 1429: + case 1430: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:9615 +//line mysql_sql.y:9622 { yyLOCAL = append(yyDollar[1].tableOptionsUnion(), yyDollar[3].tableOptionUnion()) } yyVAL.union = yyLOCAL - case 1430: + case 1431: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9621 +//line mysql_sql.y:9628 { var Key = tree.Identifier(yyDollar[1].cstrUnion().Compare()) var Val = yyDollar[3].exprUnion() @@ -23844,10 +23893,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1431: + case 1432: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9630 +//line mysql_sql.y:9637 { var Key = tree.Identifier(yyDollar[1].str) var Val = yyDollar[3].exprUnion() @@ -23857,364 +23906,389 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1432: + case 1433: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:9640 +//line mysql_sql.y:9647 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1433: + case 1434: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:9644 +//line mysql_sql.y:9651 { yyLOCAL = yyDollar[1].tableOptionsUnion() } yyVAL.union = yyLOCAL - case 1434: + case 1435: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:9650 +//line mysql_sql.y:9657 { yyLOCAL = []tree.TableOption{yyDollar[1].tableOptionUnion()} } yyVAL.union = yyLOCAL - case 1435: + case 1436: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:9654 +//line mysql_sql.y:9661 { yyLOCAL = append(yyDollar[1].tableOptionsUnion(), yyDollar[3].tableOptionUnion()) } yyVAL.union = yyLOCAL - case 1436: + case 1437: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:9658 +//line mysql_sql.y:9665 { yyLOCAL = append(yyDollar[1].tableOptionsUnion(), yyDollar[2].tableOptionUnion()) } yyVAL.union = yyLOCAL - case 1437: + case 1438: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9664 +//line mysql_sql.y:9671 { yyLOCAL = tree.NewTableOptionAUTOEXTEND_SIZE(uint64(yyDollar[3].item.(int64))) } yyVAL.union = yyLOCAL - case 1438: + case 1439: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9668 +//line mysql_sql.y:9675 { yyLOCAL = tree.NewTableOptionAutoIncrement(uint64(yyDollar[3].item.(int64))) } yyVAL.union = yyLOCAL - case 1439: + case 1440: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9672 +//line mysql_sql.y:9679 { yyLOCAL = tree.NewTableOptionAvgRowLength(uint64(yyDollar[3].item.(int64))) } yyVAL.union = yyLOCAL - case 1440: + case 1441: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9676 +//line mysql_sql.y:9683 { yyLOCAL = tree.NewTableOptionCharset(yyDollar[4].str) } yyVAL.union = yyLOCAL - case 1441: + case 1442: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9680 +//line mysql_sql.y:9687 { yyLOCAL = tree.NewTableOptionCollate(yyDollar[4].str) } yyVAL.union = yyLOCAL - case 1442: + case 1443: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9684 +//line mysql_sql.y:9691 { yyLOCAL = tree.NewTableOptionChecksum(uint64(yyDollar[3].item.(int64))) } yyVAL.union = yyLOCAL - case 1443: + case 1444: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9688 +//line mysql_sql.y:9695 { str := util.DealCommentString(yyDollar[3].str) yyLOCAL = tree.NewTableOptionComment(str) } yyVAL.union = yyLOCAL - case 1444: + case 1445: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9693 +//line mysql_sql.y:9700 { yyLOCAL = tree.NewTableOptionCompression(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1445: + case 1446: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9697 +//line mysql_sql.y:9704 { yyLOCAL = tree.NewTableOptionConnection(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1446: + case 1447: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9701 +//line mysql_sql.y:9708 { yyLOCAL = tree.NewTableOptionDataDirectory(yyDollar[4].str) } yyVAL.union = yyLOCAL - case 1447: + case 1448: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9705 +//line mysql_sql.y:9712 { yyLOCAL = tree.NewTableOptionIndexDirectory(yyDollar[4].str) } yyVAL.union = yyLOCAL - case 1448: + case 1449: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9709 +//line mysql_sql.y:9716 { yyLOCAL = tree.NewTableOptionDelayKeyWrite(uint64(yyDollar[3].item.(int64))) } yyVAL.union = yyLOCAL - case 1449: + case 1450: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9713 +//line mysql_sql.y:9720 { yyLOCAL = tree.NewTableOptionEncryption(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1450: + case 1451: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9717 +//line mysql_sql.y:9724 { yyLOCAL = tree.NewTableOptionEngine(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1451: + case 1452: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9721 +//line mysql_sql.y:9728 { yyLOCAL = tree.NewTableOptionEngineAttr(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1452: + case 1453: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9725 +//line mysql_sql.y:9732 { yyLOCAL = tree.NewTableOptionInsertMethod(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1453: + case 1454: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9729 +//line mysql_sql.y:9736 { yyLOCAL = tree.NewTableOptionKeyBlockSize(uint64(yyDollar[3].item.(int64))) } yyVAL.union = yyLOCAL - case 1454: + case 1455: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9733 +//line mysql_sql.y:9740 { yyLOCAL = tree.NewTableOptionMaxRows(uint64(yyDollar[3].item.(int64))) } yyVAL.union = yyLOCAL - case 1455: + case 1456: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9737 +//line mysql_sql.y:9744 { yyLOCAL = tree.NewTableOptionMinRows(uint64(yyDollar[3].item.(int64))) } yyVAL.union = yyLOCAL - case 1456: + case 1457: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9741 +//line mysql_sql.y:9748 { t := tree.NewTableOptionPackKeys() t.Value = yyDollar[3].item.(int64) yyLOCAL = t } yyVAL.union = yyLOCAL - case 1457: + case 1458: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9747 +//line mysql_sql.y:9754 { t := tree.NewTableOptionPackKeys() t.Default = true yyLOCAL = t } yyVAL.union = yyLOCAL - case 1458: + case 1459: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9753 +//line mysql_sql.y:9760 { yyLOCAL = tree.NewTableOptionPassword(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1459: + case 1460: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9757 +//line mysql_sql.y:9764 { yyLOCAL = tree.NewTableOptionRowFormat(yyDollar[3].rowFormatTypeUnion()) } yyVAL.union = yyLOCAL - case 1460: + case 1461: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9761 +//line mysql_sql.y:9768 { yyLOCAL = tree.NewTTableOptionStartTrans(true) } yyVAL.union = yyLOCAL - case 1461: + case 1462: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9765 +//line mysql_sql.y:9772 { yyLOCAL = tree.NewTTableOptionSecondaryEngineAttr(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1462: + case 1463: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9769 +//line mysql_sql.y:9776 { t := tree.NewTableOptionStatsAutoRecalc() t.Value = uint64(yyDollar[3].item.(int64)) yyLOCAL = t } yyVAL.union = yyLOCAL - case 1463: + case 1464: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9775 +//line mysql_sql.y:9782 { t := tree.NewTableOptionStatsAutoRecalc() t.Default = true yyLOCAL = t } yyVAL.union = yyLOCAL - case 1464: + case 1465: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9781 +//line mysql_sql.y:9788 { t := tree.NewTableOptionStatsPersistent() t.Value = uint64(yyDollar[3].item.(int64)) yyLOCAL = t } yyVAL.union = yyLOCAL - case 1465: + case 1466: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9787 +//line mysql_sql.y:9794 { t := tree.NewTableOptionStatsPersistent() t.Default = true yyLOCAL = t } yyVAL.union = yyLOCAL - case 1466: + case 1467: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9793 +//line mysql_sql.y:9800 { t := tree.NewTableOptionStatsSamplePages() t.Value = uint64(yyDollar[3].item.(int64)) yyLOCAL = t } yyVAL.union = yyLOCAL - case 1467: + case 1468: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9799 +//line mysql_sql.y:9806 { t := tree.NewTableOptionStatsSamplePages() t.Default = true yyLOCAL = t } yyVAL.union = yyLOCAL - case 1468: + case 1469: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9805 +//line mysql_sql.y:9812 + { + yyLOCAL = tree.NewTableOptionTablespace(yyDollar[3].cstrUnion().Compare(), "") + } + yyVAL.union = yyLOCAL + case 1470: + yyDollar = yyS[yypt-1 : yypt+1] + var yyLOCAL tree.TableOption +//line mysql_sql.y:9816 + { + yyLOCAL = tree.NewTableOptionTablespace("", yyDollar[1].str) + } + yyVAL.union = yyLOCAL + case 1471: + yyDollar = yyS[yypt-5 : yypt+1] + var yyLOCAL tree.TableOption +//line mysql_sql.y:9820 + { + yyLOCAL = tree.NewTableOptionUnion(yyDollar[4].tableNamesUnion()) + } + yyVAL.union = yyLOCAL + case 1472: + yyDollar = yyS[yypt-4 : yypt+1] + var yyLOCAL tree.TableOption +//line mysql_sql.y:9824 { - yyLOCAL = tree.NewTableOptionTablespace(yyDollar[3].cstrUnion().Compare(), "") + var Preperties = yyDollar[3].propertiesUnion() + yyLOCAL = tree.NewTableOptionProperties(Preperties) } yyVAL.union = yyLOCAL - case 1469: - yyDollar = yyS[yypt-1 : yypt+1] + case 1473: + yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9809 +//line mysql_sql.y:9829 { - yyLOCAL = tree.NewTableOptionTablespace("", yyDollar[1].str) + expr := tree.NewBinaryExpr(tree.PLUS, yyDollar[3].unresolvedNameUnion(), yyDollar[5].exprUnion()) + yyLOCAL = tree.NewTableOptionTTL(expr) } yyVAL.union = yyLOCAL - case 1470: - yyDollar = yyS[yypt-5 : yypt+1] + case 1474: + yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9813 +//line mysql_sql.y:9834 { - yyLOCAL = tree.NewTableOptionUnion(yyDollar[4].tableNamesUnion()) + yyLOCAL = tree.NewTableOptionTTLEnable(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1471: - yyDollar = yyS[yypt-4 : yypt+1] + case 1475: + yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:9817 +//line mysql_sql.y:9838 { - var Preperties = yyDollar[3].propertiesUnion() - yyLOCAL = tree.NewTableOptionProperties(Preperties) + yyLOCAL = tree.NewTableOptionTTLJobInterval(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1472: + case 1476: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.Property -//line mysql_sql.y:9824 +//line mysql_sql.y:9844 { yyLOCAL = []tree.Property{yyDollar[1].propertyUnion()} } yyVAL.union = yyLOCAL - case 1473: + case 1477: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []tree.Property -//line mysql_sql.y:9828 +//line mysql_sql.y:9848 { yyLOCAL = append(yyDollar[1].propertiesUnion(), yyDollar[3].propertyUnion()) } yyVAL.union = yyLOCAL - case 1474: + case 1478: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Property -//line mysql_sql.y:9834 +//line mysql_sql.y:9854 { var Key = yyDollar[1].str var Value = yyDollar[3].str @@ -24224,96 +24298,96 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1475: + case 1479: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:9845 +//line mysql_sql.y:9865 { yyVAL.str = " " + yyDollar[1].str + " " + yyDollar[2].str } - case 1476: + case 1480: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:9849 +//line mysql_sql.y:9869 { yyVAL.str = " " + yyDollar[1].str + " " + yyDollar[2].str } - case 1477: + case 1481: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.RowFormatType -//line mysql_sql.y:9855 +//line mysql_sql.y:9875 { yyLOCAL = tree.ROW_FORMAT_DEFAULT } yyVAL.union = yyLOCAL - case 1478: + case 1482: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.RowFormatType -//line mysql_sql.y:9859 +//line mysql_sql.y:9879 { yyLOCAL = tree.ROW_FORMAT_DYNAMIC } yyVAL.union = yyLOCAL - case 1479: + case 1483: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.RowFormatType -//line mysql_sql.y:9863 +//line mysql_sql.y:9883 { yyLOCAL = tree.ROW_FORMAT_FIXED } yyVAL.union = yyLOCAL - case 1480: + case 1484: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.RowFormatType -//line mysql_sql.y:9867 +//line mysql_sql.y:9887 { yyLOCAL = tree.ROW_FORMAT_COMPRESSED } yyVAL.union = yyLOCAL - case 1481: + case 1485: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.RowFormatType -//line mysql_sql.y:9871 +//line mysql_sql.y:9891 { yyLOCAL = tree.ROW_FORMAT_REDUNDANT } yyVAL.union = yyLOCAL - case 1482: + case 1486: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.RowFormatType -//line mysql_sql.y:9875 +//line mysql_sql.y:9895 { yyLOCAL = tree.ROW_FORMAT_COMPACT } yyVAL.union = yyLOCAL - case 1487: + case 1491: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableNames -//line mysql_sql.y:9889 +//line mysql_sql.y:9909 { yyLOCAL = tree.TableNames{yyDollar[1].tableNameUnion()} } yyVAL.union = yyLOCAL - case 1488: + case 1492: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableNames -//line mysql_sql.y:9893 +//line mysql_sql.y:9913 { yyLOCAL = append(yyDollar[1].tableNamesUnion(), yyDollar[3].tableNameUnion()) } yyVAL.union = yyLOCAL - case 1489: + case 1493: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.TableName -//line mysql_sql.y:9902 +//line mysql_sql.y:9922 { tblName := yylex.(*Lexer).GetDbOrTblName(yyDollar[1].cstrUnion().Origin()) prefix := tree.ObjectNamePrefix{ExplicitSchema: false} yyLOCAL = tree.NewTableName(tree.Identifier(tblName), prefix, yyDollar[2].atTimeStampUnion()) } yyVAL.union = yyLOCAL - case 1490: + case 1494: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.TableName -//line mysql_sql.y:9908 +//line mysql_sql.y:9928 { dbName := yylex.(*Lexer).GetDbOrTblName(yyDollar[1].cstrUnion().Origin()) tblName := yylex.(*Lexer).GetDbOrTblName(yyDollar[3].cstrUnion().Origin()) @@ -24321,18 +24395,18 @@ yydefault: yyLOCAL = tree.NewTableName(tree.Identifier(tblName), prefix, yyDollar[4].atTimeStampUnion()) } yyVAL.union = yyLOCAL - case 1491: + case 1495: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.AtTimeStamp -//line mysql_sql.y:9915 +//line mysql_sql.y:9935 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1492: + case 1496: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.AtTimeStamp -//line mysql_sql.y:9919 +//line mysql_sql.y:9939 { yyLOCAL = &tree.AtTimeStamp{ Type: tree.ATTIMESTAMPTIME, @@ -24340,10 +24414,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1493: + case 1497: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.AtTimeStamp -//line mysql_sql.y:9926 +//line mysql_sql.y:9946 { var str = yyDollar[4].cstrUnion().Compare() yyLOCAL = &tree.AtTimeStamp{ @@ -24353,10 +24427,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1494: + case 1498: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.AtTimeStamp -//line mysql_sql.y:9935 +//line mysql_sql.y:9955 { yyLOCAL = &tree.AtTimeStamp{ Type: tree.ATTIMESTAMPSNAPSHOT, @@ -24365,10 +24439,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1495: + case 1499: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.AtTimeStamp -//line mysql_sql.y:9943 +//line mysql_sql.y:9963 { yyLOCAL = &tree.AtTimeStamp{ Type: tree.ATMOTIMESTAMP, @@ -24376,10 +24450,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1496: + case 1500: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.AtTimeStamp -//line mysql_sql.y:9950 +//line mysql_sql.y:9970 { yyLOCAL = &tree.AtTimeStamp{ Type: tree.ASOFTIMESTAMP, @@ -24387,74 +24461,74 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1497: + case 1501: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.TableDefs -//line mysql_sql.y:9958 +//line mysql_sql.y:9978 { yyLOCAL = tree.TableDefs(nil) } yyVAL.union = yyLOCAL - case 1499: + case 1503: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableDefs -//line mysql_sql.y:9965 +//line mysql_sql.y:9985 { yyLOCAL = tree.TableDefs{yyDollar[1].tableDefUnion()} } yyVAL.union = yyLOCAL - case 1500: + case 1504: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableDefs -//line mysql_sql.y:9969 +//line mysql_sql.y:9989 { yyLOCAL = append(yyDollar[1].tableDefsUnion(), yyDollar[3].tableDefUnion()) } yyVAL.union = yyLOCAL - case 1501: + case 1505: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:9975 +//line mysql_sql.y:9995 { yyLOCAL = tree.TableDef(yyDollar[1].columnTableDefUnion()) } yyVAL.union = yyLOCAL - case 1502: + case 1506: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:9979 +//line mysql_sql.y:9999 { yyLOCAL = yyDollar[1].tableDefUnion() } yyVAL.union = yyLOCAL - case 1503: + case 1507: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:9983 +//line mysql_sql.y:10003 { yyLOCAL = yyDollar[1].tableDefUnion() } yyVAL.union = yyLOCAL - case 1504: + case 1508: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:9989 +//line mysql_sql.y:10009 { yyLOCAL = yyDollar[1].tableDefUnion() } yyVAL.union = yyLOCAL - case 1505: + case 1509: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:9993 +//line mysql_sql.y:10013 { yyLOCAL = yyDollar[1].tableDefUnion() } yyVAL.union = yyLOCAL - case 1506: + case 1510: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:9999 +//line mysql_sql.y:10019 { var KeyParts = yyDollar[5].keyPartsUnion() var Name = yyDollar[3].str @@ -24468,10 +24542,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1507: + case 1511: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:10012 +//line mysql_sql.y:10032 { var KeyParts = yyDollar[5].keyPartsUnion() var Name = yyDollar[3].str @@ -24485,10 +24559,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1508: + case 1512: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:10025 +//line mysql_sql.y:10045 { keyTyp := tree.INDEX_TYPE_INVALID if yyDollar[3].strsUnion()[1] != "" { @@ -24530,10 +24604,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1509: + case 1513: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:10066 +//line mysql_sql.y:10086 { keyTyp := tree.INDEX_TYPE_INVALID if yyDollar[3].strsUnion()[1] != "" { @@ -24574,10 +24648,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1510: + case 1514: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:10108 +//line mysql_sql.y:10128 { if yyDollar[1].str != "" { switch v := yyDollar[2].tableDefUnion().(type) { @@ -24592,18 +24666,18 @@ yydefault: yyLOCAL = yyDollar[2].tableDefUnion() } yyVAL.union = yyLOCAL - case 1511: + case 1515: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:10122 +//line mysql_sql.y:10142 { yyLOCAL = yyDollar[1].tableDefUnion() } yyVAL.union = yyLOCAL - case 1512: + case 1516: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:10128 +//line mysql_sql.y:10148 { var KeyParts = yyDollar[5].keyPartsUnion() var Name = yyDollar[3].strsUnion()[0] @@ -24617,10 +24691,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1513: + case 1517: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:10141 +//line mysql_sql.y:10161 { var KeyParts = yyDollar[5].keyPartsUnion() var Name = yyDollar[3].strsUnion()[0] @@ -24634,10 +24708,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1514: + case 1518: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:10154 +//line mysql_sql.y:10174 { var KeyParts = yyDollar[5].keyPartsUnion() var Name = yyDollar[3].strsUnion()[0] @@ -24651,10 +24725,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1515: + case 1519: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:10167 +//line mysql_sql.y:10187 { var KeyParts = yyDollar[5].keyPartsUnion() var Name = yyDollar[3].strsUnion()[0] @@ -24668,10 +24742,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1516: + case 1520: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:10180 +//line mysql_sql.y:10200 { var IfNotExists = yyDollar[3].ifNotExistsUnion() var KeyParts = yyDollar[6].keyPartsUnion() @@ -24687,10 +24761,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1517: + case 1521: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:10195 +//line mysql_sql.y:10215 { var Expr = yyDollar[3].exprUnion() var Enforced = yyDollar[5].boolValUnion() @@ -24700,327 +24774,327 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1518: + case 1522: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:10205 +//line mysql_sql.y:10225 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1520: + case 1524: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:10211 +//line mysql_sql.y:10231 { yyVAL.str = "" } - case 1521: + case 1525: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:10215 +//line mysql_sql.y:10235 { yyVAL.str = yyDollar[1].str } - case 1524: + case 1528: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:10225 +//line mysql_sql.y:10245 { yyLOCAL = make([]string, 2) yyLOCAL[0] = yyDollar[1].str yyLOCAL[1] = "" } yyVAL.union = yyLOCAL - case 1525: + case 1529: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:10231 +//line mysql_sql.y:10251 { yyLOCAL = make([]string, 2) yyLOCAL[0] = yyDollar[1].str yyLOCAL[1] = yyDollar[3].str } yyVAL.union = yyLOCAL - case 1526: + case 1530: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:10237 +//line mysql_sql.y:10257 { yyLOCAL = make([]string, 2) yyLOCAL[0] = yyDollar[1].cstrUnion().Compare() yyLOCAL[1] = yyDollar[3].str } yyVAL.union = yyLOCAL - case 1538: + case 1542: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:10259 +//line mysql_sql.y:10279 { yyVAL.str = "" } - case 1539: + case 1543: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:10263 +//line mysql_sql.y:10283 { yyVAL.str = yyDollar[1].cstrUnion().Compare() } - case 1540: + case 1544: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.ColumnTableDef -//line mysql_sql.y:10269 +//line mysql_sql.y:10289 { yyLOCAL = tree.NewColumnTableDef(yyDollar[1].unresolvedNameUnion(), yyDollar[2].columnTypeUnion(), yyDollar[3].columnAttributesUnion()) } yyVAL.union = yyLOCAL - case 1541: + case 1545: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.UnresolvedName -//line mysql_sql.y:10275 +//line mysql_sql.y:10295 { yyLOCAL = tree.NewUnresolvedName(yyDollar[1].cstrUnion()) } yyVAL.union = yyLOCAL - case 1542: + case 1546: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.UnresolvedName -//line mysql_sql.y:10279 +//line mysql_sql.y:10299 { tblNameCStr := yylex.(*Lexer).GetDbOrTblNameCStr(yyDollar[1].cstrUnion().Origin()) yyLOCAL = tree.NewUnresolvedName(tblNameCStr, yyDollar[3].cstrUnion()) } yyVAL.union = yyLOCAL - case 1543: + case 1547: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.UnresolvedName -//line mysql_sql.y:10284 +//line mysql_sql.y:10304 { dbNameCStr := yylex.(*Lexer).GetDbOrTblNameCStr(yyDollar[1].cstrUnion().Origin()) tblNameCStr := yylex.(*Lexer).GetDbOrTblNameCStr(yyDollar[3].cstrUnion().Origin()) yyLOCAL = tree.NewUnresolvedName(dbNameCStr, tblNameCStr, yyDollar[5].cstrUnion()) } yyVAL.union = yyLOCAL - case 1544: + case 1548: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.CStr -//line mysql_sql.y:10292 +//line mysql_sql.y:10312 { yyLOCAL = tree.NewCStr(yyDollar[1].str, 1) } yyVAL.union = yyLOCAL - case 1545: + case 1549: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.CStr -//line mysql_sql.y:10296 +//line mysql_sql.y:10316 { yyLOCAL = tree.NewCStr(yyDollar[1].str, 1) } yyVAL.union = yyLOCAL - case 1546: + case 1550: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.CStr -//line mysql_sql.y:10300 +//line mysql_sql.y:10320 { yyLOCAL = tree.NewCStr(yyDollar[1].str, 1) } yyVAL.union = yyLOCAL - case 1547: + case 1551: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.CStr -//line mysql_sql.y:10304 +//line mysql_sql.y:10324 { yyLOCAL = tree.NewCStr(yyDollar[1].str, 1) } yyVAL.union = yyLOCAL - case 1548: + case 1552: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.CStr -//line mysql_sql.y:10310 +//line mysql_sql.y:10330 { yyLOCAL = yylex.(*Lexer).GetDbOrTblNameCStr(yyDollar[1].cstrUnion().Origin()) } yyVAL.union = yyLOCAL - case 1549: + case 1553: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.UnresolvedName -//line mysql_sql.y:10316 +//line mysql_sql.y:10336 { yyLOCAL = tree.NewUnresolvedName(yyDollar[1].cstrUnion()) } yyVAL.union = yyLOCAL - case 1550: + case 1554: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.UnresolvedName -//line mysql_sql.y:10320 +//line mysql_sql.y:10340 { tblNameCStr := yylex.(*Lexer).GetDbOrTblNameCStr(yyDollar[1].cstrUnion().Origin()) yyLOCAL = tree.NewUnresolvedName(tblNameCStr, yyDollar[3].cstrUnion()) } yyVAL.union = yyLOCAL - case 1551: + case 1555: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.UnresolvedName -//line mysql_sql.y:10325 +//line mysql_sql.y:10345 { dbNameCStr := yylex.(*Lexer).GetDbOrTblNameCStr(yyDollar[1].cstrUnion().Origin()) tblNameCStr := yylex.(*Lexer).GetDbOrTblNameCStr(yyDollar[3].cstrUnion().Origin()) yyLOCAL = tree.NewUnresolvedName(dbNameCStr, tblNameCStr, yyDollar[5].cstrUnion()) } yyVAL.union = yyLOCAL - case 1552: + case 1556: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []tree.ColumnAttribute -//line mysql_sql.y:10332 +//line mysql_sql.y:10352 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1553: + case 1557: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.ColumnAttribute -//line mysql_sql.y:10336 +//line mysql_sql.y:10356 { yyLOCAL = yyDollar[1].columnAttributesUnion() } yyVAL.union = yyLOCAL - case 1554: + case 1558: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.ColumnAttribute -//line mysql_sql.y:10342 +//line mysql_sql.y:10362 { yyLOCAL = []tree.ColumnAttribute{yyDollar[1].columnAttributeUnion()} } yyVAL.union = yyLOCAL - case 1555: + case 1559: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []tree.ColumnAttribute -//line mysql_sql.y:10346 +//line mysql_sql.y:10366 { yyLOCAL = append(yyDollar[1].columnAttributesUnion(), yyDollar[2].columnAttributeUnion()) } yyVAL.union = yyLOCAL - case 1556: + case 1560: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:10352 +//line mysql_sql.y:10372 { yyLOCAL = tree.NewAttributeNull(true) } yyVAL.union = yyLOCAL - case 1557: + case 1561: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:10356 +//line mysql_sql.y:10376 { yyLOCAL = tree.NewAttributeNull(false) } yyVAL.union = yyLOCAL - case 1558: + case 1562: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:10360 +//line mysql_sql.y:10380 { yyLOCAL = tree.NewAttributeDefault(yyDollar[2].exprUnion()) } yyVAL.union = yyLOCAL - case 1559: + case 1563: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:10364 +//line mysql_sql.y:10384 { yyLOCAL = tree.NewAttributeAutoIncrement() } yyVAL.union = yyLOCAL - case 1560: + case 1564: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:10368 +//line mysql_sql.y:10388 { yyLOCAL = yyDollar[1].columnAttributeUnion() } yyVAL.union = yyLOCAL - case 1561: + case 1565: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:10372 +//line mysql_sql.y:10392 { str := util.DealCommentString(yyDollar[2].str) yyLOCAL = tree.NewAttributeComment(tree.NewNumVal(str, str, false, tree.P_char)) } yyVAL.union = yyLOCAL - case 1562: + case 1566: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:10377 +//line mysql_sql.y:10397 { yyLOCAL = tree.NewAttributeCollate(yyDollar[2].str) } yyVAL.union = yyLOCAL - case 1563: + case 1567: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:10381 +//line mysql_sql.y:10401 { yyLOCAL = tree.NewAttributeColumnFormat(yyDollar[2].str) } yyVAL.union = yyLOCAL - case 1564: + case 1568: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:10385 +//line mysql_sql.y:10405 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1565: + case 1569: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:10389 +//line mysql_sql.y:10409 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1566: + case 1570: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:10393 +//line mysql_sql.y:10413 { yyLOCAL = tree.NewAttributeStorage(yyDollar[2].str) } yyVAL.union = yyLOCAL - case 1567: + case 1571: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:10397 +//line mysql_sql.y:10417 { yyLOCAL = tree.NewAttributeAutoRandom(int(yyDollar[2].int64ValUnion())) } yyVAL.union = yyLOCAL - case 1568: + case 1572: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:10401 +//line mysql_sql.y:10421 { yyLOCAL = yyDollar[1].attributeReferenceUnion() } yyVAL.union = yyLOCAL - case 1569: + case 1573: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:10405 +//line mysql_sql.y:10425 { yyLOCAL = tree.NewAttributeCheckConstraint(yyDollar[4].exprUnion(), false, yyDollar[1].str) } yyVAL.union = yyLOCAL - case 1570: + case 1574: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:10409 +//line mysql_sql.y:10429 { yyLOCAL = tree.NewAttributeCheckConstraint(yyDollar[4].exprUnion(), yyDollar[6].boolValUnion(), yyDollar[1].str) } yyVAL.union = yyLOCAL - case 1571: + case 1575: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:10413 +//line mysql_sql.y:10433 { name := tree.NewUnresolvedColName(yyDollar[3].str) var es tree.Exprs = nil @@ -25035,10 +25109,10 @@ yydefault: yyLOCAL = tree.NewAttributeOnUpdate(expr) } yyVAL.union = yyLOCAL - case 1572: + case 1576: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:10427 +//line mysql_sql.y:10447 { v, errStr := util.GetInt64(yyDollar[2].item) if errStr != "" { @@ -25052,138 +25126,138 @@ yydefault: yyLOCAL = tree.NewAttributeSRID(uint32(v)) } yyVAL.union = yyLOCAL - case 1573: + case 1577: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:10440 +//line mysql_sql.y:10460 { yyLOCAL = tree.NewAttributeLowCardinality() } yyVAL.union = yyLOCAL - case 1574: + case 1578: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:10444 +//line mysql_sql.y:10464 { yyLOCAL = tree.NewAttributeVisable(true) } yyVAL.union = yyLOCAL - case 1575: + case 1579: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:10448 +//line mysql_sql.y:10468 { yyLOCAL = tree.NewAttributeVisable(false) } yyVAL.union = yyLOCAL - case 1576: + case 1580: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:10452 +//line mysql_sql.y:10472 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1577: + case 1581: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:10456 +//line mysql_sql.y:10476 { yyLOCAL = tree.NewAttributeHeader(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1578: + case 1582: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:10460 +//line mysql_sql.y:10480 { yyLOCAL = tree.NewAttributeHeaders() } yyVAL.union = yyLOCAL - case 1579: + case 1583: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:10464 +//line mysql_sql.y:10484 { yyLOCAL = tree.NewAttributeGeneratedAlways(yyDollar[5].exprUnion(), yyDollar[7].boolValUnion()) } yyVAL.union = yyLOCAL - case 1580: + case 1584: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:10468 +//line mysql_sql.y:10488 { yyLOCAL = tree.NewAttributeGeneratedAlways(yyDollar[3].exprUnion(), yyDollar[5].boolValUnion()) } yyVAL.union = yyLOCAL - case 1581: + case 1585: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:10473 +//line mysql_sql.y:10493 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1582: + case 1586: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:10477 +//line mysql_sql.y:10497 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1583: + case 1587: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:10481 +//line mysql_sql.y:10501 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1584: + case 1588: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:10487 +//line mysql_sql.y:10507 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1585: + case 1589: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:10491 +//line mysql_sql.y:10511 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1586: + case 1590: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:10496 +//line mysql_sql.y:10516 { yyVAL.str = "" } - case 1587: + case 1591: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:10500 +//line mysql_sql.y:10520 { yyVAL.str = yyDollar[1].str } - case 1588: + case 1592: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:10506 +//line mysql_sql.y:10526 { yyVAL.str = "" } - case 1589: + case 1593: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:10510 +//line mysql_sql.y:10530 { yyVAL.str = yyDollar[2].cstrUnion().Compare() } - case 1590: + case 1594: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.AttributeReference -//line mysql_sql.y:10516 +//line mysql_sql.y:10536 { var TableName = yyDollar[2].tableNameUnion() var KeyParts = yyDollar[3].keyPartsUnion() @@ -25199,10 +25273,10 @@ yydefault: ) } yyVAL.union = yyLOCAL - case 1591: + case 1595: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.ReferenceOnRecord -//line mysql_sql.y:10533 +//line mysql_sql.y:10553 { yyLOCAL = &tree.ReferenceOnRecord{ OnDelete: tree.REFERENCE_OPTION_INVALID, @@ -25210,10 +25284,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1592: + case 1596: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.ReferenceOnRecord -//line mysql_sql.y:10540 +//line mysql_sql.y:10560 { yyLOCAL = &tree.ReferenceOnRecord{ OnDelete: yyDollar[1].referenceOptionTypeUnion(), @@ -25221,10 +25295,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1593: + case 1597: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.ReferenceOnRecord -//line mysql_sql.y:10547 +//line mysql_sql.y:10567 { yyLOCAL = &tree.ReferenceOnRecord{ OnDelete: tree.REFERENCE_OPTION_INVALID, @@ -25232,10 +25306,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1594: + case 1598: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.ReferenceOnRecord -//line mysql_sql.y:10554 +//line mysql_sql.y:10574 { yyLOCAL = &tree.ReferenceOnRecord{ OnDelete: yyDollar[1].referenceOptionTypeUnion(), @@ -25243,10 +25317,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1595: + case 1599: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.ReferenceOnRecord -//line mysql_sql.y:10561 +//line mysql_sql.y:10581 { yyLOCAL = &tree.ReferenceOnRecord{ OnDelete: yyDollar[2].referenceOptionTypeUnion(), @@ -25254,274 +25328,274 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1596: + case 1600: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.ReferenceOptionType -//line mysql_sql.y:10570 +//line mysql_sql.y:10590 { yyLOCAL = yyDollar[3].referenceOptionTypeUnion() } yyVAL.union = yyLOCAL - case 1597: + case 1601: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.ReferenceOptionType -//line mysql_sql.y:10576 +//line mysql_sql.y:10596 { yyLOCAL = yyDollar[3].referenceOptionTypeUnion() } yyVAL.union = yyLOCAL - case 1598: + case 1602: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ReferenceOptionType -//line mysql_sql.y:10582 +//line mysql_sql.y:10602 { yyLOCAL = tree.REFERENCE_OPTION_RESTRICT } yyVAL.union = yyLOCAL - case 1599: + case 1603: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ReferenceOptionType -//line mysql_sql.y:10586 +//line mysql_sql.y:10606 { yyLOCAL = tree.REFERENCE_OPTION_CASCADE } yyVAL.union = yyLOCAL - case 1600: + case 1604: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ReferenceOptionType -//line mysql_sql.y:10590 +//line mysql_sql.y:10610 { yyLOCAL = tree.REFERENCE_OPTION_SET_NULL } yyVAL.union = yyLOCAL - case 1601: + case 1605: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ReferenceOptionType -//line mysql_sql.y:10594 +//line mysql_sql.y:10614 { yyLOCAL = tree.REFERENCE_OPTION_NO_ACTION } yyVAL.union = yyLOCAL - case 1602: + case 1606: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ReferenceOptionType -//line mysql_sql.y:10598 +//line mysql_sql.y:10618 { yyLOCAL = tree.REFERENCE_OPTION_SET_DEFAULT } yyVAL.union = yyLOCAL - case 1603: + case 1607: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.MatchType -//line mysql_sql.y:10603 +//line mysql_sql.y:10623 { yyLOCAL = tree.MATCH_INVALID } yyVAL.union = yyLOCAL - case 1605: + case 1609: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.MatchType -//line mysql_sql.y:10610 +//line mysql_sql.y:10630 { yyLOCAL = tree.MATCH_FULL } yyVAL.union = yyLOCAL - case 1606: + case 1610: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.MatchType -//line mysql_sql.y:10614 +//line mysql_sql.y:10634 { yyLOCAL = tree.MATCH_PARTIAL } yyVAL.union = yyLOCAL - case 1607: + case 1611: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.MatchType -//line mysql_sql.y:10618 +//line mysql_sql.y:10638 { yyLOCAL = tree.MATCH_SIMPLE } yyVAL.union = yyLOCAL - case 1608: + case 1612: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.FullTextSearchType -//line mysql_sql.y:10623 +//line mysql_sql.y:10643 { yyLOCAL = tree.FULLTEXT_DEFAULT } yyVAL.union = yyLOCAL - case 1609: + case 1613: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.FullTextSearchType -//line mysql_sql.y:10627 +//line mysql_sql.y:10647 { yyLOCAL = tree.FULLTEXT_NL } yyVAL.union = yyLOCAL - case 1610: + case 1614: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.FullTextSearchType -//line mysql_sql.y:10631 +//line mysql_sql.y:10651 { yyLOCAL = tree.FULLTEXT_NL_QUERY_EXPANSION } yyVAL.union = yyLOCAL - case 1611: + case 1615: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.FullTextSearchType -//line mysql_sql.y:10635 +//line mysql_sql.y:10655 { yyLOCAL = tree.FULLTEXT_BOOLEAN } yyVAL.union = yyLOCAL - case 1612: + case 1616: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.FullTextSearchType -//line mysql_sql.y:10639 +//line mysql_sql.y:10659 { yyLOCAL = tree.FULLTEXT_QUERY_EXPANSION } yyVAL.union = yyLOCAL - case 1613: + case 1617: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*tree.KeyPart -//line mysql_sql.y:10644 +//line mysql_sql.y:10664 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1614: + case 1618: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.KeyPart -//line mysql_sql.y:10648 +//line mysql_sql.y:10668 { yyLOCAL = yyDollar[2].keyPartsUnion() } yyVAL.union = yyLOCAL - case 1615: + case 1619: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:10653 +//line mysql_sql.y:10673 { yyLOCAL = -1 } yyVAL.union = yyLOCAL - case 1616: + case 1620: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:10657 +//line mysql_sql.y:10677 { yyLOCAL = yyDollar[2].item.(int64) } yyVAL.union = yyLOCAL - case 1623: + case 1627: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.Subquery -//line mysql_sql.y:10673 +//line mysql_sql.y:10693 { yyLOCAL = &tree.Subquery{Select: yyDollar[1].selectStatementUnion(), Exists: false} } yyVAL.union = yyLOCAL - case 1624: + case 1628: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10679 +//line mysql_sql.y:10699 { yyLOCAL = tree.NewBinaryExpr(tree.BIT_AND, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1625: + case 1629: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10683 +//line mysql_sql.y:10703 { yyLOCAL = tree.NewBinaryExpr(tree.BIT_OR, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1626: + case 1630: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10687 +//line mysql_sql.y:10707 { yyLOCAL = tree.NewBinaryExpr(tree.BIT_XOR, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1627: + case 1631: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10691 +//line mysql_sql.y:10711 { yyLOCAL = tree.NewBinaryExpr(tree.PLUS, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1628: + case 1632: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10695 +//line mysql_sql.y:10715 { yyLOCAL = tree.NewBinaryExpr(tree.MINUS, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1629: + case 1633: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10699 +//line mysql_sql.y:10719 { yyLOCAL = tree.NewBinaryExpr(tree.MULTI, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1630: + case 1634: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10703 +//line mysql_sql.y:10723 { yyLOCAL = tree.NewBinaryExpr(tree.DIV, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1631: + case 1635: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10707 +//line mysql_sql.y:10727 { yyLOCAL = tree.NewBinaryExpr(tree.INTEGER_DIV, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1632: + case 1636: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10711 +//line mysql_sql.y:10731 { yyLOCAL = tree.NewBinaryExpr(tree.MOD, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1633: + case 1637: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10715 +//line mysql_sql.y:10735 { yyLOCAL = tree.NewBinaryExpr(tree.MOD, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1634: + case 1638: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10719 +//line mysql_sql.y:10739 { yyLOCAL = tree.NewBinaryExpr(tree.LEFT_SHIFT, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1635: + case 1639: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10723 +//line mysql_sql.y:10743 { yyLOCAL = tree.NewBinaryExpr(tree.RIGHT_SHIFT, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1636: + case 1640: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10727 +//line mysql_sql.y:10747 { name := tree.NewUnresolvedColName("json_extract") yyLOCAL = &tree.FuncExpr{ @@ -25531,10 +25605,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1637: + case 1641: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10736 +//line mysql_sql.y:10756 { extractName := tree.NewUnresolvedColName("json_extract") inner := &tree.FuncExpr{ @@ -25550,90 +25624,90 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1638: + case 1642: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10751 +//line mysql_sql.y:10771 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1639: + case 1643: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10757 +//line mysql_sql.y:10777 { yyLOCAL = yyDollar[1].unresolvedNameUnion() } yyVAL.union = yyLOCAL - case 1640: + case 1644: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10761 +//line mysql_sql.y:10781 { yyLOCAL = yyDollar[1].varExprUnion() } yyVAL.union = yyLOCAL - case 1641: + case 1645: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10765 +//line mysql_sql.y:10785 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1642: + case 1646: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10769 +//line mysql_sql.y:10789 { yyLOCAL = tree.NewParentExpr(yyDollar[2].exprUnion()) } yyVAL.union = yyLOCAL - case 1643: + case 1647: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10773 +//line mysql_sql.y:10793 { yyLOCAL = tree.NewTuple(append(yyDollar[2].exprsUnion(), yyDollar[4].exprUnion())) } yyVAL.union = yyLOCAL - case 1644: + case 1648: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10777 +//line mysql_sql.y:10797 { yyLOCAL = tree.NewUnaryExpr(tree.UNARY_PLUS, yyDollar[2].exprUnion()) } yyVAL.union = yyLOCAL - case 1645: + case 1649: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10781 +//line mysql_sql.y:10801 { yyLOCAL = tree.NewUnaryExpr(tree.UNARY_MINUS, yyDollar[2].exprUnion()) } yyVAL.union = yyLOCAL - case 1646: + case 1650: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10785 +//line mysql_sql.y:10805 { yyLOCAL = tree.NewUnaryExpr(tree.UNARY_TILDE, yyDollar[2].exprUnion()) } yyVAL.union = yyLOCAL - case 1647: + case 1651: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10789 +//line mysql_sql.y:10809 { yyLOCAL = tree.NewUnaryExpr(tree.UNARY_MARK, yyDollar[2].exprUnion()) } yyVAL.union = yyLOCAL - case 1648: + case 1652: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10793 +//line mysql_sql.y:10813 { hint := strings.ToLower(yyDollar[2].cstrUnion().Compare()) switch hint { @@ -25676,35 +25750,35 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1649: + case 1653: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10835 +//line mysql_sql.y:10855 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1650: + case 1654: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10839 +//line mysql_sql.y:10859 { yyLOCAL = yyDollar[1].subqueryUnion() } yyVAL.union = yyLOCAL - case 1651: + case 1655: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10843 +//line mysql_sql.y:10863 { yyDollar[2].subqueryUnion().Exists = true yyLOCAL = yyDollar[2].subqueryUnion() } yyVAL.union = yyLOCAL - case 1652: + case 1656: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10848 +//line mysql_sql.y:10868 { yyLOCAL = &tree.CaseExpr{ Expr: yyDollar[2].exprUnion(), @@ -25713,50 +25787,50 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1653: + case 1657: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10856 +//line mysql_sql.y:10876 { yyLOCAL = tree.NewCastExpr(yyDollar[3].exprUnion(), yyDollar[5].columnTypeUnion()) } yyVAL.union = yyLOCAL - case 1654: + case 1658: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10860 +//line mysql_sql.y:10880 { yyLOCAL = tree.NewSerialExtractExpr(yyDollar[3].exprUnion(), yyDollar[5].exprUnion(), yyDollar[7].columnTypeUnion()) } yyVAL.union = yyLOCAL - case 1655: + case 1659: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10864 +//line mysql_sql.y:10884 { yyLOCAL = tree.NewBitCastExpr(yyDollar[3].exprUnion(), yyDollar[5].columnTypeUnion()) } yyVAL.union = yyLOCAL - case 1656: + case 1660: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10868 +//line mysql_sql.y:10888 { yyLOCAL = tree.NewCastExpr(yyDollar[1].exprUnion(), yyDollar[3].columnTypeUnion()) } yyVAL.union = yyLOCAL - case 1657: + case 1661: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10872 +//line mysql_sql.y:10892 { yyLOCAL = tree.NewCastExpr(yyDollar[3].exprUnion(), yyDollar[5].columnTypeUnion()) } yyVAL.union = yyLOCAL - case 1658: + case 1662: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10876 +//line mysql_sql.y:10896 { name := tree.NewUnresolvedColName(yyDollar[1].str) es := tree.NewNumVal(yyDollar[5].str, yyDollar[5].str, false, tree.P_char) @@ -25767,66 +25841,66 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1659: + case 1663: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10886 +//line mysql_sql.y:10906 { yyLOCAL = yyDollar[1].funcExprUnion() } yyVAL.union = yyLOCAL - case 1660: + case 1664: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10890 +//line mysql_sql.y:10910 { yyLOCAL = yyDollar[1].funcExprUnion() } yyVAL.union = yyLOCAL - case 1661: + case 1665: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10894 +//line mysql_sql.y:10914 { yyLOCAL = yyDollar[1].funcExprUnion() } yyVAL.union = yyLOCAL - case 1662: + case 1666: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10898 +//line mysql_sql.y:10918 { yyLOCAL = yyDollar[1].funcExprUnion() } yyVAL.union = yyLOCAL - case 1663: + case 1667: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10902 +//line mysql_sql.y:10922 { yyLOCAL = yyDollar[1].funcExprUnion() } yyVAL.union = yyLOCAL - case 1664: + case 1668: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10906 +//line mysql_sql.y:10926 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1665: + case 1669: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10910 +//line mysql_sql.y:10930 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1666: + case 1670: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:10914 +//line mysql_sql.y:10934 { val, err := tree.NewFullTextMatchFuncExpression(yyDollar[3].keyPartsUnion(), yyDollar[7].str, yyDollar[8].fullTextSearchTypeUnion()) if err != nil { @@ -25836,16 +25910,16 @@ yydefault: yyLOCAL = val } yyVAL.union = yyLOCAL - case 1667: + case 1671: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:10925 +//line mysql_sql.y:10945 { yyVAL.str = yyDollar[1].str } - case 1668: + case 1672: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:10931 +//line mysql_sql.y:10951 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -25855,10 +25929,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1669: + case 1673: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:10940 +//line mysql_sql.y:10960 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -25868,10 +25942,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1670: + case 1674: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:10949 +//line mysql_sql.y:10969 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -25881,10 +25955,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1671: + case 1675: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:10958 +//line mysql_sql.y:10978 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -25894,10 +25968,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1672: + case 1676: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:10967 +//line mysql_sql.y:10987 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -25908,10 +25982,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1673: + case 1677: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:10977 +//line mysql_sql.y:10997 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -25921,10 +25995,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1674: + case 1678: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:10986 +//line mysql_sql.y:11006 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -25935,10 +26009,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1675: + case 1679: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:10996 +//line mysql_sql.y:11016 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -25949,10 +26023,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1676: + case 1680: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11006 +//line mysql_sql.y:11026 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -25963,10 +26037,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1677: + case 1681: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11016 +//line mysql_sql.y:11036 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -25977,10 +26051,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1678: + case 1682: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11026 +//line mysql_sql.y:11046 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -25991,10 +26065,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1679: + case 1683: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11036 +//line mysql_sql.y:11056 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -26005,10 +26079,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1680: + case 1684: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11046 +//line mysql_sql.y:11066 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -26019,10 +26093,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1681: + case 1685: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11056 +//line mysql_sql.y:11076 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -26033,10 +26107,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1682: + case 1686: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11066 +//line mysql_sql.y:11086 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -26047,10 +26121,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1683: + case 1687: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:11078 +//line mysql_sql.y:11098 { v := int(yyDollar[5].item.(int64)) val, err := tree.NewSampleRowsFuncExpression(v, true, nil, "block") @@ -26061,10 +26135,10 @@ yydefault: yyLOCAL = val } yyVAL.union = yyLOCAL - case 1684: + case 1688: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:11088 +//line mysql_sql.y:11108 { v := int(yyDollar[5].item.(int64)) val, err := tree.NewSampleRowsFuncExpression(v, true, nil, yyDollar[8].str) @@ -26075,10 +26149,10 @@ yydefault: yyLOCAL = val } yyVAL.union = yyLOCAL - case 1685: + case 1689: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:11098 +//line mysql_sql.y:11118 { val, err := tree.NewSamplePercentFuncExpression1(yyDollar[5].item.(int64), true, nil) if err != nil { @@ -26088,10 +26162,10 @@ yydefault: yyLOCAL = val } yyVAL.union = yyLOCAL - case 1686: + case 1690: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:11107 +//line mysql_sql.y:11127 { val, err := tree.NewSamplePercentFuncExpression2(yyDollar[5].item.(float64), true, nil) if err != nil { @@ -26101,10 +26175,10 @@ yydefault: yyLOCAL = val } yyVAL.union = yyLOCAL - case 1687: + case 1691: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:11117 +//line mysql_sql.y:11137 { v := int(yyDollar[5].item.(int64)) val, err := tree.NewSampleRowsFuncExpression(v, false, yyDollar[3].exprsUnion(), "block") @@ -26115,10 +26189,10 @@ yydefault: yyLOCAL = val } yyVAL.union = yyLOCAL - case 1688: + case 1692: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:11127 +//line mysql_sql.y:11147 { v := int(yyDollar[5].item.(int64)) val, err := tree.NewSampleRowsFuncExpression(v, false, yyDollar[3].exprsUnion(), yyDollar[8].str) @@ -26129,10 +26203,10 @@ yydefault: yyLOCAL = val } yyVAL.union = yyLOCAL - case 1689: + case 1693: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:11137 +//line mysql_sql.y:11157 { val, err := tree.NewSamplePercentFuncExpression1(yyDollar[5].item.(int64), false, yyDollar[3].exprsUnion()) if err != nil { @@ -26142,10 +26216,10 @@ yydefault: yyLOCAL = val } yyVAL.union = yyLOCAL - case 1690: + case 1694: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:11146 +//line mysql_sql.y:11166 { val, err := tree.NewSamplePercentFuncExpression2(yyDollar[5].item.(float64), false, yyDollar[3].exprsUnion()) if err != nil { @@ -26155,58 +26229,58 @@ yydefault: yyLOCAL = val } yyVAL.union = yyLOCAL - case 1691: + case 1695: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:11156 +//line mysql_sql.y:11176 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1692: + case 1696: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:11160 +//line mysql_sql.y:11180 { yyLOCAL = yyDollar[2].exprUnion() } yyVAL.union = yyLOCAL - case 1693: + case 1697: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:11165 +//line mysql_sql.y:11185 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1694: + case 1698: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:11169 +//line mysql_sql.y:11189 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1695: + case 1699: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.When -//line mysql_sql.y:11175 +//line mysql_sql.y:11195 { yyLOCAL = []*tree.When{yyDollar[1].whenClauseUnion()} } yyVAL.union = yyLOCAL - case 1696: + case 1700: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []*tree.When -//line mysql_sql.y:11179 +//line mysql_sql.y:11199 { yyLOCAL = append(yyDollar[1].whenClauseListUnion(), yyDollar[2].whenClauseUnion()) } yyVAL.union = yyLOCAL - case 1697: + case 1701: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.When -//line mysql_sql.y:11185 +//line mysql_sql.y:11205 { yyLOCAL = &tree.When{ Cond: yyDollar[2].exprUnion(), @@ -26214,9 +26288,9 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1698: + case 1702: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:11194 +//line mysql_sql.y:11214 { t := yyVAL.columnTypeUnion() str := strings.ToLower(t.InternalType.FamilyString) @@ -26229,10 +26303,10 @@ yydefault: } } } - case 1699: + case 1703: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:11206 +//line mysql_sql.y:11226 { name := yyDollar[1].str if yyDollar[2].str != "" { @@ -26250,10 +26324,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1700: + case 1704: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:11223 +//line mysql_sql.y:11243 { locale := "" yyLOCAL = &tree.T{ @@ -26268,10 +26342,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1702: + case 1706: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:11240 +//line mysql_sql.y:11260 { locale := "" yyLOCAL = &tree.T{ @@ -26285,10 +26359,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1703: + case 1707: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:11253 +//line mysql_sql.y:11273 { locale := "" yyLOCAL = &tree.T{ @@ -26302,10 +26376,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1704: + case 1708: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:11266 +//line mysql_sql.y:11286 { locale := "" yyLOCAL = &tree.T{ @@ -26318,10 +26392,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1705: + case 1709: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:11278 +//line mysql_sql.y:11298 { locale := "" yyLOCAL = &tree.T{ @@ -26336,10 +26410,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1706: + case 1710: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:11292 +//line mysql_sql.y:11312 { locale := "" yyLOCAL = &tree.T{ @@ -26355,10 +26429,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1707: + case 1711: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:11307 +//line mysql_sql.y:11327 { locale := "" yyLOCAL = &tree.T{ @@ -26374,10 +26448,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1708: + case 1712: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:11322 +//line mysql_sql.y:11342 { name := yyDollar[1].str if yyDollar[2].str != "" { @@ -26395,10 +26469,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1709: + case 1713: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:11339 +//line mysql_sql.y:11359 { locale := "" yyLOCAL = &tree.T{ @@ -26413,95 +26487,95 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1710: + case 1714: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:11355 +//line mysql_sql.y:11375 { } - case 1714: + case 1718: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FrameBound -//line mysql_sql.y:11362 +//line mysql_sql.y:11382 { yyLOCAL = &tree.FrameBound{Type: tree.Following, UnBounded: true} } yyVAL.union = yyLOCAL - case 1715: + case 1719: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FrameBound -//line mysql_sql.y:11366 +//line mysql_sql.y:11386 { yyLOCAL = &tree.FrameBound{Type: tree.Following, Expr: yyDollar[1].exprUnion()} } yyVAL.union = yyLOCAL - case 1716: + case 1720: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FrameBound -//line mysql_sql.y:11370 +//line mysql_sql.y:11390 { yyLOCAL = &tree.FrameBound{Type: tree.Following, Expr: yyDollar[1].exprUnion()} } yyVAL.union = yyLOCAL - case 1717: + case 1721: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FrameBound -//line mysql_sql.y:11376 +//line mysql_sql.y:11396 { yyLOCAL = &tree.FrameBound{Type: tree.CurrentRow} } yyVAL.union = yyLOCAL - case 1718: + case 1722: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FrameBound -//line mysql_sql.y:11380 +//line mysql_sql.y:11400 { yyLOCAL = &tree.FrameBound{Type: tree.Preceding, UnBounded: true} } yyVAL.union = yyLOCAL - case 1719: + case 1723: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FrameBound -//line mysql_sql.y:11384 +//line mysql_sql.y:11404 { yyLOCAL = &tree.FrameBound{Type: tree.Preceding, Expr: yyDollar[1].exprUnion()} } yyVAL.union = yyLOCAL - case 1720: + case 1724: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FrameBound -//line mysql_sql.y:11388 +//line mysql_sql.y:11408 { yyLOCAL = &tree.FrameBound{Type: tree.Preceding, Expr: yyDollar[1].exprUnion()} } yyVAL.union = yyLOCAL - case 1721: + case 1725: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.FrameType -//line mysql_sql.y:11394 +//line mysql_sql.y:11414 { yyLOCAL = tree.Rows } yyVAL.union = yyLOCAL - case 1722: + case 1726: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.FrameType -//line mysql_sql.y:11398 +//line mysql_sql.y:11418 { yyLOCAL = tree.Range } yyVAL.union = yyLOCAL - case 1723: + case 1727: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.FrameType -//line mysql_sql.y:11402 +//line mysql_sql.y:11422 { yyLOCAL = tree.Groups } yyVAL.union = yyLOCAL - case 1724: + case 1728: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FrameClause -//line mysql_sql.y:11408 +//line mysql_sql.y:11428 { yyLOCAL = &tree.FrameClause{ Type: yyDollar[1].frameTypeUnion(), @@ -26510,10 +26584,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1725: + case 1729: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FrameClause -//line mysql_sql.y:11416 +//line mysql_sql.y:11436 { yyLOCAL = &tree.FrameClause{ Type: yyDollar[1].frameTypeUnion(), @@ -26523,82 +26597,82 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1726: + case 1730: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.FrameClause -//line mysql_sql.y:11426 +//line mysql_sql.y:11446 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1727: + case 1731: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.FrameClause -//line mysql_sql.y:11430 +//line mysql_sql.y:11450 { yyLOCAL = yyDollar[1].frameClauseUnion() } yyVAL.union = yyLOCAL - case 1728: + case 1732: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:11436 +//line mysql_sql.y:11456 { yyLOCAL = yyDollar[3].exprsUnion() } yyVAL.union = yyLOCAL - case 1729: + case 1733: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:11441 +//line mysql_sql.y:11461 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1730: + case 1734: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:11445 +//line mysql_sql.y:11465 { yyLOCAL = yyDollar[1].exprsUnion() } yyVAL.union = yyLOCAL - case 1731: + case 1735: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:11450 +//line mysql_sql.y:11470 { yyVAL.str = "," } - case 1732: + case 1736: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:11454 +//line mysql_sql.y:11474 { yyVAL.str = yyDollar[2].str } - case 1733: + case 1737: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:11459 +//line mysql_sql.y:11479 { yyVAL.str = "1,vector_l2_ops,random,false" } - case 1734: + case 1738: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:11463 +//line mysql_sql.y:11483 { yyVAL.str = yyDollar[2].str } - case 1735: + case 1739: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.WindowSpec -//line mysql_sql.y:11468 +//line mysql_sql.y:11488 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1737: + case 1741: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.WindowSpec -//line mysql_sql.y:11475 +//line mysql_sql.y:11495 { hasFrame := true var f *tree.FrameClause @@ -26623,10 +26697,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1738: + case 1742: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11501 +//line mysql_sql.y:11521 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -26639,10 +26713,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1739: + case 1743: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11513 +//line mysql_sql.y:11533 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -26655,10 +26729,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1740: + case 1744: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11525 +//line mysql_sql.y:11545 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -26670,10 +26744,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1741: + case 1745: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11536 +//line mysql_sql.y:11556 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -26685,10 +26759,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1742: + case 1746: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11547 +//line mysql_sql.y:11567 { name := tree.NewUnresolvedColName(yyDollar[1].str) es := tree.NewNumVal("*", "*", false, tree.P_star) @@ -26700,10 +26774,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1743: + case 1747: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11558 +//line mysql_sql.y:11578 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -26714,10 +26788,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1744: + case 1748: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11568 +//line mysql_sql.y:11588 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -26728,10 +26802,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1745: + case 1749: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11578 +//line mysql_sql.y:11598 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -26743,10 +26817,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1746: + case 1750: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11589 +//line mysql_sql.y:11609 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -26758,10 +26832,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1747: + case 1751: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11600 +//line mysql_sql.y:11620 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -26773,10 +26847,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1748: + case 1752: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11611 +//line mysql_sql.y:11631 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -26788,10 +26862,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1749: + case 1753: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11622 +//line mysql_sql.y:11642 { name := tree.NewUnresolvedColName(yyDollar[1].str) es := tree.NewNumVal("*", "*", false, tree.P_star) @@ -26803,10 +26877,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1750: + case 1754: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11633 +//line mysql_sql.y:11653 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -26818,10 +26892,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1751: + case 1755: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11644 +//line mysql_sql.y:11664 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -26833,10 +26907,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1752: + case 1756: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11655 +//line mysql_sql.y:11675 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -26848,10 +26922,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1753: + case 1757: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11666 +//line mysql_sql.y:11686 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -26863,10 +26937,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1754: + case 1758: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11677 +//line mysql_sql.y:11697 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -26878,10 +26952,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1755: + case 1759: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11688 +//line mysql_sql.y:11708 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -26893,10 +26967,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1756: + case 1760: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11699 +//line mysql_sql.y:11719 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -26908,10 +26982,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1757: + case 1761: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11710 +//line mysql_sql.y:11730 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -26923,10 +26997,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1758: + case 1762: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11721 +//line mysql_sql.y:11741 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -26938,10 +27012,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1759: + case 1763: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11732 +//line mysql_sql.y:11752 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -26953,10 +27027,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1760: + case 1764: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11743 +//line mysql_sql.y:11763 { name := tree.NewUnresolvedColName(yyDollar[1].str) var columnList tree.Exprs @@ -26974,10 +27048,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1764: + case 1768: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11767 +//line mysql_sql.y:11787 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -26987,10 +27061,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1765: + case 1769: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11776 +//line mysql_sql.y:11796 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -27000,10 +27074,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1766: + case 1770: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11785 +//line mysql_sql.y:11805 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -27013,10 +27087,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1767: + case 1771: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11794 +//line mysql_sql.y:11814 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -27026,10 +27100,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1768: + case 1772: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11803 +//line mysql_sql.y:11823 { name := tree.NewUnresolvedColName(yyDollar[1].str) str := strings.ToLower(yyDollar[3].str) @@ -27041,10 +27115,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1769: + case 1773: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11814 +//line mysql_sql.y:11834 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -27054,10 +27128,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1770: + case 1774: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11823 +//line mysql_sql.y:11843 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -27068,10 +27142,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1771: + case 1775: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11833 +//line mysql_sql.y:11853 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -27081,10 +27155,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1772: + case 1776: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11842 +//line mysql_sql.y:11862 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -27094,10 +27168,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1773: + case 1777: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11851 +//line mysql_sql.y:11871 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -27107,10 +27181,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1774: + case 1778: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11860 +//line mysql_sql.y:11880 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -27120,10 +27194,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1775: + case 1779: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11869 +//line mysql_sql.y:11889 { name := tree.NewUnresolvedColName(yyDollar[1].str) arg0 := tree.NewNumVal(int64(0), "0", false, tree.P_int64) @@ -27136,10 +27210,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1776: + case 1780: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11881 +//line mysql_sql.y:11901 { name := tree.NewUnresolvedColName(yyDollar[1].str) arg0 := tree.NewNumVal(int64(1), "1", false, tree.P_int64) @@ -27151,10 +27225,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1777: + case 1781: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11892 +//line mysql_sql.y:11912 { name := tree.NewUnresolvedColName(yyDollar[1].str) arg0 := tree.NewNumVal(int64(2), "2", false, tree.P_int64) @@ -27168,10 +27242,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1778: + case 1782: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11905 +//line mysql_sql.y:11925 { name := tree.NewUnresolvedColName(yyDollar[1].str) arg0 := tree.NewNumVal(int64(3), "3", false, tree.P_int64) @@ -27184,10 +27258,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1779: + case 1783: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11917 +//line mysql_sql.y:11937 { column := tree.NewUnresolvedColName(yyDollar[3].str) name := tree.NewUnresolvedColName(yyDollar[1].str) @@ -27198,16 +27272,16 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1786: + case 1790: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:11939 +//line mysql_sql.y:11959 { yyVAL.str = yyDollar[1].str } - case 1819: + case 1823: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11981 +//line mysql_sql.y:12001 { name := tree.NewUnresolvedColName(yyDollar[1].str) var es tree.Exprs = nil @@ -27221,10 +27295,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1820: + case 1824: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:11994 +//line mysql_sql.y:12014 { name := tree.NewUnresolvedColName(yyDollar[1].str) var es tree.Exprs = nil @@ -27238,10 +27312,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1821: + case 1825: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:12007 +//line mysql_sql.y:12027 { name := tree.NewUnresolvedColName(yyDollar[1].str) str := strings.ToLower(yyDollar[3].str) @@ -27253,10 +27327,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1822: + case 1826: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:12018 +//line mysql_sql.y:12038 { name := tree.NewUnresolvedColName(yyDollar[1].str) str := strings.ToLower(yyDollar[3].str) @@ -27268,10 +27342,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1823: + case 1827: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:12029 +//line mysql_sql.y:12049 { name := tree.NewUnresolvedColName(yyDollar[1].str) str := strings.ToUpper(yyDollar[3].str) @@ -27283,10 +27357,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1824: + case 1828: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:12041 +//line mysql_sql.y:12061 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -27296,10 +27370,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1825: + case 1829: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:12050 +//line mysql_sql.y:12070 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -27308,10 +27382,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1826: + case 1830: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:12058 +//line mysql_sql.y:12078 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -27320,10 +27394,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1827: + case 1831: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:12066 +//line mysql_sql.y:12086 { name := tree.NewUnresolvedColName(yyDollar[1].str) var es tree.Exprs = nil @@ -27337,10 +27411,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1828: + case 1832: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:12079 +//line mysql_sql.y:12099 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -27350,10 +27424,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1829: + case 1833: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:12088 +//line mysql_sql.y:12108 { name := tree.NewUnresolvedColName(yyDollar[1].str) exprs := make([]tree.Expr, 1) @@ -27365,10 +27439,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1830: + case 1834: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:12099 +//line mysql_sql.y:12119 { name := tree.NewUnresolvedColName(yyDollar[1].str) exprs := make([]tree.Expr, 1) @@ -27380,10 +27454,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1831: + case 1835: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:12110 +//line mysql_sql.y:12130 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -27393,10 +27467,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1832: + case 1836: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:12119 +//line mysql_sql.y:12139 { cn := tree.NewNumVal(yyDollar[5].str, yyDollar[5].str, false, tree.P_char) es := yyDollar[3].exprsUnion() @@ -27409,10 +27483,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1833: + case 1837: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:12131 +//line mysql_sql.y:12151 { val := tree.NewNumVal(yyDollar[2].str, yyDollar[2].str, false, tree.P_char) name := tree.NewUnresolvedColName(yyDollar[1].str) @@ -27423,10 +27497,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1834: + case 1838: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:12141 +//line mysql_sql.y:12161 { val := tree.NewNumVal(yyDollar[2].str, yyDollar[2].str, false, tree.P_char) name := tree.NewUnresolvedColName(yyDollar[1].str) @@ -27437,10 +27511,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1835: + case 1839: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:12151 +//line mysql_sql.y:12171 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -27450,10 +27524,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1836: + case 1840: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:12160 +//line mysql_sql.y:12180 { es := tree.Exprs{yyDollar[3].exprUnion()} es = append(es, yyDollar[5].exprUnion()) @@ -27465,10 +27539,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1837: + case 1841: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:12171 +//line mysql_sql.y:12191 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -27478,10 +27552,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1838: + case 1842: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:12180 +//line mysql_sql.y:12200 { val := tree.NewNumVal(yyDollar[2].str, yyDollar[2].str, false, tree.P_char) name := tree.NewUnresolvedColName(yyDollar[1].str) @@ -27492,10 +27566,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1839: + case 1843: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:12190 +//line mysql_sql.y:12210 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -27505,10 +27579,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1840: + case 1844: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:12199 +//line mysql_sql.y:12219 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -27518,10 +27592,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1841: + case 1845: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:12208 +//line mysql_sql.y:12228 { name := tree.NewUnresolvedColName(yyDollar[1].str) yyLOCAL = &tree.FuncExpr{ @@ -27531,34 +27605,34 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1842: + case 1846: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12218 +//line mysql_sql.y:12238 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1843: + case 1847: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12222 +//line mysql_sql.y:12242 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1844: + case 1848: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12228 +//line mysql_sql.y:12248 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1845: + case 1849: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12232 +//line mysql_sql.y:12252 { ival, errStr := util.GetInt64(yyDollar[2].item) if errStr != "" { @@ -27569,20 +27643,20 @@ yydefault: yyLOCAL = tree.NewNumVal(ival, str, false, tree.P_int64) } yyVAL.union = yyLOCAL - case 1852: + case 1856: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:12251 +//line mysql_sql.y:12271 { } - case 1853: + case 1857: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:12253 +//line mysql_sql.y:12273 { } - case 1887: + case 1891: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12294 +//line mysql_sql.y:12314 { name := tree.NewUnresolvedColName(yyDollar[1].str) str := strings.ToLower(yyDollar[3].str) @@ -27594,106 +27668,106 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1888: + case 1892: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.FuncType -//line mysql_sql.y:12306 +//line mysql_sql.y:12326 { yyLOCAL = tree.FUNC_TYPE_DEFAULT } yyVAL.union = yyLOCAL - case 1889: + case 1893: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.FuncType -//line mysql_sql.y:12310 +//line mysql_sql.y:12330 { yyLOCAL = tree.FUNC_TYPE_DISTINCT } yyVAL.union = yyLOCAL - case 1890: + case 1894: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.FuncType -//line mysql_sql.y:12314 +//line mysql_sql.y:12334 { yyLOCAL = tree.FUNC_TYPE_ALL } yyVAL.union = yyLOCAL - case 1891: + case 1895: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.Tuple -//line mysql_sql.y:12320 +//line mysql_sql.y:12340 { yyLOCAL = tree.NewTuple(yyDollar[2].exprsUnion()) } yyVAL.union = yyLOCAL - case 1892: + case 1896: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:12325 +//line mysql_sql.y:12345 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1893: + case 1897: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:12329 +//line mysql_sql.y:12349 { yyLOCAL = yyDollar[1].exprsUnion() } yyVAL.union = yyLOCAL - case 1894: + case 1898: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:12335 +//line mysql_sql.y:12355 { yyLOCAL = tree.Exprs{yyDollar[1].exprUnion()} } yyVAL.union = yyLOCAL - case 1895: + case 1899: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:12339 +//line mysql_sql.y:12359 { yyLOCAL = append(yyDollar[1].exprsUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1896: + case 1900: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:12345 +//line mysql_sql.y:12365 { yyLOCAL = tree.Exprs{yyDollar[1].exprUnion()} } yyVAL.union = yyLOCAL - case 1897: + case 1901: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:12349 +//line mysql_sql.y:12369 { yyLOCAL = append(yyDollar[1].exprsUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1898: + case 1902: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12356 +//line mysql_sql.y:12376 { yyLOCAL = tree.NewAndExpr(yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1899: + case 1903: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12360 +//line mysql_sql.y:12380 { yyLOCAL = tree.NewOrExpr(yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1900: + case 1904: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12364 +//line mysql_sql.y:12384 { name := tree.NewUnresolvedColName("concat") yyLOCAL = &tree.FuncExpr{ @@ -27703,355 +27777,355 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1901: + case 1905: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12373 +//line mysql_sql.y:12393 { yyLOCAL = tree.NewXorExpr(yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1902: + case 1906: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12377 +//line mysql_sql.y:12397 { yyLOCAL = tree.NewNotExpr(yyDollar[2].exprUnion()) } yyVAL.union = yyLOCAL - case 1903: + case 1907: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12381 +//line mysql_sql.y:12401 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1904: + case 1908: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12386 +//line mysql_sql.y:12406 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1905: + case 1909: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12390 +//line mysql_sql.y:12410 { yyLOCAL = tree.NewMaxValue() } yyVAL.union = yyLOCAL - case 1906: + case 1910: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12396 +//line mysql_sql.y:12416 { yyLOCAL = tree.NewIsNullExpr(yyDollar[1].exprUnion()) } yyVAL.union = yyLOCAL - case 1907: + case 1911: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12400 +//line mysql_sql.y:12420 { yyLOCAL = tree.NewIsNotNullExpr(yyDollar[1].exprUnion()) } yyVAL.union = yyLOCAL - case 1908: + case 1912: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12404 +//line mysql_sql.y:12424 { yyLOCAL = tree.NewIsUnknownExpr(yyDollar[1].exprUnion()) } yyVAL.union = yyLOCAL - case 1909: + case 1913: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12408 +//line mysql_sql.y:12428 { yyLOCAL = tree.NewIsNotUnknownExpr(yyDollar[1].exprUnion()) } yyVAL.union = yyLOCAL - case 1910: + case 1914: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12412 +//line mysql_sql.y:12432 { yyLOCAL = tree.NewIsTrueExpr(yyDollar[1].exprUnion()) } yyVAL.union = yyLOCAL - case 1911: + case 1915: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12416 +//line mysql_sql.y:12436 { yyLOCAL = tree.NewIsNotTrueExpr(yyDollar[1].exprUnion()) } yyVAL.union = yyLOCAL - case 1912: + case 1916: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12420 +//line mysql_sql.y:12440 { yyLOCAL = tree.NewIsFalseExpr(yyDollar[1].exprUnion()) } yyVAL.union = yyLOCAL - case 1913: + case 1917: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12424 +//line mysql_sql.y:12444 { yyLOCAL = tree.NewIsNotFalseExpr(yyDollar[1].exprUnion()) } yyVAL.union = yyLOCAL - case 1914: + case 1918: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12428 +//line mysql_sql.y:12448 { yyLOCAL = tree.NewComparisonExpr(yyDollar[2].comparisonOpUnion(), yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1915: + case 1919: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12432 +//line mysql_sql.y:12452 { 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 1917: + case 1921: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12440 +//line mysql_sql.y:12460 { yyLOCAL = tree.NewComparisonExpr(tree.IN, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1918: + case 1922: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12444 +//line mysql_sql.y:12464 { yyLOCAL = tree.NewComparisonExpr(tree.NOT_IN, yyDollar[1].exprUnion(), yyDollar[4].exprUnion()) } yyVAL.union = yyLOCAL - case 1919: + case 1923: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12448 +//line mysql_sql.y:12468 { yyLOCAL = tree.NewComparisonExprWithEscape(tree.LIKE, yyDollar[1].exprUnion(), yyDollar[3].exprUnion(), yyDollar[4].exprUnion()) } yyVAL.union = yyLOCAL - case 1920: + case 1924: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12452 +//line mysql_sql.y:12472 { yyLOCAL = tree.NewComparisonExprWithEscape(tree.NOT_LIKE, yyDollar[1].exprUnion(), yyDollar[4].exprUnion(), yyDollar[5].exprUnion()) } yyVAL.union = yyLOCAL - case 1921: + case 1925: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12456 +//line mysql_sql.y:12476 { yyLOCAL = tree.NewComparisonExprWithEscape(tree.ILIKE, yyDollar[1].exprUnion(), yyDollar[3].exprUnion(), yyDollar[4].exprUnion()) } yyVAL.union = yyLOCAL - case 1922: + case 1926: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12460 +//line mysql_sql.y:12480 { yyLOCAL = tree.NewComparisonExprWithEscape(tree.NOT_ILIKE, yyDollar[1].exprUnion(), yyDollar[4].exprUnion(), yyDollar[5].exprUnion()) } yyVAL.union = yyLOCAL - case 1923: + case 1927: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12464 +//line mysql_sql.y:12484 { yyLOCAL = tree.NewComparisonExpr(tree.REG_MATCH, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } yyVAL.union = yyLOCAL - case 1924: + case 1928: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12468 +//line mysql_sql.y:12488 { yyLOCAL = tree.NewComparisonExpr(tree.NOT_REG_MATCH, yyDollar[1].exprUnion(), yyDollar[4].exprUnion()) } yyVAL.union = yyLOCAL - case 1925: + case 1929: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12472 +//line mysql_sql.y:12492 { yyLOCAL = tree.NewRangeCond(false, yyDollar[1].exprUnion(), yyDollar[3].exprUnion(), yyDollar[5].exprUnion()) } yyVAL.union = yyLOCAL - case 1926: + case 1930: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12476 +//line mysql_sql.y:12496 { yyLOCAL = tree.NewRangeCond(true, yyDollar[1].exprUnion(), yyDollar[4].exprUnion(), yyDollar[6].exprUnion()) } yyVAL.union = yyLOCAL - case 1928: + case 1932: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12482 +//line mysql_sql.y:12502 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1929: + case 1933: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12486 +//line mysql_sql.y:12506 { yyLOCAL = yyDollar[2].exprUnion() } yyVAL.union = yyLOCAL - case 1930: + case 1934: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12492 +//line mysql_sql.y:12512 { yyLOCAL = yyDollar[1].tupleUnion() } yyVAL.union = yyLOCAL - case 1931: + case 1935: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12496 +//line mysql_sql.y:12516 { yyLOCAL = yyDollar[1].subqueryUnion() } yyVAL.union = yyLOCAL - case 1932: + case 1936: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:12503 +//line mysql_sql.y:12523 { yyLOCAL = tree.ALL } yyVAL.union = yyLOCAL - case 1933: + case 1937: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:12507 +//line mysql_sql.y:12527 { yyLOCAL = tree.ANY } yyVAL.union = yyLOCAL - case 1934: + case 1938: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:12511 +//line mysql_sql.y:12531 { yyLOCAL = tree.SOME } yyVAL.union = yyLOCAL - case 1935: + case 1939: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:12517 +//line mysql_sql.y:12537 { yyLOCAL = tree.EQUAL } yyVAL.union = yyLOCAL - case 1936: + case 1940: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:12521 +//line mysql_sql.y:12541 { yyLOCAL = tree.LESS_THAN } yyVAL.union = yyLOCAL - case 1937: + case 1941: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:12525 +//line mysql_sql.y:12545 { yyLOCAL = tree.GREAT_THAN } yyVAL.union = yyLOCAL - case 1938: + case 1942: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:12529 +//line mysql_sql.y:12549 { yyLOCAL = tree.LESS_THAN_EQUAL } yyVAL.union = yyLOCAL - case 1939: + case 1943: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:12533 +//line mysql_sql.y:12553 { yyLOCAL = tree.GREAT_THAN_EQUAL } yyVAL.union = yyLOCAL - case 1940: + case 1944: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:12537 +//line mysql_sql.y:12557 { yyLOCAL = tree.NOT_EQUAL } yyVAL.union = yyLOCAL - case 1941: + case 1945: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:12541 +//line mysql_sql.y:12561 { yyLOCAL = tree.NULL_SAFE_EQUAL } yyVAL.union = yyLOCAL - case 1942: + case 1946: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:12547 +//line mysql_sql.y:12567 { yyLOCAL = tree.NewAttributePrimaryKey() } yyVAL.union = yyLOCAL - case 1943: + case 1947: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:12551 +//line mysql_sql.y:12571 { yyLOCAL = tree.NewAttributeUniqueKey() } yyVAL.union = yyLOCAL - case 1944: + case 1948: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:12555 +//line mysql_sql.y:12575 { yyLOCAL = tree.NewAttributeUnique() } yyVAL.union = yyLOCAL - case 1945: + case 1949: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:12559 +//line mysql_sql.y:12579 { yyLOCAL = tree.NewAttributeKey() } yyVAL.union = yyLOCAL - case 1946: + case 1950: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12565 +//line mysql_sql.y:12585 { str := fmt.Sprintf("%v", yyDollar[1].item) switch v := yyDollar[1].item.(type) { @@ -28065,35 +28139,35 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1947: + case 1951: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12578 +//line mysql_sql.y:12598 { fval := yyDollar[1].item.(float64) yyLOCAL = tree.NewNumVal(fval, yylex.(*Lexer).scanner.LastToken, false, tree.P_float64) } yyVAL.union = yyLOCAL - case 1948: + case 1952: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12583 +//line mysql_sql.y:12603 { yyLOCAL = tree.NewNumVal(yyDollar[1].str, yyDollar[1].str, false, tree.P_decimal) } yyVAL.union = yyLOCAL - case 1949: + case 1953: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12589 +//line mysql_sql.y:12609 { yyLOCAL = tree.NewNumVal(yyDollar[1].str, yyDollar[1].str, false, tree.P_char) } yyVAL.union = yyLOCAL - case 1950: + case 1954: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12593 +//line mysql_sql.y:12613 { str := fmt.Sprintf("%v", yyDollar[1].item) switch v := yyDollar[1].item.(type) { @@ -28107,51 +28181,51 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1951: + case 1955: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12606 +//line mysql_sql.y:12626 { fval := yyDollar[1].item.(float64) yyLOCAL = tree.NewNumVal(fval, yylex.(*Lexer).scanner.LastToken, false, tree.P_float64) } yyVAL.union = yyLOCAL - case 1952: + case 1956: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12611 +//line mysql_sql.y:12631 { yyLOCAL = tree.NewNumVal(true, "true", false, tree.P_bool) } yyVAL.union = yyLOCAL - case 1953: + case 1957: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12615 +//line mysql_sql.y:12635 { yyLOCAL = tree.NewNumVal(false, "false", false, tree.P_bool) } yyVAL.union = yyLOCAL - case 1954: + case 1958: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12619 +//line mysql_sql.y:12639 { yyLOCAL = tree.NewNumVal("null", "null", false, tree.P_null) } yyVAL.union = yyLOCAL - case 1955: + case 1959: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12623 +//line mysql_sql.y:12643 { yyLOCAL = tree.NewNumVal(yyDollar[1].str, yyDollar[1].str, false, tree.P_hexnum) } yyVAL.union = yyLOCAL - case 1956: + case 1960: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12627 +//line mysql_sql.y:12647 { if strings.HasPrefix(yyDollar[2].str, "0x") { yyDollar[2].str = yyDollar[2].str[2:] @@ -28159,69 +28233,69 @@ yydefault: yyLOCAL = tree.NewNumVal(yyDollar[2].str, yyDollar[2].str, false, tree.P_bit) } yyVAL.union = yyLOCAL - case 1957: + case 1961: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12634 +//line mysql_sql.y:12654 { yyLOCAL = tree.NewNumVal(yyDollar[1].str, yyDollar[1].str, false, tree.P_decimal) } yyVAL.union = yyLOCAL - case 1958: + case 1962: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12638 +//line mysql_sql.y:12658 { yyLOCAL = tree.NewNumVal(yyDollar[1].str, yyDollar[1].str, false, tree.P_bit) } yyVAL.union = yyLOCAL - case 1959: + case 1963: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12642 +//line mysql_sql.y:12662 { yyLOCAL = tree.NewParamExpr(yylex.(*Lexer).GetParamIndex()) } yyVAL.union = yyLOCAL - case 1960: + case 1964: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:12646 +//line mysql_sql.y:12666 { yyLOCAL = tree.NewNumVal(yyDollar[2].str, yyDollar[2].str, false, tree.P_ScoreBinary) } yyVAL.union = yyLOCAL - case 1961: + case 1965: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:12652 +//line mysql_sql.y:12672 { yyLOCAL = yyDollar[1].columnTypeUnion() yyLOCAL.InternalType.Unsigned = yyDollar[2].unsignedOptUnion() yyLOCAL.InternalType.Zerofill = yyDollar[3].zeroFillOptUnion() } yyVAL.union = yyLOCAL - case 1965: + case 1969: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:12663 +//line mysql_sql.y:12683 { yyLOCAL = yyDollar[1].columnTypeUnion() yyLOCAL.InternalType.DisplayWith = yyDollar[2].lengthOptUnion() } yyVAL.union = yyLOCAL - case 1966: + case 1970: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:12668 +//line mysql_sql.y:12688 { yyLOCAL = yyDollar[1].columnTypeUnion() } yyVAL.union = yyLOCAL - case 1967: + case 1971: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:12674 +//line mysql_sql.y:12694 { locale := "" yyLOCAL = &tree.T{ @@ -28234,10 +28308,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1968: + case 1972: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:12686 +//line mysql_sql.y:12706 { locale := "" yyLOCAL = &tree.T{ @@ -28250,10 +28324,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1969: + case 1973: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:12698 +//line mysql_sql.y:12718 { locale := "" yyLOCAL = &tree.T{ @@ -28266,10 +28340,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1970: + case 1974: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:12710 +//line mysql_sql.y:12730 { locale := "" yyLOCAL = &tree.T{ @@ -28283,10 +28357,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1971: + case 1975: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:12723 +//line mysql_sql.y:12743 { locale := "" yyLOCAL = &tree.T{ @@ -28300,10 +28374,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1972: + case 1976: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:12736 +//line mysql_sql.y:12756 { locale := "" yyLOCAL = &tree.T{ @@ -28317,10 +28391,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1973: + case 1977: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:12749 +//line mysql_sql.y:12769 { locale := "" yyLOCAL = &tree.T{ @@ -28334,10 +28408,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1974: + case 1978: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:12762 +//line mysql_sql.y:12782 { locale := "" yyLOCAL = &tree.T{ @@ -28351,10 +28425,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1975: + case 1979: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:12775 +//line mysql_sql.y:12795 { locale := "" yyLOCAL = &tree.T{ @@ -28368,10 +28442,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1976: + case 1980: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:12788 +//line mysql_sql.y:12808 { locale := "" yyLOCAL = &tree.T{ @@ -28385,10 +28459,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1977: + case 1981: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:12801 +//line mysql_sql.y:12821 { locale := "" yyLOCAL = &tree.T{ @@ -28402,10 +28476,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1978: + case 1982: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:12814 +//line mysql_sql.y:12834 { locale := "" yyLOCAL = &tree.T{ @@ -28419,10 +28493,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1979: + case 1983: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:12827 +//line mysql_sql.y:12847 { locale := "" yyLOCAL = &tree.T{ @@ -28436,10 +28510,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1980: + case 1984: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:12840 +//line mysql_sql.y:12860 { locale := "" yyLOCAL = &tree.T{ @@ -28453,10 +28527,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1981: + case 1985: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:12855 +//line mysql_sql.y:12875 { locale := "" if yyDollar[2].lengthScaleOptUnion().DisplayWith > 255 { @@ -28484,10 +28558,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1982: + case 1986: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:12882 +//line mysql_sql.y:12902 { locale := "" if yyDollar[2].lengthScaleOptUnion().DisplayWith > 255 { @@ -28529,10 +28603,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1983: + case 1987: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:12924 +//line mysql_sql.y:12944 { locale := "" if yyDollar[2].lengthScaleOptUnion().Scale != tree.NotDefineDec && yyDollar[2].lengthScaleOptUnion().Scale > yyDollar[2].lengthScaleOptUnion().DisplayWith { @@ -28581,10 +28655,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1984: + case 1988: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:12972 +//line mysql_sql.y:12992 { locale := "" if yyDollar[2].lengthScaleOptUnion().Scale != tree.NotDefineDec && yyDollar[2].lengthScaleOptUnion().Scale > yyDollar[2].lengthScaleOptUnion().DisplayWith { @@ -28633,10 +28707,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1985: + case 1989: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:13020 +//line mysql_sql.y:13040 { locale := "" yyLOCAL = &tree.T{ @@ -28652,10 +28726,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1986: + case 1990: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:13037 +//line mysql_sql.y:13057 { locale := "" yyLOCAL = &tree.T{ @@ -28668,10 +28742,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1987: + case 1991: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:13049 +//line mysql_sql.y:13069 { locale := "" if yyDollar[2].lengthOptUnion() < 0 || yyDollar[2].lengthOptUnion() > 6 { @@ -28692,10 +28766,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1988: + case 1992: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:13069 +//line mysql_sql.y:13089 { locale := "" if yyDollar[2].lengthOptUnion() < 0 || yyDollar[2].lengthOptUnion() > 6 { @@ -28716,10 +28790,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1989: + case 1993: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:13089 +//line mysql_sql.y:13109 { locale := "" if yyDollar[2].lengthOptUnion() < 0 || yyDollar[2].lengthOptUnion() > 6 { @@ -28740,10 +28814,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1990: + case 1994: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:13109 +//line mysql_sql.y:13129 { locale := "" yyLOCAL = &tree.T{ @@ -28758,10 +28832,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1991: + case 1995: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:13125 +//line mysql_sql.y:13145 { locale := "" yyLOCAL = &tree.T{ @@ -28775,10 +28849,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1992: + case 1996: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:13138 +//line mysql_sql.y:13158 { locale := "" yyLOCAL = &tree.T{ @@ -28792,10 +28866,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1993: + case 1997: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:13151 +//line mysql_sql.y:13171 { locale := "" yyLOCAL = &tree.T{ @@ -28809,10 +28883,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1994: + case 1998: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:13164 +//line mysql_sql.y:13184 { locale := "" yyLOCAL = &tree.T{ @@ -28826,10 +28900,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1995: + case 1999: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:13177 +//line mysql_sql.y:13197 { locale := "" yyLOCAL = &tree.T{ @@ -28842,10 +28916,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1996: + case 2000: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:13189 +//line mysql_sql.y:13209 { locale := "" yyLOCAL = &tree.T{ @@ -28858,10 +28932,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1997: + case 2001: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:13201 +//line mysql_sql.y:13221 { locale := "" yyLOCAL = &tree.T{ @@ -28874,10 +28948,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1998: + case 2002: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:13213 +//line mysql_sql.y:13233 { locale := "" yyLOCAL = &tree.T{ @@ -28890,10 +28964,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1999: + case 2003: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:13225 +//line mysql_sql.y:13245 { locale := "" yyLOCAL = &tree.T{ @@ -28906,10 +28980,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 2000: + case 2004: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:13237 +//line mysql_sql.y:13257 { locale := "" yyLOCAL = &tree.T{ @@ -28922,10 +28996,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 2001: + case 2005: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:13249 +//line mysql_sql.y:13269 { locale := "" yyLOCAL = &tree.T{ @@ -28938,10 +29012,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 2002: + case 2006: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:13261 +//line mysql_sql.y:13281 { locale := "" yyLOCAL = &tree.T{ @@ -28954,10 +29028,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 2003: + case 2007: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:13273 +//line mysql_sql.y:13293 { locale := "" yyLOCAL = &tree.T{ @@ -28970,10 +29044,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 2004: + case 2008: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:13285 +//line mysql_sql.y:13305 { locale := "" yyLOCAL = &tree.T{ @@ -28986,10 +29060,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 2005: + case 2009: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:13297 +//line mysql_sql.y:13317 { locale := "" yyLOCAL = &tree.T{ @@ -29003,10 +29077,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 2006: + case 2010: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:13310 +//line mysql_sql.y:13330 { locale := "" yyLOCAL = &tree.T{ @@ -29020,10 +29094,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 2007: + case 2011: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:13323 +//line mysql_sql.y:13343 { locale := "" yyLOCAL = &tree.T{ @@ -29037,10 +29111,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 2008: + case 2012: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:13336 +//line mysql_sql.y:13356 { locale := "" yyLOCAL = &tree.T{ @@ -29054,10 +29128,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 2009: + case 2013: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:13349 +//line mysql_sql.y:13369 { locale := "" yyLOCAL = &tree.T{ @@ -29071,20 +29145,20 @@ yydefault: } } yyVAL.union = yyLOCAL - case 2010: + case 2014: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:13364 +//line mysql_sql.y:13384 { yyLOCAL = &tree.Do{ Exprs: yyDollar[2].exprsUnion(), } } yyVAL.union = yyLOCAL - case 2011: + case 2015: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:13372 +//line mysql_sql.y:13392 { yyLOCAL = &tree.Declare{ Variables: yyDollar[2].strsUnion(), @@ -29093,10 +29167,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 2012: + case 2016: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Statement -//line mysql_sql.y:13381 +//line mysql_sql.y:13401 { yyLOCAL = &tree.Declare{ Variables: yyDollar[2].strsUnion(), @@ -29105,10 +29179,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 2013: + case 2017: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:13391 +//line mysql_sql.y:13411 { locale := "" yyLOCAL = &tree.T{ @@ -29121,75 +29195,75 @@ yydefault: } } yyVAL.union = yyLOCAL - case 2022: + case 2026: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:13417 +//line mysql_sql.y:13437 { yyLOCAL = make([]string, 0, 4) yyLOCAL = append(yyLOCAL, yyDollar[1].str) } yyVAL.union = yyLOCAL - case 2023: + case 2027: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:13422 +//line mysql_sql.y:13442 { yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].str) } yyVAL.union = yyLOCAL - case 2024: + case 2028: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int32 -//line mysql_sql.y:13428 +//line mysql_sql.y:13448 { yyLOCAL = 0 } yyVAL.union = yyLOCAL - case 2026: + case 2030: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int32 -//line mysql_sql.y:13435 +//line mysql_sql.y:13455 { yyLOCAL = 0 } yyVAL.union = yyLOCAL - case 2027: + case 2031: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int32 -//line mysql_sql.y:13439 +//line mysql_sql.y:13459 { yyLOCAL = int32(yyDollar[2].item.(int64)) } yyVAL.union = yyLOCAL - case 2028: + case 2032: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int32 -//line mysql_sql.y:13444 +//line mysql_sql.y:13464 { yyLOCAL = int32(-1) } yyVAL.union = yyLOCAL - case 2029: + case 2033: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int32 -//line mysql_sql.y:13448 +//line mysql_sql.y:13468 { yyLOCAL = int32(yyDollar[2].item.(int64)) } yyVAL.union = yyLOCAL - case 2030: + case 2034: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int32 -//line mysql_sql.y:13454 +//line mysql_sql.y:13474 { yyLOCAL = tree.GetDisplayWith(int32(yyDollar[2].item.(int64))) } yyVAL.union = yyLOCAL - case 2031: + case 2035: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.LengthScaleOpt -//line mysql_sql.y:13460 +//line mysql_sql.y:13480 { yyLOCAL = tree.LengthScaleOpt{ DisplayWith: tree.NotDefineDisplayWidth, @@ -29197,10 +29271,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 2032: + case 2036: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.LengthScaleOpt -//line mysql_sql.y:13467 +//line mysql_sql.y:13487 { yyLOCAL = tree.LengthScaleOpt{ DisplayWith: tree.GetDisplayWith(int32(yyDollar[2].item.(int64))), @@ -29208,10 +29282,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 2033: + case 2037: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.LengthScaleOpt -//line mysql_sql.y:13474 +//line mysql_sql.y:13494 { yyLOCAL = tree.LengthScaleOpt{ DisplayWith: tree.GetDisplayWith(int32(yyDollar[2].item.(int64))), @@ -29219,10 +29293,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 2034: + case 2038: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.LengthScaleOpt -//line mysql_sql.y:13483 +//line mysql_sql.y:13503 { yyLOCAL = tree.LengthScaleOpt{ DisplayWith: 38, // this is the default precision for decimal @@ -29230,10 +29304,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 2035: + case 2039: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.LengthScaleOpt -//line mysql_sql.y:13490 +//line mysql_sql.y:13510 { yyLOCAL = tree.LengthScaleOpt{ DisplayWith: tree.GetDisplayWith(int32(yyDollar[2].item.(int64))), @@ -29241,10 +29315,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 2036: + case 2040: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.LengthScaleOpt -//line mysql_sql.y:13497 +//line mysql_sql.y:13517 { yyLOCAL = tree.LengthScaleOpt{ DisplayWith: tree.GetDisplayWith(int32(yyDollar[2].item.(int64))), @@ -29252,52 +29326,52 @@ yydefault: } } yyVAL.union = yyLOCAL - case 2037: + case 2041: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:13506 +//line mysql_sql.y:13526 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 2038: + case 2042: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:13510 +//line mysql_sql.y:13530 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 2039: + case 2043: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:13514 +//line mysql_sql.y:13534 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 2040: + case 2044: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:13520 +//line mysql_sql.y:13540 { } - case 2041: + case 2045: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:13522 +//line mysql_sql.y:13542 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 2045: + case 2049: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:13532 +//line mysql_sql.y:13552 { yyVAL.str = "" } - case 2046: + case 2050: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:13536 +//line mysql_sql.y:13556 { 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 985b3f332fe96..976d656dd9fa1 100644 --- a/pkg/sql/parsers/dialect/mysql/mysql_sql.y +++ b/pkg/sql/parsers/dialect/mysql/mysql_sql.y @@ -413,6 +413,9 @@ func sqlTaskInt64(v any) int64 { // MO table option %token PROPERTIES +// TTL table option +%token TTL TTL_ENABLE TTL_JOB_INTERVAL + // Secondary Index %token PARSER VISIBLE INVISIBLE BTREE HASH RTREE BSI IVFFLAT MASTER HNSW %token ZONEMAP LEADING BOTH TRAILING UNKNOWN LISTS OP_TYPE REINDEX EF_SEARCH EF_CONSTRUCTION M ASYNC FORCE_SYNC AUTO_UPDATE @@ -3861,6 +3864,10 @@ alter_option: { $$ = tree.AlterTableOption($1) } +| REMOVE TTL + { + $$ = tree.AlterTableOption(tree.NewAlterTableRemoveTTL()) + } | RENAME rename_type alter_table_rename { $$ = tree.AlterTableOption($3) @@ -9818,6 +9825,19 @@ table_option: var Preperties = $3 $$ = tree.NewTableOptionProperties(Preperties) } +| TTL equal_opt column_name '+' interval_expr + { + expr := tree.NewBinaryExpr(tree.PLUS, $3, $5) + $$ = tree.NewTableOptionTTL(expr) + } +| TTL_ENABLE equal_opt STRING + { + $$ = tree.NewTableOptionTTLEnable($3) + } +| TTL_JOB_INTERVAL equal_opt STRING + { + $$ = tree.NewTableOptionTTLJobInterval($3) + } properties_list: property_elem @@ -13736,6 +13756,9 @@ non_reserved_keyword: | AGAINST | ALWAYS | AVG_ROW_LENGTH +| TTL +| TTL_ENABLE +| TTL_JOB_INTERVAL | AUTO_RANDOM | ATTRIBUTE | ACTION diff --git a/pkg/sql/parsers/dialect/mysql/mysql_sql_test.go b/pkg/sql/parsers/dialect/mysql/mysql_sql_test.go index aa9b0e2e59756..0efbd4b63c26f 100644 --- a/pkg/sql/parsers/dialect/mysql/mysql_sql_test.go +++ b/pkg/sql/parsers/dialect/mysql/mysql_sql_test.go @@ -4068,3 +4068,101 @@ func TestNonGeometrySRIDSyntaxRoundTrip(t *testing.T) { }) } } + +func TestTTLTableOption(t *testing.T) { + ctx := context.TODO() + cases := []struct { + input string + output string + }{ + { + input: "create table t (id int, created_at timestamp) ttl = `created_at` + interval 7 day", + output: "create table t (id int, created_at timestamp) ttl = created_at + INTERVAL 7 day", + }, + { + // `=` is optional, aligning with TiDB + input: "create table t (id int, created_at timestamp) ttl created_at + interval 7 day", + output: "create table t (id int, created_at timestamp) ttl = created_at + INTERVAL 7 day", + }, + { + input: "create table t (id int, created_at timestamp) ttl = `created_at` + interval 7 day ttl_enable = 'ON' ttl_job_interval = '1h'", + output: "create table t (id int, created_at timestamp) ttl = created_at + INTERVAL 7 day ttl_enable = 'ON' ttl_job_interval = '1h'", + }, + { + input: "alter table t ttl = `created_at` + interval 30 day", + output: "alter table t ttl = created_at + INTERVAL 30 day", + }, + { + input: "alter table t ttl_enable = 'OFF'", + output: "alter table t ttl_enable = 'OFF'", + }, + { + input: "alter table t ttl_job_interval = '6h'", + output: "alter table t ttl_job_interval = '6h'", + }, + { + input: "alter table t remove ttl", + output: "alter table t remove ttl", + }, + { + // ttl / ttl_enable / ttl_job_interval are non-reserved identifiers + input: "create table ttl (ttl int, ttl_enable int, ttl_job_interval int)", + output: "create table ttl (ttl int, ttl_enable int, ttl_job_interval int)", + }, + } + for _, c := range cases { + ast, err := ParseOne(ctx, c.input, 1) + require.NoError(t, err, "input: %s", c.input) + require.Equal(t, c.output, tree.String(ast, dialect.MYSQL), "input: %s", c.input) + } +} + +func TestTTLTableOptionAST(t *testing.T) { + ctx := context.TODO() + + ast, err := ParseOne(ctx, "create table t (id int, created_at timestamp) ttl = `created_at` + interval 7 day ttl_enable = 'ON' ttl_job_interval = '1h'", 1) + require.NoError(t, err) + ct, ok := ast.(*tree.CreateTable) + require.True(t, ok) + + var sawTTL, sawEnable, sawInterval bool + for _, opt := range ct.Options { + switch o := opt.(type) { + case *tree.TableOptionTTL: + sawTTL = true + be, ok := o.Expr.(*tree.BinaryExpr) + require.True(t, ok) + require.Equal(t, tree.PLUS, be.Op) + case *tree.TableOptionTTLEnable: + sawEnable = true + require.Equal(t, "ON", o.Enable) + case *tree.TableOptionTTLJobInterval: + sawInterval = true + require.Equal(t, "1h", o.Interval) + } + } + require.True(t, sawTTL, "missing TableOptionTTL") + require.True(t, sawEnable, "missing TableOptionTTLEnable") + require.True(t, sawInterval, "missing TableOptionTTLJobInterval") + + ast2, err := ParseOne(ctx, "alter table t remove ttl", 1) + require.NoError(t, err) + at, ok := ast2.(*tree.AlterTable) + require.True(t, ok) + require.Len(t, at.Options, 1) + _, ok = at.Options[0].(*tree.AlterTableRemoveTTL) + require.True(t, ok) +} + +func TestTTLTableOptionInvalid(t *testing.T) { + ctx := context.TODO() + for _, sql := range []string{ + "create table t (id int) ttl =", + "create table t (id int) ttl = created_at +", + "create table t (id int) ttl = created_at + interval 7", + "alter table t remove", + } { + _, err := ParseOne(ctx, sql, 1) + require.Error(t, err, "expected parse error for: %s", sql) + } +} diff --git a/pkg/sql/parsers/tree/alter.go b/pkg/sql/parsers/tree/alter.go index 7929fb1eca0c2..80a36f7f5f487 100644 --- a/pkg/sql/parsers/tree/alter.go +++ b/pkg/sql/parsers/tree/alter.go @@ -105,6 +105,12 @@ func init() { reuse.DefaultOptions[AlterOptionDrop](), //. ) // WithEnableChecker() + reuse.CreatePool[AlterTableRemoveTTL]( + func() *AlterTableRemoveTTL { return &AlterTableRemoveTTL{} }, + func(a *AlterTableRemoveTTL) { a.reset() }, + reuse.DefaultOptions[AlterTableRemoveTTL](), //. + ) // WithEnableChecker() + reuse.CreatePool[AlterOptionTableName]( func() *AlterOptionTableName { return &AlterOptionTableName{} }, func(a *AlterOptionTableName) { a.reset() }, @@ -716,6 +722,14 @@ func (node *AlterTable) reset() { opt.Free() case *TableOptionComment: opt.Free() + case *TableOptionTTL: + opt.Free() + case *TableOptionTTLEnable: + opt.Free() + case *TableOptionTTLJobInterval: + opt.Free() + case *AlterTableRemoveTTL: + opt.Free() case *TableOptionAvgRowLength: opt.Free() case *TableOptionChecksum: @@ -843,6 +857,27 @@ func (a *alterOptionImpl) Free() { panic("should implement by child") } +// AlterTableRemoveTTL represents `ALTER TABLE ... REMOVE TTL`, which clears the TTL config. +type AlterTableRemoveTTL struct { + alterOptionImpl +} + +func NewAlterTableRemoveTTL() *AlterTableRemoveTTL { + return reuse.Alloc[AlterTableRemoveTTL](nil) +} + +func (node *AlterTableRemoveTTL) Free() { reuse.Free[AlterTableRemoveTTL](node, nil) } + +func (node *AlterTableRemoveTTL) Format(ctx *FmtCtx) { + ctx.WriteString("remove ttl") +} + +func (node AlterTableRemoveTTL) TypeName() string { return "tree.AlterTableRemoveTTL" } + +func (node *AlterTableRemoveTTL) reset() { + *node = AlterTableRemoveTTL{} +} + type AlterOptionAlterIndex struct { alterOptionImpl Name Identifier diff --git a/pkg/sql/parsers/tree/create.go b/pkg/sql/parsers/tree/create.go index 1cbce03157649..743e2481ae593 100644 --- a/pkg/sql/parsers/tree/create.go +++ b/pkg/sql/parsers/tree/create.go @@ -287,6 +287,24 @@ func init() { reuse.DefaultOptions[TableOptionComment](), //. ) //WithEnableChecker() + reuse.CreatePool[TableOptionTTL]( + func() *TableOptionTTL { return &TableOptionTTL{} }, + func(t *TableOptionTTL) { t.reset() }, + reuse.DefaultOptions[TableOptionTTL](), //. + ) //WithEnableChecker() + + reuse.CreatePool[TableOptionTTLEnable]( + func() *TableOptionTTLEnable { return &TableOptionTTLEnable{} }, + func(t *TableOptionTTLEnable) { t.reset() }, + reuse.DefaultOptions[TableOptionTTLEnable](), //. + ) //WithEnableChecker() + + reuse.CreatePool[TableOptionTTLJobInterval]( + func() *TableOptionTTLJobInterval { return &TableOptionTTLJobInterval{} }, + func(t *TableOptionTTLJobInterval) { t.reset() }, + reuse.DefaultOptions[TableOptionTTLJobInterval](), //. + ) //WithEnableChecker() + reuse.CreatePool[TableOptionAvgRowLength]( func() *TableOptionAvgRowLength { return &TableOptionAvgRowLength{} }, func(t *TableOptionAvgRowLength) { t.reset() }, @@ -1160,6 +1178,12 @@ func (node *CreateTable) reset() { opt.Free() case *TableOptionComment: opt.Free() + case *TableOptionTTL: + opt.Free() + case *TableOptionTTLEnable: + opt.Free() + case *TableOptionTTLJobInterval: + opt.Free() case *TableOptionAvgRowLength: opt.Free() case *TableOptionChecksum: @@ -1249,6 +1273,12 @@ func (node *CreateTable) reset() { opt.Free() case *TableOptionComment: opt.Free() + case *TableOptionTTL: + opt.Free() + case *TableOptionTTLEnable: + opt.Free() + case *TableOptionTTLJobInterval: + opt.Free() case *TableOptionAvgRowLength: opt.Free() case *TableOptionChecksum: @@ -2890,6 +2920,85 @@ func NewTableOptionComment(c string) *TableOptionComment { return t } +// TableOptionTTL carries the TTL expiry expression, e.g. `ts + INTERVAL 7 DAY`. +type TableOptionTTL struct { + tableOptionImpl + Expr Expr +} + +func (node *TableOptionTTL) Format(ctx *FmtCtx) { + ctx.WriteString("ttl = ") + node.Expr.Format(ctx) +} + +func (node TableOptionTTL) TypeName() string { return "tree.TableOptionTTL" } + +func (node *TableOptionTTL) reset() { + *node = TableOptionTTL{} +} + +func (node *TableOptionTTL) Free() { + reuse.Free[TableOptionTTL](node, nil) +} + +func NewTableOptionTTL(expr Expr) *TableOptionTTL { + t := reuse.Alloc[TableOptionTTL](nil) + t.Expr = expr + return t +} + +// TableOptionTTLEnable toggles the background TTL job, e.g. `TTL_ENABLE = 'ON'`. +type TableOptionTTLEnable struct { + tableOptionImpl + Enable string +} + +func (node *TableOptionTTLEnable) Format(ctx *FmtCtx) { + ctx.WriteString("ttl_enable = '" + node.Enable + "'") +} + +func (node TableOptionTTLEnable) TypeName() string { return "tree.TableOptionTTLEnable" } + +func (node *TableOptionTTLEnable) reset() { + *node = TableOptionTTLEnable{} +} + +func (node *TableOptionTTLEnable) Free() { + reuse.Free[TableOptionTTLEnable](node, nil) +} + +func NewTableOptionTTLEnable(enable string) *TableOptionTTLEnable { + t := reuse.Alloc[TableOptionTTLEnable](nil) + t.Enable = enable + return t +} + +// TableOptionTTLJobInterval sets the TTL job schedule, e.g. `TTL_JOB_INTERVAL = '1h'`. +type TableOptionTTLJobInterval struct { + tableOptionImpl + Interval string +} + +func (node *TableOptionTTLJobInterval) Format(ctx *FmtCtx) { + ctx.WriteString("ttl_job_interval = '" + node.Interval + "'") +} + +func (node TableOptionTTLJobInterval) TypeName() string { return "tree.TableOptionTTLJobInterval" } + +func (node *TableOptionTTLJobInterval) reset() { + *node = TableOptionTTLJobInterval{} +} + +func (node *TableOptionTTLJobInterval) Free() { + reuse.Free[TableOptionTTLJobInterval](node, nil) +} + +func NewTableOptionTTLJobInterval(interval string) *TableOptionTTLJobInterval { + t := reuse.Alloc[TableOptionTTLJobInterval](nil) + t.Interval = interval + return t +} + type TableOptionAvgRowLength struct { tableOptionImpl Length uint64 @@ -3864,6 +3973,12 @@ func (node *Partition) reset() { opt.Free() case *TableOptionComment: opt.Free() + case *TableOptionTTL: + opt.Free() + case *TableOptionTTLEnable: + opt.Free() + case *TableOptionTTLJobInterval: + opt.Free() case *TableOptionAvgRowLength: opt.Free() case *TableOptionChecksum: @@ -3997,6 +4112,12 @@ func (node *SubPartition) reset() { opt.Free() case *TableOptionComment: opt.Free() + case *TableOptionTTL: + opt.Free() + case *TableOptionTTLEnable: + opt.Free() + case *TableOptionTTLJobInterval: + opt.Free() case *TableOptionAvgRowLength: opt.Free() case *TableOptionChecksum: diff --git a/pkg/sql/parsers/tree/ttl_test.go b/pkg/sql/parsers/tree/ttl_test.go new file mode 100644 index 0000000000000..1787a69175bbc --- /dev/null +++ b/pkg/sql/parsers/tree/ttl_test.go @@ -0,0 +1,55 @@ +// Copyright 2025 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 + +import ( + "testing" + + "github.com/matrixorigin/matrixone/pkg/sql/parsers/dialect" + "github.com/stretchr/testify/require" +) + +func TestTableOptionTTLFormat(t *testing.T) { + expr := NewBinaryExpr(PLUS, NewUnresolvedColName("created_at"), NewNumVal(int64(7), "7", false, P_int64)) + ttl := NewTableOptionTTL(expr) + ctx := NewFmtCtx(dialect.MYSQL) + ttl.Format(ctx) + require.Equal(t, "ttl = created_at + 7", ctx.String()) + require.Equal(t, "tree.TableOptionTTL", ttl.TypeName()) + ttl.Free() + + enable := NewTableOptionTTLEnable("ON") + ctx = NewFmtCtx(dialect.MYSQL) + enable.Format(ctx) + require.Equal(t, "ttl_enable = 'ON'", ctx.String()) + require.Equal(t, "tree.TableOptionTTLEnable", enable.TypeName()) + enable.Free() + + interval := NewTableOptionTTLJobInterval("1h") + ctx = NewFmtCtx(dialect.MYSQL) + interval.Format(ctx) + require.Equal(t, "ttl_job_interval = '1h'", ctx.String()) + require.Equal(t, "tree.TableOptionTTLJobInterval", interval.TypeName()) + interval.Free() +} + +func TestAlterTableRemoveTTLFormat(t *testing.T) { + remove := NewAlterTableRemoveTTL() + ctx := NewFmtCtx(dialect.MYSQL) + remove.Format(ctx) + require.Equal(t, "remove ttl", ctx.String()) + require.Equal(t, "tree.AlterTableRemoveTTL", remove.TypeName()) + remove.Free() +} From 2ff952e89c44c047c466ff9c053e88c528b364bf Mon Sep 17 00:00:00 2001 From: Cao Kai Date: Mon, 1 Jun 2026 17:12:06 +0800 Subject: [PATCH 2/3] fix(parser): escape TTL option strings and strengthen tests (#24552) Address review feedback on PR #24754: - TableOptionTTLEnable / TableOptionTTLJobInterval Format now escape embedded single quotes (' -> '') so the output re-parses - tree test now exercises the real `col + INTERVAL n unit` output path and the quote-escaping path (instead of a plain numeric literal) - dialect test now covers ALTER TABLE TTL options written without `=` Co-Authored-By: Claude Opus 4.8 --- .../parsers/dialect/mysql/mysql_sql_test.go | 18 +++++++++++ pkg/sql/parsers/tree/create.go | 4 +-- pkg/sql/parsers/tree/ttl_test.go | 31 +++++++++++++++++-- 3 files changed, 49 insertions(+), 4 deletions(-) diff --git a/pkg/sql/parsers/dialect/mysql/mysql_sql_test.go b/pkg/sql/parsers/dialect/mysql/mysql_sql_test.go index 0efbd4b63c26f..c1610f7c2c350 100644 --- a/pkg/sql/parsers/dialect/mysql/mysql_sql_test.go +++ b/pkg/sql/parsers/dialect/mysql/mysql_sql_test.go @@ -4104,6 +4104,24 @@ func TestTTLTableOption(t *testing.T) { input: "alter table t remove ttl", output: "alter table t remove ttl", }, + { + // `=` is optional on ALTER too (table_option flows into alter_option) + input: "alter table t ttl `created_at` + interval 30 day", + output: "alter table t ttl = created_at + INTERVAL 30 day", + }, + { + input: "alter table t ttl_enable 'OFF'", + output: "alter table t ttl_enable = 'OFF'", + }, + { + input: "alter table t ttl_job_interval '6h'", + output: "alter table t ttl_job_interval = '6h'", + }, + { + // embedded single quote must round-trip via escaping + input: "create table t (id int, created_at timestamp) ttl = `created_at` + interval 7 day ttl_enable = 'O''N'", + output: "create table t (id int, created_at timestamp) ttl = created_at + INTERVAL 7 day ttl_enable = 'O''N'", + }, { // ttl / ttl_enable / ttl_job_interval are non-reserved identifiers input: "create table ttl (ttl int, ttl_enable int, ttl_job_interval int)", diff --git a/pkg/sql/parsers/tree/create.go b/pkg/sql/parsers/tree/create.go index 743e2481ae593..a1492d7ff15ca 100644 --- a/pkg/sql/parsers/tree/create.go +++ b/pkg/sql/parsers/tree/create.go @@ -2954,7 +2954,7 @@ type TableOptionTTLEnable struct { } func (node *TableOptionTTLEnable) Format(ctx *FmtCtx) { - ctx.WriteString("ttl_enable = '" + node.Enable + "'") + ctx.WriteString("ttl_enable = '" + strings.ReplaceAll(node.Enable, "'", "''") + "'") } func (node TableOptionTTLEnable) TypeName() string { return "tree.TableOptionTTLEnable" } @@ -2980,7 +2980,7 @@ type TableOptionTTLJobInterval struct { } func (node *TableOptionTTLJobInterval) Format(ctx *FmtCtx) { - ctx.WriteString("ttl_job_interval = '" + node.Interval + "'") + ctx.WriteString("ttl_job_interval = '" + strings.ReplaceAll(node.Interval, "'", "''") + "'") } func (node TableOptionTTLJobInterval) TypeName() string { return "tree.TableOptionTTLJobInterval" } diff --git a/pkg/sql/parsers/tree/ttl_test.go b/pkg/sql/parsers/tree/ttl_test.go index 1787a69175bbc..3dc6f1fa6ddc0 100644 --- a/pkg/sql/parsers/tree/ttl_test.go +++ b/pkg/sql/parsers/tree/ttl_test.go @@ -15,18 +15,32 @@ package tree import ( + "strconv" "testing" "github.com/matrixorigin/matrixone/pkg/sql/parsers/dialect" "github.com/stretchr/testify/require" ) +// newIntervalExpr builds `INTERVAL ` the same way the grammar does, +// so the test exercises the real TTL expression format path. +func newIntervalExpr(n int64, unit string) *FuncExpr { + return &FuncExpr{ + FuncName: NewCStr("interval", 1), + Exprs: Exprs{ + NewNumVal(n, strconv.FormatInt(n, 10), false, P_int64), + NewTimeUnitExpr(unit), + }, + } +} + func TestTableOptionTTLFormat(t *testing.T) { - expr := NewBinaryExpr(PLUS, NewUnresolvedColName("created_at"), NewNumVal(int64(7), "7", false, P_int64)) + // Cover the core TTL syntax output: `col + INTERVAL n unit`. + expr := NewBinaryExpr(PLUS, NewUnresolvedColName("created_at"), newIntervalExpr(7, "day")) ttl := NewTableOptionTTL(expr) ctx := NewFmtCtx(dialect.MYSQL) ttl.Format(ctx) - require.Equal(t, "ttl = created_at + 7", ctx.String()) + require.Equal(t, "ttl = created_at + INTERVAL 7 day", ctx.String()) require.Equal(t, "tree.TableOptionTTL", ttl.TypeName()) ttl.Free() @@ -37,12 +51,25 @@ func TestTableOptionTTLFormat(t *testing.T) { require.Equal(t, "tree.TableOptionTTLEnable", enable.TypeName()) enable.Free() + // A value containing a single quote must be escaped so the output re-parses. + enableQuoted := NewTableOptionTTLEnable("O'N") + ctx = NewFmtCtx(dialect.MYSQL) + enableQuoted.Format(ctx) + require.Equal(t, "ttl_enable = 'O''N'", ctx.String()) + enableQuoted.Free() + interval := NewTableOptionTTLJobInterval("1h") ctx = NewFmtCtx(dialect.MYSQL) interval.Format(ctx) require.Equal(t, "ttl_job_interval = '1h'", ctx.String()) require.Equal(t, "tree.TableOptionTTLJobInterval", interval.TypeName()) interval.Free() + + intervalQuoted := NewTableOptionTTLJobInterval("a'b") + ctx = NewFmtCtx(dialect.MYSQL) + intervalQuoted.Format(ctx) + require.Equal(t, "ttl_job_interval = 'a''b'", ctx.String()) + intervalQuoted.Free() } func TestAlterTableRemoveTTLFormat(t *testing.T) { From 884fc9d806587c1fb8d9f5e8822d9c94f02d3538 Mon Sep 17 00:00:00 2001 From: Cao Kai Date: Tue, 2 Jun 2026 14:34:46 +0800 Subject: [PATCH 3/3] feat(plan): persist and reflect TTL table options (#24552) PR-2 of native table-level TTL, building on the parser layer (PR-1). - buildCreateTable: validate and persist TTL / TTL_ENABLE / TTL_JOB_INTERVAL as table properties (rel_ttl / rel_ttl_enable / rel_ttl_job_interval), applying defaults (enable=on, job_interval=1h) and rejecting invalid combinations (non-time column, bad interval, a sub-option without TTL, temporary/cluster/dynamic/external tables) - SHOW CREATE TABLE: reflect the TTL clause, round-trippable through the parser - ttl_util.go: TTL expression / option validation helpers - tests: validation, persistence with defaults, error cases, SHOW round-trip ALTER TABLE TTL persistence and the background expiry job land in later PRs. Co-Authored-By: Claude Opus 4.8 --- pkg/catalog/types.go | 3 + pkg/sql/plan/build_ddl.go | 55 ++++++++ pkg/sql/plan/build_show_util.go | 32 ++++- pkg/sql/plan/ttl_util.go | 81 +++++++++++ pkg/sql/plan/ttl_util_test.go | 233 ++++++++++++++++++++++++++++++++ 5 files changed, 398 insertions(+), 6 deletions(-) create mode 100644 pkg/sql/plan/ttl_util.go create mode 100644 pkg/sql/plan/ttl_util_test.go diff --git a/pkg/catalog/types.go b/pkg/catalog/types.go index be2809f03e5fd..a81591e8ddc50 100644 --- a/pkg/catalog/types.go +++ b/pkg/catalog/types.go @@ -244,6 +244,9 @@ const ( SystemRelAttr_Kind = "relkind" SystemRelAttr_Comment = "rel_comment" SystemRelAttr_CreateSQL = "rel_createsql" + SystemRelAttr_TTL = "rel_ttl" // TTL expiry expression, persisted as a table property + SystemRelAttr_TTLEnable = "rel_ttl_enable" // TTL background job switch (on/off) + SystemRelAttr_TTLJobInterval = "rel_ttl_job_interval" // TTL background job interval (e.g. 1h) SystemRelAttr_CreateAt = "created_time" SystemRelAttr_Creator = "creator" SystemRelAttr_Owner = "owner" diff --git a/pkg/sql/plan/build_ddl.go b/pkg/sql/plan/build_ddl.go index 5e617882dc6b3..fad1655f955d4 100644 --- a/pkg/sql/plan/build_ddl.go +++ b/pkg/sql/plan/build_ddl.go @@ -851,6 +851,10 @@ func buildCreateTable( createTable.TableDef.AutoIncrOffset = v } + // TTL table options are aggregated here and persisted together after the loop. + var ttlExpr, ttlEnable, ttlJobInterval string + var hasTTL, hasTTLEnable, hasTTLJobInterval bool + // set option for _, option := range stmt.Options { switch opt := option.(type) { @@ -893,6 +897,33 @@ func buildCreateTable( createTable.TableDef.AutoIncrOffset = opt.Value - 1 } + case *tree.TableOptionTTL: + // TTL is only allowed on normal base tables. + if stmt.Temporary || stmt.IsClusterTable || stmt.IsDynamicTable || stmt.Param != nil { + return nil, moerr.NewNotSupported(ctx.GetContext(), "TTL is only supported on normal base tables") + } + cols := make(map[string]int32, len(createTable.TableDef.Cols)) + for _, col := range createTable.TableDef.Cols { + cols[strings.ToLower(col.Name)] = col.Typ.Id + } + if err = validateTTLExpr(ctx.GetContext(), opt.Expr, cols); err != nil { + return nil, err + } + ttlExpr = ttlExprString(opt.Expr) + hasTTL = true + + case *tree.TableOptionTTLEnable: + if ttlEnable, err = normalizeTTLEnable(ctx.GetContext(), opt.Enable); err != nil { + return nil, err + } + hasTTLEnable = true + + case *tree.TableOptionTTLJobInterval: + if ttlJobInterval, err = validateTTLJobInterval(ctx.GetContext(), opt.Interval); err != nil { + return nil, err + } + hasTTLJobInterval = true + // these table options is not support in plan // case *tree.TableOptionEngine, *tree.TableOptionSecondaryEngine, *tree.TableOptionCharset, // *tree.TableOptionCollate, *tree.TableOptionAutoIncrement, *tree.TableOptionComment, @@ -918,6 +949,30 @@ func buildCreateTable( } } + // Finalize TTL options: TTL_ENABLE / TTL_JOB_INTERVAL require a TTL expression, + // and missing sub-options fall back to their defaults. + if hasTTL { + if !hasTTLEnable { + ttlEnable = defaultTTLEnable + } + if !hasTTLJobInterval { + ttlJobInterval = defaultTTLJobInterval + } + createTable.TableDef.Defs = append(createTable.TableDef.Defs, &plan.TableDef_DefType{ + Def: &plan.TableDef_DefType_Properties{ + Properties: &plan.PropertiesDef{ + Properties: []*plan.Property{ + {Key: catalog.SystemRelAttr_TTL, Value: ttlExpr}, + {Key: catalog.SystemRelAttr_TTLEnable, Value: ttlEnable}, + {Key: catalog.SystemRelAttr_TTLJobInterval, Value: ttlJobInterval}, + }, + }, + }, + }) + } else if hasTTLEnable || hasTTLJobInterval { + return nil, moerr.NewInvalidInput(ctx.GetContext(), "TTL_ENABLE/TTL_JOB_INTERVAL require a TTL expression") + } + // After handleTableOptions, so begin the partitions processing depend on TableDef if stmt.Param != nil { for i := 0; i < len(stmt.Param.Option); i += 2 { diff --git a/pkg/sql/plan/build_show_util.go b/pkg/sql/plan/build_show_util.go index 93acd09909ec8..5adabe1d550cd 100644 --- a/pkg/sql/plan/build_show_util.go +++ b/pkg/sql/plan/build_show_util.go @@ -464,17 +464,26 @@ func ConstructCreateTableSQL( createStr += ")" var comment string + var ttlExpr, ttlEnable, ttlJobInterval string var properties []*plan.Property // Collect non-system properties for PROPERTIES clause for _, def := range tableDef.Defs { if proDef, ok := def.Def.(*plan.TableDef_DefType_Properties); ok { for _, kv := range proDef.Properties.Properties { - if kv.Key == catalog.SystemRelAttr_Comment { + switch kv.Key { + case catalog.SystemRelAttr_Comment: comment = " COMMENT='" + kv.Value + "'" - } else if kv.Key != catalog.SystemRelAttr_Kind && - kv.Key != catalog.SystemRelAttr_CreateSQL && - kv.Key != catalog.PropSchemaExtra { - // Collect non-system properties (excluding Comment, Kind, CreateSQL, SchemaExtra) - // These will be included in PROPERTIES clause + case catalog.SystemRelAttr_TTL: + ttlExpr = kv.Value + case catalog.SystemRelAttr_TTLEnable: + ttlEnable = kv.Value + case catalog.SystemRelAttr_TTLJobInterval: + ttlJobInterval = kv.Value + case catalog.SystemRelAttr_Kind, + catalog.SystemRelAttr_CreateSQL, + catalog.PropSchemaExtra: + // system properties, excluded from PROPERTIES clause + default: + // Collect non-system properties; these will be in the PROPERTIES clause properties = append(properties, kv) } } @@ -483,6 +492,17 @@ func ConstructCreateTableSQL( createStr += comment + // Reflect the TTL clause (round-trippable through the parser) when present. + if ttlExpr != "" { + createStr += " TTL = " + ttlExpr + if ttlEnable != "" { + createStr += " TTL_ENABLE = '" + ttlEnable + "'" + } + if ttlJobInterval != "" { + createStr += " TTL_JOB_INTERVAL = '" + ttlJobInterval + "'" + } + } + if tableDef.Partition != nil { ps := ctx.GetProcess().GetPartitionService() if ps.Enabled() { diff --git a/pkg/sql/plan/ttl_util.go b/pkg/sql/plan/ttl_util.go new file mode 100644 index 0000000000000..767219aeb99f4 --- /dev/null +++ b/pkg/sql/plan/ttl_util.go @@ -0,0 +1,81 @@ +// Copyright 2021 - 2022 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 plan + +import ( + "context" + "strings" + "time" + + "github.com/matrixorigin/matrixone/pkg/common/moerr" + "github.com/matrixorigin/matrixone/pkg/container/types" + "github.com/matrixorigin/matrixone/pkg/sql/parsers/dialect" + "github.com/matrixorigin/matrixone/pkg/sql/parsers/tree" +) + +const ( + defaultTTLEnable = "on" + defaultTTLJobInterval = "1h" +) + +// validateTTLExpr validates the TTL expiry expression `col + INTERVAL n unit`. +// The left operand must reference a single existing column whose type is one of +// DATE / DATETIME / TIMESTAMP. cols maps lower-cased column names to their type id. +func validateTTLExpr(reqCtx context.Context, expr tree.Expr, cols map[string]int32) error { + be, ok := expr.(*tree.BinaryExpr) + if !ok || be.Op != tree.PLUS { + return moerr.NewInvalidInput(reqCtx, "TTL expression must be of form 'column + INTERVAL n unit'") + } + col, ok := be.Left.(*tree.UnresolvedName) + if !ok || col.NumParts != 1 || col.Star { + return moerr.NewInvalidInput(reqCtx, "TTL expression must reference a single column") + } + typID, ok := cols[strings.ToLower(col.ColName())] + if !ok { + return moerr.NewInvalidInputf(reqCtx, "TTL column '%s' does not exist", col.ColName()) + } + switch types.T(typID) { + case types.T_date, types.T_datetime, types.T_timestamp: + default: + return moerr.NewInvalidInputf(reqCtx, "TTL column '%s' must be of type DATE, DATETIME or TIMESTAMP", col.ColName()) + } + return nil +} + +// normalizeTTLEnable validates and lower-cases the TTL_ENABLE value (on/off). +func normalizeTTLEnable(reqCtx context.Context, v string) (string, error) { + s := strings.ToLower(strings.TrimSpace(v)) + if s != "on" && s != "off" { + return "", moerr.NewInvalidInputf(reqCtx, "TTL_ENABLE must be 'on' or 'off', got '%s'", v) + } + return s, nil +} + +// validateTTLJobInterval validates the TTL_JOB_INTERVAL value as a positive Go +// duration (e.g. 1h, 30m, 10s). +func validateTTLJobInterval(reqCtx context.Context, v string) (string, error) { + s := strings.TrimSpace(v) + d, err := time.ParseDuration(s) + if err != nil || d <= 0 { + return "", moerr.NewInvalidInputf(reqCtx, "TTL_JOB_INTERVAL must be a positive duration (e.g. '1h', '30m'), got '%s'", v) + } + return s, nil +} + +// ttlExprString reflects the TTL expiry expression to a string suitable for +// persistence and for round-tripping through SHOW CREATE TABLE. +func ttlExprString(expr tree.Expr) string { + return tree.StringWithOpts(expr, dialect.MYSQL, tree.WithQuoteIdentifier()) +} diff --git a/pkg/sql/plan/ttl_util_test.go b/pkg/sql/plan/ttl_util_test.go new file mode 100644 index 0000000000000..ad4283f75e68f --- /dev/null +++ b/pkg/sql/plan/ttl_util_test.go @@ -0,0 +1,233 @@ +// Copyright 2021 - 2022 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 plan + +import ( + "context" + "testing" + + "github.com/matrixorigin/matrixone/pkg/catalog" + "github.com/matrixorigin/matrixone/pkg/container/types" + "github.com/matrixorigin/matrixone/pkg/pb/plan" + "github.com/matrixorigin/matrixone/pkg/sql/parsers/dialect/mysql" + "github.com/matrixorigin/matrixone/pkg/sql/parsers/tree" + "github.com/stretchr/testify/require" +) + +// ttlProps collects the persisted TTL properties of a TableDef keyed by their catalog attr. +func ttlProps(tableDef *plan.TableDef) map[string]string { + out := make(map[string]string) + for _, def := range tableDef.Defs { + proDef, ok := def.Def.(*plan.TableDef_DefType_Properties) + if !ok { + continue + } + for _, kv := range proDef.Properties.Properties { + switch kv.Key { + case catalog.SystemRelAttr_TTL, catalog.SystemRelAttr_TTLEnable, catalog.SystemRelAttr_TTLJobInterval: + out[kv.Key] = kv.Value + } + } + } + return out +} + +// parseTTLExpr parses a CREATE TABLE statement and returns its TTL expiry expression. +func parseTTLExpr(t *testing.T, sql string) tree.Expr { + t.Helper() + stmts, err := mysql.Parse(context.Background(), sql, 1) + require.NoError(t, err) + ct, ok := stmts[0].(*tree.CreateTable) + require.True(t, ok) + for _, opt := range ct.Options { + if ttl, ok := opt.(*tree.TableOptionTTL); ok { + return ttl.Expr + } + } + t.Fatalf("no TTL option in %q", sql) + return nil +} + +func TestValidateTTLExpr(t *testing.T) { + ctx := context.Background() + cols := map[string]int32{ + "created_at": int32(types.T_timestamp), + "dt": int32(types.T_datetime), + "d": int32(types.T_date), + "id": int32(types.T_int32), + } + + t.Run("timestamp column ok", func(t *testing.T) { + expr := parseTTLExpr(t, "CREATE TABLE t (created_at TIMESTAMP) TTL = `created_at` + INTERVAL 7 DAY") + require.NoError(t, validateTTLExpr(ctx, expr, cols)) + }) + t.Run("datetime column ok", func(t *testing.T) { + expr := parseTTLExpr(t, "CREATE TABLE t (dt DATETIME) TTL = dt + INTERVAL 1 HOUR") + require.NoError(t, validateTTLExpr(ctx, expr, cols)) + }) + t.Run("date column ok", func(t *testing.T) { + expr := parseTTLExpr(t, "CREATE TABLE t (d DATE) TTL = d + INTERVAL 30 DAY") + require.NoError(t, validateTTLExpr(ctx, expr, cols)) + }) + t.Run("missing column", func(t *testing.T) { + expr := parseTTLExpr(t, "CREATE TABLE t (created_at TIMESTAMP) TTL = nope + INTERVAL 7 DAY") + require.Error(t, validateTTLExpr(ctx, expr, cols)) + }) + t.Run("non time-type column", func(t *testing.T) { + expr := parseTTLExpr(t, "CREATE TABLE t (id INT) TTL = id + INTERVAL 7 DAY") + require.Error(t, validateTTLExpr(ctx, expr, cols)) + }) +} + +func TestNormalizeTTLEnable(t *testing.T) { + ctx := context.Background() + for _, c := range []struct { + in, want string + wantErr bool + }{ + {"ON", "on", false}, + {"on", "on", false}, + {"OFF", "off", false}, + {" off ", "off", false}, + {"yes", "", true}, + {"", "", true}, + } { + got, err := normalizeTTLEnable(ctx, c.in) + if c.wantErr { + require.Error(t, err, "input %q", c.in) + continue + } + require.NoError(t, err, "input %q", c.in) + require.Equal(t, c.want, got) + } +} + +func TestValidateTTLJobInterval(t *testing.T) { + ctx := context.Background() + for _, c := range []struct { + in string + wantErr bool + }{ + {"1h", false}, + {"30m", false}, + {"10s", false}, + {"0s", true}, + {"-1h", true}, + {"abc", true}, + {"", true}, + } { + got, err := validateTTLJobInterval(ctx, c.in) + if c.wantErr { + require.Error(t, err, "input %q", c.in) + continue + } + require.NoError(t, err, "input %q", c.in) + require.Equal(t, c.in, got) + } +} + +func TestTTLExprStringRoundTrip(t *testing.T) { + expr := parseTTLExpr(t, "CREATE TABLE t (created_at TIMESTAMP) TTL = `created_at` + INTERVAL 7 DAY") + s := ttlExprString(expr) + + // The reflected expression must parse again as a TTL option. + stmts, err := mysql.Parse(context.Background(), "CREATE TABLE t (created_at TIMESTAMP) TTL = "+s, 1) + require.NoError(t, err) + ct := stmts[0].(*tree.CreateTable) + var found bool + for _, opt := range ct.Options { + if ttl, ok := opt.(*tree.TableOptionTTL); ok { + require.Equal(t, s, ttlExprString(ttl.Expr)) + found = true + } + } + require.True(t, found, "reflected TTL expr did not round-trip: %q", s) +} + +func TestCreateTableTTLPersist(t *testing.T) { + mock := NewMockOptimizer(false) + + t.Run("defaults applied", func(t *testing.T) { + tableDef, err := buildTestCreateTableStmt(mock, + "CREATE TABLE t (id INT, created_at TIMESTAMP) TTL = `created_at` + INTERVAL 7 DAY") + require.NoError(t, err) + props := ttlProps(tableDef) + require.Equal(t, "`created_at` + INTERVAL 7 day", props[catalog.SystemRelAttr_TTL]) + require.Equal(t, "on", props[catalog.SystemRelAttr_TTLEnable]) + require.Equal(t, "1h", props[catalog.SystemRelAttr_TTLJobInterval]) + }) + + t.Run("explicit enable and job interval", func(t *testing.T) { + tableDef, err := buildTestCreateTableStmt(mock, + "CREATE TABLE t (id INT, dt DATETIME) TTL = dt + INTERVAL 1 HOUR TTL_ENABLE = 'OFF' TTL_JOB_INTERVAL = '30m'") + require.NoError(t, err) + props := ttlProps(tableDef) + require.Equal(t, "`dt` + INTERVAL 1 hour", props[catalog.SystemRelAttr_TTL]) + require.Equal(t, "off", props[catalog.SystemRelAttr_TTLEnable]) + require.Equal(t, "30m", props[catalog.SystemRelAttr_TTLJobInterval]) + }) + + t.Run("no TTL means no TTL properties", func(t *testing.T) { + tableDef, err := buildTestCreateTableStmt(mock, "CREATE TABLE t (id INT, created_at TIMESTAMP)") + require.NoError(t, err) + require.Empty(t, ttlProps(tableDef)) + }) +} + +func buildTTLCreateErr(t *testing.T, sql string) error { + t.Helper() + mock := NewMockOptimizer(false) + cctx := mock.CurrentContext() + stmts, err := mysql.Parse(cctx.GetContext(), sql, 1) + require.NoError(t, err) + _, err = BuildPlan(cctx, stmts[0], false) + return err +} + +func TestCreateTableTTLErrors(t *testing.T) { + for _, c := range []struct { + name string + sql string + }{ + {"column not exist", "CREATE TABLE t (id INT, created_at TIMESTAMP) TTL = nope + INTERVAL 7 DAY"}, + {"column not time type", "CREATE TABLE t (id INT) TTL = id + INTERVAL 7 DAY"}, + {"bad job interval", "CREATE TABLE t (created_at TIMESTAMP) TTL = `created_at` + INTERVAL 7 DAY TTL_JOB_INTERVAL = 'abc'"}, + {"bad enable", "CREATE TABLE t (created_at TIMESTAMP) TTL = `created_at` + INTERVAL 7 DAY TTL_ENABLE = 'maybe'"}, + {"enable without ttl", "CREATE TABLE t (created_at TIMESTAMP) TTL_ENABLE = 'on'"}, + {"job interval without ttl", "CREATE TABLE t (created_at TIMESTAMP) TTL_JOB_INTERVAL = '1h'"}, + {"temporary table", "CREATE TEMPORARY TABLE t (created_at TIMESTAMP) TTL = `created_at` + INTERVAL 7 DAY"}, + } { + t.Run(c.name, func(t *testing.T) { + require.Error(t, buildTTLCreateErr(t, c.sql), "sql=%s", c.sql) + }) + } +} + +func TestShowCreateTableTTLRoundTrip(t *testing.T) { + for _, sql := range []string{ + "CREATE TABLE t (id INT, created_at TIMESTAMP) TTL = `created_at` + INTERVAL 7 DAY", + "CREATE TABLE t (id INT, created_at TIMESTAMP) TTL = `created_at` + INTERVAL 7 DAY TTL_ENABLE = 'OFF' TTL_JOB_INTERVAL = '30m'", + "CREATE TABLE t (id INT, dt DATETIME) TTL = dt + INTERVAL 1 HOUR", + } { + got, err := buildTestShowCreateTable(sql) + require.NoError(t, err, "sql=%s", sql) + require.Contains(t, got, " TTL = ") + require.Contains(t, got, " TTL_ENABLE = '") + require.Contains(t, got, " TTL_JOB_INTERVAL = '") + // The reflected SHOW CREATE TABLE statement must parse again. + _, perr := mysql.Parse(context.Background(), got, 1) + require.NoError(t, perr, "SHOW output not re-parseable: %s", got) + } +}