Coverage Report

Created: 2025-12-14 06:09

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/php-src/Zend/zend_ini_scanner.c
Line
Count
Source
1
/* Generated by re2c 1.3 */
2
#line 1 "Zend/zend_ini_scanner.l"
3
/*
4
   +----------------------------------------------------------------------+
5
   | Zend Engine                                                          |
6
   +----------------------------------------------------------------------+
7
   | Copyright (c) Zend Technologies Ltd. (http://www.zend.com)           |
8
   +----------------------------------------------------------------------+
9
   | This source file is subject to version 2.00 of the Zend license,     |
10
   | that is bundled with this package in the file LICENSE, and is        |
11
   | available through the world-wide-web at the following url:           |
12
   | http://www.zend.com/license/2_00.txt.                                |
13
   | If you did not receive a copy of the Zend license and are unable to  |
14
   | obtain it through the world-wide-web, please send a note to          |
15
   | license@zend.com so we can mail you a copy immediately.              |
16
   +----------------------------------------------------------------------+
17
   | Authors: Zeev Suraski <zeev@php.net>                                 |
18
   |          Jani Taskinen <jani@php.net>                                |
19
   |          Marcus Boerger <helly@php.net>                              |
20
   |          Nuno Lopes <nlopess@php.net>                                |
21
   |          Scott MacVicar <scottmac@php.net>                           |
22
   +----------------------------------------------------------------------+
23
*/
24
25
#include <errno.h>
26
#include "zend.h"
27
#include "zend_API.h"
28
#include "zend_globals.h"
29
#include <zend_ini_parser.h>
30
#include "zend_ini_scanner.h"
31
32
#ifdef YYDEBUG
33
#undef YYDEBUG
34
#endif
35
36
#if 0
37
# define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
38
#else
39
# define YYDEBUG(s, c)
40
#endif
41
42
#include "zend_ini_scanner_defs.h"
43
44
1.06M
#define YYCTYPE   unsigned char
45
/* allow the scanner to read one null byte after the end of the string (from ZEND_MMAP_AHEAD)
46
 * so that if will be able to terminate to match the current token (e.g. non-enclosed string) */
47
9.07M
#define YYFILL(n) { if (YYCURSOR > YYLIMIT) return 0; }
48
31.4M
#define YYCURSOR  SCNG(yy_cursor)
49
13.4M
#define YYLIMIT   SCNG(yy_limit)
50
2.14M
#define YYMARKER  SCNG(yy_marker)
51
52
3.40M
#define YYGETCONDITION()  SCNG(yy_state)
53
532k
#define YYSETCONDITION(s) SCNG(yy_state) = s
54
55
25.4k
#define STATE(name)  yyc##name
56
57
/* emulate flex constructs */
58
147k
#define BEGIN(state) YYSETCONDITION(STATE(state))
59
25.4k
#define YYSTATE      YYGETCONDITION()
60
1.07M
#define yytext       ((const char*)SCNG(yy_text))
61
2.23M
#define yyleng       SCNG(yy_leng)
62
1.72k
#define yyless(x)    do { YYCURSOR = (const unsigned char*)yytext + x; \
63
1.72k
              yyleng   = (unsigned int)x; } while(0)
64
65
/* #define yymore()     goto yymore_restart */
66
67
/* perform sanity check. If this message is triggered you should
68
   increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */
69
#define YYMAXFILL 6
70
71
#if ZEND_MMAP_AHEAD < (YYMAXFILL + 1)
72
# error ZEND_MMAP_AHEAD should be greater than YYMAXFILL
73
#endif
74
75
76
/* How it works (for the core ini directives):
77
 * ===========================================
78
 *
79
 * 1. Scanner scans file for tokens and passes them to parser.
80
 * 2. Parser parses the tokens and passes the name/value pairs to the callback
81
 *    function which stores them in the configuration hash table.
82
 * 3. Later REGISTER_INI_ENTRIES() is called which triggers the actual
83
 *    registering of ini entries and uses zend_get_configuration_directive()
84
 *    to fetch the previously stored name/value pair from configuration hash table
85
 *    and registers the static ini entries which match the name to the value
86
 *    into EG(ini_directives) hash table.
87
 * 4. PATH section entries are used per-request from down to top, each overriding
88
 *    previous if one exists. zend_alter_ini_entry() is called for each entry.
89
 *    Settings in PATH section are ZEND_INI_SYSTEM accessible and thus mimics the
90
 *    php_admin_* directives used within Apache httpd.conf when PHP is compiled as
91
 *    module for Apache.
92
 * 5. User defined ini files (like .htaccess for apache) are parsed for each request and
93
 *    stored in separate hash defined by SAPI.
94
 */
95
96
/* TODO: (ordered by importance :-)
97
 * ===============================================================================
98
 *
99
 *  - Separate constant lookup totally from plain strings (using CONSTANT pattern)
100
 *  - Add #if .. #else .. #endif and ==, !=, <, > , <=, >= operators
101
 *  - Add #include "some.ini"
102
 *  - Allow variables to refer to options also when using parse_ini_file()
103
 *
104
 */
105
106
/* Globals Macros */
107
59.1M
#define SCNG  INI_SCNG
108
#ifdef ZTS
109
ZEND_API ts_rsrc_id ini_scanner_globals_id;
110
ZEND_API size_t ini_scanner_globals_offset;
111
#else
112
ZEND_API zend_ini_scanner_globals ini_scanner_globals;
113
#endif
114
115
#define ZEND_SYSTEM_INI CG(ini_parser_unbuffered_errors)
116
117
/* Eat leading whitespace */
118
#define EAT_LEADING_WHITESPACE()                     \
119
142k
  while (yyleng) {                                 \
120
142k
    if (yytext[0] == ' ' || yytext[0] == '\t') { \
121
26.1k
      SCNG(yy_text)++;                         \
122
26.1k
      yyleng--;                                \
123
116k
    } else {                                     \
124
116k
      break;                                   \
125
116k
    }                                            \
126
142k
  }
127
128
/* Eat trailing whitespace + extra char */
129
#define EAT_TRAILING_WHITESPACE_EX(ch)              \
130
162k
  while (yyleng && (                              \
131
161k
    (ch != 'X' && yytext[yyleng - 1] ==  ch) || \
132
161k
    yytext[yyleng - 1] == '\n' ||               \
133
161k
    yytext[yyleng - 1] == '\r' ||               \
134
161k
    yytext[yyleng - 1] == '\t' ||               \
135
161k
    yytext[yyleng - 1] == ' ')                  \
136
117k
  ) {                                             \
137
44.9k
    yyleng--;                                   \
138
44.9k
  }
139
140
/* Eat trailing whitespace */
141
112k
#define EAT_TRAILING_WHITESPACE() EAT_TRAILING_WHITESPACE_EX('X')
142
143
#define zend_ini_copy_value(retval, str, len) \
144
461k
  ZVAL_NEW_STR(retval, zend_string_init(str, len, ZEND_SYSTEM_INI))
145
146
147
353k
#define RETURN_TOKEN(type, str, len) {                             \
148
353k
  if (SCNG(scanner_mode) == ZEND_INI_SCANNER_TYPED &&            \
149
353k
    (YYSTATE == STATE(ST_VALUE) || YYSTATE == STATE(ST_RAW))) {\
150
1.38k
    zend_ini_copy_typed_value(ini_lval, type, str, len);       \
151
1.38k
    Z_EXTRA_P(ini_lval) = 0;                                   \
152
352k
  } else {                                                       \
153
352k
    zend_ini_copy_value(ini_lval, str, len);                   \
154
352k
  }                                                              \
155
353k
  return type;                                                   \
156
353k
}
157
158
static void zend_ini_copy_typed_value(zval *retval, const int type, const char *str, int len)
159
1.38k
{
160
1.38k
  switch (type) {
161
0
    case BOOL_FALSE:
162
24
    case BOOL_TRUE:
163
24
      ZVAL_BOOL(retval, type == BOOL_TRUE);
164
24
      break;
165
166
9
    case NULL_NULL:
167
9
      ZVAL_NULL(retval);
168
9
      break;
169
170
1.35k
    default:
171
1.35k
      zend_ini_copy_value(retval, str, len);
172
1.38k
  }
173
1.38k
}
174
175
static void _yy_push_state(int new_state)
176
193k
{
177
193k
  zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION());
178
193k
  YYSETCONDITION(new_state);
179
193k
}
180
181
193k
#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
182
183
static void yy_pop_state(void)
184
191k
{
185
191k
  int *stack_state = zend_stack_top(&SCNG(state_stack));
186
191k
  YYSETCONDITION(*stack_state);
187
191k
  zend_stack_del_top(&SCNG(state_stack));
188
191k
}
189
190
static void yy_scan_buffer(const char *str, unsigned int len)
191
24.1k
{
192
24.1k
  YYCURSOR = (const YYCTYPE*)str;
193
24.1k
  SCNG(yy_start) = YYCURSOR;
194
24.1k
  YYLIMIT  = YYCURSOR + len;
195
24.1k
}
196
197
64.2k
#define ini_filename SCNG(filename)
198
199
/* {{{ init_ini_scanner() */
200
static zend_result init_ini_scanner(int scanner_mode, zend_file_handle *fh)
201
24.1k
{
202
  /* Sanity check */
203
24.1k
  if (scanner_mode != ZEND_INI_SCANNER_NORMAL && scanner_mode != ZEND_INI_SCANNER_RAW && scanner_mode != ZEND_INI_SCANNER_TYPED) {
204
3
    zend_error(E_WARNING, "Invalid scanner mode");
205
3
    return FAILURE;
206
3
  }
207
208
24.1k
  SCNG(lineno) = 1;
209
24.1k
  SCNG(scanner_mode) = scanner_mode;
210
24.1k
  SCNG(yy_in) = fh;
211
212
24.1k
  if (fh != NULL) {
213
0
    ini_filename = zend_string_copy(fh->filename);
214
24.1k
  } else {
215
24.1k
    ini_filename = NULL;
216
24.1k
  }
217
218
24.1k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
219
24.1k
  BEGIN(INITIAL);
220
221
24.1k
  return SUCCESS;
222
24.1k
}
223
/* }}} */
224
225
/* {{{ shutdown_ini_scanner() */
226
void shutdown_ini_scanner(void)
227
24.1k
{
228
24.1k
  zend_stack_destroy(&SCNG(state_stack));
229
24.1k
  if (ini_filename) {
230
0
    zend_string_release(ini_filename);
231
0
  }
232
24.1k
}
233
/* }}} */
234
235
/* {{{ zend_ini_scanner_get_lineno() */
236
ZEND_COLD uint32_t zend_ini_scanner_get_lineno(void)
237
15.9k
{
238
15.9k
  return SCNG(lineno);
239
15.9k
}
240
/* }}} */
241
242
/* {{{ zend_ini_scanner_get_filename() */
243
ZEND_COLD const char *zend_ini_scanner_get_filename(void)
244
15.9k
{
245
15.9k
  return ini_filename ? ZSTR_VAL(ini_filename) : "Unknown";
246
15.9k
}
247
/* }}} */
248
249
/* {{{ zend_ini_open_file_for_scanning() */
250
zend_result zend_ini_open_file_for_scanning(zend_file_handle *fh, int scanner_mode)
251
6
{
252
6
  char *buf;
253
6
  size_t size;
254
255
6
  if (zend_stream_fixup(fh, &buf, &size) == FAILURE) {
256
3
    return FAILURE;
257
3
  }
258
259
3
  if (init_ini_scanner(scanner_mode, fh) == FAILURE) {
260
3
    return FAILURE;
261
3
  }
262
263
0
  yy_scan_buffer(buf, (unsigned int)size);
264
265
0
  return SUCCESS;
266
3
}
267
/* }}} */
268
269
/* {{{ zend_ini_prepare_string_for_scanning() */
270
zend_result zend_ini_prepare_string_for_scanning(const char *str, int scanner_mode)
271
24.1k
{
272
24.1k
  int len = (int)strlen(str);
273
274
24.1k
  if (init_ini_scanner(scanner_mode, NULL) == FAILURE) {
275
0
    return FAILURE;
276
0
  }
277
278
24.1k
  yy_scan_buffer(str, len);
279
280
24.1k
  return SUCCESS;
281
24.1k
}
282
/* }}} */
283
284
/* {{{ zend_ini_escape_string() */
285
static void zend_ini_escape_string(zval *lval, const char *str, int len, char quote_type)
286
107k
{
287
107k
  char *s, *t;
288
107k
  char *end;
289
290
107k
  zend_ini_copy_value(lval, str, len);
291
292
  /* convert escape sequences */
293
107k
  s = t = Z_STRVAL_P(lval);
294
107k
  end = s + Z_STRLEN_P(lval);
295
296
3.09M
  while (s < end) {
297
2.98M
    if (*s == '\\') {
298
12.1k
      s++;
299
12.1k
      if (s >= end) {
300
13
        *t++ = '\\';
301
13
        continue;
302
13
      }
303
12.1k
      switch (*s) {
304
220
        case '"':
305
220
          if (*s != quote_type) {
306
0
            *t++ = '\\';
307
0
            *t++ = *s;
308
0
            break;
309
0
          }
310
220
          ZEND_FALLTHROUGH;
311
5.10k
        case '\\':
312
5.12k
        case '$':
313
5.12k
          *t++ = *s;
314
5.12k
          Z_STRLEN_P(lval)--;
315
5.12k
          break;
316
6.99k
        default:
317
6.99k
          *t++ = '\\';
318
6.99k
          *t++ = *s;
319
6.99k
          break;
320
12.1k
      }
321
2.97M
    } else {
322
2.97M
      *t++ = *s;
323
2.97M
    }
324
2.98M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
325
51.9k
      SCNG(lineno)++;
326
51.9k
    }
327
2.98M
    s++;
328
2.98M
  }
329
107k
  *t = 0;
