From 7c3b7d27446cbe7e4d1ccf6f51caf2d38f55916c Mon Sep 17 00:00:00 2001 From: "Marc G. Fournier" Date: Mon, 14 Dec 1998 05:19:16 +0000 Subject: [PATCH] Initial attempt to clean up the code... Switch sprintf() to snprintf() Remove any/all #if 0 -or- #ifdef NOT_USED -or- #ifdef FALSE sections of code --- src/backend/access/common/tupdesc.c | 5 +- src/backend/access/gist/gist.c | 30 +- src/backend/access/transam/xid.c | 31 +- src/backend/catalog/catalog.c | 33 +- src/backend/catalog/heap.c | 30 +- src/backend/commands/_deadcode/version.c | 7 +- src/backend/commands/cluster.c | 27 +- src/backend/commands/creatinh.c | 16 +- src/backend/commands/dbcommands.c | 40 +- src/backend/commands/explain.c | 19 +- src/backend/commands/recipe.c | 50 +- src/backend/commands/view.c | 4 +- src/backend/executor/execAmi.c | 6 +- src/backend/executor/nodeHash.c | 29 +- src/backend/executor/nodeTee.c | 59 +- src/backend/executor/spi.c | 52 +- src/backend/libpq/auth.c | 65 +- src/backend/parser/gram.c | 10217 +++++++++++---------- src/backend/parser/parse.h | 398 +- src/backend/utils/sort/psort.c | 4 +- src/include/nodes/execnodes.h | 18 +- 21 files changed, 5613 insertions(+), 5527 deletions(-) diff --git a/src/backend/access/common/tupdesc.c b/src/backend/access/common/tupdesc.c index 5b6181fe57..41f2869c46 100644 --- a/src/backend/access/common/tupdesc.c +++ b/src/backend/access/common/tupdesc.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/access/common/tupdesc.c,v 1.45 1998/11/27 19:51:28 vadim Exp $ + * $Header: /cvsroot/pgsql/src/backend/access/common/tupdesc.c,v 1.46 1998/12/14 05:18:30 scrappy Exp $ * * NOTES * some of the executor utility code such as "ExecTypeFromTL" should be @@ -488,7 +488,8 @@ BuildDescForRelation(List *schema, char *relname) if (arry != NIL) { /* array of XXX is _XXX */ - sprintf(typename, "_%.*s", NAMEDATALEN - 2, entry->typename->name); + snprintf(typename, NAMEDATALEN, + "_%.*s", NAMEDATALEN - 2, entry->typename->name); attdim = length(arry); } else diff --git a/src/backend/access/gist/gist.c b/src/backend/access/gist/gist.c index f57c0432b5..a761784204 100644 --- a/src/backend/access/gist/gist.c +++ b/src/backend/access/gist/gist.c @@ -1326,34 +1326,6 @@ _gistdump(Relation r) } } -#ifdef NOT_USED -static char * -text_range_out(TXTRANGE *r) -{ - char *result; - char *lower, - *upper; - - if (r == NULL) - return NULL; - result = (char *) palloc(NAMEDATALEN + VARSIZE(TRLOWER(r)) + VARSIZE(TRUPPER(r)) - - 2 * VARHDRSZ); - - lower = (char *) palloc(VARSIZE(TRLOWER(r)) + 1 - VARHDRSZ); - memcpy(lower, VARDATA(TRLOWER(r)), VARSIZE(TRLOWER(r)) - VARHDRSZ); - lower[VARSIZE(TRLOWER(r)) - VARHDRSZ] = '\0'; - upper = (char *) palloc(VARSIZE(TRUPPER(r)) + 1 - VARHDRSZ); - memcpy(upper, VARDATA(TRUPPER(r)), VARSIZE(TRUPPER(r)) - VARHDRSZ); - upper[VARSIZE(TRUPPER(r)) - VARHDRSZ] = '\0'; - - sprintf(result, "[%s,%s): %d", lower, upper, r->flag); - pfree(lower); - pfree(upper); - return result; -} - -#endif - static char * int_range_out(INTRANGE *r) { @@ -1362,7 +1334,7 @@ int_range_out(INTRANGE *r) if (r == NULL) return NULL; result = (char *) palloc(80); - sprintf(result, "[%d,%d): %d", r->lower, r->upper, r->flag); + snprintf(result, 80, "[%d,%d): %d", r->lower, r->upper, r->flag); return result; } diff --git a/src/backend/access/transam/xid.c b/src/backend/access/transam/xid.c index 4f4692a36d..d33a8a8dfd 100644 --- a/src/backend/access/transam/xid.c +++ b/src/backend/access/transam/xid.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/access/transam/Attic/xid.c,v 1.18 1998/10/08 18:29:18 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/access/transam/Attic/xid.c,v 1.19 1998/12/14 05:18:33 scrappy Exp $ * * OLD COMMENTS * XXX WARNING @@ -53,18 +53,6 @@ xidout(TransactionId transactionId) } -#ifdef NOT_USED -/* ---------------------------------------------------------------- - * TransactionIdIsLessThan - * ---------------------------------------------------------------- - */ -bool -TransactionIdIsLessThan(TransactionId id1, TransactionId id2) -{ - return (bool) (id1 < id2); -} -#endif - /* ---------------------------------------------------------------- * xideq * ---------------------------------------------------------------- @@ -82,23 +70,6 @@ xideq(TransactionId xid1, TransactionId xid2) -/* ---------------------------------------------------------------- - * TransactionIdIncrement - * ---------------------------------------------------------------- - */ -#ifdef NOT_USED -void -TransactionIdIncrement(TransactionId *transactionId) -{ - - (*transactionId)++; - if (*transactionId == DisabledTransactionId) - elog(FATAL, "TransactionIdIncrement: exhausted XID's"); - return; -} - -#endif - /* ---------------------------------------------------------------- * TransactionIdAdd * ---------------------------------------------------------------- diff --git a/src/backend/catalog/catalog.c b/src/backend/catalog/catalog.c index cb9d5ff836..4b5545946e 100644 --- a/src/backend/catalog/catalog.c +++ b/src/backend/catalog/catalog.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/catalog/catalog.c,v 1.18 1998/09/01 04:27:28 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/catalog/catalog.c,v 1.19 1998/12/14 05:18:36 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -29,40 +29,19 @@ char * relpath(char *relname) { - char *path; + char *path; + int bufsize = 0; if (IsSharedSystemRelationName(relname)) { - path = (char *) palloc(strlen(DataDir) + sizeof(NameData) + 2); - sprintf(path, "%s/%s", DataDir, relname); + bufsize = strlen(DataDir) + sizeof(NameData) + 2; + path = (char *) palloc(bufsize); + snprintf(path, bufsize, "%s/%s", DataDir, relname); return path; } return relname; } -#ifdef NOT_USED -/* - * issystem - returns non-zero iff relname is a system catalog - * - * We now make a new requirement where system catalog relns must begin - * with pg_ while user relns are forbidden to do so. Make the test - * trivial and instantaneous. - * - * XXX this is way bogus. -- pma - */ -bool -issystem(char *relname) -{ - if (relname[0] && relname[1] && relname[2]) - return (relname[0] == 'p' && - relname[1] == 'g' && - relname[2] == '_'); - else - return FALSE; -} - -#endif - /* * IsSystemRelationName -- * True iff name is the name of a system catalog relation. diff --git a/src/backend/catalog/heap.c b/src/backend/catalog/heap.c index 065e341eee..3fbdcec4e3 100644 --- a/src/backend/catalog/heap.c +++ b/src/backend/catalog/heap.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/catalog/heap.c,v 1.68 1998/12/13 23:50:58 thomas Exp $ + * $Header: /cvsroot/pgsql/src/backend/catalog/heap.c,v 1.69 1998/12/14 05:18:37 scrappy Exp $ * * INTERFACE ROUTINES * heap_create() - Create an uncataloged heap relation @@ -244,7 +244,7 @@ heap_create(char *name, if (name[0] == '\0') { - sprintf(tempname, "temp_%d", relid); + snprintf(tempname, NAMEDATALEN, "temp_%d", relid); Assert(strlen(tempname) < NAMEDATALEN); relname = tempname; isTemp = 1; @@ -1448,8 +1448,9 @@ start:; /* Surround table name with double quotes to allow mixed-case and * whitespaces in names. - BGA 1998-11-14 */ - sprintf(str, "select %s%s from \"%.*s\"", attrdef->adsrc, cast, - NAMEDATALEN, rel->rd_rel->relname.data); + snprintf(str, MAX_PARSE_BUFFER, + "select %s%s from \"%.*s\"", attrdef->adsrc, cast, + NAMEDATALEN, rel->rd_rel->relname.data); setheapoverride(true); planTree_list = (List *) pg_parse_and_plan(str, NULL, 0, &queryTree_list, None, FALSE); setheapoverride(false); @@ -1463,22 +1464,6 @@ start:; expr = te->expr; type = exprType(expr); -#if 0 - if (IsA(expr, Const)) - { - if (((Const *) expr)->consttype != atp->atttypid) - { - if (*cast != 0) - elog(ERROR, "DEFAULT: const type mismatched"); - sprintf(cast, ":: %s", typeidTypeName(atp->atttypid)); - goto start; - } - } - else if ((exprType(expr) != atp->atttypid) - && !IS_BINARY_COMPATIBLE(exprType(expr), atp->atttypid)) - elog(ERROR, "DEFAULT: type mismatched"); -#endif - if (type != atp->atttypid) { if (IS_BINARY_COMPATIBLE(type, atp->atttypid)) @@ -1490,7 +1475,7 @@ start:; if (*cast != 0) elog(ERROR, "DEFAULT clause const type '%s' mismatched with column type '%s'", typeidTypeName(type), typeidTypeName(atp->atttypid)); - sprintf(cast, ":: %s", typeidTypeName(atp->atttypid)); + snprintf(cast, 2*NAMEDATALEN, ":: %s", typeidTypeName(atp->atttypid)); goto start; } else @@ -1544,7 +1529,8 @@ StoreRelCheck(Relation rel, ConstrCheck *check) /* Check for table's existance. Surround table name with double-quotes * to allow mixed-case and whitespace names. - thomas 1998-11-12 */ - sprintf(str, "select 1 from \"%.*s\" where %s", + snprintf(str, MAX_PARSE_BUFFER, + "select 1 from \"%.*s\" where %s", NAMEDATALEN, rel->rd_rel->relname.data, check->ccsrc); setheapoverride(true); planTree_list = (List *) pg_parse_and_plan(str, NULL, 0, &queryTree_list, None, FALSE); diff --git a/src/backend/commands/_deadcode/version.c b/src/backend/commands/_deadcode/version.c index fc7d5dbc4f..fc1efc437b 100644 --- a/src/backend/commands/_deadcode/version.c +++ b/src/backend/commands/_deadcode/version.c @@ -10,7 +10,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/_deadcode/Attic/version.c,v 1.15 1998/09/01 04:28:09 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/_deadcode/Attic/version.c,v 1.16 1998/12/14 05:18:44 scrappy Exp $ * * NOTES * At the point the version is defined, 2 physical relations are created @@ -37,11 +37,6 @@ char rule_buf[MAX_QUERY_LEN]; -#ifdef NOT_USED -static char attr_list[MAX_QUERY_LEN]; - -#endif - /* * problem: the version system assumes that the rules it declares will * be fired in the order of declaration, it also assumes diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index c0be945d88..9d9324e8ff 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -14,7 +14,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/cluster.c,v 1.33 1998/11/27 19:51:54 vadim Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/cluster.c,v 1.34 1998/12/14 05:18:39 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -165,7 +165,7 @@ cluster(char *oldrelname, char *oldindexname) /* Create new index over the tuples of the new heap. */ copy_index(OIDOldIndex, OIDNewHeap); - sprintf(NewIndexName, "temp_%x", OIDOldIndex); + snprintf(NewIndexName, NAMEDATALEN, "temp_%x", OIDOldIndex); /* * make this really happen. Flush all the buffers. (Believe me, it is @@ -207,7 +207,7 @@ copy_heap(Oid OIDOldHeap) * Create a new heap relation with a temporary name, which has the * same tuple description as the old one. */ - sprintf(NewName, "temp_%x", OIDOldHeap); + snprintf(NewName, NAMEDATALEN, "temp_%x", OIDOldHeap); OldHeap = heap_open(OIDOldHeap); OldHeapDesc = RelationGetDescr(OldHeap); @@ -235,17 +235,17 @@ copy_heap(Oid OIDOldHeap) static void copy_index(Oid OIDOldIndex, Oid OIDNewHeap) { - Relation OldIndex, - NewHeap; - HeapTuple Old_pg_index_Tuple, - Old_pg_index_relation_Tuple, - pg_proc_Tuple; + Relation OldIndex, + NewHeap; + HeapTuple Old_pg_index_Tuple, + Old_pg_index_relation_Tuple, + pg_proc_Tuple; Form_pg_index Old_pg_index_Form; Form_pg_class Old_pg_index_relation_Form; - Form_pg_proc pg_proc_Form; - char *NewIndexName; - AttrNumber *attnumP; - int natts; + Form_pg_proc pg_proc_Form; + char *NewIndexName; + AttrNumber *attnumP; + int natts; FuncIndexInfo *finfo; NewHeap = heap_open(OIDNewHeap); @@ -273,8 +273,9 @@ copy_index(Oid OIDOldIndex, Oid OIDNewHeap) Old_pg_index_relation_Form = (Form_pg_class) GETSTRUCT(Old_pg_index_relation_Tuple); + /* Set the name. */ NewIndexName = palloc(NAMEDATALEN); /* XXX */ - sprintf(NewIndexName, "temp_%x", OIDOldIndex); /* Set the name. */ + snprintf(NewIndexName, NAMEDATALEN, "temp_%x", OIDOldIndex); /* * Ugly as it is, the only way I have of working out the number of diff --git a/src/backend/commands/creatinh.c b/src/backend/commands/creatinh.c index 0617452f18..bd43a7c7fb 100644 --- a/src/backend/commands/creatinh.c +++ b/src/backend/commands/creatinh.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/Attic/creatinh.c,v 1.36 1998/11/27 19:51:55 vadim Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/Attic/creatinh.c,v 1.37 1998/12/14 05:18:43 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -90,11 +90,11 @@ DefineRelation(CreateStmt *stmt, char relkind) if (constraints != NIL) { - List *entry; - int nconstr = length(constraints); + List *entry; + int nconstr = length(constraints), + ncheck = 0, + i; ConstrCheck *check = (ConstrCheck *) palloc(nconstr * sizeof(ConstrCheck)); - int ncheck = 0; - int i; foreach(entry, constraints) { @@ -107,14 +107,16 @@ DefineRelation(CreateStmt *stmt, char relkind) for (i = 0; i < ncheck; i++) { if (strcmp(check[i].ccname, cdef->name) == 0) - elog(ERROR, "DefineRelation: name (%s) of CHECK constraint duplicated", cdef->name); + elog(ERROR, + "DefineRelation: name (%s) of CHECK constraint duplicated", + cdef->name); } check[ncheck].ccname = cdef->name; } else { check[ncheck].ccname = (char *) palloc(NAMEDATALEN); - sprintf(check[ncheck].ccname, "$%d", ncheck + 1); + snprintf(check[ncheck].ccname, NAMEDATALEN, "$%d", ncheck + 1); } check[ncheck].ccbin = NULL; check[ncheck].ccsrc = (char *) cdef->def; diff --git a/src/backend/commands/dbcommands.c b/src/backend/commands/dbcommands.c index 62474e0e3b..d25d430c39 100644 --- a/src/backend/commands/dbcommands.c +++ b/src/backend/commands/dbcommands.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/dbcommands.c,v 1.26 1998/11/27 19:51:56 vadim Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/dbcommands.c,v 1.27 1998/12/14 05:18:43 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -47,8 +47,8 @@ createdb(char *dbname, char *dbpath, int encoding) Oid db_id; int4 user_id; char buf[512]; - char *lp, - loc[512]; + char *lp, + loc[512]; /* * If this call returns, the database does not exist and we're allowed @@ -64,7 +64,7 @@ createdb(char *dbname, char *dbpath, int encoding) { if (*(dbpath + strlen(dbpath) - 1) == SEP_CHAR) *(dbpath + strlen(dbpath) - 1) = '\0'; - sprintf(loc, "%s%c%s", dbpath, SEP_CHAR, dbname); + snprintf(loc, 512, "%s%c%s", dbpath, SEP_CHAR, dbname); } else strcpy(loc, dbname); @@ -79,20 +79,14 @@ createdb(char *dbname, char *dbpath, int encoding) if (mkdir(lp, S_IRWXU) != 0) elog(ERROR, "Unable to create database directory '%s'", lp); - sprintf(buf, "%s %s%cbase%ctemplate1%c* %s", + snprintf(buf, 512, "%s %s%cbase%ctemplate1%c* %s", COPY_CMD, DataDir, SEP_CHAR, SEP_CHAR, SEP_CHAR, lp); system(buf); -#if FALSE - sprintf(buf, "insert into pg_database (datname, datdba, datpath) \ - values ('%s'::name, '%d'::oid, '%s'::text);", - dbname, user_id, dbname); -#endif - - sprintf(buf, "insert into pg_database (datname, datdba, encoding, datpath)" + snprintf(buf, 512, + "insert into pg_database (datname, datdba, encoding, datpath)" " values ('%s', '%d', '%d', '%s');", dbname, user_id, encoding, loc); - pg_exec_query(buf); } @@ -101,9 +95,9 @@ destroydb(char *dbname) { int4 user_id; Oid db_id; - char *path; - char dbpath[MAXPGPATH + 1]; - char buf[512]; + char *path, + dbpath[MAXPGPATH + 1], + buf[512]; /* * If this call returns, the database exists and we're allowed to @@ -127,8 +121,8 @@ destroydb(char *dbname) * remove the pg_database tuple FIRST, this may fail due to * permissions problems */ - sprintf(buf, "delete from pg_database where pg_database.oid = \'%d\'::oid", - db_id); + snprintf(buf, 512, + "delete from pg_database where pg_database.oid = \'%d\'::oid", db_id); pg_exec_query(buf); /* @@ -136,7 +130,7 @@ destroydb(char *dbname) * not be reached */ - sprintf(buf, "rm -r %s", path); + snprintf(buf, 512, "rm -r %s", path); system(buf); /* drop pages for this database that are in the shared buffer cache */ @@ -300,16 +294,16 @@ static void stop_vacuum(char *dbpath, char *dbname) { char filename[256]; - FILE *fp; + FILE *fp; int pid; if (strchr(dbpath, SEP_CHAR) != 0) { - sprintf(filename, "%s%cbase%c%s%c%s.vacuum", DataDir, SEP_CHAR, SEP_CHAR, - dbname, SEP_CHAR, dbname); + snprintf(filename, 256, "%s%cbase%c%s%c%s.vacuum", + DataDir, SEP_CHAR, SEP_CHAR, dbname, SEP_CHAR, dbname); } else - sprintf(filename, "%s%c%s.vacuum", dbpath, SEP_CHAR, dbname); + snprintf(filename, 256, "%s%c%s.vacuum", dbpath, SEP_CHAR, dbname); if ((fp = AllocateFile(filename, "r")) != NULL) { diff --git a/src/backend/commands/explain.c b/src/backend/commands/explain.c index 2f08297d06..1a61c68424 100644 --- a/src/backend/commands/explain.c +++ b/src/backend/commands/explain.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/explain.c,v 1.27 1998/11/22 10:48:34 vadim Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/explain.c,v 1.28 1998/12/14 05:18:43 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -146,11 +146,11 @@ ExplainOneQuery(Query *query, bool verbose, CommandDest dest) static void explain_outNode(StringInfo str, Plan *plan, int indent, ExplainState *es) { - List *l; + List *l; Relation relation; - char *pname; - char buf[1000]; - int i; + char *pname, + buf[1000]; + int i; if (plan == NULL) { @@ -207,11 +207,6 @@ explain_outNode(StringInfo str, Plan *plan, int indent, ExplainState *es) break; } -#if 0 - for (i = 0; i < indent; i++) - appendStringInfo(str, " "); -#endif - appendStringInfo(str, pname); switch (nodeTag(plan)) { @@ -233,7 +228,7 @@ explain_outNode(StringInfo str, Plan *plan, int indent, ExplainState *es) appendStringInfo(str, " on "); if (strcmp(rte->refname, rte->relname) != 0) { - sprintf(buf, "%s ", rte->relname); + snprintf(buf, 1000, "%s ", rte->relname); appendStringInfo(str, buf); } appendStringInfo(str, rte->refname); @@ -244,7 +239,7 @@ explain_outNode(StringInfo str, Plan *plan, int indent, ExplainState *es) } if (es->printCost) { - sprintf(buf, " (cost=%.2f size=%d width=%d)", + snprintf(buf, 1000, " (cost=%.2f size=%d width=%d)", plan->cost, plan->plan_size, plan->plan_width); appendStringInfo(str, buf); } diff --git a/src/backend/commands/recipe.c b/src/backend/commands/recipe.c index 2d5662aa26..85b48d18b1 100644 --- a/src/backend/commands/recipe.c +++ b/src/backend/commands/recipe.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/Attic/recipe.c,v 1.25 1998/10/21 16:21:21 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/Attic/recipe.c,v 1.26 1998/12/14 05:18:44 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -121,18 +121,18 @@ static QueryTreeList *tg_parseTeeNode(TgRecipe * r, void beginRecipe(RecipeStmt *stmt) { - TgRecipe *r; - int i; + TgRecipe *r; + int i, + numTees; QueryTreeList *qList; - char portalName[1024]; + char portalName[1024]; - Plan *plan; - TupleDesc attinfo; - QueryDesc *queryDesc; - Query *parsetree; + Plan *plan; + TupleDesc attinfo; + QueryDesc *queryDesc; + Query *parsetree; - int numTees; - TeeInfo *teeInfo; + TeeInfo *teeInfo; /* * retrieveRecipe() reads the recipe from the database and returns a @@ -269,7 +269,7 @@ beginRecipe(RecipeStmt *stmt) /* define a portal for this viewer input */ /* for now, eyes can only have one input */ - sprintf(portalName, "%s%d", e->nodeName, 0); + snprintf(portalName, 1024, "%s%d", e->nodeName, 0); queryDesc = CreateQueryDesc(parsetree, plan, @@ -808,21 +808,21 @@ tg_parseTeeNode(TgRecipe * r, static QueryTreeList * tg_parseSubQuery(TgRecipe * r, TgNode * n, TeeInfo * teeInfo) { - TgElement *elem; - char *funcName; - Oid typev[8]; /* eight arguments maximum */ - int i; - int parameterCount; + TgElement *elem; + char *funcName; + Oid typev[8], /* eight arguments maximum */ + relid; + int i, + parameterCount; QueryTreeList *qList; /* the parse tree of the nodeElement */ QueryTreeList *inputQlist; /* the list of parse trees for the inputs * to this node */ QueryTreeList *q; - Oid relid; - TgNode *child; - Relation rel; - unsigned int len; - TupleDesc tupdesc; + TgNode *child; + Relation rel; + unsigned int len; + TupleDesc tupdesc; qList = NULL; @@ -876,13 +876,13 @@ tg_parseSubQuery(TgRecipe * r, TgNode * n, TeeInfo * teeInfo) { int i; - sprintf(newquery, "select %s($1", funcName); + snprintf(newquery, 1000, "select %s($1", funcName); for (i = 1; i < parameterCount; i++) - sprintf(newquery, "%s,$%d", newquery, i); - sprintf(newquery, "%s)", newquery); + snprintf(newquery, 1000, "%s,$%d", newquery, i); + snprintf(newquery, 1000, "%s)", newquery); } else - sprintf(newquery, "select %s()", funcName); + snprintf(newquery, 1000, "select %s()", funcName); #ifdef DEBUG_RECIPE elog(NOTICE, "calling parser with %s", newquery); diff --git a/src/backend/commands/view.c b/src/backend/commands/view.c index fc5755edd7..7fed73fcac 100644 --- a/src/backend/commands/view.c +++ b/src/backend/commands/view.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/view.c,v 1.26 1998/10/21 16:21:22 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/view.c,v 1.27 1998/12/14 05:18:44 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -122,7 +122,7 @@ MakeRetrieveViewRuleName(char *viewName) char *buf; buf = palloc(strlen(viewName) + 5); - sprintf(buf, "_RET%s", viewName); + snprintf(buf, strlen(viewName) + 5, "_RET%s", viewName); return buf; } diff --git a/src/backend/executor/execAmi.c b/src/backend/executor/execAmi.c index e8c9bec312..6711fa5f70 100644 --- a/src/backend/executor/execAmi.c +++ b/src/backend/executor/execAmi.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/executor/execAmi.c,v 1.25 1998/09/01 04:28:13 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/executor/execAmi.c,v 1.26 1998/12/14 05:18:49 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -518,10 +518,6 @@ ExecCreatR(TupleDesc tupType, * from the range table.. -cim 10/12/89) * ---------------- */ -/* - sprintf(tempname, "temp_%d.%d", getpid(), tmpcnt++); - EU1_printf("ExecCreatR: attempting to create %s\n", tempname); -*/ /* * heap_create creates a name if the argument to heap_create is diff --git a/src/backend/executor/nodeHash.c b/src/backend/executor/nodeHash.c index 63a9a83bca..e03a33b62b 100644 --- a/src/backend/executor/nodeHash.c +++ b/src/backend/executor/nodeHash.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/executor/nodeHash.c,v 1.24 1998/11/27 19:52:02 vadim Exp $ + * $Header: /cvsroot/pgsql/src/backend/executor/nodeHash.c,v 1.25 1998/12/14 05:18:50 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -341,7 +341,8 @@ ExecHashTableCreate(Hash *node) if (nbatch == 0) nbuckets = totalbuckets; #ifdef HJDEBUG - printf("nbatch = %d, totalbuckets = %d, nbuckets = %d\n", nbatch, totalbuckets, nbuckets); + printf("nbatch = %d, totalbuckets = %d, nbuckets = %d\n", + nbatch, totalbuckets, nbuckets); #endif /* ---------------- @@ -617,32 +618,14 @@ ExecHashOverflowInsert(HashJoinTable hashtable, + heapTuple->t_len + HEAPTUPLESIZE); if (newend > hashtable->bottom) { -#if 0 - elog(DEBUG, "hash table out of memory. expanding."); - /* ------------------ - * XXX this is a temporary hack - * eventually, recursive hash partitioning will be - * implemented - * ------------------ - */ - hashtable->readbuf = hashtable->bottom = 2 * hashtable->bottom; - hashtable = - (HashJoinTable) repalloc(hashtable, hashtable->bottom + BLCKSZ); - if (hashtable == NULL) - { - perror("repalloc"); - elog(ERROR, "can't expand hashtable."); - } -#else /* ------------------ * XXX the temporary hack above doesn't work because things * above us don't know that we've moved the hash table! * - Chris Dunlop, * ------------------ */ - elog(ERROR, "hash table out of memory. Use -B parameter to increase buffers."); -#endif - + elog(ERROR, + "hash table out of memory. Use -B parameter to increase buffers."); } /* ---------------- @@ -897,7 +880,7 @@ static int hjtmpcnt = 0; static void mk_hj_temp(char *tempname) { - sprintf(tempname, "HJ%d.%d", (int) MyProcPid, hjtmpcnt); + snprintf(tempname, strlen(tempname), "HJ%d.%d", (int) MyProcPid, hjtmpcnt); hjtmpcnt = (hjtmpcnt + 1) % 1000; } diff --git a/src/backend/executor/nodeTee.c b/src/backend/executor/nodeTee.c index 7b0f7f1755..741a4f077f 100644 --- a/src/backend/executor/nodeTee.c +++ b/src/backend/executor/nodeTee.c @@ -15,7 +15,7 @@ * ExecEndTee * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/executor/Attic/nodeTee.c,v 1.25 1998/11/27 19:52:03 vadim Exp $ + * $Header: /cvsroot/pgsql/src/backend/executor/Attic/nodeTee.c,v 1.26 1998/12/14 05:18:51 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -47,12 +47,12 @@ bool ExecInitTee(Tee *node, EState *currentEstate, Plan *parent) { - TeeState *teeState; - Plan *outerPlan; - int len; + TeeState *teeState; + Plan *outerPlan; + int len; Relation bufferRel; TupleDesc tupType; - EState *estate; + EState *estate; /* * it is possible that the Tee has already been initialized since it @@ -144,8 +144,6 @@ ExecInitTee(Tee *node, EState *currentEstate, Plan *parent) tupType = ExecGetResultType(&(teeState->cstate)); len = ExecTargetListLength(((Plan *) node)->targetlist); -/* bufferRel = ExecCreatR(len, tupType, _TEMP_RELATION_ID_); */ - /* * create a catalogued relation even though this is a temporary * relation @@ -176,7 +174,6 @@ ExecInitTee(Tee *node, EState *currentEstate, Plan *parent) sprintf(teeState->tee_bufferRelname, "ttemp_%d", /* 'ttemp' for 'tee' temporary */ newoid()); -/* bufferRel = ExecCreatR(len, tupType, _TEMP_RELATION_ID); */ bufferRel = heap_open( heap_create_with_catalog(teeState->tee_bufferRelname, tupType, RELKIND_RELATION)); @@ -429,52 +426,6 @@ ExecTee(Tee *node, Plan *parent) return result; } -#ifdef NOT_USED -/* ---------------------------------------------------------------- - * ExecTeeReScan(node) - * - * Rescans the relation. - * ---------------------------------------------------------------- - */ -void -ExecTeeReScan(Tee *node, ExprContext *exprCtxt, Plan *parent) -{ - - EState *estate; - TeeState *teeState; - ScanDirection dir; - - estate = ((Plan *) node)->state; - teeState = node->teestate; - - dir = estate->es_direction; - - /* XXX doesn't handle backwards direction yet */ - - if (parent == node->leftParent) - { - if (teeState->tee_leftScanDesc) - { - heap_rescan(teeState->tee_leftScanDesc, - ScanDirectionIsBackward(dir), - NULL); - teeState->tee_leftPlace = 0; - } - } - else - { - if (teeState->tee_rightScanDesc) - { - heap_rescan(teeState->tee_leftScanDesc, - ScanDirectionIsBackward(dir), - NULL); - teeState->tee_rightPlace = 0; - } - } -} -#endif - - /* --------------------------------------------------------------------- * ExecEndTee * diff --git a/src/backend/executor/spi.c b/src/backend/executor/spi.c index 0d3022dce7..125a36241a 100644 --- a/src/backend/executor/spi.c +++ b/src/backend/executor/spi.c @@ -3,6 +3,8 @@ * spi.c-- * Server Programming Interface * + * $Id: spi.c,v 1.29 1998/12/14 05:18:51 scrappy Exp $ + * *------------------------------------------------------------------------- */ #include "executor/spi.h" @@ -43,10 +45,6 @@ typedef struct static int _SPI_execute(char *src, int tcount, _SPI_plan *plan); static int _SPI_pquery(QueryDesc *queryDesc, EState *state, int tcount); -#if 0 -static void _SPI_fetch(FetchStmt *stmt); - -#endif static int _SPI_execute_plan(_SPI_plan *plan, Datum *Values, char *Nulls, int tcount); @@ -74,8 +72,8 @@ extern void ShowUsage(void); int SPI_connect() { - char pname[64]; - PortalVariableMemory pvmem; + char pname[64]; + PortalVariableMemory pvmem; /* * It's possible on startup and after commit/abort. In future we'll @@ -128,7 +126,7 @@ SPI_connect() _SPI_current->tuptable = NULL; /* Create Portal for this procedure ... */ - sprintf(pname, "", _SPI_connected); + snprintf(pname, 64, "", _SPI_connected); _SPI_current->portal = CreatePortal(pname); if (!PortalIsValid(_SPI_current->portal)) elog(FATAL, "SPI_connect: initialization failed"); @@ -876,46 +874,6 @@ _SPI_pquery(QueryDesc *queryDesc, EState *state, int tcount) } -#if 0 -static void -_SPI_fetch(FetchStmt *stmt) -{ - char *name = stmt->portalname; - int feature = (stmt->direction == FORWARD) ? EXEC_FOR : EXEC_BACK; - int count = stmt->howMany; - Portal portal; - QueryDesc *queryDesc; - EState *state; - MemoryContext context; - - if (name == NULL) - elog(FATAL, "SPI_fetch from blank portal unsupported"); - - portal = GetPortalByName(name); - if (!PortalIsValid(portal)) - elog(FATAL, "SPI_fetch: portal \"%s\" not found", name); - - context = MemoryContextSwitchTo((MemoryContext) PortalGetHeapMemory(portal)); - - queryDesc = PortalGetQueryDesc(portal); - state = PortalGetState(portal); - - ExecutorRun(queryDesc, state, feature, count); - - MemoryContextSwitchTo(context); /* switch to the normal Executor - * context */ - - _SPI_current->processed = state->es_processed; - if (_SPI_checktuples()) - elog(FATAL, "SPI_fetch: # of processed tuples check failed"); - - SPI_processed = _SPI_current->processed; - SPI_tuptable = _SPI_current->tuptable; - -} - -#endif - static MemoryContext _SPI_execmem() { diff --git a/src/backend/libpq/auth.c b/src/backend/libpq/auth.c index 4b161ed0a1..12eb33e424 100644 --- a/src/backend/libpq/auth.c +++ b/src/backend/libpq/auth.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/libpq/auth.c,v 1.31 1998/09/01 04:28:44 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/libpq/auth.c,v 1.32 1998/12/14 05:18:56 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -75,13 +75,13 @@ static int map_old_to_new(Port *port, UserAuth old, int status); static int pg_krb4_recvauth(Port *port) { - long krbopts = 0; /* one-way authentication */ - KTEXT_ST clttkt; - char instance[INST_SZ]; - AUTH_DAT auth_data; - Key_schedule key_sched; - char version[KRB_SENDAUTH_VLEN]; - int status; + long krbopts = 0; /* one-way authentication */ + KTEXT_ST clttkt; + char instance[INST_SZ], + version[KRB_SENDAUTH_VLEN]; + AUTH_DAT auth_data; + Key_schedule key_sched; + int status; strcpy(instance, "*"); /* don't care, but arg gets expanded * anyway */ @@ -98,28 +98,25 @@ pg_krb4_recvauth(Port *port) version); if (status != KSUCCESS) { - sprintf(PQerrormsg, - "pg_krb4_recvauth: kerberos error: %s\n", - krb_err_txt[status]); + snprintf(PQerrormsg, ERROR_MSG_LENGTH, + "pg_krb4_recvauth: kerberos error: %s\n", krb_err_txt[status]); fputs(PQerrormsg, stderr); pqdebug("%s", PQerrormsg); return STATUS_ERROR; } if (strncmp(version, PG_KRB4_VERSION, KRB_SENDAUTH_VLEN)) { - sprintf(PQerrormsg, - "pg_krb4_recvauth: protocol version != \"%s\"\n", - PG_KRB4_VERSION); + snprintf(PQerrormsg, ERROR_MSG_LENGTH, + "pg_krb4_recvauth: protocol version != \"%s\"\n", PG_KRB4_VERSION); fputs(PQerrormsg, stderr); pqdebug("%s", PQerrormsg); return STATUS_ERROR; } if (strncmp(port->user, auth_data.pname, SM_USER)) { - sprintf(PQerrormsg, + snprintf(PQerrormsg, ERROR_MSG_LENGTH, "pg_krb4_recvauth: name \"%s\" != \"%s\"\n", - port->user, - auth_data.pname); + port->user, auth_data.pname); fputs(PQerrormsg, stderr); pqdebug("%s", PQerrormsg); return STATUS_ERROR; @@ -131,9 +128,8 @@ pg_krb4_recvauth(Port *port) static int pg_krb4_recvauth(Port *port) { - sprintf(PQerrormsg, - "pg_krb4_recvauth: Kerberos not implemented on this " - "server.\n"); + snprintf(PQerrormsg, ERROR_MSG_LENGTH, + "pg_krb4_recvauth: Kerberos not implemented on this server.\n"); fputs(PQerrormsg, stderr); pqdebug("%s", PQerrormsg); @@ -226,9 +222,8 @@ pg_krb5_recvauth(Port *port) *hostp = '\0'; if (code = krb5_parse_name(servbuf, &server)) { - sprintf(PQerrormsg, - "pg_krb5_recvauth: Kerberos error %d in krb5_parse_name\n", - code); + snprintf(PQerrormsg, ERROR_MSG_LENGTH, + "pg_krb5_recvauth: Kerberos error %d in krb5_parse_name\n", code); com_err("pg_krb5_recvauth", code, "in krb5_parse_name"); return STATUS_ERROR; } @@ -260,9 +255,8 @@ pg_krb5_recvauth(Port *port) (krb5_ticket **) NULL, (krb5_authenticator **) NULL)) { - sprintf(PQerrormsg, - "pg_krb5_recvauth: Kerberos error %d in krb5_recvauth\n", - code); + snprintf(PQerrormsg, ERROR_MSG_LENGTH, + "pg_krb5_recvauth: Kerberos error %d in krb5_recvauth\n", code); com_err("pg_krb5_recvauth", code, "in krb5_recvauth"); krb5_free_principal(server); return STATUS_ERROR; @@ -276,9 +270,8 @@ pg_krb5_recvauth(Port *port) */ if ((code = krb5_unparse_name(client, &kusername))) { - sprintf(PQerrormsg, - "pg_krb5_recvauth: Kerberos error %d in krb5_unparse_name\n", - code); + snprintf(PQerrormsg, ERROR_MSG_LENGTH, + "pg_krb5_recvauth: Kerberos error %d in krb5_unparse_name\n", code); com_err("pg_krb5_recvauth", code, "in krb5_unparse_name"); krb5_free_principal(client); return STATUS_ERROR; @@ -286,7 +279,7 @@ pg_krb5_recvauth(Port *port) krb5_free_principal(client); if (!kusername) { - sprintf(PQerrormsg, + snprintf(PQerrormsg, ERROR_MSG_LENGTH, "pg_krb5_recvauth: could not decode username\n"); fputs(PQerrormsg, stderr); pqdebug("%s", PQerrormsg); @@ -295,9 +288,8 @@ pg_krb5_recvauth(Port *port) kusername = pg_an_to_ln(kusername); if (strncmp(username, kusername, SM_USER)) { - sprintf(PQerrormsg, - "pg_krb5_recvauth: name \"%s\" != \"%s\"\n", - port->user, kusername); + snprintf(PQerrormsg, ERROR_MSG_LENGTH, + "pg_krb5_recvauth: name \"%s\" != \"%s\"\n", port->user, kusername); fputs(PQerrormsg, stderr); pqdebug("%s", PQerrormsg); pfree(kusername); @@ -311,9 +303,8 @@ pg_krb5_recvauth(Port *port) static int pg_krb5_recvauth(Port *port) { - sprintf(PQerrormsg, - "pg_krb5_recvauth: Kerberos not implemented on this " - "server.\n"); + snprintf(PQerrormsg, ERROR_MSG_LENGTH, + "pg_krb5_recvauth: Kerberos not implemented on this server.\n"); fputs(PQerrormsg, stderr); pqdebug("%s", PQerrormsg); @@ -367,7 +358,7 @@ pg_passwordv0_recvauth(void *arg, PacketLen len, void *pkt) if (user == NULL || password == NULL) { - sprintf(PQerrormsg, + snprintf(PQerrormsg, ERROR_MSG_LENGTH, "pg_password_recvauth: badly formed password packet.\n"); fputs(PQerrormsg, stderr); pqdebug("%s", PQerrormsg); diff --git a/src/backend/parser/gram.c b/src/backend/parser/gram.c index efea1dc074..6c484aecf1 100644 --- a/src/backend/parser/gram.c +++ b/src/backend/parser/gram.c @@ -19,202 +19,208 @@ #define BOTH 269 #define BY 270 #define CASCADE 271 -#define CAST 272 -#define CHAR 273 -#define CHARACTER 274 -#define CHECK 275 -#define CLOSE 276 -#define COLLATE 277 -#define COLUMN 278 -#define COMMIT 279 -#define CONSTRAINT 280 -#define CREATE 281 -#define CROSS 282 -#define CURRENT 283 -#define CURRENT_DATE 284 -#define CURRENT_TIME 285 -#define CURRENT_TIMESTAMP 286 -#define CURRENT_USER 287 -#define CURSOR 288 -#define DAY_P 289 -#define DECIMAL 290 -#define DECLARE 291 -#define DEFAULT 292 -#define DELETE 293 -#define DESC 294 -#define DISTINCT 295 -#define DOUBLE 296 -#define DROP 297 -#define END_TRANS 298 -#define EXECUTE 299 -#define EXISTS 300 -#define EXTRACT 301 -#define FALSE_P 302 -#define FETCH 303 -#define FLOAT 304 -#define FOR 305 -#define FOREIGN 306 -#define FROM 307 -#define FULL 308 -#define GRANT 309 -#define GROUP 310 -#define HAVING 311 -#define HOUR_P 312 -#define IN 313 -#define INNER_P 314 -#define INSENSITIVE 315 -#define INSERT 316 -#define INTERVAL 317 -#define INTO 318 -#define IS 319 -#define JOIN 320 -#define KEY 321 -#define LANGUAGE 322 -#define LEADING 323 -#define LEFT 324 -#define LIKE 325 -#define LOCAL 326 -#define MATCH 327 -#define MINUTE_P 328 -#define MONTH_P 329 -#define NAMES 330 -#define NATIONAL 331 -#define NATURAL 332 -#define NCHAR 333 -#define NEXT 334 -#define NO 335 -#define NOT 336 -#define NULL_P 337 -#define NUMERIC 338 -#define OF 339 -#define ON 340 -#define ONLY 341 -#define OPTION 342 -#define OR 343 -#define ORDER 344 -#define OUTER_P 345 -#define PARTIAL 346 -#define POSITION 347 -#define PRECISION 348 -#define PRIMARY 349 -#define PRIOR 350 -#define PRIVILEGES 351 -#define PROCEDURE 352 -#define PUBLIC 353 -#define READ 354 -#define REFERENCES 355 -#define RELATIVE 356 -#define REVOKE 357 -#define RIGHT 358 -#define ROLLBACK 359 -#define SCROLL 360 -#define SECOND_P 361 -#define SELECT 362 -#define SET 363 -#define SUBSTRING 364 -#define TABLE 365 -#define TIME 366 -#define TIMESTAMP 367 -#define TIMEZONE_HOUR 368 -#define TIMEZONE_MINUTE 369 -#define TO 370 -#define TRAILING 371 -#define TRANSACTION 372 -#define TRIM 373 -#define TRUE_P 374 -#define UNION 375 -#define UNIQUE 376 -#define UPDATE 377 -#define USER 378 -#define USING 379 -#define VALUES 380 -#define VARCHAR 381 -#define VARYING 382 -#define VIEW 383 -#define WHERE 384 -#define WITH 385 -#define WORK 386 -#define YEAR_P 387 -#define ZONE 388 -#define TRIGGER 389 -#define TYPE_P 390 -#define ABORT_TRANS 391 -#define AFTER 392 -#define AGGREGATE 393 -#define ANALYZE 394 -#define BACKWARD 395 -#define BEFORE 396 -#define BINARY 397 -#define CACHE 398 -#define CLUSTER 399 -#define COPY 400 -#define CREATEDB 401 -#define CREATEUSER 402 -#define CYCLE 403 -#define DATABASE 404 -#define DELIMITERS 405 -#define DO 406 -#define EACH 407 -#define ENCODING 408 -#define EXPLAIN 409 -#define EXTEND 410 -#define FORWARD 411 -#define FUNCTION 412 -#define HANDLER 413 -#define INCREMENT 414 -#define INDEX 415 -#define INHERITS 416 -#define INSTEAD 417 -#define ISNULL 418 -#define LANCOMPILER 419 -#define LISTEN 420 -#define LOAD 421 -#define LOCATION 422 -#define LOCK_P 423 -#define MAXVALUE 424 -#define MINVALUE 425 -#define MOVE 426 -#define NEW 427 -#define NOCREATEDB 428 -#define NOCREATEUSER 429 -#define NONE 430 -#define NOTHING 431 -#define NOTIFY 432 -#define NOTNULL 433 -#define OIDS 434 -#define OPERATOR 435 -#define PASSWORD 436 -#define PROCEDURAL 437 -#define RECIPE 438 -#define RENAME 439 -#define RESET 440 -#define RETURNS 441 -#define ROW 442 -#define RULE 443 -#define SEQUENCE 444 -#define SERIAL 445 -#define SETOF 446 -#define SHOW 447 -#define START 448 -#define STATEMENT 449 -#define STDIN 450 -#define STDOUT 451 -#define TRUSTED 452 -#define UNLISTEN 453 -#define UNTIL 454 -#define VACUUM 455 -#define VALID 456 -#define VERBOSE 457 -#define VERSION 458 -#define IDENT 459 -#define SCONST 460 -#define Op 461 -#define ICONST 462 -#define PARAM 463 -#define FCONST 464 -#define OP 465 -#define UMINUS 466 -#define TYPECAST 467 +#define CASE 272 +#define CAST 273 +#define CHAR 274 +#define CHARACTER 275 +#define CHECK 276 +#define CLOSE 277 +#define COALESCE 278 +#define COLLATE 279 +#define COLUMN 280 +#define COMMIT 281 +#define CONSTRAINT 282 +#define CREATE 283 +#define CROSS 284 +#define CURRENT 285 +#define CURRENT_DATE 286 +#define CURRENT_TIME 287 +#define CURRENT_TIMESTAMP 288 +#define CURRENT_USER 289 +#define CURSOR 290 +#define DAY_P 291 +#define DECIMAL 292 +#define DECLARE 293 +#define DEFAULT 294 +#define DELETE 295 +#define DESC 296 +#define DISTINCT 297 +#define DOUBLE 298 +#define DROP 299 +#define ELSE 300 +#define END_TRANS 301 +#define EXECUTE 302 +#define EXISTS 303 +#define EXTRACT 304 +#define FALSE_P 305 +#define FETCH 306 +#define FLOAT 307 +#define FOR 308 +#define FOREIGN 309 +#define FROM 310 +#define FULL 311 +#define GRANT 312 +#define GROUP 313 +#define HAVING 314 +#define HOUR_P 315 +#define IN 316 +#define INNER_P 317 +#define INSENSITIVE 318 +#define INSERT 319 +#define INTERVAL 320 +#define INTO 321 +#define IS 322 +#define JOIN 323 +#define KEY 324 +#define LANGUAGE 325 +#define LEADING 326 +#define LEFT 327 +#define LIKE 328 +#define LOCAL 329 +#define MATCH 330 +#define MINUTE_P 331 +#define MONTH_P 332 +#define NAMES 333 +#define NATIONAL 334 +#define NATURAL 335 +#define NCHAR 336 +#define NEXT 337 +#define NO 338 +#define NOT 339 +#define NULLIF 340 +#define NULL_P 341 +#define NUMERIC 342 +#define OF 343 +#define ON 344 +#define ONLY 345 +#define OPTION 346 +#define OR 347 +#define ORDER 348 +#define OUTER_P 349 +#define PARTIAL 350 +#define POSITION 351 +#define PRECISION 352 +#define PRIMARY 353 +#define PRIOR 354 +#define PRIVILEGES 355 +#define PROCEDURE 356 +#define PUBLIC 357 +#define READ 358 +#define REFERENCES 359 +#define RELATIVE 360 +#define REVOKE 361 +#define RIGHT 362 +#define ROLLBACK 363 +#define SCROLL 364 +#define SECOND_P 365 +#define SELECT 366 +#define SET 367 +#define SUBSTRING 368 +#define TABLE 369 +#define THEN 370 +#define TIME 371 +#define TIMESTAMP 372 +#define TIMEZONE_HOUR 373 +#define TIMEZONE_MINUTE 374 +#define TO 375 +#define TRAILING 376 +#define TRANSACTION 377 +#define TRIM 378 +#define TRUE_P 379 +#define UNION 380 +#define UNIQUE 381 +#define UPDATE 382 +#define USER 383 +#define USING 384 +#define VALUES 385 +#define VARCHAR 386 +#define VARYING 387 +#define VIEW 388 +#define WHEN 389 +#define WHERE 390 +#define WITH 391 +#define WORK 392 +#define YEAR_P 393 +#define ZONE 394 +#define TRIGGER 395 +#define TYPE_P 396 +#define ABORT_TRANS 397 +#define AFTER 398 +#define AGGREGATE 399 +#define ANALYZE 400 +#define BACKWARD 401 +#define BEFORE 402 +#define BINARY 403 +#define CACHE 404 +#define CLUSTER 405 +#define COPY 406 +#define CREATEDB 407 +#define CREATEUSER 408 +#define CYCLE 409 +#define DATABASE 410 +#define DELIMITERS 411 +#define DO 412 +#define EACH 413 +#define ENCODING 414 +#define EXPLAIN 415 +#define EXTEND 416 +#define FORWARD 417 +#define FUNCTION 418 +#define HANDLER 419 +#define INCREMENT 420 +#define INDEX 421 +#define INHERITS 422 +#define INSTEAD 423 +#define ISNULL 424 +#define LANCOMPILER 425 +#define LISTEN 426 +#define LOAD 427 +#define LOCATION 428 +#define LOCK_P 429 +#define MAXVALUE 430 +#define MINVALUE 431 +#define MOVE 432 +#define NEW 433 +#define NOCREATEDB 434 +#define NOCREATEUSER 435 +#define NONE 436 +#define NOTHING 437 +#define NOTIFY 438 +#define NOTNULL 439 +#define OIDS 440 +#define OPERATOR 441 +#define PASSWORD 442 +#define PROCEDURAL 443 +#define RECIPE 444 +#define RENAME 445 +#define RESET 446 +#define RETURNS 447 +#define ROW 448 +#define RULE 449 +#define SEQUENCE 450 +#define SERIAL 451 +#define SETOF 452 +#define SHOW 453 +#define START 454 +#define STATEMENT 455 +#define STDIN 456 +#define STDOUT 457 +#define TRUSTED 458 +#define UNLISTEN 459 +#define UNTIL 460 +#define VACUUM 461 +#define VALID 462 +#define VERBOSE 463 +#define VERSION 464 +#define IDENT 465 +#define SCONST 466 +#define Op 467 +#define ICONST 468 +#define PARAM 469 +#define FCONST 470 +#define OP 471 +#define UMINUS 472 +#define TYPECAST 473 #line 1 "gram.y" /* -*-text-*- */ @@ -229,7 +235,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/Attic/gram.c,v 2.50 1998/11/27 19:52:09 vadim Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/Attic/gram.c,v 2.51 1998/12/14 05:18:57 scrappy Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT @@ -344,26 +350,26 @@ typedef union -#define YYFINAL 1653 +#define YYFINAL 1687 #define YYFLAG -32768 -#define YYNTBASE 229 +#define YYNTBASE 235 -#define YYTRANSLATE(x) ((unsigned)(x) <= 467 ? yytranslate[x] : 489) +#define YYTRANSLATE(x) ((unsigned)(x) <= 473 ? yytranslate[x] : 500) static const short yytranslate[] = { 0, 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, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 227, - 228, 216, 214, 226, 215, 222, 217, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 219, 220, 212, - 211, 213, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 233, + 234, 222, 220, 232, 221, 228, 223, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 225, 226, 218, + 217, 219, 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, 2, - 223, 2, 224, 2, 2, 2, 2, 2, 2, 2, + 229, 2, 230, 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, - 2, 2, 2, 218, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 224, 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, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -397,7 +403,8 @@ static const short yytranslate[] = { 0, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, - 206, 207, 208, 209, 210, 221, 225 + 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, + 216, 227, 231 }; #if YYDEBUG != 0 @@ -471,422 +478,432 @@ static const short yyprhs[] = { 0, 2063, 2068, 2072, 2077, 2083, 2090, 2091, 2098, 2099, 2107, 2113, 2119, 2125, 2131, 2137, 2143, 2149, 2155, 2162, 2169, 2176, 2183, 2190, 2197, 2204, 2211, 2218, 2225, 2232, 2239, - 2246, 2253, 2260, 2267, 2271, 2275, 2278, 2281, 2283, 2285, - 2288, 2292, 2296, 2300, 2304, 2307, 2310, 2313, 2317, 2324, - 2328, 2332, 2335, 2338, 2342, 2347, 2349, 2351, 2356, 2358, - 2363, 2365, 2367, 2372, 2377, 2383, 2389, 2395, 2400, 2405, - 2412, 2413, 2415, 2419, 2423, 2427, 2428, 2430, 2432, 2434, - 2438, 2439, 2442, 2444, 2447, 2451, 2455, 2459, 2463, 2466, - 2470, 2477, 2481, 2485, 2488, 2491, 2493, 2497, 2502, 2507, - 2512, 2518, 2524, 2530, 2535, 2539, 2540, 2543, 2544, 2547, - 2548, 2552, 2555, 2557, 2559, 2561, 2563, 2567, 2569, 2571, - 2573, 2577, 2581, 2585, 2587, 2591, 2595, 2599, 2601, 2603, - 2608, 2611, 2615, 2619, 2621, 2625, 2627, 2631, 2633, 2635, - 2636, 2638, 2640, 2642, 2644, 2646, 2648, 2650, 2652, 2654, - 2656, 2658, 2660, 2662, 2664, 2667, 2669, 2671, 2673, 2676, - 2678, 2680, 2682, 2684, 2686, 2688, 2690, 2692, 2694, 2696, - 2698, 2700, 2702, 2704, 2706, 2708, 2710, 2712, 2714, 2716, - 2718, 2720, 2722, 2724, 2726, 2728, 2730, 2732, 2734, 2736, - 2738, 2740, 2742, 2744, 2746, 2748, 2750, 2752, 2754, 2756, - 2758, 2760, 2762, 2764, 2766, 2768, 2770, 2772, 2774, 2776, - 2778, 2780, 2782, 2784, 2786, 2788, 2790, 2792, 2794, 2796, - 2798, 2800, 2802, 2804, 2806, 2808, 2810, 2812, 2814, 2816, - 2818, 2820, 2822, 2824, 2826, 2828, 2830, 2832, 2834, 2836, - 2838, 2840, 2842, 2844, 2846, 2848, 2850, 2852, 2854, 2856, - 2858, 2860, 2862, 2864, 2866, 2868, 2870, 2872, 2874, 2876, - 2878, 2880, 2882, 2884, 2886, 2888, 2890, 2892, 2894, 2896 + 2246, 2253, 2260, 2267, 2271, 2275, 2278, 2280, 2283, 2285, + 2287, 2290, 2294, 2298, 2302, 2306, 2309, 2312, 2315, 2319, + 2326, 2330, 2334, 2337, 2340, 2344, 2349, 2351, 2353, 2358, + 2360, 2365, 2367, 2369, 2374, 2379, 2385, 2391, 2397, 2402, + 2407, 2414, 2415, 2417, 2421, 2425, 2429, 2430, 2432, 2434, + 2436, 2440, 2441, 2444, 2446, 2449, 2453, 2457, 2461, 2465, + 2468, 2472, 2479, 2483, 2487, 2490, 2493, 2495, 2499, 2504, + 2509, 2514, 2520, 2526, 2532, 2537, 2541, 2542, 2545, 2546, + 2549, 2550, 2554, 2557, 2559, 2561, 2563, 2565, 2569, 2571, + 2573, 2575, 2579, 2585, 2592, 2597, 2600, 2602, 2607, 2610, + 2611, 2614, 2616, 2617, 2621, 2625, 2627, 2631, 2635, 2639, + 2641, 2643, 2648, 2651, 2655, 2659, 2661, 2665, 2667, 2671, + 2673, 2675, 2676, 2678, 2680, 2682, 2684, 2686, 2688, 2690, + 2692, 2694, 2696, 2698, 2700, 2702, 2704, 2707, 2709, 2711, + 2713, 2716, 2718, 2720, 2722, 2724, 2726, 2728, 2730, 2732, + 2734, 2736, 2738, 2740, 2742, 2744, 2746, 2748, 2750, 2752, + 2754, 2756, 2758, 2760, 2762, 2764, 2766, 2768, 2770, 2772, + 2774, 2776, 2778, 2780, 2782, 2784, 2786, 2788, 2790, 2792, + 2794, 2796, 2798, 2800, 2802, 2804, 2806, 2808, 2810, 2812, + 2814, 2816, 2818, 2820, 2822, 2824, 2826, 2828, 2830, 2832, + 2834, 2836, 2838, 2840, 2842, 2844, 2846, 2848, 2850, 2852, + 2854, 2856, 2858, 2860, 2862, 2864, 2866, 2868, 2870, 2872, + 2874, 2876, 2878, 2880, 2882, 2884, 2886, 2888, 2890, 2892, + 2894, 2896, 2898, 2900, 2902, 2904, 2906, 2908, 2910, 2912, + 2914, 2916, 2918, 2920, 2922, 2924, 2926, 2928, 2930, 2932, + 2934, 2936, 2938, 2940, 2942, 2944, 2946, 2948, 2950 }; -static const short yyrhs[] = { 230, - 0, 231, 0, 230, 231, 220, 0, 230, 231, 0, - 231, 220, 0, 246, 0, 233, 0, 248, 0, 249, - 0, 255, 0, 277, 0, 281, 0, 287, 0, 290, - 0, 232, 0, 370, 0, 300, 0, 308, 0, 289, - 0, 299, 0, 234, 0, 329, 0, 376, 0, 309, - 0, 313, 0, 320, 0, 358, 0, 359, 0, 384, - 0, 331, 0, 330, 0, 339, 0, 342, 0, 341, - 0, 337, 0, 346, 0, 319, 0, 377, 0, 349, - 0, 360, 0, 362, 0, 363, 0, 364, 0, 369, - 0, 371, 0, 241, 0, 244, 0, 245, 0, 26, - 123, 484, 235, 236, 237, 239, 240, 0, 7, 123, - 484, 235, 236, 237, 239, 240, 0, 42, 123, 484, - 0, 130, 181, 484, 0, 0, 146, 0, 173, 0, - 0, 147, 0, 174, 0, 0, 238, 226, 484, 0, - 484, 0, 58, 55, 238, 0, 0, 201, 199, 205, - 0, 0, 108, 486, 115, 242, 0, 108, 486, 211, - 242, 0, 108, 111, 133, 243, 0, 108, 75, 368, - 0, 483, 0, 37, 0, 483, 0, 37, 0, 71, - 0, 192, 486, 0, 192, 111, 133, 0, 185, 486, - 0, 185, 111, 133, 0, 7, 110, 470, 404, 247, - 0, 5, 348, 258, 0, 5, 227, 256, 228, 0, - 42, 348, 486, 0, 7, 348, 486, 108, 37, 265, - 0, 7, 348, 486, 42, 37, 0, 5, 267, 0, - 21, 469, 0, 145, 252, 470, 253, 250, 251, 254, - 0, 115, 0, 52, 0, 483, 0, 195, 0, 196, - 0, 142, 0, 0, 130, 179, 0, 0, 124, 150, - 483, 0, 0, 26, 110, 470, 227, 256, 228, 276, - 0, 256, 226, 257, 0, 257, 0, 0, 258, 0, - 266, 0, 486, 421, 259, 0, 486, 190, 261, 0, - 260, 0, 0, 260, 262, 0, 262, 0, 94, 66, - 0, 0, 25, 476, 263, 0, 263, 0, 20, 227, - 269, 228, 0, 37, 82, 0, 37, 265, 0, 81, - 82, 0, 121, 0, 94, 66, 0, 100, 486, 380, - 272, 273, 0, 264, 226, 265, 0, 265, 0, 480, - 0, 215, 265, 0, 265, 214, 265, 0, 265, 215, - 265, 0, 265, 217, 265, 0, 265, 216, 265, 0, - 265, 211, 265, 0, 265, 212, 265, 0, 265, 213, - 265, 0, 219, 265, 0, 220, 265, 0, 218, 265, - 0, 265, 225, 421, 0, 17, 227, 265, 10, 421, - 228, 0, 227, 265, 228, 0, 477, 227, 228, 0, - 477, 227, 264, 228, 0, 265, 206, 265, 0, 206, - 265, 0, 265, 206, 0, 29, 0, 30, 0, 30, - 227, 482, 228, 0, 31, 0, 31, 227, 482, 228, - 0, 32, 0, 123, 0, 25, 476, 267, 0, 267, - 0, 20, 227, 269, 228, 0, 121, 227, 381, 228, - 0, 94, 66, 227, 381, 228, 0, 51, 66, 227, - 381, 228, 100, 486, 380, 272, 273, 0, 268, 226, - 269, 0, 269, 0, 480, 0, 82, 0, 486, 0, - 215, 269, 0, 269, 214, 269, 0, 269, 215, 269, - 0, 269, 217, 269, 0, 269, 216, 269, 0, 269, - 211, 269, 0, 269, 212, 269, 0, 269, 213, 269, - 0, 219, 269, 0, 220, 269, 0, 218, 269, 0, - 269, 225, 421, 0, 17, 227, 269, 10, 421, 228, - 0, 227, 269, 228, 0, 477, 227, 228, 0, 477, - 227, 268, 228, 0, 269, 206, 269, 0, 269, 70, - 269, 0, 269, 81, 70, 269, 0, 269, 8, 269, - 0, 269, 88, 269, 0, 81, 269, 0, 206, 269, - 0, 269, 206, 0, 269, 163, 0, 269, 64, 82, - 0, 269, 178, 0, 269, 64, 81, 82, 0, 269, - 64, 119, 0, 269, 64, 47, 0, 269, 64, 81, - 119, 0, 269, 64, 81, 47, 0, 269, 58, 227, - 270, 228, 0, 269, 81, 58, 227, 270, 228, 0, - 269, 13, 271, 8, 271, 0, 269, 81, 13, 271, - 8, 271, 0, 270, 226, 271, 0, 271, 0, 480, - 0, 72, 53, 0, 72, 91, 0, 0, 274, 274, - 0, 274, 0, 0, 85, 38, 275, 0, 85, 122, - 275, 0, 80, 4, 0, 16, 0, 108, 37, 0, - 108, 82, 0, 161, 227, 405, 228, 0, 0, 26, - 110, 470, 278, 10, 392, 0, 227, 279, 228, 0, - 0, 279, 226, 280, 0, 280, 0, 486, 0, 26, - 189, 470, 282, 0, 282, 283, 0, 0, 143, 286, - 0, 148, 0, 159, 286, 0, 169, 286, 0, 170, - 286, 0, 193, 286, 0, 285, 0, 286, 0, 209, - 0, 215, 209, 0, 482, 0, 215, 482, 0, 26, - 288, 182, 67, 483, 158, 303, 164, 483, 0, 197, - 0, 0, 42, 182, 67, 483, 0, 26, 134, 476, - 291, 292, 85, 470, 294, 44, 97, 476, 227, 297, - 228, 0, 141, 0, 137, 0, 293, 0, 293, 88, - 293, 0, 293, 88, 293, 88, 293, 0, 61, 0, - 38, 0, 122, 0, 50, 295, 296, 0, 152, 0, - 0, 187, 0, 194, 0, 298, 0, 297, 226, 298, - 0, 0, 207, 0, 209, 0, 483, 0, 204, 0, - 42, 134, 476, 85, 470, 0, 26, 302, 301, 0, - 303, 304, 0, 180, 0, 135, 0, 138, 0, 97, - 0, 65, 0, 486, 0, 344, 0, 206, 0, 227, - 305, 228, 0, 306, 0, 305, 226, 306, 0, 303, - 211, 307, 0, 303, 0, 37, 211, 307, 0, 486, - 0, 343, 0, 284, 0, 483, 0, 191, 486, 0, - 42, 110, 405, 0, 42, 189, 405, 0, 48, 310, - 311, 312, 0, 171, 310, 311, 312, 0, 156, 0, - 140, 0, 101, 0, 3, 0, 0, 482, 0, 215, - 482, 0, 6, 0, 79, 0, 95, 0, 0, 58, - 476, 0, 52, 476, 0, 0, 54, 314, 85, 405, - 115, 317, 318, 0, 6, 96, 0, 6, 0, 315, - 0, 316, 0, 315, 226, 316, 0, 107, 0, 61, - 0, 122, 0, 38, 0, 188, 0, 98, 0, 55, - 486, 0, 486, 0, 130, 54, 87, 0, 0, 102, - 314, 85, 405, 52, 317, 0, 26, 321, 160, 475, - 85, 470, 322, 227, 323, 228, 332, 0, 121, 0, - 0, 124, 472, 0, 0, 324, 0, 325, 0, 324, - 226, 326, 0, 326, 0, 477, 227, 406, 228, 327, - 328, 0, 473, 327, 328, 0, 219, 421, 0, 50, - 421, 0, 0, 474, 0, 124, 474, 0, 0, 155, - 160, 475, 417, 0, 44, 183, 479, 0, 26, 157, - 477, 333, 186, 335, 332, 10, 483, 67, 483, 0, - 130, 304, 0, 0, 227, 334, 228, 0, 227, 228, - 0, 485, 0, 334, 226, 485, 0, 336, 485, 0, - 191, 0, 0, 42, 338, 476, 0, 135, 0, 160, - 0, 188, 0, 128, 0, 42, 138, 476, 340, 0, - 476, 0, 216, 0, 42, 157, 477, 333, 0, 42, - 180, 343, 227, 345, 228, 0, 206, 0, 344, 0, - 214, 0, 215, 0, 216, 0, 217, 0, 212, 0, - 213, 0, 211, 0, 476, 0, 476, 226, 476, 0, - 175, 226, 476, 0, 476, 226, 175, 0, 7, 110, - 470, 404, 184, 348, 347, 115, 476, 0, 476, 0, - 0, 23, 0, 0, 0, 26, 188, 476, 10, 350, - 85, 355, 115, 354, 417, 151, 356, 351, 0, 176, - 0, 377, 0, 223, 352, 224, 0, 227, 352, 228, - 0, 353, 0, 377, 0, 353, 377, 220, 0, 353, - 377, 0, 377, 220, 0, 470, 222, 473, 0, 470, - 0, 107, 0, 122, 0, 38, 0, 61, 0, 162, - 0, 0, 177, 470, 0, 165, 470, 0, 198, 470, - 0, 198, 216, 0, 136, 361, 0, 12, 361, 0, - 24, 361, 0, 43, 361, 0, 104, 361, 0, 131, - 0, 117, 0, 0, 26, 128, 476, 10, 391, 0, - 166, 478, 0, 26, 149, 471, 130, 365, 366, 0, - 26, 149, 471, 0, 167, 211, 367, 0, 0, 153, - 211, 368, 0, 0, 483, 0, 37, 0, 0, 483, - 0, 37, 0, 0, 42, 149, 471, 0, 144, 475, - 85, 470, 0, 200, 372, 373, 0, 200, 372, 373, - 470, 374, 0, 202, 0, 0, 139, 0, 0, 227, - 375, 228, 0, 0, 476, 0, 375, 226, 476, 0, - 154, 372, 377, 0, 391, 0, 386, 0, 385, 0, - 378, 0, 357, 0, 383, 0, 61, 63, 470, 380, - 379, 0, 125, 227, 467, 228, 0, 37, 125, 0, - 107, 399, 467, 409, 417, 407, 408, 393, 0, 227, - 381, 228, 0, 0, 381, 226, 382, 0, 382, 0, - 486, 449, 0, 38, 52, 470, 417, 0, 168, 397, - 470, 0, 122, 470, 108, 465, 409, 417, 0, 36, - 476, 387, 33, 50, 107, 399, 467, 409, 417, 407, - 408, 393, 400, 388, 0, 142, 0, 60, 0, 105, - 0, 60, 105, 0, 0, 50, 389, 0, 0, 99, - 86, 0, 122, 390, 0, 84, 381, 0, 107, 399, - 467, 396, 409, 417, 407, 408, 393, 400, 0, 107, - 399, 467, 409, 417, 407, 408, 393, 0, 120, 398, - 394, 0, 0, 394, 120, 398, 395, 0, 395, 0, - 107, 399, 467, 409, 417, 407, 408, 0, 63, 397, - 470, 0, 0, 110, 0, 0, 6, 0, 0, 40, - 0, 40, 85, 486, 0, 6, 0, 0, 89, 15, - 401, 0, 0, 402, 0, 401, 226, 402, 0, 445, - 403, 0, 124, 206, 0, 124, 212, 0, 124, 213, - 0, 11, 0, 39, 0, 0, 216, 0, 0, 406, - 0, 476, 0, 406, 226, 476, 0, 55, 15, 450, - 0, 0, 56, 445, 0, 0, 52, 227, 418, 412, - 65, 418, 414, 228, 0, 52, 410, 0, 0, 410, - 226, 411, 0, 411, 27, 65, 411, 0, 411, 0, - 418, 10, 487, 0, 418, 486, 0, 418, 0, 77, - 412, 0, 53, 413, 0, 69, 413, 0, 103, 413, - 0, 90, 0, 59, 0, 120, 0, 0, 90, 0, - 0, 85, 227, 445, 228, 0, 124, 227, 415, 228, - 0, 0, 416, 0, 415, 226, 416, 0, 486, 0, - 486, 222, 486, 0, 482, 0, 129, 445, 0, 0, - 470, 0, 470, 216, 0, 223, 224, 420, 0, 223, - 482, 224, 420, 0, 0, 223, 224, 420, 0, 223, - 482, 224, 420, 0, 0, 422, 419, 0, 430, 0, - 191, 422, 0, 423, 0, 435, 0, 425, 0, 424, - 0, 204, 0, 135, 0, 49, 427, 0, 41, 93, - 0, 35, 429, 0, 83, 428, 0, 49, 0, 41, - 93, 0, 35, 0, 83, 0, 227, 482, 228, 0, - 0, 227, 482, 226, 482, 228, 0, 227, 482, 228, - 0, 0, 227, 482, 226, 482, 228, 0, 227, 482, - 228, 0, 0, 431, 227, 482, 228, 0, 431, 0, - 19, 432, 433, 434, 0, 18, 432, 0, 126, 0, - 76, 19, 432, 0, 78, 432, 0, 127, 0, 0, - 19, 108, 486, 0, 0, 22, 486, 0, 0, 436, - 0, 112, 437, 0, 111, 0, 62, 438, 0, 132, - 0, 74, 0, 34, 0, 57, 0, 73, 0, 106, - 0, 130, 111, 133, 0, 0, 436, 0, 132, 115, - 74, 0, 34, 115, 57, 0, 34, 115, 73, 0, - 34, 115, 106, 0, 57, 115, 73, 0, 57, 115, - 106, 0, 73, 115, 106, 0, 0, 445, 0, 82, - 0, 227, 441, 228, 58, 227, 392, 228, 0, 227, - 441, 228, 81, 58, 227, 392, 228, 0, 227, 441, - 228, 443, 444, 227, 392, 228, 0, 227, 441, 228, - 443, 227, 392, 228, 0, 227, 441, 228, 443, 227, - 441, 228, 0, 442, 226, 445, 0, 442, 226, 445, - 0, 445, 0, 206, 0, 212, 0, 211, 0, 213, - 0, 214, 0, 215, 0, 216, 0, 217, 0, 9, - 0, 6, 0, 463, 449, 0, 440, 0, 480, 0, - 486, 0, 215, 445, 0, 445, 214, 445, 0, 445, - 215, 445, 0, 445, 217, 445, 0, 445, 216, 445, - 0, 445, 212, 445, 0, 445, 213, 445, 0, 445, - 211, 445, 0, 219, 445, 0, 220, 445, 0, 218, - 445, 0, 445, 225, 421, 0, 17, 227, 445, 10, - 421, 228, 0, 227, 439, 228, 0, 445, 206, 445, - 0, 445, 70, 445, 0, 445, 81, 70, 445, 0, - 206, 445, 0, 445, 206, 0, 477, 227, 216, 228, - 0, 477, 227, 228, 0, 477, 227, 450, 228, 0, - 29, 0, 30, 0, 30, 227, 482, 228, 0, 31, - 0, 31, 227, 482, 228, 0, 32, 0, 123, 0, - 45, 227, 392, 228, 0, 46, 227, 451, 228, 0, - 92, 227, 453, 228, 0, 109, 227, 455, 228, 0, - 118, 227, 14, 458, 228, 0, 118, 227, 68, 458, - 228, 0, 118, 227, 116, 458, 228, 0, 118, 227, - 458, 228, 0, 445, 163, 0, 445, 64, 82, 0, - 445, 178, 0, 445, 64, 81, 82, 0, 445, 64, - 119, 0, 445, 64, 81, 47, 0, 445, 64, 47, - 0, 445, 64, 81, 119, 0, 445, 13, 448, 8, - 448, 0, 445, 81, 13, 448, 8, 448, 0, 0, - 445, 58, 446, 227, 459, 228, 0, 0, 445, 81, - 58, 447, 227, 461, 228, 0, 445, 206, 227, 392, - 228, 0, 445, 214, 227, 392, 228, 0, 445, 215, - 227, 392, 228, 0, 445, 217, 227, 392, 228, 0, - 445, 216, 227, 392, 228, 0, 445, 212, 227, 392, - 228, 0, 445, 213, 227, 392, 228, 0, 445, 211, - 227, 392, 228, 0, 445, 206, 9, 227, 392, 228, - 0, 445, 214, 9, 227, 392, 228, 0, 445, 215, - 9, 227, 392, 228, 0, 445, 217, 9, 227, 392, - 228, 0, 445, 216, 9, 227, 392, 228, 0, 445, - 212, 9, 227, 392, 228, 0, 445, 213, 9, 227, - 392, 228, 0, 445, 211, 9, 227, 392, 228, 0, - 445, 206, 6, 227, 392, 228, 0, 445, 214, 6, - 227, 392, 228, 0, 445, 215, 6, 227, 392, 228, - 0, 445, 217, 6, 227, 392, 228, 0, 445, 216, - 6, 227, 392, 228, 0, 445, 212, 6, 227, 392, - 228, 0, 445, 213, 6, 227, 392, 228, 0, 445, - 211, 6, 227, 392, 228, 0, 445, 8, 445, 0, - 445, 88, 445, 0, 81, 445, 0, 463, 449, 0, - 480, 0, 486, 0, 215, 448, 0, 448, 214, 448, - 0, 448, 215, 448, 0, 448, 217, 448, 0, 448, - 216, 448, 0, 219, 448, 0, 220, 448, 0, 218, - 448, 0, 448, 225, 421, 0, 17, 227, 448, 10, - 421, 228, 0, 227, 445, 228, 0, 448, 206, 448, - 0, 206, 448, 0, 448, 206, 0, 477, 227, 228, - 0, 477, 227, 450, 228, 0, 29, 0, 30, 0, - 30, 227, 482, 228, 0, 31, 0, 31, 227, 482, - 228, 0, 32, 0, 123, 0, 92, 227, 453, 228, - 0, 109, 227, 455, 228, 0, 118, 227, 14, 458, - 228, 0, 118, 227, 68, 458, 228, 0, 118, 227, - 116, 458, 228, 0, 118, 227, 458, 228, 0, 223, - 445, 224, 449, 0, 223, 445, 219, 445, 224, 449, - 0, 0, 439, 0, 450, 226, 439, 0, 450, 124, - 445, 0, 452, 52, 445, 0, 0, 436, 0, 113, - 0, 114, 0, 454, 58, 454, 0, 0, 463, 449, - 0, 480, 0, 215, 454, 0, 454, 214, 454, 0, - 454, 215, 454, 0, 454, 217, 454, 0, 454, 216, - 454, 0, 218, 454, 0, 454, 225, 421, 0, 17, - 227, 454, 10, 421, 228, 0, 227, 454, 228, 0, - 454, 206, 454, 0, 206, 454, 0, 454, 206, 0, - 486, 0, 477, 227, 228, 0, 477, 227, 450, 228, - 0, 92, 227, 453, 228, 0, 109, 227, 455, 228, - 0, 118, 227, 14, 458, 228, 0, 118, 227, 68, - 458, 228, 0, 118, 227, 116, 458, 228, 0, 118, - 227, 458, 228, 0, 450, 456, 457, 0, 0, 52, - 450, 0, 0, 50, 450, 0, 0, 445, 52, 450, - 0, 52, 450, 0, 450, 0, 392, 0, 460, 0, - 480, 0, 460, 226, 480, 0, 392, 0, 462, 0, - 480, 0, 462, 226, 480, 0, 470, 222, 464, 0, - 481, 222, 464, 0, 473, 0, 464, 222, 473, 0, - 464, 222, 216, 0, 465, 226, 466, 0, 466, 0, - 216, 0, 486, 449, 211, 439, 0, 463, 449, 0, - 470, 222, 216, 0, 467, 226, 468, 0, 468, 0, - 439, 10, 487, 0, 439, 0, 470, 222, 216, 0, - 216, 0, 486, 0, 0, 488, 0, 486, 0, 486, - 0, 204, 0, 486, 0, 204, 0, 486, 0, 486, - 0, 486, 0, 483, 0, 204, 0, 482, 0, 209, - 0, 483, 0, 421, 483, 0, 481, 0, 119, 0, - 47, 0, 208, 449, 0, 207, 0, 205, 0, 204, - 0, 486, 0, 426, 0, 431, 0, 204, 0, 436, - 0, 3, 0, 4, 0, 137, 0, 138, 0, 140, - 0, 141, 0, 143, 0, 146, 0, 147, 0, 148, - 0, 149, 0, 150, 0, 41, 0, 152, 0, 153, - 0, 156, 0, 157, 0, 158, 0, 159, 0, 160, - 0, 161, 0, 60, 0, 162, 0, 163, 0, 66, - 0, 67, 0, 164, 0, 167, 0, 72, 0, 169, - 0, 170, 0, 79, 0, 173, 0, 174, 0, 176, - 0, 178, 0, 84, 0, 179, 0, 86, 0, 180, - 0, 87, 0, 181, 0, 95, 0, 96, 0, 182, - 0, 99, 0, 183, 0, 101, 0, 184, 0, 186, - 0, 187, 0, 188, 0, 105, 0, 189, 0, 190, - 0, 193, 0, 194, 0, 195, 0, 196, 0, 111, - 0, 112, 0, 113, 0, 114, 0, 134, 0, 197, - 0, 135, 0, 201, 0, 203, 0, 133, 0, 486, - 0, 136, 0, 139, 0, 142, 0, 144, 0, 25, - 0, 145, 0, 27, 0, 28, 0, 151, 0, 154, - 0, 155, 0, 47, 0, 51, 0, 55, 0, 165, - 0, 166, 0, 168, 0, 171, 0, 172, 0, 175, - 0, 89, 0, 92, 0, 93, 0, 185, 0, 191, - 0, 192, 0, 110, 0, 117, 0, 119, 0, 200, - 0, 202, 0, 28, 0, 172, 0 +static const short yyrhs[] = { 236, + 0, 237, 0, 236, 237, 226, 0, 236, 237, 0, + 237, 226, 0, 252, 0, 239, 0, 254, 0, 255, + 0, 261, 0, 283, 0, 287, 0, 293, 0, 296, + 0, 238, 0, 376, 0, 306, 0, 314, 0, 295, + 0, 305, 0, 240, 0, 335, 0, 382, 0, 315, + 0, 319, 0, 326, 0, 364, 0, 365, 0, 390, + 0, 337, 0, 336, 0, 345, 0, 348, 0, 347, + 0, 343, 0, 352, 0, 325, 0, 383, 0, 355, + 0, 366, 0, 368, 0, 369, 0, 370, 0, 375, + 0, 377, 0, 247, 0, 250, 0, 251, 0, 28, + 128, 495, 241, 242, 243, 245, 246, 0, 7, 128, + 495, 241, 242, 243, 245, 246, 0, 44, 128, 495, + 0, 136, 187, 495, 0, 0, 152, 0, 179, 0, + 0, 153, 0, 180, 0, 0, 244, 232, 495, 0, + 495, 0, 61, 58, 244, 0, 0, 207, 205, 211, + 0, 0, 112, 497, 120, 248, 0, 112, 497, 217, + 248, 0, 112, 116, 139, 249, 0, 112, 78, 374, + 0, 494, 0, 39, 0, 494, 0, 39, 0, 74, + 0, 198, 497, 0, 198, 116, 139, 0, 191, 497, + 0, 191, 116, 139, 0, 7, 114, 481, 410, 253, + 0, 5, 354, 264, 0, 5, 233, 262, 234, 0, + 44, 354, 497, 0, 7, 354, 497, 112, 39, 271, + 0, 7, 354, 497, 44, 39, 0, 5, 273, 0, + 22, 480, 0, 151, 258, 481, 259, 256, 257, 260, + 0, 120, 0, 55, 0, 494, 0, 201, 0, 202, + 0, 148, 0, 0, 136, 185, 0, 0, 129, 156, + 494, 0, 0, 28, 114, 481, 233, 262, 234, 282, + 0, 262, 232, 263, 0, 263, 0, 0, 264, 0, + 272, 0, 497, 427, 265, 0, 497, 196, 267, 0, + 266, 0, 0, 266, 268, 0, 268, 0, 98, 69, + 0, 0, 27, 487, 269, 0, 269, 0, 21, 233, + 275, 234, 0, 39, 86, 0, 39, 271, 0, 84, + 86, 0, 126, 0, 98, 69, 0, 104, 497, 386, + 278, 279, 0, 270, 232, 271, 0, 271, 0, 491, + 0, 221, 271, 0, 271, 220, 271, 0, 271, 221, + 271, 0, 271, 223, 271, 0, 271, 222, 271, 0, + 271, 217, 271, 0, 271, 218, 271, 0, 271, 219, + 271, 0, 225, 271, 0, 226, 271, 0, 224, 271, + 0, 271, 231, 427, 0, 18, 233, 271, 10, 427, + 234, 0, 233, 271, 234, 0, 488, 233, 234, 0, + 488, 233, 270, 234, 0, 271, 212, 271, 0, 212, + 271, 0, 271, 212, 0, 31, 0, 32, 0, 32, + 233, 493, 234, 0, 33, 0, 33, 233, 493, 234, + 0, 34, 0, 128, 0, 27, 487, 273, 0, 273, + 0, 21, 233, 275, 234, 0, 126, 233, 387, 234, + 0, 98, 69, 233, 387, 234, 0, 54, 69, 233, + 387, 234, 104, 497, 386, 278, 279, 0, 274, 232, + 275, 0, 275, 0, 491, 0, 86, 0, 497, 0, + 221, 275, 0, 275, 220, 275, 0, 275, 221, 275, + 0, 275, 223, 275, 0, 275, 222, 275, 0, 275, + 217, 275, 0, 275, 218, 275, 0, 275, 219, 275, + 0, 225, 275, 0, 226, 275, 0, 224, 275, 0, + 275, 231, 427, 0, 18, 233, 275, 10, 427, 234, + 0, 233, 275, 234, 0, 488, 233, 234, 0, 488, + 233, 274, 234, 0, 275, 212, 275, 0, 275, 73, + 275, 0, 275, 84, 73, 275, 0, 275, 8, 275, + 0, 275, 92, 275, 0, 84, 275, 0, 212, 275, + 0, 275, 212, 0, 275, 169, 0, 275, 67, 86, + 0, 275, 184, 0, 275, 67, 84, 86, 0, 275, + 67, 124, 0, 275, 67, 50, 0, 275, 67, 84, + 124, 0, 275, 67, 84, 50, 0, 275, 61, 233, + 276, 234, 0, 275, 84, 61, 233, 276, 234, 0, + 275, 13, 277, 8, 277, 0, 275, 84, 13, 277, + 8, 277, 0, 276, 232, 277, 0, 277, 0, 491, + 0, 75, 56, 0, 75, 95, 0, 0, 280, 280, + 0, 280, 0, 0, 89, 40, 281, 0, 89, 127, + 281, 0, 83, 4, 0, 16, 0, 112, 39, 0, + 112, 86, 0, 167, 233, 411, 234, 0, 0, 28, + 114, 481, 284, 10, 398, 0, 233, 285, 234, 0, + 0, 285, 232, 286, 0, 286, 0, 497, 0, 28, + 195, 481, 288, 0, 288, 289, 0, 0, 149, 292, + 0, 154, 0, 165, 292, 0, 175, 292, 0, 176, + 292, 0, 199, 292, 0, 291, 0, 292, 0, 215, + 0, 221, 215, 0, 493, 0, 221, 493, 0, 28, + 294, 188, 70, 494, 164, 309, 170, 494, 0, 203, + 0, 0, 44, 188, 70, 494, 0, 28, 140, 487, + 297, 298, 89, 481, 300, 47, 101, 487, 233, 303, + 234, 0, 147, 0, 143, 0, 299, 0, 299, 92, + 299, 0, 299, 92, 299, 92, 299, 0, 64, 0, + 40, 0, 127, 0, 53, 301, 302, 0, 158, 0, + 0, 193, 0, 200, 0, 304, 0, 303, 232, 304, + 0, 0, 213, 0, 215, 0, 494, 0, 210, 0, + 44, 140, 487, 89, 481, 0, 28, 308, 307, 0, + 309, 310, 0, 186, 0, 141, 0, 144, 0, 101, + 0, 68, 0, 497, 0, 350, 0, 212, 0, 233, + 311, 234, 0, 312, 0, 311, 232, 312, 0, 309, + 217, 313, 0, 309, 0, 39, 217, 313, 0, 497, + 0, 349, 0, 290, 0, 494, 0, 197, 497, 0, + 44, 114, 411, 0, 44, 195, 411, 0, 51, 316, + 317, 318, 0, 177, 316, 317, 318, 0, 162, 0, + 146, 0, 105, 0, 3, 0, 0, 493, 0, 221, + 493, 0, 6, 0, 82, 0, 99, 0, 0, 61, + 487, 0, 55, 487, 0, 0, 57, 320, 89, 411, + 120, 323, 324, 0, 6, 100, 0, 6, 0, 321, + 0, 322, 0, 321, 232, 322, 0, 111, 0, 64, + 0, 127, 0, 40, 0, 194, 0, 102, 0, 58, + 497, 0, 497, 0, 136, 57, 91, 0, 0, 106, + 320, 89, 411, 55, 323, 0, 28, 327, 166, 486, + 89, 481, 328, 233, 329, 234, 338, 0, 126, 0, + 0, 129, 483, 0, 0, 330, 0, 331, 0, 330, + 232, 332, 0, 332, 0, 488, 233, 412, 234, 333, + 334, 0, 484, 333, 334, 0, 225, 427, 0, 53, + 427, 0, 0, 485, 0, 129, 485, 0, 0, 161, + 166, 486, 423, 0, 47, 189, 490, 0, 28, 163, + 488, 339, 192, 341, 338, 10, 494, 70, 494, 0, + 136, 310, 0, 0, 233, 340, 234, 0, 233, 234, + 0, 496, 0, 340, 232, 496, 0, 342, 496, 0, + 197, 0, 0, 44, 344, 487, 0, 141, 0, 166, + 0, 194, 0, 133, 0, 44, 144, 487, 346, 0, + 487, 0, 222, 0, 44, 163, 488, 339, 0, 44, + 186, 349, 233, 351, 234, 0, 212, 0, 350, 0, + 220, 0, 221, 0, 222, 0, 223, 0, 218, 0, + 219, 0, 217, 0, 487, 0, 487, 232, 487, 0, + 181, 232, 487, 0, 487, 232, 181, 0, 7, 114, + 481, 410, 190, 354, 353, 120, 487, 0, 487, 0, + 0, 25, 0, 0, 0, 28, 194, 487, 10, 356, + 89, 361, 120, 360, 423, 157, 362, 357, 0, 182, + 0, 383, 0, 229, 358, 230, 0, 233, 358, 234, + 0, 359, 0, 383, 0, 359, 383, 226, 0, 359, + 383, 0, 383, 226, 0, 481, 228, 484, 0, 481, + 0, 111, 0, 127, 0, 40, 0, 64, 0, 168, + 0, 0, 183, 481, 0, 171, 481, 0, 204, 481, + 0, 204, 222, 0, 142, 367, 0, 12, 367, 0, + 26, 367, 0, 46, 367, 0, 108, 367, 0, 137, + 0, 122, 0, 0, 28, 133, 487, 10, 397, 0, + 172, 489, 0, 28, 155, 482, 136, 371, 372, 0, + 28, 155, 482, 0, 173, 217, 373, 0, 0, 159, + 217, 374, 0, 0, 494, 0, 39, 0, 0, 494, + 0, 39, 0, 0, 44, 155, 482, 0, 150, 486, + 89, 481, 0, 206, 378, 379, 0, 206, 378, 379, + 481, 380, 0, 208, 0, 0, 145, 0, 0, 233, + 381, 234, 0, 0, 487, 0, 381, 232, 487, 0, + 160, 378, 383, 0, 397, 0, 392, 0, 391, 0, + 384, 0, 363, 0, 389, 0, 64, 66, 481, 386, + 385, 0, 130, 233, 478, 234, 0, 39, 130, 0, + 111, 405, 478, 415, 423, 413, 414, 399, 0, 233, + 387, 234, 0, 0, 387, 232, 388, 0, 388, 0, + 497, 455, 0, 40, 55, 481, 423, 0, 174, 403, + 481, 0, 127, 481, 112, 476, 415, 423, 0, 38, + 487, 393, 35, 53, 111, 405, 478, 415, 423, 413, + 414, 399, 406, 394, 0, 148, 0, 63, 0, 109, + 0, 63, 109, 0, 0, 53, 395, 0, 0, 103, + 90, 0, 127, 396, 0, 88, 387, 0, 111, 405, + 478, 402, 415, 423, 413, 414, 399, 406, 0, 111, + 405, 478, 415, 423, 413, 414, 399, 0, 125, 404, + 400, 0, 0, 400, 125, 404, 401, 0, 401, 0, + 111, 405, 478, 415, 423, 413, 414, 0, 66, 403, + 481, 0, 0, 114, 0, 0, 6, 0, 0, 42, + 0, 42, 89, 497, 0, 6, 0, 0, 93, 15, + 407, 0, 0, 408, 0, 407, 232, 408, 0, 451, + 409, 0, 129, 212, 0, 129, 218, 0, 129, 219, + 0, 11, 0, 41, 0, 0, 222, 0, 0, 412, + 0, 487, 0, 412, 232, 487, 0, 58, 15, 456, + 0, 0, 59, 451, 0, 0, 55, 233, 424, 418, + 68, 424, 420, 234, 0, 55, 416, 0, 0, 416, + 232, 417, 0, 417, 29, 68, 417, 0, 417, 0, + 424, 10, 498, 0, 424, 497, 0, 424, 0, 80, + 418, 0, 56, 419, 0, 72, 419, 0, 107, 419, + 0, 94, 0, 62, 0, 125, 0, 0, 94, 0, + 0, 89, 233, 451, 234, 0, 129, 233, 421, 234, + 0, 0, 422, 0, 421, 232, 422, 0, 497, 0, + 497, 228, 497, 0, 493, 0, 135, 451, 0, 0, + 481, 0, 481, 222, 0, 229, 230, 426, 0, 229, + 493, 230, 426, 0, 0, 229, 230, 426, 0, 229, + 493, 230, 426, 0, 0, 428, 425, 0, 436, 0, + 197, 428, 0, 429, 0, 441, 0, 431, 0, 430, + 0, 210, 0, 141, 0, 52, 433, 0, 43, 97, + 0, 37, 435, 0, 87, 434, 0, 52, 0, 43, + 97, 0, 37, 0, 87, 0, 233, 493, 234, 0, + 0, 233, 493, 232, 493, 234, 0, 233, 493, 234, + 0, 0, 233, 493, 232, 493, 234, 0, 233, 493, + 234, 0, 0, 437, 233, 493, 234, 0, 437, 0, + 20, 438, 439, 440, 0, 19, 438, 0, 131, 0, + 79, 20, 438, 0, 81, 438, 0, 132, 0, 0, + 20, 112, 497, 0, 0, 24, 497, 0, 0, 442, + 0, 117, 443, 0, 116, 0, 65, 444, 0, 138, + 0, 77, 0, 36, 0, 60, 0, 76, 0, 110, + 0, 136, 116, 139, 0, 0, 442, 0, 138, 120, + 77, 0, 36, 120, 60, 0, 36, 120, 76, 0, + 36, 120, 110, 0, 60, 120, 76, 0, 60, 120, + 110, 0, 76, 120, 110, 0, 0, 451, 0, 86, + 0, 233, 447, 234, 61, 233, 398, 234, 0, 233, + 447, 234, 84, 61, 233, 398, 234, 0, 233, 447, + 234, 449, 450, 233, 398, 234, 0, 233, 447, 234, + 449, 233, 398, 234, 0, 233, 447, 234, 449, 233, + 447, 234, 0, 448, 232, 451, 0, 448, 232, 451, + 0, 451, 0, 212, 0, 218, 0, 217, 0, 219, + 0, 220, 0, 221, 0, 222, 0, 223, 0, 9, + 0, 6, 0, 474, 455, 0, 446, 0, 491, 0, + 497, 0, 221, 451, 0, 451, 220, 451, 0, 451, + 221, 451, 0, 451, 223, 451, 0, 451, 222, 451, + 0, 451, 218, 451, 0, 451, 219, 451, 0, 451, + 217, 451, 0, 225, 451, 0, 226, 451, 0, 224, + 451, 0, 451, 231, 427, 0, 18, 233, 451, 10, + 427, 234, 0, 233, 445, 234, 0, 451, 212, 451, + 0, 451, 73, 451, 0, 451, 84, 73, 451, 0, + 212, 451, 0, 451, 212, 0, 488, 233, 222, 234, + 0, 488, 233, 234, 0, 488, 233, 456, 234, 0, + 31, 0, 32, 0, 32, 233, 493, 234, 0, 33, + 0, 33, 233, 493, 234, 0, 34, 0, 128, 0, + 48, 233, 398, 234, 0, 49, 233, 457, 234, 0, + 96, 233, 459, 234, 0, 113, 233, 461, 234, 0, + 123, 233, 14, 464, 234, 0, 123, 233, 71, 464, + 234, 0, 123, 233, 121, 464, 234, 0, 123, 233, + 464, 234, 0, 451, 169, 0, 451, 67, 86, 0, + 451, 184, 0, 451, 67, 84, 86, 0, 451, 67, + 124, 0, 451, 67, 84, 50, 0, 451, 67, 50, + 0, 451, 67, 84, 124, 0, 451, 13, 454, 8, + 454, 0, 451, 84, 13, 454, 8, 454, 0, 0, + 451, 61, 452, 233, 465, 234, 0, 0, 451, 84, + 61, 453, 233, 467, 234, 0, 451, 212, 233, 398, + 234, 0, 451, 220, 233, 398, 234, 0, 451, 221, + 233, 398, 234, 0, 451, 223, 233, 398, 234, 0, + 451, 222, 233, 398, 234, 0, 451, 218, 233, 398, + 234, 0, 451, 219, 233, 398, 234, 0, 451, 217, + 233, 398, 234, 0, 451, 212, 9, 233, 398, 234, + 0, 451, 220, 9, 233, 398, 234, 0, 451, 221, + 9, 233, 398, 234, 0, 451, 223, 9, 233, 398, + 234, 0, 451, 222, 9, 233, 398, 234, 0, 451, + 218, 9, 233, 398, 234, 0, 451, 219, 9, 233, + 398, 234, 0, 451, 217, 9, 233, 398, 234, 0, + 451, 212, 6, 233, 398, 234, 0, 451, 220, 6, + 233, 398, 234, 0, 451, 221, 6, 233, 398, 234, + 0, 451, 223, 6, 233, 398, 234, 0, 451, 222, + 6, 233, 398, 234, 0, 451, 218, 6, 233, 398, + 234, 0, 451, 219, 6, 233, 398, 234, 0, 451, + 217, 6, 233, 398, 234, 0, 451, 8, 451, 0, + 451, 92, 451, 0, 84, 451, 0, 469, 0, 474, + 455, 0, 491, 0, 497, 0, 221, 454, 0, 454, + 220, 454, 0, 454, 221, 454, 0, 454, 223, 454, + 0, 454, 222, 454, 0, 225, 454, 0, 226, 454, + 0, 224, 454, 0, 454, 231, 427, 0, 18, 233, + 454, 10, 427, 234, 0, 233, 451, 234, 0, 454, + 212, 454, 0, 212, 454, 0, 454, 212, 0, 488, + 233, 234, 0, 488, 233, 456, 234, 0, 31, 0, + 32, 0, 32, 233, 493, 234, 0, 33, 0, 33, + 233, 493, 234, 0, 34, 0, 128, 0, 96, 233, + 459, 234, 0, 113, 233, 461, 234, 0, 123, 233, + 14, 464, 234, 0, 123, 233, 71, 464, 234, 0, + 123, 233, 121, 464, 234, 0, 123, 233, 464, 234, + 0, 229, 451, 230, 455, 0, 229, 451, 225, 451, + 230, 455, 0, 0, 445, 0, 456, 232, 445, 0, + 456, 129, 451, 0, 458, 55, 451, 0, 0, 442, + 0, 118, 0, 119, 0, 460, 61, 460, 0, 0, + 474, 455, 0, 491, 0, 221, 460, 0, 460, 220, + 460, 0, 460, 221, 460, 0, 460, 223, 460, 0, + 460, 222, 460, 0, 224, 460, 0, 460, 231, 427, + 0, 18, 233, 460, 10, 427, 234, 0, 233, 460, + 234, 0, 460, 212, 460, 0, 212, 460, 0, 460, + 212, 0, 497, 0, 488, 233, 234, 0, 488, 233, + 456, 234, 0, 96, 233, 459, 234, 0, 113, 233, + 461, 234, 0, 123, 233, 14, 464, 234, 0, 123, + 233, 71, 464, 234, 0, 123, 233, 121, 464, 234, + 0, 123, 233, 464, 234, 0, 456, 462, 463, 0, + 0, 55, 456, 0, 0, 53, 456, 0, 0, 451, + 55, 456, 0, 55, 456, 0, 456, 0, 398, 0, + 466, 0, 491, 0, 466, 232, 491, 0, 398, 0, + 468, 0, 491, 0, 468, 232, 491, 0, 17, 473, + 470, 472, 46, 0, 85, 233, 451, 232, 451, 234, + 0, 23, 233, 456, 234, 0, 470, 471, 0, 471, + 0, 134, 451, 115, 445, 0, 45, 445, 0, 0, + 474, 455, 0, 497, 0, 0, 481, 228, 475, 0, + 492, 228, 475, 0, 484, 0, 475, 228, 484, 0, + 475, 228, 222, 0, 476, 232, 477, 0, 477, 0, + 222, 0, 497, 455, 217, 445, 0, 474, 455, 0, + 481, 228, 222, 0, 478, 232, 479, 0, 479, 0, + 445, 10, 498, 0, 445, 0, 481, 228, 222, 0, + 222, 0, 497, 0, 0, 499, 0, 497, 0, 497, + 0, 210, 0, 497, 0, 210, 0, 497, 0, 497, + 0, 497, 0, 494, 0, 210, 0, 493, 0, 215, + 0, 494, 0, 427, 494, 0, 492, 0, 124, 0, + 50, 0, 214, 455, 0, 213, 0, 211, 0, 210, + 0, 497, 0, 432, 0, 437, 0, 210, 0, 442, + 0, 3, 0, 4, 0, 143, 0, 144, 0, 146, + 0, 147, 0, 149, 0, 152, 0, 153, 0, 154, + 0, 155, 0, 156, 0, 43, 0, 158, 0, 159, + 0, 162, 0, 163, 0, 164, 0, 165, 0, 166, + 0, 167, 0, 63, 0, 168, 0, 169, 0, 69, + 0, 70, 0, 170, 0, 173, 0, 75, 0, 175, + 0, 176, 0, 82, 0, 179, 0, 180, 0, 182, + 0, 184, 0, 88, 0, 185, 0, 90, 0, 186, + 0, 91, 0, 187, 0, 99, 0, 100, 0, 188, + 0, 103, 0, 189, 0, 105, 0, 190, 0, 192, + 0, 193, 0, 194, 0, 109, 0, 195, 0, 196, + 0, 199, 0, 200, 0, 201, 0, 202, 0, 116, + 0, 117, 0, 118, 0, 119, 0, 140, 0, 203, + 0, 141, 0, 207, 0, 209, 0, 139, 0, 497, + 0, 142, 0, 145, 0, 148, 0, 17, 0, 150, + 0, 23, 0, 27, 0, 151, 0, 29, 0, 30, + 0, 157, 0, 45, 0, 46, 0, 160, 0, 161, + 0, 50, 0, 54, 0, 58, 0, 171, 0, 172, + 0, 174, 0, 177, 0, 178, 0, 181, 0, 85, + 0, 93, 0, 96, 0, 97, 0, 191, 0, 197, + 0, 198, 0, 114, 0, 115, 0, 122, 0, 124, + 0, 206, 0, 208, 0, 134, 0, 30, 0, 178, + 0 }; #endif #if YYDEBUG != 0 static const short yyrline[] = { 0, - 341, 343, 347, 349, 351, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 407, 428, - 449, 457, 458, 461, 467, 473, 476, 482, 488, 491, - 495, 501, 502, 505, 506, 518, 525, 532, 539, 552, - 553, 556, 557, 558, 561, 567, 575, 581, 597, 607, - 611, 619, 621, 623, 625, 637, 654, 667, 669, 678, - 679, 680, 683, 684, 687, 688, 694, 695, 706, 718, - 725, 732, 735, 736, 739, 749, 764, 765, 768, 775, - 784, 793, 796, 803, 822, 831, 840, 849, 858, 867, - 876, 883, 888, 901, 903, 905, 907, 909, 911, 913, - 915, 917, 919, 921, 923, 925, 930, 935, 937, 942, - 948, 954, 956, 959, 961, 963, 969, 971, 977, 979, - 987, 993, 997, 1005, 1014, 1023, 1030, 1035, 1041, 1043, - 1045, 1049, 1051, 1053, 1055, 1057, 1059, 1061, 1063, 1065, - 1067, 1069, 1071, 1076, 1081, 1083, 1088, 1094, 1096, 1098, - 1100, 1102, 1104, 1106, 1108, 1110, 1112, 1114, 1116, 1118, - 1120, 1122, 1124, 1126, 1133, 1140, 1147, 1156, 1161, 1167, - 1171, 1172, 1173, 1176, 1177, 1178, 1181, 1182, 1185, 1186, - 1187, 1188, 1191, 1192, 1195, 1205, 1206, 1209, 1210, 1213, - 1233, 1242, 1244, 1247, 1253, 1259, 1265, 1271, 1277, 1285, - 1286, 1288, 1292, 1299, 1303, 1318, 1330, 1331, 1333, 1349, - 1365, 1366, 1369, 1374, 1379, 1387, 1388, 1389, 1392, 1398, - 1399, 1402, 1403, 1406, 1408, 1410, 1414, 1420, 1426, 1427, - 1430, 1447, 1454, 1462, 1463, 1464, 1467, 1468, 1469, 1470, - 1471, 1474, 1477, 1478, 1481, 1487, 1493, 1501, 1502, 1503, - 1504, 1505, 1524, 1531, 1550, 1570, 1586, 1587, 1588, 1589, - 1594, 1597, 1598, 1599, 1600, 1601, 1602, 1605, 1606, 1607, - 1618, 1624, 1628, 1632, 1638, 1642, 1648, 1652, 1656, 1660, - 1664, 1670, 1674, 1678, 1684, 1688, 1699, 1716, 1733, 1734, - 1737, 1738, 1741, 1742, 1745, 1746, 1749, 1759, 1769, 1770, - 1771, 1780, 1781, 1782, 1793, 1810, 1839, 1852, 1853, 1856, - 1857, 1860, 1862, 1866, 1876, 1877, 1897, 1906, 1907, 1908, - 1909, 1913, 1922, 1923, 1927, 1937, 1946, 1946, 1948, 1949, - 1950, 1951, 1952, 1953, 1954, 1957, 1961, 1963, 1965, 1978, - 1990, 1991, 1994, 1995, 2008, 2010, 2024, 2025, 2026, 2027, - 2030, 2032, 2036, 2038, 2040, 2044, 2052, 2063, 2064, 2065, - 2066, 2069, 2070, 2082, 2090, 2098, 2104, 2126, 2132, 2138, - 2144, 2150, 2158, 2159, 2160, 2171, 2192, 2208, 2232, 2246, - 2247, 2250, 2251, 2254, 2255, 2256, 2259, 2260, 2261, 2271, - 2287, 2304, 2313, 2326, 2327, 2330, 2331, 2334, 2335, 2338, - 2340, 2352, 2373, 2374, 2375, 2376, 2377, 2378, 2389, 2397, - 2408, 2419, 2435, 2436, 2439, 2442, 2446, 2463, 2478, 2503, - 2524, 2558, 2559, 2560, 2561, 2562, 2565, 2566, 2569, 2570, - 2578, 2590, 2609, 2626, 2632, 2636, 2642, 2646, 2662, 2663, - 2666, 2667, 2670, 2671, 2674, 2675, 2676, 2677, 2680, 2681, - 2684, 2685, 2688, 2696, 2697, 2698, 2699, 2700, 2701, 2711, - 2712, 2715, 2717, 2719, 2723, 2724, 2727, 2731, 2743, 2748, - 2749, 2752, 2754, 2756, 2760, 2766, 2772, 2780, 2781, 2783, - 2785, 2787, 2789, 2791, 2793, 2797, 2798, 2801, 2802, 2803, - 2806, 2807, 2810, 2825, 2832, 2841, 2842, 2845, 2852, 2860, - 2862, 2864, 2868, 2870, 2872, 2887, 2909, 2910, 2917, 2918, - 2919, 2922, 2930, 2931, 2940, 2946, 2951, 2957, 2965, 2967, - 2969, 2971, 2975, 2986, 2992, 2999, 3004, 3010, 3018, 3024, - 3037, 3064, 3083, 3103, 3104, 3105, 3106, 3109, 3110, 3113, - 3114, 3117, 3118, 3121, 3127, 3134, 3140, 3148, 3149, 3150, - 3151, 3152, 3153, 3156, 3157, 3160, 3161, 3162, 3163, 3164, - 3165, 3166, 3167, 3168, 3178, 3180, 3197, 3207, 3217, 3230, - 3243, 3249, 3255, 3259, 3265, 3266, 3267, 3268, 3269, 3270, - 3271, 3272, 3275, 3276, 3287, 3292, 3294, 3296, 3304, 3306, - 3308, 3310, 3312, 3314, 3316, 3318, 3320, 3322, 3324, 3326, - 3342, 3358, 3360, 3362, 3364, 3366, 3368, 3370, 3382, 3389, - 3396, 3411, 3426, 3448, 3463, 3485, 3492, 3499, 3509, 3516, - 3523, 3531, 3538, 3545, 3552, 3559, 3561, 3563, 3565, 3572, - 3582, 3592, 3602, 3612, 3618, 3624, 3624, 3638, 3638, 3652, - 3662, 3672, 3682, 3692, 3702, 3712, 3722, 3732, 3742, 3752, - 3762, 3772, 3782, 3792, 3802, 3812, 3822, 3832, 3842, 3852, - 3862, 3872, 3882, 3892, 3894, 3896, 3906, 3911, 3913, 3921, - 3923, 3925, 3927, 3929, 3931, 3933, 3935, 3937, 3953, 3969, - 3971, 3973, 3975, 3977, 3984, 3991, 4006, 4021, 4043, 4058, - 4080, 4087, 4094, 4101, 4109, 4116, 4123, 4130, 4139, 4146, - 4153, 4157, 4159, 4161, 4165, 4172, 4176, 4177, 4178, 4181, - 4183, 4187, 4192, 4194, 4196, 4198, 4200, 4202, 4204, 4206, - 4222, 4238, 4240, 4242, 4244, 4246, 4254, 4261, 4268, 4275, - 4283, 4290, 4297, 4304, 4313, 4317, 4321, 4323, 4332, 4334, - 4338, 4340, 4342, 4346, 4352, 4356, 4358, 4364, 4370, 4374, - 4376, 4382, 4390, 4400, 4402, 4404, 4415, 4417, 4419, 4434, - 4441, 4448, 4467, 4469, 4474, 4481, 4488, 4500, 4514, 4515, - 4518, 4523, 4535, 4536, 4537, 4538, 4539, 4545, 4546, 4548, - 4549, 4554, 4561, 4568, 4575, 4583, 4585, 4595, 4607, 4615, - 4616, 4617, 4624, 4626, 4628, 4639, 4640, 4641, 4642, 4643, - 4644, 4645, 4646, 4647, 4648, 4649, 4650, 4651, 4652, 4653, - 4654, 4655, 4656, 4657, 4658, 4659, 4660, 4661, 4662, 4663, - 4664, 4665, 4666, 4667, 4668, 4669, 4670, 4671, 4672, 4673, - 4674, 4675, 4676, 4677, 4678, 4679, 4680, 4681, 4682, 4683, - 4684, 4685, 4686, 4687, 4688, 4689, 4690, 4691, 4692, 4693, - 4694, 4695, 4696, 4697, 4698, 4699, 4700, 4701, 4702, 4703, - 4704, 4705, 4706, 4707, 4708, 4709, 4722, 4723, 4724, 4725, - 4726, 4727, 4728, 4729, 4730, 4731, 4732, 4733, 4734, 4735, - 4736, 4737, 4738, 4739, 4740, 4741, 4742, 4743, 4744, 4745, - 4746, 4747, 4748, 4749, 4750, 4751, 4752, 4753, 4756, 4763 + 344, 346, 350, 352, 354, 358, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, 396, 397, 398, 399, 400, 410, 431, + 452, 460, 461, 464, 470, 476, 479, 485, 491, 494, + 498, 504, 505, 508, 509, 521, 528, 535, 542, 555, + 556, 559, 560, 561, 564, 570, 578, 584, 600, 610, + 614, 622, 624, 626, 628, 640, 657, 670, 672, 681, + 682, 683, 686, 687, 690, 691, 697, 698, 709, 721, + 728, 735, 738, 739, 742, 752, 767, 768, 771, 778, + 787, 796, 799, 806, 825, 834, 843, 852, 861, 870, + 879, 886, 891, 904, 906, 908, 910, 912, 914, 916, + 918, 920, 922, 924, 926, 928, 933, 938, 940, 945, + 951, 957, 959, 962, 964, 966, 972, 974, 980, 982, + 990, 996, 1000, 1008, 1017, 1026, 1033, 1038, 1044, 1046, + 1048, 1052, 1054, 1056, 1058, 1060, 1062, 1064, 1066, 1068, + 1070, 1072, 1074, 1079, 1084, 1086, 1091, 1097, 1099, 1101, + 1103, 1105, 1107, 1109, 1111, 1113, 1115, 1117, 1119, 1121, + 1123, 1125, 1127, 1129, 1136, 1143, 1150, 1159, 1164, 1170, + 1174, 1175, 1176, 1179, 1180, 1181, 1184, 1185, 1188, 1189, + 1190, 1191, 1194, 1195, 1198, 1208, 1209, 1212, 1213, 1216, + 1236, 1245, 1247, 1250, 1256, 1262, 1268, 1274, 1280, 1288, + 1289, 1291, 1295, 1302, 1306, 1321, 1333, 1334, 1336, 1352, + 1368, 1369, 1372, 1377, 1382, 1390, 1391, 1392, 1395, 1401, + 1402, 1405, 1406, 1409, 1411, 1413, 1417, 1423, 1429, 1430, + 1433, 1450, 1457, 1465, 1466, 1467, 1470, 1471, 1472, 1473, + 1474, 1477, 1480, 1481, 1484, 1490, 1496, 1504, 1505, 1506, + 1507, 1508, 1527, 1534, 1553, 1573, 1589, 1590, 1591, 1592, + 1597, 1600, 1601, 1602, 1603, 1604, 1605, 1608, 1609, 1610, + 1621, 1627, 1631, 1635, 1641, 1645, 1651, 1655, 1659, 1663, + 1667, 1673, 1677, 1681, 1687, 1691, 1702, 1719, 1736, 1737, + 1740, 1741, 1744, 1745, 1748, 1749, 1752, 1762, 1772, 1773, + 1774, 1783, 1784, 1785, 1796, 1813, 1842, 1855, 1856, 1859, + 1860, 1863, 1865, 1869, 1879, 1880, 1900, 1909, 1910, 1911, + 1912, 1916, 1925, 1926, 1930, 1940, 1949, 1949, 1951, 1952, + 1953, 1954, 1955, 1956, 1957, 1960, 1964, 1966, 1968, 1981, + 1993, 1994, 1997, 1998, 2011, 2013, 2027, 2028, 2029, 2030, + 2033, 2035, 2039, 2041, 2043, 2047, 2055, 2066, 2067, 2068, + 2069, 2072, 2073, 2085, 2093, 2101, 2107, 2129, 2135, 2141, + 2147, 2153, 2161, 2162, 2163, 2174, 2195, 2211, 2235, 2249, + 2250, 2253, 2254, 2257, 2258, 2259, 2262, 2263, 2264, 2274, + 2290, 2307, 2316, 2329, 2330, 2333, 2334, 2337, 2338, 2341, + 2343, 2355, 2376, 2377, 2378, 2379, 2380, 2381, 2392, 2400, + 2411, 2422, 2438, 2439, 2442, 2445, 2449, 2466, 2481, 2506, + 2527, 2561, 2562, 2563, 2564, 2565, 2568, 2569, 2572, 2573, + 2581, 2593, 2612, 2629, 2635, 2639, 2645, 2649, 2665, 2666, + 2669, 2670, 2673, 2674, 2677, 2678, 2679, 2680, 2683, 2684, + 2687, 2688, 2691, 2699, 2700, 2701, 2702, 2703, 2704, 2714, + 2715, 2718, 2720, 2722, 2726, 2727, 2730, 2734, 2746, 2751, + 2752, 2755, 2757, 2759, 2763, 2769, 2775, 2783, 2784, 2786, + 2788, 2790, 2792, 2794, 2796, 2800, 2801, 2804, 2805, 2806, + 2809, 2810, 2813, 2828, 2835, 2844, 2845, 2848, 2855, 2863, + 2865, 2867, 2871, 2873, 2875, 2890, 2912, 2913, 2920, 2921, + 2922, 2925, 2933, 2934, 2943, 2949, 2954, 2960, 2968, 2970, + 2972, 2974, 2978, 2989, 2995, 3002, 3007, 3013, 3021, 3027, + 3040, 3067, 3086, 3106, 3107, 3108, 3109, 3112, 3113, 3116, + 3117, 3120, 3121, 3124, 3130, 3137, 3143, 3151, 3152, 3153, + 3154, 3155, 3156, 3159, 3160, 3163, 3164, 3165, 3166, 3167, + 3168, 3169, 3170, 3171, 3181, 3183, 3200, 3210, 3220, 3233, + 3246, 3252, 3258, 3262, 3268, 3269, 3270, 3271, 3272, 3273, + 3274, 3275, 3278, 3279, 3290, 3295, 3297, 3299, 3307, 3309, + 3311, 3313, 3315, 3317, 3319, 3321, 3323, 3325, 3327, 3329, + 3345, 3361, 3363, 3365, 3367, 3369, 3371, 3373, 3385, 3392, + 3399, 3414, 3429, 3451, 3466, 3488, 3495, 3502, 3512, 3519, + 3526, 3534, 3541, 3548, 3555, 3562, 3564, 3566, 3568, 3575, + 3585, 3595, 3605, 3615, 3621, 3627, 3627, 3641, 3641, 3655, + 3665, 3675, 3685, 3695, 3705, 3715, 3725, 3735, 3745, 3755, + 3765, 3775, 3785, 3795, 3805, 3815, 3825, 3835, 3845, 3855, + 3865, 3875, 3885, 3895, 3897, 3899, 3901, 3910, 3915, 3917, + 3925, 3927, 3929, 3931, 3933, 3935, 3937, 3939, 3941, 3957, + 3973, 3975, 3977, 3979, 3981, 3988, 3995, 4010, 4025, 4047, + 4062, 4084, 4091, 4098, 4105, 4113, 4120, 4127, 4134, 4143, + 4150, 4157, 4161, 4163, 4165, 4169, 4176, 4180, 4181, 4182, + 4185, 4187, 4191, 4196, 4198, 4200, 4202, 4204, 4206, 4208, + 4210, 4226, 4242, 4244, 4246, 4248, 4250, 4258, 4265, 4272, + 4279, 4287, 4294, 4301, 4308, 4317, 4321, 4325, 4327, 4336, + 4338, 4342, 4344, 4346, 4350, 4356, 4360, 4362, 4368, 4374, + 4378, 4380, 4401, 4409, 4420, 4438, 4440, 4444, 4453, 4454, + 4457, 4462, 4470, 4474, 4482, 4492, 4494, 4496, 4507, 4509, + 4511, 4526, 4533, 4540, 4559, 4561, 4566, 4573, 4580, 4592, + 4606, 4607, 4610, 4615, 4627, 4628, 4629, 4630, 4631, 4637, + 4638, 4640, 4641, 4646, 4653, 4660, 4667, 4675, 4677, 4687, + 4699, 4707, 4708, 4709, 4716, 4718, 4720, 4731, 4732, 4733, + 4734, 4735, 4736, 4737, 4738, 4739, 4740, 4741, 4742, 4743, + 4744, 4745, 4746, 4747, 4748, 4749, 4750, 4751, 4752, 4753, + 4754, 4755, 4756, 4757, 4758, 4759, 4760, 4761, 4762, 4763, + 4764, 4765, 4766, 4767, 4768, 4769, 4770, 4771, 4772, 4773, + 4774, 4775, 4776, 4777, 4778, 4779, 4780, 4781, 4782, 4783, + 4784, 4785, 4786, 4787, 4788, 4789, 4790, 4791, 4792, 4793, + 4794, 4795, 4796, 4797, 4798, 4799, 4800, 4801, 4814, 4815, + 4816, 4817, 4818, 4819, 4820, 4821, 4822, 4823, 4824, 4825, + 4826, 4827, 4828, 4829, 4830, 4831, 4832, 4833, 4834, 4835, + 4836, 4837, 4838, 4839, 4840, 4841, 4842, 4843, 4844, 4845, + 4846, 4847, 4848, 4849, 4850, 4851, 4852, 4855, 4862 }; #endif @@ -895,171 +912,174 @@ static const short yyrline[] = { 0, static const char * const yytname[] = { "$","error","$undefined.","ABSOLUTE", "ACTION","ADD","ALL","ALTER","AND","ANY","AS","ASC","BEGIN_TRANS","BETWEEN", -"BOTH","BY","CASCADE","CAST","CHAR","CHARACTER","CHECK","CLOSE","COLLATE","COLUMN", -"COMMIT","CONSTRAINT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME", -"CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DAY_P","DECIMAL","DECLARE","DEFAULT", -"DELETE","DESC","DISTINCT","DOUBLE","DROP","END_TRANS","EXECUTE","EXISTS","EXTRACT", -"FALSE_P","FETCH","FLOAT","FOR","FOREIGN","FROM","FULL","GRANT","GROUP","HAVING", -"HOUR_P","IN","INNER_P","INSENSITIVE","INSERT","INTERVAL","INTO","IS","JOIN", -"KEY","LANGUAGE","LEADING","LEFT","LIKE","LOCAL","MATCH","MINUTE_P","MONTH_P", -"NAMES","NATIONAL","NATURAL","NCHAR","NEXT","NO","NOT","NULL_P","NUMERIC","OF", -"ON","ONLY","OPTION","OR","ORDER","OUTER_P","PARTIAL","POSITION","PRECISION", -"PRIMARY","PRIOR","PRIVILEGES","PROCEDURE","PUBLIC","READ","REFERENCES","RELATIVE", -"REVOKE","RIGHT","ROLLBACK","SCROLL","SECOND_P","SELECT","SET","SUBSTRING","TABLE", -"TIME","TIMESTAMP","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TRAILING","TRANSACTION", -"TRIM","TRUE_P","UNION","UNIQUE","UPDATE","USER","USING","VALUES","VARCHAR", -"VARYING","VIEW","WHERE","WITH","WORK","YEAR_P","ZONE","TRIGGER","TYPE_P","ABORT_TRANS", -"AFTER","AGGREGATE","ANALYZE","BACKWARD","BEFORE","BINARY","CACHE","CLUSTER", -"COPY","CREATEDB","CREATEUSER","CYCLE","DATABASE","DELIMITERS","DO","EACH","ENCODING", -"EXPLAIN","EXTEND","FORWARD","FUNCTION","HANDLER","INCREMENT","INDEX","INHERITS", -"INSTEAD","ISNULL","LANCOMPILER","LISTEN","LOAD","LOCATION","LOCK_P","MAXVALUE", -"MINVALUE","MOVE","NEW","NOCREATEDB","NOCREATEUSER","NONE","NOTHING","NOTIFY", -"NOTNULL","OIDS","OPERATOR","PASSWORD","PROCEDURAL","RECIPE","RENAME","RESET", -"RETURNS","ROW","RULE","SEQUENCE","SERIAL","SETOF","SHOW","START","STATEMENT", -"STDIN","STDOUT","TRUSTED","UNLISTEN","UNTIL","VACUUM","VALID","VERBOSE","VERSION", -"IDENT","SCONST","Op","ICONST","PARAM","FCONST","OP","'='","'<'","'>'","'+'", -"'-'","'*'","'/'","'|'","':'","';'","UMINUS","'.'","'['","']'","TYPECAST","','", -"'('","')'","stmtblock","stmtmulti","stmt","CreateUserStmt","AlterUserStmt", -"DropUserStmt","user_passwd_clause","user_createdb_clause","user_createuser_clause", -"user_group_list","user_group_clause","user_valid_clause","VariableSetStmt", -"var_value","zone_value","VariableShowStmt","VariableResetStmt","AddAttrStmt", -"alter_clause","ClosePortalStmt","CopyStmt","copy_dirn","copy_file_name","opt_binary", -"opt_with_copy","copy_delimiter","CreateStmt","OptTableElementList","OptTableElement", -"columnDef","ColQualifier","ColQualList","ColPrimaryKey","ColConstraint","ColConstraintElem", -"default_list","default_expr","TableConstraint","ConstraintElem","constraint_list", -"constraint_expr","c_list","c_expr","key_match","key_actions","key_action","key_reference", -"OptInherit","CreateAsStmt","OptCreateAs","CreateAsList","CreateAsElement","CreateSeqStmt", -"OptSeqList","OptSeqElem","NumericOnly","FloatOnly","IntegerOnly","CreatePLangStmt", -"PLangTrusted","DropPLangStmt","CreateTrigStmt","TriggerActionTime","TriggerEvents", -"TriggerOneEvent","TriggerForSpec","TriggerForOpt","TriggerForType","TriggerFuncArgs", -"TriggerFuncArg","DropTrigStmt","DefineStmt","def_rest","def_type","def_name", -"definition","def_list","def_elem","def_arg","DestroyStmt","FetchStmt","opt_direction", -"fetch_how_many","opt_portal_name","GrantStmt","privileges","operation_commalist", -"operation","grantee","opt_with_grant","RevokeStmt","IndexStmt","index_opt_unique", -"access_method_clause","index_params","index_list","func_index","index_elem", -"opt_type","opt_class","ExtendStmt","RecipeStmt","ProcedureStmt","opt_with", -"func_args","func_args_list","func_return","set_opt","RemoveStmt","remove_type", -"RemoveAggrStmt","aggr_argtype","RemoveFuncStmt","RemoveOperStmt","all_Op","MathOp", -"oper_argtypes","RenameStmt","opt_name","opt_column","RuleStmt","@1","OptStmtList", -"OptStmtBlock","OptStmtMulti","event_object","event","opt_instead","NotifyStmt", -"ListenStmt","UnlistenStmt","TransactionStmt","opt_trans","ViewStmt","LoadStmt", -"CreatedbStmt","opt_database1","opt_database2","location","encoding","DestroydbStmt", -"ClusterStmt","VacuumStmt","opt_verbose","opt_analyze","opt_va_list","va_list", -"ExplainStmt","OptimizableStmt","InsertStmt","insert_rest","opt_column_list", -"columnList","columnElem","DeleteStmt","LockStmt","UpdateStmt","CursorStmt", -"opt_cursor","cursor_clause","opt_readonly","opt_of","SelectStmt","SubSelect", -"union_clause","select_list","SubUnion","result","opt_table","opt_union","opt_unique", -"sort_clause","sortby_list","sortby","OptUseOp","opt_inh_star","relation_name_list", -"name_list","group_clause","having_clause","from_clause","from_list","from_val", -"join_expr","join_outer","join_spec","join_list","join_using","where_clause", -"relation_expr","opt_array_bounds","nest_array_bounds","Typename","Array","Generic", -"generic","Numeric","numeric","opt_float","opt_numeric","opt_decimal","Character", -"character","opt_varying","opt_charset","opt_collate","Datetime","datetime", -"opt_timezone","opt_interval","a_expr_or_null","row_expr","row_descriptor","row_list", -"row_op","sub_type","a_expr","@2","@3","b_expr","opt_indirection","expr_list", -"extract_list","extract_arg","position_list","position_expr","substr_list","substr_from", -"substr_for","trim_list","in_expr","in_expr_nodes","not_in_expr","not_in_expr_nodes", -"attr","attrs","res_target_list","res_target_el","res_target_list2","res_target_el2", -"opt_id","relation_name","database_name","access_method","attr_name","class", -"index_name","name","func_name","file_name","recipe_name","AexprConst","ParamNo", -"Iconst","Sconst","UserId","TypeId","ColId","ColLabel","SpecialRuleRelation", NULL +"BOTH","BY","CASCADE","CASE","CAST","CHAR","CHARACTER","CHECK","CLOSE","COALESCE", +"COLLATE","COLUMN","COMMIT","CONSTRAINT","CREATE","CROSS","CURRENT","CURRENT_DATE", +"CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DAY_P","DECIMAL", +"DECLARE","DEFAULT","DELETE","DESC","DISTINCT","DOUBLE","DROP","ELSE","END_TRANS", +"EXECUTE","EXISTS","EXTRACT","FALSE_P","FETCH","FLOAT","FOR","FOREIGN","FROM", +"FULL","GRANT","GROUP","HAVING","HOUR_P","IN","INNER_P","INSENSITIVE","INSERT", +"INTERVAL","INTO","IS","JOIN","KEY","LANGUAGE","LEADING","LEFT","LIKE","LOCAL", +"MATCH","MINUTE_P","MONTH_P","NAMES","NATIONAL","NATURAL","NCHAR","NEXT","NO", +"NOT","NULLIF","NULL_P","NUMERIC","OF","ON","ONLY","OPTION","OR","ORDER","OUTER_P", +"PARTIAL","POSITION","PRECISION","PRIMARY","PRIOR","PRIVILEGES","PROCEDURE", +"PUBLIC","READ","REFERENCES","RELATIVE","REVOKE","RIGHT","ROLLBACK","SCROLL", +"SECOND_P","SELECT","SET","SUBSTRING","TABLE","THEN","TIME","TIMESTAMP","TIMEZONE_HOUR", +"TIMEZONE_MINUTE","TO","TRAILING","TRANSACTION","TRIM","TRUE_P","UNION","UNIQUE", +"UPDATE","USER","USING","VALUES","VARCHAR","VARYING","VIEW","WHEN","WHERE","WITH", +"WORK","YEAR_P","ZONE","TRIGGER","TYPE_P","ABORT_TRANS","AFTER","AGGREGATE", +"ANALYZE","BACKWARD","BEFORE","BINARY","CACHE","CLUSTER","COPY","CREATEDB","CREATEUSER", +"CYCLE","DATABASE","DELIMITERS","DO","EACH","ENCODING","EXPLAIN","EXTEND","FORWARD", +"FUNCTION","HANDLER","INCREMENT","INDEX","INHERITS","INSTEAD","ISNULL","LANCOMPILER", +"LISTEN","LOAD","LOCATION","LOCK_P","MAXVALUE","MINVALUE","MOVE","NEW","NOCREATEDB", +"NOCREATEUSER","NONE","NOTHING","NOTIFY","NOTNULL","OIDS","OPERATOR","PASSWORD", +"PROCEDURAL","RECIPE","RENAME","RESET","RETURNS","ROW","RULE","SEQUENCE","SERIAL", +"SETOF","SHOW","START","STATEMENT","STDIN","STDOUT","TRUSTED","UNLISTEN","UNTIL", +"VACUUM","VALID","VERBOSE","VERSION","IDENT","SCONST","Op","ICONST","PARAM", +"FCONST","OP","'='","'<'","'>'","'+'","'-'","'*'","'/'","'|'","':'","';'","UMINUS", +"'.'","'['","']'","TYPECAST","','","'('","')'","stmtblock","stmtmulti","stmt", +"CreateUserStmt","AlterUserStmt","DropUserStmt","user_passwd_clause","user_createdb_clause", +"user_createuser_clause","user_group_list","user_group_clause","user_valid_clause", +"VariableSetStmt","var_value","zone_value","VariableShowStmt","VariableResetStmt", +"AddAttrStmt","alter_clause","ClosePortalStmt","CopyStmt","copy_dirn","copy_file_name", +"opt_binary","opt_with_copy","copy_delimiter","CreateStmt","OptTableElementList", +"OptTableElement","columnDef","ColQualifier","ColQualList","ColPrimaryKey","ColConstraint", +"ColConstraintElem","default_list","default_expr","TableConstraint","ConstraintElem", +"constraint_list","constraint_expr","c_list","c_expr","key_match","key_actions", +"key_action","key_reference","OptInherit","CreateAsStmt","OptCreateAs","CreateAsList", +"CreateAsElement","CreateSeqStmt","OptSeqList","OptSeqElem","NumericOnly","FloatOnly", +"IntegerOnly","CreatePLangStmt","PLangTrusted","DropPLangStmt","CreateTrigStmt", +"TriggerActionTime","TriggerEvents","TriggerOneEvent","TriggerForSpec","TriggerForOpt", +"TriggerForType","TriggerFuncArgs","TriggerFuncArg","DropTrigStmt","DefineStmt", +"def_rest","def_type","def_name","definition","def_list","def_elem","def_arg", +"DestroyStmt","FetchStmt","opt_direction","fetch_how_many","opt_portal_name", +"GrantStmt","privileges","operation_commalist","operation","grantee","opt_with_grant", +"RevokeStmt","IndexStmt","index_opt_unique","access_method_clause","index_params", +"index_list","func_index","index_elem","opt_type","opt_class","ExtendStmt","RecipeStmt", +"ProcedureStmt","opt_with","func_args","func_args_list","func_return","set_opt", +"RemoveStmt","remove_type","RemoveAggrStmt","aggr_argtype","RemoveFuncStmt", +"RemoveOperStmt","all_Op","MathOp","oper_argtypes","RenameStmt","opt_name","opt_column", +"RuleStmt","@1","OptStmtList","OptStmtBlock","OptStmtMulti","event_object","event", +"opt_instead","NotifyStmt","ListenStmt","UnlistenStmt","TransactionStmt","opt_trans", +"ViewStmt","LoadStmt","CreatedbStmt","opt_database1","opt_database2","location", +"encoding","DestroydbStmt","ClusterStmt","VacuumStmt","opt_verbose","opt_analyze", +"opt_va_list","va_list","ExplainStmt","OptimizableStmt","InsertStmt","insert_rest", +"opt_column_list","columnList","columnElem","DeleteStmt","LockStmt","UpdateStmt", +"CursorStmt","opt_cursor","cursor_clause","opt_readonly","opt_of","SelectStmt", +"SubSelect","union_clause","select_list","SubUnion","result","opt_table","opt_union", +"opt_unique","sort_clause","sortby_list","sortby","OptUseOp","opt_inh_star", +"relation_name_list","name_list","group_clause","having_clause","from_clause", +"from_list","from_val","join_expr","join_outer","join_spec","join_list","join_using", +"where_clause","relation_expr","opt_array_bounds","nest_array_bounds","Typename", +"Array","Generic","generic","Numeric","numeric","opt_float","opt_numeric","opt_decimal", +"Character","character","opt_varying","opt_charset","opt_collate","Datetime", +"datetime","opt_timezone","opt_interval","a_expr_or_null","row_expr","row_descriptor", +"row_list","row_op","sub_type","a_expr","@2","@3","b_expr","opt_indirection", +"expr_list","extract_list","extract_arg","position_list","position_expr","substr_list", +"substr_from","substr_for","trim_list","in_expr","in_expr_nodes","not_in_expr", +"not_in_expr_nodes","case_expr","when_clause_list","when_clause","case_default", +"case_arg","attr","attrs","res_target_list","res_target_el","res_target_list2", +"res_target_el2","opt_id","relation_name","database_name","access_method","attr_name", +"class","index_name","name","func_name","file_name","recipe_name","AexprConst", +"ParamNo","Iconst","Sconst","UserId","TypeId","ColId","ColLabel","SpecialRuleRelation", NULL }; #endif static const short yyr1[] = { 0, - 229, 229, 230, 230, 230, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 232, 233, - 234, 235, 235, 236, 236, 236, 237, 237, 237, 238, - 238, 239, 239, 240, 240, 241, 241, 241, 241, 242, - 242, 243, 243, 243, 244, 244, 245, 245, 246, 247, - 247, 247, 247, 247, 247, 248, 249, 250, 250, 251, - 251, 251, 252, 252, 253, 253, 254, 254, 255, 256, - 256, 256, 257, 257, 258, 258, 259, 259, 260, 260, - 261, 261, 262, 262, 263, 263, 263, 263, 263, 263, - 263, 264, 264, 265, 265, 265, 265, 265, 265, 265, - 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, - 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, - 266, 266, 267, 267, 267, 267, 268, 268, 269, 269, - 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, - 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, - 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, - 269, 269, 269, 269, 269, 269, 269, 270, 270, 271, - 272, 272, 272, 273, 273, 273, 274, 274, 275, 275, - 275, 275, 276, 276, 277, 278, 278, 279, 279, 280, - 281, 282, 282, 283, 283, 283, 283, 283, 283, 284, - 284, 285, 285, 286, 286, 287, 288, 288, 289, 290, - 291, 291, 292, 292, 292, 293, 293, 293, 294, 295, - 295, 296, 296, 297, 297, 297, 298, 298, 298, 298, - 299, 300, 301, 302, 302, 302, 303, 303, 303, 303, - 303, 304, 305, 305, 306, 306, 306, 307, 307, 307, - 307, 307, 308, 308, 309, 309, 310, 310, 310, 310, - 310, 311, 311, 311, 311, 311, 311, 312, 312, 312, - 313, 314, 314, 314, 315, 315, 316, 316, 316, 316, - 316, 317, 317, 317, 318, 318, 319, 320, 321, 321, - 322, 322, 323, 323, 324, 324, 325, 326, 327, 327, - 327, 328, 328, 328, 329, 330, 331, 332, 332, 333, - 333, 334, 334, 335, 336, 336, 337, 338, 338, 338, - 338, 339, 340, 340, 341, 342, 343, 343, 344, 344, - 344, 344, 344, 344, 344, 345, 345, 345, 345, 346, - 347, 347, 348, 348, 350, 349, 351, 351, 351, 351, - 352, 352, 353, 353, 353, 354, 354, 355, 355, 355, - 355, 356, 356, 357, 358, 359, 359, 360, 360, 360, - 360, 360, 361, 361, 361, 362, 363, 364, 364, 365, - 365, 366, 366, 367, 367, 367, 368, 368, 368, 369, - 370, 371, 371, 372, 372, 373, 373, 374, 374, 375, - 375, 376, 377, 377, 377, 377, 377, 377, 378, 379, - 379, 379, 380, 380, 381, 381, 382, 383, 384, 385, - 386, 387, 387, 387, 387, 387, 388, 388, 389, 389, - 390, 391, 392, 393, 393, 394, 394, 395, 396, 396, - 397, 397, 398, 398, 399, 399, 399, 399, 400, 400, - 401, 401, 402, 403, 403, 403, 403, 403, 403, 404, - 404, 405, 406, 406, 407, 407, 408, 408, 409, 409, - 409, 410, 410, 410, 411, 411, 411, 412, 412, 412, - 412, 412, 412, 412, 412, 413, 413, 414, 414, 414, - 415, 415, 416, 416, 416, 417, 417, 418, 418, 419, - 419, 419, 420, 420, 420, 421, 421, 421, 422, 422, - 422, 423, 424, 424, 425, 425, 425, 425, 426, 426, - 426, 426, 427, 427, 428, 428, 428, 429, 429, 429, - 430, 430, 431, 431, 431, 431, 431, 432, 432, 433, - 433, 434, 434, 435, 435, 435, 435, 436, 436, 436, - 436, 436, 436, 437, 437, 438, 438, 438, 438, 438, - 438, 438, 438, 438, 439, 439, 440, 440, 440, 440, - 440, 441, 442, 442, 443, 443, 443, 443, 443, 443, - 443, 443, 444, 444, 445, 445, 445, 445, 445, 445, - 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, - 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, - 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, - 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, - 445, 445, 445, 445, 445, 446, 445, 447, 445, 445, - 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, - 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, - 445, 445, 445, 445, 445, 445, 448, 448, 448, 448, - 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, - 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, - 448, 448, 448, 448, 448, 448, 448, 448, 449, 449, - 449, 450, 450, 450, 451, 451, 452, 452, 452, 453, - 453, 454, 454, 454, 454, 454, 454, 454, 454, 454, + 235, 235, 236, 236, 236, 237, 237, 237, 237, 237, + 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, + 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, + 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, + 237, 237, 237, 237, 237, 237, 237, 237, 238, 239, + 240, 241, 241, 242, 242, 242, 243, 243, 243, 244, + 244, 245, 245, 246, 246, 247, 247, 247, 247, 248, + 248, 249, 249, 249, 250, 250, 251, 251, 252, 253, + 253, 253, 253, 253, 253, 254, 255, 256, 256, 257, + 257, 257, 258, 258, 259, 259, 260, 260, 261, 262, + 262, 262, 263, 263, 264, 264, 265, 265, 266, 266, + 267, 267, 268, 268, 269, 269, 269, 269, 269, 269, + 269, 270, 270, 271, 271, 271, 271, 271, 271, 271, + 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, + 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, + 272, 272, 273, 273, 273, 273, 274, 274, 275, 275, + 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, + 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, + 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, + 275, 275, 275, 275, 275, 275, 275, 276, 276, 277, + 278, 278, 278, 279, 279, 279, 280, 280, 281, 281, + 281, 281, 282, 282, 283, 284, 284, 285, 285, 286, + 287, 288, 288, 289, 289, 289, 289, 289, 289, 290, + 290, 291, 291, 292, 292, 293, 294, 294, 295, 296, + 297, 297, 298, 298, 298, 299, 299, 299, 300, 301, + 301, 302, 302, 303, 303, 303, 304, 304, 304, 304, + 305, 306, 307, 308, 308, 308, 309, 309, 309, 309, + 309, 310, 311, 311, 312, 312, 312, 313, 313, 313, + 313, 313, 314, 314, 315, 315, 316, 316, 316, 316, + 316, 317, 317, 317, 317, 317, 317, 318, 318, 318, + 319, 320, 320, 320, 321, 321, 322, 322, 322, 322, + 322, 323, 323, 323, 324, 324, 325, 326, 327, 327, + 328, 328, 329, 329, 330, 330, 331, 332, 333, 333, + 333, 334, 334, 334, 335, 336, 337, 338, 338, 339, + 339, 340, 340, 341, 342, 342, 343, 344, 344, 344, + 344, 345, 346, 346, 347, 348, 349, 349, 350, 350, + 350, 350, 350, 350, 350, 351, 351, 351, 351, 352, + 353, 353, 354, 354, 356, 355, 357, 357, 357, 357, + 358, 358, 359, 359, 359, 360, 360, 361, 361, 361, + 361, 362, 362, 363, 364, 365, 365, 366, 366, 366, + 366, 366, 367, 367, 367, 368, 369, 370, 370, 371, + 371, 372, 372, 373, 373, 373, 374, 374, 374, 375, + 376, 377, 377, 378, 378, 379, 379, 380, 380, 381, + 381, 382, 383, 383, 383, 383, 383, 383, 384, 385, + 385, 385, 386, 386, 387, 387, 388, 389, 390, 391, + 392, 393, 393, 393, 393, 393, 394, 394, 395, 395, + 396, 397, 398, 399, 399, 400, 400, 401, 402, 402, + 403, 403, 404, 404, 405, 405, 405, 405, 406, 406, + 407, 407, 408, 409, 409, 409, 409, 409, 409, 410, + 410, 411, 412, 412, 413, 413, 414, 414, 415, 415, + 415, 416, 416, 416, 417, 417, 417, 418, 418, 418, + 418, 418, 418, 418, 418, 419, 419, 420, 420, 420, + 421, 421, 422, 422, 422, 423, 423, 424, 424, 425, + 425, 425, 426, 426, 426, 427, 427, 427, 428, 428, + 428, 429, 430, 430, 431, 431, 431, 431, 432, 432, + 432, 432, 433, 433, 434, 434, 434, 435, 435, 435, + 436, 436, 437, 437, 437, 437, 437, 438, 438, 439, + 439, 440, 440, 441, 441, 441, 441, 442, 442, 442, + 442, 442, 442, 443, 443, 444, 444, 444, 444, 444, + 444, 444, 444, 444, 445, 445, 446, 446, 446, 446, + 446, 447, 448, 448, 449, 449, 449, 449, 449, 449, + 449, 449, 450, 450, 451, 451, 451, 451, 451, 451, + 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, + 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, + 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, + 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, + 451, 451, 451, 451, 451, 452, 451, 453, 451, 451, + 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, + 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, + 451, 451, 451, 451, 451, 451, 451, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, - 454, 454, 454, 454, 455, 455, 456, 456, 457, 457, - 458, 458, 458, 459, 459, 460, 460, 461, 461, 462, - 462, 463, 463, 464, 464, 464, 465, 465, 465, 466, - 466, 466, 467, 467, 468, 468, 468, 468, 469, 469, - 470, 470, 471, 472, 473, 474, 475, 476, 477, 478, - 479, 480, 480, 480, 480, 480, 480, 480, 481, 482, - 483, 484, 485, 485, 485, 486, 486, 486, 486, 486, - 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, - 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, - 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, - 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, - 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, - 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, - 486, 486, 486, 486, 486, 486, 487, 487, 487, 487, - 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, - 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, - 487, 487, 487, 487, 487, 487, 487, 487, 488, 488 + 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, + 454, 454, 454, 454, 454, 454, 454, 454, 454, 455, + 455, 455, 456, 456, 456, 457, 457, 458, 458, 458, + 459, 459, 460, 460, 460, 460, 460, 460, 460, 460, + 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, + 460, 460, 460, 460, 460, 461, 461, 462, 462, 463, + 463, 464, 464, 464, 465, 465, 466, 466, 467, 467, + 468, 468, 469, 469, 469, 470, 470, 471, 472, 472, + 473, 473, 473, 474, 474, 475, 475, 475, 476, 476, + 476, 477, 477, 477, 478, 478, 479, 479, 479, 479, + 480, 480, 481, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 491, 491, 491, 491, 491, 491, + 492, 493, 494, 495, 496, 496, 496, 497, 497, 497, + 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, + 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, + 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, + 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, + 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, + 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, + 497, 497, 497, 497, 497, 497, 497, 497, 498, 498, + 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, + 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, + 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, + 498, 498, 498, 498, 498, 498, 498, 499, 499 }; static const short yyr2[] = { 0, @@ -1132,19 +1152,21 @@ static const short yyr2[] = { 0, 4, 3, 4, 5, 6, 0, 6, 0, 7, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 3, 3, 2, 2, 1, 1, 2, - 3, 3, 3, 3, 2, 2, 2, 3, 6, 3, - 3, 2, 2, 3, 4, 1, 1, 4, 1, 4, - 1, 1, 4, 4, 5, 5, 5, 4, 4, 6, - 0, 1, 3, 3, 3, 0, 1, 1, 1, 3, - 0, 2, 1, 2, 3, 3, 3, 3, 2, 3, - 6, 3, 3, 2, 2, 1, 3, 4, 4, 4, - 5, 5, 5, 4, 3, 0, 2, 0, 2, 0, - 3, 2, 1, 1, 1, 1, 3, 1, 1, 1, - 3, 3, 3, 1, 3, 3, 3, 1, 1, 4, - 2, 3, 3, 1, 3, 1, 3, 1, 1, 0, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, + 6, 6, 6, 3, 3, 2, 1, 2, 1, 1, + 2, 3, 3, 3, 3, 2, 2, 2, 3, 6, + 3, 3, 2, 2, 3, 4, 1, 1, 4, 1, + 4, 1, 1, 4, 4, 5, 5, 5, 4, 4, + 6, 0, 1, 3, 3, 3, 0, 1, 1, 1, + 3, 0, 2, 1, 2, 3, 3, 3, 3, 2, + 3, 6, 3, 3, 2, 2, 1, 3, 4, 4, + 4, 5, 5, 5, 4, 3, 0, 2, 0, 2, + 0, 3, 2, 1, 1, 1, 1, 3, 1, 1, + 1, 3, 5, 6, 4, 2, 1, 4, 2, 0, + 2, 1, 0, 3, 3, 1, 3, 3, 3, 1, + 1, 4, 2, 3, 3, 1, 3, 1, 3, 1, + 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, + 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1155,11 +1177,11 @@ static const short yyr2[] = { 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, 1, 1, 1, 1, 1 }; static const short yydefact[] = { 0, - 0, 405, 800, 405, 238, 0, 0, 0, 405, 0, + 0, 405, 812, 405, 238, 0, 0, 0, 405, 0, 291, 0, 0, 0, 405, 478, 0, 0, 405, 0, 94, 425, 0, 0, 0, 472, 291, 0, 0, 0, 0, 425, 1, 2, 15, 7, 21, 46, 47, 48, @@ -1167,205 +1189,209 @@ static const short yydefact[] = { 0, 17, 18, 24, 25, 37, 26, 22, 31, 30, 35, 32, 34, 33, 36, 39, 437, 27, 28, 40, 41, 42, 43, 44, 16, 45, 23, 38, 436, 438, 29, - 435, 434, 433, 0, 0, 404, 403, 399, 828, 829, - 580, 840, 581, 849, 852, 853, 856, 582, 579, 859, - 864, 866, 868, 870, 871, 873, 875, 880, 583, 887, - 888, 889, 890, 578, 896, 891, 893, 830, 831, 832, - 833, 834, 835, 836, 837, 838, 839, 841, 842, 843, - 844, 845, 846, 847, 848, 850, 851, 854, 855, 857, - 858, 860, 861, 862, 863, 865, 867, 869, 872, 874, - 876, 877, 878, 879, 881, 882, 883, 884, 885, 886, - 892, 894, 895, 826, 827, 86, 799, 400, 0, 319, + 435, 434, 433, 0, 0, 404, 403, 399, 840, 841, + 580, 852, 581, 861, 864, 865, 868, 582, 579, 871, + 876, 878, 880, 882, 883, 885, 887, 892, 583, 899, + 900, 901, 902, 578, 908, 903, 905, 842, 843, 844, + 845, 846, 847, 848, 849, 850, 851, 853, 854, 855, + 856, 857, 858, 859, 860, 862, 863, 866, 867, 869, + 870, 872, 873, 874, 875, 877, 879, 881, 884, 886, + 888, 889, 890, 891, 893, 894, 895, 896, 897, 898, + 904, 906, 907, 838, 839, 86, 811, 400, 0, 319, 0, 0, 0, 265, 266, 0, 0, 264, 0, 0, - 237, 0, 0, 0, 456, 808, 0, 0, 0, 351, + 237, 0, 0, 0, 456, 820, 0, 0, 0, 351, 0, 348, 0, 0, 0, 349, 0, 0, 350, 0, 0, 401, 0, 290, 289, 288, 287, 297, 303, 310, 308, 307, 309, 311, 0, 304, 305, 0, 0, 402, - 477, 475, 0, 419, 887, 0, 929, 930, 0, 802, - 801, 398, 0, 807, 93, 0, 424, 0, 0, 395, - 821, 407, 810, 471, 0, 297, 394, 887, 77, 887, - 75, 397, 396, 427, 4, 5, 491, 822, 53, 217, - 53, 0, 0, 409, 803, 0, 809, 0, 223, 0, + 477, 475, 0, 419, 899, 0, 948, 949, 0, 814, + 813, 398, 0, 819, 93, 0, 424, 0, 0, 395, + 833, 407, 822, 471, 0, 297, 394, 899, 77, 899, + 75, 397, 396, 427, 4, 5, 491, 834, 53, 217, + 53, 0, 0, 409, 815, 0, 821, 0, 223, 0, 268, 267, 271, 365, 363, 364, 359, 360, 361, 362, 262, 0, 270, 269, 0, 453, 454, 452, 0, 527, 283, 492, 493, 51, 0, 0, 420, 0, 357, 0, - 358, 0, 284, 347, 811, 336, 294, 295, 296, 820, - 0, 300, 292, 302, 0, 0, 444, 0, 0, 0, - 569, 569, 641, 642, 644, 646, 560, 840, 0, 0, - 818, 554, 594, 0, 569, 0, 596, 557, 0, 0, - 887, 888, 0, 817, 647, 565, 893, 0, 826, 0, - 731, 813, 0, 798, 0, 0, 0, 0, 0, 532, - 539, 542, 541, 537, 562, 540, 827, 796, 616, 595, - 731, 470, 794, 0, 0, 617, 816, 812, 814, 618, - 418, 69, 417, 0, 0, 0, 0, 0, 96, 432, - 527, 449, 300, 78, 76, 426, 422, 3, 490, 0, - 0, 56, 102, 0, 56, 0, 242, 241, 0, 411, - 0, 0, 375, 221, 0, 0, 263, 0, 455, 0, - 0, 448, 0, 0, 354, 352, 353, 355, 0, 239, - 293, 0, 0, 285, 0, 306, 0, 0, 0, 476, - 0, 568, 564, 571, 0, 0, 0, 547, 546, 0, - 736, 0, 545, 580, 581, 582, 578, 586, 577, 569, - 567, 696, 0, 0, 548, 741, 766, 0, 575, 0, - 0, 576, 585, 544, 543, 538, 574, 636, 0, 819, - 619, 629, 627, 628, 0, 0, 0, 595, 815, 0, + 358, 0, 284, 347, 823, 336, 294, 295, 296, 832, + 0, 300, 292, 302, 0, 0, 444, 0, 0, 793, + 0, 569, 569, 0, 641, 642, 644, 646, 560, 852, + 0, 0, 830, 554, 594, 0, 569, 0, 0, 596, + 557, 0, 0, 899, 900, 0, 829, 647, 565, 905, + 0, 838, 0, 732, 825, 0, 810, 0, 0, 0, + 0, 0, 532, 539, 542, 541, 537, 562, 540, 839, + 808, 616, 595, 697, 732, 470, 806, 0, 0, 617, + 828, 824, 826, 618, 418, 69, 417, 0, 0, 0, + 0, 0, 96, 432, 527, 449, 300, 78, 76, 426, + 422, 3, 490, 0, 0, 56, 102, 0, 56, 0, + 242, 241, 0, 411, 0, 0, 375, 221, 0, 0, + 263, 0, 455, 0, 0, 448, 0, 0, 354, 352, + 353, 355, 0, 239, 293, 0, 0, 285, 0, 306, + 0, 0, 0, 476, 0, 732, 0, 0, 792, 0, + 568, 564, 571, 0, 0, 0, 0, 547, 546, 0, + 737, 0, 545, 580, 581, 582, 578, 586, 577, 569, + 567, 696, 0, 0, 548, 742, 767, 0, 575, 0, + 0, 576, 585, 544, 543, 538, 574, 636, 0, 831, + 619, 629, 627, 628, 0, 0, 0, 595, 827, 0, 536, 0, 0, 0, 0, 666, 0, 0, 0, 0, 656, 658, 637, 0, 0, 0, 0, 0, 0, 0, 0, 615, 472, 0, 501, 0, 0, 0, 73, 74, - 68, 72, 71, 66, 70, 67, 789, 731, 501, 788, - 0, 0, 731, 421, 0, 0, 335, 286, 429, 374, - 374, 374, 374, 79, 0, 54, 55, 59, 0, 0, - 0, 0, 0, 0, 101, 103, 104, 152, 0, 219, - 220, 0, 59, 406, 247, 246, 248, 0, 243, 0, - 413, 551, 840, 549, 552, 341, 0, 824, 825, 342, - 823, 346, 0, 0, 225, 0, 0, 0, 0, 222, - 0, 0, 276, 0, 273, 0, 0, 526, 494, 261, - 0, 0, 366, 299, 298, 0, 0, 446, 731, 0, - 478, 0, 439, 0, 0, 0, 573, 0, 0, 0, - 478, 0, 738, 739, 737, 0, 0, 0, 0, 0, - 0, 0, 566, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 731, 0, 743, 756, 732, - 768, 0, 0, 0, 0, 0, 0, 595, 773, 0, - 0, 632, 0, 0, 535, 0, 0, 902, 904, 905, - 909, 910, 911, 918, 919, 920, 924, 925, 926, 898, - 899, 900, 901, 903, 906, 907, 908, 912, 913, 914, - 915, 916, 917, 921, 922, 923, 927, 928, 897, 795, - 694, 0, 716, 717, 719, 721, 0, 0, 0, 722, - 0, 0, 0, 0, 0, 0, 0, 731, 0, 698, - 699, 0, 662, 0, 657, 660, 634, 0, 668, 0, - 695, 0, 0, 0, 633, 0, 0, 0, 626, 0, - 0, 0, 624, 0, 0, 0, 625, 0, 0, 0, - 620, 0, 0, 0, 621, 0, 0, 0, 623, 0, - 0, 0, 622, 630, 0, 793, 0, 527, 797, 782, - 784, 805, 0, 639, 0, 783, 791, 0, 527, 0, - 0, 95, 89, 88, 0, 0, 423, 373, 102, 85, - 0, 0, 0, 372, 52, 57, 58, 63, 0, 0, - 0, 0, 0, 0, 214, 0, 216, 112, 108, 215, - 63, 0, 0, 416, 0, 408, 550, 0, 340, 345, - 339, 0, 0, 0, 224, 234, 226, 227, 228, 229, - 0, 0, 0, 0, 272, 322, 478, 0, 356, 0, - 0, 312, 316, 314, 0, 443, 447, 441, 0, 0, - 317, 0, 0, 0, 563, 643, 645, 0, 559, 0, - 648, 649, 0, 553, 588, 589, 590, 591, 592, 593, - 587, 0, 556, 0, 741, 766, 0, 754, 744, 749, - 0, 650, 0, 755, 0, 0, 0, 0, 0, 742, - 0, 0, 0, 0, 770, 651, 584, 0, 772, 0, - 0, 0, 655, 0, 731, 0, 0, 605, 607, 606, - 608, 609, 610, 611, 612, 0, 602, 0, 530, 535, - 561, 0, 0, 0, 741, 766, 0, 712, 700, 707, - 705, 706, 0, 0, 713, 0, 0, 0, 0, 0, - 697, 0, 0, 661, 659, 663, 0, 0, 635, 0, + 68, 72, 71, 66, 70, 67, 801, 732, 501, 800, + 0, 732, 421, 0, 0, 335, 286, 429, 374, 374, + 374, 374, 79, 0, 54, 55, 59, 0, 0, 0, + 0, 0, 0, 101, 103, 104, 152, 0, 219, 220, + 0, 59, 406, 247, 246, 248, 0, 243, 0, 413, + 551, 852, 549, 552, 341, 0, 836, 837, 342, 835, + 346, 0, 0, 225, 0, 0, 0, 0, 222, 0, + 0, 276, 0, 273, 0, 0, 526, 494, 261, 0, + 0, 366, 299, 298, 0, 0, 446, 732, 0, 478, + 0, 439, 0, 0, 790, 787, 791, 0, 0, 0, + 573, 733, 0, 0, 0, 0, 478, 0, 739, 740, + 738, 0, 0, 0, 0, 0, 0, 0, 566, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 732, 0, 744, 757, 769, 0, 0, 0, 0, + 0, 0, 595, 774, 0, 0, 632, 0, 0, 535, + 0, 0, 913, 915, 916, 918, 919, 921, 922, 925, + 926, 927, 934, 935, 936, 937, 941, 942, 943, 944, + 947, 910, 911, 912, 914, 917, 920, 923, 924, 928, + 929, 930, 931, 932, 933, 938, 939, 940, 945, 946, + 909, 807, 694, 0, 717, 718, 720, 722, 0, 0, + 0, 723, 0, 0, 0, 0, 0, 0, 0, 732, + 0, 699, 700, 0, 662, 0, 657, 660, 634, 0, + 668, 0, 695, 0, 0, 0, 633, 0, 0, 0, + 626, 0, 0, 0, 624, 0, 0, 0, 625, 0, + 0, 0, 620, 0, 0, 0, 621, 0, 0, 0, + 623, 0, 0, 0, 622, 630, 0, 805, 0, 527, + 809, 794, 796, 817, 0, 639, 0, 795, 803, 0, + 527, 0, 0, 95, 89, 88, 0, 0, 423, 373, + 102, 85, 0, 0, 0, 372, 52, 57, 58, 63, + 0, 0, 0, 0, 0, 0, 214, 0, 216, 112, + 108, 215, 63, 0, 0, 416, 0, 408, 550, 0, + 340, 345, 339, 0, 0, 0, 224, 234, 226, 227, + 228, 229, 0, 0, 0, 0, 272, 322, 478, 0, + 356, 0, 0, 312, 316, 314, 0, 443, 447, 441, + 0, 0, 317, 0, 0, 786, 0, 0, 0, 0, + 563, 0, 0, 785, 643, 645, 0, 559, 0, 648, + 649, 0, 553, 588, 589, 590, 591, 592, 593, 587, + 0, 0, 556, 0, 742, 767, 0, 755, 745, 750, + 0, 650, 0, 756, 0, 0, 0, 0, 0, 743, + 0, 0, 771, 651, 584, 0, 773, 0, 0, 0, + 655, 0, 732, 0, 0, 605, 607, 606, 608, 609, + 610, 611, 612, 0, 602, 0, 530, 535, 561, 0, + 0, 0, 742, 767, 0, 713, 701, 708, 706, 707, + 0, 0, 714, 0, 0, 0, 0, 0, 698, 0, + 0, 661, 659, 663, 0, 0, 635, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 469, 0, 500, 504, 507, 528, 496, - 0, 638, 640, 787, 450, 792, 0, 91, 92, 98, - 90, 0, 430, 0, 0, 80, 0, 82, 0, 371, - 0, 65, 0, 0, 160, 0, 0, 0, 0, 0, - 0, 0, 0, 159, 816, 161, 151, 0, 0, 0, - 100, 0, 99, 218, 220, 0, 106, 0, 0, 0, - 0, 0, 0, 119, 105, 107, 110, 114, 65, 0, - 244, 415, 410, 414, 419, 343, 0, 0, 344, 390, - 391, 388, 389, 0, 235, 0, 0, 232, 360, 280, - 230, 231, 277, 279, 281, 278, 275, 274, 0, 0, - 0, 368, 369, 367, 313, 0, 301, 445, 501, 0, - 0, 570, 572, 0, 501, 735, 0, 0, 0, 0, - 0, 0, 0, 0, 752, 740, 753, 745, 746, 748, - 747, 750, 757, 0, 767, 734, 733, 0, 765, 652, - 653, 654, 771, 0, 729, 0, 0, 614, 613, 0, - 0, 535, 0, 531, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 710, 664, 711, 701, 702, 704, 703, - 708, 714, 0, 774, 0, 775, 776, 0, 0, 0, - 0, 670, 0, 0, 677, 0, 0, 675, 0, 0, - 676, 0, 0, 671, 0, 0, 672, 0, 0, 674, - 0, 0, 673, 515, 0, 0, 0, 506, 529, 0, - 498, 786, 785, 790, 0, 87, 0, 428, 81, 0, - 0, 0, 0, 0, 50, 0, 183, 184, 162, 172, - 170, 171, 0, 0, 0, 0, 0, 0, 0, 0, - 186, 188, 185, 0, 0, 0, 0, 0, 0, 0, - 0, 153, 0, 0, 0, 154, 0, 111, 0, 0, - 0, 144, 145, 147, 149, 116, 150, 0, 0, 0, - 0, 0, 0, 117, 0, 124, 118, 120, 444, 109, - 49, 251, 0, 0, 412, 338, 0, 0, 0, 282, - 233, 804, 321, 0, 501, 0, 527, 440, 631, 558, - 527, 555, 0, 759, 760, 0, 0, 0, 764, 758, - 769, 731, 0, 0, 0, 0, 604, 0, 533, 535, - 0, 718, 720, 723, 724, 0, 0, 0, 728, 715, - 667, 0, 665, 778, 0, 779, 780, 686, 678, 693, - 685, 691, 683, 692, 684, 687, 679, 688, 680, 690, - 682, 689, 681, 517, 513, 517, 515, 512, 517, 514, - 0, 502, 0, 505, 0, 0, 465, 0, 431, 84, - 0, 370, 62, 61, 0, 0, 175, 181, 0, 200, - 0, 191, 0, 187, 190, 179, 0, 0, 0, 182, - 178, 167, 168, 169, 163, 164, 166, 165, 173, 176, - 0, 158, 0, 155, 0, 0, 113, 0, 0, 0, - 142, 125, 135, 133, 134, 0, 143, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 203, 250, 0, 0, - 245, 0, 527, 387, 236, 0, 323, 324, 326, 331, - 0, 805, 527, 315, 496, 496, 0, 761, 762, 763, - 730, 597, 0, 600, 601, 0, 534, 0, 725, 726, - 727, 777, 669, 0, 516, 509, 510, 508, 511, 0, - 503, 495, 497, 474, 480, 97, 83, 0, 64, 0, - 0, 0, 199, 193, 189, 192, 0, 0, 180, 0, - 177, 0, 213, 115, 0, 0, 0, 138, 141, 130, - 131, 132, 126, 127, 129, 128, 136, 139, 0, 123, - 0, 206, 252, 253, 249, 0, 0, 0, 0, 339, - 0, 0, 0, 334, 0, 496, 498, 498, 751, 598, - 599, 709, 781, 520, 473, 0, 0, 462, 60, 0, - 196, 0, 194, 0, 0, 157, 444, 0, 146, 148, - 0, 140, 201, 202, 0, 121, 205, 0, 337, 393, - 386, 318, 325, 330, 329, 0, 806, 328, 332, 0, - 498, 465, 465, 0, 0, 0, 478, 464, 467, 0, - 174, 198, 197, 195, 203, 0, 122, 0, 0, 204, - 256, 392, 0, 333, 331, 465, 442, 463, 0, 0, - 499, 0, 474, 479, 481, 489, 206, 137, 210, 0, - 0, 207, 208, 260, 257, 258, 0, 254, 259, 377, - 0, 0, 376, 378, 334, 480, 0, 0, 521, 525, - 523, 501, 0, 0, 487, 488, 0, 483, 156, 209, - 211, 212, 0, 240, 0, 381, 382, 0, 327, 458, - 518, 0, 519, 0, 527, 466, 482, 484, 485, 486, - 255, 379, 384, 385, 380, 0, 451, 522, 524, 496, - 383, 0, 0, 457, 498, 459, 0, 460, 468, 461, - 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 469, 0, 500, 504, 507, 528, 496, 0, 638, + 640, 799, 450, 804, 0, 91, 92, 98, 90, 0, + 430, 0, 0, 80, 0, 82, 0, 371, 0, 65, + 0, 0, 160, 0, 0, 0, 0, 0, 0, 0, + 0, 159, 828, 161, 151, 0, 0, 0, 100, 0, + 99, 218, 220, 0, 106, 0, 0, 0, 0, 0, + 0, 119, 105, 107, 110, 114, 65, 0, 244, 415, + 410, 414, 419, 343, 0, 0, 344, 390, 391, 388, + 389, 0, 235, 0, 0, 232, 360, 280, 230, 231, + 277, 279, 281, 278, 275, 274, 0, 0, 0, 368, + 369, 367, 313, 0, 301, 445, 501, 0, 0, 789, + 783, 0, 570, 572, 735, 734, 0, 501, 736, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 753, 741, + 754, 746, 747, 749, 748, 751, 758, 0, 768, 0, + 766, 652, 653, 654, 772, 0, 730, 0, 0, 614, + 613, 0, 0, 535, 0, 531, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 711, 664, 712, 702, 703, + 705, 704, 709, 715, 0, 775, 0, 776, 777, 0, + 0, 0, 0, 670, 0, 0, 677, 0, 0, 675, + 0, 0, 676, 0, 0, 671, 0, 0, 672, 0, + 0, 674, 0, 0, 673, 515, 0, 0, 0, 506, + 529, 0, 498, 798, 797, 802, 0, 87, 0, 428, + 81, 0, 0, 0, 0, 0, 50, 0, 183, 184, + 162, 172, 170, 171, 0, 0, 0, 0, 0, 0, + 0, 0, 186, 188, 185, 0, 0, 0, 0, 0, + 0, 0, 0, 153, 0, 0, 0, 154, 0, 111, + 0, 0, 0, 144, 145, 147, 149, 116, 150, 0, + 0, 0, 0, 0, 0, 117, 0, 124, 118, 120, + 444, 109, 49, 251, 0, 0, 412, 338, 0, 0, + 0, 282, 233, 816, 321, 0, 501, 0, 527, 440, + 788, 631, 558, 527, 784, 555, 0, 760, 761, 0, + 0, 0, 765, 759, 770, 732, 0, 0, 0, 0, + 604, 0, 533, 535, 0, 719, 721, 724, 725, 0, + 0, 0, 729, 716, 667, 0, 665, 779, 0, 780, + 781, 686, 678, 693, 685, 691, 683, 692, 684, 687, + 679, 688, 680, 690, 682, 689, 681, 517, 513, 517, + 515, 512, 517, 514, 0, 502, 0, 505, 0, 0, + 465, 0, 431, 84, 0, 370, 62, 61, 0, 0, + 175, 181, 0, 200, 0, 191, 0, 187, 190, 179, + 0, 0, 0, 182, 178, 167, 168, 169, 163, 164, + 166, 165, 173, 176, 0, 158, 0, 155, 0, 0, + 113, 0, 0, 0, 142, 125, 135, 133, 134, 0, + 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 203, 250, 0, 0, 245, 0, 527, 387, 236, 0, + 323, 324, 326, 331, 0, 817, 527, 315, 496, 496, + 0, 762, 763, 764, 731, 597, 0, 600, 601, 0, + 534, 0, 726, 727, 728, 778, 669, 0, 516, 509, + 510, 508, 511, 0, 503, 495, 497, 474, 480, 97, + 83, 0, 64, 0, 0, 0, 199, 193, 189, 192, + 0, 0, 180, 0, 177, 0, 213, 115, 0, 0, + 0, 138, 141, 130, 131, 132, 126, 127, 129, 128, + 136, 139, 0, 123, 0, 206, 252, 253, 249, 0, + 0, 0, 0, 339, 0, 0, 0, 334, 0, 496, + 498, 498, 752, 598, 599, 710, 782, 520, 473, 0, + 0, 462, 60, 0, 196, 0, 194, 0, 0, 157, + 444, 0, 146, 148, 0, 140, 201, 202, 0, 121, + 205, 0, 337, 393, 386, 318, 325, 330, 329, 0, + 818, 328, 332, 0, 498, 465, 465, 0, 0, 0, + 478, 464, 467, 0, 174, 198, 197, 195, 203, 0, + 122, 0, 0, 204, 256, 392, 0, 333, 331, 465, + 442, 463, 0, 0, 499, 0, 474, 479, 481, 489, + 206, 137, 210, 0, 0, 207, 208, 260, 257, 258, + 0, 254, 259, 377, 0, 0, 376, 378, 334, 480, + 0, 0, 521, 525, 523, 501, 0, 0, 487, 488, + 0, 483, 156, 209, 211, 212, 0, 240, 0, 381, + 382, 0, 327, 458, 518, 0, 519, 0, 527, 466, + 482, 484, 485, 486, 255, 379, 384, 385, 380, 0, + 451, 522, 524, 496, 383, 0, 0, 457, 498, 459, + 0, 460, 468, 461, 0, 0, 0 }; -static const short yydefgoto[] = { 1651, - 33, 34, 35, 36, 37, 402, 548, 798, 1343, 1002, - 1195, 38, 524, 521, 39, 40, 41, 544, 42, 43, - 785, 990, 236, 536, 1186, 44, 554, 555, 556, 1035, - 1036, 1027, 1037, 1038, 1479, 1244, 557, 558, 1371, 1012, - 1452, 1453, 1482, 1526, 1527, 1582, 1023, 45, 404, 559, - 560, 46, 414, 590, 1060, 1061, 1062, 47, 182, 48, - 49, 409, 568, 569, 1253, 1399, 1485, 1587, 1588, 50, - 51, 281, 183, 593, 417, 594, 595, 1063, 52, 53, - 208, 312, 434, 54, 215, 216, 217, 843, 1077, 55, - 56, 184, 1070, 1406, 1407, 1408, 1409, 1494, 1538, 57, - 58, 59, 1048, 412, 577, 821, 822, 60, 201, 61, - 426, 62, 63, 1064, 283, 602, 64, 999, 791, 65, - 583, 1593, 1615, 1616, 1403, 1054, 1563, 66, 67, 68, - 69, 88, 70, 71, 72, 571, 816, 1043, 382, 73, - 74, 75, 238, 397, 787, 992, 76, 77, 78, 613, - 438, 607, 608, 79, 80, 81, 82, 289, 1637, 1644, - 1648, 83, 622, 1445, 1548, 1549, 515, 245, 1506, 223, - 1508, 1574, 1575, 1608, 400, 291, 292, 1181, 1337, 768, - 976, 977, 1331, 1436, 1546, 1598, 1599, 422, 978, 491, - 919, 359, 360, 361, 362, 363, 578, 453, 465, 448, - 364, 365, 443, 617, 855, 366, 367, 469, 459, 650, - 369, 486, 487, 916, 1121, 370, 722, 948, 717, 480, - 659, 626, 627, 644, 645, 652, 895, 1109, 660, 1145, - 1146, 1305, 1306, 371, 770, 529, 530, 372, 373, 166, - 463, 264, 1263, 771, 1539, 233, 293, 375, 242, 306, - 376, 377, 378, 379, 259, 580, 380, 700, 231 +static const short yydefgoto[] = { 1685, + 33, 34, 35, 36, 37, 406, 557, 820, 1377, 1030, + 1227, 38, 534, 531, 39, 40, 41, 553, 42, 43, + 807, 1018, 236, 545, 1218, 44, 563, 564, 565, 1063, + 1064, 1055, 1065, 1066, 1513, 1276, 566, 567, 1405, 1040, + 1486, 1487, 1516, 1560, 1561, 1616, 1051, 45, 408, 568, + 569, 46, 418, 599, 1088, 1089, 1090, 47, 182, 48, + 49, 413, 577, 578, 1285, 1433, 1519, 1621, 1622, 50, + 51, 281, 183, 602, 421, 603, 604, 1091, 52, 53, + 208, 312, 438, 54, 215, 216, 217, 865, 1105, 55, + 56, 184, 1098, 1440, 1441, 1442, 1443, 1528, 1572, 57, + 58, 59, 1076, 416, 586, 843, 844, 60, 201, 61, + 430, 62, 63, 1092, 283, 611, 64, 1027, 813, 65, + 592, 1627, 1649, 1650, 1437, 1082, 1597, 66, 67, 68, + 69, 88, 70, 71, 72, 580, 838, 1071, 386, 73, + 74, 75, 238, 401, 809, 1020, 76, 77, 78, 622, + 442, 616, 617, 79, 80, 81, 82, 289, 1671, 1678, + 1682, 83, 638, 1479, 1582, 1583, 525, 245, 1540, 223, + 1542, 1608, 1609, 1642, 404, 291, 292, 1213, 1371, 790, + 1004, 1005, 1365, 1470, 1580, 1632, 1633, 426, 1006, 501, + 947, 362, 363, 364, 365, 366, 587, 463, 475, 458, + 367, 368, 452, 631, 881, 369, 370, 479, 469, 632, + 372, 496, 497, 944, 1153, 373, 744, 976, 739, 490, + 674, 642, 643, 660, 661, 667, 923, 1141, 675, 1177, + 1178, 1339, 1340, 374, 625, 626, 877, 445, 375, 792, + 539, 540, 376, 377, 166, 447, 264, 1295, 793, 1573, + 233, 293, 379, 242, 306, 380, 381, 382, 383, 259, + 589, 384, 722, 231 }; -static const short yypact[] = { 13993, - 23, 167, 13498, 167, 860, 13498, 134, 1540, 167, 71, - 70, 42, 210, 42, 167, 107, 12857, 12555, 167, 13498, - 172, 136, 175, 12555, 169, 278, 70, 12555, 13649, 13800, - 10809, 136, 13993, 184,-32768,-32768,-32768,-32768,-32768,-32768, +static const short yypact[] = { 14807, + 186, -5, 14272, -5, 1271, 14272, 65, 2664, -5, 156, + 82, 318, 86, 318, -5, 259, 13600, 13264, -5, 14272, + 172, 29, 206, 13264, 204, 302, 82, 13264, 14440, 14608, + 11499, 29, 14807, 227,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 12555, 212,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768, 13264, 246,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, @@ -1373,3095 +1399,3253 @@ static const short yypact[] = { 13993, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 12555,-32768, - 212, 13498, 13498,-32768,-32768, 13498, 13498,-32768, 13498, 12555, --32768, 255, 10419, 262, 235,-32768, 12555, 13498, 212,-32768, - 13498,-32768, 13498, 13498, 13498,-32768, 951, 375,-32768, 13498, - 13498,-32768, 239,-32768,-32768,-32768,-32768, 40, 350,-32768, --32768,-32768,-32768,-32768, 362, 224,-32768, 12555, 389,-32768, --32768, 410, 5192, 12, 328, -46,-32768,-32768, 378,-32768, --32768,-32768, 415,-32768,-32768, 12555,-32768, 98, 13498,-32768, --32768,-32768,-32768,-32768, 12555, 40,-32768, 386,-32768, 407, --32768,-32768,-32768, 395, 335,-32768, 340,-32768, 438, 348, - 438, 566, -14, 450,-32768, 364,-32768, 584,-32768, 545, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 13264,-32768, + 246, 14272, 14272,-32768,-32768, 14272, 14272,-32768, 14272, 13264, +-32768, 277, 11163, 303, 51,-32768, 13264, 14272, 246,-32768, + 14272,-32768, 14272, 14272, 14272,-32768, 1084, 417,-32768, 14272, + 14272,-32768, 294,-32768,-32768,-32768,-32768, 34, 405,-32768, +-32768,-32768,-32768,-32768, 425, 289,-32768, 13264, 446,-32768, +-32768, 450, 5281, 15, 416, -82,-32768,-32768, 442,-32768, +-32768,-32768, 473,-32768,-32768, 13264,-32768, 512, 14272,-32768, +-32768,-32768,-32768,-32768, 13264, 34,-32768, 447,-32768, 448, +-32768,-32768,-32768, 426, 365,-32768, 373,-32768, 477, 377, + 477, 614, 296, 497,-32768, 401,-32768, 631,-32768, 574, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768, 393,-32768,-32768, 13498, 528,-32768,-32768, 603, 514, --32768, 416,-32768,-32768, 560, 10960,-32768, 364,-32768, 429, --32768, 169,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - 461, 334,-32768,-32768, 13498, 21, 430, 13498, 13498, 454, - 555, 555,-32768, 465, 466,-32768, 469, 581, 480, 495, --32768, 496, 126, 705, 555, 7895,-32768, 499, 505, 506, - -75, -66, 507,-32768,-32768,-32768, 44, 1911, 102, 7895, - 519,-32768, 7895,-32768, 7895, 7895, 7895, 7274, 169, 520, --32768,-32768,-32768,-32768, 509,-32768, 119, 745,-32768, 2881, - 519, -7,-32768, 538, 534,-32768, 541,-32768,-32768, 86, --32768,-32768,-32768, 17, 16, 16, 10614, 12555, 636,-32768, - 514,-32768, 334,-32768,-32768,-32768, 12555,-32768,-32768, 45, - 586, -29, 12367, 758, -29, 664,-32768,-32768, 41, 605, - 4383, 587,-32768, 547, 169, 10251,-32768, 689,-32768, 726, - 7895,-32768, 13498, 12555,-32768,-32768,-32768,-32768, 13008,-32768, --32768, 13498, 13498,-32768, 663,-32768, 13498, 31, 727,-32768, - 7895,-32768,-32768, 761, 461, 461, 461,-32768,-32768, 674, - 535, 461,-32768, 669, 670, 672, 678,-32768,-32768, 555, --32768, 1128, 573, 461,-32768, 9125, 7274, 686,-32768, 4571, - 581,-32768, 676,-32768,-32768,-32768,-32768, 488, 7895,-32768, - 574, 574, 574, 574, 576, 580, 588, 1548,-32768, 67, --32768, 461, 11984, 7895, 8102,-32768, 482, 7895, 297, 7895, --32768,-32768, 7481, 5411, 5618, 5825, 6032, 6239, 6446, 6653, - 14293,-32768, 278, 5192, 766, 11111, 3372, 13498,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768, 519, 18,-32768, - 598, 541, -97,-32768, 644, 53,-32768,-32768, 599, 24, - 802, 802, 802,-32768, 212,-32768,-32768, 130, 600, 13498, - 767, 768, 616, 163,-32768,-32768,-32768,-32768, 288,-32768, - 14242, 674, 130,-32768,-32768,-32768,-32768, 747, 765, 650, - 711,-32768, 772,-32768,-32768,-32768, 295,-32768,-32768,-32768, --32768, 675, 783, 204,-32768, 204, 204, 204, 204,-32768, - 712, 658, 668, 299,-32768, 12555, 787, 2881,-32768,-32768, - 647, 646, 649,-32768,-32768, 12706, 305,-32768, 519, 771, - 107, 677,-32768, 12706, 2217, 793, 881, 679, 681, 317, - 107, 682,-32768,-32768,-32768, 684, 854, 685, 205, 188, - 808, 841,-32768, 13498, 333, 691, 693, 702, 703, 9125, - 9125, 9125, 9125, 709, 287, 519, 713,-32768, 86,-32768, - 5, 710, 806, 6860, 7274, 6860, 6860, 2835, -32, 714, - 2590,-32768, 373, 7895, 718, 719, 717,-32768,-32768,-32768, +-32768, 449,-32768,-32768, 14272, 540,-32768,-32768, 615, 530, +-32768, 453,-32768,-32768, 592, 11667,-32768, 401,-32768, 465, +-32768, 204,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + 476, 345,-32768,-32768, 14272, 420, 470, 14272, 14272, 12339, + 483, 575, 575, 502,-32768, 517, 520,-32768, 523, 609, + 529, 532,-32768, 535, 484, 702, 575, 8176, 541,-32768, + 542, 545, 555, -98, 81, 556,-32768,-32768,-32768, 77, + 2628, 170, 8176, 516,-32768, 8176,-32768, 8176, 8176, 8176, + 7513, 204, 571,-32768,-32768,-32768,-32768, 569,-32768, 198, + 793,-32768, 10565,-32768, 516, -7,-32768, 576, 584,-32768, + 578,-32768,-32768, 255,-32768,-32768,-32768, -6, 30, 30, + 11331, 13264, 671,-32768, 530,-32768, 345,-32768,-32768,-32768, + 13264,-32768,-32768, 45, 622, -37, 13096, 810, -37, 710, +-32768,-32768, 89, 653, 3034, 637,-32768, -27, 204, 10995, +-32768, 743,-32768, 780, 8176,-32768, 14272, 13264,-32768,-32768, +-32768,-32768, 13768,-32768,-32768, 14272, 14272,-32768, 715,-32768, + 14272, 48, 781,-32768, 704, 516, 616, 578, 617, 8176, +-32768,-32768, 829, 7513, 476, 476, 476,-32768,-32768, 744, + 818, 476,-32768, 736, 738, 746, 747,-32768,-32768, 575, +-32768, 1285, 8176, 476,-32768, 9472, 7513, 752,-32768, 4614, + 609,-32768, 733,-32768,-32768,-32768,-32768, 415, 8176,-32768, + 643, 643, 643, 643, 641, 645, 648, 2109,-32768, 112, +-32768, 476, 12701, 8176, 8392,-32768, 44, 8176, 313, 8176, +-32768,-32768, 7738, 5506, 5731, 5956, 6181, 6406, 6631, 6856, + 15051,-32768, 302, 5281, 827, 11835, 3509, 14272,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768, 516, 16,-32768, + 655, 174,-32768, 700, 37,-32768,-32768, 654, 28, 863, + 863, 863,-32768, 246,-32768,-32768, -30, 656, 14272, 821, + 823, 663, 220,-32768,-32768,-32768,-32768, 269,-32768, 3291, + 744, -30,-32768,-32768,-32768,-32768, 811, 812, 686, 748, +-32768, 808,-32768,-32768,-32768, 298,-32768,-32768,-32768,-32768, + 709, 819, 268,-32768, 268, 268, 268, 268,-32768, 745, + 703, 705, 308,-32768, 13264, 806, 10565,-32768,-32768, 687, + 692, 695,-32768,-32768, 13432, 336,-32768, 516, 799, 259, + 697,-32768, 13432, 8176, 67,-32768,-32768, 14272, 2799, 820, + 907,-32768, -39, 707, 708, 364, 259, 712,-32768,-32768, +-32768, 714, 883, 719, 231, 270, 833, 862,-32768, 2195, + 387, 711, 722, 725, 734, 9472, 9472, 9472, 9472, 732, + 456, 516, 739,-32768, 255, -19, 735, 843, 7075, 7513, + 7075, 7075, 3246, -43, 751, 2565,-32768, 802, 8176, 759, + 757, 756,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - 1128, 720,-32768, 723, 724,-32768, 728, 729, 737,-32768, - 8102, 8102, 8102, 8102, 8102, 7895, 54, 519, 738,-32768, - 86, 739,-32768, 68,-32768,-32768, 1681, 8102,-32768, 7895, - 3049, 740, 741, 7067, 488, 742, 749, 7067, 847, 750, - 752, 7067, 2043, 753, 755, 7067, 2043, 757, 759, 7067, - 193, 760, 762, 7067, 193, 763, 764, 7067, 574, 769, - 770, 7067, 574,-32768, 12555,-32768, 9905, 514,-32768, 751, --32768,-32768, 784,-32768, -47, 751,-32768, 11608, 514, 11262, - 735,-32768,-32768,-32768, 201, 13498,-32768,-32768, 12367,-32768, - 13498, 13498, 13498, 13498,-32768,-32768,-32768, 927, 9515, 281, - 773, 786, 13498, 12367, 831, 13498,-32768, 899, 272,-32768, - 927, 12555, 41, 52, 800,-32768,-32768, 12179,-32768,-32768, - 884, 12179, 33, 461,-32768,-32768,-32768,-32768,-32768,-32768, - 10419, 10056, 10056, 10251,-32768, 894, 107, 13498,-32768, 13159, - 13498,-32768, 889,-32768, 13498,-32768,-32768,-32768, 5192, 5192, --32768, 14293, 13498, 13498,-32768,-32768,-32768, 461,-32768, 5192, --32768,-32768, 7895,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768, 461,-32768, 9125, 9125, 7274, 4778, 630, 796, 796, - 596,-32768, 9125, 9320, 9125, 9125, 9125, 9125, 14293,-32768, - 3579, 7274, 7895, 7274, 973,-32768,-32768, 803, -32, 815, - 816, 7274,-32768, 7895, 519, 818, 988,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768, 32, 1607, 81,-32768, 718, --32768, 8102, 461, 461, 9125, 7274, 4985, 642, 825, 825, - 825, 825, 447, 8102, 8309, 8102, 8102, 8102, 8102, 14293, --32768, 3786, 14034,-32768,-32768,-32768, 133, 824, 1681, 674, - 674, 827, 674, 674, 828, 674, 674, 837, 674, 674, - 838, 674, 674, 842, 674, 674, 843, 674, 674, 845, - 674, 674, 852,-32768, 12555, 826, 1042, 13347, 859, 1026, - 11413,-32768,-32768,-32768,-32768,-32768, 7274,-32768,-32768, 958, --32768, 339,-32768, 345, 14242,-32768, 64,-32768, 968,-32768, - 1030, 887, 865, 9515,-32768, 9515, 9515, 9515, 9515, 9515, - 9515, 472, 867,-32768,-32768, 868,-32768, 13498, 13498, 355, --32768, 869,-32768,-32768,-32768, 1020,-32768, 870, 13498, 8516, - 1021, 1040, 13498,-32768,-32768, 272,-32768,-32768, 887, 1058, - 1024,-32768,-32768,-32768, 12,-32768, 393, 1099,-32768,-32768, --32768,-32768,-32768, 999,-32768, 955, 13498,-32768, 257,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 916, 895, - 5192,-32768,-32768,-32768,-32768, 1069,-32768,-32768, 26, 376, - 896,-32768,-32768, 898, 26, 2881, 900, 165, 901, 910, - 6860, 6860, 6860, 911,-32768, 683, 630, 219, 219, 796, - 796,-32768,-32768, -33, -32, 2881,-32768, 7274,-32768,-32768, --32768,-32768, -32, 2810,-32768, 674, 917,-32768,-32768, 7688, - 928, 718, 919,-32768, 256, 926, 930, 931, 932, 6860, - 6860, 6860, 941,-32768, 862, 642, 240, 240, 825, 825, --32768,-32768, -24,-32768, 942, 947,-32768, 8102, 14034, 948, - 949,-32768, 950, 952,-32768, 953, 954,-32768, 957, 959, --32768, 960, 962,-32768, 963, 966,-32768, 967, 969,-32768, - 971, 972,-32768, 662, 12555, 1091, 11984,-32768,-32768, 1160, - 1123,-32768,-32768,-32768, 1033,-32768, 13498,-32768,-32768, 1159, - 1166, 13498, 212, 1005,-32768, 9515, 10296, 513, 981, 981, - 981, 981, 1237, 9515, 14153, 991, 525, 9515, 370, 9515, --32768,-32768, 9710, 9515, 9515, 9515, 9515, 9515, 9515, 9515, - 14293,-32768, 4188, 387, 401,-32768, 13498,-32768, 9515, 358, - 992,-32768, 994, 995,-32768,-32768,-32768, 8723, 8723, 8723, - 8723, 8723, 8723, 936, 996,-32768,-32768,-32768, 430,-32768, --32768, 1056, 1181, 41,-32768,-32768, 169, 12555, 169,-32768, --32768,-32768,-32768, 13498, 26, 1140, 514,-32768,-32768,-32768, - 514,-32768, 14293,-32768,-32768, 1000, 1001, 1002,-32768,-32768, - -32, 519, 1003, 674, 1004, 1006, 2881, 674,-32768, 718, - 14293,-32768,-32768,-32768,-32768, 1018, 1023, 1025,-32768,-32768, --32768, 14153, 862,-32768, 1029, 1007,-32768,-32768,-32768,-32768, +-32768,-32768, 1285, 760,-32768, 762, 763,-32768, 764, 765, + 766,-32768, 8392, 8392, 8392, 8392, 8392, 8176, 117, 516, + 768,-32768, 255, 771,-32768, 235,-32768,-32768, 1416, 8392, +-32768, 8176, 2424, 772, 775, 7294, 415, 776, 777, 7294, + 506, 778, 779, 7294, 1797, 782, 783, 7294, 1797, 784, + 785, 7294, 191, 794, 795, 7294, 191, 804, 805, 7294, + 643, 807, 809, 7294, 643,-32768, 13264,-32768, 10321, 530, +-32768, 798,-32768,-32768, 813,-32768, -23, 798,-32768, 12339, + 530, 12003, 796,-32768,-32768,-32768, 230, 14272,-32768,-32768, + 13096,-32768, 14272, 14272, 14272, 14272,-32768,-32768,-32768, 931, + 9904, 53, 815, 824, 14272, 13096, 874, 14272,-32768, 948, + 57,-32768, 931, 13264, 89, 38, 835,-32768,-32768, 12902, +-32768,-32768, 923, 12902, 432, 476,-32768,-32768,-32768,-32768, +-32768,-32768, 11163, 10794, 10794, 10995,-32768, 934, 259, 14272, +-32768, 13936, 14272,-32768, 924,-32768, 14272,-32768,-32768,-32768, + 5281, 5281,-32768, 10485, 7513,-32768, 1018, 15051, 14272, 14272, +-32768, 8176, 7513,-32768,-32768,-32768, 476,-32768, 5281,-32768, +-32768, 8176,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + 8176, 476,-32768, 9472, 9472, 7513, 4838, 489, 838, 838, + 471,-32768, 9472, 9688, 9472, 9472, 9472, 9472, 15051,-32768, + 3733, 7513, 1013,-32768,-32768, 837, -43, 840, 842, 7513, +-32768, 8176, 516, 839, 1016,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768, 33, 2336, 134,-32768, 759,-32768, 8392, + 476, 476, 9472, 7513, 5062, 559, 847, 847, 847, 847, + 910, 8392, 8608, 8392, 8392, 8392, 8392, 15051,-32768, 3952, + 14885,-32768,-32768,-32768, 131, 848, 1416, 744, 744, 846, + 744, 744, 850, 744, 744, 852, 744, 744, 853, 744, + 744, 855, 744, 744, 856, 744, 744, 858, 744, 744, + 859,-32768, 13264, 865, 1070, 14104, 891, 1054, 12171,-32768, +-32768,-32768,-32768,-32768, 7513,-32768,-32768, 985,-32768, 396, +-32768, 397, 3291,-32768, 90,-32768, 996,-32768, 1059, 911, + 887, 9904,-32768, 9904, 9904, 9904, 9904, 9904, 9904, 978, + 892,-32768,-32768, 901,-32768, 14272, 14272, 408,-32768, 902, +-32768,-32768,-32768, 1052,-32768, 903, 14272, 8824, 1037, 1055, + 14272,-32768,-32768, 57,-32768,-32768, 911, 1085, 1045,-32768, +-32768,-32768, 15,-32768, 449, 1129,-32768,-32768,-32768,-32768, +-32768, 1020,-32768, 972, 14272,-32768, 54,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768, 938, 925, 5281,-32768, +-32768,-32768,-32768, 1086,-32768,-32768, 25, 413, 7513,-32768, +-32768, 932,-32768,-32768, 10565,-32768, 935, 25, 10565, 1472, + 936, 228, 942, 944, 7075, 7075, 7075, 945,-32768, 753, + 489, 213, 213, 838, 838,-32768,-32768, 52, -43, 7513, +-32768,-32768,-32768,-32768, -43, 10525,-32768, 744, 926,-32768, +-32768, 7957, 947, 759, 927,-32768, 395, 953, 954, 955, + 957, 7075, 7075, 7075, 959,-32768, 758, 559, 240, 240, + 847, 847,-32768,-32768, 79,-32768, 968, 971,-32768, 8392, + 14885, 973, 974,-32768, 979, 980,-32768, 981, 983,-32768, + 984, 986,-32768, 988, 989,-32768, 990, 992,-32768, 994, + 995,-32768, 997, 998,-32768, 721, 13264, 1097, 12701,-32768, +-32768, 1153, 1146,-32768,-32768,-32768, 1074,-32768, 14272,-32768, +-32768, 1180, 1196, 14272, 246, 1031,-32768, 9904, 1514, 650, + 1007, 1007, 1007, 1007, 1657, 9904, 14998, 1008, 212, 9904, + 350, 9904,-32768,-32768, 10120, 9904, 9904, 9904, 9904, 9904, + 9904, 9904, 15051,-32768, 4390, 454, 481,-32768, 14272,-32768, + 9904, 474, 1021,-32768, 1024, 1026,-32768,-32768,-32768, 9040, + 9040, 9040, 9040, 9040, 9040, 933, 1027,-32768,-32768,-32768, + 470,-32768,-32768, 1082, 1204, 89,-32768,-32768, 204, 13264, + 204,-32768,-32768,-32768,-32768, 14272, 25, 1162, 530,-32768, +-32768,-32768,-32768, 530,-32768,-32768, 15051,-32768,-32768, 1028, + 1030, 1032,-32768,-32768, -43, 516, 1039, 744, 1040, 1042, + 10565, 744,-32768, 759, 15051,-32768,-32768,-32768,-32768, 1044, + 1056, 1057,-32768,-32768,-32768, 14998, 758,-32768, 1058, 1029, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 1158,-32768, 1158, 662,-32768, 1158,-32768, - 1184,-32768, 12555,-32768, 7274, 7895, 1132, 169,-32768,-32768, - 8723,-32768, 1028,-32768, 1053, 2507,-32768, 10296, 1254,-32768, - 14153,-32768, 218,-32768,-32768, 2466, 14153, 1038, 9515, 3075, - 513, 1922, 9782, 9782, 293, 293, 981, 981,-32768,-32768, - 402, 2948, 1168,-32768, 1041, 1358,-32768, 8723, 461, 461, - 885, 1046, 1046, 1046, 1046, 746, 8930, 8723, 8723, 8723, - 8723, 8723, 8723, 8723, 14293, 3993, 1200,-32768, 238, 1176, --32768, 1210, 514, 1061,-32768, 1062, 1060,-32768,-32768, -8, - 1057, 868, 514,-32768, 1026, 1026, 1065,-32768,-32768,-32768, --32768,-32768, 1066,-32768,-32768, 1068,-32768, 1070,-32768,-32768, --32768,-32768,-32768, 14153,-32768,-32768,-32768,-32768,-32768, 12555, --32768, -32, 2881, 1283, 1208,-32768, 936, 212,-32768, 14293, - 14153, 406,-32768,-32768,-32768,-32768, 1292, 14153, 2466, 9515, --32768, 13498,-32768,-32768, 148, 1074, 1075,-32768, 885, 936, - 822, 822, 321, 321, 1046, 1046,-32768,-32768, 426, 936, - 51, 1219,-32768,-32768,-32768, 13498, 169, 1157, 13498, 884, - 13498, 14293, 14293, -52, 13498, 1026, 1123, 1123,-32768,-32768, --32768,-32768,-32768, 8,-32768, 1202, 1296,-32768,-32768, 1084, --32768, 14153,-32768, 14153, 445, 2948, 430, 14293,-32768,-32768, - 8723,-32768,-32768,-32768, 84,-32768, 1219, 1086,-32768, 1152, --32768,-32768,-32768,-32768,-32768, 1111,-32768,-32768,-32768, 451, - 1123, 1132, 1132, 1089, 1090, 1092, 107, 1199,-32768, 7895, --32768,-32768,-32768,-32768, 1200, 1093, 936, 74, 74,-32768, - 417,-32768, 180,-32768, -8, 1132,-32768,-32768, 7895, 11796, --32768, 5192, 1283, 1098,-32768, 1954, 1219,-32768,-32768, 1323, - 79,-32768,-32768,-32768,-32768,-32768, 473,-32768,-32768,-32768, - 98, 98,-32768,-32768, -52, 1208, 1521, 492,-32768,-32768, - 1106, 26, 1202, 7895,-32768,-32768, 285,-32768,-32768,-32768, --32768,-32768, 417,-32768, 1107, 98, 1113, 1108,-32768, 1285, --32768, 11796,-32768, 13498, 514,-32768,-32768,-32768,-32768,-32768, --32768,-32768, 1117,-32768,-32768, 15,-32768,-32768,-32768, 1026, --32768, 1260, 1263,-32768, 1123,-32768, 13498,-32768,-32768, 1122, - 1349, 1350,-32768 +-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1171,-32768, 1171, + 721,-32768, 1171,-32768, 1220,-32768, 13264,-32768, 7513, 8176, + 1164, 204,-32768,-32768, 9040,-32768, 1067,-32768, 1089, 10549, +-32768, 1514, 1300,-32768, 14998,-32768, 237,-32768,-32768, 1530, + 14998, 1076, 9904, 10605, 650, 884, 1879, 1879, 293, 293, + 1007, 1007,-32768,-32768, 487, 10589, 1206,-32768, 1077, 1820, +-32768, 9040, 476, 476, 888, 1083, 1083, 1083, 1083, 1063, + 9256, 9040, 9040, 9040, 9040, 9040, 9040, 9040, 15051, 4171, + 1243,-32768, -57, 1223,-32768, 1251, 530, 1099,-32768, 1091, + 1096,-32768,-32768, 35, 1100, 901, 530,-32768, 1054, 1054, + 1095,-32768,-32768,-32768,-32768,-32768, 1098,-32768,-32768, 1101, +-32768, 1105,-32768,-32768,-32768,-32768,-32768, 14998,-32768,-32768, +-32768,-32768,-32768, 13264,-32768, -43, 10565, 1334, 1248,-32768, + 933, 246,-32768, 15051, 14998, 504,-32768,-32768,-32768,-32768, + 1337, 14998, 1530, 9904,-32768, 14272,-32768,-32768, 148, 1108, + 1113,-32768, 888, 933, 963, 963, 352, 352, 1083, 1083, +-32768,-32768, 507, 933, 111, 1260,-32768,-32768,-32768, 14272, + 204, 1193, 14272, 923, 14272, 15051, 15051, 17, 14272, 1054, + 1146, 1146,-32768,-32768,-32768,-32768,-32768, 11,-32768, 1240, + 1338,-32768,-32768, 1120,-32768, 14998,-32768, 14998, 508, 10589, + 470, 15051,-32768,-32768, 9040,-32768,-32768,-32768, 55,-32768, + 1260, 1122,-32768, 1188,-32768,-32768,-32768,-32768,-32768, 1147, +-32768,-32768,-32768, 553, 1146, 1164, 1164, 1126, 1132, 1128, + 259, 1242,-32768, 8176,-32768,-32768,-32768,-32768, 1243, 1134, + 933, 146, 146,-32768, 393,-32768, 264,-32768, 35, 1164, +-32768,-32768, 8176, 12507,-32768, 5281, 1334, 1138,-32768, 2363, + 1260,-32768,-32768, 1367, 70,-32768,-32768,-32768,-32768,-32768, + 560,-32768,-32768,-32768, 512, 512,-32768,-32768, 17, 1248, + 2000, 564,-32768,-32768, 1145, 25, 1240, 8176,-32768,-32768, + 280,-32768,-32768,-32768,-32768,-32768, 393,-32768, 1144, 512, + 1149, 1142,-32768, 1325,-32768, 12507,-32768, 14272, 530,-32768, +-32768,-32768,-32768,-32768,-32768,-32768, 1154,-32768,-32768, 281, +-32768,-32768,-32768, 1054,-32768, 1291, 1295,-32768, 1146,-32768, + 14272,-32768,-32768, 1152, 1386, 1387,-32768 }; static const short yypgoto[] = {-32768, --32768, 1318,-32768,-32768,-32768, 1094, 956, 789,-32768, 543, - 320,-32768, 976,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768, 575, 559, 577,-32768, --32768,-32768, 329, 137,-32768, -643,-32768, -504,-32768, -83, - -89, -1168, -185, -204, -153, -183,-32768,-32768,-32768,-32768, - 589,-32768,-32768,-32768,-32768,-32768, 170,-32768,-32768,-32768, --32768,-32768,-32768, -801,-32768,-32768,-32768,-32768, -233,-32768, --32768,-32768,-32768, -176, 332,-32768, 562, 548,-32768,-32768, - 1367, 1151, 1008,-32768, 1384,-32768, 1083, 790,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768, -88, -157, -184,-32768, --32768,-32768, -78, 1116,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 1216, -186,-32768,-32768,-32768, 7,-32768, --32768,-32768, -175,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768, 408,-32768,-32768,-32768,-32768,-32768,-32768, 374,-32768, --32768,-32768, 1386,-32768,-32768,-32768,-32768, -234,-32768,-32768, - -1227, -795, 578,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768, 1015, 1443, -1435,-32768, -179,-32768, 913, -148, -598, - -167,-32768, -177,-32768,-32768, -194, -65, -1376, -1432, -528, --32768, -1108, 104, -993,-32768,-32768, -190, -381, -944,-32768, - -885, -451, 1085,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768, -377, -259,-32768,-32768,-32768, 1087,-32768,-32768, -180, --32768, 314,-32768,-32768,-32768, 1734,-32768,-32768, -616, -366, - -443,-32768,-32768, -774, -557, -723,-32768,-32768, -624,-32768, --32768,-32768,-32768, 912, 918,-32768, 660, -831, 933,-32768, - 27, 1246,-32768, -965, -95, -4, 55, 1115,-32768,-32768, - 1975, 1544, 30, -16, -169, -533, -3, 265,-32768 +-32768, 1356,-32768,-32768,-32768, 1135, 991, 826,-32768, 570, + 326,-32768, 1012,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768, 594, 580, 595,-32768, +-32768,-32768, 343, 151,-32768, -764,-32768, -519,-32768, -972, + -78, -1191, -179, -178, -144, -163,-32768,-32768,-32768,-32768, + 604,-32768,-32768,-32768,-32768,-32768, 74,-32768,-32768,-32768, +-32768,-32768,-32768, -812,-32768,-32768,-32768,-32768, -212,-32768, +-32768,-32768,-32768, -173, 361,-32768, 582, 585,-32768,-32768, + 1414, 1197, 1047,-32768, 1428,-32768, 1130, 822,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768, -77, -152, -180,-32768, +-32768,-32768, -74, 1157,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768, 1254, -181,-32768,-32768,-32768, -387,-32768, +-32768,-32768, -174,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768, 573,-32768,-32768,-32768,-32768,-32768,-32768, 383,-32768, +-32768,-32768, 1427,-32768,-32768,-32768,-32768, -234,-32768,-32768, + -1246, -816, 593,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768, 1060, -227, -1180,-32768, -170,-32768, 941, -139, -613, + -158,-32768, -165,-32768,-32768, -194, -54, -1393, -1456, -538, +-32768, -1124, 115, -1041,-32768,-32768, -177, -364, -984,-32768, + -914, -477, 1131,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768, -383, -276,-32768,-32768,-32768, 1143,-32768,-32768, -175, +-32768, 329,-32768,-32768,-32768, 1722,-32768,-32768, -632, -367, + -436,-32768,-32768, -808, -438, -807,-32768,-32768, -599,-32768, +-32768,-32768,-32768,-32768,-32768, 861,-32768,-32768, 872, 956, +-32768, 688, -860, 966,-32768, 27, 1293,-32768, -987, -75, + -141, 31, 890,-32768,-32768, 2025, 1480, -203, -12, -169, + -457, -3, 283,-32768 }; -#define YYLAST 14497 +#define YYLAST 15261 static const short yytable[] = { 167, - 779, 261, 186, 390, 512, 303, 282, 1020, 243, 537, - 301, 1041, 849, 226, 230, 1183, 234, 1079, 1080, 294, - 230, 1397, 860, 651, 230, 249, 251, 230, 1085, 898, - 1174, 900, 901, 579, 1124, 790, 1349, 1118, 1497, 1498, - 1119, 1492, 368, 549, 229, 307, 788, 209, 381, 540, - 240, 541, 523, 519, 247, 513, 892, 253, 210, 764, - 185, 934, 444, 468, 1542, 1543, 1332, 610, 385, 767, - 1050, 1536, 204, 775, 551, 461, 893, 767, 565, 210, - 230, 211, 878, 879, 880, 881, 542, 520, 1042, 1579, - 893, 893, 1544, 1051, 928, 929, 930, 931, 932, 893, - 1089, 566, 211, 1523, 783, 1190, 1567, 1568, 1566, 809, - 257, 947, 221, 1642, 944, 1611, 546, 552, 308, 1541, - 435, 1558, 407, 439, -802, 479, 408, 212, 893, -576, - 1596, 1545, 84, 6, 309, 7, 1643, 611, -585, 1052, - 1148, 1524, 213, 547, 553, 85, 222, -576, 212, 945, - 1128, 1537, 1090, 1580, 1053, 612, -585, 1518, 13, 454, - 1612, 777, 567, 213, 386, 230, 781, 784, 186, 186, - 205, 1191, 265, 267, 1273, 186, 230, 485, 894, 284, - 983, 1581, 455, 230, 186, 187, 946, 186, 1457, 186, - 265, 267, 894, 894, 1280, 260, 186, 186, 456, 99, - 633, 894, 1129, 1300, 16, 1559, 269, 383, 214, 206, - 1493, 899, 1649, 290, 230, 6, 241, 7, 514, 18, - 241, 241, 1224, 1225, 1441, 207, 262, 263, 543, 214, - 894, 109, 230, 268, 391, 234, 1289, 313, 1071, 1265, - 13, 230, 847, 778, 317, 295, 310, 296, -544, 374, - 789, 514, 1094, 203, 311, 304, 241, 457, 1120, 935, - 868, 865, 389, 1645, 1454, 1291, -544, 936, 937, 938, - 939, 392, 218, 310, 28, 313, 796, 866, 940, 890, - 418, 234, 1511, 86, 1046, 430, 16, 310, 1049, 1555, - 665, 1028, 186, 869, 286, 1017, 1029, 87, 1410, 1455, - 549, 18, 1133, 797, 1122, 1125, -543, -802, 1030, 728, - 867, 186, -809, 235, 186, 440, 1088, 1135, 1136, 1137, - 1138, 1139, 1140, -574, -543, 1096, 1097, 1098, 1099, 1100, - 1101, 551, 1437, 368, 239, 1439, 1456, 237, 935, 287, - 431, -574, 489, 1552, 883, 1553, 936, 937, 938, 939, - 427, 941, 1031, 1387, 729, 1590, 28, 940, 1388, 1389, - 1390, 1391, 1392, 1393, 1394, 1032, 730, 522, 525, 525, - 884, 1033, 1395, 241, 552, 795, 288, 1028, 885, 886, - 887, 888, 1357, 533, 230, 432, 980, 244, 804, 889, - 805, 433, 1034, 230, 1030, 988, 989, 985, 591, 561, - 1081, 553, 1591, 256, 1427, 241, 1592, 581, 509, 510, - 310, 168, 284, 531, 534, 258, 202, 511, 824, 186, - 230, 285, 220, 539, 1483, 186, 232, 1358, 186, 186, - 906, 1484, 651, 609, 887, 888, 270, 1102, 1031, 1359, - 579, 302, 305, 889, 579, 314, 315, 1104, 1105, 316, - 600, 1032, 1401, 907, 494, 938, 939, 1033, 1113, 495, - 384, 935, 649, 310, 940, 1261, 1276, 1277, 1278, 936, - 937, 938, 939, 318, 618, 619, 620, 599, 1034, 1204, - 940, 628, 651, 603, 1205, 387, 604, 605, 1141, 699, - 1628, 721, 884, 635, 319, 1504, 1629, 1630, 1143, 388, - 885, 886, 887, 888, 496, 1296, 1297, 1298, 1219, 1220, - 497, 889, 772, 806, 772, 807, 498, 1221, 394, 666, - 818, 667, 819, 1531, 834, 1410, 835, 499, 723, 1206, - 845, 1303, 846, 396, 500, 1207, 1393, 1394, 1115, 395, - 374, 1208, 858, 809, 859, 1395, 186, 792, 793, 794, - 1267, 497, 1209, 485, 398, 399, 1271, 485, 872, 1210, - 873, 485, 724, 725, 1187, 485, 1188, 401, 91, 485, - 804, 1352, 1189, 485, 403, 406, 1207, 485, 908, 410, - 845, 485, 1226, 909, 910, 911, 912, 913, 914, 915, - 411, 93, 230, 413, 1381, 1382, 1383, 1384, 1385, 1386, - 726, 514, 844, 1268, 800, 1353, 1354, 98, 99, 501, - 844, 415, 845, 826, 1373, 826, 826, 826, 826, 416, - 1584, 241, 836, 1585, 502, 1586, 845, 1460, 1374, 1461, - 772, 1512, 419, 1513, 1211, 420, 649, 649, 649, 649, - 109, 423, 421, 1355, 424, 301, 301, 623, 624, 1212, - 501, 1521, 503, 1522, 1056, 429, 437, 504, 505, 506, - 507, 508, 509, 510, 1281, 502, 114, 310, 368, 368, - 1512, 511, 1554, 449, 1134, 1211, 423, 1213, 1565, 368, - 441, 442, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 584, - 1212, 445, 446,-32768, 585, 447, 1221, 1447, 1613, 1222, - 1614, 507, 508, 509, 510, 586, 450, 721, 721, 721, - 721, 721, 511, 1107, 1324, 587, 588, 1622,-32768, 1623, - 1325, 451, 452, 460, 721, 464, 1217, 1218, 1219, 1220, - 1326, 466, 467, 470, 1465, 492, 1413, 1221, 1327, 589, - 1602, 479, 490, 1469, 1470, 1471, 1472, 1473, 1474, 1475, - 1476, 1328, 1480, 825, 493, 827, 828, 829, 830, 516, - 517, 230, 518, 230, 1329, 535, 545, 562, 991, 1369, - 16, 570, 582, 596, 533, 597, 772, 606, 614, 616, - 621, 1330, 186, 629, 630, 995, 631, 995, 997, 998, - 186, 974, 632, 979, 634, 1016, 653, 1044, 511, 609, - 995, 884, 1025, 662, 531, 468, 1184, 663, 230, 885, - 886, 887, 888, 664, 581, 1065, 1065, 767, 581, 780, - 889, 1417, 782, 1095, 788, 786, 799, 284, 1066, 1066, - 284, 812, 801, 802, 186,-32768, 186, 1075, 1040, 1428, - 993, 609, 803, 885, 886, 887, 888,-32768, 1000, 1082, - 1083, 1650, 813, 1055, 889, 936, 937, 938, 939, 495, - 814, 826, 826, 815, 817, 820, 940, 823, 832, 831, - 649, 649, 838, 839, 840, 374, 374, 1557, 833, 649, - 649, 649, 649, 649, 649, 1415, 374, 1084, 884, 1416, - 368, 1442, 1072, 837, 1074, 848, 885, 886, 887, 888, - 853, 1087, 854, 850, 496, 863, 856, 889, 857, 861, - 497, 862, 864, 870, 871, 1421, 498, 874, 721, 875, - 1197, 649, 1198, 1199, 1200, 1201, 1202, 1203, 876, 877, - 721, 721, 721, 721, 721, 721, 882, 896, 897, 891, - 918, 903, 920, 1477, 921, 987, 922, 1123, 1572, 923, - 924, 1387, 1126, 1127, 925, 926, 1388, 1389, 1390, 1391, - 1392, 1393, 1394, 927, 942, 943, 950, 951, 953, 169, - 1395, 230, 981, 1468, 1178, 954, 956, 772, 957, 959, - 170, 960, 171, 962, 1001, 963, 965, 172, 966, 968, - 969, 1022, 1026, 173, 174, 971, 972, 175, 1510, 1018, - 1016, 979, 1016, 1016, 1016, 1016, 1016, 1016, 176, 501, - 1045, 982, 1019, 1047, 609, 609, 177, 1069, 1076, -320, - 889, 1488, 1108, 1344, 502, 186, 267, 1387, 383, 1249, - 1110, 1496, 1375,-32768,-32768, 1391, 1392, 1393, 1394, 178, - 1534, 1535, 1111, 1112, 1116, 1117, 1395, 179, 180, 940, - 1149, 1175, 503, 1260, 1152, 1155, 181, 504, 505, 506, - 507, 508, 509, 510, 1158, 1161, 1556, 935, 1176, 1164, - 1167, 511, 1170, 1625, 1179, 936, 937, 938, 939, 1173, - 1180, 1185, 1192, 1230, 1193, 1228, 940, 1194, 1055, 165, --32768, 1196, 165, 1223, -809, 1227, 1229, 374, 1391, 1392, - 1393, 1394, 1247, 165, 165, 1248, 165, 1252, 1257, 1395, - 165, 1254, 1346, 1258, 165, 165, 165, 165, 1259, 1262, - 1348, 1264, 1266, 1269, 1356, 1270, 1360, 1272, 1274, 1361, - 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1275, 1279, 1372, - 495, 1387, 1290, 1284, 721, 1376, 1388, 1389, 1390, 1391, - 1392, 1393, 1394, 1292, 1288, 1333, 299, 1293, 1294, 1295, - 1395, 274, 275, 276, 277, 278, 279, 280, 1299, 1301, - 165, 230, 1302, 699, 1335, 1308, 1309, 1310, 1336, 1311, - 1312, 1313, 1338, 186, 1314, 496, 1315, 1316, 186, 1317, - 1318, 497, 1016, 1319, 1320, 1340, 1321, 498, 1322, 1323, - 1016, 979, 1341, 1345, 1016, 1221, 1016, 1398, 499, 1016, - 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1351, 1378, 1016, - 1379, 1380, 1396, 186, 1400, 1016, 1414, 1418, 1419, 1420, - 1422, 1424, 1434, 1425, 267, 267, 267, 267, 267, 267, - 1402, 1339, 1405, 1640, 1204, 1429, 1342, 1435, 1440, 1205, - 1430, 1444, 1431, 1448, 230, 165, 1433, 1449, 165, 165, - 1412, 1451, 165, 165, 1458, 165, 165, 1462, 1463, 165, - 1395, 1481, 1486, 165, 165, 1459, 1487, 165, 1509, 165, - 165, 165, 1489, 1495, 1404, 1491, 165, 165, 1505, 1490, - 501, 266, 1499, 1500, 1206, 1501, 1507, 1502, 528, 1514, - 1207, 1519, 1520, 1525, 165, 502, 1208, 1530, 1547, 298, - 1550, 1551, 1561, 1562, 1537, 1569, 1570, 1209, 1573, 1571, - 1578, 1446, 165, 1604, 1210, 165, 1610, 1624, 1594, 230, - 1632, 165, 1634, 503, 1636, 1635, 1641, 267, 504, 505, - 506, 507, 508, 509, 510, 1646, 1647, 845, 1652, 1653, - 255, 811, 511, 1039, 405, 1016, 1617, 1617, 1251, 979, - 563, 526, 1021, 994, 1250, 1204, 1377, 996, 1515, 1577, - 1205, 165, 1609, 1560, 267, 1583, 1516, 646, 1256, 1631, - 1067, 1633, 165, 267, 267, 267, 267, 267, 267, 267, - 267, 368, 267, 246, 1024, 1068, 393, 219, 436, 1211, - 538, 165, 1533, 851, 165, 165, 718, 1595, 1466, 1467, - 1619, 1532, 300, 428, 1212, 1206, 1618, 254, 1255, 458, - 564, 1207, 1078, 1626, 1603, 765, 1627, 1208, 1620, 1540, - 1438, 1638, 476, 1286, 477, 776, 230, 984, 1209, 297, - 1564, 1334, 1213, 0, 0, 1210, 766, 1214, 1215, 1216, - 1217, 1218, 1219, 1220, 0, 0, 1016, 0, 1517, 0, - 0, 1221, 0, 0, 1347, 0, 979, 0, 0, 0, - 1529, 0, 0, 165, 165, 0, 0, 0, 0, 0, - 0, 0, 186, 165, 0, 772, 0, 772, 0, 165, - 0, 186, 0, 0, 0, 0, 0, 165, 0, 0, - 0, 0, 165, 0, 0, 0, 0, 0, 0, 165, - 165, 0, 0, 0, 0, 165, 0, 267, 165, 165, - 1211, 0, 0, 165, 0, 0, 0, 0, 494, 0, - 0, 0, 0, 495, 0, 1212, 0, 625, 0, 0, - 1528, 0, 0, 0, 1589, 0, 0, 0, 0, 0, - 0, 646, 646, 646, 646, 494, 0, 0, 0, 0, - 495, 0, 0, 1213, 0, 0, 1601, 0, 1214, 1215, - 1216, 1217, 1218, 1219, 1220, 0, 0, 0, 496, 165, - 647, 0, 1221, 0, 497, 1464, 0, 0, 0, 0, - 498, 0, 0, 0, 0, 0, 1589, 477, 374, 1600, - 0, 499, 165, 0, 165, 496, 0, 0, 500, 719, - 0, 497, 0, 0, 494, 0, 0, 498, 1601, 495, - 1639, 0, 718, 718, 718, 718, 718, 0, 499, 0, - 0, 0, 0, 0, 0, 500, 165, 0, 0, 718, - 0, 0, 0, 609, 0, 0, 0, 477, 0, 188, - 0, 1600, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 189, 0, 496, 0, 0, 190, 0, 0, - 497, 0, 0, 191, 192, 0, 498, 193, 0, 0, - 0, 0, 165, 501, 0, 0, 0, 499, 194, 528, - 0, 0, 165, 495, 500, 0, 195, 0, 502, 196, - 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 501, 0, 0, 0, 0, 0, 0, 0, 0, 197, - 165, 198, 0, 0, 0, 502, 503, 199, 200, 0, - 0, 504, 505, 506, 507, 508, 509, 510, 496, 0, - 0, 0, 0, 0, 497, 511, 0, 0, 1621, 0, --32768, 0, 0, 503, 647, 647, 647, 647, 504, 505, - 506, 507, 508, 509, 510, 0, 0, 0, 0, 501, - 0, 0, 511, -604, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 502, 646, 646, 0, 0, 0, - 0, 0, 0, 0, 646, 646, 646, 646, 646, 646, + 801, 261, 186, 394, 313, 303, 871, 522, 1048, 282, + 1107, 1108, 243, 226, 230, 301, 234, 633, 1206, 294, + 230, 1215, 1069, 889, 230, 249, 251, 230, 1118, 812, + 546, 588, 529, 1156, 1431, 922, 185, 389, 1150, 307, + 666, 1151, 313, 786, 229, 1383, 453, 371, 558, 549, + 240, 550, 810, 385, 247, 1531, 1532, 253, 523, 1229, + 471, 1230, 1231, 1232, 1233, 1234, 1235, 530, 533, 926, + 789, 928, 929, 558, 1576, 1577, 1070, 1056, 627, 789, + 230, 560, 1366, 1057, 204, 882, 619, 1526, 551, 882, + 797, 805, 831, 745, 1592, 1058, 1123, 395, 1124, 1578, + 956, 957, 958, 959, 960, 882, 560, 435, 1645, 882, + 257, 875, -576, 286, 555, 308, 86, 975, 1600, 187, + 439, 593, 818, 443, 962, 561, 594, 746, 574, 747, + -576, 87, 309, 1222, 390, 1517, 1575, 595, 1180, 1579, + 1059, 556, 1518, 422, 1160, 1570, 1161, 596, 597, 819, + 561, 218, 575, 562, 1060, 1646, 806, 1552, 620, 287, + 1061, 1613, 814, 815, 816, 230, 1557, 748, 186, 186, + 799, 598, 265, 267, 803, 186, 230, 621, 562, 284, + 882, 1593, 1062, 230, 186, 495, 205, 186, 883, 186, + 265, 267, 883, 649, 884, 260, 186, 186, 288, 1491, + 624, 1223, 262, 263, 241, 1558, 269, 882, 883, 268, + 1011, 387, 883, 290, 230, 576, 478, 908, 909, 910, + 911, 295, 1683, 296, 524, 241, 1571, 206, 1614, 1256, + 1257, 304, 230, 927, 552, 234, 237, 1307, 1297, 1323, + 241, 230, 1475, 207, 317, 1099, 310, 800, 241, 378, + 869, 634, 635, 636, 311, 1380, 524, 1615, 644, 1527, + 811, 1386, 393, 1382, 221, 1152, 310, 1390, 1293, 1394, + 651, 396, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, + 1679, 234, 1406, 883, 972, 1314, 1488, -544, 1410, 434, + 894, -585, 186, 1545, 920, 1387, 681, 1388, 682, 84, + 222, 6, 1045, 7, 1589, -544, 895, 1128, 1444, -585, + 883, 186, 1334, 85, 186, 444, 449, 1157, 1471, 235, + 973, 1473, 1489, 209, 310, 750, 431, 13, 963, 1167, + 1168, 1169, 1170, 1171, 1172, 1389, 964, 965, 966, 967, + 896, 680, 963, 832, 203, 897, 310, 968, 371, 499, + 964, 965, 966, 967, 1586, 1165, 1587, 210, 974, 1421, + 1490, 968, 1391, 1154, 1422, 1423, 1424, 1425, 1426, 1427, + 1428, 239, 969, 751, 16, 532, 535, 535, 1429, 898, + -543, 211, 1074, 1676, 817, 752, 1077, 542, 230, 848, + 18, 848, 848, 848, 848, 1601, 1602, 230, -543, 436, + 1112, -814, 489, 570, 1325, 437, 600, 1677, -574, 1461, + 1392, 590, 519, 520, 241, 244, 284, 541, 543, 1630, + 1493, 521, 1393, 186, 230, 1008, -574, 548, 212, 186, + 1016, 1017, 186, 186, 917, 918, 1013, 618, 411, 914, + 241, 1136, 412, 919, 213, 1624, 28, 915, 916, 917, + 918, 826, 256, 827, 609, 258, 588, 608, 919, 210, + 588, 966, 967, 612, 270, 1122, 613, 614, 285, 666, + 968, 1078, 665, 1435, 1130, 1131, 1132, 1133, 1134, 1135, + 310, 507, -814, 211, 1138, 1139, 302, -821, 846, 1538, + 1173, 1662, 1625, 1145, 1056, 1079, 1626, 1663, 1664, 721, + 828, 743, 829, 305, 314, 1415, 1416, 1417, 1418, 1419, + 1420, 214, 1058, 315, 1251, 1252, 913, 666, 505, 464, + 316, 1550, 794, 1253, 794, 1310, 1311, 1312, 980, 840, + 212, 841, 983, 1175, 318, 1565, 986, 1444, 319, 856, + 989, 857, 1080, 465, 992, 831, 213, 1337, 995, 6, + 378, 7, 998, 391, 388, 186, 1001, 1059, 1081, 466, + 99, 392, 1330, 1331, 1332, 1147, 506, 867, 1299, 868, + 400, 1060, 507, 1427, 1428, 13, 168, 1061, 508, 1304, + 495, 202, 1429, 511, 495, 398, 399, 220, 495, 822, + 402, 232, 495, 109, 403, 887, 495, 888, 512, 1062, + 495, 230, 1618, 241, 495, 1619, 963, 1620, 495, 407, + 1481, 866, 405, 214, 964, 965, 966, 967, 902, 866, + 903, 467, 16, 410, 794, 968,-32768, 1219, 826, 1220, + 1221, 858, 414, 415, 517, 518, 519, 520, 18, 867, + 417, 1258, 1083, 419, 524, 521, 1300, 1499, 423, 424, + 848, 848, 665, 665, 665, 665, 1503, 1504, 1505, 1506, + 1507, 1508, 1509, 1510, 425, 1514, 847, 914, 849, 850, + 851, 852, 301, 301, 511, 915, 916, 917, 918, 1084, + 428, 420, 914, 1117, 427, 867, 919, 1407, 310, 512, + 915, 916, 917, 918, 28, 371, 371, 433, 1121, 1110, +-32768, 919, 441, 1315, 1129, 459, 451, 1116, 915, 916, + 917, 918, 867, 371, 1408, 450, 1239, 513, 1494, 919, + 1495, 470, 514, 515, 516, 517, 518, 519, 520, 743, + 743, 743, 743, 743, 454, 1546, 521, 1547, 1555, 1546, + 1556, 1588, 1155, 1176, 489, 1636, 743, 1158, 1159, 455, + 1182, 1183, 456, 1185, 1186, 457, 1188, 1189, 1447, 1191, + 1192, 460, 1194, 1195, 461, 1197, 1198, 462, 1200, 1201, +-32768, 1203, 1204, 473, 474, 1403, 1358, 476, 964, 965, + 966, 967, 1359, 230, 427, 230, 1599, 477, 480, 968, + 1591, 1647, 1360, 1648, 1019, 1656, 542, 1657, 794, 500, + 1361, 502, 503, 526, 186, 528, 544, 1023, 554, 1023, + 1025, 1026, 186, 1002, 1362, 1007, 527, 1044, 1243, 571, + 16, 618, 1023, 1072, 1053, 579, 541, 1363, 591, 1451, + 230, 605, 606, 1244, 615, 623, 590, 624, 1021, 1216, + 590, 1093, 1093, 628, -814, 1364, 1028, 1462, 630, 284, + 1094, 1094, 284, 91, 637, 645, 186, 646, 186, 1103, + 1068,-32768, 934, 618, 1684, 647, 648, 668, 478, 1249, + 1250, 1251, 1252, 521, 677, 1113, 1114, 93, 678, 679, + 1253, 789, 802, 1083, 804, 935, 808, 810, 821, 823, + 1100, 824, 1102, 98, 99, 825, 1237, 378, 378, 834, + 665, 665, 836, 835, 839, 842, 837, 845, 853, 665, + 665, 665, 665, 665, 665, 378, 859, 504, 860, 854, + 1317, 855, 505, 371, 1319, 861, 862, 109, 870, 872, + 880, 879, 1476, 1301, 1449, 639, 640, 892, 900, 1450, + 885, 886, 899, 904, 1238, 890, 743, 891, 1455, 665, + 1239, 1511, 893, 1338, 905, 114, 1240, 906, 743, 743, + 743, 743, 743, 743, 914, 912, 907, 1606, 924, 963, + 506, 921, 915, 916, 917, 918, 507, 964, 965, 966, + 967, 925, 508, 919, 931, 1236, 948, 946, 968, 949, + 1237, 1029, 950, 509, 951, 952, 953, 954, 955, 230, + 970, 510, 1210, 971, 978, 794, 1544, 979, 981, 982, + 984, 985, 1015, 936, 987, 988, 990, 991, 937, 938, + 939, 940, 941, 942, 943, 1009, 993, 994, 1044, 1007, + 1044, 1044, 1044, 1044, 1044, 1044, 996, 997, 1238, 999, + 1050, 1000, 618, 618, 1239, 1054, 1010, 1046, 1568, 1569, + 1240, 1073, 1243, 186, 267, 1378, 1047, 1281, 1075, 1104, + 387, 1241, 1097, 1111, 1409, 1140, 266, 1244, 919, 1242, + 1142, 1148, 1522, 1143, 1590, 1144, 1149, 968, 511, 1184, + 1181, 1292, 1530, 1187, 298, 1190, 1193, 1262, 1196, 1199, + 1457, 1202, 1205, 512, 1460, 1245, 1207, 1659, 1208,-32768, + 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1425, 1426, 1427, + 1428, 1212, 1211, 1217, 1253, 1224, 1225, 1226, 1429, 1228, + 1260, 513, 1279, 1280, 1255, 378, 514, 515, 516, 517, + 518, 519, 520, -821, 1259, 1261, 1286, 1284, 1289, 1290, + 521, 1291, 1298, 1166, 1421, 165, 1243, 1294, 165, 1422, + 1423, 1424, 1425, 1426, 1427, 1428, 1324, 1296, 1318, 165, + 165, 1244, 165, 1429, 1367, 1302, 165, 1369, 1303, 1306, + 165, 165, 165, 165, 1421, 1308, 743, 1309, 1313, 1322, +-32768,-32768, 1425, 1426, 1427, 1428, 1326, 1327, 1328, 1245, + 1329, 446, 1333, 1429, 1246, 1247, 1248, 1249, 1250, 1251, + 1252, 1335, 1336, 230, 1370, 721, 1342, 1343, 1253, 1500, + 1501, 1254, 1344, 1345, 1346, 186, 1347, 1348, 1374, 1349, + 186, 1350, 1351, 1352, 1044, 1353, 165, 1354, 1355, 1372, + 1356, 1357, 1044, 1007, 1375, 1379, 1044, 1253, 1044, 1432, + 1385, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1373, + 1434, 1044, 1448, 1412, 1376, 186, 1413, 1044, 1414, 1430, + 1468, 1452, 538, 1453, 1469, 1454, 267, 267, 267, 267, + 267, 267, 1456, 1458, 1421, 1459, 1436, 1463, 1439, 1422, + 1423, 1424, 1425, 1426, 1427, 1428, 230, 1474, 1478, 1464, + 1465, 1467, 1446, 1429, 1674, 299, 1502, 505, 1482, 1483, + 274, 275, 276, 277, 278, 279, 280, 1485, 1492, 1496, + 1497, 165, 1543, 1429, 165, 165, 1438, 1515, 165, 165, + 1521, 165, 165, 1520, 1524, 165, 1523, 1525, 1533, 165, + 165, 1534, 1529, 165, 1535, 165, 165, 165, 1536, 1539, + 1541, 1553, 165, 165, 1548, 506, 1554, 662, 1559, 1564, + 1581, 507, 1584, 1585, 1595, 1596, 1571, 508, 1603, 1480, + 165, 1605, 1628, 230, 1604, 663, 1607, 1612, 509, 1638, + 1644, 267, 1658, 1666, 1668, 1669, 740, 1670, 165, 1675, + 1680, 165, 1681, 867, 169, 1686, 1687, 165, 255, 1044, + 1651, 1651, 1283, 1007, 741, 409, 170, 833, 171, 572, + 1634, 536, 1067, 172, 1022, 1049, 1282, 1024, 267, 1611, + 173, 174, 1411, 1549, 175, 1667, 1594, 267, 267, 267, + 267, 267, 267, 267, 267, 176, 267, 165, 505, 1617, + 371, 1052, 1643, 177, 1665, 1288, -320, 1096, 165, 1095, + 246, 219, 397, 547, 873, 440, 1629, 1567, 1653, 1566, + 300, 1652, 1634, 511, 432, 1287, 178, 165, 254, 1106, + 165, 165, 165, 787, 179, 180, 1660, 1637, 512, 573, + 230, 1654, 1661, 181, 1574, 1472, 506, 468, 1672, 504, + 1320, 486, 507, 798, 505, 876, 297, 1012,-32768, 788, + 1044, 1368, 1551, 487, 1598, 0, 513, 0, 0, 0, + 1007, 514, 515, 516, 517, 518, 519, 520, 1563, 0, + 0, 0, 0, 0, 0, 521, 186, 0, 0, 794, + 0, 794, 0, 0, 0, 186, 1237, 662, 662, 662, + 662, 0, 506, 165, 165, 0, 0, 0, 507, 0, + 0, 0, 1237, 165, 508, 663, 663, 663, 663, 165, + 1562, 267, 0, 0, 0, 509, 0, 165, 0, 0, + 0, 0, 165, 510, 0, 0, 0, 0, 0, 165, + 165, 0, 0, 0, 1238, 165, 0, 0, 165, 165, + 1239, 0, 1623, 165, 511, 0, 1240, 0, 0, 0, + 1238, 0, 0, 0, 0, 0, 1239, 1241, 0, 512, + 1635, 0,-32768, 641, 740, 740, 740, 740, 740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 503, 0, 0, 0, 0, 504, 505, 506, - 507, 508, 509, 510, 0, 719, 719, 719, 719, 719, - 0, 511, -603, 718, 0, 0, 646, 0, 0, 0, - 0, 0, 719, 501, 0, 718, 718, 718, 718, 718, - 718, 165, 0, 165, 0, 0, 0, 0, 502, 0, - 0, 0, 0, 0, 165, 0, 165, 0, 0, 0, - 0, 0, 165, 0, 0, 165, 0, 165, 165, 165, - 165, 0, 0, 0, 0, 0, 503, 0, 0, 165, - 165, 0, 165, 0, 507, 508, 509, 510, 165, 0, - 0, 0, 0, 0, 165, 511, 0, 0, 165, 0, - 0, 0, 0, 1013, 0, 0, 0, 165, 165, 165, - 165, 0, 0, 0, 165, 0, 165, 165, 0, 0, - 532, 165, 0, 0, 1205, 0, 0, 0, 477, 165, - 165, 0, 0, 0, 91, 327, 0, 0, 0, 0, - 0, 471, 0, 0, 0, 0, 0, 0, 0, 332, - 0, 494, 0, 0, 1605, 0, 495, 93, 0, 0, - 0, 0, 333, 0, 0, 477, 0, 0, 0, 1206, - 0, 0, 0, 98, 99, 1207, 0, 0, 647, 647, - 0, 1208, 1606, 338, 0, 0, 0, 647, 647, 647, - 647, 647, 647, 0, 810, 0, 0, 0, 0, 0, - 0, 496, 0, 0, 0, 0, 109, 497, 0, 0, - 0, 472, 473, 498, 0, 0, 477, 0, 0, 477, - 0, 0, 0, 0, 499, 0, 719, 0, 0, 647, - 0, 500, 114, 0, 0, 474, 0, 0, 719, 719, - 719, 719, 719, 719, 0, 495, 0, 0, 0, 718, - 0, 165, 0, 0, 165, 0, 0, 165, 0, 462, - 0, 0, 0, 0, 0, 0, 0, 1607, 0, 0, - 0, 477, 0, 478, 1211, 0, 481, 0, 482, 483, - 484, 488, 0, 0, 0, 0, 0, 0, 0, 1212, - 496, 0, 0, 0, 165, 165, 497, 0, 0, 0, - 0, 0, 498, 0, 475, 165, 501, 0, 1013, 165, - 1013, 1013, 1013, 1013, 1013, 1013, 0, 1213, 0, 0, - 0, 502, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 0, - 0, 0, 0, 165, 1245, 0, 1221, 0, 0, 0, - 0, 0, 0, 0, 598, 0, 0, 0, 0, 503, - 0, 0, 0, 0, 504, 505, 506, 507, 508, 509, - 510, 0, 0, 0, 615, 0, 952, 0, 511, 0, - 955, 0, 0, 0, 958, 0, 0, 0, 961, 0, - 0, 0, 964, 0, 0, 0, 967, 0, 0, 0, - 970, 0, 0, 658, 973, 501, 0, 0, 0, 0, - 0, 0, 661, 0, 0, 0, 0, 0, 0, 0, - 502, 0, 0, 0, 494, 0, 852, 701, 0, 495, - 0, 727, 0, 731, 0, 477, 735, 739, 743, 747, - 751, 755, 759, 763, 0, 0, 0, 0, 503, 0, - 0, 0, 0, 0,-32768,-32768, 507, 508, 509, 510, - 0, 165, 719, 165, 0, 0, 0, 511, 0, 0, - 0, 0, 0, 165, 496, 0, 0, 0, 165, 0, - 497, 0, 0, 0, 0, 0, 498, 0, 0, 0, - 0, 477, 0, 0, 0, 0, 0, 499, 0, 0, - 0, 0, 0, 0, 500, 0, 0, 477, 0, 0, - 1013, 0, 0, 165, 0, 0, 0, 0, 1013, 0, - 0, 532, 1013, 0, 1013, 0, 0, 1013, 1013, 1013, - 1013, 1013, 1013, 1013, 1013, 0, 0, 1013, 0, 0, - 0, 0, 1015, 1013, 165, 0, 0, 0, 0, 0, - 165, 0, 1245, 1245, 1245, 1245, 1245, 1245, 0, 477, + 0, 740, 741, 741, 741, 741, 741, 513, 0, 0, + 0, 0, 378, 0, 1623, 517, 518, 519, 520, 741, + 511, 0, 0, 0, 0, 165, 521, 0, 0, 0, + 0, 0, 1635, 0, 1673, 512, 0, 0, 0, 0, + 0, 0, 0, 487, 1236, 0, 0, 0, 165, 1237, + 165, 538, 0, 0, 0, 0, 0, 618, 0, 0, + 0, 0, 1243, 513, 0, 0, 0, 0, 514, 515, + 516, 517, 518, 519, 520, 0, 0, 1244, 1243, 0, + 0, 165, 521, 0, 0, 1305, 0, 0, 0, 0, + 1041, 0, 487, 1244, 0, 0, 0, 1238, 0, 0, + 0, 0, 0, 1239, 0, 1245, 0, 0, 0, 1240, + 1246, 1247, 1248, 1249, 1250, 1251, 1252, 0, 0, 0, + 1241, 1245, 0, 0, 1253, 0, 0, 165, 1242, 1249, + 1250, 1251, 1252, 0, 0, 0, 0, 165, 0, 0, + 1253, 0, 0, 0, 0, 165, 0, 0, 0, 0, + 165, 0, 0, 0, 0, 662, 662, 0, 0, 0, + 0, 0, 0, 0, 662, 662, 662, 662, 662, 662, + 0, 0, 0, 663, 663, 0, 0, 0, 0, 448, + 0, 0, 663, 663, 663, 663, 663, 663, 0, 505, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 477, 1411, 501, - 0, 0, 0, 0, 0, 1144, 0, 658, 477, 658, - 658, 0, 1150, 1151, 502, 1153, 1154, 917, 1156, 1157, - 0, 1159, 1160, 0, 1162, 1163, 0, 1165, 1166, 0, - 1168, 1169, 0, 1171, 1172, 0, 0, 0, 0, 165, - 0, 0, 503, 0, 0, 0, 0, 504, 505, 506, - 507, 508, 509, 510, 0, 0, 0, 477, 0, 0, - 648, 511, 0, 477, 0, 0, 0, 0, 0, 933, - 0, 0, 0, 0, 0, 1245, 0, 0, 0, 0, - 0, 0, 0, 949, 0, 0, 0, 488, 0, 720, - 0, 488, 0, 1013, 0, 488, 0, 0, 1205, 488, - 0, 477, 0, 488, 0, 0, 1015, 488, 0, 0, - 0, 488, 1245, 0, 0, 488, 0, 0, 0, 0, - 0, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 0, - 1245, 0, 0, 0, 1204, 0, 1450, 0, 0, 1205, - 477, 0, 0, 1206, 0, 0, 165, 0, 0, 1207, - 0, 0, 0, 0, 0,-32768, 477, 477, 0, 0, - 0, 0, 0, 0, 477, 0, 0, 1015, 165, 1015, - 1015, 1015, 1015, 1015, 1015, 0, 0, 0, 1283, 0, - 0, 0, 1285, 0, 1206, 0, 0, 0, 0, 0, - 1207, 0, 165, 1015, 1013, 165, 1208, 165, 477, 477, - 0, 165, 0, 0, 0, 0, 0, 1209, 0, 0, - 0, 1304, 0, 0, 1210, 0, 1086, 494, 477, 0, - 477, 0, 495, 0, 477, 0, 0, 0, 0, 0, - 658, 0, 0, 0, 648, 648, 648, 648, 0, 0, - 0, 0, 0, 0, 0, 0, 1106, 0, 1211, 0, - 0, 0, 0, 0, 0, 1245, 0, 1114, 0, 0, - 0, 0, 0, 1212, 0, 0, 0, 496, 0, 0, - 0, 0, 0, 497, 0, 0, 165, 0, 0, 498, - 658, 0, 0, 0, 0, 0, 0, 0, 0, 1211, - 499, 1213, 0, 0, 0, 0, 0, 500, 0, 1217, - 1218, 1219, 1220, 0, 1212, 720, 720, 720, 720, 720, - 1221, 0, 1015, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 720, 0, 0, 0, 0, 0, 165, 0, - 165, 0, 1213, 0, 0, 0, 0, 1214, 1215, 1216, - 1217, 1218, 1219, 1220, 0, 0, 1423, 0, 0, 0, - 1426, 1221, 0, 165, 0, 0, 0, 0, 0, 1015, - 0, 0, 0, 0, 0, 0, 0, 1015, 1015, 0, - 0, 1015, 501, 1015, 0, 0, 1015, 1015, 1015, 1015, - 1015, 1015, 1015, 1015, 0, 0, 1015, 502, 0, 0, - 0, 0, 1015, 1014, 0, 0, 0, 0, 0, 0, - 0, 1015, 1015, 1015, 1015, 1015, 1015, 0, 0, 0, - 0, 0, 0, 0, 0, 503, 0, 0, 0, 0, - 504, 505, 506, 507, 508, 509, 510, 0, 904, 0, - 0, 0, 0, 905, 511, 0, 0, 494, 0, 0, - 0, 0, 495, 0, 658, 658, 658, 0, 0, 0, + 0, 740, 0, 0, 662, 1243, 0, 1236, 0, 0, + 0, 0, 1237, 740, 740, 740, 740, 740, 740, 741, + 1244, 0, 663, 0, 0, 0, 0, 0, 0, 0, + 0, 741, 741, 741, 741, 741, 741, 506, 0, 0, + 0, 0, 0, 507, 0, 0, 0, 0, 1245, 508, + 448, 0, 0, 1246, 1247, 1248, 1249, 1250, 1251, 1252, + 1238, 0, 0, 0, 0, 0, 1239, 1253, 0, 0, + 1381, 1237, 1240, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1241, 0, 0, 0, 0, 0, 0, + 0, 1242, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1041, 0, 1041, 1041, 1041, 1041, 1041, 1041, 165, + 0, 165, 0, 0, 0, 0, 0, 0, 0, 1238, + 0, 0, 165, 0, 165, 1239, 0, 1277, 0, 0, + 165, 1240, 0, 165, 0, 165, 165, 165, 165, 0, + 0, 0, 0, 0, 0, 511, 0, 165, 165, 0, + 165, 0, 0, 0, 0, 0, 165, 0, 0, 0, + 512, 0, 165, 0, 0, 0, 165, 0, 1243, 0, + 0, 0, 0, 0, 0, 165, 165, 165, 165, 0, + 0, 0, 165, 1244, 165, 165, 0, 504, 513, 165, + 0, 0, 505, 0,-32768,-32768, 517, 518, 519, 520, + 487, 165, 165, 0, 0, 0, 0, 521, 0, 0, + 0, 1245, 0, 0, 0, 0, 1246, 1247, 1248, 1249, + 1250, 1251, 1252, 0, 0, 0, 0, 1243, 0, 0, + 1253, 740, 0, 1498, 0, 0, 0, 0, 0, 472, + 506, 487, 1244, 0, 0, 0, 507, 0, 0, 741, + 0, 0, 508, 0, 488, 0, 0, 491, 0, 492, + 493, 494, 498, 509, 0, 0, 0, 0, 0, 0, + 1245, 510, 0, 0, 0, 0,-32768,-32768, 1249, 1250, + 1251, 1252, 0, 0, 0, 0, 0, 0, 0, 1253, + 487, 0, 0, 487, 0, 0, 504, 1041, 0, 0, + 0, 505, 0, 0, 0, 1041, 0, 0, 0, 1041, + 0, 1041, 0, 0, 1041, 1041, 1041, 1041, 1041, 1041, + 1041, 1041, 0, 0, 1041, 165, 607, 0, 165, 0, + 1041, 165, 0, 0, 0, 0, 0, 0, 0, 1277, + 1277, 1277, 1277, 1277, 1277, 487, 0, 0, 511, 506, + 0, 629, 0, 0, 0, 507, 0, 0, 0, 0, + 0, 508, 0, 512, 0, 1445, 0, 0, 165, 165, + 0, 0, 509, 0, 650, 0, 0, 0, 0, 165, + 510, 673, 504, 165, 0, 0, 0, 505, 0, 0, + 676, 513, 0, 0, 0, 0, 514, 515, 516, 517, + 518, 519, 520, 0, 0, 723, 0, 165, 0, 749, + 521, 753, 0, 1655, 757, 761, 765, 769, 773, 777, + 781, 785, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 506, 0, 0, 0, 0, + 0, 507, 0, 0, 1277, 0, 0, 508, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 511, 509, 448, + 0, 0, 1041, 0, 0, 0, 510, 0, 0, 0, + 0, 0, 512, 0, 0, 0, 0, 0, 0, 0, + 1043, 1277, 0, 0, 0, 0, 0, 0, 0, 0, + 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 0, 1277, + 513, 0, 0, 487, 0, 514, 515, 516, 517, 518, + 519, 520, 0, 0, 0, 0, 0, 0, 0, 521, + -604, 0, 0, 504, 0, 874, 0, 0, 505, 165, + 0, 165, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 165, 0, 511, 0, 0, 165, 0, 0, 0, + 504, 0, 0, 1639, 0, 505, 0, 0, 512, 487, + 0, 0, 0, 1041, 0, 0, 0, 0, 0, 0, + 673, 0, 673, 673, 0, 487, 506, 0, 0, 0, + 945, 165, 507, 1640, 0, 0, 513, 0, 508, 0, + 0, 514, 515, 516, 517, 518, 519, 520, 0, 509, + 0, 0, 0, 506, 0, 521, 901, 510, 0, 507, + 0, 504, 165, 0, 0, 508, 505, 0, 165, 0, + 0, 0, 0, 0, 1277, 0, 509, 0, 0, 487, + 1043, 0, 0, 0, 510, 0, 0, 0, 0, 961, + 0, 0, 0, 0, 0, 0, 0, 487, 0, 0, + 0, 0, 0, 977, 0, 0, 0, 498, 487, 0, + 0, 498, 0, 0, 506, 498, 0, 0, 0, 498, + 507, 1641, 0, 498, 0, 0, 508, 498, 0, 0, + 664, 498, 0, 0, 511, 498, 0, 509, 0, 165, + 0, 1043, 0, 1043, 1043, 1043, 1043, 1043, 1043, 512, + 0, 0, 0, 0, 0, 0, 0, 487, 0, 742, + 0, 511, 0, 487, 0, 0, 0, 1043, 0, 0, + 0, 0, 0, 0, 0, 0, 512, 513, 0, 0, + 0, 0, 514, 515, 516, 517, 518, 519, 520, 0, + 0, 0, 0, 0, 0, 0, 521, -603, 0, 0, + 0, 487, 504, 0, 513, 0, 0, 505, 0, 514, + 515, 516, 517, 518, 519, 520, 0, 0, 0, 0, + 0, 0, 511, 521, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1115, 0, 0, 0, 512, 0, 0, + 487, 0, 0, 1119, 0, 0, 165, 0, 0, 0, + 0, 0, 1120, 0, 0, 506, 487, 487, 673, 0, + 0, 507, 0, 0, 487, 513, 0, 508, 165, 0, + 514, 515, 516, 517, 518, 519, 520, 0, 509, 0, + 0, 0, 0, 1146, 521, 0, 510, 0, 0, 0, + 1043, 0, 165, 91, 329, 165, 0, 165, 487, 487, + 481, 165, 0, 0, 0, 0, 673, 0, 0, 334, + 664, 664, 664, 664, 0, 0, 0, 93, 487, 0, + 487, 0, 335, 0, 487, 0, 0, 0, 0, 0, + 0, 0, 0, 98, 99, 0, 0, 1043, 0, 0, + 0, 0, 0, 0, 341, 1043, 1043, 0, 0, 1043, + 0, 1043, 0, 0, 1043, 1043, 1043, 1043, 1043, 1043, + 1043, 1043, 0, 511, 1043, 0, 0, 109, 0, 0, + 1043, 0, 0, 482, 483, 0, 165, 0, 512, 1043, + 1043, 1043, 1043, 1043, 1043, 0, 0, 742, 742, 742, + 742, 742, 0, 0, 0, 114, 0, 0, 484, 0, + 0, 0, 0, 0, 742, 0, 513, 188, 0, 0, + 0, 514, 515, 516, 517, 518, 519, 520, 0, 932, + 0, 189, 0, 0, 933, 521, 190, 0, 165, 0, + 165, 0, 0, 191, 192, 0, 504, 193, 878, 0, + 0, 505, 0, 0, 0, 1043, 0, 0, 194, 0, + 0, 0, 0, 165, 0, 0, 195, 0, 0, 196, + 0, 0, 0, 0, 0, 0, 0, 485, 0, 0, + 0, 0, 0, 0, 0, 1042, 673, 673, 673, 197, + 0, 198, 0, 0, 1043, 0, 0, 199, 200, 506, + 0, 0, 0, 0, 1043, 507, 0, 0, 0, 0, + 1043, 508, 1043, 1321, 0, 0, 0, 0, 0, 0, + 0, 0, 509, 673, 673, 673, 0, 0, 0, 0, + 510, 1043, 0, 0, 0, 0, 0, 0, 0, 0, + 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 0, 1043, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 494, 0, 0, 1015, 0, 495, 648, 648, - 0, 0, 0, 1287, 0, 0, 0, 648, 648, 648, - 648, 648, 648, 658, 658, 658, 0, 496, 0, 0, - 0, 0, 0, 497, 0, 0, 0, 0, 0, 498, - 0, 0, 0, 0, 1015, 0, 902, 0, 494, 0, - 499, 0, 496, 495, 1015, 0, 720, 500, 497, 648, - 1015, 0, 1015, 0, 498, 0, 0, 0, 720, 720, - 720, 720, 720, 720, 0, 499, 0, 1147, 0, 0, - 0, 1015, 500, 0, 0, 0, 0, 0, 0, 0, - 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 496, 1015, - 0, 0, 0, 0, 497, 0, 0, 0, 0, 0, - 498, 0, 0, 0, 0, 1204, 0, 0, 0, 0, - 1205, 499, 0, 0, 0, 0, 0, 0, 500, 0, - 0, 0, 501, 0, 0, 0, 0, 1015, 1014, 0, - 1014, 1014, 1014, 1014, 1014, 1014, 0, 502, 0, 0, - 0, 0, 0, 0, 1015, 0, 0, 501, 0, 0, - 0, 1015, 0, 1015, 1246, 1206, 0, 0, 0, 0, - 0, 1207, 502, 0, 0, 503, 0, 1208, 0, 0, - 504, 505, 506, 507, 508, 509, 510, 0, 1209, 0, - 0, 0, 0, 1282, 511, 1210, 0, 0, 0, 0, - 503, 0, 0, 501, 0, 504, 505, 506, 507, 508, - 509, 510, 0, 0, 0, 1015, 494, 1015, 502, 511, - 0, 495, 0, 0, 1015, 0, 0, 0, 0, 1443, + 0, 0, 0, 0, 0, 0, 0, 0, 664, 664, + 0, 0, 0, 0, 0, 0, 0, 664, 664, 664, + 664, 664, 664, 0, 0, 0, 0, 1043, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1204, 0, 0, 0, 503, 1205, 0, 0, - 0, 504, 505, 506, 507, 508, 509, 510, 0, 0, - 0, 0, 0, 0, 0, 511, 496, 0, 0, 0, - 1211, 0, 497, 0, 0, 0, 0, 0, 498, 0, - 0, 0, 720, 1307, 0, 1212, 0, 0, 0, 499, - 0, 0, 1206, 0, 0, 0, 0, 0, 1207, 0, - 0, 0, 0, 0, 1208, 0, 0, 0, 0, 0, - 0, 0, 0, 1213, 0, 1209, 0, 0, 1214, 1215, - 1216, 1217, 1218, 1219, 1220, 0, 0, 0, 0, 0, - 1014, 0, 1221, 0, 0, 0, 0, 0, 1014, 1350, - 0, 0, 1014, 0, 1014, 0, 0, 1014, 1014, 1014, - 1014, 1014, 1014, 1014, 1014, 0, 0, 1014, 0, 0, - 0, 0, 0, 1014, 0, 0, 0, 0, 0, 0, - 0, 501, 1246, 1246, 1246, 1246, 1246, 1246, 0, 0, - 0, 0, 0, 0, 0, 0, 502, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1211, 0, 0, + 0, 0, 0, 0, 1043, 0, 0, 511, 0, 0, + 0, 1043, 0, 1043, 742, 0, 0, 664, 0, 0, + 0, 0, 512, 0, 0, 0, 742, 742, 742, 742, + 742, 742, 0, 0, 0, 1179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1212, 0, 503, 0, 0, 0, 0, 504, - 505, 506, 507, 508, 509, 510, 0, 0, 0, 0, - 0, 0, 0, 511, 0, 0, 1432, 0, 0, 0, - 1213, 0, 0, 1576, 0, 1214, 1215, 1216, 1217, 1218, - 1219, 1220, 0, 0, 0, 0, 0, 0, 0, 1221, - 0, 0, 1597, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1246, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1350, 0, 0, 0, 0, - 0, 1350, 0, 1014, 0, 0, 0, 1576, 0, 0, + 513, 0, 0, 0, 0, 514, 515, 516, 517, 518, + 519, 520, 0, 0, 0, 1043, 0, 1043, 0, 521, + 0, 0, 0, 0, 1043, 0, 89, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1246, 0, 0, 0, 0, 0, 0, 0, - 0, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 0, - 1246, 0, 0, 0, 89, 90, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 320, 321, - 322, 0, 0, 0, 0, 0, 0, 0, 0, 227, - 323, 324, 325, 326, 0, 91, 327, 0, 1503, 0, - 0, 0, 328, 0, 0, 0, 329, 330, 331, 0, - 332, 0, 0, 0, 0, 1350, 0, 0, 93, 0, - 0, 94, 1350, 333, 1014, 0, 0, 95, 96, 0, - 0, 0, 0, 97, 98, 99, 0, 334, 0, 335, - 100, 0, 336, 337, 338, 101, 0, 102, 103, 0, - 0, 0, 0, 339, 0, 0, 104, 105, 0, 0, - 106, 0, 107, 0, 0, 0, 108, 109, 0, 0, - 340, 0, 341, 342, 112, 113, 1350, 0, 1350, 343, - 344, 0, 0, 0, 345, 1246, 0, 346, 0, 0, - 0, 0, 0, 114, 115, 116, 347, 0, 118, 119, - 0, 120, 121, 0, 122, 0, 0, 123, 124, 125, - 126, 127, 0, 128, 129, 0, 0, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 0, 0, 139, 0, - 140, 141, 0, 228, 142, 143, 0, 144, 0, 145, - 146, 147, 148, 149, 150, 151, 0, 152, 153, 154, - 155, 156, 348, 0, 157, 158, 159, 160, 161, 0, - 0, 0, 162, 0, 163, 349, 241, 350, 310, 351, - 352, 89, 90, 0, 0, 0, 353, 773, 0, 355, - 356, 357, 0, 0, 0, 320, 321, 322, 358, 774, - 0, 0, 0, 0, 0, 0, 227, 323, 324, 325, - 326, 0, 91, 327, 0, 0, 0, 0, 0, 328, - 0, 0, 0, 329, 330, 331, 0, 332, 0, 0, - 0, 0, 0, 0, 0, 93, 0, 0, 94, 0, - 333, 0, 0, 0, 95, 96, 0, 0, 0, 0, - 97, 98, 99, 0, 334, 0, 335, 100, 0, 336, - 337, 338, 101, 0, 102, 103, 0, 0, 0, 0, - 339, 0, 0, 104, 105, 0, 0, 106, 0, 107, - 0, 0, 0, 108, 109, 0, 0, 340, 0, 341, - 342, 112, 113, 0, 0, 0, 343, 344, 0, 0, - 0, 345, 0, 0, 346, 0, 0, 0, 0, 0, - 114, 115, 116, 347, 0, 118, 119, 0, 120, 121, + 0, 0, 322, 323, 0, 0, 1042, 0, 1042, 1042, + 1042, 1042, 1042, 1042, 0, 0, 0, 0, 0, 91, + 581, 0, 0, 0, 0, 0, 582, 0, 0, 0, + 0, 0, 1278, 0, 0, 583, 0, 0, 0, 0, + 0, 1477, 0, 93, 0, 0, 94, 0, 0, 0, + 0, 0, 95, 96, 0, 0, 0, 0, 97, 98, + 99, 0, 336, 0, 337, 100, 0, 0, 0, 0, + 584, 101, 0, 102, 103, 0, 0, 0, 0, 0, + 0, 0, 104, 105, 0, 0, 106, 0, 107, 0, + 0, 0, 108, 109, 0, 0, 0, 0, 0, 110, + 111, 112, 113, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 349, 0, 0, 0, 0, 0, + 0, 114, 115, 116, 117, 0, 118, 119, 0, 120, + 121, 0, 122, 0, 0, 123, 124, 125, 126, 127, + 0, 128, 129, 0, 0, 130, 131, 132, 133, 134, + 135, 136, 137, 138, 742, 1341, 139, 0, 140, 141, + 0, 0, 142, 143, 0, 144, 0, 145, 146, 147, + 148, 149, 150, 151, 0, 152, 153, 154, 155, 156, + 0, 0, 157, 158, 159, 160, 161, 0, 0, 0, + 162, 0, 163, 164, 0, 0, 0, 0, 0, 0, + 0, 0, 1042, 504, 0, 0, 0, 0, 505, 0, + 1042, 1384, 0, 0, 1042, 0, 1042, 585, 0, 1042, + 1042, 1042, 1042, 1042, 1042, 1042, 1042, 0, 0, 1042, + 0, 0, 0, 0, 0, 1042, 0, 0, 0, 0, + 0, 0, 0, 0, 1278, 1278, 1278, 1278, 1278, 1278, + 930, 0, 0, 0, 0, 1610, 506, 0, 0, 322, + 323, 0, 507, 0, 0, 0, 0, 0, 508, 0, + 0, 0, 0, 0, 1631, 0, 91, 329, 0, 509, + 0, 0, 0, 481, 0, 0, 0, 510, 0, 0, + 0, 0, 334, 0, 0, 0, 0, 0, 0, 0, + 93, 0, 0, 0, 0, 335, 0, 0, 0, 1610, + 1466, 0, 0, 0, 0, 0, 98, 99, 0, 336, + 0, 337, 0, 0, 0, 0, 0, 341, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1278, + 109, 0, 0, 0, 0, 0, 482, 483, 0, 1384, + 0, 0, 0, 0, 511, 1384, 0, 1042, 0, 0, + 0, 349, 0, 0, 0, 0, 0, 0, 114, 512, + 0, 484, 0, 0, 0, 0, 1278, 0, 0, 0, + 0, 0, 0, 0, 0, 1278, 1278, 1278, 1278, 1278, + 1278, 1278, 1278, 0, 1278, 0, 0, 513, 0, 0, + 0, 0, 514, 515, 516, 517, 518, 519, 520, 0, + 0, 0, 0, 0, 0, 0, 521, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 830, 351, 0, 0, + 0, 0, 1537, 0, 0, 0, 0, 0, 0, 0, + 485, 0, 0, 0, 0, 0, 0, 0, 0, 1384, + 0, 89, 90, 0, 0, 0, 1384, 0, 1042, 0, + 0, 0, 0, 0, 0, 320, 321, 322, 323, 0, + 0, 324, 0, 0, 0, 0, 0, 0, 227, 325, + 326, 327, 328, 0, 91, 329, 0, 0, 0, 0, + 0, 330, 0, 0, 0, 0, 331, 332, 333, 0, + 334, 0, 0, 0, 0, 0, 0, 0, 93, 0, + 1384, 94, 1384, 335, 0, 0, 0, 95, 96, 1278, + 0, 0, 0, 97, 98, 99, 0, 336, 0, 337, + 100, 0, 338, 339, 340, 341, 101, 0, 102, 103, + 0, 0, 0, 0, 342, 0, 0, 104, 105, 0, + 0, 106, 0, 107, 0, 0, 0, 108, 109, 0, + 0, 343, 0, 0, 344, 345, 112, 113, 0, 0, + 0, 346, 347, 0, 0, 0, 348, 0, 0, 349, + 0, 0, 0, 0, 0, 0, 114, 115, 116, 350, + 0, 118, 119, 0, 120, 121, 0, 122, 0, 0, + 123, 124, 125, 126, 127, 0, 128, 129, 0, 0, + 130, 131, 132, 133, 134, 135, 136, 137, 138, 0, + 0, 139, 0, 140, 141, 0, 228, 142, 143, 0, + 144, 0, 145, 146, 147, 148, 149, 150, 151, 0, + 152, 153, 154, 155, 156, 351, 0, 157, 158, 159, + 160, 161, 0, 0, 0, 162, 0, 163, 352, 241, + 353, 310, 354, 355, 0, 0, 0, 0, 0, 356, + 795, 0, 358, 359, 360, 89, 90, 0, 0, 0, + 0, 361, 796, 0, 0, 0, 0, 0, 0, 320, + 321, 322, 323, 0, 0, 324, 0, 0, 0, 0, + 0, 0, 227, 325, 326, 327, 328, 0, 91, 329, + 0, 0, 0, 0, 0, 330, 0, 0, 0, 0, + 331, 332, 333, 0, 334, 0, 0, 0, 0, 0, + 0, 0, 93, 0, 0, 94, 0, 335, 0, 0, + 0, 95, 96, 0, 0, 0, 0, 97, 98, 99, + 0, 336, 0, 337, 100, 0, 338, 339, 340, 341, + 101, 0, 102, 103, 0, 0, 0, 0, 342, 0, + 0, 104, 105, 0, 0, 106, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 343, 0, 0, 344, 345, + 112, 113, 0, 0, 0, 346, 347, 0, 0, 0, + 348, 0, 0, 349, 0, 0, 0, 0, 0, 0, + 114, 115, 116, 350, 0, 118, 119, 0, 120, 121, 0, 122, 0, 0, 123, 124, 125, 126, 127, 0, 128, 129, 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, 138, 0, 0, 139, 0, 140, 141, 0, 228, 142, 143, 0, 144, 0, 145, 146, 147, 148, - 149, 150, 151, 0, 152, 153, 154, 155, 156, 348, + 149, 150, 151, 0, 152, 153, 154, 155, 156, 351, 0, 157, 158, 159, 160, 161, 0, 0, 0, 162, - 0, 163, 349, 241, 350, 310, 351, 352, 89, 90, - 0, 0, 0, 353, 0, 0, 355, 356, 357, 0, - 0, 0, 320, 321, 322, 358, 1103, 0, 0, 0, - 0, 0, 0, 227, 323, 324, 325, 326, 0, 91, - 327, 0, 0, 0, 0, 0, 328, 0, 0, 0, - 329, 330, 331, 0, 332, 0, 0, 0, 0, 0, - 0, 0, 93, 0, 0, 94, 0, 333, 0, 0, - 0, 95, 96, 0, 0, 0, 0, 97, 98, 99, - 0, 334, 0, 335, 100, 0, 336, 337, 338, 101, - 0, 102, 103, 0, 0, 0, 0, 339, 0, 0, + 0, 163, 352, 241, 353, 310, 354, 355, 0, 0, + 0, 0, 0, 356, 89, 90, 358, 359, 360, 0, + 0, 0, 0, 0, 0, 361, 1137, 0, 320, 321, + 322, 323, 0, 0, 324, 0, 0, 0, 0, 0, + 0, 227, 325, 326, 327, 328, 0, 91, 329, 0, + 0, 0, 0, 0, 330, 0, 0, 0, 0, 331, + 332, 333, 0, 334, 0, 0, 0, 0, 0, 0, + 0, 93, 0, 0, 94, 0, 335, 0, 0, 0, + 95, 96, 0, 0, 0, 0, 97, 98, 99, 0, + 336, 0, 337, 100, 0, 338, 339, 340, 341, 101, + 0, 102, 103, 0, 0, 0, 0, 342, 0, 0, 104, 105, 0, 0, 106, 0, 107, 0, 0, 0, - 108, 109, 0, 0, 340, 0, 341, 342, 112, 113, - 0, 0, 0, 343, 344, 0, 0, 0, 345, 0, - 0, 346, 0, 0, 0, 0, 0, 114, 115, 116, - 347, 0, 118, 119, 0, 120, 121, 0, 122, 0, - 0, 123, 124, 125, 126, 127, 0, 128, 129, 0, - 0, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 0, 0, 139, 0, 140, 141, 0, 228, 142, 143, - 0, 144, 0, 145, 146, 147, 148, 149, 150, 151, - 0, 152, 153, 154, 155, 156, 348, 0, 157, 158, - 159, 160, 161, 0, 0, 0, 162, 0, 163, 349, - 241, 350, 310, 351, 352, 89, 90, 0, 0, 0, - 353, 0, 0, 355, 356, 357, 0, 0, 0, 1231, - 321, 322, 358, 1142, 0, 0, 0, 0, 0, 0, - 0, 1232, 1233, 1234, 1235, 0, 91, 327, 0, 0, - 0, 0, 0, 328, 0, 0, 0, 0, 0, 331, - 0, 332, 0, 0, 0, 0, 0, 0, 0, 93, - 0, 0, 94, 0, 333, 0, 0, 0, 95, 96, - 0, 0, 0, 0, 97, 98, 99, 0, 334, 0, - 335, 100, 0, 0, 0, 338, 101, 0, 102, 103, - 0, 0, 0, 0, 0, 0, 0, 104, 105, 0, - 0, 106, 0, 107, 0, 0, 0, 108, 109, 0, - 0, 0, 0, 341, 342, 112, 113, 0, 0, 0, - 0, 344, 0, 0, 0, 1237, 0, 0, 346, 0, - 0, 0, 0, 0, 114, 115, 116, 347, 0, 118, - 119, 0, 120, 121, 0, 122, 0, 0, 123, 124, - 125, 126, 127, 0, 128, 129, 0, 0, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 0, 0, 139, - 0, 140, 141, 0, 0, 142, 143, 0, 144, 0, - 145, 146, 147, 148, 149, 150, 151, 0, 152, 153, - 154, 155, 156, 348, 0, 157, 158, 159, 160, 161, - 89, 90, 0, 162, 0, 163, 349, 241, 1238, 310, - 351, 352, 0, 0, 1003, 321, 322, 1239, 0, 0, - 1240, 1241, 1242, 0, 0, 0, 0, 0, 0, 1243, - 1478, 91, 327, 0, 0, 0, 0, 0, 328, 0, - 0, 0, 0, 0, 331, 0, 332, 0, 0, 0, - 0, 0, 0, 0, 93, 0, 0, 94, 0, 333, - 0, 0, 0, 95, 96, 0, 0, 0, 0, 97, - 98, 99, 0, 334, 0, 335, 100, 0, 1004, 1005, - 338, 101, 0, 102, 103, 0, 0, 0, 0, 0, - 0, 0, 104, 105, 0, 0, 106, 0, 107, 0, - 0, 0, 108, 109, 0, 0, 0, 0, 341, 342, - 112, 113, 0, 0, 0, 0, 344, 0, 0, 0, - 0, 0, 0, 346, 0, 0, 0, 0, 0, 114, - 115, 116, 347, 0, 118, 119, 0, 120, 121, 0, + 108, 109, 0, 0, 343, 0, 0, 344, 345, 112, + 113, 0, 0, 0, 346, 347, 0, 0, 0, 348, + 0, 0, 349, 0, 0, 0, 0, 0, 0, 114, + 115, 116, 350, 0, 118, 119, 0, 120, 121, 0, 122, 0, 0, 123, 124, 125, 126, 127, 0, 128, 129, 0, 0, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 0, 0, 139, 0, 140, 141, 0, 0, + 137, 138, 0, 0, 139, 0, 140, 141, 0, 228, 142, 143, 0, 144, 0, 145, 146, 147, 148, 149, - 150, 151, 0, 152, 153, 154, 155, 156, 348, 0, - 157, 158, 159, 160, 161, 89, 90, 0, 162, 0, - 163, 349, 241, 1006, 310, 351, 352, 0, 0, 0, - 321, 322, 1007, 0, 0, 1008, 1009, 1010, 0, 0, - 0, 0, 0, 0, 1011, 1370, 91, 572, 0, 0, - 0, 0, 0, 573, 0, 0, 0, 0, 0, 0, - 0, 574, 0, 0, 0, 0, 0, 0, 0, 93, - 0, 0, 94, 0, 0, 0, 0, 0, 95, 96, - 0, 0, 0, 0, 97, 98, 99, 0, 334, 0, - 335, 100, 0, 0, 0, 575, 101, 0, 102, 103, - 0, 0, 0, 0, 0, 0, 0, 104, 105, 0, - 0, 106, 0, 107, 0, 0, 0, 108, 109, 0, - 0, 0, 0, 110, 111, 112, 113, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 346, 0, - 0, 0, 0, 0, 114, 115, 116, 117, 0, 118, - 119, 0, 120, 121, 0, 122, 0, 0, 123, 124, - 125, 126, 127, 0, 128, 129, 0, 0, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 0, 0, 139, - 0, 140, 141, 0, 0, 142, 143, 0, 144, 0, - 145, 146, 147, 148, 149, 150, 151, 0, 152, 153, - 154, 155, 156, 89, 90, 157, 158, 159, 160, 161, - 0, 0, 0, 162, 654, 163, 164, 320, 321, 322, - 0, 0, 0, 0, 0, 0, 0, 0, 227, 323, - 324, 325, 326, 0, 91, 327, 0, 0, 0, 0, - 576, 328, 0, 0, 0, 329, 330, 331, 0, 332, - 0, 0, 655, 0, 0, 0, 0, 93, 0, 0, - 94, 0, 333, 0, 0, 0, 95, 96, 656, 0, - 0, 0, 97, 98, 99, 0, 334, 0, 335, 100, - 0, 336, 337, 338, 101, 0, 102, 103, 0, 0, - 0, 0, 339, 0, 0, 104, 105, 0, 0, 106, - 0, 107, 0, 0, 0, 108, 109, 0, 0, 340, - 0, 341, 342, 112, 113, 0, 657, 0, 343, 344, - 0, 0, 0, 345, 0, 0, 346, 0, 0, 0, - 0, 0, 114, 115, 116, 347, 0, 118, 119, 0, - 120, 121, 0, 122, 0, 0, 123, 124, 125, 126, - 127, 0, 128, 129, 0, 0, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 0, 0, 139, 0, 140, - 141, 0, 228, 142, 143, 0, 144, 0, 145, 146, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 348, 0, 157, 158, 159, 160, 161, 0, 0, - 0, 162, 0, 163, 349, 241, 350, 310, 351, 352, - 89, 90, 0, 0, 0, 353, 0, 0, 355, 356, - 357, 1091, 0, 0, 320, 321, 322, 358, 0, 0, - 0, 0, 0, 0, 0, 227, 323, 324, 325, 326, - 0, 91, 327, 0, 0, 0, 0, 0, 328, 0, - 0, 0, 329, 330, 331, 0, 332, 0, 0, 655, - 0, 0, 0, 0, 93, 0, 0, 94, 0, 333, - 0, 0, 0, 95, 96, 1092, 0, 0, 0, 97, - 98, 99, 0, 334, 0, 335, 100, 0, 336, 337, - 338, 101, 0, 102, 103, 0, 0, 0, 0, 339, + 150, 151, 0, 152, 153, 154, 155, 156, 351, 0, + 157, 158, 159, 160, 161, 0, 0, 0, 162, 0, + 163, 352, 241, 353, 310, 354, 355, 0, 0, 0, + 0, 0, 356, 89, 90, 358, 359, 360, 0, 0, + 0, 0, 0, 0, 361, 1174, 0, 0, 1263, 322, + 323, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1264, 1265, 1266, 1267, 0, 91, 329, 0, 0, + 0, 0, 0, 330, 0, 0, 0, 0, 0, 0, + 333, 0, 334, 0, 0, 0, 0, 0, 0, 0, + 93, 0, 0, 94, 0, 335, 0, 0, 0, 95, + 96, 0, 0, 0, 0, 97, 98, 99, 0, 336, + 0, 337, 100, 0, 0, 0, 0, 341, 101, 0, + 102, 103, 0, 0, 0, 0, 0, 0, 0, 104, + 105, 0, 0, 106, 0, 107, 0, 0, 0, 108, + 109, 0, 0, 0, 0, 0, 344, 345, 112, 113, + 0, 0, 0, 0, 347, 0, 0, 0, 1269, 0, + 0, 349, 0, 0, 0, 0, 0, 0, 114, 115, + 116, 350, 0, 118, 119, 0, 120, 121, 0, 122, + 0, 0, 123, 124, 125, 126, 127, 0, 128, 129, + 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, + 138, 0, 0, 139, 0, 140, 141, 0, 0, 142, + 143, 0, 144, 0, 145, 146, 147, 148, 149, 150, + 151, 0, 152, 153, 154, 155, 156, 351, 0, 157, + 158, 159, 160, 161, 0, 0, 0, 162, 0, 163, + 352, 241, 1270, 310, 354, 355, 0, 0, 0, 0, + 0, 1271, 89, 90, 1272, 1273, 1274, 0, 0, 0, + 0, 0, 0, 1275, 1512, 0, 0, 1031, 322, 323, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 91, 329, 0, 0, 0, + 0, 0, 330, 0, 0, 0, 0, 0, 0, 333, + 0, 334, 0, 0, 0, 0, 0, 0, 0, 93, + 0, 0, 94, 0, 335, 0, 0, 0, 95, 96, + 0, 0, 0, 0, 97, 98, 99, 0, 336, 0, + 337, 100, 0, 1032, 0, 1033, 341, 101, 0, 102, + 103, 0, 0, 0, 0, 0, 0, 0, 104, 105, + 0, 0, 106, 0, 107, 0, 0, 0, 108, 109, + 0, 0, 0, 0, 0, 344, 345, 112, 113, 0, + 0, 0, 0, 347, 0, 0, 0, 0, 0, 0, + 349, 0, 0, 0, 0, 0, 0, 114, 115, 116, + 350, 0, 118, 119, 0, 120, 121, 0, 122, 0, + 0, 123, 124, 125, 126, 127, 0, 128, 129, 0, + 0, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 0, 0, 139, 0, 140, 141, 0, 0, 142, 143, + 0, 144, 0, 145, 146, 147, 148, 149, 150, 151, + 0, 152, 153, 154, 155, 156, 351, 0, 157, 158, + 159, 160, 161, 0, 0, 0, 162, 0, 163, 352, + 241, 1034, 310, 354, 355, 0, 0, 0, 0, 0, + 1035, 0, 0, 1036, 1037, 1038, 89, 90, 0, 0, + 0, 0, 1039, 1404, 0, 0, 0, 669, 0, 0, + 320, 321, 322, 323, 0, 0, 324, 0, 0, 0, + 0, 0, 0, 227, 325, 326, 327, 328, 0, 91, + 329, 0, 0, 0, 0, 0, 330, 0, 0, 0, + 0, 331, 332, 333, 0, 334, 0, 0, 670, 0, + 0, 0, 0, 93, 0, 0, 94, 0, 335, 0, + 0, 0, 95, 96, 671, 0, 0, 0, 97, 98, + 99, 0, 336, 0, 337, 100, 0, 338, 339, 340, + 341, 101, 0, 102, 103, 0, 0, 0, 0, 342, 0, 0, 104, 105, 0, 0, 106, 0, 107, 0, - 0, 0, 108, 109, 0, 0, 340, 0, 341, 342, - 112, 113, 0, 1093, 0, 343, 344, 0, 0, 0, - 345, 0, 0, 346, 0, 0, 0, 0, 0, 114, - 115, 116, 347, 0, 118, 119, 0, 120, 121, 0, + 0, 0, 108, 109, 0, 0, 343, 0, 0, 344, + 345, 112, 113, 0, 672, 0, 346, 347, 0, 0, + 0, 348, 0, 0, 349, 0, 0, 0, 0, 0, + 0, 114, 115, 116, 350, 0, 118, 119, 0, 120, + 121, 0, 122, 0, 0, 123, 124, 125, 126, 127, + 0, 128, 129, 0, 0, 130, 131, 132, 133, 134, + 135, 136, 137, 138, 0, 0, 139, 0, 140, 141, + 0, 228, 142, 143, 0, 144, 0, 145, 146, 147, + 148, 149, 150, 151, 0, 152, 153, 154, 155, 156, + 351, 0, 157, 158, 159, 160, 161, 0, 0, 0, + 162, 0, 163, 352, 241, 353, 310, 354, 355, 0, + 0, 0, 0, 0, 356, 0, 0, 358, 359, 360, + 89, 90, 0, 0, 0, 0, 361, 0, 0, 0, + 0, 1125, 0, 0, 320, 321, 322, 323, 0, 0, + 324, 0, 0, 0, 0, 0, 0, 227, 325, 326, + 327, 328, 0, 91, 329, 0, 0, 0, 0, 0, + 330, 0, 0, 0, 0, 331, 332, 333, 0, 334, + 0, 0, 670, 0, 0, 0, 0, 93, 0, 0, + 94, 0, 335, 0, 0, 0, 95, 96, 1126, 0, + 0, 0, 97, 98, 99, 0, 336, 0, 337, 100, + 0, 338, 339, 340, 341, 101, 0, 102, 103, 0, + 0, 0, 0, 342, 0, 0, 104, 105, 0, 0, + 106, 0, 107, 0, 0, 0, 108, 109, 0, 0, + 343, 0, 0, 344, 345, 112, 113, 0, 1127, 0, + 346, 347, 0, 0, 0, 348, 0, 0, 349, 0, + 0, 0, 0, 0, 0, 114, 115, 116, 350, 0, + 118, 119, 0, 120, 121, 0, 122, 0, 0, 123, + 124, 125, 126, 127, 0, 128, 129, 0, 0, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 0, 0, + 139, 0, 140, 141, 0, 228, 142, 143, 0, 144, + 0, 145, 146, 147, 148, 149, 150, 151, 0, 152, + 153, 154, 155, 156, 351, 0, 157, 158, 159, 160, + 161, 0, 0, 0, 162, 0, 163, 352, 241, 353, + 310, 354, 355, 0, 0, 0, 0, 0, 356, 0, + 0, 358, 359, 360, 89, 90, 0, 0, 0, 0, + 361, 0, 0, 0, 0, 1162, 0, 0, 320, 321, + 322, 323, 0, 0, 324, 0, 0, 0, 0, 0, + 0, 227, 325, 326, 327, 328, 0, 91, 329, 0, + 0, 0, 0, 0, 330, 0, 0, 0, 0, 331, + 332, 333, 0, 334, 0, 0, 670, 0, 0, 0, + 0, 93, 0, 0, 94, 0, 335, 0, 0, 0, + 95, 96, 1163, 0, 0, 0, 97, 98, 99, 0, + 336, 0, 337, 100, 0, 338, 339, 340, 341, 101, + 0, 102, 103, 0, 0, 0, 0, 342, 0, 0, + 104, 105, 0, 0, 106, 0, 107, 0, 0, 0, + 108, 109, 0, 0, 343, 0, 0, 344, 345, 112, + 113, 0, 1164, 0, 346, 347, 0, 0, 0, 348, + 0, 0, 349, 0, 0, 0, 0, 0, 0, 114, + 115, 116, 350, 0, 118, 119, 0, 120, 121, 0, 122, 0, 0, 123, 124, 125, 126, 127, 0, 128, 129, 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, 138, 0, 0, 139, 0, 140, 141, 0, 228, 142, 143, 0, 144, 0, 145, 146, 147, 148, 149, - 150, 151, 0, 152, 153, 154, 155, 156, 348, 0, + 150, 151, 0, 152, 153, 154, 155, 156, 351, 0, 157, 158, 159, 160, 161, 0, 0, 0, 162, 0, - 163, 349, 241, 350, 310, 351, 352, 89, 90, 0, - 0, 0, 353, 0, 0, 355, 356, 357, 1130, 0, - 0, 320, 321, 322, 358, 0, 0, 0, 0, 0, - 0, 0, 227, 323, 324, 325, 326, 0, 91, 327, - 0, 0, 0, 0, 0, 328, 0, 0, 0, 329, - 330, 331, 0, 332, 0, 0, 655, 0, 0, 0, - 0, 93, 0, 0, 94, 0, 333, 0, 0, 0, - 95, 96, 1131, 0, 0, 0, 97, 98, 99, 0, - 334, 0, 335, 100, 0, 336, 337, 338, 101, 0, - 102, 103, 0, 0, 0, 0, 339, 0, 0, 104, + 163, 352, 241, 353, 310, 354, 355, 0, 0, 0, + 0, 0, 356, 89, 90, 358, 359, 360, 0, 0, + 0, 0, 0, 0, 361, 0, 0, 320, 321, 322, + 323, 0, 0, 324, 0, 0, 0, 0, 0, 0, + 227, 325, 326, 327, 328, 0, 91, 329, 0, 0, + 0, 0, 0, 330, 0, 0, 0, 0, 331, 332, + 333, 0, 334, 0, 0, 0, 0, 0, 0, 0, + 93, 0, 0, 94, 0, 335, 0, 0, 0, 95, + 96, 0, 0, 0, 0, 97, 98, 99, 0, 336, + 0, 337, 100, 0, 338, 339, 340, 341, 101, 0, + 102, 103, 0, 0, 0, 0, 342, 0, 0, 104, 105, 0, 0, 106, 0, 107, 0, 0, 0, 108, - 109, 0, 0, 340, 0, 341, 342, 112, 113, 0, - 1132, 0, 343, 344, 0, 0, 0, 345, 0, 0, - 346, 0, 0, 0, 0, 0, 114, 115, 116, 347, - 0, 118, 119, 0, 120, 121, 0, 122, 0, 0, - 123, 124, 125, 126, 127, 0, 128, 129, 0, 0, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 0, - 0, 139, 0, 140, 141, 0, 228, 142, 143, 0, - 144, 0, 145, 146, 147, 148, 149, 150, 151, 0, - 152, 153, 154, 155, 156, 348, 0, 157, 158, 159, - 160, 161, 0, 0, 0, 162, 0, 163, 349, 241, - 350, 310, 351, 352, 89, 90, 0, 0, 0, 353, - 0, 0, 355, 356, 357, 0, 0, 0, 320, 321, - 322, 358, 0, 0, 0, 0, 0, 0, 0, 227, - 323, 324, 325, 326, 0, 91, 327, 0, 0, 0, - 0, 0, 328, 0, 0, 0, 329, 330, 331, 0, - 332, 0, 0, 0, 0, 0, 0, 0, 93, 0, - 0, 94, 0, 333, 0, 0, 0, 95, 96, 0, - 0, 0, 0, 97, 98, 99, 0, 334, 0, 335, - 100, 0, 336, 337, 338, 101, 0, 102, 103, 0, - 0, 0, 0, 339, 0, 0, 104, 105, 0, 0, - 106, 0, 107, 0, 0, 0, 108, 109, 0, 0, - 340, 0, 341, 342, 112, 113, 0, 0, 0, 343, - 344, 0, 0, 0, 345, 0, 0, 346, 0, 0, - 0, 0, 0, 114, 115, 116, 347, 0, 118, 119, + 109, 0, 0, 343, 0, 0, 344, 345, 112, 113, + 0, 0, 0, 346, 347, 0, 0, 0, 348, 0, + 0, 349, 0, 0, 0, 0, 0, 0, 114, 115, + 116, 350, 0, 118, 119, 0, 120, 121, 0, 122, + 0, 0, 123, 124, 125, 126, 127, 0, 128, 129, + 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, + 138, 0, 0, 139, 0, 140, 141, 0, 228, 142, + 143, 0, 144, 0, 145, 146, 147, 148, 149, 150, + 151, 0, 152, 153, 154, 155, 156, 351, 0, 157, + 158, 159, 160, 161, 0, 0, 0, 162, 0, 163, + 352, 241, 353, 310, 354, 355, 0, 0, 0, 0, + 0, 356, 357, 0, 358, 359, 360, 0, 89, 90, + 0, 758, 0, 361, 759, 0, 0, 0, 0, 0, + 0, 0, 320, 321, 322, 323, 0, 0, 324, 0, + 0, 0, 0, 0, 0, 227, 325, 326, 327, 328, + 0, 91, 329, 0, 0, 0, 0, 0, 330, 0, + 0, 0, 0, 331, 332, 333, 0, 334, 0, 0, + 0, 0, 0, 0, 0, 93, 0, 0, 94, 0, + 335, 0, 0, 0, 95, 96, 0, 0, 0, 0, + 97, 98, 99, 0, 336, 0, 337, 100, 0, 338, + 339, 0, 341, 101, 0, 102, 103, 0, 0, 0, + 0, 342, 0, 0, 104, 105, 0, 0, 106, 0, + 107, 0, 0, 0, 108, 109, 0, 0, 343, 0, + 0, 344, 345, 112, 113, 0, 0, 0, 346, 347, + 0, 0, 0, 348, 0, 0, 349, 0, 0, 0, + 0, 0, 0, 114, 115, 116, 350, 0, 118, 119, 0, 120, 121, 0, 122, 0, 0, 123, 124, 125, 126, 127, 0, 128, 129, 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, 138, 0, 0, 139, 0, 140, 141, 0, 228, 142, 143, 0, 144, 0, 145, 146, 147, 148, 149, 150, 151, 0, 152, 153, 154, - 155, 156, 348, 0, 157, 158, 159, 160, 161, 0, - 0, 0, 162, 0, 163, 349, 241, 350, 310, 351, - 352, 0, 0, 0, 0, 0, 353, 354, 0, 355, - 356, 357, 0, 89, 90, 0, 736, 0, 358, 737, + 155, 156, 351, 0, 157, 158, 159, 160, 161, 0, + 0, 0, 162, 0, 163, 352, 241, 353, 310, 354, + 355, 0, 0, 0, 0, 0, 356, 0, 0, 358, + 359, 360, 0, 89, 90, 0, 762, 0, 760, 763, 0, 0, 0, 0, 0, 0, 0, 320, 321, 322, - 0, 0, 0, 0, 0, 0, 0, 0, 227, 323, - 324, 325, 326, 0, 91, 327, 0, 0, 0, 0, - 0, 328, 0, 0, 0, 329, 330, 331, 0, 332, - 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, - 94, 0, 333, 0, 0, 0, 95, 96, 0, 0, - 0, 0, 97, 98, 99, 0, 334, 0, 335, 100, - 0, 336, 0, 338, 101, 0, 102, 103, 0, 0, - 0, 0, 339, 0, 0, 104, 105, 0, 0, 106, - 0, 107, 0, 0, 0, 108, 109, 0, 0, 340, - 0, 341, 342, 112, 113, 0, 0, 0, 343, 344, - 0, 0, 0, 345, 0, 0, 346, 0, 0, 0, - 0, 0, 114, 115, 116, 347, 0, 118, 119, 0, - 120, 121, 0, 122, 0, 0, 123, 124, 125, 126, - 127, 0, 128, 129, 0, 0, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 0, 0, 139, 0, 140, - 141, 0, 228, 142, 143, 0, 144, 0, 145, 146, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 348, 0, 157, 158, 159, 160, 161, 0, 0, - 0, 162, 0, 163, 349, 241, 350, 310, 351, 352, - 89, 90, 0, 740, 0, 353, 741, 0, 355, 356, - 357, 0, 0, 0, 320, 321, 322, 738, 0, 0, - 0, 0, 0, 0, 0, 227, 323, 324, 325, 326, - 0, 91, 327, 0, 0, 0, 0, 0, 328, 0, - 0, 0, 329, 330, 331, 0, 332, 0, 0, 0, - 0, 0, 0, 0, 93, 0, 0, 94, 0, 333, - 0, 0, 0, 95, 96, 0, 0, 0, 0, 97, - 98, 99, 0, 334, 0, 335, 100, 0, 336, 0, - 338, 101, 0, 102, 103, 0, 0, 0, 0, 339, - 0, 0, 104, 105, 0, 0, 106, 0, 107, 0, - 0, 0, 108, 109, 0, 0, 340, 0, 341, 342, - 112, 113, 0, 0, 0, 343, 344, 0, 0, 0, - 345, 0, 0, 346, 0, 0, 0, 0, 0, 114, - 115, 116, 347, 0, 118, 119, 0, 120, 121, 0, - 122, 0, 0, 123, 124, 125, 126, 127, 0, 128, - 129, 0, 0, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 0, 0, 139, 0, 140, 141, 0, 228, - 142, 143, 0, 144, 0, 145, 146, 147, 148, 149, - 150, 151, 0, 152, 153, 154, 155, 156, 348, 0, - 157, 158, 159, 160, 161, 0, 0, 0, 162, 0, - 163, 349, 241, 350, 310, 351, 352, 89, 90, 0, - 744, 0, 353, 745, 0, 355, 356, 357, 0, 0, - 0, 320, 321, 322, 742, 0, 0, 0, 0, 0, - 0, 0, 227, 323, 324, 325, 326, 0, 91, 327, - 0, 0, 0, 0, 0, 328, 0, 0, 0, 329, - 330, 331, 0, 332, 0, 0, 0, 0, 0, 0, - 0, 93, 0, 0, 94, 0, 333, 0, 0, 0, - 95, 96, 0, 0, 0, 0, 97, 98, 99, 0, - 334, 0, 335, 100, 0, 336, 0, 338, 101, 0, - 102, 103, 0, 0, 0, 0, 339, 0, 0, 104, + 323, 0, 0, 324, 0, 0, 0, 0, 0, 0, + 227, 325, 326, 327, 328, 0, 91, 329, 0, 0, + 0, 0, 0, 330, 0, 0, 0, 0, 331, 332, + 333, 0, 334, 0, 0, 0, 0, 0, 0, 0, + 93, 0, 0, 94, 0, 335, 0, 0, 0, 95, + 96, 0, 0, 0, 0, 97, 98, 99, 0, 336, + 0, 337, 100, 0, 338, 339, 0, 341, 101, 0, + 102, 103, 0, 0, 0, 0, 342, 0, 0, 104, 105, 0, 0, 106, 0, 107, 0, 0, 0, 108, - 109, 0, 0, 340, 0, 341, 342, 112, 113, 0, - 0, 0, 343, 344, 0, 0, 0, 345, 0, 0, - 346, 0, 0, 0, 0, 0, 114, 115, 116, 347, - 0, 118, 119, 0, 120, 121, 0, 122, 0, 0, - 123, 124, 125, 126, 127, 0, 128, 129, 0, 0, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 0, - 0, 139, 0, 140, 141, 0, 228, 142, 143, 0, - 144, 0, 145, 146, 147, 148, 149, 150, 151, 0, - 152, 153, 154, 155, 156, 348, 0, 157, 158, 159, - 160, 161, 0, 0, 0, 162, 0, 163, 349, 241, - 350, 310, 351, 352, 89, 90, 0, 748, 0, 353, - 749, 0, 355, 356, 357, 0, 0, 0, 320, 321, - 322, 746, 0, 0, 0, 0, 0, 0, 0, 227, - 323, 324, 325, 326, 0, 91, 327, 0, 0, 0, - 0, 0, 328, 0, 0, 0, 329, 330, 331, 0, - 332, 0, 0, 0, 0, 0, 0, 0, 93, 0, - 0, 94, 0, 333, 0, 0, 0, 95, 96, 0, - 0, 0, 0, 97, 98, 99, 0, 334, 0, 335, - 100, 0, 336, 0, 338, 101, 0, 102, 103, 0, - 0, 0, 0, 339, 0, 0, 104, 105, 0, 0, - 106, 0, 107, 0, 0, 0, 108, 109, 0, 0, - 340, 0, 341, 342, 112, 113, 0, 0, 0, 343, - 344, 0, 0, 0, 345, 0, 0, 346, 0, 0, - 0, 0, 0, 114, 115, 116, 347, 0, 118, 119, + 109, 0, 0, 343, 0, 0, 344, 345, 112, 113, + 0, 0, 0, 346, 347, 0, 0, 0, 348, 0, + 0, 349, 0, 0, 0, 0, 0, 0, 114, 115, + 116, 350, 0, 118, 119, 0, 120, 121, 0, 122, + 0, 0, 123, 124, 125, 126, 127, 0, 128, 129, + 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, + 138, 0, 0, 139, 0, 140, 141, 0, 228, 142, + 143, 0, 144, 0, 145, 146, 147, 148, 149, 150, + 151, 0, 152, 153, 154, 155, 156, 351, 0, 157, + 158, 159, 160, 161, 0, 0, 0, 162, 0, 163, + 352, 241, 353, 310, 354, 355, 0, 0, 0, 0, + 0, 356, 0, 0, 358, 359, 360, 0, 89, 90, + 0, 766, 0, 764, 767, 0, 0, 0, 0, 0, + 0, 0, 320, 321, 322, 323, 0, 0, 324, 0, + 0, 0, 0, 0, 0, 227, 325, 326, 327, 328, + 0, 91, 329, 0, 0, 0, 0, 0, 330, 0, + 0, 0, 0, 331, 332, 333, 0, 334, 0, 0, + 0, 0, 0, 0, 0, 93, 0, 0, 94, 0, + 335, 0, 0, 0, 95, 96, 0, 0, 0, 0, + 97, 98, 99, 0, 336, 0, 337, 100, 0, 338, + 339, 0, 341, 101, 0, 102, 103, 0, 0, 0, + 0, 342, 0, 0, 104, 105, 0, 0, 106, 0, + 107, 0, 0, 0, 108, 109, 0, 0, 343, 0, + 0, 344, 345, 112, 113, 0, 0, 0, 346, 347, + 0, 0, 0, 348, 0, 0, 349, 0, 0, 0, + 0, 0, 0, 114, 115, 116, 350, 0, 118, 119, 0, 120, 121, 0, 122, 0, 0, 123, 124, 125, 126, 127, 0, 128, 129, 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, 138, 0, 0, 139, 0, 140, 141, 0, 228, 142, 143, 0, 144, 0, 145, 146, 147, 148, 149, 150, 151, 0, 152, 153, 154, - 155, 156, 348, 0, 157, 158, 159, 160, 161, 0, - 0, 0, 162, 0, 163, 349, 241, 350, 310, 351, - 352, 89, 90, 0, 752, 0, 353, 753, 0, 355, - 356, 357, 0, 0, 0, 320, 321, 322, 750, 0, - 0, 0, 0, 0, 0, 0, 227, 323, 324, 325, - 326, 0, 91, 327, 0, 0, 0, 0, 0, 328, - 0, 0, 0, 329, 330, 331, 0, 332, 0, 0, + 155, 156, 351, 0, 157, 158, 159, 160, 161, 0, + 0, 0, 162, 0, 163, 352, 241, 353, 310, 354, + 355, 0, 0, 0, 0, 0, 356, 0, 0, 358, + 359, 360, 0, 89, 90, 0, 770, 0, 768, 771, + 0, 0, 0, 0, 0, 0, 0, 320, 321, 322, + 323, 0, 0, 324, 0, 0, 0, 0, 0, 0, + 227, 325, 326, 327, 328, 0, 91, 329, 0, 0, + 0, 0, 0, 330, 0, 0, 0, 0, 331, 332, + 333, 0, 334, 0, 0, 0, 0, 0, 0, 0, + 93, 0, 0, 94, 0, 335, 0, 0, 0, 95, + 96, 0, 0, 0, 0, 97, 98, 99, 0, 336, + 0, 337, 100, 0, 338, 339, 0, 341, 101, 0, + 102, 103, 0, 0, 0, 0, 342, 0, 0, 104, + 105, 0, 0, 106, 0, 107, 0, 0, 0, 108, + 109, 0, 0, 343, 0, 0, 344, 345, 112, 113, + 0, 0, 0, 346, 347, 0, 0, 0, 348, 0, + 0, 349, 0, 0, 0, 0, 0, 0, 114, 115, + 116, 350, 0, 118, 119, 0, 120, 121, 0, 122, + 0, 0, 123, 124, 125, 126, 127, 0, 128, 129, + 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, + 138, 0, 0, 139, 0, 140, 141, 0, 228, 142, + 143, 0, 144, 0, 145, 146, 147, 148, 149, 150, + 151, 0, 152, 153, 154, 155, 156, 351, 0, 157, + 158, 159, 160, 161, 0, 0, 0, 162, 0, 163, + 352, 241, 353, 310, 354, 355, 0, 0, 0, 0, + 0, 356, 0, 0, 358, 359, 360, 0, 89, 90, + 0, 774, 0, 772, 775, 0, 0, 0, 0, 0, + 0, 0, 320, 321, 322, 323, 0, 0, 324, 0, + 0, 0, 0, 0, 0, 227, 325, 326, 327, 328, + 0, 91, 329, 0, 0, 0, 0, 0, 330, 0, + 0, 0, 0, 331, 332, 333, 0, 334, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 94, 0, - 333, 0, 0, 0, 95, 96, 0, 0, 0, 0, - 97, 98, 99, 0, 334, 0, 335, 100, 0, 336, - 0, 338, 101, 0, 102, 103, 0, 0, 0, 0, - 339, 0, 0, 104, 105, 0, 0, 106, 0, 107, - 0, 0, 0, 108, 109, 0, 0, 340, 0, 341, - 342, 112, 113, 0, 0, 0, 343, 344, 0, 0, - 0, 345, 0, 0, 346, 0, 0, 0, 0, 0, - 114, 115, 116, 347, 0, 118, 119, 0, 120, 121, - 0, 122, 0, 0, 123, 124, 125, 126, 127, 0, - 128, 129, 0, 0, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 0, 0, 139, 0, 140, 141, 0, - 228, 142, 143, 0, 144, 0, 145, 146, 147, 148, - 149, 150, 151, 0, 152, 153, 154, 155, 156, 348, - 0, 157, 158, 159, 160, 161, 0, 0, 0, 162, - 0, 163, 349, 241, 350, 310, 351, 352, 89, 90, - 0, 756, 0, 353, 757, 0, 355, 356, 357, 0, - 0, 0, 320, 321, 322, 754, 0, 0, 0, 0, - 0, 0, 0, 227, 323, 324, 325, 326, 0, 91, - 327, 0, 0, 0, 0, 0, 328, 0, 0, 0, - 329, 330, 331, 0, 332, 0, 0, 0, 0, 0, - 0, 0, 93, 0, 0, 94, 0, 333, 0, 0, - 0, 95, 96, 0, 0, 0, 0, 97, 98, 99, - 0, 334, 0, 335, 100, 0, 336, 0, 338, 101, - 0, 102, 103, 0, 0, 0, 0, 339, 0, 0, - 104, 105, 0, 0, 106, 0, 107, 0, 0, 0, - 108, 109, 0, 0, 340, 0, 341, 342, 112, 113, - 0, 0, 0, 343, 344, 0, 0, 0, 345, 0, - 0, 346, 0, 0, 0, 0, 0, 114, 115, 116, - 347, 0, 118, 119, 0, 120, 121, 0, 122, 0, - 0, 123, 124, 125, 126, 127, 0, 128, 129, 0, - 0, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 0, 0, 139, 0, 140, 141, 0, 228, 142, 143, - 0, 144, 0, 145, 146, 147, 148, 149, 150, 151, - 0, 152, 153, 154, 155, 156, 348, 0, 157, 158, - 159, 160, 161, 0, 0, 0, 162, 0, 163, 349, - 241, 350, 310, 351, 352, 89, 90, 0, 760, 0, - 353, 761, 0, 355, 356, 357, 0, 0, 0, 320, - 321, 322, 758, 0, 0, 0, 0, 0, 0, 0, - 227, 323, 324, 325, 326, 0, 91, 327, 0, 0, - 0, 0, 0, 328, 0, 0, 0, 329, 330, 331, - 0, 332, 0, 0, 0, 0, 0, 0, 0, 93, - 0, 0, 94, 0, 333, 0, 0, 0, 95, 96, - 0, 0, 0, 0, 97, 98, 99, 0, 334, 0, - 335, 100, 0, 336, 0, 338, 101, 0, 102, 103, - 0, 0, 0, 0, 339, 0, 0, 104, 105, 0, - 0, 106, 0, 107, 0, 0, 0, 108, 109, 0, - 0, 340, 0, 341, 342, 112, 113, 0, 0, 0, - 343, 344, 0, 0, 0, 345, 0, 0, 346, 0, - 0, 0, 0, 0, 114, 115, 116, 347, 0, 118, - 119, 0, 120, 121, 0, 122, 0, 0, 123, 124, - 125, 126, 127, 0, 128, 129, 0, 0, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 0, 0, 139, - 0, 140, 141, 0, 228, 142, 143, 0, 144, 0, - 145, 146, 147, 148, 149, 150, 151, 0, 152, 153, - 154, 155, 156, 348, 0, 157, 158, 159, 160, 161, - 0, 0, 0, 162, 0, 163, 349, 241, 350, 310, - 351, 352, 89, 90, 0, 0, 0, 353, 0, 0, - 355, 356, 357, 0, 0, 0, 320, 321, 322, 762, - 0, 0, 0, 0, 0, 0, 0, 227, 323, 324, - 325, 326, 0, 91, 327, 0, 0, 0, 0, 0, - 328, 0, 0, 0, 329, 330, 331, 0, 332, 0, - 0, 655, 0, 0, 0, 0, 93, 0, 0, 94, - 0, 333, 0, 0, 0, 95, 96, 0, 0, 0, - 0, 97, 98, 99, 0, 334, 0, 335, 100, 0, - 336, 337, 338, 101, 0, 102, 103, 0, 0, 0, - 0, 339, 0, 0, 104, 105, 0, 0, 106, 0, - 107, 0, 0, 0, 108, 109, 0, 0, 340, 0, - 341, 342, 112, 113, 0, 0, 0, 343, 344, 0, - 0, 0, 345, 0, 0, 346, 0, 0, 0, 0, - 0, 114, 115, 116, 347, 0, 118, 119, 0, 120, - 121, 0, 122, 0, 0, 123, 124, 125, 126, 127, - 0, 128, 129, 0, 0, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 0, 0, 139, 0, 140, 141, - 0, 228, 142, 143, 0, 144, 0, 145, 146, 147, - 148, 149, 150, 151, 0, 152, 153, 154, 155, 156, - 348, 0, 157, 158, 159, 160, 161, 0, 0, 0, - 162, 0, 163, 349, 241, 350, 310, 351, 352, 89, - 90, 0, 0, 0, 353, 0, 0, 355, 356, 357, - 0, 0, 0, 320, 321, 322, 358, 0, 0, 0, - 0, 0, 0, 0, 227, 323, 324, 325, 326, 0, - 91, 327, 0, 0, 0, 0, 0, 328, 0, 0, - 0, 329, 330, 331, 0, 332, 0, 0, 0, 0, - 0, 0, 0, 93, 0, 0, 94, 0, 333, 0, - 0, 0, 95, 96, 0, 0, 0, 0, 97, 98, - 99, 0, 334, 0, 335, 100, 0, 336, 337, 338, - 101, 0, 102, 103, 0, 0, 0, 0, 339, 0, - 0, 104, 105, 0, 0, 106, 0, 107, 0, 0, - 0, 108, 109, 621, 0, 340, 0, 341, 342, 112, - 113, 0, 0, 0, 343, 344, 0, 0, 0, 345, - 0, 0, 346, 0, 0, 0, 0, 0, 114, 115, - 116, 347, 0, 118, 119, 0, 120, 121, 0, 122, + 335, 0, 0, 0, 95, 96, 0, 0, 0, 0, + 97, 98, 99, 0, 336, 0, 337, 100, 0, 338, + 339, 0, 341, 101, 0, 102, 103, 0, 0, 0, + 0, 342, 0, 0, 104, 105, 0, 0, 106, 0, + 107, 0, 0, 0, 108, 109, 0, 0, 343, 0, + 0, 344, 345, 112, 113, 0, 0, 0, 346, 347, + 0, 0, 0, 348, 0, 0, 349, 0, 0, 0, + 0, 0, 0, 114, 115, 116, 350, 0, 118, 119, + 0, 120, 121, 0, 122, 0, 0, 123, 124, 125, + 126, 127, 0, 128, 129, 0, 0, 130, 131, 132, + 133, 134, 135, 136, 137, 138, 0, 0, 139, 0, + 140, 141, 0, 228, 142, 143, 0, 144, 0, 145, + 146, 147, 148, 149, 150, 151, 0, 152, 153, 154, + 155, 156, 351, 0, 157, 158, 159, 160, 161, 0, + 0, 0, 162, 0, 163, 352, 241, 353, 310, 354, + 355, 0, 0, 0, 0, 0, 356, 0, 0, 358, + 359, 360, 0, 89, 90, 0, 778, 0, 776, 779, + 0, 0, 0, 0, 0, 0, 0, 320, 321, 322, + 323, 0, 0, 324, 0, 0, 0, 0, 0, 0, + 227, 325, 326, 327, 328, 0, 91, 329, 0, 0, + 0, 0, 0, 330, 0, 0, 0, 0, 331, 332, + 333, 0, 334, 0, 0, 0, 0, 0, 0, 0, + 93, 0, 0, 94, 0, 335, 0, 0, 0, 95, + 96, 0, 0, 0, 0, 97, 98, 99, 0, 336, + 0, 337, 100, 0, 338, 339, 0, 341, 101, 0, + 102, 103, 0, 0, 0, 0, 342, 0, 0, 104, + 105, 0, 0, 106, 0, 107, 0, 0, 0, 108, + 109, 0, 0, 343, 0, 0, 344, 345, 112, 113, + 0, 0, 0, 346, 347, 0, 0, 0, 348, 0, + 0, 349, 0, 0, 0, 0, 0, 0, 114, 115, + 116, 350, 0, 118, 119, 0, 120, 121, 0, 122, 0, 0, 123, 124, 125, 126, 127, 0, 128, 129, 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, 138, 0, 0, 139, 0, 140, 141, 0, 228, 142, 143, 0, 144, 0, 145, 146, 147, 148, 149, 150, - 151, 0, 152, 153, 154, 155, 156, 348, 0, 157, + 151, 0, 152, 153, 154, 155, 156, 351, 0, 157, 158, 159, 160, 161, 0, 0, 0, 162, 0, 163, - 349, 241, 350, 310, 351, 352, 89, 90, 0, 0, - 0, 353, 0, 0, 355, 356, 357, 0, 0, 0, - 320, 321, 322, 358, 0, 0, 0, 0, 0, 0, - 0, 227, 323, 324, 325, 326, 0, 91, 327, 0, - 0, 0, 0, 0, 328, 0, 0, 0, 329, 330, - 331, 0, 332, 0, 0, 0, 0, 0, 0, 0, - 93, 0, 0, 94, 0, 333, 0, 0, 0, 95, - 96, 0, 0, 0, 0, 97, 98, 99, 0, 334, - 0, 335, 100, 0, 336, 337, 338, 101, 0, 102, - 103, 0, 0, 0, 0, 339, 0, 0, 104, 105, - 0, 0, 106, 0, 107, 0, 0, 0, 108, 109, - 0, 0, 340, 0, 341, 342, 112, 113, 0, 0, - 0, 343, 344, 0, 0, 0, 345, 0, 0, 346, - 0, 0, 0, 0, 0, 114, 115, 116, 347, 0, - 118, 119, 0, 120, 121, 0, 122, 0, 0, 123, - 124, 125, 126, 127, 0, 128, 129, 0, 0, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 0, 0, - 139, 0, 140, 141, 0, 228, 142, 143, 0, 144, - 0, 145, 146, 147, 148, 149, 150, 151, 0, 152, - 153, 154, 155, 156, 348, 0, 157, 158, 159, 160, - 161, 0, 0, 0, 162, 0, 163, 349, 241, 350, - 310, 351, 352, 89, 90, 0, 732, 0, 353, 733, - 0, 355, 356, 357, 0, 0, 0, 320, 321, 322, - 358, 0, 0, 0, 0, 0, 0, 0, 227, 323, - 324, 325, 326, 0, 91, 327, 0, 0, 0, 0, - 0, 328, 0, 0, 0, 329, 330, 331, 0, 332, - 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, - 94, 0, 333, 0, 0, 0, 95, 96, 0, 0, - 0, 0, 97, 98, 99, 0, 334, 0, 335, 100, - 0, 0, 0, 338, 101, 0, 102, 103, 0, 0, - 0, 0, 339, 0, 0, 104, 105, 0, 0, 106, - 0, 107, 0, 0, 0, 108, 109, 0, 0, 340, - 0, 341, 342, 112, 113, 0, 0, 0, 343, 344, - 0, 0, 0, 345, 0, 0, 346, 0, 0, 0, - 0, 0, 114, 115, 116, 347, 0, 118, 119, 0, + 352, 241, 353, 310, 354, 355, 0, 0, 0, 0, + 0, 356, 0, 0, 358, 359, 360, 0, 89, 90, + 0, 782, 0, 780, 783, 0, 0, 0, 0, 0, + 0, 0, 320, 321, 322, 323, 0, 0, 324, 0, + 0, 0, 0, 0, 0, 227, 325, 326, 327, 328, + 0, 91, 329, 0, 0, 0, 0, 0, 330, 0, + 0, 0, 0, 331, 332, 333, 0, 334, 0, 0, + 0, 0, 0, 0, 0, 93, 0, 0, 94, 0, + 335, 0, 0, 0, 95, 96, 0, 0, 0, 0, + 97, 98, 99, 0, 336, 0, 337, 100, 0, 338, + 339, 0, 341, 101, 0, 102, 103, 0, 0, 0, + 0, 342, 0, 0, 104, 105, 0, 0, 106, 0, + 107, 0, 0, 0, 108, 109, 0, 0, 343, 0, + 0, 344, 345, 112, 113, 0, 0, 0, 346, 347, + 0, 0, 0, 348, 0, 0, 349, 0, 0, 0, + 0, 0, 0, 114, 115, 116, 350, 0, 118, 119, + 0, 120, 121, 0, 122, 0, 0, 123, 124, 125, + 126, 127, 0, 128, 129, 0, 0, 130, 131, 132, + 133, 134, 135, 136, 137, 138, 0, 0, 139, 0, + 140, 141, 0, 228, 142, 143, 0, 144, 0, 145, + 146, 147, 148, 149, 150, 151, 0, 152, 153, 154, + 155, 156, 351, 0, 157, 158, 159, 160, 161, 0, + 0, 0, 162, 0, 163, 352, 241, 353, 310, 354, + 355, 0, 0, 0, 0, 0, 356, 89, 90, 358, + 359, 360, 0, 0, 0, 0, 0, 0, 784, 0, + 0, 320, 321, 322, 323, 0, 0, 324, 0, 0, + 0, 0, 0, 0, 227, 325, 326, 327, 328, 0, + 91, 329, 0, 0, 0, 0, 0, 330, 0, 0, + 0, 0, 331, 332, 333, 0, 334, 0, 0, 670, + 0, 0, 0, 0, 93, 0, 0, 94, 0, 335, + 0, 0, 0, 95, 96, 0, 0, 0, 0, 97, + 98, 99, 0, 336, 0, 337, 100, 0, 338, 339, + 340, 341, 101, 0, 102, 103, 0, 0, 0, 0, + 342, 0, 0, 104, 105, 0, 0, 106, 0, 107, + 0, 0, 0, 108, 109, 0, 0, 343, 0, 0, + 344, 345, 112, 113, 0, 0, 0, 346, 347, 0, + 0, 0, 348, 0, 0, 349, 0, 0, 0, 0, + 0, 0, 114, 115, 116, 350, 0, 118, 119, 0, 120, 121, 0, 122, 0, 0, 123, 124, 125, 126, 127, 0, 128, 129, 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, 138, 0, 0, 139, 0, 140, 141, 0, 228, 142, 143, 0, 144, 0, 145, 146, 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 348, 0, 157, 158, 159, 160, 161, 0, 0, - 0, 162, 0, 163, 349, 241,-32768, 310, 351, 352, - 89, 90, 0, 0, 0, 353, 0, 0, 355, 356, - 357, 0, 0, 0, 320, 321, 322, 734, 0, 0, - 0, 0, 0, 0, 0, 227, 323, 324, 325, 326, - 0, 91, 327, 0, 0, 0, 0, 0, 328, 0, - 0, 0, 329, 330, 331, 0, 332, 0, 0, 0, - 0, 0, 0, 0, 93, 0, 0, 94, 0, 333, - 0, 0, 0, 95, 96, 0, 0, 0, 0, 97, - 98, 99, 0, 334, 0, 335, 100, 0, 336, 0, - 338, 101, 0, 102, 103, 0, 0, 0, 0, 339, + 156, 351, 0, 157, 158, 159, 160, 161, 0, 0, + 0, 162, 0, 163, 352, 241, 353, 310, 354, 355, + 0, 0, 0, 0, 0, 356, 89, 90, 358, 359, + 360, 0, 0, 0, 0, 0, 0, 361, 0, 0, + 320, 321, 322, 323, 0, 0, 324, 0, 0, 0, + 0, 0, 0, 227, 325, 326, 327, 328, 0, 91, + 329, 0, 0, 0, 0, 0, 330, 0, 0, 0, + 0, 331, 332, 333, 0, 334, 0, 0, 0, 0, + 0, 0, 0, 93, 0, 0, 94, 0, 335, 0, + 0, 0, 95, 96, 0, 0, 0, 0, 97, 98, + 99, 0, 336, 0, 337, 100, 0, 338, 339, 340, + 341, 101, 0, 102, 103, 0, 0, 0, 0, 342, 0, 0, 104, 105, 0, 0, 106, 0, 107, 0, - 0, 0, 108, 109, 621, 0, 340, 0, 341, 342, - 112, 113, 0, 0, 0, 343, 344, 0, 0, 0, - 345, 0, 0, 346, 0, 0, 0, 0, 0, 114, - 115, 116, 347, 0, 118, 119, 0, 120, 121, 0, - 122, 0, 0, 123, 124, 125, 126, 127, 0, 128, - 129, 0, 0, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 0, 0, 139, 0, 140, 141, 0, 228, - 142, 143, 0, 144, 0, 145, 146, 147, 148, 149, - 150, 151, 0, 152, 153, 154, 155, 156, 348, 0, - 157, 158, 159, 160, 161, 0, 0, 0, 162, 0, - 163, 349, 241, 350, 310, 351, 352, 89, 90, 0, - 0, 0, 353, 0, 0, 355, 356, 357, 0, 0, - 0, 320, 321, 322, 358, 0, 0, 0, 0, 0, - 0, 0, 227, 323, 324, 325, 326, 0, 91, 327, - 0, 0, 0, 0, 0, 328, 0, 0, 0, 329, - 330, 331, 0, 332, 0, 0, 0, 0, 0, 0, - 0, 93, 0, 0, 94, 0, 333, 0, 0, 0, - 95, 96, 0, 0, 0, 0, 97, 98, 99, 0, - 334, 0, 335, 100, 0, 336, 0, 338, 101, 0, - 102, 103, 0, 0, 0, 0, 339, 0, 0, 104, - 105, 0, 0, 106, 0, 107, 0, 0, 0, 108, - 109, 0, 0, 340, 0, 341, 342, 112, 113, 0, - 0, 0, 343, 344, 0, 0, 0, 345, 0, 0, - 346, 0, 0, 0, 0, 0, 114, 115, 116, 347, - 0, 118, 119, 0, 120, 121, 0, 122, 0, 0, - 123, 124, 125, 126, 127, 0, 128, 129, 0, 0, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 0, - 0, 139, 0, 140, 141, 0, 228, 142, 143, 0, - 144, 0, 145, 146, 147, 148, 149, 150, 151, 0, - 152, 153, 154, 155, 156, 348, 0, 157, 158, 159, - 160, 161, 0, 0, 0, 162, 0, 163, 349, 241, - 350, 310, 351, 352, 89, 90, 0, 0, 0, 353, - 0, 0, 355, 356, 357, 0, 0, 0, 702, 321, - 322, 358, 0, 0, 0, 0, 0, 0, 0, 227, - 703, 704, 705, 706, 0, 91, 327, 0, 0, 0, - 0, 0, 328, 0, 0, 0, 0, 0, 331, 0, - 332, 0, 0, 0, 0, 0, 0, 0, 93, 0, - 0, 94, 0, 333, 0, 0, 0, 95, 96, 0, - 0, 0, 0, 97, 98, 99, 0, 334, 0, 335, - 100, 0, 0, 0, 338, 101, 0, 102, 103, 0, - 0, 0, 0, 707, 0, 0, 104, 105, 0, 0, - 106, 0, 107, 0, 0, 0, 108, 109, 0, 0, - 708, 0, 341, 342, 112, 113, 0, 0, 0, 709, - 344, 0, 0, 0, 710, 0, 0, 346, 0, 0, - 0, 0, 0, 114, 115, 116, 347, 0, 118, 119, - 0, 120, 121, 0, 122, 0, 0, 123, 124, 125, - 126, 127, 0, 128, 129, 0, 0, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 0, 0, 139, 0, - 140, 141, 0, 228, 142, 143, 0, 144, 0, 145, - 146, 147, 148, 149, 150, 151, 0, 152, 153, 154, - 155, 156, 348, 0, 157, 158, 159, 160, 161, 0, - 0, 0, 162, 0, 163, 349, 241, 711, 310, 351, - 352, 89, 90, 0, 0, 0, 712, 0, 0, 713, - 714, 715, 0, 0, 0, 702, 321, 322, 716, 0, - 0, 0, 0, 0, 0, 0, 227, 703, 704, 705, - 706, 0, 91, 327, 0, 0, 0, 0, 0, 328, - 0, 0, 0, 0, 0, 331, 0, 332, 0, 0, - 0, 0, 0, 0, 0, 93, 0, 0, 94, 0, - 333, 0, 0, 0, 95, 96, 0, 0, 0, 0, - 97, 98, 99, 0, 334, 0, 335, 100, 0, 0, - 0, 338, 101, 0, 102, 103, 0, 0, 0, 0, - 707, 0, 0, 104, 105, 0, 0, 106, 0, 107, - 0, 0, 0, 108, 109, 0, 0, 708, 0, 341, - 342, 112, 113, 0, 0, 0, 709, 344, 0, 0, - 0, 710, 0, 0, 346, 0, 0, 0, 0, 0, - 114, 115, 116, 347, 0, 118, 119, 0, 120, 121, + 0, 0, 108, 109, 637, 0, 343, 0, 0, 344, + 345, 112, 113, 0, 0, 0, 346, 347, 0, 0, + 0, 348, 0, 0, 349, 0, 0, 0, 0, 0, + 0, 114, 115, 116, 350, 0, 118, 119, 0, 120, + 121, 0, 122, 0, 0, 123, 124, 125, 126, 127, + 0, 128, 129, 0, 0, 130, 131, 132, 133, 134, + 135, 136, 137, 138, 0, 0, 139, 0, 140, 141, + 0, 228, 142, 143, 0, 144, 0, 145, 146, 147, + 148, 149, 150, 151, 0, 152, 153, 154, 155, 156, + 351, 0, 157, 158, 159, 160, 161, 0, 0, 0, + 162, 0, 163, 352, 241, 353, 310, 354, 355, 0, + 0, 0, 0, 0, 356, 89, 90, 358, 359, 360, + 0, 0, 0, 0, 0, 0, 361, 0, 0, 320, + 321, 322, 323, 0, 0, 324, 0, 0, 0, 0, + 0, 0, 227, 325, 326, 327, 328, 0, 91, 329, + 0, 0, 0, 0, 0, 330, 0, 0, 0, 0, + 331, 332, 333, 0, 334, 0, 0, 0, 0, 0, + 0, 0, 93, 0, 0, 94, 0, 335, 0, 0, + 0, 95, 96, 0, 0, 0, 0, 97, 98, 99, + 0, 336, 0, 337, 100, 0, 338, 339, 340, 341, + 101, 0, 102, 103, 0, 0, 0, 0, 342, 0, + 0, 104, 105, 0, 0, 106, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 343, 0, 0, 344, 345, + 112, 113, 0, 0, 0, 346, 347, 0, 0, 0, + 348, 0, 0, 349, 0, 0, 0, 0, 0, 0, + 114, 115, 116, 350, 0, 118, 119, 0, 120, 121, 0, 122, 0, 0, 123, 124, 125, 126, 127, 0, 128, 129, 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, 138, 0, 0, 139, 0, 140, 141, 0, 228, 142, 143, 0, 144, 0, 145, 146, 147, 148, - 149, 150, 151, 0, 152, 153, 154, 155, 156, 348, + 149, 150, 151, 0, 152, 153, 154, 155, 156, 351, 0, 157, 158, 159, 160, 161, 0, 0, 0, 162, - 0, 163, 349, 241,-32768, 310, 351, 352, 89, 90, - 0, 0, 0, 712, 0, 0, 713, 714, 715, 0, - 0, 0, 1231, 321, 322, 716, 0, 0, 0, 0, - 0, 0, 0, 0, 1232, 1233, 1234, 1235, 0, 91, - 327, 0, 0, 0, 0, 0, 328, 0, 0, 0, - 0, 0, 331, 0, 332, 0, 0, 0, 0, 0, - 0, 0, 93, 0, 0, 94, 0, 333, 0, 0, - 0, 95, 96, 0, 0, 0, 0, 97, 98, 99, - 0, 334, 0, 335, 100, 0, 0, 1236, 338, 101, - 0, 102, 103, 0, 0, 0, 0, 0, 0, 0, - 104, 105, 0, 0, 106, 0, 107, 0, 0, 0, - 108, 109, 0, 0, 0, 0, 341, 342, 112, 113, - 0, 0, 0, 0, 344, 0, 0, 0, 1237, 0, - 0, 346, 0, 0, 0, 0, 0, 114, 115, 116, - 347, 0, 118, 119, 0, 120, 121, 0, 122, 0, - 0, 123, 124, 125, 126, 127, 0, 128, 129, 0, - 0, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 0, 0, 139, 0, 140, 141, 0, 0, 142, 143, - 0, 144, 0, 145, 146, 147, 148, 149, 150, 151, - 0, 152, 153, 154, 155, 156, 348, 0, 157, 158, - 159, 160, 161, 0, 0, 0, 162, 0, 163, 349, - 241, 1238, 310, 351, 352, 89, 90, 0, 0, 0, - 1239, 0, 0, 1240, 1241, 1242, 0, 0, 0, 1231, - 321, 322, 1243, 0, 0, 0, 0, 0, 0, 0, - 0, 1232, 1233, 1234, 1235, 0, 91, 327, 0, 0, - 0, 0, 0, 328, 0, 0, 0, 0, 0, 331, - 0, 332, 0, 0, 0, 0, 0, 0, 0, 93, - 0, 0, 94, 0, 333, 0, 0, 0, 95, 96, - 0, 0, 0, 0, 97, 98, 99, 0, 334, 0, - 335, 100, 0, 0, 0, 338, 101, 0, 102, 103, - 0, 0, 0, 0, 0, 0, 0, 104, 105, 0, - 0, 106, 0, 107, 0, 0, 0, 108, 109, 0, - 0, 0, 0, 341, 342, 112, 113, 0, 0, 0, - 0, 344, 0, 0, 0, 1237, 0, 0, 346, 0, - 0, 0, 0, 0, 114, 115, 116, 347, 0, 118, + 0, 163, 352, 241, 353, 310, 354, 355, 0, 0, + 0, 0, 0, 356, 0, 0, 358, 359, 360, 0, + 89, 90, 0, 754, 0, 361, 755, 0, 0, 0, + 0, 0, 0, 0, 320, 321, 322, 323, 0, 0, + 324, 0, 0, 0, 0, 0, 0, 227, 325, 326, + 327, 328, 0, 91, 329, 0, 0, 0, 0, 0, + 330, 0, 0, 0, 0, 331, 332, 333, 0, 334, + 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, + 94, 0, 335, 0, 0, 0, 95, 96, 0, 0, + 0, 0, 97, 98, 99, 0, 336, 0, 337, 100, + 0, 0, 339, 0, 341, 101, 0, 102, 103, 0, + 0, 0, 0, 342, 0, 0, 104, 105, 0, 0, + 106, 0, 107, 0, 0, 0, 108, 109, 0, 0, + 343, 0, 0, 344, 345, 112, 113, 0, 0, 0, + 346, 347, 0, 0, 0, 348, 0, 0, 349, 0, + 0, 0, 0, 0, 0, 114, 115, 116, 350, 0, + 118, 119, 0, 120, 121, 0, 122, 0, 0, 123, + 124, 125, 126, 127, 0, 128, 129, 0, 0, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 0, 0, + 139, 0, 140, 141, 0, 228, 142, 143, 0, 144, + 0, 145, 146, 147, 148, 149, 150, 151, 0, 152, + 153, 154, 155, 156, 351, 0, 157, 158, 159, 160, + 161, 0, 0, 0, 162, 0, 163, 352, 241,-32768, + 310, 354, 355, 0, 0, 0, 0, 0, 356, 89, + 90, 358, 359, 360, 0, 0, 0, 0, 0, 0, + 756, 0, 0, 320, 321, 322, 323, 0, 0, 324, + 0, 0, 0, 0, 0, 0, 227, 325, 326, 327, + 328, 0, 91, 329, 0, 0, 0, 0, 0, 330, + 0, 0, 0, 0, 331, 332, 333, 0, 334, 0, + 0, 0, 0, 0, 0, 0, 93, 0, 0, 94, + 0, 335, 0, 0, 0, 95, 96, 0, 0, 0, + 0, 97, 98, 99, 0, 336, 0, 337, 100, 0, + 338, 339, 0, 341, 101, 0, 102, 103, 0, 0, + 0, 0, 342, 0, 0, 104, 105, 0, 0, 106, + 0, 107, 0, 0, 0, 108, 109, 637, 0, 343, + 0, 0, 344, 345, 112, 113, 0, 0, 0, 346, + 347, 0, 0, 0, 348, 0, 0, 349, 0, 0, + 0, 0, 0, 0, 114, 115, 116, 350, 0, 118, 119, 0, 120, 121, 0, 122, 0, 0, 123, 124, 125, 126, 127, 0, 128, 129, 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, 138, 0, 0, 139, - 0, 140, 141, 0, 0, 142, 143, 0, 144, 0, + 0, 140, 141, 0, 228, 142, 143, 0, 144, 0, 145, 146, 147, 148, 149, 150, 151, 0, 152, 153, - 154, 155, 156, 348, 0, 157, 158, 159, 160, 161, - 0, 0, 0, 162, 0, 163, 349, 241, 1238, 310, - 351, 352, 89, 90, 0, 0, 0, 1239, 0, 0, - 1240, 1241, 1242, 0, 0, 0, 1231, 321, 322, 1243, - 0, 0, 0, 0, 0, 0, 0, 0, 1232, 1233, - 1234, 1235, 0, 91, 327, 0, 0, 0, 0, 0, - 328, 0, 0, 0, 0, 0, 331, 0, 332, 0, - 0, 0, 0, 0, 0, 0, 93, 0, 0, 94, - 0, 333, 0, 0, 0, 95, 96, 0, 0, 0, - 0, 97, 98, 99, 0, 334, 0, 335, 100, 0, - 0, 0, 338, 101, 0, 102, 103, 0, 0, 0, - 0, 0, 0, 0, 104, 105, 0, 0, 106, 0, - 107, 0, 0, 0, 108, 109, 0, 0, 0, 0, - 341, 342, 112, 113, 0, 0, 0, 0, 344, 0, - 0, 0, 1237, 0, 0, 346, 0, 0, 0, 0, - 0, 114, 115, 116, 347, 0, 118, 119, 0, 120, + 154, 155, 156, 351, 0, 157, 158, 159, 160, 161, + 0, 0, 0, 162, 0, 163, 352, 241, 353, 310, + 354, 355, 0, 0, 0, 0, 0, 356, 89, 90, + 358, 359, 360, 0, 0, 0, 0, 0, 0, 361, + 0, 0, 320, 321, 322, 323, 0, 0, 324, 0, + 0, 0, 0, 0, 0, 227, 325, 326, 327, 328, + 0, 91, 329, 0, 0, 0, 0, 0, 330, 0, + 0, 0, 0, 331, 332, 333, 0, 334, 0, 0, + 0, 0, 0, 0, 0, 93, 0, 0, 94, 0, + 335, 0, 0, 0, 95, 96, 0, 0, 0, 0, + 97, 98, 99, 0, 336, 0, 337, 100, 0, 338, + 339, 0, 341, 101, 0, 102, 103, 0, 0, 0, + 0, 342, 0, 0, 104, 105, 0, 0, 106, 0, + 107, 0, 0, 0, 108, 109, 0, 0, 343, 0, + 0, 344, 345, 112, 113, 0, 0, 0, 346, 347, + 0, 0, 0, 348, 0, 0, 349, 0, 0, 0, + 0, 0, 0, 114, 115, 116, 350, 0, 118, 119, + 0, 120, 121, 0, 122, 0, 0, 123, 124, 125, + 126, 127, 0, 128, 129, 0, 0, 130, 131, 132, + 133, 134, 135, 136, 137, 138, 0, 0, 139, 0, + 140, 141, 0, 228, 142, 143, 0, 144, 0, 145, + 146, 147, 148, 149, 150, 151, 0, 152, 153, 154, + 155, 156, 351, 0, 157, 158, 159, 160, 161, 0, + 0, 0, 162, 0, 163, 352, 241, 353, 310, 354, + 355, 0, 0, 0, 89, 90, 356, 0, 0, 358, + 359, 360, 0, 0, 0, 0, 0, 0, 361, 724, + 322, 323, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 227, 725, 726, 727, 728, 0, 91, 329, 0, + 0, 0, 0, 0, 330, 0, 0, 0, 0, 0, + 0, 333, 0, 334, 0, 0, 0, 0, 0, 0, + 0, 93, 0, 0, 94, 0, 335, 0, 0, 0, + 95, 96, 0, 0, 0, 0, 97, 98, 99, 0, + 336, 0, 337, 100, 0, 0, 0, 0, 341, 101, + 0, 102, 103, 0, 0, 0, 0, 729, 0, 0, + 104, 105, 0, 0, 106, 0, 107, 0, 0, 0, + 108, 109, 0, 0, 730, 0, 0, 344, 345, 112, + 113, 0, 0, 0, 731, 347, 0, 0, 0, 732, + 0, 0, 349, 0, 0, 0, 0, 0, 0, 114, + 115, 116, 350, 0, 118, 119, 0, 120, 121, 0, + 122, 0, 0, 123, 124, 125, 126, 127, 0, 128, + 129, 0, 0, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 0, 0, 139, 0, 140, 141, 0, 228, + 142, 143, 0, 144, 0, 145, 146, 147, 148, 149, + 150, 151, 0, 152, 153, 154, 155, 156, 351, 0, + 157, 158, 159, 160, 161, 0, 0, 0, 162, 0, + 163, 352, 241, 733, 310, 354, 355, 0, 0, 0, + 89, 90, 734, 0, 0, 735, 736, 737, 0, 0, + 0, 0, 0, 0, 738, 724, 322, 323, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 227, 725, 726, + 727, 728, 0, 91, 329, 0, 0, 0, 0, 0, + 330, 0, 0, 0, 0, 0, 0, 333, 0, 334, + 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, + 94, 0, 335, 0, 0, 0, 95, 96, 0, 0, + 0, 0, 97, 98, 99, 0, 336, 0, 337, 100, + 0, 0, 0, 0, 341, 101, 0, 102, 103, 0, + 0, 0, 0, 729, 0, 0, 104, 105, 0, 0, + 106, 0, 107, 0, 0, 0, 108, 109, 0, 0, + 730, 0, 0, 344, 345, 112, 113, 0, 0, 0, + 731, 347, 0, 0, 0, 732, 0, 0, 349, 0, + 0, 0, 0, 0, 0, 114, 115, 116, 350, 0, + 118, 119, 0, 120, 121, 0, 122, 0, 0, 123, + 124, 125, 126, 127, 0, 128, 129, 0, 0, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 0, 0, + 139, 0, 140, 141, 0, 228, 142, 143, 0, 144, + 0, 145, 146, 147, 148, 149, 150, 151, 0, 152, + 153, 154, 155, 156, 351, 0, 157, 158, 159, 160, + 161, 0, 0, 0, 162, 0, 163, 352, 241,-32768, + 310, 354, 355, 0, 0, 0, 89, 90, 734, 0, + 0, 735, 736, 737, 0, 0, 0, 0, 0, 0, + 738, 1263, 322, 323, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1264, 1265, 1266, 1267, 0, 91, + 329, 0, 0, 0, 0, 0, 330, 0, 0, 0, + 0, 0, 0, 333, 0, 334, 0, 0, 0, 0, + 0, 0, 0, 93, 0, 0, 94, 0, 335, 0, + 0, 0, 95, 96, 0, 0, 0, 0, 97, 98, + 99, 0, 336, 0, 337, 100, 0, 0, 0, 1268, + 341, 101, 0, 102, 103, 0, 0, 0, 0, 0, + 0, 0, 104, 105, 0, 0, 106, 0, 107, 0, + 0, 0, 108, 109, 0, 0, 0, 0, 0, 344, + 345, 112, 113, 0, 0, 0, 0, 347, 0, 0, + 0, 1269, 0, 0, 349, 0, 0, 0, 0, 0, + 0, 114, 115, 116, 350, 0, 118, 119, 0, 120, 121, 0, 122, 0, 0, 123, 124, 125, 126, 127, 0, 128, 129, 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, 138, 0, 0, 139, 0, 140, 141, 0, 0, 142, 143, 0, 144, 0, 145, 146, 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, 156, - 348, 0, 157, 158, 159, 160, 161, 89, 90, 0, - 162, 0, 163, 349, 241,-32768, 310, 351, 352, 0, - 0, 636, 321, 322, 1239, 0, 0, 1240, 1241, 1242, - 0, 0, 227, 0, 0, 0, 1243, 0, 91, 327, - 0, 0, 0, 0, 0, 328, 0, 0, 0, 0, - 0, 331, 0, 332, 0, 0, 0, 0, 0, 0, - 0, 93, 0, 0, 94, 0, 333, 0, 0, 0, + 351, 0, 157, 158, 159, 160, 161, 0, 0, 0, + 162, 0, 163, 352, 241, 1270, 310, 354, 355, 0, + 0, 0, 89, 90, 1271, 0, 0, 1272, 1273, 1274, + 0, 0, 0, 0, 0, 0, 1275, 1263, 322, 323, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1264, 1265, 1266, 1267, 0, 91, 329, 0, 0, 0, + 0, 0, 330, 0, 0, 0, 0, 0, 0, 333, + 0, 334, 0, 0, 0, 0, 0, 0, 0, 93, + 0, 0, 94, 0, 335, 0, 0, 0, 95, 96, + 0, 0, 0, 0, 97, 98, 99, 0, 336, 0, + 337, 100, 0, 0, 0, 0, 341, 101, 0, 102, + 103, 0, 0, 0, 0, 0, 0, 0, 104, 105, + 0, 0, 106, 0, 107, 0, 0, 0, 108, 109, + 0, 0, 0, 0, 0, 344, 345, 112, 113, 0, + 0, 0, 0, 347, 0, 0, 0, 1269, 0, 0, + 349, 0, 0, 0, 0, 0, 0, 114, 115, 116, + 350, 0, 118, 119, 0, 120, 121, 0, 122, 0, + 0, 123, 124, 125, 126, 127, 0, 128, 129, 0, + 0, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 0, 0, 139, 0, 140, 141, 0, 0, 142, 143, + 0, 144, 0, 145, 146, 147, 148, 149, 150, 151, + 0, 152, 153, 154, 155, 156, 351, 0, 157, 158, + 159, 160, 161, 0, 0, 0, 162, 0, 163, 352, + 241, 1270, 310, 354, 355, 0, 0, 0, 89, 90, + 1271, 0, 0, 1272, 1273, 1274, 0, 0, 0, 0, + 0, 0, 1275, 1263, 322, 323, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1264, 1265, 1266, 1267, + 0, 91, 329, 0, 0, 0, 0, 0, 330, 0, + 0, 0, 0, 0, 0, 333, 0, 334, 0, 0, + 0, 0, 0, 0, 0, 93, 0, 0, 94, 0, + 335, 0, 0, 0, 95, 96, 0, 0, 0, 0, + 97, 98, 99, 0, 336, 0, 337, 100, 0, 0, + 0, 0, 341, 101, 0, 102, 103, 0, 0, 0, + 0, 0, 0, 0, 104, 105, 0, 0, 106, 0, + 107, 0, 0, 0, 108, 109, 0, 0, 0, 0, + 0, 344, 345, 112, 113, 0, 0, 0, 0, 347, + 0, 0, 0, 1269, 0, 0, 349, 0, 0, 0, + 0, 0, 0, 114, 115, 116, 350, 0, 118, 119, + 0, 120, 121, 0, 122, 0, 0, 123, 124, 125, + 126, 127, 0, 128, 129, 0, 0, 130, 131, 132, + 133, 134, 135, 136, 137, 138, 0, 0, 139, 0, + 140, 141, 0, 0, 142, 143, 0, 144, 0, 145, + 146, 147, 148, 149, 150, 151, 0, 152, 153, 154, + 155, 156, 351, 0, 157, 158, 159, 160, 161, 0, + 0, 0, 162, 0, 163, 352, 241,-32768, 310, 354, + 355, 0, 0, 0, 89, 90, 1271, 0, 0, 1272, + 1273, 1274, 0, 0, 0, 0, 0, 0, 1275, 652, + 322, 323, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 227, 0, 0, 0, 0, 0, 91, 329, 0, + 0, 0, 0, 0, 330, 0, 0, 0, 0, 0, + 0, 333, 0, 334, 0, 0, 0, 0, 0, 0, + 0, 93, 0, 0, 94, 0, 335, 0, 0, 0, 95, 96, 0, 0, 0, 0, 97, 98, 99, 0, - 334, 0, 335, 100, 0, 0, 0, 338, 101, 0, - 102, 103, 0, 0, 0, 0, 637, 0, 0, 104, - 105, 0, 0, 106, 0, 107, 0, 0, 0, 108, - 109, 0, 0, 638, 0, 341, 342, 112, 113, 0, - 0, 0, 639, 344, 0, 0, 0, 0, 0, 0, - 346, 0, 0, 0, 0, 0, 114, 115, 116, 347, - 0, 118, 119, 0, 120, 121, 0, 122, 0, 0, - 123, 124, 125, 126, 127, 0, 128, 129, 0, 0, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 0, - 0, 139, 0, 140, 141, 0, 228, 142, 143, 0, - 144, 0, 145, 146, 147, 148, 149, 150, 151, 0, - 152, 153, 154, 155, 156, 348, 0, 157, 158, 159, - 160, 161, 89, 90, 0, 162, 0, 163, 349, 241, - 640, 310, 351, 352, 0, 0, 636, 321, 322, 641, - 0, 0, 642, 0, 0, 0, 0, 227, 0, 0, - 0, 643, 0, 91, 327, 0, 0, 0, 0, 0, - 328, 0, 0, 0, 0, 0, 331, 0, 332, 0, - 0, 0, 0, 0, 0, 0, 93, 0, 0, 94, - 0, 333, 0, 0, 0, 95, 96, 0, 0, 0, - 0, 97, 98, 99, 0, 334, 0, 335, 100, 0, - 0, 0, 338, 101, 0, 102, 103, 0, 0, 0, - 0, 637, 0, 0, 104, 105, 0, 0, 106, 0, - 107, 0, 0, 0, 108, 109, 0, 0, 638, 0, - 341, 342, 112, 113, 0, 0, 0, 639, 344, 0, - 0, 0, 0, 0, 0, 346, 0, 0, 0, 0, - 0, 114, 115, 116, 347, 0, 118, 119, 0, 120, + 336, 0, 337, 100, 0, 0, 0, 0, 341, 101, + 0, 102, 103, 0, 0, 0, 0, 653, 0, 0, + 104, 105, 0, 0, 106, 0, 107, 0, 0, 0, + 108, 109, 0, 0, 654, 0, 0, 344, 345, 112, + 113, 0, 0, 0, 655, 347, 0, 0, 0, 0, + 0, 0, 349, 0, 0, 0, 0, 0, 0, 114, + 115, 116, 350, 0, 118, 119, 0, 120, 121, 0, + 122, 0, 0, 123, 124, 125, 126, 127, 0, 128, + 129, 0, 0, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 0, 0, 139, 0, 140, 141, 0, 228, + 142, 143, 0, 144, 0, 145, 146, 147, 148, 149, + 150, 151, 0, 152, 153, 154, 155, 156, 351, 0, + 157, 158, 159, 160, 161, 0, 0, 0, 162, 0, + 163, 352, 241, 656, 310, 354, 355, 0, 0, 0, + 89, 90, 657, 0, 0, 658, 0, 0, 0, 0, + 0, 0, 0, 0, 659, 652, 322, 323, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 227, 0, 0, + 0, 0, 0, 91, 329, 0, 0, 0, 0, 0, + 330, 0, 0, 0, 0, 0, 0, 333, 0, 334, + 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, + 94, 0, 335, 0, 0, 0, 95, 96, 0, 0, + 0, 0, 97, 98, 99, 0, 336, 0, 337, 100, + 0, 0, 0, 0, 341, 101, 0, 102, 103, 0, + 0, 0, 0, 653, 0, 0, 104, 105, 0, 0, + 106, 0, 107, 0, 0, 0, 108, 109, 0, 0, + 654, 0, 0, 344, 345, 112, 113, 0, 0, 0, + 655, 347, 0, 0, 0, 0, 0, 0, 349, 0, + 0, 0, 0, 0, 0, 114, 115, 116, 350, 0, + 118, 119, 0, 120, 121, 0, 122, 0, 0, 123, + 124, 125, 126, 127, 0, 128, 129, 0, 0, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 0, 0, + 139, 0, 140, 141, 0, 228, 142, 143, 0, 144, + 0, 145, 146, 147, 148, 149, 150, 151, 0, 152, + 153, 154, 155, 156, 351, 0, 157, 158, 159, 160, + 161, 0, 0, 0, 162, 0, 163, 352, 241,-32768, + 310, 354, 355, 0, 0, 0, 89, 90, 657, 0, + 0, 658, 0, 0, 0, 0, 0, 0, 0, 0, + 659, 1031, 322, 323, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, + 329, 0, 0, 0, 0, 0, 330, 0, 0, 0, + 0, 0, 0, 333, 0, 334, 0, 0, 0, 0, + 0, 0, 0, 93, 0, 0, 94, 0, 335, 0, + 0, 0, 95, 96, 0, 0, 0, 0, 97, 98, + 99, 0, 336, 0, 337, 100, 0, 1032, 0, 1033, + 341, 101, 0, 102, 103, 0, 0, 0, 0, 0, + 0, 0, 104, 105, 0, 0, 106, 0, 107, 0, + 0, 0, 108, 109, 0, 0, 0, 0, 0, 344, + 345, 112, 113, 0, 0, 0, 0, 347, 0, 0, + 0, 0, 0, 0, 349, 0, 0, 0, 0, 0, + 0, 114, 115, 116, 350, 0, 118, 119, 0, 120, 121, 0, 122, 0, 0, 123, 124, 125, 126, 127, 0, 128, 129, 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, 138, 0, 0, 139, 0, 140, 141, - 0, 228, 142, 143, 0, 144, 0, 145, 146, 147, + 0, 0, 142, 143, 0, 144, 0, 145, 146, 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, 156, - 348, 0, 157, 158, 159, 160, 161, 89, 90, 0, - 162, 0, 163, 349, 241,-32768, 310, 351, 352, 0, - 0, 1003, 321, 322, 641, 0, 0, 642, 0, 0, - 0, 0, 0, 0, 0, 0, 643, 0, 91, 327, - 0, 0, 0, 0, 0, 328, 0, 0, 0, 0, - 0, 331, 0, 332, 0, 0, 0, 0, 0, 0, - 0, 93, 0, 0, 94, 0, 333, 0, 0, 0, - 95, 96, 0, 0, 0, 0, 97, 98, 99, 0, - 334, 0, 335, 100, 0, 1004, 1005, 338, 101, 0, + 351, 0, 157, 158, 159, 160, 161, 0, 0, 0, + 162, 0, 163, 352, 241, 1034, 310, 354, 355, 0, + 0, 0, 89, 90, 1035, 0, 0, 1036, 1037, 1038, + 0, 0, 0, 0, 0, 0, 1039, 1031, 322, 323, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 91, 329, 0, 0, 0, + 0, 0, 330, 0, 0, 0, 0, 0, 0, 333, + 0, 334, 0, 0, 0, 0, 0, 0, 0, 93, + 0, 0, 94, 0, 335, 0, 0, 0, 95, 96, + 0, 0, 0, 0, 97, 98, 99, 0, 336, 0, + 337, 100, 0, 0, 0, 1033, 341, 101, 0, 102, + 103, 0, 0, 0, 0, 0, 0, 0, 104, 105, + 0, 0, 106, 0, 107, 0, 0, 0, 108, 109, + 0, 0, 0, 0, 0, 344, 345, 112, 113, 0, + 0, 0, 0, 347, 0, 0, 0, 0, 0, 0, + 349, 0, 0, 0, 0, 0, 0, 114, 115, 116, + 350, 0, 118, 119, 0, 120, 121, 0, 122, 0, + 0, 123, 124, 125, 126, 127, 0, 128, 129, 0, + 0, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 0, 0, 139, 0, 140, 141, 0, 0, 142, 143, + 0, 144, 0, 145, 146, 147, 148, 149, 150, 151, + 0, 152, 153, 154, 155, 156, 351, 0, 157, 158, + 159, 160, 161, 89, 90, 0, 162, 0, 163, 352, + 241,-32768, 310, 354, 355, 0, 0, 0, 0, 0, + 1035, 0, 0, 1036, 1037, 1038, 0, 0, 0, 0, + 227, 0, 1039, 0, 0, 0, 91, 0, 0, 0, + 0, 0, 0, 92, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 93, 0, 0, 94, 0, 0, 0, 0, 0, 95, + 96, 0, 0, 0, 0, 97, 98, 99, 0, 0, + 0, 0, 100, 0, 0, 0, 0, 0, 101, 0, 102, 103, 0, 0, 0, 0, 0, 0, 0, 104, 105, 0, 0, 106, 0, 107, 0, 0, 0, 108, - 109, 0, 0, 0, 0, 341, 342, 112, 113, 0, - 0, 0, 0, 344, 0, 0, 0, 0, 0, 0, - 346, 0, 0, 0, 0, 0, 114, 115, 116, 347, - 0, 118, 119, 0, 120, 121, 0, 122, 0, 0, - 123, 124, 125, 126, 127, 0, 128, 129, 0, 0, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 0, - 0, 139, 0, 140, 141, 0, 0, 142, 143, 0, - 144, 0, 145, 146, 147, 148, 149, 150, 151, 0, - 152, 153, 154, 155, 156, 348, 0, 157, 158, 159, - 160, 161, 89, 90, 0, 162, 0, 163, 349, 241, - 1006, 310, 351, 352, 0, 0, 1003, 321, 322, 1007, - 0, 0, 1008, 1009, 1010, 0, 0, 0, 0, 0, - 0, 1011, 0, 91, 327, 0, 0, 0, 0, 0, - 328, 0, 0, 0, 0, 0, 331, 0, 332, 0, - 0, 0, 0, 0, 0, 0, 93, 0, 0, 94, - 0, 333, 0, 0, 0, 95, 96, 0, 0, 0, - 0, 97, 98, 99, 0, 334, 0, 335, 100, 0, - 0, 1005, 338, 101, 1205, 102, 103, 0, 0, 0, - 0, 0, 0, 0, 104, 105, 0, 0, 106, 0, - 107, 0, 0, 0, 108, 109, 0, 0, 0, 0, - 341, 342, 112, 113, 0, 0, 0, 0, 344, 0, - 0, 0, 0, 0, 0, 346, 0, 0, 0, 1206, - 0, 114, 115, 116, 347, 1207, 118, 119, 0, 120, - 121, 1208, 122, 0, 0, 123, 124, 125, 126, 127, + 109, 0, 0, 0, 0, 0, 110, 111, 112, 113, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 114, 115, + 116, 117, 0, 118, 119, 0, 120, 121, 0, 122, + 0, 0, 123, 124, 125, 126, 127, 0, 128, 129, + 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, + 138, 0, 504, 139, 0, 140, 141, 505, 228, 142, + 143, 0, 144, 0, 145, 146, 147, 148, 149, 150, + 151, 0, 152, 153, 154, 155, 156, 0, 0, 157, + 158, 159, 160, 161, 0, 0, 0, 162, 0, 163, + 164, 0, 504, 0, 0, 0, 0, 505, 0, 0, + 0, 0, 0, 0, 0, 506, 0, 0, 0, 0, + 0, 507, 0, 1003, 0, 0, 1236, 508, 1484, 0, + 0, 1237, 0, 0, 0, 0, 0, 0, 509, 0, + 0, 0, 504, 0, 0, 0, 510, 505, 0, 0, + 0, 0, 0, 0, 0, 506, 0, 0, 0, 0, + 0, 507, 0, 0, 0, 0, 1236, 508, 0, 1109, + 0, 1237, 0, 0, 0, 0, 0, 0, 509, 1238, + 0, 0, 1236, 0, 0, 1239, 510, 1237, 0, 0, + 0, 1240, 0, 0, 0, 506, 0, 0, 0, 0, + 0, 507, 1241, 0, 0, 0, 0, 508, 0, 0, + 1242, 0, 0, 0, 0, 0, 0, 0, 509, 1238, + 0, 0, 0, 511, 0, 1239, 510, 0, 0, 0, + 0, 1240, 0, 0, 0, 1238, 0, 0, 512, 0, + 0, 1239, 1241, 0, 0, 0, 0, 1240, 0, 0, + 1242, 0, 0, 0, 0, 0, 0, 0, 1241, 0, + 0, 0, 0, 511, 0, 0, 513, 0, 0, 0, + 0, 514, 515, 516, 517, 518, 519, 520, 512, 0, + 0, 0, 0, 0, 0, 521, 0, 1243, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1244, 511, 0, 0, 513, 0, 0, 0, + 0, 514, 515, 516, 517, 518, 519, 520, 512, 0, + 0, 0, 0, 0, 1316, 521, 0, 1243, 0, 0, + 1245, 0, 0, 0, 0, 1246, 1247, 1248, 1249, 1250, + 1251, 1252, 1244, 1243, 0, 0, 513, 0, 0, 1253, + 0, 514, 515, 516, 517, 518, 519, 520, 1244, 0, + 0, 0, 0, 0, 0, 521, 89, 90, 0, 0, + 1245, 0, 0, 0, 0, 1246, 1247, 1248, 1249, 1250, + 1251, 1252, 0, 0, 0, 0, 1245, 0, 0, 1253, + 0, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 0, 91, + 0, 0, 0, 0, 0, 1253, 92, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 93, 0, 0, 94, 0, 0, 0, + 0, 0, 95, 96, 0, 0, 0, 0, 97, 98, + 99, 0, 0, 0, 0, 100, 0, 0, 0, 0, + 0, 101, 0, 102, 103, 0, 0, 0, 0, 0, + 0, 0, 104, 105, 0, 0, 106, 0, 107, 0, + 0, 0, 108, 109, 0, 0, 0, 0, 0, 110, + 111, 112, 113, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 114, 115, 116, 117, 0, 118, 119, 0, 120, + 121, 0, 122, 0, 0, 123, 124, 125, 126, 127, 0, 128, 129, 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, 138, 0, 0, 139, 0, 140, 141, 0, 0, 142, 143, 0, 144, 0, 145, 146, 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, 156, - 348, 0, 157, 158, 159, 160, 161, 89, 90, 0, - 162, 0, 163, 349, 241,-32768, 310, 351, 352, 0, - 0, 0, 0, 0, 1007, 0, 0, 1008, 1009, 1010, - 0, 0, 227, 0, 0, 0, 1011, 0, 91, 0, - 0, 0, 0, 0, 1211, 92, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1212, - 0, 93, 0, 0, 94, 0, 0, 0, 0, 0, - 95, 96, 0, 0, 0, 0, 97, 98, 99, 0, - 0, 0, 0, 100, 0, 0, 0, 1213, 101, 0, - 102, 103, 0,-32768,-32768, 1217, 1218, 1219, 1220, 104, - 105, 0, 0, 106, 0, 107, 1221, 0, 0, 108, - 109, 0, 0, 0, 0, 110, 111, 112, 113, 0, + 1085, 0, 157, 158, 159, 160, 161, 89, 90, 0, + 162, 0, 163, 164, 241, 299, 310, 0, 1086, 0, + 274, 275, 276, 277, 1087, 279, 280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 114, 115, 116, 117, - 0, 118, 119, 0, 120, 121, 0, 122, 0, 0, - 123, 124, 125, 126, 127, 0, 128, 129, 89, 90, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 0, - 0, 139, 0, 140, 141, 0, 228, 142, 143, 0, - 144, 0, 145, 146, 147, 148, 149, 150, 151, 91, - 152, 153, 154, 155, 156, 0, 92, 157, 158, 159, - 160, 161, 0, 0, 0, 162, 0, 163, 164, 0, - 0, 0, 93, 0, 0, 94, 0, 0, 0, 0, - 0, 95, 96, 0, 0, 0, 0, 97, 98, 99, - 0, 975, 0, 0, 100, 0, 0, 0, 0, 101, - 0, 102, 103, 0, 0, 0, 0, 0, 0, 0, - 104, 105, 0, 0, 106, 0, 107, 0, 0, 0, - 108, 109, 0, 0, 0, 0, 110, 111, 112, 113, + 91, 0, 0, 601, 0, 0, 0, 92, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 93, 0, 0, 94, 0, 0, + 0, 0, 271, 95, 96, 0, 0, 0, 0, 97, + 98, 99, 0, 0, 0, 0, 100, 0, 0, 0, + 0, 0, 101, 0, 102, 103, 0, 0, 0, 0, + 0, 0, 0, 104, 105, 272, 0, 106, 0, 107, + 0, 0, 0, 108, 109, 0, 0, 0, 0, 0, + 110, 111, 112, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 114, 115, 116, - 117, 0, 118, 119, 0, 120, 121, 0, 122, 0, - 0, 123, 124, 125, 126, 127, 0, 128, 129, 0, - 0, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 0, 0, 139, 0, 140, 141, 0, 0, 142, 143, - 0, 144, 0, 145, 146, 147, 148, 149, 150, 151, - 0, 152, 153, 154, 155, 156, 1057, 0, 157, 158, - 159, 160, 161, 89, 90, 0, 162, 0, 163, 164, - 241, 299, 310, 0, 1058, 0, 274, 275, 276, 277, - 1059, 279, 280, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 91, 0, 0, 592, 0, 0, - 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 93, 1205, 0, - 94, 0, 0, 0, 0, 271, 95, 96, 0, 0, - 0, 0, 97, 98, 99, 0, 0, 0, 0, 100, - 0, 0, 0, 0, 101, 0, 102, 103, 0, 0, - 0, 0, 0, 0, 0, 104, 105, 272, 0, 106, - 0, 107, 0, 1206, 0, 108, 109, 0, 0, 1207, - 0, 110, 111, 112, 113, 1208, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1209, 0, 0, 0, 0, 0, 114, 115, 116, 117, 0, 118, 119, 0, 120, 121, 0, 122, 0, 0, 123, 124, 125, 126, 127, 0, 128, 129, 0, 0, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 0, 0, 139, 0, 140, - 141, 89, 90, 142, 143, 0, 144, 0, 145, 146, + 134, 135, 136, 137, 138, 89, 90, 139, 0, 140, + 141, 0, 0, 142, 143, 0, 144, 0, 145, 146, 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 0, 0, 157, 158, 159, 160, 161, 0, 0, - 0, 162, 91, 163, 164, 0, 273, 0, 1211, 92, + 156, 0, 0, 157, 158, 159, 160, 161, 91, 0, + 0, 162, 0, 163, 164, 92, 273, 0, 0, 0, 0, 274, 275, 276, 277, 278, 279, 280, 0, 0, - 0, 0, 0, 1212, 0, 93, 0, 0, 94, 0, - 0, 0, 0, 271, 95, 96, 0, 0, 0, 0, - 97, 98, 99, 0, 0, 0, 0, 100, 0, 0, - 0, 1213, 101, 0, 102, 103, 1214, 1215, 1216, 1217, - 1218, 1219, 1220, 104, 105, 272, 0, 106, 0, 107, - 1221, 0, 0, 108, 109, 0, 0, 0, 0, 110, - 111, 112, 113, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 93, 0, 0, 94, 0, 0, 0, 0, + 271, 95, 96, 0, 0, 0, 0, 97, 98, 99, + 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, + 101, 0, 102, 103, 0, 0, 0, 0, 0, 0, + 0, 104, 105, 272, 0, 106, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 0, 0, 0, 110, 111, + 112, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 115, 116, 117, 0, 118, 119, 0, 120, 121, 0, 122, 0, 0, 123, 124, 125, 126, 127, 0, 128, 129, 0, 0, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 0, 0, 139, 0, 140, 141, 0, + 136, 137, 138, 89, 90, 139, 0, 140, 141, 0, 0, 142, 143, 0, 144, 0, 145, 146, 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, 156, 0, - 0, 157, 158, 159, 160, 161, 89, 90, 0, 162, - 0, 163, 164, 0, 273, 0, 0, 0, 0, 274, + 227, 157, 158, 159, 160, 161, 91, 0, 0, 162, + 0, 163, 164, 92, 273, 0, 0, 0, 0, 274, 275, 276, 277, 278, 279, 280, 0, 0, 0, 0, - 0, 227, 0, 0, 0, 0, 0, 91, 0, 0, - 0, 0, 0, 0, 92, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 94, 0, 0, 0, 0, 0, 95, 96, 0, 0, 0, 0, 97, 98, 99, 0, 0, - 0, 0, 100, 0, 0, 0, 0, 101, 0, 102, - 103, 0, 0, 0, 0, 0, 0, 0, 104, 105, - 0, 0, 106, 0, 107, 0, 0, 0, 108, 109, - 0, 0, 0, 0, 110, 111, 112, 113, 0, 0, + 0, 0, 100, 0, 0, 0, 0, 0, 101, 0, + 102, 103, 0, 0, 0, 0, 0, 0, 0, 104, + 105, 0, 0, 106, 0, 107, 0, 0, 0, 108, + 109, 0, 0, 0, 0, 0, 110, 111, 112, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 114, 115, 116, 117, 0, - 118, 119, 0, 120, 121, 0, 122, 0, 0, 123, - 124, 125, 126, 127, 0, 128, 129, 0, 0, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 0, 0, - 139, 0, 140, 141, 0, 228, 142, 143, 0, 144, - 0, 145, 146, 147, 148, 149, 150, 151, 0, 152, - 153, 154, 155, 156, 0, 0, 157, 158, 159, 160, - 161, 89, 90, 0, 162, 0, 163, 164, 0, 0, - 0, 351, 0, 0, 0, 0, 0, 0, 0, 527, - 0, 0, 0, 0, 0, 0, 227, 0, 0, 0, - 0, 0, 91, 0, 0, 0, 0, 0, 0, 92, + 0, 0, 0, 0, 0, 0, 0, 0, 114, 115, + 116, 117, 0, 118, 119, 0, 120, 121, 0, 122, + 0, 0, 123, 124, 125, 126, 127, 0, 128, 129, + 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, + 138, 89, 90, 139, 0, 140, 141, 0, 228, 142, + 143, 0, 144, 0, 145, 146, 147, 148, 149, 150, + 151, 0, 152, 153, 154, 155, 156, 0, 227, 157, + 158, 159, 160, 161, 91, 0, 0, 162, 0, 163, + 164, 92, 0, 0, 354, 0, 0, 0, 0, 0, + 0, 0, 537, 0, 0, 0, 0, 0, 93, 0, + 0, 94, 0, 0, 0, 0, 0, 95, 96, 0, + 0, 0, 0, 97, 98, 99, 0, 0, 0, 0, + 100, 0, 0, 0, 0, 0, 101, 0, 102, 103, + 0, 0, 0, 0, 0, 0, 0, 104, 105, 0, + 0, 106, 0, 107, 0, 0, 0, 108, 109, 0, + 0, 0, 0, 0, 110, 111, 112, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 93, 0, 0, 94, 0, - 0, 0, 0, 0, 95, 96, 0, 0, 0, 0, - 97, 98, 99, 0, 0, 0, 0, 100, 0, 0, - 0, 0, 101, 0, 102, 103, 0, 0, 0, 0, - 0, 0, 0, 104, 105, 0, 0, 106, 0, 107, - 0, 0, 0, 108, 109, 0, 0, 0, 0, 110, - 111, 112, 113, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 114, 115, 116, 117, + 0, 118, 119, 0, 120, 121, 0, 122, 0, 0, + 123, 124, 125, 126, 127, 0, 128, 129, 0, 0, + 130, 131, 132, 133, 134, 135, 136, 137, 138, 89, + 90, 139, 0, 140, 141, 0, 228, 142, 143, 0, + 144, 0, 145, 146, 147, 148, 149, 150, 151, 0, + 152, 153, 154, 155, 156, 0, 0, 157, 158, 159, + 160, 161, 91, 0, 0, 162, 0, 163, 164, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 114, 115, 116, 117, 0, 118, 119, 0, 120, 121, - 0, 122, 0, 0, 123, 124, 125, 126, 127, 0, - 128, 129, 89, 90, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 0, 0, 139, 0, 140, 141, 0, - 228, 142, 143, 0, 144, 0, 145, 146, 147, 148, - 149, 150, 151, 91, 152, 153, 154, 155, 156, 0, - 92, 157, 158, 159, 160, 161, 0, 0, 0, 162, - 0, 163, 164, 0, 0, 0, 93, 0, 0, 94, - 0, 0, 0, 0, 252, 95, 96, 0, 0, 0, + 252, 0, 0, 0, 0, 0, 93, 0, 0, 94, + 0, 0, 0, 0, 0, 95, 96, 0, 0, 0, 0, 97, 98, 99, 0, 0, 0, 0, 100, 0, - 0, 0, 0, 101, 0, 102, 103, 0, 0, 0, - 0, 0, 0, 0, 104, 105, 0, 0, 106, 0, - 107, 0, 0, 0, 108, 109, 0, 0, 0, 0, - 110, 111, 112, 113, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 114, 115, 116, 117, 0, 118, 119, 0, 120, - 121, 0, 122, 0, 0, 123, 124, 125, 126, 127, - 0, 128, 129, 89, 90, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 0, 0, 139, 0, 140, 141, - 0, 0, 142, 143, 0, 144, 0, 145, 146, 147, - 148, 149, 150, 151, 91, 152, 153, 154, 155, 156, - 0, 92, 157, 158, 159, 160, 161, 0, 0, 0, - 162, 0, 163, 164, 0, 0, 0, 93, 0, 0, - 94, 0, 0, 0, 0, 425, 95, 96, 0, 0, - 0, 0, 97, 98, 99, 0, 0, 0, 0, 100, 0, 0, 0, 0, 101, 0, 102, 103, 0, 0, 0, 0, 0, 0, 0, 104, 105, 0, 0, 106, 0, 107, 0, 0, 0, 108, 109, 0, 0, 0, - 0, 110, 111, 112, 113, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 114, 115, 116, 117, 0, 118, 119, 0, - 120, 121, 0, 122, 0, 0, 123, 124, 125, 126, - 127, 0, 128, 129, 89, 90, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 0, 0, 139, 0, 140, - 141, 0, 0, 142, 143, 0, 144, 0, 145, 146, - 147, 148, 149, 150, 151, 91, 152, 153, 154, 155, - 156, 0, 92, 157, 158, 159, 160, 161, 0, 0, - 0, 162, 0, 163, 164, 0, 0, 0, 93, 0, - 0, 94, 0, 0, 0, 0, 769, 95, 96, 0, - 0, 0, 0, 97, 98, 99, 0, 0, 0, 0, - 100, 0, 0, 0, 0, 101, 0, 102, 103, 0, - 0, 0, 0, 0, 0, 0, 104, 105, 0, 0, - 106, 0, 107, 0, 0, 0, 108, 109, 0, 0, 0, 0, 110, 111, 112, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 114, 115, 116, 117, 0, 118, 119, - 0, 120, 121, 0, 122, 0, 0, 123, 124, 125, - 126, 127, 0, 128, 129, 89, 90, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 0, 0, 139, 0, - 140, 141, 0, 0, 142, 143, 0, 144, 0, 145, - 146, 147, 148, 149, 150, 151, 91, 152, 153, 154, - 155, 156, 0, 92, 157, 158, 159, 160, 161, 0, - 0, 0, 162, 0, 163, 164, 0, 0, 0, 93, - 0, 0, 94, 0, 0, 0, 0, 986, 95, 96, - 0, 0, 0, 0, 97, 98, 99, 0, 0, 0, - 0, 100, 0, 0, 0, 0, 101, 0, 102, 103, - 0, 0, 0, 0, 0, 0, 0, 104, 105, 0, - 0, 106, 0, 107, 0, 0, 0, 108, 109, 0, - 0, 0, 0, 110, 111, 112, 113, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 115, 116, 117, 0, 118, 119, 0, 120, 121, 0, 122, 0, 0, 123, 124, 125, 126, 127, 0, 128, 129, 0, 0, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 0, 0, 139, + 132, 133, 134, 135, 136, 137, 138, 89, 90, 139, 0, 140, 141, 0, 0, 142, 143, 0, 144, 0, 145, 146, 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, 156, 0, 0, 157, 158, 159, 160, 161, - 89, 90, 0, 162, 0, 163, 164, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1182, 0, - 0, 0, 0, 0, 0, 227, 0, 0, 0, 0, - 0, 91, 0, 0, 0, 0, 0, 0, 92, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 91, 0, 0, 162, 0, 163, 164, 92, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 429, 0, 0, 0, 0, 0, 93, 0, 0, 94, 0, 0, 0, 0, 0, 95, 96, 0, 0, 0, 0, 97, 98, 99, 0, 0, 0, 0, 100, 0, 0, 0, - 0, 101, 0, 102, 103, 0, 0, 0, 0, 0, - 0, 0, 104, 105, 0, 0, 106, 0, 107, 0, - 0, 0, 108, 109, 0, 0, 0, 0, 110, 111, - 112, 113, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, - 115, 116, 117, 0, 118, 119, 0, 120, 121, 0, - 122, 0, 0, 123, 124, 125, 126, 127, 0, 128, - 129, 0, 0, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 0, 0, 139, 0, 140, 141, 0, 228, - 142, 143, 0, 144, 0, 145, 146, 147, 148, 149, - 150, 151, 0, 152, 153, 154, 155, 156, 89, 90, - 157, 158, 159, 160, 161, 0, 0, 0, 162, 0, - 163, 164, 0, 0, 0, 351, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, - 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, + 0, 0, 101, 0, 102, 103, 0, 0, 0, 0, + 0, 0, 0, 104, 105, 0, 0, 106, 0, 107, + 0, 0, 0, 108, 109, 0, 0, 0, 0, 0, + 110, 111, 112, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 114, 115, 116, 117, 0, 118, 119, 0, + 120, 121, 0, 122, 0, 0, 123, 124, 125, 126, + 127, 0, 128, 129, 0, 0, 130, 131, 132, 133, + 134, 135, 136, 137, 138, 89, 90, 139, 0, 140, + 141, 0, 0, 142, 143, 0, 144, 0, 145, 146, + 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, + 156, 0, 0, 157, 158, 159, 160, 161, 91, 0, + 0, 162, 0, 163, 164, 92, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 791, 0, 0, 0, 0, 0, 93, 0, 0, 94, 0, 0, 0, 0, 0, 95, 96, 0, 0, 0, 0, 97, 98, 99, - 0, 0, 0, 0, 100, 0, 0, 0, 0, 101, - 0, 102, 103, 0, 0, 0, 0, 0, 0, 0, - 104, 105, 0, 0, 106, 0, 107, 0, 0, 0, - 108, 109, 0, 0, 0, 0, 110, 111, 112, 113, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 114, 115, 116, - 117, 0, 118, 119, 0, 120, 121, 0, 122, 0, - 0, 123, 124, 125, 126, 127, 0, 128, 129, 0, - 0, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 0, 0, 139, 0, 140, 141, 0, 0, 142, 143, - 0, 144, 0, 145, 146, 147, 148, 149, 150, 151, - 0, 152, 153, 154, 155, 156, 89, 90, 157, 158, - 159, 160, 161, 0, 0, 0, 162, 0, 163, 164, - 0, 0, 310, 0, 0, 0, 0, 0, 668, 0, - 669, 670, 0, 0, 0, 0, 0, 91, 0, 0, - 0, 0, 0, 0, 92, 0, 0, 0, 0, 0, - 671, 0, 0, 0, 672, 0, 0, 0, 673, 0, - 93, 0, 0, 94, 0, 0, 0, 0, 0, 95, - 96, 0, 0, 0, 0, 97, 98, 99, 0, 0, - 0, 0, 100, 0, 0, 0, 0, 101, 0, 102, - 103, 0, 674, 0, 0, 675, 676, 0, 104, 105, - 0, 0, 106, 0, 107, 0, 0, 0, 108, 109, - 0, 0, 0, 677, 110, 111, 112, 113, 0, 0, - 678, 0, 679, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 114, 115, 116, 117, 680, - 118, 119, 681, 120, 121, 682, 122, 683, 684, 123, - 124, 125, 126, 127, 685, 128, 129, 686, 687, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 688, 689, - 139, 690, 140, 141, 691, 692, 142, 143, 693, 144, - 0, 145, 146, 147, 148, 149, 150, 151, 694, 152, - 153, 154, 155, 156, 695, 696, 157, 158, 159, 160, - 161, 89, 90, 697, 162, 698, 163, 164, 0, 0, - 0, 0, 0, 0, 0, 0, 321, 322, 0, 0, + 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, + 101, 0, 102, 103, 0, 0, 0, 0, 0, 0, + 0, 104, 105, 0, 0, 106, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 0, 0, 0, 110, 111, + 112, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 91, 572, 0, 0, 0, 0, 0, 573, - 0, 0, 0, 0, 0, 0, 0, 574, 0, 0, - 0, 0, 0, 0, 0, 93, 0, 0, 94, 0, - 0, 0, 0, 0, 95, 96, 0, 0, 0, 0, - 97, 98, 99, 0, 334, 0, 335, 100, 0, 0, - 0, 575, 101, 0, 102, 103, 0, 0, 0, 0, - 0, 0, 0, 104, 105, 0, 0, 106, 0, 107, - 0, 0, 0, 108, 109, 0, 0, 0, 0, 110, - 111, 112, 113, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 346, 0, 0, 0, 0, 0, 114, 115, 116, 117, 0, 118, 119, 0, 120, 121, 0, 122, 0, 0, 123, 124, 125, 126, 127, 0, 128, 129, 0, 0, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 0, 0, 139, 0, 140, 141, 0, + 136, 137, 138, 89, 90, 139, 0, 140, 141, 0, 0, 142, 143, 0, 144, 0, 145, 146, 147, 148, - 149, 150, 151, 0, 152, 153, 154, 155, 156, 89, - 90, 157, 158, 159, 160, 161, 0, 0, 0, 162, - 0, 163, 164, 0, 0, 0, 549, 0, 0, 0, - 0, 550, 0, 0, 0, 0, 0, 0, 0, 0, - 91, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 551, 0, 0, - 0, 0, 0, 93, 0, 0, 94, 0, 0, 0, - 0, 0, 95, 96, 0, 0, 0, 0, 97, 98, - 99, 0, 0, 0, 0, 100, 0, 0, 0, 0, - 101, 0, 102, 103, 0, 0, 0, 0, 0, 0, - 552, 104, 105, 0, 0, 106, 0, 107, 0, 0, - 0, 108, 109, 0, 0, 0, 0, 110, 111, 112, - 113, 0, 0, 0, 0, 0, 0, 553, 0, 0, + 149, 150, 151, 0, 152, 153, 154, 155, 156, 0, + 0, 157, 158, 159, 160, 161, 91, 0, 0, 162, + 0, 163, 164, 92, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1014, 0, 0, 0, 0, 0, + 93, 0, 0, 94, 0, 0, 0, 0, 0, 95, + 96, 0, 0, 0, 0, 97, 98, 99, 0, 0, + 0, 0, 100, 0, 0, 0, 0, 0, 101, 0, + 102, 103, 0, 0, 0, 0, 0, 0, 0, 104, + 105, 0, 0, 106, 0, 107, 0, 0, 0, 108, + 109, 0, 0, 0, 0, 0, 110, 111, 112, 113, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 115, 116, 117, 0, 118, 119, 0, 120, 121, 0, 122, 0, 0, 123, 124, 125, 126, 127, 0, 128, 129, 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 0, 0, 139, 0, 140, 141, 0, 0, 142, + 138, 89, 90, 139, 0, 140, 141, 0, 0, 142, 143, 0, 144, 0, 145, 146, 147, 148, 149, 150, - 151, 0, 152, 153, 154, 155, 156, 89, 90, 157, - 158, 159, 160, 161, 0, 0, 0, 162, 0, 163, - 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 227, 0, 0, 0, 0, 0, 91, 0, - 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, + 151, 0, 152, 153, 154, 155, 156, 0, 227, 157, + 158, 159, 160, 161, 91, 0, 0, 162, 0, 163, + 164, 92, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1214, 0, 0, 0, 0, 0, 93, 0, + 0, 94, 0, 0, 0, 0, 0, 95, 96, 0, + 0, 0, 0, 97, 98, 99, 0, 0, 0, 0, + 100, 0, 0, 0, 0, 0, 101, 0, 102, 103, + 0, 0, 0, 0, 0, 0, 0, 104, 105, 0, + 0, 106, 0, 107, 0, 0, 0, 108, 109, 0, + 0, 0, 0, 0, 110, 111, 112, 113, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 114, 115, 116, 117, + 0, 118, 119, 0, 120, 121, 0, 122, 0, 0, + 123, 124, 125, 126, 127, 0, 128, 129, 0, 0, + 130, 131, 132, 133, 134, 135, 136, 137, 138, 89, + 90, 139, 0, 140, 141, 0, 228, 142, 143, 0, + 144, 0, 145, 146, 147, 148, 149, 150, 151, 0, + 152, 153, 154, 155, 156, 0, 0, 157, 158, 159, + 160, 161, 91, 0, 0, 162, 0, 163, 164, 92, + 0, 0, 354, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 93, 0, 0, 94, + 0, 0, 0, 0, 0, 95, 96, 0, 0, 0, + 0, 97, 98, 99, 0, 0, 0, 0, 100, 0, + 0, 0, 0, 0, 101, 0, 102, 103, 0, 0, + 0, 0, 0, 0, 0, 104, 105, 0, 0, 106, + 0, 107, 0, 0, 0, 108, 109, 0, 0, 0, + 0, 0, 110, 111, 112, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 114, 115, 116, 117, 0, 118, + 119, 0, 120, 121, 0, 122, 0, 0, 123, 124, + 125, 126, 127, 0, 128, 129, 0, 0, 130, 131, + 132, 133, 134, 135, 136, 137, 138, 0, 0, 139, + 0, 140, 141, 0, 0, 142, 143, 0, 144, 0, + 145, 146, 147, 148, 149, 150, 151, 0, 152, 153, + 154, 155, 156, 89, 90, 157, 158, 159, 160, 161, + 0, 0, 0, 162, 0, 163, 164, 683, 0, 310, + 0, 0, 0, 684, 0, 0, 0, 685, 0, 686, + 687, 0, 0, 0, 0, 0, 91, 0, 0, 0, + 0, 0, 0, 92, 0, 688, 689, 0, 0, 0, + 690, 0, 0, 0, 691, 0, 0, 0, 692, 0, + 93, 0, 0, 94, 0, 0, 0, 0, 0, 95, + 96, 0, 0, 0, 0, 97, 98, 99, 0, 0, + 0, 0, 100, 0, 0, 693, 0, 0, 101, 0, + 102, 103, 0, 694, 0, 0, 695, 696, 0, 104, + 105, 0, 0, 106, 0, 107, 0, 0, 0, 108, + 109, 0, 0, 0, 697, 698, 110, 111, 112, 113, + 0, 0, 699, 0, 700, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 701, 0, 0, 0, 114, 115, + 116, 117, 702, 118, 119, 703, 120, 121, 704, 122, + 705, 706, 123, 124, 125, 126, 127, 707, 128, 129, + 708, 709, 130, 131, 132, 133, 134, 135, 136, 137, + 138, 710, 711, 139, 712, 140, 141, 713, 714, 142, + 143, 715, 144, 0, 145, 146, 147, 148, 149, 150, + 151, 716, 152, 153, 154, 155, 156, 717, 718, 157, + 158, 159, 160, 161, 89, 90, 719, 162, 720, 163, + 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 322, 323, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 91, 581, 0, + 0, 0, 0, 0, 582, 0, 0, 0, 0, 0, + 0, 0, 0, 583, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 94, 0, 0, 0, 0, 0, 95, 96, 0, 0, 0, 0, 97, 98, 99, 0, - 0, 0, 0, 100, 0, 0, 0, 0, 101, 0, - 102, 103, 0, 0, 0, 0, 0, 0, 0, 104, - 105, 0, 0, 106, 0, 107, 0, 0, 0, 108, - 109, 0, 0, 0, 0, 110, 111, 112, 113, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 114, 115, 116, 117, - 0, 118, 119, 0, 120, 121, 0, 122, 0, 0, - 123, 124, 125, 126, 127, 0, 128, 129, 89, 90, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 0, - 0, 139, 0, 140, 141, 0, 228, 142, 143, 0, - 144, 0, 145, 146, 147, 148, 149, 150, 151, 91, - 152, 153, 154, 155, 156, 0, 92, 157, 158, 159, - 160, 161, 0, 0, 0, 162, 0, 163, 164, 0, - 841, 0, 93, 0, 0, 94, 0, 0, 0, 0, - 0, 95, 96, 0, 0, 0, 0, 97, 98, 99, - 0, 0, 0, 0, 100, 0, 0, 0, 0, 101, + 336, 0, 337, 100, 0, 0, 0, 0, 584, 101, 0, 102, 103, 0, 0, 0, 0, 0, 0, 0, - 104, 105, 0, 842, 106, 0, 107, 0, 0, 0, - 108, 109, 0, 0, 0, 0, 110, 111, 112, 113, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 114, 115, 116, - 117, 0, 118, 119, 0, 120, 121, 0, 122, 0, - 0, 123, 124, 125, 126, 127, 0, 128, 129, 89, - 90, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 0, 0, 139, 0, 140, 141, 0, 0, 142, 143, - 0, 144, 0, 145, 146, 147, 148, 149, 150, 151, - 91, 152, 153, 154, 155, 156, 0, 92, 157, 158, - 159, 160, 161, 0, 0, 0, 162, 0, 163, 164, - 0, 0, 0, 93, 0, 0, 94, 0, 0, 0, - 0, 0, 95, 96, 0, 0, 0, 0, 97, 98, - 99, 224, 0, 0, 0, 100, 0, 0, 0, 0, - 101, 0, 102, 103, 0, 0, 0, 0, 0, 0, - 0, 104, 105, 0, 0, 106, 0, 107, 0, 0, - 0, 108, 109, 0, 0, 0, 0, 225, 111, 112, + 104, 105, 0, 0, 106, 0, 107, 0, 0, 0, + 108, 109, 0, 0, 0, 0, 0, 110, 111, 112, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 114, 115, - 116, 117, 0, 118, 119, 0, 120, 121, 0, 122, - 0, 0, 123, 124, 125, 126, 127, 0, 128, 129, - 89, 90, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 0, 0, 139, 0, 140, 141, 0, 0, 142, - 143, 0, 144, 0, 145, 146, 147, 148, 149, 150, - 151, 91, 152, 153, 154, 155, 156, 0, 92, 157, - 158, 159, 160, 161, 0, 0, 0, 162, 0, 163, - 164, 0, 0, 0, 93, 0, 0, 94, 0, 0, - 0, 0, 0, 95, 96, 0, 0, 0, 0, 97, - 98, 99, 0, 0, 0, 0, 100, 0, 0, 0, - 0, 101, 0, 102, 103, 0, 0, 0, 0, 0, - 0, 0, 104, 105, 0, 0, 106, 0, 107, 0, - 0, 0, 108, 109, 0, 0, 0, 0, 110, 111, - 112, 113, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, + 0, 0, 349, 0, 0, 0, 0, 0, 0, 114, 115, 116, 117, 0, 118, 119, 0, 120, 121, 0, 122, 0, 0, 123, 124, 125, 126, 127, 0, 128, - 129, 89, 90, 130, 131, 132, 133, 134, 135, 136, + 129, 0, 0, 130, 131, 132, 133, 134, 135, 136, 137, 138, 0, 0, 139, 0, 140, 141, 0, 0, - 142, 143, 601, 144, 0, 145, 146, 147, 148, 149, - 150, 151, 91, 152, 153, 154, 155, 156, 0, 92, + 142, 143, 0, 144, 0, 145, 146, 147, 148, 149, + 150, 151, 0, 152, 153, 154, 155, 156, 89, 90, 157, 158, 159, 160, 161, 0, 0, 0, 162, 0, - 163, 164, 0, 0, 0, 93, 0, 0, 94, 0, + 163, 164, 0, 0, 0, 0, 558, 0, 0, 0, + 0, 0, 559, 0, 0, 0, 0, 0, 0, 0, + 0, 91, 0, 0, 0, 0, 0, 0, 92, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 560, + 0, 0, 0, 0, 0, 93, 0, 0, 94, 0, 0, 0, 0, 0, 95, 96, 0, 0, 0, 0, 97, 98, 99, 0, 0, 0, 0, 100, 0, 0, - 0, 0, 101, 0, 102, 103, 0, 0, 0, 0, - 0, 0, 0, 104, 105, 0, 0, 106, 0, 107, - 0, 0, 0, 108, 109, 0, 0, 0, 0, 110, - 111, 112, 113, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 114, 115, 116, 117, 0, 118, 119, 0, 120, 121, - 0, 122, 0, 0, 123, 124, 125, 126, 127, 0, - 128, 129, 0, 0, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 0, 0, 139, 0, 140, 141, 0, - 0, 142, 143, 1073, 144, 0, 145, 146, 147, 148, - 149, 150, 151, 0, 152, 153, 154, 155, 156, 89, - 90, 157, 158, 159, 160, 161, 1177, 0, 0, 162, - 0, 163, 164, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 91, 0, 0, 0, 0, 0, 0, 92, 0, 0, + 0, 0, 0, 101, 0, 102, 103, 0, 0, 0, + 0, 0, 0, 561, 104, 105, 0, 0, 106, 0, + 107, 0, 0, 0, 108, 109, 0, 0, 0, 0, + 0, 110, 111, 112, 113, 0, 0, 0, 0, 0, + 0, 562, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 114, 115, 116, 117, 0, 118, 119, + 0, 120, 121, 0, 122, 0, 0, 123, 124, 125, + 126, 127, 0, 128, 129, 0, 0, 130, 131, 132, + 133, 134, 135, 136, 137, 138, 89, 90, 139, 0, + 140, 141, 0, 0, 142, 143, 0, 144, 0, 145, + 146, 147, 148, 149, 150, 151, 0, 152, 153, 154, + 155, 156, 0, 227, 157, 158, 159, 160, 161, 91, + 0, 0, 162, 0, 163, 164, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 94, 0, 0, 0, 0, 0, 95, 96, 0, 0, 0, 0, 97, 98, 99, 0, 0, 0, 0, 100, 0, 0, 0, 0, - 101, 0, 102, 103, 0, 0, 0, 0, 0, 0, - 0, 104, 105, 0, 0, 106, 0, 107, 0, 0, - 0, 108, 109, 0, 0, 0, 0, 110, 111, 112, - 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 114, 115, - 116, 117, 0, 118, 119, 0, 120, 121, 0, 122, - 0, 0, 123, 124, 125, 126, 127, 0, 128, 129, - 89, 90, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 0, 0, 139, 0, 140, 141, 0, 0, 142, - 143, 0, 144, 0, 145, 146, 147, 148, 149, 150, - 151, 91, 152, 153, 154, 155, 156, 0, 92, 157, - 158, 159, 160, 161, 0, 0, 0, 162, 0, 163, - 164, 0, 0, 0, 93, 0, 0, 94, 0, 0, - 0, 0, 0, 95, 96, 0, 0, 0, 0, 97, - 98, 99, 0, 0, 0, 0, 100, 0, 0, 0, 0, 101, 0, 102, 103, 0, 0, 0, 0, 0, 0, 0, 104, 105, 0, 0, 106, 0, 107, 0, - 0, 0, 108, 109, 0, 0, 0, 0, 110, 111, - 112, 113, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 108, 109, 0, 0, 0, 0, 0, 110, + 111, 112, 113, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 114, 115, 116, 117, 0, 118, 119, 0, 120, + 121, 0, 122, 0, 0, 123, 124, 125, 126, 127, + 0, 128, 129, 0, 0, 130, 131, 132, 133, 134, + 135, 136, 137, 138, 89, 90, 139, 0, 140, 141, + 0, 228, 142, 143, 0, 144, 0, 145, 146, 147, + 148, 149, 150, 151, 0, 152, 153, 154, 155, 156, + 0, 0, 157, 158, 159, 160, 161, 91, 0, 0, + 162, 0, 163, 164, 92, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 863, + 0, 93, 0, 0, 94, 0, 0, 0, 0, 0, + 95, 96, 0, 0, 0, 0, 97, 98, 99, 0, + 0, 0, 0, 100, 0, 0, 0, 0, 0, 101, + 0, 102, 103, 0, 0, 0, 0, 0, 0, 0, + 104, 105, 0, 864, 106, 0, 107, 0, 0, 0, + 108, 109, 0, 0, 0, 0, 0, 110, 111, 112, + 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 115, 116, 117, 0, 118, 119, 0, 120, 121, 0, 122, 0, 0, 123, 124, 125, 126, 127, 0, 128, - 129, 89, 90, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 0, 0, 139, 0, 140, 141, 0, 0, + 129, 0, 0, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 89, 90, 139, 0, 140, 141, 0, 0, 142, 143, 0, 144, 0, 145, 146, 147, 148, 149, - 150, 151, 91, 152, 153, 154, 155, 156, 0, 92, - 157, 158, 159, 160, 161, 0, 0, 0, 162, 0, - 163, 164, 0, 0, 0, 93, 0, 0, 94, 0, + 150, 151, 0, 152, 153, 154, 155, 156, 0, 0, + 157, 158, 159, 160, 161, 91, 0, 0, 162, 0, + 163, 164, 92, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, + 0, 0, 94, 0, 0, 0, 0, 0, 95, 96, + 0, 0, 0, 0, 97, 98, 99, 224, 0, 0, + 0, 100, 0, 0, 0, 0, 0, 101, 0, 102, + 103, 0, 0, 0, 0, 0, 0, 0, 104, 105, + 0, 0, 106, 0, 107, 0, 0, 0, 108, 109, + 0, 0, 0, 0, 0, 225, 111, 112, 113, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 114, 115, 116, + 117, 0, 118, 119, 0, 120, 121, 0, 122, 0, + 0, 123, 124, 125, 126, 127, 0, 128, 129, 0, + 0, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 89, 90, 139, 0, 140, 141, 0, 0, 142, 143, + 0, 144, 0, 145, 146, 147, 148, 149, 150, 151, + 0, 152, 153, 154, 155, 156, 0, 0, 157, 158, + 159, 160, 161, 91, 0, 0, 162, 0, 163, 164, + 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, + 94, 0, 0, 0, 0, 0, 95, 96, 0, 0, + 0, 0, 97, 98, 99, 0, 0, 0, 0, 100, + 0, 0, 0, 0, 0, 101, 0, 102, 103, 0, + 0, 0, 0, 0, 0, 0, 104, 105, 0, 0, + 106, 0, 107, 0, 0, 0, 108, 109, 0, 0, + 0, 0, 0, 110, 111, 112, 113, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 114, 115, 116, 117, 0, + 118, 119, 0, 120, 121, 0, 122, 0, 0, 123, + 124, 125, 126, 127, 0, 128, 129, 0, 0, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 89, 90, + 139, 0, 140, 141, 0, 0, 142, 143, 610, 144, + 0, 145, 146, 147, 148, 149, 150, 151, 0, 152, + 153, 154, 155, 156, 0, 0, 157, 158, 159, 160, + 161, 91, 0, 0, 162, 0, 163, 164, 92, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 93, 0, 0, 94, 0, 0, 0, 0, 0, 95, 96, 0, 0, 0, 0, 97, 98, 99, 0, 0, 0, 0, 100, 0, 0, - 0, 0, 101, 0, 102, 103, 0, 0, 0, 0, - 0, 0, 0, 104, 105, 0, 0, 106, 0, 107, - 0, 0, 0, 108, 109, 0, 0, 0, 0, 248, - 111, 112, 113, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 114, 115, 116, 117, 0, 118, 119, 0, 120, 121, - 0, 122, 0, 0, 123, 124, 125, 126, 127, 0, - 128, 129, 89, 90, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 0, 0, 139, 0, 140, 141, 0, - 0, 142, 143, 0, 144, 0, 145, 146, 147, 148, - 149, 150, 151, 91, 152, 153, 154, 155, 156, 0, - 92, 157, 158, 159, 160, 161, 0, 0, 0, 162, - 0, 163, 164, 0, 0, 0, 93, 0, 0, 94, - 0, 0, 0, 0, 0, 95, 96, 0, 0, 0, - 0, 97, 98, 99, 0, 0, 0, 0, 100, 0, 0, 0, 0, 101, 0, 102, 103, 0, 0, 0, 0, 0, 0, 0, 104, 105, 0, 0, 106, 0, 107, 0, 0, 0, 108, 109, 0, 0, 0, 0, - 250, 111, 112, 113, 0, 0, 0, 0, 0, 0, + 0, 110, 111, 112, 113, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 114, 115, 116, 117, 0, 118, 119, + 0, 120, 121, 0, 122, 0, 0, 123, 124, 125, + 126, 127, 0, 128, 129, 0, 0, 130, 131, 132, + 133, 134, 135, 136, 137, 138, 89, 90, 139, 0, + 140, 141, 0, 1209, 142, 143, 1101, 144, 0, 145, + 146, 147, 148, 149, 150, 151, 0, 152, 153, 154, + 155, 156, 0, 0, 157, 158, 159, 160, 161, 91, + 0, 0, 162, 0, 163, 164, 92, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 93, 0, 0, 94, 0, 0, 0, + 0, 0, 95, 96, 0, 0, 0, 0, 97, 98, + 99, 0, 0, 0, 0, 100, 0, 0, 0, 0, + 0, 101, 0, 102, 103, 0, 0, 0, 0, 0, + 0, 0, 104, 105, 0, 0, 106, 0, 107, 0, + 0, 0, 108, 109, 0, 0, 0, 0, 0, 110, + 111, 112, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 115, 116, 117, 0, 118, 119, 0, 120, 121, 0, 122, 0, 0, 123, 124, 125, 126, 127, 0, 128, 129, 0, 0, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 0, 0, 139, 0, 140, 141, + 135, 136, 137, 138, 89, 90, 139, 0, 140, 141, 0, 0, 142, 143, 0, 144, 0, 145, 146, 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, 156, - 0, 0, 157, 158, 159, 160, 161, 0, 0, 1, - 162, 0, 163, 164, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 3, 0, 0, 4, 0, 5, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, - 7, 0, 0, 0, 8, 9, 10, 0, 0, 0, - 11, 0, 0, 0, 0, 0, 12, 0, 0, 0, - 0, 321, 322, 13, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 91, 327, 0, - 0, 0, 0, 0, 471, 0, 0, 0, 0, 0, - 331, 0, 332, 0, 0, 0, 0, 0, 0, 0, - 93, 0, 0, 0, 14, 333, 15, 0, 0, 16, - 17, 0, 0, 0, 0, 0, 98, 99, 0, 334, - 0, 335, 0, 0, 18, 0, 338, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, - 0, 0, 0, 0, 0, 0, 20, 21, 0, 109, - 621, 0, 0, 0, 472, 473, 22, 23, 0, 0, - 0, 0, 344, 0, 0, 0, 0, 24, 25, 346, - 26, 0, 0, 27, 0, 114, 0, 0, 474, 28, - 321, 322, 0, 0, 0, 0, 0, 29, 0, 0, - 0, 0, 0, 0, 30, 0, 91, 327, 0, 0, - 31, 0, 32, 471, 0, 0, 0, 0, 0, 331, - 0, 332, 0, 0, 0, 0, 0, 0, 0, 93, - 0, 0, 0, 0, 333, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 348, 98, 99, 0, 334, 0, - 335, 0, 0, 0, 0, 338, 0, 475, 241, 0, - 310, 351, 352, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 109, 321, - 322, 0, 0, 472, 473, 0, 0, 0, 0, 0, - 0, 344, 0, 0, 0, 91, 327, 0, 346, 0, - 0, 0, 471, 0, 114, 0, 0, 474, 0, 0, - 332, 0, 0, 0, 0, 0, 0, 0, 93, 0, - 0, 0, 0, 333, 0, 0, 0, 0, 0, 0, - 321, 322, 0, 0, 98, 99, 0, 334, 0, 335, - 0, 0, 0, 0, 338, 0, 91, 327, 0, 0, - 0, 0, 0, 471, 0, 0, 0, 0, 0, 0, - 0, 332, 0, 348, 0, 0, 0, 109, 0, 93, - 0, 0, 472, 473, 333, 0, 475, 241, 0, 310, - 351, 352, 0, 0, 0, 98, 99, 346, 334, 0, - 335, 0, 0, 114, 0, 338, 474, 0, 0, 0, + 0, 0, 157, 158, 159, 160, 161, 91, 0, 0, + 162, 0, 163, 164, 92, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 93, 0, 0, 94, 0, 0, 0, 0, 0, + 95, 96, 0, 0, 0, 0, 97, 98, 99, 0, + 0, 0, 0, 100, 0, 0, 0, 0, 0, 101, + 0, 102, 103, 0, 0, 0, 0, 0, 0, 0, + 104, 105, 0, 0, 106, 0, 107, 0, 0, 0, + 108, 109, 0, 0, 0, 0, 0, 110, 111, 112, + 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, + 115, 116, 117, 0, 118, 119, 0, 120, 121, 0, + 122, 0, 0, 123, 124, 125, 126, 127, 0, 128, + 129, 0, 0, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 89, 90, 139, 0, 140, 141, 0, 0, + 142, 143, 0, 144, 0, 145, 146, 147, 148, 149, + 150, 151, 0, 152, 153, 154, 155, 156, 0, 0, + 157, 158, 159, 160, 161, 91, 0, 0, 162, 0, + 163, 164, 92, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, + 0, 0, 94, 0, 0, 0, 0, 0, 95, 96, + 0, 0, 0, 0, 97, 98, 99, 0, 0, 0, + 0, 100, 0, 0, 0, 0, 0, 101, 0, 102, + 103, 0, 0, 0, 0, 0, 0, 0, 104, 105, + 0, 0, 106, 0, 107, 0, 0, 0, 108, 109, + 0, 0, 0, 0, 0, 248, 111, 112, 113, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 114, 115, 116, + 117, 0, 118, 119, 0, 120, 121, 0, 122, 0, + 0, 123, 124, 125, 126, 127, 0, 128, 129, 0, + 0, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 89, 90, 139, 0, 140, 141, 0, 0, 142, 143, + 0, 144, 0, 145, 146, 147, 148, 149, 150, 151, + 0, 152, 153, 154, 155, 156, 0, 0, 157, 158, + 159, 160, 161, 91, 0, 0, 162, 0, 163, 164, + 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, + 94, 0, 0, 0, 0, 0, 95, 96, 0, 0, + 0, 0, 97, 98, 99, 0, 0, 0, 0, 100, + 0, 0, 0, 0, 0, 101, 0, 102, 103, 0, + 0, 0, 0, 0, 0, 0, 104, 105, 0, 0, + 106, 0, 107, 0, 0, 0, 108, 109, 0, 0, + 0, 0, 0, 250, 111, 112, 113, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 114, 115, 116, 117, 0, + 118, 119, 0, 120, 121, 0, 122, 0, 0, 123, + 124, 125, 126, 127, 0, 128, 129, 0, 0, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 0, 0, + 139, 0, 140, 141, 0, 0, 142, 143, 0, 144, + 0, 145, 146, 147, 148, 149, 150, 151, 0, 152, + 153, 154, 155, 156, 0, 0, 157, 158, 159, 160, + 161, 0, 0, 1, 162, 0, 163, 164, 2, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, + 0, 0, 4, 0, 5, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6, 0, 7, 0, 0, 0, + 8, 0, 9, 10, 0, 0, 0, 11, 0, 0, + 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, + 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 322, 323, 0, 0, 0, 0, 0, + 0, 0, 14, 0, 15, 0, 0, 16, 17, 0, + 91, 329, 0, 0, 0, 0, 0, 481, 0, 0, + 0, 0, 0, 18, 333, 0, 334, 0, 0, 0, + 0, 0, 0, 0, 93, 0, 0, 0, 19, 335, + 0, 0, 0, 0, 0, 0, 20, 21, 0, 0, + 98, 99, 0, 336, 0, 337, 22, 23, 0, 0, + 0, 341, 0, 0, 0, 0, 0, 24, 25, 0, + 26, 0, 0, 27, 0, 0, 0, 0, 0, 28, + 0, 0, 0, 0, 109, 637, 0, 29, 0, 0, + 482, 483, 0, 0, 30, 0, 0, 0, 347, 0, + 31, 0, 32, 0, 0, 349, 322, 323, 0, 0, + 0, 0, 114, 0, 0, 484, 0, 0, 0, 0, + 0, 0, 0, 91, 329, 0, 0, 0, 0, 0, + 481, 0, 0, 0, 0, 0, 0, 333, 0, 334, + 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, + 0, 0, 335, 0, 0, 0, 0, 0, 0, 322, + 323, 0, 0, 98, 99, 0, 336, 0, 337, 0, + 0, 351, 0, 0, 341, 0, 91, 329, 0, 0, + 0, 0, 0, 481, 485, 241, 0, 310, 354, 355, + 0, 0, 334, 0, 0, 0, 0, 109, 0, 0, + 93, 0, 0, 482, 483, 335, 0, 0, 0, 0, + 0, 347, 0, 0, 0, 0, 98, 99, 349, 336, + 0, 337, 0, 0, 0, 114, 0, 341, 484, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 109, 0, - 0, 0, 0, 472, 473, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 346, 0, - 0, 0, 0, 0, 114, 0, 0, 474, 0, 0, - 0, 808, 348, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 475, 0, 0, 0, 0, + 109, 0, 0, 0, 0, 0, 482, 483, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 349, 0, 0, 0, 0, 0, 0, 114, 0, + 0, 484, 0, 0, 351, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 485, 241, 0, + 310, 354, 355, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 348, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 475 + 0, 0, 0, 0, 0, 0, 0, 351, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 485 }; static const short yycheck[] = { 3, - 529, 171, 6, 238, 371, 200, 183, 803, 25, 391, - 197, 813, 611, 17, 18, 981, 20, 849, 850, 189, - 24, 1249, 621, 467, 28, 29, 30, 31, 860, 654, - 975, 656, 657, 411, 920, 540, 1205, 6, 1415, 1416, - 9, 50, 223, 20, 18, 6, 23, 6, 37, 5, - 24, 7, 37, 37, 28, 63, 52, 31, 38, 511, - 6, 8, 322, 130, 1497, 1498, 1175, 37, 115, 52, - 38, 124, 3, 517, 51, 335, 124, 52, 38, 38, - 84, 61, 640, 641, 642, 643, 42, 71, 37, 16, - 124, 124, 85, 61, 711, 712, 713, 714, 715, 124, - 875, 61, 61, 53, 52, 42, 1542, 1543, 1541, 561, - 84, 728, 6, 99, 47, 37, 146, 94, 79, 1496, - 315, 38, 137, 318, 222, 223, 141, 107, 124, 205, - 1566, 124, 110, 36, 95, 38, 122, 107, 205, 107, - 8, 91, 122, 173, 121, 123, 40, 223, 107, 82, - 925, 204, 876, 80, 122, 125, 223, 10, 61, 34, - 82, 528, 122, 122, 211, 169, 533, 115, 172, 173, - 101, 108, 176, 177, 10, 179, 180, 358, 226, 183, - 228, 108, 57, 187, 188, 52, 119, 191, 1357, 193, - 194, 195, 226, 226, 228, 169, 200, 201, 73, 74, - 460, 226, 926, 228, 107, 122, 180, 224, 188, 140, - 219, 655, 1645, 187, 218, 36, 205, 38, 226, 122, - 205, 205, 1018, 1019, 1333, 156, 172, 173, 184, 188, - 226, 106, 236, 179, 239, 239, 1122, 208, 837, 1071, - 61, 245, 609, 226, 218, 191, 207, 193, 205, 223, - 227, 226, 877, 183, 215, 201, 205, 132, 227, 206, - 73, 57, 236, 1640, 47, 10, 223, 214, 215, 216, - 217, 245, 63, 207, 177, 246, 147, 73, 225, 646, - 285, 285, 1451, 117, 818, 302, 107, 207, 822, 1517, - 224, 20, 296, 106, 60, 800, 25, 131, 1264, 82, - 20, 122, 927, 174, 224, 922, 205, 222, 37, 13, - 106, 315, 227, 142, 318, 319, 874, 934, 935, 936, - 937, 938, 939, 205, 223, 883, 884, 885, 886, 887, - 888, 51, 1326, 514, 160, 1329, 119, 202, 206, 105, - 311, 223, 359, 1512, 58, 1514, 214, 215, 216, 217, - 296, 718, 81, 206, 58, 176, 177, 225, 211, 212, - 213, 214, 215, 216, 217, 94, 70, 384, 385, 386, - 206, 100, 225, 205, 94, 545, 142, 20, 214, 215, - 216, 217, 13, 387, 388, 52, 768, 110, 226, 225, - 228, 58, 121, 397, 37, 195, 196, 779, 415, 403, - 852, 121, 223, 220, 1290, 205, 227, 411, 216, 217, - 207, 4, 416, 387, 388, 204, 9, 225, 215, 423, - 424, 160, 15, 397, 187, 429, 19, 58, 432, 433, - 58, 194, 876, 437, 216, 217, 182, 889, 81, 70, - 818, 67, 204, 225, 822, 96, 85, 891, 892, 226, - 424, 94, 1254, 81, 8, 216, 217, 100, 902, 13, - 133, 206, 466, 207, 225, 209, 1091, 1092, 1093, 214, - 215, 216, 217, 85, 445, 446, 447, 423, 121, 8, - 225, 452, 926, 429, 13, 108, 432, 433, 940, 493, - 206, 495, 206, 464, 85, 1440, 212, 213, 942, 85, - 214, 215, 216, 217, 58, 1130, 1131, 1132, 216, 217, - 64, 225, 516, 226, 518, 228, 70, 225, 133, 490, - 226, 492, 228, 1489, 226, 1491, 228, 81, 47, 58, - 226, 1148, 228, 139, 88, 64, 216, 217, 905, 133, - 514, 70, 226, 995, 228, 225, 550, 541, 542, 543, - 1079, 64, 81, 734, 220, 216, 1085, 738, 226, 88, - 228, 742, 81, 82, 226, 746, 228, 130, 34, 750, - 226, 47, 228, 754, 227, 10, 64, 758, 206, 130, - 226, 762, 228, 211, 212, 213, 214, 215, 216, 217, - 227, 57, 596, 10, 1238, 1239, 1240, 1241, 1242, 1243, - 119, 226, 606, 228, 550, 81, 82, 73, 74, 163, - 614, 67, 226, 584, 228, 586, 587, 588, 589, 227, - 204, 205, 596, 207, 178, 209, 226, 226, 228, 228, - 634, 226, 105, 228, 163, 33, 640, 641, 642, 643, - 106, 226, 129, 119, 85, 832, 833, 113, 114, 178, - 163, 226, 206, 228, 831, 227, 227, 211, 212, 213, - 214, 215, 216, 217, 1108, 178, 132, 207, 849, 850, - 226, 225, 228, 93, 228, 163, 226, 206, 228, 860, - 227, 127, 211, 212, 213, 214, 215, 216, 217, 143, - 178, 227, 227, 206, 148, 227, 225, 1341, 226, 228, - 228, 214, 215, 216, 217, 159, 227, 711, 712, 713, - 714, 715, 225, 894, 53, 169, 170, 226, 206, 228, - 59, 227, 227, 19, 728, 227, 214, 215, 216, 217, - 69, 227, 227, 227, 1378, 227, 1265, 225, 77, 193, - 1572, 223, 223, 1387, 1388, 1389, 1390, 1391, 1392, 1393, - 1394, 90, 1396, 584, 10, 586, 587, 588, 589, 222, - 227, 765, 222, 767, 103, 130, 181, 10, 785, 1221, - 107, 167, 186, 85, 778, 50, 780, 115, 52, 19, - 107, 120, 786, 115, 115, 789, 115, 791, 792, 793, - 794, 765, 115, 767, 222, 799, 111, 814, 225, 803, - 804, 206, 806, 228, 778, 130, 987, 228, 812, 214, - 215, 216, 217, 226, 818, 832, 833, 52, 822, 222, - 225, 1273, 179, 228, 23, 227, 227, 831, 832, 833, - 834, 85, 66, 66, 838, 206, 840, 841, 812, 1291, - 786, 845, 227, 214, 215, 216, 217, 206, 794, 853, - 854, 1647, 88, 824, 225, 214, 215, 216, 217, 13, - 211, 832, 833, 153, 93, 191, 225, 85, 211, 158, - 874, 875, 226, 228, 226, 849, 850, 1521, 211, 883, - 884, 885, 886, 887, 888, 1267, 860, 858, 206, 1271, - 1071, 1335, 838, 107, 840, 125, 214, 215, 216, 217, - 108, 872, 22, 227, 58, 52, 228, 225, 228, 228, - 64, 228, 228, 106, 74, 1282, 70, 227, 922, 227, - 1004, 925, 1006, 1007, 1008, 1009, 1010, 1011, 227, 227, - 934, 935, 936, 937, 938, 939, 228, 228, 133, 227, - 223, 228, 224, 1395, 228, 211, 227, 918, 1547, 227, - 227, 206, 923, 924, 227, 227, 211, 212, 213, 214, - 215, 216, 217, 227, 227, 227, 227, 227, 227, 110, - 225, 975, 222, 228, 978, 227, 227, 981, 227, 227, - 121, 227, 123, 227, 58, 227, 227, 128, 227, 227, - 227, 161, 94, 134, 135, 227, 227, 138, 1450, 227, - 1004, 975, 1006, 1007, 1008, 1009, 1010, 1011, 149, 163, - 211, 228, 227, 130, 1018, 1019, 157, 124, 130, 160, - 225, 1403, 50, 1193, 178, 1029, 1030, 206, 1045, 1033, - 228, 1413, 1227, 212, 213, 214, 215, 216, 217, 180, - 1492, 1493, 228, 228, 227, 58, 225, 188, 189, 225, - 227, 226, 206, 1057, 228, 228, 197, 211, 212, 213, - 214, 215, 216, 217, 228, 228, 1518, 206, 27, 228, - 228, 225, 228, 1602, 216, 214, 215, 216, 217, 228, - 55, 124, 115, 1029, 55, 66, 225, 201, 1059, 3, - 206, 227, 6, 227, 227, 227, 227, 1071, 214, 215, - 216, 217, 82, 17, 18, 66, 20, 50, 10, 225, - 24, 88, 1196, 115, 28, 29, 30, 31, 164, 204, - 1204, 227, 54, 228, 1208, 228, 1210, 228, 228, 1213, - 1214, 1215, 1216, 1217, 1218, 1219, 1220, 228, 228, 1223, - 13, 206, 224, 227, 1148, 1229, 211, 212, 213, 214, - 215, 216, 217, 228, 227, 65, 206, 228, 228, 228, - 225, 211, 212, 213, 214, 215, 216, 217, 228, 228, - 84, 1175, 226, 1177, 15, 228, 228, 228, 56, 228, - 228, 228, 150, 1187, 228, 58, 228, 228, 1192, 228, - 228, 64, 1196, 228, 228, 37, 228, 70, 228, 228, - 1204, 1175, 37, 199, 1208, 225, 1210, 152, 81, 1213, - 1214, 1215, 1216, 1217, 1218, 1219, 1220, 227, 227, 1223, - 227, 227, 227, 1227, 44, 1229, 87, 228, 228, 228, - 228, 228, 226, 228, 1238, 1239, 1240, 1241, 1242, 1243, - 1257, 1187, 1259, 1625, 8, 228, 1192, 90, 65, 13, - 228, 120, 228, 226, 1258, 169, 228, 205, 172, 173, - 1264, 8, 176, 177, 227, 179, 180, 100, 228, 183, - 225, 72, 97, 187, 188, 1359, 67, 191, 1448, 193, - 194, 195, 222, 227, 1258, 226, 200, 201, 6, 228, - 163, 177, 228, 228, 58, 228, 89, 228, 387, 8, - 64, 228, 228, 85, 218, 178, 70, 151, 107, 195, - 15, 228, 227, 162, 204, 227, 227, 81, 120, 228, - 228, 1338, 236, 226, 88, 239, 4, 222, 1563, 1333, - 224, 245, 220, 206, 50, 228, 220, 1341, 211, 212, - 213, 214, 215, 216, 217, 86, 84, 226, 0, 0, - 33, 563, 225, 811, 261, 1359, 1591, 1592, 1039, 1333, - 405, 386, 804, 789, 1036, 8, 1230, 791, 1458, 1555, - 13, 285, 1577, 1527, 1378, 1559, 1460, 466, 1047, 1613, - 833, 1616, 296, 1387, 1388, 1389, 1390, 1391, 1392, 1393, - 1394, 1572, 1396, 27, 806, 834, 246, 14, 316, 163, - 393, 315, 1491, 614, 318, 319, 495, 1565, 1379, 1380, - 1595, 1490, 197, 298, 178, 58, 1592, 32, 1045, 333, - 406, 64, 845, 1603, 1573, 513, 1604, 70, 1596, 1495, - 1327, 1622, 348, 1120, 348, 518, 1440, 778, 81, 194, - 1536, 1177, 206, -1, -1, 88, 514, 211, 212, 213, - 214, 215, 216, 217, -1, -1, 1460, -1, 1462, -1, - -1, 225, -1, -1, 228, -1, 1440, -1, -1, -1, - 1487, -1, -1, 387, 388, -1, -1, -1, -1, -1, - -1, -1, 1486, 397, -1, 1489, -1, 1491, -1, 403, - -1, 1495, -1, -1, -1, -1, -1, 411, -1, -1, - -1, -1, 416, -1, -1, -1, -1, -1, -1, 423, - 424, -1, -1, -1, -1, 429, -1, 1521, 432, 433, - 163, -1, -1, 437, -1, -1, -1, -1, 8, -1, - -1, -1, -1, 13, -1, 178, -1, 451, -1, -1, - 1486, -1, -1, -1, 1561, -1, -1, -1, -1, -1, - -1, 640, 641, 642, 643, 8, -1, -1, -1, -1, - 13, -1, -1, 206, -1, -1, 1570, -1, 211, 212, - 213, 214, 215, 216, 217, -1, -1, -1, 58, 493, - 466, -1, 225, -1, 64, 228, -1, -1, -1, -1, - 70, -1, -1, -1, -1, -1, 1613, 511, 1572, 1570, - -1, 81, 516, -1, 518, 58, -1, -1, 88, 495, - -1, 64, -1, -1, 8, -1, -1, 70, 1622, 13, - 1624, -1, 711, 712, 713, 714, 715, -1, 81, -1, - -1, -1, -1, -1, -1, 88, 550, -1, -1, 728, - -1, -1, -1, 1647, -1, -1, -1, 561, -1, 110, - -1, 1622, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 123, -1, 58, -1, -1, 128, -1, -1, - 64, -1, -1, 134, 135, -1, 70, 138, -1, -1, - -1, -1, 596, 163, -1, -1, -1, 81, 149, 778, - -1, -1, 606, 13, 88, -1, 157, -1, 178, 160, - 614, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 163, -1, -1, -1, -1, -1, -1, -1, -1, 180, - 634, 182, -1, -1, -1, 178, 206, 188, 189, -1, - -1, 211, 212, 213, 214, 215, 216, 217, 58, -1, - -1, -1, -1, -1, 64, 225, -1, -1, 228, -1, - 70, -1, -1, 206, 640, 641, 642, 643, 211, 212, - 213, 214, 215, 216, 217, -1, -1, -1, -1, 163, - -1, -1, 225, 226, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 178, 874, 875, -1, -1, -1, - -1, -1, -1, -1, 883, 884, 885, 886, 887, 888, + 539, 171, 6, 238, 208, 200, 620, 375, 825, 183, + 871, 872, 25, 17, 18, 197, 20, 454, 1003, 189, + 24, 1009, 835, 637, 28, 29, 30, 31, 889, 549, + 395, 415, 39, 948, 1281, 55, 6, 120, 6, 6, + 477, 9, 246, 521, 18, 1237, 323, 223, 21, 5, + 24, 7, 25, 39, 28, 1449, 1450, 31, 66, 1032, + 337, 1034, 1035, 1036, 1037, 1038, 1039, 74, 39, 669, + 55, 671, 672, 21, 1531, 1532, 39, 21, 446, 55, + 84, 54, 1207, 27, 3, 129, 39, 53, 44, 129, + 527, 55, 570, 50, 40, 39, 905, 239, 906, 89, + 733, 734, 735, 736, 737, 129, 54, 311, 39, 129, + 84, 45, 211, 63, 152, 82, 122, 750, 1575, 55, + 315, 149, 153, 318, 8, 98, 154, 84, 40, 86, + 229, 137, 99, 44, 217, 193, 1530, 165, 8, 129, + 84, 179, 200, 285, 953, 129, 954, 175, 176, 180, + 98, 66, 64, 126, 98, 86, 120, 10, 111, 109, + 104, 16, 550, 551, 552, 169, 56, 124, 172, 173, + 538, 199, 176, 177, 542, 179, 180, 130, 126, 183, + 129, 127, 126, 187, 188, 361, 105, 191, 232, 193, + 194, 195, 232, 470, 234, 169, 200, 201, 148, 1391, + 134, 112, 172, 173, 211, 95, 180, 129, 232, 179, + 234, 224, 232, 187, 218, 127, 136, 656, 657, 658, + 659, 191, 1679, 193, 232, 211, 210, 146, 83, 1046, + 1047, 201, 236, 670, 190, 239, 208, 10, 1099, 1154, + 211, 245, 1367, 162, 218, 859, 213, 232, 211, 223, + 618, 455, 456, 457, 221, 1228, 232, 112, 462, 225, + 233, 50, 236, 1236, 6, 233, 213, 1240, 215, 1242, + 474, 245, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, + 1674, 285, 1255, 232, 50, 234, 50, 211, 1261, 302, + 60, 211, 296, 1485, 662, 84, 500, 86, 502, 114, + 42, 38, 822, 40, 1551, 229, 76, 907, 1296, 229, + 232, 315, 234, 128, 318, 319, 320, 950, 1360, 148, + 86, 1363, 86, 6, 213, 13, 296, 64, 212, 962, + 963, 964, 965, 966, 967, 124, 220, 221, 222, 223, + 110, 230, 212, 571, 189, 76, 213, 231, 524, 362, + 220, 221, 222, 223, 1546, 955, 1548, 40, 124, 212, + 124, 231, 13, 230, 217, 218, 219, 220, 221, 222, + 223, 166, 740, 61, 111, 388, 389, 390, 231, 110, + 211, 64, 840, 103, 554, 73, 844, 391, 392, 593, + 127, 595, 596, 597, 598, 1576, 1577, 401, 229, 55, + 878, 228, 229, 407, 10, 61, 419, 127, 211, 1324, + 61, 415, 222, 223, 211, 114, 420, 391, 392, 1600, + 1393, 231, 73, 427, 428, 790, 229, 401, 111, 433, + 201, 202, 436, 437, 222, 223, 801, 441, 143, 212, + 211, 919, 147, 231, 127, 182, 183, 220, 221, 222, + 223, 232, 226, 234, 428, 210, 840, 427, 231, 40, + 844, 222, 223, 433, 188, 904, 436, 437, 166, 906, + 231, 40, 476, 1286, 913, 914, 915, 916, 917, 918, + 213, 67, 228, 64, 921, 922, 70, 233, 221, 1474, + 968, 212, 229, 930, 21, 64, 233, 218, 219, 503, + 232, 505, 234, 210, 100, 1270, 1271, 1272, 1273, 1274, + 1275, 194, 39, 89, 222, 223, 61, 954, 13, 36, + 232, 1494, 526, 231, 528, 1125, 1126, 1127, 756, 232, + 111, 234, 760, 970, 89, 1523, 764, 1525, 89, 232, + 768, 234, 111, 60, 772, 1023, 127, 1180, 776, 38, + 524, 40, 780, 112, 139, 559, 784, 84, 127, 76, + 77, 89, 1162, 1163, 1164, 933, 61, 232, 1107, 234, + 145, 98, 67, 222, 223, 64, 4, 104, 73, 1118, + 756, 9, 231, 169, 760, 139, 139, 15, 764, 559, + 226, 19, 768, 110, 222, 232, 772, 234, 184, 126, + 776, 605, 210, 211, 780, 213, 212, 215, 784, 233, + 1375, 615, 136, 194, 220, 221, 222, 223, 232, 623, + 234, 138, 111, 10, 628, 231, 212, 232, 232, 234, + 234, 605, 136, 233, 220, 221, 222, 223, 127, 232, + 10, 234, 846, 70, 232, 231, 234, 1412, 109, 35, + 854, 855, 656, 657, 658, 659, 1421, 1422, 1423, 1424, + 1425, 1426, 1427, 1428, 135, 1430, 593, 212, 595, 596, + 597, 598, 854, 855, 169, 220, 221, 222, 223, 853, + 89, 233, 212, 887, 232, 232, 231, 234, 213, 184, + 220, 221, 222, 223, 183, 871, 872, 233, 902, 875, + 212, 231, 233, 1140, 234, 97, 132, 883, 220, 221, + 222, 223, 232, 889, 234, 233, 67, 212, 232, 231, + 234, 20, 217, 218, 219, 220, 221, 222, 223, 733, + 734, 735, 736, 737, 233, 232, 231, 234, 232, 232, + 234, 234, 946, 971, 229, 1606, 750, 951, 952, 233, + 978, 979, 233, 981, 982, 233, 984, 985, 1297, 987, + 988, 233, 990, 991, 233, 993, 994, 233, 996, 997, + 212, 999, 1000, 233, 233, 1253, 56, 233, 220, 221, + 222, 223, 62, 787, 232, 789, 234, 233, 233, 231, + 1555, 232, 72, 234, 807, 232, 800, 234, 802, 229, + 80, 233, 10, 228, 808, 228, 136, 811, 187, 813, + 814, 815, 816, 787, 94, 789, 233, 821, 169, 10, + 111, 825, 826, 836, 828, 173, 800, 107, 192, 1307, + 834, 89, 53, 184, 120, 55, 840, 134, 808, 1015, + 844, 854, 855, 228, 228, 125, 816, 1325, 20, 853, + 854, 855, 856, 36, 111, 120, 860, 120, 862, 863, + 834, 212, 61, 867, 1681, 120, 120, 116, 136, 220, + 221, 222, 223, 231, 234, 879, 880, 60, 234, 232, + 231, 55, 228, 1087, 185, 84, 233, 25, 233, 69, + 860, 69, 862, 76, 77, 233, 13, 871, 872, 89, + 904, 905, 217, 92, 97, 197, 159, 89, 164, 913, + 914, 915, 916, 917, 918, 889, 111, 8, 232, 217, + 1148, 217, 13, 1099, 1152, 234, 232, 110, 130, 233, + 24, 112, 1369, 1109, 1299, 118, 119, 55, 77, 1304, + 234, 234, 110, 233, 61, 234, 950, 234, 1316, 953, + 67, 1429, 234, 1181, 233, 138, 73, 233, 962, 963, + 964, 965, 966, 967, 212, 234, 233, 1581, 234, 212, + 61, 233, 220, 221, 222, 223, 67, 220, 221, 222, + 223, 139, 73, 231, 234, 8, 230, 229, 231, 234, + 13, 61, 233, 84, 233, 233, 233, 233, 233, 1003, + 233, 92, 1006, 233, 233, 1009, 1484, 233, 233, 233, + 233, 233, 217, 212, 233, 233, 233, 233, 217, 218, + 219, 220, 221, 222, 223, 228, 233, 233, 1032, 1003, + 1034, 1035, 1036, 1037, 1038, 1039, 233, 233, 61, 233, + 167, 233, 1046, 1047, 67, 98, 234, 233, 1526, 1527, + 73, 217, 169, 1057, 1058, 1225, 233, 1061, 136, 136, + 1073, 84, 129, 46, 1259, 53, 177, 184, 231, 92, + 234, 233, 1437, 234, 1552, 234, 61, 231, 169, 234, + 233, 1085, 1447, 234, 195, 234, 234, 1057, 234, 234, + 1318, 234, 234, 184, 1322, 212, 232, 1636, 29, 212, + 217, 218, 219, 220, 221, 222, 223, 220, 221, 222, + 223, 58, 222, 129, 231, 120, 58, 207, 231, 233, + 69, 212, 86, 69, 233, 1099, 217, 218, 219, 220, + 221, 222, 223, 233, 233, 233, 92, 53, 10, 120, + 231, 170, 57, 234, 212, 3, 169, 210, 6, 217, + 218, 219, 220, 221, 222, 223, 230, 233, 233, 17, + 18, 184, 20, 231, 68, 234, 24, 15, 234, 234, + 28, 29, 30, 31, 212, 234, 1180, 234, 234, 233, + 218, 219, 220, 221, 222, 223, 234, 234, 234, 212, + 234, 320, 234, 231, 217, 218, 219, 220, 221, 222, + 223, 234, 232, 1207, 59, 1209, 234, 234, 231, 1413, + 1414, 234, 234, 234, 234, 1219, 234, 234, 39, 234, + 1224, 234, 234, 234, 1228, 234, 84, 234, 234, 156, + 234, 234, 1236, 1207, 39, 205, 1240, 231, 1242, 158, + 233, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1219, + 47, 1255, 91, 233, 1224, 1259, 233, 1261, 233, 233, + 232, 234, 391, 234, 94, 234, 1270, 1271, 1272, 1273, + 1274, 1275, 234, 234, 212, 234, 1289, 234, 1291, 217, + 218, 219, 220, 221, 222, 223, 1290, 68, 125, 234, + 234, 234, 1296, 231, 1659, 212, 234, 13, 232, 211, + 217, 218, 219, 220, 221, 222, 223, 8, 233, 104, + 234, 169, 1482, 231, 172, 173, 1290, 75, 176, 177, + 70, 179, 180, 101, 234, 183, 228, 232, 234, 187, + 188, 234, 233, 191, 234, 193, 194, 195, 234, 6, + 93, 234, 200, 201, 8, 61, 234, 476, 89, 157, + 111, 67, 15, 234, 233, 168, 210, 73, 233, 1372, + 218, 234, 1597, 1367, 233, 476, 125, 234, 84, 232, + 4, 1375, 228, 230, 226, 234, 505, 53, 236, 226, + 90, 239, 88, 232, 114, 0, 0, 245, 33, 1393, + 1625, 1626, 1067, 1367, 505, 261, 126, 572, 128, 409, + 1604, 390, 833, 133, 811, 826, 1064, 813, 1412, 1589, + 140, 141, 1262, 1492, 144, 1650, 1561, 1421, 1422, 1423, + 1424, 1425, 1426, 1427, 1428, 155, 1430, 285, 13, 1593, + 1606, 828, 1611, 163, 1647, 1075, 166, 856, 296, 855, + 27, 14, 246, 397, 623, 316, 1599, 1525, 1629, 1524, + 197, 1626, 1656, 169, 298, 1073, 186, 315, 32, 867, + 318, 319, 320, 523, 194, 195, 1637, 1607, 184, 410, + 1474, 1630, 1638, 203, 1529, 1361, 61, 335, 1656, 8, + 1152, 351, 67, 528, 13, 625, 194, 800, 73, 524, + 1494, 1209, 1496, 351, 1570, -1, 212, -1, -1, -1, + 1474, 217, 218, 219, 220, 221, 222, 223, 1521, -1, + -1, -1, -1, -1, -1, 231, 1520, -1, -1, 1523, + -1, 1525, -1, -1, -1, 1529, 13, 656, 657, 658, + 659, -1, 61, 391, 392, -1, -1, -1, 67, -1, + -1, -1, 13, 401, 73, 656, 657, 658, 659, 407, + 1520, 1555, -1, -1, -1, 84, -1, 415, -1, -1, + -1, -1, 420, 92, -1, -1, -1, -1, -1, 427, + 428, -1, -1, -1, 61, 433, -1, -1, 436, 437, + 67, -1, 1595, 441, 169, -1, 73, -1, -1, -1, + 61, -1, -1, -1, -1, -1, 67, 84, -1, 184, + 1604, -1, 73, 461, 733, 734, 735, 736, 737, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 750, 733, 734, 735, 736, 737, 212, -1, -1, + -1, -1, 1606, -1, 1647, 220, 221, 222, 223, 750, + 169, -1, -1, -1, -1, 503, 231, -1, -1, -1, + -1, -1, 1656, -1, 1658, 184, -1, -1, -1, -1, + -1, -1, -1, 521, 8, -1, -1, -1, 526, 13, + 528, 800, -1, -1, -1, -1, -1, 1681, -1, -1, + -1, -1, 169, 212, -1, -1, -1, -1, 217, 218, + 219, 220, 221, 222, 223, -1, -1, 184, 169, -1, + -1, 559, 231, -1, -1, 234, -1, -1, -1, -1, + 821, -1, 570, 184, -1, -1, -1, 61, -1, -1, + -1, -1, -1, 67, -1, 212, -1, -1, -1, 73, + 217, 218, 219, 220, 221, 222, 223, -1, -1, -1, + 84, 212, -1, -1, 231, -1, -1, 605, 92, 220, + 221, 222, 223, -1, -1, -1, -1, 615, -1, -1, + 231, -1, -1, -1, -1, 623, -1, -1, -1, -1, + 628, -1, -1, -1, -1, 904, 905, -1, -1, -1, + -1, -1, -1, -1, 913, 914, 915, 916, 917, 918, + -1, -1, -1, 904, 905, -1, -1, -1, -1, 320, + -1, -1, 913, 914, 915, 916, 917, 918, -1, 13, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 206, -1, -1, -1, -1, 211, 212, 213, - 214, 215, 216, 217, -1, 711, 712, 713, 714, 715, - -1, 225, 226, 922, -1, -1, 925, -1, -1, -1, - -1, -1, 728, 163, -1, 934, 935, 936, 937, 938, - 939, 765, -1, 767, -1, -1, -1, -1, 178, -1, - -1, -1, -1, -1, 778, -1, 780, -1, -1, -1, - -1, -1, 786, -1, -1, 789, -1, 791, 792, 793, - 794, -1, -1, -1, -1, -1, 206, -1, -1, 803, - 804, -1, 806, -1, 214, 215, 216, 217, 812, -1, - -1, -1, -1, -1, 818, 225, -1, -1, 822, -1, - -1, -1, -1, 799, -1, -1, -1, 831, 832, 833, - 834, -1, -1, -1, 838, -1, 840, 841, -1, -1, - 387, 845, -1, -1, 13, -1, -1, -1, 852, 853, - 854, -1, -1, -1, 34, 35, -1, -1, -1, -1, - -1, 41, -1, -1, -1, -1, -1, -1, -1, 49, - -1, 8, -1, -1, 11, -1, 13, 57, -1, -1, - -1, -1, 62, -1, -1, 889, -1, -1, -1, 58, - -1, -1, -1, 73, 74, 64, -1, -1, 874, 875, - -1, 70, 39, 83, -1, -1, -1, 883, 884, 885, - 886, 887, 888, -1, 562, -1, -1, -1, -1, -1, - -1, 58, -1, -1, -1, -1, 106, 64, -1, -1, - -1, 111, 112, 70, -1, -1, 940, -1, -1, 943, - -1, -1, -1, -1, 81, -1, 922, -1, -1, 925, - -1, 88, 132, -1, -1, 135, -1, -1, 934, 935, - 936, 937, 938, 939, -1, 13, -1, -1, -1, 1148, - -1, 975, -1, -1, 978, -1, -1, 981, -1, 336, - -1, -1, -1, -1, -1, -1, -1, 124, -1, -1, - -1, 995, -1, 350, 163, -1, 353, -1, 355, 356, - 357, 358, -1, -1, -1, -1, -1, -1, -1, 178, - 58, -1, -1, -1, 1018, 1019, 64, -1, -1, -1, - -1, -1, 70, -1, 204, 1029, 163, -1, 1004, 1033, - 1006, 1007, 1008, 1009, 1010, 1011, -1, 206, -1, -1, - -1, 178, 211, 212, 213, 214, 215, 216, 217, -1, - -1, -1, -1, 1057, 1030, -1, 225, -1, -1, -1, - -1, -1, -1, -1, 421, -1, -1, -1, -1, 206, - -1, -1, -1, -1, 211, 212, 213, 214, 215, 216, - 217, -1, -1, -1, 441, -1, 734, -1, 225, -1, - 738, -1, -1, -1, 742, -1, -1, -1, 746, -1, - -1, -1, 750, -1, -1, -1, 754, -1, -1, -1, - 758, -1, -1, 470, 762, 163, -1, -1, -1, -1, - -1, -1, 479, -1, -1, -1, -1, -1, -1, -1, - 178, -1, -1, -1, 8, -1, 10, 494, -1, 13, - -1, 498, -1, 500, -1, 1149, 503, 504, 505, 506, - 507, 508, 509, 510, -1, -1, -1, -1, 206, -1, - -1, -1, -1, -1, 212, 213, 214, 215, 216, 217, - -1, 1175, 1148, 1177, -1, -1, -1, 225, -1, -1, - -1, -1, -1, 1187, 58, -1, -1, -1, 1192, -1, - 64, -1, -1, -1, -1, -1, 70, -1, -1, -1, - -1, 1205, -1, -1, -1, -1, -1, 81, -1, -1, - -1, -1, -1, -1, 88, -1, -1, 1221, -1, -1, - 1196, -1, -1, 1227, -1, -1, -1, -1, 1204, -1, - -1, 778, 1208, -1, 1210, -1, -1, 1213, 1214, 1215, - 1216, 1217, 1218, 1219, 1220, -1, -1, 1223, -1, -1, - -1, -1, 799, 1229, 1258, -1, -1, -1, -1, -1, - 1264, -1, 1238, 1239, 1240, 1241, 1242, 1243, -1, 1273, + -1, 950, -1, -1, 953, 169, -1, 8, -1, -1, + -1, -1, 13, 962, 963, 964, 965, 966, 967, 950, + 184, -1, 953, -1, -1, -1, -1, -1, -1, -1, + -1, 962, 963, 964, 965, 966, 967, 61, -1, -1, + -1, -1, -1, 67, -1, -1, -1, -1, 212, 73, + 391, -1, -1, 217, 218, 219, 220, 221, 222, 223, + 61, -1, -1, -1, -1, -1, 67, 231, -1, -1, + 234, 13, 73, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 84, -1, -1, -1, -1, -1, -1, + -1, 92, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1032, -1, 1034, 1035, 1036, 1037, 1038, 1039, 787, + -1, 789, -1, -1, -1, -1, -1, -1, -1, 61, + -1, -1, 800, -1, 802, 67, -1, 1058, -1, -1, + 808, 73, -1, 811, -1, 813, 814, 815, 816, -1, + -1, -1, -1, -1, -1, 169, -1, 825, 826, -1, + 828, -1, -1, -1, -1, -1, 834, -1, -1, -1, + 184, -1, 840, -1, -1, -1, 844, -1, 169, -1, + -1, -1, -1, -1, -1, 853, 854, 855, 856, -1, + -1, -1, 860, 184, 862, 863, -1, 8, 212, 867, + -1, -1, 13, -1, 218, 219, 220, 221, 222, 223, + 878, 879, 880, -1, -1, -1, -1, 231, -1, -1, + -1, 212, -1, -1, -1, -1, 217, 218, 219, 220, + 221, 222, 223, -1, -1, -1, -1, 169, -1, -1, + 231, 1180, -1, 234, -1, -1, -1, -1, -1, 338, + 61, 919, 184, -1, -1, -1, 67, -1, -1, 1180, + -1, -1, 73, -1, 353, -1, -1, 356, -1, 358, + 359, 360, 361, 84, -1, -1, -1, -1, -1, -1, + 212, 92, -1, -1, -1, -1, 218, 219, 220, 221, + 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, + 968, -1, -1, 971, -1, -1, 8, 1228, -1, -1, + -1, 13, -1, -1, -1, 1236, -1, -1, -1, 1240, + -1, 1242, -1, -1, 1245, 1246, 1247, 1248, 1249, 1250, + 1251, 1252, -1, -1, 1255, 1003, 425, -1, 1006, -1, + 1261, 1009, -1, -1, -1, -1, -1, -1, -1, 1270, + 1271, 1272, 1273, 1274, 1275, 1023, -1, -1, 169, 61, + -1, 450, -1, -1, -1, 67, -1, -1, -1, -1, + -1, 73, -1, 184, -1, 1296, -1, -1, 1046, 1047, + -1, -1, 84, -1, 473, -1, -1, -1, -1, 1057, + 92, 480, 8, 1061, -1, -1, -1, 13, -1, -1, + 489, 212, -1, -1, -1, -1, 217, 218, 219, 220, + 221, 222, 223, -1, -1, 504, -1, 1085, -1, 508, + 231, 510, -1, 234, 513, 514, 515, 516, 517, 518, + 519, 520, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 61, -1, -1, -1, -1, + -1, 67, -1, -1, 1375, -1, -1, 73, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 169, 84, 800, + -1, -1, 1393, -1, -1, -1, 92, -1, -1, -1, + -1, -1, 184, -1, -1, -1, -1, -1, -1, -1, + 821, 1412, -1, -1, -1, -1, -1, -1, -1, -1, + 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, -1, 1430, + 212, -1, -1, 1181, -1, 217, 218, 219, 220, 221, + 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, + 232, -1, -1, 8, -1, 624, -1, -1, 13, 1207, + -1, 1209, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1219, -1, 169, -1, -1, 1224, -1, -1, -1, + 8, -1, -1, 11, -1, 13, -1, -1, 184, 1237, + -1, -1, -1, 1494, -1, -1, -1, -1, -1, -1, + 669, -1, 671, 672, -1, 1253, 61, -1, -1, -1, + 679, 1259, 67, 41, -1, -1, 212, -1, 73, -1, + -1, 217, 218, 219, 220, 221, 222, 223, -1, 84, + -1, -1, -1, 61, -1, 231, 232, 92, -1, 67, + -1, 8, 1290, -1, -1, 73, 13, -1, 1296, -1, + -1, -1, -1, -1, 1555, -1, 84, -1, -1, 1307, + 971, -1, -1, -1, 92, -1, -1, -1, -1, 738, + -1, -1, -1, -1, -1, -1, -1, 1325, -1, -1, + -1, -1, -1, 752, -1, -1, -1, 756, 1336, -1, + -1, 760, -1, -1, 61, 764, -1, -1, -1, 768, + 67, 129, -1, 772, -1, -1, 73, 776, -1, -1, + 476, 780, -1, -1, 169, 784, -1, 84, -1, 1367, + -1, 1032, -1, 1034, 1035, 1036, 1037, 1038, 1039, 184, + -1, -1, -1, -1, -1, -1, -1, 1385, -1, 505, + -1, 169, -1, 1391, -1, -1, -1, 1058, -1, -1, + -1, -1, -1, -1, -1, -1, 184, 212, -1, -1, + -1, -1, 217, 218, 219, 220, 221, 222, 223, -1, + -1, -1, -1, -1, -1, -1, 231, 232, -1, -1, + -1, 1429, 8, -1, 212, -1, -1, 13, -1, 217, + 218, 219, 220, 221, 222, 223, -1, -1, -1, -1, + -1, -1, 169, 231, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 882, -1, -1, -1, 184, -1, -1, + 1468, -1, -1, 892, -1, -1, 1474, -1, -1, -1, + -1, -1, 901, -1, -1, 61, 1484, 1485, 907, -1, + -1, 67, -1, -1, 1492, 212, -1, 73, 1496, -1, + 217, 218, 219, 220, 221, 222, 223, -1, 84, -1, + -1, -1, -1, 932, 231, -1, 92, -1, -1, -1, + 1181, -1, 1520, 36, 37, 1523, -1, 1525, 1526, 1527, + 43, 1529, -1, -1, -1, -1, 955, -1, -1, 52, + 656, 657, 658, 659, -1, -1, -1, 60, 1546, -1, + 1548, -1, 65, -1, 1552, -1, -1, -1, -1, -1, + -1, -1, -1, 76, 77, -1, -1, 1228, -1, -1, + -1, -1, -1, -1, 87, 1236, 1237, -1, -1, 1240, + -1, 1242, -1, -1, 1245, 1246, 1247, 1248, 1249, 1250, + 1251, 1252, -1, 169, 1255, -1, -1, 110, -1, -1, + 1261, -1, -1, 116, 117, -1, 1604, -1, 184, 1270, + 1271, 1272, 1273, 1274, 1275, -1, -1, 733, 734, 735, + 736, 737, -1, -1, -1, 138, -1, -1, 141, -1, + -1, -1, -1, -1, 750, -1, 212, 114, -1, -1, + -1, 217, 218, 219, 220, 221, 222, 223, -1, 225, + -1, 128, -1, -1, 230, 231, 133, -1, 1656, -1, + 1658, -1, -1, 140, 141, -1, 8, 144, 10, -1, + -1, 13, -1, -1, -1, 1336, -1, -1, 155, -1, + -1, -1, -1, 1681, -1, -1, 163, -1, -1, 166, + -1, -1, -1, -1, -1, -1, -1, 210, -1, -1, + -1, -1, -1, -1, -1, 821, 1125, 1126, 1127, 186, + -1, 188, -1, -1, 1375, -1, -1, 194, 195, 61, + -1, -1, -1, -1, 1385, 67, -1, -1, -1, -1, + 1391, 73, 1393, 1152, -1, -1, -1, -1, -1, -1, + -1, -1, 84, 1162, 1163, 1164, -1, -1, -1, -1, + 92, 1412, -1, -1, -1, -1, -1, -1, -1, -1, + 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, -1, 1430, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1291, 1264, 163, - -1, -1, -1, -1, -1, 943, -1, 654, 1302, 656, - 657, -1, 950, 951, 178, 953, 954, 664, 956, 957, - -1, 959, 960, -1, 962, 963, -1, 965, 966, -1, - 968, 969, -1, 971, 972, -1, -1, -1, -1, 1333, - -1, -1, 206, -1, -1, -1, -1, 211, 212, 213, - 214, 215, 216, 217, -1, -1, -1, 1351, -1, -1, - 466, 225, -1, 1357, -1, -1, -1, -1, -1, 716, - -1, -1, -1, -1, -1, 1341, -1, -1, -1, -1, - -1, -1, -1, 730, -1, -1, -1, 734, -1, 495, - -1, 738, -1, 1359, -1, 742, -1, -1, 13, 746, - -1, 1395, -1, 750, -1, -1, 943, 754, -1, -1, - -1, 758, 1378, -1, -1, 762, -1, -1, -1, -1, - -1, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, -1, - 1396, -1, -1, -1, 8, -1, 10, -1, -1, 13, - 1434, -1, -1, 58, -1, -1, 1440, -1, -1, 64, - -1, -1, -1, -1, -1, 70, 1450, 1451, -1, -1, - -1, -1, -1, -1, 1458, -1, -1, 1004, 1462, 1006, - 1007, 1008, 1009, 1010, 1011, -1, -1, -1, 1116, -1, - -1, -1, 1120, -1, 58, -1, -1, -1, -1, -1, - 64, -1, 1486, 1030, 1460, 1489, 70, 1491, 1492, 1493, - -1, 1495, -1, -1, -1, -1, -1, 81, -1, -1, - -1, 1149, -1, -1, 88, -1, 863, 8, 1512, -1, - 1514, -1, 13, -1, 1518, -1, -1, -1, -1, -1, - 877, -1, -1, -1, 640, 641, 642, 643, -1, -1, - -1, -1, -1, -1, -1, -1, 893, -1, 163, -1, - -1, -1, -1, -1, -1, 1521, -1, 904, -1, -1, - -1, -1, -1, 178, -1, -1, -1, 58, -1, -1, - -1, -1, -1, 64, -1, -1, 1570, -1, -1, 70, - 927, -1, -1, -1, -1, -1, -1, -1, -1, 163, - 81, 206, -1, -1, -1, -1, -1, 88, -1, 214, - 215, 216, 217, -1, 178, 711, 712, 713, 714, 715, - 225, -1, 1149, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 728, -1, -1, -1, -1, -1, 1622, -1, - 1624, -1, 206, -1, -1, -1, -1, 211, 212, 213, - 214, 215, 216, 217, -1, -1, 1284, -1, -1, -1, - 1288, 225, -1, 1647, -1, -1, -1, -1, -1, 1196, - -1, -1, -1, -1, -1, -1, -1, 1204, 1205, -1, - -1, 1208, 163, 1210, -1, -1, 1213, 1214, 1215, 1216, - 1217, 1218, 1219, 1220, -1, -1, 1223, 178, -1, -1, - -1, -1, 1229, 799, -1, -1, -1, -1, -1, -1, - -1, 1238, 1239, 1240, 1241, 1242, 1243, -1, -1, -1, - -1, -1, -1, -1, -1, 206, -1, -1, -1, -1, - 211, 212, 213, 214, 215, 216, 217, -1, 219, -1, - -1, -1, -1, 224, 225, -1, -1, 8, -1, -1, - -1, -1, 13, -1, 1091, 1092, 1093, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 904, 905, + -1, -1, -1, -1, -1, -1, -1, 913, 914, 915, + 916, 917, 918, -1, -1, -1, -1, 1468, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 8, -1, -1, 1302, -1, 13, 874, 875, - -1, -1, -1, 1120, -1, -1, -1, 883, 884, 885, - 886, 887, 888, 1130, 1131, 1132, -1, 58, -1, -1, - -1, -1, -1, 64, -1, -1, -1, -1, -1, 70, - -1, -1, -1, -1, 1341, -1, 52, -1, 8, -1, - 81, -1, 58, 13, 1351, -1, 922, 88, 64, 925, - 1357, -1, 1359, -1, 70, -1, -1, -1, 934, 935, - 936, 937, 938, 939, -1, 81, -1, 943, -1, -1, - -1, 1378, 88, -1, -1, -1, -1, -1, -1, -1, - 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 58, 1396, - -1, -1, -1, -1, 64, -1, -1, -1, -1, -1, - 70, -1, -1, -1, -1, 8, -1, -1, -1, -1, - 13, 81, -1, -1, -1, -1, -1, -1, 88, -1, - -1, -1, 163, -1, -1, -1, -1, 1434, 1004, -1, - 1006, 1007, 1008, 1009, 1010, 1011, -1, 178, -1, -1, - -1, -1, -1, -1, 1451, -1, -1, 163, -1, -1, - -1, 1458, -1, 1460, 1030, 58, -1, -1, -1, -1, - -1, 64, 178, -1, -1, 206, -1, 70, -1, -1, - 211, 212, 213, 214, 215, 216, 217, -1, 81, -1, - -1, -1, -1, 224, 225, 88, -1, -1, -1, -1, - 206, -1, -1, 163, -1, 211, 212, 213, 214, 215, - 216, 217, -1, -1, -1, 1512, 8, 1514, 178, 225, - -1, 13, -1, -1, 1521, -1, -1, -1, -1, 1336, + -1, -1, -1, -1, 1485, -1, -1, 169, -1, -1, + -1, 1492, -1, 1494, 950, -1, -1, 953, -1, -1, + -1, -1, 184, -1, -1, -1, 962, 963, 964, 965, + 966, 967, -1, -1, -1, 971, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 8, -1, -1, -1, 206, 13, -1, -1, - -1, 211, 212, 213, 214, 215, 216, 217, -1, -1, - -1, -1, -1, -1, -1, 225, 58, -1, -1, -1, - 163, -1, 64, -1, -1, -1, -1, -1, 70, -1, - -1, -1, 1148, 1149, -1, 178, -1, -1, -1, 81, - -1, -1, 58, -1, -1, -1, -1, -1, 64, -1, - -1, -1, -1, -1, 70, -1, -1, -1, -1, -1, - -1, -1, -1, 206, -1, 81, -1, -1, 211, 212, - 213, 214, 215, 216, 217, -1, -1, -1, -1, -1, - 1196, -1, 225, -1, -1, -1, -1, -1, 1204, 1205, - -1, -1, 1208, -1, 1210, -1, -1, 1213, 1214, 1215, - 1216, 1217, 1218, 1219, 1220, -1, -1, 1223, -1, -1, - -1, -1, -1, 1229, -1, -1, -1, -1, -1, -1, - -1, 163, 1238, 1239, 1240, 1241, 1242, 1243, -1, -1, - -1, -1, -1, -1, -1, -1, 178, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 163, -1, -1, + 212, -1, -1, -1, -1, 217, 218, 219, 220, 221, + 222, 223, -1, -1, -1, 1546, -1, 1548, -1, 231, + -1, -1, -1, -1, 1555, -1, 3, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 178, -1, 206, -1, -1, -1, -1, 211, - 212, 213, 214, 215, 216, 217, -1, -1, -1, -1, - -1, -1, -1, 225, -1, -1, 1302, -1, -1, -1, - 206, -1, -1, 1550, -1, 211, 212, 213, 214, 215, - 216, 217, -1, -1, -1, -1, -1, -1, -1, 225, - -1, -1, 1569, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1341, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1351, -1, -1, -1, -1, - -1, 1357, -1, 1359, -1, -1, -1, 1604, -1, -1, + -1, -1, 19, 20, -1, -1, 1032, -1, 1034, 1035, + 1036, 1037, 1038, 1039, -1, -1, -1, -1, -1, 36, + 37, -1, -1, -1, -1, -1, 43, -1, -1, -1, + -1, -1, 1058, -1, -1, 52, -1, -1, -1, -1, + -1, 1370, -1, 60, -1, -1, 63, -1, -1, -1, + -1, -1, 69, 70, -1, -1, -1, -1, 75, 76, + 77, -1, 79, -1, 81, 82, -1, -1, -1, -1, + 87, 88, -1, 90, 91, -1, -1, -1, -1, -1, + -1, -1, 99, 100, -1, -1, 103, -1, 105, -1, + -1, -1, 109, 110, -1, -1, -1, -1, -1, 116, + 117, 118, 119, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 131, -1, -1, -1, -1, -1, + -1, 138, 139, 140, 141, -1, 143, 144, -1, 146, + 147, -1, 149, -1, -1, 152, 153, 154, 155, 156, + -1, 158, 159, -1, -1, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 1180, 1181, 173, -1, 175, 176, + -1, -1, 179, 180, -1, 182, -1, 184, 185, 186, + 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, + -1, -1, 199, 200, 201, 202, 203, -1, -1, -1, + 207, -1, 209, 210, -1, -1, -1, -1, -1, -1, + -1, -1, 1228, 8, -1, -1, -1, -1, 13, -1, + 1236, 1237, -1, -1, 1240, -1, 1242, 234, -1, 1245, + 1246, 1247, 1248, 1249, 1250, 1251, 1252, -1, -1, 1255, + -1, -1, -1, -1, -1, 1261, -1, -1, -1, -1, + -1, -1, -1, -1, 1270, 1271, 1272, 1273, 1274, 1275, + 55, -1, -1, -1, -1, 1584, 61, -1, -1, 19, + 20, -1, 67, -1, -1, -1, -1, -1, 73, -1, + -1, -1, -1, -1, 1603, -1, 36, 37, -1, 84, + -1, -1, -1, 43, -1, -1, -1, 92, -1, -1, + -1, -1, 52, -1, -1, -1, -1, -1, -1, -1, + 60, -1, -1, -1, -1, 65, -1, -1, -1, 1638, + 1336, -1, -1, -1, -1, -1, 76, 77, -1, 79, + -1, 81, -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1378, -1, -1, -1, -1, -1, -1, -1, - -1, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, -1, - 1396, -1, -1, -1, 3, 4, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 17, 18, - 19, -1, -1, -1, -1, -1, -1, -1, -1, 28, - 29, 30, 31, 32, -1, 34, 35, -1, 1434, -1, - -1, -1, 41, -1, -1, -1, 45, 46, 47, -1, - 49, -1, -1, -1, -1, 1451, -1, -1, 57, -1, - -1, 60, 1458, 62, 1460, -1, -1, 66, 67, -1, - -1, -1, -1, 72, 73, 74, -1, 76, -1, 78, - 79, -1, 81, 82, 83, 84, -1, 86, 87, -1, - -1, -1, -1, 92, -1, -1, 95, 96, -1, -1, - 99, -1, 101, -1, -1, -1, 105, 106, -1, -1, - 109, -1, 111, 112, 113, 114, 1512, -1, 1514, 118, - 119, -1, -1, -1, 123, 1521, -1, 126, -1, -1, - -1, -1, -1, 132, 133, 134, 135, -1, 137, 138, - -1, 140, 141, -1, 143, -1, -1, 146, 147, 148, - 149, 150, -1, 152, 153, -1, -1, 156, 157, 158, - 159, 160, 161, 162, 163, 164, -1, -1, 167, -1, - 169, 170, -1, 172, 173, 174, -1, 176, -1, 178, - 179, 180, 181, 182, 183, 184, -1, 186, 187, 188, - 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, - -1, -1, 201, -1, 203, 204, 205, 206, 207, 208, - 209, 3, 4, -1, -1, -1, 215, 216, -1, 218, - 219, 220, -1, -1, -1, 17, 18, 19, 227, 228, - -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, - 32, -1, 34, 35, -1, -1, -1, -1, -1, 41, - -1, -1, -1, 45, 46, 47, -1, 49, -1, -1, - -1, -1, -1, -1, -1, 57, -1, -1, 60, -1, - 62, -1, -1, -1, 66, 67, -1, -1, -1, -1, - 72, 73, 74, -1, 76, -1, 78, 79, -1, 81, - 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, - 92, -1, -1, 95, 96, -1, -1, 99, -1, 101, - -1, -1, -1, 105, 106, -1, -1, 109, -1, 111, - 112, 113, 114, -1, -1, -1, 118, 119, -1, -1, - -1, 123, -1, -1, 126, -1, -1, -1, -1, -1, - 132, 133, 134, 135, -1, 137, 138, -1, 140, 141, - -1, 143, -1, -1, 146, 147, 148, 149, 150, -1, - 152, 153, -1, -1, 156, 157, 158, 159, 160, 161, - 162, 163, 164, -1, -1, 167, -1, 169, 170, -1, - 172, 173, 174, -1, 176, -1, 178, 179, 180, 181, - 182, 183, 184, -1, 186, 187, 188, 189, 190, 191, - -1, 193, 194, 195, 196, 197, -1, -1, -1, 201, - -1, 203, 204, 205, 206, 207, 208, 209, 3, 4, - -1, -1, -1, 215, -1, -1, 218, 219, 220, -1, - -1, -1, 17, 18, 19, 227, 228, -1, -1, -1, - -1, -1, -1, 28, 29, 30, 31, 32, -1, 34, - 35, -1, -1, -1, -1, -1, 41, -1, -1, -1, - 45, 46, 47, -1, 49, -1, -1, -1, -1, -1, - -1, -1, 57, -1, -1, 60, -1, 62, -1, -1, - -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, - -1, 76, -1, 78, 79, -1, 81, 82, 83, 84, - -1, 86, 87, -1, -1, -1, -1, 92, -1, -1, - 95, 96, -1, -1, 99, -1, 101, -1, -1, -1, - 105, 106, -1, -1, 109, -1, 111, 112, 113, 114, - -1, -1, -1, 118, 119, -1, -1, -1, 123, -1, - -1, 126, -1, -1, -1, -1, -1, 132, 133, 134, - 135, -1, 137, 138, -1, 140, 141, -1, 143, -1, - -1, 146, 147, 148, 149, 150, -1, 152, 153, -1, - -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, - -1, -1, 167, -1, 169, 170, -1, 172, 173, 174, - -1, 176, -1, 178, 179, 180, 181, 182, 183, 184, - -1, 186, 187, 188, 189, 190, 191, -1, 193, 194, - 195, 196, 197, -1, -1, -1, 201, -1, 203, 204, - 205, 206, 207, 208, 209, 3, 4, -1, -1, -1, - 215, -1, -1, 218, 219, 220, -1, -1, -1, 17, - 18, 19, 227, 228, -1, -1, -1, -1, -1, -1, - -1, 29, 30, 31, 32, -1, 34, 35, -1, -1, - -1, -1, -1, 41, -1, -1, -1, -1, -1, 47, - -1, 49, -1, -1, -1, -1, -1, -1, -1, 57, - -1, -1, 60, -1, 62, -1, -1, -1, 66, 67, - -1, -1, -1, -1, 72, 73, 74, -1, 76, -1, - 78, 79, -1, -1, -1, 83, 84, -1, 86, 87, - -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, - -1, 99, -1, 101, -1, -1, -1, 105, 106, -1, - -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, - -1, 119, -1, -1, -1, 123, -1, -1, 126, -1, - -1, -1, -1, -1, 132, 133, 134, 135, -1, 137, - 138, -1, 140, 141, -1, 143, -1, -1, 146, 147, - 148, 149, 150, -1, 152, 153, -1, -1, 156, 157, - 158, 159, 160, 161, 162, 163, 164, -1, -1, 167, - -1, 169, 170, -1, -1, 173, 174, -1, 176, -1, - 178, 179, 180, 181, 182, 183, 184, -1, 186, 187, - 188, 189, 190, 191, -1, 193, 194, 195, 196, 197, - 3, 4, -1, 201, -1, 203, 204, 205, 206, 207, - 208, 209, -1, -1, 17, 18, 19, 215, -1, -1, - 218, 219, 220, -1, -1, -1, -1, -1, -1, 227, - 228, 34, 35, -1, -1, -1, -1, -1, 41, -1, - -1, -1, -1, -1, 47, -1, 49, -1, -1, -1, - -1, -1, -1, -1, 57, -1, -1, 60, -1, 62, - -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, - 73, 74, -1, 76, -1, 78, 79, -1, 81, 82, - 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, - -1, -1, 95, 96, -1, -1, 99, -1, 101, -1, - -1, -1, 105, 106, -1, -1, -1, -1, 111, 112, - 113, 114, -1, -1, -1, -1, 119, -1, -1, -1, - -1, -1, -1, 126, -1, -1, -1, -1, -1, 132, - 133, 134, 135, -1, 137, 138, -1, 140, 141, -1, - 143, -1, -1, 146, 147, 148, 149, 150, -1, 152, - 153, -1, -1, 156, 157, 158, 159, 160, 161, 162, - 163, 164, -1, -1, 167, -1, 169, 170, -1, -1, - 173, 174, -1, 176, -1, 178, 179, 180, 181, 182, - 183, 184, -1, 186, 187, 188, 189, 190, 191, -1, - 193, 194, 195, 196, 197, 3, 4, -1, 201, -1, - 203, 204, 205, 206, 207, 208, 209, -1, -1, -1, - 18, 19, 215, -1, -1, 218, 219, 220, -1, -1, - -1, -1, -1, -1, 227, 228, 34, 35, -1, -1, - -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, - -1, 49, -1, -1, -1, -1, -1, -1, -1, 57, - -1, -1, 60, -1, -1, -1, -1, -1, 66, 67, - -1, -1, -1, -1, 72, 73, 74, -1, 76, -1, - 78, 79, -1, -1, -1, 83, 84, -1, 86, 87, - -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, - -1, 99, -1, 101, -1, -1, -1, 105, 106, -1, - -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 126, -1, - -1, -1, -1, -1, 132, 133, 134, 135, -1, 137, - 138, -1, 140, 141, -1, 143, -1, -1, 146, 147, - 148, 149, 150, -1, 152, 153, -1, -1, 156, 157, - 158, 159, 160, 161, 162, 163, 164, -1, -1, 167, - -1, 169, 170, -1, -1, 173, 174, -1, 176, -1, - 178, 179, 180, 181, 182, 183, 184, -1, 186, 187, - 188, 189, 190, 3, 4, 193, 194, 195, 196, 197, - -1, -1, -1, 201, 14, 203, 204, 17, 18, 19, - -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, - 30, 31, 32, -1, 34, 35, -1, -1, -1, -1, - 228, 41, -1, -1, -1, 45, 46, 47, -1, 49, - -1, -1, 52, -1, -1, -1, -1, 57, -1, -1, - 60, -1, 62, -1, -1, -1, 66, 67, 68, -1, - -1, -1, 72, 73, 74, -1, 76, -1, 78, 79, - -1, 81, 82, 83, 84, -1, 86, 87, -1, -1, - -1, -1, 92, -1, -1, 95, 96, -1, -1, 99, - -1, 101, -1, -1, -1, 105, 106, -1, -1, 109, - -1, 111, 112, 113, 114, -1, 116, -1, 118, 119, - -1, -1, -1, 123, -1, -1, 126, -1, -1, -1, - -1, -1, 132, 133, 134, 135, -1, 137, 138, -1, - 140, 141, -1, 143, -1, -1, 146, 147, 148, 149, - 150, -1, 152, 153, -1, -1, 156, 157, 158, 159, - 160, 161, 162, 163, 164, -1, -1, 167, -1, 169, - 170, -1, 172, 173, 174, -1, 176, -1, 178, 179, - 180, 181, 182, 183, 184, -1, 186, 187, 188, 189, - 190, 191, -1, 193, 194, 195, 196, 197, -1, -1, - -1, 201, -1, 203, 204, 205, 206, 207, 208, 209, - 3, 4, -1, -1, -1, 215, -1, -1, 218, 219, - 220, 14, -1, -1, 17, 18, 19, 227, -1, -1, - -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, - -1, 34, 35, -1, -1, -1, -1, -1, 41, -1, - -1, -1, 45, 46, 47, -1, 49, -1, -1, 52, - -1, -1, -1, -1, 57, -1, -1, 60, -1, 62, - -1, -1, -1, 66, 67, 68, -1, -1, -1, 72, - 73, 74, -1, 76, -1, 78, 79, -1, 81, 82, - 83, 84, -1, 86, 87, -1, -1, -1, -1, 92, - -1, -1, 95, 96, -1, -1, 99, -1, 101, -1, - -1, -1, 105, 106, -1, -1, 109, -1, 111, 112, - 113, 114, -1, 116, -1, 118, 119, -1, -1, -1, - 123, -1, -1, 126, -1, -1, -1, -1, -1, 132, - 133, 134, 135, -1, 137, 138, -1, 140, 141, -1, - 143, -1, -1, 146, 147, 148, 149, 150, -1, 152, - 153, -1, -1, 156, 157, 158, 159, 160, 161, 162, - 163, 164, -1, -1, 167, -1, 169, 170, -1, 172, - 173, 174, -1, 176, -1, 178, 179, 180, 181, 182, - 183, 184, -1, 186, 187, 188, 189, 190, 191, -1, - 193, 194, 195, 196, 197, -1, -1, -1, 201, -1, - 203, 204, 205, 206, 207, 208, 209, 3, 4, -1, - -1, -1, 215, -1, -1, 218, 219, 220, 14, -1, - -1, 17, 18, 19, 227, -1, -1, -1, -1, -1, - -1, -1, 28, 29, 30, 31, 32, -1, 34, 35, - -1, -1, -1, -1, -1, 41, -1, -1, -1, 45, - 46, 47, -1, 49, -1, -1, 52, -1, -1, -1, - -1, 57, -1, -1, 60, -1, 62, -1, -1, -1, - 66, 67, 68, -1, -1, -1, 72, 73, 74, -1, - 76, -1, 78, 79, -1, 81, 82, 83, 84, -1, - 86, 87, -1, -1, -1, -1, 92, -1, -1, 95, - 96, -1, -1, 99, -1, 101, -1, -1, -1, 105, - 106, -1, -1, 109, -1, 111, 112, 113, 114, -1, - 116, -1, 118, 119, -1, -1, -1, 123, -1, -1, - 126, -1, -1, -1, -1, -1, 132, 133, 134, 135, - -1, 137, 138, -1, 140, 141, -1, 143, -1, -1, - 146, 147, 148, 149, 150, -1, 152, 153, -1, -1, - 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, - -1, 167, -1, 169, 170, -1, 172, 173, 174, -1, - 176, -1, 178, 179, 180, 181, 182, 183, 184, -1, - 186, 187, 188, 189, 190, 191, -1, 193, 194, 195, - 196, 197, -1, -1, -1, 201, -1, 203, 204, 205, - 206, 207, 208, 209, 3, 4, -1, -1, -1, 215, - -1, -1, 218, 219, 220, -1, -1, -1, 17, 18, - 19, 227, -1, -1, -1, -1, -1, -1, -1, 28, - 29, 30, 31, 32, -1, 34, 35, -1, -1, -1, - -1, -1, 41, -1, -1, -1, 45, 46, 47, -1, - 49, -1, -1, -1, -1, -1, -1, -1, 57, -1, - -1, 60, -1, 62, -1, -1, -1, 66, 67, -1, - -1, -1, -1, 72, 73, 74, -1, 76, -1, 78, - 79, -1, 81, 82, 83, 84, -1, 86, 87, -1, - -1, -1, -1, 92, -1, -1, 95, 96, -1, -1, - 99, -1, 101, -1, -1, -1, 105, 106, -1, -1, - 109, -1, 111, 112, 113, 114, -1, -1, -1, 118, - 119, -1, -1, -1, 123, -1, -1, 126, -1, -1, - -1, -1, -1, 132, 133, 134, 135, -1, 137, 138, - -1, 140, 141, -1, 143, -1, -1, 146, 147, 148, - 149, 150, -1, 152, 153, -1, -1, 156, 157, 158, - 159, 160, 161, 162, 163, 164, -1, -1, 167, -1, - 169, 170, -1, 172, 173, 174, -1, 176, -1, 178, - 179, 180, 181, 182, 183, 184, -1, 186, 187, 188, - 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, - -1, -1, 201, -1, 203, 204, 205, 206, 207, 208, - 209, -1, -1, -1, -1, -1, 215, 216, -1, 218, - 219, 220, -1, 3, 4, -1, 6, -1, 227, 9, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 1375, + 110, -1, -1, -1, -1, -1, 116, 117, -1, 1385, + -1, -1, -1, -1, 169, 1391, -1, 1393, -1, -1, + -1, 131, -1, -1, -1, -1, -1, -1, 138, 184, + -1, 141, -1, -1, -1, -1, 1412, -1, -1, -1, + -1, -1, -1, -1, -1, 1421, 1422, 1423, 1424, 1425, + 1426, 1427, 1428, -1, 1430, -1, -1, 212, -1, -1, + -1, -1, 217, 218, 219, 220, 221, 222, 223, -1, + -1, -1, -1, -1, -1, -1, 231, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 196, 197, -1, -1, + -1, -1, 1468, -1, -1, -1, -1, -1, -1, -1, + 210, -1, -1, -1, -1, -1, -1, -1, -1, 1485, + -1, 3, 4, -1, -1, -1, 1492, -1, 1494, -1, + -1, -1, -1, -1, -1, 17, 18, 19, 20, -1, + -1, 23, -1, -1, -1, -1, -1, -1, 30, 31, + 32, 33, 34, -1, 36, 37, -1, -1, -1, -1, + -1, 43, -1, -1, -1, -1, 48, 49, 50, -1, + 52, -1, -1, -1, -1, -1, -1, -1, 60, -1, + 1546, 63, 1548, 65, -1, -1, -1, 69, 70, 1555, + -1, -1, -1, 75, 76, 77, -1, 79, -1, 81, + 82, -1, 84, 85, 86, 87, 88, -1, 90, 91, + -1, -1, -1, -1, 96, -1, -1, 99, 100, -1, + -1, 103, -1, 105, -1, -1, -1, 109, 110, -1, + -1, 113, -1, -1, 116, 117, 118, 119, -1, -1, + -1, 123, 124, -1, -1, -1, 128, -1, -1, 131, + -1, -1, -1, -1, -1, -1, 138, 139, 140, 141, + -1, 143, 144, -1, 146, 147, -1, 149, -1, -1, + 152, 153, 154, 155, 156, -1, 158, 159, -1, -1, + 162, 163, 164, 165, 166, 167, 168, 169, 170, -1, + -1, 173, -1, 175, 176, -1, 178, 179, 180, -1, + 182, -1, 184, 185, 186, 187, 188, 189, 190, -1, + 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, + 202, 203, -1, -1, -1, 207, -1, 209, 210, 211, + 212, 213, 214, 215, -1, -1, -1, -1, -1, 221, + 222, -1, 224, 225, 226, 3, 4, -1, -1, -1, + -1, 233, 234, -1, -1, -1, -1, -1, -1, 17, + 18, 19, 20, -1, -1, 23, -1, -1, -1, -1, + -1, -1, 30, 31, 32, 33, 34, -1, 36, 37, + -1, -1, -1, -1, -1, 43, -1, -1, -1, -1, + 48, 49, 50, -1, 52, -1, -1, -1, -1, -1, + -1, -1, 60, -1, -1, 63, -1, 65, -1, -1, + -1, 69, 70, -1, -1, -1, -1, 75, 76, 77, + -1, 79, -1, 81, 82, -1, 84, 85, 86, 87, + 88, -1, 90, 91, -1, -1, -1, -1, 96, -1, + -1, 99, 100, -1, -1, 103, -1, 105, -1, -1, + -1, 109, 110, -1, -1, 113, -1, -1, 116, 117, + 118, 119, -1, -1, -1, 123, 124, -1, -1, -1, + 128, -1, -1, 131, -1, -1, -1, -1, -1, -1, + 138, 139, 140, 141, -1, 143, 144, -1, 146, 147, + -1, 149, -1, -1, 152, 153, 154, 155, 156, -1, + 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, + 168, 169, 170, -1, -1, 173, -1, 175, 176, -1, + 178, 179, 180, -1, 182, -1, 184, 185, 186, 187, + 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, + -1, 199, 200, 201, 202, 203, -1, -1, -1, 207, + -1, 209, 210, 211, 212, 213, 214, 215, -1, -1, + -1, -1, -1, 221, 3, 4, 224, 225, 226, -1, + -1, -1, -1, -1, -1, 233, 234, -1, 17, 18, + 19, 20, -1, -1, 23, -1, -1, -1, -1, -1, + -1, 30, 31, 32, 33, 34, -1, 36, 37, -1, + -1, -1, -1, -1, 43, -1, -1, -1, -1, 48, + 49, 50, -1, 52, -1, -1, -1, -1, -1, -1, + -1, 60, -1, -1, 63, -1, 65, -1, -1, -1, + 69, 70, -1, -1, -1, -1, 75, 76, 77, -1, + 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, + -1, 90, 91, -1, -1, -1, -1, 96, -1, -1, + 99, 100, -1, -1, 103, -1, 105, -1, -1, -1, + 109, 110, -1, -1, 113, -1, -1, 116, 117, 118, + 119, -1, -1, -1, 123, 124, -1, -1, -1, 128, + -1, -1, 131, -1, -1, -1, -1, -1, -1, 138, + 139, 140, 141, -1, 143, 144, -1, 146, 147, -1, + 149, -1, -1, 152, 153, 154, 155, 156, -1, 158, + 159, -1, -1, 162, 163, 164, 165, 166, 167, 168, + 169, 170, -1, -1, 173, -1, 175, 176, -1, 178, + 179, 180, -1, 182, -1, 184, 185, 186, 187, 188, + 189, 190, -1, 192, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, 203, -1, -1, -1, 207, -1, + 209, 210, 211, 212, 213, 214, 215, -1, -1, -1, + -1, -1, 221, 3, 4, 224, 225, 226, -1, -1, + -1, -1, -1, -1, 233, 234, -1, -1, 18, 19, + 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 31, 32, 33, 34, -1, 36, 37, -1, -1, + -1, -1, -1, 43, -1, -1, -1, -1, -1, -1, + 50, -1, 52, -1, -1, -1, -1, -1, -1, -1, + 60, -1, -1, 63, -1, 65, -1, -1, -1, 69, + 70, -1, -1, -1, -1, 75, 76, 77, -1, 79, + -1, 81, 82, -1, -1, -1, -1, 87, 88, -1, + 90, 91, -1, -1, -1, -1, -1, -1, -1, 99, + 100, -1, -1, 103, -1, 105, -1, -1, -1, 109, + 110, -1, -1, -1, -1, -1, 116, 117, 118, 119, + -1, -1, -1, -1, 124, -1, -1, -1, 128, -1, + -1, 131, -1, -1, -1, -1, -1, -1, 138, 139, + 140, 141, -1, 143, 144, -1, 146, 147, -1, 149, + -1, -1, 152, 153, 154, 155, 156, -1, 158, 159, + -1, -1, 162, 163, 164, 165, 166, 167, 168, 169, + 170, -1, -1, 173, -1, 175, 176, -1, -1, 179, + 180, -1, 182, -1, 184, 185, 186, 187, 188, 189, + 190, -1, 192, 193, 194, 195, 196, 197, -1, 199, + 200, 201, 202, 203, -1, -1, -1, 207, -1, 209, + 210, 211, 212, 213, 214, 215, -1, -1, -1, -1, + -1, 221, 3, 4, 224, 225, 226, -1, -1, -1, + -1, -1, -1, 233, 234, -1, -1, 18, 19, 20, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 36, 37, -1, -1, -1, + -1, -1, 43, -1, -1, -1, -1, -1, -1, 50, + -1, 52, -1, -1, -1, -1, -1, -1, -1, 60, + -1, -1, 63, -1, 65, -1, -1, -1, 69, 70, + -1, -1, -1, -1, 75, 76, 77, -1, 79, -1, + 81, 82, -1, 84, -1, 86, 87, 88, -1, 90, + 91, -1, -1, -1, -1, -1, -1, -1, 99, 100, + -1, -1, 103, -1, 105, -1, -1, -1, 109, 110, + -1, -1, -1, -1, -1, 116, 117, 118, 119, -1, + -1, -1, -1, 124, -1, -1, -1, -1, -1, -1, + 131, -1, -1, -1, -1, -1, -1, 138, 139, 140, + 141, -1, 143, 144, -1, 146, 147, -1, 149, -1, + -1, 152, 153, 154, 155, 156, -1, 158, 159, -1, + -1, 162, 163, 164, 165, 166, 167, 168, 169, 170, + -1, -1, 173, -1, 175, 176, -1, -1, 179, 180, + -1, 182, -1, 184, 185, 186, 187, 188, 189, 190, + -1, 192, 193, 194, 195, 196, 197, -1, 199, 200, + 201, 202, 203, -1, -1, -1, 207, -1, 209, 210, + 211, 212, 213, 214, 215, -1, -1, -1, -1, -1, + 221, -1, -1, 224, 225, 226, 3, 4, -1, -1, + -1, -1, 233, 234, -1, -1, -1, 14, -1, -1, + 17, 18, 19, 20, -1, -1, 23, -1, -1, -1, + -1, -1, -1, 30, 31, 32, 33, 34, -1, 36, + 37, -1, -1, -1, -1, -1, 43, -1, -1, -1, + -1, 48, 49, 50, -1, 52, -1, -1, 55, -1, + -1, -1, -1, 60, -1, -1, 63, -1, 65, -1, + -1, -1, 69, 70, 71, -1, -1, -1, 75, 76, + 77, -1, 79, -1, 81, 82, -1, 84, 85, 86, + 87, 88, -1, 90, 91, -1, -1, -1, -1, 96, + -1, -1, 99, 100, -1, -1, 103, -1, 105, -1, + -1, -1, 109, 110, -1, -1, 113, -1, -1, 116, + 117, 118, 119, -1, 121, -1, 123, 124, -1, -1, + -1, 128, -1, -1, 131, -1, -1, -1, -1, -1, + -1, 138, 139, 140, 141, -1, 143, 144, -1, 146, + 147, -1, 149, -1, -1, 152, 153, 154, 155, 156, + -1, 158, 159, -1, -1, 162, 163, 164, 165, 166, + 167, 168, 169, 170, -1, -1, 173, -1, 175, 176, + -1, 178, 179, 180, -1, 182, -1, 184, 185, 186, + 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, + 197, -1, 199, 200, 201, 202, 203, -1, -1, -1, + 207, -1, 209, 210, 211, 212, 213, 214, 215, -1, + -1, -1, -1, -1, 221, -1, -1, 224, 225, 226, + 3, 4, -1, -1, -1, -1, 233, -1, -1, -1, + -1, 14, -1, -1, 17, 18, 19, 20, -1, -1, + 23, -1, -1, -1, -1, -1, -1, 30, 31, 32, + 33, 34, -1, 36, 37, -1, -1, -1, -1, -1, + 43, -1, -1, -1, -1, 48, 49, 50, -1, 52, + -1, -1, 55, -1, -1, -1, -1, 60, -1, -1, + 63, -1, 65, -1, -1, -1, 69, 70, 71, -1, + -1, -1, 75, 76, 77, -1, 79, -1, 81, 82, + -1, 84, 85, 86, 87, 88, -1, 90, 91, -1, + -1, -1, -1, 96, -1, -1, 99, 100, -1, -1, + 103, -1, 105, -1, -1, -1, 109, 110, -1, -1, + 113, -1, -1, 116, 117, 118, 119, -1, 121, -1, + 123, 124, -1, -1, -1, 128, -1, -1, 131, -1, + -1, -1, -1, -1, -1, 138, 139, 140, 141, -1, + 143, 144, -1, 146, 147, -1, 149, -1, -1, 152, + 153, 154, 155, 156, -1, 158, 159, -1, -1, 162, + 163, 164, 165, 166, 167, 168, 169, 170, -1, -1, + 173, -1, 175, 176, -1, 178, 179, 180, -1, 182, + -1, 184, 185, 186, 187, 188, 189, 190, -1, 192, + 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, + 203, -1, -1, -1, 207, -1, 209, 210, 211, 212, + 213, 214, 215, -1, -1, -1, -1, -1, 221, -1, + -1, 224, 225, 226, 3, 4, -1, -1, -1, -1, + 233, -1, -1, -1, -1, 14, -1, -1, 17, 18, + 19, 20, -1, -1, 23, -1, -1, -1, -1, -1, + -1, 30, 31, 32, 33, 34, -1, 36, 37, -1, + -1, -1, -1, -1, 43, -1, -1, -1, -1, 48, + 49, 50, -1, 52, -1, -1, 55, -1, -1, -1, + -1, 60, -1, -1, 63, -1, 65, -1, -1, -1, + 69, 70, 71, -1, -1, -1, 75, 76, 77, -1, + 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, + -1, 90, 91, -1, -1, -1, -1, 96, -1, -1, + 99, 100, -1, -1, 103, -1, 105, -1, -1, -1, + 109, 110, -1, -1, 113, -1, -1, 116, 117, 118, + 119, -1, 121, -1, 123, 124, -1, -1, -1, 128, + -1, -1, 131, -1, -1, -1, -1, -1, -1, 138, + 139, 140, 141, -1, 143, 144, -1, 146, 147, -1, + 149, -1, -1, 152, 153, 154, 155, 156, -1, 158, + 159, -1, -1, 162, 163, 164, 165, 166, 167, 168, + 169, 170, -1, -1, 173, -1, 175, 176, -1, 178, + 179, 180, -1, 182, -1, 184, 185, 186, 187, 188, + 189, 190, -1, 192, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, 203, -1, -1, -1, 207, -1, + 209, 210, 211, 212, 213, 214, 215, -1, -1, -1, + -1, -1, 221, 3, 4, 224, 225, 226, -1, -1, + -1, -1, -1, -1, 233, -1, -1, 17, 18, 19, + 20, -1, -1, 23, -1, -1, -1, -1, -1, -1, + 30, 31, 32, 33, 34, -1, 36, 37, -1, -1, + -1, -1, -1, 43, -1, -1, -1, -1, 48, 49, + 50, -1, 52, -1, -1, -1, -1, -1, -1, -1, + 60, -1, -1, 63, -1, 65, -1, -1, -1, 69, + 70, -1, -1, -1, -1, 75, 76, 77, -1, 79, + -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, + 90, 91, -1, -1, -1, -1, 96, -1, -1, 99, + 100, -1, -1, 103, -1, 105, -1, -1, -1, 109, + 110, -1, -1, 113, -1, -1, 116, 117, 118, 119, + -1, -1, -1, 123, 124, -1, -1, -1, 128, -1, + -1, 131, -1, -1, -1, -1, -1, -1, 138, 139, + 140, 141, -1, 143, 144, -1, 146, 147, -1, 149, + -1, -1, 152, 153, 154, 155, 156, -1, 158, 159, + -1, -1, 162, 163, 164, 165, 166, 167, 168, 169, + 170, -1, -1, 173, -1, 175, 176, -1, 178, 179, + 180, -1, 182, -1, 184, 185, 186, 187, 188, 189, + 190, -1, 192, 193, 194, 195, 196, 197, -1, 199, + 200, 201, 202, 203, -1, -1, -1, 207, -1, 209, + 210, 211, 212, 213, 214, 215, -1, -1, -1, -1, + -1, 221, 222, -1, 224, 225, 226, -1, 3, 4, + -1, 6, -1, 233, 9, -1, -1, -1, -1, -1, + -1, -1, 17, 18, 19, 20, -1, -1, 23, -1, + -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, + -1, 36, 37, -1, -1, -1, -1, -1, 43, -1, + -1, -1, -1, 48, 49, 50, -1, 52, -1, -1, + -1, -1, -1, -1, -1, 60, -1, -1, 63, -1, + 65, -1, -1, -1, 69, 70, -1, -1, -1, -1, + 75, 76, 77, -1, 79, -1, 81, 82, -1, 84, + 85, -1, 87, 88, -1, 90, 91, -1, -1, -1, + -1, 96, -1, -1, 99, 100, -1, -1, 103, -1, + 105, -1, -1, -1, 109, 110, -1, -1, 113, -1, + -1, 116, 117, 118, 119, -1, -1, -1, 123, 124, + -1, -1, -1, 128, -1, -1, 131, -1, -1, -1, + -1, -1, -1, 138, 139, 140, 141, -1, 143, 144, + -1, 146, 147, -1, 149, -1, -1, 152, 153, 154, + 155, 156, -1, 158, 159, -1, -1, 162, 163, 164, + 165, 166, 167, 168, 169, 170, -1, -1, 173, -1, + 175, 176, -1, 178, 179, 180, -1, 182, -1, 184, + 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, + 195, 196, 197, -1, 199, 200, 201, 202, 203, -1, + -1, -1, 207, -1, 209, 210, 211, 212, 213, 214, + 215, -1, -1, -1, -1, -1, 221, -1, -1, 224, + 225, 226, -1, 3, 4, -1, 6, -1, 233, 9, + -1, -1, -1, -1, -1, -1, -1, 17, 18, 19, + 20, -1, -1, 23, -1, -1, -1, -1, -1, -1, + 30, 31, 32, 33, 34, -1, 36, 37, -1, -1, + -1, -1, -1, 43, -1, -1, -1, -1, 48, 49, + 50, -1, 52, -1, -1, -1, -1, -1, -1, -1, + 60, -1, -1, 63, -1, 65, -1, -1, -1, 69, + 70, -1, -1, -1, -1, 75, 76, 77, -1, 79, + -1, 81, 82, -1, 84, 85, -1, 87, 88, -1, + 90, 91, -1, -1, -1, -1, 96, -1, -1, 99, + 100, -1, -1, 103, -1, 105, -1, -1, -1, 109, + 110, -1, -1, 113, -1, -1, 116, 117, 118, 119, + -1, -1, -1, 123, 124, -1, -1, -1, 128, -1, + -1, 131, -1, -1, -1, -1, -1, -1, 138, 139, + 140, 141, -1, 143, 144, -1, 146, 147, -1, 149, + -1, -1, 152, 153, 154, 155, 156, -1, 158, 159, + -1, -1, 162, 163, 164, 165, 166, 167, 168, 169, + 170, -1, -1, 173, -1, 175, 176, -1, 178, 179, + 180, -1, 182, -1, 184, 185, 186, 187, 188, 189, + 190, -1, 192, 193, 194, 195, 196, 197, -1, 199, + 200, 201, 202, 203, -1, -1, -1, 207, -1, 209, + 210, 211, 212, 213, 214, 215, -1, -1, -1, -1, + -1, 221, -1, -1, 224, 225, 226, -1, 3, 4, + -1, 6, -1, 233, 9, -1, -1, -1, -1, -1, + -1, -1, 17, 18, 19, 20, -1, -1, 23, -1, + -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, + -1, 36, 37, -1, -1, -1, -1, -1, 43, -1, + -1, -1, -1, 48, 49, 50, -1, 52, -1, -1, + -1, -1, -1, -1, -1, 60, -1, -1, 63, -1, + 65, -1, -1, -1, 69, 70, -1, -1, -1, -1, + 75, 76, 77, -1, 79, -1, 81, 82, -1, 84, + 85, -1, 87, 88, -1, 90, 91, -1, -1, -1, + -1, 96, -1, -1, 99, 100, -1, -1, 103, -1, + 105, -1, -1, -1, 109, 110, -1, -1, 113, -1, + -1, 116, 117, 118, 119, -1, -1, -1, 123, 124, + -1, -1, -1, 128, -1, -1, 131, -1, -1, -1, + -1, -1, -1, 138, 139, 140, 141, -1, 143, 144, + -1, 146, 147, -1, 149, -1, -1, 152, 153, 154, + 155, 156, -1, 158, 159, -1, -1, 162, 163, 164, + 165, 166, 167, 168, 169, 170, -1, -1, 173, -1, + 175, 176, -1, 178, 179, 180, -1, 182, -1, 184, + 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, + 195, 196, 197, -1, 199, 200, 201, 202, 203, -1, + -1, -1, 207, -1, 209, 210, 211, 212, 213, 214, + 215, -1, -1, -1, -1, -1, 221, -1, -1, 224, + 225, 226, -1, 3, 4, -1, 6, -1, 233, 9, -1, -1, -1, -1, -1, -1, -1, 17, 18, 19, - -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, - 30, 31, 32, -1, 34, 35, -1, -1, -1, -1, - -1, 41, -1, -1, -1, 45, 46, 47, -1, 49, - -1, -1, -1, -1, -1, -1, -1, 57, -1, -1, - 60, -1, 62, -1, -1, -1, 66, 67, -1, -1, - -1, -1, 72, 73, 74, -1, 76, -1, 78, 79, - -1, 81, -1, 83, 84, -1, 86, 87, -1, -1, - -1, -1, 92, -1, -1, 95, 96, -1, -1, 99, - -1, 101, -1, -1, -1, 105, 106, -1, -1, 109, - -1, 111, 112, 113, 114, -1, -1, -1, 118, 119, - -1, -1, -1, 123, -1, -1, 126, -1, -1, -1, - -1, -1, 132, 133, 134, 135, -1, 137, 138, -1, - 140, 141, -1, 143, -1, -1, 146, 147, 148, 149, - 150, -1, 152, 153, -1, -1, 156, 157, 158, 159, - 160, 161, 162, 163, 164, -1, -1, 167, -1, 169, - 170, -1, 172, 173, 174, -1, 176, -1, 178, 179, - 180, 181, 182, 183, 184, -1, 186, 187, 188, 189, - 190, 191, -1, 193, 194, 195, 196, 197, -1, -1, - -1, 201, -1, 203, 204, 205, 206, 207, 208, 209, - 3, 4, -1, 6, -1, 215, 9, -1, 218, 219, - 220, -1, -1, -1, 17, 18, 19, 227, -1, -1, - -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, - -1, 34, 35, -1, -1, -1, -1, -1, 41, -1, - -1, -1, 45, 46, 47, -1, 49, -1, -1, -1, - -1, -1, -1, -1, 57, -1, -1, 60, -1, 62, - -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, - 73, 74, -1, 76, -1, 78, 79, -1, 81, -1, - 83, 84, -1, 86, 87, -1, -1, -1, -1, 92, - -1, -1, 95, 96, -1, -1, 99, -1, 101, -1, - -1, -1, 105, 106, -1, -1, 109, -1, 111, 112, - 113, 114, -1, -1, -1, 118, 119, -1, -1, -1, - 123, -1, -1, 126, -1, -1, -1, -1, -1, 132, - 133, 134, 135, -1, 137, 138, -1, 140, 141, -1, - 143, -1, -1, 146, 147, 148, 149, 150, -1, 152, - 153, -1, -1, 156, 157, 158, 159, 160, 161, 162, - 163, 164, -1, -1, 167, -1, 169, 170, -1, 172, - 173, 174, -1, 176, -1, 178, 179, 180, 181, 182, - 183, 184, -1, 186, 187, 188, 189, 190, 191, -1, - 193, 194, 195, 196, 197, -1, -1, -1, 201, -1, - 203, 204, 205, 206, 207, 208, 209, 3, 4, -1, - 6, -1, 215, 9, -1, 218, 219, 220, -1, -1, - -1, 17, 18, 19, 227, -1, -1, -1, -1, -1, - -1, -1, 28, 29, 30, 31, 32, -1, 34, 35, - -1, -1, -1, -1, -1, 41, -1, -1, -1, 45, - 46, 47, -1, 49, -1, -1, -1, -1, -1, -1, - -1, 57, -1, -1, 60, -1, 62, -1, -1, -1, - 66, 67, -1, -1, -1, -1, 72, 73, 74, -1, - 76, -1, 78, 79, -1, 81, -1, 83, 84, -1, - 86, 87, -1, -1, -1, -1, 92, -1, -1, 95, - 96, -1, -1, 99, -1, 101, -1, -1, -1, 105, - 106, -1, -1, 109, -1, 111, 112, 113, 114, -1, - -1, -1, 118, 119, -1, -1, -1, 123, -1, -1, - 126, -1, -1, -1, -1, -1, 132, 133, 134, 135, - -1, 137, 138, -1, 140, 141, -1, 143, -1, -1, - 146, 147, 148, 149, 150, -1, 152, 153, -1, -1, - 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, - -1, 167, -1, 169, 170, -1, 172, 173, 174, -1, - 176, -1, 178, 179, 180, 181, 182, 183, 184, -1, - 186, 187, 188, 189, 190, 191, -1, 193, 194, 195, - 196, 197, -1, -1, -1, 201, -1, 203, 204, 205, - 206, 207, 208, 209, 3, 4, -1, 6, -1, 215, - 9, -1, 218, 219, 220, -1, -1, -1, 17, 18, - 19, 227, -1, -1, -1, -1, -1, -1, -1, 28, - 29, 30, 31, 32, -1, 34, 35, -1, -1, -1, - -1, -1, 41, -1, -1, -1, 45, 46, 47, -1, - 49, -1, -1, -1, -1, -1, -1, -1, 57, -1, - -1, 60, -1, 62, -1, -1, -1, 66, 67, -1, - -1, -1, -1, 72, 73, 74, -1, 76, -1, 78, - 79, -1, 81, -1, 83, 84, -1, 86, 87, -1, - -1, -1, -1, 92, -1, -1, 95, 96, -1, -1, - 99, -1, 101, -1, -1, -1, 105, 106, -1, -1, - 109, -1, 111, 112, 113, 114, -1, -1, -1, 118, - 119, -1, -1, -1, 123, -1, -1, 126, -1, -1, - -1, -1, -1, 132, 133, 134, 135, -1, 137, 138, - -1, 140, 141, -1, 143, -1, -1, 146, 147, 148, - 149, 150, -1, 152, 153, -1, -1, 156, 157, 158, - 159, 160, 161, 162, 163, 164, -1, -1, 167, -1, - 169, 170, -1, 172, 173, 174, -1, 176, -1, 178, - 179, 180, 181, 182, 183, 184, -1, 186, 187, 188, - 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, - -1, -1, 201, -1, 203, 204, 205, 206, 207, 208, - 209, 3, 4, -1, 6, -1, 215, 9, -1, 218, - 219, 220, -1, -1, -1, 17, 18, 19, 227, -1, - -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, - 32, -1, 34, 35, -1, -1, -1, -1, -1, 41, - -1, -1, -1, 45, 46, 47, -1, 49, -1, -1, - -1, -1, -1, -1, -1, 57, -1, -1, 60, -1, - 62, -1, -1, -1, 66, 67, -1, -1, -1, -1, - 72, 73, 74, -1, 76, -1, 78, 79, -1, 81, - -1, 83, 84, -1, 86, 87, -1, -1, -1, -1, - 92, -1, -1, 95, 96, -1, -1, 99, -1, 101, - -1, -1, -1, 105, 106, -1, -1, 109, -1, 111, - 112, 113, 114, -1, -1, -1, 118, 119, -1, -1, - -1, 123, -1, -1, 126, -1, -1, -1, -1, -1, - 132, 133, 134, 135, -1, 137, 138, -1, 140, 141, - -1, 143, -1, -1, 146, 147, 148, 149, 150, -1, - 152, 153, -1, -1, 156, 157, 158, 159, 160, 161, - 162, 163, 164, -1, -1, 167, -1, 169, 170, -1, - 172, 173, 174, -1, 176, -1, 178, 179, 180, 181, - 182, 183, 184, -1, 186, 187, 188, 189, 190, 191, - -1, 193, 194, 195, 196, 197, -1, -1, -1, 201, - -1, 203, 204, 205, 206, 207, 208, 209, 3, 4, - -1, 6, -1, 215, 9, -1, 218, 219, 220, -1, - -1, -1, 17, 18, 19, 227, -1, -1, -1, -1, - -1, -1, -1, 28, 29, 30, 31, 32, -1, 34, - 35, -1, -1, -1, -1, -1, 41, -1, -1, -1, - 45, 46, 47, -1, 49, -1, -1, -1, -1, -1, - -1, -1, 57, -1, -1, 60, -1, 62, -1, -1, - -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, - -1, 76, -1, 78, 79, -1, 81, -1, 83, 84, - -1, 86, 87, -1, -1, -1, -1, 92, -1, -1, - 95, 96, -1, -1, 99, -1, 101, -1, -1, -1, - 105, 106, -1, -1, 109, -1, 111, 112, 113, 114, - -1, -1, -1, 118, 119, -1, -1, -1, 123, -1, - -1, 126, -1, -1, -1, -1, -1, 132, 133, 134, - 135, -1, 137, 138, -1, 140, 141, -1, 143, -1, - -1, 146, 147, 148, 149, 150, -1, 152, 153, -1, - -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, - -1, -1, 167, -1, 169, 170, -1, 172, 173, 174, - -1, 176, -1, 178, 179, 180, 181, 182, 183, 184, - -1, 186, 187, 188, 189, 190, 191, -1, 193, 194, - 195, 196, 197, -1, -1, -1, 201, -1, 203, 204, - 205, 206, 207, 208, 209, 3, 4, -1, 6, -1, - 215, 9, -1, 218, 219, 220, -1, -1, -1, 17, - 18, 19, 227, -1, -1, -1, -1, -1, -1, -1, - 28, 29, 30, 31, 32, -1, 34, 35, -1, -1, - -1, -1, -1, 41, -1, -1, -1, 45, 46, 47, - -1, 49, -1, -1, -1, -1, -1, -1, -1, 57, - -1, -1, 60, -1, 62, -1, -1, -1, 66, 67, - -1, -1, -1, -1, 72, 73, 74, -1, 76, -1, - 78, 79, -1, 81, -1, 83, 84, -1, 86, 87, - -1, -1, -1, -1, 92, -1, -1, 95, 96, -1, - -1, 99, -1, 101, -1, -1, -1, 105, 106, -1, - -1, 109, -1, 111, 112, 113, 114, -1, -1, -1, - 118, 119, -1, -1, -1, 123, -1, -1, 126, -1, - -1, -1, -1, -1, 132, 133, 134, 135, -1, 137, - 138, -1, 140, 141, -1, 143, -1, -1, 146, 147, - 148, 149, 150, -1, 152, 153, -1, -1, 156, 157, - 158, 159, 160, 161, 162, 163, 164, -1, -1, 167, - -1, 169, 170, -1, 172, 173, 174, -1, 176, -1, - 178, 179, 180, 181, 182, 183, 184, -1, 186, 187, - 188, 189, 190, 191, -1, 193, 194, 195, 196, 197, - -1, -1, -1, 201, -1, 203, 204, 205, 206, 207, - 208, 209, 3, 4, -1, -1, -1, 215, -1, -1, - 218, 219, 220, -1, -1, -1, 17, 18, 19, 227, - -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, - 31, 32, -1, 34, 35, -1, -1, -1, -1, -1, - 41, -1, -1, -1, 45, 46, 47, -1, 49, -1, - -1, 52, -1, -1, -1, -1, 57, -1, -1, 60, - -1, 62, -1, -1, -1, 66, 67, -1, -1, -1, - -1, 72, 73, 74, -1, 76, -1, 78, 79, -1, - 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, - -1, 92, -1, -1, 95, 96, -1, -1, 99, -1, - 101, -1, -1, -1, 105, 106, -1, -1, 109, -1, - 111, 112, 113, 114, -1, -1, -1, 118, 119, -1, - -1, -1, 123, -1, -1, 126, -1, -1, -1, -1, - -1, 132, 133, 134, 135, -1, 137, 138, -1, 140, - 141, -1, 143, -1, -1, 146, 147, 148, 149, 150, - -1, 152, 153, -1, -1, 156, 157, 158, 159, 160, - 161, 162, 163, 164, -1, -1, 167, -1, 169, 170, - -1, 172, 173, 174, -1, 176, -1, 178, 179, 180, - 181, 182, 183, 184, -1, 186, 187, 188, 189, 190, - 191, -1, 193, 194, 195, 196, 197, -1, -1, -1, - 201, -1, 203, 204, 205, 206, 207, 208, 209, 3, - 4, -1, -1, -1, 215, -1, -1, 218, 219, 220, - -1, -1, -1, 17, 18, 19, 227, -1, -1, -1, - -1, -1, -1, -1, 28, 29, 30, 31, 32, -1, - 34, 35, -1, -1, -1, -1, -1, 41, -1, -1, - -1, 45, 46, 47, -1, 49, -1, -1, -1, -1, - -1, -1, -1, 57, -1, -1, 60, -1, 62, -1, - -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, - 74, -1, 76, -1, 78, 79, -1, 81, 82, 83, - 84, -1, 86, 87, -1, -1, -1, -1, 92, -1, - -1, 95, 96, -1, -1, 99, -1, 101, -1, -1, - -1, 105, 106, 107, -1, 109, -1, 111, 112, 113, - 114, -1, -1, -1, 118, 119, -1, -1, -1, 123, - -1, -1, 126, -1, -1, -1, -1, -1, 132, 133, - 134, 135, -1, 137, 138, -1, 140, 141, -1, 143, - -1, -1, 146, 147, 148, 149, 150, -1, 152, 153, - -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, - 164, -1, -1, 167, -1, 169, 170, -1, 172, 173, - 174, -1, 176, -1, 178, 179, 180, 181, 182, 183, - 184, -1, 186, 187, 188, 189, 190, 191, -1, 193, - 194, 195, 196, 197, -1, -1, -1, 201, -1, 203, - 204, 205, 206, 207, 208, 209, 3, 4, -1, -1, - -1, 215, -1, -1, 218, 219, 220, -1, -1, -1, - 17, 18, 19, 227, -1, -1, -1, -1, -1, -1, - -1, 28, 29, 30, 31, 32, -1, 34, 35, -1, - -1, -1, -1, -1, 41, -1, -1, -1, 45, 46, - 47, -1, 49, -1, -1, -1, -1, -1, -1, -1, - 57, -1, -1, 60, -1, 62, -1, -1, -1, 66, - 67, -1, -1, -1, -1, 72, 73, 74, -1, 76, - -1, 78, 79, -1, 81, 82, 83, 84, -1, 86, - 87, -1, -1, -1, -1, 92, -1, -1, 95, 96, - -1, -1, 99, -1, 101, -1, -1, -1, 105, 106, - -1, -1, 109, -1, 111, 112, 113, 114, -1, -1, - -1, 118, 119, -1, -1, -1, 123, -1, -1, 126, - -1, -1, -1, -1, -1, 132, 133, 134, 135, -1, - 137, 138, -1, 140, 141, -1, 143, -1, -1, 146, - 147, 148, 149, 150, -1, 152, 153, -1, -1, 156, - 157, 158, 159, 160, 161, 162, 163, 164, -1, -1, - 167, -1, 169, 170, -1, 172, 173, 174, -1, 176, - -1, 178, 179, 180, 181, 182, 183, 184, -1, 186, - 187, 188, 189, 190, 191, -1, 193, 194, 195, 196, - 197, -1, -1, -1, 201, -1, 203, 204, 205, 206, - 207, 208, 209, 3, 4, -1, 6, -1, 215, 9, - -1, 218, 219, 220, -1, -1, -1, 17, 18, 19, - 227, -1, -1, -1, -1, -1, -1, -1, 28, 29, - 30, 31, 32, -1, 34, 35, -1, -1, -1, -1, - -1, 41, -1, -1, -1, 45, 46, 47, -1, 49, - -1, -1, -1, -1, -1, -1, -1, 57, -1, -1, - 60, -1, 62, -1, -1, -1, 66, 67, -1, -1, - -1, -1, 72, 73, 74, -1, 76, -1, 78, 79, - -1, -1, -1, 83, 84, -1, 86, 87, -1, -1, - -1, -1, 92, -1, -1, 95, 96, -1, -1, 99, - -1, 101, -1, -1, -1, 105, 106, -1, -1, 109, - -1, 111, 112, 113, 114, -1, -1, -1, 118, 119, - -1, -1, -1, 123, -1, -1, 126, -1, -1, -1, - -1, -1, 132, 133, 134, 135, -1, 137, 138, -1, - 140, 141, -1, 143, -1, -1, 146, 147, 148, 149, - 150, -1, 152, 153, -1, -1, 156, 157, 158, 159, - 160, 161, 162, 163, 164, -1, -1, 167, -1, 169, - 170, -1, 172, 173, 174, -1, 176, -1, 178, 179, - 180, 181, 182, 183, 184, -1, 186, 187, 188, 189, - 190, 191, -1, 193, 194, 195, 196, 197, -1, -1, - -1, 201, -1, 203, 204, 205, 206, 207, 208, 209, - 3, 4, -1, -1, -1, 215, -1, -1, 218, 219, - 220, -1, -1, -1, 17, 18, 19, 227, -1, -1, - -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, - -1, 34, 35, -1, -1, -1, -1, -1, 41, -1, - -1, -1, 45, 46, 47, -1, 49, -1, -1, -1, - -1, -1, -1, -1, 57, -1, -1, 60, -1, 62, - -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, - 73, 74, -1, 76, -1, 78, 79, -1, 81, -1, - 83, 84, -1, 86, 87, -1, -1, -1, -1, 92, - -1, -1, 95, 96, -1, -1, 99, -1, 101, -1, - -1, -1, 105, 106, 107, -1, 109, -1, 111, 112, - 113, 114, -1, -1, -1, 118, 119, -1, -1, -1, - 123, -1, -1, 126, -1, -1, -1, -1, -1, 132, - 133, 134, 135, -1, 137, 138, -1, 140, 141, -1, - 143, -1, -1, 146, 147, 148, 149, 150, -1, 152, - 153, -1, -1, 156, 157, 158, 159, 160, 161, 162, - 163, 164, -1, -1, 167, -1, 169, 170, -1, 172, - 173, 174, -1, 176, -1, 178, 179, 180, 181, 182, - 183, 184, -1, 186, 187, 188, 189, 190, 191, -1, - 193, 194, 195, 196, 197, -1, -1, -1, 201, -1, - 203, 204, 205, 206, 207, 208, 209, 3, 4, -1, - -1, -1, 215, -1, -1, 218, 219, 220, -1, -1, - -1, 17, 18, 19, 227, -1, -1, -1, -1, -1, - -1, -1, 28, 29, 30, 31, 32, -1, 34, 35, - -1, -1, -1, -1, -1, 41, -1, -1, -1, 45, - 46, 47, -1, 49, -1, -1, -1, -1, -1, -1, - -1, 57, -1, -1, 60, -1, 62, -1, -1, -1, - 66, 67, -1, -1, -1, -1, 72, 73, 74, -1, - 76, -1, 78, 79, -1, 81, -1, 83, 84, -1, - 86, 87, -1, -1, -1, -1, 92, -1, -1, 95, - 96, -1, -1, 99, -1, 101, -1, -1, -1, 105, - 106, -1, -1, 109, -1, 111, 112, 113, 114, -1, - -1, -1, 118, 119, -1, -1, -1, 123, -1, -1, - 126, -1, -1, -1, -1, -1, 132, 133, 134, 135, - -1, 137, 138, -1, 140, 141, -1, 143, -1, -1, - 146, 147, 148, 149, 150, -1, 152, 153, -1, -1, - 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, - -1, 167, -1, 169, 170, -1, 172, 173, 174, -1, - 176, -1, 178, 179, 180, 181, 182, 183, 184, -1, - 186, 187, 188, 189, 190, 191, -1, 193, 194, 195, - 196, 197, -1, -1, -1, 201, -1, 203, 204, 205, - 206, 207, 208, 209, 3, 4, -1, -1, -1, 215, - -1, -1, 218, 219, 220, -1, -1, -1, 17, 18, - 19, 227, -1, -1, -1, -1, -1, -1, -1, 28, - 29, 30, 31, 32, -1, 34, 35, -1, -1, -1, - -1, -1, 41, -1, -1, -1, -1, -1, 47, -1, - 49, -1, -1, -1, -1, -1, -1, -1, 57, -1, - -1, 60, -1, 62, -1, -1, -1, 66, 67, -1, - -1, -1, -1, 72, 73, 74, -1, 76, -1, 78, - 79, -1, -1, -1, 83, 84, -1, 86, 87, -1, - -1, -1, -1, 92, -1, -1, 95, 96, -1, -1, - 99, -1, 101, -1, -1, -1, 105, 106, -1, -1, - 109, -1, 111, 112, 113, 114, -1, -1, -1, 118, - 119, -1, -1, -1, 123, -1, -1, 126, -1, -1, - -1, -1, -1, 132, 133, 134, 135, -1, 137, 138, - -1, 140, 141, -1, 143, -1, -1, 146, 147, 148, - 149, 150, -1, 152, 153, -1, -1, 156, 157, 158, - 159, 160, 161, 162, 163, 164, -1, -1, 167, -1, - 169, 170, -1, 172, 173, 174, -1, 176, -1, 178, - 179, 180, 181, 182, 183, 184, -1, 186, 187, 188, - 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, - -1, -1, 201, -1, 203, 204, 205, 206, 207, 208, - 209, 3, 4, -1, -1, -1, 215, -1, -1, 218, - 219, 220, -1, -1, -1, 17, 18, 19, 227, -1, - -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, - 32, -1, 34, 35, -1, -1, -1, -1, -1, 41, - -1, -1, -1, -1, -1, 47, -1, 49, -1, -1, - -1, -1, -1, -1, -1, 57, -1, -1, 60, -1, - 62, -1, -1, -1, 66, 67, -1, -1, -1, -1, - 72, 73, 74, -1, 76, -1, 78, 79, -1, -1, - -1, 83, 84, -1, 86, 87, -1, -1, -1, -1, - 92, -1, -1, 95, 96, -1, -1, 99, -1, 101, - -1, -1, -1, 105, 106, -1, -1, 109, -1, 111, - 112, 113, 114, -1, -1, -1, 118, 119, -1, -1, - -1, 123, -1, -1, 126, -1, -1, -1, -1, -1, - 132, 133, 134, 135, -1, 137, 138, -1, 140, 141, - -1, 143, -1, -1, 146, 147, 148, 149, 150, -1, - 152, 153, -1, -1, 156, 157, 158, 159, 160, 161, - 162, 163, 164, -1, -1, 167, -1, 169, 170, -1, - 172, 173, 174, -1, 176, -1, 178, 179, 180, 181, - 182, 183, 184, -1, 186, 187, 188, 189, 190, 191, - -1, 193, 194, 195, 196, 197, -1, -1, -1, 201, - -1, 203, 204, 205, 206, 207, 208, 209, 3, 4, - -1, -1, -1, 215, -1, -1, 218, 219, 220, -1, - -1, -1, 17, 18, 19, 227, -1, -1, -1, -1, - -1, -1, -1, -1, 29, 30, 31, 32, -1, 34, - 35, -1, -1, -1, -1, -1, 41, -1, -1, -1, - -1, -1, 47, -1, 49, -1, -1, -1, -1, -1, - -1, -1, 57, -1, -1, 60, -1, 62, -1, -1, - -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, - -1, 76, -1, 78, 79, -1, -1, 82, 83, 84, - -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, - 95, 96, -1, -1, 99, -1, 101, -1, -1, -1, - 105, 106, -1, -1, -1, -1, 111, 112, 113, 114, - -1, -1, -1, -1, 119, -1, -1, -1, 123, -1, - -1, 126, -1, -1, -1, -1, -1, 132, 133, 134, - 135, -1, 137, 138, -1, 140, 141, -1, 143, -1, - -1, 146, 147, 148, 149, 150, -1, 152, 153, -1, - -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, - -1, -1, 167, -1, 169, 170, -1, -1, 173, 174, - -1, 176, -1, 178, 179, 180, 181, 182, 183, 184, - -1, 186, 187, 188, 189, 190, 191, -1, 193, 194, - 195, 196, 197, -1, -1, -1, 201, -1, 203, 204, - 205, 206, 207, 208, 209, 3, 4, -1, -1, -1, - 215, -1, -1, 218, 219, 220, -1, -1, -1, 17, - 18, 19, 227, -1, -1, -1, -1, -1, -1, -1, - -1, 29, 30, 31, 32, -1, 34, 35, -1, -1, - -1, -1, -1, 41, -1, -1, -1, -1, -1, 47, - -1, 49, -1, -1, -1, -1, -1, -1, -1, 57, - -1, -1, 60, -1, 62, -1, -1, -1, 66, 67, - -1, -1, -1, -1, 72, 73, 74, -1, 76, -1, - 78, 79, -1, -1, -1, 83, 84, -1, 86, 87, - -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, - -1, 99, -1, 101, -1, -1, -1, 105, 106, -1, - -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, - -1, 119, -1, -1, -1, 123, -1, -1, 126, -1, - -1, -1, -1, -1, 132, 133, 134, 135, -1, 137, - 138, -1, 140, 141, -1, 143, -1, -1, 146, 147, - 148, 149, 150, -1, 152, 153, -1, -1, 156, 157, - 158, 159, 160, 161, 162, 163, 164, -1, -1, 167, - -1, 169, 170, -1, -1, 173, 174, -1, 176, -1, - 178, 179, 180, 181, 182, 183, 184, -1, 186, 187, - 188, 189, 190, 191, -1, 193, 194, 195, 196, 197, - -1, -1, -1, 201, -1, 203, 204, 205, 206, 207, - 208, 209, 3, 4, -1, -1, -1, 215, -1, -1, - 218, 219, 220, -1, -1, -1, 17, 18, 19, 227, - -1, -1, -1, -1, -1, -1, -1, -1, 29, 30, - 31, 32, -1, 34, 35, -1, -1, -1, -1, -1, - 41, -1, -1, -1, -1, -1, 47, -1, 49, -1, - -1, -1, -1, -1, -1, -1, 57, -1, -1, 60, - -1, 62, -1, -1, -1, 66, 67, -1, -1, -1, - -1, 72, 73, 74, -1, 76, -1, 78, 79, -1, - -1, -1, 83, 84, -1, 86, 87, -1, -1, -1, - -1, -1, -1, -1, 95, 96, -1, -1, 99, -1, - 101, -1, -1, -1, 105, 106, -1, -1, -1, -1, - 111, 112, 113, 114, -1, -1, -1, -1, 119, -1, - -1, -1, 123, -1, -1, 126, -1, -1, -1, -1, - -1, 132, 133, 134, 135, -1, 137, 138, -1, 140, - 141, -1, 143, -1, -1, 146, 147, 148, 149, 150, - -1, 152, 153, -1, -1, 156, 157, 158, 159, 160, - 161, 162, 163, 164, -1, -1, 167, -1, 169, 170, - -1, -1, 173, 174, -1, 176, -1, 178, 179, 180, - 181, 182, 183, 184, -1, 186, 187, 188, 189, 190, - 191, -1, 193, 194, 195, 196, 197, 3, 4, -1, - 201, -1, 203, 204, 205, 206, 207, 208, 209, -1, - -1, 17, 18, 19, 215, -1, -1, 218, 219, 220, - -1, -1, 28, -1, -1, -1, 227, -1, 34, 35, - -1, -1, -1, -1, -1, 41, -1, -1, -1, -1, - -1, 47, -1, 49, -1, -1, -1, -1, -1, -1, - -1, 57, -1, -1, 60, -1, 62, -1, -1, -1, - 66, 67, -1, -1, -1, -1, 72, 73, 74, -1, - 76, -1, 78, 79, -1, -1, -1, 83, 84, -1, - 86, 87, -1, -1, -1, -1, 92, -1, -1, 95, - 96, -1, -1, 99, -1, 101, -1, -1, -1, 105, - 106, -1, -1, 109, -1, 111, 112, 113, 114, -1, - -1, -1, 118, 119, -1, -1, -1, -1, -1, -1, - 126, -1, -1, -1, -1, -1, 132, 133, 134, 135, - -1, 137, 138, -1, 140, 141, -1, 143, -1, -1, - 146, 147, 148, 149, 150, -1, 152, 153, -1, -1, - 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, - -1, 167, -1, 169, 170, -1, 172, 173, 174, -1, - 176, -1, 178, 179, 180, 181, 182, 183, 184, -1, - 186, 187, 188, 189, 190, 191, -1, 193, 194, 195, - 196, 197, 3, 4, -1, 201, -1, 203, 204, 205, - 206, 207, 208, 209, -1, -1, 17, 18, 19, 215, - -1, -1, 218, -1, -1, -1, -1, 28, -1, -1, - -1, 227, -1, 34, 35, -1, -1, -1, -1, -1, - 41, -1, -1, -1, -1, -1, 47, -1, 49, -1, - -1, -1, -1, -1, -1, -1, 57, -1, -1, 60, - -1, 62, -1, -1, -1, 66, 67, -1, -1, -1, - -1, 72, 73, 74, -1, 76, -1, 78, 79, -1, - -1, -1, 83, 84, -1, 86, 87, -1, -1, -1, - -1, 92, -1, -1, 95, 96, -1, -1, 99, -1, - 101, -1, -1, -1, 105, 106, -1, -1, 109, -1, - 111, 112, 113, 114, -1, -1, -1, 118, 119, -1, - -1, -1, -1, -1, -1, 126, -1, -1, -1, -1, - -1, 132, 133, 134, 135, -1, 137, 138, -1, 140, - 141, -1, 143, -1, -1, 146, 147, 148, 149, 150, - -1, 152, 153, -1, -1, 156, 157, 158, 159, 160, - 161, 162, 163, 164, -1, -1, 167, -1, 169, 170, - -1, 172, 173, 174, -1, 176, -1, 178, 179, 180, - 181, 182, 183, 184, -1, 186, 187, 188, 189, 190, - 191, -1, 193, 194, 195, 196, 197, 3, 4, -1, - 201, -1, 203, 204, 205, 206, 207, 208, 209, -1, - -1, 17, 18, 19, 215, -1, -1, 218, -1, -1, - -1, -1, -1, -1, -1, -1, 227, -1, 34, 35, - -1, -1, -1, -1, -1, 41, -1, -1, -1, -1, - -1, 47, -1, 49, -1, -1, -1, -1, -1, -1, - -1, 57, -1, -1, 60, -1, 62, -1, -1, -1, - 66, 67, -1, -1, -1, -1, 72, 73, 74, -1, - 76, -1, 78, 79, -1, 81, 82, 83, 84, -1, - 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, - 96, -1, -1, 99, -1, 101, -1, -1, -1, 105, - 106, -1, -1, -1, -1, 111, 112, 113, 114, -1, - -1, -1, -1, 119, -1, -1, -1, -1, -1, -1, - 126, -1, -1, -1, -1, -1, 132, 133, 134, 135, - -1, 137, 138, -1, 140, 141, -1, 143, -1, -1, - 146, 147, 148, 149, 150, -1, 152, 153, -1, -1, - 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, - -1, 167, -1, 169, 170, -1, -1, 173, 174, -1, - 176, -1, 178, 179, 180, 181, 182, 183, 184, -1, - 186, 187, 188, 189, 190, 191, -1, 193, 194, 195, - 196, 197, 3, 4, -1, 201, -1, 203, 204, 205, - 206, 207, 208, 209, -1, -1, 17, 18, 19, 215, - -1, -1, 218, 219, 220, -1, -1, -1, -1, -1, - -1, 227, -1, 34, 35, -1, -1, -1, -1, -1, - 41, -1, -1, -1, -1, -1, 47, -1, 49, -1, - -1, -1, -1, -1, -1, -1, 57, -1, -1, 60, - -1, 62, -1, -1, -1, 66, 67, -1, -1, -1, - -1, 72, 73, 74, -1, 76, -1, 78, 79, -1, - -1, 82, 83, 84, 13, 86, 87, -1, -1, -1, - -1, -1, -1, -1, 95, 96, -1, -1, 99, -1, - 101, -1, -1, -1, 105, 106, -1, -1, -1, -1, - 111, 112, 113, 114, -1, -1, -1, -1, 119, -1, - -1, -1, -1, -1, -1, 126, -1, -1, -1, 58, - -1, 132, 133, 134, 135, 64, 137, 138, -1, 140, - 141, 70, 143, -1, -1, 146, 147, 148, 149, 150, - -1, 152, 153, -1, -1, 156, 157, 158, 159, 160, - 161, 162, 163, 164, -1, -1, 167, -1, 169, 170, - -1, -1, 173, 174, -1, 176, -1, 178, 179, 180, - 181, 182, 183, 184, -1, 186, 187, 188, 189, 190, - 191, -1, 193, 194, 195, 196, 197, 3, 4, -1, - 201, -1, 203, 204, 205, 206, 207, 208, 209, -1, - -1, -1, -1, -1, 215, -1, -1, 218, 219, 220, - -1, -1, 28, -1, -1, -1, 227, -1, 34, -1, - -1, -1, -1, -1, 163, 41, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 178, - -1, 57, -1, -1, 60, -1, -1, -1, -1, -1, - 66, 67, -1, -1, -1, -1, 72, 73, 74, -1, - -1, -1, -1, 79, -1, -1, -1, 206, 84, -1, - 86, 87, -1, 212, 213, 214, 215, 216, 217, 95, - 96, -1, -1, 99, -1, 101, 225, -1, -1, 105, - 106, -1, -1, -1, -1, 111, 112, 113, 114, -1, + 20, -1, -1, 23, -1, -1, -1, -1, -1, -1, + 30, 31, 32, 33, 34, -1, 36, 37, -1, -1, + -1, -1, -1, 43, -1, -1, -1, -1, 48, 49, + 50, -1, 52, -1, -1, -1, -1, -1, -1, -1, + 60, -1, -1, 63, -1, 65, -1, -1, -1, 69, + 70, -1, -1, -1, -1, 75, 76, 77, -1, 79, + -1, 81, 82, -1, 84, 85, -1, 87, 88, -1, + 90, 91, -1, -1, -1, -1, 96, -1, -1, 99, + 100, -1, -1, 103, -1, 105, -1, -1, -1, 109, + 110, -1, -1, 113, -1, -1, 116, 117, 118, 119, + -1, -1, -1, 123, 124, -1, -1, -1, 128, -1, + -1, 131, -1, -1, -1, -1, -1, -1, 138, 139, + 140, 141, -1, 143, 144, -1, 146, 147, -1, 149, + -1, -1, 152, 153, 154, 155, 156, -1, 158, 159, + -1, -1, 162, 163, 164, 165, 166, 167, 168, 169, + 170, -1, -1, 173, -1, 175, 176, -1, 178, 179, + 180, -1, 182, -1, 184, 185, 186, 187, 188, 189, + 190, -1, 192, 193, 194, 195, 196, 197, -1, 199, + 200, 201, 202, 203, -1, -1, -1, 207, -1, 209, + 210, 211, 212, 213, 214, 215, -1, -1, -1, -1, + -1, 221, -1, -1, 224, 225, 226, -1, 3, 4, + -1, 6, -1, 233, 9, -1, -1, -1, -1, -1, + -1, -1, 17, 18, 19, 20, -1, -1, 23, -1, + -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, + -1, 36, 37, -1, -1, -1, -1, -1, 43, -1, + -1, -1, -1, 48, 49, 50, -1, 52, -1, -1, + -1, -1, -1, -1, -1, 60, -1, -1, 63, -1, + 65, -1, -1, -1, 69, 70, -1, -1, -1, -1, + 75, 76, 77, -1, 79, -1, 81, 82, -1, 84, + 85, -1, 87, 88, -1, 90, 91, -1, -1, -1, + -1, 96, -1, -1, 99, 100, -1, -1, 103, -1, + 105, -1, -1, -1, 109, 110, -1, -1, 113, -1, + -1, 116, 117, 118, 119, -1, -1, -1, 123, 124, + -1, -1, -1, 128, -1, -1, 131, -1, -1, -1, + -1, -1, -1, 138, 139, 140, 141, -1, 143, 144, + -1, 146, 147, -1, 149, -1, -1, 152, 153, 154, + 155, 156, -1, 158, 159, -1, -1, 162, 163, 164, + 165, 166, 167, 168, 169, 170, -1, -1, 173, -1, + 175, 176, -1, 178, 179, 180, -1, 182, -1, 184, + 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, + 195, 196, 197, -1, 199, 200, 201, 202, 203, -1, + -1, -1, 207, -1, 209, 210, 211, 212, 213, 214, + 215, -1, -1, -1, -1, -1, 221, -1, -1, 224, + 225, 226, -1, 3, 4, -1, 6, -1, 233, 9, + -1, -1, -1, -1, -1, -1, -1, 17, 18, 19, + 20, -1, -1, 23, -1, -1, -1, -1, -1, -1, + 30, 31, 32, 33, 34, -1, 36, 37, -1, -1, + -1, -1, -1, 43, -1, -1, -1, -1, 48, 49, + 50, -1, 52, -1, -1, -1, -1, -1, -1, -1, + 60, -1, -1, 63, -1, 65, -1, -1, -1, 69, + 70, -1, -1, -1, -1, 75, 76, 77, -1, 79, + -1, 81, 82, -1, 84, 85, -1, 87, 88, -1, + 90, 91, -1, -1, -1, -1, 96, -1, -1, 99, + 100, -1, -1, 103, -1, 105, -1, -1, -1, 109, + 110, -1, -1, 113, -1, -1, 116, 117, 118, 119, + -1, -1, -1, 123, 124, -1, -1, -1, 128, -1, + -1, 131, -1, -1, -1, -1, -1, -1, 138, 139, + 140, 141, -1, 143, 144, -1, 146, 147, -1, 149, + -1, -1, 152, 153, 154, 155, 156, -1, 158, 159, + -1, -1, 162, 163, 164, 165, 166, 167, 168, 169, + 170, -1, -1, 173, -1, 175, 176, -1, 178, 179, + 180, -1, 182, -1, 184, 185, 186, 187, 188, 189, + 190, -1, 192, 193, 194, 195, 196, 197, -1, 199, + 200, 201, 202, 203, -1, -1, -1, 207, -1, 209, + 210, 211, 212, 213, 214, 215, -1, -1, -1, -1, + -1, 221, -1, -1, 224, 225, 226, -1, 3, 4, + -1, 6, -1, 233, 9, -1, -1, -1, -1, -1, + -1, -1, 17, 18, 19, 20, -1, -1, 23, -1, + -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, + -1, 36, 37, -1, -1, -1, -1, -1, 43, -1, + -1, -1, -1, 48, 49, 50, -1, 52, -1, -1, + -1, -1, -1, -1, -1, 60, -1, -1, 63, -1, + 65, -1, -1, -1, 69, 70, -1, -1, -1, -1, + 75, 76, 77, -1, 79, -1, 81, 82, -1, 84, + 85, -1, 87, 88, -1, 90, 91, -1, -1, -1, + -1, 96, -1, -1, 99, 100, -1, -1, 103, -1, + 105, -1, -1, -1, 109, 110, -1, -1, 113, -1, + -1, 116, 117, 118, 119, -1, -1, -1, 123, 124, + -1, -1, -1, 128, -1, -1, 131, -1, -1, -1, + -1, -1, -1, 138, 139, 140, 141, -1, 143, 144, + -1, 146, 147, -1, 149, -1, -1, 152, 153, 154, + 155, 156, -1, 158, 159, -1, -1, 162, 163, 164, + 165, 166, 167, 168, 169, 170, -1, -1, 173, -1, + 175, 176, -1, 178, 179, 180, -1, 182, -1, 184, + 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, + 195, 196, 197, -1, 199, 200, 201, 202, 203, -1, + -1, -1, 207, -1, 209, 210, 211, 212, 213, 214, + 215, -1, -1, -1, -1, -1, 221, 3, 4, 224, + 225, 226, -1, -1, -1, -1, -1, -1, 233, -1, + -1, 17, 18, 19, 20, -1, -1, 23, -1, -1, + -1, -1, -1, -1, 30, 31, 32, 33, 34, -1, + 36, 37, -1, -1, -1, -1, -1, 43, -1, -1, + -1, -1, 48, 49, 50, -1, 52, -1, -1, 55, + -1, -1, -1, -1, 60, -1, -1, 63, -1, 65, + -1, -1, -1, 69, 70, -1, -1, -1, -1, 75, + 76, 77, -1, 79, -1, 81, 82, -1, 84, 85, + 86, 87, 88, -1, 90, 91, -1, -1, -1, -1, + 96, -1, -1, 99, 100, -1, -1, 103, -1, 105, + -1, -1, -1, 109, 110, -1, -1, 113, -1, -1, + 116, 117, 118, 119, -1, -1, -1, 123, 124, -1, + -1, -1, 128, -1, -1, 131, -1, -1, -1, -1, + -1, -1, 138, 139, 140, 141, -1, 143, 144, -1, + 146, 147, -1, 149, -1, -1, 152, 153, 154, 155, + 156, -1, 158, 159, -1, -1, 162, 163, 164, 165, + 166, 167, 168, 169, 170, -1, -1, 173, -1, 175, + 176, -1, 178, 179, 180, -1, 182, -1, 184, 185, + 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, + 196, 197, -1, 199, 200, 201, 202, 203, -1, -1, + -1, 207, -1, 209, 210, 211, 212, 213, 214, 215, + -1, -1, -1, -1, -1, 221, 3, 4, 224, 225, + 226, -1, -1, -1, -1, -1, -1, 233, -1, -1, + 17, 18, 19, 20, -1, -1, 23, -1, -1, -1, + -1, -1, -1, 30, 31, 32, 33, 34, -1, 36, + 37, -1, -1, -1, -1, -1, 43, -1, -1, -1, + -1, 48, 49, 50, -1, 52, -1, -1, -1, -1, + -1, -1, -1, 60, -1, -1, 63, -1, 65, -1, + -1, -1, 69, 70, -1, -1, -1, -1, 75, 76, + 77, -1, 79, -1, 81, 82, -1, 84, 85, 86, + 87, 88, -1, 90, 91, -1, -1, -1, -1, 96, + -1, -1, 99, 100, -1, -1, 103, -1, 105, -1, + -1, -1, 109, 110, 111, -1, 113, -1, -1, 116, + 117, 118, 119, -1, -1, -1, 123, 124, -1, -1, + -1, 128, -1, -1, 131, -1, -1, -1, -1, -1, + -1, 138, 139, 140, 141, -1, 143, 144, -1, 146, + 147, -1, 149, -1, -1, 152, 153, 154, 155, 156, + -1, 158, 159, -1, -1, 162, 163, 164, 165, 166, + 167, 168, 169, 170, -1, -1, 173, -1, 175, 176, + -1, 178, 179, 180, -1, 182, -1, 184, 185, 186, + 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, + 197, -1, 199, 200, 201, 202, 203, -1, -1, -1, + 207, -1, 209, 210, 211, 212, 213, 214, 215, -1, + -1, -1, -1, -1, 221, 3, 4, 224, 225, 226, + -1, -1, -1, -1, -1, -1, 233, -1, -1, 17, + 18, 19, 20, -1, -1, 23, -1, -1, -1, -1, + -1, -1, 30, 31, 32, 33, 34, -1, 36, 37, + -1, -1, -1, -1, -1, 43, -1, -1, -1, -1, + 48, 49, 50, -1, 52, -1, -1, -1, -1, -1, + -1, -1, 60, -1, -1, 63, -1, 65, -1, -1, + -1, 69, 70, -1, -1, -1, -1, 75, 76, 77, + -1, 79, -1, 81, 82, -1, 84, 85, 86, 87, + 88, -1, 90, 91, -1, -1, -1, -1, 96, -1, + -1, 99, 100, -1, -1, 103, -1, 105, -1, -1, + -1, 109, 110, -1, -1, 113, -1, -1, 116, 117, + 118, 119, -1, -1, -1, 123, 124, -1, -1, -1, + 128, -1, -1, 131, -1, -1, -1, -1, -1, -1, + 138, 139, 140, 141, -1, 143, 144, -1, 146, 147, + -1, 149, -1, -1, 152, 153, 154, 155, 156, -1, + 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, + 168, 169, 170, -1, -1, 173, -1, 175, 176, -1, + 178, 179, 180, -1, 182, -1, 184, 185, 186, 187, + 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, + -1, 199, 200, 201, 202, 203, -1, -1, -1, 207, + -1, 209, 210, 211, 212, 213, 214, 215, -1, -1, + -1, -1, -1, 221, -1, -1, 224, 225, 226, -1, + 3, 4, -1, 6, -1, 233, 9, -1, -1, -1, + -1, -1, -1, -1, 17, 18, 19, 20, -1, -1, + 23, -1, -1, -1, -1, -1, -1, 30, 31, 32, + 33, 34, -1, 36, 37, -1, -1, -1, -1, -1, + 43, -1, -1, -1, -1, 48, 49, 50, -1, 52, + -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, + 63, -1, 65, -1, -1, -1, 69, 70, -1, -1, + -1, -1, 75, 76, 77, -1, 79, -1, 81, 82, + -1, -1, 85, -1, 87, 88, -1, 90, 91, -1, + -1, -1, -1, 96, -1, -1, 99, 100, -1, -1, + 103, -1, 105, -1, -1, -1, 109, 110, -1, -1, + 113, -1, -1, 116, 117, 118, 119, -1, -1, -1, + 123, 124, -1, -1, -1, 128, -1, -1, 131, -1, + -1, -1, -1, -1, -1, 138, 139, 140, 141, -1, + 143, 144, -1, 146, 147, -1, 149, -1, -1, 152, + 153, 154, 155, 156, -1, 158, 159, -1, -1, 162, + 163, 164, 165, 166, 167, 168, 169, 170, -1, -1, + 173, -1, 175, 176, -1, 178, 179, 180, -1, 182, + -1, 184, 185, 186, 187, 188, 189, 190, -1, 192, + 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, + 203, -1, -1, -1, 207, -1, 209, 210, 211, 212, + 213, 214, 215, -1, -1, -1, -1, -1, 221, 3, + 4, 224, 225, 226, -1, -1, -1, -1, -1, -1, + 233, -1, -1, 17, 18, 19, 20, -1, -1, 23, + -1, -1, -1, -1, -1, -1, 30, 31, 32, 33, + 34, -1, 36, 37, -1, -1, -1, -1, -1, 43, + -1, -1, -1, -1, 48, 49, 50, -1, 52, -1, + -1, -1, -1, -1, -1, -1, 60, -1, -1, 63, + -1, 65, -1, -1, -1, 69, 70, -1, -1, -1, + -1, 75, 76, 77, -1, 79, -1, 81, 82, -1, + 84, 85, -1, 87, 88, -1, 90, 91, -1, -1, + -1, -1, 96, -1, -1, 99, 100, -1, -1, 103, + -1, 105, -1, -1, -1, 109, 110, 111, -1, 113, + -1, -1, 116, 117, 118, 119, -1, -1, -1, 123, + 124, -1, -1, -1, 128, -1, -1, 131, -1, -1, + -1, -1, -1, -1, 138, 139, 140, 141, -1, 143, + 144, -1, 146, 147, -1, 149, -1, -1, 152, 153, + 154, 155, 156, -1, 158, 159, -1, -1, 162, 163, + 164, 165, 166, 167, 168, 169, 170, -1, -1, 173, + -1, 175, 176, -1, 178, 179, 180, -1, 182, -1, + 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, + 194, 195, 196, 197, -1, 199, 200, 201, 202, 203, + -1, -1, -1, 207, -1, 209, 210, 211, 212, 213, + 214, 215, -1, -1, -1, -1, -1, 221, 3, 4, + 224, 225, 226, -1, -1, -1, -1, -1, -1, 233, + -1, -1, 17, 18, 19, 20, -1, -1, 23, -1, + -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, + -1, 36, 37, -1, -1, -1, -1, -1, 43, -1, + -1, -1, -1, 48, 49, 50, -1, 52, -1, -1, + -1, -1, -1, -1, -1, 60, -1, -1, 63, -1, + 65, -1, -1, -1, 69, 70, -1, -1, -1, -1, + 75, 76, 77, -1, 79, -1, 81, 82, -1, 84, + 85, -1, 87, 88, -1, 90, 91, -1, -1, -1, + -1, 96, -1, -1, 99, 100, -1, -1, 103, -1, + 105, -1, -1, -1, 109, 110, -1, -1, 113, -1, + -1, 116, 117, 118, 119, -1, -1, -1, 123, 124, + -1, -1, -1, 128, -1, -1, 131, -1, -1, -1, + -1, -1, -1, 138, 139, 140, 141, -1, 143, 144, + -1, 146, 147, -1, 149, -1, -1, 152, 153, 154, + 155, 156, -1, 158, 159, -1, -1, 162, 163, 164, + 165, 166, 167, 168, 169, 170, -1, -1, 173, -1, + 175, 176, -1, 178, 179, 180, -1, 182, -1, 184, + 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, + 195, 196, 197, -1, 199, 200, 201, 202, 203, -1, + -1, -1, 207, -1, 209, 210, 211, 212, 213, 214, + 215, -1, -1, -1, 3, 4, 221, -1, -1, 224, + 225, 226, -1, -1, -1, -1, -1, -1, 233, 18, + 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 30, 31, 32, 33, 34, -1, 36, 37, -1, + -1, -1, -1, -1, 43, -1, -1, -1, -1, -1, + -1, 50, -1, 52, -1, -1, -1, -1, -1, -1, + -1, 60, -1, -1, 63, -1, 65, -1, -1, -1, + 69, 70, -1, -1, -1, -1, 75, 76, 77, -1, + 79, -1, 81, 82, -1, -1, -1, -1, 87, 88, + -1, 90, 91, -1, -1, -1, -1, 96, -1, -1, + 99, 100, -1, -1, 103, -1, 105, -1, -1, -1, + 109, 110, -1, -1, 113, -1, -1, 116, 117, 118, + 119, -1, -1, -1, 123, 124, -1, -1, -1, 128, + -1, -1, 131, -1, -1, -1, -1, -1, -1, 138, + 139, 140, 141, -1, 143, 144, -1, 146, 147, -1, + 149, -1, -1, 152, 153, 154, 155, 156, -1, 158, + 159, -1, -1, 162, 163, 164, 165, 166, 167, 168, + 169, 170, -1, -1, 173, -1, 175, 176, -1, 178, + 179, 180, -1, 182, -1, 184, 185, 186, 187, 188, + 189, 190, -1, 192, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, 203, -1, -1, -1, 207, -1, + 209, 210, 211, 212, 213, 214, 215, -1, -1, -1, + 3, 4, 221, -1, -1, 224, 225, 226, -1, -1, + -1, -1, -1, -1, 233, 18, 19, 20, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, + 33, 34, -1, 36, 37, -1, -1, -1, -1, -1, + 43, -1, -1, -1, -1, -1, -1, 50, -1, 52, + -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, + 63, -1, 65, -1, -1, -1, 69, 70, -1, -1, + -1, -1, 75, 76, 77, -1, 79, -1, 81, 82, + -1, -1, -1, -1, 87, 88, -1, 90, 91, -1, + -1, -1, -1, 96, -1, -1, 99, 100, -1, -1, + 103, -1, 105, -1, -1, -1, 109, 110, -1, -1, + 113, -1, -1, 116, 117, 118, 119, -1, -1, -1, + 123, 124, -1, -1, -1, 128, -1, -1, 131, -1, + -1, -1, -1, -1, -1, 138, 139, 140, 141, -1, + 143, 144, -1, 146, 147, -1, 149, -1, -1, 152, + 153, 154, 155, 156, -1, 158, 159, -1, -1, 162, + 163, 164, 165, 166, 167, 168, 169, 170, -1, -1, + 173, -1, 175, 176, -1, 178, 179, 180, -1, 182, + -1, 184, 185, 186, 187, 188, 189, 190, -1, 192, + 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, + 203, -1, -1, -1, 207, -1, 209, 210, 211, 212, + 213, 214, 215, -1, -1, -1, 3, 4, 221, -1, + -1, 224, 225, 226, -1, -1, -1, -1, -1, -1, + 233, 18, 19, 20, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 31, 32, 33, 34, -1, 36, + 37, -1, -1, -1, -1, -1, 43, -1, -1, -1, + -1, -1, -1, 50, -1, 52, -1, -1, -1, -1, + -1, -1, -1, 60, -1, -1, 63, -1, 65, -1, + -1, -1, 69, 70, -1, -1, -1, -1, 75, 76, + 77, -1, 79, -1, 81, 82, -1, -1, -1, 86, + 87, 88, -1, 90, 91, -1, -1, -1, -1, -1, + -1, -1, 99, 100, -1, -1, 103, -1, 105, -1, + -1, -1, 109, 110, -1, -1, -1, -1, -1, 116, + 117, 118, 119, -1, -1, -1, -1, 124, -1, -1, + -1, 128, -1, -1, 131, -1, -1, -1, -1, -1, + -1, 138, 139, 140, 141, -1, 143, 144, -1, 146, + 147, -1, 149, -1, -1, 152, 153, 154, 155, 156, + -1, 158, 159, -1, -1, 162, 163, 164, 165, 166, + 167, 168, 169, 170, -1, -1, 173, -1, 175, 176, + -1, -1, 179, 180, -1, 182, -1, 184, 185, 186, + 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, + 197, -1, 199, 200, 201, 202, 203, -1, -1, -1, + 207, -1, 209, 210, 211, 212, 213, 214, 215, -1, + -1, -1, 3, 4, 221, -1, -1, 224, 225, 226, + -1, -1, -1, -1, -1, -1, 233, 18, 19, 20, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 31, 32, 33, 34, -1, 36, 37, -1, -1, -1, + -1, -1, 43, -1, -1, -1, -1, -1, -1, 50, + -1, 52, -1, -1, -1, -1, -1, -1, -1, 60, + -1, -1, 63, -1, 65, -1, -1, -1, 69, 70, + -1, -1, -1, -1, 75, 76, 77, -1, 79, -1, + 81, 82, -1, -1, -1, -1, 87, 88, -1, 90, + 91, -1, -1, -1, -1, -1, -1, -1, 99, 100, + -1, -1, 103, -1, 105, -1, -1, -1, 109, 110, + -1, -1, -1, -1, -1, 116, 117, 118, 119, -1, + -1, -1, -1, 124, -1, -1, -1, 128, -1, -1, + 131, -1, -1, -1, -1, -1, -1, 138, 139, 140, + 141, -1, 143, 144, -1, 146, 147, -1, 149, -1, + -1, 152, 153, 154, 155, 156, -1, 158, 159, -1, + -1, 162, 163, 164, 165, 166, 167, 168, 169, 170, + -1, -1, 173, -1, 175, 176, -1, -1, 179, 180, + -1, 182, -1, 184, 185, 186, 187, 188, 189, 190, + -1, 192, 193, 194, 195, 196, 197, -1, 199, 200, + 201, 202, 203, -1, -1, -1, 207, -1, 209, 210, + 211, 212, 213, 214, 215, -1, -1, -1, 3, 4, + 221, -1, -1, 224, 225, 226, -1, -1, -1, -1, + -1, -1, 233, 18, 19, 20, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 31, 32, 33, 34, + -1, 36, 37, -1, -1, -1, -1, -1, 43, -1, + -1, -1, -1, -1, -1, 50, -1, 52, -1, -1, + -1, -1, -1, -1, -1, 60, -1, -1, 63, -1, + 65, -1, -1, -1, 69, 70, -1, -1, -1, -1, + 75, 76, 77, -1, 79, -1, 81, 82, -1, -1, + -1, -1, 87, 88, -1, 90, 91, -1, -1, -1, + -1, -1, -1, -1, 99, 100, -1, -1, 103, -1, + 105, -1, -1, -1, 109, 110, -1, -1, -1, -1, + -1, 116, 117, 118, 119, -1, -1, -1, -1, 124, + -1, -1, -1, 128, -1, -1, 131, -1, -1, -1, + -1, -1, -1, 138, 139, 140, 141, -1, 143, 144, + -1, 146, 147, -1, 149, -1, -1, 152, 153, 154, + 155, 156, -1, 158, 159, -1, -1, 162, 163, 164, + 165, 166, 167, 168, 169, 170, -1, -1, 173, -1, + 175, 176, -1, -1, 179, 180, -1, 182, -1, 184, + 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, + 195, 196, 197, -1, 199, 200, 201, 202, 203, -1, + -1, -1, 207, -1, 209, 210, 211, 212, 213, 214, + 215, -1, -1, -1, 3, 4, 221, -1, -1, 224, + 225, 226, -1, -1, -1, -1, -1, -1, 233, 18, + 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 30, -1, -1, -1, -1, -1, 36, 37, -1, + -1, -1, -1, -1, 43, -1, -1, -1, -1, -1, + -1, 50, -1, 52, -1, -1, -1, -1, -1, -1, + -1, 60, -1, -1, 63, -1, 65, -1, -1, -1, + 69, 70, -1, -1, -1, -1, 75, 76, 77, -1, + 79, -1, 81, 82, -1, -1, -1, -1, 87, 88, + -1, 90, 91, -1, -1, -1, -1, 96, -1, -1, + 99, 100, -1, -1, 103, -1, 105, -1, -1, -1, + 109, 110, -1, -1, 113, -1, -1, 116, 117, 118, + 119, -1, -1, -1, 123, 124, -1, -1, -1, -1, + -1, -1, 131, -1, -1, -1, -1, -1, -1, 138, + 139, 140, 141, -1, 143, 144, -1, 146, 147, -1, + 149, -1, -1, 152, 153, 154, 155, 156, -1, 158, + 159, -1, -1, 162, 163, 164, 165, 166, 167, 168, + 169, 170, -1, -1, 173, -1, 175, 176, -1, 178, + 179, 180, -1, 182, -1, 184, 185, 186, 187, 188, + 189, 190, -1, 192, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, 203, -1, -1, -1, 207, -1, + 209, 210, 211, 212, 213, 214, 215, -1, -1, -1, + 3, 4, 221, -1, -1, 224, -1, -1, -1, -1, + -1, -1, -1, -1, 233, 18, 19, 20, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 30, -1, -1, + -1, -1, -1, 36, 37, -1, -1, -1, -1, -1, + 43, -1, -1, -1, -1, -1, -1, 50, -1, 52, + -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, + 63, -1, 65, -1, -1, -1, 69, 70, -1, -1, + -1, -1, 75, 76, 77, -1, 79, -1, 81, 82, + -1, -1, -1, -1, 87, 88, -1, 90, 91, -1, + -1, -1, -1, 96, -1, -1, 99, 100, -1, -1, + 103, -1, 105, -1, -1, -1, 109, 110, -1, -1, + 113, -1, -1, 116, 117, 118, 119, -1, -1, -1, + 123, 124, -1, -1, -1, -1, -1, -1, 131, -1, + -1, -1, -1, -1, -1, 138, 139, 140, 141, -1, + 143, 144, -1, 146, 147, -1, 149, -1, -1, 152, + 153, 154, 155, 156, -1, 158, 159, -1, -1, 162, + 163, 164, 165, 166, 167, 168, 169, 170, -1, -1, + 173, -1, 175, 176, -1, 178, 179, 180, -1, 182, + -1, 184, 185, 186, 187, 188, 189, 190, -1, 192, + 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, + 203, -1, -1, -1, 207, -1, 209, 210, 211, 212, + 213, 214, 215, -1, -1, -1, 3, 4, 221, -1, + -1, 224, -1, -1, -1, -1, -1, -1, -1, -1, + 233, 18, 19, 20, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 36, + 37, -1, -1, -1, -1, -1, 43, -1, -1, -1, + -1, -1, -1, 50, -1, 52, -1, -1, -1, -1, + -1, -1, -1, 60, -1, -1, 63, -1, 65, -1, + -1, -1, 69, 70, -1, -1, -1, -1, 75, 76, + 77, -1, 79, -1, 81, 82, -1, 84, -1, 86, + 87, 88, -1, 90, 91, -1, -1, -1, -1, -1, + -1, -1, 99, 100, -1, -1, 103, -1, 105, -1, + -1, -1, 109, 110, -1, -1, -1, -1, -1, 116, + 117, 118, 119, -1, -1, -1, -1, 124, -1, -1, + -1, -1, -1, -1, 131, -1, -1, -1, -1, -1, + -1, 138, 139, 140, 141, -1, 143, 144, -1, 146, + 147, -1, 149, -1, -1, 152, 153, 154, 155, 156, + -1, 158, 159, -1, -1, 162, 163, 164, 165, 166, + 167, 168, 169, 170, -1, -1, 173, -1, 175, 176, + -1, -1, 179, 180, -1, 182, -1, 184, 185, 186, + 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, + 197, -1, 199, 200, 201, 202, 203, -1, -1, -1, + 207, -1, 209, 210, 211, 212, 213, 214, 215, -1, + -1, -1, 3, 4, 221, -1, -1, 224, 225, 226, + -1, -1, -1, -1, -1, -1, 233, 18, 19, 20, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 36, 37, -1, -1, -1, + -1, -1, 43, -1, -1, -1, -1, -1, -1, 50, + -1, 52, -1, -1, -1, -1, -1, -1, -1, 60, + -1, -1, 63, -1, 65, -1, -1, -1, 69, 70, + -1, -1, -1, -1, 75, 76, 77, -1, 79, -1, + 81, 82, -1, -1, -1, 86, 87, 88, -1, 90, + 91, -1, -1, -1, -1, -1, -1, -1, 99, 100, + -1, -1, 103, -1, 105, -1, -1, -1, 109, 110, + -1, -1, -1, -1, -1, 116, 117, 118, 119, -1, + -1, -1, -1, 124, -1, -1, -1, -1, -1, -1, + 131, -1, -1, -1, -1, -1, -1, 138, 139, 140, + 141, -1, 143, 144, -1, 146, 147, -1, 149, -1, + -1, 152, 153, 154, 155, 156, -1, 158, 159, -1, + -1, 162, 163, 164, 165, 166, 167, 168, 169, 170, + -1, -1, 173, -1, 175, 176, -1, -1, 179, 180, + -1, 182, -1, 184, 185, 186, 187, 188, 189, 190, + -1, 192, 193, 194, 195, 196, 197, -1, 199, 200, + 201, 202, 203, 3, 4, -1, 207, -1, 209, 210, + 211, 212, 213, 214, 215, -1, -1, -1, -1, -1, + 221, -1, -1, 224, 225, 226, -1, -1, -1, -1, + 30, -1, 233, -1, -1, -1, 36, -1, -1, -1, + -1, -1, -1, 43, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 60, -1, -1, 63, -1, -1, -1, -1, -1, 69, + 70, -1, -1, -1, -1, 75, 76, 77, -1, -1, + -1, -1, 82, -1, -1, -1, -1, -1, 88, -1, + 90, 91, -1, -1, -1, -1, -1, -1, -1, 99, + 100, -1, -1, 103, -1, 105, -1, -1, -1, 109, + 110, -1, -1, -1, -1, -1, 116, 117, 118, 119, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 138, 139, + 140, 141, -1, 143, 144, -1, 146, 147, -1, 149, + -1, -1, 152, 153, 154, 155, 156, -1, 158, 159, + -1, -1, 162, 163, 164, 165, 166, 167, 168, 169, + 170, -1, 8, 173, -1, 175, 176, 13, 178, 179, + 180, -1, 182, -1, 184, 185, 186, 187, 188, 189, + 190, -1, 192, 193, 194, 195, 196, -1, -1, 199, + 200, 201, 202, 203, -1, -1, -1, 207, -1, 209, + 210, -1, 8, -1, -1, -1, -1, 13, -1, -1, + -1, -1, -1, -1, -1, 61, -1, -1, -1, -1, + -1, 67, -1, 233, -1, -1, 8, 73, 10, -1, + -1, 13, -1, -1, -1, -1, -1, -1, 84, -1, + -1, -1, 8, -1, -1, -1, 92, 13, -1, -1, + -1, -1, -1, -1, -1, 61, -1, -1, -1, -1, + -1, 67, -1, -1, -1, -1, 8, 73, -1, 115, + -1, 13, -1, -1, -1, -1, -1, -1, 84, 61, + -1, -1, 8, -1, -1, 67, 92, 13, -1, -1, + -1, 73, -1, -1, -1, 61, -1, -1, -1, -1, + -1, 67, 84, -1, -1, -1, -1, 73, -1, -1, + 92, -1, -1, -1, -1, -1, -1, -1, 84, 61, + -1, -1, -1, 169, -1, 67, 92, -1, -1, -1, + -1, 73, -1, -1, -1, 61, -1, -1, 184, -1, + -1, 67, 84, -1, -1, -1, -1, 73, -1, -1, + 92, -1, -1, -1, -1, -1, -1, -1, 84, -1, + -1, -1, -1, 169, -1, -1, 212, -1, -1, -1, + -1, 217, 218, 219, 220, 221, 222, 223, 184, -1, + -1, -1, -1, -1, -1, 231, -1, 169, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 184, 169, -1, -1, 212, -1, -1, -1, + -1, 217, 218, 219, 220, 221, 222, 223, 184, -1, + -1, -1, -1, -1, 230, 231, -1, 169, -1, -1, + 212, -1, -1, -1, -1, 217, 218, 219, 220, 221, + 222, 223, 184, 169, -1, -1, 212, -1, -1, 231, + -1, 217, 218, 219, 220, 221, 222, 223, 184, -1, + -1, -1, -1, -1, -1, 231, 3, 4, -1, -1, + 212, -1, -1, -1, -1, 217, 218, 219, 220, 221, + 222, 223, -1, -1, -1, -1, 212, -1, -1, 231, + -1, 217, 218, 219, 220, 221, 222, 223, -1, 36, + -1, -1, -1, -1, -1, 231, 43, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 60, -1, -1, 63, -1, -1, -1, + -1, -1, 69, 70, -1, -1, -1, -1, 75, 76, + 77, -1, -1, -1, -1, 82, -1, -1, -1, -1, + -1, 88, -1, 90, 91, -1, -1, -1, -1, -1, + -1, -1, 99, 100, -1, -1, 103, -1, 105, -1, + -1, -1, 109, 110, -1, -1, -1, -1, -1, 116, + 117, 118, 119, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 138, 139, 140, 141, -1, 143, 144, -1, 146, + 147, -1, 149, -1, -1, 152, 153, 154, 155, 156, + -1, 158, 159, -1, -1, 162, 163, 164, 165, 166, + 167, 168, 169, 170, -1, -1, 173, -1, 175, 176, + -1, -1, 179, 180, -1, 182, -1, 184, 185, 186, + 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, + 197, -1, 199, 200, 201, 202, 203, 3, 4, -1, + 207, -1, 209, 210, 211, 212, 213, -1, 215, -1, + 217, 218, 219, 220, 221, 222, 223, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 36, -1, -1, 39, -1, -1, -1, 43, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 60, -1, -1, 63, -1, -1, + -1, -1, 68, 69, 70, -1, -1, -1, -1, 75, + 76, 77, -1, -1, -1, -1, 82, -1, -1, -1, + -1, -1, 88, -1, 90, 91, -1, -1, -1, -1, + -1, -1, -1, 99, 100, 101, -1, 103, -1, 105, + -1, -1, -1, 109, 110, -1, -1, -1, -1, -1, + 116, 117, 118, 119, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 138, 139, 140, 141, -1, 143, 144, -1, + 146, 147, -1, 149, -1, -1, 152, 153, 154, 155, + 156, -1, 158, 159, -1, -1, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 3, 4, 173, -1, 175, + 176, -1, -1, 179, 180, -1, 182, -1, 184, 185, + 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, + 196, -1, -1, 199, 200, 201, 202, 203, 36, -1, + -1, 207, -1, 209, 210, 43, 212, -1, -1, -1, + -1, 217, 218, 219, 220, 221, 222, 223, -1, -1, + -1, -1, 60, -1, -1, 63, -1, -1, -1, -1, + 68, 69, 70, -1, -1, -1, -1, 75, 76, 77, + -1, -1, -1, -1, 82, -1, -1, -1, -1, -1, + 88, -1, 90, 91, -1, -1, -1, -1, -1, -1, + -1, 99, 100, 101, -1, 103, -1, 105, -1, -1, + -1, 109, 110, -1, -1, -1, -1, -1, 116, 117, + 118, 119, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 138, 139, 140, 141, -1, 143, 144, -1, 146, 147, + -1, 149, -1, -1, 152, 153, 154, 155, 156, -1, + 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 3, 4, 173, -1, 175, 176, -1, + -1, 179, 180, -1, 182, -1, 184, 185, 186, 187, + 188, 189, 190, -1, 192, 193, 194, 195, 196, -1, + 30, 199, 200, 201, 202, 203, 36, -1, -1, 207, + -1, 209, 210, 43, 212, -1, -1, -1, -1, 217, + 218, 219, 220, 221, 222, 223, -1, -1, -1, -1, + 60, -1, -1, 63, -1, -1, -1, -1, -1, 69, + 70, -1, -1, -1, -1, 75, 76, 77, -1, -1, + -1, -1, 82, -1, -1, -1, -1, -1, 88, -1, + 90, 91, -1, -1, -1, -1, -1, -1, -1, 99, + 100, -1, -1, 103, -1, 105, -1, -1, -1, 109, + 110, -1, -1, -1, -1, -1, 116, 117, 118, 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 132, 133, 134, 135, - -1, 137, 138, -1, 140, 141, -1, 143, -1, -1, - 146, 147, 148, 149, 150, -1, 152, 153, 3, 4, - 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, - -1, 167, -1, 169, 170, -1, 172, 173, 174, -1, - 176, -1, 178, 179, 180, 181, 182, 183, 184, 34, - 186, 187, 188, 189, 190, -1, 41, 193, 194, 195, - 196, 197, -1, -1, -1, 201, -1, 203, 204, -1, - -1, -1, 57, -1, -1, 60, -1, -1, -1, -1, - -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, - -1, 227, -1, -1, 79, -1, -1, -1, -1, 84, - -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, - 95, 96, -1, -1, 99, -1, 101, -1, -1, -1, - 105, 106, -1, -1, -1, -1, 111, 112, 113, 114, + -1, -1, -1, -1, -1, -1, -1, -1, 138, 139, + 140, 141, -1, 143, 144, -1, 146, 147, -1, 149, + -1, -1, 152, 153, 154, 155, 156, -1, 158, 159, + -1, -1, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 3, 4, 173, -1, 175, 176, -1, 178, 179, + 180, -1, 182, -1, 184, 185, 186, 187, 188, 189, + 190, -1, 192, 193, 194, 195, 196, -1, 30, 199, + 200, 201, 202, 203, 36, -1, -1, 207, -1, 209, + 210, 43, -1, -1, 214, -1, -1, -1, -1, -1, + -1, -1, 222, -1, -1, -1, -1, -1, 60, -1, + -1, 63, -1, -1, -1, -1, -1, 69, 70, -1, + -1, -1, -1, 75, 76, 77, -1, -1, -1, -1, + 82, -1, -1, -1, -1, -1, 88, -1, 90, 91, + -1, -1, -1, -1, -1, -1, -1, 99, 100, -1, + -1, 103, -1, 105, -1, -1, -1, 109, 110, -1, + -1, -1, -1, -1, 116, 117, 118, 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 132, 133, 134, - 135, -1, 137, 138, -1, 140, 141, -1, 143, -1, - -1, 146, 147, 148, 149, 150, -1, 152, 153, -1, - -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, - -1, -1, 167, -1, 169, 170, -1, -1, 173, 174, - -1, 176, -1, 178, 179, 180, 181, 182, 183, 184, - -1, 186, 187, 188, 189, 190, 191, -1, 193, 194, - 195, 196, 197, 3, 4, -1, 201, -1, 203, 204, - 205, 206, 207, -1, 209, -1, 211, 212, 213, 214, - 215, 216, 217, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 34, -1, -1, 37, -1, -1, - -1, 41, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 57, 13, -1, - 60, -1, -1, -1, -1, 65, 66, 67, -1, -1, - -1, -1, 72, 73, 74, -1, -1, -1, -1, 79, - -1, -1, -1, -1, 84, -1, 86, 87, -1, -1, - -1, -1, -1, -1, -1, 95, 96, 97, -1, 99, - -1, 101, -1, 58, -1, 105, 106, -1, -1, 64, - -1, 111, 112, 113, 114, 70, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, - -1, -1, 132, 133, 134, 135, -1, 137, 138, -1, - 140, 141, -1, 143, -1, -1, 146, 147, 148, 149, - 150, -1, 152, 153, -1, -1, 156, 157, 158, 159, - 160, 161, 162, 163, 164, -1, -1, 167, -1, 169, - 170, 3, 4, 173, 174, -1, 176, -1, 178, 179, - 180, 181, 182, 183, 184, -1, 186, 187, 188, 189, - 190, -1, -1, 193, 194, 195, 196, 197, -1, -1, - -1, 201, 34, 203, 204, -1, 206, -1, 163, 41, - -1, 211, 212, 213, 214, 215, 216, 217, -1, -1, - -1, -1, -1, 178, -1, 57, -1, -1, 60, -1, - -1, -1, -1, 65, 66, 67, -1, -1, -1, -1, - 72, 73, 74, -1, -1, -1, -1, 79, -1, -1, - -1, 206, 84, -1, 86, 87, 211, 212, 213, 214, - 215, 216, 217, 95, 96, 97, -1, 99, -1, 101, - 225, -1, -1, 105, 106, -1, -1, -1, -1, 111, - 112, 113, 114, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 138, 139, 140, 141, + -1, 143, 144, -1, 146, 147, -1, 149, -1, -1, + 152, 153, 154, 155, 156, -1, 158, 159, -1, -1, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 3, + 4, 173, -1, 175, 176, -1, 178, 179, 180, -1, + 182, -1, 184, 185, 186, 187, 188, 189, 190, -1, + 192, 193, 194, 195, 196, -1, -1, 199, 200, 201, + 202, 203, 36, -1, -1, 207, -1, 209, 210, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 132, 133, 134, 135, -1, 137, 138, -1, 140, 141, - -1, 143, -1, -1, 146, 147, 148, 149, 150, -1, - 152, 153, -1, -1, 156, 157, 158, 159, 160, 161, - 162, 163, 164, -1, -1, 167, -1, 169, 170, -1, - -1, 173, 174, -1, 176, -1, 178, 179, 180, 181, - 182, 183, 184, -1, 186, 187, 188, 189, 190, -1, - -1, 193, 194, 195, 196, 197, 3, 4, -1, 201, - -1, 203, 204, -1, 206, -1, -1, -1, -1, 211, - 212, 213, 214, 215, 216, 217, -1, -1, -1, -1, - -1, 28, -1, -1, -1, -1, -1, 34, -1, -1, - -1, -1, -1, -1, 41, -1, -1, -1, -1, -1, + 222, -1, -1, -1, -1, -1, 60, -1, -1, 63, + -1, -1, -1, -1, -1, 69, 70, -1, -1, -1, + -1, 75, 76, 77, -1, -1, -1, -1, 82, -1, + -1, -1, -1, -1, 88, -1, 90, 91, -1, -1, + -1, -1, -1, -1, -1, 99, 100, -1, -1, 103, + -1, 105, -1, -1, -1, 109, 110, -1, -1, -1, + -1, -1, 116, 117, 118, 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 57, -1, -1, 60, -1, -1, -1, -1, -1, 66, - 67, -1, -1, -1, -1, 72, 73, 74, -1, -1, - -1, -1, 79, -1, -1, -1, -1, 84, -1, 86, - 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, - -1, -1, 99, -1, 101, -1, -1, -1, 105, 106, - -1, -1, -1, -1, 111, 112, 113, 114, -1, -1, + -1, -1, -1, -1, 138, 139, 140, 141, -1, 143, + 144, -1, 146, 147, -1, 149, -1, -1, 152, 153, + 154, 155, 156, -1, 158, 159, -1, -1, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 3, 4, 173, + -1, 175, 176, -1, -1, 179, 180, -1, 182, -1, + 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, + 194, 195, 196, -1, -1, 199, 200, 201, 202, 203, + 36, -1, -1, 207, -1, 209, 210, 43, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 222, -1, + -1, -1, -1, -1, 60, -1, -1, 63, -1, -1, + -1, -1, -1, 69, 70, -1, -1, -1, -1, 75, + 76, 77, -1, -1, -1, -1, 82, -1, -1, -1, + -1, -1, 88, -1, 90, 91, -1, -1, -1, -1, + -1, -1, -1, 99, 100, -1, -1, 103, -1, 105, + -1, -1, -1, 109, 110, -1, -1, -1, -1, -1, + 116, 117, 118, 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 132, 133, 134, 135, -1, - 137, 138, -1, 140, 141, -1, 143, -1, -1, 146, - 147, 148, 149, 150, -1, 152, 153, -1, -1, 156, - 157, 158, 159, 160, 161, 162, 163, 164, -1, -1, - 167, -1, 169, 170, -1, 172, 173, 174, -1, 176, - -1, 178, 179, 180, 181, 182, 183, 184, -1, 186, - 187, 188, 189, 190, -1, -1, 193, 194, 195, 196, - 197, 3, 4, -1, 201, -1, 203, 204, -1, -1, - -1, 208, -1, -1, -1, -1, -1, -1, -1, 216, - -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, - -1, -1, 34, -1, -1, -1, -1, -1, -1, 41, + -1, -1, 138, 139, 140, 141, -1, 143, 144, -1, + 146, 147, -1, 149, -1, -1, 152, 153, 154, 155, + 156, -1, 158, 159, -1, -1, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 3, 4, 173, -1, 175, + 176, -1, -1, 179, 180, -1, 182, -1, 184, 185, + 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, + 196, -1, -1, 199, 200, 201, 202, 203, 36, -1, + -1, 207, -1, 209, 210, 43, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 222, -1, -1, -1, + -1, -1, 60, -1, -1, 63, -1, -1, -1, -1, + -1, 69, 70, -1, -1, -1, -1, 75, 76, 77, + -1, -1, -1, -1, 82, -1, -1, -1, -1, -1, + 88, -1, 90, 91, -1, -1, -1, -1, -1, -1, + -1, 99, 100, -1, -1, 103, -1, 105, -1, -1, + -1, 109, 110, -1, -1, -1, -1, -1, 116, 117, + 118, 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 57, -1, -1, 60, -1, - -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, - 72, 73, 74, -1, -1, -1, -1, 79, -1, -1, - -1, -1, 84, -1, 86, 87, -1, -1, -1, -1, - -1, -1, -1, 95, 96, -1, -1, 99, -1, 101, - -1, -1, -1, 105, 106, -1, -1, -1, -1, 111, - 112, 113, 114, -1, -1, -1, -1, -1, -1, -1, + 138, 139, 140, 141, -1, 143, 144, -1, 146, 147, + -1, 149, -1, -1, 152, 153, 154, 155, 156, -1, + 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 3, 4, 173, -1, 175, 176, -1, + -1, 179, 180, -1, 182, -1, 184, 185, 186, 187, + 188, 189, 190, -1, 192, 193, 194, 195, 196, -1, + -1, 199, 200, 201, 202, 203, 36, -1, -1, 207, + -1, 209, 210, 43, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 222, -1, -1, -1, -1, -1, + 60, -1, -1, 63, -1, -1, -1, -1, -1, 69, + 70, -1, -1, -1, -1, 75, 76, 77, -1, -1, + -1, -1, 82, -1, -1, -1, -1, -1, 88, -1, + 90, 91, -1, -1, -1, -1, -1, -1, -1, 99, + 100, -1, -1, 103, -1, 105, -1, -1, -1, 109, + 110, -1, -1, -1, -1, -1, 116, 117, 118, 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 132, 133, 134, 135, -1, 137, 138, -1, 140, 141, - -1, 143, -1, -1, 146, 147, 148, 149, 150, -1, - 152, 153, 3, 4, 156, 157, 158, 159, 160, 161, - 162, 163, 164, -1, -1, 167, -1, 169, 170, -1, - 172, 173, 174, -1, 176, -1, 178, 179, 180, 181, - 182, 183, 184, 34, 186, 187, 188, 189, 190, -1, - 41, 193, 194, 195, 196, 197, -1, -1, -1, 201, - -1, 203, 204, -1, -1, -1, 57, -1, -1, 60, - -1, -1, -1, -1, 216, 66, 67, -1, -1, -1, - -1, 72, 73, 74, -1, -1, -1, -1, 79, -1, - -1, -1, -1, 84, -1, 86, 87, -1, -1, -1, - -1, -1, -1, -1, 95, 96, -1, -1, 99, -1, - 101, -1, -1, -1, 105, 106, -1, -1, -1, -1, - 111, 112, 113, 114, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 138, 139, + 140, 141, -1, 143, 144, -1, 146, 147, -1, 149, + -1, -1, 152, 153, 154, 155, 156, -1, 158, 159, + -1, -1, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 3, 4, 173, -1, 175, 176, -1, -1, 179, + 180, -1, 182, -1, 184, 185, 186, 187, 188, 189, + 190, -1, 192, 193, 194, 195, 196, -1, 30, 199, + 200, 201, 202, 203, 36, -1, -1, 207, -1, 209, + 210, 43, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 222, -1, -1, -1, -1, -1, 60, -1, + -1, 63, -1, -1, -1, -1, -1, 69, 70, -1, + -1, -1, -1, 75, 76, 77, -1, -1, -1, -1, + 82, -1, -1, -1, -1, -1, 88, -1, 90, 91, + -1, -1, -1, -1, -1, -1, -1, 99, 100, -1, + -1, 103, -1, 105, -1, -1, -1, 109, 110, -1, + -1, -1, -1, -1, 116, 117, 118, 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 132, 133, 134, 135, -1, 137, 138, -1, 140, - 141, -1, 143, -1, -1, 146, 147, 148, 149, 150, - -1, 152, 153, 3, 4, 156, 157, 158, 159, 160, - 161, 162, 163, 164, -1, -1, 167, -1, 169, 170, - -1, -1, 173, 174, -1, 176, -1, 178, 179, 180, - 181, 182, 183, 184, 34, 186, 187, 188, 189, 190, - -1, 41, 193, 194, 195, 196, 197, -1, -1, -1, - 201, -1, 203, 204, -1, -1, -1, 57, -1, -1, - 60, -1, -1, -1, -1, 216, 66, 67, -1, -1, - -1, -1, 72, 73, 74, -1, -1, -1, -1, 79, - -1, -1, -1, -1, 84, -1, 86, 87, -1, -1, - -1, -1, -1, -1, -1, 95, 96, -1, -1, 99, - -1, 101, -1, -1, -1, 105, 106, -1, -1, -1, - -1, 111, 112, 113, 114, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 138, 139, 140, 141, + -1, 143, 144, -1, 146, 147, -1, 149, -1, -1, + 152, 153, 154, 155, 156, -1, 158, 159, -1, -1, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 3, + 4, 173, -1, 175, 176, -1, 178, 179, 180, -1, + 182, -1, 184, 185, 186, 187, 188, 189, 190, -1, + 192, 193, 194, 195, 196, -1, -1, 199, 200, 201, + 202, 203, 36, -1, -1, 207, -1, 209, 210, 43, + -1, -1, 214, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 60, -1, -1, 63, + -1, -1, -1, -1, -1, 69, 70, -1, -1, -1, + -1, 75, 76, 77, -1, -1, -1, -1, 82, -1, + -1, -1, -1, -1, 88, -1, 90, 91, -1, -1, + -1, -1, -1, -1, -1, 99, 100, -1, -1, 103, + -1, 105, -1, -1, -1, 109, 110, -1, -1, -1, + -1, -1, 116, 117, 118, 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 132, 133, 134, 135, -1, 137, 138, -1, - 140, 141, -1, 143, -1, -1, 146, 147, 148, 149, - 150, -1, 152, 153, 3, 4, 156, 157, 158, 159, - 160, 161, 162, 163, 164, -1, -1, 167, -1, 169, - 170, -1, -1, 173, 174, -1, 176, -1, 178, 179, - 180, 181, 182, 183, 184, 34, 186, 187, 188, 189, - 190, -1, 41, 193, 194, 195, 196, 197, -1, -1, - -1, 201, -1, 203, 204, -1, -1, -1, 57, -1, - -1, 60, -1, -1, -1, -1, 216, 66, 67, -1, - -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, - 79, -1, -1, -1, -1, 84, -1, 86, 87, -1, - -1, -1, -1, -1, -1, -1, 95, 96, -1, -1, - 99, -1, 101, -1, -1, -1, 105, 106, -1, -1, - -1, -1, 111, 112, 113, 114, -1, -1, -1, -1, + -1, -1, -1, -1, 138, 139, 140, 141, -1, 143, + 144, -1, 146, 147, -1, 149, -1, -1, 152, 153, + 154, 155, 156, -1, 158, 159, -1, -1, 162, 163, + 164, 165, 166, 167, 168, 169, 170, -1, -1, 173, + -1, 175, 176, -1, -1, 179, 180, -1, 182, -1, + 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, + 194, 195, 196, 3, 4, 199, 200, 201, 202, 203, + -1, -1, -1, 207, -1, 209, 210, 17, -1, 213, + -1, -1, -1, 23, -1, -1, -1, 27, -1, 29, + 30, -1, -1, -1, -1, -1, 36, -1, -1, -1, + -1, -1, -1, 43, -1, 45, 46, -1, -1, -1, + 50, -1, -1, -1, 54, -1, -1, -1, 58, -1, + 60, -1, -1, 63, -1, -1, -1, -1, -1, 69, + 70, -1, -1, -1, -1, 75, 76, 77, -1, -1, + -1, -1, 82, -1, -1, 85, -1, -1, 88, -1, + 90, 91, -1, 93, -1, -1, 96, 97, -1, 99, + 100, -1, -1, 103, -1, 105, -1, -1, -1, 109, + 110, -1, -1, -1, 114, 115, 116, 117, 118, 119, + -1, -1, 122, -1, 124, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 134, -1, -1, -1, 138, 139, + 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, + 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, + 180, 181, 182, -1, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 203, 3, 4, 206, 207, 208, 209, + 210, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 36, 37, -1, + -1, -1, -1, -1, 43, -1, -1, -1, -1, -1, + -1, -1, -1, 52, -1, -1, -1, -1, -1, -1, + -1, 60, -1, -1, 63, -1, -1, -1, -1, -1, + 69, 70, -1, -1, -1, -1, 75, 76, 77, -1, + 79, -1, 81, 82, -1, -1, -1, -1, 87, 88, + -1, 90, 91, -1, -1, -1, -1, -1, -1, -1, + 99, 100, -1, -1, 103, -1, 105, -1, -1, -1, + 109, 110, -1, -1, -1, -1, -1, 116, 117, 118, + 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 131, -1, -1, -1, -1, -1, -1, 138, + 139, 140, 141, -1, 143, 144, -1, 146, 147, -1, + 149, -1, -1, 152, 153, 154, 155, 156, -1, 158, + 159, -1, -1, 162, 163, 164, 165, 166, 167, 168, + 169, 170, -1, -1, 173, -1, 175, 176, -1, -1, + 179, 180, -1, 182, -1, 184, 185, 186, 187, 188, + 189, 190, -1, 192, 193, 194, 195, 196, 3, 4, + 199, 200, 201, 202, 203, -1, -1, -1, 207, -1, + 209, 210, -1, -1, -1, -1, 21, -1, -1, -1, + -1, -1, 27, -1, -1, -1, -1, -1, -1, -1, + -1, 36, -1, -1, -1, -1, -1, -1, 43, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 54, + -1, -1, -1, -1, -1, 60, -1, -1, 63, -1, + -1, -1, -1, -1, 69, 70, -1, -1, -1, -1, + 75, 76, 77, -1, -1, -1, -1, 82, -1, -1, + -1, -1, -1, 88, -1, 90, 91, -1, -1, -1, + -1, -1, -1, 98, 99, 100, -1, -1, 103, -1, + 105, -1, -1, -1, 109, 110, -1, -1, -1, -1, + -1, 116, 117, 118, 119, -1, -1, -1, -1, -1, + -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 138, 139, 140, 141, -1, 143, 144, + -1, 146, 147, -1, 149, -1, -1, 152, 153, 154, + 155, 156, -1, 158, 159, -1, -1, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 3, 4, 173, -1, + 175, 176, -1, -1, 179, 180, -1, 182, -1, 184, + 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, + 195, 196, -1, 30, 199, 200, 201, 202, 203, 36, + -1, -1, 207, -1, 209, 210, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 132, 133, 134, 135, -1, 137, 138, - -1, 140, 141, -1, 143, -1, -1, 146, 147, 148, - 149, 150, -1, 152, 153, 3, 4, 156, 157, 158, - 159, 160, 161, 162, 163, 164, -1, -1, 167, -1, - 169, 170, -1, -1, 173, 174, -1, 176, -1, 178, - 179, 180, 181, 182, 183, 184, 34, 186, 187, 188, - 189, 190, -1, 41, 193, 194, 195, 196, 197, -1, - -1, -1, 201, -1, 203, 204, -1, -1, -1, 57, - -1, -1, 60, -1, -1, -1, -1, 216, 66, 67, - -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, - -1, 79, -1, -1, -1, -1, 84, -1, 86, 87, - -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, - -1, 99, -1, 101, -1, -1, -1, 105, 106, -1, - -1, -1, -1, 111, 112, 113, 114, -1, -1, -1, + -1, -1, -1, 60, -1, -1, 63, -1, -1, -1, + -1, -1, 69, 70, -1, -1, -1, -1, 75, 76, + 77, -1, -1, -1, -1, 82, -1, -1, -1, -1, + -1, 88, -1, 90, 91, -1, -1, -1, -1, -1, + -1, -1, 99, 100, -1, -1, 103, -1, 105, -1, + -1, -1, 109, 110, -1, -1, -1, -1, -1, 116, + 117, 118, 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 132, 133, 134, 135, -1, 137, - 138, -1, 140, 141, -1, 143, -1, -1, 146, 147, - 148, 149, 150, -1, 152, 153, -1, -1, 156, 157, - 158, 159, 160, 161, 162, 163, 164, -1, -1, 167, - -1, 169, 170, -1, -1, 173, 174, -1, 176, -1, - 178, 179, 180, 181, 182, 183, 184, -1, 186, 187, - 188, 189, 190, -1, -1, 193, 194, 195, 196, 197, - 3, 4, -1, 201, -1, 203, 204, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 216, -1, - -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, - -1, 34, -1, -1, -1, -1, -1, -1, 41, -1, + -1, 138, 139, 140, 141, -1, 143, 144, -1, 146, + 147, -1, 149, -1, -1, 152, 153, 154, 155, 156, + -1, 158, 159, -1, -1, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 3, 4, 173, -1, 175, 176, + -1, 178, 179, 180, -1, 182, -1, 184, 185, 186, + 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, + -1, -1, 199, 200, 201, 202, 203, 36, -1, -1, + 207, -1, 209, 210, 43, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, + -1, 60, -1, -1, 63, -1, -1, -1, -1, -1, + 69, 70, -1, -1, -1, -1, 75, 76, 77, -1, + -1, -1, -1, 82, -1, -1, -1, -1, -1, 88, + -1, 90, 91, -1, -1, -1, -1, -1, -1, -1, + 99, 100, -1, 102, 103, -1, 105, -1, -1, -1, + 109, 110, -1, -1, -1, -1, -1, 116, 117, 118, + 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 138, + 139, 140, 141, -1, 143, 144, -1, 146, 147, -1, + 149, -1, -1, 152, 153, 154, 155, 156, -1, 158, + 159, -1, -1, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 3, 4, 173, -1, 175, 176, -1, -1, + 179, 180, -1, 182, -1, 184, 185, 186, 187, 188, + 189, 190, -1, 192, 193, 194, 195, 196, -1, -1, + 199, 200, 201, 202, 203, 36, -1, -1, 207, -1, + 209, 210, 43, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, + -1, -1, 63, -1, -1, -1, -1, -1, 69, 70, + -1, -1, -1, -1, 75, 76, 77, 78, -1, -1, + -1, 82, -1, -1, -1, -1, -1, 88, -1, 90, + 91, -1, -1, -1, -1, -1, -1, -1, 99, 100, + -1, -1, 103, -1, 105, -1, -1, -1, 109, 110, + -1, -1, -1, -1, -1, 116, 117, 118, 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 57, -1, -1, 60, -1, -1, - -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, - 73, 74, -1, -1, -1, -1, 79, -1, -1, -1, - -1, 84, -1, 86, 87, -1, -1, -1, -1, -1, - -1, -1, 95, 96, -1, -1, 99, -1, 101, -1, - -1, -1, 105, 106, -1, -1, -1, -1, 111, 112, - 113, 114, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 132, - 133, 134, 135, -1, 137, 138, -1, 140, 141, -1, - 143, -1, -1, 146, 147, 148, 149, 150, -1, 152, - 153, -1, -1, 156, 157, 158, 159, 160, 161, 162, - 163, 164, -1, -1, 167, -1, 169, 170, -1, 172, - 173, 174, -1, 176, -1, 178, 179, 180, 181, 182, - 183, 184, -1, 186, 187, 188, 189, 190, 3, 4, - 193, 194, 195, 196, 197, -1, -1, -1, 201, -1, - 203, 204, -1, -1, -1, 208, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 34, - -1, -1, -1, -1, -1, -1, 41, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 138, 139, 140, + 141, -1, 143, 144, -1, 146, 147, -1, 149, -1, + -1, 152, 153, 154, 155, 156, -1, 158, 159, -1, + -1, 162, 163, 164, 165, 166, 167, 168, 169, 170, + 3, 4, 173, -1, 175, 176, -1, -1, 179, 180, + -1, 182, -1, 184, 185, 186, 187, 188, 189, 190, + -1, 192, 193, 194, 195, 196, -1, -1, 199, 200, + 201, 202, 203, 36, -1, -1, 207, -1, 209, 210, + 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, + 63, -1, -1, -1, -1, -1, 69, 70, -1, -1, + -1, -1, 75, 76, 77, -1, -1, -1, -1, 82, + -1, -1, -1, -1, -1, 88, -1, 90, 91, -1, + -1, -1, -1, -1, -1, -1, 99, 100, -1, -1, + 103, -1, 105, -1, -1, -1, 109, 110, -1, -1, + -1, -1, -1, 116, 117, 118, 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 57, -1, -1, 60, -1, -1, -1, -1, - -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, - -1, -1, -1, -1, 79, -1, -1, -1, -1, 84, - -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, - 95, 96, -1, -1, 99, -1, 101, -1, -1, -1, - 105, 106, -1, -1, -1, -1, 111, 112, 113, 114, + -1, -1, -1, -1, -1, 138, 139, 140, 141, -1, + 143, 144, -1, 146, 147, -1, 149, -1, -1, 152, + 153, 154, 155, 156, -1, 158, 159, -1, -1, 162, + 163, 164, 165, 166, 167, 168, 169, 170, 3, 4, + 173, -1, 175, 176, -1, -1, 179, 180, 181, 182, + -1, 184, 185, 186, 187, 188, 189, 190, -1, 192, + 193, 194, 195, 196, -1, -1, 199, 200, 201, 202, + 203, 36, -1, -1, 207, -1, 209, 210, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 132, 133, 134, - 135, -1, 137, 138, -1, 140, 141, -1, 143, -1, - -1, 146, 147, 148, 149, 150, -1, 152, 153, -1, - -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, - -1, -1, 167, -1, 169, 170, -1, -1, 173, 174, - -1, 176, -1, 178, 179, 180, 181, 182, 183, 184, - -1, 186, 187, 188, 189, 190, 3, 4, 193, 194, - 195, 196, 197, -1, -1, -1, 201, -1, 203, 204, - -1, -1, 207, -1, -1, -1, -1, -1, 25, -1, - 27, 28, -1, -1, -1, -1, -1, 34, -1, -1, - -1, -1, -1, -1, 41, -1, -1, -1, -1, -1, - 47, -1, -1, -1, 51, -1, -1, -1, 55, -1, - 57, -1, -1, 60, -1, -1, -1, -1, -1, 66, - 67, -1, -1, -1, -1, 72, 73, 74, -1, -1, - -1, -1, 79, -1, -1, -1, -1, 84, -1, 86, - 87, -1, 89, -1, -1, 92, 93, -1, 95, 96, - -1, -1, 99, -1, 101, -1, -1, -1, 105, 106, - -1, -1, -1, 110, 111, 112, 113, 114, -1, -1, - 117, -1, 119, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 132, 133, 134, 135, 136, - 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, - 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, - -1, 178, 179, 180, 181, 182, 183, 184, 185, 186, - 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, 3, 4, 200, 201, 202, 203, 204, -1, -1, - -1, -1, -1, -1, -1, -1, 18, 19, -1, -1, + -1, -1, -1, -1, -1, 60, -1, -1, 63, -1, + -1, -1, -1, -1, 69, 70, -1, -1, -1, -1, + 75, 76, 77, -1, -1, -1, -1, 82, -1, -1, + -1, -1, -1, 88, -1, 90, 91, -1, -1, -1, + -1, -1, -1, -1, 99, 100, -1, -1, 103, -1, + 105, -1, -1, -1, 109, 110, -1, -1, -1, -1, + -1, 116, 117, 118, 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 34, 35, -1, -1, -1, -1, -1, 41, - -1, -1, -1, -1, -1, -1, -1, 49, -1, -1, - -1, -1, -1, -1, -1, 57, -1, -1, 60, -1, - -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, - 72, 73, 74, -1, 76, -1, 78, 79, -1, -1, - -1, 83, 84, -1, 86, 87, -1, -1, -1, -1, - -1, -1, -1, 95, 96, -1, -1, 99, -1, 101, - -1, -1, -1, 105, 106, -1, -1, -1, -1, 111, - 112, 113, 114, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 126, -1, -1, -1, -1, -1, - 132, 133, 134, 135, -1, 137, 138, -1, 140, 141, - -1, 143, -1, -1, 146, 147, 148, 149, 150, -1, - 152, 153, -1, -1, 156, 157, 158, 159, 160, 161, - 162, 163, 164, -1, -1, 167, -1, 169, 170, -1, - -1, 173, 174, -1, 176, -1, 178, 179, 180, 181, - 182, 183, 184, -1, 186, 187, 188, 189, 190, 3, - 4, 193, 194, 195, 196, 197, -1, -1, -1, 201, - -1, 203, 204, -1, -1, -1, 20, -1, -1, -1, - -1, 25, -1, -1, -1, -1, -1, -1, -1, -1, - 34, -1, -1, -1, -1, -1, -1, 41, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 51, -1, -1, - -1, -1, -1, 57, -1, -1, 60, -1, -1, -1, - -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, - 74, -1, -1, -1, -1, 79, -1, -1, -1, -1, - 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, - 94, 95, 96, -1, -1, 99, -1, 101, -1, -1, - -1, 105, 106, -1, -1, -1, -1, 111, 112, 113, - 114, -1, -1, -1, -1, -1, -1, 121, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 132, 133, - 134, 135, -1, 137, 138, -1, 140, 141, -1, 143, - -1, -1, 146, 147, 148, 149, 150, -1, 152, 153, - -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, - 164, -1, -1, 167, -1, 169, 170, -1, -1, 173, - 174, -1, 176, -1, 178, 179, 180, 181, 182, 183, - 184, -1, 186, 187, 188, 189, 190, 3, 4, 193, - 194, 195, 196, 197, -1, -1, -1, 201, -1, 203, - 204, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 28, -1, -1, -1, -1, -1, 34, -1, - -1, -1, -1, -1, -1, 41, -1, -1, -1, -1, + -1, -1, -1, 138, 139, 140, 141, -1, 143, 144, + -1, 146, 147, -1, 149, -1, -1, 152, 153, 154, + 155, 156, -1, 158, 159, -1, -1, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 3, 4, 173, -1, + 175, 176, -1, 10, 179, 180, 181, 182, -1, 184, + 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, + 195, 196, -1, -1, 199, 200, 201, 202, 203, 36, + -1, -1, 207, -1, 209, 210, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 57, -1, -1, 60, -1, -1, -1, -1, -1, - 66, 67, -1, -1, -1, -1, 72, 73, 74, -1, - -1, -1, -1, 79, -1, -1, -1, -1, 84, -1, - 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, - 96, -1, -1, 99, -1, 101, -1, -1, -1, 105, - 106, -1, -1, -1, -1, 111, 112, 113, 114, -1, + -1, -1, -1, 60, -1, -1, 63, -1, -1, -1, + -1, -1, 69, 70, -1, -1, -1, -1, 75, 76, + 77, -1, -1, -1, -1, 82, -1, -1, -1, -1, + -1, 88, -1, 90, 91, -1, -1, -1, -1, -1, + -1, -1, 99, 100, -1, -1, 103, -1, 105, -1, + -1, -1, 109, 110, -1, -1, -1, -1, -1, 116, + 117, 118, 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 132, 133, 134, 135, - -1, 137, 138, -1, 140, 141, -1, 143, -1, -1, - 146, 147, 148, 149, 150, -1, 152, 153, 3, 4, - 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, - -1, 167, -1, 169, 170, -1, 172, 173, 174, -1, - 176, -1, 178, 179, 180, 181, 182, 183, 184, 34, - 186, 187, 188, 189, 190, -1, 41, 193, 194, 195, - 196, 197, -1, -1, -1, 201, -1, 203, 204, -1, - 55, -1, 57, -1, -1, 60, -1, -1, -1, -1, - -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, - -1, -1, -1, -1, 79, -1, -1, -1, -1, 84, - -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, - 95, 96, -1, 98, 99, -1, 101, -1, -1, -1, - 105, 106, -1, -1, -1, -1, 111, 112, 113, 114, + -1, 138, 139, 140, 141, -1, 143, 144, -1, 146, + 147, -1, 149, -1, -1, 152, 153, 154, 155, 156, + -1, 158, 159, -1, -1, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 3, 4, 173, -1, 175, 176, + -1, -1, 179, 180, -1, 182, -1, 184, 185, 186, + 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, + -1, -1, 199, 200, 201, 202, 203, 36, -1, -1, + 207, -1, 209, 210, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 132, 133, 134, - 135, -1, 137, 138, -1, 140, 141, -1, 143, -1, - -1, 146, 147, 148, 149, 150, -1, 152, 153, 3, - 4, 156, 157, 158, 159, 160, 161, 162, 163, 164, - -1, -1, 167, -1, 169, 170, -1, -1, 173, 174, - -1, 176, -1, 178, 179, 180, 181, 182, 183, 184, - 34, 186, 187, 188, 189, 190, -1, 41, 193, 194, - 195, 196, 197, -1, -1, -1, 201, -1, 203, 204, - -1, -1, -1, 57, -1, -1, 60, -1, -1, -1, - -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, - 74, 75, -1, -1, -1, 79, -1, -1, -1, -1, - 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, - -1, 95, 96, -1, -1, 99, -1, 101, -1, -1, - -1, 105, 106, -1, -1, -1, -1, 111, 112, 113, - 114, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 132, 133, - 134, 135, -1, 137, 138, -1, 140, 141, -1, 143, - -1, -1, 146, 147, 148, 149, 150, -1, 152, 153, - 3, 4, 156, 157, 158, 159, 160, 161, 162, 163, - 164, -1, -1, 167, -1, 169, 170, -1, -1, 173, - 174, -1, 176, -1, 178, 179, 180, 181, 182, 183, - 184, 34, 186, 187, 188, 189, 190, -1, 41, 193, - 194, 195, 196, 197, -1, -1, -1, 201, -1, 203, - 204, -1, -1, -1, 57, -1, -1, 60, -1, -1, - -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, - 73, 74, -1, -1, -1, -1, 79, -1, -1, -1, - -1, 84, -1, 86, 87, -1, -1, -1, -1, -1, - -1, -1, 95, 96, -1, -1, 99, -1, 101, -1, - -1, -1, 105, 106, -1, -1, -1, -1, 111, 112, - 113, 114, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 132, - 133, 134, 135, -1, 137, 138, -1, 140, 141, -1, - 143, -1, -1, 146, 147, 148, 149, 150, -1, 152, - 153, 3, 4, 156, 157, 158, 159, 160, 161, 162, - 163, 164, -1, -1, 167, -1, 169, 170, -1, -1, - 173, 174, 175, 176, -1, 178, 179, 180, 181, 182, - 183, 184, 34, 186, 187, 188, 189, 190, -1, 41, - 193, 194, 195, 196, 197, -1, -1, -1, 201, -1, - 203, 204, -1, -1, -1, 57, -1, -1, 60, -1, - -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, - 72, 73, 74, -1, -1, -1, -1, 79, -1, -1, - -1, -1, 84, -1, 86, 87, -1, -1, -1, -1, - -1, -1, -1, 95, 96, -1, -1, 99, -1, 101, - -1, -1, -1, 105, 106, -1, -1, -1, -1, 111, - 112, 113, 114, -1, -1, -1, -1, -1, -1, -1, + -1, 60, -1, -1, 63, -1, -1, -1, -1, -1, + 69, 70, -1, -1, -1, -1, 75, 76, 77, -1, + -1, -1, -1, 82, -1, -1, -1, -1, -1, 88, + -1, 90, 91, -1, -1, -1, -1, -1, -1, -1, + 99, 100, -1, -1, 103, -1, 105, -1, -1, -1, + 109, 110, -1, -1, -1, -1, -1, 116, 117, 118, + 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 138, + 139, 140, 141, -1, 143, 144, -1, 146, 147, -1, + 149, -1, -1, 152, 153, 154, 155, 156, -1, 158, + 159, -1, -1, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 3, 4, 173, -1, 175, 176, -1, -1, + 179, 180, -1, 182, -1, 184, 185, 186, 187, 188, + 189, 190, -1, 192, 193, 194, 195, 196, -1, -1, + 199, 200, 201, 202, 203, 36, -1, -1, 207, -1, + 209, 210, 43, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, + -1, -1, 63, -1, -1, -1, -1, -1, 69, 70, + -1, -1, -1, -1, 75, 76, 77, -1, -1, -1, + -1, 82, -1, -1, -1, -1, -1, 88, -1, 90, + 91, -1, -1, -1, -1, -1, -1, -1, 99, 100, + -1, -1, 103, -1, 105, -1, -1, -1, 109, 110, + -1, -1, -1, -1, -1, 116, 117, 118, 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 132, 133, 134, 135, -1, 137, 138, -1, 140, 141, - -1, 143, -1, -1, 146, 147, 148, 149, 150, -1, - 152, 153, -1, -1, 156, 157, 158, 159, 160, 161, - 162, 163, 164, -1, -1, 167, -1, 169, 170, -1, - -1, 173, 174, 175, 176, -1, 178, 179, 180, 181, - 182, 183, 184, -1, 186, 187, 188, 189, 190, 3, - 4, 193, 194, 195, 196, 197, 10, -1, -1, 201, - -1, 203, 204, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 138, 139, 140, + 141, -1, 143, 144, -1, 146, 147, -1, 149, -1, + -1, 152, 153, 154, 155, 156, -1, 158, 159, -1, + -1, 162, 163, 164, 165, 166, 167, 168, 169, 170, + 3, 4, 173, -1, 175, 176, -1, -1, 179, 180, + -1, 182, -1, 184, 185, 186, 187, 188, 189, 190, + -1, 192, 193, 194, 195, 196, -1, -1, 199, 200, + 201, 202, 203, 36, -1, -1, 207, -1, 209, 210, + 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, + 63, -1, -1, -1, -1, -1, 69, 70, -1, -1, + -1, -1, 75, 76, 77, -1, -1, -1, -1, 82, + -1, -1, -1, -1, -1, 88, -1, 90, 91, -1, + -1, -1, -1, -1, -1, -1, 99, 100, -1, -1, + 103, -1, 105, -1, -1, -1, 109, 110, -1, -1, + -1, -1, -1, 116, 117, 118, 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 34, -1, -1, -1, -1, -1, -1, 41, -1, -1, + -1, -1, -1, -1, -1, 138, 139, 140, 141, -1, + 143, 144, -1, 146, 147, -1, 149, -1, -1, 152, + 153, 154, 155, 156, -1, 158, 159, -1, -1, 162, + 163, 164, 165, 166, 167, 168, 169, 170, -1, -1, + 173, -1, 175, 176, -1, -1, 179, 180, -1, 182, + -1, 184, 185, 186, 187, 188, 189, 190, -1, 192, + 193, 194, 195, 196, -1, -1, 199, 200, 201, 202, + 203, -1, -1, 7, 207, -1, 209, 210, 12, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, + -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 38, -1, 40, -1, -1, -1, + 44, -1, 46, 47, -1, -1, -1, 51, -1, -1, + -1, -1, -1, 57, -1, -1, -1, -1, -1, -1, + 64, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 57, -1, -1, 60, -1, -1, -1, - -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, - 74, -1, -1, -1, -1, 79, -1, -1, -1, -1, - 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, - -1, 95, 96, -1, -1, 99, -1, 101, -1, -1, - -1, 105, 106, -1, -1, -1, -1, 111, 112, 113, - 114, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 132, 133, - 134, 135, -1, 137, 138, -1, 140, 141, -1, 143, - -1, -1, 146, 147, 148, 149, 150, -1, 152, 153, - 3, 4, 156, 157, 158, 159, 160, 161, 162, 163, - 164, -1, -1, 167, -1, 169, 170, -1, -1, 173, - 174, -1, 176, -1, 178, 179, 180, 181, 182, 183, - 184, 34, 186, 187, 188, 189, 190, -1, 41, 193, - 194, 195, 196, 197, -1, -1, -1, 201, -1, 203, - 204, -1, -1, -1, 57, -1, -1, 60, -1, -1, - -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, - 73, 74, -1, -1, -1, -1, 79, -1, -1, -1, - -1, 84, -1, 86, 87, -1, -1, -1, -1, -1, - -1, -1, 95, 96, -1, -1, 99, -1, 101, -1, - -1, -1, 105, 106, -1, -1, -1, -1, 111, 112, - 113, 114, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 132, - 133, 134, 135, -1, 137, 138, -1, 140, 141, -1, - 143, -1, -1, 146, 147, 148, 149, 150, -1, 152, - 153, 3, 4, 156, 157, 158, 159, 160, 161, 162, - 163, 164, -1, -1, 167, -1, 169, 170, -1, -1, - 173, 174, -1, 176, -1, 178, 179, 180, 181, 182, - 183, 184, 34, 186, 187, 188, 189, 190, -1, 41, - 193, 194, 195, 196, 197, -1, -1, -1, 201, -1, - 203, 204, -1, -1, -1, 57, -1, -1, 60, -1, - -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, - 72, 73, 74, -1, -1, -1, -1, 79, -1, -1, - -1, -1, 84, -1, 86, 87, -1, -1, -1, -1, - -1, -1, -1, 95, 96, -1, -1, 99, -1, 101, - -1, -1, -1, 105, 106, -1, -1, -1, -1, 111, - 112, 113, 114, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 132, 133, 134, 135, -1, 137, 138, -1, 140, 141, - -1, 143, -1, -1, 146, 147, 148, 149, 150, -1, - 152, 153, 3, 4, 156, 157, 158, 159, 160, 161, - 162, 163, 164, -1, -1, 167, -1, 169, 170, -1, - -1, 173, 174, -1, 176, -1, 178, 179, 180, 181, - 182, 183, 184, 34, 186, 187, 188, 189, 190, -1, - 41, 193, 194, 195, 196, 197, -1, -1, -1, 201, - -1, 203, 204, -1, -1, -1, 57, -1, -1, 60, - -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, - -1, 72, 73, 74, -1, -1, -1, -1, 79, -1, - -1, -1, -1, 84, -1, 86, 87, -1, -1, -1, - -1, -1, -1, -1, 95, 96, -1, -1, 99, -1, - 101, -1, -1, -1, 105, 106, -1, -1, -1, -1, - 111, 112, 113, 114, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 19, 20, -1, -1, -1, -1, -1, + -1, -1, 106, -1, 108, -1, -1, 111, 112, -1, + 36, 37, -1, -1, -1, -1, -1, 43, -1, -1, + -1, -1, -1, 127, 50, -1, 52, -1, -1, -1, + -1, -1, -1, -1, 60, -1, -1, -1, 142, 65, + -1, -1, -1, -1, -1, -1, 150, 151, -1, -1, + 76, 77, -1, 79, -1, 81, 160, 161, -1, -1, + -1, 87, -1, -1, -1, -1, -1, 171, 172, -1, + 174, -1, -1, 177, -1, -1, -1, -1, -1, 183, + -1, -1, -1, -1, 110, 111, -1, 191, -1, -1, + 116, 117, -1, -1, 198, -1, -1, -1, 124, -1, + 204, -1, 206, -1, -1, 131, 19, 20, -1, -1, + -1, -1, 138, -1, -1, 141, -1, -1, -1, -1, + -1, -1, -1, 36, 37, -1, -1, -1, -1, -1, + 43, -1, -1, -1, -1, -1, -1, 50, -1, 52, + -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, + -1, -1, 65, -1, -1, -1, -1, -1, -1, 19, + 20, -1, -1, 76, 77, -1, 79, -1, 81, -1, + -1, 197, -1, -1, 87, -1, 36, 37, -1, -1, + -1, -1, -1, 43, 210, 211, -1, 213, 214, 215, + -1, -1, 52, -1, -1, -1, -1, 110, -1, -1, + 60, -1, -1, 116, 117, 65, -1, -1, -1, -1, + -1, 124, -1, -1, -1, -1, 76, 77, 131, 79, + -1, 81, -1, -1, -1, 138, -1, 87, 141, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 132, 133, 134, 135, -1, 137, 138, -1, 140, - 141, -1, 143, -1, -1, 146, 147, 148, 149, 150, - -1, 152, 153, -1, -1, 156, 157, 158, 159, 160, - 161, 162, 163, 164, -1, -1, 167, -1, 169, 170, - -1, -1, 173, 174, -1, 176, -1, 178, 179, 180, - 181, 182, 183, 184, -1, 186, 187, 188, 189, 190, - -1, -1, 193, 194, 195, 196, 197, -1, -1, 7, - 201, -1, 203, 204, 12, -1, -1, -1, -1, -1, - -1, -1, -1, 21, -1, -1, 24, -1, 26, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 36, -1, - 38, -1, -1, -1, 42, 43, 44, -1, -1, -1, - 48, -1, -1, -1, -1, -1, 54, -1, -1, -1, - -1, 18, 19, 61, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 34, 35, -1, - -1, -1, -1, -1, 41, -1, -1, -1, -1, -1, - 47, -1, 49, -1, -1, -1, -1, -1, -1, -1, - 57, -1, -1, -1, 102, 62, 104, -1, -1, 107, - 108, -1, -1, -1, -1, -1, 73, 74, -1, 76, - -1, 78, -1, -1, 122, -1, 83, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 136, -1, - -1, -1, -1, -1, -1, -1, 144, 145, -1, 106, - 107, -1, -1, -1, 111, 112, 154, 155, -1, -1, - -1, -1, 119, -1, -1, -1, -1, 165, 166, 126, - 168, -1, -1, 171, -1, 132, -1, -1, 135, 177, - 18, 19, -1, -1, -1, -1, -1, 185, -1, -1, - -1, -1, -1, -1, 192, -1, 34, 35, -1, -1, - 198, -1, 200, 41, -1, -1, -1, -1, -1, 47, - -1, 49, -1, -1, -1, -1, -1, -1, -1, 57, - -1, -1, -1, -1, 62, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 191, 73, 74, -1, 76, -1, - 78, -1, -1, -1, -1, 83, -1, 204, 205, -1, - 207, 208, 209, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 106, 18, - 19, -1, -1, 111, 112, -1, -1, -1, -1, -1, - -1, 119, -1, -1, -1, 34, 35, -1, 126, -1, - -1, -1, 41, -1, 132, -1, -1, 135, -1, -1, - 49, -1, -1, -1, -1, -1, -1, -1, 57, -1, - -1, -1, -1, 62, -1, -1, -1, -1, -1, -1, - 18, 19, -1, -1, 73, 74, -1, 76, -1, 78, - -1, -1, -1, -1, 83, -1, 34, 35, -1, -1, - -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, - -1, 49, -1, 191, -1, -1, -1, 106, -1, 57, - -1, -1, 111, 112, 62, -1, 204, 205, -1, 207, - 208, 209, -1, -1, -1, 73, 74, 126, 76, -1, - 78, -1, -1, 132, -1, 83, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 106, -1, - -1, -1, -1, 111, 112, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 126, -1, - -1, -1, -1, -1, 132, -1, -1, 135, -1, -1, - -1, 190, 191, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 204, -1, -1, -1, -1, + 110, -1, -1, -1, -1, -1, 116, 117, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 131, -1, -1, -1, -1, -1, -1, 138, -1, + -1, 141, -1, -1, 197, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 210, 211, -1, + 213, 214, 215, -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, 191, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 204 + -1, -1, -1, -1, -1, -1, -1, 197, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 210 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ #line 3 "/usr/share/misc/bison.simple" @@ -4962,27 +5146,27 @@ yyreduce: switch (yyn) { case 1: -#line 342 "gram.y" +#line 345 "gram.y" { parsetree = yyvsp[0].list; ; break;} case 2: -#line 344 "gram.y" +#line 347 "gram.y" { parsetree = lcons(yyvsp[0].node,NIL); ; break;} case 3: -#line 348 "gram.y" +#line 351 "gram.y" { yyval.list = lappend(yyvsp[-2].list, yyvsp[-1].node); ; break;} case 4: -#line 350 "gram.y" +#line 353 "gram.y" { yyval.list = lappend(yyvsp[-1].list, yyvsp[0].node); ; break;} case 5: -#line 352 "gram.y" +#line 355 "gram.y" { yyval.list = lcons(yyvsp[-1].node,NIL); ; break;} case 49: -#line 409 "gram.y" +#line 412 "gram.y" { CreateUserStmt *n = makeNode(CreateUserStmt); n->user = yyvsp[-5].str; @@ -4995,7 +5179,7 @@ case 49: ; break;} case 50: -#line 430 "gram.y" +#line 433 "gram.y" { AlterUserStmt *n = makeNode(AlterUserStmt); n->user = yyvsp[-5].str; @@ -5008,7 +5192,7 @@ case 50: ; break;} case 51: -#line 450 "gram.y" +#line 453 "gram.y" { DropUserStmt *n = makeNode(DropUserStmt); n->user = yyvsp[0].str; @@ -5016,15 +5200,15 @@ case 51: ; break;} case 52: -#line 457 "gram.y" +#line 460 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 53: -#line 458 "gram.y" +#line 461 "gram.y" { yyval.str = NULL; ; break;} case 54: -#line 462 "gram.y" +#line 465 "gram.y" { bool* b; yyval.pboolean = (b = (bool*)palloc(sizeof(bool))); @@ -5032,7 +5216,7 @@ case 54: ; break;} case 55: -#line 468 "gram.y" +#line 471 "gram.y" { bool* b; yyval.pboolean = (b = (bool*)palloc(sizeof(bool))); @@ -5040,11 +5224,11 @@ case 55: ; break;} case 56: -#line 473 "gram.y" +#line 476 "gram.y" { yyval.pboolean = NULL; ; break;} case 57: -#line 477 "gram.y" +#line 480 "gram.y" { bool* b; yyval.pboolean = (b = (bool*)palloc(sizeof(bool))); @@ -5052,7 +5236,7 @@ case 57: ; break;} case 58: -#line 483 "gram.y" +#line 486 "gram.y" { bool* b; yyval.pboolean = (b = (bool*)palloc(sizeof(bool))); @@ -5060,39 +5244,39 @@ case 58: ; break;} case 59: -#line 488 "gram.y" +#line 491 "gram.y" { yyval.pboolean = NULL; ; break;} case 60: -#line 492 "gram.y" +#line 495 "gram.y" { yyval.list = lcons((void*)makeString(yyvsp[0].str), yyvsp[-2].list); ; break;} case 61: -#line 496 "gram.y" +#line 499 "gram.y" { yyval.list = lcons((void*)makeString(yyvsp[0].str), NIL); ; break;} case 62: -#line 501 "gram.y" +#line 504 "gram.y" { yyval.list = yyvsp[0].list; ; break;} case 63: -#line 502 "gram.y" +#line 505 "gram.y" { yyval.list = NULL; ; break;} case 64: -#line 505 "gram.y" +#line 508 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 65: -#line 506 "gram.y" +#line 509 "gram.y" { yyval.str = NULL; ; break;} case 66: -#line 519 "gram.y" +#line 522 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); n->name = yyvsp[-2].str; @@ -5101,7 +5285,7 @@ case 66: ; break;} case 67: -#line 526 "gram.y" +#line 529 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); n->name = yyvsp[-2].str; @@ -5110,7 +5294,7 @@ case 67: ; break;} case 68: -#line 533 "gram.y" +#line 536 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); n->name = "timezone"; @@ -5119,7 +5303,7 @@ case 68: ; break;} case 69: -#line 540 "gram.y" +#line 543 "gram.y" { #ifdef MB VariableSetStmt *n = makeNode(VariableSetStmt); @@ -5132,27 +5316,27 @@ case 69: ; break;} case 70: -#line 552 "gram.y" +#line 555 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 71: -#line 553 "gram.y" +#line 556 "gram.y" { yyval.str = NULL; ; break;} case 72: -#line 556 "gram.y" +#line 559 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 73: -#line 557 "gram.y" +#line 560 "gram.y" { yyval.str = NULL; ; break;} case 74: -#line 558 "gram.y" +#line 561 "gram.y" { yyval.str = NULL; ; break;} case 75: -#line 562 "gram.y" +#line 565 "gram.y" { VariableShowStmt *n = makeNode(VariableShowStmt); n->name = yyvsp[0].str; @@ -5160,7 +5344,7 @@ case 75: ; break;} case 76: -#line 568 "gram.y" +#line 571 "gram.y" { VariableShowStmt *n = makeNode(VariableShowStmt); n->name = "timezone"; @@ -5168,7 +5352,7 @@ case 76: ; break;} case 77: -#line 576 "gram.y" +#line 579 "gram.y" { VariableResetStmt *n = makeNode(VariableResetStmt); n->name = yyvsp[0].str; @@ -5176,7 +5360,7 @@ case 77: ; break;} case 78: -#line 582 "gram.y" +#line 585 "gram.y" { VariableResetStmt *n = makeNode(VariableResetStmt); n->name = "timezone"; @@ -5184,7 +5368,7 @@ case 78: ; break;} case 79: -#line 598 "gram.y" +#line 601 "gram.y" { AddAttrStmt *n = makeNode(AddAttrStmt); n->relname = yyvsp[-2].str; @@ -5194,13 +5378,13 @@ case 79: ; break;} case 80: -#line 608 "gram.y" +#line 611 "gram.y" { yyval.node = yyvsp[0].node; ; break;} case 81: -#line 612 "gram.y" +#line 615 "gram.y" { Node *lp = lfirst(yyvsp[-1].list); @@ -5210,23 +5394,23 @@ case 81: ; break;} case 82: -#line 620 "gram.y" +#line 623 "gram.y" { elog(ERROR,"ALTER TABLE/DROP COLUMN not yet implemented"); ; break;} case 83: -#line 622 "gram.y" +#line 625 "gram.y" { elog(ERROR,"ALTER TABLE/ALTER COLUMN/SET DEFAULT not yet implemented"); ; break;} case 84: -#line 624 "gram.y" +#line 627 "gram.y" { elog(ERROR,"ALTER TABLE/ALTER COLUMN/DROP DEFAULT not yet implemented"); ; break;} case 85: -#line 626 "gram.y" +#line 629 "gram.y" { elog(ERROR,"ALTER TABLE/ADD CONSTRAINT not yet implemented"); ; break;} case 86: -#line 638 "gram.y" +#line 641 "gram.y" { ClosePortalStmt *n = makeNode(ClosePortalStmt); n->portalname = yyvsp[0].str; @@ -5234,7 +5418,7 @@ case 86: ; break;} case 87: -#line 655 "gram.y" +#line 658 "gram.y" { CopyStmt *n = makeNode(CopyStmt); n->binary = yyvsp[-5].boolean; @@ -5247,51 +5431,51 @@ case 87: ; break;} case 88: -#line 668 "gram.y" +#line 671 "gram.y" { yyval.ival = TO; ; break;} case 89: -#line 670 "gram.y" +#line 673 "gram.y" { yyval.ival = FROM; ; break;} case 90: -#line 678 "gram.y" +#line 681 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 91: -#line 679 "gram.y" +#line 682 "gram.y" { yyval.str = NULL; ; break;} case 92: -#line 680 "gram.y" +#line 683 "gram.y" { yyval.str = NULL; ; break;} case 93: -#line 683 "gram.y" +#line 686 "gram.y" { yyval.boolean = TRUE; ; break;} case 94: -#line 684 "gram.y" +#line 687 "gram.y" { yyval.boolean = FALSE; ; break;} case 95: -#line 687 "gram.y" +#line 690 "gram.y" { yyval.boolean = TRUE; ; break;} case 96: -#line 688 "gram.y" +#line 691 "gram.y" { yyval.boolean = FALSE; ; break;} case 97: -#line 694 "gram.y" +#line 697 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 98: -#line 695 "gram.y" +#line 698 "gram.y" { yyval.str = "\t"; ; break;} case 99: -#line 708 "gram.y" +#line 711 "gram.y" { CreateStmt *n = makeNode(CreateStmt); n->relname = yyvsp[-4].str; @@ -5302,7 +5486,7 @@ case 99: ; break;} case 100: -#line 719 "gram.y" +#line 722 "gram.y" { if (yyvsp[0].node != NULL) yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); @@ -5311,7 +5495,7 @@ case 100: ; break;} case 101: -#line 726 "gram.y" +#line 729 "gram.y" { if (yyvsp[0].node != NULL) yyval.list = lcons(yyvsp[0].node, NIL); @@ -5320,19 +5504,19 @@ case 101: ; break;} case 102: -#line 732 "gram.y" +#line 735 "gram.y" { yyval.list = NULL; ; break;} case 103: -#line 735 "gram.y" +#line 738 "gram.y" { yyval.node = yyvsp[0].node; ; break;} case 104: -#line 736 "gram.y" +#line 739 "gram.y" { yyval.node = yyvsp[0].node; ; break;} case 105: -#line 740 "gram.y" +#line 743 "gram.y" { ColumnDef *n = makeNode(ColumnDef); n->colname = yyvsp[-2].str; @@ -5344,7 +5528,7 @@ case 105: ; break;} case 106: -#line 750 "gram.y" +#line 753 "gram.y" { ColumnDef *n = makeNode(ColumnDef); n->colname = yyvsp[-2].str; @@ -5359,15 +5543,15 @@ case 106: ; break;} case 107: -#line 764 "gram.y" +#line 767 "gram.y" { yyval.list = yyvsp[0].list; ; break;} case 108: -#line 765 "gram.y" +#line 768 "gram.y" { yyval.list = NULL; ; break;} case 109: -#line 769 "gram.y" +#line 772 "gram.y" { if (yyvsp[0].node != NULL) yyval.list = lappend(yyvsp[-1].list, yyvsp[0].node); @@ -5376,7 +5560,7 @@ case 109: ; break;} case 110: -#line 776 "gram.y" +#line 779 "gram.y" { if (yyvsp[0].node != NULL) yyval.list = lcons(yyvsp[0].node, NIL); @@ -5385,7 +5569,7 @@ case 110: ; break;} case 111: -#line 785 "gram.y" +#line 788 "gram.y" { Constraint *n = makeNode(Constraint); n->contype = CONSTR_PRIMARY; @@ -5396,11 +5580,11 @@ case 111: ; break;} case 112: -#line 793 "gram.y" +#line 796 "gram.y" { yyval.list = NULL; ; break;} case 113: -#line 798 "gram.y" +#line 801 "gram.y" { Constraint *n = (Constraint *)yyvsp[0].node; if (n != NULL) n->name = fmtId(yyvsp[-1].str); @@ -5408,11 +5592,11 @@ case 113: ; break;} case 114: -#line 804 "gram.y" +#line 807 "gram.y" { yyval.node = yyvsp[0].node; ; break;} case 115: -#line 823 "gram.y" +#line 826 "gram.y" { Constraint *n = makeNode(Constraint); n->contype = CONSTR_CHECK; @@ -5423,7 +5607,7 @@ case 115: ; break;} case 116: -#line 832 "gram.y" +#line 835 "gram.y" { Constraint *n = makeNode(Constraint); n->contype = CONSTR_DEFAULT; @@ -5434,7 +5618,7 @@ case 116: ; break;} case 117: -#line 841 "gram.y" +#line 844 "gram.y" { Constraint *n = makeNode(Constraint); n->contype = CONSTR_DEFAULT; @@ -5445,7 +5629,7 @@ case 117: ; break;} case 118: -#line 850 "gram.y" +#line 853 "gram.y" { Constraint *n = makeNode(Constraint); n->contype = CONSTR_NOTNULL; @@ -5456,7 +5640,7 @@ case 118: ; break;} case 119: -#line 859 "gram.y" +#line 862 "gram.y" { Constraint *n = makeNode(Constraint); n->contype = CONSTR_UNIQUE; @@ -5467,7 +5651,7 @@ case 119: ; break;} case 120: -#line 868 "gram.y" +#line 871 "gram.y" { Constraint *n = makeNode(Constraint); n->contype = CONSTR_PRIMARY; @@ -5478,100 +5662,100 @@ case 120: ; break;} case 121: -#line 877 "gram.y" +#line 880 "gram.y" { elog(NOTICE,"CREATE TABLE/FOREIGN KEY clause ignored; not yet implemented"); yyval.node = NULL; ; break;} case 122: -#line 884 "gram.y" +#line 887 "gram.y" { yyval.list = lappend(yyvsp[-2].list,makeString(",")); yyval.list = nconc(yyval.list, yyvsp[0].list); ; break;} case 123: -#line 889 "gram.y" +#line 892 "gram.y" { yyval.list = yyvsp[0].list; ; break;} case 124: -#line 902 "gram.y" +#line 905 "gram.y" { yyval.list = makeConstantList((A_Const *) yyvsp[0].node); ; break;} case 125: -#line 904 "gram.y" +#line 907 "gram.y" { yyval.list = lcons( makeString( "-"), yyvsp[0].list); ; break;} case 126: -#line 906 "gram.y" +#line 909 "gram.y" { yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "+"), yyvsp[0].list)); ; break;} case 127: -#line 908 "gram.y" +#line 911 "gram.y" { yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "-"), yyvsp[0].list)); ; break;} case 128: -#line 910 "gram.y" +#line 913 "gram.y" { yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "/"), yyvsp[0].list)); ; break;} case 129: -#line 912 "gram.y" +#line 915 "gram.y" { yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "*"), yyvsp[0].list)); ; break;} case 130: -#line 914 "gram.y" +#line 917 "gram.y" { elog(ERROR,"boolean expressions not supported in DEFAULT"); ; break;} case 131: -#line 916 "gram.y" +#line 919 "gram.y" { elog(ERROR,"boolean expressions not supported in DEFAULT"); ; break;} case 132: -#line 918 "gram.y" +#line 921 "gram.y" { elog(ERROR,"boolean expressions not supported in DEFAULT"); ; break;} case 133: -#line 920 "gram.y" +#line 923 "gram.y" { yyval.list = lcons( makeString( ":"), yyvsp[0].list); ; break;} case 134: -#line 922 "gram.y" +#line 925 "gram.y" { yyval.list = lcons( makeString( ";"), yyvsp[0].list); ; break;} case 135: -#line 924 "gram.y" +#line 927 "gram.y" { yyval.list = lcons( makeString( "|"), yyvsp[0].list); ; break;} case 136: -#line 926 "gram.y" +#line 929 "gram.y" { yyvsp[0].typnam->name = fmtId(yyvsp[0].typnam->name); yyval.list = nconc( lcons( makeString( "CAST"), yyvsp[-2].list), makeList( makeString("AS"), yyvsp[0].typnam, -1)); ; break;} case 137: -#line 931 "gram.y" +#line 934 "gram.y" { yyvsp[-1].typnam->name = fmtId(yyvsp[-1].typnam->name); yyval.list = nconc( lcons( makeString( "CAST"), yyvsp[-3].list), makeList( makeString("AS"), yyvsp[-1].typnam, -1)); ; break;} case 138: -#line 936 "gram.y" +#line 939 "gram.y" { yyval.list = lappend( lcons( makeString( "("), yyvsp[-1].list), makeString( ")")); ; break;} case 139: -#line 938 "gram.y" +#line 941 "gram.y" { yyval.list = makeList( makeString(yyvsp[-2].str), makeString("("), -1); yyval.list = lappend( yyval.list, makeString(")")); ; break;} case 140: -#line 943 "gram.y" +#line 946 "gram.y" { yyval.list = makeList( makeString(yyvsp[-3].str), makeString("("), -1); yyval.list = nconc( yyval.list, yyvsp[-1].list); @@ -5579,7 +5763,7 @@ case 140: ; break;} case 141: -#line 949 "gram.y" +#line 952 "gram.y" { if (!strcmp("<=", yyvsp[-1].str) || !strcmp(">=", yyvsp[-1].str)) elog(ERROR,"boolean expressions not supported in DEFAULT"); @@ -5587,23 +5771,23 @@ case 141: ; break;} case 142: -#line 955 "gram.y" +#line 958 "gram.y" { yyval.list = lcons( makeString( yyvsp[-1].str), yyvsp[0].list); ; break;} case 143: -#line 957 "gram.y" +#line 960 "gram.y" { yyval.list = lappend( yyvsp[-1].list, makeString( yyvsp[0].str)); ; break;} case 144: -#line 960 "gram.y" +#line 963 "gram.y" { yyval.list = lcons( makeString( "date( 'current'::datetime + '0 sec')"), NIL); ; break;} case 145: -#line 962 "gram.y" +#line 965 "gram.y" { yyval.list = lcons( makeString( "'now'::time"), NIL); ; break;} case 146: -#line 964 "gram.y" +#line 967 "gram.y" { if (yyvsp[-1].ival != 0) elog(NOTICE,"CURRENT_TIME(%d) precision not implemented; zero used instead",yyvsp[-1].ival); @@ -5611,11 +5795,11 @@ case 146: ; break;} case 147: -#line 970 "gram.y" +#line 973 "gram.y" { yyval.list = lcons( makeString( "now()"), NIL); ; break;} case 148: -#line 972 "gram.y" +#line 975 "gram.y" { if (yyvsp[-1].ival != 0) elog(NOTICE,"CURRENT_TIMESTAMP(%d) precision not implemented; zero used instead",yyvsp[-1].ival); @@ -5623,15 +5807,15 @@ case 148: ; break;} case 149: -#line 978 "gram.y" +#line 981 "gram.y" { yyval.list = lcons( makeString( "CURRENT_USER"), NIL); ; break;} case 150: -#line 980 "gram.y" +#line 983 "gram.y" { yyval.list = lcons( makeString( "USER"), NIL); ; break;} case 151: -#line 988 "gram.y" +#line 991 "gram.y" { Constraint *n = (Constraint *)yyvsp[0].node; if (n != NULL) n->name = fmtId(yyvsp[-1].str); @@ -5639,11 +5823,11 @@ case 151: ; break;} case 152: -#line 994 "gram.y" +#line 997 "gram.y" { yyval.node = yyvsp[0].node; ; break;} case 153: -#line 998 "gram.y" +#line 1001 "gram.y" { Constraint *n = makeNode(Constraint); n->contype = CONSTR_CHECK; @@ -5653,7 +5837,7 @@ case 153: ; break;} case 154: -#line 1006 "gram.y" +#line 1009 "gram.y" { Constraint *n = makeNode(Constraint); n->contype = CONSTR_UNIQUE; @@ -5664,7 +5848,7 @@ case 154: ; break;} case 155: -#line 1015 "gram.y" +#line 1018 "gram.y" { Constraint *n = makeNode(Constraint); n->contype = CONSTR_PRIMARY; @@ -5675,110 +5859,110 @@ case 155: ; break;} case 156: -#line 1024 "gram.y" +#line 1027 "gram.y" { elog(NOTICE,"CREATE TABLE/FOREIGN KEY clause ignored; not yet implemented"); yyval.node = NULL; ; break;} case 157: -#line 1031 "gram.y" +#line 1034 "gram.y" { yyval.list = lappend(yyvsp[-2].list,makeString(",")); yyval.list = nconc(yyval.list, yyvsp[0].list); ; break;} case 158: -#line 1036 "gram.y" +#line 1039 "gram.y" { yyval.list = yyvsp[0].list; ; break;} case 159: -#line 1042 "gram.y" +#line 1045 "gram.y" { yyval.list = makeConstantList((A_Const *) yyvsp[0].node); ; break;} case 160: -#line 1044 "gram.y" +#line 1047 "gram.y" { yyval.list = lcons( makeString("NULL"), NIL); ; break;} case 161: -#line 1046 "gram.y" +#line 1049 "gram.y" { yyval.list = lcons( makeString(fmtId(yyvsp[0].str)), NIL); ; break;} case 162: -#line 1050 "gram.y" +#line 1053 "gram.y" { yyval.list = lcons( makeString( "-"), yyvsp[0].list); ; break;} case 163: -#line 1052 "gram.y" +#line 1055 "gram.y" { yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "+"), yyvsp[0].list)); ; break;} case 164: -#line 1054 "gram.y" +#line 1057 "gram.y" { yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "-"), yyvsp[0].list)); ; break;} case 165: -#line 1056 "gram.y" +#line 1059 "gram.y" { yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "/"), yyvsp[0].list)); ; break;} case 166: -#line 1058 "gram.y" +#line 1061 "gram.y" { yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "*"), yyvsp[0].list)); ; break;} case 167: -#line 1060 "gram.y" +#line 1063 "gram.y" { yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "="), yyvsp[0].list)); ; break;} case 168: -#line 1062 "gram.y" +#line 1065 "gram.y" { yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "<"), yyvsp[0].list)); ; break;} case 169: -#line 1064 "gram.y" +#line 1067 "gram.y" { yyval.list = nconc( yyvsp[-2].list, lcons( makeString( ">"), yyvsp[0].list)); ; break;} case 170: -#line 1066 "gram.y" +#line 1069 "gram.y" { yyval.list = lcons( makeString( ":"), yyvsp[0].list); ; break;} case 171: -#line 1068 "gram.y" +#line 1071 "gram.y" { yyval.list = lcons( makeString( ";"), yyvsp[0].list); ; break;} case 172: -#line 1070 "gram.y" +#line 1073 "gram.y" { yyval.list = lcons( makeString( "|"), yyvsp[0].list); ; break;} case 173: -#line 1072 "gram.y" +#line 1075 "gram.y" { yyvsp[0].typnam->name = fmtId(yyvsp[0].typnam->name); yyval.list = nconc( lcons( makeString( "CAST"), yyvsp[-2].list), makeList( makeString("AS"), yyvsp[0].typnam, -1)); ; break;} case 174: -#line 1077 "gram.y" +#line 1080 "gram.y" { yyvsp[-1].typnam->name = fmtId(yyvsp[-1].typnam->name); yyval.list = nconc( lcons( makeString( "CAST"), yyvsp[-3].list), makeList( makeString("AS"), yyvsp[-1].typnam, -1)); ; break;} case 175: -#line 1082 "gram.y" +#line 1085 "gram.y" { yyval.list = lappend( lcons( makeString( "("), yyvsp[-1].list), makeString( ")")); ; break;} case 176: -#line 1084 "gram.y" +#line 1087 "gram.y" { yyval.list = makeList( makeString(yyvsp[-2].str), makeString("("), -1); yyval.list = lappend( yyval.list, makeString(")")); ; break;} case 177: -#line 1089 "gram.y" +#line 1092 "gram.y" { yyval.list = makeList( makeString(yyvsp[-3].str), makeString("("), -1); yyval.list = nconc( yyval.list, yyvsp[-1].list); @@ -5786,71 +5970,71 @@ case 177: ; break;} case 178: -#line 1095 "gram.y" +#line 1098 "gram.y" { yyval.list = nconc( yyvsp[-2].list, lcons( makeString( yyvsp[-1].str), yyvsp[0].list)); ; break;} case 179: -#line 1097 "gram.y" +#line 1100 "gram.y" { yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "LIKE"), yyvsp[0].list)); ; break;} case 180: -#line 1099 "gram.y" +#line 1102 "gram.y" { yyval.list = nconc( yyvsp[-3].list, lcons( makeString( "NOT LIKE"), yyvsp[0].list)); ; break;} case 181: -#line 1101 "gram.y" +#line 1104 "gram.y" { yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "AND"), yyvsp[0].list)); ; break;} case 182: -#line 1103 "gram.y" +#line 1106 "gram.y" { yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "OR"), yyvsp[0].list)); ; break;} case 183: -#line 1105 "gram.y" +#line 1108 "gram.y" { yyval.list = lcons( makeString( "NOT"), yyvsp[0].list); ; break;} case 184: -#line 1107 "gram.y" +#line 1110 "gram.y" { yyval.list = lcons( makeString( yyvsp[-1].str), yyvsp[0].list); ; break;} case 185: -#line 1109 "gram.y" +#line 1112 "gram.y" { yyval.list = lappend( yyvsp[-1].list, makeString( yyvsp[0].str)); ; break;} case 186: -#line 1111 "gram.y" +#line 1114 "gram.y" { yyval.list = lappend( yyvsp[-1].list, makeString( "IS NULL")); ; break;} case 187: -#line 1113 "gram.y" +#line 1116 "gram.y" { yyval.list = lappend( yyvsp[-2].list, makeString( "IS NULL")); ; break;} case 188: -#line 1115 "gram.y" +#line 1118 "gram.y" { yyval.list = lappend( yyvsp[-1].list, makeString( "IS NOT NULL")); ; break;} case 189: -#line 1117 "gram.y" +#line 1120 "gram.y" { yyval.list = lappend( yyvsp[-3].list, makeString( "IS NOT NULL")); ; break;} case 190: -#line 1119 "gram.y" +#line 1122 "gram.y" { yyval.list = lappend( yyvsp[-2].list, makeString( "IS TRUE")); ; break;} case 191: -#line 1121 "gram.y" +#line 1124 "gram.y" { yyval.list = lappend( yyvsp[-2].list, makeString( "IS FALSE")); ; break;} case 192: -#line 1123 "gram.y" +#line 1126 "gram.y" { yyval.list = lappend( yyvsp[-3].list, makeString( "IS NOT TRUE")); ; break;} case 193: -#line 1125 "gram.y" +#line 1128 "gram.y" { yyval.list = lappend( yyvsp[-3].list, makeString( "IS NOT FALSE")); ; break;} case 194: -#line 1127 "gram.y" +#line 1130 "gram.y" { yyval.list = lappend( yyvsp[-4].list, makeString("IN")); yyval.list = lappend( yyval.list, makeString("(")); @@ -5859,7 +6043,7 @@ case 194: ; break;} case 195: -#line 1134 "gram.y" +#line 1137 "gram.y" { yyval.list = lappend( yyvsp[-5].list, makeString("NOT IN")); yyval.list = lappend( yyval.list, makeString("(")); @@ -5868,7 +6052,7 @@ case 195: ; break;} case 196: -#line 1141 "gram.y" +#line 1144 "gram.y" { yyval.list = lappend( yyvsp[-4].list, makeString("BETWEEN")); yyval.list = nconc( yyval.list, yyvsp[-2].list); @@ -5877,7 +6061,7 @@ case 196: ; break;} case 197: -#line 1148 "gram.y" +#line 1151 "gram.y" { yyval.list = lappend( yyvsp[-5].list, makeString("NOT BETWEEN")); yyval.list = nconc( yyval.list, yyvsp[-2].list); @@ -5886,80 +6070,80 @@ case 197: ; break;} case 198: -#line 1157 "gram.y" +#line 1160 "gram.y" { yyval.list = lappend(yyvsp[-2].list, makeString(",")); yyval.list = nconc(yyval.list, yyvsp[0].list); ; break;} case 199: -#line 1162 "gram.y" +#line 1165 "gram.y" { yyval.list = yyvsp[0].list; ; break;} case 200: -#line 1168 "gram.y" +#line 1171 "gram.y" { yyval.list = makeConstantList((A_Const *) yyvsp[0].node); ; break;} case 201: -#line 1171 "gram.y" +#line 1174 "gram.y" { yyval.str = NULL; ; break;} case 202: -#line 1172 "gram.y" +#line 1175 "gram.y" { yyval.str = NULL; ; break;} case 203: -#line 1173 "gram.y" +#line 1176 "gram.y" { yyval.str = NULL; ; break;} case 204: -#line 1176 "gram.y" +#line 1179 "gram.y" { yyval.list = NIL; ; break;} case 205: -#line 1177 "gram.y" +#line 1180 "gram.y" { yyval.list = NIL; ; break;} case 206: -#line 1178 "gram.y" +#line 1181 "gram.y" { yyval.list = NIL; ; break;} case 207: -#line 1181 "gram.y" +#line 1184 "gram.y" { yyval.list = NIL; ; break;} case 208: -#line 1182 "gram.y" +#line 1185 "gram.y" { yyval.list = NIL; ; break;} case 209: -#line 1185 "gram.y" +#line 1188 "gram.y" { yyval.str = NULL; ; break;} case 210: -#line 1186 "gram.y" +#line 1189 "gram.y" { yyval.str = NULL; ; break;} case 211: -#line 1187 "gram.y" +#line 1190 "gram.y" { yyval.str = NULL; ; break;} case 212: -#line 1188 "gram.y" +#line 1191 "gram.y" { yyval.str = NULL; ; break;} case 213: -#line 1191 "gram.y" +#line 1194 "gram.y" { yyval.list = yyvsp[-1].list; ; break;} case 214: -#line 1192 "gram.y" +#line 1195 "gram.y" { yyval.list = NIL; ; break;} case 215: -#line 1196 "gram.y" +#line 1199 "gram.y" { SelectStmt *n = (SelectStmt *)yyvsp[0].node; if (yyvsp[-2].list != NIL) @@ -5969,23 +6153,23 @@ case 215: ; break;} case 216: -#line 1205 "gram.y" +#line 1208 "gram.y" { yyval.list = yyvsp[-1].list; ; break;} case 217: -#line 1206 "gram.y" +#line 1209 "gram.y" { yyval.list = NULL; ; break;} case 218: -#line 1209 "gram.y" +#line 1212 "gram.y" { yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); ; break;} case 219: -#line 1210 "gram.y" +#line 1213 "gram.y" { yyval.list = lcons(yyvsp[0].node, NIL); ; break;} case 220: -#line 1214 "gram.y" +#line 1217 "gram.y" { ColumnDef *n = makeNode(ColumnDef); n->colname = yyvsp[0].str; @@ -5997,7 +6181,7 @@ case 220: ; break;} case 221: -#line 1234 "gram.y" +#line 1237 "gram.y" { CreateSeqStmt *n = makeNode(CreateSeqStmt); n->seqname = yyvsp[-1].str; @@ -6006,15 +6190,15 @@ case 221: ; break;} case 222: -#line 1243 "gram.y" +#line 1246 "gram.y" { yyval.list = lappend(yyvsp[-1].list, yyvsp[0].defelt); ; break;} case 223: -#line 1244 "gram.y" +#line 1247 "gram.y" { yyval.list = NIL; ; break;} case 224: -#line 1248 "gram.y" +#line 1251 "gram.y" { yyval.defelt = makeNode(DefElem); yyval.defelt->defname = "cache"; @@ -6022,7 +6206,7 @@ case 224: ; break;} case 225: -#line 1254 "gram.y" +#line 1257 "gram.y" { yyval.defelt = makeNode(DefElem); yyval.defelt->defname = "cycle"; @@ -6030,7 +6214,7 @@ case 225: ; break;} case 226: -#line 1260 "gram.y" +#line 1263 "gram.y" { yyval.defelt = makeNode(DefElem); yyval.defelt->defname = "increment"; @@ -6038,7 +6222,7 @@ case 226: ; break;} case 227: -#line 1266 "gram.y" +#line 1269 "gram.y" { yyval.defelt = makeNode(DefElem); yyval.defelt->defname = "maxvalue"; @@ -6046,7 +6230,7 @@ case 227: ; break;} case 228: -#line 1272 "gram.y" +#line 1275 "gram.y" { yyval.defelt = makeNode(DefElem); yyval.defelt->defname = "minvalue"; @@ -6054,7 +6238,7 @@ case 228: ; break;} case 229: -#line 1278 "gram.y" +#line 1281 "gram.y" { yyval.defelt = makeNode(DefElem); yyval.defelt->defname = "start"; @@ -6062,41 +6246,41 @@ case 229: ; break;} case 230: -#line 1285 "gram.y" +#line 1288 "gram.y" { yyval.value = yyvsp[0].value; ; break;} case 231: -#line 1286 "gram.y" +#line 1289 "gram.y" { yyval.value = yyvsp[0].value; ; break;} case 232: -#line 1289 "gram.y" +#line 1292 "gram.y" { yyval.value = makeFloat(yyvsp[0].dval); ; break;} case 233: -#line 1293 "gram.y" +#line 1296 "gram.y" { yyval.value = makeFloat(yyvsp[0].dval); yyval.value->val.dval = - yyval.value->val.dval; ; break;} case 234: -#line 1300 "gram.y" +#line 1303 "gram.y" { yyval.value = makeInteger(yyvsp[0].ival); ; break;} case 235: -#line 1304 "gram.y" +#line 1307 "gram.y" { yyval.value = makeInteger(yyvsp[0].ival); yyval.value->val.ival = - yyval.value->val.ival; ; break;} case 236: -#line 1320 "gram.y" +#line 1323 "gram.y" { CreatePLangStmt *n = makeNode(CreatePLangStmt); n->plname = yyvsp[-4].str; @@ -6107,15 +6291,15 @@ case 236: ; break;} case 237: -#line 1330 "gram.y" +#line 1333 "gram.y" { yyval.boolean = TRUE; ; break;} case 238: -#line 1331 "gram.y" +#line 1334 "gram.y" { yyval.boolean = FALSE; ; break;} case 239: -#line 1334 "gram.y" +#line 1337 "gram.y" { DropPLangStmt *n = makeNode(DropPLangStmt); n->plname = yyvsp[0].str; @@ -6123,7 +6307,7 @@ case 239: ; break;} case 240: -#line 1352 "gram.y" +#line 1355 "gram.y" { CreateTrigStmt *n = makeNode(CreateTrigStmt); n->trigname = yyvsp[-11].str; @@ -6137,29 +6321,29 @@ case 240: ; break;} case 241: -#line 1365 "gram.y" +#line 1368 "gram.y" { yyval.boolean = TRUE; ; break;} case 242: -#line 1366 "gram.y" +#line 1369 "gram.y" { yyval.boolean = FALSE; ; break;} case 243: -#line 1370 "gram.y" +#line 1373 "gram.y" { char *e = palloc (4); e[0] = yyvsp[0].chr; e[1] = 0; yyval.str = e; ; break;} case 244: -#line 1375 "gram.y" +#line 1378 "gram.y" { char *e = palloc (4); e[0] = yyvsp[-2].chr; e[1] = yyvsp[0].chr; e[2] = 0; yyval.str = e; ; break;} case 245: -#line 1380 "gram.y" +#line 1383 "gram.y" { char *e = palloc (4); e[0] = yyvsp[-4].chr; e[1] = yyvsp[-2].chr; e[2] = yyvsp[0].chr; e[3] = 0; @@ -6167,53 +6351,53 @@ case 245: ; break;} case 246: -#line 1387 "gram.y" +#line 1390 "gram.y" { yyval.chr = 'i'; ; break;} case 247: -#line 1388 "gram.y" +#line 1391 "gram.y" { yyval.chr = 'd'; ; break;} case 248: -#line 1389 "gram.y" +#line 1392 "gram.y" { yyval.chr = 'u'; ; break;} case 249: -#line 1393 "gram.y" +#line 1396 "gram.y" { yyval.boolean = yyvsp[0].boolean; ; break;} case 250: -#line 1398 "gram.y" +#line 1401 "gram.y" { yyval.boolean = TRUE; ; break;} case 251: -#line 1399 "gram.y" +#line 1402 "gram.y" { yyval.boolean = FALSE; ; break;} case 252: -#line 1402 "gram.y" +#line 1405 "gram.y" { yyval.boolean = TRUE; ; break;} case 253: -#line 1403 "gram.y" +#line 1406 "gram.y" { yyval.boolean = FALSE; ; break;} case 254: -#line 1407 "gram.y" +#line 1410 "gram.y" { yyval.list = lcons(yyvsp[0].str, NIL); ; break;} case 255: -#line 1409 "gram.y" +#line 1412 "gram.y" { yyval.list = lappend(yyvsp[-2].list, yyvsp[0].str); ; break;} case 256: -#line 1411 "gram.y" +#line 1414 "gram.y" { yyval.list = NIL; ; break;} case 257: -#line 1415 "gram.y" +#line 1418 "gram.y" { char *s = (char *) palloc (256); sprintf (s, "%d", yyvsp[0].ival); @@ -6221,7 +6405,7 @@ case 257: ; break;} case 258: -#line 1421 "gram.y" +#line 1424 "gram.y" { char *s = (char *) palloc (256); sprintf (s, "%g", yyvsp[0].dval); @@ -6229,15 +6413,15 @@ case 258: ; break;} case 259: -#line 1426 "gram.y" +#line 1429 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 260: -#line 1427 "gram.y" +#line 1430 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 261: -#line 1431 "gram.y" +#line 1434 "gram.y" { DropTrigStmt *n = makeNode(DropTrigStmt); n->trigname = yyvsp[-2].str; @@ -6246,14 +6430,14 @@ case 261: ; break;} case 262: -#line 1448 "gram.y" +#line 1451 "gram.y" { yyvsp[0].dstmt->defType = yyvsp[-1].ival; yyval.node = (Node *)yyvsp[0].dstmt; ; break;} case 263: -#line 1455 "gram.y" +#line 1458 "gram.y" { yyval.dstmt = makeNode(DefineStmt); yyval.dstmt->defname = yyvsp[-1].str; @@ -6261,51 +6445,51 @@ case 263: ; break;} case 264: -#line 1462 "gram.y" +#line 1465 "gram.y" { yyval.ival = OPERATOR; ; break;} case 265: -#line 1463 "gram.y" +#line 1466 "gram.y" { yyval.ival = TYPE_P; ; break;} case 266: -#line 1464 "gram.y" +#line 1467 "gram.y" { yyval.ival = AGGREGATE; ; break;} case 267: -#line 1467 "gram.y" +#line 1470 "gram.y" { yyval.str = "procedure"; ; break;} case 268: -#line 1468 "gram.y" +#line 1471 "gram.y" { yyval.str = "join"; ; break;} case 269: -#line 1469 "gram.y" +#line 1472 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 270: -#line 1470 "gram.y" +#line 1473 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 271: -#line 1471 "gram.y" +#line 1474 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 272: -#line 1474 "gram.y" +#line 1477 "gram.y" { yyval.list = yyvsp[-1].list; ; break;} case 273: -#line 1477 "gram.y" +#line 1480 "gram.y" { yyval.list = lcons(yyvsp[0].defelt, NIL); ; break;} case 274: -#line 1478 "gram.y" +#line 1481 "gram.y" { yyval.list = lappend(yyvsp[-2].list, yyvsp[0].defelt); ; break;} case 275: -#line 1482 "gram.y" +#line 1485 "gram.y" { yyval.defelt = makeNode(DefElem); yyval.defelt->defname = yyvsp[-2].str; @@ -6313,7 +6497,7 @@ case 275: ; break;} case 276: -#line 1488 "gram.y" +#line 1491 "gram.y" { yyval.defelt = makeNode(DefElem); yyval.defelt->defname = yyvsp[0].str; @@ -6321,7 +6505,7 @@ case 276: ; break;} case 277: -#line 1494 "gram.y" +#line 1497 "gram.y" { yyval.defelt = makeNode(DefElem); yyval.defelt->defname = "default"; @@ -6329,23 +6513,23 @@ case 277: ; break;} case 278: -#line 1501 "gram.y" +#line 1504 "gram.y" { yyval.node = (Node *)makeString(yyvsp[0].str); ; break;} case 279: -#line 1502 "gram.y" +#line 1505 "gram.y" { yyval.node = (Node *)makeString(yyvsp[0].str); ; break;} case 280: -#line 1503 "gram.y" +#line 1506 "gram.y" { yyval.node = (Node *)yyvsp[0].value; ; break;} case 281: -#line 1504 "gram.y" +#line 1507 "gram.y" { yyval.node = (Node *)makeString(yyvsp[0].str); ; break;} case 282: -#line 1506 "gram.y" +#line 1509 "gram.y" { TypeName *n = makeNode(TypeName); n->name = yyvsp[0].str; @@ -6356,7 +6540,7 @@ case 282: ; break;} case 283: -#line 1525 "gram.y" +#line 1528 "gram.y" { DestroyStmt *n = makeNode(DestroyStmt); n->relNames = yyvsp[0].list; @@ -6365,7 +6549,7 @@ case 283: ; break;} case 284: -#line 1532 "gram.y" +#line 1535 "gram.y" { DestroyStmt *n = makeNode(DestroyStmt); n->relNames = yyvsp[0].list; @@ -6374,7 +6558,7 @@ case 284: ; break;} case 285: -#line 1551 "gram.y" +#line 1554 "gram.y" { FetchStmt *n = makeNode(FetchStmt); if (yyvsp[-2].ival == RELATIVE) @@ -6396,7 +6580,7 @@ case 285: ; break;} case 286: -#line 1571 "gram.y" +#line 1574 "gram.y" { FetchStmt *n = makeNode(FetchStmt); if (yyvsp[-1].ival < 0) @@ -6412,162 +6596,162 @@ case 286: ; break;} case 287: -#line 1586 "gram.y" +#line 1589 "gram.y" { yyval.ival = FORWARD; ; break;} case 288: -#line 1587 "gram.y" +#line 1590 "gram.y" { yyval.ival = BACKWARD; ; break;} case 289: -#line 1588 "gram.y" +#line 1591 "gram.y" { yyval.ival = RELATIVE; ; break;} case 290: -#line 1590 "gram.y" +#line 1593 "gram.y" { elog(NOTICE,"FETCH/ABSOLUTE not supported, using RELATIVE"); yyval.ival = RELATIVE; ; break;} case 291: -#line 1594 "gram.y" +#line 1597 "gram.y" { yyval.ival = FORWARD; /* default */ ; break;} case 292: -#line 1597 "gram.y" +#line 1600 "gram.y" { yyval.ival = yyvsp[0].ival; ; break;} case 293: -#line 1598 "gram.y" +#line 1601 "gram.y" { yyval.ival = - yyvsp[0].ival; ; break;} case 294: -#line 1599 "gram.y" +#line 1602 "gram.y" { yyval.ival = 0; /* 0 means fetch all tuples*/ ; break;} case 295: -#line 1600 "gram.y" +#line 1603 "gram.y" { yyval.ival = 1; ; break;} case 296: -#line 1601 "gram.y" +#line 1604 "gram.y" { yyval.ival = -1; ; break;} case 297: -#line 1602 "gram.y" +#line 1605 "gram.y" { yyval.ival = 1; /*default*/ ; break;} case 298: -#line 1605 "gram.y" +#line 1608 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 299: -#line 1606 "gram.y" +#line 1609 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 300: -#line 1607 "gram.y" +#line 1610 "gram.y" { yyval.str = NULL; ; break;} case 301: -#line 1619 "gram.y" +#line 1622 "gram.y" { yyval.node = (Node*)makeAclStmt(yyvsp[-5].str,yyvsp[-3].list,yyvsp[-1].str,'+'); ; break;} case 302: -#line 1625 "gram.y" +#line 1628 "gram.y" { yyval.str = aclmakepriv("rwaR",0); ; break;} case 303: -#line 1629 "gram.y" +#line 1632 "gram.y" { yyval.str = aclmakepriv("rwaR",0); ; break;} case 304: -#line 1633 "gram.y" +#line 1636 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 305: -#line 1639 "gram.y" +#line 1642 "gram.y" { yyval.str = aclmakepriv("",yyvsp[0].chr); ; break;} case 306: -#line 1643 "gram.y" +#line 1646 "gram.y" { yyval.str = aclmakepriv(yyvsp[-2].str,yyvsp[0].chr); ; break;} case 307: -#line 1649 "gram.y" +#line 1652 "gram.y" { yyval.chr = ACL_MODE_RD_CHR; ; break;} case 308: -#line 1653 "gram.y" +#line 1656 "gram.y" { yyval.chr = ACL_MODE_AP_CHR; ; break;} case 309: -#line 1657 "gram.y" +#line 1660 "gram.y" { yyval.chr = ACL_MODE_WR_CHR; ; break;} case 310: -#line 1661 "gram.y" +#line 1664 "gram.y" { yyval.chr = ACL_MODE_WR_CHR; ; break;} case 311: -#line 1665 "gram.y" +#line 1668 "gram.y" { yyval.chr = ACL_MODE_RU_CHR; ; break;} case 312: -#line 1671 "gram.y" +#line 1674 "gram.y" { yyval.str = aclmakeuser("A",""); ; break;} case 313: -#line 1675 "gram.y" +#line 1678 "gram.y" { yyval.str = aclmakeuser("G",yyvsp[0].str); ; break;} case 314: -#line 1679 "gram.y" +#line 1682 "gram.y" { yyval.str = aclmakeuser("U",yyvsp[0].str); ; break;} case 315: -#line 1685 "gram.y" +#line 1688 "gram.y" { yyerror("WITH GRANT OPTION is not supported. Only relation owners can set privileges"); ; break;} case 317: -#line 1700 "gram.y" +#line 1703 "gram.y" { yyval.node = (Node*)makeAclStmt(yyvsp[-4].str,yyvsp[-2].list,yyvsp[0].str,'-'); ; break;} case 318: -#line 1718 "gram.y" +#line 1721 "gram.y" { /* should check that access_method is valid, etc ... but doesn't */ @@ -6583,39 +6767,39 @@ case 318: ; break;} case 319: -#line 1733 "gram.y" +#line 1736 "gram.y" { yyval.boolean = TRUE; ; break;} case 320: -#line 1734 "gram.y" +#line 1737 "gram.y" { yyval.boolean = FALSE; ; break;} case 321: -#line 1737 "gram.y" +#line 1740 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 322: -#line 1738 "gram.y" +#line 1741 "gram.y" { yyval.str = "btree"; ; break;} case 323: -#line 1741 "gram.y" +#line 1744 "gram.y" { yyval.list = yyvsp[0].list; ; break;} case 324: -#line 1742 "gram.y" +#line 1745 "gram.y" { yyval.list = lcons(yyvsp[0].ielem,NIL); ; break;} case 325: -#line 1745 "gram.y" +#line 1748 "gram.y" { yyval.list = lappend(yyvsp[-2].list, yyvsp[0].ielem); ; break;} case 326: -#line 1746 "gram.y" +#line 1749 "gram.y" { yyval.list = lcons(yyvsp[0].ielem, NIL); ; break;} case 327: -#line 1750 "gram.y" +#line 1753 "gram.y" { yyval.ielem = makeNode(IndexElem); yyval.ielem->name = yyvsp[-5].str; @@ -6625,7 +6809,7 @@ case 327: ; break;} case 328: -#line 1760 "gram.y" +#line 1763 "gram.y" { yyval.ielem = makeNode(IndexElem); yyval.ielem->name = yyvsp[-2].str; @@ -6635,31 +6819,31 @@ case 328: ; break;} case 329: -#line 1769 "gram.y" +#line 1772 "gram.y" { yyval.typnam = yyvsp[0].typnam; ; break;} case 330: -#line 1770 "gram.y" +#line 1773 "gram.y" { yyval.typnam = yyvsp[0].typnam; ; break;} case 331: -#line 1771 "gram.y" +#line 1774 "gram.y" { yyval.typnam = NULL; ; break;} case 332: -#line 1780 "gram.y" +#line 1783 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 333: -#line 1781 "gram.y" +#line 1784 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 334: -#line 1782 "gram.y" +#line 1785 "gram.y" { yyval.str = NULL; ; break;} case 335: -#line 1794 "gram.y" +#line 1797 "gram.y" { ExtendStmt *n = makeNode(ExtendStmt); n->idxname = yyvsp[-1].str; @@ -6668,7 +6852,7 @@ case 335: ; break;} case 336: -#line 1811 "gram.y" +#line 1814 "gram.y" { RecipeStmt *n; if (!IsTransactionBlock()) @@ -6680,7 +6864,7 @@ case 336: ; break;} case 337: -#line 1841 "gram.y" +#line 1844 "gram.y" { ProcedureStmt *n = makeNode(ProcedureStmt); n->funcname = yyvsp[-8].str; @@ -6693,31 +6877,31 @@ case 337: ; break;} case 338: -#line 1852 "gram.y" +#line 1855 "gram.y" { yyval.list = yyvsp[0].list; ; break;} case 339: -#line 1853 "gram.y" +#line 1856 "gram.y" { yyval.list = NIL; ; break;} case 340: -#line 1856 "gram.y" +#line 1859 "gram.y" { yyval.list = yyvsp[-1].list; ; break;} case 341: -#line 1857 "gram.y" +#line 1860 "gram.y" { yyval.list = NIL; ; break;} case 342: -#line 1861 "gram.y" +#line 1864 "gram.y" { yyval.list = lcons(makeString(yyvsp[0].str),NIL); ; break;} case 343: -#line 1863 "gram.y" +#line 1866 "gram.y" { yyval.list = lappend(yyvsp[-2].list,makeString(yyvsp[0].str)); ; break;} case 344: -#line 1867 "gram.y" +#line 1870 "gram.y" { TypeName *n = makeNode(TypeName); n->name = yyvsp[0].str; @@ -6727,15 +6911,15 @@ case 344: ; break;} case 345: -#line 1876 "gram.y" +#line 1879 "gram.y" { yyval.boolean = TRUE; ; break;} case 346: -#line 1877 "gram.y" +#line 1880 "gram.y" { yyval.boolean = FALSE; ; break;} case 347: -#line 1898 "gram.y" +#line 1901 "gram.y" { RemoveStmt *n = makeNode(RemoveStmt); n->removeType = yyvsp[-1].ival; @@ -6744,23 +6928,23 @@ case 347: ; break;} case 348: -#line 1906 "gram.y" +#line 1909 "gram.y" { yyval.ival = TYPE_P; ; break;} case 349: -#line 1907 "gram.y" +#line 1910 "gram.y" { yyval.ival = INDEX; ; break;} case 350: -#line 1908 "gram.y" +#line 1911 "gram.y" { yyval.ival = RULE; ; break;} case 351: -#line 1909 "gram.y" +#line 1912 "gram.y" { yyval.ival = VIEW; ; break;} case 352: -#line 1914 "gram.y" +#line 1917 "gram.y" { RemoveAggrStmt *n = makeNode(RemoveAggrStmt); n->aggname = yyvsp[-1].str; @@ -6769,15 +6953,15 @@ case 352: ; break;} case 353: -#line 1922 "gram.y" +#line 1925 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 354: -#line 1923 "gram.y" +#line 1926 "gram.y" { yyval.str = NULL; ; break;} case 355: -#line 1928 "gram.y" +#line 1931 "gram.y" { RemoveFuncStmt *n = makeNode(RemoveFuncStmt); n->funcname = yyvsp[-1].str; @@ -6786,7 +6970,7 @@ case 355: ; break;} case 356: -#line 1938 "gram.y" +#line 1941 "gram.y" { RemoveOperStmt *n = makeNode(RemoveOperStmt); n->opname = yyvsp[-3].str; @@ -6795,53 +6979,53 @@ case 356: ; break;} case 359: -#line 1948 "gram.y" +#line 1951 "gram.y" { yyval.str = "+"; ; break;} case 360: -#line 1949 "gram.y" +#line 1952 "gram.y" { yyval.str = "-"; ; break;} case 361: -#line 1950 "gram.y" +#line 1953 "gram.y" { yyval.str = "*"; ; break;} case 362: -#line 1951 "gram.y" +#line 1954 "gram.y" { yyval.str = "/"; ; break;} case 363: -#line 1952 "gram.y" +#line 1955 "gram.y" { yyval.str = "<"; ; break;} case 364: -#line 1953 "gram.y" +#line 1956 "gram.y" { yyval.str = ">"; ; break;} case 365: -#line 1954 "gram.y" +#line 1957 "gram.y" { yyval.str = "="; ; break;} case 366: -#line 1958 "gram.y" +#line 1961 "gram.y" { elog(ERROR,"parser: argument type missing (use NONE for unary operators)"); ; break;} case 367: -#line 1962 "gram.y" +#line 1965 "gram.y" { yyval.list = makeList(makeString(yyvsp[-2].str), makeString(yyvsp[0].str), -1); ; break;} case 368: -#line 1964 "gram.y" +#line 1967 "gram.y" { yyval.list = makeList(NULL, makeString(yyvsp[0].str), -1); ; break;} case 369: -#line 1966 "gram.y" +#line 1969 "gram.y" { yyval.list = makeList(makeString(yyvsp[-2].str), NULL, -1); ; break;} case 370: -#line 1980 "gram.y" +#line 1983 "gram.y" { RenameStmt *n = makeNode(RenameStmt); n->relname = yyvsp[-6].str; @@ -6852,27 +7036,27 @@ case 370: ; break;} case 371: -#line 1990 "gram.y" +#line 1993 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 372: -#line 1991 "gram.y" +#line 1994 "gram.y" { yyval.str = NULL; ; break;} case 373: -#line 1994 "gram.y" +#line 1997 "gram.y" { yyval.ival = COLUMN; ; break;} case 374: -#line 1995 "gram.y" +#line 1998 "gram.y" { yyval.ival = 0; ; break;} case 375: -#line 2009 "gram.y" +#line 2012 "gram.y" { QueryIsRule=TRUE; ; break;} case 376: -#line 2012 "gram.y" +#line 2015 "gram.y" { RuleStmt *n = makeNode(RuleStmt); n->rulename = yyvsp[-10].str; @@ -6885,43 +7069,43 @@ case 376: ; break;} case 377: -#line 2024 "gram.y" +#line 2027 "gram.y" { yyval.list = NIL; ; break;} case 378: -#line 2025 "gram.y" +#line 2028 "gram.y" { yyval.list = lcons(yyvsp[0].node, NIL); ; break;} case 379: -#line 2026 "gram.y" +#line 2029 "gram.y" { yyval.list = yyvsp[-1].list; ; break;} case 380: -#line 2027 "gram.y" +#line 2030 "gram.y" { yyval.list = yyvsp[-1].list; ; break;} case 381: -#line 2031 "gram.y" +#line 2034 "gram.y" { yyval.list = yyvsp[0].list; ; break;} case 382: -#line 2033 "gram.y" +#line 2036 "gram.y" { yyval.list = lcons(yyvsp[0].node, NIL); ; break;} case 383: -#line 2037 "gram.y" +#line 2040 "gram.y" { yyval.list = lappend(yyvsp[-2].list, yyvsp[-1].node); ; break;} case 384: -#line 2039 "gram.y" +#line 2042 "gram.y" { yyval.list = lappend(yyvsp[-1].list, yyvsp[0].node); ; break;} case 385: -#line 2041 "gram.y" +#line 2044 "gram.y" { yyval.list = lcons(yyvsp[-1].node, NIL); ; break;} case 386: -#line 2045 "gram.y" +#line 2048 "gram.y" { yyval.attr = makeNode(Attr); yyval.attr->relname = yyvsp[-2].str; @@ -6931,7 +7115,7 @@ case 386: ; break;} case 387: -#line 2053 "gram.y" +#line 2056 "gram.y" { yyval.attr = makeNode(Attr); yyval.attr->relname = yyvsp[0].str; @@ -6941,31 +7125,31 @@ case 387: ; break;} case 388: -#line 2063 "gram.y" +#line 2066 "gram.y" { yyval.ival = CMD_SELECT; ; break;} case 389: -#line 2064 "gram.y" +#line 2067 "gram.y" { yyval.ival = CMD_UPDATE; ; break;} case 390: -#line 2065 "gram.y" +#line 2068 "gram.y" { yyval.ival = CMD_DELETE; ; break;} case 391: -#line 2066 "gram.y" +#line 2069 "gram.y" { yyval.ival = CMD_INSERT; ; break;} case 392: -#line 2069 "gram.y" +#line 2072 "gram.y" { yyval.boolean = TRUE; ; break;} case 393: -#line 2070 "gram.y" +#line 2073 "gram.y" { yyval.boolean = FALSE; ; break;} case 394: -#line 2083 "gram.y" +#line 2086 "gram.y" { NotifyStmt *n = makeNode(NotifyStmt); n->relname = yyvsp[0].str; @@ -6973,7 +7157,7 @@ case 394: ; break;} case 395: -#line 2091 "gram.y" +#line 2094 "gram.y" { ListenStmt *n = makeNode(ListenStmt); n->relname = yyvsp[0].str; @@ -6981,7 +7165,7 @@ case 395: ; break;} case 396: -#line 2099 "gram.y" +#line 2102 "gram.y" { UnlistenStmt *n = makeNode(UnlistenStmt); n->relname = yyvsp[0].str; @@ -6989,7 +7173,7 @@ case 396: ; break;} case 397: -#line 2105 "gram.y" +#line 2108 "gram.y" { UnlistenStmt *n = makeNode(UnlistenStmt); n->relname = "*"; @@ -6997,7 +7181,7 @@ case 397: ; break;} case 398: -#line 2127 "gram.y" +#line 2130 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->command = ABORT_TRANS; @@ -7005,7 +7189,7 @@ case 398: ; break;} case 399: -#line 2133 "gram.y" +#line 2136 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->command = BEGIN_TRANS; @@ -7013,7 +7197,7 @@ case 399: ; break;} case 400: -#line 2139 "gram.y" +#line 2142 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->command = END_TRANS; @@ -7021,7 +7205,7 @@ case 400: ; break;} case 401: -#line 2145 "gram.y" +#line 2148 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->command = END_TRANS; @@ -7029,7 +7213,7 @@ case 401: ; break;} case 402: -#line 2151 "gram.y" +#line 2154 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->command = ABORT_TRANS; @@ -7037,19 +7221,19 @@ case 402: ; break;} case 403: -#line 2158 "gram.y" +#line 2161 "gram.y" { yyval.boolean = TRUE; ; break;} case 404: -#line 2159 "gram.y" +#line 2162 "gram.y" { yyval.boolean = TRUE; ; break;} case 405: -#line 2160 "gram.y" +#line 2163 "gram.y" { yyval.boolean = TRUE; ; break;} case 406: -#line 2172 "gram.y" +#line 2175 "gram.y" { ViewStmt *n = makeNode(ViewStmt); n->viewname = yyvsp[-2].str; @@ -7062,7 +7246,7 @@ case 406: ; break;} case 407: -#line 2193 "gram.y" +#line 2196 "gram.y" { LoadStmt *n = makeNode(LoadStmt); n->filename = yyvsp[0].str; @@ -7070,7 +7254,7 @@ case 407: ; break;} case 408: -#line 2209 "gram.y" +#line 2212 "gram.y" { CreatedbStmt *n = makeNode(CreatedbStmt); if (yyvsp[-1].str == NULL && yyvsp[0].str == NULL) { @@ -7096,7 +7280,7 @@ case 408: ; break;} case 409: -#line 2233 "gram.y" +#line 2236 "gram.y" { CreatedbStmt *n = makeNode(CreatedbStmt); n->dbname = yyvsp[0].str; @@ -7110,47 +7294,47 @@ case 409: ; break;} case 410: -#line 2246 "gram.y" +#line 2249 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 411: -#line 2247 "gram.y" +#line 2250 "gram.y" { yyval.str = NULL; ; break;} case 412: -#line 2250 "gram.y" +#line 2253 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 413: -#line 2251 "gram.y" +#line 2254 "gram.y" { yyval.str = NULL; ; break;} case 414: -#line 2254 "gram.y" +#line 2257 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 415: -#line 2255 "gram.y" +#line 2258 "gram.y" { yyval.str = NULL; ; break;} case 416: -#line 2256 "gram.y" +#line 2259 "gram.y" { yyval.str = NULL; ; break;} case 417: -#line 2259 "gram.y" +#line 2262 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 418: -#line 2260 "gram.y" +#line 2263 "gram.y" { yyval.str = NULL; ; break;} case 419: -#line 2261 "gram.y" +#line 2264 "gram.y" { yyval.str = NULL; ; break;} case 420: -#line 2272 "gram.y" +#line 2275 "gram.y" { DestroydbStmt *n = makeNode(DestroydbStmt); n->dbname = yyvsp[0].str; @@ -7158,7 +7342,7 @@ case 420: ; break;} case 421: -#line 2288 "gram.y" +#line 2291 "gram.y" { ClusterStmt *n = makeNode(ClusterStmt); n->relname = yyvsp[0].str; @@ -7167,7 +7351,7 @@ case 421: ; break;} case 422: -#line 2305 "gram.y" +#line 2308 "gram.y" { VacuumStmt *n = makeNode(VacuumStmt); n->verbose = yyvsp[-1].boolean; @@ -7178,7 +7362,7 @@ case 422: ; break;} case 423: -#line 2314 "gram.y" +#line 2317 "gram.y" { VacuumStmt *n = makeNode(VacuumStmt); n->verbose = yyvsp[-3].boolean; @@ -7191,39 +7375,39 @@ case 423: ; break;} case 424: -#line 2326 "gram.y" +#line 2329 "gram.y" { yyval.boolean = TRUE; ; break;} case 425: -#line 2327 "gram.y" +#line 2330 "gram.y" { yyval.boolean = FALSE; ; break;} case 426: -#line 2330 "gram.y" +#line 2333 "gram.y" { yyval.boolean = TRUE; ; break;} case 427: -#line 2331 "gram.y" +#line 2334 "gram.y" { yyval.boolean = FALSE; ; break;} case 428: -#line 2334 "gram.y" +#line 2337 "gram.y" { yyval.list = yyvsp[-1].list; ; break;} case 429: -#line 2335 "gram.y" +#line 2338 "gram.y" { yyval.list = NIL; ; break;} case 430: -#line 2339 "gram.y" +#line 2342 "gram.y" { yyval.list=lcons(yyvsp[0].str,NIL); ; break;} case 431: -#line 2341 "gram.y" +#line 2344 "gram.y" { yyval.list=lappend(yyvsp[-2].list,yyvsp[0].str); ; break;} case 432: -#line 2353 "gram.y" +#line 2356 "gram.y" { ExplainStmt *n = makeNode(ExplainStmt); n->verbose = yyvsp[-1].boolean; @@ -7232,7 +7416,7 @@ case 432: ; break;} case 439: -#line 2390 "gram.y" +#line 2393 "gram.y" { yyvsp[0].astmt->relname = yyvsp[-2].str; yyvsp[0].astmt->cols = yyvsp[-1].list; @@ -7240,7 +7424,7 @@ case 439: ; break;} case 440: -#line 2398 "gram.y" +#line 2401 "gram.y" { yyval.astmt = makeNode(InsertStmt); yyval.astmt->unique = NULL; @@ -7253,7 +7437,7 @@ case 440: ; break;} case 441: -#line 2409 "gram.y" +#line 2412 "gram.y" { yyval.astmt = makeNode(InsertStmt); yyval.astmt->unique = NULL; @@ -7266,7 +7450,7 @@ case 441: ; break;} case 442: -#line 2423 "gram.y" +#line 2426 "gram.y" { yyval.astmt = makeNode(InsertStmt); yyval.astmt->unique = yyvsp[-6].str; @@ -7279,23 +7463,23 @@ case 442: ; break;} case 443: -#line 2435 "gram.y" +#line 2438 "gram.y" { yyval.list = yyvsp[-1].list; ; break;} case 444: -#line 2436 "gram.y" +#line 2439 "gram.y" { yyval.list = NIL; ; break;} case 445: -#line 2441 "gram.y" +#line 2444 "gram.y" { yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); ; break;} case 446: -#line 2443 "gram.y" +#line 2446 "gram.y" { yyval.list = lcons(yyvsp[0].node, NIL); ; break;} case 447: -#line 2447 "gram.y" +#line 2450 "gram.y" { Ident *id = makeNode(Ident); id->name = yyvsp[-1].str; @@ -7304,7 +7488,7 @@ case 447: ; break;} case 448: -#line 2465 "gram.y" +#line 2468 "gram.y" { DeleteStmt *n = makeNode(DeleteStmt); n->relname = yyvsp[-1].str; @@ -7313,7 +7497,7 @@ case 448: ; break;} case 449: -#line 2479 "gram.y" +#line 2482 "gram.y" { DeleteStmt *n = makeNode(DeleteStmt); A_Const *c = makeNode(A_Const); @@ -7330,7 +7514,7 @@ case 449: ; break;} case 450: -#line 2507 "gram.y" +#line 2510 "gram.y" { UpdateStmt *n = makeNode(UpdateStmt); n->relname = yyvsp[-4].str; @@ -7341,7 +7525,7 @@ case 450: ; break;} case 451: -#line 2530 "gram.y" +#line 2533 "gram.y" { SelectStmt *n = makeNode(SelectStmt); @@ -7370,39 +7554,39 @@ case 451: ; break;} case 452: -#line 2558 "gram.y" +#line 2561 "gram.y" { yyval.boolean = TRUE; ; break;} case 453: -#line 2559 "gram.y" +#line 2562 "gram.y" { yyval.boolean = FALSE; ; break;} case 454: -#line 2560 "gram.y" +#line 2563 "gram.y" { yyval.boolean = FALSE; ; break;} case 455: -#line 2561 "gram.y" +#line 2564 "gram.y" { yyval.boolean = FALSE; ; break;} case 456: -#line 2562 "gram.y" +#line 2565 "gram.y" { yyval.boolean = FALSE; ; break;} case 457: -#line 2565 "gram.y" +#line 2568 "gram.y" { yyval.boolean = yyvsp[0].boolean; ; break;} case 458: -#line 2566 "gram.y" +#line 2569 "gram.y" { yyval.boolean = FALSE; ; break;} case 459: -#line 2569 "gram.y" +#line 2572 "gram.y" { yyval.boolean = TRUE; ; break;} case 460: -#line 2571 "gram.y" +#line 2574 "gram.y" { elog(ERROR,"DECLARE/UPDATE not supported;" " Cursors must be READ ONLY."); @@ -7410,13 +7594,13 @@ case 460: ; break;} case 461: -#line 2579 "gram.y" +#line 2582 "gram.y" { yyval.boolean = FALSE; ; break;} case 462: -#line 2594 "gram.y" +#line 2597 "gram.y" { SelectStmt *n = makeNode(SelectStmt); n->unique = yyvsp[-8].str; @@ -7432,7 +7616,7 @@ case 462: ; break;} case 463: -#line 2613 "gram.y" +#line 2616 "gram.y" { SelectStmt *n = makeNode(SelectStmt); n->unique = yyvsp[-6].str; @@ -7446,7 +7630,7 @@ case 463: ; break;} case 464: -#line 2627 "gram.y" +#line 2630 "gram.y" { SelectStmt *n = (SelectStmt *)lfirst(yyvsp[0].list); n->unionall = yyvsp[-1].boolean; @@ -7454,11 +7638,11 @@ case 464: ; break;} case 465: -#line 2633 "gram.y" +#line 2636 "gram.y" { yyval.list = NIL; ; break;} case 466: -#line 2637 "gram.y" +#line 2640 "gram.y" { SelectStmt *n = (SelectStmt *)yyvsp[0].node; n->unionall = yyvsp[-1].boolean; @@ -7466,11 +7650,11 @@ case 466: ; break;} case 467: -#line 2643 "gram.y" +#line 2646 "gram.y" { yyval.list = lcons(yyvsp[0].node, NIL); ; break;} case 468: -#line 2649 "gram.y" +#line 2652 "gram.y" { SelectStmt *n = makeNode(SelectStmt); n->unique = yyvsp[-5].str; @@ -7484,63 +7668,63 @@ case 468: ; break;} case 469: -#line 2662 "gram.y" +#line 2665 "gram.y" { yyval.str= yyvsp[0].str; ; break;} case 470: -#line 2663 "gram.y" +#line 2666 "gram.y" { yyval.str = NULL; ; break;} case 471: -#line 2666 "gram.y" +#line 2669 "gram.y" { yyval.boolean = TRUE; ; break;} case 472: -#line 2667 "gram.y" +#line 2670 "gram.y" { yyval.boolean = FALSE; ; break;} case 473: -#line 2670 "gram.y" +#line 2673 "gram.y" { yyval.boolean = TRUE; ; break;} case 474: -#line 2671 "gram.y" +#line 2674 "gram.y" { yyval.boolean = FALSE; ; break;} case 475: -#line 2674 "gram.y" +#line 2677 "gram.y" { yyval.str = "*"; ; break;} case 476: -#line 2675 "gram.y" +#line 2678 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 477: -#line 2676 "gram.y" +#line 2679 "gram.y" { yyval.str = NULL; ; break;} case 478: -#line 2677 "gram.y" +#line 2680 "gram.y" { yyval.str = NULL; ; break;} case 479: -#line 2680 "gram.y" +#line 2683 "gram.y" { yyval.list = yyvsp[0].list; ; break;} case 480: -#line 2681 "gram.y" +#line 2684 "gram.y" { yyval.list = NIL; ; break;} case 481: -#line 2684 "gram.y" +#line 2687 "gram.y" { yyval.list = lcons(yyvsp[0].sortgroupby, NIL); ; break;} case 482: -#line 2685 "gram.y" +#line 2688 "gram.y" { yyval.list = lappend(yyvsp[-2].list, yyvsp[0].sortgroupby); ; break;} case 483: -#line 2689 "gram.y" +#line 2692 "gram.y" { yyval.sortgroupby = makeNode(SortGroupBy); yyval.sortgroupby->node = yyvsp[-1].node; @@ -7548,92 +7732,92 @@ case 483: ; break;} case 484: -#line 2696 "gram.y" +#line 2699 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 485: -#line 2697 "gram.y" +#line 2700 "gram.y" { yyval.str = "<"; ; break;} case 486: -#line 2698 "gram.y" +#line 2701 "gram.y" { yyval.str = ">"; ; break;} case 487: -#line 2699 "gram.y" +#line 2702 "gram.y" { yyval.str = "<"; ; break;} case 488: -#line 2700 "gram.y" +#line 2703 "gram.y" { yyval.str = ">"; ; break;} case 489: -#line 2701 "gram.y" +#line 2704 "gram.y" { yyval.str = "<"; /*default*/ ; break;} case 490: -#line 2711 "gram.y" +#line 2714 "gram.y" { yyval.boolean = TRUE; ; break;} case 491: -#line 2712 "gram.y" +#line 2715 "gram.y" { yyval.boolean = FALSE; ; break;} case 493: -#line 2718 "gram.y" +#line 2721 "gram.y" { yyval.list = lcons(makeString(yyvsp[0].str),NIL); ; break;} case 494: -#line 2720 "gram.y" +#line 2723 "gram.y" { yyval.list = lappend(yyvsp[-2].list,makeString(yyvsp[0].str)); ; break;} case 495: -#line 2723 "gram.y" +#line 2726 "gram.y" { yyval.list = yyvsp[0].list; ; break;} case 496: -#line 2724 "gram.y" +#line 2727 "gram.y" { yyval.list = NIL; ; break;} case 497: -#line 2728 "gram.y" +#line 2731 "gram.y" { yyval.node = yyvsp[0].node; ; break;} case 498: -#line 2731 "gram.y" +#line 2734 "gram.y" { yyval.node = NULL; ; break;} case 499: -#line 2744 "gram.y" +#line 2747 "gram.y" { yyval.list = NIL; elog(ERROR,"JOIN not yet implemented"); ; break;} case 500: -#line 2748 "gram.y" +#line 2751 "gram.y" { yyval.list = yyvsp[0].list; ; break;} case 501: -#line 2749 "gram.y" +#line 2752 "gram.y" { yyval.list = NIL; ; break;} case 502: -#line 2753 "gram.y" +#line 2756 "gram.y" { yyval.list = lappend(yyvsp[-2].list, yyvsp[0].range); ; break;} case 503: -#line 2755 "gram.y" +#line 2758 "gram.y" { elog(ERROR,"CROSS JOIN not yet implemented"); ; break;} case 504: -#line 2757 "gram.y" +#line 2760 "gram.y" { yyval.list = lcons(yyvsp[0].range, NIL); ; break;} case 505: -#line 2761 "gram.y" +#line 2764 "gram.y" { yyval.range = makeNode(RangeVar); yyval.range->relExpr = yyvsp[-2].relexp; @@ -7641,7 +7825,7 @@ case 505: ; break;} case 506: -#line 2767 "gram.y" +#line 2770 "gram.y" { yyval.range = makeNode(RangeVar); yyval.range->relExpr = yyvsp[-1].relexp; @@ -7649,7 +7833,7 @@ case 506: ; break;} case 507: -#line 2773 "gram.y" +#line 2776 "gram.y" { yyval.range = makeNode(RangeVar); yyval.range->relExpr = yyvsp[0].relexp; @@ -7657,67 +7841,67 @@ case 507: ; break;} case 508: -#line 2780 "gram.y" +#line 2783 "gram.y" { yyval.str = NULL; ; break;} case 509: -#line 2782 "gram.y" +#line 2785 "gram.y" { elog(ERROR,"FULL OUTER JOIN not yet implemented"); ; break;} case 510: -#line 2784 "gram.y" +#line 2787 "gram.y" { elog(ERROR,"LEFT OUTER JOIN not yet implemented"); ; break;} case 511: -#line 2786 "gram.y" +#line 2789 "gram.y" { elog(ERROR,"RIGHT OUTER JOIN not yet implemented"); ; break;} case 512: -#line 2788 "gram.y" +#line 2791 "gram.y" { elog(ERROR,"OUTER JOIN not yet implemented"); ; break;} case 513: -#line 2790 "gram.y" +#line 2793 "gram.y" { elog(ERROR,"INNER JOIN not yet implemented"); ; break;} case 514: -#line 2792 "gram.y" +#line 2795 "gram.y" { elog(ERROR,"UNION JOIN not yet implemented"); ; break;} case 515: -#line 2794 "gram.y" +#line 2797 "gram.y" { elog(ERROR,"INNER JOIN not yet implemented"); ; break;} case 516: -#line 2797 "gram.y" +#line 2800 "gram.y" { yyval.str = NULL; ; break;} case 517: -#line 2798 "gram.y" +#line 2801 "gram.y" { yyval.str = NULL; /* no qualifiers */ ; break;} case 518: -#line 2801 "gram.y" +#line 2804 "gram.y" { yyval.str = NULL; ; break;} case 519: -#line 2802 "gram.y" +#line 2805 "gram.y" { yyval.str = NULL; ; break;} case 520: -#line 2803 "gram.y" +#line 2806 "gram.y" { yyval.str = NULL; /* no qualifiers */ ; break;} case 521: -#line 2806 "gram.y" +#line 2809 "gram.y" { yyval.list = lcons(yyvsp[0].joinusing, NIL); ; break;} case 522: -#line 2807 "gram.y" +#line 2810 "gram.y" { yyval.list = lappend(yyvsp[-2].list, yyvsp[0].joinusing); ; break;} case 523: -#line 2819 "gram.y" +#line 2822 "gram.y" { yyval.joinusing = makeNode(JoinUsing); yyval.joinusing->resno = 0; @@ -7726,7 +7910,7 @@ case 523: ; break;} case 524: -#line 2826 "gram.y" +#line 2829 "gram.y" { yyval.joinusing = makeNode(JoinUsing); yyval.joinusing->resno = 0; @@ -7735,7 +7919,7 @@ case 524: ; break;} case 525: -#line 2833 "gram.y" +#line 2836 "gram.y" { yyval.joinusing = makeNode(JoinUsing); yyval.joinusing->resno = yyvsp[0].ival; @@ -7744,15 +7928,15 @@ case 525: ; break;} case 526: -#line 2841 "gram.y" +#line 2844 "gram.y" { yyval.node = yyvsp[0].node; ; break;} case 527: -#line 2842 "gram.y" +#line 2845 "gram.y" { yyval.node = NULL; /* no qualifiers */ ; break;} case 528: -#line 2846 "gram.y" +#line 2849 "gram.y" { /* normal relations */ yyval.relexp = makeNode(RelExpr); @@ -7761,7 +7945,7 @@ case 528: ; break;} case 529: -#line 2853 "gram.y" +#line 2856 "gram.y" { /* inheritance query */ yyval.relexp = makeNode(RelExpr); @@ -7770,31 +7954,31 @@ case 529: ; break;} case 530: -#line 2861 "gram.y" +#line 2864 "gram.y" { yyval.list = lcons(makeInteger(-1), yyvsp[0].list); ; break;} case 531: -#line 2863 "gram.y" +#line 2866 "gram.y" { yyval.list = lcons(makeInteger(yyvsp[-2].ival), yyvsp[0].list); ; break;} case 532: -#line 2865 "gram.y" +#line 2868 "gram.y" { yyval.list = NIL; ; break;} case 533: -#line 2869 "gram.y" +#line 2872 "gram.y" { yyval.list = lcons(makeInteger(-1), yyvsp[0].list); ; break;} case 534: -#line 2871 "gram.y" +#line 2874 "gram.y" { yyval.list = lcons(makeInteger(yyvsp[-2].ival), yyvsp[0].list); ; break;} case 535: -#line 2873 "gram.y" +#line 2876 "gram.y" { yyval.list = NIL; ; break;} case 536: -#line 2888 "gram.y" +#line 2891 "gram.y" { yyval.typnam = yyvsp[-1].typnam; yyval.typnam->arrayBounds = yyvsp[0].list; @@ -7818,14 +8002,14 @@ case 536: ; break;} case 538: -#line 2911 "gram.y" +#line 2914 "gram.y" { yyval.typnam = yyvsp[0].typnam; yyval.typnam->setof = TRUE; ; break;} case 542: -#line 2923 "gram.y" +#line 2926 "gram.y" { yyval.typnam = makeNode(TypeName); yyval.typnam->name = xlateSqlType(yyvsp[0].str); @@ -7833,15 +8017,15 @@ case 542: ; break;} case 543: -#line 2930 "gram.y" +#line 2933 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 544: -#line 2931 "gram.y" +#line 2934 "gram.y" { yyval.str = xlateSqlType("type"); ; break;} case 545: -#line 2941 "gram.y" +#line 2944 "gram.y" { yyval.typnam = makeNode(TypeName); yyval.typnam->name = xlateSqlType(yyvsp[0].str); @@ -7849,14 +8033,14 @@ case 545: ; break;} case 546: -#line 2947 "gram.y" +#line 2950 "gram.y" { yyval.typnam = makeNode(TypeName); yyval.typnam->name = xlateSqlType("float"); ; break;} case 547: -#line 2952 "gram.y" +#line 2955 "gram.y" { yyval.typnam = makeNode(TypeName); yyval.typnam->name = xlateSqlType("integer"); @@ -7864,7 +8048,7 @@ case 547: ; break;} case 548: -#line 2958 "gram.y" +#line 2961 "gram.y" { yyval.typnam = makeNode(TypeName); yyval.typnam->name = xlateSqlType("integer"); @@ -7872,23 +8056,23 @@ case 548: ; break;} case 549: -#line 2966 "gram.y" +#line 2969 "gram.y" { yyval.str = xlateSqlType("float8"); ; break;} case 550: -#line 2968 "gram.y" +#line 2971 "gram.y" { yyval.str = xlateSqlType("float8"); ; break;} case 551: -#line 2970 "gram.y" +#line 2973 "gram.y" { yyval.str = xlateSqlType("decimal"); ; break;} case 552: -#line 2972 "gram.y" +#line 2975 "gram.y" { yyval.str = xlateSqlType("numeric"); ; break;} case 553: -#line 2976 "gram.y" +#line 2979 "gram.y" { if (yyvsp[-1].ival < 1) elog(ERROR,"precision for FLOAT must be at least 1"); @@ -7901,13 +8085,13 @@ case 553: ; break;} case 554: -#line 2987 "gram.y" +#line 2990 "gram.y" { yyval.str = xlateSqlType("float8"); ; break;} case 555: -#line 2993 "gram.y" +#line 2996 "gram.y" { if (yyvsp[-3].ival != 9) elog(ERROR,"NUMERIC precision %d must be 9",yyvsp[-3].ival); @@ -7916,20 +8100,20 @@ case 555: ; break;} case 556: -#line 3000 "gram.y" +#line 3003 "gram.y" { if (yyvsp[-1].ival != 9) elog(ERROR,"NUMERIC precision %d must be 9",yyvsp[-1].ival); ; break;} case 557: -#line 3005 "gram.y" +#line 3008 "gram.y" { yyval.str = NULL; ; break;} case 558: -#line 3011 "gram.y" +#line 3014 "gram.y" { if (yyvsp[-3].ival > 9) elog(ERROR,"DECIMAL precision %d exceeds implementation limit of 9",yyvsp[-3].ival); @@ -7939,7 +8123,7 @@ case 558: ; break;} case 559: -#line 3019 "gram.y" +#line 3022 "gram.y" { if (yyvsp[-1].ival > 9) elog(ERROR,"DECIMAL precision %d exceeds implementation limit of 9",yyvsp[-1].ival); @@ -7947,13 +8131,13 @@ case 559: ; break;} case 560: -#line 3025 "gram.y" +#line 3028 "gram.y" { yyval.str = NULL; ; break;} case 561: -#line 3038 "gram.y" +#line 3041 "gram.y" { yyval.typnam = makeNode(TypeName); if (strcasecmp(yyvsp[-3].str, "char") == 0) @@ -7982,7 +8166,7 @@ case 561: ; break;} case 562: -#line 3065 "gram.y" +#line 3068 "gram.y" { yyval.typnam = makeNode(TypeName); /* Let's try to make all single-character types into bpchar(1) @@ -8001,7 +8185,7 @@ case 562: ; break;} case 563: -#line 3084 "gram.y" +#line 3087 "gram.y" { char *type, *c; if ((yyvsp[-1].str == NULL) || (strcasecmp(yyvsp[-1].str, "sql_text") == 0)) { @@ -8023,47 +8207,47 @@ case 563: ; break;} case 564: -#line 3103 "gram.y" +#line 3106 "gram.y" { yyval.str = xlateSqlType(yyvsp[0].boolean? "varchar": "char"); ; break;} case 565: -#line 3104 "gram.y" +#line 3107 "gram.y" { yyval.str = xlateSqlType("varchar"); ; break;} case 566: -#line 3105 "gram.y" +#line 3108 "gram.y" { yyval.str = xlateSqlType(yyvsp[0].boolean? "varchar": "char"); ; break;} case 567: -#line 3106 "gram.y" +#line 3109 "gram.y" { yyval.str = xlateSqlType(yyvsp[0].boolean? "varchar": "char"); ; break;} case 568: -#line 3109 "gram.y" +#line 3112 "gram.y" { yyval.boolean = TRUE; ; break;} case 569: -#line 3110 "gram.y" +#line 3113 "gram.y" { yyval.boolean = FALSE; ; break;} case 570: -#line 3113 "gram.y" +#line 3116 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 571: -#line 3114 "gram.y" +#line 3117 "gram.y" { yyval.str = NULL; ; break;} case 572: -#line 3117 "gram.y" +#line 3120 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 573: -#line 3118 "gram.y" +#line 3121 "gram.y" { yyval.str = NULL; ; break;} case 574: -#line 3122 "gram.y" +#line 3125 "gram.y" { yyval.typnam = makeNode(TypeName); yyval.typnam->name = xlateSqlType(yyvsp[0].str); @@ -8071,7 +8255,7 @@ case 574: ; break;} case 575: -#line 3128 "gram.y" +#line 3131 "gram.y" { yyval.typnam = makeNode(TypeName); yyval.typnam->name = xlateSqlType("timestamp"); @@ -8080,7 +8264,7 @@ case 575: ; break;} case 576: -#line 3135 "gram.y" +#line 3138 "gram.y" { yyval.typnam = makeNode(TypeName); yyval.typnam->name = xlateSqlType("time"); @@ -8088,7 +8272,7 @@ case 576: ; break;} case 577: -#line 3141 "gram.y" +#line 3144 "gram.y" { yyval.typnam = makeNode(TypeName); yyval.typnam->name = xlateSqlType("interval"); @@ -8096,79 +8280,79 @@ case 577: ; break;} case 578: -#line 3148 "gram.y" +#line 3151 "gram.y" { yyval.str = "year"; ; break;} case 579: -#line 3149 "gram.y" +#line 3152 "gram.y" { yyval.str = "month"; ; break;} case 580: -#line 3150 "gram.y" +#line 3153 "gram.y" { yyval.str = "day"; ; break;} case 581: -#line 3151 "gram.y" +#line 3154 "gram.y" { yyval.str = "hour"; ; break;} case 582: -#line 3152 "gram.y" +#line 3155 "gram.y" { yyval.str = "minute"; ; break;} case 583: -#line 3153 "gram.y" +#line 3156 "gram.y" { yyval.str = "second"; ; break;} case 584: -#line 3156 "gram.y" +#line 3159 "gram.y" { yyval.boolean = TRUE; ; break;} case 585: -#line 3157 "gram.y" +#line 3160 "gram.y" { yyval.boolean = FALSE; ; break;} case 586: -#line 3160 "gram.y" +#line 3163 "gram.y" { yyval.list = lcons(yyvsp[0].str, NIL); ; break;} case 587: -#line 3161 "gram.y" +#line 3164 "gram.y" { yyval.list = NIL; ; break;} case 588: -#line 3162 "gram.y" +#line 3165 "gram.y" { yyval.list = NIL; ; break;} case 589: -#line 3163 "gram.y" +#line 3166 "gram.y" { yyval.list = NIL; ; break;} case 590: -#line 3164 "gram.y" +#line 3167 "gram.y" { yyval.list = NIL; ; break;} case 591: -#line 3165 "gram.y" +#line 3168 "gram.y" { yyval.list = NIL; ; break;} case 592: -#line 3166 "gram.y" +#line 3169 "gram.y" { yyval.list = NIL; ; break;} case 593: -#line 3167 "gram.y" +#line 3170 "gram.y" { yyval.list = NIL; ; break;} case 594: -#line 3168 "gram.y" +#line 3171 "gram.y" { yyval.list = NIL; ; break;} case 595: -#line 3179 "gram.y" +#line 3182 "gram.y" { yyval.node = yyvsp[0].node; ; break;} case 596: -#line 3181 "gram.y" +#line 3184 "gram.y" { A_Const *n = makeNode(A_Const); n->val.type = T_Null; @@ -8176,7 +8360,7 @@ case 596: ; break;} case 597: -#line 3198 "gram.y" +#line 3201 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = yyvsp[-5].list; @@ -8188,7 +8372,7 @@ case 597: ; break;} case 598: -#line 3208 "gram.y" +#line 3211 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = yyvsp[-6].list; @@ -8200,7 +8384,7 @@ case 598: ; break;} case 599: -#line 3218 "gram.y" +#line 3221 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = yyvsp[-6].list; @@ -8215,7 +8399,7 @@ case 599: ; break;} case 600: -#line 3231 "gram.y" +#line 3234 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = yyvsp[-5].list; @@ -8230,86 +8414,86 @@ case 600: ; break;} case 601: -#line 3244 "gram.y" +#line 3247 "gram.y" { yyval.node = makeRowExpr(yyvsp[-3].str, yyvsp[-5].list, yyvsp[-1].list); ; break;} case 602: -#line 3250 "gram.y" +#line 3253 "gram.y" { yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); ; break;} case 603: -#line 3256 "gram.y" +#line 3259 "gram.y" { yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); ; break;} case 604: -#line 3260 "gram.y" +#line 3263 "gram.y" { yyval.list = lcons(yyvsp[0].node, NIL); ; break;} case 605: -#line 3265 "gram.y" +#line 3268 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 606: -#line 3266 "gram.y" +#line 3269 "gram.y" { yyval.str = "<"; ; break;} case 607: -#line 3267 "gram.y" +#line 3270 "gram.y" { yyval.str = "="; ; break;} case 608: -#line 3268 "gram.y" +#line 3271 "gram.y" { yyval.str = ">"; ; break;} case 609: -#line 3269 "gram.y" +#line 3272 "gram.y" { yyval.str = "+"; ; break;} case 610: -#line 3270 "gram.y" +#line 3273 "gram.y" { yyval.str = "-"; ; break;} case 611: -#line 3271 "gram.y" +#line 3274 "gram.y" { yyval.str = "*"; ; break;} case 612: -#line 3272 "gram.y" +#line 3275 "gram.y" { yyval.str = "/"; ; break;} case 613: -#line 3275 "gram.y" +#line 3278 "gram.y" { yyval.ival = ANY_SUBLINK; ; break;} case 614: -#line 3276 "gram.y" +#line 3279 "gram.y" { yyval.ival = ALL_SUBLINK; ; break;} case 615: -#line 3288 "gram.y" +#line 3291 "gram.y" { yyvsp[-1].attr->indirection = yyvsp[0].list; yyval.node = (Node *)yyvsp[-1].attr; ; break;} case 616: -#line 3293 "gram.y" +#line 3296 "gram.y" { yyval.node = yyvsp[0].node; ; break;} case 617: -#line 3295 "gram.y" +#line 3298 "gram.y" { yyval.node = yyvsp[0].node; ; break;} case 618: -#line 3297 "gram.y" +#line 3300 "gram.y" { /* could be a column name or a relation_name */ Ident *n = makeNode(Ident); @@ -8319,51 +8503,51 @@ case 618: ; break;} case 619: -#line 3305 "gram.y" +#line 3308 "gram.y" { yyval.node = makeA_Expr(OP, "-", NULL, yyvsp[0].node); ; break;} case 620: -#line 3307 "gram.y" +#line 3310 "gram.y" { yyval.node = makeA_Expr(OP, "+", yyvsp[-2].node, yyvsp[0].node); ; break;} case 621: -#line 3309 "gram.y" +#line 3312 "gram.y" { yyval.node = makeA_Expr(OP, "-", yyvsp[-2].node, yyvsp[0].node); ; break;} case 622: -#line 3311 "gram.y" +#line 3314 "gram.y" { yyval.node = makeA_Expr(OP, "/", yyvsp[-2].node, yyvsp[0].node); ; break;} case 623: -#line 3313 "gram.y" +#line 3316 "gram.y" { yyval.node = makeA_Expr(OP, "*", yyvsp[-2].node, yyvsp[0].node); ; break;} case 624: -#line 3315 "gram.y" +#line 3318 "gram.y" { yyval.node = makeA_Expr(OP, "<", yyvsp[-2].node, yyvsp[0].node); ; break;} case 625: -#line 3317 "gram.y" +#line 3320 "gram.y" { yyval.node = makeA_Expr(OP, ">", yyvsp[-2].node, yyvsp[0].node); ; break;} case 626: -#line 3319 "gram.y" +#line 3322 "gram.y" { yyval.node = makeA_Expr(OP, "=", yyvsp[-2].node, yyvsp[0].node); ; break;} case 627: -#line 3321 "gram.y" +#line 3324 "gram.y" { yyval.node = makeA_Expr(OP, ":", NULL, yyvsp[0].node); ; break;} case 628: -#line 3323 "gram.y" +#line 3326 "gram.y" { yyval.node = makeA_Expr(OP, ";", NULL, yyvsp[0].node); ; break;} case 629: -#line 3325 "gram.y" +#line 3328 "gram.y" { yyval.node = makeA_Expr(OP, "|", NULL, yyvsp[0].node); ; break;} case 630: -#line 3327 "gram.y" +#line 3330 "gram.y" { yyval.node = (Node *)yyvsp[-2].node; /* AexprConst can be either A_Const or ParamNo */ @@ -8381,7 +8565,7 @@ case 630: ; break;} case 631: -#line 3343 "gram.y" +#line 3346 "gram.y" { yyval.node = (Node *)yyvsp[-3].node; /* AexprConst can be either A_Const or ParamNo */ @@ -8399,31 +8583,31 @@ case 631: ; break;} case 632: -#line 3359 "gram.y" +#line 3362 "gram.y" { yyval.node = yyvsp[-1].node; ; break;} case 633: -#line 3361 "gram.y" +#line 3364 "gram.y" { yyval.node = makeIndexable(yyvsp[-1].str,yyvsp[-2].node,yyvsp[0].node); ; break;} case 634: -#line 3363 "gram.y" +#line 3366 "gram.y" { yyval.node = makeIndexable("~~", yyvsp[-2].node, yyvsp[0].node); ; break;} case 635: -#line 3365 "gram.y" +#line 3368 "gram.y" { yyval.node = makeA_Expr(OP, "!~~", yyvsp[-3].node, yyvsp[0].node); ; break;} case 636: -#line 3367 "gram.y" +#line 3370 "gram.y" { yyval.node = makeA_Expr(OP, yyvsp[-1].str, NULL, yyvsp[0].node); ; break;} case 637: -#line 3369 "gram.y" +#line 3372 "gram.y" { yyval.node = makeA_Expr(OP, yyvsp[0].str, yyvsp[-1].node, NULL); ; break;} case 638: -#line 3371 "gram.y" +#line 3374 "gram.y" { /* cheap hack for aggregate (eg. count) */ FuncCall *n = makeNode(FuncCall); @@ -8437,7 +8621,7 @@ case 638: ; break;} case 639: -#line 3383 "gram.y" +#line 3386 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = yyvsp[-2].str; @@ -8446,7 +8630,7 @@ case 639: ; break;} case 640: -#line 3390 "gram.y" +#line 3393 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = yyvsp[-3].str; @@ -8455,7 +8639,7 @@ case 640: ; break;} case 641: -#line 3397 "gram.y" +#line 3400 "gram.y" { A_Const *n = makeNode(A_Const); TypeName *t = makeNode(TypeName); @@ -8472,7 +8656,7 @@ case 641: ; break;} case 642: -#line 3412 "gram.y" +#line 3415 "gram.y" { A_Const *n = makeNode(A_Const); TypeName *t = makeNode(TypeName); @@ -8489,7 +8673,7 @@ case 642: ; break;} case 643: -#line 3427 "gram.y" +#line 3430 "gram.y" { FuncCall *n = makeNode(FuncCall); A_Const *s = makeNode(A_Const); @@ -8513,7 +8697,7 @@ case 643: ; break;} case 644: -#line 3449 "gram.y" +#line 3452 "gram.y" { A_Const *n = makeNode(A_Const); TypeName *t = makeNode(TypeName); @@ -8530,7 +8714,7 @@ case 644: ; break;} case 645: -#line 3464 "gram.y" +#line 3467 "gram.y" { FuncCall *n = makeNode(FuncCall); A_Const *s = makeNode(A_Const); @@ -8554,7 +8738,7 @@ case 645: ; break;} case 646: -#line 3486 "gram.y" +#line 3489 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "getpgusername"; @@ -8563,7 +8747,7 @@ case 646: ; break;} case 647: -#line 3493 "gram.y" +#line 3496 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "getpgusername"; @@ -8572,7 +8756,7 @@ case 647: ; break;} case 648: -#line 3500 "gram.y" +#line 3503 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = NIL; @@ -8584,7 +8768,7 @@ case 648: ; break;} case 649: -#line 3510 "gram.y" +#line 3513 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "date_part"; @@ -8593,7 +8777,7 @@ case 649: ; break;} case 650: -#line 3517 "gram.y" +#line 3520 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "strpos"; @@ -8602,7 +8786,7 @@ case 650: ; break;} case 651: -#line 3524 "gram.y" +#line 3527 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "substr"; @@ -8611,7 +8795,7 @@ case 651: ; break;} case 652: -#line 3532 "gram.y" +#line 3535 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "btrim"; @@ -8620,7 +8804,7 @@ case 652: ; break;} case 653: -#line 3539 "gram.y" +#line 3542 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "ltrim"; @@ -8629,7 +8813,7 @@ case 653: ; break;} case 654: -#line 3546 "gram.y" +#line 3549 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "rtrim"; @@ -8638,7 +8822,7 @@ case 654: ; break;} case 655: -#line 3553 "gram.y" +#line 3556 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "btrim"; @@ -8647,23 +8831,23 @@ case 655: ; break;} case 656: -#line 3560 "gram.y" +#line 3563 "gram.y" { yyval.node = makeA_Expr(ISNULL, NULL, yyvsp[-1].node, NULL); ; break;} case 657: -#line 3562 "gram.y" +#line 3565 "gram.y" { yyval.node = makeA_Expr(ISNULL, NULL, yyvsp[-2].node, NULL); ; break;} case 658: -#line 3564 "gram.y" +#line 3567 "gram.y" { yyval.node = makeA_Expr(NOTNULL, NULL, yyvsp[-1].node, NULL); ; break;} case 659: -#line 3566 "gram.y" +#line 3569 "gram.y" { yyval.node = makeA_Expr(NOTNULL, NULL, yyvsp[-3].node, NULL); ; break;} case 660: -#line 3573 "gram.y" +#line 3576 "gram.y" { A_Const *n = makeNode(A_Const); n->val.type = T_String; @@ -8675,7 +8859,7 @@ case 660: ; break;} case 661: -#line 3583 "gram.y" +#line 3586 "gram.y" { A_Const *n = makeNode(A_Const); n->val.type = T_String; @@ -8687,7 +8871,7 @@ case 661: ; break;} case 662: -#line 3593 "gram.y" +#line 3596 "gram.y" { A_Const *n = makeNode(A_Const); n->val.type = T_String; @@ -8699,7 +8883,7 @@ case 662: ; break;} case 663: -#line 3603 "gram.y" +#line 3606 "gram.y" { A_Const *n = makeNode(A_Const); n->val.type = T_String; @@ -8711,7 +8895,7 @@ case 663: ; break;} case 664: -#line 3613 "gram.y" +#line 3616 "gram.y" { yyval.node = makeA_Expr(AND, NULL, makeA_Expr(OP, ">=", yyvsp[-4].node, yyvsp[-2].node), @@ -8719,7 +8903,7 @@ case 664: ; break;} case 665: -#line 3619 "gram.y" +#line 3622 "gram.y" { yyval.node = makeA_Expr(OR, NULL, makeA_Expr(OP, "<", yyvsp[-5].node, yyvsp[-2].node), @@ -8727,11 +8911,11 @@ case 665: ; break;} case 666: -#line 3624 "gram.y" +#line 3627 "gram.y" { saved_In_Expr = lcons(yyvsp[-1].node,saved_In_Expr); ; break;} case 667: -#line 3625 "gram.y" +#line 3628 "gram.y" { saved_In_Expr = lnext(saved_In_Expr); if (nodeTag(yyvsp[-1].node) == T_SubLink) @@ -8747,11 +8931,11 @@ case 667: ; break;} case 668: -#line 3638 "gram.y" +#line 3641 "gram.y" { saved_In_Expr = lcons(yyvsp[-2].node,saved_In_Expr); ; break;} case 669: -#line 3639 "gram.y" +#line 3642 "gram.y" { saved_In_Expr = lnext(saved_In_Expr); if (nodeTag(yyvsp[-1].node) == T_SubLink) @@ -8767,7 +8951,7 @@ case 669: ; break;} case 670: -#line 3653 "gram.y" +#line 3656 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-4].node, NULL); @@ -8779,7 +8963,7 @@ case 670: ; break;} case 671: -#line 3663 "gram.y" +#line 3666 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-4].node, NULL); @@ -8791,7 +8975,7 @@ case 671: ; break;} case 672: -#line 3673 "gram.y" +#line 3676 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-4].node, NULL); @@ -8803,7 +8987,7 @@ case 672: ; break;} case 673: -#line 3683 "gram.y" +#line 3686 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-4].node, NULL); @@ -8815,7 +8999,7 @@ case 673: ; break;} case 674: -#line 3693 "gram.y" +#line 3696 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-4].node, NULL); @@ -8827,7 +9011,7 @@ case 674: ; break;} case 675: -#line 3703 "gram.y" +#line 3706 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-4].node, NULL); @@ -8839,7 +9023,7 @@ case 675: ; break;} case 676: -#line 3713 "gram.y" +#line 3716 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-4].node, NULL); @@ -8851,7 +9035,7 @@ case 676: ; break;} case 677: -#line 3723 "gram.y" +#line 3726 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-4].node, NULL); @@ -8863,7 +9047,7 @@ case 677: ; break;} case 678: -#line 3733 "gram.y" +#line 3736 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-5].node,NIL); @@ -8875,7 +9059,7 @@ case 678: ; break;} case 679: -#line 3743 "gram.y" +#line 3746 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-5].node,NIL); @@ -8887,7 +9071,7 @@ case 679: ; break;} case 680: -#line 3753 "gram.y" +#line 3756 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-5].node,NIL); @@ -8899,7 +9083,7 @@ case 680: ; break;} case 681: -#line 3763 "gram.y" +#line 3766 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-5].node,NIL); @@ -8911,7 +9095,7 @@ case 681: ; break;} case 682: -#line 3773 "gram.y" +#line 3776 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-5].node,NIL); @@ -8923,7 +9107,7 @@ case 682: ; break;} case 683: -#line 3783 "gram.y" +#line 3786 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-5].node,NIL); @@ -8935,7 +9119,7 @@ case 683: ; break;} case 684: -#line 3793 "gram.y" +#line 3796 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-5].node,NIL); @@ -8947,7 +9131,7 @@ case 684: ; break;} case 685: -#line 3803 "gram.y" +#line 3806 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-5].node,NIL); @@ -8959,7 +9143,7 @@ case 685: ; break;} case 686: -#line 3813 "gram.y" +#line 3816 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-5].node, NULL); @@ -8971,7 +9155,7 @@ case 686: ; break;} case 687: -#line 3823 "gram.y" +#line 3826 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-5].node, NULL); @@ -8983,7 +9167,7 @@ case 687: ; break;} case 688: -#line 3833 "gram.y" +#line 3836 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-5].node, NULL); @@ -8995,7 +9179,7 @@ case 688: ; break;} case 689: -#line 3843 "gram.y" +#line 3846 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-5].node, NULL); @@ -9007,7 +9191,7 @@ case 689: ; break;} case 690: -#line 3853 "gram.y" +#line 3856 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-5].node, NULL); @@ -9019,7 +9203,7 @@ case 690: ; break;} case 691: -#line 3863 "gram.y" +#line 3866 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-5].node, NULL); @@ -9031,7 +9215,7 @@ case 691: ; break;} case 692: -#line 3873 "gram.y" +#line 3876 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-5].node, NULL); @@ -9043,7 +9227,7 @@ case 692: ; break;} case 693: -#line 3883 "gram.y" +#line 3886 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-5].node, NULL); @@ -9055,30 +9239,34 @@ case 693: ; break;} case 694: -#line 3893 "gram.y" +#line 3896 "gram.y" { yyval.node = makeA_Expr(AND, NULL, yyvsp[-2].node, yyvsp[0].node); ; break;} case 695: -#line 3895 "gram.y" +#line 3898 "gram.y" { yyval.node = makeA_Expr(OR, NULL, yyvsp[-2].node, yyvsp[0].node); ; break;} case 696: -#line 3897 "gram.y" +#line 3900 "gram.y" { yyval.node = makeA_Expr(NOT, NULL, NULL, yyvsp[0].node); ; break;} case 697: -#line 3907 "gram.y" +#line 3902 "gram.y" +{ yyval.node = yyvsp[0].node; ; + break;} +case 698: +#line 3911 "gram.y" { yyvsp[-1].attr->indirection = yyvsp[0].list; yyval.node = (Node *)yyvsp[-1].attr; ; break;} -case 698: -#line 3912 "gram.y" +case 699: +#line 3916 "gram.y" { yyval.node = yyvsp[0].node; ; break;} -case 699: -#line 3914 "gram.y" +case 700: +#line 3918 "gram.y" { /* could be a column name or a relation_name */ Ident *n = makeNode(Ident); @@ -9087,40 +9275,40 @@ case 699: yyval.node = (Node *)n; ; break;} -case 700: -#line 3922 "gram.y" +case 701: +#line 3926 "gram.y" { yyval.node = makeA_Expr(OP, "-", NULL, yyvsp[0].node); ; break;} -case 701: -#line 3924 "gram.y" +case 702: +#line 3928 "gram.y" { yyval.node = makeA_Expr(OP, "+", yyvsp[-2].node, yyvsp[0].node); ; break;} -case 702: -#line 3926 "gram.y" +case 703: +#line 3930 "gram.y" { yyval.node = makeA_Expr(OP, "-", yyvsp[-2].node, yyvsp[0].node); ; break;} -case 703: -#line 3928 "gram.y" +case 704: +#line 3932 "gram.y" { yyval.node = makeA_Expr(OP, "/", yyvsp[-2].node, yyvsp[0].node); ; break;} -case 704: -#line 3930 "gram.y" +case 705: +#line 3934 "gram.y" { yyval.node = makeA_Expr(OP, "*", yyvsp[-2].node, yyvsp[0].node); ; break;} -case 705: -#line 3932 "gram.y" +case 706: +#line 3936 "gram.y" { yyval.node = makeA_Expr(OP, ":", NULL, yyvsp[0].node); ; break;} -case 706: -#line 3934 "gram.y" +case 707: +#line 3938 "gram.y" { yyval.node = makeA_Expr(OP, ";", NULL, yyvsp[0].node); ; break;} -case 707: -#line 3936 "gram.y" +case 708: +#line 3940 "gram.y" { yyval.node = makeA_Expr(OP, "|", NULL, yyvsp[0].node); ; break;} -case 708: -#line 3938 "gram.y" +case 709: +#line 3942 "gram.y" { yyval.node = (Node *)yyvsp[-2].node; /* AexprConst can be either A_Const or ParamNo */ @@ -9137,8 +9325,8 @@ case 708: } ; break;} -case 709: -#line 3954 "gram.y" +case 710: +#line 3958 "gram.y" { yyval.node = (Node *)yyvsp[-3].node; /* AexprConst can be either A_Const or ParamNo */ @@ -9155,24 +9343,24 @@ case 709: } ; break;} -case 710: -#line 3970 "gram.y" +case 711: +#line 3974 "gram.y" { yyval.node = yyvsp[-1].node; ; break;} -case 711: -#line 3972 "gram.y" +case 712: +#line 3976 "gram.y" { yyval.node = makeIndexable(yyvsp[-1].str,yyvsp[-2].node,yyvsp[0].node); ; break;} -case 712: -#line 3974 "gram.y" +case 713: +#line 3978 "gram.y" { yyval.node = makeA_Expr(OP, yyvsp[-1].str, NULL, yyvsp[0].node); ; break;} -case 713: -#line 3976 "gram.y" +case 714: +#line 3980 "gram.y" { yyval.node = makeA_Expr(OP, yyvsp[0].str, yyvsp[-1].node, NULL); ; break;} -case 714: -#line 3978 "gram.y" +case 715: +#line 3982 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = yyvsp[-2].str; @@ -9180,8 +9368,8 @@ case 714: yyval.node = (Node *)n; ; break;} -case 715: -#line 3985 "gram.y" +case 716: +#line 3989 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = yyvsp[-3].str; @@ -9189,8 +9377,8 @@ case 715: yyval.node = (Node *)n; ; break;} -case 716: -#line 3992 "gram.y" +case 717: +#line 3996 "gram.y" { A_Const *n = makeNode(A_Const); TypeName *t = makeNode(TypeName); @@ -9206,8 +9394,8 @@ case 716: yyval.node = (Node *)n; ; break;} -case 717: -#line 4007 "gram.y" +case 718: +#line 4011 "gram.y" { A_Const *n = makeNode(A_Const); TypeName *t = makeNode(TypeName); @@ -9223,8 +9411,8 @@ case 717: yyval.node = (Node *)n; ; break;} -case 718: -#line 4022 "gram.y" +case 719: +#line 4026 "gram.y" { FuncCall *n = makeNode(FuncCall); A_Const *s = makeNode(A_Const); @@ -9247,8 +9435,8 @@ case 718: yyval.node = (Node *)n; ; break;} -case 719: -#line 4044 "gram.y" +case 720: +#line 4048 "gram.y" { A_Const *n = makeNode(A_Const); TypeName *t = makeNode(TypeName); @@ -9264,8 +9452,8 @@ case 719: yyval.node = (Node *)n; ; break;} -case 720: -#line 4059 "gram.y" +case 721: +#line 4063 "gram.y" { FuncCall *n = makeNode(FuncCall); A_Const *s = makeNode(A_Const); @@ -9288,8 +9476,8 @@ case 720: yyval.node = (Node *)n; ; break;} -case 721: -#line 4081 "gram.y" +case 722: +#line 4085 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "getpgusername"; @@ -9297,8 +9485,8 @@ case 721: yyval.node = (Node *)n; ; break;} -case 722: -#line 4088 "gram.y" +case 723: +#line 4092 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "getpgusername"; @@ -9306,8 +9494,8 @@ case 722: yyval.node = (Node *)n; ; break;} -case 723: -#line 4095 "gram.y" +case 724: +#line 4099 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "strpos"; @@ -9315,8 +9503,8 @@ case 723: yyval.node = (Node *)n; ; break;} -case 724: -#line 4102 "gram.y" +case 725: +#line 4106 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "substr"; @@ -9324,8 +9512,8 @@ case 724: yyval.node = (Node *)n; ; break;} -case 725: -#line 4110 "gram.y" +case 726: +#line 4114 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "btrim"; @@ -9333,8 +9521,8 @@ case 725: yyval.node = (Node *)n; ; break;} -case 726: -#line 4117 "gram.y" +case 727: +#line 4121 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "ltrim"; @@ -9342,8 +9530,8 @@ case 726: yyval.node = (Node *)n; ; break;} -case 727: -#line 4124 "gram.y" +case 728: +#line 4128 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "rtrim"; @@ -9351,8 +9539,8 @@ case 727: yyval.node = (Node *)n; ; break;} -case 728: -#line 4131 "gram.y" +case 729: +#line 4135 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "btrim"; @@ -9360,8 +9548,8 @@ case 728: yyval.node = (Node *)n; ; break;} -case 729: -#line 4140 "gram.y" +case 730: +#line 4144 "gram.y" { A_Indices *ai = makeNode(A_Indices); ai->lidx = NULL; @@ -9369,8 +9557,8 @@ case 729: yyval.list = lcons(ai, yyvsp[0].list); ; break;} -case 730: -#line 4147 "gram.y" +case 731: +#line 4151 "gram.y" { A_Indices *ai = makeNode(A_Indices); ai->lidx = yyvsp[-4].node; @@ -9378,24 +9566,24 @@ case 730: yyval.list = lcons(ai, yyvsp[0].list); ; break;} -case 731: -#line 4154 "gram.y" -{ yyval.list = NIL; ; - break;} case 732: #line 4158 "gram.y" -{ yyval.list = lcons(yyvsp[0].node, NIL); ; +{ yyval.list = NIL; ; break;} case 733: -#line 4160 "gram.y" -{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); ; +#line 4162 "gram.y" +{ yyval.list = lcons(yyvsp[0].node, NIL); ; break;} case 734: -#line 4162 "gram.y" +#line 4164 "gram.y" { yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); ; break;} case 735: #line 4166 "gram.y" +{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); ; + break;} +case 736: +#line 4170 "gram.y" { A_Const *n = makeNode(A_Const); n->val.type = T_String; @@ -9403,67 +9591,67 @@ case 735: yyval.list = lappend(lcons((Node *)n,NIL), yyvsp[0].node); ; break;} -case 736: -#line 4173 "gram.y" -{ yyval.list = NIL; ; - break;} case 737: -#line 4176 "gram.y" -{ yyval.str = yyvsp[0].str; ; +#line 4177 "gram.y" +{ yyval.list = NIL; ; break;} case 738: -#line 4177 "gram.y" -{ yyval.str = "tz_hour"; ; +#line 4180 "gram.y" +{ yyval.str = yyvsp[0].str; ; break;} case 739: -#line 4178 "gram.y" -{ yyval.str = "tz_minute"; ; +#line 4181 "gram.y" +{ yyval.str = "tz_hour"; ; break;} case 740: #line 4182 "gram.y" -{ yyval.list = makeList(yyvsp[0].node, yyvsp[-2].node, -1); ; +{ yyval.str = "tz_minute"; ; break;} case 741: -#line 4184 "gram.y" -{ yyval.list = NIL; ; +#line 4186 "gram.y" +{ yyval.list = makeList(yyvsp[0].node, yyvsp[-2].node, -1); ; break;} case 742: #line 4188 "gram.y" +{ yyval.list = NIL; ; + break;} +case 743: +#line 4192 "gram.y" { yyvsp[-1].attr->indirection = yyvsp[0].list; yyval.node = (Node *)yyvsp[-1].attr; ; break;} -case 743: -#line 4193 "gram.y" -{ yyval.node = yyvsp[0].node; ; - break;} case 744: -#line 4195 "gram.y" -{ yyval.node = makeA_Expr(OP, "-", NULL, yyvsp[0].node); ; +#line 4197 "gram.y" +{ yyval.node = yyvsp[0].node; ; break;} case 745: -#line 4197 "gram.y" -{ yyval.node = makeA_Expr(OP, "+", yyvsp[-2].node, yyvsp[0].node); ; +#line 4199 "gram.y" +{ yyval.node = makeA_Expr(OP, "-", NULL, yyvsp[0].node); ; break;} case 746: -#line 4199 "gram.y" -{ yyval.node = makeA_Expr(OP, "-", yyvsp[-2].node, yyvsp[0].node); ; +#line 4201 "gram.y" +{ yyval.node = makeA_Expr(OP, "+", yyvsp[-2].node, yyvsp[0].node); ; break;} case 747: -#line 4201 "gram.y" -{ yyval.node = makeA_Expr(OP, "/", yyvsp[-2].node, yyvsp[0].node); ; +#line 4203 "gram.y" +{ yyval.node = makeA_Expr(OP, "-", yyvsp[-2].node, yyvsp[0].node); ; break;} case 748: -#line 4203 "gram.y" -{ yyval.node = makeA_Expr(OP, "*", yyvsp[-2].node, yyvsp[0].node); ; +#line 4205 "gram.y" +{ yyval.node = makeA_Expr(OP, "/", yyvsp[-2].node, yyvsp[0].node); ; break;} case 749: -#line 4205 "gram.y" -{ yyval.node = makeA_Expr(OP, "|", NULL, yyvsp[0].node); ; +#line 4207 "gram.y" +{ yyval.node = makeA_Expr(OP, "*", yyvsp[-2].node, yyvsp[0].node); ; break;} case 750: -#line 4207 "gram.y" +#line 4209 "gram.y" +{ yyval.node = makeA_Expr(OP, "|", NULL, yyvsp[0].node); ; + break;} +case 751: +#line 4211 "gram.y" { yyval.node = (Node *)yyvsp[-2].node; /* AexprConst can be either A_Const or ParamNo */ @@ -9480,8 +9668,8 @@ case 750: } ; break;} -case 751: -#line 4223 "gram.y" +case 752: +#line 4227 "gram.y" { yyval.node = (Node *)yyvsp[-3].node; /* AexprConst can be either A_Const or ParamNo */ @@ -9498,24 +9686,24 @@ case 751: } ; break;} -case 752: -#line 4239 "gram.y" +case 753: +#line 4243 "gram.y" { yyval.node = yyvsp[-1].node; ; break;} -case 753: -#line 4241 "gram.y" +case 754: +#line 4245 "gram.y" { yyval.node = makeA_Expr(OP, yyvsp[-1].str, yyvsp[-2].node, yyvsp[0].node); ; break;} -case 754: -#line 4243 "gram.y" +case 755: +#line 4247 "gram.y" { yyval.node = makeA_Expr(OP, yyvsp[-1].str, NULL, yyvsp[0].node); ; break;} -case 755: -#line 4245 "gram.y" +case 756: +#line 4249 "gram.y" { yyval.node = makeA_Expr(OP, yyvsp[0].str, yyvsp[-1].node, NULL); ; break;} -case 756: -#line 4247 "gram.y" +case 757: +#line 4251 "gram.y" { /* could be a column name or a relation_name */ Ident *n = makeNode(Ident); @@ -9524,8 +9712,8 @@ case 756: yyval.node = (Node *)n; ; break;} -case 757: -#line 4255 "gram.y" +case 758: +#line 4259 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = yyvsp[-2].str; @@ -9533,8 +9721,8 @@ case 757: yyval.node = (Node *)n; ; break;} -case 758: -#line 4262 "gram.y" +case 759: +#line 4266 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = yyvsp[-3].str; @@ -9542,8 +9730,8 @@ case 758: yyval.node = (Node *)n; ; break;} -case 759: -#line 4269 "gram.y" +case 760: +#line 4273 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "strpos"; @@ -9551,8 +9739,8 @@ case 759: yyval.node = (Node *)n; ; break;} -case 760: -#line 4276 "gram.y" +case 761: +#line 4280 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "substr"; @@ -9560,8 +9748,8 @@ case 760: yyval.node = (Node *)n; ; break;} -case 761: -#line 4284 "gram.y" +case 762: +#line 4288 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "btrim"; @@ -9569,8 +9757,8 @@ case 761: yyval.node = (Node *)n; ; break;} -case 762: -#line 4291 "gram.y" +case 763: +#line 4295 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "ltrim"; @@ -9578,8 +9766,8 @@ case 762: yyval.node = (Node *)n; ; break;} -case 763: -#line 4298 "gram.y" +case 764: +#line 4302 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "rtrim"; @@ -9587,8 +9775,8 @@ case 763: yyval.node = (Node *)n; ; break;} -case 764: -#line 4305 "gram.y" +case 765: +#line 4309 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "btrim"; @@ -9596,22 +9784,22 @@ case 764: yyval.node = (Node *)n; ; break;} -case 765: -#line 4314 "gram.y" +case 766: +#line 4318 "gram.y" { yyval.list = nconc(nconc(yyvsp[-2].list,yyvsp[-1].list),yyvsp[0].list); ; break;} -case 766: -#line 4318 "gram.y" -{ yyval.list = NIL; ; - break;} case 767: #line 4322 "gram.y" -{ yyval.list = yyvsp[0].list; ; +{ yyval.list = NIL; ; break;} case 768: -#line 4324 "gram.y" +#line 4326 "gram.y" +{ yyval.list = yyvsp[0].list; ; + break;} +case 769: +#line 4328 "gram.y" { A_Const *n = makeNode(A_Const); n->val.type = T_Integer; @@ -9619,72 +9807,159 @@ case 768: yyval.list = lcons((Node *)n,NIL); ; break;} -case 769: -#line 4333 "gram.y" -{ yyval.list = yyvsp[0].list; ; - break;} case 770: -#line 4335 "gram.y" -{ yyval.list = NIL; ; +#line 4337 "gram.y" +{ yyval.list = yyvsp[0].list; ; break;} case 771: #line 4339 "gram.y" -{ yyval.list = lappend(yyvsp[0].list, yyvsp[-2].node); ; +{ yyval.list = NIL; ; break;} case 772: -#line 4341 "gram.y" -{ yyval.list = yyvsp[0].list; ; +#line 4343 "gram.y" +{ yyval.list = lappend(yyvsp[0].list, yyvsp[-2].node); ; break;} case 773: -#line 4343 "gram.y" +#line 4345 "gram.y" { yyval.list = yyvsp[0].list; ; break;} case 774: #line 4347 "gram.y" +{ yyval.list = yyvsp[0].list; ; + break;} +case 775: +#line 4351 "gram.y" { SubLink *n = makeNode(SubLink); n->subselect = yyvsp[0].node; yyval.node = (Node *)n; ; break;} -case 775: -#line 4353 "gram.y" -{ yyval.node = yyvsp[0].node; ; - break;} case 776: #line 4357 "gram.y" -{ yyval.node = makeA_Expr(OP, "=", lfirst(saved_In_Expr), yyvsp[0].node); ; +{ yyval.node = yyvsp[0].node; ; break;} case 777: -#line 4359 "gram.y" +#line 4361 "gram.y" +{ yyval.node = makeA_Expr(OP, "=", lfirst(saved_In_Expr), yyvsp[0].node); ; + break;} +case 778: +#line 4363 "gram.y" { yyval.node = makeA_Expr(OR, NULL, yyvsp[-2].node, makeA_Expr(OP, "=", lfirst(saved_In_Expr), yyvsp[0].node)); ; break;} -case 778: -#line 4365 "gram.y" +case 779: +#line 4369 "gram.y" { SubLink *n = makeNode(SubLink); n->subselect = yyvsp[0].node; yyval.node = (Node *)n; ; break;} -case 779: -#line 4371 "gram.y" -{ yyval.node = yyvsp[0].node; ; - break;} case 780: #line 4375 "gram.y" -{ yyval.node = makeA_Expr(OP, "<>", lfirst(saved_In_Expr), yyvsp[0].node); ; +{ yyval.node = yyvsp[0].node; ; break;} case 781: -#line 4377 "gram.y" +#line 4379 "gram.y" +{ yyval.node = makeA_Expr(OP, "<>", lfirst(saved_In_Expr), yyvsp[0].node); ; + break;} +case 782: +#line 4381 "gram.y" { yyval.node = makeA_Expr(AND, NULL, yyvsp[-2].node, makeA_Expr(OP, "<>", lfirst(saved_In_Expr), yyvsp[0].node)); ; break;} -case 782: -#line 4383 "gram.y" +case 783: +#line 4402 "gram.y" +{ + CaseExpr *c = makeNode(CaseExpr); + c->arg = yyvsp[-3].node; + c->args = yyvsp[-2].list; + c->defresult = yyvsp[-1].node; + yyval.node = (Node *)c; + ; + break;} +case 784: +#line 4410 "gram.y" +{ + CaseExpr *c = makeNode(CaseExpr); + CaseWhen *w = makeNode(CaseWhen); + c->args = lcons(w, NIL); + c->defresult = yyvsp[-3].node; + w->expr = makeA_Expr(OP, "=", yyvsp[-3].node, yyvsp[-1].node); + yyval.node = (Node *)c; + + elog(NOTICE,"NULLIF() not yet fully implemented"); + ; + break;} +case 785: +#line 4421 "gram.y" +{ + CaseExpr *c = makeNode(CaseExpr); + CaseWhen *w; + List *l; + foreach (l,yyvsp[-1].list) + { + w = makeNode(CaseWhen); + w->expr = makeA_Expr(NOTNULL, NULL, lfirst(l), NULL); + w->result = lfirst(l); + c->args = lappend(c->args, w); + } + yyval.node = (Node *)c; + + elog(NOTICE,"COALESCE() not yet fully implemented"); + ; + break;} +case 786: +#line 4439 "gram.y" +{ yyval.list = lappend(yyvsp[-1].list, yyvsp[0].node); ; + break;} +case 787: +#line 4441 "gram.y" +{ yyval.list = lcons(yyvsp[0].node, NIL); ; + break;} +case 788: +#line 4445 "gram.y" +{ + CaseWhen *w = makeNode(CaseWhen); + w->expr = yyvsp[-2].node; + w->result = yyvsp[0].node; + yyval.node = (Node *)w; + ; + break;} +case 789: +#line 4453 "gram.y" +{ yyval.node = yyvsp[0].node; ; + break;} +case 790: +#line 4454 "gram.y" +{ yyval.node = NULL; ; + break;} +case 791: +#line 4458 "gram.y" +{ + yyvsp[-1].attr->indirection = yyvsp[0].list; + yyval.node = (Node *)yyvsp[-1].attr; + ; + break;} +case 792: +#line 4463 "gram.y" +{ + /* could be a column name or a relation_name */ + Ident *n = makeNode(Ident); + n->name = yyvsp[0].str; + n->indirection = NULL; + yyval.node = (Node *)n; + ; + break;} +case 793: +#line 4471 "gram.y" +{ yyval.node = NULL; ; + break;} +case 794: +#line 4475 "gram.y" { yyval.attr = makeNode(Attr); yyval.attr->relname = yyvsp[-2].str; @@ -9693,8 +9968,8 @@ case 782: yyval.attr->indirection = NULL; ; break;} -case 783: -#line 4391 "gram.y" +case 795: +#line 4483 "gram.y" { yyval.attr = makeNode(Attr); yyval.attr->relname = NULL; @@ -9703,28 +9978,28 @@ case 783: yyval.attr->indirection = NULL; ; break;} -case 784: -#line 4401 "gram.y" +case 796: +#line 4493 "gram.y" { yyval.list = lcons(makeString(yyvsp[0].str), NIL); ; break;} -case 785: -#line 4403 "gram.y" +case 797: +#line 4495 "gram.y" { yyval.list = lappend(yyvsp[-2].list, makeString(yyvsp[0].str)); ; break;} -case 786: -#line 4405 "gram.y" +case 798: +#line 4497 "gram.y" { yyval.list = lappend(yyvsp[-2].list, makeString("*")); ; break;} -case 787: -#line 4416 "gram.y" +case 799: +#line 4508 "gram.y" { yyval.list = lappend(yyvsp[-2].list,yyvsp[0].target); ; break;} -case 788: -#line 4418 "gram.y" +case 800: +#line 4510 "gram.y" { yyval.list = lcons(yyvsp[0].target, NIL); ; break;} -case 789: -#line 4420 "gram.y" +case 801: +#line 4512 "gram.y" { ResTarget *rt = makeNode(ResTarget); Attr *att = makeNode(Attr); @@ -9738,8 +10013,8 @@ case 789: yyval.list = lcons(rt, NIL); ; break;} -case 790: -#line 4435 "gram.y" +case 802: +#line 4527 "gram.y" { yyval.target = makeNode(ResTarget); yyval.target->name = yyvsp[-3].str; @@ -9747,8 +10022,8 @@ case 790: yyval.target->val = (Node *)yyvsp[0].node; ; break;} -case 791: -#line 4442 "gram.y" +case 803: +#line 4534 "gram.y" { yyval.target = makeNode(ResTarget); yyval.target->name = NULL; @@ -9756,8 +10031,8 @@ case 791: yyval.target->val = (Node *)yyvsp[-1].attr; ; break;} -case 792: -#line 4449 "gram.y" +case 804: +#line 4541 "gram.y" { Attr *att = makeNode(Attr); att->relname = yyvsp[-2].str; @@ -9770,16 +10045,16 @@ case 792: yyval.target->val = (Node *)att; ; break;} -case 793: -#line 4468 "gram.y" +case 805: +#line 4560 "gram.y" { yyval.list = lappend(yyvsp[-2].list, yyvsp[0].target); ; break;} -case 794: -#line 4470 "gram.y" +case 806: +#line 4562 "gram.y" { yyval.list = lcons(yyvsp[0].target, NIL); ; break;} -case 795: -#line 4475 "gram.y" +case 807: +#line 4567 "gram.y" { yyval.target = makeNode(ResTarget); yyval.target->name = yyvsp[0].str; @@ -9787,8 +10062,8 @@ case 795: yyval.target->val = (Node *)yyvsp[-2].node; ; break;} -case 796: -#line 4482 "gram.y" +case 808: +#line 4574 "gram.y" { yyval.target = makeNode(ResTarget); yyval.target->name = NULL; @@ -9796,8 +10071,8 @@ case 796: yyval.target->val = (Node *)yyvsp[0].node; ; break;} -case 797: -#line 4489 "gram.y" +case 809: +#line 4581 "gram.y" { Attr *att = makeNode(Attr); att->relname = yyvsp[-2].str; @@ -9810,8 +10085,8 @@ case 797: yyval.target->val = (Node *)att; ; break;} -case 798: -#line 4501 "gram.y" +case 810: +#line 4593 "gram.y" { Attr *att = makeNode(Attr); att->relname = "*"; @@ -9824,23 +10099,23 @@ case 798: yyval.target->val = (Node *)att; ; break;} -case 799: -#line 4514 "gram.y" +case 811: +#line 4606 "gram.y" { yyval.str = yyvsp[0].str; ; break;} -case 800: -#line 4515 "gram.y" +case 812: +#line 4607 "gram.y" { yyval.str = NULL; ; break;} -case 801: -#line 4519 "gram.y" +case 813: +#line 4611 "gram.y" { yyval.str = yyvsp[0].str; StrNCpy(saved_relname, yyvsp[0].str, NAMEDATALEN); ; break;} -case 802: -#line 4524 "gram.y" +case 814: +#line 4616 "gram.y" { /* disallow refs to variable system tables */ if (strcmp(LogRelationName, yyvsp[0].str) == 0 @@ -9851,44 +10126,44 @@ case 802: StrNCpy(saved_relname, yyvsp[0].str, NAMEDATALEN); ; break;} -case 803: -#line 4535 "gram.y" +case 815: +#line 4627 "gram.y" { yyval.str = yyvsp[0].str; ; break;} -case 804: -#line 4536 "gram.y" +case 816: +#line 4628 "gram.y" { yyval.str = yyvsp[0].str; ; break;} -case 805: -#line 4537 "gram.y" +case 817: +#line 4629 "gram.y" { yyval.str = yyvsp[0].str; ; break;} -case 806: -#line 4538 "gram.y" +case 818: +#line 4630 "gram.y" { yyval.str = yyvsp[0].str; ; break;} -case 807: -#line 4539 "gram.y" +case 819: +#line 4631 "gram.y" { yyval.str = yyvsp[0].str; ; break;} -case 808: -#line 4545 "gram.y" +case 820: +#line 4637 "gram.y" { yyval.str = yyvsp[0].str; ; break;} -case 809: -#line 4546 "gram.y" +case 821: +#line 4638 "gram.y" { yyval.str = xlateSqlFunc(yyvsp[0].str); ; break;} -case 810: -#line 4548 "gram.y" +case 822: +#line 4640 "gram.y" { yyval.str = yyvsp[0].str; ; break;} -case 811: -#line 4549 "gram.y" +case 823: +#line 4641 "gram.y" { yyval.str = yyvsp[0].str; ; break;} -case 812: -#line 4555 "gram.y" +case 824: +#line 4647 "gram.y" { A_Const *n = makeNode(A_Const); n->val.type = T_Integer; @@ -9896,8 +10171,8 @@ case 812: yyval.node = (Node *)n; ; break;} -case 813: -#line 4562 "gram.y" +case 825: +#line 4654 "gram.y" { A_Const *n = makeNode(A_Const); n->val.type = T_Float; @@ -9905,8 +10180,8 @@ case 813: yyval.node = (Node *)n; ; break;} -case 814: -#line 4569 "gram.y" +case 826: +#line 4661 "gram.y" { A_Const *n = makeNode(A_Const); n->val.type = T_String; @@ -9914,8 +10189,8 @@ case 814: yyval.node = (Node *)n; ; break;} -case 815: -#line 4576 "gram.y" +case 827: +#line 4668 "gram.y" { A_Const *n = makeNode(A_Const); n->typename = yyvsp[-1].typnam; @@ -9924,12 +10199,12 @@ case 815: yyval.node = (Node *)n; ; break;} -case 816: -#line 4584 "gram.y" +case 828: +#line 4676 "gram.y" { yyval.node = (Node *)yyvsp[0].paramno; ; break;} -case 817: -#line 4586 "gram.y" +case 829: +#line 4678 "gram.y" { A_Const *n = makeNode(A_Const); n->val.type = T_String; @@ -9940,8 +10215,8 @@ case 817: yyval.node = (Node *)n; ; break;} -case 818: -#line 4596 "gram.y" +case 830: +#line 4688 "gram.y" { A_Const *n = makeNode(A_Const); n->val.type = T_String; @@ -9952,452 +10227,480 @@ case 818: yyval.node = (Node *)n; ; break;} -case 819: -#line 4608 "gram.y" +case 831: +#line 4700 "gram.y" { yyval.paramno = makeNode(ParamNo); yyval.paramno->number = yyvsp[-1].ival; yyval.paramno->indirection = yyvsp[0].list; ; break;} -case 820: -#line 4615 "gram.y" +case 832: +#line 4707 "gram.y" { yyval.ival = yyvsp[0].ival; ; break;} -case 821: -#line 4616 "gram.y" +case 833: +#line 4708 "gram.y" { yyval.str = yyvsp[0].str; ; break;} -case 822: -#line 4617 "gram.y" +case 834: +#line 4709 "gram.y" { yyval.str = yyvsp[0].str; ; break;} -case 823: -#line 4625 "gram.y" +case 835: +#line 4717 "gram.y" { yyval.str = xlateSqlType(yyvsp[0].str); ; break;} -case 824: -#line 4627 "gram.y" +case 836: +#line 4719 "gram.y" { yyval.str = xlateSqlType(yyvsp[0].str); ; break;} -case 825: -#line 4629 "gram.y" +case 837: +#line 4721 "gram.y" { yyval.str = xlateSqlType(yyvsp[0].str); ; break;} -case 826: -#line 4639 "gram.y" +case 838: +#line 4731 "gram.y" { yyval.str = yyvsp[0].str; ; break;} -case 827: -#line 4640 "gram.y" +case 839: +#line 4732 "gram.y" { yyval.str = yyvsp[0].str; ; break;} -case 828: -#line 4641 "gram.y" +case 840: +#line 4733 "gram.y" { yyval.str = "absolute"; ; break;} -case 829: -#line 4642 "gram.y" +case 841: +#line 4734 "gram.y" { yyval.str = "action"; ; break;} -case 830: -#line 4643 "gram.y" +case 842: +#line 4735 "gram.y" { yyval.str = "after"; ; break;} -case 831: -#line 4644 "gram.y" +case 843: +#line 4736 "gram.y" { yyval.str = "aggregate"; ; break;} -case 832: -#line 4645 "gram.y" +case 844: +#line 4737 "gram.y" { yyval.str = "backward"; ; break;} -case 833: -#line 4646 "gram.y" +case 845: +#line 4738 "gram.y" { yyval.str = "before"; ; break;} -case 834: -#line 4647 "gram.y" +case 846: +#line 4739 "gram.y" { yyval.str = "cache"; ; break;} -case 835: -#line 4648 "gram.y" +case 847: +#line 4740 "gram.y" { yyval.str = "createdb"; ; break;} -case 836: -#line 4649 "gram.y" +case 848: +#line 4741 "gram.y" { yyval.str = "createuser"; ; break;} -case 837: -#line 4650 "gram.y" +case 849: +#line 4742 "gram.y" { yyval.str = "cycle"; ; break;} -case 838: -#line 4651 "gram.y" +case 850: +#line 4743 "gram.y" { yyval.str = "database"; ; break;} -case 839: -#line 4652 "gram.y" +case 851: +#line 4744 "gram.y" { yyval.str = "delimiters"; ; break;} -case 840: -#line 4653 "gram.y" +case 852: +#line 4745 "gram.y" { yyval.str = "double"; ; break;} -case 841: -#line 4654 "gram.y" +case 853: +#line 4746 "gram.y" { yyval.str = "each"; ; break;} -case 842: -#line 4655 "gram.y" +case 854: +#line 4747 "gram.y" { yyval.str = "encoding"; ; break;} -case 843: -#line 4656 "gram.y" +case 855: +#line 4748 "gram.y" { yyval.str = "forward"; ; break;} -case 844: -#line 4657 "gram.y" +case 856: +#line 4749 "gram.y" { yyval.str = "function"; ; break;} -case 845: -#line 4658 "gram.y" +case 857: +#line 4750 "gram.y" { yyval.str = "handler"; ; break;} -case 846: -#line 4659 "gram.y" +case 858: +#line 4751 "gram.y" { yyval.str = "increment"; ; break;} -case 847: -#line 4660 "gram.y" +case 859: +#line 4752 "gram.y" { yyval.str = "index"; ; break;} -case 848: -#line 4661 "gram.y" +case 860: +#line 4753 "gram.y" { yyval.str = "inherits"; ; break;} -case 849: -#line 4662 "gram.y" +case 861: +#line 4754 "gram.y" { yyval.str = "insensitive"; ; break;} -case 850: -#line 4663 "gram.y" +case 862: +#line 4755 "gram.y" { yyval.str = "instead"; ; break;} -case 851: -#line 4664 "gram.y" +case 863: +#line 4756 "gram.y" { yyval.str = "isnull"; ; break;} -case 852: -#line 4665 "gram.y" +case 864: +#line 4757 "gram.y" { yyval.str = "key"; ; break;} -case 853: -#line 4666 "gram.y" +case 865: +#line 4758 "gram.y" { yyval.str = "language"; ; break;} -case 854: -#line 4667 "gram.y" +case 866: +#line 4759 "gram.y" { yyval.str = "lancompiler"; ; break;} -case 855: -#line 4668 "gram.y" +case 867: +#line 4760 "gram.y" { yyval.str = "location"; ; break;} -case 856: -#line 4669 "gram.y" +case 868: +#line 4761 "gram.y" { yyval.str = "match"; ; break;} -case 857: -#line 4670 "gram.y" +case 869: +#line 4762 "gram.y" { yyval.str = "maxvalue"; ; break;} -case 858: -#line 4671 "gram.y" +case 870: +#line 4763 "gram.y" { yyval.str = "minvalue"; ; break;} -case 859: -#line 4672 "gram.y" +case 871: +#line 4764 "gram.y" { yyval.str = "next"; ; break;} -case 860: -#line 4673 "gram.y" +case 872: +#line 4765 "gram.y" { yyval.str = "nocreatedb"; ; break;} -case 861: -#line 4674 "gram.y" +case 873: +#line 4766 "gram.y" { yyval.str = "nocreateuser"; ; break;} -case 862: -#line 4675 "gram.y" +case 874: +#line 4767 "gram.y" { yyval.str = "nothing"; ; break;} -case 863: -#line 4676 "gram.y" +case 875: +#line 4768 "gram.y" { yyval.str = "notnull"; ; break;} -case 864: -#line 4677 "gram.y" +case 876: +#line 4769 "gram.y" { yyval.str = "of"; ; break;} -case 865: -#line 4678 "gram.y" +case 877: +#line 4770 "gram.y" { yyval.str = "oids"; ; break;} -case 866: -#line 4679 "gram.y" +case 878: +#line 4771 "gram.y" { yyval.str = "only"; ; break;} -case 867: -#line 4680 "gram.y" +case 879: +#line 4772 "gram.y" { yyval.str = "operator"; ; break;} -case 868: -#line 4681 "gram.y" +case 880: +#line 4773 "gram.y" { yyval.str = "option"; ; break;} -case 869: -#line 4682 "gram.y" +case 881: +#line 4774 "gram.y" { yyval.str = "password"; ; break;} -case 870: -#line 4683 "gram.y" +case 882: +#line 4775 "gram.y" { yyval.str = "prior"; ; break;} -case 871: -#line 4684 "gram.y" +case 883: +#line 4776 "gram.y" { yyval.str = "privileges"; ; break;} -case 872: -#line 4685 "gram.y" +case 884: +#line 4777 "gram.y" { yyval.str = "procedural"; ; break;} -case 873: -#line 4686 "gram.y" +case 885: +#line 4778 "gram.y" { yyval.str = "read"; ; break;} -case 874: -#line 4687 "gram.y" +case 886: +#line 4779 "gram.y" { yyval.str = "recipe"; ; break;} -case 875: -#line 4688 "gram.y" +case 887: +#line 4780 "gram.y" { yyval.str = "relative"; ; break;} -case 876: -#line 4689 "gram.y" +case 888: +#line 4781 "gram.y" { yyval.str = "rename"; ; break;} -case 877: -#line 4690 "gram.y" +case 889: +#line 4782 "gram.y" { yyval.str = "returns"; ; break;} -case 878: -#line 4691 "gram.y" +case 890: +#line 4783 "gram.y" { yyval.str = "row"; ; break;} -case 879: -#line 4692 "gram.y" +case 891: +#line 4784 "gram.y" { yyval.str = "rule"; ; break;} -case 880: -#line 4693 "gram.y" +case 892: +#line 4785 "gram.y" { yyval.str = "scroll"; ; break;} -case 881: -#line 4694 "gram.y" +case 893: +#line 4786 "gram.y" { yyval.str = "sequence"; ; break;} -case 882: -#line 4695 "gram.y" +case 894: +#line 4787 "gram.y" { yyval.str = "serial"; ; break;} -case 883: -#line 4696 "gram.y" +case 895: +#line 4788 "gram.y" { yyval.str = "start"; ; break;} -case 884: -#line 4697 "gram.y" +case 896: +#line 4789 "gram.y" { yyval.str = "statement"; ; break;} -case 885: -#line 4698 "gram.y" +case 897: +#line 4790 "gram.y" { yyval.str = "stdin"; ; break;} -case 886: -#line 4699 "gram.y" +case 898: +#line 4791 "gram.y" { yyval.str = "stdout"; ; break;} -case 887: -#line 4700 "gram.y" +case 899: +#line 4792 "gram.y" { yyval.str = "time"; ; break;} -case 888: -#line 4701 "gram.y" +case 900: +#line 4793 "gram.y" { yyval.str = "timestamp"; ; break;} -case 889: -#line 4702 "gram.y" +case 901: +#line 4794 "gram.y" { yyval.str = "timezone_hour"; ; break;} -case 890: -#line 4703 "gram.y" +case 902: +#line 4795 "gram.y" { yyval.str = "timezone_minute"; ; break;} -case 891: -#line 4704 "gram.y" +case 903: +#line 4796 "gram.y" { yyval.str = "trigger"; ; break;} -case 892: -#line 4705 "gram.y" +case 904: +#line 4797 "gram.y" { yyval.str = "trusted"; ; break;} -case 893: -#line 4706 "gram.y" +case 905: +#line 4798 "gram.y" { yyval.str = "type"; ; break;} -case 894: -#line 4707 "gram.y" +case 906: +#line 4799 "gram.y" { yyval.str = "valid"; ; break;} -case 895: -#line 4708 "gram.y" +case 907: +#line 4800 "gram.y" { yyval.str = "version"; ; break;} -case 896: -#line 4709 "gram.y" +case 908: +#line 4801 "gram.y" { yyval.str = "zone"; ; break;} -case 897: -#line 4722 "gram.y" +case 909: +#line 4814 "gram.y" { yyval.str = yyvsp[0].str; ; break;} -case 898: -#line 4723 "gram.y" +case 910: +#line 4815 "gram.y" { yyval.str = "abort"; ; break;} -case 899: -#line 4724 "gram.y" +case 911: +#line 4816 "gram.y" { yyval.str = "analyze"; ; break;} -case 900: -#line 4725 "gram.y" +case 912: +#line 4817 "gram.y" { yyval.str = "binary"; ; break;} -case 901: -#line 4726 "gram.y" +case 913: +#line 4818 "gram.y" +{ yyval.str = "case"; ; + break;} +case 914: +#line 4819 "gram.y" { yyval.str = "cluster"; ; break;} -case 902: -#line 4727 "gram.y" +case 915: +#line 4820 "gram.y" +{ yyval.str = "coalesce"; ; + break;} +case 916: +#line 4821 "gram.y" { yyval.str = "constraint"; ; break;} -case 903: -#line 4728 "gram.y" +case 917: +#line 4822 "gram.y" { yyval.str = "copy"; ; break;} -case 904: -#line 4729 "gram.y" +case 918: +#line 4823 "gram.y" { yyval.str = "cross"; ; break;} -case 905: -#line 4730 "gram.y" +case 919: +#line 4824 "gram.y" { yyval.str = "current"; ; break;} -case 906: -#line 4731 "gram.y" +case 920: +#line 4825 "gram.y" { yyval.str = "do"; ; break;} -case 907: -#line 4732 "gram.y" +case 921: +#line 4826 "gram.y" +{ yyval.str = "else"; ; + break;} +case 922: +#line 4827 "gram.y" +{ yyval.str = "end"; ; + break;} +case 923: +#line 4828 "gram.y" { yyval.str = "explain"; ; break;} -case 908: -#line 4733 "gram.y" +case 924: +#line 4829 "gram.y" { yyval.str = "extend"; ; break;} -case 909: -#line 4734 "gram.y" +case 925: +#line 4830 "gram.y" { yyval.str = "false"; ; break;} -case 910: -#line 4735 "gram.y" +case 926: +#line 4831 "gram.y" { yyval.str = "foreign"; ; break;} -case 911: -#line 4736 "gram.y" +case 927: +#line 4832 "gram.y" { yyval.str = "group"; ; break;} -case 912: -#line 4737 "gram.y" +case 928: +#line 4833 "gram.y" { yyval.str = "listen"; ; break;} -case 913: -#line 4738 "gram.y" +case 929: +#line 4834 "gram.y" { yyval.str = "load"; ; break;} -case 914: -#line 4739 "gram.y" +case 930: +#line 4835 "gram.y" { yyval.str = "lock"; ; break;} -case 915: -#line 4740 "gram.y" +case 931: +#line 4836 "gram.y" { yyval.str = "move"; ; break;} -case 916: -#line 4741 "gram.y" +case 932: +#line 4837 "gram.y" { yyval.str = "new"; ; break;} -case 917: -#line 4742 "gram.y" +case 933: +#line 4838 "gram.y" { yyval.str = "none"; ; break;} -case 918: -#line 4743 "gram.y" +case 934: +#line 4839 "gram.y" +{ yyval.str = "nullif"; ; + break;} +case 935: +#line 4840 "gram.y" { yyval.str = "order"; ; break;} -case 919: -#line 4744 "gram.y" +case 936: +#line 4841 "gram.y" { yyval.str = "position"; ; break;} -case 920: -#line 4745 "gram.y" +case 937: +#line 4842 "gram.y" { yyval.str = "precision"; ; break;} -case 921: -#line 4746 "gram.y" +case 938: +#line 4843 "gram.y" { yyval.str = "reset"; ; break;} -case 922: -#line 4747 "gram.y" +case 939: +#line 4844 "gram.y" { yyval.str = "setof"; ; break;} -case 923: -#line 4748 "gram.y" +case 940: +#line 4845 "gram.y" { yyval.str = "show"; ; break;} -case 924: -#line 4749 "gram.y" +case 941: +#line 4846 "gram.y" { yyval.str = "table"; ; break;} -case 925: -#line 4750 "gram.y" +case 942: +#line 4847 "gram.y" +{ yyval.str = "then"; ; + break;} +case 943: +#line 4848 "gram.y" { yyval.str = "transaction"; ; break;} -case 926: -#line 4751 "gram.y" +case 944: +#line 4849 "gram.y" { yyval.str = "true"; ; break;} -case 927: -#line 4752 "gram.y" +case 945: +#line 4850 "gram.y" { yyval.str = "vacuum"; ; break;} -case 928: -#line 4753 "gram.y" +case 946: +#line 4851 "gram.y" { yyval.str = "verbose"; ; break;} -case 929: -#line 4757 "gram.y" +case 947: +#line 4852 "gram.y" +{ yyval.str = "when"; ; + break;} +case 948: +#line 4856 "gram.y" { if (QueryIsRule) yyval.str = "*CURRENT*"; @@ -10405,8 +10708,8 @@ case 929: elog(ERROR,"CURRENT used in non-rule query"); ; break;} -case 930: -#line 4764 "gram.y" +case 949: +#line 4863 "gram.y" { if (QueryIsRule) yyval.str = "*NEW*"; @@ -10612,7 +10915,7 @@ yyerrhandle: yystate = yyn; goto yynewstate; } -#line 4772 "gram.y" +#line 4871 "gram.y" static Node * @@ -10969,7 +11272,7 @@ fmtId(char *rawid) if (! (islower(*cp) || isdigit(*cp) || (*cp == '_'))) break; if (*cp != '\0') { - cp = palloc(strlen(rawid)+1); + cp = palloc(strlen(rawid)+3); strcpy(cp,"\""); strcat(cp,rawid); strcat(cp,"\""); diff --git a/src/backend/parser/parse.h b/src/backend/parser/parse.h index d76b37443c..b7c8e54411 100644 --- a/src/backend/parser/parse.h +++ b/src/backend/parser/parse.h @@ -43,202 +43,208 @@ typedef union #define BOTH 269 #define BY 270 #define CASCADE 271 -#define CAST 272 -#define CHAR 273 -#define CHARACTER 274 -#define CHECK 275 -#define CLOSE 276 -#define COLLATE 277 -#define COLUMN 278 -#define COMMIT 279 -#define CONSTRAINT 280 -#define CREATE 281 -#define CROSS 282 -#define CURRENT 283 -#define CURRENT_DATE 284 -#define CURRENT_TIME 285 -#define CURRENT_TIMESTAMP 286 -#define CURRENT_USER 287 -#define CURSOR 288 -#define DAY_P 289 -#define DECIMAL 290 -#define DECLARE 291 -#define DEFAULT 292 -#define DELETE 293 -#define DESC 294 -#define DISTINCT 295 -#define DOUBLE 296 -#define DROP 297 -#define END_TRANS 298 -#define EXECUTE 299 -#define EXISTS 300 -#define EXTRACT 301 -#define FALSE_P 302 -#define FETCH 303 -#define FLOAT 304 -#define FOR 305 -#define FOREIGN 306 -#define FROM 307 -#define FULL 308 -#define GRANT 309 -#define GROUP 310 -#define HAVING 311 -#define HOUR_P 312 -#define IN 313 -#define INNER_P 314 -#define INSENSITIVE 315 -#define INSERT 316 -#define INTERVAL 317 -#define INTO 318 -#define IS 319 -#define JOIN 320 -#define KEY 321 -#define LANGUAGE 322 -#define LEADING 323 -#define LEFT 324 -#define LIKE 325 -#define LOCAL 326 -#define MATCH 327 -#define MINUTE_P 328 -#define MONTH_P 329 -#define NAMES 330 -#define NATIONAL 331 -#define NATURAL 332 -#define NCHAR 333 -#define NEXT 334 -#define NO 335 -#define NOT 336 -#define NULL_P 337 -#define NUMERIC 338 -#define OF 339 -#define ON 340 -#define ONLY 341 -#define OPTION 342 -#define OR 343 -#define ORDER 344 -#define OUTER_P 345 -#define PARTIAL 346 -#define POSITION 347 -#define PRECISION 348 -#define PRIMARY 349 -#define PRIOR 350 -#define PRIVILEGES 351 -#define PROCEDURE 352 -#define PUBLIC 353 -#define READ 354 -#define REFERENCES 355 -#define RELATIVE 356 -#define REVOKE 357 -#define RIGHT 358 -#define ROLLBACK 359 -#define SCROLL 360 -#define SECOND_P 361 -#define SELECT 362 -#define SET 363 -#define SUBSTRING 364 -#define TABLE 365 -#define TIME 366 -#define TIMESTAMP 367 -#define TIMEZONE_HOUR 368 -#define TIMEZONE_MINUTE 369 -#define TO 370 -#define TRAILING 371 -#define TRANSACTION 372 -#define TRIM 373 -#define TRUE_P 374 -#define UNION 375 -#define UNIQUE 376 -#define UPDATE 377 -#define USER 378 -#define USING 379 -#define VALUES 380 -#define VARCHAR 381 -#define VARYING 382 -#define VIEW 383 -#define WHERE 384 -#define WITH 385 -#define WORK 386 -#define YEAR_P 387 -#define ZONE 388 -#define TRIGGER 389 -#define TYPE_P 390 -#define ABORT_TRANS 391 -#define AFTER 392 -#define AGGREGATE 393 -#define ANALYZE 394 -#define BACKWARD 395 -#define BEFORE 396 -#define BINARY 397 -#define CACHE 398 -#define CLUSTER 399 -#define COPY 400 -#define CREATEDB 401 -#define CREATEUSER 402 -#define CYCLE 403 -#define DATABASE 404 -#define DELIMITERS 405 -#define DO 406 -#define EACH 407 -#define ENCODING 408 -#define EXPLAIN 409 -#define EXTEND 410 -#define FORWARD 411 -#define FUNCTION 412 -#define HANDLER 413 -#define INCREMENT 414 -#define INDEX 415 -#define INHERITS 416 -#define INSTEAD 417 -#define ISNULL 418 -#define LANCOMPILER 419 -#define LISTEN 420 -#define LOAD 421 -#define LOCATION 422 -#define LOCK_P 423 -#define MAXVALUE 424 -#define MINVALUE 425 -#define MOVE 426 -#define NEW 427 -#define NOCREATEDB 428 -#define NOCREATEUSER 429 -#define NONE 430 -#define NOTHING 431 -#define NOTIFY 432 -#define NOTNULL 433 -#define OIDS 434 -#define OPERATOR 435 -#define PASSWORD 436 -#define PROCEDURAL 437 -#define RECIPE 438 -#define RENAME 439 -#define RESET 440 -#define RETURNS 441 -#define ROW 442 -#define RULE 443 -#define SEQUENCE 444 -#define SERIAL 445 -#define SETOF 446 -#define SHOW 447 -#define START 448 -#define STATEMENT 449 -#define STDIN 450 -#define STDOUT 451 -#define TRUSTED 452 -#define UNLISTEN 453 -#define UNTIL 454 -#define VACUUM 455 -#define VALID 456 -#define VERBOSE 457 -#define VERSION 458 -#define IDENT 459 -#define SCONST 460 -#define Op 461 -#define ICONST 462 -#define PARAM 463 -#define FCONST 464 -#define OP 465 -#define UMINUS 466 -#define TYPECAST 467 +#define CASE 272 +#define CAST 273 +#define CHAR 274 +#define CHARACTER 275 +#define CHECK 276 +#define CLOSE 277 +#define COALESCE 278 +#define COLLATE 279 +#define COLUMN 280 +#define COMMIT 281 +#define CONSTRAINT 282 +#define CREATE 283 +#define CROSS 284 +#define CURRENT 285 +#define CURRENT_DATE 286 +#define CURRENT_TIME 287 +#define CURRENT_TIMESTAMP 288 +#define CURRENT_USER 289 +#define CURSOR 290 +#define DAY_P 291 +#define DECIMAL 292 +#define DECLARE 293 +#define DEFAULT 294 +#define DELETE 295 +#define DESC 296 +#define DISTINCT 297 +#define DOUBLE 298 +#define DROP 299 +#define ELSE 300 +#define END_TRANS 301 +#define EXECUTE 302 +#define EXISTS 303 +#define EXTRACT 304 +#define FALSE_P 305 +#define FETCH 306 +#define FLOAT 307 +#define FOR 308 +#define FOREIGN 309 +#define FROM 310 +#define FULL 311 +#define GRANT 312 +#define GROUP 313 +#define HAVING 314 +#define HOUR_P 315 +#define IN 316 +#define INNER_P 317 +#define INSENSITIVE 318 +#define INSERT 319 +#define INTERVAL 320 +#define INTO 321 +#define IS 322 +#define JOIN 323 +#define KEY 324 +#define LANGUAGE 325 +#define LEADING 326 +#define LEFT 327 +#define LIKE 328 +#define LOCAL 329 +#define MATCH 330 +#define MINUTE_P 331 +#define MONTH_P 332 +#define NAMES 333 +#define NATIONAL 334 +#define NATURAL 335 +#define NCHAR 336 +#define NEXT 337 +#define NO 338 +#define NOT 339 +#define NULLIF 340 +#define NULL_P 341 +#define NUMERIC 342 +#define OF 343 +#define ON 344 +#define ONLY 345 +#define OPTION 346 +#define OR 347 +#define ORDER 348 +#define OUTER_P 349 +#define PARTIAL 350 +#define POSITION 351 +#define PRECISION 352 +#define PRIMARY 353 +#define PRIOR 354 +#define PRIVILEGES 355 +#define PROCEDURE 356 +#define PUBLIC 357 +#define READ 358 +#define REFERENCES 359 +#define RELATIVE 360 +#define REVOKE 361 +#define RIGHT 362 +#define ROLLBACK 363 +#define SCROLL 364 +#define SECOND_P 365 +#define SELECT 366 +#define SET 367 +#define SUBSTRING 368 +#define TABLE 369 +#define THEN 370 +#define TIME 371 +#define TIMESTAMP 372 +#define TIMEZONE_HOUR 373 +#define TIMEZONE_MINUTE 374 +#define TO 375 +#define TRAILING 376 +#define TRANSACTION 377 +#define TRIM 378 +#define TRUE_P 379 +#define UNION 380 +#define UNIQUE 381 +#define UPDATE 382 +#define USER 383 +#define USING 384 +#define VALUES 385 +#define VARCHAR 386 +#define VARYING 387 +#define VIEW 388 +#define WHEN 389 +#define WHERE 390 +#define WITH 391 +#define WORK 392 +#define YEAR_P 393 +#define ZONE 394 +#define TRIGGER 395 +#define TYPE_P 396 +#define ABORT_TRANS 397 +#define AFTER 398 +#define AGGREGATE 399 +#define ANALYZE 400 +#define BACKWARD 401 +#define BEFORE 402 +#define BINARY 403 +#define CACHE 404 +#define CLUSTER 405 +#define COPY 406 +#define CREATEDB 407 +#define CREATEUSER 408 +#define CYCLE 409 +#define DATABASE 410 +#define DELIMITERS 411 +#define DO 412 +#define EACH 413 +#define ENCODING 414 +#define EXPLAIN 415 +#define EXTEND 416 +#define FORWARD 417 +#define FUNCTION 418 +#define HANDLER 419 +#define INCREMENT 420 +#define INDEX 421 +#define INHERITS 422 +#define INSTEAD 423 +#define ISNULL 424 +#define LANCOMPILER 425 +#define LISTEN 426 +#define LOAD 427 +#define LOCATION 428 +#define LOCK_P 429 +#define MAXVALUE 430 +#define MINVALUE 431 +#define MOVE 432 +#define NEW 433 +#define NOCREATEDB 434 +#define NOCREATEUSER 435 +#define NONE 436 +#define NOTHING 437 +#define NOTIFY 438 +#define NOTNULL 439 +#define OIDS 440 +#define OPERATOR 441 +#define PASSWORD 442 +#define PROCEDURAL 443 +#define RECIPE 444 +#define RENAME 445 +#define RESET 446 +#define RETURNS 447 +#define ROW 448 +#define RULE 449 +#define SEQUENCE 450 +#define SERIAL 451 +#define SETOF 452 +#define SHOW 453 +#define START 454 +#define STATEMENT 455 +#define STDIN 456 +#define STDOUT 457 +#define TRUSTED 458 +#define UNLISTEN 459 +#define UNTIL 460 +#define VACUUM 461 +#define VALID 462 +#define VERBOSE 463 +#define VERSION 464 +#define IDENT 465 +#define SCONST 466 +#define Op 467 +#define ICONST 468 +#define PARAM 469 +#define FCONST 470 +#define OP 471 +#define UMINUS 472 +#define TYPECAST 473 extern YYSTYPE yylval; diff --git a/src/backend/utils/sort/psort.c b/src/backend/utils/sort/psort.c index 0c4efabf5f..5a8695c8c1 100644 --- a/src/backend/utils/sort/psort.c +++ b/src/backend/utils/sort/psort.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/sort/Attic/psort.c,v 1.43 1998/11/27 19:52:32 vadim Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/sort/Attic/psort.c,v 1.44 1998/12/14 05:19:13 scrappy Exp $ * * NOTES * Sorts the first relation into the second relation. @@ -350,7 +350,9 @@ initialrun(Sort *node) continue; } else + { break; + } if ((bool) createrun(node, tp->tp_file) == false) extrapasses = 1 + (PS(node)->Tuples != NULL); diff --git a/src/include/nodes/execnodes.h b/src/include/nodes/execnodes.h index 288051f1e9..afca5d36d3 100644 --- a/src/include/nodes/execnodes.h +++ b/src/include/nodes/execnodes.h @@ -6,7 +6,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: execnodes.h,v 1.19 1998/11/27 19:33:33 vadim Exp $ + * $Id: execnodes.h,v 1.20 1998/12/14 05:19:16 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -694,15 +694,15 @@ typedef struct HashState */ typedef struct TeeState { - CommonState cstate; /* its first field is NodeTag */ - int tee_leftPlace; - int tee_rightPlace; - int tee_lastPlace; - char *tee_bufferRelname; - Relation tee_bufferRel; + CommonState cstate; /* its first field is NodeTag */ + int tee_leftPlace, + tee_rightPlace, + tee_lastPlace; + char *tee_bufferRelname; + Relation tee_bufferRel; MemoryContext tee_mcxt; - HeapScanDesc tee_leftScanDesc; - HeapScanDesc tee_rightScanDesc; + HeapScanDesc tee_leftScanDesc, + tee_rightScanDesc; } TeeState; #endif /* EXECNODES_H */ -- 2.40.0