(closes issue #12467)
[asterisk/asterisk.git] / main / ast_expr2f.c
1 #line 2 "ast_expr2f.c"
2
3 #line 4 "ast_expr2f.c"
4
5 #define  YY_INT_ALIGNED short int
6
7 /* A lexical scanner generated by flex */
8
9 #define FLEX_SCANNER
10 #define YY_FLEX_MAJOR_VERSION 2
11 #define YY_FLEX_MINOR_VERSION 5
12 #define YY_FLEX_SUBMINOR_VERSION 33
13 #if YY_FLEX_SUBMINOR_VERSION > 0
14 #define FLEX_BETA
15 #endif
16
17 /* First, we deal with  platform-specific or compiler-specific issues. */
18
19 /* begin standard C headers. */
20 #include <stdio.h>
21 #include <string.h>
22 #include <errno.h>
23 #include <stdlib.h>
24
25 /* end standard C headers. */
26
27 /* flex integer type definitions */
28
29 #ifndef FLEXINT_H
30 #define FLEXINT_H
31
32 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
33
34 #if !defined __STDC_VERSION__ || __STDC_VERSION__ >= 199901L
35
36 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
37  * if you want the limit (max/min) macros for int types. 
38  */
39 #ifndef __STDC_LIMIT_MACROS
40 #define __STDC_LIMIT_MACROS 1
41 #endif
42
43 #include <inttypes.h>
44 typedef int8_t flex_int8_t;
45 typedef uint8_t flex_uint8_t;
46 typedef int16_t flex_int16_t;
47 typedef uint16_t flex_uint16_t;
48 typedef int32_t flex_int32_t;
49 typedef uint32_t flex_uint32_t;
50 #else
51 typedef signed char flex_int8_t;
52 typedef short int flex_int16_t;
53 typedef int flex_int32_t;
54 typedef unsigned char flex_uint8_t; 
55 typedef unsigned short int flex_uint16_t;
56 typedef unsigned int flex_uint32_t;
57 #endif /* ! C99 */
58
59 /* Limits of integral types. */
60 #ifndef INT8_MIN
61 #define INT8_MIN               (-128)
62 #endif
63 #ifndef INT16_MIN
64 #define INT16_MIN              (-32767-1)
65 #endif
66 #ifndef INT32_MIN
67 #define INT32_MIN              (-2147483647-1)
68 #endif
69 #ifndef INT8_MAX
70 #define INT8_MAX               (127)
71 #endif
72 #ifndef INT16_MAX
73 #define INT16_MAX              (32767)
74 #endif
75 #ifndef INT32_MAX
76 #define INT32_MAX              (2147483647)
77 #endif
78 #ifndef UINT8_MAX
79 #define UINT8_MAX              (255U)
80 #endif
81 #ifndef UINT16_MAX
82 #define UINT16_MAX             (65535U)
83 #endif
84 #ifndef UINT32_MAX
85 #define UINT32_MAX             (4294967295U)
86 #endif
87
88 #endif /* ! FLEXINT_H */
89
90 #ifdef __cplusplus
91
92 /* The "const" storage-class-modifier is valid. */
93 #define YY_USE_CONST
94
95 #else   /* ! __cplusplus */
96
97 #if __STDC__
98
99 #define YY_USE_CONST
100
101 #endif  /* __STDC__ */
102 #endif  /* ! __cplusplus */
103
104 #ifdef YY_USE_CONST
105 #define yyconst const
106 #else
107 #define yyconst
108 #endif
109
110 /* Returned upon end-of-file. */
111 #define YY_NULL 0
112
113 /* Promotes a possibly negative, possibly signed char to an unsigned
114  * integer for use as an array index.  If the signed char is negative,
115  * we want to instead treat it as an 8-bit unsigned char, hence the
116  * double cast.
117  */
118 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
119
120 /* An opaque pointer. */
121 #ifndef YY_TYPEDEF_YY_SCANNER_T
122 #define YY_TYPEDEF_YY_SCANNER_T
123 typedef void* yyscan_t;
124 #endif
125
126 /* For convenience, these vars (plus the bison vars far below)
127    are macros in the reentrant scanner. */
128 #define yyin yyg->yyin_r
129 #define yyout yyg->yyout_r
130 #define yyextra yyg->yyextra_r
131 #define yyleng yyg->yyleng_r
132 #define yytext yyg->yytext_r
133 #define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno)
134 #define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column)
135 #define yy_flex_debug yyg->yy_flex_debug_r
136
137 int ast_yylex_init (yyscan_t* scanner);
138
139 /* Enter a start condition.  This macro really ought to take a parameter,
140  * but we do it the disgusting crufty way forced on us by the ()-less
141  * definition of BEGIN.
142  */
143 #define BEGIN yyg->yy_start = 1 + 2 *
144
145 /* Translate the current start state into a value that can be later handed
146  * to BEGIN to return to the state.  The YYSTATE alias is for lex
147  * compatibility.
148  */
149 #define YY_START ((yyg->yy_start - 1) / 2)
150 #define YYSTATE YY_START
151
152 /* Action number for EOF rule of a given start state. */
153 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
154
155 /* Special action meaning "start processing a new file". */
156 #define YY_NEW_FILE ast_yyrestart(yyin ,yyscanner )
157
158 #define YY_END_OF_BUFFER_CHAR 0
159
160 /* Size of default input buffer. */
161 #ifndef YY_BUF_SIZE
162 #define YY_BUF_SIZE 16384
163 #endif
164
165 /* The state buf must be large enough to hold one state per character in the main buffer.
166  */
167 #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
168
169 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
170 #define YY_TYPEDEF_YY_BUFFER_STATE
171 typedef struct yy_buffer_state *YY_BUFFER_STATE;
172 #endif
173
174 #define EOB_ACT_CONTINUE_SCAN 0
175 #define EOB_ACT_END_OF_FILE 1
176 #define EOB_ACT_LAST_MATCH 2
177
178     #define YY_LESS_LINENO(n)
179     
180 /* Return all but the first "n" matched characters back to the input stream. */
181 #define yyless(n) \
182         do \
183                 { \
184                 /* Undo effects of setting up yytext. */ \
185         int yyless_macro_arg = (n); \
186         YY_LESS_LINENO(yyless_macro_arg);\
187                 *yy_cp = yyg->yy_hold_char; \
188                 YY_RESTORE_YY_MORE_OFFSET \
189                 yyg->yy_c_buf_p = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
190                 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
191                 } \
192         while ( 0 )
193
194 #define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
195
196 /* The following is because we cannot portably get our hands on size_t
197  * (without autoconf's help, which isn't available because we want
198  * flex-generated scanners to compile on their own).
199  */
200
201 #ifndef YY_TYPEDEF_YY_SIZE_T
202 #define YY_TYPEDEF_YY_SIZE_T
203 typedef unsigned int yy_size_t;
204 #endif
205
206 #ifndef YY_STRUCT_YY_BUFFER_STATE
207 #define YY_STRUCT_YY_BUFFER_STATE
208 struct yy_buffer_state
209         {
210         FILE *yy_input_file;
211
212         char *yy_ch_buf;                /* input buffer */
213         char *yy_buf_pos;               /* current position in input buffer */
214
215         /* Size of input buffer in bytes, not including room for EOB
216          * characters.
217          */
218         yy_size_t yy_buf_size;
219
220         /* Number of characters read into yy_ch_buf, not including EOB
221          * characters.
222          */
223         int yy_n_chars;
224
225         /* Whether we "own" the buffer - i.e., we know we created it,
226          * and can realloc() it to grow it, and should free() it to
227          * delete it.
228          */
229         int yy_is_our_buffer;
230
231         /* Whether this is an "interactive" input source; if so, and
232          * if we're using stdio for input, then we want to use getc()
233          * instead of fread(), to make sure we stop fetching input after
234          * each newline.
235          */
236         int yy_is_interactive;
237
238         /* Whether we're considered to be at the beginning of a line.
239          * If so, '^' rules will be active on the next match, otherwise
240          * not.
241          */
242         int yy_at_bol;
243
244     int yy_bs_lineno; /**< The line count. */
245     int yy_bs_column; /**< The column count. */
246     
247         /* Whether to try to fill the input buffer when we reach the
248          * end of it.
249          */
250         int yy_fill_buffer;
251
252         int yy_buffer_status;
253
254 #define YY_BUFFER_NEW 0
255 #define YY_BUFFER_NORMAL 1
256         /* When an EOF's been seen but there's still some text to process
257          * then we mark the buffer as YY_EOF_PENDING, to indicate that we
258          * shouldn't try reading from the input source any more.  We might
259          * still have a bunch of tokens to match, though, because of
260          * possible backing-up.
261          *
262          * When we actually see the EOF, we change the status to "new"
263          * (via ast_yyrestart()), so that the user can continue scanning by
264          * just pointing yyin at a new input file.
265          */
266 #define YY_BUFFER_EOF_PENDING 2
267
268         };
269 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
270
271 /* We provide macros for accessing buffer states in case in the
272  * future we want to put the buffer states in a more general
273  * "scanner state".
274  *
275  * Returns the top of the stack, or NULL.
276  */
277 #define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \
278                           ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \
279                           : NULL)
280
281 /* Same as previous macro, but useful when we know that the buffer stack is not
282  * NULL or when we need an lvalue. For internal use only.
283  */
284 #define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
285
286 void ast_yyrestart (FILE *input_file ,yyscan_t yyscanner );
287 void ast_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
288 YY_BUFFER_STATE ast_yy_create_buffer (FILE *file,int size ,yyscan_t yyscanner );
289 void ast_yy_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
290 void ast_yy_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
291 void ast_yypush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
292 void ast_yypop_buffer_state (yyscan_t yyscanner );
293
294 static void ast_yyensure_buffer_stack (yyscan_t yyscanner );
295 static void ast_yy_load_buffer_state (yyscan_t yyscanner );
296 static void ast_yy_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner );
297
298 #define YY_FLUSH_BUFFER ast_yy_flush_buffer(YY_CURRENT_BUFFER ,yyscanner)
299
300 YY_BUFFER_STATE ast_yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
301 YY_BUFFER_STATE ast_yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
302 YY_BUFFER_STATE ast_yy_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner );
303
304 void *ast_yyalloc (yy_size_t ,yyscan_t yyscanner );
305 void *ast_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner );
306 void ast_yyfree (void * ,yyscan_t yyscanner );
307
308 #define yy_new_buffer ast_yy_create_buffer
309
310 #define yy_set_interactive(is_interactive) \
311         { \
312         if ( ! YY_CURRENT_BUFFER ){ \
313         ast_yyensure_buffer_stack (yyscanner); \
314                 YY_CURRENT_BUFFER_LVALUE =    \
315             ast_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
316         } \
317         YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
318         }
319
320 #define yy_set_bol(at_bol) \
321         { \
322         if ( ! YY_CURRENT_BUFFER ){\
323         ast_yyensure_buffer_stack (yyscanner); \
324                 YY_CURRENT_BUFFER_LVALUE =    \
325             ast_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
326         } \
327         YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
328         }
329
330 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
331
332 /* Begin user sect3 */
333
334 #define ast_yywrap(n) 1
335 #define YY_SKIP_YYWRAP
336
337 typedef unsigned char YY_CHAR;
338
339 typedef int yy_state_type;
340
341 #define yytext_ptr yytext_r
342 static yyconst flex_int16_t yy_nxt[][256] =
343     {
344     {
345         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
346         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
347         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
348         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
349         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
350         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
351         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
352         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
353         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
354         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
355
356         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
357         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
358         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
359         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
360         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
361         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
362         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
363         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
364         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
365         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
366
367         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
368         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
369         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
370         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
371         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
372         0,    0,    0,    0,    0,    0
373     },
374
375     {
376         7,    8,    8,    8,    8,    8,    8,    8,    8,    9,
377        10,    8,    8,    9,    8,    8,    8,    8,    8,    8,
378         8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
379         8,    8,    9,   11,   12,   13,   14,   15,   16,   13,
380
381        17,   18,   19,   20,   21,   22,   13,   23,   24,   24,
382        24,   24,   24,   24,   24,   24,   24,   24,   25,   13,
383        26,   27,   28,   29,   13,   13,   13,   13,   13,   13,
384        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
385        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
386        13,    8,   13,    8,   13,   13,    8,   13,   13,   13,
387        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
388        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
389        13,   13,   13,    8,   30,    8,   31,    8,   13,   13,
390        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
391
392        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
393        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
394        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
395        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
396        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
397        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
398        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
399        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
400        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
401        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
402
403        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
404        13,   13,   13,   13,   13,   13
405     },
406
407     {
408         7,    8,    8,    8,    8,    8,    8,    8,    8,    9,
409        10,    8,    8,    9,    8,    8,    8,    8,    8,    8,
410         8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
411         8,    8,    9,   11,   12,   13,   14,   15,   16,   13,
412        17,   18,   19,   20,   21,   22,   13,   23,   24,   24,
413        24,   24,   24,   24,   24,   24,   24,   24,   25,   13,
414        26,   27,   28,   29,   13,   13,   13,   13,   13,   13,
415        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
416
417        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
418        13,    8,   13,    8,   13,   13,    8,   13,   13,   13,
419        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
420        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
421        13,   13,   13,    8,   30,    8,   31,    8,   13,   13,
422        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
423        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
424        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
425        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
426        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
427
428        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
429        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
430        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
431        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
432        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
433        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
434        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
435        13,   13,   13,   13,   13,   13
436     },
437
438     {
439         7,   32,   32,   32,   32,   32,   32,   32,   32,   32,
440        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
441
442        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
443        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
444        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
445        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
446        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
447        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
448        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
449        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
450        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
451        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
452
453        32,   32,   32,   33,   32,   34,   32,   32,   32,   32,
454        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
455        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
456        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
457        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
458        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
459        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
460        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
461        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
462        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
463
464        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
465        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
466        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
467        32,   32,   32,   32,   32,   32
468     },
469
470     {
471         7,   32,   32,   32,   32,   32,   32,   32,   32,   32,
472        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
473        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
474        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
475        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
476        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
477
478        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
479        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
480        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
481        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
482        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
483        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
484        32,   32,   32,   33,   32,   34,   32,   32,   32,   32,
485        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
486        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
487        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
488
489        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
490        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
491        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
492        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
493        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
494        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
495        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
496        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
497        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
498        32,   32,   32,   32,   32,   32
499
500     },
501
502     {
503         7,   35,   35,   35,   35,   35,   35,   35,   35,   36,
504        36,   35,   35,   36,   35,   35,   35,   35,   35,   35,
505        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
506        35,   35,   36,   36,   35,   35,   37,   36,   36,   35,
507        36,   36,   36,   36,   35,   36,   35,   36,   35,   35,
508        35,   35,   35,   35,   35,   35,   35,   35,   36,   35,
509        36,   36,   36,   36,   35,   35,   35,   35,   35,   35,
510        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
511        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
512        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
513
514        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
515        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
516        35,   35,   35,   35,   36,   35,   35,   35,   35,   35,
517        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
518        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
519        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
520        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
521        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
522        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
523        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
524
525        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
526        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
527        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
528        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
529        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
530        35,   35,   35,   35,   35,   35
531     },
532
533     {
534         7,   35,   35,   35,   35,   35,   35,   35,   35,   36,
535        36,   35,   35,   36,   35,   35,   35,   35,   35,   35,
536        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
537        35,   35,   36,   36,   35,   35,   37,   36,   36,   35,
538
539        36,   36,   36,   36,   35,   36,   35,   36,   35,   35,
540        35,   35,   35,   35,   35,   35,   35,   35,   36,   35,
541        36,   36,   36,   36,   35,   35,   35,   35,   35,   35,
542        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
543        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
544        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
545        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
546        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
547        35,   35,   35,   35,   36,   35,   35,   35,   35,   35,
548        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
549
550        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
551        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
552        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
553        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
554        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
555        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
556        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
557        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
558        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
559        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
560
561        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
562        35,   35,   35,   35,   35,   35
563     },
564
565     {
566        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
567        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
568        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
569        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
570        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
571        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
572        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
573        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
574
575        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
576        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
577        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
578        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
579        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
580        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
581        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
582        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
583        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
584        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
585
586        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
587        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
588        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
589        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
590        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
591        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
592        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
593        -7,   -7,   -7,   -7,   -7,   -7
594     },
595
596     {
597         7,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
598        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
599
600        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
601        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
602        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
603        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
604        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
605        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
606        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
607        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
608        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
609        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
610
611        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
612        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
613        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
614        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
615        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
616        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
617        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
618        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
619        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
620        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
621
622        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
623        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
624        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
625        -8,   -8,   -8,   -8,   -8,   -8
626     },
627
628     {
629         7,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
630        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
631        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
632        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
633        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
634        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
635
636        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
637        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
638        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
639        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
640        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
641        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
642        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
643        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
644        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
645        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
646
647        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
648        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
649        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
650        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
651        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
652        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
653        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
654        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
655        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
656        -9,   -9,   -9,   -9,   -9,   -9
657
658     },
659
660     {
661         7,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
662       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
663       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
664       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
665       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
666       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
667       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
668       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
669       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
670       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
671
672       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
673       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
674       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
675       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
676       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
677       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
678       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
679       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
680       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
681       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
682
683       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
684       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
685       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
686       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
687       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
688       -10,  -10,  -10,  -10,  -10,  -10
689     },
690
691     {
692         7,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
693       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
694       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
695       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
696
697       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
698       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
699       -11,   38,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
700       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
701       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
702       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
703       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
704       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
705       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
706       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
707
708       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
709       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
710       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
711       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
712       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
713       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
714       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
715       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
716       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
717       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
718
719       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
720       -11,  -11,  -11,  -11,  -11,  -11
721     },
722
723     {
724         7,   39,   39,   39,   39,   39,   39,   39,   39,   39,
725        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
726        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
727        39,   39,   39,   39,   40,   39,   39,   39,   39,   39,
728        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
729        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
730        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
731        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
732
733        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
734        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
735        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
736        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
737        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
738        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
739        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
740        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
741        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
742        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
743
744        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
745        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
746        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
747        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
748        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
749        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
750        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
751        39,   39,   39,   39,   39,   39
752     },
753
754     {
755         7,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
756       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
757
758       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
759       -13,  -13,  -13,  -13,  -13,   41,   42,  -13,  -13,   41,
760       -13,  -13,  -13,  -13,  -13,  -13,   41,  -13,   41,   41,
761        41,   41,   41,   41,   41,   41,   41,   41,  -13,   41,
762       -13,  -13,  -13,  -13,   41,   41,   41,   41,   41,   41,
763        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
764        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
765        41,  -13,   41,  -13,   41,   41,  -13,   41,   41,   41,
766        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
767        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
768
769        41,   41,   41,  -13,  -13,  -13,  -13,  -13,   41,   41,
770        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
771        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
772        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
773        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
774        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
775        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
776        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
777        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
778        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
779
780        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
781        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
782        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
783        41,   41,   41,   41,   41,   41
784     },
785
786     {
787         7,   41,   41,   41,   41,   41,   41,   41,   41,   41,
788        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
789        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
790        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
791        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
792        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
793
794        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
795        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
796        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
797        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
798        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
799        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
800        41,   41,   41,   43,   41,   41,   41,   41,   41,   41,
801        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
802        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
803        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
804
805        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
806        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
807        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
808        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
809        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
810        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
811        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
812        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
813        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
814        41,   41,   41,   41,   41,   41
815
816     },
817
818     {
819         7,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
820       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
821       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
822       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
823       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
824       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
825       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
826       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
827       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
828       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
829
830       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
831       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
832       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
833       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
834       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
835       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
836       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
837       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
838       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
839       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
840
841       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
842       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
843       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
844       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
845       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
846       -15,  -15,  -15,  -15,  -15,  -15
847     },
848
849     {
850         7,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
851       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
852       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
853       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,   44,  -16,
854
855       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
856       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
857       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
858       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
859       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
860       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
861       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
862       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
863       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
864       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
865
866       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
867       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
868       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
869       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
870       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
871       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
872       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
873       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
874       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
875       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
876
877       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
878       -16,  -16,  -16,  -16,  -16,  -16
879     },
880
881     {
882         7,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
883       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
884       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
885       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
886       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
887       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
888       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
889       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
890
891       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
892       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
893       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
894       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
895       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
896       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
897       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
898       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
899       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
900       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
901
902       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
903       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
904       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
905       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
906       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
907       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
908       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
909       -17,  -17,  -17,  -17,  -17,  -17
910     },
911
912     {
913         7,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
914       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
915
916       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
917       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
918       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
919       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
920       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
921       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
922       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
923       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
924       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
925       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
926
927       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
928       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
929       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
930       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
931       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
932       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
933       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
934       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
935       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
936       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
937
938       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
939       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
940       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
941       -18,  -18,  -18,  -18,  -18,  -18
942     },
943
944     {
945         7,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
946       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
947       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
948       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
949       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
950       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
951
952       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
953       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
954       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
955       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
956       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
957       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
958       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
959       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
960       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
961       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
962
963       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
964       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
965       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
966       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
967       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
968       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
969       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
970       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
971       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
972       -19,  -19,  -19,  -19,  -19,  -19
973
974     },
975
976     {
977         7,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
978       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
979       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
980       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
981       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
982       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
983       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
984       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
985       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
986       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
987
988       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
989       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
990       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
991       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
992       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
993       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
994       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
995       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
996       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
997       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
998
999       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
1000       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
1001       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
1002       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
1003       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
1004       -20,  -20,  -20,  -20,  -20,  -20
1005     },
1006
1007     {
1008         7,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1009       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1010       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1011       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1012
1013       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1014       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1015       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1016       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1017       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1018       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1019       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1020       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1021       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1022       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1023
1024       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1025       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1026       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1027       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1028       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1029       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1030       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1031       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1032       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1033       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1034
1035       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1036       -21,  -21,  -21,  -21,  -21,  -21
1037     },
1038
1039     {
1040         7,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1041       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1042       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1043       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1044       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1045       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1046       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1047       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1048
1049       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1050       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1051       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1052       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1053       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1054       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1055       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1056       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1057       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1058       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1059
1060       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1061       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1062       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1063       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1064       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1065       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1066       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1067       -22,  -22,  -22,  -22,  -22,  -22
1068     },
1069
1070     {
1071         7,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1072       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1073
1074       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1075       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1076       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1077       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1078       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1079       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1080       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1081       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1082       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1083       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1084
1085       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1086       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1087       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1088       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1089       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1090       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1091       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1092       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1093       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1094       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1095
1096       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1097       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1098       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1099       -23,  -23,  -23,  -23,  -23,  -23
1100     },
1101
1102     {
1103         7,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
1104       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
1105       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
1106       -24,  -24,  -24,  -24,  -24,   41,   42,  -24,  -24,   41,
1107       -24,  -24,  -24,  -24,  -24,  -24,   45,  -24,   46,   46,
1108        46,   46,   46,   46,   46,   46,   46,   46,  -24,   41,
1109
1110       -24,  -24,  -24,  -24,   41,   41,   41,   41,   41,   41,
1111        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1112        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1113        41,  -24,   41,  -24,   41,   41,  -24,   41,   41,   41,
1114        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1115        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1116        41,   41,   41,  -24,  -24,  -24,  -24,  -24,   41,   41,
1117        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1118        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1119        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1120
1121        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1122        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1123        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1124        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1125        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1126        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1127        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1128        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1129        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1130        41,   41,   41,   41,   41,   41
1131
1132     },
1133
1134     {
1135         7,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1136       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1137       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1138       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1139       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1140       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,   47,  -25,
1141       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1142       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1143       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1144       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1145
1146       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1147       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1148       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1149       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1150       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1151       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1152       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1153       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1154       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1155       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1156
1157       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1158       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1159       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1160       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1161       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1162       -25,  -25,  -25,  -25,  -25,  -25
1163     },
1164
1165     {
1166         7,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1167       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1168       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1169       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1170
1171       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1172       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1173       -26,   48,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1174       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1175       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1176       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1177       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1178       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1179       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1180       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1181
1182       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1183       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1184       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1185       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1186       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1187       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1188       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1189       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1190       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1191       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1192
1193       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1194       -26,  -26,  -26,  -26,  -26,  -26
1195     },
1196
1197     {
1198         7,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1199       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1200       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1201       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1202       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1203       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1204       -27,   49,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1205       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1206
1207       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1208       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1209       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1210       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1211       -27,  -27,  -27,  -27,  -27,  -27,   50,  -27,  -27,  -27,
1212       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1213       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1214       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1215       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1216       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1217
1218       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1219       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1220       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1221       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1222       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1223       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1224       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1225       -27,  -27,  -27,  -27,  -27,  -27
1226     },
1227
1228     {
1229         7,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1230       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1231
1232       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1233       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1234       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1235       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1236       -28,   51,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1237       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1238       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1239       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1240       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1241       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1242
1243       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1244       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1245       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1246       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1247       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1248       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1249       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1250       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1251       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1252       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1253
1254       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1255       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1256       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1257       -28,  -28,  -28,  -28,  -28,  -28
1258     },
1259
1260     {
1261         7,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1262       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1263       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1264       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1265       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1266       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1267
1268       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1269       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1270       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1271       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1272       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1273       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1274       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1275       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1276       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1277       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1278
1279       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1280       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1281       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1282       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1283       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1284       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1285       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1286       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1287       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1288       -29,  -29,  -29,  -29,  -29,  -29
1289
1290     },
1291
1292     {
1293         7,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1294       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1295       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1296       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1297       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1298       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1299       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1300       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1301       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1302       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1303
1304       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1305       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1306       -30,  -30,  -30,  -30,   52,  -30,  -30,  -30,  -30,  -30,
1307       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1308       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1309       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1310       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1311       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1312       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1313       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1314
1315       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1316       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1317       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1318       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1319       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1320       -30,  -30,  -30,  -30,  -30,  -30
1321     },
1322
1323     {
1324         7,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1325       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1326       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1327       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1328
1329       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1330       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1331       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1332       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1333       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1334       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1335       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1336       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1337       -31,  -31,  -31,  -31,  -31,  -31,   53,  -31,  -31,  -31,
1338       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1339
1340       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1341       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1342       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1343       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1344       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1345       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1346       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1347       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1348       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1349       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1350
1351       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1352       -31,  -31,  -31,  -31,  -31,  -31
1353     },
1354
1355     {
1356         7,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1357        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1358        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1359        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1360        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1361        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1362        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1363        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1364
1365        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1366        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1367        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1368        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1369        54,   54,   54,   55,   54,   56,   54,   54,   54,   54,
1370        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1371        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1372        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1373        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1374        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1375
1376        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1377        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1378        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1379        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1380        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1381        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1382        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1383        54,   54,   54,   54,   54,   54
1384     },
1385
1386     {
1387         7,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1388       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1389
1390       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1391       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1392       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1393       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1394       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1395       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1396       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1397       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1398       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1399       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1400
1401       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1402       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1403       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1404       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1405       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1406       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1407       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1408       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1409       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1410       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1411
1412       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1413       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1414       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1415       -33,  -33,  -33,  -33,  -33,  -33
1416     },
1417
1418     {
1419         7,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1420       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1421       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1422       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1423       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1424       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1425
1426       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1427       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1428       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1429       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1430       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1431       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1432       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1433       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1434       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1435       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1436
1437       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1438       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1439       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1440       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1441       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1442       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1443       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1444       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1445       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1446       -34,  -34,  -34,  -34,  -34,  -34
1447
1448     },
1449
1450     {
1451         7,   57,   57,   57,   57,   57,   57,   57,   57,  -35,
1452       -35,   57,   57,  -35,   57,   57,   57,   57,   57,   57,
1453        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1454        57,   57,  -35,  -35,   57,   57,  -35,  -35,  -35,   57,
1455       -35,  -35,  -35,  -35,   57,  -35,   57,  -35,   57,   57,
1456        57,   57,   57,   57,   57,   57,   57,   57,  -35,   57,
1457       -35,  -35,  -35,  -35,   57,   57,   57,   57,   57,   57,
1458        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1459        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1460        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1461
1462        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1463        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1464        57,   57,   57,   57,  -35,   57,   57,   57,   57,   57,
1465        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1466        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1467        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1468        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1469        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1470        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1471        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1472
1473        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1474        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1475        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1476        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1477        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1478        57,   57,   57,   57,   57,   57
1479     },
1480
1481     {
1482         7,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1483       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1484       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1485       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1486
1487       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1488       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1489       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1490       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1491       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1492       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1493       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1494       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1495       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1496       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1497
1498       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1499       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1500       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1501       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1502       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1503       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1504       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1505       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1506       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1507       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1508
1509       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1510       -36,  -36,  -36,  -36,  -36,  -36
1511     },
1512
1513     {
1514         7,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1515       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1516       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1517       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1518       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1519       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1520       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1521       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1522
1523       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1524       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1525       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1526       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1527       -37,  -37,  -37,   58,  -37,  -37,  -37,  -37,  -37,  -37,
1528       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1529       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1530       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1531       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1532       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1533
1534       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1535       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1536       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1537       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1538       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1539       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1540       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1541       -37,  -37,  -37,  -37,  -37,  -37
1542     },
1543
1544     {
1545         7,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1546       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1547
1548       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1549       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1550       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1551       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1552       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1553       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1554       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1555       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1556       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1557       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1558
1559       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1560       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1561       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1562       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1563       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1564       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1565       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1566       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1567       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1568       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1569
1570       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1571       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1572       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1573       -38,  -38,  -38,  -38,  -38,  -38
1574     },
1575
1576     {
1577         7,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1578        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1579        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1580        39,   39,   39,   39,   40,   39,   39,   39,   39,   39,
1581        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1582        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1583
1584        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1585        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1586        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1587        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1588        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1589        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1590        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1591        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1592        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1593        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1594
1595        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1596        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1597        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1598        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1599        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1600        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1601        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1602        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1603        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1604        39,   39,   39,   39,   39,   39
1605
1606     },
1607
1608     {
1609         7,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1610       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1611       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1612       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1613       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1614       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1615       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1616       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1617       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1618       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1619
1620       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1621       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1622       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1623       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1624       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1625       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1626       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1627       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1628       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1629       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1630
1631       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1632       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1633       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1634       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1635       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1636       -40,  -40,  -40,  -40,  -40,  -40
1637     },
1638
1639     {
1640         7,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1641       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1642       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1643       -41,  -41,  -41,  -41,  -41,   41,   42,  -41,  -41,   41,
1644
1645       -41,  -41,  -41,  -41,  -41,  -41,   41,  -41,   41,   41,
1646        41,   41,   41,   41,   41,   41,   41,   41,  -41,   41,
1647       -41,  -41,  -41,  -41,   41,   41,   41,   41,   41,   41,
1648        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1649        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1650        41,  -41,   41,  -41,   41,   41,  -41,   41,   41,   41,
1651        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1652        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1653        41,   41,   41,  -41,  -41,  -41,  -41,  -41,   41,   41,
1654        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1655
1656        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1657        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1658        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1659        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1660        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1661        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1662        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1663        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1664        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1665        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1666
1667        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1668        41,   41,   41,   41,   41,   41
1669     },
1670
1671     {
1672         7,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1673        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1674        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1675        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1676        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1677        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1678        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1679        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1680
1681        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1682        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1683        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1684        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1685        41,   41,   41,  -42,   41,   41,   41,   41,   41,   41,
1686        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1687        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1688        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1689        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1690        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1691
1692        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1693        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1694        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1695        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1696        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1697        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1698        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1699        41,   41,   41,   41,   41,   41
1700     },
1701
1702     {
1703         7,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1704       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1705
1706       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1707       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1708       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1709       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1710       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1711       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1712       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1713       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1714       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1715       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1716
1717       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1718       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1719       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1720       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1721       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1722       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1723       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1724       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1725       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1726       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1727
1728       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1729       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1730       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1731       -43,  -43,  -43,  -43,  -43,  -43
1732     },
1733
1734     {
1735         7,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1736       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1737       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1738       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1739       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1740       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1741
1742       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1743       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1744       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1745       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1746       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1747       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1748       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1749       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1750       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1751       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1752
1753       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1754       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1755       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1756       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1757       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1758       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1759       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1760       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1761       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1762       -44,  -44,  -44,  -44,  -44,  -44
1763
1764     },
1765
1766     {
1767         7,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1768       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1769       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1770       -45,  -45,  -45,  -45,  -45,   41,   42,  -45,  -45,   41,
1771       -45,  -45,  -45,  -45,  -45,  -45,   41,  -45,   59,   59,
1772        59,   59,   59,   59,   59,   59,   59,   59,  -45,   41,
1773       -45,  -45,  -45,  -45,   41,   41,   41,   41,   41,   41,
1774        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1775        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1776        41,  -45,   41,  -45,   41,   41,  -45,   41,   41,   41,
1777
1778        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1779        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1780        41,   41,   41,  -45,  -45,  -45,  -45,  -45,   41,   41,
1781        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1782        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1783        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1784        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1785        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1786        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1787        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1788
1789        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1790        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1791        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1792        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1793        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1794        41,   41,   41,   41,   41,   41
1795     },
1796
1797     {
1798         7,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1799       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1800       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1801       -46,  -46,  -46,  -46,  -46,   41,   42,  -46,  -46,   41,
1802
1803       -46,  -46,  -46,  -46,  -46,  -46,   45,  -46,   46,   46,
1804        46,   46,   46,   46,   46,   46,   46,   46,  -46,   41,
1805       -46,  -46,  -46,  -46,   41,   41,   41,   41,   41,   41,
1806        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1807        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1808        41,  -46,   41,  -46,   41,   41,  -46,   41,   41,   41,
1809        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1810        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1811        41,   41,   41,  -46,  -46,  -46,  -46,  -46,   41,   41,
1812        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1813
1814        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1815        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1816        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1817        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1818        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1819        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1820        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1821        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1822        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1823        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1824
1825        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1826        41,   41,   41,   41,   41,   41
1827     },
1828
1829     {
1830         7,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1831       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1832       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1833       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1834       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1835       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1836       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1837       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1838
1839       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1840       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1841       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1842       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1843       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1844       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1845       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1846       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1847       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1848       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1849
1850       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1851       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1852       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1853       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1854       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1855       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1856       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1857       -47,  -47,  -47,  -47,  -47,  -47
1858     },
1859
1860     {
1861         7,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1862       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1863
1864       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1865       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1866       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1867       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1868       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1869       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1870       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1871       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1872       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1873       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1874
1875       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1876       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1877       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1878       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1879       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1880       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1881       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1882       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1883       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1884       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1885
1886       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1887       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1888       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1889       -48,  -48,  -48,  -48,  -48,  -48
1890     },
1891
1892     {
1893         7,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1894       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1895       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1896       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1897       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1898       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1899
1900       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1901       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1902       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1903       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1904       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1905       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1906       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1907       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1908       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1909       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1910
1911       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1912       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1913       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1914       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1915       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1916       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1917       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1918       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1919       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1920       -49,  -49,  -49,  -49,  -49,  -49
1921
1922     },
1923
1924     {
1925         7,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1926       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1927       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1928       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1929       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1930       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1931       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1932       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1933       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1934       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1935
1936       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1937       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1938       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1939       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1940       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1941       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1942       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1943       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1944       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1945       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1946
1947       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1948       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1949       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1950       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1951       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1952       -50,  -50,  -50,  -50,  -50,  -50
1953     },
1954
1955     {
1956         7,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1957       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1958       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1959       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1960
1961       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1962       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1963       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1964       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1965       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1966       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1967       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1968       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1969       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1970       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1971
1972       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1973       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1974       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1975       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1976       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1977       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1978       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1979       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1980       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1981       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1982
1983       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1984       -51,  -51,  -51,  -51,  -51,  -51
1985     },
1986
1987     {
1988         7,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1989       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1990       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1991       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1992       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1993       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1994       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1995       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1996
1997       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1998       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1999       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
2000       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
2001       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
2002       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
2003       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
2004       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
2005       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
2006       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
2007
2008       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
2009       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
2010       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
2011       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
2012       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
2013       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
2014       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
2015       -52,  -52,  -52,  -52,  -52,  -52
2016     },
2017
2018     {
2019         7,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2020       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2021
2022       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2023       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2024       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2025       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2026       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2027       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2028       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2029       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2030       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2031       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2032
2033       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2034       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2035       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2036       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2037       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2038       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2039       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2040       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2041       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2042       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2043
2044       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2045       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2046       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2047       -53,  -53,  -53,  -53,  -53,  -53
2048     },
2049
2050     {
2051         7,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2052        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2053        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2054        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2055        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2056        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2057
2058        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2059        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2060        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2061        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2062        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2063        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2064        54,   54,   54,   55,   54,   56,   54,   54,   54,   54,
2065        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2066        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2067        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2068
2069        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2070        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2071        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2072        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2073        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2074        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2075        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2076        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2077        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2078        54,   54,   54,   54,   54,   54
2079
2080     },
2081
2082     {
2083         7,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2084       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2085       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2086       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2087       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2088       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2089       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2090       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2091       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2092       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2093
2094       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2095       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2096       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2097       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2098       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2099       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2100       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2101       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2102       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2103       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2104
2105       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2106       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2107       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2108       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2109       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2110       -55,  -55,  -55,  -55,  -55,  -55
2111     },
2112
2113     {
2114         7,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2115       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2116       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2117       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2118
2119       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2120       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2121       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2122       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2123       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2124       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2125       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2126       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2127       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2128       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2129
2130       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2131       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2132       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2133       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2134       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2135       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2136       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2137       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2138       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2139       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2140
2141       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2142       -56,  -56,  -56,  -56,  -56,  -56
2143     },
2144
2145     {
2146         7,   57,   57,   57,   57,   57,   57,   57,   57,  -57,
2147       -57,   57,   57,  -57,   57,   57,   57,   57,   57,   57,
2148        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2149        57,   57,  -57,  -57,   57,   57,  -57,  -57,  -57,   57,
2150       -57,  -57,  -57,  -57,   57,  -57,   57,  -57,   57,   57,
2151        57,   57,   57,   57,   57,   57,   57,   57,  -57,   57,
2152       -57,  -57,  -57,  -57,   57,   57,   57,   57,   57,   57,
2153        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2154
2155        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2156        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2157        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2158        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2159        57,   57,   57,   57,  -57,   57,   57,   57,   57,   57,
2160        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2161        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2162        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2163        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2164        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2165
2166        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2167        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2168        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2169        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2170        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2171        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2172        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2173        57,   57,   57,   57,   57,   57
2174     },
2175
2176     {
2177         7,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2178       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2179
2180       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2181       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2182       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2183       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2184       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2185       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2186       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2187       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2188       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2189       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2190
2191       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2192       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2193       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2194       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2195       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2196       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2197       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2198       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2199       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2200       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2201
2202       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2203       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2204       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2205       -58,  -58,  -58,  -58,  -58,  -58
2206     },
2207
2208     {
2209         7,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
2210       -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
2211       -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
2212       -59,  -59,  -59,  -59,  -59,   41,   42,  -59,  -59,   41,
2213       -59,  -59,  -59,  -59,  -59,  -59,   41,  -59,   59,   59,
2214        59,   59,   59,   59,   59,   59,   59,   59,  -59,   41,
2215
2216       -59,  -59,  -59,  -59,   41,   41,   41,   41,   41,   41,
2217        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2218        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2219        41,  -59,   41,  -59,   41,   41,  -59,   41,   41,   41,
2220        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2221        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2222        41,   41,   41,  -59,  -59,  -59,  -59,  -59,   41,   41,
2223        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2224        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2225        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2226
2227        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2228        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2229        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2230        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2231        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2232        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2233        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2234        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2235        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2236        41,   41,   41,   41,   41,   41
2237
2238     },
2239
2240     } ;
2241
2242 static yy_state_type yy_get_previous_state (yyscan_t yyscanner );
2243 static yy_state_type yy_try_NUL_trans (yy_state_type current_state  ,yyscan_t yyscanner);
2244 static int yy_get_next_buffer (yyscan_t yyscanner );
2245 static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
2246
2247 /* Done after the current pattern has been matched and before the
2248  * corresponding action - sets up yytext.
2249  */
2250 #define YY_DO_BEFORE_ACTION \
2251         yyg->yytext_ptr = yy_bp; \
2252         yyg->yytext_ptr -= yyg->yy_more_len; \
2253         yyleng = (size_t) (yy_cp - yyg->yytext_ptr); \
2254         yyg->yy_hold_char = *yy_cp; \
2255         *yy_cp = '\0'; \
2256         yyg->yy_c_buf_p = yy_cp;
2257
2258 #define YY_NUM_RULES 37
2259 #define YY_END_OF_BUFFER 38
2260 /* This struct is not used in this scanner,
2261    but its presence is necessary. */
2262 struct yy_trans_info
2263         {
2264         flex_int32_t yy_verify;
2265         flex_int32_t yy_nxt;
2266         };
2267 static yyconst flex_int16_t yy_accept[60] =
2268     {   0,
2269         0,    0,    0,    0,   34,   34,   38,   37,   27,   29,
2270        21,   37,   31,   37,   19,    2,   24,   25,   17,   14,
2271        15,   16,   18,   30,   22,   10,    3,    9,   20,    1,
2272        37,   37,   33,   32,   34,   35,   35,   13,    0,   28,
2273        31,    0,   26,    5,   31,   30,   23,   12,    6,    7,
2274        11,    4,    8,    0,   33,   32,   34,   36,   30
2275     } ;
2276
2277 static yyconst yy_state_type yy_NUL_trans[60] =
2278     {   0,
2279         8,    8,   32,   32,   35,   35,    0,    0,    0,    0,
2280         0,   39,    0,   41,    0,    0,    0,    0,    0,    0,
2281         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
2282         0,   54,    0,    0,   57,    0,    0,    0,   39,    0,
2283         0,   41,    0,    0,    0,    0,    0,    0,    0,    0,
2284         0,    0,    0,   54,    0,    0,   57,    0,    0
2285     } ;
2286
2287 /* The intent behind this definition is that it'll catch
2288  * any uses of REJECT which flex missed.
2289  */
2290 #define REJECT reject_used_but_not_detected
2291 #define yymore() (yyg->yy_more_flag = 1)
2292 #define YY_MORE_ADJ yyg->yy_more_len
2293 #define YY_RESTORE_YY_MORE_OFFSET
2294 #line 1 "ast_expr2.fl"
2295 #line 2 "ast_expr2.fl"
2296 /*
2297  * Asterisk -- An open source telephony toolkit.
2298  *
2299  * Copyright (C) 1999 - 2006, Digium, Inc.
2300  *
2301  * Mark Spencer <markster@digium.com>
2302  *
2303  * See http://www.asterisk.org for more information about
2304  * the Asterisk project. Please do not directly contact
2305  * any of the maintainers of this project for assistance;
2306  * the project provides a web site, mailing lists and IRC
2307  * channels for your use.
2308  *
2309  * This program is free software, distributed under the terms of
2310  * the GNU General Public License Version 2. See the LICENSE file
2311  * at the top of the source tree.
2312  */
2313
2314 /*! \file
2315  *
2316  * \brief Dialplan Expression Lexical Scanner
2317  */
2318
2319 #include "asterisk.h"
2320
2321 #include <sys/types.h>
2322 #include <stdio.h>
2323
2324 #ifndef STANDALONE
2325 ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
2326 #else
2327 #ifndef __USE_ISOC99
2328 #define __USE_ISOC99 1
2329 #endif
2330 #endif
2331
2332 #ifdef __USE_ISOC99
2333 #define FP___PRINTF "%.18Lg"
2334 #define FP___FMOD   fmodl
2335 #define FP___STRTOD  strtold
2336 #define FP___TYPE    long double
2337 #else
2338 #define FP___PRINTF "%.16g"
2339 #define FP___FMOD   fmod
2340 #define FP___STRTOD  strtod
2341 #define FP___TYPE    double
2342 #endif
2343
2344 #include <stdlib.h>
2345 #include <string.h>
2346 #include <locale.h>
2347 #include <ctype.h>
2348 #if !defined(SOLARIS) && !defined(__CYGWIN__)
2349 /* #include <err.h> */
2350 #else
2351 #define quad_t int64_t
2352 #endif
2353 #include <errno.h>
2354 #include <regex.h>
2355 #include <limits.h>
2356
2357 #include "asterisk/ast_expr.h"
2358 #include "asterisk/logger.h"
2359 #ifndef STANDALONE
2360 #include "asterisk/strings.h"
2361 #include "asterisk/channel.h"
2362 #endif
2363
2364 enum valtype {
2365         AST_EXPR_number, AST_EXPR_numeric_string, AST_EXPR_string
2366 } ;
2367
2368 struct val {
2369         enum valtype type;
2370         union {
2371                 char *s;
2372                 FP___TYPE i; /* long double or just double if it's a bad day */
2373         } u;
2374 } ;
2375
2376 #include "ast_expr2.h" /* the o/p of the bison on ast_expr2.y */
2377
2378 #define SET_COLUMNS     do {            \
2379         yylloc_param->first_column = (int)(yyg->yytext_r - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf); \
2380         yylloc_param->last_column += yyleng - 1; \
2381         yylloc_param->first_line = yylloc_param->last_line = 1; \
2382         } while (0)
2383
2384 #define SET_STRING      do {            \
2385         yylval_param->val = calloc(1, sizeof(struct val));      \
2386         yylval_param->val->type = AST_EXPR_string;              \
2387         yylval_param->val->u.s = strdup(yytext);                \
2388         } while (0)
2389
2390 #define SET_NUMERIC_STRING      do {    \
2391         yylval_param->val = calloc(1, sizeof(struct val));      \
2392         yylval_param->val->type = AST_EXPR_numeric_string;      \
2393         yylval_param->val->u.s = strdup(yytext);        \
2394         } while (0)
2395
2396 struct parse_io
2397 {
2398         char *string;
2399         struct val *val;
2400         yyscan_t scanner;
2401         struct ast_channel *chan;
2402 };
2403  
2404 void ast_yyset_column(int column_no, yyscan_t yyscanner);
2405 int ast_yyget_column(yyscan_t yyscanner);
2406 static int curlycount = 0;
2407 static char *expr2_token_subst(const char *mess);
2408
2409 #line 2410 "ast_expr2f.c"
2410
2411 #define INITIAL 0
2412 #define var 1
2413 #define trail 2
2414
2415 #ifndef YY_NO_UNISTD_H
2416 /* Special case for "unistd.h", since it is non-ANSI. We include it way
2417  * down here because we want the user's section 1 to have been scanned first.
2418  * The user has a chance to override it with an option.
2419  */
2420 #include <unistd.h>
2421 #endif
2422
2423 #ifndef YY_EXTRA_TYPE
2424 #define YY_EXTRA_TYPE void *
2425 #endif
2426
2427 /* Holds the entire state of the reentrant scanner. */
2428 struct yyguts_t
2429     {
2430
2431     /* User-defined. Not touched by flex. */
2432     YY_EXTRA_TYPE yyextra_r;
2433
2434     /* The rest are the same as the globals declared in the non-reentrant scanner. */
2435     FILE *yyin_r, *yyout_r;
2436     size_t yy_buffer_stack_top; /**< index of top of stack. */
2437     size_t yy_buffer_stack_max; /**< capacity of stack. */
2438     YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
2439     char yy_hold_char;
2440     int yy_n_chars;
2441     int yyleng_r;
2442     char *yy_c_buf_p;
2443     int yy_init;
2444     int yy_start;
2445     int yy_did_buffer_switch_on_eof;
2446     int yy_start_stack_ptr;
2447     int yy_start_stack_depth;
2448     int *yy_start_stack;
2449     yy_state_type yy_last_accepting_state;
2450     char* yy_last_accepting_cpos;
2451
2452     int yylineno_r;
2453     int yy_flex_debug_r;
2454
2455     char *yytext_r;
2456     int yy_more_flag;
2457     int yy_more_len;
2458
2459     YYSTYPE * yylval_r;
2460
2461     YYLTYPE * yylloc_r;
2462
2463     }; /* end struct yyguts_t */
2464
2465 static int yy_init_globals (yyscan_t yyscanner );
2466
2467     /* This must go here because YYSTYPE and YYLTYPE are included
2468      * from bison output in section 1.*/
2469     #    define yylval yyg->yylval_r
2470     
2471     #    define yylloc yyg->yylloc_r
2472     
2473 /* Accessor methods to globals.
2474    These are made visible to non-reentrant scanners for convenience. */
2475
2476 int ast_yylex_destroy (yyscan_t yyscanner );
2477
2478 int ast_yyget_debug (yyscan_t yyscanner );
2479
2480 void ast_yyset_debug (int debug_flag ,yyscan_t yyscanner );
2481
2482 YY_EXTRA_TYPE ast_yyget_extra (yyscan_t yyscanner );
2483
2484 void ast_yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
2485
2486 FILE *ast_yyget_in (yyscan_t yyscanner );
2487
2488 void ast_yyset_in  (FILE * in_str ,yyscan_t yyscanner );
2489
2490 FILE *ast_yyget_out (yyscan_t yyscanner );
2491
2492 void ast_yyset_out  (FILE * out_str ,yyscan_t yyscanner );
2493
2494 int ast_yyget_leng (yyscan_t yyscanner );
2495
2496 char *ast_yyget_text (yyscan_t yyscanner );
2497
2498 int ast_yyget_lineno (yyscan_t yyscanner );
2499
2500 void ast_yyset_lineno (int line_number ,yyscan_t yyscanner );
2501
2502 YYSTYPE * ast_yyget_lval (yyscan_t yyscanner );
2503
2504 void ast_yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
2505
2506        YYLTYPE *ast_yyget_lloc (yyscan_t yyscanner );
2507     
2508         void ast_yyset_lloc (YYLTYPE * yylloc_param ,yyscan_t yyscanner );
2509     
2510 /* Macros after this point can all be overridden by user definitions in
2511  * section 1.
2512  */
2513
2514 #ifndef YY_SKIP_YYWRAP
2515 #ifdef __cplusplus
2516 extern "C" int ast_yywrap (yyscan_t yyscanner );
2517 #else
2518 extern int ast_yywrap (yyscan_t yyscanner );
2519 #endif
2520 #endif
2521
2522     static void yyunput (int c,char *buf_ptr  ,yyscan_t yyscanner);
2523     
2524 #ifndef yytext_ptr
2525 static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
2526 #endif
2527
2528 #ifdef YY_NEED_STRLEN
2529 static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
2530 #endif
2531
2532 #ifndef YY_NO_INPUT
2533
2534 #ifdef __cplusplus
2535 static int yyinput (yyscan_t yyscanner );
2536 #else
2537 static int input (yyscan_t yyscanner );
2538 #endif
2539
2540 #endif
2541
2542 /* Amount of stuff to slurp up with each read. */
2543 #ifndef YY_READ_BUF_SIZE
2544 #define YY_READ_BUF_SIZE 8192
2545 #endif
2546
2547 /* Copy whatever the last rule matched to the standard output. */
2548 #ifndef ECHO
2549 /* This used to be an fputs(), but since the string might contain NUL's,
2550  * we now use fwrite().
2551  */
2552 #define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
2553 #endif
2554
2555 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
2556  * is returned in "result".
2557  */
2558 #ifndef YY_INPUT
2559 #define YY_INPUT(buf,result,max_size) \
2560         errno=0; \
2561         while ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
2562         { \
2563                 if( errno != EINTR) \
2564                 { \
2565                         YY_FATAL_ERROR( "input in flex scanner failed" ); \
2566                         break; \
2567                 } \
2568                 errno=0; \
2569                 clearerr(yyin); \
2570         }\
2571 \
2572
2573 #endif
2574
2575 /* No semi-colon after return; correct usage is to write "yyterminate();" -
2576  * we don't want an extra ';' after the "return" because that will cause
2577  * some compilers to complain about unreachable statements.
2578  */
2579 #ifndef yyterminate
2580 #define yyterminate() return YY_NULL
2581 #endif
2582
2583 /* Number of entries by which start-condition stack grows. */
2584 #ifndef YY_START_STACK_INCR
2585 #define YY_START_STACK_INCR 25
2586 #endif
2587
2588 /* Report a fatal error. */
2589 #ifndef YY_FATAL_ERROR
2590 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner)
2591 #endif
2592
2593 /* end tables serialization structures and prototypes */
2594
2595 /* Default declaration of generated scanner - a define so the user can
2596  * easily add parameters.
2597  */
2598 #ifndef YY_DECL
2599 #define YY_DECL_IS_OURS 1
2600
2601 extern int ast_yylex \
2602                (YYSTYPE * yylval_param,YYLTYPE * yylloc_param ,yyscan_t yyscanner);
2603
2604 #define YY_DECL int ast_yylex \
2605                (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner)
2606 #endif /* !YY_DECL */
2607
2608 /* Code executed at the beginning of each rule, after yytext and yyleng
2609  * have been set up.
2610  */
2611 #ifndef YY_USER_ACTION
2612 #define YY_USER_ACTION
2613 #endif
2614
2615 /* Code executed at the end of each rule. */
2616 #ifndef YY_BREAK
2617 #define YY_BREAK break;
2618 #endif
2619
2620 #define YY_RULE_SETUP \
2621         YY_USER_ACTION
2622
2623 /** The main scanner function which does all the work.
2624  */
2625 YY_DECL
2626 {
2627         register yy_state_type yy_current_state;
2628         register char *yy_cp, *yy_bp;
2629         register int yy_act;
2630     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2631
2632 #line 127 "ast_expr2.fl"
2633
2634
2635 #line 2636 "ast_expr2f.c"
2636
2637     yylval = yylval_param;
2638
2639     yylloc = yylloc_param;
2640
2641         if ( !yyg->yy_init )
2642                 {
2643                 yyg->yy_init = 1;
2644
2645 #ifdef YY_USER_INIT
2646                 YY_USER_INIT;
2647 #endif
2648
2649                 if ( ! yyg->yy_start )
2650                         yyg->yy_start = 1;      /* first start state */
2651
2652                 if ( ! yyin )
2653                         yyin = stdin;
2654
2655                 if ( ! yyout )
2656                         yyout = stdout;
2657
2658                 if ( ! YY_CURRENT_BUFFER ) {
2659                         ast_yyensure_buffer_stack (yyscanner);
2660                         YY_CURRENT_BUFFER_LVALUE =
2661                                 ast_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
2662                 }
2663
2664                 ast_yy_load_buffer_state(yyscanner );
2665                 }
2666
2667         while ( 1 )             /* loops until end-of-file is reached */
2668                 {
2669                 yyg->yy_more_len = 0;
2670                 if ( yyg->yy_more_flag )
2671                         {
2672                         yyg->yy_more_len = yyg->yy_c_buf_p - yyg->yytext_ptr;
2673                         yyg->yy_more_flag = 0;
2674                         }
2675                 yy_cp = yyg->yy_c_buf_p;
2676
2677                 /* Support of yytext. */
2678                 *yy_cp = yyg->yy_hold_char;
2679
2680                 /* yy_bp points to the position in yy_ch_buf of the start of
2681                  * the current run.
2682                  */
2683                 yy_bp = yy_cp;
2684
2685                 yy_current_state = yyg->yy_start;
2686 yy_match:
2687                 while ( (yy_current_state = yy_nxt[yy_current_state][ YY_SC_TO_UI(*yy_cp) ]) > 0 )
2688                         {
2689                         if ( yy_accept[yy_current_state] )
2690                                 {
2691                                 yyg->yy_last_accepting_state = yy_current_state;
2692                                 yyg->yy_last_accepting_cpos = yy_cp;
2693                                 }
2694
2695                         ++yy_cp;
2696                         }
2697
2698                 yy_current_state = -yy_current_state;
2699
2700 yy_find_action:
2701                 yy_act = yy_accept[yy_current_state];
2702
2703                 YY_DO_BEFORE_ACTION;
2704
2705 do_action:      /* This label is used only to access EOF actions. */
2706
2707                 switch ( yy_act )
2708         { /* beginning of action switch */
2709                         case 0: /* must back up */
2710                         /* undo the effects of YY_DO_BEFORE_ACTION */
2711                         *yy_cp = yyg->yy_hold_char;
2712                         yy_cp = yyg->yy_last_accepting_cpos + 1;
2713                         yy_current_state = yyg->yy_last_accepting_state;
2714                         goto yy_find_action;
2715
2716 case 1:
2717 YY_RULE_SETUP
2718 #line 129 "ast_expr2.fl"
2719 { SET_COLUMNS; SET_STRING; return TOK_OR;}
2720         YY_BREAK
2721 case 2:
2722 YY_RULE_SETUP
2723 #line 130 "ast_expr2.fl"
2724 { SET_COLUMNS; SET_STRING; return TOK_AND;}
2725         YY_BREAK
2726 case 3:
2727 YY_RULE_SETUP
2728 #line 131 "ast_expr2.fl"
2729 { SET_COLUMNS; SET_STRING; return TOK_EQ;}
2730         YY_BREAK
2731 case 4:
2732 YY_RULE_SETUP
2733 #line 132 "ast_expr2.fl"
2734 { SET_COLUMNS; SET_STRING; return TOK_OR;}
2735         YY_BREAK
2736 case 5:
2737 YY_RULE_SETUP
2738 #line 133 "ast_expr2.fl"
2739 { SET_COLUMNS; SET_STRING; return TOK_AND;}
2740         YY_BREAK
2741 case 6:
2742 YY_RULE_SETUP
2743 #line 134 "ast_expr2.fl"
2744 { SET_COLUMNS; SET_STRING; return TOK_EQ;}
2745         YY_BREAK
2746 case 7:
2747 YY_RULE_SETUP
2748 #line 135 "ast_expr2.fl"
2749 { SET_COLUMNS; SET_STRING; return TOK_EQTILDE;}
2750         YY_BREAK
2751 case 8:
2752 YY_RULE_SETUP
2753 #line 136 "ast_expr2.fl"
2754 { SET_COLUMNS; SET_STRING; return TOK_TILDETILDE;}
2755         YY_BREAK
2756 case 9:
2757 YY_RULE_SETUP
2758 #line 137 "ast_expr2.fl"
2759 { SET_COLUMNS; SET_STRING; return TOK_GT;}
2760         YY_BREAK
2761 case 10:
2762 YY_RULE_SETUP
2763 #line 138 "ast_expr2.fl"
2764 { SET_COLUMNS; SET_STRING; return TOK_LT;}
2765         YY_BREAK
2766 case 11:
2767 YY_RULE_SETUP
2768 #line 139 "ast_expr2.fl"
2769 { SET_COLUMNS; SET_STRING; return TOK_GE;}
2770         YY_BREAK
2771 case 12:
2772 YY_RULE_SETUP
2773 #line 140 "ast_expr2.fl"
2774 { SET_COLUMNS; SET_STRING; return TOK_LE;}
2775         YY_BREAK
2776 case 13:
2777 YY_RULE_SETUP
2778 #line 141 "ast_expr2.fl"
2779 { SET_COLUMNS; SET_STRING; return TOK_NE;}
2780         YY_BREAK
2781 case 14:
2782 YY_RULE_SETUP
2783 #line 142 "ast_expr2.fl"
2784 { SET_COLUMNS; SET_STRING; return TOK_PLUS;}
2785         YY_BREAK
2786 case 15:
2787 YY_RULE_SETUP
2788 #line 143 "ast_expr2.fl"
2789 { SET_COLUMNS; SET_STRING; return TOK_COMMA;}
2790         YY_BREAK
2791 case 16:
2792 YY_RULE_SETUP
2793 #line 144 "ast_expr2.fl"
2794 { SET_COLUMNS; SET_STRING; return TOK_MINUS;}
2795         YY_BREAK
2796 case 17:
2797 YY_RULE_SETUP
2798 #line 145 "ast_expr2.fl"
2799 { SET_COLUMNS; SET_STRING; return TOK_MULT;}
2800         YY_BREAK
2801 case 18:
2802 YY_RULE_SETUP
2803 #line 146 "ast_expr2.fl"
2804 { SET_COLUMNS; SET_STRING; return TOK_DIV;}
2805         YY_BREAK
2806 case 19:
2807 YY_RULE_SETUP
2808 #line 147 "ast_expr2.fl"
2809 { SET_COLUMNS; SET_STRING; return TOK_MOD;}
2810         YY_BREAK
2811 case 20:
2812 YY_RULE_SETUP
2813 #line 148 "ast_expr2.fl"
2814 { SET_COLUMNS; SET_STRING; return TOK_COND;}
2815         YY_BREAK
2816 case 21:
2817 YY_RULE_SETUP
2818 #line 149 "ast_expr2.fl"
2819 { SET_COLUMNS; SET_STRING; return TOK_COMPL;}
2820         YY_BREAK
2821 case 22:
2822 YY_RULE_SETUP
2823 #line 150 "ast_expr2.fl"
2824 { SET_COLUMNS; SET_STRING; return TOK_COLON;}
2825         YY_BREAK
2826 case 23:
2827 YY_RULE_SETUP
2828 #line 151 "ast_expr2.fl"
2829 { SET_COLUMNS; SET_STRING; return TOK_COLONCOLON;}
2830         YY_BREAK
2831 case 24:
2832 YY_RULE_SETUP
2833 #line 152 "ast_expr2.fl"
2834 { SET_COLUMNS; SET_STRING; return TOK_LP;}
2835         YY_BREAK
2836 case 25:
2837 YY_RULE_SETUP
2838 #line 153 "ast_expr2.fl"
2839 { SET_COLUMNS; SET_STRING; return TOK_RP;}
2840         YY_BREAK
2841 case 26:
2842 YY_RULE_SETUP
2843 #line 154 "ast_expr2.fl"
2844 {
2845                 /* gather the contents of ${} expressions, with trailing stuff,
2846                  * into a single TOKEN.
2847                  * They are much more complex now than they used to be
2848                  */
2849                 curlycount = 0;
2850                 BEGIN(var);
2851                 yymore();
2852         }
2853         YY_BREAK
2854 case 27:
2855 YY_RULE_SETUP
2856 #line 164 "ast_expr2.fl"
2857 {}
2858         YY_BREAK
2859 case 28:
2860 /* rule 28 can match eol */
2861 YY_RULE_SETUP
2862 #line 165 "ast_expr2.fl"
2863 {SET_COLUMNS; SET_STRING; return TOKEN;}
2864         YY_BREAK
2865 case 29:
2866 /* rule 29 can match eol */
2867 YY_RULE_SETUP
2868 #line 167 "ast_expr2.fl"
2869 {/* what to do with eol */}
2870         YY_BREAK
2871 case 30:
2872 YY_RULE_SETUP
2873 #line 168 "ast_expr2.fl"
2874 {
2875                 SET_COLUMNS;
2876                 /* the original behavior of the expression parser was
2877                  * to bring in numbers as a numeric string
2878                  */
2879                 SET_NUMERIC_STRING;
2880                 return TOKEN;
2881         }
2882         YY_BREAK
2883 case 31:
2884 /* rule 31 can match eol */
2885 YY_RULE_SETUP
2886 #line 177 "ast_expr2.fl"
2887 {
2888                 SET_COLUMNS;
2889                 SET_STRING;
2890                 return TOKEN;
2891         }
2892         YY_BREAK
2893 case 32:
2894 /* rule 32 can match eol */
2895 YY_RULE_SETUP
2896 #line 184 "ast_expr2.fl"
2897 {
2898                 curlycount--;
2899                 if (curlycount < 0) {
2900                         BEGIN(trail);
2901                         yymore();
2902                 } else {
2903                         yymore();
2904                 }
2905         }
2906         YY_BREAK
2907 case 33:
2908 /* rule 33 can match eol */
2909 YY_RULE_SETUP
2910 #line 194 "ast_expr2.fl"
2911 {
2912                 curlycount++;
2913                 yymore();
2914         }
2915         YY_BREAK
2916 case 34:
2917 YY_RULE_SETUP
2918 #line 200 "ast_expr2.fl"
2919 {
2920                 BEGIN(0);
2921                 SET_COLUMNS;
2922                 SET_STRING;
2923                 return TOKEN;
2924         }
2925         YY_BREAK
2926 case 35:
2927 /* rule 35 can match eol */
2928 YY_RULE_SETUP
2929 #line 207 "ast_expr2.fl"
2930 {
2931                 char c = yytext[yyleng-1];
2932                 BEGIN(0);
2933                 unput(c);
2934                 SET_COLUMNS;
2935                 SET_STRING;
2936                 return TOKEN;
2937         }
2938         YY_BREAK
2939 case 36:
2940 YY_RULE_SETUP
2941 #line 216 "ast_expr2.fl"
2942 {
2943                 curlycount = 0;
2944                 BEGIN(var);
2945                 yymore();
2946         }
2947         YY_BREAK
2948 case YY_STATE_EOF(trail):
2949 #line 222 "ast_expr2.fl"
2950 {
2951                 BEGIN(0);
2952                 SET_COLUMNS;
2953                 SET_STRING;
2954                 return TOKEN;
2955                 /*actually, if an expr is only a variable ref, this could happen a LOT */
2956         }
2957         YY_BREAK
2958 case 37:
2959 YY_RULE_SETUP
2960 #line 230 "ast_expr2.fl"
2961 ECHO;
2962         YY_BREAK
2963 #line 2964 "ast_expr2f.c"
2964 case YY_STATE_EOF(INITIAL):
2965 case YY_STATE_EOF(var):
2966         yyterminate();
2967
2968         case YY_END_OF_BUFFER:
2969                 {
2970                 /* Amount of text matched not including the EOB char. */
2971                 int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1;
2972
2973                 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2974                 *yy_cp = yyg->yy_hold_char;
2975                 YY_RESTORE_YY_MORE_OFFSET
2976
2977                 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2978                         {
2979                         /* We're scanning a new file or input source.  It's
2980                          * possible that this happened because the user
2981                          * just pointed yyin at a new source and called
2982                          * ast_yylex().  If so, then we have to assure
2983                          * consistency between YY_CURRENT_BUFFER and our
2984                          * globals.  Here is the right place to do so, because
2985                          * this is the first action (other than possibly a
2986                          * back-up) that will match for the new input source.
2987                          */
2988                         yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2989                         YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
2990                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2991                         }
2992
2993                 /* Note that here we test for yy_c_buf_p "<=" to the position
2994                  * of the first EOB in the buffer, since yy_c_buf_p will
2995                  * already have been incremented past the NUL character
2996                  * (since all states make transitions on EOB to the
2997                  * end-of-buffer state).  Contrast this with the test
2998                  * in input().
2999                  */
3000                 if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
3001                         { /* This was really a NUL. */
3002                         yy_state_type yy_next_state;
3003
3004                         yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text;
3005
3006                         yy_current_state = yy_get_previous_state( yyscanner );
3007
3008                         /* Okay, we're now positioned to make the NUL
3009                          * transition.  We couldn't have
3010                          * yy_get_previous_state() go ahead and do it
3011                          * for us because it doesn't know how to deal
3012                          * with the possibility of jamming (and we don't
3013                          * want to build jamming into it because then it
3014                          * will run more slowly).
3015                          */
3016
3017                         yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner);
3018
3019                         yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
3020
3021                         if ( yy_next_state )
3022                                 {
3023                                 /* Consume the NUL. */
3024                                 yy_cp = ++yyg->yy_c_buf_p;
3025                                 yy_current_state = yy_next_state;
3026                                 goto yy_match;
3027                                 }
3028
3029                         else
3030                                 {
3031                                 yy_cp = yyg->yy_c_buf_p;
3032                                 goto yy_find_action;
3033                                 }
3034                         }
3035
3036                 else switch ( yy_get_next_buffer( yyscanner ) )
3037                         {
3038                         case EOB_ACT_END_OF_FILE:
3039                                 {
3040                                 yyg->yy_did_buffer_switch_on_eof = 0;
3041
3042                                 if ( ast_yywrap(yyscanner ) )
3043                                         {
3044                                         /* Note: because we've taken care in
3045                                          * yy_get_next_buffer() to have set up
3046                                          * yytext, we can now set up
3047                                          * yy_c_buf_p so that if some total
3048                                          * hoser (like flex itself) wants to
3049                                          * call the scanner after we return the
3050                                          * YY_NULL, it'll still work - another
3051                                          * YY_NULL will get returned.
3052                                          */
3053                                         yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ;
3054
3055                                         yy_act = YY_STATE_EOF(YY_START);
3056                                         goto do_action;
3057                                         }
3058
3059                                 else
3060                                         {
3061                                         if ( ! yyg->yy_did_buffer_switch_on_eof )
3062                                                 YY_NEW_FILE;
3063                                         }
3064                                 break;
3065                                 }
3066
3067                         case EOB_ACT_CONTINUE_SCAN:
3068                                 yyg->yy_c_buf_p =
3069                                         yyg->yytext_ptr + yy_amount_of_matched_text;
3070
3071                                 yy_current_state = yy_get_previous_state( yyscanner );
3072
3073                                 yy_cp = yyg->yy_c_buf_p;
3074                                 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
3075                                 goto yy_match;
3076
3077                         case EOB_ACT_LAST_MATCH:
3078                                 yyg->yy_c_buf_p =
3079                                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars];
3080
3081                                 yy_current_state = yy_get_previous_state( yyscanner );
3082
3083                                 yy_cp = yyg->yy_c_buf_p;
3084                                 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
3085                                 goto yy_find_action;
3086                         }
3087                 break;
3088                 }
3089
3090         default:
3091                 YY_FATAL_ERROR(
3092                         "fatal flex scanner internal error--no action found" );
3093         } /* end of action switch */
3094                 } /* end of scanning one token */
3095 } /* end of ast_yylex */
3096
3097 /* yy_get_next_buffer - try to read in a new buffer
3098  *
3099  * Returns a code representing an action:
3100  *      EOB_ACT_LAST_MATCH -
3101  *      EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3102  *      EOB_ACT_END_OF_FILE - end of file
3103  */
3104 static int yy_get_next_buffer (yyscan_t yyscanner)
3105 {
3106     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3107         register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3108         register char *source = yyg->yytext_ptr;
3109         register int number_to_move, i;
3110         int ret_val;
3111
3112         if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
3113                 YY_FATAL_ERROR(
3114                 "fatal flex scanner internal error--end of buffer missed" );
3115
3116         if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
3117                 { /* Don't try to fill the buffer, so this is an EOF. */
3118                 if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 )
3119                         {
3120                         /* We matched a single character, the EOB, so
3121                          * treat this as a final EOF.
3122                          */
3123                         return EOB_ACT_END_OF_FILE;
3124                         }
3125
3126                 else
3127                         {
3128                         /* We matched some text prior to the EOB, first
3129                          * process it.
3130                          */
3131                         return EOB_ACT_LAST_MATCH;
3132                         }
3133                 }
3134
3135         /* Try to read more data. */
3136
3137         /* First move last chars to start of buffer. */
3138         number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
3139
3140         for ( i = 0; i < number_to_move; ++i )
3141                 *(dest++) = *(source++);
3142
3143         if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3144                 /* don't do the read, it's not guaranteed to return an EOF,
3145                  * just force an EOF
3146                  */
3147                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
3148
3149         else
3150                 {
3151                         int num_to_read =
3152                         YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
3153
3154                 while ( num_to_read <= 0 )
3155                         { /* Not enough room in the buffer - grow it. */
3156
3157                         /* just a shorter name for the current buffer */
3158                         YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
3159
3160                         int yy_c_buf_p_offset =
3161                                 (int) (yyg->yy_c_buf_p - b->yy_ch_buf);
3162
3163                         if ( b->yy_is_our_buffer )
3164                                 {
3165                                 int new_size = b->yy_buf_size * 2;
3166
3167                                 if ( new_size <= 0 )
3168                                         b->yy_buf_size += b->yy_buf_size / 8;
3169                                 else
3170                                         b->yy_buf_size *= 2;
3171
3172                                 b->yy_ch_buf = (char *)
3173                                         /* Include room in for 2 EOB chars. */
3174                                         ast_yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner );
3175                                 }
3176                         else
3177                                 /* Can't grow it, we don't own it. */
3178                                 b->yy_ch_buf = 0;
3179
3180                         if ( ! b->yy_ch_buf )
3181                                 YY_FATAL_ERROR(
3182                                 "fatal error - scanner input buffer overflow" );
3183
3184                         yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
3185
3186                         num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3187                                                 number_to_move - 1;
3188
3189                         }
3190
3191                 if ( num_to_read > YY_READ_BUF_SIZE )
3192                         num_to_read = YY_READ_BUF_SIZE;
3193
3194                 /* Read in more data. */
3195                 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3196                         yyg->yy_n_chars, (size_t) num_to_read );
3197
3198                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
3199                 }
3200
3201         if ( yyg->yy_n_chars == 0 )
3202                 {
3203                 if ( number_to_move == YY_MORE_ADJ )
3204                         {
3205                         ret_val = EOB_ACT_END_OF_FILE;
3206                         ast_yyrestart(yyin  ,yyscanner);
3207                         }
3208
3209                 else
3210                         {
3211                         ret_val = EOB_ACT_LAST_MATCH;
3212                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3213                                 YY_BUFFER_EOF_PENDING;
3214                         }
3215                 }
3216
3217         else
3218                 ret_val = EOB_ACT_CONTINUE_SCAN;
3219
3220         yyg->yy_n_chars += number_to_move;
3221         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR;
3222         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
3223
3224         yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3225
3226         return ret_val;
3227 }
3228
3229 /* yy_get_previous_state - get the state just before the EOB char was reached */
3230
3231     static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
3232 {
3233         register yy_state_type yy_current_state;
3234         register char *yy_cp;
3235     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3236
3237         yy_current_state = yyg->yy_start;
3238
3239         for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
3240                 {
3241                 if ( *yy_cp )
3242                         {
3243                         yy_current_state = yy_nxt[yy_current_state][YY_SC_TO_UI(*yy_cp)];
3244                         }
3245                 else
3246                         yy_current_state = yy_NUL_trans[yy_current_state];
3247                 if ( yy_accept[yy_current_state] )
3248                         {
3249                         yyg->yy_last_accepting_state = yy_current_state;
3250                         yyg->yy_last_accepting_cpos = yy_cp;
3251                         }
3252                 }
3253
3254         return yy_current_state;
3255 }
3256
3257 /* yy_try_NUL_trans - try to make a transition on the NUL character
3258  *
3259  * synopsis
3260  *      next_state = yy_try_NUL_trans( current_state );
3261  */
3262     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state , yyscan_t yyscanner)
3263 {
3264         register int yy_is_jam;
3265     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */
3266         register char *yy_cp = yyg->yy_c_buf_p;
3267
3268         yy_current_state = yy_NUL_trans[yy_current_state];
3269         yy_is_jam = (yy_current_state == 0);
3270
3271         if ( ! yy_is_jam )
3272                 {
3273                 if ( yy_accept[yy_current_state] )
3274                         {
3275                         yyg->yy_last_accepting_state = yy_current_state;
3276                         yyg->yy_last_accepting_cpos = yy_cp;
3277                         }
3278                 }
3279
3280         return yy_is_jam ? 0 : yy_current_state;
3281 }
3282
3283     static void yyunput (int c, register char * yy_bp , yyscan_t yyscanner)
3284 {
3285         register char *yy_cp;
3286     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3287
3288     yy_cp = yyg->yy_c_buf_p;
3289
3290         /* undo effects of setting up yytext */
3291         *yy_cp = yyg->yy_hold_char;
3292
3293         if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3294                 { /* need to shift things up to make room */
3295                 /* +2 for EOB chars. */
3296                 register int number_to_move = yyg->yy_n_chars + 2;
3297                 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
3298                                         YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
3299                 register char *source =
3300                                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
3301
3302                 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3303                         *--dest = *--source;
3304
3305                 yy_cp += (int) (dest - source);
3306                 yy_bp += (int) (dest - source);
3307                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
3308                         yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
3309
3310                 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3311                         YY_FATAL_ERROR( "flex scanner push-back overflow" );
3312                 }
3313
3314         *--yy_cp = (char) c;
3315
3316         yyg->yytext_ptr = yy_bp;
3317         yyg->yy_hold_char = *yy_cp;
3318         yyg->yy_c_buf_p = yy_cp;
3319 }
3320
3321 #ifndef YY_NO_INPUT
3322 #ifdef __cplusplus
3323     static int yyinput (yyscan_t yyscanner)
3324 #else
3325     static int input  (yyscan_t yyscanner)
3326 #endif
3327
3328 {
3329         int c;
3330     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3331
3332         *yyg->yy_c_buf_p = yyg->yy_hold_char;
3333
3334         if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
3335                 {
3336                 /* yy_c_buf_p now points to the character we want to return.
3337                  * If this occurs *before* the EOB characters, then it's a
3338                  * valid NUL; if not, then we've hit the end of the buffer.
3339                  */
3340                 if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
3341                         /* This was really a NUL. */
3342                         *yyg->yy_c_buf_p = '\0';
3343
3344                 else
3345                         { /* need more input */
3346                         int offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
3347                         ++yyg->yy_c_buf_p;
3348
3349                         switch ( yy_get_next_buffer( yyscanner ) )
3350                                 {
3351                                 case EOB_ACT_LAST_MATCH:
3352                                         /* This happens because yy_g_n_b()
3353                                          * sees that we've accumulated a
3354                                          * token and flags that we need to
3355                                          * try matching the token before
3356                                          * proceeding.  But for input(),
3357                                          * there's no matching to consider.
3358                                          * So convert the EOB_ACT_LAST_MATCH
3359                                          * to EOB_ACT_END_OF_FILE.
3360                                          */
3361
3362                                         /* Reset buffer status. */
3363                                         ast_yyrestart(yyin ,yyscanner);
3364
3365                                         /*FALLTHROUGH*/
3366
3367                                 case EOB_ACT_END_OF_FILE:
3368                                         {
3369                                         if ( ast_yywrap(yyscanner ) )
3370                                                 return EOF;
3371
3372                                         if ( ! yyg->yy_did_buffer_switch_on_eof )
3373                                                 YY_NEW_FILE;
3374 #ifdef __cplusplus
3375                                         return yyinput(yyscanner);
3376 #else
3377                                         return input(yyscanner);
3378 #endif
3379                                         }
3380
3381                                 case EOB_ACT_CONTINUE_SCAN:
3382                                         yyg->yy_c_buf_p = yyg->yytext_ptr + offset;
3383                                         break;
3384                                 }
3385                         }
3386                 }
3387
3388         c = *(unsigned char *) yyg->yy_c_buf_p; /* cast for 8-bit char's */
3389         *yyg->yy_c_buf_p = '\0';        /* preserve yytext&nbs