330
107k
}
331
/* }}} */
332
333
int ini_lex(zval *ini_lval)
334
1.06M
{
335
1.07M
restart:
336
1.07M
  SCNG(yy_text) = YYCURSOR;
337
338
/* yymore_restart: */
339
  /* detect EOF */
340
1.07M
  if (YYCURSOR >= YYLIMIT) {
341
10.6k
    if (YYSTATE == STATE(ST_VALUE) || YYSTATE == STATE(ST_RAW)) {
342
2.59k
      BEGIN(INITIAL);
343
2.59k
      return END_OF_LINE;
344
2.59k
    }
345
8.09k
    return 0;
346
10.6k
  }
347
348
  /* Eat any UTF-8 BOM we find in the first 3 bytes */
349
1.06M
  if (YYCURSOR == SCNG(yy_start) && YYCURSOR + 3 < YYLIMIT) {
350
23.1k
    if (memcmp(YYCURSOR, "\xef\xbb\xbf", 3) == 0) {
351
306
      YYCURSOR += 3;
352
306
      goto restart;
353
306
    }
354
23.1k
  }
355
356
1.06M
#line 357 "Zend/zend_ini_scanner.c"
357
1.06M
{
358
1.06M
  YYCTYPE yych;
359
1.06M
  unsigned int yyaccept = 0;
360
1.06M
  if (YYGETCONDITION() < 4) {
361
762k
    if (YYGETCONDITION() < 2) {
362
555k
      if (YYGETCONDITION() < 1) {
363
282k
        goto yyc_INITIAL;
364
282k
      } else {
365
273k
        goto yyc_ST_OFFSET;
366
273k
      }
367
555k
    } else {
368
206k
      if (YYGETCONDITION() < 3) {
369
11.4k
        goto yyc_ST_SECTION_VALUE;
370
195k
      } else {
371
195k
        goto yyc_ST_VALUE;
372
195k
      }
373
206k
    }
374
762k
  } else {
375
299k
    if (YYGETCONDITION() < 6) {
376
299k
      if (YYGETCONDITION() < 5) {
377
24
        goto yyc_ST_SECTION_RAW;
378
299k
      } else {
379
299k
        goto yyc_ST_DOUBLE_QUOTES;
380
299k
      }
381
299k
    } else {
382
108
      if (YYGETCONDITION() < 7) {
383
6
        goto yyc_ST_VAR_FALLBACK;
384
102
      } else {
385
102
        if (YYGETCONDITION() < 8) {
386
6
          goto yyc_ST_VARNAME;
387
96
        } else {
388
96
          goto yyc_ST_RAW;
389
96
        }
390
102
      }
391
108
    }
392
299k
  }
393
/* *********************************** */
394
282k
yyc_INITIAL:
395
282k
  {
396
282k
    static const unsigned char yybm[] = {
397
282k
      128, 144, 144, 144, 144, 144, 144, 144, 
398
282k
      144, 160,   0, 144, 144,   0, 144, 144, 
399
282k
      144, 144, 144, 144, 144, 144, 144, 144, 
400
282k
      144, 144, 144, 144, 144, 144, 144, 144, 
401
282k
      240, 128, 128, 144, 128, 144, 128, 144, 
402
282k
      128, 128, 144, 144, 144, 144, 144, 144, 
403
282k
      144, 144, 144, 144, 144, 144, 144, 144, 
404
282k
      144, 144, 144, 128, 144, 128, 144, 144, 
405
282k
      144, 144, 144, 144, 144, 144, 144, 144, 
406
282k
      144, 144, 144, 144, 144, 144, 144, 144, 
407
282k
      144, 144, 144, 144, 144, 144, 144, 144, 
408
282k
      144, 144, 144, 128, 144, 128, 128, 144, 
409
282k
      144, 144, 144, 144, 144, 144, 144, 144, 
410
282k
      144, 144, 144, 144, 144, 144, 144, 144, 
411
282k
      144, 144, 144, 144, 144, 144, 144, 144, 
412
282k
      144, 144, 144, 128, 128, 128, 128, 144, 
413
282k
      144, 144, 144, 144, 144, 144, 144, 144, 
414
282k
      144, 144, 144, 144, 144, 144, 144, 144, 
415
282k
      144, 144, 144, 144, 144, 144, 144, 144, 
416
282k
      144, 144, 144, 144, 144, 144, 144, 144, 
417
282k
      144, 144, 144, 144, 144, 144, 144, 144, 
418
282k
      144, 144, 144, 144, 144, 144, 144, 144, 
419
282k
      144, 144, 144, 144, 144, 144, 144, 144, 
420
282k
      144, 144, 144, 144, 144, 144, 144, 144, 
421
282k
      144, 144, 144, 144, 144, 144, 144, 144, 
422
282k
      144, 144, 144, 144, 144, 144, 144, 144, 
423
282k
      144, 144, 144, 144, 144, 144, 144, 144, 
424
282k
      144, 144, 144, 144, 144, 144, 144, 144, 
425
282k
      144, 144, 144, 144, 144, 144, 144, 144, 
426
282k
      144, 144, 144, 144, 144, 144, 144, 144, 
427
282k
      144, 144, 144, 144, 144, 144, 144, 144, 
428
282k
      144, 144, 144, 144, 144, 144, 144, 144, 
429
282k
    };
430
282k
    YYDEBUG(1, *YYCURSOR);
431
282k
    YYFILL(5);
432
282k
    yych = *YYCURSOR;
433
282k
    if (yybm[0+yych] & 64) {
434
19.8k
      goto yy14;
435
19.8k
    }
436
262k
    if (yych <= 'M') {
437
199k
      if (yych <= '$') {
438
90.7k
        if (yych <= '\f') {
439
23.1k
          if (yych <= 0x08) {
440
10.4k
            if (yych >= 0x01) goto yy5;
441
12.6k
          } else {
442
12.6k
            if (yych <= '\t') goto yy8;
443
9.53k
            if (yych <= '\n') goto yy11;
444
312
            goto yy5;
445
9.53k
          }
446
67.6k
        } else {
447
67.6k
          if (yych <= 0x1F) {
448
64.6k
            if (yych <= '\r') goto yy13;
449
2.68k
            goto yy5;
450
64.6k
          } else {
451
2.98k
            if (yych == '#') goto yy5;
452
965
            goto yy16;
453
2.98k
          }
454
67.6k
        }
455
109k
      } else {
456
109k
        if (yych <= ':') {
457
33.1k
          if (yych <= '&') {
458
770
            if (yych <= '%') goto yy5;
459
195
            goto yy16;
460
32.3k
          } else {
461
32.3k
            if (yych <= '\'') goto yy5;
462
32.3k
            if (yych <= ')') goto yy16;
463
30.8k
            goto yy5;
464
32.3k
          }
465
75.9k
        } else {
466
75.9k
          if (yych <= '=') {
467
73.3k
            if (yych <= ';') goto yy18;
468
40.8k
            if (yych <= '<') goto yy5;
469
40.3k
            goto yy20;
470
40.8k
          } else {
471
2.62k
            if (yych == 'F') goto yy23;
472
1.16k
            goto yy5;
473
2.62k
          }
474
75.9k
        }
475
109k
      }
476
199k
    } else {
477
62.6k
      if (yych <= 'e') {
478
37.7k
        if (yych <= 'X') {
479
15.7k
          if (yych <= 'O') {
480
2.64k
            if (yych <= 'N') goto yy24;
481
44
            goto yy25;
482
13.1k
          } else {
483
13.1k
            if (yych == 'T') goto yy26;
484
180
            goto yy5;
485
13.1k
          }
486
21.9k
        } else {
487
21.9k
          if (yych <= '[') {
488
3.55k
            if (yych <= 'Y') goto yy27;
489
3.55k
            if (yych <= 'Z') goto yy5;
490
3.02k
            goto yy28;
491
18.3k
          } else {
492
18.3k
            if (yych <= '\\') goto yy5;
493
18.3k
            if (yych <= '^') goto yy16;
494
18.0k
            goto yy5;
495
18.3k
          }
496
21.9k
        }
497
37.7k
      } else {
498
24.9k
        if (yych <= 's') {
499
4.25k
          if (yych <= 'm') {
500
2.87k
            if (yych <= 'f') goto yy23;
501
2.86k
            goto yy5;
502
2.87k
          } else {
503
1.37k
            if (yych <= 'n') goto yy24;
504
1.29k
            if (yych <= 'o') goto yy25;
505
84
            goto yy5;
506
1.29k
          }
507
20.7k
        } else {
508
20.7k
          if (yych <= 'y') {
509
951
            if (yych <= 't') goto yy26;
510
621
            if (yych <= 'x') goto yy5;
511
93
            goto yy27;
512
19.7k
          } else {
513
19.7k
            if (yych <= 'z') goto yy5;
514
19.6k
            if (yych <= '~') goto yy16;
515
18.8k
            goto yy5;
516
19.6k
          }
517
20.7k
        }
518
24.9k
      }
519
62.6k
    }
520
0
    YYDEBUG(3, *YYCURSOR);
521
0
    ++YYCURSOR;
522
0
    YYDEBUG(4, *YYCURSOR);
523
0
    yyleng = YYCURSOR - SCNG(yy_text);
524
0
#line 686 "Zend/zend_ini_scanner.l"
525
0
    {
526
0
  return 0;
527
262k
}
528
0
#line 529 "Zend/zend_ini_scanner.c"
529
851k
yy5:
530
851k
    YYDEBUG(5, *YYCURSOR);
531
851k
    ++YYCURSOR;
532
851k
    YYFILL(1);
533
851k
    yych = *YYCURSOR;
534
870k
yy6:
535
870k
    YYDEBUG(6, *YYCURSOR);
536
870k
    if (yybm[0+yych] & 16) {
537
753k
      goto yy5;
538
753k
    }
539
116k
    if (yych <= '=') goto yy7;
540
5.67k
    if (yych <= '[') goto yy30;
541
112k
yy7:
542
112k
    YYDEBUG(7, *YYCURSOR);
543
112k
    yyleng = YYCURSOR - SCNG(yy_text);
544
112k
#line 503 "Zend/zend_ini_scanner.l"
545
112k
    { /* Get option name */
546
  /* Eat leading whitespace */
547
112k
  EAT_LEADING_WHITESPACE();
548
549
  /* Eat trailing whitespace */
550
112k
  EAT_TRAILING_WHITESPACE();
551
552
112k
  RETURN_TOKEN(TC_LABEL, yytext, yyleng);
553
0
}
554
0
#line 555 "Zend/zend_ini_scanner.c"
555
8.01k
yy8:
556
8.01k
    YYDEBUG(8, *YYCURSOR);
557
8.01k
    ++YYCURSOR;
558
8.01k
    YYFILL(2);
559
8.01k
    yych = *YYCURSOR;
560
8.01k
    YYDEBUG(9, *YYCURSOR);
561
8.01k
    if (yybm[0+yych] & 32) {
562
4.85k
      goto yy8;
563
4.85k
    }
564
3.16k
    if (yych <= '\r') {
565
578
      if (yych <= 0x08) goto yy10;
566
578
      if (yych <= '\n') goto yy11;
567
312
      if (yych >= '\r') goto yy13;
568
2.58k
    } else {
569
2.58k
      if (yych <= ';') {
570
1.17k
        if (yych >= ';') goto yy18;
571
1.40k
      } else {
572
1.40k
        if (yych == '=') goto yy20;
573
1.40k
      }
574
2.58k
    }
575
2.70k
yy10:
576
2.70k
    YYDEBUG(10, *YYCURSOR);
577
2.70k
    yyleng = YYCURSOR - SCNG(yy_text);
578
2.70k
#line 665 "Zend/zend_ini_scanner.l"
579
2.70k
    {
580
  /* eat whitespace */
581
2.70k
  goto restart;
582
3.16k
}
583
0
#line 584 "Zend/zend_ini_scanner.c"
584
32.1k
yy11:
585
32.1k
    YYDEBUG(11, *YYCURSOR);
586
32.1k
    ++YYCURSOR;
587
74.6k
yy12:
588
74.6k
    YYDEBUG(12, *YYCURSOR);
589
74.6k
    yyleng = YYCURSOR - SCNG(yy_text);
590
74.6k
#line 670 "Zend/zend_ini_scanner.l"
591
74.6k
    {
592
74.6k
  SCNG(lineno)++;
593
74.6k
  return END_OF_LINE;
594
32.1k
}
595
0
#line 596 "Zend/zend_ini_scanner.c"
596
62.7k
yy13:
597
62.7k
    YYDEBUG(13, *YYCURSOR);
598
62.7k
    yych = *++YYCURSOR;
599
62.7k
    if (yych == '\n') goto yy11;
600
42.5k
    goto yy12;
601
47.8k
yy14:
602
47.8k
    YYDEBUG(14, *YYCURSOR);
603
47.8k
    ++YYCURSOR;
604
47.8k
    YYFILL(2);
605
47.8k
    yych = *YYCURSOR;
606
47.8k
    YYDEBUG(15, *YYCURSOR);
607
47.8k
    if (yybm[0+yych] & 64) {
608
27.9k
      goto yy14;
609
27.9k
    }
610
19.8k
    if (yych <= '&') {
611
5.79k
      if (yych <= '\r') {
612
3.67k
        if (yych <= '\t') {
613
413
          if (yych <= 0x00) goto yy7;
614
304
          if (yych <= 0x08) goto yy5;
615
48
          goto yy8;
616
3.26k
        } else {
617
3.26k
          if (yych <= '\n') goto yy11;
618
801
          if (yych <= '\f') goto yy5;
619
801
          goto yy13;
620
801
        }
621
3.67k
      } else {
622
2.11k
        if (yych <= '#') {
623
1.98k
          if (yych <= 0x1F) goto yy5;
624
321
          if (yych <= '"') goto yy7;
625
254
          goto yy5;
626
321
        } else {
627
134
          if (yych == '%') goto yy5;
628
119
          goto yy7;
629
134
        }
630
2.11k
      }
631
14.0k
    } else {
632
14.0k
      if (yych <= '=') {
633
9.98k
        if (yych <= ':') {
634
916
          if (yych <= '\'') goto yy5;
635
716
          if (yych <= ')') goto yy7;
636
553
          goto yy5;
637
9.06k
        } else {
638
9.06k
          if (yych <= ';') goto yy18;
639
1.87k
          if (yych <= '<') goto yy5;
640
413
          goto yy20;
641
1.87k
        }
642
9.98k
      } else {
643
4.03k
        if (yych <= '\\') {
644
201
          if (yych == '[') goto yy30;
645
35
          goto yy5;
646
3.83k
        } else {
647
3.83k
          if (yych <= '^') goto yy7;
648
3.80k
          if (yych <= 'z') goto yy5;
649
1.59k
          if (yych <= '~') goto yy7;
650
1.46k
          goto yy5;
651
1.59k
        }
652
4.03k
      }
653
14.0k
    }
654
3.70k
yy16:
655
3.70k
    YYDEBUG(16, *YYCURSOR);
656
3.70k
    ++YYCURSOR;
657
3.70k
    YYDEBUG(17, *YYCURSOR);
658
3.70k
    yyleng = YYCURSOR - SCNG(yy_text);
659
3.70k
#line 584 "Zend/zend_ini_scanner.l"
660
3.70k
    { /* Disallow these chars outside option values */
661
3.70k
  return yytext[0];
662
19.8k
}
663
0
#line 664 "Zend/zend_ini_scanner.c"
664
2.28M
yy18:
665
2.28M
    YYDEBUG(18, *YYCURSOR);
666
2.28M
    ++YYCURSOR;
667
2.28M
    YYFILL(2);
668
2.28M
    yych = *YYCURSOR;
669
2.28M
    YYDEBUG(19, *YYCURSOR);
670
2.28M
    if (yybm[0+yych] & 128) {
671
2.24M
      goto yy18;
672
2.24M
    }
673
38.9k
    if (yych <= '\n') goto yy33;
674
4.37k
    goto yy35;
675
45.0k
yy20:
676
45.0k
    YYDEBUG(20, *YYCURSOR);
677
45.0k
    ++YYCURSOR;
678
45.0k
    YYFILL(1);
679
45.0k
    yych = *YYCURSOR;
680
45.0k
    YYDEBUG(21, *YYCURSOR);
681
45.0k
    if (yych == '\t') goto yy20;
682
44.6k
    if (yych == ' ') goto yy20;
683
40.8k
    YYDEBUG(22, *YYCURSOR);
684
40.8k
    yyleng = YYCURSOR - SCNG(yy_text);
685
40.8k
#line 513 "Zend/zend_ini_scanner.l"
686
40.8k
    { /* Start option value */
687
40.8k
  if (SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW) {
688
54
    BEGIN(ST_RAW);
689
40.8k
  } else {
690
40.8k
    BEGIN(ST_VALUE);
691
40.8k
  }
692
40.8k
  return '=';
693
44.6k
}
694
0
#line 695 "Zend/zend_ini_scanner.c"
695
1.46k
yy23:
696
1.46k
    YYDEBUG(23, *YYCURSOR);
697
1.46k
    yych = *++YYCURSOR;
698
1.46k
    if (yych == 'A') goto yy36;
699
1.31k
    if (yych == 'a') goto yy36;
700
1.31k
    goto yy6;
701
2.67k
yy24:
702
2.67k
    YYDEBUG(24, *YYCURSOR);
703
2.67k
    yych = *++YYCURSOR;
704
2.67k
    if (yych <= 'U') {
705
1.56k
      if (yych == 'O') goto yy37;
706
1.56k
      if (yych <= 'T') goto yy6;
707
0
      goto yy39;
708
1.56k
    } else {
709
1.11k
      if (yych <= 'o') {
710
79
        if (yych <= 'n') goto yy6;
711
0
        goto yy37;
712
1.03k
      } else {
713
1.03k
        if (yych == 'u') goto yy39;
714
1.03k
        goto yy6;
715
1.03k
      }
716
1.11k
    }
717
1.25k
yy25:
718
1.25k
    YYDEBUG(25, *YYCURSOR);
719
1.25k
    yych = *++YYCURSOR;
720
1.25k
    if (yych <= 'N') {
721
69
      if (yych == 'F') goto yy40;
722
69
      if (yych <= 'M') goto yy6;
723
10
      goto yy41;
724
1.18k
    } else {
725
1.18k
      if (yych <= 'f') {
726
34
        if (yych <= 'e') goto yy6;
727
0
        goto yy40;
728
1.15k
      } else {
729
1.15k
        if (yych == 'n') goto yy41;
730
610
        goto yy6;
731
1.15k
      }
732
1.18k
    }
733
13.2k
yy26:
734
13.2k
    YYDEBUG(26, *YYCURSOR);
735
13.2k
    yych = *++YYCURSOR;
736
13.2k
    if (yych == 'R') goto yy44;
737
13.2k
    if (yych == 'r') goto yy44;
738
13.2k
    goto yy6;
739
13.2k
yy27:
740
99
    YYDEBUG(27, *YYCURSOR);
741
99
    yych = *++YYCURSOR;
742
99
    if (yych == 'E') goto yy45;
743
99
    if (yych == 'e') goto yy45;
744
99
    goto yy6;
745
3.02k
yy28:
746
3.02k
    YYDEBUG(28, *YYCURSOR);
747
3.02k
    ++YYCURSOR;
748
3.02k
    YYDEBUG(29, *YYCURSOR);
749
3.02k
    yyleng = YYCURSOR - SCNG(yy_text);
750
3.02k
#line 379 "Zend/zend_ini_scanner.l"
751
3.02k
    { /* Section start */
752
  /* Enter section data lookup state */
753
3.02k
  if (SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW) {
754
12
    BEGIN(ST_SECTION_RAW);
755
3.01k
  } else {
756
3.01k
    BEGIN(ST_SECTION_VALUE);
757
3.01k
  }
758
3.02k
  return TC_SECTION;
759
99
}
760
0
#line 761 "Zend/zend_ini_scanner.c"
761
5.29k
yy30:
762
5.29k
    YYDEBUG(30, *YYCURSOR);
763
5.29k
    ++YYCURSOR;
764
5.29k
    YYFILL(1);
765
5.29k
    yych = *YYCURSOR;
766
5.29k
    YYDEBUG(31, *YYCURSOR);
767
5.29k
    if (yych == '\t') goto yy30;
768
5.29k
    if (yych == ' ') goto yy30;
769
4.95k
    YYDEBUG(32, *YYCURSOR);
770
4.95k
    yyleng = YYCURSOR - SCNG(yy_text);
771
4.95k
#line 404 "Zend/zend_ini_scanner.l"
772
4.95k
    { /* Start of option with offset */
773
  /* Eat leading whitespace */
774
4.95k
  EAT_LEADING_WHITESPACE();
775
776
  /* Eat trailing whitespace and [ */
777
4.95k
  EAT_TRAILING_WHITESPACE_EX('[');
778
779
  /* Enter offset lookup state */
780
4.95k
  BEGIN(ST_OFFSET);
781
782
4.95k
  RETURN_TOKEN(TC_OFFSET, yytext, yyleng);
783
0
}
784
0
#line 785 "Zend/zend_ini_scanner.c"
785
37.0k
yy33:
786
37.0k
    YYDEBUG(33, *YYCURSOR);
787
37.0k
    ++YYCURSOR;
788
38.9k
yy34:
789
38.9k
    YYDEBUG(34, *YYCURSOR);
790
38.9k
    yyleng = YYCURSOR - SCNG(yy_text);
791
38.9k
#line 675 "Zend/zend_ini_scanner.l"
792
38.9k
    { /* Comment */
793
38.9k
  BEGIN(INITIAL);
794
38.9k
  SCNG(lineno)++;
795
38.9k
  return END_OF_LINE;
796
37.0k
}
797
0
#line 798 "Zend/zend_ini_scanner.c"
798
4.37k
yy35:
799
4.37k
    YYDEBUG(35, *YYCURSOR);
800
4.37k
    yych = *++YYCURSOR;
801
4.37k
    if (yych == '\n') goto yy33;
802
1.93k
    goto yy34;
803
1.93k
yy36:
804
144
    YYDEBUG(36, *YYCURSOR);
805
144
    yych = *++YYCURSOR;
806
144
    if (yych == 'L') goto yy46;
807
144
    if (yych == 'l') goto yy46;
808
144
    goto yy6;
809
144
yy37:
810
0
    YYDEBUG(37, *YYCURSOR);
811
0
    yych = *++YYCURSOR;
812
0
    if (yych <= '\'') {
813
0
      if (yych <= 0x1F) {
814
0
        if (yych <= '\t') {
815
0
          if (yych <= 0x00) goto yy38;
816
0
          if (yych <= 0x08) goto yy6;
817
0
          goto yy47;
818
0
        } else {
819
0
          if (yych <= '\n') goto yy38;
820
0
          if (yych != '\r') goto yy6;
821
0
        }
822
0
      } else {
823
0
        if (yych <= '#') {
824
0
          if (yych <= ' ') goto yy49;
825
0
          if (yych >= '#') goto yy6;
826
0
        } else {
827
0
          if (yych == '%') goto yy6;
828
0
          if (yych >= '\'') goto yy6;
829
0
        }
830
0
      }
831
0
    } else {
832
0
      if (yych <= 'N') {
833
0
        if (yych <= ';') {
834
0
          if (yych <= ')') goto yy38;
835
0
          if (yych <= ':') goto yy6;
836
0
        } else {
837
0
          if (yych == '=') goto yy38;
838
0
          if (yych <= 'M') goto yy6;
839
0
          goto yy51;
840
0
        }
841
0
      } else {
842
0
        if (yych <= 'm') {
843
0
          if (yych <= '\\') goto yy6;
844
0
          if (yych >= '_') goto yy6;
845
0
        } else {
846
0
          if (yych <= 'n') goto yy51;
847
0
          if (yych <= 'z') goto yy6;
848
0
          if (yych >= 0x7F) goto yy6;
849
0
        }
850
0
      }
851
0
    }
852
0
yy38:
853
0
    YYDEBUG(38, *YYCURSOR);
854
0
    yyleng = YYCURSOR - SCNG(yy_text);
855
0
#line 495 "Zend/zend_ini_scanner.l"
856
0
    { /* FALSE value (when used outside option value/offset this causes parse error!)*/
857
0
  RETURN_TOKEN(BOOL_FALSE, "", 0);
858
0
}
859
0
#line 860 "Zend/zend_ini_scanner.c"
860
0
yy39:
861
0
    YYDEBUG(39, *YYCURSOR);
862
0
    yych = *++YYCURSOR;
863
0
    if (yych == 'L') goto yy52;
864
0
    if (yych == 'l') goto yy52;
865
0
    goto yy6;
866
0
yy40:
867
0
    YYDEBUG(40, *YYCURSOR);
868
0
    yych = *++YYCURSOR;
869
0
    if (yych == 'F') goto yy49;
870
0
    if (yych == 'f') goto yy49;
871
0
    goto yy6;
872
903
yy41:
873
903
    YYDEBUG(41, *YYCURSOR);
874
903
    ++YYCURSOR;
875
903
    YYFILL(1);
876
903
    yych = *YYCURSOR;
877
903
    YYDEBUG(42, *YYCURSOR);
878
903
    if (yych <= '&') {
879
502
      if (yych <= '\r') {
880
99
        if (yych <= '\t') {
881
54
          if (yych <= 0x00) goto yy43;
882
32
          if (yych <= 0x08) goto yy5;
883
13
          goto yy53;
884
45
        } else {
885
45
          if (yych <= '\n') goto yy43;
886
35
          if (yych <= '\f') goto yy5;
887
35
        }
888
403
      } else {
889
403
        if (yych <= '"') {
890
403
          if (yych <= 0x1F) goto yy5;
891
383
          if (yych <= ' ') goto yy41;
892
383
        } else {
893
0
          if (yych == '$') goto yy43;
894
0
          if (yych <= '%') goto yy5;
895
0
        }
896
403
      }
897
502
    } else {
898
401
      if (yych <= '=') {
899
223
        if (yych <= ':') {
900
223
          if (yych <= '\'') goto yy5;
901
109
          if (yych >= '*') goto yy5;
902
109
        } else {
903
0
          if (yych == '<') goto yy5;
904
0
        }
905
223
      } else {
906
178
        if (yych <= '\\') {
907
0
          if (yych == '[') goto yy30;
908
0
          goto yy5;
909
178
        } else {
910
178
          if (yych <= '^') goto yy43;
911
143
          if (yych <= 'z') goto yy5;
912
132
          if (yych >= 0x7F) goto yy5;
913
132
        }
914
178
      }
915
401
    }
916
114
yy43:
917
114
    YYDEBUG(43, *YYCURSOR);
918
114
    yyleng = YYCURSOR - SCNG(yy_text);
919
114
#line 491 "Zend/zend_ini_scanner.l"
920
114
    { /* TRUE value (when used outside option value/offset this causes parse error!) */
921
114
  RETURN_TOKEN(BOOL_TRUE, "1", 1);
922
0
}
923
0
#line 924 "Zend/zend_ini_scanner.c"
924
74
yy44:
925
74
    YYDEBUG(44, *YYCURSOR);
926
74
    yych = *++YYCURSOR;
927
74
    if (yych == 'U') goto yy55;
928
74
    if (yych == 'u') goto yy55;
929
74
    goto yy6;
930
74
yy45:
931
0
    YYDEBUG(45, *YYCURSOR);
932
0
    yych = *++YYCURSOR;
933
0
    if (yych == 'S') goto yy41;
934
0
    if (yych == 's') goto yy41;
935
0
    goto yy6;
936
0
yy46:
937
0
    YYDEBUG(46, *YYCURSOR);
938
0
    yych = *++YYCURSOR;
939
0
    if (yych == 'S') goto yy51;
940
0
    if (yych == 's') goto yy51;
941
0
    goto yy6;
942
0
yy47:
943
0
    YYDEBUG(47, *YYCURSOR);
944
0
    ++YYCURSOR;
945
0
    YYFILL(1);
946
0
    yych = *YYCURSOR;
947
0
    YYDEBUG(48, *YYCURSOR);
948
0
    if (yych == '\t') goto yy47;
949
0
    if (yych == ' ') goto yy47;
950
0
    goto yy38;
951
0
yy49:
952
0
    YYDEBUG(49, *YYCURSOR);
953
0
    ++YYCURSOR;
954
0
    YYFILL(1);
955
0
    yych = *YYCURSOR;
956
0
    YYDEBUG(50, *YYCURSOR);
957
0
    if (yych <= '&') {
958
0
      if (yych <= '\r') {
959
0
        if (yych <= '\t') {
960
0
          if (yych <= 0x00) goto yy38;
961
0
          if (yych <= 0x08) goto yy5;
962
0
          goto yy47;
963
0
        } else {
964
0
          if (yych <= '\n') goto yy38;
965
0
          if (yych <= '\f') goto yy5;
966
0
          goto yy38;
967
0
        }
968
0
      } else {
969
0
        if (yych <= '"') {
970
0
          if (yych <= 0x1F) goto yy5;
971
0
          if (yych <= ' ') goto yy49;
972
0
          goto yy38;
973
0
        } else {
974
0
          if (yych == '$') goto yy38;
975
0
          if (yych <= '%') goto yy5;
976
0
          goto yy38;
977
0
        }
978
0
      }
979
0
    } else {
980
0
      if (yych <= '=') {
981
0
        if (yych <= ':') {
982
0
          if (yych <= '\'') goto yy5;
983
0
          if (yych <= ')') goto yy38;
984
0
          goto yy5;
985
0
        } else {
986
0
          if (yych == '<') goto yy5;
987
0
          goto yy38;
988
0
        }
989
0
      } else {
990
0
        if (yych <= '\\') {
991
0
          if (yych == '[') goto yy30;
992
0
          goto yy5;
993
0
        } else {
994
0
          if (yych <= '^') goto yy38;
995
0
          if (yych <= 'z') goto yy5;
996
0
          if (yych <= '~') goto yy38;
997
0
          goto yy5;
998
0
        }
999
0
      }
1000
0
    }
1001
0
yy51:
1002
0
    YYDEBUG(51, *YYCURSOR);
1003
0
    yych = *++YYCURSOR;
1004
0
    if (yych == 'E') goto yy49;
1005
0
    if (yych == 'e') goto yy49;
1006
0
    goto yy6;
1007
0
yy52:
1008
0
    YYDEBUG(52, *YYCURSOR);
1009
0
    yych = *++YYCURSOR;
1010
0
    if (yych == 'L') goto yy56;
1011
0
    if (yych == 'l') goto yy56;
1012
0
    goto yy6;
1013
13
yy53:
1014
13
    YYDEBUG(53, *YYCURSOR);
1015
13
    ++YYCURSOR;
1016
13
    YYFILL(1);
1017
13
    yych = *YYCURSOR;
1018
13
    YYDEBUG(54, *YYCURSOR);
1019
13
    if (yych == '\t') goto yy53;
1020
13
    if (yych == ' ') goto yy53;
1021
13
    goto yy43;
1022
13
yy55:
1023
0
    YYDEBUG(55, *YYCURSOR);
1024
0
    yych = *++YYCURSOR;
1025
0
    if (yych == 'E') goto yy41;
1026
0
    if (yych == 'e') goto yy41;
1027
0
    goto yy6;
1028
0
yy56:
1029
0
    YYDEBUG(56, *YYCURSOR);
1030
0
    ++YYCURSOR;
1031
0
    YYFILL(1);
1032
0
    yych = *YYCURSOR;
1033
0
    YYDEBUG(57, *YYCURSOR);
1034
0
    if (yych <= '&') {
1035
0
      if (yych <= '\r') {
1036
0
        if (yych <= '\t') {
1037
0
          if (yych <= 0x00) goto yy58;
1038
0
          if (yych <= 0x08) goto yy5;
1039
0
          goto yy59;
1040
0
        } else {
1041
0
          if (yych <= '\n') goto yy58;
1042
0
          if (yych <= '\f') goto yy5;
1043
0
        }
1044
0
      } else {
1045
0
        if (yych <= '"') {
1046
0
          if (yych <= 0x1F) goto yy5;
1047
0
          if (yych <= ' ') goto yy56;
1048
0
        } else {
1049
0
          if (yych == '$') goto yy58;
1050
0
          if (yych <= '%') goto yy5;
1051
0
        }
1052
0
      }
1053
0
    } else {
1054
0
      if (yych <= '=') {
1055
0
        if (yych <= ':') {
1056
0
          if (yych <= '\'') goto yy5;
1057
0
          if (yych >= '*') goto yy5;
1058
0
        } else {
1059
0
          if (yych == '<') goto yy5;
1060
0
        }
1061
0
      } else {
1062
0
        if (yych <= '\\') {
1063
0
          if (yych == '[') goto yy30;
1064
0
          goto yy5;
1065
0
        } else {
1066
0
          if (yych <= '^') goto yy58;
1067
0
          if (yych <= 'z') goto yy5;
1068
0
          if (yych >= 0x7F) goto yy5;
1069
0
        }
1070
0
      }
1071
0
    }
1072
0
yy58:
1073
0
    YYDEBUG(58, *YYCURSOR);
1074
0
    yyleng = YYCURSOR - SCNG(yy_text);
1075
0
#line 499 "Zend/zend_ini_scanner.l"
1076
0
    {
1077
0
  RETURN_TOKEN(NULL_NULL, "", 0);
1078
0
}
1079
0
#line 1080 "Zend/zend_ini_scanner.c"
1080
0
yy59:
1081
0
    YYDEBUG(59, *YYCURSOR);
1082
0
    ++YYCURSOR;
1083
0
    YYFILL(1);
1084
0
    yych = *YYCURSOR;
1085
0
    YYDEBUG(60, *YYCURSOR);
1086
0
    if (yych == '\t') goto yy59;
1087
0
    if (yych == ' ') goto yy59;
1088
0
    goto yy58;
1089
0
  }
1090
/* *********************************** */
1091
273k
yyc_ST_OFFSET:
1092
273k
  {
1093
273k
    static const unsigned char yybm[] = {
1094
273k
      132, 132, 132, 132, 132, 132, 132, 132, 
1095
273k
      132, 140, 128, 132, 132, 128, 132, 132, 
1096
273k
      132, 132, 132, 132, 132, 132, 132, 132, 
1097
273k
      132, 132, 132, 132, 132, 132, 132, 132, 
1098
273k
      140, 132, 128, 132, 192, 132, 132,   0, 
1099
273k
      132, 132, 132, 132, 132, 132, 132, 132, 
1100
273k
      180, 180, 180, 180, 180, 180, 180, 180, 
1101
273k
      180, 180, 132, 128, 132, 132, 132, 132, 
1102
273k
      132, 164, 164, 164, 164, 164, 164, 164, 
1103
273k
      164, 164, 164, 164, 164, 164, 164, 164, 
1104
273k
      164, 164, 164, 164, 164, 164, 164, 164, 
1105
273k
      164, 164, 164, 132, 192, 128, 132, 164, 
1106
273k
      132, 164, 164, 164, 164, 164, 164, 164, 
1107
273k
      164, 164, 164, 164, 164, 164, 164, 164, 
1108
273k
      164, 164, 164, 164, 164, 164, 164, 164, 
1109
273k
      164, 164, 164, 132, 132, 132, 132, 132, 
1110
273k
      132, 132, 132, 132, 132, 132, 132, 132, 
1111
273k
      132, 132, 132, 132, 132, 132, 132, 132, 
1112
273k
      132, 132, 132, 132, 132, 132, 132, 132, 
1113
273k
      132, 132, 132, 132, 132, 132, 132, 132, 
1114
273k
      132, 132, 132, 132, 132, 132, 132, 132, 
1115
273k
      132, 132, 132, 132, 132, 132, 132, 132, 
1116
273k
      132, 132, 132, 132, 132, 132, 132, 132, 
1117
273k
      132, 132, 132, 132, 132, 132, 132, 132, 
1118
273k
      132, 132, 132, 132, 132, 132, 132, 132, 
1119
273k
      132, 132, 132, 132, 132, 132, 132, 132, 
1120
273k
      132, 132, 132, 132, 132, 132, 132, 132, 
1121
273k
      132, 132, 132, 132, 132, 132, 132, 132, 
1122
273k
      132, 132, 132, 132, 132, 132, 132, 132, 
1123
273k
      132, 132, 132, 132, 132, 132, 132, 132, 
1124
273k
      132, 132, 132, 132, 132, 132, 132, 132, 
1125
273k
      132, 132, 132, 132, 132, 132, 132, 132, 
1126
273k
    };
1127
273k
    YYDEBUG(61, *YYCURSOR);
1128
273k
    YYFILL(2);
1129
273k
    yych = *YYCURSOR;
1130
273k
    if (yybm[0+yych] & 8) {
1131
3.61k
      goto yy66;
1132
3.61k
    }
1133
269k
    if (yych <= '/') {
1134
202k
      if (yych <= '"') {
1135
166k
        if (yych <= '\f') {
1136
550
          if (yych <= 0x08) goto yy63;
1137
264
          if (yych <= '\n') goto yy68;
1138
165k
        } else {
1139
165k
          if (yych <= '\r') goto yy68;
1140
165k
          if (yych >= '"') goto yy70;
1141
165k
        }
1142
166k
      } else {
1143
35.8k
        if (yych <= '&') {
1144
1.71k
          if (yych == '$') goto yy72;
1145
34.1k
        } else {
1146
34.1k
          if (yych <= '\'') goto yy73;
1147
11.9k
          if (yych <= ',') goto yy63;
1148
8.79k
          if (yych <= '.') goto yy74;
1149
8.79k
        }
1150
35.8k
      }
1151
202k
    } else {
1152
67.7k
      if (yych <= '[') {
1153
38.5k
        if (yych <= ';') {
1154
33.1k
          if (yych <= '9') goto yy75;
1155
4.06k
          if (yych >= ';') goto yy68;
1156
5.44k
        } else {
1157
5.44k
          if (yych <= '@') goto yy63;
1158
1.29k
          if (yych <= 'Z') goto yy78;
1159
1.29k
        }
1160
38.5k
      } else {
1161
29.1k
        if (yych <= '^') {
1162
3.76k
          if (yych <= '\\') goto yy81;
1163
450
          if (yych <= ']') goto yy82;
1164
25.3k
        } else {
1165
25.3k
          if (yych == '`') goto yy63;
1166
25.3k
          if (yych <= 'z') goto yy78;
1167
25.3k
        }
1168
29.1k
      }
1169
67.7k
    }
1170
814k
yy63:
1171
814k
    YYDEBUG(63, *YYCURSOR);
1172
814k
    yyaccept = 0;
1173
814k
    YYMARKER = ++YYCURSOR;
1174
814k
    YYFILL(1);
1175
813k
    yych = *YYCURSOR;
1176
820k
yy64:
1177
820k
    YYDEBUG(64, *YYCURSOR);
1178
820k
    if (yybm[0+yych] & 4) {
1179
745k
      goto yy63;
1180
745k
    }
1181
74.5k
    if (yych <= '"') goto yy65;
1182
24.2k
    if (yych <= '$') goto yy84;
1183
21.4k
    if (yych <= ';') goto yy65;
1184
12.1k
    if (yych <= '\\') goto yy81;
1185
59.6k
yy65:
1186
59.6k
    YYDEBUG(65, *YYCURSOR);
1187
59.6k
    yyleng = YYCURSOR - SCNG(yy_text);
1188
59.6k
#line 606 "Zend/zend_ini_scanner.l"
1189
59.6k
    { /* Get rest as section/offset value */
1190
59.6k
  RETURN_TOKEN(TC_STRING, yytext, yyleng);
1191
0
}
1192
0
#line 1193 "Zend/zend_ini_scanner.c"
1193
3.61k
yy66:
1194
3.61k
    YYDEBUG(66, *YYCURSOR);
1195
3.61k
    yyaccept = 0;
1196
3.61k
    YYMARKER = ++YYCURSOR;
1197
3.61k
    YYFILL(1);
1198
3.61k
    yych = *YYCURSOR;
1199
3.61k
    YYDEBUG(67, *YYCURSOR);
1200
3.61k
    if (yybm[0+yych] & 8) {
1201
0
      goto yy66;
1202
0
    }
1203
3.61k
    if (yych <= '$') {
1204
1.83k
      if (yych <= '\r') {
1205
31
        if (yych <= 0x08) goto yy63;
1206
0
        if (yych <= '\n') goto yy65;
1207
0
        if (yych <= '\f') goto yy63;
1208
0
        goto yy65;
1209
1.79k
      } else {
1210
1.79k
        if (yych == '"') goto yy70;
1211
0
        if (yych <= '#') goto yy63;
1212
0
        goto yy84;
1213
0
      }
1214
1.83k
    } else {
1215
1.78k
      if (yych <= ';') {
1216
720
        if (yych == '\'') goto yy65;
1217
720
        if (yych <= ':') goto yy63;
1218
0
        goto yy65;
1219
1.06k
      } else {
1220
1.06k
        if (yych <= '[') goto yy63;
1221
1.03k
        if (yych <= '\\') goto yy81;
1222
1.03k
        if (yych <= ']') goto yy82;
1223
1.03k
        goto yy63;
1224
1.03k
      }
1225
1.78k
    }
1226
1.83k
yy68:
1227
1.83k
    YYDEBUG(68, *YYCURSOR);
1228
1.83k
    ++YYCURSOR;
1229
2.07k
yy69:
1230
2.07k
    YYDEBUG(69, *YYCURSOR);
1231
2.07k
    yyleng = YYCURSOR - SCNG(yy_text);
1232
2.07k
#line 686 "Zend/zend_ini_scanner.l"
1233
2.07k
    {
1234
2.07k
  return 0;
1235
1.83k
}
1236
0
#line 1237 "Zend/zend_ini_scanner.c"
1237
164k
yy70:
1238
164k
    YYDEBUG(70, *YYCURSOR);
1239
164k
    ++YYCURSOR;
1240
164k
    YYDEBUG(71, *YYCURSOR);
1241
164k
    yyleng = YYCURSOR - SCNG(yy_text);
1242
164k
#line 610 "Zend/zend_ini_scanner.l"
1243
164k
    { /* Double quoted '"' string start */
1244
164k
  yy_push_state(ST_DOUBLE_QUOTES);
1245
164k
  return '"';
1246
1.83k
}
1247
0
#line 1248 "Zend/zend_ini_scanner.c"
1248
1.07k
yy72:
1249
1.07k
    YYDEBUG(72, *YYCURSOR);
1250
1.07k
    yych = *++YYCURSOR;
1251
1.07k
    if (yych <= '\\') {
1252
1.07k
      if (yych <= 0x00) goto yy69;
1253
1.06k
      if (yych <= '[') goto yy63;
1254
0
      goto yy86;
1255
1.06k
    } else {
1256
1
      if (yych == '{') goto yy88;
1257
1
      goto yy63;
1258
1
    }
1259
22.2k
yy73:
1260
22.2k
    YYDEBUG(73, *YYCURSOR);
1261
22.2k
    yych = *++YYCURSOR;
1262
22.2k
    if (yybm[0+yych] & 128) {
1263
21.9k
      goto yy90;
1264
21.9k
    }
1265
229
    goto yy69;
1266
7.37k
yy74:
1267
7.37k
    YYDEBUG(74, *YYCURSOR);
1268
7.37k
    yyaccept = 0;
1269
7.37k
    yych = *(YYMARKER = ++YYCURSOR);
1270
7.37k
    if (yych <= '/') goto yy64;
1271
5.68k
    if (yych <= '9') goto yy92;
1272
5.31k
    goto yy64;
1273
68.3k
yy75:
1274
68.3k
    YYDEBUG(75, *YYCURSOR);
1275
68.3k
    yyaccept = 1;
1276
68.3k
    YYMARKER = ++YYCURSOR;
1277
68.3k
    YYFILL(1);
1278
68.3k
    yych = *YYCURSOR;
1279
68.3k
    YYDEBUG(76, *YYCURSOR);
1280
68.3k
    if (yybm[0+yych] & 16) {
1281
39.2k
      goto yy75;
1282
39.2k
    }
1283
29.0k
    if (yych <= '&') {
1284
8.83k
      if (yych <= '\r') {
1285
162
        if (yych == '\n') goto yy77;
1286
162
        if (yych <= '\f') goto yy63;
1287
8.66k
      } else {
1288
8.66k
        if (yych <= '"') {
1289
8.58k
          if (yych <= '!') goto yy63;
1290
8.58k
        } else {
1291
88
          if (yych == '$') goto yy84;
1292
53
          goto yy63;
1293
88
        }
1294
8.66k
      }
1295
20.2k
    } else {
1296
20.2k
      if (yych <= ':') {
1297
17.3k
        if (yych <= '\'') goto yy77;
1298
11.4k
        if (yych == '.') goto yy92;
1299
5.91k
        goto yy63;
1300
11.4k
      } else {
1301
2.87k
        if (yych <= '[') {
1302
547
          if (yych >= '<') goto yy63;
1303
2.32k
        } else {
1304
2.32k
          if (yych <= '\\') goto yy81;
1305
2.22k
          if (yych >= '^') goto yy63;
1306
2.22k
        }
1307
2.87k
      }
1308
20.2k
    }
1309
16.5k
yy77:
1310
16.5k
    YYDEBUG(77, *YYCURSOR);
1311
16.5k
    yyleng = YYCURSOR - SCNG(yy_text);
1312
16.5k
#line 580 "Zend/zend_ini_scanner.l"
1313
16.5k
    { /* Get number option value as string */
1314
16.5k
  RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
1315
0
}
1316
0
#line 1317 "Zend/zend_ini_scanner.c"
1317
84.4k
yy78:
1318
84.4k
    YYDEBUG(78, *YYCURSOR);
1319
84.4k
    yyaccept = 2;
1320
84.4k
    YYMARKER = ++YYCURSOR;
1321
84.4k
    YYFILL(1);
1322
84.4k
    yych = *YYCURSOR;
1323
84.4k
    YYDEBUG(79, *YYCURSOR);
1324
84.4k
    if (yybm[0+yych] & 32) {
1325
65.4k
      goto yy78;
1326
65.4k
    }
1327
19.0k
    if (yych <= '$') {
1328
8.56k
      if (yych <= '\r') {
1329
902
        if (yych == '\n') goto yy80;
1330
884
        if (yych <= '\f') goto yy63;
1331
7.66k
      } else {
1332
7.66k
        if (yych == '"') goto yy80;
1333
3.45k
        if (yych <= '#') goto yy63;
1334
0
        goto yy84;
1335
3.45k
      }
1336
10.4k
    } else {
1337
10.4k
      if (yych <= ';') {
1338
7.64k
        if (yych == '\'') goto yy80;
1339
4.64k
        if (yych <= ':') goto yy63;
1340
4.64k
      } else {
1341
2.84k
        if (yych <= '[') goto yy63;
1342
2.80k
        if (yych <= '\\') goto yy81;
1343
2.53k
        if (yych >= '^') goto yy63;
1344
2.53k
      }
1345
10.4k
    }
1346
7.24k
yy80:
1347
7.24k
    YYDEBUG(80, *YYCURSOR);
1348
7.24k
    yyleng = YYCURSOR - SCNG(yy_text);
1349
7.24k
#line 576 "Zend/zend_ini_scanner.l"
1350
7.24k
    { /* Get constant option value */
1351
7.24k
  RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
1352
0
}
1353
0
#line 1354 "Zend/zend_ini_scanner.c"
1354
15.6k
yy81:
1355
15.6k
    YYDEBUG(81, *YYCURSOR);
1356
15.6k
    ++YYCURSOR;
1357
15.6k
    YYFILL(1);
1358
15.6k
    yych = *YYCURSOR;
1359
15.6k
    goto yy63;
1360
359
yy82:
1361
359
    YYDEBUG(82, *YYCURSOR);
1362
359
    ++YYCURSOR;
1363
359
    YYDEBUG(83, *YYCURSOR);
1364
359
    yyleng = YYCURSOR - SCNG(yy_text);
1365
359
#line 417 "Zend/zend_ini_scanner.l"
1366
359
    { /* End of section or an option offset */
1367
359
  BEGIN(INITIAL);
1368
359
  return ']';
1369
15.6k
}
1370
0
#line 1371 "Zend/zend_ini_scanner.c"
1371
2.92k
yy84:
1372
2.92k
    YYDEBUG(84, *YYCURSOR);
1373
2.92k
    ++YYCURSOR;
1374
2.92k
    YYFILL(1);
1375
2.92k
    yych = *YYCURSOR;
1376
2.92k
    if (yych <= '\\') {
1377
2.92k
      if (yych <= 0x00) goto yy85;
1378
2.92k
      if (yych <= '[') goto yy63;
1379
0
      goto yy86;
1380
2.92k
    } else {
1381
0
      if (yych != '{') goto yy63;
1382
0
    }
1383
3
yy85:
1384
3
    YYDEBUG(85, *YYCURSOR);
1385
3
    YYCURSOR = YYMARKER;
1386
3
    if (yyaccept <= 1) {
1387
3
      if (yyaccept == 0) {
1388
3
        goto yy65;
1389
3
      } else {
1390
0
        goto yy77;
1391
0
      }
1392
3
    } else {
1393
0
      goto yy80;
1394
0
    }
1395
0
yy86:
1396
0
    YYDEBUG(86, *YYCURSOR);
1397
0
    ++YYCURSOR;
1398
0
    YYFILL(1);
1399
0
    yych = *YYCURSOR;
1400
0
    YYDEBUG(87, *YYCURSOR);
1401
0
    if (yybm[0+yych] & 64) {
1402
0
      goto yy86;
1403
0
    }
1404
0
    goto yy63;
1405
0
yy88:
1406
0
    YYDEBUG(88, *YYCURSOR);
1407
0
    ++YYCURSOR;
1408
0
    YYDEBUG(89, *YYCURSOR);
1409
0
    yyleng = YYCURSOR - SCNG(yy_text);
1410
0
#line 422 "Zend/zend_ini_scanner.l"
1411
0
    { /* Variable start */
1412
0
  yy_push_state(ST_VARNAME);
1413
0
  return TC_DOLLAR_CURLY;
1414
0
}
1415
0
#line 1416 "Zend/zend_ini_scanner.c"
1416
906k
yy90:
1417
906k
    YYDEBUG(90, *YYCURSOR);
1418
906k
    ++YYCURSOR;
1419
906k
    YYFILL(1);
1420
905k
    yych = *YYCURSOR;
1421
905k
    YYDEBUG(91, *YYCURSOR);
1422
905k
    if (yybm[0+yych] & 128) {
1423
884k
      goto yy90;
1424
884k
    }
1425
21.4k
    goto yy94;
1426
21.4k
yy92:
1427
19.0k
    YYDEBUG(92, *YYCURSOR);
1428
19.0k
    yyaccept = 1;
1429
19.0k
    YYMARKER = ++YYCURSOR;
1430
19.0k
    YYFILL(1);
1431
19.0k
    yych = *YYCURSOR;
1432
19.0k
    YYDEBUG(93, *YYCURSOR);
1433
19.0k
    if (yych <= '&') {
1434
1.95k
      if (yych <= '\r') {
1435
2
        if (yych == '\n') goto yy77;
1436
2
        if (yych <= '\f') goto yy63;
1437
0
        goto yy77;
1438
1.95k
      } else {
1439
1.95k
        if (yych <= '"') {
1440
1.84k
          if (yych <= '!') goto yy63;
1441
1.84k
          goto yy77;
1442
1.84k
        } else {
1443
103
          if (yych == '$') goto yy84;
1444
103
          goto yy63;
1445
103
        }
1446
1.95k
      }
1447
17.0k
    } else {
1448
17.0k
      if (yych <= ':') {
1449
14.8k
        if (yych <= '\'') goto yy77;
1450
14.7k
        if (yych <= '/') goto yy63;
1451
13.3k
        if (yych <= '9') goto yy92;
1452
250
        goto yy63;
1453
13.3k
      } else {
1454
2.27k
        if (yych <= '[') {
1455
351
          if (yych <= ';') goto yy77;
1456
351
          goto yy63;
1457
1.92k
        } else {
1458
1.92k
          if (yych <= '\\') goto yy81;
1459
1.92k
          if (yych <= ']') goto yy77;
1460
1.92k
          goto yy63;
1461
1.92k
        }
1462
2.27k
      }
1463
17.0k
    }
1464
21.4k
yy94:
1465
21.4k
    YYDEBUG(94, *YYCURSOR);
1466
21.4k
    ++YYCURSOR;
1467
21.4k
    YYDEBUG(95, *YYCURSOR);
1468
21.4k
    yyleng = YYCURSOR - SCNG(yy_text);
1469
21.4k
#line 389 "Zend/zend_ini_scanner.l"
1470
21.4k
    { /* Raw string */
1471
  /* Eat leading and trailing single quotes */
1472
21.4k
  if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') {
1473
21.4k
    SCNG(yy_text)++;
1474
21.4k
    yyleng = yyleng - 2;
1475
21.4k
  }
1476
21.4k
  RETURN_TOKEN(TC_RAW, yytext, yyleng);
1477
0
}
1478
0
#line 1479 "Zend/zend_ini_scanner.c"
1479
0
  }
1480
/* *********************************** */
1481
11.4k
yyc_ST_SECTION_VALUE:
1482
11.4k
  {
1483
11.4k
    static const unsigned char yybm[] = {
1484
11.4k
      132, 132, 132, 132, 132, 132, 132, 132, 
1485
11.4k
      132, 140, 128, 132, 132, 128, 132, 132, 
1486
11.4k
      132, 132, 132, 132, 132, 132, 132, 132, 
1487
11.4k
      132, 132, 132, 132, 132, 132, 132, 132, 
1488
11.4k
      140, 132, 128, 132, 192, 132, 132,   0, 
1489
11.4k
      132, 132, 132, 132, 132, 132, 132, 132, 
1490
11.4k
      180, 180, 180, 180, 180, 180, 180, 180, 
1491
11.4k
      180, 180, 132, 128, 132, 132, 132, 132, 
1492
11.4k
      132, 164, 164, 164, 164, 164, 164, 164, 
1493
11.4k
      164, 164, 164, 164, 164, 164, 164, 164, 
1494
11.4k
      164, 164, 164, 164, 164, 164, 164, 164, 
1495
11.4k
      164, 164, 164, 132, 192, 128, 132, 164, 
1496
11.4k
      132, 164, 164, 164, 164, 164, 164, 164, 
1497
11.4k
      164, 164, 164, 164, 164, 164, 164, 164, 
1498
11.4k
      164, 164, 164, 164, 164, 164, 164, 164, 
1499
11.4k
      164, 164, 164, 132, 132, 132, 132, 132, 
1500
11.4k
      132, 132, 132, 132, 132, 132, 132, 132, 
1501
11.4k
      132, 132, 132, 132, 132, 132, 132, 132, 
1502
11.4k
      132, 132, 132, 132, 132, 132, 132, 132, 
1503
11.4k
      132, 132, 132, 132, 132, 132, 132, 132, 
1504
11.4k
      132, 132, 132, 132, 132, 132, 132, 132, 
1505
11.4k
      132, 132, 132, 132, 132, 132, 132, 132, 
1506
11.4k
      132, 132, 132, 132, 132, 132, 132, 132, 
1507
11.4k
      132, 132, 132, 132, 132, 132, 132, 132, 
1508
11.4k
      132, 132, 132, 132, 132, 132, 132, 132, 
1509
11.4k
      132, 132, 132, 132, 132, 132, 132, 132, 
1510
11.4k
      132, 132, 132, 132, 132, 132, 132, 132, 
1511
11.4k
      132, 132, 132, 132, 132, 132, 132, 132, 
1512
11.4k
      132, 132, 132, 132, 132, 132, 132, 132, 
1513
11.4k
      132, 132, 132, 132, 132, 132, 132, 132, 
1514
11.4k
      132, 132, 132, 132, 132, 132, 132, 132, 
1515
11.4k
      132, 132, 132, 132, 132, 132, 132, 132, 
1516
11.4k
    };
1517
11.4k
    YYDEBUG(96, *YYCURSOR);
1518
11.4k
    YYFILL(2);
1519
11.4k
    yych = *YYCURSOR;
1520
11.4k
    if (yybm[0+yych] & 8) {
1521
226
      goto yy101;
1522
226
    }
1523
11.2k
    if (yych <= '/') {
1524
7.19k
      if (yych <= '"') {
1525
1.98k
        if (yych <= '\f') {
1526
493
          if (yych <= 0x08) goto yy98;
1527
493
          if (yych <= '\n') goto yy103;
1528
1.48k
        } else {
1529
1.48k
          if (yych <= '\r') goto yy103;
1530
1.18k
          if (yych >= '"') goto yy105;
1531
1.18k
        }
1532
5.21k
      } else {
1533
5.21k
        if (yych <= '&') {
1534
6
          if (yych == '$') goto yy107;
1535
5.21k
        } else {
1536
5.21k
          if (yych <= '\'') goto yy108;
1537
2.28k
          if (yych <= ',') goto yy98;
1538
2.07k
          if (yych <= '.') goto yy109;
1539
2.07k
        }
1540
5.21k
      }
1541
7.19k
    } else {
1542
4.03k
      if (yych <= '[') {
1543
1.07k
        if (yych <= ';') {
1544
770
          if (yych <= '9') goto yy110;
1545
584
          if (yych >= ';') goto yy103;
1546
584
        } else {
1547
302
          if (yych <= '@') goto yy98;
1548
242
          if (yych <= 'Z') goto yy113;
1549
242
        }
1550
2.96k
      } else {
1551
2.96k
        if (yych <= '^') {
1552
611
          if (yych <= '\\') goto yy116;
1553
440
          if (yych <= ']') goto yy117;
1554
2.35k
        } else {
1555
2.35k
          if (yych == '`') goto yy98;
1556
2.35k
          if (yych <= 'z') goto yy113;
1557
2.35k
        }
1558
2.96k
      }
1559
4.03k
    }
1560
165k
yy98:
1561
165k
    YYDEBUG(98, *YYCURSOR);
1562
165k
    yyaccept = 0;
1563
165k
    YYMARKER = ++YYCURSOR;
1564
165k
    YYFILL(1);
1565
164k
    yych = *YYCURSOR;
1566
164k
yy99:
1567
164k
    YYDEBUG(99, *YYCURSOR);
1568
164k
    if (yybm[0+yych] & 4) {
1569
160k
      goto yy98;
1570
160k
    }
1571
4.37k
    if (yych <= '"') goto yy100;
1572
3.30k
    if (yych <= '$') goto yy120;
1573
3.29k
    if (yych <= ';') goto yy100;
1574
189
    if (yych <= '\\') goto yy116;
1575
4.32k
yy100:
1576
4.32k
    YYDEBUG(100, *YYCURSOR);
1577
4.32k
    yyleng = YYCURSOR - SCNG(yy_text);
1578
4.32k
#line 606 "Zend/zend_ini_scanner.l"
1579
4.32k
    { /* Get rest as section/offset value */
1580
4.32k
  RETURN_TOKEN(TC_STRING, yytext, yyleng);
1581
0
}
1582
0
#line 1583 "Zend/zend_ini_scanner.c"
1583
234
yy101:
1584
234
    YYDEBUG(101, *YYCURSOR);
1585
234
    yyaccept = 0;
1586
234
    YYMARKER = ++YYCURSOR;
1587
234
    YYFILL(1);
1588
234
    yych = *YYCURSOR;
1589
234
    YYDEBUG(102, *YYCURSOR);
1590
234
    if (yybm[0+yych] & 8) {
1591
8
      goto yy101;
1592
8
    }
1593
226
    if (yych <= '$') {
1594
7
      if (yych <= '\r') {
1595
7
        if (yych <= 0x08) goto yy98;
1596
0
        if (yych <= '\n') goto yy100;
1597
0
        if (yych <= '\f') goto yy98;
1598
0
        goto yy100;
1599
0
      } else {
1600
0
        if (yych == '"') goto yy105;
1601
0
        if (yych <= '#') goto yy98;
1602
0
        goto yy120;
1603
0
      }
1604
219
    } else {
1605
219
      if (yych <= ';') {
1606
166
        if (yych == '\'') goto yy100;
1607
166
        if (yych <= ':') goto yy98;
1608
0
        goto yy100;
1609
166
      } else {
1610
53
        if (yych <= '[') goto yy98;
1611
0
        if (yych <= '\\') goto yy116;
1612
0
        if (yych <= ']') goto yy100;
1613
0
        goto yy98;
1614
0
      }
1615
219
    }
1616
1.37k
yy103:
1617
1.37k
    YYDEBUG(103, *YYCURSOR);
1618
1.37k
    ++YYCURSOR;
1619
1.43k
yy104:
1620
1.43k
    YYDEBUG(104, *YYCURSOR);
1621
1.43k
    yyleng = YYCURSOR - SCNG(yy_text);
1622
1.43k
#line 686 "Zend/zend_ini_scanner.l"
1623
1.43k
    {
1624
1.43k
  return 0;
1625
1.37k
}
1626
0
#line 1627 "Zend/zend_ini_scanner.c"
1627
1.00k
yy105:
1628
1.00k
    YYDEBUG(105, *YYCURSOR);
1629
1.00k
    ++YYCURSOR;
1630
1.00k
    YYDEBUG(106, *YYCURSOR);
1631
1.00k
    yyleng = YYCURSOR - SCNG(yy_text);
1632
1.00k
#line 610 "Zend/zend_ini_scanner.l"
1633
1.00k
    { /* Double quoted '"' string start */
1634
1.00k
  yy_push_state(ST_DOUBLE_QUOTES);
1635
1.00k
  return '"';
1636
1.37k
}
1637
0
#line 1638 "Zend/zend_ini_scanner.c"
1638
3
yy107:
1639
3
    YYDEBUG(107, *YYCURSOR);
1640
3
    yych = *++YYCURSOR;
1641
3
    if (yych <= '\\') {
1642
0
      if (yych <= 0x00) goto yy104;
1643
0
      if (yych <= '[') goto yy98;
1644
0
      goto yy122;
1645
3
    } else {
1646
3
      if (yych == '{') goto yy124;
1647
0
      goto yy98;
1648
3
    }
1649
2.92k
yy108:
1650
2.92k
    YYDEBUG(108, *YYCURSOR);
1651
2.92k
    yych = *++YYCURSOR;
1652
2.92k
    if (yybm[0+yych] & 128) {
1653
2.86k
      goto yy126;
1654
2.86k
    }
1655
61
    goto yy104;
1656
2.06k
yy109:
1657
2.06k
    YYDEBUG(109, *YYCURSOR);
1658
2.06k
    yyaccept = 0;
1659
2.06k
    yych = *(YYMARKER = ++YYCURSOR);
1660
2.06k
    if (yych <= '/') goto yy99;
1661
2.06k
    if (yych <= '9') goto yy128;
1662
166
    goto yy99;
1663
582
yy110:
1664
582
    YYDEBUG(110, *YYCURSOR);
1665
582
    yyaccept = 1;
1666
582
    YYMARKER = ++YYCURSOR;
1667
582
    YYFILL(1);
1668
582
    yych = *YYCURSOR;
1669
582
    YYDEBUG(111, *YYCURSOR);
1670
582
    if (yybm[0+yych] & 16) {
1671
396
      goto yy110;
1672
396
    }
1673
186
    if (yych <= '&') {
1674
44
      if (yych <= '\r') {
1675
18
        if (yych == '\n') goto yy112;
1676
18
        if (yych <= '\f') goto yy98;
1677
26
      } else {
1678
26
        if (yych <= '"') {
1679
26
          if (yych <= '!') goto yy98;
1680
26
        } else {
1681
0
          if (yych == '$') goto yy120;
1682
0
          goto yy98;
1683
0
        }
1684
26
      }
1685
142
    } else {
1686
142
      if (yych <= ':') {
1687
33
        if (yych <= '\'') goto yy112;
1688
33
        if (yych == '.') goto yy128;
1689
3
        goto yy98;
1690
109
      } else {
1691
109
        if (yych <= '[') {
1692
0
          if (yych >= '<') goto yy98;
1693
109
        } else {
1694
109
          if (yych <= '\\') goto yy116;
1695
109
          if (yych >= '^') goto yy98;
1696
109
        }
1697
109
      }
1698
142
    }
1699
354
yy112:
1700
354
    YYDEBUG(112, *YYCURSOR);
1701
354
    yyleng = YYCURSOR - SCNG(yy_text);
1702
354
#line 580 "Zend/zend_ini_scanner.l"
1703
354
    { /* Get number option value as string */
1704
354
  RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
1705
0
}
1706
0
#line 1707 "Zend/zend_ini_scanner.c"
1707
2.84k
yy113:
1708
2.84k
    YYDEBUG(113, *YYCURSOR);
1709
2.84k
    yyaccept = 2;
1710
2.84k
    YYMARKER = ++YYCURSOR;
1711
2.84k
    YYFILL(1);
1712
2.84k
    yych = *YYCURSOR;
1713
2.84k
    YYDEBUG(114, *YYCURSOR);
1714
2.84k
    if (yybm[0+yych] & 32) {
1715
1.39k
      goto yy113;
1716
1.39k
    }
1717
1.45k
    if (yych <= '$') {
1718
515
      if (yych <= '\r') {
1719
162
        if (yych == '\n') goto yy115;
1720
18
        if (yych <= '\f') goto yy98;
1721
353
      } else {
1722
353
        if (yych == '"') goto yy115;
1723
236
        if (yych <= '#') goto yy98;
1724
0
        goto yy120;
1725
236
      }
1726
936
    } else {
1727
936
      if (yych <= ';') {
1728
353
        if (yych == '\'') goto yy115;
1729
233
        if (yych <= ':') goto yy98;
1730
583
      } else {
1731
583
        if (yych <= '[') goto yy98;
1732
552
        if (yych <= '\\') goto yy116;
1733
552
        if (yych >= '^') goto yy98;
1734
552
      }
1735
936
    }
1736
381
yy115:
1737
381
    YYDEBUG(115, *YYCURSOR);
1738
381
    yyleng = YYCURSOR - SCNG(yy_text);
1739
381
#line 576 "Zend/zend_ini_scanner.l"
1740
381
    { /* Get constant option value */
1741
381
  RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
1742
0
}
1743
0
#line 1744 "Zend/zend_ini_scanner.c"
1744
215
yy116:
1745
215
    YYDEBUG(116, *YYCURSOR);
1746
215
    ++YYCURSOR;
1747
215
    YYFILL(1);
1748
215
    yych = *YYCURSOR;
1749
215
    goto yy98;
1750
557
yy117:
1751
557
    YYDEBUG(117, *YYCURSOR);
1752
557
    ++YYCURSOR;
1753
557
    YYFILL(2);
1754
557
    yych = *YYCURSOR;
1755
557
    YYDEBUG(118, *YYCURSOR);
1756
557
    if (yych <= '\f') {
1757
282
      if (yych <= 0x08) goto yy119;
1758
282
      if (yych <= '\t') goto yy117;
1759
282
      if (yych <= '\n') goto yy130;
1760
282
    } else {
1761
275
      if (yych <= '\r') goto yy131;
1762
272
      if (yych == ' ') goto yy117;
1763
272
    }
1764
440
yy119:
1765
440
    YYDEBUG(119, *YYCURSOR);
1766
440
    yyleng = YYCURSOR - SCNG(yy_text);
1767
440
#line 398 "Zend/zend_ini_scanner.l"
1768
440
    { /* End of section */
1769
440
  BEGIN(INITIAL);
1770
440
  SCNG(lineno)++;
1771
440
  return ']';
1772
557
}
1773
0
#line 1774 "Zend/zend_ini_scanner.c"
1774
8
yy120:
1775
8
    YYDEBUG(120, *YYCURSOR);
1776
8
    ++YYCURSOR;
1777
8
    YYFILL(1);
1778
8
    yych = *YYCURSOR;
1779
8
    if (yych <= '\\') {
1780
8
      if (yych <= 0x00) goto yy121;
1781
8
      if (yych <= '[') goto yy98;
1782
0
      goto yy122;
1783
8
    } else {
1784
0
      if (yych != '{') goto yy98;
1785
0
    }
1786
0
yy121:
1787
0
    YYDEBUG(121, *YYCURSOR);
1788
0
    YYCURSOR = YYMARKER;
1789
0
    if (yyaccept <= 1) {
1790
0
      if (yyaccept == 0) {
1791
0
        goto yy100;
1792
0
      } else {
1793
0
        goto yy112;
1794
0
      }
1795
0
    } else {
1796
0
      goto yy115;
1797
0
    }
1798
0
yy122:
1799
0
    YYDEBUG(122, *YYCURSOR);
1800
0
    ++YYCURSOR;
1801
0
    YYFILL(1);
1802
0
    yych = *YYCURSOR;
1803
0
    YYDEBUG(123, *YYCURSOR);
1804
0
    if (yybm[0+yych] & 64) {
1805
0
      goto yy122;
1806
0
    }
1807
0
    goto yy98;
1808
3
yy124:
1809
3
    YYDEBUG(124, *YYCURSOR);
1810
3
    ++YYCURSOR;
1811
3
    YYDEBUG(125, *YYCURSOR);
1812
3
    yyleng = YYCURSOR - SCNG(yy_text);
1813
3
#line 422 "Zend/zend_ini_scanner.l"
1814
3
    { /* Variable start */
1815
3
  yy_push_state(ST_VARNAME);
1816
3
  return TC_DOLLAR_CURLY;
1817
0
}
1818
0
#line 1819 "Zend/zend_ini_scanner.c"
1819
245k
yy126:
1820
245k
    YYDEBUG(126, *YYCURSOR);
1821
245k
    ++YYCURSOR;
1822
245k
    YYFILL(1);
1823
244k
    yych = *YYCURSOR;
1824
244k
    YYDEBUG(127, *YYCURSOR);
1825
244k
    if (yybm[0+yych] & 128) {
1826
242k
      goto yy126;
1827
242k
    }
1828
2.57k
    goto yy132;
1829
2.84k
yy128:
1830
2.84k
    YYDEBUG(128, *YYCURSOR);
1831
2.84k
    yyaccept = 1;
1832
2.84k
    YYMARKER = ++YYCURSOR;
1833
2.84k
    YYFILL(1);
1834
2.84k
    yych = *YYCURSOR;
1835
2.84k
    YYDEBUG(129, *YYCURSOR);
1836
2.84k
    if (yych <= '&') {
1837
166
      if (yych <= '\r') {
1838
166
        if (yych == '\n') goto yy112;
1839
166
        if (yych <= '\f') goto yy98;
1840
0
        goto yy112;
1841
166
      } else {
1842
0
        if (yych <= '"') {
1843
0
          if (yych <= '!') goto yy98;
1844
0
          goto yy112;
1845
0
        } else {
1846
0
          if (yych == '$') goto yy120;
1847
0
          goto yy98;
1848
0
        }
1849
0
      }
1850
2.67k
    } else {
1851
2.67k
      if (yych <= ':') {
1852
936
        if (yych <= '\'') goto yy112;
1853
936
        if (yych <= '/') goto yy98;
1854
910
        if (yych <= '9') goto yy128;
1855
0
        goto yy98;
1856
1.73k
      } else {
1857
1.73k
        if (yych <= '[') {
1858
1.05k
          if (yych <= ';') goto yy112;
1859
964
          goto yy98;
1860
1.05k
        } else {
1861
681
          if (yych <= '\\') goto yy116;
1862
681
          if (yych <= ']') goto yy112;
1863
552
          goto yy98;
1864
681
        }
1865
1.73k
      }
1866
2.67k
    }
1867
282
yy130:
1868
282
    YYDEBUG(130, *YYCURSOR);
1869
282
    ++YYCURSOR;
1870
282
    goto yy119;
1871
3
yy131:
1872
3
    YYDEBUG(131, *YYCURSOR);
1873
3
    yych = *++YYCURSOR;
1874
3
    if (yych == '\n') goto yy130;
1875
3
    goto yy119;
1876
2.57k
yy132:
1877
2.57k
    YYDEBUG(132, *YYCURSOR);
1878
2.57k
    ++YYCURSOR;
1879
2.57k
    YYDEBUG(133, *YYCURSOR);
1880
2.57k
    yyleng = YYCURSOR - SCNG(yy_text);
1881
2.57k
#line 389 "Zend/zend_ini_scanner.l"
1882
2.57k
    { /* Raw string */
1883
  /* Eat leading and trailing single quotes */
1884
2.57k
  if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') {
1885
2.57k
    SCNG(yy_text)++;
1886
2.57k
    yyleng = yyleng - 2;
1887
2.57k
  }
1888
2.57k
  RETURN_TOKEN(TC_RAW, yytext, yyleng);
1889
0
}
1890
0
#line 1891 "Zend/zend_ini_scanner.c"
1891
0
  }
