diff options
author | Darshan Shaligram <dshaligram@users.sourceforge.net> | 2010-12-24 22:04:35 +0530 |
---|---|---|
committer | Darshan Shaligram <dshaligram@users.sourceforge.net> | 2010-12-24 22:10:38 +0530 |
commit | 53fa0ff3f1cda4f650e159667ccd3bb68fc2078e (patch) | |
tree | c1def6e5d6a9b2866e02aee1b1af810ee6d5d27e /crawl-ref/source/prebuilt | |
parent | 9e6e6919463bcd6b30c34c430b3ac505c7330915 (diff) | |
download | crawl-ref-53fa0ff3f1cda4f650e159667ccd3bb68fc2078e.tar.gz crawl-ref-53fa0ff3f1cda4f650e159667ccd3bb68fc2078e.zip |
Update canned level compiler for depth-constrained CHANCE and WEIGHT changes.
Diffstat (limited to 'crawl-ref/source/prebuilt')
-rw-r--r-- | crawl-ref/source/prebuilt/levcomp.lex.cc | 2807 | ||||
-rw-r--r-- | crawl-ref/source/prebuilt/levcomp.tab.cc | 931 | ||||
-rw-r--r-- | crawl-ref/source/prebuilt/levcomp.tab.h | 44 |
3 files changed, 1964 insertions, 1818 deletions
diff --git a/crawl-ref/source/prebuilt/levcomp.lex.cc b/crawl-ref/source/prebuilt/levcomp.lex.cc index 8cc047d7e6..b338a8e2f0 100644 --- a/crawl-ref/source/prebuilt/levcomp.lex.cc +++ b/crawl-ref/source/prebuilt/levcomp.lex.cc @@ -153,12 +153,7 @@ typedef unsigned int flex_uint32_t; typedef struct yy_buffer_state *YY_BUFFER_STATE; #endif -#ifndef YY_TYPEDEF_YY_SIZE_T -#define YY_TYPEDEF_YY_SIZE_T -typedef size_t yy_size_t; -#endif - -extern yy_size_t yyleng; +extern int yyleng; extern FILE *yyin, *yyout; @@ -197,6 +192,11 @@ extern FILE *yyin, *yyout; #define unput(c) yyunput( c, (yytext_ptr) ) +#ifndef YY_TYPEDEF_YY_SIZE_T +#define YY_TYPEDEF_YY_SIZE_T +typedef size_t yy_size_t; +#endif + #ifndef YY_STRUCT_YY_BUFFER_STATE #define YY_STRUCT_YY_BUFFER_STATE struct yy_buffer_state @@ -214,7 +214,7 @@ struct yy_buffer_state /* Number of characters read into yy_ch_buf, not including EOB * characters. */ - yy_size_t yy_n_chars; + int yy_n_chars; /* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to @@ -284,8 +284,8 @@ static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ /* yy_hold_char holds the character lost when yytext is formed. */ static char yy_hold_char; -static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */ -yy_size_t yyleng; +static int yy_n_chars; /* number of characters read into yy_ch_buf */ +int yyleng; /* Points to current character in buffer. */ static char *yy_c_buf_p = (char *) 0; @@ -313,7 +313,7 @@ static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ); YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ); YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ); -YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len ); +YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len ); void *yyalloc (yy_size_t ); void *yyrealloc (void *,yy_size_t ); @@ -373,8 +373,8 @@ static void yy_fatal_error (yyconst char msg[] ); *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 85 -#define YY_END_OF_BUFFER 86 +#define YY_NUM_RULES 87 +#define YY_END_OF_BUFFER 88 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -382,138 +382,143 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[1191] = +static yyconst flex_int16_t yy_accept[1228] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 86, 84, 81, 82, - 83, 79, 84, 77, 80, 78, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 81, 34, 36, 84, 84, 84, 84, 84, - 84, 84, 85, 6, 85, 85, 4, 2, 3, 85, - 2, 2, 2, 2, 9, 10, 85, 9, 9, 85, - 12, 85, 32, 81, 33, 83, 32, 32, 32, 32, + 0, 0, 0, 0, 0, 0, 88, 86, 83, 84, + 85, 79, 86, 86, 77, 80, 86, 81, 78, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 83, 34, 36, 86, 86, + 86, 86, 86, 86, 86, 87, 6, 87, 87, 4, + 2, 3, 87, 2, 2, 2, 2, 9, 10, 87, + 9, 9, 87, 12, 87, 32, 83, 33, 85, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 81, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 84, 28, - 23, 28, 79, 84, 27, 80, 78, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 28, 34, 36, 84, 84, 84, - 84, 84, 84, 84, 15, 16, 83, 13, 13, 13, + 32, 32, 32, 32, 83, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 86, 28, 23, 28, 79, 86, + 86, 27, 80, 86, 81, 78, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 28, 34, 36, 86, 86, 86, 86, + 86, 86, 86, 15, 16, 85, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 84, 13, 15, 13, 13, - 13, 13, 13, 13, 85, 21, 22, 85, 20, 85, - 81, 82, 80, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 13, 13, 13, 13, 86, 13, 15, 13, 13, 13, + 13, 13, 13, 87, 21, 22, 87, 20, 87, 83, + 84, 0, 82, 0, 81, 81, 81, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 81, 34, 36, 0, 0, 0, 0, 0, 34, 0, - 0, 0, 0, 0, 0, 0, 0, 39, 6, 5, - 0, 0, 2, 3, 2, 0, 2, 2, 2, 2, - 9, 9, 10, 9, 9, 9, 0, 11, 0, 12, - 31, 0, 31, 81, 33, 0, 0, 33, 31, 31, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 83, 34, 36, 0, 0, + 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, + 0, 0, 39, 6, 5, 0, 0, 2, 3, 2, + 0, 2, 2, 2, 2, 9, 9, 10, 9, 9, + 9, 0, 11, 0, 12, 31, 0, 31, 83, 33, + 0, 0, 33, 31, 0, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 0, 30, 31, 81, 31, - 34, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 26, 0, 26, 28, 23, 28, 0, 23, 26, + 31, 31, 31, 31, 31, 31, 31, 31, 0, 30, + 31, 83, 31, 34, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 26, 0, 26, 28, 23, 28, + 0, 23, 26, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 0, 25, 0, 26, - 28, 26, 34, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 15, 16, 0, 0, 0, 16, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 26, 26, 26, 26, 26, 26, 26, 0, 25, 0, + 26, 28, 26, 34, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 15, 16, 0, 0, 0, 16, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 0, 14, 13, - 15, 13, 13, 13, 13, 13, 13, 13, 13, 19, - 0, 19, 21, 22, 0, 0, 0, 0, 18, 0, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, + 14, 13, 15, 13, 13, 13, 13, 13, 13, 13, + 13, 19, 0, 19, 21, 22, 0, 0, 0, 0, + 18, 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2, 9, 9, - 9, 7, 0, 0, 29, 0, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 2, 9, 9, 9, 7, 0, 0, 29, 0, 0, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 34, 31, 31, 31, - 31, 31, 31, 31, 0, 24, 0, 26, 26, 26, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 34, 31, 31, 31, 31, 31, 31, 31, 0, + 24, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 34, 34, 26, - 26, 26, 26, 26, 26, 26, 13, 13, 13, 13, + 26, 26, 26, 26, 34, 34, 26, 26, 26, 26, + 26, 26, 26, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 0, 17, 0, 0, 0, 0, 0, + 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, - 0, 0, 0, 0, 0, 0, 2, 9, 8, 0, - 9, 7, 0, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, + 0, 0, 0, 2, 9, 8, 0, 9, 7, 0, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 0, 31, 0, 31, 31, - 31, 31, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 0, 26, 0, 26, 26, 26, - - 26, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, - 0, 45, 0, 0, 0, 68, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 67, 43, 0, 0, 0, - 0, 0, 0, 0, 53, 65, 0, 0, 0, 0, - 38, 0, 0, 0, 0, 2, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 0, 31, 0, 31, 31, 31, 31, 26, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 0, 31, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 0, 26, 13, 13, 13, 13, 13, 13, 13, 13, + 26, 0, 26, 0, 26, 26, 26, 26, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 0, 0, 0, 46, 0, 52, 63, 71, 72, - 74, 73, 75, 0, 0, 0, 0, 0, 0, 0, + 13, 13, 13, 13, 0, 0, 0, 0, 45, 0, + 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 67, 43, 0, 0, 0, 0, 0, 0, - 48, 64, 0, 56, 0, 0, 0, 0, 0, 0, - 0, 41, 1, 31, 31, 31, 31, 31, 31, 31, + 0, 53, 65, 0, 0, 0, 0, 38, 0, 0, + 0, 0, 2, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 26, 26, 26, 26, 26, 26, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, + 31, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 13, 13, 13, 13, 13, + 26, 26, 26, 26, 26, 26, 26, 0, 26, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 55, 50, 58, 0, 54, 0, - 0, 0, 0, 69, 57, 47, 0, 0, 51, 0, - 0, 0, 0, 0, 1, 31, 31, 31, 31, 31, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, + 0, 46, 0, 52, 63, 71, 72, 74, 73, 75, + 0, 0, 0, 0, 0, 0, 0, 48, 64, 0, + 56, 0, 0, 0, 0, 0, 0, 0, 41, 1, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 26, 26, 26, 26, 26, + 31, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 66, 0, 0, - 0, 0, 70, 0, 49, 0, 0, 0, 0, 0, + + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 55, 50, 58, 0, 54, 0, 0, 0, 0, + 69, 57, 47, 0, 0, 51, 0, 0, 0, 0, + 0, 1, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 0, 31, 31, 26, 26, 26, 26, 26, 26, 26, - - 26, 26, 26, 0, 26, 26, 13, 13, 13, 13, - 13, 13, 13, 13, 0, 0, 60, 0, 76, 0, - 0, 0, 37, 0, 0, 31, 31, 31, 31, 31, - 31, 0, 31, 31, 0, 31, 26, 26, 26, 26, - 26, 26, 0, 26, 26, 0, 26, 13, 13, 13, - 13, 59, 0, 62, 0, 42, 40, 31, 31, 31, - 31, 31, 31, 26, 26, 26, 26, 26, 26, 13, - 13, 61, 0, 31, 31, 26, 26, 13, 0, 31, - 26, 13, 0, 31, 26, 13, 44, 31, 26, 0 + 31, 31, 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 13, 13, 13, 13, 13, 13, 13, 13, + + 13, 13, 13, 13, 66, 0, 0, 0, 0, 70, + 0, 49, 0, 0, 0, 0, 0, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 0, 31, 31, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 0, 26, 26, 13, 13, 13, 13, 13, 13, 13, + 13, 0, 0, 60, 0, 76, 0, 0, 0, 37, + 0, 0, 31, 31, 31, 31, 31, 31, 0, 31, + 31, 0, 31, 26, 26, 26, 26, 26, 26, 0, + 26, 26, 0, 26, 13, 13, 13, 13, 59, 0, + 62, 0, 42, 40, 31, 31, 31, 31, 31, 31, + + 26, 26, 26, 26, 26, 26, 13, 13, 61, 0, + 31, 31, 26, 26, 13, 0, 31, 26, 13, 0, + 31, 26, 13, 44, 31, 26, 0 } ; static yyconst flex_int32_t yy_ec[256] = @@ -521,17 +526,17 @@ static yyconst flex_int32_t yy_ec[256] = 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 5, 1, 1, 6, 1, 7, 1, 1, 1, - 1, 1, 8, 9, 10, 1, 1, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 12, 1, 1, - 1, 1, 1, 1, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 22, 29, 30, 31, 32, 33, 34, 22, 22, 22, - 1, 35, 1, 1, 22, 1, 36, 22, 22, 37, - - 38, 39, 40, 41, 42, 22, 22, 43, 22, 22, - 44, 45, 22, 46, 47, 48, 49, 50, 22, 22, - 22, 22, 51, 1, 52, 1, 1, 1, 1, 1, + 1, 5, 1, 1, 6, 1, 7, 1, 1, 8, + 9, 1, 10, 11, 12, 13, 1, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 15, 1, 1, + 1, 1, 1, 1, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 25, 32, 33, 34, 35, 36, 37, 25, 25, 25, + 1, 38, 1, 1, 25, 1, 39, 25, 25, 40, + + 41, 42, 43, 44, 45, 25, 25, 46, 25, 25, + 47, 48, 25, 49, 50, 51, 52, 53, 25, 25, + 25, 25, 54, 1, 55, 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, @@ -548,1180 +553,1234 @@ static yyconst flex_int32_t yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst flex_int32_t yy_meta[53] = +static yyconst flex_int32_t yy_meta[56] = { 0, - 1, 2, 3, 4, 1, 1, 1, 1, 5, 6, - 6, 1, 6, 6, 6, 6, 6, 6, 6, 6, + 1, 2, 3, 4, 1, 1, 1, 1, 1, 1, + 5, 6, 6, 6, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 1, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 1, 1 + 6, 6, 6, 1, 1 } ; -static yyconst flex_int16_t yy_base[1208] = +static yyconst flex_int16_t yy_base[1248] = { 0, - 0, 51, 55, 62, 66, 68, 51, 70, 120, 171, - 222, 273, 324, 375, 79, 176, 2550, 3927, 73, 3927, - 2546, 3927, 2530, 3927, 2529, 3927, 2518, 60, 2515, 66, - 2500, 82, 75, 64, 82, 2495, 2496, 2483, 79, 95, - 2494, 2459, 425, 0, 3927, 79, 2449, 2444, 2446, 150, - 81, 2435, 3927, 3927, 2482, 183, 3927, 0, 3927, 2478, - 187, 0, 2454, 157, 2423, 3927, 2469, 146, 2419, 191, - 3927, 2465, 278, 284, 3927, 380, 384, 388, 393, 399, - 403, 431, 412, 407, 449, 454, 488, 492, 498, 513, - 503, 477, 460, 526, 439, 532, 537, 548, 552, 558, - - 564, 569, 573, 586, 590, 598, 605, 609, 279, 624, - 3927, 644, 443, 650, 3927, 651, 596, 632, 637, 649, - 663, 668, 672, 673, 699, 708, 687, 704, 709, 713, - 744, 715, 749, 725, 764, 768, 753, 769, 757, 759, - 776, 781, 785, 795, 810, 3927, 822, 2453, 2446, 0, - 2434, 179, 2427, 181, 2405, 182, 184, 263, 264, 2406, - 2399, 2391, 188, 278, 2399, 298, 2377, 829, 279, 2362, - 2350, 2352, 268, 146, 805, 833, 3927, 839, 3927, 845, - 302, 3927, 2374, 2350, 2360, 2348, 187, 2348, 2342, 2329, - 2331, 2323, 2305, 282, 2306, 2307, 2295, 2291, 2289, 2288, - - 2269, 2278, 2284, 2266, 2252, 2260, 2250, 2237, 284, 2221, - 0, 0, 3927, 2208, 2195, 2191, 274, 2177, 0, 268, - 2181, 2186, 2181, 2201, 425, 2167, 2158, 3927, 3927, 3927, - 2202, 483, 0, 3927, 0, 2193, 576, 2171, 2150, 374, - 2116, 2112, 3927, 270, 2095, 849, 375, 3927, 2139, 3927, - 854, 858, 867, 873, 3927, 879, 883, 3927, 892, 902, - 907, 911, 917, 926, 936, 946, 951, 955, 960, 971, - 975, 983, 992, 997, 1007, 1011, 1018, 1026, 1035, 1039, - 1047, 1052, 1067, 1060, 1073, 1086, 3927, 1094, 0, 1099, - 1105, 1109, 1113, 1118, 1122, 1126, 1133, 1145, 1150, 1161, - - 1167, 890, 931, 1171, 1179, 3927, 1184, 1195, 3927, 1003, - 1189, 1199, 1203, 1205, 1213, 1215, 1071, 1220, 1224, 1234, - 1240, 1241, 1242, 1247, 1249, 1255, 1266, 1278, 1283, 1259, - 1284, 1290, 1294, 1295, 1304, 1310, 1333, 3927, 1338, 1315, - 0, 1342, 1351, 1360, 1347, 1356, 1365, 1369, 1376, 1378, - 1383, 1382, 1322, 1417, 3927, 1429, 1433, 1388, 3927, 0, - 2130, 2116, 2124, 2112, 366, 2110, 2111, 2101, 2104, 2098, - 2079, 444, 2080, 2067, 2063, 2055, 2046, 2046, 2036, 2040, - 2044, 2034, 2019, 2032, 2023, 2013, 498, 1437, 3927, 1975, - 0, 470, 1971, 1968, 1964, 1983, 430, 1952, 1944, 1392, - - 1394, 1441, 1445, 3927, 1451, 1455, 1461, 1465, 3927, 1469, - 1967, 1952, 1949, 1939, 1953, 1945, 1935, 1928, 1921, 1932, - 1927, 1909, 1911, 1906, 532, 1916, 1903, 1891, 1902, 1902, - 1898, 1890, 1875, 1877, 514, 1863, 1874, 1868, 1864, 1834, - 1479, 1823, 927, 1811, 1818, 1802, 1798, 1815, 1485, 1489, - 1499, 3927, 1503, 1507, 3927, 1511, 1515, 1519, 1525, 1530, - 1534, 1542, 1551, 1569, 1562, 1576, 1586, 1580, 1590, 1596, - 1615, 1603, 1622, 1628, 1632, 1639, 1660, 1664, 1668, 1676, - 1680, 1684, 1700, 1704, 1716, 1720, 1724, 1738, 1728, 1732, - 1742, 1756, 1760, 1764, 1776, 3927, 1784, 1788, 1770, 1747, - - 1604, 1792, 1798, 1594, 1804, 1810, 1808, 1812, 1820, 1832, - 1836, 1846, 1847, 1851, 1855, 1859, 1863, 1867, 1873, 1887, - 1878, 1895, 1899, 1901, 1905, 1912, 1907, 1946, 1954, 1958, - 1930, 1918, 1936, 1962, 1970, 1972, 1823, 1806, 1804, 1799, - 1811, 1803, 1801, 1794, 1791, 1791, 1781, 1762, 1750, 1743, - 538, 1742, 1731, 1723, 1733, 1734, 1728, 1723, 1692, 1694, - 582, 1677, 1683, 1679, 1681, 1657, 1980, 1648, 1321, 1647, - 1659, 1641, 1632, 1984, 3927, 1996, 1656, 1656, 1629, 1640, - 1647, 1637, 1624, 1630, 1634, 1609, 1597, 1591, 1582, 1574, - 1564, 1552, 1553, 1558, 1560, 1556, 1532, 1533, 1541, 1540, - - 1530, 1512, 1527, 1521, 1519, 1506, 1498, 1473, 2006, 3927, - 1474, 1400, 1448, 1449, 1460, 1410, 1482, 2018, 3927, 2022, - 2026, 3927, 2030, 2034, 2039, 2013, 2045, 2054, 2058, 2071, - 2077, 2083, 2094, 2098, 2103, 2109, 2115, 2126, 2130, 2144, - 2149, 2158, 2169, 2173, 2154, 2181, 2190, 2195, 2186, 2207, - 2222, 2227, 2231, 2236, 2241, 2245, 2250, 2254, 2263, 2268, - 2273, 2277, 2281, 2167, 2286, 2291, 2290, 2304, 2062, 2302, - 2322, 2327, 2328, 2081, 2336, 2340, 2341, 2342, 2347, 2362, - 2349, 2376, 2378, 2384, 2385, 2389, 2391, 2390, 2399, 2425, - 2426, 2398, 2412, 2427, 2438, 2443, 2444, 2448, 2449, 2453, - - 2454, 1466, 1464, 1446, 1457, 1463, 1443, 1398, 1407, 1404, - 1383, 1385, 1386, 1378, 1378, 1360, 1346, 1343, 1342, 1336, - 1321, 1302, 1295, 1299, 1294, 1289, 1272, 1289, 1286, 1281, - 1267, 1252, 1224, 1219, 1213, 1221, 1646, 1226, 1215, 1202, - 1211, 3927, 1201, 1204, 1199, 3927, 1191, 1183, 1178, 1167, - 1166, 1147, 1138, 452, 1133, 3927, 3927, 1128, 1125, 1139, - 1133, 1119, 1127, 1104, 3927, 3927, 1101, 1100, 1076, 1076, - 3927, 1068, 1064, 1650, 1042, 1057, 2461, 2465, 2499, 2504, - 2508, 2513, 2517, 2533, 2521, 2542, 2553, 2557, 2562, 2568, - 2574, 2579, 2585, 2589, 2594, 2608, 2617, 2623, 2628, 2632, - - 2637, 2645, 2651, 2660, 2664, 2669, 2673, 2677, 2683, 2687, - 2692, 2701, 2705, 2709, 2472, 2525, 2714, 2719, 2580, 2728, - 2723, 2740, 2600, 2745, 2757, 2759, 2765, 2771, 2763, 2776, - 2782, 2780, 2784, 2786, 2794, 2799, 2821, 2826, 2822, 2830, - 2805, 2834, 2839, 2845, 2843, 2847, 2849, 2853, 2857, 2861, - 2865, 2870, 1053, 1064, 1051, 1056, 1047, 1051, 1047, 1046, - 1043, 1033, 1023, 1022, 999, 996, 489, 995, 990, 986, - 991, 988, 969, 980, 957, 952, 957, 931, 930, 932, - 927, 946, 942, 932, 3927, 908, 3927, 3927, 3927, 3927, - 3927, 3927, 3927, 922, 574, 897, 902, 906, 905, 898, - - 3927, 3927, 888, 3927, 876, 887, 881, 843, 841, 841, - 825, 3927, 862, 2897, 2902, 2906, 2915, 2920, 2924, 2929, - 2934, 2938, 2942, 2952, 2956, 2963, 2974, 2979, 2990, 2995, - 3008, 3014, 2999, 3019, 3027, 3031, 3035, 3043, 3048, 3056, - 3067, 3071, 3075, 3080, 3062, 3084, 3093, 2910, 3098, 2947, - 2961, 3085, 3106, 3112, 3116, 3120, 3122, 3130, 3135, 3137, - 3141, 3147, 3161, 3162, 3166, 3172, 3173, 3178, 3179, 3183, - 3185, 3190, 3207, 3201, 3217, 854, 853, 849, 824, 827, - 591, 802, 798, 806, 805, 797, 788, 777, 786, 778, - 745, 742, 751, 737, 3927, 3927, 3927, 768, 3927, 749, - - 754, 732, 723, 3927, 3927, 3927, 730, 710, 3927, 725, - 726, 697, 1989, 693, 724, 3219, 3224, 3230, 3236, 3242, - 3251, 3258, 3264, 3268, 3278, 3285, 3292, 3296, 3302, 3307, - 3312, 3324, 3317, 3334, 3339, 3256, 3300, 3313, 3344, 3348, - 3349, 3359, 3358, 3363, 3365, 3370, 3376, 3384, 3386, 3390, - 3397, 3402, 3401, 3408, 3413, 713, 697, 702, 695, 681, - 684, 664, 676, 672, 643, 2001, 642, 3927, 652, 647, - 657, 646, 3927, 646, 3927, 601, 2150, 2213, 581, 2354, - 3418, 3422, 3426, 3440, 3460, 3436, 3464, 3468, 3476, 3480, - 3484, 3488, 3492, 3499, 3505, 3512, 3516, 3503, 3507, 3520, - - 3528, 3539, 3543, 3544, 3548, 3552, 606, 600, 608, 602, - 605, 579, 2688, 3225, 585, 568, 3927, 572, 3927, 538, - 3279, 519, 3927, 3554, 513, 3556, 3565, 3584, 3602, 3588, - 3606, 3611, 3616, 3620, 3624, 3628, 3633, 3637, 3596, 3638, - 3647, 3651, 3655, 3656, 3664, 3669, 3675, 523, 512, 512, - 476, 3927, 449, 3927, 401, 3927, 3927, 3679, 3683, 3692, - 3696, 3707, 3711, 3700, 3717, 3719, 3723, 3728, 3732, 428, - 384, 3927, 358, 3734, 3743, 3738, 3748, 354, 280, 3757, - 3769, 178, 93, 3777, 3782, 73, 3927, 3795, 3755, 3927, - 3830, 3836, 3842, 3848, 3854, 3860, 3866, 3872, 3878, 3884, - - 3890, 3896, 3902, 3908, 3914, 56, 3920 + 0, 54, 58, 68, 62, 64, 54, 72, 119, 173, + 227, 281, 335, 389, 75, 178, 3631, 4132, 79, 4132, + 3612, 4132, 3605, 76, 4132, 78, 3590, 80, 4132, 3581, + 73, 3578, 82, 3557, 163, 66, 67, 160, 3555, 3559, + 3547, 76, 161, 3556, 3525, 442, 0, 4132, 85, 3516, + 3508, 3498, 158, 151, 3492, 4132, 4132, 3540, 192, 4132, + 0, 4132, 3538, 200, 0, 3503, 264, 3476, 4132, 3518, + 156, 3465, 195, 4132, 3516, 286, 290, 4132, 295, 394, + 398, 407, 411, 420, 424, 451, 464, 470, 474, 480, + 501, 509, 517, 521, 528, 547, 532, 552, 563, 569, + + 579, 573, 584, 594, 610, 604, 614, 621, 625, 629, + 634, 641, 651, 656, 403, 673, 4132, 682, 449, 691, + 693, 4132, 699, 703, 713, 567, 619, 717, 642, 719, + 728, 743, 747, 754, 756, 758, 771, 773, 778, 786, + 795, 801, 812, 816, 821, 825, 826, 832, 833, 838, + 839, 843, 850, 870, 4132, 888, 196, 199, 3501, 194, + 288, 204, 289, 72, 439, 294, 290, 292, 272, 379, + 276, 458, 485, 205, 892, 405, 896, 464, 479, 388, + 401, 675, 658, 864, 907, 4132, 911, 4132, 915, 505, + 4132, 3494, 4132, 3483, 502, 3479, 3476, 547, 3458, 3463, + + 3448, 189, 3447, 3449, 3440, 3439, 3436, 3416, 443, 3405, + 3409, 3405, 3397, 3393, 3392, 3377, 3384, 3389, 3376, 3364, + 3377, 3367, 3360, 493, 3341, 0, 0, 4132, 3324, 3316, + 3312, 278, 3295, 0, 618, 3298, 3298, 3292, 3309, 369, + 3278, 3265, 4132, 4132, 4132, 3311, 661, 0, 4132, 0, + 3293, 731, 3268, 3256, 373, 3228, 3226, 4132, 659, 3214, + 919, 735, 4132, 3263, 4132, 901, 923, 927, 933, 4132, + 938, 952, 4132, 942, 958, 964, 979, 973, 987, 993, + 1001, 1008, 1014, 1022, 1028, 1032, 1038, 1043, 1049, 1070, + 1075, 1080, 1087, 1092, 1096, 1102, 1107, 1117, 1124, 1131, + + 1139, 1145, 1149, 1154, 1163, 1174, 1170, 1180, 1211, 4132, + 1186, 0, 1198, 1215, 1227, 1235, 1239, 1221, 1250, 1259, + 1243, 1274, 1278, 1285, 1018, 1100, 1296, 1300, 4132, 1304, + 1322, 4132, 1308, 1326, 1155, 1345, 1331, 1338, 1339, 1353, + 1357, 1355, 1363, 1361, 1373, 1382, 1384, 1392, 1403, 1405, + 1204, 1410, 1412, 1419, 1426, 1427, 1431, 1433, 1432, 1449, + 1437, 1450, 1461, 1474, 1475, 1476, 1480, 1490, 4132, 1506, + 1481, 0, 1520, 1525, 1530, 1515, 1500, 1535, 1537, 1546, + 1552, 1547, 1554, 1559, 1584, 4132, 1596, 1567, 1577, 4132, + 3251, 730, 773, 549, 578, 641, 569, 703, 833, 308, + + 809, 838, 397, 849, 518, 834, 300, 737, 764, 855, + 719, 516, 844, 935, 937, 657, 786, 966, 1037, 1604, + 4132, 865, 0, 977, 1022, 960, 945, 1055, 1065, 939, + 448, 1589, 1608, 1614, 1621, 4132, 1626, 1633, 1637, 1645, + 4132, 1651, 3242, 3223, 3207, 3193, 3187, 3194, 3179, 3175, + 3160, 3152, 3160, 3143, 3129, 3132, 3122, 998, 3130, 3116, + 3104, 3110, 3109, 3100, 3101, 3086, 3088, 1050, 3069, 3079, + 3075, 3077, 3051, 1658, 3042, 1267, 3041, 3052, 3036, 3019, + 3033, 1663, 1667, 1674, 4132, 1682, 1686, 4132, 1690, 1694, + 1700, 1704, 1708, 1721, 1726, 1731, 1739, 1743, 1748, 1752, + + 1766, 1774, 1783, 1791, 1787, 1797, 1801, 1805, 1828, 1832, + 1836, 1840, 1844, 1852, 1863, 1867, 1871, 1887, 1891, 1881, + 1906, 1912, 1918, 1922, 1926, 1931, 1935, 1944, 1949, 1981, + 4132, 1988, 1995, 1809, 1936, 1965, 2000, 1973, 2007, 1957, + 2012, 2008, 2013, 2021, 2019, 2027, 2026, 2038, 2042, 2051, + 2047, 2061, 2072, 2065, 2073, 2079, 2081, 2085, 2093, 2099, + 2100, 2111, 2107, 2113, 2137, 2151, 2155, 1813, 2125, 2142, + 2159, 2160, 2164, 1182, 1135, 752, 607, 1031, 1075, 1272, + 1208, 1103, 1279, 1049, 1237, 1157, 782, 1302, 1124, 1168, + 1348, 1107, 1245, 1214, 1192, 1400, 1301, 1607, 1359, 1360, + + 1317, 1233, 1406, 2168, 1372, 2172, 1455, 597, 1445, 957, + 2204, 4132, 2210, 3032, 3032, 3014, 3020, 3023, 3006, 2985, + 2992, 2996, 2972, 2977, 2975, 2961, 2958, 2962, 2947, 2934, + 2932, 2933, 2928, 2902, 2902, 2908, 2907, 2898, 2870, 2887, + 2884, 2883, 2870, 2858, 2831, 2214, 4132, 2832, 2141, 2821, + 2819, 2826, 2181, 2832, 2218, 4132, 2225, 2229, 4132, 2234, + 2239, 2244, 2248, 2187, 2252, 2266, 2261, 2276, 2270, 2287, + 2296, 2301, 2305, 2311, 2315, 2324, 2331, 2343, 2356, 2362, + 2368, 2374, 2378, 2382, 2386, 2391, 2406, 2413, 2428, 2432, + 2437, 2443, 2454, 2458, 2448, 2469, 2474, 2478, 2483, 2489, + + 2459, 2086, 2274, 2498, 2512, 2520, 2354, 2504, 2526, 2527, + 2463, 2528, 2536, 2541, 2542, 2543, 2557, 2568, 2573, 2549, + 2547, 2566, 2587, 2588, 2589, 2594, 2598, 2600, 2596, 2612, + 2616, 2626, 2635, 2639, 2641, 2646, 2647, 2651, 1476, 1385, + 1198, 1273, 1434, 1493, 1563, 1530, 1552, 1487, 1645, 1383, + 1570, 1243, 1582, 1547, 1619, 1601, 1667, 1702, 1668, 1361, + 1631, 1687, 1698, 1599, 1742, 1759, 1785, 1449, 1644, 1503, + 1714, 1721, 1726, 2653, 2811, 2819, 2806, 2817, 4132, 2786, + 2784, 2779, 4132, 2756, 2741, 2736, 2723, 2718, 2695, 2695, + 1749, 2690, 4132, 4132, 2677, 2676, 2685, 2656, 2638, 2646, + + 2610, 4132, 4132, 2605, 2607, 2578, 2573, 4132, 2572, 2569, + 2350, 2543, 2553, 2658, 2670, 2665, 2697, 2676, 2711, 2715, + 2721, 2727, 2735, 2739, 2743, 2759, 2764, 2778, 2782, 2787, + 2791, 2796, 2802, 2808, 2813, 2822, 2826, 2831, 2848, 2852, + 2857, 2863, 2868, 2872, 2876, 2880, 2887, 2892, 2903, 2907, + 2911, 2719, 2765, 2817, 2919, 2704, 2915, 2924, 2931, 2770, + 2935, 2949, 2953, 2961, 2965, 2969, 2954, 2970, 2977, 2976, + 2988, 2993, 2995, 3008, 3015, 3014, 3019, 3020, 3030, 3034, + 3035, 3042, 3040, 3046, 3054, 3058, 3062, 3069, 3074, 1795, + 1867, 1708, 1809, 1875, 1919, 1942, 1948, 2007, 2121, 2163, + + 2169, 1864, 1995, 2401, 2029, 1868, 1945, 2181, 2186, 1837, + 2232, 1531, 2066, 1988, 1930, 951, 2211, 2023, 2542, 2541, + 2525, 4132, 2505, 4132, 4132, 4132, 4132, 4132, 4132, 4132, + 2478, 1954, 2460, 2448, 2394, 2390, 2370, 4132, 4132, 2345, + 4132, 2314, 2325, 2311, 2271, 2188, 2159, 2136, 4132, 2163, + 3089, 3101, 3106, 3113, 3120, 3127, 3131, 3136, 3141, 3145, + 3151, 3155, 3162, 3168, 3180, 3190, 3186, 3194, 3211, 3203, + 3215, 3225, 3229, 3233, 3242, 3238, 3246, 3250, 3257, 3268, + 3273, 3166, 3277, 3284, 3173, 3289, 3263, 3288, 3298, 3302, + 3303, 3307, 3308, 3315, 3316, 3326, 3327, 3333, 3337, 3342, + + 3353, 3357, 3358, 3364, 3365, 3371, 3377, 3372, 3379, 3383, + 3388, 3396, 2245, 2280, 2317, 2094, 2331, 2486, 2041, 1244, + 2384, 2408, 2425, 2298, 2242, 2495, 2355, 2251, 1842, 1016, + 2338, 4132, 4132, 4132, 2107, 4132, 2066, 2024, 1944, 1938, + 4132, 4132, 4132, 1932, 1908, 4132, 1903, 1900, 1865, 2444, + 1822, 1853, 3402, 3409, 3414, 3423, 3428, 3439, 3444, 3449, + 3453, 3458, 3468, 3479, 3484, 3490, 3496, 3500, 3506, 3521, + 3525, 3531, 3440, 3469, 3507, 3535, 3511, 3537, 3546, 3550, + 3551, 3552, 3556, 3563, 3578, 3569, 3580, 3590, 3594, 3595, + 3606, 3607, 2607, 2137, 2511, 2400, 2620, 2644, 2101, 2673, + + 2191, 1158, 3608, 2246, 4132, 1799, 1757, 1701, 1591, 4132, + 1511, 4132, 1444, 2942, 3060, 1257, 3080, 3615, 3620, 3625, + 3635, 3652, 3662, 3666, 3672, 3678, 3682, 3687, 3691, 3697, + 3621, 3692, 3701, 3673, 3641, 3710, 3712, 3719, 3721, 3729, + 3735, 3741, 3742, 2691, 2733, 2679, 2663, 2763, 2310, 3747, + 3751, 1207, 1090, 4132, 918, 4132, 845, 3220, 782, 4132, + 3753, 674, 3761, 3766, 3770, 3783, 3788, 3798, 3807, 3811, + 3815, 3820, 3825, 3776, 3826, 3830, 3832, 3838, 3839, 3846, + 3850, 3852, 3854, 3864, 2775, 2742, 2830, 2413, 4132, 667, + 4132, 498, 4132, 4132, 3881, 3891, 3905, 3909, 3918, 3922, + + 3892, 3910, 3896, 3926, 3930, 3931, 2970, 1749, 4132, 435, + 3935, 3940, 3944, 3948, 2418, 383, 3950, 3957, 2471, 185, + 3975, 3970, 3062, 4132, 3979, 3965, 4132, 4017, 4023, 4029, + 4035, 4041, 4047, 4053, 4059, 4065, 4071, 4077, 4083, 4089, + 4095, 4101, 4107, 4113, 4119, 104, 4125 } ; -static yyconst flex_int16_t yy_def[1208] = +static yyconst flex_int16_t yy_def[1248] = { 0, - 1190, 1, 1191, 1192, 1193, 1193, 1194, 1194, 1190, 9, - 1190, 11, 1190, 13, 1195, 1195, 1190, 1190, 1190, 1190, - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, - 1190, 1190, 1190, 1196, 1190, 1190, 1190, 1190, 1190, 1190, - 1190, 1190, 1190, 1190, 1190, 1197, 1190, 1198, 1190, 1190, - 1199, 1198, 1198, 1198, 1200, 1190, 1190, 1200, 1200, 1201, - 1190, 1190, 1202, 1190, 1190, 1190, 1202, 1202, 1202, 1202, - 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, - 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 43, 1203, - - 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1204, 1190, - 1190, 1190, 1204, 1204, 1190, 1204, 1204, 1204, 1204, 1204, - 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, - 1204, 1204, 1204, 1204, 43, 1205, 1204, 1204, 1204, 1204, - 1204, 1204, 1204, 1204, 1190, 1190, 1190, 1206, 1206, 1206, - 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, - 1206, 1206, 1206, 1206, 1206, 1190, 1206, 43, 1206, 1206, - 1206, 1206, 1206, 1206, 1207, 1190, 1190, 1190, 1190, 1207, - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, - - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, - 43, 1196, 1190, 1190, 1190, 1190, 1190, 1190, 1196, 1190, - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, - 1190, 1190, 1198, 1190, 1198, 1190, 1198, 1198, 1198, 1198, - 1200, 1200, 1190, 1200, 1200, 1200, 1201, 1190, 1190, 1190, - 1202, 1202, 1202, 1190, 1190, 1190, 1190, 1190, 1202, 1202, - 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, - 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, - 1202, 1202, 1202, 1202, 1202, 1202, 1190, 1202, 99, 1203, - 1203, 1203, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, - - 1202, 1204, 1204, 1204, 1190, 1190, 1190, 1190, 1190, 1204, - 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, - 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, - 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1190, 1190, 1204, - 135, 1205, 1205, 1205, 1204, 1204, 1204, 1204, 1204, 1204, - 1204, 1204, 1204, 1190, 1190, 1190, 1190, 1190, 1190, 1206, - 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, - 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, - 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1190, 1190, 1206, - 168, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1207, - - 1207, 1207, 1190, 1190, 1190, 1190, 1190, 1207, 1190, 1190, - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1198, 1200, 1200, - 1200, 1190, 1190, 1202, 1190, 1190, 1202, 1202, 1202, 1202, - 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, - 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, - 1202, 1202, 1202, 1202, 1202, 1202, 1203, 1202, 1202, 1202, - 1202, 1202, 1202, 1202, 1204, 1190, 1190, 1204, 1204, 1204, - - 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, - 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, - 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1205, 1196, 1204, - 1204, 1204, 1204, 1204, 1204, 1204, 1206, 1206, 1206, 1206, - 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, - 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, - 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, - 1206, 1206, 1206, 1207, 1190, 1190, 1190, 1190, 1190, 1190, - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, - - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, - 1190, 1190, 1190, 1190, 1190, 1190, 1198, 1200, 1190, 1190, - 1200, 1190, 1190, 1202, 1202, 1202, 1202, 1202, 1202, 1202, - 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, - 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, - 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, - 1202, 1202, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, - 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, - 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, - 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, - - 1204, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, - 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, - 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, - 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1190, 1190, 1190, - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, - 1190, 1190, 1190, 1190, 1190, 1198, 1202, 1202, 1202, 1202, - 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, - 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, - - 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, - 1202, 1202, 1202, 1202, 1204, 1204, 1204, 1204, 1204, 1204, - 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, - 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, - 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, - 1204, 1204, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, - 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, - 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, - 1206, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, - - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, - 1190, 1190, 1198, 1202, 1202, 1202, 1202, 1202, 1202, 1202, - 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, - 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, - 1202, 1202, 1202, 1202, 1204, 1204, 1204, 1204, 1204, 1204, - 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, - 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, - 1204, 1204, 1204, 1204, 1204, 1206, 1206, 1206, 1206, 1206, - 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, - 1206, 1206, 1206, 1206, 1190, 1190, 1190, 1190, 1190, 1190, - - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, - 1190, 1190, 1190, 1190, 1198, 1202, 1202, 1202, 1202, 1202, - 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, - 1202, 1202, 1202, 1202, 1202, 1204, 1204, 1204, 1204, 1204, - 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, - 1204, 1204, 1204, 1204, 1204, 1206, 1206, 1206, 1206, 1206, - 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1190, 1190, 1190, - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, - 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, - 1202, 1202, 1202, 1204, 1204, 1204, 1204, 1204, 1204, 1204, - - 1204, 1204, 1204, 1204, 1204, 1204, 1206, 1206, 1206, 1206, - 1206, 1206, 1206, 1206, 1190, 1190, 1190, 1190, 1190, 1190, - 1190, 1190, 1190, 1190, 1190, 1202, 1202, 1202, 1202, 1202, - 1202, 1202, 1202, 1202, 1202, 1202, 1204, 1204, 1204, 1204, - 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1206, 1206, 1206, - 1206, 1190, 1190, 1190, 1190, 1190, 1190, 1202, 1202, 1202, - 1202, 1202, 1202, 1204, 1204, 1204, 1204, 1204, 1204, 1206, - 1206, 1190, 1190, 1202, 1202, 1204, 1204, 1206, 1190, 1202, - 1204, 1206, 1190, 1202, 1204, 1206, 1190, 1202, 1204, 0, - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, - - 1190, 1190, 1190, 1190, 1190, 1190, 1190 + 1227, 1, 1228, 1229, 1230, 1230, 1231, 1231, 1227, 9, + 1227, 11, 1227, 13, 1232, 1232, 1227, 1227, 1227, 1227, + 1227, 1227, 1233, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1227, 1227, 1227, 1227, 1227, 1234, 1227, 1227, 1227, + 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1235, 1227, + 1236, 1227, 1227, 1237, 1236, 1236, 1236, 1238, 1227, 1227, + 1238, 1238, 1239, 1227, 1227, 1240, 1227, 1227, 1227, 1240, + 1241, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + + 1240, 1240, 1240, 1240, 46, 1242, 1240, 1240, 1240, 1240, + 1240, 1240, 1240, 1240, 1243, 1227, 1227, 1227, 1243, 1244, + 1243, 1227, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, + 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, + 1243, 1243, 1243, 46, 1245, 1243, 1243, 1243, 1243, 1243, + 1243, 1243, 1243, 1227, 1227, 1227, 1246, 1246, 1246, 1246, + 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, + 1246, 1246, 1246, 1246, 1227, 1246, 46, 1246, 1246, 1246, + 1246, 1246, 1246, 1247, 1227, 1227, 1227, 1227, 1247, 1227, + 1227, 1233, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + + 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1227, 1227, 1227, 1227, 46, 1234, 1227, 1227, 1227, + 1227, 1227, 1227, 1234, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1236, 1227, 1236, + 1227, 1236, 1236, 1236, 1236, 1238, 1238, 1227, 1238, 1238, + 1238, 1239, 1227, 1227, 1227, 1240, 1240, 1240, 1227, 1227, + 1227, 1227, 1227, 1241, 1241, 1240, 1241, 1240, 1240, 1240, + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1227, + 1240, 105, 1242, 1242, 1242, 1240, 1240, 1240, 1240, 1240, + 1240, 1240, 1240, 1240, 1243, 1243, 1243, 1227, 1227, 1227, + 1227, 1227, 1244, 1244, 1243, 1244, 1243, 1243, 1243, 1243, + 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, + 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, + 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1227, 1227, + 1243, 144, 1245, 1245, 1245, 1243, 1243, 1243, 1243, 1243, + 1243, 1243, 1243, 1243, 1227, 1227, 1227, 1227, 1227, 1227, + 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, + + 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, + 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1227, + 1227, 1246, 177, 1246, 1246, 1246, 1246, 1246, 1246, 1246, + 1246, 1247, 1247, 1247, 1227, 1227, 1227, 1227, 1227, 1247, + 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + 1236, 1238, 1238, 1238, 1227, 1227, 1240, 1227, 1227, 1241, + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 1240, 1242, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1243, + 1227, 1227, 1244, 1243, 1243, 1243, 1243, 1243, 1243, 1243, + 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, + 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, + 1243, 1243, 1243, 1243, 1245, 1234, 1243, 1243, 1243, 1243, + 1243, 1243, 1243, 1246, 1246, 1246, 1246, 1246, 1246, 1246, + 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, + 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, + + 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, + 1247, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1227, 1227, 1236, 1238, 1227, 1227, 1238, 1227, 1227, + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1243, + + 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, + 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, + 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, + 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1246, 1246, + 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, + 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, + 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, + 1246, 1246, 1246, 1246, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + + 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1227, 1236, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 1240, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, + 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, + 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, + 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1246, + 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, + + 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, + 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1227, 1227, + 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1236, + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 1240, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, + 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, + + 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, + 1243, 1243, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, + 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, + 1246, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1236, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 1240, 1240, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, + 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, + 1243, 1243, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, + + 1246, 1246, 1246, 1246, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1240, 1240, 1240, + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, + 1243, 1243, 1243, 1246, 1246, 1246, 1246, 1246, 1246, 1246, + 1246, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1227, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 1240, 1240, 1240, 1243, 1243, 1243, 1243, 1243, 1243, 1243, + 1243, 1243, 1243, 1243, 1246, 1246, 1246, 1246, 1227, 1227, + 1227, 1227, 1227, 1227, 1240, 1240, 1240, 1240, 1240, 1240, + + 1243, 1243, 1243, 1243, 1243, 1243, 1246, 1246, 1227, 1227, + 1240, 1240, 1243, 1243, 1246, 1227, 1240, 1243, 1246, 1227, + 1240, 1243, 1246, 1227, 1240, 1243, 0, 1227, 1227, 1227, + 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1227, 1227, 1227, 1227, 1227, 1227 } ; -static yyconst flex_int16_t yy_nxt[3980] = +static yyconst flex_int16_t yy_nxt[4188] = { 0, - 18, 19, 20, 21, 19, 18, 22, 23, 24, 23, - 25, 26, 18, 27, 28, 29, 18, 30, 18, 18, - 31, 18, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 18, 18, 41, 18, 18, 42, 18, 18, 18, + 18, 19, 20, 21, 19, 18, 22, 23, 18, 24, + 25, 26, 27, 28, 29, 18, 30, 31, 32, 18, + 33, 18, 18, 34, 18, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 18, 18, 44, 18, 18, 45, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 43, 71, 72, 43, 44, 54, 55, 56, - 57, 360, 45, 53, 59, 60, 61, 62, 66, 67, - 66, 67, 71, 72, 181, 46, 198, 181, 63, 185, - 176, 177, 178, 176, 1187, 188, 186, 179, 47, 189, - 199, 220, 196, 48, 200, 49, 190, 50, 205, 192, - - 51, 52, 193, 197, 1187, 199, 194, 207, 64, 195, - 206, 201, 68, 180, 68, 208, 226, 69, 227, 69, - 73, 74, 75, 76, 74, 73, 77, 78, 79, 78, - 80, 81, 73, 82, 83, 84, 73, 85, 73, 73, - 86, 73, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 73, 73, 96, 97, 73, 98, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 99, 239, 224, 99, 100, 176, 177, 178, - 176, 398, 101, 399, 179, 229, 231, 232, 230, 234, - 236, 237, 244, 248, 249, 102, 225, 245, 363, 370, - - 366, 374, 371, 240, 367, 364, 372, 383, 103, 373, - 180, 368, 375, 104, 414, 105, 415, 106, 1186, 384, - 107, 108, 109, 110, 111, 112, 110, 109, 113, 114, - 115, 114, 116, 117, 109, 118, 119, 120, 109, 121, - 109, 109, 122, 109, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 109, 109, 132, 133, 109, 134, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 135, 376, 378, 135, 136, 252, - 303, 252, 252, 303, 137, 254, 255, 256, 254, 377, - 385, 392, 396, 379, 422, 441, 427, 138, 386, 388, - - 389, 388, 388, 181, 438, 377, 181, 439, 423, 226, - 139, 227, 253, 304, 397, 140, 244, 141, 257, 142, - 1183, 245, 143, 144, 18, 145, 146, 147, 145, 18, - 22, 23, 24, 148, 149, 26, 150, 151, 152, 153, - 150, 154, 150, 150, 155, 150, 156, 157, 158, 159, - 160, 161, 162, 163, 164, 150, 150, 165, 166, 150, - 167, 150, 150, 150, 150, 150, 150, 150, 150, 150, - 150, 150, 150, 150, 18, 18, 168, 248, 249, 168, - 44, 256, 258, 256, 256, 252, 45, 252, 252, 252, - 239, 252, 252, 540, 252, 541, 252, 252, 259, 169, - - 252, 1182, 252, 252, 252, 1179, 252, 252, 252, 259, - 252, 252, 170, 252, 257, 252, 252, 171, 253, 172, - 240, 173, 253, 263, 174, 52, 211, 253, 1178, 211, - 212, 261, 252, 253, 252, 252, 213, 253, 262, 1172, - 252, 253, 252, 252, 303, 1173, 253, 303, 260, 224, - 252, 283, 252, 252, 396, 252, 548, 252, 252, 284, - 1172, 252, 214, 252, 252, 253, 896, 215, 264, 216, - 549, 225, 265, 253, 217, 218, 397, 304, 252, 266, - 252, 252, 897, 253, 267, 229, 231, 232, 253, 252, - 280, 252, 252, 252, 253, 252, 252, 567, 553, 252, - - 279, 252, 252, 982, 252, 268, 252, 252, 269, 272, - 274, 253, 270, 1171, 252, 271, 252, 252, 564, 983, - 273, 565, 253, 1154, 275, 276, 253, 252, 1170, 252, - 252, 278, 253, 252, 1152, 252, 252, 253, 286, 287, - 286, 286, 277, 602, 591, 281, 603, 253, 285, 252, - 716, 252, 252, 289, 255, 256, 289, 282, 592, 291, - 253, 291, 291, 1157, 717, 252, 253, 252, 252, 1156, - 252, 253, 252, 252, 252, 1155, 252, 252, 234, 236, - 237, 293, 253, 1154, 1153, 288, 257, 252, 1000, 252, - 252, 252, 292, 252, 252, 275, 1152, 303, 253, 252, - - 303, 252, 252, 253, 1001, 1057, 252, 253, 252, 252, - 252, 727, 252, 252, 728, 1151, 1119, 294, 1150, 1117, - 253, 1058, 297, 1149, 253, 305, 306, 307, 305, 1148, - 304, 1123, 253, 303, 295, 296, 303, 1120, 303, 253, - 299, 303, 300, 253, 298, 307, 309, 307, 307, 311, - 303, 303, 303, 303, 303, 303, 312, 1119, 308, 301, - 310, 310, 1118, 313, 303, 314, 304, 303, 1117, 303, - 1116, 304, 303, 303, 303, 1115, 303, 303, 308, 1114, - 1113, 1112, 315, 304, 304, 304, 316, 1075, 303, 319, - 323, 303, 320, 317, 1111, 1073, 321, 304, 318, 322, - - 303, 324, 304, 303, 1110, 303, 304, 304, 303, 303, - 303, 325, 303, 303, 303, 329, 303, 303, 1109, 303, - 327, 304, 1108, 1107, 1068, 326, 303, 330, 1015, 303, - 1080, 336, 332, 304, 1077, 1076, 1075, 328, 304, 331, - 1074, 1073, 304, 304, 333, 303, 1072, 304, 303, 304, - 337, 338, 339, 337, 303, 1071, 334, 303, 303, 304, - 303, 303, 340, 303, 335, 341, 306, 307, 341, 343, - 303, 219, 343, 303, 1070, 1069, 219, 303, 304, 1068, - 303, 345, 303, 304, 1067, 303, 303, 304, 1066, 303, - 1065, 304, 1064, 304, 1063, 326, 303, 1009, 308, 303, - - 1062, 346, 344, 304, 1061, 349, 401, 347, 1006, 401, - 304, 354, 355, 356, 354, 304, 1005, 1004, 1060, 304, - 351, 348, 352, 358, 359, 358, 358, 350, 1059, 304, - 391, 355, 356, 391, 403, 404, 405, 403, 999, 402, - 407, 404, 407, 407, 357, 353, 408, 409, 410, 408, - 451, 452, 453, 451, 1056, 252, 357, 252, 252, 252, - 997, 252, 252, 357, 996, 995, 1015, 406, 454, 455, - 454, 454, 1014, 406, 254, 255, 256, 254, 1013, 402, - 256, 255, 256, 256, 456, 287, 456, 456, 253, 1012, - 1011, 303, 253, 252, 303, 252, 252, 1010, 1009, 1008, - - 449, 253, 259, 252, 1007, 252, 252, 257, 252, 1006, - 252, 252, 252, 257, 252, 252, 1005, 1004, 252, 458, - 252, 252, 1003, 1002, 304, 457, 253, 252, 612, 252, - 252, 612, 303, 999, 459, 303, 253, 252, 998, 252, - 252, 253, 462, 997, 460, 253, 461, 252, 463, 252, - 252, 253, 252, 996, 252, 252, 252, 995, 252, 252, - 253, 252, 994, 252, 252, 304, 464, 465, 993, 992, - 253, 466, 252, 991, 252, 252, 252, 613, 252, 252, - 253, 990, 989, 468, 252, 253, 252, 252, 988, 253, - 467, 904, 987, 252, 253, 252, 252, 469, 252, 902, - - 252, 252, 901, 470, 303, 253, 471, 303, 252, 253, - 252, 252, 252, 310, 252, 252, 986, 253, 472, 252, - 985, 252, 252, 984, 981, 473, 253, 252, 980, 252, - 252, 253, 474, 893, 892, 475, 252, 304, 252, 252, - 252, 253, 252, 252, 891, 253, 477, 478, 252, 476, - 252, 252, 253, 252, 890, 252, 252, 889, 888, 479, - 253, 252, 887, 252, 252, 481, 979, 885, 252, 253, - 252, 252, 303, 253, 252, 303, 252, 252, 480, 978, - 977, 253, 976, 483, 913, 482, 253, 286, 287, 286, - 286, 505, 912, 484, 253, 252, 485, 252, 252, 911, - - 291, 253, 291, 291, 910, 304, 291, 253, 291, 291, - 487, 455, 487, 487, 252, 909, 252, 252, 908, 252, - 253, 252, 252, 252, 907, 252, 252, 252, 253, 252, - 252, 906, 486, 292, 252, 905, 252, 252, 904, 292, - 488, 473, 903, 292, 902, 492, 252, 253, 252, 252, - 901, 252, 253, 252, 252, 900, 253, 490, 899, 489, - 253, 898, 252, 491, 252, 252, 895, 253, 252, 297, - 252, 252, 495, 496, 497, 495, 894, 893, 892, 253, - 305, 306, 307, 305, 253, 307, 306, 307, 307, 891, - 303, 298, 493, 303, 890, 253, 339, 338, 339, 339, - - 303, 253, 889, 303, 303, 304, 303, 303, 494, 303, - 888, 499, 498, 308, 303, 887, 303, 303, 308, 303, - 886, 303, 885, 304, 303, 303, 500, 504, 303, 503, - 884, 883, 501, 304, 502, 303, 506, 304, 303, 304, - 507, 303, 303, 303, 303, 303, 303, 304, 303, 304, - 303, 303, 509, 303, 304, 882, 303, 881, 304, 303, - 303, 880, 879, 303, 508, 512, 510, 303, 304, 511, - 303, 519, 878, 513, 304, 304, 304, 514, 877, 303, - 515, 304, 303, 304, 303, 303, 876, 303, 303, 304, - 516, 303, 766, 304, 303, 303, 303, 765, 303, 303, - - 304, 875, 874, 518, 520, 303, 873, 522, 303, 517, - 872, 303, 304, 523, 303, 871, 303, 304, 304, 303, - 870, 521, 612, 303, 304, 612, 303, 524, 304, 304, - 525, 869, 757, 526, 337, 338, 339, 337, 304, 339, - 338, 339, 339, 343, 304, 219, 343, 756, 303, 304, - 219, 303, 343, 527, 219, 343, 304, 303, 868, 219, - 303, 528, 496, 529, 528, 867, 303, 304, 219, 303, - 303, 613, 866, 303, 530, 514, 344, 303, 865, 303, - 303, 304, 303, 303, 303, 344, 303, 303, 534, 358, - 304, 358, 358, 401, 344, 401, 401, 531, 401, 304, - - 532, 612, 349, 304, 612, 864, 533, 863, 862, 861, - 304, 774, 304, 860, 774, 746, 304, 304, 354, 355, - 356, 354, 357, 859, 350, 535, 402, 858, 402, 536, - 358, 355, 358, 358, 388, 389, 388, 388, 388, 389, - 388, 388, 574, 575, 576, 574, 403, 404, 405, 403, - 613, 357, 407, 404, 407, 407, 410, 409, 410, 410, - 775, 857, 407, 357, 407, 407, 408, 409, 410, 408, - 410, 409, 410, 410, 742, 402, 856, 855, 854, 406, - 609, 610, 609, 609, 853, 406, 618, 619, 620, 618, - 621, 622, 623, 621, 776, 406, 773, 772, 771, 402, - - 451, 452, 453, 451, 453, 452, 453, 453, 454, 455, - 454, 454, 456, 287, 456, 456, 252, 770, 252, 252, - 252, 769, 252, 252, 768, 767, 252, 624, 252, 252, - 766, 252, 765, 252, 252, 252, 449, 252, 252, 764, - 449, 253, 763, 252, 625, 252, 252, 762, 628, 253, - 242, 626, 252, 253, 252, 252, 761, 760, 759, 253, - 627, 758, 629, 252, 253, 252, 252, 757, 253, 630, - 252, 756, 252, 252, 755, 754, 253, 252, 753, 252, - 252, 252, 752, 252, 252, 253, 632, 252, 633, 252, - 252, 252, 631, 252, 252, 303, 253, 252, 303, 252, - - 252, 751, 634, 253, 252, 303, 252, 252, 303, 635, - 253, 750, 669, 749, 253, 636, 252, 640, 252, 252, - 253, 748, 637, 252, 253, 252, 252, 638, 304, 252, - 253, 252, 252, 252, 666, 252, 252, 253, 304, 747, - 252, 639, 252, 252, 641, 746, 745, 774, 643, 253, - 774, 774, 644, 744, 774, 743, 253, 642, 742, 741, - 740, 252, 253, 252, 252, 252, 253, 252, 252, 252, - 739, 252, 252, 253, 738, 737, 645, 252, 646, 252, - 252, 252, 736, 252, 252, 252, 567, 252, 252, 735, - 734, 647, 733, 648, 253, 732, 775, 731, 253, 730, - - 775, 252, 253, 252, 252, 252, 729, 252, 252, 649, - 253, 726, 650, 651, 253, 725, 652, 252, 253, 252, - 252, 252, 653, 252, 252, 487, 455, 487, 487, 252, - 654, 252, 252, 658, 253, 252, 658, 724, 253, 656, - 610, 656, 656, 252, 723, 252, 252, 722, 303, 721, - 253, 303, 720, 719, 253, 655, 718, 252, 292, 252, - 252, 252, 253, 252, 252, 252, 253, 252, 252, 715, - 657, 303, 253, 665, 303, 714, 253, 495, 496, 497, - 495, 304, 659, 488, 660, 497, 496, 497, 497, 303, - 253, 713, 303, 303, 253, 664, 303, 712, 253, 303, - - 663, 661, 303, 711, 304, 303, 667, 662, 303, 303, - 304, 303, 303, 303, 303, 710, 303, 709, 668, 708, - 672, 303, 304, 707, 303, 706, 304, 670, 673, 705, - 704, 703, 304, 303, 671, 702, 303, 303, 304, 617, - 303, 616, 304, 615, 304, 441, 304, 303, 303, 674, - 303, 303, 303, 614, 304, 303, 303, 675, 677, 303, - 303, 679, 676, 303, 303, 611, 304, 303, 303, 608, - 304, 303, 678, 680, 303, 682, 683, 303, 607, 303, - 304, 304, 303, 684, 681, 304, 606, 685, 303, 304, - 605, 303, 604, 304, 601, 687, 303, 304, 600, 303, - - 303, 304, 303, 303, 599, 303, 303, 304, 303, 303, - 686, 303, 304, 303, 598, 597, 303, 691, 596, 697, - 595, 304, 697, 692, 688, 594, 693, 689, 690, 304, - 593, 303, 590, 304, 303, 304, 589, 303, 588, 304, - 303, 304, 694, 587, 586, 585, 304, 528, 496, 529, - 528, 584, 304, 583, 219, 529, 496, 529, 529, 695, - 610, 609, 695, 303, 304, 582, 303, 581, 698, 580, - 304, 303, 696, 303, 303, 579, 303, 578, 699, 577, - 344, 609, 610, 609, 609, 574, 575, 576, 574, 530, - 1078, 573, 304, 1078, 572, 571, 304, 576, 575, 576, - - 576, 570, 1078, 569, 304, 1078, 304, 609, 610, 609, - 609, 700, 568, 566, 252, 701, 252, 252, 402, 618, - 619, 620, 618, 620, 619, 620, 620, 621, 622, 623, - 621, 623, 622, 623, 623, 252, 563, 252, 252, 1079, - 252, 562, 252, 252, 779, 561, 252, 253, 252, 252, - 560, 1079, 777, 778, 559, 252, 558, 252, 252, 252, - 557, 252, 252, 303, 780, 781, 303, 556, 253, 242, - 555, 554, 252, 253, 252, 252, 782, 242, 252, 253, - 252, 252, 303, 553, 252, 303, 252, 252, 253, 552, - 551, 821, 253, 784, 785, 252, 304, 252, 252, 252, - - 783, 252, 252, 826, 252, 253, 252, 252, 550, 547, - 252, 253, 252, 252, 546, 304, 252, 253, 252, 252, - 545, 544, 787, 543, 786, 788, 542, 252, 253, 252, - 252, 252, 253, 252, 252, 539, 538, 253, 789, 537, - 361, 248, 790, 253, 791, 252, 450, 252, 252, 253, - 252, 1121, 252, 252, 1121, 252, 792, 252, 252, 252, - 253, 252, 252, 449, 253, 794, 793, 242, 303, 795, - 252, 303, 252, 252, 252, 238, 252, 252, 253, 798, - 796, 816, 252, 253, 252, 252, 448, 252, 253, 252, - 252, 252, 253, 252, 252, 234, 252, 799, 252, 252, - - 1122, 304, 797, 253, 229, 447, 800, 253, 252, 446, - 252, 252, 801, 445, 1078, 253, 802, 1078, 444, 803, - 253, 443, 442, 252, 253, 252, 252, 228, 252, 253, - 252, 252, 252, 804, 252, 252, 223, 252, 805, 252, - 252, 253, 252, 222, 252, 252, 656, 610, 656, 656, - 806, 252, 221, 252, 252, 658, 253, 252, 658, 440, - 437, 253, 807, 1079, 252, 253, 252, 252, 436, 252, - 253, 252, 252, 435, 252, 253, 252, 252, 813, 253, - 252, 813, 303, 434, 253, 303, 433, 303, 253, 808, - 303, 303, 303, 809, 303, 303, 432, 253, 431, 815, - - 430, 819, 253, 303, 659, 303, 303, 253, 303, 812, - 818, 253, 429, 810, 428, 304, 811, 817, 822, 427, - 304, 426, 820, 303, 304, 304, 303, 814, 303, 303, - 425, 303, 303, 823, 424, 421, 304, 303, 304, 420, - 303, 303, 303, 303, 303, 303, 303, 419, 303, 418, - 303, 303, 825, 303, 417, 1124, 304, 824, 1124, 829, - 833, 304, 304, 303, 416, 827, 303, 828, 830, 831, - 304, 413, 412, 411, 304, 304, 304, 303, 832, 303, - 303, 304, 303, 304, 183, 303, 303, 834, 303, 303, - 303, 303, 303, 303, 303, 303, 304, 395, 394, 303, - - 303, 837, 303, 303, 1125, 838, 393, 835, 839, 836, - 304, 841, 304, 303, 390, 387, 303, 844, 304, 304, - 840, 382, 381, 304, 304, 304, 303, 303, 303, 303, - 303, 303, 304, 304, 380, 369, 842, 843, 845, 695, - 610, 609, 695, 365, 303, 697, 304, 303, 697, 303, - 303, 362, 303, 303, 303, 851, 361, 303, 851, 304, - 304, 304, 252, 361, 252, 252, 252, 250, 252, 252, - 246, 243, 304, 303, 242, 846, 303, 304, 304, 238, - 234, 915, 304, 304, 229, 228, 847, 304, 304, 850, - 914, 223, 222, 221, 698, 253, 210, 849, 848, 253, - - 252, 945, 252, 252, 852, 252, 304, 252, 252, 252, - 209, 252, 252, 204, 252, 917, 252, 252, 252, 203, - 252, 252, 252, 202, 252, 252, 303, 916, 919, 303, - 191, 187, 918, 253, 252, 184, 252, 252, 253, 183, - 183, 946, 253, 252, 920, 252, 252, 253, 182, 1190, - 1190, 253, 1190, 921, 252, 253, 252, 252, 252, 304, - 252, 252, 1190, 252, 922, 252, 252, 253, 923, 252, - 1190, 252, 252, 924, 1190, 252, 253, 252, 252, 925, - 252, 303, 252, 252, 303, 1190, 252, 253, 252, 252, - 252, 253, 252, 252, 1190, 252, 253, 252, 252, 928, - - 1190, 303, 253, 926, 303, 1190, 1190, 927, 253, 252, - 1190, 252, 252, 253, 304, 929, 1190, 930, 252, 253, - 252, 252, 1190, 253, 252, 1190, 252, 252, 253, 252, - 1190, 252, 252, 252, 304, 252, 252, 1190, 252, 933, - 252, 252, 253, 934, 1190, 1190, 252, 931, 252, 252, - 1190, 253, 252, 932, 252, 252, 936, 253, 1190, 1190, - 935, 252, 253, 252, 252, 252, 253, 252, 252, 1190, - 252, 253, 252, 252, 252, 1190, 252, 252, 252, 253, - 252, 252, 937, 1190, 252, 253, 252, 252, 252, 1121, - 252, 252, 1121, 252, 253, 252, 252, 939, 253, 938, - - 1190, 1190, 252, 253, 252, 252, 813, 253, 252, 813, - 252, 253, 252, 252, 1190, 303, 1190, 253, 303, 940, - 303, 253, 941, 303, 303, 1190, 253, 303, 942, 303, - 948, 1190, 303, 1190, 950, 253, 943, 1190, 1122, 253, - 1190, 303, 947, 253, 303, 1190, 303, 949, 304, 303, - 1190, 951, 1190, 304, 1190, 814, 952, 304, 303, 944, - 303, 303, 304, 303, 303, 1190, 303, 303, 953, 303, - 954, 1190, 303, 1190, 304, 303, 955, 303, 1190, 304, - 303, 303, 956, 303, 303, 303, 303, 303, 303, 1190, - 303, 304, 957, 304, 1190, 303, 959, 304, 303, 304, - - 303, 1190, 1190, 303, 958, 304, 303, 1190, 961, 303, - 304, 1190, 960, 1190, 304, 1190, 304, 1190, 304, 1190, - 304, 1190, 303, 303, 962, 303, 303, 303, 304, 963, - 303, 303, 964, 304, 303, 303, 968, 965, 303, 304, - 303, 967, 1190, 303, 303, 966, 303, 303, 303, 303, - 303, 303, 1190, 303, 303, 304, 304, 303, 303, 1190, - 304, 303, 303, 1190, 304, 303, 851, 970, 304, 851, - 1190, 303, 1190, 304, 303, 969, 1190, 304, 1190, 304, - 1190, 304, 1190, 304, 1190, 1190, 1190, 304, 972, 971, - 1190, 304, 1190, 973, 1190, 304, 974, 1190, 252, 304, - - 252, 252, 1190, 252, 304, 252, 252, 252, 1016, 252, - 252, 303, 1190, 1017, 303, 852, 252, 1018, 252, 252, - 975, 252, 1190, 252, 252, 252, 1190, 252, 252, 1190, - 252, 253, 252, 252, 1190, 252, 253, 252, 252, 252, - 253, 252, 252, 252, 304, 252, 252, 1190, 303, 253, - 1019, 303, 1190, 252, 253, 252, 252, 252, 253, 252, - 252, 1190, 303, 253, 252, 303, 252, 252, 253, 1190, - 1190, 1190, 253, 1190, 1020, 252, 253, 252, 252, 1190, - 252, 304, 252, 252, 1190, 1190, 253, 1190, 1021, 1190, - 253, 252, 1190, 252, 252, 304, 252, 253, 252, 252, - - 252, 1190, 252, 252, 1022, 1023, 1025, 1190, 253, 252, - 1024, 252, 252, 253, 1190, 252, 1190, 252, 252, 1026, - 252, 1190, 252, 252, 253, 1027, 1190, 1190, 252, 253, - 252, 252, 252, 253, 252, 252, 252, 1190, 252, 252, - 1190, 1190, 253, 1028, 252, 1190, 252, 252, 253, 252, - 1190, 252, 252, 253, 1030, 1190, 1190, 252, 1029, 252, - 252, 253, 1190, 303, 1031, 253, 303, 1190, 252, 253, - 252, 252, 252, 1036, 252, 252, 252, 253, 252, 252, - 1190, 252, 253, 252, 252, 303, 303, 1190, 303, 303, - 253, 1190, 1190, 1190, 303, 1037, 304, 303, 1190, 303, - - 1190, 253, 303, 1032, 1038, 253, 1190, 303, 1034, 253, - 303, 1190, 1190, 303, 253, 1033, 303, 303, 304, 304, - 303, 303, 1035, 303, 303, 1190, 303, 304, 1039, 1190, - 1190, 303, 304, 1040, 303, 1190, 303, 1190, 303, 303, - 304, 303, 303, 1190, 1041, 303, 304, 1190, 303, 1190, - 304, 303, 1045, 1190, 304, 1190, 304, 1044, 1046, 1190, - 1042, 1043, 303, 303, 304, 303, 303, 303, 1190, 304, - 303, 304, 1047, 303, 303, 304, 303, 303, 1190, 303, - 303, 304, 303, 303, 303, 1190, 303, 303, 1048, 303, - 1050, 303, 1190, 1190, 303, 304, 304, 1190, 1190, 1051, - - 304, 1049, 303, 1190, 1190, 303, 304, 304, 303, 1190, - 1190, 303, 304, 304, 1190, 1190, 1190, 304, 303, 304, - 252, 303, 252, 252, 304, 252, 1124, 252, 252, 1124, - 1190, 252, 1052, 252, 252, 304, 1190, 252, 1053, 252, - 252, 304, 1190, 252, 1054, 252, 252, 1081, 1055, 1190, - 1190, 304, 252, 253, 252, 252, 1190, 303, 253, 252, - 303, 252, 252, 1190, 253, 252, 1190, 252, 252, 252, - 253, 252, 252, 1190, 1190, 1125, 253, 1082, 1083, 252, - 1121, 252, 252, 1121, 1190, 253, 252, 1084, 252, 252, - 304, 1085, 253, 252, 1190, 252, 252, 252, 253, 252, - - 252, 303, 253, 252, 303, 252, 252, 1086, 252, 1190, - 252, 252, 253, 252, 303, 252, 252, 303, 252, 253, - 252, 252, 1190, 1088, 1190, 252, 253, 252, 252, 1122, - 253, 1190, 1087, 1089, 304, 1091, 253, 252, 1091, 1190, - 252, 253, 252, 252, 1190, 303, 253, 304, 303, 303, - 303, 253, 303, 303, 1090, 1094, 1190, 1190, 253, 303, - 303, 1190, 303, 303, 303, 1190, 303, 303, 253, 303, - 1190, 303, 1190, 253, 303, 1095, 1093, 303, 304, 1096, - 303, 1097, 304, 304, 1092, 303, 1098, 303, 303, 1190, - 303, 303, 304, 304, 303, 1099, 1190, 304, 303, 304, - - 1190, 303, 303, 303, 304, 303, 303, 1190, 1101, 1104, - 304, 1102, 1104, 1190, 303, 1190, 1100, 303, 304, 252, - 304, 252, 252, 252, 304, 252, 252, 252, 1190, 252, - 252, 304, 1190, 1190, 1190, 304, 304, 252, 1103, 252, - 252, 252, 304, 252, 252, 1126, 1190, 304, 1190, 1127, - 1106, 1128, 253, 1190, 1190, 1190, 253, 1190, 1105, 1190, - 253, 252, 1190, 252, 252, 252, 1190, 252, 252, 252, - 253, 252, 252, 1190, 253, 1130, 1129, 252, 1190, 252, - 252, 1132, 1190, 252, 1132, 1091, 1190, 252, 1091, 252, - 1190, 252, 252, 1135, 253, 252, 1135, 1190, 253, 1190, - - 303, 1190, 253, 303, 303, 1190, 303, 303, 303, 303, - 253, 303, 1131, 303, 253, 1190, 303, 303, 253, 1140, - 303, 303, 253, 1190, 303, 1190, 253, 1139, 1137, 303, - 1133, 1141, 303, 304, 1092, 1138, 1190, 304, 1134, 304, - 303, 304, 1136, 303, 1143, 1104, 304, 1143, 1104, 303, - 304, 1190, 303, 1146, 304, 1124, 1146, 252, 1124, 252, - 252, 1190, 304, 1190, 1190, 1190, 252, 1158, 252, 252, - 1190, 1190, 1190, 304, 1190, 1142, 1190, 304, 304, 1190, - 1190, 1159, 304, 1190, 1190, 252, 304, 252, 252, 252, - 253, 252, 252, 1144, 1105, 1190, 1190, 303, 1145, 253, - - 303, 1190, 1147, 252, 1125, 252, 252, 252, 1190, 252, - 252, 1190, 1132, 1160, 252, 1132, 1190, 252, 253, 252, - 252, 252, 253, 252, 252, 1135, 1190, 252, 1135, 252, - 304, 252, 252, 1190, 303, 1190, 253, 303, 303, 303, - 253, 303, 303, 1161, 1164, 253, 1190, 1190, 303, 1166, - 253, 303, 303, 1165, 253, 303, 1143, 303, 253, 1143, - 303, 1133, 253, 1190, 1190, 303, 1162, 304, 303, 1190, - 1146, 304, 304, 1146, 1136, 1190, 303, 1190, 1163, 303, - 252, 304, 252, 252, 252, 304, 252, 252, 1167, 304, - 304, 1190, 1190, 252, 1174, 252, 252, 252, 304, 252, - - 252, 303, 1190, 304, 303, 1144, 1168, 1190, 252, 304, - 252, 252, 252, 253, 252, 252, 1190, 253, 303, 1147, - 303, 303, 1190, 303, 303, 1169, 253, 303, 1176, 303, - 253, 1190, 303, 303, 304, 252, 303, 252, 252, 303, - 1175, 253, 303, 1190, 252, 253, 252, 252, 1190, 303, - 1190, 304, 303, 304, 1190, 1190, 303, 304, 252, 303, - 252, 252, 304, 1190, 1190, 1190, 304, 1177, 253, 1190, - 303, 1190, 304, 303, 1190, 1190, 1190, 253, 252, 1190, - 252, 252, 304, 303, 1190, 1190, 303, 1190, 1188, 304, - 1180, 253, 1190, 1189, 1190, 1181, 252, 1184, 252, 252, - - 1190, 1190, 1190, 304, 1190, 1190, 1190, 1190, 1190, 1185, - 1190, 253, 1190, 1190, 1190, 1190, 304, 1190, 1190, 1190, - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 253, - 53, 53, 53, 53, 53, 53, 58, 58, 58, 58, - 58, 58, 65, 65, 65, 65, 65, 65, 70, 70, - 70, 70, 70, 70, 175, 175, 175, 175, 175, 175, - 219, 219, 1190, 219, 219, 219, 230, 230, 230, 230, - 230, 230, 233, 1190, 1190, 1190, 233, 233, 235, 235, - 235, 235, 235, 235, 241, 241, 1190, 1190, 241, 241, - 247, 247, 247, 247, 247, 247, 251, 251, 1190, 251, - - 251, 251, 290, 290, 1190, 290, 290, 290, 302, 302, - 1190, 1190, 1190, 302, 342, 342, 1190, 342, 342, 342, - 400, 400, 1190, 1190, 1190, 400, 17, 1190, 1190, 1190, - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190 + 18, 18, 18, 18, 18, 46, 74, 75, 46, 47, + 57, 58, 59, 60, 69, 70, 69, 70, 48, 56, + 62, 63, 64, 65, 74, 75, 185, 186, 187, 185, + 190, 49, 213, 190, 1227, 188, 211, 66, 194, 195, + 194, 195, 197, 198, 50, 200, 214, 212, 220, 51, + + 235, 52, 201, 53, 203, 401, 54, 55, 204, 391, + 221, 71, 189, 71, 214, 205, 72, 67, 72, 76, + 77, 78, 79, 77, 76, 80, 81, 76, 82, 83, + 84, 85, 86, 87, 76, 88, 89, 90, 76, 91, + 76, 76, 92, 76, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 76, 76, 102, 103, 76, 104, 76, + 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, + 76, 76, 76, 76, 105, 215, 222, 105, 106, 185, + 186, 187, 185, 207, 223, 239, 208, 107, 188, 241, + 209, 242, 216, 210, 244, 246, 247, 263, 264, 1224, + + 108, 245, 249, 251, 252, 259, 1227, 240, 194, 392, + 260, 197, 393, 109, 394, 189, 1227, 1227, 110, 447, + 111, 448, 112, 397, 419, 113, 114, 115, 116, 117, + 118, 116, 115, 119, 120, 115, 121, 122, 123, 124, + 125, 126, 115, 127, 128, 129, 115, 130, 115, 115, + 131, 115, 132, 133, 134, 135, 136, 137, 138, 139, + 140, 115, 115, 141, 142, 115, 143, 115, 115, 115, + 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, + 115, 115, 144, 254, 1227, 144, 145, 267, 1227, 267, + 267, 269, 270, 271, 269, 146, 271, 273, 271, 271, + + 1227, 1227, 1227, 412, 1227, 408, 1227, 410, 147, 414, + 395, 398, 1227, 255, 406, 399, 241, 396, 242, 409, + 1227, 148, 400, 268, 411, 407, 149, 272, 150, 589, + 151, 581, 272, 152, 153, 18, 154, 155, 156, 154, + 18, 22, 23, 18, 24, 25, 157, 27, 158, 29, + 159, 160, 161, 162, 159, 163, 159, 159, 164, 159, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 159, + 159, 174, 175, 159, 176, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 18, 18, + 177, 1227, 254, 177, 47, 267, 239, 267, 267, 275, + + 1227, 267, 275, 48, 326, 413, 276, 326, 267, 1227, + 267, 267, 267, 1227, 267, 267, 178, 1227, 240, 278, + 279, 267, 255, 267, 267, 267, 1220, 267, 267, 179, + 584, 268, 278, 279, 180, 277, 181, 280, 182, 426, + 327, 183, 55, 226, 268, 422, 226, 227, 268, 427, + 326, 1227, 267, 326, 267, 267, 228, 268, 455, 402, + 1227, 268, 403, 281, 282, 267, 404, 267, 267, 405, + 1227, 267, 456, 267, 267, 267, 1227, 267, 267, 424, + 415, 267, 229, 267, 267, 1216, 327, 230, 268, 231, + 283, 1227, 416, 409, 232, 233, 284, 1227, 610, 286, + + 417, 268, 267, 285, 267, 267, 190, 268, 418, 190, + 267, 268, 267, 267, 197, 198, 471, 268, 267, 472, + 267, 267, 267, 287, 267, 267, 425, 288, 1227, 267, + 1227, 267, 267, 267, 289, 267, 267, 291, 268, 594, + 292, 295, 290, 297, 293, 1210, 268, 294, 267, 587, + 267, 267, 296, 267, 268, 267, 267, 298, 268, 197, + 198, 1227, 299, 301, 267, 268, 267, 267, 326, 268, + 267, 326, 267, 267, 267, 574, 267, 267, 302, 300, + 267, 1227, 267, 267, 268, 309, 310, 309, 309, 268, + 1227, 304, 308, 575, 306, 267, 303, 267, 267, 577, + + 268, 578, 307, 305, 327, 314, 268, 314, 314, 1227, + 268, 312, 270, 271, 312, 267, 268, 267, 267, 1227, + 326, 268, 267, 326, 267, 267, 267, 604, 267, 267, + 267, 268, 267, 267, 311, 267, 316, 267, 267, 342, + 742, 315, 267, 326, 267, 267, 326, 272, 474, 460, + 298, 268, 267, 1227, 267, 267, 327, 267, 268, 267, + 267, 345, 268, 244, 246, 247, 268, 576, 320, 1227, + 1227, 268, 317, 598, 328, 329, 330, 328, 268, 327, + 318, 1209, 319, 330, 332, 330, 330, 1227, 268, 322, + 321, 323, 334, 268, 326, 334, 430, 326, 431, 335, + + 326, 192, 428, 326, 326, 337, 338, 326, 259, 324, + 331, 337, 338, 260, 326, 1227, 339, 326, 326, 331, + 326, 326, 579, 326, 429, 340, 341, 1194, 336, 326, + 327, 1227, 326, 249, 251, 252, 327, 263, 264, 343, + 327, 346, 197, 393, 326, 347, 344, 326, 326, 1227, + 327, 326, 348, 593, 327, 326, 327, 326, 326, 326, + 326, 349, 326, 350, 1227, 327, 351, 354, 590, 356, + 352, 358, 326, 353, 326, 326, 1227, 326, 355, 326, + 327, 741, 326, 357, 327, 197, 393, 326, 359, 360, + 326, 327, 591, 327, 1227, 327, 326, 361, 1227, 326, + + 363, 365, 368, 369, 370, 368, 362, 599, 327, 366, + 327, 752, 364, 326, 367, 327, 326, 372, 329, 330, + 372, 1227, 374, 327, 234, 374, 326, 326, 582, 326, + 326, 234, 327, 326, 326, 1193, 326, 326, 327, 326, + 326, 376, 326, 326, 326, 1227, 1227, 326, 580, 327, + 1227, 326, 371, 331, 326, 357, 1227, 583, 375, 595, + 588, 1227, 327, 327, 585, 433, 380, 1227, 433, 327, + 327, 385, 386, 387, 385, 327, 327, 1227, 586, 377, + 327, 382, 592, 383, 378, 1192, 379, 327, 381, 389, + 390, 389, 389, 420, 421, 420, 420, 423, 386, 387, + + 423, 434, 267, 384, 267, 267, 603, 388, 435, 436, + 437, 435, 439, 436, 439, 439, 440, 441, 442, 440, + 484, 485, 486, 484, 267, 388, 267, 267, 487, 488, + 487, 487, 1191, 388, 269, 270, 271, 269, 268, 271, + 270, 271, 271, 275, 438, 267, 275, 1227, 438, 1227, + 276, 1227, 434, 489, 310, 489, 489, 1227, 596, 275, + 268, 267, 275, 1227, 268, 267, 276, 267, 267, 1227, + 272, 597, 1227, 482, 267, 272, 267, 267, 1227, 277, + 490, 488, 487, 490, 609, 607, 280, 276, 267, 1227, + 267, 267, 600, 1029, 267, 277, 267, 267, 606, 281, + + 282, 268, 267, 774, 267, 267, 280, 604, 590, 267, + 268, 267, 267, 628, 491, 267, 277, 267, 267, 326, + 281, 282, 326, 267, 268, 267, 267, 629, 1227, 267, + 268, 267, 267, 267, 1227, 267, 267, 493, 268, 267, + 492, 267, 267, 1227, 267, 268, 267, 267, 743, 1227, + 267, 268, 267, 267, 494, 327, 1103, 497, 498, 268, + 601, 1227, 495, 602, 496, 268, 605, 1227, 749, 268, + 608, 267, 499, 267, 267, 268, 267, 1227, 267, 267, + 268, 267, 639, 267, 267, 640, 268, 1227, 267, 500, + 267, 267, 428, 267, 501, 267, 267, 267, 744, 267, + + 267, 326, 503, 267, 326, 267, 267, 268, 267, 1190, + 267, 267, 268, 502, 429, 1227, 504, 268, 267, 1227, + 267, 267, 506, 505, 268, 267, 758, 267, 267, 268, + 747, 507, 267, 268, 267, 267, 1227, 327, 508, 268, + 267, 755, 267, 267, 268, 509, 267, 1227, 267, 267, + 267, 510, 267, 267, 268, 267, 326, 267, 267, 326, + 513, 268, 512, 740, 267, 511, 267, 267, 268, 1227, + 1227, 267, 514, 267, 267, 267, 268, 267, 267, 516, + 1227, 267, 268, 267, 267, 751, 268, 267, 515, 267, + 267, 268, 327, 756, 1227, 517, 518, 739, 1150, 314, + + 268, 314, 314, 519, 1227, 326, 520, 268, 326, 761, + 1227, 268, 309, 310, 309, 309, 314, 268, 314, 314, + 1227, 1189, 267, 268, 267, 267, 1227, 521, 522, 488, + 522, 522, 892, 760, 746, 315, 267, 545, 267, 267, + 267, 327, 267, 267, 267, 1227, 267, 267, 268, 1227, + 769, 267, 315, 267, 267, 1227, 1227, 1227, 268, 525, + 267, 759, 267, 267, 315, 523, 508, 1097, 649, 750, + 320, 649, 268, 901, 527, 267, 268, 267, 267, 267, + 268, 267, 267, 524, 1227, 1227, 267, 268, 267, 267, + 526, 1227, 321, 745, 748, 893, 268, 530, 531, 532, + + 530, 328, 329, 330, 328, 330, 329, 330, 330, 334, + 1160, 268, 334, 1227, 1227, 268, 335, 753, 192, 528, + 650, 763, 268, 370, 369, 370, 370, 334, 529, 1227, + 334, 754, 326, 327, 335, 326, 192, 331, 768, 326, + 326, 331, 326, 326, 339, 336, 533, 531, 532, 533, + 340, 341, 339, 335, 326, 192, 326, 326, 326, 326, + 1227, 326, 326, 336, 326, 326, 534, 326, 327, 340, + 341, 1227, 1227, 1227, 326, 327, 327, 326, 536, 767, + 757, 535, 336, 326, 1227, 326, 326, 537, 326, 907, + 327, 766, 327, 326, 327, 1227, 326, 1227, 327, 541, + + 327, 540, 891, 538, 326, 539, 326, 326, 899, 326, + 327, 326, 1227, 326, 326, 542, 326, 771, 1227, 327, + 326, 327, 543, 326, 544, 546, 762, 326, 326, 327, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 547, + 327, 326, 327, 548, 770, 549, 1227, 327, 779, 327, + 326, 326, 556, 326, 326, 550, 327, 1227, 551, 552, + 553, 1227, 326, 327, 327, 326, 554, 1227, 327, 327, + 327, 913, 555, 557, 327, 326, 326, 326, 326, 326, + 326, 326, 326, 1157, 326, 326, 327, 327, 1227, 773, + 559, 368, 369, 370, 368, 558, 560, 890, 327, 1227, + + 772, 326, 561, 562, 326, 1227, 563, 370, 369, 370, + 370, 327, 327, 327, 894, 1227, 326, 327, 327, 326, + 897, 374, 564, 234, 374, 1156, 374, 327, 234, 374, + 234, 565, 531, 566, 565, 234, 326, 327, 326, 326, + 234, 326, 1227, 1227, 568, 567, 551, 326, 326, 896, + 326, 326, 327, 326, 915, 326, 326, 375, 326, 1227, + 326, 571, 375, 326, 1227, 1025, 783, 375, 420, 421, + 420, 420, 327, 569, 327, 1227, 903, 570, 389, 380, + 389, 389, 1227, 327, 327, 385, 386, 387, 385, 327, + 433, 327, 572, 433, 1227, 895, 327, 389, 386, 389, + + 389, 381, 900, 902, 573, 420, 421, 420, 420, 433, + 1155, 1227, 433, 1227, 388, 611, 612, 613, 611, 1227, + 905, 388, 435, 436, 437, 435, 434, 439, 436, 439, + 439, 1227, 911, 388, 442, 441, 442, 442, 439, 764, + 439, 439, 765, 1227, 904, 434, 440, 441, 442, 440, + 908, 434, 442, 441, 442, 442, 1227, 1227, 438, 646, + 647, 646, 646, 438, 655, 656, 657, 655, 658, 659, + 660, 658, 898, 914, 438, 484, 485, 486, 484, 1227, + 1227, 793, 434, 486, 485, 486, 486, 487, 488, 487, + 487, 489, 310, 489, 489, 490, 488, 487, 490, 1227, + + 906, 267, 276, 267, 267, 267, 909, 267, 267, 267, + 1227, 267, 267, 491, 1227, 1154, 794, 482, 910, 661, + 1227, 482, 267, 268, 267, 267, 1227, 267, 257, 267, + 267, 277, 267, 1227, 267, 267, 662, 268, 1227, 1015, + 267, 268, 267, 267, 267, 268, 267, 267, 665, 267, + 663, 267, 267, 267, 1227, 267, 267, 912, 268, 664, + 916, 1227, 666, 268, 667, 918, 933, 267, 268, 267, + 267, 1227, 917, 802, 668, 267, 268, 267, 267, 669, + 268, 670, 934, 1153, 267, 268, 267, 267, 267, 268, + 267, 267, 267, 671, 267, 267, 1215, 1227, 267, 803, + + 267, 267, 267, 268, 267, 267, 267, 1227, 267, 267, + 326, 268, 675, 326, 326, 672, 674, 326, 677, 673, + 268, 1227, 534, 922, 268, 1152, 676, 1013, 268, 267, + 678, 267, 267, 267, 268, 267, 267, 267, 268, 267, + 267, 267, 268, 267, 267, 267, 327, 267, 267, 1227, + 327, 680, 681, 267, 1227, 267, 267, 1052, 733, 682, + 679, 683, 1117, 1024, 267, 268, 267, 267, 267, 268, + 267, 267, 267, 268, 267, 267, 1227, 268, 684, 1227, + 1227, 268, 267, 685, 267, 267, 1014, 1227, 267, 268, + 267, 267, 267, 1102, 267, 267, 1017, 1016, 691, 686, + + 268, 1022, 687, 688, 268, 1114, 689, 267, 268, 267, + 267, 1113, 690, 522, 488, 522, 522, 1112, 268, 693, + 647, 693, 693, 267, 268, 267, 267, 695, 268, 267, + 695, 1227, 267, 924, 267, 267, 267, 326, 267, 267, + 326, 1111, 1227, 268, 692, 267, 1110, 267, 267, 315, + 267, 700, 267, 267, 1227, 268, 925, 1227, 326, 268, + 1227, 326, 926, 268, 1109, 523, 326, 694, 268, 326, + 1108, 1037, 268, 327, 326, 1028, 697, 326, 1023, 696, + 705, 268, 530, 531, 532, 530, 268, 1038, 698, 532, + 531, 532, 532, 701, 327, 699, 533, 531, 532, 533, + + 1227, 326, 327, 335, 326, 192, 703, 1227, 326, 326, + 327, 326, 326, 326, 326, 1027, 326, 326, 327, 1227, + 326, 927, 326, 326, 704, 326, 1018, 326, 326, 702, + 326, 326, 336, 706, 707, 1227, 709, 327, 710, 326, + 708, 1227, 326, 326, 327, 327, 326, 1107, 326, 327, + 327, 326, 326, 1227, 712, 326, 327, 714, 327, 711, + 1021, 1031, 326, 327, 327, 326, 326, 713, 716, 326, + 1096, 715, 717, 326, 326, 327, 326, 326, 1227, 327, + 326, 720, 326, 326, 327, 326, 326, 326, 327, 326, + 326, 719, 721, 718, 326, 1106, 722, 326, 327, 1026, + + 326, 326, 327, 326, 326, 724, 1227, 723, 326, 327, + 327, 326, 326, 1227, 326, 326, 327, 326, 327, 728, + 854, 1105, 327, 327, 730, 725, 734, 1093, 726, 734, + 327, 727, 729, 1227, 1148, 928, 327, 327, 565, 531, + 566, 565, 649, 326, 327, 649, 326, 234, 327, 1227, + 327, 731, 566, 531, 566, 566, 732, 647, 646, 732, + 326, 326, 327, 326, 326, 326, 1144, 1052, 326, 646, + 647, 646, 646, 649, 375, 1227, 649, 929, 735, 327, + 1227, 1227, 811, 930, 1227, 811, 1051, 736, 267, 567, + 267, 267, 327, 1227, 650, 938, 327, 327, 1227, 1050, + + 939, 327, 1149, 1227, 737, 611, 612, 613, 611, 817, + 738, 613, 612, 613, 613, 646, 647, 646, 646, 655, + 656, 657, 655, 1227, 268, 650, 657, 656, 657, 657, + 658, 659, 660, 658, 812, 660, 659, 660, 660, 1049, + 267, 434, 267, 267, 1227, 267, 941, 267, 267, 267, + 1030, 267, 267, 267, 1227, 267, 267, 1227, 1227, 1032, + 814, 815, 267, 1227, 267, 267, 818, 267, 1099, 267, + 267, 267, 257, 267, 267, 326, 268, 267, 326, 267, + 267, 268, 816, 257, 822, 268, 1151, 819, 267, 268, + 267, 267, 1227, 820, 1033, 821, 855, 267, 268, 267, + + 267, 1101, 267, 268, 267, 267, 267, 268, 267, 267, + 1227, 327, 267, 268, 267, 267, 267, 1098, 267, 267, + 823, 1048, 1227, 824, 268, 267, 825, 267, 267, 1227, + 1047, 1034, 267, 268, 267, 267, 828, 826, 268, 1046, + 1045, 827, 268, 1227, 267, 1036, 267, 267, 268, 1188, + 1227, 811, 268, 829, 811, 326, 830, 267, 326, 267, + 267, 268, 831, 267, 1044, 267, 267, 1227, 268, 267, + 832, 267, 267, 859, 1100, 267, 833, 267, 267, 267, + 268, 267, 267, 267, 1043, 267, 267, 267, 1104, 267, + 267, 327, 267, 268, 267, 267, 1227, 836, 1041, 268, + + 834, 837, 835, 812, 1042, 268, 838, 267, 1041, 267, + 267, 268, 1227, 1227, 267, 268, 267, 267, 1019, 268, + 1227, 840, 1042, 268, 839, 1227, 1146, 841, 268, 267, + 1227, 267, 267, 267, 1020, 267, 267, 1227, 267, 1043, + 267, 267, 842, 268, 267, 1115, 267, 267, 1115, 695, + 268, 267, 695, 1208, 843, 693, 647, 693, 693, 267, + 326, 267, 267, 326, 326, 268, 844, 326, 1219, 268, + 267, 1040, 267, 267, 268, 267, 853, 267, 267, 267, + 268, 267, 267, 1227, 850, 268, 267, 850, 863, 1039, + 326, 268, 1036, 326, 845, 268, 327, 1116, 1227, 326, + + 327, 696, 326, 1094, 846, 326, 268, 1227, 326, 1046, + 852, 268, 856, 326, 1223, 268, 326, 849, 860, 1095, + 268, 326, 847, 1227, 326, 848, 327, 326, 326, 326, + 326, 326, 326, 857, 1145, 327, 851, 326, 1035, 1034, + 326, 327, 326, 326, 326, 326, 326, 326, 326, 327, + 326, 326, 858, 326, 862, 1033, 1032, 327, 326, 861, + 864, 326, 866, 327, 327, 327, 865, 326, 868, 326, + 326, 867, 326, 327, 326, 873, 869, 326, 327, 327, + 327, 872, 870, 950, 327, 874, 327, 871, 326, 326, + 326, 326, 326, 326, 327, 326, 949, 326, 326, 326, + + 326, 326, 326, 327, 326, 327, 875, 948, 876, 878, + 327, 947, 879, 326, 880, 946, 326, 326, 881, 1227, + 326, 1105, 877, 945, 327, 327, 327, 732, 647, 646, + 732, 327, 1227, 327, 944, 327, 326, 327, 943, 326, + 734, 882, 326, 734, 942, 326, 1147, 326, 326, 327, + 326, 326, 888, 327, 811, 888, 1227, 811, 1110, 267, + 941, 267, 267, 327, 940, 1227, 267, 883, 267, 267, + 939, 267, 327, 267, 267, 1227, 327, 267, 327, 267, + 267, 884, 1187, 327, 327, 1227, 887, 1112, 327, 952, + 951, 1227, 735, 1154, 885, 268, 953, 886, 267, 938, + + 267, 267, 268, 1227, 889, 326, 812, 268, 326, 937, + 936, 954, 267, 268, 267, 267, 267, 1185, 267, 267, + 326, 935, 267, 326, 267, 267, 932, 931, 267, 956, + 267, 267, 930, 955, 268, 957, 267, 929, 267, 267, + 267, 327, 267, 267, 267, 1227, 267, 267, 268, 958, + 928, 982, 268, 959, 1227, 927, 327, 960, 268, 1186, + 267, 1207, 267, 267, 268, 267, 326, 267, 267, 326, + 926, 326, 268, 961, 326, 1227, 268, 1156, 962, 267, + 268, 267, 267, 267, 983, 267, 267, 1227, 267, 1189, + 267, 267, 267, 925, 267, 267, 268, 267, 924, 267, + + 267, 268, 327, 267, 965, 267, 267, 327, 923, 267, + 963, 267, 267, 964, 267, 268, 267, 267, 326, 268, + 966, 326, 967, 267, 268, 267, 267, 267, 268, 267, + 267, 922, 267, 268, 267, 267, 970, 921, 920, 268, + 971, 968, 1227, 919, 1191, 268, 969, 813, 984, 267, + 268, 267, 267, 267, 327, 267, 267, 972, 267, 268, + 267, 267, 973, 268, 267, 810, 267, 267, 268, 267, + 809, 267, 267, 267, 808, 267, 267, 267, 807, 267, + 267, 267, 806, 267, 267, 268, 974, 805, 267, 268, + 267, 267, 804, 267, 268, 267, 267, 803, 802, 976, + + 268, 975, 801, 800, 267, 268, 267, 267, 850, 268, + 267, 850, 267, 268, 267, 267, 326, 268, 799, 326, + 326, 977, 978, 326, 268, 326, 798, 797, 326, 268, + 796, 979, 326, 985, 795, 326, 326, 986, 987, 326, + 268, 980, 794, 1158, 268, 988, 1158, 793, 268, 989, + 326, 792, 327, 326, 326, 326, 327, 326, 326, 791, + 851, 327, 326, 990, 981, 326, 326, 991, 327, 326, + 326, 326, 327, 326, 326, 992, 790, 326, 326, 993, + 326, 326, 1227, 789, 1209, 995, 327, 996, 788, 326, + 327, 327, 326, 787, 326, 1159, 326, 326, 327, 326, + + 786, 994, 327, 997, 785, 784, 327, 327, 998, 326, + 783, 782, 326, 327, 327, 326, 326, 781, 326, 326, + 326, 326, 1001, 326, 326, 327, 999, 780, 1000, 1002, + 327, 326, 327, 1004, 326, 326, 326, 779, 326, 326, + 1003, 326, 778, 326, 326, 327, 326, 326, 777, 776, + 326, 327, 327, 775, 1005, 326, 327, 327, 326, 326, + 654, 1115, 326, 326, 1115, 653, 326, 327, 1006, 1007, + 888, 327, 327, 888, 1227, 326, 1224, 327, 326, 327, + 652, 1161, 474, 327, 1161, 1008, 651, 648, 1009, 645, + 267, 327, 267, 267, 644, 327, 643, 1010, 642, 327, + + 1011, 641, 267, 1053, 267, 267, 327, 267, 638, 267, + 267, 327, 637, 1116, 267, 1054, 267, 267, 636, 635, + 1055, 267, 889, 267, 267, 634, 268, 1012, 267, 633, + 267, 267, 267, 1162, 267, 267, 632, 267, 268, 267, + 267, 631, 267, 268, 267, 267, 267, 630, 267, 267, + 268, 627, 267, 1056, 267, 267, 267, 268, 267, 267, + 626, 625, 624, 267, 268, 267, 267, 326, 268, 267, + 326, 267, 267, 268, 326, 623, 1057, 326, 268, 622, + 1073, 267, 268, 267, 267, 1058, 621, 267, 268, 267, + 267, 267, 268, 267, 267, 267, 620, 267, 267, 268, + + 1062, 1059, 619, 327, 267, 268, 267, 267, 1063, 1060, + 327, 618, 267, 1061, 267, 267, 267, 268, 267, 267, + 617, 1158, 616, 268, 1158, 1064, 267, 268, 267, 267, + 267, 268, 267, 267, 267, 615, 267, 267, 614, 267, + 268, 267, 267, 267, 1065, 267, 267, 267, 268, 267, + 267, 267, 268, 267, 267, 443, 1067, 1068, 267, 1066, + 267, 267, 268, 1227, 326, 263, 268, 326, 483, 267, + 268, 267, 267, 1159, 267, 268, 267, 267, 326, 268, + 482, 326, 257, 268, 253, 326, 481, 268, 326, 326, + 326, 1074, 326, 326, 268, 249, 1069, 1071, 1075, 326, + + 327, 1070, 326, 326, 326, 268, 326, 326, 326, 326, + 268, 326, 326, 244, 327, 480, 326, 326, 1072, 326, + 326, 327, 1076, 479, 478, 327, 327, 326, 326, 1077, + 326, 326, 477, 1078, 326, 327, 476, 326, 326, 327, + 327, 326, 475, 326, 327, 327, 326, 1082, 243, 1079, + 1081, 1083, 327, 327, 326, 1080, 1084, 326, 326, 326, + 238, 326, 326, 327, 327, 326, 326, 237, 326, 326, + 327, 236, 326, 326, 327, 326, 326, 1085, 326, 327, + 326, 326, 473, 326, 326, 1087, 470, 326, 469, 326, + 327, 1086, 326, 468, 327, 327, 1088, 326, 467, 466, + + 326, 327, 327, 267, 465, 267, 267, 464, 327, 327, + 267, 463, 267, 267, 327, 267, 327, 267, 267, 462, + 327, 461, 1089, 1091, 267, 327, 267, 267, 460, 267, + 1090, 267, 267, 327, 459, 458, 457, 1118, 1092, 268, + 267, 326, 267, 267, 326, 267, 268, 267, 267, 454, + 267, 268, 267, 267, 267, 453, 267, 267, 452, 267, + 268, 267, 267, 451, 450, 268, 449, 1120, 1119, 267, + 326, 267, 267, 326, 446, 1121, 268, 327, 445, 1122, + 267, 268, 267, 267, 444, 267, 268, 267, 267, 443, + 268, 267, 196, 267, 267, 268, 196, 267, 1123, 267, + + 267, 267, 193, 267, 267, 268, 327, 267, 326, 267, + 267, 326, 326, 1227, 1125, 326, 268, 1126, 265, 261, + 258, 268, 267, 1124, 267, 267, 1128, 268, 267, 1128, + 257, 253, 267, 268, 267, 267, 326, 268, 326, 326, + 249, 326, 244, 268, 327, 243, 238, 326, 327, 1131, + 326, 326, 326, 326, 326, 326, 326, 326, 268, 237, + 326, 1127, 268, 236, 326, 225, 1132, 326, 268, 1133, + 326, 1130, 327, 326, 327, 224, 1134, 1135, 1129, 326, + 219, 326, 326, 327, 326, 218, 217, 327, 327, 327, + 206, 326, 1136, 327, 326, 326, 326, 202, 326, 326, + + 327, 199, 1137, 196, 1138, 1139, 327, 1141, 326, 1115, + 1141, 326, 1115, 193, 191, 327, 267, 327, 267, 267, + 1227, 267, 326, 267, 267, 326, 267, 327, 267, 267, + 1227, 327, 327, 1227, 1227, 1140, 267, 1227, 267, 267, + 1227, 1227, 326, 327, 327, 326, 1163, 1143, 1227, 1165, + 1227, 1164, 268, 267, 1227, 267, 267, 268, 327, 1142, + 1177, 1116, 268, 267, 1227, 267, 267, 267, 1227, 267, + 267, 1166, 268, 267, 326, 267, 267, 326, 327, 267, + 1167, 267, 267, 1169, 1227, 267, 1169, 1176, 1128, 268, + 267, 1128, 267, 326, 267, 267, 326, 1227, 1172, 268, + + 267, 1172, 326, 268, 1227, 326, 1227, 1227, 1227, 268, + 327, 326, 1227, 326, 326, 268, 326, 1168, 1174, 268, + 326, 1227, 326, 326, 268, 326, 1178, 1175, 268, 327, + 1180, 1227, 1227, 1180, 268, 1170, 1141, 1227, 327, 1141, + 1129, 1227, 326, 1183, 1171, 326, 1183, 327, 1158, 327, + 1173, 1158, 1161, 1227, 1161, 1161, 327, 1161, 327, 1227, + 1179, 1227, 267, 1227, 267, 267, 327, 267, 1227, 267, + 267, 267, 327, 267, 267, 1195, 1227, 326, 327, 327, + 326, 1227, 1181, 1227, 267, 1196, 267, 267, 1142, 267, + 1201, 267, 267, 1227, 1182, 1184, 1227, 1197, 268, 267, + + 1159, 267, 267, 268, 1162, 1227, 1162, 268, 1169, 1227, + 267, 1169, 267, 327, 267, 267, 267, 1227, 267, 267, + 268, 1172, 1227, 267, 1172, 268, 267, 326, 267, 267, + 326, 326, 1227, 326, 326, 268, 326, 1227, 1198, 326, + 326, 1227, 326, 326, 268, 1202, 1203, 1180, 268, 1227, + 1180, 326, 268, 326, 326, 1183, 326, 268, 1183, 1227, + 1170, 1227, 268, 327, 1199, 326, 1227, 327, 326, 327, + 1227, 1227, 1227, 1173, 1227, 327, 327, 1227, 1200, 1204, + 1227, 1227, 267, 327, 267, 267, 1227, 327, 1227, 327, + 1227, 327, 267, 326, 267, 267, 326, 326, 1227, 1181, + + 326, 327, 1227, 1205, 1227, 1211, 267, 1184, 267, 267, + 267, 326, 267, 267, 326, 1227, 1227, 1206, 268, 267, + 1227, 267, 267, 267, 1213, 267, 267, 326, 268, 327, + 326, 326, 326, 327, 326, 326, 267, 1227, 267, 267, + 1227, 267, 268, 267, 267, 326, 268, 327, 326, 326, + 1227, 267, 326, 267, 267, 268, 1212, 1227, 326, 268, + 1227, 326, 1227, 327, 1227, 1227, 326, 327, 327, 326, + 1227, 326, 268, 1214, 326, 1227, 267, 268, 267, 267, + 267, 327, 267, 267, 1226, 327, 1227, 268, 1227, 1225, + 1217, 1227, 1227, 1221, 327, 1227, 1227, 1227, 1218, 1227, + + 1222, 1227, 327, 1227, 1227, 1227, 1227, 327, 1227, 1227, + 1227, 1227, 268, 1227, 1227, 1227, 268, 56, 56, 56, + 56, 56, 56, 61, 61, 61, 61, 61, 61, 68, + 68, 68, 68, 68, 68, 73, 73, 73, 73, 73, + 73, 184, 184, 184, 184, 184, 184, 192, 192, 1227, + 1227, 192, 192, 234, 234, 1227, 234, 234, 234, 245, + 245, 245, 245, 245, 245, 248, 1227, 1227, 1227, 248, + 248, 250, 250, 250, 250, 250, 250, 256, 256, 1227, + 1227, 256, 256, 262, 262, 262, 262, 262, 262, 266, + 266, 1227, 266, 266, 266, 274, 274, 1227, 274, 274, + + 274, 313, 313, 1227, 313, 313, 313, 325, 325, 1227, + 1227, 1227, 325, 333, 333, 1227, 1227, 333, 333, 373, + 373, 1227, 373, 373, 373, 432, 432, 1227, 1227, 1227, + 432, 17, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1227, 1227, 1227, 1227, 1227, 1227 } ; -static yyconst flex_int16_t yy_chk[3980] = +static yyconst flex_int16_t yy_chk[4188] = { 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, 1, - 1, 1, 2, 7, 7, 2, 2, 3, 3, 3, - 3, 1206, 2, 4, 4, 4, 4, 4, 5, 5, - 6, 6, 8, 8, 19, 2, 34, 19, 4, 28, - 15, 15, 15, 15, 1186, 30, 28, 15, 2, 30, - 34, 46, 33, 2, 35, 2, 30, 2, 39, 32, - - 2, 2, 32, 33, 1183, 46, 32, 40, 4, 32, - 39, 35, 5, 15, 6, 40, 51, 5, 51, 6, + 1, 1, 1, 1, 1, 2, 7, 7, 2, 2, + 3, 3, 3, 3, 5, 5, 6, 6, 2, 4, + 4, 4, 4, 4, 8, 8, 15, 15, 15, 15, + 19, 2, 37, 19, 164, 15, 36, 4, 24, 24, + 26, 26, 28, 28, 2, 31, 37, 36, 42, 2, + + 49, 2, 31, 2, 33, 164, 2, 2, 33, 1246, + 42, 5, 15, 6, 49, 33, 5, 4, 6, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 10, 64, 50, 10, 10, 16, 16, 16, - 16, 174, 10, 174, 16, 56, 56, 56, 61, 61, - 61, 61, 68, 70, 70, 10, 50, 68, 152, 156, + 9, 9, 9, 9, 10, 38, 43, 10, 10, 16, + 16, 16, 16, 35, 43, 53, 35, 10, 16, 54, + 35, 54, 38, 35, 59, 59, 59, 73, 73, 1220, - 154, 157, 156, 64, 154, 152, 156, 163, 10, 156, - 16, 154, 157, 10, 187, 10, 187, 10, 1182, 163, - 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, + 10, 64, 64, 64, 64, 71, 160, 53, 157, 157, + 71, 158, 158, 10, 160, 16, 162, 174, 10, 202, + 10, 202, 10, 162, 174, 10, 10, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 12, 158, 159, 12, 12, 73, - 109, 73, 73, 109, 12, 74, 74, 74, 74, 158, - 164, 169, 173, 159, 194, 220, 220, 12, 164, 166, + 11, 11, 12, 67, 169, 12, 12, 76, 171, 76, + 76, 77, 77, 77, 77, 12, 79, 79, 79, 79, - 166, 166, 166, 181, 209, 169, 181, 209, 194, 217, - 12, 217, 73, 109, 173, 12, 244, 12, 74, 12, - 1179, 244, 12, 12, 13, 13, 13, 13, 13, 13, + 161, 163, 167, 169, 168, 167, 166, 168, 12, 171, + 161, 163, 407, 67, 166, 163, 232, 161, 232, 167, + 400, 12, 163, 76, 168, 166, 12, 77, 12, 407, + 12, 400, 79, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 14, 247, 247, 14, - 14, 76, 76, 76, 76, 77, 14, 77, 77, 78, - 240, 78, 78, 365, 79, 365, 79, 79, 78, 14, - - 80, 1178, 80, 80, 81, 1173, 81, 81, 84, 80, - 84, 84, 14, 83, 76, 83, 83, 14, 77, 14, - 240, 14, 78, 84, 14, 14, 43, 79, 1171, 43, - 43, 83, 82, 80, 82, 82, 43, 81, 83, 1170, - 95, 84, 95, 95, 113, 1155, 83, 113, 82, 225, - 85, 95, 85, 85, 397, 86, 372, 86, 86, 95, - 1153, 93, 43, 93, 93, 82, 754, 43, 85, 43, - 372, 225, 85, 95, 43, 43, 397, 113, 92, 85, - 92, 92, 754, 85, 86, 232, 232, 232, 86, 87, - 93, 87, 87, 88, 93, 88, 88, 392, 392, 89, - - 92, 89, 89, 867, 91, 87, 91, 91, 87, 88, - 89, 92, 87, 1151, 90, 87, 90, 90, 387, 867, - 88, 387, 87, 1150, 89, 90, 88, 94, 1149, 94, - 94, 91, 89, 96, 1148, 96, 96, 91, 97, 97, - 97, 97, 90, 435, 425, 94, 435, 90, 96, 98, - 551, 98, 98, 99, 99, 99, 99, 94, 425, 100, - 94, 100, 100, 1125, 551, 101, 96, 101, 101, 1122, - 102, 97, 102, 102, 103, 1120, 103, 103, 237, 237, - 237, 102, 98, 1118, 1116, 98, 99, 104, 895, 104, - 104, 105, 100, 105, 105, 102, 1115, 117, 101, 106, - - 117, 106, 106, 102, 895, 981, 107, 103, 107, 107, - 108, 561, 108, 108, 561, 1112, 1111, 103, 1110, 1109, - 104, 981, 106, 1108, 105, 110, 110, 110, 110, 1107, - 117, 1079, 106, 118, 104, 105, 118, 1076, 119, 107, - 107, 119, 107, 108, 106, 112, 112, 112, 112, 118, - 120, 114, 116, 120, 114, 116, 119, 1074, 110, 108, - 114, 116, 1072, 119, 121, 120, 118, 121, 1071, 122, - 1070, 119, 122, 123, 124, 1069, 123, 124, 112, 1067, - 1065, 1064, 121, 120, 114, 116, 121, 1063, 127, 123, - 124, 127, 123, 121, 1062, 1061, 123, 121, 122, 123, - - 125, 124, 122, 125, 1060, 128, 123, 124, 128, 126, - 129, 125, 126, 129, 130, 127, 132, 130, 1059, 132, - 126, 127, 1058, 1057, 1056, 125, 134, 128, 1015, 134, - 1014, 132, 130, 125, 1012, 1011, 1010, 126, 128, 129, - 1008, 1007, 126, 129, 130, 131, 1003, 130, 131, 132, - 133, 133, 133, 133, 137, 1002, 131, 137, 139, 134, - 140, 139, 134, 140, 131, 135, 135, 135, 135, 136, - 138, 136, 136, 138, 1001, 1000, 136, 141, 131, 998, - 141, 138, 142, 133, 994, 142, 143, 137, 993, 143, - 992, 139, 991, 140, 990, 138, 144, 989, 135, 144, - - 988, 139, 136, 138, 987, 142, 175, 140, 986, 175, - 141, 145, 145, 145, 145, 142, 985, 984, 983, 143, - 143, 141, 143, 147, 147, 147, 147, 142, 982, 144, - 168, 168, 168, 168, 176, 176, 176, 176, 980, 175, - 178, 178, 178, 178, 145, 144, 180, 180, 180, 180, - 246, 246, 246, 246, 979, 251, 147, 251, 251, 252, - 978, 252, 252, 168, 977, 976, 913, 176, 253, 253, - 253, 253, 911, 178, 254, 254, 254, 254, 910, 180, - 256, 256, 256, 256, 257, 257, 257, 257, 251, 909, - 908, 302, 252, 259, 302, 259, 259, 907, 906, 905, - - 246, 253, 259, 260, 903, 260, 260, 254, 261, 900, - 261, 261, 262, 256, 262, 262, 899, 898, 263, 261, - 263, 263, 897, 896, 302, 260, 259, 264, 443, 264, - 264, 443, 303, 894, 262, 303, 260, 265, 886, 265, - 265, 261, 264, 884, 263, 262, 263, 266, 265, 266, - 266, 263, 267, 883, 267, 267, 268, 882, 268, 268, - 264, 269, 881, 269, 269, 303, 266, 267, 880, 879, - 265, 268, 270, 878, 270, 270, 271, 443, 271, 271, - 266, 877, 876, 270, 272, 267, 272, 272, 875, 268, - 269, 874, 873, 273, 269, 273, 273, 270, 274, 872, - - 274, 274, 871, 271, 310, 270, 272, 310, 275, 271, - 275, 275, 276, 310, 276, 276, 870, 272, 273, 277, - 869, 277, 277, 868, 866, 274, 273, 278, 865, 278, - 278, 274, 275, 864, 863, 276, 279, 310, 279, 279, - 280, 275, 280, 280, 862, 276, 278, 279, 281, 277, - 281, 281, 277, 282, 861, 282, 282, 860, 859, 280, - 278, 284, 858, 284, 284, 282, 857, 856, 283, 279, - 283, 283, 317, 280, 285, 317, 285, 285, 281, 855, - 854, 281, 853, 284, 776, 283, 282, 286, 286, 286, - 286, 317, 775, 285, 284, 288, 285, 288, 288, 773, - - 290, 283, 290, 290, 772, 317, 291, 285, 291, 291, - 292, 292, 292, 292, 293, 770, 293, 293, 769, 294, - 286, 294, 294, 295, 768, 295, 295, 296, 288, 296, - 296, 767, 288, 290, 297, 764, 297, 297, 763, 291, - 293, 293, 762, 292, 761, 297, 298, 293, 298, 298, - 760, 299, 294, 299, 299, 759, 295, 295, 758, 294, - 296, 755, 300, 296, 300, 300, 753, 297, 301, 298, - 301, 301, 304, 304, 304, 304, 752, 751, 750, 298, - 305, 305, 305, 305, 299, 307, 307, 307, 307, 749, - 311, 298, 299, 311, 748, 300, 308, 308, 308, 308, - - 312, 301, 747, 312, 313, 304, 314, 313, 300, 314, - 745, 312, 311, 305, 315, 744, 316, 315, 307, 316, - 743, 318, 741, 311, 318, 319, 313, 316, 319, 315, - 740, 739, 314, 312, 314, 320, 318, 313, 320, 314, - 319, 321, 322, 323, 321, 322, 323, 315, 324, 316, - 325, 324, 321, 325, 318, 738, 326, 736, 319, 326, - 330, 735, 734, 330, 320, 323, 321, 327, 320, 322, - 327, 330, 733, 324, 321, 322, 323, 325, 732, 328, - 326, 324, 328, 325, 329, 331, 731, 329, 331, 326, - 327, 332, 730, 330, 332, 333, 334, 729, 333, 334, - - 327, 728, 727, 329, 331, 335, 726, 333, 335, 328, - 725, 336, 328, 334, 336, 724, 340, 329, 331, 340, - 723, 332, 569, 353, 332, 569, 353, 335, 333, 334, - 336, 722, 721, 336, 337, 337, 337, 337, 335, 339, - 339, 339, 339, 342, 336, 342, 342, 720, 345, 340, - 342, 345, 343, 340, 343, 343, 353, 346, 719, 343, - 346, 344, 344, 344, 344, 718, 347, 337, 344, 347, - 348, 569, 717, 348, 345, 345, 342, 349, 716, 350, - 349, 345, 350, 352, 351, 343, 352, 351, 349, 358, - 346, 358, 358, 400, 344, 401, 400, 346, 401, 347, - - 347, 612, 350, 348, 612, 715, 348, 714, 713, 712, - 349, 616, 350, 711, 616, 710, 352, 351, 354, 354, - 354, 354, 358, 709, 350, 351, 400, 708, 401, 352, - 356, 356, 356, 356, 357, 357, 357, 357, 388, 388, - 388, 388, 402, 402, 402, 402, 403, 403, 403, 403, - 612, 354, 405, 405, 405, 405, 406, 406, 406, 406, - 616, 707, 407, 356, 407, 407, 408, 408, 408, 408, - 410, 410, 410, 410, 706, 402, 705, 704, 703, 403, - 441, 441, 441, 441, 702, 405, 449, 449, 449, 449, - 450, 450, 450, 450, 617, 407, 615, 614, 613, 408, - - 451, 451, 451, 451, 453, 453, 453, 453, 454, 454, - 454, 454, 456, 456, 456, 456, 457, 611, 457, 457, - 458, 608, 458, 458, 607, 606, 459, 457, 459, 459, - 605, 460, 604, 460, 460, 461, 449, 461, 461, 603, - 450, 454, 602, 462, 458, 462, 462, 601, 461, 457, - 451, 459, 463, 458, 463, 463, 600, 599, 598, 459, - 460, 597, 462, 465, 460, 465, 465, 596, 461, 463, - 464, 595, 464, 464, 594, 593, 462, 466, 592, 466, - 466, 468, 591, 468, 468, 463, 465, 467, 466, 467, - 467, 469, 464, 469, 469, 504, 465, 470, 504, 470, - - 470, 590, 467, 464, 472, 501, 472, 472, 501, 468, - 466, 589, 504, 588, 468, 469, 471, 472, 471, 471, - 467, 587, 470, 473, 469, 473, 473, 471, 504, 474, - 470, 474, 474, 475, 501, 475, 475, 472, 501, 586, - 476, 471, 476, 476, 473, 585, 584, 737, 475, 471, - 737, 774, 476, 583, 774, 582, 473, 474, 581, 580, - 579, 477, 474, 477, 477, 478, 475, 478, 478, 479, - 578, 479, 479, 476, 577, 573, 477, 480, 478, 480, - 480, 481, 572, 481, 481, 482, 571, 482, 482, 570, - 568, 479, 566, 480, 477, 565, 737, 564, 478, 563, - - 774, 483, 479, 483, 483, 484, 562, 484, 484, 481, - 480, 560, 481, 482, 481, 559, 483, 485, 482, 485, - 485, 486, 484, 486, 486, 487, 487, 487, 487, 489, - 485, 489, 489, 490, 483, 490, 490, 558, 484, 488, - 488, 488, 488, 491, 557, 491, 491, 556, 500, 555, - 485, 500, 554, 553, 486, 486, 552, 492, 487, 492, - 492, 493, 489, 493, 493, 494, 490, 494, 494, 550, - 489, 499, 488, 500, 499, 549, 491, 495, 495, 495, - 495, 500, 490, 492, 491, 497, 497, 497, 497, 498, - 492, 548, 498, 502, 493, 499, 502, 547, 494, 503, - - 498, 493, 503, 546, 499, 505, 502, 494, 505, 507, - 495, 506, 507, 508, 506, 545, 508, 544, 503, 543, - 507, 509, 498, 542, 509, 541, 502, 505, 508, 540, - 539, 538, 503, 510, 506, 537, 510, 511, 505, 448, - 511, 447, 507, 446, 506, 445, 508, 512, 513, 509, - 512, 513, 514, 444, 509, 514, 515, 510, 512, 515, - 516, 513, 511, 516, 517, 442, 510, 517, 518, 440, - 511, 518, 512, 514, 519, 516, 517, 519, 439, 521, - 512, 513, 521, 518, 515, 514, 438, 519, 520, 515, - 437, 520, 436, 516, 434, 521, 522, 517, 433, 522, - - 523, 518, 524, 523, 432, 524, 525, 519, 527, 525, - 520, 527, 521, 526, 431, 430, 526, 524, 429, 532, - 428, 520, 532, 525, 522, 427, 526, 522, 523, 522, - 426, 531, 424, 523, 531, 524, 423, 533, 422, 525, - 533, 527, 527, 421, 420, 419, 526, 528, 528, 528, - 528, 418, 532, 417, 528, 529, 529, 529, 529, 530, - 530, 530, 530, 534, 531, 416, 534, 415, 532, 414, - 533, 535, 531, 536, 535, 413, 536, 412, 533, 411, - 528, 567, 567, 567, 567, 574, 574, 574, 574, 534, - 1013, 399, 530, 1013, 398, 396, 534, 576, 576, 576, - - 576, 395, 1066, 394, 535, 1066, 536, 609, 609, 609, - 609, 535, 393, 390, 626, 536, 626, 626, 574, 618, - 618, 618, 618, 620, 620, 620, 620, 621, 621, 621, - 621, 623, 623, 623, 623, 624, 386, 624, 624, 1013, - 625, 385, 625, 625, 626, 384, 627, 626, 627, 627, - 383, 1066, 624, 625, 382, 628, 381, 628, 628, 629, - 380, 629, 629, 669, 627, 628, 669, 379, 624, 618, - 378, 377, 630, 625, 630, 630, 629, 621, 631, 627, - 631, 631, 674, 376, 632, 674, 632, 632, 628, 375, - 374, 669, 629, 631, 632, 633, 669, 633, 633, 634, - - 630, 634, 634, 674, 635, 630, 635, 635, 373, 371, - 636, 631, 636, 636, 370, 674, 637, 632, 637, 637, - 369, 368, 634, 367, 633, 635, 366, 638, 633, 638, - 638, 639, 634, 639, 639, 364, 363, 635, 636, 362, - 361, 249, 637, 636, 638, 640, 245, 640, 640, 637, - 641, 1077, 641, 641, 1077, 645, 639, 645, 645, 642, - 638, 642, 642, 242, 639, 641, 640, 241, 664, 642, - 643, 664, 643, 643, 644, 239, 644, 644, 640, 645, - 643, 664, 646, 641, 646, 646, 238, 649, 645, 649, - 649, 647, 642, 647, 647, 236, 648, 646, 648, 648, - - 1077, 664, 644, 643, 231, 227, 647, 644, 650, 226, - 650, 650, 648, 224, 1078, 646, 649, 1078, 223, 650, - 649, 222, 221, 651, 647, 651, 651, 218, 652, 648, - 652, 652, 653, 651, 653, 653, 216, 654, 652, 654, - 654, 650, 655, 215, 655, 655, 656, 656, 656, 656, - 653, 657, 214, 657, 657, 658, 651, 658, 658, 210, - 208, 652, 654, 1078, 659, 653, 659, 659, 207, 660, - 654, 660, 660, 206, 661, 655, 661, 661, 662, 656, - 662, 662, 663, 205, 657, 663, 204, 665, 658, 655, - 665, 667, 666, 657, 667, 666, 203, 659, 202, 663, - - 201, 667, 660, 670, 658, 668, 670, 661, 668, 661, - 666, 662, 200, 659, 199, 663, 660, 665, 670, 198, - 665, 197, 668, 671, 667, 666, 671, 662, 672, 673, - 196, 672, 673, 671, 195, 193, 670, 675, 668, 192, - 675, 676, 677, 678, 676, 677, 678, 191, 679, 190, - 681, 679, 673, 681, 189, 1080, 671, 672, 1080, 677, - 681, 672, 673, 680, 188, 675, 680, 676, 678, 679, - 675, 186, 185, 184, 676, 677, 678, 682, 680, 683, - 682, 679, 683, 681, 183, 684, 685, 682, 684, 685, - 686, 688, 687, 686, 688, 687, 680, 172, 171, 692, - - 689, 685, 692, 689, 1080, 686, 170, 683, 687, 684, - 682, 689, 683, 693, 167, 165, 693, 692, 684, 685, - 688, 162, 161, 686, 688, 687, 690, 691, 694, 690, - 691, 694, 692, 689, 160, 155, 690, 691, 693, 695, - 695, 695, 695, 153, 696, 697, 693, 696, 697, 698, - 699, 151, 698, 699, 700, 701, 149, 700, 701, 690, - 691, 694, 777, 148, 777, 777, 778, 72, 778, 778, - 69, 67, 695, 815, 65, 694, 815, 696, 697, 63, - 60, 778, 698, 699, 55, 52, 696, 700, 701, 700, - 777, 49, 48, 47, 697, 777, 42, 699, 698, 778, - - 779, 815, 779, 779, 701, 780, 815, 780, 780, 781, - 41, 781, 781, 38, 782, 780, 782, 782, 783, 37, - 783, 783, 785, 36, 785, 785, 816, 779, 783, 816, - 31, 29, 782, 779, 784, 27, 784, 784, 780, 25, - 23, 816, 781, 786, 784, 786, 786, 782, 21, 17, - 0, 783, 0, 786, 787, 785, 787, 787, 788, 816, - 788, 788, 0, 789, 787, 789, 789, 784, 788, 790, - 0, 790, 790, 789, 0, 791, 786, 791, 791, 790, - 792, 819, 792, 792, 819, 0, 793, 787, 793, 793, - 794, 788, 794, 794, 0, 795, 789, 795, 795, 793, - - 0, 823, 790, 791, 823, 0, 0, 792, 791, 796, - 0, 796, 796, 792, 819, 793, 0, 794, 797, 793, - 797, 797, 0, 794, 798, 0, 798, 798, 795, 799, - 0, 799, 799, 800, 823, 800, 800, 0, 801, 799, - 801, 801, 796, 800, 0, 0, 802, 797, 802, 802, - 0, 797, 803, 798, 803, 803, 802, 798, 0, 0, - 801, 804, 799, 804, 804, 805, 800, 805, 805, 0, - 806, 801, 806, 806, 807, 0, 807, 807, 808, 802, - 808, 808, 803, 0, 809, 803, 809, 809, 810, 1113, - 810, 810, 1113, 811, 804, 811, 811, 807, 805, 806, - - 0, 0, 812, 806, 812, 812, 813, 807, 813, 813, - 814, 808, 814, 814, 0, 817, 0, 809, 817, 808, - 818, 810, 809, 818, 821, 0, 811, 821, 811, 820, - 818, 0, 820, 0, 821, 812, 812, 0, 1113, 813, - 0, 822, 817, 814, 822, 0, 824, 820, 817, 824, - 0, 822, 0, 818, 0, 813, 824, 821, 825, 814, - 826, 825, 820, 826, 829, 0, 827, 829, 825, 827, - 826, 0, 828, 0, 822, 828, 827, 830, 0, 824, - 830, 832, 828, 831, 832, 833, 831, 834, 833, 0, - 834, 825, 829, 826, 0, 835, 831, 829, 835, 827, - - 836, 0, 0, 836, 830, 828, 841, 0, 832, 841, - 830, 0, 831, 0, 832, 0, 831, 0, 833, 0, - 834, 0, 837, 839, 835, 837, 839, 838, 835, 836, - 838, 840, 837, 836, 840, 842, 841, 838, 842, 841, - 843, 840, 0, 843, 845, 839, 844, 845, 846, 844, - 847, 846, 0, 847, 848, 837, 839, 848, 849, 0, - 838, 849, 850, 0, 840, 850, 851, 845, 842, 851, - 0, 852, 0, 843, 852, 844, 0, 845, 0, 844, - 0, 846, 0, 847, 0, 0, 0, 848, 847, 846, - 0, 849, 0, 849, 0, 850, 850, 0, 914, 851, - - 914, 914, 0, 915, 852, 915, 915, 916, 914, 916, - 916, 948, 0, 915, 948, 851, 917, 916, 917, 917, - 852, 918, 0, 918, 918, 919, 0, 919, 919, 0, - 920, 914, 920, 920, 0, 921, 915, 921, 921, 922, - 916, 922, 922, 923, 948, 923, 923, 0, 950, 917, - 918, 950, 0, 924, 918, 924, 924, 925, 919, 925, - 925, 0, 951, 920, 926, 951, 926, 926, 921, 0, - 0, 0, 922, 0, 926, 927, 923, 927, 927, 0, - 928, 950, 928, 928, 0, 0, 924, 0, 927, 0, - 925, 929, 0, 929, 929, 951, 930, 926, 930, 930, - - 933, 0, 933, 933, 927, 928, 930, 0, 927, 931, - 929, 931, 931, 928, 0, 932, 0, 932, 932, 931, - 934, 0, 934, 934, 929, 932, 0, 0, 935, 930, - 935, 935, 936, 933, 936, 936, 937, 0, 937, 937, - 0, 0, 931, 935, 938, 0, 938, 938, 932, 939, - 0, 939, 939, 934, 938, 0, 0, 940, 937, 940, - 940, 935, 0, 945, 939, 936, 945, 0, 941, 937, - 941, 941, 942, 945, 942, 942, 943, 938, 943, 943, - 0, 944, 939, 944, 944, 946, 952, 0, 946, 952, - 940, 0, 0, 0, 947, 946, 945, 947, 0, 949, - - 0, 941, 949, 940, 947, 942, 0, 953, 942, 943, - 953, 0, 0, 954, 944, 941, 954, 955, 946, 952, - 955, 956, 943, 957, 956, 0, 957, 947, 949, 0, - 0, 958, 949, 957, 958, 0, 959, 0, 960, 959, - 953, 960, 961, 0, 958, 961, 954, 0, 962, 0, - 955, 962, 961, 0, 956, 0, 957, 960, 962, 0, - 958, 959, 963, 964, 958, 963, 964, 965, 0, 959, - 965, 960, 963, 966, 967, 961, 966, 967, 0, 968, - 969, 962, 968, 969, 970, 0, 971, 970, 966, 971, - 969, 972, 0, 0, 972, 963, 964, 0, 0, 970, - - 965, 968, 974, 0, 0, 974, 966, 967, 973, 0, - 0, 973, 968, 969, 0, 0, 0, 970, 975, 971, - 1016, 975, 1016, 1016, 972, 1017, 1114, 1017, 1017, 1114, - 0, 1018, 971, 1018, 1018, 974, 0, 1019, 972, 1019, - 1019, 973, 0, 1020, 973, 1020, 1020, 1019, 974, 0, - 0, 975, 1021, 1016, 1021, 1021, 0, 1036, 1017, 1022, - 1036, 1022, 1022, 0, 1018, 1023, 0, 1023, 1023, 1024, - 1019, 1024, 1024, 0, 0, 1114, 1020, 1021, 1022, 1025, - 1121, 1025, 1025, 1121, 0, 1021, 1026, 1023, 1026, 1026, - 1036, 1024, 1022, 1027, 0, 1027, 1027, 1028, 1023, 1028, - - 1028, 1037, 1024, 1029, 1037, 1029, 1029, 1028, 1030, 0, - 1030, 1030, 1025, 1031, 1038, 1031, 1031, 1038, 1033, 1026, - 1033, 1033, 0, 1031, 0, 1032, 1027, 1032, 1032, 1121, - 1028, 0, 1029, 1032, 1037, 1034, 1029, 1034, 1034, 0, - 1035, 1030, 1035, 1035, 0, 1039, 1031, 1038, 1039, 1040, - 1041, 1033, 1040, 1041, 1033, 1039, 0, 0, 1032, 1043, - 1042, 0, 1043, 1042, 1044, 0, 1045, 1044, 1034, 1045, - 0, 1046, 0, 1035, 1046, 1041, 1035, 1047, 1039, 1042, - 1047, 1043, 1040, 1041, 1034, 1048, 1044, 1049, 1048, 0, - 1049, 1050, 1043, 1042, 1050, 1048, 0, 1044, 1051, 1045, - - 0, 1051, 1053, 1052, 1046, 1053, 1052, 0, 1051, 1054, - 1047, 1052, 1054, 0, 1055, 0, 1049, 1055, 1048, 1081, - 1049, 1081, 1081, 1082, 1050, 1082, 1082, 1083, 0, 1083, - 1083, 1051, 0, 0, 0, 1053, 1052, 1086, 1053, 1086, - 1086, 1084, 1054, 1084, 1084, 1082, 0, 1055, 0, 1083, - 1055, 1084, 1081, 0, 0, 0, 1082, 0, 1054, 0, - 1083, 1085, 0, 1085, 1085, 1087, 0, 1087, 1087, 1088, - 1086, 1088, 1088, 0, 1084, 1087, 1085, 1089, 0, 1089, - 1089, 1090, 0, 1090, 1090, 1091, 0, 1091, 1091, 1092, - 0, 1092, 1092, 1093, 1085, 1093, 1093, 0, 1087, 0, - - 1094, 0, 1088, 1094, 1098, 0, 1095, 1098, 1099, 1095, - 1089, 1099, 1089, 1096, 1090, 0, 1096, 1097, 1091, 1098, - 1097, 1100, 1092, 0, 1100, 0, 1093, 1097, 1095, 1101, - 1090, 1100, 1101, 1094, 1091, 1096, 0, 1098, 1092, 1095, - 1102, 1099, 1093, 1102, 1103, 1104, 1096, 1103, 1104, 1105, - 1097, 0, 1105, 1106, 1100, 1124, 1106, 1126, 1124, 1126, - 1126, 0, 1101, 0, 0, 0, 1127, 1126, 1127, 1127, - 0, 0, 0, 1102, 0, 1102, 0, 1103, 1104, 0, - 0, 1127, 1105, 0, 0, 1128, 1106, 1128, 1128, 1130, - 1126, 1130, 1130, 1103, 1104, 0, 0, 1139, 1105, 1127, - - 1139, 0, 1106, 1129, 1124, 1129, 1129, 1131, 0, 1131, - 1131, 0, 1132, 1129, 1132, 1132, 0, 1133, 1128, 1133, - 1133, 1134, 1130, 1134, 1134, 1135, 0, 1135, 1135, 1136, - 1139, 1136, 1136, 0, 1137, 0, 1129, 1137, 1138, 1140, - 1131, 1138, 1140, 1131, 1137, 1132, 0, 0, 1141, 1140, - 1133, 1141, 1142, 1138, 1134, 1142, 1143, 1144, 1135, 1143, - 1144, 1132, 1136, 0, 0, 1145, 1133, 1137, 1145, 0, - 1146, 1138, 1140, 1146, 1135, 0, 1147, 0, 1136, 1147, - 1158, 1141, 1158, 1158, 1159, 1142, 1159, 1159, 1142, 1143, - 1144, 0, 0, 1160, 1159, 1160, 1160, 1161, 1145, 1161, - - 1161, 1164, 0, 1146, 1164, 1143, 1144, 0, 1162, 1147, - 1162, 1162, 1163, 1158, 1163, 1163, 0, 1159, 1165, 1146, - 1166, 1165, 0, 1166, 1167, 1147, 1160, 1167, 1165, 1168, - 1161, 0, 1168, 1169, 1164, 1174, 1169, 1174, 1174, 1176, - 1161, 1162, 1176, 0, 1175, 1163, 1175, 1175, 0, 1177, - 0, 1165, 1177, 1166, 0, 0, 1189, 1167, 1180, 1189, - 1180, 1180, 1168, 0, 0, 0, 1169, 1167, 1174, 0, - 1181, 0, 1176, 1181, 0, 0, 0, 1175, 1184, 0, - 1184, 1184, 1177, 1185, 0, 0, 1185, 0, 1184, 1189, - 1175, 1180, 0, 1185, 0, 1177, 1188, 1180, 1188, 1188, - - 0, 0, 0, 1181, 0, 0, 0, 0, 0, 1181, - 0, 1184, 0, 0, 0, 0, 1185, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1188, - 1191, 1191, 1191, 1191, 1191, 1191, 1192, 1192, 1192, 1192, - 1192, 1192, 1193, 1193, 1193, 1193, 1193, 1193, 1194, 1194, - 1194, 1194, 1194, 1194, 1195, 1195, 1195, 1195, 1195, 1195, - 1196, 1196, 0, 1196, 1196, 1196, 1197, 1197, 1197, 1197, - 1197, 1197, 1198, 0, 0, 0, 1198, 1198, 1199, 1199, - 1199, 1199, 1199, 1199, 1200, 1200, 0, 0, 1200, 1200, - 1201, 1201, 1201, 1201, 1201, 1201, 1202, 1202, 0, 1202, - - 1202, 1202, 1203, 1203, 0, 1203, 1203, 1203, 1204, 1204, - 0, 0, 0, 1204, 1205, 1205, 0, 1205, 1205, 1205, - 1207, 1207, 0, 0, 0, 1207, 1190, 1190, 1190, 1190, - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, - 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190 + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 14, 170, 255, 14, 14, 80, 240, 80, 80, 81, + + 180, 81, 81, 14, 115, 170, 81, 115, 82, 403, + 82, 82, 83, 181, 83, 83, 14, 176, 240, 82, + 82, 84, 255, 84, 84, 85, 1216, 85, 85, 14, + 403, 80, 84, 84, 14, 81, 14, 85, 14, 180, + 115, 14, 14, 46, 82, 176, 46, 46, 83, 181, + 119, 165, 86, 119, 86, 86, 46, 84, 209, 165, + 431, 85, 165, 86, 86, 87, 165, 87, 87, 165, + 172, 88, 209, 88, 88, 89, 178, 89, 89, 178, + 172, 90, 46, 90, 90, 1210, 119, 46, 86, 46, + 88, 179, 172, 178, 46, 46, 89, 173, 431, 90, + + 173, 87, 91, 89, 91, 91, 190, 88, 173, 190, + 92, 89, 92, 92, 195, 195, 224, 90, 93, 224, + 93, 93, 94, 91, 94, 94, 179, 91, 412, 95, + 405, 95, 95, 97, 91, 97, 97, 93, 91, 412, + 93, 94, 92, 95, 93, 1192, 92, 93, 96, 405, + 96, 96, 94, 98, 93, 98, 98, 95, 94, 198, + 198, 394, 96, 97, 99, 95, 99, 99, 126, 97, + 100, 126, 100, 100, 102, 394, 102, 102, 98, 96, + 101, 397, 101, 101, 96, 103, 103, 103, 103, 98, + 395, 100, 102, 395, 101, 104, 99, 104, 104, 397, + + 99, 397, 101, 100, 126, 106, 100, 106, 106, 608, + 102, 105, 105, 105, 105, 107, 101, 107, 107, 577, + 127, 103, 108, 127, 108, 108, 109, 608, 109, 109, + 110, 104, 110, 110, 104, 111, 108, 111, 111, 127, + 577, 106, 112, 129, 112, 112, 129, 105, 235, 235, + 108, 107, 113, 396, 113, 113, 127, 114, 108, 114, + 114, 129, 109, 247, 247, 247, 110, 396, 112, 416, + 183, 111, 109, 416, 116, 116, 116, 116, 112, 129, + 110, 1190, 111, 118, 118, 118, 118, 182, 113, 113, + 112, 113, 120, 114, 121, 120, 183, 121, 183, 120, + + 123, 120, 182, 123, 124, 121, 121, 124, 259, 114, + 116, 123, 123, 259, 125, 398, 124, 125, 128, 118, + 130, 128, 398, 130, 182, 125, 125, 1162, 120, 131, + 121, 411, 131, 252, 252, 252, 123, 262, 262, 128, + 124, 130, 392, 392, 132, 130, 128, 132, 133, 408, + 125, 133, 130, 411, 128, 134, 130, 135, 134, 136, + 135, 131, 136, 132, 576, 131, 132, 133, 408, 134, + 132, 135, 137, 132, 138, 137, 409, 138, 133, 139, + 132, 576, 139, 134, 133, 393, 393, 140, 135, 136, + 140, 134, 409, 135, 587, 136, 141, 137, 417, 141, + + 139, 140, 142, 142, 142, 142, 138, 417, 137, 140, + 138, 587, 139, 143, 141, 139, 143, 144, 144, 144, + 144, 401, 145, 140, 145, 145, 146, 147, 401, 146, + 147, 145, 141, 148, 149, 1159, 148, 149, 142, 150, + 151, 147, 150, 151, 152, 399, 406, 152, 399, 143, + 402, 153, 143, 144, 153, 147, 413, 402, 145, 413, + 406, 404, 146, 147, 404, 184, 151, 410, 184, 148, + 149, 154, 154, 154, 154, 150, 151, 422, 404, 148, + 152, 152, 410, 152, 149, 1157, 150, 153, 151, 156, + 156, 156, 156, 175, 175, 175, 175, 177, 177, 177, + + 177, 184, 266, 153, 266, 266, 422, 154, 185, 185, + 185, 185, 187, 187, 187, 187, 189, 189, 189, 189, + 261, 261, 261, 261, 267, 156, 267, 267, 268, 268, + 268, 268, 1155, 177, 269, 269, 269, 269, 266, 271, + 271, 271, 271, 274, 185, 274, 274, 414, 187, 415, + 274, 430, 189, 272, 272, 272, 272, 427, 414, 275, + 267, 275, 275, 916, 268, 276, 275, 276, 276, 610, + 269, 415, 426, 261, 278, 271, 278, 278, 418, 274, + 277, 277, 277, 277, 430, 427, 278, 277, 279, 424, + 279, 279, 418, 916, 280, 275, 280, 280, 426, 279, + + 279, 276, 281, 610, 281, 281, 280, 424, 424, 282, + 278, 282, 282, 458, 281, 283, 277, 283, 283, 325, + 282, 282, 325, 284, 279, 284, 284, 458, 1030, 285, + 280, 285, 285, 286, 425, 286, 286, 284, 281, 287, + 283, 287, 287, 578, 288, 282, 288, 288, 578, 419, + 289, 283, 289, 289, 285, 325, 1030, 287, 288, 284, + 419, 584, 286, 419, 286, 285, 425, 428, 584, 286, + 428, 290, 289, 290, 290, 287, 291, 429, 291, 291, + 288, 292, 468, 292, 292, 468, 289, 579, 293, 290, + 293, 293, 429, 294, 291, 294, 294, 295, 579, 295, + + 295, 326, 293, 296, 326, 296, 296, 290, 297, 1153, + 297, 297, 291, 292, 429, 582, 293, 292, 298, 592, + 298, 298, 295, 294, 293, 299, 592, 299, 299, 294, + 582, 296, 300, 295, 300, 300, 589, 326, 297, 296, + 301, 589, 301, 301, 297, 298, 302, 575, 302, 302, + 303, 299, 303, 303, 298, 304, 335, 304, 304, 335, + 302, 299, 301, 575, 305, 300, 305, 305, 300, 586, + 1102, 307, 303, 307, 307, 306, 301, 306, 306, 305, + 590, 308, 302, 308, 308, 586, 303, 311, 304, 311, + 311, 304, 335, 590, 574, 306, 307, 574, 1102, 313, + + 305, 313, 313, 308, 595, 351, 308, 307, 351, 595, + 741, 306, 309, 309, 309, 309, 314, 308, 314, 314, + 581, 1152, 318, 311, 318, 318, 594, 311, 315, 315, + 315, 315, 741, 594, 581, 313, 316, 351, 316, 316, + 317, 351, 317, 317, 321, 602, 321, 321, 309, 585, + 602, 319, 314, 319, 319, 752, 1020, 593, 318, 318, + 320, 593, 320, 320, 315, 316, 316, 1020, 476, 585, + 321, 476, 316, 752, 320, 322, 317, 322, 322, 323, + 321, 323, 323, 317, 580, 742, 324, 319, 324, 324, + 319, 583, 321, 580, 583, 742, 320, 327, 327, 327, + + 327, 328, 328, 328, 328, 330, 330, 330, 330, 333, + 1116, 322, 333, 597, 588, 323, 333, 588, 333, 322, + 476, 597, 324, 331, 331, 331, 331, 334, 323, 601, + 334, 588, 337, 327, 334, 337, 334, 328, 601, 338, + 339, 330, 338, 339, 337, 333, 336, 336, 336, 336, + 338, 338, 339, 336, 340, 336, 342, 340, 341, 342, + 591, 341, 344, 334, 343, 344, 340, 343, 337, 341, + 341, 599, 600, 760, 345, 338, 339, 345, 343, 600, + 591, 342, 336, 346, 605, 347, 346, 344, 347, 760, + 340, 599, 342, 348, 341, 750, 348, 740, 344, 347, + + 343, 346, 740, 345, 349, 345, 350, 349, 750, 350, + 345, 352, 596, 353, 352, 348, 353, 605, 603, 346, + 354, 347, 349, 354, 350, 352, 596, 355, 356, 348, + 355, 356, 357, 359, 358, 357, 359, 358, 361, 352, + 349, 361, 350, 353, 603, 354, 743, 352, 743, 353, + 360, 362, 361, 360, 362, 355, 354, 609, 356, 357, + 358, 768, 363, 355, 356, 363, 359, 607, 357, 359, + 358, 768, 360, 362, 361, 364, 365, 366, 364, 365, + 366, 367, 371, 1113, 367, 371, 360, 362, 739, 609, + 364, 368, 368, 368, 368, 363, 365, 739, 363, 748, + + 607, 377, 366, 367, 377, 744, 367, 370, 370, 370, + 370, 364, 365, 366, 744, 770, 376, 367, 371, 376, + 748, 373, 371, 373, 373, 1111, 374, 368, 374, 374, + 373, 375, 375, 375, 375, 374, 378, 377, 379, 378, + 375, 379, 746, 912, 377, 376, 376, 380, 382, 746, + 380, 382, 376, 381, 770, 383, 381, 373, 383, 754, + 384, 380, 374, 384, 747, 912, 747, 375, 388, 388, + 388, 388, 378, 378, 379, 745, 754, 379, 389, 381, + 389, 389, 751, 380, 382, 385, 385, 385, 385, 381, + 432, 383, 382, 432, 753, 745, 384, 387, 387, 387, + + 387, 381, 751, 753, 383, 420, 420, 420, 420, 433, + 1109, 764, 433, 756, 389, 434, 434, 434, 434, 598, + 756, 385, 435, 435, 435, 435, 432, 437, 437, 437, + 437, 755, 764, 387, 438, 438, 438, 438, 439, 598, + 439, 439, 598, 761, 755, 433, 440, 440, 440, 440, + 761, 434, 442, 442, 442, 442, 769, 749, 435, 474, + 474, 474, 474, 437, 482, 482, 482, 482, 483, 483, + 483, 483, 749, 769, 439, 484, 484, 484, 484, 757, + 759, 757, 440, 486, 486, 486, 486, 487, 487, 487, + 487, 489, 489, 489, 489, 490, 490, 490, 490, 762, + + 759, 491, 490, 491, 491, 492, 762, 492, 492, 493, + 763, 493, 493, 491, 758, 1108, 758, 482, 763, 492, + 892, 483, 494, 487, 494, 494, 771, 495, 484, 495, + 495, 490, 496, 772, 496, 496, 493, 491, 773, 892, + 497, 492, 497, 497, 498, 493, 498, 498, 496, 499, + 494, 499, 499, 500, 765, 500, 500, 765, 494, 495, + 771, 1208, 497, 495, 498, 773, 791, 501, 496, 501, + 501, 766, 772, 766, 499, 502, 497, 502, 502, 500, + 498, 501, 791, 1107, 503, 499, 503, 503, 505, 500, + 505, 505, 504, 502, 504, 504, 1208, 767, 506, 767, + + 506, 506, 507, 501, 507, 507, 508, 890, 508, 508, + 534, 502, 506, 534, 568, 503, 505, 568, 507, 504, + 503, 893, 534, 893, 505, 1106, 506, 890, 504, 509, + 508, 509, 509, 510, 506, 510, 510, 511, 507, 511, + 511, 512, 508, 512, 512, 513, 534, 513, 513, 910, + 568, 510, 511, 514, 1029, 514, 514, 1052, 568, 512, + 509, 513, 1051, 910, 515, 509, 515, 515, 516, 510, + 516, 516, 517, 511, 517, 517, 902, 512, 514, 891, + 906, 513, 520, 515, 520, 520, 891, 894, 518, 514, + 518, 518, 519, 1029, 519, 519, 902, 894, 520, 516, + + 515, 906, 516, 517, 516, 1049, 518, 521, 517, 521, + 521, 1048, 519, 522, 522, 522, 522, 1047, 520, 523, + 523, 523, 523, 524, 518, 524, 524, 525, 519, 525, + 525, 895, 526, 895, 526, 526, 527, 535, 527, 527, + 535, 1045, 915, 521, 521, 528, 1044, 528, 528, 522, + 529, 535, 529, 529, 896, 523, 896, 907, 540, 524, + 897, 540, 897, 525, 1040, 527, 536, 524, 526, 536, + 1039, 932, 527, 535, 538, 915, 526, 538, 907, 525, + 540, 528, 530, 530, 530, 530, 529, 932, 528, 532, + 532, 532, 532, 536, 540, 529, 533, 533, 533, 533, + + 914, 537, 536, 533, 537, 533, 538, 903, 539, 542, + 538, 539, 542, 541, 543, 914, 541, 543, 530, 898, + 545, 898, 544, 545, 539, 544, 903, 547, 546, 537, + 547, 546, 533, 541, 542, 918, 544, 537, 545, 548, + 543, 905, 548, 549, 539, 542, 549, 1038, 551, 541, + 543, 551, 550, 1019, 547, 550, 545, 549, 544, 546, + 905, 918, 552, 547, 546, 552, 554, 548, 550, 554, + 1019, 549, 551, 553, 555, 548, 553, 555, 913, 549, + 556, 554, 557, 556, 551, 557, 558, 702, 550, 558, + 702, 553, 555, 552, 559, 1037, 556, 559, 552, 913, + + 560, 561, 554, 560, 561, 558, 1016, 557, 563, 553, + 555, 563, 562, 1099, 564, 562, 556, 564, 557, 561, + 702, 1035, 558, 702, 563, 559, 569, 1016, 559, 569, + 559, 560, 562, 899, 1099, 899, 560, 561, 565, 565, + 565, 565, 649, 570, 563, 649, 570, 565, 562, 1094, + 564, 564, 566, 566, 566, 566, 567, 567, 567, 567, + 571, 572, 569, 571, 572, 573, 1094, 950, 573, 604, + 604, 604, 604, 606, 565, 900, 606, 900, 569, 570, + 604, 901, 653, 901, 606, 653, 948, 570, 664, 571, + 664, 664, 567, 908, 649, 908, 571, 572, 909, 947, + + 909, 573, 1101, 1101, 572, 611, 611, 611, 611, 664, + 573, 613, 613, 613, 613, 646, 646, 646, 646, 655, + 655, 655, 655, 917, 664, 606, 657, 657, 657, 657, + 658, 658, 658, 658, 653, 660, 660, 660, 660, 946, + 661, 611, 661, 661, 911, 662, 911, 662, 662, 663, + 917, 663, 663, 665, 1025, 665, 665, 1013, 1104, 1013, + 661, 662, 667, 1028, 667, 667, 665, 666, 1025, 666, + 666, 669, 655, 669, 669, 703, 661, 668, 703, 668, + 668, 662, 663, 658, 669, 663, 1104, 666, 670, 665, + 670, 670, 1014, 667, 1014, 668, 703, 671, 667, 671, + + 671, 1028, 672, 666, 672, 672, 673, 669, 673, 673, + 1024, 703, 674, 668, 674, 674, 675, 1024, 675, 675, + 670, 945, 1149, 671, 670, 676, 672, 676, 676, 1015, + 944, 1015, 677, 671, 677, 677, 675, 673, 672, 943, + 942, 674, 673, 1017, 678, 1017, 678, 678, 674, 1149, + 1031, 811, 675, 676, 811, 707, 677, 679, 707, 679, + 679, 676, 678, 680, 940, 680, 680, 1027, 677, 681, + 679, 681, 681, 707, 1027, 682, 680, 682, 682, 683, + 678, 683, 683, 684, 937, 684, 684, 685, 1031, 685, + 685, 707, 686, 679, 686, 686, 1021, 683, 1021, 680, + + 681, 684, 682, 811, 936, 681, 685, 687, 935, 687, + 687, 682, 1096, 904, 688, 683, 688, 688, 904, 684, + 1022, 687, 1022, 685, 686, 1188, 1096, 688, 686, 689, + 1215, 689, 689, 690, 904, 690, 690, 1023, 691, 1023, + 691, 691, 689, 687, 692, 1050, 692, 692, 1050, 695, + 688, 695, 695, 1188, 690, 693, 693, 693, 693, 694, + 701, 694, 694, 701, 711, 689, 691, 711, 1215, 690, + 696, 934, 696, 696, 691, 697, 701, 697, 697, 698, + 692, 698, 698, 1219, 699, 695, 699, 699, 711, 933, + 700, 693, 931, 700, 692, 694, 701, 1050, 1018, 704, + + 711, 695, 704, 1018, 694, 708, 696, 1026, 708, 1026, + 700, 697, 704, 705, 1219, 698, 705, 698, 708, 1018, + 699, 706, 696, 1095, 706, 697, 700, 709, 710, 712, + 709, 710, 712, 705, 1095, 704, 699, 713, 923, 921, + 713, 708, 714, 715, 716, 714, 715, 716, 721, 705, + 720, 721, 706, 720, 710, 920, 919, 706, 717, 709, + 712, 717, 714, 709, 710, 712, 713, 722, 716, 718, + 722, 715, 718, 713, 719, 721, 717, 719, 714, 715, + 716, 720, 718, 813, 721, 722, 720, 719, 723, 724, + 725, 723, 724, 725, 717, 726, 812, 729, 726, 727, + + 729, 728, 727, 722, 728, 718, 723, 810, 724, 726, + 719, 809, 727, 730, 728, 807, 730, 731, 729, 1093, + 731, 1093, 725, 806, 723, 724, 725, 732, 732, 732, + 732, 726, 1097, 729, 805, 727, 733, 728, 804, 733, + 734, 730, 735, 734, 801, 735, 1097, 736, 737, 730, + 736, 737, 738, 731, 774, 738, 1098, 774, 1098, 814, + 800, 814, 814, 732, 799, 774, 816, 731, 816, 816, + 798, 815, 733, 815, 815, 1147, 734, 818, 735, 818, + 818, 733, 1147, 736, 737, 1100, 737, 1100, 738, 815, + 814, 1146, 734, 1146, 735, 814, 816, 736, 817, 797, + + 817, 817, 816, 1144, 738, 856, 774, 815, 856, 796, + 795, 817, 819, 818, 819, 819, 820, 1144, 820, 820, + 852, 792, 821, 852, 821, 821, 790, 789, 822, 820, + 822, 822, 788, 819, 817, 821, 823, 787, 823, 823, + 824, 856, 824, 824, 825, 1145, 825, 825, 819, 823, + 786, 852, 820, 824, 1186, 785, 852, 825, 821, 1145, + 826, 1186, 826, 826, 822, 827, 853, 827, 827, 853, + 784, 860, 823, 826, 860, 1148, 824, 1148, 827, 828, + 825, 828, 828, 829, 853, 829, 829, 1185, 830, 1185, + 830, 830, 831, 782, 831, 831, 826, 832, 781, 832, + + 832, 827, 853, 833, 830, 833, 833, 860, 780, 834, + 828, 834, 834, 829, 835, 828, 835, 835, 854, 829, + 830, 854, 831, 836, 830, 836, 836, 837, 831, 837, + 837, 778, 838, 832, 838, 838, 836, 777, 776, 833, + 837, 834, 1187, 775, 1187, 834, 835, 654, 854, 839, + 835, 839, 839, 840, 854, 840, 840, 838, 841, 836, + 841, 841, 839, 837, 842, 652, 842, 842, 838, 843, + 651, 843, 843, 844, 650, 844, 844, 845, 648, 845, + 845, 846, 645, 846, 846, 839, 840, 644, 847, 840, + 847, 847, 643, 848, 841, 848, 848, 642, 641, 844, + + 842, 843, 640, 639, 849, 843, 849, 849, 850, 844, + 850, 850, 851, 845, 851, 851, 857, 846, 638, 857, + 855, 845, 846, 855, 847, 858, 637, 636, 858, 848, + 635, 848, 859, 855, 634, 859, 861, 857, 858, 861, + 849, 849, 633, 1114, 850, 859, 1114, 632, 851, 861, + 862, 631, 857, 862, 863, 867, 855, 863, 867, 630, + 850, 858, 864, 862, 851, 864, 865, 863, 859, 865, + 866, 868, 861, 866, 868, 864, 629, 870, 869, 865, + 870, 869, 1207, 628, 1207, 867, 862, 868, 627, 871, + 863, 867, 871, 626, 872, 1114, 873, 872, 864, 873, + + 625, 866, 865, 868, 624, 623, 866, 868, 869, 874, + 622, 621, 874, 870, 869, 876, 875, 620, 876, 875, + 877, 878, 874, 877, 878, 871, 872, 619, 873, 875, + 872, 879, 873, 877, 879, 880, 881, 618, 880, 881, + 876, 883, 617, 882, 883, 874, 882, 884, 616, 615, + 884, 876, 875, 614, 878, 885, 877, 878, 885, 886, + 481, 1115, 886, 887, 1115, 480, 887, 879, 881, 882, + 888, 880, 881, 888, 1223, 889, 1223, 883, 889, 882, + 479, 1117, 478, 884, 1117, 883, 477, 475, 884, 473, + 951, 885, 951, 951, 472, 886, 471, 886, 470, 887, + + 887, 469, 952, 951, 952, 952, 888, 953, 467, 953, + 953, 889, 466, 1115, 954, 952, 954, 954, 465, 464, + 953, 955, 888, 955, 955, 463, 951, 889, 956, 462, + 956, 956, 957, 1117, 957, 957, 461, 958, 952, 958, + 958, 460, 959, 953, 959, 959, 960, 459, 960, 960, + 954, 457, 961, 955, 961, 961, 962, 955, 962, 962, + 456, 455, 454, 963, 956, 963, 963, 982, 957, 964, + 982, 964, 964, 958, 985, 453, 963, 985, 959, 452, + 982, 965, 960, 965, 965, 964, 451, 967, 961, 967, + 967, 966, 962, 966, 966, 968, 450, 968, 968, 963, + + 967, 964, 449, 982, 970, 964, 970, 970, 968, 965, + 985, 448, 969, 966, 969, 969, 971, 965, 971, 971, + 447, 1158, 446, 967, 1158, 969, 972, 966, 972, 972, + 973, 968, 973, 973, 974, 445, 974, 974, 444, 976, + 970, 976, 976, 975, 972, 975, 975, 977, 969, 977, + 977, 978, 971, 978, 978, 443, 975, 976, 979, 974, + 979, 979, 972, 391, 987, 264, 973, 987, 260, 980, + 974, 980, 980, 1158, 981, 976, 981, 981, 983, 975, + 257, 983, 256, 977, 254, 984, 253, 978, 984, 988, + 986, 983, 988, 986, 979, 251, 977, 979, 984, 989, + + 987, 978, 989, 990, 991, 980, 990, 991, 992, 993, + 981, 992, 993, 246, 983, 242, 994, 995, 980, 994, + 995, 984, 986, 241, 239, 988, 986, 996, 997, 994, + 996, 997, 238, 995, 998, 989, 237, 998, 999, 990, + 991, 999, 236, 1000, 992, 993, 1000, 998, 233, 995, + 997, 999, 994, 995, 1001, 996, 1000, 1001, 1002, 1003, + 231, 1002, 1003, 996, 997, 1004, 1005, 230, 1004, 1005, + 998, 229, 1006, 1008, 999, 1006, 1008, 1003, 1007, 1000, + 1009, 1007, 225, 1009, 1010, 1006, 223, 1010, 222, 1011, + 1001, 1005, 1011, 221, 1002, 1003, 1007, 1012, 220, 219, + + 1012, 1004, 1005, 1053, 218, 1053, 1053, 217, 1006, 1008, + 1054, 216, 1054, 1054, 1007, 1055, 1009, 1055, 1055, 215, + 1010, 214, 1008, 1010, 1056, 1011, 1056, 1056, 213, 1057, + 1009, 1057, 1057, 1012, 212, 211, 210, 1056, 1011, 1053, + 1058, 1073, 1058, 1058, 1073, 1059, 1054, 1059, 1059, 208, + 1060, 1055, 1060, 1060, 1061, 207, 1061, 1061, 206, 1062, + 1056, 1062, 1062, 205, 204, 1057, 203, 1059, 1058, 1063, + 1074, 1063, 1063, 1074, 201, 1060, 1058, 1073, 200, 1061, + 1064, 1059, 1064, 1064, 199, 1065, 1060, 1065, 1065, 197, + 1061, 1066, 196, 1066, 1066, 1062, 194, 1067, 1065, 1067, + + 1067, 1068, 192, 1068, 1068, 1063, 1074, 1069, 1075, 1069, + 1069, 1075, 1077, 159, 1068, 1077, 1064, 1069, 75, 72, + 70, 1065, 1070, 1066, 1070, 1070, 1071, 1066, 1071, 1071, + 68, 66, 1072, 1067, 1072, 1072, 1076, 1068, 1078, 1076, + 63, 1078, 58, 1069, 1075, 55, 52, 1079, 1077, 1076, + 1079, 1080, 1081, 1082, 1080, 1081, 1082, 1083, 1070, 51, + 1083, 1070, 1071, 50, 1084, 45, 1078, 1084, 1072, 1079, + 1086, 1072, 1076, 1086, 1078, 44, 1080, 1081, 1071, 1085, + 41, 1087, 1085, 1079, 1087, 40, 39, 1080, 1081, 1082, + 34, 1088, 1085, 1083, 1088, 1089, 1090, 32, 1089, 1090, + + 1084, 30, 1086, 27, 1088, 1089, 1086, 1091, 1092, 1103, + 1091, 1092, 1103, 23, 21, 1085, 1118, 1087, 1118, 1118, + 1103, 1119, 1131, 1119, 1119, 1131, 1120, 1088, 1120, 1120, + 17, 1089, 1090, 0, 0, 1090, 1121, 0, 1121, 1121, + 0, 0, 1135, 1091, 1092, 1135, 1119, 1092, 0, 1121, + 0, 1120, 1118, 1122, 0, 1122, 1122, 1119, 1131, 1091, + 1135, 1103, 1120, 1123, 0, 1123, 1123, 1124, 0, 1124, + 1124, 1122, 1121, 1125, 1134, 1125, 1125, 1134, 1135, 1126, + 1124, 1126, 1126, 1127, 0, 1127, 1127, 1134, 1128, 1122, + 1128, 1128, 1129, 1132, 1129, 1129, 1132, 0, 1130, 1123, + + 1130, 1130, 1133, 1124, 0, 1133, 0, 0, 0, 1125, + 1134, 1136, 0, 1137, 1136, 1126, 1137, 1126, 1132, 1127, + 1138, 0, 1139, 1138, 1128, 1139, 1137, 1133, 1129, 1132, + 1140, 0, 0, 1140, 1130, 1127, 1141, 0, 1133, 1141, + 1128, 0, 1142, 1143, 1129, 1142, 1143, 1136, 1150, 1137, + 1130, 1150, 1151, 0, 1161, 1151, 1138, 1161, 1139, 1150, + 1139, 0, 1163, 1151, 1163, 1163, 1140, 1164, 0, 1164, + 1164, 1165, 1141, 1165, 1165, 1163, 0, 1174, 1142, 1143, + 1174, 0, 1140, 0, 1166, 1164, 1166, 1166, 1141, 1167, + 1174, 1167, 1167, 0, 1142, 1143, 0, 1166, 1163, 1168, + + 1150, 1168, 1168, 1164, 1151, 0, 1161, 1165, 1169, 0, + 1169, 1169, 1170, 1174, 1170, 1170, 1171, 0, 1171, 1171, + 1166, 1172, 0, 1172, 1172, 1167, 1173, 1175, 1173, 1173, + 1175, 1176, 0, 1177, 1176, 1168, 1177, 0, 1168, 1178, + 1179, 0, 1178, 1179, 1169, 1175, 1177, 1180, 1170, 0, + 1180, 1181, 1171, 1182, 1181, 1183, 1182, 1172, 1183, 0, + 1169, 0, 1173, 1175, 1170, 1184, 0, 1176, 1184, 1177, + 0, 0, 0, 1172, 0, 1178, 1179, 0, 1173, 1179, + 0, 0, 1195, 1180, 1195, 1195, 0, 1181, 0, 1182, + 0, 1183, 1196, 1201, 1196, 1196, 1201, 1203, 0, 1180, + + 1203, 1184, 0, 1181, 0, 1196, 1197, 1183, 1197, 1197, + 1198, 1202, 1198, 1198, 1202, 0, 0, 1184, 1195, 1199, + 0, 1199, 1199, 1200, 1202, 1200, 1200, 1204, 1196, 1201, + 1204, 1205, 1206, 1203, 1205, 1206, 1211, 0, 1211, 1211, + 0, 1212, 1197, 1212, 1212, 1213, 1198, 1202, 1213, 1214, + 0, 1217, 1214, 1217, 1217, 1199, 1198, 0, 1218, 1200, + 0, 1218, 0, 1204, 0, 0, 1226, 1205, 1206, 1226, + 0, 1222, 1211, 1204, 1222, 0, 1221, 1212, 1221, 1221, + 1225, 1213, 1225, 1225, 1222, 1214, 0, 1217, 0, 1221, + 1212, 0, 0, 1217, 1218, 0, 0, 0, 1214, 0, + + 1218, 0, 1226, 0, 0, 0, 0, 1222, 0, 0, + 0, 0, 1221, 0, 0, 0, 1225, 1228, 1228, 1228, + 1228, 1228, 1228, 1229, 1229, 1229, 1229, 1229, 1229, 1230, + 1230, 1230, 1230, 1230, 1230, 1231, 1231, 1231, 1231, 1231, + 1231, 1232, 1232, 1232, 1232, 1232, 1232, 1233, 1233, 0, + 0, 1233, 1233, 1234, 1234, 0, 1234, 1234, 1234, 1235, + 1235, 1235, 1235, 1235, 1235, 1236, 0, 0, 0, 1236, + 1236, 1237, 1237, 1237, 1237, 1237, 1237, 1238, 1238, 0, + 0, 1238, 1238, 1239, 1239, 1239, 1239, 1239, 1239, 1240, + 1240, 0, 1240, 1240, 1240, 1241, 1241, 0, 1241, 1241, + + 1241, 1242, 1242, 0, 1242, 1242, 1242, 1243, 1243, 0, + 0, 0, 1243, 1244, 1244, 0, 0, 1244, 1244, 1245, + 1245, 0, 1245, 1245, 1245, 1247, 1247, 0, 0, 0, + 1247, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, + 1227, 1227, 1227, 1227, 1227, 1227, 1227 } ; /* Table of booleans, true if rule could match eol. */ -static yyconst flex_int32_t yy_rule_can_match_eol[86] = +static yyconst flex_int32_t yy_rule_can_match_eol[88] = { 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, }; + 0, 0, 0, 0, 1, 0, 0, 0, }; static yy_state_type yy_last_accepting_state; static char *yy_last_accepting_cpos; @@ -1784,7 +1843,8 @@ static void clean() // Enter a new state, first clearing yylval of junk. #define CBEGIN(x) do { BEGIN(x); clean(); } while (0) -static void post_proc_text(char *text, bool trim_right, int strip_trailing) +static void post_proc_text(char *text, bool trim_right, + int strip_trailing, int strip_leading) { char *s = NULL; if (trim_right) @@ -1800,23 +1860,34 @@ static void post_proc_text(char *text, bool trim_right, int strip_trailing) while (s >= text && --strip_trailing >= 0) *s-- = 0; } + if (strip_leading) + { + const int original_length = strlen(text); + if (original_length > strip_leading) + memmove(text, text + strip_leading, + original_length - strip_leading); + if (original_length >= strip_leading) + text[original_length - strip_leading] = 0; + } } -static char *copy_text(bool trim_right, int strip_trailing) +static char *copy_text(bool trim_right, int strip_trailing, int strip_leading) { char *newstring = NULL; if ((yylval.text = newstring = strdup(yytext))) { alloced = true; - post_proc_text(newstring, trim_right, strip_trailing); + post_proc_text(newstring, trim_right, strip_trailing, strip_leading); } return (newstring); } -static void settext(bool trim_right = false, int strip_trailing = 0) +static void settext(bool trim_right = false, + int strip_trailing = 0, + int strip_leading = 0) { clean(); - char *newstring = copy_text(trim_right, strip_trailing); + char *newstring = copy_text(trim_right, strip_trailing, strip_leading); yylval.text = newstring; } @@ -1847,7 +1918,7 @@ static void cattext(bool trim_right = false, int strip_trailing = 0) alloced = true; strcpy(newbuf, yylval.text); strcat(newbuf, yytext); - post_proc_text(newbuf, trim_right, strip_trailing); + post_proc_text(newbuf, trim_right, strip_trailing, 0); if (was_alloced) free((void*) yylval.text); yylval.text = newbuf; @@ -1861,7 +1932,7 @@ static void cattext(bool trim_right = false, int strip_trailing = 0) -#line 1865 "levcomp.lex.cc" +#line 1936 "levcomp.lex.cc" #define INITIAL 0 #define MAPDEF 1 @@ -1907,7 +1978,7 @@ FILE *yyget_out (void ); void yyset_out (FILE * out_str ); -yy_size_t yyget_leng (void ); +int yyget_leng (void ); char *yyget_text (void ); @@ -1968,7 +2039,7 @@ static int input (void ); if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - yy_size_t n; \ + int n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -2053,10 +2124,10 @@ YY_DECL register char *yy_cp, *yy_bp; register int yy_act; -#line 133 "levcomp.lpp" +#line 145 "levcomp.lpp" -#line 2060 "levcomp.lex.cc" +#line 2131 "levcomp.lex.cc" if ( !(yy_init) ) { @@ -2110,13 +2181,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1191 ) + if ( yy_current_state >= 1228 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_current_state != 1190 ); + while ( yy_current_state != 1227 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -2148,12 +2219,12 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 135 "levcomp.lpp" +#line 147 "levcomp.lpp" { BEGIN(INITIAL); } YY_BREAK case 2: YY_RULE_SETUP -#line 137 "levcomp.lpp" +#line 149 "levcomp.lpp" { settext(true); return MAP_LINE; @@ -2162,23 +2233,23 @@ YY_RULE_SETUP case 3: /* rule 3 can match eol */ YY_RULE_SETUP -#line 142 "levcomp.lpp" +#line 154 "levcomp.lpp" return CHARACTER; YY_BREAK case 4: YY_RULE_SETUP -#line 143 "levcomp.lpp" +#line 155 "levcomp.lpp" return CHARACTER; YY_BREAK case 5: YY_RULE_SETUP -#line 144 "levcomp.lpp" +#line 156 "levcomp.lpp" return CHARACTER; YY_BREAK case 6: /* rule 6 can match eol */ YY_RULE_SETUP -#line 146 "levcomp.lpp" +#line 158 "levcomp.lpp" ; YY_BREAK case 7: @@ -2186,7 +2257,7 @@ case 7: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 148 "levcomp.lpp" +#line 160 "levcomp.lpp" { BEGIN(INITIAL); } YY_BREAK case 8: @@ -2194,7 +2265,7 @@ case 8: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 149 "levcomp.lpp" +#line 161 "levcomp.lpp" { settext(true, 2); BEGIN(INITIAL); @@ -2203,7 +2274,7 @@ YY_RULE_SETUP YY_BREAK case 9: YY_RULE_SETUP -#line 154 "levcomp.lpp" +#line 166 "levcomp.lpp" { settext(true); return LUA_LINE; @@ -2212,7 +2283,7 @@ YY_RULE_SETUP case 10: /* rule 10 can match eol */ YY_RULE_SETUP -#line 158 "levcomp.lpp" +#line 170 "levcomp.lpp" ; YY_BREAK case 11: @@ -2220,7 +2291,7 @@ case 11: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 160 "levcomp.lpp" +#line 172 "levcomp.lpp" { settext(true); return LUA_LINE; @@ -2229,12 +2300,12 @@ YY_RULE_SETUP case 12: /* rule 12 can match eol */ YY_RULE_SETUP -#line 164 "levcomp.lpp" +#line 176 "levcomp.lpp" { BEGIN(INITIAL); } YY_BREAK case 13: YY_RULE_SETUP -#line 166 "levcomp.lpp" +#line 178 "levcomp.lpp" { settext(); return STRING; @@ -2243,24 +2314,24 @@ YY_RULE_SETUP case 14: /* rule 14 can match eol */ YY_RULE_SETUP -#line 171 "levcomp.lpp" +#line 183 "levcomp.lpp" ; YY_BREAK case 15: YY_RULE_SETUP -#line 172 "levcomp.lpp" +#line 184 "levcomp.lpp" ; YY_BREAK case 16: /* rule 16 can match eol */ YY_RULE_SETUP -#line 173 "levcomp.lpp" +#line 185 "levcomp.lpp" { BEGIN(INITIAL); } YY_BREAK case 17: /* rule 17 can match eol */ YY_RULE_SETUP -#line 175 "levcomp.lpp" +#line 187 "levcomp.lpp" { cattext(true, 1); } @@ -2268,12 +2339,12 @@ YY_RULE_SETUP case 18: /* rule 18 can match eol */ YY_RULE_SETUP -#line 179 "levcomp.lpp" +#line 191 "levcomp.lpp" ; YY_BREAK case 19: YY_RULE_SETUP -#line 181 "levcomp.lpp" +#line 193 "levcomp.lpp" { cattext(); return ITEM_INFO; @@ -2281,30 +2352,30 @@ YY_RULE_SETUP YY_BREAK case 20: YY_RULE_SETUP -#line 186 "levcomp.lpp" +#line 198 "levcomp.lpp" { clean(); return COMMA; } YY_BREAK case 21: YY_RULE_SETUP -#line 187 "levcomp.lpp" +#line 199 "levcomp.lpp" ; YY_BREAK case 22: /* rule 22 can match eol */ YY_RULE_SETUP -#line 188 "levcomp.lpp" +#line 200 "levcomp.lpp" { BEGIN(INITIAL); } YY_BREAK case 23: /* rule 23 can match eol */ YY_RULE_SETUP -#line 190 "levcomp.lpp" +#line 202 "levcomp.lpp" { BEGIN(INITIAL); } YY_BREAK case 24: /* rule 24 can match eol */ YY_RULE_SETUP -#line 192 "levcomp.lpp" +#line 204 "levcomp.lpp" { cattext(true, 1); } @@ -2312,12 +2383,12 @@ YY_RULE_SETUP case 25: /* rule 25 can match eol */ YY_RULE_SETUP -#line 196 "levcomp.lpp" +#line 208 "levcomp.lpp" ; YY_BREAK case 26: YY_RULE_SETUP -#line 198 "levcomp.lpp" +#line 210 "levcomp.lpp" { cattext(); return MONSTER_NAME; @@ -2325,18 +2396,18 @@ YY_RULE_SETUP YY_BREAK case 27: YY_RULE_SETUP -#line 203 "levcomp.lpp" +#line 215 "levcomp.lpp" { clean(); return COMMA; } YY_BREAK case 28: YY_RULE_SETUP -#line 204 "levcomp.lpp" +#line 216 "levcomp.lpp" ; YY_BREAK case 29: /* rule 29 can match eol */ YY_RULE_SETUP -#line 206 "levcomp.lpp" +#line 218 "levcomp.lpp" { cattext(true, 1); } @@ -2344,19 +2415,19 @@ YY_RULE_SETUP case 30: /* rule 30 can match eol */ YY_RULE_SETUP -#line 210 "levcomp.lpp" +#line 222 "levcomp.lpp" ; YY_BREAK case 31: YY_RULE_SETUP -#line 212 "levcomp.lpp" +#line 224 "levcomp.lpp" { cattext(); } YY_BREAK case 32: YY_RULE_SETUP -#line 216 "levcomp.lpp" +#line 228 "levcomp.lpp" cattext(); YY_BREAK case 33: @@ -2364,12 +2435,12 @@ case 33: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 218 "levcomp.lpp" +#line 230 "levcomp.lpp" { BEGIN(INITIAL); str_check(); return STRING; } YY_BREAK case 34: YY_RULE_SETUP -#line 220 "levcomp.lpp" +#line 232 "levcomp.lpp" ; YY_BREAK case 35: @@ -2377,265 +2448,278 @@ case 35: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 222 "levcomp.lpp" +#line 234 "levcomp.lpp" { BEGIN(MAPDEF); } YY_BREAK case 36: YY_RULE_SETUP -#line 224 "levcomp.lpp" +#line 236 "levcomp.lpp" { BEGIN(LUA_ONELINER); return MAIN; } YY_BREAK case 37: YY_RULE_SETUP -#line 226 "levcomp.lpp" +#line 238 "levcomp.lpp" { BEGIN(LUA); return PRELUDE; } YY_BREAK case 38: YY_RULE_SETUP -#line 227 "levcomp.lpp" +#line 239 "levcomp.lpp" { BEGIN(LUA); return MAIN; } YY_BREAK case 39: YY_RULE_SETUP -#line 228 "levcomp.lpp" +#line 240 "levcomp.lpp" { BEGIN(LUA); return MAIN; } YY_BREAK case 40: YY_RULE_SETUP -#line 229 "levcomp.lpp" +#line 241 "levcomp.lpp" { BEGIN(LUA); return VALIDATE; } YY_BREAK case 41: YY_RULE_SETUP -#line 230 "levcomp.lpp" +#line 242 "levcomp.lpp" { BEGIN(LUA); return VETO; } YY_BREAK case 42: YY_RULE_SETUP -#line 231 "levcomp.lpp" +#line 243 "levcomp.lpp" { BEGIN(LUA); return EPILOGUE; } YY_BREAK case 43: YY_RULE_SETUP -#line 233 "levcomp.lpp" +#line 245 "levcomp.lpp" { CBEGIN(ARGUMENT); return NAME; } YY_BREAK case 44: YY_RULE_SETUP -#line 234 "levcomp.lpp" +#line 246 "levcomp.lpp" { CBEGIN(ARGUMENT); return DEFAULT_DEPTH; } YY_BREAK case 45: YY_RULE_SETUP -#line 235 "levcomp.lpp" +#line 247 "levcomp.lpp" { CBEGIN(ARGUMENT); return DESC; } YY_BREAK case 46: YY_RULE_SETUP -#line 236 "levcomp.lpp" +#line 248 "levcomp.lpp" { CBEGIN(ARGUMENT); return DEPTH; } YY_BREAK case 47: YY_RULE_SETUP -#line 237 "levcomp.lpp" +#line 249 "levcomp.lpp" { CBEGIN(ARGUMENT); return ORIENT; } YY_BREAK case 48: YY_RULE_SETUP -#line 238 "levcomp.lpp" +#line 250 "levcomp.lpp" { CBEGIN(ARGUMENT); return PLACE; } YY_BREAK case 49: YY_RULE_SETUP -#line 239 "levcomp.lpp" +#line 251 "levcomp.lpp" { CBEGIN(ARGUMENT); return WELCOME; } YY_BREAK case 50: YY_RULE_SETUP -#line 240 "levcomp.lpp" +#line 252 "levcomp.lpp" return CHANCE; YY_BREAK case 51: YY_RULE_SETUP -#line 241 "levcomp.lpp" +#line 253 "levcomp.lpp" return WEIGHT; YY_BREAK case 52: YY_RULE_SETUP -#line 242 "levcomp.lpp" +#line 254 "levcomp.lpp" { CBEGIN(KEYWORDS); return TAGS; } YY_BREAK case 53: YY_RULE_SETUP -#line 243 "levcomp.lpp" +#line 255 "levcomp.lpp" { CBEGIN(KEYWORDS); return TAGS; } YY_BREAK case 54: YY_RULE_SETUP -#line 244 "levcomp.lpp" +#line 256 "levcomp.lpp" { CBEGIN(ARGUMENT); return LFLAGS; } YY_BREAK case 55: YY_RULE_SETUP -#line 245 "levcomp.lpp" +#line 257 "levcomp.lpp" { CBEGIN(ARGUMENT); return BFLAGS; } YY_BREAK case 56: YY_RULE_SETUP -#line 246 "levcomp.lpp" +#line 258 "levcomp.lpp" { CBEGIN(ITEM_LIST); return SUBST; } YY_BREAK case 57: YY_RULE_SETUP -#line 247 "levcomp.lpp" +#line 259 "levcomp.lpp" { CBEGIN(ITEM_LIST); return NSUBST; } YY_BREAK case 58: YY_RULE_SETUP -#line 248 "levcomp.lpp" +#line 260 "levcomp.lpp" { CBEGIN(ITEM_LIST); return COLOUR; } YY_BREAK case 59: YY_RULE_SETUP -#line 249 "levcomp.lpp" +#line 261 "levcomp.lpp" { CBEGIN(ARGUMENT); return LFLOORCOL; } YY_BREAK case 60: YY_RULE_SETUP -#line 250 "levcomp.lpp" +#line 262 "levcomp.lpp" { CBEGIN(ARGUMENT); return LROCKCOL; } YY_BREAK case 61: YY_RULE_SETUP -#line 251 "levcomp.lpp" +#line 263 "levcomp.lpp" { CBEGIN(ARGUMENT); return LFLOORTILE; } YY_BREAK case 62: YY_RULE_SETUP -#line 252 "levcomp.lpp" +#line 264 "levcomp.lpp" { CBEGIN(ARGUMENT); return LROCKTILE; } YY_BREAK case 63: YY_RULE_SETUP -#line 253 "levcomp.lpp" +#line 265 "levcomp.lpp" { CBEGIN(ITEM_LIST); return FTILE; } YY_BREAK case 64: YY_RULE_SETUP -#line 254 "levcomp.lpp" +#line 266 "levcomp.lpp" { CBEGIN(ITEM_LIST); return RTILE; } YY_BREAK case 65: YY_RULE_SETUP -#line 255 "levcomp.lpp" +#line 267 "levcomp.lpp" { CBEGIN(ITEM_LIST); return TILE; } YY_BREAK case 66: YY_RULE_SETUP -#line 256 "levcomp.lpp" +#line 268 "levcomp.lpp" { CBEGIN(ITEM_LIST); return FHEIGHT; } YY_BREAK case 67: YY_RULE_SETUP -#line 257 "levcomp.lpp" +#line 269 "levcomp.lpp" { CBEGIN(MNAME); return MONS; } YY_BREAK case 68: YY_RULE_SETUP -#line 258 "levcomp.lpp" +#line 270 "levcomp.lpp" { CBEGIN(ITEM_LIST); return ITEM; } YY_BREAK case 69: YY_RULE_SETUP -#line 259 "levcomp.lpp" +#line 271 "levcomp.lpp" { CBEGIN(ARGUMENT); return MARKER; } YY_BREAK case 70: YY_RULE_SETUP -#line 260 "levcomp.lpp" +#line 272 "levcomp.lpp" { CBEGIN(ITEM_LIST); return SHUFFLE; } YY_BREAK case 71: YY_RULE_SETUP -#line 262 "levcomp.lpp" +#line 274 "levcomp.lpp" { CBEGIN(ARGUMENT); return KFEAT; } YY_BREAK case 72: YY_RULE_SETUP -#line 263 "levcomp.lpp" +#line 275 "levcomp.lpp" { CBEGIN(ARGUMENT); return KITEM; } YY_BREAK case 73: YY_RULE_SETUP -#line 264 "levcomp.lpp" +#line 276 "levcomp.lpp" { CBEGIN(ARGUMENT); return KMONS; } YY_BREAK case 74: YY_RULE_SETUP -#line 265 "levcomp.lpp" +#line 277 "levcomp.lpp" { CBEGIN(ARGUMENT); return KMASK; } YY_BREAK case 75: YY_RULE_SETUP -#line 266 "levcomp.lpp" +#line 278 "levcomp.lpp" { CBEGIN(ARGUMENT); return KPROP; } YY_BREAK case 76: YY_RULE_SETUP -#line 267 "levcomp.lpp" +#line 279 "levcomp.lpp" { CBEGIN(ARGUMENT); return SUBVAULT; } YY_BREAK case 77: YY_RULE_SETUP -#line 269 "levcomp.lpp" +#line 281 "levcomp.lpp" return COMMA; YY_BREAK case 78: YY_RULE_SETUP -#line 271 "levcomp.lpp" +#line 283 "levcomp.lpp" return COLON; YY_BREAK case 79: YY_RULE_SETUP -#line 273 "levcomp.lpp" +#line 285 "levcomp.lpp" return PERC; YY_BREAK case 80: YY_RULE_SETUP -#line 275 "levcomp.lpp" +#line 286 "levcomp.lpp" +return DASH; + YY_BREAK +case 81: +YY_RULE_SETUP +#line 288 "levcomp.lpp" { clean(); - yylval.i = atoi(yytext); - return INTEGER; + yylval.f = strtod(yytext, NULL); + return NUMBER; } YY_BREAK -case 81: +case 82: YY_RULE_SETUP -#line 281 "levcomp.lpp" +#line 294 "levcomp.lpp" +{ + settext(true, 1, 1); + return STRING; + } + YY_BREAK +case 83: +YY_RULE_SETUP +#line 299 "levcomp.lpp" ; YY_BREAK -case 82: -/* rule 82 can match eol */ +case 84: +/* rule 84 can match eol */ YY_RULE_SETUP -#line 282 "levcomp.lpp" +#line 300 "levcomp.lpp" ; YY_BREAK -case 83: +case 85: YY_RULE_SETUP -#line 283 "levcomp.lpp" +#line 301 "levcomp.lpp" ; YY_BREAK -case 84: +case 86: YY_RULE_SETUP -#line 284 "levcomp.lpp" +#line 302 "levcomp.lpp" return CHARACTER; YY_BREAK -case 85: +case 87: YY_RULE_SETUP -#line 286 "levcomp.lpp" +#line 304 "levcomp.lpp" ECHO; YY_BREAK -#line 2639 "levcomp.lex.cc" +#line 2723 "levcomp.lex.cc" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(MAPDEF): case YY_STATE_EOF(LUA): @@ -2829,7 +2913,7 @@ static int yy_get_next_buffer (void) else { - yy_size_t num_to_read = + int num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; while ( num_to_read <= 0 ) @@ -2843,7 +2927,7 @@ static int yy_get_next_buffer (void) if ( b->yy_is_our_buffer ) { - yy_size_t new_size = b->yy_buf_size * 2; + int new_size = b->yy_buf_size * 2; if ( new_size <= 0 ) b->yy_buf_size += b->yy_buf_size / 8; @@ -2874,7 +2958,7 @@ static int yy_get_next_buffer (void) /* Read in more data. */ YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), - (yy_n_chars), num_to_read ); + (yy_n_chars), (size_t) num_to_read ); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); } @@ -2936,7 +3020,7 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1191 ) + if ( yy_current_state >= 1228 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2964,11 +3048,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1191 ) + if ( yy_current_state >= 1228 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 1190); + yy_is_jam = (yy_current_state == 1227); return yy_is_jam ? 0 : yy_current_state; } @@ -2985,7 +3069,7 @@ static int yy_get_next_buffer (void) if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) { /* need to shift things up to make room */ /* +2 for EOB chars. */ - register yy_size_t number_to_move = (yy_n_chars) + 2; + register int number_to_move = (yy_n_chars) + 2; register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; register char *source = @@ -3038,7 +3122,7 @@ static int yy_get_next_buffer (void) else { /* need more input */ - yy_size_t offset = (yy_c_buf_p) - (yytext_ptr); + int offset = (yy_c_buf_p) - (yytext_ptr); ++(yy_c_buf_p); switch ( yy_get_next_buffer( ) ) @@ -3062,7 +3146,7 @@ static int yy_get_next_buffer (void) case EOB_ACT_END_OF_FILE: { if ( yywrap( ) ) - return 0; + return EOF; if ( ! (yy_did_buffer_switch_on_eof) ) YY_NEW_FILE; @@ -3316,7 +3400,7 @@ void yypop_buffer_state (void) */ static void yyensure_buffer_stack (void) { - yy_size_t num_to_alloc; + int num_to_alloc; if (!(yy_buffer_stack)) { @@ -3413,11 +3497,12 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) * * @return the newly allocated buffer state object. */ -YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len ) +YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len ) { YY_BUFFER_STATE b; char *buf; - yy_size_t n, i; + yy_size_t n; + int i; /* Get memory for full buffer, including space for trailing EOB's. */ n = _yybytes_len + 2; @@ -3499,7 +3584,7 @@ FILE *yyget_out (void) /** Get the length of the current token. * */ -yy_size_t yyget_leng (void) +int yyget_leng (void) { return yyleng; } @@ -3650,7 +3735,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 286 "levcomp.lpp" +#line 304 "levcomp.lpp" diff --git a/crawl-ref/source/prebuilt/levcomp.tab.cc b/crawl-ref/source/prebuilt/levcomp.tab.cc index 9daa0f19e2..3bb8e6837f 100644 --- a/crawl-ref/source/prebuilt/levcomp.tab.cc +++ b/crawl-ref/source/prebuilt/levcomp.tab.cc @@ -1,10 +1,9 @@ - -/* A Bison parser, made by GNU Bison 2.4.1. */ +/* A Bison parser, made by GNU Bison 2.4.3. */ /* Skeleton implementation for Bison's Yacc-like parsers in C - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 - Free Software Foundation, Inc. + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2009, 2010 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -46,7 +45,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.4.1" +#define YYBISON_VERSION "2.4.3" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -82,6 +81,8 @@ #include "stuff.h" #define YYERROR_VERBOSE 1 +#define YYENABLE_NLS 0 +#define YYLTYPE_IS_TRIVIAL 0 int yylex(); @@ -97,23 +98,10 @@ void yyerror(const char *e) end(1); } -level_range set_range(const char *s, int start, int end) -{ - try - { - lc_range.set(s, start, end); - } - catch (const std::string &err) - { - yyerror(err.c_str()); - } - return (lc_range); -} - /* Line 189 of yacc.c */ -#line 117 "levcomp.tab.c" +#line 105 "levcomp.tab.c" /* Enabling traces. */ #ifndef YYDEBUG @@ -181,13 +169,14 @@ level_range set_range(const char *s, int start, int end) COMMA = 296, COLON = 297, PERC = 298, - INTEGER = 299, + DASH = 299, CHARACTER = 300, - STRING = 301, - MAP_LINE = 302, - MONSTER_NAME = 303, - ITEM_INFO = 304, - LUA_LINE = 305 + NUMBER = 301, + STRING = 302, + MAP_LINE = 303, + MONSTER_NAME = 304, + ITEM_INFO = 305, + LUA_LINE = 306 }; #endif /* Tokens. */ @@ -232,13 +221,14 @@ level_range set_range(const char *s, int start, int end) #define COMMA 296 #define COLON 297 #define PERC 298 -#define INTEGER 299 +#define DASH 299 #define CHARACTER 300 -#define STRING 301 -#define MAP_LINE 302 -#define MONSTER_NAME 303 -#define ITEM_INFO 304 -#define LUA_LINE 305 +#define NUMBER 301 +#define STRING 302 +#define MAP_LINE 303 +#define MONSTER_NAME 304 +#define ITEM_INFO 305 +#define LUA_LINE 306 @@ -248,16 +238,17 @@ typedef union YYSTYPE { /* Line 214 of yacc.c */ -#line 45 "levcomp.ypp" +#line 34 "levcomp.ypp" int i; + double f; const char *text; - raw_range range; + map_chance_pair chance; /* Line 214 of yacc.c */ -#line 261 "levcomp.tab.c" +#line 252 "levcomp.tab.c" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ @@ -269,7 +260,7 @@ typedef union YYSTYPE /* Line 264 of yacc.c */ -#line 273 "levcomp.tab.c" +#line 264 "levcomp.tab.c" #ifdef short # undef short @@ -319,7 +310,7 @@ typedef short int yytype_int16; #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ -# if YYENABLE_NLS +# if defined YYENABLE_NLS && YYENABLE_NLS # if ENABLE_NLS # include <libintl.h> /* INFRINGES ON USER NAME SPACE */ # define YY_(msgid) dgettext ("bison-runtime", msgid) @@ -484,20 +475,20 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 115 +#define YYLAST 116 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 51 +#define YYNTOKENS 52 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 88 +#define YYNNTS 94 /* YYNRULES -- Number of rules. */ -#define YYNRULES 164 +#define YYNRULES 174 /* YYNRULES -- Number of states. */ -#define YYNSTATES 196 +#define YYNSTATES 208 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 305 +#define YYMAXUTOK 306 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -535,7 +526,7 @@ static const yytype_uint8 yytranslate[] = 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50 + 45, 46, 47, 48, 49, 50, 51 }; #if YYDEBUG @@ -558,76 +549,80 @@ static const yytype_uint16 yyprhs[] = 274, 277, 279, 283, 285, 287, 291, 293, 296, 298, 302, 304, 307, 309, 313, 315, 317, 320, 324, 326, 328, 330, 333, 337, 339, 341, 344, 347, 349, 352, - 358, 363, 367, 370, 373, 375, 378, 381, 383, 386, - 388, 390, 393, 395, 399 + 355, 357, 361, 363, 366, 368, 372, 374, 377, 379, + 382, 386, 388, 391, 393, 395, 398, 401, 403, 406, + 408, 410, 413, 415, 419 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { - 52, 0, -1, 53, -1, -1, 53, 54, -1, 56, - -1, 58, -1, 45, -1, 57, -1, 63, -1, 3, - 46, -1, 61, 59, -1, -1, 59, 60, -1, 62, - -1, 133, -1, 12, 46, -1, 126, -1, 127, -1, - 128, -1, 129, -1, 130, -1, 131, -1, 132, -1, - 123, -1, 120, -1, 94, -1, 117, -1, 114, -1, - 95, -1, 96, -1, 97, -1, 98, -1, 99, -1, - 103, -1, 106, -1, 109, -1, 86, -1, 89, -1, - 92, -1, 93, -1, 81, -1, 83, -1, 82, -1, - 84, -1, 85, -1, 100, -1, 136, -1, 66, -1, - 75, -1, 69, -1, 72, -1, 78, -1, 55, -1, - 23, 64, -1, -1, 64, 65, -1, 50, -1, 23, - 67, -1, -1, 67, 68, -1, 50, -1, 24, 70, - -1, -1, 70, 71, -1, 50, -1, 25, 73, -1, - -1, 73, 74, -1, 50, -1, 22, 76, -1, -1, - 76, 77, -1, 50, -1, 26, 79, -1, -1, 79, - 80, -1, 50, -1, 7, -1, 7, 46, -1, 9, - -1, 9, 46, -1, 8, -1, 8, 46, -1, 10, - -1, 10, 46, -1, 11, -1, 11, 46, -1, 4, - 87, -1, 88, -1, 87, 41, 88, -1, 49, -1, - 6, 90, -1, -1, 90, 91, -1, 46, -1, 29, - 46, -1, 30, 46, -1, 20, 46, -1, 21, 112, - -1, 31, -1, 31, 46, -1, 32, -1, 32, 46, - -1, 33, -1, 33, 46, -1, 34, -1, 34, 46, - -1, 39, 101, -1, 102, -1, 101, 41, 102, -1, - 49, -1, 35, 104, -1, 105, -1, 104, 41, 105, - -1, 49, -1, 36, 107, -1, 108, -1, 107, 41, - 108, -1, 49, -1, 37, 110, -1, 111, -1, 110, - 41, 111, -1, 49, -1, 113, -1, 112, 41, 113, - -1, 49, -1, 27, 115, -1, 116, -1, 115, 41, - 116, -1, 49, -1, 5, 118, -1, 119, -1, 119, - 41, 118, -1, 49, -1, 19, -1, 19, 121, -1, - 121, 41, 122, -1, 122, -1, 49, -1, 18, -1, - 18, 124, -1, 125, 41, 124, -1, 125, -1, 48, - -1, 15, 46, -1, 40, 46, -1, 13, -1, 13, - 46, -1, 16, 44, 42, 44, 43, -1, 16, 44, - 42, 44, -1, 16, 44, 43, -1, 16, 44, -1, - 17, 44, -1, 14, -1, 14, 46, -1, 28, 46, - -1, 134, -1, 134, 135, -1, 135, -1, 47, -1, - 38, 137, -1, 138, -1, 137, 41, 138, -1, 46, + 53, 0, -1, 54, -1, -1, 54, 55, -1, 57, + -1, 59, -1, 45, -1, 58, -1, 64, -1, 3, + 47, -1, 62, 60, -1, -1, 60, 61, -1, 63, + -1, 140, -1, 12, 47, -1, 127, -1, 128, -1, + 129, -1, 130, -1, 135, -1, 138, -1, 139, -1, + 124, -1, 121, -1, 95, -1, 118, -1, 115, -1, + 96, -1, 97, -1, 98, -1, 99, -1, 100, -1, + 104, -1, 107, -1, 110, -1, 87, -1, 90, -1, + 93, -1, 94, -1, 82, -1, 84, -1, 83, -1, + 85, -1, 86, -1, 101, -1, 143, -1, 67, -1, + 76, -1, 70, -1, 73, -1, 79, -1, 56, -1, + 23, 65, -1, -1, 65, 66, -1, 51, -1, 23, + 68, -1, -1, 68, 69, -1, 51, -1, 24, 71, + -1, -1, 71, 72, -1, 51, -1, 25, 74, -1, + -1, 74, 75, -1, 51, -1, 22, 77, -1, -1, + 77, 78, -1, 51, -1, 26, 80, -1, -1, 80, + 81, -1, 51, -1, 7, -1, 7, 47, -1, 9, + -1, 9, 47, -1, 8, -1, 8, 47, -1, 10, + -1, 10, 47, -1, 11, -1, 11, 47, -1, 4, + 88, -1, 89, -1, 88, 41, 89, -1, 50, -1, + 6, 91, -1, -1, 91, 92, -1, 47, -1, 29, + 47, -1, 30, 47, -1, 20, 47, -1, 21, 113, + -1, 31, -1, 31, 47, -1, 32, -1, 32, 47, + -1, 33, -1, 33, 47, -1, 34, -1, 34, 47, + -1, 39, 102, -1, 103, -1, 102, 41, 103, -1, + 50, -1, 35, 105, -1, 106, -1, 105, 41, 106, + -1, 50, -1, 36, 108, -1, 109, -1, 108, 41, + 109, -1, 50, -1, 37, 111, -1, 112, -1, 111, + 41, 112, -1, 50, -1, 114, -1, 113, 41, 114, + -1, 50, -1, 27, 116, -1, 117, -1, 116, 41, + 117, -1, 50, -1, 5, 119, -1, 120, -1, 120, + 41, 119, -1, 50, -1, 19, -1, 19, 122, -1, + 122, 41, 123, -1, 123, -1, 50, -1, 18, -1, + 18, 125, -1, 126, 41, 125, -1, 126, -1, 49, + -1, 15, 47, -1, 40, 47, -1, 13, -1, 13, + 47, -1, 16, 131, -1, 16, -1, 131, 41, 134, + -1, 134, -1, 46, 43, -1, 46, -1, 46, 42, + 132, -1, 132, -1, 133, 47, -1, 133, -1, 17, + 136, -1, 136, 41, 137, -1, 137, -1, 46, 47, + -1, 46, -1, 14, -1, 14, 47, -1, 28, 47, + -1, 141, -1, 141, 142, -1, 142, -1, 48, -1, + 38, 144, -1, 145, -1, 144, 41, 145, -1, 47, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 67, 67, 70, 71, 74, 75, 78, 84, 85, - 88, 98, 118, 119, 122, 123, 126, 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, - 183, 184, 185, 186, 189, 191, 192, 195, 200, 202, - 203, 206, 211, 213, 214, 217, 222, 224, 225, 228, - 233, 235, 236, 239, 244, 246, 247, 250, 255, 256, - 264, 265, 273, 274, 282, 283, 291, 292, 300, 303, - 304, 307, 315, 318, 319, 322, 331, 340, 349, 382, - 385, 386, 394, 395, 403, 404, 413, 414, 423, 425, - 426, 429, 438, 441, 442, 445, 454, 457, 458, 461, - 470, 473, 474, 477, 487, 488, 491, 500, 503, 504, - 507, 516, 519, 520, 523, 532, 533, 536, 537, 540, - 548, 549, 552, 553, 556, 565, 574, 583, 584, 593, - 600, 607, 614, 622, 630, 631, 640, 649, 652, 653, - 656, 665, 668, 669, 672 + 0, 60, 60, 63, 64, 67, 68, 71, 77, 78, + 81, 91, 112, 113, 116, 117, 120, 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, 183, 185, 186, 189, 194, 196, + 197, 200, 205, 207, 208, 211, 216, 218, 219, 222, + 227, 229, 230, 233, 238, 240, 241, 244, 249, 250, + 258, 259, 267, 268, 276, 277, 285, 286, 294, 297, + 298, 301, 309, 312, 313, 316, 325, 334, 343, 376, + 379, 380, 388, 389, 397, 398, 407, 408, 417, 419, + 420, 423, 432, 435, 436, 439, 448, 451, 452, 455, + 464, 467, 468, 471, 481, 482, 485, 494, 497, 498, + 501, 510, 513, 514, 517, 526, 527, 530, 531, 534, + 542, 543, 546, 547, 550, 559, 568, 577, 578, 587, + 588, 591, 592, 594, 598, 603, 608, 615, 623, 632, + 634, 635, 637, 644, 652, 653, 662, 671, 674, 675, + 678, 687, 690, 691, 694 }; #endif @@ -642,8 +637,8 @@ static const char *const yytname[] = "COLOUR", "PRELUDE", "MAIN", "VALIDATE", "VETO", "EPILOGUE", "NSUBST", "WELCOME", "LFLAGS", "BFLAGS", "LFLOORCOL", "LROCKCOL", "LFLOORTILE", "LROCKTILE", "FTILE", "RTILE", "TILE", "SUBVAULT", "FHEIGHT", "DESC", - "COMMA", "COLON", "PERC", "INTEGER", "CHARACTER", "STRING", "MAP_LINE", - "MONSTER_NAME", "ITEM_INFO", "LUA_LINE", "$accept", "file", + "COMMA", "COLON", "PERC", "DASH", "CHARACTER", "NUMBER", "STRING", + "MAP_LINE", "MONSTER_NAME", "ITEM_INFO", "LUA_LINE", "$accept", "file", "definitions", "definition", "error_seq", "def", "defdepth", "level", "map_specs", "map_spec", "name", "metaline", "global_lua", "global_lua_lines", "global_lua_line", "main_lua", "main_lua_lines", @@ -660,8 +655,10 @@ static const char *const yytname[] = "colour_specifier", "nsubst", "nsubst_specifiers", "nsubst_spec", "subst", "subst_specifiers", "subst_spec", "items", "item_specifiers", "item_specifier", "mons", "mnames", "mname", "place", "desc", "depth", - "chance", "weight", "orientation", "welcome", "map_def", "map_lines", - "map_line", "subvault", "subvault_specifiers", "subvault_specifier", 0 + "chance", "chance_specifiers", "chance_roll", "chance_num", + "chance_specifier", "weight", "weight_specifiers", "weight_specifier", + "orientation", "welcome", "map_def", "map_lines", "map_line", "subvault", + "subvault_specifiers", "subvault_specifier", 0 }; #endif @@ -675,30 +672,31 @@ static const yytype_uint16 yytoknum[] = 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305 + 305, 306 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 51, 52, 53, 53, 54, 54, 55, 56, 56, - 57, 58, 59, 59, 60, 60, 61, 62, 62, 62, - 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 62, 63, 64, 64, 65, 66, 67, - 67, 68, 69, 70, 70, 71, 72, 73, 73, 74, - 75, 76, 76, 77, 78, 79, 79, 80, 81, 81, - 82, 82, 83, 83, 84, 84, 85, 85, 86, 87, - 87, 88, 89, 90, 90, 91, 92, 93, 94, 95, - 96, 96, 97, 97, 98, 98, 99, 99, 100, 101, - 101, 102, 103, 104, 104, 105, 106, 107, 107, 108, - 109, 110, 110, 111, 112, 112, 113, 114, 115, 115, - 116, 117, 118, 118, 119, 120, 120, 121, 121, 122, - 123, 123, 124, 124, 125, 126, 127, 128, 128, 129, - 129, 129, 129, 130, 131, 131, 132, 133, 134, 134, - 135, 136, 137, 137, 138 + 0, 52, 53, 54, 54, 55, 55, 56, 57, 57, + 58, 59, 60, 60, 61, 61, 62, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 64, 65, 65, 66, 67, 68, + 68, 69, 70, 71, 71, 72, 73, 74, 74, 75, + 76, 77, 77, 78, 79, 80, 80, 81, 82, 82, + 83, 83, 84, 84, 85, 85, 86, 86, 87, 88, + 88, 89, 90, 91, 91, 92, 93, 94, 95, 96, + 97, 97, 98, 98, 99, 99, 100, 100, 101, 102, + 102, 103, 104, 105, 105, 106, 107, 108, 108, 109, + 110, 111, 111, 112, 113, 113, 114, 115, 116, 116, + 117, 118, 119, 119, 120, 121, 121, 122, 122, 123, + 124, 124, 125, 125, 126, 127, 128, 129, 129, 130, + 130, 131, 131, 132, 132, 133, 133, 134, 134, 135, + 136, 136, 137, 137, 138, 138, 139, 140, 141, 141, + 142, 143, 144, 144, 145 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -718,8 +716,9 @@ static const yytype_uint8 yyr2[] = 3, 1, 2, 1, 3, 1, 2, 1, 3, 1, 2, 1, 3, 1, 1, 3, 1, 2, 1, 3, 1, 2, 1, 3, 1, 1, 2, 3, 1, 1, - 1, 2, 3, 1, 1, 2, 2, 1, 2, 5, - 4, 3, 2, 2, 1, 2, 2, 1, 2, 1, + 1, 2, 3, 1, 1, 2, 2, 1, 2, 2, + 1, 3, 1, 2, 1, 3, 1, 2, 1, 2, + 3, 1, 2, 1, 1, 2, 2, 1, 2, 1, 1, 2, 1, 3, 1 }; @@ -730,79 +729,83 @@ static const yytype_uint8 yydefact[] = { 3, 0, 2, 1, 0, 0, 55, 4, 5, 8, 6, 12, 9, 10, 16, 54, 11, 57, 56, 0, - 0, 93, 78, 82, 80, 84, 86, 147, 154, 0, - 0, 0, 140, 135, 0, 0, 71, 59, 63, 67, + 0, 93, 78, 82, 80, 84, 86, 147, 164, 0, + 150, 0, 140, 135, 0, 0, 71, 59, 63, 67, 75, 0, 0, 0, 0, 100, 102, 104, 106, 0, - 0, 0, 0, 0, 0, 7, 160, 53, 13, 14, + 0, 0, 0, 0, 0, 7, 170, 53, 13, 14, 48, 50, 51, 49, 52, 41, 43, 42, 44, 45, 37, 38, 39, 40, 26, 29, 30, 31, 32, 33, 46, 34, 35, 36, 28, 27, 25, 24, 17, 18, - 19, 20, 21, 22, 23, 15, 157, 159, 47, 91, + 19, 20, 21, 22, 23, 15, 167, 169, 47, 91, 88, 89, 134, 131, 132, 92, 79, 83, 81, 85, - 87, 148, 155, 145, 152, 153, 144, 141, 143, 139, - 136, 138, 98, 126, 99, 124, 70, 58, 62, 66, - 74, 130, 127, 128, 156, 96, 97, 101, 103, 105, - 107, 115, 112, 113, 119, 116, 117, 123, 120, 121, - 164, 161, 162, 111, 108, 109, 146, 158, 0, 0, - 95, 94, 0, 151, 0, 0, 0, 73, 72, 61, + 87, 148, 165, 145, 154, 149, 156, 158, 152, 163, + 159, 161, 144, 141, 143, 139, 136, 138, 98, 126, + 99, 124, 70, 58, 62, 66, 74, 130, 127, 128, + 166, 96, 97, 101, 103, 105, 107, 115, 112, 113, + 119, 116, 117, 123, 120, 121, 174, 171, 172, 111, + 108, 109, 146, 168, 0, 0, 95, 94, 0, 153, + 0, 157, 162, 0, 0, 0, 0, 73, 72, 61, 60, 65, 64, 69, 68, 77, 76, 0, 0, 0, - 0, 0, 0, 90, 133, 150, 142, 137, 125, 129, - 114, 118, 122, 163, 110, 149 + 0, 0, 0, 90, 133, 154, 155, 151, 160, 142, + 137, 125, 129, 114, 118, 122, 173, 110 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { -1, 1, 2, 7, 57, 8, 9, 10, 16, 58, - 11, 59, 12, 15, 18, 60, 127, 170, 61, 128, - 172, 62, 129, 174, 63, 126, 168, 64, 130, 176, + 11, 59, 12, 15, 18, 60, 133, 180, 61, 134, + 182, 62, 135, 184, 63, 132, 178, 64, 136, 186, 65, 66, 67, 68, 69, 70, 100, 101, 71, 105, - 161, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 154, 155, 81, 142, 143, 82, 145, 146, 83, 148, - 149, 124, 125, 84, 132, 133, 85, 103, 104, 86, - 120, 121, 87, 117, 118, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 151, 152 + 167, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 160, 161, 81, 148, 149, 82, 151, 152, 83, 154, + 155, 130, 131, 84, 138, 139, 85, 103, 104, 86, + 126, 127, 87, 123, 124, 88, 89, 90, 91, 115, + 116, 117, 118, 92, 120, 121, 93, 94, 95, 96, + 97, 98, 157, 158 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -108 -static const yytype_int8 yypact[] = +#define YYPACT_NINF -129 +static const yytype_int16 yypact[] = { - -108, 8, 34, -108, -8, -2, -108, -108, -108, -108, - -108, -108, -108, -108, -108, -5, -4, -108, -108, -7, - -1, -108, 1, 3, 4, 5, 6, 7, 9, 10, - 14, 15, 12, 13, 17, 16, -108, -108, -108, -108, - -108, 18, 20, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 35, 31, 36, -108, -108, -108, -108, -108, - -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, - -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, - -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, - -108, -108, -108, -108, -108, -108, 37, -108, -108, -108, - 33, -108, -108, -108, 42, 39, -108, -108, -108, -108, - -108, -108, -108, -108, -3, -108, -108, -108, 45, -108, - 46, -108, -108, -108, 47, -108, 11, 40, 41, 43, - 44, -108, 48, -108, -108, -108, -108, -108, -108, -108, - -108, -108, 51, -108, -108, 54, -108, -108, 55, -108, - -108, 56, -108, -108, 57, -108, -108, -108, -7, -1, - -108, -108, 32, -108, 12, 13, 16, -108, -108, -108, - -108, -108, -108, -108, -108, -108, -108, 18, 28, 29, - 30, 35, 31, -108, -108, 21, -108, -108, -108, -108, - -108, -108, -108, -108, -108, -108 + -129, 8, 34, -129, -9, -5, -129, -129, -129, -129, + -129, -129, -129, -129, -129, -8, -4, -129, -129, -2, + -1, -129, 0, 3, 4, 5, 6, 7, 9, 11, + 13, 14, 12, 15, 16, 17, -129, -129, -129, -129, + -129, 18, 19, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 35, 31, 36, -129, -129, -129, -129, -129, + -129, -129, -129, -129, -129, -129, -129, -129, -129, -129, + -129, -129, -129, -129, -129, -129, -129, -129, -129, -129, + -129, -129, -129, -129, -129, -129, -129, -129, -129, -129, + -129, -129, -129, -129, -129, -129, 37, -129, -129, -129, + 21, -129, -129, -129, 43, 39, -129, -129, -129, -129, + -129, -129, -129, -129, -3, 46, -129, 41, -129, 42, + 49, -129, -129, -129, 50, -129, 51, -129, -129, -129, + 52, -129, -6, 44, 45, 47, 48, -129, 53, -129, + -129, -129, -129, -129, -129, -129, -129, -129, 56, -129, + -129, 59, -129, -129, 60, -129, -129, 61, -129, -129, + 62, -129, -129, -129, -2, -1, -129, -129, 58, -129, + 13, -129, -129, 14, 12, 15, 17, -129, -129, -129, + -129, -129, -129, -129, -129, -129, -129, 18, 28, 29, + 30, 35, 31, -129, -129, 32, -129, -129, -129, -129, + -129, -129, -129, -129, -129, -129, -129, -129 }; /* YYPGOTO[NTERM-NUM]. */ -static const yytype_int8 yypgoto[] = +static const yytype_int16 yypgoto[] = { - -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, - -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, - -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, - -108, -108, -108, -108, -108, -108, -108, -104, -108, -108, - -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, - -108, -107, -108, -108, -79, -108, -108, -78, -108, -108, - -80, -108, -64, -108, -108, -74, -108, -55, -108, -108, - -108, -60, -108, -58, -108, -108, -108, -108, -108, -108, - -108, -108, -108, -108, 19, -108, -108, -73 + -129, -129, -129, -129, -129, -129, -129, -129, -129, -129, + -129, -129, -129, -129, -129, -129, -129, -129, -129, -129, + -129, -129, -129, -129, -129, -129, -129, -129, -129, -129, + -129, -129, -129, -129, -129, -129, -129, -109, -129, -129, + -129, -129, -129, -129, -129, -129, -129, -129, -129, -129, + -129, -128, -129, -129, -112, -129, -129, -84, -129, -129, + -113, -129, -70, -129, -129, -80, -129, -57, -129, -129, + -129, -66, -129, -64, -129, -129, -129, -129, -129, -129, + -56, -129, -59, -129, -129, -60, -129, -129, -129, -129, + 20, -129, -129, -77 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -815,15 +818,15 @@ static const yytype_uint8 yytable[] = 19, 20, 21, 22, 23, 24, 25, 26, 3, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 4, 13, 162, - 163, 55, 99, 56, 14, 17, 5, 106, 102, 107, - 108, 109, 110, 111, 183, 112, 113, 6, 114, 115, - 116, 167, 119, 122, 195, 123, 134, 131, 135, 136, - 137, 138, 139, 140, 158, 194, 185, 141, 144, 147, - 153, 150, 156, 159, 56, 160, 164, 165, 166, 177, - 169, 171, 178, 173, 175, 179, 180, 181, 182, 190, - 192, 191, 188, 189, 184, 187, 186, 0, 193, 0, - 0, 0, 0, 0, 0, 157 + 48, 49, 50, 51, 52, 53, 54, 4, 13, 168, + 169, 55, 14, 17, 56, 177, 5, 106, 99, 102, + 107, 108, 109, 110, 111, 193, 112, 6, 113, 114, + 119, 122, 164, 128, 207, 125, 140, 129, 137, 141, + 142, 143, 144, 145, 146, 169, 203, 205, 147, 150, + 153, 159, 156, 162, 165, 56, 166, 170, 171, 172, + 173, 174, 175, 176, 187, 179, 181, 188, 183, 185, + 189, 190, 191, 192, 195, 204, 201, 202, 194, 200, + 199, 197, 196, 198, 206, 0, 163 }; static const yytype_int16 yycheck[] = @@ -831,41 +834,42 @@ static const yytype_int16 yycheck[] = 4, 5, 6, 7, 8, 9, 10, 11, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 3, 46, 42, - 43, 45, 49, 47, 46, 50, 12, 46, 49, 46, - 46, 46, 46, 46, 158, 46, 46, 23, 44, 44, - 48, 50, 49, 46, 43, 49, 46, 49, 46, 46, - 46, 46, 46, 46, 41, 182, 44, 49, 49, 49, - 49, 46, 46, 41, 47, 46, 41, 41, 41, 41, - 50, 50, 41, 50, 50, 41, 41, 41, 41, 178, - 180, 179, 166, 177, 159, 165, 164, -1, 181, -1, - -1, -1, -1, -1, -1, 96 + 34, 35, 36, 37, 38, 39, 40, 3, 47, 42, + 43, 45, 47, 51, 48, 51, 12, 47, 50, 50, + 47, 47, 47, 47, 47, 164, 47, 23, 47, 46, + 46, 49, 41, 47, 192, 50, 47, 50, 50, 47, + 47, 47, 47, 47, 47, 43, 188, 190, 50, 50, + 50, 50, 47, 47, 41, 48, 47, 41, 47, 47, + 41, 41, 41, 41, 41, 51, 51, 41, 51, 51, + 41, 41, 41, 41, 46, 189, 176, 187, 165, 175, + 174, 170, 168, 173, 191, -1, 96 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 52, 53, 0, 3, 12, 23, 54, 56, 57, - 58, 61, 63, 46, 46, 64, 59, 50, 65, 4, + 0, 53, 54, 0, 3, 12, 23, 55, 57, 58, + 59, 62, 64, 47, 47, 65, 60, 51, 66, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 45, 47, 55, 60, 62, - 66, 69, 72, 75, 78, 81, 82, 83, 84, 85, - 86, 89, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 103, 106, 109, 114, 117, 120, 123, 126, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 136, 49, - 87, 88, 49, 118, 119, 90, 46, 46, 46, 46, - 46, 46, 46, 46, 44, 44, 48, 124, 125, 49, - 121, 122, 46, 49, 112, 113, 76, 67, 70, 73, - 79, 49, 115, 116, 46, 46, 46, 46, 46, 46, - 46, 49, 104, 105, 49, 107, 108, 49, 110, 111, - 46, 137, 138, 49, 101, 102, 46, 135, 41, 41, - 46, 91, 42, 43, 41, 41, 41, 50, 77, 50, - 68, 50, 71, 50, 74, 50, 80, 41, 41, 41, - 41, 41, 41, 88, 118, 44, 124, 122, 113, 116, - 105, 108, 111, 138, 102, 43 + 36, 37, 38, 39, 40, 45, 48, 56, 61, 63, + 67, 70, 73, 76, 79, 82, 83, 84, 85, 86, + 87, 90, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 104, 107, 110, 115, 118, 121, 124, 127, 128, + 129, 130, 135, 138, 139, 140, 141, 142, 143, 50, + 88, 89, 50, 119, 120, 91, 47, 47, 47, 47, + 47, 47, 47, 47, 46, 131, 132, 133, 134, 46, + 136, 137, 49, 125, 126, 50, 122, 123, 47, 50, + 113, 114, 77, 68, 71, 74, 80, 50, 116, 117, + 47, 47, 47, 47, 47, 47, 47, 50, 105, 106, + 50, 108, 109, 50, 111, 112, 47, 144, 145, 50, + 102, 103, 47, 142, 41, 41, 47, 92, 42, 43, + 41, 47, 47, 41, 41, 41, 41, 51, 78, 51, + 69, 51, 72, 51, 75, 51, 81, 41, 41, 41, + 41, 41, 41, 89, 119, 46, 132, 134, 137, 125, + 123, 114, 117, 106, 109, 112, 145, 103 }; #define yyerrok (yyerrstatus = 0) @@ -880,9 +884,18 @@ static const yytype_uint8 yystos[] = /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. */ + Once GCC version 2 has supplanted version 1, this can go. However, + YYFAIL appears to be in use. Nevertheless, it is formally deprecated + in Bison 2.4.2's NEWS entry, where a plan to phase it out is + discussed. */ #define YYFAIL goto yyerrlab +#if defined YYFAIL + /* This is here to suppress warnings from the GCC cpp's + -Wunused-macros. Normally we don't worry about that warning, but + some users do, and we want to make it easy for users to remove + YYFAIL uses, which will produce warnings from Bison 2.5. */ +#endif #define YYRECOVERING() (!!yyerrstatus) @@ -939,7 +952,7 @@ while (YYID (0)) we won't break user code: when these are the locations we know. */ #ifndef YY_LOCATION_PRINT -# if YYLTYPE_IS_TRIVIAL +# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL # define YY_LOCATION_PRINT(File, Loc) \ fprintf (File, "%d.%d-%d.%d", \ (Loc).first_line, (Loc).first_column, \ @@ -1678,43 +1691,43 @@ yyreduce: { case 2: -/* Line 1455 of yacc.c */ -#line 67 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 60 "levcomp.ypp" { } break; case 3: -/* Line 1455 of yacc.c */ -#line 70 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 63 "levcomp.ypp" {} break; case 4: -/* Line 1455 of yacc.c */ -#line 71 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 64 "levcomp.ypp" {} break; case 5: -/* Line 1455 of yacc.c */ -#line 74 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 67 "levcomp.ypp" {} break; case 6: -/* Line 1455 of yacc.c */ -#line 75 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 68 "levcomp.ypp" {} break; case 7: -/* Line 1455 of yacc.c */ -#line 79 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 72 "levcomp.ypp" { yyerror("Unexpected character sequence."); } @@ -1722,22 +1735,22 @@ yyreduce: case 8: -/* Line 1455 of yacc.c */ -#line 84 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 77 "levcomp.ypp" {} break; case 9: -/* Line 1455 of yacc.c */ -#line 85 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 78 "levcomp.ypp" {} break; case 10: -/* Line 1455 of yacc.c */ -#line 89 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 82 "levcomp.ypp" { dgn_reset_default_depth(); std::string err = dgn_set_default_depth((yyvsp[(2) - (2)].text)); @@ -1749,8 +1762,8 @@ yyreduce: case 11: -/* Line 1455 of yacc.c */ -#line 99 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 92 "levcomp.ypp" { lc_map.set_file(lc_desfile); @@ -1764,6 +1777,7 @@ yyreduce: std::string err = lc_map.validate_map_def(lc_default_depths); + dump_map(lc_map); if (!err.empty()) yyerror(err.c_str()); add_parsed_map(lc_map); @@ -1772,36 +1786,36 @@ yyreduce: case 12: -/* Line 1455 of yacc.c */ -#line 118 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 112 "levcomp.ypp" { } break; case 13: -/* Line 1455 of yacc.c */ -#line 119 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 113 "levcomp.ypp" { } break; case 14: -/* Line 1455 of yacc.c */ -#line 122 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 116 "levcomp.ypp" { } break; case 15: -/* Line 1455 of yacc.c */ -#line 123 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 117 "levcomp.ypp" { } break; case 16: -/* Line 1455 of yacc.c */ -#line 127 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 121 "levcomp.ypp" { lc_map.init(); lc_map.name = (yyvsp[(2) - (2)].text); @@ -1827,36 +1841,36 @@ yyreduce: case 53: -/* Line 1455 of yacc.c */ -#line 186 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 180 "levcomp.ypp" {} break; case 54: -/* Line 1455 of yacc.c */ -#line 189 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 183 "levcomp.ypp" { } break; case 55: -/* Line 1455 of yacc.c */ -#line 191 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 185 "levcomp.ypp" { } break; case 56: -/* Line 1455 of yacc.c */ -#line 192 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 186 "levcomp.ypp" { } break; case 57: -/* Line 1455 of yacc.c */ -#line 196 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 190 "levcomp.ypp" { lc_global_prelude.add(yylineno, (yyvsp[(1) - (1)].text)); } @@ -1864,29 +1878,29 @@ yyreduce: case 58: -/* Line 1455 of yacc.c */ -#line 200 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 194 "levcomp.ypp" { } break; case 59: -/* Line 1455 of yacc.c */ -#line 202 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 196 "levcomp.ypp" { } break; case 60: -/* Line 1455 of yacc.c */ -#line 203 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 197 "levcomp.ypp" { } break; case 61: -/* Line 1455 of yacc.c */ -#line 207 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 201 "levcomp.ypp" { lc_map.main.add(yylineno, (yyvsp[(1) - (1)].text)); } @@ -1894,29 +1908,29 @@ yyreduce: case 62: -/* Line 1455 of yacc.c */ -#line 211 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 205 "levcomp.ypp" { } break; case 63: -/* Line 1455 of yacc.c */ -#line 213 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 207 "levcomp.ypp" { } break; case 64: -/* Line 1455 of yacc.c */ -#line 214 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 208 "levcomp.ypp" { } break; case 65: -/* Line 1455 of yacc.c */ -#line 218 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 212 "levcomp.ypp" { lc_map.validate.add(yylineno, (yyvsp[(1) - (1)].text)); } @@ -1924,29 +1938,29 @@ yyreduce: case 66: -/* Line 1455 of yacc.c */ -#line 222 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 216 "levcomp.ypp" { } break; case 67: -/* Line 1455 of yacc.c */ -#line 224 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 218 "levcomp.ypp" { } break; case 68: -/* Line 1455 of yacc.c */ -#line 225 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 219 "levcomp.ypp" { } break; case 69: -/* Line 1455 of yacc.c */ -#line 229 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 223 "levcomp.ypp" { lc_map.veto.add(yylineno, (yyvsp[(1) - (1)].text)); } @@ -1954,29 +1968,29 @@ yyreduce: case 70: -/* Line 1455 of yacc.c */ -#line 233 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 227 "levcomp.ypp" { } break; case 71: -/* Line 1455 of yacc.c */ -#line 235 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 229 "levcomp.ypp" { } break; case 72: -/* Line 1455 of yacc.c */ -#line 236 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 230 "levcomp.ypp" { } break; case 73: -/* Line 1455 of yacc.c */ -#line 240 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 234 "levcomp.ypp" { lc_map.prelude.add(yylineno, (yyvsp[(1) - (1)].text)); } @@ -1984,29 +1998,29 @@ yyreduce: case 74: -/* Line 1455 of yacc.c */ -#line 244 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 238 "levcomp.ypp" { } break; case 75: -/* Line 1455 of yacc.c */ -#line 246 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 240 "levcomp.ypp" { } break; case 76: -/* Line 1455 of yacc.c */ -#line 247 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 241 "levcomp.ypp" { } break; case 77: -/* Line 1455 of yacc.c */ -#line 251 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 245 "levcomp.ypp" { lc_map.epilogue.add(yylineno, (yyvsp[(1) - (1)].text)); } @@ -2014,15 +2028,15 @@ yyreduce: case 78: -/* Line 1455 of yacc.c */ -#line 255 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 249 "levcomp.ypp" { } break; case 79: -/* Line 1455 of yacc.c */ -#line 257 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 251 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2033,15 +2047,15 @@ yyreduce: case 80: -/* Line 1455 of yacc.c */ -#line 264 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 258 "levcomp.ypp" { } break; case 81: -/* Line 1455 of yacc.c */ -#line 266 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 260 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2052,15 +2066,15 @@ yyreduce: case 82: -/* Line 1455 of yacc.c */ -#line 273 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 267 "levcomp.ypp" { } break; case 83: -/* Line 1455 of yacc.c */ -#line 275 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 269 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2071,15 +2085,15 @@ yyreduce: case 84: -/* Line 1455 of yacc.c */ -#line 282 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 276 "levcomp.ypp" { } break; case 85: -/* Line 1455 of yacc.c */ -#line 284 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 278 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2090,15 +2104,15 @@ yyreduce: case 86: -/* Line 1455 of yacc.c */ -#line 291 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 285 "levcomp.ypp" { } break; case 87: -/* Line 1455 of yacc.c */ -#line 293 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 287 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2109,15 +2123,15 @@ yyreduce: case 88: -/* Line 1455 of yacc.c */ -#line 300 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 294 "levcomp.ypp" {} break; case 91: -/* Line 1455 of yacc.c */ -#line 308 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 302 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2128,15 +2142,15 @@ yyreduce: case 92: -/* Line 1455 of yacc.c */ -#line 315 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 309 "levcomp.ypp" {} break; case 95: -/* Line 1455 of yacc.c */ -#line 323 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 317 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2147,8 +2161,8 @@ yyreduce: case 96: -/* Line 1455 of yacc.c */ -#line 332 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 326 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2159,8 +2173,8 @@ yyreduce: case 97: -/* Line 1455 of yacc.c */ -#line 341 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 335 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2171,8 +2185,8 @@ yyreduce: case 98: -/* Line 1455 of yacc.c */ -#line 350 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 344 "levcomp.ypp" { std::string key, arg; int sep(0); @@ -2207,22 +2221,22 @@ yyreduce: case 99: -/* Line 1455 of yacc.c */ -#line 382 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 376 "levcomp.ypp" { } break; case 100: -/* Line 1455 of yacc.c */ -#line 385 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 379 "levcomp.ypp" { } break; case 101: -/* Line 1455 of yacc.c */ -#line 387 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 381 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2233,15 +2247,15 @@ yyreduce: case 102: -/* Line 1455 of yacc.c */ -#line 394 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 388 "levcomp.ypp" { } break; case 103: -/* Line 1455 of yacc.c */ -#line 396 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 390 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2252,15 +2266,15 @@ yyreduce: case 104: -/* Line 1455 of yacc.c */ -#line 403 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 397 "levcomp.ypp" { } break; case 105: -/* Line 1455 of yacc.c */ -#line 405 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 399 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2271,15 +2285,15 @@ yyreduce: case 106: -/* Line 1455 of yacc.c */ -#line 413 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 407 "levcomp.ypp" { } break; case 107: -/* Line 1455 of yacc.c */ -#line 415 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 409 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2290,8 +2304,8 @@ yyreduce: case 111: -/* Line 1455 of yacc.c */ -#line 430 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 424 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2302,8 +2316,8 @@ yyreduce: case 115: -/* Line 1455 of yacc.c */ -#line 446 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 440 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2314,8 +2328,8 @@ yyreduce: case 119: -/* Line 1455 of yacc.c */ -#line 462 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 456 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2326,8 +2340,8 @@ yyreduce: case 123: -/* Line 1455 of yacc.c */ -#line 478 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 472 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2338,22 +2352,22 @@ yyreduce: case 124: -/* Line 1455 of yacc.c */ -#line 487 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 481 "levcomp.ypp" { } break; case 125: -/* Line 1455 of yacc.c */ -#line 488 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 482 "levcomp.ypp" { } break; case 126: -/* Line 1455 of yacc.c */ -#line 492 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 486 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2364,29 +2378,29 @@ yyreduce: case 127: -/* Line 1455 of yacc.c */ -#line 500 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 494 "levcomp.ypp" { } break; case 128: -/* Line 1455 of yacc.c */ -#line 503 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 497 "levcomp.ypp" { } break; case 129: -/* Line 1455 of yacc.c */ -#line 504 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 498 "levcomp.ypp" { } break; case 130: -/* Line 1455 of yacc.c */ -#line 508 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 502 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2397,15 +2411,15 @@ yyreduce: case 131: -/* Line 1455 of yacc.c */ -#line 516 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 510 "levcomp.ypp" { } break; case 134: -/* Line 1455 of yacc.c */ -#line 524 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 518 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2416,22 +2430,22 @@ yyreduce: case 135: -/* Line 1455 of yacc.c */ -#line 532 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 526 "levcomp.ypp" {} break; case 136: -/* Line 1455 of yacc.c */ -#line 533 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 527 "levcomp.ypp" {} break; case 139: -/* Line 1455 of yacc.c */ -#line 541 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 535 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2442,22 +2456,22 @@ yyreduce: case 140: -/* Line 1455 of yacc.c */ -#line 548 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 542 "levcomp.ypp" {} break; case 141: -/* Line 1455 of yacc.c */ -#line 549 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 543 "levcomp.ypp" {} break; case 144: -/* Line 1455 of yacc.c */ -#line 557 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 551 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2468,8 +2482,8 @@ yyreduce: case 145: -/* Line 1455 of yacc.c */ -#line 566 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 560 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2480,8 +2494,8 @@ yyreduce: case 146: -/* Line 1455 of yacc.c */ -#line 575 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 569 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2492,15 +2506,15 @@ yyreduce: case 147: -/* Line 1455 of yacc.c */ -#line 583 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 577 "levcomp.ypp" {} break; case 148: -/* Line 1455 of yacc.c */ -#line 585 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 579 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2511,70 +2525,115 @@ yyreduce: case 149: -/* Line 1455 of yacc.c */ -#line 594 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 587 "levcomp.ypp" + { } + break; + + case 150: + +/* Line 1464 of yacc.c */ +#line 588 "levcomp.ypp" + { } + break; + + case 153: + +/* Line 1464 of yacc.c */ +#line 595 "levcomp.ypp" { - lc_map.main.add( - yylineno, - make_stringf("chance(%d, %d)", (yyvsp[(2) - (5)].i), (yyvsp[(4) - (5)].i) * 100)); + (yyval.i) = (yyvsp[(1) - (2)].f) * 100; } break; - case 150: + case 154: -/* Line 1455 of yacc.c */ -#line 601 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 599 "levcomp.ypp" { - lc_map.main.add( - yylineno, - make_stringf("chance(%d, %d)", (yyvsp[(2) - (4)].i), (yyvsp[(4) - (4)].i))); + (yyval.i) = (yyvsp[(1) - (1)].f); } break; - case 151: + case 155: -/* Line 1455 of yacc.c */ -#line 608 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 604 "levcomp.ypp" { - lc_map.main.add( - yylineno, - make_stringf("chance(%d)", (yyvsp[(2) - (3)].i) * 100)); + (yyval.chance).priority = (yyvsp[(1) - (3)].f); + (yyval.chance).chance = (yyvsp[(3) - (3)].i); + } + break; + + case 156: + +/* Line 1464 of yacc.c */ +#line 609 "levcomp.ypp" + { + (yyval.chance).priority = DEFAULT_CHANCE_PRIORITY; + (yyval.chance).chance = (yyvsp[(1) - (1)].i); } break; - case 152: + case 157: -/* Line 1455 of yacc.c */ -#line 615 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 616 "levcomp.ypp" { lc_map.main.add( yylineno, - make_stringf("chance(%d)", (yyvsp[(2) - (2)].i))); + make_stringf("depth_chance(\"%s\", %d, %d)", + quote_lua_string((yyvsp[(2) - (2)].text)).c_str(), + (yyvsp[(1) - (2)].chance).priority, (yyvsp[(1) - (2)].chance).chance)); } break; - case 153: + case 158: -/* Line 1455 of yacc.c */ -#line 623 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 624 "levcomp.ypp" { lc_map.main.add( yylineno, - make_stringf("weight(%d)", (yyvsp[(2) - (2)].i))); + make_stringf("chance(%d, %d)", + (yyvsp[(1) - (1)].chance).priority, (yyvsp[(1) - (1)].chance).chance)); } break; - case 154: + case 162: + +/* Line 1464 of yacc.c */ +#line 638 "levcomp.ypp" + { + lc_map.main.add( + yylineno, + make_stringf("depth_weight(\"%s\", %d)", + quote_lua_string((yyvsp[(2) - (2)].text)), (yyvsp[(1) - (2)].f))); + } + break; + + case 163: + +/* Line 1464 of yacc.c */ +#line 645 "levcomp.ypp" + { + lc_map.main.add( + yylineno, + make_stringf("weight(%d)", (yyvsp[(1) - (1)].f))); + } + break; + + case 164: -/* Line 1455 of yacc.c */ -#line 630 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 652 "levcomp.ypp" {} break; - case 155: + case 165: -/* Line 1455 of yacc.c */ -#line 632 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 654 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2583,10 +2642,10 @@ yyreduce: } break; - case 156: + case 166: -/* Line 1455 of yacc.c */ -#line 641 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 663 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2595,10 +2654,10 @@ yyreduce: } break; - case 160: + case 170: -/* Line 1455 of yacc.c */ -#line 657 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 679 "levcomp.ypp" { lc_map.mapchunk.add( yylineno, @@ -2607,10 +2666,10 @@ yyreduce: } break; - case 164: + case 174: -/* Line 1455 of yacc.c */ -#line 673 "levcomp.ypp" +/* Line 1464 of yacc.c */ +#line 695 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2621,8 +2680,8 @@ yyreduce: -/* Line 1455 of yacc.c */ -#line 2626 "levcomp.tab.c" +/* Line 1464 of yacc.c */ +#line 2685 "levcomp.tab.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -2833,7 +2892,7 @@ yyreturn: -/* Line 1675 of yacc.c */ -#line 681 "levcomp.ypp" +/* Line 1684 of yacc.c */ +#line 703 "levcomp.ypp" diff --git a/crawl-ref/source/prebuilt/levcomp.tab.h b/crawl-ref/source/prebuilt/levcomp.tab.h index ebf4e0ecfe..cd8a19c4b3 100644 --- a/crawl-ref/source/prebuilt/levcomp.tab.h +++ b/crawl-ref/source/prebuilt/levcomp.tab.h @@ -1,10 +1,9 @@ - -/* A Bison parser, made by GNU Bison 2.4.1. */ +/* A Bison parser, made by GNU Bison 2.4.3. */ /* Skeleton interface for Bison's Yacc-like parsers in C - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 - Free Software Foundation, Inc. + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2009, 2010 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -80,13 +79,14 @@ COMMA = 296, COLON = 297, PERC = 298, - INTEGER = 299, + DASH = 299, CHARACTER = 300, - STRING = 301, - MAP_LINE = 302, - MONSTER_NAME = 303, - ITEM_INFO = 304, - LUA_LINE = 305 + NUMBER = 301, + STRING = 302, + MAP_LINE = 303, + MONSTER_NAME = 304, + ITEM_INFO = 305, + LUA_LINE = 306 }; #endif /* Tokens. */ @@ -131,13 +131,14 @@ #define COMMA 296 #define COLON 297 #define PERC 298 -#define INTEGER 299 +#define DASH 299 #define CHARACTER 300 -#define STRING 301 -#define MAP_LINE 302 -#define MONSTER_NAME 303 -#define ITEM_INFO 304 -#define LUA_LINE 305 +#define NUMBER 301 +#define STRING 302 +#define MAP_LINE 303 +#define MONSTER_NAME 304 +#define ITEM_INFO 305 +#define LUA_LINE 306 @@ -146,17 +147,18 @@ typedef union YYSTYPE { -/* Line 1676 of yacc.c */ -#line 45 "levcomp.ypp" +/* Line 1685 of yacc.c */ +#line 34 "levcomp.ypp" int i; + double f; const char *text; - raw_range range; + map_chance_pair chance; -/* Line 1676 of yacc.c */ -#line 160 "levcomp.tab.h" +/* Line 1685 of yacc.c */ +#line 162 "levcomp.tab.h" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ |