1 : #define yy_create_buffer zend_create_buffer
2 : #define yy_delete_buffer zend_delete_buffer
3 : #define yy_scan_buffer zend_scan_buffer
4 : #define yy_scan_string zend_scan_string
5 : #define yy_scan_bytes zend_scan_bytes
6 : #define yy_flex_debug zend_flex_debug
7 : #define yy_init_buffer zend_init_buffer
8 : #define yy_flush_buffer zend_flush_buffer
9 : #define yy_load_buffer_state zend_load_buffer_state
10 : #define yy_switch_to_buffer zend_switch_to_buffer
11 : #define yyin zendin
12 : #define yyleng zendleng
13 : #define yylex zendlex
14 : #define yyout zendout
15 : #define yyrestart zendrestart
16 : #define yytext zendtext
17 :
18 : #line 19 "Zend/zend_language_scanner.c"
19 : /* A Lexical scanner generated by flex */
20 :
21 : /* Scanner skeleton version:
22 : * $Header: /repository/ZendEngine2/flex.skl,v 1.31 2003/08/11 05:24:41 fujimoto Exp $
23 : * vim:ft=lex:
24 : */
25 :
26 : #define FLEX_SCANNER
27 : #define YY_FLEX_MAJOR_VERSION 2
28 : #define YY_FLEX_MINOR_VERSION 5
29 :
30 : #include <stdio.h>
31 :
32 :
33 : /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
34 : #ifdef c_plusplus
35 : #ifndef __cplusplus
36 : #define __cplusplus
37 : #endif
38 : #endif
39 :
40 :
41 : #ifdef __cplusplus
42 :
43 : #include <stdlib.h>
44 : #if HAVE_UNISTD_H
45 : #include <unistd.h>
46 : #endif
47 :
48 : /* Use prototypes in function declarations. */
49 : #define YY_USE_PROTOS
50 :
51 : /* The "const" storage-class-modifier is valid. */
52 : #define YY_USE_CONST
53 :
54 : #else /* ! __cplusplus */
55 :
56 : #if __STDC__
57 :
58 : #define YY_USE_PROTOS
59 : #define YY_USE_CONST
60 :
61 : #endif /* __STDC__ */
62 : #endif /* ! __cplusplus */
63 :
64 : #ifdef __TURBOC__
65 : #pragma warn -rch
66 : #pragma warn -use
67 : #include <io.h>
68 : #include <stdlib.h>
69 : #define YY_USE_CONST
70 : #define YY_USE_PROTOS
71 : #endif
72 :
73 : #ifdef YY_USE_CONST
74 : #define yyconst const
75 : #else
76 : #define yyconst
77 : #endif
78 :
79 : #undef YY_USE_PROTOS
80 : #define YY_USE_PROTOS
81 :
82 : #ifdef YY_USE_PROTOS
83 : #define YY_PROTO(proto) proto
84 : #else
85 : #define YY_PROTO(proto) ()
86 : #endif
87 :
88 : /* Returned upon end-of-file. */
89 : #define YY_NULL 0
90 :
91 : /* Promotes a possibly negative, possibly signed char to an unsigned
92 : * integer for use as an array index. If the signed char is negative,
93 : * we want to instead treat it as an 8-bit unsigned char, hence the
94 : * double cast.
95 : */
96 : #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
97 :
98 : /* Enter a start condition. This macro really ought to take a parameter,
99 : * but we do it the disgusting crufty way forced on us by the ()-less
100 : * definition of BEGIN.
101 : */
102 : #define BEGIN yy_start = 1 + 2 *
103 :
104 : /* Translate the current start state into a value that can be later handed
105 : * to BEGIN to return to the state. The YYSTATE alias is for lex
106 : * compatibility.
107 : */
108 : #define YY_START ((yy_start - 1) / 2)
109 : #define YYSTATE YY_START
110 :
111 : /* Action number for EOF rule of a given start state. */
112 : #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
113 :
114 : /* Special action meaning "start processing a new file". */
115 : #define YY_NEW_FILE yyrestart( SCNG(yy_in) TSRMLS_CC )
116 :
117 : #define YY_END_OF_BUFFER_CHAR 0
118 :
119 : /* Size of default input buffer. */
120 : #define YY_BUF_SIZE 16384
121 :
122 : typedef struct yy_buffer_state *YY_BUFFER_STATE;
123 :
124 : extern int yyleng;
125 :
126 :
127 : #define EOB_ACT_CONTINUE_SCAN 0
128 : #define EOB_ACT_END_OF_FILE 1
129 : #define EOB_ACT_LAST_MATCH 2
130 :
131 : /* The funky do-while in the following #define is used to turn the definition
132 : * int a single C statement (which needs a semi-colon terminator). This
133 : * avoids problems with code like:
134 : *
135 : * if ( condition_holds )
136 : * yyless( 5 );
137 : * else
138 : * do_something_else();
139 : *
140 : * Prior to using the do-while the compiler would get upset at the
141 : * "else" because it interpreted the "if" statement as being all
142 : * done when it reached the ';' after the yyless() call.
143 : */
144 :
145 : /* Return all but the first 'n' matched characters back to the input stream. */
146 :
147 : #define yyless(n) \
148 : do \
149 : { \
150 : /* Undo effects of setting up yytext. */ \
151 : *yy_cp = yy_hold_char; \
152 : yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
153 : YY_DO_BEFORE_ACTION; /* set up yytext again */ \
154 : } \
155 : while ( 0 )
156 :
157 : #define unput(c) yyunput( c, yytext_ptr TSRMLS_CC )
158 :
159 : /* The following is because we cannot portably get our hands on size_t
160 : * (without autoconf's help, which isn't available because we want
161 : * flex-generated scanners to compile on their own).
162 : */
163 : typedef unsigned int yy_size_t;
164 :
165 :
166 : struct yy_buffer_state
167 : {
168 : struct _zend_file_handle *yy_input_file;
169 :
170 : char *yy_ch_buf; /* input buffer */
171 : char *yy_buf_pos; /* current position in input buffer */
172 :
173 : /* Size of input buffer in bytes, not including room for EOB
174 : * characters.
175 : */
176 : yy_size_t yy_buf_size;
177 :
178 : /* Number of characters read into yy_ch_buf, not including EOB
179 : * characters.
180 : */
181 : int yy_n_chars;
182 :
183 : /* Whether we "own" the buffer - i.e., we know we created it,
184 : * and can realloc() it to grow it, and should free() it to
185 : * delete it.
186 : */
187 : int yy_is_our_buffer;
188 :
189 : /* Whether this is an "interactive" input source; if so, and
190 : * if we're using stdio for input, then we want to use getc()
191 : * instead of fread(), to make sure we stop fetching input after
192 : * each newline.
193 : */
194 : int yy_is_interactive;
195 :
196 : /* Whether we're considered to be at the beginning of a line.
197 : * If so, '^' rules will be active on the next match, otherwise
198 : * not.
199 : */
200 : int yy_at_bol;
201 :
202 : /* Whether to try to fill the input buffer when we reach the
203 : * end of it.
204 : */
205 : int yy_fill_buffer;
206 :
207 : int yy_buffer_status;
208 : #define YY_BUFFER_NEW 0
209 : #define YY_BUFFER_NORMAL 1
210 : /* When an EOF's been seen but there's still some text to process
211 : * then we mark the buffer as YY_EOF_PENDING, to indicate that we
212 : * shouldn't try reading from the input source any more. We might
213 : * still have a bunch of tokens to match, though, because of
214 : * possible backing-up.
215 : *
216 : * When we actually see the EOF, we change the status to "new"
217 : * (via yyrestart()), so that the user can continue scanning by
218 : * just pointing yyin at a new input file.
219 : */
220 : #define YY_BUFFER_EOF_PENDING 2
221 : };
222 :
223 : #define yy_current_buffer SCNG(current_buffer)
224 : #define yy_hold_char SCNG(_yy_hold_char)
225 :
226 : /* We provide macros for accessing buffer states in case in the
227 : * future we want to put the buffer states in a more general
228 : * "scanner state".
229 : */
230 : #define YY_CURRENT_BUFFER yy_current_buffer
231 :
232 :
233 : /* yy_hold_char holds the character lost when yytext is formed. */
234 :
235 : #if 0
236 : static char yy_hold_char;
237 :
238 : static int yy_n_chars; /* number of characters read into yy_ch_buf */
239 : #endif
240 :
241 : /* Points to current character in buffer. */
242 : #define yy_c_buf_p SCNG(c_buf_p)
243 : #define yy_init SCNG(init)
244 : #define yy_start SCNG(start)
245 :
246 : #ifdef ZTS
247 : #define TSRMLS_D void ***tsrm_ls
248 : #define TSRMLS_DC , TSRMLS_D
249 : #define TSRMLS_C tsrm_ls
250 : #define TSRMLS_CC , TSRMLS_C
251 : #else
252 : #define TSRMLS_D
253 : #define TSRMLS_DC
254 : #define TSRMLS_C
255 : #define TSRMLS_CC
256 : #endif
257 :
258 : /* Flag which is used to allow yywrap()'s to do buffer switches
259 : * instead of setting up a fresh yyin. A bit of a hack ...
260 : */
261 : /* static int yy_did_buffer_switch_on_eof; */
262 : #define yy_did_buffer_switch_on_eof SCNG(_yy_did_buffer_switch_on_eof)
263 :
264 : void yyrestart YY_PROTO(( struct _zend_file_handle *input_file TSRMLS_DC ));
265 :
266 : void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer TSRMLS_DC ));
267 : void yy_load_buffer_state YY_PROTO(( TSRMLS_D ));
268 : YY_BUFFER_STATE yy_create_buffer YY_PROTO(( struct _zend_file_handle *file, int size TSRMLS_DC ));
269 : void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b TSRMLS_DC ));
270 : void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, struct _zend_file_handle *file TSRMLS_DC ));
271 : void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b TSRMLS_DC ));
272 : #define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer TSRMLS_CC )
273 :
274 : YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size TSRMLS_DC ));
275 : YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str TSRMLS_DC ));
276 : YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len TSRMLS_DC ));
277 :
278 :
279 : static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
280 : static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
281 : static void yy_flex_free YY_PROTO(( void * ));
282 :
283 : #define yy_new_buffer yy_create_buffer
284 :
285 : #define yy_set_interactive(is_interactive) \
286 : { \
287 : if ( ! yy_current_buffer ) \
288 : yy_current_buffer = yy_create_buffer( SCNG(yy_in), YY_BUF_SIZE TSRMLS_CC ); \
289 : yy_current_buffer->yy_is_interactive = is_interactive; \
290 : }
291 :
292 : #define yy_set_bol(at_bol) \
293 : { \
294 : if ( ! yy_current_buffer ) \
295 : yy_current_buffer = yy_create_buffer( SCNG(yy_in), YY_BUF_SIZE TSRMLS_CC ); \
296 : yy_current_buffer->yy_at_bol = at_bol; \
297 : }
298 :
299 : #define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
300 :
301 :
302 : #define yywrap() 1
303 : #define YY_SKIP_YYWRAP
304 : typedef unsigned char YY_CHAR;
305 : FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
306 : typedef int yy_state_type;
307 : extern char *yytext;
308 : #define yytext_ptr yytext
309 : #undef yyleng
310 : #define yyleng SCNG(yy_leng)
311 : #undef yytext
312 : #define yytext SCNG(yy_text)
313 : #undef yytext_ptr
314 : #define yytext_ptr SCNG(yy_text)
315 : #undef yyin
316 : #define yyin SCNG(yy_in)
317 : #undef yyout
318 : #define yyout SCNG(yy_out)
319 : #undef yy_last_accepting_state
320 : #define yy_last_accepting_state SCNG(_yy_last_accepting_state)
321 : #undef yy_last_accepting_cpos
322 : #define yy_last_accepting_cpos SCNG(_yy_last_accepting_cpos)
323 : #undef yy_more_flag
324 : #define yy_more_flag SCNG(_yy_more_flag)
325 : #undef yy_more_len
326 : #define yy_more_len SCNG(_yy_more_len)
327 :
328 :
329 : static yy_state_type yy_get_previous_state YY_PROTO(( TSRMLS_D ));
330 : static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state TSRMLS_DC ));
331 : static int yy_get_next_buffer YY_PROTO(( TSRMLS_D ));
332 : static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
333 :
334 : #undef TSRMLS_D
335 : #undef TSRMLS_DC
336 : #undef TSRMLS_C
337 : #undef TSRMLS_CC
338 :
339 : /* Done after the current pattern has been matched and before the
340 : * corresponding action - sets up yytext.
341 : */
342 : #define YY_DO_BEFORE_ACTION \
343 : yytext_ptr = yy_bp; \
344 : yytext_ptr -= yy_more_len; \
345 : yyleng = (int) (yy_cp - yytext_ptr); \
346 : yy_hold_char = *yy_cp; \
347 : *yy_cp = '\0'; \
348 : yy_c_buf_p = yy_cp;
349 :
350 : #undef yyleng
351 : #undef yytext
352 : #undef yytext_ptr
353 : #undef yyin
354 : #undef yyout
355 : #undef yy_last_accepting_state
356 : #undef yy_last_accepting_cpos
357 : #undef yy_more_flag
358 : #undef yy_more_len
359 :
360 :
361 : #define YY_NUM_RULES 161
362 : #define YY_END_OF_BUFFER 162
363 : static yyconst short int yy_accept[1422] =
364 : { 0,
365 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
366 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
367 : 0, 0, 162, 112, 112, 160, 120, 97, 136, 121,
368 : 97, 97, 97, 139, 97, 97, 97, 97, 97, 97,
369 : 97, 103, 103, 97, 97, 97, 97, 97, 97, 118,
370 : 138, 118, 118, 118, 118, 118, 118, 118, 118, 118,
371 : 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
372 : 118, 98, 97, 100, 141, 157, 146, 141, 105, 105,
373 : 146, 160, 119, 143, 146, 142, 159, 160, 144, 160,
374 : 158, 156, 141, 160, 119, 38, 37, 102, 101, 128,
375 :
376 : 131, 131, 123, 123, 123, 122, 122, 122, 112, 0,
377 : 112, 115, 113, 112, 120, 76, 0, 134, 0, 117,
378 : 84, 133, 91, 87, 0, 135, 0, 0, 0, 0,
379 : 0, 0, 0, 0, 0, 0, 0, 81, 71, 79,
380 : 72, 80, 36, 106, 83, 127, 121, 82, 106, 103,
381 : 0, 0, 39, 0, 95, 77, 76, 75, 68, 78,
382 : 96, 132, 89, 118, 118, 118, 118, 118, 23, 136,
383 : 139, 0, 118, 118, 118, 118, 118, 118, 15, 118,
384 : 118, 118, 118, 118, 118, 118, 118, 118, 118, 9,
385 : 118, 118, 118, 118, 118, 92, 118, 118, 118, 118,
386 :
387 : 118, 118, 118, 118, 118, 118, 118, 118, 88, 90,
388 : 141, 145, 99, 36, 105, 0, 155, 151, 153, 155,
389 : 147, 119, 143, 148, 142, 0, 149, 150, 144, 152,
390 : 156, 141, 140, 140, 119, 0, 37, 101, 128, 130,
391 : 129, 123, 123, 124, 125, 112, 0, 114, 0, 0,
392 : 74, 117, 133, 133, 0, 0, 0, 0, 0, 0,
393 : 0, 0, 0, 0, 0, 106, 0, 106, 104, 0,
394 : 0, 85, 73, 86, 132, 132, 118, 118, 118, 118,
395 : 118, 118, 93, 118, 0, 118, 118, 118, 118, 118,
396 : 118, 118, 118, 2, 118, 118, 118, 118, 118, 118,
397 :
398 : 118, 118, 16, 118, 118, 118, 118, 118, 118, 118,
399 : 118, 40, 118, 118, 118, 118, 118, 118, 118, 118,
400 : 6, 118, 56, 42, 118, 94, 105, 153, 154, 112,
401 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
402 : 0, 0, 0, 126, 0, 0, 0, 118, 118, 118,
403 : 118, 118, 118, 118, 118, 118, 26, 118, 118, 118,
404 : 118, 118, 118, 118, 30, 12, 118, 118, 118, 118,
405 : 118, 118, 51, 1, 118, 118, 118, 118, 118, 118,
406 : 118, 118, 118, 118, 69, 118, 118, 118, 118, 118,
407 : 118, 118, 118, 118, 118, 118, 153, 154, 112, 0,
408 :
409 : 0, 0, 0, 0, 0, 0, 0, 0, 43, 0,
410 : 0, 0, 0, 0, 0, 137, 137, 0, 118, 118,
411 : 118, 118, 118, 118, 118, 70, 28, 7, 32, 41,
412 : 4, 118, 118, 118, 118, 59, 118, 118, 11, 118,
413 : 118, 118, 63, 118, 118, 118, 118, 118, 118, 118,
414 : 58, 31, 118, 118, 118, 118, 118, 118, 118, 8,
415 : 67, 13, 112, 0, 116, 116, 0, 0, 0, 0,
416 : 49, 0, 0, 0, 0, 0, 44, 0, 0, 0,
417 : 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
418 : 10, 118, 17, 118, 118, 118, 118, 118, 57, 118,
419 :
420 : 118, 118, 118, 118, 118, 66, 118, 5, 61, 24,
421 : 112, 0, 0, 0, 47, 0, 0, 0, 0, 0,
422 : 0, 50, 0, 118, 118, 118, 118, 118, 118, 118,
423 : 118, 20, 27, 118, 118, 118, 118, 34, 18, 118,
424 : 118, 52, 118, 118, 64, 118, 54, 112, 0, 0,
425 : 0, 46, 0, 0, 0, 48, 0, 45, 0, 118,
426 : 111, 118, 118, 110, 118, 62, 29, 118, 118, 118,
427 : 14, 3, 118, 118, 118, 118, 118, 118, 112, 0,
428 : 0, 0, 107, 118, 118, 118, 118, 118, 25, 118,
429 : 118, 118, 33, 65, 118, 112, 0, 0, 118, 118,
430 :
431 : 109, 21, 19, 35, 118, 22, 118, 112, 0, 0,
432 : 118, 118, 118, 118, 112, 0, 0, 108, 118, 53,
433 : 55, 112, 0, 0, 118, 112, 0, 0, 118, 112,
434 : 0, 0, 60, 112, 0, 0, 112, 0, 0, 0,
435 : 112, 0, 0, 0, 0, 0, 112, 0, 0, 0,
436 : 0, 112, 0, 0, 0, 0, 112, 0, 0, 0,
437 : 0, 113, 112, 0, 112, 0, 112, 0, 112, 0,
438 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
439 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
440 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
441 :
442 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
443 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
444 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
445 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
446 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
447 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
448 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
449 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
450 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
451 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
452 :
453 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
454 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
455 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
456 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
457 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
458 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
459 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
460 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
461 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
462 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
463 :
464 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
465 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
466 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
467 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
468 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
469 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
470 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
471 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
472 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
473 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
474 :
475 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
476 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
477 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
478 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
479 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
480 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
481 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
482 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
483 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
484 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
485 :
486 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
487 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
488 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
489 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
490 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
491 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
492 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
493 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
494 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
495 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
496 :
497 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
498 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
499 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
500 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
501 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
502 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
503 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
504 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
505 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
506 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
507 :
508 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
509 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
510 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
511 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
512 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
513 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
514 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
515 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
516 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
517 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
518 :
519 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
520 : 112, 0, 112, 0, 112, 0, 112, 0, 112, 0,
521 : 0
522 : } ;
523 :
524 : static yyconst int yy_ec[256] =
525 : { 0,
526 : 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
527 : 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
528 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
529 : 1, 2, 5, 6, 7, 8, 9, 10, 11, 12,
530 : 13, 14, 15, 16, 17, 18, 19, 20, 21, 21,
531 : 21, 21, 21, 21, 21, 22, 22, 23, 24, 25,
532 : 26, 27, 28, 16, 34, 35, 36, 37, 38, 39,
533 : 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
534 : 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
535 : 29, 30, 29, 31, 32, 33, 34, 35, 36, 37,
536 :
537 : 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
538 : 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
539 : 58, 59, 60, 61, 62, 16, 59, 59, 59, 59,
540 : 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
541 : 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
542 : 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
543 : 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
544 : 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
545 : 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
546 : 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
547 :
548 : 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
549 : 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
550 : 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
551 : 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
552 : 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
553 : 59, 59, 59, 59, 59
554 : } ;
555 :
556 : static yyconst int yy_meta[63] =
557 : { 0,
558 : 1, 2, 3, 3, 4, 1, 4, 5, 4, 4,
559 : 6, 4, 4, 7, 4, 4, 4, 4, 4, 8,
560 : 8, 8, 4, 9, 10, 4, 4, 4, 1, 1,
561 : 4, 11, 1, 11, 11, 11, 11, 11, 11, 11,
562 : 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
563 : 11, 11, 11, 11, 11, 11, 11, 11, 11, 1,
564 : 4, 1
565 : } ;
566 :
567 : static yyconst short int yy_base[1842] =
568 : { 0,
569 : 7591, 7590, 0, 0, 62, 0, 114, 115, 121, 122,
570 : 123, 151, 210, 0, 272, 0, 7600, 7599, 7598, 7597,
571 : 132, 139, 7610, 7584, 121, 7617, 129, 7582, 131, 7617,
572 : 0, 112, 137, 135, 333, 7617, 7581, 143, 151, 150,
573 : 322, 322, 331, 7583, 320, 148, 153, 7578, 7578, 7571,
574 : 7617, 303, 351, 329, 323, 344, 340, 7557, 0, 357,
575 : 7559, 7562, 7548, 305, 7560, 330, 99, 326, 7563, 7555,
576 : 7547, 7617, 332, 7617, 0, 7617, 409, 7567, 452, 385,
577 : 7617, 469, 0, 7560, 7584, 7561, 7617, 465, 7584, 458,
578 : 7617, 471, 474, 463, 484, 7617, 0, 7617, 0, 0,
579 :
580 : 7570, 7569, 489, 7617, 7584, 7559, 7617, 7558, 7559, 472,
581 : 7558, 7556, 470, 7545, 499, 7554, 480, 7617, 389, 0,
582 : 7617, 502, 7617, 7617, 483, 7617, 7576, 0, 7527, 479,
583 : 7529, 7531, 7528, 7539, 7535, 7519, 7524, 7617, 7617, 7617,
584 : 7617, 7617, 7617, 510, 7617, 7556, 7617, 7617, 513, 518,
585 : 532, 523, 7617, 7517, 486, 7617, 7617, 7542, 7617, 7617,
586 : 7541, 538, 7617, 0, 527, 7514, 7528, 7513, 0, 516,
587 : 539, 7538, 7524, 512, 480, 7514, 359, 7522, 0, 7518,
588 : 7506, 7508, 7519, 7521, 525, 7507, 7502, 7505, 7503, 0,
589 : 7501, 534, 7497, 7496, 7491, 0, 529, 7511, 526, 7511,
590 :
591 : 7502, 7492, 7484, 7489, 7502, 7488, 7496, 7486, 7617, 7617,
592 : 0, 7617, 7617, 0, 560, 563, 7617, 7617, 554, 569,
593 : 7617, 0, 7503, 7617, 7505, 7504, 7617, 7617, 7527, 7617,
594 : 582, 603, 7617, 7529, 592, 607, 0, 0, 0, 7617,
595 : 7617, 614, 7617, 7617, 7617, 7506, 603, 7617, 7489, 7478,
596 : 7617, 0, 7617, 7525, 7476, 7479, 7477, 7470, 7475, 7469,
597 : 7478, 7486, 7468, 7466, 617, 605, 612, 617, 624, 7481,
598 : 7514, 7617, 7617, 7617, 7617, 7512, 7469, 483, 7479, 7470,
599 : 7473, 7457, 0, 7475, 7483, 7473, 7468, 7469, 7452, 7456,
600 : 577, 7457, 7467, 0, 7452, 7461, 7445, 612, 7452, 7443,
601 :
602 : 7457, 7460, 7455, 7456, 7456, 7445, 7444, 7435, 7449, 7448,
603 : 7432, 0, 353, 7431, 7438, 7428, 7427, 7427, 7426, 7430,
604 : 0, 7439, 0, 0, 7431, 0, 645, 627, 651, 7450,
605 : 666, 7425, 7431, 7438, 7437, 7425, 7434, 7434, 690, 7429,
606 : 7421, 7423, 7426, 674, 7412, 7460, 649, 7427, 7415, 7412,
607 : 7413, 7410, 7403, 7404, 7396, 7409, 0, 7411, 7399, 7412,
608 : 7396, 7406, 7413, 7392, 0, 7403, 7386, 7405, 7394, 7402,
609 : 7384, 7398, 0, 0, 7391, 7392, 7402, 7382, 7400, 7395,
610 : 7378, 7397, 7379, 7376, 0, 7375, 7393, 7388, 7383, 7382,
611 : 7372, 7380, 7385, 7364, 7366, 7380, 7617, 7617, 7392, 684,
612 :
613 : 693, 7367, 7357, 7363, 697, 7368, 7359, 611, 7617, 7371,
614 : 7374, 698, 7362, 7355, 7365, 7617, 7403, 653, 7353, 7366,
615 : 7367, 7349, 7363, 7359, 7365, 0, 0, 0, 0, 0,
616 : 0, 7351, 7346, 7351, 7356, 0, 7358, 7342, 0, 7350,
617 : 7349, 7353, 0, 7353, 7346, 7342, 7340, 7348, 7337, 7344,
618 : 0, 0, 2983, 2999, 2997, 2981, 2984, 2994, 2975, 0,
619 : 0, 0, 2990, 689, 7617, 3011, 2960, 700, 2954, 702,
620 : 7617, 2977, 2972, 2971, 2942, 703, 7617, 2954, 706, 2917,
621 : 2906, 2925, 2901, 2921, 2918, 2899, 2910, 2891, 2906, 2884,
622 : 0, 2885, 2891, 2861, 2866, 2854, 2864, 2838, 0, 2842,
623 :
624 : 2776, 2777, 2778, 2773, 2757, 0, 2771, 0, 0, 0,
625 : 2783, 697, 727, 719, 7617, 721, 2760, 2755, 724, 725,
626 : 731, 7617, 2752, 2771, 2770, 2759, 2764, 2767, 2760, 2743,
627 : 2757, 0, 0, 2760, 2758, 2754, 2748, 0, 0, 2738,
628 : 2737, 2750, 2741, 2742, 0, 2735, 2738, 2743, 715, 743,
629 : 737, 7617, 740, 746, 749, 7617, 750, 7617, 752, 2735,
630 : 0, 2716, 2694, 0, 2707, 0, 0, 2686, 2692, 2686,
631 : 0, 0, 2672, 2676, 2674, 2659, 2659, 2646, 2666, 748,
632 : 2654, 762, 0, 2638, 2636, 2647, 2638, 2624, 0, 2602,
633 : 2606, 2612, 0, 0, 2603, 2623, 749, 2592, 2604, 2576,
634 :
635 : 0, 0, 0, 0, 2586, 0, 2583, 2588, 759, 2570,
636 : 2576, 2565, 2566, 2551, 2557, 766, 2525, 0, 2532, 0,
637 : 0, 2551, 771, 2539, 2529, 2539, 777, 2522, 2486, 2511,
638 : 781, 2496, 0, 2508, 788, 767, 2506, 789, 817, 824,
639 : 2497, 806, 842, 2470, 2467, 2464, 2469, 827, 2450, 2449,
640 : 2439, 2460, 829, 2433, 2430, 847, 2451, 838, 2459, 2451,
641 : 857, 7617, 2434, 847, 2423, 855, 2422, 860, 2420, 861,
642 : 2419, 867, 2417, 868, 2397, 869, 2394, 873, 2392, 878,
643 : 2391, 899, 2388, 901, 2382, 906, 2379, 907, 2377, 908,
644 : 2358, 913, 2352, 914, 2351, 919, 2349, 936, 2348, 945,
645 :
646 : 2346, 947, 2345, 953, 2342, 954, 2331, 958, 2320, 959,
647 : 2309, 965, 2306, 967, 2305, 976, 2303, 987, 2302, 993,
648 : 2300, 998, 2291, 999, 2280, 1004, 2277, 1005, 2274, 1013,
649 : 2263, 1027, 2260, 1033, 2259, 1034, 2257, 1035, 2254, 1039,
650 : 2251, 1044, 2237, 1045, 2234, 1065, 2232, 1067, 2231, 1073,
651 : 2228, 1074, 2217, 1075, 2214, 1079, 2211, 1080, 2192, 1085,
652 : 2191, 1105, 2189, 1111, 2188, 1113, 2186, 1115, 2185, 1119,
653 : 2182, 1120, 2171, 1125, 2152, 1126, 2149, 1133, 2146, 1151,
654 : 2145, 1155, 2143, 1159, 2142, 1161, 2140, 1165, 2139, 1166,
655 : 2106, 1172, 2104, 1173, 2103, 1187, 2101, 1195, 2100, 1201,
656 :
657 : 2099, 1205, 2097, 1207, 2094, 1212, 2064, 1213, 2061, 1218,
658 : 2060, 1227, 2058, 1233, 2057, 1235, 2055, 1241, 2054, 1247,
659 : 2051, 1253, 2032, 1258, 2029, 1264, 2018, 1273, 2015, 1275,
660 : 2014, 1279, 2012, 1281, 2011, 1286, 2009, 1287, 1992, 1293,
661 : 1989, 1304, 1986, 1315, 1983, 1319, 1972, 1321, 1969, 1325,
662 : 1968, 1326, 1966, 1327, 1963, 1332, 1952, 1333, 1946, 1355,
663 : 1943, 1361, 1941, 1363, 1940, 1365, 1937, 1367, 1926, 1372,
664 : 1923, 1373, 1912, 1378, 1901, 1393, 1900, 1395, 1898, 1401,
665 : 1897, 1403, 1895, 1407, 1894, 1413, 1891, 1418, 1869, 1424,
666 : 1864, 1433, 1861, 1435, 1858, 1439, 1855, 1441, 1854, 1447,
667 :
668 : 1852, 1453, 1851, 1464, 1849, 1470, 1826, 1475, 1824, 1479,
669 : 1823, 1481, 1821, 1485, 1812, 1487, 1809, 1492, 1806, 1493,
670 : 1803, 1510, 1792, 1515, 1786, 1521, 1783, 1523, 1781, 1525,
671 : 1780, 1527, 1777, 1532, 1766, 1533, 139, 1538, 157, 1555,
672 : 312, 1561, 339, 1563, 341, 1567, 474, 1569, 530, 1573,
673 : 567, 1578, 569, 1584, 597, 1595, 610, 1599, 615, 1601,
674 : 625, 1607, 644, 1609, 645, 1613, 649, 1624, 676, 1630,
675 : 682, 1635, 695, 1639, 735, 1641, 736, 1645, 747, 1647,
676 : 753, 1653, 756, 1670, 757, 1675, 758, 1676, 760, 1681,
677 : 767, 1683, 770, 1685, 778, 1687, 779, 1693, 782, 1698,
678 :
679 : 783, 1715, 785, 1716, 787, 1721, 797, 1723, 799, 1727,
680 : 800, 1729, 807, 1733, 812, 1738, 814, 1744, 817, 1755,
681 : 837, 1761, 840, 1767, 842, 1769, 843, 1773, 846, 1775,
682 : 875, 1784, 877, 1790, 879, 1795, 880, 1801, 884, 1805,
683 : 886, 1807, 889, 1813, 893, 1815, 912, 1830, 915, 1835,
684 : 918, 1836, 921, 1841, 923, 1843, 924, 1845, 925, 1847,
685 : 927, 1853, 930, 1875, 932, 1876, 944, 1881, 952, 1882,
686 : 955, 1883, 964, 1887, 966, 1889, 969, 1893, 973, 1904,
687 : 975, 1915, 978, 1921, 984, 1922, 991, 1927, 995, 1929,
688 : 1000, 1933, 1006, 1935, 1009, 1944, 1010, 1950, 1012, 1955,
689 :
690 : 1015, 1961, 1021, 1967, 1022, 1973, 1024, 1975, 1041, 1981,
691 : 1043, 1990, 1046, 1995, 1050, 1996, 1052, 2001, 1053, 2003,
692 : 1055, 2007, 1056, 2013, 1081, 2021, 1084, 2035, 1086, 2036,
693 : 1087, 2041, 1090, 2042, 1091, 2043, 1093, 2047, 1096, 2049,
694 : 1098, 2053, 1121, 2075, 1124, 2081, 1127, 2082, 1130, 2083,
695 : 1131, 2087, 1134, 2088, 1137, 2089, 1141, 2093, 1144, 2095,
696 : 1148, 2121, 1163, 2123, 1167, 2127, 1170, 2128, 1174, 2129,
697 : 1177, 2133, 1180, 2134, 1181, 2135, 1183, 2141, 1184, 2163,
698 : 1194, 2167, 1203, 2169, 1206, 2173, 1209, 2174, 1220, 2175,
699 : 1223, 2180, 1224, 2181, 1226, 2195, 1229, 2203, 1243, 2209,
700 :
701 : 1246, 2213, 1249, 2215, 1251, 2220, 1252, 2221, 1255, 2226,
702 : 1266, 2235, 1269, 2241, 1272, 2243, 1283, 2249, 1292, 2255,
703 : 1294, 2261, 1295, 2266, 1297, 2272, 1298, 2281, 1301, 2283,
704 : 1312, 2287, 1323, 2289, 1334, 2294, 1337, 2295, 1338, 2301,
705 : 1340, 2312, 1341, 2323, 1343, 2327, 1344, 2329, 1350, 2333,
706 : 1369, 2334, 1371, 2335, 1374, 2340, 1380, 2341, 1383, 2363,
707 : 1384, 2369, 1386, 2371, 1389, 2373, 1409, 2375, 1411, 2380,
708 : 1412, 2381, 1414, 2386, 1415, 2401, 1426, 2403, 1429, 2409,
709 : 1432, 2411, 1443, 2415, 1446, 2421, 1449, 2426, 1452, 2432,
710 : 1455, 2441, 1457, 2443, 1458, 2447, 1461, 2449, 1472, 2455,
711 :
712 : 1483, 2461, 1486, 2472, 1489, 2478, 1498, 2483, 1500, 2487,
713 : 1501, 2489, 1503, 2493, 1504, 2495, 1529, 2500, 1531, 2501,
714 : 1534, 2518, 1540, 2523, 1543, 2529, 1544, 2531, 1546, 2533,
715 : 1549, 2535, 1556, 2540, 1571, 2541, 1574, 2546, 1575, 2563,
716 : 1577, 2569, 1580, 2571, 1586, 2575, 1589, 2577, 1592, 2581,
717 : 1603, 2586, 1606, 2592, 1615, 2603, 1617, 2607, 1618, 2609,
718 : 1620, 2615, 1621, 2617, 1632, 2621, 1643, 2632, 1646, 2638,
719 : 1649, 2643, 1652, 2647, 1655, 2649, 1658, 2653, 1661, 2655,
720 : 1663, 2661, 1664, 2678, 1689, 2683, 1691, 2684, 1692, 2689,
721 : 1694, 2691, 1695, 2693, 1704, 2695, 1706, 2701, 1709, 2706,
722 :
723 : 1731, 2723, 1734, 2724, 1735, 2729, 1737, 2731, 1740, 2735,
724 : 1746, 2737, 1749, 2741, 1752, 2746, 1762, 2752, 7617, 2763,
725 : 7617, 2815, 2826, 2837, 2848, 2859, 2870, 2881, 1777, 2892,
726 : 2896, 2906, 2916, 2920, 2931, 2940, 2944, 2948, 2959, 2970,
727 : 2981, 2985, 2996, 3006, 3017, 3026, 3037, 3048, 3059, 3070,
728 : 3081, 3092, 3103, 3114, 3125, 3136, 3147, 3158, 3169, 3180,
729 : 3191, 3202, 3213, 3224, 3235, 3246, 3257, 3268, 3279, 3290,
730 : 3301, 3312, 3323, 3334, 3345, 3356, 3367, 3378, 3389, 3400,
731 : 3411, 3422, 3433, 3444, 3455, 3466, 3477, 3488, 3499, 3510,
732 : 3521, 3532, 3543, 3554, 3565, 3576, 3587, 3598, 3609, 3620,
733 :
734 : 3631, 3642, 3653, 3664, 3675, 3686, 3697, 3708, 3719, 3730,
735 : 3741, 3752, 3763, 3774, 3785, 3796, 3807, 3818, 3829, 3840,
736 : 3851, 3862, 3873, 3884, 3895, 3906, 3917, 3928, 3939, 3950,
737 : 3961, 3972, 3983, 3994, 4005, 4016, 4027, 4038, 4049, 4060,
738 : 4071, 4082, 4093, 4104, 4115, 4126, 4137, 4148, 4159, 4170,
739 : 4181, 4192, 4203, 4214, 4225, 4236, 4247, 4258, 4269, 4280,
740 : 4291, 4302, 4313, 4324, 4335, 4346, 4357, 4368, 4379, 4390,
741 : 4401, 4412, 4423, 4434, 4445, 4456, 4467, 4478, 4489, 4500,
742 : 4511, 4522, 4533, 4544, 4555, 4566, 4577, 4588, 4599, 4610,
743 : 4621, 4632, 4643, 4654, 4665, 4676, 4687, 4698, 4709, 4720,
744 :
745 : 4731, 4742, 4753, 4764, 4775, 4786, 4797, 4808, 4819, 4830,
746 : 4841, 4852, 4863, 4874, 4885, 4896, 4907, 4918, 4929, 4940,
747 : 4951, 4962, 4973, 4984, 4995, 5006, 5017, 5028, 5039, 5050,
748 : 5061, 5072, 5083, 5094, 5105, 5116, 5127, 5138, 5149, 5160,
749 : 5171, 5182, 5193, 5204, 5215, 5226, 5237, 5248, 5259, 5270,
750 : 5281, 5292, 5303, 5314, 5325, 5336, 5347, 5358, 5369, 5380,
751 : 5391, 5402, 5413, 5424, 5435, 5446, 5457, 5468, 5479, 5490,
752 : 5501, 5512, 5523, 5534, 5545, 5556, 5567, 5578, 5589, 5600,
753 : 5611, 5622, 5633, 5644, 5655, 5666, 5677, 5688, 5699, 5710,
754 : 5721, 5732, 5743, 5754, 5765, 5776, 5787, 5798, 5809, 5820,
755 :
756 : 5831, 5842, 5853, 5864, 5875, 5886, 5897, 5908, 5919, 5930,
757 : 5941, 5952, 5963, 5974, 5985, 5996, 6007, 6018, 6029, 6040,
758 : 6051, 6062, 6073, 6084, 6095, 6106, 6117, 6128, 6139, 6150,
759 : 6161, 6172, 6183, 6194, 6205, 6216, 6227, 6238, 6249, 6260,
760 : 6271, 6282, 6293, 6304, 6315, 6326, 6337, 6348, 6359, 6370,
761 : 6381, 6392, 6403, 6414, 6425, 6436, 6447, 6458, 6469, 6480,
762 : 6491, 6502, 6513, 6524, 6535, 6546, 6557, 6568, 6579, 6590,
763 : 6601, 6612, 6623, 6634, 6645, 6656, 6667, 6678, 6689, 6700,
764 : 6711, 6722, 6733, 6744, 6755, 6766, 6777, 6788, 6799, 6810,
765 : 6821, 6832, 6843, 6854, 6865, 6876, 6887, 6898, 6909, 6920,
766 :
767 : 6931, 6942, 6953, 6964, 6975, 6986, 6997, 7008, 7019, 7030,
768 : 7041, 7052, 7063, 7074, 7085, 7096, 7107, 7118, 7129, 7140,
769 : 7151, 7162, 7173, 7184, 7195, 7206, 7217, 7228, 7239, 7250,
770 : 7261, 7272, 7283, 7294, 7305, 7316, 7327, 7338, 7349, 7360,
771 : 7371
772 : } ;
773 :
774 : static yyconst short int yy_def[1842] =
775 : { 0,
776 : 1422, 1422, 1421, 3, 1421, 5, 1423, 1423, 5, 5,
777 : 5, 5, 1421, 13, 1421, 15, 1424, 1424, 1424, 1424,
778 : 1425, 1425, 1421, 1426, 1427, 1421, 1421, 1421, 1428, 1421,
779 : 1429, 1421, 1421, 1430, 1421, 1421, 1421, 1421, 1421, 1421,
780 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1431,
781 : 1421, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431,
782 : 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431,
783 : 1431, 1421, 1421, 1421, 1432, 1421, 1421, 1432, 1421, 1421,
784 : 1421, 1433, 1434, 1421, 1421, 1435, 1421, 1435, 1421, 1433,
785 : 1421, 1421, 1432, 1433, 1436, 1421, 1437, 1421, 1438, 1439,
786 :
787 : 1421, 1421, 1440, 1421, 1421, 1421, 1421, 1421, 1441, 1426,
788 : 1426, 1421, 1421, 1421, 1421, 1421, 1428, 1421, 1428, 1442,
789 : 1421, 1421, 1421, 1421, 1430, 1421, 1430, 35, 1421, 1421,
790 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
791 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
792 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
793 : 1421, 1421, 1421, 1431, 1431, 1431, 1431, 1431, 1431, 1428,
794 : 1430, 1421, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431,
795 : 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431,
796 : 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431,
797 :
798 : 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1421, 1421,
799 : 1432, 1421, 1421, 1432, 1421, 1421, 1421, 1421, 1421, 1421,
800 : 1421, 1434, 1421, 1421, 1435, 1435, 1421, 1421, 1421, 1421,
801 : 1421, 1432, 1421, 1421, 1436, 1421, 1437, 1438, 1439, 1421,
802 : 1421, 1440, 1421, 1421, 1421, 1443, 1441, 1421, 1421, 1421,
803 : 1421, 1442, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
804 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
805 : 1444, 1421, 1421, 1421, 1421, 1421, 1431, 1431, 1431, 1431,
806 : 1431, 1431, 1431, 1431, 1421, 1431, 1431, 1431, 1431, 1431,
807 : 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431,
808 :
809 : 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431,
810 : 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431,
811 : 1431, 1431, 1431, 1431, 1431, 1431, 1421, 1421, 1421, 1445,
812 : 1443, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
813 : 1421, 1421, 1421, 1421, 1421, 1444, 1446, 1431, 1431, 1431,
814 : 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431,
815 : 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431,
816 : 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431,
817 : 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431,
818 : 1431, 1431, 1431, 1431, 1431, 1431, 1421, 1421, 1447, 1445,
819 :
820 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
821 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1446, 1431, 1431,
822 : 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431,
823 : 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431,
824 : 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431,
825 : 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431,
826 : 1431, 1431, 1448, 1447, 1421, 1421, 1421, 1421, 1421, 1421,
827 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
828 : 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431,
829 : 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431,
830 :
831 : 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431,
832 : 1449, 1448, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
833 : 1421, 1421, 1421, 1431, 1431, 1431, 1431, 1431, 1431, 1431,
834 : 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431,
835 : 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1450, 1449, 1421,
836 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1431,
837 : 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431,
838 : 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1451, 1450,
839 : 1421, 1421, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431,
840 : 1431, 1431, 1431, 1431, 1431, 1452, 1451, 1421, 1431, 1431,
841 :
842 : 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1453, 1452, 1421,
843 : 1431, 1431, 1431, 1431, 1454, 1453, 1421, 1431, 1431, 1431,
844 : 1431, 1455, 1454, 1421, 1431, 1456, 1455, 1421, 1431, 1457,
845 : 1456, 1421, 1431, 1458, 1457, 1421, 1459, 1458, 1421, 1421,
846 : 1460, 1459, 1421, 1421, 1421, 1421, 1461, 1460, 1421, 1421,
847 : 1421, 1462, 1461, 1421, 1421, 1421, 1463, 1462, 1421, 1421,
848 : 1421, 1421, 1464, 1463, 1465, 1464, 1466, 1465, 1467, 1466,
849 : 1468, 1467, 1469, 1468, 1470, 1469, 1471, 1470, 1472, 1471,
850 : 1473, 1472, 1474, 1473, 1475, 1474, 1476, 1475, 1477, 1476,
851 : 1478, 1477, 1479, 1478, 1480, 1479, 1481, 1480, 1482, 1481,
852 :
853 : 1483, 1482, 1484, 1483, 1485, 1484, 1486, 1485, 1487, 1486,
854 : 1488, 1487, 1489, 1488, 1490, 1489, 1491, 1490, 1492, 1491,
855 : 1493, 1492, 1494, 1493, 1495, 1494, 1496, 1495, 1497, 1496,
856 : 1498, 1497, 1499, 1498, 1500, 1499, 1501, 1500, 1502, 1501,
857 : 1503, 1502, 1504, 1503, 1505, 1504, 1506, 1505, 1507, 1506,
858 : 1508, 1507, 1509, 1508, 1510, 1509, 1511, 1510, 1512, 1511,
859 : 1513, 1512, 1514, 1513, 1515, 1514, 1516, 1515, 1517, 1516,
860 : 1518, 1517, 1519, 1518, 1520, 1519, 1521, 1520, 1522, 1521,
861 : 1523, 1522, 1524, 1523, 1525, 1524, 1526, 1525, 1527, 1526,
862 : 1528, 1527, 1529, 1528, 1530, 1529, 1531, 1530, 1532, 1531,
863 :
864 : 1533, 1532, 1534, 1533, 1535, 1534, 1536, 1535, 1537, 1536,
865 : 1538, 1537, 1539, 1538, 1540, 1539, 1541, 1540, 1542, 1541,
866 : 1543, 1542, 1544, 1543, 1545, 1544, 1546, 1545, 1547, 1546,
867 : 1548, 1547, 1549, 1548, 1550, 1549, 1551, 1550, 1552, 1551,
868 : 1553, 1552, 1554, 1553, 1555, 1554, 1556, 1555, 1557, 1556,
869 : 1558, 1557, 1559, 1558, 1560, 1559, 1561, 1560, 1562, 1561,
870 : 1563, 1562, 1564, 1563, 1565, 1564, 1566, 1565, 1567, 1566,
871 : 1568, 1567, 1569, 1568, 1570, 1569, 1571, 1570, 1572, 1571,
872 : 1573, 1572, 1574, 1573, 1575, 1574, 1576, 1575, 1577, 1576,
873 : 1578, 1577, 1579, 1578, 1580, 1579, 1581, 1580, 1582, 1581,
874 :
875 : 1583, 1582, 1584, 1583, 1585, 1584, 1586, 1585, 1587, 1586,
876 : 1588, 1587, 1589, 1588, 1590, 1589, 1591, 1590, 1592, 1591,
877 : 1593, 1592, 1594, 1593, 1595, 1594, 1596, 1595, 1597, 1596,
878 : 1598, 1597, 1599, 1598, 1600, 1599, 1601, 1600, 1602, 1601,
879 : 1603, 1602, 1604, 1603, 1605, 1604, 1606, 1605, 1607, 1606,
880 : 1608, 1607, 1609, 1608, 1610, 1609, 1611, 1610, 1612, 1611,
881 : 1613, 1612, 1614, 1613, 1615, 1614, 1616, 1615, 1617, 1616,
882 : 1618, 1617, 1619, 1618, 1620, 1619, 1621, 1620, 1622, 1621,
883 : 1623, 1622, 1624, 1623, 1625, 1624, 1626, 1625, 1627, 1626,
884 : 1628, 1627, 1629, 1628, 1630, 1629, 1631, 1630, 1632, 1631,
885 :
886 : 1633, 1632, 1634, 1633, 1635, 1634, 1636, 1635, 1637, 1636,
887 : 1638, 1637, 1639, 1638, 1640, 1639, 1641, 1640, 1642, 1641,
888 : 1643, 1642, 1644, 1643, 1645, 1644, 1646, 1645, 1647, 1646,
889 : 1648, 1647, 1649, 1648, 1650, 1649, 1651, 1650, 1652, 1651,
890 : 1653, 1652, 1654, 1653, 1655, 1654, 1656, 1655, 1657, 1656,
891 : 1658, 1657, 1659, 1658, 1660, 1659, 1661, 1660, 1662, 1661,
892 : 1663, 1662, 1664, 1663, 1665, 1664, 1666, 1665, 1667, 1666,
893 : 1668, 1667, 1669, 1668, 1670, 1669, 1671, 1670, 1672, 1671,
894 : 1673, 1672, 1674, 1673, 1675, 1674, 1676, 1675, 1677, 1676,
895 : 1678, 1677, 1679, 1678, 1680, 1679, 1681, 1680, 1682, 1681,
896 :
897 : 1683, 1682, 1684, 1683, 1685, 1684, 1686, 1685, 1687, 1686,
898 : 1688, 1687, 1689, 1688, 1690, 1689, 1691, 1690, 1692, 1691,
899 : 1693, 1692, 1694, 1693, 1695, 1694, 1696, 1695, 1697, 1696,
900 : 1698, 1697, 1699, 1698, 1700, 1699, 1701, 1700, 1702, 1701,
901 : 1703, 1702, 1704, 1703, 1705, 1704, 1706, 1705, 1707, 1706,
902 : 1708, 1707, 1709, 1708, 1710, 1709, 1711, 1710, 1712, 1711,
903 : 1713, 1712, 1714, 1713, 1715, 1714, 1716, 1715, 1717, 1716,
904 : 1718, 1717, 1719, 1718, 1720, 1719, 1721, 1720, 1722, 1721,
905 : 1723, 1722, 1724, 1723, 1725, 1724, 1726, 1725, 1727, 1726,
906 : 1728, 1727, 1729, 1728, 1730, 1729, 1731, 1730, 1732, 1731,
907 :
908 : 1733, 1732, 1734, 1733, 1735, 1734, 1736, 1735, 1737, 1736,
909 : 1738, 1737, 1739, 1738, 1740, 1739, 1741, 1740, 1742, 1741,
910 : 1743, 1742, 1744, 1743, 1745, 1744, 1746, 1745, 1747, 1746,
911 : 1748, 1747, 1749, 1748, 1750, 1749, 1751, 1750, 1752, 1751,
912 : 1753, 1752, 1754, 1753, 1755, 1754, 1756, 1755, 1757, 1756,
913 : 1758, 1757, 1759, 1758, 1760, 1759, 1761, 1760, 1762, 1761,
914 : 1763, 1762, 1764, 1763, 1765, 1764, 1766, 1765, 1767, 1766,
915 : 1768, 1767, 1769, 1768, 1770, 1769, 1771, 1770, 1772, 1771,
916 : 1773, 1772, 1774, 1773, 1775, 1774, 1776, 1775, 1777, 1776,
917 : 1778, 1777, 1779, 1778, 1780, 1779, 1781, 1780, 1782, 1781,
918 :
919 : 1783, 1782, 1784, 1783, 1785, 1784, 1786, 1785, 1787, 1786,
920 : 1788, 1787, 1789, 1788, 1790, 1789, 1791, 1790, 1792, 1791,
921 : 1793, 1792, 1794, 1793, 1795, 1794, 1796, 1795, 1797, 1796,
922 : 1798, 1797, 1799, 1798, 1800, 1799, 1801, 1800, 1802, 1801,
923 : 1803, 1802, 1804, 1803, 1805, 1804, 1806, 1805, 1807, 1806,
924 : 1808, 1807, 1809, 1808, 1810, 1809, 1811, 1810, 1812, 1811,
925 : 1813, 1812, 1814, 1813, 1815, 1814, 1816, 1815, 1817, 1816,
926 : 1818, 1817, 1819, 1818, 1820, 1819, 1821, 1820, 1822, 1821,
927 : 1823, 1822, 1824, 1823, 1825, 1824, 1826, 1825, 1827, 1826,
928 : 1828, 1827, 1829, 1828, 1830, 1829, 1831, 1830, 1832, 1831,
929 :
930 : 1833, 1832, 1834, 1833, 1835, 1834, 1836, 1835, 1837, 1836,
931 : 1838, 1837, 1839, 1838, 1840, 1839, 1841, 1840, 1421, 1841,
932 : 0, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
933 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
934 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
935 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
936 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
937 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
938 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
939 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
940 :
941 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
942 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
943 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
944 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
945 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
946 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
947 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
948 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
949 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
950 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
951 :
952 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
953 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
954 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
955 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
956 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
957 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
958 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
959 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
960 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
961 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
962 :
963 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
964 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
965 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
966 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
967 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
968 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
969 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
970 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
971 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
972 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
973 :
974 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
975 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
976 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
977 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
978 : 1421
979 : } ;
980 :
981 : static yyconst short int yy_nxt[7680] =
982 : { 0,
983 : 26, 27, 27, 27, 28, 29, 30, 31, 32, 33,
984 : 34, 35, 36, 37, 38, 36, 39, 40, 41, 42,
985 : 43, 43, 44, 36, 45, 46, 47, 48, 36, 26,
986 : 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
987 : 59, 60, 59, 59, 61, 59, 62, 63, 64, 59,
988 : 65, 66, 67, 68, 69, 70, 71, 59, 59, 72,
989 : 73, 74, 26, 75, 75, 75, 75, 76, 75, 77,
990 : 75, 75, 75, 75, 75, 75, 75, 75, 78, 75,
991 : 75, 79, 80, 80, 75, 75, 75, 75, 75, 75,
992 : 81, 82, 75, 83, 84, 83, 83, 83, 83, 83,
993 :
994 : 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
995 : 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
996 : 83, 85, 75, 81, 87, 87, 89, 89, 92, 112,
997 : 115, 115, 115, 93, 104, 105, 118, 121, 122, 202,
998 : 106, 104, 105, 88, 88, 126, 123, 106, 113, 203,
999 : 90, 90, 94, 91, 91, 92, 92, 139, 107, 108,
1000 : 119, 93, 124, 940, 127, 107, 108, 141, 140, 144,
1001 : 144, 144, 114, 158, 159, 145, 142, 143, 160, 161,
1002 : 94, 942, 95, 92, 95, 95, 95, 95, 95, 95,
1003 : 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
1004 :
1005 : 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
1006 : 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
1007 : 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
1008 : 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
1009 : 96, 97, 96, 97, 97, 97, 97, 97, 97, 97,
1010 : 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
1011 : 97, 97, 97, 97, 97, 97, 97, 97, 97, 96,
1012 : 96, 96, 98, 98, 98, 98, 98, 98, 98, 98,
1013 : 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
1014 : 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
1015 :
1016 : 98, 98, 98, 99, 98, 99, 99, 99, 99, 99,
1017 : 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
1018 : 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
1019 : 99, 98, 98, 98, 128, 146, 944, 166, 154, 149,
1020 : 147, 150, 150, 150, 155, 156, 157, 148, 149, 167,
1021 : 150, 150, 150, 168, 169, 197, 170, 209, 198, 151,
1022 : 177, 171, 174, 946, 178, 948, 129, 130, 151, 131,
1023 : 179, 132, 204, 175, 133, 172, 176, 205, 152, 180,
1024 : 134, 186, 200, 135, 136, 201, 137, 187, 181, 182,
1025 : 183, 1421, 210, 188, 292, 190, 117, 293, 184, 386,
1026 :
1027 : 185, 173, 191, 192, 215, 215, 215, 387, 193, 212,
1028 : 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
1029 : 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
1030 : 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
1031 : 120, 212, 120, 120, 120, 120, 120, 120, 120, 120,
1032 : 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
1033 : 120, 120, 120, 120, 120, 120, 120, 120, 213, 212,
1034 : 212, 215, 215, 215, 218, 227, 231, 219, 219, 231,
1035 : 1421, 231, 219, 219, 232, 118, 233, 234, 219, 219,
1036 : 230, 243, 243, 126, 228, 248, 1421, 243, 950, 1421,
1037 :
1038 : 115, 115, 115, 231, 253, 254, 231, 236, 216, 119,
1039 : 271, 272, 127, 289, 220, 243, 243, 221, 249, 220,
1040 : 256, 118, 221, 1421, 349, 220, 257, 290, 221, 144,
1041 : 144, 144, 266, 266, 266, 149, 350, 150, 150, 150,
1042 : 275, 276, 269, 269, 269, 119, 267, 151, 267, 126,
1043 : 151, 268, 268, 268, 952, 151, 269, 269, 269, 269,
1044 : 269, 269, 277, 287, 288, 278, 300, 279, 127, 307,
1045 : 313, 280, 281, 328, 328, 316, 314, 301, 317, 215,
1046 : 215, 215, 327, 327, 327, 308, 309, 231, 329, 329,
1047 : 329, 954, 231, 956, 233, 234, 327, 327, 327, 327,
1048 :
1049 : 327, 327, 329, 329, 329, 329, 329, 329, 231, 233,
1050 : 234, 1421, 408, 232, 231, 236, 243, 243, 344, 344,
1051 : 344, 958, 243, 409, 266, 266, 266, 1421, 361, 362,
1052 : 1421, 268, 268, 268, 960, 231, 268, 268, 268, 962,
1053 : 243, 243, 151, 269, 269, 269, 397, 397, 368, 964,
1054 : 369, 416, 417, 370, 1421, 416, 417, 269, 269, 269,
1055 : 269, 269, 269, 371, 327, 327, 327, 372, 966, 968,
1056 : 398, 398, 398, 970, 1421, 344, 344, 344, 327, 327,
1057 : 327, 327, 327, 327, 398, 398, 398, 398, 398, 398,
1058 : 1421, 408, 1421, 1421, 465, 465, 466, 1421, 470, 476,
1059 :
1060 : 972, 514, 409, 470, 476, 1421, 974, 521, 1421, 471,
1061 : 477, 1421, 515, 1421, 471, 477, 1421, 1421, 522, 976,
1062 : 514, 1421, 551, 1421, 1421, 555, 557, 410, 550, 550,
1063 : 550, 515, 521, 552, 472, 1421, 556, 558, 551, 1421,
1064 : 1421, 470, 1421, 522, 550, 550, 550, 408, 1421, 552,
1065 : 555, 557, 471, 582, 582, 582, 1421, 1421, 409, 978,
1066 : 980, 556, 558, 582, 582, 582, 1421, 1421, 639, 639,
1067 : 639, 982, 1421, 1421, 1421, 1421, 1421, 984, 162, 1421,
1068 : 986, 988, 990, 1421, 992, 1421, 1421, 581, 162, 1421,
1069 : 1421, 994, 640, 1421, 996, 1421, 1421, 1421, 1421, 1421,
1070 :
1071 : 1421, 1421, 998, 1000, 1421, 1421, 1002, 1004, 1421, 1006,
1072 : 1421, 1008, 1421, 1421, 1421, 1421, 1421, 1421, 639, 639,
1073 : 639, 1010, 1421, 1012, 1014, 643, 643, 643, 1421, 644,
1074 : 1421, 1016, 1421, 1421, 645, 1421, 1018, 1421, 1020, 1421,
1075 : 1421, 1022, 640, 643, 643, 643, 1421, 644, 661, 661,
1076 : 661, 1421, 645, 1421, 1421, 1421, 1421, 1421, 661, 661,
1077 : 661, 1024, 1421, 1421, 1026, 1421, 1028, 1030, 1421, 1421,
1078 : 1032, 1421, 646, 662, 1421, 1421, 1421, 1421, 1421, 1421,
1079 : 1421, 1421, 1421, 662, 1421, 1421, 1421, 1421, 1421, 1421,
1080 : 646, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1034,
1081 :
1082 : 1421, 1036, 1421, 1038, 1040, 1421, 1421, 1421, 1042, 1421,
1083 : 1044, 1421, 1421, 1046, 1421, 1421, 1421, 1048, 1421, 1421,
1084 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1085 : 1421, 1421, 1421, 1421, 1421, 1421, 1050, 1421, 1421, 1052,
1086 : 1421, 1421, 1054, 1421, 1421, 1056, 1421, 1058, 1060, 1062,
1087 : 1421, 1064, 1421, 1421, 1066, 1421, 1068, 1421, 1421, 1421,
1088 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1070, 1421,
1089 : 1421, 1421, 1421, 1421, 1421, 1421, 1072, 1421, 1421, 1074,
1090 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1076, 1421,
1091 : 1078, 1421, 1421, 1080, 1421, 1421, 1421, 1082, 1421, 1084,
1092 :
1093 : 1421, 1421, 1086, 1421, 1421, 1421, 1421, 1421, 1088, 1421,
1094 : 1421, 1421, 1421, 1421, 1421, 1090, 1421, 1421, 1421, 1092,
1095 : 1421, 1421, 1421, 1421, 1094, 1421, 1421, 1421, 1421, 1421,
1096 : 1096, 1421, 1421, 1098, 1100, 1421, 1102, 1421, 1421, 1104,
1097 : 1421, 1421, 1421, 1421, 1421, 1106, 1108, 1421, 1110, 1421,
1098 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1099 : 1421, 1421, 1421, 1421, 1421, 1112, 1421, 1114, 1421, 1421,
1100 : 1116, 1421, 1421, 1421, 1118, 1421, 1120, 1122, 1421, 1124,
1101 : 1126, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1102 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1103 :
1104 : 1421, 1421, 1421, 1421, 1421, 1128, 1421, 1421, 1130, 1421,
1105 : 1132, 1134, 1421, 1421, 1136, 1138, 1421, 1140, 1421, 1421,
1106 : 1142, 1421, 1144, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1107 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1108 : 1421, 1421, 1421, 1421, 1421, 1146, 1421, 1421, 1148, 1421,
1109 : 1421, 1150, 1421, 1421, 1152, 1154, 1421, 1421, 1156, 1421,
1110 : 1421, 1158, 1421, 1421, 1421, 1160, 1421, 1421, 1162, 1421,
1111 : 1421, 1421, 1164, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1112 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1166, 1421, 1421,
1113 : 1421, 1168, 1421, 1421, 1170, 1421, 1421, 1421, 1172, 1421,
1114 :
1115 : 1421, 1174, 1421, 1421, 1176, 1178, 1421, 1180, 1182, 1421,
1116 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1184, 1421,
1117 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1186, 1421, 1421,
1118 : 1188, 1421, 1421, 1190, 1421, 1421, 1421, 1421, 1421, 1421,
1119 : 1421, 1421, 1421, 1421, 1192, 1421, 1421, 1194, 1196, 1421,
1120 : 1198, 1421, 1421, 1200, 1421, 1421, 1421, 1421, 1421, 1421,
1121 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1202, 1421, 1421,
1122 : 1204, 1421, 1421, 1206, 1421, 1208, 1210, 1421, 1421, 1212,
1123 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1124 : 1214, 1421, 1421, 1216, 1421, 1421, 1218, 1421, 1421, 1421,
1125 :
1126 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1220, 1421, 1421,
1127 : 1421, 1421, 1421, 1421, 1421, 1421, 1222, 1421, 1224, 1226,
1128 : 1421, 1228, 1230, 1421, 1421, 1232, 1421, 1421, 1421, 1421,
1129 : 1421, 1421, 1421, 1421, 1421, 1421, 1234, 1421, 1421, 1421,
1130 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1236, 1421, 1421,
1131 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1238, 1421,
1132 : 1421, 1240, 1242, 1421, 1244, 1246, 1421, 1248, 1250, 1421,
1133 : 1421, 1421, 1421, 1421, 1252, 1421, 1421, 1421, 1421, 1421,
1134 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1135 : 1421, 1421, 1421, 1254, 1421, 1256, 1421, 1421, 1258, 1421,
1136 :
1137 : 1421, 1421, 1421, 1421, 1260, 1421, 1421, 1262, 1264, 1421,
1138 : 1266, 1421, 1421, 1268, 1421, 1421, 1421, 1421, 1421, 1421,
1139 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1140 : 1421, 1421, 1421, 1270, 1421, 1272, 1274, 1421, 1276, 1278,
1141 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1142 : 1280, 1421, 1421, 1282, 1421, 1421, 1284, 1421, 1421, 1421,
1143 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1286, 1421, 1421,
1144 : 1288, 1421, 1421, 1290, 1421, 1421, 1292, 1421, 1421, 1294,
1145 : 1421, 1296, 1298, 1421, 1421, 1300, 1421, 1421, 1421, 1421,
1146 : 1421, 1421, 1421, 1421, 1421, 1421, 1302, 1421, 1421, 1421,
1147 :
1148 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1304, 1421, 1421,
1149 : 1306, 1421, 1421, 1308, 1421, 1421, 1421, 1421, 1421, 1421,
1150 : 1421, 1421, 1310, 1421, 1312, 1314, 1421, 1316, 1318, 1421,
1151 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1152 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1153 : 1421, 1421, 1421, 1320, 1421, 1322, 1421, 1421, 1324, 1421,
1154 : 1421, 1421, 1421, 1421, 1326, 1421, 1421, 1328, 1330, 1421,
1155 : 1332, 1421, 1421, 1334, 1421, 1421, 1421, 1421, 1421, 1421,
1156 : 1336, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1157 : 1421, 1421, 1421, 1421, 1421, 1338, 1421, 1421, 1340, 1342,
1158 :
1159 : 1421, 1344, 1421, 1421, 1346, 1421, 1421, 1421, 1421, 1421,
1160 : 1348, 1421, 1421, 1350, 1421, 1421, 1352, 1421, 1421, 1421,
1161 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1354, 1421, 1421,
1162 : 1356, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1358,
1163 : 1421, 1360, 1362, 1421, 1364, 1366, 1421, 1421, 1421, 1421,
1164 : 1421, 1421, 1421, 1421, 1421, 1421, 1368, 1421, 1421, 1421,
1165 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1370, 1421, 1421,
1166 : 1372, 1421, 1421, 1374, 1421, 1421, 1376, 1421, 1421, 1378,
1167 : 1421, 1421, 1380, 1421, 1421, 1382, 1421, 1384, 1386, 1421,
1168 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1169 :
1170 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1171 : 1421, 1421, 1421, 1388, 1421, 1390, 1392, 1421, 1394, 1396,
1172 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1398, 1421,
1173 : 1400, 1421, 1421, 1402, 1421, 1421, 1421, 1421, 1421, 1421,
1174 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1175 : 1421, 1421, 1421, 1421, 1421, 1404, 1421, 1421, 1406, 1408,
1176 : 1421, 1410, 1421, 1421, 1412, 1421, 1421, 1421, 1421, 1421,
1177 : 1414, 1421, 1421, 1416, 1421, 1421, 1418, 1421, 1421, 1421,
1178 : 1421, 1421, 1421, 1421, 1421, 1421, 1420, 120, 1421, 1421,
1179 : 938, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1180 :
1181 : 1421, 936, 1421, 1421, 934, 932, 1421, 930, 1421, 1421,
1182 : 928, 1421, 1421, 1421, 1421, 1421, 926, 1421, 1421, 1421,
1183 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 924, 1421, 1421,
1184 : 922, 1421, 1421, 920, 1421, 1421, 918, 1421, 1421, 1421,
1185 : 1421, 1421, 1421, 1421, 1421, 916, 1421, 914, 912, 1421,
1186 : 910, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1187 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1188 : 1421, 1421, 1421, 908, 1421, 906, 904, 1421, 902, 900,
1189 : 1421, 1421, 898, 1421, 1421, 896, 1421, 1421, 894, 1421,
1190 : 1421, 1421, 1421, 892, 1421, 1421, 1421, 1421, 1421, 1421,
1191 :
1192 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1193 : 1421, 1421, 1421, 1421, 1421, 890, 1421, 1421, 888, 886,
1194 : 1421, 884, 882, 1421, 880, 878, 1421, 1421, 1421, 1421,
1195 : 1421, 1421, 1421, 1421, 1421, 1421, 876, 1421, 1421, 1421,
1196 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 874, 1421, 1421,
1197 : 872, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1198 : 1421, 870, 1421, 1421, 868, 866, 1421, 864, 1421, 1421,
1199 : 862, 1421, 1421, 1421, 1421, 1421, 860, 1421, 1421, 1421,
1200 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 858, 1421, 1421,
1201 : 856, 1421, 854, 852, 1421, 1421, 850, 1421, 1421, 1421,
1202 :
1203 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 848, 1421, 1421,
1204 : 846, 1421, 1421, 844, 1421, 1421, 842, 1421, 1421, 1421,
1205 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1206 : 1421, 1421, 1421, 840, 1421, 838, 836, 1421, 834, 832,
1207 : 1421, 1421, 830, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1208 : 1421, 1421, 1421, 828, 1421, 1421, 826, 1421, 1421, 1421,
1209 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1210 : 1421, 1421, 1421, 1421, 1421, 824, 1421, 1421, 822, 820,
1211 : 1421, 818, 816, 1421, 814, 812, 1421, 1421, 810, 1421,
1212 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1213 :
1214 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1215 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 808, 1421,
1216 : 1421, 806, 1421, 804, 802, 800, 1421, 798, 796, 1421,
1217 : 794, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1218 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1219 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1220 : 1421, 1421, 1421, 792, 790, 1421, 788, 786, 1421, 784,
1221 : 782, 1421, 1421, 780, 1421, 1421, 778, 1421, 1421, 1421,
1222 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1223 : 1421, 1421, 1421, 1421, 1421, 776, 1421, 1421, 1421, 1421,
1224 :
1225 : 1421, 1421, 1421, 1421, 1421, 1421, 774, 1421, 1421, 772,
1226 : 770, 1421, 768, 766, 1421, 764, 762, 1421, 1421, 1421,
1227 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1228 : 1421, 1421, 1421, 1421, 1421, 760, 1421, 1421, 758, 1421,
1229 : 1421, 756, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1230 : 1421, 1421, 754, 1421, 1421, 752, 750, 1421, 748, 1421,
1231 : 1421, 746, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1232 : 1421, 1421, 1421, 1421, 1421, 744, 1421, 1421, 742, 1421,
1233 : 1421, 740, 1421, 738, 736, 1421, 1421, 734, 1421, 1421,
1234 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 732, 1421,
1235 :
1236 : 1421, 730, 1421, 1421, 728, 1421, 1421, 1421, 1421, 1421,
1237 : 1421, 1421, 1421, 1421, 1421, 726, 1421, 1421, 1421, 1421,
1238 : 1421, 1421, 1421, 1421, 724, 1421, 722, 720, 1421, 718,
1239 : 716, 1421, 1421, 714, 1421, 1421, 1421, 1421, 1421, 1421,
1240 : 1421, 1421, 1421, 1421, 712, 1421, 1421, 1421, 1421, 1421,
1241 : 1421, 1421, 1421, 1421, 1421, 710, 1421, 1421, 1421, 1421,
1242 : 1421, 1421, 1421, 1421, 1421, 1421, 708, 1421, 1421, 706,
1243 : 704, 1421, 702, 700, 1421, 698, 696, 1421, 1421, 1421,
1244 : 1421, 1421, 694, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1245 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1246 :
1247 : 1421, 692, 1421, 690, 1421, 1421, 688, 1421, 1421, 1421,
1248 : 1421, 1421, 686, 1421, 1421, 684, 682, 1421, 680, 1421,
1249 : 1421, 678, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1250 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1251 : 1421, 676, 1421, 674, 672, 1421, 670, 668, 1421, 1421,
1252 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 666, 1421,
1253 : 1421, 656, 1421, 1421, 656, 1421, 1421, 1421, 1421, 1421,
1254 : 1421, 1421, 1421, 1421, 1421, 664, 1421, 1421, 660, 1421,
1255 : 1421, 659, 1421, 1421, 658, 1421, 1421, 656, 1421, 655,
1256 : 654, 1421, 1421, 653, 1421, 1421, 1421, 1421, 1421, 1421,
1257 :
1258 : 1421, 1421, 1421, 1421, 651, 1421, 1421, 1421, 1421, 1421,
1259 : 1421, 1421, 1421, 1421, 1421, 650, 1421, 1421, 649, 1421,
1260 : 1421, 648, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1261 : 642, 1421, 638, 636, 1421, 635, 633, 1421, 1421, 1421,
1262 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1263 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1264 : 1421, 632, 1421, 631, 1421, 1421, 629, 1421, 1421, 1421,
1265 : 1421, 1421, 628, 1421, 1421, 627, 625, 1421, 624, 1421,
1266 : 1421, 623, 1421, 1421, 1421, 1421, 1421, 1421, 621, 1421,
1267 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1268 :
1269 : 1421, 1421, 1421, 620, 1421, 1421, 619, 618, 1421, 617,
1270 : 1421, 1421, 616, 1421, 1421, 1421, 1421, 1421, 614, 1421,
1271 : 1421, 613, 1421, 1421, 612, 1421, 1421, 1421, 1421, 1421,
1272 : 1421, 1421, 1421, 1421, 1421, 611, 1421, 1421, 610, 1421,
1273 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 609, 1421, 607,
1274 : 606, 1421, 605, 604, 1421, 1421, 1421, 1421, 1421, 1421,
1275 : 1421, 1421, 1421, 1421, 603, 1421, 1421, 1421, 1421, 1421,
1276 : 1421, 1421, 1421, 1421, 1421, 602, 1421, 1421, 601, 1421,
1277 : 1421, 600, 1421, 1421, 599, 1421, 1421, 598, 1421, 1421,
1278 : 597, 1421, 1421, 595, 1421, 594, 593, 1421, 1421, 1421,
1279 :
1280 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1281 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1282 : 1421, 592, 1421, 591, 590, 1421, 589, 588, 1421, 1421,
1283 : 1421, 1421, 1421, 1421, 1421, 1421, 587, 1421, 586, 1421,
1284 : 1421, 585, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1285 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1286 : 1421, 1421, 1421, 584, 1421, 1421, 583, 580, 1421, 578,
1287 : 1421, 1421, 577, 1421, 1421, 1421, 1421, 576, 575, 1421,
1288 : 1421, 574, 1421, 573, 572, 571, 1421, 1421, 1421, 570,
1289 : 1421, 569, 1421, 568, 567, 566, 565, 1421, 564, 563,
1290 :
1291 : 562, 561, 560, 1421, 559, 554, 553, 549, 547, 546,
1292 : 545, 544, 543, 542, 1421, 24, 24, 24, 24, 24,
1293 : 24, 24, 24, 24, 24, 24, 86, 86, 86, 86,
1294 : 86, 86, 86, 86, 86, 86, 86, 100, 100, 100,
1295 : 100, 100, 100, 100, 100, 100, 100, 100, 103, 103,
1296 : 103, 103, 103, 103, 103, 103, 103, 103, 103, 109,
1297 : 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
1298 : 111, 111, 111, 111, 111, 111, 111, 111, 111, 541,
1299 : 111, 117, 117, 117, 117, 540, 117, 117, 117, 117,
1300 : 117, 117, 125, 125, 125, 125, 125, 125, 125, 125,
1301 :
1302 : 125, 125, 125, 164, 539, 538, 164, 211, 211, 211,
1303 : 537, 211, 211, 536, 211, 211, 217, 217, 217, 217,
1304 : 217, 217, 217, 217, 217, 217, 217, 222, 535, 534,
1305 : 222, 225, 225, 225, 225, 225, 533, 225, 225, 225,
1306 : 225, 225, 235, 532, 531, 530, 529, 235, 235, 528,
1307 : 235, 237, 527, 526, 237, 238, 525, 524, 238, 239,
1308 : 239, 239, 239, 239, 239, 523, 239, 239, 239, 239,
1309 : 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
1310 : 242, 246, 246, 246, 246, 246, 246, 246, 246, 246,
1311 : 246, 246, 252, 520, 519, 252, 330, 330, 330, 330,
1312 :
1313 : 330, 330, 330, 330, 330, 330, 330, 347, 518, 412,
1314 : 517, 516, 513, 465, 512, 510, 347, 399, 399, 399,
1315 : 399, 399, 399, 399, 399, 399, 399, 399, 418, 509,
1316 : 508, 507, 506, 418, 505, 504, 418, 463, 463, 463,
1317 : 463, 463, 463, 463, 463, 463, 463, 463, 511, 511,
1318 : 511, 511, 511, 511, 511, 511, 511, 511, 511, 548,
1319 : 548, 548, 548, 548, 548, 548, 548, 548, 548, 548,
1320 : 579, 579, 579, 579, 579, 579, 579, 579, 579, 579,
1321 : 579, 596, 596, 596, 596, 596, 596, 596, 596, 596,
1322 : 596, 596, 608, 608, 608, 608, 608, 608, 608, 608,
1323 :
1324 : 608, 608, 608, 615, 615, 615, 615, 615, 615, 615,
1325 : 615, 615, 615, 615, 622, 622, 622, 622, 622, 622,
1326 : 622, 622, 622, 622, 622, 626, 626, 626, 626, 626,
1327 : 626, 626, 626, 626, 626, 626, 630, 630, 630, 630,
1328 : 630, 630, 630, 630, 630, 630, 630, 634, 634, 634,
1329 : 634, 634, 634, 634, 634, 634, 634, 634, 637, 637,
1330 : 637, 637, 637, 637, 637, 637, 637, 637, 637, 641,
1331 : 641, 641, 641, 641, 641, 641, 641, 641, 641, 641,
1332 : 647, 647, 647, 647, 647, 647, 647, 647, 647, 647,
1333 : 647, 652, 652, 652, 652, 652, 652, 652, 652, 652,
1334 :
1335 : 652, 652, 657, 657, 657, 657, 657, 657, 657, 657,
1336 : 657, 657, 657, 663, 663, 663, 663, 663, 663, 663,
1337 : 663, 663, 663, 663, 665, 665, 665, 665, 665, 665,
1338 : 665, 665, 665, 665, 665, 667, 667, 667, 667, 667,
1339 : 667, 667, 667, 667, 667, 667, 669, 669, 669, 669,
1340 : 669, 669, 669, 669, 669, 669, 669, 671, 671, 671,
1341 : 671, 671, 671, 671, 671, 671, 671, 671, 673, 673,
1342 : 673, 673, 673, 673, 673, 673, 673, 673, 673, 675,
1343 : 675, 675, 675, 675, 675, 675, 675, 675, 675, 675,
1344 : 677, 677, 677, 677, 677, 677, 677, 677, 677, 677,
1345 :
1346 : 677, 679, 679, 679, 679, 679, 679, 679, 679, 679,
1347 : 679, 679, 681, 681, 681, 681, 681, 681, 681, 681,
1348 : 681, 681, 681, 683, 683, 683, 683, 683, 683, 683,
1349 : 683, 683, 683, 683, 685, 685, 685, 685, 685, 685,
1350 : 685, 685, 685, 685, 685, 687, 687, 687, 687, 687,
1351 : 687, 687, 687, 687, 687, 687, 689, 689, 689, 689,
1352 : 689, 689, 689, 689, 689, 689, 689, 691, 691, 691,
1353 : 691, 691, 691, 691, 691, 691, 691, 691, 693, 693,
1354 : 693, 693, 693, 693, 693, 693, 693, 693, 693, 695,
1355 : 695, 695, 695, 695, 695, 695, 695, 695, 695, 695,
1356 :
1357 : 697, 697, 697, 697, 697, 697, 697, 697, 697, 697,
1358 : 697, 699, 699, 699, 699, 699, 699, 699, 699, 699,
1359 : 699, 699, 701, 701, 701, 701, 701, 701, 701, 701,
1360 : 701, 701, 701, 703, 703, 703, 703, 703, 703, 703,
1361 : 703, 703, 703, 703, 705, 705, 705, 705, 705, 705,
1362 : 705, 705, 705, 705, 705, 707, 707, 707, 707, 707,
1363 : 707, 707, 707, 707, 707, 707, 709, 709, 709, 709,
1364 : 709, 709, 709, 709, 709, 709, 709, 711, 711, 711,
1365 : 711, 711, 711, 711, 711, 711, 711, 711, 713, 713,
1366 : 713, 713, 713, 713, 713, 713, 713, 713, 713, 715,
1367 :
1368 : 715, 715, 715, 715, 715, 715, 715, 715, 715, 715,
1369 : 717, 717, 717, 717, 717, 717, 717, 717, 717, 717,
1370 : 717, 719, 719, 719, 719, 719, 719, 719, 719, 719,
1371 : 719, 719, 721, 721, 721, 721, 721, 721, 721, 721,
1372 : 721, 721, 721, 723, 723, 723, 723, 723, 723, 723,
1373 : 723, 723, 723, 723, 725, 725, 725, 725, 725, 725,
1374 : 725, 725, 725, 725, 725, 727, 727, 727, 727, 727,
1375 : 727, 727, 727, 727, 727, 727, 729, 729, 729, 729,
1376 : 729, 729, 729, 729, 729, 729, 729, 731, 731, 731,
1377 : 731, 731, 731, 731, 731, 731, 731, 731, 733, 733,
1378 :
1379 : 733, 733, 733, 733, 733, 733, 733, 733, 733, 735,
1380 : 735, 735, 735, 735, 735, 735, 735, 735, 735, 735,
1381 : 737, 737, 737, 737, 737, 737, 737, 737, 737, 737,
1382 : 737, 739, 739, 739, 739, 739, 739, 739, 739, 739,
1383 : 739, 739, 741, 741, 741, 741, 741, 741, 741, 741,
1384 : 741, 741, 741, 743, 743, 743, 743, 743, 743, 743,
1385 : 743, 743, 743, 743, 745, 745, 745, 745, 745, 745,
1386 : 745, 745, 745, 745, 745, 747, 747, 747, 747, 747,
1387 : 747, 747, 747, 747, 747, 747, 749, 749, 749, 749,
1388 : 749, 749, 749, 749, 749, 749, 749, 751, 751, 751,
1389 :
1390 : 751, 751, 751, 751, 751, 751, 751, 751, 753, 753,
1391 : 753, 753, 753, 753, 753, 753, 753, 753, 753, 755,
1392 : 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
1393 : 757, 757, 757, 757, 757, 757, 757, 757, 757, 757,
1394 : 757, 759, 759, 759, 759, 759, 759, 759, 759, 759,
1395 : 759, 759, 761, 761, 761, 761, 761, 761, 761, 761,
1396 : 761, 761, 761, 763, 763, 763, 763, 763, 763, 763,
1397 : 763, 763, 763, 763, 765, 765, 765, 765, 765, 765,
1398 : 765, 765, 765, 765, 765, 767, 767, 767, 767, 767,
1399 : 767, 767, 767, 767, 767, 767, 769, 769, 769, 769,
1400 :
1401 : 769, 769, 769, 769, 769, 769, 769, 771, 771, 771,
1402 : 771, 771, 771, 771, 771, 771, 771, 771, 773, 773,
1403 : 773, 773, 773, 773, 773, 773, 773, 773, 773, 775,
1404 : 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
1405 : 777, 777, 777, 777, 777, 777, 777, 777, 777, 777,
1406 : 777, 779, 779, 779, 779, 779, 779, 779, 779, 779,
1407 : 779, 779, 781, 781, 781, 781, 781, 781, 781, 781,
1408 : 781, 781, 781, 783, 783, 783, 783, 783, 783, 783,
1409 : 783, 783, 783, 783, 785, 785, 785, 785, 785, 785,
1410 : 785, 785, 785, 785, 785, 787, 787, 787, 787, 787,
1411 :
1412 : 787, 787, 787, 787, 787, 787, 789, 789, 789, 789,
1413 : 789, 789, 789, 789, 789, 789, 789, 791, 791, 791,
1414 : 791, 791, 791, 791, 791, 791, 791, 791, 793, 793,
1415 : 793, 793, 793, 793, 793, 793, 793, 793, 793, 795,
1416 : 795, 795, 795, 795, 795, 795, 795, 795, 795, 795,
1417 : 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
1418 : 797, 799, 799, 799, 799, 799, 799, 799, 799, 799,
1419 : 799, 799, 801, 801, 801, 801, 801, 801, 801, 801,
1420 : 801, 801, 801, 803, 803, 803, 803, 803, 803, 803,
1421 : 803, 803, 803, 803, 805, 805, 805, 805, 805, 805,
1422 :
1423 : 805, 805, 805, 805, 805, 807, 807, 807, 807, 807,
1424 : 807, 807, 807, 807, 807, 807, 809, 809, 809, 809,
1425 : 809, 809, 809, 809, 809, 809, 809, 811, 811, 811,
1426 : 811, 811, 811, 811, 811, 811, 811, 811, 813, 813,
1427 : 813, 813, 813, 813, 813, 813, 813, 813, 813, 815,
1428 : 815, 815, 815, 815, 815, 815, 815, 815, 815, 815,
1429 : 817, 817, 817, 817, 817, 817, 817, 817, 817, 817,
1430 : 817, 819, 819, 819, 819, 819, 819, 819, 819, 819,
1431 : 819, 819, 821, 821, 821, 821, 821, 821, 821, 821,
1432 : 821, 821, 821, 823, 823, 823, 823, 823, 823, 823,
1433 :
1434 : 823, 823, 823, 823, 825, 825, 825, 825, 825, 825,
1435 : 825, 825, 825, 825, 825, 827, 827, 827, 827, 827,
1436 : 827, 827, 827, 827, 827, 827, 829, 829, 829, 829,
1437 : 829, 829, 829, 829, 829, 829, 829, 831, 831, 831,
1438 : 831, 831, 831, 831, 831, 831, 831, 831, 833, 833,
1439 : 833, 833, 833, 833, 833, 833, 833, 833, 833, 835,
1440 : 835, 835, 835, 835, 835, 835, 835, 835, 835, 835,
1441 : 837, 837, 837, 837, 837, 837, 837, 837, 837, 837,
1442 : 837, 839, 839, 839, 839, 839, 839, 839, 839, 839,
1443 : 839, 839, 841, 841, 841, 841, 841, 841, 841, 841,
1444 :
1445 : 841, 841, 841, 843, 843, 843, 843, 843, 843, 843,
1446 : 843, 843, 843, 843, 845, 845, 845, 845, 845, 845,
1447 : 845, 845, 845, 845, 845, 847, 847, 847, 847, 847,
1448 : 847, 847, 847, 847, 847, 847, 849, 849, 849, 849,
1449 : 849, 849, 849, 849, 849, 849, 849, 851, 851, 851,
1450 : 851, 851, 851, 851, 851, 851, 851, 851, 853, 853,
1451 : 853, 853, 853, 853, 853, 853, 853, 853, 853, 855,
1452 : 855, 855, 855, 855, 855, 855, 855, 855, 855, 855,
1453 : 857, 857, 857, 857, 857, 857, 857, 857, 857, 857,
1454 : 857, 859, 859, 859, 859, 859, 859, 859, 859, 859,
1455 :
1456 : 859, 859, 861, 861, 861, 861, 861, 861, 861, 861,
1457 : 861, 861, 861, 863, 863, 863, 863, 863, 863, 863,
1458 : 863, 863, 863, 863, 865, 865, 865, 865, 865, 865,
1459 : 865, 865, 865, 865, 865, 867, 867, 867, 867, 867,
1460 : 867, 867, 867, 867, 867, 867, 869, 869, 869, 869,
1461 : 869, 869, 869, 869, 869, 869, 869, 871, 871, 871,
1462 : 871, 871, 871, 871, 871, 871, 871, 871, 873, 873,
1463 : 873, 873, 873, 873, 873, 873, 873, 873, 873, 875,
1464 : 875, 875, 875, 875, 875, 875, 875, 875, 875, 875,
1465 : 877, 877, 877, 877, 877, 877, 877, 877, 877, 877,
1466 :
1467 : 877, 879, 879, 879, 879, 879, 879, 879, 879, 879,
1468 : 879, 879, 881, 881, 881, 881, 881, 881, 881, 881,
1469 : 881, 881, 881, 883, 883, 883, 883, 883, 883, 883,
1470 : 883, 883, 883, 883, 885, 885, 885, 885, 885, 885,
1471 : 885, 885, 885, 885, 885, 887, 887, 887, 887, 887,
1472 : 887, 887, 887, 887, 887, 887, 889, 889, 889, 889,
1473 : 889, 889, 889, 889, 889, 889, 889, 891, 891, 891,
1474 : 891, 891, 891, 891, 891, 891, 891, 891, 893, 893,
1475 : 893, 893, 893, 893, 893, 893, 893, 893, 893, 895,
1476 : 895, 895, 895, 895, 895, 895, 895, 895, 895, 895,
1477 :
1478 : 897, 897, 897, 897, 897, 897, 897, 897, 897, 897,
1479 : 897, 899, 899, 899, 899, 899, 899, 899, 899, 899,
1480 : 899, 899, 901, 901, 901, 901, 901, 901, 901, 901,
1481 : 901, 901, 901, 903, 903, 903, 903, 903, 903, 903,
1482 : 903, 903, 903, 903, 905, 905, 905, 905, 905, 905,
1483 : 905, 905, 905, 905, 905, 907, 907, 907, 907, 907,
1484 : 907, 907, 907, 907, 907, 907, 909, 909, 909, 909,
1485 : 909, 909, 909, 909, 909, 909, 909, 911, 911, 911,
1486 : 911, 911, 911, 911, 911, 911, 911, 911, 913, 913,
1487 : 913, 913, 913, 913, 913, 913, 913, 913, 913, 915,
1488 :
1489 : 915, 915, 915, 915, 915, 915, 915, 915, 915, 915,
1490 : 917, 917, 917, 917, 917, 917, 917, 917, 917, 917,
1491 : 917, 919, 919, 919, 919, 919, 919, 919, 919, 919,
1492 : 919, 919, 921, 921, 921, 921, 921, 921, 921, 921,
1493 : 921, 921, 921, 923, 923, 923, 923, 923, 923, 923,
1494 : 923, 923, 923, 923, 925, 925, 925, 925, 925, 925,
1495 : 925, 925, 925, 925, 925, 927, 927, 927, 927, 927,
1496 : 927, 927, 927, 927, 927, 927, 929, 929, 929, 929,
1497 : 929, 929, 929, 929, 929, 929, 929, 931, 931, 931,
1498 : 931, 931, 931, 931, 931, 931, 931, 931, 933, 933,
1499 :
1500 : 933, 933, 933, 933, 933, 933, 933, 933, 933, 935,
1501 : 935, 935, 935, 935, 935, 935, 935, 935, 935, 935,
1502 : 937, 937, 937, 937, 937, 937, 937, 937, 937, 937,
1503 : 937, 939, 939, 939, 939, 939, 939, 939, 939, 939,
1504 : 939, 939, 941, 941, 941, 941, 941, 941, 941, 941,
1505 : 941, 941, 941, 943, 943, 943, 943, 943, 943, 943,
1506 : 943, 943, 943, 943, 945, 945, 945, 945, 945, 945,
1507 : 945, 945, 945, 945, 945, 947, 947, 947, 947, 947,
1508 : 947, 947, 947, 947, 947, 947, 949, 949, 949, 949,
1509 : 949, 949, 949, 949, 949, 949, 949, 951, 951, 951,
1510 :
1511 : 951, 951, 951, 951, 951, 951, 951, 951, 953, 953,
1512 : 953, 953, 953, 953, 953, 953, 953, 953, 953, 955,
1513 : 955, 955, 955, 955, 955, 955, 955, 955, 955, 955,
1514 : 957, 957, 957, 957, 957, 957, 957, 957, 957, 957,
1515 : 957, 959, 959, 959, 959, 959, 959, 959, 959, 959,
1516 : 959, 959, 961, 961, 961, 961, 961, 961, 961, 961,
1517 : 961, 961, 961, 963, 963, 963, 963, 963, 963, 963,
1518 : 963, 963, 963, 963, 965, 965, 965, 965, 965, 965,
1519 : 965, 965, 965, 965, 965, 967, 967, 967, 967, 967,
1520 : 967, 967, 967, 967, 967, 967, 969, 969, 969, 969,
1521 :
1522 : 969, 969, 969, 969, 969, 969, 969, 971, 971, 971,
1523 : 971, 971, 971, 971, 971, 971, 971, 971, 973, 973,
1524 : 973, 973, 973, 973, 973, 973, 973, 973, 973, 975,
1525 : 975, 975, 975, 975, 975, 975, 975, 975, 975, 975,
1526 : 977, 977, 977, 977, 977, 977, 977, 977, 977, 977,
1527 : 977, 979, 979, 979, 979, 979, 979, 979, 979, 979,
1528 : 979, 979, 981, 981, 981, 981, 981, 981, 981, 981,
1529 : 981, 981, 981, 983, 983, 983, 983, 983, 983, 983,
1530 : 983, 983, 983, 983, 985, 985, 985, 985, 985, 985,
1531 : 985, 985, 985, 985, 985, 987, 987, 987, 987, 987,
1532 :
1533 : 987, 987, 987, 987, 987, 987, 989, 989, 989, 989,
1534 : 989, 989, 989, 989, 989, 989, 989, 991, 991, 991,
1535 : 991, 991, 991, 991, 991, 991, 991, 991, 993, 993,
1536 : 993, 993, 993, 993, 993, 993, 993, 993, 993, 995,
1537 : 995, 995, 995, 995, 995, 995, 995, 995, 995, 995,
1538 : 997, 997, 997, 997, 997, 997, 997, 997, 997, 997,
1539 : 997, 999, 999, 999, 999, 999, 999, 999, 999, 999,
1540 : 999, 999, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001,
1541 : 1001, 1001, 1001, 1003, 1003, 1003, 1003, 1003, 1003, 1003,
1542 : 1003, 1003, 1003, 1003, 1005, 1005, 1005, 1005, 1005, 1005,
1543 :
1544 : 1005, 1005, 1005, 1005, 1005, 1007, 1007, 1007, 1007, 1007,
1545 : 1007, 1007, 1007, 1007, 1007, 1007, 1009, 1009, 1009, 1009,
1546 : 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1011, 1011, 1011,
1547 : 1011, 1011, 1011, 1011, 1011, 1011, 1011, 1011, 1013, 1013,
1548 : 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1015,
1549 : 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015,
1550 : 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017,
1551 : 1017, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019,
1552 : 1019, 1019, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021,
1553 : 1021, 1021, 1021, 1023, 1023, 1023, 1023, 1023, 1023, 1023,
1554 :
1555 : 1023, 1023, 1023, 1023, 1025, 1025, 1025, 1025, 1025, 1025,
1556 : 1025, 1025, 1025, 1025, 1025, 1027, 1027, 1027, 1027, 1027,
1557 : 1027, 1027, 1027, 1027, 1027, 1027, 1029, 1029, 1029, 1029,
1558 : 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1031, 1031, 1031,
1559 : 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1033, 1033,
1560 : 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1035,
1561 : 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035,
1562 : 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037,
1563 : 1037, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
1564 : 1039, 1039, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041,
1565 :
1566 : 1041, 1041, 1041, 1043, 1043, 1043, 1043, 1043, 1043, 1043,
1567 : 1043, 1043, 1043, 1043, 1045, 1045, 1045, 1045, 1045, 1045,
1568 : 1045, 1045, 1045, 1045, 1045, 1047, 1047, 1047, 1047, 1047,
1569 : 1047, 1047, 1047, 1047, 1047, 1047, 1049, 1049, 1049, 1049,
1570 : 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1051, 1051, 1051,
1571 : 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1053, 1053,
1572 : 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1055,
1573 : 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055,
1574 : 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057,
1575 : 1057, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059,
1576 :
1577 : 1059, 1059, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
1578 : 1061, 1061, 1061, 1063, 1063, 1063, 1063, 1063, 1063, 1063,
1579 : 1063, 1063, 1063, 1063, 1065, 1065, 1065, 1065, 1065, 1065,
1580 : 1065, 1065, 1065, 1065, 1065, 1067, 1067, 1067, 1067, 1067,
1581 : 1067, 1067, 1067, 1067, 1067, 1067, 1069, 1069, 1069, 1069,
1582 : 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1071, 1071, 1071,
1583 : 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1073, 1073,
1584 : 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1075,
1585 : 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075,
1586 : 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077,
1587 :
1588 : 1077, 1079, 1079, 1079, 1079, 1079, 1079, 1079, 1079, 1079,
1589 : 1079, 1079, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081,
1590 : 1081, 1081, 1081, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
1591 : 1083, 1083, 1083, 1083, 1085, 1085, 1085, 1085, 1085, 1085,
1592 : 1085, 1085, 1085, 1085, 1085, 1087, 1087, 1087, 1087, 1087,
1593 : 1087, 1087, 1087, 1087, 1087, 1087, 1089, 1089, 1089, 1089,
1594 : 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1091, 1091, 1091,
1595 : 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1093, 1093,
1596 : 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1095,
1597 : 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095,
1598 :
1599 : 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097,
1600 : 1097, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1601 : 1099, 1099, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101,
1602 : 1101, 1101, 1101, 1103, 1103, 1103, 1103, 1103, 1103, 1103,
1603 : 1103, 1103, 1103, 1103, 1105, 1105, 1105, 1105, 1105, 1105,
1604 : 1105, 1105, 1105, 1105, 1105, 1107, 1107, 1107, 1107, 1107,
1605 : 1107, 1107, 1107, 1107, 1107, 1107, 1109, 1109, 1109, 1109,
1606 : 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1111, 1111, 1111,
1607 : 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1113, 1113,
1608 : 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1115,
1609 :
1610 : 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
1611 : 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117,
1612 : 1117, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119,
1613 : 1119, 1119, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
1614 : 1121, 1121, 1121, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
1615 : 1123, 1123, 1123, 1123, 1125, 1125, 1125, 1125, 1125, 1125,
1616 : 1125, 1125, 1125, 1125, 1125, 1127, 1127, 1127, 1127, 1127,
1617 : 1127, 1127, 1127, 1127, 1127, 1127, 1129, 1129, 1129, 1129,
1618 : 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1131, 1131, 1131,
1619 : 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1133, 1133,
1620 :
1621 : 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1135,
1622 : 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135,
1623 : 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137,
1624 : 1137, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139,
1625 : 1139, 1139, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141,
1626 : 1141, 1141, 1141, 1143, 1143, 1143, 1143, 1143, 1143, 1143,
1627 : 1143, 1143, 1143, 1143, 1145, 1145, 1145, 1145, 1145, 1145,
1628 : 1145, 1145, 1145, 1145, 1145, 1147, 1147, 1147, 1147, 1147,
1629 : 1147, 1147, 1147, 1147, 1147, 1147, 1149, 1149, 1149, 1149,
1630 : 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1151, 1151, 1151,
1631 :
1632 : 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1153, 1153,
1633 : 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1155,
1634 : 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155,
1635 : 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
1636 : 1157, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159,
1637 : 1159, 1159, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161,
1638 : 1161, 1161, 1161, 1163, 1163, 1163, 1163, 1163, 1163, 1163,
1639 : 1163, 1163, 1163, 1163, 1165, 1165, 1165, 1165, 1165, 1165,
1640 : 1165, 1165, 1165, 1165, 1165, 1167, 1167, 1167, 1167, 1167,
1641 : 1167, 1167, 1167, 1167, 1167, 1167, 1169, 1169, 1169, 1169,
1642 :
1643 : 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1171, 1171, 1171,
1644 : 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1173, 1173,
1645 : 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1175,
1646 : 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175,
1647 : 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
1648 : 1177, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179,
1649 : 1179, 1179, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
1650 : 1181, 1181, 1181, 1183, 1183, 1183, 1183, 1183, 1183, 1183,
1651 : 1183, 1183, 1183, 1183, 1185, 1185, 1185, 1185, 1185, 1185,
1652 : 1185, 1185, 1185, 1185, 1185, 1187, 1187, 1187, 1187, 1187,
1653 :
1654 : 1187, 1187, 1187, 1187, 1187, 1187, 1189, 1189, 1189, 1189,
1655 : 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1191, 1191, 1191,
1656 : 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1193, 1193,
1657 : 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1195,
1658 : 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
1659 : 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197,
1660 : 1197, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199,
1661 : 1199, 1199, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201,
1662 : 1201, 1201, 1201, 1203, 1203, 1203, 1203, 1203, 1203, 1203,
1663 : 1203, 1203, 1203, 1203, 1205, 1205, 1205, 1205, 1205, 1205,
1664 :
1665 : 1205, 1205, 1205, 1205, 1205, 1207, 1207, 1207, 1207, 1207,
1666 : 1207, 1207, 1207, 1207, 1207, 1207, 1209, 1209, 1209, 1209,
1667 : 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1211, 1211, 1211,
1668 : 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1213, 1213,
1669 : 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1215,
1670 : 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215,
1671 : 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
1672 : 1217, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219,
1673 : 1219, 1219, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221,
1674 : 1221, 1221, 1221, 1223, 1223, 1223, 1223, 1223, 1223, 1223,
1675 :
1676 : 1223, 1223, 1223, 1223, 1225, 1225, 1225, 1225, 1225, 1225,
1677 : 1225, 1225, 1225, 1225, 1225, 1227, 1227, 1227, 1227, 1227,
1678 : 1227, 1227, 1227, 1227, 1227, 1227, 1229, 1229, 1229, 1229,
1679 : 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1231, 1231, 1231,
1680 : 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1233, 1233,
1681 : 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1235,
1682 : 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235,
1683 : 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237,
1684 : 1237, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239,
1685 : 1239, 1239, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
1686 :
1687 : 1241, 1241, 1241, 1243, 1243, 1243, 1243, 1243, 1243, 1243,
1688 : 1243, 1243, 1243, 1243, 1245, 1245, 1245, 1245, 1245, 1245,
1689 : 1245, 1245, 1245, 1245, 1245, 1247, 1247, 1247, 1247, 1247,
1690 : 1247, 1247, 1247, 1247, 1247, 1247, 1249, 1249, 1249, 1249,
1691 : 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1251, 1251, 1251,
1692 : 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1253, 1253,
1693 : 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1255,
1694 : 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255,
1695 : 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257,
1696 : 1257, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259,
1697 :
1698 : 1259, 1259, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261,
1699 : 1261, 1261, 1261, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1700 : 1263, 1263, 1263, 1263, 1265, 1265, 1265, 1265, 1265, 1265,
1701 : 1265, 1265, 1265, 1265, 1265, 1267, 1267, 1267, 1267, 1267,
1702 : 1267, 1267, 1267, 1267, 1267, 1267, 1269, 1269, 1269, 1269,
1703 : 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1271, 1271, 1271,
1704 : 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1273, 1273,
1705 : 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1275,
1706 : 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275,
1707 : 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1708 :
1709 : 1277, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279,
1710 : 1279, 1279, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
1711 : 1281, 1281, 1281, 1283, 1283, 1283, 1283, 1283, 1283, 1283,
1712 : 1283, 1283, 1283, 1283, 1285, 1285, 1285, 1285, 1285, 1285,
1713 : 1285, 1285, 1285, 1285, 1285, 1287, 1287, 1287, 1287, 1287,
1714 : 1287, 1287, 1287, 1287, 1287, 1287, 1289, 1289, 1289, 1289,
1715 : 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1291, 1291, 1291,
1716 : 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1293, 1293,
1717 : 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1295,
1718 : 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295,
1719 :
1720 : 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297,
1721 : 1297, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
1722 : 1299, 1299, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301,
1723 : 1301, 1301, 1301, 1303, 1303, 1303, 1303, 1303, 1303, 1303,
1724 : 1303, 1303, 1303, 1303, 1305, 1305, 1305, 1305, 1305, 1305,
1725 : 1305, 1305, 1305, 1305, 1305, 1307, 1307, 1307, 1307, 1307,
1726 : 1307, 1307, 1307, 1307, 1307, 1307, 1309, 1309, 1309, 1309,
1727 : 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1311, 1311, 1311,
1728 : 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1313, 1313,
1729 : 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1315,
1730 :
1731 : 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315,
1732 : 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317,
1733 : 1317, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319,
1734 : 1319, 1319, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321,
1735 : 1321, 1321, 1321, 1323, 1323, 1323, 1323, 1323, 1323, 1323,
1736 : 1323, 1323, 1323, 1323, 1325, 1325, 1325, 1325, 1325, 1325,
1737 : 1325, 1325, 1325, 1325, 1325, 1327, 1327, 1327, 1327, 1327,
1738 : 1327, 1327, 1327, 1327, 1327, 1327, 1329, 1329, 1329, 1329,
1739 : 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1331, 1331, 1331,
1740 : 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1333, 1333,
1741 :
1742 : 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1335,
1743 : 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335,
1744 : 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337,
1745 : 1337, 1339, 1339, 1339, 1339, 1339, 1339, 1339, 1339, 1339,
1746 : 1339, 1339, 1341, 1341, 1341, 1341, 1341, 1341, 1341, 1341,
1747 : 1341, 1341, 1341, 1343, 1343, 1343, 1343, 1343, 1343, 1343,
1748 : 1343, 1343, 1343, 1343, 1345, 1345, 1345, 1345, 1345, 1345,
1749 : 1345, 1345, 1345, 1345, 1345, 1347, 1347, 1347, 1347, 1347,
1750 : 1347, 1347, 1347, 1347, 1347, 1347, 1349, 1349, 1349, 1349,
1751 : 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1351, 1351, 1351,
1752 :
1753 : 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1353, 1353,
1754 : 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1355,
1755 : 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355,
1756 : 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
1757 : 1357, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
1758 : 1359, 1359, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361,
1759 : 1361, 1361, 1361, 1363, 1363, 1363, 1363, 1363, 1363, 1363,
1760 : 1363, 1363, 1363, 1363, 1365, 1365, 1365, 1365, 1365, 1365,
1761 : 1365, 1365, 1365, 1365, 1365, 1367, 1367, 1367, 1367, 1367,
1762 : 1367, 1367, 1367, 1367, 1367, 1367, 1369, 1369, 1369, 1369,
1763 :
1764 : 1369, 1369, 1369, 1369, 1369, 1369, 1369, 1371, 1371, 1371,
1765 : 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1373, 1373,
1766 : 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1375,
1767 : 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375,
1768 : 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377,
1769 : 1377, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379,
1770 : 1379, 1379, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381,
1771 : 1381, 1381, 1381, 1383, 1383, 1383, 1383, 1383, 1383, 1383,
1772 : 1383, 1383, 1383, 1383, 1385, 1385, 1385, 1385, 1385, 1385,
1773 : 1385, 1385, 1385, 1385, 1385, 1387, 1387, 1387, 1387, 1387,
1774 :
1775 : 1387, 1387, 1387, 1387, 1387, 1387, 1389, 1389, 1389, 1389,
1776 : 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1391, 1391, 1391,
1777 : 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1393, 1393,
1778 : 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1395,
1779 : 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395,
1780 : 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397,
1781 : 1397, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399,
1782 : 1399, 1399, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401,
1783 : 1401, 1401, 1401, 1403, 1403, 1403, 1403, 1403, 1403, 1403,
1784 : 1403, 1403, 1403, 1403, 1405, 1405, 1405, 1405, 1405, 1405,
1785 :
1786 : 1405, 1405, 1405, 1405, 1405, 1407, 1407, 1407, 1407, 1407,
1787 : 1407, 1407, 1407, 1407, 1407, 1407, 1409, 1409, 1409, 1409,
1788 : 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1411, 1411, 1411,
1789 : 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1413, 1413,
1790 : 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1415,
1791 : 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415,
1792 : 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417,
1793 : 1417, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419,
1794 : 1419, 1419, 503, 502, 501, 500, 499, 498, 497, 496,
1795 : 495, 494, 493, 492, 491, 490, 489, 488, 487, 486,
1796 :
1797 : 485, 484, 483, 482, 481, 416, 480, 479, 478, 475,
1798 : 474, 412, 473, 469, 468, 467, 464, 462, 461, 460,
1799 : 459, 458, 457, 456, 455, 454, 453, 452, 451, 450,
1800 : 449, 448, 447, 446, 445, 444, 443, 442, 441, 440,
1801 : 439, 438, 437, 436, 435, 434, 433, 432, 431, 430,
1802 : 429, 428, 427, 426, 425, 424, 423, 422, 421, 420,
1803 : 419, 346, 415, 414, 413, 412, 411, 407, 406, 405,
1804 : 404, 403, 402, 401, 400, 396, 395, 394, 393, 392,
1805 : 391, 390, 389, 388, 385, 384, 383, 382, 381, 380,
1806 : 379, 378, 377, 376, 375, 374, 373, 367, 366, 365,
1807 :
1808 : 364, 363, 360, 359, 358, 357, 356, 271, 355, 354,
1809 : 353, 352, 351, 348, 275, 346, 345, 343, 342, 341,
1810 : 340, 339, 338, 337, 336, 335, 334, 253, 333, 332,
1811 : 331, 233, 229, 1421, 226, 223, 326, 325, 324, 323,
1812 : 322, 321, 320, 319, 318, 315, 312, 311, 310, 306,
1813 : 305, 304, 303, 302, 299, 298, 297, 296, 295, 294,
1814 : 291, 286, 285, 284, 283, 282, 274, 273, 270, 265,
1815 : 264, 263, 262, 261, 260, 259, 258, 255, 1421, 251,
1816 : 250, 248, 110, 247, 245, 245, 244, 241, 240, 229,
1817 : 226, 224, 223, 214, 208, 207, 206, 199, 196, 195,
1818 :
1819 : 194, 189, 165, 163, 162, 153, 138, 116, 110, 1421,
1820 : 102, 102, 101, 101, 25, 25, 23, 1421, 1421, 1421,
1821 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1822 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1823 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1824 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1825 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
1826 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421
1827 : } ;
1828 :
1829 : static yyconst short int yy_chk[7680] =
1830 : { 0,
1831 : 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1832 : 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1833 : 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1834 : 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1835 : 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1836 : 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1837 : 3, 3, 5, 5, 5, 5, 5, 5, 5, 5,
1838 : 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1839 : 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1840 : 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1841 :
1842 : 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1843 : 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1844 : 5, 5, 5, 5, 7, 8, 9, 10, 11, 25,
1845 : 27, 27, 27, 11, 21, 21, 29, 32, 32, 67,
1846 : 21, 22, 22, 7, 8, 34, 33, 22, 25, 67,
1847 : 9, 10, 11, 9, 10, 11, 12, 38, 21, 21,
1848 : 29, 12, 33, 937, 34, 22, 22, 39, 38, 40,
1849 : 40, 40, 25, 46, 46, 40, 39, 39, 47, 47,
1850 : 12, 939, 12, 12, 12, 12, 12, 12, 12, 12,
1851 : 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
1852 :
1853 : 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
1854 : 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1855 : 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1856 : 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1857 : 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1858 : 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1859 : 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1860 : 13, 13, 15, 15, 15, 15, 15, 15, 15, 15,
1861 : 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1862 : 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1863 :
1864 : 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1865 : 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1866 : 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1867 : 15, 15, 15, 15, 35, 41, 941, 52, 45, 42,
1868 : 41, 42, 42, 42, 45, 45, 45, 41, 43, 52,
1869 : 43, 43, 43, 52, 52, 64, 53, 73, 64, 42,
1870 : 55, 53, 54, 943, 55, 945, 35, 35, 43, 35,
1871 : 55, 35, 68, 54, 35, 53, 54, 68, 42, 56,
1872 : 35, 57, 66, 35, 35, 66, 35, 57, 56, 56,
1873 : 56, 119, 73, 57, 177, 60, 119, 177, 56, 313,
1874 :
1875 : 56, 53, 60, 60, 80, 80, 80, 313, 60, 77,
1876 : 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
1877 : 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
1878 : 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
1879 : 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
1880 : 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
1881 : 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
1882 : 77, 79, 79, 79, 82, 88, 92, 90, 90, 93,
1883 : 110, 92, 94, 94, 93, 117, 95, 95, 82, 82,
1884 : 90, 103, 103, 125, 88, 113, 110, 103, 947, 110,
1885 :
1886 : 115, 115, 115, 92, 122, 122, 93, 95, 79, 117,
1887 : 155, 155, 125, 175, 90, 103, 103, 90, 113, 94,
1888 : 130, 170, 94, 110, 278, 82, 130, 175, 82, 144,
1889 : 144, 144, 149, 149, 149, 150, 278, 150, 150, 150,
1890 : 162, 162, 152, 152, 152, 170, 151, 144, 151, 171,
1891 : 149, 151, 151, 151, 949, 150, 152, 152, 152, 152,
1892 : 152, 152, 165, 174, 174, 165, 185, 165, 171, 192,
1893 : 197, 165, 165, 219, 219, 199, 197, 185, 199, 215,
1894 : 215, 215, 216, 216, 216, 192, 192, 231, 220, 220,
1895 : 220, 951, 231, 953, 235, 235, 216, 216, 216, 216,
1896 :
1897 : 216, 216, 220, 220, 220, 220, 220, 220, 232, 236,
1898 : 236, 247, 408, 232, 231, 235, 242, 242, 265, 265,
1899 : 265, 955, 242, 408, 266, 266, 266, 247, 291, 291,
1900 : 247, 267, 267, 267, 957, 232, 268, 268, 268, 959,
1901 : 242, 242, 266, 269, 269, 269, 328, 328, 298, 961,
1902 : 298, 347, 347, 298, 247, 418, 418, 269, 269, 269,
1903 : 269, 269, 269, 298, 327, 327, 327, 298, 963, 965,
1904 : 329, 329, 329, 967, 331, 344, 344, 344, 327, 327,
1905 : 327, 327, 327, 327, 329, 329, 329, 329, 329, 329,
1906 : 331, 339, 400, 331, 401, 401, 401, 464, 405, 412,
1907 :
1908 : 969, 468, 339, 470, 476, 512, 971, 479, 400, 405,
1909 : 412, 400, 468, 464, 470, 476, 464, 331, 479, 973,
1910 : 514, 512, 516, 549, 512, 519, 520, 339, 513, 513,
1911 : 513, 514, 521, 516, 405, 400, 519, 520, 551, 549,
1912 : 464, 553, 549, 521, 550, 550, 550, 554, 512, 551,
1913 : 555, 557, 553, 559, 559, 559, 580, 597, 554, 975,
1914 : 977, 555, 557, 582, 582, 582, 549, 609, 636, 636,
1915 : 636, 979, 580, 597, 616, 580, 597, 981, 559, 623,
1916 : 983, 985, 987, 609, 989, 627, 609, 550, 582, 631,
1917 : 616, 991, 636, 616, 993, 623, 635, 638, 623, 580,
1918 :
1919 : 597, 627, 995, 997, 627, 631, 999, 1001, 631, 1003,
1920 : 609, 1005, 635, 638, 642, 635, 638, 616, 639, 639,
1921 : 639, 1007, 623, 1009, 1011, 640, 640, 640, 627, 640,
1922 : 642, 1013, 631, 642, 640, 648, 1015, 653, 1017, 635,
1923 : 638, 1019, 639, 643, 643, 643, 658, 643, 656, 656,
1924 : 656, 648, 643, 653, 648, 664, 653, 642, 661, 661,
1925 : 661, 1021, 658, 666, 1023, 658, 1025, 1027, 668, 670,
1926 : 1029, 664, 640, 656, 664, 672, 674, 676, 648, 666,
1927 : 653, 678, 666, 661, 668, 670, 680, 668, 670, 658,
1928 : 643, 672, 674, 676, 672, 674, 676, 678, 664, 1031,
1929 :
1930 : 678, 1033, 680, 1035, 1037, 680, 666, 682, 1039, 684,
1931 : 1041, 668, 670, 1043, 686, 688, 690, 1045, 672, 674,
1932 : 676, 692, 694, 682, 678, 684, 682, 696, 684, 680,
1933 : 686, 688, 690, 686, 688, 690, 1047, 692, 694, 1049,
1934 : 692, 694, 1051, 696, 698, 1053, 696, 1055, 1057, 1059,
1935 : 682, 1061, 684, 700, 1063, 702, 1065, 686, 688, 690,
1936 : 698, 704, 706, 698, 692, 694, 708, 710, 1067, 700,
1937 : 696, 702, 700, 712, 702, 714, 1069, 704, 706, 1071,
1938 : 704, 706, 708, 710, 716, 708, 710, 698, 1073, 712,
1939 : 1075, 714, 712, 1077, 714, 718, 700, 1079, 702, 1081,
1940 :
1941 : 716, 720, 1083, 716, 704, 706, 722, 724, 1085, 708,
1942 : 710, 718, 726, 728, 718, 1087, 712, 720, 714, 1089,
1943 : 720, 730, 722, 724, 1091, 722, 724, 716, 726, 728,
1944 : 1093, 726, 728, 1095, 1097, 732, 1099, 730, 718, 1101,
1945 : 730, 734, 736, 738, 720, 1103, 1105, 740, 1107, 722,
1946 : 724, 732, 742, 744, 732, 726, 728, 734, 736, 738,
1947 : 734, 736, 738, 740, 730, 1109, 740, 1111, 742, 744,
1948 : 1113, 742, 744, 746, 1115, 748, 1117, 1119, 732, 1121,
1949 : 1123, 750, 752, 754, 734, 736, 738, 756, 758, 746,
1950 : 740, 748, 746, 760, 748, 742, 744, 750, 752, 754,
1951 :
1952 : 750, 752, 754, 756, 758, 1125, 756, 758, 1127, 760,
1953 : 1129, 1131, 760, 762, 1133, 1135, 746, 1137, 748, 764,
1954 : 1139, 766, 1141, 768, 750, 752, 754, 770, 772, 762,
1955 : 756, 758, 762, 774, 776, 764, 760, 766, 764, 768,
1956 : 766, 778, 768, 770, 772, 1143, 770, 772, 1145, 774,
1957 : 776, 1147, 774, 776, 1149, 1151, 762, 778, 1153, 780,
1958 : 778, 1155, 764, 782, 766, 1157, 768, 784, 1159, 786,
1959 : 770, 772, 1161, 788, 790, 780, 774, 776, 780, 782,
1960 : 792, 794, 782, 784, 778, 786, 784, 1163, 786, 788,
1961 : 790, 1165, 788, 790, 1167, 796, 792, 794, 1169, 792,
1962 :
1963 : 794, 1171, 780, 798, 1173, 1175, 782, 1177, 1179, 800,
1964 : 784, 796, 786, 802, 796, 804, 788, 790, 1181, 798,
1965 : 806, 808, 798, 792, 794, 800, 810, 1183, 800, 802,
1966 : 1185, 804, 802, 1187, 804, 812, 806, 808, 796, 806,
1967 : 808, 814, 810, 816, 1189, 810, 798, 1191, 1193, 818,
1968 : 1195, 812, 800, 1197, 812, 820, 802, 814, 804, 816,
1969 : 814, 822, 816, 806, 808, 818, 824, 1199, 818, 810,
1970 : 1201, 820, 826, 1203, 820, 1205, 1207, 822, 812, 1209,
1971 : 822, 828, 824, 830, 814, 824, 816, 832, 826, 834,
1972 : 1211, 826, 818, 1213, 836, 838, 1215, 828, 820, 830,
1973 :
1974 : 828, 840, 830, 832, 822, 834, 832, 1217, 834, 824,
1975 : 836, 838, 842, 836, 838, 826, 1219, 840, 1221, 1223,
1976 : 840, 1225, 1227, 844, 828, 1229, 830, 846, 842, 848,
1977 : 832, 842, 834, 850, 852, 854, 1231, 836, 838, 844,
1978 : 856, 858, 844, 846, 840, 848, 846, 1233, 848, 850,
1979 : 852, 854, 850, 852, 854, 842, 856, 858, 1235, 856,
1980 : 858, 1237, 1239, 860, 1241, 1243, 844, 1245, 1247, 862,
1981 : 846, 864, 848, 866, 1249, 868, 850, 852, 854, 860,
1982 : 870, 872, 860, 856, 858, 862, 874, 864, 862, 866,
1983 : 864, 868, 866, 1251, 868, 1253, 870, 872, 1255, 870,
1984 :
1985 : 872, 876, 874, 878, 1257, 874, 860, 1259, 1261, 880,
1986 : 1263, 882, 862, 1265, 864, 884, 866, 876, 868, 878,
1987 : 876, 886, 878, 870, 872, 880, 888, 882, 880, 874,
1988 : 882, 884, 890, 1267, 884, 1269, 1271, 886, 1273, 1275,
1989 : 886, 892, 888, 894, 876, 888, 878, 896, 890, 898,
1990 : 1277, 890, 880, 1279, 882, 900, 1281, 892, 884, 894,
1991 : 892, 902, 894, 896, 886, 898, 896, 1283, 898, 888,
1992 : 1285, 900, 904, 1287, 900, 890, 1289, 902, 906, 1291,
1993 : 902, 1293, 1295, 908, 892, 1297, 894, 910, 904, 912,
1994 : 896, 904, 898, 914, 906, 916, 1299, 906, 900, 908,
1995 :
1996 : 918, 920, 908, 910, 902, 912, 910, 1301, 912, 914,
1997 : 1303, 916, 914, 1305, 916, 904, 918, 920, 922, 918,
1998 : 920, 906, 1307, 924, 1309, 1311, 908, 1313, 1315, 926,
1999 : 910, 928, 912, 930, 922, 932, 914, 922, 916, 924,
2000 : 934, 936, 924, 918, 920, 926, 938, 928, 926, 930,
2001 : 928, 932, 930, 1317, 932, 1319, 934, 936, 1321, 934,
2002 : 936, 922, 938, 940, 1323, 938, 924, 1325, 1327, 942,
2003 : 1329, 944, 926, 1331, 928, 946, 930, 948, 932, 940,
2004 : 1333, 950, 940, 934, 936, 942, 952, 944, 942, 938,
2005 : 944, 946, 954, 948, 946, 1335, 948, 950, 1337, 1339,
2006 :
2007 : 950, 1341, 952, 956, 1343, 952, 940, 958, 954, 960,
2008 : 1345, 954, 942, 1347, 944, 962, 1349, 964, 946, 956,
2009 : 948, 966, 956, 958, 950, 960, 958, 1351, 960, 952,
2010 : 1353, 962, 968, 964, 962, 954, 964, 966, 970, 1355,
2011 : 966, 1357, 1359, 972, 1361, 1363, 956, 974, 968, 976,
2012 : 958, 968, 960, 978, 970, 980, 1365, 970, 962, 972,
2013 : 964, 982, 972, 974, 966, 976, 974, 1367, 976, 978,
2014 : 1369, 980, 978, 1371, 980, 968, 1373, 982, 984, 1375,
2015 : 982, 970, 1377, 986, 988, 1379, 972, 1381, 1383, 990,
2016 : 974, 992, 976, 994, 984, 996, 978, 984, 980, 986,
2017 :
2018 : 988, 998, 986, 988, 982, 990, 1000, 992, 990, 994,
2019 : 992, 996, 994, 1385, 996, 1387, 1389, 998, 1391, 1393,
2020 : 998, 984, 1000, 1002, 1004, 1000, 986, 988, 1395, 1006,
2021 : 1397, 1008, 990, 1399, 992, 1010, 994, 1012, 996, 1002,
2022 : 1004, 1014, 1002, 1004, 998, 1006, 1016, 1008, 1006, 1000,
2023 : 1008, 1010, 1018, 1012, 1010, 1401, 1012, 1014, 1403, 1405,
2024 : 1014, 1407, 1016, 1020, 1409, 1016, 1002, 1004, 1018, 1022,
2025 : 1411, 1018, 1006, 1413, 1008, 1024, 1415, 1026, 1010, 1020,
2026 : 1012, 1028, 1020, 1030, 1014, 1022, 1417, 1429, 1022, 1016,
2027 : 935, 1024, 1032, 1026, 1024, 1018, 1026, 1028, 1034, 1030,
2028 :
2029 : 1028, 933, 1030, 1036, 931, 929, 1020, 927, 1032, 1038,
2030 : 925, 1032, 1022, 1040, 1034, 1042, 923, 1034, 1024, 1036,
2031 : 1026, 1044, 1036, 1046, 1028, 1038, 1030, 921, 1038, 1040,
2032 : 919, 1042, 1040, 917, 1042, 1032, 915, 1044, 1048, 1046,
2033 : 1044, 1034, 1046, 1050, 1052, 913, 1036, 911, 909, 1054,
2034 : 907, 1056, 1038, 1058, 1048, 1060, 1040, 1048, 1042, 1050,
2035 : 1052, 1062, 1050, 1052, 1044, 1054, 1046, 1056, 1054, 1058,
2036 : 1056, 1060, 1058, 905, 1060, 903, 901, 1062, 899, 897,
2037 : 1062, 1048, 895, 1064, 1066, 893, 1050, 1052, 891, 1068,
2038 : 1070, 1072, 1054, 889, 1056, 1074, 1058, 1076, 1060, 1064,
2039 :
2040 : 1066, 1078, 1064, 1066, 1062, 1068, 1070, 1072, 1068, 1070,
2041 : 1072, 1074, 1080, 1076, 1074, 887, 1076, 1078, 885, 883,
2042 : 1078, 881, 879, 1082, 877, 875, 1064, 1066, 1080, 1084,
2043 : 1086, 1080, 1068, 1070, 1072, 1088, 873, 1090, 1074, 1082,
2044 : 1076, 1092, 1082, 1094, 1078, 1084, 1086, 871, 1084, 1086,
2045 : 869, 1088, 1096, 1090, 1088, 1080, 1090, 1092, 1098, 1094,
2046 : 1092, 867, 1094, 1100, 865, 863, 1082, 861, 1096, 1102,
2047 : 859, 1096, 1084, 1086, 1098, 1104, 857, 1098, 1088, 1100,
2048 : 1090, 1106, 1100, 1108, 1092, 1102, 1094, 855, 1102, 1110,
2049 : 853, 1104, 851, 849, 1104, 1096, 847, 1106, 1112, 1108,
2050 :
2051 : 1106, 1098, 1108, 1114, 1116, 1110, 1100, 845, 1110, 1118,
2052 : 843, 1120, 1102, 841, 1112, 1122, 839, 1112, 1104, 1114,
2053 : 1116, 1124, 1114, 1116, 1106, 1118, 1108, 1120, 1118, 1126,
2054 : 1120, 1122, 1110, 837, 1122, 835, 833, 1124, 831, 829,
2055 : 1124, 1112, 827, 1128, 1130, 1126, 1114, 1116, 1126, 1132,
2056 : 1134, 1136, 1118, 825, 1120, 1138, 823, 1140, 1122, 1128,
2057 : 1130, 1142, 1128, 1130, 1124, 1132, 1134, 1136, 1132, 1134,
2058 : 1136, 1138, 1126, 1140, 1138, 821, 1140, 1142, 819, 817,
2059 : 1142, 815, 813, 1144, 811, 809, 1128, 1130, 807, 1146,
2060 : 1148, 1150, 1132, 1134, 1136, 1152, 1154, 1156, 1138, 1144,
2061 :
2062 : 1140, 1158, 1144, 1160, 1142, 1146, 1148, 1150, 1146, 1148,
2063 : 1150, 1152, 1154, 1156, 1152, 1154, 1156, 1158, 805, 1160,
2064 : 1158, 803, 1160, 801, 799, 797, 1144, 795, 793, 1162,
2065 : 791, 1164, 1146, 1148, 1150, 1166, 1168, 1170, 1152, 1154,
2066 : 1156, 1172, 1174, 1176, 1158, 1162, 1160, 1164, 1162, 1178,
2067 : 1164, 1166, 1168, 1170, 1166, 1168, 1170, 1172, 1174, 1176,
2068 : 1172, 1174, 1176, 789, 787, 1178, 785, 783, 1178, 781,
2069 : 779, 1180, 1162, 777, 1164, 1182, 775, 1184, 1166, 1168,
2070 : 1170, 1186, 1188, 1190, 1172, 1174, 1176, 1180, 1192, 1194,
2071 : 1180, 1182, 1178, 1184, 1182, 773, 1184, 1186, 1188, 1190,
2072 :
2073 : 1186, 1188, 1190, 1196, 1192, 1194, 771, 1192, 1194, 769,
2074 : 767, 1198, 765, 763, 1180, 761, 759, 1200, 1182, 1196,
2075 : 1184, 1202, 1196, 1204, 1186, 1188, 1190, 1198, 1206, 1208,
2076 : 1198, 1192, 1194, 1200, 1210, 757, 1200, 1202, 755, 1204,
2077 : 1202, 753, 1204, 1212, 1206, 1208, 1196, 1206, 1208, 1214,
2078 : 1210, 1216, 751, 1210, 1198, 749, 747, 1218, 745, 1212,
2079 : 1200, 743, 1212, 1220, 1202, 1214, 1204, 1216, 1214, 1222,
2080 : 1216, 1206, 1208, 1218, 1224, 741, 1218, 1210, 739, 1220,
2081 : 1226, 737, 1220, 735, 733, 1222, 1212, 731, 1222, 1228,
2082 : 1224, 1230, 1214, 1224, 1216, 1232, 1226, 1234, 729, 1226,
2083 :
2084 : 1218, 727, 1236, 1238, 725, 1228, 1220, 1230, 1228, 1240,
2085 : 1230, 1232, 1222, 1234, 1232, 723, 1234, 1224, 1236, 1238,
2086 : 1242, 1236, 1238, 1226, 721, 1240, 719, 717, 1240, 715,
2087 : 713, 1244, 1228, 711, 1230, 1246, 1242, 1248, 1232, 1242,
2088 : 1234, 1250, 1252, 1254, 709, 1236, 1238, 1244, 1256, 1258,
2089 : 1244, 1246, 1240, 1248, 1246, 707, 1248, 1250, 1252, 1254,
2090 : 1250, 1252, 1254, 1242, 1256, 1258, 705, 1256, 1258, 703,
2091 : 701, 1260, 699, 697, 1244, 695, 693, 1262, 1246, 1264,
2092 : 1248, 1266, 691, 1268, 1250, 1252, 1254, 1260, 1270, 1272,
2093 : 1260, 1256, 1258, 1262, 1274, 1264, 1262, 1266, 1264, 1268,
2094 :
2095 : 1266, 689, 1268, 687, 1270, 1272, 685, 1270, 1272, 1276,
2096 : 1274, 1278, 683, 1274, 1260, 681, 679, 1280, 677, 1282,
2097 : 1262, 675, 1264, 1284, 1266, 1276, 1268, 1278, 1276, 1286,
2098 : 1278, 1270, 1272, 1280, 1288, 1282, 1280, 1274, 1282, 1284,
2099 : 1290, 673, 1284, 671, 669, 1286, 667, 665, 1286, 1292,
2100 : 1288, 1294, 1276, 1288, 1278, 1296, 1290, 1298, 663, 1290,
2101 : 1280, 660, 1282, 1300, 659, 1292, 1284, 1294, 1292, 1302,
2102 : 1294, 1296, 1286, 1298, 1296, 657, 1298, 1288, 655, 1300,
2103 : 1304, 654, 1300, 1290, 652, 1302, 1306, 651, 1302, 650,
2104 : 649, 1308, 1292, 647, 1294, 1310, 1304, 1312, 1296, 1304,
2105 :
2106 : 1298, 1314, 1306, 1316, 646, 1306, 1300, 1308, 1318, 1320,
2107 : 1308, 1310, 1302, 1312, 1310, 645, 1312, 1314, 644, 1316,
2108 : 1314, 641, 1316, 1304, 1318, 1320, 1322, 1318, 1320, 1306,
2109 : 637, 1324, 634, 632, 1308, 630, 629, 1326, 1310, 1328,
2110 : 1312, 1330, 1322, 1332, 1314, 1322, 1316, 1324, 1334, 1336,
2111 : 1324, 1318, 1320, 1326, 1338, 1328, 1326, 1330, 1328, 1332,
2112 : 1330, 628, 1332, 626, 1334, 1336, 625, 1334, 1336, 1322,
2113 : 1338, 1340, 624, 1338, 1324, 622, 619, 1342, 617, 1344,
2114 : 1326, 615, 1328, 1346, 1330, 1348, 1332, 1340, 614, 1350,
2115 : 1340, 1334, 1336, 1342, 1352, 1344, 1342, 1338, 1344, 1346,
2116 :
2117 : 1354, 1348, 1346, 613, 1348, 1350, 612, 611, 1350, 610,
2118 : 1352, 1356, 608, 1352, 1340, 1358, 1354, 1360, 607, 1354,
2119 : 1342, 605, 1344, 1362, 600, 1364, 1346, 1356, 1348, 1366,
2120 : 1356, 1358, 1350, 1360, 1358, 599, 1360, 1352, 598, 1362,
2121 : 1368, 1364, 1362, 1354, 1364, 1366, 1370, 596, 1366, 595,
2122 : 592, 1372, 591, 590, 1356, 1374, 1368, 1376, 1358, 1368,
2123 : 1360, 1378, 1370, 1380, 588, 1370, 1362, 1372, 1364, 1382,
2124 : 1372, 1374, 1366, 1376, 1374, 587, 1376, 1378, 586, 1380,
2125 : 1378, 585, 1380, 1368, 584, 1382, 1384, 581, 1382, 1370,
2126 : 579, 1386, 1388, 578, 1372, 577, 576, 1390, 1374, 1392,
2127 :
2128 : 1376, 1394, 1384, 1396, 1378, 1384, 1380, 1386, 1388, 1398,
2129 : 1386, 1388, 1382, 1390, 1400, 1392, 1390, 1394, 1392, 1396,
2130 : 1394, 575, 1396, 574, 573, 1398, 570, 569, 1398, 1384,
2131 : 1400, 1402, 1404, 1400, 1386, 1388, 568, 1406, 565, 1408,
2132 : 1390, 563, 1392, 1410, 1394, 1412, 1396, 1402, 1404, 1414,
2133 : 1402, 1404, 1398, 1406, 1416, 1408, 1406, 1400, 1408, 1410,
2134 : 1418, 1412, 1410, 562, 1412, 1414, 560, 548, 1414, 547,
2135 : 1416, 1420, 546, 1416, 1402, 1404, 1418, 544, 543, 1418,
2136 : 1406, 542, 1408, 541, 540, 537, 1410, 1420, 1412, 536,
2137 : 1420, 535, 1414, 534, 531, 530, 529, 1416, 528, 527,
2138 :
2139 : 526, 525, 524, 1418, 523, 518, 517, 511, 507, 505,
2140 : 504, 503, 502, 501, 1420, 1422, 1422, 1422, 1422, 1422,
2141 : 1422, 1422, 1422, 1422, 1422, 1422, 1423, 1423, 1423, 1423,
2142 : 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1424, 1424, 1424,
2143 : 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1425, 1425,
2144 : 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1426,
2145 : 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426,
2146 : 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 500,
2147 : 1427, 1428, 1428, 1428, 1428, 498, 1428, 1428, 1428, 1428,
2148 : 1428, 1428, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430,
2149 :
2150 : 1430, 1430, 1430, 1431, 497, 496, 1431, 1432, 1432, 1432,
2151 : 495, 1432, 1432, 494, 1432, 1432, 1433, 1433, 1433, 1433,
2152 : 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1434, 493, 492,
2153 : 1434, 1435, 1435, 1435, 1435, 1435, 490, 1435, 1435, 1435,
2154 : 1435, 1435, 1436, 489, 488, 487, 486, 1436, 1436, 485,
2155 : 1436, 1437, 484, 483, 1437, 1438, 482, 481, 1438, 1439,
2156 : 1439, 1439, 1439, 1439, 1439, 480, 1439, 1439, 1439, 1439,
2157 : 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440,
2158 : 1440, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441,
2159 : 1441, 1441, 1442, 478, 475, 1442, 1443, 1443, 1443, 1443,
2160 :
2161 : 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1444, 474, 473,
2162 : 472, 469, 467, 466, 463, 459, 1444, 1445, 1445, 1445,
2163 : 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1446, 458,
2164 : 457, 456, 455, 1446, 454, 453, 1446, 1447, 1447, 1447,
2165 : 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1448, 1448,
2166 : 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1449,
2167 : 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449,
2168 : 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450,
2169 : 1450, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451,
2170 : 1451, 1451, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452,
2171 :
2172 : 1452, 1452, 1452, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
2173 : 1453, 1453, 1453, 1453, 1454, 1454, 1454, 1454, 1454, 1454,
2174 : 1454, 1454, 1454, 1454, 1454, 1455, 1455, 1455, 1455, 1455,
2175 : 1455, 1455, 1455, 1455, 1455, 1455, 1456, 1456, 1456, 1456,
2176 : 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1457, 1457, 1457,
2177 : 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1458, 1458,
2178 : 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1459,
2179 : 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
2180 : 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
2181 : 1460, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461,
2182 :
2183 : 1461, 1461, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462,
2184 : 1462, 1462, 1462, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
2185 : 1463, 1463, 1463, 1463, 1464, 1464, 1464, 1464, 1464, 1464,
2186 : 1464, 1464, 1464, 1464, 1464, 1465, 1465, 1465, 1465, 1465,
2187 : 1465, 1465, 1465, 1465, 1465, 1465, 1466, 1466, 1466, 1466,
2188 : 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1467, 1467, 1467,
2189 : 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1468, 1468,
2190 : 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1469,
2191 : 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469,
2192 : 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470,
2193 :
2194 : 1470, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471,
2195 : 1471, 1471, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472,
2196 : 1472, 1472, 1472, 1473, 1473, 1473, 1473, 1473, 1473, 1473,
2197 : 1473, 1473, 1473, 1473, 1474, 1474, 1474, 1474, 1474, 1474,
2198 : 1474, 1474, 1474, 1474, 1474, 1475, 1475, 1475, 1475, 1475,
2199 : 1475, 1475, 1475, 1475, 1475, 1475, 1476, 1476, 1476, 1476,
2200 : 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1477, 1477, 1477,
2201 : 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1478, 1478,
2202 : 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1479,
2203 : 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479,
2204 :
2205 : 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480,
2206 : 1480, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481,
2207 : 1481, 1481, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482,
2208 : 1482, 1482, 1482, 1483, 1483, 1483, 1483, 1483, 1483, 1483,
2209 : 1483, 1483, 1483, 1483, 1484, 1484, 1484, 1484, 1484, 1484,
2210 : 1484, 1484, 1484, 1484, 1484, 1485, 1485, 1485, 1485, 1485,
2211 : 1485, 1485, 1485, 1485, 1485, 1485, 1486, 1486, 1486, 1486,
2212 : 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1487, 1487, 1487,
2213 : 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1488, 1488,
2214 : 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1489,
2215 :
2216 : 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489,
2217 : 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490,
2218 : 1490, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491,
2219 : 1491, 1491, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
2220 : 1492, 1492, 1492, 1493, 1493, 1493, 1493, 1493, 1493, 1493,
2221 : 1493, 1493, 1493, 1493, 1494, 1494, 1494, 1494, 1494, 1494,
2222 : 1494, 1494, 1494, 1494, 1494, 1495, 1495, 1495, 1495, 1495,
2223 : 1495, 1495, 1495, 1495, 1495, 1495, 1496, 1496, 1496, 1496,
2224 : 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1497, 1497, 1497,
2225 : 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1498, 1498,
2226 :
2227 : 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1499,
2228 : 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499,
2229 : 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500,
2230 : 1500, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501,
2231 : 1501, 1501, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502,
2232 : 1502, 1502, 1502, 1503, 1503, 1503, 1503, 1503, 1503, 1503,
2233 : 1503, 1503, 1503, 1503, 1504, 1504, 1504, 1504, 1504, 1504,
2234 : 1504, 1504, 1504, 1504, 1504, 1505, 1505, 1505, 1505, 1505,
2235 : 1505, 1505, 1505, 1505, 1505, 1505, 1506, 1506, 1506, 1506,
2236 : 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1507, 1507, 1507,
2237 :
2238 : 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1508, 1508,
2239 : 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1509,
2240 : 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509,
2241 : 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510,
2242 : 1510, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511,
2243 : 1511, 1511, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512,
2244 : 1512, 1512, 1512, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
2245 : 1513, 1513, 1513, 1513, 1514, 1514, 1514, 1514, 1514, 1514,
2246 : 1514, 1514, 1514, 1514, 1514, 1515, 1515, 1515, 1515, 1515,
2247 : 1515, 1515, 1515, 1515, 1515, 1515, 1516, 1516, 1516, 1516,
2248 :
2249 : 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1517, 1517, 1517,
2250 : 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1518, 1518,
2251 : 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1519,
2252 : 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519,
2253 : 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520,
2254 : 1520, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521,
2255 : 1521, 1521, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522,
2256 : 1522, 1522, 1522, 1523, 1523, 1523, 1523, 1523, 1523, 1523,
2257 : 1523, 1523, 1523, 1523, 1524, 1524, 1524, 1524, 1524, 1524,
2258 : 1524, 1524, 1524, 1524, 1524, 1525, 1525, 1525, 1525, 1525,
2259 :
2260 : 1525, 1525, 1525, 1525, 1525, 1525, 1526, 1526, 1526, 1526,
2261 : 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1527, 1527, 1527,
2262 : 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1528, 1528,
2263 : 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1529,
2264 : 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529,
2265 : 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530,
2266 : 1530, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531,
2267 : 1531, 1531, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
2268 : 1532, 1532, 1532, 1533, 1533, 1533, 1533, 1533, 1533, 1533,
2269 : 1533, 1533, 1533, 1533, 1534, 1534, 1534, 1534, 1534, 1534,
2270 :
2271 : 1534, 1534, 1534, 1534, 1534, 1535, 1535, 1535, 1535, 1535,
2272 : 1535, 1535, 1535, 1535, 1535, 1535, 1536, 1536, 1536, 1536,
2273 : 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1537, 1537, 1537,
2274 : 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1538, 1538,
2275 : 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1539,
2276 : 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539,
2277 : 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540,
2278 : 1540, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541,
2279 : 1541, 1541, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542,
2280 : 1542, 1542, 1542, 1543, 1543, 1543, 1543, 1543, 1543, 1543,
2281 :
2282 : 1543, 1543, 1543, 1543, 1544, 1544, 1544, 1544, 1544, 1544,
2283 : 1544, 1544, 1544, 1544, 1544, 1545, 1545, 1545, 1545, 1545,
2284 : 1545, 1545, 1545, 1545, 1545, 1545, 1546, 1546, 1546, 1546,
2285 : 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1547, 1547, 1547,
2286 : 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1548, 1548,
2287 : 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1549,
2288 : 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
2289 : 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550,
2290 : 1550, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551,
2291 : 1551, 1551, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552,
2292 :
2293 : 1552, 1552, 1552, 1553, 1553, 1553, 1553, 1553, 1553, 1553,
2294 : 1553, 1553, 1553, 1553, 1554, 1554, 1554, 1554, 1554, 1554,
2295 : 1554, 1554, 1554, 1554, 1554, 1555, 1555, 1555, 1555, 1555,
2296 : 1555, 1555, 1555, 1555, 1555, 1555, 1556, 1556, 1556, 1556,
2297 : 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1557, 1557, 1557,
2298 : 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1558, 1558,
2299 : 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1559,
2300 : 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559,
2301 : 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560,
2302 : 1560, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561,
2303 :
2304 : 1561, 1561, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562,
2305 : 1562, 1562, 1562, 1563, 1563, 1563, 1563, 1563, 1563, 1563,
2306 : 1563, 1563, 1563, 1563, 1564, 1564, 1564, 1564, 1564, 1564,
2307 : 1564, 1564, 1564, 1564, 1564, 1565, 1565, 1565, 1565, 1565,
2308 : 1565, 1565, 1565, 1565, 1565, 1565, 1566, 1566, 1566, 1566,
2309 : 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1567, 1567, 1567,
2310 : 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1568, 1568,
2311 : 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1569,
2312 : 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569,
2313 : 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570,
2314 :
2315 : 1570, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571,
2316 : 1571, 1571, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572,
2317 : 1572, 1572, 1572, 1573, 1573, 1573, 1573, 1573, 1573, 1573,
2318 : 1573, 1573, 1573, 1573, 1574, 1574, 1574, 1574, 1574, 1574,
2319 : 1574, 1574, 1574, 1574, 1574, 1575, 1575, 1575, 1575, 1575,
2320 : 1575, 1575, 1575, 1575, 1575, 1575, 1576, 1576, 1576, 1576,
2321 : 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1577, 1577, 1577,
2322 : 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1578, 1578,
2323 : 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1579,
2324 : 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579,
2325 :
2326 : 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
2327 : 1580, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581,
2328 : 1581, 1581, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582,
2329 : 1582, 1582, 1582, 1583, 1583, 1583, 1583, 1583, 1583, 1583,
2330 : 1583, 1583, 1583, 1583, 1584, 1584, 1584, 1584, 1584, 1584,
2331 : 1584, 1584, 1584, 1584, 1584, 1585, 1585, 1585, 1585, 1585,
2332 : 1585, 1585, 1585, 1585, 1585, 1585, 1586, 1586, 1586, 1586,
2333 : 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1587, 1587, 1587,
2334 : 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1588, 1588,
2335 : 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1589,
2336 :
2337 : 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589,
2338 : 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590,
2339 : 1590, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591,
2340 : 1591, 1591, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592,
2341 : 1592, 1592, 1592, 1593, 1593, 1593, 1593, 1593, 1593, 1593,
2342 : 1593, 1593, 1593, 1593, 1594, 1594, 1594, 1594, 1594, 1594,
2343 : 1594, 1594, 1594, 1594, 1594, 1595, 1595, 1595, 1595, 1595,
2344 : 1595, 1595, 1595, 1595, 1595, 1595, 1596, 1596, 1596, 1596,
2345 : 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1597, 1597, 1597,
2346 : 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1598, 1598,
2347 :
2348 : 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1599,
2349 : 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
2350 : 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600,
2351 : 1600, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601,
2352 : 1601, 1601, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602,
2353 : 1602, 1602, 1602, 1603, 1603, 1603, 1603, 1603, 1603, 1603,
2354 : 1603, 1603, 1603, 1603, 1604, 1604, 1604, 1604, 1604, 1604,
2355 : 1604, 1604, 1604, 1604, 1604, 1605, 1605, 1605, 1605, 1605,
2356 : 1605, 1605, 1605, 1605, 1605, 1605, 1606, 1606, 1606, 1606,
2357 : 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1607, 1607, 1607,
2358 :
2359 : 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1608, 1608,
2360 : 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1609,
2361 : 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
2362 : 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610,
2363 : 1610, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611,
2364 : 1611, 1611, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612,
2365 : 1612, 1612, 1612, 1613, 1613, 1613, 1613, 1613, 1613, 1613,
2366 : 1613, 1613, 1613, 1613, 1614, 1614, 1614, 1614, 1614, 1614,
2367 : 1614, 1614, 1614, 1614, 1614, 1615, 1615, 1615, 1615, 1615,
2368 : 1615, 1615, 1615, 1615, 1615, 1615, 1616, 1616, 1616, 1616,
2369 :
2370 : 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1617, 1617, 1617,
2371 : 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1618, 1618,
2372 : 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1619,
2373 : 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619,
2374 : 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620,
2375 : 1620, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621,
2376 : 1621, 1621, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622,
2377 : 1622, 1622, 1622, 1623, 1623, 1623, 1623, 1623, 1623, 1623,
2378 : 1623, 1623, 1623, 1623, 1624, 1624, 1624, 1624, 1624, 1624,
2379 : 1624, 1624, 1624, 1624, 1624, 1625, 1625, 1625, 1625, 1625,
2380 :
2381 : 1625, 1625, 1625, 1625, 1625, 1625, 1626, 1626, 1626, 1626,
2382 : 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1627, 1627, 1627,
2383 : 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1628, 1628,
2384 : 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1629,
2385 : 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
2386 : 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630,
2387 : 1630, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631,
2388 : 1631, 1631, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632,
2389 : 1632, 1632, 1632, 1633, 1633, 1633, 1633, 1633, 1633, 1633,
2390 : 1633, 1633, 1633, 1633, 1634, 1634, 1634, 1634, 1634, 1634,
2391 :
2392 : 1634, 1634, 1634, 1634, 1634, 1635, 1635, 1635, 1635, 1635,
2393 : 1635, 1635, 1635, 1635, 1635, 1635, 1636, 1636, 1636, 1636,
2394 : 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1637, 1637, 1637,
2395 : 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1638, 1638,
2396 : 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1639,
2397 : 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639,
2398 : 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640,
2399 : 1640, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641,
2400 : 1641, 1641, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642,
2401 : 1642, 1642, 1642, 1643, 1643, 1643, 1643, 1643, 1643, 1643,
2402 :
2403 : 1643, 1643, 1643, 1643, 1644, 1644, 1644, 1644, 1644, 1644,
2404 : 1644, 1644, 1644, 1644, 1644, 1645, 1645, 1645, 1645, 1645,
2405 : 1645, 1645, 1645, 1645, 1645, 1645, 1646, 1646, 1646, 1646,
2406 : 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1647, 1647, 1647,
2407 : 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1648, 1648,
2408 : 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1649,
2409 : 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649,
2410 : 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650,
2411 : 1650, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651,
2412 : 1651, 1651, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652,
2413 :
2414 : 1652, 1652, 1652, 1653, 1653, 1653, 1653, 1653, 1653, 1653,
2415 : 1653, 1653, 1653, 1653, 1654, 1654, 1654, 1654, 1654, 1654,
2416 : 1654, 1654, 1654, 1654, 1654, 1655, 1655, 1655, 1655, 1655,
2417 : 1655, 1655, 1655, 1655, 1655, 1655, 1656, 1656, 1656, 1656,
2418 : 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1657, 1657, 1657,
2419 : 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1658, 1658,
2420 : 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1659,
2421 : 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659,
2422 : 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
2423 : 1660, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661,
2424 :
2425 : 1661, 1661, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662,
2426 : 1662, 1662, 1662, 1663, 1663, 1663, 1663, 1663, 1663, 1663,
2427 : 1663, 1663, 1663, 1663, 1664, 1664, 1664, 1664, 1664, 1664,
2428 : 1664, 1664, 1664, 1664, 1664, 1665, 1665, 1665, 1665, 1665,
2429 : 1665, 1665, 1665, 1665, 1665, 1665, 1666, 1666, 1666, 1666,
2430 : 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1667, 1667, 1667,
2431 : 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1668, 1668,
2432 : 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1669,
2433 : 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669,
2434 : 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
2435 :
2436 : 1670, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671,
2437 : 1671, 1671, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672,
2438 : 1672, 1672, 1672, 1673, 1673, 1673, 1673, 1673, 1673, 1673,
2439 : 1673, 1673, 1673, 1673, 1674, 1674, 1674, 1674, 1674, 1674,
2440 : 1674, 1674, 1674, 1674, 1674, 1675, 1675, 1675, 1675, 1675,
2441 : 1675, 1675, 1675, 1675, 1675, 1675, 1676, 1676, 1676, 1676,
2442 : 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1677, 1677, 1677,
2443 : 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1678, 1678,
2444 : 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1679,
2445 : 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679,
2446 :
2447 : 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680,
2448 : 1680, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681,
2449 : 1681, 1681, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682,
2450 : 1682, 1682, 1682, 1683, 1683, 1683, 1683, 1683, 1683, 1683,
2451 : 1683, 1683, 1683, 1683, 1684, 1684, 1684, 1684, 1684, 1684,
2452 : 1684, 1684, 1684, 1684, 1684, 1685, 1685, 1685, 1685, 1685,
2453 : 1685, 1685, 1685, 1685, 1685, 1685, 1686, 1686, 1686, 1686,
2454 : 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1687, 1687, 1687,
2455 : 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1688, 1688,
2456 : 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1689,
2457 :
2458 : 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689,
2459 : 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690,
2460 : 1690, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691,
2461 : 1691, 1691, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692,
2462 : 1692, 1692, 1692, 1693, 1693, 1693, 1693, 1693, 1693, 1693,
2463 : 1693, 1693, 1693, 1693, 1694, 1694, 1694, 1694, 1694, 1694,
2464 : 1694, 1694, 1694, 1694, 1694, 1695, 1695, 1695, 1695, 1695,
2465 : 1695, 1695, 1695, 1695, 1695, 1695, 1696, 1696, 1696, 1696,
2466 : 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1697, 1697, 1697,
2467 : 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1698, 1698,
2468 :
2469 : 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1699,
2470 : 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699,
2471 : 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700,
2472 : 1700, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701,
2473 : 1701, 1701, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702,
2474 : 1702, 1702, 1702, 1703, 1703, 1703, 1703, 1703, 1703, 1703,
2475 : 1703, 1703, 1703, 1703, 1704, 1704, 1704, 1704, 1704, 1704,
2476 : 1704, 1704, 1704, 1704, 1704, 1705, 1705, 1705, 1705, 1705,
2477 : 1705, 1705, 1705, 1705, 1705, 1705, 1706, 1706, 1706, 1706,
2478 : 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1707, 1707, 1707,
2479 :
2480 : 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1708, 1708,
2481 : 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1709,
2482 : 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
2483 : 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710,
2484 : 1710, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711,
2485 : 1711, 1711, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712,
2486 : 1712, 1712, 1712, 1713, 1713, 1713, 1713, 1713, 1713, 1713,
2487 : 1713, 1713, 1713, 1713, 1714, 1714, 1714, 1714, 1714, 1714,
2488 : 1714, 1714, 1714, 1714, 1714, 1715, 1715, 1715, 1715, 1715,
2489 : 1715, 1715, 1715, 1715, 1715, 1715, 1716, 1716, 1716, 1716,
2490 :
2491 : 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1717, 1717, 1717,
2492 : 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1718, 1718,
2493 : 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1719,
2494 : 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
2495 : 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720,
2496 : 1720, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
2497 : 1721, 1721, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722,
2498 : 1722, 1722, 1722, 1723, 1723, 1723, 1723, 1723, 1723, 1723,
2499 : 1723, 1723, 1723, 1723, 1724, 1724, 1724, 1724, 1724, 1724,
2500 : 1724, 1724, 1724, 1724, 1724, 1725, 1725, 1725, 1725, 1725,
2501 :
2502 : 1725, 1725, 1725, 1725, 1725, 1725, 1726, 1726, 1726, 1726,
2503 : 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1727, 1727, 1727,
2504 : 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1728, 1728,
2505 : 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1729,
2506 : 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729,
2507 : 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
2508 : 1730, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731,
2509 : 1731, 1731, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732,
2510 : 1732, 1732, 1732, 1733, 1733, 1733, 1733, 1733, 1733, 1733,
2511 : 1733, 1733, 1733, 1733, 1734, 1734, 1734, 1734, 1734, 1734,
2512 :
2513 : 1734, 1734, 1734, 1734, 1734, 1735, 1735, 1735, 1735, 1735,
2514 : 1735, 1735, 1735, 1735, 1735, 1735, 1736, 1736, 1736, 1736,
2515 : 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1737, 1737, 1737,
2516 : 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1738, 1738,
2517 : 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1739,
2518 : 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739,
2519 : 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740,
2520 : 1740, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
2521 : 1741, 1741, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
2522 : 1742, 1742, 1742, 1743, 1743, 1743, 1743, 1743, 1743, 1743,
2523 :
2524 : 1743, 1743, 1743, 1743, 1744, 1744, 1744, 1744, 1744, 1744,
2525 : 1744, 1744, 1744, 1744, 1744, 1745, 1745, 1745, 1745, 1745,
2526 : 1745, 1745, 1745, 1745, 1745, 1745, 1746, 1746, 1746, 1746,
2527 : 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1747, 1747, 1747,
2528 : 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1748, 1748,
2529 : 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1749,
2530 : 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749,
2531 : 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750,
2532 : 1750, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751,
2533 : 1751, 1751, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752,
2534 :
2535 : 1752, 1752, 1752, 1753, 1753, 1753, 1753, 1753, 1753, 1753,
2536 : 1753, 1753, 1753, 1753, 1754, 1754, 1754, 1754, 1754, 1754,
2537 : 1754, 1754, 1754, 1754, 1754, 1755, 1755, 1755, 1755, 1755,
2538 : 1755, 1755, 1755, 1755, 1755, 1755, 1756, 1756, 1756, 1756,
2539 : 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1757, 1757, 1757,
2540 : 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1758, 1758,
2541 : 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1759,
2542 : 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
2543 : 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760,
2544 : 1760, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761,
2545 :
2546 : 1761, 1761, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762,
2547 : 1762, 1762, 1762, 1763, 1763, 1763, 1763, 1763, 1763, 1763,
2548 : 1763, 1763, 1763, 1763, 1764, 1764, 1764, 1764, 1764, 1764,
2549 : 1764, 1764, 1764, 1764, 1764, 1765, 1765, 1765, 1765, 1765,
2550 : 1765, 1765, 1765, 1765, 1765, 1765, 1766, 1766, 1766, 1766,
2551 : 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1767, 1767, 1767,
2552 : 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1768, 1768,
2553 : 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1769,
2554 : 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769,
2555 : 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770,
2556 :
2557 : 1770, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771,
2558 : 1771, 1771, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772,
2559 : 1772, 1772, 1772, 1773, 1773, 1773, 1773, 1773, 1773, 1773,
2560 : 1773, 1773, 1773, 1773, 1774, 1774, 1774, 1774, 1774, 1774,
2561 : 1774, 1774, 1774, 1774, 1774, 1775, 1775, 1775, 1775, 1775,
2562 : 1775, 1775, 1775, 1775, 1775, 1775, 1776, 1776, 1776, 1776,
2563 : 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1777, 1777, 1777,
2564 : 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1778, 1778,
2565 : 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1779,
2566 : 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779,
2567 :
2568 : 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780,
2569 : 1780, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781,
2570 : 1781, 1781, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
2571 : 1782, 1782, 1782, 1783, 1783, 1783, 1783, 1783, 1783, 1783,
2572 : 1783, 1783, 1783, 1783, 1784, 1784, 1784, 1784, 1784, 1784,
2573 : 1784, 1784, 1784, 1784, 1784, 1785, 1785, 1785, 1785, 1785,
2574 : 1785, 1785, 1785, 1785, 1785, 1785, 1786, 1786, 1786, 1786,
2575 : 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1787, 1787, 1787,
2576 : 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1788, 1788,
2577 : 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1789,
2578 :
2579 : 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789,
2580 : 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790,
2581 : 1790, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791,
2582 : 1791, 1791, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792,
2583 : 1792, 1792, 1792, 1793, 1793, 1793, 1793, 1793, 1793, 1793,
2584 : 1793, 1793, 1793, 1793, 1794, 1794, 1794, 1794, 1794, 1794,
2585 : 1794, 1794, 1794, 1794, 1794, 1795, 1795, 1795, 1795, 1795,
2586 : 1795, 1795, 1795, 1795, 1795, 1795, 1796, 1796, 1796, 1796,
2587 : 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1797, 1797, 1797,
2588 : 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1798, 1798,
2589 :
2590 : 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1799,
2591 : 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
2592 : 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800,
2593 : 1800, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801,
2594 : 1801, 1801, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802,
2595 : 1802, 1802, 1802, 1803, 1803, 1803, 1803, 1803, 1803, 1803,
2596 : 1803, 1803, 1803, 1803, 1804, 1804, 1804, 1804, 1804, 1804,
2597 : 1804, 1804, 1804, 1804, 1804, 1805, 1805, 1805, 1805, 1805,
2598 : 1805, 1805, 1805, 1805, 1805, 1805, 1806, 1806, 1806, 1806,
2599 : 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1807, 1807, 1807,
2600 :
2601 : 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1808, 1808,
2602 : 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1809,
2603 : 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809,
2604 : 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810,
2605 : 1810, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811,
2606 : 1811, 1811, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812,
2607 : 1812, 1812, 1812, 1813, 1813, 1813, 1813, 1813, 1813, 1813,
2608 : 1813, 1813, 1813, 1813, 1814, 1814, 1814, 1814, 1814, 1814,
2609 : 1814, 1814, 1814, 1814, 1814, 1815, 1815, 1815, 1815, 1815,
2610 : 1815, 1815, 1815, 1815, 1815, 1815, 1816, 1816, 1816, 1816,
2611 :
2612 : 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1817, 1817, 1817,
2613 : 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1818, 1818,
2614 : 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1819,
2615 : 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819,
2616 : 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820,
2617 : 1820, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821,
2618 : 1821, 1821, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822,
2619 : 1822, 1822, 1822, 1823, 1823, 1823, 1823, 1823, 1823, 1823,
2620 : 1823, 1823, 1823, 1823, 1824, 1824, 1824, 1824, 1824, 1824,
2621 : 1824, 1824, 1824, 1824, 1824, 1825, 1825, 1825, 1825, 1825,
2622 :
2623 : 1825, 1825, 1825, 1825, 1825, 1825, 1826, 1826, 1826, 1826,
2624 : 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1827, 1827, 1827,
2625 : 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1828, 1828,
2626 : 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1829,
2627 : 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829,
2628 : 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830,
2629 : 1830, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831,
2630 : 1831, 1831, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832,
2631 : 1832, 1832, 1832, 1833, 1833, 1833, 1833, 1833, 1833, 1833,
2632 : 1833, 1833, 1833, 1833, 1834, 1834, 1834, 1834, 1834, 1834,
2633 :
2634 : 1834, 1834, 1834, 1834, 1834, 1835, 1835, 1835, 1835, 1835,
2635 : 1835, 1835, 1835, 1835, 1835, 1835, 1836, 1836, 1836, 1836,
2636 : 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1837, 1837, 1837,
2637 : 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1838, 1838,
2638 : 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1839,
2639 : 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,
2640 : 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840,
2641 : 1840, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
2642 : 1841, 1841, 450, 449, 448, 447, 446, 445, 444, 442,
2643 : 441, 440, 438, 437, 435, 434, 433, 432, 425, 424,
2644 :
2645 : 423, 422, 421, 420, 419, 417, 415, 414, 413, 411,
2646 : 410, 407, 406, 404, 403, 402, 399, 396, 395, 394,
2647 : 393, 392, 391, 390, 389, 388, 387, 386, 384, 383,
2648 : 382, 381, 380, 379, 378, 377, 376, 375, 372, 371,
2649 : 370, 369, 368, 367, 366, 364, 363, 362, 361, 360,
2650 : 359, 358, 356, 355, 354, 353, 352, 351, 350, 349,
2651 : 348, 346, 345, 343, 342, 341, 340, 338, 337, 336,
2652 : 335, 334, 333, 332, 330, 325, 322, 320, 319, 318,
2653 : 317, 316, 315, 314, 311, 310, 309, 308, 307, 306,
2654 : 305, 304, 303, 302, 301, 300, 299, 297, 296, 295,
2655 :
2656 : 293, 292, 290, 289, 288, 287, 286, 285, 284, 282,
2657 : 281, 280, 279, 277, 276, 271, 270, 264, 263, 262,
2658 : 261, 260, 259, 258, 257, 256, 255, 254, 250, 249,
2659 : 246, 234, 229, 226, 225, 223, 208, 207, 206, 205,
2660 : 204, 203, 202, 201, 200, 198, 195, 194, 193, 191,
2661 : 189, 188, 187, 186, 184, 183, 182, 181, 180, 178,
2662 : 176, 173, 172, 168, 167, 166, 161, 158, 154, 146,
2663 : 137, 136, 135, 134, 133, 132, 131, 129, 127, 116,
2664 : 114, 112, 111, 109, 108, 106, 105, 102, 101, 89,
2665 : 86, 85, 84, 78, 71, 70, 69, 65, 63, 62,
2666 :
2667 : 61, 58, 50, 49, 48, 44, 37, 28, 24, 23,
2668 : 20, 19, 18, 17, 2, 1, 1421, 1421, 1421, 1421,
2669 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
2670 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
2671 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
2672 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
2673 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
2674 : 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421
2675 : } ;
2676 :
2677 : static yy_state_type yy_last_accepting_state;
2678 : static char *yy_last_accepting_cpos;
2679 :
2680 : /* The intent behind this definition is that it'll catch
2681 : * any uses of REJECT which flex missed.
2682 : */
2683 : #define REJECT reject_used_but_not_detected
2684 : static int yy_more_flag = 0;
2685 : static int yy_more_len = 0;
2686 : #define yymore() (yy_more_flag = 1)
2687 : #define YY_MORE_ADJ yy_more_len
2688 : #define YY_RESTORE_YY_MORE_OFFSET
2689 : char *yytext;
2690 : #line 1 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
2691 : #define INITIAL 0
2692 : #line 2 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
2693 :
2694 : /*
2695 : +----------------------------------------------------------------------+
2696 : | Zend Engine |
2697 : +----------------------------------------------------------------------+
2698 : | Copyright (c) 1998-2006 Zend Technologies Ltd. (http://www.zend.com) |
2699 : +----------------------------------------------------------------------+
2700 : | This source file is subject to version 2.00 of the Zend license, |
2701 : | that is bundled with this package in the file LICENSE, and is |
2702 : | available through the world-wide-web at the following url: |
2703 : | http://www.zend.com/license/2_00.txt. |
2704 : | If you did not receive a copy of the Zend license and are unable to |
2705 : | obtain it through the world-wide-web, please send a note to |
2706 : | license@zend.com so we can mail you a copy immediately. |
2707 : +----------------------------------------------------------------------+
2708 : | Authors: Andi Gutmans <andi@zend.com> |
2709 : | Zeev Suraski <zeev@zend.com> |
2710 : +----------------------------------------------------------------------+
2711 : */
2712 :
2713 : /* $Id: zend_language_scanner.l,v 1.131.2.11.2.9 2007/02/24 02:17:23 helly Exp $ */
2714 :
2715 : #define yyleng SCNG(yy_leng)
2716 : #define yytext SCNG(yy_text)
2717 : #define yytext_ptr SCNG(yy_text)
2718 : #define yyin SCNG(yy_in)
2719 : #define yyout SCNG(yy_out)
2720 : #define yy_last_accepting_state SCNG(_yy_last_accepting_state)
2721 : #define yy_last_accepting_cpos SCNG(_yy_last_accepting_cpos)
2722 : #define yy_more_flag SCNG(_yy_more_flag)
2723 : #define yy_more_len SCNG(_yy_more_len)
2724 :
2725 : #define ST_IN_SCRIPTING 1
2726 :
2727 : #define ST_DOUBLE_QUOTES 2
2728 :
2729 : #define ST_SINGLE_QUOTE 3
2730 :
2731 : #define ST_BACKQUOTE 4
2732 :
2733 : #define ST_HEREDOC 5
2734 :
2735 : #define ST_LOOKING_FOR_PROPERTY 6
2736 :
2737 : #define ST_LOOKING_FOR_VARNAME 7
2738 :
2739 : #define ST_COMMENT 8
2740 :
2741 : #define ST_DOC_COMMENT 9
2742 :
2743 : #define ST_ONE_LINE_COMMENT 10
2744 :
2745 : #define YY_STACK_USED 1
2746 : #line 49 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
2747 :
2748 : #include <errno.h>
2749 : #include "zend.h"
2750 : #include "zend_alloc.h"
2751 : #include <zend_language_parser.h>
2752 : #include "zend_compile.h"
2753 : #include "zend_language_scanner.h"
2754 : #include "zend_highlight.h"
2755 : #include "zend_constants.h"
2756 : #include "zend_variables.h"
2757 : #include "zend_operators.h"
2758 : #include "zend_API.h"
2759 : #include "zend_strtod.h"
2760 : #include "zend_exceptions.h"
2761 :
2762 : #ifdef HAVE_STDARG_H
2763 : # include <stdarg.h>
2764 : #endif
2765 :
2766 : #ifdef HAVE_UNISTD_H
2767 : # include <unistd.h>
2768 : #endif
2769 :
2770 : #define YY_DECL int lex_scan(zval *zendlval TSRMLS_DC)
2771 :
2772 : #define ECHO { ZEND_WRITE( yytext, yyleng ); }
2773 :
2774 : #ifdef ZTS
2775 : # define MY_INPUT yyinput
2776 : #else
2777 : # define MY_INPUT input
2778 : #endif
2779 :
2780 :
2781 : /* Globals Macros */
2782 : #define SCNG LANG_SCNG
2783 : #ifdef ZTS
2784 : ZEND_API ts_rsrc_id language_scanner_globals_id;
2785 : #else
2786 : ZEND_API zend_scanner_globals language_scanner_globals;
2787 : #endif
2788 :
2789 :
2790 : #define YY_FATAL_ERROR zend_fatal_scanner_error
2791 :
2792 : #define HANDLE_NEWLINES(s, l) \
2793 : do { \
2794 : char *p = (s), *boundary = p+(l); \
2795 : \
2796 : while (p<boundary) { \
2797 : if (*p == '\n') { \
2798 : CG(zend_lineno)++; \
2799 : } else if ((*p == '\r') && (p+1 < boundary) && (*(p+1) != '\n')) { \
2800 : CG(zend_lineno)++; \
2801 : } \
2802 : p++; \
2803 : } \
2804 : } while (0)
2805 :
2806 : #define HANDLE_NEWLINE(c) \
2807 : { \
2808 : if (c == '\n' || c == '\r') { \
2809 : CG(zend_lineno)++; \
2810 : } \
2811 : }
2812 :
2813 :
2814 : #define ZEND_IS_OCT(c) ((c)>='0' && (c)<='7')
2815 : #define ZEND_IS_HEX(c) (((c)>='0' && (c)<='9') || ((c)>='a' && (c)<='f') || ((c)>='A' && (c)<='F'))
2816 :
2817 :
2818 : void zend_fatal_scanner_error(char *message)
2819 : {
2820 : zend_error(E_COMPILE_ERROR, "%s", message);
2821 : }
2822 :
2823 : BEGIN_EXTERN_C()
2824 : void startup_scanner(TSRMLS_D)
2825 : {
2826 : CG(heredoc) = NULL;
2827 : CG(heredoc_len) = 0;
2828 : CG(doc_comment) = NULL;
2829 : CG(doc_comment_len) = 0;
2830 : SCNG(yy_start_stack_ptr) = 0;
2831 : SCNG(yy_start_stack_depth) = 0;
2832 : SCNG(current_buffer) = NULL;
2833 : #ifdef ZEND_MULTIBYTE
2834 : SCNG(script_org) = NULL;
2835 : SCNG(script_org_size) = 0;
2836 : SCNG(script_filtered) = NULL;
2837 : SCNG(script_filtered_size) = 0;
2838 : SCNG(input_filter) = NULL;
2839 : SCNG(output_filter) = NULL;
2840 : SCNG(script_encoding) = NULL;
2841 : SCNG(internal_encoding) = NULL;
2842 : #endif /* ZEND_MULTIBYTE */
2843 : }
2844 :
2845 :
2846 : void shutdown_scanner(TSRMLS_D)
2847 : {
2848 : if (CG(heredoc)) {
2849 : efree(CG(heredoc));
2850 : CG(heredoc_len)=0;
2851 : }
2852 : if (SCNG(yy_start_stack)) {
2853 : yy_flex_free(SCNG(yy_start_stack));
2854 : SCNG(yy_start_stack) = NULL;
2855 : }
2856 : RESET_DOC_COMMENT();
2857 :
2858 : #ifdef ZEND_MULTIBYTE
2859 : if (SCNG(script_org)) {
2860 : efree(SCNG(script_org));
2861 : SCNG(script_org) = NULL;
2862 : }
2863 : if (SCNG(script_filtered)) {
2864 : efree(SCNG(script_filtered));
2865 : SCNG(script_filtered) = NULL;
2866 : }
2867 : SCNG(script_org_size) = 0;
2868 : SCNG(script_filtered_size) = 0;
2869 : SCNG(input_filter) = NULL;
2870 : SCNG(output_filter) = NULL;
2871 : SCNG(script_encoding) = NULL;
2872 : SCNG(internal_encoding) = NULL;
2873 : #endif /* ZEND_MULTIBYTE */
2874 : }
2875 : END_EXTERN_C()
2876 :
2877 :
2878 : ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state TSRMLS_DC)
2879 : {
2880 : memcpy(&lex_state->buffer_state, &YY_CURRENT_BUFFER, sizeof(YY_BUFFER_STATE));
2881 : lex_state->in = SCNG(yy_in);
2882 : lex_state->state = YYSTATE;
2883 : lex_state->filename = zend_get_compiled_filename(TSRMLS_C);
2884 : lex_state->lineno = CG(zend_lineno);
2885 :
2886 : #ifdef ZEND_MULTIBYTE
2887 : lex_state->script_org = SCNG(script_org);
2888 : lex_state->script_org_size = SCNG(script_org_size);
2889 : lex_state->script_filtered = SCNG(script_filtered);
2890 : lex_state->script_filtered_size = SCNG(script_filtered_size);
2891 : lex_state->input_filter = SCNG(input_filter);
2892 : lex_state->output_filter = SCNG(output_filter);
2893 : lex_state->script_encoding = SCNG(script_encoding);
2894 : lex_state->internal_encoding = SCNG(internal_encoding);
2895 : #endif /* ZEND_MULTIBYTE */
2896 : }
2897 :
2898 : ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state TSRMLS_DC)
2899 : {
2900 : YY_BUFFER_STATE original_buffer_state = YY_CURRENT_BUFFER;
2901 :
2902 : if (lex_state->buffer_state) {
2903 : yy_switch_to_buffer(lex_state->buffer_state TSRMLS_CC);
2904 : } else {
2905 : YY_CURRENT_BUFFER = NULL;
2906 : }
2907 :
2908 : yy_delete_buffer(original_buffer_state TSRMLS_CC);
2909 : SCNG(yy_in) = lex_state->in;
2910 : BEGIN(lex_state->state);
2911 : CG(zend_lineno) = lex_state->lineno;
2912 : zend_restore_compiled_filename(lex_state->filename TSRMLS_CC);
2913 :
2914 : #ifdef ZEND_MULTIBYTE
2915 : if (SCNG(script_org)) {
2916 : efree(SCNG(script_org));
2917 : SCNG(script_org) = NULL;
2918 : }
2919 : if (SCNG(script_filtered)) {
2920 : efree(SCNG(script_filtered));
2921 : SCNG(script_filtered) = NULL;
2922 : }
2923 : SCNG(script_org) = lex_state->script_org;
2924 : SCNG(script_org_size) = lex_state->script_org_size;
2925 : SCNG(script_filtered) = lex_state->script_filtered;
2926 : SCNG(script_filtered_size) = lex_state->script_filtered_size;
2927 : SCNG(input_filter) = lex_state->input_filter;
2928 : SCNG(output_filter) = lex_state->output_filter;
2929 : SCNG(script_encoding) = lex_state->script_encoding;
2930 : SCNG(internal_encoding) = lex_state->internal_encoding;
2931 : #endif /* ZEND_MULTIBYTE */
2932 : }
2933 :
2934 :
2935 : BEGIN_EXTERN_C()
2936 :
2937 :
2938 : ZEND_API void zend_file_handle_dtor(zend_file_handle *fh)
2939 : {
2940 : TSRMLS_FETCH();
2941 :
2942 : switch (fh->type) {
2943 : case ZEND_HANDLE_FP:
2944 : fclose(fh->handle.fp);
2945 : break;
2946 : case ZEND_HANDLE_STREAM:
2947 : if (fh->handle.stream.closer) {
2948 : fh->handle.stream.closer(fh->handle.stream.handle TSRMLS_CC);
2949 : }
2950 : break;
2951 : case ZEND_HANDLE_FILENAME:
2952 : /* We're only supposed to get here when destructing the used_files hash,
2953 : * which doesn't really contain open files, but references to their names/paths
2954 : */
2955 : break;
2956 : }
2957 : if (fh->opened_path) {
2958 : efree(fh->opened_path);
2959 : fh->opened_path = NULL;
2960 : }
2961 : if (fh->free_filename && fh->filename) {
2962 : efree(fh->filename);
2963 : fh->filename = NULL;
2964 : }
2965 : }
2966 :
2967 :
2968 : int zend_compare_file_handles(zend_file_handle *fh1, zend_file_handle *fh2)
2969 : {
2970 : if (fh1->type != fh2->type) {
2971 : return 0;
2972 : }
2973 : switch (fh1->type) {
2974 : case ZEND_HANDLE_FP:
2975 : return fh1->handle.fp==fh2->handle.fp;
2976 : break;
2977 : case ZEND_HANDLE_STREAM:
2978 : return fh1->handle.stream.handle == fh2->handle.stream.handle;
2979 : break;
2980 : }
2981 : return 0;
2982 : }
2983 :
2984 :
2985 : ZEND_API void zend_destroy_file_handle(zend_file_handle *file_handle TSRMLS_DC)
2986 : {
2987 : zend_llist_del_element(&CG(open_files), file_handle, (int (*)(void *, void *)) zend_compare_file_handles);
2988 : /* zend_file_handle_dtor() operates on the copy, so we have to NULLify the original here */
2989 : file_handle->opened_path = NULL;
2990 : if (file_handle->free_filename) {
2991 : file_handle->filename = NULL;
2992 : }
2993 : }
2994 :
2995 :
2996 : ZEND_API int open_file_for_scanning(zend_file_handle *file_handle TSRMLS_DC)
2997 : {
2998 : char *file_path=NULL;
2999 :
3000 : if (FAILURE == zend_stream_fixup(file_handle TSRMLS_CC)) {
3001 : return FAILURE;
3002 : }
3003 :
3004 : zend_llist_add_element(&CG(open_files), file_handle);
3005 :
3006 : /* Reset the scanner for scanning the new file */
3007 : SCNG(yy_in) = file_handle;
3008 :
3009 : #ifdef ZEND_MULTIBYTE
3010 : if (file_handle->handle.stream.interactive == 0) {
3011 : if (zend_multibyte_read_script(TSRMLS_C) != 0) {
3012 : return FAILURE;
3013 : }
3014 :
3015 : /* force flex to use buffer only */
3016 : SCNG(yy_in) = NULL;
3017 : SCNG(init) = 0;
3018 : SCNG(start) = 1;
3019 :
3020 : zend_multibyte_set_filter(NULL TSRMLS_CC);
3021 :
3022 : if (!SCNG(input_filter)) {
3023 : SCNG(script_filtered) = (char*)emalloc(SCNG(script_org_size)+1);
3024 : memcpy(SCNG(script_filtered), SCNG(script_org), SCNG(script_org_size)+1);
3025 : SCNG(script_filtered_size) = SCNG(script_org_size);
3026 : } else {
3027 : SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC);
3028 : }
3029 :
3030 : /* flex requires doubled null */
3031 : SCNG(script_filtered) = (char*)erealloc(SCNG(script_filtered), SCNG(script_filtered_size)+2);
3032 : *(SCNG(script_filtered)+SCNG(script_filtered_size)) = (char)NULL;
3033 : *(SCNG(script_filtered)+SCNG(script_filtered_size)+1) = (char)NULL;
3034 : yy_scan_buffer(SCNG(script_filtered), SCNG(script_filtered_size)+2 TSRMLS_CC);
3035 : } else {
3036 : yy_switch_to_buffer(yy_create_buffer(SCNG(yy_in), YY_BUF_SIZE TSRMLS_CC) TSRMLS_CC);
3037 : }
3038 : #else /* !ZEND_MULTIBYTE */
3039 : yy_switch_to_buffer(yy_create_buffer(SCNG(yy_in), YY_BUF_SIZE TSRMLS_CC) TSRMLS_CC);
3040 : #endif /* ZEND_MULTIBYTE */
3041 :
3042 : BEGIN(INITIAL);
3043 :
3044 : if (file_handle->opened_path) {
3045 : file_path = file_handle->opened_path;
3046 : } else {
3047 : file_path = file_handle->filename;
3048 : }
3049 :
3050 : zend_set_compiled_filename(file_path TSRMLS_CC);
3051 :
3052 : if (CG(start_lineno)) {
3053 : CG(zend_lineno) = CG(start_lineno);
3054 : CG(start_lineno) = 0;
3055 : } else {
3056 : CG(zend_lineno) = 1;
3057 : }
3058 :
3059 : CG(increment_lineno) = 0;
3060 : return SUCCESS;
3061 : }
3062 : END_EXTERN_C()
3063 :
3064 :
3065 : ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type TSRMLS_DC)
3066 : {
3067 : zend_lex_state original_lex_state;
3068 : zend_op_array *op_array = (zend_op_array *) emalloc(sizeof(zend_op_array));
3069 : zend_op_array *original_active_op_array = CG(active_op_array);
3070 : zend_op_array *retval=NULL;
3071 : int compiler_result;
3072 : zend_bool compilation_successful=0;
3073 : znode retval_znode;
3074 : zend_bool original_in_compilation = CG(in_compilation);
3075 :
3076 : retval_znode.op_type = IS_CONST;
3077 : retval_znode.u.constant.type = IS_LONG;
3078 : retval_znode.u.constant.value.lval = 1;
3079 : retval_znode.u.constant.is_ref = 0;
3080 : retval_znode.u.constant.refcount = 1;
3081 :
3082 : zend_save_lexical_state(&original_lex_state TSRMLS_CC);
3083 :
3084 : retval = op_array; /* success oriented */
3085 :
3086 : if (open_file_for_scanning(file_handle TSRMLS_CC)==FAILURE) {
3087 : if (type==ZEND_REQUIRE) {
3088 : zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle->filename);
3089 : zend_bailout();
3090 : } else {
3091 : zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle->filename);
3092 : }
3093 : compilation_successful=0;
3094 : } else {
3095 : init_op_array(op_array, ZEND_USER_FUNCTION, INITIAL_OP_ARRAY_SIZE TSRMLS_CC);
3096 : CG(in_compilation) = 1;
3097 : CG(active_op_array) = op_array;
3098 : compiler_result = zendparse(TSRMLS_C);
3099 : zend_do_return(&retval_znode, 0 TSRMLS_CC);
3100 : zend_do_handle_exception(TSRMLS_C);
3101 : CG(in_compilation) = original_in_compilation;
3102 : if (compiler_result==1) { /* parser error */
3103 : zend_bailout();
3104 : }
3105 : compilation_successful=1;
3106 : }
3107 :
3108 : if (retval) {
3109 : CG(active_op_array) = original_active_op_array;
3110 : if (compilation_successful) {
3111 : pass_two(op_array TSRMLS_CC);
3112 : } else {
3113 : efree(op_array);
3114 : retval = NULL;
3115 : }
3116 : }
3117 : if (compilation_successful) {
3118 : zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
3119 : }
3120 : return retval;
3121 : }
3122 :
3123 :
3124 : zend_op_array *compile_filename(int type, zval *filename TSRMLS_DC)
3125 : {
3126 : zend_file_handle file_handle;
3127 : zval tmp;
3128 : zend_op_array *retval;
3129 : char *opened_path = NULL;
3130 :
3131 : if (filename->type != IS_STRING) {
3132 : tmp = *filename;
3133 : zval_copy_ctor(&tmp);
3134 : convert_to_string(&tmp);
3135 : filename = &tmp;
3136 : }
3137 : file_handle.filename = filename->value.str.val;
3138 : file_handle.free_filename = 0;
3139 : file_handle.type = ZEND_HANDLE_FILENAME;
3140 : file_handle.opened_path = NULL;
3141 : file_handle.handle.fp = NULL;
3142 :
3143 : retval = zend_compile_file(&file_handle, type TSRMLS_CC);
3144 : if (retval && file_handle.handle.stream.handle) {
3145 : int dummy = 1;
3146 :
3147 : if (!file_handle.opened_path) {
3148 : file_handle.opened_path = opened_path = estrndup(filename->value.str.val, filename->value.str.len);
3149 : }
3150 :
3151 : zend_hash_add(&EG(included_files), file_handle.opened_path, strlen(file_handle.opened_path)+1, (void *)&dummy, sizeof(int), NULL);
3152 :
3153 : if (opened_path) {
3154 : efree(opened_path);
3155 : }
3156 : }
3157 : zend_destroy_file_handle(&file_handle TSRMLS_CC);
3158 :
3159 : if (filename==&tmp) {
3160 : zval_dtor(&tmp);
3161 : }
3162 : return retval;
3163 : }
3164 :
3165 : ZEND_API int zend_prepare_string_for_scanning(zval *str, char *filename TSRMLS_DC)
3166 : {
3167 : /* enforce two trailing NULLs for flex... */
3168 : STR_REALLOC(str->value.str.val, str->value.str.len+2);
3169 :
3170 : str->value.str.val[str->value.str.len+1]=0;
3171 :
3172 : SCNG(yy_in)=NULL;
3173 :
3174 : #ifdef ZEND_MULTIBYTE
3175 : SCNG(script_org) = estrdup(str->value.str.val);
3176 : SCNG(script_org_size) = str->value.str.len;
3177 :
3178 : zend_multibyte_set_filter(CG(internal_encoding) TSRMLS_CC);
3179 :
3180 : if (!SCNG(input_filter)) {
3181 : SCNG(script_filtered) = (char*)emalloc(SCNG(script_org_size)+1);
3182 : memcpy(SCNG(script_filtered), SCNG(script_org), SCNG(script_org_size)+1);
3183 : SCNG(script_filtered_size) = SCNG(script_org_size);
3184 : } else {
3185 : SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC);
3186 : }
3187 :
3188 : /* flex requires doubled null */
3189 : SCNG(script_filtered) = (char*)erealloc(SCNG(script_filtered), SCNG(script_filtered_size)+2);
3190 : *(SCNG(script_filtered)+SCNG(script_filtered_size)) = (char)NULL;
3191 : *(SCNG(script_filtered)+SCNG(script_filtered_size)+1) = (char)NULL;
3192 : yy_scan_buffer(SCNG(script_filtered), SCNG(script_filtered_size)+2 TSRMLS_CC);
3193 : #else /* !ZEND_MULTIBYTE */
3194 : yy_scan_buffer(str->value.str.val, str->value.str.len+2 TSRMLS_CC);
3195 : #endif /* ZEND_MULTIBYTE */
3196 :
3197 : zend_set_compiled_filename(filename TSRMLS_CC);
3198 : CG(zend_lineno) = 1;
3199 : CG(increment_lineno) = 0;
3200 : return SUCCESS;
3201 : }
3202 :
3203 :
3204 : ZEND_API int zend_get_scanned_file_offset(TSRMLS_D)
3205 : {
3206 : if (yyin) {
3207 : int offset_in_buffer = (yy_c_buf_p - (YY_CURRENT_BUFFER)->yy_ch_buf);
3208 : int read_bytes = SCNG(yy_n_chars);
3209 : int offset_from_the_end = read_bytes - offset_in_buffer;
3210 :
3211 : return zend_stream_ftell(yyin TSRMLS_CC) - offset_from_the_end;
3212 : } else {
3213 : /* The entire file is in the buffer; probably zend multibyte
3214 : is enabled */
3215 : return (yy_c_buf_p - (YY_CURRENT_BUFFER)->yy_ch_buf);
3216 : }
3217 : }
3218 :
3219 :
3220 : zend_op_array *compile_string(zval *source_string, char *filename TSRMLS_DC)
3221 : {
3222 : zend_lex_state original_lex_state;
3223 : zend_op_array *op_array = (zend_op_array *) emalloc(sizeof(zend_op_array));
3224 : zend_op_array *original_active_op_array = CG(active_op_array);
3225 : zend_op_array *retval;
3226 : zval tmp;
3227 : int compiler_result;
3228 : zend_bool original_in_compilation = CG(in_compilation);
3229 :
3230 : if (source_string->value.str.len==0) {
3231 : efree(op_array);
3232 : return NULL;
3233 : }
3234 :
3235 : CG(in_compilation) = 1;
3236 :
3237 : tmp = *source_string;
3238 : zval_copy_ctor(&tmp);
3239 : convert_to_string(&tmp);
3240 : source_string = &tmp;
3241 :
3242 : zend_save_lexical_state(&original_lex_state TSRMLS_CC);
3243 : if (zend_prepare_string_for_scanning(source_string, filename TSRMLS_CC)==FAILURE) {
3244 : efree(op_array);
3245 : retval = NULL;
3246 : } else {
3247 : zend_bool orig_interactive = CG(interactive);
3248 :
3249 : CG(interactive) = 0;
3250 : init_op_array(op_array, ZEND_EVAL_CODE, INITIAL_OP_ARRAY_SIZE TSRMLS_CC);
3251 : CG(interactive) = orig_interactive;
3252 : CG(active_op_array) = op_array;
3253 : BEGIN(ST_IN_SCRIPTING);
3254 : compiler_result = zendparse(TSRMLS_C);
3255 :
3256 : #ifdef ZEND_MULTIBYTE
3257 : if (SCNG(script_org)) {
3258 : efree(SCNG(script_org));
3259 : SCNG(script_org) = NULL;
3260 : }
3261 : if (SCNG(script_filtered)) {
3262 : efree(SCNG(script_filtered));
3263 : SCNG(script_filtered) = NULL;
3264 : }
3265 : #endif /* ZEND_MULTIBYTE */
3266 :
3267 : if (compiler_result==1) {
3268 : CG(active_op_array) = original_active_op_array;
3269 : CG(unclean_shutdown)=1;
3270 : retval = NULL;
3271 : } else {
3272 : zend_do_return(NULL, 0 TSRMLS_CC);
3273 : zend_do_handle_exception(TSRMLS_C);
3274 : CG(active_op_array) = original_active_op_array;
3275 : pass_two(op_array TSRMLS_CC);
3276 : retval = op_array;
3277 : }
3278 : zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
3279 : }
3280 : zval_dtor(&tmp);
3281 : CG(in_compilation) = original_in_compilation;
3282 : return retval;
3283 : }
3284 :
3285 :
3286 : BEGIN_EXTERN_C()
3287 : int highlight_file(char *filename, zend_syntax_highlighter_ini *syntax_highlighter_ini TSRMLS_DC)
3288 : {
3289 : zend_lex_state original_lex_state;
3290 : zend_file_handle file_handle;
3291 :
3292 : file_handle.type = ZEND_HANDLE_FILENAME;
3293 : file_handle.filename = filename;
3294 : file_handle.free_filename = 0;
3295 : file_handle.opened_path = NULL;
3296 : zend_save_lexical_state(&original_lex_state TSRMLS_CC);
3297 : if (open_file_for_scanning(&file_handle TSRMLS_CC)==FAILURE) {
3298 : zend_message_dispatcher(ZMSG_FAILED_HIGHLIGHT_FOPEN, filename);
3299 : return FAILURE;
3300 : }
3301 : zend_highlight(syntax_highlighter_ini TSRMLS_CC);
3302 : #ifdef ZEND_MULTIBYTE
3303 : if (SCNG(script_org)) {
3304 : efree(SCNG(script_org));
3305 : SCNG(script_org) = NULL;
3306 : }
3307 : if (SCNG(script_filtered)) {
3308 : efree(SCNG(script_filtered));
3309 : SCNG(script_filtered) = NULL;
3310 : }
3311 : #endif /* ZEND_MULTIBYTE */
3312 : zend_destroy_file_handle(&file_handle TSRMLS_CC);
3313 : zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
3314 : return SUCCESS;
3315 : }
3316 :
3317 : int highlight_string(zval *str, zend_syntax_highlighter_ini *syntax_highlighter_ini, char *str_name TSRMLS_DC)
3318 : {
3319 : zend_lex_state original_lex_state;
3320 : zval tmp = *str;
3321 :
3322 : str = &tmp;
3323 : zval_copy_ctor(str);
3324 : zend_save_lexical_state(&original_lex_state TSRMLS_CC);
3325 : if (zend_prepare_string_for_scanning(str, str_name TSRMLS_CC)==FAILURE) {
3326 : return FAILURE;
3327 : }
3328 : BEGIN(INITIAL);
3329 : zend_highlight(syntax_highlighter_ini TSRMLS_CC);
3330 : #ifdef ZEND_MULTIBYTE
3331 : if (SCNG(script_org)) {
3332 : efree(SCNG(script_org));
3333 : SCNG(script_org) = NULL;
3334 : }
3335 : if (SCNG(script_filtered)) {
3336 : efree(SCNG(script_filtered));
3337 : SCNG(script_filtered) = NULL;
3338 : }
3339 : #endif /* ZEND_MULTIBYTE */
3340 : zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
3341 : zval_dtor(str);
3342 : return SUCCESS;
3343 : }
3344 : END_EXTERN_C()
3345 :
3346 : #ifdef ZEND_MULTIBYTE
3347 : BEGIN_EXTERN_C()
3348 : ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter old_input_filter, zend_encoding *old_encoding TSRMLS_DC)
3349 : {
3350 : YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
3351 : int offset, original_offset, length, free_flag;
3352 : char *p;
3353 : zend_encoding *new_encoding;
3354 :
3355 : /* calculate current position */
3356 : offset = original_offset = yy_c_buf_p - b->yy_ch_buf;
3357 : if (old_input_filter && original_offset > 0) {
3358 : new_encoding = SCNG(script_encoding);
3359 : SCNG(script_encoding) = old_encoding;
3360 : do {
3361 : (old_input_filter)(&p, &length, SCNG(script_org), offset TSRMLS_CC);
3362 : if (!p) {
3363 : SCNG(script_encoding) = new_encoding;
3364 : return;
3365 : }
3366 : efree(p);
3367 : if (length > original_offset) {
3368 : offset--;
3369 : } else if (length < original_offset) {
3370 : offset++;
3371 : }
3372 : } while (original_offset != length);
3373 : SCNG(script_encoding) = new_encoding;
3374 : }
3375 :
3376 : /* convert and set */
3377 : if (!SCNG(input_filter)) {
3378 : length = SCNG(script_org_size)-offset-1;
3379 : p = SCNG(script_org)+offset+1;
3380 : free_flag = 0;
3381 : } else {
3382 : SCNG(input_filter)(&p, &length, SCNG(script_org)+offset+1, SCNG(script_org_size)-offset-1 TSRMLS_CC);
3383 : free_flag = 1;
3384 : }
3385 : if (original_offset+length+1 > (int)b->yy_buf_size) {
3386 : b->yy_buf_size = original_offset+length+1;
3387 : b->yy_ch_buf = (char*)erealloc(b->yy_ch_buf, b->yy_buf_size+2);
3388 : SCNG(script_filtered) = b->yy_ch_buf;
3389 : SCNG(script_filtered_size) = b->yy_buf_size;
3390 : }
3391 : yy_c_buf_p = b->yy_ch_buf + original_offset;
3392 : strncpy(yy_c_buf_p+1, p, length);
3393 : b->yy_n_chars = original_offset + length + 1;
3394 : SCNG(yy_n_chars) = b->yy_n_chars;
3395 : b->yy_ch_buf[SCNG(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3396 : b->yy_ch_buf[SCNG(yy_n_chars)+1] = YY_END_OF_BUFFER_CHAR;
3397 :
3398 : if (free_flag) {
3399 : efree(p);
3400 : }
3401 : }
3402 :
3403 :
3404 : ZEND_API int zend_multibyte_yyinput(zend_file_handle *file_handle, char *buf, size_t len TSRMLS_DC)
3405 : {
3406 : int c = '*', n;
3407 :
3408 : if (file_handle->handle.stream.interactive == 0) {
3409 : return zend_stream_read(file_handle, buf, len TSRMLS_CC);
3410 : }
3411 :
3412 : /* interactive */
3413 : if (SCNG(script_org)) {
3414 : efree(SCNG(script_org));
3415 : }
3416 : if (SCNG(script_filtered)) {
3417 : efree(SCNG(script_filtered));
3418 : }
3419 : SCNG(script_org) = NULL;
3420 : SCNG(script_org_size) = 0;
3421 :
3422 : /* TODO: support widechars */
3423 :
3424 : for (n = 0; n < sizeof(buf) && (c = zend_stream_getc(yyin TSRMLS_CC)) != EOF && c != '\n'; ++n) {
3425 : buf[n] = (char)c;
3426 : }
3427 : if (c == '\n') {
3428 : buf[n++] = (char) c;
3429 : }
3430 :
3431 : SCNG(script_org_size) = n;
3432 : SCNG(script_org) = (char*)emalloc(SCNG(script_org_size)+1);
3433 : memcpy(SCNG(script_org)+SCNG(script_org_size)-n, buf, n);
3434 :
3435 : return n;
3436 : }
3437 :
3438 :
3439 : ZEND_API int zend_multibyte_read_script(TSRMLS_D)
3440 : {
3441 : char buf[8192];
3442 : int n;
3443 :
3444 : if (SCNG(script_org)) {
3445 : efree(SCNG(script_org));
3446 : }
3447 : SCNG(script_org) = NULL;
3448 : SCNG(script_org_size) = 0;
3449 :
3450 : for (;;) {
3451 : n = zend_stream_read(yyin, buf, sizeof(buf) TSRMLS_CC);
3452 : if (n <= 0) {
3453 : break;
3454 : }
3455 :
3456 : SCNG(script_org_size) += n;
3457 : if (SCNG(script_org)) {
3458 : SCNG(script_org) = (char*)erealloc(SCNG(script_org), SCNG(script_org_size)+1);
3459 : } else {
3460 : SCNG(script_org) = (char*)emalloc(SCNG(script_org_size)+1);
3461 : }
3462 : memcpy(SCNG(script_org)+SCNG(script_org_size)-n, buf, n);
3463 : }
3464 :
3465 : if (n < 0) {
3466 : return -1;
3467 : }
3468 :
3469 : if (!SCNG(script_org)) {
3470 : SCNG(script_org) = emalloc(SCNG(script_org_size)+1);
3471 : }
3472 : *(SCNG(script_org)+SCNG(script_org_size)) = (char)NULL;
3473 :
3474 : return 0;
3475 : }
3476 :
3477 :
3478 : # define zend_copy_value(zendlval, yytext, yyleng) \
3479 : if (SCNG(output_filter)) { \
3480 : SCNG(output_filter)(&(zendlval->value.str.val), &(zendlval->value.str.len), yytext, yyleng TSRMLS_CC); \
3481 : } else { \
3482 : zendlval->value.str.val = (char *) estrndup(yytext, yyleng); \
3483 : zendlval->value.str.len = yyleng; \
3484 : }
3485 : #else /* ZEND_MULTIBYTE */
3486 : # define zend_copy_value(zendlval, yytext, yyleng) \
3487 : zendlval->value.str.val = (char *)estrndup(yytext, yyleng); \
3488 : zendlval->value.str.len = yyleng;
3489 : #endif /* ZEND_MULTIBYTE */
3490 : #line 3491 "Zend/zend_language_scanner.c"
3491 :
3492 : /* Macros after this point can all be overridden by user definitions in
3493 : * section 1.
3494 : */
3495 :
3496 : #ifndef YY_SKIP_YYWRAP
3497 : #ifdef __cplusplus
3498 : extern "C" int yywrap YY_PROTO(( void ));
3499 : #else
3500 : extern int yywrap YY_PROTO(( void ));
3501 : #endif
3502 : #endif
3503 :
3504 : #ifndef YY_NO_UNPUT
3505 : static void yyunput YY_PROTO(( int c, char *buf_ptr TSRMLS_DC ));
3506 : #endif
3507 :
3508 : #ifndef yytext_ptr
3509 : static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
3510 : #endif
3511 :
3512 : #ifdef YY_NEED_STRLEN
3513 : static int yy_flex_strlen YY_PROTO(( yyconst char * ));
3514 : #endif
3515 :
3516 : #ifndef YY_NO_INPUT
3517 : #ifdef __cplusplus
3518 : static int 3 YY_PROTO(( TSRMLS_D ));
3519 : #else
3520 : static int input YY_PROTO(( TSRMLS_D ));
3521 : #endif
3522 : #endif
3523 :
3524 : #if YY_STACK_USED
3525 : #define yy_start_stack_ptr SCNG(yy_start_stack_ptr)
3526 : #define yy_start_stack_depth SCNG(yy_start_stack_depth)
3527 : #define yy_start_stack SCNG(yy_start_stack)
3528 : /*
3529 : static int yy_start_stack_ptr = 0;
3530 : static int yy_start_stack_depth = 0;
3531 : static int *yy_start_stack = 0;
3532 : */
3533 : #ifndef YY_NO_PUSH_STATE
3534 : static void yy_push_state YY_PROTO(( int new_state TSRMLS_DC ));
3535 : #endif
3536 : #ifndef YY_NO_POP_STATE
3537 : static void yy_pop_state YY_PROTO(( TSRMLS_D ));
3538 : #endif
3539 : #ifndef YY_NO_TOP_STATE
3540 : static int yy_top_state YY_PROTO(( TSRMLS_D ));
3541 : #endif
3542 :
3543 : #else
3544 : #define YY_NO_PUSH_STATE 1
3545 : #define YY_NO_POP_STATE 1
3546 : #define YY_NO_TOP_STATE 1
3547 : #endif
3548 :
3549 : #ifdef YY_MALLOC_DECL
3550 : YY_MALLOC_DECL
3551 : #else
3552 : #if __STDC__
3553 : #ifndef __cplusplus
3554 : #include <stdlib.h>
3555 : #endif
3556 : #else
3557 : /* Just try to get by without declaring the routines. This will fail
3558 : * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
3559 : * or sizeof(void*) != sizeof(int).
3560 : */
3561 : #endif
3562 : #endif
3563 :
3564 : /* Amount of stuff to slurp up with each read. */
3565 : #ifndef YY_READ_BUF_SIZE
3566 : #define YY_READ_BUF_SIZE 8192
3567 : #endif
3568 :
3569 : /* Copy whatever the last rule matched to the standard output. */
3570 :
3571 : /* Zend file handle reading */
3572 : #ifndef ECHO
3573 : #define ECHO /* There is no output */
3574 : #endif
3575 :
3576 : #ifdef ZEND_MULTIBYTE
3577 : # define YY_INPUT(buf, result, max_size) \
3578 : if ( ((result = zend_multibyte_yyinput(yyin, buf, max_size TSRMLS_CC)) == 0) \
3579 : && zend_stream_ferror( yyin TSRMLS_CC) ) \
3580 : YY_FATAL_ERROR( "input in flex scanner failed" );
3581 : #else
3582 : # define YY_INPUT(buf, result, max_size) \
3583 : if ( ((result = zend_stream_read(yyin, buf, max_size TSRMLS_CC)) == 0) \
3584 : && zend_stream_ferror( yyin TSRMLS_CC) ) \
3585 : YY_FATAL_ERROR( "input in flex scanner failed" );
3586 : #endif
3587 :
3588 : #ifndef ECHO
3589 : /* This used to be an fputs(), but since the string might contain NUL's,
3590 : * we now use fwrite().
3591 : */
3592 : #define ECHO (void) fwrite( yytext, yyleng, 1, SCNG(yy_out) )
3593 : #endif
3594 :
3595 : /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3596 : * is returned in "result".
3597 : */
3598 : #ifndef YY_INPUT
3599 : #define YY_INPUT(buf,result,max_size) \
3600 : if ( yy_current_buffer->yy_is_interactive ) \
3601 : { \
3602 : int c = '*', n; \
3603 : for ( n = 0; n < max_size && \
3604 : (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
3605 : buf[n] = (char) c; \
3606 : if ( c == '\n' ) \
3607 : buf[n++] = (char) c; \
3608 : if ( c == EOF && ferror( yyin ) ) \
3609 : YY_FATAL_ERROR( "input in flex scanner failed" ); \
3610 : result = n; \
3611 : } \
3612 : else \
3613 : { \
3614 : errno=0; \
3615 : while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
3616 : { \
3617 : if( errno != EINTR) \
3618 : { \
3619 : YY_FATAL_ERROR( "input in flex scanner failed" ); \
3620 : break; \
3621 : } \
3622 : errno=0; \
3623 : clearerr(yyin); \
3624 : } \
3625 : }
3626 : #endif
3627 :
3628 : /* No semi-colon after return; correct usage is to write "yyterminate();" -
3629 : * we don't want an extra ';' after the "return" because that will cause
3630 : * some compilers to complain about unreachable statements.
3631 : */
3632 : #ifndef yyterminate
3633 : #define yyterminate() return YY_NULL
3634 : #endif
3635 :
3636 : /* Number of entries by which start-condition stack grows. */
3637 : #ifndef YY_START_STACK_INCR
3638 : #define YY_START_STACK_INCR 25
3639 : #endif
3640 :
3641 : /* Report a fatal error. */
3642 : #ifndef YY_FATAL_ERROR
3643 : #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3644 : #endif
3645 :
3646 :
3647 : /* Default declaration of generated scanner - a define so the user can
3648 : * easily add parameters.
3649 : */
3650 : #ifndef YY_DECL
3651 : #define YY_DECL int yylex YY_PROTO(( void ))
3652 : #endif
3653 :
3654 : /* Code executed at the beginning of each rule, after yytext and yyleng
3655 : * have been set up.
3656 : */
3657 : #ifndef YY_USER_ACTION
3658 : #define YY_USER_ACTION
3659 : #endif
3660 :
3661 : /* Code executed at the end of each rule. */
3662 : #ifndef YY_BREAK
3663 : #define YY_BREAK break;
3664 : #endif
3665 :
3666 : #define YY_RULE_SETUP \
3667 : if ( yyleng > 0 ) \
3668 : yy_current_buffer->yy_at_bol = \
3669 : (yytext[yyleng - 1] == '\n'); \
3670 : YY_USER_ACTION
3671 :
3672 : YY_DECL
3673 60230 : {
3674 : register yy_state_type yy_current_state;
3675 : register char *yy_cp, *yy_bp;
3676 : register int yy_act;
3677 :
3678 : #line 809 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3679 :
3680 :
3681 : #line 3682 "Zend/zend_language_scanner.c"
3682 :
3683 60230 : if ( yy_init )
3684 : {
3685 219 : yy_init = 0;
3686 :
3687 : #ifdef YY_USER_INIT
3688 : YY_USER_INIT;
3689 : #endif
3690 :
3691 219 : if ( ! yy_start )
3692 0 : yy_start = 1; /* first start state */
3693 :
3694 : #if 0
3695 : if ( ! SCNG(yy_in) )
3696 : SCNG(yy_in) = stdin;
3697 :
3698 : if ( ! SCNG(yy_out) )
3699 : SCNG(yy_out) = stdout;
3700 : #endif
3701 :
3702 219 : if ( ! yy_current_buffer )
3703 0 : yy_current_buffer =
3704 : yy_create_buffer( SCNG(yy_in), YY_BUF_SIZE TSRMLS_CC );
3705 :
3706 219 : yy_load_buffer_state(TSRMLS_C);
3707 : }
3708 :
3709 : while ( 1 ) /* loops until end-of-file is reached */
3710 : {
3711 60373 : yy_more_len = 0;
3712 60373 : if ( yy_more_flag )
3713 : {
3714 142 : yy_more_len = yy_c_buf_p - yytext_ptr;
3715 142 : yy_more_flag = 0;
3716 : }
3717 60373 : yy_cp = yy_c_buf_p;
3718 :
3719 : /* Support of yytext. */
3720 60373 : *yy_cp = yy_hold_char;
3721 :
3722 : /* yy_bp points to the position in yy_ch_buf of the start of
3723 : * the current run.
3724 : */
3725 60373 : yy_bp = yy_cp;
3726 :
3727 60373 : yy_current_state = yy_start;
3728 60373 : yy_current_state += YY_AT_BOL();
3729 230859 : yy_match:
3730 : do
3731 : {
3732 230859 : register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3733 230859 : if ( yy_accept[yy_current_state] )
3734 : {
3735 136012 : yy_last_accepting_state = yy_current_state;
3736 136012 : yy_last_accepting_cpos = yy_cp;
3737 : }
3738 624492 : while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3739 : {
3740 162774 : yy_current_state = (int) yy_def[yy_current_state];
3741 162774 : if ( yy_current_state >= 1422 )
3742 118893 : yy_c = yy_meta[(unsigned int) yy_c];
3743 : }
3744 230859 : yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3745 230859 : ++yy_cp;
3746 : }
3747 230859 : while ( yy_base[yy_current_state] != 7617 );
3748 :
3749 60725 : yy_find_action:
3750 60725 : yy_act = yy_accept[yy_current_state];
3751 60725 : if ( yy_act == 0 )
3752 : { /* have to back up */
3753 40217 : yy_cp = yy_last_accepting_cpos;
3754 40217 : yy_current_state = yy_last_accepting_state;
3755 40217 : yy_act = yy_accept[yy_current_state];
3756 : }
3757 :
3758 60725 : YY_DO_BEFORE_ACTION;
3759 :
3760 :
3761 61060 : do_action: /* This label is used only to access EOF actions. */
3762 :
3763 :
3764 61060 : switch ( yy_act )
3765 : { /* beginning of action switch */
3766 : case 0: /* must back up */
3767 : /* undo the effects of YY_DO_BEFORE_ACTION */
3768 0 : *yy_cp = yy_hold_char;
3769 0 : yy_cp = yy_last_accepting_cpos;
3770 0 : yy_current_state = yy_last_accepting_state;
3771 0 : goto yy_find_action;
3772 :
3773 : case 1:
3774 117 : YY_RULE_SETUP
3775 : #line 811 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3776 : {
3777 : return T_EXIT;
3778 : }
3779 : YY_BREAK
3780 : case 2:
3781 : YY_RULE_SETUP
3782 : #line 815 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3783 : {
3784 : return T_EXIT;
3785 : }
3786 : YY_BREAK
3787 : case 3:
3788 : YY_RULE_SETUP
3789 : #line 819 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3790 : {
3791 : return T_FUNCTION;
3792 : }
3793 : YY_BREAK
3794 : case 4:
3795 : YY_RULE_SETUP
3796 : #line 823 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3797 : {
3798 : return T_CONST;
3799 : }
3800 : YY_BREAK
3801 : case 5:
3802 : YY_RULE_SETUP
3803 : #line 827 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3804 : {
3805 : return T_RETURN;
3806 : }
3807 : YY_BREAK
3808 : case 6:
3809 : YY_RULE_SETUP
3810 : #line 831 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3811 : {
3812 : return T_TRY;
3813 : }
3814 : YY_BREAK
3815 : case 7:
3816 : YY_RULE_SETUP
3817 : #line 835 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3818 : {
3819 : return T_CATCH;
3820 : }
3821 : YY_BREAK
3822 : case 8:
3823 : YY_RULE_SETUP
3824 : #line 839 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3825 : {
3826 : return T_THROW;
3827 : }
3828 : YY_BREAK
3829 : case 9:
3830 : YY_RULE_SETUP
3831 : #line 843 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3832 : {
3833 : return T_IF;
3834 : }
3835 : YY_BREAK
3836 : case 10:
3837 : YY_RULE_SETUP
3838 : #line 847 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3839 : {
3840 : return T_ELSEIF;
3841 : }
3842 : YY_BREAK
3843 : case 11:
3844 : YY_RULE_SETUP
3845 : #line 851 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3846 : {
3847 : return T_ENDIF;
3848 : }
3849 : YY_BREAK
3850 : case 12:
3851 : YY_RULE_SETUP
3852 : #line 855 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3853 : {
3854 : return T_ELSE;
3855 : }
3856 : YY_BREAK
3857 : case 13:
3858 : YY_RULE_SETUP
3859 : #line 859 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3860 : {
3861 : return T_WHILE;
3862 : }
3863 : YY_BREAK
3864 : case 14:
3865 : YY_RULE_SETUP
3866 : #line 863 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3867 : {
3868 : return T_ENDWHILE;
3869 : }
3870 : YY_BREAK
3871 : case 15:
3872 : YY_RULE_SETUP
3873 : #line 867 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3874 : {
3875 : return T_DO;
3876 : }
3877 : YY_BREAK
3878 : case 16:
3879 : YY_RULE_SETUP
3880 : #line 871 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3881 : {
3882 : return T_FOR;
3883 : }
3884 : YY_BREAK
3885 : case 17:
3886 : YY_RULE_SETUP
3887 : #line 875 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3888 : {
3889 : return T_ENDFOR;
3890 : }
3891 : YY_BREAK
3892 : case 18:
3893 : YY_RULE_SETUP
3894 : #line 879 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3895 : {
3896 : return T_FOREACH;
3897 : }
3898 : YY_BREAK
3899 : case 19:
3900 : YY_RULE_SETUP
3901 : #line 883 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3902 : {
3903 : return T_ENDFOREACH;
3904 : }
3905 : YY_BREAK
3906 : case 20:
3907 : YY_RULE_SETUP
3908 : #line 887 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3909 : {
3910 : return T_DECLARE;
3911 : }
3912 : YY_BREAK
3913 : case 21:
3914 : YY_RULE_SETUP
3915 : #line 891 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3916 : {
3917 : return T_ENDDECLARE;
3918 : }
3919 : YY_BREAK
3920 : case 22:
3921 : YY_RULE_SETUP
3922 : #line 895 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3923 : {
3924 : return T_INSTANCEOF;
3925 : }
3926 : YY_BREAK
3927 : case 23:
3928 : YY_RULE_SETUP
3929 : #line 899 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3930 : {
3931 : return T_AS;
3932 : }
3933 : YY_BREAK
3934 : case 24:
3935 : YY_RULE_SETUP
3936 : #line 903 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3937 : {
3938 : return T_SWITCH;
3939 : }
3940 : YY_BREAK
3941 : case 25:
3942 : YY_RULE_SETUP
3943 : #line 907 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3944 : {
3945 : return T_ENDSWITCH;
3946 : }
3947 : YY_BREAK
3948 : case 26:
3949 : YY_RULE_SETUP
3950 : #line 911 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3951 : {
3952 : return T_CASE;
3953 : }
3954 : YY_BREAK
3955 : case 27:
3956 : YY_RULE_SETUP
3957 : #line 915 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3958 : {
3959 : return T_DEFAULT;
3960 : }
3961 : YY_BREAK
3962 : case 28:
3963 : YY_RULE_SETUP
3964 : #line 919 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3965 : {
3966 : return T_BREAK;
3967 : }
3968 : YY_BREAK
3969 : case 29:
3970 : YY_RULE_SETUP
3971 : #line 923 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3972 : {
3973 : return T_CONTINUE;
3974 : }
3975 : YY_BREAK
3976 : case 30:
3977 : YY_RULE_SETUP
3978 : #line 927 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3979 : {
3980 : return T_ECHO;
3981 : }
3982 : YY_BREAK
3983 : case 31:
3984 : YY_RULE_SETUP
3985 : #line 931 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3986 : {
3987 : return T_PRINT;
3988 : }
3989 : YY_BREAK
3990 : case 32:
3991 : YY_RULE_SETUP
3992 : #line 935 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
3993 : {
3994 : return T_CLASS;
3995 : }
3996 : YY_BREAK
3997 : case 33:
3998 : YY_RULE_SETUP
3999 : #line 939 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4000 : {
4001 : return T_INTERFACE;
4002 : }
4003 : YY_BREAK
4004 : case 34:
4005 : YY_RULE_SETUP
4006 : #line 943 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4007 : {
4008 : return T_EXTENDS;
4009 : }
4010 : YY_BREAK
4011 : case 35:
4012 : YY_RULE_SETUP
4013 : #line 947 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4014 : {
4015 : return T_IMPLEMENTS;
4016 : }
4017 : YY_BREAK
4018 : case 36:
4019 : YY_RULE_SETUP
4020 : #line 951 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4021 : {
4022 : yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
4023 : return T_OBJECT_OPERATOR;
4024 : }
4025 : YY_BREAK
4026 : case 37:
4027 : YY_RULE_SETUP
4028 : #line 956 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4029 : {
4030 : yy_pop_state(TSRMLS_C);
4031 : zend_copy_value(zendlval, yytext, yyleng);
4032 : zendlval->type = IS_STRING;
4033 : return T_STRING;
4034 : }
4035 : YY_BREAK
4036 : case 38:
4037 : YY_RULE_SETUP
4038 : #line 963 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4039 : {
4040 : yyless(0);
4041 : yy_pop_state(TSRMLS_C);
4042 : }
4043 : YY_BREAK
4044 : case 39:
4045 : YY_RULE_SETUP
4046 : #line 968 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4047 : {
4048 : return T_PAAMAYIM_NEKUDOTAYIM;
4049 : }
4050 : YY_BREAK
4051 : case 40:
4052 : YY_RULE_SETUP
4053 : #line 972 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4054 : {
4055 : return T_NEW;
4056 : }
4057 : YY_BREAK
4058 : case 41:
4059 : YY_RULE_SETUP
4060 : #line 976 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4061 : {
4062 : return T_CLONE;
4063 : }
4064 : YY_BREAK
4065 : case 42:
4066 : YY_RULE_SETUP
4067 : #line 980 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4068 : {
4069 : return T_VAR;
4070 : }
4071 : YY_BREAK
4072 : case 43:
4073 : YY_RULE_SETUP
4074 : #line 984 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4075 : {
4076 : return T_INT_CAST;
4077 : }
4078 : YY_BREAK
4079 : case 44:
4080 : YY_RULE_SETUP
4081 : #line 988 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4082 : {
4083 : return T_DOUBLE_CAST;
4084 : }
4085 : YY_BREAK
4086 : case 45:
4087 : YY_RULE_SETUP
4088 : #line 992 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4089 : {
4090 : return T_STRING_CAST;
4091 : }
4092 : YY_BREAK
4093 : case 46:
4094 : YY_RULE_SETUP
4095 : #line 996 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4096 : {
4097 : return T_STRING_CAST;
4098 : }
4099 : YY_BREAK
4100 : case 47:
4101 : YY_RULE_SETUP
4102 : #line 1000 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4103 : {
4104 : return T_ARRAY_CAST;
4105 : }
4106 : YY_BREAK
4107 : case 48:
4108 : YY_RULE_SETUP
4109 : #line 1004 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4110 : {
4111 : return T_OBJECT_CAST;
4112 : }
4113 : YY_BREAK
4114 : case 49:
4115 : YY_RULE_SETUP
4116 : #line 1008 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4117 : {
4118 : return T_BOOL_CAST;
4119 : }
4120 : YY_BREAK
4121 : case 50:
4122 : YY_RULE_SETUP
4123 : #line 1012 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4124 : {
4125 : return T_UNSET_CAST;
4126 : }
4127 : YY_BREAK
4128 : case 51:
4129 : YY_RULE_SETUP
4130 : #line 1016 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4131 : {
4132 : return T_EVAL;
4133 : }
4134 : YY_BREAK
4135 : case 52:
4136 : YY_RULE_SETUP
4137 : #line 1020 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4138 : {
4139 : return T_INCLUDE;
4140 : }
4141 : YY_BREAK
4142 : case 53:
4143 : YY_RULE_SETUP
4144 : #line 1024 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4145 : {
4146 : return T_INCLUDE_ONCE;
4147 : }
4148 : YY_BREAK
4149 : case 54:
4150 : YY_RULE_SETUP
4151 : #line 1028 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4152 : {
4153 : return T_REQUIRE;
4154 : }
4155 : YY_BREAK
4156 : case 55:
4157 : YY_RULE_SETUP
4158 : #line 1032 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4159 : {
4160 : return T_REQUIRE_ONCE;
4161 : }
4162 : YY_BREAK
4163 : case 56:
4164 : YY_RULE_SETUP
4165 : #line 1036 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4166 : {
4167 : return T_USE;
4168 : }
4169 : YY_BREAK
4170 : case 57:
4171 : YY_RULE_SETUP
4172 : #line 1040 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4173 : {
4174 : return T_GLOBAL;
4175 : }
4176 : YY_BREAK
4177 : case 58:
4178 : YY_RULE_SETUP
4179 : #line 1044 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4180 : {
4181 : return T_ISSET;
4182 : }
4183 : YY_BREAK
4184 : case 59:
4185 : YY_RULE_SETUP
4186 : #line 1048 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4187 : {
4188 : return T_EMPTY;
4189 : }
4190 : YY_BREAK
4191 : case 60:
4192 : YY_RULE_SETUP
4193 : #line 1052 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4194 : {
4195 : return T_HALT_COMPILER;
4196 : }
4197 : YY_BREAK
4198 : case 61:
4199 : YY_RULE_SETUP
4200 : #line 1056 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4201 : {
4202 : return T_STATIC;
4203 : }
4204 : YY_BREAK
4205 : case 62:
4206 : YY_RULE_SETUP
4207 : #line 1060 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4208 : {
4209 : return T_ABSTRACT;
4210 : }
4211 : YY_BREAK
4212 : case 63:
4213 : YY_RULE_SETUP
4214 : #line 1064 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4215 : {
4216 : return T_FINAL;
4217 : }
4218 : YY_BREAK
4219 : case 64:
4220 : YY_RULE_SETUP
4221 : #line 1068 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4222 : {
4223 : return T_PRIVATE;
4224 : }
4225 : YY_BREAK
4226 : case 65:
4227 : YY_RULE_SETUP
4228 : #line 1072 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4229 : {
4230 : return T_PROTECTED;
4231 : }
4232 : YY_BREAK
4233 : case 66:
4234 : YY_RULE_SETUP
4235 : #line 1076 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4236 : {
4237 : return T_PUBLIC;
4238 : }
4239 : YY_BREAK
4240 : case 67:
4241 : YY_RULE_SETUP
4242 : #line 1080 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4243 : {
4244 : return T_UNSET;
4245 : }
4246 : YY_BREAK
4247 : case 68:
4248 : YY_RULE_SETUP
4249 : #line 1084 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4250 : {
4251 : return T_DOUBLE_ARROW;
4252 : }
4253 : YY_BREAK
4254 : case 69:
4255 : YY_RULE_SETUP
4256 : #line 1088 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4257 : {
4258 : return T_LIST;
4259 : }
4260 : YY_BREAK
4261 : case 70:
4262 : YY_RULE_SETUP
4263 : #line 1092 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4264 : {
4265 : return T_ARRAY;
4266 : }
4267 : YY_BREAK
4268 : case 71:
4269 : YY_RULE_SETUP
4270 : #line 1096 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4271 : {
4272 : return T_INC;
4273 : }
4274 : YY_BREAK
4275 : case 72:
4276 : YY_RULE_SETUP
4277 : #line 1100 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4278 : {
4279 : return T_DEC;
4280 : }
4281 : YY_BREAK
4282 : case 73:
4283 : YY_RULE_SETUP
4284 : #line 1104 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4285 : {
4286 : return T_IS_IDENTICAL;
4287 : }
4288 : YY_BREAK
4289 : case 74:
4290 : YY_RULE_SETUP
4291 : #line 1108 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4292 : {
4293 : return T_IS_NOT_IDENTICAL;
4294 : }
4295 : YY_BREAK
4296 : case 75:
4297 : YY_RULE_SETUP
4298 : #line 1112 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4299 : {
4300 : return T_IS_EQUAL;
4301 : }
4302 : YY_BREAK
4303 : case 76:
4304 : YY_RULE_SETUP
4305 : #line 1116 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4306 : {
4307 : return T_IS_NOT_EQUAL;
4308 : }
4309 : YY_BREAK
4310 : case 77:
4311 : YY_RULE_SETUP
4312 : #line 1120 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4313 : {
4314 : return T_IS_SMALLER_OR_EQUAL;
4315 : }
4316 : YY_BREAK
4317 : case 78:
4318 : YY_RULE_SETUP
4319 : #line 1124 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4320 : {
4321 : return T_IS_GREATER_OR_EQUAL;
4322 : }
4323 : YY_BREAK
4324 : case 79:
4325 : YY_RULE_SETUP
4326 : #line 1128 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4327 : {
4328 : return T_PLUS_EQUAL;
4329 : }
4330 : YY_BREAK
4331 : case 80:
4332 : YY_RULE_SETUP
4333 : #line 1132 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4334 : {
4335 : return T_MINUS_EQUAL;
4336 : }
4337 : YY_BREAK
4338 : case 81:
4339 : YY_RULE_SETUP
4340 : #line 1136 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4341 : {
4342 : return T_MUL_EQUAL;
4343 : }
4344 : YY_BREAK
4345 : case 82:
4346 : YY_RULE_SETUP
4347 : #line 1140 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4348 : {
4349 : return T_DIV_EQUAL;
4350 : }
4351 : YY_BREAK
4352 : case 83:
4353 : YY_RULE_SETUP
4354 : #line 1144 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4355 : {
4356 : return T_CONCAT_EQUAL;
4357 : }
4358 : YY_BREAK
4359 : case 84:
4360 : YY_RULE_SETUP
4361 : #line 1148 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4362 : {
4363 : return T_MOD_EQUAL;
4364 : }
4365 : YY_BREAK
4366 : case 85:
4367 : YY_RULE_SETUP
4368 : #line 1152 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4369 : {
4370 : return T_SL_EQUAL;
4371 : }
4372 : YY_BREAK
4373 : case 86:
4374 : YY_RULE_SETUP
4375 : #line 1156 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4376 : {
4377 : return T_SR_EQUAL;
4378 : }
4379 : YY_BREAK
4380 : case 87:
4381 : YY_RULE_SETUP
4382 : #line 1160 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4383 : {
4384 : return T_AND_EQUAL;
4385 : }
4386 : YY_BREAK
4387 : case 88:
4388 : YY_RULE_SETUP
4389 : #line 1164 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4390 : {
4391 : return T_OR_EQUAL;
4392 : }
4393 : YY_BREAK
4394 : case 89:
4395 : YY_RULE_SETUP
4396 : #line 1168 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4397 : {
4398 : return T_XOR_EQUAL;
4399 : }
4400 : YY_BREAK
4401 : case 90:
4402 : YY_RULE_SETUP
4403 : #line 1172 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4404 : {
4405 : return T_BOOLEAN_OR;
4406 : }
4407 : YY_BREAK
4408 : case 91:
4409 : YY_RULE_SETUP
4410 : #line 1176 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4411 : {
4412 : return T_BOOLEAN_AND;
4413 : }
4414 : YY_BREAK
4415 : case 92:
4416 : YY_RULE_SETUP
4417 : #line 1180 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4418 : {
4419 : return T_LOGICAL_OR;
4420 : }
4421 : YY_BREAK
4422 : case 93:
4423 : YY_RULE_SETUP
4424 : #line 1184 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4425 : {
4426 : return T_LOGICAL_AND;
4427 : }
4428 : YY_BREAK
4429 : case 94:
4430 : YY_RULE_SETUP
4431 : #line 1188 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4432 : {
4433 : return T_LOGICAL_XOR;
4434 : }
4435 : YY_BREAK
4436 : case 95:
4437 : YY_RULE_SETUP
4438 : #line 1192 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4439 : {
4440 : return T_SL;
4441 : }
4442 : YY_BREAK
4443 : case 96:
4444 : YY_RULE_SETUP
4445 : #line 1196 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4446 : {
4447 : return T_SR;
4448 : }
4449 : YY_BREAK
4450 : case 97:
4451 : YY_RULE_SETUP
4452 : #line 1200 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4453 : {
4454 : return yytext[0];
4455 : }
4456 : YY_BREAK
4457 : case 98:
4458 : YY_RULE_SETUP
4459 : #line 1205 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4460 : {
4461 : yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
4462 : return '{';
4463 : }
4464 : YY_BREAK
4465 : case 99:
4466 : YY_RULE_SETUP
4467 : #line 1211 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4468 : {
4469 : yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
4470 : return T_DOLLAR_OPEN_CURLY_BRACES;
4471 : }
4472 : YY_BREAK
4473 : case 100:
4474 : YY_RULE_SETUP
4475 : #line 1217 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4476 : {
4477 : RESET_DOC_COMMENT();
4478 : /* This is a temporary fix which is dependant on flex and it's implementation */
4479 : if (yy_start_stack_ptr) {
4480 : yy_pop_state(TSRMLS_C);
4481 : }
4482 : return '}';
4483 : }
4484 : YY_BREAK
4485 : case 101:
4486 : YY_RULE_SETUP
4487 : #line 1227 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4488 : {
4489 : zend_copy_value(zendlval, yytext, yyleng);
4490 : zendlval->type = IS_STRING;
4491 : yy_pop_state(TSRMLS_C);
4492 : yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
4493 : return T_STRING_VARNAME;
4494 : }
4495 : YY_BREAK
4496 : case 102:
4497 : YY_RULE_SETUP
4498 : #line 1236 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4499 : {
4500 : yyless(0);
4501 : yy_pop_state(TSRMLS_C);
4502 : yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
4503 : }
4504 : YY_BREAK
4505 : case 103:
4506 : YY_RULE_SETUP
4507 : #line 1243 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4508 : {
4509 : if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
4510 : zendlval->value.lval = strtol(yytext, NULL, 0);
4511 : } else {
4512 : errno = 0;
4513 : zendlval->value.lval = strtol(yytext, NULL, 0);
4514 : if (errno == ERANGE) { /* Overflow */
4515 : zendlval->value.dval = zend_strtod(yytext, NULL);
4516 : zendlval->type = IS_DOUBLE;
4517 : return T_DNUMBER;
4518 : }
4519 : }
4520 :
4521 : zendlval->type = IS_LONG;
4522 : return T_LNUMBER;
4523 : }
4524 : YY_BREAK
4525 : case 104:
4526 : YY_RULE_SETUP
4527 : #line 1260 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4528 : {
4529 : char *hex = yytext + 2; /* Skip "0x" */
4530 : int len = yyleng - 2;
4531 :
4532 : /* Skip any leading 0s */
4533 : while (*hex == '0') {
4534 : hex++;
4535 : len--;
4536 : }
4537 :
4538 : if (len < SIZEOF_LONG * 2 || (len == SIZEOF_LONG * 2 && *hex <= '7')) {
4539 : zendlval->value.lval = strtol(hex, NULL, 16);
4540 : zendlval->type = IS_LONG;
4541 : return T_LNUMBER;
4542 : } else {
4543 : zendlval->value.dval = zend_hex_strtod(hex, NULL);
4544 : zendlval->type = IS_DOUBLE;
4545 : return T_DNUMBER;
4546 : }
4547 : }
4548 : YY_BREAK
4549 : case 105:
4550 : YY_RULE_SETUP
4551 : #line 1281 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4552 : { /* treat numbers (almost) as strings inside encapsulated strings */
4553 : zendlval->value.str.val = (char *)estrndup(yytext, yyleng);
4554 : zendlval->value.str.len = yyleng;
4555 : zendlval->type = IS_STRING;
4556 : return T_NUM_STRING;
4557 : }
4558 : YY_BREAK
4559 : case 106:
4560 : YY_RULE_SETUP
4561 : #line 1288 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4562 : {
4563 : zendlval->value.dval = zend_strtod(yytext, NULL);
4564 : zendlval->type = IS_DOUBLE;
4565 : return T_DNUMBER;
4566 : }
4567 : YY_BREAK
4568 : case 107:
4569 : YY_RULE_SETUP
4570 : #line 1294 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4571 : {
4572 : char *class_name = NULL;
4573 :
4574 : if (CG(active_class_entry)) {
4575 : class_name = CG(active_class_entry)->name;
4576 : }
4577 :
4578 : if (!class_name) {
4579 : class_name = "";
4580 : }
4581 : zendlval->value.str.len = strlen(class_name);
4582 : zendlval->value.str.val = estrndup(class_name, zendlval->value.str.len);
4583 : zendlval->type = IS_STRING;
4584 : return T_CLASS_C;
4585 : }
4586 : YY_BREAK
4587 : case 108:
4588 : YY_RULE_SETUP
4589 : #line 1310 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4590 : {
4591 : char *func_name = NULL;
4592 :
4593 : if (CG(active_op_array)) {
4594 : func_name = CG(active_op_array)->function_name;
4595 : }
4596 :
4597 : if (!func_name) {
4598 : func_name = "";
4599 : }
4600 : zendlval->value.str.len = strlen(func_name);
4601 : zendlval->value.str.val = estrndup(func_name, zendlval->value.str.len);
4602 : zendlval->type = IS_STRING;
4603 : return T_FUNC_C;
4604 : }
4605 : YY_BREAK
4606 : case 109:
4607 : YY_RULE_SETUP
4608 : #line 1326 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4609 : {
4610 : char *class_name = CG(active_class_entry) ? CG(active_class_entry)->name : NULL;
4611 : char *func_name = CG(active_op_array)? CG(active_op_array)->function_name : NULL;
4612 : size_t len = 0;
4613 :
4614 : if (class_name) {
4615 : len += strlen(class_name) + 2;
4616 : }
4617 : if (func_name) {
4618 : len += strlen(func_name);
4619 : }
4620 :
4621 : zendlval->value.str.len = zend_spprintf(&zendlval->value.str.val, 0, "%s%s%s",
4622 : class_name ? class_name : "",
4623 : class_name && func_name ? "::" : "",
4624 : func_name ? func_name : ""
4625 : );
4626 : zendlval->type = IS_STRING;
4627 : return T_METHOD_C;
4628 : }
4629 : YY_BREAK
4630 : case 110:
4631 : YY_RULE_SETUP
4632 : #line 1347 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4633 : {
4634 : zendlval->value.lval = CG(zend_lineno);
4635 : zendlval->type = IS_LONG;
4636 : return T_LINE;
4637 : }
4638 : YY_BREAK
4639 : case 111:
4640 : YY_RULE_SETUP
4641 : #line 1353 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4642 : {
4643 : char *filename = zend_get_compiled_filename(TSRMLS_C);
4644 :
4645 : if (!filename) {
4646 : filename = "";
4647 : }
4648 : zendlval->value.str.len = strlen(filename);
4649 : zendlval->value.str.val = estrndup(filename, zendlval->value.str.len);
4650 : zendlval->type = IS_STRING;
4651 : return T_FILE;
4652 : }
4653 : YY_BREAK
4654 : case 112:
4655 : YY_RULE_SETUP
4656 : #line 1365 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4657 : {
4658 : #ifdef ZEND_MULTIBYTE
4659 : if (SCNG(output_filter)) {
4660 : int readsize;
4661 : readsize = SCNG(output_filter)(&(zendlval->value.str.val), &(zendlval->value.str.len), yytext, yyleng TSRMLS_CC);
4662 : if (readsize < yyleng) {
4663 : yyless(readsize);
4664 : }
4665 : } else {
4666 : zendlval->value.str.val = (char *) estrndup(yytext, yyleng);
4667 : zendlval->value.str.len = yyleng;
4668 : }
4669 : #else /* !ZEND_MULTIBYTE */
4670 : zendlval->value.str.val = (char *) estrndup(yytext, yyleng);
4671 : zendlval->value.str.len = yyleng;
4672 : #endif /* ZEND_MULTIBYTE */
4673 : zendlval->type = IS_STRING;
4674 : HANDLE_NEWLINES(yytext, yyleng);
4675 : return T_INLINE_HTML;
4676 : }
4677 : YY_BREAK
4678 : case 113:
4679 : YY_RULE_SETUP
4680 : #line 1386 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4681 : {
4682 : HANDLE_NEWLINES(yytext, yyleng);
4683 : if (CG(short_tags) || yyleng>2) { /* yyleng>2 means it's not <? but <script> */
4684 : zendlval->value.str.val = yytext; /* no copying - intentional */
4685 : zendlval->value.str.len = yyleng;
4686 : zendlval->type = IS_STRING;
4687 : BEGIN(ST_IN_SCRIPTING);
4688 : return T_OPEN_TAG;
4689 : } else {
4690 : zendlval->value.str.val = (char *) estrndup(yytext, yyleng);
4691 : zendlval->value.str.len = yyleng;
4692 : zendlval->type = IS_STRING;
4693 : return T_INLINE_HTML;
4694 : }
4695 : }
4696 : YY_BREAK
4697 : case 114:
4698 : YY_RULE_SETUP
4699 : #line 1403 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4700 : {
4701 : if ((yytext[1]=='%' && CG(asp_tags)) || (yytext[1]=='?' && CG(short_tags))) {
4702 : zendlval->value.str.val = yytext; /* no copying - intentional */
4703 : zendlval->value.str.len = yyleng;
4704 : zendlval->type = IS_STRING;
4705 : BEGIN(ST_IN_SCRIPTING);
4706 : return T_OPEN_TAG_WITH_ECHO;
4707 : } else {
4708 : zendlval->value.str.val = (char *) estrndup(yytext, yyleng);
4709 : zendlval->value.str.len = yyleng;
4710 : zendlval->type = IS_STRING;
4711 : return T_INLINE_HTML;
4712 : }
4713 : }
4714 : YY_BREAK
4715 : case 115:
4716 : YY_RULE_SETUP
4717 : #line 1419 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4718 : {
4719 : if (CG(asp_tags)) {
4720 : zendlval->value.str.val = yytext; /* no copying - intentional */
4721 : zendlval->value.str.len = yyleng;
4722 : zendlval->type = IS_STRING;
4723 : BEGIN(ST_IN_SCRIPTING);
4724 : return T_OPEN_TAG;
4725 : } else {
4726 : zendlval->value.str.val = (char *) estrndup(yytext, yyleng);
4727 : zendlval->value.str.len = yyleng;
4728 : zendlval->type = IS_STRING;
4729 : return T_INLINE_HTML;
4730 : }
4731 : }
4732 : YY_BREAK
4733 : case 116:
4734 : YY_RULE_SETUP
4735 : #line 1435 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4736 : {
4737 : zendlval->value.str.val = yytext; /* no copying - intentional */
4738 : zendlval->value.str.len = yyleng;
4739 : zendlval->type = IS_STRING;
4740 : HANDLE_NEWLINE(yytext[yyleng-1]);
4741 : BEGIN(ST_IN_SCRIPTING);
4742 : return T_OPEN_TAG;
4743 : }
4744 : YY_BREAK
4745 : case 117:
4746 : YY_RULE_SETUP
4747 : #line 1444 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4748 : {
4749 : zend_copy_value(zendlval, (yytext+1), (yyleng-1));
4750 : zendlval->type = IS_STRING;
4751 : return T_VARIABLE;
4752 : }
4753 : YY_BREAK
4754 : case 118:
4755 : YY_RULE_SETUP
4756 : #line 1450 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4757 : {
4758 : zend_copy_value(zendlval, yytext, yyleng);
4759 : zendlval->type = IS_STRING;
4760 : return T_STRING;
4761 : }
4762 : YY_BREAK
4763 : case 119:
4764 : YY_RULE_SETUP
4765 : #line 1456 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4766 : {
4767 : zend_copy_value(zendlval, yytext, yyleng);
4768 : zendlval->type = IS_STRING;
4769 : return T_STRING;
4770 : }
4771 : YY_BREAK
4772 : case 120:
4773 : YY_RULE_SETUP
4774 : #line 1463 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4775 : {
4776 : zendlval->value.str.val = yytext; /* no copying - intentional */
4777 : zendlval->value.str.len = yyleng;
4778 : zendlval->type = IS_STRING;
4779 : HANDLE_NEWLINES(yytext, yyleng);
4780 : return T_WHITESPACE;
4781 : }
4782 : YY_BREAK
4783 : case 121:
4784 : YY_RULE_SETUP
4785 : #line 1472 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4786 : {
4787 : BEGIN(ST_ONE_LINE_COMMENT);
4788 : yymore();
4789 : }
4790 : YY_BREAK
4791 : case 122:
4792 : YY_RULE_SETUP
4793 : #line 1477 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4794 : {
4795 : yymore();
4796 : }
4797 : YY_BREAK
4798 : case 123:
4799 : YY_RULE_SETUP
4800 : #line 1481 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4801 : {
4802 : switch (yytext[yyleng-1]) {
4803 : case '?': case '%': case '>':
4804 : yyless(yyleng-1);
4805 : yymore();
4806 : break;
4807 : case '\n':
4808 : CG(zend_lineno)++;
4809 : /* intentional fall through */
4810 : default:
4811 : zendlval->value.str.val = yytext; /* no copying - intentional */
4812 : zendlval->value.str.len = yyleng;
4813 : zendlval->type = IS_STRING;
4814 : BEGIN(ST_IN_SCRIPTING);
4815 : return T_COMMENT;
4816 : }
4817 : }
4818 : YY_BREAK
4819 : case 124:
4820 : YY_RULE_SETUP
4821 : #line 1499 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4822 : {
4823 : zendlval->value.str.val = yytext; /* no copying - intentional */
4824 : zendlval->value.str.len = yyleng;
4825 : zendlval->type = IS_STRING;
4826 : BEGIN(ST_IN_SCRIPTING);
4827 : CG(zend_lineno)++;
4828 : return T_COMMENT;
4829 : }
4830 : YY_BREAK
4831 : case 125:
4832 : YY_RULE_SETUP
4833 : #line 1508 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4834 : {
4835 : if (CG(asp_tags) || yytext[yyleng-2] != '%') { /* asp comment? */
4836 : zendlval->value.str.val = yytext; /* no copying - intentional */
4837 : zendlval->value.str.len = yyleng-2;
4838 : zendlval->type = IS_STRING;
4839 : yyless(yyleng-2);
4840 : BEGIN(ST_IN_SCRIPTING);
4841 : return T_COMMENT;
4842 : } else {
4843 : yymore();
4844 : }
4845 : }
4846 : YY_BREAK
4847 : case 126:
4848 : YY_RULE_SETUP
4849 : #line 1521 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4850 : {
4851 : CG(comment_start_line) = CG(zend_lineno);
4852 : RESET_DOC_COMMENT();
4853 : BEGIN(ST_DOC_COMMENT);
4854 : yymore();
4855 : }
4856 : YY_BREAK
4857 : case 127:
4858 : YY_RULE_SETUP
4859 : #line 1528 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4860 : {
4861 : CG(comment_start_line) = CG(zend_lineno);
4862 : BEGIN(ST_COMMENT);
4863 : yymore();
4864 : }
4865 : YY_BREAK
4866 : case 128:
4867 : YY_RULE_SETUP
4868 : #line 1535 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4869 : {
4870 : yymore();
4871 : }
4872 : YY_BREAK
4873 : case 129:
4874 : YY_RULE_SETUP
4875 : #line 1539 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4876 : {
4877 : CG(doc_comment) = estrndup(yytext, yyleng);
4878 : CG(doc_comment_len) = yyleng;
4879 : HANDLE_NEWLINES(yytext, yyleng);
4880 : BEGIN(ST_IN_SCRIPTING);
4881 : return T_DOC_COMMENT;
4882 : }
4883 : YY_BREAK
4884 : case 130:
4885 : YY_RULE_SETUP
4886 : #line 1547 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4887 : {
4888 : HANDLE_NEWLINES(yytext, yyleng);
4889 : BEGIN(ST_IN_SCRIPTING);
4890 : return T_COMMENT;
4891 : }
4892 : YY_BREAK
4893 : case 131:
4894 : YY_RULE_SETUP
4895 : #line 1553 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4896 : {
4897 : yymore();
4898 : }
4899 : YY_BREAK
4900 : case 132:
4901 : YY_RULE_SETUP
4902 : #line 1557 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4903 : {
4904 : zendlval->value.str.val = yytext; /* no copying - intentional */
4905 : zendlval->value.str.len = yyleng;
4906 : zendlval->type = IS_STRING;
4907 : BEGIN(INITIAL);
4908 : return T_CLOSE_TAG; /* implicit ';' at php-end tag */
4909 : }
4910 : YY_BREAK
4911 : case 133:
4912 : YY_RULE_SETUP
4913 : #line 1566 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4914 : {
4915 : if (CG(asp_tags)) {
4916 : BEGIN(INITIAL);
4917 : zendlval->value.str.len = yyleng;
4918 : zendlval->type = IS_STRING;
4919 : zendlval->value.str.val = yytext; /* no copying - intentional */
4920 : return T_CLOSE_TAG; /* implicit ';' at php-end tag */
4921 : } else {
4922 : yyless(1);
4923 : return yytext[0];
4924 : }
4925 : }
4926 : YY_BREAK
4927 : case 134:
4928 : YY_RULE_SETUP
4929 : #line 1580 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
4930 : {
4931 : register char *s, *t;
4932 : char *end;
4933 : int bprefix = (*yytext == 'b') ? 1 : 0;
4934 :
4935 : zendlval->value.str.val = estrndup(yytext+bprefix+1, yyleng-bprefix-2);
4936 : zendlval->value.str.len = yyleng-bprefix-2;
4937 : zendlval->type = IS_STRING;
4938 : HANDLE_NEWLINES(yytext, yyleng);
4939 :
4940 : /* convert escape sequences */
4941 : s = t = zendlval->value.str.val;
4942 : end = s+zendlval->value.str.len;
4943 : while (s<end) {
4944 : if (*s=='\\') {
4945 : s++;
4946 : if (s>=end) {
4947 : continue;
4948 : }
4949 : switch(*s) {
4950 : case 'n':
4951 : *t++ = '\n';
4952 : zendlval->value.str.len--;
4953 : break;
4954 : case 'r':
4955 : *t++ = '\r';
4956 : zendlval->value.str.len--;
4957 : break;
4958 : case 't':
4959 : *t++ = '\t';
4960 : zendlval->value.str.len--;
4961 : break;
4962 : case '\\':
4963 : case '$':
4964 : case '"':
4965 : *t++ = *s;
4966 : zendlval->value.str.len--;
4967 : break;
4968 : default:
4969 : /* check for an octal */
4970 : if (ZEND_IS_OCT(*s)) {
4971 : char octal_buf[4] = { 0, 0, 0, 0 };
4972 :
4973 : octal_buf[0] = *s;
4974 : zendlval->value.str.len--;
4975 : if ((s+1)<end && ZEND_IS_OCT(*(s+1))) {
4976 : octal_buf[1] = *(++s);
4977 : zendlval->value.str.len--;
4978 : if ((s+1)<end && ZEND_IS_OCT(*(s+1))) {
4979 : octal_buf[2] = *(++s);
4980 : zendlval->value.str.len--;
4981 : }
4982 : }
4983 : *t++ = (char) strtol(octal_buf, NULL, 8);
4984 : } else if (*s=='x' && (s+1)<end && ZEND_IS_HEX(*(s+1))) {
4985 : char hex_buf[3] = { 0, 0, 0};
4986 :
4987 : zendlval->value.str.len--; /* for the 'x' */
4988 :
4989 : hex_buf[0] = *(++s);
4990 : zendlval->value.str.len--;
4991 : if ((s+1)<end && ZEND_IS_HEX(*(s+1))) {
4992 : hex_buf[1] = *(++s);
4993 : zendlval->value.str.len--;
4994 : }
4995 : *t++ = (char) strtol(hex_buf, NULL, 16);
4996 : } else {
4997 : *t++ = '\\';
4998 : *t++ = *s;
4999 : }
5000 : break;
5001 : }
5002 : s++;
5003 : } else {
5004 : *t++ = *s++;
5005 : }
5006 : }
5007 : *t = 0;
5008 :
5009 : #ifdef ZEND_MULTIBYTE
5010 : if (SCNG(output_filter)) {
5011 : s = zendlval->value.str.val;
5012 : SCNG(output_filter)(&(zendlval->value.str.val), &(zendlval->value.str.len), s, zendlval->value.str.len TSRMLS_CC);
5013 : efree(s);
5014 : }
5015 : #endif /* ZEND_MULTIBYTE */
5016 :
5017 : return T_CONSTANT_ENCAPSED_STRING;
5018 : }
5019 : YY_BREAK
5020 : case 135:
5021 : YY_RULE_SETUP
5022 : #line 1671 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
5023 : {
5024 : register char *s, *t;
5025 : char *end;
5026 : int bprefix = (*yytext == 'b') ? 1 : 0;
5027 :
5028 : zendlval->value.str.val = estrndup(yytext+bprefix+1, yyleng-bprefix-2);
5029 : zendlval->value.str.len = yyleng-bprefix-2;
5030 : zendlval->type = IS_STRING;
5031 : HANDLE_NEWLINES(yytext, yyleng);
5032 :
5033 : /* convert escape sequences */
5034 : s = t = zendlval->value.str.val;
5035 : end = s+zendlval->value.str.len;
5036 : while (s<end) {
5037 : if (*s=='\\') {
5038 : s++;
5039 : if (s>=end) {
5040 : continue;
5041 : }
5042 : switch(*s) {
5043 : case '\\':
5044 : case '\'':
5045 : *t++ = *s;
5046 : zendlval->value.str.len--;
5047 : break;
5048 : default:
5049 : *t++ = '\\';
5050 : *t++ = *s;
5051 : break;
5052 : }
5053 : s++;
5054 : } else {
5055 : *t++ = *s++;
5056 : }
5057 : }
5058 : *t = 0;
5059 :
5060 : #ifdef ZEND_MULTIBYTE
5061 : if (SCNG(output_filter)) {
5062 : s = zendlval->value.str.val;
5063 : SCNG(output_filter)(&(zendlval->value.str.val), &(zendlval->value.str.len), s, zendlval->value.str.len TSRMLS_CC);
5064 : efree(s);
5065 : }
5066 : #endif /* ZEND_MULTIBYTE */
5067 :
5068 : return T_CONSTANT_ENCAPSED_STRING;
5069 : }
5070 : YY_BREAK
5071 : case 136:
5072 : YY_RULE_SETUP
5073 : #line 1720 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
5074 : {
5075 : BEGIN(ST_DOUBLE_QUOTES);
5076 : return '\"';
5077 : }
5078 : YY_BREAK
5079 : case 137:
5080 : YY_RULE_SETUP
5081 : #line 1726 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
5082 : {
5083 : char *s;
5084 : int bprefix = (*yytext == 'b') ? 1 : 0;
5085 :
5086 : CG(zend_lineno)++;
5087 : CG(heredoc_len) = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);
5088 : s = yytext+bprefix+3;
5089 : while ((*s == ' ') || (*s == '\t')) {
5090 : s++;
5091 : CG(heredoc_len)--;
5092 : }
5093 : CG(heredoc) = estrndup(s, CG(heredoc_len));
5094 : BEGIN(ST_HEREDOC);
5095 : return T_START_HEREDOC;
5096 : }
5097 : YY_BREAK
5098 : case 138:
5099 : YY_RULE_SETUP
5100 : #line 1743 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
5101 : {
5102 : BEGIN(ST_BACKQUOTE);
5103 : return '`';
5104 : }
5105 : YY_BREAK
5106 : case 139:
5107 : YY_RULE_SETUP
5108 : #line 1749 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
5109 : {
5110 : BEGIN(ST_SINGLE_QUOTE);
5111 : return '\'';
5112 : }
5113 : YY_BREAK
5114 : case 140:
5115 : YY_RULE_SETUP
5116 : #line 1755 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
5117 : {
5118 : int label_len;
5119 :
5120 : if (yytext[yyleng-2]=='\r') {
5121 : label_len = yyleng-2;
5122 : } else {
5123 : label_len = yyleng-1;
5124 : }
5125 :
5126 : if (yytext[label_len-1]==';') {
5127 : label_len--;
5128 : }
5129 :
5130 : if (label_len==CG(heredoc_len) && !memcmp(yytext, CG(heredoc), label_len)) {
5131 : zendlval->value.str.val = estrndup(yytext, label_len); /* unput destroys yytext */
5132 : zendlval->value.str.len = label_len;
5133 : yyless(yyleng - (yyleng - label_len));
5134 : efree(CG(heredoc));
5135 : CG(heredoc)=NULL;
5136 : CG(heredoc_len)=0;
5137 : BEGIN(ST_IN_SCRIPTING);
5138 : return T_END_HEREDOC;
5139 : } else {
5140 : CG(zend_lineno)++;
5141 : zend_copy_value(zendlval, yytext, yyleng);
5142 : zendlval->type = IS_STRING;
5143 : return T_STRING;
5144 : }
5145 : }
5146 : YY_BREAK
5147 : case 141:
5148 : YY_RULE_SETUP
5149 : #line 1786 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
5150 : {
5151 : HANDLE_NEWLINES(yytext, yyleng);
5152 : zendlval->value.str.val = (char *) estrndup(yytext, yyleng);
5153 : zendlval->value.str.len = yyleng;
5154 : zendlval->type = IS_STRING;
5155 : return T_ENCAPSED_AND_WHITESPACE;
5156 : }
5157 : YY_BREAK
5158 : case 142:
5159 : YY_RULE_SETUP
5160 : #line 1794 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
5161 : {
5162 : HANDLE_NEWLINES(yytext, yyleng);
5163 : zend_copy_value(zendlval, yytext, yyleng);
5164 : zendlval->type = IS_STRING;
5165 : return T_ENCAPSED_AND_WHITESPACE;
5166 : }
5167 : YY_BREAK
5168 : case 143:
5169 : YY_RULE_SETUP
5170 : #line 1802 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
5171 : {
5172 : zend_copy_value(zendlval, yytext, yyleng);
5173 : zendlval->type = IS_STRING;
5174 : return T_ENCAPSED_AND_WHITESPACE;
5175 : }
5176 : YY_BREAK
5177 : case 144:
5178 : YY_RULE_SETUP
5179 : #line 1809 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
5180 : {
5181 : zend_copy_value(zendlval, yytext, yyleng);
5182 : zendlval->type = IS_STRING;
5183 : return T_ENCAPSED_AND_WHITESPACE;
5184 : }
5185 : YY_BREAK
5186 : case 145:
5187 : YY_RULE_SETUP
5188 : #line 1816 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
5189 : {
5190 : zendlval->value.lval = (long) yytext[0];
5191 : if (yyleng == 2) {
5192 : yyless(1);
5193 : }
5194 : return T_CHARACTER;
5195 : }
5196 : YY_BREAK
5197 : case 146:
5198 : YY_RULE_SETUP
5199 : #line 1825 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
5200 : {
5201 : zendlval->value.lval = (long) yytext[0];
5202 : return yytext[0];
5203 : }
5204 : YY_BREAK
5205 : case 147:
5206 : YY_RULE_SETUP
5207 : #line 1830 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
5208 : {
5209 : zendlval->value.str.val = estrndup("\\{", sizeof("\\{") - 1);
5210 : zendlval->value.str.len = sizeof("\\{") - 1;
5211 : zendlval->type = IS_STRING;
5212 : return T_STRING;
5213 : }
5214 : YY_BREAK
5215 : case 148:
5216 : YY_RULE_SETUP
5217 : #line 1837 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
5218 : {
5219 : zendlval->value.lval = (long) yytext[0];
5220 : yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
5221 : yyless(1);
5222 : return T_CURLY_OPEN;
5223 : }
5224 : YY_BREAK
5225 : case 149:
5226 : YY_RULE_SETUP
5227 : #line 1845 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
5228 : {
5229 : zendlval->value.lval = (long) '\'';
5230 : return T_CHARACTER;
5231 : }
5232 : YY_BREAK
5233 : case 150:
5234 : YY_RULE_SETUP
5235 : #line 1850 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
5236 : {
5237 : zendlval->value.lval = (long)'\\';
5238 : return T_CHARACTER;
5239 : }
5240 : YY_BREAK
5241 : case 151:
5242 : YY_RULE_SETUP
5243 : #line 1855 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
5244 : {
5245 : zendlval->value.lval = (long) '"';
5246 : return T_CHARACTER;
5247 : }
5248 : YY_BREAK
5249 : case 152:
5250 : YY_RULE_SETUP
5251 : #line 1860 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
5252 : {
5253 : zendlval->value.lval = (long) '`';
5254 : return T_CHARACTER;
5255 : }
5256 : YY_BREAK
5257 : case 153:
5258 : YY_RULE_SETUP
5259 : #line 1865 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
5260 : {
5261 : zendlval->value.lval = strtol(yytext+1, NULL, 8);
5262 : return T_CHARACTER;
5263 : }
5264 : YY_BREAK
5265 : case 154:
5266 : YY_RULE_SETUP
5267 : #line 1870 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
5268 : {
5269 : zendlval->value.lval = strtol (yytext+2, NULL, 16);
5270 : return T_CHARACTER;
5271 : }
5272 : YY_BREAK
5273 : case 155:
5274 : YY_RULE_SETUP
5275 : #line 1875 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
5276 : {
5277 : switch (yytext[1]) {
5278 : case 'n':
5279 : zendlval->value.lval = (long) '\n';
5280 : break;
5281 : case 't':
5282 : zendlval->value.lval = (long) '\t';
5283 : break;
5284 : case 'r':
5285 : zendlval->value.lval = (long) '\r';
5286 : break;
5287 : case '\\':
5288 : zendlval->value.lval = (long) '\\';
5289 : break;
5290 : case '$':
5291 : zendlval->value.lval = (long) yytext[1];
5292 : break;
5293 : default:
5294 : zendlval->value.str.val = estrndup(yytext, yyleng);
5295 : zendlval->value.str.len = yyleng;
5296 : zendlval->type = IS_STRING;
5297 : return T_BAD_CHARACTER;
5298 : break;
5299 : }
5300 : return T_CHARACTER;
5301 : }
5302 : YY_BREAK
5303 : case 156:
5304 : YY_RULE_SETUP
5305 : #line 1903 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
5306 : {
5307 : zendlval->value.str.val = (char *) estrndup(yytext, yyleng);
5308 : zendlval->value.str.len = yyleng;
5309 : zendlval->type = IS_STRING;
5310 : return T_ENCAPSED_AND_WHITESPACE;
5311 : }
5312 : YY_BREAK
5313 : case 157:
5314 : YY_RULE_SETUP
5315 : #line 1911 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
5316 : {
5317 : BEGIN(ST_IN_SCRIPTING);
5318 : return '\"';
5319 : }
5320 : YY_BREAK
5321 : case 158:
5322 : YY_RULE_SETUP
5323 : #line 1917 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
5324 : {
5325 : BEGIN(ST_IN_SCRIPTING);
5326 : return '`';
5327 : }
5328 : YY_BREAK
5329 : case 159:
5330 : YY_RULE_SETUP
5331 : #line 1923 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
5332 : {
5333 : BEGIN(ST_IN_SCRIPTING);
5334 : return '\'';
5335 : }
5336 : YY_BREAK
5337 : case YY_STATE_EOF(ST_DOUBLE_QUOTES):
5338 : case YY_STATE_EOF(ST_BACKQUOTE):
5339 : case YY_STATE_EOF(INITIAL):
5340 : case YY_STATE_EOF(ST_IN_SCRIPTING):
5341 : case YY_STATE_EOF(ST_LOOKING_FOR_PROPERTY):
5342 : #line 1929 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
5343 : {
5344 : return 0;
5345 : }
5346 : YY_BREAK
5347 : case YY_STATE_EOF(ST_COMMENT):
5348 : case YY_STATE_EOF(ST_DOC_COMMENT):
5349 : #line 1933 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
5350 : {
5351 : zend_error(E_COMPILE_WARNING,"Unterminated comment starting line %d", CG(comment_start_line));
5352 : return 0;
5353 : }
5354 : YY_BREAK
5355 : case 160:
5356 : YY_RULE_SETUP
5357 : #line 1940 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
5358 : {
5359 : zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
5360 : }
5361 : YY_BREAK
5362 : case 161:
5363 : YY_RULE_SETUP
5364 : #line 1943 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
5365 : ECHO;
5366 : YY_BREAK
5367 : #line 5368 "Zend/zend_language_scanner.c"
5368 : case YY_STATE_EOF(ST_SINGLE_QUOTE):
5369 : case YY_STATE_EOF(ST_HEREDOC):
5370 : case YY_STATE_EOF(ST_LOOKING_FOR_VARNAME):
5371 : case YY_STATE_EOF(ST_ONE_LINE_COMMENT):
5372 0 : yyterminate();
5373 :
5374 : case YY_END_OF_BUFFER:
5375 : {
5376 : /* Amount of text matched not including the EOB char. */
5377 687 : int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
5378 :
5379 : /* Undo the effects of YY_DO_BEFORE_ACTION. */
5380 687 : *yy_cp = yy_hold_char;
5381 :
5382 687 : if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
5383 : {
5384 : /* We're scanning a new file or input source. It's
5385 : * possible that this happened because the user
5386 : * just pointed yyin at a new source and called
5387 : * yylex(). If so, then we have to assure
5388 : * consistency between yy_current_buffer and our
5389 : * globals. Here is the right place to do so, because
5390 : * this is the first action (other than possibly a
5391 : * back-up) that will match for the new input source.
5392 : */
5393 335 : SCNG(yy_n_chars) = yy_current_buffer->yy_n_chars;
5394 335 : yy_current_buffer->yy_input_file = SCNG(yy_in);
5395 335 : yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
5396 : }
5397 :
5398 : /* Note that here we test for yy_c_buf_p "<=" to the position
5399 : * of the first EOB in the buffer, since yy_c_buf_p will
5400 : * already have been incremented past the NUL character
5401 : * (since all states make transitions on EOB to the
5402 : * end-of-buffer state). Contrast this with the test
5403 : * in input().
5404 : */
5405 687 : if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[SCNG(yy_n_chars)] )
5406 : { /* This was really a NUL. */
5407 : yy_state_type yy_next_state;
5408 :
5409 0 : yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
5410 :
5411 0 : yy_current_state = yy_get_previous_state(TSRMLS_C);
5412 :
5413 : /* Okay, we're now positioned to make the NUL
5414 : * transition. We couldn't have
5415 : * yy_get_previous_state() go ahead and do it
5416 : * for us because it doesn't know how to deal
5417 : * with the possibility of jamming (and we don't
5418 : * want to build jamming into it because then it
5419 : * will run more slowly).
5420 : */
5421 :
5422 0 : yy_next_state = yy_try_NUL_trans( yy_current_state TSRMLS_CC );
5423 :
5424 0 : yy_bp = yytext_ptr + YY_MORE_ADJ;
5425 :
5426 0 : if ( yy_next_state )
5427 : {
5428 : /* Consume the NUL. */
5429 0 : yy_cp = ++yy_c_buf_p;
5430 0 : yy_current_state = yy_next_state;
5431 0 : goto yy_match;
5432 : }
5433 :
5434 : else
5435 : {
5436 0 : yy_cp = yy_c_buf_p;
5437 0 : goto yy_find_action;
5438 : }
5439 : }
5440 :
5441 687 : else switch ( yy_get_next_buffer(TSRMLS_C) )
5442 : {
5443 : case EOB_ACT_END_OF_FILE:
5444 : {
5445 335 : yy_did_buffer_switch_on_eof = 0;
5446 :
5447 : if ( yywrap() )
5448 : {
5449 : /* Note: because we've taken care in
5450 : * yy_get_next_buffer() to have set up
5451 : * yytext, we can now set up
5452 : * yy_c_buf_p so that if some total
5453 : * hoser (like flex itself) wants to
5454 : * call the scanner after we return the
5455 : * YY_NULL, it'll still work - another
5456 : * YY_NULL will get returned.
5457 : */
5458 335 : yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
5459 :
5460 335 : yy_act = YY_STATE_EOF(YY_START);
5461 335 : goto do_action;
5462 : }
5463 :
5464 : else
5465 : {
5466 : if ( ! yy_did_buffer_switch_on_eof )
5467 : YY_NEW_FILE;
5468 : }
5469 : break;
5470 : }
5471 :
5472 : case EOB_ACT_CONTINUE_SCAN:
5473 341 : yy_c_buf_p =
5474 : yytext_ptr + yy_amount_of_matched_text;
5475 :
5476 341 : yy_current_state = yy_get_previous_state(TSRMLS_C);
5477 :
5478 341 : yy_cp = yy_c_buf_p;
5479 341 : yy_bp = yytext_ptr + YY_MORE_ADJ;
5480 341 : goto yy_match;
5481 :
5482 : case EOB_ACT_LAST_MATCH:
5483 11 : yy_c_buf_p =
5484 : &yy_current_buffer->yy_ch_buf[SCNG(yy_n_chars)];
5485 :
5486 11 : yy_current_state = yy_get_previous_state(TSRMLS_C);
5487 :
5488 11 : yy_cp = yy_c_buf_p;
5489 11 : yy_bp = yytext_ptr + YY_MORE_ADJ;
5490 11 : goto yy_find_action;
5491 : }
5492 0 : break;
5493 : }
5494 :
5495 : default:
5496 0 : YY_FATAL_ERROR(
5497 : "fatal flex scanner internal error--no action found" );
5498 : } /* end of action switch */
5499 143 : } /* end of scanning one token */
5500 : } /* end of yylex */
5501 :
5502 :
5503 : /* yy_get_next_buffer - try to read in a new buffer
5504 : *
5505 : * Returns a code representing an action:
5506 : * EOB_ACT_LAST_MATCH -
5507 : * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
5508 : * EOB_ACT_END_OF_FILE - end of file
5509 : */
5510 :
5511 : static int yy_get_next_buffer(TSRMLS_D)
5512 687 : {
5513 687 : register char *dest = yy_current_buffer->yy_ch_buf;
5514 687 : register char *source = yytext_ptr;
5515 : register int number_to_move, i;
5516 : int ret_val;
5517 :
5518 687 : if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[SCNG(yy_n_chars) + 1] )
5519 0 : YY_FATAL_ERROR(
5520 : "fatal flex scanner internal error--end of buffer missed" );
5521 :
5522 687 : if ( yy_current_buffer->yy_fill_buffer == 0 )
5523 : { /* Don't try to fill the buffer, so this is an EOF. */
5524 0 : if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
5525 : {
5526 : /* We matched a single character, the EOB, so
5527 : * treat this as a final EOF.
5528 : */
5529 0 : return EOB_ACT_END_OF_FILE;
5530 : }
5531 :
5532 : else
5533 : {
5534 : /* We matched some text prior to the EOB, first
5535 : * process it.
5536 : */
5537 0 : return EOB_ACT_LAST_MATCH;
5538 : }
5539 : }
5540 :
5541 : /* Try to read more data. */
5542 :
5543 : /* First move last chars to start of buffer. */
5544 687 : number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
5545 :
5546 749 : for ( i = 0; i < number_to_move; ++i )
5547 62 : *(dest++) = *(source++);
5548 :
5549 687 : if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
5550 : /* don't do the read, it's not guaranteed to return an EOF,
5551 : * just force an EOF
5552 : */
5553 11 : yy_current_buffer->yy_n_chars = SCNG(yy_n_chars) = 0;
5554 :
5555 : else
5556 : {
5557 : int num_to_read =
5558 676 : yy_current_buffer->yy_buf_size - number_to_move - 1;
5559 :
5560 1352 : while ( num_to_read <= 0 )
5561 : { /* Not enough room in the buffer - grow it. */
5562 : #ifdef YY_USES_REJECT
5563 : YY_FATAL_ERROR(
5564 : "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
5565 : #else
5566 :
5567 : /* just a shorter name for the current buffer */
5568 0 : YY_BUFFER_STATE b = yy_current_buffer;
5569 :
5570 : int yy_c_buf_p_offset =
5571 0 : (int) (yy_c_buf_p - b->yy_ch_buf);
5572 :
5573 0 : if ( b->yy_is_our_buffer )
5574 : {
5575 0 : int new_size = b->yy_buf_size * 2;
5576 :
5577 0 : if ( new_size <= 0 )
5578 0 : b->yy_buf_size += b->yy_buf_size / 8;
5579 : else
5580 0 : b->yy_buf_size *= 2;
5581 :
5582 0 : b->yy_ch_buf = (char *)
5583 : /* Include room in for 2 EOB chars. */
5584 : yy_flex_realloc( (void *) b->yy_ch_buf,
5585 : b->yy_buf_size + 2 );
5586 : }
5587 : else
5588 : /* Can't grow it, we don't own it. */
5589 0 : b->yy_ch_buf = 0;
5590 :
5591 0 : if ( ! b->yy_ch_buf )
5592 0 : YY_FATAL_ERROR(
5593 : "fatal error - scanner input buffer overflow" );
5594 :
5595 0 : yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
5596 :
5597 0 : num_to_read = yy_current_buffer->yy_buf_size -
5598 : number_to_move - 1;
5599 : #endif
5600 : }
5601 :
5602 676 : if ( num_to_read > YY_READ_BUF_SIZE )
5603 676 : num_to_read = YY_READ_BUF_SIZE;
5604 :
5605 : /* Read in more data. */
5606 676 : YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
5607 : SCNG(yy_n_chars), num_to_read );
5608 :
5609 676 : yy_current_buffer->yy_n_chars = SCNG(yy_n_chars);
5610 : }
5611 :
5612 687 : if ( SCNG(yy_n_chars) == 0 )
5613 : {
5614 346 : if ( number_to_move == YY_MORE_ADJ )
5615 : {
5616 335 : ret_val = EOB_ACT_END_OF_FILE;
5617 335 : yyrestart( SCNG(yy_in) TSRMLS_CC );
5618 : }
5619 :
5620 : else
5621 : {
5622 11 : ret_val = EOB_ACT_LAST_MATCH;
5623 11 : yy_current_buffer->yy_buffer_status =
5624 : YY_BUFFER_EOF_PENDING;
5625 : }
5626 : }
5627 :
5628 : else
5629 341 : ret_val = EOB_ACT_CONTINUE_SCAN;
5630 :
5631 687 : SCNG(yy_n_chars) += number_to_move;
5632 687 : yy_current_buffer->yy_ch_buf[SCNG(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
5633 687 : yy_current_buffer->yy_ch_buf[SCNG(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
5634 :
5635 687 : yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
5636 :
5637 687 : return ret_val;
5638 : }
5639 :
5640 :
5641 : /* yy_get_previous_state - get the state just before the EOB char was reached */
5642 :
5643 : static yy_state_type yy_get_previous_state(TSRMLS_D)
5644 352 : {
5645 : register yy_state_type yy_current_state;
5646 : register char *yy_cp;
5647 :
5648 352 : yy_current_state = yy_start;
5649 352 : yy_current_state += YY_AT_BOL();
5650 :
5651 412 : for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
5652 : {
5653 60 : register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
5654 60 : if ( yy_accept[yy_current_state] )
5655 : {
5656 29 : yy_last_accepting_state = yy_current_state;
5657 29 : yy_last_accepting_cpos = yy_cp;
5658 : }
5659 163 : while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
5660 : {
5661 43 : yy_current_state = (int) yy_def[yy_current_state];
5662 43 : if ( yy_current_state >= 1422 )
5663 42 : yy_c = yy_meta[(unsigned int) yy_c];
5664 : }
5665 60 : yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
5666 : }
5667 :
5668 352 : return yy_current_state;
5669 : }
5670 :
5671 :
5672 : /* yy_try_NUL_trans - try to make a transition on the NUL character
5673 : *
5674 : * synopsis
5675 : * next_state = yy_try_NUL_trans( current_state );
5676 : */
5677 :
5678 : #ifdef YY_USE_PROTOS
5679 : static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state TSRMLS_DC )
5680 : #else
5681 : static yy_state_type yy_try_NUL_trans( yy_current_state TSRMLS_CC )
5682 : yy_state_type yy_current_state;
5683 : #ifdef ZTS
5684 : void ***tsrm_ls;
5685 : #endif
5686 : #endif
5687 0 : {
5688 : register int yy_is_jam;
5689 0 : register char *yy_cp = yy_c_buf_p;
5690 :
5691 0 : register YY_CHAR yy_c = 1;
5692 0 : if ( yy_accept[yy_current_state] )
5693 : {
5694 0 : yy_last_accepting_state = yy_current_state;
5695 0 : yy_last_accepting_cpos = yy_cp;
5696 : }
5697 0 : while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
5698 : {
5699 0 : yy_current_state = (int) yy_def[yy_current_state];
5700 0 : if ( yy_current_state >= 1422 )
5701 0 : yy_c = yy_meta[(unsigned int) yy_c];
5702 : }
5703 0 : yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
5704 0 : yy_is_jam = (yy_current_state == 1421);
5705 :
5706 0 : return yy_is_jam ? 0 : yy_current_state;
5707 : }
5708 :
5709 :
5710 : #ifndef YY_NO_UNPUT
5711 : #ifdef YY_USE_PROTOS
5712 : static void yyunput( int c, register char *yy_bp TSRMLS_DC )
5713 : #else
5714 : static void yyunput( c, yy_bp TSRMLS_CC )
5715 : int c;
5716 : register char *yy_bp;
5717 : #ifdef ZTS
5718 : void ***tsrm_ls;
5719 : #endif
5720 : #endif
5721 0 : {
5722 0 : register char *yy_cp = yy_c_buf_p;
5723 :
5724 : /* undo effects of setting up yytext */
5725 0 : *yy_cp = yy_hold_char;
5726 :
5727 0 : if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
5728 : { /* need to shift things up to make room */
5729 : /* +2 for EOB chars. */
5730 0 : register int number_to_move = SCNG(yy_n_chars) + 2;
5731 : register char *dest = &yy_current_buffer->yy_ch_buf[
5732 0 : yy_current_buffer->yy_buf_size + 2];
5733 : register char *source =
5734 0 : &yy_current_buffer->yy_ch_buf[number_to_move];
5735 :
5736 0 : while ( source > yy_current_buffer->yy_ch_buf )
5737 0 : *--dest = *--source;
5738 :
5739 0 : yy_cp += (int) (dest - source);
5740 0 : yy_bp += (int) (dest - source);
5741 0 : yy_current_buffer->yy_n_chars =
5742 : SCNG(yy_n_chars) = yy_current_buffer->yy_buf_size;
5743 :
5744 0 : if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
5745 0 : YY_FATAL_ERROR( "flex scanner push-back overflow" );
5746 : }
5747 :
5748 0 : *--yy_cp = (char) c;
5749 :
5750 :
5751 0 : yytext_ptr = yy_bp;
5752 0 : yy_hold_char = *yy_cp;
5753 0 : yy_c_buf_p = yy_cp;
5754 0 : }
5755 : #endif /* ifndef YY_NO_UNPUT */
5756 :
5757 :
5758 : #ifdef __cplusplus
5759 : static int yyinput(TSRMLS_D)
5760 : #else
5761 : static int input(TSRMLS_C)
5762 : #ifdef ZTS
5763 : void ***tsrm_ls;
5764 : #endif
5765 : #endif
5766 0 : {
5767 : int c;
5768 :
5769 0 : *yy_c_buf_p = yy_hold_char;
5770 :
5771 0 : if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
5772 : {
5773 : /* yy_c_buf_p now points to the character we want to return.
5774 : * If this occurs *before* the EOB characters, then it's a
5775 : * valid NUL; if not, then we've hit the end of the buffer.
5776 : */
5777 0 : if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[SCNG(yy_n_chars)] )
5778 : /* This was really a NUL. */
5779 0 : *yy_c_buf_p = '\0';
5780 :
5781 : else
5782 : { /* need more input */
5783 0 : int offset = yy_c_buf_p - yytext_ptr;
5784 0 : ++yy_c_buf_p;
5785 :
5786 0 : switch ( yy_get_next_buffer(TSRMLS_C) )
5787 : {
5788 : case EOB_ACT_LAST_MATCH:
5789 : /* This happens because yy_g_n_b()
5790 : * sees that we've accumulated a
5791 : * token and flags that we need to
5792 : * try matching the token before
5793 : * proceeding. But for input(),
5794 : * there's no matching to consider.
5795 : * So convert the EOB_ACT_LAST_MATCH
5796 : * to EOB_ACT_END_OF_FILE.
5797 : */
5798 :
5799 : /* Reset buffer status. */
5800 0 : yyrestart( SCNG(yy_in) TSRMLS_CC );
5801 :
5802 : /* fall through */
5803 :
5804 : case EOB_ACT_END_OF_FILE:
5805 : {
5806 : if ( yywrap() )
5807 0 : return EOF;
5808 :
5809 : if ( ! yy_did_buffer_switch_on_eof )
5810 : YY_NEW_FILE;
5811 : #ifdef __cplusplus
5812 : return yyinput(TSRMLS_C);
5813 : #else
5814 : return input(TSRMLS_C);
5815 : #endif
5816 : }
5817 :
5818 : case EOB_ACT_CONTINUE_SCAN:
5819 0 : yy_c_buf_p = yytext_ptr + offset;
5820 : break;
5821 : }
5822 : }
5823 : }
5824 :
5825 0 : c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
5826 0 : *yy_c_buf_p = '\0'; /* preserve yytext */
5827 0 : yy_hold_char = *++yy_c_buf_p;
5828 :
5829 0 : yy_current_buffer->yy_at_bol = (c == '\n');
5830 :
5831 0 : return c;
5832 : }
5833 :
5834 :
5835 : #ifdef YY_USE_PROTOS
5836 : void yyrestart( struct _zend_file_handle *input_file TSRMLS_DC )
5837 : #else
5838 : void yyrestart( input_file TSRMLS_CC )
5839 : struct _zend_file_handle *input_file;
5840 : #endif
5841 335 : {
5842 335 : if ( ! yy_current_buffer )
5843 0 : yy_current_buffer = yy_create_buffer( SCNG(yy_in), YY_BUF_SIZE TSRMLS_CC );
5844 :
5845 335 : yy_init_buffer( yy_current_buffer, input_file TSRMLS_CC );
5846 335 : yy_load_buffer_state(TSRMLS_C);
5847 335 : }
5848 :
5849 :
5850 : #ifdef YY_USE_PROTOS
5851 : void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer TSRMLS_DC)
5852 : #else
5853 : void yy_switch_to_buffer( new_buffer TSRMLS_CC)
5854 : YY_BUFFER_STATE new_buffer;
5855 : #ifdef ZTS
5856 : void ***tsrm_ls;
5857 : #endif
5858 : #endif
5859 335 : {
5860 335 : if ( yy_current_buffer == new_buffer )
5861 0 : return;
5862 :
5863 335 : if ( yy_current_buffer )
5864 : {
5865 : /* Flush out information for old buffer. */
5866 0 : *yy_c_buf_p = yy_hold_char;
5867 0 : yy_current_buffer->yy_buf_pos = yy_c_buf_p;
5868 0 : yy_current_buffer->yy_n_chars = SCNG(yy_n_chars);
5869 : }
5870 :
5871 335 : yy_current_buffer = new_buffer;
5872 335 : yy_load_buffer_state(TSRMLS_C);
5873 :
5874 : /* We don't actually know whether we did this switch during
5875 : * EOF (yywrap()) processing, but the only time this flag
5876 : * is looked at is after yywrap() is called, so it's safe
5877 : * to go ahead and always set it.
5878 : */
5879 335 : yy_did_buffer_switch_on_eof = 1;
5880 : }
5881 :
5882 :
5883 : #ifdef YY_USE_PROTOS
5884 : void yy_load_buffer_state( TSRMLS_D )
5885 : #else
5886 : void yy_load_buffer_state(TSRMLS_C)
5887 : #ifdef ZTS
5888 : void ***tsrm_ls;
5889 : #endif
5890 : #endif
5891 1224 : {
5892 1224 : SCNG(yy_n_chars) = yy_current_buffer->yy_n_chars;
5893 1224 : yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
5894 1224 : SCNG(yy_in) = yy_current_buffer->yy_input_file;
5895 1224 : yy_hold_char = *yy_c_buf_p;
5896 1224 : }
5897 :
5898 :
5899 : #ifdef YY_USE_PROTOS
5900 : YY_BUFFER_STATE yy_create_buffer( struct _zend_file_handle *file, int size TSRMLS_DC )
5901 : #else
5902 : YY_BUFFER_STATE yy_create_buffer( file, size TSRMLS_CC )
5903 : struct _zend_file_handle *file;
5904 : int size;
5905 : #ifdef ZTS
5906 : void ***tsrm_ls;
5907 : #endif
5908 : #endif
5909 335 : {
5910 : YY_BUFFER_STATE b;
5911 :
5912 335 : b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
5913 335 : if ( ! b )
5914 0 : YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
5915 :
5916 335 : b->yy_buf_size = size;
5917 :
5918 : /* yy_ch_buf has to be 2 characters longer than the size given because
5919 : * we need to put in 2 end-of-buffer characters.
5920 : */
5921 335 : b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
5922 335 : if ( ! b->yy_ch_buf )
5923 0 : YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
5924 :
5925 335 : b->yy_is_our_buffer = 1;
5926 :
5927 335 : yy_init_buffer( b, file TSRMLS_CC );
5928 :
5929 335 : return b;
5930 : }
5931 :
5932 :
5933 : #ifdef YY_USE_PROTOS
5934 : void yy_delete_buffer( YY_BUFFER_STATE b TSRMLS_DC )
5935 : #else
5936 : void yy_delete_buffer( b TSRMLS_CC )
5937 : YY_BUFFER_STATE b;
5938 : #ifdef ZTS
5939 : void ***tsrm_ls;
5940 : #endif
5941 : #endif
5942 335 : {
5943 335 : if ( ! b )
5944 0 : return;
5945 :
5946 335 : if ( b == yy_current_buffer )
5947 0 : yy_current_buffer = (YY_BUFFER_STATE) 0;
5948 :
5949 335 : if ( b->yy_is_our_buffer )
5950 335 : yy_flex_free( (void *) b->yy_ch_buf );
5951 :
5952 335 : yy_flex_free( (void *) b );
5953 : }
5954 :
5955 :
5956 :
5957 : #ifdef YY_USE_PROTOS
5958 : void yy_init_buffer( YY_BUFFER_STATE b, struct _zend_file_handle *file TSRMLS_DC )
5959 : #else
5960 : void yy_init_buffer( b, file TSRMLS_CC )
5961 : YY_BUFFER_STATE b;
5962 : struct _zend_file_handle *file;
5963 : #ifdef ZTS
5964 : void ***tsrm_ls;
5965 : #endif
5966 : #endif
5967 :
5968 :
5969 670 : {
5970 670 : yy_flush_buffer( b TSRMLS_CC );
5971 :
5972 670 : b->yy_input_file = file;
5973 670 : b->yy_fill_buffer = 1;
5974 :
5975 : #if YY_ALWAYS_INTERACTIVE
5976 : b->yy_is_interactive = 1;
5977 : #else
5978 : #if YY_NEVER_INTERACTIVE
5979 : b->yy_is_interactive = 0;
5980 : #else
5981 670 : b->yy_is_interactive = file->handle.stream.interactive;
5982 : #endif
5983 : #endif
5984 670 : }
5985 :
5986 :
5987 : #ifdef YY_USE_PROTOS
5988 : void yy_flush_buffer( YY_BUFFER_STATE b TSRMLS_DC )
5989 : #else
5990 : void yy_flush_buffer( b TSRMLS_CC )
5991 : YY_BUFFER_STATE b;
5992 : #ifdef ZTS
5993 : void ***tsrm_ls;
5994 : #endif
5995 : #endif
5996 :
5997 670 : {
5998 670 : if ( ! b )
5999 0 : return;
6000 :
6001 670 : b->yy_n_chars = 0;
6002 :
6003 : /* We always need two end-of-buffer characters. The first causes
6004 : * a transition to the end-of-buffer state. The second causes
6005 : * a jam in that state.
6006 : */
6007 670 : b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
6008 670 : b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
6009 :
6010 670 : b->yy_buf_pos = &b->yy_ch_buf[0];
6011 :
6012 670 : b->yy_at_bol = 1;
6013 670 : b->yy_buffer_status = YY_BUFFER_NEW;
6014 :
6015 670 : if ( b == yy_current_buffer )
6016 335 : yy_load_buffer_state(TSRMLS_C);
6017 : }
6018 :
6019 :
6020 : #ifndef YY_NO_SCAN_BUFFER
6021 : #ifdef YY_USE_PROTOS
6022 : YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size TSRMLS_DC )
6023 : #else
6024 : YY_BUFFER_STATE yy_scan_buffer( base, size TSRMLS_CC )
6025 : char *base;
6026 : yy_size_t size;
6027 : #ifdef ZTS
6028 : void ***tsrm_ls;
6029 : #endif
6030 : #endif
6031 0 : {
6032 : YY_BUFFER_STATE b;
6033 :
6034 0 : if ( size < 2 ||
6035 : base[size-2] != YY_END_OF_BUFFER_CHAR ||
6036 : base[size-1] != YY_END_OF_BUFFER_CHAR )
6037 : /* They forgot to leave room for the EOB's. */
6038 0 : return 0;
6039 :
6040 0 : b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
6041 0 : if ( ! b )
6042 0 : YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
6043 :
6044 0 : b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
6045 0 : b->yy_buf_pos = b->yy_ch_buf = base;
6046 0 : b->yy_is_our_buffer = 0;
6047 0 : b->yy_input_file = 0;
6048 0 : b->yy_n_chars = b->yy_buf_size;
6049 0 : b->yy_is_interactive = 0;
6050 0 : b->yy_at_bol = 1;
6051 0 : b->yy_fill_buffer = 0;
6052 0 : b->yy_buffer_status = YY_BUFFER_NEW;
6053 :
6054 0 : yy_switch_to_buffer( b TSRMLS_CC );
6055 :
6056 0 : return b;
6057 : }
6058 : #endif
6059 :
6060 :
6061 : #ifndef YY_NO_SCAN_STRING
6062 : #ifdef YY_USE_PROTOS
6063 : YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str TSRMLS_DC )
6064 : #else
6065 : YY_BUFFER_STATE yy_scan_string( yy_str TSRMLS_CC )
6066 : yyconst char *yy_str;
6067 : #ifdef ZTS
6068 : void ***tsrm_ls;
6069 : #endif
6070 : #endif
6071 0 : {
6072 : int len;
6073 0 : for ( len = 0; yy_str[len]; ++len )
6074 : ;
6075 :
6076 0 : return yy_scan_bytes( yy_str, len TSRMLS_CC );
6077 : }
6078 : #endif
6079 :
6080 :
6081 : #ifndef YY_NO_SCAN_BYTES
6082 : #ifdef YY_USE_PROTOS
6083 : YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len TSRMLS_DC )
6084 : #else
6085 : YY_BUFFER_STATE yy_scan_bytes( bytes, len TSRMLS_CC )
6086 : yyconst char *bytes;
6087 : int len;
6088 : #ifdef ZTS
6089 : void ***tsrm_ls;
6090 : #endif
6091 : #endif
6092 0 : {
6093 : YY_BUFFER_STATE b;
6094 : char *buf;
6095 : yy_size_t n;
6096 : int i;
6097 :
6098 : /* Get memory for full buffer, including space for trailing EOB's. */
6099 0 : n = len + 2;
6100 0 : buf = (char *) yy_flex_alloc( n );
6101 0 : if ( ! buf )
6102 0 : YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
6103 :
6104 0 : for ( i = 0; i < len; ++i )
6105 0 : buf[i] = bytes[i];
6106 :
6107 0 : buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
6108 :
6109 0 : b = yy_scan_buffer( buf, n TSRMLS_CC);
6110 0 : if ( ! b )
6111 0 : YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
6112 :
6113 : /* It's okay to grow etc. this buffer, and we should throw it
6114 : * away when we're done.
6115 : */
6116 0 : b->yy_is_our_buffer = 1;
6117 :
6118 0 : return b;
6119 : }
6120 : #endif
6121 :
6122 :
6123 : #ifndef YY_NO_PUSH_STATE
6124 : #ifdef YY_USE_PROTOS
6125 : static void yy_push_state( int new_state TSRMLS_DC )
6126 : #else
6127 : static void yy_push_state( new_state TSRMLS_CC )
6128 : int new_state;
6129 : #ifdef ZTS
6130 : void ***tsrm_ls;
6131 : #endif
6132 : #endif
6133 1664 : {
6134 1664 : if ( yy_start_stack_ptr >= yy_start_stack_depth )
6135 : {
6136 : yy_size_t new_size;
6137 :
6138 157 : yy_start_stack_depth += YY_START_STACK_INCR;
6139 157 : new_size = yy_start_stack_depth * sizeof( int );
6140 :
6141 157 : if ( ! yy_start_stack )
6142 157 : yy_start_stack = (int *) yy_flex_alloc( new_size );
6143 :
6144 : else
6145 0 : yy_start_stack = (int *) yy_flex_realloc(
6146 : (void *) yy_start_stack, new_size );
6147 :
6148 157 : if ( ! yy_start_stack )
6149 0 : YY_FATAL_ERROR(
6150 : "out of memory expanding start-condition stack" );
6151 : }
6152 :
6153 1664 : yy_start_stack[yy_start_stack_ptr++] = YY_START;
6154 :
6155 1664 : BEGIN(new_state);
6156 1664 : }
6157 : #endif
6158 :
6159 :
6160 : #ifndef YY_NO_POP_STATE
6161 : static void yy_pop_state(TSRMLS_D)
6162 1664 : {
6163 1664 : if ( --yy_start_stack_ptr < 0 )
6164 0 : YY_FATAL_ERROR( "start-condition stack underflow" );
6165 :
6166 1664 : BEGIN(yy_start_stack[yy_start_stack_ptr]);
6167 1664 : }
6168 : #endif
6169 :
6170 :
6171 : #ifndef YY_NO_TOP_STATE
6172 : static int yy_top_state(TSRMLS_D)
6173 0 : {
6174 0 : return yy_start_stack[yy_start_stack_ptr - 1];
6175 : }
6176 : #endif
6177 :
6178 : #ifndef YY_EXIT_FAILURE
6179 : #define YY_EXIT_FAILURE 2
6180 : #endif
6181 :
6182 : #ifdef YY_USE_PROTOS
6183 : static void yy_fatal_error( yyconst char msg[] )
6184 : #else
6185 : static void yy_fatal_error( msg )
6186 : char msg[];
6187 : #endif
6188 0 : {
6189 0 : (void) fprintf( stderr, "%s\n", msg );
6190 0 : exit( YY_EXIT_FAILURE );
6191 : }
6192 :
6193 :
6194 :
6195 : /* Redefine yyless() so it works in section 3 code. */
6196 :
6197 : #undef yyless
6198 : #define yyless(n) \
6199 : do \
6200 : { \
6201 : /* Undo effects of setting up yytext. */ \
6202 : yytext[yyleng] = yy_hold_char; \
6203 : yy_c_buf_p = yytext + n; \
6204 : yy_hold_char = *yy_c_buf_p; \
6205 : *yy_c_buf_p = '\0'; \
6206 : yyleng = n; \
6207 : } \
6208 : while ( 0 )
6209 :
6210 :
6211 : /* Internal utility routines. */
6212 :
6213 : #ifndef yytext_ptr
6214 : #ifdef YY_USE_PROTOS
6215 : static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
6216 : #else
6217 : static void yy_flex_strncpy( s1, s2, n )
6218 : char *s1;
6219 : yyconst char *s2;
6220 : int n;
6221 : #endif
6222 : {
6223 : register int i;
6224 : for ( i = 0; i < n; ++i )
6225 : s1[i] = s2[i];
6226 : }
6227 : #endif
6228 :
6229 : #ifdef YY_NEED_STRLEN
6230 : #ifdef YY_USE_PROTOS
6231 : static int yy_flex_strlen( yyconst char *s )
6232 : #else
6233 : static int yy_flex_strlen( s )
6234 : yyconst char *s;
6235 : #endif
6236 : {
6237 : register int n;
6238 : for ( n = 0; s[n]; ++n )
6239 : ;
6240 :
6241 : return n;
6242 : }
6243 : #endif
6244 :
6245 :
6246 : #ifdef YY_USE_PROTOS
6247 : static void *yy_flex_alloc( yy_size_t size )
6248 : #else
6249 : static void *yy_flex_alloc( size )
6250 : yy_size_t size;
6251 : #endif
6252 827 : {
6253 827 : return (void *) malloc( size );
6254 : }
6255 :
6256 : #ifdef YY_USE_PROTOS
6257 : static void *yy_flex_realloc( void *ptr, yy_size_t size )
6258 : #else
6259 : static void *yy_flex_realloc( ptr, size )
6260 : void *ptr;
6261 : yy_size_t size;
6262 : #endif
6263 0 : {
6264 : /* The cast to (char *) in the following accommodates both
6265 : * implementations that use char* generic pointers, and those
6266 : * that use void* generic pointers. It works with the latter
6267 : * because both ANSI C and C++ allow castless assignment from
6268 : * any pointer type to void*, and deal with argument conversions
6269 : * as though doing an assignment.
6270 : */
6271 0 : return (void *) realloc( (char *) ptr, size );
6272 : }
6273 :
6274 : #ifdef YY_USE_PROTOS
6275 : static void yy_flex_free( void *ptr )
6276 : #else
6277 : static void yy_flex_free( ptr )
6278 : void *ptr;
6279 : #endif
6280 827 : {
6281 827 : free( ptr );
6282 827 : }
6283 :
6284 : #if YY_MAIN
6285 : int main()
6286 : {
6287 : yylex();
6288 : return 0;
6289 : }
6290 : #endif
6291 : #line 1943 "/home/mike/cvs/php-5.2/Zend/zend_language_scanner.l"
|