1892
/* *********************************** */
1893
195k
yyc_ST_VALUE:
1894
195k
  {
1895
195k
    static const unsigned char yybm[] = {
1896
195k
       80,  82,  82,  82,  82,  82,  82,  82, 
1897
195k
       82,  84,  64,  82,  82,  64,  82,  82, 
1898
195k
       82,  82,  82,  82,  82,  82,  82,  82, 
1899
195k
       82,  82,  82,  82,  82,  82,  82,  82, 
1900
195k
       84,  80,  80,  82, 208,  82,  80,  16, 
1901
195k
       80,  80,  82,  82,  82,  82,  82,  82, 
1902
195k
      122, 122, 122, 122, 122, 122, 122, 122, 
1903
195k
      122, 122,  82,  80,  82,  80,  82,  82, 
1904
195k
       82, 114, 114, 114, 114, 114, 114, 114, 
1905
195k
      114, 114, 114, 114, 114, 114, 114, 114, 
1906
195k
      114, 114, 114, 114, 114, 114, 114, 114, 
1907
195k
      114, 114, 114,  82,  82,  82,  80, 114, 
1908
195k
       82, 114, 114, 114, 114, 114, 114, 114, 
1909
195k
      114, 114, 114, 114, 114, 114, 114, 114, 
1910
195k
      114, 114, 114, 114, 114, 114, 114, 114, 
1911
195k
      114, 114, 114,  82,  80,  82,  80,  82, 
1912
195k
       82,  82,  82,  82,  82,  82,  82,  82, 
1913
195k
       82,  82,  82,  82,  82,  82,  82,  82, 
1914
195k
       82,  82,  82,  82,  82,  82,  82,  82, 
1915
195k
       82,  82,  82,  82,  82,  82,  82,  82, 
1916
195k
       82,  82,  82,  82,  82,  82,  82,  82, 
1917
195k
       82,  82,  82,  82,  82,  82,  82,  82, 
1918
195k
       82,  82,  82,  82,  82,  82,  82,  82, 
1919
195k
       82,  82,  82,  82,  82,  82,  82,  82, 
1920
195k
       82,  82,  82,  82,  82,  82,  82,  82, 
1921
195k
       82,  82,  82,  82,  82,  82,  82,  82, 
1922
195k
       82,  82,  82,  82,  82,  82,  82,  82, 
1923
195k
       82,  82,  82,  82,  82,  82,  82,  82, 
1924
195k
       82,  82,  82,  82,  82,  82,  82,  82, 
1925
195k
       82,  82,  82,  82,  82,  82,  82,  82, 
1926
195k
       82,  82,  82,  82,  82,  82,  82,  82, 
1927
195k
       82,  82,  82,  82,  82,  82,  82,  82, 
1928
195k
    };
1929
195k
    YYDEBUG(134, *YYCURSOR);
1930
195k
    YYFILL(6);
1931
195k
    yych = *YYCURSOR;
1932
195k
    if (yybm[0+yych] & 4) {
1933
36.6k
      goto yy141;
1934
36.6k
    }
1935
158k
    switch (yych) {
1936
0
    case 0x00:  goto yy136;
1937
0
    case '\t':
1938
9.71k
    case '\n':  goto yy144;
1939
3.30k
    case '\r':  goto yy146;
1940
0
    case ' ':
1941
295
    case '!':
1942
2.12k
    case '&':
1943
3.11k
    case '(':
1944
3.30k
    case ')':
1945
8.13k
    case '^':
1946
8.71k
    case '|':
1947
9.55k
    case '~': goto yy147;
1948
27.5k
    case '"': goto yy150;
1949
629
    case '$': goto yy152;
1950
5.62k
    case '\'':  goto yy153;
1951
1.15k
    case '-':
1952
3.30k
    case '.': goto yy154;
1953
682
    case '0':
1954
2.12k
    case '1':
1955
14.2k
    case '2':
1956
15.0k
    case '3':
1957
18.7k
    case '4':
1958
19.4k
    case '5':
1959
20.3k
    case '6':
1960
20.7k
    case '7':
1961
21.0k
    case '8':
1962
21.3k
    case '9': goto yy155;
1963
15.9k
    case ';': goto yy158;
1964
1.72k
    case '=': goto yy160;
1965
134
    case 'A':
1966
167
    case 'B':
1967
208
    case 'C':
1968
385
    case 'D':
1969
385
    case 'E':
1970
391
    case 'G':
1971
421
    case 'H':
1972
1.51k
    case 'I':
1973
1.51k
    case 'J':
1974
1.52k
    case 'K':
1975
1.55k
    case 'L':
1976
2.17k
    case 'M':
1977
2.39k
    case 'P':
1978
2.39k
    case 'Q':
1979
2.44k
    case 'R':
1980
2.53k
    case 'S':
1981
2.72k
    case 'U':
1982
2.95k
    case 'V':
1983
3.17k
    case 'W':
1984
3.17k
    case 'X':
1985
3.32k
    case 'Z':
1986
4.33k
    case '_':
1987
5.08k
    case 'a':
1988
5.40k
    case 'b':
1989
7.06k
    case 'c':
1990
7.35k
    case 'd':
1991
7.85k
    case 'e':
1992
7.89k
    case 'g':
1993
8.83k
    case 'h':
1994
12.1k
    case 'i':
1995
12.2k
    case 'j':
1996
12.2k
    case 'k':
1997
12.6k
    case 'l':
1998
13.2k
    case 'm':
1999
20.3k
    case 'p':
2000
21.3k
    case 'q':
2001
22.1k
    case 'r':
2002
25.2k
    case 's':
2003
25.8k
    case 'u':
2004
29.0k
    case 'v':
2005
29.1k
    case 'w':
2006
29.4k
    case 'x':
2007
29.5k
    case 'z': goto yy162;
2008
76
    case 'F':
2009
10.2k
    case 'f': goto yy165;
2010
10
    case 'N':
2011
456
    case 'n': goto yy166;
2012
169
    case 'O':
2013
584
    case 'o': goto yy167;
2014
587
    case 'T':
2015
1.94k
    case 't': goto yy168;
2016
109
    case 'Y':
2017
377
    case 'y': goto yy169;
2018
16.6k
    default:  goto yy138;
2019
158k
    }
2020
0
yy136:
2021
0
    YYDEBUG(136, *YYCURSOR);
2022
0
    ++YYCURSOR;
2023
32
yy137:
2024
32
    YYDEBUG(137, *YYCURSOR);
2025
32
    yyleng = YYCURSOR - SCNG(yy_text);
2026
32
#line 681 "Zend/zend_ini_scanner.l"
2027
32
    { /* End of option value (if EOF is reached before EOL */
2028
32
  BEGIN(INITIAL);
2029
32
  return END_OF_LINE;
2030
0
}
2031
0
#line 2032 "Zend/zend_ini_scanner.c"
2032
748k
yy138:
2033
748k
    YYDEBUG(138, *YYCURSOR);
2034
748k
    yyaccept = 0;
2035
748k
    YYMARKER = ++YYCURSOR;
2036
748k
    YYFILL(1);
2037
748k
    yych = *YYCURSOR;
2038
754k
yy139:
2039
754k
    YYDEBUG(139, *YYCURSOR);
2040
754k
    if (yybm[0+yych] & 2) {
2041
706k
      goto yy138;
2042
706k
    }
2043
48.3k
    if (yych <= '"') goto yy140;
2044
19.3k
    if (yych <= '$') goto yy170;
2045
45.7k
yy140:
2046
45.7k
    YYDEBUG(140, *YYCURSOR);
2047
45.7k
    yyleng = YYCURSOR - SCNG(yy_text);
2048
45.7k
#line 598 "Zend/zend_ini_scanner.l"
2049
45.7k
    { /* Get everything else as option/offset value */
2050
45.7k
  RETURN_TOKEN(TC_STRING, yytext, yyleng);
2051
0
}
2052
0
#line 2053 "Zend/zend_ini_scanner.c"
2053
71.6k
yy141:
2054
71.6k
    YYDEBUG(141, *YYCURSOR);
2055
71.6k
    ++YYCURSOR;
2056
71.6k
    YYFILL(2);
2057
71.6k
    yych = *YYCURSOR;
2058
71.6k
    YYDEBUG(142, *YYCURSOR);
2059
71.6k
    if (yybm[0+yych] & 4) {
2060
35.0k
      goto yy141;
2061
35.0k
    }
2062
36.6k
    if (yych <= '\r') {
2063
2.41k
      if (yych <= 0x08) goto yy143;
2064
603
      if (yych <= '\n') goto yy144;
2065
74
      if (yych >= '\r') goto yy146;
2066
34.2k
    } else {
2067
34.2k
      if (yych <= '"') {
2068
2.71k
        if (yych >= '"') goto yy150;
2069
31.4k
      } else {
2070
31.4k
        if (yych == ';') goto yy158;
2071
31.4k
      }
2072
34.2k
    }
2073
34.2k
yy143:
2074
34.2k
    YYDEBUG(143, *YYCURSOR);
2075
34.2k
    yyleng = YYCURSOR - SCNG(yy_text);
2076
34.2k
#line 661 "Zend/zend_ini_scanner.l"
2077
34.2k
    {
2078
34.2k
  RETURN_TOKEN(TC_WHITESPACE, yytext, yyleng);
2079
0
}
2080
0
#line 2081 "Zend/zend_ini_scanner.c"
2081
11.6k
yy144:
2082
11.6k
    YYDEBUG(144, *YYCURSOR);
2083
11.6k
    ++YYCURSOR;
2084
13.5k
yy145:
2085
13.5k
    YYDEBUG(145, *YYCURSOR);
2086
13.5k
    yyleng = YYCURSOR - SCNG(yy_text);
2087
13.5k
#line 570 "Zend/zend_ini_scanner.l"
2088
13.5k
    { /* End of option value */
2089
13.5k
  BEGIN(INITIAL);
2090
13.5k
  SCNG(lineno)++;
2091
13.5k
  return END_OF_LINE;
2092
11.6k
}
2093
0
#line 2094 "Zend/zend_ini_scanner.c"
2094
3.30k
yy146:
2095
3.30k
    YYDEBUG(146, *YYCURSOR);
2096
3.30k
    yych = *++YYCURSOR;
2097
3.30k
    if (yych == '\n') goto yy144;
2098
1.85k
    goto yy145;
2099
12.0k
yy147:
2100
12.0k
    YYDEBUG(147, *YYCURSOR);
2101
12.0k
    ++YYCURSOR;
2102
12.0k
    YYFILL(1);
2103
12.0k
    yych = *YYCURSOR;
2104
12.0k
    YYDEBUG(148, *YYCURSOR);
2105
12.0k
    if (yych == '\t') goto yy147;
2106
12.0k
    if (yych == ' ') goto yy147;
2107
9.55k
    YYDEBUG(149, *YYCURSOR);
2108
9.55k
    yyleng = YYCURSOR - SCNG(yy_text);
2109
9.55k
#line 588 "Zend/zend_ini_scanner.l"
2110
9.55k
    { /* Boolean operators */
2111
9.55k
  return yytext[0];
2112
12.0k
}
2113
0
#line 2114 "Zend/zend_ini_scanner.c"
2114
28.6k
yy150:
2115
28.6k
    YYDEBUG(150, *YYCURSOR);
2116
28.6k
    ++YYCURSOR;
2117
28.6k
    YYDEBUG(151, *YYCURSOR);
2118
28.6k
    yyleng = YYCURSOR - SCNG(yy_text);
2119
28.6k
#line 610 "Zend/zend_ini_scanner.l"
2120
28.6k
    { /* Double quoted '"' string start */
2121
28.6k
  yy_push_state(ST_DOUBLE_QUOTES);
2122
28.6k
  return '"';
2123
12.0k
}
2124
0
#line 2125 "Zend/zend_ini_scanner.c"
2125
629
yy152:
2126
629
    YYDEBUG(152, *YYCURSOR);
2127
629
    yych = *++YYCURSOR;
2128
629
    if (yych <= '\\') {
2129
629
      if (yych <= 0x00) goto yy137;
2130
629
      if (yych <= '[') goto yy138;
2131
0
      goto yy172;
2132
629
    } else {
2133
0
      if (yych == '{') goto yy173;
2134
0
      goto yy138;
2135
0
    }
2136
5.62k
yy153:
2137
5.62k
    YYDEBUG(153, *YYCURSOR);
2138
5.62k
    yych = *++YYCURSOR;
2139
5.62k
    if (yybm[0+yych] & 64) {
2140
5.59k
      goto yy175;
2141
5.59k
    }
2142
32
    goto yy137;
2143
3.30k
yy154:
2144
3.30k
    YYDEBUG(154, *YYCURSOR);
2145
3.30k
    yyaccept = 0;
2146
3.30k
    yych = *(YYMARKER = ++YYCURSOR);
2147
3.30k
    if (yych <= '/') goto yy139;
2148
3.10k
    if (yych <= '9') goto yy177;
2149
2.41k
    goto yy139;
2150
48.0k
yy155:
2151
48.0k
    YYDEBUG(155, *YYCURSOR);
2152
48.0k
    yyaccept = 1;
2153
48.0k
    YYMARKER = ++YYCURSOR;
2154
48.0k
    YYFILL(1);
2155
48.0k
    yych = *YYCURSOR;
2156
48.0k
    YYDEBUG(156, *YYCURSOR);
2157
48.0k
    if (yybm[0+yych] & 8) {
2158
26.7k
      goto yy155;
2159
26.7k
    }
2160
21.3k
    if (yych <= '-') {
2161
9.24k
      if (yych <= 0x1F) {
2162
778
        if (yych <= '\n') {
2163
616
          if (yych <= 0x00) goto yy157;
2164
388
          if (yych <= 0x08) goto yy138;
2165
388
        } else {
2166
162
          if (yych != '\r') goto yy138;
2167
162
        }
2168
8.46k
      } else {
2169
8.46k
        if (yych <= '$') {
2170
8.34k
          if (yych <= '"') goto yy157;
2171
1
          if (yych <= '#') goto yy138;
2172
1
          goto yy170;
2173
118
        } else {
2174
118
          if (yych <= '%') goto yy138;
2175
118
          if (yych >= '*') goto yy138;
2176
118
        }
2177
8.46k
      }
2178
12.0k
    } else {
2179
12.0k
      if (yych <= ']') {
2180
5.87k
        if (yych <= ';') {
2181
5.57k
          if (yych <= '.') goto yy177;
2182
1.00k
          if (yych <= ':') goto yy138;
2183
1.00k
        } else {
2184
299
          if (yych != '=') goto yy138;
2185
299
        }
2186
6.22k
      } else {
2187
6.22k
        if (yych <= '|') {
2188
2.82k
          if (yych <= '^') goto yy157;
2189
1.11k
          if (yych <= '{') goto yy138;
2190
3.39k
        } else {
2191
3.39k
          if (yych != '~') goto yy138;
2192
3.39k
        }
2193
6.22k
      }
2194
12.0k
    }
2195
14.9k
yy157:
2196
14.9k
    YYDEBUG(157, *YYCURSOR);
2197
14.9k
    yyleng = YYCURSOR - SCNG(yy_text);
2198
14.9k
#line 580 "Zend/zend_ini_scanner.l"
2199
14.9k
    { /* Get number option value as string */
2200
14.9k
  RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
2201
0
}
2202
0
#line 2203 "Zend/zend_ini_scanner.c"
2203
1.00M
yy158:
2204
1.00M
    YYDEBUG(158, *YYCURSOR);
2205
1.00M
    ++YYCURSOR;
2206
1.00M
    YYFILL(2);
2207
1.00M
    yych = *YYCURSOR;
2208
1.00M
    YYDEBUG(159, *YYCURSOR);
2209
1.00M
    if (yybm[0+yych] & 16) {
2210
985k
      goto yy158;
2211
985k
    }
2212
16.5k
    if (yych <= '\n') goto yy179;
2213
3.68k
    goto yy181;
2214
3.68k
yy160:
2215
1.72k
    YYDEBUG(160, *YYCURSOR);
2216
1.72k
    ++YYCURSOR;
2217
1.72k
    YYDEBUG(161, *YYCURSOR);
2218
1.72k
    yyleng = YYCURSOR - SCNG(yy_text);
2219
1.72k
#line 592 "Zend/zend_ini_scanner.l"
2220
1.72k
    { /* Make = used in option value to trigger error */
2221
1.72k
  yyless(0);
2222
1.72k
  BEGIN(INITIAL);
2223
1.72k
  return END_OF_LINE;
2224
16.5k
}
2225
0
#line 2226 "Zend/zend_ini_scanner.c"
2226
136k
yy162:
2227
136k
    YYDEBUG(162, *YYCURSOR);
2228
136k
    yyaccept = 2;
2229
136k
    YYMARKER = ++YYCURSOR;
2230
136k
    YYFILL(1);
2231
136k
    yych = *YYCURSOR;
2232
136k
    YYDEBUG(163, *YYCURSOR);
2233
136k
    if (yybm[0+yych] & 32) {
2234
101k
      goto yy162;
2235
101k
    }
2236
34.2k
    if (yych <= ')') {
2237
19.7k
      if (yych <= '\r') {
2238
7.54k
        if (yych <= 0x08) {
2239
406
          if (yych >= 0x01) goto yy138;
2240
7.13k
        } else {
2241
7.13k
          if (yych <= '\n') goto yy164;
2242
109
          if (yych <= '\f') goto yy138;
2243
109
        }
2244
12.2k
      } else {
2245
12.2k
        if (yych <= '#') {
2246
10.0k
          if (yych <= 0x1F) goto yy138;
2247
8.88k
          if (yych >= '#') goto yy138;
2248
8.88k
        } else {
2249
2.13k
          if (yych <= '$') goto yy170;
2250
1.64k
          if (yych <= '%') goto yy138;
2251
1.64k
        }
2252
12.2k
      }
2253
19.7k
    } else {
2254
14.4k
      if (yych <= ']') {
2255
3.03k
        if (yych <= ';') {
2256
2.12k
          if (yych <= ':') goto yy138;
2257
2.12k
        } else {
2258
903
          if (yych != '=') goto yy138;
2259
903
        }
2260
11.4k
      } else {
2261
11.4k
        if (yych <= '|') {
2262
1.54k
          if (yych <= '^') goto yy164;
2263
126
          if (yych <= '{') goto yy138;
2264
9.90k
        } else {
2265
9.90k
          if (yych != '~') goto yy138;
2266
9.90k
        }
2267
11.4k
      }
2268
14.4k
    }
2269
24.2k
yy164:
2270
24.2k
    YYDEBUG(164, *YYCURSOR);
2271
24.2k
    yyleng = YYCURSOR - SCNG(yy_text);
2272
24.2k
#line 576 "Zend/zend_ini_scanner.l"
2273
24.2k
    { /* Get constant option value */
2274
24.2k
  RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
2275
0
}
2276
0
#line 2277 "Zend/zend_ini_scanner.c"
2277
10.2k
yy165:
2278
10.2k
    YYDEBUG(165, *YYCURSOR);
2279
10.2k
    yyaccept = 2;
2280
10.2k
    yych = *(YYMARKER = ++YYCURSOR);
2281
10.2k
    if (yych <= '<') {
2282
4.28k
      if (yych <= '"') {
2283
2.88k
        if (yych <= '\n') {
2284
175
          if (yych <= 0x00) goto yy164;
2285
174
          if (yych <= 0x08) goto yy139;
2286
141
          goto yy164;
2287
2.70k
        } else {
2288
2.70k
          if (yych == '\r') goto yy164;
2289
1.02k
          if (yych <= 0x1F) goto yy139;
2290
1.02k
          goto yy164;
2291
1.02k
        }
2292
2.88k
      } else {
2293
1.39k
        if (yych <= '/') {
2294
51
          if (yych <= '%') goto yy139;
2295
36
          if (yych <= ')') goto yy164;
2296
0
          goto yy139;
2297
1.34k
        } else {
2298
1.34k
          if (yych <= '9') goto yy162;
2299
583
          if (yych == ';') goto yy164;
2300
87
          goto yy139;
2301
583
        }
2302
1.39k
      }
2303
5.92k
    } else {
2304
5.92k
      if (yych <= '_') {
2305
724
        if (yych <= 'A') {
2306
115
          if (yych <= '=') goto yy164;
2307
114
          if (yych <= '@') goto yy139;
2308
0
          goto yy182;
2309
609
        } else {
2310
609
          if (yych <= 'Z') goto yy162;
2311
547
          if (yych <= ']') goto yy139;
2312
547
          if (yych <= '^') goto yy164;
2313
0
          goto yy162;
2314
547
        }
2315
5.19k
      } else {
2316
5.19k
        if (yych <= '{') {
2317
2.47k
          if (yych <= '`') goto yy139;
2318
2.47k
          if (yych <= 'a') goto yy182;
2319
345
          if (yych <= 'z') goto yy162;
2320
0
          goto yy139;
2321
2.72k
        } else {
2322
2.72k
          if (yych == '}') goto yy139;
2323
2.72k
          if (yych <= '~') goto yy164;
2324
2.72k
          goto yy139;
2325
2.72k
        }
2326
5.19k
      }
2327
5.92k
    }
2328
456
yy166:
2329
456
    YYDEBUG(166, *YYCURSOR);
2330
456
    yyaccept = 2;
2331
456
    yych = *(YYMARKER = ++YYCURSOR);
2332
456
    if (yych <= 'N') {
2333
122
      if (yych <= '%') {
2334
24
        if (yych <= '\f') {
2335
0
          if (yych <= 0x00) goto yy164;
2336
0
          if (yych <= 0x08) goto yy139;
2337
0
          if (yych <= '\n') goto yy164;
2338
0
          goto yy139;
2339
24
        } else {
2340
24
          if (yych <= '\r') goto yy164;
2341
24
          if (yych <= 0x1F) goto yy139;
2342
24
          if (yych <= '"') goto yy164;
2343
0
          goto yy139;
2344
24
        }
2345
98
      } else {
2346
98
        if (yych <= ':') {
2347
17
          if (yych <= ')') goto yy164;
2348
17
          if (yych <= '/') goto yy139;
2349
15
          if (yych <= '9') goto yy162;
2350
0
          goto yy139;
2351
81
        } else {
2352
81
          if (yych <= '<') {
2353
0
            if (yych <= ';') goto yy164;
2354
0
            goto yy139;
2355
81
          } else {
2356
81
            if (yych <= '=') goto yy164;
2357
4
            if (yych <= '@') goto yy139;
2358
4
            goto yy162;
2359
4
          }
2360
81
        }
2361
98
      }
2362
334
    } else {
2363
334
      if (yych <= 'n') {
2364
221
        if (yych <= 'Z') {
2365
2
          if (yych <= 'O') goto yy183;
2366
2
          if (yych == 'U') goto yy185;
2367
2
          goto yy162;
2368
219
        } else {
2369
219
          if (yych <= '^') {
2370
0
            if (yych <= ']') goto yy139;
2371
0
            goto yy164;
2372
219
          } else {
2373
219
            if (yych == '`') goto yy139;
2374
219
            goto yy162;
2375
219
          }
2376
219
        }
2377
221
      } else {
2378
113
        if (yych <= 'z') {
2379
83
          if (yych <= 'o') goto yy183;
2380
83
          if (yych == 'u') goto yy185;
2381
1
          goto yy162;
2382
83
        } else {
2383
30
          if (yych <= '|') {
2384
0
            if (yych <= '{') goto yy139;
2385
0
            goto yy164;
2386
30
          } else {
2387
30
            if (yych == '~') goto yy164;
2388
27
            goto yy139;
2389
30
          }
2390
30
        }
2391
113
      }
2392
334
    }
2393
584
yy167:
2394
584
    YYDEBUG(167, *YYCURSOR);
2395
584
    yyaccept = 2;
2396
584
    yych = *(YYMARKER = ++YYCURSOR);
2397
584
    if (yych <= 'E') {
2398
33
      if (yych <= '%') {
2399
17
        if (yych <= '\f') {
2400
17
          if (yych <= 0x00) goto yy164;
2401
17
          if (yych <= 0x08) goto yy139;
2402
17
          if (yych <= '\n') goto yy164;
2403
17
          goto yy139;
2404
17
        } else {
2405
0
          if (yych <= '\r') goto yy164;
2406
0
          if (yych <= 0x1F) goto yy139;
2407
0
          if (yych <= '"') goto yy164;
2408
0
          goto yy139;
2409
0
        }
2410
17
      } else {
2411
16
        if (yych <= ':') {
2412
16
          if (yych <= ')') goto yy164;
2413
16
          if (yych <= '/') goto yy139;
2414
16
          if (yych <= '9') goto yy162;
2415
0
          goto yy139;
2416
16
        } else {
2417
0
          if (yych <= '<') {
2418
0
            if (yych <= ';') goto yy164;
2419
0
            goto yy139;
2420
0
          } else {
2421
0
            if (yych <= '=') goto yy164;
2422
0
            if (yych <= '@') goto yy139;
2423
0
            goto yy162;
2424
0
          }
2425
0
        }
2426
16
      }
2427
551
    } else {
2428
551
      if (yych <= 'e') {
2429
188
        if (yych <= 'Z') {
2430
169
          if (yych <= 'F') goto yy186;
2431
169
          if (yych == 'N') goto yy187;
2432
169
          goto yy162;
2433
169
        } else {
2434
19
          if (yych <= '^') {
2435
0
            if (yych <= ']') goto yy139;
2436
0
            goto yy164;
2437
19
          } else {
2438
19
            if (yych == '`') goto yy139;
2439
19
            goto yy162;
2440
19
          }
2441
19
        }
2442
363
      } else {
2443
363
        if (yych <= 'z') {
2444
363
          if (yych <= 'f') goto yy186;
2445
115
          if (yych == 'n') goto yy187;
2446
10
          goto yy162;
2447
115
        } else {
2448
0
          if (yych <= '|') {
2449
0
            if (yych <= '{') goto yy139;
2450
0
            goto yy164;
2451
0
          } else {
2452
0
            if (yych == '~') goto yy164;
2453
0
            goto yy139;
2454
0
          }
2455
0
        }
2456
363
      }
2457
551
    }
2458
1.94k
yy168:
2459
1.94k
    YYDEBUG(168, *YYCURSOR);
2460
1.94k
    yyaccept = 2;
2461
1.94k
    yych = *(YYMARKER = ++YYCURSOR);
2462
1.94k
    if (yych <= '=') {
2463
630
      if (yych <= '"') {
2464
473
        if (yych <= '\n') {
2465
68
          if (yych <= 0x00) goto yy164;
2466
68
          if (yych <= 0x08) goto yy139;
2467
68
          goto yy164;
2468
405
        } else {
2469
405
          if (yych == '\r') goto yy164;
2470
405
          if (yych <= 0x1F) goto yy139;
2471
49
          goto yy164;
2472
405
        }
2473
473
      } else {
2474
157
        if (yych <= '9') {
2475
154
          if (yych <= '%') goto yy139;
2476
154
          if (yych <= ')') goto yy164;
2477
154
          if (yych <= '/') goto yy139;
2478
19
          goto yy162;
2479
154
        } else {
2480
3
          if (yych == ';') goto yy164;
2481
3
          if (yych <= '<') goto yy139;
2482
3
          goto yy164;
2483
3
        }
2484
157
      }
2485
1.31k
    } else {
2486
1.31k
      if (yych <= '`') {
2487
191
        if (yych <= 'Z') {
2488
5
          if (yych <= '@') goto yy139;
2489
5
          if (yych == 'R') goto yy189;
2490
0
          goto yy162;
2491
186
        } else {
2492
186
          if (yych <= ']') goto yy139;
2493
184
          if (yych <= '^') goto yy164;
2494
184
          if (yych <= '_') goto yy162;
2495
0
          goto yy139;
2496
184
        }
2497
1.12k
      } else {
2498
1.12k
        if (yych <= '{') {
2499
873
          if (yych == 'r') goto yy189;
2500
154
          if (yych <= 'z') goto yy162;
2501
0
          goto yy139;
2502
253
        } else {
2503
253
          if (yych == '}') goto yy139;
2504
253
          if (yych <= '~') goto yy164;
2505
253
          goto yy139;
2506
253
        }
2507
1.12k
      }
2508
1.31k
    }
2509
377
yy169:
2510
377
    YYDEBUG(169, *YYCURSOR);
2511
377
    yyaccept = 2;
2512
377
    yych = *(YYMARKER = ++YYCURSOR);
2513
377
    if (yych <= '=') {
2514
145
      if (yych <= '"') {
2515
74
        if (yych <= '\n') {
2516
0
          if (yych <= 0x00) goto yy164;
2517
0
          if (yych <= 0x08) goto yy139;
2518
0
          goto yy164;
2519
74
        } else {
2520
74
          if (yych == '\r') goto yy164;
2521
74
          if (yych <= 0x1F) goto yy139;
2522
74
          goto yy164;
2523
74
        }
2524
74
      } else {
2525
71
        if (yych <= '9') {
2526
0
          if (yych <= '%') goto yy139;
2527
0
          if (yych <= ')') goto yy164;
2528
0
          if (yych <= '/') goto yy139;
2529
0
          goto yy162;
2530
71
        } else {
2531
71
          if (yych == ';') goto yy164;
2532
71
          if (yych <= '<') goto yy139;
2533
71
          goto yy164;
2534
71
        }
2535
71
      }
2536
232
    } else {
2537
232
      if (yych <= '`') {
2538
64
        if (yych <= 'Z') {
2539
64
          if (yych <= '@') goto yy139;
2540
64
          if (yych == 'E') goto yy190;
2541
0
          goto yy162;
2542
64
        } else {
2543
0
          if (yych <= ']') goto yy139;
2544
0
          if (yych <= '^') goto yy164;
2545
0
          if (yych <= '_') goto yy162;
2546
0
          goto yy139;
2547
0
        }
2548
168
      } else {
2549
168
        if (yych <= '{') {
2550
164
          if (yych == 'e') goto yy190;
2551
149
          if (yych <= 'z') goto yy162;
2552
0
          goto yy139;
2553
149
        } else {
2554
4
          if (yych == '}') goto yy139;
2555
4
          if (yych <= '~') goto yy164;
2556
4
          goto yy139;
2557
4
        }
2558
168
      }
2559
232
    }
2560
3.19k
yy170:
2561
3.19k
    YYDEBUG(170, *YYCURSOR);
2562
3.19k
    ++YYCURSOR;
2563
3.19k
    YYFILL(1);
2564
3.19k
    yych = *YYCURSOR;
2565
3.19k
    if (yych <= '\\') {
2566
2.88k
      if (yych <= 0x00) goto yy171;
2567
2.88k
      if (yych <= '[') goto yy138;
2568
6
      goto yy172;
2569
2.88k
    } else {
2570
312
      if (yych != '{') goto yy138;
2571
312
    }
2572
0
yy171:
2573
0
    YYDEBUG(171, *YYCURSOR);
2574
0
    YYCURSOR = YYMARKER;
2575
0
    if (yyaccept <= 2) {
2576
0
      if (yyaccept <= 1) {
2577
0
        if (yyaccept == 0) {
2578
0
          goto yy140;
2579
0
        } else {
2580
0
          goto yy157;
2581
0
        }
2582
0
      } else {
2583
0
        goto yy164;
2584
0
      }
2585
0
    } else {
2586
0
      if (yyaccept <= 4) {
2587
0
        if (yyaccept == 3) {
2588
0
          goto yy184;
2589
0
        } else {
2590
0
          goto yy188;
2591
0
        }
2592
0
      } else {
2593
0
        goto yy205;
2594
0
      }
2595
0
    }
2596
6
yy172:
2597
6
    YYDEBUG(172, *YYCURSOR);
2598
6
    ++YYCURSOR;
2599
6
    YYFILL(1);
2600
6
    yych = *YYCURSOR;
2601
6
    if (yybm[0+yych] & 128) {
2602
0
      goto yy191;
2603
0
    }
2604
6
    goto yy138;
2605
6
yy173:
2606
0
    YYDEBUG(173, *YYCURSOR);
2607
0
    ++YYCURSOR;
2608
0
    YYDEBUG(174, *YYCURSOR);
2609
0
    yyleng = YYCURSOR - SCNG(yy_text);
2610
0
#line 422 "Zend/zend_ini_scanner.l"
2611
0
    { /* Variable start */
2612
0
  yy_push_state(ST_VARNAME);
2613
0
  return TC_DOLLAR_CURLY;
2614
6
}
2615
0
#line 2616 "Zend/zend_ini_scanner.c"
2616
185k
yy175:
2617
185k
    YYDEBUG(175, *YYCURSOR);
2618
185k
    ++YYCURSOR;
2619
185k
    YYFILL(1);
2620
184k
    yych = *YYCURSOR;
2621
184k
    YYDEBUG(176, *YYCURSOR);
2622
184k
    if (yybm[0+yych] & 64) {
2623
179k
      goto yy175;
2624
179k
    }
2625
4.47k
    goto yy193;
2626
23.4k
yy177:
2627
23.4k
    YYDEBUG(177, *YYCURSOR);
2628
23.4k
    yyaccept = 1;
2629
23.4k
    YYMARKER = ++YYCURSOR;
2630
23.4k
    YYFILL(1);
2631
23.4k
    yych = *YYCURSOR;
2632
23.4k
    YYDEBUG(178, *YYCURSOR);
2633
23.4k
    if (yych <= '/') {
2634
987
      if (yych <= 0x1F) {
2635
468
        if (yych <= '\n') {
2636
231
          if (yych <= 0x00) goto yy157;
2637
82
          if (yych <= 0x08) goto yy138;
2638
82
          goto yy157;
2639
237
        } else {
2640
237
          if (yych == '\r') goto yy157;
2641
225
          goto yy138;
2642
237
        }
2643
519
      } else {
2644
519
        if (yych <= '$') {
2645
87
          if (yych <= '"') goto yy157;
2646
87
          if (yych <= '#') goto yy138;
2647
76
          goto yy170;
2648
432
        } else {
2649
432
          if (yych <= '%') goto yy138;
2650
349
          if (yych <= ')') goto yy157;
2651
349
          goto yy138;
2652
349
        }
2653
519
      }
2654
22.4k
    } else {
2655
22.4k
      if (yych <= ']') {
2656
21.5k
        if (yych <= ';') {
2657
20.8k
          if (yych <= '9') goto yy177;
2658
2.58k
          if (yych <= ':') goto yy138;
2659
2.57k
          goto yy157;
2660
2.58k
        } else {
2661
695
          if (yych == '=') goto yy157;
2662
395
          goto yy138;
2663
695
        }
2664
21.5k
      } else {
2665
981
        if (yych <= '|') {
2666
777
          if (yych <= '^') goto yy157;
2667
587
          if (yych <= '{') goto yy138;
2668
0
          goto yy157;
2669
587
        } else {
2670
204
          if (yych == '~') goto yy157;
2671
204
          goto yy138;
2672
204
        }
2673
981
      }
2674
22.4k
    }
2675
16.5k
yy179:
2676
16.5k
    YYDEBUG(179, *YYCURSOR);
2677
16.5k
    ++YYCURSOR;
2678
16.5k
yy180:
2679
16.5k
    YYDEBUG(180, *YYCURSOR);
2680
16.5k
    yyleng = YYCURSOR - SCNG(yy_text);
2681
16.5k
#line 675 "Zend/zend_ini_scanner.l"
2682
16.5k
    { /* Comment */
2683
16.5k
  BEGIN(INITIAL);
2684
16.5k
  SCNG(lineno)++;
2685
16.5k
  return END_OF_LINE;
2686
16.5k
}
2687
0
#line 2688 "Zend/zend_ini_scanner.c"
2688
3.68k
yy181:
2689
3.68k
    YYDEBUG(181, *YYCURSOR);
2690
3.68k
    yych = *++YYCURSOR;
2691
3.68k
    if (yych == '\n') goto yy179;
2692
10
    goto yy180;
2693
2.12k
yy182:
2694
2.12k
    YYDEBUG(182, *YYCURSOR);
2695
2.12k
    yyaccept = 2;
2696
2.12k
    yych = *(YYMARKER = ++YYCURSOR);
2697
2.12k
    if (yych <= '=') {
2698
197
      if (yych <= '"') {
2699
197
        if (yych <= '\n') {
2700
197
          if (yych <= 0x00) goto yy164;
2701
197
          if (yych <= 0x08) goto yy139;
2702
197
          goto yy164;
2703
197
        } else {
2704
0
          if (yych == '\r') goto yy164;
2705
0
          if (yych <= 0x1F) goto yy139;
2706
0
          goto yy164;
2707
0
        }
2708
197
      } else {
2709
0
        if (yych <= '9') {
2710
0
          if (yych <= '%') goto yy139;
2711
0
          if (yych <= ')') goto yy164;
2712
0
          if (yych <= '/') goto yy139;
2713
0
          goto yy162;
2714
0
        } else {
2715
0
          if (yych == ';') goto yy164;
2716
0
          if (yych <= '<') goto yy139;
2717
0
          goto yy164;
2718
0
        }
2719
0
      }
2720
1.92k
    } else {
2721
1.92k
      if (yych <= '`') {
2722
0
        if (yych <= 'Z') {
2723
0
          if (yych <= '@') goto yy139;
2724
0
          if (yych == 'L') goto yy195;
2725
0
          goto yy162;
2726
0
        } else {
2727
0
          if (yych <= ']') goto yy139;
2728
0
          if (yych <= '^') goto yy164;
2729
0
          if (yych <= '_') goto yy162;
2730
0
          goto yy139;
2731
0
        }
2732
1.92k
      } else {
2733
1.92k
        if (yych <= '{') {
2734
1.92k
          if (yych == 'l') goto yy195;
2735
1.92k
          if (yych <= 'z') goto yy162;
2736
0
          goto yy139;
2737
1.92k
        } else {
2738
0
          if (yych == '}') goto yy139;
2739
0
          if (yych <= '~') goto yy164;
2740
0
          goto yy139;
2741
0
        }
2742
1.92k
      }
2743
1.92k
    }
2744
0
yy183:
2745
0
    YYDEBUG(183, *YYCURSOR);
2746
0
    yyaccept = 3;
2747
0
    yych = *(YYMARKER = ++YYCURSOR);
2748
0
    if (yych <= '<') {
2749
0
      if (yych <= ' ') {
2750
0
        if (yych <= '\n') {
2751
0
          if (yych <= 0x00) goto yy184;
2752
0
          if (yych <= 0x08) goto yy139;
2753
0
          if (yych <= '\t') goto yy196;
2754
0
        } else {
2755
0
          if (yych == '\r') goto yy184;
2756
0
          if (yych <= 0x1F) goto yy139;
2757
0
          goto yy196;
2758
0
        }
2759
0
      } else {
2760
0
        if (yych <= '/') {
2761
0
          if (yych <= '"') goto yy184;
2762
0
          if (yych <= '%') goto yy139;
2763
0
          if (yych >= '*') goto yy139;
2764
0
        } else {
2765
0
          if (yych <= '9') goto yy162;
2766
0
          if (yych != ';') goto yy139;
2767
0
        }
2768
0
      }
2769
0
    } else {
2770
0
      if (yych <= '_') {
2771
0
        if (yych <= 'N') {
2772
0
          if (yych <= '=') goto yy184;
2773
0
          if (yych <= '@') goto yy139;
2774
0
          if (yych <= 'M') goto yy162;
2775
0
          goto yy198;
2776
0
        } else {
2777
0
          if (yych <= 'Z') goto yy162;
2778
0
          if (yych <= ']') goto yy139;
2779
0
          if (yych >= '_') goto yy162;
2780
0
        }
2781
0
      } else {
2782
0
        if (yych <= 'z') {
2783
0
          if (yych <= '`') goto yy139;
2784
0
          if (yych == 'n') goto yy198;
2785
0
          goto yy162;
2786
0
        } else {
2787
0
          if (yych <= '|') {
2788
0
            if (yych <= '{') goto yy139;
2789
0
          } else {
2790
0
            if (yych != '~') goto yy139;
2791
0
          }
2792
0
        }
2793
0
      }
2794
0
    }
2795
0
yy184:
2796
0
    YYDEBUG(184, *YYCURSOR);
2797
0
    yyleng = YYCURSOR - SCNG(yy_text);
2798
0
#line 495 "Zend/zend_ini_scanner.l"
2799
0
    { /* FALSE value (when used outside option value/offset this causes parse error!)*/
2800
0
  RETURN_TOKEN(BOOL_FALSE, "", 0);
2801
0
}
2802
0
#line 2803 "Zend/zend_ini_scanner.c"
2803
82
yy185:
2804
82
    YYDEBUG(185, *YYCURSOR);
2805
82
    yyaccept = 2;
2806
82
    yych = *(YYMARKER = ++YYCURSOR);
2807
82
    if (yych <= '=') {
2808
3
      if (yych <= '"') {
2809
0
        if (yych <= '\n') {
2810
0
          if (yych <= 0x00) goto yy164;
2811
0
          if (yych <= 0x08) goto yy139;
2812
0
          goto yy164;
2813
0
        } else {
2814
0
          if (yych == '\r') goto yy164;
2815
0
          if (yych <= 0x1F) goto yy139;
2816
0
          goto yy164;
2817
0
        }
2818
3
      } else {
2819
3
        if (yych <= '9') {
2820
3
          if (yych <= '%') goto yy139;
2821
3
          if (yych <= ')') goto yy164;
2822
0
          if (yych <= '/') goto yy139;
2823
0
          goto yy162;
2824
0
        } else {
2825
0
          if (yych == ';') goto yy164;
2826
0
          if (yych <= '<') goto yy139;
2827
0
          goto yy164;
2828
0
        }
2829
3
      }
2830
79
    } else {
2831
79
      if (yych <= '`') {
2832
0
        if (yych <= 'Z') {
2833
0
          if (yych <= '@') goto yy139;
2834
0
          if (yych == 'L') goto yy199;
2835
0
          goto yy162;
2836
0
        } else {
2837
0
          if (yych <= ']') goto yy139;
2838
0
          if (yych <= '^') goto yy164;
2839
0
          if (yych <= '_') goto yy162;
2840
0
          goto yy139;
2841
0
        }
2842
79
      } else {
2843
79
        if (yych <= '{') {
2844
79
          if (yych == 'l') goto yy199;
2845
55
          if (yych <= 'z') goto yy162;
2846
0
          goto yy139;
2847
55
        } else {
2848
0
          if (yych == '}') goto yy139;
2849
0
          if (yych <= '~') goto yy164;
2850
0
          goto yy139;
2851
0
        }
2852
79
      }
2853
79
    }
2854
248
yy186:
2855
248
    YYDEBUG(186, *YYCURSOR);
2856
248
    yyaccept = 2;
2857
248
    yych = *(YYMARKER = ++YYCURSOR);
2858
248
    if (yych <= '=') {
2859
152
      if (yych <= '"') {
2860
113
        if (yych <= '\n') {
2861
0
          if (yych <= 0x00) goto yy164;
2862
0
          if (yych <= 0x08) goto yy139;
2863
0
          goto yy164;
2864
113
        } else {
2865
113
          if (yych == '\r') goto yy164;
2866
113
          if (yych <= 0x1F) goto yy139;
2867
113
          goto yy164;
2868
113
        }
2869
113
      } else {
2870
39
        if (yych <= '9') {
2871
39
          if (yych <= '%') goto yy139;
2872
39
          if (yych <= ')') goto yy164;
2873
0
          if (yych <= '/') goto yy139;
2874
0
          goto yy162;
2875
0
        } else {
2876
0
          if (yych == ';') goto yy164;
2877
0
          if (yych <= '<') goto yy139;
2878
0
          goto yy164;
2879
0
        }
2880
39
      }
2881
152
    } else {
2882
96
      if (yych <= '`') {
2883
6
        if (yych <= 'Z') {
2884
6
          if (yych <= '@') goto yy139;
2885
6
          if (yych == 'F') goto yy200;
2886
6
          goto yy162;
2887
6
        } else {
2888
0
          if (yych <= ']') goto yy139;
2889
0
          if (yych <= '^') goto yy164;
2890
0
          if (yych <= '_') goto yy162;
2891
0
          goto yy139;
2892
0
        }
2893
90
      } else {
2894
90
        if (yych <= '{') {
2895
0
          if (yych == 'f') goto yy200;
2896
0
          if (yych <= 'z') goto yy162;
2897
0
          goto yy139;
2898
90
        } else {
2899
90
          if (yych == '}') goto yy139;
2900
90
          if (yych <= '~') goto yy164;
2901
90
          goto yy139;
2902
90
        }
2903
90
      }
2904
96
    }
2905
181
yy187:
2906
181
    YYDEBUG(187, *YYCURSOR);
2907
181
    yyaccept = 4;
2908
181
    yych = *(YYMARKER = ++YYCURSOR);
2909
181
    if (yybm[0+yych] & 32) {
2910
0
      goto yy162;
2911
0
    }
2912
181
    if (yych <= ')') {
2913
127
      if (yych <= '\f') {
2914
124
        if (yych <= 0x08) {
2915
6
          if (yych >= 0x01) goto yy139;
2916
118
        } else {
2917
118
          if (yych <= '\t') goto yy201;
2918
118
          if (yych >= '\v') goto yy139;
2919
118
        }
2920
124
      } else {
2921
3
        if (yych <= ' ') {
2922
0
          if (yych <= '\r') goto yy188;
2923
0
          if (yych <= 0x1F) goto yy139;
2924
0
          goto yy201;
2925
3
        } else {
2926
3
          if (yych <= '"') goto yy188;
2927
0
          if (yych <= '%') goto yy139;
2928
0
        }
2929
3
      }
2930
127
    } else {
2931
54
      if (yych <= ']') {
2932
3
        if (yych <= ';') {
2933
0
          if (yych <= ':') goto yy139;
2934
3
        } else {
2935
3
          if (yych != '=') goto yy139;
2936
3
        }
2937
51
      } else {
2938
51
        if (yych <= '|') {
2939
0
          if (yych <= '^') goto yy188;
2940
0
          if (yych <= '{') goto yy139;
2941
51
        } else {
2942
51
          if (yych != '~') goto yy139;
2943
51
        }
2944
51
      }
2945
54
    }
2946
82
yy188:
2947
82
    YYDEBUG(188, *YYCURSOR);
2948
82
    yyleng = YYCURSOR - SCNG(yy_text);
2949
82
#line 491 "Zend/zend_ini_scanner.l"
2950
82
    { /* TRUE value (when used outside option value/offset this causes parse error!) */
2951
82
  RETURN_TOKEN(BOOL_TRUE, "1", 1);
2952
0
}
2953
0
#line 2954 "Zend/zend_ini_scanner.c"
2954
724
yy189:
2955
724
    YYDEBUG(189, *YYCURSOR);
2956
724
    yyaccept = 2;
2957
724
    yych = *(YYMARKER = ++YYCURSOR);
2958
724
    if (yych <= '=') {
2959
119
      if (yych <= '"') {
2960
119
        if (yych <= '\n') {
2961
118
          if (yych <= 0x00) goto yy164;
2962
82
          if (yych <= 0x08) goto yy139;
2963
82
          goto yy164;
2964
82
        } else {
2965
1
          if (yych == '\r') goto yy164;
2966
1
          if (yych <= 0x1F) goto yy139;
2967
0
          goto yy164;
2968
1
        }
2969
119
      } else {
2970
0
        if (yych <= '9') {
2971
0
          if (yych <= '%') goto yy139;
2972
0
          if (yych <= ')') goto yy164;
2973
0
          if (yych <= '/') goto yy139;
2974
0
          goto yy162;
2975
0
        } else {
2976
0
          if (yych == ';') goto yy164;
2977
0
          if (yych <= '<') goto yy139;
2978
0
          goto yy164;
2979
0
        }
2980
0
      }
2981
605
    } else {
2982
605
      if (yych <= '`') {
2983
475
        if (yych <= 'Z') {
2984
475
          if (yych <= '@') goto yy139;
2985
475
          if (yych == 'U') goto yy203;
2986
475
          goto yy162;
2987
475
        } else {
2988
0
          if (yych <= ']') goto yy139;
2989
0
          if (yych <= '^') goto yy164;
2990
0
          if (yych <= '_') goto yy162;
2991
0
          goto yy139;
2992
0
        }
2993
475
      } else {
2994
130
        if (yych <= '{') {
2995
130
          if (yych == 'u') goto yy203;
2996
60
          if (yych <= 'z') goto yy162;
2997
36
          goto yy139;
2998
60
        } else {
2999
0
          if (yych == '}') goto yy139;
3000
0
          if (yych <= '~') goto yy164;
3001
0
          goto yy139;
3002
0
        }
3003
130
      }
3004
605
    }
3005
79
yy190:
3006
79
    YYDEBUG(190, *YYCURSOR);
3007
79
    yyaccept = 2;
3008
79
    yych = *(YYMARKER = ++YYCURSOR);
3009
79
    if (yych <= '=') {
3010
6
      if (yych <= '"') {
3011
0
        if (yych <= '\n') {
3012
0
          if (yych <= 0x00) goto yy164;
3013
0
          if (yych <= 0x08) goto yy139;
3014
0
          goto yy164;
3015
0
        } else {
3016
0
          if (yych == '\r') goto yy164;
3017
0
          if (yych <= 0x1F) goto yy139;
3018
0
          goto yy164;
3019
0
        }
3020
6
      } else {
3021
6
        if (yych <= '9') {
3022
6
          if (yych <= '%') goto yy139;
3023
6
          if (yych <= ')') goto yy164;
3024
6
          if (yych <= '/') goto yy139;
3025
6
          goto yy162;
3026
6
        } else {
3027
0
          if (yych == ';') goto yy164;
3028
0
          if (yych <= '<') goto yy139;
3029
0
          goto yy164;
3030
0
        }
3031
6
      }
3032
73
    } else {
3033
73
      if (yych <= '`') {
3034
64
        if (yych <= 'Z') {
3035
64
          if (yych <= '@') goto yy139;
3036
64
          if (yych == 'S') goto yy187;
3037
64
          goto yy162;
3038
64
        } else {
3039
0
          if (yych <= ']') goto yy139;
3040
0
          if (yych <= '^') goto yy164;
3041
0
          if (yych <= '_') goto yy162;
3042
0
          goto yy139;
3043
0
        }
3044
64
      } else {
3045
9
        if (yych <= '{') {
3046
9
          if (yych == 's') goto yy187;
3047
0
          if (yych <= 'z') goto yy162;
3048
0
          goto yy139;
3049
0
        } else {
3050
0
          if (yych == '}') goto yy139;
3051
0
          if (yych <= '~') goto yy164;
3052
0
          goto yy139;
3053
0
        }
3054
9
      }
3055
73
    }
3056
0
yy191:
3057
0
    YYDEBUG(191, *YYCURSOR);
3058
0
    ++YYCURSOR;
3059
0
    YYFILL(1);
3060
0
    yych = *YYCURSOR;
3061
0
    YYDEBUG(192, *YYCURSOR);
3062
0
    if (yybm[0+yych] & 128) {
3063
0
      goto yy191;
3064
0
    }
3065
0
    if (yych <= 0x00) goto yy140;
3066
0
    if (yych == '\\') goto yy172;
3067
0
    goto yy138;
3068
4.47k
yy193:
3069
4.47k
    YYDEBUG(193, *YYCURSOR);
3070
4.47k
    ++YYCURSOR;
3071
4.47k
    YYDEBUG(194, *YYCURSOR);
3072
4.47k
    yyleng = YYCURSOR - SCNG(yy_text);
3073
4.47k
#line 389 "Zend/zend_ini_scanner.l"
3074
4.47k
    { /* Raw string */
3075
  /* Eat leading and trailing single quotes */
3076
4.47k
  if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') {
3077
4.47k
    SCNG(yy_text)++;
3078
4.47k
    yyleng = yyleng - 2;
3079
4.47k
  }
3080
4.47k
  RETURN_TOKEN(TC_RAW, yytext, yyleng);
3081
0
}
3082
0
#line 3083 "Zend/zend_ini_scanner.c"
3083
0
yy195:
3084
0
    YYDEBUG(195, *YYCURSOR);
