version 1.1.1.1, 2012/02/21 16:23:02
|
version 1.1.1.5, 2014/06/15 16:12:54
|
Line 1
|
Line 1
|
#include <config.h> |
#include <config.h> |
/* $OpenBSD: flex.skl,v 1.11 2010/08/04 18:24:50 millert Exp $ */ | #define yy_create_buffer sudoers_create_buffer |
| #define yy_delete_buffer sudoers_delete_buffer |
| #define yy_scan_buffer sudoers_scan_buffer |
| #define yy_scan_string sudoers_scan_string |
| #define yy_scan_bytes sudoers_scan_bytes |
| #define yy_flex_debug sudoers_flex_debug |
| #define yy_init_buffer sudoers_init_buffer |
| #define yy_flush_buffer sudoers_flush_buffer |
| #define yy_load_buffer_state sudoers_load_buffer_state |
| #define yy_switch_to_buffer sudoers_switch_to_buffer |
| #define yyin sudoersin |
| #define yyleng sudoersleng |
| #define yylex sudoerslex |
| #define yyout sudoersout |
| #define yyrestart sudoersrestart |
| #define yytext sudoerstext |
|
|
|
/* $OpenBSD: flex.skl,v 1.12 2013/11/04 17:03:32 millert Exp $ */ |
|
|
/* A lexical scanner generated by flex */ |
/* A lexical scanner generated by flex */ |
|
|
/* Scanner skeleton version: |
/* Scanner skeleton version: |
Line 131 extern FILE *yyin, *yyout;
|
Line 148 extern FILE *yyin, *yyout;
|
/* Undo effects of setting up yytext. */ \ |
/* Undo effects of setting up yytext. */ \ |
*yy_cp = yy_hold_char; \ |
*yy_cp = yy_hold_char; \ |
YY_RESTORE_YY_MORE_OFFSET \ |
YY_RESTORE_YY_MORE_OFFSET \ |
yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \ | yy_cp = yy_bp + n - YY_MORE_ADJ; \ |
YY_DO_BEFORE_ACTION; /* set up yytext again */ \ |
YY_DO_BEFORE_ACTION; /* set up yytext again */ \ |
} \ |
} \ |
while ( 0 ) |
while ( 0 ) |
Line 289 static void yy_fatal_error YY_PROTO(( yyconst char msg
|
Line 306 static void yy_fatal_error YY_PROTO(( yyconst char msg
|
*yy_cp = '\0'; \ |
*yy_cp = '\0'; \ |
yy_c_buf_p = yy_cp; |
yy_c_buf_p = yy_cp; |
|
|
#define YY_NUM_RULES 59 | #define YY_NUM_RULES 67 |
#define YY_END_OF_BUFFER 60 | #define YY_END_OF_BUFFER 68 |
static yyconst short int yy_accept[607] = | static yyconst short int yy_accept[814] = |
{ 0, |
{ 0, |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
0, 0, 60, 47, 55, 54, 53, 46, 58, 32, | 0, 0, 0, 0, 68, 55, 63, 62, 61, 54, |
48, 49, 32, 50, 47, 47, 47, 47, 52, 51, | 65, 34, 56, 57, 34, 58, 55, 55, 55, 55, |
58, 42, 42, 42, 42, 42, 42, 42, 42, 42, | 60, 59, 66, 46, 46, 46, 46, 46, 46, 46, |
42, 58, 47, 47, 55, 58, 42, 42, 42, 42, | 46, 46, 46, 66, 55, 55, 63, 65, 46, 46, |
42, 2, 58, 1, 47, 47, 17, 16, 17, 16, | 46, 46, 46, 2, 66, 1, 55, 46, 46, 55, |
16, 58, 58, 58, 3, 9, 8, 9, 4, 9, | 17, 16, 17, 16, 16, 66, 65, 66, 3, 9, |
5, 58, 13, 13, 13, 11, 12, 47, 0, 55, | 8, 9, 4, 9, 5, 66, 13, 13, 13, 11, |
53, 0, 57, 0, 47, 34, 0, 32, 0, 33, | 12, 66, 19, 19, 18, 18, 18, 19, 18, 18, |
0, 45, 45, 0, 47, 47, 0, 47, 47, 47, | 18, 19, 19, 19, 19, 19, 18, 19, 19, 55, |
|
|
47, 0, 37, 42, 42, 42, 42, 42, 42, 42, | 0, 63, 61, 65, 65, 0, 55, 36, 0, 34, |
42, 42, 42, 47, 56, 47, 55, 0, 0, 0, | 0, 35, 0, 53, 53, 0, 55, 55, 0, 55, |
0, 0, 0, 47, 47, 47, 47, 47, 2, 1, | 55, 55, 55, 0, 39, 46, 46, 46, 46, 46, |
0, 1, 43, 43, 0, 47, 17, 17, 15, 14, | 46, 46, 46, 46, 46, 46, 46, 55, 64, 55, |
15, 0, 0, 3, 9, 0, 6, 7, 9, 9, | 55, 63, 0, 0, 0, 0, 0, 65, 55, 55, |
13, 0, 13, 13, 0, 10, 0, 0, 0, 34, | 55, 55, 55, 2, 1, 0, 1, 47, 47, 0, |
34, 0, 0, 47, 47, 47, 47, 47, 0, 0, | 55, 17, 17, 15, 14, 15, 0, 0, 3, 9, |
37, 37, 42, 39, 42, 42, 42, 42, 42, 42, | 0, 6, 7, 9, 9, 13, 0, 13, 13, 0, |
42, 42, 42, 42, 47, 0, 0, 0, 0, 0, | 10, 36, 0, 0, 35, 19, 19, 0, 19, 0, |
0, 47, 47, 47, 47, 47, 0, 47, 10, 0, | 0, 18, 18, 18, 18, 18, 18, 19, 19, 46, |
|
|
47, 47, 47, 47, 47, 47, 0, 38, 38, 38, | 19, 19, 19, 19, 19, 19, 19, 65, 65, 0, |
0, 0, 37, 37, 37, 37, 37, 37, 37, 42, | 36, 55, 55, 55, 55, 55, 0, 0, 39, 39, |
42, 42, 42, 42, 42, 42, 42, 40, 42, 41, | 46, 41, 46, 46, 46, 46, 46, 46, 46, 46, |
47, 0, 0, 0, 0, 0, 0, 47, 47, 47, | 46, 46, 46, 46, 55, 55, 0, 0, 0, 0, |
47, 47, 47, 47, 0, 0, 38, 38, 38, 0, | 0, 65, 55, 55, 55, 55, 55, 0, 55, 10, |
37, 37, 0, 37, 37, 37, 37, 37, 37, 37, | 0, 0, 0, 18, 18, 18, 19, 19, 19, 19, |
37, 37, 37, 37, 0, 25, 42, 42, 42, 42, | 19, 19, 19, 19, 19, 19, 19, 65, 55, 55, |
42, 42, 42, 42, 47, 0, 0, 0, 0, 47, | 55, 55, 55, 55, 0, 40, 40, 40, 0, 0, |
47, 47, 47, 47, 47, 47, 47, 0, 38, 0, | 39, 39, 39, 39, 39, 39, 39, 46, 46, 46, |
37, 37, 37, 0, 0, 0, 37, 37, 37, 37, | 46, 46, 46, 46, 46, 46, 46, 42, 46, 43, |
|
|
37, 37, 37, 37, 37, 37, 37, 37, 37, 42, | 55, 55, 55, 55, 0, 0, 0, 0, 0, 65, |
42, 42, 42, 42, 42, 42, 42, 47, 0, 0, | 55, 55, 55, 55, 0, 0, 0, 0, 0, 18, |
0, 47, 47, 47, 35, 35, 35, 0, 0, 37, | 18, 19, 46, 19, 19, 19, 19, 19, 19, 19, |
37, 37, 37, 37, 37, 37, 0, 0, 0, 0, | 19, 19, 19, 55, 55, 55, 0, 0, 40, 40, |
0, 37, 37, 37, 37, 37, 37, 37, 37, 37, | 40, 0, 39, 39, 0, 39, 39, 39, 39, 39, |
37, 37, 37, 37, 37, 42, 42, 0, 24, 42, | 39, 39, 39, 39, 39, 39, 0, 27, 46, 46, |
42, 42, 42, 0, 23, 0, 26, 47, 0, 0, | 46, 46, 46, 46, 46, 46, 44, 46, 55, 55, |
0, 47, 47, 47, 47, 35, 35, 35, 35, 0, | 55, 55, 55, 0, 0, 0, 65, 55, 55, 55, |
37, 0, 37, 37, 37, 37, 37, 37, 37, 37, | 0, 0, 0, 18, 18, 46, 46, 19, 19, 19, |
37, 37, 37, 0, 0, 0, 37, 37, 37, 37, | 19, 19, 19, 19, 19, 19, 19, 19, 55, 55, |
|
|
37, 37, 37, 37, 37, 37, 37, 37, 37, 42, | 55, 55, 55, 0, 40, 0, 39, 39, 39, 0, |
42, 42, 42, 42, 42, 44, 0, 0, 0, 47, | 0, 0, 39, 39, 39, 39, 39, 39, 39, 39, |
20, 43, 36, 36, 36, 36, 37, 0, 0, 0, | 39, 39, 39, 39, 39, 46, 46, 46, 46, 46, |
37, 37, 37, 37, 37, 37, 37, 37, 37, 37, | 46, 46, 46, 46, 48, 49, 50, 51, 55, 0, |
37, 37, 37, 0, 0, 0, 0, 0, 37, 37, | 0, 65, 55, 55, 55, 0, 0, 0, 0, 0, |
37, 37, 37, 37, 37, 37, 42, 42, 42, 42, | 46, 46, 19, 46, 19, 19, 19, 19, 19, 19, |
0, 22, 0, 27, 0, 20, 0, 0, 47, 0, | 19, 19, 19, 37, 37, 37, 0, 0, 39, 39, |
47, 47, 47, 36, 36, 36, 36, 0, 0, 0, | 39, 39, 39, 39, 39, 0, 0, 0, 0, 0, |
0, 0, 37, 37, 37, 37, 37, 37, 37, 37, | 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, |
37, 37, 37, 37, 37, 37, 37, 37, 37, 37, | 39, 39, 39, 39, 46, 46, 46, 0, 26, 46, |
|
|
37, 37, 0, 30, 42, 42, 42, 0, 0, 0, | 46, 46, 46, 0, 25, 0, 28, 55, 0, 0, |
21, 20, 0, 0, 0, 0, 0, 20, 0, 47, | 65, 55, 55, 55, 37, 37, 37, 46, 46, 46, |
47, 47, 0, 0, 0, 37, 37, 37, 37, 37, | 46, 19, 19, 19, 55, 37, 37, 37, 37, 0, |
37, 37, 37, 37, 37, 37, 37, 37, 37, 37, | 39, 0, 39, 39, 39, 39, 39, 39, 39, 39, |
37, 37, 37, 0, 28, 42, 42, 21, 0, 18, | 39, 39, 39, 0, 0, 0, 39, 39, 39, 39, |
0, 0, 20, 47, 47, 47, 47, 47, 0, 0, | 39, 39, 39, 39, 39, 39, 39, 39, 39, 46, |
0, 0, 0, 37, 37, 37, 37, 37, 37, 37, | 46, 46, 46, 46, 46, 46, 52, 0, 0, 65, |
37, 0, 31, 42, 0, 47, 47, 47, 37, 37, | 55, 22, 47, 0, 37, 37, 37, 37, 46, 46, |
37, 37, 37, 37, 0, 29, 0, 47, 47, 47, | 46, 46, 19, 19, 19, 38, 38, 38, 38, 39, |
47, 47, 37, 37, 37, 37, 37, 0, 19, 35, | 0, 0, 0, 39, 39, 39, 39, 39, 39, 39, |
|
|
35, 35, 35, 35, 35, 0 | 39, 39, 39, 39, 39, 39, 0, 0, 0, 0, |
| 0, 39, 39, 39, 39, 39, 39, 39, 39, 46, |
| 46, 46, 46, 46, 0, 24, 0, 29, 0, 22, |
| 65, 65, 55, 0, 55, 38, 38, 38, 38, 46, |
| 46, 46, 46, 55, 55, 38, 38, 38, 38, 0, |
| 0, 0, 0, 0, 39, 39, 39, 39, 39, 39, |
| 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, |
| 39, 39, 39, 39, 45, 0, 32, 46, 46, 46, |
| 0, 65, 65, 20, 65, 23, 22, 0, 0, 0, |
| 0, 0, 22, 0, 0, 0, 38, 38, 38, 38, |
| |
| 46, 46, 46, 55, 55, 55, 0, 0, 0, 39, |
| 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, |
| 39, 39, 39, 39, 39, 39, 39, 0, 30, 46, |
| 46, 23, 65, 0, 22, 0, 0, 0, 46, 46, |
| 55, 55, 55, 55, 55, 0, 0, 0, 0, 0, |
| 39, 39, 39, 39, 39, 39, 39, 39, 0, 33, |
| 46, 65, 0, 0, 0, 0, 0, 46, 55, 55, |
| 55, 39, 39, 39, 39, 39, 39, 0, 31, 65, |
| 65, 21, 0, 0, 0, 55, 55, 55, 55, 55, |
| 39, 39, 39, 39, 39, 0, 0, 0, 0, 0, |
| |
| 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, |
| 37, 37, 0 |
} ; |
} ; |
|
|
static yyconst int yy_ec[256] = |
static yyconst int yy_ec[256] = |
Line 369 static yyconst int yy_ec[256] =
|
Line 409 static yyconst int yy_ec[256] =
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
1, 2, 4, 5, 6, 1, 7, 1, 1, 8, |
1, 2, 4, 5, 6, 1, 7, 1, 1, 8, |
9, 10, 11, 12, 13, 14, 15, 16, 17, 18, |
9, 10, 11, 12, 13, 14, 15, 16, 17, 18, |
19, 20, 21, 22, 22, 22, 23, 24, 1, 1, | 19, 20, 21, 22, 23, 24, 25, 26, 1, 1, |
25, 26, 10, 27, 28, 29, 30, 31, 32, 29, | 27, 28, 10, 29, 30, 31, 32, 33, 34, 31, |
33, 34, 35, 36, 36, 37, 36, 38, 39, 40, | 35, 36, 37, 38, 38, 39, 40, 41, 42, 43, |
36, 41, 42, 43, 44, 45, 46, 47, 48, 36, | 38, 44, 45, 46, 47, 48, 49, 50, 51, 38, |
10, 49, 10, 1, 50, 1, 51, 52, 53, 54, | 10, 52, 10, 1, 53, 1, 54, 55, 56, 57, |
|
|
55, 56, 57, 57, 58, 57, 57, 59, 60, 61, | 58, 59, 60, 61, 62, 60, 60, 63, 64, 65, |
62, 57, 57, 63, 64, 65, 66, 57, 57, 57, | 66, 60, 60, 67, 68, 69, 70, 60, 60, 60, |
57, 57, 1, 1, 1, 1, 1, 1, 1, 1, | 60, 60, 1, 1, 1, 1, 1, 1, 1, 1, |
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
Line 394 static yyconst int yy_ec[256] =
|
Line 434 static yyconst int yy_ec[256] =
|
1, 1, 1, 1, 1 |
1, 1, 1, 1, 1 |
} ; |
} ; |
|
|
static yyconst int yy_meta[67] = | static yyconst int yy_meta[71] = |
{ 0, |
{ 0, |
1, 2, 3, 4, 5, 6, 1, 7, 7, 1, |
1, 2, 3, 4, 5, 6, 1, 7, 7, 1, |
1, 8, 1, 9, 10, 11, 11, 11, 11, 11, | 8, 9, 10, 11, 12, 13, 13, 13, 13, 13, |
11, 11, 11, 12, 13, 7, 1, 11, 11, 11, | 13, 13, 13, 13, 13, 14, 15, 7, 1, 16, |
11, 11, 1, 1, 1, 1, 1, 1, 1, 1, | 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, |
1, 1, 1, 1, 1, 1, 1, 1, 14, 15, | 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, |
16, 16, 16, 16, 16, 16, 15, 15, 15, 15, | 17, 18, 19, 20, 20, 20, 20, 20, 20, 21, |
15, 15, 15, 15, 15, 15 | 21, 21, 21, 21, 21, 21, 21, 21, 21, 21 |
} ; |
} ; |
|
|
static yyconst short int yy_base[671] = | static yyconst short int yy_base[931] = |
{ 0, |
{ 0, |
0, 65, 67, 72, 99, 114, 162, 227, 292, 340, | 0, 69, 71, 79, 94, 124, 175, 244, 153, 197, |
86, 125, 2840, 2790, 2836, 3665, 2833, 3665, 387, 70, | 85, 130, 314, 0, 4514, 4461, 4510, 5604, 4507, 5604, |
3665, 3665, 2771, 3665, 136, 397, 133, 159, 2795, 3665, | 382, 86, 5604, 5604, 4458, 5604, 140, 394, 195, 153, |
3665, 453, 2781, 33, 504, 2770, 2767, 2777, 2765, 2771, | 4483, 5604, 5604, 453, 4383, 43, 508, 37, 4379, 65, |
2754, 559, 170, 19, 165, 583, 38, 49, 2739, 68, | 4378, 4385, 4367, 566, 581, 91, 151, 604, 39, 41, |
2727, 81, 219, 2771, 305, 48, 0, 3665, 2761, 3665, | 4351, 34, 4348, 117, 4402, 4412, 428, 4371, 4382, 136, |
0, 250, 639, 119, 0, 2709, 3665, 108, 3665, 112, | 0, 5604, 4407, 5604, 0, 606, 664, 105, 0, 4358, |
3665, 140, 2699, 98, 121, 3665, 195, 2693, 661, 2739, | 5604, 115, 5604, 133, 5604, 138, 4357, 152, 171, 5604, |
2736, 2736, 3665, 227, 247, 300, 316, 152, 354, 2681, | 188, 383, 641, 694, 737, 235, 245, 794, 843, 4369, |
686, 373, 2670, 711, 352, 722, 2692, 2669, 375, 414, | 157, 898, 4365, 4364, 4375, 4370, 944, 0, 206, 4351, |
|
|
302, 2656, 57, 763, 0, 2628, 2625, 2614, 505, 2602, | 266, 4400, 4397, 4397, 5604, 263, 532, 585, 4386, 608, |
2606, 2599, 2601, 202, 3665, 153, 546, 2572, 2565, 2549, | 707, 4346, 829, 648, 4345, 968, 981, 1018, 4359, 4370, |
2537, 2524, 200, 110, 244, 28, 111, 252, 171, 2578, | 563, 708, 422, 4357, 371, 1062, 1106, 4343, 4347, 4340, |
422, 2577, 565, 2529, 818, 262, 0, 2573, 179, 3665, | 4344, 596, 4333, 4340, 4337, 4329, 4331, 644, 5604, 237, |
3665, 599, 269, 0, 2513, 453, 3665, 3665, 2512, 548, | 137, 946, 4309, 4314, 4305, 4300, 4301, 121, 225, 530, |
2490, 2533, 206, 253, 323, 2535, 2524, 2513, 607, 615, | 377, 369, 335, 445, 4366, 720, 4365, 931, 4314, 1018, |
306, 722, 586, 831, 867, 903, 939, 2499, 2456, 980, | 169, 0, 4361, 160, 5604, 5604, 991, 388, 0, 4312, |
333, 1022, 1063, 0, 2430, 2394, 2363, 2364, 2374, 2369, | 638, 5604, 5604, 4311, 661, 4310, 4356, 392, 221, 420, |
2327, 2330, 2329, 2328, 266, 2289, 2283, 2272, 2274, 2279, | 4358, 653, 665, 1139, 4296, 1145, 0, 1173, 1201, 1210, |
409, 334, 2279, 145, 335, 83, 672, 278, 2327, 2325, | 1037, 1239, 4333, 1081, 1170, 826, 1288, 1343, 4307, 0, |
|
|
627, 259, 1106, 1142, 741, 210, 2293, 2279, 683, 513, | 4311, 4309, 899, 4298, 4296, 4287, 4283, 4336, 4335, 1222, |
2275, 2271, 352, 747, 1178, 780, 788, 1220, 815, 2270, | 1258, 1389, 1362, 968, 1428, 4323, 4310, 1472, 520, 1517, |
400, 325, 2261, 2258, 2248, 2246, 2242, 0, 2240, 0, | 1561, 1605, 4303, 4297, 4280, 4282, 4289, 4300, 4295, 4283, |
489, 2223, 2213, 2198, 2211, 2198, 420, 407, 529, 490, | 4279, 4292, 4291, 4290, 654, 493, 4258, 4252, 4242, 4244, |
491, 1263, 1299, 1335, 2235, 2234, 839, 2234, 2232, 2228, | 4250, 534, 579, 4253, 491, 407, 506, 1413, 626, 4304, |
2226, 528, 848, 657, 856, 665, 1371, 0, 877, 1382, | 4251, 4239, 1651, 1661, 4227, 1705, 0, 4197, 4164, 4155, |
886, 894, 1424, 913, 570, 3665, 2208, 2197, 2198, 2177, | 4151, 4151, 4135, 4112, 4111, 811, 4067, 4122, 1749, 378, |
2184, 2193, 2190, 2169, 558, 2145, 2098, 2099, 648, 626, | 0, 0, 1041, 243, 4098, 4097, 1786, 805, 4096, 4095, |
530, 559, 923, 336, 1467, 1503, 964, 2138, 2137, 2108, | 623, 1410, 1799, 1447, 1091, 1844, 1890, 4094, 429, 4073, |
2086, 1537, 551, 1000, 1041, 1082, 653, 694, 797, 1049, | 632, 4084, 4082, 4056, 4054, 4050, 4053, 0, 4046, 0, |
|
|
923, 1580, 0, 1116, 1591, 1090, 1008, 1633, 1125, 2069, | 929, 638, 544, 561, 4022, 4024, 4008, 4022, 4008, 746, |
2065, 747, 686, 2046, 2005, 786, 926, 905, 2014, 1982, | 524, 1063, 413, 662, 1491, 4060, 4059, 4058, 1270, 1900, |
679, 634, 544, 915, 1675, 1710, 1745, 2015, 1978, 1962, | 1944, 763, 904, 4037, 4020, 4009, 4007, 3992, 3988, 818, |
1150, 1781, 1158, 1133, 1822, 1197, 1166, 1954, 1239, 1273, | 3993, 3988, 3912, 1990, 2002, 2014, 3930, 3929, 2024, 3929, |
1207, 950, 951, 962, 991, 1247, 1073, 1865, 0, 1283, | 3912, 3911, 3910, 919, 1536, 1003, 1580, 1142, 2037, 0, |
1876, 1307, 1315, 1918, 1323, 1923, 1923, 1188, 3665, 1924, | 1626, 2083, 1680, 1372, 2128, 2174, 764, 5604, 3892, 3877, |
1898, 1893, 1873, 1286, 3665, 1336, 3665, 707, 1790, 1783, | 3870, 3884, 3862, 3869, 3879, 3879, 0, 3863, 698, 593, |
786, 930, 764, 1298, 1358, 1041, 1960, 1995, 1400, 1823, | 820, 973, 1093, 3857, 3824, 3825, 922, 897, 969, 1097, |
1799, 1348, 708, 1406, 1348, 2031, 0, 559, 2042, 1441, | 3866, 3858, 2186, 2196, 3829, 3807, 3800, 3814, 3778, 3784, |
1449, 2083, 1477, 1487, 1513, 1523, 1230, 1290, 1458, 1548, | 3794, 3793, 3747, 3726, 3716, 3711, 3696, 3656, 2240, 1017, |
|
|
1557, 1602, 2126, 0, 1613, 2137, 1650, 1565, 1660, 1765, | 2279, 2291, 1637, 3686, 3662, 3648, 3646, 2301, 1127, 3642, |
1763, 1680, 1675, 1359, 1406, 1626, 1601, 1577, 897, 938, | 3641, 2347, 1154, 1205, 1209, 1724, 1761, 2359, 0, 1763, |
1695, 1589, 2180, 2216, 2252, 2288, 1611, 1686, 1720, 1731, | 2405, 1774, 1457, 2450, 2496, 2521, 1024, 1127, 1181, 1190, |
1563, 1478, 1504, 1694, 1524, 2324, 0, 617, 2335, 1753, | 1169, 1207, 1224, 1392, 3602, 3584, 3577, 3560, 1240, 3581, |
1761, 2376, 1769, 1798, 1550, 1808, 1841, 1851, 1335, 1358, | 3547, 1313, 1391, 874, 1774, 1821, 3584, 3576, 3569, 1503, |
1887, 714, 825, 2419, 0, 926, 1407, 1508, 1506, 1471, | 3523, 3519, 869, 1379, 3515, 3511, 949, 1045, 0, 0, |
1547, 3665, 1616, 3665, 1423, 1731, 1907, 1512, 1575, 1910, | 0, 0, 3478, 2577, 1863, 1546, 3510, 3509, 3506, 1919, |
1915, 1935, 1498, 2429, 2465, 1971, 1611, 1977, 1457, 2005, | 2616, 1963, 1590, 2660, 2706, 2056, 3517, 3509, 3487, 1692, |
2015, 1987, 1408, 1254, 1732, 1782, 2059, 1842, 2501, 0, | 1879, 1979, 2096, 2104, 2147, 2106, 2718, 0, 2217, 2764, |
1025, 2512, 2067, 2100, 2553, 2108, 2155, 2164, 2189, 1769, | 2250, 1734, 2809, 2855, 2880, 2086, 1133, 1088, 5604, 421, |
|
|
1207, 1189, 1634, 3665, 1699, 1162, 1113, 1074, 1118, 384, | 2087, 1184, 2088, 1369, 5604, 1370, 5604, 1197, 3418, 3389, |
1040, 2211, 2218, 2238, 2243, 2263, 2288, 2249, 2307, 2596, | 1282, 2127, 1249, 1368, 3442, 3427, 2936, 3386, 3320, 3309, |
2632, 2668, 2304, 2354, 2395, 1025, 1006, 1889, 2016, 2362, | 3295, 2951, 1219, 3272, 3006, 1181, 3044, 0, 1709, 3290, |
2043, 2704, 0, 1224, 2715, 2403, 2437, 2445, 992, 2454, | 3263, 2260, 58, 2320, 1774, 3083, 0, 2380, 3129, 2424, |
2474, 2483, 903, 1921, 3665, 1941, 839, 3665, 843, 3665, | 1831, 3173, 3219, 3270, 3265, 3231, 2336, 2462, 2464, 2471, |
1306, 2489, 2529, 2537, 1911, 2758, 2794, 2573, 2579, 811, | 3256, 2477, 3243, 0, 2589, 3289, 2600, 1929, 3335, 3360, |
2607, 2617, 2642, 640, 629, 2109, 535, 447, 2650, 0, | 1376, 1087, 1847, 1409, 1542, 1586, 3218, 3184, 3166, 1832, |
1428, 1942, 3665, 2044, 2216, 2830, 2866, 2902, 2676, 2684, | 1427, 2060, 3174, 2635, 3210, 3186, 3185, 2435, 3129, 3111, |
2692, 337, 0, 333, 2067, 3665, 327, 2733, 1912, 2938, | 3114, 3066, 3429, 1454, 0, 3486, 2679, 2737, 1483, 3085, |
2974, 2743, 3665, 2767, 2777, 2658, 3665, 166, 3665, 2805, | 2989, 2839, 3525, 2819, 2003, 2280, 2783, 2381, 3537, 0, |
|
|
2813, 2847, 63, 2855, 2881, 3665, 3023, 3039, 3055, 3071, | 2830, 3583, 3016, 2157, 3627, 3673, 3026, 2821, 2801, 2750, |
3087, 3103, 3119, 3135, 3151, 3157, 3173, 3189, 1498, 3205, | 2228, 2472, 2474, 2695, 1189, 1531, 3685, 0, 2647, 1848, |
3221, 3237, 3253, 3269, 3285, 3301, 3307, 3314, 3330, 3346, | 1925, 1602, 1522, 1849, 1587, 5604, 1664, 5604, 2692, 1967, |
3352, 3359, 3365, 3371, 3377, 3384, 3390, 3396, 3402, 3409, | 1630, 2177, 2014, 2406, 2761, 2674, 2630, 3731, 2272, 1926, |
3417, 3423, 3429, 3435, 3442, 3450, 3456, 3462, 3469, 3477, | 2155, 2500, 1927, 3741, 2076, 3780, 0, 1967, 2277, 3054, |
3483, 3491, 3498, 3506, 3512, 3520, 3527, 3535, 3551, 3567, | 2598, 2535, 2509, 2841, 2470, 2431, 2485, 2600, 3064, 2617, |
3573, 3581, 3588, 3604, 3610, 3618, 3624, 3632, 1295, 3648 | 3819, 0, 3104, 3865, 3148, 3036, 3909, 3955, 2390, 2373, |
| 3966, 3118, 2338, 1742, 2298, 2129, 5604, 2743, 1825, 1738, |
| 2219, 2153, 1825, 5604, 2062, 2083, 3130, 3172, 3276, 3281, |
| 1984, 2880, 1920, 3360, 3192, 1912, 1877, 1858, 3274, 1744, |
| |
| 2326, 2643, 2745, 3978, 3990, 4002, 1700, 1693, 4014, 1662, |
| 1623, 2856, 2951, 3496, 3084, 4026, 0, 3508, 4072, 3556, |
| 3074, 0, 1599, 1510, 1503, 3319, 1423, 2328, 5604, 3154, |
| 2037, 5604, 2124, 3602, 3646, 1409, 1403, 4118, 2407, 2791, |
| 4130, 2334, 4142, 4154, 3659, 3704, 1390, 1286, 1251, 3418, |
| 1158, 1087, 3105, 1077, 1056, 4166, 0, 3568, 2499, 5604, |
| 3270, 2220, 3751, 1014, 1005, 957, 3614, 2522, 4178, 4190, |
| 4202, 3761, 3790, 3800, 684, 0, 683, 2685, 5604, 658, |
| 2222, 5604, 522, 382, 4214, 4226, 2335, 4238, 4250, 3840, |
| 5604, 3846, 3884, 3202, 5604, 3928, 374, 208, 117, 3716, |
| |
| 4260, 4297, 4334, 4045, 4091, 4270, 59, 4371, 3941, 5604, |
| 4280, 3771, 5604, 4423, 4444, 4465, 4486, 4507, 4528, 4549, |
| 4570, 4591, 4600, 2074, 4620, 4641, 2383, 4662, 4683, 4704, |
| 4725, 4746, 4767, 4788, 4809, 2337, 4830, 4839, 4847, 4856, |
| 4876, 4897, 4918, 2474, 4939, 4960, 4981, 5002, 5011, 5030, |
| 5039, 5048, 2421, 2516, 5056, 5064, 5072, 5081, 5089, 5096, |
| 5104, 5112, 5121, 5131, 2600, 2694, 5139, 5147, 5155, 2695, |
| 2757, 5164, 5174, 5194, 2798, 5203, 5211, 2799, 5220, 5230, |
| 5250, 2228, 2615, 5259, 5271, 5280, 5290, 2803, 2825, 5299, |
| 5309, 5318, 5338, 2700, 5347, 5359, 2841, 2872, 5368, 5378, |
| |
| 2873, 5387, 5397, 5417, 5438, 5459, 3115, 3116, 5479, 3168, |
| 5486, 5496, 2951, 2967, 5505, 2520, 5525, 3304, 3313, 5534, |
| 5544, 3517, 3314, 3318, 5552, 5562, 5582, 3814, 3319, 3430 |
} ; |
} ; |
|
|
static yyconst short int yy_def[671] = | static yyconst short int yy_def[931] = |
{ 0, |
{ 0, |
606, 1, 1, 1, 607, 607, 608, 608, 609, 609, | 813, 1, 1, 1, 814, 814, 815, 815, 816, 816, |
610, 610, 606, 611, 606, 606, 606, 606, 612, 613, | 817, 817, 813, 13, 813, 818, 813, 813, 813, 813, |
606, 606, 614, 606, 615, 611, 26, 26, 616, 606, | 819, 820, 813, 813, 821, 813, 822, 818, 28, 28, |
606, 606, 32, 32, 32, 35, 35, 35, 35, 35, | 823, 813, 813, 813, 34, 34, 34, 37, 37, 37, |
35, 611, 26, 611, 606, 612, 32, 32, 35, 35, | 37, 37, 37, 818, 28, 818, 813, 819, 34, 34, |
35, 606, 606, 606, 617, 611, 618, 606, 618, 606, | 37, 37, 37, 813, 824, 813, 825, 37, 37, 818, |
618, 606, 612, 606, 619, 620, 606, 620, 606, 620, | 826, 813, 826, 813, 826, 813, 819, 813, 827, 828, |
606, 621, 622, 622, 622, 606, 606, 611, 611, 606, | 813, 828, 813, 828, 813, 829, 830, 830, 830, 813, |
606, 623, 606, 624, 606, 613, 606, 625, 613, 614, | 813, 831, 832, 833, 813, 85, 85, 85, 813, 89, |
614, 615, 626, 611, 611, 26, 616, 96, 96, 96, | 89, 89, 92, 92, 92, 92, 85, 88, 88, 818, |
|
|
96, 627, 628, 35, 35, 35, 35, 35, 35, 35, | 818, 813, 813, 834, 813, 835, 813, 820, 836, 831, |
35, 35, 35, 611, 606, 611, 606, 606, 606, 606, | 820, 821, 821, 822, 837, 818, 818, 28, 838, 118, |
606, 606, 623, 611, 96, 611, 611, 611, 606, 606, | 118, 118, 118, 839, 840, 37, 126, 127, 127, 127, |
606, 606, 617, 629, 611, 611, 618, 618, 606, 606, | 127, 127, 127, 127, 127, 127, 127, 818, 813, 818, |
606, 624, 606, 619, 620, 620, 606, 606, 620, 620, | 818, 813, 813, 813, 813, 813, 813, 834, 818, 118, |
622, 606, 622, 622, 606, 606, 623, 630, 606, 606, | 818, 818, 818, 813, 813, 813, 813, 841, 842, 818, |
625, 625, 606, 611, 611, 611, 96, 167, 631, 606, | 818, 843, 843, 813, 813, 813, 835, 813, 844, 845, |
632, 606, 104, 35, 35, 35, 35, 35, 35, 35, | 845, 813, 813, 845, 845, 830, 813, 830, 830, 813, |
35, 35, 35, 35, 611, 606, 606, 606, 606, 606, | 813, 831, 831, 831, 846, 847, 88, 846, 848, 813, |
623, 611, 167, 611, 611, 611, 606, 611, 606, 630, | 813, 85, 192, 192, 192, 192, 813, 197, 198, 849, |
|
|
611, 611, 611, 611, 611, 611, 633, 634, 634, 209, | 198, 198, 198, 198, 198, 88, 88, 834, 850, 813, |
635, 634, 636, 172, 606, 215, 215, 606, 215, 35, | 813, 818, 212, 212, 118, 215, 851, 813, 852, 813, |
35, 35, 35, 35, 35, 35, 35, 35, 35, 35, | 127, 221, 222, 222, 222, 222, 222, 222, 222, 222, |
611, 606, 606, 606, 606, 606, 623, 611, 611, 611, | 222, 222, 222, 222, 818, 818, 813, 813, 813, 813, |
611, 611, 611, 611, 606, 637, 637, 247, 637, 638, | 813, 834, 818, 215, 818, 818, 818, 813, 818, 813, |
639, 640, 606, 641, 218, 641, 641, 257, 641, 606, | 853, 854, 813, 88, 254, 197, 198, 198, 198, 198, |
260, 260, 606, 260, 606, 606, 35, 35, 35, 35, | 198, 198, 198, 198, 198, 88, 88, 850, 818, 818, |
35, 35, 35, 35, 611, 606, 606, 606, 623, 611, | 212, 212, 212, 818, 855, 856, 856, 277, 857, 856, |
611, 611, 611, 611, 611, 611, 611, 642, 642, 643, | 858, 220, 813, 283, 283, 813, 283, 222, 222, 222, |
644, 606, 606, 606, 606, 606, 645, 645, 646, 263, | 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, |
|
|
646, 646, 302, 646, 606, 305, 305, 606, 305, 35, | 818, 818, 818, 818, 813, 813, 813, 813, 813, 834, |
35, 35, 35, 35, 35, 35, 35, 611, 606, 606, | 818, 818, 818, 818, 813, 813, 853, 853, 813, 254, |
623, 611, 611, 611, 611, 611, 611, 606, 647, 648, | 197, 198, 859, 198, 198, 198, 198, 198, 198, 88, |
292, 606, 332, 332, 606, 332, 606, 606, 606, 606, | 88, 88, 88, 212, 212, 212, 813, 860, 860, 339, |
606, 606, 649, 649, 650, 308, 650, 650, 348, 650, | 860, 861, 862, 863, 813, 864, 286, 864, 813, 349, |
606, 351, 351, 606, 351, 35, 35, 606, 606, 35, | 864, 813, 352, 352, 813, 352, 813, 813, 222, 222, |
35, 35, 35, 606, 606, 606, 606, 611, 606, 606, | 222, 222, 222, 222, 222, 222, 222, 222, 818, 818, |
623, 611, 611, 611, 611, 611, 611, 611, 611, 606, | 818, 818, 818, 813, 813, 813, 834, 818, 818, 818, |
651, 606, 652, 335, 652, 652, 386, 386, 606, 389, | 865, 866, 813, 88, 321, 859, 859, 198, 198, 198, |
389, 606, 389, 606, 606, 606, 606, 653, 653, 654, | 198, 198, 198, 88, 88, 88, 88, 88, 818, 818, |
|
|
354, 654, 654, 403, 654, 606, 406, 406, 406, 35, | 212, 212, 818, 867, 867, 868, 869, 813, 813, 870, |
35, 35, 35, 35, 35, 611, 606, 606, 623, 611, | 871, 813, 872, 872, 873, 355, 873, 813, 418, 873, |
611, 611, 611, 611, 611, 611, 606, 606, 606, 606, | 813, 421, 421, 813, 421, 813, 426, 426, 426, 426, |
655, 655, 656, 392, 656, 656, 436, 436, 606, 439, | 426, 426, 426, 426, 818, 818, 818, 818, 818, 813, |
439, 606, 439, 606, 606, 606, 606, 606, 606, 657, | 813, 874, 818, 818, 818, 813, 813, 875, 875, 813, |
657, 658, 658, 658, 454, 454, 35, 35, 35, 35, | 859, 859, 198, 859, 198, 198, 198, 198, 88, 88, |
606, 606, 606, 606, 606, 606, 623, 623, 611, 659, | 88, 88, 88, 818, 464, 464, 813, 876, 877, 408, |
660, 611, 611, 611, 611, 611, 611, 606, 606, 606, | 813, 471, 471, 813, 471, 813, 813, 878, 878, 813, |
606, 606, 606, 661, 661, 662, 442, 662, 662, 489, | 813, 879, 879, 880, 424, 880, 813, 487, 880, 813, |
489, 606, 492, 492, 606, 492, 606, 606, 606, 606, | 490, 490, 813, 490, 813, 495, 495, 813, 813, 495, |
|
|
663, 663, 606, 606, 35, 35, 35, 606, 664, 623, | 495, 495, 495, 813, 813, 813, 813, 818, 813, 813, |
611, 659, 659, 659, 659, 606, 659, 660, 660, 611, | 881, 818, 818, 818, 882, 883, 813, 884, 884, 884, |
611, 611, 606, 606, 606, 606, 665, 665, 666, 495, | 884, 813, 522, 885, 818, 818, 818, 527, 527, 813, |
666, 666, 532, 532, 606, 535, 535, 535, 606, 606, | 886, 813, 887, 474, 887, 813, 536, 887, 813, 539, |
606, 606, 606, 606, 606, 35, 35, 606, 664, 606, | 539, 813, 539, 888, 889, 813, 813, 890, 890, 891, |
623, 606, 606, 611, 611, 611, 611, 611, 606, 606, | 892, 891, 813, 553, 891, 813, 556, 556, 556, 813, |
606, 606, 606, 606, 667, 667, 668, 668, 668, 569, | 560, 560, 560, 560, 560, 560, 818, 813, 813, 893, |
569, 606, 606, 35, 623, 611, 611, 611, 606, 606, | 818, 818, 818, 813, 813, 894, 894, 813, 895, 895, |
606, 606, 669, 669, 606, 606, 670, 611, 611, 611, | 895, 895, 813, 583, 896, 818, 586, 586, 586, 813, |
611, 611, 606, 606, 606, 606, 606, 670, 606, 611, | 897, 898, 813, 899, 899, 900, 542, 900, 813, 599, |
|
|
611, 611, 611, 611, 611, 0, 606, 606, 606, 606, | 900, 813, 602, 602, 813, 602, 813, 813, 901, 901, |
606, 606, 606, 606, 606, 606, 606, 606, 606, 606, | 813, 813, 902, 902, 903, 903, 813, 617, 903, 560, |
606, 606, 606, 606, 606, 606, 606, 606, 606, 606, | 560, 560, 560, 560, 813, 813, 813, 813, 813, 813, |
606, 606, 606, 606, 606, 606, 606, 606, 606, 606, | 904, 893, 818, 905, 906, 907, 908, 813, 907, 909, |
606, 606, 606, 606, 606, 606, 606, 606, 606, 606, | 909, 909, 909, 818, 818, 818, 646, 646, 818, 813, |
606, 606, 606, 606, 606, 606, 606, 606, 606, 606, | 813, 910, 910, 813, 813, 911, 911, 912, 605, 912, |
606, 606, 606, 606, 606, 606, 606, 606, 606, 606 | 813, 661, 912, 813, 664, 664, 813, 664, 913, 914, |
| 813, 813, 915, 915, 560, 813, 813, 560, 560, 560, |
| 813, 904, 904, 813, 893, 818, 905, 905, 905, 905, |
| 916, 905, 917, 917, 813, 813, 907, 907, 813, 813, |
| |
| 909, 909, 909, 646, 646, 646, 918, 919, 813, 813, |
| 920, 920, 921, 667, 921, 813, 716, 921, 813, 719, |
| 719, 922, 813, 913, 913, 813, 813, 813, 813, 560, |
| 560, 813, 893, 813, 813, 923, 924, 813, 909, 909, |
| 646, 818, 646, 646, 818, 813, 813, 918, 918, 813, |
| 813, 925, 925, 926, 926, 926, 756, 926, 813, 813, |
| 560, 927, 813, 813, 923, 923, 813, 909, 646, 646, |
| 646, 813, 813, 813, 813, 928, 928, 813, 813, 927, |
| 927, 813, 929, 930, 813, 646, 818, 646, 646, 818, |
| 813, 813, 813, 813, 813, 813, 813, 929, 929, 813, |
| |
| 818, 818, 818, 813, 813, 813, 818, 818, 818, 813, |
| 813, 813, 0, 813, 813, 813, 813, 813, 813, 813, |
| 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, |
| 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, |
| 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, |
| 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, |
| 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, |
| 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, |
| 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, |
| 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, |
| |
| 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, |
| 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, |
| 813, 813, 813, 813, 813, 813, 813, 813, 813, 813 |
} ; |
} ; |
|
|
static yyconst short int yy_nxt[3732] = | static yyconst short int yy_nxt[5675] = |
{ 0, |
{ 0, |
14, 15, 16, 17, 18, 19, 20, 21, 22, 14, | 16, 17, 18, 19, 20, 21, 22, 23, 24, 16, |
23, 24, 14, 14, 25, 26, 27, 28, 26, 26, | 25, 26, 16, 16, 27, 28, 29, 30, 28, 28, |
26, 26, 26, 29, 30, 31, 14, 32, 33, 33, | 28, 28, 28, 28, 28, 31, 32, 33, 16, 34, |
33, 34, 35, 35, 35, 35, 36, 37, 35, 38, | 35, 35, 35, 36, 37, 37, 37, 37, 38, 37, |
39, 40, 41, 35, 35, 35, 35, 35, 42, 14, | 39, 37, 40, 41, 42, 43, 37, 37, 37, 37, |
43, 43, 43, 43, 43, 43, 14, 14, 14, 14, | 37, 44, 16, 45, 45, 45, 45, 45, 45, 16, |
14, 14, 14, 44, 14, 14, 45, 79, 52, 105, | 16, 16, 16, 16, 16, 16, 16, 46, 16, 16, |
46, 170, 53, 52, 105, 87, 79, 53, 54, 107, | 47, 532, 54, 130, 48, 135, 55, 127, 131, 127, |
172, 55, 129, 54, 116, 105, 55, 74, 16, 75, | 54, 127, 56, 534, 55, 57, 78, 18, 79, 80, |
76, 194, 130, 88, 47, 48, 79, 124, 49, 153, | 56, 109, 129, 57, 133, 17, 62, 63, 150, 64, |
|
|
15, 58, 59, 125, 60, 50, 111, 35, 51, 35, | 49, 50, 149, 152, 51, 64, 168, 139, 134, 58, |
60, 79, 35, 136, 35, 15, 58, 59, 89, 60, | 101, 110, 52, 59, 37, 53, 37, 58, 154, 64, |
143, 115, 60, 61, 154, 60, 74, 16, 75, 76, | 65, 59, 37, 105, 37, 17, 62, 63, 155, 64, |
56, 79, 147, 127, 77, 56, 148, 60, 61, 93, | 796, 78, 18, 79, 80, 64, 81, 111, 60, 175, |
93, 150, 115, 93, 93, 238, 152, 62, 99, 99, | 139, 172, 101, 115, 115, 66, 60, 115, 115, 64, |
99, 99, 99, 99, 99, 99, 146, 87, 79, 79, | 65, 140, 142, 178, 17, 18, 19, 71, 67, 173, |
146, 93, 62, 15, 16, 17, 117, 63, 599, 152, | 141, 168, 139, 72, 73, 74, 171, 115, 122, 122, |
192, 195, 129, 77, 100, 100, 100, 100, 100, 101, | 122, 122, 122, 123, 179, 66, 17, 18, 19, 75, |
143, 115, 130, 78, 94, 98, 98, 98, 98, 98, | 67, 81, 143, 144, 171, 242, 145, 101, 101, 180, |
98, 98, 98, 79, 118, 119, 155, 156, 120, 151, | 181, 116, 176, 236, 146, 198, 140, 147, 17, 18, |
|
|
162, 79, 83, 143, 115, 121, 185, 153, 122, 238, | 19, 71, 67, 177, 76, 161, 201, 72, 73, 74, |
64, 65, 65, 65, 65, 65, 65, 65, 65, 65, | 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, |
65, 65, 65, 65, 65, 65, 65, 65, 15, 16, | 101, 796, 177, 75, 179, 249, 68, 69, 69, 69, |
17, 131, 63, 97, 85, 85, 85, 85, 85, 85, | 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, |
85, 85, 85, 85, 85, 85, 85, 85, 85, 85, | 69, 69, 69, 69, 69, 17, 18, 19, 76, 67, |
79, 139, 115, 140, 152, 141, 154, 78, 79, 140, | 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, |
191, 141, 85, 85, 85, 85, 85, 85, 85, 85, | 195, 195, 195, 195, 195, 196, 206, 100, 119, 100, |
143, 115, 201, 141, 141, 64, 65, 65, 65, 65, | 100, 100, 177, 100, 100, 207, 101, 100, 107, 107, |
65, 65, 65, 65, 65, 65, 65, 65, 65, 65, | 107, 107, 107, 107, 107, 107, 107, 107, 101, 243, |
65, 65, 65, 15, 16, 17, 67, 63, 141, 193, | 235, 100, 100, 100, 101, 68, 69, 69, 69, 69, |
|
|
79, 152, 68, 69, 70, 606, 196, 79, 134, 134, | 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, |
79, 606, 134, 134, 79, 198, 71, 168, 168, 168, | 69, 69, 69, 69, 33, 17, 18, 19, 33, 33, |
168, 168, 168, 606, 155, 156, 79, 231, 159, 599, | 82, 23, 24, 33, 83, 26, 33, 33, 84, 85, |
134, 160, 160, 160, 160, 160, 160, 160, 160, 241, | 86, 87, 85, 85, 85, 85, 85, 85, 85, 31, |
72, 15, 16, 17, 67, 63, 382, 170, 89, 283, | 88, 33, 33, 89, 90, 90, 90, 91, 92, 92, |
68, 69, 70, 135, 162, 86, 214, 86, 86, 267, | 92, 92, 93, 92, 94, 92, 95, 92, 96, 92, |
530, 86, 86, 268, 71, 86, 170, 164, 165, 166, | 92, 92, 92, 92, 92, 68, 33, 97, 97, 97, |
164, 164, 164, 164, 164, 214, 93, 93, 86, 86, | 97, 97, 97, 98, 98, 98, 98, 98, 98, 98, |
93, 93, 79, 79, 79, 240, 83, 238, 72, 83, | 98, 99, 98, 98, 105, 218, 101, 796, 109, 168, |
168, 168, 168, 168, 168, 168, 168, 168, 93, 84, | 139, 269, 247, 178, 106, 796, 220, 107, 107, 107, |
|
|
79, 265, 85, 85, 85, 85, 85, 85, 85, 85, | 107, 107, 107, 107, 107, 107, 107, 117, 183, 118, |
95, 83, 96, 96, 96, 96, 96, 96, 96, 96, | 118, 118, 118, 118, 118, 118, 118, 118, 118, 119, |
97, 94, 83, 266, 98, 98, 98, 98, 98, 168, | 101, 180, 181, 120, 120, 120, 120, 120, 101, 101, |
168, 168, 168, 168, 168, 168, 168, 85, 85, 85, | 357, 159, 159, 246, 184, 159, 159, 216, 216, 216, |
85, 85, 85, 85, 85, 79, 551, 98, 98, 98, | 216, 216, 216, 177, 245, 101, 154, 120, 120, 120, |
98, 98, 98, 78, 145, 79, 280, 145, 145, 78, | 120, 120, 120, 100, 358, 159, 155, 127, 101, 100, |
606, 237, 78, 78, 145, 78, 78, 78, 104, 104, | 313, 563, 100, 100, 101, 100, 100, 100, 126, 126, |
104, 104, 104, 104, 104, 104, 97, 145, 279, 78, | 126, 126, 126, 126, 126, 126, 126, 126, 119, 160, |
104, 104, 104, 104, 104, 105, 105, 105, 105, 106, | 311, 100, 126, 126, 126, 126, 126, 127, 127, 127, |
105, 105, 105, 105, 105, 105, 105, 105, 105, 105, | 127, 128, 127, 127, 127, 127, 127, 127, 127, 127, |
|
|
105, 79, 105, 98, 98, 98, 98, 98, 98, 78, | 127, 127, 127, 127, 101, 127, 120, 120, 120, 120, |
78, 78, 78, 78, 78, 78, 78, 78, 78, 105, | 120, 120, 100, 100, 100, 100, 100, 100, 100, 100, |
105, 105, 105, 105, 105, 105, 105, 606, 249, 249, | 100, 100, 100, 127, 127, 127, 127, 127, 127, 127, |
249, 105, 105, 105, 105, 105, 177, 79, 79, 79, | 127, 127, 127, 813, 218, 796, 105, 127, 127, 127, |
105, 178, 170, 275, 179, 282, 180, 117, 382, 143, | 127, 127, 101, 100, 101, 282, 127, 107, 107, 107, |
115, 214, 97, 238, 78, 78, 78, 78, 78, 78, | 107, 107, 107, 107, 107, 107, 107, 101, 304, 311, |
114, 115, 78, 78, 78, 170, 78, 78, 134, 134, | 372, 100, 100, 100, 100, 100, 100, 138, 139, 100, |
78, 265, 134, 134, 214, 118, 119, 79, 79, 120, | 100, 100, 311, 100, 100, 101, 378, 100, 216, 216, |
431, 431, 78, 78, 78, 83, 121, 93, 323, 122, | 216, 216, 216, 216, 216, 216, 216, 216, 244, 310, |
134, 93, 79, 266, 281, 84, 146, 93, 85, 85, | 813, 100, 100, 100, 100, 101, 120, 120, 120, 120, |
|
|
85, 85, 85, 85, 85, 85, 79, 79, 373, 93, | 120, 120, 120, 120, 120, 120, 105, 164, 139, 165, |
93, 318, 324, 135, 606, 606, 606, 606, 606, 606, | 813, 166, 101, 109, 436, 165, 106, 166, 373, 107, |
606, 606, 160, 160, 160, 160, 160, 160, 160, 160, | 107, 107, 107, 107, 107, 107, 107, 107, 107, 226, |
160, 160, 160, 160, 160, 160, 160, 160, 484, 484, | 101, 166, 166, 813, 227, 311, 111, 218, 228, 170, |
123, 83, 242, 243, 244, 242, 242, 242, 242, 242, | 229, 185, 170, 170, 101, 168, 139, 185, 282, 170, |
83, 142, 530, 322, 606, 606, 606, 606, 606, 606, | 185, 115, 115, 185, 185, 115, 115, 166, 813, 184, |
606, 606, 78, 487, 78, 78, 78, 170, 78, 78, | 782, 371, 168, 139, 170, 148, 105, 187, 360, 185, |
253, 170, 78, 134, 79, 79, 255, 134, 606, 170, | 109, 301, 302, 361, 303, 115, 167, 101, 813, 813, |
255, 83, 79, 134, 78, 78, 78, 90, 255, 90, | 813, 813, 813, 813, 813, 813, 813, 813, 813, 101, |
90, 90, 372, 90, 90, 134, 134, 90, 247, 247, | 813, 314, 188, 185, 115, 101, 532, 115, 115, 116, |
|
|
248, 249, 249, 249, 249, 249, 211, 253, 170, 90, | 115, 115, 115, 115, 184, 101, 115, 115, 108, 714, |
90, 90, 92, 321, 78, 78, 92, 255, 78, 78, | 108, 108, 171, 101, 108, 108, 184, 435, 108, 380, |
360, 382, 92, 161, 361, 161, 161, 253, 170, 161, | 187, 115, 115, 216, 216, 216, 216, 216, 216, 216, |
161, 384, 371, 161, 92, 92, 78, 167, 167, 167, | 216, 216, 216, 108, 108, 107, 107, 107, 107, 107, |
167, 167, 167, 167, 167, 161, 161, 161, 358, 167, | 107, 107, 107, 107, 107, 190, 115, 187, 105, 101, |
167, 167, 167, 167, 201, 79, 202, 202, 202, 202, | 191, 187, 192, 192, 192, 192, 192, 192, 192, 192, |
202, 202, 219, 219, 219, 219, 219, 219, 219, 219, | 192, 192, 119, 187, 357, 357, 193, 193, 193, 193, |
359, 416, 167, 167, 167, 167, 167, 167, 173, 173, | 193, 187, 187, 187, 187, 187, 187, 187, 187, 187, |
173, 173, 173, 173, 173, 173, 97, 364, 83, 79, | 187, 187, 187, 187, 187, 187, 187, 187, 358, 358, |
173, 173, 173, 173, 173, 257, 257, 257, 257, 257, | 193, 193, 193, 193, 193, 193, 187, 187, 187, 187, |
|
|
257, 257, 257, 258, 258, 258, 258, 258, 259, 365, | 187, 187, 187, 187, 187, 187, 187, 813, 377, 187, |
253, 170, 79, 167, 167, 167, 167, 167, 167, 133, | 187, 187, 187, 187, 187, 187, 187, 187, 187, 813, |
300, 78, 78, 133, 559, 78, 78, 421, 606, 133, | 341, 341, 341, 187, 187, 187, 187, 187, 330, 331, |
256, 256, 256, 256, 256, 256, 256, 256, 606, 170, | 112, 332, 112, 112, 112, 394, 112, 112, 395, 437, |
419, 133, 133, 78, 201, 550, 202, 202, 202, 202, | 112, 255, 255, 255, 255, 255, 255, 187, 187, 187, |
202, 202, 202, 202, 289, 289, 289, 289, 289, 289, | 187, 187, 187, 187, 112, 112, 112, 187, 197, 197, |
289, 289, 211, 294, 295, 296, 294, 294, 294, 294, | 197, 197, 197, 197, 197, 197, 197, 197, 119, 187, |
294, 264, 264, 264, 264, 264, 264, 264, 264, 79, | 498, 101, 197, 197, 197, 197, 197, 198, 198, 198, |
201, 574, 203, 203, 203, 203, 203, 203, 203, 203, | 198, 199, 198, 198, 198, 198, 198, 198, 198, 198, |
253, 170, 298, 298, 298, 298, 298, 298, 467, 83, | 198, 198, 198, 198, 499, 200, 193, 193, 193, 193, |
|
|
255, 302, 302, 302, 302, 302, 302, 302, 302, 303, | 193, 193, 187, 187, 187, 187, 187, 187, 187, 187, |
303, 303, 303, 303, 304, 79, 201, 170, 204, 204, | 187, 187, 187, 198, 198, 198, 198, 198, 198, 198, |
204, 204, 204, 205, 202, 202, 606, 366, 301, 301, | 198, 198, 198, 813, 105, 101, 443, 198, 198, 198, |
301, 301, 301, 301, 301, 301, 606, 170, 325, 326, | 198, 198, 260, 218, 159, 159, 198, 261, 159, 159, |
327, 325, 325, 325, 325, 325, 300, 501, 501, 367, | 386, 262, 513, 263, 282, 387, 369, 142, 101, 370, |
468, 79, 78, 79, 206, 206, 206, 206, 206, 206, | 504, 187, 187, 187, 187, 187, 187, 813, 159, 193, |
206, 206, 368, 79, 170, 170, 206, 206, 206, 206, | 193, 193, 193, 193, 193, 193, 193, 193, 193, 114, |
206, 79, 374, 255, 300, 253, 170, 283, 79, 284, | 763, 100, 100, 114, 505, 100, 100, 143, 144, 114, |
284, 284, 284, 284, 284, 300, 79, 420, 469, 206, | 101, 145, 160, 272, 272, 272, 272, 272, 273, 146, |
206, 206, 206, 206, 206, 208, 209, 210, 210, 210, | 438, 442, 147, 114, 114, 100, 212, 213, 214, 212, |
|
|
210, 210, 210, 211, 253, 170, 170, 212, 212, 212, | 212, 212, 212, 212, 212, 212, 813, 813, 813, 813, |
212, 212, 79, 337, 346, 338, 338, 338, 338, 338, | 813, 813, 813, 813, 813, 813, 345, 218, 763, 158, |
338, 338, 338, 349, 349, 349, 349, 349, 350, 487, | 101, 100, 100, 158, 101, 100, 100, 763, 347, 158, |
212, 212, 212, 212, 212, 212, 170, 215, 216, 217, | 399, 444, 101, 215, 215, 215, 215, 215, 215, 215, |
215, 215, 215, 215, 215, 218, 527, 527, 434, 219, | 215, 215, 215, 158, 158, 100, 506, 215, 215, 215, |
219, 219, 219, 219, 337, 375, 339, 339, 339, 339, | 215, 215, 251, 252, 253, 251, 251, 251, 251, 251, |
339, 339, 339, 339, 309, 309, 309, 309, 309, 309, | 251, 251, 100, 100, 100, 100, 496, 127, 101, 813, |
309, 309, 219, 219, 219, 219, 219, 219, 220, 220, | 507, 215, 215, 215, 215, 215, 215, 221, 221, 221, |
220, 220, 220, 220, 220, 220, 606, 170, 79, 79, | 221, 221, 221, 221, 221, 221, 221, 119, 119, 498, |
220, 220, 220, 220, 220, 337, 346, 340, 340, 340, | 532, 221, 221, 221, 221, 221, 255, 255, 255, 255, |
|
|
340, 340, 341, 338, 338, 348, 348, 348, 348, 348, | 255, 255, 255, 255, 255, 255, 350, 350, 350, 350, |
348, 348, 348, 206, 206, 206, 206, 206, 206, 201, | 350, 351, 714, 499, 101, 215, 215, 215, 215, 215, |
550, 202, 202, 202, 202, 202, 202, 202, 202, 253, | 215, 127, 127, 127, 127, 127, 127, 127, 127, 127, |
170, 344, 344, 344, 344, 344, 344, 548, 606, 300, | 127, 813, 379, 622, 127, 127, 127, 127, 127, 127, |
347, 347, 347, 347, 347, 347, 347, 347, 387, 387, | 182, 218, 182, 182, 101, 185, 182, 182, 101, 439, |
387, 387, 387, 388, 79, 201, 547, 202, 202, 202, | 182, 185, 282, 445, 185, 813, 218, 185, 185, 100, |
202, 202, 202, 202, 202, 336, 336, 336, 336, 336, | 100, 100, 100, 100, 100, 182, 182, 347, 218, 127, |
336, 336, 336, 386, 386, 386, 386, 386, 386, 386, | 127, 187, 497, 185, 185, 562, 185, 185, 185, 347, |
386, 394, 395, 396, 394, 394, 394, 394, 394, 358, | 185, 185, 498, 659, 185, 255, 255, 255, 255, 255, |
79, 253, 170, 254, 254, 254, 254, 254, 254, 254, | 255, 255, 255, 255, 255, 525, 188, 185, 185, 185, |
|
|
254, 255, 253, 170, 546, 256, 256, 256, 256, 256, | 185, 115, 345, 218, 115, 115, 499, 115, 115, 115, |
606, 359, 385, 385, 385, 385, 385, 385, 385, 385, | 115, 115, 127, 115, 115, 115, 565, 502, 345, 218, |
337, 170, 338, 338, 338, 338, 338, 338, 256, 256, | 127, 115, 345, 218, 127, 504, 500, 187, 115, 115, |
256, 256, 256, 256, 170, 260, 261, 262, 260, 260, | 347, 501, 101, 127, 416, 115, 115, 211, 211, 211, |
260, 260, 260, 263, 170, 565, 565, 264, 264, 264, | 211, 211, 211, 211, 211, 211, 211, 503, 101, 505, |
264, 264, 337, 300, 338, 338, 338, 338, 338, 338, | 127, 198, 190, 115, 254, 254, 254, 254, 254, 254, |
338, 338, 355, 355, 355, 355, 355, 355, 355, 355, | 254, 254, 254, 254, 746, 567, 584, 127, 254, 254, |
264, 264, 264, 264, 264, 264, 283, 434, 284, 284, | 254, 254, 254, 211, 211, 211, 211, 211, 211, 211, |
284, 284, 284, 284, 284, 284, 337, 364, 338, 338, | 211, 211, 211, 315, 105, 316, 316, 316, 316, 316, |
338, 338, 338, 338, 338, 338, 253, 170, 399, 399, | 316, 101, 254, 254, 254, 254, 254, 254, 187, 746, |
|
|
399, 399, 399, 399, 170, 597, 346, 575, 83, 365, | 101, 508, 187, 256, 256, 256, 256, 256, 256, 256, |
597, 79, 283, 346, 285, 285, 285, 285, 285, 285, | 256, 256, 256, 119, 187, 105, 572, 256, 256, 256, |
285, 285, 403, 403, 403, 403, 403, 403, 403, 403, | 256, 256, 198, 198, 198, 198, 198, 198, 198, 198, |
404, 404, 404, 404, 404, 405, 606, 366, 402, 402, | 198, 198, 198, 198, 198, 198, 198, 198, 198, 570, |
402, 402, 402, 402, 402, 402, 79, 79, 283, 170, | 200, 254, 254, 254, 254, 254, 254, 187, 187, 187, |
286, 286, 286, 286, 286, 287, 284, 284, 346, 367, | 187, 187, 187, 187, 187, 187, 187, 187, 198, 198, |
461, 606, 422, 428, 429, 430, 428, 428, 428, 428, | 198, 198, 198, 198, 198, 198, 198, 198, 813, 511, |
428, 384, 170, 423, 424, 425, 426, 423, 423, 423, | 504, 506, 198, 198, 198, 198, 198, 271, 271, 271, |
423, 401, 462, 79, 253, 170, 298, 298, 298, 298, | 271, 271, 271, 271, 271, 271, 271, 419, 419, 419, |
298, 298, 298, 298, 255, 253, 170, 299, 299, 299, | 419, 419, 420, 506, 505, 507, 187, 187, 187, 187, |
|
|
299, 299, 299, 299, 299, 300, 79, 463, 503, 301, | 187, 187, 269, 746, 270, 270, 270, 270, 270, 270, |
301, 301, 301, 301, 375, 376, 376, 376, 376, 376, | 270, 270, 270, 270, 159, 520, 763, 507, 159, 101, |
376, 393, 393, 393, 393, 393, 393, 393, 393, 464, | 521, 621, 763, 127, 159, 287, 287, 287, 287, 287, |
504, 384, 301, 301, 301, 301, 301, 301, 170, 305, | 287, 287, 287, 287, 287, 127, 573, 218, 159, 159, |
306, 307, 305, 305, 305, 305, 305, 308, 79, 583, | 101, 100, 101, 274, 274, 274, 274, 274, 274, 274, |
583, 309, 309, 309, 309, 309, 436, 436, 436, 436, | 274, 274, 274, 512, 624, 627, 127, 274, 274, 274, |
436, 436, 436, 436, 437, 437, 437, 437, 437, 438, | 274, 274, 349, 349, 349, 349, 349, 349, 349, 349, |
478, 253, 170, 508, 309, 309, 309, 309, 309, 309, | 349, 349, 488, 488, 488, 488, 488, 489, 101, 628, |
283, 346, 284, 284, 284, 284, 284, 284, 284, 284, | 633, 274, 274, 274, 274, 274, 274, 276, 277, 278, |
606, 382, 435, 435, 435, 435, 435, 435, 435, 435, | 278, 278, 278, 278, 278, 278, 278, 279, 649, 649, |
|
|
444, 384, 445, 445, 445, 445, 445, 445, 445, 445, | 649, 280, 280, 280, 280, 280, 381, 382, 383, 381, |
507, 472, 144, 144, 83, 79, 283, 382, 284, 284, | 381, 381, 381, 381, 381, 381, 446, 218, 447, 447, |
284, 284, 284, 284, 284, 284, 444, 434, 446, 446, | 447, 447, 447, 447, 218, 280, 280, 280, 280, 280, |
446, 446, 446, 446, 446, 446, 444, 606, 447, 447, | 280, 218, 283, 284, 285, 283, 283, 283, 283, 283, |
447, 447, 447, 448, 445, 445, 79, 434, 461, 506, | 283, 283, 286, 625, 813, 218, 287, 287, 287, 287, |
505, 79, 332, 333, 334, 332, 332, 332, 332, 332, | 287, 410, 411, 412, 410, 410, 410, 410, 410, 410, |
335, 253, 170, 444, 336, 336, 336, 336, 336, 510, | 410, 528, 528, 528, 528, 528, 529, 626, 679, 127, |
462, 401, 409, 409, 409, 409, 409, 409, 409, 409, | 287, 287, 287, 287, 287, 287, 288, 288, 288, 288, |
455, 455, 455, 455, 455, 456, 384, 336, 336, 336, | 288, 288, 288, 288, 288, 288, 119, 627, 625, 127, |
336, 336, 336, 253, 170, 344, 344, 344, 344, 344, | 288, 288, 288, 288, 288, 356, 356, 356, 356, 356, |
|
|
344, 344, 344, 300, 253, 170, 345, 345, 345, 345, | 356, 356, 356, 356, 356, 537, 537, 537, 537, 537, |
345, 345, 345, 345, 346, 606, 170, 463, 347, 347, | 538, 628, 626, 218, 274, 274, 274, 274, 274, 274, |
347, 347, 347, 79, 472, 401, 253, 170, 451, 451, | 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, |
451, 451, 451, 451, 331, 503, 401, 79, 511, 464, | 813, 683, 684, 127, 127, 127, 127, 127, 127, 345, |
466, 347, 347, 347, 347, 347, 347, 170, 351, 352, | 218, 414, 414, 414, 414, 414, 414, 678, 659, 127, |
353, 351, 351, 351, 351, 351, 354, 504, 465, 79, | 399, 347, 400, 400, 400, 400, 400, 400, 100, 100, |
355, 355, 355, 355, 355, 454, 454, 454, 454, 454, | 100, 100, 100, 100, 315, 627, 318, 318, 318, 318, |
454, 454, 454, 606, 79, 453, 453, 453, 453, 453, | 318, 319, 316, 316, 316, 316, 320, 320, 320, 320, |
453, 453, 453, 355, 355, 355, 355, 355, 355, 375, | 320, 320, 320, 320, 320, 320, 119, 597, 101, 628, |
376, 376, 376, 376, 376, 376, 376, 376, 470, 478, | 320, 320, 320, 320, 320, 418, 418, 418, 418, 418, |
|
|
544, 479, 479, 479, 479, 479, 479, 479, 479, 443, | 418, 418, 418, 418, 418, 476, 746, 477, 477, 477, |
443, 443, 443, 443, 443, 443, 443, 460, 470, 459, | 477, 477, 477, 746, 320, 320, 320, 320, 320, 320, |
470, 471, 545, 79, 375, 377, 377, 377, 377, 377, | 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, |
377, 377, 377, 478, 470, 480, 480, 480, 480, 480, | 100, 100, 100, 100, 321, 321, 321, 321, 321, 425, |
480, 480, 480, 79, 478, 382, 481, 481, 481, 481, | 425, 425, 425, 425, 425, 425, 425, 425, 425, 554, |
481, 482, 479, 479, 470, 434, 470, 470, 79, 375, | 554, 554, 554, 554, 555, 345, 218, 695, 320, 320, |
378, 378, 378, 378, 378, 379, 376, 376, 489, 489, | 320, 320, 320, 320, 334, 335, 336, 334, 334, 334, |
489, 489, 489, 489, 489, 489, 490, 490, 490, 490, | 334, 334, 334, 334, 813, 218, 345, 218, 483, 483, |
490, 491, 606, 170, 488, 488, 488, 488, 488, 488, | 483, 483, 483, 483, 731, 127, 416, 813, 416, 487, |
488, 488, 401, 79, 382, 382, 383, 383, 383, 383, | 487, 487, 487, 487, 487, 487, 487, 487, 487, 534, |
|
|
383, 383, 383, 383, 384, 487, 458, 457, 385, 385, | 101, 339, 339, 340, 341, 341, 341, 341, 341, 341, |
385, 385, 385, 497, 498, 499, 497, 497, 497, 497, | 341, 279, 345, 218, 346, 346, 346, 346, 346, 346, |
497, 444, 331, 445, 445, 445, 445, 445, 445, 445, | 346, 346, 346, 346, 347, 101, 683, 684, 348, 348, |
445, 385, 385, 385, 385, 385, 385, 389, 390, 391, | 348, 348, 348, 631, 105, 514, 515, 516, 517, 515, |
389, 389, 389, 389, 389, 392, 251, 418, 417, 393, | 515, 515, 515, 515, 515, 515, 600, 600, 600, 600, |
393, 393, 393, 393, 444, 606, 445, 445, 445, 445, | 600, 601, 348, 348, 348, 348, 348, 348, 218, 352, |
445, 445, 445, 445, 444, 487, 445, 445, 445, 445, | 353, 354, 352, 352, 352, 352, 352, 352, 352, 355, |
445, 445, 393, 393, 393, 393, 393, 393, 253, 170, | 730, 695, 127, 356, 356, 356, 356, 356, 527, 527, |
399, 399, 399, 399, 399, 399, 399, 399, 346, 253, | 527, 527, 527, 527, 527, 527, 527, 527, 632, 623, |
170, 400, 400, 400, 400, 400, 400, 400, 400, 401, | 695, 680, 675, 218, 127, 127, 127, 356, 356, 356, |
|
|
253, 170, 382, 402, 402, 402, 402, 402, 467, 83, | 356, 356, 356, 813, 347, 348, 348, 348, 348, 348, |
401, 513, 487, 514, 515, 516, 513, 415, 514, 515, | 348, 348, 348, 348, 348, 384, 384, 384, 384, 384, |
516, 509, 544, 414, 554, 588, 402, 402, 402, 402, | 384, 384, 384, 384, 384, 695, 676, 676, 813, 384, |
402, 402, 170, 406, 407, 408, 406, 406, 406, 406, | 384, 384, 384, 384, 475, 475, 475, 475, 475, 475, |
406, 413, 572, 572, 545, 409, 409, 409, 409, 409, | 475, 475, 475, 475, 618, 618, 618, 618, 618, 619, |
520, 521, 522, 520, 520, 520, 520, 520, 517, 79, | 677, 677, 813, 384, 384, 384, 384, 384, 384, 385, |
79, 412, 411, 519, 573, 573, 410, 337, 409, 409, | 385, 385, 385, 385, 385, 385, 385, 385, 385, 703, |
409, 409, 409, 409, 375, 376, 376, 376, 376, 376, | 634, 694, 127, 385, 385, 385, 385, 385, 536, 536, |
376, 376, 376, 79, 472, 331, 473, 473, 473, 473, | 536, 536, 536, 536, 536, 536, 536, 536, 100, 100, |
473, 473, 523, 524, 525, 523, 523, 523, 523, 523, | 100, 100, 634, 218, 634, 634, 734, 384, 384, 384, |
|
|
478, 251, 479, 479, 479, 479, 479, 479, 79, 375, | 384, 384, 384, 399, 416, 400, 400, 400, 400, 400, |
376, 376, 376, 376, 376, 376, 376, 376, 478, 79, | 400, 400, 400, 400, 400, 399, 532, 401, 401, 401, |
479, 479, 479, 479, 479, 479, 479, 479, 478, 382, | 401, 401, 401, 401, 401, 401, 401, 399, 534, 402, |
479, 479, 479, 479, 479, 479, 479, 479, 211, 530, | 402, 402, 402, 402, 403, 400, 400, 400, 400, 405, |
370, 369, 363, 79, 382, 585, 432, 432, 432, 432, | 405, 405, 405, 405, 405, 405, 405, 405, 405, 279, |
432, 432, 432, 432, 384, 382, 606, 433, 433, 433, | 345, 218, 414, 414, 414, 414, 414, 414, 414, 414, |
433, 433, 433, 433, 433, 434, 530, 586, 585, 435, | 414, 414, 347, 634, 105, 101, 413, 413, 413, 413, |
435, 435, 435, 435, 496, 496, 496, 496, 496, 496, | 413, 544, 545, 546, 544, 544, 544, 544, 544, 544, |
496, 496, 532, 532, 532, 532, 532, 532, 532, 532, | 544, 686, 761, 107, 127, 634, 107, 634, 635, 644, |
586, 362, 435, 435, 435, 435, 435, 435, 439, 440, | 413, 413, 413, 413, 413, 413, 345, 218, 415, 415, |
|
|
441, 439, 439, 439, 439, 439, 442, 357, 356, 331, | 415, 415, 415, 415, 415, 415, 415, 415, 416, 345, |
443, 443, 443, 443, 443, 533, 533, 533, 533, 533, | 218, 101, 417, 417, 417, 417, 417, 345, 218, 813, |
534, 606, 382, 531, 531, 531, 531, 531, 531, 531, | 218, 416, 127, 127, 127, 762, 105, 101, 733, 485, |
531, 251, 530, 443, 443, 443, 443, 443, 443, 253, | 676, 485, 561, 564, 101, 566, 417, 417, 417, 417, |
170, 451, 451, 451, 451, 451, 451, 451, 451, 401, | 417, 417, 218, 421, 422, 423, 421, 421, 421, 421, |
253, 170, 452, 452, 452, 452, 452, 452, 452, 452, | 421, 421, 421, 424, 677, 684, 813, 425, 425, 425, |
211, 211, 276, 320, 453, 453, 453, 453, 453, 170, | 425, 425, 494, 494, 494, 494, 494, 494, 494, 494, |
539, 539, 539, 539, 539, 539, 539, 539, 170, 540, | 494, 494, 662, 662, 662, 662, 662, 663, 101, 105, |
540, 540, 540, 540, 540, 540, 540, 453, 453, 453, | 813, 425, 425, 425, 425, 425, 425, 813, 571, 417, |
453, 453, 453, 472, 319, 473, 473, 473, 473, 473, | 417, 417, 417, 417, 417, 417, 417, 417, 417, 446, |
|
|
473, 473, 473, 170, 541, 541, 541, 541, 541, 542, | 701, 449, 449, 449, 449, 449, 450, 447, 447, 447, |
539, 539, 606, 317, 606, 606, 606, 575, 83, 513, | 447, 384, 384, 384, 384, 384, 384, 384, 384, 384, |
316, 514, 515, 516, 315, 314, 313, 312, 79, 472, | 384, 781, 782, 781, 782, 384, 384, 384, 384, 384, |
587, 474, 474, 474, 474, 474, 474, 474, 474, 606, | 345, 218, 549, 549, 549, 549, 549, 549, 685, 575, |
311, 514, 515, 516, 606, 310, 606, 606, 516, 292, | 575, 607, 485, 608, 608, 608, 608, 608, 608, 384, |
606, 251, 606, 606, 606, 211, 288, 211, 103, 517, | 384, 384, 384, 384, 384, 464, 465, 466, 464, 464, |
276, 278, 276, 277, 79, 472, 517, 475, 475, 475, | 464, 464, 464, 464, 464, 553, 553, 553, 553, 553, |
475, 475, 476, 477, 477, 552, 276, 274, 553, 553, | 553, 553, 553, 553, 553, 591, 592, 593, 591, 591, |
553, 553, 553, 553, 553, 553, 517, 273, 272, 271, | 591, 591, 591, 591, 591, 695, 732, 700, 700, 700, |
270, 517, 269, 97, 211, 512, 512, 519, 251, 512, | 644, 101, 399, 532, 400, 400, 400, 400, 400, 400, |
|
|
79, 472, 211, 477, 477, 477, 473, 473, 473, 473, | 400, 400, 400, 400, 399, 597, 400, 400, 400, 400, |
473, 512, 512, 512, 518, 518, 103, 559, 518, 560, | 400, 400, 400, 400, 400, 400, 471, 472, 473, 471, |
560, 560, 560, 560, 560, 560, 560, 83, 199, 239, | 471, 471, 471, 471, 471, 471, 474, 728, 101, 728, |
518, 518, 518, 236, 235, 234, 79, 382, 233, 485, | 475, 475, 475, 475, 475, 543, 543, 543, 543, 543, |
485, 485, 485, 485, 485, 485, 485, 434, 382, 232, | 543, 543, 543, 543, 543, 127, 211, 741, 786, 211, |
486, 486, 486, 486, 486, 486, 486, 486, 487, 230, | 218, 729, 218, 729, 475, 475, 475, 475, 475, 475, |
229, 228, 488, 488, 488, 488, 488, 559, 227, 561, | 476, 416, 479, 479, 479, 479, 479, 480, 477, 477, |
561, 561, 561, 561, 561, 561, 561, 538, 538, 538, | 477, 477, 345, 218, 483, 483, 483, 483, 483, 483, |
538, 538, 538, 538, 538, 488, 488, 488, 488, 488, | 483, 483, 483, 483, 416, 101, 101, 218, 482, 482, |
488, 492, 493, 494, 492, 492, 492, 492, 492, 495, | 482, 482, 482, 532, 813, 595, 595, 595, 595, 595, |
|
|
226, 225, 224, 496, 496, 496, 496, 496, 559, 223, | 595, 169, 169, 169, 218, 534, 597, 688, 759, 689, |
562, 562, 562, 562, 562, 563, 560, 560, 569, 569, | 690, 691, 482, 482, 482, 482, 482, 482, 345, 218, |
569, 569, 569, 569, 569, 569, 496, 496, 496, 496, | 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, |
496, 496, 253, 170, 502, 502, 502, 502, 502, 502, | 485, 316, 760, 316, 486, 486, 486, 486, 486, 599, |
502, 502, 472, 222, 473, 473, 473, 473, 473, 473, | 599, 599, 599, 599, 599, 599, 599, 599, 599, 574, |
473, 473, 570, 570, 570, 570, 570, 571, 606, 221, | 575, 575, 575, 575, 575, 575, 597, 692, 486, 486, |
568, 568, 568, 568, 568, 568, 568, 568, 170, 539, | 486, 486, 486, 486, 218, 490, 491, 492, 490, 490, |
539, 539, 539, 539, 539, 539, 539, 79, 472, 103, | 490, 490, 490, 490, 490, 493, 218, 345, 218, 494, |
473, 473, 473, 473, 473, 473, 473, 473, 170, 539, | 494, 494, 494, 494, 345, 218, 218, 485, 218, 485, |
539, 539, 539, 539, 539, 539, 539, 170, 539, 539, | 813, 218, 169, 169, 169, 534, 551, 485, 532, 551, |
|
|
539, 539, 539, 539, 553, 553, 553, 553, 553, 553, | 759, 813, 551, 494, 494, 494, 494, 494, 494, 813, |
553, 553, 95, 79, 382, 83, 528, 528, 528, 528, | 597, 486, 486, 486, 486, 486, 486, 486, 486, 486, |
528, 528, 528, 528, 487, 382, 83, 529, 529, 529, | 486, 100, 650, 778, 760, 813, 317, 100, 317, 735, |
529, 529, 529, 529, 529, 530, 199, 151, 152, 531, | 100, 100, 735, 100, 100, 100, 127, 127, 127, 127, |
531, 531, 531, 531, 553, 553, 553, 553, 553, 553, | 127, 127, 127, 127, 127, 127, 702, 779, 650, 100, |
553, 553, 576, 577, 578, 576, 576, 576, 576, 576, | 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, |
146, 146, 531, 531, 531, 531, 531, 531, 535, 536, | 127, 127, 127, 127, 495, 127, 127, 127, 127, 127, |
537, 535, 535, 535, 535, 535, 138, 197, 132, 132, | 127, 127, 101, 127, 100, 100, 100, 100, 100, 100, |
538, 538, 538, 538, 538, 79, 554, 190, 555, 555, | 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, |
555, 555, 555, 555, 579, 580, 581, 579, 579, 579, | 100, 525, 526, 526, 526, 526, 526, 526, 526, 526, |
|
|
579, 579, 189, 538, 538, 538, 538, 538, 538, 554, | 526, 526, 345, 218, 614, 614, 614, 614, 614, 614, |
188, 555, 555, 555, 555, 555, 555, 555, 555, 187, | 447, 650, 447, 532, 551, 617, 617, 617, 617, 617, |
559, 79, 560, 560, 560, 560, 560, 560, 560, 560, | 617, 617, 617, 617, 617, 659, 576, 576, 101, 532, |
559, 186, 560, 560, 560, 560, 560, 560, 560, 560, | 813, 533, 533, 533, 533, 533, 533, 533, 533, 533, |
184, 183, 182, 181, 79, 554, 176, 556, 556, 556, | 533, 534, 659, 695, 813, 535, 535, 535, 535, 535, |
556, 556, 556, 556, 556, 559, 175, 560, 560, 560, | 636, 637, 638, 639, 636, 636, 636, 636, 636, 636, |
560, 560, 560, 382, 174, 584, 584, 584, 584, 584, | 345, 218, 674, 674, 674, 674, 674, 674, 813, 535, |
584, 584, 584, 593, 593, 593, 593, 593, 593, 103, | 535, 535, 535, 535, 535, 539, 540, 541, 539, 539, |
79, 554, 78, 557, 557, 557, 557, 557, 558, 555, | 539, 539, 539, 539, 539, 542, 778, 695, 739, 543, |
555, 593, 593, 593, 593, 593, 593, 593, 593, 594, | 543, 543, 543, 543, 646, 646, 646, 646, 646, 646, |
|
|
594, 594, 594, 594, 594, 594, 594, 595, 595, 595, | 646, 646, 646, 646, 448, 477, 448, 477, 345, 218, |
595, 595, 596, 593, 593, 103, 79, 382, 163, 566, | 779, 575, 575, 543, 543, 543, 543, 543, 543, 813, |
566, 566, 566, 566, 566, 566, 566, 530, 382, 91, | 551, 535, 535, 535, 535, 535, 535, 535, 535, 535, |
567, 567, 567, 567, 567, 567, 567, 567, 83, 81, | 535, 345, 218, 549, 549, 549, 549, 549, 549, 549, |
80, 79, 568, 568, 568, 568, 568, 152, 600, 601, | 549, 549, 549, 485, 728, 681, 813, 548, 548, 548, |
602, 600, 600, 600, 600, 600, 588, 146, 589, 589, | 548, 548, 647, 647, 647, 647, 647, 648, 649, 649, |
589, 589, 589, 589, 138, 568, 568, 568, 568, 568, | 649, 649, 688, 607, 689, 690, 691, 478, 729, 478, |
568, 554, 132, 555, 555, 555, 555, 555, 555, 555, | 813, 548, 548, 548, 548, 548, 548, 345, 218, 550, |
555, 79, 593, 593, 593, 593, 593, 593, 593, 593, | 550, 550, 550, 550, 550, 550, 550, 550, 550, 551, |
128, 79, 593, 593, 593, 593, 593, 593, 593, 593, | 127, 740, 813, 552, 552, 552, 552, 552, 606, 606, |
|
|
126, 113, 112, 111, 110, 109, 79, 554, 108, 555, | 606, 606, 606, 606, 606, 606, 606, 606, 447, 477, |
555, 555, 555, 555, 555, 555, 555, 105, 103, 91, | 447, 477, 694, 608, 607, 608, 813, 552, 552, 552, |
603, 603, 603, 603, 603, 603, 603, 603, 600, 600, | 552, 552, 552, 218, 556, 557, 558, 556, 556, 556, |
600, 600, 600, 600, 600, 600, 81, 80, 79, 606, | 556, 556, 556, 556, 607, 609, 768, 609, 559, 559, |
606, 606, 79, 588, 606, 589, 589, 589, 589, 589, | 559, 559, 559, 532, 534, 657, 657, 657, 657, 657, |
589, 589, 589, 79, 606, 606, 606, 606, 606, 606, | 657, 651, 650, 651, 650, 597, 651, 651, 651, 651, |
606, 79, 604, 604, 604, 604, 604, 605, 603, 603, | 651, 651, 559, 559, 559, 559, 559, 559, 813, 532, |
603, 603, 603, 603, 603, 603, 603, 603, 79, 588, | 552, 552, 552, 552, 552, 552, 552, 552, 552, 552, |
606, 590, 590, 590, 590, 590, 590, 590, 590, 606, | 100, 659, 652, 608, 652, 608, 100, 687, 687, 100, |
606, 606, 606, 606, 606, 79, 603, 603, 603, 603, | 100, 687, 100, 100, 100, 127, 127, 127, 127, 127, |
|
|
603, 603, 606, 79, 606, 606, 606, 606, 606, 606, | 127, 127, 127, 127, 127, 687, 687, 687, 100, 127, |
606, 606, 606, 606, 79, 588, 606, 591, 591, 591, | 127, 127, 127, 127, 127, 127, 560, 127, 127, 127, |
591, 591, 592, 589, 589, 606, 606, 606, 606, 79, | 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, |
606, 606, 606, 606, 606, 606, 606, 606, 606, 606, | 127, 101, 127, 100, 100, 100, 100, 100, 100, 100, |
606, 606, 606, 606, 606, 606, 606, 606, 606, 606, | 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, |
79, 588, 606, 589, 589, 589, 589, 589, 589, 589, | 574, 577, 577, 577, 577, 577, 578, 575, 575, 575, |
589, 606, 606, 606, 606, 606, 606, 606, 606, 606, | 575, 187, 723, 723, 532, 187, 198, 198, 198, 198, |
606, 606, 606, 606, 606, 606, 606, 606, 606, 606, | 198, 198, 198, 198, 198, 198, 714, 187, 724, 724, |
606, 606, 606, 606, 606, 606, 79, 588, 606, 589, | 198, 198, 198, 583, 198, 198, 198, 198, 198, 198, |
589, 589, 589, 589, 589, 589, 589, 606, 606, 606, | 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, |
|
|
606, 606, 606, 606, 606, 606, 606, 606, 606, 606, | 198, 198, 650, 200, 187, 187, 187, 187, 187, 187, |
606, 606, 606, 606, 606, 606, 606, 606, 606, 606, | 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, |
606, 606, 79, 57, 57, 57, 57, 57, 57, 57, | 187, 586, 587, 588, 589, 586, 586, 586, 586, 586, |
57, 57, 57, 57, 57, 57, 57, 57, 57, 31, | 586, 661, 661, 661, 661, 661, 661, 661, 661, 661, |
31, 31, 31, 31, 31, 31, 31, 31, 31, 31, | 661, 669, 670, 671, 669, 669, 669, 669, 669, 669, |
31, 31, 31, 31, 31, 66, 66, 66, 66, 66, | 669, 717, 717, 717, 717, 717, 718, 101, 525, 526, |
66, 66, 66, 66, 66, 66, 66, 66, 66, 66, | 526, 526, 526, 526, 526, 526, 526, 526, 526, 707, |
66, 73, 73, 73, 73, 73, 73, 73, 73, 73, | 708, 709, 707, 707, 707, 707, 707, 707, 707, 668, |
73, 73, 73, 73, 73, 73, 73, 78, 606, 606, | 668, 668, 668, 668, 668, 668, 668, 668, 668, 757, |
606, 606, 606, 606, 606, 78, 78, 78, 606, 606, | 757, 757, 757, 757, 758, 101, 532, 813, 595, 595, |
|
|
78, 78, 78, 82, 82, 82, 82, 82, 82, 82, | 595, 595, 595, 595, 595, 595, 595, 595, 534, 714, |
82, 82, 82, 82, 82, 82, 82, 82, 82, 86, | 470, 643, 594, 594, 594, 594, 594, 532, 532, 712, |
606, 606, 606, 606, 86, 606, 606, 86, 86, 86, | 712, 712, 712, 712, 712, 696, 697, 696, 697, 659, |
86, 606, 86, 86, 86, 90, 606, 606, 606, 606, | 714, 813, 218, 813, 813, 813, 594, 594, 594, 594, |
606, 606, 606, 90, 90, 90, 606, 606, 90, 90, | 594, 594, 532, 551, 596, 596, 596, 596, 596, 596, |
90, 92, 606, 606, 92, 92, 606, 92, 606, 92, | 596, 596, 596, 596, 597, 759, 642, 641, 598, 598, |
92, 92, 606, 606, 92, 92, 92, 102, 102, 606, | 598, 598, 598, 716, 716, 716, 716, 716, 716, 716, |
606, 606, 102, 133, 606, 606, 133, 133, 606, 133, | 716, 716, 716, 688, 640, 689, 690, 691, 651, 760, |
606, 133, 133, 133, 606, 606, 133, 133, 133, 137, | 651, 692, 598, 598, 598, 598, 598, 598, 602, 603, |
606, 606, 137, 137, 606, 137, 606, 137, 137, 137, | 604, 602, 602, 602, 602, 602, 602, 602, 605, 574, |
|
|
606, 137, 606, 137, 137, 145, 606, 606, 145, 606, | 574, 127, 606, 606, 606, 606, 606, 736, 737, 738, |
606, 145, 606, 145, 145, 145, 145, 606, 145, 145, | 736, 736, 736, 736, 736, 736, 736, 791, 791, 791, |
145, 149, 149, 149, 149, 149, 149, 149, 149, 149, | 791, 791, 791, 692, 574, 101, 606, 606, 606, 606, |
149, 149, 149, 149, 149, 149, 149, 151, 151, 606, | 606, 606, 813, 630, 598, 598, 598, 598, 598, 598, |
151, 606, 151, 151, 151, 151, 151, 151, 151, 151, | 598, 598, 598, 598, 607, 629, 610, 610, 610, 610, |
151, 151, 151, 157, 157, 157, 157, 157, 157, 157, | 610, 611, 608, 608, 608, 608, 345, 218, 614, 614, |
157, 157, 157, 157, 157, 157, 157, 157, 157, 158, | 614, 614, 614, 614, 614, 614, 614, 614, 551, 101, |
158, 606, 158, 158, 158, 158, 158, 158, 158, 158, | 218, 778, 613, 613, 613, 613, 613, 813, 607, 689, |
158, 158, 158, 158, 158, 161, 606, 606, 606, 606, | 690, 691, 813, 607, 813, 813, 691, 695, 470, 696, |
161, 606, 606, 161, 161, 161, 606, 606, 161, 161, | 696, 696, 696, 696, 696, 779, 613, 613, 613, 613, |
|
|
161, 93, 606, 606, 93, 93, 606, 93, 606, 93, | 613, 613, 345, 218, 615, 615, 615, 615, 615, 615, |
93, 93, 606, 606, 93, 93, 93, 169, 169, 606, | 615, 615, 615, 615, 747, 343, 747, 127, 616, 616, |
606, 606, 169, 171, 171, 171, 606, 606, 606, 171, | 616, 616, 616, 748, 764, 748, 764, 692, 765, 797, |
134, 606, 606, 134, 134, 606, 134, 606, 134, 134, | 765, 797, 692, 218, 723, 723, 723, 723, 723, 723, |
134, 606, 606, 134, 134, 134, 200, 200, 200, 200, | 585, 582, 616, 616, 616, 616, 616, 616, 813, 581, |
200, 200, 200, 200, 200, 200, 200, 200, 200, 200, | 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, |
200, 200, 207, 207, 606, 606, 606, 207, 213, 213, | 100, 693, 580, 693, 693, 693, 100, 693, 693, 100, |
213, 606, 606, 606, 213, 245, 245, 606, 606, 606, | 100, 693, 100, 100, 100, 127, 127, 127, 127, 127, |
245, 246, 246, 606, 606, 606, 246, 250, 250, 606, | 127, 127, 127, 127, 127, 693, 693, 693, 100, 127, |
606, 606, 250, 252, 252, 252, 606, 606, 606, 252, | 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, |
|
|
288, 288, 606, 606, 606, 288, 290, 290, 606, 606, | 127, 127, 127, 127, 127, 127, 127, 620, 127, 127, |
606, 290, 291, 291, 606, 606, 606, 291, 293, 293, | 127, 101, 127, 100, 100, 100, 100, 100, 100, 100, |
293, 606, 606, 606, 293, 297, 297, 297, 297, 606, | 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, |
606, 606, 297, 328, 328, 606, 606, 606, 328, 329, | 625, 746, 579, 747, 747, 747, 747, 747, 747, 187, |
329, 606, 606, 606, 329, 330, 330, 606, 606, 606, | 798, 574, 798, 187, 198, 198, 198, 198, 198, 198, |
330, 342, 342, 342, 606, 606, 606, 342, 343, 343, | 198, 198, 198, 198, 626, 187, 574, 569, 198, 198, |
343, 343, 606, 606, 606, 343, 380, 380, 606, 606, | 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, |
606, 380, 381, 381, 606, 606, 606, 381, 397, 397, | 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, |
397, 606, 606, 606, 397, 398, 398, 398, 398, 606, | 568, 200, 187, 187, 187, 187, 187, 187, 187, 187, |
606, 606, 398, 427, 427, 606, 606, 606, 427, 431, | 187, 187, 187, 187, 187, 187, 187, 187, 187, 644, |
|
|
606, 431, 431, 606, 606, 606, 431, 449, 449, 449, | 476, 645, 645, 645, 645, 645, 645, 645, 645, 645, |
606, 606, 606, 449, 450, 450, 450, 450, 606, 606, | 645, 722, 722, 722, 722, 722, 722, 722, 722, 722, |
606, 450, 483, 483, 606, 606, 606, 483, 484, 606, | 722, 532, 476, 753, 753, 753, 753, 753, 753, 755, |
484, 484, 606, 606, 606, 484, 500, 500, 500, 606, | 476, 470, 755, 714, 343, 279, 755, 101, 650, 524, |
606, 606, 500, 501, 501, 501, 606, 606, 606, 606, | 653, 653, 653, 653, 653, 654, 651, 651, 651, 651, |
501, 512, 512, 606, 512, 512, 512, 606, 606, 512, | 532, 523, 657, 657, 657, 657, 657, 657, 657, 657, |
512, 512, 606, 606, 512, 512, 512, 518, 518, 606, | 657, 657, 597, 522, 519, 518, 656, 656, 656, 656, |
518, 518, 518, 606, 606, 518, 518, 518, 606, 606, | 656, 756, 756, 756, 756, 756, 756, 756, 756, 756, |
518, 518, 518, 526, 526, 606, 606, 606, 526, 527, | 756, 532, 446, 777, 777, 777, 777, 777, 777, 446, |
606, 527, 527, 606, 606, 606, 527, 543, 543, 606, | 656, 656, 656, 656, 656, 656, 532, 446, 658, 658, |
|
|
606, 606, 606, 543, 549, 549, 549, 549, 549, 549, | 658, 658, 658, 658, 658, 658, 658, 658, 659, 510, |
549, 549, 549, 549, 549, 549, 549, 549, 549, 549, | 509, 101, 660, 660, 660, 660, 660, 735, 735, 735, |
564, 564, 606, 606, 606, 564, 565, 606, 565, 565, | 735, 735, 735, 735, 735, 735, 735, 763, 101, 764, |
606, 606, 606, 565, 582, 582, 606, 606, 606, 582, | 764, 764, 764, 764, 764, 101, 660, 660, 660, 660, |
583, 606, 583, 606, 606, 606, 606, 583, 598, 598, | 660, 660, 664, 665, 666, 664, 664, 664, 664, 664, |
598, 598, 598, 598, 598, 598, 598, 598, 598, 598, | 664, 664, 667, 101, 476, 476, 668, 668, 668, 668, |
598, 598, 598, 598, 13, 606, 606, 606, 606, 606, | 668, 735, 735, 735, 735, 735, 735, 735, 735, 735, |
606, 606, 606, 606, 606, 606, 606, 606, 606, 606, | 735, 470, 741, 343, 742, 742, 742, 742, 742, 742, |
606, 606, 606, 606, 606, 606, 606, 606, 606, 606, | 668, 668, 668, 668, 668, 668, 813, 279, 660, 660, |
606, 606, 606, 606, 606, 606, 606, 606, 606, 606, | 660, 660, 660, 660, 660, 660, 660, 660, 345, 218, |
|
|
606, 606, 606, 606, 606, 606, 606, 606, 606, 606, | 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, |
606, 606, 606, 606, 606, 606, 606, 606, 606, 606, | 101, 279, 463, 462, 673, 673, 673, 673, 673, 772, |
606, 606, 606, 606, 606, 606, 606, 606, 606, 606, | 773, 774, 772, 772, 772, 772, 772, 772, 772, 796, |
606 | 461, 797, 797, 797, 797, 797, 797, 460, 673, 673, |
| 673, 673, 673, 673, 695, 459, 698, 698, 698, 698, |
| 698, 699, 700, 700, 700, 700, 704, 705, 706, 704, |
| 704, 704, 704, 704, 704, 704, 783, 784, 785, 783, |
| 783, 783, 783, 783, 783, 783, 791, 791, 791, 791, |
| 791, 791, 791, 791, 791, 791, 810, 810, 810, 810, |
| 810, 810, 101, 644, 458, 645, 645, 645, 645, 645, |
| |
| 645, 645, 645, 645, 645, 792, 792, 792, 792, 792, |
| 792, 792, 792, 792, 792, 793, 793, 793, 793, 793, |
| 794, 791, 791, 791, 791, 457, 795, 456, 455, 795, |
| 454, 101, 532, 795, 712, 712, 712, 712, 712, 712, |
| 712, 712, 712, 712, 659, 453, 452, 451, 711, 711, |
| 711, 711, 711, 786, 813, 787, 787, 787, 787, 787, |
| 787, 791, 791, 791, 791, 791, 791, 791, 791, 791, |
| 791, 446, 711, 711, 711, 711, 711, 711, 532, 446, |
| 713, 713, 713, 713, 713, 713, 713, 713, 713, 713, |
| 714, 101, 374, 441, 715, 715, 715, 715, 715, 791, |
| |
| 791, 791, 791, 791, 791, 791, 791, 791, 791, 440, |
| 434, 433, 432, 431, 430, 429, 428, 427, 715, 715, |
| 715, 715, 715, 715, 719, 720, 721, 719, 719, 719, |
| 719, 719, 719, 719, 426, 408, 343, 279, 722, 722, |
| 722, 722, 722, 804, 805, 806, 804, 804, 804, 804, |
| 804, 804, 804, 404, 279, 125, 807, 807, 807, 807, |
| 807, 807, 722, 722, 722, 722, 722, 722, 813, 398, |
| 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, |
| 218, 725, 725, 725, 725, 725, 726, 723, 723, 723, |
| 723, 741, 101, 742, 742, 742, 742, 742, 742, 742, |
| |
| 742, 742, 742, 741, 397, 743, 743, 743, 743, 743, |
| 743, 743, 743, 743, 743, 741, 396, 744, 744, 744, |
| 744, 744, 745, 742, 742, 742, 742, 746, 393, 749, |
| 749, 749, 749, 749, 750, 747, 747, 747, 747, 532, |
| 392, 753, 753, 753, 753, 753, 753, 753, 753, 753, |
| 753, 714, 391, 390, 389, 752, 752, 752, 752, 752, |
| 810, 810, 810, 810, 810, 810, 810, 810, 810, 810, |
| 388, 315, 315, 315, 374, 376, 374, 375, 374, 752, |
| 752, 752, 752, 752, 752, 532, 368, 754, 754, 754, |
| 754, 754, 754, 754, 754, 754, 754, 367, 366, 365, |
| |
| 364, 755, 755, 755, 755, 755, 804, 804, 804, 804, |
| 804, 804, 804, 804, 804, 804, 363, 362, 359, 119, |
| 279, 343, 279, 125, 105, 755, 755, 755, 755, 755, |
| 755, 763, 333, 766, 766, 766, 766, 766, 767, 764, |
| 764, 764, 764, 100, 329, 769, 770, 771, 769, 769, |
| 769, 769, 769, 769, 769, 741, 328, 742, 742, 742, |
| 742, 742, 742, 742, 742, 742, 742, 741, 327, 742, |
| 742, 742, 742, 742, 742, 742, 742, 742, 742, 532, |
| 326, 777, 777, 777, 777, 777, 777, 777, 777, 777, |
| 777, 786, 325, 787, 787, 787, 787, 787, 787, 787, |
| |
| 787, 787, 787, 786, 324, 788, 788, 788, 788, 788, |
| 788, 788, 788, 788, 788, 786, 323, 789, 789, 789, |
| 789, 789, 790, 787, 787, 787, 787, 796, 322, 799, |
| 799, 799, 799, 799, 800, 797, 797, 797, 797, 100, |
| 191, 801, 802, 803, 801, 801, 801, 801, 801, 801, |
| 801, 786, 315, 787, 787, 787, 787, 787, 787, 787, |
| 787, 787, 787, 786, 315, 787, 787, 787, 787, 787, |
| 787, 787, 787, 787, 787, 807, 807, 807, 807, 807, |
| 807, 807, 807, 807, 807, 811, 811, 811, 811, 811, |
| 812, 810, 810, 810, 810, 810, 810, 810, 810, 810, |
| |
| 810, 810, 810, 810, 810, 250, 312, 309, 308, 307, |
| 306, 101, 801, 801, 801, 801, 801, 801, 801, 801, |
| 801, 801, 305, 300, 299, 298, 297, 296, 295, 294, |
| 293, 292, 291, 290, 289, 125, 117, 105, 105, 267, |
| 266, 265, 264, 259, 258, 257, 813, 188, 101, 808, |
| 808, 808, 808, 808, 809, 807, 807, 807, 807, 250, |
| 176, 177, 171, 171, 163, 248, 157, 157, 241, 240, |
| 239, 238, 237, 234, 233, 232, 231, 230, 225, 224, |
| 223, 222, 125, 100, 125, 101, 807, 807, 807, 807, |
| 807, 807, 807, 807, 807, 807, 190, 113, 210, 105, |
| |
| 103, 102, 101, 205, 204, 203, 202, 198, 177, 171, |
| 163, 133, 131, 157, 156, 153, 151, 137, 136, 135, |
| 132, 127, 101, 61, 61, 61, 61, 61, 61, 61, |
| 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, |
| 61, 61, 61, 61, 33, 33, 33, 33, 33, 33, |
| 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, |
| 33, 33, 33, 33, 33, 70, 70, 70, 70, 70, |
| 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, |
| 70, 70, 70, 70, 70, 70, 77, 77, 77, 77, |
| 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, |
| |
| 77, 77, 77, 77, 77, 77, 77, 100, 125, 113, |
| 103, 102, 101, 813, 100, 813, 100, 100, 100, 100, |
| 813, 813, 100, 100, 100, 100, 100, 100, 104, 104, |
| 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, |
| 104, 104, 104, 104, 104, 104, 104, 104, 104, 108, |
| 813, 813, 813, 813, 108, 813, 108, 813, 108, 108, |
| 108, 108, 108, 813, 108, 108, 108, 108, 108, 108, |
| 112, 813, 813, 813, 813, 813, 813, 112, 813, 112, |
| 112, 112, 112, 813, 813, 112, 112, 112, 112, 112, |
| 112, 114, 813, 813, 114, 114, 813, 114, 114, 813, |
| |
| 114, 114, 114, 114, 813, 813, 114, 114, 114, 114, |
| 114, 114, 124, 124, 813, 124, 813, 813, 813, 124, |
| 158, 813, 813, 158, 158, 813, 158, 158, 813, 158, |
| 158, 158, 158, 813, 813, 158, 158, 158, 158, 158, |
| 158, 162, 813, 813, 162, 162, 813, 162, 162, 813, |
| 162, 162, 162, 162, 813, 162, 162, 162, 813, 162, |
| 162, 162, 170, 813, 813, 170, 813, 813, 170, 170, |
| 813, 170, 170, 170, 170, 170, 813, 170, 170, 170, |
| 170, 170, 170, 174, 174, 174, 174, 174, 174, 174, |
| 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, |
| |
| 174, 174, 174, 174, 176, 176, 813, 176, 813, 176, |
| 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, |
| 176, 176, 176, 176, 176, 182, 813, 813, 813, 813, |
| 182, 813, 182, 813, 182, 182, 182, 182, 182, 813, |
| 182, 182, 182, 182, 182, 182, 186, 813, 813, 813, |
| 813, 813, 813, 186, 813, 186, 186, 186, 186, 813, |
| 186, 186, 186, 186, 186, 186, 186, 189, 813, 813, |
| 189, 189, 813, 189, 189, 813, 189, 189, 189, 189, |
| 813, 189, 189, 189, 189, 189, 189, 189, 208, 208, |
| 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, |
| |
| 208, 208, 208, 208, 208, 208, 208, 208, 208, 209, |
| 209, 813, 209, 209, 209, 209, 209, 209, 209, 209, |
| 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, |
| 115, 813, 813, 115, 115, 813, 115, 115, 813, 115, |
| 115, 115, 115, 813, 813, 115, 115, 115, 115, 115, |
| 115, 124, 124, 813, 124, 813, 813, 813, 124, 217, |
| 217, 813, 217, 813, 813, 813, 217, 219, 219, 219, |
| 813, 219, 813, 813, 813, 219, 158, 813, 813, 158, |
| 158, 813, 158, 158, 813, 158, 158, 158, 158, 813, |
| 813, 158, 158, 158, 158, 158, 158, 159, 813, 813, |
| |
| 159, 159, 813, 159, 159, 813, 159, 159, 159, 159, |
| 813, 813, 159, 159, 159, 159, 159, 159, 162, 813, |
| 813, 162, 162, 813, 162, 162, 813, 162, 162, 162, |
| 162, 813, 162, 162, 162, 813, 162, 162, 162, 170, |
| 813, 813, 170, 813, 813, 170, 170, 813, 170, 170, |
| 170, 170, 170, 813, 170, 170, 170, 170, 170, 170, |
| 185, 813, 813, 813, 813, 813, 813, 185, 813, 185, |
| 185, 185, 185, 813, 813, 185, 185, 185, 185, 185, |
| 185, 186, 813, 813, 813, 813, 813, 813, 186, 813, |
| 186, 186, 186, 186, 813, 186, 186, 186, 186, 186, |
| |
| 186, 186, 189, 813, 813, 189, 189, 813, 189, 189, |
| 813, 189, 189, 189, 189, 813, 189, 189, 189, 189, |
| 189, 189, 189, 200, 813, 813, 200, 200, 813, 200, |
| 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, |
| 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, |
| 268, 275, 275, 813, 275, 813, 813, 813, 275, 281, |
| 281, 281, 813, 281, 813, 813, 813, 281, 337, 337, |
| 813, 337, 813, 813, 813, 337, 338, 338, 813, 338, |
| 813, 813, 813, 338, 342, 342, 813, 342, 813, 813, |
| 813, 342, 344, 344, 344, 813, 344, 813, 813, 813, |
| |
| 344, 200, 813, 813, 200, 200, 813, 200, 404, 404, |
| 813, 404, 813, 813, 813, 404, 406, 406, 813, 406, |
| 813, 813, 813, 406, 407, 407, 813, 407, 813, 813, |
| 813, 407, 409, 409, 409, 813, 409, 813, 813, 813, |
| 409, 413, 413, 413, 413, 813, 413, 813, 813, 813, |
| 413, 467, 467, 813, 467, 813, 813, 813, 467, 468, |
| 468, 813, 468, 813, 813, 813, 468, 469, 469, 813, |
| 469, 813, 813, 813, 469, 481, 481, 481, 813, 481, |
| 813, 813, 813, 481, 482, 482, 482, 482, 813, 482, |
| 813, 813, 813, 482, 208, 208, 208, 208, 208, 208, |
| |
| 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, |
| 208, 208, 208, 208, 208, 530, 530, 813, 530, 813, |
| 813, 813, 530, 531, 531, 813, 531, 813, 813, 813, |
| 531, 547, 547, 547, 813, 547, 813, 813, 813, 547, |
| 548, 548, 548, 548, 813, 548, 813, 813, 813, 548, |
| 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, |
| 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, |
| 208, 200, 813, 813, 200, 200, 813, 200, 187, 813, |
| 813, 813, 187, 187, 813, 187, 187, 187, 813, 813, |
| 187, 187, 590, 590, 813, 590, 813, 813, 813, 590, |
| |
| 594, 813, 594, 594, 813, 594, 813, 813, 813, 594, |
| 612, 612, 612, 813, 612, 813, 813, 813, 612, 613, |
| 613, 613, 613, 813, 613, 813, 813, 813, 613, 559, |
| 559, 813, 813, 559, 813, 813, 813, 559, 208, 208, |
| 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, |
| 208, 208, 208, 208, 208, 208, 208, 208, 208, 200, |
| 813, 813, 200, 200, 813, 200, 187, 813, 813, 813, |
| 187, 187, 813, 187, 187, 187, 813, 813, 187, 187, |
| 655, 655, 813, 655, 813, 813, 813, 655, 656, 813, |
| 656, 656, 813, 656, 813, 813, 813, 656, 672, 672, |
| |
| 672, 813, 672, 813, 813, 813, 672, 673, 673, 673, |
| 813, 813, 673, 813, 813, 813, 673, 682, 682, 682, |
| 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, |
| 682, 682, 682, 682, 682, 682, 682, 682, 687, 687, |
| 813, 687, 687, 687, 813, 687, 813, 687, 687, 687, |
| 687, 813, 813, 687, 687, 687, 687, 687, 687, 693, |
| 693, 813, 693, 693, 693, 813, 693, 813, 693, 693, |
| 693, 693, 813, 813, 693, 693, 693, 693, 693, 693, |
| 200, 813, 813, 813, 813, 813, 813, 813, 813, 813, |
| 813, 200, 200, 813, 200, 200, 813, 200, 710, 710, |
| |
| 813, 710, 813, 813, 813, 710, 711, 813, 711, 711, |
| 813, 711, 813, 813, 813, 711, 727, 727, 813, 813, |
| 727, 813, 813, 813, 727, 693, 813, 813, 813, 813, |
| 813, 813, 693, 813, 693, 693, 693, 693, 813, 813, |
| 693, 693, 693, 693, 693, 693, 751, 751, 813, 751, |
| 813, 813, 813, 751, 752, 813, 752, 752, 813, 752, |
| 813, 813, 813, 752, 775, 775, 813, 775, 813, 813, |
| 813, 775, 776, 813, 776, 813, 813, 776, 813, 813, |
| 813, 776, 780, 780, 780, 780, 780, 780, 780, 780, |
| 780, 780, 780, 780, 780, 780, 780, 780, 780, 780, |
| |
| 780, 780, 780, 15, 813, 813, 813, 813, 813, 813, |
| 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, |
| 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, |
| 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, |
| 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, |
| 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, |
| 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, |
| 813, 813, 813, 813 |
} ; |
} ; |
|
|
static yyconst short int yy_chk[3732] = | static yyconst short int yy_chk[5675] = |
{ 0, |
{ 0, |
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
Line 982 static yyconst short int yy_chk[3732] =
|
Line 1293 static yyconst short int yy_chk[3732] =
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
1, 1, 1, 1, 1, 1, 2, 44, 3, 34, | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
2, 103, 3, 4, 47, 20, 126, 4, 3, 34, | 2, 533, 3, 38, 2, 52, 3, 49, 38, 50, |
103, 3, 52, 4, 44, 48, 4, 11, 11, 11, | 4, 36, 3, 533, 4, 3, 11, 11, 11, 11, |
11, 126, 52, 20, 2, 2, 56, 47, 2, 74, | 4, 22, 36, 4, 40, 5, 5, 5, 50, 5, |
|
|
5, 5, 5, 48, 5, 2, 50, 3, 2, 3, | 2, 2, 49, 52, 2, 5, 68, 68, 40, 3, |
5, 603, 4, 56, 4, 6, 6, 6, 20, 6, | 807, 22, 2, 3, 3, 2, 3, 4, 54, 5, |
64, 64, 5, 5, 75, 6, 12, 12, 12, 12, | 5, 4, 4, 148, 4, 6, 6, 6, 54, 6, |
3, 196, 68, 50, 11, 4, 70, 6, 6, 25, | 799, 12, 12, 12, 12, 6, 11, 22, 3, 76, |
25, 72, 72, 25, 25, 196, 74, 5, 27, 27, | 76, 72, 46, 27, 27, 5, 4, 27, 27, 6, |
27, 27, 27, 27, 27, 27, 68, 88, 124, 127, | 6, 46, 47, 78, 9, 9, 9, 9, 9, 74, |
70, 25, 6, 7, 7, 7, 45, 7, 598, 75, | 46, 164, 164, 9, 9, 9, 72, 27, 30, 30, |
124, 127, 129, 12, 28, 28, 28, 28, 28, 28, | 30, 30, 30, 30, 79, 6, 7, 7, 7, 9, |
139, 139, 129, 43, 25, 43, 43, 43, 43, 43, | 7, 12, 47, 47, 74, 148, 47, 60, 141, 81, |
43, 43, 43, 194, 45, 45, 77, 77, 45, 77, | 81, 27, 81, 141, 47, 91, 60, 47, 10, 10, |
|
|
88, 116, 123, 114, 114, 45, 116, 153, 45, 194, | 10, 10, 10, 78, 9, 60, 91, 10, 10, 10, |
| 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, |
| 161, 798, 79, 10, 179, 161, 7, 7, 7, 7, |
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, |
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, |
7, 7, 7, 7, 7, 7, 7, 7, 8, 8, | 7, 7, 7, 7, 7, 8, 8, 8, 10, 8, |
8, 53, 8, 206, 53, 53, 53, 53, 53, 53, | 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, |
53, 53, 84, 84, 84, 84, 84, 84, 84, 84, | 87, 87, 87, 87, 87, 87, 99, 101, 274, 101, |
114, 62, 62, 62, 153, 62, 154, 125, 206, 62, | 101, 101, 179, 101, 101, 99, 149, 101, 106, 106, |
123, 62, 85, 85, 85, 85, 85, 85, 85, 85, | 106, 106, 106, 106, 106, 106, 106, 106, 140, 149, |
143, 143, 202, 62, 62, 8, 8, 8, 8, 8, | 140, 101, 101, 101, 274, 8, 8, 8, 8, 8, |
| |
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, |
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, |
8, 8, 8, 9, 9, 9, 9, 9, 62, 125, | 8, 8, 8, 8, 13, 13, 13, 13, 13, 13, |
| 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
| 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
| 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
| 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
| 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
| 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
| 13, 13, 13, 13, 21, 125, 153, 797, 82, 168, |
| 168, 270, 153, 178, 21, 784, 125, 21, 21, 21, |
|
|
128, 154, 9, 9, 9, 86, 128, 202, 55, 55, | 21, 21, 21, 21, 21, 21, 21, 28, 82, 28, |
136, 161, 55, 55, 185, 136, 9, 101, 101, 101, | 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, |
101, 101, 101, 86, 155, 155, 198, 185, 87, 587, | 152, 180, 180, 28, 28, 28, 28, 28, 151, 270, |
55, 87, 87, 87, 87, 87, 87, 87, 87, 198, | 289, 57, 57, 152, 82, 57, 57, 123, 123, 123, |
9, 10, 10, 10, 10, 10, 584, 171, 86, 284, | 123, 123, 123, 178, 151, 28, 154, 28, 28, 28, |
10, 10, 10, 55, 161, 89, 171, 89, 89, 222, | 28, 28, 28, 34, 289, 57, 154, 500, 246, 34, |
582, 89, 89, 222, 10, 89, 213, 95, 95, 95, | 246, 500, 34, 34, 313, 34, 34, 34, 34, 34, |
95, 95, 95, 95, 95, 213, 92, 92, 89, 89, | 34, 34, 34, 34, 34, 34, 34, 34, 34, 57, |
92, 92, 192, 195, 284, 195, 510, 192, 10, 19, | 313, 34, 34, 34, 34, 34, 34, 34, 34, 34, |
99, 99, 99, 99, 99, 99, 99, 99, 92, 19, | 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, |
|
|
95, 221, 19, 19, 19, 19, 19, 19, 19, 19, | 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, |
26, 191, 26, 26, 26, 26, 26, 26, 26, 26, | 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, |
26, 92, 237, 221, 26, 26, 26, 26, 26, 100, | 34, 34, 34, 37, 37, 37, 37, 37, 37, 37, |
100, 100, 100, 100, 100, 100, 100, 131, 131, 131, | 37, 37, 37, 37, 219, 783, 242, 37, 37, 37, |
131, 131, 131, 131, 131, 26, 510, 26, 26, 26, | 37, 37, 245, 150, 236, 219, 37, 107, 107, 107, |
26, 26, 26, 32, 146, 238, 238, 146, 146, 32, | 107, 107, 107, 107, 107, 107, 107, 247, 236, 245, |
568, 191, 32, 32, 146, 32, 32, 32, 32, 32, | 303, 37, 37, 37, 37, 37, 37, 44, 44, 44, |
32, 32, 32, 32, 32, 32, 32, 146, 237, 32, | 44, 44, 247, 44, 44, 311, 311, 44, 121, 121, |
32, 32, 32, 32, 32, 32, 32, 32, 32, 32, | 121, 121, 121, 121, 121, 121, 121, 121, 150, 242, |
32, 32, 32, 32, 32, 32, 32, 32, 32, 32, | 108, 44, 44, 44, 45, 303, 45, 45, 45, 45, |
|
|
32, 32, 32, 32, 32, 32, 32, 32, 32, 32, | 45, 45, 45, 45, 45, 45, 48, 66, 66, 66, |
32, 32, 32, 32, 32, 32, 32, 32, 32, 35, | 108, 66, 304, 110, 370, 66, 48, 66, 304, 48, |
35, 35, 35, 35, 35, 35, 35, 35, 210, 210, | 48, 48, 48, 48, 48, 48, 48, 48, 48, 132, |
210, 35, 35, 35, 35, 35, 109, 231, 240, 241, | 243, 66, 66, 110, 132, 243, 108, 281, 132, 171, |
35, 109, 252, 231, 109, 241, 109, 117, 567, 150, | 132, 83, 171, 171, 370, 138, 138, 83, 281, 171, |
150, 252, 239, 240, 35, 35, 35, 35, 35, 35, | 83, 114, 114, 83, 83, 114, 114, 66, 182, 110, |
42, 42, 42, 42, 42, 293, 42, 42, 133, 133, | 780, 302, 175, 175, 171, 48, 67, 83, 291, 83, |
42, 265, 133, 133, 293, 117, 117, 239, 281, 117, | 183, 235, 235, 291, 235, 114, 67, 249, 182, 67, |
388, 388, 42, 42, 42, 46, 117, 163, 281, 117, | 67, 67, 67, 67, 67, 67, 67, 67, 67, 302, |
133, 163, 323, 265, 239, 46, 150, 163, 46, 46, | 183, 249, 83, 83, 84, 138, 777, 84, 84, 114, |
|
|
46, 46, 46, 46, 46, 46, 275, 282, 323, 163, | 84, 84, 84, 84, 182, 235, 84, 84, 111, 775, |
163, 275, 282, 133, 142, 142, 142, 142, 142, 142, | 111, 111, 175, 314, 111, 111, 183, 369, 111, 314, |
142, 142, 159, 159, 159, 159, 159, 159, 159, 159, | 84, 84, 84, 122, 122, 122, 122, 122, 122, 122, |
160, 160, 160, 160, 160, 160, 160, 160, 438, 438, | 122, 122, 122, 111, 111, 156, 156, 156, 156, 156, |
46, 63, 201, 201, 201, 201, 201, 201, 201, 201, | 156, 156, 156, 156, 156, 84, 84, 85, 310, 369, |
279, 63, 565, 280, 63, 63, 63, 63, 63, 63, | 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, |
63, 63, 79, 564, 79, 79, 79, 297, 79, 79, | 85, 85, 85, 85, 322, 357, 85, 85, 85, 85, |
254, 254, 79, 197, 280, 201, 297, 197, 256, 256, | 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, |
254, 321, 322, 197, 79, 79, 79, 91, 256, 91, | 85, 85, 85, 85, 85, 85, 85, 85, 322, 357, |
91, 91, 322, 91, 91, 197, 197, 91, 209, 209, | 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, |
|
|
209, 209, 209, 209, 209, 209, 209, 298, 298, 91, | 85, 85, 85, 85, 85, 85, 85, 88, 310, 88, |
91, 91, 94, 279, 94, 94, 94, 298, 94, 94, | 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, |
313, 383, 94, 162, 313, 162, 162, 452, 452, 162, | 278, 278, 278, 88, 88, 88, 88, 88, 266, 266, |
162, 383, 321, 162, 94, 94, 94, 96, 96, 96, | 113, 266, 113, 113, 113, 330, 113, 113, 330, 371, |
96, 96, 96, 96, 96, 162, 162, 162, 312, 96, | 113, 196, 196, 196, 196, 196, 196, 88, 88, 88, |
96, 96, 96, 96, 205, 368, 205, 205, 205, 205, | 88, 88, 88, 89, 113, 113, 113, 89, 89, 89, |
205, 205, 214, 214, 214, 214, 214, 214, 214, 214, | 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, |
312, 368, 96, 96, 96, 96, 96, 96, 104, 104, | 453, 371, 89, 89, 89, 89, 89, 89, 89, 89, |
104, 104, 104, 104, 104, 104, 104, 316, 371, 205, | 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, |
104, 104, 104, 104, 104, 216, 216, 216, 216, 216, | 89, 89, 89, 89, 453, 89, 89, 89, 89, 89, |
|
|
216, 216, 216, 217, 217, 217, 217, 217, 217, 316, | 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, |
299, 299, 373, 104, 104, 104, 104, 104, 104, 135, | 89, 89, 89, 92, 92, 92, 92, 92, 92, 92, |
299, 135, 135, 135, 560, 135, 135, 373, 219, 135, | 92, 92, 92, 92, 377, 444, 378, 92, 92, 92, |
219, 219, 219, 219, 219, 219, 219, 219, 453, 453, | 92, 92, 203, 344, 158, 158, 92, 203, 158, 158, |
371, 135, 135, 135, 164, 549, 164, 164, 164, 164, | 323, 203, 444, 203, 344, 323, 301, 142, 378, 301, |
164, 164, 164, 164, 247, 247, 247, 247, 247, 247, | 457, 92, 92, 92, 92, 92, 92, 97, 158, 97, |
247, 247, 247, 253, 253, 253, 253, 253, 253, 253, | 97, 97, 97, 97, 97, 97, 97, 97, 97, 116, |
253, 255, 255, 255, 255, 255, 255, 255, 255, 164, | 766, 116, 116, 116, 457, 116, 116, 142, 142, 116, |
165, 547, 165, 165, 165, 165, 165, 165, 165, 165, | 301, 142, 158, 214, 214, 214, 214, 214, 214, 142, |
259, 259, 259, 259, 259, 259, 259, 259, 419, 419, | 372, 377, 142, 116, 116, 116, 117, 117, 117, 117, |
|
|
259, 261, 261, 261, 261, 261, 261, 261, 261, 262, | 117, 117, 117, 117, 117, 117, 167, 167, 167, 167, |
262, 262, 262, 262, 262, 165, 166, 543, 166, 166, | 167, 167, 167, 167, 167, 167, 346, 346, 765, 160, |
166, 166, 166, 166, 166, 166, 264, 317, 264, 264, | 379, 160, 160, 160, 372, 160, 160, 764, 346, 160, |
264, 264, 264, 264, 264, 264, 301, 301, 283, 283, | 400, 379, 117, 118, 118, 118, 118, 118, 118, 118, |
283, 283, 283, 283, 283, 283, 301, 456, 456, 317, | 118, 118, 118, 160, 160, 160, 458, 118, 118, 118, |
419, 166, 167, 318, 167, 167, 167, 167, 167, 167, | 118, 118, 191, 191, 191, 191, 191, 191, 191, 191, |
167, 167, 318, 324, 342, 343, 167, 167, 167, 167, | 191, 191, 273, 273, 273, 273, 427, 427, 400, 755, |
167, 283, 324, 342, 343, 344, 344, 287, 372, 287, | 458, 118, 118, 118, 118, 118, 118, 126, 126, 126, |
287, 287, 287, 287, 287, 344, 420, 372, 420, 167, | 126, 126, 126, 126, 126, 126, 126, 126, 312, 498, |
167, 167, 167, 167, 167, 170, 170, 170, 170, 170, | 754, 126, 126, 126, 126, 126, 194, 194, 194, 194, |
|
|
170, 170, 170, 170, 345, 345, 539, 170, 170, 170, | 194, 194, 194, 194, 194, 194, 285, 285, 285, 285, |
170, 170, 287, 294, 345, 294, 294, 294, 294, 294, | 285, 285, 752, 498, 312, 126, 126, 126, 126, 126, |
294, 294, 294, 307, 307, 307, 307, 307, 307, 527, | 126, 127, 127, 127, 127, 127, 127, 127, 127, 127, |
170, 170, 170, 170, 170, 170, 172, 172, 172, 172, | 127, 127, 312, 562, 562, 127, 127, 127, 127, 127, |
172, 172, 172, 172, 172, 172, 491, 491, 526, 172, | 184, 409, 184, 184, 373, 186, 184, 184, 380, 373, |
172, 172, 172, 172, 295, 376, 295, 295, 295, 295, | 184, 186, 409, 380, 186, 348, 348, 186, 186, 127, |
295, 295, 295, 295, 300, 300, 300, 300, 300, 300, | 127, 127, 127, 127, 127, 184, 184, 348, 413, 497, |
300, 300, 172, 172, 172, 172, 172, 172, 173, 173, | 428, 186, 428, 186, 188, 497, 188, 188, 188, 413, |
173, 173, 173, 173, 173, 173, 347, 347, 511, 376, | 188, 188, 429, 751, 188, 195, 195, 195, 195, 195, |
173, 173, 173, 173, 173, 296, 347, 296, 296, 296, | 195, 195, 195, 195, 195, 526, 186, 186, 188, 188, |
|
|
296, 296, 296, 296, 296, 306, 306, 306, 306, 306, | 188, 189, 615, 615, 189, 189, 429, 189, 189, 189, |
306, 306, 306, 173, 173, 173, 173, 173, 173, 203, | 189, 190, 431, 189, 189, 190, 502, 431, 414, 414, |
509, 203, 203, 203, 203, 203, 203, 203, 203, 304, | 502, 190, 415, 415, 429, 433, 430, 189, 189, 189, |
304, 304, 304, 304, 304, 304, 304, 508, 309, 304, | 414, 430, 526, 430, 415, 190, 190, 210, 210, 210, |
309, 309, 309, 309, 309, 309, 309, 309, 334, 334, | 210, 210, 210, 210, 210, 210, 210, 432, 508, 433, |
334, 334, 334, 334, 203, 204, 507, 204, 204, 204, | 432, 523, 189, 189, 192, 192, 192, 192, 192, 192, |
204, 204, 204, 204, 204, 331, 331, 331, 331, 331, | 192, 192, 192, 192, 749, 508, 523, 433, 192, 192, |
331, 331, 331, 333, 333, 333, 333, 333, 333, 333, | 192, 192, 192, 211, 211, 211, 211, 211, 211, 211, |
333, 337, 337, 337, 337, 337, 337, 337, 337, 358, | 211, 211, 211, 319, 511, 319, 319, 319, 319, 319, |
204, 215, 215, 215, 215, 215, 215, 215, 215, 215, | 319, 439, 192, 192, 192, 192, 192, 192, 197, 748, |
|
|
215, 215, 502, 502, 506, 215, 215, 215, 215, 215, | 513, 439, 197, 197, 197, 197, 197, 197, 197, 197, |
336, 358, 336, 336, 336, 336, 336, 336, 336, 336, | 197, 197, 197, 197, 197, 442, 513, 197, 197, 197, |
341, 501, 341, 341, 341, 341, 341, 341, 215, 215, | 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, |
215, 215, 215, 215, 218, 218, 218, 218, 218, 218, | 197, 197, 197, 197, 197, 197, 197, 197, 197, 511, |
218, 218, 218, 218, 397, 534, 534, 218, 218, 218, | 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, |
218, 218, 339, 397, 339, 339, 339, 339, 339, 339, | 197, 197, 197, 197, 197, 197, 197, 197, 198, 198, |
339, 339, 346, 346, 346, 346, 346, 346, 346, 346, | 198, 198, 198, 198, 198, 198, 198, 198, 198, 442, |
218, 218, 218, 218, 218, 218, 242, 484, 242, 242, | 504, 506, 198, 198, 198, 198, 198, 213, 213, 213, |
242, 242, 242, 242, 242, 242, 340, 364, 340, 340, | 213, 213, 213, 213, 213, 213, 213, 354, 354, 354, |
340, 340, 340, 340, 340, 340, 350, 350, 350, 350, | 354, 354, 354, 434, 504, 506, 198, 198, 198, 198, |
|
|
350, 350, 350, 350, 398, 669, 350, 551, 551, 364, | 198, 198, 212, 747, 212, 212, 212, 212, 212, 212, |
669, 242, 243, 398, 243, 243, 243, 243, 243, 243, | 212, 212, 212, 212, 248, 454, 737, 434, 248, 514, |
243, 243, 352, 352, 352, 352, 352, 352, 352, 352, | 454, 561, 736, 561, 248, 282, 282, 282, 282, 282, |
353, 353, 353, 353, 353, 353, 355, 366, 355, 355, | 282, 282, 282, 282, 282, 434, 514, 727, 248, 248, |
355, 355, 355, 355, 355, 355, 374, 243, 244, 449, | 212, 215, 443, 215, 215, 215, 215, 215, 215, 215, |
244, 244, 244, 244, 244, 244, 244, 244, 449, 366, | 215, 215, 215, 443, 564, 584, 564, 215, 215, 215, |
414, 385, 374, 382, 382, 382, 382, 382, 382, 382, | 215, 215, 284, 284, 284, 284, 284, 284, 284, 284, |
382, 385, 450, 375, 375, 375, 375, 375, 375, 375, | 284, 284, 423, 423, 423, 423, 423, 423, 571, 584, |
375, 450, 414, 244, 257, 257, 257, 257, 257, 257, | 571, 215, 215, 215, 215, 215, 215, 218, 218, 218, |
257, 257, 257, 257, 257, 260, 260, 260, 260, 260, | 218, 218, 218, 218, 218, 218, 218, 218, 589, 589, |
|
|
260, 260, 260, 260, 260, 260, 375, 415, 457, 260, | 589, 218, 218, 218, 218, 218, 315, 315, 315, 315, |
260, 260, 260, 260, 379, 379, 379, 379, 379, 379, | 315, 315, 315, 315, 315, 315, 450, 725, 450, 450, |
379, 384, 384, 384, 384, 384, 384, 384, 384, 415, | 450, 450, 450, 450, 724, 218, 218, 218, 218, 218, |
457, 483, 260, 260, 260, 260, 260, 260, 263, 263, | 218, 220, 220, 220, 220, 220, 220, 220, 220, 220, |
263, 263, 263, 263, 263, 263, 263, 263, 379, 571, | 220, 220, 220, 565, 616, 616, 220, 220, 220, 220, |
571, 263, 263, 263, 263, 263, 390, 390, 390, 390, | 220, 345, 345, 345, 345, 345, 345, 345, 345, 345, |
390, 390, 390, 390, 391, 391, 391, 391, 391, 391, | 345, 466, 466, 466, 466, 466, 466, 565, 623, 623, |
479, 399, 399, 465, 263, 263, 263, 263, 263, 263, | 220, 220, 220, 220, 220, 220, 221, 221, 221, 221, |
285, 399, 285, 285, 285, 285, 285, 285, 285, 285, | 221, 221, 221, 221, 221, 221, 221, 566, 625, 565, |
393, 432, 393, 393, 393, 393, 393, 393, 393, 393, | 221, 221, 221, 221, 221, 347, 347, 347, 347, 347, |
|
|
394, 432, 394, 394, 394, 394, 394, 394, 394, 394, | 347, 347, 347, 347, 347, 473, 473, 473, 473, 473, |
460, 473, 619, 619, 468, 285, 286, 433, 286, 286, | 473, 566, 625, 723, 221, 221, 221, 221, 221, 221, |
286, 286, 286, 286, 286, 286, 395, 433, 395, 395, | 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, |
395, 395, 395, 395, 395, 395, 396, 435, 396, 396, | 222, 631, 631, 566, 222, 222, 222, 222, 222, 351, |
396, 396, 396, 396, 396, 396, 473, 435, 461, 459, | 351, 351, 351, 351, 351, 351, 351, 622, 711, 622, |
458, 286, 292, 292, 292, 292, 292, 292, 292, 292, | 403, 351, 403, 403, 403, 403, 403, 403, 222, 222, |
292, 400, 400, 445, 292, 292, 292, 292, 292, 468, | 222, 222, 222, 222, 253, 627, 253, 253, 253, 253, |
461, 400, 401, 401, 401, 401, 401, 401, 401, 401, | 253, 253, 253, 253, 253, 253, 254, 254, 254, 254, |
408, 408, 408, 408, 408, 408, 431, 292, 292, 292, | 254, 254, 254, 254, 254, 254, 254, 710, 403, 627, |
292, 292, 292, 302, 302, 302, 302, 302, 302, 302, | 254, 254, 254, 254, 254, 353, 353, 353, 353, 353, |
|
|
302, 302, 302, 302, 305, 305, 305, 305, 305, 305, | 353, 353, 353, 353, 353, 480, 708, 480, 480, 480, |
305, 305, 305, 305, 305, 402, 402, 463, 305, 305, | 480, 480, 480, 707, 254, 254, 254, 254, 254, 254, |
305, 305, 305, 469, 477, 402, 405, 405, 405, 405, | 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, |
405, 405, 405, 405, 427, 503, 405, 422, 469, 463, | 529, 529, 529, 529, 256, 256, 256, 256, 256, 416, |
418, 305, 305, 305, 305, 305, 305, 308, 308, 308, | 416, 416, 416, 416, 416, 416, 416, 416, 416, 492, |
308, 308, 308, 308, 308, 308, 308, 503, 417, 477, | 492, 492, 492, 492, 492, 674, 674, 700, 256, 256, |
308, 308, 308, 308, 308, 407, 407, 407, 407, 407, | 256, 256, 256, 256, 269, 269, 269, 269, 269, 269, |
407, 407, 407, 409, 416, 409, 409, 409, 409, 409, | 269, 269, 269, 269, 417, 417, 420, 420, 420, 420, |
409, 409, 409, 308, 308, 308, 308, 308, 308, 325, | 420, 420, 420, 420, 680, 680, 417, 535, 420, 422, |
325, 325, 325, 325, 325, 325, 325, 325, 421, 428, | 422, 422, 422, 422, 422, 422, 422, 422, 422, 535, |
|
|
505, 428, 428, 428, 428, 428, 428, 428, 428, 434, | 269, 277, 277, 277, 277, 277, 277, 277, 277, 277, |
434, 434, 434, 434, 434, 434, 434, 413, 421, 412, | 277, 277, 283, 283, 283, 283, 283, 283, 283, 283, |
421, 421, 505, 325, 326, 326, 326, 326, 326, 326, | 283, 283, 283, 283, 283, 445, 683, 683, 283, 283, |
326, 326, 326, 429, 466, 429, 429, 429, 429, 429, | 283, 283, 283, 570, 570, 445, 446, 446, 446, 446, |
429, 429, 429, 421, 430, 485, 430, 430, 430, 430, | 446, 446, 446, 446, 446, 446, 541, 541, 541, 541, |
430, 430, 430, 430, 466, 485, 466, 466, 326, 327, | 541, 541, 283, 283, 283, 283, 283, 283, 286, 286, |
327, 327, 327, 327, 327, 327, 327, 327, 440, 440, | 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, |
440, 440, 440, 440, 440, 440, 441, 441, 441, 441, | 679, 698, 679, 286, 286, 286, 286, 286, 465, 465, |
441, 441, 443, 500, 443, 443, 443, 443, 443, 443, | 465, 465, 465, 465, 465, 465, 465, 465, 570, 563, |
443, 443, 500, 327, 332, 486, 332, 332, 332, 332, | 697, 624, 620, 481, 563, 620, 624, 286, 286, 286, |
|
|
332, 332, 332, 332, 332, 486, 411, 410, 332, 332, | 286, 286, 286, 287, 481, 287, 287, 287, 287, 287, |
332, 332, 332, 444, 444, 444, 444, 444, 444, 444, | 287, 287, 287, 287, 287, 320, 320, 320, 320, 320, |
444, 446, 381, 446, 446, 446, 446, 446, 446, 446, | 320, 320, 320, 320, 320, 696, 621, 640, 643, 320, |
446, 332, 332, 332, 332, 332, 332, 335, 335, 335, | 320, 320, 320, 320, 470, 470, 470, 470, 470, 470, |
335, 335, 335, 335, 335, 335, 380, 370, 369, 335, | 470, 470, 470, 470, 558, 558, 558, 558, 558, 558, |
335, 335, 335, 335, 447, 488, 447, 447, 447, 447, | 621, 640, 643, 320, 320, 320, 320, 320, 320, 321, |
447, 447, 447, 447, 448, 488, 448, 448, 448, 448, | 321, 321, 321, 321, 321, 321, 321, 321, 321, 643, |
448, 448, 335, 335, 335, 335, 335, 335, 348, 348, | 630, 693, 621, 321, 321, 321, 321, 321, 472, 472, |
348, 348, 348, 348, 348, 348, 348, 348, 348, 351, | 472, 472, 472, 472, 472, 472, 472, 472, 648, 648, |
351, 351, 351, 351, 351, 351, 351, 351, 351, 351, | 648, 648, 630, 482, 630, 630, 691, 321, 321, 321, |
|
|
451, 451, 528, 351, 351, 351, 351, 351, 467, 467, | 321, 321, 321, 334, 482, 334, 334, 334, 334, 334, |
451, 470, 528, 470, 470, 470, 471, 363, 471, 471, | 334, 334, 334, 334, 334, 335, 595, 335, 335, 335, |
471, 467, 544, 362, 555, 589, 351, 351, 351, 351, | 335, 335, 335, 335, 335, 335, 335, 336, 595, 336, |
351, 351, 354, 354, 354, 354, 354, 354, 354, 354, | 336, 336, 336, 336, 336, 336, 336, 336, 336, 339, |
354, 361, 546, 572, 544, 354, 354, 354, 354, 354, | 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, |
472, 472, 472, 472, 472, 472, 472, 472, 470, 555, | 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, |
589, 360, 357, 471, 546, 572, 356, 338, 354, 354, | 349, 349, 349, 572, 685, 633, 349, 349, 349, 349, |
354, 354, 354, 354, 377, 377, 377, 377, 377, 377, | 349, 476, 476, 476, 476, 476, 476, 476, 476, 476, |
377, 377, 377, 472, 476, 330, 476, 476, 476, 476, | 476, 633, 731, 824, 731, 572, 824, 572, 572, 645, |
476, 476, 478, 478, 478, 478, 478, 478, 478, 478, | 349, 349, 349, 349, 349, 349, 352, 352, 352, 352, |
|
|
482, 329, 482, 482, 482, 482, 482, 482, 377, 378, | 352, 352, 352, 352, 352, 352, 352, 352, 352, 483, |
378, 378, 378, 378, 378, 378, 378, 378, 480, 476, | 483, 572, 352, 352, 352, 352, 352, 484, 484, 486, |
480, 480, 480, 480, 480, 480, 480, 480, 481, 529, | 486, 483, 496, 501, 503, 733, 733, 645, 685, 484, |
481, 481, 481, 481, 481, 481, 481, 481, 328, 529, | 676, 486, 496, 501, 686, 503, 352, 352, 352, 352, |
320, 319, 315, 378, 386, 574, 386, 386, 386, 386, | 352, 352, 355, 355, 355, 355, 355, 355, 355, 355, |
386, 386, 386, 386, 386, 389, 531, 389, 389, 389, | 355, 355, 355, 355, 676, 682, 641, 355, 355, 355, |
389, 389, 389, 389, 389, 389, 531, 574, 585, 389, | 355, 355, 485, 485, 485, 485, 485, 485, 485, 485, |
389, 389, 389, 389, 487, 487, 487, 487, 487, 487, | 485, 485, 604, 604, 604, 604, 604, 604, 512, 632, |
487, 487, 493, 493, 493, 493, 493, 493, 493, 493, | 641, 355, 355, 355, 355, 355, 355, 356, 512, 356, |
585, 314, 389, 389, 389, 389, 389, 389, 392, 392, | 356, 356, 356, 356, 356, 356, 356, 356, 356, 383, |
|
|
392, 392, 392, 392, 392, 392, 392, 311, 310, 291, | 641, 383, 383, 383, 383, 383, 383, 383, 383, 383, |
392, 392, 392, 392, 392, 494, 494, 494, 494, 494, | 383, 384, 384, 384, 384, 384, 384, 384, 384, 384, |
494, 496, 566, 496, 496, 496, 496, 496, 496, 496, | 384, 762, 762, 781, 781, 384, 384, 384, 384, 384, |
496, 290, 566, 392, 392, 392, 392, 392, 392, 403, | 489, 489, 489, 489, 489, 489, 489, 489, 632, 882, |
403, 403, 403, 403, 403, 403, 403, 403, 403, 403, | 882, 611, 489, 611, 611, 611, 611, 611, 611, 384, |
406, 406, 406, 406, 406, 406, 406, 406, 406, 406, | 384, 384, 384, 384, 384, 399, 399, 399, 399, 399, |
289, 288, 278, 277, 406, 406, 406, 406, 406, 497, | 399, 399, 399, 399, 399, 491, 491, 491, 491, 491, |
497, 497, 497, 497, 497, 497, 497, 497, 498, 498, | 491, 491, 491, 491, 491, 532, 532, 532, 532, 532, |
498, 498, 498, 498, 498, 498, 498, 406, 406, 406, | 532, 532, 532, 532, 532, 639, 681, 639, 639, 639, |
406, 406, 406, 423, 276, 423, 423, 423, 423, 423, | 649, 399, 401, 596, 401, 401, 401, 401, 401, 401, |
|
|
423, 423, 423, 499, 499, 499, 499, 499, 499, 499, | 401, 401, 401, 401, 402, 596, 402, 402, 402, 402, |
499, 499, 512, 274, 512, 512, 512, 575, 575, 513, | 402, 402, 402, 402, 402, 402, 408, 408, 408, 408, |
273, 513, 513, 513, 272, 271, 270, 269, 423, 424, | 408, 408, 408, 408, 408, 408, 408, 701, 649, 728, |
575, 424, 424, 424, 424, 424, 424, 424, 424, 514, | 408, 408, 408, 408, 408, 534, 534, 534, 534, 534, |
268, 514, 514, 514, 515, 267, 515, 515, 515, 251, | 534, 534, 534, 534, 534, 675, 836, 742, 787, 836, |
518, 250, 518, 518, 518, 249, 248, 246, 245, 512, | 547, 701, 673, 728, 408, 408, 408, 408, 408, 408, |
236, 235, 234, 233, 424, 425, 513, 425, 425, 425, | 412, 547, 412, 412, 412, 412, 412, 412, 412, 412, |
425, 425, 425, 425, 425, 516, 232, 229, 516, 516, | 412, 412, 418, 418, 418, 418, 418, 418, 418, 418, |
516, 516, 516, 516, 516, 516, 514, 227, 226, 225, | 418, 418, 418, 418, 418, 742, 787, 670, 418, 418, |
224, 515, 223, 220, 212, 517, 517, 518, 211, 517, | 418, 418, 418, 538, 598, 538, 538, 538, 538, 538, |
|
|
425, 426, 208, 426, 426, 426, 426, 426, 426, 426, | 538, 827, 827, 827, 669, 538, 598, 634, 739, 634, |
426, 517, 517, 517, 519, 519, 207, 523, 519, 523, | 634, 634, 418, 418, 418, 418, 418, 418, 421, 421, |
523, 523, 523, 523, 523, 523, 523, 200, 199, 193, | 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, |
519, 519, 519, 190, 189, 188, 426, 436, 187, 436, | 421, 853, 739, 853, 421, 421, 421, 421, 421, 540, |
436, 436, 436, 436, 436, 436, 436, 436, 439, 186, | 540, 540, 540, 540, 540, 540, 540, 540, 540, 578, |
439, 439, 439, 439, 439, 439, 439, 439, 439, 184, | 578, 578, 578, 578, 578, 578, 656, 634, 421, 421, |
183, 182, 439, 439, 439, 439, 439, 524, 181, 524, | 421, 421, 421, 421, 424, 424, 424, 424, 424, 424, |
524, 524, 524, 524, 524, 524, 524, 530, 530, 530, | 424, 424, 424, 424, 424, 424, 548, 549, 549, 424, |
530, 530, 530, 530, 530, 439, 439, 439, 439, 439, | 424, 424, 424, 424, 550, 550, 612, 548, 613, 549, |
439, 442, 442, 442, 442, 442, 442, 442, 442, 442, | 552, 552, 844, 844, 844, 655, 550, 612, 657, 613, |
|
|
180, 179, 178, 442, 442, 442, 442, 442, 525, 177, | 759, 642, 552, 424, 424, 424, 424, 424, 424, 425, |
525, 525, 525, 525, 525, 525, 525, 525, 536, 536, | 657, 425, 425, 425, 425, 425, 425, 425, 425, 425, |
536, 536, 536, 536, 536, 536, 442, 442, 442, 442, | 425, 426, 653, 768, 759, 642, 854, 426, 854, 916, |
442, 442, 454, 454, 454, 454, 454, 454, 454, 454, | 426, 426, 916, 426, 426, 426, 426, 426, 426, 426, |
454, 454, 474, 176, 474, 474, 474, 474, 474, 474, | 426, 426, 426, 426, 426, 426, 642, 768, 652, 426, |
474, 474, 537, 537, 537, 537, 537, 537, 538, 175, | 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, |
538, 538, 538, 538, 538, 538, 538, 538, 540, 540, | 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, |
540, 540, 540, 540, 540, 540, 540, 474, 475, 169, | 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, |
475, 475, 475, 475, 475, 475, 475, 475, 541, 541, | 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, |
541, 541, 541, 541, 541, 541, 541, 542, 542, 542, | 426, 464, 464, 464, 464, 464, 464, 464, 464, 464, |
|
|
542, 542, 542, 542, 552, 552, 552, 552, 552, 552, | 464, 464, 555, 555, 555, 555, 555, 555, 555, 555, |
552, 552, 168, 475, 489, 158, 489, 489, 489, 489, | 865, 651, 865, 658, 555, 557, 557, 557, 557, 557, |
489, 489, 489, 489, 489, 492, 157, 492, 492, 492, | 557, 557, 557, 557, 557, 658, 883, 883, 464, 471, |
492, 492, 492, 492, 492, 492, 156, 152, 151, 492, | 660, 471, 471, 471, 471, 471, 471, 471, 471, 471, |
492, 492, 492, 492, 553, 553, 553, 553, 553, 553, | 471, 471, 660, 637, 702, 471, 471, 471, 471, 471, |
553, 553, 554, 554, 554, 554, 554, 554, 554, 554, | 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, |
149, 145, 492, 492, 492, 492, 492, 492, 495, 495, | 619, 619, 619, 619, 619, 619, 619, 619, 702, 471, |
495, 495, 495, 495, 495, 495, 138, 134, 132, 130, | 471, 471, 471, 471, 471, 474, 474, 474, 474, 474, |
495, 495, 495, 495, 495, 554, 558, 122, 558, 558, | 474, 474, 474, 474, 474, 474, 778, 636, 702, 474, |
558, 558, 558, 558, 559, 559, 559, 559, 559, 559, | 474, 474, 474, 474, 587, 587, 587, 587, 587, 587, |
|
|
559, 559, 121, 495, 495, 495, 495, 495, 495, 520, | 587, 587, 587, 587, 866, 870, 866, 870, 614, 614, |
120, 520, 520, 520, 520, 520, 520, 520, 520, 119, | 778, 894, 894, 474, 474, 474, 474, 474, 474, 475, |
561, 558, 561, 561, 561, 561, 561, 561, 561, 561, | 614, 475, 475, 475, 475, 475, 475, 475, 475, 475, |
562, 118, 562, 562, 562, 562, 562, 562, 562, 562, | 475, 487, 487, 487, 487, 487, 487, 487, 487, 487, |
113, 112, 111, 110, 520, 521, 108, 521, 521, 521, | 487, 487, 487, 487, 678, 629, 703, 487, 487, 487, |
521, 521, 521, 521, 521, 563, 107, 563, 563, 563, | 487, 487, 588, 588, 588, 588, 588, 588, 588, 588, |
563, 563, 563, 569, 106, 569, 569, 569, 569, 569, | 588, 588, 635, 610, 635, 635, 635, 871, 678, 871, |
569, 569, 569, 596, 596, 596, 596, 596, 596, 102, | 703, 487, 487, 487, 487, 487, 487, 490, 490, 490, |
521, 522, 98, 522, 522, 522, 522, 522, 522, 522, | 490, 490, 490, 490, 490, 490, 490, 490, 490, 490, |
522, 579, 579, 579, 579, 579, 579, 579, 579, 580, | 678, 703, 740, 490, 490, 490, 490, 490, 597, 597, |
|
|
580, 580, 580, 580, 580, 580, 580, 581, 581, 581, | 597, 597, 597, 597, 597, 597, 597, 597, 875, 878, |
581, 581, 581, 581, 581, 97, 522, 532, 93, 532, | 875, 878, 635, 888, 609, 888, 740, 490, 490, 490, |
532, 532, 532, 532, 532, 532, 532, 532, 535, 90, | 490, 490, 490, 493, 493, 493, 493, 493, 493, 493, |
535, 535, 535, 535, 535, 535, 535, 535, 82, 81, | 493, 493, 493, 493, 608, 889, 740, 889, 493, 493, |
80, 78, 535, 535, 535, 535, 535, 73, 588, 588, | 493, 493, 493, 601, 594, 601, 601, 601, 601, 601, |
588, 588, 588, 588, 588, 588, 592, 66, 592, 592, | 601, 897, 592, 897, 654, 601, 654, 654, 654, 654, |
592, 592, 592, 592, 59, 535, 535, 535, 535, 535, | 654, 654, 493, 493, 493, 493, 493, 493, 494, 712, |
535, 556, 54, 556, 556, 556, 556, 556, 556, 556, | 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, |
556, 588, 594, 594, 594, 594, 594, 594, 594, 594, | 495, 712, 898, 901, 898, 901, 495, 692, 692, 495, |
51, 592, 595, 595, 595, 595, 595, 595, 595, 595, | 495, 692, 495, 495, 495, 495, 495, 495, 495, 495, |
|
|
49, 41, 40, 39, 38, 37, 556, 557, 36, 557, | 495, 495, 495, 495, 495, 692, 692, 692, 495, 495, |
557, 557, 557, 557, 557, 557, 557, 33, 29, 23, | 495, 495, 495, 495, 495, 495, 495, 495, 495, 495, |
600, 600, 600, 600, 600, 600, 600, 600, 601, 601, | 495, 495, 495, 495, 495, 495, 495, 495, 495, 495, |
601, 601, 601, 601, 601, 601, 17, 15, 14, 13, | 495, 495, 495, 495, 495, 495, 495, 495, 495, 495, |
0, 0, 557, 576, 0, 576, 576, 576, 576, 576, | 495, 495, 495, 495, 495, 495, 495, 495, 495, 495, |
576, 576, 576, 600, 0, 0, 0, 0, 0, 0, | 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, |
0, 601, 602, 602, 602, 602, 602, 602, 602, 602, | 517, 522, 913, 913, 713, 522, 522, 522, 522, 522, |
604, 604, 604, 604, 604, 604, 604, 604, 576, 577, | 522, 522, 522, 522, 522, 522, 713, 522, 914, 914, |
0, 577, 577, 577, 577, 577, 577, 577, 577, 0, | 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, |
0, 0, 0, 0, 0, 602, 605, 605, 605, 605, | 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, |
|
|
605, 605, 0, 604, 0, 0, 0, 0, 0, 0, | 522, 522, 591, 522, 522, 522, 522, 522, 522, 522, |
0, 0, 0, 0, 577, 578, 0, 578, 578, 578, | 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, |
578, 578, 578, 578, 578, 0, 0, 0, 0, 605, | 522, 525, 525, 525, 525, 525, 525, 525, 525, 525, |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | 525, 603, 603, 603, 603, 603, 603, 603, 603, 603, |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | 603, 607, 607, 607, 607, 607, 607, 607, 607, 607, |
578, 590, 0, 590, 590, 590, 590, 590, 590, 590, | 607, 666, 666, 666, 666, 666, 666, 525, 527, 527, |
590, 0, 0, 0, 0, 0, 0, 0, 0, 0, | 527, 527, 527, 527, 527, 527, 527, 527, 527, 650, |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | 650, 650, 650, 650, 650, 650, 650, 650, 650, 659, |
0, 0, 0, 0, 0, 0, 590, 591, 0, 591, | 659, 659, 659, 659, 659, 659, 659, 659, 659, 721, |
591, 591, 591, 591, 591, 591, 591, 0, 0, 0, | 721, 721, 721, 721, 721, 527, 536, 715, 536, 536, |
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | 536, 536, 536, 536, 536, 536, 536, 536, 536, 715, |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | 590, 582, 536, 536, 536, 536, 536, 663, 753, 663, |
0, 0, 591, 607, 607, 607, 607, 607, 607, 607, | 663, 663, 663, 663, 663, 907, 908, 907, 908, 663, |
607, 607, 607, 607, 607, 607, 607, 607, 607, 608, | 753, 687, 672, 687, 687, 687, 536, 536, 536, 536, |
608, 608, 608, 608, 608, 608, 608, 608, 608, 608, | 536, 536, 539, 672, 539, 539, 539, 539, 539, 539, |
608, 608, 608, 608, 608, 609, 609, 609, 609, 609, | 539, 539, 539, 539, 539, 730, 581, 580, 539, 539, |
609, 609, 609, 609, 609, 609, 609, 609, 609, 609, | 539, 539, 539, 665, 665, 665, 665, 665, 665, 665, |
609, 610, 610, 610, 610, 610, 610, 610, 610, 610, | 665, 665, 665, 688, 579, 688, 688, 688, 910, 730, |
610, 610, 610, 610, 610, 610, 610, 611, 0, 0, | 910, 687, 539, 539, 539, 539, 539, 539, 542, 542, |
0, 0, 0, 0, 0, 611, 611, 611, 0, 0, | 542, 542, 542, 542, 542, 542, 542, 542, 542, 577, |
|
|
611, 611, 611, 612, 612, 612, 612, 612, 612, 612, | 576, 730, 542, 542, 542, 542, 542, 695, 695, 695, |
612, 612, 612, 612, 612, 612, 612, 612, 612, 613, | 695, 695, 695, 695, 695, 695, 695, 794, 794, 794, |
0, 0, 0, 0, 613, 0, 0, 613, 613, 613, | 794, 794, 794, 688, 575, 573, 542, 542, 542, 542, |
613, 0, 613, 613, 613, 614, 0, 0, 0, 0, | 542, 542, 543, 569, 543, 543, 543, 543, 543, 543, |
0, 0, 0, 614, 614, 614, 0, 0, 614, 614, | 543, 543, 543, 543, 546, 568, 546, 546, 546, 546, |
614, 615, 0, 0, 615, 615, 0, 615, 0, 615, | 546, 546, 546, 546, 546, 546, 553, 553, 553, 553, |
615, 615, 0, 0, 615, 615, 615, 616, 616, 0, | 553, 553, 553, 553, 553, 553, 553, 553, 553, 567, |
0, 0, 616, 617, 0, 0, 617, 617, 0, 617, | 551, 761, 553, 553, 553, 553, 553, 689, 545, 689, |
0, 617, 617, 617, 0, 0, 617, 617, 617, 618, | 689, 689, 690, 544, 690, 690, 690, 699, 531, 699, |
0, 0, 618, 618, 0, 618, 0, 618, 618, 618, | 699, 699, 699, 699, 699, 761, 553, 553, 553, 553, |
|
|
0, 618, 0, 618, 618, 620, 0, 0, 620, 0, | 553, 553, 556, 556, 556, 556, 556, 556, 556, 556, |
0, 620, 0, 620, 620, 620, 620, 0, 620, 620, | 556, 556, 556, 556, 918, 530, 918, 761, 556, 556, |
620, 621, 621, 621, 621, 621, 621, 621, 621, 621, | 556, 556, 556, 919, 923, 919, 923, 689, 924, 929, |
621, 621, 621, 621, 621, 621, 621, 622, 622, 0, | 924, 929, 690, 726, 726, 726, 726, 726, 726, 726, |
622, 0, 622, 622, 622, 622, 622, 622, 622, 622, | 524, 521, 556, 556, 556, 556, 556, 556, 559, 520, |
622, 622, 622, 623, 623, 623, 623, 623, 623, 623, | 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, |
623, 623, 623, 623, 623, 623, 623, 623, 623, 624, | 560, 694, 519, 694, 694, 694, 560, 694, 694, 560, |
624, 0, 624, 624, 624, 624, 624, 624, 624, 624, | 560, 694, 560, 560, 560, 560, 560, 560, 560, 560, |
624, 624, 624, 624, 624, 625, 0, 0, 0, 0, | 560, 560, 560, 560, 560, 694, 694, 694, 560, 560, |
625, 0, 0, 625, 625, 625, 0, 0, 625, 625, | 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, |
|
|
625, 626, 0, 0, 626, 626, 0, 626, 0, 626, | 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, |
626, 626, 0, 0, 626, 626, 626, 627, 627, 0, | 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, |
0, 0, 627, 628, 628, 628, 0, 0, 0, 628, | 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, |
629, 0, 0, 629, 629, 0, 629, 0, 629, 629, | 583, 750, 518, 750, 750, 750, 750, 750, 750, 583, |
629, 0, 0, 629, 629, 629, 630, 630, 630, 630, | 930, 516, 930, 583, 583, 583, 583, 583, 583, 583, |
630, 630, 630, 630, 630, 630, 630, 630, 630, 630, | 583, 583, 583, 583, 583, 583, 515, 510, 583, 583, |
630, 630, 631, 631, 0, 0, 0, 631, 632, 632, | 583, 583, 583, 583, 583, 583, 583, 583, 583, 583, |
632, 0, 0, 0, 632, 633, 633, 0, 0, 0, | 583, 583, 583, 583, 583, 583, 583, 583, 583, 583, |
633, 634, 634, 0, 0, 0, 634, 635, 635, 0, | 509, 583, 583, 583, 583, 583, 583, 583, 583, 583, |
0, 0, 635, 636, 636, 636, 0, 0, 0, 636, | 583, 583, 583, 583, 583, 583, 583, 583, 583, 586, |
|
|
637, 637, 0, 0, 0, 637, 638, 638, 0, 0, | 479, 586, 586, 586, 586, 586, 586, 586, 586, 586, |
0, 638, 639, 639, 0, 0, 0, 639, 640, 640, | 586, 714, 714, 714, 714, 714, 714, 714, 714, 714, |
640, 0, 0, 0, 640, 641, 641, 641, 641, 0, | 714, 718, 478, 718, 718, 718, 718, 718, 718, 922, |
0, 0, 641, 642, 642, 0, 0, 0, 642, 643, | 477, 469, 922, 718, 468, 467, 922, 586, 593, 463, |
643, 0, 0, 0, 643, 644, 644, 0, 0, 0, | 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, |
644, 645, 645, 645, 0, 0, 0, 645, 646, 646, | 599, 456, 599, 599, 599, 599, 599, 599, 599, 599, |
646, 646, 0, 0, 0, 646, 647, 647, 0, 0, | 599, 599, 599, 455, 452, 451, 599, 599, 599, 599, |
0, 647, 648, 648, 0, 0, 0, 648, 649, 649, | 599, 720, 720, 720, 720, 720, 720, 720, 720, 720, |
649, 0, 0, 0, 649, 650, 650, 650, 650, 0, | 720, 758, 449, 758, 758, 758, 758, 758, 758, 448, |
0, 0, 650, 651, 651, 0, 0, 0, 651, 652, | 599, 599, 599, 599, 599, 599, 602, 447, 602, 602, |
|
|
0, 652, 652, 0, 0, 0, 652, 653, 653, 653, | 602, 602, 602, 602, 602, 602, 602, 602, 602, 441, |
0, 0, 0, 653, 654, 654, 654, 654, 0, 0, | 440, 438, 602, 602, 602, 602, 602, 734, 734, 734, |
0, 654, 655, 655, 0, 0, 0, 655, 656, 0, | 734, 734, 734, 734, 734, 734, 734, 767, 437, 767, |
656, 656, 0, 0, 0, 656, 657, 657, 657, 0, | 767, 767, 767, 767, 767, 436, 602, 602, 602, 602, |
0, 0, 657, 658, 658, 658, 0, 0, 0, 0, | 602, 602, 605, 605, 605, 605, 605, 605, 605, 605, |
658, 659, 659, 0, 659, 659, 659, 0, 0, 659, | 605, 605, 605, 435, 411, 410, 605, 605, 605, 605, |
659, 659, 0, 0, 659, 659, 659, 660, 660, 0, | 605, 735, 735, 735, 735, 735, 735, 735, 735, 735, |
660, 660, 660, 0, 0, 660, 660, 660, 0, 0, | 735, 407, 745, 406, 745, 745, 745, 745, 745, 745, |
660, 660, 660, 661, 661, 0, 0, 0, 661, 662, | 605, 605, 605, 605, 605, 605, 606, 405, 606, 606, |
0, 662, 662, 0, 0, 0, 662, 663, 663, 0, | 606, 606, 606, 606, 606, 606, 606, 606, 617, 617, |
|
|
0, 0, 0, 663, 664, 664, 664, 664, 664, 664, | 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, |
| 745, 404, 398, 397, 617, 617, 617, 617, 617, 746, |
| 746, 746, 746, 746, 746, 746, 746, 746, 746, 800, |
| 396, 800, 800, 800, 800, 800, 800, 395, 617, 617, |
| 617, 617, 617, 617, 638, 394, 638, 638, 638, 638, |
| 638, 638, 638, 638, 638, 638, 644, 644, 644, 644, |
| 644, 644, 644, 644, 644, 644, 763, 763, 763, 763, |
| 763, 763, 763, 763, 763, 763, 772, 772, 772, 772, |
| 772, 772, 772, 772, 772, 772, 812, 812, 812, 812, |
| 812, 812, 644, 646, 393, 646, 646, 646, 646, 646, |
| |
| 646, 646, 646, 646, 646, 773, 773, 773, 773, 773, |
| 773, 773, 773, 773, 773, 774, 774, 774, 774, 774, |
| 774, 774, 774, 774, 774, 392, 928, 391, 390, 928, |
| 389, 646, 661, 928, 661, 661, 661, 661, 661, 661, |
| 661, 661, 661, 661, 661, 388, 387, 386, 661, 661, |
| 661, 661, 661, 790, 385, 790, 790, 790, 790, 790, |
| 790, 792, 792, 792, 792, 792, 792, 792, 792, 792, |
| 792, 382, 661, 661, 661, 661, 661, 661, 664, 381, |
664, 664, 664, 664, 664, 664, 664, 664, 664, 664, |
664, 664, 664, 664, 664, 664, 664, 664, 664, 664, |
665, 665, 0, 0, 0, 665, 666, 0, 666, 666, | 664, 790, 376, 375, 664, 664, 664, 664, 664, 793, |
0, 0, 0, 666, 667, 667, 0, 0, 0, 667, | |
668, 0, 668, 0, 0, 0, 0, 668, 670, 670, | |
670, 670, 670, 670, 670, 670, 670, 670, 670, 670, | |
670, 670, 670, 670, 606, 606, 606, 606, 606, 606, | |
606, 606, 606, 606, 606, 606, 606, 606, 606, 606, | |
606, 606, 606, 606, 606, 606, 606, 606, 606, 606, | |
606, 606, 606, 606, 606, 606, 606, 606, 606, 606, | |
|
|
606, 606, 606, 606, 606, 606, 606, 606, 606, 606, | 793, 793, 793, 793, 793, 793, 793, 793, 793, 374, |
606, 606, 606, 606, 606, 606, 606, 606, 606, 606, | 368, 366, 365, 364, 363, 362, 361, 360, 664, 664, |
606, 606, 606, 606, 606, 606, 606, 606, 606, 606, | 664, 664, 664, 664, 667, 667, 667, 667, 667, 667, |
606 | 667, 667, 667, 667, 359, 343, 342, 341, 667, 667, |
| 667, 667, 667, 796, 796, 796, 796, 796, 796, 796, |
| 796, 796, 796, 340, 338, 337, 809, 809, 809, 809, |
| 809, 809, 667, 667, 667, 667, 667, 667, 668, 333, |
| 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, |
| 671, 671, 671, 671, 671, 671, 671, 671, 671, 671, |
| 671, 704, 809, 704, 704, 704, 704, 704, 704, 704, |
| |
| 704, 704, 704, 705, 332, 705, 705, 705, 705, 705, |
| 705, 705, 705, 705, 705, 706, 331, 706, 706, 706, |
| 706, 706, 706, 706, 706, 706, 706, 709, 329, 709, |
| 709, 709, 709, 709, 709, 709, 709, 709, 709, 716, |
| 328, 716, 716, 716, 716, 716, 716, 716, 716, 716, |
| 716, 716, 327, 326, 325, 716, 716, 716, 716, 716, |
| 804, 804, 804, 804, 804, 804, 804, 804, 804, 804, |
| 324, 318, 317, 316, 309, 308, 307, 306, 305, 716, |
| 716, 716, 716, 716, 716, 719, 299, 719, 719, 719, |
| 719, 719, 719, 719, 719, 719, 719, 297, 296, 295, |
| |
| 294, 719, 719, 719, 719, 719, 805, 805, 805, 805, |
| 805, 805, 805, 805, 805, 805, 293, 292, 290, 288, |
| 280, 279, 276, 275, 268, 719, 719, 719, 719, 719, |
| 719, 738, 267, 738, 738, 738, 738, 738, 738, 738, |
| 738, 738, 738, 741, 265, 741, 741, 741, 741, 741, |
| 741, 741, 741, 741, 741, 743, 264, 743, 743, 743, |
| 743, 743, 743, 743, 743, 743, 743, 744, 263, 744, |
| 744, 744, 744, 744, 744, 744, 744, 744, 744, 756, |
| 262, 756, 756, 756, 756, 756, 756, 756, 756, 756, |
| 756, 769, 261, 769, 769, 769, 769, 769, 769, 769, |
| |
| 769, 769, 769, 770, 260, 770, 770, 770, 770, 770, |
| 770, 770, 770, 770, 770, 771, 259, 771, 771, 771, |
| 771, 771, 771, 771, 771, 771, 771, 785, 258, 785, |
| 785, 785, 785, 785, 785, 785, 785, 785, 785, 786, |
| 255, 786, 786, 786, 786, 786, 786, 786, 786, 786, |
| 786, 788, 252, 788, 788, 788, 788, 788, 788, 788, |
| 788, 788, 788, 789, 251, 789, 789, 789, 789, 789, |
| 789, 789, 789, 789, 789, 801, 801, 801, 801, 801, |
| 801, 801, 801, 801, 801, 806, 806, 806, 806, 806, |
| 806, 806, 806, 806, 806, 811, 811, 811, 811, 811, |
| |
| 811, 811, 811, 811, 811, 250, 244, 241, 240, 239, |
| 238, 801, 802, 802, 802, 802, 802, 802, 802, 802, |
| 802, 802, 237, 234, 233, 232, 231, 230, 229, 228, |
| 227, 226, 225, 224, 223, 217, 216, 209, 208, 207, |
| 206, 205, 204, 202, 201, 199, 193, 185, 802, 803, |
| 803, 803, 803, 803, 803, 803, 803, 803, 803, 181, |
| 177, 176, 174, 170, 163, 159, 157, 155, 147, 146, |
| 145, 144, 143, 137, 136, 135, 134, 133, 131, 130, |
| 129, 128, 124, 120, 119, 803, 808, 808, 808, 808, |
| 808, 808, 808, 808, 808, 808, 115, 112, 109, 104, |
| |
| 103, 102, 100, 96, 95, 94, 93, 90, 77, 70, |
| 63, 59, 58, 56, 55, 53, 51, 43, 42, 41, |
| 39, 35, 808, 814, 814, 814, 814, 814, 814, 814, |
| 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, |
| 814, 814, 814, 814, 815, 815, 815, 815, 815, 815, |
| 815, 815, 815, 815, 815, 815, 815, 815, 815, 815, |
| 815, 815, 815, 815, 815, 816, 816, 816, 816, 816, |
| 816, 816, 816, 816, 816, 816, 816, 816, 816, 816, |
| 816, 816, 816, 816, 816, 816, 817, 817, 817, 817, |
| 817, 817, 817, 817, 817, 817, 817, 817, 817, 817, |
| |
| 817, 817, 817, 817, 817, 817, 817, 818, 31, 25, |
| 19, 17, 16, 15, 818, 0, 818, 818, 818, 818, |
| 0, 0, 818, 818, 818, 818, 818, 818, 819, 819, |
| 819, 819, 819, 819, 819, 819, 819, 819, 819, 819, |
| 819, 819, 819, 819, 819, 819, 819, 819, 819, 820, |
| 0, 0, 0, 0, 820, 0, 820, 0, 820, 820, |
| 820, 820, 820, 0, 820, 820, 820, 820, 820, 820, |
| 821, 0, 0, 0, 0, 0, 0, 821, 0, 821, |
| 821, 821, 821, 0, 0, 821, 821, 821, 821, 821, |
| 821, 822, 0, 0, 822, 822, 0, 822, 822, 0, |
| |
| 822, 822, 822, 822, 0, 0, 822, 822, 822, 822, |
| 822, 822, 823, 823, 0, 823, 0, 0, 0, 823, |
| 825, 0, 0, 825, 825, 0, 825, 825, 0, 825, |
| 825, 825, 825, 0, 0, 825, 825, 825, 825, 825, |
| 825, 826, 0, 0, 826, 826, 0, 826, 826, 0, |
| 826, 826, 826, 826, 0, 826, 826, 826, 0, 826, |
| 826, 826, 828, 0, 0, 828, 0, 0, 828, 828, |
| 0, 828, 828, 828, 828, 828, 0, 828, 828, 828, |
| 828, 828, 828, 829, 829, 829, 829, 829, 829, 829, |
| 829, 829, 829, 829, 829, 829, 829, 829, 829, 829, |
| |
| 829, 829, 829, 829, 830, 830, 0, 830, 0, 830, |
| 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, |
| 830, 830, 830, 830, 830, 831, 0, 0, 0, 0, |
| 831, 0, 831, 0, 831, 831, 831, 831, 831, 0, |
| 831, 831, 831, 831, 831, 831, 832, 0, 0, 0, |
| 0, 0, 0, 832, 0, 832, 832, 832, 832, 0, |
| 832, 832, 832, 832, 832, 832, 832, 833, 0, 0, |
| 833, 833, 0, 833, 833, 0, 833, 833, 833, 833, |
| 0, 833, 833, 833, 833, 833, 833, 833, 834, 834, |
| 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, |
| |
| 834, 834, 834, 834, 834, 834, 834, 834, 834, 835, |
| 835, 0, 835, 835, 835, 835, 835, 835, 835, 835, |
| 835, 835, 835, 835, 835, 835, 835, 835, 835, 835, |
| 837, 0, 0, 837, 837, 0, 837, 837, 0, 837, |
| 837, 837, 837, 0, 0, 837, 837, 837, 837, 837, |
| 837, 838, 838, 0, 838, 0, 0, 0, 838, 839, |
| 839, 0, 839, 0, 0, 0, 839, 840, 840, 840, |
| 0, 840, 0, 0, 0, 840, 841, 0, 0, 841, |
| 841, 0, 841, 841, 0, 841, 841, 841, 841, 0, |
| 0, 841, 841, 841, 841, 841, 841, 842, 0, 0, |
| |
| 842, 842, 0, 842, 842, 0, 842, 842, 842, 842, |
| 0, 0, 842, 842, 842, 842, 842, 842, 843, 0, |
| 0, 843, 843, 0, 843, 843, 0, 843, 843, 843, |
| 843, 0, 843, 843, 843, 0, 843, 843, 843, 845, |
| 0, 0, 845, 0, 0, 845, 845, 0, 845, 845, |
| 845, 845, 845, 0, 845, 845, 845, 845, 845, 845, |
| 846, 0, 0, 0, 0, 0, 0, 846, 0, 846, |
| 846, 846, 846, 0, 0, 846, 846, 846, 846, 846, |
| 846, 847, 0, 0, 0, 0, 0, 0, 847, 0, |
| 847, 847, 847, 847, 0, 847, 847, 847, 847, 847, |
| |
| 847, 847, 848, 0, 0, 848, 848, 0, 848, 848, |
| 0, 848, 848, 848, 848, 0, 848, 848, 848, 848, |
| 848, 848, 848, 849, 0, 0, 849, 849, 0, 849, |
| 850, 850, 850, 850, 850, 850, 850, 850, 850, 850, |
| 850, 850, 850, 850, 850, 850, 850, 850, 850, 850, |
| 850, 851, 851, 0, 851, 0, 0, 0, 851, 852, |
| 852, 852, 0, 852, 0, 0, 0, 852, 855, 855, |
| 0, 855, 0, 0, 0, 855, 856, 856, 0, 856, |
| 0, 0, 0, 856, 857, 857, 0, 857, 0, 0, |
| 0, 857, 858, 858, 858, 0, 858, 0, 0, 0, |
| |
| 858, 859, 0, 0, 859, 859, 0, 859, 860, 860, |
| 0, 860, 0, 0, 0, 860, 861, 861, 0, 861, |
| 0, 0, 0, 861, 862, 862, 0, 862, 0, 0, |
| 0, 862, 863, 863, 863, 0, 863, 0, 0, 0, |
| 863, 864, 864, 864, 864, 0, 864, 0, 0, 0, |
| 864, 867, 867, 0, 867, 0, 0, 0, 867, 868, |
| 868, 0, 868, 0, 0, 0, 868, 869, 869, 0, |
| 869, 0, 0, 0, 869, 872, 872, 872, 0, 872, |
| 0, 0, 0, 872, 873, 873, 873, 873, 0, 873, |
| 0, 0, 0, 873, 874, 874, 874, 874, 874, 874, |
| |
| 874, 874, 874, 874, 874, 874, 874, 874, 874, 874, |
| 874, 874, 874, 874, 874, 876, 876, 0, 876, 0, |
| 0, 0, 876, 877, 877, 0, 877, 0, 0, 0, |
| 877, 879, 879, 879, 0, 879, 0, 0, 0, 879, |
| 880, 880, 880, 880, 0, 880, 0, 0, 0, 880, |
| 881, 881, 881, 881, 881, 881, 881, 881, 881, 881, |
| 881, 881, 881, 881, 881, 881, 881, 881, 881, 881, |
| 881, 884, 0, 0, 884, 884, 0, 884, 885, 0, |
| 0, 0, 885, 885, 0, 885, 885, 885, 0, 0, |
| 885, 885, 886, 886, 0, 886, 0, 0, 0, 886, |
| |
| 887, 0, 887, 887, 0, 887, 0, 0, 0, 887, |
| 890, 890, 890, 0, 890, 0, 0, 0, 890, 891, |
| 891, 891, 891, 0, 891, 0, 0, 0, 891, 892, |
| 892, 0, 0, 892, 0, 0, 0, 892, 893, 893, |
| 893, 893, 893, 893, 893, 893, 893, 893, 893, 893, |
| 893, 893, 893, 893, 893, 893, 893, 893, 893, 895, |
| 0, 0, 895, 895, 0, 895, 896, 0, 0, 0, |
| 896, 896, 0, 896, 896, 896, 0, 0, 896, 896, |
| 899, 899, 0, 899, 0, 0, 0, 899, 900, 0, |
| 900, 900, 0, 900, 0, 0, 0, 900, 902, 902, |
| |
| 902, 0, 902, 0, 0, 0, 902, 903, 903, 903, |
| 0, 0, 903, 0, 0, 0, 903, 904, 904, 904, |
| 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, |
| 904, 904, 904, 904, 904, 904, 904, 904, 905, 905, |
| 0, 905, 905, 905, 0, 905, 0, 905, 905, 905, |
| 905, 0, 0, 905, 905, 905, 905, 905, 905, 906, |
| 906, 0, 906, 906, 906, 0, 906, 0, 906, 906, |
| 906, 906, 0, 0, 906, 906, 906, 906, 906, 906, |
| 909, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 909, 909, 0, 909, 909, 0, 909, 911, 911, |
| |
| 0, 911, 0, 0, 0, 911, 912, 0, 912, 912, |
| 0, 912, 0, 0, 0, 912, 915, 915, 0, 0, |
| 915, 0, 0, 0, 915, 917, 0, 0, 0, 0, |
| 0, 0, 917, 0, 917, 917, 917, 917, 0, 0, |
| 917, 917, 917, 917, 917, 917, 920, 920, 0, 920, |
| 0, 0, 0, 920, 921, 0, 921, 921, 0, 921, |
| 0, 0, 0, 921, 925, 925, 0, 925, 0, 0, |
| 0, 925, 926, 0, 926, 0, 0, 926, 0, 0, |
| 0, 926, 927, 927, 927, 927, 927, 927, 927, 927, |
| 927, 927, 927, 927, 927, 927, 927, 927, 927, 927, |
| |
| 927, 927, 927, 813, 813, 813, 813, 813, 813, 813, |
| 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, |
| 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, |
| 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, |
| 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, |
| 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, |
| 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, |
| 813, 813, 813, 813 |
} ; |
} ; |
|
|
static yy_state_type yy_last_accepting_state; |
static yy_state_type yy_last_accepting_state; |
Line 1404 char *yytext;
|
Line 1928 char *yytext;
|
#define INITIAL 0 |
#define INITIAL 0 |
#line 2 "toke.l" |
#line 2 "toke.l" |
/* |
/* |
* Copyright (c) 1996, 1998-2005, 2007-2011 | * Copyright (c) 1996, 1998-2005, 2007-2013 |
* Todd C. Miller <Todd.Miller@courtesan.com> |
* Todd C. Miller <Todd.Miller@courtesan.com> |
* |
* |
* Permission to use, copy, modify, and distribute this software for any |
* Permission to use, copy, modify, and distribute this software for any |
Line 1430 char *yytext;
|
Line 1954 char *yytext;
|
#include <config.h> |
#include <config.h> |
|
|
#include <sys/types.h> |
#include <sys/types.h> |
#include <sys/param.h> |
|
#include <sys/stat.h> |
#include <sys/stat.h> |
#include <stdio.h> |
#include <stdio.h> |
#ifdef STDC_HEADERS |
#ifdef STDC_HEADERS |
Line 1447 char *yytext;
|
Line 1970 char *yytext;
|
#ifdef HAVE_STRINGS_H |
#ifdef HAVE_STRINGS_H |
# include <strings.h> |
# include <strings.h> |
#endif /* HAVE_STRINGS_H */ |
#endif /* HAVE_STRINGS_H */ |
|
#if defined(HAVE_STDINT_H) |
|
# include <stdint.h> |
|
#elif defined(HAVE_INTTYPES_H) |
|
# include <inttypes.h> |
|
#endif |
#ifdef HAVE_UNISTD_H |
#ifdef HAVE_UNISTD_H |
# include <unistd.h> |
# include <unistd.h> |
#endif /* HAVE_UNISTD_H */ |
#endif /* HAVE_UNISTD_H */ |
Line 1475 char *yytext;
|
Line 2003 char *yytext;
|
#include "parse.h" |
#include "parse.h" |
#include "toke.h" |
#include "toke.h" |
#include <gram.h> |
#include <gram.h> |
|
#include "lbuf.h" |
|
#include "sha2.h" |
|
#include "secure_path.h" |
|
|
extern YYSTYPE yylval; | int sudolineno; /* current sudoers line number. */ |
extern int parse_error; | int last_token; /* last token that was parsed. */ |
int sudolineno; | char *sudoers; /* sudoers file being parsed. */ |
char *sudoers; | |
|
|
static int continued, prev_state, sawspace; | /* Default sudoers path, mode and owner (may be set via sudo.conf) */ |
| const char *sudoers_file = _PATH_SUDOERS; |
| mode_t sudoers_mode = SUDOERS_MODE; |
| uid_t sudoers_uid = SUDOERS_UID; |
| gid_t sudoers_gid = SUDOERS_GID; |
|
|
static int _push_include(char *, int); | static bool continued, sawspace; |
static int pop_include(void); | static int prev_state; |
| static int digest_len; |
| |
| static bool _push_include(char *, bool); |
| static bool pop_include(void); |
static char *parse_include(char *); |
static char *parse_include(char *); |
|
|
#ifdef TRACELEXER |
|
static int sudoers_trace_print(const char *msg); |
|
#else |
|
# define sudoers_trace_print NULL |
|
#endif |
|
int (*trace_print)(const char *msg) = sudoers_trace_print; |
int (*trace_print)(const char *msg) = sudoers_trace_print; |
|
|
#define push_include(_p) (_push_include((_p), FALSE)) | #define LEXRETURN(n) do { \ |
#define push_includedir(_p) (_push_include((_p), TRUE)) | last_token = (n); \ |
| return (n); \ |
| } while (0) |
| |
| #define ECHO ignore_result(fwrite(sudoerstext, sudoersleng, 1, sudoersout)) |
| |
| #define push_include(_p) (_push_include((_p), false)) |
| #define push_includedir(_p) (_push_include((_p), true)) |
#define YY_NO_INPUT 1 |
#define YY_NO_INPUT 1 |
#define YY_NO_UNPUT 1 |
#define YY_NO_UNPUT 1 |
#define GOTDEFS 1 |
#define GOTDEFS 1 |
Line 1508 int (*trace_print)(const char *msg) = sudoers_trace_pr
|
Line 2048 int (*trace_print)(const char *msg) = sudoers_trace_pr
|
|
|
#define INSTR 5 |
#define INSTR 5 |
|
|
#line 1511 "lex.yy.c" | #define WANTDIGEST 6 |
|
|
|
#line 2053 "lex.sudoers.c" |
|
|
/* Macros after this point can all be overridden by user definitions in |
/* Macros after this point can all be overridden by user definitions in |
* section 1. |
* section 1. |
*/ |
*/ |
Line 1662 YY_DECL
|
Line 2204 YY_DECL
|
register char *yy_cp, *yy_bp; |
register char *yy_cp, *yy_bp; |
register int yy_act; |
register int yy_act; |
|
|
#line 119 "toke.l" | #line 137 "toke.l" |
|
|
#line 1667 "lex.yy.c" | #line 2209 "lex.sudoers.c" |
|
|
if ( yy_init ) |
if ( yy_init ) |
{ |
{ |
Line 1716 yy_match:
|
Line 2258 yy_match:
|
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) |
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) |
{ |
{ |
yy_current_state = (int) yy_def[yy_current_state]; |
yy_current_state = (int) yy_def[yy_current_state]; |
if ( yy_current_state >= 607 ) | if ( yy_current_state >= 814 ) |
yy_c = yy_meta[(unsigned int) yy_c]; |
yy_c = yy_meta[(unsigned int) yy_c]; |
} |
} |
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; |
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; |
++yy_cp; |
++yy_cp; |
} |
} |
while ( yy_base[yy_current_state] != 3665 ); | while ( yy_base[yy_current_state] != 5604 ); |
|
|
yy_find_action: |
yy_find_action: |
yy_act = yy_accept[yy_current_state]; |
yy_act = yy_accept[yy_current_state]; |
Line 1750 do_action: /* This label is used only to access EOF ac
|
Line 2292 do_action: /* This label is used only to access EOF ac
|
|
|
case 1: |
case 1: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 120 "toke.l" | #line 138 "toke.l" |
{ |
{ |
LEXTRACE(", "); |
LEXTRACE(", "); |
return ','; | LEXRETURN(','); |
} /* return ',' */ |
} /* return ',' */ |
YY_BREAK |
YY_BREAK |
case 2: |
case 2: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 125 "toke.l" | #line 143 "toke.l" |
BEGIN STARTDEFS; |
BEGIN STARTDEFS; |
YY_BREAK |
YY_BREAK |
case 3: |
case 3: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 127 "toke.l" | #line 145 "toke.l" |
{ |
{ |
BEGIN INDEFS; |
BEGIN INDEFS; |
LEXTRACE("DEFVAR "); |
LEXTRACE("DEFVAR "); |
if (!fill(yytext, yyleng)) | if (!fill(sudoerstext, sudoersleng)) |
yyterminate(); |
yyterminate(); |
return DEFVAR; | LEXRETURN(DEFVAR); |
} |
} |
YY_BREAK |
YY_BREAK |
|
|
case 4: |
case 4: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 136 "toke.l" | #line 154 "toke.l" |
{ |
{ |
BEGIN STARTDEFS; |
BEGIN STARTDEFS; |
LEXTRACE(", "); |
LEXTRACE(", "); |
return ','; | LEXRETURN(','); |
} /* return ',' */ |
} /* return ',' */ |
YY_BREAK |
YY_BREAK |
case 5: |
case 5: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 142 "toke.l" | #line 160 "toke.l" |
{ |
{ |
LEXTRACE("= "); |
LEXTRACE("= "); |
return '='; | LEXRETURN('='); |
} /* return '=' */ |
} /* return '=' */ |
YY_BREAK |
YY_BREAK |
case 6: |
case 6: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 147 "toke.l" | #line 165 "toke.l" |
{ |
{ |
LEXTRACE("+= "); |
LEXTRACE("+= "); |
return '+'; | LEXRETURN('+'); |
} /* return '+' */ |
} /* return '+' */ |
YY_BREAK |
YY_BREAK |
case 7: |
case 7: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 152 "toke.l" | #line 170 "toke.l" |
{ |
{ |
LEXTRACE("-= "); |
LEXTRACE("-= "); |
return '-'; | LEXRETURN('-'); |
} /* return '-' */ |
} /* return '-' */ |
YY_BREAK |
YY_BREAK |
case 8: |
case 8: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 157 "toke.l" | #line 175 "toke.l" |
{ |
{ |
LEXTRACE("BEGINSTR "); |
LEXTRACE("BEGINSTR "); |
yylval.string = NULL; | sudoerslval.string = NULL; |
prev_state = YY_START; |
prev_state = YY_START; |
BEGIN INSTR; |
BEGIN INSTR; |
} |
} |
YY_BREAK |
YY_BREAK |
case 9: |
case 9: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 164 "toke.l" | #line 182 "toke.l" |
{ |
{ |
LEXTRACE("WORD(2) "); |
LEXTRACE("WORD(2) "); |
if (!fill(yytext, yyleng)) | if (!fill(sudoerstext, sudoersleng)) |
yyterminate(); |
yyterminate(); |
return WORD; | LEXRETURN(WORD); |
} |
} |
YY_BREAK |
YY_BREAK |
|
|
|
|
case 10: |
case 10: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 173 "toke.l" | #line 191 "toke.l" |
{ |
{ |
/* Line continuation char followed by newline. */ |
/* Line continuation char followed by newline. */ |
++sudolineno; | sudolineno++; |
continued = TRUE; | continued = true; |
} |
} |
YY_BREAK |
YY_BREAK |
case 11: |
case 11: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 179 "toke.l" | #line 197 "toke.l" |
{ |
{ |
LEXTRACE("ENDSTR "); |
LEXTRACE("ENDSTR "); |
BEGIN prev_state; |
BEGIN prev_state; |
|
|
if (yylval.string == NULL) { | if (sudoerslval.string == NULL) { |
LEXTRACE("ERROR "); /* empty string */ |
LEXTRACE("ERROR "); /* empty string */ |
return ERROR; | LEXRETURN(ERROR); |
} |
} |
if (prev_state == INITIAL) { |
if (prev_state == INITIAL) { |
switch (yylval.string[0]) { | switch (sudoerslval.string[0]) { |
case '%': |
case '%': |
if (yylval.string[1] == '\0' || | if (sudoerslval.string[1] == '\0' || |
(yylval.string[1] == ':' && | (sudoerslval.string[1] == ':' && |
yylval.string[2] == '\0')) { | sudoerslval.string[2] == '\0')) { |
LEXTRACE("ERROR "); /* empty group */ |
LEXTRACE("ERROR "); /* empty group */ |
return ERROR; | LEXRETURN(ERROR); |
} |
} |
LEXTRACE("USERGROUP "); |
LEXTRACE("USERGROUP "); |
return USERGROUP; | LEXRETURN(USERGROUP); |
case '+': |
case '+': |
if (yylval.string[1] == '\0') { | if (sudoerslval.string[1] == '\0') { |
LEXTRACE("ERROR "); /* empty netgroup */ |
LEXTRACE("ERROR "); /* empty netgroup */ |
return ERROR; | LEXRETURN(ERROR); |
} |
} |
LEXTRACE("NETGROUP "); |
LEXTRACE("NETGROUP "); |
return NETGROUP; | LEXRETURN(NETGROUP); |
} |
} |
} |
} |
LEXTRACE("WORD(4) "); |
LEXTRACE("WORD(4) "); |
return WORD; | LEXRETURN(WORD); |
} |
} |
YY_BREAK |
YY_BREAK |
case 12: |
case 12: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 211 "toke.l" | #line 229 "toke.l" |
{ |
{ |
LEXTRACE("BACKSLASH "); |
LEXTRACE("BACKSLASH "); |
if (!append(yytext, yyleng)) | if (!append(sudoerstext, sudoersleng)) |
yyterminate(); |
yyterminate(); |
} |
} |
YY_BREAK |
YY_BREAK |
case 13: |
case 13: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 217 "toke.l" | #line 235 "toke.l" |
{ |
{ |
LEXTRACE("STRBODY "); |
LEXTRACE("STRBODY "); |
if (!append(yytext, yyleng)) | if (!append(sudoerstext, sudoersleng)) |
yyterminate(); |
yyterminate(); |
} |
} |
YY_BREAK |
YY_BREAK |
Line 1894 YY_RULE_SETUP
|
Line 2436 YY_RULE_SETUP
|
|
|
case 14: |
case 14: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 225 "toke.l" | #line 243 "toke.l" |
{ |
{ |
/* quoted fnmatch glob char, pass verbatim */ |
/* quoted fnmatch glob char, pass verbatim */ |
LEXTRACE("QUOTEDCHAR "); |
LEXTRACE("QUOTEDCHAR "); |
if (!fill_args(yytext, 2, sawspace)) | if (!fill_args(sudoerstext, 2, sawspace)) |
yyterminate(); |
yyterminate(); |
sawspace = FALSE; | sawspace = false; |
} |
} |
YY_BREAK |
YY_BREAK |
case 15: |
case 15: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 233 "toke.l" | #line 251 "toke.l" |
{ |
{ |
/* quoted sudoers special char, strip backslash */ |
/* quoted sudoers special char, strip backslash */ |
LEXTRACE("QUOTEDCHAR "); |
LEXTRACE("QUOTEDCHAR "); |
if (!fill_args(yytext + 1, 1, sawspace)) | if (!fill_args(sudoerstext + 1, 1, sawspace)) |
yyterminate(); |
yyterminate(); |
sawspace = FALSE; | sawspace = false; |
} |
} |
YY_BREAK |
YY_BREAK |
case 16: |
case 16: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 241 "toke.l" | #line 259 "toke.l" |
{ |
{ |
BEGIN INITIAL; |
BEGIN INITIAL; |
yyless(0); |
yyless(0); |
return COMMAND; | LEXRETURN(COMMAND); |
} /* end of command line args */ |
} /* end of command line args */ |
YY_BREAK |
YY_BREAK |
case 17: |
case 17: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 247 "toke.l" | #line 265 "toke.l" |
{ |
{ |
LEXTRACE("ARG "); |
LEXTRACE("ARG "); |
if (!fill_args(yytext, yyleng, sawspace)) | if (!fill_args(sudoerstext, sudoersleng, sawspace)) |
yyterminate(); |
yyterminate(); |
sawspace = FALSE; | sawspace = false; |
} /* a command line arg */ |
} /* a command line arg */ |
YY_BREAK |
YY_BREAK |
|
|
case 18: |
case 18: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 255 "toke.l" | #line 273 "toke.l" |
{ |
{ |
|
/* Only return DIGEST if the length is correct. */ |
|
if (sudoersleng == digest_len * 2) { |
|
if (!fill(sudoerstext, sudoersleng)) |
|
yyterminate(); |
|
BEGIN INITIAL; |
|
LEXTRACE("DIGEST "); |
|
LEXRETURN(DIGEST); |
|
} |
|
BEGIN INITIAL; |
|
yyless(sudoersleng); |
|
} /* hex digest */ |
|
YY_BREAK |
|
case 19: |
|
YY_RULE_SETUP |
|
#line 286 "toke.l" |
|
{ |
|
/* Only return DIGEST if the length is correct. */ |
|
int len; |
|
if (sudoerstext[sudoersleng - 1] == '=') { |
|
/* use padding */ |
|
len = 4 * ((digest_len + 2) / 3); |
|
} else { |
|
/* no padding */ |
|
len = (4 * digest_len + 2) / 3; |
|
} |
|
if (sudoersleng == len) { |
|
if (!fill(sudoerstext, sudoersleng)) |
|
yyterminate(); |
|
BEGIN INITIAL; |
|
LEXTRACE("DIGEST "); |
|
LEXRETURN(DIGEST); |
|
} |
|
BEGIN INITIAL; |
|
yyless(sudoersleng); |
|
} /* base64 digest */ |
|
YY_BREAK |
|
case 20: |
|
YY_RULE_SETUP |
|
#line 307 "toke.l" |
|
{ |
char *path; |
char *path; |
|
|
if (continued) { |
if (continued) { |
LEXTRACE("ERROR "); |
LEXTRACE("ERROR "); |
return ERROR; | LEXRETURN(ERROR); |
} |
} |
|
|
if ((path = parse_include(yytext)) == NULL) | if ((path = parse_include(sudoerstext)) == NULL) |
yyterminate(); |
yyterminate(); |
|
|
LEXTRACE("INCLUDE\n"); |
LEXTRACE("INCLUDE\n"); |
Line 1955 YY_RULE_SETUP
|
Line 2537 YY_RULE_SETUP
|
yyterminate(); |
yyterminate(); |
} |
} |
YY_BREAK |
YY_BREAK |
case 19: | case 21: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 273 "toke.l" | #line 325 "toke.l" |
{ |
{ |
char *path; |
char *path; |
|
|
if (continued) { |
if (continued) { |
LEXTRACE("ERROR "); |
LEXTRACE("ERROR "); |
return ERROR; | LEXRETURN(ERROR); |
} |
} |
|
|
if ((path = parse_include(yytext)) == NULL) | if ((path = parse_include(sudoerstext)) == NULL) |
yyterminate(); |
yyterminate(); |
|
|
LEXTRACE("INCLUDEDIR\n"); |
LEXTRACE("INCLUDEDIR\n"); |
Line 1979 YY_RULE_SETUP
|
Line 2561 YY_RULE_SETUP
|
yyterminate(); |
yyterminate(); |
} |
} |
YY_BREAK |
YY_BREAK |
case 20: | case 22: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 294 "toke.l" | #line 346 "toke.l" |
{ |
{ |
char deftype; |
char deftype; |
int n; |
int n; |
|
|
if (continued) { |
if (continued) { |
LEXTRACE("ERROR "); |
LEXTRACE("ERROR "); |
return ERROR; | LEXRETURN(ERROR); |
} |
} |
|
|
for (n = 0; isblank((unsigned char)yytext[n]); n++) | for (n = 0; isblank((unsigned char)sudoerstext[n]); n++) |
continue; |
continue; |
n += sizeof("Defaults") - 1; |
n += sizeof("Defaults") - 1; |
if ((deftype = yytext[n++]) != '\0') { | if ((deftype = sudoerstext[n++]) != '\0') { |
while (isblank((unsigned char)yytext[n])) | while (isblank((unsigned char)sudoerstext[n])) |
n++; |
n++; |
} |
} |
BEGIN GOTDEFS; |
BEGIN GOTDEFS; |
Line 2003 YY_RULE_SETUP
|
Line 2585 YY_RULE_SETUP
|
case ':': |
case ':': |
yyless(n); |
yyless(n); |
LEXTRACE("DEFAULTS_USER "); |
LEXTRACE("DEFAULTS_USER "); |
return DEFAULTS_USER; | LEXRETURN(DEFAULTS_USER); |
case '>': |
case '>': |
yyless(n); |
yyless(n); |
LEXTRACE("DEFAULTS_RUNAS "); |
LEXTRACE("DEFAULTS_RUNAS "); |
return DEFAULTS_RUNAS; | LEXRETURN(DEFAULTS_RUNAS); |
case '@': |
case '@': |
yyless(n); |
yyless(n); |
LEXTRACE("DEFAULTS_HOST "); |
LEXTRACE("DEFAULTS_HOST "); |
return DEFAULTS_HOST; | LEXRETURN(DEFAULTS_HOST); |
case '!': |
case '!': |
yyless(n); |
yyless(n); |
LEXTRACE("DEFAULTS_CMND "); |
LEXTRACE("DEFAULTS_CMND "); |
return DEFAULTS_CMND; | LEXRETURN(DEFAULTS_CMND); |
default: |
default: |
LEXTRACE("DEFAULTS "); |
LEXTRACE("DEFAULTS "); |
return DEFAULTS; | LEXRETURN(DEFAULTS); |
} |
} |
} |
} |
YY_BREAK |
YY_BREAK |
case 21: | case 23: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 334 "toke.l" | #line 386 "toke.l" |
{ |
{ |
int n; |
int n; |
|
|
if (continued) { |
if (continued) { |
LEXTRACE("ERROR "); |
LEXTRACE("ERROR "); |
return ERROR; | LEXRETURN(ERROR); |
} |
} |
|
|
for (n = 0; isblank((unsigned char)yytext[n]); n++) | for (n = 0; isblank((unsigned char)sudoerstext[n]); n++) |
continue; |
continue; |
switch (yytext[n]) { | switch (sudoerstext[n]) { |
case 'H': |
case 'H': |
LEXTRACE("HOSTALIAS "); |
LEXTRACE("HOSTALIAS "); |
return HOSTALIAS; | LEXRETURN(HOSTALIAS); |
case 'C': |
case 'C': |
LEXTRACE("CMNDALIAS "); |
LEXTRACE("CMNDALIAS "); |
return CMNDALIAS; | LEXRETURN(CMNDALIAS); |
case 'U': |
case 'U': |
LEXTRACE("USERALIAS "); |
LEXTRACE("USERALIAS "); |
return USERALIAS; | LEXRETURN(USERALIAS); |
case 'R': |
case 'R': |
LEXTRACE("RUNASALIAS "); |
LEXTRACE("RUNASALIAS "); |
return RUNASALIAS; | LEXRETURN(RUNASALIAS); |
} |
} |
} |
} |
YY_BREAK |
YY_BREAK |
case 22: | case 24: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 360 "toke.l" | #line 412 "toke.l" |
{ |
{ |
/* cmnd does not require passwd for this user */ |
/* cmnd does not require passwd for this user */ |
LEXTRACE("NOPASSWD "); |
LEXTRACE("NOPASSWD "); |
return NOPASSWD; | LEXRETURN(NOPASSWD); |
} |
} |
YY_BREAK |
YY_BREAK |
case 23: | case 25: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 366 "toke.l" | #line 418 "toke.l" |
{ |
{ |
/* cmnd requires passwd for this user */ |
/* cmnd requires passwd for this user */ |
LEXTRACE("PASSWD "); |
LEXTRACE("PASSWD "); |
return PASSWD; | LEXRETURN(PASSWD); |
} |
} |
YY_BREAK |
YY_BREAK |
case 24: | case 26: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 372 "toke.l" | #line 424 "toke.l" |
{ |
{ |
LEXTRACE("NOEXEC "); |
LEXTRACE("NOEXEC "); |
return NOEXEC; | LEXRETURN(NOEXEC); |
} |
} |
YY_BREAK |
YY_BREAK |
case 25: | case 27: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 377 "toke.l" | #line 429 "toke.l" |
{ |
{ |
LEXTRACE("EXEC "); |
LEXTRACE("EXEC "); |
return EXEC; | LEXRETURN(EXEC); |
} |
} |
YY_BREAK |
YY_BREAK |
case 26: | case 28: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 382 "toke.l" | #line 434 "toke.l" |
{ |
{ |
LEXTRACE("SETENV "); |
LEXTRACE("SETENV "); |
return SETENV; | LEXRETURN(SETENV); |
} |
} |
YY_BREAK |
YY_BREAK |
case 27: | case 29: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 387 "toke.l" | #line 439 "toke.l" |
{ |
{ |
LEXTRACE("NOSETENV "); |
LEXTRACE("NOSETENV "); |
return NOSETENV; | LEXRETURN(NOSETENV); |
} |
} |
YY_BREAK |
YY_BREAK |
case 28: | case 30: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 392 "toke.l" | #line 444 "toke.l" |
{ |
{ |
LEXTRACE("LOG_OUTPUT "); |
LEXTRACE("LOG_OUTPUT "); |
return LOG_OUTPUT; | LEXRETURN(LOG_OUTPUT); |
} |
} |
YY_BREAK |
YY_BREAK |
case 29: | case 31: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 397 "toke.l" | #line 449 "toke.l" |
{ |
{ |
LEXTRACE("NOLOG_OUTPUT "); |
LEXTRACE("NOLOG_OUTPUT "); |
return NOLOG_OUTPUT; | LEXRETURN(NOLOG_OUTPUT); |
} |
} |
YY_BREAK |
YY_BREAK |
case 30: | case 32: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 402 "toke.l" | #line 454 "toke.l" |
{ |
{ |
LEXTRACE("LOG_INPUT "); |
LEXTRACE("LOG_INPUT "); |
return LOG_INPUT; | LEXRETURN(LOG_INPUT); |
} |
} |
YY_BREAK |
YY_BREAK |
case 31: | case 33: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 407 "toke.l" | #line 459 "toke.l" |
{ |
{ |
LEXTRACE("NOLOG_INPUT "); |
LEXTRACE("NOLOG_INPUT "); |
return NOLOG_INPUT; | LEXRETURN(NOLOG_INPUT); |
} |
} |
YY_BREAK |
YY_BREAK |
case 32: | case 34: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 412 "toke.l" | #line 464 "toke.l" |
{ |
{ |
/* empty group or netgroup */ |
/* empty group or netgroup */ |
LEXTRACE("ERROR "); |
LEXTRACE("ERROR "); |
return ERROR; | LEXRETURN(ERROR); |
} |
} |
YY_BREAK |
YY_BREAK |
case 33: | case 35: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 418 "toke.l" | #line 470 "toke.l" |
{ |
{ |
/* netgroup */ |
/* netgroup */ |
if (!fill(yytext, yyleng)) | if (!fill(sudoerstext, sudoersleng)) |
yyterminate(); |
yyterminate(); |
LEXTRACE("NETGROUP "); |
LEXTRACE("NETGROUP "); |
return NETGROUP; | LEXRETURN(NETGROUP); |
} |
} |
YY_BREAK |
YY_BREAK |
case 34: | case 36: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 426 "toke.l" | #line 478 "toke.l" |
{ |
{ |
/* group */ |
/* group */ |
if (!fill(yytext, yyleng)) | if (!fill(sudoerstext, sudoersleng)) |
yyterminate(); |
yyterminate(); |
LEXTRACE("USERGROUP "); |
LEXTRACE("USERGROUP "); |
return USERGROUP; | LEXRETURN(USERGROUP); |
} |
} |
YY_BREAK |
YY_BREAK |
case 35: | case 37: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 434 "toke.l" | #line 486 "toke.l" |
{ |
{ |
if (!fill(yytext, yyleng)) | if (!fill(sudoerstext, sudoersleng)) |
yyterminate(); |
yyterminate(); |
LEXTRACE("NTWKADDR "); |
LEXTRACE("NTWKADDR "); |
return NTWKADDR; | LEXRETURN(NTWKADDR); |
} |
} |
YY_BREAK |
YY_BREAK |
case 36: | case 38: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 441 "toke.l" | #line 493 "toke.l" |
{ |
{ |
if (!fill(yytext, yyleng)) | if (!fill(sudoerstext, sudoersleng)) |
yyterminate(); |
yyterminate(); |
LEXTRACE("NTWKADDR "); |
LEXTRACE("NTWKADDR "); |
return NTWKADDR; | LEXRETURN(NTWKADDR); |
} |
} |
YY_BREAK |
YY_BREAK |
case 37: | case 39: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 448 "toke.l" | #line 500 "toke.l" |
{ |
{ |
if (!ipv6_valid(yytext)) { | if (!ipv6_valid(sudoerstext)) { |
LEXTRACE("ERROR "); |
LEXTRACE("ERROR "); |
return ERROR; | LEXRETURN(ERROR); |
} |
} |
if (!fill(yytext, yyleng)) | if (!fill(sudoerstext, sudoersleng)) |
yyterminate(); |
yyterminate(); |
LEXTRACE("NTWKADDR "); |
LEXTRACE("NTWKADDR "); |
return NTWKADDR; | LEXRETURN(NTWKADDR); |
} |
} |
YY_BREAK |
YY_BREAK |
case 38: | case 40: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 459 "toke.l" | #line 511 "toke.l" |
{ |
{ |
if (!ipv6_valid(yytext)) { | if (!ipv6_valid(sudoerstext)) { |
LEXTRACE("ERROR "); |
LEXTRACE("ERROR "); |
return ERROR; | LEXRETURN(ERROR); |
} |
} |
if (!fill(yytext, yyleng)) | if (!fill(sudoerstext, sudoersleng)) |
yyterminate(); |
yyterminate(); |
LEXTRACE("NTWKADDR "); |
LEXTRACE("NTWKADDR "); |
return NTWKADDR; | LEXRETURN(NTWKADDR); |
} |
} |
YY_BREAK |
YY_BREAK |
case 39: | case 41: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 470 "toke.l" | #line 522 "toke.l" |
{ |
{ |
LEXTRACE("ALL "); |
LEXTRACE("ALL "); |
return ALL; | LEXRETURN(ALL); |
|
|
} |
} |
YY_BREAK |
YY_BREAK |
case 40: | case 42: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 476 "toke.l" | #line 528 "toke.l" |
{ |
{ |
#ifdef HAVE_SELINUX |
#ifdef HAVE_SELINUX |
LEXTRACE("ROLE "); |
LEXTRACE("ROLE "); |
return ROLE; | LEXRETURN(ROLE); |
#else |
#else |
goto got_alias; |
goto got_alias; |
#endif |
#endif |
} |
} |
YY_BREAK |
YY_BREAK |
case 41: | case 43: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 485 "toke.l" | #line 537 "toke.l" |
{ |
{ |
#ifdef HAVE_SELINUX |
#ifdef HAVE_SELINUX |
LEXTRACE("TYPE "); |
LEXTRACE("TYPE "); |
return TYPE; | LEXRETURN(TYPE); |
#else |
#else |
goto got_alias; |
goto got_alias; |
#endif |
#endif |
} |
} |
YY_BREAK |
YY_BREAK |
case 42: | case 44: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 494 "toke.l" | #line 545 "toke.l" |
{ |
{ |
#ifndef HAVE_SELINUX | #ifdef HAVE_PRIV_SET |
got_alias: | LEXTRACE("PRIVS "); |
| LEXRETURN(PRIVS); |
| #else |
| goto got_alias; |
#endif |
#endif |
if (!fill(yytext, yyleng)) | } |
| YY_BREAK |
| case 45: |
| YY_RULE_SETUP |
| #line 554 "toke.l" |
| { |
| #ifdef HAVE_PRIV_SET |
| LEXTRACE("LIMITPRIVS "); |
| LEXRETURN(LIMITPRIVS); |
| #else |
| goto got_alias; |
| #endif |
| } |
| YY_BREAK |
| case 46: |
| YY_RULE_SETUP |
| #line 563 "toke.l" |
| { |
| got_alias: |
| if (!fill(sudoerstext, sudoersleng)) |
yyterminate(); |
yyterminate(); |
LEXTRACE("ALIAS "); |
LEXTRACE("ALIAS "); |
return ALIAS; | LEXRETURN(ALIAS); |
} |
} |
YY_BREAK |
YY_BREAK |
case 43: | case 47: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 504 "toke.l" | #line 571 "toke.l" |
{ |
{ |
|
/* XXX - no way to specify digest for command */ |
/* no command args allowed for Defaults!/path */ |
/* no command args allowed for Defaults!/path */ |
if (!fill_cmnd(yytext, yyleng)) | if (!fill_cmnd(sudoerstext, sudoersleng)) |
yyterminate(); |
yyterminate(); |
LEXTRACE("COMMAND "); |
LEXTRACE("COMMAND "); |
return COMMAND; | LEXRETURN(COMMAND); |
} |
} |
YY_BREAK |
YY_BREAK |
case 44: | case 48: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 512 "toke.l" | #line 580 "toke.l" |
{ |
{ |
|
digest_len = SHA224_DIGEST_LENGTH; |
|
BEGIN WANTDIGEST; |
|
LEXTRACE("SHA224 "); |
|
LEXRETURN(SHA224); |
|
} |
|
YY_BREAK |
|
case 49: |
|
YY_RULE_SETUP |
|
#line 587 "toke.l" |
|
{ |
|
digest_len = SHA256_DIGEST_LENGTH; |
|
BEGIN WANTDIGEST; |
|
LEXTRACE("SHA256 "); |
|
LEXRETURN(SHA256); |
|
} |
|
YY_BREAK |
|
case 50: |
|
YY_RULE_SETUP |
|
#line 594 "toke.l" |
|
{ |
|
digest_len = SHA384_DIGEST_LENGTH; |
|
BEGIN WANTDIGEST; |
|
LEXTRACE("SHA384 "); |
|
LEXRETURN(SHA384); |
|
} |
|
YY_BREAK |
|
case 51: |
|
YY_RULE_SETUP |
|
#line 601 "toke.l" |
|
{ |
|
digest_len = SHA512_DIGEST_LENGTH; |
|
BEGIN WANTDIGEST; |
|
LEXTRACE("SHA512 "); |
|
LEXRETURN(SHA512); |
|
} |
|
YY_BREAK |
|
case 52: |
|
YY_RULE_SETUP |
|
#line 608 "toke.l" |
|
{ |
BEGIN GOTCMND; |
BEGIN GOTCMND; |
LEXTRACE("COMMAND "); |
LEXTRACE("COMMAND "); |
if (!fill_cmnd(yytext, yyleng)) | if (!fill_cmnd(sudoerstext, sudoersleng)) |
yyterminate(); |
yyterminate(); |
} /* sudo -e */ |
} /* sudo -e */ |
YY_BREAK |
YY_BREAK |
case 45: | case 53: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 519 "toke.l" | #line 615 "toke.l" |
{ |
{ |
/* directories can't have args... */ |
/* directories can't have args... */ |
if (yytext[yyleng - 1] == '/') { | if (sudoerstext[sudoersleng - 1] == '/') { |
LEXTRACE("COMMAND "); |
LEXTRACE("COMMAND "); |
if (!fill_cmnd(yytext, yyleng)) | if (!fill_cmnd(sudoerstext, sudoersleng)) |
yyterminate(); |
yyterminate(); |
return COMMAND; | LEXRETURN(COMMAND); |
} else { |
} else { |
BEGIN GOTCMND; |
BEGIN GOTCMND; |
LEXTRACE("COMMAND "); |
LEXTRACE("COMMAND "); |
if (!fill_cmnd(yytext, yyleng)) | if (!fill_cmnd(sudoerstext, sudoersleng)) |
yyterminate(); |
yyterminate(); |
} |
} |
} /* a pathname */ |
} /* a pathname */ |
YY_BREAK |
YY_BREAK |
case 46: | case 54: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 534 "toke.l" | #line 630 "toke.l" |
{ |
{ |
LEXTRACE("BEGINSTR "); |
LEXTRACE("BEGINSTR "); |
yylval.string = NULL; | sudoerslval.string = NULL; |
prev_state = YY_START; |
prev_state = YY_START; |
BEGIN INSTR; |
BEGIN INSTR; |
} |
} |
YY_BREAK |
YY_BREAK |
case 47: | case 55: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 541 "toke.l" | #line 637 "toke.l" |
{ |
{ |
/* a word */ |
/* a word */ |
if (!fill(yytext, yyleng)) | if (!fill(sudoerstext, sudoersleng)) |
yyterminate(); |
yyterminate(); |
LEXTRACE("WORD(5) "); |
LEXTRACE("WORD(5) "); |
return WORD; | LEXRETURN(WORD); |
} |
} |
YY_BREAK |
YY_BREAK |
case 48: | case 56: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 549 "toke.l" | #line 645 "toke.l" |
{ |
{ |
LEXTRACE("( "); |
LEXTRACE("( "); |
return '('; | LEXRETURN('('); |
} |
} |
YY_BREAK |
YY_BREAK |
case 49: | case 57: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 554 "toke.l" | #line 650 "toke.l" |
{ |
{ |
LEXTRACE(") "); |
LEXTRACE(") "); |
return ')'; | LEXRETURN(')'); |
} |
} |
YY_BREAK |
YY_BREAK |
case 50: | case 58: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 559 "toke.l" | #line 655 "toke.l" |
{ |
{ |
LEXTRACE(", "); |
LEXTRACE(", "); |
return ','; | LEXRETURN(','); |
} /* return ',' */ |
} /* return ',' */ |
YY_BREAK |
YY_BREAK |
case 51: | case 59: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 564 "toke.l" | #line 660 "toke.l" |
{ |
{ |
LEXTRACE("= "); |
LEXTRACE("= "); |
return '='; | LEXRETURN('='); |
} /* return '=' */ |
} /* return '=' */ |
YY_BREAK |
YY_BREAK |
case 52: | case 60: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 569 "toke.l" | #line 665 "toke.l" |
{ |
{ |
LEXTRACE(": "); |
LEXTRACE(": "); |
return ':'; | LEXRETURN(':'); |
} /* return ':' */ |
} /* return ':' */ |
YY_BREAK |
YY_BREAK |
case 53: | case 61: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 574 "toke.l" | #line 670 "toke.l" |
{ |
{ |
if (yyleng & 1) { | if (sudoersleng & 1) { |
LEXTRACE("!"); |
LEXTRACE("!"); |
return '!'; /* return '!' */ | LEXRETURN('!'); /* return '!' */ |
} |
} |
} |
} |
YY_BREAK |
YY_BREAK |
case 54: | case 62: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 581 "toke.l" | #line 677 "toke.l" |
{ |
{ |
if (YY_START == INSTR) { |
if (YY_START == INSTR) { |
LEXTRACE("ERROR "); |
LEXTRACE("ERROR "); |
return ERROR; /* line break in string */ | LEXRETURN(ERROR); /* line break in string */ |
} |
} |
BEGIN INITIAL; |
BEGIN INITIAL; |
++sudolineno; | sudolineno++; |
continued = FALSE; | continued = false; |
LEXTRACE("\n"); |
LEXTRACE("\n"); |
return COMMENT; | LEXRETURN(COMMENT); |
} /* return newline */ |
} /* return newline */ |
YY_BREAK |
YY_BREAK |
case 55: | case 63: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 593 "toke.l" | #line 689 "toke.l" |
{ /* throw away space/tabs */ |
{ /* throw away space/tabs */ |
sawspace = TRUE; /* but remember for fill_args */ | sawspace = true; /* but remember for fill_args */ |
} |
} |
YY_BREAK |
YY_BREAK |
case 56: | case 64: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 597 "toke.l" | #line 693 "toke.l" |
{ |
{ |
sawspace = TRUE; /* remember for fill_args */ | sawspace = true; /* remember for fill_args */ |
++sudolineno; | sudolineno++; |
continued = TRUE; | continued = true; |
} /* throw away EOL after \ */ |
} /* throw away EOL after \ */ |
YY_BREAK |
YY_BREAK |
case 57: | case 65: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 603 "toke.l" | #line 699 "toke.l" |
{ |
{ |
BEGIN INITIAL; | if (sudoerstext[sudoersleng - 1] == '\n') { |
++sudolineno; | /* comment ending in a newline */ |
continued = FALSE; | BEGIN INITIAL; |
| sudolineno++; |
| continued = false; |
| } else if (!feof(yyin)) { |
| LEXTRACE("ERROR "); |
| LEXRETURN(ERROR); |
| } |
LEXTRACE("#\n"); |
LEXTRACE("#\n"); |
return COMMENT; | LEXRETURN(COMMENT); |
} /* comment, not uid/gid */ |
} /* comment, not uid/gid */ |
YY_BREAK |
YY_BREAK |
case 58: | case 66: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 611 "toke.l" | #line 713 "toke.l" |
{ |
{ |
LEXTRACE("ERROR "); |
LEXTRACE("ERROR "); |
return ERROR; | LEXRETURN(ERROR); |
} /* parse error */ |
} /* parse error */ |
YY_BREAK |
YY_BREAK |
case YY_STATE_EOF(INITIAL): |
case YY_STATE_EOF(INITIAL): |
Line 2424 case YY_STATE_EOF(GOTCMND):
|
Line 3075 case YY_STATE_EOF(GOTCMND):
|
case YY_STATE_EOF(STARTDEFS): |
case YY_STATE_EOF(STARTDEFS): |
case YY_STATE_EOF(INDEFS): |
case YY_STATE_EOF(INDEFS): |
case YY_STATE_EOF(INSTR): |
case YY_STATE_EOF(INSTR): |
#line 616 "toke.l" | case YY_STATE_EOF(WANTDIGEST): |
| #line 718 "toke.l" |
{ |
{ |
if (YY_START != INITIAL) { |
if (YY_START != INITIAL) { |
BEGIN INITIAL; |
BEGIN INITIAL; |
LEXTRACE("ERROR "); |
LEXTRACE("ERROR "); |
return ERROR; | LEXRETURN(ERROR); |
} |
} |
if (!pop_include()) |
if (!pop_include()) |
yyterminate(); |
yyterminate(); |
} |
} |
YY_BREAK |
YY_BREAK |
case 59: | case 67: |
YY_RULE_SETUP |
YY_RULE_SETUP |
#line 626 "toke.l" | #line 728 "toke.l" |
ECHO; |
ECHO; |
YY_BREAK |
YY_BREAK |
#line 2443 "lex.yy.c" | #line 3095 "lex.sudoers.c" |
|
|
case YY_END_OF_BUFFER: |
case YY_END_OF_BUFFER: |
{ |
{ |
Line 2580 ECHO;
|
Line 3232 ECHO;
|
* EOB_ACT_END_OF_FILE - end of file |
* EOB_ACT_END_OF_FILE - end of file |
*/ |
*/ |
|
|
static int yy_get_next_buffer() | static int yy_get_next_buffer YY_PROTO(( void )) |
{ |
{ |
register char *dest = yy_current_buffer->yy_ch_buf; |
register char *dest = yy_current_buffer->yy_ch_buf; |
register char *source = yytext_ptr; |
register char *source = yytext_ptr; |
Line 2712 static int yy_get_next_buffer()
|
Line 3364 static int yy_get_next_buffer()
|
|
|
/* yy_get_previous_state - get the state just before the EOB char was reached */ |
/* yy_get_previous_state - get the state just before the EOB char was reached */ |
|
|
static yy_state_type yy_get_previous_state() | static yy_state_type yy_get_previous_state YY_PROTO(( void )) |
{ |
{ |
register yy_state_type yy_current_state; |
register yy_state_type yy_current_state; |
register char *yy_cp; |
register char *yy_cp; |
Line 2731 static yy_state_type yy_get_previous_state()
|
Line 3383 static yy_state_type yy_get_previous_state()
|
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) |
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) |
{ |
{ |
yy_current_state = (int) yy_def[yy_current_state]; |
yy_current_state = (int) yy_def[yy_current_state]; |
if ( yy_current_state >= 607 ) | if ( yy_current_state >= 814 ) |
yy_c = yy_meta[(unsigned int) yy_c]; |
yy_c = yy_meta[(unsigned int) yy_c]; |
} |
} |
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; |
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; |
Line 2766 yy_state_type yy_current_state;
|
Line 3418 yy_state_type yy_current_state;
|
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) |
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) |
{ |
{ |
yy_current_state = (int) yy_def[yy_current_state]; |
yy_current_state = (int) yy_def[yy_current_state]; |
if ( yy_current_state >= 607 ) | if ( yy_current_state >= 814 ) |
yy_c = yy_meta[(unsigned int) yy_c]; |
yy_c = yy_meta[(unsigned int) yy_c]; |
} |
} |
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; |
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; |
yy_is_jam = (yy_current_state == 606); | yy_is_jam = (yy_current_state == 813); |
|
|
return yy_is_jam ? 0 : yy_current_state; |
return yy_is_jam ? 0 : yy_current_state; |
} |
} |
Line 2823 register char *yy_bp;
|
Line 3475 register char *yy_bp;
|
|
|
#ifndef YY_NO_INPUT |
#ifndef YY_NO_INPUT |
#ifdef __cplusplus |
#ifdef __cplusplus |
static int yyinput() | static int yyinput YY_PROTO(( void )) |
#else |
#else |
static int input() | static int input YY_PROTO(( void )) |
#endif |
#endif |
{ |
{ |
int c; |
int c; |
Line 3201 int new_state;
|
Line 3853 int new_state;
|
|
|
|
|
#ifndef YY_NO_POP_STATE |
#ifndef YY_NO_POP_STATE |
static void yy_pop_state() | static void yy_pop_state YY_PROTO(( void )) |
{ |
{ |
if ( --yy_start_stack_ptr < 0 ) |
if ( --yy_start_stack_ptr < 0 ) |
YY_FATAL_ERROR( "start-condition stack underflow" ); |
YY_FATAL_ERROR( "start-condition stack underflow" ); |
Line 3212 static void yy_pop_state()
|
Line 3864 static void yy_pop_state()
|
|
|
|
|
#ifndef YY_NO_TOP_STATE |
#ifndef YY_NO_TOP_STATE |
static int yy_top_state() | static int yy_top_state YY_PROTO(( void )) |
{ |
{ |
return yy_start_stack[yy_start_stack_ptr - 1]; |
return yy_start_stack[yy_start_stack_ptr - 1]; |
} |
} |
Line 3331 int main()
|
Line 3983 int main()
|
return 0; |
return 0; |
} |
} |
#endif |
#endif |
#line 626 "toke.l" | #line 728 "toke.l" |
|
|
struct path_list { |
struct path_list { |
|
SLIST_ENTRY(path_list) entries; |
char *path; |
char *path; |
struct path_list *next; |
|
}; |
}; |
|
|
|
SLIST_HEAD(path_list_head, path_list); |
|
|
struct include_stack { |
struct include_stack { |
YY_BUFFER_STATE bs; |
YY_BUFFER_STATE bs; |
char *path; |
char *path; |
struct path_list *more; /* more files in case of includedir */ | struct path_list_head more; /* more files in case of includedir */ |
int lineno; |
int lineno; |
int keepopen; | bool keepopen; |
}; |
}; |
|
|
|
/* |
|
* Compare two struct path_list structs in reverse order. |
|
*/ |
static int |
static int |
pl_compare(const void *v1, const void *v2) |
pl_compare(const void *v1, const void *v2) |
{ |
{ |
const struct path_list * const *p1 = v1; |
const struct path_list * const *p1 = v1; |
const struct path_list * const *p2 = v2; |
const struct path_list * const *p2 = v2; |
|
|
return strcmp((*p1)->path, (*p2)->path); | return strcmp((*p2)->path, (*p1)->path); |
} |
} |
|
|
static char * |
static char * |
switch_dir(struct include_stack *stack, char *dirpath) |
switch_dir(struct include_stack *stack, char *dirpath) |
{ |
{ |
DIR *dir; |
DIR *dir; |
int i, count = 0; | unsigned int i, count = 0; |
| unsigned int max_paths = 32; |
char *path = NULL; |
char *path = NULL; |
struct dirent *dent; |
struct dirent *dent; |
struct stat sb; |
struct stat sb; |
struct path_list *pl, *first = NULL; | struct path_list *pl, **paths = NULL; |
struct path_list **sorted = NULL; | debug_decl(switch_dir, SUDO_DEBUG_PARSER) |
|
|
if (!(dir = opendir(dirpath))) { |
if (!(dir = opendir(dirpath))) { |
if (errno != ENOENT) { |
if (errno != ENOENT) { |
char *errbuf; | warning("%s", dirpath); |
if (asprintf(&errbuf, _("%s: %s"), dirpath, strerror(errno)) != -1) { | sudoerserror(NULL); |
yyerror(errbuf); | |
free(errbuf); | |
} else { | |
yyerror(_("unable to allocate memory")); | |
} | |
} |
} |
goto done; |
goto done; |
} |
} |
|
paths = malloc(sizeof(*paths) * max_paths); |
|
if (paths == NULL) { |
|
closedir(dir); |
|
goto bad; |
|
} |
while ((dent = readdir(dir))) { |
while ((dent = readdir(dir))) { |
/* Ignore files that end in '~' or have a '.' in them. */ |
/* Ignore files that end in '~' or have a '.' in them. */ |
if (dent->d_name[0] == '\0' || dent->d_name[NAMLEN(dent) - 1] == '~' |
if (dent->d_name[0] == '\0' || dent->d_name[NAMLEN(dent) - 1] == '~' |
Line 3397 switch_dir(struct include_stack *stack, char *dirpath)
|
Line 4055 switch_dir(struct include_stack *stack, char *dirpath)
|
if (pl == NULL) |
if (pl == NULL) |
goto bad; |
goto bad; |
pl->path = path; |
pl->path = path; |
pl->next = first; | if (count >= max_paths) { |
first = pl; | struct path_list **tmp; |
count++; | max_paths <<= 1; |
| tmp = realloc(paths, sizeof(*paths) * max_paths); |
| if (tmp == NULL) { |
| closedir(dir); |
| goto bad; |
| } |
| paths = tmp; |
| } |
| paths[count++] = pl; |
| path = NULL; |
} |
} |
closedir(dir); |
closedir(dir); |
|
|
if (count == 0) |
if (count == 0) |
goto done; |
goto done; |
|
|
/* Sort the list as an array. */ | /* Sort the list as an array in reverse order. */ |
sorted = malloc(sizeof(*sorted) * count); | qsort(paths, count, sizeof(*paths), pl_compare); |
if (sorted == NULL) | |
goto bad; | /* Build up the list in sorted order. */ |
pl = first; | |
for (i = 0; i < count; i++) { |
for (i = 0; i < count; i++) { |
sorted[i] = pl; | SLIST_INSERT_HEAD(&stack->more, paths[i], entries); |
pl = pl->next; | |
} |
} |
qsort(sorted, count, sizeof(*sorted), pl_compare); |
|
|
|
/* Apply sorting to the list. */ |
|
first = sorted[0]; |
|
sorted[count - 1]->next = NULL; |
|
for (i = 1; i < count; i++) |
|
sorted[i - 1]->next = sorted[i]; |
|
efree(sorted); |
|
|
|
/* Pull out the first element for parsing, leave the rest for later. */ |
/* Pull out the first element for parsing, leave the rest for later. */ |
if (count) { | pl = SLIST_FIRST(&stack->more); |
path = first->path; | SLIST_REMOVE_HEAD(&stack->more, entries); |
pl = first->next; | path = pl->path; |
efree(first); | efree(pl); |
stack->more = pl; | |
} else { | |
path = NULL; | |
} | |
done: |
done: |
|
efree(paths); |
efree(dirpath); |
efree(dirpath); |
return path; | debug_return_str(path); |
bad: |
bad: |
while (first != NULL) { | for (i = 0; i < count; i++) { |
pl = first; | efree(paths[i]->path); |
first = pl->next; | efree(paths[i]); |
free(pl->path); | |
free(pl); | |
} |
} |
efree(sorted); | efree(paths); |
efree(dirpath); |
efree(dirpath); |
efree(path); |
efree(path); |
return NULL; | debug_return_str(NULL); |
} |
} |
|
|
#define MAX_SUDOERS_DEPTH 128 |
#define MAX_SUDOERS_DEPTH 128 |
Line 3454 bad:
|
Line 4106 bad:
|
|
|
static size_t istacksize, idepth; |
static size_t istacksize, idepth; |
static struct include_stack *istack; |
static struct include_stack *istack; |
static int keepopen; | static bool keepopen; |
|
|
void |
void |
init_lexer(void) |
init_lexer(void) |
{ |
{ |
struct path_list *pl; |
struct path_list *pl; |
|
debug_decl(init_lexer, SUDO_DEBUG_PARSER) |
|
|
while (idepth) { |
while (idepth) { |
idepth--; |
idepth--; |
while ((pl = istack[idepth].more) != NULL) { | while ((pl = SLIST_FIRST(&istack[idepth].more)) != NULL) { |
istack[idepth].more = pl->next; | SLIST_REMOVE_HEAD(&istack[idepth].more, entries); |
efree(pl->path); |
efree(pl->path); |
efree(pl); |
efree(pl); |
} |
} |
efree(istack[idepth].path); |
efree(istack[idepth].path); |
if (idepth && !istack[idepth].keepopen) |
if (idepth && !istack[idepth].keepopen) |
fclose(istack[idepth].bs->yy_input_file); |
fclose(istack[idepth].bs->yy_input_file); |
yy_delete_buffer(istack[idepth].bs); | sudoers_delete_buffer(istack[idepth].bs); |
} |
} |
efree(istack); |
efree(istack); |
istack = NULL; |
istack = NULL; |
istacksize = idepth = 0; |
istacksize = idepth = 0; |
sudolineno = 1; |
sudolineno = 1; |
keepopen = FALSE; | keepopen = false; |
sawspace = FALSE; | sawspace = false; |
continued = FALSE; | continued = false; |
prev_state = INITIAL; |
prev_state = INITIAL; |
|
|
|
debug_return; |
} |
} |
|
|
static int | static bool |
_push_include(char *path, int isdir) | _push_include(char *path, bool isdir) |
{ |
{ |
struct path_list *pl; |
struct path_list *pl; |
FILE *fp; |
FILE *fp; |
|
debug_decl(_push_include, SUDO_DEBUG_PARSER) |
|
|
/* push current state onto stack */ |
/* push current state onto stack */ |
if (idepth >= istacksize) { |
if (idepth >= istacksize) { |
|
struct include_stack *new_istack; |
|
|
if (idepth > MAX_SUDOERS_DEPTH) { |
if (idepth > MAX_SUDOERS_DEPTH) { |
yyerror(_("too many levels of includes")); | sudoerserror(N_("too many levels of includes")); |
return FALSE; | debug_return_bool(false); |
} |
} |
istacksize += SUDOERS_STACK_INCREMENT; |
istacksize += SUDOERS_STACK_INCREMENT; |
istack = (struct include_stack *) realloc(istack, | new_istack = (struct include_stack *) realloc(istack, |
sizeof(*istack) * istacksize); |
sizeof(*istack) * istacksize); |
if (istack == NULL) { | if (new_istack == NULL) { |
yyerror(_("unable to allocate memory")); | warning(NULL); |
return FALSE; | sudoerserror(NULL); |
| debug_return_bool(false); |
} |
} |
|
istack = new_istack; |
} |
} |
|
SLIST_INIT(&istack[idepth].more); |
if (isdir) { |
if (isdir) { |
|
struct stat sb; |
|
switch (sudo_secure_dir(path, sudoers_uid, sudoers_gid, &sb)) { |
|
case SUDO_PATH_SECURE: |
|
break; |
|
case SUDO_PATH_MISSING: |
|
debug_return_bool(false); |
|
case SUDO_PATH_BAD_TYPE: |
|
errno = ENOTDIR; |
|
if (sudoers_warnings) { |
|
warning("%s", path); |
|
} |
|
debug_return_bool(false); |
|
case SUDO_PATH_WRONG_OWNER: |
|
if (sudoers_warnings) { |
|
warningx(U_("%s is owned by uid %u, should be %u"), |
|
path, (unsigned int) sb.st_uid, |
|
(unsigned int) sudoers_uid); |
|
} |
|
debug_return_bool(false); |
|
case SUDO_PATH_WORLD_WRITABLE: |
|
if (sudoers_warnings) { |
|
warningx(U_("%s is world writable"), path); |
|
} |
|
debug_return_bool(false); |
|
case SUDO_PATH_GROUP_WRITABLE: |
|
if (sudoers_warnings) { |
|
warningx(U_("%s is owned by gid %u, should be %u"), |
|
path, (unsigned int) sb.st_gid, |
|
(unsigned int) sudoers_gid); |
|
} |
|
debug_return_bool(false); |
|
default: |
|
/* NOTREACHED */ |
|
debug_return_bool(false); |
|
} |
if (!(path = switch_dir(&istack[idepth], path))) { |
if (!(path = switch_dir(&istack[idepth], path))) { |
/* switch_dir() called yyerror() for us */ | /* switch_dir() called sudoerserror() for us */ |
return FALSE; | debug_return_bool(false); |
} |
} |
while ((fp = open_sudoers(path, FALSE, &keepopen)) == NULL) { | while ((fp = open_sudoers(path, false, &keepopen)) == NULL) { |
/* Unable to open path in includedir, go to next one, if any. */ |
/* Unable to open path in includedir, go to next one, if any. */ |
efree(path); |
efree(path); |
if ((pl = istack[idepth].more) == NULL) | if ((pl = SLIST_FIRST(&istack[idepth].more)) == NULL) |
return FALSE; | debug_return_bool(false); |
| SLIST_REMOVE_HEAD(&istack[idepth].more, entries); |
path = pl->path; |
path = pl->path; |
istack[idepth].more = pl->next; |
|
efree(pl); |
efree(pl); |
} |
} |
} else { |
} else { |
if ((fp = open_sudoers(path, TRUE, &keepopen)) == NULL) { | if ((fp = open_sudoers(path, true, &keepopen)) == NULL) { |
char *errbuf; | /* The error was already printed by open_sudoers() */ |
if (asprintf(&errbuf, _("%s: %s"), path, strerror(errno)) != -1) { | sudoerserror(NULL); |
yyerror(errbuf); | debug_return_bool(false); |
free(errbuf); | |
} else { | |
yyerror(_("unable to allocate memory")); | |
} | |
return FALSE; | |
} |
} |
istack[idepth].more = NULL; |
|
} |
} |
/* Push the old (current) file and open the new one. */ |
/* Push the old (current) file and open the new one. */ |
istack[idepth].path = sudoers; /* push old path */ |
istack[idepth].path = sudoers; /* push old path */ |
Line 3538 _push_include(char *path, int isdir)
|
Line 4228 _push_include(char *path, int isdir)
|
idepth++; |
idepth++; |
sudolineno = 1; |
sudolineno = 1; |
sudoers = path; |
sudoers = path; |
yy_switch_to_buffer(yy_create_buffer(fp, YY_BUF_SIZE)); | sudoers_switch_to_buffer(sudoers_create_buffer(fp, YY_BUF_SIZE)); |
|
|
return TRUE; | debug_return_bool(true); |
} |
} |
|
|
static int | static bool |
pop_include(void) |
pop_include(void) |
{ |
{ |
struct path_list *pl; |
struct path_list *pl; |
FILE *fp; |
FILE *fp; |
|
debug_decl(pop_include, SUDO_DEBUG_PARSER) |
|
|
if (idepth == 0) |
if (idepth == 0) |
return FALSE; | debug_return_bool(false); |
|
|
if (!keepopen) |
if (!keepopen) |
fclose(YY_CURRENT_BUFFER->yy_input_file); |
fclose(YY_CURRENT_BUFFER->yy_input_file); |
yy_delete_buffer(YY_CURRENT_BUFFER); | sudoers_delete_buffer(YY_CURRENT_BUFFER); |
/* If we are in an include dir, move to the next file. */ |
/* If we are in an include dir, move to the next file. */ |
while ((pl = istack[idepth - 1].more) != NULL) { | while ((pl = SLIST_FIRST(&istack[idepth - 1].more)) != NULL) { |
fp = open_sudoers(pl->path, FALSE, &keepopen); | SLIST_REMOVE_HEAD(&istack[idepth - 1].more, entries); |
| fp = open_sudoers(pl->path, false, &keepopen); |
if (fp != NULL) { |
if (fp != NULL) { |
istack[idepth - 1].more = pl->next; |
|
efree(sudoers); |
efree(sudoers); |
sudoers = pl->path; |
sudoers = pl->path; |
sudolineno = 1; |
sudolineno = 1; |
yy_switch_to_buffer(yy_create_buffer(fp, YY_BUF_SIZE)); | sudoers_switch_to_buffer(sudoers_create_buffer(fp, YY_BUF_SIZE)); |
efree(pl); |
efree(pl); |
break; |
break; |
} |
} |
/* Unable to open path in include dir, go to next one. */ |
/* Unable to open path in include dir, go to next one. */ |
istack[idepth - 1].more = pl->next; |
|
efree(pl->path); |
efree(pl->path); |
efree(pl); |
efree(pl); |
} |
} |
/* If no path list, just pop the last dir on the stack. */ |
/* If no path list, just pop the last dir on the stack. */ |
if (pl == NULL) { |
if (pl == NULL) { |
idepth--; |
idepth--; |
yy_switch_to_buffer(istack[idepth].bs); | sudoers_switch_to_buffer(istack[idepth].bs); |
efree(sudoers); |
efree(sudoers); |
sudoers = istack[idepth].path; |
sudoers = istack[idepth].path; |
sudolineno = istack[idepth].lineno; |
sudolineno = istack[idepth].lineno; |
keepopen = istack[idepth].keepopen; |
keepopen = istack[idepth].keepopen; |
} |
} |
return TRUE; | debug_return_bool(true); |
} |
} |
|
|
static char * |
static char * |
parse_include(char *base) |
parse_include(char *base) |
{ |
{ |
char *cp, *ep, *path; | char *cp, *ep, *path, *pp; |
int len = 0, subst = 0; | int dirlen = 0, len = 0, subst = 0; |
size_t shost_len = 0; |
size_t shost_len = 0; |
|
debug_decl(parse_include, SUDO_DEBUG_PARSER) |
|
|
/* Pull out path from #include line. */ |
/* Pull out path from #include line. */ |
cp = base + sizeof("#include"); |
cp = base + sizeof("#include"); |
Line 3607 parse_include(char *base)
|
Line 4298 parse_include(char *base)
|
ep++; |
ep++; |
} |
} |
|
|
/* Make a copy of path and return it. */ | /* Relative paths are located in the same dir as the sudoers file. */ |
| if (*cp != '/') { |
| char *dirend = strrchr(sudoers, '/'); |
| if (dirend != NULL) |
| dirlen = (int)(dirend - sudoers) + 1; |
| } |
| |
| /* Make a copy of the fully-qualified path and return it. */ |
len += (int)(ep - cp); |
len += (int)(ep - cp); |
if ((path = malloc(len + 1)) == NULL) { | path = pp = malloc(len + dirlen + 1); |
yyerror(_("unable to allocate memory")); | if (path == NULL) { |
return NULL; | warning(NULL); |
| sudoerserror(NULL); |
| debug_return_str(NULL); |
} |
} |
|
if (dirlen) { |
|
memcpy(path, sudoers, dirlen); |
|
pp += dirlen; |
|
} |
if (subst) { |
if (subst) { |
/* substitute for %h */ |
/* substitute for %h */ |
char *pp = path; |
|
while (cp < ep) { |
while (cp < ep) { |
if (cp[0] == '%' && cp[1] == 'h') { |
if (cp[0] == '%' && cp[1] == 'h') { |
memcpy(pp, user_shost, shost_len); |
memcpy(pp, user_shost, shost_len); |
Line 3627 parse_include(char *base)
|
Line 4330 parse_include(char *base)
|
} |
} |
*pp = '\0'; |
*pp = '\0'; |
} else { |
} else { |
memcpy(path, cp, len); | memcpy(pp, cp, len); |
path[len] = '\0'; | pp[len] = '\0'; |
} |
} |
|
|
/* Push any excess characters (e.g. comment, newline) back to the lexer */ |
/* Push any excess characters (e.g. comment, newline) back to the lexer */ |
if (*ep != '\0') |
if (*ep != '\0') |
yyless((int)(ep - base)); |
yyless((int)(ep - base)); |
|
|
return path; | debug_return_str(path); |
} |
} |
|
|
#ifdef TRACELEXER |
#ifdef TRACELEXER |
static int | int |
sudoers_trace_print(const char *msg) |
sudoers_trace_print(const char *msg) |
{ |
{ |
return fputs(msg, stderr); |
return fputs(msg, stderr); |
|
} |
|
#else |
|
int |
|
sudoers_trace_print(const char *msg) |
|
{ |
|
static bool initialized; |
|
static struct lbuf lbuf; |
|
|
|
if (!initialized) { |
|
initialized = true; |
|
lbuf_init(&lbuf, NULL, 0, NULL, 0); |
|
} |
|
|
|
lbuf_append(&lbuf, "%s", msg); |
|
/* XXX - assumes a final newline */ |
|
if (strchr(msg, '\n') != NULL) |
|
{ |
|
sudo_debug_printf2(NULL, NULL, 0, SUDO_DEBUG_PARSER|SUDO_DEBUG_DEBUG, |
|
"%s:%d %s", sudoers, sudolineno, lbuf.buf); |
|
lbuf.len = 0; |
|
} |
|
return 0; |
} |
} |
#endif /* TRACELEXER */ |
#endif /* TRACELEXER */ |