3085
0
    yyaccept = 2;
3086
0
    yych = *(YYMARKER = ++YYCURSOR);
3087
0
    if (yych <= '=') {
3088
0
      if (yych <= '"') {
3089
0
        if (yych <= '\n') {
3090
0
          if (yych <= 0x00) goto yy164;
3091
0
          if (yych <= 0x08) goto yy139;
3092
0
          goto yy164;
3093
0
        } else {
3094
0
          if (yych == '\r') goto yy164;
3095
0
          if (yych <= 0x1F) goto yy139;
3096
0
          goto yy164;
3097
0
        }
3098
0
      } else {
3099
0
        if (yych <= '9') {
3100
0
          if (yych <= '%') goto yy139;
3101
0
          if (yych <= ')') goto yy164;
3102
0
          if (yych <= '/') goto yy139;
3103
0
          goto yy162;
3104
0
        } else {
3105
0
          if (yych == ';') goto yy164;
3106
0
          if (yych <= '<') goto yy139;
3107
0
          goto yy164;
3108
0
        }
3109
0
      }
3110
0
    } else {
3111
0
      if (yych <= '`') {
3112
0
        if (yych <= 'Z') {
3113
0
          if (yych <= '@') goto yy139;
3114
0
          if (yych == 'S') goto yy198;
3115
0
          goto yy162;
3116
0
        } else {
3117
0
          if (yych <= ']') goto yy139;
3118
0
          if (yych <= '^') goto yy164;
3119
0
          if (yych <= '_') goto yy162;
3120
0
          goto yy139;
3121
0
        }
3122
0
      } else {
3123
0
        if (yych <= '{') {
3124
0
          if (yych == 's') goto yy198;
3125
0
          if (yych <= 'z') goto yy162;
3126
0
          goto yy139;
3127
0
        } else {
3128
0
          if (yych == '}') goto yy139;
3129
0
          if (yych <= '~') goto yy164;
3130
0
          goto yy139;
3131
0
        }
3132
0
      }
3133
0
    }
3134
0
yy196:
3135
0
    YYDEBUG(196, *YYCURSOR);
3136
0
    ++YYCURSOR;
3137
0
    YYFILL(1);
3138
0
    yych = *YYCURSOR;
3139
0
    YYDEBUG(197, *YYCURSOR);
3140
0
    if (yych == '\t') goto yy196;
3141
0
    if (yych == ' ') goto yy196;
3142
0
    goto yy184;
3143
0
yy198:
3144
0
    YYDEBUG(198, *YYCURSOR);
3145
0
    yyaccept = 2;
3146
0
    yych = *(YYMARKER = ++YYCURSOR);
3147
0
    if (yych <= '=') {
3148
0
      if (yych <= '"') {
3149
0
        if (yych <= '\n') {
3150
0
          if (yych <= 0x00) goto yy164;
3151
0
          if (yych <= 0x08) goto yy139;
3152
0
          goto yy164;
3153
0
        } else {
3154
0
          if (yych == '\r') goto yy164;
3155
0
          if (yych <= 0x1F) goto yy139;
3156
0
          goto yy164;
3157
0
        }
3158
0
      } else {
3159
0
        if (yych <= '9') {
3160
0
          if (yych <= '%') goto yy139;
3161
0
          if (yych <= ')') goto yy164;
3162
0
          if (yych <= '/') goto yy139;
3163
0
          goto yy162;
3164
0
        } else {
3165
0
          if (yych == ';') goto yy164;
3166
0
          if (yych <= '<') goto yy139;
3167
0
          goto yy164;
3168
0
        }
3169
0
      }
3170
0
    } else {
3171
0
      if (yych <= '`') {
3172
0
        if (yych <= 'Z') {
3173
0
          if (yych <= '@') goto yy139;
3174
0
          if (yych == 'E') goto yy200;
3175
0
          goto yy162;
3176
0
        } else {
3177
0
          if (yych <= ']') goto yy139;
3178
0
          if (yych <= '^') goto yy164;
3179
0
          if (yych <= '_') goto yy162;
3180
0
          goto yy139;
3181
0
        }
3182
0
      } else {
3183
0
        if (yych <= '{') {
3184
0
          if (yych == 'e') goto yy200;
3185
0
          if (yych <= 'z') goto yy162;
3186
0
          goto yy139;
3187
0
        } else {
3188
0
          if (yych == '}') goto yy139;
3189
0
          if (yych <= '~') goto yy164;
3190
0
          goto yy139;
3191
0
        }
3192
0
      }
3193
0
    }
3194
24
yy199:
3195
24
    YYDEBUG(199, *YYCURSOR);
3196
24
    yyaccept = 2;
3197
24
    yych = *(YYMARKER = ++YYCURSOR);
3198
24
    if (yych <= '=') {
3199
3
      if (yych <= '"') {
3200
3
        if (yych <= '\n') {
3201
3
          if (yych <= 0x00) goto yy164;
3202
0
          if (yych <= 0x08) goto yy139;
3203
0
          goto yy164;
3204
0
        } else {
3205
0
          if (yych == '\r') goto yy164;
3206
0
          if (yych <= 0x1F) goto yy139;
3207
0
          goto yy164;
3208
0
        }
3209
3
      } else {
3210
0
        if (yych <= '9') {
3211
0
          if (yych <= '%') goto yy139;
3212
0
          if (yych <= ')') goto yy164;
3213
0
          if (yych <= '/') goto yy139;
3214
0
          goto yy162;
3215
0
        } else {
3216
0
          if (yych == ';') goto yy164;
3217
0
          if (yych <= '<') goto yy139;
3218
0
          goto yy164;
3219
0
        }
3220
0
      }
3221
21
    } else {
3222
21
      if (yych <= '`') {
3223
0
        if (yych <= 'Z') {
3224
0
          if (yych <= '@') goto yy139;
3225
0
          if (yych == 'L') goto yy204;
3226
0
          goto yy162;
3227
0
        } else {
3228
0
          if (yych <= ']') goto yy139;
3229
0
          if (yych <= '^') goto yy164;
3230
0
          if (yych <= '_') goto yy162;
3231
0
          goto yy139;
3232
0
        }
3233
21
      } else {
3234
21
        if (yych <= '{') {
3235
21
          if (yych == 'l') goto yy204;
3236
0
          if (yych <= 'z') goto yy162;
3237
0
          goto yy139;
3238
0
        } else {
3239
0
          if (yych == '}') goto yy139;
3240
0
          if (yych <= '~') goto yy164;
3241
0
          goto yy139;
3242
0
        }
3243
21
      }
3244
21
    }
3245
0
yy200:
3246
0
    YYDEBUG(200, *YYCURSOR);
3247
0
    yyaccept = 3;
3248
0
    yych = *(YYMARKER = ++YYCURSOR);
3249
0
    if (yybm[0+yych] & 32) {
3250
0
      goto yy162;
3251
0
    }
3252
0
    if (yych <= ')') {
3253
0
      if (yych <= '\f') {
3254
0
        if (yych <= 0x08) {
3255
0
          if (yych <= 0x00) goto yy184;
3256
0
          goto yy139;
3257
0
        } else {
3258
0
          if (yych <= '\t') goto yy196;
3259
0
          if (yych <= '\n') goto yy184;
3260
0
          goto yy139;
3261
0
        }
3262
0
      } else {
3263
0
        if (yych <= ' ') {
3264
0
          if (yych <= '\r') goto yy184;
3265
0
          if (yych <= 0x1F) goto yy139;
3266
0
          goto yy196;
3267
0
        } else {
3268
0
          if (yych <= '"') goto yy184;
3269
0
          if (yych <= '%') goto yy139;
3270
0
          goto yy184;
3271
0
        }
3272
0
      }
3273
0
    } else {
3274
0
      if (yych <= ']') {
3275
0
        if (yych <= ';') {
3276
0
          if (yych <= ':') goto yy139;
3277
0
          goto yy184;
3278
0
        } else {
3279
0
          if (yych == '=') goto yy184;
3280
0
          goto yy139;
3281
0
        }
3282
0
      } else {
3283
0
        if (yych <= '|') {
3284
0
          if (yych <= '^') goto yy184;
3285
0
          if (yych <= '{') goto yy139;
3286
0
          goto yy184;
3287
0
        } else {
3288
0
          if (yych == '~') goto yy184;
3289
0
          goto yy139;
3290
0
        }
3291
0
      }
3292
0
    }
3293
0
yy201:
3294
0
    YYDEBUG(201, *YYCURSOR);
3295
0
    ++YYCURSOR;
3296
0
    YYFILL(1);
3297
0
    yych = *YYCURSOR;
3298
0
    YYDEBUG(202, *YYCURSOR);
3299
0
    if (yych == '\t') goto yy201;
3300
0
    if (yych == ' ') goto yy201;
3301
0
    goto yy188;
3302
70
yy203:
3303
70
    YYDEBUG(203, *YYCURSOR);
3304
70
    yyaccept = 2;
3305
70
    yych = *(YYMARKER = ++YYCURSOR);
3306
70
    if (yych <= '=') {
3307
0
      if (yych <= '"') {
3308
0
        if (yych <= '\n') {
3309
0
          if (yych <= 0x00) goto yy164;
3310
0
          if (yych <= 0x08) goto yy139;
3311
0
          goto yy164;
3312
0
        } else {
3313
0
          if (yych == '\r') goto yy164;
3314
0
          if (yych <= 0x1F) goto yy139;
3315
0
          goto yy164;
3316
0
        }
3317
0
      } else {
3318
0
        if (yych <= '9') {
3319
0
          if (yych <= '%') goto yy139;
3320
0
          if (yych <= ')') goto yy164;
3321
0
          if (yych <= '/') goto yy139;
3322
0
          goto yy162;
3323
0
        } else {
3324
0
          if (yych == ';') goto yy164;
3325
0
          if (yych <= '<') goto yy139;
3326
0
          goto yy164;
3327
0
        }
3328
0
      }
3329
70
    } else {
3330
70
      if (yych <= '`') {
3331
0
        if (yych <= 'Z') {
3332
0
          if (yych <= '@') goto yy139;
3333
0
          if (yych == 'E') goto yy187;
3334
0
          goto yy162;
3335
0
        } else {
3336
0
          if (yych <= ']') goto yy139;
3337
0
          if (yych <= '^') goto yy164;
3338
0
          if (yych <= '_') goto yy162;
3339
0
          goto yy139;
3340
0
        }
3341
70
      } else {
3342
70
        if (yych <= '{') {
3343
67
          if (yych == 'e') goto yy187;
3344
0
          if (yych <= 'z') goto yy162;
3345
0
          goto yy139;
3346
3
        } else {
3347
3
          if (yych == '}') goto yy139;
3348
3
          if (yych <= '~') goto yy164;
3349
3
          goto yy139;
3350
3
        }
3351
70
      }
3352
70
    }
3353
21
yy204:
3354
21
    YYDEBUG(204, *YYCURSOR);
3355
21
    yyaccept = 5;
3356
21
    yych = *(YYMARKER = ++YYCURSOR);
3357
21
    if (yybm[0+yych] & 32) {
3358
0
      goto yy162;
3359
0
    }
3360
21
    if (yych <= ')') {
3361
18
      if (yych <= '\f') {
3362
18
        if (yych <= 0x08) {
3363
0
          if (yych >= 0x01) goto yy139;
3364
18
        } else {
3365
18
          if (yych <= '\t') goto yy206;
3366
18
          if (yych >= '\v') goto yy139;
3367
18
        }
3368
18
      } else {
3369
0
        if (yych <= ' ') {
3370
0
          if (yych <= '\r') goto yy205;
3371
0
          if (yych <= 0x1F) goto yy139;
3372
0
          goto yy206;
3373
0
        } else {
3374
0
          if (yych <= '"') goto yy205;
3375
0
          if (yych <= '%') goto yy139;
3376
0
        }
3377
0
      }
3378
18
    } else {
3379
3
      if (yych <= ']') {
3380
0
        if (yych <= ';') {
3381
0
          if (yych <= ':') goto yy139;
3382
0
        } else {
3383
0
          if (yych != '=') goto yy139;
3384
0
        }
3385
3
      } else {
3386
3
        if (yych <= '|') {
3387
0
          if (yych <= '^') goto yy205;
3388
0
          if (yych <= '{') goto yy139;
3389
3
        } else {
3390
3
          if (yych != '~') goto yy139;
3391
3
        }
3392
3
      }
3393
3
    }
3394
18
yy205:
3395
18
    YYDEBUG(205, *YYCURSOR);
3396
18
    yyleng = YYCURSOR - SCNG(yy_text);
3397
18
#line 499 "Zend/zend_ini_scanner.l"
3398
18
    {
3399
18
  RETURN_TOKEN(NULL_NULL, "", 0);
3400
0
}
3401
0
#line 3402 "Zend/zend_ini_scanner.c"
3402
0
yy206:
3403
0
    YYDEBUG(206, *YYCURSOR);
3404
0
    ++YYCURSOR;
3405
0
    YYFILL(1);
3406
0
    yych = *YYCURSOR;
3407
0
    YYDEBUG(207, *YYCURSOR);
3408
0
    if (yych == '\t') goto yy206;
3409
0
    if (yych == ' ') goto yy206;
3410
0
    goto yy205;
3411
0
  }
3412
/* *********************************** */
3413
24
yyc_ST_SECTION_RAW:
3414
24
  {
3415
24
    static const unsigned char yybm[] = {
3416
24
       64,  64,  64,  64,  64,  64,  64,  64, 
3417
24
       64, 192,   0,  64,  64,   0,  64,  64, 
3418
24
       64,  64,  64,  64,  64,  64,  64,  64, 
3419
24
       64,  64,  64,  64,  64,  64,  64,  64, 
3420
24
      192,  64,  64,  64,  64,  64,  64,  64, 
3421
24
       64,  64,  64,  64,  64,  64,  64,  64, 
3422
24
       64,  64,  64,  64,  64,  64,  64,  64, 
3423
24
       64,  64,  64,  64,  64,  64,  64,  64, 
3424
24
       64,  64,  64,  64,  64,  64,  64,  64, 
3425
24
       64,  64,  64,  64,  64,  64,  64,  64, 
3426
24
       64,  64,  64,  64,  64,  64,  64,  64, 
3427
24
       64,  64,  64,  64,  64,   0,  64,  64, 
3428
24
       64,  64,  64,  64,  64,  64,  64,  64, 
3429
24
       64,  64,  64,  64,  64,  64,  64,  64, 
3430
24
       64,  64,  64,  64,  64,  64,  64,  64, 
3431
24
       64,  64,  64,  64,  64,  64,  64,  64, 
3432
24
       64,  64,  64,  64,  64,  64,  64,  64, 
3433
24
       64,  64,  64,  64,  64,  64,  64,  64, 
3434
24
       64,  64,  64,  64,  64,  64,  64,  64, 
3435
24
       64,  64,  64,  64,  64,  64,  64,  64, 
3436
24
       64,  64,  64,  64,  64,  64,  64,  64, 
3437
24
       64,  64,  64,  64,  64,  64,  64,  64, 
3438
24
       64,  64,  64,  64,  64,  64,  64,  64, 
3439
24
       64,  64,  64,  64,  64,  64,  64,  64, 
3440
24
       64,  64,  64,  64,  64,  64,  64,  64, 
3441
24
       64,  64,  64,  64,  64,  64,  64,  64, 
3442
24
       64,  64,  64,  64,  64,  64,  64,  64, 
3443
24
       64,  64,  64,  64,  64,  64,  64,  64, 
3444
24
       64,  64,  64,  64,  64,  64,  64,  64, 
3445
24
       64,  64,  64,  64,  64,  64,  64,  64, 
3446
24
       64,  64,  64,  64,  64,  64,  64,  64, 
3447
24
       64,  64,  64,  64,  64,  64,  64,  64, 
3448
24
    };
3449
24
    YYDEBUG(208, *YYCURSOR);
3450
24
    YYFILL(1);
3451
24
    yych = *YYCURSOR;
3452
24
    if (yybm[0+yych] & 64) {
3453
12
      goto yy210;
3454
12
    }
3455
12
    if (yych <= '\r') goto yy213;
3456
9
    goto yy215;
3457
111
yy210:
3458
111
    YYDEBUG(210, *YYCURSOR);
3459
111
    ++YYCURSOR;
3460
111
    YYFILL(1);
3461
111
    yych = *YYCURSOR;
3462
111
    YYDEBUG(211, *YYCURSOR);
3463
111
    if (yybm[0+yych] & 64) {
3464
99
      goto yy210;
3465
99
    }
3466
12
    YYDEBUG(212, *YYCURSOR);
3467
12
    yyleng = YYCURSOR - SCNG(yy_text);
3468
12
#line 566 "Zend/zend_ini_scanner.l"
3469
12
    { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
3470
12
  RETURN_TOKEN(TC_RAW, yytext, yyleng);
3471
0
}
3472
0
#line 3473 "Zend/zend_ini_scanner.c"
3473
3
yy213:
3474
3
    YYDEBUG(213, *YYCURSOR);
3475
3
    ++YYCURSOR;
3476
3
    YYDEBUG(214, *YYCURSOR);
3477
3
    yyleng = YYCURSOR - SCNG(yy_text);
3478
3
#line 686 "Zend/zend_ini_scanner.l"
3479
3
    {
3480
3
  return 0;
3481
0
}
3482
0
#line 3483 "Zend/zend_ini_scanner.c"
3483
9
yy215:
3484
9
    YYDEBUG(215, *YYCURSOR);
3485
9
    ++YYCURSOR;
3486
9
    YYFILL(2);
3487
9
    yych = *YYCURSOR;
3488
9
    YYDEBUG(216, *YYCURSOR);
3489
9
    if (yybm[0+yych] & 128) {
3490
0
      goto yy215;
3491
0
    }
3492
9
    if (yych <= 0x08) goto yy217;
3493
9
    if (yych <= '\n') goto yy218;
3494
0
    if (yych == '\r') goto yy219;
3495
9
yy217:
3496
9
    YYDEBUG(217, *YYCURSOR);
3497
9
    yyleng = YYCURSOR - SCNG(yy_text);
3498
9
#line 398 "Zend/zend_ini_scanner.l"
3499
9
    { /* End of section */
3500
9
  BEGIN(INITIAL);
3501
9
  SCNG(lineno)++;
3502
9
  return ']';
3503
0
}
3504
0
#line 3505 "Zend/zend_ini_scanner.c"
3505
9
yy218:
3506
9
    YYDEBUG(218, *YYCURSOR);
3507
9
    ++YYCURSOR;
3508
9
    goto yy217;
3509
0
yy219:
3510
0
    YYDEBUG(219, *YYCURSOR);
3511
0
    yych = *++YYCURSOR;
3512
0
    if (yych == '\n') goto yy218;
3513
0
    goto yy217;
3514
0
  }
3515
/* *********************************** */
3516
299k
yyc_ST_DOUBLE_QUOTES:
3517
299k
  {
3518
299k
    static const unsigned char yybm[] = {
3519
299k
        0,   0,   0,   0,   0,   0,   0,   0, 
3520
299k
        0, 128,   0,   0,   0,   0,   0,   0, 
3521
299k
        0,   0,   0,   0,   0,   0,   0,   0, 
3522
299k
        0,   0,   0,   0,   0,   0,   0,   0, 
3523
299k
      128,   0,   0,   0,   0,   0,   0,   0, 
3524
299k
        0,   0,   0,   0,   0,   0,   0,   0, 
3525
299k
        0,   0,   0,   0,   0,   0,   0,   0, 
3526
299k
        0,   0,   0,   0,   0,   0,   0,   0, 
3527
299k
        0,   0,   0,   0,   0,   0,   0,   0, 
3528
299k
        0,   0,   0,   0,   0,   0,   0,   0, 
3529
299k
        0,   0,   0,   0,   0,   0,   0,   0, 
3530
299k
        0,   0,   0,   0,   0,   0,   0,   0, 
3531
299k
        0,   0,   0,   0,   0,   0,   0,   0, 
3532
299k
        0,   0,   0,   0,   0,   0,   0,   0, 
3533
299k
        0,   0,   0,   0,   0,   0,   0,   0, 
3534
299k
        0,   0,   0,   0,   0,   0,   0,   0, 
3535
299k
        0,   0,   0,   0,   0,   0,   0,   0, 
3536
299k
        0,   0,   0,   0,   0,   0,   0,   0, 
3537
299k
        0,   0,   0,   0,   0,   0,   0,   0, 
3538
299k
        0,   0,   0,   0,   0,   0,   0,   0, 
3539
299k
        0,   0,   0,   0,   0,   0,   0,   0, 
3540
299k
        0,   0,   0,   0,   0,   0,   0,   0, 
3541
299k
        0,   0,   0,   0,   0,   0,   0,   0, 
3542
299k
        0,   0,   0,   0,   0,   0,   0,   0, 
3543
299k
        0,   0,   0,   0,   0,   0,   0,   0, 
3544
299k
        0,   0,   0,   0,   0,   0,   0,   0, 
3545
299k
        0,   0,   0,   0,   0,   0,   0,   0, 
3546
299k
        0,   0,   0,   0,   0,   0,   0,   0, 
3547
299k
        0,   0,   0,   0,   0,   0,   0,   0, 
3548
299k
        0,   0,   0,   0,   0,   0,   0,   0, 
3549
299k
        0,   0,   0,   0,   0,   0,   0,   0, 
3550
299k
        0,   0,   0,   0,   0,   0,   0,   0, 
3551
299k
    };
3552
299k
    YYDEBUG(220, *YYCURSOR);
3553
299k
    YYFILL(2);
3554
299k
    yych = *YYCURSOR;
3555
299k
    if (yych == '"') goto yy224;
3556
107k
    if (yych == '$') goto yy227;
3557
107k
    YYDEBUG(222, *YYCURSOR);
3558
107k
    ++YYCURSOR;
3559
107k
yy223:
3560
107k
    YYDEBUG(223, *YYCURSOR);
3561
107k
    yyleng = YYCURSOR - SCNG(yy_text);
3562
107k
#line 620 "Zend/zend_ini_scanner.l"
3563
107k
    { /* Escape double quoted string contents */
3564
107k
  if (YYCURSOR > YYLIMIT) {
3565
0
    return 0;
3566
0
  }
3567
3568
107k
  const unsigned char *s = SCNG(yy_text);
3569
3570
3.09M
  while (s < YYLIMIT) {
3571
3.09M
    switch (*s++) {
3572
105k
      case '"':
3573
105k
        break;
3574
4.67k
      case '$':
3575
4.67k
        if (s < YYLIMIT && *s == '{') {
3576
0
          break;
3577
0
        }
3578
4.67k
        continue;
3579
12.1k
      case '\\':
3580
12.1k
        if (s < YYLIMIT) {
3581
12.1k
          unsigned char escaped = *s++;
3582
          /* A special case for Windows paths, e.g. key="C:\path\" */
3583
12.1k
          if (escaped == '"' && (s >= YYLIMIT || *s == '\n' || *s == '\r')) {
3584
0
            break;
3585
0
          }
3586
12.1k
        }
3587
12.1k
        ZEND_FALLTHROUGH;
3588
2.98M
      default:
3589
2.98M
        continue;
3590
3.09M
    }
3591
3592
105k
    s--;
3593
105k
    break;
3594
3.09M
  }
3595
3596
107k
  YYCURSOR = s;
3597
107k
  yyleng = YYCURSOR - SCNG(yy_text);
3598
3599
107k
  zend_ini_escape_string(ini_lval, yytext, yyleng, '"');
3600
107k
  Z_EXTRA_P(ini_lval) = 0;
3601
107k
  return TC_QUOTED_STRING;
3602
107k
}
3603
0
#line 3604 "Zend/zend_ini_scanner.c"
3604
206k
yy224:
3605
206k
    YYDEBUG(224, *YYCURSOR);
3606
206k
    ++YYCURSOR;
3607
206k
    YYFILL(1);
3608
206k
    yych = *YYCURSOR;
3609
206k
    YYDEBUG(225, *YYCURSOR);
3610
206k
    if (yybm[0+yych] & 128) {
3611
14.8k
      goto yy224;
3612
14.8k
    }
3613
191k
    YYDEBUG(226, *YYCURSOR);
3614
191k
    yyleng = YYCURSOR - SCNG(yy_text);
3615
191k
#line 615 "Zend/zend_ini_scanner.l"
3616
191k
    { /* Double quoted '"' string ends */
3617
191k
  yy_pop_state();
3618
191k
  return '"';
3619
206k
}
3620
0
#line 3621 "Zend/zend_ini_scanner.c"
3621
222
yy227:
3622
222
    YYDEBUG(227, *YYCURSOR);
3623
222
    yych = *++YYCURSOR;
3624
222
    if (yych != '{') goto yy223;
3625
0
    YYDEBUG(228, *YYCURSOR);
3626
0
    ++YYCURSOR;
3627
0
    YYDEBUG(229, *YYCURSOR);
3628
0
    yyleng = YYCURSOR - SCNG(yy_text);
3629
0
#line 422 "Zend/zend_ini_scanner.l"
3630
0
    { /* Variable start */
3631
0
  yy_push_state(ST_VARNAME);
3632
0
  return TC_DOLLAR_CURLY;
3633
222
}
3634
222
#line 3635 "Zend/zend_ini_scanner.c"
3635
222
  }
3636
/* *********************************** */
3637
6
yyc_ST_VAR_FALLBACK:
3638
6
  {
3639
6
    static const unsigned char yybm[] = {
3640
6
        8,   8,   8,   8,   8,   8,   8,   8, 
3641
6
        8,  24,   0,   8,   8,   0,   8,   8, 
3642
6
        8,   8,   8,   8,   8,   8,   8,   8, 
3643
6
        8,   8,   8,   8,   8,   8,   8,   8, 
3644
6
       24,   8,   0,   8, 128,   8,   8,   0, 
3645
6
        8,   8,   8,   8,   8,   8,   8,   8, 
3646
6
      104, 104, 104, 104, 104, 104, 104, 104, 
3647
6
      104, 104,   8,   0,   8,   8,   8,   8, 
3648
6
        8,  72,  72,  72,  72,  72,  72,  72, 
3649
6
       72,  72,  72,  72,  72,  72,  72,  72, 
3650
6
       72,  72,  72,  72,  72,  72,  72,  72, 
3651
6
       72,  72,  72,   8, 128,   8,   8,  72, 
3652
6
        8,  72,  72,  72,  72,  72,  72,  72, 
3653
6
       72,  72,  72,  72,  72,  72,  72,  72, 
3654
6
       72,  72,  72,  72,  72,  72,  72,  72, 
3655
6
       72,  72,  72,   8,   8,   0,   8,   8, 
3656
6
        8,   8,   8,   8,   8,   8,   8,   8, 
3657
6
        8,   8,   8,   8,   8,   8,   8,   8, 
3658
6
        8,   8,   8,   8,   8,   8,   8,   8, 
3659
6
        8,   8,   8,   8,   8,   8,   8,   8, 
3660
6
        8,   8,   8,   8,   8,   8,   8,   8, 
3661
6
        8,   8,   8,   8,   8,   8,   8,   8, 
3662
6
        8,   8,   8,   8,   8,   8,   8,   8, 
3663
6
        8,   8,   8,   8,   8,   8,   8,   8, 
3664
6
        8,   8,   8,   8,   8,   8,   8,   8, 
3665
6
        8,   8,   8,   8,   8,   8,   8,   8, 
3666
6
        8,   8,   8,   8,   8,   8,   8,   8, 
3667
6
        8,   8,   8,   8,   8,   8,   8,   8, 
3668
6
        8,   8,   8,   8,   8,   8,   8,   8, 
3669
6
        8,   8,   8,   8,   8,   8,   8,   8, 
3670
6
        8,   8,   8,   8,   8,   8,   8,   8, 
3671
6
        8,   8,   8,   8,   8,   8,   8,   8, 
3672
6
    };
3673
6
    YYDEBUG(230, *YYCURSOR);
3674
6
    YYFILL(2);
3675
6
    yych = *YYCURSOR;
3676
6
    if (yybm[0+yych] & 16) {
3677
0
      goto yy235;
3678
0
    }
3679
6
    if (yych <= '/') {
3680
3
      if (yych <= '"') {
3681
3
        if (yych <= '\f') {
3682
3
          if (yych <= 0x08) goto yy232;
3683
3
          if (yych <= '\n') goto yy237;
3684
3
        } else {
3685
0
          if (yych <= '\r') goto yy237;
3686
0
          if (yych >= '"') goto yy239;
3687
0
        }
3688
3
      } else {
3689
0
        if (yych <= '&') {
3690
0
          if (yych == '$') goto yy241;
3691
0
        } else {
3692
0
          if (yych <= '\'') goto yy237;
3693
0
          if (yych <= ',') goto yy232;
3694
0
          if (yych <= '.') goto yy242;
3695
0
        }
3696
0
      }
3697
3
    } else {
3698
3
      if (yych <= '\\') {
3699
0
        if (yych <= ';') {
3700
0
          if (yych <= '9') goto yy243;
3701
0
          if (yych >= ';') goto yy237;
3702
0
        } else {
3703
0
          if (yych <= '@') goto yy232;
3704
0
          if (yych <= 'Z') goto yy246;
3705
0
          if (yych >= '\\') goto yy249;
3706
0
        }
3707
3
      } else {
3708
3
        if (yych <= '`') {
3709
0
          if (yych == '_') goto yy246;
3710
3
        } else {
3711
3
          if (yych <= 'z') goto yy246;
3712
0
          if (yych == '}') goto yy250;
3713
0
        }
3714
3
      }
3715
3
    }
3716
0
yy232:
3717
0
    YYDEBUG(232, *YYCURSOR);
3718
0
    yyaccept = 0;
3719
0
    YYMARKER = ++YYCURSOR;
3720
0
    YYFILL(1);
3721
0
    yych = *YYCURSOR;
3722
0
yy233:
3723
0
    YYDEBUG(233, *YYCURSOR);
3724
0
    if (yybm[0+yych] & 8) {
3725
0
      goto yy232;
3726
0
    }
3727
0
    if (yych <= '"') goto yy234;
3728
0
    if (yych <= '$') goto yy252;
3729
0
    if (yych <= ';') goto yy234;
3730
0
    if (yych <= '\\') goto yy249;
3731
0
yy234:
3732
0
    YYDEBUG(234, *YYCURSOR);
3733
0
    yyleng = YYCURSOR - SCNG(yy_text);
3734
0
#line 602 "Zend/zend_ini_scanner.l"
3735
0
    { /* Same as below, but excluding '}' */
3736
0
  RETURN_TOKEN(TC_STRING, yytext, yyleng);
3737
0
}
3738
0
#line 3739 "Zend/zend_ini_scanner.c"
3739
0
yy235:
3740
0
    YYDEBUG(235, *YYCURSOR);
3741
0
    yyaccept = 0;
3742
0
    YYMARKER = ++YYCURSOR;
3743
0
    YYFILL(1);
3744
0
    yych = *YYCURSOR;
3745
0
    YYDEBUG(236, *YYCURSOR);
3746
0
    if (yybm[0+yych] & 16) {
3747
0
      goto yy235;
3748
0
    }
3749
0
    if (yych <= '$') {
3750
0
      if (yych <= '\r') {
3751
0
        if (yych <= 0x08) goto yy232;
3752
0
        if (yych <= '\n') goto yy234;
3753
0
        if (yych <= '\f') goto yy232;
3754
0
        goto yy234;
3755
0
      } else {
3756
0
        if (yych == '"') goto yy239;
3757
0
        if (yych <= '#') goto yy232;
3758
0
        goto yy252;
3759
0
      }
3760
0
    } else {
3761
0
      if (yych <= ';') {
3762
0
        if (yych == '\'') goto yy234;
3763
0
        if (yych <= ':') goto yy232;
3764
0
        goto yy234;
3765
0
      } else {
3766
0
        if (yych <= '\\') {
3767
0
          if (yych <= '[') goto yy232;
3768
0
          goto yy249;
3769
0
        } else {
3770
0
          if (yych == '}') goto yy234;
3771
0
          goto yy232;
3772
0
        }
3773
0
      }
3774
0
    }
3775
3
yy237:
3776
3
    YYDEBUG(237, *YYCURSOR);
3777
3
    ++YYCURSOR;
3778
3
yy238:
3779
3
    YYDEBUG(238, *YYCURSOR);
3780
3
    yyleng = YYCURSOR - SCNG(yy_text);
3781
3
#line 686 "Zend/zend_ini_scanner.l"
3782
3
    {
3783
3
  return 0;
3784
3
}
3785
0
#line 3786 "Zend/zend_ini_scanner.c"
3786
0
yy239:
3787
0
    YYDEBUG(239, *YYCURSOR);
3788
0
    ++YYCURSOR;
3789
0
    YYDEBUG(240, *YYCURSOR);
3790
0
    yyleng = YYCURSOR - SCNG(yy_text);
3791
0
#line 610 "Zend/zend_ini_scanner.l"
3792
0
    { /* Double quoted '"' string start */
3793
0
  yy_push_state(ST_DOUBLE_QUOTES);
3794
0
  return '"';
3795
3
}
3796
0
#line 3797 "Zend/zend_ini_scanner.c"
3797
0
yy241:
3798
0
    YYDEBUG(241, *YYCURSOR);
3799
0
    yych = *++YYCURSOR;
3800
0
    if (yych <= '\\') {
3801
0
      if (yych <= 0x00) goto yy238;
3802
0
      if (yych <= '[') goto yy232;
3803
0
      goto yy254;
3804
0
    } else {
3805
0
      if (yych == '{') goto yy256;
3806
0
      goto yy232;
3807
0
    }
3808
0
yy242:
3809
0
    YYDEBUG(242, *YYCURSOR);
3810
0
    yyaccept = 0;
3811
0
    yych = *(YYMARKER = ++YYCURSOR);
3812
0
    if (yych <= '/') goto yy233;
3813
0
    if (yych <= '9') goto yy258;
3814
0
    goto yy233;
3815
0
yy243:
3816
0
    YYDEBUG(243, *YYCURSOR);
3817
0
    yyaccept = 1;
3818
0
    YYMARKER = ++YYCURSOR;
3819
0
    YYFILL(1);
3820
0
    yych = *YYCURSOR;
3821
0
    YYDEBUG(244, *YYCURSOR);
3822
0
    if (yybm[0+yych] & 32) {
3823
0
      goto yy243;
3824
0
    }
3825
0
    if (yych <= '&') {
3826
0
      if (yych <= '\r') {
3827
0
        if (yych == '\n') goto yy245;
3828
0
        if (yych <= '\f') goto yy232;
3829
0
      } else {
3830
0
        if (yych <= '"') {
3831
0
          if (yych <= '!') goto yy232;
3832
0
        } else {
3833
0
          if (yych == '$') goto yy252;
3834
0
          goto yy232;
3835
0
        }
3836
0
      }
3837
0
    } else {
3838
0
      if (yych <= ';') {
3839
0
        if (yych <= '-') {
3840
0
          if (yych >= '(') goto yy232;
3841
0
        } else {
3842
0
          if (yych <= '.') goto yy258;
3843
0
          if (yych <= ':') goto yy232;
3844
0
        }
3845
0
      } else {
3846
0
        if (yych <= '\\') {
3847
0
          if (yych <= '[') goto yy232;
3848
0
          goto yy249;
3849
0
        } else {
3850
0
          if (yych != '}') goto yy232;
3851
0
        }
3852
0
      }
3853
0
    }
3854
0
yy245:
3855
0
    YYDEBUG(245, *YYCURSOR);
3856
0
    yyleng = YYCURSOR - SCNG(yy_text);
3857
0
#line 580 "Zend/zend_ini_scanner.l"
3858
0
    { /* Get number option value as string */
3859
0
  RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
3860
0
}
3861
0
#line 3862 "Zend/zend_ini_scanner.c"
3862
3
yy246:
3863
3
    YYDEBUG(246, *YYCURSOR);
3864
3
    yyaccept = 2;
3865
3
    YYMARKER = ++YYCURSOR;
3866
3
    YYFILL(1);
3867
3
    yych = *YYCURSOR;
3868
3
    YYDEBUG(247, *YYCURSOR);
3869
3
    if (yybm[0+yych] & 64) {
3870
0
      goto yy246;
3871
0
    }
3872
3
    if (yych <= '$') {
3873
3
      if (yych <= '\r') {
3874
3
        if (yych == '\n') goto yy248;
3875
0
        if (yych <= '\f') goto yy232;
3876
0
      } else {
3877
0
        if (yych == '"') goto yy248;
3878
0
        if (yych <= '#') goto yy232;
3879
0
        goto yy252;
3880
0
      }
3881
3
    } else {
3882
0
      if (yych <= ';') {
3883
0
        if (yych == '\'') goto yy248;
3884
0
        if (yych <= ':') goto yy232;
3885
0
      } else {
3886
0
        if (yych <= '\\') {
3887
0
          if (yych <= '[') goto yy232;
3888
0
          goto yy249;
3889
0
        } else {
3890
0
          if (yych != '}') goto yy232;
3891
0
        }
3892
0
      }
3893
0
    }
3894
3
yy248:
3895
3
    YYDEBUG(248, *YYCURSOR);
3896
3
    yyleng = YYCURSOR - SCNG(yy_text);
3897
3
#line 576 "Zend/zend_ini_scanner.l"
3898
3
    { /* Get constant option value */
3899
3
  RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
3900
0
}
3901
0
#line 3902 "Zend/zend_ini_scanner.c"
3902
0
yy249:
3903
0
    YYDEBUG(249, *YYCURSOR);
3904
0
    ++YYCURSOR;
3905
0
    YYFILL(1);
3906
0
    yych = *YYCURSOR;
3907
0
    goto yy232;
3908
0
yy250:
3909
0
    YYDEBUG(250, *YYCURSOR);
3910
0
    ++YYCURSOR;
3911
0
    YYDEBUG(251, *YYCURSOR);
3912
0
    yyleng = YYCURSOR - SCNG(yy_text);
3913
0
#line 486 "Zend/zend_ini_scanner.l"
3914
0
    { /* Variable/fallback end */
3915
0
  yy_pop_state();
3916
0
  return '}';
3917
0
}
3918
0
#line 3919 "Zend/zend_ini_scanner.c"
3919
0
yy252:
3920
0
    YYDEBUG(252, *YYCURSOR);
3921
0
    ++YYCURSOR;
3922
0
    YYFILL(1);
3923
0
    yych = *YYCURSOR;
3924
0
    if (yych <= '\\') {
3925
0
      if (yych <= 0x00) goto yy253;
3926
0
      if (yych <= '[') goto yy232;
3927
0
      goto yy254;
3928
0
    } else {
3929
0
      if (yych != '{') goto yy232;
3930
0
    }
3931
0
yy253:
3932
0
    YYDEBUG(253, *YYCURSOR);
3933
0
    YYCURSOR = YYMARKER;
3934
0
    if (yyaccept <= 1) {
3935
0
      if (yyaccept == 0) {
3936
0
        goto yy234;
3937
0
      } else {
3938
0
        goto yy245;
3939
0
      }
3940
0
    } else {
3941
0
      goto yy248;
3942
0
    }
3943
0
yy254:
3944
0
    YYDEBUG(254, *YYCURSOR);
3945
0
    ++YYCURSOR;
3946
0
    YYFILL(1);
3947
0
    yych = *YYCURSOR;
3948
0
    YYDEBUG(255, *YYCURSOR);
3949
0
    if (yybm[0+yych] & 128) {
3950
0
      goto yy254;
3951
0
    }
3952
0
    goto yy232;
3953
0
yy256:
3954
0
    YYDEBUG(256, *YYCURSOR);
3955
0
    ++YYCURSOR;
3956
0
    YYDEBUG(257, *YYCURSOR);
3957
0
    yyleng = YYCURSOR - SCNG(yy_text);
3958
0
#line 422 "Zend/zend_ini_scanner.l"
3959
0
    { /* Variable start */
3960
0
  yy_push_state(ST_VARNAME);
3961
0
  return TC_DOLLAR_CURLY;
3962
0
}
3963
0
#line 3964 "Zend/zend_ini_scanner.c"
3964
0
yy258:
3965
0
    YYDEBUG(258, *YYCURSOR);
3966
0
    yyaccept = 1;
3967
0
    YYMARKER = ++YYCURSOR;
3968
0
    YYFILL(1);
3969
0
    yych = *YYCURSOR;
3970
0
    YYDEBUG(259, *YYCURSOR);
3971
0
    if (yych <= '&') {
3972
0
      if (yych <= '\r') {
3973
0
        if (yych == '\n') goto yy245;
3974
0
        if (yych <= '\f') goto yy232;
3975
0
        goto yy245;
3976
0
      } else {
3977
0
        if (yych <= '"') {
3978
0
          if (yych <= '!') goto yy232;
3979
0
          goto yy245;
3980
0
        } else {
3981
0
          if (yych == '$') goto yy252;
3982
0
          goto yy232;
3983
0
        }
3984
0
      }
3985
0
    } else {
3986
0
      if (yych <= ';') {
3987
0
        if (yych <= '/') {
3988
0
          if (yych <= '\'') goto yy245;
3989
0
          goto yy232;
3990
0
        } else {
3991
0
          if (yych <= '9') goto yy258;
3992
0
          if (yych <= ':') goto yy232;
3993
0
          goto yy245;
3994
0
        }
3995
0
      } else {
3996
0
        if (yych <= '\\') {
3997
0
          if (yych <= '[') goto yy232;
3998
0
          goto yy249;
3999
0
        } else {
4000
0
          if (yych == '}') goto yy245;
4001
0
          goto yy232;
4002
0
        }
4003
0
      }
4004
0
    }
4005
0
  }
4006
/* *********************************** */
4007
6
yyc_ST_VARNAME:
4008
6
  YYDEBUG(260, *YYCURSOR);
4009
6
  YYFILL(2);
4010
6
  yych = *YYCURSOR;
4011
6
  if (yych <= ')') {
4012
0
    if (yych <= ' ') {
4013
0
      if (yych <= '\n') {
4014
0
        if (yych <= 0x00) goto yy262;
4015
0
        if (yych <= 0x08) goto yy264;
4016
0
      } else {
4017
0
        if (yych != '\r') goto yy264;
4018
0
      }
4019
0
    } else {
4020
0
      if (yych <= '$') {
4021
0
        if (yych == '#') goto yy264;
4022
0
      } else {
4023
0
        if (yych == '&') goto yy262;
4024
0
        if (yych <= '\'') goto yy264;
4025
0
      }
4026
0
    }
4027
6
  } else {
4028
6
    if (yych <= '[') {
4029
3
      if (yych <= ';') {
4030
3
        if (yych <= '9') goto yy264;
4031
3
        if (yych <= ':') goto yy266;
4032
3
      } else {
4033
0
        if (yych == '=') goto yy262;
4034
0
        if (yych <= 'Z') goto yy264;
4035
0
      }
4036
3
    } else {
4037
3
      if (yych <= 'z') {
4038
3
        if (yych <= '\\') goto yy264;
4039
3
        if (yych >= '_') goto yy264;
4040
3
      } else {
4041
0
        if (yych == '}') goto yy267;
4042
0
        if (yych >= 0x7F) goto yy264;
4043
0
      }
4044
3
    }
4045
6
  }
4046
0
yy262:
4047
0
  YYDEBUG(262, *YYCURSOR);
4048
0
  ++YYCURSOR;
4049
0
  YYDEBUG(263, *YYCURSOR);
4050
0
  yyleng = YYCURSOR - SCNG(yy_text);
4051
0
#line 686 "Zend/zend_ini_scanner.l"
4052
0
  {
4053
0
  return 0;
4054
6
}
4055
0
#line 4056 "Zend/zend_ini_scanner.c"
4056
3
yy264:
4057
3
  YYDEBUG(264, *YYCURSOR);
4058
3
  ++YYCURSOR;
4059
3
yy265:
4060
3
  YYDEBUG(265, *YYCURSOR);
4061
3
  yyleng = YYCURSOR - SCNG(yy_text);
4062
3
#line 434 "Zend/zend_ini_scanner.l"
4063
3
  { /* Variable name */
4064
3
  if (YYCURSOR[0] == ':' && YYCURSOR[1] == '-') {
4065
0
    YYCURSOR++;
4066
0
    goto fallback_lexing;
4067
0
  }
4068
4069
6
  while (YYCURSOR < YYLIMIT) {
4070
6
    switch (*YYCURSOR++) {
4071
0
      case '=':
4072
0
      case '\n':
4073
0
      case '\r':
4074
0
      case '\t':
4075
0
      case ';':
4076
0
      case '&':
4077
0
      case '|':
4078
0
      case '^':
4079
0
      case '$':
4080
0
      case '~':
4081
0
      case '(':
4082
0
      case ')':
4083
0
      case '{':
4084
0
      case '}':
4085
0
      case '!':
4086
0
      case '"':
4087
0
      case '[':
4088
0
      case ']':
4089
0
        break;
4090
      /* ':' is only allowed if it isn't followed by '-'. */
4091
3
      case ':':
4092
3
        if (YYCURSOR[0] == '-') {
4093
3
          break;
4094
3
        } else {
4095
0
          continue;
4096
0
        }
4097
3
      default:
4098
3
        continue;
4099
6
    }
4100
4101
3
    YYCURSOR--;
4102
3
    yyleng = YYCURSOR - SCNG(yy_text);
4103
3
    break;
4104
6
  }
4105
4106
  /* Eat leading whitespace */
4107
3
  EAT_LEADING_WHITESPACE();
4108
4109
  /* Eat trailing whitespace */
4110
3
  EAT_TRAILING_WHITESPACE();
4111
4112
3
  RETURN_TOKEN(TC_VARNAME, yytext, yyleng);
4113
0
}
4114
0
#line 4115 "Zend/zend_ini_scanner.c"
4115
3
yy266:
4116
3
  YYDEBUG(266, *YYCURSOR);
4117
3
  yych = *++YYCURSOR;
4118
3
  if (yych == '-') goto yy269;
4119
0
  goto yy265;
4120
0
yy267:
4121
0
  YYDEBUG(267, *YYCURSOR);
4122
0
  ++YYCURSOR;
4123
0
  YYDEBUG(268, *YYCURSOR);
4124
0
  yyleng = YYCURSOR - SCNG(yy_text);
4125
0
#line 486 "Zend/zend_ini_scanner.l"
4126
0
  { /* Variable/fallback end */
4127
0
  yy_pop_state();
4128
0
  return '}';
4129
3
}
4130
0
#line 4131 "Zend/zend_ini_scanner.c"
4131
3
yy269:
4132
3
  YYDEBUG(269, *YYCURSOR);
4133
3
  ++YYCURSOR;
4134
3
  YYDEBUG(270, *YYCURSOR);
4135
3
  yyleng = YYCURSOR - SCNG(yy_text);
4136
3
#line 427 "Zend/zend_ini_scanner.l"
4137
3
  { /* End Variable name, fallback start */
4138
3
fallback_lexing:
4139
3
  yy_pop_state();
4140
3
  yy_push_state(ST_VAR_FALLBACK);
4141
3
  return TC_FALLBACK;
4142
3
}
4143
0
#line 4144 "Zend/zend_ini_scanner.c"
4144
/* *********************************** */
4145
96
yyc_ST_RAW:
4146
96
  {
4147
96
    static const unsigned char yybm[] = {
4148
96
       64,  64,  64,  64,  64,  64,  64,  64, 
4149
96
       64, 192,   0,  64,  64,   0,  64,  64, 
4150
96
       64,  64,  64,  64,  64,  64,  64,  64, 
4151
96
       64,  64,  64,  64,  64,  64,  64,  64, 
4152
96
      192,  64,  64,  64,  64,  64,  64,  64, 
4153
96
       64,  64,  64,  64,  64,  64,  64,  64, 
4154
96
       64,  64,  64,  64,  64,  64,  64,  64, 
4155
96
       64,  64,  64,  64,  64,  64,  64,  64, 
4156
96
       64,  64,  64,  64,  64,  64,  64,  64, 
4157
96
       64,  64,  64,  64,  64,  64,  64,  64, 
4158
96
       64,  64,  64,  64,  64,  64,  64,  64, 
4159
96
       64,  64,  64,  64,  64,  64,  64,  64, 
4160
96
       64,  64,  64,  64,  64,  64,  64,  64, 
4161
96
       64,  64,  64,  64,  64,  64,  64,  64, 
4162
96
       64,  64,  64,  64,  64,  64,  64,  64, 
4163
96
       64,  64,  64,  64,  64,  64,  64,  64, 
4164
96
       64,  64,  64,  64,  64,  64,  64,  64, 
4165
96
       64,  64,  64,  64,  64,  64,  64,  64, 
4166
96
       64,  64,  64,  64,  64,  64,  64,  64, 
4167
96
       64,  64,  64,  64,  64,  64,  64,  64, 
4168
96
       64,  64,  64,  64,  64,  64,  64,  64, 
4169
96
       64,  64,  64,  64,  64,  64,  64,  64, 
4170
96
       64,  64,  64,  64,  64,  64,  64,  64, 
4171
96
       64,  64,  64,  64,  64,  64,  64,  64, 
4172
96
       64,  64,  64,  64,  64,  64,  64,  64, 
4173
96
       64,  64,  64,  64,  64,  64,  64,  64, 
4174
96
       64,  64,  64,  64,  64,  64,  64,  64, 
4175
96
       64,  64,  64,  64,  64,  64,  64,  64, 
4176
96
       64,  64,  64,  64,  64,  64,  64,  64, 
4177
96
       64,  64,  64,  64,  64,  64,  64,  64, 
4178
96
       64,  64,  64,  64,  64,  64,  64,  64, 
4179
96
       64,  64,  64,  64,  64,  64,  64,  64, 
4180
96
    };
4181
96
    YYDEBUG(271, *YYCURSOR);
4182
96
    YYFILL(3);
4183
96
    yych = *YYCURSOR;
4184
96
    if (yych <= '\f') {
4185
42
      if (yych <= 0x08) {
4186
0
        if (yych >= 0x01) goto yy275;
4187
42
      } else {
4188
42
        if (yych <= '\t') goto yy277;
4189
42
        if (yych <= '\n') goto yy278;
4190
0
        goto yy275;
4191
42
      }
4192
54
    } else {
4193
54
      if (yych <= ' ') {
4194
0
        if (yych <= '\r') goto yy280;
4195
0
        if (yych <= 0x1F) goto yy275;
4196
0
        goto yy277;
4197
54
      } else {
4198
54
        if (yych == ';') goto yy281;
4199
54
        goto yy275;
4200
54
      }
4201
54
    }
4202
0
    YYDEBUG(273, *YYCURSOR);
4203
0
    ++YYCURSOR;
4204
0
    YYDEBUG(274, *YYCURSOR);
4205
0
    yyleng = YYCURSOR - SCNG(yy_text);
4206
0
#line 681 "Zend/zend_ini_scanner.l"
4207
0
    { /* End of option value (if EOF is reached before EOL */
4208
0
  BEGIN(INITIAL);
4209
0
  return END_OF_LINE;
4210
96
}
4211
0
#line 4212 "Zend/zend_ini_scanner.c"
4212
54
yy275:
4213
54
    YYDEBUG(275, *YYCURSOR);
4214
54
    ++YYCURSOR;
4215
54
yy276:
4216
54
    YYDEBUG(276, *YYCURSOR);
4217
54
    yyleng = YYCURSOR - SCNG(yy_text);
4218
54
#line 522 "Zend/zend_ini_scanner.l"
4219
54
    { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
4220
54
  const unsigned char *sc = NULL;
4221
54
  EAT_LEADING_WHITESPACE();
4222
1.10k
  while (YYCURSOR < YYLIMIT) {
4223
1.09k
    switch (*YYCURSOR) {
4224
42
      case '\n':
4225
42
      case '\r':
4226
42
        goto end_raw_value_chars;
4227
0
        break;
4228
51
      case ';':
4229
51
        if (sc == NULL) {
4230
39
          sc = YYCURSOR;
4231
39
        }
4232
51
        YYCURSOR++;
4233
51
        break;
4234
69
      case '"':
4235
69
        if (yytext[0] == '"') {
4236
39
          sc = NULL;
4237
39
        }
4238
69
        YYCURSOR++;
4239
69
        break;
4240
930
      default:
4241
930
        YYCURSOR++;
4242
930
        break;
4243
1.09k
    }
4244
1.09k
  }
4245
54
end_raw_value_chars:
4246
54
  if (sc) {
4247
27
    yyleng = sc - SCNG(yy_text);
4248
27
  } else {
4249
27
    yyleng = YYCURSOR - SCNG(yy_text);
4250
27
  }
4251
4252
54
  EAT_TRAILING_WHITESPACE();
4253
4254
  /* Eat leading and trailing double quotes */
4255
54
  if (yyleng > 1 && yytext[0] == '"' && yytext[yyleng - 1] == '"') {
4256
30
    SCNG(yy_text)++;
4257
30
    yyleng = yyleng - 2;
4258
30
  }
4259
4260
54
  RETURN_TOKEN(TC_RAW, yytext, yyleng);
4261
0
}
4262
0
#line 4263 "Zend/zend_ini_scanner.c"
4263
0
yy277:
4264
0
    YYDEBUG(277, *YYCURSOR);
4265
0
    yych = *++YYCURSOR;
4266
0
    if (yych <= '\r') {
4267
0
      if (yych <= 0x08) goto yy276;
4268
0
      if (yych <= '\n') goto yy284;
4269
0
      if (yych <= '\f') goto yy276;
4270
0
      goto yy284;
4271
0
    } else {
4272
0
      if (yych <= ' ') {
4273
0
        if (yych <= 0x1F) goto yy276;
4274
0
        goto yy284;
4275
0
      } else {
4276
0
        if (yych == ';') goto yy284;
4277
0
        goto yy276;
4278
0
      }
4279
0
    }
4280
42
yy278:
4281
42
    YYDEBUG(278, *YYCURSOR);
4282
42
    ++YYCURSOR;
4283
42
yy279:
4284
42
    YYDEBUG(279, *YYCURSOR);
4285
42
    yyleng = YYCURSOR - SCNG(yy_text);
4286
42
#line 570 "Zend/zend_ini_scanner.l"
4287
42
    { /* End of option value */
4288
42
  BEGIN(INITIAL);
4289
42
  SCNG(lineno)++;
4290
42
  return END_OF_LINE;
4291
42
}
4292
0
#line 4293 "Zend/zend_ini_scanner.c"
4293
0
yy280:
4294
0
    YYDEBUG(280, *YYCURSOR);
4295
0
    yych = *++YYCURSOR;
4296
0
    if (yych == '\n') goto yy278;
4297
0
    goto yy279;
4298
0
yy281:
4299
0
    YYDEBUG(281, *YYCURSOR);
4300
0
    ++YYCURSOR;
4301
0
    YYFILL(2);
4302
0
    yych = *YYCURSOR;
4303
0
    YYDEBUG(282, *YYCURSOR);
4304
0
    if (yybm[0+yych] & 64) {
4305
0
      goto yy281;
4306
0
    }
4307
0
    if (yych <= '\n') goto yy286;
4308
0
    goto yy288;
4309
0
yy283:
4310
0
    YYDEBUG(283, *YYCURSOR);
4311
0
    ++YYCURSOR;
4312
0
    YYFILL(2);
4313
0
    yych = *YYCURSOR;
4314
0
yy284:
4315
0
    YYDEBUG(284, *YYCURSOR);
4316
0
    if (yybm[0+yych] & 128) {
4317
0
      goto yy283;
4318
0
    }
4319
0
    if (yych <= '\f') {
4320
0
      if (yych <= 0x08) goto yy285;
4321
0
      if (yych <= '\n') goto yy278;
4322
0
    } else {
4323
0
      if (yych <= '\r') goto yy280;
4324
0
      if (yych == ';') goto yy281;
4325
0
    }
4326
0
yy285:
4327
0
    YYDEBUG(285, *YYCURSOR);
4328
0
    yyleng = YYCURSOR - SCNG(yy_text);
4329
0
#line 665 "Zend/zend_ini_scanner.l"
4330
0
    {
4331
  /* eat whitespace */
4332
0
  goto restart;
4333
0
}
4334
0
#line 4335 "Zend/zend_ini_scanner.c"
4335
0
yy286:
4336
0
    YYDEBUG(286, *YYCURSOR);
4337
0
    ++YYCURSOR;
4338
0
yy287:
4339
0
    YYDEBUG(287, *YYCURSOR);
4340
0
    yyleng = YYCURSOR - SCNG(yy_text);
4341
0
#line 675 "Zend/zend_ini_scanner.l"
4342
0
    { /* Comment */
4343
0
  BEGIN(INITIAL);
4344
0
  SCNG(lineno)++;
4345
0
  return END_OF_LINE;
4346
0
}
4347
0
#line 4348 "Zend/zend_ini_scanner.c"
4348
0
yy288:
4349
0
    YYDEBUG(288, *YYCURSOR);
4350
0
    yych = *++YYCURSOR;
4351
0
    if (yych == '\n') goto yy286;
4352
0
    goto yy287;
4353
0
  }
4354
0
}
4355
0
#line 690 "Zend/zend_ini_scanner.l"
4356
4357
0
}